(57)【特許請求の範囲】
【請求項１】
コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための方法であって、
ベースコンピューティングデバイスからコントロールデバイスへとコマンドを送信するステップと、
前記送信されたコマンドに基づいて前記コントロールデバイスの球体部分において視覚キューを発生させてユーザにフィードバックを与えるステップと、
前記ベースコンピューティングデバイスにおいて視覚キューを含む前記コントロールデバイスの画像をキャプチャするステップと、
前記キャプチャされた画像内の視覚キューが前記ベースコンピューティングデバイスからユーザへのユーザフィードバックまたは前記コンピュータプログラムへの入力のいずれであるかを判定するステップと、
前記ベースコンピューティングデバイスにおいて前記視覚キューを処理するステップと、
前記画像内の視覚キューが入力である場合、前記ベースコンピューティングデバイスにおいて前記視覚キューを処理するステップと、
前記入力に応答して、前記コンピュータプログラムによって処理中のオブジェクトの状態を更新するステップと、を有し、前記更新は、前記コントロールデバイスを介して前記コンピュータプログラムとのインタラクティビティを始動させるために使用される方法。
【請求項２】
一定時間ゲームセッションを確立するステップを更に有し、前記ゲームセッション中に、ユーザフィードバックが、前記コンピュータプログラムへの入力と切り替えられる請求項１に記載の方法。
【請求項３】
複数のコントロールデバイスが、前記コンピュータプログラムと同時にインタフェースし、前記コントロールデバイスのそれぞれは、前記コンピュータプログラムへの入力用に異なる色の視覚キューを使用する請求項１に記載の方法。
【請求項４】
前記視覚キューは、前記球体部分の照光を含む請求項１に記載の方法。
【請求項５】
前記球体部分を照光する際の明るさが前記コンピュータプログラムのパラメータの値に従って調整される請求項４に記載の方法。
【請求項６】
前記視覚キューは、前記球体部分の一部の照光を含む請求項１に記載の方法。
【請求項７】
前記コントロールデバイスにおいて前記ユーザフィードバックに関連する音声を発生させるステップを更に有する請求項１に記載の方法。
【請求項８】
前記ユーザフィードバックに関連する振動触覚的フィードバックを提供するステップを更に有する請求項１に記載の方法。
【請求項９】
前記視覚キューが、前記コントロールデバイスの位置を決定するために前記コンピュータプログラムに入力され、前記視覚キューを処理するステップは、前記キャプチャされた画像内で前記球体部分の位置を特定するために前記キャプチャされた画像を処理するステップを更に有する請求項１に記載の方法。
【請求項１０】
前記視覚キューは、ユーザフィードバックと入力とに同時に使用される請求項９に記載の方法。
【請求項１１】
コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための方法であって、
ベースコンピューティングデバイスからコントロールデバイスへとコマンドを送信するステップと、
前記送信されたコマンドに基づいて前記ベースコンピューティングデバイスからユーザへのユーザフィードバックまたは前記ベースコンピューティングデバイスで実行中の前記コンピュータプログラムへの入力の一方またはこの両方である視覚キュー要求を生成するステップと、
前記視覚キュー要求がユーザフィードバックの要求である場合、前記コントロールデバイスの球体部分においてフィードバック用視覚キューを発生させるステップと、
前記視覚キュー要求が入力に対する要求である場合、前記ベースコンピューティングデバイスにおいて前記入力を受信するステップと、を有し、前記受信するステップは、
前記球体部分において入力用視覚キューを発生させるステップと、
前記視覚キューの画像をキャプチャするステップと、
前記キャプチャした画像の視覚キューがユーザへのフィードバックであるか又はコンピュータプログラムの入力であるかを判定するステップと、
前記ベースコンピューティングデバイスにおいて前記視覚キューの前記画像を処理して、前記コントロールデバイスと前記コンピュータプログラムとの間をインタラクションさせるために、前記コンピュータプログラムによって使用されるオブジェクトを更新するステップと、を有する方法。
【請求項１２】
前記コントロールデバイスの向きを決定するために、前記視覚キューを、前記コントロールデバイス内蔵の加速度計、ジャイロスコープまたは磁力計の少なくとも１つによって取得される状態情報と組み合わせるステップを更に有する請求項１１に記載の方法。
【請求項１３】
前記コントロールデバイスの前記向きが、前記コントロールデバイスをポインタとして動作させるために使用される請求項１２に記載の方法。
【請求項１４】
前記コントロールデバイスの前記向きにより、前記ベースコンピューティングデバイスに接続されたディスプレイの一部を照光する懐中電灯として前記コントロールデバイスが使用可能となる請求項１２に記載の方法。
【請求項１５】
前記コントロールデバイスの前記向きにより、前記ベースコンピューティングデバイスに接続されたディスプレイに対するシューティングデバイスとして前記コントロールデバイスが使用可能となる請求項１２に記載の方法。
【請求項１６】
前記ユーザフィードバック用視覚キューは、銃の発砲、ゲーム内のプレーヤの残存寿命の量、前記ゲーム内で撃たれた前記コントロールデバイスに関連する実体、前記実体に呪文がかけられたこと、前記球体部分が画像キャプチャデバイスから隠れて認識できない場合からなる群から選択される請求項１１に記載の方法。
【請求項１７】
ユーザフィードバックおよびコンピュータプログラムへの入力のために視覚キューを使用するシステムであって、
前記コンピュータプログラムを実行中のプロセッサを有するベースコンピューティングデバイスと、
前記ベースコンピューティングデバイスから送信されたコマンドに基づいてユーザフィードバックを与える視覚キューを発生させる球体部分を有するコントロールデバイスと、
前記ベースコンピューティングデバイスに接続され、前記視覚キューを含むコントロールデバイスの画像をキャプチャする画像キャプチャデバイスと、を有し、
前記コンピュータプログラムからのプログラム命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記キャプチャされたコントロールデバイスの画像に含まれる視覚キューが前記ベースコンピューティングデバイスからユーザへのユーザフィードバックまたは前記コンピュータプログラムへの入力のいずれであるかを判定させ、
前記視覚キューが入力である場合、前記ベースコンピューティングデバイスにおいて前記視覚キューを処理させ、
前記入力に応答して、前記コンピュータプログラムによって処理中のオブジェクトの状態を更新させ、前記更新は、前記コントロールデバイスを介して前記コンピュータプログラムとのインタラクティビティを始動させるために使用されるシステム。
【請求項１８】
前記ベースコンピューティングデバイスは、前記球体部分の色を設定するために前記コントロールデバイスに信号を送信する請求項１７に記載のシステム。
【請求項１９】
前記コントロールデバイスのボタンの押下により前記球体部分の色が変化し、前記ベースコンピューティングデバイスは、前記色の変化を検出することによって、前記ボタンの前記押下を確立する請求項１７に記載のシステム。
【請求項２０】
較正手順が、前記コントロールデバイスに、所定の色のシーケンスで前記球体部分を照光させ、前記プロセッサに、
前記球体部分の前記色を検出するために、前記画像キャプチャデバイスからの複数の画像を解析させ、
前記検出された色に基づいて前記画像キャプチャデバイスを較正させる請求項１７に記載のシステム。
【請求項２１】
較正手順が、前記コントロールデバイスに、所定の色で前記球体部分を照光させ、前記プロセッサに、
前記球体部分を検出するために、前記画像キャプチャデバイスからの画像を解析させ、
前記検出された球体部分に基づいて前記画像キャプチャデバイスを較正させる請求項１７に記載のシステム。
【請求項２２】
前記コンピュータプログラムは、異なる環境条件下で実行した複数の較正手順のデータベースを保持し、前記コンピュータプログラムは、前記データベースおよび現在の環境条件に基づいて前記球体部分の色を選択する請求項２１に記載のシステム。
【請求項２３】
前記コンピュータプログラムは、前記複数の較正に基づいて、前記画像キャプチャデバイスの視野内の問題のある領域を特定する請求項２２に記載のシステム。
【請求項２４】
前記画像キャプチャデバイスのカメラゲインが、前記データベースおよび前記現在の環境条件に基づいて調整される請求項２２に記載のシステム。
【請求項２５】
前記コントロールデバイスは、追加のユーザフィードバックを提供するために音声を発生させる請求項１７に記載のシステム。
【請求項２６】
前記コントロールデバイスは音声を発生させ、前記音声が、前記ベースコンピューティングデバイスに接続された複数のマイクロフォンの少なくとも１つによって検出され、前記音声が前記コントロールデバイスの移動をトラッキングするために使用される請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントロールデバイスをコンピュータデバイスとインタフェースさせるための方法およびシステムに関し、より詳細には、視覚キューを使用して、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための方法およびシステムに関する。
【背景技術】
【０００２】
ビデオゲーム産業は、長年にわたって多くの変化を経験してきた。演算能力が拡大するにつれ、ビデオゲームの開発者も同様に、この演算能力の増大を利用するゲームソフトウェアを作成してきた。このために、ビデオゲームの開発者は、極めてリアルなゲーム体験を生み出すべく、高度な演算と数学を採用したゲームをコーディングしてきた。
【０００３】
ゲームプラットホームの例に、ソニープレイステーション（登録商標）、ソニープレイステーション２（登録商標）（ＰＳ２）およびソニープレイステーション３（登録商標）（ＰＳ３）があり、これらはそれぞれ、ゲームコンソールの形で販売されている。周知のように、ゲームコンソールはモニタ（通常はテレビ）と接続されて、手持ち式のコントローラによってユーザとのインタラクションを可能にするように設計されている。ゲームコンソールは、ＣＰＵ、処理量の多いグラフィック操作のためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトルユニットなどの特化した処理ハードウェアと、その他の繋ぎとなるハードウェア即ちグルーハードウェア、ファームウェアおよびソフトウェアなどを備えて設計される。また、ゲームコンソールは、ゲームコンソールによるローカルプレイを行うためにゲームのコンパクトディスクを受け容れるための光ディスクトレイを備えて設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒に対話的にプレイすることができるオンラインゲームも可能である。ゲームの複雑さがプレーヤの興味を引き続けていることから、ゲームおよびハードウェアのメーカは更なるインタラクティブ機能（インタラクティビティ）およびコンピュータプログラムを実現するために革新を続けてきている。
【０００４】
コンピュータゲーム業界においては、ユーザとゲームシステム間のインタラクションを増やすゲームを開発する傾向が広がっている。より多くのインタラクティブな体験を実現する１つのやり方として、プレーヤの動きをトラッキングして、この動きをゲームの入力として使用するために、ゲームシステムによって移動がトラッキングされる無線ゲームコントローラを使用する方法がある。一般的にいうと、ジェスチャ入力とは、コンピューティングシステム、ビデオゲームコンソール、インテリジェント家電（smart appliance）などの電子装置を、オブジェクトをトラッキングするビデオカメラがキャプチャした何らかのジェスチャに反応させることを指す。
【０００５】
本発明の実施形態は、この状況でなされたものである。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の実施形態は、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための方法およびシステムを提供する。前記コントロールデバイスの球形部分が、前記コンピュータプログラムに対する入力、あるいは前記コントロールデバイスを持っている前記ユーザへの視覚的フィードバックを提供する視覚キューを発生させる。本発明は、プロセス、装置、システム、デバイスまたはコンピュータ可読媒体上の方法など、多くの方法で実装することができる点を理解されたい。以下に本発明のいくつかの発明の実施形態を記載する。
【０００７】
一実施形態では、方法は、前記コントロールデバイスの球体部分において視覚キューを生成し、前記ベースコンピューティングデバイスに接続された画像キャプチャデバイスを使用して前記視覚キューの画像をキャプチャする。更に、前記方法は、前記視覚キューがユーザフィードバックまたは前記コンピュータプログラムへの入力のいずれであるかを判定し、前記視覚キューが入力である場合、前記ベースコンピューティングデバイスにおいて前記視覚キューを処理する。また、前記コントロールデバイスを介して前記コンピュータプログラムとのインタラクティビティを始動させるために、前記入力に応答して、前記コンピュータプログラムによって処理中のオブジェクトの状態が更新される。
【０００８】
別の実施形態では、方法は、ユーザフィードバックまたはコンピューティングデバイスへの入力の一方またはこの両方である視覚キュー要求を生成する。更に、前記方法は、前記視覚キュー要求がユーザフィードバックの要求である場合、前記コントロールデバイスの球体部分においてフィードバック用視覚キューを生成し、前記視覚キュー要求が入力の要求である場合、前記ベースコンピューティングデバイスにおいて前記入力を受信する。前記入力を受信する操作は、前記球体部分において入力用視覚キューを発生させ、前記視覚キューの画像をキャプチャし、前記ベースコンピューティングデバイスにおいて前記視覚キューの前記画像を処理する。前記視覚キューの前記画像は、前記コントロールデバイスと前記コンピュータプログラムとの間をインタラクションさせるために、前記コンピュータプログラムによって使用されるオブジェクトを更新するために使用される。
【０００９】
更に別の実施形態では、ユーザフィードバックおよびコンピュータプログラムへの入力のために視覚キューを使用するシステムが提供される。前記システムは、ベースコンピューティングデバイスと、コントロールデバイスと、前記ベースコンピューティングデバイスに接続された画像キャプチャデバイスと、を有する。前記ベースコンピューティングデバイスは、前記コンピュータプログラムを実行中のプロセッサを有する。前記コントロールデバイスは、視覚キューを発生させる球体部分を有し、前記画像キャプチャデバイスは、前記視覚キューの画像を撮像するために使用される。前記コンピュータプログラムからのプログラム命令が前記プロセッサによって実行されると、前記プログラム命令は、前記プロセッサに、前記視覚キューがユーザフィードバックまたは前記コンピュータプログラムへの入力のいずれであるかを判定させ、前記視覚キューが入力である場合、前記ベースコンピューティングデバイスにおいて前記視覚キューを処理させる。また、プログラム命令は、前記プロセッサに、前記入力に応答して、前記コンピュータプログラムによって処理中のオブジェクトの状態を更新させる。前記オブジェクトの更新は、前記コントロールデバイスを介した前記コンピュータプログラムとのインタラクティビティを始動させるために使用される。
【００１０】
本発明の他の態様は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【図面の簡単な説明】
【００１１】
【図１Ａ】ボール付ゲームコントローラの各種実施形態を示す。
【図１Ｂ】ボール付ゲームコントローラの各種実施形態を示す。
【図１Ｃ】ボール付ゲームコントローラの各種実施形態を示す。
【図１Ｄ】ボール付ゲームコントローラの各種実施形態を示す。
【図２Ａ】図１Ａ〜Ｂのゲームコントローラの各種動作モードを示す。
【図２Ｂ】図１Ａ〜Ｂのゲームコントローラの各種動作モードを示す。
【図２Ｃ】図１Ａ〜Ｂのゲームコントローラの各種動作モードを示す。
【図２Ｄ】図１Ａ〜Ｂのゲームコントローラの各種動作モードを示す。
【図３】一実施形態による、マルチプレーヤ環境、およびコントローラの位置を決定するための視覚情報の使用の模式図を示す。
【図４】一実施形態による、移動トラッキングを改善するためのセンサを有するコントローラを示す。
【図５Ａ】コントローラ上で視覚キューを発生させる各種実施形態を示す。
【図５Ｂ】コントローラ上で視覚キューを発生させる各種実施形態を示す。
【図５Ｃ】コントローラ上で視覚キューを発生させる各種実施形態を示す。
【図５Ｄ】コントローラ上で視覚キューを発生させる各種実施形態を示す。
【図６Ａ】描画アプリケーションにおいてコントロールデバイスをポインタとして使用する実施形態を示す。
【図６Ｂ】描画アプリケーションにおいてコントロールデバイスをポインタとして使用する実施形態を示す。
【図７Ａ】懐中電灯を模倣するために、コントロールデバイスを使用して、コンピューティングデバイスとインタフェースさせる各種異なる実施形態を示す。
【図７Ｂ】懐中電灯を模倣するために、コントロールデバイスを使用して、コンピューティングデバイスとインタフェースさせる各種異なる実施形態を示す。
【図８】シューティングアプリケーションにおいてコントロールデバイスを使用する実施形態を示す。
【図９】一実施形態による、コントローラ、およびディスプレイのメニューから項目を選択するためのコントローラの向きの情報の使用を示す。
【図１０】コントローラが発生させた視覚キューを使用してユーザフィードバックを提供する実施形態を示す。
【図１１Ａ】視覚キューをユーザフィードバックに使用する実施形態を示す。
【図１１Ｂ】視覚キューをユーザフィードバックに使用する実施形態を示す。
【図１２】一実施形態による、ユーザコントローラがカメラから隠れている場合のユーザフィードバックの実行を示す。
【図１３】一実施形態による、コントローラの移動を監視するための視覚キューと音声キューの組み合わせを示す。
【図１４】異なる照光条件下で、コントローラのボールの検出色を較正するための実施形態を示す。
【図１５Ａ】一実施形態による、ディスプレイ内でメニューを操作するためのコントローラの使用を示す。
【図１５Ｂ】一実施形態による、ディスプレイ内でメニューを操作するためのコントローラの使用を示す。
【図１６Ａ】コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための各種実施形態の方法を説明するフローチャートを示す。
【図１６Ｂ】コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための各種実施形態の方法を説明するフローチャートを示す。
【図１６Ｃ】コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための各種実施形態の方法を説明するフローチャートを示す。
【図１６Ｄ】コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための各種実施形態の方法を説明するフローチャートを示す。
【図１６Ｅ】コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための各種実施形態の方法を説明するフローチャートを示す。
【図１７】本発明の一実施形態による、コントローラの位置を決定するために使用されうるハードウェアおよびユーザインタフェースを示す。
【図１８】本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す。
【発明を実施するための形態】
【００１２】
本発明は、添付の図面を参照して以下の説明を読めば理解が深まるであろう。
【００１３】
以下の実施形態は、ユーザフィードバックと、コンピュータプログラムへの入力との両方を目的として、視覚キューを使用して、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための方法と装置を記載する。
【００１４】
しかし、本発明を、このような詳細な内容の一部または全てを用いなくても実施しうることは当業者にとって自明である。場合によっては、本発明を不必要に曖昧にすることのないよう、公知の処理操作は詳述していない。
【００１５】
図１Ａ〜１Ｄは、ボール付ゲームコントローラの各種実施形態を示す。図１Ａはコントローラ１０２の正面図であり、図１Ｂはその側面図である。球体部分１０４は、色を変えて照光する、明るさを変えて照光する、断続的に照光するなど、異なる方法で照光されうる。球体部分１０４が発生させる視覚キューは、コントローラを持っているユーザに視覚的フィードバックを提供するために使用され、時には、コントローラを持っているユーザと対話している他のユーザにもフィードバックを提供する。また、視覚キューは、コントローラ１０２の周辺の領域の画像を撮像する画像キャプチャデバイスを介して、ベースデバイスへの視覚的入力も提供することができる。一実施形態では、入力は、コントローラ１０２の正面のボタンパッド１１４を介して、あるいは、下ボタン１０８を介して提供されうる。ボタンパッド１１４は、アクションボタン用に構成されても、あるいは、方向指示パッドとして構成されてもよい。下ボタン１０８は、アプリケーション内で、発砲、物を拾う動作、懐中電灯の点灯・消灯などに使用されうる。スピーカ１０６は音声信号を発生させ、振動デバイス１１０はユーザに振動触覚的フィードバックを提供する。
【００１６】
図１Ｃは、コントローラ１０２の構成要素の例を示す。特許請求の範囲の趣旨および範囲内に規定されているコントローラの構成要素の数が増減してもよいが、この例示的な構成要素は、動作可能な例を定義するための電子部品、ハードウェア、ファームウェアおよびハウジング構造の例を示す。しかし、構成要素の数が増減してもよいため、このような構成要素の例は、特許を請求している本発明を制限するべきでない。上記を考慮に入れて説明すると、コントローラは、（ハンドヘルド式の）本体１５２と、球体部分１０４（ここでは「ボール」とも呼ぶ）を備える。本体１５２は、片手でコントローラ１０２を操作するためのハンドルとなるように構成されている。ユーザのもう一方の手は、当然、本体１５２のボタンを保持したり選択するために使用されうる。コントローラ１０２を持っているユーザは、ボタン（例えば上ボタン１５６および下ボタン１０８）を押下することによって、ならびに、三次元空間内でコントローラを動かすことによって入力を提供することができる。コントローラ１０２はワイヤレスで動作するように構成されており、これにより、コントローラ１０２がベースステーションデバイスと対話するために、コントローラを自由に動かすことが可能となる。無線通信は、ブルートゥース（登録商標）無線リンク、ＷｉＦｉ、赤外線（不図示）リンク経由などで行なわれたり、あるいは、ベースコンピューティングデバイスに取り付けられたカメラによって、デバイスの画像をキャプチャすることにより視覚的に行なうなど、複数の方法で実現することができる。
【００１７】
視覚による通信は、比較的大きなボール１０４をカメラに向けることによって改善され、このボール１０４が、視覚認識を改善するために照光されうる。ボールが、コントローラの向きを問わず、キャプチャされた画像内で常に円形（または部分円）として感知されるため、球体部分を使用することで視覚認識が改善される。一実施形態では、ボールの直径と、ハンドル１５２の断面の最大径との比は約１であるが、１．２、１．４、０．９、０．８などの他の比率も可能である。ボールは本体１５２に連結されているため、ハンドル１５２によってボールの一部が隠されて認識できない。一実施形態では、ボール１０４の表面の９０パーセントを認識可能であるが、９９％（棒キャンディ形状）、８５％、８０％、７５％などの他の認識可能割合も可能である。一般に、カメラによってボールを認識可能であり、認識可能な表面が多少の曲率（例えば、球状の曲率）を有することが望ましい。
【００１８】
ボール１０４は、発光素子１５６によって照光される。一実施形態では、発光素子１５６が、単色光を発しても、別の実施形態では、発光素子１５６が、選択された色の光を発するように構成されてもよい。更に別の実施形態では、ボール１０４が、それぞれ単色光を発する発光素子を複数の備えてもよい。発光素子１５６は、異なる明るさレベルで発光するように構成可能である。ベースコンピューティングデバイスは、ボール１０４の発光状態を変更することによって、コントローラを持っているユーザとのインタラクティビティを提供したり、音声信号を発生させたり、振動触覚的フィードバックなどを提供してもよい。これらのフィードバック操作のいずれか、またはこれらの組み合せが可能である。一実施形態では、フィードバックの種類が、あらかじめ定義されたインタラクティビティの一覧から、ゲームで発生中のイベントに基づいて選択される。
【００１９】
ボール１０４が発生させる視覚キューは、ベースコンピューティングデバイスへの視覚的入力を提供するか、ユーザへのフィードバックを提供するか、この両方を行なうために使用されうる。また、視覚キューは、ベースデバイスからコマンドが送信された場合、あるいは、予め設定された状態（例えば、ボタンの押下、あるいはコントローラの高速移動など）の発生がコントローラ１０２によって検出された場合にも発せられてもよい。視覚キューの生成およびその目的の異なる組み合せにより、コントローラが異なるモードに移行しうる。あるモードでは、ベースコンピューティングデバイスは、ボール１０４が発する光を、望ましい状態（例えば緑に発光するなど）に設定するために、コントローラにコマンドを送信し、その後、ベースコンピューティングデバイスは、コントローラの視覚トラッキングを続ける。別のモードでは、ベースコンピューティングデバイスは、望ましいイベント（発砲を模倣するボタンの押下など）が発生するたびに視覚キューを発生させるように、コントローラにコマンドを送信する。次に、ベースコンピューティングデバイスは、コントローラの視覚状態をトラッキングし、撮像されたコントローラの画像を解析することによって、コントローラのイベントを検出しうる。このモードでは、ボタンの押下時に光を点滅させるなどの視覚キューが、ユーザへのフィードバックを提供してもよい。
【００２０】
更に別のモードでは、視覚キューの主な用途がユーザにフィードバックを提供することにあり、例えば、プレイしているゲームの状態を表す色に、ボールを発光させることなどが行なわれる。図６Ａ〜Ｂを参照して、下記に記載のディスプレイ描画アプリケーションの一例を参照されたい。視覚キューの用途がユーザフィードバックを提供する場合であっても、ベースコンピューティングデバイスは、視覚キューの色を認識しているか、任意の時点でボールが発生させ得る異なる視覚キューを監視することが可能であるため、ベースコンピューティングデバイスが、ボール１０４を視覚トラッキングするなど、キューを入力にも使用することができる点に留意すべきである。
【００２１】
本体１５２内のプリント回路基板１６０は、プロセッサ１５４、入出力（Ｉ／Ｏ）モジュール１５８、メモリ１６２、ＷｉＦｉモジュール１７８およびブルートゥースモジュール１６４を有し、これらがバス１７２によって相互接続されている。また、ユニバーサルシリアルバス（ＵＳＢ）モジュール１６６は、ベースコンピューティングデバイス、あるいは、ＵＳＢポート１７４に接続されている他のデバイスとのインタラクティビティを提供する。更に、ＵＳＢポートは、充電式バッテリ１６８を充電するためにも使用されうる。振動触覚モジュール１７０によって振動触覚的フィードバックが提供される。
【００２２】
上記のコントローラの構成および動作方法は例示に過ぎず、本明細書を参照する多くの当業者は、一部の要素の並び替えおよび／または一部の操作の並列実行を含む多くの変更例を想到でき、これらも同様に、特許を請求している本発明の範囲に含まれる。例えば、図４を参照して後述するように、コントローラ１０２が、コントローラの動きを機械的にトラッキングするためのセンサも備えてもよい。
【００２３】
図１Ｄは、エンタテインメントシステムの各種構成要素のブロック図である。ベースコンピューティングシステムとその構成要素とが図１Ｄの左側に図示され、プレーヤ環境が右側に図示されている。ベースコンピューティングシステムは、プロセッサ、メモリ領域、クロック、および通信インタフェースを有する。通信インタフェースは、ＷｉＦｉ（登録商標）プロトコルを使用した通信など、コントローラとの無線通信のためのラジオ周波数（ＲＦ）インタフェースを有する。他の通信方法として、画像キャプチャ、音声の送受信（本実施形態では超音波）、発光素子などが挙げられる。
【００２４】
ベースコンピューティングシステムに接続された各種通信デバイスが、コンピューティングシステム内部の個々のコントローラに接続している。メモリ領域には、実行中のプログラム、画像処理領域、音声処理領域、およびクロック同期領域が含まれる。実行中のプログラムには、ゲームプログラム、画像処理プログラム、音声処理プログラム、クロック同期プログラムなどが含まれる。これらのプログラムは、メモリの対応する領域を使用し、このような領域には、画像データを含む画像処理領域、超音波通信データを含む音声処理領域、遠隔デバイスとの同期に使用されるクロック同期領域などが挙げられる。
【００２５】
いくつかのコントローラ構成の実施形態が、プレーヤ環境領域に図示されている。コントローラＡは、上で説明した特徴の多くを有する「フル搭載」コントローラである。コントローラＡは、ベースコンピューティングシステムとのクロック同期に使用されるクロック同期（ＣＳ）モジュール、超音波データを受信するための音声受信器（ＳＲｘ）、超音波データを送信するための音声送信器（ＳＲｘ）、コンピューティングシステム７００とのＷｉＦｉ通信のためのＷｉＦｉ（ＷＦ）モジュール、コントローラの前面および／または側面との間で音声を伝達するためのアコースティックチェンバ（ＡＣ）、画像データをキャプチャするためのデジタルビデオカメラ等の画像キャプチャ（ＩＣ）デバイス、ならびにコンピューティングシステム７００の画像処理モジュールから画像認識をしやすくするための赤外スペクトルまたは可視スペクトル域の発光素子（ＬＥ）を有する。
【００２６】
また、コントローラＡは、リモートキャプチャデバイスによる画像認識を改善するための球形部分（不図示）も備える。球形部分は、画像キャプチャデバイスの隣にある発光素子によって送られ、画像キャプチャデバイスのほうに反射される光量を増加させる再帰反射材料を備える。発光素子が生成する光は、赤外スペクトルまたは可視スペクトル域にあり、このため画像キャプチャデバイスも同じ光スペクトル域で動作する。コントローラＡ内の各種構成要素が、コントローラＡ内部で別個のデバイスまたはモジュールとして実装されてもよい。別の実施形態では、実装を小型化するために、コントローラＡ内の各種構成要素が少数の一体化部品にグループ化されている。また、ゲーム端末またはコンピュータへの接続時にコントローラの充電が可能となるように、各種コントローラが、１つ以上のＵＳＢプラグを有してもよい。
【００２７】
所定のコントローラの使用用途によっては、コントローラＡに関して説明した機能よりも、機能を省いた簡単な構成を使用することができる。コントローラＡについて説明した機能の一部分を使用するコントローラＢ〜Ｅに関して、より簡潔なデバイスの実施形態のいくつかが図示されている。当業者は、本発明の原理が保たれる限り、本発明の趣旨の範囲内で、構成要素を追加または省略することによる同様な構成が可能であることを容易に認めるであろう。
【００２８】
図２Ａ〜２Ｄは、図１Ａ〜Ｂのゲームコントローラの各種動作モードを示す。図２Ａは、ボール部分がコントローラの下に存在し、上に入力ボタンがある「逆ワンド」動作を示す。この形態では、コントローラは、球体を回転させることによりアーケードフライトスティックとして使用されうる。一実施形態では、慣性ユニットが「棒」（コントローラ）の角度およびねじれを提供し、上面には方向指示パッドが設けられている。この動作モードは、発砲、運転、フライトゲームなどで使用することができる。一実施形態では、コントローラは、逆ワンド構成において人差し指用ボタンと中指用ボタンを備える。このため、２本の逆ワンドコントローラは、ソニー・コンピュータエンターテインメント・アメリカ社が販売しているＳｏｎｙ  ＤｕａｌＳｈｏｃｋ（登録商標）２コントローラと同じ機能を提供することになる。
【００２９】
図２Ｂは、「鉛筆」構成で隠すように持っている状態の（behind held）コントローラを示す。ボールは視覚認識のためにカメラを向いており、コントローラの本体のボタンによるユーザ入力が可能である。このモードは、コントローラが絵筆、懐中電灯、ポインタ、火器などのゲームで使用されうる。図２Ｃは、ワンドモードでのコントローラの使用を示す。一実施形態では、ワンドはハンドル上部に２つの親指ボタンと、人差し指用のトリガとを備えるが、ほかの構成も可能である。ワンドモードは、魔法の杖、指揮者のタクト、テニスラケット、手斧または同様の武器、つるはし、傘、ロープなどの道具として使用することができる。
【００３０】
図２Ｄは、入力ボタンを作動させるなどのため親指がコントローラ上部に掛けられている第２のワンドモードのコントローラを示す。人差し指が、コントローラの下にあり、ボタン（この場合「発砲」ボタン）を押すこともできるが、他のアプリケーションでは発砲以外にもこのボタンを使用することができる。この第２のワンドモードは、懐中電灯、武器の発砲、メニュー選択用のディスプレイポインタなどとして使用することができる。
【００３１】
図３は、一実施形態による、マルチプレーヤ環境、およびコントローラの位置を決定するための視覚情報の使用の模式図を示す。画像キャプチャデバイス３０２は、プレーヤＡ３０６ＡおよびプレーヤＢ３０６Ｂが含まれるプレイフィールドの画像を取得する。この画像が解析されて、ボール付コントローラＣ１，Ｃ２，Ｃ３，Ｃ４の位置が取得され、この入力が、ディスプレイのアバター３１０ａ，３１０ｂの動作に変換される。一実施形態では、この４台のコントローラは、球体部分（時として「ボール」と呼ばれる）を有し、これらが、異なる色で照光されており、コントローラ同士を視覚により識別することができる。例えば、コントローラＣ１は赤、Ｃ２は黄色、Ｃ３は白、Ｃ４は青に発光している。この色の選択は例示に過ぎず、他の多くの色の組み合せが可能である。一実施形態では、コントローラの動きが、プレーヤが仮想の凧を飛ばすゲームのプレイに使用されるが、空手戦闘ゲーム、シューティングゲーム、剣の戦闘ゲーム、仮想世界など、他の多くのアプリケーションも可能である。
【００３２】
一部の実施形態では、コントローラの光は、プレーヤが「撃たれた」場合に残存寿命の量を通知したり、コントローラがカメラから隠れて認識できない時に通知するなど、ユーザへのフィードバックを提供するために使用される。カメラのピクチャを介して視覚的入力を提供するモードと、ユーザフィードバックを提供するモードの２つのモードは、同時に使用することができる。一実施形態では、ユーザフィードバックを提供するためにボールが照光されるたびに、ベースデバイスは、コントローラのボールの照光に関連する情報を使用して、ボールの照光に関連する色を探すために、画像キャプチャデバイス３０２が撮像した画像を解析する。例えば、一動作モードでは、プレーヤがコントローラのボタンを押すと、コントローラはこの操作に応答してボールを照光する。ベースデバイスは、ボールの視覚状態を監視し、ボールが照光されていることをベースデバイスが検出すると、ベースデバイスは、このイベントを処理して、プレーヤがボタンを押したことを示す。
【００３３】
図４は、一実施形態による、移動トラッキングを改善するためのセンサを有するコントローラを示す。実施形態によって、磁力計、加速度計、ジャイロスコープなどのセンサの組み合せが異なる。加速度計は加速度と、重力に起因する反力とを測定するための装置である。異なる方向での加速度の大きさおよび方向を検出するために、一軸モデルと多軸モデルとを使用することができる。加速度計は、傾斜、振動および衝撃を検出するために使用される。一実施形態では、２角度（世界空間ピッチおよび世界空間ロール）の絶対基準となる重力の方向を提供するために、３台の加速度計が使用される。コントローラが５Ｇ超の加速度を受ける可能性もあり、このため、５Ｇ超の力でも動作可能な加速度計が、コントローラ４０２内部に使用されている。
【００３４】
磁力計は、コントローラの近くの磁界の強度と向きとを測定する。一実施形態では、コントローラ内部に３台の磁力計４１０が使用されており、世界空間ヨー角度の絶対基準を規定している。磁力計は、±８０マイクロテスラである地磁界の範囲をカバーするように設計されている。磁力計は、金属の影響を受け、実際のヨーと単調関係を示すヨー測定値を提供する。磁界は、環境に存在する金属の影響で歪むことがあり、このため、ヨー測定値に歪みが生じる。必要に応じて、この歪みを、ジャイロ（下記参照）またはカメラからの情報を使用して較正することができる。一実施形態では、加速度計４０８は、コントローラの傾斜および方位角を取得するために、磁力計４１０と共に使用される。
【００３５】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定および保持するための装置である。一実施形態では、３台のジャイロスコープが、検知された慣性に基づいて、各軸（ｘ、ｙおよびｚ）の移動に関する情報を提供する。ジャイロスコープは、高速回転の検出を補助する。しかし、ジャイロスコープは、絶対基準が存在しなければ、時間が経つとずれが生じることがある。このため、ジャイロスコープの定期的なリセットが必要であり、このリセットは、ボール４０４の視覚トラッキング、加速度計、磁力計など等の他の入手可能な情報を使用して行なうことができる。ハンドヘルドデバイスは５００°／秒より高速に回転することがあるため、１０００°／秒を超える性能を有するジャイロスコープが推奨されるが、これより低い値でもよい。
【００３６】
位置および向きの検出を改善するために、異なる情報源からの情報が組み合わされうる。例えば、ボールが視界から消えた場合、加速度計の向き検知を使用して、コントローラがカメラの方を向いていないことが検出される。一実施形態では、コントローラ４０２は、プレーヤに音声によるフィードバックを提供するためのスピーカ４１２を備える。ボールを認識できない場合、コントローラはビープ音を発生させて、コントローラを正しい方向に向けるか、またはプレイフィールドに戻るようプレーヤを促すことができる。
【００３７】
図５Ａ〜５Ｄは、コントローラ上で視覚キューを発生させる各種実施形態を示す。一実施形態では、ボール全体が照光される。図５Ａの実施形態では、ボールがいくつかの球形キャップを備え、この球形キャップが照光されうる。球形キャップが、全て同時に同じように照光されても、あるいは、異なるタイミングで、異なる色かつ異なる明るさで、個々に照光されてもよい。例えば、使用可能なリソース（例えば寿命）の量を示すために、球形キャップが照光されうる。初期状態では、全ての球形キャップが照光され、リソースの減少に伴い、順に消光されたり、逆に、初期状態では全てのキャップが照光されておらず、キャップが順に照光されていき、最終的に全てのキャップが照光されてもよい。一実施形態では、球形キャップと共にボール全体も照光されてもよい。
【００３８】
球形キャップの概念は、図５Ｂに示すような複数の「ドット」、すなわち、非常に小さな球形キャップに拡張することができる。一実施形態では、このドットは、光信号を伝達するファイバグラスのファイバ端に対応している。更に別の実施形態では、ボールが、図５Ｃの３本のリングなどの、異なる照光パターンを有する。図５Ｄは、互いに直行する２本のリングを有するボールを示す。別の実施形態では、コントローラを向いているリングの一部は、カメラによってキャプチャされることがほとんどないため、リングの全てを照光せず、これによりリングの製造コストとバッテリ消費とを削減できる。一実施形態では、リングの２７０°の円弧のみが照光されるが、他の値も可能である。
【００３９】
図６Ａ〜６Ｂは、描画アプリケーションにおいてコントロールデバイスをポインタとして使用する実施形態を示す。コントローラ６０２の向きが、ベースデバイスによって計算され、これにより、コントローラ６０２をポインティングデバイスとして使用可能となる。図６Ａ〜Ｂに示す実施形態では、ユーザが、コントローラ６０２を、ディスプレイ上のカラーパレット６１０に向けており、カーソルが選択したい色をポイントしたときに入力ボタンを押すことにより、描画に使用する色を選択する。色が選択されると、コントローラ６０２のボールが選択された色で照光される。
【００４０】
次にユーザが、ポインタをディスプレイ上の描画領域に動かすと、描画領域では、カーソルが、仮想の手６１２が持っている絵筆６０６に変わるが、他のカーソル表現も可能である。コントローラのボタンが押下されると、選択された色の線でオブジェクト６０４が描画される。ディスプレイの別々の領域が、描画オブジェクト（線、円、長方形、消しゴムなど）の選択、描画オブジェクトの太さの選択などの、他の入力を提供するように構成されてもよい。
【００４１】
一実施形態では、ズームオプションを使用することができる。ユーザが図６Ａのズーム領域６０８を選択すると、図６Ｂに示すように、描画キャンバスの領域の一部分がディスプレイに表示される。一実施形態では、ズームイン表示内でカーソル６０６と手６１２が拡大され、自然なルックアンドフィールをユーザに与える。別の実施形態では、拡大表示でカーソルのサイズが変更されない。
【００４２】
図７Ａ〜７Ｂは、懐中電灯を模倣するために、コントロールデバイスを使用して、コンピューティングデバイスとインタフェースさせる異なる実施形態を示す。図７Ａは、アプリケーションとインタフェースする球体部分を有するコントローラの使用を示し、このアプリケーションはコントローラ入力を処理して、懐中電灯を持っているアバターの動きを制御する。すなわち、コントローラを保持しているプレーヤが、コントローラを懐中電灯として操作し、アバターもプレーヤの動きと連動して懐中電灯を操作する。アバターが懐中電灯を動かすと、ディスプレイの異なる領域が「照光」されて、その領域の内容が表示される。
【００４３】
コントローラとインタフェースしているベースコンピューティングデバイスは、例えば、図４を参照して上で説明した方法のように、コントローラ内蔵のセンサと併せて、球体部分の画像認識を使用してコントローラの向きを決定し、これにより、ベースコンピューティングデバイスが、コントローラをポインティングデバイスとして使用することが可能となる。
【００４４】
図７Ｂは、図７Ａを参照して説明した、検出したコントローラの向きを使用する。しかし、プレーヤが、コントローラを、ディスプレイの異なる部分に直接向けると、懐中電灯がディスプレイのその部分を「照らす」という点で、画面上の効果が異なる。図７Ａ，７Ｂに示した実施形態は、ポインティングデバイスとしてのコントローラの例示的な使用に過ぎないという点を理解すべきである。他の実施形態は、検出したコントローラの向きの別の処理を使用しても、あるいは、他の用途にコントローラのポインティング特性を使用してもよい。このため、懐中電灯のアプリケーションに適用した図７Ａ，７Ｂに示した実施形態は、排他的あるいは限定的なものと解釈すべきではなく、例示または説明を目的としたものに過ぎない。例えば、コントローラの向きが、メニューの選択、シューティング、アイテム収集、ファイティングなどのアプリケーションに使用されてもよい。このような例の１つが、シューティングアプリケーションでコントロールデバイスを使用するための実施形態を示す図８に図示されている。
【００４５】
ディスプレイには、シューティングの標的が表示されており、コントローラは、人差し指で操作するための、下に設けた発砲ボタンを備えるが、他のボタン構成も可能である。使用時に、プレーヤは、標的に焦点を合わせ、発砲ボタンを押して「発砲」する。ベースコンピュータデバイスは、検出したコントローラの位置および向きを使用して、ディスプレイ上の仮想弾丸の衝撃を推定する。一実施形態では、ディスプレイは、ユーザが発砲の精度を上げるのを支援するための十字線カーソルを表示する。
【００４６】
一実施形態では、ディスプレイに対するコントローラの相対位置を推定するために、発砲を行なう前に較正手順が実行される。図１４，１６Ｄ〜Ｅを参照して後述するコントローラを較正するための異なる実施形態を参照のこと。
【００４７】
図９は、一実施形態による、コントローラ、およびディスプレイのメニューから項目を選択するためのコントローラの向きの情報の使用を示す。オプションの組（この場合、使用可能な色の組）が、ディスプレイのユーザに提示されており、ユーザは、コントローラのポインティング機能を使用して、ディスプレイ内でカーソルを動かし、使用したいオプション（コントローラの球体部分を照光するための色など）を選択する。このようなオプションはマルチプレーヤ環境で使用され、ユーザに異なる色を選択させており、これにより、ベースコンピューティングデバイスが、複数のコントローラを視覚的に区別したり、任意選択で、対応するユーザを表わすディスプレイの一部のオブジェクトに、色を割り当てることが可能となる。
【００４８】
別の実施形態では、色の選択が、較正手順で使用される。ある較正手順では、ユーザが、較正する色を選択し、コントローラのボールが、この選択された色で照光され、コントローラの画像が撮像され、画像が解析されて、選択された色が画像キャプチャデバイスによってどのように検出されるかが求められる。別の色を選択して、選択した色を同様に較正することにより、このプロセスが繰り返されうる。
【００４９】
コントローラの球体部分を照光するなどの、コントローラが発生させる視覚的フィードバックを、さまざまに使用することができる。図１０は、コントローラが発生させた視覚キューを使用してユーザフィードバックを提供する実施形態を示す。ファイティングゲームで、画面上のファイターが撃たれるか負傷すると、コントローラボールが、特定の時間（例えば１秒間）所定の色（例えば赤）で照光されるが、他の値も可能である。別の実施形態では、逆のプロセスが行なわれてもよく、プレーヤが負傷するか撃たれるまでコントローラが照光され、プレーヤが負傷するか撃たれると、一定時間ボールが消光される。更に別の実施形態では、視覚的フィードバックが、コントローラを振動させたり、音声を発生させるなどの他のフィードバック形式と組み合わされてもよい。
【００５０】
記載したユーザフィードバックを行なうための照光の使用方法は例示に過ぎず、他の多くの組み合せが可能である点に留意されたい。一実施形態では、照光が特定の時点で周期的に行なわれ、周期的な照光の頻度をフィードバックとして使用することができるが、所定の効果に応じて他の多くのフィードバック形式も可能である。
【００５１】
図１１Ａ〜Ｂは、視覚キューをユーザフィードバックに使用する実施形態を示す。図１１Ａは、一実施形態による、同時に２人のユーザに対してユーザフィードバックを行なうための視覚キューの使用を示す。初期状態では、２人のユーザはいずれも、「完全な寿命」すなわち所定のエネルギー量、あるいは再生中に値が変動する他の何らかの同様のプレーヤに関連するオブジェクトを有する。「完全な寿命」には、緑などのボール色が割り当てられている。プレーヤの寿命が減少するのに伴い、寿命が完全に尽きるまでボールの色が変化する。色のシーケンスの例としては、緑、黄色、オレンジ、赤が挙げられるが、他のシーケンスも可能である。
【００５２】
別の実施形態は、球体部分の明るさをフィードバックとして使用し、例えば、ボールが発する光の強さを弱めていき、「寿命」が尽きたときにボールを消光してもよい。この場合、明るさが寿命の量を表わすため、コントローラにプレーヤごとに異なる色を使用することが可能となる。
【００５３】
図１１Ｂは、ユーザフィードバックに明るさを使用するための各種方法を示すグラフである。初期状態では、最大明るさ度で、初期状態のオブジェクト（ゲーム内のプレーヤのキャラクタの残存寿命など）が表現される。オブジェクトの値が減少する、例えば、残存寿命の量の減少に伴い、明るさが弱くなっていく。線１１５４は、明るさが、初期値と最終値の間で直線状に減少する実施形態を示す。カーブ１１５２は、プレーヤの寿命が終わりに近づくのに伴い、明るさの変化がより強調される実施形態を示す。段階的カーブ１１５６は、明るさが、残存寿命の量の境界によって決定されるインクリメンタルな値で変化する実施形態に対応している。インクリメンタルな値を使用することにより、明るさの変化がより強調され、ユーザが気づきやすくなる。別の実施形態では、ボールに炎のような効果を作り出すようにボールの明るさが調整されてもよい。
【００５４】
一部の実施形態では、明るさを、フィードバックの他の形式（例えばボール色または断続的な照光）と組み合わせる。段階的カーブ１１５６の部分１１５８は、破線で図示されており、この箇所では、寿命がわずかであることをユーザに知らせるためにボールが点滅する。本願を所有する当業者であれば、他の組み合わせも容易に想到できるであろう。例えば、上記の明るさの処理を逆に行ない、ユーザの明るさ値の初期値は低い値を取るが、次第に上がり、寿命が尽きたときに高い明るさ値を取ってもよい。キャプチャしたコントローラおよびその周囲の領域の画像においてボールの位置を検出する際のユーザフィードバックの現在の状態を使用することにより、ユーザフィードバックのための球体部分の使用を、コントローラの視覚位置決定と組み合わせることができる。
【００５５】
図１２は、一実施形態による、ユーザコントローラがカメラから隠れている場合のユーザフィードバックの実行を示す。一実施形態では、コンピューティングシステムは、コントローラ１２７０のボールの視覚トラッキングを使用する。ボールが隠れた場合、例えば、コントローラが軌道１２８２を追跡中に、ボールがプレーヤの頭の後ろに移動したために隠れた場合、システムは推測航法を使用する。推測航法（ＤＲ）は、既定の位置すなわち定点に基づいて現在位置を推定し、既知の速度、経過時間および針路に基づいてこの現在位置を進めるプロセスである。ボールが隠れている間は（領域１２７４）推測航法が使用される。領域１２７８においてボールが再び見えるようになると、視覚トラッキングが再開される。
【００５６】
ボールが遮蔽領域１２７４に入ると、ベースコンピューティングデバイス（computing based device）は、ユーザに通知するためのユーザフィードバックを発生させるようコントローラに指示する。このフィードバックは、異なる種類（例えば視覚、音声または振動触覚による）のフィードバックでもよい。視覚的フィードバックとしては、全てのライトを断続的に点灯させたり、赤などの例外的な色でボールを照光したり、ボールを消光したり、各色を０．５秒間点灯させて、虹等の色のシーケンスを発生させるなどが挙げられる。
【００５７】
図１３は、一実施形態による、コントローラの移動を監視するための視覚キューと音声キューの組み合わせを示す。コントローラ１３１４は音声を発生させ、この音声がマイクロフォン１３０６によってキャプチャされてベースデバイス１３０４によって使用され、コントローラの動きがトラッキングされる。コントローラが発生させた音声信号は、聴取可能でも聴取不能でもよく、マイクロフォン１３０６によってキャプチャされた音声を処理することにより、飛行時間深度（ｚ次元）のトラッキングに使用される。また、音声信号が、位相アレイのｘトラッキングに使用されてもよい。この音声位置トラッキングを、コントローラの球体部分の視覚トラッキングなどの、他の形式の位置トラッキングと組み合わせることができる。音声位置トラッキングに関する更に詳しい内容については、２００６年５月４日出願の米国特許出願第１１／４２９，１３３号「コンピュータ対話型処理と共に使用する選択的音源聴音（Selective Sound Source Listening In Conjunction with Computer Interactive Processing）」に記載されており、同出願を参照によりここに援用する。
【００５８】
図１３に示す実施形態では、プレーヤ１３０２が、野球のボールを投げようとしている。コントローラの動きが、ビデオ信号と音声信号の組み合せによってトラッキングされ、このピッチング動作が、ディスプレイ１３１０に表示されているゲームでのボールのピッチングに変換される。
【００５９】
図１４は、異なる照光条件下で、コントローラのボールの検出色を較正するための実施形態を示す。また、図１４は、プレイフィールドにおける照光条件に応じて検出を改良するために、ボール４６０を有するコントローラの外観の変更、修正または改良方法も示す。
【００６０】
較正時に、プレーヤは、コントローラをカメラの方に向ける。ベースコンピューティングデバイスは、コントローラに、ボール４６０を照光するように命令を送り、コントローラの画像がカメラによって撮像される。次に、この画像がベースコンピューティングデバイスによって解析され、較正に関連するキャプチャ値（例えば色、明るさ、コントラスト、較正時間、カメラパラメータなど）が評価される。一実施形態では、異なる色条件下で、ボール４６０の視認性に関する情報を更に収集するために、このプロセスが、ボール４６０を異なる色で照光しながら数回繰り返される。別の実施形態では、プレイフィールド全体の画像に基づいて、ボールに対して第１の較正が実行される。ボールの位置がプレイフィールド内で特定されると、カメラが、ボールが存在する領域にズームインされ、高解像度で撮像したボール４６０の画像に対して第２の較正が実行される。２種類の異なる較正法に関する詳細については、図１６Ｄ，１６Ｅを参照して下記を参照のこと。
【００６１】
上記の較正補正法は、プレーヤが行なう動作によって開始されてもよいが、ベースコンピューティングデバイスで実行中のコンピュータプログラムによって自動化され開始されてもよい。例えば、新しいゲームの開始時や、プレーヤがゲーム中であっても定期的に較正を行なうことができる。これにより、ベースデバイスは、位置トラッキングプロセスを調整して、照光条件の変化に対処することが可能となる。
【００６２】
プレイフィールドが、太陽４６２からの光が入り込む窓などの光源（自然光源または人工光源）の近くに存在する場合、視覚検出が、時刻、プレイフィールドの光量の影響を受けることがある。また、ボールの外観も、太陽光線からの入射角に影響される。例えば、日光がボールの正面に当たった場合、背面に当たった場合、側面に当たった場合では、ボールの外観が変わる。同様に、ランプ４６４（など）は、ランプが点灯か消灯かに応じて視覚検出に影響しうる。
【００６３】
一実施形態では、コンピュータプログラムは、照光条件に応じて、ボールの照光方法を調整する。例えば、ボールを明るく照光すると、低環境光条件における検出を改善でき、ボールを暗い色にすることで、明るい光条件における検出を改善することができる。
【００６４】
それぞれの較正で得た較正データは、プレイ条件のパターンの決定時の解析のためにデータベースに記録され、これにより、コンピューティングシステムが、変化する環境に適合することが可能となる。例えば、午後２時から３時の間に、部屋に、カメラの視野の左側から直射日光が差し込む場合に、パターンが検出されるとする。この情報を使用して、ボールの使用方法が調整されたり、あるいは、ユーザが環境を変える（部屋の窓のブラインドを下ろすなど）ことができるように、視覚検出条件が困難であることに関する情報がユーザに提供されうる。下記の表１は較正およびトラッキングデータベースに関連するパラメータの例を示すが、他のパラメータも可能である。
【表１】
0005681633.tif 000002
【００６５】
図１５Ａ〜Ｂは、一実施形態による、ディスプレイ内でメニューを操作するためのコントローラの使用を示す。図１５Ａは、プログラムオプションを選択するためのグラフィカルユーザインターフェイスの画面表示を示す。ワイヤレスコントロールデバイスがポインタとして使用され、使用したいオプションの上にカーソルがあるときに選択ボタンを押すことによって、そのオプションを選択することができる。オプションとしてコントローラを使用するための一実施形態は、図７Ｂを参照して上で記載した。図１５Ｂは、各メニュー内で異なるメニューおよびオプションを表わす、ツリー形式の例示的なデータ構造を示す。トップメニューには、較正手順を開始するための「較正」、コントローラの動作モードを設定するための「モード」、コントローラのボールの色を選択するための「色の選択」の３つのオプションが存在する。
【００６６】
図１６Ａ〜１６Ｅは、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるための各種実施形態の方法を説明するフローチャートを示す。図１６Ａは、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとデバイスをインタフェースさせるための方法のフローチャートを示す。操作２４０２において、本方法は、コントロールデバイスの球形部分において視覚キューを発生させる。視覚キューの一例として、図５Ａ〜Ｄ，８，１０，１１Ａなどを参照して記載した、球形部分の照光が挙げられる。操作２４０４において、視覚キューの画像がベースコンピューティングデバイスにおいてキャプチャされ、操作２４０６において、視覚キューが、ユーザフィードバック用またはコンピュータプログラムへの入力用のいずれであるかが判定される。視覚キューが入力である場合、操作２４０８において、本方法は、ベースコンピューティングデバイスにおいて視覚キューを処理する。操作２４１０において、本方法は、入力に応答して、コンピュータプログラムによって処理中のオブジェクトの状態を更新する。オブジェクトの更新は、コントロールデバイスを介したコンピュータプログラムとのインタラクティビティを始動させるために使用される。
【００６７】
図１６Ｂは、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとデバイスをインタフェースさせるフローチャートを示す。操作１６２２において、本方法は、ユーザフィードバックまたはコンピューティングデバイスへの入力、あるいはこの両方である視覚キュー要求を生成する。時として、視覚キューがユーザフィードバックのみに使用されることがあり、例えばプレーヤが撃たれたときにボールが赤く照光することがある。また、視覚キューが入力のみに使用されることもあり、例えば、ベースコンピューティングデバイスによって複数のコントローラを視覚トラッキングするために、数台のコントローラを異なる色で照光することがある。場合によっては、視覚キューが、ユーザ入力と、コントローラの視覚認識との両方に使用されることもある。例えば、ベースコンピューティングデバイスが、緑に照光されているコントローラを視覚トラッキングしており、ベースコンピューティングデバイスが、ボールを赤に変更してユーザフィードバックを提供するように要求する。次に、ベースコンピューティングデバイスは、緑色または赤色を予期しつつ、撮像されたコントローラの画像を解析する。このように、ユーザフィードバックを提供するためにコントローラの色が変わった場合であっても、ベースデバイスはコントローラをトラックし続けることができる。コンピュータプログラムの進行に応じて、視覚キューの処理の異なるモードが、セッション中に切り換えられうる。
【００６８】
操作１６２４において、視覚キュー要求がユーザフィードバックの要求であるかがチェックされ、ユーザフィードバックの要求である場合、本方法は、操作１６２６に進み、そうでない場合は操作１６２８に進む。操作１６２６において、コントロールデバイスの球形部分においてフィードバック用視覚キューが発せられる。操作１６２８において、この視覚キューがコンピューティングデバイスへの入力の要求であるかを判定する第２のチェックが行なわれる。キューが入力用の場合、方法は操作１６３０に進み、この操作には、３つの異なる操作１６３２，１６３４，１６３６が含まれる。キューが入力用ではない場合、本方法は終了する。
【００６９】
操作１６３０において、本方法は、ベースコンピューティングデバイスにおいてこの入力を受け取る。操作１６３２において、球形部分において入力用視覚キューが発せられ、操作１６３４において視覚キューの画像がキャプチャされる。操作１６３６において、本方法は、ベースコンピューティングデバイスにおいて視覚キューの画像を処理して、コントロールデバイスとコンピュータプログラムとをインタラクションさせるために、コンピュータプログラムによって使用中のオブジェクトを更新する。
【００７０】
図１６Ｃは、セッション中に視覚キュー要求を処理するためのフローチャートを示す。操作１６６４において、本方法は、視覚キュー要求を受信するまで待機する。要求を受け取ると、操作１６７０において、この要求がユーザフィードバックの要求であるかがチェックされる。ユーザフィードバックの要求ではない場合、すなわち、コンピューティングデバイスへの入力の要求である場合、本方法は、操作１６７２に進み、そうでない場合は操作１６７８に進む。操作１６７２において、コントロールデバイスにおいて視覚キューが発せられ、操作１６７４において、この視覚キューの画像がベースコンピューティングデバイスによってキャプチャされる。操作１６７６において、セッション中に、実行中のコンピュータプログラムによって視覚キューが処理され、本方法はチェック操作１６６６に進み、操作１６６６においてセッションの終了がチェックされる。セッションが終了していない場合、方法は操作１６６４に戻る。
【００７１】
操作１６７８はユーザフィードバックを求める視覚要求に関連しており、本方法は、コントロールデバイスにおいて視覚キューの発生をトリガし、操作１６８２において、視覚キューが入力でもあるかどうかをチェックする。キューが入力でもある場合、方法は操作１６７４に進み、そうでない場合は、セッションの終了をチェックする操作１６６６に進む。
【００７２】
図１６Ｄは、単色較正プロセスのフローチャートを示す。操作１６８５において、本方法は、較正時に球形部分の色を選択する。一実施形態では、ユーザが色を選択し、別の実施形態では、ベースコンピューティングデバイスが色を選択する。操作１６８６において、コントローラの画像がキャプチャされ、操作１６８７において画像が解析され、操作１６８５で選択した色のキャプチャ値が記録される。操作１６８８において、選択した色の画像の解析に基づいて、他の色の予想値が調整される。
【００７３】
図１６Ｅは多色較正プロセスのフローチャートを示し、この図は、上記プロセスを複数の色について繰り返すという点を除き、図１６Ｄを参照して説明した方法と同じである。操作１６９０〜１６９２において、本方法は、第１の色を選択し、選択した色でボールを照光して、コントローラの画像をキャプチャする。
【００７４】
操作１６９３において、本方法は、画像を解析し、選択した色に対応するキャプチャ値を記録する。チェック操作１６９４により、較正すべき色が他にも存在するかが判定され、存在する場合、方法は操作１６９５に進み、次の色が選択されて、次に操作１６９１に戻る。
【００７５】
図１６Ｄ，１６Ｅを参照して記載した上記の手順は例示に過ぎず、当業者は、一部の要素の並び替えおよび／または一部の操作の並列実行を含む多くの変更例を想到でき、これらも同様に、特許を請求している本発明の範囲に含まれる。
【００７６】
図１７は、本発明の一実施形態による、コントローラの位置を決定するために使用されうるハードウェアおよびユーザインタフェースを示す。図１７は、本発明の実施形態による、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるために互換性を有しうるコンソールであるソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット１４００は、システムユニット１４００に接続可能なさまざまな周辺機器を備える。システムユニット１４００は、Ｃｅｌｌプロセッサ１４２８、Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１４２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット１４３２を有するＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット１４３０、およびＩ／Ｏブリッジ１４３４を備える。また、システムユニット１４００は、Ｉ／Ｏブリッジ１４３４を介してアクセス可能な、ディスク１４４０ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ１４４０、および着脱可能なスロットインハードディスクドライブ（ＨＤＤ）１４３６も備える。任意選択で、システムユニット１４００は、同様にＩ／Ｏブリッジ１４３４を介してアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリースティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ１４３８も備える。
【００７７】
また、Ｉ／Ｏブリッジ１４３４は、６つのユニバーサルシリアルバス（ＵＳＢ）２．０ポート１４２４、ギガビットイーサネット（登録商標）ポート１４２２、ＩＥＥＥ  ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート１４２０、および最大７つのブルートゥース接続に対応可能なブルートゥース（登録商標）無線リンクポート１４１８にも接続している。
【００７８】
動作時に、Ｉ／Ｏブリッジ１４３４は、１台以上のゲームコントローラ１４０２〜１４０３からのデータを含む、全ての無線、ＵＳＢ、およびイーサネット（登録商標）のデータを処理する。例えば、ユーザがゲームをプレイ中に、Ｉ／Ｏブリッジ１４３４はブルートゥースリンクを介してゲームコントローラ１４０２〜１４０３からデータを受信して、これをＣｅｌｌプロセッサ１４２８に転送し、Ｃｅｌｌプロセッサ１４２８が適宜ゲームの現在の状態を更新する。
【００７９】
また、無線、ＵＳＢ、およびイーサネット（登録商標）の各ポートを介して、ゲームコントローラ１４０２〜１４０３のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン１４０４、キーボード１４０６、マウス１４０８、ソニープレイステーションポータブル（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス１４１０、ＥｙｅＴｏｙ（登録商標）ビデオカメラ１４１２などのビデオカメラ、マイクロフォンヘッドセット１４１４、マイクロフォン１４１５などがある。このため、これらの周辺機器は、原則としてシステムユニット１４００に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス１４１０はＷｉ−Ｆｉアドホック接続を介して通信し、マイクロフォンヘッドセット１４１４はブルートゥースリンクを介して通信しうる。
【００８０】
これらのインタフェースを提供することにより、プレイステーション３デバイスは、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ＶｏＩＰ電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【００８１】
更に、ＵＳＢポート１４２４を介して旧式メモリカードリーダ１４１６をシステムユニットに接続することができ、プレイステーション（登録商標）デバイスまたはプレイステーション２（登録商標）デバイスで用いられていたタイプのメモリカード１４４８の読み出しが可能となる。
【００８２】
ゲームコントローラ１４０２〜１４０３は、ブルートゥースリンクを介してシステムユニット１４００とワイヤレスで通信するか、あるいは、ＵＳＢポートと接続され、これにより、ゲームコントローラ１４０２〜１４０３のバッテリを充電する電力を供給するように動作可能である。また、ゲームコントローラ１４０２〜１４０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの恒久メモリ、照光された球形部分、ＬＥＤまたは赤外線ライトなどの発光素子、超音波通信のためのマイクロフォンおよびスピーカ、アコースティックチェンバ、デジタルカメラ、内部クロック、ゲームコンソールに対向する球形部分等の認識可能な形状、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）などのプロトコルを使用する無線通信も有しうる。
【００８３】
ゲームコントローラ１４０２は両手で使用されるように設計されたコントローラであり、ゲームコントローラ１４０３は、ボールが取り付けられている片手コントローラである。ゲームコントローラは、１つ以上のアナログジョイスティックおよび従来のコントロールボタンに加えて、三次元位置決定の対象となる。したがって、従来のボタンまたはジョイスティックコマンドに加えて、あるいはこれらの代わりに、ゲームコントローラのユーザが行なったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーション（登録商標）ポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーション（登録商標）ポータブルデバイスの場合、追加のゲーム情報または制御情報（例えば制御命令またはライブの数）が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット（不図示）、ライトガン（不図示）、ハンドルおよびペダル（不図示）、あるいは、即答クイズゲームのための１つまたは複数の大型のボタン（これも図示なし）などの特注品のコントローラなどがある。
【００８４】
また、リモコン１４０４も、ブルートゥースリンクを介してシステムユニット１４００と無線通信するように動作可能である。リモコン１４０４は、ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ１４４０の操作、およびディスクの内容の閲覧のために適した制御を備える。
【００８５】
ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ１４４０は、従来の記録済みＣＤ、記録可能ＣＤ、およびいわゆるスーパーオーディオＣＤのほか、プレイステーションデバイスおよびプレイステーション２デバイスと互換のＣＤ−ＲＯＭを読み出すように動作可能である。また、リーダ１４４０は、従来の記録済みＤＶＤおよび記録可能ＤＶＤのほか、プレイステーション２デバイスおよびプレイステーション３デバイスと互換のＤＶＤ−ＲＯＭを読み出すように動作可能である。更に、リーダ１４４０は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション３デバイスと互換のＢＤ−ＲＯＭを読み出すように動作可能である。
【００８６】
システムユニット１４００は、Ｒｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット１４３０を介して、プレイステーション３デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ１４４４および１つ以上のスピーカ１４４６を備えた表示および音声出力デバイス１４４２（モニタまたはテレビ受像機など）に提供するように動作可能である。音声コネクタ１４５０は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタ１４５２は、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、および１つ以上の高品位マルチメディアインタフェース（ＨＤＭＩ）の出力などを種々備えうる。したがって、ビデオ出力は、ＰＡＬまたはＮＴＳＣ、あるいは７２０ｐ、１０８０ｉまたは１０８０ｐの高解像度などのフォーマットであってもよい。
【００８７】
音声処理（生成、デコードなど）はＣｅｌｌプロセッサ１４２８によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（ＤＴＳ）、およびブルーレイディスクからの７．１サラウンドサウンドのデコードに対応している。
【００８８】
本実施形態では、ビデオカメラ１４１２は、１つの電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット１４００によるデコードのために、イントラ画像ベースのＭＰＥＧ（motｉon pｉcture expert group）標準などの適切なフォーマットで送信されるようになる。カメラのＬＥＤインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット１４００から受け取ると、発光するように配置されている。ビデオカメラ１４１２の実施形態は、ＵＳＢ、ブルートゥースまたはＷｉ−Ｆｉの通信ポートを介して、システムユニット１４００にさまざまな方法で接続しうる。ビデオカメラの実施形態は、１つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、ＣＣＤは、高解像度のビデオキャプチャに適した分解能を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。別の実施形態では、カメラは、赤外光の検出に適した赤外線カメラである。
【００８９】
一般に、システムユニット１４００の通信ポートの１つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェースが、記載する本実施形態で必要とされうることを当業者は理解するであろう。
【００９０】
図１８は、本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す。Ｃｅｌｌプロセッサ１４２８は、メモリコントローラ１５６０およびデュアルバスインタフェースコントローラ１５７０Ａ，Ｂを含む外部入出力構造、パワープロセッシングエレメント１５５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）１５１０Ａ〜Ｈと呼ばれる８基のコプロセッサ、エレメント相互接続バス１５８０と呼ばれる上記のコンポーネントに接続している環状データバス、の４つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション２デバイスのエモーションエンジンは６．２ギガフロップスであるのに対し、Ｃｅｌｌプロセッサの総浮動小数点演算性能は、２１８ギガフロップスである。
【００９１】
パワープロセッシングエレメント（ＰＰＥ）１５５０は、３．２ＧＨｚの内部クロックで動作し、双方向同時マルチスレッディングＰｏｗｅｒ１４７０準拠のＰｏｗｅｒＰＣコア（ＰＰＵ）１５５５をベースにしている。ＰＰＥ１５５０は、５１２ｋＢのレベル２（Ｌ２）キャッシュと、３２ｋＢのレベル１（Ｌ１）キャッシュとを備える。ＰＰＥ１５５０は、クロックサイクルごとに８つのシングルポジション操作ができ、これは、３．２ＧＨｚで２５．６ギガフロップスに相当する。ＰＰＥ１５５０の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント１５１０Ａ〜Ｈのコントローラとして機能することにある。動作時に、ＰＰＥ１５５０はジョブキューを保持し、シナジスティックプロセッシングエレメント１５１０Ａ〜Ｈのジョブをスケジュールしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント１５１０Ａ〜Ｈはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、ＰＰＥ１５５０と同期されることにある。
【００９２】
各シナジスティックプロセッシングエレメント（ＳＰＥ）１５１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）１５２０Ａ〜Ｈおよびメモリフローコントローラ（ＭＦＣ）１５４０Ａ〜Ｈをそれぞれ備え、ＭＦＣ１５４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ）１５４２Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）１５４４Ａ〜Ｈ、およびバスインタフェース（不図示）をそれぞれ備える。各ＳＰＵ１５２０Ａ〜Ｈは３．２ＧＨｚでクロック供給され、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ１５３０Ａ〜Ｈを備えたＲＩＳＣプロセッサである。各ＳＰＥは、理論的には単精度処理性能で２５．６ギガフロップスを示す。１つのＳＰＵは、１クロックサイクルに、４つの単精度浮動小数点数（member）、４つの３２ビット数、８つの１６ビット整数または１６の８ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。ＳＰＵ１５２０Ａ〜ＨはシステムメモリＸＤＲＡＭ１４２６に直接アクセスしない。ＳＰＵ１５２０Ａ〜Ｈが作成した６４ビットアドレスがＭＦＣ１５４０Ａ〜Ｈに渡され、ＭＦＣ１５４０Ａ〜Ｈが、自身のＤＭＡコントローラ１５４２Ａ〜Ｈに対して、エレメント相互接続バス１５８０およびメモリコントローラ１５６０を介してメモリにアクセスするように指示する。
【００９３】
エレメント相互接続バス（ＥＩＢ）１５８０は、Ｃｅｌｌプロセッサ１４２８内部の論理的には環状の通信バスであり、上記のプロセッサエレメント（すなわち、ＰＰＥ１５５０、メモリコントローラ１５６０、デュアルバスインタフェース１５７０Ａ，Ｂ、および８基のＳＰＥ１５１０Ａ〜Ｈ、合計１２個のパーティシパント）を接続している。パーティシパントは、１クロックサイクルにつき８バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各ＳＰＥ１５１０Ａ〜Ｈは、長いリードまたはライトのシーケンスをスケジュールするためのＤＭＡＣ１５４２Ａ〜Ｈを備える。ＥＩＢは、４つのチャネルを備え、そのうち２つは時計回り方向であり、残り２つは反時計回り方向である。したがって、１２のパーティシパントについて、２つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で６ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、１２のスロットの理論上のピーク瞬間ＥＩＢ帯域幅は、１クロックにつき９６Ｂとなる。これは、３．２ＧＨｚのクロック速度で３０７．２ＧＢ／ｓ（ギガバイト／秒）の理論上のピーク帯域幅に相当する。
【００９４】
メモリコントローラ１５６０は、ラムバス社（Rambus Incorporated）によって開発されたＸＤＲＡＭインタフェース１５６２を備える。このメモリコントローラは、２５．６ＧＢ／ｓの理論上のピーク帯域幅で、Ｒａｍｂｕｓ  ＸＤＲＡＭ１４２６とインタフェースする。
【００９５】
デュアルバスインタフェース１５７０Ａ，Ｂは、Ｒａｍｂｕｓ  ＦｌｅｘＩＯ（登録商標）システムインタフェース１５７２Ａ，Ｂを備える。このインタフェースは、それぞれ８ビット幅の１２のチャネルに編成されており、このうち、５の経路が受信用、７つの経路が送信用である。これにより、Ｃｅｌｌプロセッサと、コントローラ１７０Ａを介してＩ／Ｏブリッジ７００間、およびコントローラ１７０Ｂを介してＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット２００間で、理論上のピーク帯域幅が６２．４ＧＢ／ｓ（送信３６．４ＧＢ／ｓ、受信２６ＧＢ／ｓ）が得られる。
【００９６】
Ｃｅｌｌプロセッサ１４２８によってＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット１４３０に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。
【００９７】
本発明の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなどの各種のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、有線ベースまたは無線ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【００９８】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する、各種のコンピュータ実装操作を使用してもよい点を理解すべきである。これらの操作は、物理量の物理的操作を必要とする。本発明の一部を構成している、本明細書に記載した操作はいずれも、有用な機械的操作である。本発明は、これらの操作を実行するデバイスまたは装置にも関する。この装置は、所望の目的のために特別に作製されたものであっても、あるいは汎用コンピュータであり、そのコンピュータに記憶されているコンピュータプログラムによって選択的に作動もしくは構成されてもよい。特に、各種の汎用の機械を、本明細書の教示に従って記述したコンピュータプログラムと併用してもよく、あるいは所望の操作を実行するために特化した装置を作製するほうが利便性が高いこともある。
【００９９】
また、本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、コンピュータシステムによって後から読み取ることができるデータを記憶できるデータ記憶デバイスであれば、どのようなものであってもよい。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続記憶装置（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されたコンピュータ可読有形媒体を介して分散されてもよい。
【０１００】
方法の操作を特定の順序で記載したが、重畳される操作の処理が所期どおりに実行される限り、操作と操作の間に他の管理操作が実行されても、操作がわずかに時間をずらして実行されるように操作が調整されても、操作がシステム内で分散されて、処理に係るさまざまな間隔で処理操作を行なうことができるようにしてもよい。
【０１０１】
上記に、本発明を明確に理解できるように多少詳細に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【図１Ａ】
0005681633.tif 000003
【図１Ｂ】
0005681633.tif 000004
【図１Ｃ】
0005681633.tif 000005
【図１Ｄ】
0005681633.tif 000006
【図２Ａ】
0005681633.tif 000007
【図２Ｂ】
0005681633.tif 000008
【図２Ｃ】
0005681633.tif 000009
【図２Ｄ】
0005681633.tif 000010
【図３】
0005681633.tif 000011
【図４】
0005681633.tif 000012
【図５Ａ】
0005681633.tif 000013
【図５Ｂ】
0005681633.tif 000014
【図５Ｃ】
0005681633.tif 000015
【図５Ｄ】
0005681633.tif 000016
【図６Ａ】
0005681633.tif 000017
【図６Ｂ】
0005681633.tif 000018
【図７Ａ】
0005681633.tif 000019
【図７Ｂ】
0005681633.tif 000020
【図８】
0005681633.tif 000021
【図９】
0005681633.tif 000022
【図１０】
0005681633.tif 000023
【図１１Ａ】
0005681633.tif 000024
【図１１Ｂ】
0005681633.tif 000025
【図１２】
0005681633.tif 000026
【図１３】
0005681633.tif 000027
【図１４】
0005681633.tif 000028
【図１５Ａ】
0005681633.tif 000029
【図１５Ｂ】
0005681633.tif 000030
【図１６Ａ】
0005681633.tif 000031
【図１６Ｂ】
0005681633.tif 000032
【図１６Ｃ】
0005681633.tif 000033
【図１６Ｄ】
0005681633.tif 000034
【図１６Ｅ】
0005681633.tif 000035
【図１７】
0005681633.tif 000036
【図１８】
0005681633.tif 000037