説明

可動コントローラを使った対話式制御のための自己完結式慣性ナビゲーション・システム

【課題】可動コントローラを使った対話式制御のための自己完結式INSシステムを提供する。
【解決手段】コンピュータ制御されるゲーム・ディスプレイの諸側面を制御する可動ゲーム・コントローラが、当該可動コントローラの直線運動および角度運動を判別する装置をもつ。前記装置は、動いているコントローラの三軸方向の直線運動および三軸方向の角度運動を感知するための複数の自己完結式慣性センサーを含む。各センサーは、他のセンサーに対して、固定された線形位置および配向にマウントされている。コントローラの直線運動および角度運動は、前記複数の自己完結式慣性センサーのそれぞれの相関された動きセンサー読みから計算される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ・ディスプレイ・ゲームのような応用における、可動コントローラ(movable controller)を使った対話式制御のための自己完結式慣性ナビゲーション・システム(self-contained inertial navigation system)に関する。
【背景技術】
【0002】
任天堂(登録商標)Wii(登録商標)リモコンという無線コントローラは、コンピュータ・ディスプレイ・ゲーム・システムのためのユーザー対話式コントローラにおける最も最近の技術進歩の一例である。このリモコンは、対話するユーザーが手に持つ可動の無線リモート・コントローラであり、入力データを従来式の短距離無線RF伝送、たとえばBluetooth(商標)を介して、コンピュータ制御されるゲーム・ディスプレイ・システムに送信し、赤外光センサーを介してデータを受信する。このゲーム・コントローラは、公開された米国出願US2007/0060384(2007年3月15日)において詳細に記載されている。
【0003】
任天堂(登録商標)Wii(登録商標)のようなゲーム・システム用の可動コントローラでは、当該可動コントローラの相対的な直線運動および角度運動を感知し、追跡するために自己完結したINSシステムを使うことが望ましい。現行の最新技術の可動コントローラはこの機能をもたない。たとえば、Wii(登録商標)リモコンは、赤外光センサーを介して受信したデータを使って、環境中に何らかの既知の配位で設置された一組の外部赤外光源からの自分の位置および配向についての情報を推定することができない。しかし、光センサーの使用は、装置が光源に依存し、よって自己完結ではないことを意味する。外部信号源の使用は、ユーザーが外部源を設置し、設定する必要があるので、わずらわしい。さらに、ユーザーは、外部源を視野内に保つために、コントローラでなされる動きを制限しなければならない。自己完結式のシステムはそのような動きの制限がなく、ユーザーによる外部源の設置や設定も必要としない。
【0004】
自己完結式のINSシステムは典型的には、加速度計およびジャイロスコープのようなセンサーを使う。Wii(登録商標)リモコンのような現状技術の可動コントローラは、三軸加速度計を使う。しかしながら、可動コントローラの直線運動および角度運動を推定するために必要とされる6つの自由度すべてを計算するには、単一の三軸加速度計では不十分である。実際、単一の三軸加速度計では固定した回転と線形加速は同じ読み(reading)のセットを生じることがあるので、コントローラが並進されているのか回転されているのかさえ決定することができない。しかしながら、コントローラがどのように保持されており、どの軸に沿って動かされるかについての想定をすることによって、時には相対的な直線運動および角度運動を追跡することができる。たとえば、任天堂(登録商標)Wii(登録商標)についての現状技術のゲームでは、プレーヤーはコントローラをどのように保持し、動かすかについて指示される。プレーヤーがだいたい指示に従っていると想定することによって、三軸加速度計からの信号を解釈して、コントローラの相対的な直線運動および角度運動をおおまかに追跡することができる。しかし、ユーザーが可動コントローラを動かしたり保持したりしうる仕方を制約することが望ましくない幅広いクラスのゲームその他の応用がある。したがって、可動コントローラの現状技術は、不必要に制限がある。
【0005】
三次元空間中を動く物体の位置の感知および経路の追跡の背景を概観すると、追跡は、加速度計およびジャイロスコープの組み合わせを使って、加速が世界座標系における厳密に線形な加速を表すような慣性系を生成または計算する慣性ナビゲーション・システム(INS)によってなされる。物体の世界座標系での線形加速度を時間に対して知れば、その物体の開始位置に対する現在位置を、時間に対して計算することができる。物体の角加速度を時間に対して知れば、任意の時点におけるその配向を与えることができる。通常、物体の追跡において、角速度と組み合わされた線形加速度が、物体の開始位置に対する位置および配向を与えるために必要かつ十分である。あらゆる時刻において、求める必要のある6つの未知数がある。たいていのINS(慣性ナビゲーション・システム)は、3つの角速度を固定するまたは求めるためにジャイロスコープを使う。ひとたび時間に対して配向が知られれば、加速度計を使って上記のように3つの線形加速度を追跡することができる。慣性ナビゲーション・システムの分野に関する序説および詳細情報については、非特許文献1を参照。
【0006】
米国カリフォルニア州PATH交通およびハイウェー・システムのためにカリフォルニア大学バークレー校によって2002年6月に発表された非特許文献2を参照。この文献はここに参照によって組み込まれる。これは、加速度計だけを使って剛体の直線運動および角度運動を計算する慣性ナビゲーション・システムの実現可能性の研究である。この刊行物は、自動車などの線速度および角速度を測定するシステムに関するものである。その決定は、数十分の時間スケールで数十メートルの精度で動きを追跡する。
【非特許文献1】D. Titterton and J. Weston, "Radar, Sonar, Navigation & Avionics Strap down Inertial Navigation Technology", 2nd Edition, IEE Radar, Sonar, Navigation and Avionics Series, 2005
【非特許文献2】Chin-Woo Tan et al., "Design and Error Analysis of Accelerometer-Based Inertial Navigation Systems", 2002
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、可動コントローラを使った対話式制御のための自己完結式INSシステムを提供する。好ましい実施形態では、可動コントローラは、動いているコントローラの相対的な直線運動および角度運動を追跡することによって、コンピュータ・ディスプレイ・ゲーム・システムの何らかの側面に対する対話的な制御を提供する。
【課題を解決するための手段】
【0008】
ある実施形態では、本発明は、可動コントローラに複数の自己完結式慣性センサーを組み込み、各センサーによって感知された動きを相関させ、それにより動いているコントローラの三次元的な線形経路および角度配向の両方が精確に追跡されうるようにすることに関わる。最良な結果のために、前記複数の自己完結式慣性センサーは、6つの軸、すなわち3つの直線状の軸に沿った線形加速度について3つおよび角度運動を決定するための3つの軸に沿って追跡できる必要がある。こうして、可動コントローラ中の一つの三軸加速度計および一つの三軸ジャイロスコープの組み合わせが非常に効果的に機能することになる。しかしながら、当業者は、センサーのさまざまな他の組み合わせも効果的に機能するであろうことを認識するであろう。たとえば、6つの加速度計を既知のレイアウトで配置して、可動コントローラを使った対話式制御のための効果的なINSシステムを提供することができる。
【0009】
本発明のある実施形態では、6つ未満の軸に沿った動きを感知する自己完結式慣性センサー、たとえば三軸加速度計をもつ既存のゲーム・コントローラは、追加的な慣性センサーが取り外し可能な仕方でゲーム・コントローラに取り付けられることによって向上され、複合ゲーム・コントローラを与えうる。そのような複合ゲーム・コントローラは、該複合コントローラの直線運動および角度運動を感知することができるであろう。該複合コントローラは、動いているコントローラの直線/角度運動を感知するための自己完結式慣性センサーを含む少なくとも一つのコントローラと;さらに前記動いているコントローラの直線運動および角度運動を感知するための、前記コントローラに対する固定された線形位置および配向で前記コントローラに取り外し可能な仕方で取り付けられている一つまたは複数の自己完結式慣性センサーと;前記のコントローラのセンサーおよび別個のセンサーのそれぞれによって感知された動きを相関させる装置との組み合わせを有することになる。そのような複合コントローラにおいては、組み合わされたセンサーは、6軸全部に沿った動き感知を提供するべきである。たとえば、従来のゲーム・コントローラが三軸加速度計を有する場合、取り付けられた一組のセンサーは、一つの三軸ジャイロスコープまたは少なくとも組み合わされた三軸感知を提供する複数の取り付けられたジャイロスコープを含むことができる。取り付けられたセンサーは、従来のゲーム・コントローラに対して既知の位置に前記コントローラ上にマウントされるべきである。
【0010】
前記複合コントローラが6軸すべてに沿った感知を提供しない場合、それでも基礎コントローラより有用であることがありうる。特に、ユーザーが当該コントローラを保持し、動かす際の制約が、当該複合コントローラの直線運動および角度運動を追跡する機能を損なうことなく、緩和できることがありうるのである。
【0011】
本発明のある実施形態では、取り付けられたセンサーは、基礎コントローラに取り付けられた一つまたは複数の他のコントローラであってもよい。該コントローラが何らかの既知の配位で取り付けられることができるよう、別個のデバイスが設けられてもよい。あるいはまた、取り付けのために適切な縛り(banding)が使われてもよい。縛りがすべてのコントローラの互いに対する精密に知られた相対位置および配向を与えない場合、別個の較正段階が必要とされることがある。
【0012】
ある実施形態では、一つまたは複数の自己完結式慣性センサーをもつデバイスが、自らの直線運動および角度運動を追跡することができない従来式の基礎コントローラに取り付けられ、複合コントローラを角度運動および直線運動の両方を追跡するコントローラに変換してもよい。従来のWii(登録商標)リモコンでは、取り外し可能な仕方で取り付けられたセンサーは、従来の基礎コントローラのポートに挿入されうるドングルの形である。
【0013】
後述するように、上記の発明は、可動ゲーム・コントローラの直線運動および角度運動を動的に決定する方法として、また可動ゲーム・コントローラの直線運動および角度運動を動的に決定するためのコンピュータ・プログラムとして実装されてもよい。
【0014】
本発明のもう一つの側面によれば、自らの直線運動および角度運動を決定するための装置を有する上に定義した可動コントローラによってゲームの諸側面が制御されるコンピュータ・ゲーム・システムが提供される。たとえば、ゲームは前記コントローラの動きを解釈して、ゲーム・ディスプレイ上の剣のアニメーションを駆動して、ディスプレイ上の剣がコントローラの動きと見かけ上同じような仕方で動くようにしてもよい。自己完結式INSシステムは、追跡が始まったときのコントローラの位置および配向をもとにして動きを追跡できるだけなので、ゲームは、コントローラが何らかの初期の開始位置および配向に保持されていたと想定してもよい。その場合、制御される画面上のオブジェクトに適用される動きは、初期の開始位置および配向についてのこの想定に対して正しいのみである。開始位置および配向をより精確に決定するために、追加的な、自己完結式でなくてもよいセンサーおよび諸技法を使うことができる。
この簡単な要約は、本発明の性質が迅速に理解されうるよう与えたものである。本発明のより完全な理解は、本発明の好ましい実施形態の以下の記述を付属の図面との関連で参照することによって得ることができる。
【図面の簡単な説明】
【0015】
【図1】二つの動き感知ゲーム・コントローラまたは自己完結式慣性センサーを含む同様の筐体がドングル・アタッチメントによって着脱可能式に取り付けられて、本発明に基づくゲーム・コントローラを提供しうる、例示的な実施形態を示す図である。
【図2】二つの動き感知ゲーム・コントローラまたは自己完結式慣性センサーを含む同様の筐体が着脱可能式に取り付けられて、本発明に基づく複合ゲーム・コントローラを提供しうる、もう一つの例示的な実施形態を示す図である。
【図3】三つの動き感知ゲーム・コントローラまたは自己完結式慣性センサーを含む同様の筐体が着脱可能式に基板上にマウントされて、本発明に基づくゲーム・コントローラを提供しうる、もう一つの例示的な実施形態を示す図である。
【図4】本発明に基づくゲーム・コントローラにおける装置の一般化された例示的な表現を示す図である。
【図5】表示されるコンピュータ・ゲームに対して感知されるハンドヘルド無線ゲーム・コントローラの三次元的な直線運動および角度配向を示す図である。
【図6】コンピュータ制御されるゲーム・ディスプレイのためのコントローラでの本発明の動作におけるプログラムの一般化されたフローチャートである。
【図7】ある実施形態でソフトウェア要素を使う一つの方法の概観を示す図である。
【図8】ある実施形態で使われる逆あてはめアルゴリズムの二次元表現を示す図である。
【図9】ゲーム・コントロール・システムにおける情報の流れのデータ流れ図である。
【図10】可能性としてはフィクションのゲーム世界における、オブジェクトを選択する例を示す図である。
【図11】可能性としてはフィクションのゲーム世界における、見ることなくオブジェクト越しに撃つ例を示す図である。
【図12】可能性としてはフィクションのゲーム世界における、見ることなくオブジェクトの背後を照明する例を示す図である。
【図13】ある実施形態におけるプロセス流れ図である。
【発明を実施するための形態】
【0016】
〈定義〉
上述のものおよび以下のものを含めた本稿での本発明の記載において、使用される用語を明確にするために次の定義を掲げておく。
【0017】
自己完結式慣性センサー(self-contained inertial sensor):動いている物体の、6つの可能な直線軸および角度軸のうち一つまたは複数の軸に沿った加速度を測定するための、外部信号源が環境中に置かれることを必要としない装置。特に断りのない限り、「センサー」の語は、自己完結式慣性センサーを指すものと理解される。例示的な目的のため、本稿では、加速度計およびジャイロスコープを使った具体化を記述するが、当業者は、自己完結式慣性センサーとして他の装置を使うこともできることをただちに認識するであろう。たとえば、時間の経過に対して諸画像を比較するカメラ(たとえば光学式マウスで使われているカメラ)は自己完結式慣性センサーとして使うことができる。しかし、環境中に意図的に置かれた赤外線源またはマーカーを追跡することによって機能するよう設計されている赤外線カメラは、自己完結式慣性センサーの例ではない。
【0018】
加速度計(accelerometer):動いている物体の一点において一つまたは複数の軸に沿った加速度を測定する装置。加速度計は、自己完結式慣性センサーの例である。本装置は、所与の位置において測定する軸の数に依存して、一軸ないし三軸であることができる。たとえば、三軸加速度計は、該加速度計が位置されている点における三つの軸に沿った加速度を測定する。剛体は、直線三つ、回転三つで六つの可能な自由度で独立して動くことができる。したがって、動きの経路に対する制約について追加的な前提なしには、単一の加速度計は、それが取り付けられている剛体の直線運動および角度運動を決定するのには、決して十分であることはできない。さらに、動きの経路に対する制約についてのさらなる前提を課すことなしには、単一の加速度計は(三軸加速度計でも)、それが取り付けられている剛体の動きが単一自由度に沿ったものであるかどうかさえ決定できない。それは、追加的情報なしでは、それが経験している加速の源が、それが取り付けられている剛体の直線運動からのものか角度運動からのものかを知る手だてがないためである。しかしながら、何らかの好適な配位で剛体上の種々の点に配置された一組の加速度計からの読みを処理することで、六つの自由度すべてに沿っての剛体の直線運動および角度運動を決定することができる。注意しておくべきは、静止しているときでさえ、加速度計は地球の、あるいは他の任意の十分大きな物体の重力場に応答するということである。
【0019】
ジャイロスコープ(gyroscope):回転する物体上のある点において一つまたは複数の軸のまわりの角速度を測定する装置。ジャイロスコープは、自己完結式慣性センサーの例である。本装置は、所与の位置において測定する軸の数に依存して、一軸ないし三軸であることができる。たとえば、三軸ジャイロスコープは、該ジャイロスコープが位置されている点における三つの軸のまわりの角速度を測定する。三軸ジャイロスコープは、時間の経過に対して剛体の配位を追跡するためには十分ではあるが、空間中の物体の線形運動に関しては何の情報も与えてくれない。
【0020】
コントローラ(controller):可動ゲーム・コントローラ。必須ではないが好ましくは無線式かつハンドヘルド型で、該コントローラには一つまたは複数の自己完結式慣性センサーが含まれており、コンピュータ・ゲームのような関連する対話式アプリケーションを制御するための出力データを与える。
【0021】
基礎コントローラ(basic controller):上に定義したようなコントローラであって、六つの自由度すべてにおける直線運動および角度運動を追跡するために十分な自己完結式慣性センサーを欠いているもの。
【0022】
複合コントローラ(composite controller):本発明に基づくコントローラ。基礎コントローラの動き感知機能を高めるよう、基礎コントローラに自己完結式慣性センサーを含む別のコントローラまたはデバイスを取り付けたもの。
【0023】
自己追跡オブジェクト(self-tracking object):自己追跡オブジェクトとは、そのオブジェクトの位置および配向の変化を追跡するのに十分な時系列を発生させる自己完結式慣性センサーを含んでいるオブジェクトである。複合コントローラは、自己追跡オブジェクトでありうるオブジェクトの一例である。
【0024】

〈発明の説明〉
本発明のいくつかの実施形態について詳細に述べる。図1〜図3のそれぞれは、複合ゲーム・コントローラのいくつかの可能な実施形態の一つを示している。そこでは、動いている複合コントローラの直線運動および角度運動を表す、複合ゲーム・コントローラからの統合的な(unitary)出力が与えられる必要がある。
【0025】
図1を参照すると、ドングル接続を使って複合コントローラが構築されている。特に、補助的な自己完結式慣性センサー103を含んでいる補助的なコントローラまたは筐体が基礎ゲーム・コントローラ101のポート102に受け容れられている。そのような結合において、ドングル103中の自己完結式慣性センサーからの出力は、コントローラ101中のデータ処理ユニットによって、コントローラ101中の自己完結式慣性センサーの出力と組み合わされて、複合コントローラ全体の組み合わされた出力を与えうる。最良の結果のために、複合コントローラ中の自己完結式慣性センサー全部における組み合わされた感知は、6つの軸、すなわち三つの直線軸に対する動いている複合コントローラの直線運動の感知のための三つの線形独立な軸と、三次元的な角度運動を感知するための三つの線形独立な軸とに沿った動き感知を提供するべきである。こうして、基礎コントローラ101が三軸加速度計を有する場合、ドングル103が含むべきは、基礎コントローラの三軸加速度計と組み合わされたときに、六つの自由度全部における動きの感知を提供するような自己完結式慣性センサーである。
【0026】
図2に関しては、基礎コントローラ201と固定された位置および配向で、コンポーネント202がストラップ203によって縛られてもよい。この実施形態のこの初歩的な図解では、二つのゲーム・コントローラが一緒に縛られる。しかしながら、コンポーネント202は、支持ハウジング中にマウントされた適切な自己完結式慣性センサーであってもよい。基礎コントローラ201が従来式の三軸加速度計をもつ場合、コンポーネント202が含むべきは、該三軸加速度計との組み合わされた出力が、六つの自由度全部を追跡するのに十分なような追加的な自己完結式慣性センサーである。ここでもまた、センサー筐体に関わりなく、複合ゲーム・コントローラを形成する前記複数の自己完結式慣性センサーの出力を組み合わせて、動いている複合コントローラの直線運動および角度運動を表す、複合ゲーム・コントローラからの統合的な出力を提供するようにするためのハードウェアまたはソフトウェアでの実装がなければならない。
【0027】
図3を参照すると、図2と同様のもう一つの初歩的な図解が示されている。基礎コントローラ301は、剛性の平面状支持基板305上にマウントされている。この例示的実施形態の目的のために、二つの追加的なコンポーネント302および303も基板305にマウントされている。これらのコンポーネントのそれぞれは、少なくとも一つの自己完結式慣性センサーを提供する。図3の初歩的な実施形態の図解における便宜上、自己完結式慣性センサーを含む三つのゲーム・コントローラがバンド304によって互いに対して固定された位置および配向に縛られており、コントローラ301に縛り付けられている、二つの自己完結式慣性センサー含有コンポーネント302および303はコントローラでなくてもよい。コンポーネント302および303は、自己完結式慣性センサーを支持する筐体中にマウントされた適切な自己完結式慣性センサーであってもよい。補助的コンポーネント302および303がコントローラであるか単に必要な自己完結式慣性センサーであるかにかかわりなく、当該複合ゲーム・コントローラを形成する複数の自己完結式慣性センサーの出力を組み合わせて、動いている複合コントローラの直線運動および角度運動を表す、複合ゲーム・コントローラからの統合的な出力を提供するための実装がなければならない。
【0028】
図1〜図3に描かれている複合コントローラのそれぞれにおいて、取り付けられた自己完結式慣性センサー・コンポーネントと基礎コントローラとの間に何らかの形のデータ伝送チャネルが設けられてもよい。通常の短距離無線RF伝送、たとえばBluetooth(登録商標)システムが、たとえば取り付けられたコンポーネント202から基礎コントローラ201にデータを伝送するために使われ、基礎コントローラ201において出力が相関されてもよい。あるいはまた、コンポーネント201および202のそれぞれの角度運動および/または直線運動を表すデータが、コンピュータ制御されるゲーム・ディスプレイに無線で送信され、ゲーム・ディスプレイのコンピュータによって相関させられて、コンピュータ・ゲームのプレイに必要とされる剛性コントローラの角度運動および直線運動を与えることもできる。
【0029】
本発明の広い側面によれば、図4に示されるように、六つの軸に沿った感知を提供するために必要とされる自己完結式慣性センサーのすべてが一つのゲーム・コントローラに組み込まれてもよい。
【0030】
先述したように、組み合わされた自己完結式慣性センサーは、制約のないユーザーによる動きを追跡するために、三つの直線軸および三つの角度軸のすべての感知を提供する必要がある。この要請は、さまざまな方法で満たすことができる。具体的には、ジャイロスコープが高々三つの、少なくとも六つの相異なる軸に対する読みを提供する加速度計およびジャイロスコープの任意の組み合わせが適切に位置されれば十分であろう。一つの三軸加速度計および一つの三軸ジャイロスコープを使うとき、センサーは、互いに対して任意の既知の関係で置かれてよい。角速度の読みの数が三つに満たないとき、組み合わされた自己完結式慣性センサーの互いに対する位置および配向は、現実的な機能する実施形態を提供するために重要である。任意の所与の組の自己完結式慣性センサーについて、そのような位置および配向の多くの組み合わせが現実的であろうが、加速度計を使うときのそのような現実的な組み合わせの決定については、上記の非特許文献2を参照してもよい。
【0031】
ここで、図1〜図3のいずれかにおけるマウントされた自己完結式慣性センサーの相関を考える。これら三つの実施形態のそれぞれは、無線式複合ゲーム・コントローラと考えることができ、結果として得られるのは、自己完結式慣性センサーと、当該装置によって記録された加速度および角速度のデータを時刻tにおける世界座標系での当該装置の新しい位置および配向を計算するのに十分な情報に変換するプログラム・ルーチンとを含むシステムである。適切な変換については、上記の非特許文献2、特に6ページの式2.7を参照。該文献では、加速度計出力は世界座標系における直線加速度と物体座標系における角加速度との関数であることが述べられている。上に参照した論文における用途は、六つの一軸加速度計の使用を想定しているが、式2.7は、直接、観察された角速度を代入して、微分を取って角加速度を計算することによって、加速度計の代わりに一つまたは複数のジャイロスコープを扱うよう修正できる。すると三つの方程式を解くことにより、システムは、時間の経過に対するコントローラ内のある固定点の位置および配向を追跡できるようになる。前記各実施形態のコンポーネントのいずれにおいても、自己完結式慣性センサーのすべては、上記のような動いているコントローラの直線運動および角度運動を計算するのに十分な出力を提供するために現実的な自己完結式慣性センサーの組み合わせを提供するよう、位置され、配向されなければならない。そのようなセンサー配位のすべてが実用的ではないながら、驚くことに、三つの加速度計を使った構成のほとんどすべてが実用的であると判明することが見出されている。こうして、加速度計の位置および配向の配位は、複合ゲーム・コントローラの編成において、細かくではなく、大まかに調整するだけでよい。
【0032】
上記の非特許文献2に関し、本発明の目的は、数十分の時間スケールでの数十メートルの精度という該文献の乗物スケールではなく、数秒の時間スケールにおけるセンチメートル・スケールの精度での動きの追跡であることも、注意しておくべきである。
【0033】
より具体的には、図面に示した構造に関し、図1の実施形態の利点は、ドングル・プラグインが本発明の実際的な実施形態を表すということである。上述したように、動き感知ドングル103は、既存の動き感知ゲーム・コントローラ101の拡張ポート102に差し込まれる。たとえば、動き感知ゲーム・コントローラが任天堂(登録商標)Wii(登録商標)リモコンである場合、ドングルはその拡張ポートに差し込まれる。この実施形態は、動き感知機能をもつゲーム・コンソール(たとえば、任天堂(登録商標)Wii(登録商標)システム)のあらゆる消費者にとって入手可能な一つの動き感知ゲーム・コントローラにのみ依拠するので、商業的に現実的である。その際、複数の自己完結式慣性センサーを含む新しいドングルがほどほどのコストで生産できる。基礎コントローラ、たとえばWii(登録商標)リモコンへの相互接続のため、この構成から望ましい動きデータを抽出するために特別な努力は要求されない。図5に関して後述するように、コントローラからゲーム・ディスプレイに向けられたゲーム・コントローラ信号は、Wii(登録商標)リモコン内の三軸加速度計からの出力と、ドングル内の複数の自己完結式慣性センサーからの相関された出力とを含むことになる。
【0034】
図1の実施形態のもう一つの側面によれば、取り付けられたドングルは、動き感知するゲーム・コントローラのセンサー(たとえば三軸加速度計)と組み合わされたときに、センサーの読みの結果として得られる組み合わせが、時間に対するコントローラの位置および配向を推定するために十分であるような、十分な追加的な自己完結式慣性センサーを含んでいる。ドングルだけでは、必ずしも6変数すべてを完全に指定するのに十分でなくてもよいが、自己完結式慣性センサーの数およびそのドングル中でのだいたいの位置付けを選択することによって、そのようなドングルをWii(登録商標)リモコンのような基礎ゲーム・コントローラに取り付けることを通じて、各デバイスが個々に有するデータが不十分だったとしても、6つの次元すべてにおける運動および配向を追跡する機能をもつ複合コントローラを創り出すことが可能になるのである。基礎ゲーム・コントローラが三軸加速度計を有するとして、ドングルの可能な実施形態は、三つの線形独立な軸をカバーするジャイロスコープを、あるいは二つ以下のジャイロスコープに角加速度を推定するための追加的な加速度計を合わせたものを含むことになる。基礎コントローラ中の三軸加速度計からドングル中の慣性センサーまで走る軸のまわりの角速度を測定するためのジャイロスコープが利用可能でない場合、精確な状態推定を得るためにユーザーの動きを制約することが必要になることがありうる。というのも、加速度計はこの軸のまわりの角加速度を直接検出することはできないからである。その制約は、システムによって、システムの任意のユーザーに、手首のこの動きをできるだけ制限する必要があると伝えるために伝達される。
【0035】
代替的な実施形態が図2に示されている。ここでは、複数のゲーム・コントローラが組み合わされて複合コントローラを形成し、複合コントローラの共同センサーが全部で六つの直線/角度軸の感知を提供する。三つ以上のコントローラを含めることによって、あるいは三つの線形独立な直線軸および三つの線形独立な角度軸に沿って測定するために必要とされるよりも多くのセンサーを使うことによって、追加的な利点が見出されることもありうる。上記の実施形態で述べたように、複合コントローラの構成が角度軸のうちの一つまたは複数に沿った測定を許さない場合には、何らかの仕方でユーザーの動きを制約することが必要となることがありうることを注意しておく。しかしながら、センサーの読みが線形独立であれば、使えるのが加速度計だけだったとしても、非特許文献2に記載された方法は六つの軸すべてについて解くために十分であろう。
【0036】
図2の実施形態の一つの利点は、既存の基礎コントローラからユーザーが複合コントローラを構築することを許容できるということである。しかしながら、この方法は、構成をシステムに知らせるために、デバイスごとの較正プロセスを必要とする可能性が高い。これは、ユーザーに、その複合コントローラを一連の簡単な静的姿勢に置いてもらう(コントローラを精密な弧に沿って動かすのではなく)ことによって実装できる。平らな表面上で、コントローラは、各動き感知ゲーム・コントローラの製造業者のフェースプレートを平らな表面上に載せて(すなわち、それぞれのy軸が重力の方向と揃えられる)、暫時安置したままにされる。この簡単な静的姿勢は、上で参照したアルゴリズムの構成を調整して、ユーザーが実際に創り出したものとより緊密に整合するようにすることを許容する。ここで先述したように、加速度計を組み合わせて直線運動および角度運動の追跡を提供する際、互いに対する加速度計の大まかな位置付けでさえ、これらの運動属性についてのあるレベルの追跡を提供する。さらに、加速度計の整列の比較的大まかなレベルの精度が、システムへのドメインレベルのフィードバックによって向上されることがありうる。それは最終的に累積しうる位置付けの誤差を緩和するのを助ける。したがって、加速度の読みの精度を外挿して、コントローラの最適位置付けについて、単なる知識に基づく推定だったものの埋め合わせをすることが可能になる。
【0037】
上記の一般的なアルゴリズムは、一つまたは複数の繰り返された動きの終わりにおいてのみ、結果を報告するよう拡張されてもよい。ここで、各動きは同一の初期制約条件で始まり、時間および空間において本質的に同じ軌跡をたどり、最終的な速度および加速度は0になる。m≧1をそれらの繰り返される動きの数とする。すると、最終的な動き軌跡推定は、入力として、時間に対するm個の解すべてと、任意的にコントローラについての線加速度および角加速度についての、全m組の時系列センサー読みのデータを取ることができ、そのm個の入力の関数として計算された一つの最終的な解を出力することができる。
【0038】
さらに、本アルゴリズムは、加速度計に基づく動き認識を使って、どの繰り返される動きがこの最終的な動き軌跡推定器への入力として受入可能かを制約するよう拡張されてもよい。本発明の各コントローラは動き信号を提供するので、提案されるユーザーとの適切なトレーニングまたは較正セッションを通じて、ジェスチャーが受入可能な動き信号の提供について分類されてもよい。すると、オリジナルとは著しく異なっている動きは、同定され、上記の総合(aggregation)プロセスから除去されることができる。
【0039】
本アルゴリズムは、コントローラに累積した誤差が大きくなってリーズナブルな追跡情報をもはや与えなくなるまでになったとき、システムに通知するよう拡張されてもよい。本アルゴリズムはまた、計算された速度はいかなる時点においても、いかなる軸に沿っても、人間の限界を超えることは許されないといった、追加的な前提を入れて拡張されてもよい。
【0040】
図5は、図1〜図4の装置に関して記載してきたものの簡単な図解である。コンピュータ制御された対話式ゲーム・ディスプレイ500がゲーム・コントローラ503によって制御されるゲーム・アクション501を有する。ゲーム・コントローラ503は好ましくは本発明に基づく複合コントローラで、プレーヤーの動く手502によって何らかの経路506に沿って運ばれてもよい。経路506は直線成分504および角度成分505を有する。
【0041】
コンピュータ制御されるディスプレイ500およびハンドヘルド・コントローラ503内のプログラムは、プレーヤーがコントローラを何らかの開始位置に保持していると想定し、次いで、プレーヤーがコントローラを動かすと、プログラムは、数秒間は信頼できる形でコントローラ503の相対的な位置および配向を推定できる。その時間の間、ゲーム500はコントローラの状態の表現を描く501ことができる。逆運動学(inverse kinematics)のような既知の技法により、コントローラの状態はゲームにおけるアニメーションを駆動できる。たとえば、プレーヤーが物理的なコントローラを振ったのと同様の仕方で、ゲームのキャラクターが仮想的な剣を振ることができる。
【0042】
ゲームの境界、すなわちゲーム・ディスプレイ500に関するコントローラ503の動きの限界の位置は任意であり、ドメイン依存である。好ましくは、ゲーム・ディスプレイの初期位置のまわりに、ある半径がある。該半径は、たいていのゲーム・コントローラの動作範囲(operational range)くらいである。
【0043】
ここで図6を参照すると、図5に関して記載したようなコンピュータ制御されるゲーム・ディスプレイを使った本発明の動作におけるプログラムの一般化されたフローチャートが記載されている。
【0044】
ユーザーがコントローラの動きを開始したかどうかについて、初期判定がされる(ステップ601)。コントローラの初期状態に関し、初期速度および加速度は0という制約が提案される。動きの初期判定が「YES」であれば、コントローラ内の全センサーからの読みを取得する必要がある。複合コントローラの場合、これは、基礎コントローラからのすべてのセンサーの読みおよび複合コントローラを較正する他のコンポーネントに付随する任意のセンサーからのすべての読みを含む。典型的には、センサー値は、何らかの好適な高い周波数で読まれ、センサーの読みからのデータは、プレイされているコンピュータ・ゲームと整合する適切な点で、コンピュータ制御されるディスプレイに、先述した短距離RF伝送を介して出力される(ステップ602)。センサー読みデータの伝送は典型的には、コントローラおよびコンピュータ制御されるゲーム・ディスプレイがオンにされるときは常に、1秒間に何百回も行われる。よって、ステップ602は単に、コンピュータ制御されるディスプレイが本発明と整合する仕方でそれらの読みを処理することを開始するということを含意するに過ぎない。次に、コンピュータ制御されるディスプレイに付随するプロセッサが、センサーの読みから角度運動を抽出するステップ603を実行する。このステップは、使用されるセンサーの具体的な構成に依存する。たとえば、三つのジャイロスコープが使われる場合、それらのジャイロスコープは角速度の読みを与え、それらの読みが一度積分されて、相対的な角度運動、すなわち配向の変化を得ることができる。代わりに加速度計が使われる場合、読みは角加速度を与えることになり、それらの読みは、二度積分されて、相対的な角度運動を得ることができる。もちろん、ジャイロスコープが一部の角度軸のために使われ、他の角度軸には加速度計が使われることもできる。その場合、ステップ603は、ジャイロスコープからの読みについては一度、加速度計からの読みについては二度積分する適切な動作を実行することになる。ステップ603で計算された配向の変化は、次いで、ステップ604で、その配向変化を加えることによって以前の配向推定を更新するために使われる。次いで角度運動を計算する際に使われなかったセンサーの読みが、センサー読みデータから抽出される(ステップ605)。典型的には、残っているセンサーの読みは加速度計からのもので、それらの加速度計の読みから、ステップ603からの角度運動の推定が除去され(ステップ606)、三つの直線軸すべてに沿った直線運動、すなわち位置の変化に起因する加速度を残すことができる。次いで、ステップ606で計算された推定された位置の変化を使って、コントローラの位置を更新できる(ステップ607)。コントローラが動かされ続ける際、動きが続けられているかどうかに関する判定がなされる(ステップ608)。YESであれば、プロセスはステップ602に戻る。NOであれば、ゲームが終了しているかどうかについてのさらなる判定がなされる(ステップ609)。YESであれば、ゲームは終了される。NOであれば、プロセスは分岐してステップ601に戻る。ここで、プレーヤーの次のコントローラ動きを待つ。
【0045】
ここで図7を参照すると、ソフトウェア要素を使う一つの方法の概観が述べられる。
【0046】
左側は、第一時間の状況706を示している。右側は、第二時間の状況707を示している。
【0047】
第一の時間期間706(図7では過去として示されている)において、ゲーム・プレーヤー702は自己追跡オブジェクト703を保持している。自己追跡オブジェクト703からの出力はゲーム・コンソール704に無線または他の何らかの技法によって通信されている。ゲーム・コンソール704はゲームと関連して動作する。ゲームはゲーム世界(たとえば創作の、架空の世界)の描写をディスプレイまたはその他の呈示装置720上に呈示している。
【0048】
第二の時間期間707(図7では現在として示されている)において、プレーヤーは自己追跡オブジェクト703でジェスチャーまたは他の動き711を実行する。動き711は並進成分712および回転成分712を含む。この動きの結果、デバイスは、第一の時間期間706における第一の配位708から、第二の時間期間707における第二の配位714へと動かされる。動き711に応答して、自己追跡オブジェクト703は一つまたは複数の時系列のデータを生成する。該一つまたは複数の時系列データは動き711を記述するものである。
【0049】
ゲーム・コンソール704上で実行される、あるいは別のデバイス上で実行されゲーム・コンソール704がアクセスできるソフトウェア要素705は、動き711に応答して自己追跡オブジェクト703によって生成された時系列データの少なくとも一部を解釈して、呈示装置720をして、第一の配位715から第二の配位716へと動く、自己追跡オブジェクト703に対応するオブジェクト(ゲーム世界における何らかの架空のキャラクター)の対応するアニメーションを表示させる。ある実施形態では、これらのソフトウェア要素705は、ここに記載される方法を使うことで、他の場合に可能であるより忠実な前記の動きの対応するアニメーションを生成する。
【0050】
ここで図8を参照すると、ある実施形態で使われる、自己追跡オブジェクトに適用される逆あてはめアルゴリズム(backfitting algorithm)が記載される。
【0051】
最も一般的なケースでは、動きは三次元で生起し、並進の自由度3つ、さらに回転の自由度3つがある。説明の目的のため、そして二次元のページでの表現の簡単のため、以下の記載は二次元の動き811に関するものとなっている。しかしながら、以下の二次元の場合についての記載は、本方法が三次元の動き811にどのように適用されるかを十分すぎるほど例解している。したがって、当業者は二次元の動き811に関する本方法の記載から、同じ方法を三次元の動き811に関してどのように適応するかを、簡単に理解するであろう。
【0052】
何らかの第一の配位にある図7に示された動き感応装置703のような自己追跡オブジェクトについて動き811が始まる。前記第一の配位では、位置801および配向802は既知であるか、あるいは少なくとも既知であると想定される。オブジェクトの初期配位を推定する諸方法は、以下により詳細に述べる。ある実施形態では、自己追跡オブジェクトの配向802は加速度計の読みから推定される。加速度計の読みは、瞬間的な静穏期間の間に、自己追跡オブジェクトに対する重力の方向を指示するのである。加速度計およびジャイロスコープからのセンサー読みに応答して、ソフトウェア要素705は、静穏期間中であるかどうかを判定する。ある実施形態では、原点は自己追跡オブジェクトの位置に設定される。
【0053】
代替的な諸実施形態では、初期配位についての情報を推定するために、直接ポインティング・デバイスからの情報が使用されてもよい。たとえば、自己追跡オブジェクトがレーザー・ポインタを含んでいてもよく、それをユーザーが呈示装置820のほうにまたはソフトウェア要素705に位置が知られている他の何らかの装置のほうに向けることによって、向き付けしてもよい。当業者は、自己追跡オブジェクトの開始時の配位に関して、多様な他のおよびさらなる可能なセンサー、想定またはセンサーおよび想定の両方が使用されうることを認識するであろう。
【0054】
自己追跡オブジェクトが動くにつれて、ソフトウェア要素705はジャイロスコープおよび加速度計の読みを積分し、組み合わせ、自己追跡オブジェクトの時間変動する配位における変化の推定を提供する。以下の式は、単純化された例示的な計算を示す:
・配向(t+dt)=配向(t)+Gyro(t)×dt (1)
・速度(t+dt)=速度(t)+{配向(t)×[Acc(t)−(時刻tにおける回転からの向心加速度)]−重力}×dt (2)
・位置(t+dt)=位置(t)+速度(t+dt)×dt (3)。
【0055】
上記の式(1)において、Gyro(t)は時刻tにおける角速度の三つの直交する読みを含む。以前の読み以来経過した時間dtをかけることによって、該以前の読み以来の各軸のまわりの角度変化が得られる。この変化が以前の配向推定に適用できる。これらの計算をする実施形態は、配向情報が保存される形に依存する。ゲーム業界では、この目的のためには四元数が普通に使われる。その場合、Gyro(t)×dt項からの角度変化は、四元数回転に変換され、四元数の算法を使って加えられることができる。
【0056】
式(2)において、Acc(t)はオブジェクトの基準座標系における時刻tにおける加速度の三つの直交する読みを含む。加速度計が物理的にジャイロスコープと同じ位置にない場合、計算はまず、加速度計がジャイロスコープの位置のまわりを回転していることから帰結する一切の加速を差し引く。たとえば、加速度計がオブジェクトのz軸に沿って変位されている場合、以下の調整が加速度計の読みに対してなされる必要があろう。Acc(t)とGyro(t)はベクトルなので、そのそれぞれのスカラー成分を指すために[0]、[1]および[2]が使われる。
・Acc(t+dt)[0]を、AA[1]×zOffset−(Gyro(t+dt)[0]×Gyro(t+dt)[2])×zOffsetだけ増やす
(4)
・Acc(t+dt)[1]を、−AA[0]×zOffset−(Gyro(t+dt)[1]×Gyro(t+dt)[2])×zOffsetだけ増やす
(5)
・Acc(t+dt)[2]を、(Gyro(t+dt)[0]^2+Gyro(t+dt)[1]^2)×zOffsetだけ増やす
(6)
ここで、
AA[0]=(Gyro(t+dt)[0]−Gyro(t)[0])/dt
(7)
AA[1]=(Gyro(t+dt)[1]−Gyro(t)[1])/dt
(8)。
【0057】
調整された加速度計の読みは、オブジェクトの現在の配向を使って、オブジェクト座標系から世界座標系に変換される。重力に起因する加速(地球表面上では約9.8m/s/s)が差し引かれる。オブジェクト位置の三次元方向のそれぞれにおける変化はdt×dtを乗算することによって見出すことができる。
【0058】
これらの計算または等価な計算を使って、ソフトウェア要素705は、点線803で示されるような位置および配向の推定を生成できる。ノイズ、限られた精度またはその他の要因などによって引き起こされるセンサー読みの誤差の累積のため、あるいは時系列データの伝送の誤差に起因して、自己追跡オブジェクトの実際の位置および配向は、現実からは少なくともいくらか違った位置および配向805の組の推定を生成する可能性が高い。時間がたつと、この違いはゲーム・コンソール704およびゲームの動作にとって有意となるに十分になることがある。たとえば、時間がたつとともに、推定された位置および配向推定値を結合することによって生成されたアニメーションがプレーヤーにとってますます非現実的に見えるようになるのに十分大きくなることもある。
【0059】
時折、ソフトウェア要素705は、動き感応オブジェクト703の位置および配向に関する追加的な情報を受け取る。該情報は識別可能な時間に利用可能になる。その結果、ソフトウェア要素705は、新しい瞬時的な位置806aおよび配向806bを決定できる。第一の例として、これは、プレーヤーが動き感応装置703を動かすのを止め、その結果、識別可能な静穏期間にはいる場合に起こることができる。第二の例として、ソフトウェア要素705は、上記のポインティング・デバイスのような他のセンサーからの読みを受信することがある。その結果、その時点で、新しい瞬時的な位置806aおよび配向806bの少なくとも何らかのサブセットをより精密に推定できる。配位についてのこれらの新しい推定値を計算するいくつかの例をのちに述べる。
【0060】
精密な情報または他の補正情報が利用可能になるとき、本願発明者らは、その情報は、単にその時点におけるより信頼できる推定値を得ること以上のために使えることを発見した。具体的には、その情報は、センサーの読みの最近の履歴の少なくとも何らかの部分にわたる誤差について何かを推定するために使うことができる。そうした誤差推定を考慮に入れることによって、図8の実線804で示されるような新しい軌跡が計算されることができる。新しい軌跡804はまだ自己追跡オブジェクトの実際の軌跡の完璧な反映ではないことがありうるが、本願発明者らは、単なる元の推定よりは精確で有用なものであると見出した。特に、遅延はされるが、プレーヤーにとって、実行されたばかりの動き811のより精確な表現と見えるアニメーションを駆動するために使うことができる。
【0061】
ある実施形態では、再推定された軌跡の計算は、次の要素およびステップを含む。
【0062】
再推定された軌跡の計算は、二つの範疇の誤差に主たる関心を寄せる。
【0063】
・第一の範疇は、異なる時点においてセンサーに対する効果が本質的にランダムである誤差を含む。そのような誤差は、センサーの読みの報告におけるノイズ、限られた精度に起因するセンサーの読みの報告における打ち切り誤差などに応答したものでありうる。一例として、ジャイロスコープの読みが8ビット値として報告される場合、これは、本質的にランダムな誤差――真の値とこの限られた精度に丸められる値との間の差――の効果をもつことになる。
【0064】
・第二の範疇は系統的な、すなわち、ある特定のセンサーのデータが時間がたっても実質的に一貫した仕方で影響される誤差を含む。そのような誤差は、そのセンサーの較正誤り(たとえば、本当の0の値について報告されたセンサー・データが、有限の0でない値に誤って較正されることがありうる)に応答したものでありうる。
【0065】
再推定された軌跡の計算は、まず配向の誤差に対処する。動き時間のこの区間についての初期位置をt0と記し、時刻t1ないしtk(両端含む)におけるk回の更新を想定すると、時刻tkにおける予測される配向は
・配向(t0)+Σi=1 to k Gyro(ti)×(ti−ti-1) (9)
となる。
【0066】
予測される配向は、各Gyro(ti)を(tgtOrient−配向[tk])/(tk−t0)×(ti−ti-1)だけ調節することにより、強制的に目標配向(target orientation)に合わせられることができる。
【0067】
計算は、これらの調節を、上記の二つの誤差源に割り当てる。ランダム誤差の範疇をkステップのランダムウォークと見ると、典型的な変位(√k)×err<sensor>があるはずである。ここで、err<sensor>は個々の読みに対するそのセンサーについての典型的な誤差である。この値は、実験解析によって決定できる。残りの誤差は、もしあれば、ジャイロスコープ上のオフセット誤差であると想定でき、将来の読みに対して適用できる。ある実施形態では、適用される最大補正を制限して、残留補正がもしあればそれをさらなる未知の因子に帰することが望ましいことがありうる。
【0068】
計算は同様の手順を、位置の更新の際に配向の新しい推定値を使って、加速度計の読みを調節するために適用する。位置についての手順は、いくらかより込み入っている。というのも、加速度計の読みに適用される調節は、その時点のセンサーの配向に依存して最終的な位置に対して異なる効果をもつからである。まず、計算は、新しい調節された配向および向心加速度(centripetal acceleration)が正しいと想定する。すると計算は、上記の式(2)および式(3)を使って、三つの加速度計の読みのそれぞれの、各ステップについての位置の三つの成分のそれぞれに対する効果を算出できる。これは、時刻tkについては、位置の三つの成分jのそれぞれについて、
・位置(tk)[j]=位置(t0)[j]+速度(t0)[j]×(tk−t0)+Σi=1 to k φ×Acc(ti)×(ti−ti-1)×(tk−ti) (10)
という効果をもつ。ここで、φは、配向(ti)が与えられたとき、Acc(ti)の各成分が速度の成分jに対してもつ効果を示すベクトルである。
【0069】
この式は、Accの読みの変化が最終的な位置にどのように影響するかを支配する。計算は、目標位置に合わせるためにAccに対してなす最小の調節を見出すために解く。これらの調節に応答して、計算は、上記の方法を使って、それらをノイズ誤差とオフセット誤差との間で分ける。
【0070】
再推定または逆あてはめのプロセスは、動き811の終わりに一度起こるだけということに制限されない。動き811の期間の間、どんなに短くても長くても、追加的情報が利用可能になるときは常に、その追加的情報は、現在の動き811およびその任意の過去の一部についての、再同期および再推定ステップとして組み込まれることができる。普通なら動き感知装置703によって導入されるかもしれない何らかの誤差をより信頼できる形で推定するために先に向かって使われることもできる。線808は、ソフトウェア要素705によって、第一のセットの推定パラメータを使って生成された第一の位置および配向経路を示している。線807は、上記のような新しい情報を組み込んだのち、かつ線808によって示される位置および配向経路を再推定したのち、ソフトウェア要素805によって、第二のセットの推定パラメータを使って生成された第二の位置および配向経路を示している。このプロセスは、繰り返し、逐次的に適用されることができる。その結果、ソフトウェア要素705は、動き811の忠実な追跡の比較的より長いシーケンスを、精確に決定しうる。
【0071】
上記の計算は、推定される軌跡およびセンサー誤差を調節するために、目標配位についての情報を使う。代替的な実施形態では、計算は、目標速度についての情報を使ってもよい。そのような場合、計算は、上記の式(10)の代わりに下記の式(11)
・速度(tk)[j]=速度(t0)[j]+Σi=1 to k φ×Acc(ti)×(ti−ti-1) (11)
を使うことによって得られる対称的な手順を使う。
【0072】
ここで図9を参照して、以下ではゲーム・コントロール・システムにおける情報の流れのデータ流れ図について述べる。
【0073】
自己追跡オブジェクト917は一組の生のセンサー読み902を提供し、これをデバイス・ドライバ901が自己追跡オブジェクト917から受信する。デバイス・ドライバ901はハードウェア較正ステップを適用して、一組の較正されたセンサー読み908を生成する。ハードウェア較正の技法は当業者には知られており、たとえば、(a)既知のまたは計算された温度変動に従って生のセンサー読み902を修正すること、ならびに(b)自己追跡オブジェクト917の製造工程で導入されたかもしれない誤差を補償することが含まれる。製造誤差は、自己追跡オブジェクト917が製造されるときに、工場で実行される較正ステップで検出してもよい。
【0074】
ある実施形態では、ゲーム911は、自己追跡オブジェクトの初期配位についての想定910を定式化する。これらの想定は、ソフトウェア要素705がオブジェクトの初期配位についてなすべき想定を含むことができる。たとえば、ゲーム911は、オブジェクトの初期位置または配向の一つまたは複数の成分を供給してもよい。
【0075】
配位初期化器909は、ゲーム911によって供給されたこれらの想定910を受信する。これらの想定910から、配位初期化器909は、追跡器918によって使用される初期配位を決定する。
【0076】
ある実施形態では、ゲーム911は、オブジェクトについての初期位置と、オブジェクトの重力に対応する、ここでz軸と記される軸のまわりの回転についての想定される値とを提供する。配向の他の二つの成分は、慣性センサーからの読みに応答して、配位初期化器909によって計算できる。この計算は、オブジェクトが静止しているときに実行できる。
【0077】
ある実施形態では、配位初期化器909は、センサーからの情報を使って、その装置が現在動いているかどうかを推定する。たとえば、自己追跡オブジェクト917が静止していると想定または検知できる場合、重力加速度の読みが、配向情報を推定するために使用できる。装置が比較的動きがないとき、ジャイロスコープの読みは、みな0に近く、センサーによって報告される加速度はほとんど完全に重力に起因するはずである。そのような場合、加速度計の読みは、時間がたっても一貫しているはずで、1G(約9.8m/s/s)の加速度を近似するノルムをもつ。これらの条件が実質的に満たされているとき、配位初期化器909はそのオブジェクトが実質的に静止していると判定する。
【0078】
配位初期化器909が配位の二つの成分を決定できるのは、加速度計の読みを完全にz軸方向に揃えるのに必要な世界座標系における回転を見出すことによる。ある実施形態では、配位初期化器909は軸を最大の加速度計の読みに揃えるための一組の回転を決定する。この計算は、次の擬似コードで示されるようにして実行されうる:
――――――――――――
if 最大軸がX軸正方向
largeRot[Z]=M_PI/2; largeRot[X]=M_PI/2;
else if 最大軸がX軸負方向
largeRot[Z]=−M_PI/2; largeRot[0]=M_PI/2;
(11)
――――――――――――
if 最大軸がY軸正方向
largeRot[Z]=M_PI/2; largeRot[0]=M_PI/2;
else if 最大軸がY軸負方向
largeRot[Z]=0; largeRot[0]=M_PI/2;
(12)
――――――――――――
if 最大軸がZ軸正方向
largeRot[Z]=0; largeRot[0]=M_PI;
else if 最大軸がZ軸負方向
largeRot[Z]=0; largeRot[0]=0;
(13)
――――――――――――
largeRotを使って初期配位を設定
(14)
――――――――――――
gravReading=初期配位×Acc;
rotX=−atan(gravReading(Y)/tmpReadings(Z));
(15)
――――――――――――
X軸のまわりに追加的なrotX回転することにより初期配位を調節
(16)
――――――――――――
gravReading=初期配位×Acc;
rotY=atan(tmpReadings(X)/tmpReadings(Z));
(17)
――――――――――――
Y軸のまわりに追加的なrotY回転することにより初期配位を調節
(18)
――――――――――――

【0079】
配位初期化器909は、残りの成分を、ゲームからの入力を使って設定する。ある実施形態では、配位初期化器909はz軸のまわりの回転は0であると想定する。
【0080】
もし他のセンサー読み、たとえば上記のようなポインティング・デバイスからの読みが利用可能であれば、配位初期化器909はそれらの他のセンサー読みを、初期配位についての情報を決定するために使ってもよい。
【0081】
最初に、追跡器918は、現在の配位は初期配位912であると想定する。時間がたつにつれて、追跡器918は、較正されたセンサー読み908に応答して初期配位に変化を適用することによって、現在の配位を決定する。
【0082】
ある実施形態では、自己追跡オブジェクト917のセンサーは、自己追跡オブジェクト917の位置および配向の変化を追跡するために十分なジャイロスコープおよび加速度計を含む。上記のように、ソフトウェア要素705は既知の原理に従ってジャイロスコープおよび加速度計の読みを積分し、組み合わせる。
【0083】
917内のセンサーの精度および解像度に依存して、既知の技法は、コンピュータ・ゲームのある実施形態で使うために信頼できる配位推定値を生成するのに十分でない可能性がある。したがって、本願発明人らは、推定値の信頼性を著しく改善し、したがって新たなクラスのアプリケーションを可能にする技術を見出した。
【0084】
ある実施形態では、追跡器918は、較正されたセンサー読み908に制約条件を適用する。これらの制約条件に含まれるものとしては、読みをクランピングして許容可能な範囲にする、読みから計算された値をクランピングして既知の範囲にする、抵抗項(drag term)を導入する、あるいは手のぶれを有意な動きと誤解釈するのを避けるために閾値としてはたらく最小インパルスを要求する、といったことがある。
【0085】
ひとたび追跡器918が較正された読みを制約したら、慣性案内の技術および関連分野からの既知の諸技法を使って、配位推定905を生成する。配位推定は補正器907に送られ、補正器907は該推定を調節して、補正された推定916を生成する。ある実施形態では、補正は、上記の逆あてはめアルゴリズムを使って動的に計算され、保存され903、定期的に更新される906。いかなる仕方であれ限定することは意図していないが、補正の例として、次のようなものが含まれる。
【0086】
●追跡器918は、自己追跡オブジェクト917は人間の形の機械的モデルによって制約される動きに従うと想定することによって、自己追跡オブジェクト917の動きに対する制約条件を部分的に決定してもよい。たとえば、ゲーム・プレーヤーの腕が非現実的な曲がり方をしない限り起こりえない動きのように、ある位置推定が四肢の長さについての想定を破ることが知られる場合、推定905はしかるべく補正できる。
【0087】
ある実施形態では、追跡器918は、人間の形のモデルの位置および配向についての推定を、その人物が自己追跡オブジェクト917を動かしている際に、行ってもよい。たとえば、追跡器918は、その人間の形の腕、肩およびコントローラを保持する手の、定期的な(または他の仕方で規定された)時間シーケンスにおける各時間ステップでの位置および配向の推定を決定してもよい。これは、人体の関連する各関節についての角度ならびに可能性としては筋肉組織の伸張、まとめて本稿では「姿勢(ポーズ)」と称されるものを推定することを含むことになろう。その推定にはたとえば、R. Featherstone, "Robot Dynamics Algorithms"に記載されるような逆運動学のための既知の技法を使う。
【0088】
そのような諸実施形態において、追跡器918は、それぞれのそのような推定される姿勢を検査し、その推定を、推定される姿勢の現実性(likelihood)のために調節する(自己追跡オブジェクト917の推定される位置および配向の現実性のためにその推定値を調節することへの追加として、またはその代わりとして)。何らかの特定の推定される姿勢の現実性とは、(a)人間の生理についての情報、たとえば肘、肩、手首などがどのように回転できるか、ならびに、(b)自己追跡オブジェクト917がコントローラとして使用されている特定の用途についての情報を使って決定されてもよい。
【0089】
たとえば、自己追跡オブジェクト917が野球のバットをシミュレートするために使われている実施例、たとえばスポーツ・ゲームでは、追跡器918は個別的な野球バット・スイング動きの現実性を評価し、野球バットを振るプレーヤーによって実行された場合のその現実性に応じてそれらのスイング動きに関係する姿勢に割り当てることができる。これは、野球バットを振るプレーヤーが(想像上の)野球のボールにコンタクトする姿勢がそうでないものよりもより大きな現実性を有するという効果をもつことになる。さらに、追跡器918は、一つまたは複数の単純化する想定を利用することができる。たとえば、野球バットを振るプレーヤーは、自己追跡オブジェクト917を振る間、両手で握って、比較的じっと、まっすぐに立っているといった想定である。
【0090】
そのような実施形態において、追跡器918が、人間の生理を考えたとき、あるいは自己追跡オブジェクト917がコントローラとして使われている特定の用途についての情報の性質を考えたときにありそうもないと見なす推定される姿勢(または一連の姿勢)に遭遇するとき、追跡器918は(a)その推定された姿勢または一連の姿勢を調節してより現実性のあるものにする、および(b)自己追跡オブジェクト917の動き、よって結果として姿勢または一連の姿勢を、を再推定してその調節に一致するようにする、ことができる。
【0091】
代替的な諸実施形態において、人間の形について、その人物が自己追跡オブジェクト917を動かしている際の姿勢の明示的なモデルが必要でなくてもよい場合がありうる。そのような場合、追跡器918は、何らかの特定の姿勢または一連の姿勢がありそうかありそうもないかを判定するために、その人間の動きについての論理的な想定を使ってもよい。たとえば、人間が――その用途の性質により――比較的固定した位置に立っていると想定されてもよさそうな場合、自己追跡オブジェクト917の報告または推定される位置でその比較的固定した位置から遠すぎるものは一切、その距離に応じて調節されてもよい。これは、自己追跡オブジェクト917のどんな報告または推定される位置も、その人間の初期位置を取り囲むボックスまたは球内に留まるよう実質的に制約され、その人間が典型的に物理的に届く範囲によって制限されることになるという効果をもつ。
【0092】
●追跡器918は、時折、自己追跡オブジェクト917の重力に対する角度配位、すなわち自己追跡オブジェクト917がその瞬間、「上」または「下」からどの角度を指しているかを検出してもよい。たとえば、自己追跡オブジェクト917が静穏状態にはいる場合、自己追跡オブジェクト917の角度配位はしかるべく調節されることができる。
【0093】
●追跡器918は、時折、自己追跡オブジェクト917が静穏でありそうな期間にあると想定してもよい。たとえば、ゲームが、ゲーム・プレーヤーにとって何もすることがなく、よってゲーム・プレーヤーは自己追跡オブジェクト917を動かしていない可能性が高いということを示すときがその例である。追跡器918が静穏でありそうな期間を検出できれば、自己追跡オブジェクト917の相対的な速度および角速度が決定でき、自己追跡オブジェクト917の位置および配向を記述するパラメータがしかるべく調節されることができる。
【0094】
●追跡器918は、時折、ゲーム・プレーヤーのようなユーザーからデータを受領してもよい。該データはユーザーが供給し、自己追跡オブジェクト917の位置および配向を決定する際に支援するために使うことができる情報を示す。
【0095】
第一の例として、ユーザーが自己追跡オブジェクト917上のボタンを押し、そのボタンが銃をシミュレートするために使われる用途(たとえば「一人称シューティング・ゲーム」)である場合、追跡器918はそのボタン押下のタイミングを使って、自己追跡オブジェクト917の可能な位置または配向の組を、たとえば自己追跡オブジェクト917が、シミュレートされる銃が実際に標的のほうに向けられるような配向であるものに、制約してもよい。
【0096】
第二の例として、ユーザーが、自己追跡オブジェクト917に付随するコンソールを使ってテキスト・データを入力する場合、追跡器918はそのテキスト・データを使ってもよい(あるいはそのようなテキスト・データが入力されているという事実を使ってもよい)。その結果、追跡器918は、自己追跡オブジェクト917の位置および配向の決定をしかるべく調節しうる。
【0097】
●追跡器918は、時折、追加的なセンサーから入力値を受信してもよい。追加的なセンサーとはたとえば、ライトペン、赤外線リモート・センサーまたは自己追跡オブジェクト917の配向の他の指示器である。追跡器918は、追加的なセンサーからのそれらの値を使って、自己追跡オブジェクト917の可能な位置または配向の組を制約してもよい。その結果、追跡器918は、自己追跡オブジェクト917の位置および配向の決定をしかるべく調節しうる。
【0098】
補正された推定915は、次いで、ゲーム内の制約条件および想定に基づいてさらに補正されることができる。いかなる仕方であれ限定することは意図していないが、補正の例として、次のようなものが含まれる。
【0099】
●追跡器918は、自己追跡オブジェクト917の位置および配向に対する制約条件を、動きの終わりにおける自己追跡オブジェクト917の可能な最終的な配位の組について想定する制限に従って、決定してもよい。たとえば、ある運動(または運動の任意の部分)の終わりに自己追跡オブジェクト917がユーザーの頭または体と同じ空間位置にくる場合、あるいは壁またはゲーム・コントローラ自身と同じ空間的位置にくる場合、追跡器918は、自己追跡オブジェクト917の可能な位置および配向の組を制限してその可能性を排除し、自己追跡オブジェクト917の位置および配向の決定をしかるべく調節してもよい。
【0100】
●追跡器918は、自己追跡オブジェクト917の可能な動きの組にゲームの制約条件を適用してもよい。これはたとえば、自己追跡オブジェクト917がゲーム・プレーヤーによって、特定の型のオブジェクトをエミュレートするために(たとえば、ファンタジー・ゲームにおいて剣を使うために、あるいはスポーツ・ゲームにおいてゴルフ・クラブを使うために)使われている場合である。したがって、追跡器918は、可能な動きの組を、したがって、自己追跡オブジェクト917の相対的な位置および配向の変化を、しかるべく制限してもよい。
【0101】
第一の例として、自己追跡オブジェクト917が剣をシミュレートするために使われた用途(たとえば、ファンタジー・ロールプレイング・ゲーム)では、追跡器918は、ゲーム世界において、固い壁または他の剣など、ある種のオブジェクトを通過したり、そうしたオブジェクト内でその動きを終えたりすることができないよう、そのシミュレートされた剣の可能な動きを制限することができる。
【0102】
第二の例として、自己追跡オブジェクト917が野球のゲームにおける野球のバットをシミュレートするために使われていた用途では、追跡器918は、シミュレートされるバットの可能な動きを、野球ゲームにおいてバットがストライクゾーン内またはその近くに留まるよう制限することができる。これは、(a)可能なアニメーションの範囲を限定し、よってそのアニメーションを実行するタスクを簡略化する、(b)自己追跡オブジェクト917の追跡における比較的大きめの誤差を検出する、および(c)人間による異常な行動、たとえばその人間がシミュレートされるバッティング領域から歩み去る決断をする場合などを検出する、といった効果を有することになるだろう。
【0103】
●自己追跡オブジェクト917を使ったアプリケーションは、動き認識信号の使用に関わりうる。動き認識信号はたとえば、米国特許出願第11/486,997, "Generating Motion Recognizers for Arbitrary Motions"において詳細に記載されるようなものである。そのような場合、動き認識信号は、自己追跡オブジェクト917の動きを、一組の事前選択された動きの諸クラスのうちの一つ(または可能性としては二つ以上)に分類する。
【0104】
一例では、自己追跡オブジェクト917が一つまたは複数の台所用品をシミュレートするために使われる用途(たとえば、料理に関係するゲーム、シミュレーションまたは教育環境)では、追跡器918は、自己追跡オブジェクト917による動きを、そうした環境で使われる既知のジェスチャー、たとえば揚げる、ひっくり返す、刻む、たたくなどに分類する動き認識器を使ってもよい。自己追跡オブジェクト917を保持している人間による任意の動きが、これらの既知のジェスチャーの一つまたは複数に分類されることになる。その結果、動きをそれらの既知のジェスチャーの一つまたは複数に割り当てる動き認識信号が与えられる。
【0105】
さまざまな実施形態において、動き認識信号は(a)動きを特定のジェスチャーとして一意的に分類する、(b)動きを一組の可能なジェスチャーの一つとして分類する、(c)動きをそれらの可能なジェスチャーのそれぞれの確率またはその他のスコアに関連付ける、などしうる。
【0106】
追跡器918は、動き認識信号から得る知識――動きの、ジェスチャーの特定のクラスへの割り当て――を使って、自己追跡装置917の位置および配向の可能な推定の組を、動き認識信号と整合するものに制限することができる。
【0107】
たとえば、いかなる仕方であれ限定することは意図していないが、動き認識信号が自己追跡装置917(フライパンをシミュレートしている)がたった今オムレツをひっくり返すのに使われたことを示すとすると、自己追跡装置917から受領されたセンサー読みまたは時系列データで、そのジェスチャー(たとえば、野菜を刻むことまたは肉をたたくことに関連しそうな動き)と整合しない一切のものは、誤っている、意図されていないまたは無意味である可能性がより高いと見なされてもよい。すると追跡器918は、それらのセンサー読みまたは時系列データの使用を制動してもよい。その結果、自己追跡装置917の位置および配向の改良された、あるいは少なくともより整合的な推定が得られる。さらに、自己追跡装置917を保持する人間による無意識または意図しない動きから整合しない動きが帰結した場合、追跡器918はその人間に、改良された追跡の知覚を提供できることになる。
【0108】
さまざまな実施形態において、動き認識信号は、動きを特定のジェスチャーに関係させる追加的な情報を提供しうる。たとえば可能性としては、(a)その動きと分類された各ジェスチャーとの間の距離の指標の評価、あるいは(b)その動きとジェスチャーの特定のクラス内の特定のプロトタイプとの間の距離の指標の評価である。
【0109】
たとえば、いかなる仕方であれ限定することは意図されていないが、動き認識信号が、自己追跡装置917(フライパンをシミュレートしている)がたった今オムレツをひっくり返すのに使われたことを示すが、自己追跡装置917(鋭いナイフをシミュレートしている)がたった今野菜を刻むために使われたというリーズナブルな代替的な解釈があるとすると、追跡器918は、選ぶべきそれらの可能性の間の曖昧さを使って、曖昧なそれらのセンサー読みまたは時系列の使用を制動することについて、それほど積極的でなくてもよい。
【0110】
ある実施形態では、各特定のジェスチャーに規範的アニメーションが関連付けられていてもよい。その結果、特定の動きに応答して実際に呈示されるアニメーションは、自己追跡装置917の推定された実際の動きと、検出され分類されたジェスチャーに割り当てられている規範的アニメーションとの混合であってもよい。いくつかのアプリケーションでは、これは追跡器917に、「フィットへのスナップ」を実行する、すなわち実際の動きを、人間によって実際に実行された近似ではなく、そのジェスチャーが理想的に実行されるべき仕方(または仕方の一つ)で呈示することを許容することになる。代替的な諸実施形態では、呈示されるアニメーションは、動きが検出され分類されるべきジェスチャーの二つ以上のクラスに関連付けられた規範的アニメーションの重み付けされた混合であってもよい。その混合の相対的な重みは、各クラスへの距離の指標に応じて、各クラスに関連付けられた確率に応じて、などであってもよい。
【0111】
●同様に、規範的アニメーションは、特定のジェスチャー・クラス内の特定の各プロトタイプに関連付けられてもよい。そのような場合、特定の動きに応答して実際に呈示されるアニメーションは、(a)それらのプロトタイプ・ジェスチャーに関連付けられた諸規範的アニメーションの混合であってもよいし、(b)それらのプロトタイプ・ジェスチャーに関連付けられた諸規範的アニメーションにフィットすべくスナップされてもよいし、(c)それらのプロトタイプ・ジェスチャーの一つまたは複数に関連付けられた規範的アニメーションおよび自己追跡装置917の実際の動きの混合であってもよい。そのような各場合において、混合する各可能性に関連付けられる重みは、上記のような指標に応じたものでよい。追跡器918は、時折、DPD(直接ポインティング・デバイス[direct pointing device])の読みを受領してもよい。たとえば、自己追跡オブジェクト917が、該自己追跡オブジェクト917の整列からの既知の配向において、一組のLEDまたは他の電磁的もしくは音響的整列要素と整列されていることを判定するなどである。追跡器918は、それらのDPD読みを使って、自己追跡オブジェクト917の可能な位置または配向の組を制約してもよい。その結果、追跡器918は、自己追跡オブジェクト917の位置および配向の決定をしかるべく調整しうる。
【0112】
●追跡器918は、時折、自己追跡オブジェクト917がもはや動いていないと想定してもよい。たとえば、ゲーム・コントローラが、ユーザーが取るべき行動がないことを示すときなどである。追跡器918は、その想定を使って、自己追跡オブジェクト917の可能な位置または配向の組を制限してもよい。その結果、追跡器918は、自己追跡オブジェクト917の位置および配向の決定をしかるべく調整しうる。
【0113】
ゲーム補正された推定912は、ゲームに通信して返され、典型的には該ゲームにおいて自己追跡オブジェクト917に対応するゲーム要素の動きに対応することが意図されているアニメーションを駆動するために使われる。たとえば、ゲーム要素が剣(ファンタジー・ゲームでの)またはゴルフ・クラブ(スポーツ・ゲームでの)である場合、そのゲーム要素がユーザーがゲーム追跡装置917を動かした仕方に従って動く呈示が作成されることになる。
【0114】
ある実施形態では、追跡器918は、自己追跡オブジェクト917が、アニメーションを使ってユーザーに呈示される仮想環境におけるシミュレートされるオブジェクトの動きに、一対一にマッピングされると想定する。
【0115】
●一組の代替的な実施形態では、仮想環境は、自己追跡オブジェクト917の位置または配向における変化に応答してその仮想環境における力またはその他の起動力(motive power)を決定してもよい。たとえば、自己追跡オブジェクト917の位置または配向の急峻な変化は、その仮想環境におけるオブジェクトに対して投げる力または操る力(a throwing or maneuvering force)を付与するための指令であると解釈されてもよい。そのような例では、仮想環境は(a)加えるべき力の量を決定し、(b)それに応答して、その仮想環境におけるそのオブジェクトの位置または配向の変化の組を決定し、(c)それに応答して、そのオブジェクトを含むその仮想環境のアニメーションを決定することになる。
【0116】
自己追跡オブジェクト917の位置または配向の変化に応答したそのような動作の例としては次のようなものが含まれる。
【0117】
(1)自己追跡オブジェクト917は、仮想環境において投げられることのできるオブジェクト――たとえば野球のボール――をシミュレートするために使われてもよい。自己追跡オブジェクト917の位置または配向の変化は、そのオブジェクトがどのくらい強く、どの方向に投げられるかを決定するために使われる(たとえば、ユーザーは野球のボールをシミュレートする自己追跡オブジェクト917を使って野球のボールを投げるまねをしてもよい。もちろん、自己追跡オブジェクト917を実際にゲーム・コントローラに投げつけないよう注意しつつであるが、自己追跡オブジェクト917が緩衝物を具備するなどして実際に投げてもいいようにできている場合はその限りではない)。
【0118】
(2)自己追跡オブジェクト917は、仮想環境において打つまたは投げるための道具を――たとえば野球のバット――をシミュレートするために使われてもよい。自己追跡オブジェクト917の位置または配向の変化は、力その他の起動力を決定するために使われる。その力は、その仮想環境において、オブジェクトがどのくらい強く、どの方向に振られるかを決定するために使われる(たとえば、ユーザーは野球のバットをシミュレートする自己追跡オブジェクト917を使って野球のバットで野球のボールを打つまねをしてもよい)。
【0119】
(3)同様に、自己追跡オブジェクト917は、仮想環境において道具――たとえば電灯スイッチまたは銃の引き金のような――をシミュレートするために使われてもよい。その結果、自己追跡オブジェクト917の位置または配向の変化は、その仮想環境によって、その仮想環境において電灯をつけるまたは銃を発砲するために十分な力が加えられたことを示すと解釈されることになる。
【0120】
●一組の代替的な実施形態では、仮想環境における視点(ユーザーのまたはカメラの視点のような)が、自己追跡オブジェクト917の位置または配向における変化に応答してもよい。そのような実施形態では、ユーザーは、仮想環境において方向を維持するまたはオブジェクトを選択することが許容されうる(可能性としては架空の3D環境の仮想現実感描写のように)。ユーザーは、ユーザーの視界が仮想現実感描写において普通なら妨げられる状況であっても、この機能を与えられてもよい。
【0121】
(1)一例として、ユーザーは、物理的に自己追跡オブジェクト917を保持していて、仮想環境がそのオブジェクトに対応するオブジェクトをシミュレートしていてもよい。シミュレートされるオブジェクトまたは「CVD」(対応仮想デバイス[corresponding virtual device])は、銃、鞭、ポインティング・デバイス(たとえばレーザー・ポインタ)といった任意のオブジェクトと同じようなものである。仮想環境において、線セグメント(または他の経路)が計算される。該線セグメントは、CVDに結合され、CVD近くの仮想環境の領域中に延びる。前記計算は、自己追跡オブジェクト917の一つまたは複数の位置または配向の変化を、可能性としては仮想環境からの追加的な情報と組み合わせたものに、基づく。これは、自己追跡オブジェクト917の配向の変化に直接対応する線セグメントまたはその他の経路の方向を設定することを含む。線セグメントは、レーザー・ポインタの場合のようにまっすぐでも、あるいは銃の場合(重力および風の影響を考慮に入れる)のようにほぼまっすぐでもよいし、あるいは鞭の場合のように意図的に曲がっていてもよい。よって、計算される線セグメントは、ユーザーによって所望される線セグメントを表す。
【0122】
計算された線セグメントが仮想環境においてオブジェクトまたは構造体(construct)(たとえば、表面または領域といった非物理的な「オブジェクト」)に交わる場合、たとえば、仮想的なオブジェクト、平面またはキャラクターに接触する場合、仮想環境はユーザーがその交わったオブジェクトまたは構造体を意図的に選択しているまたは他の仕方で指示していると判定する。
【0123】
たとえば、図10は、さまざまなオブジェクト1001および1002を含む三次元的な仮想環境1000を示している。CVD1005は、仮想環境1000における自己追跡オブジェクト917の表現である。上記のように、オブジェクトおよび構造体は、何らかの線セグメント(またはレイ[ray])1006を使って選択できる。自己追跡オブジェクト917が動かされ、よってその位置または配向を変えると、新しい位置のCVD1004および線セグメント1003が、ユーザーに、新しいオブジェクト1002を選択することを許容する。これは、仮想世界におけるゲーム・プレーヤーに、普通なら通常の視野平面に沿って隠蔽されているオブジェクトを選択することを許容する。
【0124】
この方法を使うことの例は、ゲーム・プレーヤーが、仮想環境において銃、懐中電灯または鞭に対応するコントローラとして自己追跡オブジェクト917を保持することを含む。次いでプレーヤーはコントローラを動かして、銃、懐中電灯または柔軟なケーブルの方向を指示することができる。自己追跡オブジェクト917の位置または配向の変化は、対応するCVDに加えられることができる。
【0125】
自己追跡オブジェクト917が仮想世界において銃(または弓のような他の発射装置)に対応する例では、ゲーム・プレーヤーは、図11の左側に示されるように、仮想世界において、低い壁の背後に身を隠してもよい。上記の技法を使って、ゲーム・プレーヤーは、図11の右側に示されるように、自己追跡オブジェクト917を上げ、CVD銃を仮想環境内で動かし、ゲーム・プレーヤーがその有利な点(vantage point)を変えることなく、CVD銃を壁の背後の領域に向けて下向きにする。
【0126】
同様に、自己追跡オブジェクト917が仮想世界において懐中電灯(またはレーザー・ポインタのような他のポインティング・デバイス)に対応する例では、ゲーム・プレーヤーはCVD懐中電灯を画面中に向ける任意の角度を指示する機能を与えられ、視野平面の上の原点のみに制限されない。図12は、左側では、室内のそれより奥へのゲーム・プレーヤーの視界を隠蔽する仮想環境におけるオブジェクトを示している。上記の技法を使って、ゲーム・プレーヤーは、図12の右側に示されるように、自己追跡オブジェクト917を動かして、仮想環境における有利な点のいかなる変化も要求することなく、CVD懐中電灯に隠蔽オブジェクトの背後の領域を照らさせる。
【0127】
同様に、自己追跡オブジェクト917が仮想世界において鞭(またはロープのような別の柔軟なケーブル)に対応する例では、ゲーム・プレーヤーは、仮想環境における隠蔽オブジェクトを、たとえば普通ならゲーム・プレーヤーに見えないパイプにそのケーブルを通すために、「迂回して届く」機能を与えられる。
【0128】
●上記の技法は、ゲーム・プレーヤーが自己追跡オブジェクト917の位置および配向の6つの自由度すべてを使って仮想環境内の方向を指示することを許容する。これは、方向を支持する既知の諸方法に対して著しい利点を有する。
【0129】
プロセスは、典型的には、ゲームにおいて、プレーヤーがゲームからの刺激および指示に応答してコントローラを動かすにつれて繰り返される。
【0130】
ここで図13を参照して、以下である実施形態における制御フローについて述べる。
【0131】
ゲームが始まり、何らかの初期セットアップ期間がある。このセットアップは、メモリ割り当ておよび他のよく知られたステップを含んでいてもよい。
【0132】
次いでゲームは自己追跡オブジェクト上でボタンが押されたという信号を待つ。ボタンを押すことは、追跡が始まる開始時基準の一例でしかない。代替的に、ゲームは内部状態に基づいて開始を合図し、好適な指示をプレーヤーに伝えてもよい。
【0133】
ひとたびゲームが追跡を開始したいと指示したとき、自己追跡オブジェクトはまだ追跡をする用意ができていないことがありうる。たとえば、ある実施形態では、追跡が開始できる前に短い静穏期間が必要とされることがある。その場合、プレーヤーはボタンを押したあと、まだしばらくじっとしている必要がある。あるいはまた、初期配位を決定するために追加的なセンサー読みが要求されてもよい。たとえば、プレーヤーはまず直接ポインティング・デバイスをポイントしてもよい。
【0134】
ひとたび追跡が進行できるようになると、追跡器918に利用可能な任意の情報から初期配位がセットアップされる。
【0135】
次いで追跡器918が上記のプロセスを反復する。その際、追跡器918は、(a)次のことを実行する:
・追跡器918は、自己追跡装置917から時系列データを受領する。
・追跡器918は、それらの時系列データに応答して自己追跡装置917の位置および配向の推定をする。
・追跡器918は、自己追跡装置917の位置および配向のよりよい推定をすることを許容する情報を受領する。
・追跡器918は、自己追跡装置917の位置および配向の最も最近の履歴の組について、その推定を更新する。
【0136】
ある実施形態では、このプロセスは、追跡器918が追跡が終わることができるという信号を受領するまで、繰り返し反復される。終了信号は時間に基づいていてもよいし、ゲーム・イベントに基づいていてもよいし、あるいはボタンに基づいていてもよい。
【0137】
追跡器918は、ゲームが終了するまで、自己追跡装置917の位置および配向の推定をし続ける。
【0138】
〈代替的な実施形態〉
本発明の好ましい実施形態を上記したが、記載された概念および原理から理解され、導出されることのできる数多くの変形がある。
【0139】
そのような潜在的な変形および実施例は次のものを含む。
【0140】
いくつかのゲーム・コントローラ構成の場合、向上された動き追跡の幻想を与えるため、何らかの想定の組を利用する賢いゲーム・デザインを使うことができる。たとえば、プレーヤーが、ある仕方でコントローラを保持し、ある軸に沿って動かすよう指示されてもよい。するとセンサー・データの解析により、対応するアニメーションが表現されることが許容される。プレーヤーが想定のうちのいずれかを破る場合、生成されるアニメーションは典型的には実際のプレーヤーの動きに対応しない。
【0141】
場合によっては、本発明のコントローラによって提供されるセンサー・データは、解析され、特定のアニメーションに対応する用意されている標準的なデータ出力と比較されてもよい。次いでそのセンサー・データが最良マッチであるアニメーションが選択され、再生される。選択されたアニメーションを、センサー・データと最良マッチとの間の対応の度合いに基づいて修正することも可能である。たとえば、センサー・データが動きが何らかの提供されているアニメーションのより速いバージョンであることを示す場合、アニメーションは対応して速くしたスピードで再生できる。
【0142】
たいていの現在利用可能なゲーム・コントローラは、ジャイロスコープなしのコントローラにおけるプレーヤーの実際の動きを完全に決定するための要求される六軸加速度計較正を含まない。たとえば、いくつかの現代のゲーム・コントローラでは、三つのほぼ同位置の加速度計または単一の三軸加速度計しかない。そのようなコントローラを使ってプレーヤーの動きに対応するアニメーションを画面上に表現することは、プレーヤーの意図される動きについての強い想定をすることを要求する。いくつかの場合、この要求は、既知の技法で緩和できる。たとえば、いくつかの現代のコントローラは赤外線センサーを含み、何らかの直接ポイント・デバイス(DPD: direct point device)をポイントするとき、該赤外線センサーが、プレーヤーの動きについてのさらなる情報を判別するために使うことのできる追加的な情報を提供する。しかしながら、プレーヤーの動きは赤外線センサーのレンジ内にDPDをとどめる狭い範囲の動きに制約される必要がある。
【0143】
本発明の概念は、システム中にさらなるセンサーを追加することに拡張されてもよい。上記の一般的なアルゴリズムは、そのような構成に拡張されてもよい。たとえば、6つだけでなく、9つの加速度計感知軸をもつ三つの動き感知ゲーム・コントローラがあることもできる。三つの追加的な軸の感知は、一般的なアルゴリズムに適用されるべきフィードバックを提供することができる。
【0144】
同様に、前記の一般的なアルゴリズムは、時間を短縮するために適用できる。システムには数多くの潜在的な競合する誤差がありうる。毎秒サンプル数は、積分誤差との兼ね合いを取りつつ、時間に対する感度を制限するために低下されてもよい。これは部分的に、人間の動きが生起する時間スケールに基づいている。本発明の概念に基づき、各面上のある配位で位置された加速度計をもつ立方体が、コントローラの位置および配向をより長い時間期間にわたって信頼できる形で追跡できる。そのような立方体は、コントローラ上に、たとえば適切なドングル接続を介してマウントされることができる。
【0145】
コントローラ内かコントローラ外かを問わず自己完結式慣性センサーの複合構造を構成してそれらのセンサーの最良の位置および配向を選択して実用的な複合コントローラを提供するにあたっては、各センサーおよび十分剛体的な物体内における異なるセンサーの物理的な関係を記述する追加的なパラメータを考慮に入れる必要がある。たとえば、図1〜図3の複合コントローラについての配位推定は次のものの推定を含むことができる:
・当該装置が静止しているときの自己完結式慣性センサーの読み;
・自己完結式慣性センサーの上側および下側のレンジ;
・自己完結式慣性センサーの感度;
・感度が時間、温度およびその他の条件とともにどう変動するか;
・コントローラ内での個々の自己完結式慣性センサーの相対位置;
・コントローラの物理的なサイズ;
・各コントローラ間の距離;
・各コントローラの互いに対する相対配位;
・各コントローラの重心の相対位置。
【0146】
いくつかの態様を記載しておく。
〔態様1〕
ユーザーの片手で保持され、ディスプレイと対話するためにユーザーが操作できる装置であって:
当該装置がユーザーによって三次元空間中である位置から別の位置に動かされる際に当該装置の六つの相対的な直線運動および角度運動を導出するのに十分なセンサー・データを提供する複数の慣性センサーを有しており、プロセッサが、前記慣性センサーからのセンサー・データを処理して当該装置の基準点に対する相対的な位置および配向を決定することにより、当該装置の軌跡が推定され、前記ディスプレイにおける対応する動きを表現するために使われるようにするよう構成されている、装置。
〔態様2〕
前記装置が第一のデバイスおよび第二のデバイスを含む統合されたコントローラである態様1記載の装置であって、前記第一のデバイスは独立して動作でき、トランシーバを有し、前記第一のデバイスに着脱可能式に結合される前記第二のデバイスは前記複数の慣性センサーの一部または全部を有し、
前記第二のデバイスは、前記第一のデバイスと通信して前記慣性センサーからのセンサー・データの一部または全部を前記第一のデバイスに転送し、それにより前記第一のデバイスが前記センサー・データを前記トランシーバを介して前記ディスプレイに接続されているベース・デバイスに転送するようにするためのインターフェースを有する、
装置。
〔態様3〕
態様2記載の装置であって、前記第一のデバイスが基礎コントローラであり、該基礎コントローラが:
前記慣性センサーの全部ではないが一つまたは複数を含む第一のセットを有しており、該基礎コントローラ中の慣性センサーからのセンサー・データは当該装置の六つの相対的な直線運動および角度運動を導出するには不十分であり、
前記第二のデバイスが補助デバイスであり、該補助デバイスは:
前記慣性センサーの全部ではないが一つまたは複数を含む第二のセットを有しており、該補助デバイス中の慣性センサーからのセンサー・データの一部または全部は前記インターフェースを介して前記基礎コントローラに転送され、それにより前記基礎コントローラおよび前記補助デバイス両方からのセンサー・データは当該装置の六つの相対的な直線運動および角度運動を導出するには十分になる、
装置。
〔態様4〕
態様3記載の装置であって、前記補助デバイスは独立して機能するものではなく、前記基礎コントローラと一緒に機能させられるよう設計されており、前記補助デバイスからのあらゆる感知測定は前記基礎コントローラを補完するものであり、前記基礎コントローラ中のプロセッサが、もしあれば前記基礎コントローラ中の慣性センサーと前記補助デバイス中の慣性センサーからのセンサー・データを処理するよう構成されている、装置。
〔態様5〕
態様3記載の装置であって、前記基礎コントローラが前記複数の慣性センサーのうちの三つを一つの三軸加速度計として含んでおり、前記補助デバイス中の第二のセット中の慣性センサーからのセンサー・データが前記三軸加速度計からのセンサー・データを補完するものであり、前記三軸加速度計および前記補助デバイスからのセンサー・データが当該装置の六つの相対的な直線運動および角度運動を導出するために十分になる、装置。
〔態様6〕
態様1ないし5のうちいずれか一項記載の装置であって、前記慣性センサーが実質的に自己完結式であり、結果として、動きに対する制約がなく、当該装置を操作するためのユーザーによる外部源のセットアップまたは設定がない、装置。
〔態様7〕
当該装置がゲーム・コントローラであり、前記プロセッサが前記ディスプレイを駆動するゲーム機中にある、態様1ないし5のうちいずれか一項記載の装置。
〔態様8〕
前記軌跡が、ユーザーの動きを前記ディスプレイと同期させるために実質的にリアルタイムで計算される、態様1ないし5のうちいずれか一項記載の装置。
〔態様9〕
態様1ないし5のうちいずれか一項記載の装置であって、当該装置の直線運動および角度運動が、仮想世界において操作されるオブジェクトのアニメーションを制御する、装置。
〔態様10〕
態様1ないし5のうちいずれか一項記載の装置であって、前記軌跡を所定の可能な動き種別の集合のうちの一つに分類するための要素をさらに有する、装置。
〔態様11〕
前記プロセッサがさらに、推定された位置および配向に関連付けられた推定された誤差のセットを判別することによって、当該装置のより精確な軌跡を導出するよう構成されている、態様1ないし10のうちいずれか一項記載の装置。
〔態様12〕
前記推定された誤差が:当該装置が実質的に人間の起動力によって動いていると想定する、当該装置がハンドヘルドである装置、ウェアラブルである装置または動いているもしくは静止しているオブジェクトに取り付け可能である装置のうちの少なくとも一つであると想定することを含む一組の想定に応答して導出される、態様11記載の装置。
〔態様13〕
人間の生物機械的な属性が、推定される誤差を決定するために使われる、態様12記載の装置。
〔態様14〕
前記分類の結果が、その動き種別がどのように実行できるかについてのデータを取得するために使われ、取得されたデータが推定された前記誤差を決定するために使われる、態様12記載の装置。
〔態様15〕
前記推定された誤差が前記センサーに関連付けられ、当該装置の推定される位置および配向のうちのいずれかを改善するためのその後の使用のために維持される、態様12記載の装置。
〔態様16〕
前記プロセッサが当該装置が実質的に静穏である一つまたは複数の時間期間を検出するために前記センサー・データを使うよう構成されており、当該装置の配向が、(i)該一つまたは複数の静穏期間を表すデータおよび(ii)当該装置に対する重力の方向を決定するのに十分な慣性センサーからの情報に基づいて検出される、態様1ないし15のうちいずれか一項記載の装置。
〔態様17〕
前記プロセッサが、当該装置の絶対的な位置および配向のうち少なくとも一つの要素についての情報を提供する、前記複数の慣性センサーの一つではない少なくとももう一つのセンサーからのデータに応答して、推定された位置および配向の要素を調整するよう構成されている、態様1ないし16のうちいずれか一項記載の装置。
〔態様18〕
前記プロセッサが、
想定を使うことによっておよび/または直接ポインティング・デバイスを使うことによって当該装置の初期の絶対的な位置および配向の要素を決定し、
当該装置が動かされるやいなや前記複数の慣性センサーから受領されるセンサー・データから当該装置の推定される位置および配向を推定するよう構成されている、
態様1ないし17のうちいずれか一項記載の装置。
〔態様19〕
プロセッサが、三つの配向のうちの二つを、加速度計からなる初期センサーのセットからの読みを重力の方向に対応する所定の軸に完全に沿って整列させるために必要な当該装置の回転を見出すことによって決定するよう構成されている、態様1ないし18のうちいずれか一項記載の装置。
〔態様20〕
ユーザーが当該装置を6自由度で操作し、仮想世界を表示するために使われる視点が当該装置の直線運動および角度運動に従って決定される、態様1ないし5のうちいずれか一項記載の装置。
〔態様21〕
ユーザーが、視点を、表示されている仮想世界内の異なる視点に動かすことによって、仮想世界内で妨害するオブジェクトの背後にある領域を知覚する、態様20記載の装置。
〔態様22〕
ユーザーが当該装置を6自由度で操作することにより、仮想世界における当該装置に対応するオブジェクトが、当該装置の直線運動および角度運動に従って動き、仮想世界においてユーザーの視線から隠されているオブジェクトに対して作用できる、態様1ないし5のうちいずれか一項記載の装置。

【符号の説明】
【0147】
100 動き感知ゲーム・コントローラに動き感知ドングルを取り付けることによって作られる複合コントローラ
101 基礎コントローラ
102 ポート
103 ドングル
200 複数の動き感知ゲーム・コントローラから作られる複合コントローラ
201 基礎コントローラ
202 コンポーネント
203 ストラップ
300 複数の動き感知ゲーム・コントローラから作られる複合コントローラ
301 基礎コントローラ
302 自己完結式慣性センサー含有コンポーネント
303 自己完結式慣性センサー含有コンポーネント
304 バンド
305 支持基板
400 相対的な角度運動および直線運動を追跡できる動き感知コントローラ
401 メモリ
402 制御
403 データ・プロセッサ
404 慣性センサー
405 慣性センサー
406 無線トランシーバ
500 対話式ゲーム・ディスプレイ
501 ゲーム・コントローラによって制御されるゲーム・アクション
502 プレーヤーの手
503 コントローラ
504 直線成分
505 角度成分
506 経路
601 コントローラ動きあり?
602 全慣性センサーから読みを取得
603 三つの角度軸に沿った角度動きを抽出
604 コントローラ配向の推定を更新
605 残りの慣性センサーの読みを抽出
606 三つの直線軸に沿った直線動きの推定を計算
607 コントローラ位置の推定を更新
608 コントローラ動き継続?
609 ゲーム・オーバー?
702 プレーヤー
703 自己追跡オブジェクト
704 ゲーム・コンソール
705 ソフトウェア要素
706 第一の時間期間(過去)
707 第二の時間期間(現在)
708 第一の配位
711 呈示装置
712 動きの並進成分
713 動きの回転成分
714 第二の配位
715 (ゲーム世界の)オブジェクトの第一の配位
716 (ゲーム世界の)オブジェクトの第一の配位
718 ソフトウェア要素
720 呈示装置
801 位置
802 配向
803 位置および配向の推定
804 新しい軌跡
805 現実からは少なくともいくらか違った位置および配向の組の推定
806a 新しい位置
806b 新しい配向
811 実行された動き
900 データの流れ
901 デバイス・ドライバ
902 生のセンサー読み
903 補正
905 未補正の配位推定
906 補正更新
907 補正器
908 較正された読み
909 初期コントローラ配位を設定
910 初期配位についての想定
911 ゲーム
912 初期配位
913 ゲーム世界の対応する配位推定
914 ゲーム固有のフィルタ
915 補正された配位推定
916 補正された配位推定
917 自己追跡オブジェクト
918 追跡器
1000 仮想環境
1001 オブジェクト
1002 オブジェクト
1003 線セグメント
1004 対応仮想デバイス(CVD)
1005 対応仮想デバイス(CVD)
1006 線セグメント

【特許請求の範囲】
【請求項1】
画面上に表示されるビデオ・ゲームと対話するコントロール装置の動きを判別する方法であって:
コンピューティング・デバイスにおいて、前記コントロール装置に収容された複数のセンサーによって生成されるセンサー信号からサンプリングされたデータの時系列に関連付けられる推定される誤差のセットを判別する段階であって、前記センサー信号は前記コントロール装置の動きを判別するのに十分であり、前記データの時系列は地上の基準座標系に対する多次元空間での前記コントロール装置の時間変動する位置および配向の六つの成分すべてについての情報を含み、前記コントロール装置はユーザーによって操作され、前記コントロール装置はハンドヘルドである、ウェアラブルであるまたはユーザーに取り付け可能であるのうちの少なくとも一つであり、
前記データの時系列および推定される誤差のセットに応じて、角速度とそれに続く線速度を得ることによって、前記コントロール装置の時間変動する位置および配向の前記六つの成分の時間変動する変化の推定のセットを判別する段階と;
前記推定される誤差を、前記時間変動する変化の推定のセットの考慮に入れることによって、前記データの時系列から前記コントロール装置の軌跡を生成する段階と;
前記軌跡に従って動くよう、前記ビデオ・ゲームにおいて少なくとも対応するオブジェクトを表示する段階とを含む、
方法。
【請求項2】
前記コントロール装置の動きを六自由度で判別するのに十分な前記センサー信号を提供するよう、前記コントロール装置が基礎コントローラおよび補助コントローラを統合する複合コントローラである、請求項1記載の方法。
【請求項3】
前記推定される誤差が、前記ビデオ・ゲームのための人間の生理に基づいて制約される、請求項1または2記載の方法。
【請求項4】
前記推定される誤差が、
前記コントロール装置の典型的な使用、
前記コントロール装置の典型的な使用位置、
前記コントロール装置のユーザーの生物機械的な特徴および
前記データの時系列に関連付けられる動き認識信号
のうちの少なくとも一つについてのドメイン知識に応じたものである、
請求項3記載の方法。
【請求項5】
前記推定される誤差のセットが前記センサーからのセンサー信号の誤差、前記データの時系列の誤差または前記慣性センサーの誤差に関係する、請求項1記載の方法。
【請求項6】
推定される誤差のセットを判別する前記段階が、前記自己完結式の慣性センサー以外のセンサーのセットに応じるものであり、前記自己完結式の慣性センサー以外の前記センサーは、
赤外線センサー、
光学式認識装置、
音響装置、
電磁場センサー、
三角測量から情報を判別できる装置および
GPS受信機
のうちの少なくとも一つを含む、
請求項1または2記載の方法。
【請求項7】
前記コントロール装置が実質的に静穏である一つまたは複数の時間期間を同定する段階をさらに含み、前記一つまたは複数の静穏期間が重力の方向を判別するために十分な情報を含む、請求項1記載の方法。
【請求項8】
前記データの時系列および自己完結式の慣性センサー以外の少なくとも一つのセンサーからの別のデータのストリームに応じて、静穏期間についての前記コントロール装置の配向を判別する段階をさらに含む、請求項7記載の方法。
【請求項9】
前記別のデータのストリームが直接ポインティング・デバイスに応じた情報を含む、請求項8記載の方法。
【請求項10】
前記コントロール装置の位置および配向の前記六つの成分の時間変動する変化の推定の前記セットが、前記コントロール装置の静穏期間に始まる前記データの時系列のサブセットについてのみ提供される、請求項7記載の方法。
【請求項11】
前記コントロール装置の位置および配向の前記六つの成分の時間変動する変化の前記セットに応じてアニメーションを呈示する段階をさらに含む、請求項7記載の方法。
【請求項12】
前記コントロール装置の配位の推定の暫定的なセットを決定する段階をさらに含み、推定のセットを判別する前記段階が前記推定の暫定的なセットに応じたものである、請求項11記載の方法。
【請求項13】
コンピューティング・デバイスにおいてコントロール装置の動きを判別する方法であって:
多次元空間において少なくとも六自由度で前記コントロール装置の動きを判別するのに十分な、複数の自己完結式慣性センサーから生成されたデータの時系列に応じて、前記コントロール装置の位置および配向の成分の一つまたは複数の時間変動する変化の推定のセットを判別する段階であって、前記データの時系列は、前記多次元空間における前記コントロール装置の時間変動する位置および配向の一つまたは複数の成分についての情報を含み、前記コントロール装置は、地上の基準座標系内に位置付けられており、実質的に人間の起動力によって動かすことができ、ハンドヘルドである、ウェアラブルである、生体に取り付け可能であるのうちの少なくとも一つであり、前記コントロール装置の位置および配向の成分の一つまたは複数の時間変動する変化の推定のセットを判別する前記段階は、前記データの時系列に応じて、角速度とそれに続く線速度を得る、段階と;
前記推定のセットに応じて多次元仮想環境のモデルを与える段階と;
前記モデル中の関心のある点および方向を計算する段階と;
時間変動する変化の推定の前記セットから前記データの時系列から前記コントロール装置の軌跡を生成する段階とを含む、
方法。
【請求項14】
前記多次元空間が少なくとも三つの次元を含む、請求項13記載の方法。
【請求項15】
前記データの時系列が、三次元空間においてそのオブジェクトの位置および配向の六つの成分すべての変化を追跡するのに十分な情報を含み、
当該方法がさらに、前記コントロール装置の位置および配向の前記六つの成分すべての時間変動する変化の推定のセットを判別することを含む、
請求項14記載の方法。
【請求項16】
前記関心のある点および方向が、前記モデル中の仮想オブジェクトを選択するために使われる、請求項14記載の方法。
【請求項17】
前記仮想オブジェクトが、前記関心のある点から前記関心のある方向に沿ってレイ(ray)を追跡し、交わる最初のオブジェクトを選択することによって選ばれる、請求項16記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−166066(P2012−166066A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2012−122497(P2012−122497)
【出願日】平成24年5月29日(2012.5.29)
【分割の表示】特願2008−158462(P2008−158462)の分割
【原出願日】平成20年6月17日(2008.6.17)
【出願人】(508181559)アイライヴ インコーポレイテッド (2)
【Fターム(参考)】