(57)【特許請求の範囲】
【請求項１】
プレイフィールド内でのゲームコントローラの位置を決定するためのコンピュータで実行される方法であって、前記方法は、
前記ゲームコントローラが存在する前記プレイフィールドの画像を取得するステップと、
前記ゲームコントローラに連結されているボール部分に関連するピクセルを前記画像内で見つけるステップと、
前記見つかったピクセルを包含する領域を特定するステップと、
前記領域に基づき前記ボールに関連する楕円を決定するステップと、
前記楕円の中心は、前記コントローラの水平位置および垂直位置を示し、前記楕円のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する前記楕円に基づいて、前記コントローラの前記位置を計算するステップと、
前記位置を前記コンピュータに関連するメモリに記憶するステップと、
前記記憶した位置に基づいて前記コンピュータによる動作を起動するステップと、を有する方法。
【請求項２】
楕円を決定するステップは、
前記領域に等しい前記楕円を作成するステップと、
前記楕円の重心を、前記領域内のピクセルの座標の算術平均として計算するステップと、
を更に有し、前記重心は前記楕円の中心である請求項１に記載の方法。
【請求項３】
前記プレイフィールドの画像を取得するステップは、
画像キャプチャデバイスによって前記画像をブラーリングするステップを有し、
前記画像のブラーリングにより、前記ボール部分に関連するピクセルが前記画像内でより多く見つかるようになる請求項１に記載の方法。
【請求項４】
前記プレイフィールドの追加の画像を取得するステップと、
追加の画像ごとに前記コントローラの追加の位置を計算するステップと、
前記追加の位置に基づいて前記コントローラの移動をトラッキングするステップと、を更に有する請求項１に記載の方法。
【請求項５】
追加の位置を計算するステップは、
前記各追加の画像を、前に取得した画像と比較するステップと、
前記各追加の画像に対応する前記追加の位置を計算するために、前記各追加の画像と、前記前に取得した画像とから得られる情報を平均化するステップと、を更に有する請求項４に記載の方法。
【請求項６】
前記前に取得した画像の経過時間に関連する重みと、前記各追加の画像とが、前記情報の平均の計算に使用される請求項５に記載の方法。
【請求項７】
プレイフィールド内でのゲームコントローラの位置を決定するためのコンピュータで実行される方法であって、前記方法は、
前記ゲームコントローラが存在する前記プレイフィールドの画像を取得するステップと、
前記ゲームコントローラに連結されているボール部分に関連するピクセルを前記画像内で見つけるステップと、
前記見つかったピクセルを包含する領域を特定するステップと、
前記領域に基づき前記ボールに関連する楕円を決定するステップと、
前記楕円の前記中心は、前記コントローラの水平位置および垂直位置を示し、前記楕円のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する前記楕円に基づいて、前記コントローラの前記位置を計算するステップと、
前記位置を前記コンピュータに関連するメモリに記憶するステップと、
前記記憶した位置に基づいて前記コンピュータによる動作を起動するステップと、
計算する前記位置の周囲で、狭めた領域の高解像度の第２の画像を取得するステップと、
前記第２の画像に基づいて前記コントローラのより高精度の位置を計算するステップと、を有する方法。
【請求項８】
前記画像の取得前にカメラの解像度を上げるステップを更に有する請求項１に記載の方法。
【請求項９】
ピクセルを見つけるステップは、各ピクセルが前記ボール部分に関連するかどうかを判定するために前記各ピクセルに関連するサブピクセルを分析するステップを更に有する請求項１に記載の方法。
【請求項１０】
前記ボール部分は、第１の照光条件で照光されるが、第２の照光条件では照光されない請求項１に記載の方法。
【請求項１１】
プレイフィールド内でのゲームコントローラの位置を決定するためのコンピュータで実行される方法であって、前記方法は、
前記ゲームコントローラが存在する前記プレイフィールドの画像を取得するステップと、
前記ゲームコントローラに連結されているボール部分内のリングに関連するピクセルを前記画像内で見つけるステップと、
前記見つかったピクセルを包含する領域を特定するステップと、
前記領域に基づき前記リングに関連する楕円を決定するステップと、
前記楕円の中心は、前記コントローラの水平位置および垂直位置を示し、前記楕円のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する前記楕円に基づいて、前記コントローラの前記位置を計算するステップと、
前記位置を前記コンピュータに関連するメモリに記憶するステップと、
前記記憶した位置に基づいて前記コンピュータによる動作を起動するステップと、を有する方法。
【請求項１２】
楕円を決定するステップは、
前記リングの一部が前記画像内で隠れているかどうかを判定するステップと、
前記リングが隠れている場合に完全なリングに対応する第２の領域を推定するステップと、
前記リングが隠れている場合に前記第２の領域に基づいて前記楕円を決定するステップと、を更に有する請求項１１に記載の方法。
【請求項１３】
前記リングは、前記ボール部分の内部に固定されており、前記楕円の軸の長さは前記プレイフィールド内での前記コントローラの深度を決定するために使用される請求項１１に記載の方法。
【請求項１４】
前記軸の向きは、前記ゲームコントローラの向きを決定するために使用される請求項１３に記載の方法。
【請求項１５】
前記リングが照光され、ピクセルを見つけるステップは、ピクセルが前記照光されているリングに対応しているかどうかを判定するステップを更に有する請求項１１に記載の方法。
【請求項１６】
前記リングを画像キャプチャデバイスと対面させるために、前記ボール部分は、前記ゲームコントローラの移動に応答して移動する請求項１５に記載の方法。
【請求項１７】
前記ボール部分の前記移動は、前記コントローラの向きを決定するために使用される請求項１６に記載の方法。
【請求項１８】
プレイフィールド内でのゲームコントローラの位置を決定するためのコンピュータで実行される方法であって、前記方法は、
前記ゲームコントローラが存在する前記プレイフィールドの画像を取得するステップと、
前記ゲームコントローラから状態情報を受信するステップと、
前記ゲームコントローラに連結されているボール部分に関連する幾何学形状を決定するステップであって、前記ボール部分は、前記ボール部分に関連するピクセル数を増やすために振動し、前記状態情報は前記ボールが振動中であることを示すものであるステップと、
前記状態情報と前記幾何学形状の特性との組み合わせに基づいて前記コントローラの前記位置を計算するステップと、
前記位置を前記コンピュータに関連するメモリに記憶するステップと、
前記記憶した位置に基づいて前記コンピュータによる動作を起動するステップと、を有する方法。
【請求項１９】
前記ゲームコントローラはさまざまなやり方で保持することができ、前記状態情報には、前記コントローラの向きを決定するために、前記コントローラで押下されているボタンが含まれる請求項１８に記載の方法。
【請求項２０】
前記ボール部分は半透明のシェル内に収容されており、画像キャプチャデバイスが前記ボール部分の前記画像をキャプチャ可能とする請求項１８に記載の方法。
【請求項２１】
前記半透明のシェルは、前記光を前記球形部分から前記画像キャプチャデバイスに向かう方向にのみ透過させるが、逆方向には透過させない請求項２０に記載の方法。
【請求項２２】
前記ボール部分は、前記ボール部分に関連するピクセル数を増やすために広がり、前記状態情報は前記ボール部分のサイズを含む請求項１８に記載の方法。
【請求項２３】
前記状態情報は、加速度計、ジャイロスコープまたは磁力計の少なくとも１つからの情報を含む請求項１８に記載の方法。
【請求項２４】
前記コントローラの向きを決定するために、数フレームにわたりセンサ情報と前記コントローラの前記計算した位置と分析するステップを更に有する請求項２３に記載の方法。
【請求項２５】
前記位置を計算するステップは、
前記ボール部分が見える時点を検出するステップと、
前記ボール部分が見えるときは前記位置を決定するために画像情報を使用するステップと、
前記ボール部分が見えないときは前記位置を決定するために推測航法に切り替えるステップと、を有する請求項２３に記載の方法。
【請求項２６】
プレイフィールド内でのゲームコントローラの位置を決定するためのコンピュータで実行される方法であって、前記方法は、
前記ゲームコントローラが存在する前記プレイフィールドの画像を取得するステップと、
前記ゲームコントローラから状態情報を受信するステップと、
前記ゲームコントローラに連結されているボール部分に関連するピクセルを前記画像内で見つけるステップと、
前記見つかったピクセルを包含する領域を特定するステップと、
前記領域に基づき前記ボールに関連する楕円を決定するステップと、
前記楕円の中心は、前記コントローラの水平位置および垂直位置を示し、前記楕円のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する前記楕円に基づいて、前記コントローラの前記位置を計算するステップと、
前記位置を前記コンピュータに関連するメモリに記憶するステップと、
前記記憶した位置に基づいて前記コンピュータによる動作を起動するステップと、を有し、
前記コントローラは、前記コントローラの本体の周囲の一部の周りに配置され、前記本体の把持部分に対して水平向きのホイールを有し、前記ホイールは、制御された方向移動を与える方法。
【請求項２７】
前記コントローラは前記コントローラにホイール入力を更に有し、
動作を起動するステップは、
前記ゲームコントローラのｘ、ｙまたはｚの向きを検出するステップと、
前記ホイールがアクティベートされたときに前記ゲームコントローラの前記向きの方向に前記コントローラに関連するアイテムを移動させるステップと、を有する請求項１８に記載の方法。
【請求項２８】
前記ゲームコントローラは、前記ｙ方向を向いている場合には縦メニュー内を移動させ、前記ゲームコントローラは、前記ｘ方向を向いている場合には横メニュー内を移動させる請求項２７に記載の方法。
【請求項２９】
プレイフィールド内でのゲームコントローラの位置を決定するためのシステムであって、
前記プレイフィールドに存在するゲームコントローラと、
前記コントローラに連結されたボール部分と、
前記プレイフィールドの画像を取得するための画像キャプチャデバイスと、
前記画像キャプチャデバイスに接続され、プロセッサおよびメモリを有するコンピュータ装置、と、を有し、前記メモリは、
前記画像キャプチャデバイスによってキャプチャされた画像と、
前記キャプチャされた画像に対応する位置と、
前記位置を計算するための画像分析プログラムと、を有し、
前記画像分析プログラムからのプログラム命令は、
前記ボール部分に関連するピクセルを前記画像内で見つけるためのプログラム命令と、
前記見つかったピクセルを包含する領域を特定するためのプログラム命令と、
前記領域に基づき前記ボールに関連する楕円を決定するためのプログラム命令と、
前記楕円に基づいて前記コントローラの前記位置を計算するためのプログラム命令と、
前記位置に基づいて前記コンピュータによる動作を起動するためのプログラム命令と、を有するシステム。
【請求項３０】
１つ以上のプロセッサによって実行されると、プレイフィールド内でのゲームコントローラの位置を決定する、コンピュータ可読記憶媒体に搭載されたコンピュータプログラムであって、
前記ゲームコントローラが存在する前記プレイフィールドの画像を取得するプログラム命令と、
前記ゲームコントローラに連結されているボール部分内のリングに関連するピクセルを前記画像内で見つけるためのプログラム命令と、
前記見つかったピクセルを包含する領域を特定するためのプログラム命令と、
前記領域に基づき前記リングに関連する楕円を決定するためのプログラム命令と、
前記楕円の中心は、前記コントローラの水平位置および垂直位置を示し、前記楕円のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する前記楕円に基づいて、前記コントローラの前記位置を計算するためのプログラム命令と、
前記位置を前記コンピュータに関連するメモリに記憶するためのプログラム命令と、
前記記憶されている位置に基づいて前記コンピュータによる動作を起動するためのプログラム命令と、を有するコンピュータプログラム。
【請求項３１】
コンピューティングシステムと無線でインタフェースするための、片手使用のためのビデオゲームコントローラであって、
ハンドルと、
前記ハンドルの一端に設けられ、ボール部分内のリングを含む視覚認識のための形状を有する物体と、
前記物体内に露出されている光源であって、前記物体は前記光源の作動時に照光されるように画定されている、光源と、
前記ハンドル上のボタンと、
前記ハンドル内に設けられた１つ以上の回路と、を有し、前記１つ以上の回路は、前記光源、前記ボタン、および無線通信用に設けられたアンテナと通信するように画定されているビデオゲームコントローラ。
【請求項３２】
前記物体の前記形状は、球形部分、部分球、不完全な球、長尺状のボールまたは立方体からなる群から選択される請求項３１に記載のビデオゲームコントローラ。
【請求項３３】
前記物体は半透明である請求項３１に記載のビデオゲームコントローラ。
【請求項３４】
前記物体はプラスチックである請求項３１に記載のビデオゲームコントローラ。
【請求項３５】
前記光源は発光ダイオード（ＬＥＤ）である請求項３１に記載のビデオゲームコントローラ。
【請求項３６】
前記光源は複数色の１つ以上または白色光を供給する請求項３１に記載のビデオゲームコントローラ。
【請求項３７】
前記１つ以上の回路は、前記光源を作動状態または非作動状態に設定するように動作可能である請求項３１に記載のビデオゲームコントローラ。
【請求項３８】
前記ボタンの１つは人差し指によって操作可能に画定されたトリガボタンである請求項３１に記載のビデオゲームコントローラ。
【請求項３９】
前記ハンドルは、前記１つ以上の回路と通信するユニバーサルシリアルバス（ＵＳＢ）ポートを更に有する請求項３１に記載のビデオゲームコントローラ。
【請求項４０】
前記無線通信には、ブルートゥース、無線ネットワーク（ＷｉＦｉ）または超音波の少なくとも１つ以上が含まれる請求項３１に記載のビデオゲームコントローラ。
【請求項４１】
前記１つ以上の回路はプロセッサを有する請求項３１に記載のビデオゲームコントローラ。
【請求項４２】
前記１つ以上の回路はメモリを有する請求項３１に記載のビデオゲームコントローラ。
【請求項４３】
前記ビデオゲームコントローラは、前記１つ以上の回路と通信している加速度計、磁力計またはジャイロスコープの１つ以上を更に有する請求項３１に記載のビデオゲームコントローラ。
【請求項４４】
コンピューティングシステムと無線でインタフェースするための、片手使用のためのビデオゲームコントローラコントローラであって、
ハンドルと、
前記ハンドルの一端に設けられ、形状を有する物体であって、当該物体に関連するピクセル数を増やすために振動するものである、物体と、
前記物体内に露出されている光源と、前記物体は前記光源の作動時に照光されるように画定されており、
前記ハンドル上のボタンと、前記ボタンの１つは人差し指によって操作可能に画定されたトリガボタンであり、
ユニバーサルシリアルバス（ＵＳＢ）ポートと、
バッテリと、
前記ハンドル内に設けられた１つ以上の回路と、を有し、前記１つ以上の回路は、前記光源、前記ボタン、前記ＵＳＢポート、前記バッテリ、および無線通信用に設けられたアンテナと通信するように画定されているビデオゲームコントローラ。
【請求項４５】
前記物体の形状は、球形部分、部分球、不完全な球、長尺状のボールまたは立方体からなる群から選択される請求項４４に記載のビデオゲームコントローラ。
【請求項４６】
前記無線通信には、ブルートゥース、無線ネットワーク（ＷｉＦｉ）または超音波の少なくとも１つ以上が含まれる請求項４５に記載のビデオゲームコントローラ。
【請求項４７】
前記物体は半透明のプラスチックから画定されている請求項４４記載のビデオゲームコントローラ。
【請求項４８】
前記光源は発光ダイオード（ＬＥＤ）である請求項４４に記載のビデオゲームコントローラ。
【請求項４９】
前記光源は複数色の１つ以上または白色光を供給する請求項４４に記載のビデオゲームコントローラ。
【請求項５０】
前記１つ以上の回路は、前記光源を作動状態または非作動状態に設定するように動作可能である請求項４４に記載のビデオゲームコントローラ。
【請求項５１】
前記１つ以上の回路はプロセッサを有する請求項４４に記載のビデオゲームコントローラ。
【請求項５２】
前記１つ以上の回路はメモリを有する請求項４４に記載のビデオゲームコントローラ。
【請求項５３】
前記ビデオゲームコントローラは、前記ハンドル内部に慣性センサを更に有する請求項４４に記載のビデオゲームコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、プレイフィールド内でのゲームコントローラの位置のトラッキングに関し、より詳細には、ボールアタッチメント付属ゲームコントローラの位置および移動の視覚情報を使用したトラッキングに関する。
【背景技術】
【０００２】
ビデオゲーム業界は、長年にわたり多くの変化を遂げてきた。コンピュータの処理能力の向上とともに、ビデオゲームの開発者らも、このような処理能力の高度化を利用したゲームソフトウェアを作製してきた。このため、ビデオゲームの開発者らは、非常にリアルなゲーム体験となるように高度な演算や数値演算を組み込んだゲームをコーディングしてきた。
【０００３】
このようなゲームのプラットフォームの例には、ソニープレイステーション（登録商標）、ソニープレイステーション２（登録商標）（ＰＳ２）およびソニープレイステーション３（登録商標）（ＰＳ３）があり、これらは共にゲームコンソールの形態で販売されている。周知のように、ゲームコンソールは、モニタ（通常、テレビ受像機）に接続して、ハンドヘルドコントローラを介してユーザインタラクションが可能になるように設計される。ゲームコンソールは、ＣＰＵ、重いグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル演算ユニット、およびグルーハードウェアと呼ばれるその他のハードウェア、ファームウェア、およびソフトウェアを含む専用の処理ハードウェアで設計されている。ゲームコンソールは、ゲームコンソールを介してローカルでプレイするためのゲームのコンパクトディスクを受け入れるための光ディスクトレイを備えるように更に設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒にインタラクティブにプレイすることができるオンラインゲームも可能である。
【０００４】
ゲームを複雑にしてプレーヤの興味を引き付けるために、ゲームおよびハードウェアの製造業者らは、新しい手法を取り入れてさらなるインタラクティビティ、つまり対話性、とコンピュータプログラムとを可能にしようとしてきた。コンピュータゲーム業界においては、ユーザとゲームシステム間のインタラクションを高めるゲームを開発する傾向が広がっている。より質の高いインタラクティブな体験を実現する１つのやり方として、プレーヤの動きをトラッキングして、この動きをゲームの入力として使用するために、ゲームシステムによって移動がトラッキングされる無線ゲームコントローラを使用する方法がある。一般的にいうと、ジェスチャ入力とは、コンピューティングシステム、ビデオゲームコンソール、インテリジェント家電などの電子装置を、物体をトラッキングするビデオカメラがキャプチャした何らかのジェスチャに反応させることを指す。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、現在の物体トラッキングは、キャプチャ精度が低い。この問題は、従来の画像解析では、ユーザの位置の二次元の測定値が、そこそこの精度の値でしか得られないために生じる。この理由は、認識したコントローラの形状のわずかな変動により、コントローラの水平位置および垂直位置の決定の信頼性が低くなると共に、ノイズの影響を極めて受けやすくなるためである。また、カメラに近づいたりカメラから離れることによるわずかな形状の変化では、カメラとコントローラ間の距離を正確に計算するのに十分な情報が得られないため、カメラとトラッキング対象の物体間の距離を決定することが困難である。
【０００６】
本発明の実施形態は、この状況においてなされたものである。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、プレイフィールド内でのゲームコントローラの位置を決定するための方法、システムおよびコンピュータプログラムを提供する。前記ゲームコントローラに取り付けたボール部分が、視覚情報を使用した前記コントローラの位置の特定を補助する。
【０００８】
本発明は、プロセス、装置、システム、デバイスまたはコンピュータ可読媒体上の方法など、多くの方法で実施することができる点を理解されたい。以下に本発明のいくつかの発明の実施形態を記載する。
【０００９】
一実施形態では、コンピュータは、プレイフィールド内でのゲームコントローラの位置を決定するための方法を実行する。前記方法は、前記ゲームコントローラが存在する前記プレイフィールドの画像を取得し、次に、前記ボール部分に関連するピクセルを前記画像内で見つける。前記方法は、更に、前記見つかったピクセルを包含する領域を特定し、前記領域に基づき前記ボールに関連する幾何学形状を決定する。前記幾何学形状に基づいて、前記コントローラの前記位置が計算され、前記幾何学形状の中心は、前記コントローラの水平位置および垂直位置を示し、前記幾何学形状のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する。前記位置がメモリに記憶され、これを使用して前記コンピュータによる動作が起動される。
【００１０】
別の実施形態では、プレイフィールド内でのゲームコントローラの位置を決定するための方法が提示される。前記方法は、前記プレイフィールドの画像を取得し、前記ゲームコントローラに連結されているボール部分内のリングに関連するピクセルを前記画像内で見つける。更に、前記方法は、前記リングに関連する前記見つかったピクセルを包含する領域を特定する。先に特定した前記領域に基づき楕円が決定され、前記楕円に基づいて、前記コントローラの前記位置が計算され、前記楕円の中心は、前記コントローラの水平座標および垂直座標を示し、前記楕円のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する。前記位置がメモリに記憶され、これを使用して前記コンピュータによる動作が起動される。
【００１１】
別の実施形態では、ゲームコントローラの位置および移動に関する複数の情報源の組み合わせを使用した、プレイフィールド内で前記コントローラの位置を決定するための方法が提示される。前記方法は、前記コントローラの画像を取得し、前記ゲームコントローラから状態情報を受け取る。前記状態情報は、加速度計、ジャイロスコープまたは磁力計からの情報であってもよい。前記方法は、前記ゲームコントローラに連結されているボール部分に関連する幾何学形状を決定し、前記状態情報と前記幾何学形状に関する情報とを組み合わせることにより前記コントローラの前記位置を計算する。
【００１２】
本発明の他の態様は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【００１３】
本発明は、添付の図面を参照して以下の説明を読めば理解が深まるであろう。
【図面の簡単な説明】
【００１４】
【図１Ａ】ボール部分が取り付けられているゲームコントローラの実施形態を示す。
【図１Ｂ】ボール部分が取り付けられているゲームコントローラの実施形態を示す。
【図１Ｃ】図１Ａ〜Ｂのゲームコントローラの異なる動作モードを示す。
【図１Ｄ】図１Ａ〜Ｂのゲームコントローラの異なる動作モードを示す。
【図１Ｅ】図１Ａ〜Ｂのゲームコントローラの異なる動作モードを示す。
【図２Ａ】ボールが取り付けられているゲームコントローラの別の実施形態を示す。
【図２Ｂ】ボールが取り付けられているゲームコントローラの別の実施形態を示す。
【図３Ａ】ボール付属ゲームコントローラの異なる実施形態を示す。
【図３Ｂ】ボール付属ゲームコントローラの異なる実施形態を示す。
【図４Ａ】フェイスプレートが交換可能なボール付属ゲームコントローラの実施形態を示す。
【図４Ｂ】フェイスプレートが交換可能なボール付属ゲームコントローラの実施形態を示す。
【図４Ｃ】フェイスプレートが交換可能なボール付属ゲームコントローラの実施形態を示す。
【図４Ｄ】フェイスプレートが交換可能なボール付属ゲームコントローラの実施形態を示す。
【図５】一実施形態による、マルチプレーヤ環境と、プレーヤが持っている異なるコントローラの位置を決定するための視覚情報の使用とを示す模式図である。
【図６Ａ】キャプチャした画像から認識した形状に幾何学形状を割り当てるための異なる実施形態を示す。
【図６Ｂ】キャプチャした画像から認識した形状に幾何学形状を割り当てるための異なる実施形態を示す。
【図６Ｃ】キャプチャした画像から認識した形状に幾何学形状を割り当てるための異なる実施形態を示す。
【図６Ｄ】キャプチャした画像から認識した形状に幾何学形状を割り当てるための異なる実施形態を示す。
【図７】一実施形態による、ボール部分に対応するピクセルを見つけるためのサブピクセル分析の使用法を示す。
【図８】本発明の一実施形態による、形状の検出を改善するために画像をブラーリングする効果を示す。
【図９】一実施形態による、ボール位置を決定するための、いくつかの連続するキャプチャ画像の使用を示す。
【図１０】精度を向上させるためにプレイフィールドの狭めた領域から画像を取得するための一実施形態を示す。
【図１１】一実施形態による、ピクセル数が少ない場合のボールの画像認識を示す。
【図１２】高解像度カメラを使用した画像認識の一実施形態を示す。
【図１３Ａ】一実施形態による、カメラと対面するための可動の照光リングを使用するボールの検出を示す。
【図１３Ｂ】一実施形態による、カメラと対面するための可動の照光リングを使用するボールの検出を示す。
【図１３Ｃ】一実施形態による、カメラと対面するための可動の照光リングを使用するボールの検出を示す。
【図１４Ａ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｂ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｃ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｄ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｅ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｆ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｇ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１４Ｈ】一実施形態による、ボール部分内の識別可能なリングの検出を示す。
【図１５Ａ】部分弧の部分から完全なリング領域を推定するための方法を示す。
【図１５Ｂ】部分弧の部分から完全なリング領域を推定するための方法を示す。
【図１６】認識されるボール表面を広げるためにボールを振動させる実施形態を示す。
【図１７Ａ】検出を改善するためにサイズまたは外観を変えることができるボールの実施形態を示す。
【図１７Ｂ】検出を改善するためにサイズまたは外観を変えることができるボールの実施形態を示す。
【図１８】ボール部分がシェルに収容されているゲームコントローラの実施形態を示す。
【図１９Ａ】一実施形態による、移動トラッキングを改善するためのセンサを有するコントローラを示す。
【図１９Ｂ】一実施形態による、移動トラッキングを改善するためのセンサを有するコントローラを示す。
【図２０】一実施形態による、コントローラ位置の評価のための異なる情報源の使用を示す。
【図２１Ａ】一実施形態による、コンピュータの動作を開始するためのコントローラのホイールの使用を示す。
【図２１Ｂ】一実施形態による、コンピュータの動作を開始するためのコントローラのホイールの使用を示す。
【図２１Ｃ】一実施形態による、コンピュータの動作を開始するためのコントローラのホイールの使用を示す。
【図２２】本発明の一実施形態による、コントローラの位置を決定するために使用されうるハードウェアおよびユーザインタフェイスを示す。
【図２３】本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す。
【図２４】プレイフィールド内でのボール付属ゲームコントローラの位置を決定するための方法の実施形態を示すフローチャートを示す。
【図２５】一実施形態による、プレイフィールド内での識別可能なリングを含むボールの位置を決定するための方法のフローチャートを示す。
【発明を実施するための形態】
【００１５】
以下の実施形態は、プレイフィールド内でのゲームコントローラの位置を決定するための方法、システムおよびコンピュータプログラムを記載する。視覚情報を使用して、前記コントローラの位置を特定するために前記ゲームコントローラにボール部分が取り付けられている。前記方法は、前記ゲームコントローラが存在する前記プレイフィールドの画像を取得し、次に、前記ボール部分に関連するピクセルを前記画像内で見つける。前記方法は、更に、前記見つかったピクセルを包含する領域を特定し、前記領域に基づき前記ボールに関連する幾何学形状を決定する。前記幾何学形状に基づいて、前記コントローラの前記位置が計算され、前記幾何学形状の中心は、前記コントローラの水平位置および垂直位置を示し、前記幾何学形状のサイズは、前記プレイフィールド内での前記コントローラの深度を決定する。前記位置がメモリに記憶され、これを使用して前記コンピュータによる動作が起動される。
【００１６】
しかし、本発明を、このような詳細な内容の一部または全てを用いなくても実施しうることは当業者にとって自明である。場合によっては、本発明を不必要にあいまいにすることのないよう、公知の処理操作は詳述していない。
【００１７】
図１Ａ〜Ｂは、ボール部分が取り付けられているゲームコントローラの実施形態を示す。コントローラに取り付けられているボールは色が異なっており、一実施形態では、ボールは発光してもよい。ボール内部の色は、ボール内部のＲＧＢ（赤緑青）の発光ダイオード（ＬＥＤ）によって作り出すことができる。また、カメラの異なる露出設定下でボールをトラッキングするために、照光されているボールの明るさが制御されうる。一実施形態では、ボールの色は、個々のユーザのコントローラを区別したり、１人のユーザが両手に持っているコントローラを区別するために使用される。
【００１８】
図１Ａ，１Ｂのコントローラでは球形状のボールが示されているが、ボールが、視覚トラッキングのために、部分球、不完全な球、（アメリカンフットボールまたはラグビーで使用されるような）長尺状のボール、立方体様の形状などの他の形状を有してもよい。
【００１９】
図１Ａ，１Ｂのコントローラは片手で使用するように設計されているが、本明細書に記載する実施形態を使用して、ボール付属の両手コントローラをトラッキングすることもできる。一実施形態では、ユーザが両手に持つ２台のコントローラは同じであるが、別の実施形態では、コントローラが異なる。一般に、各コントローラは、ボタンが違っている以外の点では極めて類似する。一実施形態では、コントローラは、コントローラを充電するためのユニバーサルシリアルバス（ＵＳＢ）接続と、コンソールとの無線通信のためのブルートゥースと、起動、選択およびＰＳ等のボタンとを有する。
【００２０】
一実施形態では、ボールまたは球の直径は４ｃｍであるが、他のサイズも可能である。サイズが大きいほうが視覚的に認識しやすい。直径５ｃｍのボールは、４ｃｍのボールよりも、画像認識のためのピクセルが約５５パーセント多くなる。
【００２１】
図１Ｃ〜１Ｅは、図１Ａ〜Ｂのゲームコントローラの異なる動作モードを示す。図１Ｃは、ボール部分がコントローラの下に存在し、上に入力ボタンがある「逆ワンド」動作を示す。この構成では、コントローラは、球体を回転させることによりアーケードフライトスティックとして使用されうる。一実施形態では、慣性ユニットが「スティック」（コントローラ）の角度およびねじれを提供し、上面には方向指示パッドが設けられている。別の実施形態では、図４Ａ〜４Ｄを参照して後述するように、上面にはボタン構成を変更するための着脱可能なプレートが取り付けられている。この動作モードは、発砲、ドライビング、フライトゲームなどで使用することができる。
【００２２】
一実施形態では、コントローラは、逆ワンド構成において人差し指用ボタンと中指用ボタンを備える。このため、２本の逆ワンドコントローラは、ソニー・コンピュータエンターテインメント・アメリカ社が販売しているＳｏｎｙ  ＤｕａｌＳｈｏｃｋ（登録商標）２コントローラと同じ機能を提供することになる。
【００２３】
図１Ｄは、「鉛筆」構成で隠すように持っている状態のコントローラを示す。ボールは視覚認識のためにカメラと対面しており、コントローラの本体のボタンを使用してのユーザ入力が可能である。このモードは、コントローラが絵筆、懐中電灯、ポインタ、火器などのゲームで使用されうる。図１Ｅは、ワンドモードでのコントローラの使用を示す。一実施形態では、ワンドはハンドル上部に２つの親指ボタンと、人差し指用のトリガとを備えるが、ほかの構成も可能である。ワンドモードは、魔法の杖、指揮者のタクト、テニスラケット、手斧または同様の武器、つるはし、傘、ロープなどの道具として使用することができる。
【００２４】
図２Ａ〜Ｂは、ボールが取り付けられているゲームコントローラの別の実施形態を示す。図２Ａ，２Ｂのコントローラの本体は、取り付けられているボールと同じように球形である。これらのコントローラは、ボタン構成が異なっており、左手と右手でそれぞれ使用するようになっている。一実施形態では、これらのコントローラは全く同じであり、左手でも右手でも使用することができる。図２Ａ，２Ｂのコントローラは、「野球」構成で保持される。つまり、コントローラが、野球のボールまたはテニスボールのサイズであり、手のひらに野球のボールとして保持される。図１Ｃ〜１Ｅの構成と同様に、図２Ａ，２Ｂのコントローラは、ボールアタッチメントを、カメラ、床、天井に向けるなど、別の方向に向けて保持されてもよい。
【００２５】
図３Ａ〜３Ｂは、ボール付属ゲームコントローラの異なる実施形態を示す。コントローラが薄型になっており、軽量のアプリケーション用に設計されている。
【００２６】
図４Ａ〜Ｄは、フェイスプレートが交換可能なボール付属ゲームコントローラの実施形態を示す。図４Ａは、図１Ａ〜Ｂのコントローラに似ているが、フェイスプレートが交換可能なコントローラを示す。図４Ｂ〜４Ｄのフェイスプレートは、コントローラの上部または側面に取り付けることができる。別の実施形態では、上部の取り付け穴と側面の取り付け穴とではフェイスプレートのサイズが異なっており、上部用のフェイスプレートを側面用のフェイスプレートと交換することができない。図４Ｂ〜４Ｄは、Ｄ−パッドアタッチメント、アクションボタンパッド、およびタッチパッドをそれぞれ示す。アタッチメントは、電気的接続と、コントローラに取り付ける際にアタッチメントをしっかりと留めるための機械式固定手段とを有する。
【００２７】
図５は、一実施形態による、マルチプレーヤ環境と、プレーヤが持っている異なるコントローラの位置を決定するための視覚情報の使用とを示す模式図である。画像キャプチャデバイス５０８はプレイフィールド５１８の画像を取得し、画像が分析されてボール付属コントローラＣ１，Ｃ２，Ｃ４，Ｃ５の位置が取得される。キャプチャした画像内の個々のボールの形状を分析することによって、距離ｄｚ１，ｄｚ２，ｄｚ４，ｄＺ５が推定される。コンピューティングシステム５０２は、取得した座標と距離とを使用して、画面５０４内でプレーヤを表現するアバター５１２ａ，５１２ｂを生成する。画像認識に適した代表的な距離は約１０フィート（３ｍ）である。視覚認識を使用する１つの利点は、コントローラを変更する必要なく、画像キャプチャおよび画像認識の改善を、システムに取り入れることができる点にある。
【００２８】
図６Ａ〜６Ｄは、キャプチャした画像から認識した形状に幾何学形状を割り当てるための異なる実施形態を示す。図４Ａは、キャプチャした画像に対する「正しい」幾何学形状（すなわちボール）を決定するうえでの問題のいくつかを示す。ボールは球形であるため、カメラがキャプチャした画像内でボールに対応する円を求めることが目標となる。図６Ａに示す例のように認識した形状に円を割り当てるための方法は、その手法に応じて各種に存在する。例えば、円内の全てのピクセルが、ボールに対応するピクセルであることを保証するために、受け取った形状の内側の円を選択してもよい。すなわち、形状のピクセルが全て含まれ、形状以外のピクセルが最小となるように円を選択してもよい。あるいは、アルゴリズムが、キャプチャした形状を区切っている外側の曲線を検出し、次に、これらの曲線を近似する円を合わせこむ、いわゆるフィッティングを行ってもよい。
【００２９】
多くの場合、ボールに関連し、キャプチャされるピクセルの数は少ない。一実施形態では、１０フィート（３ｍ）の地点にあるボールから、円の半径が４ピクセルの画像が得られる。すなわち、各ピクセルは、２．５フィートの深度に対応する。ノイズのため、あるいはアルゴリズムが不正確であるためピクセルが見落とされると、プレーヤの位置が２．５フィートずれてしまう。この結果、ピクセルのカウント自体では深度の正確な測定が得られない。また、コントローラが動いたためにボールが隠れた場合、カメラが部分的な画像しかキャプチャしないこともある。認識した形状を分析し、ボールの最適な位置と形状とを決定するためには、カーブフィッティングが肝要となる。
【００３０】
図６Ｂは、円の中心および半径ｒの推定を示す。深度（本明細書ではｚとも称する）は、ボールの面積に関連し、１／ｒに比例する。一実施形態では、この方法は、ボールの視覚特定に対応するピクセルを見つける。ボールに関連するピクセルがカウントされて面積が求められ、次に、サイズに基づいて中心およびｒが計算される。
【００３１】
別の実施形態では、図６Ｂの形状の外周が分析され、形状を取り囲んでいる曲線が求められる。この曲線が分析され、曲線に最もフィットする円が決定される。一実施形態では、選択される円は、その円と認識した形状を取り囲む曲線とによって区切られた一意な面積の合計が最も小さな円である。
【００３２】
図６Ｃは、不完全な形状に対して関連する円の特定が困難であることを示す。形状を視覚的に調べると、ボールの一部分しかキャプチャされていないことが推測できる。面積を求めるために単純なピクセルのカウントを行っても、正確な結果が得られない。一実施形態では、この方法は、エッジの周囲の、影、光の変化などによって生じうる「曖昧な」境界をチェックして、外側の曲線の形状を求める。形状の外周の曲線が分析されて、中心（本明細書では「重心」とも称する）が決定されると共に、領域と外側の曲線とに最もフィットする半径が決定される。
【００３３】
図６Ｄは、「最長のスティック合わせ」法を示す。上で説明したように、画像が分析されて、キャプチャしたボールの形状が決定される。この方法では、形状の内側に適合する最長の直線部分、すなわち「スティック」を求める。次に、この最長の部分が、ボールに関連する円の直径であるとみなされる。
【００３４】
図７は、一実施形態による、ボール部分に対応するピクセルを見つけるためのサブピクセル分析の使用法を示す。多くの表示および画像取得システムにおいては、ピクセルグリッドが単色の領域に分割されており、これらが、離れた位置から見たときに表示または知覚される色を作り出している。ＬＣＤ、ＬＥＤ、プラズマディスプレイなどの一部のディスプレイでは、このような単色の領域は別個にアドレス指定可能な素子であり、サブピクセルとして知られている。例えば、ＬＣＤは、通常、各ピクセル７０２を、３つのサブピクセル７０４，７０６，７０８に分割している。
【００３５】
一実施形態では、ピクセル分析が、単色（例えば青）のみを対象とする。別の実施形態では、ピクセル分析が２つのサブピクセルの組み合わせを対象とし、この場合、精度は向上するが、演算量が増える。また、１つのピクセルの分析が、このピクセルまたはピクセル内のサブピクセルの分析に限られず、精度を向上させ、ノイズあるいは矛盾する照明等の他の条件の影響を低減させるために、近隣のピクセルも分析される。
【００３６】
図８は、本発明の一実施形態による、形状の検出を改善するために画像をブラーリングする効果を示す。カメラにより、画像が、わずかにピントが外れており、ボールにブラーリング効果が生じている状態で撮像されており、このため、ブラーリングのない状態で撮像したよりも検知したボールの領域が大きくなっている。面積が大きくなったため分析されるピクセルが多くなり、精度が向上する。
【００３７】
図９は、一実施形態による、ボール位置を決定するための、いくつかの連続するキャプチャ画像の使用（ここでは、スムージングと称する）を示す。一実施形態では、キャプチャされた画像が独立して分析されることはない。ある画像からの情報が、前に撮像した画像と比較される。撮像の頻度が十分に高い場合、コントローラの移動を考慮した（factoring）後でも、連続する画像は類似している。この結果、前の画像からの情報を使用して、おそらくはノイズ、不適切な照明、ボールの隠れなどによって生じる、突発的な異常ピクセルの変動を検出することができる。
【００３８】
一実施形態では、古い画像が伝える情報は重要度が低下するため、以前の画像からの情報は、その経過時間に反比例して重み付けされる、すなわち、画像が古いほど重みが小さく設定される。
【００３９】
図１０は、精度を向上させるためにプレイフィールド１５２の狭めた領域１５６から画像を取得するための一実施形態を示す。コンピュータシステムは、ボールの移動を、ボールに付随するコントローラと共に追跡し、ビデオの撮像の頻度が画像間のコントローラの小さな動きを許容する適切な値に設定されている場合に、ボールが、直前に撮像した場所とほぼ同じ場所に存在すると仮定する。一実施形態では、ズーム機能を有するビデオ撮像カメラは、コントローラの移動を許容するために、直前の画像でボールが存在していた狭めた領域１５６と、ボールの周囲のバッファ領域との画像１５４を取得する。狭めた領域の画像は、より確実な位置決定を行うために解像度が高く、ボールに関連するピクセルの数が多い。
【００４０】
この結果、狭めた領域の画像を撮像する際には、ボールが存在するプレイフィールドが狭められるが、ボールの既知の直前の位置を中心とするズームイン画像をキャプチャするためにボールの移動をトラッキングすることにより、これを容易に補償することができる。
【００４１】
別の実施形態では、カメラは、プレイフィールドの中央にしかズームインできない。この場合、ズームイン機能は、ボールがプレイフィールドの中央のほうに存在する場合にのみ使用される。この場合、解像度はプレーヤがプレイフィールドの中央の近くに存在する場合には良いが、ボールがプレイフィールドの端に存在する場合には悪くなる。
【００４２】
図１１は、一実施形態による、ピクセル数が少ない場合のボールの画像認識を示す。図６Ａに関して上で説明したように、ピクセル数が少ない場合には、わずか１つのピクセルが見落とされたりその計算の誤りが発生しても、認識される形状が大幅に変わってしまうことがある。ピクセル数が少ないという問題は、ボールが動いてピクセルの境界を超える場合に悪化しうる。ボールの第１の位置１６０では、この方法は、ボールを４つのピクセルを有するものとして認識する。一実施形態では、方法は、あるピクセルの少なくとも５０パーセントがボールに対応する場合に、当該ピクセルがボールの色に関連すると決定するが、別の実施形態は、しきい値として他の割合を使用してもよい。ボールが第２の位置１６２に移動すると、方法はボールに関連する７つのピクセルを認識する。ボールに対応するピクセルの数が少ないため、ピクセルグリッド内でのボールの位置が図１１の場合の要因（factor）となる。また、この問題は、ノイズ、ラスタライゼーションなどの他の要因によってこじれることがある。
【００４３】
一実施形態は、高解像度カメラを使用することにより、ピクセル数が少ないという問題を解決する。図１２は、高解像度カメラを使用した画像認識の一実施形態を示す。ボールに含まれるピクセルの数が多いため、低解像度のカメラを使用する場合よりも、ピクセルグリッドを超えるボールの微少な動きが形状認識に与える影響が小さくなる。
【００４４】
図１３Ａ〜Ｃは、一実施形態による、カメラと対面するための可動の照光リングを使用するボールの検出を示す。コントローラ１７０は、画像キャプチャデバイス１８０によって撮像される画像に基づく視覚認識のために取り付けられたボール部分１７２を有する。ボール部分１７２は、内側の球またはボール１７４を有する。ボール１７４は、複数の光源１７８ａ〜ｎを有し、これらが画像キャプチャデバイス１８０に対向する視覚リングを形成している。一実施形態では、光源は、光ファイバ（optical wire）の端部に対応しており、対応する光ファイバから受光した光を発する。別の実施形態では、光源はＬＥＤに対応している。
【００４５】
内部ボール１７４は、キャプチャデバイス１８０とほぼ対面するために、内部ボール１７２を動かすように構成されている。一実施形態では、ボール１７４は、動きやすいように液体中に浮いている。図１３Ｂは、約４５°向きを変更したあとの図１３Ａと同じコントローラ１７０を示す。コントローラ１７０が動いたが、内部ボール１７４もコントローラ１７０に対して回転したため、照光リングはキャプチャデバイス１８０と対面したままとなる。この結果、キャプチャされる画像はリングとなり、これが、図１５Ａ〜Ｂに関して下記で説明するようにボールの位置の決定を支援する。
【００４６】
別の実施形態では、画像認識を改善するか、あるいはプレイフィールド内で異なるコントローラ同士を区別するために、リングが、異なる色の光で照光されてもよい。更に別の実施形態では、複数のリングを照光可能であり、一度に１本のリングのみが照光されるか、あるいは画像認識のために複数のリングが同時に照光される。図１３Ｃは、画像キャプチャデバイス１８０からみた、ボール部分の正面図を示す。
【００４７】
図１４Ａ〜Ｈは、一実施形態による、ボール部分内の識別可能なリングの検出を示す。図１４Ａは、照光されたリング１９６を備える内部ボール１９４を含むボール１９２が取り付けられているコントローラ１９０を示す。図１３Ａ〜Ｃのコントローラとは異なり、図１４Ａ〜Ｃのコントローラは、コントローラに対して動くボールは有さない。このため、コントローラが、図１４Ａの実質的に垂直の位置から、図１４Ｂに示すような別の向きに動くと、リング１９６は、画像キャプチャデバイス１８０の正面に対面する位置から、ボールをキャプチャデバイス１８０に連結する線に対して所定の角度で画像キャプチャデバイスと対面する位置に移動する。図１４Ａでは、画像は照光された円をキャプチャし、図１４Ｂでは、画像は楕円のリングをキャプチャする。リングがカメラと正面で対面していないほとんどのコントローラ位置では、リングの半分が、ボールの背後の見えない側に隠れるため、画像にはリングのほぼ半分しか捉えられない。
【００４８】
図１４Ｃは、コントローラの位置が図１４Ｂに示す位置にあるときに、カメラによってキャプチャされる画像を示す。図１４Ｄは、異なる軸ｘ、ｙ、ｚについて、カメラに対してコントローラの向きを変える効果を示す。位置２５０のコントローラはカメラと対面しており、このため、カメラはボールしか「見えない」。ほかの位置は、異なる軸内でコントローラの向きを変えた場合に対応している。この図は、位置２５０において、プレーヤに、コントローラを、カメラに直接向けるように持たせ、その後、プレーヤが、肘をｘ方向、ｙ方向またはｚ方向に回転させることにより、コントローラの位置を変えることによって描画することができる。
【００４９】
コントローラがｘ方向に（水平に）回転すると、コントローラが横２５６を向くまで、（プレーヤの実際の手を無視すると）見えるコントローラの部分が次第に大きくなると共にリングが回転し、２５６ではリングが横向きに線として認識される。コントローラをｙ方向に（垂直に）回転させても、同様の現象が観察できる。コントローラをｚ（深度）方向に動かしても、認識されるリングが変化する。図１４Ｄでは、カメラからボールが離れる移動は無視されるため、ボールのサイズの影響が小さくなる。
【００５０】
図１４Ｅは、図１４Ｄで説明したようにコントローラを移動させたときの、カメラによって認識されるリングの形状を示す。ボールがカメラと対面しているときは完全な円２５０であるが、ボールの移動に伴い円が変形して楕円となり、カメラと対面する位置からリングが離れるにつれ、楕円の短軸が次第に短くなる。
【００５１】
楕円は、２定点への距離の和が一定となるような、面内の点の集合であるという点に留意されたい。この２定点は「焦点」と呼ばれる。２つの焦点が一致する場合、楕円は円となる。すなわち、円とは、楕円の特別な場合である。図１４Ｅの円２５０のように、円は単に楕円の一形態であるため、楕円に関して本明細書に記載した実施形態は、楕円が円である場合も包含するように設計されている。
【００５２】
図１４Ｆは、コントローラが、カメラと対面しつつ、カメラからｚ方向に離れる様子を示す。予想されるように、ボールがカメラから離れるにつれて、リングが次第に小さくなる。
【００５３】
別の実施形態では、ボールが、図１４Ｇの３本のリングなどの、異なる照光パターンを有する。図１４Ｈは、互いに直交する２本のリングを有するボールを示す。更に別の実施形態では、ボールは、図１４Ｅに示すような照光されたリングを有するが、コントローラがカメラの正面を向いているときのリングの向きが異なる。照光されたリングによって形成される円は、カメラに垂直であり、コントローラがカメラの正面を向いているときは、カメラは、図１４Ｈに示すリングのいずれかのような直線を認識する。更に別の実施形態では、コントローラを向いているリングの一部は、カメラによってキャプチャされることがほとんどないため、リングを完全には照光せず、これによりリングの製造コストとバッテリ消費とを削減できる。一実施形態では、リングの２７０°の円弧のみが照光されるが、他の値も可能である。
【００５４】
図１５Ａ〜Ｂは、部分弧の部分から完全なリング領域を推定するための方法を示す。図１５Ａは、ボールが隠れているときのように、リングのほぼ半分３５２しか検出されていない状態のキャプチャされたリング３５０を示す。一般に、部分的な情報を用いて円の中心を特定するよりも、部分的な情報を用いて弧の中心を特定するほうが容易である。図６Ａ〜６Ｄに関して上で説明したように、円の中心の決定は、完全な情報が揃わなければ煩雑な作業となる。一方、図１５Ａのように、半弧に関する情報を用いて弧の中心を特定することは比較的容易である。
【００５５】
リングに対応する曲線を分析することによって、半径３５４が、弧の中心と共に推定されうる。図１５Ｂは、リングのほんの一部３５６しかキャプチャされていない場合を示す。しかし、図１５Ａで使用したのと同じ方法を使用して、高い精度レベルで円を決定することができる。利用できる情報は少ないが、この曲線にフィットする円の数が少なく、円のばらつきが小さい（すなわち、円から同様のｒの値が得られ、中心が互いに離れていない）ため、検出された曲線の分析から正確な結果が得られる。
【００５６】
図１４Ａ〜Ｄに対応するリングのように、カメラに対するリングの角度が変わりうる場合には、楕円を補填するために分析が拡張される。例えば、図１４Ｅの半楕円２５２のようなリングが認識されると、この方法は、この楕円を分析して、楕円の長軸および短軸と、楕円の中心とを推定する。
【００５７】
図１６は、認識されるボール表面を広げるためにボールを振動させる実施形態を示す。ボールが振動すると、カメラによってキャプチャされる認識領域が長くなる。この方法は、位置決定を向上させるために、図９に示したアルゴリズムなどのスムージングと組み合わせることができる。ボールはそれぞれの中心に対して振動するため、連続する画像を比較したりその平均を求めることにより、ボールの正しい中心を高い精度で決定することができる。
【００５８】
図１７Ａ〜Ｂは、検出を改善するためにサイズまたは外観を変更可能なボールの実施形態を示す。図１７Ａは、サイズを変更可能なボールを示す。プレーヤ４５０ａがディスプレイ４５８の上に置かれたカメラ４５６に近いときに、コントローラ４５２に取り付けられているボール４５４ａが所定のサイズを有する。プレーヤが位置４５０ｂのときは、コントローラ４５２と取り付けられているボールとが画面から離れてしまう。カメラによってキャプチャされる画像でボールが比較的小さくなると、ボール位置の決定が困難になる。検出を改善するために、ボール４５４ｂが広がり精度を改善する。ボールが大きくなるとキャプチャされる画像のピクセル数が増えるようになり、コントローラ位置の決定の精度が向上する。膨張、モーターなど、ボールを膨らませる数種類の方法が可能である。
【００５９】
一実施形態では、コントローラ４５２は、ボールのサイズを通知するためにコンピューティング装置４６０と通信している。別の実施形態では、ボールで検出されたピクセル数が所定のしきい値を下回ると、コンピューティング装置４６０は、ボールを拡大するためのコマンドをコントローラに送信する。
【００６０】
図１７Ｂは、プレイフィールドの照光条件に応じて検出を改良するために、外観の変更、修正または改善が可能なボール４６０付きコントローラを示す。プレイフィールドが、太陽４６２からの光が入り込む窓などの光源（自然光源または人工光源）の近くに存在する場合、視覚検出が、昼夜の時刻、プレイフィールドの光量の影響を受けることがある。また、ボールの外観も、太陽光線からの入射角に影響される。例えば、日光がボールの正面に当たった場合、背面に当たった場合、側面に当たった場合では、ボールの外観が変わる。同様に、ランプ４６４（など）は、ランプが点灯か消灯かに応じて視覚検出に影響しうる。
【００６１】
一実施形態では、ボール４６０は、ボール４６０の視認性を向上させるために点灯／消灯されうる光源を内部に備える。光源は、プレーヤによって、あるいは、ボール４６０付きコントローラと通信しているコンピュータシステムによって点灯されうる。別の実施形態では、ボール４６０は、透明なシェルを有してもよい。別の実施形態では、シェルにつや消し加工が施されてもよい。更に、シェル（透明またはつや消し）は、任意の陰影、色またはテクスチャを有してもよい。例えば、シェルがつや消しであるかまたは陰影を有する場合、ボール４６０は、非照光時に暗くみえてもよい。陰影の例としては、特定の環境に置かれた場合に、色または陰影によって、識別に好適なコントラストが得られる限りは、灰色、黒、銀または色の組み合わせなどがある。シェルは、プラスチック、ゴム、ガラス、発泡体、成形物などの多くの材料から作製することができる。また、これらの材料は、塗布、染色、成形などにより、どのような色に着色されてもよい。
【００６２】
更に、ボール４６０内部の光源により、白または黄色などの異なる色でボール４６０を照光してもよいが、他の色も可能である。ボールを照光すると、低環境光条件における検出を改善でき、ボールを暗い色にすることで、明るい光条件における検出を改善することができる。
【００６３】
図１８は、ボール部分４７２がシェル４７８に収容されているゲームコントローラ４７０の実施形態を示す。シェル４７８は、ボールを視覚的に検出可能なように、光を透過させる。一実施形態では、シェル４７８は、ボールからカメラの方向に出る光４７４を透過させるが、外から来る光４７６は透過させない。このようにして、内部の照光されたボールとの干渉が低減される。
【００６４】
別の実施形態では、シェル４７８は、例えば、青いボールを識別するために青色光を透過させるなど、透過光を選択的にフィルタしてもよい。
【００６５】
図１９Ａ〜Ｂは、一実施形態による、移動トラッキングを改善するためのセンサを有するコントローラを示す。実施形態によって、磁力計、加速度計、ジャイロスコープなどのセンサの組み合せが異なる。
【００６６】
加速度計は加速度と、重力に起因する反力とを測定するための装置である。異なる方向での加速度の大きさおよび方向を検出するために、一軸モデルと多軸モデルとを使用することができる。加速度計は、傾斜、振動および衝撃を検出するために使用される。一実施形態では、２角度（世界空間ピッチおよび世界空間ロール）の絶対基準となる重力の方向を提供するために、３台の加速度計が使用される。コントローラが５Ｇ超の加速度を受ける可能性もあり、このため、５Ｇ超の力でも動作可能な加速度計が、コントローラ５５０内部に使用されている。
【００６７】
磁力計は、コントローラの近くの磁界の強度と向きとを測定する。一実施形態では、コントローラ内部に３台の磁力計５５２が使用されており、世界空間ヨー角度の絶対基準を規定している。磁力計は、±８０マイクロテスラである地磁界の範囲をカバーするように設計されている。磁力計は、金属の影響を受け、実際のヨーと単調関係を示すヨー測定値を提供する。磁界は、環境に存在する金属の影響で歪むことがあり、このため、ヨー測定値に歪みが生じる。必要に応じて、この歪みを、ジャイロ（下記参照）またはカメラからの情報を使用して較正することができる。一実施形態では、加速度計５５４は、コントローラの傾斜および方位角を取得するために、磁力計５５２と共に使用される。
【００６８】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定および保持するための装置である。一実施形態では、３台のジャイロスコープが、検知された慣性に基づいて、各軸（ｘ、ｙおよびｚ）の移動に関する情報を提供する。ジャイロスコープは、高速回転の検出を補助する。しかし、ジャイロスコープは、絶対基準が存在しなければ、時間が経つとずれることがある。このため、ジャイロスコープの定期的なリセットが必要であり、このリセットは、ボール５５８の視覚トラッキング、加速度計、磁力計などの他の入手可能な情報を使用して行なうことができる。ハンドヘルドデバイスは５００°／秒より高速に回転することがあるため、１０００°／秒を超える性能を有するジャイロスコープが推奨されるが、これより低い値でもよい。
【００６９】
位置および向きの検出を改善するために、異なる情報源からの情報が組み合わされうる。例えば、ボールが視界から消えた場合、加速度計の向き検知を使用して、コントローラがカメラに向いていないことが検出される。一実施形態では、コントローラ５５０は、音声によるフィードバックをプレーヤに提供するためのスピーカを備える。例えば、カメラがボールを認識できない場合、コントローラはビープ音を発生させて、コントローラを正しい方向に向けるか、またはプレイフィールドに戻るようプレーヤを促すことができる。
【００７０】
図１９Ｂに示す実施形態では、数フレームからの視覚情報とセンサからの情報とが分析されて、コントローラの位置とコントローラの向きとが決定される。数フレームからの情報を分析することによって、コントローラの移動および向きに関連するセンサ情報が、数フレームにわたって「スムージング」される。数フレームでボールの軌跡が決定されると、センサ情報が分析されて、これらのフレームの対応するセンサ情報に対して、この軌道を与えるコントローラの対応する向きが特定される。
【００７１】
図２０は、一実施形態による、コントローラ位置の評価のための異なる情報源の使用を示す。コントローラ５７０は、ボール部分が取り付けられているほか、図１９に関して上で説明したように、加速度計も有する。コンピューティングシステムは、コントローラ５７０のボールの視覚トラッキングを使用する。ボールが隠れた場合（例えば、コントローラが軌道５８２をとっているときに、ボールがプレーヤの頭の後ろに移動したために隠れた場合）、システムは推測航法を使用する。推測航法（ＤＲ）は、既定の位置すなわち定点に基づいて現在位置を推定し、既知の速度、経過時間および針路に基づいてこの現在位置を進めるプロセスである。
【００７２】
コントローラのボールが経路５８２をとると、コンピューティングシステムは曲線５８０の下でコントローラをトラッキングする。ボールが隠れた場合、加速度計がリセットされ、システムは推測航法の使用を開始する。推測航法は時間の経過に伴い精度を失うため、正確なトラッキングを行うためには、他の位置情報により推測航法を補足することが望ましい点に注意すべきである。加速度計からのデータは常にキャプチャされているが、システムによって必ずしも使用されるとは限らない。
【００７３】
ボールが隠れている間は（領域５７４）推測航法が使用される。領域５７８においてボールが再び見えるようになると、視覚トラッキングが再開される。一実施形態では、ボールが隠れた状態から見えるようになっているが、部分的に隠れているか、あるいは、ボールの移動をトラッキングするための視覚的な履歴がないために、視覚情報がまださほど正確でない場合など、時には、推測航法が領域などの視覚トラッキングと組み合わせられてもよい。
【００７４】
図２１Ａ〜Ｃは、一実施形態による、コンピュータの動作を開始するためのコントローラの入力ホイールの使用を示す。コントローラの向きとホイールの移動の組み合わせにより、コンピューティングシステムでの動作が誘発される。例えば、プレーヤが、コントローラをｘ方向、ｙ方向またはｚ方向に向けてからホイールを回転させると、画面のアイコンが、その方向に移動しうる。実際、コントローラを軸に合わせる必要はなく、どのような向きでも、画面上で対応して移動が行うことができる。例えば、コントローラをｘ軸とｙ軸の間で４５°にすると、ディスプレイ６５４上のアイコンがこの方向に移動する。また、ホイールを、メニュー内の移動に使用することができる。例えば、メニュー内で、コントローラの向きに従って垂直または水平に移動してもよい。図２１Ａは、垂直方向すなわち経度方向のホイール６５８Ａ付きのコントローラ６５０を示す。図２１Ｂは、水平方向すなわち緯度方向のホイール６７２付きのコントローラ６７０を示す。コマンドを入力するために、ホイール６７２の上部分がプレーヤによって使用される。図２１Ｃも、水平方向すなわち緯度方向のホイール６７６付きのコントローラ６７４を示す。ホイール６７６は、コントローラの周囲を取り巻いており、コントローラの本体の把持部分６７８に対して垂直６８０に動く。ホイール６７６の全周をユーザが使用することができ、ホイールを上、横、下または他の任意の角度から操作することができ、ホイールを色々な指で操作することも可能となる。
【００７５】
図２２は、本発明の一実施形態による、コントローラの位置を決定するために使用されうるハードウェアおよびユーザインタフェイスを示す。図２２は、本発明の一実施形態による、三次元コントローラ位置特定システムを実装するために互換性を有しうるコンソールであるソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット１４００は、システムユニット１４００に接続可能なさまざまな周辺機器を備える。システムユニット１４００は、Ｃｅｌｌプロセッサ１４２８、Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１４２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット１４３２を有するＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット１４３０、およびＩ／Ｏブリッジ１４３４を備える。また、システムユニット１４００は、Ｉ／Ｏブリッジ１４３４を介してアクセス可能な、ディスク１４４０ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ１４４０および着脱可能なスロットインハードディスクドライブ（ＨＤＤ）１４３６も備える。任意選択で、システムユニット１４００は、同様にＩ／Ｏブリッジ１４３４を介してアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリースティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ１４３８も備える。
【００７６】
また、Ｉ／Ｏブリッジ１４３４は、６つのユニバーサルシリアルバス（ＵＳＢ）２．０ポート１４２４、ギガビットイーサネット（登録商標）ポート１４２２、ＩＥＥＥ  ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート１４２０、および最大７つのブルートゥース（登録商標）接続に対応可能なブルートゥース無線リンクポート１４１８にも接続している。
【００７７】
動作時に、Ｉ／Ｏブリッジ１４３４は、１台以上のゲームコントローラ１４０２〜１４０３からのデータを含む、全ての無線、ＵＳＢ、およびイーサネット（登録商標）のデータを処理する。例えば、ユーザがゲームをプレイ中に、Ｉ／Ｏブリッジ１４３４はブルートゥースリンクを介してゲームコントローラ１４０２〜１４０３からデータを受信して、これをＣｅｌｌプロセッサ１４２８に転送し、Ｃｅｌｌプロセッサ１４２８が適宜ゲームの現在の状態を更新する。
【００７８】
また、無線、ＵＳＢ、およびイーサネット（登録商標）の各ポートを介して、ゲームコントローラ１４０２〜１４０３のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン１４０４、キーボード１４０６、マウス１４０８、ソニープレイステーションポータブル（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス１４１０、ＥｙｅＴｏｙ（登録商標）ビデオカメラ１４１２などのビデオカメラ、マイクロフォンヘッドセット１４１４、マイクロフォン１４１５などがある。このため、これらの周辺機器は、原則としてシステムユニット１４００に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス１４１０はＷｉ−Ｆｉアドホック接続を介して通信し、マイクロフォンヘッドセット１４１４はブルートゥースリンクを介して通信しうる。
【００７９】
これらのインタフェイスを提供することにより、プレイステーション３デバイスは、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ＶｏＩＰ電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【００８０】
更に、ＵＳＢポート１４２４を介して旧式メモリカードリーダ１４１６をシステムユニットに接続することができ、プレイステーション（登録商標）デバイスまたはプレイステーション２（登録商標）で用いられていたタイプのメモリカード１４４８の読み出しが可能となる。
【００８１】
ゲームコントローラ１４０２〜１４０３は、ブルートゥースリンクを介してシステムユニット１４００とワイヤレスで通信するか、あるいは、ＵＳＢポートと接続され、これにより、ゲームコントローラ１４０２〜１４０３のバッテリを充電する電力を供給するように動作可能である。また、ゲームコントローラ１４０２〜１４０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの恒久メモリ、ＬＥＤまたは赤外ライトなどの発光素子、超音波通信のためのマイクロフォンおよびスピーカ、アコースティックチェンバ、デジタルカメラ、内部クロック、ゲームコンソールに向いている球形部分等の認識可能な形状、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）などのプロトコルを使用する無線通信も有しうる。
【００８２】
ゲームコントローラ１４０２は両手で使用されるように設計されたコントローラであり、ゲームコントローラ１４０３は、図１Ａ〜４Ａにおいて上で説明したようなボールアタッチメント付きの片手コントローラである。ゲームコントローラは、１つ以上のアナログジョイスティックおよび従来のコントロールボタンに加えて、三次元位置決定の対象となる。したがって、従来のボタンまたはジョイスティックコマンドに加えて、あるいはこれらの代わりに、ゲームコントローラのユーザが行なったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーション（登録商標）ポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーション（登録商標）ポータブルデバイスの場合、追加のゲーム情報または制御情報（例えば制御命令またはライブの数）が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット（不図示）、ライトガン（不図示）、ハンドルおよびペダル（不図示）、あるいは、即答クイズゲームのための１つまたは複数の大型のボタン（これも図示なし）などの特注品のコントローラなどがある。
【００８３】
また、リモコン１４０４も、ブルートゥースリンクを介してシステムユニット１４００と無線通信するように動作可能である。リモコン１４０４は、ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ１４４０の操作、およびディスクの内容の閲覧のために適した制御を備える。
【００８４】
ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ１４４０は、従来の記録済みＣＤ、記録可能ＣＤ、およびいわゆるスーパーオーディオＣＤのほか、プレイステーションデバイスおよびプレイステーション２デバイスと互換のＣＤ−ＲＯＭを読み出すように動作可能である。また、リーダ１４４０は、従来の記録済みＤＶＤおよび記録可能ＤＶＤのほか、プレイステーション２デバイスおよびプレイステーション３デバイスと互換のＤＶＤ−ＲＯＭを読み出すように動作可能である。更に、リーダ１４４０は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション３デバイスと互換のＢＤ−ＲＯＭを読み出すように動作可能である。
【００８５】
システムユニット１４００は、Ｒｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット１４３０を介して、プレイステーション３デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ１４４４および１つ以上のスピーカ１４４６を備えた表示および音声出力デバイス１４４２（モニタまたはテレビ受像機など）に提供するように動作可能である。音声コネクタ１４５０は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタ１４５２は、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、および１つ以上の高品位マルチメディアインタフェイス（ＨＤＭＩ）の出力などを種々備えうる。したがって、ビデオ出力は、ＰＡＬまたはＮＴＳＣ、あるいは７２０ｐ、１０８０ｉまたは１０８０ｐの高解像度などのフォーマットであってもよい。
【００８６】
音声処理（生成、デコードなど）はＣｅｌｌプロセッサ１４２８によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（ＤＴＳ）、およびブルーレイ（登録商標）ディスクからの７．１サラウンドサウンドのデコードに対応している。
【００８７】
本実施形態では、ビデオカメラ１４１２は、１つの電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット１４００によるデコードのために、イントラ画像ベースのＭＰＥＧ（motion picture expert group）標準などの適切なフォーマットで送信されるようになる。カメラのＬＥＤインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット１４００から受け取ると、発光するように配置されている。ビデオカメラ１４１２の実施形態は、ＵＳＢ、ブルートゥースまたはＷｉ−Ｆｉの通信ポートを介して、システムユニット１４００にさまざまな方法で接続しうる。ビデオカメラの実施形態は、１つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、ＣＣＤは、高解像度のビデオキャプチャに適した解像度を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。別の実施形態では、カメラは、赤外光の検出に適した赤外線カメラである。
【００８８】
一般に、システムユニット１４００の通信ポートの１つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェイスが、記載する本実施形態で必要とされうることを当業者は理解するであろう。
【００８９】
図２３は、本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す。Ｃｅｌｌプロセッサ１４２８は、メモリコントローラ１５６０およびデュアルバスインタフェイスコントローラ１５７０Ａ，Ｂを含む外部入出力構造、パワープロセッシングエレメント１５５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）１５１０Ａ〜Ｈと呼ばれる８基のコプロセッサ、エレメント相互接続バス１５８０と呼ばれる上記のコンポーネントに接続している環状データバス、の４つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション２デバイスのエモーションエンジンは６．２ギガフロップスであるのに対し、Ｃｅｌｌプロセッサの総浮動小数点演算性能は、２１８ギガフロップスである。
【００９０】
パワープロセッシングエレメント（ＰＰＥ）１５５０は、３．２ＧＨｚの内部クロックで動作し、双方向同時マルチスレッディングＰｏｗｅｒ１４７０準拠のＰｏｗｅｒＰＣコア（ＰＰＵ）１５５５をベースにしている。ＰＰＥ１５５０は、５１２ｋＢのレベル２（Ｌ２）キャッシュと、３２ｋＢのレベル１（Ｌ１）キャッシュとを備える。ＰＰＥ１５５０は、クロックサイクルごとに８つの単一位置（single position）操作ができ、これは、３．２ＧＨｚで２５．６ギガフロップスに相当する。ＰＰＥ１５５０の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント１５１０Ａ〜Ｈのコントローラとして機能することにある。動作時に、ＰＰＥ１５５０はジョブキューを保持し、シナジスティックプロセッシングエレメント１５１０Ａ〜Ｈのジョブをスケジュールしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント１５１０Ａ〜Ｈはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、ＰＰＥ１５５０と同期されることにある。
【００９１】
各シナジスティックプロセッシングエレメント（ＳＰＥ）１５１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）１５２０Ａ〜Ｈおよびメモリフローコントローラ（ＭＦＣ）１５４０Ａ〜Ｈをそれぞれ備え、ＭＦＣ１５４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ）１５４２Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）１５４４Ａ〜Ｈ、およびバスインタフェイス（不図示）をそれぞれ備える。各ＳＰＵ１５２０Ａ〜Ｈは３．２ＧＨｚでクロック供給され、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ１５３０Ａ〜Ｈを備えたＲＩＳＣプロセッサである。各ＳＰＥは、理論的には単精度処理性能で２５．６ギガフロップスを示す。１つのＳＰＵは、１クロックサイクルに、４つの単精度浮動小数点数（member）、４つの３２ビット数、８つの１６ビット整数または１６の８ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。ＳＰＵ１５２０Ａ〜ＨはシステムメモリＸＤＲＡＭ１４２６に直接アクセスしない。ＳＰＵ１５２０Ａ〜Ｈが作成した６４ビットアドレスがＭＦＣ１５４０Ａ〜Ｈに渡され、ＭＦＣ１５４０Ａ〜Ｈが、自身のＤＭＡコントローラ１５４２Ａ〜Ｈに対して、エレメント相互接続バス１５８０およびメモリコントローラ１５６０を介してメモリにアクセスするように指示する。
【００９２】
エレメント相互接続バス（ＥＩＢ）１５８０は、Ｃｅｌｌプロセッサ１４２８内部の論理的には環状の通信バスであり、上記のプロセッサエレメント（すなわち、ＰＰＥ１５５０、メモリコントローラ１５６０、デュアルバスインタフェイス１５７０Ａ，Ｂ、および８基のＳＰＥ１５１０Ａ〜Ｈ、合計１２個のパーティシパント）を接続している。パーティシパントは、１クロックサイクルにつき８バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各ＳＰＥ１５１０Ａ〜Ｈは、長いリードまたはライトのシーケンスをスケジュールするためのＤＭＡＣ１５４２Ａ〜Ｈを備える。ＥＩＢは、４つのチャネルを備え、そのうち２つは時計回り方向であり、残り２つは反時計回り方向である。したがって、１２のパーティシパントについて、２つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で６ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、１２のスロットの理論上のピーク瞬間ＥＩＢ帯域幅は、１クロックにつき９６Ｂとなる。これは、３．２ＧＨｚのクロック速度で３０７．２ＧＢ／ｓ（ギガバイト／秒）の理論上のピーク帯域幅に相当する。
【００９３】
メモリコントローラ１５６０は、ラムバス社（Rambus Incorporated）によって開発されたＸＤＲＡＭインタフェイス１５６２を備える。このメモリコントローラは、２５．６ＧＢ／ｓの理論上のピーク帯域幅で、Ｒａｍｂｕｓ  ＸＤＲＡＭ１４２６とインタフェイスする。
【００９４】
デュアルバスインタフェイス１５７０Ａ，Ｂは、Ｒａｍｂｕｓ  ＦｌｅｘＩＯ（登録商標）システムインタフェイス１５７２Ａ，Ｂを備える。このインタフェイスは、それぞれ８ビット幅の１２のチャネルに編成されており、このうち、５の経路が受信用、７つの経路が送信用である。これにより、Ｃｅｌｌプロセッサと、コントローラ１７０Ａを介してＩ／Ｏブリッジ７００間、およびコントローラ１７０Ｂを介してＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット２００間で、理論上のピーク帯域幅が６２．４ＧＢ／ｓ（送信３６．４ＧＢ／ｓ、受信２６ＧＢ／ｓ）が得られる。
【００９５】
Ｃｅｌｌプロセッサ１４２８によってＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット１４３０に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。
【００９６】
図２４は、プレイフィールド内でのボール付属ゲームコントローラの位置を決定するための方法の実施形態を示すフローチャート２４００を示す。操作２４０２において、本方法は、ゲームコントローラが存在するプレイフィールドの画像を取得し、次に、ゲームコントローラに連結されているボールに関連するピクセルをこの画像内で見つける。一実施形態では、ボールの色に対応するピクセルを見つけるために画像がスキャンされ、別の実施形態では、図７に関して上で説明したように、ボールに関連するピクセルを見つけるためにサブピクセル分析が使用される。
【００９７】
操作２４０６において、本方法は、見つかったピクセルを包含する領域を特定する。操作２４０８において、領域に基づきボールに関連する幾何学形状が決定される。領域認識を実行するための方法の異なる実施形態については、図６Ａ〜６Ｄ，９，１２を参照されたい。幾何学形状が決定されると、本方法は、操作２４１０において、幾何学形状に基づいてコントローラの位置を計算し、この幾何学形状の中心は、コントローラの水平位置および垂直位置を示し、幾何学形状のサイズは、プレイフィールド内でのコントローラの深度を決定する。操作２４１２において、計算で求めた位置がコンピュータに関連するメモリに記憶され、操作２４１４において、コンピュータが、この記憶した位置に基づいて動作を起動する。
【００９８】
図２５は、一実施形態による、プレイフィールド内での識別可能なリングを含むボールの位置を決定するための方法のフローチャートを示す。この方法は、図２４に関して上で説明した方法と似ているが、図２５の方法は、三次元空間内でコントローラが移動したときのリングの変形に関する検討が新たに追加されている。
【００９９】
操作２５０２において、本方法は、図５に示すように、ゲームコントローラが存在するプレイフィールドの画像を取得する。操作２５０４において、ゲームコントローラに連結されているボール部分内のリングに関連するピクセルを見つけるために、この画像がスキャンされる。コントローラに取り付けられているボール内部のリングに基づく位置決定に関する異なる実施形態については、図１３Ａ〜１５Ｂを参照されたい。
【０１００】
操作２５０６において、本方法は、操作２５０４で見つかったピクセルを包含する領域を特定し、操作２５０８において、本方法は、領域に基づきリングに関連する楕円を決定する。操作２５１０において、楕円に基づいてコントローラの位置が計算される。この楕円の中心は、コントローラの水平位置および垂直位置を示し、楕円のサイズは、プレイフィールド内でのコントローラの深度を決定する。操作２２１２において、この位置がコンピュータに関連するメモリに記憶される。操作２５１４において、コンピュータが、この記憶した位置に応じて動作を起動する。
【０１０１】
本発明の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなどの各種のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、有線ベースまたは無線ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【０１０２】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されているデータを使用する、各種のコンピュータで実行される操作を使用してもよい点を理解すべきである。これらの操作は、物理量の物理的操作を必要とする。本発明の一部を構成している、本明細書に記載した操作はいずれも、有用な機械的操作である。本発明は、これらの操作を実行するデバイスまたは装置にも関する。この装置は、所望の目的のために特別に作製されたものであっても、あるいは汎用コンピュータであり、そのコンピュータに記憶されているコンピュータプログラムによって選択的に作動もしくは構成されてもよい。特に、各種の汎用の機械を、本明細書の教示に従って記述したコンピュータプログラムと併用してもよく、あるいは所望の操作を実行するために特化した機械を作製するほうが利便性が高いこともある。
【０１０３】
また、本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、コンピュータシステムによって後から読み取ることができるデータを記憶可能なデータ記憶デバイスであれば、どのようなものであってもよい。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続記憶装置（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されたコンピュータ可読有形媒体を介して分散されてもよい。
【０１０４】
方法の操作を特定の順序で記載したが、同時に実行される操作の処理が所期どおりに実行される限り、操作と操作の間に他の管理操作が実行されても、操作がわずかに時間をずらして実行されるように操作が調整されても、操作がシステム内で分散されて、処理に係るさまざまな間隔で処理操作を行なうことができるようにしてもよい。
【０１０５】
上記に、本発明を明確に理解できるように多少詳細に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【図１Ａ】
0005325992.tif 000002
【図１Ｂ】
0005325992.tif 000003
【図１Ｃ】
0005325992.tif 000004
【図１Ｄ】
0005325992.tif 000005
【図１Ｅ】
0005325992.tif 000006
【図２Ａ】
0005325992.tif 000007
【図２Ｂ】
0005325992.tif 000008
【図３Ａ】
0005325992.tif 000009
【図３Ｂ】
0005325992.tif 000010
【図４Ａ】
0005325992.tif 000011
【図４Ｂ】
0005325992.tif 000012
【図４Ｃ】
0005325992.tif 000013
【図４Ｄ】
0005325992.tif 000014
【図５】
0005325992.tif 000015
【図６Ａ】
0005325992.tif 000016
【図６Ｂ】
0005325992.tif 000017
【図６Ｃ】
0005325992.tif 000018
【図６Ｄ】
0005325992.tif 000019
【図７】
0005325992.tif 000020
【図８】
0005325992.tif 000021
【図９】
0005325992.tif 000022
【図１０】
0005325992.tif 000023
【図１１】
0005325992.tif 000024
【図１２】
0005325992.tif 000025
【図１３Ａ】
0005325992.tif 000026
【図１３Ｂ】
0005325992.tif 000027
【図１３Ｃ】
0005325992.tif 000028
【図１４Ａ】
0005325992.tif 000029
【図１４Ｂ】
0005325992.tif 000030
【図１４Ｃ】
0005325992.tif 000031
【図１４Ｄ】
0005325992.tif 000032
【図１４Ｅ】
0005325992.tif 000033
【図１４Ｆ】
0005325992.tif 000034
【図１４Ｇ】
0005325992.tif 000035
【図１４Ｈ】
0005325992.tif 000036
【図１５Ａ】
0005325992.tif 000037
【図１５Ｂ】
0005325992.tif 000038
【図１６】
0005325992.tif 000039
【図１７Ａ】
0005325992.tif 000040
【図１７Ｂ】
0005325992.tif 000041
【図１８】
0005325992.tif 000042
【図１９Ａ】
0005325992.tif 000043
【図１９Ｂ】
0005325992.tif 000044
【図２０】
0005325992.tif 000045
【図２１Ａ】
0005325992.tif 000046
【図２１Ｂ】
0005325992.tif 000047
【図２１Ｃ】
0005325992.tif 000048
【図２２】
0005325992.tif 000049
【図２３】
0005325992.tif 000050
【図２４】
0005325992.tif 000051
【図２５】
0005325992.tif 000052