(57)【特許請求の範囲】
【請求項１】
３次元空間上で動作してユーザ命令を入力するための入力デバイスであって、
第１センサの出力値から、前記デバイスの姿勢に対して独立的な座標系における第１回転角を演算する第１演算部と、
第２センサの出力値から、前記独立的な座標系における第２回転角を演算する第２演算部と、
前記第１回転角と前記第２回転角を組合せて前記入力デバイスの姿勢角を求める姿勢角測定部、および
前記入力デバイスの加速度と、前記姿勢角測定部から求めた入力デバイスの姿勢角を利用して前記独立的な座標系における力強度を計算する強度計算部を含む入力デバイス。
【請求項２】
マッピング関数によって前記計算された力強度を最終的に出力される力強度にマッピングする強度マッピング部をさらに含む請求項１に記載の入力デバイス。
【請求項３】
前記マッピング関数は、
関数の入力値を縮小または除去して出力する低下領域と、関数の入力値をほぼ比例する出力値にマッピングするスケーリング領域と、一定値以上の入力値に対してその出力値を制限する限定領域のうち少なくとも２つ以上の領域を含む請求項２に記載の入力デバイス。
【請求項４】
前記強度計算部は、
前記加速度から筐体フレームにおける力強度を計算し、前記計算された力強度を前記独立的な座標系における力強度に変換する請求項１に記載の入力デバイス。
【請求項５】
前記独立的な座標系は航法フレーム（ｎａｖｉｇａｔｉｏｎ  ｆｒａｍｅ）またはヨードリフトフレーム（ｙａｗ  ｄｒｉｆｔ  ｆｒａｍｅ）である請求項４に記載の入力デバイス。
【請求項６】
前記演算された第１回転角と前記第２回転角は、
加重平均によって組合せわせられる請求項１に記載の入力デバイス。
【請求項７】
前記加重平均に使用される加重値は、
所定の動き推定関数によって推定されるが、前記動き推定関数は前記デバイスの動きがない場合には前記姿勢角に第２回転角のみが反映されるように前記加重値を設定し、前記デバイスの動きが最大である場合には前記姿勢角に第１回転角のみが反映されるように前記加重値を設定し、前記デバイスの動きがその間の場合には停止と最大動きの間の値で前記加重値を設定する請求項６に記載の入力デバイス。
【請求項８】
前記第１回転角は、
前記第１センサの出力値および前記第１回転角を変数とする微分方程式から演算される請求項１に記載の入力デバイス。
【請求項９】
前記第２回転角のうちヨー（ｙａｗ）は、前記第２回転角のうちロール（ｒｏｌｌ）およびピッチ（ｐｉｔｃｈ）の組合せから演算される請求項１に記載の入力デバイス。
【請求項１０】
３次元空間上で動作してユーザ命令を入力するための入力デバイスであって、
第１センサの出力値から、前記デバイスの姿勢に対して独立的な座標系における第１回転角を演算する第１演算部と、
第２センサの出力値から、前記独立的な座標系における第２回転角を演算する第２演算部と、
前記第１回転角と前記第２回転角を組合せて前記入力デバイスの姿勢角を求める姿勢角測定部、および
前記入力デバイスの角速度と、前記姿勢角測定部から求めた入力デバイスの姿勢角を利用して前記独立的な座標系における回転強度を計算する強度計算部を含む入力デバイス。
【請求項１１】
マッピング関数によって前記計算された回転強度を最終的に出力される回転強度にマッピングする強度マッピング部をさらに含む請求項１０に記載の入力デバイス。
【請求項１２】
前記マッピング関数は、
関数の入力値を縮小または除去して出力する低下領域と、関数の入力値をほぼ比例する出力値にマッピングするスケーリング領域と、一定値以上の入力値に対してその出力値を制限する限定領域のうち少なくとも２つ以上の領域を含む請求項１１に記載の入力デバイス。
【請求項１３】
前記強度計算部は、
前記加速度から筐体フレームにおける回転強度を計算し、前記計算された回転強度を前記独立的な座標系における回転強度に変換する請求項１０に記載の入力デバイス。
【請求項１４】
前記独立的な座標系は、航法フレーム（ｎａｖｉｇａｔｉｏｎ  ｆｒａｍｅ）またはヨードリフトフレーム（ｙａｗ  ｄｒｉｆｔ  ｆｒａｍｅ）である請求項１３に記載の入力デバイス。
【請求項１５】
３次元空間上で動作してユーザ命令を入力するための入力デバイスであって、
少なくとも一つの方向に対する前記入力デバイスの角速度を感知するセンサと、
前記感知された角速度から筐体フレームにおける回転強度を計算する強度計算部、および
マッピング関数によって前記計算された回転強度を最終的に出力される回転強度にマッピングする強度マッピング部を含む入力デバイス。
【請求項１６】
前記マッピング関数は、
関数の入力値を縮小または除去して出力する低下領域と、関数の入力値をほぼ比例する出力値にマッピングするスケーリング領域と、一定値以上の入力値に対してその出力値を制限する限定領域のうち少なくとも２つ以上の領域を含む請求項１５に記載の入力デバイス。
【請求項１７】
３次元空間上で動作する入力デバイスを利用してユーザ命令を入力する方法であって、
第１センサの出力値から、前記デバイスの姿勢に対して独立的な座標系における第１回転角を演算するステップと、
第２センサの出力値から、前記独立的な座標系における第２回転角を演算するステップと、
前記第１回転角と前記第２回転角を組合せて前記入力デバイスの姿勢角を求めるステップ、および
前記入力デバイスの加速度と、前記姿勢角測定部から求めた入力デバイスの姿勢角を利用して前記独立的な座標系における力強度を計算するステップを含む方法。
【請求項１８】
３次元空間上で動作する入力デバイスを利用して、ユーザ命令を入力する方法であって、
第１センサの出力値から、前記デバイスの姿勢に対して独立的な座標系における第１回転角を演算するステップと、
第２センサの出力値から、前記独立的な座標系における第２回転角を演算するステップと、
前記第１回転角と前記第２回転角を組合せて前記入力デバイスの姿勢角を求めるステップ、および
前記デバイスの角速度と前記入力デバイスの姿勢角を利用して前記独立的な座標系における回転強度を計算するステップを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きセンサを具備したユーザ命令入力デバイスに関するものであって、より詳細には３次元空間上でのデバイスの動きに基づいてより自然かつ正確に力強度（ｆｏｒｃｅ  ｉｎｔｅｎｓｉｔｙ）および回転強度（ｒｏｔａｔｉｏｎ  ｉｎｔｅｎｓｉｔｙ）を入力する装置に関するものである。
【背景技術】
【０００２】
コンピュータ科学分野の発達につれ、ユーザがコンピュータデバイスに情報を入力できる多様なデバイスが開発されている。前記デバイスのうちあるグループはユーザ命令入力デバイスと呼ばれる。ユーザがこのようなデバイスのコンポーネントを操作することにより、ユーザ命令入力デバイスの移動に対応する位置データが生成される。そして、このような位置データはディスプレイ上に表示されるポインタイメージの動きに変換される。したがって、ユーザ命令入力デバイスを動かすことによって、ユーザはそのポインタイメージをディスプレイ上に表示されるオブジェクトと関連させることができる。前記オブジェクトとは、メニュー、ボタン、イメージなど選択されたとき、特定動作が実行されるようにするユーザインターフェースを意味する。その後ユーザはユーザ命令入力デバイスの特定ボタンを押すような選択動作を通じて、該当オブジェクトと関連した特定命令をすることができる。
【０００３】
一般的な個人用コンピュータのユーザは自身のコンピュータを駆動するためのオペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）としてマイクロソフト社のウインドウズ（Ｗｉｎｄｏｗｓ）を使用している。これは既存のＤＯＳ（Ｄｉｓｋ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）システムではサポートできない便利なマウス機能および多様なグラフィック機能に起因するが、ユーザはウインドウズを介して特定命令を入力するとき、いちいちキーボード入力を行わなくても、マウスのドラッグやスクロール、クリックなどにより簡便に命令を入力することができる。
【０００４】
これとは対照にデジタルＴＶ、セットトップボックス、ゲーム機などのように個人用コンピュータで使用されるキーボードやマウスを使用することができない映像表示装置では、リモコンという遠隔制御装置上に具備されたキーパッドを利用して多様な命令を入力する実情にある。このようにキーパッドを押す入力方式が主に使用された理由は、このような装置は個人用コンピュータとは異なり前記装置の操作のために特定の位置に固定されているものでもなく、リビングのような開放された空間での操作が必要であるためユーザがキーボードやマウスのように主に平面に固定して使用される入力手段を利用することが難しいからである。
【０００５】
このような問題点を考慮し、最近ではジャイロスコープ、加速度計などの動きセンサを搭載した３次元ユーザ命令入力デバイスが開発されている。ユーザは３次元ユーザ命令入力デバイスを動かすことによってこれに対応するディスプレイ上のポインタイメージを所望する方向と速度で動かすことができ、前記ユーザ命令入力デバイス上に具備された特定ボタンを押すことによって所望するオブジェクトを選択して実行することができる。
【０００６】
一方、最近ではゲーム機、航空シミュレーション機器、スポーツシミュレーション機器など３次元ユーザ命令入力デバイスを使用する多様なシステムが登場している。このような新しいシステムにおいては、単にユーザが入力デバイスを通じて画面上のオブジェクトの線形の動きを制御すること（例えば、画面上のポインタを制御すること）以外にも、入力デバイスを利用して３次元空間上に存在するオブジェクトに力を伝達したり、回転を加えたりするという多様な形態のユーザ命令を入力する方式が使用され得る。
【０００７】
このように、力や回転などの慣性（ｍｏｍｅｎｔｕｍ）をオブジェクトに伝達することにおいて最も重要な部分は、ユーザが実際入力デバイスを動かすことに対応して画面上のオブジェクトがどれほど自然に反応（または動作）するかである。このようなオブジェクトの自然な反応の可否はユーザ個人によって多少異なるように感じられる部分でもあるが、シミュレーションの次元から見ると特定入力に対する物理的反応は理論的には唯一である。したがって、その唯一の反応に近くなるように入力と反応間の関係を調節することカギといえる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、３次元空間上で任意の動作を通じてユーザが力強度および回転強度をオブジェクトに自然に入力する方法および装置を提供することにある。
【０００９】
本発明の技術的課題は以上で言及した技術的課題に制限されず、言及されていないまた他の技術的課題は次の記載から当業者に明確に理解できるであろう。
【課題を解決するための手段】
【００１０】
前記技術的課題を達成するために本発明の一実施形態による３次元空間上で動作してユーザ命令を入力するための入力デバイスは、第１センサの出力値から、前記デバイスの姿勢に対して独立的な座標系における第１回転角を演算する第１演算部と、第２センサの出力値から、前記独立的な座標系における第２回転角を演算する第２演算部と、前記第１回転角と前記第２回転角を組合せて前記入力デバイスの姿勢角を求める姿勢角測定部、および前記入力デバイスの加速度と、前記姿勢角測定部から求めた入力デバイスの姿勢角を利用して前記独立的な座標系における力強度を計算する強度計算部を含む。
【００１１】
前記技術的課題を達成するために本発明の他の実施形態による３次元空間上で動作してユーザ命令を入力するための入力デバイスは、少なくとも一つの方向に対する前記入力デバイスの加速度を感知するセンサと、前記感知された加速度から筐体フレームにおける力強度を計算する強度計算部、およびマッピング関数によって前記計算された力強度を最終的に出力される力強度にマッピングする強度マッピング部を含む。
【００１２】
前記技術的課題を達成するために本発明のまた他の実施形態による３次元空間上で動作してユーザ命令を入力するための入力デバイスは、第１センサの出力値から、前記デバイスの姿勢に対して独立的な座標系における第１回転角を演算する第１演算部と、第２センサの出力値から、前記独立的な座標系における第２回転角を演算する第２演算部と、前記第１回転角と前記第２回転角を組合せて前記入力デバイスの姿勢角を求める姿勢角測定部、および前記入力デバイスの角速度と、前記姿勢角測定部から求めた入力デバイスの姿勢角を利用して前記独立的な座標系における回転強度を計算する強度計算部を含む。
【００１３】
前記技術的課題を達成するために本発明のまた他の実施形態による３次元空間上で動作してユーザ命令を入力するための入力デバイスは、少なくとも一つの方向に対する前記入力デバイスの角速度を感知するセンサと、前記感知された角速度から筐体フレームにおける回転強度を計算する強度計算部、およびマッピング関数によって前記計算された回転強度を最終的に出力される回転強度にマッピングする強度マッピング部を含む。
【発明の効果】
【００１４】
本発明による入力デバイスによれば、３次元空間上で任意の動作を通じて力強度または回転強度をオブジェクトに伝達する場合に、ユーザが前記オブジェクトらからより直観的かつ自然な反応を感じることができる。
【図面の簡単な説明】
【００１５】
【図１】特定フレームで定義される三軸回転方向を示す図である。
【図２】本発明の一実施形態による入力デバイスを示すブロック図である。
【図３】本発明による一実施形態により加速度計を利用してロール値を測定する方法を示す図である。
【図４】本発明の一実施形態によるヨー角測定方法においてピッチおよびロール値を利用してヨー値を計算する方法を示す図である。
【図５】式５においてωｘを利用する場合と利用しない場合を比較した図である。
【図６】式５においてωｘを利用する場合と利用しない場合を比較した図である。
【図７】式５においてωｘを利用する場合と利用しない場合を比較した図である。
【図８】動き推定関数を利用してデバイスの動きを推定するフローチャートである。
【図９】動き推定関数の例として使用された鐘形曲線を示す図である。
【図１０】動き推定関数の例として使用された指数関数を示す図である。
【図１１】筐体フレームにおける力強度ベクターを航法フレームの各平面上に投影させた面である。
【図１２】図１１で投影された力成分を姿勢角を利用して航法フレームの成分で各々分解した図である。
【図１３】筐体フレームと航法フレームにおける力強度の差異を示すための図ある。
【図１４】筐体フレームと航法フレームにおける力強度の差異を示すための図ある。
【図１５】図１３と同じ条件で力強度の結果を示す図である
【図１６】図１４と同じ条件で力強度の結果を示す図である。
【図１７】図１４と同じ条件で力強度の結果を示す図である。
【図１８】本発明の一実施形態によるマッピング関数を示す図である。
【図１９】本発明の一実施形態によるマッピング関数を示す図である。
【図２０】本発明の一実施形態によるマッピング関数を示す図である。
【図２１】図１３のようにユーザが入力デバイスに力を加える条件で図２０と同じマッピング関数の適用による出力力強度を示す図である。
【図２２】図２１において低下領域を拡大して示す図である。
【図２３】図２１においてスケーリング領域を拡大して示す図である。
【図２４】図２１において限定領域を拡大して示す図である。
【発明を実施するための形態】
【００１６】
本発明の利点、特徴、およびそれらを達成する方法は、添付する図面と共に詳細に後述される実施形態を参照すれば明確になるであろう。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で実現されることが可能である。本実施形態は、単に本発明の開示が完全になるように、本発明が属する技術分野で通常の知識を有する者に対して発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範疇によってのみ定義される。なお、明細書全体にかけて、同一の参照符号は同一の構成要素を指すものとする。
【００１７】
以下添付された図を参照して本発明による一実施形態について詳細に説明する。
【００１８】
本発明において、入力デバイスはユーザの動きの入力を受けて多様なオブジェクトに力強度および回転強度を直観的に伝達できるようにするインターフェース装置を意味する。前記デバイスはユーザの動きにより得られた情報を多様な情報機器あるいは様々なサービスに合わせて必要な情報に対応させる。例えば、３次元空間マウス、ＩＰＴＶ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ  ＴＶ）リモコン、ゲーム入力装置などがこれに含まれてもよい。そして、前記オブジェクトは例えば、２次元ディスプレイ画面によって表現される仮想の３次元空間内に存在する物体を意味する。野球ゲームアプリケーションの場合、前記オブジェクトは仮想の３次元野球場内の野球のボールであってもよい。しかし、本発明におけるオブジェクトは仮想空間上のオブジェクトのみを意味するものではなく、実際物理力の伝達を受け反応できるシステムでの物体も含む概念である。
【００１９】
次の図１は、特定フレーム（座標系）で定義される三軸回転方向を示す図である。ｘ、ｙ、ｚ軸からなる特定フレームにおいて、ピッチ（θ）はｙ軸方向に対する回転を、ロール（φ）はｘ軸方向に対する回転を、そしてヨー（ψ）はｚ軸方向に対する回転をそれぞれ意味する。これら回転に対して陽（＋）および陰（−）を決定する基準は右手座標系（ｒｉｇｈｔ−ｈａｎｄｅｄ  ｃｏｏｒｄｉｎａｔｅ）に従う。本発明では航法フレーム（ｎａｖｉｇａｔｉｏｎ  ｆｒａｍｅ）および筐体フレーム（ｂｏｄｙ  ｆｒａｍｅ）を含む二つのフレームを言及する。前記航法フレームは空間上に固定されており、互いに垂直である三軸ＸＮ、ＹＮ、ＺＮで構成された基準座標系を意味する。すなわち、航法フレームは装置の姿勢から独立的ともいえる。また筐体フレームは３次元空間に置かれた物体上に存在する互い垂直である三軸ＸＢ、ＹＢ、ＺＢで構成された相手座標系を意味する。図１においてＸ方向はユーザ命令入力デバイスが向かう基準方向を意味する。すなわち前記基準方向に向かった軸を基準にして回転するとロール回転になるのである。
【００２０】
図２は、本発明の一実施形態によるユーザ命令入力デバイス１００を示すブロック図である。ユーザ命令入力デバイス１００は少なくとも一つ以上のディスプレイ装置（図示せず）上のオブジェクトを制御することができる。また、前記ディスプレイ装置は別途の固定された位置に設置されてもよいが携帯が可能なように前記ユーザ命令入力デバイス１００と一体で具備されてもよい（例：携帯用ゲーム機）。
【００２１】
入力デバイス１００はより具体的な例として、角速度センサ１１０、加速度センサ１２０、フィルタ部１３０、処理ユニット（ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：１９０）および伝送部１９５を含んで構成されてもよい。また、処理ユニット１９０は第１演算部１４０、第２演算部１５０、姿勢角測定部１６０、強度（ｉｎｔｅｎｓｉｔｙ）計算部１７０および強度マッピング部１８０を含んで構成されてもよい。
【００２２】
角速度センサ１１０はデバイス１００が筐体フレーム上で回転する角速度を感知してサンプリングなった出力値（デジタル値）を提供する。角速度センサ１１０としてはジャイロスコープが使用されてもよいが、前記ジャイロスコープは機械式、流体式、光学式、圧電式など多様な類型が使用されてもよい。具体的には角速度センサ１１０は互いに直交する二つの軸（筐体フレーム上の軸）に対する回転角速度、例えば、筐体フレームのｘ、ｙ、ｚ軸上の回転角速度（ωｘ、ωｙ、ωｚ）を求めることができる。
【００２３】
加速度センサ１２０はデバイス１００が筐体フレーム上での加速度を感知してサンプリングした出力値（デジタル値）を提供する。加速度センサ１２０としては圧電型（ｐｉｅｚｏｅｌｅｃｔｒｉｃ  ｔｙｐｅ）、可動コイル型（ｍｏｖｉｎｇ  ｃｏｉｌ  ｔｙｐｅ）いずれを使用してもよい。具体的には加速度センサ１２０は互いに直交する三つの軸（筐体フレーム上の軸）に対する直線加速度（ｆｘ、ｆｙ、ｆｚ）を求める。
【００２４】
フィルタ部１３０はデバイス１００の用途に応じて低域通過フィルタ（ｌｏｗ  ｐａｓｓ  ｆｉｌｔｅｒ）、高域通過フィルタ（ｈｉｇｈ  ｐａｓｓ  ｆｉｌｔｅｒ）、オフセットフィルタ、またはスケーリングフィルタなどで実現されてもよく、前記角速度センサ１１０の出力および加速度センサ１２０の出力を受信して誤差補償を行う。フィルタ部１３０は誤差補償された回転角速度（ωｘ、ωｙ、ωｚ）は第１演算部１４０に提供し、誤差補償された直線加速度（ｆｘ、ｆｙ、ｆｚ）は第２演算部１５０に提供する。
【００２５】
第２演算部１５０はフィルタ部１３０から提供される直線加速度（ｆｘ、ｆｙ、ｆｚ）値を利用し、航法フレームにおけるロール、ピッチおよびヨー（φＸＬ、θＸＬ、ψＸＬ）（第２回転角）を計算する。その具体的な計算例は次の式１のとおりである。
【００２６】
[式１]
0005258974.tif 000002
【００２７】
一般的には加速度のみでロール（φＸＬ）およびピッチ（θＸＬ）は簡単に求めることができるが、ヨー（ψＸＬ）を求めるのは容易ではない。式１で計算されるヨー（ψＸＬ）は疑似ヨー（ｐｓｅｕｄｏ  ｙａｗ）であって、次の図３および４を参照して説明する。
【００２８】
図３は、本発明による一実施形態により加速度計を利用してロール値を測定する方法を示す。Ｙ軸方向加速度をｆｙとするとき、すでにピッチが発生したことを前提とすると、図１に示す（ｂ）で重力加速度の鉛直成分はｇ・ｃｏｓθとなる。したがって、ロール（Φ）は次の式２のとおりである。
【００２９】
[式２]
0005258974.tif 000003
【００３０】
加速度計を利用してロール値を測定する方法は実施形態により多様な方法で計算することができる。
【００３１】
図４は、本発明の一実施形態によるヨー角測定方法においてピッチおよびロール値を利用してヨー値を計算する方法を示す図である。図４の（ａ）は、ピッチが発生したことを前提にし、ロールおよびヨー角速度のベクター方向を示す。図４の（ａ）においてωｙはロール角速度ベクターを示し、ωｚはヨー角速度ベクターを示す。ヨー角速度ベクターは実際ヨーベクターではない実際ヨーベクターに対する投射されたベクター（ｐｒｏｊｅｃｔｅｄ  ｖｅｃｔｏｒ）である。
【００３２】
図４の（ｂ）は、図２の（ａ）を側面から示す図である。図４の（ｂ）から時間ｔに対してロール角速度ベクターωｙ、ヨー角速度ベクターωｚおよびピッチ（θ）の間には次の式３のような関係が成立する。
【００３３】
[式３]
0005258974.tif 000004
【００３４】
前記の式３から、ヨー（Ψ）は次の式４のように近似的に計算することができる。
【００３５】
[式４]
0005258974.tif 000005
【００３６】
ただし、この式４はピッチθが０度や９０度に近くなると適用できないので０度や９０度に近い角度では一定の制限を付与しなければならない。前記式４を用いて各条件から実際測定されたヨー値は次のとおりである。
【００３７】
0005258974.tif 000006
【００３８】
前記表のようにピッチ値を変化させながらロールを−８０から＋８０まで変化させると測定されたヨー値の範囲が相異なるため、このような偏差を減らすためにスケール因子を使用して補正することができる。結果的に、ピッチ値が存在し、ロール値が変わると共にヨー値が変わる状況でヨーに対する近似値を計算することが可能である。
【００３９】
第１演算部１４０はフィルタ部１３０から提供される角速度（ωｘ、ωｙ、ωｚ）値を利用し、航法フレームにおける三軸の回転角（φＧ、θＧ、ψＧ）（第１回転角）を計算する。オイラー角（Ｅｕｌｅｒ  ａｎｇｌｅ）を利用した具体的な計算式は次の式５のとおりである。式５は結局航法フレームにおける回転角（φＧ、θＧ、ψＧ）に対する微分方程式の形態を有する。
【００４０】
[式５]
0005258974.tif 000007
【００４１】
一般的には３つの角速度で航法フレームにおける姿勢角を求めることもできる。しかし、本発明の好ましい実施形態においては２つの角速度（ωｙ、ωｚ）のみで航法フレームにおける三軸の角速度を計算するが、この場合式５のωｘが問題になる。
【００４２】
人の一般的な手および腕の動作の動きは、通常三軸座標系では単一軸で動く場合が多い。例えば、Ｚ軸を基準にして回転またはＹ軸方向に回転などがそうである。また同時に２軸以上の複合的な動きが起きるとしても筐体フレームのＸ軸方向回転とＹ軸方向回転、筐体フレームのＸ軸方向回転とＺ軸方向回転が共に動作する場合にはＸ軸方向動きが相対的にＹ軸、Ｚ軸方向の動きよりその大きさが小さい傾向がある。
【００４３】
したがって、式５において、筐体フレームのＹ軸方向角速度ωｙとＺ軸方向角速度ωｚより筐体フレームのＸ軸方向角速度ωｘが相対的に小さくなる。これによってωｘを無視することはできるが、それにより姿勢角計算が正確に成されない。しかし、加速度計で求めたロール（φＸＬ）情報を適切に使用するとωｘ軸の角速度計を使用した場合と類似の性能を確保することができる。
【００４４】
図５〜７は、式５においてωｘを利用する場合（点線）と利用しない場合（実線）を比較した結果である。Ｘ軸は単位サンプル数を、Ｙ軸は角度（ｄｅｇｒｅｅ）を意味する。また各図面の右側グラフは左側グラフの円で表示した一定区間を拡大したものである。ωｘを除去した場合はそうではない場合より２°〜４°程度の角度差と共に２〜１０サンプル程度の遅延が発生する。しかし、計算周期が１００Ｈｚ以上になると、ユーザが識別しにくい程度の角度差と遅延が発生するため、筐体フレームのＸ軸角速度計なしでも２軸に対する角速度計（筐体フレームのＹ軸角速度計、Ｚ軸角速度計）のみを使用しても三軸に対する角速度計を使用した結果とほぼ差がないことを確認することができる。
【００４５】
このような実験結果に基づいて式５は次の式６のように変形することができる。
【００４６】
[式６]
0005258974.tif 000008
【００４７】
一方、人が入力装置を握って動くときのパターンをあらかじめ把握しておいて活用すると、ωｘを除去した式６からさらに進んでωｙの除去も可能である。この場合、式１のように、加速度計の出力を利用して求めた（φＸＬ、θＸＬ、ψＸＬ）を利用してωｙ、ωｚを使用しないことによって発生する誤差を解消することができる。
【００４８】
式５および式６はオイラー角に基づいて、角速度（ωｙ、ωｚ）値から航法フレームにおける三軸の回転角（φＧ、θＧ、ψＧ）を計算することを例示したが、オイラー角の代わりに多少計算が複雑なクオータニオン（ｑｕａｔｅｒｎｉｏｎ）に基づいて前記計算を行うこともできる。
【００４９】
再び図２を参照すると、姿勢角測定部１６０は第２演算部１５０から得られた航法フレーム上の３つの回転角（φＸＬ、θＸＬ、ψＸＬ）と、第１演算部１４０から得られた航法フレーム上の３つの回転角（φＧ、θＧ、ψＧ）を加重平均し、航法フレームにおける姿勢角（φ、θ、ψ）を求める。具体的な加重平均は次の式７により計算することができる。
【００５０】
[式７]
0005258974.tif 000009
【００５１】
ここで、α１，α２およびα３はそれぞれφ、θ、ψに対する加重値として０から１の間の値を有する。以上の過程により航法フレームにおける姿勢角（φ、θ、ψ）を求めることは一実施形態に過ぎず、多様に変形することが可能である。例えば、式１で使用したψＸＬは直接磁気センサ（ｍａｇｎｅｔｉｃ  ｓｅｎｓｏｒ）またはイメージセンサ（ｉｍａｇｅ  ｓｅｎｓｏｒ）などを利用して求めることもできる。前記磁気センサやイメージセンサによれば、航法フレームにおけるヨー角を直接求めることができるので、加速度センサで使用した式１のような変換過程は必要ない場合もある。
【００５２】
式１の３つ目の式からψＸＬが計算されない場合、すなわちθＸＬ＝０である場合には、α３を１としておくことによってψＸＬを利用せずただψＧによってψを計算することもできる。
【００５３】
しかし、より正確に最終姿勢角（φ、θ、ψ）を求めるためには、α１，α２およびα３を任意に決定するよりは状態変化に合わせて適応的に決定する必要がある。これのために姿勢角測定部１６０は動き推定関数を使用することができる。
【００５４】
動き推定関数は角速度センサおよび加速度センサ出力を利用したデータに基づいて動きを０から１の間に正規化させることによって細分化した動きを検出する関数を意味する。一例として、仮に検出されたデバイス１００の動きがほぼない場合には加速度センサ１２０の値より信頼することができるため、αｎ＝１になるようにマッピングし、前記動きが最大である場合には角速度センサ１１０の値をより信頼することができるため、αｎ＝０になるようにマッピングし、その間の値を有する場合には停止と最大動きの間の適切な値にマッピングすることが必要である。
【００５５】
図８は、動き推定関数を利用してデバイス１００の動きを推定するフローチャートである。このような動き推定関数としては鐘形の曲線（ｂｅｌｌ  ｓｈａｐｅ  ｃｕｒｖｅ）または指数関数（ｅｘｐｏｎｅｎｔｉａｌ  ｆｕｎｃｔｉｏｎ）などを利用することができる。鐘形の曲線は図９のような形態の曲線であって、具体的にはガウス関数（Ｇａｕｓｓｉａｎ  ｆｕｎｃｔｉｏｎ）、二乗余弦関数（Ｒａｉｓｅｄ  ｃｏｓｉｎｅ  ｆｕｎｃｔｉｏｎ）などで表現することができる。また、指数関数は図１０のような形態を有する、例えば、
0005258974.tif 000010
のような関数である。図９および図１０においてｘ軸はデバイス１００の動きのサイズを示し、ｙ軸は式７での加重値すなわち、αｎを意味する。図９および図１０の関数は共通に中央でピーク分を有し、左右に行くほど０に近接する形態を有する。
【００５６】
このような動き推定関数を利用すると、単にデバイス１００が停止したかを判断することを越え、停止、微細な動き、遅い動き、速い動きなどの細分化した動きを検出することができる。また、このように動きを測定することによってユーザの意図しない動き（例として、手の震えなどによるカーソルの動き）を除去できる基礎を提供することができる。また、動きのサイズに応じて後述するマッピング関数のスケール調節も可能になる。
【００５７】
再び図２を参照すると、強度計算部１７０は本発明の第１実施形態により姿勢角測定部１６０から得られた姿勢角（φ，θ，ψ）、すなわち空間上に固定された航法フレーム上で入力デバイス１００が成す角度と、フィルタ部１３０から提供される誤差補償された直線加速度（ｆｘ，ｆｙ，ｆｚ）に基づいて力強度（ｆｏｒｃｅ  ｉｎｔｅｎｓｉｔｙ）（Ｆｘ，Ｆｙ，Ｆｚ）を求める。一方、強度計算部１７０は本発明の第２実施形態により姿勢角測定部１６０から得られた姿勢角（φ，θ，ψ）と，フィルタ部１３０から提供される誤差補償された回転角速度（ωｘ，ωｙ，ωｚ）に基づいて回転強度（ｒｏｔａｔｉｏｎ  ｉｎｔｅｎｓｉｔｙ）（Ｒｘ，Ｒｙ，Ｒｚ）を求める。もちろん、強度計算部１７０は前記力強度と回転強度を共に求めることもできる。
【００５８】
以下では先ず、前記第１実施形態について詳細に説明する。
【００５９】
力強度は入力デバイス１００で実現できる多様な力成分を示す。３次元空間で姿勢角が推定されると、加速度計出力を利用して３次元空間に加えられる力、すなわち、力強度を計算することができる。しかし、前記力強度はフレーム（座標軸）の選択に応じて概ね次の３つに区分することができる。それは筐体フレーム上で定義される力強度（ＦＢ）、航法フレーム上で定義される力強度（ＦＮ）およびヨードリフトフレーム（ｙａｗ  ｄｒｉｆｔ  ｆｒａｍｅ）上で定義される力強度（ＦＹ）である。前記ＦＢは筐体フレーム上で各軸の成分であるＦＢｘ、ＦＢｙ、ＦＢｚに分けられ、前記ＦＮは航法フレーム上で各軸の成分であるＦＮｘ、ＦＮｙ、ＦＮｚに分けられ、前記ＦＹはヨードリフトフレーム上で各軸の成分のＦＹｘ、ＦＹｙ、ＦＹｚに分けられる。前記ヨードリフトフレームとは、基本的には航法フレームと類似するが、航法フレームでヨー方向回転（筐体フレームを基準）を考慮しないフレームである。すなわち、ヨードリフトフレームにおける力強度は入力デバイス１００のヘディング（ｈｅａｄｉｎｇ）方向による航法フレームにおける力強度を意味するといえる。ヨードリフトフレームは航法フレームと共に入力デバイス１００の姿勢から独立的なフレームに属するといえる。
【００６０】
しかし、フィルタ部１３０から出力される直線加速度成分（ｆｘ、ｆｙ、ｆｚ）は筐体フレーム上で定義される値であるため、強度計算部１７０は前記加速度成分に適切なスケーリングを通じて筐体フレーム上での力強度（ＦＢｘ、ＦＢｙ、ＦＢｚ）を簡単に計算することができる。また、強度計算部１７０は前記直線加速度成分（ｆｘ、ｆｙ、ｆｚ）および姿勢角測定部１６０から得られた姿勢角（φ、θ、ψ）に基づいて入力デバイス１００の姿勢から独立的な座標系（フレーム）における力強度（Ｆｘ、Ｆｙ、Ｆｚ）を求めることもできる。
【００６１】
前記独立的な座標系における力強度（Ｆｘ、Ｆｙ、Ｆｚ）とは、例えば、航法フレームにおける力強度（ＦＮｘ、ＦＮｙ、ＦＮｚ）またはヨードリフトフレームにおける力強度（ＦＹｘ、ＦＹｙ、ＦＹｚ）などであってもよい。強度計算部１７０が求める力強度（Ｆｘ、Ｆｙ、Ｆｚ）は適用されるアプリケーションによって重力補償（重力加速度補償）を含んでもよく含まなくてもよい。
【００６２】
図１１は、三軸（ＸＢ、ＹＢ、ＺＢ）からなる筐体フレームにおける力強度ベクター（Ｆ）を三軸（ＸＮ、ＹＮ、ＺＮ）からなる航法フレームの各平面上に投影された（ｐｒｏｊｅｃｔｅｄ）力成分（Ｆ１，Ｆ２，Ｆ３）と姿勢角（φ、θ、ψ）との関係を示す図である。
【００６３】
前記投影された力成分（Ｆ１，Ｆ２，Ｆ３）を姿勢角（φ、θ、ψ）を利用して航法フレームの三軸（ＸＮ、ＹＮ、ＺＮ）の成分で各々分解すると次の図１２のとおりである。それぞれの軸（ＸＮ、ＹＮ、ＺＮ）の成分を加算すると最終的に航法フレームにおける力強度（ＦＮｘ、ＦＮｙ、ＦＮｚ）を求めることができる。
【００６４】
図１１および図１２に示す幾何学的関係に基づいて、筐体フレームにおける力強度（ＦＢｘ、ＦＢｙ、ＦＢｚ）を航法フレームにおける力強度（ＦＮｘ、ＦＮｙ、ＦＮｚ）に変換する変換式を求めることができるが、その変換式は次の式８のとおりである。
【００６５】
[式８]
0005258974.tif 000011
【００６６】
ここで、ＦＮは航法フレームにおける力強度（ＦＮｘ、ＦＮｙ、ＦＮｚ）成分からなる３次元ベクターであり、ＦＢは筐体フレームにおける力強度（ＦＢｘ、ＦＢｙ、ＦＢｚ）成分からなる３次元ベクターである。
【００６７】
図１３および１３Ｂは、筐体フレームと航法フレームにおける力強度の差異を示すための図である。図１３は、筐体フレームと航法フレームの方向を一致させた後ｘ軸方向で力（ｆ１）を加えるケースであり、図１４は、図１３において入力デバイス１００を９０°に立てた後筐体フレームのｚ軸方向（航法フレームのｘ軸方向）に力（ｆ２）を加えるケースである。
【００６８】
図１５は、図１３と同じ条件で力強度の結果を示す図である。予想のとおり、筐体フレームにおけるｘ軸方向力強度（ＦＢｘ）と航法フレームにおけるｘ軸方向力強度（ＦＮｘ）はほぼ一致する結果を示している。
【００６９】
一方、図１６および１６は、図１４と同じ条件で力強度の結果を示す図である。特に、図１６は、筐体フレームと航法フレームにおけるｘ軸方向の力強度（ＦＢｘ、ＦＮｘ）を比較して示す。図１６で航法フレームの力強度（ＦＮｘ）は加えられた力に応じたプロファイルを示しており、筐体フレームの力強度（ＦＢｘ）は時間（サンプリングデータのカウント）に関係なくほぼ０に近接する値を維持していることが分かる。理論的には筐体フレームの力強度（ＦＢｘ）は正確に０を維持するべきであるが、入力デバイス１００を把持する人の手の震え、加速度計の誤差などによって正確に０を維持しない。
【００７０】
図１７は、筐体フレームと航法フレームにおけるｚ軸方向の力強度（ＦＢｚ、ＦＮｚ）を比較して示す図である。図１７で筐体フレームの力強度（ＦＢｘ）は加えられた力に応じたプロファイルを示している。これに比べ、航法フレームの力強度（ＦＮｘ）は一部の区間で若干の間の誤差はあるが、ほぼ０に近接する値を維持している。このように、式８に従い変換した結果が理論的な予想値と大きく差がないことを確認することができる。
【００７１】
一方、筐体フレームにおける力強度（ＦＢｘ、ＦＢｙ、ＦＢｚ）をヨードリフトフレームにおける力強度（ＦＹｘ、ＦＹｙ、ＦＹｚ）に変換するための変換式は次の式９のとおりである。
【００７２】
[式９]
0005258974.tif 000012
【００７３】
前記式９は式８でψに０を代入することによって簡単に得られる。なぜなら、ヨードリフトフレームは筐体フレームでヨー回転を考慮しない点から、航法フレーム上でヨー回転が存在してもそれは０と見なされるからである。
【００７４】
前記筐体フレームの力強度を航法フレームの力強度に変換する変換マトリックス（ＣＢＮ）や、筐体フレームの力強度をヨードリフトフレームの力強度に変換する変換マトリックス（ＣＢＹ）はφ、θ、ψの組合せで構成される。したがって、入力デバイス１００の姿勢に独立的なフレームで力強度を決定することにおいては、入力デバイス１００の姿勢角、すなわちφ、θ、ψを正確に求めることが非常に重要である。筐体フレームでいくら正確な力強度を求めても前記姿勢角が正確でなければ変換された力強度の正確性も落ちるしかない。したがって、前述したように式１ないし式７に従いより正確な姿勢角を求めることが非常に重要であるといえる。
【００７５】
以上で計算される力強度には当然重力加速度成分が含まれている。しかし、入力デバイス１００を利用するアプリケーションによっては重力加速度成分を含まなければならない場合もあり得、重力加速度成分を除去しなければならない場合もあり得る。重力加速度は航法フレームにおける姿勢角のうちロール（φ）およびピッチ（θ）によって決定される。したがって、正確な姿勢角の計算は重力加速度成分を誤差なしで除去することにおいても必ず必要であることが分かる。
【００７６】
再び図２を参照すると、強度マッピング部１８０は強度計算部１７０から求めた力強度（Ｆ）をマッピング関数によって最終的に出力される力強度（Ｆ'）にマッピングする。力強度（Ｆ）はＦＮまたはＦＹを含んでもよい。
【００７７】
図１８および図１９は、最も簡単な形態のマッピング関数の例を示している。このうち図１８は
0005258974.tif 000013
形態を有するフロアー（ｆｌｏｏｒ）関数を示し、図１９は
0005258974.tif 000014
形態を有するシーリング（ｃｅｉｌｉｎｇ）関数を示す。このようなマッピング関数は簡単な関係によって入力力強度（Ｆ）を出力力強度（Ｆ'）に対応させることができる。このとき、前記ｋ値の変化に応じて関数の入力値は縮小または除去されることができ、一定以上の入力値は比例する出力値に変換されることもできる。しかし、図１８および図１９のようなマッピング関数は特定値以上の過度な入力値に対して出力値を適切に制限できないという短所がある。すなわち、図１８および図１９のマッピング関数は後述する図２０のマッピング関数に含まれる低下領域、スケーリング領域および限定領域の機能のうち、限定領域の機能が欠如している。
【００７８】
図２０のマッピング関数は図１８および図１９よりは多少複雑な３つの領域に分けられる。第１領域（ｐａｒｔ  １）は関数の入力値を縮小させてマッピングする低下領域（ｄｅｐｒｅｓｓｉｏｎ  ａｒｅａ）である。また、第２領域（ｐａｒｔ  ２）は入力値をほぼ比例する出力値にマッピングするスケーリング領域（ｓｃａｌｉｎｇ  ａｒｅａ）である。最後に、第３領域は一定値以上の入力に対してその出力値を制限させる限定領域（ｌｉｍｉｔａｔｉｏｎ  ａｒｅａ）である。
【００７９】
図２０のマッピング関数は一例として
0005258974.tif 000015
のようなシグモイド関数が使用されてもよい。ここで、力の方向は陽と陰がいずれも存在するため、前記シグモイド関数は座標の原点を中心に対称する。すなわち、図２０のマッピング関数は同一の二つのシグモイド関数の結合で成されている。
【００８０】
図２０の３つの領域の意味についてより詳細に調べると次のとおりである。最初の領域である低下領域はユーザの力の作用が微細な領域である。この領域では入力力強度（Ｆ）と出力力強度（Ｆ'）を１：１にマッピングさせるのではなく、出力力強度（Ｆ'）を減らしてマッピングする。これはユーザの手の震えなどのように意図しない力強度を除去する機能を提供する。しかし、小さい力強度までも微細に実現する必要があるアプリケーションでは、低下領域を適切に上昇させてその動きが表現されるようにすることもできる。
【００８１】
次の領域であるスケーリング領域は実際のユーザの力強度をディスプレイ装置上での位置情報にほぼ比例的にマッピングさせる領域であり、例えば±１２８の整数値にマッピングされる。
【００８２】
最後の領域である限定領域はユーザの力強度が相対的に大きくても出力力強度（Ｆ'）がそれほど大きくないように制限するための領域である。図２０においてマッピング関数は原点に対して対称である形態を有するため、ユーザの力強度に対して陽と陰の方向に対称的出力を誘導することができる。
【００８３】
このように、本発明でのマッピング関数は例示的に図１８および図１９に示す関数と、図２０に示す関数を例示的に含むがこれに限定されない。例えば、本発明のマッピング関数は、関数の入力値を縮小または除去して出力する低下領域と、関数の入力値をほぼ比例する出力値にマッピングするスケーリング領域と、一定値以上の入力値に対してその出力値を制限する限定領域のうち少なくとも２つの領域を含んで成されるようにすることもできる。このような観点で、図１８および図１９の関数は低下領域とスケーリング領域で成されていると見ることができ、図２０の関数は低下領域、スケーリング領域および限定領域をすべて含んで成されていると見ることができる。
【００８４】
図２１は、図１３のおようにユーザが入力デバイス１００に力（または加速度）を加える条件で、図２０のようなマッピング関数の適用による出力力強度（Ｆ'）を示す図である。このうち第１領域（ｐａｒｔ  １）はユーザが入力デバイス１００をただ持っている状態であり、第２領域（ｐａｒｔ  ２）は適切な力を加える状態であり、第３領域（ｐａｒｔ  ３）は強い力を加える状態である。図２１を参照すると第１領域では低下機能（ｄｅｐｒｅｓｓｉｏｎ  ｆｕｎｃｔｉｏｎ）を、第２領域ではスケーリング機能（ｓｃａｌｉｎｇ  ｆｕｎｃｔｉｏｎ）を第３領域では限定機能（ｌｉｍｉｔａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を提供することを確認することができる。
【００８５】
図２２、図２３および図２４は、前記３種類領域を各々拡大して示す図である。先に、図２２は、低下領域での入力力強度（Ｆ）と出力力強度（Ｆ'）の関係を示している。低下領域はユーザが入力デバイス１００をただ持っている場合であるが、実際に図２２に示すように陽陰の方向に不規則な波形を示す。しかし、図２０の第１領域（ｐａｒｔ  １）のようなマッピング関数によってこのような不規則な波形は一定範囲を越えないようにカットオフ（ｃｕｔ−ｏｆｆ）される。
【００８６】
図２３は、スケーリング領域での入力力強度（Ｆ）と出力力強度（Ｆ'）の関係を示している。スケーリング領域はユーザが入力デバイス１００に一定範囲以内の適切な力を加えた場合である。したがって、入力力強度（Ｆ）と出力力強度（Ｆ'）はほぼ比例する形態を示している。図２３は、スケーリング因子を１と設定した場合を例えているが、適用されるアプリケーションによってスケーリング因子はいくらでも他の値と設定され得ることはもちろんである。
【００８７】
図２４は、限定領域での入力力強度（Ｆ）と出力力強度（Ｆ'）の関係を示している。限定領域はユーザが入力デバイス１００に強い力を加えた場合である。一定数値を越える入力力強度（Ｆ）は図２０の第３領域（ｐａｒｔ  ３）のようなマッピング関数によって出力される力強度（Ｆ'）が最大限界（図２２の例では±１２８）を外れないように限定する。
【００８８】
力強度は以上で説明したマッピング関数によって±１２８範囲あるいは±２５６範囲内の整数のように定規化されたデジタル値に変換され得る（もちろん浮動小数点（ｆｌｏａｔ）タイプのデジタル値に変換されることもできる）。マッピング関数によりアナログ値をこのようなデジタル値に変換すると、ノイズ低減効果が得られる。また一般的に加速度計を使用して計算された値はほぼ浮動小数点タイプのデータである。
【００８９】
例えば、ＩＥＥＥ７５４定義によれば、単精度浮動小数点（ｓｉｎｇｌｅ  ｐｒｅｃｉｓｉｏｎ  ｆｌｏａｔ）は４バイト、倍精度浮動小数点（ｄｏｕｂｌｅ  ｐｒｅｃｉｓｉｏｎ  ｆｌｏａｔ）は８バイトが使用される。このような浮動小数点タイプのデータをデジタル化して整数形態のデータ（通常１〜２バイト）に変換するとデータ容量が減少され得、したがって通信上で伝送しなければならないデータの容量もまた減少され得る。
【００９０】
例えば、浮動小数点値をそのまま使用する場合、それぞれの軸による浮動小数点タイプのデータは４バイトを必要とし、三つの軸の値をすべて伝送すると、総１２バイトの容量が必要である。しかし、力強度を±１０２４にマッピングする場合には、それぞれの軸に対して符号を含み、１１ビットが必要であり、三つの軸すべてに対しては総３３ビットが必要である。これは約４バイトのサイズであってアナログ値をそのまま使用する場合より１／３に減った結果である。
【００９１】
一方、力強度に対するマッピング関数の限定（ｌｉｍｉｔａｔｉｏｎ）範囲を調節することによってデジタル値の解像度を調節することができる。例えば、加速度計出力を利用して計算された入力力強度（Ｆ）を０ｇ〜１ｇの範囲に限定し、±１０２４でデジタル化するマッピング関数を使用すれば約１ｍｇ  （１ｇ／１０２４≒１ｍｇ）の解像度が提供される。もし、入力力強度（Ｆ）を０ｇ〜２ｇの範囲に限定し、これを±１０２４でデジタル化するマッピング関数を使用すれば、約２ｍｇの解像度が提供されることである。このように、力強度に対するデジタル化された情報を提供するマッピング関数は設計者の意図に応じて必要な解像度の調節を可能にするだけでなく、少ないノイズと共に軽いデータ通信も可能にする。
【００９２】
以上では強度計算部１７０および強度マッピング部１８０が計算してマッピングする対象が力強度である第１実施形態について説明した。しかし、本発明の第２実施形態によれば、強度計算部１７０および強度マッピング部１７０は回転強度を計算しマッピングすることもできる。
【００９３】
回転強度（ｒｏｔａｔｉｏｎ  ｉｎｔｅｎｓｉｔｙ）は入力デバイス１００が表現できる多様な回転成分を意味する。力強度と同様に、３次元空間で姿勢角が推定されれば角速度センサ１１０の出力から、装置の姿勢から独立的な座標系における回転成分、例えば、航法フレームにおける回転強度（ＲＮ）が計算され得る。角速度センサ１１０またはフィルタ部１３０の出力は筐体フレームにおける回転角速度（ωｘ、ωｙ、ωｚ）である。強度計算部１７０はこのような回転角速度を時間に対して積分し、筐体フレームにおける回転角ベクター（ＲＢ）、すなわち筐体フレームにおける回転強度（ＲＢｘ、ＲＢｙ、ＲＢｚ）を求めることができる。
【００９４】
筐体フレームにおける回転強度ベクター（ＲＢ）を航法フレームにおける回転強度ベクター（ＲＮ）に変換する変換式の例は次の式１０のとおりである。ここで、回転強度ベクター（ＲＮ）は回転強度（ＲＮｘ、ＲＮｙ、ＲＮｚ）で構成されて、変換マトリックス（ＴＢＮ）は姿勢角測定部１６０から得られた姿勢角、すなわちφ、θ、ψの組合せで構成される。
【００９５】
[式１０]
0005258974.tif 000016
【００９６】
本発明の第２実施形態において、強度計算部１７０はこのような方法でデバイスの姿勢から独立的な航法フレームで回転強度を計算することができる。
【００９７】
強度マッピング部１８０は強度計算部１７０から求めた回転強度（ＲＮ）をマッピング関数によって実際出力される回転強度（ＲＮ'）にマッピングする。このようなマッピング過程は第１実施形態と同様の方式で行われることができるため反復された説明は省略する。
【００９８】
最後に図２を参照すると、伝送部１９５はアプリケーションの種類によって強度マッピング部１８０から出力される力強度および／または回転強度をディスプレイ装置に無線で伝送する。もちろん、ディスプレイ装置が入力デバイス１００と一体で実現された場合にはメインプロセッサに前記データを伝達すれば良い。前記無線伝送はブルートゥース、赤外線通信、ＩＥＥＥ  ８０２．１１無線ラン標準、ＩＥＥＥ  ８０２．１５．３無線ラン標準その他の無線通信規約に従い行われ得る。
【００９９】
今まで図２の各ブロックはメモリ上の所定領域で行われるタスク、クラス、サブルーチン、プロセス、オブジェクト、実行スレッド、プログラムのようなソフトウェア（ｓｏｆｔｗａｒｅ）や、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）やＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のようなハードウェア（ｈａｒｄｗａｒｅ）で実現することができ、また前記ソフトウェアおよびハードウェアの組合せで構成されてもよい。また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能である。例えば、連続して図示されている２つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
【０１００】
以上のような、本発明の一実施形態によるユーザ命令入力デバイス１００は次のようないくつかの実質的な利点を提供することができる。
【０１０１】
１．簡潔なシステム
本発明による入力デバイス１００は式７のような加重平均の概念と、動き推定関数、マッピング関数などを使用することができる。したがって、モデル基盤のフィルタリング、例えば、線形フィルタリング（ｌｉｎｅａｒ  ｆｉｌｔｅｒｉｎｇ）、カルマンフィルタリング（Ｋａｌｍａｎ  ｆｉｌｔｅｒｉｎｇ）、カルマンスムージング（Ｋａｌｍａｎ  ｓｍｏｏｔｈｉｎｇ）、拡張カルマンフィルタリング（ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  ｆｉｌｔｅｒｉｎｇ）、状態−空間推定（ｓｔａｔｅ−ｓｐａｃｅ  ｅｓｔｉｍａｔｉｏｎ）、期待値最大化（Ｅｘｐｅｃｔａｔｉｏｎ−Ｍａｘｉｍｉｚａｔｉｏｎ）などに必要なデータのサンプリングのため複雑な演算とそれにともなう初期化に所要される時間は必要としない。
【０１０２】
それ共に動き推定関数およびマッピング関数はＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）のように多くのリソースを占めるマトリックス演算とは異なって入力と出力が１：１に対応する単純化された関数の形態である。したがって、このような単純化された関数を利用することにより演算時間とリソースが顕著に減る。
【０１０３】
２．航法フレームの姿勢角（ａｔｔｉｔｕｄｅ  ａｎｇｌｅ  ｉｎ  ｎａｖｉｇａｔｉｏｎ  ｆｒａｍｅ）
入力デバイス１００は筐体フレームの回転および加速度を測定して航法フレームの姿勢情報を求める。このように求めた航法フレームの姿勢情報により位置情報（例：ポインタの動き）を制御するため、筐体フレームの傾きに関係なく前記位置情報が実現され得る。またこのような航法フレームにおけるロール、ピッチ、ヨー情報（姿勢角情報）を利用して前述したようにユーザパターンに合わせた動きの実現、直観的な動きの実現、ディスプレイ装置の状態制御などの多様な応用が可能である。そして製品デザインにおいても筐体フレームの回転方向に対する制限がないため、ユーザ命令入力デバイス１００の外観に関する多様なデザインが可能になる。
【０１０４】
３．動き検出（Ｍｏｖｅｍｅｎｔ  ｍｅａｓｕｒｅ）
既存技術では単純停止のみを判断することに比べ、ユーザ命令入力デバイス１００では動き測定関数により停止、微細動き、遅い動き、速い動きなどの多様な動き検出が可能であり、このような多様な形態の動き検出により、さらに改善された動きを実現することができる基礎を提供する。また、動き検出に使用する動き推定関数は入力と出力が１：１に対応して多くのリソースを占めない。
【０１０５】
４．マッピング（Ｍａｐｐｉｎｇ  ）
低下領域、スケーリング領域および限定領域で構成されたマッピング関数はユーザにより細密で直観的な動きを提供する。低下領域を介して手の震えのような動きが除去され、スケーリング領域を介して微細な動きを実現することができ、限定領域を介して過度な動きの制限が可能になる。このようなマッピング機能は必要に応じて所望する領域の値のみを有することも可能である。
【０１０６】
またマッピング関数は浮動小数点（ｆｌｏａｔ）値を正規化されたデジタル値に変換させることもできるが、このようなデジタル化により、ノイズの減少、通信上の伝送データ容量の減少などのデジタル信号が有する長所を提供することができる。また、このとき使用されるマッピング関数はモデル基盤のフィルタリングのように別途の初期化時間とデータのサンプリングを必要とせず、入力と出力が１：１に対応する単純化された関数である。
【０１０７】
５．加重平均を利用した安定かつ正確な動きの実現（Ｓｔａｂｌｅ  ａｎｄ  ｃｏｒｒｅｃｔ  ｍｏｖｅｍｅｎｔ  ｕｓｉｎｇ  ｗｅｉｇｈｔｅｄ  ａｖｅｒａｇｅ）
ユーザ命令入力デバイス１００では、角速度計出力と加速度計出力で実現した各情報に基づいて加重平均を求めるため、より安定かつ正確な動きの実現が可能である。角速度計のみを利用する場合、角速度を積分して角度を実現する過程でバイアス変化による累積誤差が発生し、これは結局角度の発散を起こすが、このような問題を解決するための多様な従来の技術が知られている。このような従来の技術としては、カルマンフィルタによりバイアスを推定する方法、周波数分析によりデジタルフィルタを使用する方法、与えられた時間および臨界値などを分析してバイアスを推定する方法などがある。しかし、このような従来の技術はいずれもシステムのリソースを過度に消耗し、多くの演算量を必要とする短所がある。
【０１０８】
これに比べ、ユーザ命令入力デバイス１００の場合、角速度計と共に加速度計を利用して加重平均の概念を適用するので加速度計によって角度の発散を簡単に制限することができる。これによって、角速度計のバイアス推定時に使用するモデルまたはフィルタを単純に構成することができ、姿勢角測定の正確性を向上させることができる。このように求めた姿勢角によりさらに安定かつ正確な動きが実現することができる。
【０１０９】
また、ユーザ命令入力デバイス１００では、動き推定関数によって動きが検出されると、検出された動きに応じてそれぞれの加重値（式７のα１，α２，α３）を変更することによってユーザが意図する多様な動きを表現することができる。すなわち、状況に適合した動きの実現が可能になるという意味である。
【０１１０】
６．システムの初期化時間の短縮（Ｒｅｄｕｃｉｎｇ  ｓｙｓｔｅｍ  ｉｎｉｔｉａｌ  ｔｉｍｅ）
ユーザ命令入力デバイス１００の単純化されたシステムによれば、デバイスの初期化時間を短縮させることができる。その代表的な例として、前述した加重平均の概念を挙げることができる。角速度計のみで角度を実現する場合、累積誤差を最小化するため、カルマンフィルタリングのような別途のフィルタリング技法が要求される。前記カルマンフィルタリングの場合、初期バイアス推定、あるいはバイアスセットのための初期化ステップが必須に要求される。
【０１１１】
これに対し、ユーザ命令入力デバイス１００は角速度計と共に加速度計出力を持って加重平均を利用して各情報を実現することによって、このような初期化ステップなしで正確な角度を求めることができる。すなわち、システムの単純化を追求しながらも、姿勢角測定の正確度を向上させることができる。
【０１１２】
また、マッピング関数もモデル基盤のフィルタリングと異なって１：１対応を主とするため、このような初期化時間の短縮に一定部分を寄与する。
【０１１３】
７．システムの消費電力の減少（Ｒｅｄｕｃｉｎｇ  ｐｏｗｅｒ  ｃｏｎｓｕｍｐｔｉｏｎ）
ユーザ命令入力デバイス１００の単純化されたシステムによれば、初期化時間を短縮および演算量減少に基づいて消費電力の減少を追求することができる。システムの初期化時間が短縮されることによって大きくは動作モード、低電力モード（ｐｏｗｅｒ  ｄｏｗｎ  ｍｏｄｅ）、パワーオフモード（ｐｏｗｅｒ  ｏｆｆ  ｍｏｄｅ）などの単純化された作動モードを有することができる。
【０１１４】
従来の技術では動作モードに入るためにシステムを安定化させるにスタンバイモード（ｓｔａｎｄｂｙ−ｍｏｄｅ）のような臨時ステップが必要であった。しかし、ユーザ命令入力デバイス１００ではスタンバイモードのような臨時ステップを必要としないため、デバイスが使用されないときには選択的に特定構成要素に提供される電源をオフ（ｏｆｆ）させることができる。したがって、デバイス電源のオン−オフが容易になると消費電力をさらに減少させることができるのである。
【０１１５】
８．力強度（Ｆｏｒｃｅ  ｉｎｔｅｎｓｉｔｙ）の提供
入力デバイス１００は姿勢角と共に加速度と関連する情報として力強度を提供する。加速度と関連する情報として加速度計の出力値をそのまま使用する場合、重力成分が含まれることによって動くのによる正確な情報の実現が難しい。また加速度計出力に対する単なるスケーリングを使用するとノイズの増加をもたらす。
【０１１６】
本発明の入力デバイス１００において、強度計算部１７０は姿勢角測定部１６０から提供された姿勢角と、加速度センサ１２０の出力値に基づいて航法フレームまたはヨードリフトフレーム上での力強度を計算することができる。また、強度マッピング部１８０は強度計算部１７０で計算された力強度をマッピングされた情報に変換する。このようなマッピングによって入力デバイス１００のユーザは直観的でかつ自然な力感覚を感じることができる。
【０１１７】
また、入力デバイス１００は姿勢角測定部１６０から求めた姿勢角情報を利用して重力成分を除去しない力強度、または重力成分を除去した力強度を求めることもできる。
【０１１８】
９．回転強度（Ｒｏｔａｔｉｏｎ  ｉｎｔｅｎｓｉｔｙ）の提供
入力デバイス１００は以上の姿勢角、力強度とともに回転強度という情報も提供することができる。力強度が線形の動きに対する情報を意味するとしたら、回転強度は回転の動きに対する情報を意味する。
【０１１９】
本発明の入力デバイス１００において、強度計算部１７０は姿勢角測定部１６０から提供された姿勢角と、角速度センサ１１０の出力値に基づいて航法フレーム上での回転強度を計算することができる。また、強度マッピング部１８０は強度計算部１７０で計算された回転強度をマッピングされた情報に変換する。このようなマッピングによって、入力デバイス１００のユーザは直観的でかつ自然な回転感覚を感じることができる。
【０１２０】
実際の人の動きは線形の動きと回転の動きが複合的に成されるが、前記力強度と回転強度を複合的に応用するとより改善されかつ多様な動きの表現が可能になる。したがって、入力デバイス１００はゲーム入力装置のような他のアプリケーションで多様に応用することができる。
【０１２１】
以上添付された図面を参照して本発明の実施形態について説明したが、本発明が属する技術分野における通常の知識を有する者は、本発明が、その技術的思想や必須の特徴を変更しない範囲で他の具体的な形態で実施され得ることを理解することができる。したがって、上記実施形態はすべての面で例示的なものであり、限定的でないものと理解しなければならない。
【符号の説明】
【０１２２】
１００    入力デバイス
１１０    角速度センサ
１２０    加速度センサ
１３０    フィルタ部
１４０    第１演算部
１５０    第２演算部
１６０    姿勢角測定部
１７０    強度計算部
１８０    強度マッピング部
１９０    処理ユニット
１９５    伝送部
【図１】
0005258974.tif 000017
【図２】
0005258974.tif 000018
【図３（ａ）】
0005258974.tif 000019
【図３（ｂ）】
0005258974.tif 000020
【図３（ｃ）】
0005258974.tif 000021
【図４】
0005258974.tif 000022
【図５】
0005258974.tif 000023
【図６】
0005258974.tif 000024
【図７】
0005258974.tif 000025
【図８】
0005258974.tif 000026
【図９】
0005258974.tif 000027
【図１０】
0005258974.tif 000028
【図１１】
0005258974.tif 000029
【図１２】
0005258974.tif 000030
【図１３】
0005258974.tif 000031
【図１４】
0005258974.tif 000032
【図１５】
0005258974.tif 000033
【図１６】
0005258974.tif 000034
【図１７】
0005258974.tif 000035
【図１８】
0005258974.tif 000036
【図１９】
0005258974.tif 000037
【図２０】
0005258974.tif 000038
【図２１】
0005258974.tif 000039
【図２２】
0005258974.tif 000040
【図２３】
0005258974.tif 000041
【図２４】
0005258974.tif 000042