(57)【特許請求の範囲】
【請求項１】
第１のトラッカーに対する第２のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第１の座標系で表現される前記第１のトラッカーの位置を示す第１のトラッカーデータを複数取得する第１トラッカーデータ取得部と、
前記キャリブレーションにおいて計測される、前記第１の座標系とは独立している第２の座標系で表現される前記第２のトラッカーの位置及び向きを示す第２のトラッカーデータを複数取得する第２トラッカーデータ取得部と、
複数の前記第１のトラッカーデータと複数の前記第２のトラッカーデータとに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する推定部と、
を含むことを特徴とするトラッカーのキャリブレーション装置。
【請求項２】
計測タイミングが互いに対応付けられる前記第１のトラッカーデータ及び前記第２のトラッカーデータを含むサンプルデータを複数生成するサンプルデータ生成部、をさらに含み、
前記推定部は、複数の前記サンプルデータに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する、
ことを特徴とする請求項１に記載のトラッカーのキャリブレーション装置。
【請求項３】
前記サンプルデータ生成部は、向きのばらつきが大きくなるよう選択される前記第１のトラッカーデータ及び前記第２のトラッカーデータに基づいて、複数の前記サンプルデータを生成する、
ことを特徴とする請求項２に記載のトラッカーのキャリブレーション装置。
【請求項４】
前記サンプルデータ生成部は、複数の前記第１のトラッカーデータに基づいて特定される前記第１のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つの時系列と複数の前記第２のトラッカーデータに基づいて特定される前記第２のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成する、
ことを特徴とする請求項２又は３に記載のトラッカーのキャリブレーション装置。
【請求項５】
前記サンプルデータ生成部は、前記第１のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つのノルムの時系列と複数の前記第２のトラッカーデータに基づいて特定される前記第２のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つのノルムの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成する、
ことを特徴とする請求項４に記載のトラッカーのキャリブレーション装置。
【請求項６】
前記第１のトラッカー及び前記第２のトラッカーは、前記第１のトラッカーに対する前記第２のトラッカーの相対的な位置及び向きが固定されている状態で筐体に設けられている、
ことを特徴とする請求項１から５のいずれか一項に記載のトラッカーのキャリブレーション装置。
【請求項７】
前記第１のトラッカー及び前記第２のトラッカーは、互いに異なる種類のトラッカーである、
ことを特徴とする請求項１から６のいずれか一項に記載のトラッカーのキャリブレーション装置。
【請求項８】
前記キャリブレーションにおいて前記推定部により前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置が推定された後は、前記第１のトラッカーと前記第２のトラッカーとは分離して使用可能であり、
前記第１のトラッカーと前記第２のトラッカーとが分離して使用された後に前記第１のトラッカーに対する前記第２のトラッカーの相対的な位置及び向きが前回の前記キャリブレーションとは異なるよう固定されている状態で行われる再度の前記キャリブレーションにおいて、前記推定部は、前回の前記キャリブレーションとは異なる前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する、
ことを特徴とする請求項１から７のいずれか一項に記載のトラッカーのキャリブレーション装置。
【請求項９】
第１のトラッカーに対する第２のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第１の座標系で表現される前記第１のトラッカーの位置を示す第１のトラッカーデータを複数取得するステップと、
前記キャリブレーションにおいて計測される、前記第１の座標系とは独立している第２の座標系で表現される前記第２のトラッカーの位置及び向きを示す第２のトラッカーデータを複数取得するステップと、
複数の前記第１のトラッカーデータと複数の前記第２のトラッカーデータとに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定するステップと、
を含むことを特徴とするトラッカーのキャリブレーション方法。
【請求項１０】
第１のトラッカーに対する第２のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第１の座標系で表現される前記第１のトラッカーの位置を示す第１のトラッカーデータを複数取得する手順、
前記キャリブレーションにおいて計測される、前記第１の座標系とは独立している第２の座標系で表現される前記第２のトラッカーの位置及び向きを示す第２のトラッカーデータを複数取得する手順、
複数の前記第１のトラッカーデータと複数の前記第２のトラッカーデータとに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザが装着する複数のトラッカーの位置や向きを示すデータに基づいて、逆運動学（ＩＫ）によって、当該ユーザの体に含まれる、トラッカーが装着されていない部位を含む複数の部位の位置や向きを推定するボディトラッキングの技術が知られている。【０００３】
また近年、様々なベンダから様々な種類のトラッカーが提供されている。このようなトラッカーのなかには例えば、カメラや赤外線センサなどといったトラッカーの周囲に配置された複数のセンサによる検出結果に基づいて当該トラッカーの追跡を行うものがある。また例えば、ＳＬＡＭ（Simultaneous Localization and Mapping）技術を用いることで、トラッカーに設けられているカメラにより撮影される画像の解析結果に基づいて当該トラッカーの追跡を行うものもある。またＳＬＡＭ技術を用いることで、トラッカーの追跡に加え、環境をスキャンし、現実空間の構造をリアルに仮想オブジェクトとして表示させることが可能となる。また例えば、慣性センサやＧＰＳ（Global Positioning System）モジュールによる計測結果を用いてトラッカーの追跡を行うものもある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなトラッカーは種類によって一長一短があるため、複数の種類のトラッカーを併用して使用することが望ましいことがある。また一般的に、トラッカーの位置はトラッカーの種類毎に独立した座標系により表現される。そのため、複数の種類のトラッカーを併用して使用する場合には、当該複数の種類のトラッカーの位置が１つの座標系で表現できるようキャリブレーションが事前に実行される必要がある。また当該キャリブレーションは、これら複数の種類のトラッカーの相対的な位置及び姿勢が固定されている状態で行われる必要がある。【０００５】
ここでこれら複数の種類のトラッカーが同じ位置にあると仮定してキャリブレーションを実行すると、当該キャリブレーションの結果に大きな誤差が生じてしまう。ここでこのような誤差の発生を抑えるために、予め計測されたこれら複数の種類のトラッカーの相対的な位置を用いてキャリブレーションを実行することも考えられるが、このような事前の計測は面倒である。【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、複数の種類のトラッカーの相対的な位置を予め計測することなくこれらのトラッカーのキャリブレーションを精度よく実行できるトラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係るトラッカーのキャリブレーション装置は、第１のトラッカーに対する第２のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第１の座標系で表現される前記第１のトラッカーの位置を示す第１のトラッカーデータを複数取得する第１トラッカーデータ取得部と、前記キャリブレーションにおいて計測される、前記第１の座標系とは独立している第２の座標系で表現される前記第２のトラッカーの位置及び向きを示す第２のトラッカーデータを複数取得する第２トラッカーデータ取得部と、複数の前記第１のトラッカーデータと複数の前記第２のトラッカーデータとに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する推定部と、を含む。【０００８】
本発明の一態様では、計測タイミングが互いに対応付けられる前記第１のトラッカーデータ及び前記第２のトラッカーデータを含むサンプルデータを複数生成するサンプルデータ生成部、をさらに含み、前記推定部は、複数の前記サンプルデータに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する。【０００９】
この態様では、前記サンプルデータ生成部は、向きのばらつきが大きくなるよう選択される前記第１のトラッカーデータ及び前記第２のトラッカーデータに基づいて、複数の前記サンプルデータを生成してもよい。【００１０】
また、前記サンプルデータ生成部は、複数の前記第１のトラッカーデータに基づいて特定される前記第１のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つの時系列と複数の前記第２のトラッカーデータに基づいて特定される前記第２のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成してもよい。【００１１】
この態様では、前記サンプルデータ生成部は、前記第１のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つのノルムの時系列と複数の前記第２のトラッカーデータに基づいて特定される前記第２のトラッカーの速度、加速度、又は、角速度のうちの少なくとも１つのノルムの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成してもよい。【００１２】
また、本発明の一態様では、前記第１のトラッカー及び前記第２のトラッカーは、前記第１のトラッカーに対する前記第２のトラッカーの相対的な位置及び向きが固定されている状態で筐体に設けられている。【００１３】
また、本発明の一態様では、前記第１のトラッカー及び前記第２のトラッカーは、互いに異なる種類のトラッカーである。【００１４】
また、本発明の一態様では、前記キャリブレーションにおいて前記推定部により前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置が推定された後は、前記第１のトラッカーと前記第２のトラッカーとは分離して使用可能であり、前記第１のトラッカーと前記第２のトラッカーとが分離して使用された後に前記第１のトラッカーに対する前記第２のトラッカーの相対的な位置及び向きが前回の前記キャリブレーションとは異なるよう固定されている状態で行われる再度の前記キャリブレーションにおいて、前記推定部は、前回の前記キャリブレーションとは異なる前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する。【００１５】
また、本発明に係るトラッカーのキャリブレーション方法は、第１のトラッカーに対する第２のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第１の座標系で表現される前記第１のトラッカーの位置を示す第１のトラッカーデータを複数取得するステップと、前記キャリブレーションにおいて計測される、前記第１の座標系とは独立している第２の座標系で表現される前記第２のトラッカーの位置及び向きを示す第２のトラッカーデータを複数取得するステップと、複数の前記第１のトラッカーデータと複数の前記第２のトラッカーデータとに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定するステップと、を含む。【００１６】
また、本発明に係るプログラムは、第１のトラッカーに対する第２のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第１の座標系で表現される前記第１のトラッカーの位置を示す第１のトラッカーデータを複数取得する手順、前記キャリブレーションにおいて計測される、前記第１の座標系とは独立している第２の座標系で表現される前記第２のトラッカーの位置及び向きを示す第２のトラッカーデータを複数取得する手順、複数の前記第１のトラッカーデータと複数の前記第２のトラッカーデータとに基づいて、前記第２の座標系で表現される位置を前記第１の座標系での表現に変換するパラメータの値、及び、前記第１のトラッカーの位置に対する前記第２のトラッカーの相対的な位置を推定する手順、をコンピュータに実行させる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係るエンタテインメントシステムの一例を示す構成図である。
【図２】本発明の一実施形態に係るエンタテインメント装置の一例を示す構成図である。
【図３】スケルトンモデルの一例を示す図である。
【図４】本発明の一実施形態に係るエンタテインメント装置で実装される機能の一例を示す機能ブロック図である。
【図５】第１の種類のトラッカーについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。
【図６】第２の種類のトラッカーについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。
【図７】本発明の一実施形態に係るエンタテインメント装置で行われる処理の流れの一例を示すフロー図である。
【図８】本発明の一実施形態に係るトラッカーの別の一例を示す図である。
【発明を実施するための形態】
【００１８】
図１は、本発明の一実施形態に係るエンタテインメントシステム１０の構成の一例を示す構成図である。図２は、本実施形態に係るエンタテインメント装置１４の構成の一例を示す構成図である。
【００１９】
図１に示すように、本実施形態に係るエンタテインメントシステム１０は、複数のトラッカー１２（図１の例ではトラッカー１２ａ〜１２ｅ）とエンタテインメント装置１４と中継装置１６とディスプレイ１８とカメラマイクユニット２０とを含んでいる。
【００２０】
本実施形態に係るトラッカー１２は、例えば、当該トラッカー１２の位置や向きを追跡するためのデバイスである。本実施形態ではトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅは、それぞれ、ユーザの頭部、左手、右手、左足、右足に装着される。ここで図１に示すようにトラッカー１２ｂやトラッカー１２ｃはユーザによって手で把持されるものであってもよい。
【００２１】
本実施形態ではトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅによって特定される位置及び向きは、それぞれ、ユーザの頭部、左手、右手、左足、右足の位置及び向きに相当する。このように本実施形態では複数のトラッカー１２によって、ユーザの体に含まれる複数の部位の位置及び向きが特定されることとなる。
【００２２】
また本実施形態ではトラッカー１２ａにはカメラが設けられている。そしてＳＬＡＭ（Simultaneous Localization and Mapping）技術を用いることで、トラッカー１２ａに設けられているカメラにより撮影される画像の解析結果に基づいて当該トラッカー１２ａの追跡が行われる。
【００２３】
またトラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅは、例えば、カメラや赤外線センサなどといったトラッカー１２の周囲に配置された複数のセンサによる検出結果に基づいて当該トラッカー１２の追跡が行われる。ここで例えば後述するカメラマイクユニット２０に含まれるカメラ２０ａが撮影する、トラッカー１２の像が含まれる画像に基づいて、当該トラッカー１２の位置及び向きが特定されてもよい。
【００２４】
このように本実施形態では、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅは、トラッカー１２ａとは種類が異なる。以下、トラッカー１２ａを、第１の種類のトラッカー１２と呼び、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅを、第２の種類のトラッカー１２と呼ぶこととする。
【００２５】
また本実施形態では、第１の種類のトラッカー１２の位置と、第２の種類のトラッカー１２の位置とは、それぞれ独立した座標系により表現される。以下、第１の種類のトラッカー１２の位置が表現される座標系を第１の座標系と呼び、第２の種類のトラッカー１２の位置が表現される座標系を第２の座標系と呼ぶこととする。なお、第１の座標系により第１の種類のトラッカー１２の位置及び向きが表現されてもよい。また、第２の座標系により第２の種類のトラッカー１２の位置及び向きが表現されてもよい。
【００２６】
また本実施形態では、第１の種類のトラッカー１２については、所定の第１のサンプリングレートで当該トラッカー１２の位置及び向きの計測が行われる。また第２の種類のトラッカー１２については、所定の第２のサンプリングレートで当該トラッカー１２の位置及び向きの計測が行われる。ここで第１のサンプリングレートと第２のサンプリングレートとは同じであってもよいし、異なっていてもよい。
【００２７】
本実施形態に係るエンタテインメント装置１４は、例えばゲームコンソール、ＤＶＤプレイヤ、Ｂｌｕ−ｒａｙ（登録商標）プレイヤなどといったコンピュータである。本実施形態に係るエンタテインメント装置１４は、例えば記憶されている、あるいは、光ディスクに記録された、ゲームプログラムの実行やコンテンツの再生などによって映像や音声を生成する。そして本実施形態に係るエンタテインメント装置１４は、生成される映像を表す映像信号や生成される音声を表す音声信号を、中継装置１６を経由してディスプレイ１８に出力する。
【００２８】
本実施形態に係るエンタテインメント装置１４には、例えば図２に示すように、プロセッサ３０、記憶部３２、通信部３４、入出力部３６が含まれる。
【００２９】
プロセッサ３０は、例えばエンタテインメント装置１４にインストールされるプログラムに従って動作するＣＰＵ等のプログラム制御デバイスである。本実施形態に係るプロセッサ３０には、ＣＰＵから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するＧＰＵ（Graphics Processing Unit）も含まれている。
【００３０】
記憶部３２は、例えばＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。記憶部３２には、プロセッサ３０によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部３２には、ＧＰＵにより画像が描画されるフレームバッファの領域が確保されている。
【００３１】
通信部３４は、例えば無線ＬＡＮモジュールなどの通信インタフェースなどである。
【００３２】
入出力部３６は、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ポート、ＵＳＢポートなどの入出力ポートである。
【００３３】
本実施形態に係る中継装置１６は、エンタテインメント装置１４から出力される映像信号や音声信号を中継してディスプレイ１８に出力するコンピュータである。
【００３４】
本実施形態に係るディスプレイ１８は、例えば液晶ディスプレイ等であり、エンタテインメント装置１４から出力される映像信号が表す映像などを表示させる。
【００３５】
本実施形態に係るカメラマイクユニット２０は、例えば被写体を撮像した画像をエンタテインメント装置１４に出力するカメラ２０ａ及び周囲の音声を取得して当該音声を音声データに変換してエンタテインメント装置１４に出力するマイク２０ｂを含んでいる。また本実施形態に係るカメラ２０ａはステレオカメラである。
【００３６】
トラッカー１２と中継装置１６とは、例えば、無線によるデータの送受信が互いに可能になっている。エンタテインメント装置１４と中継装置１６とは、例えば、ＨＤＭＩケーブルやＵＳＢケーブルなどを介して接続されており、データの送受信が互いに可能になっている。中継装置１６とディスプレイ１８とは、例えば、ＨＤＭＩケーブルなどを介して接続されている。エンタテインメント装置１４とカメラマイクユニット２０とは、例えば、ＡＵＸケーブルなどを介して接続されている。
【００３７】
本実施形態では例えば、エンタテインメント装置１４によってゲームプログラムが実行されている際に、図３に示すスケルトンモデル４０における、ユーザの体に含まれる複数の部位の位置又は向きに応じたゲーム処理等の各種の処理が実行される。そして当該処理の結果に応じた映像が例えばディスプレイ１８に表示される。
【００３８】
図３に示すように、本実施形態に係るスケルトンモデル４０には、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅが含まれている。頭部ノード４２ａは、トラッカー１２ａが装着されるユーザの頭部に相当する。左手ノード４２ｂは、トラッカー１２ｂが装着されるユーザの左手に相当する。右手ノード４２ｃは、トラッカー１２ｃが装着されるユーザの右手に相当する。左足ノード４２ｄは、トラッカー１２ｄが装着されるユーザの左足に相当する。右足ノード４２ｅは、トラッカー１２ｅが装着されるユーザの右足に相当する。
【００３９】
またスケルトンモデル４０には、上記のノード４２の他に、胸部ノード４２ｆ、腰部ノード４２ｇ、左肩ノード４２ｈ、左肘ノード４２ｉ、左手首ノード４２ｊが含まれている。またスケルトンモデル４０には、さらに、右肩ノード４２ｋ、右肘ノード４２ｌ、右手首ノード４２ｍ、左膝ノード４２ｎ、左足首ノード４２ｏ、右膝ノード４２ｐ、右足首ノード４２ｑが含まれている。
【００４０】
ここで図３に示すように、頭部ノード４２ａと胸部ノード４２ｆとはリンクで接続されている。また胸部ノード４２ｆと腰部ノード４２ｇとはリンクで接続されている。
【００４１】
また胸部ノード４２ｆと左肩ノード４２ｈとはリンクで接続されている。また左肩ノード４２ｈと左肘ノード４２ｉとはリンクで接続されている。また左肘ノード４２ｉと左手首ノード４２ｊとはリンクで接続されている。また左手首ノード４２ｊと左手ノード４２ｂとはリンクで接続されている。
【００４２】
また胸部ノード４２ｆと右肩ノード４２ｋとはリンクで接続されている。また右肩ノード４２ｋと右肘ノード４２ｌとはリンクで接続されている。また右肘ノード４２ｌと右手首ノード４２ｍとはリンクで接続されている。また右手首ノード４２ｍと右手ノード４２ｃとはリンクで接続されている。
【００４３】
また腰部ノード４２ｇと左膝ノード４２ｎとはリンクで接続されている。また左膝ノード４２ｎと左足首ノード４２ｏとはリンクで接続されている。また左足首ノード４２ｏと左足ノード４２ｄとはリンクで接続されている。
【００４４】
また腰部ノード４２ｇと右膝ノード４２ｐとはリンクで接続されている。また右膝ノード４２ｐと右足首ノード４２ｑとはリンクで接続されている。また右足首ノード４２ｑと右足ノード４２ｅとはリンクで接続されている。
【００４５】
これらのノード４２は、それぞれユーザの体に含まれる部位に対応している。そして本実施形態では例えば、複数のトラッカー１２について特定される位置及び向きに基づくボディトラッキングが行える。ここでは例えば、スケルトンモデル４０に含まれる複数のノード４２のそれぞれについての、初期状態における基準の位置に対する位置及び初期状態における基準の向きに対する向きの推定が実行される。
【００４６】
ここで例えば、トラッカー１２ａについて特定される位置及び向きを示すデータに基づいて、頭部ノード４２ａの位置及び向きは決定できる。同様に、トラッカー１２ｂについて特定される位置及び向きを示すデータに基づいて、左手ノード４２ｂの位置及び向きは決定できる。また、トラッカー１２ｃについて特定される位置及び向きを示すデータに基づいて、右手ノード４２ｃの位置及び向きは決定できる。また、トラッカー１２ｄについて特定される位置及び向きを示すデータに基づいて、左足ノード４２ｄの位置及び向きは決定できる。また、トラッカー１２ｅについて特定される位置及び向きを示すデータに基づいて、右足ノード４２ｅの位置及び向きは決定できる。
【００４７】
そして決定される頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅの位置及び向きを示すデータに基づいて、例えば逆運動学（ＩＫ）計算や機械学習などによって、他のノード４２の位置及び向きが推定される。
【００４８】
トラッカー１２は種類によって一長一短があるため、複数の種類のトラッカー１２を併用して使用することが望ましいことがある。そのため、複数の種類のトラッカー１２を併用して使用する場合には、当該複数の種類のトラッカー１２の位置が１つの座標系で表現できるよう例えば出荷前などにおいて事前にキャリブレーションが実行される必要がある。当該キャリブレーションは、これら複数の種類のトラッカー１２の相対的な位置及び姿勢が固定されている状態で行われる必要がある。
【００４９】
ここでこれら複数の種類のトラッカー１２が同じ位置にあると仮定してキャリブレーションを実行すると、当該キャリブレーションの結果に大きな誤差が生じてしまう。ここでこのような誤差の発生を抑えるために、予め計測されたこれら複数の種類のトラッカー１２の相対的な位置を用いたキャリブレーションを実行することも考えられるが、このような事前の計測は面倒である。
【００５０】
そこで本実施形態では以下で説明するようにして、複数の種類のトラッカー１２の相対的な位置を予め計測することなくこれらのトラッカー１２のキャリブレーションを実行できるようにした。
【００５１】
以下、本実施形態におけるトラッカー１２のキャリブレーションに関するエンタテインメント装置１４の機能、及び、エンタテインメント装置１４で実行される処理についてさらに説明する。
【００５２】
図４は、本実施形態に係るエンタテインメント装置１４で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエンタテインメント装置１４で、図４に示す機能のすべてが実装される必要はなく、また、図４に示す機能以外の機能が実装されていても構わない。
【００５３】
図４に示すように本実施形態に係るエンタテインメント装置１４には、機能的には例えば、トラッカーデータ取得部５０、トラッカーデータ記憶部５２、計測タイミングデータ変換部５４、サンプルデータ生成部５６、パラメータ推定部５８、パラメータデータ記憶部６０が含まれる。
【００５４】
トラッカーデータ取得部５０は、プロセッサ３０及び入出力部３６を主として実装される。トラッカーデータ記憶部５２、パラメータデータ記憶部６０は、記憶部３２を主として実装される。計測タイミングデータ変換部５４、サンプルデータ生成部５６、パラメータ推定部５８は、プロセッサ３０を主として実装される。
【００５５】
以上の機能は、コンピュータであるエンタテインメント装置１４にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ３０で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してエンタテインメント装置１４に供給されてもよい。
【００５６】
以下、第１の種類のトラッカー１２であるトラッカー１２ａと、第２の種類のトラッカー１２であるトラッカー１２ｂと、を用いて行われるキャリブレーションの一例について説明する。キャリブレーションでは、まず、例えばユーザがトラッカー１２ａ及びトラッカー１２ｂの両方を片手で持つなどして、トラッカー１２ａに対するトラッカー１２ｂの相対的な位置及び向きが固定されている状態にする。そしてこの状態を維持したままユーザがある程度の時間、トラッカー１２ａ及びトラッカー１２ｂを自由に動かすこととする。
【００５７】
トラッカーデータ取得部５０は、本実施形態では例えば、キャリブレーションが行われている間における、トラッカー１２の位置及び向きの計測結果を示すトラッカーデータを取得する。
【００５８】
ここで例えば、トラッカー１２の位置及び向きの計測に応じて、当該計測の結果を示すトラッカーデータが当該トラッカー１２からエンタテインメント装置１４に送信されてもよい。そしてトラッカーデータ取得部５０が当該トラッカーデータを受信してもよい。また例えばトラッカー１２の周囲に配置されたセンサから当該トラッカー１２の位置及び向きの計測の結果を示すトラッカーデータがエンタテインメント装置１４に送信されてもよい。そしてトラッカーデータ取得部５０が当該トラッカーデータを受信してもよい。なお本実施形態では、トラッカー１２の位置及び向きの計測の結果を示すトラッカーデータには、当該トラッカー１２の識別情報、及び、計測が行われるタイミングに対応付けられる計測タイミングデータが関連付けられていることとする。
【００５９】
以下、トラッカー１２ａの位置及び向きが第１の座標系で表現されたトラッカーデータを第１のトラッカーデータと呼ぶこととする。また、トラッカー１２ｂの位置及び向きが第２の座標系で表現されたトラッカーデータを第２のトラッカーデータと呼ぶこととする。
【００６０】
上述のように本実施形態では例えば、第１のサンプリングレートでトラッカー１２ａの位置及び向きの計測が行われる。そしてトラッカーデータ取得部５０は、第１のサンプリングレートで計測タイミングが互いに異なる第１のトラッカーデータを複数取得する。また上述のように本実施形態では例えば、第２のサンプリングレートでトラッカー１２ｂの位置及び向きの計測が行われる。そしてトラッカーデータ取得部５０は、第２のサンプリングレートで計測タイミングが互いに異なる第２のトラッカーデータを複数取得する。
【００６１】
トラッカーデータ記憶部５２は、本実施形態では例えば、トラッカーデータ取得部５０が取得するトラッカーデータを記憶する。ここで上述のようにトラッカーデータ記憶部５２に記憶されるトラッカーデータには、トラッカー１２の識別情報及び計測タイミングデータが関連付けられていてもよい。ここでは例えば、トラッカーデータ記憶部５２は、上述の複数の第１のトラッカーデータと、上述の複数の第２のトラッカーデータと、を記憶する。
【００６２】
計測タイミングデータ変換部５４は、本実施形態では例えば、複数の第１のトラッカーデータ、又は、複数の第２のトラッカーデータのいずれかについて、当該トラッカーデータに関連付けられている計測タイミングデータを変換する。一般的に、第１の種類のトラッカー１２と第２の種類のトラッカー１２とでは、計測タイミングデータが示す計測タイミングの表現形式が異なっている。例えば第１の種類のトラッカー１２についての計測タイミングデータが示す計測タイミングはタイムスタンプ値で表現される一方で、第２の種類のトラッカー１２についての計測タイミングデータが示す計測タイミングは秒で表現される。また一般的に、第１の種類のトラッカー１２と第２の種類のトラッカー１２とでは、計測タイミングデータの値が０であるタイミングに相当する時刻も異なっている。このことを踏まえ、計測タイミングデータ変換部５４は、計測タイミングの表現形式、及び、計測タイミングデータの値が０であるタイミングに相当する時刻を統一させるために計測タイミングデータの変換を実行する。
【００６３】
計測タイミングデータ変換部５４は、例えば、複数の第１のトラッカーデータに基づいて、トラッカー１２ａの速度の時系列を特定する。また計測タイミングデータ変換部５４は、例えば、複数の第２のトラッカーデータに基づいて、トラッカー１２ｂの速度の時系列を特定する。図５は、第１の種類のトラッカー１２であるトラッカー１２ａについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。図６は、第２の種類のトラッカー１２であるトラッカー１２ｂについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。ここで例えば、トラッカー１２ａについての計測タイミングデータの値と速度との対応と、トラッカー１２ｂについての当該対応とが概ね同じになるよう、トラッカー１２ａについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。なお図５及び図６に示されている速度は、速度のノルムである。
【００６４】
ここで例えば、速度が遅い際の計測タイミングデータの値同士が対応付けられるよう、トラッカー１２ａについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。例えば図５にＡ１〜Ａ７と示されているタイミング、及び、図６にＢ１〜Ｂ７と示されているタイミングにおける速度は、所定の速度以下であることとする。この場合、例えば公知の補間技術を用いて、図５にＡ１〜Ａ７と示されているタイミングにおける計測タイミングデータの値が概ねそれぞれ図６にＢ１〜Ｂ７と示されているタイミングにおける計測タイミングデータの値となるような変換が実行されてもよい。なおここで例えば、速度が０になるタイミングにおける計測タイミングデータの値同士が一致するような変換が実行されてもよい。
【００６５】
計測タイミングデータ変換部５４による変換によって、例えば、第１のトラッカーデータに関連付けられている計測タイミングデータが示す計測タイミングが秒で表現される。また第１の種類のトラッカー１２と第２の種類のトラッカー１２との、計測タイミングデータの値が０であるタイミングに相当する時刻が同じ、あるいは、概ね同じになる。
【００６６】
なお計測タイミングデータ変換部５４が、速度の時系列の代わりに、加速度の時系列や角速度の時系列に基づいて、計測タイミングデータを変換してもよい。また計測タイミングデータ変換部５４が、速度のノルムの時系列の代わりに、加速度のノルムの時系列や角速度のノルムの時系列に基づいて、計測タイミングデータを変換してもよい。例えば、トラッカー１２ａについての計測タイミングデータの値と加速度との対応と、トラッカー１２ｂについての当該対応とが概ね同じになるよう、トラッカー１２ａについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。また例えば、トラッカー１２ａについての計測タイミングデータの値と角速度との対応と、トラッカー１２ｂについての当該対応とが概ね同じになるよう、トラッカー１２ａについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。
【００６７】
サンプルデータ生成部５６は、本実施形態では例えば、計測タイミングが互いに対応付けられる第１のトラッカーデータと第２のトラッカーデータとを含むサンプルデータを複数生成する。ここでは例えば、計測タイミングデータの値が互いに対応付けられる、第１のトラッカーデータと第２のトラッカーデータとを含むサンプルデータが複数生成されてもよい。ここで例えば、５０個〜２００個程度のサンプルデータが生成されてもよい。
【００６８】
またサンプルデータ生成部５６が、トラッカー１２ａの速度、加速度、又は、角速度のうちの少なくとも１つの時系列とトラッカー１２ｂの速度、加速度、又は、角速度のうちの少なくとも１つの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数のサンプルデータを生成してもよい。またサンプルデータ生成部５６が、トラッカー１２ａの速度、加速度、又は、角速度のうちの少なくとも１つのノルムの時系列とトラッカー１２ｂの速度、加速度、又は、角速度のうちの少なくとも１つのノルムの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数のサンプルデータを生成してもよい。例えば上述のように、トラッカー１２ａの速度の時系列とトラッカー１２ｂの速度の時系列とに基づいて計測タイミングデータが変換されたトラッカーデータに基づいて、計測のタイミングが互いに対応付けられる複数のサンプルデータが生成されてもよい。なお速度のノルムの時系列の代わりに、加速度のノルムの時系列や角速度のノルムの時系列に基づいて、複数のサンプルデータが生成されてもよい。またノルムの代わりにベクトルの時系列に基づいて、複数のサンプルデータが生成されてもよい。
【００６９】
またサンプルデータ生成部５６は、位置又は向きのばらつきが大きくなるよう選択される第１のトラッカーデータ及び第２のトラッカーデータに基づいて、複数のサンプルデータを生成してもよい。例えば、トラッカー１２ａやトラッカー１２ｂの位置のばらつきがなるべく大きくなるよう複数のサンプルデータが生成されてもよい。また例えばトラッカー１２ｂの向きのばらつきがなるべく大きくなるよう複数のサンプルデータが生成されてもよい。
【００７０】
パラメータ推定部５８は、本実施形態では例えば、複数の第１のトラッカーデータと複数の第２のトラッカーデータとに基づいて、第２の座標系で表現される位置を第１の座標系での表現に変換するパラメータの値を推定する。またパラメータ推定部５８は、本実施形態では例えば、上述のパラメータの値だけではなく、トラッカー１２ａの位置に対するトラッカー１２ｂの相対的な位置についても併せて推定する。
【００７１】
ここでは例えば、Ｐ１＝Ｒｃ×（Ｐ２＋Ｒ２×Ｐ０）＋Ｐｃとの数式における左辺の値と右辺の値との誤差がなるべく小さくなるよう、値Ｒｃ、値Ｐ０、及び、値Ｐｃの推定が行われる。当該誤差の指標の一例としては、それぞれのサンプルデータについて算出される上述の数式における左辺の値と右辺の値との差の二乗平均平方根（ＲＭＳ）が挙げられる。ここで例えば、最急降下法などを用いた逐次的な推定が行われてもよい。
【００７２】
ここで値Ｐ１は例えば、第１の座標系で表現されたトラッカー１２ａの位置ベクトルを表す三次元座標値である。ここでは例えばサンプルデータ生成部５６により生成されるサンプルデータに含まれる、第１のトラッカーデータに示されているトラッカー１２ａの位置を表す値が値Ｐ１に相当する。
【００７３】
また値Ｐ２は例えば、第２の座標系で表現されたトラッカー１２ｂの位置ベクトルを表す三次元座標値である。ここでは例えば、当該サンプルデータに含まれる、第２のトラッカーデータに示されているトラッカー１２ｂの位置を表す値が値Ｐ２に相当する。
【００７４】
また値Ｒ２は例えば、第２の座標系で表現された所定の基準方向に対するトラッカー１２ｂの回転を表す回転行列である。ここでは例えば、当該サンプルデータに含まれる、第２のトラッカーデータに示されているトラッカー１２ｂの向きを表す値が値Ｒ２に相当する。
【００７５】
そして推定される値Ｒｃ、及び、値Ｐｃは、第２の座標系で表現される位置を第１の座標系での表現に変換するパラメータの値に相当する。例えば値Ｒｃ、及び、値Ｐｃは、それぞれ、第２の座標系で表現される位置を第１の座標系での表現に変換するための回転行列、及び、平行移動ベクトルである。
【００７６】
また推定される値Ｐ０は、トラッカー１２ａの位置に対するトラッカー１２ｂの相対的な位置を示す値に相当する。値Ｐ０は、例えば、値Ｐ１が表す第１の座標系で表現されたトラッカー１２ａの位置ベクトルを第２の座標系での表現に変換した位置を基準とした際の、値Ｐ２が表す第２の座標系で表現されたトラッカー１２ｂの相対的な位置を示す値である。
【００７７】
パラメータデータ記憶部６０は、本実施形態では例えば、第２の座標系で表現される位置を第１の座標系での表現に変換するパラメータの値、及び、トラッカー１２ａの位置に対するトラッカー１２ｂの相対的な位置を示すパラメータデータを記憶する。ここでは例えば、パラメータ推定部５８が、キャリブレーションが終了した際の値Ｒｃ、値Ｐ０、及び、値Ｐｃを示すパラメータデータを生成して、パラメータデータ記憶部６０に記憶させる。
【００７８】
キャリブレーションが終了した後は、図１に示すようにトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅがユーザの体に装着された状態におけるボディトラッキングが開始される。当該ボディトラッキングにおいては、以上のようにしてパラメータデータ記憶部６０に記憶されたパラメータデータに基づいて、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅの位置及び向きが第１の座標系で表現可能となる。そのため、トラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅのすべての位置が１つの座標系で表現できることとなる。そして第１の座標系で表現されたトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅの位置及び向きに基づくボディトラッキングが行われる。
【００７９】
以上のようにして本実施形態によれば、複数の種類のトラッカー１２の相対的な位置を予め計測することなくこれらのトラッカー１２のキャリブレーションを精度よく実行できることとなる。
【００８０】
また本実施形態では上述のように、値Ｐ０を推定するにあたって第２の座標系で表現された所定の基準方向に対するトラッカー１２ｂの回転を表す回転行列の値Ｒ２が用いられる。そのため、向きのばらつきが大きくなるよう選択される第１のトラッカーデータ及び第２のトラッカーデータに基づいて複数のサンプルデータが生成されることにより値Ｐ０をより精度よく推定できることとなる。
【００８１】
また本実施形態では、キャリブレーションにおいてパラメータ推定部５８による上述の推定が行われた後は、トラッカー１２ａとトラッカー１２ｂとは分離して使用可能である。そしてトラッカー１２ａとトラッカー１２ｂとが分離して使用された後にトラッカー１２ａに対するトラッカー１２ｂの相対的な位置及び向きが前回のキャリブレーションとは異なるよう固定されている状態で再度のキャリブレーションが行われてもよい。そして当該再度のキャリブレーションにおいて、パラメータ推定部５８が、前回のキャリブレーションとは異なる値Ｐ０を推定してもよい。このように本実施形態では、キャリブレーションが行われる度に、トラッカー１２ａの位置に対するトラッカー１２ｂの相対的な位置が異なっていても問題ない。
【００８２】
ここで、本実施形態に係るエンタテインメント装置１４で行われる処理の流れの一例を、図７に例示するフロー図を参照しながら説明する。
【００８３】
ここでは例えば、トラッカーデータ記憶部５２に、複数の第１のトラッカーデータ、及び、複数の第２のトラッカーデータが記憶されていることとする。また上述のようにトラッカーデータには、トラッカー１２の識別情報、及び、計測タイミングデータが関連付けられていることとする。また、パラメータデータ記憶部６０に、所定の初期値が設定された、値Ｒｃ、値Ｐ０、及び、値Ｐｃを示すパラメータデータが記憶されていることとする。
【００８４】
まず、計測タイミングデータ変換部５４が、複数の第１のトラッカーデータのそれぞれについて、上述のようにして、当該トラッカーデータに関連付けられている計測タイミングデータを変換する（Ｓ１０１）。
【００８５】
そして、サンプルデータ生成部５６が、計測タイミングが互いに対応付けられる第１のトラッカーデータと第２のトラッカーデータとを含むサンプルデータを複数生成する（Ｓ１０２）。
【００８６】
そして、パラメータ推定部５８が、Ｓ１０２に示す処理で生成された複数のサンプルデータのうち、Ｓ１０４及びＳ１０５に示す処理が実行されていないものを１つ選択する（Ｓ１０３）。
【００８７】
そして、パラメータ推定部５８が、上述のようにして、Ｓ１０３に示す処理で選択されたサンプルデータに基づいて、本ループにおける、値Ｒｃ、値Ｐ０、及び、値Ｐｃを推定する（Ｓ１０４）。
【００８８】
そして、パラメータ推定部５８が、パラメータデータ記憶部６０に記憶されているパラメータデータを、Ｓ１０４に示す処理で推定された値Ｒｃ、値Ｐ０、及び、値Ｐｃを示すパラメータデータに更新する（Ｓ１０５）。
【００８９】
そして、パラメータ推定部５８が、Ｓ１０２に示す処理で生成された複数のサンプルデータのすべてについてＳ１０４及びＳ１０５に示す処理が実行されたか否かを確認する（Ｓ１０６）。ここでＳ１０２に示す処理で生成された複数のサンプルデータのすべてについてＳ１０４及びＳ１０５に示す処理がまだ実行されていない場合は（Ｓ１０６：Ｎ）、Ｓ１０３に示す処理に戻る。一方、Ｓ１０２に示す処理で生成された複数のサンプルデータのすべてについてＳ１０４及びＳ１０５に示す処理が実行されたことが確認された場合は（Ｓ１０６：Ｙ）、本処理例に示す処理が終了される。
【００９０】
以上の説明では、図１に示すようにトラッカー１２ａ〜１２ｅがユーザの体に装着された状態における各トラッカー１２の位置及び向きの特定が行われる前に、キャリブレーションが行われることを想定していた。
【００９１】
ここで例えば、図８に示すように、トラッカー１２ａ及びトラッカー１２ｆが、トラッカー１２ａに対するトラッカー１２ｆの相対的な位置及び向きが固定されている状態で筐体７０に設けられていてもよい。ここでトラッカー１２ｆは、第２の種類のトラッカー１２であることとする。そしてこの状態で、トラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、及び、トラッカー１２ｅの位置及び向きに基づくボディトラッキングが行われるようにしてもよい。そしてボディトラッキングが行われている間に、リアルタイムでキャリブレーションが実行されるようにしてもよい。
【００９２】
この場合、例えば、サンプルデータ生成部５６は、互いに計測タイミングが対応付けられるトラッカー１２ａについてのトラッカーデータとトラッカー１２ｆについてのトラッカーデータとを含むサンプルデータを生成する。ここでトラッカー１２ａについてのトラッカーデータでは、第１の座標系によりトラッカー１２ａの位置及び向きが表現されている。またトラッカー１２ｆについてのトラッカーデータでは、第２の座標系によりトラッカー１２ｆの位置及び向きが表現されている。
【００９３】
そしてパラメータ推定部５８は、当該サンプルデータに基づくパラメータデータの更新を行うか否かを判定する。
【００９４】
ここで例えば、当該サンプルデータが示す位置が、既に推定に用いられたサンプルデータが示す位置からある程度離れている場合には、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。例えば当該サンプルデータが示す位置が、既に推定に用いられたサンプルデータが示す位置の平均から所定の距離以上離れている場合には、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。
【００９５】
また例えば、当該サンプルデータが示すトラッカー１２ｆの向きが、既に推定に用いられたサンプルデータが示すトラッカー１２ｆの向きからある程度離れている場合に、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。例えば、当該サンプルデータが示すトラッカー１２ｆの向きが、既に推定に用いられたサンプルデータが示すトラッカー１２ｆの向きの平均と所定の角度以上異なっている場合に、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。
【００９６】
そしてパラメータ推定部５８が、パラメータデータの更新を行うと判定されたサンプルデータに基づいて、当該ループにおける、値Ｒｃ、値Ｐ０、及び、値Ｐｃの推定を行ってもよい。そしてパラメータ推定部５８が、パラメータデータ記憶部６０に記憶されているパラメータデータを、推定された値Ｒｃ、値Ｐ０、及び、値Ｐｃを示すパラメータデータに更新してもよい。
【００９７】
このようにすれば、ボディトラッキングが行われている間におけるリアルタイムでのキャリブレーション（ここではすなわちパラメータの値の推定及びパラメータデータの更新）が可能となる。
【００９８】
また本実施形態において、第２の種類のトラッカー１２の位置や向きが、第１の種類のトラッカー１２の位置や向きからの相対的な位置や向きとして表現されるような運用を行っても構わない。例えば位置Ｐ１を原点とした際の、第１の座標系への変換後の位置Ｐ２の位置ベクトルが、トラッカー１２ｂの位置ベクトルとして用いられるようにしてもよい。またこの場合であって、図８に示すような、トラッカー１２ａに対するトラッカー１２ｆの相対的な位置及び向きが常に固定されるような場合以外は、出荷前のキャリブレーションができない。例えば、第１の種類のトラッカー１２の原点と第２の種類のトラッカー１２の原点とをユーザが任意に設定できるような場合には、出荷前のキャリブレーションはできない。このような出荷前のキャリブレーションができない場面でも本実施形態では、上述のようにしてユーザがキャリブレーションを容易に行うことができる。
【００９９】
なお、本発明は上述の実施形態に限定されるものではない。
【０１００】
例えばトラッカー１２の追跡方法は、上述したような、ＳＬＡＭ（Simultaneous Localization and Mapping）技術を用いた方法や、トラッカー１２の周囲に配置された複数のセンサによる検出結果に基づく方法には限定されない。例えばトラッカー１２が、カメラ、慣性センサ（ＩＭＵ）、地磁気センサ（方位センサ）、加速度センサ、モーションセンサ、ＧＰＳ（Global Positioning System）モジュールなどといった各種センサを備えていてもよい。そして当該トラッカー１２が備えるセンサによる計測結果に基づいて、当該トラッカー１２の位置及び向きが特定されてもよい。
【０１０１】
また、図４に示す機能の一部又は全部がエンタテインメント装置１４で実装されている必要はない。例えば、図４に示す機能の一部又は全部がいずれかのトラッカー１２に実装されていてもよい。
【０１０２】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
【図１】
0006975347.tif 000002
【図２】
0006975347.tif 000003
【図３】
0006975347.tif 000004
【図４】
0006975347.tif 000005
【図５】
0006975347.tif 000006
【図６】
0006975347.tif 000007
【図７】
0006975347.tif 000008
【図８】
0006975347.tif 000009