(57)【特許請求の範囲】
【請求項１】
ハンドヘルドデバイスにおいて、
前記ハンドヘルドデバイスの動きの軌道を表すジャイロスコープデータを発生するジャイロスコープと地球の重力に対して前記ハンドヘルドデバイスの傾きを表す加速度計データを発生する加速度計を具備する慣性センサーと、
前記ハンドヘルドデバイスの前記動きの軌道を表す前記ジャイロスコープデータと地球の重力に対して前記ハンドヘルドデバイスの前記傾きを表す前記加速度計データを組み合わせることにより、前記ハンドヘルドデバイスの前記動きの軌道を決定し、
トレーニングモードを介して、前記データの第１の部分を、第１の複数の別々の特徴に対応する第１の組の値に変換し、
前記第１の組の値をキャラクタに関係付け、トレーニングデータベースに前記第１の組の値と前記キャラクタを表す情報を記憶し、
認識モードを介して、前記データの第２の部分を、第２の複数の別々の特徴に対応する第２の組の値に変換し、前記第１の複数の別々の特徴または前記第２の複数の別々の特徴のうちの別々の特徴は、前記軌道の角度、前記動きに関係付けられているピッチにおける変化を前記動きに関係付けられているヨーにおける変化で除算した逆タンジェント、前記キャラクタに関係付けられている交差するポイントの位置、または前記軌道が方向を変える回数のうち少なくとも１つを含み、
前記第２の組の値が、規定された条件に関して、前記第１の組の値に一致するという決定に応答して、前記キャラクタを表示する
処理コンポーネントとを
具備するハンドヘルドデバイス。
【請求項２】
前記慣性センサーは、コンパスをさらに具備する請求項１記載のハンドヘルドデバイス。
【請求項３】
前記処理コンポーネントは、データ記憶装置に、前記第２の組の値の少なくとも一部を記憶する請求項１記載のハンドヘルドデバイス。
【請求項４】
前記動きの軌道をディスプレイ上にリアルタイムで表示するための前記ディスプレイをさらに具備する請求項１記載のハンドヘルドデバイス。
【請求項５】
前記キャラクタは、アルファベットからの文字、ローマ数字、ユーザのアイデンティティに関係付けられている署名、または認証信号のうちの少なくとも１つに関係付けられている請求項１記載のハンドヘルドデバイス。
【請求項６】
前記処理コンポーネントは、前記ハンドヘルドデバイスに関係付けられているアプリケーションプログラムあるいは前記ハンドヘルドデバイスに関係付けられているオペレーティングシステムに関係付けられているコマンドを実行する請求項１記載のハンドヘルドデバイス。
【請求項７】
前記コマンドは、ビデオゲームにおけるイベントをトリガする請求項６記載のハンドヘルドデバイス。
【請求項８】
前記コマンドは、アプリケーションプログラムを開きまたは閉じ、またはオペレーティングシステム内で動作している１組のアプリケーションを制御する請求項６記載のハンドヘルドデバイス。
【請求項９】
前記処理コンポーネントは、前記認識モードを介して、ルックアップテーブル、隠れマルコフモデル（ＨＭＭ）、ニューラルネットワーク、またはサポートベクターマシンのうちの少なくとも１つを使用して、前記第２の組の値を前記第１の組の値に一致させる請求項１記載のハンドヘルドデバイス。
【請求項１０】
前記処理コンポーネントは、前記認識モードを介して、１つ以上のセグメントにしたがって前記第２の組の値を前記第１の組の値に一致させる請求項１記載のハンドヘルドデバイス。
【請求項１１】
前記１つ以上のセグメントは文字を表し、前記第１の組の値または前記第２の組の値は単語を表す請求項１０記載のハンドヘルドデバイス。
【請求項１２】
ジェスチャー認識のための方法において、
ジャイロスコープおよび加速度計を使用することにより、ハンドヘルドデバイスの第１の動きの第１の軌道に関連する第１のトレーニングデータを取得することと、
前記ジャイロスコープに関係付けられている前記第１のトレーニングデータの部分を地球の重力に対して前記ハンドヘルドデバイスの第１の傾きを表す前記加速度計に関係付けられている前記第１のトレーニングデータの別の部分と統合することに応答して、前記第１の軌道を決定することと、
前記第１の軌道データを、複数の別々の特徴の第１の組に対応する第１の値に変換することと、前記複数の別々の特徴のうちの別々の特徴は、前記軌道の角度、前記動きに関係付けられているピッチにおける変化を前記動きに関係付けられているヨーにおける変化で除算した逆タンジェント、前記ピッチ、前記ヨー、キャラクタに関係付けられている交差するポイントの位置、または前記軌道が方向を変える回数のうちの少なくとも１つを含み、
前記第１の値を第１のキャラクタに関係付けることと、
データ記憶装置に、前記第１の値と前記第１のキャラクタを表す情報とを記憶することと、
前記第１の値に基づいて、前記第１のキャラクタを表示することとを具備する方法。
【請求項１３】
前記第１のトレーニングデータを取得することは、
前記ジャイロスコープ、前記加速度計、およびコンパスを具備するセンサーとを使用して、前記第１のトレーニングデータを取得することを含む請求項１２記載の方法。
【請求項１４】
前記複数の別々の特徴は、方向変化の数を表す請求項１２記載の方法。
【請求項１５】
前記複数の別々の特徴は、前記ハンドヘルドデバイスの角度の動きに関連する請求項１２記載の方法。
【請求項１６】
複数のベクトルにしたがって、複数のストロークでキャラクタを学習することをさらに具備する請求項１２記載の方法。
【請求項１７】
ハンドヘルドデバイスにおいて、
ジャイロスコープと、
加速度計と、
前記ハンドヘルドデバイスの動きの軌道を表す前記ジャイロスコープからジャイロスコープデータを受信し、地球の重力に対して前記ハンドヘルドデバイスの傾きを表す前記加速度計から前記加速度計データを受信する処理コンポーネントと、
前記処理コンポーネントに結合され、前記ハンドヘルドデバイスの前記動きの軌道および前記ハンドヘルドデバイスの前記傾きを具備する複数の別々の特徴を複数のキャラクタに関係付けるルックアップテーブルを含むプログラマブルモジュールと、
前記複数の別々の特徴に対応する複数の組の値を記憶するためのデータ記憶装置とを具備し、前記処理コンポーネントは、前記データの第１の部分を、前記複数の別々の特徴の第１の特徴に対応する第１の組の値に変換し、前記ルックアップテーブルを利用して、前記第１の組の値を、前記第１の特徴に基づいて前記複数のキャラクタのうちのキャラクタと関係付け、前記データ記憶装置に、前記第１の組の値と前記キャラクタを表す情報を記憶し、前記データの第２の部分を、前記複数の別々の特徴の第２の特徴に対応する第２の組の値に変換し、前記データ記憶装置を使用して、前記第２の組の値を前記複数の組の値の１つに一致させ、前記情報を使用して前記キャラクタを表示し、前記複数の別々の特徴のうちの別々の特徴は、前記軌道の角度、前記動きに関係付けられているピッチにおける変化を前記動きに関係付けられているヨーにおける変化で除算した逆タンジェント、前記キャラクタに関係付けられている交差するポイントの位置、または前記軌道が方向を変える回数のうち少なくとも１つを含むハンドヘルドデバイス。
【請求項１８】
前記軌道をリアルタイムで表示するためと、前記軌道に対応する第３の組の値に基づいて、前記キャラクタを表示するためのディスプレイをさらに具備する請求項１７記載のハンドヘルドデバイス。
【請求項１９】
方法において、
ハンドヘルドデバイスの第１の動きの第１の軌道に基づいて、ジャイロスコープから第１の情報を取得することと、
トレーニングデータ記憶装置に、前記第１の情報とユーザのアイデンティティを表す認証情報を記憶し、
前記ハンドヘルドデバイスの第２の動きの第２の軌道に基づいて、前記ジャイロスコープから第２の情報を取得することと、
磁力計を利用して前記ハンドヘルドデバイスの向きを決定することに応答して、前記向きにしたがって前記第１の情報および前記第２の情報を修正することと、前記第１の軌道および前記第２の軌道は、選択された別々の特徴の組に対応する値の組に接続され、前記複数の別々の特徴のうちの別々の特徴は、前記軌道の角度、前記動きに関係付けられているピッチにおける変化を前記動きに関係付けられているヨーにおける変化で除算した逆タンジェント、キャラクタに関係付けられている交差するポイントの位置、または前記軌道が方向を変える回数のうち少なくとも１つを含み、
前記修正することに応答して、前記第２の情報を前記第１の情報と比較することと、
前記第２の情報を第１の情報と比較することに応答して、前記ユーザの前記アイデンティティを認証することとを含む方法。
【請求項２０】
前記第１の動きまたは前記第２の動きは、前記ユーザの署名を表す請求項１９記載の方法。
【請求項２１】
前記第２の動きの前の予め定められた時間期間内に、または、前記第２の動きの後の予め定められた時間期間内に、サウンドを発生することと、
前記ハンドヘルドデバイスに埋め込まれているマイクロフォンを使用して、前記サウンドを検出することと、
前記比較することおよび前記検出することに応答して、前記ユーザを認証することとをさらに具備する請求項１９記載の方法。
【請求項２２】
ハンドヘルドデバイスにおいて、
第１のプロセッサと、
前記ハンドヘルドデバイスの動きの軌道を表す複数の別々の特徴を複数のコマンドに関係付けるルックアップテーブルを具備するプログラマブルモジュールと、前記複数の別々の特徴のうちの別々の特徴は、前記軌道の角度、前記動きに関係付けられているピッチにおける変化を前記動きに関係付けられているヨーにおける変化で除算した逆タンジェント、キャラクタに関係付けられている交差するポイントの位置、または前記軌道が方向を変える回数のうち少なくとも１つを含み、
ジャイロスコープとを具備し、前記第１のプロセッサは、前記ジャイロスコープから、前記ハンドヘルドデバイスの第１の動きに関連する第１の情報の少なくとも一部を受信し、前記一部に基づいて前記第１の動きを決定し、前記ルックアップテーブルを調べ、前記第１の動きを、前記複数のコマンドからのコマンドに一致させ、前記第１のプロセッサに結合された第１のコンポーネントは、前記コマンドに基づいてスリープ動作モードから第１のアクティブ動作モードを入力するハンドヘルドデバイス。
【請求項２３】
前記第１の情報を処理するための前記ジャイロスコープに結合された第２のプロセッサをさらに具備する請求項２２記載のハンドヘルドデバイス。
【請求項２４】
前記第２のプロセッサは、前記ジャイロスコープから前記第１の情報を受信し、前記第１のプロセッサは、前記第２のプロセッサから前記第１の情報の別の部分を受信することに応答して、第２のアクティブ動作モードを入力する請求項２３記載のハンドヘルドデバイス。
【請求項２５】
前記ハンドヘルドデバイスの前記第１の動きに関連する第２の情報を提供するための加速度計をさらに具備し、
前記第１のコンポーネントは、前記第２の情報に基づいて、前記第１のアクティブ動作モードを入力する請求項２２記載のハンドヘルドデバイス。
【請求項２６】
スマートフォンをさらに具備する請求項２２記載のハンドヘルドデバイス。
【請求項２７】
カメラと、
ディスプレイとをさらに具備し、
前記カメラは、前記第１の動きに基づいて、前記スリープモードから前記第１のアクティブモードにスイッチし、
前記カメラが、前記アクティブモードの間に前記スリープモードの間よりも多い電力を使用し、前記ディスプレイは、前記第１の動きに基づいて、前記スリープモードから前記第１のアクティブモードにスイッチされない請求項２２記載のハンドヘルドデバイス。
【請求項２８】
前記第１の動きに基づいて、前記第１のプロセッサを、前記第１のアクティブモードに入らせるための第２のプロセッサは、前記ジャイロスコープに結合されている請求項２２記載のハンドヘルドデバイス。
【請求項２９】
前記第１の動きに基づいて、前記スリープモードから前記第１のアクティブモードに前記マイクロプロセッサをスイッチすることを促進する第２のプロセッサをさらに具備し、
前記第１のプロセッサは、マイクロプロセッサを具備し、
前記第１のコンポーネントは、カメラを具備し、
前記マイクロプロセッサは、前記第１の動きに基づいて、前記カメラを、前記スリープモードから前記第１のアクティブモードにスイッチすることを促進し、
前記マイクロプロセッサは、前記ハンドヘルドデバイスの第２の動きに基づき、および前記第１の動きに基づかないで、前記ディスプレイを、前記スリープモードから前記第１のアクティブ動作モードにスイッチすることを促進し、
前記第１のアクティブ動作モードは、前記スリープ動作モードに関係付けられている第２の電力の消費よりも多い第１の電力の消費に関係付けられている請求項２２記載のハンドヘルドデバイス。
【請求項３０】
方法において、
プロセッサを具備するシステムによって、前記システムの動きに関して、ジャイロスコープから情報を受信することと、
前記システムの動きの軌道を表す別々の特徴を、複数のコマンドに関係付けるルックアップテーブルを調べることと、
前記第１の複数の別々の特徴または前記第２の複数の別々の特徴のうちの別々の特徴は、前記軌道の角度、前記動きに関係付けられているピッチにおける変化を前記動きに関係付けられているヨーにおける変化で除算した逆タンジェント、前記キャラクタに関係付けられている交差するポイントの位置、または前記軌道が方向を変える回数のうち少なくとも１つを含み、
前記動きを前記複数のコマンドからのコマンドに一致させ、
前記コマンドに基づいて、前記システムのコンポーネントをスリープ動作モードからアクティブ動作モードにスイッチすることとを具備する方法。
【請求項３１】
前記情報は、加速度計から受信された情報をさらに具備する請求項３０記載の方法。
【請求項３２】
前記コンポーネントは、カメラを具備する請求項３０記載の方法。
【請求項３３】
前記コンポーネントは、ディスプレイを具備する請求項３０記載の方法。
【請求項３４】
前記コンポーネントは、マイクロフォンを具備する請求項３０記載の方法。
【請求項３５】
前記動きは、前記システムのタッチに対応する請求項３０記載の方法。
【請求項３６】
前記システムの別のコンポーネントが、前記動きに基づいて、前記スリープモードから前記アクティブモードにスイッチしないよう防ぐことをさらに具備する請求項３０記載の方法。
【請求項３７】
前記処理コンポーネントは、前記決定を介して、前記第１の組の値を前記第２の組の値と比較する請求項１記載のハンドヘルドデバイス。
【請求項３８】
前記処理コンポーネントは、前記第２の組の値が、前記第１の組の値に一致するという前記決定に応答して、コマンドを実行する請求項１記載のハンドヘルドデバイス。
【請求項３９】
前記第１の値に関係付けられている第１のコマンドを実行することをさらに具備する請求項１２記載の方法。
【請求項４０】
前記処理コンポーネントは、コマンドを実行し、前記ルックアップテーブルは、前記複数の別々の特徴を前記コマンドに関係付ける請求項１７記載のハンドヘルドデバイス。
【請求項４１】
前記ジャイロスコープおよび前記加速度計を使用して、前記ハンドヘルドデバイスの第２の動きの第２の軌道に関連する第２のトレーニングデータを取得することと、
前記ジャイロスコープに関係付けられている前記第２のトレーニングデータの部分を地球の重力に対して前記ハンドヘルドデバイスの第２の傾きを表す前記加速度計に関係付けられている前記第２のトレーニングデータの別の部分と統合することに応答して、前記第２の軌道を決定することと、
前記第２のトレーニングデータを、前記複数の別々の特徴の第２の組に対応する第２の値に変換することと、
前記第２の値を、第２のキャラクタと関係付けることと、
前記データ記憶装置に、前記第２の値と前記第２のキャラクタとを表す情報を記憶することと、
前記ジャイロスコープおよび前記加速度計を使用して、前記ハンドヘルドデバイスの第３の動きの第３の軌道に関連する軌道データを取得することと、
前記軌道データを、前記複数の別々の特徴の第３の組に対応する第３の値に変換することと、
前記第３の値を、前記第１の値または前記第２の値に一致させることと、
前記一致させることに応答して、前記第１のキャラクタまたは前記第２のキャラクタを表示する請求項１２記載の方法。
【請求項４２】
前記ルックアップテーブルは、前記複数の別々の特徴を、前記ルックアップテーブルの列に対応する値の組を利用して前記複数のキャラクタに関係付ける請求項１７記載のハンドヘルドデバイス。
【請求項４３】
前記ルックアップテーブルは、前記複数の動きを、値の組に対応する列を使用して前記複数のコマンドに関係付ける請求項２２記載のハンドヘルドデバイス。
【請求項４４】
前記複数の動きは、前記ルックアップテーブルの列に対応する値の組に基づいて前記複数のコマンドに関係付けられている請求項３０記載の方法。
【発明の詳細な説明】
【関連出願に対する相互参照】
【０００１】
本出願は、“人間の動きに関連するキャラクタおよびコマンドを認識するためのインテリジェントコンピュータシステムおよび技術”と題され、２００９年１１月９日に出願された、米国仮出願シリアル番号第６１／２５９，２８８号の利益を主張する。上述の出願のすべては、参照によりここに組み込まれている。本出願は、“人間の動きに関連するキャラクタおよびコマンドを認識するためのハンドヘルドコンピュータシステムおよび技術”と題され、２０１０年７月８日に出願された、米国特許出願シリアル番号第１２／８３２，７０７号の利益も主張する。上述の出願のすべては、参照によりここに組み込まれている。
【発明の分野】
【０００２】
本発明は、ハンドヘルドのコンピュータ化された人間の手のジェスチャーを認識するシステムに関し、特に、ジャイロスコープおよび加速度計を備えるマイクロマシンシステム（ＭＥＭＳ）ベースの慣性センサーと、ミニチュアコンパスとを有するハンドヘルドデバイスを含む、ハンドヘルドデバイスコンピュータシステムに関する。
【発明の背景】
【０００３】
手のジェスチャーは、目に見える手のアクションにより個人がメッセージを伝えることを可能にする非言語コミュニケーションの一形態である。数学的アルゴリズムにより人間のジェスチャーを解釈するという目的のために、手のジェスチャーの認識がコンピュータ技術でますます使用されるようになっている。手のジェスチャーの認識技術により、何らかの機械的なデバイスがなくても、人間がコンピュータとインターフェースして、自然に対話することが可能になる。例えば、ジェスチャー認識の概念を使用すると、コンピュータスクリーンを指差し、それにしたがってカーソルが動くようにすることが可能である。
【０００４】
手のジェスチャー認識の概念は、ビデオゲーム技術でもますます使用されるようになっており、ビデオゲーム技術では、プレーヤーの手のジェスチャーがハンドヘルドデバイスによりコンピュータシステムに通信される。例えば、任天堂株式会社により製作された家庭用ビデオゲームコンソールであるＷｉｉ（登録商標）は、Ｗｉｉリモコン（登録商標）というワイヤレスコントローラを使用し、Ｗｉｉリモコンは、ハンドヘルドポインティングデバイスとして使用することができ、３次元での動きを検出することができる。Ｗｉｉリモコンは、ジェスチャーを表す、経時的な加速度の変化を調べることができる。
【０００５】
従来のジェスチャー認識コンピュータシステムおよびソフトウェアの正確性ならびに有用性に関係する多くの課題がある。一般的に、従来のシステムが線形センサーを頼りにしているのに対し、人間の手のジェスチャーは角度の動きを多く含んでいるため、従来のシステムは、それほど正確ではない。したがって、従来のシステムは、大きな手の動きのみを適切に認識することができ、互いにわずかにだけ異なる手のジェスチャーを適切に区別することができない。類似する手のジェスチャーを区別することができる認識システムを有することが望ましいだろう。
【発明の概要】
【０００６】
以下のものは、主題的な開示のいくつかの態様の基本的な理解を提供するために、主題的な開示の簡略化した概要を提示する。本概要は、主題的な開示のさまざまな実施形態の広範囲にわたる概略ではない。キーエレメントまたは重要なエレメントを識別することや、あるいは、何らかの範囲を線引きすることのどちらも意図していない。この唯一の目的は、後に提示するさらに詳細な説明に対する前置きとして、いくつかの概念を簡略化した形で提示することである。
【０００７】
本発明は、人間の手のジェスチャーを認識するための、新規で効率的なハンドヘルドコンピュータシステムおよび方法に関する。コンピュータシステムは、例えば、ジャイロスコープ、加速度計、および／または、コンパスのような、慣性センサーを備える遠隔ハンドヘルドデバイスを含む。トレーニングモードにおいて、ユーザは、コマンドまたはキャラクタを伝えるために、ハンドヘルドデバイスを手に持ちながら、意図的な手のジェスチャーを行う。慣性センサーによってジェスチャーの動きに関連するデータが捕捉され、提供される。データは、前処理され、フィルタリングされ、１組の別々の特徴に対応する１組の値に変換される。１組の値は、データベースに記憶され、コマンドまたはキャラクタが、この組に関係付けられる。データベースには、さまざまな手のジェスチャーが格納される。動作の間に、データ捕捉および変換の同じステップが、ユーザの手のジェスチャーに対して実行され、１組の値がデータベースと比較される。一致または最も近い一致に関係付けられているコマンドが実行されるか、あるいは、一致または最も近い一致に関係付けられているキャラクタがハンドヘルドデバイスのディスプレイ上に表示される。
【０００８】
先の目的および関連する目的を達成するために、１つ以上の態様は、後に完全に説明する特徴、および、特許請求の範囲中で特に指摘する特徴を含んでいる。以下の説明および添付した図面により、１つ以上の態様のうちのある例示的な態様を詳細に述べる。これらの特徴は、さまざまな態様の原理を用いることができるさまざまな方法のうちのいくつかだけを示しているが、本説明は、このようなすべての態様およびそれらの均等物を含むことを意図している。
【図面の簡単な説明】
【０００９】
同一の参照キャラクタが全体を通して同一の部分を指す添付図面とともに使用される、以下の詳細な説明を考えたときに、本発明の上の目的および利点と、他の目的および利点は明らかであるだろう。
【図１】図１は、本発明の方法のための例示的なフローダイヤグラムを示している。
【図２】図２は、本発明を実現することができる例示的なコンピュータネットワークを示している。
【図３】図３は、本発明を実現することができる例示的なコンピューティング環境を示している。
【図４】図４は、ユーザにリアルタイムフィードバックを提供する例示的なディスプレイを示している。
【図５】図５は、本発明のトレーニングモード方法のための例示的なフローダイヤグラムを示している。
【図６】図６は、本発明の認識モード方法のための例示的なフローダイヤグラムを示している。
【図７】図７は、本発明のジェスチャー認識エンジンにより使用することができる例示的なコンピュータモジュールを示している。
【図８】図８は、本発明の動作モード方法のための例示的なフローダイヤグラムを示している。
【図９】図９は、本発明の動作モード方法のための例示的なアルゴリズムを示している。
【図１０】図１０は、電力管理のために慣性センサーが使用される、本発明の例示的な実施形態にしたがったシステムを示している。
【図１１】図１１は、本発明の例示的な電力管理の方法を示している。
【図１２】図１２は、本発明の電力管理技術を実現することができる例示的なハンドヘルドデバイスを示している。
【図１３】図１３は、カメラアプリケーションがスリープモードからアクティブモードにスイッチされる、本発明の例示的な方法を示している。
【図１４】図１４は、ハンドヘルドデバイスがアクティブモードからスリープモードにスイッチされ、そしてアクティブモードに戻る、本発明の例示的な方法を示している。
【図１５】図１５は、慣性センサーおよび非慣性センサーを含む、本発明の例示的なハンドヘルドデバイスを示している。
【図１６】図１６は、慣性センサーにより提供されるデータを組み合わせるための、本発明の例示的な方法を示している。
【図１７】図１７は、角度の動きを線形の動きに相関させる、本発明の例示的な方法を示している。
【図１８】図１８は、ユーザ認証のためにマイクロフォンおよび慣性センサーが使用される、本発明の例示的な方法を示している。
【図１９】図１９は、ハンドセットスクリーンをロック解除するための、本発明の例示的な方法を示している。
【詳細な説明】
【００１０】
本発明は、人間の動きにより意図されたキャラクタまたはコマンドを認識して、キャラクタを表示するための、あるいは、コマンドを実行するための、システムおよび技術を開示する。クレームされている主題事項は、ここでは図面を参照して説明し、同一の参照番号は、全体を通して同一のエレメントを指すように使用される。以下の説明では、説明の目的上、主題的なイノベーションの完全な理解を提供するために、多くの特定の詳細および例を述べる。しかしながら、これらの特定の詳細がなくても、主題的なイノベーションを実施でき、主題的なイノベーションは、これらの特定の詳細および例によって限定されないことを当業者は理解するだろう。クレームされている主題事項の説明を容易にするために、よく知られている構造およびデバイスは、ブロックダイヤグラムの形で示されていることも、当業者は正しく認識するだろう。
【００１１】
本出願で使用するような、用語“コンポーネント”、“モジュール”、“システム”、または、これらに類するものは、必ずしもそうではないが、ハードウェアや、ハードウェアとソフトウェアの組み合わせや、ソフトウェアや、または、実行中のソフトウェアのいずれかである、コンピュータ関連エンティティを指すことがある。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／または、コンピュータであってもよい。例として、制御装置上で動作しているアプリケーションおよび制御装置の双方ともコンポーネントとすることができる。１つ以上のコンポーネントは、実行のプロセスおよび／またはスレッド内に存在することがあり、コンポーネントは、１つのコンピュータ上に局所化されていることがあり、および／または、２つ以上のコンピュータ間に分散されていることがある。
【００１２】
さらに、開示されている主題事項を実現するようにコンピュータを制御するために、標準のプログラミングおよび／またはエンジニアリング技法を使用して、ソフトウェア、ファームウェア、ハードウェア、あるいは、これらの何らかの組み合わせを生成させる、方法、装置、または、製造物として、クレームされている主題事項を実現してもよい。ここで使用されるような用語“製造物”は、何らかのコンピュータ読取可能デバイス、キャリア、または、媒体から、アクセス可能なコンピュータプログラムを含むことを意図している。例えば、コンピュータ読取可能媒体は、これらに限定されないが、磁気記憶デバイス（例えば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ．．．）や、光ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）．．．）や、スマートカードや、フラッシュメモリデバイス（例えば、カード、スティック、キードライブ．．．）を含むことがある。さらに、電子メールを送受信する際に、あるいは、インターネットまたはローカルエリアネットワーク（ＬＡＮ）のようなネットワークにアクセスする際に使用するもののような、コンピュータ読取可能な電子データを運ぶために、搬送波を用いることができることを正しく認識すべきである。当然、当業者は、クレームされている主題事項の範囲または精神から逸脱することなく、このコンフィギュレーションに対して多くの改良がなされてもよいことを認識するだろう。
【００１３】
さらに、例として、事例として、あるいは、例示としての役割を果たすことを意味するために、“例示的な”という文言がここで使用される。“例示的な”ものとして、ここで説明するいずれの態様または設計は、他の態様または設計と比較して、必ずしも好ましいものとして、または、利益のあるものとして解釈すべきではない。むしろ、例示的なという文言の使用は、具体的な形で概念を提示することを意図している。本出願で使用されているような、“または”という用語は、排他的な“または”というよりむしろ、包含的な“または”を意味することを意図している。それゆえ、そうではないと特に述べられていない限り、または、文脈から明らかでない限り、“ＸがＡまたはＢを用いる”は、自然な包含的順列のうちのいずれかを意味することを意図している。すなわち、ＸがＡを用いる；ＸがＢを用いる；あるいは、ＸがＡおよびＢの双方とも用いる場合、“ＸがＡまたはＢを用いる”は、先の例のうちのいずれのものの下でも満たされる。加えて、本願明細書および添付した特許請求の範囲で使用している冠詞“ａ”および“ａｎ”は、そうではないと特に述べられていない限り、または、単数形を意図する文脈から明らかでない限り、一般的に、“１つ以上”を意味すると解釈すべきである。
【００１４】
ここで使用されるような、“推測する”または“推測”という用語は、一般的に、イベントおよび／またはデータを通して捕捉されるような１組の観測から、システム、環境、および／または、ユーザの状態について推理するもしくは推測するプロセスのことを指す。推測は、特定の状況またはアクションを識別するために用いることができ、あるいは、例えば、状態に対する確率分布を発生させることができる。推測は、確率論的とすることができる−すなわち、データおよびイベントの考察に基づいての、対象の状態に対する確率分布の計算とすることができる。推測はまた、１組のイベントおよび／またはデータから、より高いレベルのイベントを構成するために用いられる技法のことを指すこともある。このような推測は、イベントが時間的に近いところで相関しているか否かにかかわらず、ならびに、イベントおよびデータが、１つまたはいくつかの、イベントならびにデータソースから到来したか否かにかかわらず、結果として、１組の観測されたイベントおよび／または記憶されたイベントデータからの、新しいイベントまたはアクションの構築になる。
【００１５】
ＭＥＭＳベースのモーションセンサーは、加速度計とジャイロスコープを含んでいる。線形加速度を測定するために、加速度計を使用することができる。ＭＥＭＳベースの加速度計の基礎となる物理メカニズムは、静電容量性、ピエゾ抵抗、電磁気、圧電、強誘電、光学、および、トンネリングを含む。ＭＥＭＳベースの加速度計は、（プルーフマス、サイスミックマスとしても知られる）予め定められたテストマスを持つ片持ち梁からなるシンプルなデバイスとすることができる。外的な加速度の影響下で、マスは、その中立なポジションから逸れる。この逸れは、アナログな方法またはデジタルな方法で測定される。一般に、１組の固定された梁とプルーフマスに取り付けられた１組の梁との間のキャパシタンスが測定される。
【００１６】
他のタイプのＭＥＭＳベースの加速度計は、非常に小型のドームの底に小型ヒーターを含んでいることがあり、小型ヒーターは、ドーム内部の空気を熱して上昇させる。熱せられた空気がドームに達した場合に、ドーム上の熱電対が決定され、中心からの逸れは、センサーに適用される加速度の尺度である。一般的に、ＭＥＭＳベースの加速度計は、面内で動作する、すなわち、ダイの平面の方向にのみ敏感であるように設計されている。２つのデバイスを単一のダイ上で垂直に統合することにより、２軸加速度計を作ることができる。追加の面外素子を追加することにより、３軸を測定することができる。積分回路を持つ加速度計は、読み出し回路と自己診断機能を提供する。
【００１７】
コンパスは、地球の磁極に対する方向を決定するために使用される機器である。コンパスは、それ自体を地球の磁界と自由に調整することができる磁化されたポインターからなる。ミニチュアコンパスは、通常、マイクロプロセッサにデータを提供する、例えば、ホールセンサーのような、２個または３個の磁界センサーから作られる。コンパスに対する正しい進行方向は、三角法を使用して計算される。当然、ミニチュアコンパスは、その向きに比例するデジタル信号またはアナログ信号のいずれかを出力するディスクリートコンポーネントである。制御装置またはマイクロプロセッサにより、この信号が解釈される。コンパスは、高較正内部回路を使用して、地球の磁界に対するコンパスの応答を測定することができる。市場で入手可能なミニチュアコンパスの例は、ハネウェルインターナショナル社により販売されているＨＭＣ１０５１Ｚ １軸磁気抵抗センサーおよびＨＭＣ１０５２ ２軸磁気抵抗センサーと、旭化成エレクトロニクス株式会社により販売されているＡＫ８９７３ ３軸電子コンパスと、日本のアイチマイクロインテリジェント株式会社により販売されているＡＭＩ２０１（２軸）電子コンパスモジュールおよびＡＭＩ３０２（３軸）電子コンパスモジュールである。
【００１８】
ジャイロスコープは、角運動量の保存の法則に基づいて、向きを測定または維持するために使用されるデバイスである。ＭＥＭＳベースのジャイロスコープは、振動するプルーフマスを使用する。典型的に、これらのマスは、高い周波数において振動する。センサーのハウジングが慣性空間で回転するときに、プルーフマス上にコリオリの力が誘発される。コリオリの力は、直交平面に振動を生じさせ、直交運動の振幅は、測定することができる。このタイプのデバイスは、コリオリ振動ジャイロとしても知られている。その理由は、発振の平面が回転されるときに、トランスデューサーにより検出される応答は、その運動の式のコリオリの項（“コリオリの力”）に起因するからである。振動する構造のジャイロスコープは、ＭＥＭＳ技術を使用した、音叉共振器、振動ホイール、または、ワイングラス型共振器として実現することができる。
【００１９】
本発明がＭＥＭＳベースのデバイスに限定されないこと、ここで開示するＭＥＭＳベースの実施形態は例示であること、ならびに、ハンドヘルドデバイスに組み込むことができる何らかの加速度計、コンパス、およびジャイロスコープにより本発明を実現できることを、当業者は正しく認識するだろう。ハンドヘルドデバイスに含めることができる、例えば、水晶センサーのような、他のタイプの慣性センサーを本発明で使用することもできることを、当業者は正しく認識するだろう。ミクロンまたはミリメーターのスケールにおける機械コンポーネントを含み、回路と組み合わせることができる、他のタイプの慣性センサーを、本発明で使用することもできる。
【００２０】
図１は、本発明の方法に対する例示的なフローダイヤグラム１００を示している。フローダイヤグラム１００は、トレーニングモードコンポーネント１１０と、認識モードコンポーネント１３０の２つのコンポーネントを含んでいる。トレーニングモード１１０において、ユーザは、ハンドヘルドデバイスの意図的な動きを空中で生じさせることにより開始する（ステップ１１２）。ユーザの意図的な動きは、コマンドまたはキャラクタに対応する。１つの実施形態では、ハンドヘルドデバイスは、ＭＥＭＳベースのジャイロスコープおよび加速度計を備えることがある。別の実施形態では、ハンドヘルドデバイスは、ＭＥＭＳベースのジャイロスコープおよび加速度計と、ミニチュアコンパスとを備えることがある。
【００２１】
ステップ１１４において、ハンドヘルドデバイスに埋め込まれているジャイロスコープ、加速度計、および、コンパスを使用することにより、ステップ１１２において行われたジェスチャーの軌道に関連するデータが抽出される。人間の動きの大部分は角度があるので、手によって空中に描かれた軌道は、ジャイロスコープを使用して、主として角度の動きで表現することができる。生のジャイロスコープデータは、角速度に比例するので、このデータを、何らかのオフセットを除去するように前処理して、角度の動きの推定を提供するために積分することができる。ヌル電圧としても知られるジャイロバイアスオフセットは、ジャイロがその受感軸の周りを回転しないときに測定される電圧である。バイアスオフセットを上回るジャイロ出力電圧測定は、１つの方向（例えば、時計回り）での回転を示す一方で、バイアスオフセットを下回る電圧測定は、反対方向（例えば、反時計回り）での回転を示す。
【００２２】
信号をきれいにするための追加のフィルタリングは、無意識の手の震えや、他の望ましくない高周波成分を除去することができる。震えは、人間の手に本質的に存在する、小さくて速い振動である。遅くて意図的でない動きを除去するためには、不感帯または類似のメカニズムを使用することができる。センサーの不感帯は、センサーが機能しないポイント、期間、エリア、または、ゾーンである。本特許出願の譲受人であるＩｎｖｅｎＳｅｎｓｅ社は、ＭＥＭＳベースのジャイロスコープおよび加速度計を、ならびに／あるいは、ミニチュアコンパスを有する、ハンドヘルドデバイスの誤差を較正または訂正するための、独自の方法、ソフトウェア、および、アーキテクチャを開発してきた。異なるコマンドおよびキャラクタが、互いにわずかにだけ異なる手のジェスチャーによって表されているときでさえ、これらのイノベーションにより、ジェスチャー認識システムが、ユーザによって意図されたさまざまなコマンドおよびキャラクタを解釈して区別することが可能になる。
【００２３】
ステップ１１４に戻ると、ジャイロスコープのバイアスを安定させるのを助けるためと、重力の方向を決定するのを促進するためにも、加速度計のデータを使用することができる。加速度計のデータは、ジャイロスコープのデータと相関させて、空中での意図的な動きを示す強い線形成分、すなわち、モーメントアームを持つ回転と、ユーザの手の中での意図的でないデバイスの回転を示す、このような成分を持たない回転の成分とを区別することもできる。ハンドヘルドデバイスにコンパスを組み込んで、ヨー方向におけるジャイロスコープバイアスを安定させることもできる。この前処理の結果は、ヨーの角度の動きと、ピッチの角度の動きとに対応する、Ｘデータポイントと、Ｙデータポイントとを含む軌道である。ピッチ、ロール、および、ヨーは、角度として測定される物体の動きのことを指す。ピッチは、箱のふたのような上下の動きである。ヨーは、ちょうつがいのドアのような左右の動きである。ロールは、回転の動きである。
【００２４】
軌道を分離するのを助けるために、１つの実施形態では、ハンドヘルドデバイス上のボタンを使用して、意図的なジェスチャーの動きと、意図的でない動きまたはワインドアップの動きとを区別することができる。ジェスチャーの経過中にボタンを押さえることができ、あるいは、ジェスチャーの開始において１度、および、ジェスチャーの終わりにおいて１度、ボタンを押すことができる。別の実施形態では、ジェスチャーの始まりと終わりを決定するために、軌道のスピードを使用することがある。例えば、ユーザが、大きくて速い動きを開始したときに、ジェスチャーが開始したと仮定される。ある時間が経過して、動きの総量またはスピードが、何らかのしきい値を下回るまで減少したときに、ジェスチャーが終わったと仮定される。さらに別の実施形態では、何らかの動きが、ジェスチャーの動きでありうると仮定され、ジェスチャーを捕捉するために、移動窓法（moving window）のデータが使用される。
【００２５】
手の動きを使用して、予め定められた軌道を空中で描くという経験に、ユーザが慣れていないことがあるので、ユーザが軌道の制御を学習するのを助けるためにフィードバックを使用することができる。このケースでは、ジェスチャー認識アルゴリズムにおいて使用されるだろう軌道をユーザに知らせるために、軌道のＸパスおよびＹパスに対応するイメージを、例えば、コンピュータディスプレイ上に表示することができる。データベース構造における、記憶、問い合わせ、および、比較に適していることから、空間および時間において軌道を正規化することが有用であることを当業者は正しく認識するだろう。空間において軌道を正規化するために、総Ｘスパンならびに総Ｙスパンの最大量により決定された量または比率だけ、軌道をスケールダウンすることができる。時間において正規化するために、平均化を使用して、データポイントの数を減少させることができる。正規化の後で、すべての軌道は、同じサイズおよび同じ数のデータポイントを有するだろう。それにより、それらを形によって比較することがさらに容易になる。
【００２６】
ステップ１１６において、軌道データを、１組の選択された別々の特徴に対応する１組の値に変換することができる。１組の特徴の１つの例は、何らかの所定の時点における軌道の角度である。ピッチにおける変化をヨーにおける変化で除算した逆タンジェントを使用して、これを計算することができる。１組の特徴の別の例は、Ｘの二乗とＹの二乗を足したものを構成する、半径の二乗成分である。１組の特徴の別の例は、ピッチのみ、すなわち、Ｙデータポイントのみを含むピッチ成分である。１組の特徴の別の例は、ヨーのみ、すなわち、Ｘデータポイントのみを含むヨー成分である。１組の特徴の別の例は、例えば、文字“Ｕ”を文字“Ｖ”と区別するのに有用な、軌道の変化のレートである。１組の特徴の別の例は、例えば、数字“８”を数字“０”と区別するのに有用な、交差するポイントの位置である。１組の特徴の別の例は、軌道内で軌道が方向を変える回数であり、方向における角度の変化は、しきい値よりも大きいという限定がある。本発明のシステムの前提および目的内で、他の組の類似するタイプの特徴も使用できることを、当業者は正しく認識するだろう。
【００２７】
ステップ１１８において、予め定められた組の別々の特徴に対応する１組の値が生成された後で、例えばＩＤ番号のような、対応する識別子とともに、所望のジェスチャーを示す１組の値をデータベースに記憶することができる。ステップ１２０において、データベースには、所望の特徴に対応する多くの組の値を格納することができ、データベースは、さまざまな識別子を所望のジェスチャーに関係付けることができる。以下は、ステップ１２０において生成することができる例示的なデータベースである。以下の表は、１組のＮ個の特徴、および、Ｎ個の特徴に対するＭ組の値を含んでいる。コマンドまたはキャラクタは、各組の値に関係付けられている。
【表１】
0005882220.tif 000002
【００２８】
トレーニングモード１１０の間に格納されたデータベースは、その後、認識モード１３０の間に、ジェスチャー認識モードに対して使用することができる。認識モードでは、ステップ１３２において、ユーザは、ハンドヘルドデバイスを動かすか、または、彼／彼女の手だけを空中で動かすかのいずれかにより、手のジェスチャーを行う。ステップ１３４において、ハンドヘルドデバイスは、ハンドヘルドデバイスに埋め込まれているジャイロスコープ、加速度計、およびコンパスを使用することにより、ステップ１３２において行われたジェスチャーの軌道に関連するデータを抽出する。
【００２９】
ステップ１３６において、ステップ１３４において抽出された軌道データが、何らかの別々の特徴に対応する１組の値に変換される。トレーニングモード１１０においてステップ１１４およびステップ１１６がそれぞれ実現されたのと同じ方法または類似する方法で、ステップ１３４およびステップ１３６を実現することができる。ステップ１３８において、ステップ１３６において入力された軌道から決定された１組の値を、ジェスチャーライブラリ中に記憶されているすべての組の値か、または、ジェスチャーライブラリ中に記憶されている値の組のサブセットと比較することができる。このライブラリは、ステップ１２０においてトレーニングデータを使用することにより、または、ハードコード化されたデータを使用することにより、発生されたものである。ステップ１４０において、ユーザの入力軌道により発生された１組の値に一致する、または、最も近く一致する１組の値をライブラリから識別したときに、その組の値に対応するキャラクタが表示されるか、あるいは、その組の値に対応するコマンドが実行される。キャラクタは、英語または別の言語のアルファベットからの文字を含むことがある。使用されているような用語“キャラクタ”は、単語、フレーズ、または、署名も含むことがあることを、当業者は正しく認識するだろう。キャラクタは、例えば、ローマ数字のような、数字も含むことがある。例えば、マイクロソフト（登録商標）ワードのような、ワードプロセッシングアプリケーション文書において、キャラクタを表示することができる。
【００３０】
ステップ１４０において、特徴の組に対応するユーザ入力値の組と、ライブラリ内の特徴の組に対応する値の組とを比較するために、ルックアップテーブル、隠れマルコフモデル（ＨＭＭ）、ニューラルネットワーク、および、サポートベクターマシンを含む、使用できるさまざまな技術が存在する。最適な実施形態では、最適化のために何らかの改良をされたＨＭＭが使用される。ＨＭＭは、状態遷移行列および放出行列を含む。状態遷移行列では、各状態の後に次の状態が続くにちがいない左右モデルが使用される。
【表２】
0005882220.tif 000003
【００３１】
放出行列では、特徴に対する各ライブラリ値により行列中での最適なポイントが与えられる行列を発生させるために、ライブラリからの特徴を使用することができるが、特徴に対するライブラリ値の両側に何らかの許容される確率がある。例えば、所定の状態が、所定のライブラリ特徴の組に対して特徴＃４で記録されていた場合に、放出行列中の対応する列は、０ＡＢＣＢＡ００等を含むかもしれない。
【００３２】
Ｃが高い確率に対応している場合に、ＢおよびＡは、それぞれ、より低い確率に対応している。この行列は、バウム−ウェルチ方法のようなトレーニング方法を使用して発生されてもよく、または、特徴ライブラリから直接入力されてもよい。状態遷移行列および放出行列が発生された後で、前向きアルゴリズムまたはビタビアルゴリズムのような標準アルゴリズムを使用して、入力された特徴の組の値が、ライブラリの特徴の組の値に一致する確率を評価するために、これらの行列が使用されてもよい。過剰なスケーリング差を防ぐために、最終的な確率はログとして発生されてもよい。
【００３３】
入力軌道を評価するためにいくつかの異なる特徴の組が使用されるときに、各特徴の組に対して確率が発生されるだろう。例えば、確率Ａは、角度の特徴に対する確率を反映し、確率Ｂは、半径の特徴に対する確率を反映する等である。すべてのタイプの特徴に対するすべての確率の、重み付けされた線形の組み合わせとして、最終的な確率が与えられることがあり、重みは、実験的に決定される。最も高い確率は、軌道に対する最良の一致を決定する。最も高い確率がしきい値を下回る場合には、一致は何も返されない。
【００３４】
１つの実施形態では、１組の数字、キャラクタ、または、類似する長さの他の軌道のような、１組の短いジェスチャーが、予めトレーニングされてもよい。各ジェスチャーに対して、１組の異なる軌道がトレーニングされてもよい。例えば、２は、下の左隅におけるループありで、または、下の左隅におけるループなしで、トレーニングされてもよい。予め定められた特徴の組のうちの１つに一致する軌道をユーザが入力したときに、デバイスのアプリケーションまたはオペレーティングシステムにおいて、イベントがトリガされる。１つの実施形態では、ジェスチャーは、アプリケーション内あるいはゲーム内でのモード変更またはイベントをトリガすることがある。別の実施形態では、ジェスチャーは、アプリケーションを開くか、または、閉じてもよく、あるいは、そうでなければ、オペレーティングシステム内で動作する１組のアプリケーションを制御してもよい。別の実施形態では、数字または文字は、プログラム内あるいはオペレーティングシステム内のリスト中のエレメントを示してもよい。
【００３５】
１つの例では、電話機内の連絡先リストにおいて、文字を描くことは、アルファベット中のその文字へと連絡先リストがスクロールすべきであることを示してもよい。別の例では、メインメニュー内で、（‘Ｗ’のような）文字を描くことは、（ウェブブラウザのような）アプリケーションを開始させてもよい。予め規定されたジェスチャーのリストは、デバイスのベンダーにより予めプログラミングされていてもよく、または、ユーザによりトレーニングされてもよく、または、その双方であってもよい。
【００３６】
別の実施形態では、一致することになる軌道は、デバイスをロック解除するために、デバイス上で動作しているプログラムをロック解除するために、あるいは、購入または他の金銭上の取引を成立させるために使用される認証信号であってもよい。このような認証信号は、署名に類似し、シンプルなキャラクタまたは数字よりも長いことがある。このような空中署名は、形および曲線の抽象的な組であってもよく、あるいは、空中で描かれる実際の署名であってもよい。ユーザによって描かれた軌道は、何らかの対立が起こった場合に、後に表示することができるように、データベース中に記憶させてもよい。ユーザによって描かれた軌道を、ユーザの予め定められた空中署名にリアルタイムで一致させてもよく、トリガするように意図されているイベントのトリガは、一致の確率が十分に高い場合にのみ成功する。
【００３７】
何人かのユーザは、他の人よりも長い署名を使いたいと思っていることがあるので、空中署名のような、任意に長い軌道を記録するために、すべてのユーザの署名に対して、ハードコード化された数の特徴を使用するのでは十分でないことがある。このケースでは、使用されることになる特徴の数は、署名内での方向の変化の数によって決定されてもよい。
【００３８】
別の実施形態では、すべての認識可能な軌道に対して、ハードコード化された数の特徴を使用することがあり、より長い軌道は、より短い軌道の組み合わせからなる。このケースでは、長い署名は、記録および比較されるさらに短い単位に解体されなければならず、正しい順序で認識が成功する１組のより短い軌道を長い署名が含んでいる場合にのみ、長い署名の認識は成功する。
【００３９】
１つの実施形態では、ユーザによって動かされるデバイスは、モーションセンサーとディスプレイの双方を組み込んでおり、フィードバック軌道とジェスチャー認識の結果とが、ディスプレイ上に描かれてもよい。このケースでは、デバイスは、ハンドセット、ポータブルゲーミングシステム、または、１組のモーションセンサーおよびディスプレイを含む他の電子システムであってもよい。別の実施形態では、デバイスは、モーションセンサーを含むが、ディスプレイを含んでいないことがあり、デバイスから物理的に離れているディスプレイが、フィードバックおよび結果を示してもよい。例えば、デバイスは、リモートコントロール、エアマウス、または、ゲームコントローラに類似してもよく、ディスプレイは、コンピュータ、ＴＶ、または、ゲームコンソールモニタであってもよい。図４は、ユーザにリアルタイムフィードバックを提供するための例示的なディスプレイを示している。この例では、ユーザが、ハンドヘルドデバイス４００を動かすことによって空中に文字“Ｗ”を描いて、ディスプレイが、リアルタイムで軌道を表示した。
【００４０】
図５は、本発明に対するトレーニングモード方法からの例示的なフローダイヤグラム５００を示している。この例では、ユーザは、ハンドヘルドデバイスを手に持ちながら、空中で文字“Ｗ”を描いた。ステップ５０２において、ハンドヘルドデバイス内部にある慣性センサーが、“Ｗ”の軌道に関連する生のデータを提供する。このデータは、ハンドヘルドデバイス内またはハンドヘルドデバイス外にあってもよいプロセッサにより、ノイズ等を取り除くために前処理され、正規化される。ステップ５０４において、軌道データは、１組の予め定められた別々の特徴に対応する１組の値に変換される。特徴の組に含まれる別々の特徴のタイプは、プログラム可能であることがあり、変更することができる。例として、組中の別々の特徴のうちの１つは、軌道が方向を変える回数を含むことがある。文字“Ｗ”のケースでは、その特徴の値は３であるだろう。この値は、その後、データベース中に記憶される。ステップ５０６において、コマンドまたはキャラクタが、“Ｗ”を表す１組の値に関係付けられる。１つの例では、“Ｗ”は、ワールドワイドウェブブラウザを開くまたは閉じるためのコマンドを表すことがある。別の例では、“Ｗ”は、単に、キャラクタＷを表すことがあり、キャラクタＷは、電子メール中またはワードプロセッシング文書中にタイプされ、入力され、または、表示されるものである。１組の値に関係付けられているキャラクタまたはコマンドは、ユーザプログラム可能とすることができる。
【００４１】
図６は、本発明にしたがった、ジェスチャーを認識するための例示的なフローダイヤグラム６００を示している。この例では、ユーザは、慣性センサーを備えるハンドヘルドデバイスを手に持ちながら、空中で文字“Ｕ”を描く。ステップ６０２において、慣性センサーは、“Ｕ”の軌道に関連するデータを提供する。前処理およびフィルタリング後に、ステップ６０４において、軌道データは、選択されたグループの別々の特徴に対応する１組の値に変換される。ステップ６０６において、１組の値は、同じグループの別々の特徴に対応する値の組と比較され、一致または最も近い一致が見つけられる。例として、軌道の変化のレートは、“Ｕ”（よりゆるやかな変化）と“Ｖ”（より急な変化）とを差別化するので、ここでは有用な特徴であることがある。ステップ６０８において、アプリケーション中で、“Ｕ”に関係付けられているコマンドが実行されるか、または、文字“Ｕ”が表示される。
【００４２】
図７は、本発明のジェスチャー認識エンジン７００により使用することができる例示的なコンピュータモジュールを示している。エンジンは、それぞれ、ハンドヘルドデバイスの動きの軌道に関連するデータを取得するため（７０２）と、軌道データを、選択された別々の特徴に対応する１組の値に変換するため（７０４）と、変換された組の値を、データ記憶装置中に記憶されている値の組と比較して、一致を見つけるため（７０６）と、一致に関係付けられているキャラクタを表示するか、または、一致に関係付けられているコマンドを実行するため（７０８）の、さまざまなモジュールを含んでいる。モジュール７０２〜７０８は、ハードウェア中、ソフトウェア中、または、ファームウェア中で実現することができる。モジュール７０２〜７０８は、単一のコンピュータ上または複数のコンピュータ上で実現することができる。モジュール７０２〜７０８は、プログラム可能であるか、または、ハードワイヤードとすることができる。
【００４３】
１つの実施形態では、描かれる軌道が、ハンドヘルドデバイスの座標系中にあってもよい。このケースでは、垂直に描かれる１は、ユーザが立っている場合には、地球に対して垂直であるだろうが、ユーザが横になっている場合には、水平であるかもしれない。軌道は、ハンドヘルドデバイスの座標系に対して常に同じであるだろう。
【００４４】
別の実施形態では、描かれる軌道は、地球の座標系中にあってもよく、または、モーションセンサーに取り付けられていない別個のディスプレイの座標系中にあってもよい。このケースでは、垂直に描かれる１は、１として正しく認識されるために、地球に対して常に垂直でなければならない。このケースでは、ジャイロスコープデータが、地球ではなく、デバイスの座標系中にあるので、重力の方向を決定するためと、ジャイロスコープデータを処理するために、加速度計データを使用することができる。センサー融合技術を使用して、リアルタイムでこれを行うことができ、または、ルックアップテーブルを使用して、後処理中でこれを行うことができる。
【００４５】
何らかの回転誤差なしに、正しい座標系で確実にジェスチャーを描くようにユーザが期待されることがないケースでは、比較アルゴリズムが、わずかに異なる角度オフセットを使用して複数回動作してもよく、最良の一致が最終的な確率として選ばれる。例えば、軌道は、０、２２．５度、−２２．５、４５、および、−４５の回転を持つライブラリ特徴の値の組と比較されてもよい。
【００４６】
ユーザまたはデバイスの設計者はまた、さまざまな方法で、認識しきい値を調整してもよい。軌道が、あるしきい値よりも空間において大きいか、または、あるしきい値よりも小さい場合にのみ、軌道は有効であるかもしれない。ジェスチャーの実行時間が、しきい値よりも長いか、または、しきい値よりも短い場合にのみ、軌道は有効であるかもしれない。ジェスチャーのスピードが、しきい値を上回るか、または、しきい値を下回ったままである場合にのみ、軌道は有効であるかもしれない。各個々のジェスチャーは、個別のしきい値を含んでいてもよく、他のジェスチャーと比べてジェスチャーに重み付けする、最終的な確率のスケール係数を含んでいてもよく、アプリケーションの設計者が、２つの類似するジェスチャーから、トリガがより容易であるジェスチャーを選ぶことが可能になる。
【００４７】
本発明のある態様にしたがうと、より長いジェスチャーを認識するために、長い軌道をセグメントに解体する技術を使用することができ、各セグメントは、個々の軌道のように扱われる。図８は、長いジェスチャーを処理するための、本発明の方法に対する例示的なフローダイヤグラムを示している。フローダイヤグラム８００にしたがうと、ステップ８０２において、ハンドヘルドデバイスを振ることによりユーザによって作られた軌道が、セグメントに分割される。例えば、５文字の筆記体の単語は、５個のセグメントに分割することができる。セグメントの数は、予め定められた数を含むことができ、または、軌道全体の複雑さを解析することにより、例えば、軌道全体での方向の変化の数を計算することにより、決定することができる。ステップ８０４において、何らかの確率しきい値内で、各セグメントがライブラリ中で認識されるかどうか、すなわち、各セグメントがライブラリ中に一致を有しているかどうか、決定がなされ、一致が確実なレベルを示す確率の値が、セグメントに割り当てられる。各個々のセグメントが十分に認識された場合には、ステップ８０６において、最終的な確率の値、すなわち、軌道全体に対して累積的に計算された確率の値が計算される。さまざまな方法で、例えば、個々の確率値を平均化したり、または、共に乗算したりして、個々の確率値を組み合わせることにより、最終的な確率を計算することができる。ステップ８０８において、最終的な確率の値が最終的な確率のしきい値を満たしているかどうか、または、最終的な確率の値が最終的な確率のしきい値を超えたかどうか、決定がなされる。
【００４８】
ジェスチャーが認識されるためにユーザが超えなければならない最終的な確率のしきい値を決定することは、難しい。その理由は、異なる軌道は、異なるしきい値を必要とすることがあり、異なるユーザは、動きの正確さの程度が異なっていることがあるからである。ジェスチャーが何回かトレーニングされた場合に、確率のしきい値の決定を自動化することができる。例えば、ジェスチャー‘Ｍ’が５回トレーニングされた場合に、ライブラリは、Ｍ１、Ｍ２、Ｍ３、Ｍ４、および、Ｍ５と呼ばれる、ジェスチャー‘Ｍ’の５回の繰り返しをそのメモリ中に含んでいる。ユーザは、これらの５回の繰り返しはすべて同じジェスチャーであると考えているので、ライブラリ内で、軌道Ｍ１が、Ｍ２、Ｍ３、Ｍ４、および／または、Ｍ５として認識される可能性があるべきである。Ｍ１対Ｍ２、Ｍ１対Ｍ３、Ｍ１対Ｍ４等の一致の確率をチェックすることにより、１組の一致の確率を決定することができる。新しい‘Ｍ’が認識されるべき推奨される確率は、例えば、平均すること、または、最小の確率を選ぶことのような、何らかの方法で、個々の一致確率をすべて組み合わせることにより、決定することができる。
【００４９】
本発明のある態様にしたがうと、ユーザは、間にスペースのある複数のストロークを含むジェスチャーをトレーニングしたいことがある。例えば、中国語、韓国語、または、日本語のキャラクタをジェスチャーとしてトレーニングするときである。このケースでは、どの動きが“ストローク”に対応するのかを決定するためのメカニズムが、適切であるにちがいない。例えば、ハンドヘルドデバイスは、押されているときに、ユーザがストロークを“描いている”ことを示すボタンを含んでいることがある。ボタンが押されていないときには、これは、ユーザがストローク間を移動していることを示す。ユーザの手のジェスチャーがストローク間を移動しているときに、ユーザはカーソルの動きを見ることができ、それにより、次のストロークの始まりの所定の位置が明らかになるメカニズムもまた、適切であることがある。それゆえ、ユーザは、空中での手の動きを使用して、マルチストロークのキャラクタをディスプレイ上に描くことができる。
【００５０】
トレーニングの間に、各ストロークをジェスチャーとして記憶することができる。移動の動きは、前のジェスチャーの終わりと新しいジェスチャーの始まりとの間の直線を示す＜ｘ，ｙ＞ベクトルとして記憶することができる。各ストロークはまた、ストロークの始まりとストロークの終わりの間の直線を示すベクトルを有することもある。動作の間に、マルチストロークキャラクタが一致するためには、すべてのストロークおよび移動ベクトルが一致しなければならない。ユーザがストロークを伝えている間に、最初の数ストロークをデータベースのキャラクタに一致させるように試み、最も可能性のある一致を決定するオートコンプリート特徴をアクティブにすることができる。オートコンプリート提案の数が十分に小さいときには、ユーザは、単に、リストから正しいキャラクタを選択することができる。動作の間に、マルチストロークキャラクタは、正しい順序および正しいストロークの方向を有することがある一方で、ユーザは、トレーニングの間にマルチストロークキャラクタがライブラリ中に記憶された方法と比べて、必ずしも正確な順序または正確な方向で、ストロークを描く必要がないかもしれない。しかしながら、本発明のジェスチャー認識エンジンは、結果のキャラクタがそれでもなお所望のキャラクタに一致すると決定することができる。
【００５１】
図９は、ストロークを含むジェスチャーを認識するための本発明の例示的な技術を示している。トレーニングシーケンス９１０は、ストロークＡ、Ｂ、および、Ｃを持つ３ストロークのキャラクタに対するシーケンスを含んでいる。トレーニングシーケンス９１０は、正しいストローク順序とも呼ばれる。正しいストローク順序９１０は、ベクトルｖＡ（Ａの開始からＡの終わりまで）と、ｖＡＢ（ストロークＡとストロークＢの間の移動）と、ｖＢと、ｖＢＣと、ｖＣとを含む。ＨＭＭ、ニューラルネットワーク、サポートベクターマシン、または、他の類似する技術であることがある所望のマシン学習技術を使用して、すべての３個のストロークおよび５個のベクトルを一致させるだろう。
【００５２】
動作の間に、ストロークＡ、Ｂ、および、Ｃを含む同じキャラクタが、異なる順序または間違った順序で描かれることがある。例えば、Ｂ、Ａ、Ｃという間違った順序でのストローク９２０によりキャラクタが描かれた場合に、このキャラクタもまた、ライブラリ中の記憶されているキャラクタの変形したバージョンに対して一致することがある。ストロークＢ、Ａ、および、Ｃによるキャラクタ、ならびに、ベクトルｖＢ、ｖＢＡ、ｖＡ、ｖＡＣ、および、ｖＣを比較することにより、一致を取得することができる。シンプルなベクトル計算を使用することにより、新しいベクトルを計算することができる：ｖＡＣ＝ｖＡＢ＋ｖＢ＋ｖＢＣ、かつ、ｖＢＡ＝−ｖＢ−ｖＡＢ−ｖＡである。加えて、間違った方向で描かれた１つ以上のストロークによりキャラクタが描かれた場合に、個々のストロークを逆にすることにより、および、記憶されているライブラリに対して結果をテストすることにより、一致を行うことができる。この方法で、サーチを行ってもよく、サーチでは、ライブラリ中に一致が見つかるまでか、または、何ら一致が見つからないまで、ストロークの順序および方向のすべての組み合わせをテストすることができる。
【００５３】
本発明のある態様にしたがうと、ジャイロスコープを備える慣性センサーは、ハンドヘルドデバイスに対する拡張された電力管理を提供するために使用される。電力管理は、電力をオフにすること、あるいは、アクティブでないときに、システム、コンポーネント、機能、または、アプリケーションを、より低い電力状態にスイッチすることを指す。バッテリー寿命を伸ばすためと、冷却要件を減少させるためと、ノイズを減少させるためと、エネルギーおよび冷却に対する動作コストを減少させるために、ハンドヘルドデバイスに対する電力管理が望ましい。より低い電力消費は、より低い熱放散も意味し、より低い熱放散は、システム安定性を増加させ、エネルギー使用を減少させ、コストを減少させ、環境への影響を減少させる。
【００５４】
図１０は、電力管理のために慣性センサーが使用される、本発明の例示的な実施形態にしたがったシステムを示している。ハンドヘルドデバイス１０００は、モーション処理ユニット１０１２に結合されているメインマイクロプロセッサ１００８を備える。モーション処理ユニット１０１２は、慣性センサーモジュール１０１６に結合されているプロセッサ１０１４を含み、慣性センサーモジュール１０１６は、ジャイロスコープや、加速度計や、または、その双方を含むことがある。慣性センサーモジュール１０１６は、コンパスも含むことがある。プロセッサ１０１４は、ジャイロおよび加速度計１０１６を制御し、ジャイロおよび加速度計１０１６により提供される情報（または、データ）を処理する。プロセッサ１０１４は、コンパスを制御し、コンパスにより提供される情報を処理するために、コンパスに結合されることもある。プロセッサ１０１４は、プログラマブルモジュール１０１８と、メインマイクロプロセッサ１００８にも結合されている。プログラマブルモジュール１０１８は、メインマイクロプロセッサ１０１８中のソフトウェアモジュールとして含まれることもある。プログラマブルモジュールは、モーション処理ユニット１０１２に含まれることもある。
【００５５】
メインマイクロプロセッサ１００８は、主として、ハンドヘルドデバイス１０００のコンポーネントの動作の管理を担っている。マイクロプロセッサ１００８は、ネットワークブラウザ１００２（例えば、インターネットブラウザ）と、ディスプレイ１００４と、カメラ１００６と、マイクロフォン１０１０と、キーパッド１０２０とを含むアプリケーション（または、コンポーネント）に結合されている。メインマイクロプロセッサ１００８は、プログラマブルモジュール１０１８にも結合されている。プログラマブルモジュール１０１８は、マイクロプロセッサ１００８により、キーパッド１０２０と、ネットワーク１０２２とに結合されている。キーパッド１０２０は、ユーザがそこからのプログラミングモジュール１０１８をプログラムすることができる、スマートフォンに対するキーパッドを含むことがある。ネットワーク１０２２は、ワイヤードネットワーク、ワイヤレスネットワークまたは光ネットワークや、インターネットや、ローカルエリアネットワーク（ＬＡＮ）や、あるいは、そこからのプログラミングモジュール１０１８をプログラムすることができるコンピュータを含むことがある。
【００５６】
ディスプレイスクリーン１００４は、必須のユーザインターフェースコンポーネントであり、スマートフォンを動作させるために必須である。ディスプレイ１００４は、バッテリー電力を最も消費するハンドヘルドデバイス１０００のコンポーネントのうちの１つでもある。本発明の態様にしたがうと、モーション処理ユニット１０１２は、ハンドセット１０００のディスプレイ１００４への依存を軽減するために使用される。図１０において示されているように、ジャイロスコーププロセッサ１０１４およびジャイロ１０１６は、専用の電力区分に配置され、ディスプレイ１００４およびメインプロセッサ１００８から離れている。大きさの観点からいえば、慣性センサー１０１６の電力消費は、ディスプレイ１００６の電力消費よりもかなり小さい。
【００５７】
図１１は、本発明の例示的な電力管理方法を示している。フローダイヤグラム１１００にしたがうと、ステップ１１０２において、さまざまな“ウェークアップ”コマンドを認識するようにプログラマブルモジュール１０１８がプログラムされる。“ウェークアップ”は、ハンドヘルドデバイス１０００のコンポーネントを、低電力（すなわち、オフ）モードから、高電力（すなわち、オン）動作モードへとスイッチすることを指す。キーボード１０２０を使用することにより、ユーザによってプログラマブルモジュール１０１８をプログラムすることができる。プログラマブルモジュール１０２２は、ネットワーク１０２２を通して遠隔にプログラムすることもできる。例えば、インターネットにより、プログラマブルモジュール１０２２に“ウェークアップ”コマンドをアップロードすることができる。
【００５８】
プログラマブルモジュールは、さまざまな手のモーションおよびそれらの対応するコマンドを含むルックアップテーブルを含むことがある。モーションコマンドの例は、電話に出るコマンドを表す、シェークするアクションまたは特別な動きのパターン（すなわち、署名）と、カメラをオンにするコマンドを表す文字“Ｃ”の手書きモーションと、電話機のロックを解除する手のジェスチャーと、電話番号を短縮ダイヤルする手のジェスチャーと、他のユーザ特有のショートカットを表す手のモーションとを含むことがある。例えば、電話に出る、電話番号を短縮ダイヤルするといった、あるモーションコマンドに対して、ディスプレイ１００４およびタッチパネル１０２０はオフになったままであることがある。
【００５９】
ステップ１１０４において、ハンドヘルドデバイス１０００はスタンバイ（または、スリープモード、低電力モード、または、オフモード）中である。例えば、デバイス１０００が、予め定められた期間の時間よりも長い間アイドルでいたために、デバイス１０００が、スリープモードに入ることがある。スリープモードは、ハンドヘルドデバイス１０００がその電力消費を著しく減少させる低電力モードのことを指すが、プログラミングコードをリセットするようにユーザに要求することなく、または、ハンドヘルドデバイス１０００がリブートするのを待つことなく、デバイス１０００が、即座に動作を再開する（すなわち、アクティブモードにスイッチバックする）ことが可能になる。スリープモードでは、ネットワークブラウザ１００２と、ディスプレイ１００４と、カメラ１００６と、マイクロフォン１０１０とがオフにされ、メインマイクロプロセッサ１００８は、その最低電力状態に減速される。しかしながら、本発明のある態様にしたがうと、ハンドヘルドデバイス１０００がスリープモードであり、何らかのモーションコマンドに対する監視を続けているときに、モーション処理ユニット１０１２は、動作し続ける（すなわち、アクティブであり続ける）。
【００６０】
ステップ１１０６において、ユーザは、ユーザの所望のコマンドを表すハンドヘルドデバイス１０００の動きを生じさせる。動きの軌道は、ジャイロ１０１６により検出される。本発明の１つの実施形態では、ジャイロ１０１６は、モーションの軌道を表すデータを発生させ、それをジャイロプロセッサ１０１４に提供する。ジャイロプロセッサ１０１４は、モーションの軌道データに対応するコマンドを識別するために、プログラマブルモジュール１０１８と通信する。ジャイロプロセッサ１０１４は、メインマイクロプロセッサ１００８に、ウェークアップ信号（ステップ１１０８）と、ユーザのモーションコマンドの識別を提供する。ウェークアップ信号に応答して、メインマイクロプロセッサ１００８は、スリープモードからアクティブ（すなわち、高電力）動作モードにスイッチする。
【００６１】
本発明の別の実施形態では、ジャイロプロセッサ１０１４は、メインプロセッサ１００８に、ウェークアップ信号と、ユーザのモーションの軌道に関連するデータを提供する。ウェークアップ信号は、メインマイクロプロセッサ１００８を、スリープモードからアクティブモードにスイッチさせる（ステップ１１０８）。ステップ１１１０において、メインマイクロプロセッサ１００８は、ジャイロデータに対応するコマンドを識別するために、プログラマブルモジュール１０１８と通信する。ステップ１１１２において、メインマイクロプロセッサ１００８は、コマンドを実行するように要求されるアプリケーションをウェークアップさせる（すなわち、アプリケーションをスリープモードからアクティブモードにスイッチさせる）。ステップ１１１４において、メインマイクロプロセッサ１００８および現在アクティブなアプリケーションは、コマンドを実行する。したがって、本発明は、ハンドヘルドデバイスをウェークアップさせるために、ハンドヘルドデバイス上のプッシュ（または、ソフト）ボタンではなく、モーショントリガを使用する。
【００６２】
本発明の１つの実施形態では、ユーザのモーションを検出するためにジャイロ１０１６だけが使用される。ジャイロは、角度の動きを検出する。人間の手の動きの大半は角度があり、一般的に、線形の手の動きでさえ角度の動きを伴っているので、ジャイロ１０１６は、手のモーションを検出するのによく適している。図１２において示されているように、ジャイロ１０１６は、ハンドヘルドデバイス１０００のＸ軸、Ｙ軸、およびＺ軸の周りの、何らかの回転運動または角運動を検出することができる。したがって、本発明は、ハンドヘルドデバイス１０００に対するモーションコマンドをプログラムし、検出し、実行するために、ユーザに、すべての３つの軸（Ｘ、Ｙ、およびＺ）に沿って３６０度の自由を提供する。本発明の別の実施形態では、モーション処理ユニット１０１２中に含まれているジャイロ１０１６および加速度計の双方により、ユーザのモーションの軌道が検出される。軌道に関係する角度の動きを検出するためにジャイロ１０１６が使用され、軌道に関係する線形の動きを検出するために加速度計が使用される。この実施形態では、プロセッサ１０１４は、ジャイロデータと加速度計データの双方を処理することができる。
【００６３】
本発明のある態様にしたがうと、ユーザの手の動きを検出するためのユーザインターフェースとして、モーション処理ユニット１０１２が使用される。本発明の例示的な実施形態では、モーション処理ユニット１０１２は、メインマイクロプロセッサ１００８のサブシステムである。本発明の別の実施形態では、モーション処理ユニット１０１２は、メインマイクロプロセッサ１００８により直接制御される。双方の実施形態において、例えば、ハンドヘルドデバイス１０００が、予め定められた量の時間よりも長い間アイドルしたままであったために、アプリケーション１００２、１００４、１００６、１０１０、１０１８、および１０２０がスリープモードに入ったときでさえ、メインマイクロプロセッサ１００８およびモーション処理ユニット１０１２は、アクティブモードであり続ける。
【００６４】
したがって、図１１において開示されている実施形態とは異なり、これらの実施形態では、メインマイクロプロセッサ１００８は、アクティブモードであり続けるので、アウェークされる必要がない。ハンドヘルドデバイス１０００の動きの検出に応答して、メインマイクロプロセッサ１００８−ＭＰＵ１０１２システムは、以下の機能のうちの少なくとも２つまたはすべてを自動的に実行する：ユーザの認証、動きに関係するコマンドの識別、関連するアプリケーションのウェークアップ（すなわち、スリープからアクティブモードへのスイッチ）、および、現在アウェークしているアプリケーションを使用することによるコマンドの実行である。
【００６５】
従来技術では、移動体電話機のようなハンドヘルドデバイスに対して、ハンドヘルドデバイスをスリープからアクティブモードにスイッチさせるために、ユーザは、ハンドヘルドデバイスのキーパッド（または、タッチパネル）上のボタンをプッシュしなければならない。このことは、ユーザが実行を望んでいない機能性がディスプレイの使用を要求しない場合でさえ、ハンドヘルドデバイスの高電力消費ディスプレイをアクティブモードにスイッチさせる。例えば、ユーザがミーティング中であり、彼／彼女のスマート移動体電話機を使用して、ミーティングの一部をオーディオ記録することを望んでいる場合に、従来技術では、オーディオ記録のためにディスプレイが必要なくとも、ユーザは、最初にディスプレイをアウェークして、その後、例えば、オーディオ記録アプリケーションを選択するために、ソフトキーまたはハードキーを押すことによって、オーディオ記録アプリケーションを選択しなければならない。したがって、従来技術は、電力と時間の浪費を生じさせ、ユーザによる複数のアクションを要求する。
【００６６】
本発明の実施形態にしたがうと、ユーザは、ミーティングをオーディオ記録したいという彼／彼女の望みを伝えるために、単一の予め定められたジェスチャー、例えば、文字“Ｒ”の形での空中軌道を作ることだけが必要である。ハンドヘルドデバイス１０００の“Ｒ”のモーションに応答して、メインマイクロプロセッサ１００８−ＭＰＵ１０１２システムは、プログラマブルモジュール１０１８と自動的に通信して、ユーザがオーディオ記録アプリケーションの起動を望んでいると決定し、例えば、マイクロフォンのようなオーディオ記録アプリケーションコンポーネントをウェークアップするようにオーディオ記録アプリケーションへの関数呼び出しを行い、ミーティングのオーディオ記録を開始する。上のステップのすべては、ユーザによる単一の“Ｒ”のジェスチャーに応答して自動的に実行され、ディスプレイ１００４のような関連のないアプリケーションをアウェークさせることなく実行される。本発明は、減少した数のステップ、より少ない電力消費、および、所望の機能を実行するための減少した時間の形で、従来技術に対する利点を提供する。
【００６７】
図１３は、カメラアプリケーションをスリープモードからアクティブモードにスイッチさせる、本発明の例示的な方法を示している。フローダイヤグラム１３００にしたがうと、ステップ１３０２において、ハンドヘルドデバイス１０００はスリープモードであり、ユーザは、ユーザが写真を撮りたいと思う物体を見かける。ステップ１３０４において、ユーザは、ハンドヘルドデバイス１０００を手に持ちながら、空中で“Ｃ”の手のジェスチャーを行う。ユーザは、彼／彼女の手首を回転させることにより、“Ｃ”のジェスチャーを行うことができる。ジャイロ１０１６は、“Ｃ”のジェスチャーを検出し、ジャイロプロセッサ１０１４に軌道データを提供する。１つの実施形態では、ジャイロプロセッサ１０１４は、メインマイクロプロセッサ１００８をウェークアップさせる。別の実施形態では、メインマイクロプロセッサ１００８は、デバイス１０００がスリープモードであるときに、アクティブモードであり続け、ジャイロプロセッサ１０１４を直接制御するように構成されている。メインマイクロプロセッサ１００８は、プログラマブルモジュール１０１８と通信し、“カメラをオンにする”ことを含む“Ｃ”のジェスチャーに対応するコマンドを識別する。
【００６８】
ステップ１３０６において、メインマイクロプロセッサ１００８は、カメラアプリケーション１００６をスリープからアクティブモードにスイッチさせる。メインプロセッサ１００８は、プログラミングモジュール１０１８中に含まれるモーションコマンドに依存して、ディスプレイ１００４をスリープからアクティブモードにスイッチさせることもできる。ネットワークブラウザ１００２およびマイクロフォン１０１０は、スリープモードであり続ける。ディスプレイ１００４がオンにされない場合に、ユーザは、カメラのビューファインダーを使用することによって物体を見ることができ、クリックボタンを使用して、写真を撮影することができる。カメラ１００６とディスプレイ１００４の双方がオンにされている場合に、ユーザは、ディスプレイ１００４上で物体を見ることができ、クリックボタンを使用することにより、写真を撮ることができる。本発明は、プッシュボタンを要求することなく、特に、デバイスおよびアプリケーションをウェークアップさせるためのトリガとしてハンドヘルドデバイスの動きを使用することにより、ハンドヘルドデバイス内部のデバイスおよびアプリケーションをウェークアップさせる能力を提供する。
【００６９】
図１４は、ハンドヘルドデバイスがアクティブモードからスリープモードにスイッチし、そして、アクティブモードに戻る、本発明の例示的な方法を示している。フローダイヤグラム１４００にしたがうと、ステップ１４０２において、スマートフォン１０００のメインマイクロプロセッサ１００８およびジャイロプロセッサ１０１４は、アクティブモードである。ステップ１４０４において、ユーザは、テーブルトップ上に電話機１０００を下向きに置く、すなわち、電話機１０００のディスプレイスクリーン１００４とキーパッド１０２０は下向きである。ステップ１４０６において、モーション処理ユニット１０１２は、電話機１０００の向きが下を向いていることを検出する。ステップ１４０８において、電話機１０００の下向きの向きに基づいて、プロセッサ１０１４と、メインマイクロプロセッサ１００８と、プログラマブルモジュール１０１８は、マイクロフォン（または、スピーカー）１０１０をオフにさせ、電話機をミュートモードに設定させる。
【００７０】
ステップ１４１０において、ユーザは、ユーザが到来電話機コールに出たいことを示すために、例えば、電話機上のどこかを２回タッピングすることにより、電話機１０００の動きを生じさせる。タッピングに起因する電話機１０００の小さな角度の動きは、ジャイロ１０１６により検出される。応答して、ステップ１４１２において、ジャイロ１０１６と、ジャイロプロセッサ１０１４と、メインマイクロプロセッサ１００８と、プログラマブルモジュール１０１８は、電話機１０００を非ミュートのアクティブモードに戻させ、マイクロフォン１０１０をオンにさせる。
【００７１】
本発明のある態様にしたがうと、ユーザ認証を実行するために他のセンサーとの組み合わせで慣性センサーが使用される。図１５は、慣性センサーと非慣性センサーとを含む本発明の例示的なハンドヘルドデバイスを示している。ハンドヘルドデバイス１５００は、３つのタイプの慣性センサーを備える：ジャイロスコープ（１５０２）と、加速度計（１５０４）と、コンパス（１５０６）である。他の実施形態では、ハンドヘルドデバイスは、ジャイロスコープ（１５０２）のみか、あるいは、ジャイロスコープ（１５０２）および加速度計（１５０４）のいずれかを含むことがある。ハンドヘルドデバイス１５００は、カメラ１５１０、ＲＦセンサー１５１２、および、マイクロフォン１５１４を含む他のセンサーも備えている。他の実施形態では、ハンドヘルドデバイス１５００は、これらの非慣性センサー１５１０、１５１２、または、１５１４のうちの１つあるいは２つだけを含むことがある。処理モジュール１５０８は、マイクロプロセッサとメモリを含むことがあり、センサー１５０２、１５０４、１５０６、１５１０、１５１２、および、１５１４により提供される情報を処理するために使用される。
【００７２】
本発明のある実施形態では、１つ以上のジャイロスコープ、加速度計、および／または、コンパスを含む慣性センサーと、メモリと、慣性センサーを制御するマイクロプロセッサが、基板上に位置している。基板は、慣性センサーによるモーション検出に応答して、ハンドヘルドデバイスに対するアプリケーションプロセッサをトリガする割り込みモジュールを含むこともある。
【００７３】
図１６は、ジャイロスコープにより提供されるデータを、他の慣性センサーにより提供されるデータと組み合わせるための例示的な方法を示している。フローダイヤグラム１６００は、サブフローダイヤグラム１６１０、１６２０、および、１６３０を含む。フローダイヤグラム１６１０にしたがうと、ハンドヘルドデバイス１５００に対する軌道情報は、ジャイロスコープ１５０２を含むハンドヘルドデバイス１５００の基準系において、ジャイロスコープから取得することができる（ステップ１６１２）。このケースでは、他のセンサーを使用することなく、ピッチおよびヨーのジャイロスコープ１５０２を個別に積分するので十分であることがあるが、ジャイロスコープ１５０２を較正するために他のセンサーもなお使用することができる（ステップ１６１４）。
【００７４】
フローダイヤグラム１６２０にしたがうと、地球の基準系において、ジャイロスコープ１５０２から軌道情報を取得することができる（ステップ１６２２）。このケースでは、地球に対するハンドヘルドデバイス１５００の傾きを決定し（ステップ１６２４）、ヨーが地球に対して水平であり、ピッチが地球に対して垂直である軌道を形成する（ステップ１６２６）ために、ジャイロスコープ１５０２に加えて加速度計１５０４を使用することができる。
【００７５】
フローダイヤグラム１６３０にしたがうと、傾き補償のために加速度計１５０４を使用することなく、ハンドヘルドデバイス１５００の基準系において、ジャイロスコープ１５０２から軌道情報を取得することができる（ステップ１６３２）。しかしながら、第３のジャイロ軸を使用して、ローリングする手首のモーションを検出することができ（１６３４）、軌道の間のこのローリングモーションに起因する何らかの歪みに対して軌道を補償することができる。磁力計１５０６は、地球の磁界を測定するために使用することもでき、何らかのジャイロスコープ１５０２ドリフトを補償するために使用することができる（ステップ１６４０）固定された測定の向きを提供する（ステップ１６３８）。
【００７６】
図１７は、角度の動きを線形の動きに相関させる、本発明の例示的な方法を示している。フローダイヤグラム１７００にしたがうと、ステップ１７０２において、ユーザは、ハンドヘルドデバイス１５００の動きを生じさせる。人間の体の動きは主として角度があるので、ジャイロスコープベースのモーション追跡によく適している一方で、ユーザは、多くの線形モーションを含む軌道を実行してもよく、多くの線形モーションは、そのどちらも主として線形的である、黒板に書くことや、または、鉛筆で紙に書くことのような、線形の筆記での彼らの習慣または経験に起因するものである。
【００７７】
ステップ１７０４において、ハンドヘルドデバイス１５００の角度の動きに関連する情報を取得するために、ジャイロ１５０２が使用される。ステップ１７０６において、ハンドヘルドデバイス１５００の線形の動きに関連する情報を取得するために、加速度計１５０４が使用される。加速度計１５０４とジャイロスコープ１５０２の間のセンサー融合後に、ポジションの変化を決定するために、線形加速度を抽出して、二重積分することがある。しかしながら、センサーにおける不正確さのせいで、二重積分は安定しないことがあり、線形の動きについての正確な情報につながらないかもしれない。角度の動きは、たとえそれが小さい場合でも、角度の動きは二重積分を必要としないという事実に起因して、動きの方向と質を決定するために使用することができる。角度の動きを線形の動きに相関させることにより、角度の動きの間に発生する線形の動きが非常に小さい場合でさえも使用可能である、最終的な軌道を計算することができる（ステップ１７０８）。
【００７８】
図１５に戻ると、本発明のある態様にしたがって、軌道形成を増大させるために、モーションセンサーとしてカメラ１５１０を使用することができる。カメラ１５１０ベースのモーション追跡は、相互相関、特徴追跡、オプティカルフロー、および、顔追跡のような、既存の技術を使用することができる。これらの技術は、軌道形成のために使用することができるピクセルの動きの情報を提供することができる。カメラ１５１０ベースの追跡は、通常、それ自体だけでは信頼できないが、安定したモーション追跡を提供するために、加速度計１５０４およびジャイロスコープ１５０２と組み合わせて使用することができる。ジャイロスコープ１５０２を使用して、角度の動きに相関させるピクセルの動きの量を抽出することにより、線形の動きに相関させるものとして、残りのピクセルの動きを識別することができる。
【００７９】
より正確な線形の軌道を提供するために、短い線形距離に対しては加速度計１５０４データを使用し、長い線形距離に対してはカメラ１５１０ピクセル追跡を使用する、センサー融合アルゴリズムを使用することができる。カメラ１５１０追跡は、ドリフトを減少させることにより、回転の動きを安定させるのを助けることができる。ジャイロスコープ１５０２および加速度計１５０４は、短い期間の時間に対してより正確な動きの情報を提供し、カメラ１５１０の視野内の、光の変化または動いている物体からの妨害を排除するのを助ける。
【００８０】
本発明のある態様にしたがうと、ＲＦ（無線周波数）ネットワーク、据え置き型のコンピュータシステム、または、別の類似するデバイスのような、何らかの外部基準１５１６に対する、ＲＦ信号の大きさと、いくつかのケースでは、ＲＦ信号の方向とを追跡することによるモーション追跡に対して、ハンドヘルドデバイス１５００内のＲＦセンサー１５１２も使用してもよい。ＲＦ信号は、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）、ＧＰＳ、赤外線、または、他の何らかのＲＦ信号を含むことがある。何らかの外部基準系に対して、固定された基準を提供することにより、他のモーションセンサーを補完するために、信号追跡を使用することがある。ハンドヘルドデバイス１５００によりＲＦ信号を送出することができ、または、ハンドヘルドデバイス１５００によりＲＦ信号を受信することができ、あるいは、その双方である。
【００８１】
１つの実施形態では、例えば、ユーザの顔がタッチスクリーンに近い場合に、モーションセンサーを補完し、決定のために使用される近接センサーとしての役割も果たすために、同じ赤外線ＲＦ信号を使用することがある。別の実施形態では、各目的のために別個の赤外線信号を使用することができる。ＴＶの制御、コンピュータの制御、メディアセンターの制御、または、ホームオートメーションシステムの制御のような、他の送信目的のために、ＲＦ信号を使用することもできる。専用のアンテナにより、または、地球の磁界の測定も担当する磁力計により、ＲＦ信号をピックアップすることができる。
【００８２】
本発明のある態様にしたがうと、モーション追跡センサーからの情報は、コンテキストを決定する他のセンサーからの情報と組み合わせられる。コマンドを実行すべきかどうか、コマンドの結果の性質、または、利用可能な１組のコマンドを決定するために、コンテキストが使用される。このようなコンテキスト測定センサーは、グローバルポジショニングシステム（ＧＰＳ）、ＲＦネットワーク内のデバイスの位置を決定するＲＦセンサー、タッチスクリーン、温度センサー、近接センサー、または、マイクロフォンのような、位置センサーを含むことがある。
【００８３】
図１８は、ユーザ認証のためにマイクロフォンおよび慣性センサーが使用される、本発明の例示的な方法を示している。フローダイヤグラム１８００にしたがうと、ステップ１８０２において、ユーザは、マイクロフォン１５１４を備えるハンドヘルドデバイス１５００を使用して、空中署名を行う。ステップ１８０４において、ユーザのモーションを解析するために、１つ以上の慣性センサー１５０２、１５０４、および、１５０６が使用される。ステップ１８０６において、モーションジェスチャーの前の時間、モーションジェスチャーの間の時間、または、モーションジェスチャーの後の時間を含む、予め定められた時間あるいは予めプログラムされた時間において、あるサウンドまたは話された単語がマイクロフォン１５１４により検出されたかどうか決定がなされる。
【００８４】
サウンドは、例えば、ハンドヘルドデバイス１５００をスクラッチするか、または、タッピングするかのいずれかによる、デバイスとの接触を通して生じたサウンドを含むことがある。スクラッチモーションは、見て真似るのが非常に難しく、認証手順をより安全にするだろう。タッピングあるいはスクラッチは、コマンドとして、または、認証の一部として使用することができる。タッピングあるいはスクラッチは、加速度計１５０４、ジャイロスコープ１５０２、磁力計１５０６、および、マイクロフォン（１５１４）により提供される情報の組み合わせにより、検出することができる。タッピングまたはスクラッチに応答して、加速度計１５０４、ジャイロスコープ１５０２、および、磁力計１５０６により検出されたモーション信号は、マイクロフォン１５１４により検出されたオーディオ信号と組み合わせることができる。これは、無意識のタッピング、例えば、手を切り替えることにより行われる無意識のタッピングを排除するのを助けることができる。これはまた、指の腹によるタッピングと、爪によるタッピングとを区別することを可能にする。ステップ１８０８において、ユーザの署名が、ライブラリ中の署名に一致し、マイクロフォンにより検出されたサウンドが、予め定められたサウンドまたは予めプログラムされたサウンドに一致する場合に、ユーザが認証に成功したとみなされる。したがって、ユーザ認証のために、モーションセンサーとマイクロフォンの双方が使用される。
【００８５】
図１０および図１５において示されているモーション処理デバイスおよびセンサーにより捕捉することができるモーション軌道は、生体の特色であり、個人のアイデンティティを認証するのに使用することができる。図１９の方法により示されているように、ハンドセット１０００、１５００に対するモーションベースのアイデンティティ認証の応用が、スクリーンのロック解除である。従来のスマートフォンにおけるスクリーンのロック解除の標準的な設計では、スクリーンのロックを解除するために、ユーザは、４個の数字または文字のパスワードを入力するか、あるいは、ユーザ規定の線のパターンを入力することができる。このようなタッチパネルベースのスクリーンロックの欠点は、詐欺師が、ユーザの指紋よごれに基づいて、パスワードを推量できるということである。電話機のロックを解除するためのモーションコマンドを使用することにより、さらに高いレベルの安全性をユーザに提供する。
【００８６】
フローダイヤグラム１９００にしたがうと、ステップ１９０２において、ハンドセット１０００、１５００のスクリーン（例えば、図１０の１００４）は、ロックされている。ステップ１９０４において、ユーザは、ハンドセット１０００、１５００を使用することにより、空中署名を実行する。ステップ１９０６において、ハンドセット１０００、１５００は、ユーザ署名が本物であることを検証する。ステップ１９０８において、ハンドセット１０００、１５００は、スクリーンのロックを解除する。モーションベースの
アイデンティティ認証は、幅広い範囲の応用を有している。これは、オンライン購入の間のスマートフォン上での煩わしいパスワードタイピングに容易に取って代わることができる。キオスクまたはスーパーマーケットでのレジの順番を待つ列において、ハンドセットは、捕捉した空中署名を、ブルートゥースまたは他のワイヤレス通信手段を通して、キャッシュレジスターに送ることができる。
【００８７】
さらに、スマートフォンは、モーションベースのアイデンティティ認証を実現できるプラットフォームというだけではない。慣性センサーおよびプロセッサを含むモーション処理ユニット（例えば、図１０の１０１２）は、時計、キーチェーン、バッジ、または、ペンのような、身につけられる装飾品の中に配置することができるように、物理的に非常に小さく、低電力を消費する。モーション処理ユニットを持つバッジは、署名パターンとともにＩＤ（識別子）を送信する。これは、何者かがバッジを盗んで、無許可のエントリーを行うというリスクを防ぐ。生体の特性は、アクセス制御ポイントにおける安全性保護の追加のレイヤを提供する。生体認証方法は、家庭用、オフィス用、および、車用のアクセス制御や、ＴＶ番組の親によるコントロール用のアクセス制御や、あるいは、例えば、その所有者を認識するおもちゃにおけるもののような、娯楽目的のアクセス制御に適用することができる。
【００８８】
本発明のある態様にしたがうと、モーションコマンドを、常に数字やアルファベットのシンボルに関係付ける必要はない。モーションコマンドは、何らかの予め規定されたモーションパターンを含むことがある。例えば、ビデオゲームコンソールは、強力な攻撃を起動させるための特別な剣振りシーケンスを規定することができ、あるいは、オーケストラのゲームにおいて、指揮者が３ビートまたは４ビートのパターンを振るかどうかを決定することができる。モーションコマンドは、娯楽目的と教育目的の双方に対して使用することができる。例えば、ゴルフの生徒は、手のグリップが正しい方法でターンしているかどうかをチェックするために、モーション処理デバイスを手に持ち、スイングを練習することができる。また、テレビ（ＴＶ）のリモコンを使用することにより、ユーザは、空中で“Ｃ”を書いて、チャンネルをＣＮＮ（登録商標）に変えたり、または、“Ｅ”を書いて、チャンネルをＥＳＰＮ（登録商標）に変えることができる。
【００８９】
例示的なネットワーク環境および分散型環境
ここで説明したポインティングベースサービスおよび関連する実施形態に対する方法ならびにデバイスのさまざまな実施形態は、何らかのコンピュータにあるいは他のクライアントまたはサーバデバイスに関連して実現することができ、何らかのコンピュータあるいは他のクライアントまたはサーバデバイスは、コンピュータネットワークの一部として、または、分散型コンピューティング環境中で、展開することができ、何らかの種類のデータ記憶装置に接続することができることを当業者は正しく認識することができる。この点で、ここで説明したさまざまな実施形態は、任意の数のメモリまたは記憶装置ユニットを有する何らかのコンピュータシステムまたは環境で実現することができ、任意の数のアプリケーションおよびプロセスが、任意の数の記憶装置ユニットにわたって発生する。このことは、これらに限定されないが、遠隔記憶装置またはローカル記憶装置を有する、ネットワーク環境中あるいは分散型コンピューティング環境中に展開されているサーバコンピュータおよびクライアントコンピュータを持つ環境を含む。
【００９０】
図２は、例示的なネットワークコンピューティング環境または分散型コンピューティング環境の限定的でない概略図を提供する。分散型コンピューティング環境は、コンピューティングオブジェクト２１０、２１２等と、コンピューティングオブジェクトまたはデバイス２２０、２２２、２２４、２２６、２２８等とを含み、これらは、アプリケーション２３０、２３２、２３４、２３６、２３８により表されるプログラム、方法、データ記憶装置、プログラマブル論理等を含んでもよい。オブジェクト２１０、２１２等と、コンピューティングオブジェクトまたはデバイス２２０、２２２、２２４、２２６、２２８等とは、遠隔制御装置、ＰＤＡ、オーディオ／ビデオデバイス、移動体電話機、ＭＰ３プレーヤー、ラップトップ等のような、異なるデバイスを含んでもよいことを正しく認識することができる。
【００９１】
各オブジェクト２１０、２１２等ならびにコンピューティングオブジェクトまたはデバイス２２０、２２２、２２４、２２６、２２８等は、通信ネットワーク２４０により、直接的にまたは間接的にのいずれかで、１つ以上の他のオブジェクト２１０、２１２等ならびにコンピューティングオブジェクトまたはデバイス２２０、２２２、２２４、２２６、２２８等と通信することができる。図２では、単一のエレメントとして示されているが、ネットワーク２４０は、図２のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティングデバイスを含んでいてもよく、ならびに／あるいは、示されていない複数の相互に接続されたネットワークを表してもよい。各オブジェクト２１０、２１２等または２２０、２２２、２２４、２２６、２２８等は、ＡＰＩ、または、他のオブジェクト、ソフトウェア、ファームウェア、ならびに／あるいは、ハードウェアを利用してもよい、さまざまな実施形態にしたがって提供されているような遅延相互作用モデルと通信するまたはこうした遅延相互作用モデルを実現するのに適した、アプリケーション２３０、２３２、２３４、２３６、２３８のような、アプリケーションも含むことができる。
【００９２】
分散型コンピューティング環境をサポートする、さまざまなシステム、コンポーネント、および、ネットワークコンフィギュレーションがある。例えば、コンピューティングシステムは、ワイヤードシステムあるいはワイヤレスシステムにより、ローカルネットワークまたは広い分散型ネットワークにより、互いに接続することができる。現在、多くのネットワークがインターネットに接続され、インターネットは、広い分散型コンピューティングのためのインフラストラクチャを提供し、多くの異なるネットワークを含んでいるが、さまざまな実施形態で説明したような技術に付帯的な例示的な通信のために、何らかのネットワークインフラストラクチャを使用することができる。
【００９３】
したがって、クライアント／サーバアーキテクチャ、ピア・ツー・ピアアーキテクチャ、または、ハイブリッドアーキテクチャのような、ネットワークトポロジーならびにネットワークインフラストラクチャの、ホストを利用することができる。クライアント／サーバアーキテクチャ、特に、ネットワークシステムでは、クライアントは、通常、例えば、サーバのような別のコンピュータにより提供される共有ネットワークリソースにアクセスするコンピュータである。図２の例示では、限定的でない例として、コンピュータ２２０、２２２、２２４、２２６、２２８等は、クライアントとして考えることができ、コンピュータ２１０、２１２等は、サーバとして考えることができ、ここで、サーバ２１０、２１２等は、クライアントコンピュータ２２０、２２２、２２４、２２６、２２８等からのデータの受信、データの記憶、データの処理、クライアントコンピュータ２２０、２２２、２２４、２２６、２２８等へのデータの送信のような、データサービスを提供するが、いずれのコンピュータも、状況に依存して、クライアント、サーバ、または、その双方として考えることができる。これらのコンピューティングデバイスのうちのいずれかは、データを処理してもよく、もしくは、遅延相互作用モデルに、および、１つ以上の実施形態に対してここで説明した関連技術に、関わることがあるサービスあるいはタスクを要求してもよい。
【００９４】
典型的に、サーバは、インターネットまたはワイヤレスネットワークインフラストラクチャのような、遠隔ネットワークまたはローカルネットワークを通して、アクセス可能な遠隔コンピュータシステムである。クライアントプロセスは、第１のコンピュータシステム中でアクティブであってもよく、サーバプロセスは、第２のコンピュータシステム中でアクティブであってもよく、通信媒体を通して互いに通信し、したがって、分散された機能性を提供し、複数のクライアントが、サーバの情報収集能力を活用することができる。方向ベースのサービスにしたがって利用される何らかのソフトウェアオブジェクトは、単独で提供することができ、あるいは、複数のコンピューティングデバイスまたはオブジェクトにわたって分散することができる。
【００９５】
例えば、通信ネットワーク／バス２４０がインターネットであるネットワーク環境では、サーバ２１０、２１２等は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）のような、多数の既知のプロトコルのうちのいずれかを介して、クライアント２２０、２２２、２２４、２２６、２２８等が通信するウェブサーバとすることができる。サーバ２１０、２１２等は、分散型コンピューティング環境の特性であるように、クライアント２２０、２２２、２２４、２２６、２２８等としての役割も果たす。
【００９６】
例示的なコンピューティングデバイス
述べたように、ここで説明したさまざまな実施形態は、何らかのデバイスに適用し、ここで、ポインティングベースサービスと、対象のポイントとの遅延相互作用とを実行することが望ましいことがある。それゆえ、ハンドヘルドデバイス、ポータブルデバイス、および、他のコンピューティングデバイスと、すべての種類のコンピューティングオブジェクトとは、ここで説明したさまざまな実施形態に関連する使用に対して、すなわち、デバイスがポインティングベースサービスを要求することができるどこでも、考えられることを理解すべきである。したがって、図３において以下で説明する汎用遠隔コンピュータは一例に過ぎず、ネットワーク／バスの相互運用性および相互作用を有する何らかのクライアントにより、主題的な開示の実施形態が実現されてもよい。
【００９７】
要求されていないが、デバイスまたはオブジェクトに対するサービスの開発者による使用のために、オペレーティングシステムを介して、実施形態のうちのいずれかを部分的に実現することができ、ならびに／あるいは、動作可能なコンポーネントに関連して動作するアプリケーションソフトウェア内に含めることができる。クライアントワークステーション、サーバ、または、他のデバイスのような、１つ以上のコンピュータにより実行される、プログラムモジュールのような、コンピュータ実行可能な命令の一般的な文脈で、ソフトウェアが説明されてもよい。さまざまなコンピュータシステムコンフィギュレーションおよびプロトコルにより、ネットワーク対話を実施してもよいことを当業者は正しく認識するだろう。
【００９８】
したがって、図３は、実施形態のうちの１つ以上を実現してもよい適切なコンピューティングシステム環境３００の例を示しているが、上で明確にしたように、コンピューティングシステム環境３００は、適切なコンピューティング環境の一例に過ぎず、実施形態のうちのいずれかの使用または機能性の範囲に関して、何らかの限定を示唆することを意図していない。例示的な動作環境３００で示されているコンポーネントのうちの何らかの１つまたは組み合わせに関連する何らかの依存性あるいは要件を有するものとして、コンピューティング環境３００を解釈すべきでもない。
【００９９】
図３を参照すると、ここでの１つ以上の実施形態を実現するための例示的な遠隔デバイスは、ハンドヘルドコンピュータ３１０の形で、汎用コンピューティングデバイスを含むことがある。ハンドヘルドコンピュータ３１０のコンポーネントは、これらに限定されないが、処理ユニット３２０と、システムメモリ３３０と、システムメモリを含むさまざまなシステムコンポーネントを処理ユニット３２０に結合するシステムバス３２１とを含んでもよい。
【０１００】
コンピュータ３１０は、典型的に、さまざまなコンピュータ読取可能媒体を含み、コンピュータ３１０によりアクセスできる何らかの利用可能な媒体とすることができる。システムメモリ３３０は、リードオンリーメモリ（ＲＯＭ）および／またはランダムアクセスメモリ（ＲＡＭ）のような、揮発性メモリならびに／あるいは不揮発性メモリの形で、コンピュータ記憶媒体を含んでもよい。例として、これらに限定されないが、メモリ３３０は、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、および、プログラムデータも含んでもよい。
【０１０１】
ユーザは、入力デバイス３４０を通してコンピュータ３１０にコマンドおよび情報を入力してもよい。モニタまたは他のタイプのディスプレイデバイスも、出力インターフェース３５０のようなインターフェースを介して、システムバス３２１に接続される。コンピュータは、モニタに加えて、スピーカーおよびプリンタのような、他の周辺出力デバイスも含んでもよく、これらは、出力インターフェース３５０を通して接続されてもよい。
【０１０２】
コンピュータ３１０は、遠隔コンピュータ３７０のような、１つ以上の他の遠隔コンピュータに対する論理結合を使用して、ネットワーク環境または分散型環境で動作してもよい。遠隔コンピュータ３７０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノード、あるいは、他の何らかの遠隔媒体消費または送信デバイスであってもよく、コンピュータ３１０に対して上で説明したエレメントのうちのいずれかまたはすべてを含んでもよい。図３において表されている論理結合は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）のような、ネットワーク３７１を含むが、他のネットワーク／バスも含んでもよい。このようなネットワーキング環境は、家庭全体、オフィス全体、企業全体のコンピュータネットワーク、イントラネット、および、インターネットでは、珍しくない。
【０１０３】
上で述べたように、さまざまなコンピューティングデバイス、ネットワーク、および、アドバタイジングアーキテクチャに関連して、例示的な実施形態を説明してきたが、根底にある概念は、周囲の対象ポイントについての情報を取り出すことが望ましい、任意のネットワークシステムならびに任意のコンピューティングデバイスまたはシステムに適用されてもよい。
【０１０４】
例えば、アプリケーションおよびサービスが、ポインティングベースサービスを使用することを可能にする、適切なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、制御、単独でのまたはダウンロード可能なソフトウェアオブジェクト等、ここで説明した実施形態のうちの１つ以上を実現する複数の方法がある。ＡＰＩ（または、他のソフトウェアオブジェクト）の観点からばかりでなく、説明した実施形態のうちの１つ以上にしたがってポインティングプラットフォームサービスを提供するソフトウェアまたはハードウェアオブジェクトから、実施形態が考えられもてよい。ここで説明したさまざまなインプリメンテーションおよび実施形態は、ハードウェアにおいて全体的に、ハードウェアにおいて部分的に、および、ソフトウェアにおいて部分的に、さらに、ソフトウェアにおいても、存在する態様を有していてもよい。
【０１０５】
例として、事例として、あるいは、例示としての役割を果たすことを意味するために、“例示的な”という文言がここで使用された。誤解を避けるために、ここで開示した主題事項は、このような例により限定されない。“例示的な”ものとして、ここで説明したいずれの態様または設計は、他の態様または設計と比較して、必ずしも好ましいものとして、または、利益のあるものとして解釈されるものではなく、当業者に知られている均等な例示的構造および技術を排除することを意味しない。さらに、“備える”、“有する”、“含む”という用語、および、他の類似する文言が、詳細な説明または特許請求の範囲のいずれかで使用される限り、誤解を避けるために、このような用語は、何らかの追加のエレメントまたは他のエレメントを排除することなく、制限のない移行語として“具備する”という用語に類似した方法で包含的であることが意図されている。
【０１０６】
述べたように、ここで開示したさまざまな技術は、ハードウェアに、ソフトウェアに、または、適切な場合には、その双方に関連して実現されてもよい。ここで使用されているような、“コンポーネント”、“システム”という文言、および、これらに類するものは、同様に、コンピュータ関連エンティティを指すことを意図しており、コンピュータ関連エンティティは、ハードウェア、ハードウェアとソフトウェアとを組み合わせたもの、ソフトウェア、または実行中のソフトウェアのいずれかである。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／または、コンピュータであってもよい。例示として、コンピュータ上で実行しているアプリケーションおよびコンピュータの双方ともコンポーネントであることがある。１つ以上のコンポーネントは、実行のプロセスおよび／またはスレッド内に存在してもよく、コンポーネントは、１つのコンピュータ上に局所化されていてもよく、ならびに／あるいは、２つ以上のコンピュータ間に分散されていてもよい。
【０１０７】
いくつかのコンポーネント間の対話に関して、先述のシステムを説明してきた。このようなシステムおよびコンポーネントは、このようなコンポーネントまたは特定のサブコンポーネント、特定のコンポーネントまたはサブコンポーネントのうちのいくつか、ならびに／あるいは、追加のコンポーネントを含むことがあり、先述のもののさまざまな置換および組み合わせにしたがうことができることを正しく認識することができる。サブコンポーネントは、ペアレントコンポーネント内に含まれる（階層型）のではなく、他のコンポーネントに通信可能に結合されるコンポーネントとして実現することもできる。さらに、１つ以上のコンポーネントは、組み合わせて、集合的な機能性を提供する単一のコンポーネントにしてもよく、または、いくつかの別個のサブコンポーネントに分割してもよく、統合された機能性を提供するためにこのようなサブコンポーネントに通信可能に結合するために、管理レイヤのような、何らかの１つ以上の中間レイヤが提供されてもよいことに留意すべきである。ここで説明した何らかのコンポーネントはまた、ここで特に説明していないが、当業者により一般的に知られている１つ以上の他のコンポーネントと対話してもよい。
【０１０８】
上で説明した例示的なシステムを考慮すると、開示した主題的事項にしたがって実現されてもよい方法は、さまざまな図のフローチャートを参照して、より正しく認識されるだろう。説明を簡単にする目的のために、一連のブロックとして方法が示され、説明されているが、いくつかのブロックは、ここで表され、説明されているものとは異なる順序で、および／または、他のブロックと同時に、発生することがあるので、クレームされている主題事項は、ブロックの順序によって限定されないことを理解し、正しく認識すべきである。シーケンシャルでない、または、分岐しているフローが、フローチャートにより示されている場合に、同じ結果または類似する結果を達成する、さまざまな他の分岐、フローパス、および、ブロックの順序が、実現されてもよいことを正しく認識することができる。さらに、以下で説明する方法を実現するために、示されているすべてのブロックが必要とされるわけではない。
【０１０９】
さまざまな図の好ましい実施形態に関連して、さまざまな実施形態を説明してきたが、他の類似する実施形態を使用してもよく、そこから逸脱することなく同じ機能を実行するために、説明した実施形態に対する改良または追加を行ってもよいことを理解すべきである。さらに、上で説明した実施形態のうちの１つ以上の態様は、複数の処理チップまたはデバイスにわたって実現されてもよく、記憶装置も、同様に、複数のデバイスにわたって生じさせてもよい。それゆえ、本発明を何らかの単一の実施形態に限定すべきではなく、添付の特許請求の範囲にしたがった広さおよび範囲で解釈すべきである。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ハンドヘルドデバイスにおいて、
ジャイロスコープと加速度計を含む慣性センサーと、
前記ハンドヘルドデバイスに結合されているプロセッサとを具備し、
前記センサーは、前記ハンドヘルドデバイスの動きの軌道に関連するデータを提供するためのものであり、
前記プロセッサは、前記軌道データを受け取って、前記軌道データを、複数の別々の特徴に対応する１組の値に変換するためのものであり、
前記プロセッサは、前記１組の値をデータベース中に記憶させるためのものであり、
前記プロセッサは、キャラクタまたはコマンドを前記１組の値に関係付けるためのものであり、
前記軌道データは、前記ハンドヘルドデバイスの回転の軌道に関連するデータを含み、
前記プロセッサは、複数のセンサーから受け取ったデータを融合するためのアルゴリズムを実行することにより、前記軌道データを１組の値に変換するためのものであるハンドヘルドデバイス。
［Ｃ２］
コンパスをさらに具備するＣ１記載のハンドヘルドデバイス。
［Ｃ３］
前記複数の別々の特徴に対応する複数の組の値に関係付けられているキャラクタまたはコマンドを前記データベースに格納することをさらに含むＣ１記載のハンドヘルドデバイス。
［Ｃ４］
前記動きの軌道をディスプレイ上にリアルタイムで表示するための前記ディスプレイをさらに具備するＣ１記載のハンドヘルドデバイス。
［Ｃ５］
前記プロセッサは遠隔に位置し、前記プロセッサは、クラウドコンピューティング技術を使用することによりネットワークを通して前記ハンドヘルドデバイスと通信するためのものであるＣ１記載のハンドヘルドデバイス。
［Ｃ６］
前記複数の別々の特徴のうちの別々の特徴は、（ｉ）ある時点における前記軌道の角度と、（ｉｉ）ヨーにおける変化でピッチにおける変化を除算した逆タンジェントと、（ｉｉｉ）前記ピッチ成分と、（ｉｖ）前記ヨー成分と、（ｖ）前記軌道の変化のレートと、（ｖｉ）交差するポイントの位置と、（ｖｉｉ）前記軌道内で前記軌道が方向を変える回数とからなるグループから選択されるＣ１記載のハンドヘルドデバイス。
［Ｃ７］
前記ハンドヘルドデバイスの動きの軌道に関連するデータを提供するための慣性センサーと、
前記軌道データを受け取って、前記軌道データを、複数の別々の特徴に対応する１組の値に変換するための前記プロセッサと、
前記変換された組の値を、前記データベース中に記憶されている前記複数の別々の特徴に対応する値の組と比較するための前記プロセッサと、
前記データベースから１組の値を選択するための前記プロセッサと、
前記選択された組の値に関係付けられたキャラクタを表示するか、または、前記選択された組の値に関係付けられたコマンドを実行するための前記プロセッサとをさらに具備するＣ３記載のハンドヘルドデバイス。
［Ｃ８］
アルファベットからの文字と、ローマ数字と、ユーザの署名と、認証信号とからなるグループから、前記キャラクタを選択することができるＣ７記載のハンドヘルドデバイス。
［Ｃ９］
前記コマンドは、前記ハンドヘルドデバイスのアプリケーションプログラムあるいはオペレーティングシステムにおける、モード変更またはイベントをトリガすることができるＣ７記載のハンドヘルドデバイス。
［Ｃ１０］
前記コマンドは、ビデオゲームにおける、モード変更またはイベントをトリガすることができるＣ７記載のハンドヘルドデバイス。
［Ｃ１１］
前記コマンドは、アプリケーションプログラムを開くまたは閉じることができ、オペレーティングシステム内で動作している１組のアプリケーションを制御することができるＣ７記載のハンドヘルドデバイス。
［Ｃ１２］
前記プロセッサは、ルックアップテーブルと、隠れマルコフモデル（ＨＭＭ）と、ニューラルネットワークと、サポートベクターマシンとからなるグループから選択されたアルゴリズムデバイスを使用することにより、前記選択を実行するためのものであるＣ７記載のハンドヘルドデバイス。
［Ｃ１３］
前記プロセッサは、前記軌道データを複数のセグメントに分割するためのものであり、
前記プロセッサは、セグメントに関係付けられている前記軌道データを、複数の別々の特徴に対応する１組の値に変換するためのものであり、
前記プロセッサは、前記セグメントに対する前記変換された組の値を、前記データベース中に記憶されている前記複数の別々の特徴に対応する値の組と比較するためのものであり、
前記プロセッサは、前記データベースから１組の値を選択するためのものであり、
前記プロセッサは、前記選択された組の値に関係付けられているキャラクタを表示するためのものであるＣ７記載のハンドヘルドデバイス。
［Ｃ１４］
前記セグメントは文字を表し、前記複数のセグメントは大ざっぱな単語を表すＣ１３記載のハンドヘルドデバイス。
［Ｃ１５］
ジェスチャー認識のための方法において、
ジャイロスコープを使用することにより、ハンドヘルドデバイスの動きの軌道に関連するデータを取得することと、
前記軌道データを、複数の別々の特徴に対応する値に変換することと、
前記変換された組の値を、データベース中に記憶されている前記複数の別々の特徴に対応する値の組と比較することと、
前記比較に基づいて、前記データベースから１組の値を選択することと、
前記選択した組の値に関係付けられているキャラクタを表示するか、または、前記選択した組の値に関係付けられているコマンドを実行することとを含み、
前記軌道データは、前記ハンドヘルドデバイスの回転の動きと線形の動きに関連する方法。
［Ｃ１６］
前記ジャイロスコープと、加速度計およびコンパスからなるグループから選択されたセンサーとを使用することにより、前記軌道に関連するデータを取得することをさらに含むＣ１５記載の方法。
［Ｃ１７］
前記加速度計により取得された前記線形の動きのデータを、前記ジャイロスコープにより取得された前記角度の動きのデータと相関させるＣ１６記載の方法。
［Ｃ１８］
前記別々の特徴は、前記ハンドヘルドデバイスの角度の動きに関連するＣ１５記載の方法。
［Ｃ１９］
ユーザのさまざまな手のジェスチャーを、キャラクタまたはコマンドに関係付けることにより、前記データベースに格納するＣ１５記載の方法。
［Ｃ２０］
ハンドヘルドデバイスにおいて、
ジャイロスコープと、
加速度計と、
コンパスと、
前記ジャイロスコープと、前記加速度計と、前記コンパスとに結合されているプロセッサと、
前記プロセッサに結合されているプログラマブルモジュールと、
前記プロセッサに結合されており、複数の別々の特徴に対応する値の組と、前記値の組に関係付けられているキャラクタまたはコマンドとを含むメモリとを具備し、
前記ジャイロスコープと、前記加速度計と、前記コンパスは、前記ハンドヘルドデバイスの動きの軌道に関連するデータを提供するためのものであり、
前記プログラマブルモジュールは、前記軌道データを処理するための命令を前記プロセッサに提供するためのものであり、
前記プロセッサは、前記プログラマブルモジュールにより提供される命令を使用することにより、前記軌道データを、前記複数の別々の特徴に対応する１組の値に変換するためのものであり、
前記プロセッサは、前記変換された組の値を、前記データベース中に記憶されている値の組と比較して、最も近い一致を選択するためのものであり、
前記プロセッサは、前記選択された組の値に関係付けられているキャラクタを表示するか、または、前記選択された組の値に関係付けられているコマンドを実行するためのものであり、
前記プロセッサは、前記軌道データを使用して、前記ハンドヘルドデバイスの傾きを決定するためのものであり、
前記軌道データは、前記ハンドヘルドデバイスの回転の動きに関連するデータを含むハンドヘルドデバイス。
［Ｃ２１］
前記軌道をリアルタイムで表示するためと、前記選択された組の値に関係付けられている前記キャラクタを表示するためのディスプレイをさらに具備するＣ２０記載のハンドヘルドデバイス。
［Ｃ２２］
ユーザを認証するための方法において、
ハンドヘルドデバイスの空中での動きを生じさせることと、
ジャイロスコープを使用して、前記動きの軌道に関連する情報を取得することと、
前記情報をデータベースと比較することと、
前記比較に基づいて前記ユーザを認証することとを含む方法。
［Ｃ２３］
前記動きは、前記ユーザの署名を表すＣ２２記載の方法。
［Ｃ２４］
前記動きの発生の前の予め定められた時間期間内に、または、前記動きの発生の後の予め定められた時間期間内に、サウンドを発生させることと、
前記ハンドヘルドデバイスに埋め込まれているマイクロフォンを使用することにより、前記サウンドを検出することと、
前記ユーザを認証するために、前記検出したサウンドと、前記軌道情報とを使用することとを含むＣ２２記載の方法。
［Ｃ２５］
ハンドヘルドデバイスにおいて、
第１のプロセッサと、
前記第１のプロセッサに結合されている第１のコンポーネントと
前記ハンドヘルドデバイスの第１の動きに関連する情報を提供するためのジャイロスコープとを具備し、
前記第１のプロセッサは、前記第１の動きに応答して、前記第１のコンポーネントをアクティブ動作モードに入らせるためのものであるハンドヘルドデバイス。
［Ｃ２６］
前記第１のプロセッサに結合されているプログラマブルモジュールをさらに具備し、
前記プログラマブルモジュールは、前記ハンドヘルドデバイスの前記第１の動きに関連する第１のコマンドを含み、
前記第１のコマンドは、前記第１のコンポーネントを前記アクティブ動作モードに入らせるためのコマンドを含むＣ２５記載のハンドヘルドデバイス。
［Ｃ２７］
前記第１のプロセッサは、マイクロプロセッサを備え、
第２のプロセッサは、前記ジャイロスコープにより提供される情報を処理するために、前記ジャイロスコープに結合されているＣ２５記載のハンドヘルドデバイス。
［Ｃ２８］
前記ジャイロスコープからの情報の受け取りに応答して、前記第１のプロセッサをアクティブ動作モードに入らせるための前記第２のプロセッサをさらに具備し、
前記第２のプロセッサは、前記ジャイロスコープから受け取った情報を前記第１のプロセッサに提供するためのものであるＣ２７記載のハンドヘルドデバイス。
［Ｃ２９］
前記ハンドヘルドデバイスの前記第１の動きに関連する情報を提供するための加速度計をさらに具備し、
前記第１のプロセッサは、前記ジャイロスコープと前記加速度計とにより提供される情報に基づいて、前記第１のコンポーネントをアクティブ動作モードに入らせるためのものであるＣ２８記載のハンドヘルドデバイス。
［Ｃ３０］
前記ハンドヘルドデバイスはスマートフォンを含むＣ２５記載のハンドヘルドデバイス。
［Ｃ３１］
カメラを備える前記第１のコンポーネントと、
ディスプレイを備える第２のコンポーネントと、
前記第１の動きに応答して、前記カメラをスリープモードからアクティブモードにスイッチさせるための前記第１のプロセッサとをさらに具備し、
前記カメラが、前記アクティブモードの間に前記スリープモードよりも多い電力を使用するときに、前記ディスプレイは、前記第１の動きに応答して、前記スリープモードから前記アクティブモードにスイッチされないＣ２５記載のハンドヘルドデバイス。
［Ｃ３２］
前記第１の動きに応答して、前記第１のプロセッサを、アクティブ動作モードに入らせるための第２のプロセッサは、前記ジャイロスコープに結合されているＣ２５記載のハンドヘルドデバイス。
［Ｃ３３］
マイクロプロセッサを備える前記第１のプロセッサと、
カメラを備える前記第１のコンポーネントと、
前記ジャイロスコープにより提供される情報を処理するために、前記ジャイロスコープに結合されている第２のプロセッサとをさらに具備し、
前記マイクロプロセッサは、前記カメラ、ディスプレイ、マイクロフォン、ネットワークブラウザアプリケーションプログラム、および、キーパッドを含む複数のコンポーネントに結合され、
前記マイクロプロセッサおよび前記複数のコンポーネントは、スリープ動作モードに設定され、
前記第２のプロセッサは、前記第１の動きに応答して、前記マイクロプロセッサを、前記スリープモードから前記アクティブ動作モードにスイッチさせるためのものであり、
前記マイクロプロセッサは、前記第１の動きに応答して、前記カメラを、前記スリープモードから前記アクティブ動作モードにスイッチさせるためのものであり、
前記マイクロプロセッサは、前記第１の動きに応答して、前記ディスプレイを、前記スリープモードから前記アクティブ動作モードにスイッチさせないためのものであり、
前記マイクロプロセッサは、第２の動きに応答して、前記ディスプレイを、前記スリープモードから前記アクティブ動作モードにスイッチさせるためのものであり、
前記アクティブ動作モードは、前記スリープ動作モードよりも多い電力を必要とするＣ２５記載のハンドヘルドデバイス。
［Ｃ３４］
ハンドヘルドデバイスに対する電力を管理するための方法において、
第１のコンポーネントを、スリープ動作モードに入らせることと、
第１のプロセッサを、スリープ動作モードに入らせることと、
前記ハンドヘルドデバイスの動きを生じさせることと、
ジャイロスコープを使用して、前記動きを検出することと、
前記動きに応答して、前記第１のプロセッサおよび前記第１のコンポーネントをアクティブ動作モードにスイッチさせることと、
前記モードをスイッチさせるためのトリガとして前記動きを使用することとを含む方法。
［Ｃ３５］
加速度計を使用して、前記動きを検出することをさらに含むＣ３４記載の方法。
［Ｃ３６］
前記ジャイロスコープにより検出された前記動きに関係付けられているコマンドを識別することをさらに含むＣ３４記載の方法。
［Ｃ３７］
前記コマンドは、前記ハンドヘルドデバイス中に備えられているカメラを、スリープモードから、アクティブ動作モードにスイッチさせるためのコマンドを含むＣ３６記載の方法。
［Ｃ３８］
前記コマンドは、ディスプレイを、スリープモードからアクティブ動作モードにスイッチさせるためのコマンドを含むＣ３６記載の方法。
［Ｃ３９］
前記コマンドは、マイクロフォンを、スリープモードからアクティブ動作モードにスイッチさせるためのコマンドを含むＣ３６記載の方法。
［Ｃ４０］
ユーザが前記ハンドヘルドデバイスをタッピングすることにより、前記動きが生じるＣ３９記載の方法。
［Ｃ４１］
前記動きに応答して、第２のコンポーネントを、アクティブ動作モードにスイッチさせないことをさらに含むＣ３４記載の方法。
［Ｃ４２］
移動体電話機に対する電力を管理するための方法において、
前記移動体電話機を第１のポジションに配置することと、
ジャイロスコープを使用することにより、前記移動体電話機の前記第１のポジションを検出することと、
前記第１のポジションの検出に応答して、前記移動体電話機のコンポーネントを、スリープ動作モードに入らせることとを含む方法。
［Ｃ４３］
加速度計を使用することにより、前記移動体電話機の前記第１のポジションを検出することをさらに含むＣ４２記載の方法。
［Ｃ４４］
前記移動体電話機の前記ポジションを第２のポジションに変更することと、
前記ジャイロスコープを使用することにより、前記移動体電話機の前記第２のポジションを検出することと、
前記第２のポジションの検出に応答して、前記移動体電話機の前記コンポーネントを、アクティブ動作モードに入らせることとをさらに含むＣ４２記載の方法。
【図１】
0005882220.tif 000004
【図２】
0005882220.tif 000005
【図３】
0005882220.tif 000006
【図４】
0005882220.tif 000007
【図５】
0005882220.tif 000008
【図６】
0005882220.tif 000009
【図７】
0005882220.tif 000010
【図８】
0005882220.tif 000011
【図９】
0005882220.tif 000012
【図１０】
0005882220.tif 000013
【図１１】
0005882220.tif 000014
【図１２】
0005882220.tif 000015
【図１３】
0005882220.tif 000016
【図１４】
0005882220.tif 000017
【図１５】
0005882220.tif 000018
【図１６】
0005882220.tif 000019
【図１７】
0005882220.tif 000020
【図１８】
0005882220.tif 000021
【図１９】
0005882220.tif 000022