(57)【要約】【課題】  有線モードと無線モードの双方で動作し、進行中のゲームを永続的に破綻させずにこれら２つのモードを切り換えることができるゲームコントローラを提供すること。【解決手段】  ゲームコントローラは、有線モードと無線モードの双方で動作し、進行中のゲームを永続的に破綻させずにこれら２つのモードを切り換えることができる。１つのモードから別のモードへの移行中に、ホストゲームシステムは、コントローラが（有線モードから無線モードでは）物理的に切断され、または（無線モードから有線モードでは）接続された場合、それを検出する。検出時に、ホストゲームシステムは、ゲームデータおよびユーザ情報を格納し、ゲームコントローラはその不揮発性メモリに識別子を格納する。【選択図】  図１
2005211665.tif 000002
【特許請求の範囲】
【請求項１】
ビデオゲームを実行するホストと、
第１のモードで動作する場合にはケーブルを介して、第２のモードで動作する場合には無線リンクを介して前記ホストと通信するゲームコントローラと
を含むことを特徴とするビデオゲームシステム。
【請求項２】
前記第１の動作モードは、前記ケーブルが前記ホストに接続された場合に実行され、前記第２の動作モードは、前記ケーブルが前記ホストから切断された場合に実行されることを特徴とする請求項１に記載のビデオゲームシステム。
【請求項３】
前記ゲームコントローラは、前記ビデオゲームの進行中に、前記ビデオゲームの進行中のプレーを永続的に破綻させずに、前記ケーブルを介した通信と前記無線リンクを介した通信を切り換えることを特徴とする請求項１に記載のビデオゲームシステム。
【請求項４】
前記ゲームコントローラは、ＲＦ、赤外線、超広帯域（ＵＷＢ）、ブルートゥースの１つを使用して前記ホストと通信する無線インターフェイスを含むことを特徴とする請求項１に記載のビデオゲームシステム。
【請求項５】
前記ゲームコントローラは、
プロセッサと、
前記プロセッサに結合されたメモリと、
前記ケーブルを介した通信をサポートする第１のモジュールと、
前記無線リンクを介した通信をサポートする第２のモジュールと、
前記ビデオゲームコントローラが前記第２のモードで動作する場合に前記プロセッサ、前記メモリ、および前記第２のモジュールに電力を供給する電源と
を含むことを特徴とする請求項１に記載のビデオゲームシステム。
【請求項６】
前記ホストは、前記ビデオゲームのプレー中に前記ゲームコントローラに関連付けられたゲームデータを格納し、
前記ビデオゲームコントローラは識別情報を格納し、
前記第１と第２の動作モード間の移行中に、前記ゲームコントローラが、前記ビデオゲームの継続プレーを実行するために前記ゲームデータを探し出す際に使用する前記識別情報を前記ホストに渡す
ことを特徴とする請求項１に記載のビデオゲームシステム。
【請求項７】
前記ホストはゲームコンソールまたはパーソナルコンピュータの１つを含むことを特徴とする請求項１に記載のビデオゲームシステム。
【請求項８】
ケーブルがホストゲームシステムに接続された場合には前記ケーブルを介して、前記ケーブルが前記ホストゲームシステムから切断された場合には無線通信リンクを介して前記ホストゲームシステムと通信することを特徴とするビデオゲームコントローラ。
【請求項９】
１つまたは複数の多機能アクチュエータを備える汎用コントローラとして実施されていることを特徴とする請求項８に記載のビデオゲームコントローラ。
【請求項１０】
前記ホストゲームシステムに接続されるシリアルケーブルと、
前記ケーブルが前記ホストゲームシステムから取り外された場合に前記ホストゲームシステムと通信する無線インターフェイスと
を含むことを特徴とする請求項８に記載のビデオゲームコントローラ。
【請求項１１】
前記ケーブルが前記ホストゲームシステムから切断された場合に前記無線通信リンクを介した通信のための電力を供給する電源を含むことを特徴とする請求項８に記載のビデオゲームコントローラ。
【請求項１２】
ホストゲームシステムに接続されるケーブルと、
前記ケーブルが前記ホストゲームシステムから取り外された場合に前記ホストゲームシステムと通信する無線インターフェイスと、
（１）前記ケーブルを介して前記ホストゲームシステムと通信する有線動作と（２）前記無線インターフェイスを介して前記ホストゲームシステムと通信する無線動作を切り換える手段と
を含むことを特徴とするビデオゲームコントローラ。
【請求項１３】
前記切り換える手段は、ゲームの進行中に有線動作と無線動作を切り換えることを特徴とする請求項１２に記載のビデオゲームコントローラ。
【請求項１４】
前記切り換える手段は、進行中のゲームのプレーを継続する際に使用するために、前記有線動作と無線動作の間の移行中に前記ホストゲームシステムに渡されるセッションＩＤを格納することを特徴とする請求項１２に記載のビデオゲームコントローラ。
【請求項１５】
プロセッサと、
前記プロセッサに結合されたメモリと、
有線動作でのケーブルを介した通信をサポートする第１のモジュールと、
無線動作での無線リンクを介した通信をサポートする第２のモジュールと、
無線動作状態にある場合に前記プロセッサ、前記メモリ、および前記第２のモジュールに電力を供給する電源と
を含むことを特徴とするビデオゲームコントローラ。
【請求項１６】
前記メモリがビデオゲームコントローラの識別情報を格納することを特徴とする請求項１５に記載のビデオゲームコントローラ。
【請求項１７】
前記第２のモジュールは、ＲＦ通信をサポートするＲＦモジュールを含むことを特徴とする請求項１５に記載のビデオゲームコントローラ。
【請求項１８】
有線動作状態にある場合に前記電源を充電する充電回路をさらに含むことを特徴とする請求項１５に記載のビデオゲームコントローラ。
【請求項１９】
ビデオゲームコントローラがケーブルを介してホストゲームシステムに接続される有線モードでビデオゲームコントローラを動作させるステップと、
前記ケーブルが前記ホストゲームシステムから切断された場合に、前記ビデオゲームコントローラが無線リンクを介して前記ホストゲームシステムと通信する無線モードで前記ビデオゲームコントローラを動作させるステップと
を含むことを特徴とする方法。
【請求項２０】
前記有線モードと前記無線モードを切り換えるステップをさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
ビデオゲームの進行中に、前記ビデオゲームのプレーの続行を永続的に破綻させずに、前記有線モードと前記無線モードを切り換えるステップをさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記ビデオゲームコントローラは前記無線モードのための電源を含み、前記電源の電力が低下した場合に前記無線モードから前記有線モードに切り換えるステップをさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２３】
前記有線モードと前記無線モードの間の移行時に、
前記ビデオゲームコントローラを識別し、前記ビデオゲームコントローラを進行中のビデオゲームの任意のゲームデータと再度関連付けるステップと、
前記ビデオゲームのプレーを続行するステップと
をさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２４】
実行された場合に請求項１９に記載の方法を実行するコンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２５】
ビデオゲームシステム上で実行された場合、
有線動作モードではケーブルを介して、無線動作モードでは無線リンクを介して送信される、ビデオゲームコントローラからビデオゲームを制御する命令を受信する動作と、
前記ビデオゲームコントローラが、前記無線動作モードと前記有線動作モードの間で切り換わった場合にそれを検出する動作と、
進行中のビデオゲームの継続プレーを可能にするように前記無線動作モードと前記無線動作モードの間の移行を実行させる動作と
を含む動作を実行する命令を有することを特徴とする、前記ビデオゲームシステムと共に使用するための記憶媒体。
【請求項２６】
前記検出する動作は、前記ケーブルが前記ビデオゲームシステムに接続され、またはそこから切断された場合、それを感知する動作を含むことを特徴とする請求項２５に記載の記憶媒体。
【請求項２７】
前記ビデオゲームシステム上で実行された場合、
前記ビデオゲームコントローラの識別情報と関連付けて前記ビデオゲームのゲームデータを格納する動作と、
前記無線動作モードと前記有線動作モードの間の移行後に、前記識別情報を使用して前記ゲームデータを前記ビデオゲームコントローラと再度関連付ける動作と
を含む動作を実行する命令をさらに有することを特徴とする請求項２５に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオゲームを制御する周辺機器に関し、より詳細には、無線および有線のプレーの双方に使用可能なゲームコントローラに関する。
【背景技術】
【０００２】
ゲームコントローラは、ユーザにビデオゲームとの対話を実行させる。ゲームコントローラは、そのコントローラが使用される所望のゲーム環境に応じた多数の構成で提供される。多種多様なゲームを制御する１つまたは複数の多機能アクチュエータを備える多目的コントローラ、およびレーシングゲーム用のハンドル、シューティングゲーム用の武器、航空ゲーム用航行操縦桿など、特定のジャンルのゲームのために設計された専用コントローラがある。
【０００３】
ゲームコントローラは、無線技術または有線技術を用いてゲームホスティングシステムと接続されるように設計される。例えば、ＰＣベースゲーム用有線コントローラは、通常、ＵＳＢポートなどのシリアルポートを介してＰＣに接続され、コンソールベースのゲームシステム用有線コントローラは、独自のインターフェイスを使用可能である。無線コントローラは、赤外線、ＲＦ、またはブルートゥースといった技術を用いて設計される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の有線のコントローラは、ゲーム装置との間の信号ケーブルが断線すると、現在、実行中のゲームが中断してしまっていた。
【課題を解決するための手段】
【０００５】
ゲームコントローラは、有線モードと無線モードの双方で動作し、進行中のゲームを永続的に破綻させずにこれら２つのモードを切り換えることができる。１つのモードから別のモードへの移行中に、ホストゲームシステムは、コントローラが物理的に（有線モードから無線モードでは）切断され、または（無線モードから有線モードでは）接続された場合、それを検出する。検出時に、ホストゲームシステムは、ゲームデータおよびユーザ情報を格納し、コントローラとの新しい通信リンクを確立する。ホストゲームシステムは、その後、ゲームコントローラが新しいモードで動作し始める際に、ゲームデータおよびユーザ情報をゲームコントローラと再度関連付ける。これにより、プレーヤは中断せずにゲームプレーを続行することができる。
【０００６】
以下で、添付の図を参照して詳細な説明を行う。図中、参照番号の左端の数字は、その参照番号が最初に示される図を識別する。異なる図中での同じ参照番号の使用は、類似のまたは同一の項目を指示する。
【発明を実施するための最良の形態】
【０００７】
以下の開示では、有線モードと無線モードの双方で動作可能なゲームコントローラについて説明する。このゲームコントローラは、ゲームの継続プレーを破綻させずに２つのモードを容易に切り換え可能である。説明のために、ゲームコントローラを、コンソールベースのゲームシステム用の多目的ゲームコントローラの状況で記述する。しかしながら、このゲームコントローラは、専用コントローラを含めて、多種多様な方法で、多種多様な機能と共に構成することができる。
【０００８】
ゲームシステム
図１に、コンソールベースのゲームシステム１００の例を示す。これは、ゲームコンソール１０２、および２つのコントローラ１０４（１）、１０４（２）で表す、最大４つまでのコントローラを含む。各コントローラ１０４は、有線または無線インターフェイスを介してゲームコンソール１０２に結合され、ＵＳＢ（ユニバーサルシリアルバス）など、適当なデータプロトコルを利用する。一方のコントローラ１０４（２）は、２つの異なるモード、すなわち有線モードと無線モードで動作する物として示されている。有線モードでは、コントローラ１０４（２）は、ケーブル１０６を介してゲームコンソール１０２に接続される。コントローラは、ケーブル１０６を介してゲームコンソールから電力を得る。無線モードでは、コントローラ１０４（２）は、無線リンク１０８を介してゲームコンソール１０２に接続される。無線リンクは、例えば、赤外線技術、ブルートゥース技術、ＲＦ技術などを含む、多種多様な技術のいずれか１つを用いて実施可能である。無線モードでは、コントローラ１０４（２）は、バッテリなど、独自の電源を利用する。ケーブル１０６は、より自由に移動できるように、任意選択で、コントローラから取り外すことができる。
【０００９】
プレーヤは、シリアルケーブル１０６をゲームコンソール１０２に接続し、またはそこから切断することにより、無線動作と有線動作を切り換えることができる。モード切換えは、ゲームプレー中に、ゲームを中断せずに行なうことができる。例えば、ゲームコントローラが無線モードにあり、ゲームプレー中にバッテリの電力が低下した場合、プレーヤは、ケーブル１０６をゲームコンソール１０２に挿し込んで有線モードに切り換えることができ、ゲームプレーは中断せずに続行される。有線モードでは、ゲームコントローラは、ゲームコンソールにより電力供給され、コントローラのバッテリが充電される。
【００１０】
ゲームコンソール１０２は、ポータブルメディアドライブ１１０および任意選択の内蔵ハードディスクドライブを備える。ポータブルメディアドライブは、光記憶ディスク１１２で表す、様々な形の携帯型記憶媒体をサポートする。適当な携帯型記憶媒体の例には、ＤＶＤ、ＣＤ−ＲＯＭ、ゲームディスク、ゲームカートリッジなどが含まれる。
【００１１】
ゲームコンソール１０２は、最大４つまでのコントローラをサポートするために、その前面に４つのスロットを有するが、スロットの数および配置を変更してもよい。有線モードでは、ゲームコントローラ１０４は、ビデオゲームの様々なキャラクタ／機能を制御するために、物理スロット１１４に割り当てられる。しかしながら、無線モードでは、ゲームコントローラ１０４（１）〜１０４（４）は、仮想スロットに割り当てられる。
【００１２】
一実施形態では、ユーザにとっての複雑さを低減するために、ユーザにプロンプトを出さずに、仮想スロットが順次割り当てられる。したがって、第１の仮想スロットは、ホストゲームコンソール１０２に導入された第１の無線ゲームコントローラに割り当てられ、第２の仮想スロットは、第２の無線ゲームコントローラに割り当てられ、以下同様である。代替として、ユーザが、ディスプレイ上に提示されたユーザインターフェイスを介して仮想スロットを選択することもできる。コンソール上の事前指定されたボタンの操作により、プレーヤが利用可能な仮想スロットを選択するためのスロット割り当てペインが呼び出される。
【００１３】
制御ボタン１１６は、ゲームコンソール１０２の前面に配置される。制御ボタン１１６には、例えば、ゲームコンソールの電源を入れる電源ボタンや、記憶ディスク１１２の挿入と取り出しを可能にするためにポータブルメディアドライブ１１０のトレーを交互に開閉するイジェクトボタンが含まれる。
【００１４】
ゲームコンソール１０２は、Ａ／Ｖインターフェイスケーブル１２０を介してテレビその他のディスプレイ（図示せず）に接続される。電源ケーブル１２２は、ゲームコンソールに電力を提供する。ゲームコンソール１０２は、さらに、ローカルエリアネットワーク（ＬＡＮ）やインターネットといったネットワークへのアクセスを実行させるケーブルまたはモデムコネクタ１２４で表すように、内蔵または外付けのネットワーク機能も備えてもよい。
【００１５】
各コントローラ１０４は、多種多様なユーザ対話機構のいずれかを備える。図１に示すように、各コントローラ１０４は、２つのサムスティック１３２（１）、１３２（２）、方向パッド（Ｄパッド）１３４、表面ボタン１３６、および２つのトリガ１３８を備える。これらの機構は、単に、代表的な物であるにすぎず、図１に示す機構を他の知られているゲーム機構（ショルダボタンなど）で置き換え、またはそこにそれらの機構を付加することも可能である。
【００１６】
メモリユニット（ＭＵ）１４０は、コントローラ１０４に挿入して（図示のような）付加的携帯型記憶を提供することも、代替としてゲームコンソール１０２に挿入することも可能である。携帯型メモリユニットは、ユーザがゲームパラメータを格納し、それらを他のコンソール上でのプレーのために移動することを可能にする。図示の実装形態では、各コントローラは２つのメモリユニット１４０を収容するように構成されているが、他の実装形態では２つより多いまたは少ないユニットも用いることができる。他の実装形態では、ゲームコンソールは、１プレーヤ当たり１つまたは複数のメモリユニットをサポートする。
【００１７】
図２に、ゲームシステム１００の機能構成要素をより詳細に示す。ゲームコンソール１０２は、中央処理装置（ＣＰＵ）２００、およびフラッシュＲＯＭ（読取り専用メモリ）２０４、ＲＡＭ（ランダムアクセスメモリ）２０６、ハードディスクドライブ２０８、ポータブルメディアドライブ１０６を含む様々な種類のメモリへのプロセッサアクセスを実行させるメモリコントローラ２０２を有する。ＣＰＵ２００は、一時的にデータを格納し、したがって、メモリアクセスサイクル数を低減させて、処理速度およびスループットを向上させる、レベル１キャッシュ２１０およびレベル２キャッシュ２１２を備える。
【００１８】
ＣＰＵ２００、メモリコントローラ２０２、および様々なメモリ装置は、様々なバスアーキテクチャのいずれかを用いたシリアルおよびパラレルバス、メモリバス、周辺バス、およびプロセッサまたはローカルバスを含む、１つまたは複数のバスを介して相互接続される。例をあげると、そのようなアーキテクチャには、産業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（ＶＥＳＡ）ローカルバス、周辺装置相互接続（ＰＣＩ）バスなどが含まれる。
【００１９】
１つの適当な実装形態として、ＣＰＵ２００、メモリコントローラ２０２、ＲＯＭ２０４、およびＲＡＭ２０６は、共通モジュール２１４上に統合される。ＲＯＭ２０４は、ＰＣＩ（周辺装置相互接続）バスおよびＲＯＭバス（どちらも図示せず）を介してメモリコントローラ２０２に接続されたフラッシュＲＯＭとして構成される。ＲＡＭ２０６は、別個のバス（図示せず）を介してメモリコントローラ２０２により独立に制御される複数のＤＤＲ  ＳＤＲＡＭ（ダブルデータレートシンクロナスＤＲＡＭ）モジュールとして構成される。ハードディスクドライブ２０８およびポータブルメディアドライブ１０６は、ＰＣＩバスおよびＡＴＡ（ＡＴアタッチメント）バス２１６を介してメモリコントローラに接続される。
【００２０】
３Ｄグラフィックス処理ユニット２２０およびビデオエンコーダ２２２は、高速高解像度グラフィックス処理のためのビデオ処理パイプラインを形成する。データは、ディジタルビデオバス（図示せず）を介してグラフィックス処理ユニット２２０からビデオエンコーダ２２２に搬送される。オーディオ処理ユニット２２４およびオーディオコーデック（符号／復号器）２２６は、ハイファイステレオ処理を伴う対応するオーディオ処理パイプラインを形成する。オーディオデータは、通信リンク（図示せず）を介してオーディオ処理ユニット２２４とオーディオコーデック２２６の間を搬送される。ビデオおよびオーディオ処理パイプラインは、テレビその他のディスプレイへの送信のためにＡ／Ｖ（オーディオ／ビデオ）ポート２２８にデータを出力する。図示の実装形態では、ビデオおよびオーディオ処理構成要素２２０〜２２８は、モジュール２１４上に実装される。
【００２１】
また、モジュール２１４上には、ＵＳＢホストコントローラ２３０およびネットワークインターフェイス２３２も実装される。ＵＳＢホストコントローラ２３０は、バス（ＰＣＩバスなど）を介してＣＰＵ２００およびメモリコントローラ２０２に結合され、周辺コントローラ１０４（１）〜１０４（４）のホストとして働く。ネットワークインターフェイス２３２は、ネットワーク（ＬＡＮ、インターネットなど）へのアクセスを提供し、イーサネット（登録商標）カード、モデム、ブルートゥースモジュール、ケーブルモデムといった多種多少な有線または無線インターフェイス構成要素のいずれかとすることができる。
【００２２】
ゲームコンソール１０２は、２つのデュアルコントローラサポートサブアセンブリ２４０（１）、２４０（２）を有し、各サブアセンブリは、ゲームコントローラ１０４（１）〜１０４（４）のうち２つまでをサポートする。前面パネル入出力サブアセンブリ２４２は、制御ボタン１１６の機能、およびゲームコンソールの外面に露出している任意のＬＥＤ（発光ダイオード）その他の指示器をサポートする。ゲームコントローラとの無線通信をサポートするために、コントローラ無線インターフェイス２４４も設けられる。無線インターフェイス２４４は、赤外線技術、ブルートゥース技術、ＲＦ技術を含む多くの技術のいずれか１つを使用することができる。サブアセンブリ２４０（１）、２４０（２）、２４２、およびコントローラ無線インターフェイス２４４は、１つまたは複数のケーブルアセンブリ２４６を介して、モジュール２１４、詳細には、ＵＳＢコントローラ２３０に結合される。
【００２３】
４つのコントローラ１０４（１）〜１０４（４）に８つのメモリユニット１４０（１）〜１４０（８）、すなわち各コントローラに２つずつのメモリユニットが接続可能であることが示されている。各メモリユニット１４０は、ゲーム、ゲームパラメータ、およびその他のデータを格納可能な追加の記憶（装置）を提供する。コントローラに挿入された場合、メモリユニット１４０は、メモリコントローラ２０２からアクセス可能である。他の実装形態では、メモリユニット１４０が、ゲームコンソール１０２の互換スロットにも挿入可能であることが理解される。
【００２４】
システム電源モジュール２５０は、ゲームシステム１００の各構成要素と、有線モードで動作する場合にはゲームコントローラ１０４とに電力を供給する。ファン２５２は、ゲームコンソール１０２内の回路を冷却する。
【００２５】
ゲームコンソール１０２は、さらに、暗号化、暗号化解除、認証、ディジタル署名、ハッシングなど、一般的な暗号機能を実施する暗号エンジンも実装可能である。暗号エンジンは、暗号機能を実行するようにＣＰＵを構成するために、ＣＰＵ２００の一部として、またはＣＰＵ上で実行されるメモリ（ＲＯＭ２０４、ハードディスクドライブ２０８など）に格納されたソフトウェアとして実装可能である。
【００２６】
ゲームプレー中に生成されたゲームデータ２６０は、（他の記憶（装置）も使用可能であるが）ハードディスクドライブ２０８などゲームコンソールにあるメモリに格納される。ゲームデータの種類および量は各ゲームに特有であり、本質的に、ゲーム開発者が追跡しようとするどんなデータとすることも可能である。ゲームデータの例には、レーシングゲームでのスキッドマークや燃料液面、シューティングゲームでの武器選択やライフカウントなどが含まれる。
【００２７】
ゲームデータ２６０は、コントローラＩＤ２６２に関連して格納される。プレーヤが有線動作モードと無線動作モードを切り換えた場合、コントローラはコントローラＩＤを渡し、コンソールはそれを、保存されたゲームデータ２６０に関連してハードディスクドライブ２０８に格納されている任意のコントローラＩＤとマッチさせようとする。マッチが見つかった場合、ゲームコンソールは、対応するゲームデータをコントローラと再度関係付ける。
【００２８】
図３に、ゲームコントローラ１０４の機能構成要素をより詳細に示す。コントローラ１０４は、ＣＰＵ（ＣＰＵ）３０２、およびＲＯＭ３０４、ＲＡＭ３０６、ＥＥＰＲＯＭ３０８を含むメモリを有する。例示の実装形態では、ＣＰＵ３０２、ＲＯＭ３０４、ＲＡＭ３０６は共通モジュール３１０上に統合され、１つまたは複数のバス構造により相互接続される。ＥＥＰＲＯＭ３０８は、モジュール３１０とは分かれているが、インターフェイスがとられている。
【００２９】
ゲームコントローラ１０４は、さらに、プレーヤに触覚フィードバックを提供するモータドライブ３１２、およびモータドライブでの制御信号を提供するＰＷＭ（パルス幅変調）出力３１４を含む。可変入力アクチュエータ３１６（サムスティック１３２やトリガ１３８など）を介して受け取られたプレーヤのアクションは、アナログ／ディジタル変換器（ＡＤＣ）３１８により変換されてＣＰＵ３０２にプレーヤ入力を提供する。ＡＤＣ３１８は、例えば、８チャネル１０ビットまたは１２ビット変換器として実装される。２状態スイッチ３２０（ボタン１３６やＤパッド１３４など）から受け取られた他のプレーヤアクションは、入出力３２２を介してＣＰＵ３０２に渡される。
【００３０】
前述のように、ゲームコントローラ１０４は、有線動作と無線動作双方をサポートする。ゲームコントローラ１０４は、有線動作モードのためのＵＳＢインターフェイス３３０およびＵＳＢコネクタ３３２を含む。例示の実装形態では、ゲームコントローラ１０４は、ＲＦ（無線周波数）技術を用いた無線動作をサポートするように構成される。ＲＦモジュール３３４（２．４ＧＨｚ  ＲＦモジュールなど）、無線ベースバンドユニット３３６、およびＤＭＡ（直接メモリアクセス）チャネルユニット３３８は、無線動作モードをサポートする。他の実装形態では、ゲームコントローラは、ＩＲ（赤外線）、ブルートゥース、ＵＷＢ（超広帯域）といった、代替の無線技術を利用するように設計してもよい。
【００３１】
ゲームコントローラ１０４は、無線動作を可能にする独自の電源を備える。例示の実装形態では、バッテリ３５０が、ゲームコントローラ１０４の電子モジュールおよび各構成要素に電力を供給する。バッテリ電力コントローラ３５２は、バッテリ３５０を監視し、電力が低下した場合、それを検出する。検出されると、電力低下状態がプレーヤに伝達される（ゲームがプレーされている間のコントローラ上の指示灯の点灯または警告表示など）。その場合、プレーヤは、ゲームコンソールにケーブルを挿し込むことにより有線モードに切り換えることができる。バッテリ電力コントローラ３５２は、充電にどれだけの時間を要するか、完全に充電されたことの検出など、バッテリの充電挙動も監視する。有線モードでは、ゲームコントローラ１０４は、ゲームコンソールから電力を受け取る。バッテリ充電回路３５４は、コントローラが接続されている間にケーブルを介してバッテリ３５０を充電する。リセット回路３５８および電源オンリセット回路３６０は、動作中、または最初に電源が供給されたときにゲームコントローラがリセットされるようにする。電源管理モジュール３５６は、モジュール３１０上の様々な構成要素での電圧を生成し、それらの構成要素の電力消費を動的に管理する。
【００３２】
電力管理の一部として、コンソールは、例えば、バッテリの総推定寿命、無線プレー中にどれだけの電力が利用されたか、バッテリが完全に切れるまでの残された時間量などを含む、バッテリ寿命データを維持する。コントローラはコンソールにバッテリ寿命データを送り、コンソールはそのデータを利用して、コントローラを充電するために無線プレーから有線プレーにいつ切り換えるべきかをプレーヤに指示することができる。例えば、コンソールは、コンソール上の警告灯を点滅させ、またはディスプレイ上にポップアップメッセージを提示して、プレーヤにバッテリ電力低下状態を知らせ、プレーヤが継続プレーのためにコントローラケーブルをコンソールに挿し込むよう促すことができる。
【００３３】
ゲームコントローラ１０４には、任意選択で、プレーヤから口頭のコマンドまたは音声を受け取るための音声モジュール３７０が含まれる。ゲームコントローラ１０４は、汎用タイマ３７４（１６ビットタイマなど）、ウォッチドッグタイマ３７６、発振器３７８、および水晶振動子３８０を含めて、タイミング機能を提供するタイミング構成要素も備える。
【００３４】
ＥＥＰＲＯＭ３０８には１つまたは複数の識別子３９０が格納される。特に、ＥＥＰＲＯＭ３０８は、ゲームプレーを永続的に破綻させずに有線モードと無線モードの切換えを実行させるために使用されるセッションＩＤを格納する。セッションＩＤは、コントローラにより使用されている現在の仮想スロットを識別するアクティブゲームＩＤ、およびコントローラ自体を識別する装置ＩＤを含む。モード移行（すなわち、有線モードから無線モード、またはその逆）が行われ、新しい接続が確立された後、ゲームコントローラ１０４はゲームコンソールにセッションＩＤを渡す。ゲームコンソールは、コントローラＩＤ部分を取り出し、それを、保存されたゲームデータに関連してゲームコンソールに格納されている任意のコントローラＩＤとマッチさせようとする。マッチが見つかった場合、ゲームコンソールは、対応するゲームデータをそのコントローラと再度関連付ける。このように、ゲームプレーは、無線モードから有線モードへの移行中に中断されずに続行される。
【００３５】
モード切換え動作
図４に、ゲームコントローラを無線動作モードから有線動作モードに切り換えるプロセス４００を示す。プロセス４００は、論理流れ図にブロックの集まりとして示されており、それらは、ハードウェア、ソフトウェア、またはそれらの組み合わせとして実施可能な一連の動作を表す。ソフトウェアの状況では、各ブロックは、１つまたは複数のプロセッサにより実行された場合、記述された動作を実行するコンピュータ命令を表す。
【００３６】
このプロセスは、ゲームコントローラとホストゲームシステム双方により実行される動作を含む。説明のために、プロセス４００を、図１〜３との関連で前述したコントローラ１０４およびゲームコンソール１０２を参照して記述する。プロセス４００は、有線と無線双方の通信のために設計された他の種類のコントローラによっても、ＰＣなど他の種類のゲームシステムでも実施可能ことが理解される。
【００３７】
ブロック４０２で、ゲームコントローラ１０４は、無線モードで動作する。このモードでは、ゲームコントローラ１０４は、バッテリ３５０からの電力を利用し、ＲＦモジュール３３４を介してゲームコンソール１０２にユーザコマンドを送信する。無線モードでの動作中に、ゲームコントローラ１０４は、無線モードから有線モードへの動作切換えを示唆す条件の有無を監視する（ブロック４０４）。条件の一例が、バッテリ電力コントローラ３５２が、バッテリ３５０の電力が低下していることを検出した場合である。別の例示的条件は、コントローラ１０４とコンソール１０２との無線交信中に、おそらく雑音のあるＲＦ環境または他の干渉のために、いくつかのパケットが失われ、あるいは正しくないデータを含む場合に発生する。そのような条件が生じない場合（すなわち、ブロック４０４からの「Ｎｏ」分岐）、ゲームコントローラは無線モードのままである。
【００３８】
移行条件が検出された場合（すなわちブロック４０４からの「Ｙｅｓ」分岐）、ゲームコントローラ１０４は、コントローラにあるメモリにセッションＩＤが保存されているかどうか判定する（ブロック４０６）。セッションＩＤは、コントローラにより使用されている現在の仮想スロットを識別するアクティブゲームＩＤ、およびコントローラを識別する装置ＩＤを含む。セッションＩＤが保存されていない場合（すなわちブロック４０６からの「Ｎｏ」分岐）、ゲームコントローラ１０４は、ＥＥＰＲＯＭ３０８など、コントローラにある不揮発性メモリにセッションＩＤを保存する（ブロック４０８）。
【００３９】
セッションＩＤがコントローラに保存された後で、ホスト（ゲームコンソール１０２など）は、ケーブル１０６が物理スロット１１４の１つに接続されているかどうか判定する（ブロック４１０）。接続されていない場合（ブロック４１０からの「Ｎｏ」分岐）、ゲームコントローラ１０４は、無線モードで動作し続ける。ゲームコントローラ１０４は、ケーブルが接続され、またはバッテリが十分な電力を供給しなくなるまでこのモードで続行する。ケーブルが接続された場合（すなわち、ブロック４１０からの「Ｙｅｓ」分岐）、ゲームコンソール１０２は、ケーブル１０６を介したＵＳＢ接続を確立するためにＵＳＢのエニュメレーション（デバイスを識別すること）を実行する（ブロック４１２）。
【００４０】
接続が確立された後で、ゲームコントローラ１０４は、不揮発性メモリからセッションＩＤを検索し、それをゲームコンソールに送信する（ブロック４１４）。ゲームコンソールは、セッションＩＤを使って保存されたゲームデータを探し出し、そのゲームデータをコントローラと再度関連付ける（ブロック４１６）。より詳細には、プレー中にゲームデータ２６０が生成される際に、それが、ゲームコントローラに関連付けられたコントローラＩＤ２６２と関連させてゲームコンソールに格納される。コントローラＩＤは、コントローラ自体に一意とすることもでき、コントローラにより現在使用されている接続スロットを表すこともできる。モード移行（有線モードから無線モード、またはその逆）が行われた場合、ゲームコンソールは、新しく接続されたゲームコントローラから受信したセッションＩＤからのコントローラＩＤを使用し、それを、ゲームコンソールに格納された任意のコントローラＩＤとマッチさせようとする。マッチが見つかった場合、ゲームコンソールは、セッションＩＤで識別されたアクティブゲームのゲームデータをコントローラと再度関連付ける。このようにして、無線モードから有線モードへの移行中にゲームプレーが中断されずに続行される。ブロック４１８で、ゲームコントローラ１０４は有線モードで続行する。
【００４１】
図５に、ゲームコントローラを有線動作モードから無線動作モードに切り換えるプロセス５００を示す。このプロセスは、ゲームコントローラとホストゲームシステム双方により実行される動作を含む。このプロセスを、この場合もやはり、図１〜３との関連で前述したコントローラ１０４およびゲームコンソール１０２を参照して説明する。
【００４２】
ブロック５０２で、ホスト（ゲームコンソール１０２など）は、ケーブル１０６を介してゲームコントローラ１０４とＵＳＢ接続を確立するためにＵＳＢのエニュメレーションを実行する。接続が確立された後で、ゲームコントローラ１０４は、有線モードで動作する（ブロック５０４）。ブロック５０６で、ゲームコントローラ１０４は、コントローラメモリにセッションＩＤが保存されているかどうか判定する。セッションＩＤが保存されていない場合（ブロック５０６からの「Ｎｏ」分岐）、ゲームコントローラ１０４は、ＥＥＰＲＯＭ３０８などの不揮発性メモリにセッションＩＤを保存する（ブロック５０８）。
【００４３】
セッションＩＤがコントローラに保存された後で、ゲームコントローラ１０４は、ケーブル１０６が、ゲームコンソールの物理スロット１１４の１つに接続されたままであるかどうか判定する（ブロック５１０）。それがまだ接続されている場合（ブロック５１０からの「Ｙｅｓ」分岐）、ゲームコントローラ１０４は有線モードで動作し続ける。ケーブルが切断されていた場合（ブロック５１０からの「Ｎｏ」分岐）、ゲームコントローラ１０４は、発見プロセスを実行して、無線ネットワークの一部となり、ゲームコントローラとゲームコンソールの間の無線接続を確立する（ブロック５１２）。
【００４４】
無線接続が確立された後で、ゲームコントローラ１０４は、任意の進行中のゲームデータをコントローラと再度関連付けるために、その不揮発性メモリからセッションＩＤを検索し、それをゲームコンソールに送信する（ブロック５１４）。ブロック５１６で、ゲームコントローラ１０４は、無線モードで動作し続ける。
【００４５】
前述のモード切換えプロセス４００および５００は、新しいプレーヤがゲームに参加した場合の状況にも対応する。新しいプレーヤは、有線動作で自分のゲームコントローラを利用可能な物理スロットに接続することもでき、あるいは発見プロセスを使用して直接無線モードで操作を開始してもよい。ゲームコンソールは、まず、セッションＩＤを現在のセッションＩＤリストとマッチさせようとする。マッチが見つからなかった場合、ゲームコンソールは、その装置ＩＤを、それが通信を行うための物理スロットまたは仮想スロットと関連付ける。次いで、ゲームコンソールは、その装置ＩＤに関連するゲームデータの格納を開始する。
【００４６】
結論
前述のゲームコントローラは、有線と無線双方の動作を実行し、進行中のゲームを中断せずに有線動作と無線動作を切り換えることができる。以上、本発明を構造的特徴および／または方法論的動作に特有の言葉で説明してきたが、添付の特許請求の範囲で定義される本発明は、必ずしも、前述の具体的特徴または動作に限定されるとは限らないことを理解すべきである。そうではなく、これらの具体的特徴および動作は、特許請求の発明を実施する例示的形態として開示したものである。
【図面の簡単な説明】
【００４７】
【図１】無線モードと有線モードの双方で動作可能なゲームコンソールおよびコントローラを備えるゲームシステムを示す図である。
【図２】ゲームシステムを示す構成図である。
【図３】コントローラを示す構成図である。
【図４】コントローラの使用を無線動作から有線動作に切り換えるプロセスを示す流れ図である。
【図５】コントローラの使用を有線動作から無線動作に切り換えるプロセスを示す流れ図である。
【図１】
2005211665.tif 000003
【図２】
2005211665.tif 000004
【図３】
2005211665.tif 000005
【図４】
2005211665.tif 000006
【図５】
2005211665.tif 000007