傾斜角情報と結合したビデオ入力を用いたオブジェクト検出
【解決手段】オブジェクトから入力データを取得する際に使用する方法であって、イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップ(1402)と、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップ(1404)と、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップ(1406)と、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップ(1408)と、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップ(1410)とを含む。装置と、プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体もまた開示される。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、米国特許出願第11/840,170号、2007年8月16日出願の「OBJECT DETECTION USING VIDEO INPUT COMBINED WITH TILT ANGLE INFORMATION」の継続出願であり、米国特許出願第11/536,559号、2006年9月28日出願の「MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO THE TWO-DIMENSIONAL IMAGE PLANE OF A DISPLAY SCREEN」の一部継続出願であり、両アプリケーションとその全開示内容は、参照により本明細書に援用される。
【0002】
本発明は、一般にコンピュータ・エンターテイメント・システムに関し、より詳細には、そのようなコンピュータ・エンターテイメント・システム用のコントローラのユーザ操作に関する。
【背景技術】
【0003】
コンピュータ・エンターテイメント・システムは、一般的に手持ち型コントローラ、ゲーム・コントローラまたは他のコントローラを含む。ユーザまたはプレーヤは、プレイ中のテレビゲームまたは他のシミュレーションを制御するために、コントローラを使用してエンターテイメント・システムに対してコマンドまたは他の指示を送る。例えば、コントローラはユーザにより操作されるマニピュレータ(例えばジョイスティック)を備えていてもよい。ジョイスティックの操作された可変量はアナログ値からデジタル値に変換され、ゲーム機のメインフレームに送られる。コントローラは、ユーザによって操作可能であるボタンを備えていてもよい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
これらの情報および他の背景情報に関して、本発明は考案された。
【課題を解決するための手段】
【0005】
ある実施の形態は、オブジェクトから入力データを取得する際に使用する方法であって、イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップと、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを含む。
【0006】
別の実施の形態は、オブジェクトから入力データを取得する際に使用する装置であって、オブジェクトのライブ画像をキャプチャするように構成されたイメージキャプチャデバイスと、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取り、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得し、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較し、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するように構成されたプロセッサベースのシステムとを含む。
【0007】
別の実施形態は、プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体であって、前記コンピュータプログラムは前記プロセッサベースのシステムに、イメージキャプチャデバイスからオブジェクトのキャプチャされたライブ画像を受け取るステップと、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを実行させる。
【0008】
本発明の様々な実施形態の特徴および利点は、本発明の実施形態の原理が利用される具体例について述べる以下の詳細な説明および添付の図面を参照することによって、より良く理解されるであろう。
【0009】
本発明の実施形態の上記態様および他の態様、特徴、利点は、以下の図面とともに提示される以下のより詳細な説明から、さらに明らかになるであろう。
【図面の簡単な説明】
【0010】
【図1A】本発明の実施の形態にしたがって動作するシステムを示す模式図である。
【図1B】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図1C】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図1D】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図1E】本発明のいくつかの実施の形態にしたがって作成されるコントローラの斜視図である。
【図2A】本発明の実施の形態にしたがってコントローラの位置情報を決定する方法を示す模式図である。
【図2B】本発明の実施の形態にしたがってコントローラの位置情報を決定する方法を示す画像平面の平面図である。
【図3A】本発明の実施の形態にしたがって情報を取得する際に用いられる方法を示すフロー図である。
【図3B】本発明の実施の形態にしたがってシステムに入力を与える際に用いられる方法を示すフロー図である。
【図4】本発明の実施の形態にしたがって本明細書に記載されている方法および技術を実施、実装および/または実行するために使用可能であるシステムを示すブロック図である。
【図5】本発明の実施の形態にしたがって本明細書に記載されている方法および技術を実施、実装および/または実行するために使用可能であるプロセッサを示すブロック図である。
【図6A】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図6B】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図6C】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図7】本発明の実施の形態に係るシステムを制御する際に使用する方法を説明するフロー図である。
【図8】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図9】本発明の別の実施の形態にしたがって動作するシステムを説明するブロック図である。
【図10】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図11A】本発明の実施の形態に係る記載したシステムにおいてオプションとして使用されるコントローラを説明する斜視図である。
【図11B】本発明の実施の形態に係る記載したシステムにおいてオプションとして使用されるコントローラを説明する斜視図である。
【図12】本発明の一実施形態にしたがう様々な制御入力を混合するためのシステムのブロック図である。
【図13A】本発明の一実施形態によるシステムのブロック図である。
【図13B】本発明の一実施形態による方法のフロー図である。
【図13C】本発明の一実施形態による方法のフロー図である。
【図14】本発明の実施の形態にしたがってオブジェクトから入力データを取得する際に使用する方法を説明するフロー図である。
【図15】本発明の実施の形態に係る図14に示すステップのいくつかを説明するブロック図である。
【図16】本発明の実施の形態に係る一組の回転した参照画像を説明するブロック図である。
【発明を実施するための形態】
【0011】
テレビゲームのユーザまたはプレーヤは、一般的に、コントローラ上に配置されたボタン、ジョイスティック等を操作するために、一方の手または両手でゲームコントローラを保持する。ゲームをしている間、ユーザはボタン、ジョイスティック等を操作するとき同時に、コントローラそのものも空中で動かすことが多い。ゲーム中に興奮し、コントローラそのものを空中で動かすことによってゲームの動作または状況を制御しようと試みる傾向のあるユーザもいる。
【0012】
本明細書に記載される方法、装置、方式およびシステムの様々な実施形態は、ユーザによるコントローラ本体そのものの動き、動作および/または操作の検出、捕獲および追跡を提供する。ユーザによるコントローラ本体全体の検出された動き、動作および/または操作は、プレイ中のゲームまたは他のシミュレーションの様々な状況を制御するための追加のコマンドとして使用することができる。
【0013】
ゲームコントローラ本体のユーザによる操作の検出および追跡は、様々な方法で実施することができる。例えば、一部の実施形態では、コンピュータ・エンターテイメント・システムとともにカメラ周辺機器を使用して、手持ちコントローラ本体の動きを感知してその動きをゲーム内でのアクションに変換することができる。カメラを用いて、コントローラの多くの異なる種類の動きを検出することができる。例えば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。
【0014】
ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。
【0015】
図1Aを参照すると、本発明の一実施形態により作動するシステム100が示されている。図示するように、コンピュータ・エンターテイメント・システムまたはコンソール102は、テレビゲームまたは他のシミュレーションの画像を表示するためにテレビまたは他のビデオディスプレイ104を用いる。ゲームまたは他のシミュレーションは、DVD、CD、フラッシュメモリ、USBメモリ、またはコンソール102に挿入される他のメモリ媒体106に保存されてもよい。ユーザまたはプレーヤ108は、ゲームコントローラ110を操作してテレビゲームまたは他のシミュレーションを制御する。
【0016】
コントローラ110がカメラの視野114の中に収まるように、カメラまたは他のビデオ画像取得装置112が配置される。図示するように、カメラ112はビデオディスプレイ104の上に置かれてもよいが、カメラをどこに配置してもよいことは十分理解されなければならない。一例として、カメラ112は、市販のEyeToy(登録商標)製品のようなカメラ周辺装置であってもよい。しかし、いかなる種類またはブランドのカメラでも使用可能であることを十分理解しなければならない。例えば、ウェブカメラ、アドオンのUSBカメラ、赤外線(IR)カメラ、高フレームキャプチャレートのカメラなどである。
【0017】
ある実施の形態では、カメラまたは他の画像取得装置112は、以下に述べるイメージキャプチャユニットと同様、Zカメラまたは深さカメラを含んでもよい。Zカメラまたは深さカメラは、たとえば、各ピクセルの深さを提供または測定し、カメラからピクセルまでの距離を決定する。ここに記載するカメラまたは他の画像取得装置112はいずれも、ある実施の形態では、任意のタイプの3次元カメラを含んでもよい。
【0018】
作動中、ユーザ108はコントローラ110そのものを物理的に動かす。すなわち、ユーザ108は空中でコントローラ110の全体を物理的に動かす。例えば、コントローラ110をユーザ108により任意の方向、つまり上下、左右、ねじり、回転、揺さぶり、急な動き、落ち込みのように動かすことができる。コントローラ110自体のこれらの動きは、以下に記す方法で画像解析による追跡によってカメラ112により検知および取得することができる。
【0019】
一般に、検知され取得されたコントローラ110の動きを使用して、コントローラ110の位置データと方向データを生成することができる。画像フレーム毎にこのデータが収集されるので、データを用いてコントローラ110の動きの多くの物理的状況を計算することができる。例えば、任意の軸に沿ったコントローラの加速度および速度、その傾き、ピッチ、ヨー、ロール、およびコントローラ110の任意の遠隔測定点などである。
【0020】
コントローラ110の動きを検出し追跡する能力により、コントローラ110の予め定義された動きが実行されるか否かを判定することが可能になる。すなわち、コントローラ110の特定の動きパターンまたはジェスチャを、ゲームまたは他のシミュレーションのための入力コマンドとして予め定義し用いることができる。例えば、コントローラ110を落下させるジェスチャを一つのコマンドとして定義することができ、コントローラ110をひねるジェスチャを別のコマンドとして定義することができ、コントローラ110を揺さぶるジェスチャを別のコマンドとして定義することができるなどである。このように、ユーザ108がコントローラ110自体を物理的に動かす態様を、ゲームを制御するためのもう一つの入力として使用する。これにより、より刺激的で面白い体験をユーザに提供する。コントローラ110の動きをゲームの入力コマンドに割り当てる方法が以下で説明される。
【0021】
図1Bを参照すると、本発明の実施形態にしたがって作成されるコントローラ110のより詳細な図が示されている。コントローラ110は本体111を含む。本体111は、人が手で保持する(または、ウェアラブル・ゲームコントローラである場合は着用する)ゲームコントローラ110の一部である。ユーザにより操作可能である入力装置は、例えば、コントローラ上のボタンまたは多軸操作スティックなどである。一つ以上のボタンが本体111に配置されていてもよい。本体は手で保持できるハウジングを含んでもよい。ハウジングは手で把持可能なグリップを含んでもよい。したがって、ユーザ108がコントローラ110そのものを物理的に動かすとき、動作の間、ユーザ108はコントローラ110の本体111を物理的に動かす。ユーザは空中ですなわち自由空間で本体111を動かす。
【0022】
ゲームコントローラにより制御されるゲームの進行がスクリーン上に表示されるとき、本体111はスクリーンの方向を向いた前部を有していてもよい。少なくとも1台の入力装置が、ユーザからの入力を登録するためにユーザにより操作可能である入力装置とともに、本体111に組み付けられていてもよい。
【0023】
一つまたは複数の発光ダイオード(LED)が、幾何学的形状で構成された本体の上に配置されていてもよい。または、別の種類の光検出可能な(PD)要素が本体111と組み付けられていてもよい。前部が少なくともスクリーンの方向を向いているときに、光検出可能な要素の位置が、画像取得装置によって記録中の画像の範囲内にあってもよい。空間内での本体111の動きを定量化することで、異なる時点におけるPD要素の位置を定量化することができる。
【0024】
この実施形態では、コントローラ110は4つの発光ダイオード(LED)122、124、126、128を含む。図示するように、4つのLED122、124、126、128は実質的に正方形または長方形のパターンで配置されてもよく、RlボタンとLlボタンの間のコントローラ110のブリッジ部に配置されてもよい。したがって、本実施形態では、幾何学的形状は実質的に正方形か長方形のパターンである。4つのLED122、124、126、128で作られる正方形または長方形のパターンは、本明細書ではLEDにより形成される「バウンディング・ボックス(bounding box)」と呼ぶ。
【0025】
幾何学的形状が多くの異なる形状であってもよいことは、十分理解されなければならない。例えば、幾何学的形状は線形パターンでも二次元パターンであってもよい。LEDを線形配置するのが好ましいが、代替的に、LEDを長方形パターンまたは円弧パターンで配置して、画像取得カメラにより取得されるLEDパターンの画像を解析するときの、LED配列の画像平面の決定を容易にすることができる。
【0026】
コントローラの図示した実施形態は4つのLEDを利用するが、他の実施形態が5つ以上または4つ未満のLEDを利用してもよいことは十分理解されなければならない。例えば、3つのLEDでも機能するし、二つのLEDでも追跡情報を提供するように機能する。1つのLEDであっても、位置情報を提供することができる。さらに、LEDはコントローラ110の異なる部分に置かれてもよい。
【0027】
LEDはコントローラ110上に、クラスタ、直線、三角形、その他の構成を含むいろいろな方法で配置される。一つのLEDを使ってもよく、複数のLEDを使ってもよい。複数のLEDの場合、ある構成では、LEDを横切って形成される平面は、コントローラの方向に関して傾いていることがある。コントローラの現実の方向は、コントローラの方向を決定するために画像平面において受信されるデータの変換を行うことによって決定されてもよい。それに加えて、あるいは、その代わりに、LEDは着脱可能、取り付け可能、および/または取り外し可能であってもよい。たとえば、LEDは、本体111から取り外し可能なプレートまたは分離ケース上に含まれてもよい。
【0028】
図1Cを参照して、本発明の実施の形態にしたがって作られるコントローラ110の外観を説明する。コントローラ110は本体111とLED122、124、126、128のクラスタまたは配列を含む。図示するように、4つのLED122、124、126、128は、実質的に直線パターンに配列され、R1ボタンとL1ボタンの間にあるコントローラ110のブリッジ上に設置される。このように、この実施の形態では、幾何学形状は実質的に直線のパターンを含む。さらに、ある実施の形態では、1以上のLEDを赤外線LEDによって実装することができる。たとえば、赤外線LEDは可視光LEDとペアにすることもできる。可視光LEDは、たとえば、プレイヤIDを示す。ある実装では、LEDは、可視光LEDと赤外線LEDの両方の伝送を可能にする小さなウインドウを通して覗くことができるように、赤外線LEDとともに表面実装してもよい。
【0029】
図1Dを参照して、本発明の実施の形態にしたがって作られるコントローラ110の外観を説明する。コントローラ110は、本体111と、通信インタフェースおよび/またはポート132とを含む。ある実施の形態では、このインタフェースによって、コントローラがトラッキングデバイスおよび/またはコンソール102と直接結合することが可能になる。トラッキングデバイスは少なくとも一部分においては、光学、音声および/または慣性によって、コントローラ110の動きの検出が可能である。インタフェース132は実質的に任意の適当なコミュニケーションインタフェースであればよく、たとえば、USB(universal serial bus)インタフェース、UART(universal asynchronous receiver transmitter)および/または他の適当なインタフェースであってもよい。インタフェース132は、コントローラ110上の実質的に任意の位置に配置することができる。例示するように、インタフェース132は、R1ボタンとL1ボタンの間にあるコントローラ110のブリッジ上に設置されてもよい。
【0030】
図1Eを参照して、本発明のある実施の形態にしたがって作られるコントローラ110の斜視図を説明する。コントローラは、本体111、R1ボタンとL1ボタン、1以上のLED122、124、126および128、インタフェース132(たとえば、USBインタフェース)、他の適当なボタン、インジケータなどを含む。LED122、124、126および128は、直線パターンで示されるが、上述のように、また、以下述べるように他のパターンを採用してもよい。ある実装ではさらに、LEDおよび/またはインタフェース132は、着脱可能、取り付け可能および/または取り外し可能であってもよい。
【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】
上述のように、ある実施の形態において、オプションのイメージキャプチャユニット423は、ここで述べた任意のカメラと同様、発光素子を検出することのできる任意のタイプのカメラまたはセンサを含んでもよい。たとえば、ある実施の形態において、オプションのイメージキャプチャユニット423は、Zカメラ、深さカメラまたは任意のタイプの3次元カメラを含んでもよい。Zカメラまたは深さカメラは、たとえば、各ピクセルの深さを提供または測定し、カメラからピクセルまでの距離を決定する。
【0071】
本明細書においては、I/Oという用語は、一般にシステム400と周辺装置との間でデータをやりとりする任意のプログラム、操作または装置のことを指す。あらゆるデータ転送は、一つの装置からの出力および別の装置への入力とみなすことができる。周辺装置には、キーボードやマウスなどの入力専用装置、プリンタなどの出力専用の装置の他、入出力装置として機能する書き込み可能なCD−ROM等の装置も含まれる。「周辺装置」という用語には、マウス、キーボード、プリンタ、モニター、マイク、ゲームコントローラ、カメラ、外部Zipドライブまたはスキャナ等の外部装置の他、CD−ROMドライブ、CD−Rドライブまたは内蔵モデムなどの内部装置、またはフラッシュメモリ・リーダ/ライタ、ハードディスクなどの他の周辺機器も含まれる。
【0072】
本発明の特定の実施形態では、装置400はテレビゲームユニットであってもよく、ワイヤ(例えば、USBケーブル)または無線によってI/O機能411を介してプロセッサに接続されたジョイスティック・コントローラ430を備えてもよい。ジョイスティック・コントローラ430は、テレビゲームのプレイ中に一般に用いられる制御信号を提供するアナログジョイスティックコントロール431と従来のボタン433とを備えていてもよい。そのようなテレビゲームは、メモリ402に記憶可能なプロセッサ可読のデータおよび/または命令として実装されてもよいし、あるいは、大容量記憶装置415と関連するような他のプロセッサ可読媒体として実装されてもよい。
【0073】
ジョイスティックコントロール431は、コントロールスティックを左右に動かすとX軸に沿った運動の信号を送り、スティックを前後(上下)に動かすとY軸に沿った運動の信号を送るように通常構成されている。三次元動作用に構成された構成されるジョイスティックでは、スティックを左方向(反時計回り)または右方向(時計回り)にひねるとZ軸に沿った運動の信号を送る。これら3軸X、Y、Zは、特に航空機に関してそれぞれロール、ピッチ、ヨーと呼ばれることが多い。
【0074】
従来の特徴に加えて、ジョイスティック・コントローラ430は一つ以上の慣性センサ432を備えていてもよい。慣性センサは、慣性信号を介してプロセッサ401に位置情報および/または方向情報を提供することができる。方向情報は、ジョイスティック・コントローラ430の傾き、ロールまたはヨーなどの角度情報を含んでもよい。一例として、慣性センサ432は、任意の数の加速度計、ジャイロスコープ、傾きセンサであってもよいし、および/またはこれらの組み合わせであってもよい。好ましい実施形態では、慣性センサ432は、傾き軸とロール軸に関してジョイスティック・コントローラの方向を感知するようにされた傾きセンサと、ヨー軸に沿って加速度を感知する第1加速度計と、ヨー軸に対する角加速度を感知する第2加速度計とを備えていてもよい。加速度計は、一つ以上の方向に対する質量の変位を感知するセンサを持ち一つ以上のバネにより取り付けられた質量を備えるMEMS装置であってもよい。質量の変位に応じたセンサからの信号を用いて、ジョイスティック・コントローラ430の加速度を決定することができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404により実装される。
【0075】
一例として、慣性センサ432として適した加速度計は、例えばバネによって3点または4点でフレームに弾性結合された単一の質量であってもよい。ピッチ軸とロール軸はフレームを横切る平面内にあり、フレームはジョイスティック・コントローラ430に取り付けられる。フレーム(およびジョイスティック・コントローラ430)がピッチ軸とロール軸のまわりを回転すると、重力の影響により質量が変位し、ピッチおよび/またはロールの角度に応じてバネが伸縮する。質量の変位が感知され、ピッチおよび/またはロールの量に応じて信号に変換される。ヨー軸周りの角加速度またはヨー軸に沿った直線加速度は、感知可能であり角加速度または線形加速度の量に応じて信号に変換されるバネ伸縮または質量の動きの特徴的なパターンを生成する。そのような加速度計装置は、質量の動きあるいはバネの伸縮力を追跡することで、傾き、ロール、ヨー軸周りの角加速度およびヨー軸周りの線形加速度を測定することができる。質量の位置および/または質量にかかる力を追跡する多くの異なる方法があり、これには、抵抗歪みゲージ材料、フォトニック・センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどが含まれる。
【0076】
さらに、ジョイスティック・コントローラ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の画像を取得することが可能になる。
【0077】
加えて、光源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によって実装することができる。
【0078】
プロセッサ401は、画像取得装置423により検出された光源434からの光学信号、および/またはマイク配列422により検出された音響信号から得られた音源位置と特徴の情報とともに、慣性センサ432からの慣性信号を使用して、ジョイスティックコントローラ430および/またはそのユーザの位置および/または方向を推測することができる。例えば、「音響レーダ」の音源位置および特徴をマイク配列422とともに使用して、ジョイスティックコントローラの動きが(慣性センサ432または光源434により)独立して追跡されている間に移動する音声を追跡することができる。制御信号をプロセッサ401に提供する任意の数、異なる組み合わせの異なるモードを、本発明の実施形態とともに使用することができる。そのような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。
【0079】
慣性センサ432からの信号が追跡情報入力の一部を与え、一つ以上の光源434の追跡により画像取得装置423から生成される信号が、追跡情報入力の別の部分を与えてもよい。一例として、クウォーターバックが頭を左方向にフェイクで動かした後にボールを右方向に投じるフットボールのテレビゲームでそのような「混在モード」信号を用いることができるが、これに限定されない。具体的には、コントローラ430を保持するゲームプレーヤが頭を左に回転させて音を出す一方、コントローラをフットボールであるかのように右方向に振るピッチ動作をすることができる。「音響レーダ」プログラム・コードと連携したマイク配列422は、ユーザの声を追うことができる。画像取得装置423は、ユーザの頭の動きを追跡するか、または音声やコントローラの使用を必要としない他のコマンドを追跡することができる。センサ432は、ジョイスティック・コントローラ(フットボールを表す)の動きを追跡することができる。画像取得装置423は、コントローラ430上の光源434を追跡してもよい。ユーザは、ジョイスティックコントローラ430の加速度の量および/または方向が特定値に達することで、またはジョイスティックコントローラ430のボタンを押すことで起動されるキーコマンドにより、「ボール」を離すことができる。
【0080】
本発明の特定の実施形態では、例えば加速度計またはジャイロスコープからの慣性信号を使用して、ジョイスティック・コントローラ430の位置を決定することができる。具体的には、加速度計からの加速信号を一旦時間積分して速度変化を求め、速度を時間積分して位置変化を求めることができる。ある時間での初期位置と速度の値が分かっている場合、これらの値と速度変化および位置変化を用いて絶対位置を求めることができる。慣性センサを用いると、画像取得装置423と光源434をと用いるよりも早く位置決定することができるが、慣性センサ432は「ドリフト」として知られるタイプの誤差の影響を受けることがある。つまり、時間につれて誤差が蓄積して、慣性信号から計算されるジョイスティック430の位置(点線で示す)と、ジョイスティックコントローラ430の実際の位置との間に不一致Dが生じることがある。本発明の実施形態により、そのような誤差に対処するいくつかの方法が可能になる。
【0081】
例えば、ジョイスティックコントローラ430の初期位置を、現在の計算された位置と等しくなるように再設定することで、ドリフトをマニュアルでキャンセルすることができる。ユーザは初期位置を再設定するコマンドを起動するためにジョイスティックコントローラ430の一つ以上のボタンを用いることができる。代わりに、画像取得装置423から得られる画像から求められる位置を参照として現在位置を再設定することで、画像ベースのドリフトを実施することができる。このような画像ベースのドリフト補正は、例えばユーザがジョイスティック・コントローラ430の一つ以上のボタンを起動するときにマニュアルで実施することができる。代わりに、例えば一定の時間間隔でまたはゲームプレイに応じて、画像ベースのドリフト補正を自動的に実施することもできる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装可能である。
【0082】
特定の実施形態では、慣性センサ信号内の偽(スプリアス)データを補償することが望ましい。例えば、慣性センサ432からの信号をオーバーサンプリングし、オーバーサンプリングした信号から移動平均を計算して、慣性センサ信号からスプリアスデータを除去してもよい。ある状況では、信号をオーバーサンプリングし、データポイントの一部のサブセットから高値および/または低値を取り除き、残りのデータポイントから移動平均を計算してもよい。さらに、他のデータサンプリング技術およびデータ操作技術を使用して、慣性センサの信号を調節しスプリアスデータの有意性を除去または低減することができる。信号の性質、信号に対して実行される計算、ゲームプレイの性質、またはこれらのうちの二つ以上の組み合わせによって技術を選択することができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。
【0083】
プロセッサ401は、メモリ402で保存、読み出しされプロセッサモジュール401で実行されるデータ406とプログラム404のプログラムコード命令とに応じて、信号データ406似たいしデジタル信号処理を実行することができる。プログラム404のコード部分は、アセンブリ、C++、JAVA(登録商標)またはいくつかの他の言語などの複数の異なるプログラム言語のうちのいずれか一つに準拠していてもよい。プロセッサ・モジュール401は、プログラムコード404のようなプログラムを実行するとき特定目的のコンピュータになる汎用コンピュータを形成する。プログラム・コード404がソフトウェアで実装され汎用コンピュータ上で実行されると本明細書で述べられているが、当業者であれば、特定用途向け集積回路(ASIC)または他のハードウェア回路等のハードウェアを使用してもタスク管理方法を実装できることを理解するだろう。このように、本発明の実施形態の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることを理解すべきである。
【0084】
一実施形態では、プログラムコード404は、本明細書に記載された任意の一つ以上の方法および技術、またはこのような方法および技術の二つ以上の組み合わせを実施する一組のプロセッサ可読命令を含むことができる。例えば、本明細書に記載された画像解析器を実装するようにプログラムコード404を構成することができる。または代わりに、本明細書に記載された画像解析器をハードウェアで実装してもよい。
【0085】
図示した実施形態では、上述の画像解析器機能は画像解析器450として例示されている。画像解析器450は、例えば画像取得装置423またはカメラ112(図1A)等のカメラから入力を受け取ることができる。したがって、ビデオカメラ112または画像取得装置423の出力を画像解析器450の入力に結合してもよい。画像解析器450の出力を装置400のシステムに提供してもよい。このように、コマンド自体、またはコマンドあるいはジェスチャが認識されたかどうかを見るために必要な情報が、装置400に提供される。画像解析器450は、多くの異なる方法で装置400の残りの部分に結合することができる。すなわち、図示の接続方法は一例に過ぎない。別の例では、画像解析器450をシステムバス420に結合してもよく、これにより、画像取得装置423から入力データを受け取り、出力を装置400に提供することができる。
【0086】
画像解析器450を装置400、エンターテイメント・システムまたはコンソール102に選択的に含めてもよいし、または画像解析器450をこれらの装置およびシステムから離して配置してもよい。画像解析器450の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることは十分理解されなければならない。画像解析器450がソフトウェアで実装されるシナリオでは、ブロック450は画像解析機能がソフトウェアで実装されることを表す。
【0087】
プログラムコード404は、通常、一つ以上のプロセッサに対し実行時に予め調整されたリスニングゾーンを選択し、予め調整されたリスニングゾーンの外側の音源から生じる音を除去するように指示する一つ以上の命令を含むことができる。予め調整されたリスニングゾーンは、画像取得装置423の焦点の大きさまたは視野と一致するリスニングゾーンを含んでもよい。
【0088】
プログラム・コードは、実行時に装置400に音源を含む予め調整されたリスニングセクタを選択させる一つ以上の命令を含んでいてもよい。この指示により、音源が初期セクタの内部または初期セクタの特定の側のいずれにあるかを装置に判定させることができる。音源がデフォルトのセクタ内に存在しない場合、実行時、命令はデフォルトセクタの特定の側の異なるセクタを選択する。異なるセクタは、最適値に最も近い入力信号の減衰によって特徴づけることができる。これらの命令は、実行時に、マイク配列422からの入力信号の減衰と、最適値への減衰を計算することができる。実行時に、命令によって、一つ以上のセクタへの入力信号の減衰値を求め、減衰が最適値に最も近いセクタを装置に選択させることができる。
【0089】
プログラム・コード404は、一つ以上のプロセッサに対し、マイクM0...MMからの離散時間領域入力信号xm(t)を生成するように指示し、セミブラインド音源分離でリスニングセクタを使用して有限インパルス応答フィルタ係数を選択して入力信号xm(t)からの異なる音源を分離させる、一つ以上の命令を選択的に含んでもよい。プログラム404は、参照マイクM0からの入力信号x0(t)以外の選択された入力信号xm(t)に対し一つ以上の非整数遅延を適用する命令を含んでもよい。非整数遅延のそれぞれを選択して、マイク配列から得られる離散時間領域出力信号y(t)の信号対雑音比を最適化することができる。参照マイクM0からの信号が配列の他のマイクからの信号に対して時間的に最初になるように非整数遅延を選択してもよい。プログラム404は、非整数時間遅延Δをマイク配列の出力信号y(t)に導入する命令を含んでもよい。
すなわち、y(t+Δ)=x(t+Δ)*b0+x(t−l+Δ)*b1+x(t−2+Δ)*b2+...+x(t−N+Δ)bN、ここで、Δは0と1の間である。
【0090】
プログラム・コード404は、実行時に、画像取得装置423の前方の視野を監視させ、視野内の一つ以上の光源434を特定させ、光源434から発せられた光の変化を画像取得装置423に検出させる一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。そして、変化の検出に応じて、プロセッサ401に入力コマンドがトリガされる。画像取得装置と連携したLEDの使用によりゲームコントローラにアクションを引き起こすことは、2004年1月16日に出願された共有の米国特許出願第10/759,782号、Richard L. Marksらの「METHOD AND APPARATUS FOR LIGHT INPUT DEVICE」に記載されており、その全体が参照により本明細書に援用される。
【0091】
プログラム・コード404は、実行時に、慣性センサからの信号と一つ以上の光源の追跡により画像取得装置から生成される信号とを上述のようにゲームシステムへの入力として使用する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。プログラム・コード404は、実行時に慣性センサ432のドリフトを補償する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。
【0092】
さらに、プログラム・コード404は、実行時にゲーム環境に対するコントローラ操作のギアリング(gearing)とマッピングを調整する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。このような特徴により、ユーザは、ゲーム状態に対するジョイスティック・コントローラ430の操作の「ギアリング」を変更することができる。例えば、ジョイスティック・コントローラ430の45度回転が、ゲームオブジェクトの45度回転に変換されてもよい。しかしながら、コントローラのX度回転(または傾き、ヨー、あるいは「操作」)がゲームオブジェクトのY度回転(または傾き、ヨー、あるいは「操作」)に変換されるように、この1:1のギア比を修正してもよい。ギアリングは1:1、1:2、1:X、またはX:Yの比率であってもよい。ここで、XとYは任意の値を取ることができる。さらに、ゲームコントロールへの入力チャネルのマッピングが、時間とともにまたは直ちに修正されてもよい。修正は、ジェスチャの軌道モデルの変更、ジェスチャの位置、大きさ、閾値を修正することなどを含む。操作のダイナミックレンジをユーザに与えるために、このようなマッピングがプログラムされていても、ランダムでも、階段状(tiered)でも、ずらされて(staggered)いてもよい。マッピング、ギアリングまたは比率の修正は、ゲームコントローラ430上のユーザ修正ボタン(キーパッド等)の使用により、または大まかに入力チャネルに応答して、ゲームプレイやゲーム状態にしたがってプログラムコード404により調節されてもよい。入力チャネルには、ユーザ音声の成分、コントローラにより発生する音、コントローラにより発生する追跡音、コントローラボタン状態、ビデオカメラ出力、加速度計データ、傾き、ヨー、ロール、位置、加速度を含むコントローラ遠隔測定データ、およびユーザまたはオブジェクトのユーザによる操作を追跡可能なセンサから得られる任意の他のデータを含むが、これらに限定されない。
【0093】
特定の実施形態では、プログラム・コード404は、予め定められた時間に依存する方法で、1つの方式または比率から別の方式へと時間とともにマッピングまたはギアリングを変更してもよい。ギアリングとマッピングの変更は、様々な方法でゲーム環境に適用することができる。一例では、キャラクタが健康なときにはあるギアリング方式でテレビゲームキャラクタを制御し、キャラクタの健康が悪化すると、システムがコントローラコマンドのギアを変更して、キャラクタへのジェスチャコマンドを与えるためのユーザのコントローラの動きを悪化させるようにしてもよい。例えばユーザが新しいマッピングの下でキャラクタの制御を回復するために入力の調整を要求されるとき、方向感覚を失ったテレビゲームキャラクタは、入力チャネルのマッピングの変更を強制されるようにしてもよい。ゲームコマンドに対する入力チャネルの変換を修正するマッピング方式がゲームプレイ中にも変化してもよい。この変換は、ゲーム状態に応じて、または入力チャネルの一つ以上の要素の下で発行される修正コマンドに応じて、様々な方法で発生する。ギアリングとマッピングは、入力チャネルの一つ以上の要素の設定および/または処理に影響を与えるように構成されてもよい。
【0094】
さらに、ジョイスティック・コントローラ430にスピーカ436が取り付けられてもよい。プログラムコード404がマイク配列422を用いて検出された音を定位して特徴づける「音響レーダ」実施形態では、スピーカ436は、マイク配列422により検出可能であり、ジョイスティックコントローラ430の位置を追跡するためにプログラムコード404により使用される音声信号を提供することができる。スピーカ436は、ジョイスティック・コントローラ430からプロセッサ401に対し追加の「入力チャネル」を提供するためにも使用することができる。スピーカ436からの音声信号を周期的にパルス化して、位置追跡のために音響レーダ用のビーコンを提供してもよい。音声信号(パルス状またはそれ以外)は聞き取り可能であっても超音波であってもよい。音響レーダはジョイスティック・コントローラ430のユーザ操作を追跡することができる。このような操作追跡は、ジョイスティック・コントローラ430の位置および方向(例えば、ピッチ、ロールまたはヨー角度)に関する情報を含んでもよい。パルスは、当業者であれば適用可能であるように、適切なデューティサイクルでトリガすることができる。パルスは、システムから調整される制御信号に基づいて開始されてもよい。装置400は、(プログラム・コード404によって)プロセッサ401に接続された二つ以上のジョイスティックコントローラ430の間での制御信号の発送を調整して、複数のコントローラが確実に追跡されるようにすることができる。
【0095】
一例として、本発明の実施形態を並列処理システム上で実施することができる。このような並列処理システムは、一般的に、別々のプロセッサを使用してプログラムの部分を並列に実行するように構成された二つ以上のプロセッサ要素を含む。一例として、限定ではなく、図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に示す構成の使用に限定されない。
【0096】
メインメモリ502は、一般に、汎用で不揮発性の記憶装置の場合と、システム構成、データ転送同期、メモリマップされたI/O、I/Oサブシステム等の機能のために用いられる特定目的のハードウェアレジスタまたはアレイの両方の場合を含む。本発明の実施形態では、信号処理プログラム503がメインメモリ502内に常駐してもよい。信号処理プログラム503がPPEの上で動作してもよい。プログラム503は、SPEおよび/またはPPE上で実行可能な複数の信号処理タスクに分割されてもよい。
【0097】
一例として、PPE504は、関連するキャッシュL1、L2を持つ64ビットパワーPCプロセッサユニット(PPU)であってもよい。PPE504は汎用処理ユニットであり、(例えばメモリ保護テーブルなどの)システム管理リソースにアクセス可能である。PPEによって見られるように、ハードウェア資源が明示的に実アドレス空間マッピングされていてもよい。したがって、PPEは、適当な実効アドレス値を使用して、これらの任意のリソースを直接アドレス指定することができる。PPE504の主要な機能は、セルプロセッサ500のSPE506のためのタスク管理とタスク割り当てである。
【0098】
一つのPPEのみがセル・ブロードバンド・エンジン・アーキテクチャ(CBEA)のようなセルプロセッサ実装として図5に示されているが、セルプロセッサ500は、二つ以上のPPEグループに組織された複数のPPEを有していてもよい。これらのPPEグループは、メインメモリ502へのアクセスを共有してもよい。さらに、セルプロセッサ500は、二つ以上のSPEグループを備えてもよい。SPEグループは、メインメモリ502へのアクセスを共有してもよい。このような構成は本発明の範囲内である。
【0099】
各SPE506は、相乗作用プロセッサユニット(SPU)と自身のローカル記憶領域LSとを備える。ローカル記憶領域LSは、それぞれが特定のSPUと関連づけられる一つ以上の別個のメモリ記憶領域を有していてもよい。各SPUは、自身の関連するローカル記憶領域内からの命令(データロード操作とデータ記憶操作を含む)のみを実行するように構成されていてもよい。このような構成では、ローカル記憶LSとシステム500内のいずれかの場所との間でのデータ転送は、(個々のSPEの)ローカル記憶領域を出入りするデータ転送をするダイレクトメモリアクセス(DMA)コマンドをメモリフローコントローラ(MFC)から発行することで実行できる。SPUは、いかなるシステム管理機能も実行しないという点で、PPE504よりも複雑さの少ない計算ユニットである。SPUは、一般に単一命令、複数データ(SIMD)能力を有し、割り当てられたタスクを実行するために、データを処理して任意の必要なデータ転送(PPEによりセットされた特性へのアクセスを受ける)を開始する。SPUの目的は、より高い計算単位密度を必要とし提供された命令セットを効果的に使用できるアプリケーションを実行可能とすることである。PPE504によって管理されるシステム内の相当数のSPEによって、広範囲にわたるアプリケーションについて費用効果の高い処理が可能になる。
【0100】
各SPE506は、メモリ保護とアクセス許可情報を保持し処理が可能である関連するメモリ管理ユニットを有する専用のメモリフローコントローラ(MFC)を備えることができる。MFCは、セルプロセッサの主記憶装置とSPEのローカル記憶装置との間のデータ転送、保護および同期の主要な方法を提供する。MFCコマンドは実行される転送を記述する。データを転送するためのコマンドは、MFCダイレクトメモリアクセス(DMA)コマンド(またはMFC DMAコマンド)と呼ばれることがある。
【0101】
各MFCは、同時に複数のDMA転送をサポートすることができ、また複数のMFCコマンドを維持かつ処理することができる。各MFC DMAデータ転送コマンドは、ローカル記憶装置のアドレス(LSA)と実効アドレス(EA)の両方を必要とすることがある。ローカル記憶装置アドレスは、その関連するSPEのローカル記憶領域のみを直接アドレス指定してもよい。実効アドレスにはより一般的なアプリケーションがあることがある。例えば、実効アドレスが実アドレス空間内にエイリアスされる場合、全てのSPEローカル記憶領域を含む主記憶装置を参照することができる。
【0102】
SPE506の間の通信および/またはSPE506とPPE504の間の通信を容易にするために、SPE506とPPE504は、イベントを合図する信号通知レジスタを含んでもよい。PPE504とSPE506は、PPE504がメッセージをSPE506に発信するルータの働きをするスター・トポロジによって結合されてもよい。代わりに、各SPE506とPPE504は、メールボックスと呼ばれる一方向の信号通知レジスタを有していてもよい。メールボックスはSPE506により使用され、オペレーティングシステム(OS)の同期をホストすることができる。
【0103】
セルプロセッサ500は、セルプロセッサ500がマイク配列512やオプションの画像取得装置513のような周辺装置と対話する入出力(I/O)機能508を備えていてもよい。さらに、要素相互接続バス510が上記の様々な構成要素を接続してもよい。各SPEとPPEは、バスインタフェースユニットBIUを通してバス510にアクセスすることができる。セルプロセッサ500は、プロセッサ内に通常見つかる二つのコントローラを備えてもよい。すなわち、バス510とメインメモリ502の間でのデータの流れを制御するメモリインタフェースコントローラMICと、I/O508とバス510の間でのデータの流れを制御するバスインタフェースコントローラBICである。MIC、BIC、BIUおよびバス510の要件は様々な実装に対して大きく異なることがあるが、当業者であれば、これらを実装するための機能および回路に精通しているであろう。
【0104】
セルプロセッサ500は、内部割り込みコントローラIICを備えてもよい。IIC構成要素は、PPEに提示される割り込みの優先度を管理する。IICは、他の構成要素からの割り込みを、セルプロセッサ500がメインシステムの割り込みコントローラを用いることなく処理することを可能にする。IICは、第2のレベルコントローラとみなしてもよい。メインシステムの割り込みコントローラは、セルプロセッサ外部から生じる割り込みを処理してもよい。
【0105】
本発明の実施形態では、非整数遅延などの特定の計算を、PPE504および/または一つ以上のSPE506を用いて並列に実行することができる。各非整数遅延計算を、異なるSPE506が利用可能になるにつれて引き受けることができる一つ以上の別個のタスクとして実行することができる。
【0106】
ある実施の形態は、ユーザによってプレイされる対話型ゲームが可能になるように、プロセッサによるゲームプログラムの実行を制御するための情報を取得する際に使用する追跡装置を提供する。追跡装置は、本体と少なくとも1つのPD素子を含む。本体は、ゲーム装置の実行を介して提供されるゲームの進行がスクリーンに表示される際にスクリーンの方を向く部分をさらに含むことができる。また、少なくとも1つのPD素子は当該本体に組み込むことができる。当該部分が少なくとも部分的にスクリーンの方向を向いているときに、画像内のPD素子の位置が画像取得装置によって記録可能である。操作中に時間的に異なる位置にあるPD素子の位置を定量化可能であり、空間における本体の動きを定量化することができる。
【0107】
さらに、当該本体はゲームコントローラに搭載することができる。ゲームコントローラはゲームコントローラ本体と、ゲームコントローラ本体に取り付けられた少なくとも1つの入力デバイスを備える。入力デバイスはユーザによる操作が可能であり、ユーザからの入力を登録することができる。ある例では、当該装置はトラッキングデバイスとゲームコントローラの両方を含む。
【0108】
ある実施の形態では、PD素子は逆反射器を含んでもよい。さらにあるいはその代わりに、PD素子の色は、PD素子に隣接する本体の一部の色に対して高コントラストであってもよい。さらに、少なくとも一つのPD素子の各々は、少なくとも二つの異なるテクスチャを含むパターンをもっていもよい。たとえば、それらのテクスチャは、少なくとも一つの輝度、色、粗さ、および/または他の何らかの質感において異なるものであってもよい。ある実施の形態では、PD素子は光源を含み、ある実装では、光源は少なくとも一つのLEDを含むことがある。
【0109】
さらに、ある実施の形態は、2、3、4、あるいはそれ以上のPD素子を含む。これらの複数のPD素子は1または2以上の構成で位置づけることができる。たとえば、2つのPD素子をもつ実装では、PD素子は直線をなすように位置づけられ、3つのPD素子をもつ実装では、素子は三角形をなすように位置づけられる。4つのPD素子をもつ他の実装では、素子は4本の線をなすように配置したり、位置づけたりすることができる。4本の線は、たとえば、長方形または他の適当な構造を定義することができる。
【0110】
PD素子は光源を含み、少なくとも一つの光源は、その少なくとも一つの光源によって出力される光に関する特徴によって、他の光源と区別可能であってもよい。その少なくとも一つの光源は、たとえば、ストロボ周期、オンオフデューティサイクル、オンオフサイクル内のオン期間のタイミング、光源の出力のスペクトル成分、他の適当な区別する手段の少なくとも一つまたはその組み合わせによって、他の光源と区別可能であってもよい。ある実施の形態では、トラッキングデバイスの本体はユーザの身体に取り付け可能である。
【0111】
ある実施の形態に係るトラッキングデバイスはさらに通信インタフェースを含み、プロセッサ、ゲームコントローラ、またはその両方とデジタル通信をすることができる。通信インタフェースは実質的に任意のインタフェースであればよく、UART(universal asynchronous receiver transmitter)、USB(universal serial bus )、および/または他のインタフェース、あるいはその組み合わせであってもよい。典型的には、インタフェースは、トラッキングデバイスの操作を制御するための制御信号を受信する機能、別のデバイスと通信するためにトラッキングデバイスからの信号を送信する機能、および/または他のそのような通信機能のすくなくとも一つを実行する機能を有する。
【0112】
ある実施の形態は、ゲームプログラムを実行し、スクリーンにゲームの進行を表示し、ユーザが対話的にゲームをプレイできるようにする機能を有するプロセッサをさらに含む。1以上のPD素子の位置は、スクリーンの近くなどに設置された画像取得装置によって記録可能であり、プロセッサは、画像取得装置によって出力される情報を用いて画像内のPD素子の位置を検出するように構成することができる。さらにあるいはその代わりに、プロセッサは、画像取得装置によって出力される情報からゲームプログラムの実行を制御するためのユーザ入力情報を検出する機能、画像取得装置によって出力される情報から時間的に異なる位置における当該本体の空間的加速度を表すサンプル列を取得する機能、および/または、そのサンプル列を用いて、たとえば、ある時間間隔にわたってサンプル列から取得される加速度値を統合することによって、当該本体の速度を決定する機能を有してもよい。
【0113】
プロセッサは、ある場合には、ある時間間隔にわたってサンプル列から取得された加速度を統合し、次にその統合結果をさらに統合することによって、当該本体の空間的な変位を決定することができる。さらにあるいはその代わりに、プロセッサは、前に決定された位置に関する変位を決定することによって、当該本体の空間的な位置を決定することができる。
【0114】
トラッキングデバイスが少なくとも2つのPD素子を含む例では、プロセッサは、画像取得装置によって出力される情報を用いて、少なくとも二つの空間的な自由度において当該本体の加速度を表すサンプル列を取得することができる。トラッキングデバイスが少なくとも3つのPD素子を含むとき、プロセッサは、画像取得装置によって出力される情報を用いて、少なくとも3つの自由度で当該本体の加速度を表すサンプル列を取得することができる。3つの自由度はたとえば、3つの直交する軸であるx、y、z軸および/またはピッチ、ヨー、ロール軸に沿った運動を含む。ある実施の形態では、プロセッサは、たとえば、3つの自由度とピッチ、ヨー、ロールを含む6つの自由度で動きを定量化することができる。
【0115】
さらにある実施の形態はコントローラを含む。コントローラは、本体、本体上に配置された1以上のボタン、および配列状に本体上に配置された1以上の検出可能な素子を含む。さらにある実装では、その配列は直線状の配列である。
【0116】
上述のように、コンピュータエンタテインメントシステムは典型的には携帯型コンピュータ、ゲームコントローラ、または他のコントローラを含む。ユーザすなわちプレイヤはコントローラを用いてコマンドやその他の命令をエンタテインメントシステムに送り、プレイ中のビデオゲームまたは他のシミュレーションを制御する。テレビジョン、ステレオ、他のエンタテインメントシステム、および電気器具もまた携帯型コントローラを含む。
【0117】
ここに述べる方法、装置、機構およびシステムのいろいろな実施の形態は、携帯型コントローラの3次元的な動きをディスプレイスクリーンの2次元画像平面にマッピングするために提供される。これにより、ユーザによるコントローラ本体全体の3次元的な動きを用いて、ディスプレイスクリーンの2次元画像平面上で操作がなされるシステムの状況を制御することができるようになる。
【0118】
たとえば、図6A、6B、6Cは、本発明の実施の形態にしたがって動作するシステムを説明する。この実施の形態では、携帯型コントローラの3次元的な動きを用いてマウスのような機能を実現し、スクリーン上のポインタを操作することができる。たとえば、図6Aはプレイヤの手604に持ったコントローラ602を示す。コントローラ602を上に動かす運動606により、ディスプレイのスクリーン608上でカーソルがある位置610から別の位置612まで上に移動する。図6Bにおいて、コントローラ602を下に動かす運動620により、ディスプレイのスクリーン608上でカーソルがある位置622から別の位置624まで下に移動する。図6Cにおいて、コントローラ602を横に動かす運動630により、ディスプレイのスクリーン608上でカーソルがある位置632から別の位置634まで横に移動する。以下述べるように、他の実施の形態では、携帯型コントローラの3次元運動を、たとえば、スクリーン上で照準線またはそれに類するものを操作するというような他の機能に使うこともできる。
【0119】
図7を参照して、本発明の実施の形態にしたがって動作する方法700を説明する。方法700はステップ702で始まり、システムの携帯型コントローラの3次元運動が追跡される。そのような追跡は多くの異なる方法でなされる。たとえば、そのような追跡は、慣性、ビデオ、音響、または赤外線の分析を通して、ここで上述する方法や他の方法で実行される。
【0120】
ビデオトラッキングの例では、たとえば、カメラ周辺機器をコンピュータエンタテインメントシステムとともに用いて、携帯型コントローラ本体の動きを検出し、それをゲームのアクションに送ることができる。カメラは、コントローラの多くの異なるタイプの動きを検出するために使うことができる。たとえば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。ここでも、追跡は、慣性、音響、または赤外線の分析を通して行われる。たとえば、赤外線分析を用いる実施の形態では、赤外線分析器と赤外線の直線配列を用いて、センサの出力を見ることでユーザの位置とコントローラの姿勢を決定する。
【0121】
ステップ704において、携帯型コントローラの追跡された3次元運動をシステムのディスプレイスクリーンの2次元画像平面に写像する。すなわち、コントローラ本体自身の3次元的な動きを、スクリーン上の2次元画像平面に投影する。このようにして、コントローラの3次元的な動きは、スクリーンの2次元画像平面のX−Y座標に変換される。
【0122】
ステップ706において、携帯型コントローラの追跡された3次元運動の写像にもとづいてスクリーンの2次元画像平面に1以上の画像を表示する。画像には多くの異なるタイプのものが含まれる。たとえば、図6A、6B、6Cに示すように、画像には、スクリーン上に表示されるアイテムを選択する際に利用するポインタが含まれる。その例では、コントローラ602全体はマウスのようなデバイスとなり、マウスのように使ってメニュー、リンクなどのスクリーン上のアイテムを制御したり、選択することができる。
【0123】
コントローラのいろいろな異なるタイプの動きによって、スクリーン上に表示された画像のいろいろな異なる動きを構成することができる。たとえば、ユーザはコントローラを持ち上げたり、手首をねじったりして、画像を動かすことができる。あるいは、別の例では、ユーザはコントローラの位置を押し下げ、コントローラの首を下に向けることで、カーソルがさらに下に下がるようにすることもできる。また、別の例では、ユーザはコントローラの位置とともに左に動いたとしても、姿勢を左にねじることにより、カーソルを左に動かすことができる。また、別の例では、ユーザはコントローラの位置とともに右に動いても、姿勢を右にねじることにより、カーソルを右に動かすことができる。ここでも、これらは例に過ぎず、多くの他のタイプの動きを構成することができる。
【0124】
図8を参照して、本発明の実施の形態にしたがって動作する別のシステムを説明する。この実施の形態では、1以上の画像には、射撃ゲームなどのために一組の照準線が含まれる。たとえば、図8において、ユーザすなわちプレイヤは、ゲームを通してカメラをパンしたり動かしたりしながら、スクリーン802に表示される3次元空間を歩いてもよい。ユーザの銃あるいはそれに類するものの一組の照準線804が、3次元空間を超えてスクリーン802の2次元画像平面のX−Y座標に写像される。
【0125】
ユーザがコントローラ本体806を3次元的に動かすと、その動きにより2次元の照準線804が動く。図示されるように、コントローラ本体806の横方向で上向きの動き810により、2次元照準線804は、ある位置812から別の位置814に移動する。このように、ゲームには3次元ゲームが含まれるが、スクリーン上の照準線は3次元空間を越えてスクリーンの2次元平面のX、Y座標に写像される。
【0126】
これまで述べた例で説明したように、本発明の実施の形態によれば、コントローラをマウスのようなデバイスとして用いて、メニュー、リンク、アイテムなどを選択することができるが、コントローラの機能を変更して、たとえば、射撃ゲームの照準線を成業するといった他の機能のために使うこともできる。このように、ユーザによるコントローラ本体全体の検出された運動、動き、および/または操作を付加的なコマンドとして用いて、プレイ中のゲームまたは他のシミュレーションのいろいろな状況を制御してもよい。
【0127】
ある実施の形態では、オプションの特徴として、2次元写像に対する操作のギアを調整したり、絞ったりすることで、選択されたスロットルのレベルにもとづいてユーザがカーソルをより速く動かしたり、よりゆっくり動かすことができるようになる。これにより、カーソル、照準線などがコントローラの動きや運動に応答して動く速度をユーザが選択する柔軟性が提供される。コントローラ上のボタンやコントロールを用いて、そのようなギア調整を行ってもよい。一例として、ある実施の形態では、可変のL2およびR2ボタン(図1B、1C、1D、1E)や他のボタンまたはコントロールを用いてヒアリングを絞ってもよい。
【0128】
上述のように、携帯型コントローラの3次元的な動きを多くの異なる方法、たとえば、上述または他の方法で慣性、ビデオ、音響、または赤外線の分析によって追跡してもよい。図9を参照して、本発明のある実施の形態にしたがって動作するシステム900を説明する。上述のように、「混合モード」信号を用いてもよく、それによれば、あるタイプのセンサからの信号が入力される追跡情報の一部を提供し、他のタイプのセンサから生成された信号が入力される追跡情報の他の部分を提供する。ある実施の形態において、フィードバックループにはミキサ902が含まれ、慣性、ビデオ、音響、または赤外線のセンサのようないろいろなタイプのセンサからの信号をミキシングするために使われる。ミキサ902からの出力は、写像器905またはそれに類するものによってスクリーンの2次元画像平面に写像される。そして、画像は、スクリーンの2次元画像平面上に表示される(906)。
【0129】
このような方法で、コントローラの3次元運動、動き、操作はセンサで検出され、追跡され、そして、ミキサを等してスクリーンの2次元プラットフォームに写像される。一例として、ビデオトラッキングが用いられる場合、コントローラの3次元運動はカメラの2次元画像平面に投影され、そして、カメラの2次元平面の観点からのコントローラの動きと変形はスクリーンの2次元プラットフォームに写像される。
【0130】
本発明の他の実施の形態では、オプションとして、スクリーンの2次元画像平面のXまたはY座標のいずれかをロックしてもよい。このようにすることで、プレイヤがいろいろな方向にコントローラを動かすとき、XおよびY座標の一方がロックされているため、スクリーン上に表示される画像が一方向にのみ動く。たとえば、図10は本発明の別の実施の形態にしたがって動作するシステムを説明する。この実施の形態では、ユーザまたはプレイヤはカメラをゲームを通してカメラをパンしたり動かしたりしながら、スクリーン1002に表示される3次元空間を歩いてもよい。ユーザの銃あるいはそれに類するものの一組の照準線1004が、3次元空間を超えてスクリーン1002の2次元画像平面のX−Y座標に写像される。
【0131】
この例では、Y座標はロックされている。コントローラ本体1006の横方向で上向きの運動1010によって、2次元照準線1004はある位置1012から別の位置1014にX軸のみに沿って横に移動する。照準線1004は、Y軸がロックされているため、X軸に沿ってのみ動く。
【0132】
ある実施の形態では、ユーザがボタンを押し続けると、軸の一つがロックされる。たとえば、ボタンがY軸をロックし、その結果、ユーザがコントローラを動かすときはいつでも、スクリーン上の画像はX軸方向にのみ動く。すなわち、Y座標は固定されたままである。したがって、ユーザがコントローラを右方向にねじっても、X軸上で右方向にスライドするだけであり、また、コントローラを左方向にねじっても、X軸に沿って左にスライドするだけである。ある実施の形態では、ユーザがボタンを再度押した場合、以前にロックされた軸がアンロックされるように構成されてもよく、これにより、ユーザは再び全く自由に動かせるようになる。ある実施の形態では、ユーザがX座標をロックするために別のボタンを再度押した場合、ユーザは照準線を上下にのみスライドさせることができるようになる。
【0133】
携帯型コントローラは、本発明のいろいろな実施の形態に係る任意のタイプのコントローラであってもよい。たとえば、ビデオゲーム機コントローラを説明したが、その代わりにコントローラは任意のタイプのコントローラ、たとえば、テレビジョン、ステレオ、DVDプレイヤなどの従来のコントローラであってもよい。一例として、図11Aは、本発明のいろいろな実施の形態にしたがって用いられる従来のテレビジョンコントローラ1102を説明する。あるいは、コントローラはここに述べる方法で追跡される任意の他のタイプのオブジェクトであってもよい。一例として、図11Bは、本発明のいろいろな実施の形態にしたがって使用されるオブジェクト1104を説明する。
【0134】
ある実施の形態では、コントローラの位置およびヨーは付加的なものである。これにより、コントローラの動きがカーソルまたは照準線を同じ方向に動かすことが可能になり、その結果、動きは以前の動きに「付加」される。
【0135】
上述のように、ゲームコントローラのユーザ操作を検出し、追跡することは異なる方法で実装することができる。たとえば、加速度計またはジャイロスコープのような慣性センサ、デジタルカメラのようなイメージキャプチャユニットをコンピュータエンタテインメントシステムとともに用いて、携帯型コントローラ本体の動きを検出し、それをゲームのアクションに送るようにしてもよい。慣性センサをもつコントローラを追跡する例は、たとえば米国特許出願第11/382,033号、"SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL" (代理人整理番号SCEA06INRT1)に記載されており、参照によりここに組み込む。イメージキャプチャを用いてコントローラを追跡する例は、たとえば米国特許出願第11/382,034号、"SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY" (代理人整理番号SCEA05082US00 )に記載されており、参照によりここに組み込む。さらに、マイク配列および適当な信号処理を用いて、コントローラおよび/またはユーザを音響的に追跡してもよい。そのような音響による追跡の例は、米国特許出願第11/381,721号に記載されており、参照によりここに組み込む。
【0136】
音響センシング、慣性センシングおよびイメージキャプチャを個別にあるいは組み合わせて用いて、コントローラの多くの異なるタイプの動きを検出することができる。たとえば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。コントローラの動きを追跡し、追跡された動きからある予め記録されたジェスチャを認識できるようにゲームプログラムを構成してもよい。1以上のジェスチャの認識によって、ゲーム状態に変化が引き起こされてもよい。
【0137】
上述のように、本発明のある実施の形態では、ジェスチャ認識の分析の前に、これらの異なるソースから取得されたコントローラの経路情報を混合してもよい。異なるソース(たとえば、音響、慣性およびイメージキャプチャ)からのトラッキングデータをある方法で混合することで、ジェスチャの認識の可能性を改善することができる。
【0138】
上述したように、慣性ソース、画像捕捉ソース、音響ソースからのデータを解析して、コントローラの位置および/または方向を追跡する経路を生成することができる。図12のブロック図で示すように、本発明の一実施形態によるシステム1200は、慣性解析器1202、画像解析器1204、および音響解析器1206を備えてもよい。これらの解析器はそれぞれ、検知される環境から信号を受け取る。解析器1202、1206、1208は、ハードウェア、ソフトウェア(またはファームウェア)、またはこれらのうちの二つ以上の組合せで実装することができる。各解析器は、対象オブジェクトの位置および/または方向に関する追跡情報を生成する。一例として、対象オブジェクトは上述のコントローラ110であってもよい。画像解析器1204は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/382,034号(代理人整理番号86321 SCEA05082US00)に記載の方法に関連する。慣性解析器1202は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/382,033号の「SYSTEM、METHOD、AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL」(代理人整理番号SCEA06INRT1)に記載の方法に関連する。音響解析器1206は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/381,724号に記載の方法に関連する。
【0139】
解析器1202、1204、1206を、位置情報および/または方向情報の異なる入力チャネルに関連しているとみなしてもよい。ミキサ1208は複数の入力チャネルを受け入れることができる。このチャネルは、典型的にチャネルの視野からの検知された環境を特徴付けるサンプルデータを含む。慣性解析器1202、画像解析器1204および音響解析器1206によって生成される位置情報および/または方向情報を、ミキサ1208の入力に結合することができる。ミキサ1208と解析器1202、1204、1206は、ゲームソフトウェア1210によって問い合わせされ、イベントに応じてゲームソフトウェアを中断するように構成されていてもよい。イベントには、ジェスチャ認識イベント、ギアリング(gearing)変更、設定変更、設定ノイズレベル、設定サンプリングレート、マッピングチェーンの変更等が含まれる。これらの例については後述する。ミキサ1208は、以下のフィールドとともに動作しフィールドを形成し、本明細書に記載の方法に関連する。
【0140】
上述のように、例えば慣性センサ、ビデオ画像および/または音響センサなどの異なる入力チャネルからの信号が、それぞれ慣性解析器1202、画像解析器1204、音響解析器1206によって解析され、本発明の方法によるテレビゲームのプレイ中にコントローラ110の動きおよび/または方向を決定することができる。このような方法は、プロセッサ可読の媒体に保存されデジタルプロセッサで実行される一連のプロセッサ実行可能なプログラムコード命令として実装することができる。
【0141】
例えば、図13Aに示すように、テレビゲームシステム100は、それぞれハードウェアまたはソフトウェアで実装される慣性解析器1202、画像解析器1204、音響解析器1206を備えるコンソール102を含んでもよい。一例として、解析器1202、1204、1206は、適切なプロセッサユニット1302上で動くソフトウェア命令として実装することができる。一例として、プロセッサユニット1302は、例えば、テレビゲーム機で一般に使用される種類のマイクロプロセッサなどのデジタルプロセッサであってもよい。命令の一部がメモリ1306に保存されてもよい。代わりに、慣性解析器1202、画像解析器1204、および音響解析器1206は、例えば特定用途向け集積回路(ASIC)としてハードウェアで実装されてもよい。このような解析器ハードウェアは、コントローラ110またはコンソール102上に配置されてもよいし、別の場所に離れて配置されてもよい。ハードウェア実装では、解析器1202、1204、1206は、例えばプロセッサ1302から、またはUSBケーブルや無線接続、ネットワークなどの他の離れて配置されたソースからの外部信号に応じてプログラム可能であってもよい。
【0142】
慣性解析器1202は、慣性センサ132により生成された信号を解析し、コントローラ110の位置および/または方向に関する情報を利用する命令を含むかそのような命令を実装してもよい。同様に、画像解析器1204は、画像取得装置112によってとらえられた画像を解析する命令を実装してもよい。さらに、音響解析器は、マイク配列118によってとらえられた画像を解析する命令を実装してもよい。図13Bのフロー図1310に示すように、これらの信号および/または画像は、ブロック1312に示すように解析器1202、1204、1206により受け取られてもよい。ブロック1314で示すように、信号および/または画像は解析器1202、1204、1206で解析されて、コントローラ110の位置および/または方向に関する慣性追跡情報1203、画像追跡情報1205および音響追跡情報1207を求めてもよい。追跡情報1203、1205、1207は一つ以上の自由度に関連していてもよい。コントローラ110または他の追跡されるオブジェクトの操作を特徴付けるために、6自由度が追跡されることが好ましい。この自由度は、x軸、y軸、z軸に沿ったコントローラの傾き、ヨー、ロールおよび位置、速度または加速度に関していてもよい。
【0143】
ある実施の形態では、コントローラ110はまた、音響信号生成器115(たとえばスピーカ)を含んでもよく、それにより、米国特許出願第11/381,724号(参照によりここに援用する)に記載されたようなマイク配列118と適切な音響信号処理をもつコントローラ110の音響追跡がやりやすくなる音源を提供することができる。
【0144】
ブロック1316で示すように、ミキサ1208は慣性情報1203、画像情報1205および音響情報1207を混合して、改善された位置および/または方向情報1209を生成する。一例として、ミキサ1208は、ゲーム状況または環境状況に基づき慣性情報1203、画像情報1205および音響情報1207に異なる重み付けを適用して加重平均をとってもよい。さらに、ミキサ1208は、組み合わされた位置および/または方向情報を解析する自身のミキサ解析器1212を備え、他の解析器により生成された情報の組み合わせを含む求められた自身の「ミキサ」情報を生成してもよい。
【0145】
本発明の実施形態では、ミキサ1208は解析器1202、1204、1206からの追跡情報1203、1205、1207に分布値を割り当ててもよい。上記のように、入力制御データの特定セットを平均化してもよい。しかしながら、本実施形態では、平均化の前に入力制御データに値を割り当て、これにより、一部の解析器からの入力制御データの分析の重要性を他の解析器からのものより高めてもよい。
【0146】
ミキサ1208は、他の処理および解析の観察、訂正、安定化、微分、組合せ、ルーティング、混合、報告、バッファ、中断の文脈でいくつかの機能を引き受けてもよい。これは、解析器1202、1204、1206の一つ以上から受け取る追跡情報1203、1205、1207に対して実行されてもよい。解析器1202、1204、1206がそれぞれ特定の追跡情報を受け取るか取り出す一方、ミキサ1208は受け取った追跡情報1203、1205、1207の使用を最適化し、改善された追跡情報1209を生成するように実装されていてもよい。
【0147】
解析器1202、1204、1206とミキサ1208は、同様の出力フォーマットで追跡情報を提供するように構成されることが好ましい。任意の解析器要素1202、1204、1206からの追跡情報パラメータを、解析器内の単一のパラメータにマッピングすることができる。代わりに、ミキサ1208は、一つ以上の解析器1202、1204、1206からの一つ以上の追跡情報パラメータを処理することによって、解析器1202、1204、1206のいずれのためにも追跡情報を作り出すことができる。ミキサは、解析器1202、1204、1206から得られる同一のパラメータタイプの追跡情報の二つ以上の要素を組み合わせ、解析器により生成された複数の追跡情報パラメータにわたる機能を実行して、複数の入力チャネルから生成される利点を有する出力の合成セットを作成することができる。
【0148】
ブロック1318で示すように、システム100でのテレビゲームのプレイ中に、改善された追跡情報1209を利用することができる。特定の実施形態では、ゲームプレイ中にユーザ108によりなされたジェスチャに関連して位置情報および/または方向情報を用いることができる。一部の実施形態では、ミキサ1208は、ジェスチャ認識装置1305とともに作動して、ゲーム環境内の少なくとも一つの動作と、ユーザからの一つ以上のユーザ動作(例えば、空間内でのコントローラの操作)とを結びつけることができる。
【0149】
図13Cのフロー図1320において、ブロック1322で示すように、位置情報および/または方向情報を用いてコントローラ110の経路を追跡することができる。一例として、経路は、いくつかの座標系に対するコントローラの質量中心の位置を表す一組の点を含んでもよいが、これに限定されない。各位置点は、デカルト座標系のX、Y、Z座標などの一つ以上の座標で表すことができる。経路の形状と、経路に沿ったコントローラの進行の両方を監視できるように、経路上の各点に時間を関連させてもよい。さらに、上記組の中の各点を、コントローラの方向(例えば、コントローラの質量中心周りの一つ以上の回転角)を表すデータと関連づけておいてもよい。さらに、経路上の各点を、コントローラの質量中心の速度および加速度、角回転率、および質量中心周りのコントローラの角加速度の値と関連づけておいてもよい。
【0150】
ブロック1324で示すように、追跡された経路を、プレイ中のテレビゲームの文脈に関連する既知のおよび/または予め記録されたジェスチャ1308に対応する一つ以上の保存された経路と比較してもよい。認識装置1305は、ユーザを認識するかまたは音声認証されたジェスチャ等を処理するように構成されてもよい。例えば、認識装置1305はジェスチャによりユーザを識別することができる。ジェスチャは、ユーザ特有のものであってもよい。このような特有のジェスチャは、メモリ1306に保存される予め記録されたジェスチャ1308の中に記録され含められる。記録処理は、ジェスチャの認識中に生じる音声を選択的に保存してもよい。検知された環境は多重チャネル解析器でサンプリングされ処理される。プロセッサはジェスチャモデルを参照して、音声または音響パターンに基づき高精度かつ高性能にユーザまたはオブジェクトを決定、認証および/または識別することができる。
【0151】
図13Aで示すように、ジェスチャを表すデータ1308がメモリ1306に保存されてもよい。ジェスチャの例には、ボールのような物を投げる、バットまたはゴルフクラブのような物を振る、ハンドポンプを動かす、扉または窓を開閉する、ハンドルまたは他の車両制御装置を回す、パンチのような格闘技の動き、紙やすりで磨く動き、ワックスをかける、家を塗る、振る、音をたてる、回す、フットボールを投げる、ノブを回す、3Dマウスの動き、スクロールする動き、プロフィールによる動き、任意の記録可能な動き、タイヤに空気を入れるような空間内の任意の方向で任意のベクトルに沿った前後の動き、経路に沿った動き、正確な停止と開始がある動き、ノイズフロア内で記録、追跡、繰り返し可能な任意の時間ベースのユーザ操作、スプライン等を含むが、これらに限定されない。これらのジェスチャはそれぞれ、経路データから予め記録され、時間ベースのモデルとして記録することができる。経路と保存されたジェスチャとの比較は、経路が定常状態から外れる場合、削除処理によってその経路を保存されたジェスチャと比較することができるという定常状態の仮定で開始することができる。ブロック1326で一致しない場合、ブロック1322で解析器1304はコントローラ110の経路を追跡し続けることができる。経路(またはその部分)と保存されたジェスチャとが十分に一致する場合、1328で示すようにゲームの状態を変更することができる。ゲーム状態の変更には、中断、制御信号の送信、変数の変更等が含まれるが、これらに限られない。
【0152】
この一例を示す。コントローラ110が定常状態を残したと判定されると、解析器1202、1204、1206または1212はコントローラ110の動きを追う。コントローラ110の経路が、保存されたジェスチャモデル1308で定められる経路に従う限り、これらのジェスチャは起こりうる「ヒット」である。コントローラ110の経路が任意のジェスチャモデル1308から外れる(ノイズ許容度設定の範囲内で)場合、そのジェスチャモデルはヒットリストから除かれる。各ジェスチャ参照モデルは、ジェスチャが記録される時間ベースを含む。解析器1202、1204、1206または1212は、適切な時間インデックスでコントローラ経路データを保存されたジェスチャー1308と比較する。定常状態の条件が発生すると、クロックがリセットされる。定常状態から外れると(すなわち、ノイズ閾値の外側で動きが追跡されると)、全ての潜在ジェスチャモデルでヒットリストが占められる。クロックが開始され、コントローラの動きがヒットリストに対して比較される。比較は時間を通しての道のり(walk)である。ヒットリスト内の任意のジェスチャがジェスチャの終端に到達すると、それがヒットである。
【0153】
本発明の実施形態では、ミキサ1208は解析器1202、1204、1206からの追跡情報1203、1205、1207に分布値を割り当ててもよい。上述のように、入力制御データの特定セットを平均化してもよい。しかしながら、本実施形態では、平均化の前に入力制御値に値を割り当て、これにより一部の解析器からの入力制御データを他の解析器からのものより解析の重要度を高めてもよい。
【0154】
例えば、ミキサ1208は加速度と定常状態に関連した追跡情報を必要としてもよい。ミキサ1208は、上述のように追跡情報1203、1205、1207を受け取る。例えば、上述のように、追跡情報は加速度と定常状態に関するパラメータを含んでもよい。この情報を表すデータを平均化する前に、ミキサ1208は分布値を追跡情報データセット1203、1205、1207に割り当ててもよい。例えば、慣性解析器1202からのx、y加速度パラメータに90%の重み付けをしてもよい。しかしながら、画像解析器1204からのx、y加速度データに10%のみの重み付けをしてもよい。加速度パラメータに関して、音響解析器の追跡情報1207に0%の重み付け、すなわちデータが値を持たないようにしてもよい。
【0155】
同様に、慣性解析器1202からのZ軸追跡情報パラメータに10%の重み付けをし、画像解析器のZ軸追跡情報に90%の重み付けをしてもよい。音響解析器の追跡情報1207に0%の重み付けをし、音響解析器1206からの定常状態追跡情報に100%の重み付けをし、残りの解析器の追跡情報に0%の重み付けをしてもよい。
【0156】
適当な分布重みが割り当てられた後、重みとともに入力制御データを平均化して加重平均入力制御データセットを求め、このデータセットを続けてジェスチャ認識装置1305で解析して特定のゲーム環境内の特定のアクションに関連付けしてもよい。関連する値は、ミキサ1208または特定のゲームタイトルにより予め定義されていてもよい。この値は、様々な解析器から来るデータの特定の質を識別するミキサ1208の結果であってもよく、これにより後述するように動的な調整がなされる。この調整は、特定のデータが特定の環境における特定の値になるとき、および/または所与のゲームタイトルの特殊性に応じて、歴史的な知識ベースの構築の結果であってもよい。
【0157】
ミキサ1208は、ゲームプレイの間、動的に作動するように構成されてもよい。例えば、ミキサ1208が様々な入力制御データを受け取ると、特定のデータが一貫して許容可能なデータ範囲またはデータ品質の外部にあることを認識するか、または関連する入力装置におけるエラーの処理を示す不正データを反映することができる。
【0158】
加えて、現実世界環境における特定の状況が変化してもよい。例えば、ユーザの家のゲーム環境における自然光が午前から午後になると増加して、画像データの捕捉に問題を生じることがある。さらに、日中になると近所または家庭がよりうるさくなって、音声データの捕捉に問題を生じる。同様に、ユーザが数時間プレイを続けると、ユーザの反射の素早さが低下して慣性データの解釈に問題が生じることがある。
【0159】
これらの例や、または入力制御データの特定の形態の品質が問題になる場合、ミキサ1208は、上述したように特定の入力制御データにより高いかより低い重要度を与えるように、特定の装置から来るデータの特定セットに対して重みを動的に再割り当てすることができる。同様に、ゲームの経過につれてゲーム環境が変化してもよい。特定のゲームの必要性が変化し、したがって特定の入力制御データの値または必要性の再割り当てが必要になる。
【0160】
同様に、ミキサ1208は、ジェスチャ認識装置1305に渡されている特定のデータが誤ってまたはゆっくりと処理されているか、または処理中のエラーあるいはジェスチャ認識装置1305により生成されるフィードバックデータに基づき処理されていないことを認識することができる。このフィードバックに応じて、または、これらの処理中の問題(例えば、画像解析データが許容できる範囲内にある場合、ジェスチャ認識装置1305により関連づけされるときにエラーが生じる)の認識時に、ミキサ1208は、どのような入力制御データがどの解析器からどの時点で求められるかを調整することができる。ミキサ1208は、入力制御データがミキサ1208に渡される前に、適切な解析器による入力制御データの特定の解析および処理を必要としてもよい。ミキサは、ジェスチャ認識装置1305に渡されたデータの効率的かつ適切な処理がさらに保証されるように、データを再処理する。
【0161】
一部の実施形態では、ミキサ1208は、特定のデータが信頼できず、無効であり、または特定の変数の外部にあることを認識し、特定の入力制御データまたはそのデータに関連する変数を呼び出して不正なデータを置き換えるか、または必要な変数に関する特定のデータを適切に解析して計算することができる。
【0162】
図14を参照して、本発明の実施の形態に係る方法1400を説明する。方法1400は、コントローラのようなオブジェクトの追跡を実行するためにいろいろなセンサからの情報を利用、結合、あるいは混合する方法の別の例を与える。
【0163】
ある実装例では、方法1400は、ビデオカメラを用いてコントローラの位置を追跡するために用いてもよい。そこでは、ジャイロセンサまたは加速度計のようなコントローラのセンサによって提供される傾き情報をコントローラ画像検出を最適化するために用いる。コントローラ画像検出は、コントローラの参照検出プロファイル画像をセンサによって提供されたコントローラの傾斜角度にしたがって回転させる「変換比較」を用いることにより最適化される。
【0164】
より具体的には、方法1400は、コントローラのようなオブジェクトから入力データを取得する際に用いてもよいものであり、ステップ1402で始まり、オブジェクトのライブ画像を画像取得装置で取得する。画像取得装置は、ここで述べたタイプのカメラのような任意のタイプのカメラを含んでもよい。たとえば、ある実施の形態では、画像取得装置はZカメラ、深さカメラ、他のタイプの3次元カメラを含んでもよい。そのようなZカメラまたは深さカメラは、上述のように、各ピクセルの深さを提供または測定し、および/または、カメラからピクセルの距離を決定する。
【0165】
図15は、このステップの例を説明する。すなわち、オブジェクト1504のライブ画像1502を取得する。ある実施の形態では、オブジェクト1504はコントローラを含む。例示するように、オブジェクト1504はカメラの視野の左上の隅に位置する。
【0166】
ステップ1404(図14)において、画像取得装置以外の1以上のセンサからオブジェクトの傾斜(チルト)角に関する情報を受け取る。一例として、この1以上のセンサには、ジャイロセンサ、加速度計、あるいは同様のセンサが含まれる。そのようなセンサをオブジェクトに設置してもよい。
【0167】
ある実施の形態では、オブジェクトの回転がジャイロ軸の周りである場合にジャイロセンサを用いてもよい。加速度計の示度と引力の方向をすべての状況において用いてもよい。加速度計の示度を用いることは、値が外れない絶対的な角度の応答を得るには有益である。ある実施の形態では、回転がジャイロ軸周りである場合、両方のセンサを用いてもよい。ある実施の形態では、オブジェクトの傾斜角度に関する情報を用いて、オブジェクトの傾斜角度を決定または推定してもよい。
【0168】
以下述べるように、傾斜角を知ることはカメラトラッキングに役立つから、オブジェクトの傾斜角を測定することは有益である。ここで上述したタイプのコントローラは6つの自由度で追跡可能であり、傾斜角をかなり容易に測定できることから、傾斜角度を用いることはまた有益である。さらに、回転をカメラを用いて測定するのはやっかいである。
【0169】
ステップ1406において、オブジェクトの傾斜角に関する情報を用いてオブジェクトの少なくとも1つの回転した参照画像を得る。一例として、オブジェクトの基本参照画像は、オブジェクトの外形図、オブジェクトの上面図、オブジェクトをもつユーザの片手または両手の図、またはその他の図を含む。オブジェクトがコントローラを含む実施の形態では、オブジェクトの基本参照画像は、コントローラの外形図、コントローラの上メンズ、コントローラをもつユーザの片手または両手の図、またはその他の図を含む。
【0170】
図15は、1504’とラベルが付けられたオブジェクト1504の基本参照画像1506の例を説明する。例示するように、オブジェクト1504’は回転していない。
【0171】
ある実施の形態において、オブジェクトの回転された参照画像は、オブジェクトの傾斜角に関する情報またはオブジェクトの決定された傾斜角を用いて、オンザフライで参照画像を回転することによって取得してもよい。あるいは、ある実施の形態において、参照画像の回転バージョンのセットをメモリに格納してもよい。オブジェクトの傾斜角に関する情報、または、オブジェクトの決定された傾斜角を用いて当該格納されたセットから対応する回転された参照画像を選択してもよい。オブジェクトの回転された参照画像はストレージから読み出すことによって得られる。
【0172】
図15は、1504”とラベル付けされたオブジェクト1504の回転された参照画像1508の例を説明する。例示するように、オブジェクト1504”は、ライブ画像1502におけるオブジェクト1504の回転と同じか似たような形に回転している。
【0173】
上述のように、ステップ1406においてオブジェクトの少なくとも1つの回転した参照画像を取得する。「少なくとも1つ」という用語を用いたのは、ある実施の形態ではオブジェクトの傾斜角に関する情報を用いてオブジェクトの1以上の回転した参照画像を取得するからである。各回転した参照画像は、オブジェクトの傾斜角の周りの少し異なる角度のものであってもよい。そして、ある実施の形態では、オブジェクトの傾斜角に関する情報を用いて、正確に傾斜角においてちょうど一つの参照画像を生成するというよりは、その傾斜角の周辺で回転した参照画像の「セット」を生成する。このようにして、当該セットは、傾斜角近傍のいろいろな角度をもつ回転した参照画像を提供するため、傾斜角測定にはノイズがあり、完全ではない。当該セットにおける回転した参照画像の数は、特定のアプリケーション、実装、および必要な精度に応じて異なってもよい。
【0174】
図16は、傾斜角付近のオブジェクト1504”の回転した参照画像1602、1604、1606、1608のセットの例を説明する。各画像におけるオブジェクト1504”の傾斜角は少しずつ異なっている。
【0175】
ステップ1408(図14)において、オブジェクトのライブ画像をオブジェクトの1以上の回転した参照画像と比較する。一般に、イメージキャプチャユニットは、XおよびY平面においてオブジェクトの画像を探す。探している画像は、傾斜角センサまたは加速度計によって提供されるオブジェクトの角度を反映する変換画像である。傾斜測定をする利点は、参照画像のすべての可能性のある回転を照合する代わりに、イメージキャプチャユニットが測定された傾斜角に近い回転を調べるだけで済むことである。回転は、傾斜センサのノイズにもとづく所定の誤差許容の範囲内で、測定された傾斜角に近いものであってもよい。ライブ画像を適切に回転した参照画像と比較するため、比較処理の間、回転の自由度をサーチする必要はない。それにより、比較計算のコストが減り、比較の品質は向上する。
【0176】
ある実施の形態において使われるオプションのアプローチは、まず、以前に一致した傾斜角付近の傾斜角とマッチングさせることである。このようにすることで、仮に傾斜角センサが散発的に「悪い」データを生成したとしても、カメラトラッキングはそれほど深刻な影響を受けない。
【0177】
図15はそのような比較の一例を説明する。すなわち、オブジェクト1504のライブ画像1502をオブジェクト1504”の回転した参照画像1508と比較する。1以上の回転した参照画像を上述のように利用する実施の形態では、オブジェクト1504のライブ画像1502を回転した参照画像の一部またはすべてと比較する。このようにして、ある実施の形態では、オブジェクトの傾斜角に関する情報を使用してオブジェクトの回転した参照画像を複数取得し、オブジェクトのライブ画像をオブジェクトの複数の回転した参照画像のそれぞれと比較する。
【0178】
最後に、ステップ1410(図14)において、ライブ画像が回転した参照画像の一つと一致することに応答して指標を生成する。この指標は、ライブ画像と回転した参照画像の一つの間に一致があったことをソフトウェアおよび/またはハードウェアに示すための任意のタイプのフラグまたはシグナルを含んでもよい。
【0179】
ある実施の形態では、オブジェクトの追跡は、一致が起きるライブ画像の位置を決定することによって実行されてもよい。たとえば、図15において、オブジェクト1504がカメラの視野の左上にあるとき、一致が起きる。この情報を用いてオブジェクト1504の位置を決定してもよい。さらなる位置を用いてオブジェクト1504の運動を追跡してもよい。
【0180】
ある実施の形態では、1以上の参照画像とライブ画像を1以上の正規化フィルタに通過させてもよい。こうすることで、照明の変化を平準化してマッチングをより信頼性のあるものとすることができる。たとえば、そのような正規化フィルタは、ラプラシアン、ラプラシアン・ガウシアン、ラプラシアン・ガウシアン符号、または同様の効果を有する他のタイプのフィルタを含んでもよい。
【0181】
このように、センサによって与えられたオブジェクトの傾斜角にしたがってオブジェクトの参照検出プロファイル画像を変換または回転することにより、オブジェクトの画像検出が最適化される。そのようなオブジェクト画像検出はオブジェクトの位置を追跡するために使ってもよい。たとえば、この方法は、ビデオ入力を用いたコントローラの追跡に用いてもよい。オブジェクトの傾斜角を用いることが有益である一方、ある実施の形態では、コントローラの変位がその代わりにあるいは付加的に、スケールの変化または水平/垂直の動きに対するカメラの追跡を助ける手がかりとなることがある。
【0182】
オブジェクトが任意のタイプのオブジェクト、たとえば任意のタイプのコントローラを含んでもよいことは十分に理解されよう。たとえば、オブジェクトは、テレビジョン、ステレオ、DVDプレイヤなどで使われるタイプのリモートコントローラであってもよい。ある実施の形態では、上述の方法と技術を2以上のコントローラについて同時に用いてもよい。たとえば、複数のユーザによって操作されるコントローラに対して、あるいは同様のシナリオに対して、ユーザのそれぞれの手にあるコントローラについてこれらの方法と技術を用いてもよい。これらの方法と技術はそのようなコントローラすべてを同時に検出および/または追跡するために利用することができる。
【0183】
2007年1月18日出願の”METHOD AND SYSTEM FOR ADDING A NEW PLAYER TO A GAME IN RESPONSE TO CONTROLLER ACTIVITY”、米国同時係属出願第11/624,637号の全開示内容が参照により本明細書に援用される。
【0184】
2006年10月20日出願の”GAME CONTROL USING THREE-DIMENSIONAL MOTIONS OF CONTROLLER”、米国同時係属出願第11/551,682号の全開示内容が参照により本明細書に援用される。
【0185】
2006年10月19日出願の”CONTROLLER CONFIGURED TO TRACK USER'S LEVEL OF ANXIETY AND OTHER MENTAL AND PHYSICAL ATTRIBUTES”、米国同時係属出願第11/551,197号の全開示内容が参照により本明細書に援用される。
【0186】
2006年9月28日出願の”MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO THE TWO-DIMENSIONAL IMAGE PLANE OF A DISPLAY SCREEN”、米国同時係属出願第11/536,559号(代理人整理番号86335 [SCEA06058US00] )の全開示内容が参照により本明細書に援用される。
【0187】
2006年5月10日出願の”ATTACHABLE STRUCTURE FOR USE WITH HAND-HELD CONTROLLER HAVING TRACKING ABILITY”、米国同時係属出願第11/382,699号(代理人整理番号87906 [SCEA06028US00] )の全開示内容が参照により本明細書に援用される。
【0188】
2005年9月15日出願の”AUDIO, VIDEO, SIMULATION, AND USER INTERFACE PARADIGMS”、米国仮特許出願第60/718,145号の全開示内容が参照により本明細書に援用される。
【0189】
2002年7月27日出願の”MAN-MACHINE INTERFACE USING A DEFORMABLE DEVICE”、米国特許出願第10/207,677号;2003年8月27日出願の”AUDIO INPUT SYSTEM”、米国特許出願第10/650,409号;2003年9月15日出願の”METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION”、米国特許出願第10/663,236号;2004年1月16日出願の”METHOD AND APPARATUS FOR LIGHT INPUT DEVICE”、米国特許出願第10/759,782号;2004年4月7日出願の”METHOD AND APPARATUS TO DETECT AND REMOVE AUDIO DISTURBANCES”、米国特許出願第10/820,469号;および2005年12月12日出願の”METHOD FOR USING RELATIVE HEAD AND HAND POSITIONS TO ENABLE A POINTING INTERFACE VIA CAMERA TRACKING”、米国特許出願第11/301,673号の全開示内容が参照により本明細書に援用される。
【0190】
2006年5月4日出願の”ULTARA SMALL MICROPHONE ARRAY”、米国特許出願第11/381,729号、発明者Xiao Dong Mao(代理人整理番号SCEA05062US00);2006年5月4日出願の”ECHO AND NOISE CANCELLATION”、米国特許出願第11/381,728号、発明者Xiao Dong Mao(代理人整理番号SCEA05064US00) ;2006年5月4日出願の”METHOD AND APPARATUS FOR TARGETED SOUND DETECTION“、米国特許出願第11/381,725号、発明者Xiao Dong Mao, (代理人整理番号SCEA05079US00) ;2006年5月4日出願の”NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE CONSOLE”、米国特許出願第11/381,727号、発明者Xiao Dong Mao (代理人整理番号SCEA05073US00) ;2006年5月4日出願の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、米国特許出願第11/381,724号、発明者Xiao Dong Mao (代理人整理番号SCEA05079US00);および2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACIVE PROCESSING”、米国特許出願第11/381,721号、発明者Xiao Dong Mao(代理人整理番号SCEA04005JUMBOUS)の全開示内容が参照により本明細書に援用される。
【0191】
2006年5月4日出願の”METHODS AND APPARATUS FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS”、同時係属米国特許出願第11/418,988号、発明者Xiao Dong Mao (代理人整理番号SCEA-00300);2006年5月4日出願の”METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE”、同時係属米国特許出願第11/418,989号、発明者Xiao Dong Mao(代理人整理番号SCEA-00400);2006年5月4日出願の”METHODS AND APPARATUS FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL”、同時係属出願第11/429,047号,発明者Xiao Dong Mao(代理人整理番号SCEA-00500);2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING”、同時係属出願第11/429,133号、発明者Richard Marks et al.(代理人整理番号SCEA04005US01-SONYP045);および2006年5月4日出願の”Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program”、同時係属出願第11/429,414号、発明者Richard Marks et al.(代理人整理番号SONYP052)の全開示内容が参照により本明細書に援用される。
【0192】
2006年5月6日出願の”MULTI-INPUT GAME CONTROL MIXER”、米国特許出願第11/382,031号(代理人整理番号SCEAO 6MXR1);2006年5月6日出願の”SYSTEM FOR TRACKING USER MANIPULATIONS WITHIN AN ENVIRONMENT”、米国特許出願第11/382,032号(代理人整理番号SCEA06MXR2);2006年5月6日出願の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”、米国特許出願第11/382,033号(代理人整理番号SCEA06INRT1);2006年5月6日出願の”INERTIALLY TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,035号(代理人整理番号SCEA06INRT2);2006年5月6日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO VISUAL TRACKING”、米国特許出願第11/382,036号(代理人整理番号SONYP058A);2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO INERTIAL TRACKING”、米国特許出願第11/382,041号(代理人整理番号SONYP058B);および2006年5月6日出願の”SYSTEM FOR APPLYING GEARING EFFECTS TO ACOUSTIC TRACKING”、米国特許出願第11/382,038号(代理人整理番号SONYP058C);2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO MULTI-CHANNEL MIXED INPUT”、米国特許出願第11/382,040号(代理人整理番号SONYP058D);2006年5月6日出願の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”、米国特許出願第11/382,034号(代理人整理番号86321 SCEA05082US00);2006年5月6日出願の”SCHEME FOR TRANSLATING MONEMENTS OF A HAND-HELD CONTROLLER INTO INPUTS FOR A SYSTEM”、米国特許出願第11/382,O37号(代理人整理番号86324);2006年5月7日出願の”DETECTABLE AND TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,043号(代理人整理番号86325);2006年5月7日出願の”METHOD FOR MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO GAME COMMANDS”、米国特許出願第11/382,039号(代理人整理番号86326);2006年5月6日出願の”CONTROLLER WITH INFRARED PORT”、米国意匠出願第29/259,349号(代理人整理番号SCEA06007US00);2006年5月6日出願の”CONTROLLER WITH TRACKING SENSORS”、米国意匠出願第29/259,350号(代理人整理番号SCEA06008US00);2006年5月6日出願の”DYNAMIC TARGET INTERFACE”、米国特許出願第60/798,031号(代理人整理番号SCEA06009US00);および2006年5月6日出願の”TRACKED CONTROLLER DEVICE”、米国特許出願第29/259,348号(代理人整理番号SCEA06010US00)の全開示内容が参照により本明細書に援用される。
【0193】
2006年5月8日出願の”Profile Detection”、米国同時係属出願第11/430,594号、発明者Gary Zalewski およびRiley R. Russell(代理人整理番号SCEA05059US00)の全開示内容が参照により本明細書に援用される。
【0194】
2006年5月8日出願の”Using Audio/Visual Environment To Select Ads On Game Platform”、米国同時係属出願第11/430,593号、発明者Gary Zalewski およびRiley R. Russell(代理人整理番号SCEAJP 3.0-003 CIP V)の全開示内容が参照により本明細書に援用される。
【0195】
2006年4月10日出願の”System And Method For Obtaining User Information From Voices”、米国同時係属出願第11/400,997号、発明者Larsen and Chen(代理人整理番号SCEA05040US00)の全開示内容が参照により本明細書に援用される。
【0196】
2006年5月8日出願の”Method and apparatus for use in determining lack of user activity in relation to a system”、米国同時係属出願第11/382,259号、発明者Gary Zalewski et al.(代理人整理番号86327)の全開示内容が参照により本明細書に援用される。
【0197】
2006年5月8日出願の”Method and apparatus for use in determining an activity level of a user in relation to a system”、米国特許出願第11/382,258号、発明者Gary Zalewski et al.(代理人整理番号86328)の全開示内容が参照により本明細書に援用される。
【0198】
2006年5月8日出願の”Hand-held controller having detectable elements for tracking purposes”、米国同時係属出願第11/382,251号、発明者Gary Zalewski et al.(代理人整理番号86329)の全開示内容が参照により本明細書に援用される。
【0199】
2006年5月8日出願の”TRACKING DEVICE FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,252号 (代理人整理番号SCEA06INRT3)の全開示内容が参照により本明細書に援用される。
【0200】
2006年5月8日出願の”TRACKING DEVICE WITH SOUND EMITTER FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,256号(代理人整理番号SCEA06ACRA2)の全開示内容が参照により本明細書に援用される。
【0201】
2006年5月8日出願の”OBTAINING INPUT FOR CONTROLLING EXECUTION OF A GAME PROGRAM”、米国特許出願第11/382,250号 (代理人整理番号SCEAO 6COMB)の全開示内容が参照により本明細書に援用される。
【0202】
2006年5月8日出願の”VIDEO GAME CONTROLLER FRONT FACE”、米国同時係属出願第29/246,744号 (代理人整理番号SCEACTR-D3) の全開示内容が参照により本明細書に援用される。
【0203】
2006年5月8日出願の”VIDEO GAME CONTOLLER”、米国意匠出願第29/246,743号 (代理人整理番号SCEACTRL-D2)の全開示内容が参照により本明細書に援用される。
【0204】
2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,767号(代理人整理番号SONYP059A)の全開示内容が参照により本明細書に援用される。
【0205】
2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,768号 (代理人整理番号SONYP059B)の全開示内容が参照により本明細書に援用される。
【0206】
2006年5月8日出願の”ERGONOMIC GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,763号(代理人整理番号PA3760US) の全開示内容が参照により本明細書に援用される。
【0207】
2006年5月8日出願の”GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,759号(代理人整理番号PA3761US)の全開示内容が参照により本明細書に援用される。
【0208】
2006年5月8日出願の”DESIGN FOR OPTICAL GAME CONTROLLER INTERFACE”、米国同時係属意匠出願第29/246,765号 (代理人整理番号PA3762US)の全開示内容が参照により本明細書に援用される。
【0209】
2006年5月8日出願の”DUAL GRIP GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,766号 (代理人整理番号PA3763US)に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0210】
2006年5月8日出願の”GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,764号 (代理人整理番号PA3764US)の全開示内容が参照により本明細書に援用される。
【0211】
2006年5月8日出願の”ERGONOMIC GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,762号(代理人整理番号PA3765US)の全開示内容が参照により本明細書に援用される。
【0212】
ここに開示した発明は特定の実施の形態およびその応用によって記述されたが、請求項に記載の発明の範囲から逸脱することなく、当該技術分野の当業者によって数多くの変形やバリエーションがなされうる。
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、米国特許出願第11/840,170号、2007年8月16日出願の「OBJECT DETECTION USING VIDEO INPUT COMBINED WITH TILT ANGLE INFORMATION」の継続出願であり、米国特許出願第11/536,559号、2006年9月28日出願の「MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO THE TWO-DIMENSIONAL IMAGE PLANE OF A DISPLAY SCREEN」の一部継続出願であり、両アプリケーションとその全開示内容は、参照により本明細書に援用される。
【0002】
本発明は、一般にコンピュータ・エンターテイメント・システムに関し、より詳細には、そのようなコンピュータ・エンターテイメント・システム用のコントローラのユーザ操作に関する。
【背景技術】
【0003】
コンピュータ・エンターテイメント・システムは、一般的に手持ち型コントローラ、ゲーム・コントローラまたは他のコントローラを含む。ユーザまたはプレーヤは、プレイ中のテレビゲームまたは他のシミュレーションを制御するために、コントローラを使用してエンターテイメント・システムに対してコマンドまたは他の指示を送る。例えば、コントローラはユーザにより操作されるマニピュレータ(例えばジョイスティック)を備えていてもよい。ジョイスティックの操作された可変量はアナログ値からデジタル値に変換され、ゲーム機のメインフレームに送られる。コントローラは、ユーザによって操作可能であるボタンを備えていてもよい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
これらの情報および他の背景情報に関して、本発明は考案された。
【課題を解決するための手段】
【0005】
ある実施の形態は、オブジェクトから入力データを取得する際に使用する方法であって、イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップと、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを含む。
【0006】
別の実施の形態は、オブジェクトから入力データを取得する際に使用する装置であって、オブジェクトのライブ画像をキャプチャするように構成されたイメージキャプチャデバイスと、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取り、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得し、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較し、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するように構成されたプロセッサベースのシステムとを含む。
【0007】
別の実施形態は、プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体であって、前記コンピュータプログラムは前記プロセッサベースのシステムに、イメージキャプチャデバイスからオブジェクトのキャプチャされたライブ画像を受け取るステップと、前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを実行させる。
【0008】
本発明の様々な実施形態の特徴および利点は、本発明の実施形態の原理が利用される具体例について述べる以下の詳細な説明および添付の図面を参照することによって、より良く理解されるであろう。
【0009】
本発明の実施形態の上記態様および他の態様、特徴、利点は、以下の図面とともに提示される以下のより詳細な説明から、さらに明らかになるであろう。
【図面の簡単な説明】
【0010】
【図1A】本発明の実施の形態にしたがって動作するシステムを示す模式図である。
【図1B】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図1C】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図1D】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図1E】本発明のいくつかの実施の形態にしたがって作成されるコントローラの斜視図である。
【図2A】本発明の実施の形態にしたがってコントローラの位置情報を決定する方法を示す模式図である。
【図2B】本発明の実施の形態にしたがってコントローラの位置情報を決定する方法を示す画像平面の平面図である。
【図3A】本発明の実施の形態にしたがって情報を取得する際に用いられる方法を示すフロー図である。
【図3B】本発明の実施の形態にしたがってシステムに入力を与える際に用いられる方法を示すフロー図である。
【図4】本発明の実施の形態にしたがって本明細書に記載されている方法および技術を実施、実装および/または実行するために使用可能であるシステムを示すブロック図である。
【図5】本発明の実施の形態にしたがって本明細書に記載されている方法および技術を実施、実装および/または実行するために使用可能であるプロセッサを示すブロック図である。
【図6A】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図6B】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図6C】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図7】本発明の実施の形態に係るシステムを制御する際に使用する方法を説明するフロー図である。
【図8】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図9】本発明の別の実施の形態にしたがって動作するシステムを説明するブロック図である。
【図10】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図11A】本発明の実施の形態に係る記載したシステムにおいてオプションとして使用されるコントローラを説明する斜視図である。
【図11B】本発明の実施の形態に係る記載したシステムにおいてオプションとして使用されるコントローラを説明する斜視図である。
【図12】本発明の一実施形態にしたがう様々な制御入力を混合するためのシステムのブロック図である。
【図13A】本発明の一実施形態によるシステムのブロック図である。
【図13B】本発明の一実施形態による方法のフロー図である。
【図13C】本発明の一実施形態による方法のフロー図である。
【図14】本発明の実施の形態にしたがってオブジェクトから入力データを取得する際に使用する方法を説明するフロー図である。
【図15】本発明の実施の形態に係る図14に示すステップのいくつかを説明するブロック図である。
【図16】本発明の実施の形態に係る一組の回転した参照画像を説明するブロック図である。
【発明を実施するための形態】
【0011】
テレビゲームのユーザまたはプレーヤは、一般的に、コントローラ上に配置されたボタン、ジョイスティック等を操作するために、一方の手または両手でゲームコントローラを保持する。ゲームをしている間、ユーザはボタン、ジョイスティック等を操作するとき同時に、コントローラそのものも空中で動かすことが多い。ゲーム中に興奮し、コントローラそのものを空中で動かすことによってゲームの動作または状況を制御しようと試みる傾向のあるユーザもいる。
【0012】
本明細書に記載される方法、装置、方式およびシステムの様々な実施形態は、ユーザによるコントローラ本体そのものの動き、動作および/または操作の検出、捕獲および追跡を提供する。ユーザによるコントローラ本体全体の検出された動き、動作および/または操作は、プレイ中のゲームまたは他のシミュレーションの様々な状況を制御するための追加のコマンドとして使用することができる。
【0013】
ゲームコントローラ本体のユーザによる操作の検出および追跡は、様々な方法で実施することができる。例えば、一部の実施形態では、コンピュータ・エンターテイメント・システムとともにカメラ周辺機器を使用して、手持ちコントローラ本体の動きを感知してその動きをゲーム内でのアクションに変換することができる。カメラを用いて、コントローラの多くの異なる種類の動きを検出することができる。例えば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。
【0014】
ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。
【0015】
図1Aを参照すると、本発明の一実施形態により作動するシステム100が示されている。図示するように、コンピュータ・エンターテイメント・システムまたはコンソール102は、テレビゲームまたは他のシミュレーションの画像を表示するためにテレビまたは他のビデオディスプレイ104を用いる。ゲームまたは他のシミュレーションは、DVD、CD、フラッシュメモリ、USBメモリ、またはコンソール102に挿入される他のメモリ媒体106に保存されてもよい。ユーザまたはプレーヤ108は、ゲームコントローラ110を操作してテレビゲームまたは他のシミュレーションを制御する。
【0016】
コントローラ110がカメラの視野114の中に収まるように、カメラまたは他のビデオ画像取得装置112が配置される。図示するように、カメラ112はビデオディスプレイ104の上に置かれてもよいが、カメラをどこに配置してもよいことは十分理解されなければならない。一例として、カメラ112は、市販のEyeToy(登録商標)製品のようなカメラ周辺装置であってもよい。しかし、いかなる種類またはブランドのカメラでも使用可能であることを十分理解しなければならない。例えば、ウェブカメラ、アドオンのUSBカメラ、赤外線(IR)カメラ、高フレームキャプチャレートのカメラなどである。
【0017】
ある実施の形態では、カメラまたは他の画像取得装置112は、以下に述べるイメージキャプチャユニットと同様、Zカメラまたは深さカメラを含んでもよい。Zカメラまたは深さカメラは、たとえば、各ピクセルの深さを提供または測定し、カメラからピクセルまでの距離を決定する。ここに記載するカメラまたは他の画像取得装置112はいずれも、ある実施の形態では、任意のタイプの3次元カメラを含んでもよい。
【0018】
作動中、ユーザ108はコントローラ110そのものを物理的に動かす。すなわち、ユーザ108は空中でコントローラ110の全体を物理的に動かす。例えば、コントローラ110をユーザ108により任意の方向、つまり上下、左右、ねじり、回転、揺さぶり、急な動き、落ち込みのように動かすことができる。コントローラ110自体のこれらの動きは、以下に記す方法で画像解析による追跡によってカメラ112により検知および取得することができる。
【0019】
一般に、検知され取得されたコントローラ110の動きを使用して、コントローラ110の位置データと方向データを生成することができる。画像フレーム毎にこのデータが収集されるので、データを用いてコントローラ110の動きの多くの物理的状況を計算することができる。例えば、任意の軸に沿ったコントローラの加速度および速度、その傾き、ピッチ、ヨー、ロール、およびコントローラ110の任意の遠隔測定点などである。
【0020】
コントローラ110の動きを検出し追跡する能力により、コントローラ110の予め定義された動きが実行されるか否かを判定することが可能になる。すなわち、コントローラ110の特定の動きパターンまたはジェスチャを、ゲームまたは他のシミュレーションのための入力コマンドとして予め定義し用いることができる。例えば、コントローラ110を落下させるジェスチャを一つのコマンドとして定義することができ、コントローラ110をひねるジェスチャを別のコマンドとして定義することができ、コントローラ110を揺さぶるジェスチャを別のコマンドとして定義することができるなどである。このように、ユーザ108がコントローラ110自体を物理的に動かす態様を、ゲームを制御するためのもう一つの入力として使用する。これにより、より刺激的で面白い体験をユーザに提供する。コントローラ110の動きをゲームの入力コマンドに割り当てる方法が以下で説明される。
【0021】
図1Bを参照すると、本発明の実施形態にしたがって作成されるコントローラ110のより詳細な図が示されている。コントローラ110は本体111を含む。本体111は、人が手で保持する(または、ウェアラブル・ゲームコントローラである場合は着用する)ゲームコントローラ110の一部である。ユーザにより操作可能である入力装置は、例えば、コントローラ上のボタンまたは多軸操作スティックなどである。一つ以上のボタンが本体111に配置されていてもよい。本体は手で保持できるハウジングを含んでもよい。ハウジングは手で把持可能なグリップを含んでもよい。したがって、ユーザ108がコントローラ110そのものを物理的に動かすとき、動作の間、ユーザ108はコントローラ110の本体111を物理的に動かす。ユーザは空中ですなわち自由空間で本体111を動かす。
【0022】
ゲームコントローラにより制御されるゲームの進行がスクリーン上に表示されるとき、本体111はスクリーンの方向を向いた前部を有していてもよい。少なくとも1台の入力装置が、ユーザからの入力を登録するためにユーザにより操作可能である入力装置とともに、本体111に組み付けられていてもよい。
【0023】
一つまたは複数の発光ダイオード(LED)が、幾何学的形状で構成された本体の上に配置されていてもよい。または、別の種類の光検出可能な(PD)要素が本体111と組み付けられていてもよい。前部が少なくともスクリーンの方向を向いているときに、光検出可能な要素の位置が、画像取得装置によって記録中の画像の範囲内にあってもよい。空間内での本体111の動きを定量化することで、異なる時点におけるPD要素の位置を定量化することができる。
【0024】
この実施形態では、コントローラ110は4つの発光ダイオード(LED)122、124、126、128を含む。図示するように、4つのLED122、124、126、128は実質的に正方形または長方形のパターンで配置されてもよく、RlボタンとLlボタンの間のコントローラ110のブリッジ部に配置されてもよい。したがって、本実施形態では、幾何学的形状は実質的に正方形か長方形のパターンである。4つのLED122、124、126、128で作られる正方形または長方形のパターンは、本明細書ではLEDにより形成される「バウンディング・ボックス(bounding box)」と呼ぶ。
【0025】
幾何学的形状が多くの異なる形状であってもよいことは、十分理解されなければならない。例えば、幾何学的形状は線形パターンでも二次元パターンであってもよい。LEDを線形配置するのが好ましいが、代替的に、LEDを長方形パターンまたは円弧パターンで配置して、画像取得カメラにより取得されるLEDパターンの画像を解析するときの、LED配列の画像平面の決定を容易にすることができる。
【0026】
コントローラの図示した実施形態は4つのLEDを利用するが、他の実施形態が5つ以上または4つ未満のLEDを利用してもよいことは十分理解されなければならない。例えば、3つのLEDでも機能するし、二つのLEDでも追跡情報を提供するように機能する。1つのLEDであっても、位置情報を提供することができる。さらに、LEDはコントローラ110の異なる部分に置かれてもよい。
【0027】
LEDはコントローラ110上に、クラスタ、直線、三角形、その他の構成を含むいろいろな方法で配置される。一つのLEDを使ってもよく、複数のLEDを使ってもよい。複数のLEDの場合、ある構成では、LEDを横切って形成される平面は、コントローラの方向に関して傾いていることがある。コントローラの現実の方向は、コントローラの方向を決定するために画像平面において受信されるデータの変換を行うことによって決定されてもよい。それに加えて、あるいは、その代わりに、LEDは着脱可能、取り付け可能、および/または取り外し可能であってもよい。たとえば、LEDは、本体111から取り外し可能なプレートまたは分離ケース上に含まれてもよい。
【0028】
図1Cを参照して、本発明の実施の形態にしたがって作られるコントローラ110の外観を説明する。コントローラ110は本体111とLED122、124、126、128のクラスタまたは配列を含む。図示するように、4つのLED122、124、126、128は、実質的に直線パターンに配列され、R1ボタンとL1ボタンの間にあるコントローラ110のブリッジ上に設置される。このように、この実施の形態では、幾何学形状は実質的に直線のパターンを含む。さらに、ある実施の形態では、1以上のLEDを赤外線LEDによって実装することができる。たとえば、赤外線LEDは可視光LEDとペアにすることもできる。可視光LEDは、たとえば、プレイヤIDを示す。ある実装では、LEDは、可視光LEDと赤外線LEDの両方の伝送を可能にする小さなウインドウを通して覗くことができるように、赤外線LEDとともに表面実装してもよい。
【0029】
図1Dを参照して、本発明の実施の形態にしたがって作られるコントローラ110の外観を説明する。コントローラ110は、本体111と、通信インタフェースおよび/またはポート132とを含む。ある実施の形態では、このインタフェースによって、コントローラがトラッキングデバイスおよび/またはコンソール102と直接結合することが可能になる。トラッキングデバイスは少なくとも一部分においては、光学、音声および/または慣性によって、コントローラ110の動きの検出が可能である。インタフェース132は実質的に任意の適当なコミュニケーションインタフェースであればよく、たとえば、USB(universal serial bus)インタフェース、UART(universal asynchronous receiver transmitter)および/または他の適当なインタフェースであってもよい。インタフェース132は、コントローラ110上の実質的に任意の位置に配置することができる。例示するように、インタフェース132は、R1ボタンとL1ボタンの間にあるコントローラ110のブリッジ上に設置されてもよい。
【0030】
図1Eを参照して、本発明のある実施の形態にしたがって作られるコントローラ110の斜視図を説明する。コントローラは、本体111、R1ボタンとL1ボタン、1以上のLED122、124、126および128、インタフェース132(たとえば、USBインタフェース)、他の適当なボタン、インジケータなどを含む。LED122、124、126および128は、直線パターンで示されるが、上述のように、また、以下述べるように他のパターンを採用してもよい。ある実装ではさらに、LEDおよび/またはインタフェース132は、着脱可能、取り付け可能および/または取り外し可能であってもよい。
【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】
上述のように、ある実施の形態において、オプションのイメージキャプチャユニット423は、ここで述べた任意のカメラと同様、発光素子を検出することのできる任意のタイプのカメラまたはセンサを含んでもよい。たとえば、ある実施の形態において、オプションのイメージキャプチャユニット423は、Zカメラ、深さカメラまたは任意のタイプの3次元カメラを含んでもよい。Zカメラまたは深さカメラは、たとえば、各ピクセルの深さを提供または測定し、カメラからピクセルまでの距離を決定する。
【0071】
本明細書においては、I/Oという用語は、一般にシステム400と周辺装置との間でデータをやりとりする任意のプログラム、操作または装置のことを指す。あらゆるデータ転送は、一つの装置からの出力および別の装置への入力とみなすことができる。周辺装置には、キーボードやマウスなどの入力専用装置、プリンタなどの出力専用の装置の他、入出力装置として機能する書き込み可能なCD−ROM等の装置も含まれる。「周辺装置」という用語には、マウス、キーボード、プリンタ、モニター、マイク、ゲームコントローラ、カメラ、外部Zipドライブまたはスキャナ等の外部装置の他、CD−ROMドライブ、CD−Rドライブまたは内蔵モデムなどの内部装置、またはフラッシュメモリ・リーダ/ライタ、ハードディスクなどの他の周辺機器も含まれる。
【0072】
本発明の特定の実施形態では、装置400はテレビゲームユニットであってもよく、ワイヤ(例えば、USBケーブル)または無線によってI/O機能411を介してプロセッサに接続されたジョイスティック・コントローラ430を備えてもよい。ジョイスティック・コントローラ430は、テレビゲームのプレイ中に一般に用いられる制御信号を提供するアナログジョイスティックコントロール431と従来のボタン433とを備えていてもよい。そのようなテレビゲームは、メモリ402に記憶可能なプロセッサ可読のデータおよび/または命令として実装されてもよいし、あるいは、大容量記憶装置415と関連するような他のプロセッサ可読媒体として実装されてもよい。
【0073】
ジョイスティックコントロール431は、コントロールスティックを左右に動かすとX軸に沿った運動の信号を送り、スティックを前後(上下)に動かすとY軸に沿った運動の信号を送るように通常構成されている。三次元動作用に構成された構成されるジョイスティックでは、スティックを左方向(反時計回り)または右方向(時計回り)にひねるとZ軸に沿った運動の信号を送る。これら3軸X、Y、Zは、特に航空機に関してそれぞれロール、ピッチ、ヨーと呼ばれることが多い。
【0074】
従来の特徴に加えて、ジョイスティック・コントローラ430は一つ以上の慣性センサ432を備えていてもよい。慣性センサは、慣性信号を介してプロセッサ401に位置情報および/または方向情報を提供することができる。方向情報は、ジョイスティック・コントローラ430の傾き、ロールまたはヨーなどの角度情報を含んでもよい。一例として、慣性センサ432は、任意の数の加速度計、ジャイロスコープ、傾きセンサであってもよいし、および/またはこれらの組み合わせであってもよい。好ましい実施形態では、慣性センサ432は、傾き軸とロール軸に関してジョイスティック・コントローラの方向を感知するようにされた傾きセンサと、ヨー軸に沿って加速度を感知する第1加速度計と、ヨー軸に対する角加速度を感知する第2加速度計とを備えていてもよい。加速度計は、一つ以上の方向に対する質量の変位を感知するセンサを持ち一つ以上のバネにより取り付けられた質量を備えるMEMS装置であってもよい。質量の変位に応じたセンサからの信号を用いて、ジョイスティック・コントローラ430の加速度を決定することができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404により実装される。
【0075】
一例として、慣性センサ432として適した加速度計は、例えばバネによって3点または4点でフレームに弾性結合された単一の質量であってもよい。ピッチ軸とロール軸はフレームを横切る平面内にあり、フレームはジョイスティック・コントローラ430に取り付けられる。フレーム(およびジョイスティック・コントローラ430)がピッチ軸とロール軸のまわりを回転すると、重力の影響により質量が変位し、ピッチおよび/またはロールの角度に応じてバネが伸縮する。質量の変位が感知され、ピッチおよび/またはロールの量に応じて信号に変換される。ヨー軸周りの角加速度またはヨー軸に沿った直線加速度は、感知可能であり角加速度または線形加速度の量に応じて信号に変換されるバネ伸縮または質量の動きの特徴的なパターンを生成する。そのような加速度計装置は、質量の動きあるいはバネの伸縮力を追跡することで、傾き、ロール、ヨー軸周りの角加速度およびヨー軸周りの線形加速度を測定することができる。質量の位置および/または質量にかかる力を追跡する多くの異なる方法があり、これには、抵抗歪みゲージ材料、フォトニック・センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどが含まれる。
【0076】
さらに、ジョイスティック・コントローラ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の画像を取得することが可能になる。
【0077】
加えて、光源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によって実装することができる。
【0078】
プロセッサ401は、画像取得装置423により検出された光源434からの光学信号、および/またはマイク配列422により検出された音響信号から得られた音源位置と特徴の情報とともに、慣性センサ432からの慣性信号を使用して、ジョイスティックコントローラ430および/またはそのユーザの位置および/または方向を推測することができる。例えば、「音響レーダ」の音源位置および特徴をマイク配列422とともに使用して、ジョイスティックコントローラの動きが(慣性センサ432または光源434により)独立して追跡されている間に移動する音声を追跡することができる。制御信号をプロセッサ401に提供する任意の数、異なる組み合わせの異なるモードを、本発明の実施形態とともに使用することができる。そのような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。
【0079】
慣性センサ432からの信号が追跡情報入力の一部を与え、一つ以上の光源434の追跡により画像取得装置423から生成される信号が、追跡情報入力の別の部分を与えてもよい。一例として、クウォーターバックが頭を左方向にフェイクで動かした後にボールを右方向に投じるフットボールのテレビゲームでそのような「混在モード」信号を用いることができるが、これに限定されない。具体的には、コントローラ430を保持するゲームプレーヤが頭を左に回転させて音を出す一方、コントローラをフットボールであるかのように右方向に振るピッチ動作をすることができる。「音響レーダ」プログラム・コードと連携したマイク配列422は、ユーザの声を追うことができる。画像取得装置423は、ユーザの頭の動きを追跡するか、または音声やコントローラの使用を必要としない他のコマンドを追跡することができる。センサ432は、ジョイスティック・コントローラ(フットボールを表す)の動きを追跡することができる。画像取得装置423は、コントローラ430上の光源434を追跡してもよい。ユーザは、ジョイスティックコントローラ430の加速度の量および/または方向が特定値に達することで、またはジョイスティックコントローラ430のボタンを押すことで起動されるキーコマンドにより、「ボール」を離すことができる。
【0080】
本発明の特定の実施形態では、例えば加速度計またはジャイロスコープからの慣性信号を使用して、ジョイスティック・コントローラ430の位置を決定することができる。具体的には、加速度計からの加速信号を一旦時間積分して速度変化を求め、速度を時間積分して位置変化を求めることができる。ある時間での初期位置と速度の値が分かっている場合、これらの値と速度変化および位置変化を用いて絶対位置を求めることができる。慣性センサを用いると、画像取得装置423と光源434をと用いるよりも早く位置決定することができるが、慣性センサ432は「ドリフト」として知られるタイプの誤差の影響を受けることがある。つまり、時間につれて誤差が蓄積して、慣性信号から計算されるジョイスティック430の位置(点線で示す)と、ジョイスティックコントローラ430の実際の位置との間に不一致Dが生じることがある。本発明の実施形態により、そのような誤差に対処するいくつかの方法が可能になる。
【0081】
例えば、ジョイスティックコントローラ430の初期位置を、現在の計算された位置と等しくなるように再設定することで、ドリフトをマニュアルでキャンセルすることができる。ユーザは初期位置を再設定するコマンドを起動するためにジョイスティックコントローラ430の一つ以上のボタンを用いることができる。代わりに、画像取得装置423から得られる画像から求められる位置を参照として現在位置を再設定することで、画像ベースのドリフトを実施することができる。このような画像ベースのドリフト補正は、例えばユーザがジョイスティック・コントローラ430の一つ以上のボタンを起動するときにマニュアルで実施することができる。代わりに、例えば一定の時間間隔でまたはゲームプレイに応じて、画像ベースのドリフト補正を自動的に実施することもできる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装可能である。
【0082】
特定の実施形態では、慣性センサ信号内の偽(スプリアス)データを補償することが望ましい。例えば、慣性センサ432からの信号をオーバーサンプリングし、オーバーサンプリングした信号から移動平均を計算して、慣性センサ信号からスプリアスデータを除去してもよい。ある状況では、信号をオーバーサンプリングし、データポイントの一部のサブセットから高値および/または低値を取り除き、残りのデータポイントから移動平均を計算してもよい。さらに、他のデータサンプリング技術およびデータ操作技術を使用して、慣性センサの信号を調節しスプリアスデータの有意性を除去または低減することができる。信号の性質、信号に対して実行される計算、ゲームプレイの性質、またはこれらのうちの二つ以上の組み合わせによって技術を選択することができる。このような技術は、メモリ402に保存されプロセッサ401で実行可能なプログラムコード命令404によって実装することができる。
【0083】
プロセッサ401は、メモリ402で保存、読み出しされプロセッサモジュール401で実行されるデータ406とプログラム404のプログラムコード命令とに応じて、信号データ406似たいしデジタル信号処理を実行することができる。プログラム404のコード部分は、アセンブリ、C++、JAVA(登録商標)またはいくつかの他の言語などの複数の異なるプログラム言語のうちのいずれか一つに準拠していてもよい。プロセッサ・モジュール401は、プログラムコード404のようなプログラムを実行するとき特定目的のコンピュータになる汎用コンピュータを形成する。プログラム・コード404がソフトウェアで実装され汎用コンピュータ上で実行されると本明細書で述べられているが、当業者であれば、特定用途向け集積回路(ASIC)または他のハードウェア回路等のハードウェアを使用してもタスク管理方法を実装できることを理解するだろう。このように、本発明の実施形態の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることを理解すべきである。
【0084】
一実施形態では、プログラムコード404は、本明細書に記載された任意の一つ以上の方法および技術、またはこのような方法および技術の二つ以上の組み合わせを実施する一組のプロセッサ可読命令を含むことができる。例えば、本明細書に記載された画像解析器を実装するようにプログラムコード404を構成することができる。または代わりに、本明細書に記載された画像解析器をハードウェアで実装してもよい。
【0085】
図示した実施形態では、上述の画像解析器機能は画像解析器450として例示されている。画像解析器450は、例えば画像取得装置423またはカメラ112(図1A)等のカメラから入力を受け取ることができる。したがって、ビデオカメラ112または画像取得装置423の出力を画像解析器450の入力に結合してもよい。画像解析器450の出力を装置400のシステムに提供してもよい。このように、コマンド自体、またはコマンドあるいはジェスチャが認識されたかどうかを見るために必要な情報が、装置400に提供される。画像解析器450は、多くの異なる方法で装置400の残りの部分に結合することができる。すなわち、図示の接続方法は一例に過ぎない。別の例では、画像解析器450をシステムバス420に結合してもよく、これにより、画像取得装置423から入力データを受け取り、出力を装置400に提供することができる。
【0086】
画像解析器450を装置400、エンターテイメント・システムまたはコンソール102に選択的に含めてもよいし、または画像解析器450をこれらの装置およびシステムから離して配置してもよい。画像解析器450の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることは十分理解されなければならない。画像解析器450がソフトウェアで実装されるシナリオでは、ブロック450は画像解析機能がソフトウェアで実装されることを表す。
【0087】
プログラムコード404は、通常、一つ以上のプロセッサに対し実行時に予め調整されたリスニングゾーンを選択し、予め調整されたリスニングゾーンの外側の音源から生じる音を除去するように指示する一つ以上の命令を含むことができる。予め調整されたリスニングゾーンは、画像取得装置423の焦点の大きさまたは視野と一致するリスニングゾーンを含んでもよい。
【0088】
プログラム・コードは、実行時に装置400に音源を含む予め調整されたリスニングセクタを選択させる一つ以上の命令を含んでいてもよい。この指示により、音源が初期セクタの内部または初期セクタの特定の側のいずれにあるかを装置に判定させることができる。音源がデフォルトのセクタ内に存在しない場合、実行時、命令はデフォルトセクタの特定の側の異なるセクタを選択する。異なるセクタは、最適値に最も近い入力信号の減衰によって特徴づけることができる。これらの命令は、実行時に、マイク配列422からの入力信号の減衰と、最適値への減衰を計算することができる。実行時に、命令によって、一つ以上のセクタへの入力信号の減衰値を求め、減衰が最適値に最も近いセクタを装置に選択させることができる。
【0089】
プログラム・コード404は、一つ以上のプロセッサに対し、マイクM0...MMからの離散時間領域入力信号xm(t)を生成するように指示し、セミブラインド音源分離でリスニングセクタを使用して有限インパルス応答フィルタ係数を選択して入力信号xm(t)からの異なる音源を分離させる、一つ以上の命令を選択的に含んでもよい。プログラム404は、参照マイクM0からの入力信号x0(t)以外の選択された入力信号xm(t)に対し一つ以上の非整数遅延を適用する命令を含んでもよい。非整数遅延のそれぞれを選択して、マイク配列から得られる離散時間領域出力信号y(t)の信号対雑音比を最適化することができる。参照マイクM0からの信号が配列の他のマイクからの信号に対して時間的に最初になるように非整数遅延を選択してもよい。プログラム404は、非整数時間遅延Δをマイク配列の出力信号y(t)に導入する命令を含んでもよい。
すなわち、y(t+Δ)=x(t+Δ)*b0+x(t−l+Δ)*b1+x(t−2+Δ)*b2+...+x(t−N+Δ)bN、ここで、Δは0と1の間である。
【0090】
プログラム・コード404は、実行時に、画像取得装置423の前方の視野を監視させ、視野内の一つ以上の光源434を特定させ、光源434から発せられた光の変化を画像取得装置423に検出させる一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。そして、変化の検出に応じて、プロセッサ401に入力コマンドがトリガされる。画像取得装置と連携したLEDの使用によりゲームコントローラにアクションを引き起こすことは、2004年1月16日に出願された共有の米国特許出願第10/759,782号、Richard L. Marksらの「METHOD AND APPARATUS FOR LIGHT INPUT DEVICE」に記載されており、その全体が参照により本明細書に援用される。
【0091】
プログラム・コード404は、実行時に、慣性センサからの信号と一つ以上の光源の追跡により画像取得装置から生成される信号とを上述のようにゲームシステムへの入力として使用する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。プログラム・コード404は、実行時に慣性センサ432のドリフトを補償する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。
【0092】
さらに、プログラム・コード404は、実行時にゲーム環境に対するコントローラ操作のギアリング(gearing)とマッピングを調整する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。このような特徴により、ユーザは、ゲーム状態に対するジョイスティック・コントローラ430の操作の「ギアリング」を変更することができる。例えば、ジョイスティック・コントローラ430の45度回転が、ゲームオブジェクトの45度回転に変換されてもよい。しかしながら、コントローラのX度回転(または傾き、ヨー、あるいは「操作」)がゲームオブジェクトのY度回転(または傾き、ヨー、あるいは「操作」)に変換されるように、この1:1のギア比を修正してもよい。ギアリングは1:1、1:2、1:X、またはX:Yの比率であってもよい。ここで、XとYは任意の値を取ることができる。さらに、ゲームコントロールへの入力チャネルのマッピングが、時間とともにまたは直ちに修正されてもよい。修正は、ジェスチャの軌道モデルの変更、ジェスチャの位置、大きさ、閾値を修正することなどを含む。操作のダイナミックレンジをユーザに与えるために、このようなマッピングがプログラムされていても、ランダムでも、階段状(tiered)でも、ずらされて(staggered)いてもよい。マッピング、ギアリングまたは比率の修正は、ゲームコントローラ430上のユーザ修正ボタン(キーパッド等)の使用により、または大まかに入力チャネルに応答して、ゲームプレイやゲーム状態にしたがってプログラムコード404により調節されてもよい。入力チャネルには、ユーザ音声の成分、コントローラにより発生する音、コントローラにより発生する追跡音、コントローラボタン状態、ビデオカメラ出力、加速度計データ、傾き、ヨー、ロール、位置、加速度を含むコントローラ遠隔測定データ、およびユーザまたはオブジェクトのユーザによる操作を追跡可能なセンサから得られる任意の他のデータを含むが、これらに限定されない。
【0093】
特定の実施形態では、プログラム・コード404は、予め定められた時間に依存する方法で、1つの方式または比率から別の方式へと時間とともにマッピングまたはギアリングを変更してもよい。ギアリングとマッピングの変更は、様々な方法でゲーム環境に適用することができる。一例では、キャラクタが健康なときにはあるギアリング方式でテレビゲームキャラクタを制御し、キャラクタの健康が悪化すると、システムがコントローラコマンドのギアを変更して、キャラクタへのジェスチャコマンドを与えるためのユーザのコントローラの動きを悪化させるようにしてもよい。例えばユーザが新しいマッピングの下でキャラクタの制御を回復するために入力の調整を要求されるとき、方向感覚を失ったテレビゲームキャラクタは、入力チャネルのマッピングの変更を強制されるようにしてもよい。ゲームコマンドに対する入力チャネルの変換を修正するマッピング方式がゲームプレイ中にも変化してもよい。この変換は、ゲーム状態に応じて、または入力チャネルの一つ以上の要素の下で発行される修正コマンドに応じて、様々な方法で発生する。ギアリングとマッピングは、入力チャネルの一つ以上の要素の設定および/または処理に影響を与えるように構成されてもよい。
【0094】
さらに、ジョイスティック・コントローラ430にスピーカ436が取り付けられてもよい。プログラムコード404がマイク配列422を用いて検出された音を定位して特徴づける「音響レーダ」実施形態では、スピーカ436は、マイク配列422により検出可能であり、ジョイスティックコントローラ430の位置を追跡するためにプログラムコード404により使用される音声信号を提供することができる。スピーカ436は、ジョイスティック・コントローラ430からプロセッサ401に対し追加の「入力チャネル」を提供するためにも使用することができる。スピーカ436からの音声信号を周期的にパルス化して、位置追跡のために音響レーダ用のビーコンを提供してもよい。音声信号(パルス状またはそれ以外)は聞き取り可能であっても超音波であってもよい。音響レーダはジョイスティック・コントローラ430のユーザ操作を追跡することができる。このような操作追跡は、ジョイスティック・コントローラ430の位置および方向(例えば、ピッチ、ロールまたはヨー角度)に関する情報を含んでもよい。パルスは、当業者であれば適用可能であるように、適切なデューティサイクルでトリガすることができる。パルスは、システムから調整される制御信号に基づいて開始されてもよい。装置400は、(プログラム・コード404によって)プロセッサ401に接続された二つ以上のジョイスティックコントローラ430の間での制御信号の発送を調整して、複数のコントローラが確実に追跡されるようにすることができる。
【0095】
一例として、本発明の実施形態を並列処理システム上で実施することができる。このような並列処理システムは、一般的に、別々のプロセッサを使用してプログラムの部分を並列に実行するように構成された二つ以上のプロセッサ要素を含む。一例として、限定ではなく、図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に示す構成の使用に限定されない。
【0096】
メインメモリ502は、一般に、汎用で不揮発性の記憶装置の場合と、システム構成、データ転送同期、メモリマップされたI/O、I/Oサブシステム等の機能のために用いられる特定目的のハードウェアレジスタまたはアレイの両方の場合を含む。本発明の実施形態では、信号処理プログラム503がメインメモリ502内に常駐してもよい。信号処理プログラム503がPPEの上で動作してもよい。プログラム503は、SPEおよび/またはPPE上で実行可能な複数の信号処理タスクに分割されてもよい。
【0097】
一例として、PPE504は、関連するキャッシュL1、L2を持つ64ビットパワーPCプロセッサユニット(PPU)であってもよい。PPE504は汎用処理ユニットであり、(例えばメモリ保護テーブルなどの)システム管理リソースにアクセス可能である。PPEによって見られるように、ハードウェア資源が明示的に実アドレス空間マッピングされていてもよい。したがって、PPEは、適当な実効アドレス値を使用して、これらの任意のリソースを直接アドレス指定することができる。PPE504の主要な機能は、セルプロセッサ500のSPE506のためのタスク管理とタスク割り当てである。
【0098】
一つのPPEのみがセル・ブロードバンド・エンジン・アーキテクチャ(CBEA)のようなセルプロセッサ実装として図5に示されているが、セルプロセッサ500は、二つ以上のPPEグループに組織された複数のPPEを有していてもよい。これらのPPEグループは、メインメモリ502へのアクセスを共有してもよい。さらに、セルプロセッサ500は、二つ以上のSPEグループを備えてもよい。SPEグループは、メインメモリ502へのアクセスを共有してもよい。このような構成は本発明の範囲内である。
【0099】
各SPE506は、相乗作用プロセッサユニット(SPU)と自身のローカル記憶領域LSとを備える。ローカル記憶領域LSは、それぞれが特定のSPUと関連づけられる一つ以上の別個のメモリ記憶領域を有していてもよい。各SPUは、自身の関連するローカル記憶領域内からの命令(データロード操作とデータ記憶操作を含む)のみを実行するように構成されていてもよい。このような構成では、ローカル記憶LSとシステム500内のいずれかの場所との間でのデータ転送は、(個々のSPEの)ローカル記憶領域を出入りするデータ転送をするダイレクトメモリアクセス(DMA)コマンドをメモリフローコントローラ(MFC)から発行することで実行できる。SPUは、いかなるシステム管理機能も実行しないという点で、PPE504よりも複雑さの少ない計算ユニットである。SPUは、一般に単一命令、複数データ(SIMD)能力を有し、割り当てられたタスクを実行するために、データを処理して任意の必要なデータ転送(PPEによりセットされた特性へのアクセスを受ける)を開始する。SPUの目的は、より高い計算単位密度を必要とし提供された命令セットを効果的に使用できるアプリケーションを実行可能とすることである。PPE504によって管理されるシステム内の相当数のSPEによって、広範囲にわたるアプリケーションについて費用効果の高い処理が可能になる。
【0100】
各SPE506は、メモリ保護とアクセス許可情報を保持し処理が可能である関連するメモリ管理ユニットを有する専用のメモリフローコントローラ(MFC)を備えることができる。MFCは、セルプロセッサの主記憶装置とSPEのローカル記憶装置との間のデータ転送、保護および同期の主要な方法を提供する。MFCコマンドは実行される転送を記述する。データを転送するためのコマンドは、MFCダイレクトメモリアクセス(DMA)コマンド(またはMFC DMAコマンド)と呼ばれることがある。
【0101】
各MFCは、同時に複数のDMA転送をサポートすることができ、また複数のMFCコマンドを維持かつ処理することができる。各MFC DMAデータ転送コマンドは、ローカル記憶装置のアドレス(LSA)と実効アドレス(EA)の両方を必要とすることがある。ローカル記憶装置アドレスは、その関連するSPEのローカル記憶領域のみを直接アドレス指定してもよい。実効アドレスにはより一般的なアプリケーションがあることがある。例えば、実効アドレスが実アドレス空間内にエイリアスされる場合、全てのSPEローカル記憶領域を含む主記憶装置を参照することができる。
【0102】
SPE506の間の通信および/またはSPE506とPPE504の間の通信を容易にするために、SPE506とPPE504は、イベントを合図する信号通知レジスタを含んでもよい。PPE504とSPE506は、PPE504がメッセージをSPE506に発信するルータの働きをするスター・トポロジによって結合されてもよい。代わりに、各SPE506とPPE504は、メールボックスと呼ばれる一方向の信号通知レジスタを有していてもよい。メールボックスはSPE506により使用され、オペレーティングシステム(OS)の同期をホストすることができる。
【0103】
セルプロセッサ500は、セルプロセッサ500がマイク配列512やオプションの画像取得装置513のような周辺装置と対話する入出力(I/O)機能508を備えていてもよい。さらに、要素相互接続バス510が上記の様々な構成要素を接続してもよい。各SPEとPPEは、バスインタフェースユニットBIUを通してバス510にアクセスすることができる。セルプロセッサ500は、プロセッサ内に通常見つかる二つのコントローラを備えてもよい。すなわち、バス510とメインメモリ502の間でのデータの流れを制御するメモリインタフェースコントローラMICと、I/O508とバス510の間でのデータの流れを制御するバスインタフェースコントローラBICである。MIC、BIC、BIUおよびバス510の要件は様々な実装に対して大きく異なることがあるが、当業者であれば、これらを実装するための機能および回路に精通しているであろう。
【0104】
セルプロセッサ500は、内部割り込みコントローラIICを備えてもよい。IIC構成要素は、PPEに提示される割り込みの優先度を管理する。IICは、他の構成要素からの割り込みを、セルプロセッサ500がメインシステムの割り込みコントローラを用いることなく処理することを可能にする。IICは、第2のレベルコントローラとみなしてもよい。メインシステムの割り込みコントローラは、セルプロセッサ外部から生じる割り込みを処理してもよい。
【0105】
本発明の実施形態では、非整数遅延などの特定の計算を、PPE504および/または一つ以上のSPE506を用いて並列に実行することができる。各非整数遅延計算を、異なるSPE506が利用可能になるにつれて引き受けることができる一つ以上の別個のタスクとして実行することができる。
【0106】
ある実施の形態は、ユーザによってプレイされる対話型ゲームが可能になるように、プロセッサによるゲームプログラムの実行を制御するための情報を取得する際に使用する追跡装置を提供する。追跡装置は、本体と少なくとも1つのPD素子を含む。本体は、ゲーム装置の実行を介して提供されるゲームの進行がスクリーンに表示される際にスクリーンの方を向く部分をさらに含むことができる。また、少なくとも1つのPD素子は当該本体に組み込むことができる。当該部分が少なくとも部分的にスクリーンの方向を向いているときに、画像内のPD素子の位置が画像取得装置によって記録可能である。操作中に時間的に異なる位置にあるPD素子の位置を定量化可能であり、空間における本体の動きを定量化することができる。
【0107】
さらに、当該本体はゲームコントローラに搭載することができる。ゲームコントローラはゲームコントローラ本体と、ゲームコントローラ本体に取り付けられた少なくとも1つの入力デバイスを備える。入力デバイスはユーザによる操作が可能であり、ユーザからの入力を登録することができる。ある例では、当該装置はトラッキングデバイスとゲームコントローラの両方を含む。
【0108】
ある実施の形態では、PD素子は逆反射器を含んでもよい。さらにあるいはその代わりに、PD素子の色は、PD素子に隣接する本体の一部の色に対して高コントラストであってもよい。さらに、少なくとも一つのPD素子の各々は、少なくとも二つの異なるテクスチャを含むパターンをもっていもよい。たとえば、それらのテクスチャは、少なくとも一つの輝度、色、粗さ、および/または他の何らかの質感において異なるものであってもよい。ある実施の形態では、PD素子は光源を含み、ある実装では、光源は少なくとも一つのLEDを含むことがある。
【0109】
さらに、ある実施の形態は、2、3、4、あるいはそれ以上のPD素子を含む。これらの複数のPD素子は1または2以上の構成で位置づけることができる。たとえば、2つのPD素子をもつ実装では、PD素子は直線をなすように位置づけられ、3つのPD素子をもつ実装では、素子は三角形をなすように位置づけられる。4つのPD素子をもつ他の実装では、素子は4本の線をなすように配置したり、位置づけたりすることができる。4本の線は、たとえば、長方形または他の適当な構造を定義することができる。
【0110】
PD素子は光源を含み、少なくとも一つの光源は、その少なくとも一つの光源によって出力される光に関する特徴によって、他の光源と区別可能であってもよい。その少なくとも一つの光源は、たとえば、ストロボ周期、オンオフデューティサイクル、オンオフサイクル内のオン期間のタイミング、光源の出力のスペクトル成分、他の適当な区別する手段の少なくとも一つまたはその組み合わせによって、他の光源と区別可能であってもよい。ある実施の形態では、トラッキングデバイスの本体はユーザの身体に取り付け可能である。
【0111】
ある実施の形態に係るトラッキングデバイスはさらに通信インタフェースを含み、プロセッサ、ゲームコントローラ、またはその両方とデジタル通信をすることができる。通信インタフェースは実質的に任意のインタフェースであればよく、UART(universal asynchronous receiver transmitter)、USB(universal serial bus )、および/または他のインタフェース、あるいはその組み合わせであってもよい。典型的には、インタフェースは、トラッキングデバイスの操作を制御するための制御信号を受信する機能、別のデバイスと通信するためにトラッキングデバイスからの信号を送信する機能、および/または他のそのような通信機能のすくなくとも一つを実行する機能を有する。
【0112】
ある実施の形態は、ゲームプログラムを実行し、スクリーンにゲームの進行を表示し、ユーザが対話的にゲームをプレイできるようにする機能を有するプロセッサをさらに含む。1以上のPD素子の位置は、スクリーンの近くなどに設置された画像取得装置によって記録可能であり、プロセッサは、画像取得装置によって出力される情報を用いて画像内のPD素子の位置を検出するように構成することができる。さらにあるいはその代わりに、プロセッサは、画像取得装置によって出力される情報からゲームプログラムの実行を制御するためのユーザ入力情報を検出する機能、画像取得装置によって出力される情報から時間的に異なる位置における当該本体の空間的加速度を表すサンプル列を取得する機能、および/または、そのサンプル列を用いて、たとえば、ある時間間隔にわたってサンプル列から取得される加速度値を統合することによって、当該本体の速度を決定する機能を有してもよい。
【0113】
プロセッサは、ある場合には、ある時間間隔にわたってサンプル列から取得された加速度を統合し、次にその統合結果をさらに統合することによって、当該本体の空間的な変位を決定することができる。さらにあるいはその代わりに、プロセッサは、前に決定された位置に関する変位を決定することによって、当該本体の空間的な位置を決定することができる。
【0114】
トラッキングデバイスが少なくとも2つのPD素子を含む例では、プロセッサは、画像取得装置によって出力される情報を用いて、少なくとも二つの空間的な自由度において当該本体の加速度を表すサンプル列を取得することができる。トラッキングデバイスが少なくとも3つのPD素子を含むとき、プロセッサは、画像取得装置によって出力される情報を用いて、少なくとも3つの自由度で当該本体の加速度を表すサンプル列を取得することができる。3つの自由度はたとえば、3つの直交する軸であるx、y、z軸および/またはピッチ、ヨー、ロール軸に沿った運動を含む。ある実施の形態では、プロセッサは、たとえば、3つの自由度とピッチ、ヨー、ロールを含む6つの自由度で動きを定量化することができる。
【0115】
さらにある実施の形態はコントローラを含む。コントローラは、本体、本体上に配置された1以上のボタン、および配列状に本体上に配置された1以上の検出可能な素子を含む。さらにある実装では、その配列は直線状の配列である。
【0116】
上述のように、コンピュータエンタテインメントシステムは典型的には携帯型コンピュータ、ゲームコントローラ、または他のコントローラを含む。ユーザすなわちプレイヤはコントローラを用いてコマンドやその他の命令をエンタテインメントシステムに送り、プレイ中のビデオゲームまたは他のシミュレーションを制御する。テレビジョン、ステレオ、他のエンタテインメントシステム、および電気器具もまた携帯型コントローラを含む。
【0117】
ここに述べる方法、装置、機構およびシステムのいろいろな実施の形態は、携帯型コントローラの3次元的な動きをディスプレイスクリーンの2次元画像平面にマッピングするために提供される。これにより、ユーザによるコントローラ本体全体の3次元的な動きを用いて、ディスプレイスクリーンの2次元画像平面上で操作がなされるシステムの状況を制御することができるようになる。
【0118】
たとえば、図6A、6B、6Cは、本発明の実施の形態にしたがって動作するシステムを説明する。この実施の形態では、携帯型コントローラの3次元的な動きを用いてマウスのような機能を実現し、スクリーン上のポインタを操作することができる。たとえば、図6Aはプレイヤの手604に持ったコントローラ602を示す。コントローラ602を上に動かす運動606により、ディスプレイのスクリーン608上でカーソルがある位置610から別の位置612まで上に移動する。図6Bにおいて、コントローラ602を下に動かす運動620により、ディスプレイのスクリーン608上でカーソルがある位置622から別の位置624まで下に移動する。図6Cにおいて、コントローラ602を横に動かす運動630により、ディスプレイのスクリーン608上でカーソルがある位置632から別の位置634まで横に移動する。以下述べるように、他の実施の形態では、携帯型コントローラの3次元運動を、たとえば、スクリーン上で照準線またはそれに類するものを操作するというような他の機能に使うこともできる。
【0119】
図7を参照して、本発明の実施の形態にしたがって動作する方法700を説明する。方法700はステップ702で始まり、システムの携帯型コントローラの3次元運動が追跡される。そのような追跡は多くの異なる方法でなされる。たとえば、そのような追跡は、慣性、ビデオ、音響、または赤外線の分析を通して、ここで上述する方法や他の方法で実行される。
【0120】
ビデオトラッキングの例では、たとえば、カメラ周辺機器をコンピュータエンタテインメントシステムとともに用いて、携帯型コントローラ本体の動きを検出し、それをゲームのアクションに送ることができる。カメラは、コントローラの多くの異なるタイプの動きを検出するために使うことができる。たとえば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。ここでも、追跡は、慣性、音響、または赤外線の分析を通して行われる。たとえば、赤外線分析を用いる実施の形態では、赤外線分析器と赤外線の直線配列を用いて、センサの出力を見ることでユーザの位置とコントローラの姿勢を決定する。
【0121】
ステップ704において、携帯型コントローラの追跡された3次元運動をシステムのディスプレイスクリーンの2次元画像平面に写像する。すなわち、コントローラ本体自身の3次元的な動きを、スクリーン上の2次元画像平面に投影する。このようにして、コントローラの3次元的な動きは、スクリーンの2次元画像平面のX−Y座標に変換される。
【0122】
ステップ706において、携帯型コントローラの追跡された3次元運動の写像にもとづいてスクリーンの2次元画像平面に1以上の画像を表示する。画像には多くの異なるタイプのものが含まれる。たとえば、図6A、6B、6Cに示すように、画像には、スクリーン上に表示されるアイテムを選択する際に利用するポインタが含まれる。その例では、コントローラ602全体はマウスのようなデバイスとなり、マウスのように使ってメニュー、リンクなどのスクリーン上のアイテムを制御したり、選択することができる。
【0123】
コントローラのいろいろな異なるタイプの動きによって、スクリーン上に表示された画像のいろいろな異なる動きを構成することができる。たとえば、ユーザはコントローラを持ち上げたり、手首をねじったりして、画像を動かすことができる。あるいは、別の例では、ユーザはコントローラの位置を押し下げ、コントローラの首を下に向けることで、カーソルがさらに下に下がるようにすることもできる。また、別の例では、ユーザはコントローラの位置とともに左に動いたとしても、姿勢を左にねじることにより、カーソルを左に動かすことができる。また、別の例では、ユーザはコントローラの位置とともに右に動いても、姿勢を右にねじることにより、カーソルを右に動かすことができる。ここでも、これらは例に過ぎず、多くの他のタイプの動きを構成することができる。
【0124】
図8を参照して、本発明の実施の形態にしたがって動作する別のシステムを説明する。この実施の形態では、1以上の画像には、射撃ゲームなどのために一組の照準線が含まれる。たとえば、図8において、ユーザすなわちプレイヤは、ゲームを通してカメラをパンしたり動かしたりしながら、スクリーン802に表示される3次元空間を歩いてもよい。ユーザの銃あるいはそれに類するものの一組の照準線804が、3次元空間を超えてスクリーン802の2次元画像平面のX−Y座標に写像される。
【0125】
ユーザがコントローラ本体806を3次元的に動かすと、その動きにより2次元の照準線804が動く。図示されるように、コントローラ本体806の横方向で上向きの動き810により、2次元照準線804は、ある位置812から別の位置814に移動する。このように、ゲームには3次元ゲームが含まれるが、スクリーン上の照準線は3次元空間を越えてスクリーンの2次元平面のX、Y座標に写像される。
【0126】
これまで述べた例で説明したように、本発明の実施の形態によれば、コントローラをマウスのようなデバイスとして用いて、メニュー、リンク、アイテムなどを選択することができるが、コントローラの機能を変更して、たとえば、射撃ゲームの照準線を成業するといった他の機能のために使うこともできる。このように、ユーザによるコントローラ本体全体の検出された運動、動き、および/または操作を付加的なコマンドとして用いて、プレイ中のゲームまたは他のシミュレーションのいろいろな状況を制御してもよい。
【0127】
ある実施の形態では、オプションの特徴として、2次元写像に対する操作のギアを調整したり、絞ったりすることで、選択されたスロットルのレベルにもとづいてユーザがカーソルをより速く動かしたり、よりゆっくり動かすことができるようになる。これにより、カーソル、照準線などがコントローラの動きや運動に応答して動く速度をユーザが選択する柔軟性が提供される。コントローラ上のボタンやコントロールを用いて、そのようなギア調整を行ってもよい。一例として、ある実施の形態では、可変のL2およびR2ボタン(図1B、1C、1D、1E)や他のボタンまたはコントロールを用いてヒアリングを絞ってもよい。
【0128】
上述のように、携帯型コントローラの3次元的な動きを多くの異なる方法、たとえば、上述または他の方法で慣性、ビデオ、音響、または赤外線の分析によって追跡してもよい。図9を参照して、本発明のある実施の形態にしたがって動作するシステム900を説明する。上述のように、「混合モード」信号を用いてもよく、それによれば、あるタイプのセンサからの信号が入力される追跡情報の一部を提供し、他のタイプのセンサから生成された信号が入力される追跡情報の他の部分を提供する。ある実施の形態において、フィードバックループにはミキサ902が含まれ、慣性、ビデオ、音響、または赤外線のセンサのようないろいろなタイプのセンサからの信号をミキシングするために使われる。ミキサ902からの出力は、写像器905またはそれに類するものによってスクリーンの2次元画像平面に写像される。そして、画像は、スクリーンの2次元画像平面上に表示される(906)。
【0129】
このような方法で、コントローラの3次元運動、動き、操作はセンサで検出され、追跡され、そして、ミキサを等してスクリーンの2次元プラットフォームに写像される。一例として、ビデオトラッキングが用いられる場合、コントローラの3次元運動はカメラの2次元画像平面に投影され、そして、カメラの2次元平面の観点からのコントローラの動きと変形はスクリーンの2次元プラットフォームに写像される。
【0130】
本発明の他の実施の形態では、オプションとして、スクリーンの2次元画像平面のXまたはY座標のいずれかをロックしてもよい。このようにすることで、プレイヤがいろいろな方向にコントローラを動かすとき、XおよびY座標の一方がロックされているため、スクリーン上に表示される画像が一方向にのみ動く。たとえば、図10は本発明の別の実施の形態にしたがって動作するシステムを説明する。この実施の形態では、ユーザまたはプレイヤはカメラをゲームを通してカメラをパンしたり動かしたりしながら、スクリーン1002に表示される3次元空間を歩いてもよい。ユーザの銃あるいはそれに類するものの一組の照準線1004が、3次元空間を超えてスクリーン1002の2次元画像平面のX−Y座標に写像される。
【0131】
この例では、Y座標はロックされている。コントローラ本体1006の横方向で上向きの運動1010によって、2次元照準線1004はある位置1012から別の位置1014にX軸のみに沿って横に移動する。照準線1004は、Y軸がロックされているため、X軸に沿ってのみ動く。
【0132】
ある実施の形態では、ユーザがボタンを押し続けると、軸の一つがロックされる。たとえば、ボタンがY軸をロックし、その結果、ユーザがコントローラを動かすときはいつでも、スクリーン上の画像はX軸方向にのみ動く。すなわち、Y座標は固定されたままである。したがって、ユーザがコントローラを右方向にねじっても、X軸上で右方向にスライドするだけであり、また、コントローラを左方向にねじっても、X軸に沿って左にスライドするだけである。ある実施の形態では、ユーザがボタンを再度押した場合、以前にロックされた軸がアンロックされるように構成されてもよく、これにより、ユーザは再び全く自由に動かせるようになる。ある実施の形態では、ユーザがX座標をロックするために別のボタンを再度押した場合、ユーザは照準線を上下にのみスライドさせることができるようになる。
【0133】
携帯型コントローラは、本発明のいろいろな実施の形態に係る任意のタイプのコントローラであってもよい。たとえば、ビデオゲーム機コントローラを説明したが、その代わりにコントローラは任意のタイプのコントローラ、たとえば、テレビジョン、ステレオ、DVDプレイヤなどの従来のコントローラであってもよい。一例として、図11Aは、本発明のいろいろな実施の形態にしたがって用いられる従来のテレビジョンコントローラ1102を説明する。あるいは、コントローラはここに述べる方法で追跡される任意の他のタイプのオブジェクトであってもよい。一例として、図11Bは、本発明のいろいろな実施の形態にしたがって使用されるオブジェクト1104を説明する。
【0134】
ある実施の形態では、コントローラの位置およびヨーは付加的なものである。これにより、コントローラの動きがカーソルまたは照準線を同じ方向に動かすことが可能になり、その結果、動きは以前の動きに「付加」される。
【0135】
上述のように、ゲームコントローラのユーザ操作を検出し、追跡することは異なる方法で実装することができる。たとえば、加速度計またはジャイロスコープのような慣性センサ、デジタルカメラのようなイメージキャプチャユニットをコンピュータエンタテインメントシステムとともに用いて、携帯型コントローラ本体の動きを検出し、それをゲームのアクションに送るようにしてもよい。慣性センサをもつコントローラを追跡する例は、たとえば米国特許出願第11/382,033号、"SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL" (代理人整理番号SCEA06INRT1)に記載されており、参照によりここに組み込む。イメージキャプチャを用いてコントローラを追跡する例は、たとえば米国特許出願第11/382,034号、"SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY" (代理人整理番号SCEA05082US00 )に記載されており、参照によりここに組み込む。さらに、マイク配列および適当な信号処理を用いて、コントローラおよび/またはユーザを音響的に追跡してもよい。そのような音響による追跡の例は、米国特許出願第11/381,721号に記載されており、参照によりここに組み込む。
【0136】
音響センシング、慣性センシングおよびイメージキャプチャを個別にあるいは組み合わせて用いて、コントローラの多くの異なるタイプの動きを検出することができる。たとえば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。コントローラの動きを追跡し、追跡された動きからある予め記録されたジェスチャを認識できるようにゲームプログラムを構成してもよい。1以上のジェスチャの認識によって、ゲーム状態に変化が引き起こされてもよい。
【0137】
上述のように、本発明のある実施の形態では、ジェスチャ認識の分析の前に、これらの異なるソースから取得されたコントローラの経路情報を混合してもよい。異なるソース(たとえば、音響、慣性およびイメージキャプチャ)からのトラッキングデータをある方法で混合することで、ジェスチャの認識の可能性を改善することができる。
【0138】
上述したように、慣性ソース、画像捕捉ソース、音響ソースからのデータを解析して、コントローラの位置および/または方向を追跡する経路を生成することができる。図12のブロック図で示すように、本発明の一実施形態によるシステム1200は、慣性解析器1202、画像解析器1204、および音響解析器1206を備えてもよい。これらの解析器はそれぞれ、検知される環境から信号を受け取る。解析器1202、1206、1208は、ハードウェア、ソフトウェア(またはファームウェア)、またはこれらのうちの二つ以上の組合せで実装することができる。各解析器は、対象オブジェクトの位置および/または方向に関する追跡情報を生成する。一例として、対象オブジェクトは上述のコントローラ110であってもよい。画像解析器1204は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/382,034号(代理人整理番号86321 SCEA05082US00)に記載の方法に関連する。慣性解析器1202は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/382,033号の「SYSTEM、METHOD、AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL」(代理人整理番号SCEA06INRT1)に記載の方法に関連する。音響解析器1206は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/381,724号に記載の方法に関連する。
【0139】
解析器1202、1204、1206を、位置情報および/または方向情報の異なる入力チャネルに関連しているとみなしてもよい。ミキサ1208は複数の入力チャネルを受け入れることができる。このチャネルは、典型的にチャネルの視野からの検知された環境を特徴付けるサンプルデータを含む。慣性解析器1202、画像解析器1204および音響解析器1206によって生成される位置情報および/または方向情報を、ミキサ1208の入力に結合することができる。ミキサ1208と解析器1202、1204、1206は、ゲームソフトウェア1210によって問い合わせされ、イベントに応じてゲームソフトウェアを中断するように構成されていてもよい。イベントには、ジェスチャ認識イベント、ギアリング(gearing)変更、設定変更、設定ノイズレベル、設定サンプリングレート、マッピングチェーンの変更等が含まれる。これらの例については後述する。ミキサ1208は、以下のフィールドとともに動作しフィールドを形成し、本明細書に記載の方法に関連する。
【0140】
上述のように、例えば慣性センサ、ビデオ画像および/または音響センサなどの異なる入力チャネルからの信号が、それぞれ慣性解析器1202、画像解析器1204、音響解析器1206によって解析され、本発明の方法によるテレビゲームのプレイ中にコントローラ110の動きおよび/または方向を決定することができる。このような方法は、プロセッサ可読の媒体に保存されデジタルプロセッサで実行される一連のプロセッサ実行可能なプログラムコード命令として実装することができる。
【0141】
例えば、図13Aに示すように、テレビゲームシステム100は、それぞれハードウェアまたはソフトウェアで実装される慣性解析器1202、画像解析器1204、音響解析器1206を備えるコンソール102を含んでもよい。一例として、解析器1202、1204、1206は、適切なプロセッサユニット1302上で動くソフトウェア命令として実装することができる。一例として、プロセッサユニット1302は、例えば、テレビゲーム機で一般に使用される種類のマイクロプロセッサなどのデジタルプロセッサであってもよい。命令の一部がメモリ1306に保存されてもよい。代わりに、慣性解析器1202、画像解析器1204、および音響解析器1206は、例えば特定用途向け集積回路(ASIC)としてハードウェアで実装されてもよい。このような解析器ハードウェアは、コントローラ110またはコンソール102上に配置されてもよいし、別の場所に離れて配置されてもよい。ハードウェア実装では、解析器1202、1204、1206は、例えばプロセッサ1302から、またはUSBケーブルや無線接続、ネットワークなどの他の離れて配置されたソースからの外部信号に応じてプログラム可能であってもよい。
【0142】
慣性解析器1202は、慣性センサ132により生成された信号を解析し、コントローラ110の位置および/または方向に関する情報を利用する命令を含むかそのような命令を実装してもよい。同様に、画像解析器1204は、画像取得装置112によってとらえられた画像を解析する命令を実装してもよい。さらに、音響解析器は、マイク配列118によってとらえられた画像を解析する命令を実装してもよい。図13Bのフロー図1310に示すように、これらの信号および/または画像は、ブロック1312に示すように解析器1202、1204、1206により受け取られてもよい。ブロック1314で示すように、信号および/または画像は解析器1202、1204、1206で解析されて、コントローラ110の位置および/または方向に関する慣性追跡情報1203、画像追跡情報1205および音響追跡情報1207を求めてもよい。追跡情報1203、1205、1207は一つ以上の自由度に関連していてもよい。コントローラ110または他の追跡されるオブジェクトの操作を特徴付けるために、6自由度が追跡されることが好ましい。この自由度は、x軸、y軸、z軸に沿ったコントローラの傾き、ヨー、ロールおよび位置、速度または加速度に関していてもよい。
【0143】
ある実施の形態では、コントローラ110はまた、音響信号生成器115(たとえばスピーカ)を含んでもよく、それにより、米国特許出願第11/381,724号(参照によりここに援用する)に記載されたようなマイク配列118と適切な音響信号処理をもつコントローラ110の音響追跡がやりやすくなる音源を提供することができる。
【0144】
ブロック1316で示すように、ミキサ1208は慣性情報1203、画像情報1205および音響情報1207を混合して、改善された位置および/または方向情報1209を生成する。一例として、ミキサ1208は、ゲーム状況または環境状況に基づき慣性情報1203、画像情報1205および音響情報1207に異なる重み付けを適用して加重平均をとってもよい。さらに、ミキサ1208は、組み合わされた位置および/または方向情報を解析する自身のミキサ解析器1212を備え、他の解析器により生成された情報の組み合わせを含む求められた自身の「ミキサ」情報を生成してもよい。
【0145】
本発明の実施形態では、ミキサ1208は解析器1202、1204、1206からの追跡情報1203、1205、1207に分布値を割り当ててもよい。上記のように、入力制御データの特定セットを平均化してもよい。しかしながら、本実施形態では、平均化の前に入力制御データに値を割り当て、これにより、一部の解析器からの入力制御データの分析の重要性を他の解析器からのものより高めてもよい。
【0146】
ミキサ1208は、他の処理および解析の観察、訂正、安定化、微分、組合せ、ルーティング、混合、報告、バッファ、中断の文脈でいくつかの機能を引き受けてもよい。これは、解析器1202、1204、1206の一つ以上から受け取る追跡情報1203、1205、1207に対して実行されてもよい。解析器1202、1204、1206がそれぞれ特定の追跡情報を受け取るか取り出す一方、ミキサ1208は受け取った追跡情報1203、1205、1207の使用を最適化し、改善された追跡情報1209を生成するように実装されていてもよい。
【0147】
解析器1202、1204、1206とミキサ1208は、同様の出力フォーマットで追跡情報を提供するように構成されることが好ましい。任意の解析器要素1202、1204、1206からの追跡情報パラメータを、解析器内の単一のパラメータにマッピングすることができる。代わりに、ミキサ1208は、一つ以上の解析器1202、1204、1206からの一つ以上の追跡情報パラメータを処理することによって、解析器1202、1204、1206のいずれのためにも追跡情報を作り出すことができる。ミキサは、解析器1202、1204、1206から得られる同一のパラメータタイプの追跡情報の二つ以上の要素を組み合わせ、解析器により生成された複数の追跡情報パラメータにわたる機能を実行して、複数の入力チャネルから生成される利点を有する出力の合成セットを作成することができる。
【0148】
ブロック1318で示すように、システム100でのテレビゲームのプレイ中に、改善された追跡情報1209を利用することができる。特定の実施形態では、ゲームプレイ中にユーザ108によりなされたジェスチャに関連して位置情報および/または方向情報を用いることができる。一部の実施形態では、ミキサ1208は、ジェスチャ認識装置1305とともに作動して、ゲーム環境内の少なくとも一つの動作と、ユーザからの一つ以上のユーザ動作(例えば、空間内でのコントローラの操作)とを結びつけることができる。
【0149】
図13Cのフロー図1320において、ブロック1322で示すように、位置情報および/または方向情報を用いてコントローラ110の経路を追跡することができる。一例として、経路は、いくつかの座標系に対するコントローラの質量中心の位置を表す一組の点を含んでもよいが、これに限定されない。各位置点は、デカルト座標系のX、Y、Z座標などの一つ以上の座標で表すことができる。経路の形状と、経路に沿ったコントローラの進行の両方を監視できるように、経路上の各点に時間を関連させてもよい。さらに、上記組の中の各点を、コントローラの方向(例えば、コントローラの質量中心周りの一つ以上の回転角)を表すデータと関連づけておいてもよい。さらに、経路上の各点を、コントローラの質量中心の速度および加速度、角回転率、および質量中心周りのコントローラの角加速度の値と関連づけておいてもよい。
【0150】
ブロック1324で示すように、追跡された経路を、プレイ中のテレビゲームの文脈に関連する既知のおよび/または予め記録されたジェスチャ1308に対応する一つ以上の保存された経路と比較してもよい。認識装置1305は、ユーザを認識するかまたは音声認証されたジェスチャ等を処理するように構成されてもよい。例えば、認識装置1305はジェスチャによりユーザを識別することができる。ジェスチャは、ユーザ特有のものであってもよい。このような特有のジェスチャは、メモリ1306に保存される予め記録されたジェスチャ1308の中に記録され含められる。記録処理は、ジェスチャの認識中に生じる音声を選択的に保存してもよい。検知された環境は多重チャネル解析器でサンプリングされ処理される。プロセッサはジェスチャモデルを参照して、音声または音響パターンに基づき高精度かつ高性能にユーザまたはオブジェクトを決定、認証および/または識別することができる。
【0151】
図13Aで示すように、ジェスチャを表すデータ1308がメモリ1306に保存されてもよい。ジェスチャの例には、ボールのような物を投げる、バットまたはゴルフクラブのような物を振る、ハンドポンプを動かす、扉または窓を開閉する、ハンドルまたは他の車両制御装置を回す、パンチのような格闘技の動き、紙やすりで磨く動き、ワックスをかける、家を塗る、振る、音をたてる、回す、フットボールを投げる、ノブを回す、3Dマウスの動き、スクロールする動き、プロフィールによる動き、任意の記録可能な動き、タイヤに空気を入れるような空間内の任意の方向で任意のベクトルに沿った前後の動き、経路に沿った動き、正確な停止と開始がある動き、ノイズフロア内で記録、追跡、繰り返し可能な任意の時間ベースのユーザ操作、スプライン等を含むが、これらに限定されない。これらのジェスチャはそれぞれ、経路データから予め記録され、時間ベースのモデルとして記録することができる。経路と保存されたジェスチャとの比較は、経路が定常状態から外れる場合、削除処理によってその経路を保存されたジェスチャと比較することができるという定常状態の仮定で開始することができる。ブロック1326で一致しない場合、ブロック1322で解析器1304はコントローラ110の経路を追跡し続けることができる。経路(またはその部分)と保存されたジェスチャとが十分に一致する場合、1328で示すようにゲームの状態を変更することができる。ゲーム状態の変更には、中断、制御信号の送信、変数の変更等が含まれるが、これらに限られない。
【0152】
この一例を示す。コントローラ110が定常状態を残したと判定されると、解析器1202、1204、1206または1212はコントローラ110の動きを追う。コントローラ110の経路が、保存されたジェスチャモデル1308で定められる経路に従う限り、これらのジェスチャは起こりうる「ヒット」である。コントローラ110の経路が任意のジェスチャモデル1308から外れる(ノイズ許容度設定の範囲内で)場合、そのジェスチャモデルはヒットリストから除かれる。各ジェスチャ参照モデルは、ジェスチャが記録される時間ベースを含む。解析器1202、1204、1206または1212は、適切な時間インデックスでコントローラ経路データを保存されたジェスチャー1308と比較する。定常状態の条件が発生すると、クロックがリセットされる。定常状態から外れると(すなわち、ノイズ閾値の外側で動きが追跡されると)、全ての潜在ジェスチャモデルでヒットリストが占められる。クロックが開始され、コントローラの動きがヒットリストに対して比較される。比較は時間を通しての道のり(walk)である。ヒットリスト内の任意のジェスチャがジェスチャの終端に到達すると、それがヒットである。
【0153】
本発明の実施形態では、ミキサ1208は解析器1202、1204、1206からの追跡情報1203、1205、1207に分布値を割り当ててもよい。上述のように、入力制御データの特定セットを平均化してもよい。しかしながら、本実施形態では、平均化の前に入力制御値に値を割り当て、これにより一部の解析器からの入力制御データを他の解析器からのものより解析の重要度を高めてもよい。
【0154】
例えば、ミキサ1208は加速度と定常状態に関連した追跡情報を必要としてもよい。ミキサ1208は、上述のように追跡情報1203、1205、1207を受け取る。例えば、上述のように、追跡情報は加速度と定常状態に関するパラメータを含んでもよい。この情報を表すデータを平均化する前に、ミキサ1208は分布値を追跡情報データセット1203、1205、1207に割り当ててもよい。例えば、慣性解析器1202からのx、y加速度パラメータに90%の重み付けをしてもよい。しかしながら、画像解析器1204からのx、y加速度データに10%のみの重み付けをしてもよい。加速度パラメータに関して、音響解析器の追跡情報1207に0%の重み付け、すなわちデータが値を持たないようにしてもよい。
【0155】
同様に、慣性解析器1202からのZ軸追跡情報パラメータに10%の重み付けをし、画像解析器のZ軸追跡情報に90%の重み付けをしてもよい。音響解析器の追跡情報1207に0%の重み付けをし、音響解析器1206からの定常状態追跡情報に100%の重み付けをし、残りの解析器の追跡情報に0%の重み付けをしてもよい。
【0156】
適当な分布重みが割り当てられた後、重みとともに入力制御データを平均化して加重平均入力制御データセットを求め、このデータセットを続けてジェスチャ認識装置1305で解析して特定のゲーム環境内の特定のアクションに関連付けしてもよい。関連する値は、ミキサ1208または特定のゲームタイトルにより予め定義されていてもよい。この値は、様々な解析器から来るデータの特定の質を識別するミキサ1208の結果であってもよく、これにより後述するように動的な調整がなされる。この調整は、特定のデータが特定の環境における特定の値になるとき、および/または所与のゲームタイトルの特殊性に応じて、歴史的な知識ベースの構築の結果であってもよい。
【0157】
ミキサ1208は、ゲームプレイの間、動的に作動するように構成されてもよい。例えば、ミキサ1208が様々な入力制御データを受け取ると、特定のデータが一貫して許容可能なデータ範囲またはデータ品質の外部にあることを認識するか、または関連する入力装置におけるエラーの処理を示す不正データを反映することができる。
【0158】
加えて、現実世界環境における特定の状況が変化してもよい。例えば、ユーザの家のゲーム環境における自然光が午前から午後になると増加して、画像データの捕捉に問題を生じることがある。さらに、日中になると近所または家庭がよりうるさくなって、音声データの捕捉に問題を生じる。同様に、ユーザが数時間プレイを続けると、ユーザの反射の素早さが低下して慣性データの解釈に問題が生じることがある。
【0159】
これらの例や、または入力制御データの特定の形態の品質が問題になる場合、ミキサ1208は、上述したように特定の入力制御データにより高いかより低い重要度を与えるように、特定の装置から来るデータの特定セットに対して重みを動的に再割り当てすることができる。同様に、ゲームの経過につれてゲーム環境が変化してもよい。特定のゲームの必要性が変化し、したがって特定の入力制御データの値または必要性の再割り当てが必要になる。
【0160】
同様に、ミキサ1208は、ジェスチャ認識装置1305に渡されている特定のデータが誤ってまたはゆっくりと処理されているか、または処理中のエラーあるいはジェスチャ認識装置1305により生成されるフィードバックデータに基づき処理されていないことを認識することができる。このフィードバックに応じて、または、これらの処理中の問題(例えば、画像解析データが許容できる範囲内にある場合、ジェスチャ認識装置1305により関連づけされるときにエラーが生じる)の認識時に、ミキサ1208は、どのような入力制御データがどの解析器からどの時点で求められるかを調整することができる。ミキサ1208は、入力制御データがミキサ1208に渡される前に、適切な解析器による入力制御データの特定の解析および処理を必要としてもよい。ミキサは、ジェスチャ認識装置1305に渡されたデータの効率的かつ適切な処理がさらに保証されるように、データを再処理する。
【0161】
一部の実施形態では、ミキサ1208は、特定のデータが信頼できず、無効であり、または特定の変数の外部にあることを認識し、特定の入力制御データまたはそのデータに関連する変数を呼び出して不正なデータを置き換えるか、または必要な変数に関する特定のデータを適切に解析して計算することができる。
【0162】
図14を参照して、本発明の実施の形態に係る方法1400を説明する。方法1400は、コントローラのようなオブジェクトの追跡を実行するためにいろいろなセンサからの情報を利用、結合、あるいは混合する方法の別の例を与える。
【0163】
ある実装例では、方法1400は、ビデオカメラを用いてコントローラの位置を追跡するために用いてもよい。そこでは、ジャイロセンサまたは加速度計のようなコントローラのセンサによって提供される傾き情報をコントローラ画像検出を最適化するために用いる。コントローラ画像検出は、コントローラの参照検出プロファイル画像をセンサによって提供されたコントローラの傾斜角度にしたがって回転させる「変換比較」を用いることにより最適化される。
【0164】
より具体的には、方法1400は、コントローラのようなオブジェクトから入力データを取得する際に用いてもよいものであり、ステップ1402で始まり、オブジェクトのライブ画像を画像取得装置で取得する。画像取得装置は、ここで述べたタイプのカメラのような任意のタイプのカメラを含んでもよい。たとえば、ある実施の形態では、画像取得装置はZカメラ、深さカメラ、他のタイプの3次元カメラを含んでもよい。そのようなZカメラまたは深さカメラは、上述のように、各ピクセルの深さを提供または測定し、および/または、カメラからピクセルの距離を決定する。
【0165】
図15は、このステップの例を説明する。すなわち、オブジェクト1504のライブ画像1502を取得する。ある実施の形態では、オブジェクト1504はコントローラを含む。例示するように、オブジェクト1504はカメラの視野の左上の隅に位置する。
【0166】
ステップ1404(図14)において、画像取得装置以外の1以上のセンサからオブジェクトの傾斜(チルト)角に関する情報を受け取る。一例として、この1以上のセンサには、ジャイロセンサ、加速度計、あるいは同様のセンサが含まれる。そのようなセンサをオブジェクトに設置してもよい。
【0167】
ある実施の形態では、オブジェクトの回転がジャイロ軸の周りである場合にジャイロセンサを用いてもよい。加速度計の示度と引力の方向をすべての状況において用いてもよい。加速度計の示度を用いることは、値が外れない絶対的な角度の応答を得るには有益である。ある実施の形態では、回転がジャイロ軸周りである場合、両方のセンサを用いてもよい。ある実施の形態では、オブジェクトの傾斜角度に関する情報を用いて、オブジェクトの傾斜角度を決定または推定してもよい。
【0168】
以下述べるように、傾斜角を知ることはカメラトラッキングに役立つから、オブジェクトの傾斜角を測定することは有益である。ここで上述したタイプのコントローラは6つの自由度で追跡可能であり、傾斜角をかなり容易に測定できることから、傾斜角度を用いることはまた有益である。さらに、回転をカメラを用いて測定するのはやっかいである。
【0169】
ステップ1406において、オブジェクトの傾斜角に関する情報を用いてオブジェクトの少なくとも1つの回転した参照画像を得る。一例として、オブジェクトの基本参照画像は、オブジェクトの外形図、オブジェクトの上面図、オブジェクトをもつユーザの片手または両手の図、またはその他の図を含む。オブジェクトがコントローラを含む実施の形態では、オブジェクトの基本参照画像は、コントローラの外形図、コントローラの上メンズ、コントローラをもつユーザの片手または両手の図、またはその他の図を含む。
【0170】
図15は、1504’とラベルが付けられたオブジェクト1504の基本参照画像1506の例を説明する。例示するように、オブジェクト1504’は回転していない。
【0171】
ある実施の形態において、オブジェクトの回転された参照画像は、オブジェクトの傾斜角に関する情報またはオブジェクトの決定された傾斜角を用いて、オンザフライで参照画像を回転することによって取得してもよい。あるいは、ある実施の形態において、参照画像の回転バージョンのセットをメモリに格納してもよい。オブジェクトの傾斜角に関する情報、または、オブジェクトの決定された傾斜角を用いて当該格納されたセットから対応する回転された参照画像を選択してもよい。オブジェクトの回転された参照画像はストレージから読み出すことによって得られる。
【0172】
図15は、1504”とラベル付けされたオブジェクト1504の回転された参照画像1508の例を説明する。例示するように、オブジェクト1504”は、ライブ画像1502におけるオブジェクト1504の回転と同じか似たような形に回転している。
【0173】
上述のように、ステップ1406においてオブジェクトの少なくとも1つの回転した参照画像を取得する。「少なくとも1つ」という用語を用いたのは、ある実施の形態ではオブジェクトの傾斜角に関する情報を用いてオブジェクトの1以上の回転した参照画像を取得するからである。各回転した参照画像は、オブジェクトの傾斜角の周りの少し異なる角度のものであってもよい。そして、ある実施の形態では、オブジェクトの傾斜角に関する情報を用いて、正確に傾斜角においてちょうど一つの参照画像を生成するというよりは、その傾斜角の周辺で回転した参照画像の「セット」を生成する。このようにして、当該セットは、傾斜角近傍のいろいろな角度をもつ回転した参照画像を提供するため、傾斜角測定にはノイズがあり、完全ではない。当該セットにおける回転した参照画像の数は、特定のアプリケーション、実装、および必要な精度に応じて異なってもよい。
【0174】
図16は、傾斜角付近のオブジェクト1504”の回転した参照画像1602、1604、1606、1608のセットの例を説明する。各画像におけるオブジェクト1504”の傾斜角は少しずつ異なっている。
【0175】
ステップ1408(図14)において、オブジェクトのライブ画像をオブジェクトの1以上の回転した参照画像と比較する。一般に、イメージキャプチャユニットは、XおよびY平面においてオブジェクトの画像を探す。探している画像は、傾斜角センサまたは加速度計によって提供されるオブジェクトの角度を反映する変換画像である。傾斜測定をする利点は、参照画像のすべての可能性のある回転を照合する代わりに、イメージキャプチャユニットが測定された傾斜角に近い回転を調べるだけで済むことである。回転は、傾斜センサのノイズにもとづく所定の誤差許容の範囲内で、測定された傾斜角に近いものであってもよい。ライブ画像を適切に回転した参照画像と比較するため、比較処理の間、回転の自由度をサーチする必要はない。それにより、比較計算のコストが減り、比較の品質は向上する。
【0176】
ある実施の形態において使われるオプションのアプローチは、まず、以前に一致した傾斜角付近の傾斜角とマッチングさせることである。このようにすることで、仮に傾斜角センサが散発的に「悪い」データを生成したとしても、カメラトラッキングはそれほど深刻な影響を受けない。
【0177】
図15はそのような比較の一例を説明する。すなわち、オブジェクト1504のライブ画像1502をオブジェクト1504”の回転した参照画像1508と比較する。1以上の回転した参照画像を上述のように利用する実施の形態では、オブジェクト1504のライブ画像1502を回転した参照画像の一部またはすべてと比較する。このようにして、ある実施の形態では、オブジェクトの傾斜角に関する情報を使用してオブジェクトの回転した参照画像を複数取得し、オブジェクトのライブ画像をオブジェクトの複数の回転した参照画像のそれぞれと比較する。
【0178】
最後に、ステップ1410(図14)において、ライブ画像が回転した参照画像の一つと一致することに応答して指標を生成する。この指標は、ライブ画像と回転した参照画像の一つの間に一致があったことをソフトウェアおよび/またはハードウェアに示すための任意のタイプのフラグまたはシグナルを含んでもよい。
【0179】
ある実施の形態では、オブジェクトの追跡は、一致が起きるライブ画像の位置を決定することによって実行されてもよい。たとえば、図15において、オブジェクト1504がカメラの視野の左上にあるとき、一致が起きる。この情報を用いてオブジェクト1504の位置を決定してもよい。さらなる位置を用いてオブジェクト1504の運動を追跡してもよい。
【0180】
ある実施の形態では、1以上の参照画像とライブ画像を1以上の正規化フィルタに通過させてもよい。こうすることで、照明の変化を平準化してマッチングをより信頼性のあるものとすることができる。たとえば、そのような正規化フィルタは、ラプラシアン、ラプラシアン・ガウシアン、ラプラシアン・ガウシアン符号、または同様の効果を有する他のタイプのフィルタを含んでもよい。
【0181】
このように、センサによって与えられたオブジェクトの傾斜角にしたがってオブジェクトの参照検出プロファイル画像を変換または回転することにより、オブジェクトの画像検出が最適化される。そのようなオブジェクト画像検出はオブジェクトの位置を追跡するために使ってもよい。たとえば、この方法は、ビデオ入力を用いたコントローラの追跡に用いてもよい。オブジェクトの傾斜角を用いることが有益である一方、ある実施の形態では、コントローラの変位がその代わりにあるいは付加的に、スケールの変化または水平/垂直の動きに対するカメラの追跡を助ける手がかりとなることがある。
【0182】
オブジェクトが任意のタイプのオブジェクト、たとえば任意のタイプのコントローラを含んでもよいことは十分に理解されよう。たとえば、オブジェクトは、テレビジョン、ステレオ、DVDプレイヤなどで使われるタイプのリモートコントローラであってもよい。ある実施の形態では、上述の方法と技術を2以上のコントローラについて同時に用いてもよい。たとえば、複数のユーザによって操作されるコントローラに対して、あるいは同様のシナリオに対して、ユーザのそれぞれの手にあるコントローラについてこれらの方法と技術を用いてもよい。これらの方法と技術はそのようなコントローラすべてを同時に検出および/または追跡するために利用することができる。
【0183】
2007年1月18日出願の”METHOD AND SYSTEM FOR ADDING A NEW PLAYER TO A GAME IN RESPONSE TO CONTROLLER ACTIVITY”、米国同時係属出願第11/624,637号の全開示内容が参照により本明細書に援用される。
【0184】
2006年10月20日出願の”GAME CONTROL USING THREE-DIMENSIONAL MOTIONS OF CONTROLLER”、米国同時係属出願第11/551,682号の全開示内容が参照により本明細書に援用される。
【0185】
2006年10月19日出願の”CONTROLLER CONFIGURED TO TRACK USER'S LEVEL OF ANXIETY AND OTHER MENTAL AND PHYSICAL ATTRIBUTES”、米国同時係属出願第11/551,197号の全開示内容が参照により本明細書に援用される。
【0186】
2006年9月28日出願の”MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO THE TWO-DIMENSIONAL IMAGE PLANE OF A DISPLAY SCREEN”、米国同時係属出願第11/536,559号(代理人整理番号86335 [SCEA06058US00] )の全開示内容が参照により本明細書に援用される。
【0187】
2006年5月10日出願の”ATTACHABLE STRUCTURE FOR USE WITH HAND-HELD CONTROLLER HAVING TRACKING ABILITY”、米国同時係属出願第11/382,699号(代理人整理番号87906 [SCEA06028US00] )の全開示内容が参照により本明細書に援用される。
【0188】
2005年9月15日出願の”AUDIO, VIDEO, SIMULATION, AND USER INTERFACE PARADIGMS”、米国仮特許出願第60/718,145号の全開示内容が参照により本明細書に援用される。
【0189】
2002年7月27日出願の”MAN-MACHINE INTERFACE USING A DEFORMABLE DEVICE”、米国特許出願第10/207,677号;2003年8月27日出願の”AUDIO INPUT SYSTEM”、米国特許出願第10/650,409号;2003年9月15日出願の”METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION”、米国特許出願第10/663,236号;2004年1月16日出願の”METHOD AND APPARATUS FOR LIGHT INPUT DEVICE”、米国特許出願第10/759,782号;2004年4月7日出願の”METHOD AND APPARATUS TO DETECT AND REMOVE AUDIO DISTURBANCES”、米国特許出願第10/820,469号;および2005年12月12日出願の”METHOD FOR USING RELATIVE HEAD AND HAND POSITIONS TO ENABLE A POINTING INTERFACE VIA CAMERA TRACKING”、米国特許出願第11/301,673号の全開示内容が参照により本明細書に援用される。
【0190】
2006年5月4日出願の”ULTARA SMALL MICROPHONE ARRAY”、米国特許出願第11/381,729号、発明者Xiao Dong Mao(代理人整理番号SCEA05062US00);2006年5月4日出願の”ECHO AND NOISE CANCELLATION”、米国特許出願第11/381,728号、発明者Xiao Dong Mao(代理人整理番号SCEA05064US00) ;2006年5月4日出願の”METHOD AND APPARATUS FOR TARGETED SOUND DETECTION“、米国特許出願第11/381,725号、発明者Xiao Dong Mao, (代理人整理番号SCEA05079US00) ;2006年5月4日出願の”NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE CONSOLE”、米国特許出願第11/381,727号、発明者Xiao Dong Mao (代理人整理番号SCEA05073US00) ;2006年5月4日出願の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、米国特許出願第11/381,724号、発明者Xiao Dong Mao (代理人整理番号SCEA05079US00);および2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACIVE PROCESSING”、米国特許出願第11/381,721号、発明者Xiao Dong Mao(代理人整理番号SCEA04005JUMBOUS)の全開示内容が参照により本明細書に援用される。
【0191】
2006年5月4日出願の”METHODS AND APPARATUS FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS”、同時係属米国特許出願第11/418,988号、発明者Xiao Dong Mao (代理人整理番号SCEA-00300);2006年5月4日出願の”METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE”、同時係属米国特許出願第11/418,989号、発明者Xiao Dong Mao(代理人整理番号SCEA-00400);2006年5月4日出願の”METHODS AND APPARATUS FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL”、同時係属出願第11/429,047号,発明者Xiao Dong Mao(代理人整理番号SCEA-00500);2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING”、同時係属出願第11/429,133号、発明者Richard Marks et al.(代理人整理番号SCEA04005US01-SONYP045);および2006年5月4日出願の”Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program”、同時係属出願第11/429,414号、発明者Richard Marks et al.(代理人整理番号SONYP052)の全開示内容が参照により本明細書に援用される。
【0192】
2006年5月6日出願の”MULTI-INPUT GAME CONTROL MIXER”、米国特許出願第11/382,031号(代理人整理番号SCEAO 6MXR1);2006年5月6日出願の”SYSTEM FOR TRACKING USER MANIPULATIONS WITHIN AN ENVIRONMENT”、米国特許出願第11/382,032号(代理人整理番号SCEA06MXR2);2006年5月6日出願の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”、米国特許出願第11/382,033号(代理人整理番号SCEA06INRT1);2006年5月6日出願の”INERTIALLY TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,035号(代理人整理番号SCEA06INRT2);2006年5月6日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO VISUAL TRACKING”、米国特許出願第11/382,036号(代理人整理番号SONYP058A);2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO INERTIAL TRACKING”、米国特許出願第11/382,041号(代理人整理番号SONYP058B);および2006年5月6日出願の”SYSTEM FOR APPLYING GEARING EFFECTS TO ACOUSTIC TRACKING”、米国特許出願第11/382,038号(代理人整理番号SONYP058C);2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO MULTI-CHANNEL MIXED INPUT”、米国特許出願第11/382,040号(代理人整理番号SONYP058D);2006年5月6日出願の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”、米国特許出願第11/382,034号(代理人整理番号86321 SCEA05082US00);2006年5月6日出願の”SCHEME FOR TRANSLATING MONEMENTS OF A HAND-HELD CONTROLLER INTO INPUTS FOR A SYSTEM”、米国特許出願第11/382,O37号(代理人整理番号86324);2006年5月7日出願の”DETECTABLE AND TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,043号(代理人整理番号86325);2006年5月7日出願の”METHOD FOR MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO GAME COMMANDS”、米国特許出願第11/382,039号(代理人整理番号86326);2006年5月6日出願の”CONTROLLER WITH INFRARED PORT”、米国意匠出願第29/259,349号(代理人整理番号SCEA06007US00);2006年5月6日出願の”CONTROLLER WITH TRACKING SENSORS”、米国意匠出願第29/259,350号(代理人整理番号SCEA06008US00);2006年5月6日出願の”DYNAMIC TARGET INTERFACE”、米国特許出願第60/798,031号(代理人整理番号SCEA06009US00);および2006年5月6日出願の”TRACKED CONTROLLER DEVICE”、米国特許出願第29/259,348号(代理人整理番号SCEA06010US00)の全開示内容が参照により本明細書に援用される。
【0193】
2006年5月8日出願の”Profile Detection”、米国同時係属出願第11/430,594号、発明者Gary Zalewski およびRiley R. Russell(代理人整理番号SCEA05059US00)の全開示内容が参照により本明細書に援用される。
【0194】
2006年5月8日出願の”Using Audio/Visual Environment To Select Ads On Game Platform”、米国同時係属出願第11/430,593号、発明者Gary Zalewski およびRiley R. Russell(代理人整理番号SCEAJP 3.0-003 CIP V)の全開示内容が参照により本明細書に援用される。
【0195】
2006年4月10日出願の”System And Method For Obtaining User Information From Voices”、米国同時係属出願第11/400,997号、発明者Larsen and Chen(代理人整理番号SCEA05040US00)の全開示内容が参照により本明細書に援用される。
【0196】
2006年5月8日出願の”Method and apparatus for use in determining lack of user activity in relation to a system”、米国同時係属出願第11/382,259号、発明者Gary Zalewski et al.(代理人整理番号86327)の全開示内容が参照により本明細書に援用される。
【0197】
2006年5月8日出願の”Method and apparatus for use in determining an activity level of a user in relation to a system”、米国特許出願第11/382,258号、発明者Gary Zalewski et al.(代理人整理番号86328)の全開示内容が参照により本明細書に援用される。
【0198】
2006年5月8日出願の”Hand-held controller having detectable elements for tracking purposes”、米国同時係属出願第11/382,251号、発明者Gary Zalewski et al.(代理人整理番号86329)の全開示内容が参照により本明細書に援用される。
【0199】
2006年5月8日出願の”TRACKING DEVICE FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,252号 (代理人整理番号SCEA06INRT3)の全開示内容が参照により本明細書に援用される。
【0200】
2006年5月8日出願の”TRACKING DEVICE WITH SOUND EMITTER FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,256号(代理人整理番号SCEA06ACRA2)の全開示内容が参照により本明細書に援用される。
【0201】
2006年5月8日出願の”OBTAINING INPUT FOR CONTROLLING EXECUTION OF A GAME PROGRAM”、米国特許出願第11/382,250号 (代理人整理番号SCEAO 6COMB)の全開示内容が参照により本明細書に援用される。
【0202】
2006年5月8日出願の”VIDEO GAME CONTROLLER FRONT FACE”、米国同時係属出願第29/246,744号 (代理人整理番号SCEACTR-D3) の全開示内容が参照により本明細書に援用される。
【0203】
2006年5月8日出願の”VIDEO GAME CONTOLLER”、米国意匠出願第29/246,743号 (代理人整理番号SCEACTRL-D2)の全開示内容が参照により本明細書に援用される。
【0204】
2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,767号(代理人整理番号SONYP059A)の全開示内容が参照により本明細書に援用される。
【0205】
2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,768号 (代理人整理番号SONYP059B)の全開示内容が参照により本明細書に援用される。
【0206】
2006年5月8日出願の”ERGONOMIC GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,763号(代理人整理番号PA3760US) の全開示内容が参照により本明細書に援用される。
【0207】
2006年5月8日出願の”GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,759号(代理人整理番号PA3761US)の全開示内容が参照により本明細書に援用される。
【0208】
2006年5月8日出願の”DESIGN FOR OPTICAL GAME CONTROLLER INTERFACE”、米国同時係属意匠出願第29/246,765号 (代理人整理番号PA3762US)の全開示内容が参照により本明細書に援用される。
【0209】
2006年5月8日出願の”DUAL GRIP GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,766号 (代理人整理番号PA3763US)に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0210】
2006年5月8日出願の”GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,764号 (代理人整理番号PA3764US)の全開示内容が参照により本明細書に援用される。
【0211】
2006年5月8日出願の”ERGONOMIC GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,762号(代理人整理番号PA3765US)の全開示内容が参照により本明細書に援用される。
【0212】
ここに開示した発明は特定の実施の形態およびその応用によって記述されたが、請求項に記載の発明の範囲から逸脱することなく、当該技術分野の当業者によって数多くの変形やバリエーションがなされうる。
【特許請求の範囲】
【請求項1】
オブジェクトから入力データを取得する際に使用する方法であって、
イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップと、
前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、
前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、
前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを含む方法。
【請求項2】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項1に記載の方法。
【請求項3】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにある加速度計を含む請求項1に記載の方法。
【請求項4】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項1に記載の方法。
【請求項5】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項1に記載の方法。
【請求項6】
前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すステップをさらに含む請求項1に記載の方法。
【請求項7】
前記イメージキャプチャデバイスはカメラを含む請求項1に記載の方法。
【請求項8】
前記イメージキャプチャデバイスはZ−カメラを含む請求項1に記載の方法。
【請求項9】
前記オブジェクトは携帯型コントローラを含む請求項1に記載の方法。
【請求項10】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項1に記載の方法。
【請求項11】
オブジェクトから入力データを取得する際に使用する装置であって、
オブジェクトのライブ画像をキャプチャするように構成されたイメージキャプチャデバイスと、
前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取り、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得し、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較し、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するように構成されたプロセッサベースのシステムとを含む装置。
【請求項12】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項11に記載の装置。
【請求項13】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにある加速度計を含む請求項11に記載の装置。
【請求項14】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項11に記載の装置。
【請求項15】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項11に記載の装置。
【請求項16】
前記プロセッサベースのシステムは、前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すようにさらに構成されている請求項11に記載の装置。
【請求項17】
前記イメージキャプチャデバイスはカメラを含む請求項11に記載の装置。
【請求項18】
前記オブジェクトは携帯型コントローラを含む請求項11に記載の装置。
【請求項19】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項11に記載の装置。
【請求項20】
プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体であって、前記コンピュータプログラムは前記プロセッサベースのシステムに、
イメージキャプチャデバイスからオブジェクトのキャプチャされたライブ画像を受け取るステップと、
前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、
前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、
前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを実行させることを特徴とする記録媒体。
【請求項21】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項20に記載の記録媒体。
【請求項22】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにある加速度計を含む請求項20に記載の記録媒体。
【請求項23】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項20に記載の記録媒体。
【請求項24】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項20に記載の記録媒体。
【請求項25】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すステップを実行させるようにさらに構成されている請求項20に記載の記録媒体。
【請求項26】
前記イメージキャプチャデバイスはカメラを含む請求項20に記載の記録媒体。
【請求項27】
前記イメージキャプチャデバイスはZ−カメラを含む請求項20に記載の記録媒体。
【請求項28】
前記オブジェクトは携帯型コントローラを含む請求項20に記載の記録媒体。
【請求項29】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項20に記載の記録媒体。
【請求項1】
オブジェクトから入力データを取得する際に使用する方法であって、
イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップと、
前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、
前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、
前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを含む方法。
【請求項2】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項1に記載の方法。
【請求項3】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにある加速度計を含む請求項1に記載の方法。
【請求項4】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項1に記載の方法。
【請求項5】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項1に記載の方法。
【請求項6】
前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すステップをさらに含む請求項1に記載の方法。
【請求項7】
前記イメージキャプチャデバイスはカメラを含む請求項1に記載の方法。
【請求項8】
前記イメージキャプチャデバイスはZ−カメラを含む請求項1に記載の方法。
【請求項9】
前記オブジェクトは携帯型コントローラを含む請求項1に記載の方法。
【請求項10】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項1に記載の方法。
【請求項11】
オブジェクトから入力データを取得する際に使用する装置であって、
オブジェクトのライブ画像をキャプチャするように構成されたイメージキャプチャデバイスと、
前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取り、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得し、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較し、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するように構成されたプロセッサベースのシステムとを含む装置。
【請求項12】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項11に記載の装置。
【請求項13】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにある加速度計を含む請求項11に記載の装置。
【請求項14】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項11に記載の装置。
【請求項15】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項11に記載の装置。
【請求項16】
前記プロセッサベースのシステムは、前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すようにさらに構成されている請求項11に記載の装置。
【請求項17】
前記イメージキャプチャデバイスはカメラを含む請求項11に記載の装置。
【請求項18】
前記オブジェクトは携帯型コントローラを含む請求項11に記載の装置。
【請求項19】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項11に記載の装置。
【請求項20】
プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体であって、前記コンピュータプログラムは前記プロセッサベースのシステムに、
イメージキャプチャデバイスからオブジェクトのキャプチャされたライブ画像を受け取るステップと、
前記イメージキャプチャデバイス以外の1以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも1つの回転した参照画像を取得するステップと、
前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、
前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを実行させることを特徴とする記録媒体。
【請求項21】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項20に記載の記録媒体。
【請求項22】
前記イメージキャプチャデバイス以外の前記1以上のセンサは、前記オブジェクトにある加速度計を含む請求項20に記載の記録媒体。
【請求項23】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項20に記載の記録媒体。
【請求項24】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項20に記載の記録媒体。
【請求項25】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すステップを実行させるようにさらに構成されている請求項20に記載の記録媒体。
【請求項26】
前記イメージキャプチャデバイスはカメラを含む請求項20に記載の記録媒体。
【請求項27】
前記イメージキャプチャデバイスはZ−カメラを含む請求項20に記載の記録媒体。
【請求項28】
前記オブジェクトは携帯型コントローラを含む請求項20に記載の記録媒体。
【請求項29】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項20に記載の記録媒体。
【図1A】
【図1B】
【図1C】
【図1D】
【図1E】
【図2A】
【図2B】
【図3A】
【図3B】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図12】
【図13A】
【図13B】
【図13C】
【図14】
【図15】
【図16】
【図1B】
【図1C】
【図1D】
【図1E】
【図2A】
【図2B】
【図3A】
【図3B】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図12】
【図13A】
【図13B】
【図13C】
【図14】
【図15】
【図16】
【公表番号】特表2010−531520(P2010−531520A)
【公表日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2010−515294(P2010−515294)
【出願日】平成20年8月14日(2008.8.14)
【国際出願番号】PCT/US2008/073196
【国際公開番号】WO2009/023786
【国際公開日】平成21年2月19日(2009.2.19)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公表日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願日】平成20年8月14日(2008.8.14)
【国際出願番号】PCT/US2008/073196
【国際公開番号】WO2009/023786
【国際公開日】平成21年2月19日(2009.2.19)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]