(57)【特許請求の範囲】
【請求項１】
ビデオゲームをプレイするためのゲーム装置であって、
（ａ）前記ビデオゲームの仮想世界を表現する第１の描画コマンドを出力するためのゲームソフトウェアと、
（ｂ）前記仮想世界の画像データストリームを生成するために、前記第１の描画コマンドを処理するローカル描画モジュールと、
（ｃ）遠隔描画モジュールによる前記仮想世界を描く描画されたグラフィック出力を生成するための処理用の、第２の描画コマンドを生成する遠隔描画コントローラと、
（ｄ）（i）前記画像データストリームを発出し、（ii）前記遠隔描画モジュールへ伝送するために前記第２の描画コマンドをデータ通信ネットワークへ送信する出力部と、
を有するゲーム装置。
【請求項２】
前記遠隔描画コントローラは、前記第１の描画コマンドから前記第２の描画コマンドを導出する、請求項１に記載のゲーム装置。
【請求項３】
前記第１の描画コマンドは描画命令を含み、前記ローカル描画モジュールは、前記画像データストリームを生成するために、当該描画命令に従って、形状データを処理する、請求項２に記載のゲーム装置。
【請求項４】
前記形状データは頂点データを含む、請求項３に記載のゲーム装置。
【請求項５】
前記第２の描画コマンドは描画命令を含み、前記遠隔描画モジュールは、前記描画されたグラフィック出力を生成するために、当該描画命令に従って、形状データを処理する、請求項２に記載のゲーム装置。
【請求項６】
前記遠隔描画コントローラは、前記遠隔描画モジュールへの伝送のために、前記第２の描画コマンドを符号化する、請求項２に記載のゲーム装置。
【請求項７】
前記ゲームソフトウェアはローカルで実行されるゲームソフトウェアであり、前記出力部は、複数の遠隔にあるゲーム装置からのゲームキャラクタを制御するための情報を統合する遠隔ゲームホストサーバへの送信のために、前記ローカルで実行されるゲームソフトウェアから導出される当該情報を前記データ通信ネットワークへ送信する、請求項１に記載のゲーム装置。
【請求項８】
前記第２の描画コマンドは前記遠隔描画モジュールへの伝送のためにパケット化されたデータを含む、請求項１に記載のゲーム装置。
【請求項９】
前記遠隔描画コントローラは、前記仮想世界を描く前記遠隔描画モジュールの出力が前記データ通信ネットワークを介して送信されるべき１以上の観戦者を識別するための、識別情報を生成する、請求項１に記載のゲーム装置。
【請求項１０】
前記画像データストリームを表示するディスプレイにグラフィカル・ユーザ・インタフェース（ＧＵＩ）を生成するように構成され、前記ＧＵＩは、前記ゲーム装置で前記ビデオゲームをプレイしているプレイヤに複数の観戦者選択オプションを提供する、請求項１に記載のゲーム装置。
【請求項１１】
前記ゲーム装置は、前記ＧＵＩを通じて、前記プレイヤによるオプションの選択に応答して、前記プレイヤにより選択された前記オプションに関連する識別情報を、前記遠隔描画モジュールへ送信する、請求項１０に記載のゲーム装置。
【請求項１２】
ビデオゲームグラフィックの遠隔描画を実行するサーバであって、
（ａ）入力部であって、
（i）遠隔地からデータネットワークを介して前記入力部へ送信される描画コマンドであって、仮想世界において仮想キャラクタを制御する少なくとも１つのプレイヤによってプレイされるビデオゲームの、前記仮想世界を表現する描画コマンドと、
（ii）１以上の観戦者を識別する識別情報と、
を受信する入力部と、
（ｂ）前記仮想世界を描く画像データストリームを生成するために前記描画コマンドを処理する描画モジュールと
（ｃ）前記データネットワークを介して、前記１以上の観戦者へ、前記画像データストリームを送信する出力部と、
を有するサーバ。
【請求項１３】
前記描画コマンドは描画命令を含み、前記描画モジュールは前記画像データストリームを生成するために、前記描画命令に従って、形状データを処理する、請求項１２に記載のサーバ。
【請求項１４】
前記画像データストリームが受信されるべき観戦者の識別子のリストを保持する、コンピュータ可読記憶装置を含む、請求項１３に記載のサーバ。
【請求項１５】
前記入力部において前記識別情報を受信したことに応じて、前記サーバは、前記リストにおける前記識別情報をロードする、請求項１４に記載のサーバ。
【請求項１６】
観戦者がビデオゲームを観戦するのを可能とする方法であって、
（ａ）ＣＰＵが、ビデオゲームの仮想世界を描く描画コマンドを生成するために、ゲームソフトを実行し、
（ｂ）画像データストリームを生成するために、描画モジュールを用いて、前記描画コマンドを処理し、
（ｃ）表示装置に前記画像データストリームを出力し、
（ｄ）前記描画コマンドが第１の描画コマンドであるときに、当該第１の描画コマンドから第２の描画コマンドを導出し、
（ｅ）描画と少なくとも１つの観戦者への描画された出力の送出のための遠隔サーバへ、データネットワークを介して前記第２の描画コマンドを送信する、
ことを含む方法。
【請求項１７】
ビデオゲームの分散描画を実行するための方法であって、
（ａ）ビデオゲームにおける仮想キャラクタを制御するプレイヤへの表示のための画像データストリームを生成するために、データネットワークにおける第１のネットワークノードにおいて、第１の描画モジュールを用いて前記ビデオゲームの仮想世界を描く第１の描画コマンドを処理し、
（ｂ）前記仮想世界と前記プレイヤの前記仮想キャラクタとを描く描画出力を形成するために、前記データネットワークにおける前記第１のノードから離れた第２のノードにおいて、第２の描画モジュールを用いて、前記第１の描画コマンドから導出された第２の描画コマンドを処理し、
（ｃ）観察のための少なくとも１つの観戦者へ、前記描画出力を送信する、
ことを含む方法。
【請求項１８】
ビデオゲームの、ビデオゲームシーンの遠隔描画を実行するための描画コマンドを生成するための、ＣＰＵによって実行されるプログラムコードを含んだプログラムであって、
（ａ）ローカル描画モジュールを駆動するためのゲームソフトウェアによって出力される第１の描画コマンドを処理し、前記ビデオゲームシーンの画像データストリームを生成するための遠隔描画モジュールによる処理用の第２の描画コマンドを導出するための遠隔描画プログラム命令と、
（ｂ）データネットワークを介して、遠隔描画モジュールに、前記第２の描画コマンドを送信するためのプログラム命令と、
を、前記プログラムコードが含む、プログラム。
【請求項１９】
前記プログラムコードは、前記第１の描画コマンドに基づいて前記ローカル描画モジュールによって形成された画像データストリームを表示するディスプレイに、グラフィカル・ユーザ・インタフェース（ＧＵＩ）を生成するためのプログラム命令を含み、前記ＧＵＩは、前記ビデオゲームをプレイするプレイヤに、複数の観戦者選択オプションを提供する、請求項１８に記載のプログラム。
【請求項２０】
前記プログラムコードは、前記プレイヤによる前記ＧＵＩを介したオプションの選択に応答して、前記遠隔描画モジュールへ、前記プレイヤにより選択された前記オプションに関連する識別情報を送信するプログラム命令を含む、請求項１９に記載のプログラム。
【請求項２１】
前記識別情報は、前記遠隔描画モジュールにより形成される前記画像データストリームが送信されるべき少なくとも１つの観戦者を識別する、請求項２０に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像描画を行うために、遠隔描画サーバとインタフェースで接続するビデオゲーム装置に関する。本発明は、また、遠隔ビデオゲーム装置の制御下で、画像描画機能を実行するサーバ構成に関する。本発明は、ビデオゲームと関連する、遠隔描画処理を実行するための様々な方法及び装置にも関する。
【背景技術】
【０００２】
今日、多くのビデオゲームが、ゲームアクションに直接関係することなく、そのゲームアクションを見るための参加者の能力である、観戦を可能としている。
【０００３】
プライベートネットワークを介して実行されているオンラインビデオゲームの観戦は、そのプライベートネットワークに接続された他のゲーム装置とインタフェースで接続することができるゲーム機器に観戦者が投資することを要求する。これは、観戦者が、ゲームに直接参加するのに必要であるだろう同一のゲームソフトを実行するゲーム装置の中間段階のみを通じてそのゲームを観察することができることを意味する。これは、観戦の観点からオンラインゲームへのアクセスを制限するという点で、明らかに不利点である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、改良されたゲーム装置と、ビデオゲームアクションへの観戦者のアクセスを促進するための関連するシステム及び技術を開発する必要がある。
【課題を解決するための手段】
【０００５】
ここで具体化され、広範に説明するように、本発明は、ビデオゲームをプレイするためのゲーム装置を提供する。ゲーム装置は、ビデオゲームの仮想世界を表現する第１の描画コマンドを生成するためにゲームソフトウェアと、仮想世界の画像データストリームを生成するために描画コマンドを処理するローカル描画モジュールとを実行する。ゲーム装置は、また、同様に仮想世界を描く描画グラフィック出力を生成するための、遠隔描画モジュールによる処理用の第２の描画コマンドを生成する遠隔描画コントローラを有する。出力部は、画像データストリームを発出し、第２の描画コマンドを遠隔描画モジュールへの伝送のためにデータ通信ネットワークへ送信する。
【０００６】
ここで具体化され、広範に説明するように、本発明は、また、ビデオゲームグラフィックの遠隔描画を実行するサーバ構成を提供する。サーバ構成は、遠隔地からデータネットワークを介してサーバ入力部へ送信された、仮想世界においてそれぞれの仮想キャラクタを制御するプレイヤによってプレイされるビデオゲームの仮想世界を表現する、描画コマンドを受信する。サーバ構成は、また、１以上の観戦者を識別する識別情報を受信する。サーバ構成は、仮想世界を描く画像データストリームを生成するために描画コマンドを処理する描画モジュールと、１以上の観戦者に、データネットワークを介して、画像データストリームを送信する出力部とを有する。
【０００７】
ここで具体化され、広範に説明するように、本発明は、さらに、ネットワークを介してプレイされるオンラインビデオゲームを観戦者が観戦することを可能とする方法を提供する。本方法は、中央演算処理装置（ＣＰＵ）が、ビデオゲームの仮想世界を表現する描画コマンドを生成するために、ゲームソフトウェアを実行し、画像データストリームを生成するために描画モジュールを用いて描画コマンドを処理し、ディスプレイ装置に画像データストリームを出力することを含む。本方法は、また、ＣＰＵを用いて、第２の描画コマンドを導出するために第１の描画コマンドを処理し、描画、及び少なくとも１つの観戦者への描画出力の送出のために、第２の描画コマンドを遠隔サーバへ送信することを含む。
【０００８】
ここで具体化され、広範に説明するように、本発明は、また、ビデオゲームの分散描画を実行するための方法を提供する。本方法は、ビデオゲームにおける仮想キャラクタを制御するプレイヤへの表示用の画像データストリームを生成するために、データネットワークにおける第１のネットワークノードにおいて、第１の描画モジュールを用いて、ビデオゲームの仮想世界を表現する描画コマンドを処理することを含む。本方法は、また、仮想世界とプレイヤの仮想キャラクタとを描く描画出力を形成するために、データネットワークにおける第１のノードから離れた第２のノードにおいて、第２の描画モジュールを用いて第１の描画コマンドから導出された第２の描画コマンドを処理し、観察のための少なくとも１つの観戦者へ、描画出力を送信することを含む。
【０００９】
ここで具体化され、広範に説明するように、本発明は、さらに、ビデオゲームシーンの遠隔描画を実行するための描画コマンドを生成するための、ＣＰＵによる実行のための非一時的プログラムコードでエンコードされたコンピュータ可読記憶媒体を含み、プログラムコードは、ビデオゲームシーンの画像データストリームを生成するための遠隔描画モジュールによる処理用の第２の描画コマンドを導出するために、ローカル描画モジュールを駆動するためにゲームソフトウェアにより出力される第１の描画コマンドを処理するための遠隔描画プログラム命令を含む。プログラムコードは、また、データネットワークを介して遠隔描画モジュールへ第２の描画コマンドへ送信するプログラム命令を含む。
【図面の簡単な説明】
【００１０】
【図１】本発明の実装の非限定例による、オンラインビデオゲームインフラストラクチャを集合的に実装するデータネットワーク及び様々なネットワークノードを説明するブロック図。
【図２】ゲーム装置の様々な機能モジュールと、それらの、いくつかの外部コンポーネントとの関係とを説明する、図１に示すゲーム装置のより詳細なブロック図。
【図３】図１及び２に示されるゲーム装置が実装される計算プラットフォームのブロック図。
【図４】図１及び２に示される遠隔描画サーバの構成を詳細に説明するブロック図。
【図５】図１及び２に示されるゲーム装置によるゲームソフトウェアの実行の間に実行される処理を説明するフローチャート。
【図６】図１及び２に示されるゲーム装置の遠隔描画コントローラによって実行される処理のフローチャート。
【図７】遠隔描画サーバの描画モジュールにより実行される処理のフローチャート。
【図８】ゲーム装置に関連すると共に、ゲームプレイヤが、ゲームアクションがストリーミングされうる観戦者を識別することを可能とするグラフィカル・ユーザ・インタフェースを示すローカルディスプレイを説明する図。
【図９】図８に示されるグラフィカル・ユーザ・インタフェースを用いることにより、ゲームアクションのストリームを受信する観戦者を選択するための処理を説明するフローチャート。
【発明を実施するための形態】
【００１１】
特定かつ非限定の実装例において、本発明は、遠隔で描画される描画コマンドを出力するゲーム装置を提供する。描画出力は、ゲームアクションを観察することを望む観戦者が利用可能である。
【００１２】
図１は、ビデオゲームをプレイすることを可能とすると共にさらにビデオゲームアクションへのアクセスを伴う観戦者を提供するデータ通信インフラストラクチャを図解している。データ通信インフラストラクチャは、そのネットワークのノード間のデータ交換に用いられうる、インターネットのようなデータネットワーク１０を含む。データネットワークの単一のノードを構成するゲーム装置１２は、ローカルプレイヤが、ビデオゲームをプレイすることを可能とする。ビデオゲームは、オンラインビデオゲームであり、換言すれば、遠隔のゲーム装置における他のプレイヤもそのゲームに参加する。このようなマルチプレイヤゲームアクションは、一般に、単一のゲーマのアクションより優れたゲーム経験を提供すると考えられる。代替的には、ビデオゲームはシングルプレイヤのゲームである。
【００１３】
ゲーム装置１２は、画像データをテレビ受像機のようなローカルディスプレイ１４へ出力する。ローカルディスプレイ１４は、プレイヤの仮想ゲームキャラクタが展開している仮想世界の画像をローカルプレイヤへ示す。図面において示されていないが、ゲームパッドまたは必要な程度のプレイヤ入力を可能とする任意の他の適切なデバイスのようなコントロールを通じて、ローカルプレイヤがビデオゲームと情報のやり取りをすることが理解されるべきである。このようなゲームパッドは、プレイヤが、仮想ゲームキャラクタの動きを制御し、ゲーム装置の設定を変更し、オプションとして、ゲームアクションストリームを受信すべき観戦者のアドレスまたはアイデンティティを特定することを可能とする。
【００１４】
オンラインビデオゲームがプレイされている際に、ゲーム装置は、ゲームホストサーバ１６へゲームメトリックを送信する。ゲームホストサーバ１６は、ゲームに関係している全てのゲーム装置からゲームメトリックを受信し、それらを集約し、それぞれのゲーム装置１２へそれらをブロードキャストによって返送する。この方法において、ゲーム装置１２は、インタラクティブな、マルチプレイヤの仮想環境を生成することができる。
【００１５】
ゲームがプレイされているときに、ゲーム装置１２は、遠隔描画サーバ１８へ送信される描画コマンドを生成する。描画コマンドは、ゲームの仮想世界の表現を構成し、遠隔描画サーバ１８における描画モジュールへの入力として用いられる。描画モジュールは、描画コマンドを処理し、データネットワーク１０を通じて観戦者２０へ送信される画像データストリームを生成する。
【００１６】
上述の構造は、いずれにしても、参加者がアクティブにゲームに関係して仮想ゲームキャラクタを制御する際に必要なゲームメトリックの交換にそれぞれの観戦者が関係することを要求しないという意味において、有用であると共に有益である。観戦者は、ビデオゲームアクションを伝達する画像データストリームにアクセスするために、遠隔描画サーバ１８へ接続することのみが必要である。
【００１７】
ゲーム装置１２は、一般に図３に図解されるコンピュータプラットフォームに基づく。コンピュータプラットフォームは、中央演算処理装置（ＣＰＵ）２２（現実には、処理能力を向上させるために複数のＣＰＵを使用することができる）、より一般に「メモリ」と呼ばれるコンピュータ可読記憶装置２４、グラフィック処理装置２６及び入力／出力インタフェース２８を有する。
【００１８】
これらのコンポーネントは、データ及び他の信号がそれを介して交換されるデータバス３０によって相互接続される。
【００１９】
メモリ２４は、広い意味で、プログラム命令が動作するプログラム命令及びデータを記憶するのに使用される揮発性及び不揮発性の記憶装置の両方のことを言う。実際には、メモリ２４は、分散性であってもよく、また、単一ノードに配置されうる又はネットワークのいくつかの異なるノードにありうる複数のコンポーネントを含んでもよい。
【００２０】
ＧＰＵ２６は、画像描画性能を向上させるハードウェアアクセラレータである。当業者によく知られているように、ＧＰＵは、画像処理機能をより効率的に、かつ汎用ＣＰＵより高速に実行することができる専門のプロセッサである。
【００２１】
入力／出力インタフェース２８は、広い意味で、外部装置とのデータの交換が可能な様々なハードウェア及びソフトウェアコンポーネントのことを言う。例えば、ゲームパッドによって生成されたプレイヤコマンドを運ぶ信号は、入力／出力インタフェース２８を通じて、ＣＰＵへ向けられる。同様に、内部処理によって生成された信号及びデータは、入力／出力インタフェース２８を通じて外部デバイスへ出力され、向けられる。
【００２２】
図２は、ゲーム装置１２の内部構造をより詳細に図解している。なお、与えられる内部表現は、特定のハードウェアコンポーネントというより、機能モジュールを図解することを目的とした、ハードウェア及びソフトウェアの混合物である。
【００２３】
ゲーム装置１２は、ＣＰＵ２２によるゲームソフトウェア３２の実行の結果として、ゲームロジックを実行するゲームソフトウェア３２を有する。ゲームロジックは、プレイヤの入力、特に、ゲームパッドにおけるローカルプレイヤの入力、また、遠隔のゲーム装置におけるプレイヤからの入力に従って、実行される。ゲームソフトウェアの個々の項目についての議論は、ゲームシナリオ、ゲームタイプなどに強く依存するため、本明細書では割愛する。ゲームソフトウェア３２の実行が、ディスプレイ１４においてローカルプレイヤに表示される仮想世界の画像を生成するために描画モジュールへ供給されるデータを出力する、ということを言うだけで十分である。また、ゲームソフトウェア３２の実行は、ローカルプレイヤにより制御される仮想キャラクタのアクションを記述するゲームメトリックを生成する。ゲームメトリックの例は、とりわけ、仮想プレイヤのゲームマップにおける位置、その移動の方法及びスピード、武器を発射するなどのプレイヤによるアクション、所定のタスクを実現するために特定のツールを使用すること、体位、武器一覧および残り体力の程度などのキャラクタ設定を含む。
【００２４】
ゲームメトリックはゲーム装置１２によって出力され、それらを集約して各ゲーム装置１２へブロードキャストによって返送するゲームホストサーバ１６へ、送信される。この方法において、各ゲーム装置は、仮想世界と、ローカルプレイヤが制御するゲームキャラクタのみならず遠隔プレイヤが制御するゲームキャラクタをも含むそのアクションとの完全な表現を創出するために、他のプレイヤのゲームメトリックを入手できる。
【００２５】
ゲーム装置１２は、さらに、ゲームソフトウェア３２からゲームの仮想世界とアクションとを記述するデータを受信する、ローカル描画モジュール３４を含む。この、「描画コマンド」とも呼ばれるデータは、ローカル描画モジュール３４に、ローカルプレイヤに対して表示されうる可視画像を生成するために、仮想世界シーンおよびゲームキャラクタを作成するオブジェクトの数学的表現を与える形状情報を、どのように処理するかを命じる命令を含む。実装の特定の形状において、ローカル描画モジュール３４の出力は、表示のために、テレビ受像機又はビデオモニタに入力されうる画像データストリームである。画像データストリームは、一連の静止画像フレームでありうる。代替的には、画像データストリームは、例えば動画圧縮のためのｈ２６４標準に従ってエンコードされたビデオストリームのような動きの情報を提供するように編成されてもよい。
【００２６】
遠隔描画コントローラ３６が、遠隔描画サーバを駆動するための描画コマンドを生成するために提供される。ソフトウェアで実装されうる遠隔描画コントローラ３６は、ゲームソフトウェア３２の実行の結果として出力された描画コマンドをインターセプトし、それらを伝送及び遠隔描画サーバ１８による処理に適したフォーマットに変換する。なお、インターセプトされた描画コマンドの処理は、最小限または大規模でありうる。
【００２７】
例えば、遠隔描画コントローラ３６は、単純に、インターセプトした描画コマンドを、データネットワーク１０を通じた遠隔描画サーバ１８への伝送のためにパケット化してもよい。この場合、遠隔描画サーバ１８に伝えられる（再構築の後の）描画コマンドは、ローカル描画モジュール３４において入力された描画コマンドと基本的に同一である。
【００２８】
実装の別の形式では、遠隔描画コントローラ３６は、データのパケット化に加えて、より効率的な伝送のために、それを符号化するだろう。対象とするアプリケーションに応じて、様々なタイプの符号化が予期されうる。このような例では、遠隔描画コントローラ３６には、ハードウェア又はソフトウェアで実装されうる適切なエンコーダが与えられる。そのエンコーダの当然の結果として、相補的な複合機能も、遠隔描画サーバ１８において要求されるだろう。
【００２９】
実装の特定かつ非制限例において、遠隔描画コントローラ３６は、１つのフレーム（典型的には３３ｍｓ）においてゲームソフトウェア３２により生成された全ての描画コマンドを集めて、それらのコマンドを実行のために遠隔描画サーバ１８へ送信する。この方法では、描画コマンドが遠隔描画サーバ１８に、それぞれが単一の静止画像のための画像データを含む複数のバッチにおいて効率的に送信される。
【００３０】
遠隔描画サーバ１８による処理用の描画コマンドの生成に加えて、後により詳細に議論されるように、遠隔描画コントローラ３６は、ゲームアクションストリームを受信すべき１以上の観戦者を識別するための観戦者識別子を出力してもよい。
【００３１】
ゲーム装置１２は、また、内部的に生成された様々なデータストリームを、外部デバイスに発出する出力部３８を有する。例えば、画像データストリームであるローカル描画モジュール３４の出力は、ローカルディスプレイ１４へ出力部から発出される。実装の特定の形式において、画像ストリームは、動画及び音声サブコンポーネントの両方を含む、よく知られたＨＤＭＩ（登録商標）フォーマットにエンコードされる。明らかに、本発明の精神から離れることなく、他のフォーマットも使用されうる。
【００３２】
遠隔描画コントローラ３６によって生成された描画コマンドもまた、出力部３８を通じて発出される。この例では、描画コマンドが遠隔描画サーバ１８へ送信されうるように、出力部がインターネットへ接続する。この例では、出力部３８は、データネットワーク１０とインタフェースで接続することができるような、必要なデータ送信機能を有する。
【００３３】
当業者である読者には明らかであるように、出力部３８は、必ずしも、専用のソフトウェア又はハードウェア機能でなく、むしろ、これは、内部で生成された様々な信号を外部デバイスに発出することを可能とする総合的な機能を表している。したがって、出力部３８の構造は、分散型であってもよく、そのコンポーネントはゲーム装置１２の他の機能又はモジュールに集約されてもよい。例えば、ローカル描画モジュール３４から発出される画像ストリームに関連するときの出力機能は、画像描画動作を実行するのに加えて、描画された出力をＨＤＭＩフォーマットにエンコードすることができるであろう、ローカル描画モジュール３４に集約されてもよい。
【００３４】
同様に、描画コマンド送信機能は、描画コマンドにおいてデータ処理を実行するのに加えて、それらをエンコードしてそのエンコードされた出力をデータネットワーク１０への伝送に適したフォーマットでパケット化することができるであろう、遠隔描画コントローラ３６に集約されてもよい。
【００３５】
図面には示されないが、ゲーム装置１２は、また、それを通じて外部信号が内部処理のために導かれる入力機能を含むだろう。このような外部信号の例は、プレイヤが仮想キャラクタの動きおよびアクションを制御するためのコマンドを入力するゲームパッドによって生成された制御信号であろう。
【００３６】
図４は、図１及び２に示された遠隔描画サーバ１８の、より詳細化したブロック図である。遠隔描画サーバ１８は、ゲーム装置１２から受信した描画コマンドにおいて、画像描画を実行する描画モジュール４２を含む。遠隔描画モジュール４２は、より効率的に画像描画動作を実行するために、ＧＰＵ（不図示）に基づく。特定の例において、遠隔描画モジュール４２は、ゲーム装置１２におけるローカル描画モジュール３４と同一でありうる。しかしながら、これは、異なる描画モジュールを使用しる実装が可能であるように、全てのケースにおいて必要ではない。例えば、描画モジュール４２は、インターネットを介するビデオストリーミングにより適した異なるフォーマットで、画像ストリームを出力するように設計されてもよい。ＭＰＥＧ−４が、このようなフォーマットの例である。さらに、描画モジュール４２は、特に、観戦者がゲームアクションを観察しているだろう、かつ、ゲーム装置１２に接続され又はゲーム装置１２内に集約されたディスプレイと著しく異なりうる、ディスプレイの解像度又は単純に種別に応じて設計されうる。例えば、描画モジュール４２は、ゲーム装置１２が通常接続するであろう大きいディスプレイの種別に代えて、移動体装置のために適合された画像データストリームを生成するように最適化されうる。
【００３７】
描画モジュール４２によって生成された、描画された画像データストリームは、出力部４４を通じて、様々な観戦者へ送信される。広い意味で遠隔描画サーバの出力機能を指す出力部４４は、とりわけ画像データストリームを受信すべき観戦者のリストを管理することのような多くのタスクを実行する。観戦者管理機能は、画像データストリームを受信すべき観戦者のＩＰアドレスのリストを維持することを必要とする。したがって、描画モジュール４２から受け取られた画像データストリームは、観戦者のリスト内のＩＰアドレスへブロードキャストされる。
【００３８】
遠隔描画サーバ１８は、また、ゲーム装置１２によって生成された描画コマンドを受信する、インターネットに接続している入力部４６を有する。したがって、ゲーム装置１２から送信された描画コマンドは入力部４６において受信され、前処理されて描画モジュール４２へ供給される。そのもっとも単純な形式において、前処理機能は、描画モジュール４２が処理することのできる、連続かつ同期したデータストリームを生成するために、パケットから抽出されたデータを再構築することを含むだろう。ゲーム装置１２が描画コマンドをエンコードしている場合、入力部４６は、描画モジュール４２へ描画コマンドを供給する前に、適切なデコード機能を適用するだろう。
【００３９】
ゲーム装置１２が描画コマンドを生成するのに加えて描画出力を受信すべき観戦者の１以上の識別子を生成するオプションのシナリオの下では、それらの識別子もまた、入力部４６を通じて、遠隔描画サーバ１８によって受信されるだろう。観戦者の識別子は、ゲームアクションを観察しているだろう端末のＩＰアドレスでありうる。それらのＩＰアドレスは、出力部４４が維持しているＩＰアドレスリストに受け渡されうる。この通信機能は、矢印４８により示されている。
【００４０】
図５は、ゲームソフトウェア３２の実行の間の処理の様々なステップを説明するフローチャートである。処理は、実質的に、ゲームソフトウェア３２がプレイヤ入力を受信するステップ５０において開始する。先に議論したように、プレイヤ入力は、仮想ゲームキャラクタの所望の動作又はアクションを示すのに使用されるゲームパッド、具体的にはボタン、ジョイスティック及び他の制御デバイスをプレイヤが操作することにより生成される。ゲームパッドからの信号はゲーム装置１２に入力され、ゲームソフトウェア３２へ向けられる。フローチャートでは明示しないが、ゲーム装置がマルチプレイヤゲームをプレイするのに使用される場合、追加のプレイヤ入力も存在するだろう。このような例では、ローカルに生成されたプレイヤ入力に加えて、ゲームソフトウェア３２は、参加しているゲーム装置から、プレイヤ入力を内在的に伝えるゲームメトリックをも受信しているだろう。
【００４１】
ステップ５２において、ゲームソフトウェア３２は、ゲームロジックを実線するために実行される。ゲームロジックは、ゲームおよびシナリオの具体的なタイプに強く依存し、詳細には説明しない。ゲームロジックはプレイヤ入力に基づいて結果を判定するルールのセットであると言えば十分である。
【００４２】
ステップ５４において、ゲームソフトウェア３２は、描画コマンドとゲームメトリックとを出力する。描画コマンドは、ローカルプレイヤに表示されるべきゲームの仮想世界を記述する。描画コマンドは、ローカル描画モジュール３４へ供給され、ローカルプレイヤが見るべき画像を構成する色及び強度に関して、表現される個別の画素値を生成するために処理される。一般に、描画コマンドは、ローカル描画モジュール３４に形状データをどのように取り扱い又は操作するかを命じる命令を含む。形状データは、仮想世界シーンの様々なコンポーネントの数学的表現を構成する。形状データの例は、イメージメッシュを作り上げる頂点の位置を定義する、頂点座標である。
【００４３】
描画コマンドの簡単な例は、画像内の所定のオブジェクトを動かすために、所定の視覚効果又は変質を創出するためのＧＰＵ２６に対する命令でありうる。
【００４４】
なお、描画コマンドは、その命令に加えて、形状データを運んでもよい。
【００４５】
描画コマンドは、（図２に示される）アプリケーション・プログラミング・インタフェース（ＡＰＩ）８０を通じて、描画モジュール３４へ受け渡される。ＤｉｒｅｃｔＸ又はＯｐｅｎＧＬは、ゲームソフトウェア３２が、デバイスドライバ８２を介して、描画モジュール３４のＧＰＵ２６と相互作用するために使用することができる、ＡＰの例である。
【００４６】
ゲームメトリックに関して、先に議論したように、それらは、プレイされている特定のゲームとの関連で、キャラクタの動き、実行されているアクションなどのような、ゲームプレイヤに関連する仮想キャラクタのアクションを表現する。
【００４７】
描画コマンド及びゲームメトリックは、ゲーム装置１２の異なるコンポーネントへ向けられる、２つの別の情報のストリームである。描画コマンドは、描画モジュール３４へ向けられ、一方で、ゲームメトリックは、インターネットを通じて、ゲームホストサーバ１６へ出力され、送信される。
【００４８】
図６は、遠隔描画コントローラが実行する処理のフローチャートである。ステップ５６において、遠隔描画コントローラ３６は、ゲームソフトウェア３２が生成した描画コマンドをインターセプトして処理する。処理機能は、対象のアプリケーションに応じて変動することが可能であり、遠隔描画サーバ１８へ描画コマンドを送ることと同程度に単純でありうる。しかしながら、ほとんどのアプリケーションにおいて、描画コマンドをより効率的に送信するために、より実質的な処理が実行されるだろう。このような処理の例は、送信される必要があるデータの量を低減するために、描画コマンドをエンコードすることである。任意の適切なエンコード処理を、本発明の精神から離れることなく、使用することができる。このようなエンコードは、大抵、描画コマンドで有効である。
【００４９】
遠隔描画コントローラ３６がさらに実行することができる別の種別の処理は、描画コマンドがインターネットを介して遠隔描画サーバ１８へ送信されうるように、描画コマンドをパケット化することである。
【００５０】
ステップ５８において、遠隔描画コントローラ３６は、描画コマンドストリームが遠隔描画サーバ１８へ送信されうるように、処理された描画コマンドを出力機能４４へ出力する。
【００５１】
ステップ６０は、オプションのステップである。遠隔描画コントローラ３６は、典型的には観戦者であろう、遠隔で描画された画像ストリームの受信者の識別子を出力する。識別子は、観戦者を他の観戦者と一意に区別することが可能な任意の種別の識別データでありうる。このような識別子の例は、観戦者が位置する端末のＩＰアドレスである。
【００５２】
図７は、遠隔描画サーバ１８の描画モジュール４２が実行する処理のフローチャートである。処理は、ゲーム装置１２からの描画コマンドが描画モジュール４２へ入力されるステップ６２において開始する。このステップは、初期的に、描画モジュール４２による処理に適合させるために、インターネットを介して送信されたデータに必要な処理が実行されていることを前提とする。このような処理は、描画コメントが送信の前にエンコードされている場合の、描画コマンドのデコードを含みうる。
【００５３】
ステップ６４において、描画コマンドに基づく画像が描画される。描画出力は、ＭＰＥＧ−４フォーマットが１例である、任意の適切なフォーマットであることができる。ステップ６６は、オプションのステップであり、ゲーム装置１２がゲームアクションストリームが運ばれるべき１以上の観戦者の識別子を送信するシナリオについて説明している。先に示したように、識別子は、観戦者の端末のＩＰアドレスでありうる。ステップ６８では、画像データストリームが、観戦者へ送信される。送信は、典型的には、伝送前に個別のビデオフレームを適切なパケットに配置することを含むだろう。
【００５４】
図８は、ゲーム装置１２におけるローカルプレイヤが、ゲームアクションストリームを受信すべき１以上の観戦者を選択するために使用できる、グラフィカル・ユーザ・インタフェースを図解している。このグラフィカル・ユーザ・インタフェースは、ゲームソフトウェア３２又はコンソール１２を動作させるオペレーティングシステムによって生成されると共に制御され、ゲームプレイヤに、ゲームプレイヤがその中からゲームアクションストリームを受信する１以上の観戦者を選択することができる一連のオプションを提示する制御機構を含む。実装の特定の例において、ゲームソフトウェア３２は、ローカルディスプレイ１４において、ローカルプレイヤによる選択のための観戦者のリスト７０を含むグラフィカル・ユーザ・インタフェースを生成する。観戦者のリストは、ゲーム装置１２にプレイヤによって事前にロードされるであろう意味で、静的でありうる。この静的なリストは、それぞれのエントリが個別の観戦者に関連する、一連のエントリを含むだろう。観戦者は、プレイヤがゲームをプレイしている際に入力されるゲームアクションを受信することに興味があるかもしれないゲームプレイヤの友人、身内、又は知人でありえよう。リスト内の各エントリは、それぞれの観戦者のための名前を含み、さらに、観戦者に関連付けられる端末のＩＰアドレスのような識別子を含み、名前は、人物の実際の名前または仮名でありうる。
【００５５】
代替的に、最終的にＩＰアドレスに解決されうる他の種別の識別子が考えられる。例えば、電子メールアドレスを特定してもよい。
【００５６】
他の可能性は、ローカルプレイヤが手動で全てのリストのエントリを入力することを必要としない、動的リストを生成することである。このような動的リストは、何らかのゲームコンソール１２と観戦者の端末２０との間の通信機構を必要とする。例えば、ゲーム装置１２は、観戦者端末２０へ、ゲームアクションストリームに対する招待を受け入れるためのリクエストを送信することができ、観戦者がその正体を受け付けると、応答がゲーム装置１２へ送信され、観戦者を適切に識別するのに必要な関連情報の全てを含むリスト内のエントリを生成するのに使用される。ゲーム装置１２と観戦者端末２０との間の通信は、電子メール、テキストメッセージングなどを使用することにより行われうる。
【００５７】
観戦者の選択を実行するために、ローカルプレイヤは、リスト内の１以上の観戦者を指定するためにポインティングデバイス７２を使用する。上述のように、選択の出力は、ゲームソフトウェア３２へ送信され、関連する観戦者識別子は遠隔描画サーバ１８へ送信される。
【００５８】
図９は、ビデオゲームアクションストリームを受信すべき１以上の観戦者を選択する処理のフローチャートである。ステップ７４において、上述のようにグラフィカル・ユーザ・インタフェースを用いることにより行われる、観戦者の選択が受信される。ステップ７６において、そのように選択された観戦者の識別子が、遠隔描画サーバ１８へ送信される。
【００５９】
起こり得る変形において、遠隔描画コントローラ３６は、観戦者選択を実行するためのＧＵＩを生成するのに関与する。遠隔描画コントローラは、ローカル描画モジュール３４へ向けられるデータの流れにおいて、ディスプレイ１４においてＧＵＩを生成するのに必要なデータを「注入」する。観戦者の選択などのような、プレイヤのディスプレイ１４におけるＧＵＩとの相互作用は、インターセプトされ、処理のために遠隔描画コントローラ３６へ向けられる。この方法では、ゲームソフトウェア３２もゲーム装置１２のオペレーティングシステムも、観戦者の指定又は選択処理に関連しない。この実装の形式の利点は、ゲームソフトウェア３２及びゲーム装置１２のオペレーティングシステムが、観戦者選択機能を実装するための変形を必要としないことである。アドオンソフトウェアモジュールでありうる遠隔描画コントローラ３６は、ゲームアクションに対して、観戦者へのアクセスを提供するための必要な全ての機能を実行する。このように、本来観戦者のゲームアクションへのアクセスを提供するように指定されていないゲーム装置は、遠隔描画コントローラ３６を実装するソフトウェアモジュールをインストールすることにより、この特徴でアップグレードされうる。
【００６０】
上での本発明の説明は、マルチプレイヤゲーム装置に関連してなされた。なお、本発明は、ゲームプレイヤが見るために画像データストリームを生成するためにゲームソフトウェアが実行されると共にローカル描画モジュールに向けられる描画コマンドを生成する、シングルプレイヤゲーム装置にも等しく良好に適用するものである。シングルプレイヤゲーム装置は、また、描画コマンドをインターセプトしてそれらを遠隔描画サーバ１８へ送信する遠隔描画コントローラ３６と同一の、遠隔描画コントローラを含むだろう。マルチプレイヤゲーム装置との唯一の違いは、ゲームロジックがローカルゲーム装置に制約されるため、ゲームメトリックが出力される必要がないことである。
【００６１】
また、遠隔描画サーバ１８は、シングルプレイヤゲーム装置から生成された描画命令と比べて、マルチプレイヤゲーム装置から生成された描画命令を用いても等しく良好に動作することができる。
【００６２】
当業者は、上で議論した実施形態が説明に役立つものであり、限定的なものではないと考えられえるべきであることを理解すべきであろう。また、それらが当業者の視界にあることが想定されるため、本発明の所定の実施形態の動作に必要でありうる追加の要素が説明または図解されていないことが理解されるべきである。さらに、本発明の所定の実施形態は、ここで具体的に開示されていないいかなる要素がなくてもよく、それを欠いてもよく、および／またはそれを用いずに機能しうる。
【００６３】
当業者は、また、説明された実施形態の追加の適応及び変形がなされうることを理解するだろう。したがって、本発明の範囲は、上の特定の実施形態の説明によって限定されるべきではなく、添付の特許請求の範囲により定められる。
【図１】
0005952406.tif 000002
【図２】
0005952406.tif 000003
【図３】
0005952406.tif 000004
【図４】
0005952406.tif 000005
【図５】
0005952406.tif 000006
【図６】
0005952406.tif 000007
【図７】
0005952406.tif 000008
【図８】
0005952406.tif 000009
【図９】
0005952406.tif 000010