ポインティングデバイスにおいて、当該ポインティングデバイスの動きを検出するための少なくとも1つのセンサを含み、該少なくとも1つのセンサは、さらに、第1の軸を中心とするポインティングデバイスの回転を測定し、前記回転に関連する第1の回転出力を生成するための第1の回転センサと、第2の軸を中心とするポインティングデバイスの回転を測定し、前記回転に関連する第2の回転出力を生成するための第2の回転センサと、ポインティングデバイスの加速度を測定し、前記加速度に関連する加速度出力を出力するための加速度計と、を含み、当該ポインティングデバイスは、さらに、前記検出された動きを修正し、該修正された検出された動きに基づき、複数の状態の中から前記ポインティングデバイスの状態を判定するための処理ユニットを含み、前記処理ユニットは、前記加速度に基づき、前記第1の回転出力および前記第2の回転出力を修正し、前記複数の状態は、静止状態を含んでいることを特徴とするポインティングデバイス。前記複数の状態は、前記ポインティングデバイスが現在ユーザにより把持されているという少なくとも1つの状態を含んでいることを特徴とする請求項1に記載のポインティングデバイス。前記第1の回転センサは、第1のフレームに取り付けられた第1の共鳴する質量をさらに含み、前記第1の回転センサ内の前記第1の共鳴する質量は、前記第1の軸に沿って共鳴し、前記第1の軸に沿った前記第1の共鳴する質量のずれは、コリオリの加速効果を使用して前記第1の回転センサによって測定されて、前記第1の回転出力が生成される請求項1に記載のポインティングデバイス。前記第2の回転センサは、第2のフレームに取り付けられた第2の共鳴する質量をさらに含み、前記第2の回転センサ内の前記第2の共鳴する質量は、前記第2の軸に沿って共鳴し、前記第2の軸に沿った前記第2の共鳴する質量のずれは、コリオリの加速効果を使用して前記第2の回転センサによって測定されて、前記第2の回転出力が生成される請求項3に記載のポインティングデバイス。前記処理ユニットは、ポインティングデバイスの直線加速度を補償するように前記第1の回転出力および前記第2の回転出力を変更する請求項1に記載のポインティングデバイス。前記処理ユニットは、前記第1の軸に沿って前記加速度計によって検出された第1の加速度に、第1の利得行列を掛けて、第1の結果を前記第1の回転出力と組み合わせ、前記第2の軸に沿って前記加速度計によって検出された第2の加速度に、第2の利得行列を掛けて、第2の結果を前記第2の回転出力と組み合わせる請求項5に記載のポインティングデバイス。前記処理ユニットは、ポインティングデバイスの傾きを補償するように前記第1の回転出力および前記第2の回転出力を変更する請求項1に記載のポインティングデバイス。前記処理ユニットは、ポインティングデバイスの慣性基準フレームに入るように前記第1の回転出力および前記第2の回転出力を回転させることにより、前記傾きを補償する請求項7に記載のポインティングデバイス。前記出力ユニットは、θが、前記傾きであり、ayが、前記第1の回転出力であり、azが、前記第2の回転出力であるを計算することにより、前記慣性基準フレームに入るように前記第1の回転出力および前記第2の回転出力を回転させる請求項8に記載のポインティングデバイス。前記処理ユニットは、ポインティングデバイスの傾きを補償するように前記第1の回転出力および前記第2の回転出力を変更することも行う請求項5に記載のポインティングデバイス。前記処理ユニットは、前記第1の回転出力および前記第2の回転出力が、直線加速度に関して補償された後、ポインティングデバイスの慣性基準フレームに入るように前記第1の回転出力および前記第2の回転出力を回転させることにより、前記傾きを補償する請求項10に記載のポインティングデバイス。前記処理ユニットは、θが、前記傾きであり、ayが、直線加速度に関して補償された前記第1の回転出力であり、azが、直線加速度に関して補償された前記第2の回転出力であるを計算することにより、前記第1の回転出力および前記第2の回転出力が、直線加速度に関して補償された後、前記慣性基準フレームに入るように前記第1の回転出力および前記第2の回転出力を回転させる請求項11に記載のポインティングデバイス。前記加速度計は、少なくとも2つの異なる軸に沿ってポインティングデバイスの加速度を測定する請求項1に記載のポインティングデバイス。ポインティングデバイスの動きを検出するための少なくとも1つのセンサと、前記検出されたポインティングデバイスの動きを修正し、該修正された動きに基づき、静止状態を含む複数の状態の中から前記ポインティングデバイスの状態を判定するための処理ユニットと、を含むことを特徴とするポインティングデバイス。前記少なくとも1つのセンサは、第1の軸を中心とするポインティングデバイスの回転を測定するため、および前記回転に関連する第1の回転出力を生成するための第1の回転センサと、第2の軸を中心とするポインティングデバイスの回転を測定するため、および前記回転に関連する第2の回転出力を生成するための第2の回転センサと、ポインティングデバイスの加速度を測定し、前記加速度に関連する加速度出力を出力するための加速度計とをさらに含む請求項14に記載のポインティングデバイス。前記処理ユニットは、前記少なくとも1つのセンサにより検出された動きを周波数ドメインに修正し、所定の周波数範囲内の周波数応答の大きさを分析して、ポインティングデバイスが静止状態にあるかどうかを判定する請求項14に記載のポインティングデバイス。前記ポインティングデバイスの複数の状態は、安定状態、およびアクティブ状態を含み、前記処理ユニットは、前記所定の周波数範囲内の前記周波数応答の前記分析に基づき、前記ポインティングデバイスが安定状態かまたはアクティブ状態かを判定することを特徴とする請求項16に記載のポインティングデバイス。前記処理ユニットは、ポインティングデバイスが、所定の期間にわたって静止状態にあると判定された場合、前記少なくとも1つのセンサに関連する較正情報を更新する請求項14に記載のポインティングデバイス。前記処理ユニットは、ポインティングデバイスが、前記所定の期間にわたって静止状態にあると判定された場合、少なくとも1つのセンサの1つまたは複数の回転センサに関連するオフセット値を更新する請求項18に記載のポインティングデバイス。デバイスに関連する動きを検出するステップと、前記検出された動きを修正するステップと、前記ポインティングデバイスの状態を複数の状態の中から判定するステップと、前記判定するステップで判定された状態に基づき、システムを制御するステップと、を含み、前記複数の状態は、ユーザによって現在、把持されている状態を含み、前記判定するステップは、前記修正された検出された動きに基づくことを特徴とする前記システムを制御するための方法。前記ポインティングデバイスの状態が、ユーザによって現在、把持されている状態であると検出されているならば、前記動きに関連する微動パターンに基づき、前記ユーザを識別するステップをさらに含む請求項20に記載の方法。前記識別するステップに基づき、前記システムを選択的にオンにするステップをさらに含む請求項21に記載の方法。前記ポインティングデバイスの状態が、前記ユーザによって現在、把持されている状態であると検出されているならば、前記システムをオンにするステップをさらに含む請求項20に記載の方法。前記ユーザの身元に基づき、前記システムへのアクセスを制限するステップをさらに含む請求項21に記載の方法。前記システムは、メディアシステムであり、前記アクセスを制限するステップは、前記身元に基づき、前記ユーザがメディアアイテムにアクセスすることを選択的に許すステップをさらに含む請求項24に記載の方法。前記微動パターンを複数の格納された微動パターンと比較することにより、前記ユーザの身元を判定するステップをさらに含む請求項21に記載の方法。前記微動パターン、および前記複数の格納された微動パターンは、周波数ドメインにある請求項26に記載の方法。前記微動パターン、および前記複数の格納された微動パターンは、時間ドメインにある請求項26に記載の方法。前記微動パターンと、前記複数の格納された微動パターンの間で一致が生じない場合、前記微動パターンは、格納される請求項26に記載の方法。前記微動パターンと、前記複数の格納された微動パターンの間で一致が生じない場合、前記ユーザには、既定のシステムアクセス許可セットが割り当てられる請求項26に記載の方法。前記識別するステップに応答して、前記ユーザに関連する選好設定を取り出すステップをさらに含む請求項21に記載の方法。本発明によるシステムおよび方法は、少なくとも1つのセンサを使用してハンドヘルドデバイスの動きを検出するハンドヘルドデバイス、例えば、3Dポインティングデバイスを提供することにより、以上、およびその他の必要性に応える。検出された動きは、次に、所望される出力に、例えば、カーソルの動きにマップされる。本発明の例示的な実施形態によれば、ポインティングデバイスは、第1の軸を中心とするポインティングデバイスの回転を測定し、その回転に関連する第1の回転出力を生成するための第1の回転センサと、第2の軸を中心とするポインティングデバイスの回転を測定し、その回転に関連する第2の回転出力を生成するための第2の回転センサと、ポインティングデバイスの加速度を測定し、その加速度に関連する加速度出力を出力するための加速度計と、その加速度に基づいて第1の回転出力、および第2の回転出力を変更するため、およびその変更された第1の回転出力、および第2の回転出力に基づいて出力を生成するための処理ユニットとを含む。本発明の別の例示的な実施形態によれば、3Dポインティングを制御するための方法は、3Dポインティングデバイスに関連する動きの欠如を検出するステップと、検出するステップの結果、3Dポインティングデバイスを低電力状態にするステップとを含む。本発明のさらに別の例示的な実施形態によれば、システムを制御するための方法は、デバイスに関連する動きを検出するステップと、デバイスが、現在、ユーザによって把持されていることを動きが示すかどうかを判定するステップと、判定するステップの結果に基づいてシステムを制御するステップとを含む。添付の図面は、本発明の例示的な諸実施形態を示す。本発明の以下の詳細な説明は、添付の図面を参照する。異なる図面における同一の符号は、同一または同様の要素を識別する。また、以下の詳細な説明は、本発明を限定しない。代わりに、本発明の範囲は、添付の特許請求の範囲によって定義される。以下の説明のいくらかの文脈を提供するため、本発明が実施されることが可能な例示的な集約されたメディアシステム200をまず、図2に関連して説明する。しかし、本発明は、そのタイプのメディアシステムにおける実施に限定されず、より多い、またはより少ないコンポーネントがシステムに含まれることも可能であることが、当業者には理解されよう。システム200では、入出力バス210が、メディアシステム200内のシステムコンポーネントを一緒に接続している。IOバス210は、メディアシステムコンポーネント間で信号を転送するための、いくつかの異なる機構および技術のいずれかを表す。例えば、IOバス210には、オーディオ信号を転送する適切な数の独立したオーディオパッチケーブル、ビデオ信号を転送する同軸ケーブル、制御信号を転送する2線シリアル回線または無線周波数トランシーバ、その他のタイプの信号を転送する光ファイバまたは任意の他のルーティング機構が含まれることが可能である。この例示的な実施形態では、メディアシステム200は、IOバス210に結合されたテレビモニタ212、ビデオカセットレコーダ214、デジタルビデオディスクレコーダ再生デバイス216、オーディオビデオチューナ218、およびコンパクトディスクプレーヤ220を含む。VCR214、DVD216、およびコンパクトディスクプレーヤ220は、単一のディスク、または単一のカセットデバイスであることが可能であり、あるいは代替的に、複数のディスク、または複数のカセットデバイスであってもよい。VCR214、DVD216、およびコンパクトディスクプレーヤ220は、独立したユニットであっても、一緒に一体化されてもよい。さらに、メディアシステム200は、マイクスピーカシステム222、ビデオカメラ224、および無線IO制御デバイス226を含む。本発明の例示的な実施形態によれば、無線IO制御デバイス226は、以下に説明する例示的な諸実施形態の1つによる3Dデバイスである。無線IO制御デバイス226は、例えば、IRまたはRFの送信機またはトランシーバを使用してエンターテイメントシステム200と通信することができる。代替として、IO制御デバイスは、配線を介してエンターテイメントシステム200に接続されることも可能である。また、エンターテイメントシステム200は、システムコントローラ228も含む。本発明の1つの例示的な実施形態によれば、システムコントローラ228は、複数のエンターテイメントシステムデータソースから利用可能なエンターテイメントシステムデータを格納して、表示し、システムコンポーネントのそれぞれに関連する多種多様な機能を制御するように動作する。図2に示されるとおり、システムコントローラ228は、IOバス210を介して、必要に応じて、システムコンポーネントのそれぞれに直接に、または間接的に結合される。1つの例示的な実施形態では、IOバス210に加えて、またはIOバス210の代わりに、システムコントローラ228は、IR信号またはRF信号を介してシステムコンポーネントと通信することができる無線通信送信機を備えて構成される。制御媒体にかかわらず、システムコントローラ228は、以下に説明するグラフィカルユーザインタフェースを介してメディアシステム200のメディアコンポーネントを制御するように構成される。図2にさらに示されるとおり、メディアシステム200は、様々なメディアソースおよびサービスプロバイダからメディアアイテムを受信するように構成されることが可能である。この例示的な実施形態では、メディアシステム200は、以下のソースのいずれか、またはすべてからメディア入力を受信し、オプションとして、以下のソースのいずれか、またはすべてに情報を送信する。すなわち、ケーブルブロードキャスト230、衛星ブロードキャスト232、ブロードキャストテレビネットワーク234の超短波または極超短波の無線周波数通信、電話網236、およびケーブルモデム238である。図2に関連して示され、説明されるメディアコンポーネントおよびメディアソースは、単に例示的であり、メディアシステム200は、この両方をより少なく、またはより多く含むことも可能であることが当業者には理解されよう。例えば、システムに対する他のタイプの入力には、AMFMラジオおよび衛星ラジオが含まれる。以上の例示的なエンターテイメントシステム、およびこのシステムに関連するフレームワークに関するさらなる詳細は、前段で参照により組み込まれている米国特許出願、AControlFrameworkwithaZoomableGraphicalUserInterfaceforOrganizingSelectingandLaunchingMediaItemsで見ることができる。代替として、本発明によるリモートデバイスは、他のシステム、例えば、例えば、ディスプレイ、プロセッサ、およびメモリシステムを含むコンピュータシステムと一緒に、または他の様々なシステムおよびアプリケーションと一緒に使用されることが可能である。背景技術のセクションで述べたとおり、3Dポインタとして動作するリモートデバイスが、本明細書の特別な関心対象である。そのようなデバイスは、動き、例えば、ジェスチャを、ユーザインタフェースに対するコマンドに変換することを可能にする。例示的な3Dポインティングデバイス400が、図3に示されている。図3では、3Dポインティングのユーザの動きが、例えば、3Dポインティングデバイス400のx軸姿勢モーション、y軸エレベーションモーション、およびまたはz軸方位モーションの組み合わせに関して定義されることが可能である。加えて、本発明の一部の例示的な実施形態は、x軸、y軸、およびz軸に沿った3Dポインティングデバイス400の直線の動きを測定して、カーソルの動き、または他のユーザインタフェースコマンドを生成することもできる。図3の例示的な実施形態では、3Dポインティングデバイス400は、2つのボタン402および404、ならびにスクロールホイール406を含むが、他の例示的な諸実施形態は、他の物理的構成を含む。本発明の例示的な諸実施形態によれば、3Dポインティングデバイス400は、ディスプレイ408の前方でユーザによって把持され、3Dポインティングデバイス400の動きが、3Dポインティングデバイスによって、例えば、ディスプレイ408上のカーソル410を動かすように、ディスプレイ408上で表示される情報と対話するのに使用可能な出力に変換されるものと予期される。例えば、y軸を中心とする3Dポインティングデバイス400の回転が、3Dポインティングデバイス400によって感知されて、ディスプレイ408のy2軸に沿ってカーソル410を動かすようにシステムが使用できる出力に変換されることが可能である。同様に、z軸を中心とする3Dポインティングデバイス408の回転が、3Dポインティングデバイス400によって感知されて、ディスプレイ408のx2軸に沿ってカーソル410を動かすようにシステムが使用できる出力に変換されることが可能である。3Dポインティングデバイス400の出力は、カーソルの動き以外のいくつかの形で、ディスプレイ408と対話するのに使用されることが可能であり、例えば、出力は、カーソルフェージング、音量、またはメディアトランスポートを制御することができることが理解されよう。入力コマンドは、カーソルの動きに加えて、操作、例えば、ディスプレイの特定の領域に対するズームインまたはズームアウトを含むことが可能である。カーソルは、可視であっても、可視でなくてもよい。同様に、3Dポインティングデバイス400のx軸を中心として感知される3Dポインティングデバイス400の回転が、y軸回転およびまたはz軸回転に加えて、またはそれらの回転の代替として使用されて、ユーザインタフェースに入力を与えることも可能である。本発明の1つの例示的な実施形態によれば、2つの回転センサ502および504、ならびに1つの加速度計506が、図4に示されるとおり、3Dポインティングデバイス400内のセンサ群として使用されることが可能である。回転センサ502および504は、例えば、アナログデバイシーズによって製造されるADXRS150センサまたはADXRS401センサを使用して実施されることが可能である。他のタイプの回転センサも、回転センサ502および504として使用されることが可能であり、ADXRS150およびADXRS401は、単に例示的な例として使用されていることが当業者には理解されよう。従来のジャイロスコープとは異なり、これらの回転センサは、MEMS技術を使用して、1方向に沿ってだけ共鳴することが可能なようにフレームに取り付けられた共鳴する質量をもたらす。共鳴する質量は、センサが固定された筐体が、センサの感知軸を中心に回転させられると、ずれる。そのずれが、コリオリの加速効果を使用して測定されて、感知軸に沿った回転に関連する角速度が算出されることが可能である。回転センサ502および504が、単一の感知軸を有する場合、センサ502および504は、センサ502および504の感知軸が、測定されるべき回転と揃えられるように3Dポインティングデバイス400内に装着されることが可能である。本発明のこの例示的な実施形態の場合、このことは、図4に示されるとおり、回転センサ504は、センサ504の感知軸がy軸と平行になるように装着され、回転センサ502は、センサ502の感知軸がz軸と平行になるように装着されることを意味する。しかし、回転センサ502および504の感知軸を、所望される測定軸と平行になるように揃えることは、本発明の例示的な諸実施形態が、軸間のオフセットを補償するための技術も提供するので、要求されないことに留意されたい。本発明による例示的な3Dポインティングデバイス400を実施する際に直面する1つの課題は、あまりにも高価ではない一方で、3Dポインティングデバイス400の動き、ユーザインタフェースが、3Dポインティングデバイスのその特定の動きにどのように反応するかに関するユーザの期待、およびその動きに応答する実際のユーザインタフェースパフォーマンスの間における高い度合いの相互関係をもたらすコンポーネント、例えば、回転センサ502および504を使用することである。例えば、3Dポインティングデバイス400が動いていない場合、ユーザは、カーソルがスクリーン上をドリフトすべきではないと期待する可能性が高い。同様に、ユーザが、3Dポインティングデバイス400を、純粋にy軸を中心に回転させた場合、ユーザは、ディスプレイ408上のもたらされるカーソルの動きが、有意なx2軸成分は全く含むことを期待しない可能性が高い。本発明の例示的な諸実施形態の以上、およびその他の態様を実現するのに、様々な測定および計算が、ハンドヘルドデバイス400によって実行され、それらの測定および計算は、センサ502、504、および506の1つまたは複数の出力を調整するのに、かつまたはプロセッサによって入力の一部として使用されて、センサ502、504、および506の出力に基づき、ユーザインタフェースに関する適切な出力が算出される。それらの測定および計算は、広くは、以下の2つのカテゴリに入る要因を補償するのに使用される。すなわち、3Dポインティングデバイス400に固有の要因、例えば、デバイス400内で使用される特定のセンサ502、504、および506に関連する誤差、またはデバイス400内にセンサが装着されている仕方に関連する誤差、および3Dポインティングデバイス400に固有ではなく、代わりに、ユーザが、3Dポインティングデバイス400を使用する仕方、例えば、直線加速度、傾き、および微動に関連する要因である。それらの効果のそれぞれに対処するための例示的な技術を以下に説明する。本発明の例示的な諸実施形態による3Dポインティングデバイスの一般的な動作を説明するプロセスモデル600が、図5に示されている。回転センサ502および504、ならびに加速度計506は、周期的に、例えば、毎秒200サンプル、サンプリングされるアナログ信号を生成する。この説明では、それらの入力のセットは、という表記を使用して示され、x、y、zは、x軸方向、y軸方向、およびz軸方向における3Dポインティングデバイスの加速にそれぞれ関連する例示的な3軸加速度計506のサンプリングされた出力値であり、ayは、y軸を中心とする3Dポインティングデバイスの回転に関連する回転センサ502からのサンプリングされた出力値であり、azは、z軸を中心とする3Dポインティングデバイス400の回転に関連する回転センサ504からのサンプリングされた出力値である。加速度計506からの出力がもたらされ、加速度計506が、アナログ出力をもたらす場合、その出力は、AD変換器によってサンプリングされ、デジタル化されて、サンプリングされた加速度計出力602が生成される。サンプリングされた出力値は、変換ファンクション604によって示されるとおり、生の単位から、加速度の単位に、例えば、重力加速度に変換される。加速度較正ブロック606が、変換ファンクション604のために使用される値をもたらす。加速度計出力602のこの較正には、例えば、加速度計506に関連するスケール誤差、オフセット誤差、および軸合わせ不良誤差の1つまたは複数の補償が含まれることが可能である。加速度計データの例示的な補償は、以下の数式を使用して実行されることが可能である。すなわち、ASGただし、Mは、サンプリングされた出力値から成る3×1列ベクトルであり、Pは、センサオフセットの3×1列ベクトルであり、Sは、スケール補償、軸合わせ不良補償とセンサ回転補償をともに含む3×3行列である。Gは、温度の関数である利得係数である。演算子は、行列乗算を表し、演算子は、要素乗算を表す。例示的な加速度計506は、2gという例示的な最大範囲を有する。センサオフセット、Pは、0gの加速度計測定値の場合のセンサ出力、M指す。スケールは、サンプリングされた単位値とgの間の変換係数を指す。任意の所与の加速度計センサの実際のスケールは、例えば、製造のばらつきに起因して、それらの公称のスケール値からずれる可能性がある。したがって、前述の数式におけるスケール係数は、その偏差に比例する。加速度計506のスケール偏差およびオフセット偏差は、例えば、1gの力を1つの軸に沿って加え、結果、R1を測定することによって測定されることが可能である。次に、1gの力が加えられて、測定値R2がもたらされる。個別の軸スケール、s、および個別の軸オフセット、pは、以下のとおり計算されることが可能である。すなわち、s2p2この単純なケースでは、Pは、各軸に関するpの列ベクトルであり、Sは、各軸に関する1sの対角行列である。しかし、スケールおよびオフセットに加えて、加速度計506によって生成される読み取り値は、交差軸効果を被る可能性もある。交差軸効果には、例えば、加速度計506が3Dポインティングデバイス400内に装着された際に、加速度計506の感知軸の1つまたは複数が、慣性基準フレームにおける対応する軸と揃えられていない、合わせ不良の軸、または、例えば、軸は適切に揃えられているものの、純粋にy軸の加速力により、加速度計506のz軸に沿ったセンサ読み取り値がもたらされる可能性がある、加速度計506自体の機械加工に関連する機械的誤差が含まれる。以上の効果の両方とも、やはり、測定され、ファンクション606によって実行される較正に加えられることが可能である。加速度計506は、本発明の例示的な諸実施形態による例示的な3Dポインティングデバイスにおいていくつかの目的を果たす。例えば、回転センサ502および504が、前述した例示的なコリオリ効果回転センサを使用して実施される場合、回転センサ502および504の出力は、各回転センサによって経験される直線加速度に基づいて異なる。このため、加速度計506の1つの例示的な使用は、直線加速度の違いによって生じさせられる、回転センサ502および504によって生成される読み取り値の変動を補償することである。これは、変換された加速度計読み取り値に利得行列610を掛けて、その結果から、対応するサンプリングされた回転センサデータ612を引くことによって達せられることが可能である。例えば、回転センサ502からのサンプリングされた回転データayが、ブロック614で、以下のとおり、直線加速度に関して補償されることが可能である。すなわち、αyαyCAただし、Cは、単位数gで与えられる各軸に沿った直線加速度に対する回転センサ感受性の1×3行ベクトルであり、Aは、較正された直線加速度である。同様に、回転センサ504からのサンプリングされた回転データazに関する直線加速度補償が、ブロック614でもたらされることが可能である。利得行列、Cは、製造上の違いに起因して、回転センサの間で異なる。Cは、多くの回転センサに関する平均値を使用して計算されてもよく、あるいは各回転センサに関してカスタム計算されてもよい。加速度計データと同様に、サンプリングされた回転データ612は、次に、ファンクション616において、サンプリングされた単位値から、角回転の速度に、例えば、ラジアン秒に関連する値に変換される。また、この変換ステップは、サンプリングされた回転データを、例えば、スケールおよびオフセットに関して、補償するファンクション618によってもたらされる較正を含むことも可能である。ayとazの両方に関する変換較正は、例えば、以下の数式を使用して達せられることが可能である。すなわち、αrad秒scaledOffsetただし、αは、変換較正される値を指し、offsetは、温度に関連するオフセット値を指し、scaleは、サンプリングされた単位値とラジアン秒の間の変換係数を指し、dOffsetは、動的なオフセット値を指す。数式は、行列式として実施されてもよく、その場合、scaleを除き、すべての変数はベクトルである。行列式の形態では、scaleは、軸合わせ不良および回転オフセット係数を補正する。これらの変数のそれぞれについて、以下により詳細に説明する。オフセット値、offsetおよびdOffsetは、いくつかの異なる形で算出されることが可能である。3Dポインティングデバイス400が、例えば、y軸方向で回転されていない場合、センサ502は、オフセット値を出力するはずである。しかし、そのオフセットは、温度によって非常に影響されている可能性があり、したがって、このオフセット値は、変動する可能性が高い。オフセット温度較正が、工場において実行されることが可能であり、その場合、offsetの値は、ハンドヘルドデバイス400に事前にプログラミングされることが可能であり、あるいは代替的に、オフセット温度較正は、デバイスの寿命中に動的に学習されることも可能である。動的オフセット補償を達するのに、温度センサ619からの入力が、回転較正ファンクション618において使用されて、offsetの現在の値が計算される。offsetパラメータは、センサ読み取り値からオフセットバイアスの大半を取り除く。しかし、0の動きにおいてほぼすべてのカーソルドリフトを無効にすることが、高性能のポインティングデバイスをもたらすのに役立つ可能性がある。したがって、追加の係数、dOffsetが、3Dポインティングデバイス400が使用されている間に、動的に計算されることが可能である。静止検出ファンクション608が、ハンドヘルドが静止している可能性が高い場合、およびオフセットが再計算されなければならない場合を判定する。したがって、静止検出ファンクション608を実施するための例示的な技術、および用法を以下に説明する。dOffset計算の例示的な実施は、ローパスフィルタリングされた較正済みのセンサ出力を使用する。静止出力検出ファンクション608は、例えば、ローパスフィルタ出力の平均値の計算をトリガする指示を回転較正ファンクション618に与える。また、静止出力検出ファンクション608は、新たに計算された平均値が、dOffsetの既存の値にいつ繰り込まれるかも制御することができる。多数の異なる技術が、dOffsetの既存の値、および単純平均、ローパスフィルタリング、およびカルマンフィルタリングを含むが、以上には限定されない新たな平均から、dOffsetの新たな値を計算するために使用されることが可能であることが、当業者には認識されよう。さらに、回転センサ502および504のオフセット補償に関する多数の変種が使用されることが可能であることも、当業者には認識されよう。例えば、offsetファンクションは、定数値を有することが可能であり、2つより多くのオフセット補償値が、使用されることが可能であり、かつまたは単一のオフセット値だけが、オフセット補償のために計算使用されることが可能である。ブロック616における変換較正の後、ファンクション620において、回転センサ502および504からの入力は、それらの入力を回転させて、慣性基準フレームに入れるように、すなわち、ユーザが3Dポインティングデバイス400を把持している仕方に関連する傾きを補償するように、さらに処理されることが可能である。傾き補正は、本発明による3Dポインティングデバイスの使用パターンの違いを補償するように意図されているので、本発明の一部の例示的な諸実施形態の別の重要な態様である。より具体的には、本発明の例示的な諸実施形態による傾き補償は、複数のユーザが、異なるx軸回転位置でポインティングデバイスを手に把持するが、3Dポインティングデバイス400内の回転センサ502および504の感知軸は、固定であるという事実を補償することを意図している。ディスプレイ408上のカーソルの並進は、ユーザが3Dポインティングデバイス400を握る仕方に実質的に左右されない、例えば、ユーザが3Dポインティングデバイス400を把持している向きにかかわらず、ディスプレイ508の水平の次元におおむね対応する形で行き来するように3Dポインティングデバイス400を回転させることは、x2軸に沿ったカーソルの並進をもたらすべきであるのに対して、ディスプレイ508の垂直の次元におおむね対応する形で上下するように3Dポインティングデバイスを回転させることは、y2軸に沿ったカーソルの並進をもたらすべきであることが望ましい。本発明の例示的な諸実施形態による傾き補償の必要性をよりよく理解するため、図6に示された例を考慮されたい。図6では、ユーザは、0度のx軸回転値を有するものとして定義されることが可能な、例示的な慣性基準フレームにおいて3Dポインティングデバイス400を把持している。慣性基準フレームは、単に例として、図6に示された向きに対応することが可能であり、あるいは他の任意の向きとして定義されることが可能である。y軸方向またはz軸方向における3Dポインティングデバイス400の回転は、回転センサ502および504によってそれぞれ感知される。例えば、図6に示される、量Δzだけのz軸を中心とした3Dポインティングデバイス400の回転は、ディスプレイ408上のx2軸次元における対応するカーソルの並進、Δx2をもたらす。他方、ユーザが、3Dポインティングデバイス400を異なる向きで、例えば、慣性基準フレームに対していくらかの量のx軸回転で把持した場合、センサ502および504によってもたらされる情報は、ユーザによって意図されるインタフェースアクションの正確な表現をもたらさない。例えば、図6を参照して、ユーザが、図6に示されるとおり、例示的な慣性基準フレームに対して45度のx軸回転で3Dポインティングデバイス400を把持する状況を考慮されたい。ユーザによる同一のz軸回転Δzを想定すると、カーソル410は、図6で示されるとおり、代わりに、x2軸方向とy2軸方向の両方で並進させられる。これは、回転センサ502の感知軸が、現時点で、y軸とz軸の間の向きにされているという事実に起因する。同様に、回転センサ504の感知軸もまた、y軸とz軸の間の向きにされている。3Dポインティングデバイス400がどのように把持されているかに関してユーザにトランスペアレントなインタフェースを提供するため、本発明の例示的な諸実施形態による傾き補償は、回転センサ502および504から出力された読み取り値を、それらのセンサからの読み取り値を処理して、3Dポインティングデバイス400の回転モーションを示す情報にすることの一環として、変換して慣性基準フレームに戻す。本発明の例示的な諸実施形態によれば、図5に戻ると、以上のことは、ファンクション622において、加速度計506から受け取られる入力yおよび入力zを使用して3Dポインティングデバイス400の傾きを算出することにより、達せられることが可能である。より具体的には、加速度データは、前述したとおり、変換され、較正された後、LPF624においてローパスフィルタリングされて、平均加速度値を傾き算出ファンクション622に与えることが可能である。次に、傾きθが、ファンクション622において以下のとおり計算されることが可能である。すなわち、値θは、0による除算を防止するようにatan2として数値的に計算されて、正しい符号を与えることが可能である。次に、ファンクション620が、以下の数式を使用して、変換較正済みの入力αyおよびαzの回転Rを実行して、変換較正済みの入力αyおよびαzを回転させて、傾きθを補償することができる。この例示的な実施形態において説明される傾き補償は、筐体基準フレームからのセンサ読み取り値をユーザの基準フレームに変換するためのより一般的な技術のサブセットであり、それらの技術は、FreeSpacePointingDeviceswithTiltCompensationandImprovedUsabilityという名称の、前段で参照により組み込まれた特許出願でさらに説明されている。較正済みのセンサ読み取り値が、直線加速度に関して補償され、3Dポインティングデバイス400の角回転を示す読み取り値になるように処理され、傾きに関して補償されると、ブロック626および628で後処理が実行されることが可能である。例示的な後処理には、人間の微動などの様々な要因の補償が含まれることが可能である。微動は、いくつかの異なる方法を使用して除去されることが可能であるが、微動を除去する1つのやり方は、ヒステリシスを使用することによる。回転ファンクション620によってもたらされた角速度が、角位置をもたらすように組み込まれる。較正された大きさのヒステリシスが、次に、角位置に適用される。ヒステリシスブロックの出力の微分が行われて、角速度が再びもたらされる。結果の出力が、次に、ファンクション628においてスケーリングされて、インタフェース内の結果、例えば、ディスプレイ408上のカーソル410の動きを生じさせるのに使用される。本発明による例示的な3Dポインティングデバイスのプロセス説明を提供したので、図7は、例示的なハードウェアアーキテクチャを示す。図7では、プロセッサ800が、スクロールホイール802、JTAG804、LED806、スイッチマトリックス808、IR光検出器810、回転センサ812、加速度計814、およびトランシーバ816を含む、3Dポインティングデバイスの他の要素と通信する。スクロールホイール802は、ユーザが、スクロールホイール802を時計方向に、または反時計方向に回転させることによってインタフェースに入力を与えることを可能にするオプションの入力コンポーネントである。JTAG804は、プログラミング‐デバッグインタフェースをプロセッサに与える。LED806は、例えば、ボタンが押されると、視覚的フィードバックをユーザに与える。スイッチマトリックス808は、入力、例えば、3Dポインティングデバイス400上のボタンが押し下げられた、または解放されたという指示を受け取り、それらの入力は、次に、プロセッサ800に転送される。例示的な3Dポインティングデバイスが、他のリモコンからのIRコードを知ることを可能にするオプションのIR光検出器810が、提供されることが可能である。回転センサ812は、例えば、前述したとおり、3Dポインティングデバイスのy軸回転およびz軸回転に関する読み取り値をプロセッサ800に与える。加速度計814は、例えば、傾き補償を実行し、直線加速度が、回転センサ812によって生成される回転読み取り値に導入する誤差を補償するように、前述したとおり使用されることが可能な、3Dポインティングデバイス400の直線加速度に関する読み取り値をプロセッサ800に与える。トランシーバ816が、3Dポインティングデバイス400との間で、例えば、システムコントローラ228に、またはコンピュータに関連するプロセッサに情報を通信するのに使用される。トランシーバ816は、例えば、短距離無線通信のためにBluetooth標準に準拠して動作する無線トランシーバ、または赤外線トランシーバであることが可能である。代替的に、3Dポインティングデバイス400は、有線接続を介してシステムと通信することもできる。図4の例示的な実施形態では、3Dポインティングデバイス400は、2つの回転センサ502および504、ならびに加速度計506を含む。しかし、本発明の別の実施形態によれば、3Dポインティングデバイスは、代替的に、例えば、z軸方向の角速度を測定するための1つだけの回転センサと、加速度計とを含むことも可能である。そのような例示的な実施形態の場合、前述したのと同様の機能が、加速度計を使用して、回転センサによって感知されない軸に沿った角速度を測定することによって提供されることが可能である。例えば、y軸を中心とする回転速度は、加速度計によって生成されたデータを使用し、以下を計算して、計算されることが可能である。すなわち、加えて、回転センサによって測定されない寄生加速度効果も、除去されなければならない。それらの効果には、実際の直線加速度、回転速度および回転加速度に起因して測定された加速度、および人間の微動に起因する加速度が含まれる。簡単に前述したとおり、静止検出ファンクション608は、3Dポインティングデバイス400が、例えば、静止しているか、またはアクティブであるかを判定するように動作することができる。この分類は、いくつかの異なる仕方で実行されることが可能である。1つの仕方は、本発明の例示的な実施形態によれば、所定のウインドウ、例えば、毎14秒にわたって、すべての入力のサンプリングされた入力データの分散を計算することである。その分散が、次に、閾値と比較されて、3Dポインティングデバイスが、静止している、またはアクティブであると分類される。本発明の例示的な諸実施形態による別の静止検出技術には、例えば、入力データに高速フーリエ変換を実行することにより、入力を周波数ドメインに変換することがかかわる。次に、そのデータが、例えば、ピーク検出方法を使用して分析されて、3Dポインティングデバイス400が静止しているか、またはアクティブであるかが判定されることが可能である。さらに、第3のカテゴリ、具体的には、ユーザが、3Dポインティングデバイス400を把持しているが、デバイス400を動かしていないケースが、区別されることが可能である。この第3のカテゴリは、3Dポインティングデバイス400がユーザによって把持されている場合にユーザの手の微動によって導入される、3Dポインティングデバイス400の小さい動きを検出することにより、静止およびアクティブから区別されることが可能である。また、ピーク検出も、この判定を行うのに、静止検出ファンクション608によって使用されることが可能である。人間の微動周波数の範囲内、例えば、公称で8~12Hzの範囲内のピークは、通常、およそ20dBだけ、デバイスの雑音フロアを超える。以上の例では、周波数ドメインの変動が、特定の周波数範囲内で検出されたが、監視され、3Dポインティングデバイス400のステータスを特徴付けるのに使用される実際の周波数範囲は、様々である可能性がある。例えば、公称の微動周波数範囲は、例えば、3Dポインティングデバイス400のエルゴノミクスおよび重量に基づき、例えば、8~12Hzから4~7Hzに移る可能性がある。本発明の別の例示的な実施形態によれば、静止検出機構608は、状態マシンを含むことが可能である。例示的な状態マシンが、図8に示されている。図8では、ACTIVE状態が、この実施例では、3Dポインティングデバイス400が動いており、例えば、ユーザインタフェースに入力を与えるのに使用されている間の既定の状態である。3Dポインティングデバイス400は、リセット入力によって示されるデバイスの起動時に、ACTIVE状態に入る。3Dポインティングデバイス400は、動くのを止めた場合、INACTIVE状態に入ることが可能である。図8に示される様々な状態遷移が、回転センサ502と回転センサ504のいずれか、または両方から出力されたデータ、加速度計506から出力されたデータ、時間ドメインデータ、周波数ドメインデータ、または以上の任意の組み合わせを含むが、以上には限定されない、いくつかの異なる基準のいずれかによってトリガされることが可能である。状態遷移条件は、ConditionstateA→stateBという規約を使用して、本明細書で一般的に示される。例えば、3Dポインティングデバイス400は、conditionactive→inactiveが生じると、ACTIVE状態からINACTIVE状態に遷移する。単に例示のため、conditionactive→inactiveは、例示的な3Dポインティングデバイス400では、回転センサと加速度計の両方からの平均偏差値およびまたは標準偏差値が、第1の所定の期間にわたって第1の所定の閾値を下回って低下した場合に生じるものと考慮されたい。ACTIVE状態にある場合、モーションセンサから受け取られたデータは、線形フィルタリング、カルマンフィルタリング、カルマン平滑化、状態空間推定、期待値最大化、またはその他のモデルベースの技術などの、1つまたは複数の処理技術を使用して、ユーザによって導入された意図的な動きに関連する第1のデータと、ユーザによって導入された意図的でない動きに関連する第2のデータに分けられることが可能である。第1のデータは、次に、ハンドヘルドデバイスの意図される動きに関連する出力を生成するようにさらに処理されることが可能であるのに対して、第2のデータは、以下により詳細に説明するとおり、例えば、ユーザ識別のために、微動入力として使用されることが可能である。状態遷移は、解釈されたセンサ出力に基づく、いくつかの異なる条件によって判定されることが可能である。例示的な条件メトリックは、時間ウインドウにわたる解釈された信号の変動、基準値と、時間ウインドウにわたる解釈された信号との間の閾値、基準値と、時間ウインドウにわたるフィルタリング済みの解釈された信号との間の閾値が含まれ、基準値と、開始時からの解釈された信号との間の閾値が、状態遷移を判定するのに使用されることが可能である。以上の条件メトリックのすべて、または任意の組み合わせが、状態遷移をトリガするのに使用されることが可能である。代替的に、他のメトリックも使用されることが可能である。本発明の1つの例示的な実施形態によれば、INACTIVE状態からACTIVE状態への遷移は、時間ウインドウにわたるセンサ出力の平均値が、所定の閾値より大きい場合、または時間ウインドウにわたるセンサ出力の値の変動が、所定の閾値より大きい場合、またはセンサ値の間の瞬間デルタが、所定の閾値より大きい場合に生じる。INACTIVE状態は、3Dポインティングデバイス400が依然、使用されている、例えば、110秒のオーダの、短い休止と、安定した条件または静止条件への実際の遷移とを、静止検出機構608が区別することを可能にする。これにより、以下に説明するSTABLE状態中、およびSTATIONARY状態中に実行されるファンクションが、3Dポインティングデバイスが使用されている間に、意図せずに実行されることが防止される。3Dポインティングデバイス400は、conditionactive→inactiveが生じた場合、例えば、3Dポインティングデバイス400が、再び動くことを始めて、回転センサおよび加速度計からの測定された出力が、INACTIVE状態で第2の所定の期間が経過する前に第1の閾値を超えた場合、ACTIVE状態に戻るように遷移する。3Dポインティングデバイス400は、第2の所定の期間が経過した後、STABLE状態またはSTATIONARY状態に遷移する。前述したとおり、STABLE状態は、人によって把持されているが、実質的に動いていないという3Dポインティングデバイス400の特徴付けを反映する一方で、STATIONARY状態は、人によって把持されていないという3Dポインティングデバイスの特徴付けを反映する。このため、本発明による例示的な状態マシンは、手の微動に関連する最小の動きが存在する場合、第2の所定の期間が経過した後に、STABLE状態への遷移を可能にし、さもなければ、STATIONARY状態への遷移を可能にすることができる。STABLE状態およびSTATIONARY状態は、3Dポインティングデバイス400が、様々なファンクションを実行することができる時間を定義する。例えば、STABLE状態は、ユーザが、3Dポインティングデバイス400を把持しているが、デバイス400を動かしていない時間を反映することを意図しているので、デバイスは、3Dポインティングデバイス400がSTABLE状態にある間の、3Dポインティングデバイス400の動きを、例えば、回転センサおよびまたは加速度計からの出力を、STABLE状態にある最中に格納することにより、記録することができる。それらの格納された測定値は、以下に説明するとおり、特定のユーザまたはユーザらに関連する微動パターンを判定するのに使用されることが可能である。同様に、STATIONARY状態にある間、3Dポインティングデバイス400は、前述したとおり、オフセットを補償する際に使用するために、回転センサおよびまたは加速度計からの読み取り値を得ることができる。3Dポインティングデバイス400が、STABLE状態またはSTATIONARY状態にある間に、動くことを始めた場合、これにより、ACTIVE状態に戻ることがトリガされることが可能である。さもなければ、測定が行われた後、デバイスは、SLEEP状態に遷移することができる。スリープ状態にある間、デバイスは、3Dポインティングデバイスの電力消費量が低減され、例えば、回転センサおよびまたは加速度計のサンプリングレートも低減されるパワーダウンモードに入ることができる。また、SLEEP状態には、外部コマンドを介して入ることも可能であり、したがって、ユーザ、または別のデバイスが、SLEEP状態に入るよう3Dポインティングデバイス400に命令することができる。別のコマンドを受け取ると、または3Dポインティングデバイス400が動くことを始めると、デバイスは、SLEEP状態からWAKEUP状態に遷移することができる。INACTIVE状態と同様に、WAKEUP状態は、ACTIVE状態への遷移が妥当であること、例えば、3Dポインティングデバイス400が、意図せずに突き動かされていないことをデバイスが確認する機会を提供する。状態遷移のための諸条件は、対称的であっても、異なってもよい。このため、conditionactive→inactiveに関連する閾値は、conditioninactive→activeに関連する閾値と同一であることが可能である。これにより、本発明による3Dポインティングデバイスが、ユーザ入力をより正確にキャプチャすることが可能になる。例えば、状態マシンインプリメンテーションを含む例示的な諸実施形態は、とりわけ、静止条件に入る遷移に関する閾値が、静止条件から出る遷移に関する閾値とは異なることを許す。ある状態に入ること、またはある状態を離れることは、他のデバイスファンクションをトリガするのに使用されることも可能である。例えば、ユーザインタフェースが、任意の状態からACTIVE状態への遷移に基づいて起動されることが可能である。逆に、3Dポインティングデバイスおよびまたはユーザインタフェースが、ACTIVEまたはSTABLEからSTATIONARYまたはINACTIVEに3Dポインティングデバイスが遷移すると、オフにされることも可能である。代替的に、カーソル410が、3Dポインティングデバイス400の静止状態からの遷移、または静止状態への遷移に基づき、表示されること、またはスクリーンから除去されることも可能である。前述したとおり、ハンドヘルドデバイスがSTABLE状態にある期間は、例えば、特定のユーザに関連する微動データを記憶するのに使用されることが可能である。通常、各ユーザは、異なる微動パターンを示す。本発明の例示的な諸実施形態によれば、ユーザ微動のその特性を使用して、ユーザ側の他のアクションを全く要求せずに、いずれのユーザが、ハンドヘルドデバイスを現在、把持しているかを識別することができる。例えば、ユーザの微動パターンは、ユーザが、例えば、10秒間、可能な限りしっかりと3Dポインティングデバイスを把持するように要求される初期手続き中に、ハンドヘルドまたはシステムによって記憶されることが可能である。このパターンは、様々なユーザインタフェース機能を実行するユーザの固有のシグネチャとして使用されることが可能である。例えば、ユーザインタフェースおよびまたはハンドヘルドデバイスは、現在の微動パターンをメモリの中に格納されているパターンと比較することにより、一群のユーザから、例えば、家族から、ユーザを識別することができる。この識別は、その後、例えば、その識別されたユーザに関連する選好設定を取り出すのに使用されることが可能である。例えば、3Dポインティングデバイスが、前段で参照により組み込まれた特許出願で説明されるメディアシステムと一緒に使用される場合、システムが、微動パターン比較を介してユーザを認識した後、そのユーザに関連するメディア選択アイテム表示選好が、アクティブにされることが可能である。また、システムセキュリティも、微動認識を使用して実施されることが可能であり、例えば、ユーザが3Dポインティングデバイス400を持ち上げた後に実行されるユーザ識別に基づき、システムへのアクセスが、禁止される、または制限されることが可能である。本発明による微動パターン検出、微動パターン分類、および微動パターン格納のためのスキームを実施するのに、いくつかの異なるアプローチがとられることが可能である。1つの例示的な実施形態を、図9~12に関連して以下に説明する。微動パターンを分類するための全体的な方法が、図9の流れ図に示されている。図9では、ステップ900において、データセットが、複数のユーザから収集される。データセット収集は、ユーザが、所定の期間にわたって意図的な動きを導入せずに、デバイスを把持するよう求められる訓練初期プロセスの一環であること、またはハンドヘルドデバイスの使用中にオンザフライで実行されることが可能である。さらに、データ収集は、ハンドヘルドデバイスを所定の方向で把持している間に実行されることが可能である。図10~図10に示される、いくつかの単に例示的な周波数スペクトルデータが、4つの異なる向きで3Dポインティングデバイス400を把持する特定のユーザに関して収集された。図9に戻ると、収集されたデータは、次に、ハンドヘルドデバイス400の異なるユーザにそれぞれが関連付けられたクラスを識別するために処理されることが可能である。例えば、ステップ902で、1つまたは複数の特徴セットが、収集されたデータの各セットから、分類プロセスにおいて使用するために抽出されることが可能である。ステップ902で使用するために選択された特定の1つまたは複数の特徴セットが、微動データに関する良好なクラス区別をもたらすように選択され、例えば、分類プールの中で区別されるべきユーザの数、ステップ900で収集されるべき訓練データの量およびタイプ、デバイス特性、例えば、図8に関連して前述した状態情報、および関連するベイズユーザ情報を含む、微動プロセスを介してユーザ識別に関連付けられる実施パラメータに依存して、異なることが可能である。ステップ902で使用されることが可能な特徴セットの例示的なリストを、以下にテーブル1として提供する。以上の特徴セット、および対応する試験のいくつかに関する情報は、参照により開示が本明細書に組み込まれている、JJakubowski、KKwiatos、AChwaleba、SOsowskiによる論文、HigherOrderStatisticsandNeuralNetworkForTremorRecognition、IEEETransactionsonBiomedicalEngineering、vol49、no2、152~159頁、IEEE、2002年2月で見ることができる。以下により詳細に説明する、本発明の1つの単に例示的な実施形態によれば、収集されたデータのパワースペクトル密度からの低周波数スペクトルが、ステップ902において、特徴セットとして使用された。前段でリストアップしたドメイン、変換、その他に加え、特徴セットは、微動検出識別が使用されるべきハンドヘルドデバイス内で利用可能なセンサの数およびタイプに基づいて異なることも可能である。例えば、前述の例示的な諸実施形態で説明したハンドヘルドの、3Dポインティングデバイス400では、微動データは、回転センサ、加速度計のいずれか、または両方、あるいは回転センサと加速度計の任意の組み合わせから収集されることが可能である。収集されたデータから特徴セットを抽出した後、ステップ904で、特徴セットは、縮小されることが可能である。より具体的には、ステップ904で、特徴セットは、クラスを区別する目的の特徴セットを最もよく表す特徴セットにまで縮小されることが可能である。例えば、ユーザ微動データのDC値が、縮小された特徴セットから除外されることが可能である一方で、ユーザ微動データの9Hz値は、縮小された特徴セットの中に含められることが可能である。というのは、この9Hz値は、異なるユーザの手の微動を区別する際に、より役に立つと見込まれるからである。縮小された特徴セットは、例えば、主成分分析アルゴリズムを使用して判定されるMostExpressiveFeatureセットであることが可能である。PCAアルゴリズムは、特徴セットの特異値分解を使用して、特徴ベクトルを最もよく表現するの点で基底ベクトルの適切なセットを自動的に求める。PCA技術を適用するための例は、参照により開示が本明細書に組み込まれている、PNavarreteおよびJRuizdelSolar著、EigenspaceBasedRecognitionofFacesComparisonsandaNewApproach、ImageAnalysisandProcessing、2001年で見ることができる。次に、縮小された特徴セットは、ステップ908で、クラスタを識別するのに使用されることが可能であり、この識別は、監督された学習、すなわち、いずれの個人ユーザが、いずれのデータセットに寄与したかについてのアプリオリの知識に基づいてプロセスが作用する学習を使用して、または監督されていない学習、すなわち、プロセスが、アプリオリの情報を全く有さない学習を使用して実行されることが可能である。例えば、K平均クラスタ化およびRBFニューラルネット分類を含め、様々な技術が、本発明の例示的な諸実施形態に従って、微動データに関連するクラスタを判定するのに適用されることが可能である。クラスタが識別されると、ステップ910で、現在のセンサ出力に基づき、新たな特徴ベクトルが、一部のクラスタの範囲内にあるか、または一部のクラスタの範囲外にあるかを区別するのに、すなわち、ハンドヘルドデバイス400を現在、把持しているユーザを識別するのに、識別されたクラスタに関連する推定された統計が、使用されることが可能である。学習方法は、初期ユーザクラスタインスタンス化の後、センサ動作中にクラスタ中心を純化することにより、センサ状態情報の使用を介して強化されることが可能である。このようにして、最大量の利用可能なデータを使用してクラスタが純化されて、さらなる監督されていない学習がサポートされる。検出された手の微動に基づいてユーザを識別するための前述した例示的な諸技術を試験するのに、他の4名のユーザに関連するデータセット~図10に示されたデータに加えてが、おおむね図9の流れ図に関連して前述した形で、収集され、分析されて、手の微動の分析を使用して、異なるユーザらを区別する識別することができることが証明された。データセットの2つは、ハンドヘルドデバイスを把持している同一の人から収集されたのに対して、他の3つのデータセットは、ハンドヘルドデバイスを把持している異なる人々から収集された。この試験では、データは、ステップ900で、5つのデータセットのそれぞれに関して、回転センサ812の両方から収集された。データセットのそれぞれが、ゼロ平均および単位分散を得るように処理された。この例示的な試験に関して、ステップ902で、PSD推定からの低周波数スペクトルが、特徴セット抽出のために使用され、データ収集時間にわたって平均された。より具体的には、256ポイントFFTが、0~30Hzの周波数範囲内のN2048ポイントにわたって75の重なりで平均された。抽出された特徴セットは、PCAアルゴリズムを使用して、38×20行列から20×20行列にまで縮小され、アルゴリズムは、抽出された特徴セットに関連する一部の固有ベクトルが、他の固有ベクトルほど表現力がなく、破棄されることが可能であると正しく認識した。図11は、この実施例では、ステップ904の一環として生成される固有値を示す。図11で、線1100は、特徴セット2に関連する固有値を示し、線1102は、特徴セット1に関連する固有値を示す。この試験ケースでは、クラスタ化するステップは、いずれのユーザがいずれのデータセットを生成したかについてのアプリオリの知識に基づいて実行された。実際のインプリメンテーションでは、自動化されたクラスタ化技術、例えば、前述した諸技術の1つが、ステップ906で使用される。この単に例示的な試験の場合、クラスタは、回転センサ502と回転センサ504から受け取られたデータに関して別々に識別されて、各データセットに関連する2つのクラス重心が定義された。次に、データセットの中の各ベクトルと2つのクラス重心との間の距離の合計が、計算された。このプロセスの結果が、図12に示されている。図12では、x軸は、縮小されたデータセットのベクトルを表し、y軸は、距離を表し、垂直の線は、距離を異なるクラス中心に区分化する。各区分内で、関連するクラスのベクトル‐重心距離は、その他のクラスのベクトル‐重心距離よりも大幅に低く、良好なクラス分離、およびユーザがハンドヘルドデバイスに生じさせる手の微動に基づいてユーザを区別識別する能力を示すことを見て取ることができる。例えば、特徴セットなどの一部の特定の選択が、例示される試験を実行するために行われたが、それらの選択は、本明細書で述べたとおり、単に例示的である。本発明の例示的な諸実施形態によるいくつかの変形形態が、使用されることが可能である。例えば、クラスタが、ステップ908で識別されると、各クラスタの判別特徴を強調するために、クラス判別ステップが実行されることが可能である。クラス判別式は、セット内で最小グループ化をもたらし、セット間で最大距離をもたらす変換行列をデータに適用するように作用する。全体的な共分散を記述する行列、および複数のクラスタの各クラスタの共分散の合計を記述する別の行列を所与として、線形判別式のタスクは、クラス間の距離を最大化することと、クラス内散乱を最小化することを同時に行う線形変換を導き出すことである。パターン認識の一般的な分野において、いくつかの判別式、例えば、フィッシャ線形判別式が知られているが、本明細書で説明されるとおり、手の微動に基づいてユーザを識別するという特定の問題にすべてが適している可能性は低い。前段の実施例で使用された1つの特定の判別式は、EFM1判別式として知られており、参照により開示が本明細書に組み込まれている、CLiuおよびHWechsler著、EnhancedFisherLinearDiscriminantModelsforFaceRecognitionという題名の論文、Proc14thInternationalConferenceonPatternRecognition、QeenslandAustralia、August、17~20頁、1998年で説明されている。さらに、前述の試験は、本発明の前述した例示的な諸実施形態によるハンドヘルドポインティングデバイスを使用して実行されたが、ユーザの微動ベースの識別は、そのように限定されない。実際、微動ベースの識別は、微動データが生成されることが可能な任意のタイプのモーションセンサまたはモーションセンサ群を有する、他の任意のタイプの3Dポインティングデバイスにおいて使用されることが可能である。さらに、本発明による微動ベースの識別は、ポインティングデバイスに限定さることもなく、1つまたは複数のモーションセンサを組み込んだ、またはハンドヘルドデバイスに関連する手の微動を測定するための他の何らかの機構を有する任意のハンドヘルドデバイス、例えば、セル電話機、PDAなどにおいて使用されることも可能である。訓練期間を使用して、例えば、ステップ900~908が実行されることが可能であり、その後、ハンドヘルドデバイスは、現在のユーザの手の微動に関連するデータを単に収集し、そのデータを、あらかじめ確立されたユーザクラスと比較して、現在のユーザを識別することができる。次に、その識別情報が、実施例を前述した、いくつかの異なる応用例において使用されることが可能である。例えば、ユーザの身元を使用して、そのユーザによって行われたジェスチャが解釈されて、ユーザインタフェースに、例えば、参照により前段で組み込まれた特許出願のユーザインタフェースにコマンドがシグナルされることが可能である。例えば、時間にわたる動きのパターンが、特定のインタフェースコマンドに関連付けられるジェスチャベースのコマンドシステムにおいて、異なるユーザらが、ハンドヘルドの時間にわたる、いくらか異なる動きパターンを使用して、同一のインタフェースコマンドを開始することができる。ユーザ識別を可能にする能力は、次に、異なるジェスチャパターンにマップされ、例えば、ハンドヘルドの中、またはシステムの中に格納されて、システム全体が、時間にわたる動きの各パターンを、ユーザによって意図されるコマンドジェスチャとして正しく識別するようになることが可能である。前述したとおり、本発明の例示的な諸実施形態は、3Dポインティングデバイス内のセンサから受け取られた動きデータを処理して、そのデータを、3Dポインティングデバイスの筐体の基準フレームから、別の基準フレームに、例えば、ユーザの基準フレームに変換する。スクリーン上、例えば、テレビ上に表示されるユーザインタフェースを制御するのに使用される3Dポインティングデバイスの例示的な応用例では、ユーザの基準フレームは、テレビスクリーンに関連する座標系であることが可能である。いずれにせよ、筐体基準フレームから別の基準フレームへのデータの変換は、デバイスの見地からではなく、ユーザの見地からの操作をもたらすことにより、ハンドヘルドデバイスの使いやすさを向上させる。このため、ユーザが、3Dポインティングデバイスを把持しながら、ディスプレイの前方で左から右に手を動かすと、カーソルは、3Dポインティングデバイスの向きにかかわらず、左から右の方向に移動する。この説明を簡単にするため、3Dポインティングデバイスに関連する例示的な処理システムが、例えば、より詳細に前述したとおり、図13に示されている。図13では、ハンドヘルドシステムは、1つまたは複数のセンサ1301、例えば、回転センサ、ジャイロスコープ、加速度計、磁力計、光センサ、カメラ、または以上の任意の組み合わせを使用して、動きを感知する。センサは、次に、ブロック1302で解釈されて、生じた動きの推定をもたらす。次に、処理ブロック1303が、デバイスの自然の基準フレームからの測定された動きを、ユーザの基準フレームに変換する。次に、その動きが、意味のあるアクションにマップされ1304、アクションが、ブロック1305で解釈され、システムに転送されて、スクリーン上のカーソルを動かすことなどの、意味のある応答がもたらされる。ブロック1303は、検出された動きを、デバイスの基準フレームではなく、ユーザの基準フレームに変換する。向きは、オイラー角、方向余弦行列、または単位四元数を含む、多くの異なる数学的に類似した方法によって表現されることが可能である。位置は、一般に、メートル、センチメートル、フィート、インチ、およびマイルを含むが、以上には限定されない一貫した単位で、座標系原点からのオフセットとして表現される。前述した1つの例示的な実施形態では、3Dポインティングデバイスは、加速度および回転速度を含む慣性力を測定する。それらの力は、デバイス内に装着されたデバイスの筐体に相対的に測定される。測定されたデータをユーザ基準フレームに変換するため、デバイスは、デバイスの位置、およびデバイスの向きを推定する。この例示的な実施形態では、ユーザ基準フレームは、静止しており、固定の向きを有するものと想定されるが、本発明によるこの技術は、時間につれ変化するフレームに直接に変換することによって、または静止したフレームにまず変換し、次に、動くフレームに変換することによって、ユーザの基準フレームが静止していないケースにも容易に拡張されることが可能であることが、当業者には理解されよう。静止した、固定の向きのユーザ基準フレーム例の場合、筐体フレームからユーザフレームへの変換は、以下の数式の使用によって実行されることが可能である。すなわち、PuRotatePdeltaPuRotatePuRotateWuRotateWuRotateただし、Rotateは、四元数回転演算子を表し、したがって、Rotateは、QAQに等しく、ただし、Qは、共役四元数であり、ベクトルAは、Aに等しい複素成分と、0に等しい実成分とを有する四元数であり、Puは、ユーザ基準フレームにおける位置であり、Pbは、デバイス基準フレームにおける位置であり、は、微分を表す。したがって、Puは、ユーザ基準フレームにおける速度である、ユーザ基準フレームにおける位置の微分であり、Wuは、ユーザ基準フレームにおける筐体角度でのデバイスの角速度であり、Wbは、筐体基準フレームにおける筐体角度でのデバイスの角速度であり、Pdeltaは、ユーザ基準フレーム座標系における、ユーザ基準フレームの原点と、筐体基準フレームとの差であり、Qは、筐体フレームからユーザフレームへの回転を表す、正規化された回転四元数である。ユーザフレームから筐体フレームに回転させる回転四元数は、Qであるので、QをRで置き換えることができ、ただし、Rは、ユーザフレームから筐体フレームへの回転である。Qは、オイラー角および方向余弦行列を含む、いくつかの等価の形態で表現されることが可能であり、前述の数式は、等価の形態においては、Qの異なる表現に基づき、わずかに異なる可能性があることに留意されたい。図14は、筐体基準フレームからユーザの基準フレームへの変換をグラフで示す。動作中、デバイスは、インプリメンテーションに依存する形でQを推定して、以上の変換を実行する。前述した1つの例示的なインプリメンテーションには、傾きを補償することがかかわる。向きは、筐体フレームの重力加速度に起因する加速度、Abをまず推定することにより、計算される。定義上、ユーザフレームにおける重力加速度に起因する加速度ベクトル、Agは、001に設定される。重力加速度は、方位を推定することができないので、方位に関する筐体フレーム推定が使用される。したがって、回転四元数は、z0平面に回転の軸を有する。以下は、回転四元数を計算するための、いくつかの数学的に等価な方法の1つである。すなわち、V∥Ab∥x∥Ag∥qV∥V∥αsin1VQQuaternionqVα2qVsincos次に、位置が、ユーザフレームにおける加速度の二重積分として計算される。ユーザフレームにおける加速度は、前述のQによってユーザフレームに入るように回転させられた筐体フレームの加速度である。通常、原点は、デバイスが最初にアクティブにされた際、0であるものと想定されるが、原点は、通常の動作中に手動で、または自動的にリセットされてもよい。一般に、デバイスが動いていない場合、Pu、Pu、Wu、およびWuはすべて、0である。この例示的な実施形態では、PbおよびWbが測定される。無限の数の回転Qが存在するが、利用可能なセットから最小限の回転が選択されて、Wbに基づき、Wuを推定するのに使用されることが可能である。代替的に、Qは、離散時間積分を使用して以下に示されるとおり、Wbを時間にわたって積分することにより、想定される開始オフセット向きQoを使用して計算されてもよい。すなわち、WbAngleWbperiodQDELTA∥Wb∥sincosQNEXTQ0QDELTAただし、は、乗算を表し、は、四元数乗算を表す。さらなる安定性が、重力加速度および地球の磁場を含み、前述した結果と組み合わされた定常場ベクトルによってもたらされることが可能である。この組み合わせは、カルマンフィルタリングを含むが、それには限定されない、いくつかの数値方法およびフィルタリング方法を使用して達せられることが可能である。様々な異なるセンサが、それらのセンサが、デバイスの筐体に対する動きを測定する限り、使用されることが可能である。例示的なセンサには、加速度計、回転センサ、ジャイロスコープ、磁力計、およびカメラが含まれる。ユーザフレームは、静止している必要はない。例えば、ユーザの基準フレームが、ユーザの前腕であるように選択された場合、デバイスは、手首および指の動きだけに応答する。可換特性は、本発明で説明される基準フレーム変換だけに当てはまることが、当業者には認識されよう。したがって、数学的操作の順序は、本明細書で説明される本発明に実質的に影響を与えることなく、変更されることが可能である。さらに、多くのモーション処理アルゴリズムは、特に、ユーザフレームが、不変の向きを有して静止しているように選択される場合、いずれの基準フレームでも同等に作用することが可能である。使用の容易さをもたらすことに加え、本発明のこの例示的な実施形態による基準フレーム変換は、ハンドヘルドデバイスインプリメンテーションにおける他の課題に対処するのにも使用されることが可能である。例えば、センサが、筐体基準フレームにおける回転の中心に正確に配置されていない場合、測定される加速度には、フレームの加速度と、フレームの回転に起因する加速度成分がともに含まれる。したがって、測定された加速度は、以下の関係式を使用して、デバイスの筐体フレーム内の異なる目標位置に、まず変換されることが可能である。すなわち、AbodyAaccelerometerωxRωxただし、Rは、加速度計から目標位置までのベクトルであり、ωは、筐体基準フレームの角速度であり、ωは、筐体基準フレームの角加速度である。デバイスの筐体フレームが、加速度計からRにあるように構築されている場合、筐体フレームは、0の角加速度効果を有するべきであり、ユーザフレームにおけるデバイスの動きを計算するのに、より容易に使用されることが可能である。これにより、加速度計と、筐体基準フレームの中心との間の意図的な位置合わせ不良、または意図的でない位置合わせ不良が補償される。さらに、重力加速度ベクトルの推定は、回転の中心で作用する力の数がより少ないので、はるかに簡単になる。すると、AusterRotateであり、ただし、Qは、筐体基準フレームから加速度計基準フレームまでの回転である。残念ながら、異なるユーザは、Rに関して異なる値を有する。例えば、あるユーザは、肘を回すことによってハンドヘルドデバイスを使用する可能性があるのに対して、別のユーザは、手首を回すことによってデバイスを使用する可能性がある。加えて、人々は、異なるサイズの手首および前腕を有する。より向上した使いやすさのため、ハンドヘルドのこの例示的な実施形態は、Rを動的に計算し、筐体原点を動かして、筐体原点が、角モーションに起因する最小の加速度成分を有するようにする。例示的な実施形態は、RをRx00と定義し、AbodyRotateAgQを使用し、AbodyRotateAgQを最小化するRxについて解くことにより、Rを推定する。Rxを計算する最小化を実行することが可能な、再帰的最小二乗法およびカルマンフィルタリングを含む、多くの数値方法が存在することに留意されたい。以上に基づき、本発明は、1つの基準フレームから別の基準フレームにハンドヘルドデバイスの感知された動きをマップするための様々な技術を説明することが理解されよう。それらのマッピングは、ハンドヘルドデバイスの使用に関連する他のマッピング、例えば、感知された動きのカーソルの動きへのマッピングとは独立であることも、他のマッピングと組み合わせられることも可能である。さらに、本発明による変換は、動きの等式の入力側、または出力側の見地から、並進の動き、および回転の動き、またはそれらの動きの任意のサブセットのために、感知された動きを3つすべての次元で変換するように実行されることが可能である。さらに、感知された動きがマップされる、または変換される基準フレームの選択は、いくつかの異なる形で行われることが可能である。前段で提供された一実施例は、第2の基準フレームが、デバイスの傾きに関連するユーザの基準フレームであることを示すが、他の多くの変形形態が可能である。例えば、ユーザは、ユーザの所望の基準フレームを選択することができ、その設定が、複数のユーザ選好の1つとしてハンドヘルドの中に格納され、変換を実行するのに使用されることが可能である。他の実施例は、第2の基準フレームを選択するための技術として、ユーザ認識および明示的コマンドを含む。さらに、前述した例示的な諸実施形態の一部は、速度ドメインでデータを扱うが、本発明は、そのように限定されない。本発明によるマッピングまたは変換は、代替的に、またはさらに、例えば、位置データまたは加速度データに対して実行されることも可能であり、並進の動き、回転の動き、またはその両方の動きためであることも可能である。また、処理の順序は、重要ではない。例えば、ハンドヘルドデバイスが、ジェスチャコマンドを出力するのに使用されている場合、マッピングが、まず実行され、次に、ジェスチャが判定されることが可能であり、あるいはジェスチャが、まず判定されることが可能であり、次に、マッピングが実行されることが可能である。本発明の例示的な諸実施形態によれば、感知された動きを処理するための諸技術は、例えば、ボタン作動などの、他のユーザ‐デバイス対話、およびまたは微動に起因する望ましくない効果を除去する。一般に、図15に示されるとおり、システムへの入力は、ハンドヘルドの3Dポインティングデバイスの人間の動きである。その動きが、デバイスによって感知され、例えば、ブロック1512で、代表的な動きになるように処理される。この処理の詳細な実施例は、前段で説明した。しかし、本発明のそれらの例示的な実施形態は、前述した例示的なハンドヘルドの3Dポインティングデバイス400における応用に限定されず、他のハンドヘルドデバイス、例えば、他のタイプの動きセンサを使用する3Dポインティングデバイスも含むことを明確に意図していることに留意されたい。代表的な動きは、次に、意味のある表現に変換され、この表現は、ブロック1516で、本発明の例示的な諸実施形態による例示的な人的要因技術によって処理される。本明細書で説明される例示的な実施形態では、人的要因処理1516の出力は、次に、例えば、2Dポインタの動きにマップされる。処理された動きは、次に、ハンドヘルドデバイスによって出力され、その動きの例が、スクリーン上のポインタの動きを制御するのに使用されることが可能なデータである。本発明のこの例示的な実施形態は、ボタンクリックを含む、ユーザによって開始されたイベント中の動きを処理するための様々な異なる技術を含む。第1の例示的な実施形態によれば、ユーザアクション、例えば、ボタンクリックが行われた後、モーションセンサ、例えば、回転センサ、加速度計、磁力計、ジャイロスコープ、カメラ、または以上の任意の組み合わせによって生成された動き情報を処理するのに、距離閾値と時間閾値がともに使用される。距離だけでは、ボタンクリック中に安定しているとともに応答性のよいポインタをもたらすのに十分でない可能性がある。ハンドヘルドデバイスによってボタンの押し下げが検出されると、1516からの出力されたポインタの動きは、距離が距離閾値を超えるまで、または経過した時間の量が時間閾値を超えるまで、抑圧される。距離閾値と時間閾値のいずれか、または両方が、例えば、ボタン押し下げアクションとボタン解放アクションに関して異なる可能性がある。例示的なボタン処理は、オプションとして、コマンドをハンドヘルドに送ることによって無効にされてもよい。また、異なるボタンが、互いに異なる閾値を有することも可能である。ボタンクリック中にハンドヘルドが経験する動きの量は、ユーザ、ボタン作動の力、ボタン移動距離、および支持体のハンドヘルド中心に対するボタンの位置を含むが、以上には限定されない、いくつかの要因に依存する。ボタン動き処理パラメータは、各ボタンのパフォーマンスを最適化するように個々に設定されてもよい。加えて、パラメータは、セッション履歴に基づき、またはユーザがシステムに知られている場合、ユーザに基づき、学習されることも可能である。さらに、人的要因処理ファンクション1516が、ハンドヘルドデバイスの過去の動きの履歴を格納し、追跡することが可能である。例えば、ボタンが押し下げられたことをハンドヘルドデバイスが検出すると、ハンドヘルドデバイス内の処理ユニットが、ユーザによって開始されたボタンイベントより前の時点まで後退することができる。ボタンを物理的に作動させることは、心理学的試験および動的デバイス測定によって判定されることが可能な、不定の測定可能な時間を要する。ボタンが作動させられると、デバイスは、ボタン作動が行われる間行われた後にモーションセンサから取り込まれたデータサンプルを削除することにより、ボタン作動が行われたのより前の状態に戻ることができる。したがって、ボタン押し下げ中に生じた不規則な動きが、無視され、消去される。例えば、検出されたボタン押し下げに応答して、ブロック1516からの出力が、検出された位置P1から、呼び戻された位置P2まで変化することが可能であり、この位置P2は、所定の期間、ボタン押し下げアクション検出に先立ってブロック1516によって、以前に出力されている。デバイスが、1つのボタンアクションを既に処理しており、別のボタンアクションが行われた際に、動きを依然として抑圧している場合、人的要因処理ファンクション1516が、後退プロセスを繰り返すことは必要ない可能性がある。ユーザインタフェースにおいて、少なくとも2つの通常のタイプのボタンアクティブ化が行われる可能性がある。図16に示される第1のタイプでは、ユーザは、小さい目標の上の正確な作動を意図し、デバイスを注意深く位置合わせし、動きを止め、次に、ボタンを押し下げる。第2のタイプでは、目標は、大きく、ユーザは、次のアクションを予期し、すなわち、ユーザは、目標の上で止める、またはさまようことなしに、ポインタを単に減速させ、代わりに、オンザフライで目標をクリックすることを目指すことができる。微細モードクリックの場合、前述した処理技術は、ハンドヘルドデバイス内のモーションセンサからの複合データ出力ストリームから、意図的でない動きデータを正確に除去するように動作する。しかし、第2のタイプの動きの場合、さらなる拡張が、パフォーマンスを向上させるのに役立つ可能性がある。粗モードクリックによって提起されるさらなる課題に対処するため、人的要因処理ユニット1516は、第2の代替の技術、または補足的な技術を使用することができる。この第2の例示的な実施形態によれば、モーションセンサから受け取られた動きデータが、動きベクトルになるように処理され、ユーザは、ボタン作動中に、カーソルの何らかの動きの変化、またはデバイスからの他の関連する出力を意図する可能性があるものと想定される。ニュートンの第1法則で知られているとおり、運動している物体は、運動を続ける。このため、ハンドヘルドデバイス上でボタンが押されると、そのことにより、経路から外れる高周波数の動きが生じる。動きベクトル、およびフィルタリングされた動き情報を使用して、ポインティングデバイスからの出力は、ユーザによって開始されたイベント中、またはそのイベントの後、それまでの動きの履歴と整合性のある形で継続することが可能である。これは、処理チェーンにフィルタを追加することによって達せられることが可能である。フィルタは、イベント自体に関連する高周波数の動きを排除しながら、ユーザによって開始されたイベント中、およびそのイベント後の、意図された動きを許すように設計される。ローパスフィルタリングなどの多くの処理方法が、高周波数成分の除去を可能にするが、待ち時間の増加という犠牲を払う。待ち時間は、ユーザに重要である可能性があるので、本発明の例示的な諸実施形態は、ユーザによって開始されたイベントが検出されると、信号処理パスに入るように切り替えられる適応フィルタを使用することができる。適応フィルタは、急な高周波数のボタン押し下げを弱めるローパスフィルタとして構成される。適応フィルタリングブロックへのさらなる入力は、ボタンが完全に跳ね返り制御される前に行われる、オプションのボタン活動前警告である。ボタン活動前警告は、その警告なしの場合よりも早期に、ボタンイベントが処理に通知されることを可能にすることにより、フィルタ待ち時間用件を少なくする。ボタン活動前警告を伴う適応フィルタは、意図される動きと待ち時間の間の技術上のトレードオフを最小限に抑える。本発明のさらに別の例示的な実施形態によれば、3Dポインティングデバイスの設計者は、通常、望ましくない動きの方向を設計時に知っているので、動きの乱れの方向は、したがって、デバイスのエルゴノミクス、および意図される使用に基づいて分かる。例えば、設計者は、デバイスを基準としたボタン作動の方向を知っている。主要な動きは、ボタン移動ベクトルに平行な直線の動き、またはユーザグリップを中心とするトルクによる回転の動きから成る。その知識は、ボタン作動の動きの知識を含む方向選好フィルタの実施を可能にする。例えば、フィルタ設計は、カルマンフィルタや適応フィルタなどの状態空間フィルタを含むことが可能である。そのようなフィルタは、ボタン作動中に、知られている方向の意図される経路からの所望されない逸脱を検出し、次に、ボタン作動中に、所望される動きの経路を補間する。この選好フィルタリングは、意図されないボタンの動きを依然として除去しながら、方向の意図される変化中、より応答性のよいポインタをもたらす。状態空間フィルタは、通常の使用の過程で、設計パラメータを学習するように拡張されることが可能であることが、当業者には認識されよう。本発明の例示的な諸実施形態による人的要因処理ファンクション916は、前述した技術のいずれか、または両方を実施することができ、両方が使用される場合、それらの技術の間で切り替えを行うクラシファイアを提供する。例えば、第1の正確なタイプのボタンクリックが検出された場合、第1の技術が使用されることが可能である。第2のそれほど正確でないボタンクリックが検出されると、第2の技術が使用されることが可能である。技術の間で切り替えを行うための1つのクラシファイアは、ボタン作動の時点における、またはボタン作動の直前の時点におけるハンドヘルドデバイスの速度を使用することができる。例えば、ハンドヘルドデバイスの速度が、所定の速度閾値を下回っている場合、ハンドヘルドデバイスが、所定の距離閾値を超えて動いたことをモーションセンサによって検出された動きが示すか、または所定の時間が経過するまで、検出されたイベントに続いて生成された動きデータを破棄する第1の技術が使用され、そうではなく、ハンドヘルドデバイスの速度が、所定の速度を超えている場合、検出されたイベントに続いて生成された動きデータをフィルタリングする第2の技術が使用される。以上の例示的な諸実施形態で述べたボタンクリックまたはボタン押し下げは、ボタン押し下げとボタン解放をともに含むが、以上には限定されない。以上の技術のすべては、望ましくない動きを生じさせる、いずれの既知のデバイス対話にも適用されることが可能であり、ボタンクリックに限定されない。例えば、以上の諸技術は、スクロールホイール作動、タッチパッド使用、または容量性ストリップにも適用されることが可能である。このため、本発明の例示的な諸実施形態は、別のイベントをアクティブにすること、または非アクティブにすることに基づいて生じる不要な動きを取り消すための方法およびデバイスを説明する。前述した方法に関するパラメータは、イベントに関する予期される動き特性をサポートするように適合されることが可能である。例示的な実施形態では、ボタン押し下げに関するパラメータは、ボタン解放に関するパラメータとは異なることが可能である。動きの取り消しに加えて、ユーザインタフェースは、本発明によるユーザイベントの扱いに、さらなる制約を課す、または示唆することができる。例えば、MicrosoftWindowsオペレーティングシステムでは、ボタンが押し下げられている間にカーソルが動いた場合、ドラッグアクションが開始される。したがって、ユーザによるボタン押し下げアクションに応答する動きデータ処理に関連するパラメータは、不要なドラッグイベントを防止するために、ボタン作動中のポインタの動きを制限する傾向がある値を有することが可能である。これとは対照的に、MicrosoftWindowsオペレーティングシステムにおけるボタン解放後のカーソルの動きは、ユーザインタフェースにおけるオブジェクトに対してほとんど影響を与えず、したがって、本発明による例示的な動きデータ処理は、ボタン押し下げに続く動きデータ処理に関連する、対応するパラメータと比べて、ポインタの動きをそれほど制限しない傾向にあるパラメータを使用することが可能である。動きは、不要なボタンの動きを除去するのに役立つ、いくつかの異なる形で、速度ドメインまたは位置ドメインにおいて処理されることが可能である。速度ドメインにおける単純なフィルタリングが使用されてもよい。フィルタは、FIRフィルタまたはIIRフィルタであることが可能であるが、それらのフィルタは、望ましくない量の処理遅延を生じさせる可能性がある。適応フィルタが、それほど多くの遅延を生じさせずに、うまく使用されることが可能である。本発明の例示的な諸実施形態は、カルマンフィルタとしても実施されることが可能である。カルマンフィルタは、最も可能性の高い使用シナリオを選択し、適切な動きを適用することができる。ニューラルネットワークが、同一の結果のために使用されることが可能である。このため、本発明は、イベントが生じたことを検出するため、ユーザの意図する動きを推測するため、およびハンドヘルドデバイスの実際の動きではなく、ユーザの意図する動きを解釈するための方法を提供することが理解されよう。動きは、6DOF3Dドメイン、またはマップされた2DOFポインティングドメインにおいてであることが可能である。6DOF3Dドメインは、デバイスの筐体基準フレーム、またはユーザの基準フレームにあることが可能である。本発明の別の例示的な実施形態によれば、ユーザによって開始されたイベントに関連する動きは、モデル化されて、モーションセンサから収集された動きデータに基づいてハンドヘルドデバイスから出力をもたらす動きの等式に明示的に含められることが可能である。より具体的には、ユーザによって開始されたイベントのボタン押し下げの例を使用すると、ボタン押し下げによって生じさせられる動きが、アプリオリにモデル化されて、ボタン押し下げアクションに関連する1つまたは複数の例示的な動きの大きさおよび方向が算出され、それらの値が、次に、ハンドヘルドデバイスのメモリユニットの中に格納されることが可能である。次に、ボタン押し下げが検出されると、ハンドヘルドデバイスの処理ユニットは、動きの等式におけるモデル化された動きを使用して、出力が、ボタン押し下げに関連していた、モーションセンサによって検出された動きではなく、ユーザの意図する動きを反映するように、出力を適応させることができる。処理ユニットは、モデル化された値を様々な異なる形で使用すること、例えば、それらの値を、検出された動きの値から引くこと、特定のユーザによって開始されたイベントに関連するモデル化された値に基づいて、検出された動きの値を弱めること、ハンドヘルドの出力に関連する意味マップを調整することなどができる。このため、本発明の例示的な諸実施形態は、テレビを制御することを含め、様々な用途のためにハンドヘルドリモコンを実施する革新的な方法を説明することを見て取ることができる。また、デバイスは、他のアプリケーションのために、例えば、パーソナルコンピュータに対する入力デバイスおよびオブジェクトコントロールとして使用されることも可能である。リモコンはもはや、ボタンのミニチュアキーボードに似る必要がない。むしろ、本発明によるリモコンデバイスは、ポインティングの活動が、ボタンの単なる押し下げに加えて、情報を伝えるという点で、マウスによく似ていることが可能である。結果は、デバイスおよびアプリケーションのリモコンのための、はるかに強力なユーザ環境である。マウスのない今日のPCを想像すると、それが今日のTV制御環境である。次に、マウス様の機能をTVに追加することを想像されたい。もたらされるのは、大いに向上したユーザ体験である。要求されるのは、ポインティングおよびボタンアクティブ化を可能にすることができる無線ハンドヘルドだけである。本発明は、まさにそのようなデバイスを説明する。従来のリモコンに優るこの設計の1つの利点は、この設計が、ボタンアクティブ化を検出することに加え、ユーザが、スクリーン上でカーソルを位置づけることを可能にすることである。結果は、ジェスチャ認識に加え、スクリーンセンシティブなボタンおよびコントロールが可能なことである。結果は、機能を追加することが、新たなボタンが追加されることを要する、従来のリモコンと比べると、非常に強力で柔軟性があり、拡張性のあるユーザインタフェースである。本発明の例示的な諸実施形態は、例えば、デバイスの角速度を測定するMEMSベースの回転センサを使用するハンドヘルドリモコンデバイスを使用して、以上の能力を提供する。加えて、例示的な諸実施形態は、意図的でない動きを除去するティーチ筐体フレーム調整、較正、および後処理を可能にする。結果は、従来のハンドヘルドリモコンデバイスより、パフォーマンスが良好であり、安価であり、小さい完全に独特なインプリメンテーションである。それらの例示的な諸技術は、MEMSセンサを使用して、回転角速度および直線加速度を測定する。次に、較正が、静止検出と一緒に使用されて、生の読み取り値が調整され、スケーリングされる。次に、直線加速度読み取り値が、積分されて、ハンドヘルド筐体フレームの向きを算出するのに使用される。この向きデータが、次に、回転速度読み取り値を、適切な基準フレームにマップするのに使用される。最終ステップは、人間の微動のような意図的でない動きがフィルタリングされて除去されるように、すべての動きの読み取り値が、後処理されることである。本発明の例示的な諸実施形態によるデータを処理するためのシステムおよび方法は、メモリデバイスの中に含まれる命令シーケンスを実行する1つまたは複数のプロセッサによって実行されることが可能である。そのような命令は、2次データ記憶デバイスなどの、他のコンピュータ可読媒体から、メモリデバイスの中に読み込まれてもよい。メモリデバイスの中に含まれる命令シーケンスの実行により、プロセッサは、例えば、前述したとおり、動作するようにさせられる。代替の諸実施形態では、本発明を実施するのに、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、配線回路が使用されてもよい。前述した例示的な諸実施形態は、すべての点で、本発明を制限するのではなく、例示することを意図している。このため、本発明は、当業者によって本明細書に含まれる説明から導き出されることが可能な、詳細な実施の多くの変形が可能である。例えば、以上の例示的な諸実施形態は、とりわけ、デバイスの動きを検出する慣性センサの使用を説明したが、前述した信号処理に関連して、慣性センサの代わりに、または慣性センサに加えて、他のタイプのセンサが使用されることも可能である。すべてのそのような変形形態および変更形態が、添付の特許請求の範囲によって定義される、本発明の範囲および趣旨に含まれるものと考えられる。本出願の説明において使用されるいずれの要素、動作、または命令も、特に明記しない限り、本発明に不可欠である、または必須であると解釈されてはならない。また、本明細書で使用する冠詞aは、1つまたは複数のアイテムを含むことを意図している。