説明

加速度計を用いたユーザインタフェース装置および方法

本発明によるシステムおよび方法は、自由空間ポインティング装置、および、自由空間ポインティング装置の動きのユーザインタフェースコマンドへの、例えばカーソルの動きへの正確な変換を提供する自由空間ポインティングのための方法を提供することによって、これらのニーズおよび他に取り組む。本発明の典型的な実施形態によれば、自由空間ポインティング装置は複数の加速度計を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、メディアアイテム(media item)を組織化し、選択し、および送り出すためのフレームワーク(framework)を含む多数の異なるアプリケーションにおいて使用可能な自由空間ポインティング装置を説明する。
【0002】
本願は、発明の名称を「加速度計を用いたユーザインタフェース装置」とし、2003年10月23日に出願された米国仮特許出願第60/513,869号明細書に関連し、かつ当該出願による優先権を主張し、当該出願の開示は引用してここに組み込まれる。また、本願は、発明の名称を「自由空間ポインティング装置」とし、2004年4月30日に出願された米国仮特許出願第60/566,444号明細書に関連し、かつ当該出願による優先権を主張し、当該出願の開示は引用してここに組み込まれる。さらに、本願は、発明の名称を「自由空間ポインティング装置および方法」とし、2004年9月23日に出願された米国仮特許出願第60/612,571号明細書に関連し、かつ当該出願による優先権を主張し、当該出願の開示は引用してここに組み込まれる。
【背景技術】
【0003】
情報通信に関する技術は、最近数十年にわたって急速に発展してきた。(ほんのいくつかを挙げると)テレビ、携帯電話、インターネットおよび光通信技術が結合して消費者に利用可能な情報および娯楽の選択肢が氾濫している。テレビを例にとると、最近30年は、ケーブルテレビサービス、衛星テレビサービス、ペイパービュー映画およびビデオオンデマンドの導入が見られた。1960年代のテレビ視聴者は典型的に彼らのテレビ受像機で恐らく4または5の地上波TVチャンネルを受信することができたが、今日のTV視聴者は数百、数千、潜在的に数百万の番組および情報のチャンネルから選択する機会を有する。現在、主にホテル等で使用されているビデオオンデマンド技術は、数千の映画タイトルの中から構内での娯楽を選択する可能性を提供する。
【0004】
エンドユーザにたくさんの情報およびコンテンツを提供する技術的能力は、システム設計者およびサービス提供者に好機と難題の両方を与える。1つの難題は、エンドユーザは典型的に少ないよりむしろ多くの選択肢を有することを好むが、この好みは選択手順が早くかつ簡単であるという彼らの望みとつりあわされる。不運なことに、エンドユーザがそれによってメディアアイテムにアクセスするシステムおよびインタフェースの開発は、早くなく簡単でもない選択手順に帰着した。テレビ番組の例を再び考察する。テレビがその初期にあったとき、視聴する番組を決定することは、主として選択肢が少数のために比較的簡単な手順であった。視聴者は、例えば、(1)隣接するテレビチャンネル、(2)それらのチャンネルで放送される番組、(3)日付および時刻、の間の対応を示す一連の列および行として配列された、印刷されたガイドを調べた。テレビはチューナのつまみを調節することによって所望のチャンネルに合わされ、視聴者は選択された番組を視聴した。後に、視聴者が離れてテレビのチャンネルを合わせることを可能とするリモートコントロール装置が導入された。このユーザ・テレビ間のインタフェースの追加は、いつでもどのような番組が視聴できるかを手早く知るために、視聴者が多数のチャンネルで放送される短い部分を素早く見ることができる“チャンネルサーフィン”として知られる現象を生み出した。
【0005】
チャンネルの数および視聴可能なコンテンツの量が劇的に増加したという事実にもかかわらず、一般に利用可能なテレビのためのユーザインタフェース、制御装置の選択肢およびフレームワークは最近30年にわたってあまり変化していない。印刷されたガイドがいまだに番組情報を伝達するための最も普及した手段である。上下の矢印を有する複数ボタンのリモートコントロール装置がいまだに最も普及したチャンネル/コンテンツの選択手段である。利用可能なメディアコンテンツの増加に対するTVユーザインタフェースを設計および実装する者の反応は、既存の選択手順およびインタフェース対象の直接的な拡張であった。したがって、印刷されたガイドにおける行の数はより多くのチャンネルを収容するために増加した。リモートコントロール装置のボタンの数は、例えば図1に表わされているように追加機能およびコンテンツ操作をサポートするために増加した。しかし、このアプローチは、視聴者が利用可能な情報を調べるために要求される時間と、選択を実行するために要求される動作の複雑さとの両方を著しく増加させた。議論の余地はあるが、消費者は既に遅すぎ複雑すぎるものと考えるインタフェースに複雑さを追加する新たなサービスには抵抗があるので、既存のインタフェースの厄介な特質は例えばビデオオンデマンドのようないくつかのサービスの商業的な実施を阻害してきた。
【0006】
帯域およびコンテンツの増加に加えて、ユーザインタフェースのボトルネックの問題は、技術の集合によって悪化している。消費者は多数の分離された構成品よりも統合されたシステムを購入する選択肢を受け入れることに積極的に反応している。この傾向の例は、以前の3つの独立した構成品を有する組み合わせのテレビ/VCR/DVDが統合された装置として今日頻繁に販売されている。この傾向は潜在的に、現在家庭で見られる通信機器の全てではなくてもほとんどが、例えばテレビ/VCR/DVD/インターネットアクセス/ラジオ/ステレオ装置のように統合された装置として一緒に組み合わされる結果へと続くものと考えられる。分離された構成品を購入し続ける者でさえ、分離された構成品のシームレスな制御および分離された構成品間の相互接続をたいていは望む。この増加する集合体とともに、ユーザインタフェースがより複雑となる可能性が生じる。例えば、TVリモート装置およびVCRリモート装置の機能を結合して、例えば、いわゆる“万能”リモート装置が導入されると、これらの万能リモート装置のボタン数は典型的にTVリモート装置またはVCRリモート装置のいずれか単体のボタン数より多くなる。このボタンおよび機能の追加された数は、遠隔において正確に正しいボタンを探し出すことができず、TVまたはVCRの最も簡単な側面以外を制御することを大変困難にしている。多くの場合、これらの万能リモート装置は、ある種のTVに固有の多くの制御レベルまたは特徴にアクセスするために十分なボタンを提供しない。これらの場合、集合体の複雑さから生じるユーザインタフェースの問題のために、元のリモート装置がいまだに必要とされ、かつ複数のリモート装置を扱う元の厄介な問題が残されている。あるリモート装置は、専門のコマンドを用いてプログラムすることができる“ソフト”ボタンを追加することによってこの問題に取り組んできた。これらのソフトボタンは、時々、その動作を示す添付のLCDディスプレイを有する。これらもまた、TVから目をそらしてリモートコントロール装置を見ることなく使用することが困難であるという欠点を有する。これらのリモート装置のさらにもう1つの欠点は、ボタン数を削減する試みにおいてモードを用いることである。これらの“モード”を有する万能リモート装置には、リモート装置がTV、DVDプレーヤー、ケーブルセットトップボックス、VCR等のいずれと通信するかを選択するための特別なボタンが存在する。これは、間違った装置にコマンドを送信すること、正しいモードであるかを確認するためにユーザにリモート装置を見るように強いること、複数の装置の統合に簡素化を提供しないことを含む多くの使い勝手の問題を引き起こす。これらの万能リモート装置の最も進歩したものは、複数の機器へのコマンド列をリモート装置にプログラムすることをユーザに可能とすることによっていくらかの統合を提供する。これはたいへん難しい作業であるので、多くのユーザは専門の設置者に彼らの万能リモート装置をプログラムさせている。
【0007】
また、エンドユーザとメディアシステムとの間のスクリーンインタフェースを現代的にするためのいくつかの試みがされてきた。しかし、これらの試みは、典型的に、メディアアイテムの大きな集合とメディアアイテムの小さな集合との間で容易に除去することができない他の欠点に苦労している。例えば、アイテムのリストに依存するインタフェースは、メディアアイテムの小さな集合について十分に機能することが可能であるが、メディアアイテムの大きな集合を閲覧するためには冗長である。階層的な操縦(例えば、ツリー構造)に依存するインタフェースは、メディアアイテムの大きな集合のためのリストインタフェースよりも行き来することがより高速でありうるが、メディアアイテムの小さな集合には容易に適用することができない。さらに、ユーザは、ツリー構造において3つまたはそれ以上の階層を通して移動しなければならない選択手順において興味を失う傾向がある。これらの全ての場合について、現在のリモート装置は、リストまたは階層を操縦するためにユーザに繰り返し上下ボタンを押すことを強いることによって選択手順をより一層冗長にしている。ページアップおよびページダウンのような選択スキップ制御が利用可能であるとき、ユーザは一般にこれらの特別なボタンを見つけるためにリモート装置を見なければならないか、またはそれらが存在することを知るように訓練されていなければならない。
【0008】
この明細書における固有の関心事は、他のアプリケーションおよびシステムとともにそのようなフレームワークと相互作用するために使用可能なリモート装置である。上記で組み込まれた出願で述べたように、例えば、トラックボール、“マウス”型ポインティング装置、ライトペン等を含むそのようなフレームワークとともに各種の異なるタイプのリモート装置を用いることが可能である。しかし、そのようなフレームワーク(および他のアプリケーション)とともに用いることが可能であるもう1つのリモート装置のカテゴリーは自由空間ポインティング装置である。語句“自由空間ポインティング”は、例えばディスプレイ画面の前の空中における3次元(またはより大きい次元)において動く入力装置の機能、およびそれらの動きを直接にユーザインタフェースコマンド、例えばディスプレイ画面のカーソルの動きに変換するユーザインタフェースの付随する機能を指すために、この明細書において用いられる。自由空間ポインティング装置との間のデータの伝達は、自由空間ポインティング装置をもう1つの装置と無線でまたは有線を介して接続して実行することが可能である。したがって、“自由空間ポインティング”は、マウスの相対的な動きがコンピュータディスプレイ画面上のカーソルの動きに変換される代用の表面として、例えば机の表面またはマウスパッドのような表面を用いる例えば従来のコンピュータマウスポインティング技術とは異なる。自由空間ポインティング装置の例は米国特許第5,440,326号明細書において見つけることができる。
【発明の開示】
【発明が解決しようとする課題】
【0009】
‘326特許は、その中でも、コンピュータのディスプレイ上のカーソルの位置を制御するためのポインティング装置として用いるために採用された垂直ジャイロスコープを開示する。ジャイロスコープのコアにおけるモーターは、手持ち型のコントローラ装置から2組の直交するジンバルによって吊り下げられ、かつ公称で振子装置によって垂直なスピン軸に合わせて配置されている。電気光学軸角エンコーダはユーザによって操作されるにしたがって手持ち型コントローラ装置の方向を検出し、かつ結果の電気出力はコンピュータディスプレイ画面上のカーソルの動きを制御するためにコンピュータによって使用可能な形式に変換される。しかし、コスト効果が高く、正確かつユーザフレンドリな自由空間ポインティング装置のニーズが存在し続けている。
【課題を解決するための手段】
【0010】
本発明によるシステムおよび方法は、自由空間ポインティング装置、および、自由空間ポインティング装置の動きのユーザインタフェースコマンドへの、例えばカーソルの動きへの正確な変換を提供する自由空間ポインティングのための方法を提供することによって、これらのニーズおよび他に取り組む。本発明の典型的な実施形態によれば、自由空間ポインティング装置は複数の加速度計を含む。
【0011】
本発明の典型的な一実施形態によれば、手持ち型のユーザインタフェース装置は複数の加速度計を含み、各加速度計は装置の動きに対応する加速度データを供給し、加速度データを2次元のカーソルの動きのデータが生成可能なデータに変換するための処理装置をさらに含み、処理装置はさらに手持ち型のユーザインタフェース装置がいつ静止したかを決定するために加速度データを処理し、かつ手持ち型のユーザインタフェース装置が静止しているときに手持ち型のユーザインタフェース装置を再校正する。
【発明を実施するための最良の形態】
【0012】
添付図面は本発明の典型的な実施形態を表わす。
以下の本発明の詳細な説明は添付図面を参照する。異なる図面の同一の参照番号は、同一または類似の構成要素を識別する。また、以下の詳細な説明は本発明を限定しない。その代わりに、本発明の範囲は添付の特許請求の範囲によって定義される。
【0013】
この説明のためのいくつかの場面を提供するために、まず、本発明が実装可能な典型的な集合メディアシステム200が図2に関して説明される。しかし、この技術分野の当業者は、本発明がこのタイプのメディアシステムにおける実装に限定されず、かつその中により多いまたはより少ない構成品が含まれうることを理解する。その中で、入力/出力(I/O)バス210はメディアシステム200におけるシステムの構成品を相互に接続する。I/Oバス210は、メディアシステムの構成品の間で信号を送信するための多数の様々な仕組みおよび技術のいずれかを表わす。例えば、I/Oバス210は、オーディオ信号を送信する適切な数の独立のオーディオ“パッチ”ケーブル、ビデオ信号を送信する同軸ケーブル、制御信号を送信する2線シリアルラインまたは赤外線または無線周波数送受信器、光ファイバ、または他の種類の信号を送信する他のどのような送信の仕組みも含むことが可能である。
【0014】
この典型的な実施形態において、メディアシステム200は、I/Oバス210に接続された、テレビ/モニタ212、ビデオカセットレコーダ(VCR)214、デジタルビデオディスク(DVD)録画/再生装置216、オーディオ/ビデオチューナ218、コンパクトディスクプレーヤ220を含む。VCR・214、DVD・216、コンパクトディスクプレーヤ220は、単一のディスクまたは単一のカセット装置とすることが可能であり、またはその代わりに、複数のディスクまたは複数のカセット装置とすることが可能である。それらは独立の装置とするか、または、一緒に統合されることが可能である。さらに、メディアシステム200は、マイクロホン/スピーカシステム222、ビデオカメラ224、無線I/O制御装置226を含む。本発明の典型的な実施形態によれば、無線I/O制御装置226は、以下で説明される典型的な実施形態の1つによる自由空間ポインティング装置である。無線I/O制御装置226は、例えば赤外線または無線の送信器または送受信器を用いて娯楽システム200と通信することが可能である。その代わりに、I/O制御装置は、有線を介して娯楽システム200に接続されることが可能である。
【0015】
また、娯楽システム200はシステムコントローラ228を含む。本発明の典型的な一実施形態によれば、システムコントローラ228は、娯楽システムの複数のデータソースから入手可能な娯楽システムデータを記憶および表示し、かつシステムの各構成品に関する幅広く多様な機能を制御するために動作する。図2に表わされているように、システムコントローラ228は、必要ならばI/Oバス210を通して、システムの各構成品に直接または間接に接続される。典型的な一実施形態において、I/Oバス210に加えて、または、I/Oバス210の代わりに、システムコントローラ228は、赤外線信号または無線信号を介してシステムの構成品と通信することが可能な無線通信送信器(または送受信器)とともに構成される。制御メディアに関係なく、システムコントローラ228は以下で説明されるグラフィカルユーザインタフェースを介してメディアシステム200のメディア構成品を制御するように構成される。
【0016】
さらに図2に表わされているように、メディアシステム200は各種のメディアのソースおよびサービス提供者からメディアアイテムを受信するように構成することが可能である。この典型的な実施形態において、メディアシステム200は、次のソース、すなわち、ケーブル放送230、(例えば衛星アンテナを介して)衛星放送232、(例えばアンテナを介して)放送テレビ網234の超短波(VHF)または極超短波(UHF)の無線周波数通信、電話網236、ケーブルモデム238(またはインターネットコンテンツの他のソース)のいずれかまたは全てからのメディア入力を受信し、かつ選択的に上記ソースのいずれかまたは全てに情報を送信する。この技術分野の当業者は、図2に関して表わされ、かつ説明されたメディアの構成品およびメディアのソースは単に例であり、かつメディアシステム200はその両方について、より多くまたは少なく含むことが可能である。例えば、システムへの他のタイプの入力はAM/FMラジオおよび衛星ラジオを含む。
【0017】
この典型的な娯楽システムおよびそれに対応するフレームワークに関するより詳細は、上記で引用して組み込まれた米国特許出願“メディアアイテムを組織化し、選択し、および送り出すためのズーム可能なグラフィカルユーザインタフェースを有する制御フレームワーク”において見ることができる。その代わりに、本発明に従うリモート装置は他のシステム、例えば、ディスプレイ、プロセッサ、メモリシステム、または他の各種のシステムおよびアプリケーションを含むコンピュータシステムと結合することが可能である。
【0018】
背景技術の欄で述べたように、自由空間ポインタとして動作するリモート装置は本明細書における固有の関心事である。そのような装置は動き、例えばジェスチャーをユーザインタフェースへのコマンドに変換することを可能とする。典型的な自由空間ポインティング装置400は図3に表わされている。その中で自由空間ポインティングのユーザの動きは、例えば、自由空間ポインティング装置400のx軸の周りの姿勢(attitude)(ロール(roll))、y軸の周りの仰角(elevation)(ピッチ(pitch))および/またはz軸の周りの向き(heading)(ヨー(yaw))の動きの組み合わせによって定義することが可能である。さらに、本発明のある典型的な実施形態は、カーソルの動きまたは他のユーザインタフェースコマンドを生成するために、x、y、z軸に沿って自由空間ポインティング装置400の線形的な動きを測定することが可能である。他の典型的な実施形態は他の物理的な構成を含むが、図3の典型的な実施形態においては、自由空間ポインティング装置400はスクロールホィール406とともに2つのボタン402、404を含む。本発明の典型的な実施形態によれば、自由空間ポインティング装置400はディスプレイ408の前でユーザが持ち、かつ自由空間ポインティング装置400の動きは、自由空間ポインティング装置400によって、ディスプレイ408に表示される情報と相互作用するために、例えばディスプレイ408上のカーソル410を動かすために使用可能である出力に変換されることが期待される。例えば、自由空間ポインティング装置400のy軸の周りの回転は自由空間ポインティング装置400によって検出することが可能であり、かつディスプレイ408のy軸に沿ってカーソル410を動かすためにシステムによって使用可能な出力に変換される。同様に、自由空間ポインティング装置400のz軸の周りの回転は自由空間ポインティング装置400によって検出することが可能であり、かつディスプレイ408のx軸に沿ってカーソル410を動かすためにシステムによって使用可能な出力に変換される。自由空間ポインティング装置400の出力は、カーソルの動き以外の(またはカーソルの動きに加えて)多くの方法において、ディスプレイ408と相互作用するために使用可能であることが理解される。例えば、カーソルのフェーディング、ボリューム、メディア伝達(再生、一時停止、早送り、巻き戻し)を制御することが可能である。入力コマンドはカーソルの動きに加えた操作、例えば、ディスプレイの特定の領域のズームイン、ズームアウトを含むことが可能である。カーソルは可視または不可視とすることが可能である。同様に、自由空間ポインティング装置400のx軸の周りに検出された自由空間ポインティング装置400の回転は、ユーザインタフェースへの入力を供給するためにy軸および/またはz軸の周りの回転に加えて、またはその代わりとして用いることが可能である。
【0019】
本発明の典型的な一実施形態によれば、2つの回転センサ502、504および1つの加速度計506は、図4に表わされているように自由空間ポインティング装置400におけるセンサとして用いることが可能である。回転センサ502、504は、例えば、Analog Devices社によって製造されたADXRS150センサを用いて実装することが可能である。この技術分野の当業者は、回転センサ502、504として他の種類の回転センサを用いることが可能であり、かつADXRS150は単に説明のための例として用いられていることを理解する。従来のジャイロスコープと異なり、ADXRS150回転センサは、一方向のみに沿って共振しうるようにフレームに取り付けられた共振性のマス(resonating mass)を提供するMEMS技術を用いる。共振性のマスは、センサが固定された本体が、センサの検出軸の周りに回転したときに変位(displace)する。この変位は検出軸に沿った回転に対応する角速度を決定するためにコリオリの加速度効果を用いて測定することが可能である。回転センサ502、504が1つの検出軸を有するならば(ADXRS150の例に関しては)、それらの検出軸は測定される回転に向きが調整されるように自由空間ポインティング装置400に配置することが可能である。これは、本発明のこの典型的な実施形態において、図4に表わされているように、回転センサ502はその検出軸がy軸に平行であるように配置され、かつ回転センサ504はその検出軸がz軸に平行であるように配置されることを意味する。しかし、本発明の典型的な実施形態は軸の間のオフセットを補償するための技術も提供するので、回転センサ502、504の検出軸を所望の測定軸に平行に配置することは要求されないことに留意すべきである。
【0020】
本発明に従う典型的な自由空間ポインティング装置400の実装において取り組まれる1つの目標は、高価すぎないが、同時に、自由空間ポインティング装置400の動きと、自由空間ポインティング装置の特定の動きにユーザインタフェースがどのように反応するかに関するユーザの期待と、その動きに反応する実際のユーザインタフェースの性能との間に高度の相関関係を提供する構成品、例えば回転センサ502、504を用いることである。例えば、自由空間ポインティング装置400が動いていないならば、ユーザはカーソルが画面を横切って流れないことを期待すると考えられる。同様に、ユーザが単にy軸の周りに自由空間ポインティング装置400を回転するならば、ユーザは結果としてかなりのx軸成分を含むディスプレイ408上のカーソルの動きを見ることを期待しないと考えられる。これらを達成するために、本発明の典型的な実施形態の他の構成は、センサ502、504、506の1つまたは複数の出力を調整するために用いられ、および/または、センサ502、504、506の出力に基づくユーザインタフェースのための適切な出力を決定するためにプロセッサによって用いられる入力の一部として、各種の測定および計算が手持ち型装置400によって実行される。これらの測定および計算は、(1)自由空間ポインティング装置400に固有な要因、例えば、装置400において用いられる特定のセンサ502、504、506、または、装置400においてセンサが配置される仕方に関する誤差、および、(2)自由空間ポインティング装置400に固有でないが、ユーザが自由空間ポインティング装置400を使用する仕方に関する要因、例えば、線形加速度、傾き(tilt)、震え(tremor)、の広くは2つのカテゴリーに含まれる要因を補償するために用いられる。これらの各々の影響を処理する典型的な技術は以下で説明される。
【0021】
本発明の典型的な実施形態による自由空間ポインティング装置の一般的な動作を説明する処理モデル600が図5に表わされている。加速度計506とともに回転センサ502、504は、周期的に、例えば200サンプル/秒でサンプリングされたアナログ信号を生成する。この説明の目的のために、これらの入力の集合は表記(x,y,z,αy,αz)を用いて参照され、x,y,zは典型的な3軸の加速度計506のサンプリングされた出力値であり、それぞれx軸、y軸、z軸の方向における自由空間ポインティング装置の加速度に対応し、αyはy軸の周りの自由空間ポインティング装置の回転に対応する回転センサ502からのサンプリングされた出力値であり、αzはz軸の周りの自由空間ポインティング装置400の回転に対応する回転センサ504からのサンプリングされた出力値である。
【0022】
加速度計506からの出力が供給され、加速度計506がアナログ出力を供給するならば、その出力は、サンプリングされた加速度計出力602を生成するために、(図示しない)A/Dコンバータによってサンプリングされ、かつデジタル化される。サンプリングされた出力値は、変換機能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はセンサ出力を表わし、Mは0gの加速度計の測定値を表わす。スケールはサンプリングされた単位の値とgとの間の変換係数を表わす。どのような与えられた加速度計センサの実際のスケールも、例えば、製造上の差異のために、これらの公称のスケール値から外れる可能性がある。したがって、上記の等式におけるスケール要素はこの偏差に比例する。
【0023】
加速度計506のスケールおよびオフセットの偏差は、例えば、1つの軸に沿って1gの力をかけ、その結果のR1を測定することによって測定することが可能である。そして−1gの力がかけられ、結果として測定値R2となる。個々の軸のスケールs、個々の軸のオフセットpは次のように計算することができる。
s=(R1−R2)/2 (2)
p=(R1+R2)/2 (3)
この簡単な例において、Pは各軸についてのpの列ベクトル、Sは各軸についての1/sの対角行列である。
【0024】
しかし、スケールおよびオフセットに加えて、加速度計506によって生成された表示度数は軸交差の影響による難点がある。軸交差の影響は未調整の軸を含み、例えば、自由空間ポインティング装置400に搭載されたときに加速度計506の検出軸の1つまたは複数が慣性座標系における対応する軸と調整されていないか、または加速度計506自体の機械加工に関する機械的誤差、例えば、たとえ軸が正しく調整されても、純粋なy軸の加速度の力が加速度計506のz軸に沿ったセンサ表示度数となる結果となる可能性がある。これらの両方の影響は測定され、かつ機能606によって実行される校正に与えることが可能である。
【0025】
加速度計506は、本発明の典型的な実施形態による典型的な自由空間ポインティング装置においていくつかの目的を果たす。例えば、回転センサ502、504は上述した典型的なコリオリ効果の回転センサを用いて実装されるならば、回転センサ502、504の出力は各回転センサによって感知された線形加速度に基づいて変化する。したがって、加速度計506の1つの典型的な使用は、線形加速度における変動によって引き起こされる、回転センサ502、504によって生成される表示度数における揺らぎを補償するためのものである。これは、変換された加速度計の表示度数を利得行列610と乗算し、かつその結果を対応するサンプリングされた回転センサデータ612から減算する(または、その結果を対応するサンプリングされた回転センサデータ612に加算する)ことによって、達成することが可能である。例えば、回転センサ502からのサンプリングされた回転データαyは、次のようにブロック614において線形加速度を補償することが可能である。
αy’=αy−C*A (4)
ここで、Cは単位量/gで与えられた各軸に沿った線形加速度への回転センサの感受性の1×3行ベクトル、Aは校正された線形加速度である。同様に、回転センサ504からのサンプリングされた回転データαzのための線形加速度の補償はブロック614において提供することが可能である。利得行列Cは、製造上の差異のために回転センサの間で異なる。Cは多数の回転センサの平均値を用いて計算することが可能であり、各回転センサために専用に計算することが可能である。
【0026】
加速度計データのように、サンプリングされた回転データ612は、機能616において、サンプリングされた単位の値から回転角速度、例えばラジアン/秒に対応する値に変換される。この変換ステップは、例えばスケールおよびオフセットについてサンプリングされた回転データを補償するために機能618によって提供される校正を含む。αyおよびαzの両方のための変換/校正は、例えば次の等式を用いて達成することが可能である。
α rad/s=(α’−offset(T))*scale+dOffset (5)
ここで、α’は変換/校正される値を表わし、offset(T)は温度に対応するオフセット値を表わし、scaleはサンプリングされた単位の値とrad/sとの間の変換係数を表わし、dOffsetは動的なオフセット値を表わす。等式(5)は、scaleを除いて全ての変数がベクトルである行列の等式として与えることも可能である。行列の等式の形式において、スケールは、軸の調整不良および回転オフセットの要素を訂正する。これらの各変数は以下でより詳しく説明される。
【0027】
オフセット値offset(T)およびdOffsetは多数の異なる方法で決定することが可能である。自由空間ポインティング装置400が例えばy軸方向において回転されないとき、センサ502はそのオフセット値を出力する。しかし、オフセットは温度によって大きく影響されうるので、このオフセット値は変化すると考えられる。オフセットの温度校正は工場で実行することが可能であり、この場合、offset(T)についての値は手持ち型装置400にプログラムするか、またはその代わりに、オフセットの温度校正は装置の存続期間の間に動的に感知することが可能である。動的なオフセット補償を達成するために、温度センサ619からの入力は、offset(T)についての現在の値を計算するために回転校正機能618において用いられる。offset(T)のパラメータは、センサの表示度数からオフセットバイアスの大部分を除去する。しかし、ゼロの動きにおいてほとんど全てのカーソルのドリフトを無効にすることは、高性能のポインティング装置を作り出すために有効でありうる。したがって、追加の要素dOffsetは、自由空間ポインティング装置400を使用しながら動的に計算することが可能である。静止検出機能608は、手持ち型装置がいつほとんど静止したか、いつオフセットが再計算されるべきかを判定する。そこで、他の使用とともに静止検出機能608を実装するための典型的な技術が以下で説明される。
【0028】
dOffset計算の典型的な実装は、ローパスフィルタされた、校正されたセンサ出力を使用する。静止検出機能608は、例えば、ローパスフィルタ出力の平均の計算を引き起こすために回転校正機能618に指示を与える。また、静止検出機能608は、dOffsetについての既存の値に新たに計算された平均をいつ要因の1つとして含めるかを制御することが可能である。この技術分野の当業者は、dOffsetの既存の値からdOffsetの新たな値を計算するために多数の異なる技術を用いることが可能であり、かつ新たな平均は、限定しないが単なる平均、ローパスフィルタリング、カルマンフィルタリングを含むことを理解する。さらに、この技術分野の当業者は、回転センサ502、504のオフセット補償のための非常にたくさんの変形を用いることが可能であることを理解する。例えば、offset(T)関数は定数値(例えば、温度に対して不変)を有することが可能であり、2つ以上のオフセット補償値を用いることが可能であり、および/または、ただ1つのオフセット値がオフセット補償のために計算され/用いられることが可能である。
【0029】
ブロック616における変換/校正の後、回転センサ502、504からの入力はさらにそれらの入力を慣性座標系に回転させるために、すなわち、機能620においてユーザの自由空間ポインティング装置400の持ち方に対応する傾きを補償するために、処理することが可能である。傾き訂正は、本発明による自由空間ポインティング装置の使用形態における差異を補償することを意図するので、本発明のある典型的な実施形態のもう1つの重要な構成である。より詳しくは、本発明の典型的な実施形態による傾き訂正は、ユーザが異なるx軸の回転位置においてユーザの手にポインティング装置を持っているが、自由空間ポインティング装置400における回転センサ502、504の検出軸は固定されているという事実を補償するために意図される。ディスプレイ408にわたるカーソル変換は、ユーザの自由空間ポインティング装置400の握り方に実質的に影響を受けないことが望ましい。例えば、ユーザが自由空間ポインティング装置400を持っている方向に関係なく、ディスプレイ408の水平次元(x軸)に概して対応するように自由空間ポインティング装置400を左右に回転させることは、結果としてx軸に沿ったカーソル変換となるべきであり、一方、ディスプレイ408の垂直次元(y軸)に概して対応するように自由空間ポインティング装置を上下に回転させることは、結果としてy軸に沿ったカーソル変換となるべきである。
【0030】
本発明の典型的な実施形態による傾き補償の必要性をよりよく理解するために、図6Aに表わされている例を考える。その中で、ユーザは、0度のx軸回転値を有するものとして定義することが可能な典型的な慣性座標系において自由空間ポインティング装置400を持っている。慣性座標系は、純粋に例として、図6Aに表わされている方向に対応することが可能であり、また、任意の他の方向として定義することが可能である。y軸またはz軸方向のいずれかにおける自由空間ポインティング装置400の回転は、それぞれ回転センサ502、504によって検出される。例えば、図6Bに表されているように、量Δzによるz軸の周りの自由空間ポインティング装置400の回転は、結果としてディスクプレイ408を横切るx軸の次元における対応するカーソル変換Δx(すなわち、点線で表したカーソル410と点線でないものとの間の距離)となる。
【0031】
一方、ユーザが異なる方向において、例えば、慣性座標系に対してある量のx軸回転を有して、自由空間ポインティング装置400を持つならば、センサ502、504によって提供される情報は、(傾き補償がなく)ユーザの意図するインタフェース動作の正確な表現を提供しない。例えば、図6Cを参照して、図6Aに表されたような典型的な慣性座標系に対して45度のx軸回転を有してユーザが自由空間ポインティング装置400を持つ状態を考える。ユーザによる同じz軸回転Δzを仮定すると、代わりにカーソル410は図6Dに表されたようにx軸方向およびy軸方向の両方において変換される。これは回転センサ502の検出軸が、(ユーザの手における装置の方向のために)ここではy軸およびz軸の間に方向付けられているという事実による。同様に、回転センサ504の検出軸は(異なる四分円においてであるが)y軸およびz軸の間に方向付けられている。自由空間ポインティング装置400がどのように持たれているかに関してユーザに透過的であるインタフェースを提供するために、本発明の典型的な実施形態による傾き補償は、これらのセンサからの表示度数を自由空間ポインティング装置400の回転動作を示す情報への処理の一部として、回転センサ502、504からの表示度数の出力を慣性座標系に戻す変換をする。
【0032】
図5に戻り、本発明の典型的な実施形態によれば、これは機能622において加速度計506から受信した入力yおよびzを用いて自由空間ポインティング装置400の傾きを判定することによって達成することが可能である。より詳しくは、加速度データが上述したように変換され校正された後、平均の加速度(重力)の値を傾き判定機能622に供給するためにLPF・624においてローパスフィルタすることが可能である。そして、機能622における傾きθは次のように計算することが可能である。
【0033】
【数1】

【0034】
値θは0による除算を防止し、かつ正しいsignの値を与えるために、計算上、atan2(y,z)として計算することが可能である。そして、機能620は、傾きθを補償するために変換/校正された入力αyおよびαzを回転する次の等式を用いて、変換/校正された入力αyおよびαzの回転Rを実行することが可能である。
【0035】
【数2】

【0036】
一旦、校正されたセンサの表示度数が線形加速度を補償され、自由空間ポインティング装置400の回転角を示す表示度数に処理され、かつ傾きを補償されると、後処理をブロック626、628において実行することが可能である。典型的な後処理は、人の震えのような変動要素の補償を含むことが可能である。震えはいくつかの異なる方法を用いて除去することが可能であるが、震えを除去する1つの方法はヒステリシス(hysteresis)を用いることによるものである。回転機能620によって生成される角速度は角位置を生成するために積分される。そして、校正された大きさのヒステリシスは角位置に適用される。再び角速度を生じさせるためにヒステリシスブロックの出力から導関数が得られる。そして、結果の出力は(例えば、サンプリング期間に基づいて)機能628においてスケーリングされ、かつ、例えば、ディスプレイ408上のカーソル410の動きのようなインタフェースにおける結果を生成するために用いられる。
【0037】
本発明による典型的な自由空間ポインティング装置の処理を説明したので、図7に典型的なハードウェアアーキテクチャを表わす。その中で、プロセッサ800は、スクロールホィール802、JTAG・804、LED・806、スイッチマトリックス808、赤外線光検出器810、回転センサ812、加速度計814、送受信器816を含む自由空間ポインティング装置の他の構成要素と通信する。スクロールホィール802は、スクロールホィール802を時計回りまたは反時計回りに回転させることによってユーザがインタフェースに入力を与えることを可能とする選択的な入力の構成要素である。JTAG・804はプロセッサにプログラミングおよびデバッグのインタフェースを提供する。LED・806は、例えばボタンが押されたときにユーザに視覚的なフィードバックを提供する。スイッチマトリックス808は入力、例えば自由空間ポインティング装置400のボタンが押されまたは離されたことを示すものを受信し、そして、それはプロセッサ800に渡される。選択的な赤外線光検出器810は、典型的な自由空間ポインティング装置が他のリモートコントロール装置からの赤外線コードを認識することを可能とするために提供することが可能である。回転センサ812は、例えば、上述した自由空間ポインティング装置のy軸およびz軸回転に対応する表示度数をプロセッサ800に供給する。加速度計814は、例えば、傾き補償を実行し、かつ線形加速度が回転センサ812によって生成される回転の表示度数に導入する誤差を補償するために、上述したように使用することが可能な自由空間ポインティング装置の線形加速度に関して、プロセッサ800に表示度数を供給する。送受信器816は、自由空間ポインティング装置400に、および自由空間ポインティング装置400から情報を伝達し、例えば、システムコントローラ228に、または、コンピュータに結合されたプロセッサに情報を伝達するために用いられる。送受信器816は、例えば、近距離無線通信のためにブルートゥース(登録商標)標準にしたがって動作する無線送受信器または赤外線送受信器とすることが可能である。その代わりに、自由空間ポインティング装置400は無線接続を介してシステムと通信することが可能である。
【0038】
静止検出機能608は、上記で簡単に説明したように、自由空間ポインティング装置400が、例えば、静止しているか、またはアクティブである(動いている)か、のいずれであるかを判定するために動作することが可能である。この分類は多数の他の方法で実行することが可能である。本発明の典型的な実施形態による1つの方法は、所定期間にわたって、例えば1/4秒毎に、全ての入力(x,y,z,αy,αz)のサンプリングされた入力データの変動を計算することである。そして、この変動は、静止またはアクティブのいずれかとして自由空間ポインティング装置を分類するために閾値と比較される。
【0039】
本発明の典型的な実施形態によるもう1つの静止検出技術は、例えば、入力データに高速フーリエ変換(FFT)を実行することによって、入力を周波数領域に変換することを含む。そして、自由空間ポインティング装置400が静止またはアクティブのいずれであるかを判定するために、例えばピーク検出法を用いてデータを分析することが可能である。さらに、第3の分類、特にユーザが自由空間ポインティング装置400を持っているが、それを動かしていない場合(ここでは“安定”状態と呼ぶ)を識別することが可能である。この第3の分類は、自由空間ポインティング装置400がユーザによって持たれているときユーザの手の震えによって導入される自由空間ポインティング装置400の小さな動きを検出することによって、静止(持っていない)およびアクティブから区別することが可能である。また、ピーク検出は、この判定を行うために静止検出機能608によって用いることが可能である。人の震えの周波数、例えば公称で8〜12Hzの範囲内のピークは、典型的に(装置が静止し、かつ持たれていないときに認識される)装置のノイズの下限を約20dB超える。
【0040】
上述した例において、周波数領域における変動は特定の周波数範囲内で検出されるが、監視され、かつ自由空間ポインティング装置400の状態を特徴付けるために用いられる実際の周波数範囲は変動する可能性がある。例えば、公称の震えの周波数範囲は、例えば、自由空間ポインティング装置400の人間工学的な作りおよび重さに基づいて、例えば8〜12Hzから4〜7Hzまで変わる可能性がある。
【0041】
本発明のもう1つの典型的な実施形態によれば、静止検出機能608は状態機械を含むことが可能である。典型的な状態機械が図8に表されている。その中で、アクティブ状態は、この例において、自由空間ポインティング装置400が動き、かつ例えばユーザインタフェースに入力を供給するために用いられている間のデフォルト状態である。自由空間ポインティング装置400は、リセット入力によって示されているように装置の電力アップにおいてアクティブ状態に入ることが可能である。自由空間ポインティング装置400が動きを停止すると、非アクティブ状態に入ることが可能である。図8に表わされている各種の状態遷移は、限定しないが、回転センサ502、504の一方または両方からのデータ出力、加速度計506からのデータ出力、時間領域データ、周波数領域データ、またはそれらの任意の組み合わせを含む多数の異なる基準のいずれかによって引き起こすことが可能である。状態遷移の条件は、ここでは一般に、規則“条件状態A→状態B”を用いて表わされる。例えば、自由空間ポインティング装置400は、条件アクティブ→非アクティブが発生すると、アクティブ状態から非アクティブ状態に遷移する。単に説明の目的のために、典型的な自由空間ポインティング装置400において、条件アクティブ→非アクティブは、回転センサおよび加速度計の両方からの平均値および/または標準偏差値が第1の所定期間に第1の所定閾値を下回ったとき発生すると考える。
【0042】
状態遷移は、読み取られたセンサ出力に基づいて多数の異なる条件によって決定することが可能である。典型的な条件の計量は、時間区間にわたって読み取られた信号の変動、基準値と時間区間にわたって読み取られた信号との間の閾値、基準値と時間区間にわたって読み取られたフィルタリングされた信号との間の閾値、基準値と開始時間から読み取られた信号との間の閾値を、状態遷移を決定するために用いることを含む。これらの条件の計量の全てまたは任意の組み合わせを、状態遷移を引き起こすために用いることが可能である。その代わりに、他の計量を用いることも可能である。本発明の1つの典型的な実施形態によれば、非アクティブ状態からアクティブ状態への遷移は、(1)時間区間にわたってセンサ出力の平均値が所定の閾値より大きいとき、または(2)時間区間にわたってセンサ出力値の変動が所定の閾値より大きいとき、または(3)センサ値の間の瞬間の増分が所定の閾値より大きいとき、のいずれかにおいて発生する。
【0043】
非アクティブ状態は、自由空間ポインティング装置400がまだ使用されている間の、例えば1/10秒のオーダーの短い休止期間と、安定または静止状態のいずれかへの実際の遷移とを、静止検出機能608が識別することを可能とする。これは、以下で説明される安定および静止状態の間に実行される機能に対して、自由空間ポインティング装置400が使用されているときに不注意に実行されることから保護する。例えば、非アクティブ状態において第2の所定期間が経過する前に回転センサおよび加速度計からの測定された出力が第1の閾値を超えるように自由空間ポインティング装置400が再び動き始めるならば、条件非アクティブ→アクティブが発生すると自由空間ポインティング装置400はアクティブ状態に遷移して戻る。
【0044】
自由空間ポインティング装置400は、第2の所定期間が経過した後、安定状態または静止状態のいずれかに遷移する。上述したように、安定状態は、人が持っているが実質的に動いていないときの自由空間ポインティング装置400の特性を示し、一方、静止状態は人が持っていないときの自由空間ポインティング装置400の特性を示す。したがって、本発明による典型的な状態機械は、手の震えに対応する最低限の動きが存在するならば第2の所定期間が経過した後に安定状態への遷移をもたらし、そうでなければ、静止状態への遷移をもたらすことが可能である。
【0045】
安定および静止状態は、自由空間ポインティング装置400が各種の機能を実行することが可能である間の時間を定義する。例えば、安定状態はユーザが自由空間ポインティング装置400を持っているがそれを動かしていない時間を表わすことを意図するので、装置はそれが安定状態にあるとき、例えば、この状態において回転センサおよび/または加速度計からの出力を記憶することによって、自由空間ポインティング装置400の動きを記録することが可能である。これらの記憶された測定値は、以下で説明されるように、特定のユーザまたは複数のユーザに関する震えのパターンを判定するために使用することが可能である。同様に、静止状態にあるとき、自由空間ポインティング装置400は、以下で説明されるように、オフセットの補償において使用するために、回転センサおよび/または加速度計からの表示度数を取得することが可能である。
【0046】
自由空間ポインティング装置400が安定または静止状態のいずれかにおいて動き始めるならば、これはアクティブ状態に戻ることを引き起こす。そうでなければ、測定値が取得された後、装置はスリープ状態に遷移することが可能である。スリープ状態において、装置は、自由空間ポインティング装置の電力消費が削減され、かつ例えば、回転センサおよび/または加速度計のサンプリングレートが削減される電力ダウンモードに入ることが可能である。また、ユーザまたはもう1つの装置が自由空間ポインティング装置400がスリープ状態に入ることを命令することが可能であるような外部コマンドを介してスリープ状態に入ることも可能である。
【0047】
もう1つのコマンドを受信すると、または自由空間ポインティング装置400が動き始めると、装置はスリープ状態からウェイクアップ状態に遷移することが可能である。非アクティブ状態と同様に、ウェイクアップ状態は、アクティブ状態への遷移が正当化されること、例えば自由空間ポインティング装置400が不注意でなく動かされたことを確認する機会を装置に提供する。
【0048】
状態遷移のための条件は、対称的であることも、あるいは異なることも可能である。したがって、条件アクティブ→非アクティブに対応する閾値は、条件非アクティブ→アクティブに対応する閾値と同一である(または異なる)ことが可能である。これは、本発明による自由空間ポインティング装置がユーザ入力をより正確にとらえることを可能とする。例えば、その中でも、状態機械の実装を含む典型的な実施形態は、静止状態へ遷移するための閾値が静止状態から他へ遷移するための閾値と異なることを可能とする。
【0049】
1つの状態へ入ることまたは1つの状態から抜けることは、他の装置の機能を引き起こすために用いることも可能である。例えば、ユーザインタフェースは、任意の状態からアクティブ状態への遷移に基づいて電力アップすることが可能である。逆に、自由空間ポインティング装置および/またはユーザインタフェースは、自由空間ポインティング装置がアクティブまたは安定から静止または非アクティブへ遷移したときに電源オフされる(またはスリープモードへ入る)ことが可能である。その代わりに、自由空間ポインティング装置400の静止状態からの遷移または静止状態への遷移に基づいて、カーソル410が表示されまたは画面から消去されることが可能である。
【0050】
上述したように、安定状態は震えデータを記憶するために用いることが可能である。典型的に、各ユーザは異なる震えのパターンを示す。このユーザの震えの特性はユーザを識別するために用いることも可能である。例えば、ユーザの震えのパターンは、ユーザに例えば10秒間、できるだけ安定して自由空間ポインティング装置を持つことを要求する初期化処理の間に(自由空間ポインティング装置400において記憶するか、またはシステムに送信して)システムによって記憶することが可能である。このパターンは各種のユーザインタフェース機能を実行するためのユーザ固有の署名として用いることが可能である。例えば、ユーザインタフェースは現在の震えのパターンをメモリに記憶された震えのパターンと比較することによって、ユーザのグループからユーザを識別することが可能である。この識別は、例えば、識別されたユーザに対応する好みの設定を検索するために用いることが可能である。例えば、自由空間ポインティング装置が、上記で引用して組み込まれた特許文献に記載されたメディアシステムと結合して用いられるならば、震えのパターンの比較によってシステムがユーザを認識した後に、ユーザに対応するメディア選択アイテムの表示の好みを活性化することが可能である。また、震え認識を用いてシステムセキュリティを実装することが可能であり、例えば、ユーザが自由空間ポインティング装置400を持ち上げた後に実行されるユーザ識別に基づいてシステムへのアクセスを禁止または制限することが可能である。
【0051】
図4の典型的な実施形態において、自由空間ポインティング装置400は加速度計506とともに2つの回転センサ502、504を含む。しかし、本発明のもう1つの典型的な実施形態によれば、自由空間ポインティング装置は、その代わりに、例えば、z軸方向における角速度および加速度を測定するために、ただ1つの回転センサを含むことも可能である。そのような典型的な実施形態のために、上述したのと同様な機能が、回転センサによって検出されない軸に沿った角速度を決定するために、加速度計を用いて提供することが可能である。例えば、y軸の周りの回転速度は加速度計によって生成されたデータを用いて、次の式を計算して算出することが可能である。
【0052】
【数3】

【0053】
さらに、回転センサによって測定されない寄生加速度の影響は除去されるべきである。これらの影響は、実際の線形加速度、回転速度および回転加速度によって測定された加速度、人の震えによる加速度を含む。
【0054】
本発明のさらにもう1つの典型的な実施形態によれば、ユーザインタフェース装置は加速度計のみを用いる。図9に表わされているように、本発明のこの典型的な実施形態による3D手持ち型装置は、6自由度(6DOF)、すなわち、x,y,z,ヨー(yaw),ピッチ(pitch),ロール(roll)を測定する。図9はオイラー角(ヨー,ピッチ,ロール)を表わすが、この技術分野の当業者は、本発明のこの典型的な実施形態は四元数(quaternion)のような他の表現も含むことを理解する。6自由度装置はディスプレイとユーザ入力との間に自然なマッピングを可能とする。例えば、ポインタを上に動かすために、ユーザは手持ち型装置を上に動かす。この典型的な実施形態による手持ち型装置は、対象の選択をより直観的にする。例えば、ボタンをクリックする代わりに、ユーザは画面の方へ、または画面から遠ざかって手持ち型装置を動かすことが可能である。普通の前方および後方の画面上のボタンの代わりに、例えば、ユーザは単にマウスを前方または後方に傾けることが可能である。
【0055】
微小電子機械システム(MEMS)に基づく正確で低価格な加速度計の出現は、この技術を家庭の消費者へ持ち込むことを可能にする。回転角を測定するジャイロスコープと異なり、加速度計は線形加速度を測定する。従来の慣性航法は、それぞれ6自由度のために、3つのジャイロスコープおよび3つの加速度計に依存する。不運なことに、従来の慣性航法システムのコストおよび大きさは、消費者の手持ち型装置のためには法外である。この手持ち型装置の典型的な実施形態は、いつでもその位置および方向を測定するために3つの3次元加速度計の集合を用いる。しかし、加速度計の他の数量および配置を同じアルゴリズムとともに用いることが可能である。
【0056】
この典型的な実施形態による手持ち型装置は、3点が1平面を決定する基礎的な幾何学の原理に基づく。追加の点は正確さを向上させるために付加することが可能である。3つの加速度計の全てに共通な加速度は手持ち型装置全体が加速している(x,y,またはzにおける動き)を示す。加速度計の間の加速度の差は手持ち型装置の方向における変化(ヨー,ピッチ,またはロールにおける動き)を示す。
【0057】
いくつかの原理が6自由度の加速度計に基づくシステムの実装を複雑にしている。第1に、加速度測定誤差は、位置を計算する加速度の二重積分のために2乗された位置測定誤差を生じる。第2に、重力は手持ち型装置の方向に対応して変化する定数加速度ベクトルであるので、重力ベクトルは正確に追跡されなければならない。測定誤差に関して、MEMS加速度計は必ずしも正確ではなく、かつ誤差は位置の計算に導入される。しかし、加速度における線形的な不正確さは重要ではない。位置の誤差が2乗されるが、この典型的な実施形態による装置は絶対座標系および相対座標系の両方を用いることが可能である。相対座標系について、(フィートまたはメートルで測定される)実際の移動距離は、例えば、マウスドライバに通常見られるような感度設定を用いて任意に調整することが可能である。しかし、平均してゼロにならない時間および温度にわたる非線形誤差(“ドリフト”としても知られ、MEMS加速度計の特性である)は、結果としてマウスの一定な加速度となる。適切な処理なしでは、静止している手持ち型装置のためのポインタは画面の外へ加速するように見える。未処理のアナログ加速度信号からデジタル表現に変換されるときに量子化は測定誤差を導入して計算をより困難にする。
【0058】
本発明のこの典型的な実施形態による装置は、図10に表わされているように加速度計の既知の誤差パターンを許容し、かつ訂正するために線形および非線形成分の両方を有するアルゴリズムを含む。その中で、加速度計データサンプル1000は、例えば3×3行列で誤差フィルタリング機能1010に供給される。そして、フィルタリングされた値は、例えば、上述した典型的な実施形態に関して説明したように、スケールおよび/またはオフセットに対応する校正データに基づいて、ボルト/単位重力(V/g)の単位から加速度(g)の単位に変換される(ブロック1020)。それぞれブロック1040、1050によって計算された手持ち型装置の方向に対応する重力値および加速度誤差を減算することによってブロック1030において粗い加速度データが純化(refine)される。重力は、ユーザによって傾けられたときに手持ち型装置に対応して変化する定数加速度である。重力が実際の加速度として誤って読み取られると、画面上のポインタは無限に加速する。暴走するポインタは結果として使用できないユーザインタフェースとなる。この典型的な実施形態は、未処理の加速度計データを方向に処理するベクトル操作を用いる。そして、重力ベクトルが計算され、かつその結果から減算される。重力ベクトルの測定値からの誤差が計算され、かつ将来の測定値から減算される。そして、純化された加速度値は、手持ち型装置の配置に基づいてブロック1060において幾何学的に変換される。そして、ブロック1060の出力は、ブロック1090において加速度データに基づいて決定される実際の位置が計算される前に、位置誤差推定について訂正される(ブロック1070、1080)。そして、位置データは、速度情報として出力される前に、微分され(ブロック1100)、かつブロック1110において非線形処理に従うことが可能である。幾何学変換器1060は方向判定器1120にデータを出力することが可能であり、方向判定器1120は、例えば上述したのと同様な方法で手持ち型装置の方向を判定して手持ち型装置の方向角の表示を出力するとともに、方向誤差推定器1050および重力ベクトル計算器1040に入力を供給する。
【0059】
ブロック1130、1140によって示されているように、手持ち型装置を再校正するために通常のユーザインタフェース動作の利点を有するユーザ相互作用モードを選択的にアルゴリズムに組み込むことが可能である。例えば、ユーザは典型的に対象を選択または“クリック”する前にポインタを動かすことを止める。このモードにおいて、手持ち型装置のアルゴリズムは、重力および位置の両方について再校正入力を供給する特定の期間の間に表示度数の重み付けされた平均を用いる。
【0060】
本発明のこの典型的な実施形態は、内蔵式の手持ち型装置で、またはホストマシンで、アルゴリズム処理が実行されることを可能とする。手持ち型装置とホストマシンとの間の接続は、限定しないが、無線、ブルートゥース(登録商標)、ジグビー(ZigBee)、赤外線を含む多数の技術のいずれか1つとすることが可能であり、そのうちいくつかが、それぞれ図11および図12における典型的なブロック図のハードウェアおよびソフトウェアプラットフォームに表わされている。内蔵式においては、手持ち型装置は処理された位置および方向の情報をホストに送信する。ホストマシンがアルゴリズム処理を実行するときは、手持ち型装置は未処理の加速度データをホストに送信する。図13はアルゴリズムの観点から本発明のこの典型的な実施形態を表わす。その中で、グレーの三角形1300はそのコーナーにおいて3つの加速度計(点)を有する手持ち型装置を表わす。加速度計は上述したように手持ち型装置の加速度を測定し、例えば矢印A〜Aによって示される。軸の組1302、1304は局所的な手持ち型装置の現在の方向を表わし、かつそれぞれ、基準の任意の点に対応する。
【0061】
上述した典型的な実施形態は、本発明を限定するのではなく、全ての面で本発明の説明であることを意図する。したがって、本発明は、この技術分野の当業者によってここに含まれる説明から導き出すことが可能な詳細な実装における多くの変形が可能である。例えば、上述した典型的な実施形態では、その中でも、装置の動きを検出するために慣性センサの使用を説明しているが、上述した信号処理に関して慣性センサに代えて、またはそれに加えて他の種類のセンサ(例えば、超音波、磁気、光)を用いることが可能である。そのような全ての変形および変更は、添付の特許請求の範囲によって定義されるように本発明の範囲および思想に含まれると考えられる。本願の記載に用いられた構成要素、動作、説明は、明示の説明がなければ本発明に重要または必須と解釈されるべきである。また、ここで用いられるように、冠詞”a”は1つまたは複数のアイテムを含むことを意図する。
【図面の簡単な説明】
【0062】
【図1】娯楽システムのための従来のリモートコントロール装置を表わす。
【図2】本発明の典型的な実施形態が実装可能な典型的なメディアシステムを表わす。
【図3】本発明の典型的な実施形態による自由空間ポインティング装置を表わす。
【図4】2つの回転センサおよび1つの加速度計を含む自由空間ポインティング装置の切取内部図を表わす。
【図5】本発明の典型的な実施形態による自由空間ポインティング装置に関するデータの処理を表わすブロック図である。
【図6A】傾きの影響を表わす。
【図6B】傾きの影響を表わす。
【図6C】傾きの影響を表わす。
【図6D】傾きの影響を表わす。
【図7】本発明の典型的な実施形態による自由空間ポインティング装置のハードウェアアーキテクチャを表わす。
【図8】本発明の典型的な実施形態による静止検出機構を表わす状態図である。
【図9】本発明のもう1つの典型的な実施形態に関する6自由度を表わす。
【図10】本発明のもう1つの典型的な実施形態による加速度データを処理するためのアルゴリズムを表わす。
【図11】図10の典型的な実施形態による自由空間ポインティング装置のハードウェアアーキテクチャを表わす。
【図12】図10の典型的な実施形態による自由空間ポインティング装置のソフトウェアアーキテクチャを表わす。
【図13】アルゴリズムの観点から図9および図10の典型的な実施形態を表わす。
【符号の説明】
【0063】
200 集合メディアシステム
210 入力/出力バス
212 テレビ/モニタ
214 ビデオカセットレコーダ
216 デジタルビデオディスク録画/再生装置
218 オーディオ/ビデオチューナ
220 コンパクトディスクプレーヤ
222 マイクロホン/スピーカシステム
224 ビデオカメラ
226 無線I/O制御装置
228 システムコントローラ
230 ケーブル放送
232 衛星放送
234 放送テレビ網
236 電話網
238 ケーブルモデム
400 自由空間ポインティング装置
402、404 ボタン
406 スクロールホィール
408 ディスプレイ
410 カーソル
502、504 回転センサ
506 加速度計
600 処理モデル
602 サンプリングされた加速度計出力
604 変換機能
606 加速度校正ブロック
608 静止検出機能
610 利得行列
612 サンプリングされた回転センサデータ
618 回転校正機能
619 温度センサ
620 回転機能
622 傾き判定機能
624 LPF
800 プロセッサ
802 スクロールホィール
804 JTAG
806 LED
808 スイッチマトリックス
810 赤外線光検出器
812 回転センサ
814 加速度計
816 送受信器
1000 加速度計データサンプル
1010 誤差フィルタリング機能
1040 重力ベクトル計算器
1050 方向誤差推定器
1060 幾何学変換器
1120 方向判定器

【特許請求の範囲】
【請求項1】
同一平面上にない配置で設けられた少なくとも4つの加速度計装置を具備し、
前記少なくとも4つの加速度計装置の各々はそれぞれの加速度計データを出力し、
前記少なくとも4つの加速度計装置の各々からの前記加速度計データを2次元のポインタの動きに変換するアルゴリズムをさらに具備するユーザインタフェース装置。
【請求項2】
前記加速度計装置の各々は2つの加速度計を含む請求項1に記載のユーザインタフェース装置。
【請求項3】
前記加速度計装置の各々は3つの加速度計を含む請求項1に記載のユーザインタフェース装置。
【請求項4】
前記アルゴリズムはユーザの動きの特性に基づいて装置の動きの範囲を定めることによって誤差を削減する請求項1に記載のユーザインタフェース装置。
【請求項5】
前記範囲を定めることはユーザの指、手首、腕、肩の少なくとも1つについてのユーザの動きの範囲を用いて実行される請求項4に記載のユーザインタフェース装置。
【請求項6】
前記範囲を定めることはユーザの震えを用いて実行される請求項4に記載のユーザインタフェース装置。
【請求項7】
前記アルゴリズムはさらにマウスボタンのクリックを生じさせるためのジェスチャーを読み取る請求項1に記載のユーザインタフェース装置。
【請求項8】
前記アルゴリズムはさらにキーストロークまたはオペレーティングシステムメッセージを生じさせるためのジェスチャーを読み取る請求項1に記載のユーザインタフェース装置。
【請求項9】
ユーザインタフェース装置であって、
前記ユーザインタフェース装置に対応する加速度を測定するための複数の加速度計と、
時間にわたって方向の測定を安定させるために重力を利用するアルゴリズムと、
を具備するユーザインタフェース装置。
【請求項10】
手持ち型のユーザインタフェース装置であって、
前記手持ち型のユーザインタフェース装置に対応する加速度を測定するための複数の加速度計と、
前記手持ち型のユーザインタフェース装置がいつ静止したかを検出し、かつ静止状態が検出されたときに前記複数の加速度計の校正を実行するアルゴリズムと、
を具備する手持ち型のユーザインタフェース装置。
【請求項11】
手持ち型のユーザインタフェース装置であって、
複数の加速度計を具備し、
前記複数の加速度計の各々は手持ち型のユーザインタフェース装置の動きに対応する加速度データを供給し、
前記加速度データを2次元のカーソルの動きのデータが生成可能なデータに変換するための処理装置をさらに具備し、
前記処理装置はさらに前記手持ち型のユーザインタフェース装置がいつ静止したかを決定するために前記加速度データを処理し、かつ前記手持ち型のユーザインタフェース装置が静止しているときに前記手持ち型のユーザインタフェース装置を再校正する手持ち型のユーザインタフェース装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図6D】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公表番号】特表2007−509448(P2007−509448A)
【公表日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2006−536917(P2006−536917)
【出願日】平成16年10月25日(2004.10.25)
【国際出願番号】PCT/US2004/035369
【国際公開番号】WO2005/040991
【国際公開日】平成17年5月6日(2005.5.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(506138306)ヒルクレスト・ラボラトリーズ・インコーポレイテッド (22)
【Fターム(参考)】