(57)【特許請求の範囲】
【請求項１】
実行されるときに、コンピュータに動作を実行させるように稼動する命令、を含むコンピュータプログラムによってコード化されるコンピュータ可読媒体であって、前記動作は：
モーションデータの中で形状を定義する工程；
前記定義された形状と位置合わせされる地点で前記モーションデータをサンプリングする工程；
前記サンプリングされたモーションデータに基づいて、時間とともに、前記定義された形状に沿って移動対象物の位置を決定する工程；
前記移動対象物が、前記決定された位置により呈するパターンに基づいてジェスチャを実行しているかどうか決定する工程；および
前記移動対象物が前記ジェスチャを実行していることが決定された場合、アプリケーションをコントロールする工程；
を含む、コンピュータ可読記録媒体。
【請求項２】
前記モーションデータは、画像の各地点に対して、前記移動対象物が当該地点で検出されてからの時間の現れを提供するモーション履歴データ値をさらに含む、モーション履歴マップを含む；
請求項１に記載のコンピュータ可読記録媒体。
【請求項３】
時間とともに、前記定義された形状に沿って前記移動対象物の前記位置を決定する前記工程は：
第１および第２の時間に：
前記定義された形状に位置合わせされる、および予め定められた閾値を満たすサンプリングされるモーション履歴データ値を含む、地点を選択する工程、および
前記選択された地点のうちの１つを選択する工程；および
前記移動対象物の第１および第２の位置として、前記第１および第２の時間にそれぞれ選択される１つの地点を出力する工程；
をさらに含む、請求項２に記載のコンピュータ可読記録媒体。
【請求項４】
前記１つの地点は、前記選択された地点の中央点、平均点、またはランダムの点を含む、請求項３に記載のコンピュータ可読記録媒体。
【請求項５】
実行されるときに、コンピュータに動作を実行させるように稼動する命令、をさらに含み、前記動作は：
前記画像にアクセスする工程；および
前記アクセスされた画像に基づいて、前記モーション履歴マップに含まれる前記モーション履歴データ値を生成する工程；
を含む、請求項２に記載のコンピュータ可読記録媒体。
【請求項６】
前記モーション履歴マップは、オプティカルフローを用いて生成される、請求項４に記載のコンピュータ可読記録媒体。
【請求項７】
前記パターンは、時間とともに前記決定された位置のグラフ上で正弦曲線の１周期の形状を含み、前記決定された位置は、前記形状の一次元のプロポーションとして表される、請求項２に記載のコンピュータ可読記録媒体。
【請求項８】
前記パターンは、時間とともに前記決定された位置のグラフ上で段階的な正弦曲線の１周期の形状を含み、前記決定された位置は、前記形状の一次元のプロポーションとして表される、請求項２に記載のコンピュータ可読記録媒体。
【請求項９】
実行されるときに、コンピュータに動作を実行させるように稼動する命令、をさらに含み、前記動作は：
各地点に対して、前記移動対象物が予め定められた閾値の範囲内で検出されたかどうか決定する工程；および
前記予め定められた閾値の範囲内で前記移動対象物の検出されたモーションを有するように決定される隣接点をグループ化する工程；を含み、
前記モーションデータは、前記定義された形状と位置合わせされる前記地点のグループのサブセットでサンプリングされる、請求項２に記載のコンピュータ可読記録媒体。
【請求項１０】
実行されるときに、コンピュータに動作を実行させるように稼動する命令をさらに含み、前記動作は：
前記地点のグループの周辺で境界ボックスを定義する工程を含み；
前記モーションデータの中の形状のサイズおよび位置は、前記境界ボックスに関して定義される、請求項９に記載のコンピュータ可読記録媒体。
【請求項１１】
前記形状は、ラインセグメントまたは弦を含む：
請求項１０に記載のコンピュータ可読記録媒体。
【請求項１２】
前記形状は、地点のグループの中のフィットできる最も長いラインセグメントを含む、請求項１０に記載のコンピュータ可読記録媒体。
【請求項１３】
実行されるときに、コンピュータに動作を実行させように稼動する命令をさらに含み、前記動作は：
前記モーションデータの中で地点のグループを検出する工程；および
前記地点のグループの１つを選択する工程；を含み、
前記形状は、前記１つの選択されたグループの範囲内で定義される、請求項１に記載のコンピュータ可読記録媒体。
【請求項１４】
前記１つのグループは、相対的なサイズに基づいて選択される、請求項１３に記載のコンピュータ可読記録媒体。
【請求項１５】
前記モーションデータは、前記定義された形状と位置合わせされるサンプリング地点の量でサンプリングされ；および
前記サンプリングされる量は、一定の量か、あるいは、前記定義された形状のサイズまたは、前記モーションデータの中で前記定義された形状と位置合わせ地点の位置合わせされる量、に基づく；
請求項１に記載のコンピュータ可読記録媒体。
【請求項１６】
前記移動対象物が、前記決定された位置により呈するパターンに基づいてジェスチャを実行しているかどうか決定する前記工程は、前記パターンを、上下の閾値基準およびタイミング基準と比較する工程をさらに含む、請求項１に記載のコンピュータ可読記録媒体。
【請求項１７】
前記ジェスチャは、スワイプまたはウェーブする、手または指のジェスチャを含む、請求項１に記載のコンピュータ可読記録媒体。
【請求項１８】
実行されるときに、コンピュータに動作を実行させるように稼動する命令をさらに含み、前記動作は：
前記決定された位置をモーション履歴に追加する工程；および
前記パターンが前記モーション履歴の中に存在するかどうか検出する工程；
を含む、請求項１に記載のコンピュータ可読記録媒体。
【請求項１９】
実行されるときに、コンピュータに動作を実行させるように稼動する命令をさらに含み、前記動作は：
前記ジェスチャの実行の量を計数する工程；
を含む、請求項１に記載のコンピュータ可読記録媒体。
【請求項２０】
コンピュータ実行方法であって：
モーションデータの中で形状を定義するステップ；
前記定義された形状と位置合わせされる地点で前記モーションデータをサンプリングするステップ；
前記サンプリングされたモーションデータに基づいて、時間とともに、前記定義された形状に沿って移動対象物の位置を決定するステップ；
少なくとも１つの処理装置を使用して、前記移動対象物が、前記決定された位置により呈するパターンに基づいてジェスチャを実行しているかどうか決定するステップ；および
前記移動対象物が前記ジェスチャを実行していることが決定された場合、アプリケーションをコントロールするステップ；
を含む、
コンピュータ実行方法。
【請求項２１】
処理装置を含むデバイスであって、前記処理装置は：
モーションデータの中で形状を定義する；
前記定義された形状と位置合わせされる地点で前記モーションデータをサンプリングする；
前記サンプリングされたモーションデータに基づいて、時間とともに、前記定義された形状に沿って移動対象物の位置を決定する；
前記移動対象物が、前記決定された位置により呈するパターンに基づいてジェスチャを実行しているかどうか決定する；および
前記移動対象物が前記ジェスチャを実行していることが決定された場合、アプリケーションをコントロールする；
ように構成されるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２００８年７月２５日に出願の米国仮出願第６１／０８３，６０５号の利益を主張し、その全体において参照することにより本明細書に援用される。
【０００２】
［技術分野］
本開示は、一般に、ユーザ入力に関連する。
【背景技術】
【０００３】
カメラは、対象物の画像をキャプチャするために用いられてきた。対象物の位置を検出するために、１つ以上の画像内にある対象物の１つ以上の画像を分析するためのさまざまな技術が開発されてきた。例えば、時間内にテンポ良く連続して撮られた対象物の複数の画像を分析することによって、対象物の動きを検出するために、オプティカルフローが用いられている。
【発明の概要】
【課題を解決するための手段】
【０００４】
１つの概略的な実施によれば、移動する対象物の位置は、モーションデータ内で定義された形状に沿って経時的にトラッキングされてよい。対象物の位置（形状の一次元の一部として表現される）が経時的にグラフ化されるとき、グラフ化された位置が、正弦曲線の１つ以上の期間に概略的に類似する形を表す場合、その移動する対象物は、ウェーブ、スワイプ、または振動のジェスチャを行うことが決定されてよい。このようなジェスチャは、制御入力にマッピングされてよく、人間とコンピュータとのインターフェースの精度を改善する。
【０００５】
別の概略的な実施によれば、コンピュータ可読媒体は、命令を含むコンピュータプログラムを用いてコード化され、この命令が実行される場合、コンピュータが複数の動作を実行させるように稼動する。複数の動作は、モーションデータ内において形状を定義する工程、その定義された形状に合わせた位置における上記モーションデータをサンプリングする工程、および、上記サンプリングされたモーションデータに基づいて、経時的に、上記定義された形状に沿って移動する対象物の位置を決定する工程、を含む。それらの動作はまた、上記移動する対象物が上記決定された位置によって表されるパターンに基づいてジェスチャを行うかどうかを決定する工程、および、上記移動する対象物が上記ジェスチャを行うことを決定した場合に、アプリケーションをコントロールする工程、を含む。
【０００６】
実施は、以下の特徴の１つ以上を含んでよい。例えば、モーションデータは、上記移動する対象物がある点（地点）において検出されるので、画像の各々の点（地点）に対して、時間の指示を提供するモーションデータ値をさらに含むモーション履歴マップを含んでよい。上記定義された形状に沿って移動する対象物の位置を決定する工程は、経時的に、第１および第２の時間において、上記定義された形状に合わせてあり、かつあらかじめ決められた閾値を満たすサンプリングされたモーション履歴データ値を含む位置を選択する工程、および、上記選択された点（地点）のうちの１つを選択する工程、をさらに含んでよい。上記移動する対象物の位置を決定する工程は、上記移動する対象物の第１および第２の位置として、上記第１および第２の時間において個々に選択された１つの点（地点）を出力する工程を含んでよい。その１つの点（地点）とは、上記選択された点（地点）の中央点、平均点、またはランダムの点であってよい。それらの動作はまた、上記画像にアクセスする工程、および、上記アクセスされた画像に基づいて上記モーション履歴マップ内に含まれるモーション履歴データ値を生成する工程、を含んでよい。モーション履歴マップは、オプティカルフローを用いて生成されてよい。
【０００７】
他の例において、上記パターンは、経時的に、上記決定された位置のグラフ上の正弦曲線または段階的な正弦曲線の１周期の形状を含み、上記決定された位置は、その形状の一次元の一部として表現される。それらの動作はまた、各々の点（地点）において、上記移動する対象物があらかじめ決められた閾値内において検出されているかどうかを決定する工程、および、上記あらかじめ決められた閾値内において上記移動する対象物の動きを検出したと決定された隣接する点（地点）をグループ化する工程を含んでもよく、ここで上記モーションデータは、上記定義された形状に合わせた上記グループ化された点（地点）のサブセットにおいてサンプリングされてよい。それらの動作はまた、上記グループ化された点（地点）の周囲にある境界ボックスを定義する工程を含んでよく、ここで上記モーションデータ内の形状のサイズおよび位置は、上記境界ボックスに対して定義される。その形状は、ラインセグメントまたは弦であってよく、例えば最も長いラインセグメントが上記グループ化された点（地点）内でフィッティングできる。
【０００８】
さらなる例において、それらの動作は、上記モーションデータ内において点（地点）のグループを検出する工程、および、上記点（地点）のグループのうちの１つを選択する工程を含んでよく、ここでその形状は、上記１つの選択されたグループ内において定義される。上記１つのグループは、相対的なサイズに基づいて選択されてよい。上記モーションデータは、上記定義された形状に合わせた点（地点）のサンプリングされた量においてサンプリングされてよく、上記サンプリングされた量は、固定量を含んでよく、あるいは、上記定義された形状のサイズ、または上記モーションデータ内における上記定義された形状に合わせた点（地点）の合わされた量に基づいていてよい。上記移動する対象物が上記決定された位置によって表された上記パターンに基づいて上記ジェスチャを行うかどうかを決定する工程は、上記パターンを、上限および下限の閾値基準と、タイミング基準とに比較させる工程をさらに含んでよい。上記ジェスチャは、スワイプまたはウェーブ、手または指のジェスチャであってよい。それらの動作は、上記決定された位置をモーション履歴に加える工程、上記パターンが上記モーション履歴内に存在するかどうかを決定する工程、または、上記ジェスチャのパフォーマンスの量を数える工程をさらに含んでよい。
【０００９】
別の概略的な実施において、プロセスは、モーションデータ内において形状を定義する工程、その定義された形状に合わせた位置における上記モーションデータをサンプリングする工程、および、上記サンプリングされたモーションデータに基づいて、経時的に、上記定義された形状に沿って移動する対象物の位置を決定する工程、を含む。プロセスはまた、上記移動する対象物が上記決定された位置によって表されるパターンに基づいてジェスチャを行うかどうかを決定する工程、および、上記移動する対象物が上記ジェスチャを行うことを決定した場合に、アプリケーションをコントロールする工程を含んでよい。
【００１０】
さらなる概略的な実施において、デバイスは、モーションデータ内において形状を定義し、その定義された形状に合わせた位置における上記モーションデータをサンプリングし、および、上記サンプリングされたモーションデータに基づいて、経時的に、上記定義された形状に沿って移動する対象物の位置を決定するように構成された処理装置を備える。上記処理装置は、上記移動する対象物が上記決定された位置によって表されるパターンに基づいてジェスチャを行うかどうかを決定し、および、上記移動する対象物が上記ジェスチャを行うことを決定した場合に、アプリケーションをコントロールするようにさらに構成されている。
【００１１】
上述の技術の任意の実施は、方法、プロセス、システム、デバイス、装置、相互インターフェース、コンピュータ可読媒体に保存された命令、または、コンピュータプログラムを用いてコード化されているコンピュータ可読媒体を含んでよい。１つ以上の実施の詳細は、添付の図面および以下の記載において説明される。他の特徴は、記載および図面、ならびに特許請求の範囲から明らかである。
【図面の簡単な説明】
【００１２】
類似する参照符号は全体を通して対応する部分を示す。
【００１３】
【図１Ａ】図１Ａは、ジェスチャの認識を実演している状況図を示す。
【図１Ｂ】図１Ｂは、対象物の位置を決定するために用いられる関連のモーション履歴値のグラフを示す。
【図２】図２は、デバイスのブロック図である。
【図３】図３は、例示的なプロセスのフローチャートである。
【図４】図４は、例示的な内接する形状を示す。
【図５】図５は、例示的なグラフを示す。
【図６】図６は、例示的なグラフを示す。
【図７】図７は、例示的なジェスチャおよびそれに関連するグラフを示す。
【図８】図８は、例示的なジェスチャおよびそれに関連するグラフを示す。
【図９】図９は、ジェスチャの検出を示す。
【図１０】図１０は、例示的なユーザーインターフェースを示す。
【図１１】図１１は、例示的なユーザーインターフェースを示す。
【図１２】図１２は例示的なコンピューティングデバイスを示す。
【発明を実施するための形態】
【００１４】
１つの概略的な実施によれば、移動する対象物の位置は、モーションデータ内において定義された形状に沿って、経時的に、トラッキングされてよい。対象物の位置（形状の一次元の一部として表現される）が経時的にグラフ化されるとき、グラフ化された位置が、正弦曲線の１つ以上の周期に概略的に類似する形を表す場合、その移動する対象物は、ウェーブ、スワイプ、または振動のジェスチャを行うことが決定されてよい。このようなジェスチャは、制御入力にマッピングされてよく、人間とコンピュータとのインターフェースの精度を改善する。
【００１５】
そうすることで、かつユーザーインターフェース上でのコントロールを選択する工程の代わりに、そのジェスチャに関連される特定の機能性を呼び出すために、ユーザは、ジェスチャ（例えば、手または他の身体の部分を動かす）を定義する一連のモーションを介して移動してよい。このようにして、物理的なボタンまたはユーザーインターフェースコントロールの使用を必要とすることなく機能が実施されてよく、より小さなユーザーインターフェースを可能とし、かつ機能性の選択において精度を向上させる。さらに、カメラベースの入力を使用することによって、タッチスクリーン上の指紋の悪影響を及ぼす、ぼやけた効果が除去される。なぜならば、ユーザは、制御入力を生じさせるために、任意のデバイスに物理的に接触することを必要とされないからである。
【００１６】
このように、１つの例において、ユーザは、一組の定義されたジェスチャを行うことによってデバイスと相互作用する。向上されたアプローチが提供され、ここで、入力ジェスチャは、モーションデータ内で定義された形状にあわせた地点においてサンプリングされたモーションデータが予期されたパターンを表すかどうかに基づいて、認識されるか、または拒否される。
【００１７】
本明細書において全体を通して用いられるように、「ジェスチャ」は、人間の身体の一部を用いてなされた非言語的なコミュニケーションの形態のことをいうことが意図され、例えばスピーチなどの言語的なコミュニケーションと対比されるものである。例えば、ジェスチャは、動き、変化、第１の位置、ポーズ、または表現と、第２のポーズ、位置、または表現との間の変化によって定義されてよい。日常的な会話において用いられる一般的なジェスチャは、例えば、「エアクォーツ」のジェスチャ、お辞儀（ｂｏｗｉｎｇ）のジェスチャ、おじぎ（ｃｕｒｔｓｙ）、頬へのキス、指または手の動き、ひざまずく動き、頭の振りまたは動き、ハイタッチ、頷き、拳を突き上げる動き、敬礼、親指を挙げる動き、つねる動き、手または体をよじるジェスチャ、あるいは指を指すジェスチャ等を含む。
【００１８】
ジェスチャは、例えば、傾きセンサを利用して、例えば、ユーザがデバイスを支え、または傾ける角度を検出することによって、デバイスの動きを感知し、または任意の他のアプローチによって、ユーザの画像を分析することによって、カメラを用いて検出されてよい。ジェスチャは、一連の動き、特に、パターンや様式を行うことによって形成されてよい。
【００１９】
本明細書に記載された改良されたアプローチは、一例としてウェーブのジェスチャを用いて記載されているが、他の実施において、任意の他の形状または種類のジェスチャ（上述に記載されたジェスチャの例など）もまた検出されてよい。さらに、例示的なウェーブのジェスチャが「エンゲージメント」ジェスチャとして記載されているが、他の実施において、この改良されたアプローチを用いて検出されたジェスチャは、「エンゲージメントジェスチャ」以外の目的を有する。「エンゲージメントジェスチャ」（実際のコマンド入力を定義することが意図されたジェスチャとは対照的に）のさらなる記載が以下でさらに詳細に記載される。
【００２０】
ユーザは、体の一部（例えばウェーブモーション）の位置を変えることによってジェスチャをし得る（あるいは、ジェスチャし得る、またはジェスチャで表現し得る）か、はたまた、ユーザは、体の一部の位置を変えることなしにジェスチャで表現し得る（例えば、拳骨を握り締めるジェスチャをすることによって、または所定期間からだの一部を動かさないことによって）。改良されたアプローチは、例えば、指、手、および腕のジェスチャなどを用いるが、他の種類のジェスチャもまた用いられてよい。例えば、ユーザの眼の動きがトラッキングされる場合、本明細書に記載された改良されたアプローチは、左右の「眼の見渡し」のジェスチャを検出するために用いられてよい。
【００２１】
図１Ａは、ジェスチャの認識を実演している状況図を示し、図１Ｂは、ユーザ１０２がカメラ１０４および媒体ハブ１０６の前に立っている特定の時Ａで、対象物の位置を決定するために用いられる関連のモーション履歴値のグラフを示す。媒体ハブ１０６は、例えば、音楽の記録を演奏しているコンピュータでよい。ユーザ１０２は、彼らの左手１０８を、往ったり来たりするウェーブモーションで動かす。（例えば、ユーザは、手または指でスワイプまたはウェーブをジェスチャしてよい。）例えば、時点ｔ１で、ユーザは、彼らの手１０８を身体の方へ動かし、時点ｔ２で、ユーザは、彼らの手１０８を側方（この例では身体から離れる方、あるいは、リーダの視点から右方向）へ動かし、そして、時点ｔ３で、ユーザは、彼らの手１０８を身体の方へ戻し動かす。ユーザ１０２が意図的なジェスチャ（例えば、手１０８のウェーブモーション）を実行する間に、ユーザは、他の、意図的または非意図的な動き（例えば、右手１１０の小刻みなまたは小さい動き）をしてよい。右手１１０のこの小さい動きは、身体のジッターまたはカメラ１０４自体の移動によってさえ生じてよい。
【００２２】
時間が経過するにつれて、カメラ１０４は、ユーザ１０２の複数の画像を取り入れてよい。媒体ハブ１０６は、複数の画像を処理して、モーション履歴マップ１２０を生成してもよく、そしてそれは、時間とともにユーザのモーションを示してよい。モーション履歴マップ１２０は、モーションデータを提供してもよく、そしてそれは、移動対象物がその地点で検出された時から、画像における各地点に対する時間の表示を含む。媒体ハブ１０６は、画像における各地点に対して、移動対象物（例えば、手１０８）が所定の期間内に検出されたかどうかを決定してよい。モーションが検出される各時点（例えば、ｔ１、ｔ２、ｔ３）に対する１つのモーション履歴マップ１２０のような、多くのモーション履歴マップ１２０は、生成されてよい。
【００２３】
モーション履歴マップ１２０が地点の視覚のグリッドとして図示されるにもかかわらず、モーション履歴マップ１２０は、付随する視覚化なしで、純粋にコンピュータ可読媒体上のデータ構造として存在してよい。視覚化されるときに、しかしながら、モーション履歴マップ１２０上の地点は、最近のモーションが検出された輝点（高い値を表す）として現れてよい。そしてそれは、追加的なモーションの発生なしに時間が経過するにつれて、時間とともに黒まで弱まる。時間内の特定のモーメントで、例えば、手のスワイプモーションは、ユーザの手がごく最近検出される輝点として現れてよい。そしてそれは、手のスワイプモーションが始まった場所で黒まで弱まる跡が続く。
【００２４】
モーション履歴マップ１２０において、検出モーションを有することが決定した隣接点は、単一のグループ、クラスターまたは「小塊（ｂｌｏｂ）」として、処理のためにグループ化されてよい。地点をグループとして切り分けることによって、計算の費用は、最小化されてよい。右手１１０の動きの結果として、モーションを有することが決定した地点は、地点のグループ１２２としてグループ化されてよい。別の例として、左手１０８の動きの結果として、モーションを有することが決定した地点は、地点のグループ１２４としてグループ化されてよい。
【００２５】
地点のグループごとに、境界ボックスは、グループ周辺で定義されてよい。例えば、境界ボックス１２６は、地点のグループ１２２周辺で定義され、そして、境界ボックス１２８は、地点のグループ１２４周辺で定義される。ユーザが、彼らの手がすでに真上にある位置からジェスチャを実行し始める場合、境界ボックスは、横長の長方形として一般に形づくられてよい。ユーザが、彼らの手が身体の側にある位置からジェスチャを実行し始める場合、その手を身体の側から真上まで持ち上げることは、境界ボックスを、縦長の長方形または正方形として形づくらせてよい。モーション履歴の残像を減少させる（例えば、各ピクセルのモーション履歴の漸移率を増加させる）ことによって、この手の持ち上げモーションの効果は減少可能であり、境界ボックスが、正方形に形づくられるよりも、より横長の長方形に形づくられることに結びつく。
【００２６】
意図的なジェスチャは、意図的でないジェスチャに比べてより大きな地点のグループに、一般に結びついてよい。例えば、地点のグループ１２４は、地点のグループ１２２よりも大きい。いくつかの実施例において、ジェスチャ検出のために、ジェスチャ候補（ｃａｎｄｉｄａｔｅ  ｇｅｓｔｕｒｅ）と関連した、最も大きな地点のグループのみが、考慮されてよい。他のアプローチにおいて、しかしながら、より小さい地点のグループが最初に考慮され、地点のグループの各々は、同時に考慮され、または、グループの各々は、サイズまたは他の基準に基づいて順番に考慮される。さらにまた、グループの各々は、並行して同時に調べられてよい。
【００２７】
形状は、モーションデータの内部に内接してもよく、さもなければ定義されてよい。ここで、形状のサイズおよび位置づけは、境界ボックスに関して定義されてよい。例えば、ラインセグメント１３０は、境界ボックス１２８（例えば、最も大きな地点のグループを囲んでいる境界ボックス）の内部に内接してよい。ラインセグメント１３０の長さは、境界ボックス１２８のサイズに基づいてよい。例えば、ラインセグメント１３０の長さは、境界ボックス１２８のより大きい寸法長に対応してよい。他のラインセグメントのサイズおよび他の内接する形状は、後で詳しく述べるように、可能である。
【００２８】
モーションデータは、ラインセグメント１３０に位置合わせされる地点を用いてサンプリングされてよい。サンプリングされる量は、決まった量（例えば３、６４または１０，０００のサンプル）でよい。または、サンプリングされる量は、ラインセグメント１３０（例えば、より長いラインセグメントは、より短いラインセグメントに比べてより多くのサンプル地点に結びつていもよい。）の長さに基づいてよい。
【００２９】
サンプリングされるモーションデータに基づいて、ラインセグメント１３０に沿った手１０８の最後の検出位置は、決定されてよい。例えば（図１Ｂに示すように）、ユーザ１０２が彼らの手１０８を左（リーダの視点から見て）へ動かす時点ｔ１で、比較的高いモーション履歴データ値が、ラインセグメント１３０の左側にあってよい。すなわち、ラインセグメント１３０の左側は、手１０８のごく最近のモーションを示す値を有してよい。より最近でないモーションは、フィルタにより除去されてもよく、さもなければ、ラインセグメント１３０に沿ってサンプリングされる地点に閾値１６０を適用することによって、無視されてよい。閾値未満のモーション履歴データ値を有するサンプリングされる地点は、フィルタリングされてよい。
【００３０】
手１０８の位置は、残りのフィルタリングされない地点１６２から、１地点を選択することによって、識別されてよい。例えば、フィルタリングされない地点の領域は、決定されてもよく、そして、その領域の中の中央地点．１６４（ラインに沿った１８％の位置に対応する）は、選択されてよい。地点選択アプローチの他の例は、フィルタリングされない地点を含む領域の端縁上の１地点を選択すること、ランダム地点を選択すること、フィルタリングされない地点の中の最も高いモーション履歴データ値を有する１地点を選択すること、あるいは、フィルタリングされない地点の中の平均モーション履歴データ値に等しいモーション履歴データ値を有する１地点を選択すること、を含む。
【００３１】
手の検出位置は、ラインセグメント１３０の長さの百分率として表されてよい。例えば、０％の検出位置は、ラインセグメント１３０の左端の位置に対応する。１００％の検出位置は、ラインセグメント１３０の右端の位置に対応する。手１０８のウェーブモーションに対応する手の検出位置は、時点ｔ１に対する１８％の手の検出位置１３２、時点ｔ２に対する８４％の手の検出位置１３４および時点ｔ３に対する１９％の手の検出位置１３６を含む。
【００３２】
時間とともに検出される手の位置は、グラフ１４０にプロットされてよい。例えば、グラフ１４０は、手の検出位置１３２〜１３６にそれぞれ対応するグラフ地点１４２〜１４６を含む。グラフ１４０は、８０％の上方閾値位置１５０および２０％の下方閾値位置１５２を含む。閾値位置１５０〜１５２は、ユーザのモーションがウェーブを構成するかどうか決定するために用いられてよい。
【００３３】
例えば、ウェーブを発生させるために、ユーザ１０２は、彼らの手を下方閾値位置１５２よりも下（すなわち、例えば時点ｔ１に対応する地点１４２によって図示される、２０％の位置よりも下）まで左へ動かし、その後、上方閾値位置１５０よりも上（すなわち、例えば時点ｔ２に対応する地点１４４によって図示される、８０％の位置よりも上）まで反対方向へ動かし、そしてその後、少なくとも下方閾値位置１５２（例えば、時点ｔ３に対応する地点１４６によって図示される）まで再び左へ動かしてよい。ユーザ１０２が彼らのモーションを開始する場所に応じて、ウェーブは、ユーザによって、最初に上方閾値位置１５０を交差することで発生してよい。
【００３４】
グラフ１４０が正弦曲線パターンを呈する場合、１つ以上のウェーブジェスチャは、検出されてよい。１つのウェーブジェスチャは、正弦曲線の周期に対応してよい。例えば、地点１４２から地点１４６までのグラフ部分は、正弦曲線の１周期であり、したがって１つのウェーブジェスチャに対応する。すなわち、ユーザ１０２が彼らの手１０８を、左へ、下方閾値位置１５２を越えて動かしたあと、ウェーブジェスチャは、時点ｔ３で検出される。ユーザが往ったり来たりするジェスチャを続ける場合、マルチプルウェーブジェスチャは、グラフ１４０の正弦曲線の各周期に対して１つ、検出されてよい。
【００３５】
１つ以上のウェーブジェスチャの検出に応答して、アプリケーションは、コントロールされてよい。例えば、媒体ハブ１０６で演奏している音楽の音量は、増加されてよい。ジェスチャに応答して実行する機能は、例えば、機能にジェスチャをマップするマッピングデータベースを問合せることによって決定されてよい。検出されるウェーブの数は、実行される機能への入力として提供されてよい。例えば、検出されるウェーブの数は、音量を上げる分量を示してよい。別の例として、ユーザ１０２は、テレビのチャネルをチャネル番号「５」に切り替えるか、または、「５」のファクタを用いる他の動作を実行するために、媒体ハブ１０６への入力を提供するために、５回、ウェーブしてよい。媒体機能に加えて、１つ以上のウェーブジェスチャの検出は、例えば参照テーブルを調べた後に、コンピュータに全く任意の機能性を呼び出させてよい。ここで、計数されたウェーブの数は、参照テーブルへの入力として用いられてよい。
【００３６】
図２は、ジェスチャ認識を実現するために用いるデバイス２００のブロック図である。つまり、そしてとりわけ、デバイス２００は、ユーザーインターフェース２０１、記憶媒体２０２、カメラ２０４、処理装置２０５および傾斜センサ２０９を含む。
【００３７】
ユーザーインターフェース２０１は、ユーザが、デバイス２００と、または、デバイス２００によって呼び出されるアプリケーションと、相互に作用することができるためのメカニズムである。ユーザーインターフェース２０１は、ユーザが、デバイスを操作することができるか、または、ユーザによる操作の効果をデバイスに対して生じさせることができるための、入力および出力の両方に対するメカニズムを提供してよい。デバイス２００は、任意のタイプのユーザーインターフェース２０１（例えば、グラフィカルユーザーインターフェース（ＧＵＩ）、音声ユーザーインターフェース、または触覚ユーザーインターフェース）を利用してよい。
【００３８】
ユーザーインターフェース２０１は、表示装置の画像を描画するために構成されてよい。例えば、ユーザーインターフェース２０１は、モニタ、テレビジョン、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ装置、投影用スクリーンを有するプロジェクタ、自動立体ディスプレイ、陰極線管（ＣＲＴ）ディスプレイ、デジタル光処理（ＤＬＰ）ディスプレイ、または、表示画像を描画するために構成される他の任意のタイプのディスプレイ装置でよい。ユーザーインターフェース２０１は、１つ以上のディスプレイ装置を含んでよい。いくつかの機器構成において、ユーザーインターフェース２０１は、アプリケーションと関連した画像を表示するために構成されてよい。それは例えば、対象物または表現（例えばアバター）を含む、アプリケーションによって生成される画像を表示する。
【００３９】
記憶媒体２０２は、情報またはデータを格納して記録する。そして、光記憶媒体、磁気記憶媒体、フラッシュメモリ、または他の任意のタイプの記憶媒体でよい。とりわけ、記憶媒体は、辞書２１０およびジェスチャ認識モジュール２１４によって符号化される。
【００４０】
辞書２１０は、デバイス２００が認識してよいジェスチャに関する情報を含む。例えば、辞書２１０は、認識されるジェスチャの各々に対して、ジェスチャの受入れまたは拒否のコントロールに使われてよいさまざまな閾値パラメータまたは基準とともに、ジェスチャ（すなわち線）に対応する形状、サンプリングされるモーション履歴データのグラフが呈すると予想されるパターン、を記述するジェスチャ定義を含んでよい。
【００４１】
ジェスチャ認識モジュール２１４は、モーションセンサ（例えばカメラ２０４および／または傾斜センサ２０９）によって取り込まれるモーションデータを受け止める。そして、認識可能なジェスチャが実行されたかどうか決定するために、受け止められたモーションデータを、辞書２１０に格納されたモーションデータと比較する。例えば、ジェスチャ認識モジュールは、受け止められたモーションデータに内接する形状に沿って、サンプリングされるモーション履歴データ値をプロットしてもよく、そして、結果として生じるグラフを、辞書２１０に格納された予想されるグラフと比較してもよい。
【００４２】
カメラ２０４は、スチール写真または一連の動画として、画像を取り込むために用いるデバイスである。カメラ２０４は、可視スペクトル光、または、電磁放射スペクトル（例えば赤外線）の他の部分を有する光を用いてよい。例えば、カメラ２０４は、デジタルカメラ、デジタルビデオカメラ、または、画像を取り込むために構成される他の任意のタイプのデバイスでよい。カメラ２０４は、１つ以上のカメラを含んでよい。いくつかの実施例において、カメラ２０４は、対象物、またはアプリケーションとインタラクトしているユーザ、の画像を取り込むために構成されてよい。例えば、カメラ２０４は、空きスペース（例えばユーザを囲んでいる空気）において物理的にジェスチャをしているか、さもなければカメラ２０４の視界の中でアプリケーションとインタラクトしているユーザまたは人の画像を取り込むために構成されてよい。
【００４３】
カメラ２０４は、立体カメラ、飛行時間型カメラ、または他の任意のカメラでよい。例えば、カメラ２０４は、ユーザのモーションおよび同様にジェスチャを検出するために、背景画像をサンプリングすることができる画像検出器でよい。カメラ２０４は、グレースケール画像、カラー画像、または距離画像（例えば、距離画像を生成することができる立体カメラまたは飛行時間型カメラ）を作り出してよい。立体カメラは、わずかに異なる視点で画像を取得する２台の画像センサを含んでよい。ここで、処理装置は、画像の部分の距離を算出するために、別々の視点から取得される画像を比較する。飛行時間型カメラは、光（赤外光でよい）のパルスを生成するエミッタを含んでよい。ここで、光のパルスがエミッタから対象物まで伝わり、そしてセンサまで戻り伝わる時間は、画像の部分の距離を算出するために測定される。
【００４４】
デバイス２００は、有線または無線経路を通じて、カメラ２０４およびユーザーインターフェース２０１に電気的に接続され、かつそれらと通信可能であり、そして、改良されたコントロールを提供するために処理装置２０５の動作をコントロールするように構成される。１つの機器構成において、デバイス２００は、改良されたカメラベースの入力を提供するアプリケーションを実行するために、処理装置２０５または他の制御回路を用いる。カメラ２０４が、デバイス２００と通信する別個の装置（例えばウェーブカメラ）でよいにもかかわらず、他の実施例では、カメラ２０４は、デバイス２００の内部に組み込まれて、内部バスを介してデバイス２００の他のコンポーネント（例えば処理装置２０５）と通信する。例えば、カメラ２０４は、テレビジョンまたはセットトップボックスの内部に組み込まれてよい。
【００４５】
デバイス２００が、パーソナルコンピュータ（ＰＣ）またはセットトップボックスとして記述されたにもかかわらず、この種の説明は、単に簡潔さのためのみに作られ、そして、他の実施例または具現例が予想されもする。例えば、デバイス２００は、テレビジョン、ウルトラモバイル・パーソナルコンピュータ（ＵＭＰＣ）、モバイル・インターネットデバイス（ＭＩＤ）、デジタル・ピクチャーフレーム（ＤＰＦ）、ポータブル・メディアプレーヤ（ＰＭＰ）、一般的または特殊目的のコンピュータ（例えば、デスクトップコンピュータ、ワークステーション、またはラップトップコンピュータ）、サーバ、ゲームデバイスまたはコンソール、あるいは、命令を実行するために構成される処理装置または他の制御回路を含む他の任意のタイプの電子デバイス、あるいは、ユーザーインターフェースを含む他の任意の装置、として実現されてよい。
【００４６】
１つの実施例において、ジェスチャを実行しているユーザの画像を検出するように、入力は、カメラを用いることによって発生する。例えば、携帯電話は、テーブル上に配置されてもよくて、顔向き（ｆａｃｅ−ｆｏｒｗａｒｄ）カメラを使用しているユーザの画像を生成するように操作可能でよい。例えば、検出される「左スワイプ」ジェスチャは、画像を左へパンしてもよく、そして、検出される「右スワイプ」ジェスチャは、画像を右へパンしてよい。あるいは、ジェスチャは、傾斜センサ２０９を用いて認識されてもよくまたは検出されてよい。例えば、「左傾斜」ジェスチャを検出することによって、表現を左へ移動して、画像を左へパンするか、または画像を反時計回りに回転させる。あるいは、「前および右傾斜」ジェスチャを検出することによって、中立位置の表現を接近および右へ移動して、ズームインして、画像を右へパンする。
【００４７】
傾斜センサ２０９は、したがって、デバイス２００（例えばジャイロスコープ、アクセロメータまたはカメラベースのオプティカルフロー追尾装置）の角度位置を検出するように操作可能な任意のタイプのモジュールでよい。この点に関して、画像ベースの入力は、ユーザによって要求される機能またはコマンドを実行するために、傾斜センサ入力によって補われてよく、または、傾斜センサ入力と置き換えられてよい。言い換えれば、ユーザのジェスチャの検出は、カメラを使用せずに、または、画像の範囲内でユーザを検出せずに、発生してよい。ユーザがユーザーインターフェース上の画像を操作するために希望するのと同じ種類のストロークパターンのデバイスを動かすことによって、ユーザは、まっすぐな様式における同じインターフェースまたはアプリケーションをコントロールすることが可能になる。
【００４８】
図３は、認識されたジェスチャに応答して、機能性呼び出しを生じさせる、コンピュータ実行プロセス３００を示すフローチャートである。簡単にいうと、コンピュータ実行プロセス３００は、モーションデータの中で形状を定義すること、定義された形状と位置合わせされる地点でモーションデータをサンプリングすること、サンプリングされたモーションデータに基づいて、時間とともに、定義された形状に沿って移動対象物の位置を決定すること、決定された位置により呈するパターンに基づいて、移動対象物が、定義された形状と関連があるジェスチャを実行しているかどうか決定すること、および、移動対象物がジェスチャを実行していることが決定された場合、アプリケーションをコントロールすること、を含む。
【００４９】
さらに詳細には、プロセス３００が開始する（Ｓ３０１）ときに、形状は、モーションデータの中で定義される（Ｓ３０２）。モーションデータは、モーション履歴マップ（例えばマップ１２０、図１）によって提供される。モーション履歴マップは、時間とともに撮られるユーザの複数の画像から作られてよい。モーション履歴マップは、時間とともにユーザのモーションを示してもよく、モーションデータを提供してよい。そしてそれは、画像の各地点に対して、移動対象物がその地点で検出されてからの時間の指示を含む。形状は、ユーザーインターフェース上で形状またはモーションのデータのいずれかを視覚化することのない、モーションデータの中で定義されてよい。
【００５０】
モーションデータは、モーションを有するために決定される隣接点のグループを含んでよい。地点のグループごとに、境界ボックスは、グループ周辺で定義されてよい。意図的なジェスチャは、意図的でないジェスチャに比べてより大きな地点のグループに、一般に結びつくので、いくつかの実施例では、ジェスチャ検出のために、ジェスチャ候補と関連した、最も大きな地点のグループのみが、考慮されてよい。他のアプローチにおいて、しかしながら、より小さい地点のグループが最初に考慮され、地点のグループの各々は、同時に考慮され、または、グループの各々は、サイズまたは他の基準に基づいて順番に考慮される。
【００５１】
形状（例えばラインセグメント）は、モーションデータの内部に内接してよい。ここで、形状のサイズおよび位置づけは、最大の境界ボックスに関して定義されてよい。例えば、図４に示すように、境界ボックス４０６の中心４０４を通過する水平ラインセグメント４０２は、定義されてよい。ラインセグメント４０８またはラインセグメント４１０のような、他のラインセグメントは、定義されてよい。ラインセグメント４０８は、境界ボックス４０６の内部の地点のグループの中にフィットすることができる最も長いラインセグメントである。ラインセグメント４１０は、境界ボックス４０６の内部の地点のグループの中にフィットすることができる最も長い水平ラインセグメントである。アーク４１２のような、他の形状は、定義されてよい。アーク４１２は、往ったり来たりするウェーブをしているユーザの手のわずかにカーブするモーションに似ていてよい。
【００５２】
図３に一旦戻って、形状が定義されたあと、モーションデータは、定義された形状（Ｓ３０４）に位置合わせされる地点でサンプリングされる。例えば、サンプリングする地点は、内接するラインセグメントの端縁部に沿って位置つけられてよい。サンプリングされる量は、一定の量（例えば１０００のサンプル）でよい。または、サンプリングされる量は、形状のサイズ（例えば、より大きな形状は、より小さい形状に比べてより多くのサンプリングする地点に結びついてよい。）に基づいてよい。サンプリングされる地点は、一定の距離および／または予め定められた距離だけ互いに離れた距離でよい。いくつかの実施例において、特定のジェスチャが少なくとも１回認識されたあと、より小さいサンプルサイズが使われてよい。
【００５３】
モーションデータがサンプリングされたあと、定義された形状に沿った移動対象物の位置は、サンプリングされるモーションデータに基づいて、時間とともに決定される（Ｓ３０６）。例えば、定義されたラインセグメントに沿った手の位置は、決定されてよい。ユーザの手の最後の位置の領域においてサンプリングされる地点は、比較的高いモーションデータ履歴値（例えば、ユーザの手のごく最近のモーションを示している）を一般に有する。より最近でないモーションは、フィルタにより除去されてもよく、さもなければ、ラインセグメントに沿ってサンプリングされる地点に閾値テストを適用することによって、無視されてよい。閾値未満のモーション履歴データ値を有するサンプリングされる地点は、フィルタリングされてよい（図１Ｂ参照）。
【００５４】
ユーザの手の最新の位置は、残りのフィルタリングされない地点から、１地点を選択することによって、識別されてよい。例えば、フィルタリングされない地点の領域は、決定されてもよく、そして、その領域の中の中央地点．は、選択されてよい。地点選択アプローチの他の例は、フィルタリングされない地点を含む領域の端縁上の１地点を選択すること、ランダム地点を選択すること、フィルタリングされない地点の中の最も高いモーション履歴データ値を有する１地点を選択すること、あるいは、フィルタリングされない地点の中の平均モーション履歴データ値に等しいモーション履歴データ値を有する１地点を選択すること、を含む。
【００５５】
手の検出位置は、ラインセグメントの長さの百分率として表されてよい。例えば、０％の検出位置は、ラインセグメントの左端の位置に対応してよい。１００％の検出位置は、ラインセグメントの右端の位置に対応してよい。検出位置は、検出位置の履歴に格納されてよい。モーションデータの中の形状の定義が動的であるので、以前に０％または１００％として指定された形状の端点を過ぎたユーザの手モーションは、その形状を延長させ、および、より極端な手の位置を新たな０％または１００％の位置として指定させる。
【００５６】
移動対象物の位置が決定されたあと、移動対象物が、決定された位置によって呈されるパターンに基づいて、定義された形状と関連があるジェスチャを実行しているかどうかが、決定される（Ｓ３０８）。例えば、決定された手の位置は、グラフ（例えばグラフ１４０、図１）にプロットされてよい。グラフの形状は、特定の定義されたジェスチャが実行されるときに、発生すると予想されるグラフ形状のパターンと比較されてよい。例えば、正弦曲線パターンまたは段階的な正弦曲線パターンは、ウェーブジェスチャの実行の結果として、予想されてよい。
【００５７】
例えば、図５に示すように、グラフ５００は、正弦曲線パターンを呈する。グラフ５００は、時間とともに検出されたプロットされた手の位置５０２〜５３２を表示する。グラフ５００は、７つの正弦曲線の周期を含む。従って、最高７つのウェーブジェスチャは、検出されてよい。一例の正弦曲線の周期は、プロットされた位置５０２〜５０６の間に存在する。
【００５８】
さまざまなテストは、１つ以上の受け入れ可能な正弦曲線パターンが呈されるかどうか決定するために、グラフ５００上に実行されてよい。例えば、テストは、正弦曲線の周期が、下方閾値位置５４０（例えば位置５０２）以下で第１のプロットされた手の位置を含むかどうか、そして、上方閾値位置５４２（例えば位置５０４）以上で第２のプロットされた手の位置が続くかどうか、そして、下方閾値位置５４０（例えば位置５０６）以下で第３のプロットされた手の位置が続くかどうか、を決定するために実行されてよい。例えば、以下の正弦曲線の周期（１組のプロットされた手の位置として記述される）は、この種のテスト５０２〜５０６、５０６〜５１０、５１０〜５１４、５１４〜５１８、５１８〜５２２、５２２〜５２６、５２６〜５３０に基づいて受け入れ可能とみなされてよい。
【００５９】
ウェーブジェスチャに対応するとして受け入れらなくてよい正弦曲線の周期の例は、図６のグラフ６００に示される。グラフ６００は、時間とともに手の検出位置をプロットする。プロットされた手の位置６０２〜６０６は、正弦曲線の周期を構成する。プロットされた手の位置６０２は、それが下方閾値位置６１０よりも下にあるので、受け入れらなくてもよく、および、プロットされた手の位置６０４は、それが上方閾値位置６１２よりも上にあるので、受け入れられてよい。しかしながら、プロットされた手の位置６０６は、それが下方閾値位置６１０よりも上にあるので、受け入れられなくてよい。プロットされた手の位置６０２〜６０６は、ユーザの手が、最初に彼らの身体の近く（すなわち位置６０２）にあり、その後、ユーザが彼らの手を身体から離すように動かし（すなわち位置６０４）、それから、彼らの手を身体に向かって途中まで戻し動かした（すなわち位置６０６）、状況に対応してよい。換言すれば、プロットされた位置６０６が、下方閾値位置６１０を交差しなかったことから、ユーザがウェーブジェスチャを「完了しなかった」と決定してよい。
【００６０】
潜在的に受け入れられない正弦曲線の周期の他の例は、プロットされた手の位置６１４、６１６および６０２を含む正弦曲線の周期である。プロットされた手の位置６１４は、それが下方閾値位置６１０よりも下にあるので、受け入れられてよい。プロットされた手の位置６１６は、しかしながら、それが上方閾値位置６１２よりも上にないので、受け入れられなくてよい。プロットされた手の位置６０２は、それが下方閾値位置６１０よりも下にあるので、受け入れられてよい。プロットされた手の位置６１４、６１６および６０２は、ユーザがウェーブジェスチャを「完了しなかった」状況に対応する。換言すれば、ユーザの手は、最初に彼らの身体の近く（すなわち位置６１４）にあった。そしてその後、ユーザは、彼らの手を身体から離すように、しかし途中までのみ動かし（すなわち位置６１６）、それから、彼らの手を身体に向かって戻し動かした（すなわち位置６０２）。
【００６１】
他の閾値テストは、実行されてよい。例えば、ウェーブの周期の幅は、テストされてよい。正弦曲線の周期が、とても狭いかとても広い場合、正弦曲線の周期は、ウェーブジェスチャに対応しないとして受け入れられなくてよい。例えば、図６にプロットされた手の位置６１８、６２０および６２２間に示される正弦曲線の周期のように、広い正弦曲線の周期は、ユーザが、彼らの手をゆっくり往ったり来たり動かしていることに対応してよい。手の位置６１８〜６２２間の正弦曲線の周期がウェーブを構成するかどうかは、閾値の値に依存してよい。
【００６２】
例えば、３秒の閾値が、使われてよい。地点６２２、６１８間の時間差は、算出されてもよく、そして、閾値と比較されてよい。時間差が閾値を超える場合、正弦曲線の周期は、ユーザがウェーブジェスチャを完了するのに手間どりすぎているため、ウェーブジェスチャに対応しないとして拒否されてよい。別の例として、地点５１４、５１０間で算出される時間差（例えば２秒）が閾値（例えば３秒）未満である場合、図５の地点５１０〜５１４間の正弦曲線の周期は、ウェーブジェスチャに対応するとして受け入れられてよい。
【００６３】
完了するのにおそらく長くかかりすぎているウェーブジェスチャの他の例は、図７に示される。ユーザは、彼らの手７０４を使用してウェーブジェスチャ７０２を作る。ユーザが時点ｔ１で彼らの手７０４を右へ動かしたあと、ユーザは、時点ｔ２、ｔ３およびｔ４の間、休止する（例えば、彼らの手７０４を保持する。）。そしてそれから、時点ｔ５で彼らの手７０４を左へ動かす。グラフ７０６は、時間とともに手の検出位置をプロットする。グラフ７０６の正弦曲線の形状を広げている、グラフ７０６の上部平坦域（ｔ４〜ｔ１に対応）での連続的な同値の位置のため、ジェスチャ７０２は、タイミング閾値を上回ることに基づいて拒否されてよい。
【００６４】
図５、６のグラフに沿ったさまざまな位置は、閾値テストのために使われてよい。すでに述べられるように、テストは、正弦曲線の周期のピーク間および／または谷間の時間差を算出することによって実行されてよい。時間差および他の計算もまた、他の位置に基づいて実行されてよい。例えば、計算は、正弦曲線の周期が、最初に上方向に向かって上方閾値位置（例えば５４２）を横切る場所（例えば位置５５０）と、正弦曲線の周期が、同じ方向に前と同様に上方閾値位置を横切る場所（例えば５５２）との比較に基づいて、実行されてよい。別の例として、閾値テストは、グラフが、一方向に閾値位置を横切る（例えば、位置５５２で示すように、上方向に向かって上方閾値位置５４２を横切る）場所と、グラフが、反対方向に同じ閾値位置を横切る（例えば、位置５５４で示すように）場所との比較に基づいてよい。
【００６５】
グラフの部分は、複数の理由のために１つ以上のウェーブジェスチャに対応するとして、拒否されてよい。例えば、図６で、位置６２２、６１４、６０４間のグラフ部分６２４は、上方閾値位置６１２よりも上の値（例えば、位置６２２で）、下方閾値位置６１０よりも下の値（例えば、位置６１４で）、および、上方閾値位置６１２よりも上の別の値（例えば、位置６０４で）、を有する。上下の閾値位置を交差させるための基準をおそらく満たすとはいえ、グラフ部分６２４は、多数の他の理由のために拒否されてよい。
【００６６】
例えば、位置６０４および６２２に基づくタイミングのずれは、閾値を上回ってよい。換言すれば、ユーザが２度目に彼らの手を完全に右へ動かすのに、長くかかりすぎたとしてよい。グラフ部分６２４もまた、方向性の条件に背くため、拒否されてよい。位置６２６は、ユーザが、下方閾値位置６１０を交差させる前に方向を反転させたことを示す。そして、位置６２８は、ユーザが、上方閾値位置６１２を交差させる前に同様に方向を反転させたことを示す。
【００６７】
図８は、ユーザが、彼らの手を側方へ動かし切る前に方向を反転させるシナリオを示す。ユーザは、彼らの手８０４によって往ったり来たりするジェスチャ８０２をする。ユーザは、時点ｔ１で彼らの手８０４を右へ動かしていて、それから、時点ｔ２で彼らの手８０４を左へ動かす。しかしながら、左へざっと中間まで戻りながら、時点ｔ３で、彼らの手８０４を時点ｔ４で左へ動かすよりも前に、ユーザは、彼らの手８０４を右へ短時間戻し動かす。時点ｔ５で、ユーザの手８０４は、遠い左にある。グラフ８０６は、ジェスチャ８０２に対応する手の検出位置をプロットする。グラフ８０６は、十分な高さに達していないピーク８０８（時点ｔ３でのユーザの方向反転に対応する）、および／または、十分な低さに達していない谷８１０（時点ｔ３でのユーザの方向反転に対応する）に起因する正弦曲線パターンにマッチングするとして、拒否されてよい。
【００６８】
図３に戻ると、定義されたジェスチャは、一回の動作の形状であってよい。ジェスチャは、英数字の文字（例えば「Ｏ」、「８」）、または、一部の他のシンボルまたは機能（例えば無限のシンボル）を示してよい。一般に、ジェスチャは、考え、意見、感情、コミュニケーション、命令、デモンストレーション、または表現などを表す動き、位置、ポーズ、または姿勢のことをいうように意図される。ユーザは、ハンドヘルドのデバイスを支えている間にジェスチャを行ってもよく、または、ユーザは、ユーザの身体の一部の上にデバイスを身に付ける一方で、１つ以上の身体の部分を用いてジェスチャしてよい。例えば、ユーザのジェスチャは、単一または複数の指のジェスチャ、単一の手のジェスチャ、単一の手および腕のジェスチャ、単一の点および腕ならびに体のジェスチャ、両手のジェスチャ、頭のポーズまたは姿勢、眼の位置、表情、体のポーズまたは姿勢、あるいは、任意の他の表現上の体の状態であってよい。
【００６９】
ユーザのジェスチャは、エネーブリングまたは「エンゲージメント」ジェスチャを表してよい。エンゲージメントジェスチャは、特定の手のポーズまたはあらかじめ決められた時間量の間に保持されるジェスチャによって表現される手の動きの連続であってよい。１つの例としてのエンゲージメントジェスチャは、ユーザが３秒間、ハンドヘルドのデバイスを動かさないで保持することである。別の例は、ユーザの顔の前でユーザの腕を伸ばすことでハンドヘルドのデバイスを支える間に、ユーザの頭の前で腕を円形に動かしてなされる円形の手の動きである。別の例として、エンゲージメントジェスチャは、ユーザがデバイスを揺さぶることであってよい。実質的には、エンゲージメントジェスチャは、ユーザが、生じるべきさらなる入力に対して準備ができているデバイスに特定される。エラーを低減させるために、エンゲージメントジェスチャは、型にはまらないジェスチャであってよく、例えば、通常の会話の間でのボディーランゲージで意識的にはなされないジェスチャ、または通常の人間の行為の通常の振る舞いにおいてなされないジェスチャであってよい。
【００７０】
ユーザの考え、意見、感情、コミュニケーション、命令、デモンストレーション、または表現を定義するジェスチャが派生されてよい。例えば、ユーザのジェスチャは、単一または複数の指のジェスチャ、単一の手のジェスチャ、単一の手および腕のジェスチャ、単一の点および腕ならびに身体のジェスチャ、両手のジェスチャ、頭のポーズまたは姿勢、眼の位置、表情、身体のポーズまたは姿勢、あるいは、任意の他の表現上の身体の状態であってよい。
【００７１】
簡略的には、関連のジェスチャを行うために用いられる身体の一部または複数の部分は、一般に、「制御対象」と呼ばれる。例えば、ユーザは、身体全体または他の物理的な部分を用いて命令を表現してよく、この場合、ユーザの身体全体または他の物理的な部分は制御対象であってよい。ユーザは、眼をパチクリすることによって、鼻を鳴らすことで、または指をくねくねさせることによって、命令をさらに微妙に表現してよく、この場合、まぶた、鼻、または指は制御対象であってよい。制御対象はまた、例えば、いくつか例を挙げれば、赤外線の指の光、携帯装置、腕時計、レトロリフレクタ、または遠隔制御等の物理的なデバイスであってよい。
【００７２】
モーションデータからユーザのジェスチャを決定する多くの方法が存在する。例えば、「空に円を描く」、または「手を一方の側にスワイプする」のジェスチャは、手、腕、身体、頭、または他の対象の位置情報を用いて、ジェスチャ分析および検出プロセスによって検出されてよい。例えば、スワイプのジェスチャがなされた場合、ジェスチャが２次元または３次元の位置の置換を含んでもよく、他の例においては、ジェスチャは、同時の位置の置換なしの変化を含む。例えば、５本の伸ばした指と手のひらとを前面にして手が「止まれ」の合図をしている場合、たとえ、手または腕の全体の位置が静止している場合であっても、手のひらを前面にしたままで５本全ての指が引っ込められる場合、ユーザのジェスチャは変化する。
【００７３】
ジェスチャは、例えば、手またはデバイスの位置情報が明確な一連のルールをパスするかどうかを決定することによる、発見的な技術を用いて検出されてよい。例えば、「手を一方の側にスワイプする」のジェスチャは、以下のジェスチャの検出ルールが満たされた場合に識別されてよい。（１）水平位置における変化が、あらかじめ決められた限度未満である、ある期間に亘るあらかじめ決められた距離よりも大きい。（２）水平位置がその期間に亘って単調に変化する。（３）垂直位置における変化が、その期間に亘るあらかじめ決められた距離未満である。（４）その期間の終わりの位置が、その期間の開始の位置よりも、手の検出領域の境界により近い（または境界上）。
【００７４】
一部のジェスチャは、明確な命令において実行されかつ満たされる複数の一連のルールを利用し、ここで、一連のルールを満たすと、システムは、異なる一連のルールが適応される状態へと変化する。このシステムは、微妙なジェスチャを検出することができない場合があり、この場合、隠れマルコフモデルを使用してもよく、というのも、これらのモデルは、検出される一連の特定のモーションを可能にし、また、モーションが十分にジェスチャにフィットする全体の確率を想定するからである。
【００７５】
複雑なコマンドの入力を可能にし、かつ複数の入力オプションを増加させるために、ユーザのジェスチャを認識するためのプロセスが、第１の方向における第１の転置を認識する工程、および第２の方向における第２の転置を認識する工程、ならびに、単一のジェスチャとして、これらの複数の転置を集約する工程をさらに含んでよい。さらに、ユーザのジェスチャの認識は、ユーザのジェスチャの大きさおよび方向を決定してよい。
【００７６】
図３に戻ると、移動する対象物がジェスチャを行ったと決定された場合、アプリケーションがコントロールされ（Ｓ３１０）、それによりプロセス３００を終了する（Ｓ３１２）。いくつか例を挙げると、音量がメディアプレーヤ上で上げられてよく、アプリケーションが始動されてよく、アプリケーションまたはデバイスが終了されてよく、あるいは、ｅメールのメッセージが送られてよい。ジェスチャに応じて実行するための機能は、例えば、ジェスチャを複数の機能にマッピングするマッピングデータベースを問い合わせる（クエリ）ことによって決定されてよい。検出されるウェーブの数は、実行された機能への入力として提供されてよい。例えば、検出されたウェーブの数は、「スピード−ダイヤル」機能への入力として提供されてよく、ここでウェーブの回数が、通話またはテキストメッセージ受信者を同定する。
【００７７】
図９は、正方形ジェスチャ９０１の検出を示す。ユーザ９０２は、カメラ９０４および媒体ハブ９０６の前に立っている。ユーザ９０２は、正方形ジェスチャ９０１の中において、彼らの左手９０８を動かす。時点ｔ０と時点ｔ２との間に、ユーザ１０２は、右から左へ（リーダの視点から見て）彼らの手９０８を動かす。時点ｔ２と時点ｔ４との間に、ユーザ１０２は、下方へ向かって彼らの手９０８を動かす。時点ｔ４と時点ｔ８との間に、ユーザ１０２は、左から右へ彼らの手９０８を動かす。時点ｔ６と時点ｔ８との間に、ユーザ１０２は、時点ｔ０で始まったところでの手９０８の終わりをともなって、上方へ向かって彼らの手９０８を動かす。
【００７８】
モーション履歴マップ９１０は、境界ボックス９１４の内部に、被検出地点のグループ９１２を含む。ラインセグメント９１６〜９２２は、被検出地点のグループ９１２に内接している。ラインセグメント９１６〜９２２の各々に対して、手の検出位置は、時間とともに検出されてよい。ラインセグメント９１６〜９２２のうちの１つと関連した各グラフ９２４〜９３０については、手の検出位置は、グラフ９２４〜９３０にプロットされてよい。
【００７９】
例えば、グラフ９２４は、水平ラインセグメント９１６（すなわち、正方形のジェスチャ９０１の最上側に対応する）に沿って検出される手の位置をプロットする。グラフ９２６は、垂直ラインセグメント９１８（すなわち、正方形のジェスチャ９０１の左側に対応する）に沿って検出される手の位置をプロットする。グラフ９２８は、水平ラインセグメント９２０（すなわち、正方形のジェスチャ９０１の下側に対応する）に沿って検出される手の位置をプロットする。グラフ９３０は、垂直ラインセグメント９２２（すなわち、正方形のジェスチャ９０１の右側に対応する）に沿って検出される手の位置をプロットする。
【００８０】
グラフ９２４は、時間とともに、水平ラインセグメント９１６に沿って検出される手の位置を図示する。「０％」の位置の値が、ラインセグメント９１６の右端における位置を示し、かつ、「１００％」の位置の値が、ラインセグメント９１６の左端における位置を示すように、位置は定義されてよい。例えば、グラフ９２４に示すように、時点ｔ０で、ユーザの手９０８は、ラインセグメント９１６の右端（すなわち０％の位置）にあり、そして、時点ｔ２で、ユーザの手は、ラインセグメント９１６の左端（すなわち１００％の位置）にある。時点ｔ８で、ユーザの手９０８は、ラインセグメント９１６の右端（すなわち０％の位置）において、前と同じように検出される。
【００８１】
グラフ９２６は、時間とともに、垂直ラインセグメント９１８に沿って検出される手の位置を図示する。「０％」の位置の値が、ラインセグメント９１８の最も上側における位置を示し、かつ、「１００％」の位置の値が、ラインセグメント９１８の最も下側における位置を示すように、位置は定義されてよい。例えば、グラフ９２６に示すように、時点ｔ２で、ユーザの手９０８は、ラインセグメント９１８の最も上側（すなわち０％の位置）にあり、そして、時点ｔ４で、ユーザの手９０８は、ラインセグメント９１８の最も下側（すなわち１００％の位置）にある。
【００８２】
グラフ９２８は、時間とともに、水平ラインセグメント９２０に沿って検出される手の位置を図示する。「０％」の位置の値が、ラインセグメント９２０の左端における位置を示し、かつ、「１００％」の位置の値が、ラインセグメント９２０の右端における位置を示すように、位置は定義されてよい。例えば、グラフ９２８に示すように、時点ｔ４で、ユーザの手９０８は、ラインセグメント９２０の左端（すなわち０％の位置）にあり、そして、時点ｔ８で、ユーザの手９０８は、ラインセグメント９２０の右端（すなわち１００％の位置）にある。
【００８３】
グラフ９３０は、時間とともに、垂直ラインセグメント９２２に沿って検出される手の位置を図示する。「０％」の位置の値が、ラインセグメント９２２の最も下側における位置を示し、かつ、「１００％」の位置の値が、ラインセグメント９２２の最も上側における位置を示すように、位置は定義されてよい。例えば、グラフ９３０に示すように、時点ｔ６で、ユーザの手９０８は、ラインセグメント９２２の最も下側（すなわち０％の位置）にあり、そして、時点ｔ８で、ユーザの手９０８は、ラインセグメント９２２の最も上側（すなわち１００％の位置）にある。
【００８４】
グラフ９２４〜９３０の１組は、正方形のジェスチャ９０１が実行されたかどうか決定するために調べられてよい。すなわち、グラフ９２４〜９３０の各々は、各グラフが、正方形のジェスチャ９０１のそれぞれの側に対応するサブジェスチャが発生したことを示すかどうか（例えば、グラフによって示されるパターンを、予想されるグラフ・パターンと比較することによって）決定するために、調べられてよい。グラフ９２４〜９３０の各々が、サブジェスチャが発生したことを示す場合、そして、グラフ９２４〜９３０が、タイミングの考慮に関して互いに並ぶ場合、正方形のジェスチャ９０１の検出に関して、全体の決定がなされてよい。正方形のジェスチャが検出される場合、アプリケーションはコントロールされてよい。例えば、ユーザ９０２と関連した接触リストにおける個人の呼び出しを設定する。
【００８５】
図１０は、実行されたウェーブジェスチャと関連したモーション履歴マップ１００２を含むユーザーインターフェース１０００である。ラインセグメント１００４は、検出モーションを示している地点を囲む境界ボックスの内部に内接する。グラフ１００６は、時間とともに、ラインセグメント１００２に沿ってユーザの手の検出位置を表示する。グラフ１００６の形状は、ウェーブジェスチャが検出されていない（おそらく１つ以上の閾値テストの不良のため）ことをウェーブ計数ラベル１００８が示す、正弦曲線パターンにやや似て見える部分を有する。
【００８６】
ユーザーインターフェース１０００は、ジェスチャ検出を構成するために用いられてよい制御部を含む。例えば、制御部１０１０は、モーション履歴値が減衰する前に、時間の長さをコントロールする持続時間値を定義するために用いられてよい。別の例として、制御部１０１２は、ウェーブジェスチャに含まれる「スワイプ」（すなわち往ったり来たりするモーションにおける一側へのモーション）の必要とされる回数を定義するために用いられてよい。
【００８７】
他の構成のコントロール例は、上下のウェーブ閾値１０１４〜１０１６およびタイミング受入部１０１８を含む。上下のウェーブ閾値１０１４〜１０１６は、ウェーブセグメントとして計数するためにモーション履歴データが通過してよい、上方（および下方）の百分率である。タイミング受入部１０１８は、ウェーブの各セグメントがそれによって判断されてよい乗算器である。０．１のタイミング受入値１０１８については、ウェーブセグメントは、他のウェーブセグメントの平均の９０％〜１１０％の範囲内であることを要求されてよい。０．２のタイミング受入値１０１８については、ウェーブセグメントは、８０％〜１２０％の範囲内にあることを要求されてよい。換言すれば、より小さいタイミング受入値１０１８は、より良好なタイミングの整合性に対応する。
【００８８】
図１１は、実行されたウェーブジェスチャと関連したモーション履歴マップ１１０２を含むユーザーインターフェース１１００である。ラインセグメント１１０４は、検出モーションを示している地点を囲む境界ボックスの内部に内接する。グラフ１１０６は、時間とともに、ラインセグメント１１０２に沿ってユーザの手の検出位置を表示する。グラフ１１０６の部分は、正弦曲線パターンを呈する。ウェーブ計数ラベル１１０８は、６つのウェーブジェスチャが検出されたことを示す。
【００８９】
図１２は、コンピューティングデバイス１２００、１２５０のブロック図であり、コンピューティングデバイスは、クライアントとして、あるいは、１つのサーバまたは複数のサーバとして、本明細書において記述されるシステムおよび方法を実現するために用いてよい。コンピューティングデバイス１２００は、デジタルコンピュータ（例えば、ラップトップ、デスクトップ、ワークステーション、パーソナル携帯情報機器、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ）のさまざまな形態を表現することを意図とする。コンピューティングデバイス１２５０は、モバイル機器（例えば、パーソナル携帯情報機器、移動電話、多機能電話、および他の同様のコンピューティングデバイス）のさまざまな形態を表現することを意図する。この場合に示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示的のみとされており、本明細書において記述されておよび／または請求されるアプローチの実施例を制限することを意図しない。
【００９０】
コンピューティングデバイス１２００は、処理装置１２０２、メモリ１２０４、記憶装置１２０６、メモリ１２０４および高速拡張ポート１２１０に接続している高速インターフェース１２０８、ならびに、低速バス１２１４および記憶装置１２０６に接続している低速インターフェース１２１２を含む。コンポーネント１２０２、１２０４、１２０６、１２０８、１２１０、１２１２の各々は、さまざまなバスを用いて相互接続されて、共通のマザーボード上に、または適切な他の方法において、搭載されてよい。処理装置１２０２は、外部入力／出力装置（例えば、高速インターフェース１２０８に接続されるディスプレイ１２１６）上のＧＵＩのためのグラフィック情報を表示するために、メモリ１２０４または記憶装置１２０６に保存される命令を含む、コンピューティングデバイス１２００の中の実行のための命令を処理してよい。他の実施例では、マルチプルメモリおよびさまざまなタイプのメモリとともに、必要に応じて、マルチ処理装置および／またはマルチプルバスが用いられてよい。また、必要な動作の部分を提供している各デバイス（例えば、サーババンク、一群のブレードサーバ、またはマルチ処理装置・システムのような）については、マルチプル・コンピューティングデバイス１２００は、接続されてよい。
【００９１】
メモリ１２０４は、コンピューティングデバイス１２００の内部に情報を格納する。一実施例では、メモリ１２０４は、コンピュータ可読媒体である。一実施例では、メモリ１２０４は、１つまたは複数の揮発性記憶装置である。他の実施例において、メモリ１２０４は、１つまたは複数の不揮発性記憶装置である。
【００９２】
記憶装置１２０６は、大容量記憶域をコンピューティングデバイス１２００に提供することができる。一実施例では、記憶装置１２０６は、コンピュータ可読媒体である。さまざまな別々の実施例において、記憶装置１２０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様の固体メモリデバイス、あるいは、記憶領域ネットワークまたは他の機器構成におけるデバイスを含むデバイスアレイ、でよい。一実施例では、コンピュータプログラム製品は、情報担体において明らかに実現される。コンピュータプログラム製品は、実行されるときに、１つ以上の方法（例えば上記したもの）を実行する命令を収容している。情報担体は、コンピュータ可読媒体または機械で読み取り可能な媒体（例えばメモリ１２０４、記憶装置１２０６、または処理装置１２０２上のメモリ）である。
【００９３】
高速コントローラ１２０８は、コンピューティングデバイス１２００のためのバンド幅集約型の動作を管理し、一方、低速コントローラ１２１２は、より小さいバンド幅集約型の動作を管理する。デューティのこの配分は、例示的のみである。一実施例では、高速コントローラ１２０８は、メモリ１２０４、ディスプレイ１２１６（例えば、グラフィック処理装置またはアクセラレータを通して）、および高速拡張ポート１２１０に接続される。そしてそれは、さまざまな拡張カード（図示せず）を受け入れてよい。実施例において、低速コントローラ１２１２は、記憶装置１２０６および低速拡張ポート１２１４に接続される。さまざまな通信ポート（例えばＵＳＢ、ブルートゥース、イーサネット（登録商標）、無線イーサネット（登録商標））を含んでよい低速拡張ポートは、１つ以上の入出力装置（例えばキーボード、ポインティングデバイス、スキャナ、またはネットワーク・デバイス（例えばネットワークアダプタを通じたスイッチまたはルーター））に接続されてよい。
【００９４】
図に示すように、コンピューティングデバイス１２００は、多くの別々の形態で実現されてよい。例えば、それは、標準サーバ１２２０として、または、この種のサーバのグループにおける複数の処理回数として、実現されてよい。それは、また、ラック・サーバーシステム１２２４の一部として実現されてよい。加えて、それは、パーソナルコンピュータ（例えばラップトップコンピュータ１２２２）において実現されてよい。あるいは、コンピューティングデバイス１２００からのコンポーネントは、モバイル機器（図示せず）（例えばデバイス１２５０）の他のコンポーネントと組み合わされてよい。この種のデバイスの各々は、１つ以上のコンピューティングデバイス１２００、１２５０を収容してよい。そして、システム全体は、互いに通信しているマルチプル・コンピューティングデバイス１２００、１２５０から構成されてよい。コンピューティングデバイス１２００は、コンピューティングデバイス１２００のモーションまたは位置を検出するかまたは検知するように構成される、１つ以上のセンサ（図示せず）（例えばジャイロスコープ、カメラ、またはＧＰＳ（全地球測位衛星）追尾装置）を含んでよい。
【００９５】
コンピューティングデバイス１２５０は、他のコンポーネントの中で、処理装置１２５２、メモリ１２６４、入出力装置（例えばディスプレイ１２５４）、通信インターフェース１２６６、およびトランシーバ１２６８、を含む。デバイス１２５０は、また、追加の記憶機構を提供するために、記憶装置（例えばマイクロ駆動装置または他のデバイス）とともに提供されてよい。コンポーネント１２０２、１２０４、１２０６、１２０８、１２１０、１２１２の各々は、さまざまなバスを用いて相互接続される。そして、コンポーネントのいくつかは、共通のマザーボード上に、または適切な他の方法において、搭載されてよい。コンピューティングデバイス１２００は、コンピューティングデバイス１２００のモーションまたは位置を検出するかまたは検知するように構成される、１つ以上のセンサ（図示せず）（例えばジャイロスコープ、カメラ、またはＧＰＳ（全地球測位衛星）追尾装置）を含んでよい。
【００９６】
処理装置１２５２は、コンピューティングデバイス１２５０の内部で、メモリ１２６４に保存される命令を含む実行のための命令を処理してよい。処理装置は、また、別個のアナログおよびデジタル処理装置を含んでよい。処理装置は、例えば、ユーザーインターフェースのコントロールのような、コンピューティングデバイス１２５０の他のコンポーネントの調整のために、コンピューティングデバイス１２５０によって動作するアプリケーション、およびコンピューティングデバイス１２５０による無線通信を提供してよい。
【００９７】
処理装置１２５２は、制御インターフェース１２５８および、ディスプレイ１２５４に接続される表示インターフェース１２５６を通じて、ユーザと情報交換してよい。ディスプレイ１２５４は、例えば、ＴＦＴ液晶ディスプレイまたはＯＬＥＤディスプレイ、あるいは他の適切な表示技術であってよい。表示インターフェース１２５６は、ユーザにグラフィックおよび他の情報を提示するようにディスプレイ１２５４を駆動させるための適切な回路を含んでよい。制御インターフェース１２５８は、ユーザからコマンドを受け止めて、そして、処理装置１２５２に発信するためにそれらを変換してよい。加えて、コンピューティングデバイス１２５０による他のデバイスとの近いエリアの通信を可能にするように、外部インターフェース１２６２は、処理装置１２５２との通信に提供されてよい。外部インターフェース１２６２は、例えば、有線通信（例えば、ドッキング手順を介する）のために、あるいは、無線通信（例えば、ブルートゥースまたはこの種の他の技術を介する）のために、提供されてよい。
【００９８】
メモリ１２６４は、コンピューティングデバイス１２５０の内部で情報を格納する。一実施例では、メモリ１２６４は、コンピュータ可読媒体である。一実施例では、メモリ１２６４は、１つまたは複数の揮発性記憶装置である。他の実施例において、メモリ１２６４は、１つまたは複数の不揮発性記憶装置である。増設メモリ１２７４もまた、提供されてもよく、そして、拡張インターフェース１２７２を通じてコンピューティングデバイス１２５０に接続されてよい。そしてそれは、例えば、ＳＩＭＭカード・インターフェースを含んでよい。この種の増設メモリ１２７４は、追加の記憶空間をコンピューティングデバイス１２５０に提供してもよく、または、コンピューティングデバイス１２５０のためのアプリケーションまたは他の情報を格納してよい。具体的には、増設メモリ１２７４は、上記のプロセスを実行するかまたは補うために命令を含んでもよくて、そして、保証された情報も含んでよい。したがって、例えば、増設メモリ１２７４は、コンピューティングデバイス１２５０用のセキュリティモジュールとして提供されてもよく、そして、コンピューティングデバイス１２５０の保証された使用ができるようにする命令をともなってプログラムされてよい。加えて、保証されたアプリケーションは、例えば、ＳＩＭＭカードに関する情報を、ハッキングできない方法で識別するような追加情報とともに、ＳＩＭＭカードを介して提供されてよい。
【００９９】
後述するように、メモリは、例えば、フラッシュメモリおよび／またはＭＲＡＭメモリを含んでよい。一実施例では、コンピュータプログラム製品は、情報担体において明らかに実現される。コンピュータプログラム製品は、実行されるときに、１つ以上の方法（例えば上記したもの）を実行する命令を収容している。情報担体は、コンピュータ可読媒体または機械で読み取り可能な媒体（例えばメモリ１２６４、増設メモリ１２７４、または処理装置１２５２上のメモリ）である。
【０１００】
コンピューティングデバイス１２５０は、通信インターフェース１２６６を通じて無線で通信してよい。そしてそれは、必要な場合、デジタル信号処理回路を含んでよい。通信インターフェース１２６６は、さまざまなモードまたはプロトコル下の通信（例えば、ＧＳＭ音声通話、ＳＭＳ、ＥＭＳまたはＭＭＳメッセージ送信、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ、ＣＤＭＡ２０００、または中でもＧＰＲＳ）を提供してよい。この種の通信は、例えば、高周波トランシーバ１２６８を通して発生してよい。加えて、例えばブルートゥース、ＷｉＦｉ、またはこの種の他のトランシーバ（図示せず）を使用して、短距離通信は、発生してよい。加えて、ＧＰＳ受信モジュール１２７０は、コンピューティングデバイス１２５０に追加的な無線データを提供してよい。そしてそれは、コンピューティングデバイス１２５０で動作しているアプリケーションによって適切に使用されてよい。
【０１０１】
コンピューティングデバイス１２５０は、音声コーデック１２６０を用いて聞こえるように通信してよい。そしてそれは、ユーザから口頭の情報を受け止めて、それを使用可能なデジタル情報に変換してよい。音声コーデック１２６０は、例えば、コンピューティングデバイス１２５０のハンドセットにおけるスピーカを通じて、ユーザのための可聴音を同様に生成してよい。この種の音は、音声電話からの音を含んでもよく、記録された音（例えばボイスメッセージ、音楽ファイル等）を含んでもよく、そして、コンピューティングデバイス１２５０上で動作しているアプリケーションによって生成される音をも含んでよい。
【０１０２】
図示するように、コンピューティングデバイス１２５０は、多くの別々の形態で実現されてよい。例えば、それは、移動電話１２８０として実現されてよい。それはまた、多機能電話１２８２、パーソナル携帯情報機器、または他の同様のモバイル機器の一部として実現されてよい。
【０１０３】
本明細書に記載されたシステムおよび技術のさまざまな実施は、デジタル電子回路網、集積回路網、特定用途に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせにおいて実現されてよい。これらのさまざまな実施は、記憶システムからデータおよび命令を受信し、かつ記憶システムへデータおよび命令を送信する（特定用途または汎用であってよい）少なくとも１つのプログラマブル処理装置、少なくとも１つの入力デバイス、ならびに少なくとも１つの出力デバイスを含むプログラマブルシステム上で実行可能および／または解釈可能である１つ以上のコンピュータプログラムにおける実施を含んでよい。
【０１０４】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる）は、プログラマブル処理装置に対する機械命令を含み、ハイレベルの手続き型言語および／またはオブジェクト指向のプログラミング言語、ならびに／またはアセンブリ言語／機械言語において実施されてよい。本明細書において用いられるように、用語「機械可読媒体」、「コンピュータ可読媒体」とは、機械可読信号としての機械命令を受信する機械可読媒体を含む、機械命令および／またはデータをプログラマブル処理装置に提供するために用いられる任意のコンピュータプログラム製品、装置および／またはデバイス（例えば、磁気ディスク、光学ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ）など）のことをいう。用語「機械可読信号」とは、機械命令および／またはデータをプログラマブル処理装置に提供するために用いられる任意の信号のことをいう。
【０１０５】
ユーザとの相互遣り取りを提供するために、本明細書に記載されたシステムおよび技術は、情報をユーザに表示するためのディスプレイ装置（例えばＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ）、ならびに、ユーザが入力をコンピュータに提供し得るキーボードおよびポインティングデバイス（例えばマウスまたはトラックボール）を有するコンピュータ上で実施されてよい。他の種類のデバイスは、ユーザとの相互遣り取りを提供するために用いられてよく、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚によるフィードバック（例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、ならびにユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態において受信されてよい。
【０１０６】
本明細書に記載のシステムおよび技術は、バックエンドコンポーネント（例えばデータサーバとして）を含むか、またはミドルウェアコンポーネント（例えばアプリケーションサーバ）を含むか、あるいは、フロントエンドコンポーネント（例えば、ユーザが本明細書に記載のシステムおよび技術の実施と相互に遣り取りをし得るグラフィックユーザーインターフェースまたはウェーブブラウザを有するクライアントコンピュータ）、はたまた、そのようなバックエンド、ミドルウェア、フロントエンドコンポーネントの任意の組み合わせを含むコンピュータシステムにおいて実施されてよい。システムのコンポーネントは、デジタルデータ通信（例えば通信ネットワーク）の任意の形態または媒体によって相互接続されてよい。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、およびインターネットを含む。
【０１０７】
コンピュータシステムは、クライアントおよびサーバを含んでよい。クライアントおよびサーバは、一般に、互いに遠隔にあり、通常は、通信ネットワークを通じて遣り取りする。クライアントおよびサーバの関係は、個々のコンピュータ上で走り、互いにクライアント−サーバの関係を有するコンピュータプログラムにより、生じる。
【０１０８】
複数の実施が記載されている。しかしながら、さまざまな修正が、本開示の趣旨および範囲から逸脱することなくなされてよいことは理解される。したがって、他の実施もまた以下の特許請求の範囲の範囲内にある。
【図４】
0005432260.tif 000002
【図５】
0005432260.tif 000003
【図６】
0005432260.tif 000004
【図７】
0005432260.tif 000005
【図８】
0005432260.tif 000006
【図１２】
0005432260.tif 000007
【図１Ａ】
0005432260.tif 000008
【図１Ｂ】
0005432260.tif 000009
【図２】
0005432260.tif 000010
【図３】
0005432260.tif 000011
【図９】
0005432260.tif 000012
【図１０】
0005432260.tif 000013
【図１１】
0005432260.tif 000014