(57)【要約】ビデオゲームシステムとのインタラクティビティを制御するためシステムおよび方法が開示される。前記システムは、ゲームコンソールと、複数の握り方向に保持されるように構成されたコントローラとを有する。前記コントローラは、長さ軸に沿って第１端部と第２端部との間に延びるハンドルと、前記第１端部に配置された入力部位と、を更に有する。前記入力部位は、前記入力部位と前記ハンドルの間での相対移動を引き起こす操作を検出するためのセンサを有する。前記検出される操作は、前記長さ軸に関して前記入力部位に与えられるトルクを含む。前記検出された操作が前記ゲームコンソールに中継され、前記ゲームコンソールは前記検出された操作を前記ビデオゲームの制御に相関させる。前記ゲームシステムは、ローカルゲームコンソールすなわち前記ゲームコンソール（または、コンピューティングデバイス）によって主として実行されるか、あるいは、主な実行を処理するために、インターネットを介してリモートサーバと通信することができる。また、前記処理は、マルチユーザゲーム、通信またはインタラクティブなアプリケーションにおいて、インタラクティブなアプリケーションに接続されている１人以上のユーザのために行われてもよい。ビデオゲームシステムとのインタラクティビティを制御するためのシステムおよび方法が開示される。前記システムは、ゲームコンソールと、複数の握り方向に保持されるように構成されたコントローラとを有する。前記コントローラは長さ軸に沿って第１端部と第２端部との間に延びるハンドルと、前記第１端部に配置された入力部位と、を更に有する。前記入力部位は、前記入力部位と前記ハンドルの間での相対移動を引き起こす操作を検出するためのセンサを有する。前記検出される操作は、前記長さ軸に関して前記入力部位に与えられるトルクを含む。前記検出された操作が前記ゲームコンソールに中継され、前記ゲームコンソールは前記検出された操作を前記ビデオゲームの制御に相関させる。前記ゲームシステムは、ローカルゲームコンソールすなわち前記ゲームコンソール（または、コンピューティングデバイス）によって主として実行されるか、あるいは、主な実行を処理するために、インターネットを介してリモートサーバと通信することができる。また、前記処理は、マルチユーザゲーム、通信またはインタラクティブなアプリケーションにおいて、インタラクティブなアプリケーションに接続されている１人以上のユーザのために行われてもよい。
2012510856.tif 000002
【特許請求の範囲】
【請求項１】
ビデオゲームを制御するためのシステムであって、ゲームクライアントと、複数の握り方向に保持されるように構成されたコントローラと、を有し、
前記コントローラは、長さ軸に沿って第１端部と第２端部との間に延びるハンドルと、前記第１端部に配置された入力部位と、を有し、
前記入力部位は、前記入力部位と前記ハンドルの間での相対移動を引き起こす、前記長さ軸に関して前記入力部位に与えられるトルクを含む操作を測定するためのセンサを備え、
前記検出された操作が前記ゲームクライアントに送信され、前記ゲームクライアントは前記検出された操作を前記ビデオゲームの制御に相関させるシステム。
【請求項２】
前記操作は、前記長さ軸に沿って前記入力部位に与えられる引張力を更に含む請求項１に記載のシステム。
【請求項３】
前記操作は、前記長さ軸に沿って前記入力部位に与えられる圧縮力を含む請求項２に記載のシステム。
【請求項４】
前記コントローラは、前記コントローラが前記複数の握り方向のいずれで動作しているかを自動的に決定するためのセンサを更に有する請求項１に記載のシステム。
【請求項５】
前記コントローラは土台となる表面がなくても機能する請求項４に記載のシステム。
【請求項６】
前記コントローラの片手操作により、前記入力部位が前記ハンドルに対して操作される請求項５に記載のシステム。
【請求項７】
前記コントローラの両手操作により、前記入力部位が前記ハンドルに対して操作される請求項５に記載のシステム。
【請求項８】
前記コントローラは土台となる表面と共に機能し、前記入力部位は前記土台となる表面と接触し、前記ハンドルが前記土台となる表面に対して操作される請求項４に記載のシステム。
【請求項９】
前記入力部位はシャフトを有し、前記シャフトは前記入力部位に与えられるトルクを検出するためのシャフトエンコーダを更に有する請求項１に記載のシステム。
【請求項１０】
前記入力部位に関連する前記センサは、前記入力部位に与えられるトルクを検出するように構成されたポテンショメータを有する請求項１に記載のシステム。
【請求項１１】
前記ゲームクライアントは、主としてローカルに命令を処理するか、あるいはインターネットに接続されたサーバで命令を処理する請求項１に記載のシステム。
【請求項１２】
ゲームコンソールに入力を提供するための方法であって、
前記ゲームコンソール用のコントローラを作動させるステップであって、前記コントローラは、複数のコントローラインタフェースを介して入力を検出し、前記複数のコントローラインタフェースは、前記コントローラのさまざまな握り方向での操作を可能にし、前記複数のコントローラインタフェースの１つが入力部位に与えられるトルクを検出するステップと、
前記コントローラの向きを検出し、前記検出した向きから、前記複数のコントローラインタフェースのいずれが動作しているかを決定するステップと、
前記コントローラと前記ゲームコンソールの間で通信を開始するステップと、
前記コンソールの状態を受信するステップと、
前記受信した前記コンソールの状態および前記検出した前記コントローラの向きに基づいて、前記前記コントローラインタフェースの機能をマッピングするステップと、
前記マッピングしたコントローラインタフェースを介して入力を受信するステップと、
前記受信した入力を前記ゲームコンソールに送信するステップと、
前記受信した入力を、前記ゲームコンソールを介して実行中のコンピュータプログラムの制御と相関させるステップとを、有する方法。
【請求項１３】
前記入力部位に与えられる引張力の検出が、前記複数のコントローラインタフェースの別のインタフェースである請求項１２に記載の方法。
【請求項１４】
前記入力部位に与えられる圧縮力の検出が、前記複数のコントローラインタフェースの別のインタフェースである請求項１３に記載の方法。
【請求項１５】
前記コントローラは片手を使用して操作される請求項１４に記載の方法。
【請求項１６】
前記コントローラは両手を使用して操作される請求項１４に記載の方法。
【請求項１７】
前記ゲームコンソールを介した実行は、主に前記ゲームコンソールでローカルに実行を提供するか、または、ゲームサーバで行われ、前記ゲームサーバが表示およびローカル制御のために処理された命令を前記ゲームコンソールに伝達する請求項１２に記載の方法。
【請求項１８】
インタラクティブなゲームコンソール制御システムであって、
プログラム命令を実行するためのプロセッサと、コンソール通信ハードウェアゲームコンソールと、を備えたゲームコンソールを有し、
前記ゲームコンソールと組み合わされたコントローラを有し、前記コントローラは、長さ軸に沿って第１端部と第２端部との間に延びるハンドルを有し、前記コントローラは、前記ハンドルの前記第１端部の近くに存在し、前記ハンドルに対して移動可能な入力部位と、前記長さ軸に関して前記入力部位に与えられるトルクを検出するためのセンサとを更に有し、前記コントローラは、コントローラ通信ハードウェアを更に有し、
前記コントローラ通信ハードウェアは、前記ハンドルに対する前記入力部位の移動に関連するセンサデータを前記コンソール通信ハードウェアに送信するように構成され、前記プロセッサは、前記受信したセンサデータを、実行中の前記プログラム命令とのインタラクションと相関させるインタラクティブなゲームコンソール制御システム。
【請求項１９】
前記入力部位は実質的に球形である請求項１８に記載のインタラクティブなゲームコンソール制御システム。
【請求項２０】
前記トルクは、前記ゲームコンソールによって処理され、前記プログラム命令によって実行されている現在のインタラクティブなアクティビティに基づいて調整される請求項１８に記載のインタラクティブなゲームコンソール制御システム。
【請求項２１】
前記調節はギアリングによって制御され、前記ギアリングは、前記プログラム命令、ユーザ入力、または、前記プログラム命令の組み合わせの１つによって起動可能であり、前記ユーザ入力およびインタラクションアクティビティの状態は、前記プログラム命令によって実行される請求項１８に記載のインタラクティブなゲームコンソール制御システム。
【請求項２２】
プライマリ実行プロセッサとして機能するゲームサーバを更に有し、前記ゲームコンソールはセカンダリ実行プロセッサとして機能する請求項１８に記載のインタラクティブなゲームコンソール制御システム。
【請求項２３】
セカンダリ実行プロセッサとして機能するゲームサーバを更に有し、前記ゲームコンソールはプライマリ実行プロセッサとして機能する請求項１８に記載のインタラクティブなゲームコンソール制御システム。
【発明の詳細な説明】
【背景技術】
【０００１】
ビデオゲーム産業は、長年にわたって多くの変化を経験してきた。演算能力が拡大するにつれ、ビデオゲームの開発者も同様に、この演算能力の増大を利用するゲームソフトウェアを作成してきた。このために、ビデオゲームの開発者は、極めてリアルなゲーム体験を生み出すべく、高度な演算と数学を採用したゲームをコーディングしてきた。
【０００２】
ゲームプラットホームの例に、ソニープレイステーション（登録商標）、ソニープレイステーション２（登録商標）（ＰＳ２）およびソニープレイステーション３（登録商標）（ＰＳ３）があり、これらはそれぞれ、ゲームコンソールの形で販売されている。周知のように、ゲームコンソールはモニタ（通常はテレビ）と接続されて、手持ち式のコントローラによってユーザとのインタラクションを可能にするように設計されている。ゲームコンソールは、ＣＰＵ、処理量の多いグラフィック操作のためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトルユニットなどの特化した処理ハードウェアと、その他の繋ぎとなるハードウェアすなわちグルーハードウェア、ファームウェアおよびソフトウェアなどを備えて設計される。また、ゲームコンソールは、ゲームコンソールによるローカルプレイを行うためにゲームのコンパクトディスクを受け容れるための光ディスクトレイを備えて設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒に対話的にプレイすることができるオンラインゲームも可能である。ゲームの複雑さがプレーヤの興味を引き続けていることから、ゲームおよびハードウェアのメーカは更なるインタラクティブ機能（インタラクティビティ）およびコンピュータプログラムを実現するために革新を続けてきている。
【０００３】
コンピュータゲーム業界においては、ユーザとゲームシステム間のインタラクションを増やすゲームを開発する傾向が広がっている。より多くのインタラクティブな体験を実現する１つのやり方として、プレーヤの動きをトラッキングして、この動きをゲームの入力として使用するために、ゲームシステムによって移動がトラッキングされる無線ゲームコントローラを使用する方法がある。一般的にいうと、ジェスチャ入力とは、コンピューティングシステム、ビデオゲームコンソール、インテリジェント家電などの電子装置を、物体をトラッキングするビデオカメラがキャプチャした何らかのジェスチャに反応させることを指す。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、仮想世界中のアバターの現実に近い制御は困難なことがある。仮想世界が、より没頭しやすいものとなり、三次元空間により近づくにつれ、仮想世界の物体の現実に近い制御の実現が課題となりうる。
【０００５】
本発明の実施形態は、この状況においてなされたものである。
【課題を解決するための手段】
【０００６】
概して、本発明は、マルチポジショナル（多姿勢）コントローラによる三次元制御を可能にする。マルチポジショナルコントローラは、各種のアプリケーションおよびシミュレーションの制御を可能にし、三次元コントローラは、ゲームクライアントを介して実行中のコンピュータプログラムの結果である二次元レンダリングおよび三次元レンダリングと対話するための直観的なインタフェースを提供する。
【０００７】
一実施形態では、ゲームクライアントは、オンラインのインタラクティブなゲームプレイを実現するための、インターネットに接続可能な専用のゲームコンソールである。このような実施形態では、ゲームクライアントは、インタラクティブなエンタテインメントを表現するために、ローカルに記憶されているプログラムを実行する。別の実施形態では、ゲームクライアントは、インターネットを介してサーバ処理に接続されている。この実施形態では、ゲームクライアントは、プログラムの記憶および処理がリモートサーバで実行される端末に類する。
【０００８】
前記マルチポジショナルコントローラは、入力行うための特徴的部分である入力フィーチャ（input feature）としての入力部位と、ハンドルに対する前記入力部位の移動を検出可能にするセンサとを有する。一実施形態では、前記ハンドルの長さに直交する向きに与えられるトルクによって引き起こされる前記入力部位の移動が検出される。同様に、前記ハンドルに向かうか、あるいは前記ハンドルから離れる前記入力部位の相対移動も検出されうる。
【０００９】
一実施形態では、ビデオゲームを制御するためのシステムが開示される。前記システムは、ゲームクライアントと、複数の握り方向に保持されるように構成されたコントローラとを有する。前記コントローラは長さ軸に沿って第１端部と第２端部との間に延びるハンドルと、前記第１端部に配置された入力部位と、を更に有する。前記入力部位は、前記入力部位と前記ハンドルの間での相対移動を引き起こす操作を検出するためのセンサを有する。前記検出される操作は、前記長さ軸に関して前記入力部位に与えられるトルクを含む。前記検出された操作が前記ゲームクライアントに中継され、前記ゲームクライアントは前記検出された操作を前記ビデオゲームの制御に相関させる。
【００１０】
別の実施形態では、ゲームコンソールに入力を提供するための方法が提供される。前記方法は、前記ゲームコンソール用のコントローラを動作させるための操作を有する。前記コントローラは、複数のコントローラインタフェースを介して入力を検出するように構成されている。前記複数のコントローラインタフェースにより、前記コントローラがさまざまな握り方向で動作可能となる。前記複数のコントローラインタフェースの１つは、入力部位に与えられるトルクを検出する。別の操作では、前記コントローラの向きが検出される。前記検出した向きから、前記複数のコントローラインタフェースのいずれが動作しているかが決定される。別の操作では、前記コントローラと前記ゲームコンソールとの間で通信が開始される。更に別の操作は、前記コンソールの状態を受信し、前記受信した前記コンソールの状態および前記検出した前記コントローラの向きに基づいて、コントローラインタフェースの機能をマッピングする。別の操作は、前記マッピングしたコントローラインタフェースを介して入力を受信し、前記受信した入力を前記ゲームコンソールに送信する。別の操作では、前記受信した入力が、前記ゲームコンソールによって実行中のコンピュータプログラムの制御と相関される。
【００１１】
更に別の実施形態では、インタラクティブなゲームコンソール制御システムが開示される。前記ゲームコンソールは、プログラム命令を実行するためのプロセッサと、コンソール通信ハードウェアとを有する。更に、コントローラが、前記ゲームコンソールと組み合わされる。前記コントローラは、長さ軸に沿って第１端部と第２端部との間に延びるハンドルを有する。前記コントローラは、前記ハンドルの前記第１端部の近くに存在し、前記ハンドルに対して移動可能な入力部位を更に有する。前記コントローラは、コントローラ通信ハードウェアと、前記長さ軸に関して前記入力部位に与えられるトルクを検出するためのセンサと、を有する。前記コントローラ通信ハードウェアは、前記ハンドルに対する前記入力部位の移動に関連するセンサデータを前記コンソール通信ハードウェアに送信するように構成され、前記プロセッサは、前記受信したセンサデータを、実行中の前記プログラム命令とのインタラクションと相関させる。前記ゲームシステムは、ローカルゲームコンソールすなわち前記ゲームコンソール（または、コンピューティングデバイス）によって主として実行されるか、あるいは、主な実行を処理するために、インターネットを介してリモートサーバと通信することができる。また、前記処理は、マルチユーザゲーム、通信またはインタラクティブなアプリケーションにおいて、インタラクティブなアプリケーションに接続されている１人以上のユーザのために行われてもよい。
【００１２】
本発明の他の態様および利点は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態による、コントローラを操作しているユーザＡのほか、ゲームコンソールおよびモニタを含む場面の例示的な図である。
【図２Ａ】本発明の一実施形態によるコントローラの各種図である。
【図２Ｂ】本発明の一実施形態によるコントローラの各種図である。
【図２Ａ−１】本発明の一実施形態によるコントローラの各種図である。
【図３Ａ】本発明の一実施形態による、コントローラの片手操作の一方法を示す。
【図３Ｂ】本発明の一実施形態による、コントローラの片手操作の一方法を示す。
【図３Ｃ】本発明の一実施形態による、コントローラの片手操作の一方法を示す。
【図４Ａ】本発明の一実施形態による、コントローラの片手操作の別法を示す。
【図４Ｂ】本発明の一実施形態による、コントローラの片手操作の別法を示す。
【図４Ｃ】本発明の一実施形態による、コントローラの片手操作の別法を示す。
【図５Ａ】本発明の一実施形態による、コントローラの両手操作の方法を示す。
【図５Ｂ】本発明の一実施形態による、コントローラの両手操作の方法を示す。
【図５Ｃ】本発明の一実施形態による、コントローラの両手操作の方法を示す。
【図６】本発明の一実施形態による、入力部位に与えられるさまざまな力と、ハードウェアによって検出される対応する力とを示す例示的な図である。
【図７】本発明の一実施形態による、入力部位に与えられるトルクの関数としての、測定したさまざまな応力を示す図である。
【図８Ａ】本発明の一実施形態による、入力部位によるコントローラの操作を示す例示的なフローチャートである。
【図８Ｂ】本発明の一実施形態による、コントローラがユーザ入力を受信した際に実行される追加の操作を示す例示的なフローチャートである。
【図９】本発明の一実施形態による、コントローラの位置を決定するために使用されうるハードウェアおよびユーザインタフェースを示す説明図。
【図１０】本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す説明図。
【図１１】本発明の一実施形態による、インターネットを介してサーバ処理に接続されたゲームクライアントとインタラクションを行っているそれぞれのユーザＡ〜ユーザＥを含む場面Ａ〜場面Ｅの説明図。
【発明を実施するための形態】
【００１４】
本発明とその更なる利点とは、添付の図面を参照して以下の記載を読めば、よりよく理解できるであろう。
【００１５】
ゲームコンソールによって実行されるコンピュータ生成インタラクティビティを制御するための、マルチポジショナル三次元コントローラのための発明が開示される。本明細書にわたり、「ゲームコンソール」および「ゲームクライアント」との文言は交換可能に使用されてもよい。ゲームコンソールとゲームクライアントはいずれも、マルチメディアコンピューティングシステムまたはエンタテインメントハブとして広く解釈されるべきである。このため、ゲームコンソールとゲームクライアントの両方は、ファイル管理と、アプリケーション（限定するものではないが、ウェブブラウザ、映画、録音および写真などのマルチメディア再生）の実行とを可能にするオペレーティングシステムを有し、インタラクティブなビデオゲーム、通信、オンラインビデオまたはテキストチャットなどのレンダリング、あるいは表現を行うためのコードを実行できる能力を備える。
【００１６】
ゲームコンソールの実施形態では、コンソールは、インターネット接続を有さない、インタラクティブなビデオゲームを記憶、実行および表現することできるスタンドアロンデバイスとしてみなすことができる。ゲームクライアントの実施形態では、サーバ処理が前記インタラクティブなビデオゲームを記憶、実行および表現する役割を担うため、ゲームクライアントは、サーバ処理へのインターネット接続に依存している。コントローラは、コントローラの操作と処理の柔軟性を提供するために、マルチプルポジション、あるいは複数の姿勢で使用するために構成されている。また、コントローラを複数の姿勢で使用することができるため、アプリケーションおよびゲームの開発者は革新的で、従来の枠にとらわれない制御方式を自由に実装できるようになる。
【００１７】
一実施形態では、この三次元コントローラは、ハンドルに対する入力フィーチャ、あるいは、入力を行うための入力部位の移動を検出可能にするセンサを有する。ハンドルに対する入力部位の移動は、ハンドルの長さに直交する軸を中心として入力部位に与えられるトルクの検出を含む。コントローラは、コントローラがハンドルに向かうか、あるいはハンドルから離れたときに、入力部位の移動を検出可能にするセンサを更に有する。ユーザとコントローラ間のインタラクティビティの向上により、プログラマは、ゲームコンソールによって実行中のコンピュータプログラムに、よりリアルで独創的な制御方式を使用することが可能となる。更に、コントローラは複数の姿勢または構成で操作できるため、入力部位を片手、両手のいずれでも操作することができる。
【００１８】
図１は、本発明の一実施形態による、コントローラ１００を操作しているユーザＡのほか、ゲームコンソール１０３とモニタ１０６とが存在する場面１０１の例示的な図である。モニタ１０６は、ゲームコンソール１０３からのビデオ出力を表示する。ユーザＡは、コントローラ１００を使用してゲームコンソール１０３と対話して、モニタに表示されるインタラクティビティ、グラフィック、メディアなどを制御する。一実施形態では、モニタ１０６は、ゲームコンソール１０３からの音声出力も再生可能なテレビジョンである。別の実施形態では、のめり込むようなマルチメディア体験を作り出すために、ゲームコンソール１０３からの音声出力が複数台のスピーカを使用して再生される。
【００１９】
一実施形態では、コントローラ１００は、限定するものではないが、ブルートゥースまたはＩＥＥＥ８０２．１１規格に規定されているプロトコルの１つなどの無線通信プロトコルを使用してゲームコンソール１０２と通信する。図１には、コントローラ１００を持っている１人のユーザＡしか図示していないが、ゲームコンソール１０３は、複数のユーザが操作する複数台のコントローラからのユーザ入力を受信および処理することができる。
【００２０】
図２Ａ，２Ｂ，２Ａ−１は、本発明の一実施形態によるコントローラ１００の各種図である。図２Ａは、コントローラ１００の正面図である。コントローラ１００は、第１端部１１６と第２端部１１８との間に存在するハンドル１０２を有する。第１端部１１６と第２端部１１８とは、長さ軸１２０を規定している。第１端部１１６に入力部位１０４が設けられている。一実施形態では、入力部位１０４はハンドル１０と一体化されている。別の実施形態では、入力部位１０４は、ハンドル１０２とは独立して操作することができる。コントローラ１００の前面に入力群１１５が存在している。図の実施形態では、入力群１１５は、×、○、□、△のマークの付いた４つのボタンを有する。これらのボタンは、ゲームコンソールへの入力のさまざまな制御態様にマッピングされていてもよい。例えば、一実施形態では、「×」ボタンの押下が、画面上でハイライト表示されている項目の選択にマッピングされている。別の実施形態では、「×」ボタンが、戦闘ゲームでキック動作を開始したり、または、一人称シューティングゲームで武器を発射するために使用されてもよい。入力群１１５の他のボタンも、ゲームコンソールのインタラクティブなビデオゲームあるいは他の態様内のさまざまな機能を実行するため同様にマッピングされてもよい。
【００２１】
コントローラ１００の前面には、ジョイスティック１１４が更に備えられている。一部実施形態では、ジョイスティック１１４は、画面上のカーソルを操作するなど、ゲームコンソールの態様を制御するために使用される。別の実施形態では、ジョイスティックは、画面上のアバターの移動または動作を制御するために使用される。ハンドル１０２の第２端部１１８にはトラックボール１１０が設けられている。トラックボール１１０は例に過ぎず、コントローラ１００の別の実施形態では、トラックボール１１０の代わりに別の入力デバイスが設けられてもよい。更に別の実施形態では、トラックボール１１０は、入力群１１５と同様のボタン群などの他の入力デバイスと交換可能なモジュール式の部品である。
【００２２】
図２Ｂは、本発明の一実施形態によるコントローラ１００の側面図である。「□」のマークの付いた入力群１１５のボタンと、ジョイスティック１１４とが図示されている。この側面図には、ハンドル１０２の第１端部１１６のほうに存在するトリガ１０８ａとトリガ１０８ｂとも更に図示されている。図２Ａ−１は、図２Ａの断面線２Ａ−１におけるコントローラ１００の簡略断面図である。図２Ａ−１の簡略断面図は、一実施形態では、入力部位１０４が転回点１２２を中心に動くように構成されていることを示す。また、この断面図にはハードウェア１１２も図示されている。ハードウェア１１２は、コントローラ１００内のセンサ、プロセッサ、バッテリおよび無線部品などのハードウェアを簡略的に表すが、これらのハードウェアに限定されない。例えば、ハードウェア１１２には、ユーザ入力をゲームコンソールに送信するための無線部品が含まれている。同様に、ジョイスティック１１４および入力群１１５に関連するセンサおよびプロセッサも、ハードウェア１１２に存在する。更に、ハードウェア１１２には、ジャイロスコープ、加速度計、磁力計などのモーション検出センサが含まれており、これらのセンサは、三次元空間内でのコントローラ１００の相対移動および向きの決定に使用される。
【００２３】
図３Ａ〜３Ｃは、本発明の一実施形態による、コントローラ１００の片手操作の一方法を示す。図３Ａは、ユーザの４本の指がハンドル１０２を握り、親指を入力部位１０４に置いている「棒キャンディモード」に保持されているコントローラ１００を示す。コントローラ１００内部のモーション検出センサは、コントローラ１００の向きを決定し、コントローラの各種態様を自動的にオン／オフさせることができる。例えば、コントローラの構成に応じて、ジョイスティック、ボタン入力またはトリガが自動的にオン／オフされうる。しかし、別の実施形態では、アプリケーション開発者が、既にオフになっている入力に対して特定の制御をマッピングしているため、特定のアプリケーションでは特定の入力のオフが無効にされてもよい。図３Ｂはコントローラ１００の側面図、図３Ｃはコントローラ１００の正面図である。図３Ｂと図３Ｃとは共に、入力部位１０４を片手操作で操作して、三次元環境内でピッチ、ヨーおよびロールを制御する方法を示す。コントローラ１００が二次元アプリケーション内で使用される実施形態では、さまざまな入力部位が、二次元アプリケーションの他の項目または態様を制御するためにマッピングされ得る。
【００２４】
図３Ｂに示す側面図では、入力部位１０４が、親指によって方向３０２−１および方向３０２−２に操作される一部実施形態では、方向３０２−１または方向３０２−２への移動が、制御対象の画面上のアバターまたは物体のピッチを制御するためにマッピングされる。入力部位１０４の方向移動に関して述べる制御のタイプ（ピッチ、ヨーまたはロール）は制御の１つのタイプを例示するものであり、限定であると解釈すべきではない。ここに示す例は、二次元空間または三次元空間内で物体を制御するために、入力部位１０４がユーザ入力を受信することができることを例示するものである。ソフトウェア開発者は、アプリケーションに必要な制御のタイプに基づいて、ユーザ入力と、画面上のアバターまたはメニューの制御との間の実際のマッピングをより詳細に指定してもよい。ユーザが、方向３０２−１に動かすために、入力部位１０４に載せた親指を押すと、入力部位１０４が転回点を中心として方向３０２−１に回転する。同様に、親指を方向３０２−２に戻すことにより、入力部位１０４を方向３０２−２に移動させることができる。
【００２５】
図３Ｂの側面図を引き続き参照すると、親指により入力部位１０４を長さ軸１２０を中心として回転させると、トルク３００が発生する。一実施形態では、このトルク３００が、シャフトエンコードを使用して光学的に検出される。別の実施形態では、トルク３００がポテンショメータを使用して検出される。更に別の実施形態では、歪みゲージを使用して、長さ軸１２０を中心として入力部位１０４に与えられたトルク３００が求められる。トルク３００の検出方法を問わず、一実施形態では、トルク３００を使用して、長さ軸１２０を中心とするゲームアバターのロールが制御されうる。別の実施形態では、限定するものではないが、メニュー項目のスクロールやブラウズなど、グラフィカルユーザインタフェース（ＧＵＩ）の各種制御態様にトルク３００が与えられうる。
【００２６】
入力部位１０４に対するトルク３００は、力と方向との両方を有するベクトルであるため、入力部位１０４に与えられた相対力が検出されて、画面上の要素の制御応答を変更するために使用されうる。例えば、トルク３００が、画面上の飛行機アバターのロールを制御するために使用される実施形態では、入力部位１０４に与えられたトルク３００が、飛行機アバターのロール速度を制御する。このため、入力部位１０４に与えられたトルク３００が高くなるほど、飛行機アバターのロール速度が高くなる。同様に、トルク３００がＧＵＩのスクロールの制御に使用される場合には、トルク３００が高いほど、スクロール速度も速くなる。
【００２７】
図３Ｃは、図２Ａに示す図と同様のコントローラ１００の正面図であるが、簡潔を期するために、図２Ａに示したハンドル１０２の制御構造が図３Ｃには図示されていない。この場合も、長さ軸１２０を中心とするロールを制御するために、トルク３００が入力部位１０３に与えられている。また、入力部位を、方向３０４−１と方向３０４−２とに操作することができる。一実施形態では、ゲームコンソールは、入力部位１０４の方向３０４−１への操作を、左ヨーの三次元の移動に相関させる。同様に、入力部位１０４の方向３０４−２への操作が、右ヨーに相関されうる。コントローラ１００がＧＵＩの操作に使用される実施形態では、方向３０４−１と方向３０４−２とが、左水平スクロールと右左水平スクロールとにそれぞれ相関されうる。
【００２８】
図３Ａに示した手の配置が、コントローラ１００の片手の握り方の全ての形態を含むというわけではない。例えば、棒キャンディモードの別の実施形態では、親指と、人さし指（すなわち第二指）とが、入力部位１０４の操作に使用されてもよい。
【００２９】
図４Ａ〜４Ｃは、本発明の一実施形態による、コントローラ１００の片手操作の別法を示す。図４Ａは、入力部位１０４を表面４００に置く「ジョイスティックモード」に保持されているコントローラ１００を示す。ジョイスティックモードでは、入力部位１０４が表面４００に置かれ、ハンドル１０２が、入力部位１０４とハンドル１０２との間で、転回点１２２に対して移動される。表面４００は平坦な面として図示されているが、曲がっていたり、複雑な表面に入力部位１０４が置かれてもよい。モーション検出ハードウェアは、ハンドル１０２の向きと、入力部位１０４に与えられる圧力とに基づいて、コントローラがジョイスティックモードに移行した時点を自動的に検出することができる。ジョイスティックの自動検出により、ハンドル１０２の第２端部に取り付けられている入力要素など、コントローラ１００の各種態様が使用可能となる。同様に、ジョイスティックモードへの自動移行により、限定するものではないが、ハンドルの第１端部の近くの入力群など、コントローラの他の態様を無効にすることができる。
【００３０】
図４Ｂは、本発明の一実施形態による、ジョイスティックモードのコントローラ１００の正面図を示し、図４Ｃは、ジョイスティックモードのコントローラ１００の側面図を示す。簡潔を期するために、ハンドル１０２にはほかの入力が図示されていない。一実施形態では、ハンドル１０２を転回点１２２を中心として方向４０４−１および方向４０４−２に動かすと、右ロールの制御と左ロールの制御とがそれぞれ得られる。同様に、転回点１２２に対してハンドル１０２に与えるトルク４０５は、ヨーの制御に使用される。図４Ｃでは、ハンドル１０２を方向３０２−１および方向３０２−２に動かすと、前方ピッチの制御と後方ピッチの制御とがそれぞれ得られる。また、ハンドル１０２を、方向４０２に示すように表面のほうに押すことができる。一実施形態では、ハンドル１０２に、入力部位１０４に向かう下向きの圧力を与えると、圧縮が発生する。入力部位１０４とハンドル１０２との間に設けたセンサにより、与えられた圧力の変化を検出することができ、これが、コンピュータプログラムの制御にマッピングされ得る。
【００３１】
図５Ａ〜５Ｃは、本発明の一実施形態による、コントローラ１００の両手操作を示す。この実施形態では片方の手に、ハンドル１０２が握られており、もう一方の手で入力部位１０４を操作している。図５Ｂは、コントローラ１００の側面図と、入力部位１０４が、転回点１２２を中心として、ハンドル１０２に対して移動可能な相対方向とを示す。以下の説明では、入力部位１０４の移動に関連する相対移動を、仮想世界内での人間のアバターの移動に関して説明する。下に示す特定の例は、限定を意図するものではない。別の実施形態では、入力部位１０４の同じ相対移動が、仮想世界の物体、カーソル、オペレーティングシステムの操作、ビデオの再生、音声の再生の各種制御や、ゲームコンソールを介したマルチメディア制御の他の態様にマッピングされてもよい。
【００３２】
人間のアバターの例を用いると、入力部位１０４の方向３０２−１および方向３０２−２への移動が検出され、頭のうなずきにマッピングされる。このため、方向３０２−１に移動させると、あごを首に近づけるように、頭が前方にピッチ運動する。逆に、方向３０２−２に移動させると、頭が後方にピッチ運動して、あごが首から離れる。同様に、入力部位に長さ軸１２０を中心として与えられるトルク３００は、頭の左または右への旋回に相関するようにマッピングされ得る。
【００３３】
図５Ｃは、コントローラ１００の正面図であり、入力部位１０４が方向３０４−１と方向３０４−２とに移動可能なことを示す。この場合も人間のアバターの例を用いると、入力部位１０４を方向３０４−１に動かすと、アバターの頭が左に傾く。同様に、入力部位１０４を方向３０４−２に動かすと、アバターの頭が右に傾く。図５Ａ〜５Ｃに示す両手構成では、入力部位１０４は、方向４０２に押すことも引くこともできる。この実施形態では、方向４０２に入力部位１０４に中立圧力を与えると、人間アバターが直立歩行する。入力部位１０４に、ハンドル１０２に向かう圧縮圧力を与えると、アバターがしゃがみ、入力部位１０４を引っ張る、すなわち入力部位１０４をハンドル１０２から離れるように動かすと、アバターがジャンプする。別の実施形態では、ハンドル１０２から離れるように入力部位１０４に張力を与えると、アバターがつま先立ちをするように、アバターの体が上に持ち上がる。
【００３４】
図２Ａ，２Ｂで述べたように、トリガ、ボタン、トラックボールおよびジョイスティックなどの他のさまざまな入力部位をコントローラ１００に実装することができる。図３Ａ〜３Ｃ，４Ａ〜４Ｃ，５Ａ〜５Ｃで説明した実施形態では、入力部位１０４に対するハンドル１０２の移動による入力またはその逆による入力の組み合わせが、あるいは、ボタン、トリガ、ジョイスティックまたはトラックボールによる入力を組み合わせて検出され、各種の異なる制御にマッピングされてもよい。別のタイプの調整として「ギアリング」が挙げられ、これは入力、コマンド、アクション、移動またはトリガへの変化率を動的に変更するように構成される。ギアリングは、プログラムを介してユーザによって、あるいは、コンピュータプログラムとインタフェースする条件に応じて、変更または調整されうる。このため、「力」、「トルク」、「歪み」または他の入力を、ギアリングすることができる。ゲームプレイ環境では、ギアリングは、（ギアリングプロフィルに基づいて）入力を調整するために作用することができ、これにより、変化または制御が、現実に近い方法で滑らかとなるか、あるいは遷移する。ギアリングに関する詳細な情報については、２００６年５月６日出願の米国特許出願第１１／３８２，０３６号「ギアリング効果を視覚的トラッキングに適用するための方法およびシステム（Method and System for Applying Gearing Effects to Visual Tracking）」を参照されたい。上記出願を参照によりここに援用する。
【００３５】
図５Ａ〜５Ｃについて上で説明したように、入力部位１０４の動きが、仮想アバターの動きにマッピングされうる。図２Ｂのトリガ１０８ａ，１０８ｂの使用と、入力部位１０４の動きとを組み合わせることにより、仮想世界アバターの更なる制御が可能となる。
【００３６】
このため、一実施形態では、一方の手で入力部位１０４を操作しながら、ハンドル１０２に一体化されたトリガを、ハンドル１０２を保持している手で押すことができる。このような実施形態では、入力部位１０４を方向３０２−１に動かすとアバターが前に歩き、方向３０２−２に動かすとアバターが後ろ向きに歩く。同様に、トリガを押しながら、入力部位１０４にトルク３００を与えるとアバターが左または右に回り、方向３０４−１または方向３０４−２に動かすと、アバターが左または右に横歩き、または地上掃射する。上に説明した実施形態では、仮想世界内のアバターの動きとアバターの頭の動きとの両方を１つのコントローラによって制御できることにより、シミュレーションのリアリズムを高めることができる。別の実施形態では、一層のめり込みやすく、リアルなシミュレーションを提供するために、図３Ａ〜３Ｃ，図４Ａ〜４Ｃに記載のコントローラ構成の入力を含め、追加の入力の組み合わせが適用されてもよい。
【００３７】
図６は、本発明の一実施形態による、入力部位１０４に与えられるさまざまな力と、ハードウェア１１２によって検出される対応する力とを示す例示的な図である。力Ｆ１は、入力部位１０４に対する垂直方向の力を表す。上で説明したように、Ｆ１などの垂直方向の力は、入力部位１０４がハンドル１０２に向かうか、入力部位１０４がハンドル１０２から離れる力が与えられると検出されうる。一実施形態では、ハードウェア１１２は、Ｆ１を検出するための歪みゲージまたはロードセルを備える。同様に、Ｆ２、Ｆ３などの水平方向の力、および垂直方向の力と水平方向の力との複合力が、追加のロードセルまたは歪みゲージを使用して検出されうる。一実施形態では、ハードウェア１１２は、Ｆ４として示す、長さ軸を中心として入力部位に与えられるトルクを検出するためのシャフトエンコードを備える。この実施形態により、入力部位１０４が長さ軸を中心として自在に回転可能となり、最も端の位置、いわゆるエクストリームポジションで固定されることがなくなる。別の実施形態では、ハードウェア１１２は、長さ軸を中心として入力部位に与えられるトルクを検出するためのポテンショメータを備える。
【００３８】
いずれの実施形態、すなわちトルク検出の場合も、ハードウェア１１２は、複数の方向からの複合力を検出するように構成される。これにより、ハンドルに対する入力部位の移動、またはこの逆の移動の複合移動を検出して、コマンドを制御するために相関させることが可能となる。このため、同時に与えられたＦ３とＦ４などの複合力を検出して、コマンドを制御するために相関させることができる。また、ハードウェア１１２は、与えられているトルクに対する入力部位の抵抗を上げたり下げたりすることができる力フィードバックを備えてもよい。
【００３９】
図７は、本発明の一実施形態による、長さ軸を中心とした入力部位へのトルクとして与えられる、時間の関数としての、測定したさまざまな応力を示す図である。原点は、入力部位にトルクが与えられていない状態を示し、最大歪み限界は、ハードウェアによって測定可能な最大検出トルクを示す。長さ軸を中心として２つの方向にトルクを与えることができるため、図７には２つの最大歪み限界が存在する。トルク曲線７００，７０２，７０４，７０６は、さまざまなタイプのインタラクティブな制御を例示するためのトルク曲線の例である。
【００４０】
例えば、トルク曲線７００は、入力部位にトルクが比較的急速に与えられて、長時間保持された状態を示す。一実施形態では、トルク曲線７００は、ローカルドライブまたはネットワークドライブに記憶されているファイルを高速でスクロールしているユーザを表しうる。例えば、このユーザは、オンラインストアから購入できる音楽ファイルまたは音楽アルバムをスクロールしていてもよい。別の実施形態では、トルク曲線７００は、車または飛行機などの仮想世界の乗り物のスロットル応答に相関される。トルク曲線７０２は、比較的低いトルクを短期間与えた後に、高いトルクの期間を示す。この場合もトルクをＧＵＩの制御に相関させる場合には、比較的低いトルクの期間は低速のスクロールに相関され、高いトルクは高速のスクロールに相関され、最大歪みが与えられたときにスクロール速度が最大値に達する。
【００４１】
トルク曲線７０４は、トルク曲線７００，７０２で与えた方向とは逆方向にトルクが与えられている状態を示す。トルク曲線７０４では、値の低いトルクが比較的ゆっくりと与えられており、これが、ＧＵＩの実施形態では低速のスクロールに相関されうる。別の実施形態では、トルク曲線７０４が、仮想航空機の低いロール速度か、仮想車両でゆっくりとブレーキをかけている状態に相関されうる。トルク曲線７０６では、最初にトルクが第一の方向に急激に与えられたのち、逆方向のトルクが与えられている。この場合も仮想車両のスロットルの制御の例を用いると、トルク曲線７０６は、急加速の期間と、定スロットルの期間と、その後のブレーキとを示す。トルクがＧＵＩを制御する実施形態では、トルク曲線７０６は一方向に閲覧したのち、逆方向に閲覧するように選択する状態を示す。図７のトルク曲線の特定の実施形態は例示であり、上で説明した各種実施形態は限定を意図するものではない。
【００４２】
図８Ａは、本発明の一実施形態による、入力部位によるコントローラの操作を示す例示的なフローチャートである。操作８００はコントローラを作動させ、操作８０２はコントローラの向きを検出する。コントローラがマルチポジショナルに構成されている場合、コントローラの向きの検出が必要となりうる。操作８０４は、検出したコントローラの向きに基づいて、コントローラを初期化する。この操作により、検出したコントローラの向きに基づいて、ボタン、トリガおよびジョイスティックのデフォルト設定を行うことが可能となる。このため、操作８０４が、コントローラが、図２Ａ，２Ｂに示すようなジョイスティックモードに保持されていることを検出した場合、デフォルト設定により入力群１１４が無効にされうる。操作８０６は、コントローラをゲームコンソールに関連付ける。この操作は、コントローラがコンソールと無線でペアとなって組み合わされる実施形態で使用される。この関連付けにより、複数のコントローラを１台のゲームコンソールと組み合わせる場合に発生しうる干渉を最小限に抑えることができる。
【００４３】
操作８０８では、コントローラがゲームコンソールの状態を受信し、操作８１０は、コントローラ入力を、受信したコンソール状態にマッピングする。各種実施形態では、コンソール状態には、ファイルシステムの操作、スタンドアロンまたはネットワーク対応のインタラクティブビデオゲーム、インターネットブラウザ、ソーシャルネットワークインタフェース、ビデオの再生および音声の再生等のアプリケーションの起動などのオペレーティングシステムの機能が挙げられるが、これらに限定されない。上に示したアプリケーションは例示であり、限定することを意図するものではない。一実施形態では、操作８１０の実行により、操作８０４で初期化されたデフォルト設定が無効にされる。これにより、個々のアプリケーションが、アプリケーションの制御を、コントローラへの特定の入力にマッピングすることが可能となる。更に、「ゲームコンソール」との文言は、インタラクティブなビデオゲームを表現するプログラム命令の実行のみならず、一般的な演算、インタラクティビティおよびマルチメディアインタラクティビティの操作および機能も更に含むと解釈すべきである。
【００４４】
操作８１２では、コントローラはユーザからの入力を受信し、操作８１４は、ユーザ入力をゲームコンソールに送信する。操作８１６がコントローラの向きの変化を検出した場合、操作８１８は検出した向きに基づいてコントローラ入力を再マッピングする。操作８１６がコントローラの向きの変化を検出しなかった場合、操作８１２が実行される。
【００４５】
図８Ｂは、本発明の一実施形態による、コントローラがユーザ入力を受信した際に実行される追加の操作を示す例示的なフローチャートである。操作８３０は、個々のコントローラの向きとコンソール状態とに基づいて、作動している各種入力センサから、センサデータを受信する。このセンサデータには、ボタン、トリガ、ジョイスティック、入力部位の相対移動、およびモーションセンサが含まれるが、これらに限定されない。操作８３２は、入力センサデータを調べて、意図的なユーザ入力を探す。この操作は、受信したセンサデータを調べて、意図的なユーザ入力を表すセンサデータの変化を探す。一部の実施形態では、入力が意図的であると認識されるには、ユーザ入力がしきい値を超えている必要がある。わずかな手の動きも必ずしも入力として認識したくはないため、この点は、ジャイロ、磁力計およびポテンショメータ等のモーションセンサから移動を決定する場合に有用なことがある。
【００４６】
操作８３４は、ユーザ入力を解析して、入力センサに与えられている複数の力の成分を決定する。一部の実施形態では、１つの入力センサに与えられている力の成分は１つしか存在しないが、理解しやすいように、複数の入力センサを介して複数の同時に与えられる力の成分を検出するようにコントローラが構成される。入力部位に対し与えられる力は、長さ軸を中心としたトルク、転回点を中心としたモーメント、転回点に向かう圧力、転回点から離れる圧力の組み合わせなどである。また、ボタン、トリガまたはジョイスティックなどの他の入力センサにも同時に力が与えられてもよい。
【００４７】
操作８３６は、それぞれの力の成分を調べて、力の成分を方向ベクトルに分類する。入力環境またはプログラムに合わせた調整を行うために、ギアリングが方向ベクトルに適用されてもよい。操作８３６は、コントローラに力を与えている現実の物理的な動作を、個々の力の成分に分解する。このため、トリガに与えられている力が、ベクトルと、同時に発生する、長さ軸を中心とした入力部位のねじれとに分類される。同様に、加速度計および磁力計などのモーション検出器からのデータが調べられ、コントローラの移動に基づいて力の成分が決定されうる。操作８３８は、操作８３６で求めた方向ベクトルを、ゲームコンソールによって表現される画面上の動作に相関させる。このため、操作８３８は、コントローラで行われる実世界の物理的な動作を、ゲームコンソールの制御態様に相関させる。一実施形態では、この相関は、コントローラのハードウェア内部のプロセッサを使用して行われる。別の実施形態では、ゲームコンソール内のプロセッサが、操作８３８の相関を行う。いずれの実施形態でも、実世界のユーザによって行われる物理的な動作が検出され、ゲームコンソールによって表現される仮想世界の制御に変換される。
【００４８】
図９は、本発明の一実施形態による、三次元コントローラを実装するために互換性を有しうるゲームコンソールであるソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット９００は、システムユニット９００に接続可能なさまざまな周辺機器を備える。システムユニット９００は、Ｃｅｌｌプロセッサ９２８、Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット９２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット９３０を有するＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット９３２、およびＩ／Ｏブリッジ９３４を備える。また、システムユニット９００は、Ｉ／Ｏブリッジ９３４を介してアクセス可能な、ディスク９４０ａおよび着脱可能なスロットインハードディスクドライブ（ＨＤＤ）９３６から読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ９４０も備える。任意選択で、システムユニット９００は、同様にＩ／Ｏブリッジ９３８を介してアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリースティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ９３４も備える。
【００４９】
また、Ｉ／Ｏブリッジ９３４は、６つのユニバーサルシリアルバス（ＵＳＢ）２．０ポート９２４、ギガビットイーサネット（登録商標）ポート９２２、ＩＥＥＥ  ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート９２０、および最大７つのブルートゥース接続に対応可能なブルートゥース（登録商標）無線リンクポート９１８にも接続している。
【００５０】
動作時に、Ｉ／Ｏブリッジ９３４は、１台以上のゲームコントローラ９０２，９０３からのデータを含む、全ての無線、ＵＳＢ、およびイーサネット（登録商標）のデータを処理する。例えば、ユーザがゲームをプレイ中に、Ｉ／Ｏブリッジ１４３４はブルートゥースリンクを介してゲームコントローラ９０２または９０３からデータを受信して、これをＣｅｌｌプロセッサ９２８に転送し、Ｃｅｌｌプロセッサ９２８が適宜ゲームの現在の状態を更新する。
【００５１】
また、無線、ＵＳＢ、およびイーサネット（登録商標）の各ポートを介して、ゲームコントローラ９０２，９０３のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン９０４、キーボード９０６、マウス９０８、ソニープレイステーションポータブル（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス９１０、ＥｙｅＴｏｙ（登録商標）ビデオカメラ９１２などのビデオカメラ、マイクロフォンヘッドセット９１４などがある。このため、これらの周辺機器は、原則としてシステムユニット９００に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス９１０はＷｉ−Ｆｉアドホック接続を介して通信し、マイクロフォンヘッドセット９１４はブルートゥースリンクを介して通信しうる。
【００５２】
これらのインタフェースを提供することにより、プレイステーション３デバイスは、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ＶｏＩＰ電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【００５３】
更に、ＵＳＢポート９２４を介して旧式メモリカードリーダ９１６をシステムユニットに接続することができ、プレイステーション（登録商標）デバイスまたはプレイステーション２（登録商標）で用いられていたタイプのメモリカードの読み出しが可能となる。
【００５４】
本実施形態では、ゲームコントローラ９０２，９０３は、ブルートゥースリンクを介してシステムユニット９００と無線通信するように動作可能である。しかし、その代わりに、ゲームコントローラ９０２，９０３が、ＵＳＢポートに接続されてもよく、これにより、ゲームコントローラ９０２，９０３のバッテリに充電するための電力も供給する。また、ゲームコントローラ９０２，９０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの恒久メモリ、ＬＥＤまたは赤外線灯などの発光素子、超音波通信のためのマイクロフォンおよびスピーカ、アコースティックチェンバ、デジタルカメラ、内部クロック、ゲームコンソールに対向する球形部分等の認識可能な形状、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）などのプロトコルを使用する無線通信も有しうる。
【００５５】
ゲームコントローラ９０２は両手で使用されるように設計されたコントローラであり、ゲームコントローラ９０３は、上で説明したようなマルチポジショナルコントローラである。ゲームコントローラは、１つ以上のアナログジョイスティックおよび従来のコントロールボタンに加えて、三次元位置決定の対象となる。したがって、従来のボタンまたはジョイスティックコマンドに加えて、あるいはこれらの代わりに、ゲームコントローラのユーザが行なったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーション（登録商標）ポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーション（登録商標）ポータブルデバイスの場合、追加のゲーム情報または制御情報（例えば制御命令またはライブの数）が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット（図示せず）、ライトガン（図示せず）、ハンドルおよびペダル（図示せず）、あるいは、即答クイズゲームのための１つまたは複数の大型のボタン（図示せず）などの特注品のコントローラなどがある。
【００５６】
また、リモコン９０４も、ブルートゥースリンクを介してシステムユニット９００と無線通信するように動作可能である。リモコン９０４は、ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ９４０の操作、およびディスクの内容の閲覧のために適した制御を備える。
【００５７】
ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ９４０は、従来の記録済みＣＤ、記録可能ＣＤ、およびいわゆるスーパーオーディオＣＤのほか、プレイステーションデバイスおよびプレイステーション２デバイスと互換のＣＤ−ＲＯＭを読み出すように動作可能である。また、リーダ９４０は、従来の記録済みＤＶＤおよび記録可能ＤＶＤのほか、プレイステーション２デバイスおよびプレイステーション３デバイスと互換のＤＶＤ−ＲＯＭを読み出すように動作可能である。更に、リーダ９４０は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション３デバイスと互換のＢＤ−ＲＯＭを読み出すように動作可能である。
【００５８】
システムユニット９００は、Ｒｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット９３０を介して、プレイステーション３デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ９４４および１つ以上のスピーカ９４６を備えた表示および音声出力デバイス９４２（モニタまたはテレビ受像機など）に提供するように動作可能である。音声コネクタ１は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタは、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、および１つ以上の高品位マルチメディアインタフェース（ＨＤＭＩ）出力またはＤｉｓｐｌａｙＰｏｒｔ出力などを種々備えうる。したがって、ビデオ出力は、ＰＡＬまたはＮＴＳＣ、あるいは７２０ｐ、１０８０ｉまたは１０８０ｐの高解像度などのフォーマットであってもよい。
【００５９】
音声処理（生成、デコードなど）はＣｅｌｌプロセッサ９２８によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（ＤＴＳ）、およびブルーレイディスクからの７．１サラウンドサウンドのデコードに対応している。
【００６０】
本実施形態では、ビデオカメラ９１２は、１つの電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット９００によるデコードのために、イントラ画像ベースのＭＰＥＧ（motion picture expert group）標準などの適切なフォーマットで送信されるようになる。カメラのＬＥＤインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット９００から受け取ると、発光するように配置されている。ビデオカメラ９１２の実施形態は、ＵＳＢ、ブルートゥースまたはＷｉ−Ｆｉの通信ポートを介して、システムユニット９００にさまざまな方法で接続しうる。ビデオカメラの実施形態は、１つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、ＣＣＤは、高解像度のビデオキャプチャに適した分解能を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。別の実施形態では、カメラは、赤外光の検出に適した赤外線カメラである。
【００６１】
一般に、システムユニット９００の通信ポートの１つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェースが、記載する本実施形態で必要とされうることを当業者は理解するであろう。
【００６２】
図１０は、本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す。Ｃｅｌｌプロセッサ９２８は、メモリコントローラ１０６０およびデュアルバスインタフェースコントローラ１０７０Ａ，Ｂを含む外部入出力構造、パワープロセッシングエレメント１０５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）１０１０Ａ〜Ｈと呼ばれる８基のコプロセッサ、エレメント相互接続バス１０８０と呼ばれる上記のコンポーネントに接続している環状データバス、の４つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション２デバイスのモーションエンジンは６．２ギガフロップスであるのに対し、Ｃｅｌｌプロセッサの総浮動小数点演算性能は、２１８ギガフロップスである。
【００６３】
パワープロセッシングエレメント（ＰＰＥ）１０５０は、３．２ＧＨｚの内部クロックで動作し、双方向同時マルチスレッディングＰｏｗｅｒ１４７０準拠のＰｏｗｅｒＰＣコア（ＰＰＵ）１０５５をベースにしている。ＰＰＥ１０５０は、５１２ｋＢのレベル２（Ｌ２）キャッシュと、３２ｋＢのレベル１（Ｌ１）キャッシュとを備える。ＰＰＥ１０５０は、クロックサイクルごとに８つの単一位置操作ができ、これは、３．２ＧＨｚで２５．６ギガフロップスに相当する。ＰＰＥ１０５０の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント１０１０Ａ〜Ｈのコントローラとして機能することにある。動作時に、ＰＰＥ１０５０はジョブキューを保持し、シナジスティックプロセッシングエレメント１０１０Ａ〜Ｈのジョブをスケジューリングしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント１０１０Ａ〜Ｈはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、ＰＰＥ１０５０と同期されることにある。
【００６４】
各シナジスティックプロセッシングエレメント（ＳＰＥ）１０１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）１０２０Ａ〜Ｈおよびメモリフローコントローラ（ＭＦＣ）１０４０Ａ〜Ｈをそれぞれ備え、ＭＦＣ１０４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ）１０４２Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）１０４４Ａ〜Ｈ、およびバスインタフェース（図示せず）をそれぞれ備える。各ＳＰＵ１０２０Ａ〜Ｈは３．２ＧＨｚでクロック供給され、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ１０５０Ａ〜Ｈを備えたＲＩＳＣプロセッサである。各ＳＰＥは、理論的には単精度処理性能で２５．６ギガフロップスを示す。１つのＳＰＵは、１クロックサイクルに、４つの単精度浮動小数点数、４つの３２ビット数、８つの１６ビット整数または１６の８ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。ＳＰＵ１０２０Ａ〜ＨはシステムメモリＸＤＲＡＭ９２６に直接アクセスしない。ＳＰＵ１０２０Ａ〜Ｈが作成した６４ビットアドレスがＭＦＣ１０４０Ａ〜Ｈに渡され、ＭＦＣ１０４０Ａ〜Ｈが、自身のＤＭＡコントローラ１０４２Ａ〜Ｈに対して、エレメント相互接続バス１０８０およびメモリコントローラ１０６０を介してメモリにアクセスするように指示する。
【００６５】
エレメント相互接続バス（ＥＩＢ）１０８０は、Ｃｅｌｌプロセッサ９２８内部の論理的には環状の通信バスであり、上記のプロセッサエレメント（すなわち、ＰＰＥ１０５０、メモリコントローラ１０６０、デュアルバスインタフェース１０７０Ａ，Ｂ、および８基のＳＰＥ１０１０Ａ〜Ｈ、合計１２個のパーティシパント）を接続している。パーティシパントは、１クロックサイクルにつき８バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各ＳＰＥ１０１０Ａ〜Ｈは、長い読み出しまたは書み込みのシーケンスをスケジュールするためのＤＭＡＣ１０４２Ａ〜Ｈを備える。ＥＩＢは、４つのチャネルを備え、そのうち２つは時計回り方向であり、残り２つは反時計回り方向である。したがって、１２のパーティシパントについて、２つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で６ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、１２のスロットの理論上のピーク瞬間ＥＩＢ帯域幅は、１クロックにつき９６Ｂとなる。これは、３．２ＧＨｚのクロック速度で３０７．２ＧＢ／ｓ（ギガバイト／秒）の理論上のピーク帯域幅に相当する。
【００６６】
メモリコントローラ１０６０は、ラムバス社（Rambus Incorporated）によって開発されたＸＤＲＡＭインタフェース１０６２を備える。このメモリコントローラは、２５．６ＧＢ／ｓの理論上のピーク帯域幅で、Ｒａｍｂｕｓ  ＸＤＲＡＭ９２６とインタフェースする。
【００６７】
デュアルバスインタフェース１０７０Ａ，Ｂは、Ｒａｍｂｕｓ  ＦｌｅｘＩＯ（登録商標）システムインタフェース１０７２Ａ，Ｂを備える。このインタフェースは、それぞれ８ビット幅の１２のチャネルに編成されており、このうち、５の経路が受信用、７つの経路が送信用である。これにより、Ｃｅｌｌプロセッサと、コントローラ１０７０Ａを介してＩ／Ｏブリッジ９３４間、およびコントローラ１０７０Ｂを介してＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット９３０間で、理論上のピーク帯域幅が６２．４ＧＢ／ｓ（送信３６．４ＧＢ／ｓ、受信２６ＧＢ／ｓ）が得られる。
【００６８】
Ｃｅｌｌプロセッサ９２８によってＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット９３０に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。更に、本発明の各種実施形態は、リアルタイムのインタラクティブなゲーム体験をユーザに提供する。例えば、ユーザは、コンピュータが生成したさまざまな物体と、リアルタイムでインタラクションを行うことができる。更に、ユーザのゲーム体験をよりリアルにするために、ビデオシーンをリアルタイムで変更することができる。
【００６９】
図１１は、本発明の一実施形態による、インターネットを介してサーバ処理に接続されたゲームクライアント１１０２とインタラクションを行っているユーザＡ〜ユーザＥをそれぞれ含む場面Ａ〜場面Ｅの例示的な図である。上で説明したように、ゲームクライアントは、ユーザが、インターネットを介してサーバアプリケーションおよびサーバ処理に接続できるようにするデバイスである。ゲームクライアントを使用して、ユーザは、限定するものではないが、ゲーム、映画、音楽および写真などのオンラインエンタテインメントコンテンツにアクセスしてこれらを再生することができる。また、ゲームクライアントは、ＶｏＩＰ、テキストチャットプロトコルおよび電子メールなどのオンライン通信アプリケーションへのアクセスも可能にする。
【００７０】
ユーザは、コントローラを使用してゲームクライアントとインタラクションを行う。ある実施形態では、コントローラはゲームクライアント専用のコントローラであるが、別の実施形態では、コントローラがキーボードとマウスの組み合わせでもよい。一実施形態では、ゲームクライアントは、モニタ／テレビジョンおよび関連する音声機器を介して、マルチメディア環境を作り出すために、音声信号およびビデオ信号を出力することができるスタンドアロンデバイスでもよい。例えば、ゲームクライアントは、シンクライアント、内部ＰＣＩ−ｅｘｐｒｅｓｓカード、外部ＰＣＩ−ｅｘｐｒｅｓｓデバイス、ＥｘｐｒｅｓｓＣａｒｄデバイス、内部、外部または無線ＵＳＢデバイス、あるいはＦｉｒｅｗｉｒｅデバイスなどでもよいが、これらに限定されない。別の実施形態では、ゲームクライアントは、テレビジョン、またはＤＶＲ、ブルーレイプレーヤ、ＤＶＤプレーヤまたは多チャネル受信器などの他のマルチメディアデバイスと一体化されている。
【００７１】
図１１の場面Ａ内では、ユーザＡが、ゲームクライアント１１０２Ａと組み合わされているコントローラ１００を使用して、モニタ１０６に表示されているクライアントアプリケーションとインタラクションを行っている。同様に、場面Ｂ内では、ユーザＢが、ゲームクライアント１１０２Ｂと組み合わされているコントローラ１００を使用して、モニタ１０６に表示されている別のクライアントアプリケーションとインタラクションを行っている。場面ＣはユーザＣを背後から見ており、ユーザＣは、ゲームクライアント１１０２Ｃからのゲームとバディリストとを表示しているモニタを見ている。図１１は１つのサーバ処理モジュールを図示しているが、一実施形態では、世界中に複数のサーバ処理モジュールが存在している。各サーバ処理モジュールは、ユーザセッション制御、共有／通信ロジック、ユーザジオロケーションおよびロードバランス処理サービスのためのサブモジュールを含む。更に、サーバ処理モジュールは、ネットワーク処理および分散ストレージを備える。
【００７２】
ゲームクライアント１１０２がサーバ処理モジュールに接続すると、ユーザを認証するために、ユーザセッション制御が使用されうる。認証されたユーザは、関連する仮想化分散ストレージと仮想化ネットワーク処理とを有しうる。ユーザの仮想化分散ストレージの一部として記憶可能な項目の例としては、限定するものではないが、ゲーム、ビデオおよび音楽などの購入済みメディアが挙げられる。また、分散ストレージは、複数のゲームのゲーム状態、個々のゲームのカスタマイズ設定、およびゲームクライアントの一般的な設定の保存に使用されうる。一実施形態では、サーバ処理のユーザジオロケーションモジュールは、ユーザと、ユーザの個々のゲームクライアントとの地理的位置を決定するために使用される。複数のサーバ処理モジュールの地理的位置および処理要求に基づいて性能を最適化するために、ユーザの地理的位置が、共有／通信ロジックおよびロードバランス処理サービスの両方によって使用されうる。ネットワーク処理およびネットワークストレージの一方または両方を仮想化することにより、ゲームクライアントからの処理タスクを、利用度の低いサーバ処理モジュールに動的に移すことが可能となる。このため、ストレージからの取り出しと、サーバ処理モジュールおよびゲームクライアント間のデータ転送との両方に関連するレーテンシーを最小化するために、ロードバランシングを使用することができる。
【００７３】
図１１に示すように、サーバ処理モジュールは、サーバアプリケーションＡのインスタンスとサーバアプリケーションＢのインスタンスとを有する。サーバ処理モジュールは、サーバアプリケーションＸ１とサーバアプリケーションＸ２によって示すように、複数のサーバアプリケーションに対応することが可能である。一実施形態では、サーバ処理は、クラスタ内の複数のプロセッサがサーバアプリケーションを処理可能なクラスタコンピューティングアーキテクチャに基づいている。別の実施形態では、サーバアプリケーションを処理するために、別のタイプのマルチコンピュータ処理方式が採用される。これにより、複数のクライアントアプリケーションを実行している多数のゲームクライアントと、対応するサーバアプリケーションとに対応するために、サーバ処理のスケールを拡張することができる。あるいは、処理量の多いグラフィック処理またはゲーム、ビデオ圧縮、または複雑なアプリケーションに要求される高い演算要求に対応するために、サーバ処理のスケールを拡張することができる。一実施形態では、サーバ処理モジュールは、サーバアプリケーションを介して処理の大部分を実行する。これにより、グラフィックプロセッサ、ＲＡＭおよび一般のプロセッサなどの比較的高価な部品のセントラルロケーション、あるいは集中化を行うことが可能となり、ゲームクライアントのコストを低減できる。処理が行われたサーバアプリケーションデータは、インターネットを介して、対応するゲームクライアントに戻されてモニタに表示される。
【００７４】
場面Ｃは、ゲームクライアントおよびサーバ処理モジュールによって実行されうる例示的なアプリケーションを示す。例えば、一実施形態では、ゲームクライアント１１０２Ｃを使用して、ユーザＣが、ユーザＡ、ユーザＢ、ユーザＤおよびユーザＥを含むバディリストを１１２０を作成して、閲覧することができる。図に示すように、場面Ｃでは、ユーザＣは、モニタ１０６Ｃで各ユーザのリアルタイム画像またはアバターを見ることができる。サーバ処理は、ユーザＡ、ユーザＢ、ユーザＤおよびユーザＥのそれぞれのゲームクライアント１１０２のそれぞれのアプリケーションと共に、ゲームクライアント１１０２Ｃを実行する。サーバ処理は、ゲームクライアントＢによって実行中のアプリケーションを認識しているため、ユーザＡのバディリストは、ユーザＢがどのゲームをプレイしているかを示すことができる。更に、一実施形態では、ユーザＡは、直接ユーザＢからゲームビデオを実際に見ることができる。このことは、ユーザＢのために処理されたサーバアプリケーションデータを、ゲームクライアントＢのほかに、ゲームクライアントＡにも送信するだけで行うことができる。
【００７５】
バディからのビデオを閲覧できるほかに、通信アプリケーションにより、バディ間のリアルタイム通信を行うこともできる。前の例のように、これにより、ユーザＡは、ユーザＢのリアルタイムビデオを見ながら、ユーザＢを励ましたりヒントを与えることができるようになる。一実施形態では、クライアント／サーバアプリケーションを介して、双方向のリアルタイム音声通信が確立される。別の実施形態では、クライアント／サーバアプリケーションにより、テキストチャットを行うことができる。更に別の実施形態では、クライアント／サーバアプリケーションは、話し言葉をテキストに変換して、バディの画面に表示させる。
【００７６】
場面Ｄと場面Ｅとは、それぞれ、ゲームコンソール１１１０Ｄとインタラクションを行っているユーザＤと、ゲームコンソール１１１０Ｅとインタラクションを行っているユーザＥとを示す。各ゲームコンソール１１１０Ｄ，１１１０Ｅは、サーバ処理モジュールに接続され、サーバ処理モジュールがゲームコンソールおよびゲームクライアントの両方に対してゲームプレイを調整しているネットワークを示す。
【００７７】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する、各種のコンピュータ実装操作を使用してもよい点を理解すべきである。これらの操作には、物理量の物理的な操作を必要とする操作が含まれる。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。更に、実行される操作は、生成、特定、決定または比較などと呼ばれることが多い。
【００７８】
上記した発明は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【００７９】
また、本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、電磁搬送波を含め、コンピュータシステムによって後から読取ることができるデータを記憶できるデータ記憶装置であれば、どのようなものに存在してもよい。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続記憶装置（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されてもよい。
【００８０】
上記に、本発明を明確に理解できるように多少詳細に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【図１】
2012510856.tif 000003
【図２Ａ】
2012510856.tif 000004
【図２Ａ−１】
2012510856.tif 000005
【図２Ｂ】
2012510856.tif 000006
【図３Ａ】
2012510856.tif 000007
【図３Ｂ】
2012510856.tif 000008
【図３Ｃ】
2012510856.tif 000009
【図４Ａ】
2012510856.tif 000010
【図４Ｂ】
2012510856.tif 000011
【図４Ｃ】
2012510856.tif 000012
【図５Ａ】
2012510856.tif 000013
【図５Ｂ】
2012510856.tif 000014
【図５Ｃ】
2012510856.tif 000015
【図６】
2012510856.tif 000016
【図７】
2012510856.tif 000017
【図８Ａ】
2012510856.tif 000018
【図８Ｂ】
2012510856.tif 000019
【図９】
2012510856.tif 000020
【図１０】
2012510856.tif 000021
【図１１】
2012510856.tif 000022
【国際調査報告】
2012510856.tif 000023
2012510856.tif 000024