説明

ゲームコントローラ本体のユーザ操作を検出、追跡し、その動きを入力およびゲームコマンドに変換するための方式

【解決手段】情報を得る際に用いられる方法は、コントローラ(302)上で確立された幾何学的形状の射影をカメラの画像平面で受け取り、幾何学的形状(304)の射影における動きと変形を解析し、幾何学的形状の射影(306)における動きと変形の解析に基づき、コントローラの位置情報を決定することを含む。システムに入力を与える際に用いられる方法は、システム(322)のコントローラの位置情報を決定し、コントローラの決定された位置情報と、コマンド(324)に関連づけられた所定の位置情報とを比較し、決定された位置情報がコマンド(326)に対する所定の位置情報と一致する場合、コマンドをシステムに提供することを含む。ゲームに用いられる方法は、位置情報を解析して、コマンドに関連づけられたコントローラの所定の動きが実行されたか否かを判定することを含んでもよい。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2006年5月6日に出願の米国特許出願第11/382,034号、「SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY」、2006年5月6日に出願の米国特許出願第11/382,037号、「SCHEME FOR TRANSLATING MOVEMENTS OF A HAND-HELD CONTROLLER INTO INPUTS FOR A SYSTEM」、および2006年5月7日に出願の米国特許出願第11/382,039号、「METHOD FOR MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO GAME COMMANDS」の継続出願である。これらの開示の全体は、参照により本明細書に完全に援用される。また、それぞれは以下に挙げる出願の優先権を主張する。
米国特許出願第11/382,034号、第11/382,037号および第11/382,039号はそれぞれ、以下の一部継続出願(CIP)である。すなわち、米国特許出願第10/207,677号、2002年7月27日出願の「MAN-MACHINE INTERFACE USING A DEFORMABLE DEVICE」、米国特許出願第10/650,409号、2003年8月27日出願の「AUDIO INPUT SYSTEM」、米国特許出願第10/663,236号、2003年9月15日出願の「METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION」、米国特許出願第10/759,782号、2004年1月16日出願の「METHOD AND APPARATUS FOR LIGHT INPUT DEVICE」、米国特許出願第10/820,469号、2004年4月7日出願の「METHOD AND APPARATUS TO DETECT AND REMOVE AUDIO DISTURBANCES」、米国特許出願第11/301,673号、2005年12月12日出願の「METHOD FOR USING RELATIVE HEAD AND HAND POSITIONS TO ENABLE A POINTING INTERFACE VIA CAMERA TRACKING」、米国特許出願第11/381,729号、2006年5月4日出願、 Xiao Dong Maoの「ULTRA SMALL MICROPHONE ARRAY」(代理人整理番号SCEA05062US00)、米国特許出願第11/381,728号、2006年5月4日出願、Xiao Dong Maoの「ECHO AND NOISE CANCELLATION」(代理人整理番号SCEA05064U '00)、米国特許出願第11/381,725号、2006年5月4日出願、Xiao Dong Maoの「METHODS AND APPARATUS FOR TARGETED SOUND DETECTION」(代理人整理番号SCEA05072US00)、米国特許出願第11/381,727号、2006年5月4日出願、Xiao Dong Maoの「NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE ON CONSOLE」(代理人整理番号SCEA05073US00)、米国特許出願第11/381,724号、2006年5月4日出願、Xiao Dong Maoの「METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION」(代理人整理番号SCEA05079US00)、米国特許出願第11/381,721号、2006年5月4日出願、Xiao Dong Maoの「SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING」(代理人整理番号SCEA04005JUMBOUS)。これらの全ては、その全体が参照により本明細書に援用される。
米国特許出願第11/382,034号、第11/382,037号および第11/382,039号は、それぞれ米国仮特許出願第60/718,145号、2005年9月15日出願の「AUDIO、VIDEO、SIMULATION、AND USER INTERFACE PARADIGMS」の利益を主張する。この仮特許出願は参照により本明細書に援用される。
(関連出願)
この出願は、同時係属中の米国特許出願第11/418,988号、2006年5月4日出願、Xiao Dong Maoの「METHODS AND APPARATUSES FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS」(代理人整理番号SCEA-00300)にも関連し、その開示の全体が参照により本明細書に援用される。この出願は、同時係属中の米国特許出願第11/418,989号、2006年5月4日出願、Xiao Dong Maoの「METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE」(代理人整理番号SCEA-00400)にも関連し、その開示の全体が参照により本明細書に援用される。この出願は、同時係属中の米国特許出願第11/429,047号、2006年5月4日出願、Xiao Dong Maoの「METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL」(代理人整理番号SCEA-00500)にも関連し、その開示の全体が参照により本明細書に援用される。この出願は、同時係属中の米国特許出願第11/429,133号、2006年5月4日出願、Richard Marksらの「SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING」(代理人整理番号SCEA04005US01-SONYP045)にも関連し、その開示の全体が参照により本明細書に援用される。この出願は、同時係属中の米国特許出願第11/429,414号、2006年5月4日出願、Richard Marksらの「Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program」(代理人整理番号SONYP052)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,031号、2006年5月6日出願、「MULTI-INPUT GAME CONTROL MIXER」(代理人整理番号SCEAO6MXR1)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,032号、2006年5月6日出願、「SYSTEM FOR TRACKING USER MANIPULATIONS WITHIN AN ENVIRONMENT」(代理人整理番号SCEAMXR2)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,033号、2006年5月6日出願、「SYSTEM、METHOD、AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL」(代理人整理番号SCEAO6INRTl)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,035号、2006年5月6日出願、「INERTIALLY TRACKABLE HAND-HELD CONTROLLER」(代理人整理番号SCEA06INRT2)にも関連し、その開示の全体が参照により本明細書に援用される。この出願は、同時係属中の米国特許出願第11/382,036号、2006年5月6日出願、「METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO VISUAL TRACKING」(代理人整理番号SONYP058A)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,041号、2006年5月7日出願、「METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO INERTIAL TRACKING」(代理人整理番号SONYP058B)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,038号、2006年5月6日出願、「METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO ACOUSTICAL TRACKING」(代理人整理番号SONYP058C)にも関連し、その開示の全体が参照により本明細書に援用される。この出願は、同時係属中の米国特許出願第11/382,040号、2006年5月11日出願、「METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO MULTI-CHANNEL MIXED INPUT」(代理人整理番号SONYP058D)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第11/382,043号、2006年5月7日出願、「DETECTABLE AND TRACKABLE HAND-HELD CONTROLLER」(代理人整理番号86325)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第29/259,349号、2006年5月6日出願、「CONTROLLER WITH INFRARED PORT」(代理人整理番号SCEA06007US00)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第29/259,350号、2006年5月6日出願、「CONTROLLER WITH TRACKING SENSORS」(代理人整理番号SCEA06008US00)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第60/798,031号、2006年5月6日出願、「DYNAMIC TARGET INTERFACE」(代理人整理番号SCEA06009US00)にも関連し、その開示の全体が参照により本明細書に援用される。
この出願は、同時係属中の米国特許出願第29/259,348号、2006年5月6日出願、「TRACKED CONTROLLER DEVICE」(代理人整理番号SCEA06010US00)にも関連し、その開示の全体が参照により本明細書に援用される。
【0002】
本発明は、一般にコンピュータ・エンターテイメント・システムに関し、より詳細には、そのようなコンピュータ・エンターテイメント・システム用のコントローラのユーザ操作に関する。
【背景技術】
【0003】
コンピュータ・エンターテイメント・システムは、一般的に手持ち型コントローラ、ゲーム・コントローラまたは他のコントローラを含む。ユーザまたはプレーヤは、プレイ中のテレビゲームまたは他のシミュレーションを制御するために、コントローラを使用してエンターテイメント・システムに対してコマンドまたは他の指示を送る。例えば、コントローラはユーザにより操作されるマニピュレータ(例えばジョイスティック)を備えていてもよい。ジョイスティックの操作された可変量はアナログ値からデジタル値に変換され、ゲーム機のメインフレームに送られる。コントローラは、ユーザによって操作可能であるボタンを備えていてもよい。
【発明の開示】
【発明が解決しようとする課題】
【0004】
これらの情報および他の背景情報に関して、本発明は考案された。
【課題を解決するための手段】
【0005】
一実施形態は、情報を取得する際に用いられる方法を提供する。この方法は、コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップと、前記幾何学的形状の射影における動きと変形を解析するステップと、前記幾何学的形状の射影における動きと変形の解析に基づき、コントローラの位置情報を決定するステップと、を含む。
【0006】
別の実施形態は、情報を取得する際に用いられるシステムを提供する。このシステムは、幾何学的形状が自身の上で確立されるコントローラと、前記コントローラ上で確立された幾何学的形状の射影を画像平面上で受け取るように構成されたカメラと、前記幾何学的形状の射影における動きと変形を解析して、この解析に基づき前記コントローラの位置情報を決定するように構成された画像解析器と、を含む。
【0007】
別の実施形態は、情報を取得する際に用いられるシステムを提供する。このシステムは、コントローラ上で確立された幾何学的形状の射影をカメラの画像平面上で受け取る手段と、前記幾何学的形状の射影における動きと変形を解析する手段と、前記幾何学的形状の射影における動きと変形の解析に基づき、前記コントローラの位置情報を決定する手段と、を含む。
【0008】
別の実施形態は、コンピュータへ入力されるコンピュータプログラムを具現化するための媒体と、コンピュータに以下のステップを実行させるために前記媒体に具現化されているコンピュータプログラムと、を備えるコンピュータプログラム製品を提供する。このコンピュータプログラム製品は、コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップと、前記幾何学的形状の射影における動きと変形を解析するステップと、前記幾何学的形状の射影における動きと変形の解析に基づき、コントローラの位置情報を決定するステップと、を実行する。
【0009】
別の実施形態は、システムに入力を与える際に用いられる方法を提供する。この方法は、システムのコントローラの位置情報を決定するステップと、前記コントローラの決定された位置情報と、コマンドに関連づけられた所定の位置情報とを比較するステップと、前記決定された位置情報が、コマンドに対する所定の位置情報と一致する場合、コマンドをシステムに提供するステップと、を含む。
【0010】
別の実施形態は、システムに入力を与える際に用いられるシステムを提供する。このシステムは、システムのコントローラの位置情報を決定する手段と、前記コントローラの決定された位置情報と、コマンドに関連づけられた所定の位置情報とを比較する手段と、前記決定された位置情報が、コマンドに対する所定の位置情報と一致する場合、コマンドをシステムに提供する手段と、を備える。
【0011】
別の実施形態は、コンピュータへ入力されるコンピュータプログラムを具現化するための媒体と、コンピュータに以下のステップを実行させるために前記媒体に具現化されているコンピュータプログラムと、を備えるコンピュータプログラム製品を提供する。このコンピュータプログラム製品は、システムのコントローラの位置情報を決定するステップと、前記コントローラの決定された位置情報と、コマンドに関連づけられた所定の位置情報とを比較するステップと、前記決定された位置情報がコマンドに対する所定の位置情報と一致する場合、コマンドをシステムに提供するステップと、を実行する。
【0012】
別の実施形態は、ゲームで使用される方法を提供する。この方法は、ユーザによって操作されているコントローラの位置情報を受け取るステップと、前記位置情報を解析して、コマンドに関連づけられたコントローラの所定の動きが実行されたか否かを決定するステップと、前記コマンドに関連づけられたコントローラの所定の動きが実行された場合、前記コマンドを実行するステップと、を含む。
【0013】
別の実施形態は、コンピュータへ入力されるコンピュータプログラムを具現化するための媒体と、コンピュータに以下のステップを実行させるために前記媒体に具現化されているコンピュータプログラムと、を備えるコンピュータプログラム製品を提供する。このコンピュータプログラム製品は、ユーザによって操作されているコントローラの位置情報を受け取るステップと、前記位置情報を解析して、コマンドに関連づけられたコントローラの所定の動きが実行されたか否かを決定するステップと、前記コマンドに関連づけられたコントローラの所定の動きが実行された場合、前記コマンドを実行するステップと、を実行する。
【0014】
本発明の様々な実施形態の特徴および利点は、本発明の実施形態の原理が利用される具体例について述べる以下の詳細な説明および添付の図面を参照することによって、より良く理解されるであろう。
【0015】
本発明の実施形態の上記態様および他の態様、特徴、利点は、以下の図面とともに提示される以下のより詳細な説明から、さらに明らかになるであろう。
【発明を実施するための最良の形態】
【0016】
テレビゲームのユーザまたはプレーヤは、一般的に、コントローラ上に配置されたボタン、ジョイスティック等を操作するために、一方の手または両手でゲームコントローラを保持する。ゲームをしている間、ユーザはボタン、ジョイスティック等を操作するとき同時に、コントローラそのものも空中で動かすことが多い。ゲーム中に興奮し、コントローラそのものを空中で動かすことによってゲームの動作または状況を制御しようと試みる傾向のあるユーザもいる。
【0017】
本明細書に記載される方法、装置、方式およびシステムの様々な実施形態は、ユーザによるコントローラ本体そのものの動き、動作および/または操作の検出、捕獲および追跡を提供する。ユーザによるコントローラ本体全体の検出された動き、動作および/または操作は、プレイ中のゲームまたは他のシミュレーションの様々な状況を制御するための追加のコマンドとして使用することができる。
【0018】
ゲームコントローラ本体のユーザによる操作の検出および追跡は、様々な方法で実施することができる。例えば、一部の実施形態では、コンピュータ・エンターテイメント・システムとともにカメラ周辺機器を使用して、手持ちコントローラ本体の動きを感知してその動きをゲーム内でのアクションに変換することができる。カメラを用いて、コントローラの多くの異なる種類の動きを検出することができる。例えば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。
【0019】
ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。
【0020】
図1Aを参照すると、本発明の一実施形態により作動するシステム100が示されている。図示するように、コンピュータ・エンターテイメント・システムまたはコンソール102は、テレビゲームまたは他のシミュレーションの画像を表示するためにテレビまたは他のビデオディスプレイ104を用いる。ゲームまたは他のシミュレーションは、DVD、CD、フラッシュメモリ、USBメモリ、またはコンソール102に挿入される他のメモリ媒体106に保存されてもよい。ユーザまたはプレーヤ108は、ゲームコントローラ110を操作してテレビゲームまたは他のシミュレーションを制御する。
【0021】
コントローラ110がカメラの視野114の中に収まるように、カメラまたは他のビデオ画像取得装置112が配置される。図示するように、カメラ112はビデオディスプレイ104の上に置かれてもよいが、カメラをどこに配置してもよいことは十分理解されなければならない。一例として、カメラ112は、市販のEyeToy(登録商標)製品のようなカメラ周辺装置であってもよい。しかし、いかなる種類またはブランドのカメラでも使用可能であることを十分理解しなければならない。例えば、ウェブカメラ、アドオンのUSBカメラ、赤外線(IR)カメラ、高フレームキャプチャレートのカメラなどである。
【0022】
作動中、ユーザ108はコントローラ110そのものを物理的に動かす。すなわち、ユーザ108は空中でコントローラ110の全体を物理的に動かす。例えば、コントローラ110をユーザ108により任意の方向、つまり上下、左右、ねじり、回転、揺さぶり、急な動き、落ち込みのように動かすことができる。コントローラ110自体のこれらの動きは、以下に記す方法で画像解析による追跡によってカメラ112により検知および取得することができる。
【0023】
一般に、検知され取得されたコントローラ110の動きを使用して、コントローラ110の位置データと方向データを生成することができる。画像フレーム毎にこのデータが収集されるので、データを用いてコントローラ110の動きの多くの物理的状況を計算することができる。例えば、任意の軸に沿ったコントローラの加速度および速度、その傾き、ピッチ、ヨー、ロール、およびコントローラ110の任意の遠隔測定点などである。
【0024】
コントローラ110の動きを検出し追跡する能力により、コントローラ110の予め定義された動きが実行されるか否かを判定することが可能になる。すなわち、コントローラ110の特定の動きパターンまたはジェスチャを、ゲームまたは他のシミュレーションのための入力コマンドとして予め定義し用いることができる。例えば、コントローラ110を落下させるジェスチャを一つのコマンドとして定義することができ、コントローラ110をひねるジェスチャを別のコマンドとして定義することができ、コントローラ110を揺さぶるジェスチャを別のコマンドとして定義することができるなどである。このように、ユーザ108がコントローラ110自体を物理的に動かす態様を、ゲームを制御するためのもう一つの入力として使用する。これにより、より刺激的で面白い体験をユーザに提供する。コントローラ110の動きをゲームの入力コマンドに割り当てる方法が以下で説明される。
【0025】
図1Bを参照すると、本発明の実施形態にしたがって作成されるコントローラ110のより詳細な図が示されている。コントローラ110は本体111を含む。本体111は、人が手で保持する(または、ウェアラブル・ゲームコントローラである場合は着用する)ゲームコントローラ110の一部である。ユーザにより操作可能である入力装置は、例えば、コントローラ上のボタンまたは多軸操作スティックなどである。一つ以上のボタンが本体111に配置されていてもよい。本体は手で保持できるハウジングを含んでもよい。ハウジングは手で把持可能なグリップを含んでもよい。したがって、ユーザ108がコントローラ110そのものを物理的に動かすとき、動作の間、ユーザ108はコントローラ110の本体111を物理的に動かす。ユーザは空中ですなわち自由空間で本体111を動かす。
【0026】
ゲームコントローラにより制御されるゲームの進行がスクリーン上に表示されるとき、本体111はスクリーンの方向を向いた前部を有していてもよい。少なくとも1台の入力装置が、ユーザからの入力を登録するためにユーザにより操作可能である入力装置とともに、本体111に組み付けられていてもよい。
【0027】
一つまたは複数の発光ダイオード(LED)が、幾何学的形状で構成された本体の上に配置されていてもよい。または、別の種類の光検出可能な(PD)要素が本体111と組み付けられていてもよい。前部が少なくともスクリーンの方向を向いているときに、光検出可能な要素の位置が、画像取得装置によって記録中の画像の範囲内にあってもよい。空間内での本体111の動きを定量化することで、異なる時点におけるPD要素の位置を定量化することができる。
【0028】
この実施形態では、コントローラ110は4つの発光ダイオード(LED)122、124、126、128を含む。図示するように、4つのLED122、124、126、128は実質的に正方形または長方形のパターンで配置されてもよく、RlボタンとLlボタンの間のコントローラ110のブリッジ部に配置されてもよい。したがって、本実施形態では、幾何学的形状は実質的に正方形か長方形のパターンである。4つのLED122、124、126、128で作られる正方形または長方形のパターンは、本明細書ではLEDにより形成される「バウンディング・ボックス(bounding box)」と呼ぶ。
【0029】
幾何学的形状が多くの異なる形状であってもよいことは、十分理解されなければならない。例えば、幾何学的形状は線形パターンでも二次元パターンであってもよい。LEDを線形配置するのが好ましいが、代替的に、LEDを長方形パターンまたは円弧パターンで配置して、画像取得カメラにより取得されるLEDパターンの画像を解析するときの、LED配列の画像平面の決定を容易にすることができる。
【0030】
コントローラの図示した実施形態は4つのLEDを利用するが、他の実施形態が5つ以上または4つ未満のLEDを利用してもよいことは十分理解されなければならない。例えば、3つのLEDでも機能するし、二つのLEDでも追跡情報を提供するように機能する。1つのLEDであっても、位置情報を提供することができる。さらに、LEDはコントローラ110の異なる部分に置かれてもよい。
【0031】
4つのLED 122、124、126、128は、カメラ112(図1A)により認識される4つの点またはドットを生成する。手にコントローラ110を持つプレーヤ108をカメラ112が見ているので、カメラ112は、4つのLED 122、124、126、128により作られるドットとこれらが作るバウンディング・ボックスの動きを追跡することによって、コントローラ110の動きを追跡することができる。
【0032】
すなわち、ユーザ108がコントローラ本体110をひねったり回転したりすると、4つのドットの射影がカメラ112の出力の画像平面上に投影される。コントローラのユーザによる操作を追跡し、コントローラの位置と方向を決定するために、画像解析を使用する。このように、4つのLED122、124、126、128は、本体の動きに関する情報を生成する。1台または2台のコントローラの位置を決定することができ、または、2台のコントローラの相対動作を追跡することができる。
【0033】
図2Aは、バウンディング・ボックスを用いてコントローラの動きを追跡する方法の例を示す。具体的には、コントローラと4つのLED122、124、126、128がカメラ112の視野114の範囲内に配置される。コントローラが初期位置にあるとき、4つのLED122、124、126、128はバウンディング・ボックス202を形成する。コントローラが第2の位置へ移動すると、4つのLED122、124、126、128は第2のバウンディング・ボックス204を形成する。加えて、コントローラが初期位置から第2の位置へと移動するとき、移動速度とカメラ112のフレームレートとに応じて、バウンディング・ボックスの中間位置も取得される。
【0034】
4つのLED122、124、126、128によって形成されるバウンディング・ボックス202、204が、カメラ112の画像平面で取得される。図2Bは、バウンディング・ボックス202および204を表しているカメラ112の画像平面220の一例を示す。バウンディング・ボックスの運動と、バウンディング・ボックスの長方形がコントローラの傾き、ヨー等に基づき異なる形状に変形する仕方を導出し決定するために、物理解析を実行する。バウンディング・ボックスを画像平面上に投影することによって、コントローラの位置、方向、加速度、速度等を決定することができる。そして、これらを用いてゲームコントローラのユーザ操作を追跡することができる。
【0035】
図3Aを参照すると、本発明の一実施形態にしたがってコントローラから情報を取得する際に用いられる方法300が示されている。方法300は多くの異なる種類のシステムおよび装置(例えば、エンターテイメント・システム、コンソール、コンピュータ、家電装置など)で実施および実行することができる。方法300を実行するために使用可能なシステムの例が以下で説明される。
【0036】
方法300は、コントローラ上で確立される幾何学的形状の射影がカメラの画像平面で受け取られるステップ302から始まる。上述したようにしてこのステップを実行することができる。
【0037】
ステップ304で、幾何学的形状の射影における動きと変形が解析される。すなわち、バウンディング・ボックスの4つのドットが追跡され解析される。カメラ出力の画像平面上でフィールドおよびフレーム解析が実行されて、4つの参照点の操作を解析し、コントローラの位置、方向、傾き、ヨー、ロール等を決定する。さらに、コントローラの加速度を任意の方向で追跡することができる。画像のフレームの解析により、任意の軸に沿った加速度を求めることができる。コントローラの遠隔測定点を計算することもできる。コントローラが静止位置または静止状態にあるか否か、例えばコントローラがユーザの腰の近くで中立状態または安定状態にあるかを決定することもできる。
【0038】
コントローラが回転すると、画像が平面上で変換する。バウンディング・ボックスの長方形の幅の変化は、コントローラが回転していることを示す。コントローラのヨーが調節されて、長方形の幅が変化する。ヨーは長方形の幅にマップされる。コントローラの傾きは、長方形の高さに影響を与える。
【0039】
例えば、バウンディング・ボックス202(図2B)は、コントローラがカメラをまっすぐ前方に見るように最初に置かれたことを示す。バウンディング・ボックス204は、コントローラがその後下方に動かされ、回転し、ユーザの左方に向いたことを示す。
【0040】
画像平面は変形した長方形を見るだけであるので、コントローラが「基平面」のいずれの側に置かれているのかを知ることが困難である。例えば、ユーザがコントローラを操作して軸水平線の向こう側に等距離だけコントローラを動かす時間の間に、誰かがカメラの前を歩いてカメラを遮るような場合に、この問題が生じ得る。これは、バウンディング・ボックスが画像平面で同じものを見る原因にもなり得る。コントローラが画像取得装置の視野領域の外側に移動する場合にも、これは起こりえる。
【0041】
このように、変形が正または負の傾きまたはロール(安定した状態の元の位置から離れた上下および左右の動きに関しての正負)により引き起こされているか否かに関する判定が必要である。この判定は、コントローラからの他の遠隔測定を読むか、またはLEDをストロボ発光あるいは変調させて、ビデオ解析システムが追跡目的のためにバウンディング・ボックスの長方形の個々の角を識別可能とすることによって、解決することができる。バウンディング・ボックスの異なる角の認識の助けとなるように、LEDをストロボ発光するかまたは変調させることができる。あるいは、バウンディング・ボックスの異なる角の認識の助けとなるように、各LEDに特有の周波数を持たせてもよい。境界領域の特定の角、すなわち各LEDを識別することによって、任意の時点においてコントローラが水平線のいずれの側にあるかを判定することができる。このようにして、カメラ平面を通り抜けるコントローラに関連した問題を取り扱うことができる。
【0042】
スクリーン上でのバウンディング・ボックスの動きと回転の追跡は、フレーム単位の解析に基づく。カメラの出力は画像データのフレームを作成する。バウンディング・ボックスの射影がソフトウェアで取得される。フレームを横切るコントローラの動きは、箱の変換に基づいている。
【0043】
高フレームレートを用いることで、コントローラの動きの加速度と加速度の変化を正確に追跡することができる。すなわち、高いレートで平面上に画像を投影することで、コントローラのデルタ運動を追跡することができる。これにより、加速度、加速度が最大になる点、重力がゼロになる点、および変曲点をプロットすることが可能になる。変曲点は、コントローラが停止して方向を変える変換点である。この解析の全ては、画像フレームを解析してバウンディング・ボックスの位置と方向を決定することによって実行される。一例として、毎秒120フレーム以上のフレームレートを使用してもよい。しかし、任意のフレームレートを使用できることを十分理解すべきである。
【0044】
以下に述べるように、前のフレームの履歴をマッピングしてもよい。これにより、例えば、追跡の加速度および速度、停止点などの特定パラメータを決定するためにコントローラの前の遠隔測定を見ることができる。
【0045】
ステップ306(図3A)で、幾何学的形状の射影における動きと変形の解析に基づき、コントローラの位置情報が決定される。一例として、画像解析器を用いてステップ304および306の一方または両方を実行することができる。すなわち、画像解析器を用いて、カメラの画像平面におけるバウンディング・ボックスの動きと変形の解析を実行することができる。ビデオカメラの出力は、画像解析器の入力に接続される。本明細書に記載される一つまたは複数の方法、方式および機能を実施するために画像解析器を組み込むシステムの一例を以下に述べる。
【0046】
画像解析器は、カメラの画像平面で取得される参照LEDで形成されるバウンディング・ボックスを監視する。画像解析器は、バウンディング・ボックスの位置、回転、水平方向および垂直方向の変形を解析し、コントローラの物理的なユーザ操作、その位置、ロール、傾き、およびヨー座標を決定する。画像解析の終了後、出力IDその他の形でデータを出力してもよい。画像解析から得られたこのような出力IDは、任意の軸に沿ったx、y、z座標、加速度および速度、コントローラが静止位置または静止状態にあるか等のデータを含んでもよい。こうして、画像解析の終了後、画像解析器はコントローラの場所およびコマンドが発行されるか否かを示すことができる。そして、画像解析器は任意の瞬間でpingを実行することができ、位置、方向、最後のコマンド等を提供することができる。
【0047】
一例として、画像解析器は以下の出力を提供することができるが、これらに限られない:
コントローラの位置(X、Y、Z座標)
コントローラの方向 アルファ、ベータ、ガンマ(ラジアン)
コントローラのX軸速度
コントローラのY軸速度
コントローラのZ軸速度
コントローラのX軸加速度
コントローラのY軸加速度
コントローラのZ軸加速度
安定状態の静止位置 Y/N(上述の腰の位置。しかし、任意の位置として定義することができる)
最後の安定状態からの時間
認識された最後のジェスチャ
最後に認識されたジェスチャの時刻
到達したゼロ加速度点の割り込み
これらの出力はそれぞれ、上述したようにバウンディング・ボックスの動きと変形を解析することによって生成することができる。コントローラの動きを追跡するために、これらの出力をさらに処理してもよい。このような追跡によりコントローラの特定の動きを認識することが可能となり、これを用いて以下に述べるように特定のコマンドを起動させることができる。上記の出力に加えて、または上記の出力の代わりに他の多くの出力を使用できることは十分理解されなければならない。
【0048】
画像解析器へのさらなる入力を任意に提供することができる。このような任意の入力には以下が含まれるが、これらに限られない:
設定ノイズレベル(X、YまたはZ軸)(これは、ゲームでの腕のいらいら(jitter)を解析するときの参照許容値である)
設定サンプリングレート(カメラのフレームが取得され解析される頻度)
設定ギア比率(gearing)
設定マッピングチェーン
【0049】
上述のように、コントローラ110の動きを検出し追跡する能力により、コントローラ110の任意の予め定義された動きが実行されるか否かについて決定することが可能になる。すなわち、コントローラ110の特定の動きパターンまたはジェスチャをマッピングして、ゲームまたは他のシミュレーションのためにコマンドを入力することができる。
【0050】
図3Bを参照すると、本発明の一実施形態にしたがってシステムに入力を与える際に用いられる方法320が示されている。方法320は、システムのコントローラの位置情報が決定されるステップ322から始まる。このステップは、上述の方法および技術を使用して実行することができる。
【0051】
ステップ324で、コントローラの決定された位置情報が、コマンドと関連する予め定められた位置情報と比較される。すなわち、任意の数のコントローラの異なる動き、ジェスチャまたは操作を様々なコマンドに割り振ることができる。これにより、コントローラの異なる動き、ジェスチャまたは操作をゲームモデルにマッピングすることができる。例えば、コントローラを上に動かすことを1つのコマンドに割り振り、コントローラを下に動かすことを別のコマンドに割り振り、他の任意の方向にコントローラを動かすことを他のコマンドに割り振ることができる。
【0052】
同様に、コントローラを一回揺することを一つのコマンドに割り振り、コントローラを二回揺することを別のコマンドに割り振り、以下同様にコントローラを三回、四回、五回等揺することを他のコマンドに割り振ることができる。すなわち、コントローラを特定の回数だけ揺することに基づき、様々なジェスチャを定めることができる。コントローラを特定の回数だけ強く上下に揺することに基づき、さらに他のジェスチャを定めることができる。ひねり、回転等のコントローラの他の動きをさらに他のコマンドに割り振ることができる。
【0053】
このように、ゲームコントローラの様々な異なる軌跡をジェスチャに割り振ることができ、これがゲームのコマンドを起動させる。各コマンドは、コントローラの予め定められた動きに割り振られる。このようなコントローラの予め定められた動きは、予め定められた位置情報に関連づけられる。この実施形態では、コントローラの決定された位置情報を予め定められた位置情報と比較して、コマンドを起動させるか否かが確認される。
【0054】
一例として、このようなジェスチャのゲームコマンドへのマッピングを以下のようにして実施することができる。コントローラの位置および方向情報を決定するために、画像解析器の出力を使用することができる。画像解析器は、コントローラの位置と方向を表す様々な異なるIDを出力することができる。例えば、1つのIDが定常状態の判定のための出力であり、別のIDがコントローラの振動を示すための出力であり、様々な他のIDが他の方向を示すための出力であってもよい。したがって、このようなIDを用いて、コントローラが定常状態にあるか移動中であるかを出力することができる。コントローラが定常状態にある場合、IDはコントローラが定常状態にある時間を示してもよい。
【0055】
コントローラの決定された位置および方向情報は、ゲームの入力コマンドと関連する予め定められた位置情報と比較されてもよい。決定された位置情報が所定の位置情報と一致する場合、コマンドがエンターテイメント・システムに提供される。また、コントローラの上下動、円を描くひねり、左右の動き、上下動中のひねり、右または左への回転と言った様々なジェスチャを、全て様々なコマンドに割り振ることができる。
【0056】
新しいコマンドまたはジェスチャが認識されると、画像解析器は割り込みを起動してもよい。このような割り込みの起動を、エンターテイメント・システムにコマンドを提供するプロセスの一部として用いてもよい。軸内でのゼロ加速点、停止点および/または他のイベントもまた割り込みを起動するように、システムを任意に構成してもよい。
【0057】
決定された位置および方向情報を入力コマンドに関連する予め定められた位置情報と比較して一致するか否かを見るとき、完全な一致が存在しない場合もしばしば発生する。これは、コントローラが自由空間で動くため、予め定義された動きを正確に再現することが困難な場合があるためである。したがって、コマンドを起動させるために予め定められた位置情報に十分近いとみなされる範囲、許容値および/または閾値に関して、入力コマンドに関連する予め定められた位置情報を定義しておいてもよい。すなわち、閾値または範囲に関してコマンドを定義してもよい。このように、任意のコマンドまたはジェスチャが認識されたか否かを判定するときに、システムは、決定された位置および方向情報がジェスチャの範囲内に含まれるか否かを確認してもよい。したがって、定義されたコマンドは、コマンドを呼び出すか否かを判定するときに見られる閾値を有していてもよい。
【0058】
さらに、決定された位置および方向情報を入力コマンドに関連する予め定められた位置情報と比較して一致するか否かを見るとき、前のフレームの履歴を保存したりマッピングしたりしてもよい。例えば、フレームバッファを監視してもよいし、またはシステムが前のフレームの履歴を記録し続けるようにしてもよい。前のフレームを見て、任意のコマンドが満足するか否かを判定してもよい。フレーム履歴のマッピングにより、特定の時刻におけるコントローラの遠隔測定をして、コマンドが満足するかどうかを判定する際の位置と方向を提供することが可能になる。
【0059】
最後に、ステップ326で、コントローラの決定された位置情報がコマンドの予め定められた位置情報と一致する場合、コマンドがシステムに提供される。このようなコマンドを用いて、テレビゲームまたは他のシミュレーション内でイベントを発生させたりまたは発生させないようにすることができる。
【0060】
他の実施形態では、ゲームコントローラの動きを、例えばテレビゲームにおけるゲームコマンドに割り振ることができる。テレビゲームまたは他のシミュレーションで使用可能なこの用法を用いると、ユーザにより操作中のコントローラの位置情報が受け取られる。この位置情報が解析され、コマンドに関連したコントローラの予め定められた動きが実行されたか否かが決定される。この解析は、上述したように実行することができる。コマンドに関連するコントローラの予め定められた動きが実行された場合、ゲームによってコマンドが実行される。コマンドの実行により、ゲームが表示されているビデオディスプレイ上で視覚効果またはその他を発生させることができる。
【0061】
本明細書の議論は、ゲームまたは他のエンターテイメント・システムのコントローラでのLEDの使用に関しているが、本明細書で提供される教示は、他の種類のシステム、装置、家電等のコントローラの動きの検出および追跡に適用できることを十分理解しなければならない。すなわち、上述のゲームコントローラのLEDを使用して、家電装置または任意の装置の遠隔操作機能を実行することができる。コントローラを検出、追跡しその動きをシステムおよび装置のコマンドにマッピングできるように、多くの他の種類のシステムおよび装置のコントローラ上のLEDを用いることができる。この種の他の種類のシステムおよび装置の例には、テレビ、ステレオ、電話、コンピュータ、ホームネットワーク、オフィスネットワーク、携帯型コンピュータ装置または通信装置等が含まれるが、これらに限定されない。
【0062】
さらに、本明細書に記載された教示を、いくつかのまたは多数の異なる装置を制御する能力を有する汎用のリモコンに適用することができる。すなわち、そのような汎用のリモコンは本明細書で述べたLEDを含んでもよく、いくつかのまたは多くの異なる装置またはシステムへの入力コマンドとして汎用リモコン本体の動きを用いることができる。
【0063】
さらに、ゲームコントローラは汎用の遠隔機能を有していてもよい。例えば、ゲームコントローラにより制御されるゲームの進行がスクリーン上に表示されるとき、スクリーンの方向を向いた前部を有する本体を備えていてもよい。ユーザからの入力を登録するために、ユーザによって操作可能である入力装置を持つ本体に少なくとも1台の入力装置を組み付けてもよい。信号エンコーダが含まれてもよい。信号エンコーダにより発生する信号を用いて大気を介して赤外線信号を送信するよう作動可能な赤外線信号送信機が含まれてもよい。信号エンコーダは、赤外線レシーバと選択された一つの信号コードで作動可能な信号デコーダとを有する電子装置による受信のために、複数の信号コードのうち選択された一つを用いて信号を符号化するようプログラム可能であってもよい。
【0064】
さらに、電池式おもちゃ(ブランドゲームの形とスタイルに形成されたおもちゃを含む)をLEDを用いて形成し、検出された環境で追跡されるユーザ操作される本体を形成してもよい。
【0065】
一部の実施形態では、画像解析器はユーザを認識するかまたは音声認証されたジェスチャを処理するなどすることができる。ジェスチャを通じてシステムの解析器によりユーザを識別可能であり、ジェスチャはユーザに特有であってもよい。ジェスチャはユーザによって記録されてもよいし、モデルに保存されてもよい。記録プロセスは、ジェスチャの記録中に生じた音声を選択的に保存してもよい。感知された環境をサンプルとして多重チャネル解析器に入力して処理してもよい。プロセッサは、ジェスチャモデルを参照し、音声または音響パターンに基づき、高精度かつ高性能にユーザの身元またはオブジェクトを決定し認証してもよい。
【0066】
本発明の実施形態によると、本明細書に記載の方法および技術は、図4に示した信号処理装置400の一部として実装することができる。装置400は、プロセッサ401とメモリ402(例えば、RAM、DRAM、ROMなど)を含んでもよい。さらに、並列処理を実装する場合には、信号処理装置400が複数のプロセッサ401を備えていてもよい。メモリ402は、上述のように構成されたデータとコードを含んでもよい。
【0067】
具体的には、メモリ402は信号データ406を含んでもよい。メモリ402は較正データ408を含んでもよい。較正データ408は、例えば、マイク配列422の較正から得られる一つ以上の対応する事前に調整されたリスニングゾーンの一つ以上の逆固有マトリックスC−1を表すデータである。一例として、メモリ402はマイク配列422を含む18個の20度のセクタのための固有マトリックスを含んでもよい。
【0068】
装置400は周知のサポート機能410、例えば入出力(I/O)要素411、電源(P/S)412、クロック(CLK)413およびキャッシュ414等を備えてもよい。装置400は、プログラムおよび/またはデータを記憶するディスクドライブ、CD−ROMドライブ、テープ装置等の大容量記憶装置415を任意に備えてもよい。コントローラは、コントローラ400とユーザとの対話を促進するためのディスプレイ装置416とユーザインタフェースユニット418を任意に備えてもよい。ディスプレイ装置416は、テキスト、数字、グラフィック・シンボルまたは画像を表示する陰極線管(CRT)またはフラットパネル・スクリーンの形であってもよい。ユーザ・インタフェース418は、キーボード、マウス、ジョイスティック、ライトペンまたは他の装置であってもよい。さらに、ユーザ・インタフェース418は分析される信号を直接取得するためのマイク、ビデオ・カメラまたは他の信号変換装置であってもよい。プロセッサ401、メモリ402およびシステム400の他の構成要素は、図4で示すようにシステムバス420を介して互いに信号(例えば、コード命令とデータ)を交換してもよい。
【0069】
マイク配列422は、I/O機能411を介して装置400に接続されてもよい。マイク配列は、隣のマイクと約4cm未満、好ましくは約1〜2cm離して配置された約2〜8個のマイク、好ましくは4個のマイクであってもよい。好ましくは、配列422のマイクは全方向性マイクである。オプションの画像取得装置423(例えば、デジタルカメラ)は、I/O機能411を介して装置400に結合される。カメラに機械的に結合される一つ以上のポインティングアクチュエータ425は、I/O機能411を介してプロセッサ401と信号を交換することができる。
【0070】
本明細書においては、I/Oという用語は、一般にシステム400と周辺装置との間でデータをやりとりする任意のプログラム、操作または装置のことを指す。あらゆるデータ転送は、一つの装置からの出力および別の装置への入力とみなすことができる。周辺装置には、キーボードやマウスなどの入力専用装置、プリンタなどの出力専用の装置の他、入出力装置として機能する書き込み可能なCD−ROM等の装置も含まれる。「周辺装置」という用語には、マウス、キーボード、プリンタ、モニター、マイク、ゲームコントローラ、カメラ、外部Zipドライブまたはスキャナ等の外部装置の他、CD−ROMドライブ、CD−Rドライブまたは内蔵モデムなどの内部装置、またはフラッシュメモリ・リーダ/ライタ、ハードディスクなどの他の周辺機器も含まれる。
【0071】
本発明の特定の実施形態では、装置400はテレビゲームユニットであってもよく、ワイヤ(例えば、USBケーブル)または無線によってI/O機能411を介してプロセッサに接続されたジョイスティック・コントローラ430を備えてもよい。ジョイスティック・コントローラ430は、テレビゲームのプレイ中に一般に用いられる制御信号を提供するアナログジョイスティックコントロール431と従来のボタン433とを備えていてもよい。そのようなテレビゲームは、メモリ402に記憶可能なプロセッサ可読のデータおよび/または命令として実装されてもよいし、あるいは、大容量記憶装置415と関連するような他のプロセッサ可読媒体として実装されてもよい。
【0072】
ジョイスティックコントロール431は、コントロールスティックを左右に動かすとX軸に沿った運動の信号を送り、スティックを前後(上下)に動かすとY軸に沿った運動の信号を送るように通常構成されている。三次元動作用に構成された構成されるジョイスティックでは、スティックを左方向(反時計回り)または右方向(時計回り)にひねるとZ軸に沿った運動の信号を送る。これら3軸X、Y、Zは、特に航空機に関してそれぞれロール、ピッチ、ヨーと呼ばれることが多い。
【0073】
従来の特徴に加えて、ジョイスティック・コントローラ430は一つ以上の慣性センサ432を備えていてもよい。慣性センサは、慣性信号を介してプロセッサ401に位置情報および/または方向情報を提供することができる。方向情報は、ジョイスティック・コントローラ430の傾き、ロールまたはヨーなどの角度情報を含んでもよい。一例として、慣性センサ432は、任意の数の加速度計、ジャイロスコープ、傾きセンサであってもよいし、および/またはこれらの組み合わせであってもよい。好ましい実施形態では、慣性センサ432は、傾き軸とロール軸に関してジョイスティック・コントローラの方向を感知するようにされた傾きセンサと、ヨー軸に沿って加速度を感知する第1加速度計と、ヨー軸に対する角加速度を感知する第2加速度計とを備えていてもよい。加速度計は、一つ以上の方向に対する質量の変位を感知するセンサを持ち一つ以上のバネにより取り付けられた質量を備えるMEMS装置であってもよい。質量の変位に応じたセンサからの信号を用いて、ジョイスティック・コントローラ430の加速度を決定することができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404により実装される。
【0074】
一例として、慣性センサ432として適した加速度計は、例えばバネによって3点または4点でフレームに弾性結合された単一の質量であってもよい。ピッチ軸とロール軸はフレームを横切る平面内にあり、フレームはジョイスティック・コントローラ430に取り付けられる。フレーム(およびジョイスティック・コントローラ430)がピッチ軸とロール軸のまわりを回転すると、重力の影響により質量が変位し、ピッチおよび/またはロールの角度に応じてバネが伸縮する。質量の変位が感知され、ピッチおよび/またはロールの量に応じて信号に変換される。ヨー軸周りの角加速度またはヨー軸に沿った直線加速度は、感知可能であり角加速度または線形加速度の量に応じて信号に変換されるバネ伸縮または質量の動きの特徴的なパターンを生成する。そのような加速度計装置は、質量の動きあるいはバネの伸縮力を追跡することで、傾き、ロール、ヨー軸周りの角加速度およびヨー軸周りの線形加速度を測定することができる。質量の位置および/または質量にかかる力を追跡する多くの異なる方法があり、これには、抵抗歪みゲージ材料、フォトニック・センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどが含まれる。
【0075】
さらに、ジョイスティック・コントローラ430は、発光ダイオード(LED)等の一つ以上の光源434を含んでもよい。光源434は、あるコントローラと別のコントローラとを区別するのに用いられてもよい。例えば、LEDパターンコードを点滅するか保持するかによって一つ以上のLEDでこれを達成することができる。一例として、5個のLEDを線形パターンまたは二次元パターンでジョイスティック・コントローラ430上に設けることができる。LEDを線形配列するのが好ましいが、代わりに、画像取得装置423により取得されるLEDパターンの画像を解析するときにLED配列の画像平面の決定を容易にすべく、LEDを長方形パターンまたは円弧状パターンで配置してもよい。さらに、LEDパターンコードを使用して、ゲーム中にジョイスティック・コントローラ430の位置を決定してもよい。例えば、LEDはコントローラの傾き、ヨー、ロールの区別を助けることができる。この検出パターンは、航空機飛翔ゲーム等のゲームにおけるユーザの感覚を改善するのに役立つ。画像取得装置423は、ジョイスティック・コントローラ430と光源434とを含む画像を捕捉することができる。そのような画像を解析して、ジョイスティック・コントローラの位置および/または方向を決定することができる。この種の解析は、メモリ402に保存されプロセッサ401で実行されるプログラムコード命令404により実装可能である。画像取得装置423による光源434の画像の捕捉を容易にするために、光源434はジョイスティック・コントローラ430の二つ以上の異なる側面に、例えば正面と背面(点線で示す)に配置されていてもよい。このように配置することで、画像取得装置423は、ユーザによるジョイスティックコントローラ430の持ち方に応じてジョイスティックコントローラ430の異なる方向について光源434の画像を取得することが可能になる。
【0076】
加えて、光源434は、例えばパルスコード、振幅変調または周波数変調の形態で遠隔測定信号をプロセッサ401に提供することができる。このような遠隔測定信号は、どのジョイスティックボタンが押されているか、および/またはそのボタンがどの程度強く押されているかを表すことができる。遠隔測定信号は、パルスコーディング、パルス幅変調、周波数変調または光強度(振幅)変調によって光学信号に符号化することができる。プロセッサ401は光学信号から遠隔測定信号を復号し、復号された遠隔測定信号に応じてゲームコマンドを実行する。遠隔測定信号は、画像取得装置423により取得されたジョイスティック・コントローラ430の画像解析から復号されてもよい。あるいは、装置401は、光源434からの遠隔測定信号を受信するための専用の別個の光学センサを備えていてもよい。コンピュータプログラムと対話する際の強度決定に伴うLEDの使用については、例えばRichard L. Marksらの共有された米国特許出願第11/429,414号、「USE OF COMPUTER IMAGE AND AUDIO PROCESSING IN DETERMINING AN INTENSITY AMOUNT WHEN INTERFACING WITH A COMPUTER PROGRAM」(代理人整理番号SONYP052)に記載されており、その全体が参照により本明細書に援用される。加えて、光源434を含む画像の解析を、遠隔測定とジョイスティック・コントローラ430の位置および/または方向の決定の両方に用いることができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。プロセッサ401は、画像取得装置423により検出された光源434からの光学信号、および/またはマイク配列422により検出された音響信号から得られた音源位置と特徴の情報とともに、慣性センサ432からの慣性信号を使用して、ジョイスティックコントローラ430および/またはそのユーザの位置および/または方向を推測することができる。例えば、「音響レーダ」の音源位置および特徴をマイク配列422とともに使用して、ジョイスティックコントローラの動きが(慣性センサ432または光源434により)独立して追跡されている間に移動する音声を追跡することができる。制御信号をプロセッサ401に提供する任意の数、異なる組み合わせの異なるモードを、本発明の実施形態とともに使用することができる。そのような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。
【0077】
慣性センサ432からの信号が追跡情報入力の一部を与え、一つ以上の光源434の追跡により画像取得装置423から生成される信号が、追跡情報入力の別の部分を与えてもよい。一例として、クウォーターバックが頭を左方向にフェイクで動かした後にボールを右方向に投じるフットボールのテレビゲームでそのような「混在モード」信号を用いることができるが、これに限定されない。具体的には、コントローラ430を保持するゲームプレーヤが頭を左に回転させて音を出す一方、コントローラをフットボールであるかのように右方向に振るピッチ動作をすることができる。「音響レーダ」プログラム・コードと連携したマイク配列422は、ユーザの声を追うことができる。画像取得装置423は、ユーザの頭の動きを追跡するか、または音声やコントローラの使用を必要としない他のコマンドを追跡することができる。センサ432は、ジョイスティック・コントローラ(フットボールを表す)の動きを追跡することができる。画像取得装置423は、コントローラ430上の光源434を追跡してもよい。ユーザは、ジョイスティックコントローラ430の加速度の量および/または方向が特定値に達することで、またはジョイスティックコントローラ430のボタンを押すことで起動されるキーコマンドにより、「ボール」を離すことができる。
【0078】
本発明の特定の実施形態では、例えば加速度計またはジャイロスコープからの慣性信号を使用して、ジョイスティック・コントローラ430の位置を決定することができる。具体的には、加速度計からの加速信号を一旦時間積分して速度変化を求め、速度を時間積分して位置変化を求めることができる。ある時間での初期位置と速度の値が分かっている場合、これらの値と速度変化および位置変化を用いて絶対位置を求めることができる。慣性センサを用いると、画像取得装置423と光源434をと用いるよりも早く位置決定することができるが、慣性センサ432は「ドリフト」として知られるタイプの誤差の影響を受けることがある。つまり、時間につれて誤差が蓄積して、慣性信号から計算されるジョイスティック430の位置(点線で示す)と、ジョイスティックコントローラ430の実際の位置との間に不一致Dが生じることがある。本発明の実施形態により、そのような誤差に対処するいくつかの方法が可能になる。
【0079】
例えば、ジョイスティックコントローラ430の初期位置を、現在の計算された位置と等しくなるように再設定することで、ドリフトをマニュアルでキャンセルすることができる。ユーザは初期位置を再設定するコマンドを起動するためにジョイスティックコントローラ430の一つ以上のボタンを用いることができる。代わりに、画像取得装置423から得られる画像から求められる位置を参照として現在位置を再設定することで、画像ベースのドリフトを実施することができる。このような画像ベースのドリフト補正は、例えばユーザがジョイスティック・コントローラ430の一つ以上のボタンを起動するときにマニュアルで実施することができる。代わりに、例えば一定の時間間隔でまたはゲームプレイに応じて、画像ベースのドリフト補正を自動的に実施することもできる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装可能である。
【0080】
特定の実施形態では、慣性センサ信号内の偽(スプリアス)データを補償することが望ましい。例えば、慣性センサ432からの信号をオーバーサンプリングし、オーバーサンプリングした信号から移動平均を計算して、慣性センサ信号からスプリアスデータを除去してもよい。ある状況では、信号をオーバーサンプリングし、データポイントの一部のサブセットから高値および/または低値を取り除き、残りのデータポイントから移動平均を計算してもよい。さらに、他のデータサンプリング技術およびデータ操作技術を使用して、慣性センサの信号を調節しスプリアスデータの有意性を除去または低減することができる。信号の性質、信号に対して実行される計算、ゲームプレイの性質、またはこれらのうちの二つ以上の組み合わせによって技術を選択することができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。
【0081】
プロセッサ401は、メモリ402で保存、読み出しされプロセッサモジュール401で実行されるデータ406とプログラム404のプログラムコード命令とに応じて、信号データ406似たいしデジタル信号処理を実行することができる。プログラム404のコード部分は、アセンブリ、C++、JAVA(登録商標)またはいくつかの他の言語などの複数の異なるプログラム言語のうちのいずれか一つに準拠していてもよい。プロセッサ・モジュール401は、プログラムコード404のようなプログラムを実行するとき特定目的のコンピュータになる汎用コンピュータを形成する。プログラム・コード404がソフトウェアで実装され汎用コンピュータ上で実行されると本明細書で述べられているが、当業者であれば、特定用途向け集積回路(ASIC)または他のハードウェア回路等のハードウェアを使用してもタスク管理方法を実装できることを理解するだろう。このように、本発明の実施形態の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることを理解すべきである。
【0082】
一実施形態では、プログラムコード404は、本明細書に記載された任意の一つ以上の方法および技術、またはこのような方法および技術の二つ以上の組み合わせを実施する一組のプロセッサ可読命令を含むことができる。例えば、本明細書に記載された画像解析器を実装するようにプログラムコード404を構成することができる。または代わりに、本明細書に記載された画像解析器をハードウェアで実装してもよい。
【0083】
図示した実施形態では、上述の画像解析器機能は画像解析器450として例示されている。画像解析器450は、例えば画像取得装置423またはカメラ112(図1A)等のカメラから入力を受け取ることができる。したがって、ビデオカメラ112または画像取得装置423の出力を画像解析器450の入力に結合してもよい。画像解析器450の出力を装置400のシステムに提供してもよい。このように、コマンド自体、またはコマンドあるいはジェスチャが認識されたかどうかを見るために必要な情報が、装置400に提供される。画像解析器450は、多くの異なる方法で装置400の残りの部分に結合することができる。すなわち、図示の接続方法は一例に過ぎない。別の例では、画像解析器450をシステムバス420に結合してもよく、これにより、画像取得装置423から入力データを受け取り、出力を装置400に提供することができる。
【0084】
画像解析器450を装置400、エンターテイメント・システムまたはコンソール102に選択的に含めてもよいし、または画像解析器450をこれらの装置およびシステムから離して配置してもよい。画像解析器450の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることは十分理解されなければならない。画像解析器450がソフトウェアで実装されるシナリオでは、ブロック450は画像解析機能がソフトウェアで実装されることを表す。
【0085】
プログラムコード404は、通常、一つ以上のプロセッサに対し実行時に予め調整されたリスニングゾーンを選択し、予め調整されたリスニングゾーンの外側の音源から生じる音を除去するように指示する一つ以上の命令を含むことができる。予め調整されたリスニングゾーンは、画像取得装置423の焦点の大きさまたは視野と一致するリスニングゾーンを含んでもよい。
【0086】
プログラム・コードは、実行時に装置400に音源を含む予め調整されたリスニングセクタを選択させる一つ以上の命令を含んでいてもよい。この指示により、音源が初期セクタの内部または初期セクタの特定の側のいずれにあるかを装置に判定させることができる。音源がデフォルトのセクタ内に存在しない場合、実行時、命令はデフォルトセクタの特定の側の異なるセクタを選択する。異なるセクタは、最適値に最も近い入力信号の減衰によって特徴づけることができる。これらの命令は、実行時に、マイク配列422からの入力信号の減衰と、最適値への減衰を計算することができる。実行時に、命令によって、一つ以上のセクタへの入力信号の減衰値を求め、減衰が最適値に最も近いセクタを装置に選択させることができる。
【0087】
プログラム・コード404は、一つ以上のプロセッサに対し、マイクM...Mからの離散時間領域入力信号x(t)を生成するように指示し、セミブラインド音源分離でリスニングセクタを使用して有限インパルス応答フィルタ係数を選択して入力信号x(t)からの異なる音源を分離させる、一つ以上の命令を選択的に含んでもよい。プログラム404は、参照マイクMからの入力信号x(t)以外の選択された入力信号x(t)に対し一つ以上の非整数遅延を適用する命令を含んでもよい。非整数遅延のそれぞれを選択して、マイク配列から得られる離散時間領域出力信号y(t)の信号対雑音比を最適化することができる。参照マイクMからの信号が配列の他のマイクからの信号に対して時間的に最初になるように非整数遅延を選択してもよい。プログラム404は、非整数時間遅延Δをマイク配列の出力信号y(t)に導入する命令を含んでもよい。
すなわち、y(t+Δ)=x(t+Δ)*b+x(t−l+Δ)*b+x(t−2+Δ)*b+...+x(t−N+Δ)b、ここで、Δは0と1の間である。
【0088】
プログラム・コード404は、実行時に、画像取得装置423の前方の視野を監視させ、視野内の一つ以上の光源434を特定させ、光源434から発せられた光の変化を画像取得装置423に検出させる一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。そして、変化の検出に応じて、プロセッサ401に入力コマンドがトリガされる。画像取得装置と連携したLEDの使用によりゲームコントローラにアクションを引き起こすことは、2004年1月16日に出願された共有の米国特許出願第10/759,782号、Richard L. Marksらの「METHOD AND APPARATUS FOR LIGHT INPUT DEVICE」に記載されており、その全体が参照により本明細書に援用される。
【0089】
プログラム・コード404は、実行時に、慣性センサからの信号と一つ以上の光源の追跡により画像取得装置から生成される信号とを上述のようにゲームシステムへの入力として使用する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。プログラム・コード404は、実行時に慣性センサ432のドリフトを補償する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。
【0090】
さらに、プログラム・コード404は、実行時にゲーム環境に対するコントローラ操作のギアリング(gearing)とマッピングを調整する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。このような特徴により、ユーザは、ゲーム状態に対するジョイスティック・コントローラ430の操作の「ギアリング」を変更することができる。例えば、ジョイスティック・コントローラ430の45度回転が、ゲームオブジェクトの45度回転に変換されてもよい。しかしながら、コントローラのX度回転(または傾き、ヨー、あるいは「操作」)がゲームオブジェクトのY度回転(または傾き、ヨー、あるいは「操作」)に変換されるように、この1:1のギア比を修正してもよい。ギアリングは1:1、1:2、1:X、またはX:Yの比率であってもよい。ここで、XとYは任意の値を取ることができる。さらに、ゲームコントロールへの入力チャネルのマッピングが、時間とともにまたは直ちに修正されてもよい。修正は、ジェスチャの軌道モデルの変更、ジェスチャの位置、大きさ、閾値を修正することなどを含む。操作のダイナミックレンジをユーザに与えるために、このようなマッピングがプログラムされていても、ランダムでも、階段状(tiered)でも、ずらされて(staggered)いてもよい。マッピング、ギアリングまたは比率の修正は、ゲームコントローラ430上のユーザ修正ボタン(キーパッド等)の使用により、または大まかに入力チャネルに応答して、ゲームプレイやゲーム状態にしたがってプログラムコード404により調節されてもよい。入力チャネルには、ユーザ音声の成分、コントローラにより発生する音、コントローラにより発生する追跡音、コントローラボタン状態、ビデオカメラ出力、加速度計データ、傾き、ヨー、ロール、位置、加速度を含むコントローラ遠隔測定データ、およびユーザまたはオブジェクトのユーザによる操作を追跡可能なセンサから得られる任意の他のデータを含むが、これらに限定されない。
【0091】
特定の実施形態では、プログラム・コード404は、予め定められた時間に依存する方法で、1つの方式または比率から別の方式へと時間とともにマッピングまたはギアリングを変更してもよい。ギアリングとマッピングの変更は、様々な方法でゲーム環境に適用することができる。一例では、キャラクタが健康なときにはあるギアリング方式でテレビゲームキャラクタを制御し、キャラクタの健康が悪化すると、システムがコントローラコマンドのギアを変更して、キャラクタへのジェスチャコマンドを与えるためのユーザのコントローラの動きを悪化させるようにしてもよい。例えばユーザが新しいマッピングの下でキャラクタの制御を回復するために入力の調整を要求されるとき、方向感覚を失ったテレビゲームキャラクタは、入力チャネルのマッピングの変更を強制されるようにしてもよい。ゲームコマンドに対する入力チャネルの変換を修正するマッピング方式がゲームプレイ中にも変化してもよい。この変換は、ゲーム状態に応じて、または入力チャネルの一つ以上の要素の下で発行される修正コマンドに応じて、様々な方法で発生する。ギアリングとマッピングは、入力チャネルの一つ以上の要素の設定および/または処理に影響を与えるように構成されてもよい。
【0092】
さらに、ジョイスティック・コントローラ430にスピーカ436が取り付けられてもよい。プログラムコード404がマイク配列422を用いて検出された音を定位して特徴づける「音響レーダ」実施形態では、スピーカ436は、マイク配列422により検出可能であり、ジョイスティックコントローラ430の位置を追跡するためにプログラムコード404により使用される音声信号を提供することができる。スピーカ436は、ジョイスティック・コントローラ430からプロセッサ401に対し追加の「入力チャネル」を提供するためにも使用することができる。スピーカ436からの音声信号を周期的にパルス化して、位置追跡のために音響レーダ用のビーコンを提供してもよい。音声信号(パルス状またはそれ以外)は聞き取り可能であっても超音波であってもよい。音響レーダはジョイスティック・コントローラ430のユーザ操作を追跡することができる。このような操作追跡は、ジョイスティック・コントローラ430の位置および方向(例えば、ピッチ、ロールまたはヨー角度)に関する情報を含んでもよい。パルスは、当業者であれば適用可能であるように、適切なデューティサイクルでトリガすることができる。パルスは、システムから調整される制御信号に基づいて開始されてもよい。装置400は、(プログラム・コード404によって)プロセッサ401に接続された二つ以上のジョイスティックコントローラ430の間での制御信号の発送を調整して、複数のコントローラが確実に追跡されるようにすることができる。
【0093】
一例として、本発明の実施形態を並列処理システム上で実施することができる。このような並列処理システムは、一般的に、別々のプロセッサを使用してプログラムの部分を並列に実行するように構成された二つ以上のプロセッサ要素を含む。一例として、限定ではなく、図5は本発明の一実施形態による一種のセルプロセッサ500を示す。セルプロセッサ500を図4のプロセッサ401として用いることができる。図5に示す例では、セルプロセッサ500はメインメモリ502と、パワープロセッサ要素(PPE)504と、複数の相乗作用プロセッサ要素(SPE)506とを備える。図5に示す例では、セルプロセッサ500は一つのPPE504と8つのSPE506を備える。このような構成では、SPE506のうちの7台を並列処理のために使用し、一台を他の7台のうちの一つが故障した場合のバックアップとして確保しておいてもよい。代替的に、セルプロセッサは、複数グループのPPE(PPEグループ)と複数グループのSPE(SPEグループ)とを備えていてもよい。この場合には、グループ内のユニット間でハードウェア資源を共有することができる。しかしながら、SPEとPPEは独立した要素としてソフトウェアに見えなければならない。このように、本発明の実施形態は、図5に示す構成の使用に限定されない。
【0094】
メインメモリ502は、一般に、汎用で不揮発性の記憶装置の場合と、システム構成、データ転送同期、メモリマップされたI/O、I/Oサブシステム等の機能のために用いられる特定目的のハードウェアレジスタまたはアレイの両方の場合を含む。本発明の実施形態では、信号処理プログラム503がメインメモリ502内に常駐してもよい。信号処理プログラム503がPPEの上で動作してもよい。プログラム503は、SPEおよび/またはPPE上で実行可能な複数の信号処理タスクに分割されてもよい。
【0095】
一例として、PPE504は、関連するキャッシュL1、L2を持つ64ビットパワーPCプロセッサユニット(PPU)であってもよい。PPE504は汎用処理ユニットであり、(例えばメモリ保護テーブルなどの)システム管理リソースにアクセス可能である。PPEによって見られるように、ハードウェア資源が明示的に実アドレス空間マッピングされていてもよい。したがって、PPEは、適当な実効アドレス値を使用して、これらの任意のリソースを直接アドレス指定することができる。PPE504の主要な機能は、セルプロセッサ500のSPE506のためのタスク管理とタスク割り当てである。
【0096】
一つのPPEのみがセル・ブロードバンド・エンジン・アーキテクチャ(CBEA)のようなセルプロセッサ実装として図5に示されているが、セルプロセッサ500は、二つ以上のPPEグループに組織された複数のPPEを有していてもよい。これらのPPEグループは、メインメモリ502へのアクセスを共有してもよい。さらに、セルプロセッサ500は、二つ以上のSPEグループを備えてもよい。SPEグループは、メインメモリ502へのアクセスを共有してもよい。このような構成は本発明の範囲内である。
【0097】
各SPE506は、相乗作用プロセッサユニット(SPU)と自身のローカル記憶領域LSとを備える。ローカル記憶領域LSは、それぞれが特定のSPUと関連づけられる一つ以上の別個のメモリ記憶領域を有していてもよい。各SPUは、自身の関連するローカル記憶領域内からの命令(データロード操作とデータ記憶操作を含む)のみを実行するように構成されていてもよい。このような構成では、ローカル記憶LSとシステム500内のいずれかの場所との間でのデータ転送は、(個々のSPEの)ローカル記憶領域を出入りするデータ転送をするダイレクトメモリアクセス(DMA)コマンドをメモリフローコントローラ(MFC)から発行することで実行できる。SPUは、いかなるシステム管理機能も実行しないという点で、PPE504よりも複雑さの少ない計算ユニットである。SPUは、一般に単一命令、複数データ(SIMD)能力を有し、割り当てられたタスクを実行するために、データを処理して任意の必要なデータ転送(PPEによりセットされた特性へのアクセスを受ける)を開始する。SPUの目的は、より高い計算単位密度を必要とし提供された命令セットを効果的に使用できるアプリケーションを実行可能とすることである。PPE504によって管理されるシステム内の相当数のSPEによって、広範囲にわたるアプリケーションについて費用効果の高い処理が可能になる。
【0098】
各SPE506は、メモリ保護とアクセス許可情報を保持し処理が可能である関連するメモリ管理ユニットを有する専用のメモリフローコントローラ(MFC)を備えることができる。MFCは、セルプロセッサの主記憶装置とSPEのローカル記憶装置との間のデータ転送、保護および同期の主要な方法を提供する。MFCコマンドは実行される転送を記述する。データを転送するためのコマンドは、MFCダイレクトメモリアクセス(DMA)コマンド(またはMFC DMAコマンド)と呼ばれることがある。
【0099】
各MFCは、同時に複数のDMA転送をサポートすることができ、また複数のMFCコマンドを維持かつ処理することができる。各MFC DMAデータ転送コマンドは、ローカル記憶装置のアドレス(LSA)と実効アドレス(EA)の両方を必要とすることがある。ローカル記憶装置アドレスは、その関連するSPEのローカル記憶領域のみを直接アドレス指定してもよい。実効アドレスにはより一般的なアプリケーションがあることがある。例えば、実効アドレスが実アドレス空間内にエイリアスされる場合、全てのSPEローカル記憶領域を含む主記憶装置を参照することができる。
【0100】
SPE506の間の通信および/またはSPE506とPPE504の間の通信を容易にするために、SPE506とPPE504は、イベントを合図する信号通知レジスタを含んでもよい。PPE504とSPE506は、PPE504がメッセージをSPE506に発信するルータの働きをするスター・トポロジによって結合されてもよい。代わりに、各SPE506とPPE504は、メールボックスと呼ばれる一方向の信号通知レジスタを有していてもよい。メールボックスはSPE506により使用され、オペレーティングシステム(OS)の同期をホストすることができる。
【0101】
セルプロセッサ500は、セルプロセッサ500がマイク配列512やオプションの画像取得装置513のような周辺装置と対話する入出力(I/O)機能508を備えていてもよい。さらに、要素相互接続バス510が上記の様々な構成要素を接続してもよい。各SPEとPPEは、バスインタフェースユニットBIUを通してバス510にアクセスすることができる。セルプロセッサ500は、プロセッサ内に通常見つかる二つのコントローラを備えてもよい。すなわち、バス510とメインメモリ502の間でのデータの流れを制御するメモリインタフェースコントローラMICと、I/O508とバス510の間でのデータの流れを制御するバスインタフェースコントローラBICである。MIC、BIC、BIUおよびバス510の要件は様々な実装に対して大きく異なることがあるが、当業者であれば、これらを実装するための機能および回路に精通しているであろう。
【0102】
セルプロセッサ500は、内部割り込みコントローラIICを備えてもよい。IIC構成要素は、PPEに提示される割り込みの優先度を管理する。IICは、他の構成要素からの割り込みを、セルプロセッサ500がメインシステムの割り込みコントローラを用いることなく処理することを可能にする。IICは、第2のレベルコントローラとみなしてもよい。メインシステムの割り込みコントローラは、セルプロセッサ外部から生じる割り込みを処理してもよい。
【0103】
本発明の実施形態では、非整数遅延などの特定の計算を、PPE504および/または一つ以上のSPE506を用いて並列に実行することができる。各非整数遅延計算を、異なるSPE506が利用可能になるにつれて引き受けることができる一つ以上の別個のタスクとして実行することができる。
【0104】
本明細書に開示された発明は特定の実施形態およびそのアプリケーションを用いて記載されているが、特許請求の範囲に記載の本発明の範囲から逸脱することなく、当業者によって多数の修正および変更を施すことができる。
【図面の簡単な説明】
【0105】
【図1A】本発明の一実施形態にしたがって動作するシステムを示す模式図である。
【図1B】本発明の一実施形態にしたがって作成されるコントローラの斜視図である。
【図2A】本発明の一実施形態にしたがってコントローラの位置情報を決定する方法を示す模式図である。
【図2B】本発明の一実施形態にしたがってコントローラの位置情報を決定する方法を示す画像平面の平面図である。
【図3A】本発明の一実施形態にしたがって情報を取得する際に用いられる方法を示すフロー図である。
【図3B】本発明の一実施形態にしたがってシステムに入力を与える際に用いられる方法を示すフロー図である。
【図4】本発明の一実施形態にしたがって本明細書に記載されている方法および技術を実施、実装および/または実行するために使用可能であるシステムを示すブロック図である。
【図5】本発明の一実施形態にしたがって本明細書に記載されている方法および技術を実施、実装および/または実行するために使用可能であるプロセッサを示すブロック図である。

【特許請求の範囲】
【請求項1】
コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップと、
前記幾何学的形状の射影における動きと変形を解析するステップと、
前記幾何学的形状の射影における動きと変形の解析に基づき、コントローラの位置情報を決定するステップと、
を含む、情報を得る際に用いられる方法。
【請求項2】
前記コントローラ上で確立される幾何学的形状が、一つまたは複数の発光ダイオード(LED)からなることを特徴とする請求項1に記載の方法。
【請求項3】
前記一つまたは複数のLEDが、4つのLEDからなることを特徴とする請求項2に記載の方法。
【請求項4】
前記一つまたは複数のLEDがストロボ発光されることを特徴とする請求項2に記載の方法。
【請求項5】
前記一つまたは複数のLEDが変調されることを特徴とする請求項2に記載の方法。
【請求項6】
前記一つまたは複数のLEDがそれぞれ異なる周波数で動作することを特徴とする請求項2に記載の方法。
【請求項7】
前記幾何学的形状が長方形であることを特徴とする請求項1に記載の方法。
【請求項8】
幾何学的形状が自身の上で確立されるコントローラと、
前記コントローラ上で確立された幾何学的形状の射影を画像平面上で受け取るように構成されたカメラと、
前記幾何学的形状の射影における動きと変形を解析して、この解析に基づき前記コントローラの位置情報を決定するように構成された画像解析器と、
を備えることを特徴とする、情報を得るために用いられるシステム。
【請求項9】
コントローラで確立される幾何学的形状が一つ以上の発光ダイオード(LED)であることを特徴とする請求項8に記載のシステム。
【請求項10】
前記一つまたは複数のLEDが、4つのLEDからなることを特徴とする請求項9に記載のシステム。
【請求項11】
前記一つまたは複数のLEDがストロボ発光されることを特徴とする請求項9に記載のシステム。
【請求項12】
前記一つまたは複数のLEDが変調されることを特徴とする請求項9に記載のシステム。
【請求項13】
前記一つまたは複数のLEDがそれぞれ異なる周波数で動作することを特徴とする請求項9に記載のシステム。
【請求項14】
前記幾何学的形状が長方形であることを特徴とする請求項8に記載のシステム。
【請求項15】
コントローラ上で確立された幾何学的形状の射影をカメラの画像平面上で受け取る手段と、
前記幾何学的形状の射影における動きと変形を解析する手段と、
前記幾何学的形状の射影における動きと変形の解析に基づき、前記コントローラの位置情報を決定する手段と、
を備えることを特徴とする、情報を取得する際に用いられるシステム。
【請求項16】
前記コントローラ上で確立される幾何学的形状が、一つまたは複数の発光ダイオード(LED)からなることを特徴とする請求項15に記載のシステム。
【請求項17】
前記一つまたは複数のLEDが、4つのLEDからなることを特徴とする請求項16に記載のシステム。
【請求項18】
前記一つまたは複数のLEDがストロボ発光されることを特徴とする請求項16に記載のシステム。
【請求項19】
前記一つまたは複数のLEDが変調されることを特徴とする請求項16に記載のシステム。
【請求項20】
前記一つまたは複数のLEDがそれぞれ異なる周波数で動作することを特徴とする請求項16に記載のシステム。
【請求項21】
前記幾何学的形状が長方形であることを特徴とする請求項15に記載のシステム。
【請求項22】
コンピュータへ入力されるコンピュータプログラムを具現化するための媒体と、コンピュータに以下のステップを実行させるために前記媒体に具現化されているコンピュータプログラムと、を備えるコンピュータプログラム製品であって、
コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップと、
前記幾何学的形状の射影における動きと変形を解析するステップと、
前記幾何学的形状の射影における動きと変形の解析に基づき、コントローラの位置情報を決定するステップと、
を実行することを特徴とするコンピュータプログラム製品。
【請求項23】
前記コントローラ上で確立される幾何学的形状が、一つまたは複数の発光ダイオード(LED)からなることを特徴とする請求項22に記載のコンピュータプログラム製品。
【請求項24】
前記一つまたは複数のLEDが、4つのLEDからなることを特徴とする請求項22に記載のコンピュータプログラム製品。
【請求項25】
システムのコントローラの位置情報を決定するステップと、
前記コントローラの決定された位置情報と、コマンドに関連づけられた所定の位置情報とを比較するステップと、
前記決定された位置情報が、コマンドに対する所定の位置情報と一致する場合、コマンドをシステムに提供するステップと、
を含むことを特徴とする、システムに入力を提供する際に用いられる方法。
【請求項26】
前記決定された位置情報がコマンドに対する所定の位置情報と一致する場合に、前記システムのために割り込みを生成するステップをさらに含むことを特徴とする、請求項25に記載の方法。
【請求項27】
前記比較するステップは、前記コントローラの決定された位置情報が、コマンドに関連づけられた所定の位置情報と関連する特定の範囲内に含まれるか否かを判定するステップを含むことを特徴とする、請求項25に記載の方法。
【請求項28】
コントローラの位置情報を判定するステップが、前記コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップをさらに含むことを特徴とする、請求項25に記載の方法。
【請求項29】
コントローラの位置情報を判定するステップが、前記幾何学的形状の射影における動きと変形を解析するステップをさらに含むことを特徴とする請求項28に記載の方法。
【請求項30】
システムのコントローラの位置情報を決定する手段と、
前記コントローラの決定された位置情報と、コマンドに関連づけられた所定の位置情報とを比較する手段と、
前記決定された位置情報が、コマンドに対する所定の位置情報と一致する場合、コマンドをシステムに提供する手段と、
を備えることを特徴とする、システムに入力を与える際に用いられるシステム。
【請求項31】
前記決定された位置情報がコマンドに対する所定の位置情報と一致する場合に、前記システムのために割り込みを生成する手段をさらに含むことを特徴とする、請求項30に記載のシステム。
【請求項32】
前記比較する手段は、前記コントローラの決定された位置情報が、コマンドに関連づけられた所定の位置情報と関連する特定の範囲内に含まれるか否かを判定する手段を含むことを特徴とする、請求項30に記載のシステム。
【請求項33】
コントローラの位置情報を判定する手段が、前記コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取る手段をさらに含むことを特徴とする、請求項30に記載のシステム。
【請求項34】
コントローラの位置情報を判定する手段が、前記幾何学的形状の射影における動きと変形を解析する手段をさらに含むことを特徴とする請求項33に記載のシステム。
【請求項35】
コンピュータへ入力されるコンピュータプログラムを具現化するための媒体と、コンピュータに以下のステップを実行させるために前記媒体に具現化されているコンピュータプログラムと、を備えるコンピュータプログラム製品であって、
システムのコントローラの位置情報を決定するステップと、
前記コントローラの決定された位置情報と、コマンドに関連づけられた所定の位置情報とを比較するステップと、
前記決定された位置情報がコマンドに対する所定の位置情報と一致する場合、コマンドをシステムに提供するステップと、
を実行することを特徴とするコンピュータプログラム製品。
【請求項36】
前記決定された位置情報がコマンドに対する所定の位置情報と一致する場合に、前記コンピュータプログラムが、前記システムのために割り込みを生成するステップをコンピュータに実行させるようにさらに構成されていることを特徴とする、請求項35に記載のコンピュータプログラム製品。
【請求項37】
前記比較するステップは、前記コントローラの決定された位置情報が、コマンドに関連づけられた所定の位置情報と関連する特定の範囲内に含まれるか否かを判定するステップを含むことを特徴とする、請求項35に記載のコンピュータプログラム製品。
【請求項38】
コントローラの位置情報を判定するステップが、前記コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップをさらに含むことを特徴とする、請求項35に記載のコンピュータプログラム製品。
【請求項39】
コントローラの位置情報を判定するステップが、前記幾何学的形状の射影における動きと変形を解析するステップをさらに含むことを特徴とする請求項38に記載のコンピュータプログラム製品。
【請求項40】
ユーザによって操作されているコントローラの位置情報を受け取るステップと、
前記位置情報を解析して、コマンドに関連づけられたコントローラの所定の動きが実行されたか否かを決定するステップと、
前記コマンドに関連づけられたコントローラの所定の動きが実行された場合、前記コマンドを実行するステップと、
を含むことを特徴とする、ゲームに用いられる方法。
【請求項41】
前記コマンドに関連づけられたコントローラの所定の動きが実行された場合、ゲームに対し割り込みを生成するステップをさらに含むことを特徴とする、請求項40に記載の方法。
【請求項42】
前記解析するステップは、前記コントローラの位置情報が、コマンドに関連づけられたコントローラの所定の動きと関連する特定の範囲内に含まれたことを示すか否かを判定するステップを含むことを特徴とする、請求項40に記載の方法。
【請求項43】
前記比較するステップは、コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップをさらに含むことを特徴とする請求項40に記載の方法。
【請求項44】
前記幾何学的形状の射影における動きと変形を解析するステップをさらに含むことを特徴とする、請求項43に記載の方法。
【請求項45】
コンピュータへ入力されるコンピュータプログラムを具現化するための媒体と、コンピュータに以下のステップを実行させるために前記媒体に具現化されているコンピュータプログラムと、を備えるコンピュータプログラム製品であって、
ユーザによって操作されているコントローラの位置情報を受け取るステップと、
前記位置情報を解析して、コマンドに関連づけられたコントローラの所定の動きが実行されたか否かを決定するステップと、
前記コマンドに関連づけられたコントローラの所定の動きが実行された場合、前記コマンドを実行するステップと、
を実行することを特徴とするコンピュータプログラム製品。
【請求項46】
前記コマンドに関連づけられたコントローラの所定の動きが実行された場合、ゲームに対し割り込みを生成するステップをさらに含むことを特徴とする、請求項45に記載のコンピュータプログラム製品。
【請求項47】
前記解析するステップは、前記コントローラの位置情報が、コマンドに関連づけられたコントローラの所定の動きと関連する特定の範囲内に含まれたことを示すか否かを判定するステップを含むことを特徴とする、請求項45に記載のコンピュータプログラム製品。
【請求項48】
前記比較するステップは、コントローラ上で確立された幾何学的形状の射影をカメラの画像平面で受け取るステップをさらに含むことを特徴とする請求項45に記載のコンピュータプログラム製品。
【請求項49】
前記幾何学的形状の射影における動きと変形を解析するステップをさらに含むことを特徴とする、請求項48に記載のコンピュータプログラム製品。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2009−535175(P2009−535175A)
【公表日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2009−509960(P2009−509960)
【出願日】平成19年4月25日(2007.4.25)
【国際出願番号】PCT/US2007/067437
【国際公開番号】WO2007/130833
【国際公開日】平成19年11月15日(2007.11.15)
【出願人】(500551079)ソニー・コンピュータ・エンタテインメント・アメリカ・インク (95)
【Fターム(参考)】