説明

接触感知式入力装置からの入力の適応型解釈を行うシステム及び方法

【課題】接触感知式入力装置により与えられるパラメータに基づき、ユーザの意思を適応的に解釈するためのシステム及び方法を提供すること。
【解決手段】ある方法では、プロセッサが、タッチパッドのような入力装置から圧力を示す圧力信号を受け取り、擬似圧力と圧力閾値とを比較し、擬似圧力が圧力閾値よりも大きい場合に信号を出力する。別の実施形態では、プロセッサが、入力装置上を移動するコンダクタ、例えば、ユーザの指の移動速度を計算し、該速度を閾値と比較する。その結果、速度が閾値よりも大きい場合には、プロセッサは、押下の信号を発するのに充分に大きな圧力であっても、押下の意思はないものと判断する。入力装置により提供される種々のパラメータについては、ユーザの意思を正確に判定するために、デジタルフィルタ処理が行われる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、接触感知式入力装置からの入力の受信に関する。本発明は、特に、接触感知式入力装置から受信した入力の適応型解釈に関連する。
【背景技術】
【0002】
従来、コンピュータ、携帯電話及び他のプロセッサを備えた装置で実行されるプログラムに対して、位置及び制御データを提供するために、種々の入力装置が使用される。これらの入力装置には、マウス、トラックボール、タッチパッド、タッチスクリーン、タッチパネル、そして各種の他の装置がある。マウス及びトラックボールが、位置決めと他の制御動作を行うための明確な制御要素を備えているのに対して、タッチパッドは位置決めと制御とを組み合わせている。
【0003】
例えば、通常のマウスは、その位置の変化を測定するためにボール式又は光学式センサを有する。また、制御機能、例えば画面上での図式的な表現を選択する機能を実行するために、マウスは1つ以上のボタンを有する。これらのシステムにおいて、位置を変更し又は制御入力を与えようとするユーザの意思は、システムにとって明らかである。
【0004】
これに対して、通常のタッチパッドでは位置と制御の機能が組み合わされており、制御入力を提供するために位置を変更するユーザの意思が隠されることがしばしばである。ユーザはカーソルを別の位置に移すために、指をタッチパッドに沿って動かす。また、ユーザはマウスボタンの機能、つまり、ドラッグ、クリック及びダブルクリックをまねるための操作を指で行う。いずれの場合も、ユーザの指はタッチパッドの表面に接触した状態とされる。タッチパッド上での位置の変化及びタッチパッドの表面に加えられる圧力の変化は、ユーザの意思を判断するために使用される。タッチパッドで対話するユーザが多様であり、実行される機能が多様であるために、タッチパッド上での操作に基づいてユーザの意思を判断することは難しい。ユーザが何を意図しているのかを判定するためのプログラムの能力に影響を与える要因には、ユーザ間での身体的な相違、タッチパッド使用時にユーザがその指を置く角度の相違、ユーザ間での圧力の相違、同一ユーザにおける圧力の変動、タッチパッド上で行為を意図すると同時になされるタッチパッドを横切る指の動きがある。特許文献1には、ユーザの操作を、ドラッグ操作として認識するための従来の方法の一例が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許第6,414,671号明細書(発明者:Gillespie他)
【発明の概要】
【発明が解決しようとする課題】
【0006】
このように、接触感知式入力装置により与えられるデータに基づいてユーザの意思を正確に決定するための方法及びシステムが必要とされる。
【課題を解決するための手段】
【0007】
本発明の実施形態は、接触感知式入力装置から受け取った入力の適応型解釈を行うシステム及び方法を提供するものであり、該入力装置からの圧力を示す信号を受け取り、擬似圧力信号を、適応的圧力閾値と比較し、そして、擬似圧力信号が適応的圧力閾値よりも大きい場合に信号を出力する。
【図面の簡単な説明】
【0008】
【図1】本発明の実施形態を実装するための装置環境を例示した図である。
【図2】本発明の一実施形態において、タッチパッド上での指の押下を検出するための処理、つまりアルゴリズムを示すフローチャート図である。
【図3】本発明の別の実施形態において、タッチパッド上での指の押下を検出するための処理を示すフローチャート図である。
【図4】本発明の実施形態に適用される、各種フィルタを示す一群のチャート図である。
【発明を実施するための形態】
【0009】
本発明の実施形態の詳細及び利点は以下に説明するとおりである。
【0010】
本発明の特長、態様及び利点については、添付図面を参照して下記の詳細な説明を読むことで、より良く理解される。
【0011】
尚、図面の参照において、数図に亘る同様の要素を同様の番号が示している。
【0012】
図1は、本実施形態を実施するための環境を例示したものである。図示した実施例は、通常タッチパッド102と称される接触感知式装置を含む。該タッチパッド102は、タッチパッド(102)の表面上での、指のようなコンダクタ(導く物や人)の位置を検出する。タッチパッド(102)はさらに、X及びYパラメータからなる位置情報のほか、Zパラメータによる圧力情報を、出力信号として提供することができる。
【0013】
通常のタッチパッドは、コンダクタの位置の測定及び提供において非常に正確である。例えば、従来のあるタッチパッドは、1000dpiを越える分解能を有する。しかしながら、従来のタッチパッドは、これに加えられる圧力の測定及び出力において正確性に劣る。尚、本発明の他の実施形態では、タッチパネルやタッチスクリーンのような、他の接触感知式入力装置を用いることができる。
【0014】
図示のタッチパッド102は、実際の圧力を検出しない。その代わりに、タッチパッド102から読み出される圧力は擬似圧力である。例えば、タッチパッドは、抵抗、静電容量又は膜スイッチを利用して動作する。図1に示すタッチパッド102は、静電容量を利用しているが、本発明の実施形態では、抵抗性スイッチ及び膜スイッチのタッチパッドを含む、あらゆる接触感知式入力装置とともに実装することができる。別の実施形態においては、実際の圧力を検出しても良い。例えば、ある実施形態において、紛れもない圧力センサを付設したタッチスクリーンが用いられる。
【0015】
静電容量に基づくタッチパッド102は、当業者には周知であり、それ故、ここではその機能についての基本的事項を記載するにとどめる。図1に示すタッチパッド102のような、静電容量式のタッチパッドは、2組の配線群を備えており、それらは互いに直交し、配線群の間にギャップが形成されるように構成されている。ユーザが、指のようなコンダクタをタッチパッド102上に置くと、直交する2組の配線が一緒になって静電容量を形成する。タッチパッド102は、コンダクタが該タッチパッド上でどこに接触しているかを調べるために、2組の配線群のそれぞれにおいて、どの線対が最大の静電容量をもつか測定し、この測定情報に基づいて、タッチパッド102上でのコンダクタの位置である、X座標及びY座標を提供する。
【0016】
タッチパッド102はまた、擬似圧力、Zを提供する。この擬似圧力とは、コンダクタがタッチパッド102に触れたことから生じる静電容量の大きさに基づくものである。したがって、静電容量の大きさは圧力を直接測定したものではなく、むしろ擬似圧力である。
【0017】
換言すれば、タッチパッド102により提供される擬似圧力、すなわちZパラメータは、タッチパッド102上の一点におけるコンダクタの、実際の垂直方向変位を示す測定値ではなく、静電容量変化の大きさに基づいた、垂直方向変位の推定量である。つまり、該擬似圧力は、実際にタッチパッド102に加えられた圧力の量を正確に表すものではない。例えば、タッチパッド102に用いるコンダクタ、例えば、ユーザの指の表面が大きいほど、加わった圧力量当たりの静電容量の変化は大きくなる。予想されるように、ユーザが指の肉厚部分でタッチパッド102を強く押せば、指で覆われるタッチパッド102の面積は、同じ位置を軽く押した場合よりも大きくなる。しかし、あまり知られてはいないが、指で覆われる面積、そしてこれに対応する擬似圧力はまた、ユーザが指の骨張った部分で強く押す場合よりも大きい。
【0018】
さらには、異なるコンダクタの特長上の相違、例えば、異なるユーザの指の寸法又は構造の相違は、与えられた如何なる圧力変化に対しても静電容量の変化に影響を及ぼす。例えば、指の大きい第1のユーザが、指の小さい第2のユーザと同じ圧力をかける場合において、タッチパッド102により出力される、第1のユーザに対する擬似圧力信号は、かける圧力の量が同じとされる第2のユーザに対する擬似圧力信号よりも大きい。
【0019】
タッチパッド102から提供されるデータを評価することによってユーザの意思を調べることの難しさは、コンダクタが用いられる各種の方法によって悪化する。例えば、タッチパッド102の表面に亘って加えられる圧力は、ユーザの指が手掌に関連して動くにつれて変化する。ユーザの指が手掌から離れて水平方向に広がっているときは、指が手掌から近いときに比べて、ユーザの指が、タッチパッド102のより広い領域を占める。同様に、タッチパッド102に対して垂直に保持されたポインティング・デバイスは、タッチパッド102に対して、ある角度で保持されたデバイスよりも狭い表面領域を占める。
【0020】
図1を参照すると、タッチパッド102は、X、Y、Zのパラメータ104をプロセッサ106に伝送する。該タッチパッド102は、本発明の各種実施形態において、数種類の座標情報を送信することができる。例えば、シナプティクスタッチパッド(Synaptics TouchPad:シナプティクス社の登録商標)は、相対座標、絶対座標のいずれも送信することができる。相対座標では、直前の座標情報が送信されているため、タッチパッド102上のコンダクタの移動情報を提供する。また、絶対座標では、その時点でのタッチパッド102上でのコンダクタの位置情報を提供する。本発明の一実施形態では、追加的なパラメータをも利用することができる。例えば、シナプティクスタッチパッド(登録商標)は「W」パラメータを提供するが、これは、タッチパッドとの接触の特性を、「偶発的」といった具合に報告する。本発明の実施形態では、ユーザの意思を正確に判定するために、このようなパラメータを使用することができる。
【0021】
再び図1を参照すると、プロセッサ106とタッチパッド102とは、直接又は間接に接続することができ、両者は有線式又は無線式の接続により繋ぐことができる。例えば、タッチパッド102は、プロセッサと通信する際、PS/2(Personal System/2)、シリアル、アップルデスクトップバス(ADB)、その他の通信プロトコルを利用できる。プロセッサ106は、コンピュータで読み取り可能な媒体に記録されたプログラムコードを実行することができる。図示のプロセッサは、タッチパッド102とは分離されているが、通常使用されるタッチパッドのあるものは、プロセッサを含んでおり、例えば、特定用途向け集積回路(ASIC)がある。ASICは、ユーザが操作しているかどうかを判定するため、タッチパッド102上での移動の処理を提供する。このような一体化したプロセッサを単独で使用しても良いし、また、本発明に従うプロセッサ106と組み合わせて使用しても構わない。
【0022】
プロセッサ106には、例えば、入力を処理し、アルゴリズムを遂行し、そして接触感知式入力装置から受信した入力に応じて必要な出力を生成することのできるデジタル論理プロセッサが含まれる。このようなプロセッサには、マイクロプロセッサ、上記ASIC及び状態マシンがある。また、このようなプロセッサは、媒体、例えばコンピュータで読み取り可能な媒体を備えるか又は該媒体と通信することができ、該媒体には、プロセッサ106により実行された場合に、後述するステップをプロセッサ106に実行させるプログラム命令が記録されている。
【0023】
コンピュータで読み取り可能な媒体の実施形態には、電子デバイス、光学式デバイス、磁気デバイス又は他のストレージデバイス又は伝送デバイスが含まれ、それらによって接触感知式入力装置と通信するプロセッサ106のようなプロセッサに、コンピュータで読み出し可能な命令を提供することが可能である。但し、媒体については上記の装置に限定されない。他の適切な媒体例としては、フレキシブルディスク、CD−ROM(Compact Disk Read Only Memory)、磁気ディスク、メモリチップ、ROM(Read Only Memory)、RAM(Random Access Memory)、ASIC、設定されたプロセッサ、全ての光学式媒体、全ての磁気テープ媒体又は他の磁気式媒体、又はコンピュータプロセッサが命令を読み出すことのできる他の媒体が挙げられる。また、コンピュータで読み取り可能な媒体の各種形態は、コンピュータに命令を伝送し又は運ぶものとされ、ルータ、私的又は公的のネットワーク、その他の伝送デバイスやチャンネル(有線及び無線)が含まれる。該命令は、あらゆるコンピュータプログラム言語、例えば、C、C#、ビジュアルベーシック、ジャバ及びジャバスクリプトのコードからなる。
【0024】
図1に示す実施形態は、各種の装置で実現することができる。そのような装置には、パーソナルコンピュータが含まれ、その多くは一体化されたタッチパッドを備える。このような装置にはまた、携帯型電子手帳、セルラー電話、携帯通信機器、MP3プレイヤー、GPS(Global Positioning System)レシーバーなどの、手持ち式デバイスが含まれる。
【0025】
本実施形態は、上述した装置に触覚効果(haptic effect)を実装するために利用することができる。このような実施形態では、触覚効果が、接触感知式入力装置と対話しているユーザによる、各種の動作に由来し、当該触覚効果は、プロセッサ106により決定されるところの、ユーザの意思に基づくものである。触覚効果はまた、接触感知式入力装置と情報のやりとりを行っている装置上で実行されるソフトウェアとの相互関係に起因する。
【0026】
本発明の実施形態は、タッチパッド102により供給されるX、Y、Zのパラメータに基づくユーザの意思を判定しようとする場合に直面する困難性に対処するものである。ユーザの意思を判定する例には、ユーザが、接触感知式入力装置における特定の部分をタッピングし又は押しているときの判定が含まれ、この特定の部分は、入力装置に表示されたコントロール又は別の同期したディスプレイ上に表示されたコントロールに対応する。
【0027】
本発明の実施形態は、接触感知式入力装置におけるユーザの意思を適応的に解釈するためのシステム及び方法を提供する。本発明の一実施形態において、プロセッサは、入力装置から圧力を示す圧力信号を受信し、該圧力信号を適応的圧力閾値と比較し、そして、圧力信号が適応的圧力閾値よりも大きい場合に信号を出力する。尚、圧力としては、擬似圧力でも良いし、また実際の圧力でも良い。さらには、圧力にフィルタ処理を施しても良い。
【0028】
本発明の実施形態ではまた、ユーザの意思を判定する際に、タッチパッド102上を横切るコンダクタの速度を用いることができる。そして、ある実施形態では、適応的閾値だけを用いるか又はデジタルフィルタ処理を組み合わせることでユーザの意思をより正確に判定することができる。
【0029】
圧力、擬似圧力、擬似圧力の変化、速度及び他の量に対する閾値は、装置が製造される際に、コンピュータで読み取り可能な媒体に書き込まれる。あるいは、プロセッサにより実行されたソフトウェアが閾値の設定を行う。ソフトウェアにより設定される閾値については、固定型又は適応型が可能である。適応的閾値は、例えば、入力装置が作動していた時間の長さや、入力装置の表面上でのコンダクタの変位、入力装置の現在のユーザを含む、さまざまなパラメータに依存する。
【0030】
図2は、本発明に従って、タッチパッド(102)上での指の押下を検出して解釈するための処理、つまりアルゴリズムを示すフローチャート図である。図示の例において、キーパッドは、タッチパッド(102)に表示されるか又はこれに対応するディスプレイに表示される。他の実施形態において、キーパッドは仮想的又は物理的なものとされ、表示される場合もあれば、表示されない場合もある。図示の処理を実行しているプロセッサは、擬似圧力を最小の閾値と比較するとともに、擬似圧力の変化を、追加的な最小の閾値と比較する。
【0031】
プロセッサ(106)は、適応的閾値を使用する。例えば、プロセッサ(106)は、タッチパッド(102)上でのコンダクタの位置に基づく各種の閾値を用いることができる。該プロセッサ(106)は、また、タッチパッド(102)に触れている、特定のユーザに基づいて閾値を変更する。さらに、該プロセッサ(106)は、ユーザによる初期の接触中に通常遭遇する擬似圧力の大きな変化を把握するために、該ユーザが最初にタッチパッド(102)に触れた際に、閾値を変更する。例えば、ある実施形態において、プロセッサ(106)は、擬似圧力が検出される最初の0.5秒間に閾値を変更するが、その理由は、入力の最初の0.5秒の間に擬似圧力が大幅に変化する傾向があるためである。擬似圧力のばらつきは、ユーザの活動又は時間の経過に基づくものである。プロセッサ(106)は、メモリに格納された閾値を更新し、適応的閾値の別の組を記録し、あるいは又は適応的閾値を継続的に計算し、そして適応的閾値を適用する。
【0032】
適応的閾値が特定のユーザに基づく場合の実施形態において、ソフトウェアを実行しているプロセッサ(106)はユーザを識別することができる。ユーザ識別情報は、コンピュータで読み取り可能な媒体に保存されており、ユーザから受け取った入力、例えば、ユーザ名、パスワード又は他のユーザ識別情報に基づいて検索される。多数のユーザ識別情報及び閾値の組が保存される。該閾値については、ポインティングに使用する装置上でユーザが握る方向にも依存する。例えば、スタイラスは、ユーザがスタイラスを握る方向を検出するためのセンサと連携する。
【0033】
図2を参照すると、プロセッサ(106)は、タッチパッド(102)がアクティブ(動作中)である限り、処理を実行する。タッチパッド(102)は、プロセッサ(106)に対して、約80Hzの周波数で連続的にデータを通知する。プロセッサ(106)はこのデータを受信し、タッチパッド(102)上でなされる操作に基づいてユーザの意思を判定するために該データを使用する。プロセッサ(106)は、最初に、指又は他のコンダクタがタッチパッド(102)上にあるか否かを判定する(ステップ204)。プロセッサ(106)は、擬似圧力であるZパラメータを評価することによって、タッチパッド102上に指があることを判定する。つまり、Zパラメータが零よりも大きい場合に、ユーザの指が接触している。また、そうでない場合には、指が検出されるまでの間、アルゴリズム上、ステップ204が繰り返される。指がタッチパッド(102)上にある場合に、プロセッサ(106)はそれ以前に指がタッチパッド(102)上にあったかどうかを判定する(ステップ206)。該プロセッサ(106)は、この判定を数種の方法で達成することができる。例えば、プロセッサ(106)は、タッチパッド(102)の現在又は以前の状態のデータをメモリに保存しておき、そのデータから、指が以前にタッチパッド(102)上にあったかどうかを推定することができる。
【0034】
以前に指がタッチパッド(102)上になかった場合、プロセッサ(106)は、第1(初期)の時間計測を開始する(ステップ208)。この第1の時間計測は、指がキー上に置かれている時間を調べるために用いられ、アルゴリズムの別の部分ではユーザの操作を認識するために用いられる。指がタッチパッド(102)上に以前あった場合又は第1の時間計測が開始された後に、プロセッサ(106)は、指がどこに位置しているかを判断する(ステップ210)。該プロセッサ(106)は、この判断を、タッチパッド(102)により提供されるX及びY座標値に基づいて行う。
【0035】
図示の実施形態において、プロセッサ(106)は、指がキー上にあるか否かを判定するために座標情報を利用する(ステップ212)。タッチパッド(102)に表示される各キー又は対応するディスプレイに表示される各キーは、多くの属性と関連している。これらの属性には、キーの特性、例えばキーのサイズ、位置及び挙動が含まれる。プロセッサ(106)は、指がキー上にあるかどうかを判定するが、これは、タッチパッド(102)によって通知されたX及びYの位置データを、キーの特性と比較することによって行われる。指がキー上にない場合には、プロセッサ(106)によって、ステップ204から始まる処理が繰り返される。指がキー上にある場合に、プロセッサ(106)は、解除の時間計測の時間が経過したかどうかを判定する(ステップ214)。解除の時間計測が経過済みでない場合には、プロセッサ(106)により、ステップ204から始まる処理が繰り返される。また、解除の時間計測が経過済みである場合には、第1の時間計測の時間が経過したかどうかを判定する(ステップ216)。
【0036】
図示の実施形態において、第1の時間計測が経過済みである場合には、キーに対する閾値が、移動(move)閾値に設定される(ステップ220)。また、第1の時間計測が経過済みでない場合には、キーに対する閾値が第1(初期)の閾値に設定される(ステップ218)。該閾値は擬似圧力の変化と比較される(ステップ222)。擬似圧力の変化がステップ218やステップ220で設定された閾値を超えない場合には、ステップ204から始まる処理が繰り返される。擬似圧力の変化が当該閾値よりも大きい場合には、擬似圧力、すなわち現在のZ値が、絶対閾値と比較される(ステップ224)。該擬似圧力が絶対閾値を超えない場合に、ステップ204から始まる処理が繰り返される。また、該擬似圧力が絶対閾値よりも大きい場合に、プロセッサ(106)はユーザがキーを押していると判定する(ステップ226)。そして、プロセッサ(106)は、キーが押下されたことを示す信号を生成してこれを送出する。この信号は、各ソフトウェアによりプログラムの流れを制御するために使用される。例えば、ワードプロセッサのプログラムが信号を受信し、これに応答して数を表示し、単語を強調表示し又は何らかの他の処理を行う。
【0037】
キーの押下が起こったという判定が一度なされると、プロセッサ(106)は解除の時間計測を開始し(ステップ228)、ステップ204から開始される処理を繰り返す。上記のように、この処理は、タッチパッド(102)が動作中である限り、繰り返し継続する。
図2に示す処理において、指が非接触状態から接触状態に変化するときに第1の時間計測が設定され、これは時間間隔を計測するために用いられ、その間に各種の(より高い)閾値の組が使用される。その理由は、最初にタッチパッド(102)を押すときに、ユーザは該パッドを強く押す傾向があることによる。解除の時間計測は、押下の検出に続く時間間隔を測定するために使用され、その間、指がキーを押しているものとみなされる。この時間中、プロセッサ(106)は、次のキー押下の検出を行わない。すなわち、ユーザはすでに1つのキーを押しているときに再度キーを押すことはできず、そして、ある予め定められた速度よりも速くキーを押すことができない。解除の時間計測が一度終了すると、たとえユーザが依然としてキーを強く押していても、ユーザがより強く押した場合(ここでは、さらに強く押す余地があるものとする)にアルゴリズム上で押下が検出される。上述した複数の時間計測を用いることにより、アルゴリズムの適応能力が提供される。
【0038】
図3は、本発明に従って、タッチパッド(102)上での指の押下を検出するための別の処理を示すフローチャート図である。図2に示した例と同様に、図3に示す処理では、プロセッサ(106)が擬似圧力を最小の閾値と比較し、擬似圧力の変化を最小の閾値と比較する。また、上記の処理と同様に、タッチパッド(102)のどこに指が触れるかに依存して、当該閾値が変化する。
【0039】
しかしながら、図3に示す処理は、図2に示した処理といくつかの点で異なる。図3に示す実施形態において、プロセッサ(106)は、擬似圧力を下限閾値及び上限閾値の両方と比較することにより、指が接触しているかどうかを判定する。指がそれ以前にタッチパッド(102)に接触していなかった場合において、指が現在タッチパッド(102)に接触しているとプロセッサ(106)が結論を下す前に、プロセッサ(106)は、擬似圧力が上限閾値を越えることを要求する。また、指がそれ以前にタッチパッド(102)に接触していた場合には、指がタッチパッド(102)に接触していないと結論される前に、プロセッサ(106)は、擬似圧力が下限閾値よりも低くなっていることを要求する。
【0040】
また、図3に示す実施形態において、指の滑りのような、タッチパッド(102)への余分な接触に起因する、不要な雑音の影響を低減するために、擬似圧力の変化には、デジタルフィルタ処理が施される。
【0041】
本発明の実施形態において有効とされる、あるデジタルフィルタは、デジタル信号プロセッサ(DSP)のように、装置から送られたサンプルデータを受け取り、この受け取ったデータをもとに数値計算を行い、フィルタ処理されたデータを出力として提供するプロセッサ(106)で実行されるソフトウェアを備える。該デジタルフィルタはプログラミング可能であり、ある信号はそのまま通過させ(通過帯域)、また別の信号を阻止する(阻止帯域)。通過帯域と阻止帯域との間にある信号は遷移帯域の信号である。ローパス(低域通過)フィルタは、(該フィルタのパラメータにより定義される)低い周波数を通過させることができる。また、ハイパス(高域通過)フィルタは、高い周波数の信号を通過させることができる。そして、バンドパス(帯域通過)フィルタは、ある定義された周波数帯域での通過を許容し、帯域阻止フィルタは、ある信号の通過を阻止する。
【0042】
本発明の実施形態において、再帰型又は非再帰型デジタルフィルタを使用することができる。非再帰型デジタルフィルタ、つまり有限インパルス応答フィルタ(FIR)は出力値を計算するために、現在の入力値のみを使用する。すなわち、非再帰型デジタルフィルタは、現在の出力を計算する際に、フィルタからの過去の出力値を使用しない。これに対して、再帰型フィルタ、つまり、無限インパルス応答フィルタ(IIR)では、現在の出力値を計算する際、現在の入力値及び過去の出力値を使用する。ある実施形態では、過去の値よりも、間近の値に重点を置いた、スライディングウィンドウ(スライド検出窓)としてフィルタが機能する。
【0043】
デジタルフィルタは次数をもつ。非再帰型デジタルフィルタの次数は、現在の計算に用いる過去の入力値の数に等しい。再帰型デジタルフィルタの次数は、(1)過去の入力値の数と、(2)現在の出力計算に用いられる、過去に出力した値の数のうち、いずれか大きい方の数となる。非再帰型デジタルフィルタには、0次のフィルタがあり得る。再帰型デジタルフィルタは、その定義上、1次以上のフィルタである。
【0044】
図3に示す実施形態において、指がタッチパッド(102)の表面上を移動する速度、すなわち、下式に示す、サイクル当たりのタッチパッド(102)上でのX及びY位置の変化がフィルタ処理され、最大速度閾値と比較される。この速度が最大速度閾値未満になるまで、プロセッサ(106)は押下と認識しない。
【数1】

【0045】
図3に示す実施形態において、プログラムコードを実行しているプロセッサ(106)は最初に、擬似圧力を上限閾値と比較する(ステップ302)。擬似圧力が上限閾値を越えると、ステップ314の処理を続行する。そうでない場合には、プロセッサ(106)が、例えば、保存してあるフラグの値をチエックすることにより、ユーザが以前に接触していたかどうかを判定する(ステップ304)。そうであれば、プロセッサ(106)は擬似圧力を下限閾値と比較する(ステップ306)。また、ユーザがそれ以前に接触していなかった場合、又は擬似圧力が下限閾値に等しいか若しくは下限閾値よりも小さい場合には、プロセッサ(106)が、第1の時間計測の時間が経過したかどうかを判定する(ステップ308)。
【0046】
第1の時間計測が経過済みである場合には、ステップ302から処理を再開する。また、第1の時間計測が経過済みでない場合に、プロセッサ(106)は、ユーザがタッピング中であるという結論を下す(ステップ310)。該プロセッサ(106)は、第1の時間計測をクリアし、処理がステップ302に戻る。
【0047】
ステップ302において、擬似圧力が上限閾値を超えたと判定した場合に、プロセッサ(106)はユーザがそれ以前に接触していたかどうかを判定する(ステップ314)。そうであれば、プロセッサ(106)はステップ316を迂回し、ユーザが接触しているという結論を下す(ステップ318)。ステップ314にてユーザがそれ以前に接触していなかった場合、プロセッサ(106)は第1の時間計測を開始させ(ステップ316)、ユーザが接触しているという結論を下す(ステップ318)。擬似圧力が下限閾値よりも大きく(ステップ306)、かつユーザがそれ以前に接触していた場合は(ステップ304)、プロセッサ(106)が第1の時間計測を開始させる(ステップ316)。
【0048】
いずれにしても、図示の実施例において、プロセッサ(106)により、ユーザが接触しているという結論が一度下されると(ステップ318)、プロセッサ(106)は速度を速度閾値と比較する(ステップ320)。速度が速度閾値よりも大きいか又は速度閾値に等しい場合、プロセッサ(106)は処理をステップ302に戻す。速度を速度閾値と比較するに際して、プロセッサ(106)は、ユーザが押下を示すのに充分な圧力を加えてはいるけれども、指がタッチパッド(102)上を移動しているために、ユーザには押下と認識させる意思がないことを調べる。
【0049】
速度が速度閾値よりも小さい場合には、擬似圧力の変化が閾値と比較される(ステップ322)。擬似圧力の変化が閾値よりも小さいか又は閾値に等しい場合には、プロセッサ(106)が処理をステップ302に戻す。また、擬似圧力の変化が閾値よりも大きい場合に、プロセッサ(106)は、第1の時間計測の時間が経過したかどうかを判定する(ステップ324)。そうであれば、プロセッサ(106)はユーザがキーを押しているという結論を下し(ステップ326)、該プロセッサ(106)は処理をステップ302に戻す。
【0050】
本発明の実施形態では、雑音の影響を低減させるために、フィルタ処理を用いることができる。ある実施形態において、3つの変数がフィルタ処理され、該変数は、(1)タッチパッド(102)の表面を横切って移動する指の速度と、(2)擬似圧力(Z)と、(3)擬似圧力の変化(ΔZ)である。これらの各量のフィルタ処理については、同じタイプのフィルタを適用する場合もあれば、また異なるタイプのフィルタを適用する場合もある。例えば、ある実施形態において、下式に基づいた低域通過1次再帰型デジタルフィルタを使用して、量のフィルタ処理が行われる。
【0051】
【数2】

【0052】
ここで、Nはフィルタのカットオフ周波数に影響するパラメータである。例えば、ある実施形態では、速度及び擬似圧力のフィルタ処理においてNが10に設定され、また擬似圧力変化のフィルタ処理においてNが5に設定される。これらの値は、タッチパッド(102)のサンプリング周波数に関係し、本実施形態ではサンプリング周波数が約80Hzである。このようなフィルタは、より間近のサンプルを強調する重み付け関数を用いて移動平均を計算する。このフィルタでは、最小限の計算上及びデータ保存上の条件が要求される。
【0053】
一実施例として、下表に示す閾値が指の押下を検出するために使用される。
【0054】
【表1】

【0055】
ランプ型フィルタは、望ましくない雑音をフィルタで除去することにおいて非常に有効である。しかしながら、各種の波形、フィルタの組み合わせ及び他の処理手段を利用した、さまざまなタイプのフィルタが、ユーザの意思を判定するための処理の一環として使用される。ある実施形態では、現在の擬似圧力から、フィルタ処理後の擬似圧力(平均値)を減算することによって、擬似圧力の変化が計算される。また、別の実施形態では、以前にフィルタ処理された擬似圧力が、現在のフィルタ処理された擬似圧力から減算される。
【0056】
ある実施形態において、ユーザはキー毎に閾値を調整し、これにより、意思の判定において最大の正確さが得られる。また、別の実施形態において、閾値が擬似圧力変化の標準偏差に基づいている。さらに別の実施形態では、より洗練されたフィルタリング技術が利用される。図4は、本発明の実施形態で利用される各種フィルタを示す一群のチャート図である。また、下表には、図示の各フィルタに使用される波形を示す。
【0057】
【表2】

【0058】
さまざまな実施形態において、これらの波形の係数はさらに、その平均値が零になるようにバイアスされ、そして、これらの波形の正の係数の和が1になるようにスケール調整される。より正式には、フィルタ係数「a(n)」が上表の係数λ(n)から次の式を用いて計算される。
【0059】
【数3】

【数4】

【数5】

【数6】

【数7】

【0060】
ここで、「β」はλ(n)中のバイアス、「ν(n)」はバイアスのない場合の係数、「ρ(n)」はν(n)から導出される正係数、「μ」は正係数の総和、「a(n)」は最終的なフィルタ係数である。
【0061】
上述した本発明の好ましい実施の形態は、あくまでも発明の例証及び記述のために開示されたものであって、余す所のない説明を意図したものでなく、また発明を開示したと同じ利用の形態に制限することを意図したものでもない。本発明の精神と範囲から逸脱することなく発明に対して多くの変更、改造を行いうることは、本発明の分野に関して通常の知識を有するものにとっては明らかである。
【符号の説明】
【0062】
102 タッチパッド
106 プロセッサ

【特許請求の範囲】
【請求項1】
コンダクタとの接触を検出し、当該接触した位置を示す位置情報及び当該接触による圧力を示す圧力信号を含む信号を出力する接触感知式入力装置に接続されたプロセッサが、受信した前記信号に基づいて前記コンダクタによる押下を示す押下信号を出力する方法であって、
前記信号を受信して第1の時間の計測を開始し、
前記計測中に受信した位置情報に基づいて算出したスピードがスピード閾値よりも小さく、かつ、前記計測中に受信した第1の圧力信号と、前記第1の圧力信号を受信した後に受信した第2の圧力信号との差を示す差分信号が閾値よりも大きく、かつ、前記計測中の時間が前記第1の時間に達した場合に、前記押下信号を出力する方法。
【請求項2】
触覚効果に関係する信号をさらに出力し、該触覚効果は前記圧力信号の少なくとも一部に基づいている請求項1に記載の方法。
【請求項3】
コンダクタとの接触を検出し、当該接触した位置を示す位置情報及び当該接触による圧力を示す圧力信号を含む信号を出力する接触感知式入力装置に接続されたコンピュータに、受信した前記信号に基づいて前記コンダクタによる押下を示す押下信号を出力する方法を、実行させるための符号化されたプログラムコードを含む、コンピュータで読み取り可能な媒体であって、
前記信号を受信して第1の時間の計測を開始するためのプログラムコードと、
前記計測中に受信した位置情報に基づいて算出したスピードがスピード閾値よりも小さく、かつ、前記計測中に受信した第1の圧力信号と、前記第1の圧力信号を受信した後に受信した第2の圧力信号との差を示す差分信号が閾値よりも大きく、かつ、前記計測中の時間が前記第1の時間に達した場合に、前記押下信号を出力するためのプログラムコードと、
を備えたコンピュータで読み取り可能な媒体。
【請求項4】
触覚効果に関係する信号をさらに出力し、該触覚効果は前記圧力信号の少なくとも一部に基づいている請求項3に記載のコンピュータで読み取り可能な媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2013−109786(P2013−109786A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2013−50959(P2013−50959)
【出願日】平成25年3月13日(2013.3.13)
【分割の表示】特願2010−91566(P2010−91566)の分割
【原出願日】平成16年7月29日(2004.7.29)
【出願人】(500390995)イマージョン コーポレーション (65)
【氏名又は名称原語表記】IMMERSION CORPORATION
【Fターム(参考)】