(57)【要約】【課題】  ゲームコントローラとホストゲームコンソール間の迅速な無線再接続を提供する。【解決手段】  ゲームコントローラは、無線モードで動作し、あらかじめゲームコンソールに結び付けられる。ゲームコントローラとゲームコンソールの間に無線通信接続を再確立するために、ゲームコンソールは、自身の一意のコンソール識別を送信し、ゲームコントローラは、そのコンソール識別を、以前に記憶されたコンソール識別子と比較する。次いで、ゲームコントローラが自身の一意の識別子をゲームコンソールに送信し、ゲームコンソールは、その識別子を以前に記憶されたコントローラ識別子と比較する。適応型周波数ホッピングを使用して、所定の周波数ホッピングシーケンス中の不良チャネルを排除する。【選択図】  図２
2005288161.tif 000002
【特許請求の範囲】
【請求項１】
ビデオゲームを実行するホストと、
前記ホストから一意のコンソールＩＤを受け取り、前記受け取ったコンソールＩＤをゲームコントローラのメモリに以前に記憶されたコンソールＩＤと比較することにより、前記ホストとの無線通信接続を確立するゲームコントローラと
を備えたことを特徴とするゲームシステム。
【請求項２】
前記ホストと前記ゲームコントローラは、前記ゲームコントローラが前記ホストにコントローラＩＤを送信し、前記ホストが前記ゲームコントローラにコンソールＩＤを送信することにより、あらかじめ結び付けられることを特徴とする請求項１に記載のゲームシステム。
【請求項３】
前記ホストは、前記無線通信接続に使用される無線帯域内の良好なチャネルと潜在的な不良チャネルをスキャンするＲＦモジュールを備えることを特徴とする請求項１に記載のゲームシステム。
【請求項４】
前記ゲームコントローラは、前記無線通信接続に使用される無線帯域内の良好なチャネルと潜在的な不良チャネルをスキャンするＲＦモジュールを備えることを特徴とする請求項１に記載のゲームシステム。
【請求項５】
前記ゲームコントローラは、複数のチャネル周波数を含むＲＦ無線帯域を使用して前記ホストと通信する無線インタフェースを備えることを特徴とする請求項１に記載のゲームシステム。
【請求項６】
前記受け取りは、前記ホストが特定のチャネル周波数で前記一意のコンソールＩＤを送信するまで前記ゲームコントローラが前記チャネル周波数で待機することを含むことを特徴とする請求項５に記載のゲームシステム。
【請求項７】
前記ホストは、
プロセッサと、
前記無線通信接続に使用される無線帯域内の良好なチャネルと潜在的な不良チャネルをスキャンするＲＦモジュールであって、前記良好なチャネルと潜在的な不良チャネルを識別するチャネルリストが作成されるＲＦモジュールと、
前記一意のコンソールＩＤ、前記チャネルリスト、周波数ホッピングシーケンス、および前記ホストに結び付けられたゲームコントローラのコントローラＩＤを記憶する、前記プロセッサに結合されたメモリと
を備えることを特徴とする請求項１に記載のゲームシステム。
【請求項８】
前記ホストが、前記ゲームコントローラから受け取ったコントローラＩＤが、前記ホストの前記メモリに記憶されている前記コントローラＩＤの１つと同じであると識別すると、前記チャネルリストおよび前記周波数ホッピングシーケンスが前記ゲームコントローラに送信されることを特徴とする請求項７に記載のゲームシステム。
【請求項９】
前記ホストは、ゲームコンソールまたはパーソナルコンピュータの１つからなることを特徴とする請求項１に記載のゲームシステム。
【請求項１０】
ゲームコントローラが、ホストから送信されたコンソールＩＤを認識し、前記ホストが、前記ゲームコントローラから送信されたコントローラＩＤを認識すると、前記ホストに無線接続することを特徴とするゲームコントローラ。
【請求項１１】
１つまたは複数の多機能アクチュエータを備える汎用コントローラとして実施されることを特徴とする請求項１０に記載のビデオゲームコントローラ。
【請求項１２】
前記コンソールＩＤを受け取り、前記ホストにコントローラＩＤを送信するＲＦモジュールと、
以前のコンソールＩＤを記憶するメモリと、
前記ホストと通信する無線インタフェースと
を備えたことを特徴とする請求項１０に記載のビデオゲームコントローラ。
【請求項１３】
プロセッサと、
ゲームコントローラとの無線通信に使用される無線帯域内の良好なチャネルと潜在的な不良チャネルを継続的にスキャンし、識別するＲＦモジュールであって、前記良好なチャネルと前記潜在的な不良チャネルがチャネルリストで識別されるＲＦモジュールと、
前記チャネルリストと周波数ホッピングシーケンスを記憶するために使用されるメモリであって、前記チャネルリストで識別される潜在的な不良チャネルは、前記ゲームコントローラとの間で前記無線通信が行われるときに前記周波数ホッピングシーケンスで除外されるメモリと
を備えたことを特徴とするビデオゲームシステム中のホスト。
【請求項１４】
プロセッサと、
ゲームシステム中のホストと無線通信し、前記ホストから、周波数ホッピングシーケンスと、良好なチャネルと潜在的な不良チャネルのチャネルリストとを受け取るＲＦモジュールと、
前記チャネルリストと前記周波数ホッピングシーケンスを記憶するために使用されるメモリであって、前記チャネルリストで識別される潜在的な不良チャネルが、前記ホストとの間で前記無線通信が行われるときに前記周波数ホッピングシーケンスで除外されるメモリと
を備えることを特徴とするゲームコントローラ。
【請求項１５】
ホストとゲームコントローラの間に無線通信接続を確立する方法であって、
前記ホストからホスト識別パケットを伝達するステップと、
前記ゲームコントローラで前記ホスト識別パケットを受け取るステップと、
前記ゲームコントローラで、前記ホスト識別パケットに含まれるホスト識別子が、以前に記憶されたホスト識別子と一致するかどうかを判定するステップと、
前記ホスト識別パケットの前記ホスト識別子が前記以前に記憶されたホスト識別子と一致する場合は、前記ゲームコントローラから前記ホストにコントローラ識別パケットを送信するステップと、
前記コントローラ識別パケットのコントローラ識別子が以前に記憶されたコントローラ識別子と一致する場合は、前記ホストで前記コントローラ識別パケットの受け取りを通知するステップと
を備えることを特徴とする方法。
【請求項１６】
前記伝達するステップは、前記ホストに固有の周波数ホッピングシーケンス中のいくつかのチャネルの１つを使用することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記受け取りステップは、前記ゲームコントローラが最初の識別パケットを受け取ることができるまで当該チャネルが変更されるように、前記無線通信に使用されるＲＦ無線帯域のいくつかのチャネルのうち無作為のチャネルを使用することを特徴とする請求項１５に記載の方法。
【請求項１８】
前記無線通信接続に使用される複数のチャネルを備える無線帯域内の良好なチャネルと潜在的な不良チャネルをスキャンするステップをさらに備えることを特徴とする請求項１５に記載の方法。
【請求項１９】
前記スキャンするステップは、信号強度指示の技術を使用することを特徴とする請求項１８に記載の方法。
【請求項２０】
前記スキャンするステップは、パケット誤り率の技術を使用することを特徴とする請求項１８に記載の方法。
【請求項２１】
前記スキャンするステップは前記ホストによって行われることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記スキャンするステップは前記ゲームコントローラによって行われることを特徴とする請求項１８に記載の方法。
【請求項２３】
前記スキャンからチャネルリストを作成するステップをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項２４】
ゲームシステムで実行されると、
ホストとゲームコントローラがあらかじめ互いと結び付けられていることを検出する動作と、
前記ホストと前記ゲームコントローラとの間に無線通信接続を確立する動作と、
固有の周波数ホッピングシーケンスを使用して各種のチャネルをホッピングする動作と
を行う命令を有することを特徴とする、ゲームシステムで使用するための記憶媒体。
【請求項２５】
前記検出する動作は、前記ホストに一意のコンソール識別子と前記ゲームコントローラに一意のコントローラ識別子を識別する動作を備えることを特徴とする請求項２５に記載の記憶媒体。
【請求項２６】
前記ビデオゲームシステムで実行されると、
良好なチャネルと不良なチャネルをスキャンする動作と、
前記固有の周波数ホッピングシーケンス中の前記各種のチャネルをホッピングする際に前記良好なチャネルのみを使用する動作と
を行う命令をさらに有することを特徴とする請求項２５に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオゲームを制御する周辺装置に関し、より詳細には、ホストに接続する無線ゲームコントローラに関する。
【背景技術】
【０００２】
ゲームコントローラは、ビデオゲームとのユーザ対話（user interaction）を容易にする。ゲームコントローラは、コントローラが使用される所望のゲーム環境に応じて、多くの構成で提供される。幅広いゲームを制御するための１つまたは複数の多機能アクチュエータを備える多目的のコントローラと、レーシングゲーム用のハンドル、シューティングゲーム用の武器、飛行ゲーム用の操縦桿など、特定ジャンルのゲーム用の特殊コントローラがある。
【０００３】
ゲームコントローラには、無線技術を使用して、ゲームホストシステム、具体的にはホストゲームコンソールまたはパーソナルコンピュータに接続するように設計されるものがある。そのような無線ゲームコントローラは、ゲームコントローラとゲームコンソール間の通信を可能にする複数のチャネルを含む特定の周波数スペクトルで動作するように設計される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ゲームコントローラとホストゲームコンソール間の迅速な無線再接続を提供する。
【課題を解決するための手段】
【０００５】
無線モードで動作するゲームコントローラは、最小限の時間量でホストに再接続する。ゲームコントローラとホストゲームコンソールは、あらかじめＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）番号の交換によって結び付けられている。ゲームコントローラは、任意のチャネルを選び、ゲームコンソールからＩＤパケットが送信されてくるのを待機する。ゲームコントローラがＩＤパケットを認識すると、ゲームコントローラとゲームコンソール間で接続が行われ、ホストゲームコンソールは、チャネルホッピングシーケンスとともに、良好なチャネルと不良チャネルのリストをゲームコントローラに提供する。
【発明を実施するための最良の形態】
【０００６】
添付図面を参照して詳細な説明を述べる。図では、参照符号の一番左の数字が、その参照符号が最初に現れる図を識別する。異なる図における同じ参照符号の使用は、同様または同一のアイテムを意味する。
【０００７】
以下の開示で、ゲームコントローラとホストゲームコンソール間の迅速な無線再接続について説明する。ゲームコントローラとホストゲームコンソールは、あらかじめ、ゲームコントローラをホストゲームコンソールに対して識別し、ホストゲームコンソールをゲームコントローラに対して識別するＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）の交換によって結び付けられる。ホストゲームコンソールは、複数のチャネルからなる無線帯域内のチャネル（すなわち周波数）のスキャンを行って、良好なチャネルと不良チャネルを判定する。チャネルで最初の接続が行われると、ホストゲームコンソールは、ゲームコントローラにチャネルホッピングシーケンスを提供し、ゲームコントローラとホストゲームコンソール間で通信（対話）が行われる。
【０００８】
ゲームシステム  
図１に、コンソールを利用するゲームシステム１００の例を示す。システム１００は、ホストゲームコンソール１０２と、２つのゲームコントローラ１０４（１）および１０４（２）として表すように最高で４つのゲームコントローラとを含む。他の実施形態では、ホストゲームコンソール１０２は、パーソナルコンピュータ（ＰＣ）とすることができる。各ゲームコントローラ１０４は、有線または無線のインタフェースを介してホストゲームコンソール１０２に結合され、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）などの適切なデータプロトコルを利用する。１つのゲームコントローラ１０４（２）が有線モードと無線モードの２つの異なるモードで動作するものとして図示されている。有線モードでは、ゲームコントローラ１０４（２）は、ケーブル１０６を介してゲームコンソール１０２に接続される。ゲームコントローラ１０４（２）は、ケーブル１０６を通じてホストゲームコンソール１０２から電力を得る。無線モードでは、ゲームコントローラ１０４（２）は、無線リンク１０８を介してホストゲームコンソール１０２に接続される。ケーブル１０６は、ゲームコントローラ１０４（２）から取り外して、より多くの移動の自由を可能にすることができる。
【０００９】
無線リンク１０８は、２．４ＧＨｚのＩＳＭ（Ｉｎｄｕｓｔｒｉａｌ，Ｓｃｉｅｎｔｉｆｉｃ，Ｍｅｄｉｃａｌ）無線帯域など、特定の周波数スペクトルまたは無線帯域を使用するＲＦ（無線周波）技術を使用して実施することができる。無線帯域は、ゲームコントローラ１０４（２）がホストゲームコンソール１０２と通信することを可能にする複数のチャネルを含む。例えば、無線帯域は、１６４ＭＨｚの周波数スペクトルを範囲とすることができ、その場合、各チャネルは、連続した４Ｍｈｚの周波数範囲にわたる。この構成では、無線帯域は、４１個のチャネルを提供する。
【００１０】
２つ以上のゲームコントローラ１０４が無線モードで動作する場合は、時分割多重接続（ＴＤＭＡ：Ｔｉｍｅ Ｄｉｖｉｓｉｏｎ Ｍｕｌｔｉｐｌｅ Ａｃｃｅｓｓ）を用いて、各ゲームコントローラ１０４がホストゲームコンソール１０２と通信するタイムスロットを割り当てる。したがって、所与の時に１つのみのゲームコントローラ１０４がホストゲームコンソール１０２と通信し、ゲームコントローラ１０４間の干渉が回避される。
【００１１】
ゲームコントローラ１０４とホストゲームコンソール１０２は、チャネル間の所定のホッピングシーケンスを可能にする適応型周波数ホッピング（ＡＦＨ：ａｄａｐｔｉｖｅ ｆｒｅｑｕｅｎｃｙ ｈｏｐｐｉｎｇ）方式を利用する。さらに、ＡＦＨ方式は、干渉を発生させうる潜在的な不良チャネルを解消する。ＡＦＨ方式は、特定の周波数ホッピングシーケンスを識別し、使用すべき良好チャネルと、避けるべき潜在的な不良チャネルを特定する。ＡＦＨ方式の使用については下記でさらに述べる。ホストゲームコンソール１０２は、近接して送受信を行う他のゲームコンソールとの干渉を回避するために、固有の周波数ホッピングシーケンスを有する。
【００１２】
ホストゲームコンソール１０２は、自身の周波数ホッピングシーケンスをゲームコントローラ１０４に提供し、それにより、周波数ホッピングが行われる際にはゲームコントローラ１０４とホストゲームコンソール１０２はともに同じチャネルを使用して通信する。
【００１３】
プレーヤ（ユーザ）は、ケーブル１０６をホストゲームコンソール１０２に接続する、またはホストゲームコンソール１０２からケーブル１０６を取り外すことにより、無線操作と有線操作を切り替えることができる。ケーブル１０６は、ホストゲームコンソール１０２とゲームコントローラ１０４（２）間のシリアル通信を提供する。モードの切り替えは、ゲームを中断することなく、ゲームのプレー中に行うことができる。例えば、ゲームコントローラが無線モードにあり、ゲームのプレー中にバッテリの残量が少なくなるか、著しい干渉により確実な無線通信が妨げられる場合、プレーヤは、ホストゲームコンソール１０２にケーブル１０６を差し込むことにより有線モードに切り替えることができ、ゲームのプレーは、中断せずに継続する。有線モードにある間、ゲームコントローラ１０４（２）は、ゲームコンソール１０６から電力を得て、ゲームコントローラのバッテリが充電される。ケーブル１０６は、ゲームコントローラ１０４（２）に接続され、コントローラ１０４（２）から取り外される。
【００１４】
ホストゲームコンソール１０２は、携帯メディアドライブ１１０と、任意で内部ハードディスクドライブを備える。携帯メディアドライブは、光学記憶ディスク１１２で表すような各種形態の携帯型記憶媒体に対応する。適切な携帯型記憶媒体の例には、ＤＶＤ、ＣＤ−ＲＯＭ、ゲームディスク、ゲームカートリッジなどがある。
【００１５】
ホストゲームコンソール１０２は、その前面に４つの物理スロット１１４を有して、最高４つのゲームコントローラに対応し、接続するが、スロットの数と配置は変更してよい。有線モードでは、ゲームコントローラ１０４は、ビデオゲームの各種の特徴／機能を制御するために物理スロット１１４に割り当てられる。無線モードでは、ゲームコントローラ１０４（１）〜１０４（２）は、仮想スロットに割り当てられる。
【００１６】
一実施例では、仮想スロットは、ユーザに対する複雑性を軽減するために、ユーザに指示を求めることなく順番に割り当てられる。したがって、１番目の仮想スロットは、ホストゲームコンソール１０２に対して識別（ｉｎｔｒｏｄｕｃｅ）された１番目の無線ゲームコントローラに割り当てられ、２番目の仮想スロットは２番目の無線ゲームコントローラに割り当てられる。あるいは、ユーザが、ディスプレイに提示されるユーザインタフェースを介して仮想スロットを選択することができる。コンソールのあらかじめ指定されたボタンを作動すると、スロット割当のペイン（ｐａｎｅ）が呼び出され、プレーヤはそこから利用可能な仮想スロットを選択することができる。
【００１７】
ゲームコンソール１０２の前面にコントロールボタン１１６が配置される。コントロールボタン１１６には、例えば、ゲームコンソールへの電力を切り替える電源ボタンと、携帯メディアドライブ１１０のトレーを交互に開閉して、記憶ディスク１１２の挿入と抜き取りを可能にする取り出しボタンが含まれる。コントロールボタン１１６にはさらに、ゲームコントローラ１０４とホストゲームコンソール１０２間でＩＤの交換を行うバインディングボタン１１７が含まれる。結び付けの手順を行って、ゲームコントローラ１０４をホストゲームコンソール１０２に対して識別（ｉｎｉｔｉａｔｅ）する（結びつける）。
【００１８】
ホストゲームコンソール１０２は、Ａ／Ｖインタフェースケーブル１２０を介してテレビまたは他のディスプレイ（図示せず）に接続する。電力ケーブル１２２は、ゲームコンソールに電力を提供する。ホストゲームコンソール１０２はさらに、ローカルエリアネット（ＬＡＮ）やインターネットなどのネットワークへのアクセスを助けるために、ケーブルあるいはモデムコネクタ１２４で表される、内部のネットワーク機能または外部から追加されるネットワーク機能を備えることができる。
【００１９】
各ゲームコントローラ１０４は、各種のユーザ対話機構を備えることができる。図１に示すように、各ゲームコントローラ１０４は、２つのサムスティック１３２（１）および１３２（２）、方向パッドあるいはＤパッド１３４、表面ボタン１３６、および２つのトリガ１３８を備える。これらの機構は代表的なものに過ぎず、他の知られるゲーム機構（ショルダーボタンなど）に代えても、そうした機構を図１に示す機構に追加してもよい。
【００２０】
メモリユニット（ＭＵ：ｍｅｍｏｒｙ ｕｎｉｔ）１４０をゲームコントローラ１０４に挿入して、追加的な携帯型ストレージ（図のように）を提供しても、あるいはホストゲームコンソール１０２に挿入してもよい。携帯可能なメモリユニットは、ユーザがゲームパラメータを記憶し、他のコンソールでプレーするために持ち運ぶことを可能にする。図の実施例では、各ゲームコントローラ１０４は２つのメモリユニット１４０に対応するように構成されるが、他の実施例では２つより多いまたは少ないメモリユニットを用いてよい。他の実施例では、ホストゲームコンソール１０２は、１人のプレーヤにつき１つまたは複数のメモリユニットをサポートすることができる。
【００２１】
図２に、ホストゲームコンソール１０２の機能構成要素をより詳細に示す。ホストゲームコンソール１０２は、中央演算処理装置（ＣＰＵ）２００と、フラッシュＲＯＭ（読み取り専用メモリ）２０４、ＲＡＭ（ランダムアクセスメモリ）２０６、ハードディスクドライブ２０８、および携帯メディアドライブ１１０を含む各種のメモリへプロセッサがアクセスすることを容易にするメモリコントローラ２０２とを有する。ＣＰＵ２００は、レベル１キャッシュ２１０とレベル２キャッシュ２１２を備え、これらのキャッシュは、一時的にデータを記憶し、従ってメモリアクセスサイクル数を減らし、それにより処理速度とスループットを向上させる。
【００２２】
ＣＰＵ２００、メモリコントローラ２０２、および各種のメモリデバイスは、各種のバスアーキテクチャを使用した、シリアルバスおよびパラレルバス、メモリバス、ペリフェラルバス、プロセッサバスあるいはローカルバスを含む１つまたは複数のバスを介して相互に接続される。例として、そのようなアーキテクチャにはＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００２３】
適切な実施の１つとして、ＣＰＵ２００、メモリコントローラ２０２、ＲＯＭ２０４、およびＲＡＭ２０６は、共通のモジュール２１４に組み込まれる。ＲＯＭ２０４は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスおよびＲＯＭバス（いずれも図示せず）を介してメモリコントローラ２０２に接続されるフラッシュＲＯＭとして構成される。ＲＡＭ２０６は、別々のバス（図示せず）を介してメモリコントローラ２０２により独立して制御される複数のＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）モジュールとして構成される。ハードディスクドライブ２０８および携帯メディアドライブ１１０は、ＰＣＩバスとＡＴＡ（Ａｄｖａｎｃｅ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）バス２１６を介してメモリコントローラ２０２に接続される。
【００２４】
３Ｄグラフィック処理装置２２０とビデオエンコーダ２２２は、高速で高解像度のグラフィック処理を行うビデオ処理パイプラインを形成する。データは、グラフィック処理装置２２０からデジタルビデオバス（図示せず）を介してビデオエンコーダ２２２に搬送される。オーディオ処理装置２２４とオーディオコーデック（コーダ／デコーダ）２２６は、ビデオ処理パイプラインに対応する、高忠実度とステレオの処理を備えるオーディオ処理パイプラインを形成する。オーディオデータは、通信リンク（図示せず）を介して、オーディオ処理装置２２４とオーディオコーデック２２６間を搬送される。ビデオおよびオーディオの処理パイプラインは、テレビまたは他のディスプレイに送信するためにＡ／Ｖ（オーディオ／ビデオ）ポート２２８にデータを出力する。図の実施例では、ビデオおよびオーディオ処理コンポーネント２２０〜２２８は、モジュール２１４に搭載される。
【００２５】
モジュール２１４には、ＵＳＢホストコントローラ２３０とネットワークインタフェース２３２も実装される。ＵＳＢホストコントローラ２３０は、バス（ＰＣＩバスなど）を介してＣＰＵ２００およびメモリコントローラ２０２に結合され、周辺コントローラ１０４（１）〜１０４（４）のホストとして機能する。ネットワークインタフェース２３２は、ネットワーク（ＬＡＮ、インターネットなど）へのアクセスを提供し、イーサネット（登録商標）カード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモデムなどを含む、各種の有線または無線インタフェースコンポーネントのいずれでもよい。
【００２６】
ホストゲームコンソール１０２は、２つのデュアルコントローラサポートサブアセンブリ２４０（１）および２４０（２）を有し、各サブアセンブリは、ゲームコントローラ１０４（１）〜１０４（４）のうち最高２つをサポートする。前面パネルＩ／Ｏアセンブリ２４２は、バインディングボタン１１７を含むコントロールボタン１１６と、ＬＥＤ（発光ダイオード）あるいはゲームコンソールの外部表面に露出した他の表示器の機能をサポートする。ゲームコントローラとの無線通信をサポートするコントローラ無線インタフェース２４４も提供される。無線インタフェース２４４は、特にＲＦ技術を使用する。サブアセンブリ２４０（１）、２４０（２）、および２４２とコントローラ無線インタフェース２４４は、１つまたは複数のケーブルアセンブリ２４６を介して、モジュール２１４、詳細にはＵＳＢコントローラ２３０に結合される。
【００２７】
図では、８つのメモリユニット１４０（１）〜１４０（８）を４つのゲームコントローラ１０４（１）〜１０４（４）に接続できるように示しており、すなわち各ゲームコントローラに２つのメモリユニットを接続することができる。各メモリユニット１４０は、ゲーム、ゲームパラメータ、およびその他のデータを記憶することができる追加的なストレージを提供する。ゲームコントローラに挿入されると、メモリユニット１４０は、メモリコントローラ２０２からアクセスすることができる。他の実施例では、メモリユニット１４０は、ゲームコンソール１０２の互換スロットに挿入できることに留意されたい。
【００２８】
システム電源モジュール２５０は、有線モードで動作している時に、ゲームシステム１００のコンポーネントとゲームコントローラ１０４に電力を提供する。パワーオンリセット回路２５２およびリセット回路２５４は、動作中に、または最初に電力が供給された（ゲームコンソールに電源が投入された）時に、ゲームコンソール１０２がリセットされることを可能にする。ファン２５６は、ゲームコンソール１０２内の回路を冷却する。
【００２９】
ゲームコンソール１０２は、さらに、暗号化、解読、認証、デジタル署名、ハッシングなどの一般的な暗号機能を行う暗号エンジンを実装することができる。暗号エンジンは、ＣＰＵ２００の一部として、または、ＣＰＵで実行されるメモリ（ＲＯＭ２０４、ハードディスクドライブ２０８など）に記憶されたソフトウェアとして実施することができ、そのため、ＣＰＵは、暗号機能を行うように構成される。
【００３０】
ＲＯＭメモリ２０４にコンソールＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）２６０を恒久的に記憶することができる。有線モードで動作する際に、コンソールＩＤ２６０の値が使用されてゲームコントローラ１０４に対してコンソール１０２を識別する。コンソールＩＤ２６０は、特定のコンソールに一意である。コンソールＩＤ２６０は、４０ビットワードの番号とすることができる。コントローラＩＤ２６２（１）、２６２（２）、２６２（３）、２６２（４）の１つまたはすべてもＲＯＭメモリ２０４に記憶することができる。コントローラＩＤ２６２（１）、（２）、（３）、（４）は、一意のコントローラ番号であり、４０ビットワードの番号によって識別されることができる。コントローラＩＤを使用して、ゲームコンソール１０２に結び付けられた（あるいは結び付けられていない）ゲームコントローラ１０４を識別する。各ゲームコンソールに固有の周波数ホッピングシーケンスもＲＯＭメモリ２０４に記憶することができる。周波数ホッピングシーケンス２６４は、どのチャネルがゲームコンソール１０２およびゲームコントローラ１０４によって特定の順序でアクセスされるかを定義する。
【００３１】
チャネルリスト２６６がＲＡＭメモリ２０６に記憶される。チャネルリスト２６６は、使用されている特定のチャネル（すなわち無線帯域内のチャネル）と、ゲームコンソールによって良好なチャネルおよび潜在的に不良のチャネルと判断されるチャネルを記述する。チャネルリスト２６６は、ゲームコンソールがチャネルのスキャンを行うのに伴って、継続的に更新および変更される。他の実施例では、ゲームコントローラ１０４が、良好なチャネルと潜在的に不良なチャネルのスキャンと識別を行うことができる。そのような実施例では、ゲームコントローラがチャネルリスト２６６を作成することができる。
【００３２】
この特定の実施形態では、コンソールＩＤ２６０、コントローラＩＤ２６２（１）、２６２（２）、２６２（３）、２６２（４）、および周波数ホッピングシーケンス２６４は、ＲＯＭメモリ２０５に記憶される。チャネルリスト２６６は、ＲＡＭメモリ２０６に記憶される。ただし、他の実施例では、それらは、ゲームコンソール１０２の他の物理的および論理的なメモリユニットに記憶することができる。例えば、チャネルリスト２６６は継続的に更新されるので、レベル１キャッシュ２１０またはレベル２キャッシュ２１２に記憶してもよい。
【００３３】
ＲＦモジュール２７０（例えば２．４ＧＨｚ  ＩＳＭモジュール）、無線ベースバンドユニット２７２、およびＤＭＡ（ダイレクトメモリアクセス）チャネルユニット２７４は、ゲームコントローラ１０４への無線接続性と、良好チャネルおよび潜在的な不良チャネルのバックグラウンドスキャンをサポートする。ホストゲームコンソール１０２は、汎用タイマ２８２（１６ビットタイマなど）、ウォッチドッグタイマ２８４、発振器２８６、水晶発振子２８８を含む、タイミング機能を提供するタイミングコンポーネントも有する。
【００３４】
図３に、ゲームコントローラ１０４の機能構成要素をより詳細に示す。ゲームコントローラ１０４は、中央演算処理装置（ＣＰＵ）３０２と、ＲＯＭ３０４、ＲＡＭ３０６、およびＥＥＰＲＯＭ３０８を含むメモリを有する。図の実施では、ＣＰＵ３０２、ＲＯＭ３０４、およびＲＡＭ３０６は、共通モジュール３１０に組み込まれ、１つまたは複数のバス構造を介して相互に接続される。ＥＥＰＲＯＭ３０８は、モジュール３１０から独立しているが、モジュール３１０とインタフェースをとる。
【００３５】
ゲームコントローラ１０４はさらに、プレーヤに触覚によるフィードバックを提供するモータドライブ３１２と、モータドライブの制御信号を提供するＰＷＭ（パルス幅変調）出力３１４を含む。可変入力アクチュエータ３１６（サムスティック１３２およびトリガ１３８）を介して受け取られたプレーヤ（ユーザ）の操作は、アナログ−デジタル変換器（ＡＤＣ）３１８によって変換されて、プレーヤ入力をＣＰＵ３０２に提供する。ＡＤＣ３１８は、例えば、８チャネルの１０ビットまたは１２ビット変換器として実施することができる。２状態スイッチ３２０（ボタン１３６やＤ−パッド１３４など）を通じて受け取られる他のプレーヤ操作は、Ｉ／Ｏ３２２を通じてＣＰＵ３０２に渡される。
【００３６】
上記のように、ゲームコントローラ１０４は、有線動作と無線動作の両方をサポートする。ゲームコントローラ１０４は、有線モードの動作のためのＵＳＢインタフェース３３０とＵＳＢコネクタ３３２を含む。図の実施例では、ゲームコントローラ１０４は、ＲＦ技術を使用して無線動作をサポートするように構成される。ＲＦモジュール３３４（２．４ＧＨｚ  ＩＳＭモジュールなど）、無線ベースバンドユニット３３６、ＤＭＡチャネルユニット３３８が、無線モードの動作をサポートする。
【００３７】
ゲームコントローラ１０４は、無線動作を可能にする専用の電源を備える。図の実施では、バッテリ３５０が、ゲームコントローラ１０４の電子モジュールとコンポーネントに電力を供給する。バッテリ電力コントローラ３５２が、バッテリ３５０を監視し、電力が低下すると検出する。検出されると、低電力状態をプレーヤに伝えることができる（ゲームのプレー中にゲームコントローラの光表示器を点灯させる、または警告を表示するなど）。すると、プレーヤは、ケーブルをゲームコンソールに差し込むことにより、有線モードに切り替えることができる。バッテリ電力コントローラ３５２は、充電にかかる時間やフル充電時の検出など、バッテリ３５０の充電に関する振る舞いも監視する。有線モードでは、ゲームコントローラ１０４は、ゲームコンソールから電力を受け取る。バッテリ充電回路３５４は、ゲームコントローラがケーブルを介して接続されている間にバッテリ３５０を充電する。リセット回路３５８およびパワーオンリセット回路３６０により、動作中、または最初に電力が提供されたときにゲームコントローラをリセットすることができる。電力管理モジュール３５６は、モジュール３１０の異なるコンポーネントのための電圧を生成し、それらコンポーネントの電力消費を動的に管理する。
【００３８】
プレーヤから口頭のコマンドまたは音声を受け取る音声モジュール３７０を任意でゲームコントローラ１０４に含めてよい。ゲームコントローラ１０４は、汎用タイマ３７４（１６ビットタイマなど）、ウォッチドッグタイマ３７６、発振器３７８、および水晶発振子３８０を含む、タイミング機能を提供するタイミングコンポーネントも有する。ゲームコントローラ１０４はさらに、ゲームコントローラ１０４の１つまたは複数のＬＥＤ（表面ボタン１３６など）のためのＬＥＤドライバ３８２を含む。
【００３９】
ゲームコントローラ１０４のコントローラＩＤ２６２は、ＥＥＰＲＯＭ３０８に恒久的に記憶される。ＥＥＰＲＯＭ３０８は、ゲームコントローラ１０４が結び付けられた特定のホストゲームコンソール（ホストゲームコンソール１０２など）から受け取られ、そのホストゲームコンソールを識別するコンソールＩＤ２６０の値も記憶する。特定のホストゲームコンソールはさらに、自身の固有の周波数ホッピングシーケンス２６４を送信し、シーケンス２６４はＥＥＲＰＯＭ３０８に記憶される。無線帯域内の良好チャネルと潜在的に不良のチャネルを記述するチャネルリスト２６６も特定のホストゲームコンソールから送信される。ＲＡＭ３０６がチャネルリスト２６６を記憶する。特定の実施では、ゲームコントローラ１０４がチャネルのスキャンを行い、チャネルリスト２６６を作成し、そのリストを、結び付けられたホストゲームコンソールに送信することができる。
【００４０】
図４に、無線通信接続を確立するプロセス４００を示す。プロセス４００は、論理的な流れ図中のブロックの集まりとして示され、それらのブロックは、ハードウェア、ソフトウェア、またはそれらの組み合わせとして実施することができる動作の連続を表す。ソフトウェアの場合、これらのブロックは、１つまたは複数のプロセッサによって実行されると、ここに記載された動作を行うコンピュータ命令に相当する。
【００４１】
プロセス４００は、ゲームコントローラとホストゲームシステムの両方によって行われる動作を含む。説明のために、プロセス４００を、上記で図１〜３との関連で説明したゲームコントローラ１０４とホストゲームコンソール１０２を参照して説明する。プロセス４００は、有線通信および無線通信、およびＰＣなど他のタイプのゲームシステムの両方のために設計された他のタイプのコントローラによって実施することができることに留意されたい。
【００４２】
ブロック４０２で、ホストゲームコンソール１０２またはゲームコントローラ１０４が、１つまたは複数のコントローラ１０４と無線通信するために使用される特定の無線帯域のチャネルのスキャンを行う。このスキャンは、潜在的に不良のチャネルを示す弱い周波数を識別するＲＳＳＩ（受信信号強度指示）や、特定の周波数で受信され、潜在的に不良のチャネルを示す雑音または予期されない信号を識別するＰＥＲ（パケット誤り率）などの１つまたは複数の各種の周知の技術を使用して行うことができる。ブロック４０２は、ホストゲームコンソール１０２とゲームコントローラ１０４が互いと通信しているかどうかに関係なく、継続的に行われる。
【００４３】
ブロック４０４で、チャネルリスト（チャネルリスト２６６など）が作成される。このチャネルリストは、ブロック４０２のスキャンから得られる、良好チャネルと潜在的な不良チャネルを識別する。４１個のチャネルが使用される場合は、６ビットワードで特定のチャネルを一意に識別することができる。そのチャネルが良好であるか、潜在的に不良であるかを示す状態ビット（１が良好、０が不良）を一意のチャネルワードの各々に付加することができる。
【００４４】
ブロック４０６で、ゲームコントローラ１０４は、ゲームコントローラ１０４とホストゲームコンソール１０２間の以前の結びつけのセッションから、ホストゲームコンソール１０２の固有の周波数ホッピングシーケンスとコンソールＩＤを保存している。
【００４５】
ブロック４０８で、ホストゲームコンソール１０２は、自身の一意のコンソールＩＤ２６０を含む識別パケットを送信する。この識別パケットは、ホストゲームコンソール１０２の固有の周波数ホッピングシーケンスを使用して送信することができる。したがって、識別チャネルは、任意の特定の時に、固有の周波数ホッピングシーケンスで、任意の特定のチャネルで送信することができる。
【００４６】
ブロック４１０で、ゲームコントローラ１０４は、無作為のチャネルを選択し、そのチャネルで待機し、ホストゲートコンソール１０２から識別パケットを受け取る。ゲームコントローラ１０４は、ホストゲームコンソール１０２の特定の周波数ホッピングシーケンスと、以前の結びつけ（ブロック４０６）でそのコントローラが結びつけられたホストゲームコンソールを識別するコンソールＩＤ１０２とを有する。受け取った識別パケットがそのメモリにあるＩＤと同じコンソールＩＤを含む場合、ゲームコントローラ１０４は、識別パケットの受け取りをホストゲームコンソール１０２に通知する。
【００４７】
ゲームコントローラ１０４が、ホストゲートコンソール１０２から送信された識別パケットの受け取り、および受け取りの通知をすることができない場合（ブロック４１２で「Ｎｏ」の分岐後）は、範囲外条件を含む、識別パケットの受信を妨げるいくつかの条件が存在する可能性がある。通例は、ゲームコントローラ１０４がホストゲームコンソール１０２と同じチャネルにない。ホストゲームコンソール１０２は継続的にチャネルを変更する（ホッピングする）ので、ゲームコントローラ１０４は、単に、ホストゲームコンソール１０２がその特定のチャネルで送信するまで、同じチャネルを使用してある期間待機することができる。他の事例で、例えば、ゲームコントローラ１０４が比較的長い時間待機したか、または所定の遅延または待機時間を超えた場合（ブロック４１４の「Ｙｅｓ」分岐に続く）は、ゲームコントローラ１０４は、別のチャネルに切り替えることができる（すなわちブロック４１０を行う）。チャネルを切り替えると、ゲームコントローラ１０４は再度、ホストゲームコンソール１０２からの識別パケットの受け取りを待機する。そうでない場合、ゲームコントローラ１０４は、遅延が完了するまで待機し続けることができる（すなわちブロック４１４の「Ｎｏ」分岐に続く）。
【００４８】
ゲームコントローラ１０４が識別パケットを受け取り、受け取りを通知した場合（すなわちブロック４１２の「Ｙｅｓ」分岐に続く）、ゲームコントローラ１０４は、自身の識別パケットをホストゲームコンソール１０２に送信する（ブロック４１８）。この識別パケットは、ゲームコントローラ１０４の一意のコントローラＩＤ２６２を含んでいる。
【００４９】
ブロック４２０で、ホストゲームコンソール１０２がゲームコントローラ１０４からの識別パケットを受け取り、その受け取りを通知する。ホストゲームコンソール１０２は、上述のように、そのメモリ（ＲＯＭメモリ２０４など）に以前にコントローラＩＤ２６２を記憶しているはずである。コントローラＩＤ２６２は、どのゲームコントローラがホストゲームコンソール１０２に結び付けられているかを記述する。受け取った識別パケットが、メモリにあるコントローラＩＤ（コントローラＩＤ２６２（１）〜（４））の１つを含む場合、ホストゲームコンソール１０２は、識別パケットの受信をゲームコントローラ１０４に通知する。
【００５０】
大半の実装ではチャネルのスキャンはホストゲームコンソール１０２によって行われることを企図するが、他の実装では、ゲームコントローラ１０４がスキャンを行ってもよい。したがって、ホストゲームコンソール１０２がスキャンを行っているかどうかの判定が行われる（ブロック４２２）。
【００５１】
ホストゲームコンソール１０２がスキャンを行っていない場合は（ブロック４２２の「Ｎｏ」分岐の後）、ゲームコントローラ１０４がスキャンとチャネルリストの作成を行い、チャネルリストをホストゲームコンソール１０２に送信する（ブロック４２４）。
【００５２】
ホストゲームコンソール１０２がスキャンを行う場合（ブロック４１６の「Ｙｅｓ」分岐の後）、ホストゲームコンソール１０２は、作成したリストをゲームコントローラ１０４に送信する（ブロック４２６）。
【００５３】
ホストゲームコンソール１０２とゲームコントローラ１０４がチャネルリストを作成すると、潜在的に不良であると識別されるチャネルがいずれも回避される（その不良チャネルでは送受信が行われない）。
【００５４】
ホストゲームコンソール１０２は、所定のリストにあるチャネル間をホッピングする固有の周波数ホッピングシーケンスを有し、そのようなチャネルは、上記のように無線帯域内の周波数に相当する。１つまたは複数のホストゲームコンソールが互いと近接して置かれる場合に潜在的な干渉を防ぐために、各周波数ホッピングシーケンスは、１つのホストゲームコンソールに固有である。ブロック４２２で、ホストゲームコンソール１０２は、自身の周波数ホッピングシーケンスをゲームコントローラ１０４に送信する。
【００５５】
ホストゲームコンソール１０２とゲームコントローラ１０４は、同じ周波数ホッピングシーケンスを使用してチャネル間をホッピングすることにより通信する。無線帯域内の潜在的な不良チャネルとそのようなチャネルにアクセスする時間は、ホストゲームコンソールとゲームコントローラが潜在的な不良チャネルがないかチャネルリストを調べることによって回避される。
【００５６】
図５に、適応型周波数ホッピングのプロセス５００を示す。ブロック５０２で、所定の周波数ホッピングシーケンスがホストゲームコンソール１０２に割り当てられる。無線帯域内で通信するために使用されるチャネルの数に基づいて、いくつかの周波数ホッピングシーケンスが利用できる可能性がある。周波数ホッピングシーケンスは、チャネルが使用される（ホッピングされる）順序を記述する。例えば４１個のチャネルが使用される場合は、ホストゲームコンソール１０２の特定の周波数ホッピングシーケンスを使用してそれらのチャネルがアクセスされる順序で４１個のチャネルがリストされる。周波数ホッピングシーケンスは、プロセス４００で説明したように、２つのデバイス間で接続が再確立される際にホストゲームコンソール１０２とゲームコントローラ１０４の両方によって使用される。
【００５７】
ブロック５０４で、ゲームコントローラ１０４がスキャンを行うか、またはホストゲームコンソール１０２が行うかに応じて、ゲームコントローラ１０４またはホストゲームコンソール１０２が、チャネルリスト（チャネルリスト２６６など）を更新する。チャネルリストは、スキャンで潜在的な不良チャネルが識別されると更新される。
【００５８】
ブロック５０６で、更新されたチャネルリストが、ホストゲームコンソール１０２およびゲームコントローラ１０４によって送信され、受信される。ホストゲームコンソール１０２がスキャンを行う場合は、ホストゲームコンソール１０２が更新されたチャネルリストを送信し、ゲームコントローラ１０４が更新されたチャネルリストを受け取る。ゲームコントローラ１０４がスキャンを行う場合は、ゲームコントローラ１０４が更新されたチャネルリストを送信し、ホストゲームコンソール１０２が更新されたチャネルリストを受け取る。チャネルリストは、独立したパケットとして送受信されても、または通信データを含む別のパケットの一部として送受信されてもよい。
【００５９】
ブロック５０８で、周波数ホッピングシーケンスが変更される。周波数ホッピングシーケンスで識別されるチャネルのリストまたはシーケンスは、チャネルリストで潜在的に不良と識別されるチャネルが回避される以外は、ホストゲームコンソール１０２とゲームコントローラ１０４によって準拠される。チャネルリストは、現在の通信環境（良好なチャネルと潜在的に不良なチャネル）を識別し、ホストゲームコンソール１０２とゲームコントローラ１０４は、現在の通信環境に適合する。
【００６０】
ブロック５１０で、ホストゲームコンソール１０２およびゲームコントローラ１０４によってデータパケットが伝送（送信）される。このデータパケットは、通信情報を含むデータパケットに含めることができる、あるいは通信情報を含むデータパケットと別個にすることができる、チャネルリストを含む。通信情報は、例えば、ゲームコントローラ１０４からホストゲームコンソール１０２へのプレーヤ入力、ホストゲームコンソール１０２からゲームコントローラ１０４へのフィードバックを含むことができる。ゲームコントローラ１０４とホストゲームコンソール１０２によって使用されるチャネルリストは、データパケットが送受信されるまで有効である。データパケットの送受信が成功すると、周波数ホッピングシーケンスで次の連続したチャネルへのホッピングが行われることができる（ブロック５１２）。
【００６１】
むすび  
上述のゲームシステムは、ホストゲームコンソールと１つまたは複数のゲームコントローラ間の無線接続を容易にし、効率的な無線通信接続を迅速に確立し、維持する。本発明について構造的特徴および／または方法論的動作に固有の術語で説明したが、添付の特許請求の範囲で定義される本発明は、必ずしもここに記載される具体的な機能または動作に限定されないことを理解されたい。そうした具体的な機能および動作は、特許を請求した本発明を実施する例示的形態として開示される。
【図面の簡単な説明】
【００６２】
【図１】相互と迅速に接続するホストゲームコンソールとコントローラを有するゲームシステムの図である。
【図２】ホストゲームコンソールのブロック図である。
【図３】ゲームコントローラのブロック図である。
【図４】ゲームコンソールとゲームコントローラ間に無線通信接続を再確立するプロセスを示す流れ図である。
【図５】ゲームコンソールとゲームコントローラによって使用される適応性のある周波数ホッピングのプロセスを示す流れ図である。
【符号の説明】
【００６３】
１００  ゲームシステム
１０２  ゲームコンソール
１０４（１）  ゲームコントローラ
１０４（２）  有線モードと無線モードの２つの異なるモードで動作するゲームコントローラ
【図１】
2005288161.tif 000003
【図２】
2005288161.tif 000004
【図３】
2005288161.tif 000005
【図４】
2005288161.tif 000006
【図５】
2005288161.tif 000007
【外国語明細書】
2005288161000001.pdf