(57)【特許請求の範囲】
【請求項１】
デバイスに取り付けられた３軸加速度計からの第１、第２、および第３の軸出力に基づいて前記デバイス上のタップ入力を検出する方法であって、
前記デバイスの運動によりもたらされる前記加速度計の前記第１、第２、および第３の軸出力によって生成される加速度信号を検出するステップと、
前記出力のそれぞれに関して、時間の関数としてそれぞれの加速度信号の微分を計算するステップと、
前記運動から生じる、前記加速度計のそれぞれの軸に沿った前記加速度微分の絶対値の総和を計算し、前記絶対値の前記総和が、所定の時間量の間に閾値を上回るとき、前記運動がタップ入力であると特定することによって、前記デバイスの前記運動が、前記デバイスのハウジング上のタップ入力によってもたらされたかどうかを特定するステップと、
前記加速度計のどの軸が、最大量を有する加速度微分を生成したのかを特定することによって前記タップの軸を特定するステップと、
最大量を有する加速度微分の符号を特定することによって前記タップの方向を特定するステップと、
前記デバイスの動作を制御する入力コマンドを生成するために、前記特定されたタップ軸および方向を使用するステップとを含む、方法。
【請求項２】
前記デバイスの運動が、ダブルタップによってもたらされたかどうかを特定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
１２個の異なる入力コマンド、すなわち前記３軸のそれぞれに関して４つが生成され、前記４つのうちの２つは、前記タップの特定された方向に基づいており、前記４つのうちの２つは、シングルタップまたはダブルタップが検出されたかどうかに基づいて特定される、請求項２に記載の方法。
【請求項４】
前記デバイスの運動がダブルタップによってもたらされたかどうかを特定する前記ステップは、前記運動から生じる、前記加速度計のそれぞれの軸に沿った前記加速度微分の前記絶対値の前記総和が、第１の所定の時間量の間に閾値を上回り、前記閾値未満まで降下し、次に、前記値が前記閾値未満まで降下した後に第３の所定の時間量内に開始する第２の所定の時間量の間に前記閾値を上回るとき、前記運動がダブルタップ入力であることを特定するステップを含む、請求項２に記載の方法。
【請求項５】
１２個の異なる入力コマンド、すなわち前記３軸のそれぞれに関して４つが生成され、前記４つのうちの２つは、前記タップの特定された方向に基づいており、前記４つのうちの２つは、シングルタップまたはダブルタップが検出されたかどうかに基づいて特定される、請求項４に記載の方法。
【請求項６】
前記加速度計は、前記デバイス内の中心に配置される、請求項１に記載の方法。
【請求項７】
前記デバイスは、携帯電話またはＭＰ３プレーヤなどの移動デバイスである、請求項１に記載の方法。
【請求項８】
移動電子デバイスにボタン無し入力コマンドを提供するシステムであって、
前記デバイスに取り付けられた３軸加速度計と、
前記加速度計の３つの出力部、および前記デバイスの動作を制御するデバイスプロセッサにインターフェース接続する加速度計出力プロセッサであって、前記加速度計プロセッサは、
前記デバイスの運動によりもたらされる前記加速度計の前記第１、第２、および第３の出力によって生成される加速度信号を検出するステップ、
前記出力のそれぞれに関して、時間の関数としてそれぞれの加速度信号の微分を計算するステップ、
前記運動から生じる、前記加速度計のそれぞれの軸に沿った前記加速度微分の絶対値の総和を計算し、前記絶対値の前記総和が、所定の時間量の間に閾値を上回るとき、前記運動がタップ入力であると特定することによって、前記デバイスの前記運動が、前記デバイスのハウジング上のタップ入力によってもたらされたかどうかを特定するステップ、
前記加速度計のどの軸が、最大量を有する加速度微分を生成したのかを特定することによって前記タップの軸を特定するステップ、
最大量を有する加速度微分の符号を特定することによって前記タップの方向を特定するステップ、ならびに
前記タップの軸および方向に関する情報のために前記デバイスプロセッサと通信するステップであって、その結果、前記デバイスプロセッサが前記情報を入力コマンドとして使用することができる、ステップ
を実行するアルゴリズムによってプログラムされる、加速度計プロセッサとを含む、移動電子デバイスにボタン無し入力コマンドを提供するシステム。
【請求項９】
前記アルゴリズムは、前記デバイスの運動が、ダブルタップによってもたらされたかどうかを特定するステップをさらに含む、請求項８に記載のシステム。
【請求項１０】
１２個の異なる入力コマンド、すなわち前記３軸のそれぞれに関して４つが生成され、前記４つのうちの２つは、前記タップの特定された方向に基づいており、前記４つのうちの２つは、シングルタップまたはダブルタップが検出されたかどうかに基づいて特定される、請求項９に記載のシステム。
【請求項１１】
前記デバイスの運動がダブルタップによってもたらされたかどうかを特定する前記ステップは、前記運動から生じる、前記加速度計のそれぞれの軸に沿った前記加速度微分の前記絶対値の前記総和が、第１の所定の時間量の間に閾値を上回り、前記閾値未満まで降下し、次に、前記値が前記閾値未満まで降下した後に第３の所定の時間量内に開始する第２の所定の時間量の間に前記閾値を上回るとき、前記運動がダブルタップ入力であることを特定するステップを含む、請求項９に記載のシステム。
【請求項１２】
１２個の異なる入力コマンド、すなわち前記３軸のそれぞれに関して４つが生成され、前記４つのうちの２つは、前記タップの特定された方向に基づいており、前記４つのうちの２つは、シングルタップまたはダブルタップが検出されたかどうかに基づいて特定される、請求項１１に記載のシステム。
【請求項１３】
前記加速度計は、前記デバイス内の中心に配置される、請求項８に記載のシステム。
【請求項１４】
前記デバイスは、携帯電話またはＭＰ３プレーヤなどの移動デバイスである、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、概略的には、タップ方向検出アルゴリズムおよび３軸加速度計が、携帯電話およびＭＰ３プレーヤのような小型移動デバイスに利用可能な固有のボタン無し入力の数を増加させる、システムおよび方法に関する。アルゴリズムは、方向（Ｘ＋、Ｘ−、Ｙ＋、Ｙ−、Ｚ＋、Ｚ−）およびタップの数（シングルまたはダブル）を検出し、１２個の固有の入力を得るために、単一の加速度計からの加速度データを分析する。
【背景技術】
【０００２】
[0002]最近、移動デバイスは、携帯性のために、より小さくなっている。サイズの縮小は、入力デバイス（ボタンおよびキーパッドなど）に利用可能なスペースを制限する。多くの研究者は、従来の入力デバイスを除去するためにジェスチャ認識を研究している。ある環境において、単純な運動が、より効果的な入力である可能性がある。ＭＥＭＳ（微小電気機械システム）技術の出現が、物体の運動を検出することができる加速度計のサイズを著しく縮小した。タップは、極めて単純な運動である。それは、直感的で、学ぶ必要がない。その表面上のいずれかの場所におけるデバイスのタップが、デバイスを制御するのに使用することができれば、それは固有の入力方法となるであろう。
【０００３】
[0003]通常、基本的なタップ検出は、２つの異なる入力コマンドを準備する。これらは、しばしば、タップおよびダブルタップと呼ばれる。しかし、上述の小型移動デバイスにおいてタップコマンドの重複度がわかる必要性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]本発明は、シングルタップとダブルタップとの間の区別だけでなく、（１つまたは複数の）タップの方向に基づく区別も可能にする、３軸加速度計と組み合わせられたタップ検出アルゴリズムの使用によって上述の必要性に対処する。タップの加速度記録の詳細な分析は、物体のどの表面すなわち側面がタップされたか（タップの方向）を特定することを可能にする。方向情報を含むことは、入手可能な起こり得る入力コマンドの数を増加させ、１２個、すなわち６倍に改善する。
【課題を解決するための手段】
【０００５】
[0005]本発明のシステムおよび方法は、携帯電話およびＭＰ３プレーヤのような小型移動電子デバイス用のボタン無し入力を生成するのに特に有効である。検出されるタップの数および方向によって、様々な入力コマンドを生成することができる。例えば、メニューをスクロールアップおよびダウンすることができ、またはメニュー内の項目を選択することができる。タップによってもたらされる加速度が、移動デバイスの内部に伝えられるので、これら１２個の固有の入力を検出するのに必要な単一のセンサは、移動デバイスの外側上の表面領域を必要としない。
【０００６】
[0006]タップが検出されると、加速度データの詳細な分析によって、タップ方向の特定が達成される。シングルタップは、人体の一部またはタッチペンによって、特定のデバイスを一度叩くことである。ダブルタップは、立て続けの２つのシングルタップである。
【０００７】
[0007]加速度計は、デバイスがタップされたとき、衝撃が加速度計に適切に伝えられるようにデバイス内に配置される。デバイスは、その表面のいずれかをタップすることができるので、加速度計の最適な位置は、デバイスの中心である。３軸加速度計を使用すれば、１２組のタップ入力イベントを提供するために、デバイスのそれぞれの面をタップすることができる。
【０００８】
[0008]タップが起こると、タップの衝撃は、デバイスの本体を通って加速度計に伝えられる。ピークは、０．００５秒内に最大値まで上昇し、若干緩やかに反跳する。どの方向がタップされても、最大加速度は、０．５ｇに達する。総加速度は、加速度量、
【０００９】
【数１】
0005642767.tif 000002
【００１０】
を意味し、ここで、Ａｘ：Ｘ軸加速度、Ａｙ：Ｙ軸加速度、および、Ａｚ：Ｚ軸加速度である。
【００１１】
[0009]時々、反跳が、元のピークの半分を上回る可能性があり、他の軸との相関を見ることができる。デバイスが、特定の方向にタップされるとき、他の軸が応答する。したがって、タップが起こったかどうかを知るために、すべての軸が、観察されるべきである。
【００１２】
[0010]ダブルタップは、同じ点を２回連続して立て続けに叩くことを意味する。第２のタップは、０．５秒未満で第１のタップに続く。それぞれの別個のタップは、シングルタップとの加速度差を全く示さない。２つのタップのタイミングは、コマンドがダブルタップであったのか、それとも２つの別個のシングルタップであったのかを特定する。
【００１３】
[0011]アルゴリズムの重要な特徴は、性能指数（ＰＩ）とよばれ、それはタップイベントの特徴的な記録を提供するのに使用される。ＰＩは、デバイスの側面すなわち表面をタップするユーザによって誘導することができるデバイスの運動から生じる、それぞれの軸のジャーク量の絶対値の総和である。ジャークは、加速度の時間に関する微分（すなわち加速度の変化）である。通常、ジャークプロファイルは、極めて高速な振動する運動に関する情報を与える。絶対値は、すべての軸における動特性を総和するのに使用される。タップの性能指数は、背景ノイズのレベルを明確に上回る。したがって、その際、閾値技法が、起こり得るタップイベントをノイズから区別するために性能指数に適用される。それに加えて、ＰＩが閾値を上回る時間の長さ、および高ＰＩの２つの発生間（または第２のＰＩピークの欠如）のタイミングが、シングルタップとダブルタップとを区別するのに使用される。
【００１４】
[0012]タップまたはダブルタップが特定されると、追加の精査が、タップイベントの方向を提供する。第１に、タップの開始時に、性能指数の最大の成分となる軸（どの軸が最大のジャークを有するのか）が、特定される。最大のジャークを有する軸は、タップが加えられるデバイス軸と一致する。最後に、軸が特定された後、タップ軸上のジャークの符号が、タップ方向情報を提供するのに使用される。ピークが負になると、タップは、正の方向にあり、そうでなければ、負の方向にある。
【００１５】
[0013]上述の方法で、本発明は、１２個の異なるタップコマンドを検出することができる装置および方法を提供する。性能指数およびタイミングの閾値処理の検討は、タップを特定し、２つの異なるコマンドを提供するシングルタップまたはダブルタップを区別する。最初の性能指数の最大成分は、異なるコマンドの数を３倍に増加させるタップ軸を提供する。最後に、そのタップ軸に関するジャークの最初の符号は、利用可能なコマンドが２つ増加する追加因子を与えるタップ方向を提供する。
【００１６】
[0014]好ましい実施形態において、上述の方法を実施するのに、ＭＥＭＳタイプ３軸加速度計チップが、被制御デバイス内に配置されるのが好ましい。加速度計チップは、上述のタップ検出アルゴリズムを実行し、デバイスのホストプロセッサに対する入力コマンドと同様に使用される１２個の出力を生成する、それ自体の専用プロセッサを含むのが好ましい。あるいは、ホストプロセッサは、加速度計から３つの入力を受け取り、タップ検出アルゴリズムを実行するために、それ自体をプログラムすることができる。
【００１７】
[0015]本発明の上述および他の特徴ならびに利点は、以下に簡単に説明される添付の図面と併せて行われる、その好ましい実施形態の以下の詳細な説明より明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１】デバイスの異なる表面すなわち側面上のタップを検出する、その中に配置される加速度計チップを有するデバイスの概略図である。
【図２】本発明によって検出することができる１２個の起こり得るタップ入力を示す、図１のデバイスの概略図である。
【図３】時間の関数としての性能指数（ＰＩ）の量を示すグラフであり、ＰＩは、タップによってデバイスのそれぞれの軸に沿って与えられる、時間の関数としてのジャーク（加速度の微分）の絶対値を総和することによって計算される。
【図４】デバイス上のシングルタップに関する、時間の関数としてのＰＩを示すグラフである。
【図５】デバイス上のダブルタップに関する、時間の関数としてのＰＩを示すグラフである。
【図６】デバイスのＸ軸に沿ったシングルタップに応答する加速度計のそれぞれの軸に関する、時間の関数としてのジャーク（加速度微分）量を示すグラフである。
【図７Ａ】デバイス上のシングルタップおよびダブルタップを検出するために、本発明の方法に使用されるアルゴリズムによって実行される概略ステップのブロック図である。
【図７Ｂ】図７Ａのアルゴリズムによって実行される詳細なステップのブロック図である。
【図８】本発明の好ましい実施形態に使用される加速度計チップのブロック図である。
【発明を実施するための形態】
【００１９】
[0025]ここで、本発明の好ましい実施形態のより詳細な説明が提供される。最初に、タップを確認するプロセスが説明される。シングルタップは、人体の一部またはタッチペンによって、特定のデバイスを一度叩くことである。ダブルタップは、立て続けの２つのシングルタップによって形成される。
【００２０】
[0026]図１に示されるように、３軸（Ｘ，Ｙ，Ｚ）ＭＥＭＳタイプ加速度計１０は、デバイス１２のハウジング１３がその６つの側面すなわち表面１４のいずれかをタップされるとき、衝撃が加速度計１０に適切に伝えられるように、被制御デバイス１２内に取り付けられるのが好ましい。デバイス１２は、それに入力されるコマンドを必要とする、いずれかのタイプの被制御電子デバイスとすることができるが、本発明は、携帯電話、ＭＰ３プレーヤなどの小型移動デバイスとともに使用するのに特に適しており、コマンドボタンの提供は、本質的にデバイスのサイズによって制限される。
【００２１】
[0027]デバイス１２は、その６つの側面１４のいずれかをタップすることができるので、加速度計１０の最適な位置は、デバイス１２の中心であり、加速度計の３軸センサは、それぞれが６つの側面１４の対応する対に平行になるように配置される。図２は、タップ入力イベントの１２個の組合せを提供するのに、シングルタップおよびダブルタップで、デバイス１２のそれぞれの側面１４をどのようにタップすることができるかを示す。
【００２２】
[0028]タップが起こると、衝撃は、デバイス１２の本体すなわちハウジング１３を通って加速度計１０に伝えられる。好ましい実施形態における試験で、ピークは、０．００５秒内に最大値まで上昇し、若干緩やかに反跳する。どの方向がタップされても、最大加速度は、０．５ｇに達する。総加速度は、次式によって求められる加速度の量を意味する。
【００２３】
[0029]
【００２４】
【数２】
0005642767.tif 000003
【００２５】
[0030]式１において、Ａｘ＝Ｘ軸加速度、Ａｙ＝Ｙ軸加速度、および、Ａｚ＝Ｚ軸加速度である。
【００２６】
[0031]反跳が、元のピークの半分を上回る可能性があり、他の軸との相関を見ることができる。デバイス１２が、特定の方向にタップされるとき、他の軸が応答する。タップが起こったかどうかを知るために、すべての軸が、観察されるべきである。
【００２７】
[0032]ダブルタップは、同じ点を２回連続して立て続けに叩くことを意味する。第２のタップは、０．５秒未満で第１のタップに続く。それぞれの別個のタップは、シングルタップとの加速度差を全く示さない。２つのタップのタイミングは、コマンドがダブルタップであったのか、それとも２つの別個のシングルタップであったのかを特定する。
【００２８】
[0033]好ましい実施形態において、性能指数（ＰＩ）と呼ばれる計算値が、タップイベントの特徴的な記録を提供するために使用される。ＰＩは、それぞれの軸のジャークの絶対値の総和である。ジャークは、加速度の時間に関する微分（すなわち加速度の変化）である。通常、ジャークプロファイルは、極めて高速な振動する運動に関する情報を与える。性能指数は、以下の式で表される。
【００２９】
[0034]
【００３０】
【数３】
0005642767.tif 000004
【００３１】
[0035]絶対値は、すべての軸における動特性を総和するのに使用される。タップの性能指数は、背景ノイズのレベルを明確に上回る。したがって、閾値技法が、起こり得るタップイベントをノイズから区別するためにＰＩに適用される。上述のジャークの総和が、タップ検出下限を上回るがタップ検出上限未満である、ある時間周期の間の性能指数下側閾値を上回るとき、タップイベントが検出される。図３は、性能指数基準を満たすシングルタップイベントの例を示す。図３において、性能指数は、いくつかの時間的に離間したサンプルに関して、性能指数下側閾値（ＴＤＴ＿Ｌ＿ＴＨＲＥＳＨ）を上回るが、ＴＤＴ＿ＦＩＲＳＴ＿ＴＩＭＥＲに含まれるタップ検出上限未満である。
【００３２】
[0036]さらに、ＰＩが閾値を上回る時間の長さ、および高ＰＩの２つの発生間（または第２のＰＩピークの欠如）のタイミングが、シングルタップとダブルタップとを区別する。好ましい実施形態において、待ち時間タイマは、タップイベントがシングルタップとしてのみ特徴づけられる時間周期を設定する。第２のタップは、待ち時間タイマの外側で起こる必要がある。第２のタップが待ち時間時間の内側で起こると、それが極めて高速で起こったものとして無視される。シングルタップは、ウィンドウタイマの終端で報告される。図４は、ＰＩ、待ち時間、およびウィンドウの要求条件を満たすシングルタップイベントを示す。待ち時間タイマは、ＴＤＴ＿ＬＡＴＥＮＣＹ＿ＴＩＭＥＲと呼ばれるが、ウィンドウタイマは、ＴＤＴ＿ＷＩＮＤＯＷ＿ＴＩＭＥＲと呼ばれる。
【００３３】
[0037]第２のタップが、ＴＤＴ＿ＴＩＭＥＲと呼ばれる別のタイマの外側で性能指数下側閾値と交差する場合に限り、イベントをダブルタップとして特徴づけることができる。これは、ＴＤＴ＿ＴＩＭＥＲが２重タップイベントの２つのタップ間に存在する必要がある最小分離時間を決定することを意味する。シングルタップと異なり、第２のタップイベントは、ウィンドウタイマに含まれる制限時間の間に性能指数閾値を上回る必要がある。ダブルタップは、第２の待ち時間タイマの終端で報告される。図５は、ＰＩ、待ち時間、およびウィンドウの要求条件を満たすダブルタップイベントを示す。図５において、第２のタップは、ＴＤＴ＿ＴＩＭＥＲの外側で性能指数下側閾値（ＴＤＴ＿Ｌ＿ＴＨＲＥＳＨＯＬＤ）と交差する。それに加えて、第２のタップイベントは、ＴＤＴ＿ＴＡＰ＿ＴＩＭＥＲに含まれる時間制限の間にＴＤＴ＿Ｌ＿ＴＨＲＥＳＨＯＬＤを上回る。次に、ダブルタップは、第２のＴＤＴ＿ＬＡＴＥＮＣＹ＿ＴＩＭＥＲの終端で報告される。
【００３４】
[0038]タップまたはダブルタップが特定されると、追加の精査が、タップイベントの方向を提供する。第１に、タップの開始時に、どの軸が性能指数の最大の成分を提供するのか（どの軸が最大のジャークを有するのか）の特定が行われる。最大のジャークを有する軸は、タップが加えられる軸と一致する。一例として、デバイスがＸ＋およびＸ−方向にタップされるとき、Ｘ軸が、最も応答する軸であり、したがって、ＹおよびＺ軸のジャーク量と比べて最大のジャーク量を有する。
【００３５】
[0039]タップが検出され、軸が特定されると、そのタップ軸におけるジャークの符号が、方向情報を提供するのに使用される。ピークが負になると、タップは、正の方向にあり、そうでなければ、負の方向にある。図６のグラフは、シングルタップに応答する、それぞれの軸におけるジャーク量の拡大図を示す。Ｘ軸は、明らかに性能指数に最大の成分をもたらし、タップがＸ軸上にあることを示す。最初のジャークは負の方向にあり、それは、デバイスの正のＸ表面上のタップを示す。
【００３６】
[0040]性能指数およびタイミングの閾値処理の検討は、タップを特定し、２つの異なるコマンドを提供するシングルタップまたはダブルタップを区別する。最初の性能指数の最大成分は、異なるコマンドの数を３倍に増加させるタップ軸を提供する。最後に、そのタップ軸に関するジャークの最初の符号は、利用可能なコマンドが２つ増加する追加因子を与えるタップ方向を提供する。
【００３７】
[0041]したがって、本発明の好ましい実施形態において実行されるアルゴリズムは、図７Ａのフローチャートのステップに従う。加速度データに基づく４つの主要な機能が示される。ステップ１００において、加速度データが、加速度計から得られた後、第１の機能は、ステップ１０２において性能指数を計算することである。第２の機能は、ステップ１０４においてシングルタップまたはダブルタップイベントを特定することである。第３の機能は、ステップ１０６において、性能指数の最大の成分に基づいてタップが起こった軸を特定することである。最後に、ステップ１０８において、タップの方向の符号が、最初のジャークの符号に基づいて決定される。
【００３８】
[0042]図７Ｂは、図７Ａの上述のステップが本発明の好ましい実施形態において、どのように行われるかの詳細を示す詳細なフローチャートである。図７Ｂにおいて、以下のパラメータ値が使用される。
Ａｘ、Ａｙ、Ａｚ：現在の加速度読取値、
ｐＡｘ、ｐＡｙ、ｐＡｚ：前の加速度読取値、
ｄＡｘ、ｄＡｙ、ｄＡｚ：現在および前の加速度読取値（ジャーク）間の差、
ｘ、ｙ、ｚ：ｄＡｘ、ｄＡｙ、ｄＡｚと同じ（記号を簡略化するために使用される）、
ｄｔ：性能指数、
ｘ０、ｙ０、ｚ０：閾値を上回る最初のジャークに関する情報（方向特定のために使用される）、
ａｘ０、ａｙ０、ａｚ０：閾値を上回る最初のジャークに関する情報（軸特定のために使用される）、
ｊ：性能指数が閾値を上回る時間に関するタイミングカウンタ、
ｍ：性能指数が閾値未満になる時間に関するタイミングカウンタ、
Ｌ：第１のタップイベントの開始からの合計時間カウンタ、
ＤＴ：２重タップ時間ウィンドウ。
【００３９】
[0043]特に、図７Ｂのフローチャートを参照すれば、開始時に、ステップ２００の第１のグループが、加速度計から受け取った第１の加速度データを前の加速度データに入れるために実行される。次に、ステップ２０２が、超過条件に関するタイマ値ｊをチェックするために実行される。これが検出されると、タイマ値は０にリセットされる。次に、ステップ２０４において、現在および前の加速度値間の差が、計算される。これらの差値は、３軸、Ｘ、Ｙ、およびＺのそれぞれに沿って検出されるジャーク（加速度微分）の量である。次に、ステップ２０６において、前の加速度読取値を現在の読取値に設定することによって、加速度読取値が更新される。
【００４０】
[0044]ステップ２０８においてジャーク値が更新された後、次に、ステップ２１０において、上述の式２を使用してＰＩが計算される。次に、ステップ２１２において、ＰＩが、下側および上側閾値と比較される。ＰＩが２つの閾値間にあり、タイマ値ｊ＝０ならば、これは、シングルタップまたはダブルタップイベントに応答して存在することができる、閾値を上回る第１のジャークの表示である。ステップ２１４のグループは、実際にシングルタップまたはダブルタップが検出されるとき、後の軸および方向特定に関する加速度情報を格納するために実行される。さらに、次に、様々なタイミングカウンタが更新され、ステップ２１６において、プロセスは、最初（ステップ２００）に戻り、次の加速度データサンプルが、同じ分析のために検索される。
【００４１】
[0045]ある時点で、タップが実際に起こったとき、ＰＩ値は、下側閾値未満まで降下する。ステップ２１８において、ｍおよびｊタイマ値の和が１を上回るときに、これが起こると、ステップ２２０においてタイマ値が更新される。次に、シングルタップまたはダブルタップが起こったかどうかを特定するために、連続するタイマ分析ステップ２２２が実行される。ｍが４０を上回らないか、またはＤＴがｍを上回らないとき、シングルタップが検出されたかどうかを特定するために、分析が実行される。これは、ＰＩが２から２０の間のタイミングカウントの間に下側閾値を上回り、２重タップタイミングウィンドウ値が１６０に達したとき、そのように特定され、それは、第２のタップが起こらなかったことを確定する。ＰＩが、少なくともｍ＞４０のタイマカウントの間に閾値未満であり、２重タップ時間ウィンドウＤＴが、ｍを上回り、ＰＩが、タイマ値ｊ＞ｍの間に下側閾値を上回り、第１のタップイベントの開始からの合計時間カウンタＬが、１２０を上回るとき、ダブルタップが起こった。
【００４２】
[0046]シングルタップまたはダブルタップのいずれかが検出されると、次に、アルゴリズムは、タップが起こった３軸Ｘ、Ｙ、およびＺの１つと軸に沿った方向とを特定する、一連の方向特定ステップ２２４を実行する。これは、ステップ２２６において、３軸に沿った加速度値の量を比較し、タップの軸を最大の加速度量を有する軸とすることによって、簡単に特定される。最後に、ステップ２２８の間に、検出加速度が正（＞０）または負（＜０）のいずれであったかを特定することによって、タップの方向が検出される。次に、ステップ２３０において、分析が完了し、様々なタイマおよび他の値がリセットされ、ステップ２００において、プロセスがまた再開する。
【００４３】
[0047]図８は、本発明の好ましい実施形態によって構成される、３軸加速度計チップ３００の詳細を示すブロック図である。図７Ｂのアルゴリズムを実施するロジックが、加速度計プロセッサ（好ましい実施形態ではＩ２Ｃデジタルエンジン）３０２内に含まれる。プロセッサ３０２のタップ検出機能は、シングルタップおよびダブルタップ入力を認識し、それぞれのタップが起こった加速度軸および方向を報告する。上述の８つの評価パラメータ、およびユーザ選択可能なＯＤＲが、所望のタップ検出応答に関してプロセッサ３０２を設定するのに使用される。
【００４４】
[0048]加速度計プロセッサ３０２は、Ｘ、Ｙ、およびＺ軸重力センサ３０４、３０６、および３０８からの入力をそれぞれ受け取る。センサ３０４、３０６、および３０８のそれぞれは、アナログ出力信号を生成し、アナログ出力信号は、プロセッサ３０２に入力される前にチャージアンプ３１０、Ａ／Ｄコンバータ３１２、およびデジタルフィルタ３１４を通過することによって調整される。プロセッサ３０２が、タップなどの加速度イベントを示す信号を受け取ると、プロセッサ３０２のピン割込み（ＩＮＴ）３１６の信号が高になる。その割込みが、ホストプロセッサ（デバイスプロセッサ）３１８によって認識されると、ホストプロセッサ３１８は、タップイベントに関する情報を得るために、加速度計プロセッサ３０２内の割込状態レジスタを（Ｉ２Ｃ通信を介して）読み取る。
【００４５】
[0049]加速度計プロセッサ３０２内の状態レジスタは、以下のものを含む。機能状態が変化することを報告する、２つの割込源レジスタが存在する。新しい状態変化またはイベントが起こり、割込解放レジスタが読み取られるまでそれぞれの適用結果がラッチされるとき、このデータが更新される。ＩＮＴ＿ＳＲＣ＿ＲＥＧ１と呼ばれる第１のレジスタは、表１を通じて、どの軸および方向がシングルタップまたはダブルタップイベントを検出したかを報告する。複数の軸がタップイベントを検知することができるので、一度に１より多いビットを設定することができることに留意されたい。
【００４６】
【表１】
0005642767.tif 000005
【００４７】
【表２】
0005642767.tif 000006
【００４８】
[0050]ＩＮＴ＿ＳＲＣ＿ＲＥＧ２として認識される第２のレジスタは、どの機能が割込みの原因となったかを報告する。割込解放レジスタからの読取りは、このレジスタの全内容を消去することができる。
【００４９】
【表３】
0005642767.tif 000007
【００５０】
[0051]ＤＲＤＹは、新しい加速度データが入手可能であることを示す。このビットは、ＤＲＤＹ＝０のとき、新しい加速度データが入手不可能となり、ＤＲＤＹ＝１のとき、新しい加速度データが入手可能となるように、加速度データが読み取られるか、または割込解放レジスタが読み取られるとき消去される。ＴＤＴＳ１、ＴＤＴＳ０は、タップ、ダブルタップイベントが表２を通じて検出されたかどうかを反映する。
【００５１】
【表４】
0005642767.tif 000008
【００５２】
[0052]ＴＰＳは、傾斜位置機能の状態を反映する。ＴＰＳ＝０は、傾斜位置状態が変化しなかったことを示すが、ＴＰＳ＝１は、傾斜位置状態が変化したことを示す。
【００５３】
[0053]ＳＴＡＴＵＳ＿ＲＥＧとして認識されるレジスタは、割込みの状態を報告する。
【００５４】
【表５】
0005642767.tif 000009
【００５５】
ＩＮＴは、すべての使用可能な機能の割込情報の組合せを報告する。このビットは、割込源ラッチレジスタ（１Ａｈ）が読み取られるとき、０に解放される。ＩＮＴ＝０は、割込イベントがないことを示すが、ＩＮＴ＝１は、割込イベントが起こったことを示す。
【００５６】
[0054]レジスタＩＮＴ＿ＲＥＬは、割込みを解放するために使用される。具体的には、ラッチされた割込源情報（ＩＮＴ＿ＳＲＣ＿ＲＥＧ１およびＩＮＴ＿ＳＲＣ＿ＲＥＧ２）、状態レジスタ、および物理的ピン割込（７）は、このレジスタを読み取るときに消去される。
【００５７】
【表６】
0005642767.tif 000010
【００５８】
[0055]本発明は、好ましい実施形態およびその変形形態に関して開示されてきたが、以下の特許請求の範囲に記載される本発明の範囲から逸脱することなく、そのいくつかの追加の変更および変形を行うことができることが理解されよう。例えば、好ましい実施形態は、タップ検出アルゴリズムを実行する、それ自体の専用プロセッサを含む加速度計チップを使用するが、被制御デバイスのホストプロセッサは、加速度計から３つの入力を受け取り、タップ検出アルゴリズムを実行するために、それ自体をプログラムすることができる。
【図１】
0005642767.tif 000011
【図２】
0005642767.tif 000012
【図３】
0005642767.tif 000013
【図４】
0005642767.tif 000014
【図５】
0005642767.tif 000015
【図６】
0005642767.tif 000016
【図７Ａ】
0005642767.tif 000017
【図７Ｂ】
0005642767.tif 000018
【図８】
0005642767.tif 000019