(57)【要約】  本発明によるシステムおよび方法は、自由空間ポインティングデバイスの動きを検出し、出力読み取り値から意図的でない動きを除去する自由空間ポインティングデバイスおよび方法を説明する。
2007535774.tif 000002
【特許請求の範囲】
【請求項１】
第1の軸を中心とするポインティングデバイスの回転を測定し、前記回転に関連する第1の回転出力を生成するための第1の回転センサと、
第2の軸を中心とする前記ポインティングデバイスの回転を測定し、前記回転に関連する第2の回転出力を生成するための第2の回転センサと、
前記ポインティングデバイスの加速度を測定し、前記加速度に関連する加速度出力を出力するための加速度計と、
前記第1の回転出力および前記第2の回転出力、および前記加速度計出力を受け取るため、および
(a)ユーザによって開始されたイベントを検出するため、
(b)前記第1の回転出力および前記第2の回転出力、および前記加速度計出力の少なくとも1つに基づき、ハンドヘルドポインティングデバイスの速度を算出するため、
(c)前記ハンドヘルドデバイスの前記速度が、所定の速度閾値を下回った場合、前記ハンドヘルドデバイスが所定の距離を超えて動くか、または所定の時間が経過するまで、前記第1の回転センサ、前記第2の回転センサ、および前記加速度計によって生成されたデータを破棄する、または弱めるため、および
(d)そうではなく、前記ハンドヘルドポインティングデバイスの前記速度が、前記所定の速度閾値を超えている場合、前記第1の回転センサ、前記第2の回転センサ、および前記加速度計によって生成された前記データをフィルタリングして、ユーザによって開始された前記イベントに関連する意図されていない動きを除去するための処理ユニットとを含むハンドヘルドポインティングデバイス。
【請求項２】
ユーザによって開始された前記イベントは、ボタン押し下げ、ボタン開放、スクロールホイール作動、タッチパッド使用、および容量ストリップ使用のいずれかである請求項1に記載のハンドヘルドポインティングデバイス。
【請求項３】
自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するステップと、
イベントの出現を検出するステップと、
前記検出されたイベントに基づいて前記出力をフィルタリングするステップとを含む自由空間ポインティングデバイスを動作させるための方法。
【請求項４】
前記自由空間ポインティングデバイスは、少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン開放アクションである請求項3に記載の方法。
【請求項５】
フィルタリングする前記ステップは、前記イベントが、第1のタイプである場合、第1のフィルタを使用し、前記イベントが、第2のタイプである場合、第2のフィルタを使用して前記出力をフィルタリングするステップをさらに含む請求項3に記載の方法。
【請求項６】
前記第1のタイプの前記イベントは、ボタン押し下げであり、前記第2のタイプの前記イベントは、ボタン開放である請求項5に記載の方法。
【請求項７】
前記自由空間ポインティングデバイスの動きを感知して、前記回転に関連する出力を生成する前記ステップは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを使用して、前記動きを感知する請求項3に記載の方法。
【請求項８】
前記検出されたイベントに基づいて前記出力をフィルタリングする前記ステップは、少なくとも1つのセンサによって生成された一部のデータが、前記検出されたイベントの直後に処理されることを許すステップをさらに含む請求項3に記載の方法。
【請求項９】
自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するステップと、
イベントの出現を検出するステップと、
前記イベントの前記検出後、所定の時間が経過するまで、前記出力を破棄する、または弱めるステップとを含む前記自由空間ポインティングデバイスを動作させるための方法。
【請求項１０】
前記自由空間ポインティングデバイスは、少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン開放アクションである請求項9に記載の方法。
【請求項１１】
前記自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成する前記ステップは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを使用して、前記動きを感知することをさらに含む請求項9に記載の方法。
【請求項１２】
自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するステップと、
イベントの出現を検出するステップと、
前記イベントの前記検出の後、所定の時間が経過すること、または前記イベントの前記検出の後、自由空間ポインティングデバイスが、所定の距離を移動することのいずれであれ、先に生じるまで、前記出力を破棄する、または弱めるステップとを含む自由空間ポインティングデバイスを動作させるための方法。
【請求項１３】
前記自由空間ポインティングデバイスは、少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項12に記載の方法。
【請求項１４】
前記自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成する前記ステップは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを使用して、前記動きを感知することをさらに含む請求項12に記載の方法。
【請求項１５】
(a)自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するステップと、
(b)イベントの出現を検出するステップと、
(c)前記自由空間ポインティングデバイスの速度を測定するステップと、
(d)前記自由空間ポインティングデバイスの前記速度が、所定の速度閾値を下回っている場合、前記イベントの前記検出された出現の後に感知された動き情報を破棄する、または弱めるステップと、
(e)そうではなく、前記自由空間ポインティングデバイスの前記速度が、所定の速度閾値を超えている場合、前記イベントの前記検出された出現の後に感知された動き情報をフィルタリングして、ユーザによって開始された前記イベントに関連する意図されない動きを除去するステップとを含む自由空間ポインティングデバイスを動作させるための方法。
【請求項１６】
動き情報は、前記ハンドヘルドデバイスが所定の距離を超えて動くか、または所定の時間が経過するまで、破棄される請求項15に記載の方法。
【請求項１７】
前記自由空間ポインティングデバイスは、少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項15に記載の方法。
【請求項１８】
前記自由空間ポインティングデバイスの動きを感知して、前記動きに関連する出力を生成する前記ステップは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを使用して、前記動きを感知することをさらに含む請求項15に記載の方法。
【請求項１９】
ハンドヘルドポインティングデバイスの動きを感知して、前記動きに関連する出力を感知するための少なくとも1つのモーションセンサと、
イベントの出現を検出するため、および前記検出されたイベントに基づいて前記出力をフィルタリングするための処理ユニットとを含むハンドヘルドポインティングデバイス。
【請求項２０】
少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項19に記載のハンドヘルドポインティングデバイス。
【請求項２１】
前記処理ユニットは、前記イベントが、第1のタイプである場合、第1のフィルタを使用し、前記イベントが、第2のタイプである場合、第2のフィルタを使用して前記出力をフィルタリングする請求項19に記載のハンドヘルドポインティングデバイス。
【請求項２２】
前記第1のタイプの前記イベントは、ボタン押し下げであり、前記第2のタイプの前記イベントは、ボタン開放である請求項21に記載のハンドヘルドポインティングデバイス。
【請求項２３】
前記少なくとも1つのモーションセンサは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを含む請求項19に記載のハンドヘルドポインティングデバイス。
【請求項２４】
前記処理ユニットは、少なくとも1つのセンサによって生成された一部のデータが、前記検出されたイベントの直後に処理されることを許すように前記出力をフィルタリングする請求項19に記載のハンドヘルドポインティングデバイス。
【請求項２５】
ハンドヘルドポインティングデバイスの動きを感知して、前記動きに関連する出力を感知するための少なくとも1つのモーションセンサと、
イベントの出現を検出するため、および前記イベントの前記検出の後、所定の時間が経過するまで、前記出力を破棄する、または弱めるための処理ユニットとを含むハンドヘルドポインティングデバイス。
【請求項２６】
少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項25に記載のハンドヘルドポインティングデバイス。
【請求項２７】
前記少なくとも1つのモーションセンサは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを含む請求項26に記載のハンドヘルドポインティングデバイス。
【請求項２８】
ハンドヘルドポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するための少なくとも1つのモーションセンサと、
イベントの出現を検出し、前記イベントの前記検出の後、所定の時間が経過すること、または前記イベントの前記検出の後、ハンドヘルドポインティングデバイスが、所定の距離を移動することのいずれであれ、先に生じるまで、出力を破棄する、または弱めるための処理ユニットとを含むハンドヘルドポインティングデバイス。
【請求項２９】
少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項28に記載のハンドヘルドポインティングデバイス。
【請求項３０】
前記少なくとも1つのモーションセンサは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを含む請求項28に記載のハンドヘルドポインティングデバイス。
【請求項３１】
ハンドヘルドポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するためのモーションセンサと、
イベントの出現を検出して、前記感知された動きに基づいて前記自由空間ポインティングデバイスの速度を算出するための処理ユニットとを含むハンドヘルドポインティングデバイスであって、
(a)前記自由空間ポインティングデバイスの前記速度が、所定の速度閾値を下回っている場合、前記処理ユニットは、前記イベントの前記検出された出現の後に感知された動き情報を破棄し、
(b)そうではなく、前記自由空間ポインティングデバイスの前記速度が、前記所定の速度閾値を超えている場合、前記処理ユニットは、前記イベントの前記検出された出現の後に感知された動き情報をフィルタリングして、ユーザによって開始された前記イベントに関連する意図されない動きを除去するデバイス。
【請求項３２】
前記動き情報は、前記ハンドヘルドデバイスが所定の距離を超えて動くか、または所定の時間が経過するまで、破棄される請求項31に記載のハンドヘルドポインティングデバイス。
【請求項３３】
少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項31に記載のハンドヘルドポインティングデバイス。
【請求項３４】
前記少なくとも1つのモーションセンサは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを含む請求項31に記載のハンドヘルドポインティングデバイス。
【請求項３５】
ハンドヘルドポインティングデバイスの動きを感知して、前記動きに関連する出力を生成するための少なくとも1つのモーションセンサと、
イベントに関連する少なくとも1つの値を格納するためのメモリユニットと、
前記イベントの出現を検出するため、および前記少なくとも1つの格納された値に基づいて前記出力を調整するための処理ユニットとを含むハンドヘルドポインティングデバイス。
【請求項３６】
少なくとも1つのボタンを含み、前記イベントは、ボタン押し下げアクションまたはボタン解放アクションである請求項35に記載のハンドヘルドポインティングデバイス。
【請求項３７】
前記少なくとも1つのモーションセンサは、加速度計、回転センサ、ジャイロスコープ、磁力計、光センサ、およびカメラの少なくとも1つを含む請求項35に記載のハンドヘルドポインティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、参照により開示が本明細書に組み込まれている、「Freespace Pointing Device」という名称の2004年4月30日に出願した米国特許仮出願第60/566,444号に関連し、第60/566,444号の優先権を主張する。また、本出願は、参照により開示が本明細書に組み込まれている、「Free Space Pointing Devices and Methods」という名称の2004年9月23日に出願した米国特許仮出願第60/612,571号にも関連し、第60/612,571号の優先権も主張する。また、本出願は、参照により開示が本明細書に組み込まれている、「Methods and Devices for Removing Unintentional Movement in Free Space Pointing Devices」という名称の2005年1月5日に出願した米国特許仮出願第60/641,383号にも関連し、第60/641,383号の優先権も主張する。また、本出願は、すべて同時に出願し、すべて参照により本明細書に組み込まれている、「Free Space Pointing Devices With Tilt Compensation and Improved Usability」、「Methods and Devices for Identifying Users Based on Tremor」、「Free Space Pointing Devices and Methods」という名称の米国特許出願第11/119,719号、第11/119,688号、および第11/119,663号にも関連する。
【０００２】
本発明は、デバイス、例えば、ハンドヘルドデバイスに関連する動きデータを処理して、デバイスに関連する意図的でない動きを除去するための技術およびデバイスを説明する。本発明の一部の例示的な実施形態によれば、ハンドヘルドデバイスは、自由空間ポインティングデバイスであることが可能である。
【背景技術】
【０００３】
情報通信に関連する技術は、ここ数十年の間に急速に進化している。テレビ、セルラー電話機、インターネット、およびオプションの通信技術(いくつかだけを挙げると)が一緒になってもたらす利用可能な情報、およびエンターテイメントオプションの洪水に、消費者は見舞われている。テレビを例にとると、この30年間に、ケーブルテレビサービス、衛星テレビサービス、従量料金制の映画およびビデオオンデマンドが導入されている。1960年代のテレビ視聴者は、おそらく4つ、または5つの放送TVチャネルを通常、受信することができたのに対して、今日のTV視聴者は、数百チャネル、数千チャネル、また、場合により、数百万チャネルのショーおよび情報から選択する機会を有する。ホテルなどで現在、主に使用されているビデオオンデマンド技術は、数千の映画タイトルからのホームエンターテイメント選択の可能性を提供する。
【０００４】
エンドユーザにそれほど多くの情報およびコンテンツを提供する技術能力は、機会とともに課題も、システム設計者およびサービスプロバイダにもたらす。1つの課題は、エンドユーザが、より少ない選択肢ではなく、より多くの選択肢を有することを通常、選好する一方で、この選好は、選択プロセスが迅速であるとともに簡単であることの欲求と天秤に掛けられる。残念ながら、エンドユーザがメディアアイテムにアクセスするシステムおよびインタフェースの進展は、迅速でも簡単でもない選択プロセスをもたらしている。テレビ番組の例を再び考慮されたい。テレビの揺籃期には、いずれの番組を観るかを決めることは、選択肢の数が少なかったことに主に起因して、比較的簡単なプロセスであった。人は、例えば、(1)近くのテレビチャネル、(2)それらのチャネルで送信される番組、および(3)日付と時刻の間の対応を示す一連の列と行としてフォーマットされた、印刷された案内を調べた。テレビが、チューナノブを調整することによって所望のチャネルにチューニングが合わせられ、視聴者は、選択された番組を観た。後に、視聴者が、テレビを離れたところからチューニングすることを可能にするリモコンデバイスが導入された。このユーザ‐テレビインタフェースの追加は、視聴者が、いくつかのチャネルで放送されている短いセグメントを敏速に観て、任意の所与の時点でどのような番組が選択可能であるかを素早く知ることができる、「チャネルサーフィン」として知られる現象を生じさせた。
【０００５】
チャネルの数、および視聴可能なコンテンツの量が劇的に増加したことにもかかわらず、テレビに関する一般に利用可能なユーザインタフェース、コントロールデバイスオプション、およびフレームワークは、ここ30年間であまり変化していない。印刷された案内が、依然として、番組情報を伝えるための最も普及した機構である。上向き矢印と下向き矢印を有する複数ボタンリモコンが、依然として、最も普及しているチャネル/コンテンツ選択機構である。利用可能なメディアコンテンツの増加に対する、TVユーザインタフェースを設計し、実施する人々の反応は、既存の選択手続きおよびインタフェースオブジェクトの単純明快な拡張であった。このため、印刷された案内における行の数は、より多くのチャネルに対応するように増やされた。リモコンデバイス上のボタンの数は、例えば、図1に示されるとおり、さらなる機能およびコンテンツの取り扱いをサポートするように増やされた。しかし、このアプローチは、視聴者が、利用可能な情報を点検するのに要求される時間と、選択を実施するのに要求されるアクションの複雑さをともに大幅に増大させた。消費者は、消費者が既に、遅すぎ、複雑すぎると見なしているインタフェースの複雑さを増大させる新たなサービスに抵抗を示すので、既存のインタフェースの面倒な性質は、一部のサービス、例えば、ビデオオンデマンドの商業的実施を阻害してきたといえる。
【０００６】
帯域幅とコンテンツの増加に加えて、ユーザインタフェースがネックとなる問題は、技術の集約によって悪化させられている。消費者は、いくつかの分離されたコンポーネントよりはむしろ、統合されたシステムを購入するオプションを有することに肯定的に反応している。この傾向の例が、3つの以前は独立していたコンポーネントが、今日では、しばしば、統合されたユニットとして販売される、一体型のテレビ/VCR/DVDである。この傾向は、続く可能性が高く、家庭で現在、見られる、すべてではないにしても、ほとんどの通信デバイスが、統合されたユニットとして、例えば、テレビ/VCR/DVD/インターネットアクセス/ラジオ/ステレオユニットとして一緒にひとまとめにされるという最終結果がもたらされる可能性がある。別々のコンポーネントを購入し続ける人々でさえ、それらの別々のコンポーネントのシームレスな制御、および相互動作を所望する可能性が高い。この向上した集約には、ユーザインタフェースがより複雑になる可能性が伴う。例えば、いわゆる「汎用」リモートユニットが、例えば、TVリモートユニットとVCRリモートユニットの機能を組み合わせるように導入された際、それらの汎用リモートユニット上のボタンの数は、TVリモートユニット上、またはVCRリモートユニット上で個々に存在するボタンの数より、通常、多かった。この増えたボタン数および機能により、TVまたはVCRの最も単純な諸態様以外は何であれ、リモート上の厳密に正しいボタンを探し求めることなしに、制御することが非常に困難になる。多くの場合、それらの汎用リモートは、一部のTVに固有である多くのレベルの制御または機能にアクセスする十分なボタンを提供しない。それらのケースでは、元のデバイスリモートユニットが、依然として、必要とされ、集約の複雑さから生じるユーザインタフェース問題に起因して、複数のリモートを扱う元の煩わしさは、そのままである。一部のリモートユニットは、エキスパートコマンドでプログラミングされることが可能な「ソフト」ボタンを追加することにより、この問題に対処している。それらのソフトボタンは、ときとして、それらのボタンのアクションを示す、付随するLCDディスプレイを有する。それらのリモートユニットも、TVから目を離してリモコンに目を向けることなしに使用するのが困難であるという欠点を有する。それらのリモートユニットのさらに別の欠点は、ボタンの数を減らそうとして複数のモードを使用することである。それらの「モード付き」汎用リモートユニットでは、TV、DVDプレーヤ、ケーブルセットトップボックス、VCR、その他のいずれとリモートが通信するかを選択する特別なボタンが存在する。このことは、誤ったデバイスにコマンドを送信すること、リモートが正しいモードになっていることを確かめるためにユーザがリモートを見ることを余儀なくすることを含め、多くの操作性問題を生じさせ、複数のデバイスの統合を簡単にすることを全くもたらさない。それらの汎用リモートデバイスの最も進んだものは、複数のデバイスに対するコマンドシーケンスを、ユーザがリモートにプログラミングするのを可能にすることにより、ある程度の統合をもたらす。これは、あまりにも難しい作業であるため、多くのユーザは、ユーザの汎用リモート���ニットをプログラミングするのにプロのインストール技術者を雇う。
【０００７】
また、エンドユーザとメディアシステムの間のスクリーンインタフェースを近代化するいくつかの試みも行われてきた。しかし、それらの試みは、いくつか欠点があるなかで、とりわけ、メディアアイテムの大きい集まりと、メディアアイテムの小さい集まりの間で用意にスケーリングを行うことができないという欠点を通常、抱えている。例えば、アイテムのリストに依拠するインタフェースは、メディアアイテムの小さい集まりの場合には、うまく機能するが、メディアアイテムの大きい集まりの場合は、ブラウズするのが面倒である。階層型ナビゲーション(例えば、ツリー構造)に依拠するインタフェースは、メディアアイテムの大きい集まりの場合、リストインタフェースよりも迅速に目を通すことできる可能性があるが、メディアアイテムの小さい集まりに直ちに適用可能ではない。加えて、ユーザは、ツリー構造において3つ以上のレイヤをユーザが通らなければならない選択プロセスには、関心を失う傾向がある。以上のケースのすべてに関して、現在のリモートユニットは、リストまたは階層を移動するのにアップボタンおよびダウンボタンをユーザが繰り返し押し下げることを余儀なくすることにより、以上の選択プロセッサをさらに面倒にしている。ページアップおよびページダウンのような選択スキップコントロールが利用可能な場合、ユーザは、通常、リモートを見て、それらの特別なボタンを見つけるか、またはそれらのボタンが存在していることすら知るのに、訓練されなければならない。したがって、ユーザとメディアシステムの間のコントロールインタフェースおよびスクリーンインタフェースを単純化するとともに、選択プロセスをスピードアップする一方で、ユーザへの多数のメディアアイテム、および新たなサービスの供給を円滑にすることにより、サービスプロバイダが、エンドユーザ機器に利用可能な帯域幅の増加を活用することを同時に可能にする、編成フレームワーク、編成技術、および編成システムが、参照により開示が本明細書に組み込まれている、「A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items」という名称の2004年1月30日に出願した、米国特許出願第10/768,432号で提案されている。
【０００８】
本明細書の特別な関心対象は、そのようなフレームワーク、ならびにその他のアプリケーションおよびシステムと対話するのに使用可能なリモートデバイスである。前段で組み込まれた出願で述べられるとおり、例えば、トラックボール、「マウス」タイプのポインティングデバイス、ライトペン、その他を含め、様々な異なるタイプのリモートデバイスが、そのようなフレームワークとともに使用されることが可能である。しかし、そのようなフレームワーク(および他のアプリケーション)とともに使用されることが可能な別のカテゴリのリモートデバイスは、自由空間ポインティングデバイスである。「自由空間ポインティング」という句は、本明細書では、入力デバイスが、例えば、ディスプレイスクリーンの前方の空中で、3(またはそれより多くの)次元で動く能力、およびユーザインタフェースが、それらの動きを、直接ユーザインタフェースコマンドに、例えば、ディスプレイスクリーン上のカーソルの動きに変換する、対応する能力を指す。自由空間ポインティングデバイス間のデータの転送は、無線で、または自由空間ポインティングデバイスを別のデバイスに接続する配線を介して実行されることが可能である。このため、「自由空間ポインティング」は例えば、表面、例えば、デスクトップ表面またはマウスパッドを代理表面として使用して、その表面から、マウスの相対的動きが、コンピュータディスプレイスクリーン上のカーソルの動きに変換される、従来のコンピュータマウスポインティング技術とは異なる。自由空間ポインティングデバイスの実施例は、米国特許第5,440,326号で見ることができる。
【０００９】
第'326号特許は、とりわけ、コンピュータのディスプレイ上のカーソルの位置を制御するためのポインティングデバイスとして使用されるように適合された垂直ジャイロスコープを説明している。ジャイロスコープのコアにおけるモータが、ハンドヘルドコントローラデバイスからの2対の直交するジンバルによって吊り下げられ、振子デバイスによってスピン軸を公称で垂直に配向されている。電気光学シャフト角エンコーダが、ユーザによってハンドヘルドコントローラデバイスが操作されると、デバイスの向きを感知し、結果の電気出力が、コンピュータディスプレイのスクリーン上のカーソルの動きを制御するのにコンピュータが使用できるフォーマットに変換される。
【００１０】
しかし、自由空間ポインタに関連する使用の自由度は、さらなる課題を生じさせる。例えば、自由空間ポインティングデバイス上でボタンが押し下げられると、ボタン作動により、ポインタの動きに変換されるべきでないデバイスの望ましくない動きが生じさせられる。この問題の一部に対処するための1つの技術は、ボタン押し下げが行われた後、ポインタの動きを再アクティブ化するように、すなわち、ボタン押し下げが行われた後、自由空間ポインティングデバイスが所定の距離を移動するまで、ポインタのあらゆる動きを無視するように、距離閾値を使用することである。簡単ではあるが、この技術は、デバイスの意図される動きも、意図されない動きとともに無視する可能性がある。
【特許文献１】米国特許仮出願第60/566,444号
【特許文献２】米国特許仮出願第60/612,571号
【特許文献３】米国特許仮出願第60/641,383号
【特許文献４】米国特許出願第11/119,719号
【特許文献５】米国特許出願第11/119,688号
【特許文献６】米国特許出願第11/119,663号
【特許文献７】米国特許出願第10/768,432号
【特許文献８】米国特許第5,440,326号
【非特許文献１】J.Jakubowski、K.Kwiatos、A.Chwaleba、S.Osowski、「Higher Order Statistics and Neural Network For Tremor Recognition」、IEEE Transactions on Biomedical Engineering、vol.49、no.2、152〜159頁、IEEE、2002年2月
【非特許文献２】P.Navarrete、J.Ruiz-del Solar、「Eigenspace-Based Recognition of Faces: Comparisons and a New Approach」、Image Analysis and Processing、2001年
【非特許文献３】C.Liu、H.Wechsler、「Enhanced Fisher Linear Discriminant Models for Face Recognition」という題名の論文、Proc.14th International Conference on Pattern Recognition、Qeensland Australia、August、17〜20頁、1998年
【発明の開示】
【発明が解決しようとする課題】
【００１１】
したがって、本発明は、とりわけ、意図される動きを消去することなしに、望ましくない動きを除去するように、ボタンクリック時、およびその他のアクション時のポインタデータを処理するための方法およびデバイスを説明する。
【課題を解決するための手段】
【００１２】
本発明の1つの例示的な実施形態によれば、自由空間ポインティングデバイスを動作させるための方法は、自由空間ポインティングデバイスの動きを感知して、その動きに関連する出力を生成するステップと、イベントの出現を検出するステップと、自由空間ポインティングデバイスの速度を測定し、自由空間ポインティングデバイスの速度が、所定の速度閾値を下回っている場合、イベントの検出された出現の後に感知された動き情報を破棄する、または弱めるステップと、自由空間ポインティングデバイスの速度が、所定の速度閾値を超えている場合、イベントの検出された出現の後に感知された動き情報をフィルタリングして、ユーザによって開始されたイベントに関連する意図されない動きを除去するステップとを含む。
【００１３】
本発明の別の例示的な実施形態によれば、自由空間ポインティングデバイスを動作させるための方法は、自由空間ポインティングデバイスの動きを感知して、その動きに関連する出力を生成するステップと、イベントの出現を検出し、イベントの検出後、所定の時間が経過するまで、出力を破棄する、または弱めるステップとを含む。
【００１４】
本発明のさらに別の例示的な実施形態によれば、自由空間ポインティングデバイスを動作させるための方法は、自由空間ポインティングデバイスの動きを感知して、その動きに関連する出力を生成するステップと、イベントの出現を検出するステップと、検出されたイベントに基づいて出力をフィルタリングするステップとを含む。
【００１５】
本発明のさらなる例示的な実施形態によれば、ハンドヘルドポインティングデバイスが、ハンドヘルドポインティングデバイスの動きを感知して、その動きに関連する出力を生成するためのモーションセンサと、イベントの出現を検出し、イベントの検出の後、所定の時間が経過すること、またはイベントの検出の後、ハンドヘルドポインティングデバイスが、所定の距離を移動することのいずれであれ、先に生じるまで、出力を破棄する、または弱めるための処理ユニットとを含む。
【００１６】
添付の図面は、本発明の例示的な諸実施形態を示す。
【発明を実施するための最良の形態】
【００１７】
本発明の以下の詳細な説明は、添付の図面を参照する。異なる図面における同一の符号は、同一または同様の要素を識別する。また、以下の詳細な説明は、本発明を限定しない。代わりに、本発明の範囲は、添付の特許請求の範囲によって定義される。
【００１８】
以下の説明のいくらかの文脈を提供するため、本発明が実施されることが可能な例示的な集約されたメディアシステム200をまず、図2に関連して説明する。しかし、本発明は、そのタイプのメディアシステムにおける実施に限定されず、より多い、またはより少ないコンポーネントがシステムに含まれることも可能であることが、当業者には理解されよう。システム200では、入出力(I/O)バス210が、メディアシステム200内のシステムコンポーネントを一緒に接続している。I/Oバス210は、メディアシステムコンポーネント間で信号を転送するための、いくつかの異なる機構および技術のいずれかを表す。例えば、I/Oバス210には、オーディオ信号を転送する適切な数の独立したオーディオ「パッチ」ケーブル、ビデオ信号を転送する同軸ケーブル、制御信号を転送する2線シリアル回線または無線周波数トランシーバ、その他のタイプの信号を転送する光ファイバまたは任意の他のルーティング機構が含まれることが可能である。
【００１９】
この例示的な実施形態では、メディアシステム200は、I/Oバス210に結合されたテレビ/モニタ212、ビデオカセットレコーダ(VCR)214、デジタルビデオディスク(DVD)レコーダ/再生デバイス216、オーディオ/ビデオチューナ218、およびコンパクトディスクプレーヤ220を含む。VCR214、DVD216、およびコンパクトディスクプレーヤ220は、単一のディスク、または単一のカセットデバイスであることが可能であり、あるいは代替的に、複数のディスク、または複数のカセットデバイスであってもよい。VCR214、DVD216、およびコンパクトディスクプレーヤ220は、独立したユニットであっても、一緒に一体化されてもよい。さらに、メディアシステム200は、マイク/スピーカシステム222、ビデオカメラ224、および無線I/O制御デバイス226を含む。本発明の例示的な実施形態によれば、無線I/O制御デバイス226は、以下に説明する例示的な諸実施形態の1つによる自由空間デバイスである。無線I/O制御デバイス226は、例えば、IRまたはRFの送信機またはトランシーバを使用してエンターテイメントシステム200と通信することができる。代替として、I/O制御デバイスは、配線を介してエンターテイメントシステム200に接続されることも可能である。
【００２０】
また、エンターテイメントシステム200は、システムコントローラ228も含む。本発明の1つの例示的な実施形態によれば、システムコントローラ228は、複数のエンターテイメントシステムデータソースから利用可能なエンターテイメントシステムデータを格納して、表示し、システムコンポーネントのそれぞれに関連する多種多様な機能を制御するように動作する。図2に示されるとおり、システムコントローラ228は、I/Oバス210を介して、必要に応じて、システムコンポーネントのそれぞれに直接に、または間接的に結合される。1つの例示的な実施形態では、I/Oバス210に加えて、またはI/Oバス210の代わりに、システムコントローラ228は、IR信号またはRF信号を介してシステムコンポーネントと通信することができる無線通信送信機(またはトランシーバ)を備えて構成される。制御媒体にかかわらず、システムコントローラ228は、以下に説明するグラフィカルユーザインタフェースを介してメディアシステム200のメディアコンポーネントを制御するように構成される。
【００２１】
図2にさらに示されるとおり、メディアシステム200は、様々なメディアソースおよびサービスプロバイダからメディアアイテムを受信するように構成されることが可能である。この例示的な実施形態では、メディアシステム200は、以下のソースのいずれか、またはすべてからメディア入力を受信し、オプションとして、以下のソースのいずれか、またはすべてに情報を送信する。すなわち、ケーブルブロードキャスト230、衛星ブロードキャスト232(例えば、サテライトディッシュを介する)、ブロードキャストテレビネットワーク234の超短波(VHF)または極超短波(UHF)の無線周波数通信(例えば、アンテナを介する)、電話網236、およびケーブルモデム238(またはインターネットコンテンツの別のソース)である。図2に関連して示され、説明されるメディアコンポーネントおよびメディアソースは、単に例示的であり、メディアシステム200は、この両方をより少なく、またはより多く含むことも可能であることが当業者には理解されよう。例えば、システムに対する他のタイプの入力には、AM/FMラジオおよび衛星ラジオが含まれる。
【００２２】
以上の例示的なエンターテイメントシステム、およびこのシステムに関連するフレームワークに関するさらなる詳細は、前段で参照により組み込まれている米国特許出願、「A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items」で見ることができる。代替として、本発明によるリモートデバイスは、他のシステム、例えば、例えば、ディスプレイ、プロセッサ、およびメモリシステムを含むコンピュータシステムと一緒に、または他の様々なシステムおよびアプリケーションと一緒に使用されることが可能である。
【００２３】
「背景技術」のセクションで述べたとおり、自由空間ポインタとして動作するリモートデバイスが、本明細書の特別な関心対象である。そのようなデバイスは、動き、例えば、ジェスチャを、ユーザインタフェースに対するコマンドに変換することを可能にする。例示的な自由空間ポインティングデバイス400が、図3に示されている。図3では、自由空間ポインティングのユーザの動きが、例えば、自由空間ポインティングデバイス400のx軸姿勢(ロール)モーション、y軸エレベーション(ピッチ)モーション、および/またはz軸方位(ヨー)モーションの組み合わせに関して定義されることが可能である。加えて、本発明の一部の例示的な実施形態は、x軸、y軸、およびz軸に沿った自由空間ポインティングデバイス400の直線の動きを測定して、カーソルの動き、または他のユーザインタフェースコマンドを生成することもできる。図3の例示的な実施形態では、自由空間ポインティングデバイス400は、2つのボタン402および404、ならびにスクロールホイール406を含むが、他の例示的な諸実施形態は、他の物理的構成を含む。本発明の例示的な諸実施形態によれば、自由空間ポインティングデバイス400は、ディスプレイ408の前方でユーザによって把持され、自由空間ポインティングデバイス400の動きが、自由空間ポインティングデバイスによって、例えば、ディスプレイ408上のカーソル410を動かすように、ディスプレイ408上で表示される情報と対話するのに使用可能な出力に変換されるものと予期される。例えば、y軸を中心とする自由空間ポインティングデバイス400の回転が、自由空間ポインティングデバイス400によって感知されて、ディスプレイ408のy2軸に沿ってカーソル410を動かすようにシステムが使用できる出力に変換されることが可能である。同様に、z軸を中心とする自由空間ポインティングデバイス408の回転が、自由空間ポインティングデバイス400によって感知されて、ディスプレイ408のx2軸に沿ってカーソル410を動かすようにシステムが使用できる出力に変換されることが可能である。自由空間ポインティングデバイス400の出力は、カーソルの動き以外(またはそれに加えて)のいくつかの形で、ディスプレイ408と対話するのに使用されることが可能であり、例えば、出力は、カーソルフェージング、音量、またはメディアトランスポート(再生、一時停止、早送り、および巻き戻し)を制御することができることが理解されよう。入力コマンドは、カーソルの動きに加えて、操作、例えば、ディスプレイの特定の領域に対するズームインまたはズームアウトを含むことが可能である。カーソルは、可視であっても、可視でなくてもよい。同様に、自由空間ポインティングデバイス400のx軸を中心として感知される自由空間ポインティングデバイス400の回転が、y軸回転および/またはz軸回転に加えて、またはそれらの回転の代替として使用されて、ユーザインタフェースに入力を与えることも可能である。
【００２４】
本発明の1つの例示的な実施形態によれば、2つの回転センサ502および504、ならびに1つの加速度計506が、図4に示されるとおり、自由空間ポインティングデバイス400内のセンサ群として使用されることが可能である。回転センサ502および504は、例えば、アナログデバイシーズによって製造されるADXRS150センサまたはADXRS401センサを使用して実施されることが可能である。他のタイプの回転センサも、回転センサ502および504として使用されることが可能であり、ADXRS150およびADXRS401は、単に例示的な例として使用されていることが当業者には理解されよう。従来のジャイロスコープとは異なり、ADXRS150回転センサは、MEMS技術を使用して、1方向に沿ってだけ共鳴することが可能なようにフレームに取り付けられた共鳴する質量をもたらす。共鳴する質量は、センサが固定された筐体が、センサの感知軸を中心に回転させられると、ずれる。そのずれが、コリオリの加速効果を使用して測定されて、感知軸に沿った回転に関連する角速度が算出されることが可能である。回転センサ502および504が、単一の感知軸を有する(例えば、ADXRS150のように)場合、センサ502および504は、センサ502および504の感知軸が、測定されるべき回転と揃えられるように自由空間ポインティングデバイス400内に装着されることが可能である。本発明のこの例示的な実施形態の場合、このことは、図4に示されるとおり、回転センサ504は、センサ504の感知軸がy軸と平行になるように装着され、回転センサ502は、センサ502の感知軸がz軸と平行になるように装着されることを意味する。しかし、回転センサ502および504の感知軸を、所望される測定軸と平行になるように揃えることは、本発明の例示的な諸実施形態が、軸間のオフセットを補償するための技術も提供するので、要求されないことに留意されたい。
【００２５】
本発明による例示的な自由空間ポインティングデバイス400を実施する際に直面する1つの課題は、あまりにも高価ではない一方で、自由空間ポインティングデバイス400の動き、ユーザインタフェースが、自由空間ポインティングデバイスのその特定の動きにどのように反応するかに関するユーザの期待、およびその動きに応答する実際のユーザインタフェースパフォーマンスの間における高い度合いの相互関係をもたらすコンポーネント、例えば、回転センサ502および504を使用することである。例えば、自由空間ポインティングデバイス400が動いていない場合、ユーザは、カーソルがスクリーン上をドリフトすべきではないと期待する可能性が高い。同様に、ユーザが、自由空間ポインティングデバイス400を、純粋にy軸を中心に回転させた場合、ユーザは、ディスプレイ408上のもたらされるカーソルの動きが、有意なx2軸成分は全く含むことを期待しない可能性が高い。本発明の例示的な諸実施形態の以上、およびその他の態様を実現するのに、様々な測定および計算が、ハンドヘルドデバイス400によって実行され、それらの測定および計算は、センサ502、504、および506の1つまたは複数の出力を調整するのに、かつ/またはプロセッサによって入力の一部として使用されて、センサ502、504、および506の出力に基づき、ユーザインタフェースに関する適切な出力が算出される。それらの測定および計算は、広くは、以下の2つのカテゴリに入る要因を補償するのに使用される。すなわち、(1)自由空間ポインティングデバイス400に固有の要因、例えば、デバイス400内で使用される特定のセンサ502、504、および506に関連する誤差、またはデバイス400内にセンサが装着されている仕方に関連する誤差、および(2)自由空間ポインティングデバイス400に固有ではなく、代わりに、ユーザが、自由空間ポインティングデバイス400を使用する仕方、例えば、直線加速度、傾き、および微動に関連する要因である。それらの効果のそれぞれに対処するための例示的な技術を以下に説明する。
【００２６】
本発明の例示的な諸実施形態による自由空間ポインティングデバイスの一般的な動作を説明するプロセスモデル600が、図5に示されている。回転センサ502および504、ならびに加速度計506は、周期的に、例えば、毎秒200サンプル、サンプリングされるアナログ信号を生成する。この説明では、それらの入力のセットは、(x,y,z,αy,αz)という表記を使用して示され、x、y、zは、x軸方向、y軸方向、およびz軸方向における自由空間ポインティングデバイスの加速にそれぞれ関連する例示的な3軸加速度計506のサンプリングされた出力値であり、αyは、y軸を中心とする自由空間ポインティングデバイスの回転に関連する回転センサ502からのサンプリングされた出力値であり、αzは、z軸を中心とする自由空間ポインティングデバイス400の回転に関連する回転センサ504からのサンプリングされた出力値である。
【００２７】
加速度計506からの出力がもたらされ、加速度計506が、アナログ出力をもたらす場合、その出力は、A/D変換器(図示せず)によってサンプリングされ、デジタル化されて、サンプリングされた加速度計出力602が生成される。サンプリングされた出力値は、変換ファンクション604によって示されるとおり、生の単位から、加速度の単位に、例えば、重力加速度(g)に変換される。加速度較正ブロック606が、変換ファンクション604のために使用される値をもたらす。加速度計出力602のこの較正には、例えば、加速度計506に関連するスケール誤差、オフセット誤差、および軸合わせ不良誤差の1つまたは複数の補償が含まれることが可能である。加速度計データの例示的な補償は、以下の数式を使用して実行されることが可能である。すなわち、
A=S*((M-P).*G(T)) (1)
ただし、Mは、サンプリングされた出力値(x,y,z)から成る3×1列ベクトルであり、Pは、センサオフセットの3×1列ベクトルであり、Sは、スケール補償、軸合わせ不良補償とセンサ回転補償をともに含む3×3行列である。G(T)は、温度の関数である利得係数である。「*」演算子は、行列乗算を表し、「.」演算子は、要素乗算を表す。例示的な加速度計506は、+/-2gという例示的な最大範囲を有する。センサオフセット、Pは、0gの加速度計測定値の場合のセンサ出力、M指す。スケールは、サンプリングされた単位値とgの間の変換係数を指す。任意の所与の加速度計センサの実際のスケールは、例えば、製造のばらつきに起因して、それらの公称のスケール値からずれる可能性がある。したがって、前述の数式におけるスケール係数は、その偏差に比例する。
【００２８】
加速度計506のスケール偏差およびオフセット偏差は、例えば、1gの力を1つの軸に沿って加え、結果、R1を測定することによって測定されることが可能である。次に、1gの力が加えられて、測定値R2がもたらされる。個別の軸スケール、s、および個別の軸オフセット、pは、以下のとおり計算されることが可能である。すなわち、
s=(R1-R2)/2 (2)
p=(R1+R2)/2 (3)
この単純なケースでは、Pは、各軸に関するpの列ベクトルであり、Sは、各軸に関する1/sの対角行列である。
【００２９】
しかし、スケールおよびオフセットに加えて、加速度計506によって生成される読み取り値は、交差軸効果を被る可能性もある。交差軸効果には、例えば、加速度計506が自由空間ポインティングデバイス400内に装着された際に、加速度計506の感知軸の1つまたは複数が、慣性基準フレームにおける対応する軸と揃えられていない、合わせ不良の軸、または、例えば、軸は適切に揃えられているものの、純粋にy軸の加速力により、加速度計506のz軸に沿ったセンサ読み取り値がもたらされる可能性がある、加速度計506自体の機械加工に関連する機械的誤差が含まれる。以上の効果の両方とも、やはり、測定され、ファンクション606によって実行される較正に加えられることが可能である。
【００３０】
加速度計506は、本発明の例示的な諸実施形態による例示的な自由空間ポインティングデバイスにおいていくつかの目的を果たす。例えば、回転センサ502および504が、前述した例示的なコリオリ効果回転センサを使用して実施される場合、回転センサ502および504の出力は、各回転センサによって経験される直線加速度に基づいて異なる。このため、加速度計506の1つの例示的な使用は、直線加速度の違いによって生じさせられる、回転センサ502および504によって生成される読み取り値の変動を補償することである。これは、変換された加速度計読み取り値に利得行列610を掛けて、その結果から(またはその結果に)、対応するサンプリングされた回転センサデータ612を引くこと(または足すこと)によって達せられることが可能である。例えば、回転センサ502からのサンプリングされた回転データayが、ブロック614で、以下のとおり、直線加速度に関して補償されることが可能である。すなわち、
αy'=αy-C*A (4)
ただし、Cは、単位数/gで与えられる各軸に沿った直線加速度に対する回転センサ感受性の1×3行ベクトルであり、Aは、較正された直線加速度である。同様に、回転センサ504からのサンプリングされた回転データαzに関する直線加速度補償が、ブロック614でもたらされることが可能である。利得行列、Cは、製造上の違いに起因して、回転センサの間で異なる。Cは、多くの回転センサに関する平均値を使用して計算されてもよく、あるいは各回転センサに関してカスタム計算されてもよい。
【００３１】
加速度計データと同様に、サンプリングされた回転データ612は、次に、ファンクション616において、サンプリングされた単位値から、角回転の速度に、例えば、ラジアン/秒に関連する値に変換される。また、この変換ステップは、サンプリングされた回転データを、例えば、スケールおよびオフセットに関して、補償するファンクション618によってもたらされる較正を含むことも可能である。αyとαzの両方に関する変換/較正は、例えば、以下の数式を使用して達せられることが可能である。すなわち、
αrad/秒=(α'-offset(T))*scale+dOffset (5)
ただし、α'は、変換/較正される値を指し、offset(T)は、温度に関連するオフセット値を指し、scaleは、サンプリングされた単位値とラジアン/秒の間の変換係数を指し、dOffsetは、動的なオフセット値を指す。数式(5)は、行列式として実施されてもよく、その場合、scaleを除き、すべての変数はベクトルである。行列式の形態では、scaleは、軸合わせ不良および回転オフセット係数を補正する。これらの変数のそれぞれについて、以下により詳細に説明する。
【００３２】
オフセット値、offset(T)およびdOffsetは、いくつかの異なる形で算出されることが可能である。自由空間ポインティングデバイス400が、例えば、y軸方向で回転されていない場合、センサ502は、オフセット値を出力するはずである。しかし、そのオフセットは、温度によって非常に影響されている可能性があり、したがって、このオフセット値は、変動する可能性が高い。オフセット温度較正が、工場において実行されることが可能であり、その場合、offset(T)の値は、ハンドヘルドデバイス400に事前にプログラミングされることが可能であり、あるいは代替的に、オフセット温度較正は、デバイスの寿命中に動的に学習されることも可能である。動的オフセット補償を達するのに、温度センサ619からの入力が、回転較正ファンクション618において使用されて、offset(T)の現在の値が計算される。offset(T)パラメータは、センサ読み取り値からオフセットバイアスの大半を取り除く。しかし、0の動きにおいてほぼすべてのカーソルドリフトを無効にすることが、高性能のポインティングデバイスをもたらすのに役立つ可能性がある。したがって、追加の係数、dOffsetが、自由空間ポインティングデバイス400が使用されている間に、動的に計算されることが可能である。静止検出ファンクション608が、ハンドヘルドが静止している可能性が高い場合、およびオフセットが再計算されなければならない場合を判定する。したがって、静止検出ファンクション608を実施するための例示的な技術、および用法を以下に説明する。
【００３３】
dOffset計算の例示的な実施は、ローパスフィルタリングされた較正済みのセンサ出力を使用する。静止出力検出ファンクション608は、例えば、ローパスフィルタ出力の平均値の計算をトリガする指示を回転較正ファンクション618に与える。また、静止出力検出ファンクション608は、新たに計算された平均値が、dOffsetの既存の値にいつ繰り込まれるかも制御することができる。多数の異なる技術が、dOffsetの既存の値、および単純平均、ローパスフィルタリング、およびカルマンフィルタリングを含むが、以上には限定されない新たな平均から、dOffsetの新たな値を計算するために使用されることが可能であることが、当業者には認識されよう。さらに、回転センサ502および504のオフセット補償に関する多数の変種が使用されることが可能であることも、当業者には認識されよう。例えば、offset(T)ファンクションは、定数値(例えば、温度で変化しない)を有することが可能であり、2つより多くのオフセット補償値が、使用されることが可能であり、かつ/または単一のオフセット値だけが、オフセット補償のために計算/使用されることが可能である。
【００３４】
ブロック616における変換/較正の後、ファンクション620において、回転センサ502および504からの入力は、それらの入力を回転させて、慣性基準フレームに入れるように、すなわち、ユーザが自由空間ポインティングデバイス400を把持している仕方に関連する傾きを補償するように、さらに処理されることが可能である。傾き補正は、本発明による自由空間ポインティングデバイスの使用パターンの違いを補償するように意図されているので、本発明の一部の例示的な諸実施形態の別の重要な態様である。より具体的には、本発明の例示的な諸実施形態による傾き補償は、複数のユーザが、異なるx軸回転位置でポインティングデバイスを手に把持するが、自由空間ポインティングデバイス400内の回転センサ502および504の感知軸は、固定であるという事実を補償することを意図している。ディスプレイ408上のカーソルの並進は、ユーザが自由空間ポインティングデバイス400を握る仕方に実質的に左右されない、例えば、ユーザが自由空間ポインティングデバイス400を把持している向きにかかわらず、ディスプレイ508の水平の次元(x2軸)におおむね対応する形で行き来するように自由空間ポインティングデバイス400を回転させることは、x2軸に沿ったカーソルの並進をもたらすべきであるのに対して、ディスプレイ508の垂直の次元(y2軸)におおむね対応する形で上下するように自由空間ポインティングデバイスを回転させることは、y2軸に沿ったカーソルの並進をもたらすべきであることが望ましい。
【００３５】
本発明の例示的な諸実施形態による傾き補償の必要性をよりよく理解するため、図6(a)に示された例を考慮されたい。図6(a)では、ユーザは、自由空間ポインティングデバイス400を、0度のx軸回転値を有するものとして定義されることが可能な例示的な慣性基準フレームにおいて把持しており、例えば、慣性基準フレームは、自由空間ポインティングデバイスの底部が、例えば、テレビが配置されている部屋のフロアに実質的に平行になっているフレームであることが可能である。慣性基準フレームは、単に例として、図6(a)に示された向きに対応することが可能であり、あるいは他の任意の向きとして定義されることが可能である。y軸方向またはz軸方向における自由空間ポインティングデバイス400の回転は、回転センサ502および504によってそれぞれ感知される。例えば、図6(b)に示される、量Δzだけのz軸を中心とした自由空間ポインティングデバイス400の回転は、ディスプレイ408上のx2軸次元における対応するカーソルの並進、Δx2(すなわち、カーソル410の破線バージョンと破線でないバージョンの間の距離)をもたらす。
【００３６】
他方、ユーザが、自由空間ポインティングデバイス400を異なる向きで、例えば、慣性基準フレームに対していくらかの量のx軸回転で把持した場合、センサ502および504によってもたらされる情報は、ユーザによって意図されるインタフェースアクションの正確な表現をもたらさない(傾き補償がない)。例えば、図6(c)を参照して、ユーザが、図6(a)に示されるとおり、例示的な慣性基準フレームに対して45度のx軸回転で自由空間ポインティングデバイス400を把持する状況を考慮されたい。同一のz軸回転Δzが、図6(b)の実施例におけるように、ユーザによって自由空間ポインティングデバイス400に与えられるものと想定すると、カーソル410は、図6(d)で示されるとおり、代わりに、x2軸方向とy2軸方向の両方で並進させられる。これは、回転センサ502の感知軸が、現時点で、y軸とz軸の間の向きにされている(ユーザの手の中のデバイスの向きのため)という事実に起因する。同様に、回転センサ504の感知軸もまた、y軸とz軸の間の向きにされている(ただし、異なる象限における)。自由空間ポインティングデバイス400がどのように把持されているかに関してユーザにトランスペアレントなインタフェースを提供するため、本発明の例示的な諸実施形態による傾き補償は、回転センサ502および504から出力された読み取り値を、それらのセンサからの読み取り値を処理して、自由空間ポインティングデバイス400の回転モーションを示す情報にすることの一環として、変換して慣性基準フレームに戻す。
【００３７】
本発明の例示的な諸実施形態によれば、図5に戻ると、以上のことは、ファンクション622において、加速度計506から受け取られる入力yおよび入力zを使用して自由空間ポインティングデバイス400の傾きを算出することにより、達せられることが可能である。より具体的には、加速度データは、前述したとおり、変換され、較正された後、LPF624においてローパスフィルタリングされて、平均加速度(重力加速度)値を傾き算出ファンクション622に与えることが可能である。次に、傾きθが、ファンクション622において以下のとおり計算されることが可能である。すなわち、
【００３８】
【数１】
2007535774.tif 000003
【００３９】
値θは、0による除算を防止するようにatan2(y,z)として数値的に計算されて、正しい符号を与えることが可能である。次に、ファンクション620が、以下の数式を使用して、変換/較正済みの入力αyおよびαzの回転Rを実行して、
【００４０】
【数２】
2007535774.tif 000004
【００４１】
変換/較正済みの入力αyおよびαzを回転させて、傾きθを補償することができる。この例示的な実施形態で説明される傾き補償は、以下に説明する本発明の別の例示的な実施形態による、筐体基準フレームからのセンサ読み取り値をユーザの基準フレームに変換するためのより一般的な技術のサブセットである。
【００４２】
較正済みのセンサ読み取り値が、直線加速度に関して補償され、自由空間ポインティングデバイス400の角回転を示す読み取り値になるように処理され、傾きに関して補償されると、ブロック626および628で後処理が実行されることが可能である。例示的な後処理には、人間の微動などの様々な要因の補償が含まれることが可能である。微動は、いくつかの異なる方法を使用して除去されることが可能であるが、微動を除去する1つのやり方は、ヒステリシスを使用することによる。回転ファンクション620によってもたらされた角速度が、角位置をもたらすように組み込まれる。較正された大きさのヒステリシスが、次に、角位置に適用される。ヒステリシスブロックの出力の微分が行われて、角速度が再びもたらされる。結果の出力が、次に、ファンクション628においてスケーリングされて(例えば、サンプリング周期に基づき)、インタフェース内の結果、例えば、ディスプレイ408上のカーソル410の動きを生じさせるのに使用される。
【００４３】
本発明による例示的な自由空間ポインティングデバイスのプロセス説明を提供したので、図7は、例示的なハードウェアアーキテクチャを示す。図7では、プロセッサ800が、スクロールホイール802、JTAG804、LED806、スイッチマトリックス808、IR光検出器810、回転センサ812、加速度計814、およびトランシーバ816を含む、自由空間ポインティングデバイスの他の要素と通信する。スクロールホイール802は、ユーザが、スクロールホイール802を時計方向に、または反時計方向に回転させることによってインタフェースに入力を与えることを可能にするオプションの入力コンポーネントである。JTAG804は、プログラミング‐デバッグインタフェースをプロセッサに与える。LED806は、例えば、ボタンが押されると、視覚的フィードバックをユーザに与える。スイッチマトリックス808は、入力、例えば、自由空間ポインティングデバイス400上のボタンが押し下げられた、または解放されたという指示を受け取り、それらの入力は、次に、プロセッサ800に転送される。例示的な自由空間ポインティングデバイスが、他のリモコンからのIRコードを知ることを可能にするオプションのIR光検出器810が、提供されることが可能である。回転センサ812は、例えば、前述したとおり、自由空間ポインティングデバイスのy軸回転およびz軸回転に関する読み取り値をプロセッサ800に与える。加速度計814は、例えば、傾き補償を実行し、直線加速度が、回転センサ812によって生成される回転読み取り値に導入する誤差を補償するように、前述したとおり使用されることが可能な、自由空間ポインティングデバイス400の直線加速度に関する読み取り値をプロセッサ800に与える。トランシーバ816が、自由空間ポインティングデバイス400との間で、例えば、システムコントローラ228に、またはコンピュータに関連するプロセッサに情報を通信するのに使用される。トランシーバ816は、例えば、短距離無線通信のためにBluetooth標準に準拠して動作する無線トランシーバ、または赤外線トランシーバであることが可能である。代替的に、自由空間ポインティングデバイス400は、有線接続を介してシステムと通信することもできる。
【００４４】
図4の例示的な実施形態では、自由空間ポインティングデバイス400は、2つの回転センサ502および504、ならびに加速度計506を含む。しかし、本発明の別の実施形態によれば、自由空間ポインティングデバイスは、代替的に、例えば、z軸方向の角速度を測定するための1つだけの回転センサと、加速度計とを含むことも可能である。そのような例示的な実施形態の場合、前述したのと同様の機能が、加速度計を使用して、回転センサによって感知されない軸に沿った角速度を測定することによって提供されることが可能である。例えば、y軸を中心とする回転速度は、加速度計によって生成されたデータを使用し、以下を計算して、計算されることが可能である。すなわち、
【００４５】
【数３】
2007535774.tif 000005
【００４６】
加えて、回転センサによって測定されない寄生加速度効果も、除去されなければならない。それらの効果には、実際の直線加速度、回転速度および回転加速度に起因して測定された加速度、および人間の微動に起因する加速度が含まれる。
【００４７】
簡単に前述したとおり、静止検出ファンクション608は、自由空間ポインティングデバイス400が、例えば、静止しているか、またはアクティブである(動いている)かを判定するように動作することができる。この分類は、いくつかの異なる仕方で実行されることが可能である。1つの仕方は、本発明の例示的な実施形態によれば、所定のウインドウ、例えば、毎1/4秒にわたって、すべての入力(x,y,z,αy,αz)のサンプリングされた入力データの分散を計算することである。その分散が、次に、閾値と比較されて、自由空間ポインティングデバイスが、静止している、またはアクティブであると分類される。
【００４８】
本発明の例示的な諸実施形態による別の静止検出技術には、例えば、入力データに高速フーリエ変換(FFT)を実行することにより、入力を周波数ドメインに変換することがかかわる。次に、そのデータが、例えば、ピーク検出方法を使用して分析されて、自由空間ポインティングデバイス400が静止しているか、またはアクティブであるかが判定されることが可能である。さらに、第3のカテゴリ、具体的には、ユーザが、自由空間ポインティングデバイス400を把持しているが、デバイス400を動かしていないケース(本明細書では、「安定した」状態とも呼ばれる)が、区別されることが可能である。この第3のカテゴリは、自由空間ポインティングデバイス400がユーザによって把持されている場合にユーザの手の微動によって導入される、自由空間ポインティングデバイス400の小さい動きを検出することにより、静止(把持されていない)およびアクティブから区別されることが可能である。また、ピーク検出も、この判定を行うのに、静止検出ファンクション608によって使用されることが可能である。人間の微動周波数の範囲内、例えば、公称で8〜12Hzの範囲内のピークは、通常、およそ20dBだけ、デバイスの雑音フロア(デバイスが静止しており、把持されていない場合に生じる)を超える。
【００４９】
以上の例では、周波数ドメインの変動が、特定の周波数範囲内で検出されたが、監視され、自由空間ポインティングデバイス400のステータスを特徴付けるのに使用される実際の周波数範囲は、様々である可能性がある。例えば、公称の微動周波数範囲は、例えば、自由空間ポインティングデバイス400のエルゴノミクスおよび重量に基づき、例えば、8〜12Hzから4〜7Hzに移る可能性がある。
【００５０】
本発明の別の例示的な実施形態によれば、静止検出機構608は、状態マシンを含むことが可能である。例示的な状態マシンが、図8に示されている。図8では、ACTIVE状態が、この実施例では、自由空間ポインティングデバイス400が動いており、例えば、ユーザインタフェースに入力を与えるのに使用されている間の既定の状態である。自由空間ポインティングデバイス400は、リセット入力によって示されるデバイスの起動時に、ACTIVE状態に入る。自由空間ポインティングデバイス400は、動くのを止めた場合、INACTIVE状態に入ることが可能である。図8に示される様々な状態遷移が、回転センサ502と回転センサ504のいずれか、または両方から出力されたデータ、加速度計506から出力されたデータ、時間ドメインデータ、周波数ドメインデータ、または以上の任意の組み合わせを含むが、以上には限定されない、いくつかの異なる基準のいずれかによってトリガされることが可能である。状態遷移条件は、「ConditionstateA→stateB」という規約を使用して、本明細書で一般的に示される。例えば、自由空間ポインティングデバイス400は、conditionactive→inactiveが生じると、ACTIVE状態からINACTIVE状態に遷移する。単に例示のため、conditionactive→inactiveは、例示的な自由空間ポインティングデバイス400では、回転センサと加速度計の両方からの平均偏差値および/または標準偏差値が、第1の所定の期間にわたって第1の所定の閾値を下回って低下した場合に生じるものと考慮されたい。ACTIVE状態にある場合、モーションセンサ(例えば、回転センサおよび/または加速度計)から受け取られたデータは、線形フィルタリング、カルマンフィルタリング、カルマン平滑化、状態空間推定、期待値最大化、またはその他のモデルベースの技術などの、1つまたは複数の処理技術を使用して、ユーザによって導入された意図的な動きに関連する第1のデータと、ユーザによって導入された意図的でない動き(微動)に関連する第2のデータに分けられることが可能である。第1のデータは、次に、ハンドヘルドデバイスの意図される動き(例えば、カーソルの動きをサポートする)に関連する出力を生成するようにさらに処理されることが可能であるのに対して、第2のデータは、上記の参照により組み込まれる特許出願において詳細に説明するとおり、例えば、ユーザ識別のために、微動入力として使用されることが可能である。
【００５１】
状態遷移は、解釈されたセンサ出力に基づく、いくつかの異なる条件によって判定されることが可能である。例示的な条件メトリックは、時間ウインドウにわたる解釈された信号の変動、基準値と、時間ウインドウにわたる解釈された信号との間の閾値、基準値と、時間ウインドウにわたるフィルタリング済みの解釈された信号との間の閾値が含まれ、基準値と、開始時からの解釈された信号との間の閾値が、状態遷移を判定するのに使用されることが可能である。以上の条件メトリックのすべて、または任意の組み合わせが、状態遷移をトリガするのに使用されることが可能である。代替的に、他のメトリックも使用されることが可能である。本発明の1つの例示的な実施形態によれば、INACTIVE状態からACTIVE状態への遷移は、(1)時間ウインドウにわたるセンサ出力の平均値が、所定の閾値より大きい場合、または(2)時間ウインドウにわたるセンサ出力の値の変動が、所定の閾値より大きい場合、または(3)センサ値の間の瞬間デルタが、所定の閾値より大きい場合に生じる。
【００５２】
INACTIVE状態は、自由空間ポインティングデバイス400が依然、使用されている、例えば、1/10秒のオーダの、短い休止と、安定した条件または静止条件への実際の遷移とを、静止検出機構608が区別することを可能にする。これにより、以下に説明するSTABLE状態中、およびSTATIONARY状態中に実行されるファンクションが、自由空間ポインティングデバイスが使用されている間に、意図せずに実行されることが防止される。自由空間ポインティングデバイス400は、conditionactive→inactiveが生じた場合、例えば、自由空間ポインティングデバイス400が、再び動くことを始めて、回転センサおよび加速度計からの測定された出力が、INACTIVE状態で第2の所定の期間が経過する前に第1の閾値を超えた場合、ACTIVE状態に戻るように遷移する。
【００５３】
自由空間ポインティングデバイス400は、第2の所定の期間が経過した後、STABLE状態またはSTATIONARY状態に遷移する。前述したとおり、STABLE状態は、人によって把持されているが、実質的に動いていないという自由空間ポインティングデバイス400の特徴付けを反映する一方で、STATIONARY状態は、人によって把持されていないという自由空間ポインティングデバイスの特徴付けを反映する。このため、本発明による例示的な状態マシンは、手の微動に関連する最小の動きが存在する場合、第2の所定の期間が経過した後に、STABLE状態への遷移を可能にし、さもなければ、STATIONARY状態への遷移を可能にすることができる。
【００５４】
STABLE状態およびSTATIONARY状態は、自由空間ポインティングデバイス400が、様々なファンクションを実行することができる時間を定義する。例えば、STABLE状態は、ユーザが、自由空間ポインティングデバイス400を把持しているが、デバイス400を動かしていない時間を反映することを意図しているので、デバイスは、自由空間ポインティングデバイス400がSTABLE状態にある間の、自由空間ポインティングデバイス400の動きを、例えば、回転センサおよび/または加速度計からの出力を、STABLE状態にある最中に格納することにより、記録することができる。それらの格納された測定値は、以下に説明するとおり、特定のユーザまたはユーザらに関連する微動パターンを判定するのに使用されることが可能である。同様に、STATIONARY状態にある間、自由空間ポインティングデバイス400は、前述したとおり、オフセットを補償する際に使用するために、回転センサおよび/または加速度計からの読み取り値を得ることができる。
【００５５】
自由空間ポインティングデバイス400が、STABLE状態またはSTATIONARY状態にある間に、動くことを始めた場合、これにより、ACTIVE状態に戻ることがトリガされることが可能である。さもなければ、測定が行われた後、デバイスは、SLEEP状態に遷移することができる。スリープ状態にある間、デバイスは、自由空間ポインティングデバイスの電力消費量が低減され、例えば、回転センサおよび/または加速度計のサンプリングレートも低減されるパワーダウンモードに入ることができる。また、SLEEP状態には、外部コマンドを介して入ることも可能であり、したがって、ユーザ、または別のデバイスが、SLEEP状態に入るよう自由空間ポインティングデバイス400に命令することができる。
【００５６】
別のコマンドを受け取ると、または自由空間ポインティングデバイス400が動くことを始めると、デバイスは、SLEEP状態からWAKEUP状態に遷移することができる。INACTIVE状態と同様に、WAKEUP状態は、ACTIVE状態への遷移が妥当であること、例えば、自由空間ポインティングデバイス400が、意図せずに突き動かされていないことをデバイスが確認する機会を提供する。
【００５７】
状態遷移のための諸条件は、対称的であっても、異なってもよい。このため、conditionactive→inactiveに関連する閾値は、conditioninactive→activeに関連する閾値と同一である(または異なる)ことが可能である。これにより、本発明による自由空間ポインティングデバイスが、ユーザ入力をより正確にキャプチャすることが可能になる。例えば、状態マシンインプリメンテーションを含む例示的な諸実施形態は、とりわけ、静止条件に入る遷移に関する閾値が、静止条件から出る遷移に関する閾値とは異なることを許す。
【００５８】
ある状態に入ること、またはある状態を離れることは、他のデバイスファンクションをトリガするのに使用されることも可能である。例えば、ユーザインタフェースが、任意の状態からACTIVE状態への遷移に基づいて起動されることが可能である。逆に、自由空間ポインティングデバイスおよび/またはユーザインタフェースが、ACTIVEまたはSTABLEからSTATIONARYまたはINACTIVEに自由空間ポインティングデバイスが遷移すると、オフにされる(またはスリープモードに入る)ことも可能である。代替的に、カーソル410が、自由空間ポインティングデバイス400の静止状態からの遷移、または静止状態への遷移に基づき、表示されること、またはスクリーンから除去されることも可能である。
【００５９】
本発明の例示的な諸実施形態によれば、感知された動きを処理するための諸技術は、例えば、ボタン作動などの、他のユーザ‐デバイス対話、および/または微動に起因する望ましくない効果を除去する。一般に、図9に示されるとおり、システムへの入力は、ハンドヘルドの自由空間ポインティングデバイスの人間の動きである。その動きが、デバイスによって感知され(ブロック910)、例えば、ブロック912で、代表的な動きになるように処理される。この処理の詳細な実施例は、前段で説明した。しかし、本発明のそれらの例示的な実施形態は、前述した例示的なハンドヘルドの自由空間ポインティングデバイス400における応用に限定されず、他のハンドヘルドデバイス、例えば、他のタイプの動きセンサを使用する自由空間ポインティングデバイスも含むことを明確に意図していることに留意されたい。代表的な動きは、次に、意味のある表現に変換され(ブロック914)、この表現は、ブロック916で、本発明の例示的な諸実施形態による例示的な「人的要因」技術によって処理される。本明細書で説明される例示的な実施形態では、人的要因処理916の出力は、次に、例えば、2Dポインタの動きにマップされる。処理された動きは、次に、ハンドヘルドデバイスによって出力され、その動きの例が、スクリーン上のポインタの動きを制御するのに使用されることが可能なデータである。
【００６０】
本発明のこの例示的な実施形態は、ボタンクリックを含む、ユーザによって開始されたイベント中の動きを処理するための様々な異なる技術を含む。第1の例示的な実施形態によれば、ユーザアクション、例えば、ボタンクリックが行われた後、モーションセンサ、例えば、回転センサ、加速度計、磁力計、ジャイロスコープ、カメラ、または以上の任意の組み合わせによって生成された動き情報を処理するのに、距離閾値と時間閾値がともに使用される。距離だけでは、ボタンクリック中に安定しているとともに応答性のよいポインタをもたらすのに十分でない可能性がある。ハンドヘルドデバイスによってボタンの押し下げが検出されると、916からの出力されたポインタの動きは、距離が距離閾値を超えるまで、または経過した時間の量が時間閾値を超えるまで、抑圧される。距離閾値と時間閾値のいずれか、または両方が、例えば、ボタン押し下げアクションとボタン解放アクションに関して異なる可能性がある。例示的なボタン処理は、オプションとして、コマンドをハンドヘルドに送ることによって無効にされてもよい。この文脈では、距離とは、物理的デバイスの移動距離、センサによって検出された、動かされた角、および/またはポインタが動いた距離(処理済の以前のデータ)を指す。
【００６１】
また、異なるボタンが、互いに異なる閾値を有することも可能である。ボタンクリック中にハンドヘルドが経験する動きの量は、ユーザ、ボタン作動の力、ボタン移動距離、および支持体(通常、ユーザの手)のハンドヘルド中心に対するボタンの位置を含むが、以上には限定されない、いくつかの要因に依存する。ボタン動き処理パラメータは、各ボタンのパフォーマンスを最適化するように個々に設定されてもよい。加えて、パラメータは、セッション履歴に基づき、またはユーザがシステムに知られている場合、ユーザに基づき、学習されることも可能である。
【００６２】
さらに、人的要因処理ファンクション916が、ハンドヘルドデバイスの過去の動きの履歴を格納し、追跡することが可能である。例えば、ボタンが押し下げられたことをハンドヘルドデバイスが検出すると、ハンドヘルドデバイス内の処理ユニットが、ユーザによって開始されたボタンイベントより前の時点まで後退することができる。ボタンを物理的に作動させることは、心理学的試験および動的デバイス測定によって判定されることが可能な、不定の測定可能な時間を要する。ボタンが作動させられると、デバイスは、ボタン作動が行われる間/行われた後にモーションセンサから取り込まれたデータサンプルを削除することにより、ボタン作動が行われたのより前の状態に戻ることができる。したがって、ボタン押し下げ中に生じた不規則な動きが、無視され、「消去」される。例えば、検出されたボタン押し下げに応答して、ブロック916からの出力が、検出された位置P1(ボタン押し下げアクションの後に続く)から、呼び戻された位置P2まで変化することが可能であり、この位置P2は、所定の期間、ボタン押し下げアクション検出に先立ってブロック916によって、以前に出力されている。デバイスが、1つのボタンアクションを既に処理しており、別のボタンアクションが行われた際に、動きを依然として抑圧している場合、人的要因処理ファンクション916が、後退プロセスを繰り返すことは必要ない可能性がある。
【００６３】
ユーザインタフェースにおいて、少なくとも2つの通常のタイプのボタンアクティブ化が行われる可能性がある。図10に示される第1のタイプ(微細モードクリック)では、ユーザは、小さい目標の上の正確な作動を意図し、デバイスを注意深く位置合わせし、動きを止め、次に、ボタンを押し下げる。第2のタイプ(粗モードクリック)では、目標は、大きく、ユーザは、次のアクションを予期し、すなわち、ユーザは、目標の上で止める、またはさまようことなしに、ポインタを単に減速させ、代わりに、「オンザフライ」で目標をクリックすることを目指すことができる。微細モードクリックの場合、前述した処理技術は、ハンドヘルドデバイス内のモーションセンサからの複合データ出力ストリームから、意図的でない動きデータを正確に除去するように動作する。しかし、第2のタイプの動きの場合、さらなる拡張が、パフォーマンスを向上させるのに役立つ可能性がある。
【００６４】
粗モードクリックによって提起されるさらなる課題に対処するため、人的要因処理ユニット916は、第2の代替の技術、または補足的な技術を使用することができる。この第2の例示的な実施形態によれば、モーションセンサから受け取られた動きデータが、動きベクトルになるように処理され、ユーザは、ボタン作動中に、カーソルの何らかの動きの変化、またはデバイスからの他の関連する出力を意図する可能性があるものと想定される。ニュートンの第1法則で知られているとおり、「運動している物体は、運動を続ける」。このため、ハンドヘルドデバイス上でボタンが押されると、そのことにより、経路から外れる高周波数の動きが生じる。動きベクトル、およびフィルタリングされた動き情報を使用して、ポインティングデバイスからの出力は、ユーザによって開始されたイベント中、またはそのイベントの後、それまでの動きの履歴と整合性のある形で継続することが可能である。これは、処理チェーンにフィルタを追加することによって達せられることが可能である。フィルタは、イベント自体に関連する高周波数の動きを排除しながら、ユーザによって開始されたイベント中、およびそのイベント後の、意図された動きを許すように設計される。ローパスフィルタリングなどの多くの処理方法が、高周波数成分の除去を可能にするが、待ち時間の増加という犠牲を払う。待ち時間(デバイスの動きと、ポインタが動く時点の間の時間)は、ユーザに重要である可能性があるので、本発明の例示的な諸実施形態は、ユーザによって開始されたイベントが検出されると(例えば、ユーザイベントをユーザインタフェースに伝えるのにハンドヘルドデバイスによって使用されるのと同一の信号に基づき)、信号処理パスに入るように切り替えられる適応フィルタを使用することができる。適応フィルタは、急な高周波数のボタン押し下げを弱めるローパスフィルタとして構成される。適応フィルタリングブロックへのさらなる入力は、ボタンが完全に跳ね返り制御される前に行われる、オプションのボタン活動前警告である。ボタン活動前警告は、その警告なしの場合よりも早期に、ボタンイベントが処理に通知されることを可能にすることにより、フィルタ待ち時間用件を少なくする。ボタン活動前警告を伴う適応フィルタは、意図される動きと待ち時間の間の技術上のトレードオフを最小限に抑える。
【００６５】
本発明のさらに別の例示的な実施形態によれば、自由空間ポインティングデバイスの設計者は、通常、望ましくない動きの方向を設計時に知っているので、動きの乱れの方向は、したがって、デバイスのエルゴノミクス、および意図される使用に基づいて分かる。例えば、設計者は、デバイスを基準としたボタン作動の方向を知っている。主要な動きは、ボタン移動ベクトルに平行な直線の動き、またはユーザグリップを中心とするトルクによる回転の動きから成る。その知識は、ボタン作動の動きの知識を含む方向選好フィルタの実施を可能にする。例えば、フィルタ設計は、カルマンフィルタや適応フィルタなどの状態空間フィルタを含むことが可能である。そのようなフィルタは、ボタン作動中に、知られている方向の意図される経路からの所望されない逸脱を検出し、次に、ボタン作動中に、所望される動きの経路を補間する。この選好フィルタリングは、意図されないボタンの動きを依然として除去しながら、方向の意図される変化中、より応答性のよいポインタをもたらす。状態空間フィルタは、通常の使用の過程で、設計パラメータを学習するように拡張されることが可能であることが、当業者には認識されよう。
【００６６】
本発明の例示的な諸実施形態による人的要因処理ファンクション916は、前述した技術のいずれか、または両方を実施することができ、両方が使用される場合、それらの技術の間で切り替えを行うクラシファイアを提供する。例えば、第1の正確なタイプのボタンクリックが検出された場合、第1の技術が使用されることが可能である。第2のそれほど正確でないボタンクリックが検出されると、第2の技術が使用されることが可能である。技術の間で切り替えを行うための1つのクラシファイアは、ボタン作動の時点における、またはボタン作動の直前の時点におけるハンドヘルドデバイスの速度を使用することができる。例えば、ハンドヘルドデバイスの速度が、所定の速度閾値を下回っている場合、ハンドヘルドデバイスが、所定の距離閾値を超えて動いたことをモーションセンサによって検出された動きが示すか、または所定の時間が経過するまで、検出されたイベントに続いて生成された動きデータを破棄する第1の技術が使用され、そうではなく、(b)ハンドヘルドデバイスの速度が、所定の速度を超えている場合、検出されたイベントに続いて生成された動きデータをフィルタリングする第2の技術が使用される。
【００６７】
以上の例示的な諸実施形態で述べたボタンクリックまたはボタン押し下げは、ボタン押し下げとボタン解放をともに含むが、以上には限定されない。以上の技術のすべては、望ましくない動きを生じさせる、いずれの既知のデバイス対話にも適用されることが可能であり、ボタンクリックに限定されない。例えば、以上の諸技術は、スクロールホイール作動、タッチパッド使用、または容量性ストリップにも適用されることが可能である。このため、本発明の例示的な諸実施形態は、別のイベントをアクティブにすること、または非アクティブにすることに基づいて生じる不要な動きを取り消すための方法およびデバイスを説明する。
【００６８】
前述した方法に関するパラメータは、イベントに関する予期される動き特性をサポートするように適合されることが可能である。例示的な実施形態では、ボタン押し下げに関するパラメータは、ボタン解放に関するパラメータとは異なることが可能である。動きの取り消しに加えて、ユーザインタフェースは、本発明によるユーザイベントの扱いに、さらなる制約を課す、または示唆することができる。例えば、Microsoft Windows(登録商標)オペレーティングシステムでは、ボタンが押し下げられている間にカーソルが動いた場合、「ドラッグ」アクションが開始される。したがって、ユーザによるボタン押し下げアクションに応答する動きデータ処理に関連するパラメータは、不要なドラッグイベントを防止するために、ボタン作動中のポインタの動きを制限する傾向がある値を有することが可能である。これとは対照的に、Microsoft Windows(登録商標)オペレーティングシステムにおけるボタン解放後のカーソルの動きは、ユーザインタフェースにおけるオブジェクトに対してほとんど影響を与えず、したがって、本発明による例示的な動きデータ処理は、ボタン押し下げに続く動きデータ処理に関連する、対応するパラメータと比べて、ポインタの動きをそれほど制限しない傾向にあるパラメータ(例えば、時間閾値および/または距離閾値、フィルタ係数、その他)を使用することが可能である。
【００６９】
動きは、不要なボタンの動きを除去するのに役立つ、いくつかの異なる形で、速度ドメインまたは位置ドメインにおいて処理されることが可能である。速度ドメインにおける単純なフィルタリングが使用されてもよい。フィルタは、FIRフィルタまたはIIRフィルタであることが可能であるが、それらのフィルタは、望ましくない量の処理遅延を生じさせる可能性がある。適応フィルタが、それほど多くの遅延を生じさせずに、うまく使用されることが可能である。
【００７０】
本発明の例示的な諸実施形態は、カルマンフィルタ(または拡張されたカルマンフィルタ)としても実施されることが可能である。カルマンフィルタは、最も可能性の高い使用シナリオ(静止している、または動いている)を選択し、適切な動きを適用することができる。ニューラルネットワークが、同一の結果のために使用されることが可能である。このため、本発明は、(a)イベントが生じたことを検出するため、(b)ユーザの意図する動きを推測するため、および(c)ハンドヘルドデバイスの実際の動きではなく、ユーザの意図する動きを解釈するための方法を提供することが理解されよう。動きは、6DOF自由空間ドメイン、またはマップされた2DOFポインティングドメインにおいてであることが可能である。6DOF自由空間ドメインは、デバイスの筐体基準フレーム、またはユーザの基準フレームにあることが可能である。
【００７１】
本発明の別の例示的な実施形態によれば、ユーザによって開始されたイベントに関連する動きは、モデル化されて、モーションセンサから収集された動きデータに基づいてハンドヘルドデバイスから出力をもたらす動きの等式に明示的に含められることが可能である。より具体的には、ユーザによって開始されたイベントのボタン押し下げの例を使用すると、ボタン押し下げによって生じさせられる動きが、アプリオリにモデル化されて、ボタン押し下げアクションに関連する1つまたは複数の例示的な動きの大きさおよび方向が算出され、それらの値が、次に、ハンドヘルドデバイスのメモリユニットの中に格納されることが可能である。次に、ボタン押し下げが検出されると、ハンドヘルドデバイスの処理ユニットは、動きの等式におけるモデル化された動きを使用して、出力が、ボタン押し下げに関連していた、モーションセンサによって検出された動きではなく、ユーザの意図する動きを反映するように、出力を適応させることができる。処理ユニットは、モデル化された値を様々な異なる形で使用すること、例えば、それらの値を、検出された動きの値から引くこと、特定のユーザによって開始されたイベントに関連するモデル化された値に基づいて、検出された動きの値を弱めること、ハンドヘルドの出力に関連する意味マップを調整することなどができる。
【００７２】
例示的な実施形態に関して前述したパラメータのいずれか、またはすべてが、ユーザインタフェースの制御下で変更されることが可能である。ユーザインタフェースまたはアプリケーションは、ユーザが、細かい動きを意図していることをアプリオリに知っていることが可能であり、微細移動モードが有効にされているかのようにすべてのイベントを処理するよう、例示的な実施形態に命令することができる。加えて、減算、減衰、またはフィルタリングの量は、ユーザインタフェースまたはアプリケーションの制御下で調整されることが可能である。
【００７３】
本発明の例示的な諸実施形態によるデータを処理するためのシステムおよび方法は、メモリデバイスの中に含まれる命令シーケンスを実行する1つまたは複数のプロセッサによって実行されることが可能である。そのような命令は、2次データ記憶デバイスなどの、他のコンピュータ可読媒体から、メモリデバイスの中に読み込まれてもよい。メモリデバイスの中に含まれる命令シーケンスの実行により、プロセッサは、例えば、前述したとおり、動作するようにさせられる。代替の諸実施形態では、本発明を実施するのに、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、配線回路が使用されてもよい。
【００７４】
前述した例示的な諸実施形態は、すべての点で、本発明を制限するのではなく、例示することを意図している。このため、本発明は、当業者によって本明細書に含まれる説明から導き出されることが可能な、詳細な実施の多くの変形が可能である。例えば、以上の例示的な諸実施形態は、とりわけ、デバイスの動きを検出する慣性センサの使用を説明したが、前述した信号処理に関連して、慣性センサの代わりに、または慣性センサに加えて、他のタイプのセンサ(例えば、超音波、磁気、または光学)が使用されることも可能である。すべてのそのような変形形態および変更形態が、添付の特許請求の範囲によって定義される、本発明の範囲および趣旨に含まれるものと考えられる。本出願の説明において使用されるいずれの要素、動作、または命令も、特に明記しない限り、本発明に不可欠である、または必須であると解釈されてはならない。また、本明細書で使用する冠詞「a」は、1つまたは複数のアイテムを含むことを意図している。
【図面の簡単な説明】
【００７５】
【図１】エンターテイメントシステムのための従来のリモコンユニットを示す図である。
【図２】本発明の例示的な諸実施形態が実施されることが可能な、例示的なメディアシステムを示す図である。
【図３】本発明の例示的な実施形態による自由空間ポインティングデバイスを示す図である。
【図４】2つの回転センサと、1つの加速度計とを含む図4の自由空間ポインティングデバイスを示す破断図である。
【図５】本発明の例示的な実施形態による自由空間ポインティングデバイスに関連するデータの処理を示すブロック図である。
【図６ａ】傾きの効果を示す図である。
【図６ｂ】傾きの効果を示す図である。
【図６ｃ】傾きの効果を示す図である。
【図６ｄ】傾きの効果を示す図である。
【図７】本発明の例示的な実施形態による自由空間ポインティングデバイスのハードウェアアーキテクチャを示す図である。
【図８】本発明の例示的な実施形態による静止検出機構を示す状態図である。
【図９】本発明の例示的な実施形態による、検出された動きから意図的でない動きを除去するためのシステムを示すブロック図である。
【図１０】細かいボタンクリック、および粗いボタンクリックに関連する、検出された動きの様々な例を示す図である。
【符号の説明】
【００７６】
400  ポインティングデバイス
402、404  ボタン
406、802  スクロールホイール
408  ディスプレイ
410  カーソル
502、504、506、810、812、814  センサ
800  プロセッサ
804  JTAG
806  LED
808  スイッチマトリックス
816  トランシーバ
【図１】
2007535774.tif 000006
【図２】
2007535774.tif 000007
【図３】
2007535774.tif 000008
【図４】
2007535774.tif 000009
【図６Ａ】
2007535774.tif 000010
【図６Ｂ】
2007535774.tif 000011
【図６Ｃ】
2007535774.tif 000012
【図６Ｄ】
2007535774.tif 000013
【図７】
2007535774.tif 000014
【図８】
2007535774.tif 000015
【図９】
2007535774.tif 000016
【図１０】
2007535774.tif 000017
【国際調査報告】
2007535774.tif 000018