(57)【要約】  モーションコントロール携帯装置は、第1の軸に沿う加速度を検出する第１の加速度計と、第２の軸に沿う加速度を検出する第２の加速度計とを有する。第２の軸は第１の軸に垂直である。当該装置は、前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分を検出するチルト検出素子と、現在の画像を表示するディスプレイとを有する。当該装置は、前記第１の加速度計、前記第２の加速度計及び前記チルト検出素子を用いて３次元での当該装置の運動を追跡するモーション追跡モジュールを含む。当該装置は前記現在の画像を生成し、当該装置の運動に応じて前記現在の画像を変更するコントローラとを有する。
2007531113.tif 000002
【特許請求の範囲】
【請求項１】
モーションコントロール携帯装置であって、
第1の軸に沿う加速度を検出する第１の加速度計と、
前記第１の軸に垂直な第２の軸に沿う加速度を検出する第２の加速度計と、
前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分を検出するチルト検出素子と、
現在の画像を表示するディスプレイと、
前記第１の加速度計、前記第２の加速度計及び前記チルト検出素子を用いて３次元での当該装置の運動を追跡するモーション追跡モジュールと、
前記現在の画像を生成し、当該装置の運動に応じて前記現在の画像を変更するコントローラと、
を有することを特徴とするモーションコントロール携帯装置。
【請求項２】
前記ディスプレイが表示面を有し、
前記第１及び前記第２の軸が前記表示面に実質的に平行である
ことを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項３】
前記チルト検出素子が、前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を検出する第３の加速度計を有し、
前記モーション追跡モジュールが、前記第３の加速度計で測定された加速度に基づいて、前記第１の軸及び第２の軸のなす面内の並進と、前記第１の軸及び前記第２の軸の少なくとも一方の回りの成分を有する回転とを区別する
ことを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項４】
前記チルト検出素子が、
前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を検出する第３の加速度計と、
ビデオストリームを生成するカメラと、
前記ビデオストリームに基づいて運動方向を検出するビデオ分析モジュールと、
を有することを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項５】
前記チルト検出素子が、前記ビデオストリーム中の対象物と当該装置間の距離を含む距離情報を決定する距離測定器を有し、
前記ビデオ分析モジュールが、前記距離を用いて前記距離に関する並進運動の大きさを判定する
ことを特徴とする請求項４記載のモーションコントロール携帯装置。
【請求項６】
前記チルト検出素子が、
第１のビデオストリームを生成し、前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う第１方向の焦点に合わせられた第１のカメラと、
第２のビデオストリームを生成し、前記第３の軸に沿う第１方向とは逆の第２方向の焦点に合わせられた第２のカメラと、
前記第１のビデオストリーム及び前記第２のビデオストリームに基づいて、当該装置の運動方向を検出するビデオ分析モジュールと、
を有することを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項７】
前記チルト検出素子が、前記第３の軸に沿う加速度を検出する第３の加速度計を更に有する
ことを特徴とする請求項６記載のモーションコントロール携帯装置。
【請求項８】
前記ビデオ分析モジュールが、
前記第１のビデオストリーム中の対象物の第１エッジを検出し、
前記第２のビデオストリーム中の対象物の第２のエッジを検出し、
前記第１エッジ及び前記第２エッジの動きを確認し、
前記第１エッジの動き及び前記第２エッジの動きの間の相違を判定し、
該相違に基づいて傾斜成分及び並進成分を判定する
ことを特徴とする請求項６記載のモーションコントロール携帯装置。
【請求項９】
当該装置の第１の位置に関する当該装置の動きにより規定されるジェスチャーを複数含むジェスチャーデータベースと、
ジェスチャー各々と対応するコマンドとを対応付けるジェスチャーマッピングデータベースと、
を更に有し、前記コントローラが、追跡した当該装置の動きとジェスチャーを比較して受信したジェスチャーを確認し、受信したジェスチャーに対応付けられる関連するコマンドを確認し、確認されたコマンドを実行して前記現在の画像を修正する
ことを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項１０】
前記モーション追跡モジュールが、当該装置の動きに基づいて、前記第１の軸及び前記第２の軸のなす面内での当該装置の並進運動を確認するよう更に動作し、
前記現在の画像はより大きな画像の小区分であり、
前記コントローラは、並進運動に起因する当該蔵置の位置に基づいて、より大きな画像中の別の小区分を表示するように現在の画像を連続的に修正する
ことを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項１１】
前記モーション追跡モジュールは、前記第１の加速度計により検出された加速度及び前記第２の加速度計により検出された加速度のうち或るノイズ閾値より小さく現れるものを無視するよう動作する
ことを特徴とする請求項１記載のモーションコントロール携帯装置。
【請求項１２】
携帯装置を制御する方法であって、
第1の軸に沿う加速度を第１の加速度を用いて検出するステップと、
前記第１の軸に垂直な第２の軸に沿う加速度を第２の加速度を用いて検出するステップと、
前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分をチルト検出素子を用いて検出するステップと、
前記第１の加速度計、前記第２の加速度計及び前記チルト検出素子を用いて３次元での当該装置の運動を追跡するステップと、
前記装置のディスプレイを用いて前記現在の画像を生成し、当該装置の追跡した運動に応じて前記現在の画像を変更するステップと、
を有することを特徴とする方法。
【請求項１３】
前記ディスプレイが表示面を有し、
前記第１及び前記第２の軸が前記表示面に実質的に平行である
ことを特徴とする請求項１２記載の方法。
【請求項１４】
前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を、前記チルト検出素子の第３の加速度計を用いて検出するステップと、
前記第３の加速度計で測定された加速度に基づいて、前記第１の軸及び第２の軸のなす面内の並進と、前記第１の軸及び前記第２の軸の少なくとも一方の回りの成分を有する回転とを区別するステップと、
を有することを特徴とする請求項１２記載の方法。
【請求項１５】
前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を、前記チルト検出素子の第３の加速度計を用いて検出するステップと、
当該装置のカメラで生成したビデオストリームを監視するステップと、
前記ビデオストリームに基づいて運動方向を検出するステップと、
を有することを特徴とする請求項１２記載の方法。
【請求項１６】
前記ビデオストリーム中の対象物と当該装置間の距離を含む距離情報を決定するステップと、
前記距離を用いて当該装置の並進運動の大きさを判定するステップと、
ことを特徴とする請求項１５記載の方法。
【請求項１７】
当該装置の第１のカメラにより生成された第１のビデオストリームを監視し、前記第１のカメラは前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う第１方向の焦点に合わせられており、
当該装置の第２のカメラにより生成された第２のビデオストリームを監視し、前記第２のカメラは前記第３の軸に沿う第１方向とは逆の第２方向の焦点に合わせられており、
前記第１のビデオストリーム及び前記第２のビデオストリームに基づいて、当該装置の運動方向を検出する、
ことを特徴とする請求項１２記載の方法。
【請求項１８】
前記第１のビデオストリーム中の対象物の第１エッジを検出し、
前記第２のビデオストリーム中の対象物の第２のエッジを検出し、
前記第１エッジ及び前記第２エッジの動きを確認し、
前記第１エッジの動き及び前記第２エッジの動きの間の相違を判定し、
該相違に基づいて傾斜成分及び並進成分を判定する
ことを特徴とする請求項１７記載の方法。
【請求項１９】
当該装置の第１の位置に関する当該装置の動きにより規定されるジェスチャーを複数含むジェスチャーデータベースと追跡した当該装置の動きとを比較し、
受信したジェスチャーに対応付けられるコマンドを確認し、
確認されたコマンドを実行して前記現在の画像を修正する
ことを特徴とする請求項１２記載の方法。
【請求項２０】
コンピュータ読み取り可能な媒体に組み込まれる、携帯装置を制御するための論理装置であって、
第1の軸に沿う加速度を第１の加速度を用いて検出するステップと、
前記第１の軸に垂直な第２の軸に沿う加速度を第２の加速度を用いて検出するステップと、
前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分をチルト検出素子を用いて検出するステップと、
前記第１の加速度計、前記第２の加速度計及び前記チルト検出素子を用いて３次元での当該装置の運動を追跡するステップと、
前記装置のディスプレイを用いて前記現在の画像を生成し、当該装置の追跡した運動に応じて前記現在の画像を変更するステップと、
をコンピュータに実行させることを特徴とする論理装置。
【請求項２１】
前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を、前記チルト検出素子の第３の加速度計を用いて検出するステップと、
前記第３の加速度計で測定された加速度に基づいて、前記第１の軸及び第２の軸のなす面内の並進と、前記第１の軸及び前記第２の軸の少なくとも一方の回りの成分を有する回転とを区別するステップと、
をコンピュータに実行させることを特徴とする請求項２０記載の論理装置。
【請求項２２】
前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を、前記チルト検出素子の第３の加速度計を用いて検出するステップと、
当該装置のカメラで生成したビデオストリームを監視するステップと、
前記ビデオストリームに基づいて運動方向を検出するステップと、
をコンピュータに実行させることを特徴とする請求項２０記載の論理装置。
【請求項２３】
前記ビデオストリーム中の対象物と当該装置間の距離を含む距離情報を決定するステップと、
前記距離を用いて当該装置の並進運動の大きさを判定するステップと、
をコンピュータに実行させることを特徴とする請求項２０記載の論理装置。
【請求項２４】
当該装置の第１のカメラにより生成された第１のビデオストリームを監視し、前記第１のカメラは前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う第１方向の焦点に合わせられており、
当該装置の第２のカメラにより生成された第２のビデオストリームを監視し、前記第２のカメラは前記第３の軸に沿う第１方向とは逆の第２方向の焦点に合わせられており、
前記第１のビデオストリーム及び前記第２のビデオストリームに基づいて、当該装置の運動方向を検出する、
ことをコンピュータに実行させる特徴とする請求項２０記載の論理装置。
【請求項２５】
前記第１のビデオストリーム中の対象物の第１エッジを検出し、
前記第２のビデオストリーム中の対象物の第２のエッジを検出し、
前記第１エッジ及び前記第２エッジの動きを確認し、
前記第１エッジの動き及び前記第２エッジの動きの間の相違を判定し、
該相違に基づいて傾斜成分及び並進成分を判定する
ことをコンピュータに実行させることを特徴とする請求項２４記載の論理装置。
【請求項２６】
当該装置の第１の位置に関する当該装置の動きにより規定されるジェスチャーを複数含むジェスチャーデータベースと追跡した当該装置の動きとを比較し、
受信したジェスチャーに対応付けられるコマンドを確認し、
確認されたコマンドを実行して前記現在の画像を修正する
ことをコンピュータに実行させることをと特徴とする請求項２０記載の論理装置。
【請求項２７】
モーションコントロール携帯装置であって、
第1の軸に沿う加速度を第１の加速度を用いて検出する手段と、
前記第１の軸に垂直な第２の軸に沿う加速度を検出する手段と、
前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分を検出する手段と、
前記第１の軸に沿う加速度、前記第２の軸に沿う加速度及び前記回転成分に基づいて、３次元での当該装置の運動を追跡する手段と、
前記装置のディスプレイを用いて前記現在の画像を生成し、当該装置の追跡した運動に応じて前記現在の画像を変更する手段と、
を有することを特徴とするモーションコントロール携帯装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に携帯装置に関連し、特にモーションインターフェース(motion  interface)を備えた携帯装置に関連する。
【背景技術】
【０００２】
セルラ電話及びパーソナルディジタルアシスタント（PDA）のようなコンピュータ装置の利用性は急速に成長しつつある。そのような装置は、キーパッド及びディスプレイのような様々なタイプのインターフェースを介して多くの様々な機能をユーザに提供する。あるコンピュータ装置は、ユーザによる装置の傾き(tilt)を検出することで、動き(motion)をインターフェースとして利用する。あるモーションインターフェースの例は、釣り糸でコンピュータ装置を拘束すること(tethering)又は大量の電力を要する大型の磁性追跡装置を持ち運ぶことを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、モーションインターフェースを有する携帯装置を提供することである。
【課題を解決するための手段】
【０００４】
本発明では、モーションインターフェースを備えた携帯装置が使用される。
【０００５】
特定の携帯では、モーションコントロール携帯装置は、第1の軸に沿う加速度を検出する第１の加速度計と、第２の軸に沿う加速度を検出する第２の加速度計とを有する。第２の軸は第１の軸に垂直である。当該装置は、前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分を検出するチルト検出素子と、現在の画像を表示するディスプレイとを有する。当該装置は、前記第１の加速度計、前記第２の加速度計及び前記チルト検出素子を用いて３次元での当該装置の運動を追跡するモーション追跡モジュールを含む。当該装置は前記現在の画像を生成し、当該装置の運動に応じて前記現在の画像を変更するコントローラとを有する。
【０００６】
前記ディスプレイは表示面を有し、前記第１及び前記第２の軸は前記表示面に実質的に平行である。前記チルト検出素子は、前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を検出する第３の加速度計を有する。前記モーション追跡モジュールは、前記第３の加速度計で測定された加速度に基づいて、前記第１の軸及び第２の軸のなす面内の並進と、前記第１の軸及び前記第２の軸の少なくとも一方の回りの成分を有する回転とを区別する。前記チルト検出素子は、前記第１の軸と垂直であって前記第２の軸とも垂直な第３の軸に沿う加速度を検出する第３の加速度計を有する。チルト検出素子は、ビデオストリームを生成するカメラと、前記ビデオストリームに基づいて運動方向を検出するビデオ分析モジュールとを有する。
【０００７】
別の形態によれば、携帯装置を制御する方法は、第1の軸に沿う加速度を第１の加速度を用いて検出するステップと、第２の軸に沿う加速度を第２の加速度を用いて検出するステップとを有する。第２の軸は第１の軸に垂直である。当該方法は、前記第１の軸及び前記第２の軸の少なくとも一方の回りの回転成分をチルト検出素子を用いて検出するステップと、前記第１の加速度計、前記第２の加速度計及び前記チルト検出素子を用いて３次元での当該装置の運動を追跡するステップとを含む。当該方法は、前記装置のディスプレイを用いて前記現在の画像を生成し、当該装置の追跡した運動に応じて前記現在の画像を変更するステップを有する。
【発明を実施するための最良の形態】
【０００８】
本発明の特定の携帯による技術的利点は、装置の傾斜及び並進並びに並進面を識別可能なモーション検出素子を携帯装置が備えることを含む。従ってその装置は、入力として機能する多数の運動を認識することができ、装置の機能性を増やす。ある形態では、多数の様々なタイプのモーション検出素子が組み合わせられ、装置に望まれる機能に依存する最も適切な素子を用いて装置を製造者が設計することを可能にする。
【０００９】
他の技術的利点は以下の図面、詳細な説明及び特許請求の範囲から当業者には更に明確になるであろう。なお、特定の利点が列挙されたが、様々な実施例は列挙された利点の全部又は一部を含んでもよいし、全く含まなくてもよい。
【００１０】
本発明の特定の実施例及びその利点のより完全な理解を期するため、添付図面に関連して以下の説明がなされる。
【実施例１】
【００１１】
図１は特定の実施例によるモーションインターフェース機能を備えた携帯装置１０を示す。携帯装置１０は、携帯装置の動き（モーション）を認識することができ、そのようなモーションに対応する様々な機能を実行することができる。そして装置のモーションは装置の入力をなすように機能する。そのようなモーション入力は、装置のディスプレイに表示されるものを直接的に変えてもよいし、或いは他の機能を実行してもよい。携帯装置１０は、移動電話、パーソナルディジタルアシスタント（ＰＤＡ）、スチールカメラ、ビデオカメラ、携帯用計算機、携帯用のラジオその他の音楽又は映像プレーヤ、ディジタル温度計、ゲーム装置、携帯用電子装置、腕時計等から構成されてもよいし、或いはユーザが携帯する又は身に付けることの可能な他の如何なる装置から構成されてもよい。上記に列挙されているように、携帯装置１０は腕時計のような身に付けることが可能な携帯装置をも含んでよい。腕時計はユーザの手首の回りに携えた如何なるコンピュータ装置をも含んでよい。
【００１２】
携帯装置１０はディスプレイ１２、入力１４、プロセッサ１６、メモリ１８、コンピュータインターフェース２０及びモーション検出器２２を含む。ディスプレイ１２は、装置の視覚的な出力を与え、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）又はユーザに出力を通知する他の如何なるタイプの装置から構成されてもよい。入力１４は装置への入力を通知するためのユーザ用インターフェースを提供する。入力１４は、キーボード、キーパッド、トラックボール、ノブ、タッチパッド、ステンシルから構成されてもよいし、或いはユーザが装置１０に入力を通知する他の如何なる素子から構成されてもよい。特定の実施例ではディスプレイ１２及び入力１４はタッチ画面のように同一素子に組み合わせられてもよい。
【００１３】
プロセッサ１６はマイクロプロセッサ、コントローラ又は適切な他の如何なるコンピュータ装置若しくはリソースでもよい。プロセッサ１６は、携帯装置１０のシステム内で利用可能な機能を実行するための様々なコンピュータ言語で様々なタイプのコンピュータ命令を実行するように構成される。プロセッサ１６は携帯装置１０の管理及び動作を制御する適切な如何なるコントローラを含んでもよい。
【００１４】
メモリ１８は、限定ではないが、磁気媒体、光媒体、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、取り外し可能な媒体その他の適切な如何なるローカルな若しくはリモートのメモリ素子を含む適切な如何なる形式の揮発性又は不揮発性のメモリでもよい。メモリ１８はプロセッサ１６により実行可能なソフトウエア、論理モジュール又は素子を含む。メモリ１８は、以下で更に説明されるようなマッピング、カレンダ及びファイル管理アプリケーションのような、モーション入力を用いるユーザインターフェースを備えた様々なアプリケーション１９を含んでよい。また、後述されるように、メモリ１８は、ジェスチャーデータベース及び機能又はジェスチャーマッピングデータベースのような様々なデータベースを含む。メモリ１８の構成要素は本発明の範囲内で特定の必要性及び要請に応じて処理を行うように結合されてもよいし及び／又は分割されてもよい。通信インターフェース２０は、他の携帯装置や素子のような他の装置との間でのデータ及び情報の無線又は有線の通信をサポートする。
【００１５】
モーション検出器２２は、或る機能を実行するための或る形式の入力として使用される携帯装置１０の動きを追跡する。そのような入力モーションは、以下で更に説明されるように所望のタスクを実行するために、ユーザが所望の形式で装置を動かすことで生じる。
【００１６】
特定の実施例による携帯装置１０は、ここで説明されるような機能を実行する適切な如何なる処理モジュール及び／又はメモリモジュール（例えば、制御モジュール、モーション追跡モジュール、映像分析モジュール、モーション応答モジュール、表示制御モジュール及び署名検出モジュール等）を含んでもよいことが理解されるべきである。
【００１７】
特定の実施例では、入力の動きは、並進(translation)及び／又はジェスチャーの形式である。並進ベースの入力は、動きの始点及び終点並びにそのような始点及び終点間の差分に着目する。ジェスチャーベースの入力は、装置の通った実際の経路に着目し、横切った点群の全体像である。一例として、並進ベースの入力を用いてマップをナビゲーションする場合、“Ｏ”の形の動きは動く途中で表示を変えるが、動く前に表示されていた情報と動いた後に表示された情報との間では最終的に何の変化もない（なぜなら、装置は動きが終了した時にスタート地点と同じ地点にいると思われるからである。）。しかしながら、ジェスチャー入力モードの場合、（例えば、たとえ始点及び終点が同じになったとしても）装置は“Ｏ”の形に通ったことを認識するであろう。なぜなら、ジェスチャーベースの入力の場合、装置はその動き又は移動の間にジェスチャーの始点及び終点の間で通った経路に着目するからである。このジェスチャー“Ｏ”の動きは、“Ｏ”のジェスチャーを構成する経路に沿って移動したことを装置が認識した場合に、以下に詳細に説明されるような或る機能を実行するように、特定の機能に対応付けられてもよい。特定の実施例では、或る意思表示（ジェスチャー）として意図される装置の動きは、ジェスチャーデータベース中のジェスチャーを規定するものと、一連の、連続的な又はパターン的な加速運動とを照合することで、ジェスチャーと同様に装置によって認識されてもよい。
【００１８】
他の実施例による携帯装置は図１に示される装置の或る要素を含まなくてもよい。例えば或る実施例ではモーション検出器と別個の入力１４のない携帯装置１０を用意し、装置の動きがその装置に関する単独の又は主要な入力を与えるようにする。他の実施例による携帯装置は、装置１０に関して具体的には図示されていない付加的な素子を含んでよいことが理解されるべきである。
【００１９】
図２は本発明の特定の実施例による図１のモーション検出器２２を示す。この例では、モーション検出器２２は加速度計24a,24b,24cと、カメラ26a,26b,26cと、ジャイロ28a,28b,28cと、レンジファインダ30a,30b,30cと、プロセッサ３２とを含む。
【００２０】
加速度計24a,24b,24cは各自の検出軸に沿う加速度を検出することで装置の運動を検出する。装置の特定の動きは、加速度計により検出される一連の、連続的な又はパターン的な加速度を含んでよい。携帯装置が特定の加速度系の検出軸に沿って傾けられると、その検出軸に沿う重力加速度が変化する。重力加速度のこの変化は、加速度計により検出され、装置の傾きに反映する。同様に、回転も傾斜も伴わない携帯装置の並進又は装置の運動も、加速度計で検出される検出軸に沿う加速度の変化を生み出す。
【００２１】
図示の例では、加速度計24aはＸ軸に沿う装置の運動を検出するＸ軸加速度計を構成し、加速度計24bはＹ軸に沿う装置の運動を検出するＹ軸加速度計を構成し、加速度計24cはＺ軸に沿う装置の運動を検出するＺ軸加速度計を構成する。これらを組み合わせると、加速度計24a,24b,24cは装置１０の回転及び並進を検出できる。上述のように装置１０の回転及び／又は並進は、装置を操作するユーザからの入力として機能してよい。
【００２２】
モーション検出に３つの加速度計を利用すると或る利点がもたらされる。例えば、２つの加速度計しか使用されなかったならば、そのモーション検出器は、並進面での傾斜により、携帯装置の明確な（曖昧さのない）並進を検出できない。しかしながら、第３のＺ軸加速度計（他の２つの加速度計の検出軸に少なくとも近似的に垂直な検出軸を有する加速度計）を利用すると、ほとんどの並進から、ほとんどの傾斜を明確化できるようにする。
【００２３】
加速度計24a,24b,24cによって互いに認識できない或る固有の動きが存在するかもしれないことが理解されるべきである。例えば、或る回転及び或る並進を伴う運動は、加速度計24a,24b,24cにとって、別の特定の回転及び別の特定の並進を伴う別の運動と同じであるように見えるかもしれない。モーション検出器２２が動きを検出するように（より高い精度を保証する付加的な何らかの素子を設けずに）単に３つの加速度計を含んでいたならば、或る特定の認識できない運動が同一機能に対応付けられるかもしれない、又は混乱を避けるために機能に対応付けられないかもしれない。
【００２４】
上述したように、モーション検出器２２はカメラ26a,26b,26cを含み、カメラは電荷結合素子（CCD）カメラその他の光センサで構成されてもよい。カメラ26a,26b,26cは（傾斜及び並進ともに）携帯装置の動きを検出する別の手法を提供する。モーション検出にただ１つのカメラが装置に設けられていたならば、（加速度計のような他の動き検出素子を使用しなかったならば）装置の傾斜は並進と区別できないかもしれない。しかしながら少なくとも２つのカメラを使用することで、傾斜及び並進は互いに識別可能になる。例えば、２つのカメラが携帯装置１０に（１つは装置の上面に、及び１つは装置の底面に）設けられていた場合、装置が左に並進すると、各カメラは右に動く世界を見るであろう。装置が水平に横たわっていた場合に、左端を持ち上げつつ右端を下げることによって装置が回されると、底面のカメラは右に動く世界を感知し、上面のカメラは左に動く世界を感知する。かくて装置が並進する場合には対向面のカメラは同じ方向に動く世界（この例では左に動く世界）を見るであろう。装置が回されると、対向面のカメラは反対向きに動く世界を見るであろう。この演繹的なプロセスは逆でも成り立つ。双方のカメラが同じ方向に動く世界を見るならば、モーション検出器はその装置が並進運動させられていることを知る。双方のカメラが逆向きに動く世界を見るならば、モーション検出器は装置が回されていることを知る。
【００２５】
装置が回された場合、そのカメラに対する世界の動きの大きさは、装置の回転の大きさに直接的に関連する。かくてカメラに対する世界の動きに基づいて回転量が正確に判定可能である。しかしながら装置が並進させられていた場合、その並進の大きさは、カメラに対する世界の動きの大きさと、カメラの視野中の対象物までの距離との双方に関連する。従って、カメラだけを用いて並進量を正確に判定するには、カメラの視野中の対象物までの距離に関する或る形式の情報が取得されなければならない。しかしながら或る実施例では距離測定機能を備えたカメラが使用される。
【００２６】
距離情報のない場合でさえ、光学的な情報は、加速度計又は他のセンサからの情報と関連付けられる場合に重要な値になり得ることが理解されるべきである。例えば、光学的なカメラの入力は、大きな動きが一切生じていないことを装置に通知するのに使用されてよい。これはドリフトに関する問題の解決手段をもたらし、その問題は或る装置機能にとっての絶対的な位置情報を決定するために加速度データを利用する場合に固有の問題である。
【００２７】
上述したように、動きを検出するのにカメラが使用される場合に、距離情報は並進量を決定するのに有用である。図示の例では、そのような距離情報が距離測定器30a,30b,30cにより用意される。距離測定器30a,30b,30cは、超音波距離測定器、レーザ距離測定器その他の適切な如何なる距離測定素子で構成されてもよい。距離情報を決定するために他の素子が使用されてもよい。例えば距離測定機能を備えたカメラが使用されてもよいし、双眼立体映像(stereopsis)を用いて距離測定部として機能するように装置の同じ側に複数のカメラが使用されてもよい。決定された距離情報は、並進に起因する何らかの明示的な並進成分及び回転に起因する成分の正確且つ明示的な計算を可能にする。
【００２８】
上述したように、モーション検出器２２は付加的にジャイロ28a,28b,28cを含む。ジャイロ28a,28b,28cはモーション検出器２２の他の素子と組み合わせて使用され、装置の動きを検出する精度を高める。
【００２９】
プロセッサ３２は加速度計２４、カメラ２６、ジャイロ２８及び距離測定器３０空のデータを処理し、装置１０の動きを示す出力を生成する。プロセッサ３２はマイクロプロセッサ、コントローラその他の適切な如何なるコンピュータ装置又はリソース（例えば、各カメラからビデオストリームを受信する映像分析モジュール等）から構成されてもよい。或る実施例では、モーション検出器２２のプロセッサ３２に関連してここで説明される処理は、携帯装置１０のプロセッサ１６により又は適切な他の如何なるプロセッサ（その装置から遠隔して位置するプロセッサを含む）により実行されてもよい。
【００３０】
上述したように、モーション検出器２２は３つの加速度計、３つのカメラ、３つのジャイロ及び３つの距離測定器を含む。他の実施例によるモーション検出器は、このモーション検出器２２のものより少数の又はそれとは別の素子を含んでもよい。例えば或る実施例は、３つの加速度計を備えるがカメラ、ジャイロ又は距離測定器を一切備えないモーション検出器；２つ又は３つの加速度計及び１つ又はそれより多いジャイロを備えたモーション検出器；２つ又は３つの加速度計及び１つ又はそれより多いカメラを備えたモーション検出器；又は２つ又は３つの加速度計及び１つ又はそれより多い距離測定器を備えたモーション検出器を含んでもよい。更に、モーション検出素子の装置での配置は様々な実施例で異なってよい。例えば、ある実施例は装置とは別の面にカメラを含むかもしれないが、別の実施例は（例えば、距離測定機能を付加するために）同一面に２つのカメラを含むかもしれない。
【００３１】
モーション検出器２２の要素のタイプ、数及び位置を変えることは、様々なタイプの動きを検出する或いは正確に測定するモーション検出器の能力に影響を及ぼすかもしれない。上述したように、モーション検出器の要素のタイプ及び数は、特定の要請を満たすように様々な実施例で異なってよい。モーション検出機能を備えた携帯装置の製造コストを減らすために精度を犠牲にすることが望まれる特定の実施例では、より少数の又はより低い精度の素子が使用されるかもしれない。例えば、ある携帯装置は、その装置の所望の機能を実行するには、装置が並進させられていることの検出だけを必要とし、そのような並進の正確な量を検出する必要はないかもしれない。そのような携帯装置は、距離情報をもたらす何らかの種類の距離測定器や他の素子を備えないがカメラを備えるモーション検出器を含んでよい。特定の実施例では、カメラ及び距離測定器のような上述の素子は、動き検出機能に関連する上述のもの以外の他の目的のためにその装置で使用されてもよい。
【００３２】
図３は図１の携帯装置１０のモーション検出素子の利用例を示す図である。モーション検出素子からの未処理データはプロセッサ３２で処理される。そのような未処理データは、加速度計24a,24b,24c各々からのＸ軸加速度計の未処理データ23a、Ｙ軸加速度計の未処理データ23b及びＺ軸加速度計の未処理データ23c；カメラ26a,26b,26c各々からのカメラ未処理データ25a、カメラ未処理データ25b及びカメラ未処理データ25c；ジャイロ28a,28b,28c各々からのジャイロ未処理データ27a、ジャイロ未処理データ27b及びジャイロ未処理データ27c；及び距離測定器30a,30b,30c各々からの距離測定器の未処理データ29a、距離測定器の未処理データ29b及び距離測定器の未処理データ29cを含む。何らかの実施例における場合のように、携帯装置がより多数の、より少数の又は別のモーション検出要素を含む場合には、未処理データは包含される要素に対応してよい。
【００３３】
未処理データはプロセッサ３２で処理され、装置１０の動きを識別するモーション検出器出力３４を生成する。図示の例では、モーション検出器出力３４はx,y,z軸に沿う並進と、x,y,z軸に関する回転とを含む。モーション検出器出力は携帯装置のプロセッサ１６に通知され、プロセッサは、装置の動きに基づいてその装置が実行すべき動作、機能又はタスク（即ち、装置の挙動３６）を判定する。特定の動きに基づく或る動作、機能又はタスクの実行は後に更に説明される。
【００３４】
図４は特定の実施例によるモーション検出機能を備えた携帯装置３１の等距離図を示す図である。携帯装置３１はｘ軸加速度計３３、ｙ軸加速度計３５及びｚ軸に向くカメラ３７を含む。Ｘ軸３８、Ｙ軸３９及びＺ軸４０もリファレンスとして装置３１に関して図示されている。携帯装置３１は、加速度計３３，３５及びカメラ３７を用いて様々な方向の傾斜及び並進を含む動きを検出する。携帯装置３１は、ディスプレイ１２、入力１４、プロセッサ１６、メモリ１８及び通信インターフェース２０のような、携帯装置１０に関して図示及び説明された素子のような他の素子を含んでもよい。上述したように、特定の実施例は（加速度計、ジャイロ、カメラ、距離測定器又は適切な他の素子を含む）様々なタイプのモーション検出素子を有する携帯装置を、その装置に関して適切な如何なる手法で如何なる組み合わせ及び位置又は向きに含んでもよい。
【００３５】
特定の実施例では、ユーザインターフェース機能は、ある時点の或る動きの軸に沿う入力運動を利用してもよい。例えば、装置のアプリケーションは、特定の軸に沿って（例えば、１つの方向に又は双方向に）装置を動かすことで、携帯装置に表示されたリストをユーザがスクロールすることを可能にしてもよい。装置の動きを望まれる特定の軸に制限することが、ユーザにとって困難かもしれない。言い換えれば、ユーザの生み出す別の軸に関する何らかの回転又は運動が回避困難かもしれない。この問題に対処するため、本装置は好ましい動きを選択する機能（支配的な動きの選択及び増幅、並びに他の方向又は軸に関する動きの最小化を含む機能）を含んでもよい。
【００３６】
図５は、上述したような支配的な運動の選択及び増幅並びに他の方向に関する動きの最小化を行う様子を示す。図示の例では、「実際の運動４１」が携帯装置の動きを表現する。実際の運動４１は、或る軸４４に沿う運動成分４２と軸４４に垂直な別の軸４８に沿う運動成分４６とを有する。運動４２の量は運動４６の量より大きいので、携帯装置は支配的な動きとして運動４２を選択する。そして携帯装置はこの支配的な動きを増幅し、運動４６（他の運動成分）を最小化し、実際の運動４１が、運動５０のように描かれたように装置で処理されるようにする。支配的な動きの増幅の度合い又はサイズは、その時点で装置で動作している特定のアプリケーションのような特定の要因に応じて様々な実施例で異なってよい。更に支配的な動きの増幅は、加速度の大きさ、動きの速度、或る方向（例えば、動き４６）に対する別の方向の動き（例えば、動き４２）の比率、ナビゲートされる基礎とするデスクトップのサイズ、又はユーザの好み等に基づいてもよい。或る実施例では、携帯装置は、或る運動属性が生じた場合にのみ好ましいモーション選択を実行する。例えば場合によっては、携帯装置は、或る軸の動きが何らかの他の動きよりも３回以上多かった場合に支配的な動きを選択及び増幅してもよい。その他の、より小さな動きは最小化されてもよい。
【００３７】
支配的な動きの選択及び増幅並びに他の動きの最小化は、モーションユーザインターフェースを利用するようにユーザの機能を更に拡張し、携帯装置又は装置で走っているアプリケーションが、望まれないノイズであってユーザが誘発したところのノイズをフィルタリングすることを可能にする。この機能により、ユーザは例えば装置を左に動かして調べるリストを取り出し、上下に動かすことでそのリストをスクロールすることができるかもしれない。不適切な軸に沿う動きは無視される或いはその装置によりかなり減らされてよい。
【００３８】
特定の実施例では、支配的な動きの選択及び増幅並びに他の動きの最小化は、装置の回転運動にも適用されてよい。並進運動に関して上述したように或る軸に沿う動きの場合と同様な手法で、或る軸の回りの支配的な運動が選択され及び増幅されてよい。更に、（支配的な回転でない）別の軸の回りの回転が最小化されてもよい。
【００３９】
図６は本発明の特定の実施例による好ましいモーション選択用のフローチャートを示す。フローチャートでは、携帯装置の動きに対応する未処理データが受信される。図示の例では、モーション未処理データは、ｘ−加速データ62a、ｙ−加速データ62b、ｚ−加速データ62cを含み、ステップ６４で処理され、装置の動きを示す出力を生成する。他の実施例は、光学的又はカメラデータ、ジャイロデータ及び／又は距離測定データのような他のタイプのモーション未処理データを含む。未処理加速データ６２の処理の後に、ステップ６６で運動の支配的な軸が選択される。運動に関して選択された支配的な軸がｘ軸であったならば、ステップ６８ａでｘ軸に沿う運動が増やされる。運動に関して選択された支配的な軸がｙ軸であったならば、ステップ６８ｂでｙ軸に沿う運動が増やされる。運動に関して選択された支配的な軸がｚ軸であったならば、ステップ６８ｃでｚ軸に沿う運動が増やされる。運動に関して支配的な軸における運動の増量は、使用されるアプリケーションに又は他の特性に従って様々な実施例で異なってよい。或る実施例では、ユーザの好み６９が運動の増量又はタイプを決定するのに使用されてよい。運動の支配的な軸以外の軸に沿う運動は上述したように最小化され、そのような運動は特定のアプリケーションでは使用に際して無視される。ステップ７０では増やされた運動が処理され、装置の挙動７２をもたらす。この処理ステップは、使用されるアプリケーションにアクセスし、増やされた動きに基づいて実行する特定の装置の挙動を決定することを含んでもよい。増幅された運動は、使用するアプリケーション、特定のユーザ又はその他に従う多数のタイプの装置動作のどれをもたらしてもよい。
【００４０】
モーション入力を用いる特定のユーザインターフェースに関し、装置の位置に関連する、携帯装置１０のディスプレイ１２に表示された情報、又は仮想ディスプレイの位置を有する価値があるかもしれない。例えば、装置に表示された地図上を走行するような並進入力を用いる特定の実施例では、携帯装置の位置はディスプレイ１２に表示されるマップの部分を直接的に決定するかもしれない。しかしながら、装置の位置情報が絶対的に維持されるならば（例えば、グローバルポジショニングサテライト（ＧＰＳ）ベースのシステム）、マップ又はメニューナビゲーションのような多くのタスクの利用性は減退するかもしれない。かくて、ローカルな状況で「ゼロ点」（基準点）又は原点を決めることが状況によっては便利であり、そのゼロ点等は装置の挙動を決定するのに使用されてよい。例えば、装置が地点Ａにある場合にゼロ点が決定されるならば、地点Ａ及び地点Ｂ間の運動が入力として使用される。特に、ゼロ点を設定する有用なアプリケーションは、仮想ディスプレイを動かすこと、或いはユーザの体の回りの空間にアプリケーションを設置することのような外部挙動を含む。ゼロ点を設定することは、現在の向きにおける重力加速度を無視するように装置に命令するような内部挙動に取り組み、追加的に及びおそらくはユーザがもたらした加速度に関してのみ装置を動作可能にする。
【００４１】
特定の実施例による携帯装置は、或る回数でのみモーション入力を利用するアプリケーションユーザインターフェースを含んでもよい。他の回数では、例えば、装置の運動は入力として使用されず、これは装置のモーション検出機能又はモーション検知機能を「ターンオフ」にする或いは外すのに有用かもしれない。モーション感度機能を外すことは、例えば、装置１０又は他の素子（例えば、装置のモーション応答モジュール等）のモーション検出器２２の非活性化を含んでもよい。特定の実施例は装置のモーション検知機能の関与及び不関与の選択を可能にする。
【００４２】
一例として、モーション検出器２２で検出された動きに基づいてディスプレイ１２を修正するモーション応答モジュールは或る動作モードを有し、その動作モードは、モーション検知がイネーブルにされる別の動作モードにスイッチングするトリガを待機する動作モードである。モーション検知がイネーブルにされない場合には、装置の如何なる動きも無視される。そのトリガはその装置に対するゼロ点を設定してもよい。ゼロ点が設定されると、モーション応答モジュールは、モーション検出素子からの測定値に基づいて装置のベースラインの向きを測定してよい。ベースラインの向き（基線方向）は、トリガが受信された時の装置の位置を含んでもよい（モーション検出素子からの情報により決定される。）。装置の更なる動きは、基線方向と比較され、実行する機能又は修正（装置に関するユーザの動きに基づいてディスプレイ１２になされるべき修正）を決定する。
【００４３】
特定の実施例は、装置のモーション検知の選択的な関与／不関与及びゼロ点選択に関する単独のトリガとして動作するユーザの起こす動作をいくつでも用意してよい。そのような動作は例えば入力１４におけるキー押下、特定方向での装置１０の運動（例えば、特定のジェスチャーに対応する動き）及びディスプレイ１２のタッピング（ディスプレイをたたくこと）を含んでもよい。ユーザの起こしたアクションは、ゼロ点を設定し、同時に装置のモーション検知機能を使用するようにしてよいことが理解されるべきである。
【００４４】
或る実施例では、インアクティブな期間又はアクティビティが最少の期間（即ち、比較的静止状態の期間）にゼロ点及びモーション検知機能の関与又は不関与を設定してもよい。図７は携帯装置のゼロ点を受動的に設定するためのフローチャート８０を示す。ステップ82aでｘ軸に関する加速度変化が検出され、ステップ82bでｙ軸に関する加速度変化が検出され、ステップ82cでｚ軸に関する加速度変化が検出される。ステップ84a,84b,84cでは、検出された何らかの加速度変化が或る特定の各自の閾値より大きいか否かが検査される。３つの軸各々に関して検出された加速度変化が、設定された閾値より大きくなかったならば、その装置は静止状態であると考えられてよく、ステップ86aでゼロ点が設定される。静止位置は、例えばモーション検出器２２の要素の運動成分又は未処理データの安定化により決定されてよい。しかしながら３つの何れかの軸に沿って検出された加速度変化が、設定された閾値より大きかったならば、本プロセスはステップ８２の加速度変化検出に戻る。かくてゼロ点を受動的に設定する本方法は、携帯装置が静止状態にある時にゼロ点が設定されることを保証する。更に、装置が一定の運動をしているが或る特定の時間にユーザによって動かされていなかった場合（例えば、一定の速度で運動している列車内で静止しているような場合）には、加速度は何ら検出されないので、ゼロ点が設定されてもよい。ゼロ点を設定するトリガを与えるほど充分に加速度変化が大きいか否かを判定するための閾値を利用することは、装置を静止状態に保持するユーザが、ゼロ点を受動的に設定することを可能にする。そうでなければこれは（受動的なゼロ点設定は）困難になる。なぜなら、非常に高感度の加速度計を備えた装置は、ユーザの起こした非常に些細な動きの結果生じる加速度変化を検出するかもしれないからである。加速度計以外の素子を備えるモーション検出器に関しても同様な方法が使用されてよいことが理解されるべきである。小さな意図されない動きに対処するためにそのような同様な方法で閾値が使用されてよい（そうでなければ、その動きはゼロ点の設定を妨げるおそれがある。）。
【００４５】
本発明の特定の実施例は、携帯装置のモーション検出機能を反復的に選択的に使用可能に及び不使用にする機能を含み、限られた物理的空間の中でのモーション入力を利用する仮想的デスクトップ（又は情報空間）での大きな動きを可能にする。このプロセスは、カーソルを制御するマウスと共に「行き来し(scrubbing)」、或いは表面からマウスを持ち上げてその表面の別の場所にマウスを置き直し、そのカーソルのより大きな動きを可能にすることに類似している。マウスを持ち上げることは、マウスの動きとカーソルの動きとの間の繋がり（コネクション）を切断する。同様に、装置１０のような携帯装置の動きと、操作、機能又は動作との間のコネクションを、装置の動きに基づいて使用可能にする及び不使用にすることができる。
【００４６】
図８は携帯装置のディスプレイより大きな仮想的なデスクトップ又は情報空間でナビゲーションを行うためのスクラッビング(scrubbing)機能を利用する例を示す。図示の例では、携帯装置は仮想デスクトップ９０を介してナビゲートするように使用される。仮想デスクトップ９０は方眼地図（グリッドマップ）として示され、ユーザがナビゲートを希望する適切な如何なる情報を表現してもよい。携帯装置に表示される仮想デスクトップの情報はボックス９２で表現される。この例では携帯装置の並進運動は仮想デスクトップ９０を介してナビゲートするのに使用される。例えば、仮想デスクトップ９０の情報を通じて右から左にナビゲートするために、ユーザは携帯装置を右から左に動かす。図示の例はスクラッビングプロセスを行うように装置を右に動かすことを示しているが、特定の実施例の携帯装置はスクラッビングプロセスを行うのに適切な如何なる手法で動かされてよいことが理解されるべきである。
【００４７】
上述したように、ボックス９２は装置に現在表示されている仮想デスクトップ９０の情報を示す。ユーザがボックス９４で表現される情報を見ることを望むならば、そのユーザは携帯装置を左から右に動かせばよい。本実施例に関し、ユーザが装置を右に動かしたことすると、ボックス９４に含まれている仮想デスクトップ９０の情報が装置に表示される。また、ユーザの腕がユーザの右側に伸びきった状態になると、仮想デスクトップ９０の装置情報のディスプレイにボックス９４の右側にあるものを見るために、ユーザは歩き出さなければならない或いは更に右に動かさなければならない。そのような場合に、装置が更に右に動かされるように、更なる右への歩行や移動をユーザが実行できなかった場合或いは望まなかった場合、ユーザは、携帯装置のモーション検知機能を選択的に不使用にし、装置を左に動かし、装置のモーション検知機能を選択的に再び使用可能にし、そして装置を右に動かし、ボックス９４の右側の情報を表示する。この手法では、ユーザはボックス９６に含まれている仮想デスクトップ９０の情報を表示することができ、ボックス９６の更に右側のボックス９８に含まれている情報を表示するのにそのプロセスが反復される。
【００４８】
限られた物理的な空間の中で仮想デスクトップ内で更に大きな動きを可能にするために、装置のモーション検知機能を不使用にして再び使用可能に選択することは、（装置の入力に関するキーによること、特定のジェスチャーや動き（例えば、ある円弧状の動き）に従って装置を動かすことによること又は装置画面を軽くたたく（タッピングする）ことのような）様々な如何なる方法ででも実行可能にされてよい。ユーザの起こす他の如何なる動作（アクション）でも、この目的のためにモーション検知機能を不使用に及び使用可能にするのに使用されてよい。特定の実施例は、装置のモーション検知機能を不使用に及び使用可能にするのに複数のアクションを許容する。更に、装置のモーション検知機能を不使用にするユーザのアクションは、モーション検知機能を使用可能にするユーザのアクションと異なっていてもよい。このスクラッビングプロセスは、マップナビゲーション、メニューナビゲーション及びリストのスクロールのような適切な如何なるアプリケーションで実行されてもよい。
【００４９】
図９は特定の実施例による上述の図８に関連するスクラッビングプロセスのステップを示すフローチャートである。フローチャートはステップ１００から始まり、仮想ディスプレイ９０のボックス９２で表示する情報からボックス９４の情報へ進むために、携帯装置が右に動かされる。上述したように、ユーザは更にボックス９４の右側の情報を表示することを望むかもしれないが、装置を更に右に動かすための物理的空間は使い果たされているかもしれない。かくてユーザはステップ１０２で装置のモーション検知機能を不使用にする。そのような不使用を実行するために、装置に付いているボタンを押すこと或いは特定のジェスチャーに従って装置を動かすことのような適切な如何なるユーザアクションがなされてもよい。ステップ１０４では、ユーザは装置を左に動かし、そのユーザがより多くの物理的空間を用意できるようにし、モーション検知機能が再び使用可能になった場合にその物理的空間を通じてユーザは装置を右に動かす。
【００５０】
ステップ１０６ではユーザは装置のモーション検知機能を使用可能にする。再び、そのように使用可能にすることは適切な如何なるユーザアクションにより実行されてよく、そのようなユーザアクションは、ステップ１０２でモーション検知機能を付しようにしたときに実行されたユーザアクションと異なってもよい。モーション検知機能が使用可能にされたので、ステップ１０８でユーザは装置を右に動かし、装置に表示される情報を、ボックス９４の情報からボックス９６の情報に変える。ステップ１１０では装置を右側へ更に動かすことの要否が確認される。（例えば、仮想ディスプレイ９０のボックス９８における情報を表示するために）更なる移動が必要ならば、本プロセスはステップ１０２に戻り、装置のモーション検知機能が再び不使用にされる。更なる動きが一切不要ならば、本プロセスは終了する。上述したようにスクラッビングプロセスは、モーション入力をサポートする装置の適切な如何なるアプリケーションで使用されてよく、装置はその機能を使用するために適切な如何なる方法で動かされてもよい。
【００５１】
上述したように、装置の特定の運動（例えば、特定のジェスチャー）が、そのような動きの間にディスプレイに示される情報を変えないことを装置に通知するために、スクラッビングプロセスで使用されてもよい。このことはユーザが装置を或る位置に戻すことを可能にする（ディスプレイに示される情報を更に変更するためにユーザはその位置から装置を動かす。）。例えば、装置が或る基準参照（ベースリファレンス）位置にあり、その位置からの装置の動きが表示情報を変える。或る特定の所定の運動（例えば、円弧状の動き）が使用され、その動きが完了するまで動きに応じて表示情報を変えないように装置に通知してよい。所定の運動が完了すると、基準参照位置がリセットされ、基準参照位置からの装置の更なる動きが表示情報を変えるようにしてもよい。基準参照位置は、装置のモーション検出素子により受信されたモーションデータのベースライン成分で表現される装置のベースライン方向を識別する。特定の実施例では、基準参照位置からの動きにより決定されるようなジェスチャーが受け取られ、装置に表示される情報を変える特定のコマンドを実行する。
【００５２】
上述した様々な実施例に関して説明されたように、特定の実施例による携帯装置は複数のタイプの又はモードの入力を使用して装置を操作してもよい。そのような入力モードは、並進入力モード及びジェスチャー入力モードのようなモーション入力モードを含む。複数の入力モードはしばしば互いに組み合わせて使用されてもよく、場合によっては携帯装置は一度に或る１つのモードタイプを認識するように設定されてもよい。或る状況では、携帯装置は或る特定の時点で複数のタイプの不動入力(non-motion  input)及び唯1つのタイプのモーション入力（例えば、並進及びジェスチャー）に基づく機能に設定されてもよい。
【００５３】
複数の入力モードを認識する携帯装置のこの柔軟性を促進するために、特定の実施例では、入力モードを切り替えるために或るトリガが使用される。例えばユーザは入力モードを切り替えるために特定のキーを押す或いは装置を或る方法で（例えば、特定のジェスチャーで）動かす。装置のアプリケーションが複数のタイプのモーション入力に基づいて認識及び機能する例では、並進モーション入力モード及びジェスチャー入力モードを切り替えるために、特定のキーが押される或いは特定のジェスチャーがその装置を利用して形成される。また、トリガは、或るアプリケーションから別のものへの単なる切り替わりや、或る表示画像から別のものへの切り替わりを含んでもよい。場合によっては、あるトリガで不動入力モード及びモーション入力モードを切り替えてもよい。異なるモーション入力モード間のような異なる入力モード間で切替を行うために、特定の如何なるユーザアクションでもトリガとして使用されてよい。或る実施例では、音声コマンドや装置に関する物理的なアクション（例えば、装置やスクリーンを軽くたたくこと）が入力モードを切り替えるのに使用されてもよい。
【００５４】
特定の実施例では、装置のモーション検知機能を使用可能にするユーザアクションは、装置の振る舞いに別様に影響するかもしれない他の情報を含んでもよい。例えば、並進運動検出を使用可能にする或る動きをユーザが行った場合に、それは、モーション検知機能を使用可能にするのにユーザが別のモーションを行う場合よりも、その装置を動きに対して高感度にしてよい。使用可能にする動きは、ユーザの身元やコンテキストを示すジェスチャーを含んでもよく、それによりユーザの好みのような様々な動作設定に従事できる。
【００５５】
上述したように、特定の実施例は、携帯装置の様々な機能、タスク及び動作を制御するためのモーション入力を受信する機能を含み、そのプロセスで装置に表示される情報を変えるのに使用されてもよい。場合によっては、そのようなモーション入力は、単なる並進形式の入力とは異なり、ジェスチャー形式のものでもよい。ジェスチャー入力は或るアプリケーションの多次元メニュー又はグリッドを通じてナビゲートするのに使用されてもよい。例えば、スクラッビングプロセスに関して上述されたように、携帯装置のディスプレイは、ディスプレイに表示可能な情報量（例えば、メニューオプション、マップ情報）より少ない（小さい）かもしれない。これは狭く深いメニュー構造を招く。多くの場合に、狭く深いメニュー構造よりも広くて浅いメニュー構造が好ましいかもしれない。なぜなら、
ユーザは機能が位置する場所に関する多くの情報を覚えなくて済むからである。
【００５６】
図１０Ａは特定の実施例によるジェスチャー入力を用いるナビゲーションメニュー例を示す。図示の例では、携帯装置は仮想的なデスクトップ１２０を通じてナビゲートするのに使用される。仮想的なデスクトップ１２０は選択用のメニューカテゴリ１２２を有するメニューツリーを含む。各メニューカテゴリ１２２は選択用の各自の副次的なカテゴリ（サブカテゴリ）を含んでよい。或る実施例では、メニューカテゴリ１２２は、機能のカテゴリを含み、メニュー選択各々のサブカテゴリはそのようなカテゴリ各々の下での実際の機能を含む。他の例では、メニューカテゴリは名詞（例えば、「フォルダ」、「ドキュメント（書類）」、「画像」）から成り、サブカテゴリは動詞（例えば、「移動する」、「貼り付ける」、「切り取る」）から成る。携帯装置がセルラ電話を構成するならば、メニューカテゴリ１２２は「呼び出し」、「電話帳」、「メッセージ」、「立案者（プランナ）」、「音」、「設定」その他の項目を含んでもよい。各メニューカテゴリ１２２は、メニューカテゴリ１２２が選択されるとアクセスされるかもしれない機能を含んでもよい。２つのメニューレベルが図１０Ａに示されているが、モーションインターフェースナビゲーションに関する多次元デスクトップ又は情報表示は、レベル数をいくつでも使用しながら、選択肢（例えば、メニュー）をいくつ含んでもよいことが理解されるべきである。
【００５７】
図示の例では、メニューカテゴリ１２２ｅが選択され、メニューカテゴリ１２２ｅのサブカテゴリ１２４が選択できるように表示されている。ボックス１２６，１２８は携帯層でユーザに表示される情報を表現する。図示されるように、仮想的なデスクトップ１２０は、一度に装置に表示可能なものより多くの情報又はメニューを含む。ユーザはと口絵のジェスチャーに従って装置を動かし、仮想デスクトップにわたって又はそれを通じてナビゲートする。ジェスチャーは様々なメニューレベルを通じてナビゲートするために及びメニュー選択を行うために使用されてもよい。一例として、ユーザは、装置１０を時計回りに動かし（１３０）、仮想デスクトップ１２０上で右に所定量だけ進めてもよい（例えば、ボックス１２６の情報からボックス１２８の情報へ動かす。）。特定のメニューカテゴリ１２２は離れるジェスチャー（１３２）により又は下げるジェスチャーにより選択され（例えば、メニューカテゴリ１２２ｅを選択するため）、選択用のサブカテゴリ１２４を表示してもよい。同様に仮想デスクトップ１２０から持ち上げるように動かし、ユーザは装置１０を反時計回りに動かしてもよい（１３４）。場合によってはナビゲーションは次の４つのジェスチャーを通じてなされてもよい：前進ジェスチャー、後退ジェスチャー、左ジェスチャー及び右ジェスチャー。或る実施例では、垂直方向のモーションベクトルを有するジェスチャーがナビゲーションに使用されてもよい。
【００５８】
特定の実施例では、他に使用されるジェスチャーの鏡像であるジェスチャーが使用され、他のジェスチャーによってなされるものと逆の機能を実行させてもよい。例えば、ユーザに向かうモーションがズーム（拡大）であり、ユーザから離れる動きである逆のモーションはズームアウト（縮小）でもよい。逆の機能に対応付けられる鏡像又は逆転のジェスチャーは、学習及び利用しやすい装置用モーションユーザインターフェースを形成する。
【００５９】
場合によっては、ディスプレイ中央でのメニュー項目が選択用に強調されてもよいし、他の場合には特定のジェスチャーは、複数の表示された選択支中の、ユーザが選択を希望するメニュー選択肢を示す。ジェスチャーを利用してユーザがナビゲートするメニューその他の情報は、様々な如何なる方法で携帯装置に示されてもよいことが理解されるべきである。或る実施例では、１つのレベル情報のみが（即ち、１つのメニューレベルが）一度に表示され、サブレベル又は高いレベルは、選択によりそれらが利用可能にされるまで表示されない。
【００６０】
図１０Ｂは仮想デスクトップを介してユーザがナビゲートすることを可能にする機能のような様々な機能を実行するのに使用されるジェスチャー例を示す。図示の例のジェスチャーは、デスクトップで上方向に進むための「上昇（アップ）」ジェスチャー１３３、下に進むための「下降（ダウン）」ジェスチャー１３５、左に進むための「左（レフト）」ジェスチャー１３６、右に進むための「右（ライト）」ジェスチャー１３７、ユーザに向かう方向に進むための「入（イン）」ジェスチャー１３８及びユーザから離れるように進むための「出（アウト）」ジェスチャー１３９を含む。これらは特定の実施例に関するジェスチャー及びコマンドの具体例に過ぎず、他の実施例は、デスクトップを通じたナビゲーションを行うため又は携帯装置で特定の機能を実行するために、様々なコマンドに対応付けられる同様なジェスチャー又は異なるジェスチャーを含んでよいことが理解されるべきである。
【００６１】
図１１は本発明の特定の実施例によるモーション入力を用いるナビゲーションマップ例を示す。図１１は１６個の部分に分割された情報グリッドを表現する仮想デスクトップ１４０を含み、各部分は文字（Ａ，Ｂ，Ｃ，．．．，Ｐ）で参照される。仮想デスクトップの一部は特定の実施例を説明するためだけの参照文字を用いて見分けられ、他の実施例による仮想デスクトップの一部分は参照文字又はそれ以外のもので装置のアプリケーションの中で区別されてもされなくてもよい。仮想デスクトップ１４０は、特定の携帯装置で一度に表示可能な量より多くの情報を含む。仮想デスクトップ１４０は、適切な如何なる情報を表現してもよく、その情報はストリートマップのようにユーザが携帯装置を用いてナビゲートすることを希望する情報である。ユーザは、携帯装置で情報の様々な部分を表示するために仮想デスクトップ１４０を通じてナビゲートすることを希望し、仮想デスクトップ１４０の情報の或る部分を更に明確に見るために仮想デスクトップ１４０の中でズームすること（及びズームアウトすること）−即ち、表示される情報の粒度を変えること−を望むかもしれない。
【００６２】
図示の例では、ボックス１４２は携帯装置１０で現在表示されている情報を表す。ボックス１４２は仮想デスクトップ１４０の一部分Ａ，Ｂ，Ｅ，Ｆを含む。特定の実施例では、ユーザが装置に表示されるデスクトップ１４０の情報を例えばボックスＣ，Ｄ，Ｇ，Ｈの情報に変えることを望むならば、そのユーザはモーション入力を利用して装置のディスプレイを表現するボックス１４２を必要な量だけ右に動かす（図示の例では、右に２つの部分だけ動かす。）。そのようなモーション入力は並進入力（携帯装置１０を右に適用可能な量だけ動かし、表示される情報を変更すること）又はジェスチャー入力（ある機能に対応付けられる特定のジェスチャーに従って携帯装置を動かすこと）を含む。一例として、或るジェスチャーは１つの部分だけ表示を右に動かすことに対応付けられ、別のジェスチャーは２つの部分だけ表示を右に動かすことに対応付けられてもよい。かくて並進入力又はジェスチャー入力を用いて、ユーザはデスクトップ１４０をナビゲートできる。
【００６３】
例えば、並進入力又はジェスチャー入力を通じて、携帯装置１０はユーザが表示される情報に対して（そのような情報をより鮮明に見るために）ズームインすることを可能にする。ジェスチャー入力を用いる例のように、装置に表示される情報が１６個の部分の内４つ（例えば、部分Ａ，Ｄ，Ｅ，Ｆを表示するボックス１４２）を含んでいたならば、ユーザは４つのジェスチャーの１つを用いて、表示される４つの部分の１つにズームインしてもよい（４つのジェスチャーの各々は１つの部分でのズームインに対応付けられる。）。部分Ｂにズームインするよう対応付けられるジェスチャーに従ってユーザが携帯装置を動かしたならば、その装置はボックス１４４（部分B1,B2,B3,B4,B5,B6,B7,B8,B9）により表示される情報を表示するかもしれない（ボックス１４４は仮想デスクトップ１４０の部分Bの情報を拡大図で集合的に形成する）。かくて部分Ｂの情報は、より大きく且つより鮮明に表示される。装置でボックス１４４の情報を見る場合に、適切に対応付けられたジェスチャーを用いてユーザは現在表示されている特定の部分を更に拡大又は縮小してもよい。部分Ｂ２を拡大することに対応付けられたジェスチャーに従ってユーザ装置が携帯装置を動かしたならば（そのジェスチャーは、ボックス１４２の情報が表示されたときに部分Ｂを拡大するのに使用されたのと同じジェスチャーでもよい。）、その装置はボックス１４６（部分B2a,B2b,B2c,B2d,B2e,B2f,B2g,B2h,B2i）の情報を表示する。ユーザは特定の部分を拡大した場合に仮想デスクトップを通じてナビゲートしてもよい。例えば、部分Ｂに関してズームインした場合に（ボックス１４４の情報を表示し）、ユーザは並進又はジェスチャー入力を用いて仮想デスクトップを通じて（装置を）動かし、部分Ｂ以外の部分の拡大図を見てもよい。例えば、ボックス１４４の情報を見る場合に、ユーザは、表示されている情報を右に動かすジェスチャーを行い、ディスプレイ全体が仮想デスクトップ１４０の部分Ｃの情報のみを示すようにしてもよい（即ち、部分C1,C2,C3,C4,C5,C6,C7,C8,C9を示す部分Ｃに拡大する。）。モーション入力を用いる適切な如何なる手法ででもユーザは仮想デスクトップ１４０の情報を通じて（進行及びズームイン／アウト双方を用いて）ナビゲートしてよいことが理解されるべきである。
【００６４】
上述したように、仮想デスクトップを介して（又は特定のレベルを通じて）ナビゲートすること及び多次元デスクトップの異なるレベル又は次元の間で又はそれを通じてナビゲーションすることの双方に適切な如何なるジェスチャーが使用されてもよい。更に、或る実施例でのジェスチャーのような運動は、多次元デスクトップを通じたナビゲーションに使用されてもよく、不動アクションは次元の間で選択又はナビゲーションを行うのに使用されてもよい。そのような不動アクションはキー押下による装置入力を含む。かくて移動及び不動アクションの組み合わせが、特定の実施例で多次元仮想デスクトップ又はメニューナビゲーションに使用されてもよい。
【００６５】
特定の実施例は、多次元グリッド、メニュー、カレンダその他の階層的アプリケーションのような何らかの適切なアプリケーションを通じてジェスチャー形式のナビゲーションを可能にする。例えば、カレンダーアプリケーションでは、或るジェスチャーが、月のような１つのレベルの中でナビゲートするために使用され、他のジェスチャーが、年、月、日、時間及びイベントの間のようなレベル間をナビゲートするのに使用されてもよい。更に、そのようなジェスチャーナビゲーションを利用する携帯装置で実行される様々なアプリケーションは様々なジェスチャーを利用してもよい。かくて特定のナビゲーションジェスチャーは、使用する特定のアプリケーションに応じて異なってもよい。或る実施例では、ジェスチャーベースの運動を単に利用するのではなく、並進ベースのインターフェースが、仮想デスクトップの多次元情報を介するナビゲーションに使用されてもよい。例えば、ｘ及びｙ軸に沿う運動が或る階層の或るレベル内を進行するのに使用され、ｚ軸に沿う運動が階層レベル間を進行するのに使用されてもよい。
【００６６】
他の例は、施設に関する電話帳、アルファベット文字、名前、連絡先の詳細（例えば、オフィス、セルラ及び家庭の電話番号、電子メール等）及び動作（アクション）を用いて、或る階層の様々なレベル全てに対するコンタクトを開始することを含む。この例では、その階層は情報（名詞）及びアクション（動作）を含んでよい。あるものはこの例を２軸だけに対応付け、例えばｙ軸は階層の或るレベル内での選択に使用され、ｘ軸はレベル間を移動するのに使用される。ｚ軸はアクションを確認するのに使用され、アクションの不適切な実行を防ぐことを支援する。
【００６７】
場合によっては、横切るレベル数は、特に並進ベースのナビゲーションでは、動きの大きさに依存してもよい。装置を少しだけ動かすことは、一度に１レベル進行させ、装置を大きく動かすことは一度に複数レベル進行させてもよい。運動の大きさが大きいほど、より多くのレベルを一度に進める。ジェスチャーベースのモーション入力に適用されるように、階層中の異なるレベル数を一度にナビゲートするために、異なるジェスチャーが使用されてもよい。これらのジェスチャーは、同じ動きで異なる大きさでもよいし、完全に異なる動きでもよい。
【００６８】
多次元デスクトップ又は情報ディスプレイを介するモーションインターフェースナビゲーションを利用することは、メニューを平坦化することを可能にする。なぜなら、大きすぎて装置のディスプレイに合わない仮想デスクトップの特定のメニュー又は寸法にわたってユーザは容易にナビゲートできるからである。メニューの平坦化の結果、ユーザにはより少ない情報の記憶しか要求されずに済み、ユーザにとっての装置の機能性及び能力を増進する。
【００６９】
上述したように、特定の実施例では携帯装置は、モーション入力を用いてユーザが仮想デスクトップを介してナビゲートすることを可能にする。場合によっては、ユーザはカーソルを使って携帯装置に表示される情報の上をナビゲートしてもよい。例えば、或る情報が装置に表示され、ユーザはモーション入力を用いて装置のディスプレイ近辺でカーソルを動かして表示されている特定の項目を選択し、或る機能を実行してもよい。場合によっては、モーション入力がカーソルを動かすのに使用され、（ボタン押下のような）不動アクションが、そのカーソルで現在示されている項目を選択するのに使用されてもよい。ジェスチャー及び並進運動入力の双方が、カーソルナビゲーションの様々な例で使用されてもよいことが理解されるべきである。
【００７０】
特定の実施例では、表示される情報が装置に関して固定され、カーソルは空間内に固定されたままであり、装置の動きはその情報に対してカーソルをナビゲートするのに使用されてもよい。図１２Ａは、その形式のモーション入力カーソルナビゲーションを利用する様子を示す。ディスプレイ１４７は携帯装置のディスプレイを示す。このカーソルナビゲーション例を説明するために、ディスプレイは表示される情報を示すようにグリッドに分割される。グリッドは部分Ａ−Ｐを含む。ディスプレイ１４７は部分Ｃ，Ｄ，Ｇ，Ｈの間にカーソル１４８を含む。上述したようにこの例では、表示される情報は、その装置が動かされる場合に、装置に対して固定され、カーソルは空間的に固定されている。しかしながら、表示される情報に対するカーソルの（相対的な）位置はモーション入力に従って変化する。装置が右に並進させられると、右運動１４９に従って、カーソルは装置の並進運動とは逆の運動により進められる。
【００７１】
ディスプレイ１５０は、右運動１４９に従って装置が動かされた後の可能なディスプレイを示し、今カーソル１４８は部分Ａ，Ｂ，Ｅ，Ｆの間にある。この例は並進ベースの入力であるので、装置の運動の大きさ（この例では、右側への運動の大きさ）は、表示される情報に対するカーソルの動きの大きさに直接的に影響することが理解されるべきである。携帯装置が運動１５１に従って動かされた後に、ディスプレイ１５２は別のディスプレイを示し、カーソルは部分Ｉ，Ｊ，Ｍ，Ｎの間にある。明らかに、カーソルは、空間的に固定された間々なので、表示される情報に関して下側に（相対的に）動いている。携帯装置が左運動１５３に従って動かされた後に、ディスプレイ１５４が更に示され、今カーソル１４８はＫ，Ｌ，Ｏ，Ｐの間にある。明らかにカーソルは表示情報に対して右に（相対的に）動いている。かくてこの形式のカーソルナビゲーションでは、装置の運動はその情報でのカーソルの位置を変える。この方式の例では、表示される情報の特定の場所を指し示すように、スタイラスを用いる代わりに、携帯装置が動かされる。
【００７２】
カーソルナビゲーションプロセスのどの時点ででも、カーソルで現在示される情報に従ってある機能を選択又は実行するのにユーザは如何なる形式の入力（例えば、ジェスチャー、キー押下等）を利用してもよい。例えば、ディスプレイ１５２に関し、ユーザは特定のジェスチャーを利用して又はボタンを押下して、カーソル１４８で現在示されている部分Ｉ，Ｊ，Ｍ，Ｎ間の情報に基づいて、ズームイン、選択又は他の機能を実行してもよい。
【００７３】
図１２Ａに関して上述したように、特定の実施例は、装置の運動とは逆の運動方向にカーソルを並進させ、表示される情報に対するカーソルの相対的な位置を動かす。一実施例では、装置の入力モーションは３つの軸の各々に沿う運動成分に分解され、それらの内２つは装置のディスプレイに平行である（例えば、ｘ軸及びｙ軸）。ｘ軸及びｙ軸の面内での装置の運動はそのような運動に基づいて装置内で表示されるが、カーソルは、ｘ軸方向及びｙ軸方向の合成運動と逆向きの並進ベクトルに従って同時に動かされ、空間内でのカーソルの位置を実質的に維持する。場合によっては、カーソルがその並進ベクトルに従ってディスプレイの端を過ぎて移動することになる場合は、そのベクトルはディスプレイ内にカーソルを維持するように減縮される。そのような減縮は、ディスプレイ端から所定の距離の範疇にカーソルを維持するように、並進ベクトルの１以上の成分を減らすことを含む。
【００７４】
表示される情報の部分Ａ−Ｐへの分割は上述の実施例を図示及び説明するためにのみなされ、特定の実施例の携帯装置で表示される情報はそのような分割や他のタイプのリファレンス情報を含まなくてもよいことが理解されるべきである。
【００７５】
図１２Ｂは、特定の実施例による別の形式のモーション入力カーソルナビゲーションを示す。この例では、カーソルはディスプレイに関して固定された場所にとどまり、モーション入力は装置のディスプレイより大きな仮想的なデスクトップ上でナビゲーションを行うために使用される。図１２Ｂは仮想的なデスクトップ１５８を含み、そのデスクトップは、携帯装置でモーション入力を用いてユーザがナビゲーションする情報（例えば、市街地図）を含む。仮想デスクトップ１５８は、特定の携帯装置に一度に表示可能な情報よりも多くを含む。このカーソルナビゲーション例を説明するために、仮想デスクトップ１５８はグリッドに分割され、デスクトップで示される情報を区別する。グリッドは６つの行（Ａ−Ｆ）及び７つの列（１−７）を含む。グリッドの一部分はここの例では行の文字及び列の番号で特定される（例えば、部分Ｂ７又はＤ２）。行及び列番号により参照される部分に仮想デスクトップ１５８を分割することは、実施例を図示及び説明するためにのみなされ、特定の実施例の仮想的デスクトップはそのような分割や他のタイプのリファレンス情報を含まなくてもよいことが理解されるべきである。
【００７６】
ボックス１６０は携帯装置で現在表示されている仮想デスクトップ１５８の情報を示す。ディスプレイ１６１はボックス１６０を示す携帯装置のディスプレイを示す。また、ディスプレイ１６１は部分B2,B3,C2,C3の交点に位置するカーソル１５９を含む。上述したように、ユーザがモーション入力を用いて仮想デスクトップ周囲で動かす場合に（即ち、装置に表示される情報を変えるために動かす場合に）、カーソルはディスプレイに関して固定された位置に残る。しかしながら、携帯装置で表示される仮想的デスクトップの情報に対するカーソルの（相対的な）位置は変化する。例えば、ユーザはモーション入力を用いて、装置で表示されている情報をボックス１６２で表示されるものに変える。装置で表示される情報は（部分B5,B6,C5,C6に）変わり；カーソル１５９は装置のディスプレイ上で（例えば、この例ではディスプレイの中央に）固定されたままであり、ディスプレイ１６３に示されるように仮想デスクトップ１５８の情報に関して、カーソルの相対的位置が変わるようにする。ユーザが、モーション入力を用いて、装置で表示されている情報をボックス１６４で表示されるものに変えることを望むならば、装置で表示される情報は、ディスプレイ１６５に示されるように部分E3,E4,F3,F4に変わる。カーソル１５９はディスプレイ中央に示される部分の間にある。なぜならディスプレイに対するその位置は本実施例では固定されたままだからである。
【００７７】
かくて、図１２Ｂに関して説明されたカーソルナビゲーションの形式によれば、カーソルは装置ディスプレイに対して固定された位置にのこり、仮想デスクトップの情報に対するカーソル位置が変わる。図１２Ａに関して図示及び説明した実施例に関して述べたように、ナビゲーションプロセスのどの時点ででも、ユーザは、カーソルで現在示されている情報に従って或る機能を選択する或いは実行するために、如何なる形式の入力（例えば、ジェスチャー、キー押下等）でも使用してよい。例えば、ディスプレイ１６３に関し、カーソル１５９で現在示されている部分B5,B6,C5,C6の情報に基づいてズームイン、選択又は何らかの他の機能を実行するためにユーザは特定のジェスチャーを使用し或いはボタンを押下する。
【００７８】
ジェスチャー又はキー押下のような特定の如何なる入力も、装置でのカーソルナビゲーションモードを切り替えるのに使用されてよいことが理解されるべきである。例えば、図１２Ａの並進制御カーソルモードと図１２Ｂの固定カーソルモードの間でユーザは切替を行ってもよい。
【００７９】
上述したように、特定の実施例は、特定の機能又は動作を実行するために或るジェスチャーに従ってユーザが携帯装置を動かすことを許容する。しかしながら場合によっては、ユーザは、意図される特定のジェスチャーに従って装置を動かしていないかもしれない。その結果装置はその動きを意図されるジェスチャーとして認識できないかもしれない。ユーザによる装置の特定の動きが特定のジェスチャーとして認識されることを示すため、或る実施例の携帯装置はその動きが実際にジェスチャーとして認識されたことをユーザに通知するフィードバックを用意する。
【００８０】
このフィードバックは、音声、ビープ、トーン又は音楽のような音声フォーマット、装置ディスプレイ上の指標のような視覚的フォーマット、振動型のフォーマット、又は適切な他の何らかのフィードバックフォーマットを含んでもよい。音声フィードバックはユーザインターフェースのスピーカ又は装置１０のヘッドフォンジャックを通じて用意されてもよいし、バイブレーションフィードバックは装置１０のユーザインターフェースバイブレーション生成モジュールを介して用意されてもよい。聴覚的な、視覚的な及び振動的なフィードバックは複数のフィードバックインジケータに機能を提供するように変形されてよい。一例として、振動フィードバックは、或る持続期間にわたって周波数及び振幅を単独に又は様々な組み合わせで時間と共に変化させてもよい。フィードバックの豊富さ及び複雑さは、音声フィードバックと組み合わせて振動フィードバックを使用するように、様々なタイプの組み合わせで次々とフィードバックを使用することで拡張されてもよい。場合によっては、１以上の認識されたジェスチャーがそれら自身の各自のフィードバックを有するように、フィードバックはジェスチャー固有でもよい。例えば、或るジェスチャーが認識された場合、装置は特定のトーンで又は特定の回数だけビープ音を鳴らしてもよく、１以上の他のジェスチャーが認識される場合、ビープ音又はビープ回数は異なってもよい。オーディオフィードバックを用いることは、速やかな視覚的な画面での表明や機能を有しないジェスチャー（例えば、セルラ電話で何らかの電話番号を呼び出すこと等）にとって特に有意義かもしれない。或る実施例では、別のタイプのフィードバックがコンテキスト又はアプリケーション固有でもよい。様々な状況（コンテキスト）は、装置状態（何のアプリケーションが着目され又は使用されているか、バッテリレベル、利用可能なメモリ、（静かな又はサイレントモードのような）ユーザにより規定された状態等）を含んでよい。例えば、携帯装置はジェスチャー入力に応じて振動的なフィードバックを利用してもよいし、オーディオフィードバックでサイレントモードではそれ以外が使用されてもよい。このフィードバックプロセスは、コンピュータ又は他の素子の携帯モーション入力装置により使用されてもよい。
【００８１】
上述のジェスチャー認識に関するフィードバックと同様に、特定の実施例での携帯装置は、装置がジェスチャー入力モードにあった場合において、特定のユーザの動きがジェスチャーとして認識されなかった場合にユーザにフィードバックを与える。例えば、或る動きがジェスチャーであることを意図するように見えるが、装置に既知の特定のジェスチャーに決めることができなかった場合、失敗を示す音を鳴らしてもよい。これは、所望の動作又は機能を実行するために、その装置に意図されるジェスチャーに従って装置を更に動かす必要のあることをユーザに通知する。或る動きが認識されなかったことをユーザに通知するフィードバックは、音声で、視覚に、振動で又は他の適切なフォーマットでなされてもよく、特定の動きが特定のジェスチャーとして装置により認識される場合に通知されるものと異なるフィードバックである。ユーザの意向がジェスチャーを入力することであったか否かを確認するために、携帯装置１０は、動きがジェスチャーであるように意図されることを示す或る動きの特徴を調べててもよい。そのような特徴は、例えば、動きの振幅、閾値を上回る運動の経過時間、加速の回数及び間隔等を含んでもよい。特定のジェスチャーが装置により認識されなかったならば、ジェスチャーによるフィードバックのシステムが、意図されるジェスチャーを決めるのに使用される。例えば、音声フィードバックは携帯装置で決定される見込みを示し、ユーザは意図されるジェスチャーを選択するために音声メニューをナビゲートするようにジェスチャーを利用してもよい。
【００８２】
特定の実施例では、オーディオ又は振動のフィードバックのシステムは、視覚的ディスプレイ１２に頼らずに、ユーザが携帯装置１０を動作させることを可能にする。例えば、或る実施例では携帯装置は音声の、視覚的な、又は振動的なフィードバックを、仮想的デスクトップのメニューその他の情報をナビゲートするユーザにもたらす。つまり、ユーザのモーション入力で組み合わせられるこの装置のフィードバックは、ユーザと装置との間のある種の「対話(conversation)」として機能する。上述したように、複数のタイプの及び複雑なフィードバックが使用されてもよい。フィードバックプロセスは、装置ディスプレイを眺めることが簡易でなく、安全でなく又は実用的でない環境で（例えば、運転中に又は暗い環境の中で）特に有利である。
【００８３】
オーディオの、視覚的な及び振動的なフィードバックのようなフィードバックは並進運動入力に関する実施例で使用されてよいことも理解されるべきである。例えば、並進入力を用いて、ユーザが仮想デスクトップの端に又は制限に達した場合に、フィードバックインジケータが与えられてもよい。
【００８４】
図１３はモーション入力に応答するフィードバックを利用するプロセスを示す特定の実施例によるフローチャート１７０である。本プロセスのステップ１７２では、未処理モーションデータが携帯装置１０で受信される。上述したように、未処理データは加速度計、ジャイロ、カメラ、距離測定器その他の適切な如何なる運動検出素子の如何なる組み合わせによって受信されてもよい。ステップ１７４では、未処理モーションデータが処理され、装置の運動を示すモーション検出出力を生成する。そのような処理は様々なフィルタリング技術や複数の検出素子からのデータの融合を含んでもよい。
【００８５】
ステップ１７６では、装置の状態が検査される。なぜなら、或る実施例では、特定の動きに対するフィードバックはその動きが受信された場合の装置の状態に依存するからである。上述したように、装置状態の具体例は、着目する又は使用する特定のアプリケーション、バッテリレベル、利用可能なメモリ及び特定のモード（例えば、サイレントモード）等を含んでよい。ステップ１７８ではモーション検出器出力が装置の状態に関して分析される。ステップ１８０では、モーション検出器出力で示された運動が有意義である或いは特定の装置状態の下で認識可能であるか否かが確認される。例えば、特定のジェスチャーが或るアプリケーション（例えば、カレンダーアプリケーション）では或る機能を実行し、そのジェスチャーは別のアプリケーションでは何らの機能も与えなくてもよい。ジェスチャーが認識可能である又は装置の状態の下で有意義であった場合には、ステップ１８２にてフィードバックが与えられる。上述したように特定の実施例ではフィードバックは音声の、視覚的な又は振動的なフォーマットでもよい。場合によっては、フィードバックは、装置がその装置上対の下でジェスチャーを認識したことの単なる指標でもよい。他の例では、例えば、ユーザが（１以上の機能を実行するために一連の入力を用意する）装置の特定のアプリケーションを使用していたならば、フィードバックは付加的な入力を求める更なるクエリ(query)でもよい。ステップ１８４では、装置はモーション入力及び装置状態に従って振る舞い、本プロセスはステップ１７２に戻り、更なる未処理データが受信される。
【００８６】
ステップ１８０で、モーション検出器出力により示されるモーションが特定の装置状態の下で有意義でも認識可能でもないことが確認されたならば、プロセスはステップ１８６に進む。ステップ１８６では、そのモーションが特定の閾レベルを上回っているか否かが確認される。この確認は例えば特定のモーション入力が或るジェスチャーであることを意図していたか否かを判断することによりなされてもよい。上述したように、この判断の閾値特性は、モーション入力の振幅、モーション入力の経過時間、モーションの加速に関する回数及び間隔等を含んでよい。モーション入力が特定の閾値を上回っていなかったことが確認されると、プロセスはステップ１７２に戻り、更なる未処理モーションデータが受信される。しかしながら、或るジェスチャーが意図されていたがその装置状態の下では認識されなかった又は有意義でなかった、という具合にモーション入力が閾値を上回っていたならば、ステップ１８８でフィードバックがなされる。そのフィードバックは、音声の、視覚的な及び／又は振動的なフィードバックを含んでよく、そのジェスチャーが認識されなかった又は有意義でなかったことを示してよい。特定の実施例では、フィードバックは意図されたジェスチャーに関する問い合わせ（クエリ）を含んでもよいし、或いは意図される可能性のあるいくつものジェスチャーをユーザに提供し、その中からユーザがモーションで意図した特定のジェスチャーを選択してもよい。特定の実施例は上述したステップのいくつかを含まないかもしれないし（例えば、或る実施例はステップ１８６の閾値判定を含まないかもしれない。）、他の実施例は追加的なステップを又は同じステップを異なる順序で含むかもしれないことが理解されるべきである。上記により示唆されるように、特定の実施例は多くのアプリケーション及び手法のどれによるモーション入力フィードバック（例えば、フィードバック「対話」を含む）を利用してもよく、フィードバックシステムの種類及び複雑さは様々な実施例で大きく異なってよい。
【００８７】
上述したように、特定の実施例による携帯装置は、ジェスチャーモーション入力を受け取り、その装置で動作する如何なる数のアプリケーションの如何なる数の機能でも制御する。ジェスチャーを用いる或るアプリケーションはモバイルコマース(mCommerce)−エムコマース−アプリケーションを含んでもよく、そのアプリケーションでは携帯装置１０のようなモバイル装置は、商用の又は消費者購買のような様々な取引を行うために使用される。多くのエムコマースアプリケーションはある種の認証形式を利用し、個人識別番号（ＰＩＮ）、クレジットカード情報及び／又はモバイル装置の所有権等に関してユーザを認証する。しかしながら多くの形式の認証は「漏洩又はリーク」のおそれがある。それらは故意に又は偶発的に同時使用されるおそれがある。別の形式の認証はユーザの書いた署名であり、署名はそのようなリークの問題による被害を受けにくい。なぜなら偽造をなすことは一般に困難であり且つ発見されやすいからである。特定の実施例は、携帯装置を介するエムコマースの又は他の取引の認証形式としてユーザの署名を受け取るために、モーション入力を利用する。
【００８８】
筆記された署名はジェスチャーの２次元記録として処理されてよい。モーション入力機能を備えた携帯装置を用いる場合、ユーザの署名は３次元的でもよく、その場合は「空間的な署名」を構成する。更に、装置で受信される他の形式の入力と組み合わされる場合、ユーザの署名は何次元になってもよい（建生場、４次元、５次元又はそれより多くの次元でさえよい。）。例えば、装置を用いて空間的に「描かれ」且つモーション検出器２２で検出された３次元ジェスチャーは、キー押下その他の入力と組み合わせられ、署名の次元数を増やしてもよい。
【００８９】
これらの空間的な署名は、携帯装置のモーション検出器２２により追跡され、記録され且つ分析されることが可能である。これらは、有効な認証形式として機能するモーション検出素子数を変えることで、精度を変えながら記録可能である。ユーザの空間的署名は、ユーザの従来の２次元的に書かれた署名に基づく３次元的な形式で構成されてもよいし、或いは彼又は彼女の署名としてユーザが携帯装置に記録する適切な他の如何なるジェスチャーで構成されてもよい。
【００９０】
或る実施例では、空間的署名を認識するプロセスはパターン認識及び学習アルゴリズムを含んでもよい。そのプロセスは署名に関連するキーの加速の相対的なタイミングを分析してもよい。これらは、動きの始まり及び終わり、運動の曲がり具合及び他の運動属性に関連する。或る例では、署名運動の或るポイントのデータセットの或るハッシュが記憶され、以後の署名は認証用にそのハッシュと比較される。更にこれは、署名が固有であるか否かを確認することで署名が真正であるか否かを判断する。例えば、特定の実施例では、署名は、初期の又は参照位置に対する装置の特定の動きを比較することで（例えば、装置１０の署名検出モジュールにより）検出されるかもしれない。そのような比較は、その運動の加速シーケンスを記憶済みの空間的署名の所定の加速シーケンスと比較することでなされてもよい。この判定はユーザの入力モーション署名の大きさによらずなされてよい。
【００９１】
或る実施例では、装置は、初期地点から運動している装置の位置が空間署名に合致するか否かを確認することで装置の動きが署名に合致するか否かを検出できる。
【００９２】
図１４はエムコマース取引の認証として空間署名を使用するシステム例２００を示す。システム２００は携帯装置１０、エムコマースアプリケーション２０２、認証装置２０４及び通信ネットワーク２０６を含む。エムコマースアプリケーション２０２は、ユーザの携帯装置と商取引するための適切な如何なるアプリケーションで構成されてよい。そのような取引は、ウェブサイトによる会社その他のユーザの品物又はサービス等に関する消費者購買、オンライン支払、口座（アカウント）管理又は適切な他の如何なる商取引を含んでもよい。認証装置２０４は、エムコマース取引を完了するために携帯装置１０のユーザによる空間的署名入力を認証又は確認する。認証装置２０４はエムコマース取引の認証用に１以上のユーザの１以上の空間署名を記憶してよい。或る実施例では、認証装置は携帯装置１０の中に、エムコマースアプリケーション２０２の中に又は適切な他の如何なる場所に設けられてもよい。通信ネットワーク２０６は、システム２００の要素間で情報又はデータを伝送することができ、広域ネットワーク(WAN)、公衆交換電話網（PSTN）、ローカルエリアネットワーク（LAN）、インターネット及び／又はグローバルディストリビュートネットワーク（例えば、イントラネット、エクストラネット又は他の形式の無線／有線通信網等）の１以上を含んでよい。通信ネットワーク２０６は、ルータ、ハブ、スイッチ、ゲートウエー若しくは他のハードウエア、ソフトウエア又は組み込まれたロジックの適切な如何なる組み合わせを含んでもよく、それらはシステム２００内で情報交換又はデータ交換を行う多数の通信プロトコルのどれでも実行できるものである。
【００９３】
動作中に、エムコマースアプリケーション２０２の取引を行うためにユーザが携帯装置１０を使用する場合、ユーザはモーション入力を利用し、例えばユーザの３次元署名に応じて装置を動かすことで、認証署名を通知してもよい。一例として、ユーザはクレジットカードの代わりにポイントオブパーチェス（例えば、店舗）でユーザのセルラ電話を使用してもよい。輸送及び処理される必要のある書類用紙に署名する代わりに、ユーザはそのユーザの空間署名に従って装置１０を動かすだけでよい。上述したように、ユーザの署名は或る実施例では３より多くの次元を含んでもよい。署名は携帯装置１０又は他のモバイル装置を用いてユーザにより事前に記録されていてもよく、その記録された署名は、携帯装置１０に、エムコマースアプリケーション２０２に、認証装置２０４に又は適切な他の場所に（例えば、複数のエムコマースユーザの署名用の署名格納データベース等に）格納されてもよい。
【００９４】
携帯装置１０の運動はその装置で処理され、その運動を示すモーション出力がエムコマースアプリケーション２０２に伝送されてもよい。エムコマースアプリケーション２０２はそのモーション出力を確認（装置１０で受信されたモーション入力がエムコマースの取引を希望するユーザの署名であったことの確認）用に認証装置２０４に通知してもよい。認証装置２０４がユーザの署名を確認すると、エムコマースアプリケーションはそのユーザとの取引を確定してよい。上述したように、認証装置２０４は、特定の実施例では携帯装置１０内に又はエムコマースアプリケーション２０２に設けられてもよく、装置１０に、エムコマースアプリケーション２０２に又は他の適切などこかに格納された確認用署名にアクセスしてもよい。
【００９５】
エムコマースでないアプリケーションでは、例えばその装置を利用してプライベートな又はセキュアなデータを送信するような機能を実行するのに電子セキュリティが望まれるような場合に、認証は携帯装置によってなされてもよい。携帯装置１０を用いてデータ又は他の情報を送信することを望んでいるユーザは、暗号化プロセスで彼らの署名を利用してもよい。空間署名は、ネットワークを介して通信するデータを保護するための様々な手法のどれで使用されてもよく、パブリックキー／プライベートキー暗号化システムに関して使用されてもよい。例えば、或る実施例では、携帯装置はモーション入力を介して受信したユーザの署名を認証し、伝送データを暗号化するのにそれ自身のプライベートキーを利用してもよい。他の例では、データが携帯装置１０に伝送され、意図される受取人は、解読データを受けるために空間署名を入力しなければならないようにしてもよい。或る実施例では、データは携帯装置１０に無線接続されたコンピュータと通信されてもよく、意図される受取人は、データ解読用にユーザの署名をそのコンピュータに伝送する手段として携帯装置１０を利用しなければならない。更に、特定の実施例では、署名モーションが単に認証用に使用されるのではなく、装置の動きが暗号鍵を生成するように、ユーザの空間署名自体が暗号鍵を表してもよい。場合によっては、署名を等価なプライベートキーに変換することで、装置は加速度の組み合わせを署名として認識してもよい。携帯装置は取引の認証プロセスの一部としてプライベートキーを利用してもよい。
【００９６】
特定の実施例では、空間署名は建物やイベントへの物理的なアクセスを管理するのに使用されてもよい。例えば、装置のユーザによる署名入力は、或るイベントに関して内金を支払って予約したことをIDで確認するように(will-call)、入ることが許可された人々のリストに対して検査されてもよい。
【００９７】
特定の実施例では、ユーザは携帯装置のモーション入力を利用し、オーディオ／ビデオ機器、家庭用機器及び装置、コンピュータ装置又は（携帯装置で制御可能な）他の如何なる装置のような他の装置を制御してもよい。セルラー、ブルートゥース及び802.11プロトコルを含む多数の無線又は有線プロトコルのどれでもそれを利用して、装置１０の通信インターフェース２０を介して装置は携帯装置１０によって制御されてよい。或る実施例では、装置１０は、無線又は有線通信を介して、ネットワークを介して他の装置を制御するのにモーション入力を受けてもよい。かくて装置１０のモーション入力により制御される装置は、例えば同じ部屋の中でも或いは地域を越えて、装置１０に対してどこに設けられてもよい。
【００９８】
一例として、携帯装置１０がブルートゥースで動作するセルラ電話であった場合に、セルラ電話の特定のジェスチャー又は他の動きは、パワーポイントのプレゼンテーションを行うために部屋を超えてラップトップのような他の装置を制御するためのコマンドを無線通信してもよい。携帯装置１０のモーション入力を介して制御される他の装置は、テレビジョン、ラジオ、ステレオ機器、衛視受信器、ケーブルボックス、DVDプレーヤ、ディジタルビデオレコーダ、ライト、空調機器、ヒーター、サーモスタット、セキュリティシステム、台所機器（オーブン、冷蔵庫、フリーザ、電子レンジ、コーヒーメーカー、ブレッドメーカー、トースター等）、PDA、デスクトップ及びラップトップPC、コンピュータ周辺機器、プロジェクタ、無線制御車両、ボート、航空機及び他の任意の装置を含んでよい。他の例として、通勤者が或る方法でその人のセルラ電話を揺さぶり、通勤者が家に到着する前に家の中のヒーターを起動させるよう知らせてもよい。或る実施例では、携帯装置は、他の装置に通知するためのコマンド又は意図される機能を決定するために、未処理データを受信及び処理してもよい。他の実施例では、携帯装置のモーション検出器は、装置１０の動きを通じて装置１０により制御される１以上の装置に通知するように、モーション検出素子から受信した未処理データを出力する。その結果、装置１０により制御される様々な装置が、装置１０による同じ未処理データを様々に処理してよい。例えば、装置１０の特定のジェスチャーは、装置１０により制御される様々な装置の異なる機能を実行させてもよい。
【００９９】
図１５は、装置１０のモーション入力を通じて複数の他の装置を携帯装置１０が制御するシステム例２２０を示す。システム２２０は、無線又は有線リンクを通じて結合された携帯装置１０、ラップトップ２２２及び遠隔装置２２４を有し、通信ネットワーク２２６を介して携帯装置１０に結合される。携帯装置１０は、加速度計、カメラ、距離測定器及び／又はジャイロのようなモーション検出素子を通じて、装置の特定の動きに関する未処理モーションデータを受信する。未処理モーションデータは携帯装置で処理される。ジェスチャーデータベース及びジェスチャーマッピングデータベースのような特定のデータベースは、装置の制御モジュールにより追跡される運動に基づいて、合致するジェスチャー及び意図される機能を決定するためにアクセスされる。意図される機能は、ラップトップ２２２又は遠隔装置２２４のような、携帯装置１０により制御される他の装置に関するものかもしれない。従って、モーション入力は、装置１０から制御される装置（非制御装置）へ通知される前提とする操作信号に関するインターフェースである。他の実施例では、装置１０に関する特定のモーション入力を単に示す未処理データ又は他のデータは、装置１０で機能を決定せずに、ラップトップ２２２及び／又は遠隔装置２２４に直接的に送信されてもよい。これらの例では、ラップトップ２２２及び／又は遠隔装置２２４は、未処理モーションデータに基づいて実行されるべき意図される１以上の機能又は動作を判定するために携帯装置１０から受信した未処理モーションデータを自ら処理してもよい。或る実施例では、装置１０のユーザは、モーション又は他の装置を介して、携帯装置１０がそのような適用可能な他の装置の意図される機能又は未処理モーションデータを通知すべきことを装置１０に通知する。携帯装置１０により制御される２つの装置が示されているが、特定の実施例は上述したようなモーション入力を介して携帯装置１０により制御される様々なタイプの装置をいくつ含んでもよいことが理解されるべきである。
【０１００】
上述したように、特定の実施例は、携帯装置１０のモーション入力を介して、他のローカルの又はリモートの装置のような他の装置を制御する機能を含む。或る実施例では、携帯装置１０のユーザは、装置１０の特定のモーション入力が制御用に意図されている他の装置を選択する。例えば、ユーザは携帯装置１０のユーザ入力１４を用いて（例えば、ボタンを押すことで又はトラックボールを動かすことで）、ローカルの又はリモートの装置を選択し、該他の装置に望まれる機能又は動作に対応付けられている特定の運動に従って装置１０を動かす前に制御する。しかしながら特定の実施例ではユーザは特定のジェスチャーに従って携帯装置を動かし、装置１０のモーション入力を介してその時点で制御されるように他の装置（例えば、他のローカルの又はリモートの装置）を選択してもよい。かくて特定の実施例は携帯装置１０により制御される他の装置のジェスチャーモーション選択機能をもたらす。
【０１０１】
携帯装置１０は装置選択ジェスチャーを検出するよう動作する装置選択モジュールを含み、ユーザが特定の装置を選択することを望んでいることを確認してもよい。制御可能な各々の装置は、それ自身のジェスチャーコマンドマップを有してよく、そのマップは、装置１０を用いて入力されるジェスチャーと制御可能な装置のコマンドとを対応付ける。携帯装置の制御モジュールは、制御用に選択された制御可能な装置に対応する特定のコマンドマップを選択する。或る実施例では、装置１０はデバイスロケータを含み、デバイスロケータは、複数のリモート装置の各々について、携帯装置から各リモート装置への方角を検出するように動作可能である。この場合、制御するリモート装置を選択するために、ユーザが制御することを望む特定のリモート装置の方角で、ユーザは携帯装置を動かしてもよい。
【０１０２】
装置１０のモーション入力は他の装置のそのような制御に使用されてよいが、他のタイプの入力（例えば、入力１４を用いること）が、ジェスチャー入力による制御用に選択された他のローカルの又はリモートの装置を制御するために使用されてもよい。他の実施例では、様々なジェスチャー各々が異なる装置を制御するように対応付けられてよい。他の実施例では、装置１０は制御する可能性のある他の装置と使用する特定のジェスチャーとを表示し、ユーザが装置１０を介してまもなく制御することを望む他の装置に関するユーザの選択肢を示してもよい。本発明による携帯装置は、携帯装置により制御されるローカルの又はリモートの装置の１以上に関する何らかの特定のジェスチャー選択方法を用いてよい。
【０１０３】
上述したように、特定の実施例は、モーション検出器２２を介して装置の運動を検出できる携帯装置を含み、検出した運動に従う何らかの手法で装置の振る舞いを変える。或る実施例では、携帯装置１０は、それらの特定の環境をモデル化し、そのような環境に基づいてそれらの振る舞いを以後修正することができる。携帯装置の環境のモデリングと装置の特定のモーションを検出することとの間の１つの違いは、前者には関連する推論法が存在するが、後者ではそのような推論法は無いことである。一例として、携帯装置が特定のジェスチャーに従って動かされ、その挙動を変える場合、特定の動きを検知又は検出し、検出された動きに基づいて反応するように考えられる。一方、携帯装置がテーブル上でうつぶせに置かれていることを確認し、それに応じて反応する場合、それはその環境をモデリングしていると考えられる。他の例として、携帯装置が左に動き、そのような動きに基づいて自身の振る舞いを変えるとき、それはモーションを検出し、反応していると考えられる。装置が自由落下していることを自身で見出し、差し迫った地面との衝突から生き延びるために電源をオフにする場合、それは環境をモデリングしていると考えられる。更なる区別は、環境モデリングはユーザ入力に速やかに応答することを要しないが、特定のモーションのようなイベント検出は一般にそのような速やかな応答を要する。かくて環境モデリングはモーションのパターン（又はそれが欠けていること）を検知又は検出すること、検出内容を所定の環境条件群と照合すること、及びモデル化した環境に基づいて装置の挙動を修正することを含む。モデル化された環境に基づいて実行される振る舞いも、使用する又は着目する特定のアプリケーションに基づいて異なってよい。場合によっては、装置は、モデル化された環境に基づいて特定のモーションに対する感度を変えてもよい。
【０１０４】
一例として携帯装置は、加速度計又は他のモーション検出素子を介して、ほぼ水平な面上で静止していることを認識してもよい。そのような認識は、或る面に垂直な加速度が変化無く１ｇであり、装置が動いていない又は静止していることを確認することで得られてもよい。装置は、ユーザの手の中で止まっていることとテーブル上にあることを区別できてもよい。例えば、ユーザの手は一般に装置を完全に止めて保持することはできないからである。その結果、装置は近似的に水平な面上で静止しているという認識に従って、所定の方法で動作してもよい。例えば、テーブル上に横たわっているように携帯装置が認識したならば、携帯装置は或る所定期間の間その場所で横たわっていた後に電源を落としてもよい。別の例として、振動モードのセルラ電話は、それがテーブルの上にあるように認識すると、呼び出し時に又は（電話機の振動を引き起こす）他の何らかのイベントの際に、より穏やかに振動させてもよい。或る実施例では、装置はテーブルに横たわっているときの方向を認識し、「うつぶせの(face  down)」位置で横たわっている場合に或る方法で振る舞い（例えば、電源を落とし）、うつぶせでない位置で横たわっていた場合に別の方法で振る舞ってもよい。携帯装置１０がセルラ電話を構成するならば、呼び出し時にスピーカモードに入り、テーブル上で「あおむけ(face  up)」の位置にユーザが置いたことを呼び出し時に認識してもよい。一方、セルラ電話が呼び出され、テーブル上でうつぶせに置かれていた場合、セルラ電話はミュートモードに入ってもよい。
【０１０５】
他の例として、携帯装置１０は短期間の間ほぼ０ｇであり自由落下していることを認識し、地面又は他の面との差し迫った衝突に起因するダメージを減らすように振る舞ってもよい。そのような動作は、例えば、チップ及び／又はハードドライブの電源を落とすこと、レンズをリトラクト（撤収）すること、カバーで覆うこと、又は他の何らかの装置の挙動を含んでよい。特定の実施例では、携帯式でない装置又は入力用のモーションを検出しない装置は、それらの環境をモデル化することができ、モデル化された環境に基づいて動作することができる。更なる例として、加速度パターンが検出され、携帯装置１０が運動状態（環境）にあること（例えば、車両の中や列車でユーザにより保持されていること）を認識してもよいし、そのような環境の中で装置のより良いパフォーマンスを可能にするように感度、閾値及び／又は他の様々な特性を調整してもよい。
【０１０６】
他の例では、携帯装置１０はディジタルカメラを構成してよい。モーション検出素子により、カメラはそれが三脚に据えられているか否か或いは撮影時にユーザが持っているか否かを確認してもよい。カメラはその判断に基づいて写真に対するシャッタースピードを設定してもよい（例えば、三脚に設けられていたならば遅いシャッタースピードにし、ユーザが持っていた場合には速いシャッタースピードにする。）。
【０１０７】
携帯装置１０が、ＰＣのような別の装置と同期するためのクレイドル(cradle)を用いる場合、装置１０はその静止状態（又はサポート状態）及び特定の向きに基づいてそれがクレイドル中にあることを認識してよい。装置はクレイドル中にある状態に応じて動作又は機能してよい（例えば、関連するＰＣに同期してよい。）。
【０１０８】
図１６は特定の実施例による環境モデリングプロセスを示すフローチャート２３０である。ステップ２３２では、未処理モーションデータが携帯装置１０で受信される。上述したように未処理モーションデータは加速度計、ジャイロ、カメラ、距離測定器又は適切な他の何らかのモーション検出素子の如何なる組み合わせから受信されてもよい。ステップ２３４では、未処理モーションデータがモーション検出出力を生成するよう処理され、その出力から装置の運動及び方向がステップ２３６で決定される。ボックス２３７は、ボックス237aのｚ軸回りの回転、ボックス237bのｘ軸に沿う並進、ボックス237cの特定の角度α,θ,ωに向く方向、及びボックス237nの静止等のような装置の運動及び向きの例を示す。これらは装置の運動及び向きの例示に過ぎず、ステップ２３６では判定されるいくつの運動が使用されてもよい。或る実施例では、判定された方向は重力に対する装置の方向をなすかもしれない。
【０１０９】
ステップ２３８では、携帯装置１０はステップ２３６で判定した運動及び方向に基づいて自身の環境を判定する。ボックス２３９は、ボックス239aのテーブルに対してうつぶせ、ボックス239bの落下中、ボックス239cの列車内及びボックス239dの手の中等のような装置の環境の例を示す。ステップ２３６で判定された運動及び方向に基づいて、環境はいくつでも判定されてもよい。特定の例では、環境決定は、運動／方向の履歴のような装置の履歴に基づいてもよい。例えば、セルラ電話のスピーカモード機能を使用する場合、短い鳴音（例えば、テーブルに電話を仰向けに置いているユーザにより引き起こされた短い鳴音）後の呼び出しの最中に水平が検出された場合、装置は静かな期間を検出してよい。電話機は鳴音していることを検出でき、静かに重力に垂直な位置にあることが、鳴音が生じていないことと別の意味を持ってもよい。かくて環境の決定は装置の動作及び方向並びにその履歴に基づいてもよい。履歴は、装置の以前の運動／方向その他の装置の履歴に関する他の如何なる情報を含んでもよい。
【０１１０】
ステップ２４０では、決定された環境が特定の動作（振る舞い）に対応付けられる。対応付けられた振る舞いは、決定された環境に加えて、ある時点で装置を用いる特定のユーザやある時点で使用中の又は着目する特定のアプリケーションに関する所望の特性のような、いくつの要因に依存してもよい。例えば、特定のモデル化された環境に従う振る舞いは、ボックス241aの携帯装置のミュート機能を使用可能にすること、ボックス241bの衝突から生き残るように装置のチップの電源を落とすこと、及びボックス241nの装置のモーション起動閾値を増やすこと等を含んでもよい。ボックス241に示されるミュート動作は、セルラ電話機の環境が呼び出し中にテーブル上でうつぶせになっていた場合に実行されてもよい。ボックス241bのチップ電源遮断動作は、携帯装置１０の環境が装置の自由落下を示す場合に行われてよい。ボックス241nのモーション起動閾値を増やす動作は、携帯装置の環境が車両や列車内にあり、ユーザのモーション入力を意図される入力として記録するためにより大きな運動閾値が必要とされる場合に行われてよい。特定の実施例は、１以上のモデル化された環境に対応付けられる振る舞いをいくつでも含んでよい。ステップ２４２では、携帯装置が、ステップ２４０で環境が対応付けられた振る舞いに従って動作する。
【０１１１】
上述したように、ユーザは特定のジェスチャーに従って携帯装置を動かし、装置が所望の機能、動作又はタスクを実行するよう促す。特定の実施例では、装置のモーション入力として使用されるジェスチャーは、アルファベット文字、象徴的な絵又は他の如何なる英数字、絵文字又は表現物のような前もって用意しているシンボルで構成されてよい。例えば、モーション入力に使用されるジェスチャーは、何らかの言語でアルファベットの上側及び下側、アラビア数字、ローマ数字及び簡略記号をまねてもよい。事前のジェスチャーは、他のローカルの及びリモートの装置に対しても携帯入力装置用に使用されてよい。携帯装置入力に事前のジェスチャーを利用することは、ジェスチャーモーションインターフェースに関してユーザがプロセスを学習することを促す。
【０１１２】
図１７は特定の機能に対応付けられるジェスチャー例を示す。例えば、携帯装置１０がセルラ電話を構成する場合、ユーザは装置１０をハート型に動かし（２５０）、そのユーザのガールフレンド、ボーイフレンド又は配偶者を呼び出してもよいし、家の形に動かし（２５２）、ユーザの家に電話してもよい。他の例では、携帯装置が、ファイル又はデータを管理するアプリケーションを実行するPDAその他の装置を構成する場合、Cの形のジェスチャー（２５４）で装置を動かすことは、データをコピーするコマンドでもよいし、Oの形のジェスチャー（２５６）はファイルを開くコマンドでもよいし、Dの形のジェスチャー（２５８）はデータを削除するコマンドでもよいし、Xの形のジェスチャー（２６０）はファイル又はアプリケーションを終了するコマンドでもよい。ジェスチャーとそれらに意図される機能又は動作との間の論理的な関係（例えば、“O”とファイルを開くこと(open)との関係）は、ユーザのやりとり及び学習を更に促す。
【０１１３】
先在するシンボルはいくつでも、携帯装置の機能、動作又はタスクのいくつでもそれを実行するコマンドと同様にモーション入力のジェスチャーに使用されてよい。概して２次元では多くのジェスチャーが先在している。携帯装置はそのようなジェスチャーを認識してもよい。場合によっては、例えば、携帯装置１０は特定の次元に関する受信をディセーブルにし、ユーザが２次元ジェスチャーを入力しようとしている場合に、３次元中の何らかの動きが受信されないように又は消去されるようにし、その２次元ジェスチャーの認識を促してもよい。場合によっては、携帯装置１０は、先在する２次元ジェスチャーに基づく３次元ジェスチャーを受信してもよい。３次元ジェスチャーを受信及び検出することは、例えば、モーション入力として使用されるジェスチャーの数及びタイプを増やすことによって、装置の性能を高める。
【０１１４】
図１８は先在するシンボルジェスチャー（文字“O”）をモーション入力とする利用例を示すフローチャートである。ステップ２７２に示されるように、ユーザは携帯装置を文字“O”の形に動かす。ステップ２７４では、携帯装置はモーション検出素子から“O”の動きに関する未処理モーションデータを受信し、ステップ２７６でそのような未処理モーションデータを処理し、装置の実際のモーションを判定する。ステップ２７８では携帯装置１０はジェスチャーデータベース２８０にアクセスし、そのデータベースは、そのモーションとジェスチャー“O”とを対応付けるために、装置により認識可能な複数のジェスチャーを含む。ジェスチャーデータベースの複数のジェスチャーはそれぞれ一連の加速運動により規定されてもよい。装置の実際のモーションは、ジェスチャーデータベースのジェスチャーの１つの一連の加速運動と照合される。ステップ２８２では、携帯装置１０は昨日データベース２８４（又はジェスチャーマッピングデータベース）にアクセスすることでジェスチャー“O”を特定の機能に対応付け、機能データベースは装置で動作する１以上のアプリケーションで実行される複数の機能を含む。特定の実施例では、ジェスチャー及び機能データベースは装置のメモリ１８内で構成されてもよい。ジェスチャー“O”に対応付けられた特定の機能は、その時点でユーザにより使用されている又は着目する特定のアプリケーションに依存してもよい。例えば、或るアプリケーションでは“O”はファイルを開くコマンドを構成するが、別のアプリケーションでは或る番号を呼び出すコマンドを構成してもよい。場合によっては、１つのジェスチャーが装置の全てのアプリケーションに対して同じ機能に対応付けられてもよい。ステップ２８６では、ファイルを開くことのような対応付けられた機能に従って装置が動作する。
【０１１５】
上述したように、携帯装置１０でモーション入力に使用されるジェスチャーは、使用している又は着目している特定のアプリケーション、アプリケーションに関する特定の装置状態、或いは特定のモデル化された環境又はそれらの任意の組み合わせ若しくは他の任意のコンテキストのような特定の状況に基づいて異なる意味（例えば、機能、動作、タスク等）を持っていてもよい。例えば、特定のジェスチャーは、装置でウェブブラウザが動作している場合に、ページをスクロールアップするコマンドとして関連付けてもよいし、カレンダープログラムが動作している場合に、そのジェスチャーは別の日を調べるコマンドとして対応付けられてもよい。使用するアプリケーションのような、状況に依存して異なるコマンドに特定のジェスチャーを対応付ける機能は、装置の機能性を大きく向上させる。
【０１１６】
或る実施例では、ジェスチャーが状況に依存して異なるコマンドにマッピングされるならば、携帯装置は、より簡易なモーション検出素子を利用することができる。一例として、携帯装置は特定のモーション検出素子を含み、携帯装置が２０個の異なるジェスチャーを認識及び区別することしかできないようにしてもよい。各ジェスチャーが４つの異なるアプリケーションの各々について異なる機能に対応付けられる場合、２０個の固有のジェスチャーしか認識できない能力でも、その装置に関して８０個もの異なる機能（アプリケーション毎に２０個ずつ）を用意できる。各ジェスチャーが自身の機能に関連付けられていた場合は、着目しているアプリケーションが何であろうと；装置全体の能力は低減され、いくつかのジェスチャーは何らかのアプリケーションで使用されにくくなるかもしれない。複雑な素子をより少なく利用する能力は、状況に応じてジェスチャーを複数の機能に対応付ける結果、より少ないジェスチャーの間で認識及び区別を行うことができ、その能力は装置で使用される素子のコストを減らす恩恵をもたらし、装置を制御するのに必要なジェスチャーを物理的に学習するタスクを簡易化することもできる。上述したように、ジェスチャーは、使用中のアプリケーションに、装置の状態に、モデル化した環境に又は他の状況に依存して異なる機能に、動作に又はタスクに対応付けられてよい。場合によっては、ジェスチャーは特定のアプリケーションの状態に依存して異なる機能に対応付けられる。例えば、ワードプロセシングプログラムの場合に、或るジェスチャーはプログラムのある状態（例えば、メニュー状態）で或る機能を有するが、ワードプロセシングプログラムの別の状態（例えば、書類編集状態）では同じジェスチャーが異なる機能を有してもよい。この場合、ジェスチャー機能の対応関係に関連するコマンドマップは、そのような状態毎のジェスチャーマッピングを含んでいてもよい。
【０１１７】
図１９は特定の実施例によるコンテキストベースのジェスチャーマッピングを利用するフローチャート２９０である。図示の例では、或るジェスチャーは着目するアプリケーションに基づいて決められる様々な機能を有する。ステップ２９２では、携帯装置１０は、特定のジェスチャー運動の未処理モーションデータを受信し、装置の実際のモーションを決めるようにステップ２９４でそのような未処理データを処理する。ステップ２９６では、携帯装置１０は例えばジェスチャーデータベースにアクセスすることでモーションをジェスチャーに対応付ける。ステップ２９８では携帯装置１０はどのアプリケーションに着目しているかを判定する。例えば、装置が４つの異なるアプリケーションを実行することができたとすると、その４つのどれに着目しているか或いはその時点でどれが使用されているかが確認される。装置は、着目しているアプリケーションに従ってそのジェスチャーに関連付けられている機能を実行する。そのような機能の確認は、或る実施例では機能データベースにアクセスすることで達成されてもよく、そのデータベースはジェスチャーデータベース中のジェスチャーを機能に関連付けるので、ジェスチャーマッピングデータベースと呼ばれてもよい。図示の例では、アプリケーション１に着目していたならば、ステップ300aで機能１を装置が実行し；アプリケーション２に着目していたならば、ステップ300bで機能２を装置が実行し；アプリケーション３に着目していたならば、ステップ300cで機能３を装置が実行し；そしてアプリケーション４に着目していたならば、ステップ300dで機能４を装置が実行する。
【０１１８】
状況依存型のジェスチャーマッピングの更なる例として、電話機能及びＰＤＡ機能を備えた携帯装置は４つのアプリケーション（電話アプリケーション、カレンダーアプリケーション、ファイル管理アプリケーション及び電子メールアプリケーション）を実行してよいとする。文字“Ｓ”をまねるジェスチャー入力は、着目しているアプリケーションに依存して異なる機能を有するかもしれない。例えば、電話アプリケーションに着目していた場合、ジェスチャー入力“Ｓ”を受信することは、“Ｓ”のジェスチャーに指定された特定の番号を呼び出すコマンドである。カレンダーアプリケーションに着目していた場合、ジェスチャー入力“Ｓ”を受信することは、カレンダーの９月にスクロールするコマンドである。ファイル管理アプリケーションに着目していた場合、ジェスチャー入力“Ｓ”を受信することは、ファイルを保存するコマンドである。電子メールアプリケーションに着目していた場合、ジェスチャー入力“Ｓ”を受信することは、電子メールを送信するコマンドである。特定の実施例は、状況に依存する様々な機能にジェスチャーを対応付ける能力に関して高い柔軟性をもたらす。
【０１１９】
上述したように、ある時点での特定の状況に依存してジェスチャーは様々な機能を有してよい。特定の実施例では、予め定めたジェスチャーに装置の機能をユーザが割り当てることを許容するように携帯装置が仕立てられる（カスタマイズされる）。使用中のアプリケーションに、装置の状態に又はモデル化された環境に依存して異なる機能をジェスチャーが有するように、その機能は状況依存性である。特定の実施例における携帯装置は、同じ装置の様々なユーザが、様々な機能を同じジェスチャーに割り当てることを許容してもよく、そのような機能も上述の状況依存型である。
【０１２０】
例えば、携帯装置１０は様々な時点で多くの様々なユーザにより使用されるかもしれない。各ユーザは同じジェスチャーについて異なる機能を割り当てるかもしれない。携帯装置がジェスチャー入力を受信する場合、ユーザが装置に実行するよう求める機能を確認するために、その時点でどのユーザがその装置を使用しているかを知る必要がある。装置は様々な如何なる手法でユーザを確認してもよい。或る実施例では、ユーザはユーザ名及びパスワードを用いて又はそれ以外の方法で使用前に装置にログインするかもしれない。他の実施例では、携帯装置は或る手法（装置を用いてユーザがジェスチャーをなすように、ユーザがモーション入力用に装置を動かす手法）に基づいてユーザを確認できるかもしれない。上述したように、各ユーザは、装置で着目するアプリケーションに基づくように、状況に依存してコマンドをジェスチャーに割り当ててもよい。特定のユーザに基づいて機能をジェスチャーに対応付ける携帯装置の機能は、装置の性能及び柔軟性を高め、このことは装置が特定数のジェスチャーしか認識及び区別できない場合に特に有利である。
【０１２１】
図２０は特定の実施例によるユーザベースのジェスチャーマッピングを利用するフローチャート３１０を示す。図示の例では、ジェスチャーは装置を用いるユーザに基づいて割り当てられる様々な機能を有する。ステップ３１２では、携帯装置１０が特定のジェスチャー運動の未処理モーションデータを受信し、ステップ３１４でそのような未処理モーションデータを処理し、装置の実際のモーションを判定する。ステップ３１６では、携帯装置１０は例えばジェスチャーデータベースにアクセスすることでモーションをジェスチャーに対応付ける。ステップ３１８では携帯装置１０はどのユーザがその装置を利用しているかを確認する。そのような確認は例えばシステムの履歴（ユーザが使用前に装置にログインした履歴）を通じて行われてよい。携帯装置１０は更に他の適切な方法を通じて現在のユーザを判定してもよい。ステップ３２０では、その装置を利用しているユーザに基づいて、装置はジェスチャー入力に割り当てられている機能を実行する。４つのユーザの可能性があるプロセスを記述する図示の例では、ユーザ１が装置を利用していたならば、ステップ320aで装置は機能１を実行し；ユーザ２が装置を利用していたならば、ステップ320bで装置は機能２を実行し；ユーザ３が装置を利用していたならば、ステップ320cで装置は機能３を実行し；ユーザ４が装置を利用していたならば、ステップ320dで装置は機能４を実行する。
【０１２２】
上述したように、或る実施例では、装置を使用しているユーザ及び状況の双方に基づいてジェスチャーは様々な機能に割り当てられてよい。この状況では、上述で説明されたフローチャート３１０は、その時点での状況（コンテクスト）を判定する追加のステップを有してもよい（例えば、フローチャート２９０のステップ２９８は着目しているアプリケーションを確認する。）。所定のジェスチャーにより実行するよう望まれる特定の機能は、その時点で装置を使用しているユーザ及びその状況（例えば、その時点で着目している特定のアプリケーション等）の双方に依存する。
【０１２３】
以前に説明されたように、或る実施例はモーション入力用のジェスチャーとして先在するシンボルを受信する機能を備えた携帯装置を有する。そのような実施例に加えて他の実施例は、ユーザについて、機能及び／又はキーにマッピングするそれら自身のジェスチャーを作成する能力を備えてもよい。そのジェスチャーは、ユーザの作成したシンボルその他の運動の如何なるもので構成されてもよく、装置が実行できる1以上の特定の機能、動作又はタスクに関し、ユーザがモーション入力として使用することを希望するものである。ユーザは何らかの個人的な意味を有する動き(モーション)を作成し、ユーザがモーションコマンド又は意図する機能を更に覚えやすくすることができる。
【０１２４】
図２１はユーザの作成したジェスチャーに対する割当プロセスを示す特定の実施例によるフローチャート３３０である。ステップ３３２では、ジェスチャーの作成に関する指示がユーザから受信される。その指示は（例えば、キー、トラックボール、モーション等のような）適切な入力フォーマットのどれを使用してもよく様々な手法のどれで受信されてもよい。ユーザはユーザの作成したジェスチャーに従って装置を動かし、そのユーザの作成したジェスチャーに関する未処理モーションデータがステップ３３４で携帯装置で受信される。未処理モーションデータは、装置の安定化後の基準参照位置から位置の記録を中止する指示が受信されるまでの一連の加速度運動で構成されてよい。ユーザの作成したジェスチャーを記録することの開始及び終了の指示は、動的な指示又は不動の指示（例えば、キー押下及びキーの開放）を含んでよい。未処理モーションデータはステップ336で処理される。ステップ３３８では、モーションは例えばジェスチャーデータベースでジェスチャーとして格納される。特定の実施例では、ジェスチャー生成の指示は、ユーザの作成したジェスチャーに従ってユーザが装置を動かした後に受信されてもよい。例えば、ユーザはユーザの作成したジェスチャー（現在その装置にとっては認識できない）に従って装置を動かしてもよい。認識されてないジェスチャーを特定の機能に備えて格納することをユーザが希望するか否かを判定するために、装置はユーザに問い合わせを行う。ユーザは肯定的に応答し、ユーザはそのジェスチャーを将来のモーション入力に使用可能にしてもよい。
【０１２５】
ステップ３４０では、ジェスチャーに関する機能マッピング情報がユーザから受信される。機能マッピング情報は、ユーザの作成した命令するジェスチャーに対応することが望まれる装置の機能、動作又はタスクを含んでよい。特定の実施例では、そのような機能マッピング情報は、或るジェスチャーが命令する一連の機能（例えば、マクロ）で構成されてもよい。ユーザは着目するアプリケーションに応じて様々な機能をジェスチャーに割り当ててもよい。場合によっては、ユーザは装置の様々なキー又はキーストロークに様々なジェスチャーを対応付けることを望むかもしれない。一連の機能をジェスチャーに対応付けることの一例は、長い文字列をジェスチャーに対応付けることを含む（例えば、電話番号が複数のポーズを含む場合）。ステップ３４２では、機能マッピング情報が例えば機能データベースに又はジェスチャーマッピングデータベースに格納される。
【０１２６】
上述したように、ユーザにとって、１以上のジェスチャーに関して、ジェスチャーが入力として使用されるたびに携帯装置１０を同じ精度で動かすことは困難かもしれない。特定の実施例はジェスチャー入力に関する精度を変えることを許容する。精度は、装置により認識されたジェスチャーと、装置によりアクセスされたジェスチャーデータベースに含まれているジェスチャーとで一致をなすのにどの程度正確にジェスチャーが実行されなければならないかを規定する。ユーザの生成したモーションがジェスチャーデータベース中のジェスチャーに近接することを必要とすればするほど、そのようなジェスチャーモーションを成功裏に実行することが困難になる。上述したように、特定の実施例では、検出された運動の一連の加速度とジェスチャーデータベース中のジェスチャーのものとを照合することで、運動がジェスチャーデータベースのジェスチャーと照合される。
【０１２７】
認識に必要なジェスチャーの精度が高まるにつれて、別意に認識可能なジェスチャーを（同程度の煩雑さで）より多く有するかもしれない。一例として、必要とされる精度がゼロであった場合、装置は単独のジェスチャーしか認識できないが、それを簡易に認識するであろう。なぜならユーザの行ったものは何でもそのジェスチャーとして認識されるからである。しかしながら、必要とされる精度が無限大であったならば、それはジェスチャーを形成するユーザにとって仮想的で不可能であるが、そのジェスチャーは装置によって認識され、その装置は、無数のジェスチャーをほんの極微量の違いでそれらを見分けながらサポートできる。精度の条件が特別に適用される分野の１つは、空間署名の分野である。空間署名では、精度レベルはセキュリティレベルに大きく関係するからである。
【０１２８】
特定の実施例では、ジェスチャー入力に関して携帯装置１０に必要とされる精度は変化させられてよい。異なる精度レベルは、異なるユーザ、「ジェスチャー空間」の異なる領域（例えば、似たようなジェスチャーは認識するのに高い精度で実行することを要するが、非常に独創的なジェスチャーは実行の際に同程度に多くの精度を要しないかもしれない。）、署名のような様々な個々のジェスチャー、及び或るジェスチャーに対応付けられる様々な機能（例えば、より重要な機能は、認識されるそれら各自のジェスチャー入力に関して、より高い精度を要するかもしれない。）に必要とされるかもしれない。更に、或る実施例では、ユーザは、１以上のジェスチャー空間中のジェスチャー又は全部又は一部のジェスチャーについて必要な精度レベルを設定できてもよい。一例として、ユーザは、空間署名に関して要求される精度を、そのユーザの他のジェスチャーに関するものより高く設定し、空間署名入力のセキュリティを高めてもよい。
【０１２９】
上述したように、特定の実施例では、意図されるジェスチャーに従って装置がユーザにより或る経路に沿って動かされる場合に、ジェスチャーは装置の一連の加速度を検出することで認識されてよい。ジェスチャーデータベース中のジェスチャーに対して、装置により照合された一連の加速度が一致した場合に、認識がなされる。
【０１３０】
或る実施例では、携帯装置１０で認識可能な各ジェスチャー又はジェスチャーデータベース中の各ジェスチャーは、３次元座標の行列を含んでもよい。更に、ジェスチャー入力として意図されるユーザの動きは、３次元座標の行列を含んでよい。携帯装置１０は、その運動の行列を認識可能なジェスチャー（ジェスチャーデータベース中の各ジェスチャー）の各行列と比較し、意図されるジェスチャーを判定してもよい。運動の行列が意図されるジェスチャーの行列の各地点（座標）と関連するようにユーザが装置を動かすならば、ユーザは、完全な精度で意図されるジェスチャーを入力するように考えられる。ジェスチャー入力に必要な精度が少なくなると、ユーザのジェスチャーの運動とジェスチャー認識用のジェスチャーデータベース中の意図されるジェスチャーとの間の許容可能な差分が大きくなる。
【０１３１】
図２２は精度レベルを変える携帯装置を利用する３つのジェスチャー入力を示す。図示の例では、意図されるジェスチャーは“O”を構成する。ジェスチャー運動３５０は完全な“O”、即ち意図されるジェスチャーに対して１００％の精度としての入力である。ジェスチャー運動３５２は、完全な“O”を形成しない場合であり、１００％より低い精度の入力である。ジェスチャー３５４はジェスチャー運動３５２より低い精度の入力である。ジェスチャー“O”の入力に対する精度条件は、精度レベルの変更を受け入れる携帯装置で設定される。ジェスチャー運動３５０だけがジェスチャー“O”として認識されるように、ジェスチャー運動３５０及び３５２双方がジェスチャー“O”として認識されるように、又はジェスチャー運動３５０，３５２，３５４全てがジェスチャー“O”として認識されるように、精度レベルが設定されてよい。上述したように、精度条件を高くすると、追加的な認識可能なジェスチャーに利用可能な空間が増える。例えば、例えば、携帯装置１０の精度レベルが、ジェスチャー運動３５０だけがジェスチャー“O”として認識されるように設定されていたならば、ジェスチャー運動３５２，３５４は別個のジェスチャーとして認識されてよい。
【０１３２】
特定の実施例では、携帯装置はユーザの個人的な正確さに基づいて、特定の機能を実行するために認識されるジェスチャーを変えてよい。このようにして、携帯装置はジェスチャーマッピングの動的な学習機能を有する。例えば、ジェスチャーデータベース中の特定のジェスチャーが特定の機能に対応付けられ、そのジェスチャーを入力するためのユーザの反復的な試みが一貫した方法では精度不足であった場合に、携帯装置はジェスチャーデータベース中のジェスチャーを、そのユーザの矛盾してないジェスチャー運動に変え、ユーザの首尾一貫したジェスチャー入力が特定の機能に対応付けられるようにしてもよい。
【０１３３】
一例として、或る特定のジェスチャーが四角い運動で構成され、そのジェスチャーについて行われたユーザのモーションが一貫して（例えば、複数の連続的な回数で）三角の運動を何度も行っていた場合、携帯装置は意図されるジェスチャーと実際のユーザの運動とのその一貫した相違を認識し、望まれる機能に対応するジェスチャーデータベース中の意図されるジェスチャーを、ユーザの実際の一貫した動き（例えば、三角運動）に変える。かくてそのような変更がなされた後は、ユーザが三角のジェスチャーを入力する時はいつでも、以前に四角のジェスチャーに対応付けられた機能が命令される。装置は、如何なる入力形式でもそれを介して例えばユーザとの双方向通信により、様々な如何なる手法で意図されるジェスチャーを決定してもよい。特定の実施例では、このようにユーザ入力の特徴を動的に学習することがユーザ固有に適用されてよい。例えば上述の例で、別のユーザは同じ携帯装置を用いて同じ機能を命令するのに四角いジェスチャーを依然として入力してもよい。
【０１３４】
上述したように、意図されるジェスチャーに関するユーザ運動の精度が高いと、機能に対応付けるのに利用可能なジェスチャー数が増える。或る実施例では、携帯装置は、ユーザの正確さが時と共に高まることを認識し、その結果その装置は利用可能なジェスチャーを増やしてもよい。入力に利用可能なジェスチャーを増やすことは、ジェスチャー入力を通じて通信可能な機能も増進させるかもしれない。
【０１３５】
一例として、ジェスチャーを入力するためのユーザの個人的な正確さは、携帯装置で認識される所定のジェスチャー数をユーザが入力できることだけにしてよいかもしれない。しかしながら時間がたつにつれてユーザの個人的な正確さは増えるかもしれない。この増加は携帯装置で認識されるかもしれないし、その結果その装置は、ジェスチャー入力としてユーザが利用してよいジェスチャーを追加可能にしてよい。一例では、ジェスチャーを追加可能にすることは、ユーザの精度が或る特定の閾値又は所定の精度レベルを超えて増えた場合になされる。ユーザの精度が増やされるので、ユーザがこれらの追加的なジェスチャーを入力しようとすることを携帯装置は認識することができる。上述したように、ユーザによる入力に追加的なジェスチャーを用意することは、各ジェスチャーが様々な機能に対応付けられるので、ジェスチャー入力を通じてユーザが指令できる機能数も増やすかもしれない。
【０１３６】
特定の実施例では携帯装置は装置のノイズ閾値をユーザが設定すること及び変えることを許容してよい。ノイズ閾値は、ユーザの意図されるモーション入力とみなすために検出されなければならない装置の運動の大きさである。例えば、ノイズ閾値が低く設定されていたとすると、装置の最少に小さなモーションでもモーション入力として装置によりみなされるかもしれない。しかしながら、ノイズ閾値が高く設定されていたならば、そのユーザにより意図される入力がモーションと考えられるには（それに先だって）より大きな装置の運動が必要とされる。例えばユーザが車ででこぼこ道を走っていたとすると、ユーザはノイズ閾値を高く設定し、道のでこぼこに起因して装置が動いた場合に、そのような動きが意図されるモーション入力として装置に認識されないようにすることを望むかもしれない。
【０１３７】
特定の実施例では、ノイズ閾値はモデル化された環境に基づいて装置で自動的に変化してもよい。例えばその環境が車での移動中であるように装置が確認した場合、装置はノイズ閾値を自動的に増やし、車に起因する小さな動きがユーザの意図したモーションとして表明されないようにしてもよい。
【０１３８】
図２３はここで説明される多数の特徴を用いるジェスチャー認識プロセスを示す特定の実施例によるフローチャート３７０である。ステップ３７２では特定のジェスチャー運動の未処理モーションデータが受信される。未処理モーションデータはステップ３７４で処理され、装置の実際の運動が確認される。  そのような処理は複数の検出又は検知素子によるデータに関する様々な選別技法（フィルタリング）及び融合を含んでもよい。実際の運動とジェスチャーとの対応付けは、ユーザ設定データベース３８８にアクセスすることを含んでよく、そのデータベースはユーザデータ（例えば、ユーザの正確さ、ノイズ特性又は閾値、ユーザの作成したジェスチャー、及びその他のユーザ識別子３８１を含むユー他特定のデータ又は情報より成る）を含んでよい。例えば携帯装置の様々なユーザは様々な設定及びモーション入力特性を有するので、ユーザ固有の情報は重要である。例えば、年配の人は、ジェスチャー入力時に若い人よりも正確さに欠けるかもしれないので、年配の人はより少ないジェスチャーを利用してもよい。更に、より熟練した人はジェスチャー入力を通じてより多くの機能を使いこなせるかであろう。
【０１３９】
ユーザ設定データベース３７８は、その時点で利用可能なジェスチャーを決める際の要因である環境モデル情報も含んでよい。上述したように、環境モデリングを通じて、装置は、ジェスチャー認識でその環境が与える傾向のある影響及び環境を内部的に示すことができる。例えば、ユーザが列車内にいるとき、装置はノイズ閾レベルを自動的に挙げてもよい。考察するジェスチャー近傍でジェスチャー空間がどの程度混雑しているかに依存して、装置は要求される精度を減らしてもよい。実際のモーションとジェスチャーとの対応付けは、ジェスチャーデータベース３８２にアクセスすることを含んでもよい。
【０１４０】
ステップ３８４では、ジェスチャーが装置の機能に対応付けられる。このステップは、ジェスチャー及び機能間の関係（情報）を含む機能マッピングデータベース３８６にアクセスすることを含んでよい。異なるユーザは、複数の機能及び異なるユーザの作成した機能にジェスチャーをマッピングする対応関係を有していてもよい。かくて機能マッピングデータベース３８６は、特定のジェスチャーを１以上の機能に対応付けるのに適用可能な、ユーザ固有のマッピング命令又は特徴、ユーザの作成した機能（例えば、マクロ及び／又は電話番号）及び他の如何なる機能情報をも含んでよい。或る実施例ではジェスチャーは個々のキーストローク（キー打ち）に対応付けられてもよい。ユーザの身元（識別子）３８１もこのステップでアクセスされてよい。更に、装置の状況（コンテキスト）情報３８８もアクセスされてよく、そのジェスチャーで使用されてよい。状況情報は、環境モデル情報３８９、着目しているアプリケーションの情報３９０及び装置状態情報３９１（例えば、時間及び日付情報、位置情報、バッテリ状態及びモード情報（例えば、サイレントモード））等を含んでもよい。ステップ３９２では、装置は適切に対応付けられた１以上の機能を実行し、例えば、ステップ392aで機能１を、ステップ392bで機能２を、ステップ392cで機能３を実行してよい。
【０１４１】
上述したように特定の実施例では携帯装置１０はここで説明される多くの機能を備えたセルラ電話機を構成してもよい。例えば、モーション入力機能を備えたセルラ電話機は上述したようなパターンメニューに対してモーション入力を使用してもよい。セルラ電話機は、自由落下中であること、セルラ電話機がうつぶせであること又は仰向けであること等のような装置状態及び環境を検出し、ミュート、スピーカ電話及びパワーオフ等のような動作を対応付けてもよい。装置状態の他の検出法は、その電話機がミュート不使用又は
スピーカフォン状態にあることの検出を含んでもよい。セルラ電話機は（例えば、身振りによる素早いダイヤルにより）ダイヤルを制御し又は装置のキーパッドをロック／アンロックしてもよい。例えば、家に電話するために時計回りに、職場に電話するのに反時計回りに及び大切な人に電話するのにハート型に装置が動かされてもよい。ユーザはカスタマイズされたジェスチャーのマッピングに対してセルラ電話機をプログラムしてもよい。
【０１４２】
特定の実施例では、携帯装置１０はディジタルカメラを構成し、ここで説明された機能の少なくともいくつかに対してモーション入力を使用する。例えば、モーション入力機能を備えたディジタルカメラは上述したようなメニューを平坦化するためにモーション入力を用いてよい。モーションは、ユーザが静止画又は動画を拡大（及び縮小）し、より円滑でより直感的な機能でより詳しく調べるために使用されてもよい。モーションは写真又は映像クリップの多数のサムネイルをズームイン及びズームアウトするのに使用され、1以上の検討するものを選びやすくしてもよい。仮想的なデスクトップは、カメラを並進させることで又はジェスチャー入力を使用することで、多くのディジタル写真やビデオクリップをレビューするために、或いは多くのディジタル写真やビデオクリップの多数のサムネイルをレビューするのに使用されてもよい。フラッシュ設定、焦点タイプ及び光検出モード等のような、ディジタル静止画及び動画カメラの様々な設定を変更するように、ジェスチャー及び単独のモーションが、他のインターフェース機構と組み合わせて又は単独で使用されてもよい。更に、自由落下が検出され、差し迫った衝突によるダメージから何らかの手法でカメラ自身を保護するように誘導してもよい。そのような保護はカメラの全部又は一部の電源を落とすこと、レンズカバーを閉じること及びレンズを引っ込めること等を含んでよい。
【０１４３】
特定の実施例では、携帯装置１０はディジタル腕時計を構成し、ここで説明された機能の少なくともいくつかに対するモーション入力を利用してもよい。例えば、モーション入力機能を備えたディジタル腕時計は、上述したメニューを平坦化するためにモーション入力を利用してもよい。或る実施例では、腕時計を軽くたたくこと（タッピング）又は特定のジェスチャーが腕時計をサイレントモードにするのに使用されてもよい。タップ、回転、並進及び他のより複雑なジェスチャーを通じて他の機能がアクセスされてもよい。これらの機能は、時間帯を変更すること、腕時計を設定すること（例えば、時間を設定すること、他の調整可能な設定を行うこと）、モードを変更すること（例えば、時間、アラーム、ストップウォッチ等）、バックライトを起動すること、ストップウォッチを使用すること（ストップウォッチを開始、停止及び分割(splitting)等すること）及び他のタイマーを開始したり止めたりすること等を含む。
【０１４４】
特定の実施例では、モーション検出はディスプレイと別でもよい。例えば、ディスプレイが眼鏡やコンタクトに設けられ、携帯装置の他の部分がユーザの体に分散され、ディスプレイがモーション入力装置又は素子と物理的に同じ要素の一部でないようにしてもよい。
【０１４５】
上述したように、特定の実施例で行われる様々な方法、フローチャート及びプロセスを特定の図面は示していた。本発明の範囲から逸脱せずに様々な実施例の中で、ステップは如何なる順序でなされてもよいこと、特定の方法、フローチャート又はプロセス中のステップは他の方法、フローチャート又はプロセスと組み合わせられてよく、或いは同一の方法、フローチャート又はプロセス中の他のステップと組み合わせられてよいことが理解されるべきである。
【０１４６】
以上本発明が特定の実施例に関して詳細に説明されてきたが、様々な他の変更、置換及び代替が本発明の範囲及び精神から逸脱せずにそれらになされてよいことが理解されるべきである。例えば、本発明は携帯装置１０に含まれる様々な素子に関連して説明されてきたが、これらの要素は特定のアークテクチャ又は要請に応じて組み合わせられ、編成され又は設けられてよい。更に、これらの要素のどれでもが適切ならば別個の外部素子として用意されてもよい。本発明はそれらの内的な要素に加えてこれらの外的な要素配置にも及ぶ大きな柔軟性も想定している。
【０１４７】
多くの他の変更、置換、変形、代替及び修正が当業者に確認され、本発明は特許請求の範囲の発明範囲及び精神の中にそのような変更、置換、変形、代替及び修正の全てを包含するよう意図される。
【図面の簡単な説明】
【０１４８】
【図１】特定の実施例によるモーションインターフェース機能を備えた携帯装置を示す図である。
【図２】特定の実施例による図１の携帯装置のモーション検出器を示す図である。
【図３】特定の実施例による図１の携帯装置のモーション検出素子の利用例を示す図である。
【図４】特定の実施例によるモーション検出機能を備えた携帯装置例を示す図である。
【図５】特定の実施例による携帯装置の支配的な運動の選択及び増幅の様子を例示する図である。
【図６】特定の実施例による好ましいモーション選択を説明するためのフローチャートである。
【図７】特定の実施例による携帯装置の基準点を設定するためのフローチャートを示す。
【図８】仮想的なデスクトップナビゲーションに関する特定の実施例での携帯装置によるスクラッビング機能を例示する図である。
【図９】特定の実施例による図８のスクラッビングプロセスを示すフローチャートである。
【図１０Ａ】特定の実施例によるジェスチャー入力を用いるナビゲーションメニュー例を示す図である。
【図１０Ｂ】特定の実施例による携帯装置で様々な機能を実行するのに使用されるジェスチャー例を示す図である。
【図１１】特定の実施例によるモーション入力を用いるナビゲーションマップ例を示す図である。
【図１２Ａ】特定の実施例による或る形式のモーション入力カーソルナビゲーションを示す図である。
【図１２Ｂ】特定の実施例による別の形式のモーション入力カーソルナビゲーションを示す図である。
【図１３】モーション入力に応答するフィードバックを利用するプロセスを利用する特定の実施例によるフローチャートである。
【図１４】特定の実施例による携帯装置で空間署名を使用するシステム例を示す図である。
【図１５】携帯装置のモーション入力が複数の他の装置を制御する特定の実施例によるシステム例を示す図である。
【図１６】特定の実施例による携帯装置の環境モデリングプロセスを示すフローチャートである。
【図１７】特定の実施例による携帯装置の様々な機能に対応付けられるジェスチャー例を示す図である。
【図１８】先在するシンボルジェスチャーを利用する特定の実施例によるフローチャートである。
【図１９】特定の実施例によるコンテキストベースのジェスチャーマッピングを利用するフローチャートである。
【図２０】特定の実施例によるユーザベースのジェスチャーマッピングを利用するフローチャートである。
【図２１】ユーザの作成したジェスチャーに対する割当プロセスを示す特定の実施例によるフローチャートである。
【図２２】精度レベルを変える携帯装置を利用する特定の実施例による３つのジェスチャー入力を示す図である。
【図２３】多数の特徴を利用するジェスチャー認識プロセスを示す特定の実施例によるフローチャートである。
【図１】
2007531113.tif 000003
【図２】
2007531113.tif 000004
【図３】
2007531113.tif 000005
【図４】
2007531113.tif 000006
【図５】
2007531113.tif 000007
【図６】
2007531113.tif 000008
【図７】
2007531113.tif 000009
【図８】
2007531113.tif 000010
【図９】
2007531113.tif 000011
【図１０Ａ】
2007531113.tif 000012
【図１０Ｂ】
2007531113.tif 000013
【図１１】
2007531113.tif 000014
【図１２Ａ】
2007531113.tif 000015
【図１２Ｂ】
2007531113.tif 000016
【図１３】
2007531113.tif 000017
【図１４】
2007531113.tif 000018
【図１５】
2007531113.tif 000019
【図１６】
2007531113.tif 000020
【図１７】
2007531113.tif 000021
【図１８】
2007531113.tif 000022
【図１９】
2007531113.tif 000023
【図２０】
2007531113.tif 000024
【図２１】
2007531113.tif 000025
【図２２】
2007531113.tif 000026
【図２３】
2007531113.tif 000027
【国際調査報告】
2007531113.tif 000028
2007531113.tif 000029
2007531113.tif 000030