JP2012531668A - 複数の表示装置を有するネットワーク接続されたコンピュータグラフィックスレンダリングシステム - Google Patents
複数の表示装置を有するネットワーク接続されたコンピュータグラフィックスレンダリングシステム Download PDFInfo
- Publication number
- JP2012531668A JP2012531668A JP2012517631A JP2012517631A JP2012531668A JP 2012531668 A JP2012531668 A JP 2012531668A JP 2012517631 A JP2012517631 A JP 2012517631A JP 2012517631 A JP2012517631 A JP 2012517631A JP 2012531668 A JP2012531668 A JP 2012531668A
- Authority
- JP
- Japan
- Prior art keywords
- view
- client
- server
- display device
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1446—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/02—Composition of display devices
- G09G2300/026—Video wall, i.e. juxtaposition of a plurality of screens to create a display screen of bigger dimensions
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2356/00—Detection of the display position w.r.t. other display screens
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/04—Display device controller operating with a plurality of display units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
- G09G2370/022—Centralised management of display operation, e.g. in a server instead of locally
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
Abstract
【解決手段】複数の表示装置上のグラフィックスをレンダリングするために、複数の計算プラットフォームがネットワーク接続され、それぞれの計算プラットフォームは、表示装置に表示するグラフィックスをレンダリングするためのアプリケーションを独立して実行する。クライアント計算プラットフォームは、サーバ計算プラットフォームから受信したビュー状態情報に方向のオフセットを加算し、サーバ及びクライアントによりレンダリングされたグラフィックスを同じワールドシーンの表現に位置づける。
【選択図】図1
【選択図】図1
Description
本出願は、同時係属中の出願(代理人ドケット番号:8720P006、発明の名称「複数のビュー錐台を表示するための複数の表示装置を有するネットワーク接続されたコンピュータグラフィックスレンダリングシステム」、2009年6月26日出願)及び出願(代理人ドケット番号:8720P007、発明の名称「複数の表示装置を有するコンピュータグラフィックスレンダリングシステムの表示及び音声パラメータの設定」、2009年6月26日出願)に関連する。
本発明は、一般に、コンピュータグラフィックスレンダリングシステムに関し、とくに、複数の表示装置を有するグラフィックスレンダリングシステムに関する。
コンピュータグラフィックスアプリケーションは、コンピュータゲーム又はCADアプリケーションの娯楽性又はシミュレーション値を向上させるために、レンダリングされたシーンの現実感を向上させ続けている。「没頭」として知られる効果は、レンダリングされたシーンの現実感に貢献する。没頭とは、グラフィックスアプリケーションのユーザの視点を、シーンを傍観する傍観者の視点から、シーンの一部の視点に移動させることを言う。しかし、最も一般的な計算プラットフォームのハードウェア及び処理の限界の範囲内で、リソースに対して効果的な没頭感を達成することは難しい。例えば、多くの一人称視点及び三人称視点のコンピュータゲームは、表示装置に対する表示として、ほぼ60度の広い視野(FOV)をレンダリングする。FOVを増加させることにより、「トンネルビジョン」の感覚を低減することができるが、広いFOVは「魚眼」ビューを生じ、詳細を犠牲にし、没頭効果を達成できなくしてしまう。
グラフィックスアプリケーションは、例えば、1以上のマルチコア中央演算装置(CPU)及びCPUの下流の複数のグラフィックス処理ユニット(GPU)など、高い計算能力のプラットフォームを必要とすることが多い。このようなグラフィックスプラットフォームCPUは、一般に、単一のグラフィックス領域モデルを生成し、それが、プラットフォームに接続された複数の表示装置の一つを独立に駆動するために、レンダリングを実行するそれぞれのGPUにより処理される。しかし、この方法は、極めてハードウェア集約的であるため、グラフィックスプラットフォーム市場は小さく、このようなプラットフォームの能力を活用するアプリケーションタイトルはほとんど作成されていない。
本発明の実施の形態は、明細書の最後の部分において、特に指摘され、明確にクレームされる。しかし、本発明の実施の形態は、機構及び動作の方法の双方について、その目的、特徴、効果とともに、下記の説明及び添付の図面を参照することにより、最も良く理解されうる。
本明細書では、グラフィックスをレンダリングし、表示するための複数の表示装置を有するシステムと、グラフィックスをレンダリングし、そのシステムに表示するための方法が説明される。下記の説明においては、本発明の実施の形態の完全な理解を提供するために、特定の数値的な詳細が示される。しかしながら、他の実施の形態が、これらの特定の詳細なしに実施されることが可能であることは、当業者には明らかである。いくつかの例において、本発明を不明瞭にするのを避けるために、既知の方法、手順、構造及び回路は、詳細には説明されない。下記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット又はバイナリディジタル信号上の演算のアルゴリズム及び記号表現の観点から示される。これらのアルゴリズムの記述及び表現は、その成果を最も効果的に他の当業者に伝えるために、データ処理の分野の当業者により用いられる手段である。
下記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上の演算のアルゴリズム及び記号表現の観点から示される。これらのアルゴリズムの記述及び表現は、その成果を最も効果的に他の当業者に伝えるために、データ処理の分野の当業者により用いられる手段である。アルゴリズムは、本明細書において、及び一般的に、所望の結果を達成する自己矛盾のない一連のステップであると理解されている。ステップは、物理量の必要な物理操作である。通常、必然的ではないが、これらの量は格納可能な電気的又は磁気的信号の形式をとり、送信され、結合され、比較され、及びその他の操作を受ける。これらの信号を、ビット、値、要素、記号、文字、項、数などと呼ぶことが、主に共通の使用のために、時に便利であることが立証されている。
以下の議論から明らかであるように、とくにそうではないと断らない限り、詳細な説明の全体にわたって、「処理」「計算」「変換」「調整」「決定」などの語を用いた議論は、物理的(例えば電気的)な量としてコンピュータシステムのレジスタ及びメモリ内で表現されるデータを操作し、コンピュータシステムのメモリ又はレジスタ、又は、他の同様な情報ストレージ、通信又は表示装置の中で物理量として同様に表現される他のデータに変換するコンピュータシステム又は同様の電気的計算装置の動作及び処理のことを指すことが理解される。
本発明は、また、本明細書の手順を実行するための装置に関する。この装置は、要求される目的のために特別に構築されてもよいし、コンピュータに格納されたコンピュータプログラムにより選択的に作動された又は再構成された汎用コンピュータを備えてもよい。一つの実施の形態において、本明細書の手順を実行するための装置は、ゲームコンソール(例えば、ソニープレイステーション(登録商標)、ニンテンドーWii(登録商標)、マイクロソフトXbox(登録商標)など)を含む。コンピュータプログラムは、例えば、フロッピー(登録商標)ディスクを含む任意の種類のディスク、光ディスク(例えば、コンパクトディスクリードオンリーメモリ(CD−ROM)、ディジタルビデオディスク(DVD)、ブルーレイディスク(登録商標)など)、及び磁気光学ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光学カード、又は電気的命令を格納するために適した任意の種類の媒体などのコンピュータ読み取り可能な記録媒体に格納されてもよい。
下記の説明及び特許請求の範囲において、「結合される」及び「接続される」という語が、それらの派生語とともに用いられる。これらの語は、互いに類義語として意図されるものではないことが理解されるべきである。「結合される」という語は、互いに物理的に直接又は電気的に接触する又はしない2以上の要素が、互いに協働又は相互作用することを示すために用いられる。「接続される」という語は、互いに結合された2以上の要素の間における通信の確立を示すために用いられる。
実施の形態において、マルチディスプレーグラフィクスレンダリングシステムは、システムの表示装置に表示するためのグラフィクスをそれぞれ生成し、レンダリングするための複数の計算プラットフォームを含む。図1は、それぞれの計算プラットフォームがゲームコンソールである本発明の一つの実施の形態に係るマルチディスプレーグラフィクスレンダリングシステム100の透視図を示す。別の実施の形態においては、図示されたゲームコンソールは、それぞれ、プログラム可能なプロセッサを有する従来の任意のコンピュータにより置き換えられてもよい。図示されるように、システム100は、ビューサーバコンソール101、及びビュークライアントコンソール102及び103の3つのゲームコンソールを含むが、任意の数のコンソールがシステムに含まれてもよい。
実施の形態において、マルチディスプレーグラフィクスレンダリングシステムのそれぞれの計算プラットフォームは、一つの表示装置に接続される。このような実施の形態においては、計算プラットフォームと表示装置との間の1対1の比は、システムに含まれる計算プラットフォームの数に関わらず維持される。システムのそれぞれの表示装置は、それに接続された計算プラットフォームにより生成されレンダリングされたグラフィクスを表示するためのものである。別の実施の形態においては、計算プラットフォームは、1より多くの表示装置に接続されてもよく、その場合、計算プラットフォームは、2以上の接続された表示装置のためのグラフィクスを生成し、レンダリングする。図2に示された特定の実施の形態において、ビューサーバコンソール101は、ビデオデータ入出力リンク151によりビューサーバ表示装置111に接続される。したがって、ビューサーバ表示装置111は、ビューサーバコンソール101により生成されたグラフィックスオブジェクト171及び172などのグラフィック出力を表示する。ビューサーバ表示装置111は、技術分野において既知の任意の表示技術のものであってもよい。例えば、LCD、プラズマディスプレー、プロジェクションディスプレー、陰極線管(CRT)などであってもよいが、これらに限られない。同様に、ビデオデータ入出力リンク151は、映像を送信するための技術分野において既知の任意の技術を利用してもよい。例えば、コンポーネントビデオ、S−ビデオ、合成ビデオ、高精細度マルチメディアインターフェース(HDMI)などであってもよいが、これらに限られない。ビュークライアントコンソール102及び103は、それぞれ、ビデオデータ入出力リンク152又は153を介して、ビュークライアント表示装置112又は113に、それぞれ同様に接続される。ビュークライアント表示装置112は、ビュークライアントコンソール102により生成されたグラフィックスオブジェクト172などのグラフィック出力を表示し、ビュークライアント表示装置113は、ビュークライアントコンソール103により生成されたグラフィックスオブジェクト173などのグラフィック出力を表示する。
実施の形態において、マルチディスプレーグラフィクスレンダリングシステムの表示装置は、互いに対して既知の物理的位置を有している。図1に示されるように、ビュークライアント表示装置112−113のそれぞれは、テーブル109の上において、ビューサーバ表示装置111の参照座標系に対して直線状の位置及び向き(すなわち、角度位置)を有するように配置される。図示された実施の形態において、ビュークライアント表示装置113は、ビューサーバ表示装置111の参照座標系のY軸に対してθだけ回転した角度位置を有しているので、表示装置111及び113の画面に対して垂直なベクトルNは、およそ45度の角度位置オフセットを有し、同一の参照中心Cに収束する。ビュークライアント表示装置112は、ビューサーバ表示装置111の参照座標系のX軸に沿って直線状の位置を有する。ビュークライアント表示装置112は、Y軸に関して回転されていないので、画面に垂直なベクトルNは、点Fに収束しない。それにもかかわらず、ビューサーバ表示装置111に対するビュークライアント表示装置112の位置を、物理的な角度位置オフセット(すなわち、ビュー角度オフセット)の観点から定義するために、参照Cからの線がビュークライアント表示装置112の中心線とされてもよい。更なる実施の形態において、表示装置は、参照座標系のX軸及びZ軸のうち1以上について回転されてもよい。例えば、ビューサーバ表示装置111よりも上に配置されたビュークライアント表示装置は、参照座標系のX軸について回転されて、下に傾いた角度位置を有してもよい。
一つの実施の形態において、マルチディスプレーグラフィクスレンダリングシステムのそれぞれの計算プラットフォームは、通信リンクのネットワークを介して互いに接続されてもよい。ネットワークは、例えば、本明細書の他の部分で説明される、毎秒約20から100回表示状態を更新するグラフィックスレンダリング方法の良好な実行を達成するために、十分に高い帯域を提供することが可能な、技術分野において既知の任意のネットワークであってもよい。図1に示された実施例において、ネットワークは、ローカルエリアネットワーク(LAN)110である。LAN110は、技術分野において一般的な従来のLANであってもよい。例えば、フレームベースの短距離コンピュータネットワーク技術のイーサネット(登録商標)ファミリーのうちの一つであってもよいが、これに限られない。
一つの実施の形態において、LAN110の物理ノードである計算プラットフォームのみが、システム100の複数の表示の一つをアクティブに生成しレンダリングするものである。一つの実施の形態において、ビューサーバ及びビュークライアントは全て同一のローカルな高速ネットワークスイッチを共有する。したがって、このような実施の形態は、マルチディスプレーグラフィクスレンダリングシステムに特有のデータパケットを処理せずに転送するのみの多数の物理ノードを含む広域ネットワーク(WAN)を排除する。一般に、多くの現代のWANは、本明細書で説明するグラフィックスレンダリング方法の良好な実行を達成するために不十分な帯域(おそらく毎秒10回未満のビュー状態の更新しか可能でない)しか提供しない。
一つの実施の形態において、マルチディスプレーグラフィクスレンダリングシステムの計算プラットフォームのうちの少なくとも一つは、システムのユーザにより使用されるように設計された、複数の表示装置の少なくとも一つを見るときに表示されたグラフィックスを制御するためのコントローラと結合される。特定の実施の形態において、マルチディスプレーグラフィクスレンダリングシステムの一つの計算プラットフォームのみがコントローラに接続され、そのコントローラは、グラフィックスレンダリングシステムの表示装置の全てにおいて独立したビューとして表示されたグラフィックスを制御する。例えば、図1に示すように、ビューサーバコンソール101は、サーバコントローラデータ入出力リンク126を介して、コントローラ125に接続される。コントローラ125はポインティングデバイスであってもよい。例えば、ジョイスティックを有する従来のゲームコントローラであってもよいが、これに限られない。サーバコントローラデータ入出力リンク126は、従来の有線又は無線の任意の通信であってもよい。
図2は、例えばマルチディスプレーグラフィクスレンダリングシステム100において提供される複数の計算プラットフォーム及び表示装置による、グラフィックスをレンダリングする方法200の例を示すフロー図を示す。方法200は、それぞれがシステム内のサーバ−クライアント関係を確立するために較正されたアプリケーションを開始する、通信リンクにより接続された第1、第2、及び第nの計算プラットフォームのそれぞれにより開始する。ここで、「システム内」とは、マルチディスプレーグラフィクスレンダリングシステムを較正する計算プラットフォームのみに渡るビュークライアント−サーバ関係のことを言う。
手順205において、第1の計算プラットフォームにおいて、第1のアプリケーションが開始される。一般に、開始される第1のアプリケーションは、技術分野において既知の、グラフィックスが強調された任意の種類のコンピュータアプリケーションであってもよい。例えば、コンピュータゲームアプリケーション、CADアプリケーション、ビデオ編集アプリケーションなどであってもよいが、これらに限られない。特定の実施の形態において、開始されるアプリケーションは、一人称又は三人称視点の三次元コンピュータゲームアプリケーションである。例えば、ソニーコンピュータエンタテインメントインクにより発行された三人称視点の三次元ゲームSOCOM(登録商標)であってもよいが、これに限られない。手順206において、第2の計算プラットフォームにおいて、第2のアプリケーションが開始される。開始される第2のアプリケーションは、第1のアプリケーションについて説明したように、任意の種類のものであってもよい。特定の実施の形態において、第2の計算プラットフォームにおいて開始される第2のアプリケーションは、第1の計算プラットフォームにおいて開始される第1のアプリケーションと同じアプリケーションであり、双方のプラットフォームは、独立して同一のアプリケーション(例えば、SOCOM)を実行する。
手順210において、第1及び第2の計算プラットフォームにおいて実行中の第1及び第2のアプリケーションについて、第1の計算プラットフォームはビューサーバとして指名され、第2のプラットフォームはビュークライアントになる。3以上の計算プラットフォームを有するシステムにおいても、同様に、1つのビューサーバが指名され、残りの全てのプラットフォームはクライアントプラットフォームになってもよい。第1の計算プラットフォームの指名は、自動又はユーザ入力を必要とする手動により実行される設定ルーチンにより実行されてもよい。設定ルーチンは、第1及び第2の計算プラットフォームの処理能力の比較、計算プラットフォームに接続された表示装置の間の物理的関係、及び表示装置の特性の比較のうちの1以上に基づいて指名する。例えば、設定ルーチンは、どのシステムの表示装置がより大きな表示領域又は高い解像度を有しているかを判定し、その表示装置に接続された計算プラットフォームをビューサーバに指名してもよい。別の例として、設定ルーチンは、ユーザがどの表示装置を視野(FOV)の中心にしたいかを示すように設定されてもよい。別の例において、より高い計算能力を有する計算プラットフォーム、例えばソニープレイステーション3(登録商標)計算プラットフォームが、同じシステムのソニープレイステーション2(登録商標)計算プラットフォームに対して、ビューサーバに指名されてもよい。
方法200の例の手順215において、ビューサーバは、ビュー角度位置オフセット(すなわち、視方向オフセット)をデフォルトのゼロに設定する。ビュー角度位置オフセットをゼロにすることにより、ビューサーバによりレンダリングされたカメラビューは、デフォルトでは、システム内のビュークライアント−サーバ関係がない計算プラットフォーム(すなわち、単独の計算プラットフォーム)において実行されるときのアプリケーションによりレンダリングされたカメラビューになる。しかし、手順220において、ビュークライアントは、視方向オフセットをゼロではない値に設定する。このような一つの実施の形態において、視方向オフセットに関連付けられた構成設定は、ビュークライアント又はビューサーバ上のストレージ位置からアクセスされる。一つの実施の形態において、視方向オフセットは、ビュークライアントに特有であり、ビューサーバに接続された表示装置と、特定のビュークライアントに接続された表示装置との間の物理的な方向オフセットに基づいて予め決定される。例えば、図1に戻り、ビュークライアントコンソール103の視方向オフセットは、ビュークライアント表示装置113とビューサーバ表示装置111との間の物理的な方向オフセットθにほぼ等しくなるように設定される。ビュークライアントコンソール102の視方向オフセットは、同様に、ビュークライアント表示装置112とビューサーバ表示装置111との間の物理的な方向オフセットにほぼ等しくなるように設定される。実施の形態において、視方向オフセットは、表示装置間の物理的な相対方向を演繹するために、ビューサーバ及びビュークライアントの双方又は一方で実行される較正ルーチンに基づいて決定される。
方法200は手順225へ進み、サーバの視野の値は、別の表示装置を制御する別のプラットフォームにネットワーク接続されることに対応して、50度未満に縮減される。複数の表示装置にわたってより大きな視野を提供することにより、ビューサーバ表示装置における魚眼効果を低減しつつ、ビューサーバ表示装置に隣接して配置された第2(及び第3など)のビュークライアント表示装置が結合してユーザに没入環境を提供することができる。同様に、手順226において、ビュークライアントの視野の値も50度未満に縮減され、ビューサーバに送信される。特定の実施の形態において、ビューサーバ及びビュークライアントのそれぞれは、20度から50度の間に設定された視野の値を有し、ビューサーバ及びビュークライアントの双方を有する実施の形態において、FOVの値はほぼ25度に設定される。
ビューサーバ側では、ビューサーバは、手順255においてサーバカメラのビューをビューサーバ表示装置に表示するために、手順230、235及び250において、ジオメトリパイプラインを実行する。ビュークライアント側では、それぞれのビュークライアントは、手順270においてクライアントカメラのビューをビュークライアント表示装置に表示するために、手順245、260及び265において、ジオメトリパイプラインを実行する。実施の形態において、ビューサーバ及びビュークライアントによるこれらのジオメトリパイプラインの実行は、実質的に同時に複数の表示装置にわたってグラフィックスをトータルとしてレンダリングし表示するために、ビューサーバにより送信された内部のビュー状態情報及び1以上の視方向オフセットに基づいて調整される。
ビューサーバにおいて第1のアプリケーションを実行している間、コントローラ125などのビュー制御入力装置から受信された入力に関連付けられた入力頂点データは、従来の任意の技術を用いてモデル空間に変換される。手順230において、ビューサーバは、モデル空間からワールド空間を生成する。一般に、「空間」は、参照フレームに対してオブジェクトを位置づけるための座標系である。左手座標系においては、図1に示した参照座標系と同様に、Z軸(深さ方向の軸)はユーザからシーンへ伸びる。モデル空間は、そのモデルのローカルな原点に対するモデリングされたオブジェクトの頂点を定義する参照フレームである。グラフィックスオブジェクト172、172及び173などの、ワールドシーンにおいてレンダリングされたそれぞれのオブジェクトは、モデル空間における複数の頂点を含む、対応するモデルを有する。したがって、グラフィックスオブジェクト171に関するモデルについて、モデル空間は、人間の形の中心に配置された原点に対する頂点を生成してもよい。ワールド空間を生成するために、シーンにおける異なる位置を決定するための共通の参照点として、グローバルな原点が定義され、全てのモデリングされたオブジェクトの頂点は、そのグローバルな原点に対して定義される。
手順235において、手順230で生成されたワールド空間は、サーバビュー空間又は「サーバビュー錐台」に変換される。図3は、図1に示したシステム100に対応するサーバビュー錐台300の例を示す。図示されるように、サーバビュー錐台300は、観察者が原点にいて、前面301及び背面302によりクリップされた円錐状のビューボリュームを、Z軸の正の方向に観察している参照フレームを有する。サーバビュー錐台300の外側の境界は、サーバカメラ305の位置に収束する。したがって、サーバビュー錐台300は、角錐台の形状を呈する。サーバカメラ305は、観察者がワールドシーンを観察するワールド空間における視点を定義する。したがって、ワールド空間座標系は、サーバカメラ305においてサーバビュー錐台300を提供するために、ワールド空間の視点に移転され、位置合わせされる。
手順240において、ビューサーバは、全てのワールド空間のオブジェクトの内部状態をスキャンし、全てのビュークライアントが正確に同一のワールドシーンを表現することができるような態様で、それぞれのオブジェクトの状態を送信する。例えば、ビューサーバがゲームアプリケーションを実行している場合、内部のゲーム状態の情報は、システムのビュークライアントにブロードキャストされてもよい。伝送機構は、UDP又はTCPであってもよく、タイトルの選択に依存してもよい。UDP伝送は、更新パケットが失われた場合、より直近の情報とともに情報を再送信することができるように、ビューサーバコンソールにより保存された追加の状態情報を有する。TCPが使用されてもよいが、更なる待ち時間の偏差が予測されうる。しかし、TCPは信頼性が高く、データ伝送を確認するためのアプリケーションの相互作用が必要ない。LAN110などのローカルネットワークにおいて、とくにビューサーバ/クライアントコンソールがローカルな高速ネットワークスイッチを共有する場合には、待ち時間が問題になることはあまりない。
実施の形態において、サーバカメラ305のワールド空間位置及びワールド空間方向を示すビュー状態は、通信リンクを介してビュークライアントに送信される。言い換えれば、サーバカメラのビューマトリックスは、ビュークライアントに送信される。このような一つの実施の形態において、ビューサーバは、毎秒約20から100回、ゲームビュー状態情報をマルチキャストする。オブジェクトアニメーション情報が、ビューサーバにより送信される内部状態データの一部として更に送信されてもよい。パーティクルエフェクトなどのローカルに生成されたオブジェクト(例えば、ビュークライアントコンソールにより生成されたオブジェクト)を同期させるために、ビューサーバにより追加の情報が更に送信されてもよい。従来のオンラインゲーム構成においては、遠隔のプレイヤーがこのような効果を完全に同期して見る必要はないので、このようなローカルに生成されたオブジェクトは、大ざっぱに概算されるのみであったが、本発明の実施の形態においては、システムのユーザに対して最も望ましいビューを有利に提供するために、ビューサーバにより送信されるビュー状態情報に基づいて、ローカルに生成されたオブジェクトの近接した同期が達成される。
手順245において、ビュークライアントは、送信された状態情報を受信し、ビューサーバにより生成されたのと実質的に同一のワールド空間を生成する。言い換えれば、ビュークライアントは、受信したそれぞれのビュー状態の更新に応答して、ビューサーバにより生成されたグラフィックスオブジェクトを複製し、同一のワールド空間の第2のビューをレンダリングするために、ワールド空間を再生成する。実施の形態において、この第2のビューは、サーバカメラ305の位置に視点位置を有する。サーバ及びクライアントは、ビューサーバにより設定され、ビュークライアントに送信された、共通のカメラを共有する。ビュークライアントは、クライアントビュー錐台がサーバビュー錐台と重ならないように、ワールド空間方向からクライアントビュー錐台を角度的にオフセット又は回転させるために、手順220で決定された視方向オフセットを適用してもよい。このとき、サーバビューに依存してクライアントビューをレンダリングするために、それぞれのクライアントに特有な視方向が、受信したサーバ状態情報に適用される。
例えば、図3に示すように、クライアントビュー錐台310は、受信したサーバビュー状態情報及びクライアントに特有な視方向オフセットに基づいて、サーバビュー錐台300を中心としてZ軸から視方向オフセット350を有するように(ワールド空間方向について定義されるように)、ビュークライアントにより生成される。クライアントビュー錐台310は、サーバビュー錐台300の右側に隣接するようにオフセットされる。グラフィックスオブジェクト172は、ビュークライアントにより複製され、サーバビュー錐台300の外側にあるグラフィックスオブジェクト172の一部がレンダリングされる。クライアントビュー錐台310の中にあるグラフィックスオブジェクト172の一部は、手順226によるクライアントの視野に更に依存してもよい。図3に更に示すように、ビューサーバからビュー状態情報のブロードキャストを受信する別のビュークライアントは、サーバビュー錐台300からの視方向オフセット351を有する第3のクライアントビュー錐台320を生成する。クライアントビュー錐台320は、サーバビュー錐台300の左側に隣接するようにオフセットされ、(サーバによりワールド空間の一部として生成され、クライアントに送信されるが)サーバビュー錐台300の外側にあるグラフィックスオブジェクト173をレンダリングする。
一つの実施の形態において、ビュー錐台300−302のそれぞれは、50度未満、例えば25度から50度の視野を有する。視方向オフセットは、隣接する表示装置間の物理的な隙間(表示装置のベゼルなどに起因する)を調整して、ビューサーバ及びビュークライアント表示装置にわたって連続したFOVを提供するために、FOVの2倍未満に設定されてもよい。例えば、ビューサーバ表示装置111とビュークライアント表示装置112の間の物理的方向オフセットが40度から50度の間である場合、それぞれの表示装置のFOVが25度であれば、視方向オフセットはほぼ40度に設定されてもよい。別の実施の形態において、隣接するビュー錐台が離れて配置され、ビューサーバ及びビュークライアント表示装置に渡る視野が不連続になるように、視方向オフセットは表示装置のFOVの2倍以上に設定されてもよい。このとき、ワールド空間のオブジェクトは、表示装置間の領域において、ビューから「隠される」かもしれない。
適切に設定された視方向オフセットにより、ビューサーバ及びビュークライアントは、同一のワールドシーンのビュー空間のメッシュを形成するように、共通のワールド空間のビュー錐台をレンダリングする。このように、複数の表示装置は、独立した計算プラットフォームにより実行されるレンダリングに合わせられる。これにより、それぞれのプラットフォームの計算能力が減少される。さらに、ビューサーバコンソール101などの単一の表示装置を有する単一の計算プラットフォームにおいてスタンドアロン実行するために作成された任意のアプリケーションタイトルを、特別なアプリケーションのコードをほとんど必要とせずに、簡単に複数の表示装置をサポートするようにすることができる。計算プラットフォームのサプライヤーは、計算プラットフォームのアプリケーションの任意の開発者により組み込まれることが可能なマルチディスプレーグラフィクスレンダリングのサポートを提供する機能の共通のライブラリを提供することができる。タイトルは、マルチディスプレーグラフィクスレンダリングシステムにより提供される視野の機能として、より多くの又は少ない数のグラフィックスオブジェクトを有するように作成されるだけでよい。例えば、単一のプラットフォーム又は「スタンドアロン」モードで実行されるアプリケーションタイトルは、カメラから60度の偏向の視野にグラフィックスオブジェクトを生成してもよい。マルチディスプレーシステムにおいて実行される同一のアプリケーションタイトルは、ネットワーク上のコンソールの数及びそれぞれのコンソールの視野の設定により決定される使用可能な累積の視野に基づいて、より多くの視野を包含するように、グラフィックスオブジェクトを生成する偏向を増加させてもよい。
それぞれの表示装置に対応するビュー空間の生成後、それぞれの表示装置のビューをレンダリングするために、更なる行列操作がビューサーバ及びビュークライアントにより実行されてもよい。例えば、サーバビュー錐台300は、サーバビュー錐台300におけるオブジェクトの相対位置に基づいて、オブジェクト171がオブジェクト172よりも小さく見えるようにするために、技術分野において知られるように、シーンに深さを与えるようにレンダリングされてもよい。フレームバッファにおける画面のX−Y位置が直接座標系に関連する参照フレームにより、手順255においてサーバ表示装置に表示されるサーバ画面空間を生成するために、更なる行列操作が実行されてもよい。例えば、サーバビュー錐台300は、図1に示すように、グラフィックスオブジェクト171及びグラフィックスオブジェクト172の一部をサーバビュー錐台300の内部に含むサーバ画面空間にレンダリングされてもよい。手順270において、システムの表示装置にわたる結合されたビューがほとんど横並びに表示されるように、サーバ画面空間がレンダリングされるのと実質的に同時にクライアント画面空間を表示するために、同様なレンダリングアクティビティがビュークライアントにより実行されてもよい。例えば、クライアントビュー錐台310は、図1に更に示されるように、サーバビュー錐台の内部にグラフィックスオブジェクト172の一部を含むサーバ画面空間にサーバビュー錐台300がレンダリングされるのと実質的に同時に、視野及び方向オフセット350により決定されるように、クライアントビュー錐台310の内部にグラフィックスオブジェクト172の一部を含むクライアント画面空間にレンダリングされてもよい。
手順260において、ビューサーバに結合されたコントローラから受信された入力マトリックスに対する任意の変更が、手順240において送信されたサーバビュー空間の更新のトリガとなる。ビュークライアントは、入力マトリックスの変更を反映させるために、対応するクライアントビュー空間を再レンダリングする。一つの実施の形態において、ビューサーバのみが、コントローラ125などのビュー制御入力装置を含む。ビューサーがを介して制御されるワールドシーンの二次的なビューをレンダリングする役割を有するビュークライアント計算プラットフォームは、コントローラを含む必要がない。ビュークライアントシステムは、受動的なレンダリングモードであるから、ある実施の形態において、システム内のネットワーク通信は、ビューサーバが下流のビュークライアントへブロードキャストを実行する実質的に一方向の通信であってもよく、ビュークライアントは相互間の通信も必要としない。したがって、ネットワーク帯域は、システムの全てのプラットフォームにわたる高い内部状態のリフレッシュレートを可能とするために、実質的にビューサーバに専用されてもよい。
図4は、本発明の実施の形態に係る、マルチディスプレーグラフィクスレンダリングシステム400の平面図を示す。図示されるように、システム400は、ビュークライアント表示装置112が図2のY軸の周りに回転された、システム100の全ての構成要素と、ユーザの椅子450の周りに追加された4つのビュークライアント表示装置414、415、416及び417を含む。それぞれのビュークライアント表示装置は、システム100について説明したのと実質的に同じように、ビュークライアントコンソール404、405、406及び407に接続される。図示されるように、それぞれの表示装置は、ビューサーバ表示装置111に対して物理的な方向を有する。例えば、ビュークライアント表示装置112は、ビューサーバ表示装置111に対して、第1の物理的方向オフセット422を有する位置にあり、ビュークライアント表示装置416は、ビューサーバ表示装置111に対して、第2の物理的方向オフセット426を有する位置にある。特定の実施の形態において、それぞれのビュークライアント表示装置は、ビューサーバ表示装置111に対して、第1の物理的方向オフセット422はほぼ40から50度であり、第2の物理的方向オフセット426はほぼ80から100度であるというように、ほぼ40から50度の固定された増分の位置にある。方法200などのグラフィックスレンダリング方法を実行するとき、それぞれの計算プラットフォームは、合計で同一のワールドシーンのほぼ360度の視野を提供するために、物理的な方向角に基づいて、視方向オフセット値によりサーバのビュー状態を修正し、ビュー空間をレンダリングしてもよい。任意の次元において360度の視野を提供するために、任意の数の表示装置が組み合わされてもよい。
実施の形態において、システム400などのマルチディスプレーレンダリングシステムは、別のマルチディスプレーレンダリングシステムにネットワーク接続されてもよい。図5は、互いに通信可能に接続された2つのマルチディスプレーグラフィクスレンダリングシステムのブロック図を示す。図示された実施の形態において、ビュークライアントコンソール502にLAN510を介して接続されたビューサーバコンソール501を含み、それぞれが表示装置503のうちの1つに接続されたマルチディスプレーグラフィクスレンダリングシステム515は、同様に、ビュークライアントコンソール602にLAN610を介して接続されたビューサーバコンソール601を含み、それぞれが表示装置603のうちの1つに接続された別のマルチディスプレーグラフィクスレンダリングシステム615に接続される。ビューサーバコンソール601は、サーバコンソール間での通信を可能とするために、WAN550を介してビューサーバコンソール501に更に接続される。
このような一つの実施の形態において、システム515及び615内で確立されたシステム内のビューサーバ−クライアント関係とは別に、ビューサーバコンソール501及び601の間で、システム間のクライアント−サーバ関係が確立される。実行において、ビュークライアントコンソール502とビュークライアントコンソール602との間のシステム間の相互作用は必要ない。システム間のクライアント−サーバ関係は、マルチディスプレーレンダリングシステム(例えば、システム515又はシステム615)の、システム間のネットワーク上で可視又はアクティブな計算プラットフォームのみが、システムのビューサーバ(例えば、サーバコンソール501及び601)として機能する計算プラットフォームである、従来の1対1又は1対多の通信技術を用いて確立されてもよい。例えば、マルチディスプレーグラフィクスレンダリングシステム515を使用するプレイヤーが、システム615を使用するプレイヤーと同一のゲームをプレーすることを可能とするために、例えばUDP伝送を用いて、オブジェクトの位置及びアニメーション情報がビューサーバコンソール501及び601の間で定期的に送信されるような、従来のオンラインゲーム技術が適用されてもよい。システムのビューサーバコンソール501及び601の間でのシステム間リフレッシュレートは、それぞれのシステム515及び615の内部のシステム内リフレッシュレートよりもかなり低くてもよい。
ネットワーク接続されたマルチディスプレーレンダリングシステムの実施の形態において、ネットワークの全てのコンソール(例えば、ビューサーバコンソール501、601、及びそれぞれのビュークライアントコンソール502及び602)は、同一のワールド空間のグラフィックスを生成しレンダリングするために、同一のアプリケーションを実行する。表示装置503は、ビューサーバコンソール501及びビュークライアントコンソール502によりレンダリングされた、第1のワールド位置(例えば、ワールド空間における第1のプレイヤーの位置)における第1のサーバカメラからの、それぞれの表示装置503により表示されるカメラビューにおける方向オフセットによるグラフィックスを表示する。表示装置603は、ビューサーバコンソール601及びビュークライアントコンソール602によりレンダリングされた、第2のワールド位置(例えば、ワールド空間における第2のプレイヤーの位置)における第2のサーバカメラからの、それぞれの表示装置603により表示されるカメラビューにおける方向オフセットによるグラフィックスを表示する。
図6は、本発明の一つの実施の形態に関連して、マルチディスプレーグラフィクスレンダリングシステムの構成要素として、アプリケーションのカメラビューを生成し、レンダリングするために用いられうるハードウェア及びユーザインタフェースを示す。図6は、本発明の一つの実施の形態に係るマルチディスプレーグラフィクスレンダリングシステムの実装に互換性のあるコンソールであるソニープレイステーション3(登録商標)エンタテインメント装置の全体システム構成を概略的に示す。システムユニット1400とともに、システムユニット1400に接続可能な種々の周辺装置が設けられる。システムユニット1400は、セルプロセッサ1428、ランバス(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット1426、専用のビデオランダムアクセスメモリ(VRAM)ユニット1432とともに設けられたリアリティシンセサイザーグラフィックスユニット1430、及び入出力ブリッジ1434を備える。システムユニット1400は、さらに、入出力ブリッジ1434を介してアクセス可能な、ディスク1440Aから読み出すためのブルーレイ(登録商標)ディスクBD−ROM光ディスクリーダ1440及び脱着可能なスロットインハードディスクドライブ(HDD)1436を備える。システムユニット1400は、オプションで、入出力ブリッジ1434を介して同様にアクセス可能な、コンパクトフラッシュ(登録商標)メモリカード、メモリスティック(登録商標)メモリカードなどを読み出すためのメモリカードリーダ1438をさらに備える。
入出力ブリッジ1434は、さらに、複数のユニバーサルシリアルバス(USB)2.0ポート1424、ギガビットイーサネット(登録商標)ポート1422、IEEE802.11b/g無線ネットワーク(Wi−Fi)ポート1420、7つのブルートゥース(登録商標)接続までサポート可能なブルートゥース無線リンクポート1418に接続する。
動作中、入出力ブリッジ1434は、1以上のゲームコントローラ1402〜1403からのデータを含む全ての無線、USB及びイーサネット(登録商標)データを扱う。例えば、ユーザがゲームをプレーするとき、入出力ブリッジ1434は、ブルートゥースリンクを介してゲームコントローラ1402〜1403からデータを受信し、セルプロセッサ1428に伝える。セルプロセッサ1428は、ゲームの現在の状態をそのように更新する。
無線、USB及びイーサネット(登録商標)ポートは、ゲームコントローラ1402〜1403に加えて、リモートコントローラ1404、キーボード1406、マウス1408、ソニープレイステーションポータブル(登録商標)エンタテインメント装置などの携帯型エンタテインメント装置1410、アイトイ(登録商標)ビデオカメラなどのビデオカメラ1412、マイクロフォンヘッドセット1414、及びマイクロフォン1415などの他の周辺装置との接続も提供する。これらの周辺装置は、原則として、システムユニット1400に無線で接続されてもよい。例えば、携帯型エンタテインメント装置1410は、Wi−Fiアドホック接続を介して通信してもよいし、マイクロフォンヘッドセット1414は、ブルートゥースリンクを介して通信してもよい。
これらのインタフェースの提供は、プレイステーション3装置が、ディジタルビデオレコーダ(DVR)、セットトップボックス、ディジタルカメラ、携帯型メディアプレーヤ、ボイスオーバーIP電話、携帯電話、プリンタ、及びスキャナなどの他の周辺装置との互換性をも潜在的に有することを意味する。
さらに、プレイステーション(登録商標)又はプレイステーション2(登録商標)装置により用いられる種類のメモリカード1448の読み出しを可能にするレガシーメモリカードリーダ1416が、USBポート1424を介してシステムユニットに接続されてもよい。
ゲームコントローラ1402〜1403は、ブルートゥースリンクを介してシステムユニット1400と無線通信可能であるか、USBポートを介して接続して、ゲームコントローラ1402〜1403のバッテリを充電するための電源も提供可能である。ゲームコントローラ1402〜1403は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの永続メモリ、LED又は赤外光などの光照射部、超音波通信のためのマイクロフォン及びスピーカ、音響チャンバ、ディジタルカメラ、内部クロック、ゲームコンソールに面した球などの認識可能な形状、及びブルートゥース、WiFiなどのプロトコルを用いた無線通信を含んでもよい。
ゲームコントローラ1402は両手で用いられるように設計されたコントローラであり、ゲームコントローラ1403は、ボールが設けられた、片手で扱うコントローラである。1以上のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは、三次元位置決定が可能である。したがって、ゲームコントローラのユーザのジェスチャー及び動きが、従来のボタン又はジョイスティックのコマンドに加えて、又はそれに代えて、ゲームに対する入力として翻訳されてもよい。オプションとして、プレイステーションポータブル装置などの他の無線通信可能な周辺装置がコントローラとして用いられてもよい。プレイステーションポータブル装置の場合、装置の画面に、更なるゲーム又は制御情報(例えば、制御命令又はライフの数)が提供されてもよい。ダンスマット(図示せず)、モーキャプボール(図示せず)、光線銃(図示せず)、ステアリングホイール及びペダル(図示せず)、又は早押しクイズゲームのための単一又はいくつかの大きなボタンなどの専用コントローラ(図示せず)などの他の代替又は追加の制御装置が用いられてもよい。
リモートコントローラ1404は、ブルートゥースリンクを介してシステムユニット1400と無線通信可能である。リモートコントローラ1404は、ブルーレイディスクBD−ROMリーダ1440の動作及びディスク内容のナビゲーションのために適した制御を備える。
ブルーレイディスクBD−ROMリーダ1440は、従来の記録済み及び記録可能なCD及びいわゆるスーパーオーディオCDに加えて、プレイステーション及びプレイステーション2装置に互換なCD−ROMを読み出し可能である。リーダ1440は、従来の記録済み及び記録可能なDVDに加えて、プレイステーション2及びプレイステーション3装置に互換なDVD−ROMを更に読み出し可能である。リーダ1440は、さらに、従来の記録済み及び記録可能なブルーレイディスクだけでなく、プレイステーション3装置に互換なBD−ROMを読み出し可能である。
システムユニット1400は、生成された、又は、リアリティシンセサイザーグラフィックスユニット1430を介してプレイステーション3装置によりデコードされた音声及び映像を、音声及び映像コネクタを介して、モニタ又はディスプレー1444と1以上のラウドスピーカ1446を有するテレビジョンセットなどの表示及び音声出力装置1442に対して供給可能である。音声コネクタ1450は、従来のアナログ及びディジタル出力を含んでもよく、映像コネクタ1452は、コンポーネントビデオ、S−ビデオ、コンポジットビデオ、及び1以上の高解像度マルチメディアインタフェース(HDMI)出力などを含んでもよい。結果として、映像出力は、PAL又はNTSC、又は、720p、1080i又は1080p高解像度の形式であってもよい。
音声処理(生成、デコードなど)は、セルプロセッサ1428により実行される。プレイステーション3装置のオペレーティングシステムは、ドルビー(登録商標)5.1サラウンド音声、ドルビーシアターサラウンド(DTS)、及びブルーレイディスクからの7.1サラウンド音声のデコードをサポートする。
一つの実施の形態によれば、ビデオカメラ1412は、単一の電荷結合素子(CCD)、LEDインジケータ、及びハードウェアベースのリアルタイムデータ圧縮エンコード装置を備え、圧縮されたビデオデータは、システムユニット1400によりデコードするために、画像間ベースのMPEG(motion picture expert group)スタンダードなどの適当な形式で送信されてもよい。カメラLEDインジケータは、例えば逆光条件を知らせるなどのシステムユニット1400からの適切な制御データに応答して光るようにされてもよい。ビデオカメラ1412の実施の形態は、USB、ブルートゥース、又はWi−Fiの通信ポートを介してシステムユニット1400に接続してもよい。ビデオカメラの実施の形態は、1以上の結合されたマイクロフォンを含み、音声データを送信可能であってもよい。ビデオカメラの実施の形態において、CCDは、高精細ビデオキャプチャに適した解像度を有してもよい。使用中、ビデオカメラにより撮像された画像は、例えば、ゲーム内に組み込まれてもよいし、ゲーム制御入力として解釈されてもよい。カメラの別の実施の形態において、カメラは、赤外光を検出するのに適した赤外線カメラである。
一般に、システムユニット1400の通信ポートの一つを介して、ビデオカメラ又はリモートコントローラなどの周辺装置との間で発生するデータ通信を成功させるために、デバイスドライバなどの適切なソフトウェアが提供されるべきである。デバイスドライバの技術は既知であり、ここでは詳述しないが、本実施の形態においてデバイスドライバ又は類似のソフトウェアインタフェースが要求されることは、当業者には理解されるところである。
図7は、本発明の一つの実施の形態における、命令の処理に利用可能な追加のハードウェアを示す。図7は、セルプロセッサ1500の構成要素を示す。図7のセルプロセッサ1500は、メモリコントローラ1560及びデュアルバスインタフェースコントローラ1570A、1570Bを備える外部入出力構成、パワープロセッシングエレメント(PPE)1550と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント(SPE)1510A〜Hと呼ばれる8個のコプロセッサ、要素相互接続バス1580と呼ばれる、上記の要素を接続する環状データバスの4つの基本要素を備えた構成を有する。セルプロセッサの全体の浮動小数点演算は、プレイステーション2装置のエモーションエンジンの6.2Gフロップスであるのに対して、218Gフロップスである。
パワープロセッシングエレメント(PPE)1550は、3.2GHzの内部クロックで動作するパワーPC(PowerPC)コア(PPU)1555に互換な、双方向平行マルチスレッドパワー1470に基づいている。これは、512kBのレベル2(L2)キャッシュ及び32kBのレベル1(L1)キャッシュを備える。PPE1550は、クロックサイクルごとに8つの単精度演算を行うことができ、これは3.2GHzにおいて25.6ギガフロップスにあたる。PPE1550の主要な役割は、ほとんどの計算作業負荷を扱うSPE1510A〜Hのためのコントローラとして機能することである。動作において、PPE1550は、ジョブのキューを保持し、SPE1510A〜Hのジョブをスケジューリングし、それらの進行を監視する。それぞれのSPE1510A〜Hは、ジョブを取ってきて実行するのが役割であるカーネルを実行し、それをPPE1550に同期させる。
それぞれのSPE1510A〜Hは、シナジスティックプロセッシングユニット(SPU)1520A〜Hを備え、それぞれのメモリフローコントローラ(MFC:Memory Flow Controller)1540A〜Hは、ダイナミックメモリアクセスコントローラ(DMAC:Dynamic Memory Access Controller)1542A〜H、メモリ管理ユニット(MMU)1544A〜H、及びバスインタフェース(図示せず)を備える。それぞれのSPU1520A〜Hは、クロックが3.2GHzで、原則として4GBまで拡張可能な256kBのローカルRAM1530A〜Hを備える、RISCプロセッサである。それぞれのSPEは、理論上、25.6GFLOPSの単精度性能を与える。SPUは、4つの単精度浮動小数演算、4つの32ビット演算、8つの16ビット整数演算、又は16の8ビット整数演算を、1つのクロックサイクルで実行可能である。同じクロックサイクルにて、メモリ命令を実行することもできる。SPU1520A〜Hは、システムメモリXDRAM1426に直接アクセスしない。SPU1520A〜Hにより生成される64ビットのアドレスは、MFC1540A〜Hに渡され、要素相互接続バス1580及びメモリコントローラ1560を介してメモリにアクセスするためのDMAコントローラ1542A〜Hに命令される。
要素相互接続バス(EIB)1580は、セルプロセッサ1500の内部の論理的に巡回した通信バスである。EIBは、上述のプロセッサエレメント、すなわち、PPE1550、メモリコントローラ1560、デュアルバスインタフェース1570A、B、及び8つのSPE1510A〜Hの、合計12の要素を接続する。要素は、クロックサイクルごとに8バイトの速度でバスを同時に読み、及び書き込むことができる。前述したように、それぞれのSPE1510A〜Hは、より長いリード又はライトシーケンスをスケジュールするためのDMAC1542A〜Hを備える。EIBは4つのチャンネルを備え、2つは時計回りで、2つは反時計回りの方向である。12の要素の間で、任意の2つの要素の間のうち最も長いデータフローは、適切な方向に6ステップとなる。EIBの12スロットの帯域の理論上のピークの瞬間は、要素間の調停を通じて全てが利用されたとき、クロックごとに96バイトである。これは、クロックレートが3.2GHzのときの理論上のピークバンド幅の307.2GB/s(ギガバイト毎秒)と同じである。
メモリコントローラ1560は、ランバス社により開発されたXDRAMインタフェース1562を備える。メモリコントローラは、理論上はピークバンド幅毎秒25.6ギガバイトで、ランバスXDRAMと接続する。
デュアルバスインタフェース1570A、Bは、ランバスフレックスIO(登録商標)システムインタフェース1572A、Bを備える。インタフェースは、それぞれが8ビット幅である、入力5経路、出力7経路の12チャンネルに組織化される。
上述の説明は、例示を意図しており、制限を意図していないことが理解されるべきである。上述の説明を読み、理解した当業者には、多数の別の実施の形態が明らかとなろう。本発明が、いくつかの特定の実施の形態に関して説明されたが、本発明は説明された実施の形態に限られず、添付された特許請求の範囲の精神及び範囲内で変更及び代替が可能であることは、当業者に認識されるところである。したがって、詳細な説明は、限定ではなく例示であるとみなされるべきである。本発明の範囲は、特許請求の範囲に与えられる全ての範囲の均等物とともに、特許請求の範囲を参照して決定されるべきである。
Claims (40)
- 通信リンクに接続されたクライアントを備え、
前記クライアントは、クライアント表示装置と、クライアントアプリケーションを実行するためのクライアント計算プラットフォームを含み、
前記クライアント計算プラットフォームは、前記通信リンクを介して、サーバ計算プラットフォームから定期的にビュー状態情報を受信し、
前記ビュー状態情報は、前記サーバ計算プラットフォームにより生成されるサーバビュー空間の原点に対応するサーバカメラ位置を含み、
前記クライアント計算プラットフォームは、受信した前記ビュー状態情報に基づいて、前記クライアント表示装置に表示するためのクライアントビュー空間を生成し、
生成された前記クライアントビュー空間も、前記サーバカメラ位置を原点に有する
ことを特徴とするグラフィックスレンダリングシステム。 - 前記サーバは、サーバ表示装置を含み、
前記サーバ計算プラットフォームは、前記サーバ表示装置に表示するための前記サーバビュー空間を生成する
ことを特徴とする請求項1に記載のシステム。 - 前記クライアント計算プラットフォームは、前記サーバビュー空間からオフセットされた方向のクライアントビュー空間を生成することを特徴とする請求項1に記載のシステム。
- 前記クライアント表示装置は、前記サーバ表示装置に対する物理的な方向を有し、
前記サーバビュー空間と前記クライアントビュー空間との間の方向のオフセットは、前記クライアント表示装置の相対的な物理的な方向に基づいて決定される
ことを特徴とする請求項2に記載のシステム。 - 前記クライアント計算プラットフォームは、前記方向のオフセットに関するデータをローカルに格納することを特徴とする請求項4に記載のシステム。
- 前記サーバ及びクライアントアプリケーションは、同一のゲーム又はCADアプリケーションであることを特徴とする請求項2に記載のシステム。
- 前記通信リンクはローカルエリアネットワークであり、
前記サーバ計算装置は、信頼性のない伝送プロトコル(UDP)を用いた前記通信リンクを介して、サーバの前記ビュー状態情報を定期的にブロードキャストし、
前記サーバ及びクライアント計算プラットフォームは、ゲームコンソールである
ことを特徴とする請求項1に記載のシステム。 - 前記サーバ及びクライアント計算プラットフォームのうち、前記サーバのみが、前記サーバビュー空間及び前記クライアントビュー空間の双方を制御するコントローラに接続されることを特徴とする請求項1に記載のシステム。
- ローカルエリアネットワーク(LAN)を介して、ビュー状態情報を受信するステップと、
クライアント計算プラットフォーム上で実行されるクライアントアプリケーションにより、受信した前記ビュー状態情報に基づいて、前記ビュー状態情報により提供されるサーバカメラの位置に原点を有するクライアントビュー空間を生成するステップと、
生成された前記クライアントビュー空間に基づいてレンダリングされたグラフィックスを、クライアント表示装置に表示するステップと、
を備えることを特徴とするグラフィック表示をレンダリングする方法。 - サーバ計算プラットフォーム上で実行されるサーバアプリケーションにより、前記サーバカメラの位置に原点を有するサーバビュー空間を生成するステップと、
前記サーバビュー空間に基づいてレンダリングされたグラフィックスを、前記サーバ計算プラットフォームに接続されたサーバ表示装置に表示するステップと、
サーバカメラのビューマトリックスを含む前記ビュー状態情報を、前記LANを介して定期的に送信するステップと、
を更に備えることを特徴とする請求項9に記載の方法。 - 前記クライアントビュー空間は、前記サーバビュー空間からオフセットされた方向で生成されることを特徴とする請求項10に記載の方法。
- 前記クライアント表示装置は、前記サーバ表示装置に対する物理的な方向を有し、
前記サーバビュー空間と前記クライアントビュー空間との間の方向のオフセットは、前記クライアント表示装置の相対的な物理的な方向に基づいて決定される
ことを特徴とする請求項11に記載の方法。 - 前記サーバ計算プラットフォーム及び前記クライアント計算プラットフォームにおいて、前記相対的な物理的な方向に基づいて前記方向のオフセットを決定するために、較正ルーチンを実行するステップを更に備えることを特徴とする請求項12に記載の方法。
- 前記サーバ及びクライアントアプリケーションは、同一のゲーム又はCADアプリケーションであることを特徴とする請求項10に記載の方法。
- 前記ローカルエリアネットワーク(LAN)を介して、ビュー状態情報を定期的に送信するステップは、前記LANに接続された全てのクライアントに前記ビュー状態情報をブロードキャストするステップと更に含むことを特徴とする請求項10に記載の方法。
- 前記ビュー状態情報は、オブジェクトの位置情報及びアニメーション情報を更に含み、
前記ビュー状態情報に基づいてクライアントビュー空間を生成するステップは、前記オブジェクトの位置情報に基づいて前記クライアントビュー空間にオブジェクトを生成し、前記アニメーション情報に基づいて前記クライアントビュー空間においてオブジェクトをアニメーション表示するステップを更に備える
ことを特徴とする請求項9に記載の方法。 - 実行されたとき、処理システムに方法を実行させる命令のセットを格納したコンピュータ読み取り可能な記録媒体であって、
前記方法は、
ローカルエリアネットワーク(LAN)を介して、ビュー状態情報を受信するステップと、
受信した前記ビュー状態情報に基づいて、前記ビュー状態情報により提供されるサーバカメラの位置に原点を有するクライアントビュー空間を生成するステップと、
生成された前記クライアントビュー空間に基づいてレンダリングされたグラフィックスを、クライアント表示装置に表示するステップと、
を備えることを特徴とする記録媒体。 - 前記クライアントビュー空間は、前記ビュー状態情報を送信したサーバにより生成されたサーバビュー空間からオフセットされた方向で生成されることを特徴とする請求項17に記載の記録媒体。
- 前記クライアント表示装置は、前記サーバ表示装置に対する物理的な方向を有し、
前記サーバビュー空間と前記クライアントビュー空間との間の方向のオフセットは、前記クライアント表示装置の相対的な物理的な方向に基づいて決定される
ことを特徴とする請求項18に記載の記録媒体。 - 前記方法は、前記クライアント表示装置の相対的な物理的な方向に基づいて前記方向のオフセットを決定するために、較正ルーチンを実行するステップを更に備えることを特徴とする請求項19に記載の記録媒体。
- 第1の表示装置と、第1の計算プラットフォームを含み、前記第1の計算プラットフォームは、ワールド空間を生成し、生成された前記ワールド空間から、前記第1の表示装置に表示するための、第1のビュー錐台をレンダリングする第1のアプリケーションを実行し、前記第1のビュー錐台は前記アプリケーションのワールド空間位置に原点を有するサーバと、
通信リンクを介して前記サーバに接続され、第2の表示装置と、第2の計算プラットフォームを含み、前記第2の計算プラットフォームは、前記ワールド空間位置の送信を受信し、第2のアプリケーションを実行し、前記第2のアプリケーションは、前記ワールド空間を再生成し、再生成された前記ワールド空間から、前記代wの表示装置に表示するための、第2のビュー錐台をレンダリングし、前記第2のビュー錐台は、前記第1のビュー錐台からオフセットされた方向の前記ワールド空間の位置に原点を有するクライアントと、
を備えることを特徴とするマルチディスプレーグラフィクスレンダリングシステム。 - 前記第1及び第2のアプリケーションは、同一のゲーム又はCADアプリケーションであり、
前記第1及び第2のビュー錐台は、前記ワールド空間の位置から同一のワールドシーンの別個の部分を表現し、
前記第2のビュー錐台は、前記第1のビュー錐台を重ならない
ことを特徴とする請求項21に記載のシステム。 - 前記第2の表示装置は、前記第1の表示装置に対して物理的な方向を有し、
前記第1のビュー錐台と前記第2のビュー錐台との間の方向のオフセットは、第2の表示装置の相対的な物理的な方向に基づく
ことを特徴とする請求項22に記載のシステム。 - 前記第1のビュー錐台は、20度から50度までの視野を有することを特徴とする請求項23に記載のシステム。
- 前記第2のビュー錐台は、前記第1のビュー錐台と等しい視野を有し、
前記第1のビュー錐台と前記第2のビュー錐台との間の方向のオフセットは、前記視野の2倍未満であることを特徴とする請求項24に記載のシステム。 - 前記第2の表示装置は、前記第1の表示装置の左に40度から50度まで物理的に配向されており、
前記視野は、ほぼ25度であり、
前記第2のカメラビューは、前記第1のカメラビューから50度未満の方向にオフセットされる
ことを特徴とする請求項25に記載のシステム。 - 通信リンクを介して前記サーバに接続された複数のクライアントを更に備え、
それぞれのクライアントは、
クライアント表示装置と、
前記サーバから前記ワールド空間の位置の送信を受信し、クライアントアプリケーションを実行するクライアント計算プラットフォームを含み、
前記クライアントアプリケーションは、前記ワールド空間の位置に原点を有するクライアントビュー錐台を生成し、それぞれのクライアントビュー錐台は、前記第1のビュー錐台から異なる量のオフセットの方向を有し、それぞれのクライアントは、前記クライアント表示装置に表示するための前記クライアントビュー錐台をレンダリングする
ことを特徴とする請求項21に記載のシステム。 - 前記複数のクライアントは、前記第2の表示装置の左に物理的に配向された第3の表示装置を有する第3のクライアントを含み、
前記第3の表示装置は、前記第1のビュー錐台から、前記第1及び第2のビュー錐台の間の方向のオフセットよりも大きな第2の方向のオフセットを有する第3のビュー錐台を表示する
ことを特徴とする請求項27に記載のシステム。 - 前記サーバ及び複数のクライアントは、前記ワールド空間の位置から120度より大きい有効視野を生成することを特徴とする請求項27に記載のシステム。
- 前記第1及び第2の計算プラットフォームはゲームコンソールであり、
通信リンクはローカルエリアネットワーク(LAN)のリンクであり、
前記サーバは、前記LANに接続された全てのクライアントに、信頼できない伝送プロトコル(UDP)を用いて送信されるブロードキャストメッセージとともに、前記ワールド空間の位置を送信する
ことを特徴とする請求項21に記載のシステム。 - 前記第1及び第2の計算プラットフォームのうち、前記第1の計算プラットフォームのみが、前記第1及び第2のビュー錐台の双方を制御するように構成されたコントローラに接続することを特徴とする請求項21に記載のシステム。
- 第1の計算プラットフォームによりワールド空間を生成するステップと、
生成された前記ワールド空間から、ワールド空間の位置における原点及びワールド空間の方向を有する第1のビュー錐台を生成するステップと、
前記第1のビュー錐台を、前記第1の計算プラットフォームに接続された第1の表示装置に表示するステップと、
前記ワールド空間の位置及びワールド空間の方向を、第2の計算プラットフォームに、通信リンクを介して送信するステップと、
前記第2の計算プラットフォームにおいて、前記ワールド空間を再生成するステップと、
再生成されたワールド空間から、前記ワールド空間の位置における原点及び前記第1のビュー錐台からオフセットされた方向を有する第2のビュー錐台をレンダリングするステップと、
前記第2のカメラビューを第2の表示装置に表示するステップと、
を備えることを特徴とするマルチディスプレーグラフィクスレンダリング方法。 - 前記第2の計算プラットフォームに格納された、前記第1のビュー錐台と第2のビュー錐台との間の方向のオフセットを示す設定情報にアクセスするステップと、
再生成された前記ワールド空間から前記第2のビュー錐台をレンダリングするために、前記ワールド空間の方向に前記方向のオフセットを適用するステップと、
を更に備えることを特徴とする請求項32に記載の方法。 - 前記ワールド空間は、前記第1の計算プラットフォームにおいて実行されるゲーム又はCADアプリケーションにより生成され、
前記ワールド空間は、前記第2の計算プラットフォームにおいて実行される同一のゲーム又はCADアプリケーションにより再生成される
ことを特徴とする請求項32に記載の方法。 - 前記第1の計算プラットフォームにおいて実行される前記アプリケーションにより生成される全てのワールド空間のオブジェクトの内部状態をスキャンするステップと、
前記内部状態を前記第2の計算プラットフォームに送信するステップと、
を更に備えることを特徴とする請求項34に記載の方法。 - 前記ワールド空間の位置又はワールド空間の方向を偏向するためのビュー制御コマンドを受信するステップと、
受信した前記ビュー制御コマンドに応じて、前記第1のビュー錐台を再レンダリングするステップと、
前記通信リンクを介して、偏向されたワールド空間の位置又はワールド空間の方向を受信し、それに応じて、前記第2のビュー錐台を再レンダリングするステップと、
を更に備えることを特徴とする請求項32に記載の方法。 - 実行されたとき、処理システムに方法を実行させる命令のセットを格納したコンピュータ読み取り可能な記録媒体であって、
前記方法は、
ワールド空間を生成するステップと、
生成された前記ワールド空間から、遠隔の計算プラットフォームから受信したワールド空間の位置における原点を有し、受信したワールド空間の方向から角度的にオフセットされた有する第1のビュー錐台を生成するステップと、
前記第1のビュー錐台を、第1の表示装置に表示するステップと、
を備えることを特徴とする記録媒体。 - 前記ワールド空間は、前記遠隔の計算プラットフォームから受信されたオブジェクト及びアニメーション情報に基づいて生成されることを特徴とする請求項37に記載の記録媒体。
- 前記第1のビュー錐台と前記遠隔の計算プラットフォームによりレンダリングされた第2のビュー錐台との間の角度のオフセットを示す、格納された設定情報にアクセスするステップと、
再生成された前記ワールド空間から前記第2のビュー錐台をレンダリングするために、受信した前記ワールド空間の方向に前記方向のオフセットを適用するステップと、
を更に備えることを特徴とする請求項37に記載の記録媒体。 - 前記方法は、前記遠隔の計算プラットフォームから、変更されたワールド空間の位置又はワールド空間の方向を受信し、それに応じて前記第1のビュー錐台を再レンダリングするステップを更に備えることを特徴とする請求項37に記載の記録媒体。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/492,883 US20100328354A1 (en) | 2009-06-26 | 2009-06-26 | Networked Computer Graphics Rendering System with Multiple Displays |
| US12/492,883 | 2009-06-26 | ||
| US12/493,008 | 2009-06-26 | ||
| US12/493,008 US8269691B2 (en) | 2009-06-26 | 2009-06-26 | Networked computer graphics rendering system with multiple displays for displaying multiple viewing frustums |
| PCT/US2010/039371 WO2010151511A1 (en) | 2009-06-26 | 2010-06-21 | Networked computer graphics rendering system with multiple displays |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012531668A true JP2012531668A (ja) | 2012-12-10 |
Family
ID=43386847
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012517631A Withdrawn JP2012531668A (ja) | 2009-06-26 | 2010-06-21 | 複数の表示装置を有するネットワーク接続されたコンピュータグラフィックスレンダリングシステム |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP2446431A1 (ja) |
| JP (1) | JP2012531668A (ja) |
| WO (1) | WO2010151511A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017538140A (ja) * | 2014-10-08 | 2017-12-21 | ザ マッキス カンパニー インコーポレイテッド | リアルタイム3d映像多重画面同期化システム |
| KR20220035183A (ko) * | 2019-07-15 | 2022-03-21 | 엠에스지 엔터테인먼트 그룹 엘엘씨 | 복수의 디스플레이 디바이스를 위한 연속적인 가상 공간 제공 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6897234B2 (ja) * | 2017-03-30 | 2021-06-30 | 富士通株式会社 | 情報処理システム、情報処理装置および情報処理方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1992021117A1 (en) * | 1991-05-23 | 1992-11-26 | Atari Games Corporation | Modular display simulator |
| JPH08271979A (ja) * | 1995-01-30 | 1996-10-18 | Hitachi Ltd | 背面投写型マルチスクリーンディスプレイ装置およびそれを用いたディスプレイシステム |
| DE10110358B4 (de) * | 2001-02-27 | 2006-05-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Anordnung und Verfahren zur räumlichen Visualisierung |
-
2010
- 2010-06-21 WO PCT/US2010/039371 patent/WO2010151511A1/en not_active Ceased
- 2010-06-21 JP JP2012517631A patent/JP2012531668A/ja not_active Withdrawn
- 2010-06-21 EP EP10792556A patent/EP2446431A1/en not_active Withdrawn
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017538140A (ja) * | 2014-10-08 | 2017-12-21 | ザ マッキス カンパニー インコーポレイテッド | リアルタイム3d映像多重画面同期化システム |
| KR20220035183A (ko) * | 2019-07-15 | 2022-03-21 | 엠에스지 엔터테인먼트 그룹 엘엘씨 | 복수의 디스플레이 디바이스를 위한 연속적인 가상 공간 제공 |
| JP2022541177A (ja) * | 2019-07-15 | 2022-09-22 | エムエスジー エンターテインメント グループ, エルエルシー | 複数のディスプレイデバイスのための連続した仮想空間の提供 |
| JP7522181B2 (ja) | 2019-07-15 | 2024-07-24 | エムエスジー エンターテインメント グループ, エルエルシー | 複数のディスプレイデバイスのための連続した仮想空間の提供 |
| US12143559B2 (en) | 2019-07-15 | 2024-11-12 | Sphere Entertainment Group, Llc | Providing a contiguous virtual space for a plurality of display devices |
| KR102861236B1 (ko) | 2019-07-15 | 2025-09-17 | 스피어 엔터테인먼트 그룹 엘엘씨 | 복수의 디스플레이 디바이스를 위한 연속적인 가상 공간 제공 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2010151511A1 (en) | 2010-12-29 |
| EP2446431A1 (en) | 2012-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7538284B2 (ja) | マルチサーバクラウド仮想現実(vr)ストリーミング | |
| US8269691B2 (en) | Networked computer graphics rendering system with multiple displays for displaying multiple viewing frustums | |
| US11413525B2 (en) | Device for interfacing with a computing program using a projected pattern | |
| JP7411794B2 (ja) | Gpuの1つまたは複数のパラメータを調整するためのシステム及び方法 | |
| JP5756198B2 (ja) | インタラクティブにユーザ制御されたアバターアニメーション | |
| US8882597B2 (en) | Hybrid separable motion controller | |
| US8393964B2 (en) | Base station for position location | |
| US8527657B2 (en) | Methods and systems for dynamically adjusting update rates in multi-player network gaming | |
| US8142288B2 (en) | Base station movement detection and compensation | |
| EP2794039B1 (en) | Directional input for a video game | |
| US8342963B2 (en) | Methods and systems for enabling control of artificial intelligence game characters | |
| JP5746916B2 (ja) | データ処理 | |
| CN113766958A (zh) | 用于通过使用分布式游戏引擎来预测状态的系统和方法 | |
| KR20190134733A (ko) | 분산형 게임 엔진을 사용하기 위한 시스템 및 방법 | |
| WO2011096976A1 (en) | Controller for interfacing with a computing program using position, orientation, or motion | |
| JP5570421B2 (ja) | エンタテイメント装置及び方法 | |
| US20100328354A1 (en) | Networked Computer Graphics Rendering System with Multiple Displays | |
| JP5776954B2 (ja) | 情報処理装置、制御方法、プログラム、記録媒体及び描画システム | |
| JP2012531668A (ja) | 複数の表示装置を有するネットワーク接続されたコンピュータグラフィックスレンダリングシステム | |
| WO2010139984A1 (en) | Device and method of display | |
| JP2012510856A (ja) | マルチポジショナルコントローラによる三次元制御 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20121106 |