(57)【要約】【課題】センシング平面上で検出されるオブジェクトの動きに応答して表示スクリーン上のカーソルを移動させるカーソル移動方法を提供する。【解決手段】カーソル移動方法において、カーソルを移動させる第１のカーソルモーション信号を発生させ、ここで、カーソルを表示スクリーン上である方向へ移動させる第１のカーソルモーション信号は、オブジェクトの先行位置と現在位置信号によって報告されるオブジェクトの現在位置との差を表す。オブジェクトがセンシング平面の外部領域へ移動しているときに、第１のカーソルモーション信号とは異なる第２のカーソルモーション信号を発生させ、ここで、カーソルを表示スクリーン上である方向へ選択された距離だけ増分して移動させる第２のカーソルモーション信号は、センシング平面上の固定された基準点とセンシング平面上のオブジェクトの現在位置との差を表す。【選択図】図１
2004094964.tif 000002
【特許請求の範囲】
【請求項１】
　センシング平面上で検出されるオブジェクトの動きに応答して表示スクリーン上のカーソルを移動させるカーソル移動方法であって、
　センシング平面を提供するステップと、
　上記センシング平面上のオブジェクトの存在を検出し、上記センシング平面上の上記オブジェクトの現在の位置を表す現在位置信号を発生させるステップと、
　上記オブジェクトが上記センシング平面の内部領域から上記センシング平面の外側のエッジに近接する外部領域へ移動したか否かを検出するステップと、
　上記カーソルを移動させる第１のカーソルモーション信号を発生させるステップとを含み、上記カーソルを上記表示スクリーン上である方向へ移動させる上記第１のカーソルモーション信号は、上記オブジェクトの先行位置と上記現在位置信号によって報告される上記オブジェクトの上記現在位置との差を表し、
　上記オブジェクトが上記センシング平面の上記外部領域へ移動しているときに、上記第１のカーソルモーション信号とは異なる第２のカーソルモーション信号を発生させるステップを含み、上記カーソルを上記表示スクリーン上である方向へ選択された距離だけ増分して移動させる上記第２のカーソルモーション信号は、上記センシング平面上の固定された基準点と上記センシング平面上の上記オブジェクトの上記現在位置との差を表すことを特徴とするカーソル移動方法。
【請求項２】
　上記オブジェクトが上記センシング平面の上記外部領域にないとき、上記第１のカーソルモーション信号に従って上記カーソルを移動させ、上記オブジェクトが上記センシング平面の上記内部領域から上記センシング平面の上記外部領域へ移動しているとき、上記オブジェクトが上記センシング平面の上記外部領域にある間は、上記第２のカーソルモーション信号と組み合わされた上記第１のカーソルモーション信号に従って上記カーソルを移動させるステップをさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
　上記第１のカーソルモーション信号と上記第２のカーソルモーション信号とはベクトルの和として組み合わされることを特徴とする請求項２記載の方法。
【請求項４】
　上記固定された基準点は上記センシング平面の中心であることを特徴とする請求項１記載の方法。
【請求項５】
　センシング平面上で検出されるオブジェクトの動きに応答して表示スクリーン上のカーソルを移動させるカーソル移動方法であって、
　センシング平面を提供するステップと、
　上記センシング平面上のオブジェクトの存在を検出し、上記センシング平面上の上記オブジェクトの現在の位置を表す現在位置信号を発生させるステップと、
　上記オブジェクトが、上記センシング平面の内部領域から上記センシング平面の外側のエッジに近接する外部領域へ移動したか否かを検出するステップと、
　上記カーソルを移動させる第１のカーソルモーション信号を発生させるステップとを含み、上記カーソルを上記表示スクリーン上である方向へ移動させる上記第１のカーソルモーション信号は、上記オブジェクトの先行位置と上記現在位置信号によって報告される上記オブジェクトの上記現在位置との差を表し、
　上記オブジェクトが上記センシング平面の上記外部領域へ移動しているとき、上記カーソルを移動させる、上記第１のカーソルモーション信号とは異なる第２のカーソルモーション信号を発生させるステップを含み、上記第２のカーソルモーション信号は、上記カーソルを上記スクリーン上で上記オブジェクトが近接する上記センシング平面のエッジ方向に関連する固定された方向に選択された距離だけ増分して移動させることを特徴とするカーソル移動方法。
【請求項６】
　上記オブジェクトが上記センシング平面の上記外部領域にないとき、上記第１のカーソルモーション信号に従って上記カーソルを移動させ、上記オブジェクトが上記センシング平面の上記内部領域から上記センシング平面の上記外部領域へ移動しているとき、上記オブジェクトが上記センシング平面の上記外部領域にある間は、上記第２のカーソルモーション信号と組み合わされた上記第１のカーソルモーション信号に従って上記カーソルを移動させるステップをさらに含むことを特徴とする請求項５記載の方法。
【請求項７】
　上記第１のカーソルモーション信号と上記第２のカーソルモーション信号とはベクトルの和として組み合わされることを特徴とする請求項６記載の方法。
【請求項８】
　上記固定された方向は、上記オブジェクトが近接する上記センシング平面のエッジに垂直であることを特徴とする請求項５記載の方法。
【請求項９】
　上記オブジェクトが上記センシング平面のコーナーに近い２つのエッジに近接するときの上記固定された方向は、各々上記オブジェクトが近接する上記センシング平面の上記２つのエッジに垂直である２つの方向の組み合わせであることを特徴とする請求項５記載の方法。
【請求項１０】
　センシング平面上で検出されるオブジェクトの動きに応答して表示スクリーン上のカーソルを移動させるカーソル移動方法であって、
　センシング平面を提供するステップと、
　上記センシング平面上のオブジェクトの存在を検出し、上記センシング平面上の上記オブジェクトの現在の位置を表す現在位置信号を発生させるステップと、
　上記オブジェクトが、上記センシング平面の外側のエッジに近接する外部領域に位置するか否かを検出するステップと、
　上記カーソルを移動させる第１のカーソルモーション信号を発生させるステップとを含み、上記カーソルを上記表示スクリーン上である方向へ移動させる上記第１のカーソルモーション信号は、上記オブジェクトの先行位置と上記現在位置信号によって報告される上記オブジェクトの上記現在位置との差を表し、
　上記オブジェクトが上記センシング平面の上記外部領域に位置しているとき、上記カーソルを移動させる、上記第１のカーソルモーション信号とは異なる第２のカーソルモーション信号を発生させるステップを含み、上記第２のカーソルモーション信号は、上記カーソルを上記スクリーン上で上記オブジェクトが近接する上記センシング平面のエッジ方向に関連する固定された方向に選択された距離だけ増分して移動させ、
　上記オブジェクトが上記センシング平面の上記外部領域にないとき、上記第１のカーソルモーション信号に従って上記カーソルを移動させ、上記オブジェクトが上記センシング平面の上記外部領域に位置しているとき、上記オブジェクトが上記センシング平面の上記外部領域にある間は、上記第２のカーソルモーション信号と組み合わされた上記第１のカーソルモーション信号に従って上記カーソルを移動させるステップを含むことを特徴とするカーソル移動方法。
【請求項１１】
　上記第１のカーソルモーション信号と上記第２のカーソルモーション信号とはベクトルの和として組み合わされることを特徴とする請求項１０記載の方法。
【請求項１２】
　上記固定された方向は、上記オブジェクトが近接する上記センシング平面のエッジに垂直であることを特徴とする請求項１０記載の方法。
【請求項１３】
　上記オブジェクトが上記センシング平面のコーナーに近い２つのエッジに近接するときの上記固定された方向は、各々上記オブジェクトが近接する上記センシング平面の上記２つのエッジに垂直である２つの方向の組み合わせであることを特徴とする請求項１０記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、オブジェクト位置検出変換器及びシステムに関する。より詳細には、本発明は計算装置用のカーソル移動やその他の応用例において有益なオブジェクトの位置認識に関し、特に、拡張されたエッジモーション及びジェスチャ認識特性を用いたカーソルモーションに関する。
【背景技術】
【０００２】
　種々の装置が、コンピュータシステムやその他のアプリケーションに使用するオブジェクト位置検出器として入手可能であり、又は提案されている。最も周知なそのような装置はコンピュータの“マウス”（mouse）である。位置表示装置として非常に人気があるが、一方、マウスは機械的部分を有し、それの位置ボールを転がすための表面を必要とする。更に、マウスは通常は適度な分解能を得るためには長距離にわたって移動させる必要がある。最後に、マウスは、ユーザがカーソルを移動させるためにキーボードから手を離すことを必要とし、従って通常コンピュータ上でタイプ操作をするという主たる目的を崩す。
【０００３】
【特許文献１】米国特許第４，６８０，４３０号の明細書。
【特許文献２】米国特許第３，４９７，６１７号の明細書。
【特許文献３】米国特許第３，９２１，１６６号の明細書。
【特許文献４】米国特許第４，１０３，２５２号の明細書。
【特許文献５】米国特許第４，４５５，４５２号の明細書。
【特許文献６】米国特許第４，５５０，２２１号の明細書。
【特許文献７】米国特許第４，６３９，７２０号の明細書。
【特許文献８】米国特許第４，７３６，１９１号の明細書。
【特許文献９】米国特許第４，６８６，３３２号の明細書。
【特許文献１０】米国特許第５，１４９，９１９号の明細書。
【特許文献１１】米国特許第４，７３３，２２２号の明細書。
【特許文献１２】米国特許第５，０１６，００８号の明細書。
【特許文献１３】国際出願公開第ＷＯ９１／０３０３９号の明細書。
【特許文献１４】米国特許第５，３０５，０１７号の明細書。
【特許文献１５】米国特許第５，７３４，７８７号の明細書。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
　トラックボール装置はマウス装置と類似する。しかしながら、主たる相違点は、マウス装置とは異なり、トラックボール装置はロールを転がさなければならない表面を必要としないことである。トラックボール装置は依然高価であり、可動部分を有し、マウス装置を使うように比較的強いタッチを必要とする。それらはまた寸法的にも大きく、ラップトップコンピュータのような容量に敏感なアプリケーションにおいてはうまく適合しない。
【０００５】
　位置表示器として使用するために、いくつかのタッチセンシング技術が存在する。抵抗薄膜位置センサが知られており、幾つかのアプリケーションで用いられている。しかしながら、それらは一般的に分解能が低いという欠点を有し、センサの表面は使用者に露出され、そのために摩耗することになる。更に、抵抗薄膜タッチセンサは比較的に高価である。一面接触アプローチでは使用者が信頼して操作するためには該センサをアースする必要がある。しかし、このことはポータブルコンピュータの場合では保証の限りではない。一面接触アプローチの一例はマサチューセッツ州ウイルミントン（Wilmington、MA）のマイクロタッチ社（MicroTouch）によるアンマウス（UnMouse）製品である。二面アプローチはより低い分解能を有し、そのうちに非常に早く摩耗してしまう可能性がある。
【０００６】
　抵抗タブレットは吉川（Yoshikawa）による特許文献１、エリス（Ellis）他による特許文献２等によって教示される。これら全てのアプローチの欠陥は電力消費量が高く、採用される抵抗薄膜が高価になることである。
【０００７】
　弾性表面波（SAW）装置は位置表示器として使用できる。しかしながら、このセンサ技術は高価であり、軽く触れる場合には反応が鈍い。更に、ＳＡＷ装置は接触表面上の残留蓄積物に敏感であり、一般的に分解能が低い。
【０００８】
　歪ゲージ又は圧力プレートアプローチは興味深い位置検出技術であるが、幾つかの欠陥を有する。このアプローチはピエゾ電気変換器を採用している場合がある。一つの欠陥はピエゾ現象は交流現象であって使用者の移動の割合に敏感であることである。更に、歪ゲージ又は圧力プレートアプローチは、特別なセンサが必要とされるので幾分高価につく。
【０００９】
　光学的アプローチがまた可能であるが、幾つかの理由である程度限定される。全てのものが光の生成を要し、上記光の生成は外部的なコンポーネントを必要とし、費用及び電力の排出を増す。例えば、“フィンガーブレイキング”（finger-breaking）赤外線マトリックス位置検出器は大きい電力を消費し、比較的に悪い分解能という欠点を有する。
【００１０】
　マウス又はトラックボールに取って代わるべきポインティングデバイス（pointing device）として使用するために親指又は他の指の位置を検出する装置を提供する種々の試みが行われてきた。この様な装置の望ましい属性とは低電力、低い側面、高い分解能、低コスト、高速の応答、及び手の指が電気的ノイズを拾っても接触表面が埃とか湿気で汚れてもまた充分な信頼性をもって操作できる能力である。
【００１１】
　抵抗装置の欠陥のために、指の位置を電気容量的に検出することに基づいたポインティング能力を提供するための多くの試みがなされてきた。ヴォルペ（Volpe）による特許文献３は行と列の電極の間のトランスキャパシタンスを変化させる容量性マトリックスを教示する。ボディック（Bodick）による特許文献４は４個の容量性電極間のＸ及びＹ位置を補間するために４つの振動信号を採用している。シュイラー（Schuyler）による特許文献５は電極間の容量性カップリングを指が減衰する容量性タブレットを教示する。
【００１２】
　マブス（Mabusth）による特許文献６は、“仮想アース”への有効な容量が振動信号によって測定される容量性タブレットを教示している。各行又は列はシーケンスにポーリング（polling）され、二つの行又は列の間の位置を検出するために補間の基本的な形が適用される。振動波形の多くのサイクルにわたり平均化することによる電気的干渉の問題に取り組む試みがある。汚れの問題は指がそこに無い場合に検出したり、またそのような指が無い期間に定期的な較正を行うことにより対処される。リンパルスキ（Rympalski）による特許文献７はペン型入力装置（スタイラス）の位置を検出するためのタブレットを教示する。そのスタイラスは行と列の電極の間のトランスキャパシタンスカップリングを変えて、そしてシーケンスに走査される。マツケ（Matzke）による特許文献８は親指で接触して動作される、キーボードのスペースバーの下にある放射状電極配置を教示する。この特許はカーソルの動きの速度を制御するために接触圧力の表現として、全接触容量を使用することを教示する。パルスシーケンスのポーリングが電気的干渉の効果を扱うために採用される。
【００１３】
　グレアニアス（Greanias）による特許文献９及び１０はＣＲＴ上に設けられるスタイラス及び指の検出システムを教示している。指の検出システムとして、それのＸ／Ｙセンサマトリックスが、最大信号を伝送する二つのマトリックスワイヤを探知するために使用される。コーディング方法を用いて、これらの二つのワイヤーは指位置の選定をワイヤステッピング（wire stepping）の分解能で決定する。スタイラスの検出のために、グレアニアスは最初にそれの粗方の位置決めをし、次いで、それを一方向に一個のオブジェクトのある一つの側の全てのラインを駆動し、反対方向の反対面上の全てのラインを駆動することにより、仮想双極子を生成する。これは異なる双極子の位相及び信号極性で三回行われる。そのオブジェクトに応答する予め決定されたマトリックス応答を仮定して、その三回の測定値が位置決定できるための一組の連立方程式を表わす。
【００１４】
　エバンス（Evans）による特許文献１１は、高度に補間する容量接触測定システムを示す最初のものである。エバンスは、そのマトリックス内でドライブ信号、検出信号及び電極信号セット（３信号）を使用する一つの三端末測定システムを示し、（容量的分割現象を使用する）電極ノード信号上の指の減衰効果に関する測定を基礎とする。エバンスは、容量を測定するために各ドライブセットを通じてシーケンスで走査する。三つの最大の応答から、指位置を決定するために補間ルーチンを使用する。エバンスはまた測定の一部として“指のない”レベルをキャンセルするゼロ化技術を教示する。
【００１５】
　グルアズ（Gruaz）による特許文献１２は、補間を使用する接触検出パッドについてもまた説明する。グルアズは接触マトリックス内にドライブ及び検出信号セット（２信号）を使い、エバンスの様にドライブ信号を同調するために真の減衰効果に依存するものである。タッチマトリックスは各マトリックスラインの応答を読み取る為にシーケンスに走査される。次いで、補間プログラムが、その指の位置を決定するために両方の次元における二つの最も大きい近傍の信号を選択し、これら４つの数字から有効な位置を比率計測的に決定する。
【００１６】
　ゲーファイド（Gerpheide）によるＰＣＴ出願第ＵＳ９０／０４５８４号に基づく特許文献１３及び１４はグレアニアス（Greanias）の仮想双極子アプローチの変形例をタッチパッドシステムに適用する。ゲーファイドは、所定の周波数及び位相の振動ポテンシャルを仮想双極子の一方の全ての電極に適用し、同じ周波数及び反対の位相の振動ポテンシャルをもう一方の側の全ての電極に適用することを示す。電子回路は“平衡信号（balance signal）”を生成し、上記平衡信号は、指が接触していない場合はゼロであり、指が仮想双極子の中央の一面にある場合は一つの極を持ち、その指が反対側にある場合には反対の極を持つ。初めから指の位置を獲得するために、仮想双極子はタブレット上をシーケンスで横切られて走査される。一度指の位置が探知されると、その指が一行又は一列以上動くと仮想双極子を指の方向に向かって動かすことにより“追跡（track）”される。
【００１７】
　仮想双極子法は、キャパシタンスが距離によって変化しない場合にゼロである平衡信号を発生することにより動作するので、接触部全域というよりもこれは単に指の接触領域の周囲を検出するだけである。その方法は励起信号の同期検出に依存するので、電気的干渉を拒絶するために長期間にわたり平均化しなければならず、従って速度が遅くなる。この方法に必要とされる平均化時間は、前の接触が失われると新しい指の接触の検出がシーケンスで必要となるために、前のようにこの方法を行い、電気的干渉によって影響されない速いポインティングデバイスの必要条件には及ばない。
【００１８】
　補間を使用した以前の全ての接触パッドの発明は、厳格な設計要求条件をそれらの検出パッド上に置いたことも注意すべきである。グレアニアスとエバンスはそれらの信号を生成するために複雑で高価なドライブや探知や電極線の構成を使用している。グルアズとゲーファイドは１組の二つのドライブ及び検出信号を使用している。本発明においては、ドライブと検出は同一ライン上で行う。これは行と列との部分を対称で同等にするものである。これは交互に全ての信号パスの独立した較正を可能にし、そのために広いレイアウトをより単純化し、より制約をゆるめて、より独特なセンサのトポロジーを可能にする。
【００１９】
　先行技術に記載の発明及び技術の欠陥はまた、１組だけのドライブ及び検出する電子装置の使用であることが突き止められ、これはタブレットにおける電極上をシーケンスで多重化された。この配置は別個の構成部品の時には費用的に有効であり、回路間でのオフセット及び相違点を回避した。
【００２０】
　前のシステムのシーケンスの走査アプローチはまた、ノイズの影響を受けやすくしていた。ノイズのレベルは連続測定の間で変化することがあり、従って測定信号と補間ルーチンに使用される仮定条件とを変更した。
【００２１】
　最後に、前述の全てのアプローチは、マトリックス位置に対する指の位置のための特定の信号応答を仮定していた。なぜなら、移動曲線は多くのパラメータに対して非常に敏感で、グレアニアスやガーファイドが仮定するようなスムーズで線形的な曲線ではないので、そのようなアプローチは、それらが実行出来る補間の量で制限される。
【００２２】
　１９９３年８月３１日に出願された米国出願第０８／１１５，７４３号であり、現在の特許文献１５において、容量性タブレットの各行と各列に対する独立した１組の駆動／検出電子装置を具備した二次元容量性センシングシステムが開示される。全ての行電極は同時に検出され、全ての列の電極は同時に検出される。検出された信号はアナログ回路によって処理される。
【００２３】
　現在入手可能なタッチパッド装置は、ジェスチャ認識を含むアルプス／サーキュ（Alps/Circue）のグライドポイント（GlidePoint）である。上記グライドポイントは、主要なマウスボタン上のアクションをシミュレーションするために基本的なタップ、ダブルタップ及びドラッグジェスチャをサポートする。多数の指でのジェスチャをサポートしないし、第二位のボタンクリックをシミュレーションするジェスチャは存在しない。グライドポイントにおいて使用される実施方法についての情報は知られていない。しかしながら、グライドポイントは、本発明によって取り組まれる問題の１つであるダブルタップの場合は困難性を有することが知られている。グライドポイントは、タップジェスチャ間のカーソルを静止するための試みである各指の動きのストローク上の躊躇を表す。また、グライドポイントは、長距離にわたるドラッグを可能にするために、物理的なスイッチ又は最高のゲイン若しくは加速度に依存する。
【００２４】
　マウスではない１つのタッチパッド製品はそれの抵抗性センサの下にスイッチを設け、その結果、ユーザはボタンをオンするためにパッドを押すだけである。壊れやすく複雑な機械的な設置を必要とする場合は別として、この装置はまたユーザを非常に疲れさせることが報告されている。指の代わりに圧力感知スタイラスによって動作されるグラフィックスタブレットは、周知である。これらの装置は作動装置の切替をシミュレーションするために、本発明の“プッシュ”ジェスチャのような機構を典型的に使用する。ここで説明される種類の他のジェスチャはステイラスによって動作されるタブレットにおいては見られない。
【００２５】
　従って、本発明の目的は、容量性タブレットの各行と各列に対して別々の組の駆動／検出電子装置を具備したる二次元の容量性検出システムを提供することであり、ここで全ての行の電極は同時に検出され、全ての列の電極も同時に検出される。
【００２６】
　本発明の更なる目的は、容量性タブレットを用いて指又は他の導電物の接触部の全領域に敏感な電子システムを提供することであり、そしてまた検出されるオブジェクトの特性のプロフィールに対して無感応に保つ一方、この接触領域の中心にある幾つかの測定座標を出力として提供することである。
【００２７】
　本発明の更なる目的は電子システムを提供することであり、上記電子システムは容量性タブレットを有しかつ指又は他の導電物の接触領域のある測定値を出力として提供するシステムである。
【００２８】
　本発明のまた別の目的は、容量性タブレットの各行及び各列に対する別々の組の駆動／検出電極を具備した二次元容量性検出システムを提供することであり、ここで、全ての行の電極は同時に検出されかつ全ての列の電極は同時に検出され、指又は導電体の位置を画成する情報はディジタル形式で処理される。
【００２９】
　本発明の更なる目的は、二次元容量性検出システムを提供することであり、上記二次元容量性検出システムは、全ての行の電極は同時に検出されてかつ全ての列の電極では同時に検出され、ここで、センシング平面の周囲の領域内における指又は他の導電物の位置が、単一のジェスチャを用いた小型のセンシング平面からのカーソルの軌道の制御を可能にする、表示スクリーン上のカーソルの“エッジモーション”を任意に起こすことが可能である。
【００３０】
　本発明の更なる目的は、ある方法でタッチパッド上の指又は他のオブジェクトによって行われるドラッグ拡張ジェスチャの認識を提供し、上記ある方法は単一のジェスチャを用いた小型のセンシング平面からのカーソルの軌道の制御を可能にするものである。
【００３１】
　本発明の更なる目的は、ある方法でタッチパッド上の指又は他のオブジェクトによって行われるドラッグ拡張ジェスチャの認識を提供し、上記ある方法は、上記ジェスチャ中の指又は他のオブジェクトの予期されない動きを補償するものである。
【００３２】
　本発明のまた別の目的は、多数の指でのジェスチャの認識と、第二位のボタンクリックをシミュレーションすることとを提供することである。
【００３３】
　本発明のさらなる目的は、初心者及び熟練者によって行われるジェスチャ間の相違を認識することを提供することである。
【課題を解決するための手段】
【００３４】
　極めて高レベルの集積化の出現により、駆動／検出電子装置を操作するための制御ロジックと共に上記駆動／検出電子装置の多チャンネルを１つの集積化回路に、かつポインティングデバイスがホストマイクロプロセッサと直接通信することを可能にするためのインタフェース電子装置を、集積化することが可能になってきた。本発明は、チャンネル間のオフセット及び規模の差に打ち勝つために、適応的アナログ技術を使用し、従って、全タブレットの行又は列のトランスキャパシタンス又は自己キャパシタンスを並列に検出することができる。行又は列当たりに１組の電子装置を提供することにより可能にされたこの並列センシング能力は、センシングサイクルを極端に短くし、よって非常に高レベルの電気干渉に対する免疫性を保持したままで、高速応答することが可能になる。
【００３５】
　本発明では、コンピュータ“マウス”又はトラックボール環境に於けるような指の位置情報が必要とされるアプリケーションに対して特に有益である、位置センシング技術を備える。しかしながら、本発明の位置センシング技術は、１つ又はそれ以上のポイントがタッチされるとそのセンサが検出して報告するので、コンピュータマウスよりもかなり一般的なアプリケーションを有する。さらに、この検出器は接触圧力をも検出することができる。
【００３６】
　ここでは、“指ポインタ”の実施態様として参照される本発明の好ましい具体例によると、位置センシングシステムは、導電性ラインのマトリックスを含む、プリント回路基板のような基板上に配置されたタッチ感応性表面を備えた位置センシング変換器を含む。第１の組の導電性ラインは第１の方向において機能し、一般的に第１の方向に垂直である第２の方向において機能する第２の組の導電性ラインから絶縁される。絶縁層は、第１及び第２の組の導電性ライン上に配置される。それの表面に置かれた指と導電性ラインの第１の組及び第２の組の間のかなりの容量性カップリングを促進するためは、この絶縁層は十分に薄い。
【００３７】
　センシング電子装置は、指、導電性オブジェクト、又は高誘電率のオブジェクト（即ち、約５以上）の近接に応答し、オブジェクトの接近により生じた導電体のキャパシタンス変化を、位置情報及びタッチ圧力情報を得るために処理されるディジタル情報に変換する。それの出力は単に表面上の１つのオブジェクトのＸ、Ｙ及び圧力値である。ここでの全ての説明においては、指は、導電性オブジェクト又は高導電率のオブジェクトと入れ代えることが可能であると考えられるべきである。
【００３８】
　先行技術の異なるパッドスキャン技術は、異なる環境においては異なる利点を有する。本発明による並列駆動／検出技術は、入力サンプルを同時に取れるようにし、従って、全チャンネルが干渉する電気信号の同一位相によって影響され、信号処理及びノイズのフィルタリングを非常に簡素化する。
【００３９】
　本発明のタッチセンシング技術に用いられた２つの駆動／検出方法がある。本発明の第１であり好ましい実施態様によると、センサマトリックスの全Ｘライン上の電圧は同時に動かされ、一方、Ｙライン上の電圧は、完全な１組のサンプリングされたポイントがＸ次元の指のプロフィールを同時に与えるように、一定電圧で保たれる。次に、センサマトリックスの全Ｙライン上の電圧は同時に動かされ、一方、Ｘライン上の電圧は、他の次元における指のプロフィールを同時に与える完全な組のサンプリングされたポイントを得るために、一定電圧で保たれる。
【００４０】
　第２の駆動／検出方法によると、センサマトリックスの全Ｘライン上の電圧は同時に正の方向へ動かされ、一方Ｙラインの電圧は負の方向に動かされる。次に、センサマトリックスの全Ｘライン上の電圧は同時に負の方向に動かされ、Ｙラインの電圧は同時に正の方向に動かされる。この技術が、２つの次元の間のいずれのトランスキャパシタンスの効果をも倍増し、逆にアースに対するいずれの寄生キャパシタンスの効果をも半減する。両方の方法において、センシングプロセスからの容量性情報は、指の近傍のプロフィールを各次元におけるセンサに与える。
【００４１】
　ここで好まれるように、次いで、両実施態様はこれらのプロフィールを入手し、Ｘ及びＹの位置の重心を表すディジタル値を得て、圧力情報に対する第２のディジタル値を得る。上記ディジタル情報はホストコンピュータで直接使用されてもよい。上記容量性情報のアナログ処理はまた、本発明に従って使用されてもよい。
【００４２】
　これらの実施態様の位置センサは、上記位置センサのセンサ表面上のオブジェクトの位置を報告できるだけである。１つ以上のオブジェクトが存在すると、この実施態様の位置センサは、組み合わされた１組の複数のオブジェクトの位置の中心の軌跡を計算する。しかしながら、従来の技術と異なり、全パッドがプロフィールされているので、充分な情報が簡単な多指ジェスチュアを認識することに利用でき、それによりさらに強力なユーザインタフェースを可能にする。
【００４３】
　本発明の他の態様によると、測定中には回路を切断して電力消費を減少する技術が、このシステム内に集積されている。このことは、本発明に係る並列測定技術が先行技術よりかなり高速であるので可能である。
【００４４】
　さらに本発明の他の態様によると、数々のノイズ軽減技術がこのシステム中に、集積される。
【００４５】
　さらに本発明のまた別の態様によると、較正かつ実施しやすいキャパシタンス測定技術が採用される。
【００４６】
　さらに本発明の２つの他の態様によると、指又は他の導電体の存在が、センシング平面の画成された周辺領域内において検出されると、カーソルの動きの制御が、“エッジモーション”を提供するように変更され、小さなセンシング平面で行われる１つのジェスチュアからの、表示スクリーン上の大きなカーソル移動の制御を可能にする。
【００４７】
　本発明の別の態様によると、ドラッグ拡張ジェスチャはホストによって認識され、上記ホストは、小型のセンシング平面上で実行される単一のジェスチャからの表示スクリーン上の大きなカーソル移動の制御を可能にする。
【００４８】
　本発明のさらなる目的によると、タッチセンサパッド上で指又は他のオブジェクトによって行われる幾つかのジェスチャは、認識されてホストと通信される。あるジェスチャが初心者又は熟練者のいずれのユーザによって行われたかの認識がまた、提供される。ジェスチャの表現中の指又は他のオブジェクトの予期しない動きのための補正が提供される。
【発明の効果】
【００４９】
　本発明のタッチセンサシステムの増大した感度は、人が使いやすい指による軽いタッチを可能にする。増大した感度により、ペン芯（ペンスタイリ）等のような他の入力オブジェクトを使うことがより容易になる。さらに、この感度は、更に厚い保護層又は異なる材料に対してもトレードオフを可能にし、その両方によって製造コストを下げることが可能になる。
【００５０】
　より大きいノイズ除去は使用におけるより大きな柔軟性を可能にし、偽のノイズ問題に対する感度を減少させる。最もノイズ除去の利益を引き出すことができる２つの技術が使用される。
【００５１】
　本発明に使用されるドライブ及びセンス技術によって、データ補足速度は先行技術以上の約３０の１つの係数によって増加されてきた。このことは幾つかの明確な副次的効果を提供する。第１に、同じレベルの信号処理に対しては回路はたいていの時間はオフにされることが可能であり、設計のアナログ部分におけるおおよそ３０のファクタによって電力消費を低減することが可能である。第２に、より多くのデータが利用できるので、フィルタリングやジェスチャ認識のようなより多くの信号処理が実行されることが可能である。
【００５２】
　本発明で使用されるセンサ電子回路は非常に頑健であり、プロセス及びシステムエラーを較正する。それはセンサからの容量性情報を処理し、例えばマイクロプロセッサである外部デバイスにデジタル情報を提供する。
【００５３】
　本発明の特有の物理的特性のために、以前では不可能であった幾つかの人間工学的に興味深いアプリケーションがある。現在、マウス又はトラックボールは、ポータブルコンピュータ上での使用には物理的に不便である。本発明は、これらのデバイスに取って代わる非常に便利で使いやすいカーソル位置解決策を提供する。
【００５４】
　マウス型のアプリケーションにおいては、本発明のセンサは、ポータブルコンピュータにおける例えば“スペースバー”キーの下等、便利な場所に置かれてもよい。この場所に置かれると、ユーザーの親指は、コンピュータスクリーン上でカーソル位置を制御するためにセンサ上で位置ポインタとして用いられる。次いで、カーソルは、ユーザの指をキーボードから離す必要が無く動かされる。人間工学的には、これはトラックボールを用いたマッキントッシュのパワーブックの概念に似ているが、しかしながら、本発明は、トラックボール以上のサイズの点での大きな利点を提供する。この基本的アイデアの拡張は、２つのセンサがさらなる特性コントロールのために“スペースバー”キーの下に置かれることができることにおいて可能である。
【００５５】
　カーソルのフィードバックを有するコンピュータディスプレイは、アプリケーションの一般的な範囲のある１つの小さな一例であり、そこでは、ディスプレイは、光分野、ＬＥＤ、ＬＣＤディスプレイはＣＲＴであり得る。例示は、現在の装置がノブ／ボタン／タッチスクリーンの組み合わせを用いる実験室の装置上にあるタッチコントロールを含む。このインタフェースを接合する機能のために、１つ又はそれ以上のこれらの入力が、本発明に関して説明された入力のうちの１つに結合される。
【００５６】
　一般消費者のエレクトロニクス装置（ステレオ、グラフィックイコライザ、ミキサ）アプリケーションはしばしば、可変制御が必要とされるので、スライドポテンショメータのためにかなりのフロントパネル面を使用する。本発明は、１つの小型のタッチパッドの位置においてそのような制御を提供することができる。家電システムがより一般的になっているので、さらに密度のある強力なインタフェースが必要である。本発明のセンサ技術は、非常に密度の高い制御パネルを可能にする。ハンドヘルド型のＴＶ／ＶＣＲ／ステレオのコントロールは人間工学的に形成されており、本センサ技術が用いられると、より効果的な特性を可能にする。
【００５７】
　本発明のセンサは、どんな表面にも適合され、多くの接触点を検出することができ、より効果的なジョイスティックを作ることができる。本発明のセンサ技術による特有な圧力検出能力はまた、このアプリケーションの鍵である。コンピュータゲーム、“リモート”コントロール（趣味のエレクトロニクス製品、飛行機）、及びマシンツールコントロールは、本発明のセンサ技術から恩恵を受けるアプリケーションの数例である。
【００５８】
　音楽キーボード（シンセサイザ、電子ピアノ）は、このセンサの圧力検出能力によって与えられる速度感応性のキーを必要とする。ピッチベンディングコントロールもあり、この技術で置き換えられることが可能である他のスライドスイッチもある。より特有なアプリケーションは、位置、手の圧力、及び指の３次元インタフェースにおける関数として、音色を創り出す楽器を備える。
【００５９】
　本発明のセンサ技術は、それに圧力をかけるどんな導電材料も、最適に検出できる。センサの上面での導電材料層で覆われた圧縮性絶縁層を加えることにより、本発明のセンサは、電気導電度とは無関係に、ハンドヘルド型である任意のオブジェクトからの圧力を間接的にも検出できる。
【００６０】
　このセンサから得られる情報量のために、それはバーチャルリアリティ機器への入力装置として非常に良好に機能するであろう。３次元での位置監視と、行動に対するある程度の応答（圧力）とを可能にする構造を想像することは容易である。
　本発明の実施形態及びアプリケーションが示されて説明されているが、当業者にとっては、上述されたものよりもより多くの変更例がここでの発明概念から逸脱することなく可能であることは明白である。それゆえ、本発明は添付の請求の範囲の精神を除いて限定されるものではない。
【発明を実施するための最良の形態】
【００６１】
　この出願は、１９９４年２月に出願された同時係属出願シリアル番号第０８／３００，３８７号の一部継続出願であり、上記１９９４年２月に出願された出願は、現在米国特許第５，３７４，７８７号である１９９３年８月３１日に出願された同時係属出願シリアル番号第０８／１１５，７４３号の一部継続出願であり、上記米国特許第５，３７４，７８７号である出願は、１９９２年６月８日に出願された同時係属出願シリアル番号第０７／８９５，９４３号の一部継続出願である。本発明は親出願に開示されたアプローチに続き、以前では得られなかったより特有の特長を提供する。これらの改良は、より容易な総括的解決、増大された感度、より大きな騒音防止、増大されたデータ捕捉速度及び減少された電力消費を提供する。本発明は、環境の変化の影響を減少するための連続的自動較正を可能にし、センシング平面上のエッジモーションからの拡張されたカーソルの制御を可能にする。
【００６２】
　当業者は、本発明の以下の説明は、単に例示的なものであり、いかなる点においても限定的ではないことを理解するであろう。本発明の他の実施形態は、そのような当業者には容易に理解できるであろう。
【００６３】
　本発明は、以前では不可能であった新たなアプリケーションを可能にする幾つかの特有の機能を共に組み合わせて有する。本発明のオブジェクト位置センサは、非常に少ない電力しか要しないので、ラップトップ又は携帯型コンピュータのような、電池で動作する又は低電力のアプリケーションの使用に対して有益である。それはまた、非常に低価格で稼働部分を有さず（従って実質的にメンテナンスフリーであり）、既存のプリント回路基板のトレースをセンサに用いる。本発明のセンシング技術は、コンピュータのアプリケーションにおけるそれのコストを更に低下するために、コンピュータのマザーボードに集積化することが可能である。同様に他のアプリケーションにおいては、上記センサは既存の回路基板の一部分とすることができる。
【００６４】
　小型で低い側面のために、本発明のセンサ技術は、体積が重要な考慮すべき問題点となるラップトップ型や携帯用のアプリケーションにおいて有用である。本発明のセンサ技術は、直接マイクロプロセッサとインターフェースで接続することができるただ１つのセンサインターフェースチップのための回路基板の空間と、加えてセンシングするプリント回路基板上で必要とされる領域とを必要とする。
【００６５】
　まず図１を参照すると、本発明の容量性位置センシングシステム６の簡単化されたブロック図が表される。容量性位置センシングシステム６は、センシング平面１０に近接する又は接触する指８又は他の導電性オブジェクトの位置を正確に決定することができる。第１の方向（即ち、“Ｘ”）に走る複数の導電性ラインのキャパシタンスは、Ｘ入力処理回路１２によって検出され、第２の方向（即ち、“Ｙ”）に走る複数の導電性ラインのキャパシタンスは、Ｙ入力処理回路１４によって検出される。検出されたキャパシタンス値は、Ｘ入力処理回路１２及びＹ入力処理回路１４の両方においてディジタル化される。Ｘ入力処理回路１２及びＹ入力処理回路１４の出力は演算ユニット１６に渡され、上記演算ユニット１６は、センシング平面１０に関連する指８又は他の導電性オブジェクトの位置及び圧力を表わすディジタル情報を得るために上記ディジタル情報を使用する。
【００６６】
　演算ユニット１６のＸ、Ｙ及びＺの出力はカーソルモーション方向信号をホストコンピュータに与えるモーションユニット１８に向けられる。当業者は、ここで用いられる“ホスト”とは、ＩＢＭ若しくはＰＣ互換機又はアップルコンピュータにより製造されるコンピュータ、ハンドヘルド型のコントロールユニット、パーソナルディジタルアシスタンツ、遠隔通信装置等、又はタッチタブレットの出力を入力として取ることができる任意の他の装置又はシステムのような、独立型のコンピュータシステムを意味することを理解するであろう。
【００６７】
　演算ユニット１６のＸ、Ｙ及びＺの出力はまた、センシング平面１０上でユーザによって行われるある指のジェスチャを認識するために使用されるジェスチャユニット２０に向けられる。さらに、ジェスチャユニット２０は、ジェスチャ処理の状態に基づいて本発明のエッジモーション機能をイネーブルする（動作状態にする）、モーションユニット１８への信号を生成してもよい。
【００６８】
　センサ材料は、パッドの導電性Ｘ／Ｙマトリックスパッドの生成を可能にすれば何でもよい。これは標準的なＰＣ基板だけでなく、フレキシブルＰＣ基板、導電性エラストマー材料、シルクスリーン導電性ライン及びピエゾ電気カイナー樹脂材を含み、それらに限定されない。これは、あらゆる携帯用アプリケーションにおいて、又はセンサが人間の手の中に適合するようにモデル化される必要があるヒューマンインターフェースにおいて有用となる。
【００６９】
　上記センサは、あらゆる３次元面に適合することができる。銅は、センサをつくるほとんど全ての外形に、２層にメッキすることが出来る。これによって、センサは、任意の特定のアプリケーションに必要とされる最適な人間工学的形状に適合されることが可能である。“軽いタッチ”の特徴と結ばれたこのことは、多くのアプリケーションを容易にするであろう。上記センサはまた、間接的な方法で使われることも可能であり、即ち、それは、タッチセンシング平面にわたって導電層により覆われた絶縁発泡材を有することもでき、その表面に圧力を及ぼす任意のオブジェクト（単に導電的でなくてもよい）を検出することにも使用されることが可能である。
【００７０】
　小さなセンサ面積が現実的であり、即ち、考えられる本実施形態は、約１．５”×１．５”の面積であるが、当業者は、その面積は異なるアプリケーションに対して応用できると理解するであろう。マトリックスの面積は、マトリックスのトレースの間隔の空け方を変更すること又はトレースの個数を変更することのいずれかによって大きさを変更することができる。大きなセンサ面積はより多くの情報が必要とされる時に実用的である。
【００７１】
　単なるＸ及びＹの位置情報に加えて、本発明のセンサ技術はまた、指の圧力の情報を提供する。情報のこの付加的次元は、描画プログラムでの“ブラシ幅”モード、特殊メニューへのアクセス等の特殊な特徴を制御するプログラムにより用いられてもよく、コンピュータへのより自然なセンサに関する入力の提供を可能にする。しかも、“マウスのクリック及びドラッグ”モードを実行したり、単純な入力ジェスチャーに対しても有用であることが見受けられた。
【００７２】
　ユーザは、最小のリアクションを生じさせるために表面にタッチすることさえ必要としない。この特性はユーザの努力を大いに減少させ得るし、より柔軟性のある使用を可能にすることができる。
【００７３】
　本発明のセンシングシステムは、変換器に接触しているオブジェクトに関する位置と圧力を提供できる変換器装置に依存する。今、図２Ａ乃至図２Ｄを参照すると、上面、底面、複合面及び断面図はそれぞれ、本発明において使用するタッチセンサアレイ２２を備えた、好ましい本センシング平面１０を示す。キャパシタンスが本発明のこの実施形態によって利用されるので、タッチセンサアレイ２２の表面は、指又は他の導電性オブジェクトへの容量性カップリングを最大にするように設計される。
【００７４】
　本発明に係る好ましい本タッチセンサアレイ２２は、上面２８上に設けられかつ上記アレイの行位置を備えるように第１の方向に走る第１の組の導電性トレース２６を含む基板２４を備える。第２の組の導電性トレース３０は、底面３２上に設けられ、上記アレイの列位置を形成するように、第１の方向に対して好ましくは直交線となる第２の方向に走る。上面及び底面の導電性トレース２６及び３０は、図２Ａ乃至２Ｃにおいて菱形として示される拡大エリアを備える周期的なセンスパッド３４に交互に接触する。図２Ａ乃至図２Ｃにおいてセンスパッド３４は菱形で示されるが、例えば円のような密接してパックできるものならどんな形状でも、本発明の目的に相当するものである。ここでの任意の説明であるが、第１の導電性トレース２６は、“Ｘ”又は“行”方向で配列されるものとして参照され、そしてここでは“Ｘライン”と参照され、第２の導電性トレース３０は、“Ｙ”又は“列”方向に配列されるものとして参照され、ここでは時々、“Ｙライン”と参照される。
【００７５】
　これらのセンスパッド３４の個数及び間隔空けは、所望の分解能に依存する。例えば、本発明の原理に従って構成された実際の実施形態においては、マトリックスが１５行及び１５列の導体に沿って設けられた０．１０インチのセンサ間距離である菱形パターンの導電性パッドが使用される。パッドパターンにおける各方向での全ての他のセンスパッド３４は、基板２４の各々の上面２８及び底面３２上の導電性トレースに接続される。
【００７６】
　基板２４は、プリント回路基板、フレキシブル回路基板、又は幾つかの入手できる相互接続技術構造の任意のものであってもよい。底面の第２の導電性トレース３０から上面２８上のセンスパッド３４にそこを介して、接触が行われる限り、その厚みは重要ではない。基板２４を備えたプリント回路基板は、通常の産業技術を用いて構築できる。基板の厚さは重要ではない。導電性のセンスパッド３４から底面のトレース３０への接続は、プリント回路基板技術で良く知られる標準的なスルーホールメッキ技術を用いて行われてもよい。
【００７７】
　本発明の実施形態の変形例においては、基板材料２４は０．００５乃至０．０１０インチのオーダーの厚さを有する。そのとき、上面２８上の菱形と底面のトレース３０につながるメッキスルーホールは省略することが可能であり、システムのコストを更に減じる。
【００７８】
　絶縁層３６は、上面２８上のセンスパッド３４の上に設けられ、人の指や他のオブジェクトをそこから絶縁する。絶縁層３６は、容量性カップリングが大きいまま維持するために好ましくは薄層（即ち、約５ミル）であり、その保護的及び人間工学的特性のために選ばれるマイラーのような材料を備えてもよい。ここで用いられる用語の“大きな容量性カップリング”とは、約０．５ｐＦより大きな大きさを有する容量性カップリングを意味する。
【００７９】
　指がタッチセンサアレイ２２に近づく時に生じる、２つの異なる容量性効果がある。第１の容量性効果は、トランスキャパシタンス又はセンスパッド３４間のカップリングであり、第２の容量性効果は、自己キャパシタンス又は仮想アースへのカップリングである。センシング回路は本発明のタッチセンサアレイ２２に結合され、これらのキャパシタンスの一方か両方における変化に応答する。このことは重要であり、なぜなら、２つのキャパシタンスの相対的なサイズはユーザの環境に依存して大きく変動するからである。自己キャパシタンス及びトランスキャパシタンスの両方における変動を検出する本発明の能力は、広い応用範囲を有する非常に多機能的なシステムを結果として生じる。
【００８０】
　本発明の好ましい実施形態によれば、タッチセンサアレイ２２と、関連する位置検出回路とを含んだ位置センサシステムは、タッチセンサアレイ２２に近接する指の接触による容量性効果によって、プリント回路基板のトレースのマトリックス上の指位置を検出する。上記位置センサシステムは、タッチセンサアレイ２２の近くに置かれた指のＸ及びＹ位置を、行及び列の第１及び第２の導電性トレース２６及び３０間の間隔空けよりも優れた分解能で知らせるであろう。本発明のこの実施形態に係る位置センサはまた、その指の輪郭に比例するＺ値を知らせ、従って指がタッチセンサアレイ２２にわたる絶縁層３６の表面に接触した時の圧力を示すＺ値を知らせる。
【００８１】
　本発明の好ましい本実施形態によると、非常に感度の優れた軽いタッチの検出器回路は、適応的アナログ及びディジタルＶＬＳＩ技術を用いて提供されてもよい。本発明の回路は非常に頑健であり、プロセス及びシステムエラーを較正する。本発明の検出器回路は容量性入力情報を処理し、マイクロプロセッサに直接に与えられるディジタル情報を提供する。
【００８２】
　本発明のこの実施形態によれば、センシング回路は、単一のセンサプロセッサ集積回路チップに含まれる。上記センサプロセッサチップは、任意の個数のＸ及びＹ“マトリックス”入力を有することができる。Ｘ及びＹの入力の個数は等しい必要はない。上記集積回路はディジタルバスを出力として有する。ここで図２Ａ乃至図２Ｄに開示される図式的な例示において、センサアレイはＸ及びＹの両方向に１５個のトレースを有する。センサプロセッサチップは従って、１５個のＸ入力と１５個のＹ入力を有する。本発明の原理に従って構成された実際の実施形態は、Ｘ方向に１８個のトレースとＹ方向に２４個のトレースを用いた。当業者は、本発明で使われるセンシングマトリックスのサイズは任意であり、主に設計の選択によって行われることを理解するであろう。
【００８３】
　Ｘ及びＹマトリックスノードは、各ラインからの容量性情報が、指がどれほどそのノードに近いかを示すように、並列的に駆動されて検出される。走査された情報は、各次元における近接した指の輪郭を提供する。本発明のこの態様によると、輪郭の重心はＸ及びＹの両方向において得られ、その次元の位置である。輪郭の近接度曲線はまた、Ｚ情報を提供するために積分される。
【００８４】
　本発明のタッチセンシング技術において用いられる２つの駆動及び検出方法がある。本発明の第１の好ましい本実施形態によると、センサマトリックスの全てのＸラインでの電圧は同時に変動され、一方、Ｙラインでの電圧は一定電圧で保持される。次に、センサマトリックスの全てのＹラインでの電圧は同時に変動されるが、Ｘラインでの電圧は一定電圧で保持される。この走査方法は、指によって与えられる仮想アースへのキャパシタンスの測定値を強調する。当業者は、これらの２つのステップの順序はいくらかは任意のものでもよく、逆でもよいことを理解するであろう。
【００８５】
　第２の駆動／検出方法によると、センサマトリックスの全てのＸライン上の電圧は正方向に同時に変動され、一方、Ｙラインの電圧は負方向に変動される。次に、センサマトリックスの全てのＸライン上の電圧は、負方向に同時に変動されるが、一方、Ｙラインの電圧は正方向に変動される。この第２の駆動／検出方法はトランスキャパシタンスを強調し、仮想アースのキャパシタンスを強調しない。第１の駆動／検出方法のように、当業者は、これら２つのステップの順序はいくらかは任意であり、その順序は逆でもよいことを理解するであろう。
【００８６】
　今、図３を参照すると、本発明に係る使用する好ましいセンシング回路４０のブロック図が表される。このブロック図及びそれに付随する開示は、１次元（Ｘ）だけのセンシング回路に関連し、図１のＸ入力処理回路１２を含む。当業者は、同一の回路が対向する（Ｙ）次元を検出することに用いられ、図１のＹ入力処理回路１４を含むことを認識するであろう。そのような当業者は、上記２つの次元が互いに直交する必要はないことに気付くであろう。例えば、それらは、タッチセンサアレイの輪郭やシステムの他の要請にマッチするように、極座標的又は他の特色を持するものであり得る。当業者は、ここに開示される技術は、ただ１組の導電性トレースが使われる１次元の場合にも同様に適用できるということを認識するであろう。
【００８７】
　各センサマトリックスノードでのキャパシタンスは、同等のコンデンサ４２−１乃至４２−ｎによって表される。コンデンサ４２−１乃至４２−ｎのキャパシタンスは、マトリックスコンダクタのキャパシタンスを備え、センサマトリックスのセンシング平面にオブジェクト（例えば、指）が近接していない時は、特有のバックグランド値を有する。オブジェクトがセンシング平面に接近すると、コンデンサ４２−１乃至４２−ｎのキャパシタンスはオブジェクトの大きさ及び近接度に比例して増大する。
【００８８】
　本発明によれば、各センサマトリックスノードでのキャパシタンスは、電荷積分回路４４−１乃至４４−ｎを使って同時に測定される。電荷積分回路４４−１乃至４４−ｎはそれぞれ、キャパシタンス４２−１乃至４２−ｎに電荷を注入することを行い、対応するＸマトリックスライン上で検出されるキャパシタンスに比例する出力電圧を生成することを行う。従って、電荷積分回路４４−１乃至４４−ｎは２方向増幅器のシンボルとして示される。各電荷積分回路４４−１乃至４４−ｎは、バイアス電圧発生回路４６によって動作バイアス電圧を供給される。
【００８９】
　ここで用いられるように、“キャパシタンスに比例する”という語句は、発生された電圧信号が、検出されたキャパシタンスの単調関数であることを意味している。ここで述べられる実施形態においては、電圧は、検出されたキャパシタンスに直接的にかつ線形的に比例する。当業者は、他の単調関数で、反比例のもの及び対数や指数関数の様な非線形比例のものなども、これらに限定されるものではないが、ここに開示される原理から逸脱せずに本発明において使用できるものであることを理解するであろう。更に電圧センシング技術と同様に電流センシング技術も使うことができる。
【００９０】
　本発明で用いられる好ましい駆動／検出方法によると、キャパシタンス測定は、１つの次元において全ての入力にわたって同時に行われ、個々の入力を走査する先行技術のアプローチにおいて内在する問題を克服する。先行技術のアプローチに伴う問題点は、それが、接触しているオブジェクトを介して回路に結合される高周波及び大振幅ノイズ（大きなｄｖ／ｄｔノイズ）に敏感であることである。そのようなノイズは、ノイズレベルにおける変化のために、早期の走査サイクルではなく晩期の走査サイクルにおいて現われるノイズによって、指の輪郭の歪みを生じさせるかもしれない。
【００９１】
　本発明は、Ｘ方向、次いでＹ方向（又はこの逆でもよい）に同時に全ての入力の“スナップショットを取ること”によって、この問題点を克服する。注入されるノイズは、全ての入力にわたって指信号の強度に比例するので、それゆえ、指の重心の回りに対称である。それは指の中心周りに対称的なので、指の位置に影響を与えない。更に電荷増幅器は差分測定機能を実行し、コモンモードノイズを更に排除する。
【００９２】
　電荷積分回路４４−１乃至４４−ｎの特質のため、それらの出力は時間にわたって変化し、ほんの短時間だけ所望の電圧の出力を有するであろう。現在好まれるように、フィルタ回路４８−１乃至４８−ｎはサンプル及びホールドスイッチコンデンサフィルタとして実施される。
【００９３】
　所望される電圧は、フィルタの回路４８−１乃至４８−ｎにより捕捉される。コントロール回路５６によって制御されるので、このフィルタ回路４８−１乃至４８−ｎは、検出された信号から高周波ノイズを濾波する。このことは、電荷積分回路４４−１乃至４４−ｎの出力キャパシタンスよりかなり大きくなるようにフィルタのためのコンデンサを選定することにより達成される。更に、当業者は、スイッチコンデンサフィルタ回路４８−１乃至４８−ｎは、所望された電圧を捕捉し、それらを記憶するということを認識するであろう。
【００９４】
　本発明によると、キャパシタンス測定から電圧型で得られたキャパシタンス情報はディジタル化され、ディジタル形式で処理される。従って、フィルタ回路４８−１乃至４８−ｎにより記憶された電圧は、サンプル／ホールド回路５０−１乃至５０−ｎに記憶され、その結果、残りの回路は、同時に取られた入力データを処理する。サンプル／ホールド回路５０−１乃至５０−ｎは、当該技術で良く知られた従来のサンプル／ホールド回路として構成されてもよい。
【００９５】
　サンプル／ホールド回路５０−１乃至５０−ｎの出力でのサンプリングされたアナログ電圧は、アナログからディジタルへの（Ａ／Ｄ）変換器５２によってディジタル化される。ここで好まれるように、Ａ／Ｄ変換器５２は、入力電圧を１０ビット幅のディジタル信号（１，０２４における一部分の分解能）に分解するが、当業者は、他の分解能が使われても良いことに理解するであろう。Ａ／Ｄ変換器５２は、当技術で良く知られた従来の連続式概算型変換器でもよい。
【００９６】
　本発明に使われる電荷積分器回路を与えられると、電荷積分器の出力のバックグランドレベル（オブジェクト不在）は約１ボルトである。指や他のオブジェクトの存在から結果として生じるΔＶは、典型的には約０．４ボルトである。それゆえ、Ａ／Ｄ変換器５２の電圧範囲は約１乃至２ボルトの間の範囲内であるべきである。
【００９７】
　重要な考え方は、Ａ／Ｄ変換器５２に対する最小及び最大電圧参照ポイントがある（Ｖｍｉｎ及びＶｍａｘ）。もしこれらの参照電圧が固定ポイントであれば、ノイズは位置を振動させるということが見受けられた。本発明において使われるこの問題への解決策は、電荷積分回路４４−Ｖｍｉｎ及び４４−Ｖｍａｘによって検出されて、フィルタ回路４８−Ｖｍｉｎ及び４８−Ｖｍａｘによって処理されて、サンプル／ホールド回路５０−Ｖｍｉｎ及び５０−Ｖｍａｘに記憶される、参照キャパシタンス４２−Ｖｍｉｎ及び４２−ＶｍａｘからのＶｍｉｎ及びＶｍａｘの参照電圧を動的に生成することである。この方法では、信号がタッチセンサアレイ２２からサンプリングされる時に存在する全てのコモンモードノイズはまた、Ｖｍｉｎ及びＶｍａｘの参照電圧値にも存在し、相殺する傾向にあるであろう。当業者は、参照キャパシタンス４４−Ｖｍｉｎ及び４４−Ｖｍａｘは、タッチセンサアレイ２２における不連続のコンデンサ又は余分なトレースであってもよいことを理解するであろう。
【００９８】
　本発明によれば、Ｖｍｉｎの参照電圧は、オブジェクトが存在しない時のタッチセンサアレイ２２において遭遇すると考えられる最小のキャパシタンス（２インチ平方のタッチセンサアレイを仮定すると約１２ｐＦ）と等しい値を有するコンデンサから生成される。Ｖｍａｘの参照電圧は、オブジェクトが存在する時のタッチセンサアレイにおいて遭遇すると考えられる最大のキャパシタンス（２インチ平方のセンサアレイを仮定すると約１６ｐＦ）と等しい値を有するコンデンサから生成される。
【００９９】
　Ａ／Ｄ変換器５２の出力は演算ユニット１６への入力を提供する。図８を参照すると更に十分に開示が行われるが、演算ユニット１６の機能は、タッチセンサアレイ２２におけるＸ及びＹ方向の両方向における個々のセンスライン上の信号の重み付けされた平均値を計算することである。従って、演算ユニット１６は、図１に示されるＸ入力処理回路１２及びＹ入力処理回路１４によって共有される。
【０１００】
　図３のコントロール回路５６は、残りの回路の動作を制御する。上記システムは別個にサンプリングされ、それの動作においてパイプライン処理されるので、コントロール回路５６は信号の流れを管理するためにある。コントロール回路５６によって実行される機能は、従来は状態マシン又はマイクロコントローラとして該技術で普通に知られているものによって、生成されてもよい。
【０１０１】
　図３の個々のブロックの構造及び動作をここで開示する。今、図４Ａ、図４Ｂ、及び図５を参照すると、典型的な電荷積分回路が説明される。電荷積分回路４４は、図４Ａにおいて簡略化された概略図として、また図４Ｂにおいて図式的な概略図として示される。電荷積分回路４４の動作タイミングは図５に示される。これらのタイミング信号は、コントローラブロック（コントロール回路）５６によって与えられる。
【０１０２】
　電荷積分回路４４は、コンデンサを充電するために電流を使うという基本的な物理現象に基づいている。もしコンデンサが一定電流で一定時間充電されると、電圧は、キャパシタンスに反比例するコンデンサ上に生成される。充電されるべきキャパシタンスは、内部コンデンサと並列にあるセンサマトリックスラインキャパシタンス４２である。この内部コンデンサは興味深い電圧を含む。
【０１０３】
　今、図４Ａを参照すると、図式的な電荷積分回路４４の簡単な概略図が示される。電荷積分回路の入力ノード６０は、センサマトリックスのＸ（又はＹ）のラインのうちの１つに接続される。第１の短絡スイッチ６２は、電荷積分回路の入力ノード６０と正の電源レールであるＶＤＤとの間で接続される。第２の短絡スイッチ６４は、電荷積分回路の入力ノード６０と負の電源レールであるアースとの間で接続される。正の定電流源６６は、正の電源レールであるＶＤＤと、第１の電流源スイッチ６８を介して電荷積分回路の入力ノード６０とに接続される。負の定電流源７０は、アースと、第２の電流源スイッチ７２を介して電荷積分回路の入力ノード６０とに接続される。他の高及び低電圧レールがＶＤＤ及びアースの代わりに用いられることが可能であることは明らかである。
【０１０４】
　第１の内部コンデンサ７４はＶＤＤと電荷積分回路４４の出力ノード７６との間で接続される。正の電圧記憶スイッチ７８は、出力ノード７６と入力ノード６０との間で接続される。第２の内部コンデンサ８０は、スイッチ８２を介してアースに接続されてかつスイッチ８４を介して電荷積分回路４４の出力ノード７６に接続されたそれのプレートのうちの１つと、負の電圧記憶スイッチ８６を介して入力ノード６０に接続されてかつスイッチ８８を介してＶＤＤに接続されたもう１つのプレートとを有する。第１及び第２の内部コンデンサ７４及び８０のキャパシタンスは、個々のセンサマトリックスラインのキャパシタンスの小部分（即ち、約１０％）であるべきである。典型的な実施形態においては、センサマトリックスラインのキャパシタンスは約１０ｐＦであり、第１及び第２の内部コンデンサ７４及び８０のキャパシタンスは約１ｐＦであるべきである。
【０１０５】
　本発明の好ましい本実施形態によると、用いられるアプローチは、加えられたノイズの除去のための差分測定であり、その利点は、どのような低周波数のコモンモードノイズをも除去できるということである。以下の議論のために、全てのスイッチは、閉と言及されない限り開であると仮定される。まず最初に、センサマトリックスラインは、第２のスイッチ６２を介してＶＤＤに少しの間短絡され、スイッチ７８は閉じられて、センサラインのキャパシタンスと並列に第１の内部コンデンサ７４を接続する。次いで、その並列なコンデンサの組み合わせは、一定時間の間、第２の電流源スイッチ７２を介して負の定電流源７０からの一定電流で放電される。一定時間の最後では、スイッチ７８は開かれ、従って、センサマトリックスラインの電圧を第１の内部コンデンサ７４上に記憶する。
【０１０６】
　次いで、上記センサラインは第２のスイッチ６４を介してアースに少しの間短絡され、スイッチ８２及び８６は閉じられて、第２の内部コンデンサ８０をセンサラインのキャパシタンスと並列に接続される。第１の電流源スイッチ６８は閉じられて、上記並列なコンデンサの組み合わせは、電流源６６からの一定電流で第１のサイクルの一定時間と等しい一定時間の間充電される。一定時間の最後では、スイッチ８６は開かれ、従って、センサマトリックスライン上の電圧を第２の内部コンデンサ８０上に記憶する。
【０１０７】
　次いで、第１及び第２の測定された電圧は平均化される。このことは、スイッチ８２を開いてスイッチ８８及び８４を閉じることによって達成され、上記スイッチ８８及び８４は、第２の内部コンデンサ８８を第１の内部コンデンサ７４と並列に接続する。第１及び第２のコンデンサ７４及び８０は同一のキャパシタンスを有するので、それらを通じての結果としての電圧は、各々個々に通じての電圧の平均値と等しい。次いで、この最終結果値は、フィルタ回路４８−１乃至４８−ｎの中の適当な１つに伝送される値である。
【０１０８】
　低周波ノイズ、特に５０／６０Ｈｚ及びそれらの高調波はＤＣ電流成分として振る舞い、それは、ある１つの測定では加算し、他では減算する。２つの結果値が共に加えられると、ノイズ成分はゼロに平均化する。ノイズ除去の量は、ここで開示されるように、連続していかに早く２つの相反する充電及び放電サイクルが実施されるかの関数である。この電荷積分回路を選択する理由の１つは、測定値が高速に得られることである。
【０１０９】
　今、図４Ｂを参照すると、図４Ａの簡略図の電荷積分回路４４の実例となる実施形態のより完全な概略図が示される。入力ノード６０はＶＤＤとアースにパスゲート９０及び９２を介して接続され、上記パスゲート９０及び９２は図４Ａの第１及び第２のスイッチ６２及び６４と置き変わる。第１のパスゲート９０はコントロール入力に送られる信号ＲｅｓｅｔＵｐによって制御され、第２のパスゲート９２はコントロール入力に送られるＲｅｓｅｔＤｎによって制御される。当業者は、図４Ｂにおいて同一のシンボルで表示された全ての他のパスゲートと同様に、第１及び第２のパスゲート９０及び９２は、該技術でよく知られる従来のＣＭＯＳパスゲートであってもよいことを認識するであろう。ここで用いられる方法は、パスゲートはそのコントロール入力がローで保持されるとオフになり、そのコントロール入力がハイで保持されるとオンになり低インピーダンス接続を表す。
【０１１０】
　ＰチャンネルＭＯＳトランジスタ９４及び９６は、電流ミラーとして構成される。ＰチャンネルＭＯＳトランジスタ９４は図４Ａの正の定電流源６６として機能し、パスゲート９８は図４Ａの第１のスイッチ６８として機能する。パスゲート９８のコントロール入力は信号ＳｔｅｐＵｐで制御される。
【０１１１】
　ＮチャンネルＭＯＳトランジスタ１００及び１０２はまた電流ミラーとして構成される。ＮチャンネルＭＯＳトランジスタ１００は図４Ａの負の定電流源７０として機能し、パスゲート１０４は図４Ａの第２のスイッチ７２として機能する。パスゲート１０４のコントロール入力は、信号ＳｔｅｐＤｎによって制御される。ＰチャンネルＭＯＳトランジスタ１０６とＮチャンネルＭＯＳトランジスタ１０８は、ＰチャンネルＭＯＳ電流ミラートランジスタ９６及びＮチャンネルＭＯＳ電流ミラートランジスタ１０２と共に直列に接続される。ＰチャンネルＭＯＳトランジスタ１０６のコントロールゲートは、イネーブル信号ＥＮにより駆動され、これは電流ミラーを活性化するためにＰチャンネルＭＯＳトランジスタ１０６をオンにする。この装置は、電荷積分回路４４が使われてない時にそれをオフして電力を節約するように、電力節約装置として使用される。
【０１１２】
　ＮチャンネルＭＯＳトランジスタ１０８は、参照電圧Ｖｂｉａｓにより駆動されるそれのゲートを有し、上記ゲートは電流ミラーであるＰチャンネル及びＮチャンネルＭＯＳトランジスタ９６及び１０８を介して電流を設定する。電圧Ｖｂｉａｓは、図１０を参照すればより詳細に開示されるように、サーボフィードバック回路によって設定される。当業者は、この実施形態によって、（長時間の一定のフィードバックによって）較正がリアルタイムで起こり、これによりセンサ環境の変化によるあらゆる長時間の影響をゼロにするということを認識するであろう。本発明の現在の実施形態においては、Ｖｂｉａｓは、全ての電荷積分回路４４−１乃至４４−ｎ及び４４−Ｖｍａｘ並びに４４−Ｖｍｉｎに対して共通である。
【０１１３】
　ＮチャンネルＭＯＳトランジスタ１０２及び１０８の適切なサイズ化は温度補償を提供することに注意されたい。このことは、ＮチャンネルＭＯＳトランジスタ１０８のしきい値が温度と共に減少し、一方、ＮチャンネルＭＯＳトランジスタ１０２及び１０８の両方の移動度は温度と共に減少するという事実を利用することによって達成される。上記しきい値の減少は電流を増大する効果を有し、一方、上記移動度の減少は電流を減少する効果を有する。適切な装置のサイズ化によって、これらの効果は大部分の動作範囲で互いに相殺できる。
【０１１４】
　第１の内部コンデンサ７４は、ＶＤＤに接続された１つのプレートを有し、出力ノード７６と、図４Ａにおいて電圧記憶スイッチ７８として示されるパスゲート１１０を介する入力ノード６０とに接続されたもう１つのプレートとを有する。パスゲート１１０のコントロール入力はコントロール信号ＳＵｐによって駆動される。第２の内部コンデンサ８０の１つのプレートは、パスゲート１１２（図４Ａのスイッチ８６）を介して入力ノード６０に、パスゲート１１４（図４Ａのスイッチ８８）を介してＶＤＤに接続される。パスゲート１１２のコントロール入力はコントロール信号ＳＤｎによって駆動され、パスゲート１１４のコントロール入力はコントロール信号ＣｈＵｐによって駆動される。第２の内部コンデンサ８０の他のプレートは、ＮチャンネルＭＯＳトランジスタ１１６（図４Ａのスイッチ８２）を介してアースに、又パスゲート１１８（図４Ａのスイッチ８４）を介して出力ノード７６に接続される。パスゲート１１８のコントロール入力は、コントロール信号Ｓｈａｒｅによって駆動される。
【０１１５】
　図４Ａ及び図４Ｂと図５のタイミング図を参照すると、１回の走査サイクル中の電荷積分回路４４の動作が観察される。まず最初に、ＥＮ（イネーブル）コントロール信号は０ｖになることによりオンになる。このことは電流ミラーをオンにし、充電及び放電電流源のＰチャンネル及びＮチャンネルＭＯＳトランジスタ９４及び１００をオンにする。ＲｅｓｅｔＵｐコントロール信号は、この時ハイレベルのオンにあり、これは入力ノード６０（そしてそれが接続されたセンサライン）をＶＤＤに短絡する。ＳＵｐコントロール信号はまた、この時ハイレベルのオンにあり、これは第１の内部コンデンサ７４と出力ノード７６とを入力ノード６０に接続する。この配置は、動作サイクルの以下の放電部分が既知の平衡状態からスタートすることを保証する。
【０１１６】
　放電プロセスはＲｅｓｅｔＵｐコントロール信号がオフになった後にスタートする。ＳｔｅｐＤｎコントロール信号はオンになり、放電電流源であるＮチャンネルＭＯＳトランジスタ１００を入力ノード６０とそれに関連するセンサラインとに接続する。ＳｔｅｐＤｎは所定の時間量の間にオンとなり、負の定電流源は、センサラインと第１の内部コンデンサ７４との組み合わせキャパシタンスの電荷を放電し、従って、それの時間の間にそれの電圧を下げる。次いで、ＳｔｅｐＤｎはオフにされる。短時間後にＳＵｐコントロール信号はオフになり、測定された電圧を第１の内部コンデンサ７４上に記憶する。それで放電サイクルを終える。
【０１１７】
　次に、ＲｅｓｅｔＤｎコントロール信号がオンとなり、上記センサラインをアースに短絡する。同時に、ＳＤｎ及びＣｈＤｎコントロール信号はオンとなり、内部コンデンサ８０をアースとセンサラインとの間で接続する。第２の内部コンデンサ８０はアースに放電され、次の充電サイクルが常に既知の状態からスタートすることを保証する。
【０１１８】
　充電サイクルは、ＲｅｓｅｔＤｎコントロール信号がオフになり、ＳｔｅｐＵｐコントロール信号がオンになった後にスタートする。この時点で、電流充電源であるＰチャンネルＭＯＳトランジスタ９４は、センサラインに接続され、そこで電圧を増大することによってセンサラインを充電するために一定電流を供給する。ＳｔｅｐＵｐコントロール信号は、（望ましくは、前述のサイクル時間に等しい）所定の時間量の間、オンとなり、キャパシタンスを充電し、次いでそれはオフにされる。次いで、ＳＤｎコントロール信号はオフになり、第２の内部コンデンサ８０にわたって測定された電圧を残す。
【０１１９】
　平均化サイクルが今、スタートする。まず最初に、第２の内部コンデンサ８０上の電圧がレベル変化される。このことはオフであるＣｈＤｎコントロール信号によって行われ、第２の内部コンデンサ８０の一個のプレートをフローティング状態にさせる。次いで、ＣｈＵｐコントロール信号がオンとなり、上記コンデンサの第２のプレートをＶＤＤに接続する。次いで、Ｓｈａｒｅコントロール信号がオンとなり、コンデンサ８０の第１プレートを出力ノード７６に接続し、従って、第１及び第２のコンデンサ７４及び８０を並列に接続する。このことは２つのコンデンサにわたる電圧の平均化効果を有し、従って、前述したように、コモンモードノイズを減少する。次いで、この平均電圧はまた、出力ノード７６上で利用できる。
【０１２０】
　当業者は、放電及び充電サイクルで得られた電圧の平均化に内在する環境の交流及び他の低周波数のノイズ相殺特性は、２つのサイクルが時間内で非常に近接して一緒に行われる時に最も有効であるということを理解するであろう。本発明によれば、ＣｈＤｎ信号とＣｈＵｐ信号は、本発明のこの特性を利用するために相殺されるべきノイズの期間の四分の一よりかなり短い時間期間内に、互いに関連して印加されるべきである。
【０１２１】
　本発明によると、２つの異なる駆動／検出方法が開示される。当業者は、図４Ａ、図４Ｂ及び図５を参照して開示された電荷積分回路４４が、ここに開示されたいずれかの走査方法に従って動作することに適応的であることを容易に認識するであろう。
【０１２２】
　電荷積分回路４４の動作を理解すれば明らかになるように、それの出力電圧は短時間に利用できるだけであり、環境ノイズを受け易い。ノイズの影響を最小にするために、スイッチコンデンサフィルタ回路４８が使われる。ここで図６を参照すると、本発明で用いられる例示的なスイッチコンデンサフィルタ回路４８の概略図が示されている。当業者は、スイッチコンデンサフィルタ回路４８が、入力ノード１２０、Ｓａｍｐｌｅコントロール信号によって駆動されるコントロール入力を有するパスゲート１２２、パスゲートの出力１２６とアースのような一定電圧の間で接続されたコンデンサ１２４、及びコンデンサ１２４とパスゲートの出力１２６との間の共通の接続を備えた出力ノードとを備えることを理解するであろう。代表的な実施形態においては、コンデンサ１１６は約１０ｐＦのキャパシタンスを有する。
【０１２３】
　当業者によって認識されるように、スイッチコンデンサフィルタ４８は、サンプル／ホールド回路の一部であり、サンプル期間のＫ倍であるフィルタ時定数を有し、ここでＫは、それが接続される図４Ａ及び図４Ｂの電荷積分回路のコンデンサ７４及び８０の和に対するコンデンサ１２４の比である。スイッチコンデンサフィルタ回路４８は更にシステムにおけるノイズの混入を減少する。望ましい実施形態において、Ｋ＝１０／２＝５である。当業者は、例えばＲＣフィルタである他のタイプのフィルタ回路が本発明において使われてもよいことを理解するであろう。
【０１２４】
　ここで図７を参照すると、図３のＡ／Ｄ変換器５２の好ましい本配置のより詳細なブロック図が表される。タッチセンサアレイにおけるラインよりもより少ないＡ／Ｄ変換器があり、Ａ／Ｄ変換器への入力は、タッチセンサアレイにおける幾つかのラインの間で個々のＡ／Ｄ変換器の各々を共有するように多重化される。図７における配置は、集積回路のレイアウト面積の使用において、各入力ラインに個々のＡ／Ｄ変換器を与えるよりも効率的である。
【０１２５】
　図７に図示された実施形態においては、２４個の導電性ライントレースが、図２Ａ乃至図２Ｄのセンサアレイ１０に仮定される。図７に示されるように、サンプル／ホールド回路５０−１乃至５０−２４の出力は、アナログマルチプレクサ１３０のアナログデータ入力に与えられる。アナログマルチプレクサ１３０は６つの出力を有し、上記出力の各々は個々のＡ／Ｄ変換器５２−１乃至５２−６の入力を駆動する。アナログマルチプレクサ１３０の内部配置は、入力の４つの異なるものが出力の各々に多重化されるようなものである。アナログマルチプレクサ１３０は、６つの内部マルチプレクサブロック１３２−１乃至１３２−６として概念的に描かれる。
【０１２６】
　図７に示される例において、サンプル／ホールド回路５０−１乃至５０−４から取られた入力は、Ａ／Ｄ変換器５２−１を駆動する内部マルチプレクサブロック１３２−１の出力に多重化される。同様にサンプル／ホールド回路５０−５乃至５０−８から取られた入力は、Ａ／Ｄ変換器５２−２を駆動する内部マルチプレクサブロック１３２−２の出力に多重化され、サンプル／ホールド回路５０−９乃至５０−１２から取られた入力は、Ａ／Ｄ変換器５２−３を駆動する内部マルチプレクサブロック１３２−３の出力に多重化され、サンプル／ホールド回路５０−１３乃至５０−１６から取られた入力は、Ａ／Ｄ変換器５２−４を駆動する内部マルチプレクサブロック１３２−４の出力に多重化され、サンプル／ホールド回路５０−１７乃至５０−２０から取られた入力は、Ａ／Ｄ変換器５２−５を駆動する内部マルチプレクサブロック１３２−５の出力に多重化され、サンプル／ホールド回路５０−２１乃至５０−２４から取られた入力は、Ａ／Ｄ変換器５２−６を駆動する内部マルチプレクサブロック１３２−６の出力に多重化される。
【０１２７】
　アナログマルチプレクサ１３０はバス１３４によって概念的に表される１組のコントロール入力を有する。図７に示される例示的な実施形態において、内部マルチプレクサ１３２−１乃至１３２−６の各々は、４入力のマルチプレクサであり、従ってコントロールバス１３４は４つのうちの１つを選択するための２ビットバスを備えてもよい。当業者は、図７の配置は、２４個のチャンネルからのＡ／Ｄ変換のタスクに対する幾つかの特定の解決策の単なる１つであり、他の満足のゆく同様の配置が可能であることを理解するであろう。
【０１２８】
　簡単なデコーディング方法においては、マルチプレクサ１３２−１乃至１３２−６は、シーケンスに、第１乃至第４の入力上にあるアナログ電圧をＡ／Ｄ変換器５２−１乃至５２−６の入力上にそれぞれ伝送する。アナログ値がＡ／Ｄ変換器５２−１乃至５２−６の入力内で定まると、ＣＯＮＶＥＲＴコマンドが共通のＡ／Ｄコントロールライン１３６上で印加され、Ａ／Ｄ変換プロセスを開始する。
【０１２９】
　上記Ａ／Ｄ変換プロセスが完了すると、入力電圧を表すディジタル値は、レジスタ１３８−１乃至１３８−６内に記憶される。ここで好まれるように、レジスタ１３８−１乃至１３８−６は各々２ワードレジスタを備え、その結果、１ワードが演算ユニット５４に対しレジスタから読み出されてもよく、一方、第２のワードは、システムのスピードを最大にするために、レジスタに書き込まれている。そのようなレジスタの設計は技術的に従来のものである。
【０１３０】
　ここで図８を参照すると、演算ユニット１６のより詳細なブロック図が表される。当業者は、演算ユニット１６は、Ｘ及びＹ次元の両方、即ち図１のＸ入力処理回路１２及びＹ入力処理回路１４の両方からの情報を処理することを理解するであろう。
【０１３１】
　演算ユニット１６の構造形状を開示する前に、タッチセンサアレイ２２に近接したオブジェクトの重心位置が、本発明に係る好ましい方法によって決定される場合に、それを実行する上記好ましい方法を理解することは有益である。
【０１３２】
　本発明の好ましい本実施形態によると、いずれかの方向におけるオブジェクト位置は、タッチセンサアレイ１０の個々のセンサライン上で測定されたキャパシタンスの重み付けされた平均値を求めることによって決定される。次の議論において、Ｘ方向が用いられるが、当業者は、この議論はＹ方向の重み付けされた平均値の決定にも同様に適用することを理解するであろう。良く知られているように、重み付けされた平均値は以下のように決定される。
【０１３３】
【数１】
2004094964.tif 000003
【０１３４】
　ここでΔＣｉ＝Ｃｉ−Ｃ０ｉである。Ｃｉはｉ番目のトレースで現時点で測定されるキャパシタンスであり、Ｃ０ｉはオブジェクトがない時より少し前に同じトレース上で測定された値である。これら過去及び現在のキャパシタンス測定値に関し、位置は次の様に表現される。
【０１３５】
【数２】
2004094964.tif 000004
【０１３６】
　加算に対する乗算の分配性を利用して、この式は次式と同様に見られる。
【０１３７】
【数３】
2004094964.tif 000005
【０１３８】
　ここで分子及び分母の負の項は、オフセットであり、オブジェクトがない時のキャパシタンスのバックグランド値を表す。項ＯＮが分子オフセットを表すために用いられてＯＤが分母オフセットを表すために用いられると、式３は次のように書き直される。
【０１３９】
【数４】
2004094964.tif 000006
【０１４０】
　ここで図８を参照すると、演算ユニット１６は、Ｘの分子及び分母アキュムレータ１５０及び１５２と、Ｙの分子及び分母アキュムレータ１５４及び１５６を含むことが見られる。Ｘの分子及び分母アキュムレータ１５０及び１５２とＹの分子及び分母アキュムレータ１５４及び１５６のためのオペランドデータのソースは、図１のタッチセンサアレイ２２の各（Ｘ及びＹ）方向でのレジスタ１３８−１乃至１３８−６である。Ｘ及びＹの分母アキュムレータ１５２及び１５６は、Ａ／Ｄ変換からのディジタル結果値を加算する。Ｘ及びＹの分子アキュムレータ１５０及び１５４は、単純な和よりむしろ入力データの重み付けされた和を計算する。アキュムレータ１５０、１５２、１５４及び１５６は、当業者によって容易に理解されるように、ハードウエアエレメント又はマイクロプロセッサ上で実行するソフトウエアとして構成することができる。
【０１４１】
　図８の考察から分かるように、分子アキュムレータ１５０及び１５４は式４における次式の項を計算し、
【０１４２】
【数５】
2004094964.tif 000007
【０１４３】
　分母アキュムレータ１５２及び１５６は式４における次式の項を計算する。
【０１４４】
【数６】
2004094964.tif 000008
【０１４５】
　Ｘ及びＹの分子及び分母オフセットレジスタ１５８、１６０、１６２及び１６４のコンテンツは、加算器１６６、１６８、１７０及び１７２においてアキュムレータ１５０、１５２、１５４及び１５６に記憶された結果値から減算される。加算器１６６はＸの分子オフセットレジスタ１５８内に記憶されたオフセットＯＮＸを減算する。加算器１６８はＸの分母オフセットレジスタ１６０内に記憶されたオフセットＯＤＸを減算する。加算器１７０はＸの分子オフセットレジスタ１６２内に記憶されたオフセットＯＮＹを減算する。加算器１７２はＹの分母オフセットレジスタ１６４に記憶されたオフセットＯＤＹを減算する。分子及び分母のペアは除算ブロック１７４及び１７６により除算され、Ｘ及びＹ位置データを生成し、Ｘ及びＹの分母のペアはブロック１７８によって用いられて、Ｚ軸（圧力）データを生成する。ブロック１７８によって実行される機能は後で開示される。オフセットＯＤＸ、ＯＮＸ、ＯＤＹ及びＯＮＹは較正ユニット１８０によって命令されると、アキュムレータのコンテンツからサンプリングされる。
【０１４６】
　本発明のシステムのアーキテクチャは幾つかの方法で分割され、その方法のいくつかは、本発明のシステムが接続されたホストコンピュータ内にあろうと、ここで述べる集積回路とホストコンピュータとの間の任意の位置にあろうといずれにしてもマイクロプロセッサーの利便性を含むことを、当業者は容易に認識するであろう。本発明の実施形態は、合計項を表す集計分子及び分母値が、処理のためのＯＮ及びＯＤオフセット値と共にそのようなマイクロプロセッサに送信されたり、又は全ての処理が、該技術で知られているようにプログラミングされたマイクロプロセッサによって達成されるような場合に、意図される。
【０１４７】
　まず最初に、分子及び分母アキュムレータ１５０、１５２、１５４及び１５６は、システム立ち上がりの間はゼロに設定される。もし図７に示される多重化されたＡ／Ｄ変換器が使用されるならば、レジスタ１３８−１の第１のワード内のディジタル化された電圧データ（サンプル／ホールド回路５０−１の出力での電圧を表す）は、アキュムレータの合計に加算され、その結果はアキュムレータに記憶される。続いて、レジスタ１３８−２乃至１３８−６の第１のワードに記憶されたディジタル化された電圧値（サンプル／ホールド回路５０−５、５０−９、５０−１３、５０−１７及び５０−２１の出力での電圧をそれぞれ表す）は、アキュムレータの合計に加算され、その結果はアキュムレータに記憶される。前述されたようにＡ／Ｄ変換器５２−１乃至５２−６は、この時サンプル／ホールド回路５０−２、５０−６、５０−１０、５０−１４、５０−１８及び５０−２２の出力にある電圧を変換し、レジスタ１３８−１乃至１３８−６の第２のワードにおけるディジタル値を記憶してもよい。
【０１４８】
　次に続いて、レジスタ１３８−１乃至１３８−６の第２のワードに記憶されたディジタル化された電圧値（サンプル／ホールド回路５０−２、５０−６、５０−１０、５０−１４、５０−１８及び５０−２２の出力での電圧をそれぞれ表す）は、アキュムレータの合計に加算され、その結果はアキュムレータに記憶される。
【０１４９】
　引き続いて、レジスタ１３８−１乃至１３８−６の第１のワードに記憶されたディジタル化された電圧値（サンプル／ホールド回路５０−３、５０−７、５０−１１、５０−１５、５０−１９及び５０−２３の出力での電圧をそれぞれ表す）はアキュムレータの合計に加算され、その結果はアキュムレータに記憶され、次いで、レジスタ１３８−１乃至１３８−６の第２のワードに記憶されたディジタル化された電圧値（サンプル／ホールド回路５０−４、５０−８、５０−１２、５０−１６、５０−２０及び５０−２４の出力での電圧をそれぞれ表す）が同様に処理される。
【０１５０】
　この時点で、上記複数のアキュムレータは個々のディジタル化された電圧値の全合計を保持する。ＯＮ及びＯＤオフセットレジスタ１５８、１６０、１６２及び１６４に記憶されたディジタル値は、今や分子及び分母アキュムレータに記憶された値からそれぞれ減算される。次いで、除算器である除算ブロック１７４及び１７６における除算演算は重み付けされた平均値の計算を完了する。
【０１５１】
　除算演算はまた、アキュムレータ内に記憶された上記値をフェッチし又は記憶そのものを実行することができる外部マイクロプロセッサによって実行されてもよい。ＯＮ及びＯＤオフセット値はここでは外部マイクロプロセッサによって導出されるので、この除算演算による上記外部マイクロプロセッサに渡される付加的処理コストは最小になる。あるいは代わって、この特定の目的のためのマイクロプロセッサは、ここで開示された本発明から逸脱することなく、これらの処理タスクを実行するためにチップ上に含まれてもよい。
【０１５２】
　上に開示された処理は、約１ミリ秒以内で起こり、繰り返し実行される。現在のマウスの標準は、位置情報を１秒当たりに４０回更新しており、従って、本発明の装置は容易にこの繰り返し速度で実行される。
【０１５３】
　本発明で使われる方法の特性のために、本発明のシステムにおける付加的ハードウエアを要せずに付加的なノイズの除去を提供する機会が存在する。上に開示された過程が実行された後、アキュムレータは空にされ、プロセスが繰り返されることが明白である一方、上記値はまたアキュムレータに残存することが許されてもよい。もしこのことが行われると、平均化機能が実行されて、さらにノイズを除去することを実行する。本発明のこの態様によると、幾つかのサンプルが取られ、処理シーケンスの最後でそれらをクリアすることなくアキュムレータによって実行される。ここで好ましくは、２５個のサンプルは、単一の除算の結果がシステムによる使用のために取られる前に処理され、従って、遷移システムのノイズスパイクの影響を大きく減少する。当業者は、アキュムレータをクリアする前に採られるサンプル数は、データ捕捉速度、データ処理速度等のような係数により左右される設計選択の問題であることを理解するであろう。
【０１５４】
　図８の演算ユニット１６の除算ブロック１７４及び１７６によって生成されるＸ及びＹ位置データの付加的なフィルタリングを提供することが好まれる。上記フィルタリングは、図１の演算ユニット１６とジェスチャユニット１８及び２０との間において好ましくは行う。Ｘ及びＹ座標は独立した数として個々に濾波される。各フィルタは当該技術において知られる“ランニング平均”を計算する平均化レジスタである。指の存在が最初に検出されると、上記フィルタレジスタは現在の指数を用いて初期化される。次のサンプルにおいて、新しい指数は、新しいフィルタレジスタの値を生成するためにそのフィルタレジスタの値で平均化される。好ましい本実施形態において、上記値は平均値に同等に重み付けされるが、異なる重みがより強い又はより弱いフィルタリングを提供するために用いられることが可能である。上記フィルタレジスタにおける値のシーケンスは、図１のモーション及びジェスチャユニット１８及び２０によって用いられるＸ及びＹ座標として働く。
【０１５５】
　本発明のシステムは、部品の老化、湿気によるキャパシタンスの変化、接触表面の汚れ等のような変化する条件に適応可能である。更に、本発明は効果的に周囲のノイズを最小化する。本発明によると、これらの効果は３通りの方法で考慮される。まず最初に、オフセット値ＯＮ及びＯＤは変化する状況を調節するために動的に更新される。第２に、サーボフィードバック回路はバイアス電圧を決定するために提供され、上記バイアス電圧は電荷積分回路４４−１乃至４４−ｎのバイアスを設定するために用いられる。第３に、前にここで開示されたように、Ａ／Ｄ変換器のＶｍａｘ及びＶｍｉｎのための参照電圧ポイントはまた、ノイズマージンに対する信号を増大させるように動的に変更される。
【０１５６】
　ここで図９を参照すると、図８の演算ユニットと共に使われる較正ユニット１８０のブロック図が表される。較正ユニット１８０は分子及び分母オフセット値を設定するためのアルゴリズムを実行し、上記設定は、指又は他の導電性オブジェクトがタッチセンサアレイ２２に近接していない時の決定を試みることによって実行される。
【０１５７】
　前に開示されたように、ＯＮ及びＯＤオフセット値は、オブジェクトが無い場合のタッチセンサアレイのキャパシタンスのベースライン値を表す。これらの値はまた本発明に従って更新され、低すぎたり高すぎたりするベースラインレベルは、誤差の符号に依存してオブジェクトの明確な位置をシフトする効果を有する。これらの値は、オブジェクトがタッチセンサアレイ２２に無いときに読まれる値を選択することにより設定される。いつオブジェクトがタッチセンサアレイ２２にないかを“知る”ための外部の方法は無いので、本発明のもう１つの態様によるアルゴリズムが用いられ、これらのオフセット値を設定して動的に更新する。較正ユニットが、指が無い時にＺ値の中の典型値として表れるＺ値を見ると、較正ユニットは、オフセットレジスタ（図８の１５８、１６０、１６２及び１６４）にアキュムレータの現在値から再ロードするように指示する。本発明の好ましい本実施形態によれば、オフセット値を更新する決定は、Ｘ又はＹ方向の唯一つの方向におけるタッチセンサアレイ２２の挙動に基づくが、その決定が行われると、４つのオフセット（ＯＮＸ、ＯＤＸ、ＯＮＹ及びＯＤＹ）は全て更新される。本発明の他の実施形態においては、更新する決定は、ここに行われる基準に従って各方向に対して個々に行われてもよい。
【０１５８】
　較正アルゴリズムは、分母アキュムレータ値のうちの選択された１つの値における変化を監視することによって動作する。本発明によると、タッチセンサアレイ２２における導電性ラインの複数組のうちの１組のキャパシタンスの変化に対する感度は、タッチセンサアレイ２２における導電性ラインの複数組の中のうちの他の１組のキャパシタンスの変化に対する感度よりも大きいことが観察された。経験が示唆するところによると、キャパシタンス変化に対する大きな感度を有する導電性ラインの組は、他方向における導電性ラインの物理的な上部に置かれ、従ってタッチセンサアレイ２２の接触表面に最も近いというものである。導電性ラインの上部の組は、導電性ラインの下部の組をタッチセンサアレイ２２の表面上で起こるキャパシタンス変化から部分的に遮蔽する傾向がある。
【０１５９】
　指の圧力はセンサライン上で測定されたキャパシタンスを加算することによって得られる。この値は、オフセットＯＤを減算した後に分母アキュムレータに既にある。その圧力値が適切なしきい値を越えると、指は存在する。このしきい値は経験的に選択され、表面素材と回路タイミングの関数である。このしきい値は個々のユーザの好みに合うように調節されてもよい。
【０１６０】
　上記デバイスによって報告された圧力は、図８のブロック１７８において実行されるようにＸ及びＹ方向に対する分母の簡単な関数ｆ（ＸＤ，ＹＤ）である。可能な機能は、１つの好ましい分母値を選択すること又は分母を加算することを含む。好ましい本実施形態においては、二つの分母のより小さい方が選ばれる。この選択は、Ｘセンサが有効なデータを生成するがＹセンサがそうでない場合、又はその逆である場合に、もし指がパッドの端部を少し離れて動くと圧力をしきい値以下にさせる望ましい効果を有する。これは電子ベゼルとして機能し、センサ領域の縁での機械式ベゼルの代わりをすることができる。
【０１６１】
　図８の例において、Ｙ分母が最も感度が良好なので、監視のために選ばれる。選ばれた分母は較正アルゴリズムのためにＺとして参照される。この分母のための現在記憶されたオフセット値はＯｚと参照される。
【０１６２】
　較正アルゴリズムの最終目標は、指に対して確実に較正せずかつノイズから発生する瞬間スパイクの較正を行わない間に、静止しているＺレベルのゆっくりした変動を追跡することである。当業者にとって次の開示から明らかになると思われるが、較正アルゴリズムは、ディジタル若しくはアナログのハードウェア、又はソフトウェアで実行されるであろう。実際に発明者によって実験された現在の実施形態においては、較正アルゴリズムはソフトウェアで実行された。
【０１６３】
　複数のＺ値が較正ユニットに到達すると、それらはフィルタ１８２を通過する。フィルタ１８２と一緒に動作するヒストリバッファ１８４は、最近のＺ値の“ランニング平均”を保持する。新しいＺ値が到達すると、現在のランニング平均ＦＺは次式に従って更新される。
【０１６４】
［数１］
新ＦＺ＝ａ（旧ＦＺ）＋（１−ａ）Ｚ　　［式７］
【０１６５】
　ここでａは０乃至１の間の定数であり典型的には１に近く、Ｚは現在のＺ値である。好ましい実施形態においては、αは約０．９５である。その意向は、ＦＺが、Ｚにおいて短い摂動（perturbations）によって大きく影響されず、ゆっくりとした変動をたどるために十分緩慢に変化するためである。
【０１６６】
　フィルタ１８２は信号ＥＮＡＢＬＥをコントロールユニット１８６から受信する。ランニング平均ＦＺは、ＥＮＡＢＬＥが印加される時のみ、新しいＺ値に基づいて更新される。ＥＮＡＢＬＥが印加されないとき、ＦＺは一定にとどまり、現在のＺによっては影響されない。
【０１６７】
　ヒストリバッファ１８４は、幾つかの最も最近のＦＺ値を記録する。本実施形態において、ヒストリバッファ１８４は２つ前のＦＺ値までを記録する。ヒストリバッファ１８４は、シフトレジスタ、サーキュラキュー、又はアナログ遅延ラインとして実行されてもよい。ヒストリバッファ１８４がＲＥＷＩＮＤ信号をコントロールユニット１８６から受信すると、それは現在のランニング平均ＦＺを最も昔にセーブされた値に再記憶させる。それはまるでフィルタ１８２が、ヒストリバッファ１８４の深さに対応する時間量の間、“遡及的”にディスエーブル（非動作状態）にされたようである。ヒストリバッファ１８４の目的は、そのような遡及的なディスエーブルを許容することである。
【０１６８】
　現在のランニング平均ＦＺは、絶対差分ユニット１８８並びに１９０、及び比較器１９２によって現在のＺ値と現在のオフセットＯＺと比較される。絶対差分ユニット１８８はＺをＦＺと減算し、それらの差の絶対値を出力する。絶対差分ユニット１９０はＯＺ値をＦＺ値と減算し、それらの差の絶対値を出力する。比較器１９２は、絶対差分ユニット１８８の出力が絶対差分ユニット１９０の出力より小さい、即ちＦＺがＯＺよりもＺに近いとき、ＵＰＤＡＴＥ信号を印加する。上記ＵＰＤＡＴＥ信号は、Ｚの平均値が新しい静止レベルにシフトする時には印加される傾向がある。上記信号は、Ｚが通常の静止レベルからそれて少し変化するとき印加されない傾向がある。フィルタ定数ａは、この目的のために“少し”と考えられる変化度を決定する。
【０１６９】
　減算器ユニット１９４は簡単な減算器であり、ＺとＯＺとの間の符号を有する差を計算する。この減算器は図８における減算器１７２と共に実質的には余分であり、従って実際の実行の時にそれと合併されてもよい。この減算器の出力ＣＺは較正されたＺ値、即ち指の圧力の推定値である。この圧力値は、比較器１９６及び１９８によって正及び負のＺのしきい値と比較される。これらのしきい値は、実質的に大きさが等しい必要はないが、ＺＴＨ及び−ＺＴＨとして示される。
【０１７０】
　もし圧力信号ＣＺがＺＴＨよりも大きいと、信号ＦＩＮＧＥＲは印加され、指の存在の可能性を指示する。較正ユニットによって使用されるしきい値ＺＴＨは、指の存在を検出するために残りのシステムによって使われるものに類似し、又はそれは異なる値を有してもよい。本実施形態において、較正値ＺＴＨは較正ユニットが指の存在について保守的選択をすることを保証すべく、主なＺＴＨよりも多少低めに設定される。
【０１７１】
　もし圧力信号ＣＺが−ＺＴＨより小さいと、信号ＦＯＲＣＥが印加される。ＯＺは指が不在のときの静止値と等しいとされ、指はセンサキャパシタンスと従ってＺの値を増大させるだけなので、大きく負であるＣＺは、上記デバイスが直前に離れた指に対して不正確に較正したに違いないことを意味する。較正ロジック２００は、指がもはや存在しない以上、再較正を実行するために、この事実を使う。
【０１７２】
　コントロールロジック１８６は、ランニング平均ＦＺを、指が存在する時に発生するＺ値に影響されないようにする役目がある。出力のＥＮＡＢＬＥは、ＦＩＮＧＥＲ信号が真の時には一般的にオフであり、ＦＩＮＧＥＲ信号が偽の時には一般的にオンである。しかしながらＦＩＮＧＥＲが偽から真に遷移すると、コントロールロジック１８６はまたＲＥＷＩＮＤ信号を発生する。ＦＩＮＧＥＲが真から偽に遷移すると、コントロールロジック１８６は（ヒストリバッファの深さに応じて）ＥＮＡＢＬＥを印加する前に短時間待機する。従って、ランニング平均は、指が存在する前後の短時間の間と同様に指が存在する時はいつでも、Ｚを追随することを妨げられる。
【０１７３】
　較正ロジック２００は、３つの比較器１９２、１９６及び１９８の出力から信号ＲＥＣＡＬを発生する。ＲＥＣＡＬが印加されると、オフセットレジスタＯＮ及びＯＤは現在のアキュムレータ値から再ロードされる。ＲＥＣＡＬは次の論理式から生じる：
【０１７４】
［数２］
ＲＥＣＡＬ＝ＦＯＲＣＥ又は（ＵＰＤＡＴＡ及びＦＩＮＧＥＲではない）［式８］
【０１７５】
　加えて、上記システムが、電荷積分器及び他の回路が安定するのを待つ短期間の後にまず最初に初期化されると、較正ロジック２００はＲＥＣＡＬを印加する準備を行う。
【０１７６】
　コントロールロジック１８６及び較正ロジック２００の説明から、これらのブロックは、従来のロジックを使って簡単でごく普通のロジック設計として容易に構成できることは，当業者には明白であるであろう。
【０１７７】
　いかなる当業者にとっても、説明された較正アルゴリズムは、該発明の電荷積分器及びアキュムレータの特定のシステムにとって特別なものではないということは明白なはずである。むしろそれは、近接度又は圧力のデータを生成するあらゆるタッチセンサに使用されることが可能であり、上記タッチセンサにおいては、指がない又は偽のノイズがある時は、センサの状態を反映した較正点を維持することが所望される。
【０１７８】
　図１０をここで参照すると、本発明において有用なバイアス電圧発生回路４６が概略図の形式で示される。本発明の好ましい本実施形態によると、電荷積分回路４４−１乃至４４−ｎのすべてのバイアストランジスタのＰチャンネルＭＯＳトランジスタ１０８（図４Ｂ）は、バイアス電圧の単一のソースに接続されたゲートを有するが、当業者は他の配置も可能であることを認識するであろう。電荷積分回路４４−１乃至４４−ｎによって必要とされるバイアス電圧を発生するのには幾つかの方法がある。
【０１７９】
　図１０の考察から示されるように、バイアス電圧発生回路４６は過制御サーボシステムである。電荷積分回路４４−１乃至４４−ｎのうちの典型的な１つの電流源機能に近似する参照ソースは、アースされた１つのプレートを有するコンデンサ２０２を含む。それのプレートの他の１つは、第１のパスゲート２０４を介してＶＤＤ電源装置に、かつ第２のパスゲート２０８を介して電流源トランジスタ２０６に接続される。フィルタ回路４８−１乃至４８−ｎと同一であり、フィルタ回路４８−１乃至４８−ｎと同一の信号によって制御されるフィルタ回路２１０は、フィルタ及びサンプル／ホールド回路４８−１乃至４８−ｎがタッチセンサアレイ２２内のセンサ導電体キャパシタンス上の電圧をサンプリングする方法と同一の方法でコンデンサ２０２上の電圧をサンプリングするために接続される。
【０１８０】
　フィルタ回路２１０の出力は、約０．１乃至０．２μＡの範囲のバイアス電流を有する弱トランスコンダクタンス増幅器２１２の非反転入力に与えられる。トランスコンダクタンス増幅器２１２の反転入力は、例えばダイオード２１４及び抵抗器２１６よって発生される約１ボルトの定電圧に接続される。トランスコンダクタンス増幅器２１２の出力は、コンデンサ２１８と、パスゲート２２２を介してコンデンサ２２０とによって切り換えられる。コンデンサ２２０はコンデンサ２１８よりかなり大きくなるように選択される。本発明の典型的な実施形態においては、コンデンサ２１８は約０．２ｐＦで、コンデンサ２２０は約１０ｐＦである。
【０１８１】
　コンデンサ２２０はＮチャンネルＭＯＳトランジスタ２２４のゲートに接続され、上記ＮチャンネルＭＯＳトランジスタ２２４は、ＰチャンネルＭＯＳトランジスタ２２６のドレイン及びゲートに接続されたドレインと、ＮチャンネルＭＯＳトランジスタ２２８のドレイン及びゲートに接続されたソースとを有する。ＰチャンネルＭＯＳトランジスタ２２６のソースはＶＤＤに接続され、ＮチャンネルＭＯＳトランジスタ２２８のソースはアースに接続される。トランジスタ２２４及び２２８の共通のドレインの接続はバイアス電圧出力ノードである。
【０１８２】
　オプションのパスゲート２３０は、定電圧ソース（例えば約２ボルト）とコンデンサ２２０の間で接続される。パスゲート２３０は、コンデンサ２２０を一定電圧に充電することによってバイアス発生回路４６を立ち上がり時に初期化するために用いられる。
【０１８３】
　各サンプリング間隔の間に、フィルタ回路２１０は新しいサンプル値をとる。新しいサンプル値が以前のサンプル値と異なれば、トランスコンダクタンス増幅器２１２の出力電圧は変化し、コンデンサ２１８を新しい電圧に充電又は放電することを開始する。パスゲート２２２は短時間の間（即ち、約１μｓｅｃ）オンにされ、コンデンサ２１８及び２２０上の電圧は自身を平均化することを試みる。コンデンサ２１８と２２０との間のサイズの違いが大きいため、コンデンサ２１８は、パスゲート２２２が開の時に上記期間中にその電圧を等しくするための十分な電荷を供給できない。この配置はサイクルからサイクルへのバイアス電圧における大きな変動を妨げる。
【０１８４】
　コンデンサ２０２は、可能な限りセンサアレイチャンネルのうちの１つにできるだけ同様であるべきであり、典型的なセンサラインのバックグランドキャパシタンスに等しい値を有する（即ち、オブジェクトが近接又は存在してない場合のキャパシタンスコンポーネント）。コンデンサ２０２はいくつかの方法で形成される。コンデンサ２０２はセンサアレイの一部分における余分なセンサラインを備え、上記センサアレイは、アクティブセンサラインのうちの１つに近接するように構成されるが、アース面等によって指のキャパシタンスから遮蔽される。あるいは代わって、コンデンサ２０２は、集積回路において形成される又はそれに接続されるコンデンサであり、典型的なセンサラインのそれに適合するように選択された値を有する。この点において、コンデンサ２０２とフィルタ回路２１０とを備える信号源は、Ｖｍａｘ及びＶｍｉｎ参照電圧を発生する回路に多少似ており、その点ではそれは典型的センサラインをまねている。
【０１８５】
　更にもう１つの変形例として、実際のセンサラインのうちの１つが、バイアス電圧を設定するために使われる。２つの最終点のセンサライン上の測定された電圧は比較され、最低値を有するものは、指又は他のオブジェクトがセンサアレイに接近すれば、それはそのアレイの反対側の端部に位置するセンサラインにはないであろうという原理に基づいて選定される。
【０１８６】
　本発明の他の態様により、本発明のオブジェクト位置センサがマウスの代わりにコンピュータカーソル制御装置として用いられるときに、“エッジモーション”特性が実行される。コンピュータスクリーン上で長い距離にわたりオブジェクトを動かす試みが成されるときに、実行上の問題がコンピュータマウス又は他のカーソル制御装置の使用中に生じる。小さいマウスパッドがコンピュータマウスと一緒に使われるとき、又はここに記述された種類のオブジェクト位置センサが小さなタッチセンサ面積を有するときに、この問題に遭遇する。
【０１８７】
　タッチセンサのアプリケーションにおいて、この問題は、“ドラッグ”ジェスチャの間に特に深刻である。ユーザが第２のストロークを始めるために指を挙げると、ドラッグ効果はスクリーン上で早々と終了する。本発明のエッジモーション特性は、スクリーン上で長距離を動かすために“ロウイング（rowing）”又は指の多数回のストロークを用いる必要性を除去することを助ける。
【０１８８】
　長距離ドラッグの問題に対する従来の解決法は、加速度特性、即ち“弾道性曲線”を提供することであり、そこではゲインが指のスピードの関数として変化し、繰り返される指の風を切るような（swishing）動作を使用して、とはいえ不器用に、ユーザに長距離を動かせることになる。この技術は、例えば限られたサイズのマウスパッド上でのマウスを用いた可変速ポインティングデバイスと共に使用できる。代表的なマウスドライバソフトウェアは、（ときには、“マウススピード”のような間違った名前を用いて）調整可能な加速度特性を含む。
【０１８９】
　本発明の好ましい本実施形態により、オブジェクト位置センサのエッジモーション特性は、図１のモーションユニット１８によって実行され、タッチセンサアレイ２２を含むセンシング平面１０において２つのゾーンを画成することによって機能する。図１１に示されるように、センシング平面１０は、センシング平面１０の表面のほとんどの中央部から構成される内部ゾーン２４０と、典型的にはセンサアレイの周辺の細い限界領域から構成される外部ゾーン２４２とに好ましくは分けられる。センシング平面１０の中心は、デカルト座標システムにおける原点（Ｘｃｅｎｔｅｒ，Ｙｃｅｎｔｅｒ）として説明される。しかしながら内部ゾーンと外部ゾーンはどんな形でもよいことは、当業者は認識しているであろう。
【０１９０】
　従って、図１１において、内部ゾーン２４０は、上部の点線Ｙ０、右側の点線Ｘ０、下部の点線−Ｙ０及び左側の点線−Ｘ０によって画成される。外部ゾーン２４２は、ＹＭＡＸ、−ＹＭＡＸ、ＸＭＡＸ及びＸＭＡＸによって画成されたセンシング平面１０の外端と、Ｙ０、Ｘ０、−Ｘ０及び−Ｙ０によって画成された内部ゾーン２４０の外側の境界線との間の領域である。
【０１９１】
　本発明のこの態様によると、内部ゾーン２４０内における指の動きは、通常の方法でホストコンピュータに送られるべきモーションイベントに翻訳される。当業界で良く理解されているように、マウスの動きをホストコンピュータに通信するための標準方法はまた、指の動きをホストコンピュータに通信するために本発明において使用される。ここで開示されるように指の位置が確立された後、ホストコンピュータに通信される情報は、
【０１９２】
［数３］
ΔＸ＝Ａ（Ｘｃｕｒ−Ｘｏｌｄ）　　　［式９］
［数４］
ΔＹ＝Ａ（Ｙｃｕｒ−Ｙｏｌｄ）　　　［式１０］
【０１９３】
であり、ここでΔＸは指のＸ位置における変化であり、ΔＹは指のＹ位置における変化であり、Ｘｃｕｒは指の現在のＸ位置であり、Ｘｏｌｄは最後に報告された指のＸ位置であり、Ｙｃｕｒは指の現在のＹ位置であり、Ｙｏｌｄは最後に報告された指のＹ位置であり、Ａはマウスカーソル制御アプリケーションにおいて普通に出くわす“ゲイン係数”である。
【０１９４】
　典型的には、ホストコンピュータは、（ΔＸ，ΔＹ）のイベントを取り、各軸における指示された量によってカーソルを動かし、従って、後に続くΔＸ及びΔＹの値が記憶されるように、スクリーン上の指の位置を再構築する。ここまでは、エッジモーションが考慮されない一般的なカーソルコントロールの動きである。
【０１９５】
　本発明によると、指が外部ゾーン２４２にあるとして報告されると、本発明のエッジモーション特性はイネーブルにされる（動作状態にされる）。指が外部ゾーンに有るかどうかという決定は次のように簡単な決定である。
【０１９６】
［数５］
[−Ｘ０＜Ｘｃｕｒ＜Ｘ０]は偽、又は[−Ｙ０＜Ｙｃｕｒ＜Ｙ０]は偽　　［式１１］
【０１９７】
　図１２Ａをここで参照すると、指が外部ゾーン２４２に有るかどうかという決定を行う回路２４４が概略図の形式で示される。図１２Ａは、指が外部ゾーン２４２に有るかどうかを決定するハードウエアの実施形態を図示するが、当業者は、この決定が幾つかの同等のソフトウエアルーチンのうちの１つを実行することによって容易に行われることは容易に認識するであろう。そのようなソフトウェアルーチンは、ここで説明される機能から明白であり容易である。
【０１９８】
　回路２４４は、従来のロジックによって直接的に実行されるディジタル比較器２４６、２４８、２５０及び２５２を含む。比較器２４６は、上記比較器２４６の入力のうちの１つの量Ｘｃｕｒが、上記比較器２４６の他の入力に渡された一定量Ｘ０よりも大きいときは真の信号を出力する。比較器２４８は、上記比較器２４８の入力のうちの１つの量Ｘｃｕｒが、上記比較２４８の他の入力に渡された一定量−Ｘ０よりも小さいときは真の信号を出力する。比較器２５０は、上記比較器２５０の入力のうちの１つの量Ｙｃｕｒが、上記比較器２５０の他の入力に渡された一定量Ｙ０よりも大きいときは真の信号を出力する。比較器２５２は、上記比較器２５２の入力のうちの１つの量Ｙｃｕｒが、上記比較器２５２の他の入力に渡された一定量−Ｙ０よりも小さいときは真の信号を出力する。
【０１９９】
　比較器２４６、２４８、２５０及び２５２の出力は、論理和ゲート２５４により共に論理和処理される。当業者によって理解されるように、論理和ゲート２５４のＦｉｎｇｅｒＯｕｔｅｒ信号出力は、式１１の必要条件が満たされたときのみ真である。
　本発明のエッジモーションの態様は、ユーザによって選択的にイネーブル又はディスエーブルされるということが好ましい。エッジモーション特性がイネーブルされて、指が前述のように外部ゾーンにあるとして報告されると、第２のコンポーネントが、報告された（ΔＸ，ΔＹ）イベントに加えられる。
【０２００】
［数６］
ΔＸ＝Ａ（Ｘｃｕｒ−Ｘｏｌｄ）＋Ｓ（Ｘｃｕｒ−Ｘｃｅｎｔｅｒ）［式１２］
［数７］
ΔＹ＝Ａ（Ｙｃｕｒ−Ｙｏｌｄ）＋Ｓ（Ｙｃｕｒ−Ｙｃｅｎｔｅｒ）［式１３］
【０２０１】
　ここで、Ｘｃｅｎｔｅｒはパッドの中心のＸ座標であり、Ｙｃｅｎｔｅｒはパッドの中心のＹ座標であり、Ｓは速度に対する乗法速度係数である。Ｓは、カーソルの移動が表示スクリーン上で快適な速度になるように選ばれるべきである。
【０２０２】
　例えば、指が右に適度な距離で保持されると（その結果、Ｘｃｕｒ＞Ｘ０）、カーソルは式１２及び１３の乗法速度係数Ｓによって設定された一定速度で右に“滑る”ように向かう。この係数は、ユーザの個々の好みによって調節されることが可能である。
【０２０３】
　センサアレイがＸ及びＹに異なる次元を有すれば、センサアレイの右又は左端で保持された指が、上端又は底端で保持された指と同様のカーソルの速度を生成するように、パッドの次元と同一の比率だけ相違するように、Ｘ及びＹ方向の乗法速度係数Ｓパラメータを設定することが有益である。センサアレイの好ましい本実施形態において、２４個のＸトレースと１８個のＹトレースがある。それゆえ、ＸはＹより４/３倍だけ広いので（２４個のＸトレース対１８個のＹトレース）、Ｘの乗法速度係数ＳＸは乗法速度係数ＳＹの３/４倍になるように設定される。
【０２０４】
　エッジモーション中のカーソルの滑り速度は、パッド中心からの指の距離の明らかな直接関数であり、滑り方向は、中心からの指の方向に等しい。外部ゾーンが図１１に示される好ましい“エッジマージン”形状を有すると、エッジモーションが起動されるときはいつも（正方形のパッドだと仮定すると、２の平方根＝１.４１の係数の範囲内で）、指は常に中心からの距離にほぼ等しくなる。従って、心理的効果は、方向がセンサアレイのエッジの周りの位置によって設定される場所では、エッジモーションは一定の滑り速度を含むということである。
【０２０５】
　２つの変化量の平方根は、式（１２及び１３）の中のエッジモーション項を、以下の形式の正規化係数で除算することによってキャンセルされる：
【０２０６】
【数７】
2004094964.tif 000009
【０２０７】
　しかし、このことは、平均的なユーザにとって若干知られるようになっている問題を調整するために使用される計算的な意図的ステップであり、従って、それは省略されてもよい。
【０２０８】
　上述されたように、指が外部ゾーンにあると、Ｘ及びＹ軸の両方に対するグローバルな信号であるＦｉｎｇｅｒＯｕｔｅｒ信号が真にされ、インクリメントが式１２及び１３に従って（ΔＸ，ΔＹ）イベントに加えられる。Ｓ（Ｘｃｕｒ−Ｘｃｅｎｔｅｒ）及びＳ（Ｙｃｕｒ−Ｙｃｅｎｔｅｒ）に対応するインクリメントは、（ΔＸ，ΔＹ）イベントに対してそれぞれＸ及びＹ方向で加えられるので、カーソルの動きの方向は、パッドの中心から指の位置へのベクトルに沿うであろう。グラフィックの環境においては、多くの垂直及び水平的なオブジェクトがあり、エッジモーションの使用は幾つかの意図されない結果を受ける。例えば、グラフィック環境におけるユーザが背の高いポップアップメニューをプルダウンすると、ユーザはメニューの底に到達するためのエッジモーション特性の手助けを必要とするかもしれない。しかしながら、この場合においては、ユーザがＹ軸に沿った垂直の動きでカーソルを動かしたいときに、カーソルの動きの方向は、カーソルがポップアップメニューから出てしまうことを引き起こすかもしれない。
【０２０９】
　本発明の別のエッジモーション特性の実施形態において、カーソルの動きの方向は、指が外部ゾーンに移動するときに横切るエッジモーション境界に直行する。
【０２１０】
　例えば、指がＸ軸に対応するエッジモーション境界のいずれか（タッチパッドの右及び左端）を横切り、外部ゾーンに移動するとき、直交エッジモーション特性のためのカーソルの動きの方向は、Ｘ軸に沿うだけである。指がＸ軸に対応する外部ゾーンに存在する間のＹ方向でのいかなるカーソルの動きは通常の方法で起こり、即ち、エッジモーション特性には従わない。同様に、指がＹ軸に対応するエッジモーション境界のいずれか（タッチパッドの上及び下端）を横切り、外部ゾーンに移動するとき、エッジモーション特性のためにカーソルの動きの方向はＹ軸だけである。指がＹ軸に対応する外部ゾーンに存在する間のＸ方向でのいかなるカーソルの動きも通常の方法で起こり、即ち、エッジモーション特性に従わない。しかしながら、指がパッドの４つのコーナーのいずれかに入り、従って、Ｘ及びＹエッジモーション境界の両方を横切ると、エッジの動きはパッドの中心から上記コーナーにおける指までのベクトルに本質的に沿っていることは理解されるべきである。
【０２１１】
　指が外部ゾーンに存在することを示すべきグローバルなＦｉｎｇｅｒＯｕｔｅｒ信号を使用するエッジモーション特性とは異なり、直交エッジモーション特性は２つの信号を有する。１つはＸのＦｉｎｇｅｒＯｕｔｅｒであり、もう１つはＹのＦｉｎｇｅｒＯｕｔｅｒである。好ましい実施形態におけるタッチパッドの左及び右端上にあるＸ軸に対応する境界線のいずれかを指が横切るときに、ＸのＦｉｎｇｅｒＯｕｔｅｒが真であり、好ましい実施形態におけるタッチパッドの上及び下端上にあるＹ軸に対応する境界線のいずれかを指が横切るときに、ＹのＦｉｎｇｅｒＯｕｔｅｒは真である。
【０２１２】
　図１２Ｂにおいて、指が外部ゾーンにあるかどうかを直交エッジモーション特性に従って決定することに使用されるハードウェアの概略図が示される。図１２Ｂにおいて示される回路は同等のソフトウェアルーチンで実行されることができることは、当業者によって認識されるであろう。ここでは適切に、図１２Ｂは図１２Ａに示される同一の参照番号を使用する。
【０２１３】
　ここで図１２Ｂを参照すると、回路２５６は、従来のロジックによって実行されるディジタル比較器２４６、２４８、２５０及び２５２を含む。比較器２４６は、上記比較器２４６の入力のうちの１つの量Ｘｃｕｒが上記比較器２４６の他の入力に伝送される一定量Ｘ０より大きいとき、真の信号を出力する。比較器２４８は、上記比較器２４８の入力のうちの１つの量Ｘｃｕｒが上記比較器２４８の他の入力に伝送される一定量−Ｘ０より少ないとき、真の信号を出力する。比較器２５０は、上記比較器２５０の入力のうちの１つのＹｃｕｒが上記比較器２５０の他の入力に伝送される一定量Ｙ０より大きいとき、真の信号を出力する。比較器２５２は、上記比較器２５２の入力のうちの１つの量Ｙｃｕｒが上記比較器２５２の他の入力に伝送される一定量−Ｙ０より少ないとき、真の信号を出力する。
【０２１４】
　比較器２４６及び２４８の出力は論理和ゲート２５８によって共に論理和処理される。次の条件が満足されると：
［数８］
−Ｘ０＜Ｘｃｕｒ＜Ｘ０は偽
【０２１５】
　真の信号であるＸのＦｉｎｇｅｒＯｕｔｅｒが論理和ゲート２５８から出力される。
　比較器２５０及び２５２の出力は論理和ゲート２６０によって共に論理和処理される。次の条件が満足されると：
【０２１６】
［数９］
−Ｙ０＜Ｙｃｕｒ＜Ｙ０は偽
【０２１７】
　真の信号であるＹのＦｉｎｇｅｒＯｕｔｅｒが論理和ゲート２６０から出力される。
【０２１８】
　従って、ＸのＦｉｎｇｅｒＯｕｔｅｒ信号は、式１２において述べられたＳ（Ｘｃｕｒ−Ｘｃｅｎｔｅｒ）によって決められた量でΔＸイベントに加算された値を結果として生じる。しかしながら、このときだけ、このコンポーネントは、Ｘ軸のエッジモーションの境界線が横断されるときに加算されるので、即ち、Ｓ（Ｘｃｕｒ−Ｘｃｅｎｔｅｒ）によって決められた付加的なコンポーネントは、Ｙ軸のエッジモーションの境界線だけが横断されたときにはΔＸに加算されないので、上記ΔＸイベントに加算されたコンポーネントはほぼ一定になり、なぜならば、Ｘｃｕｒ−Ｘｃｅｎｔｅｒがほぼ一定だからである。
【０２１９】
　ＹのＦｉｎｇｅｒＯｕｔｅｒ信号は、式１３において述べられたＳ（Ｙｃｕｒ−Ｙｃｅｎｔｅｒ）によって決められた量でΔＹイベントに加算される値を結果として生じる。しかしながら、このときだけ、このコンポーネントは、Ｙ軸のエッジモーションの境界線が横断されるときに加算されるので、即ち、Ｓ（Ｙｃｕｒ−Ｙｃｅｎｔｅｒ）によって決められた付加的なコンポーネントは、Ｘ軸のエッジモーションの境界線だけが横断されたときにはΔＹイベント（事象）には加算されないので、上記ΔＹイベントに加算されたコンポーネントはほぼ一定になり、なぜならＹｃｕｒ−Ｙｃｅｎｔｅｒがほぼ一定だからである。
【０２２０】
　よって、直交エッジモーション特性は８方向の“コンパス”の方位でカーソルの動きを可能にする。例えば、指がタッチパッドの左端上にあると、ＸのＦｉｎｇｅｒＯｕｔｅｒが真でＹのＦｉｎｇｅｒＯｕｔｅｒが偽であるので、直交エッジモーション特性は、カーソルをＸ軸に沿って左に滑らせる。カーソルがＸ軸に沿って右に滑らすことを除いて、同一のものがパッドの右端に対して真である。当業者は、パッドの上及び下端に対する対応する動きを理解するであろう。指がパッドのコーナーのいずれかにあると、ＸのＦｉｎｇｅｒＯｕｔｅｒ及びＹのＦｉｎｇｅｒＯｕｔｅｒは両方とも真であり、動きは、パッドのコーナーから指が置かれた場所に４５度の角度に沿っていく。
【０２２１】
　本発明のエッジモーション特性は、ユーザがそれを予想しなければ混乱させる。エッジモーションはドラッグジェスチャと関連して最も有益であるので、ドラッグの間だけ、つまりジェスチャロジックが事実上“マウスボタンを押し下げている”ときにだけ、それが起こるように取り決めることが好ましい。ドラッグジェスチャ及び他のジェスチャは図１のジェスチャユニット２０によって実行される。
【０２２２】
　エッジモーション機能が所望されないときに、外部ゾーン２４２は“立ち去り”（つまり、無視されて）、内部ゾーン２４０が全体のセンシング平面２４２をカバーするように効果的に拡張する。このことは実際問題として非常に混乱を減少させることが見受けられ、なぜなら、おそらくは、ユーザが単純なカーソルモーション中よりドラッグジェスチャ中の方がカーソル制御装置に意識的に気付くからであろう。
【０２２３】
　図１１の好ましいゾーンの境界線の形状を仮定すると、次のアルゴリズムが本発明のエッジモーション特性を実行するために使用される。
【０２２４】
［数１０］
ＩＦ　ＮＯＴ（−Ｘ０＜Ｘｃｕｒ＜Ｘ０　ＡＮＤ　−Ｙ０＜Ｙｃｕｒ＜Ｙ０）
　ＡＮＤ　（オプションで）ドラッグジェスチャが進行中であれば、
　ｅＸ＝ＳＸ（Ｘｃｕｒ−Ｘｃｅｎｔｅｒ）
　ｅＹ＝ＳＹ（Ｙｃｕｒ−Ｙｃｅｎｔｅｒ）
ＥＬＳＥ　ｅＸ＝ｅＹ＝０
ＥＮＤ　ＩＦ
【０２２５】
　別な方法では、直交エッジモーションに対して、アルゴリズムは次のようになる。
【０２２６】
［数１１］
ＩＦ　ＮＯＴ（−Ｘ０＜Ｘｃｕｒ＜Ｘ０）
　ＡＮＤ　（オプションで）ドラッグジェスチャが進行中であれば、
　ｅＸ＝ＳＸ（Ｘｃｕｒ−Ｘｃｅｎｔｅｒ）
ＥＬＳＥ　ｅＸ＝０
ＥＮＤＩＦ
［数１２］
ＩＦ　ＮＯＴ（−Ｙ０＜Ｙｃｕｒ＜Ｙ０）
　ＡＮＤ（オプションで）ドラッグジェスチャが進行中であれば、
　ｅＹ＝ＳＹ（Ｙｃｕｒ−Ｙｃｅｎｔｅｒ）
ＥＬＳＥ
　ｅＹ＝０
ＥＮＤ　ＩＦ
【０２２７】
　次に、ｄＸ及びｄＹモーション項が通常のアルゴリズムから計算される：
【０２２８】
つまり
［数１３］
ｄＸ＝Ａ（Ｘｃｕｒ−Ｘｏｌｄ）
［数１４］
ｄＹ＝Ａ（Ｙｃｕｒ−Ｙｏｌｄ）
【０２２９】
　最後に、結果値のパケット（ΔＸ＝ｄＸ＋ｅＸ，ΔＹ＝ｄＹ＋ｅＹ）がホストコンピュータに転送される。当業者は、線形的比例が上記の式によって説明されることを理解するであろう。ここで用いられるように、“比例”は、生成された信号が単調関数であることを意味する。当業者は、対数又は指数関数のような反比例や非線形比例に制限されない他の単調関数が、ここで開示される原理から逸脱することなく本発明において使用されることが可能であることを理解するであろう。
【０２３０】
　このアルゴリズムのハードウェアの実行は、概略図の形式で図１３において図示される。Ｘ方向で実行される回路２６２が示され、一方で、当業者は、同等の回路がまたＹ方向において使用されることをすぐに理解するであろう。そのような当業者はまた、ソフトウエアルーチンとして図１３のハードウエアの解決法を実行する完全な等価性を、すぐに理解するであろう。
【０２３１】
　エッジモーション回路２６２は減算器回路２６４を含み、上記減算器回路２６４において、遅延器２６６に記憶された前のＸｃｕｒ値が現在のＸｃｕｒ値から減算される。減算器回路２６４の出力は乗算器２６８に伝送され、上記乗算器２６８はその結果をゲイン係数“Ａ”で乗算する。乗算器２６８の出力は項ｄＸである。
【０２３２】
　項Ｘｃｕｒはまた減算器回路２７０に伝送され、上記減算器２７０においてＸｃｅｎｔｅｒ値が現在のＸｃｕｒ値から減算される。減算器回路２７０の出力は乗算器２７２に渡され、上記乗算器２７２はその結果をゲイン係数“Ｓ”で乗算し、ｅＸ項の値を得る。直交エッジモーションを用いると、減算器回路２７０及び乗算器２７２は必要とされず、一定値がｅＸ項に対して与えられ、上記ｅＸ項の符号は、Ｘｃｕｒ＞Ｘｃｅｎｔｅｒのときは正であり、Ｘｃｕｒ＜Ｘｃｅｎｔｅｒのときは負であることは、理解されるであろう。
【０２３３】
　２入力論理積ゲート２７４は、図１２Ａの回路からのＦｉｎｇｅｒＯｕｔｅｒ値と、本発明のエッジモーション特性に対するトグルされたｏｎ／ｏｆｆのイネ−ブル信号であるＭｏｔｉｏｎＥｎａｂｌｅ値との２つの入力項を有する。ＦｉｎｇｅｒＯｕｔｅｒとＭｏｔｉｏｎＥｎａｂｌｅの両方が真なら、スイッチ２７６は乗算器２７２の出力を加算器２７８に伝送するように形成される。ＦｉｎｇｅｒＯｕｔｅｒ又はＭｏｔｉｏｎＥｎａｂｌｅのいずれかが偽なら、スイッチ２７６はゼロ値を加算器２７８に伝送するように形成される。スイッチ２７６の出力はｅＸ項である。加算器２７８の出力がホストコンピュータにΔＸとして伝送される。ＭｏｔｉｏｎＥｎａｂｌｅ信号は、例えばコントロールパネルによってユーザにより制御されることが可能である。あるいは代わって、さらにより完全に開示される予定であるジェスチャユニットによって制御されてもよい。
【０２３４】
　エッジモーションの代わりに直交エッジモーションがイネーブルされると、２入力論理積ゲート２７４は、図１２Ｂの回路からのＸのＦｉｎｇｅｒＯｕｔｅｒ値（又はＹ方向に対する図１２Ｂの回路からのＹのＦｉｎｇｅｒＯｕｔｅｒ値）と、本発明のエッジモーション特性のためのトグルされたｏｎ／ｏｆｆのイネーブル信号であるＯｒｔｈｏＭｏｔｉｏｎＥｎａｂｌｅ値とである入力項を有することは理解されるであろう。ＸのＦｉｎｇｅｒＯｕｔｅｒとＯｒｔｈｏＭｏｔｉｏｎＥｎａｂｌｅの両方が真であれば、スイッチ２７６は乗算器２７２の出力を加算器回路２７８に伝送するように形成される。ＸのＦｉｎｇｅｒＯｕｔｅｒとＯｒｔｈｏＭｏｔｉｏｎＥｎａｂｌｅのいずれかが偽であれば、スイッチ２７６はゼロ値を加算器２７８に伝送するように形成される。スイッチ２７６の出力はｅＸ項である。加算器２７８の出力はホストコンピュータにΔＸとして伝送される。ＯｒｔｈｏＭｏｔｉｏｎＥｎａｂｌｅ信号は、例えばコントロールパネルによってユーザにより制御されることが可能である。あるいは代わって、さらにより完全に開示される予定であるジェスチャユニットによって制御されてもよい。
【０２３５】
　変形例の形態において、指が“外部”ゾーンにあるとき、そのゾーンの２つの項を加えるよりも、ｄＸをｅＸ項に置き換え、同様にｄＹをｅＹ項に置き換える。これは、ユーザが導くことがより困難なより“純粋な”エッジモーションを結果として生じる。ユーザテストは、上記で示されたｄＸ＋ｅＸの形式が、より優秀であると感じておりかつより使用しやすいことを示している。
【０２３６】
　機能的ではあるが望ましくないと思われてきた別の変形例は、やや広い外部ゾーンを使用する。滑り速度はそのとき、パッドの中心からの距離よりも外部ゾーンへの指の距離に比例して変化する。従って、指が外部ゾーンに入ると、滑り速度はゼロで開始し、指がパッドの端に近づくにつれてある合理的な限界にまで増加する。その結果は、エッジモーションと通常の動きとの間のスムーズな遷移である。この変形モーションを生成するために上記の式を変更することは難しくはない。エッジモーションモードへの遷移はあまりにも突然に見えるので、この変形例が発明者によって試みられ、幾つかのテストは、この突然さは実際には典型的な使用によるものであることを示している。スムーズな遷移は感じることが難しく、従って、ユーザが驚きを持って終結する場合が多いであろう。当業者は、前述の２つの方法の間の中間の解決法が急峻性の少ない遷移を生成するために使われうることを、理解するであろう。
【０２３７】
　長距離のドラッグの問題に対する別の解決法は、ここで開示されるような“ロック中”のドラッグ又はドラッグ“拡張”を提供することである。
【０２３８】
　本発明のエッジモーション特性は、センサアレイ上でユーザによって実行されかつこのシステムによって認識される、１回又はそれ以上の指のジェスチャを都合よく用いて使用される。基本的なタップ及びドラッグジェスチャは特に興味深い。タップジェスチャは、従来のマウス上でマウスボタンをクリックすることと似ており、オブジェクトをドラッグするという概念は、全てのマウスのユーザに親しまれている。
【０２３９】
　マウスのようなポインティングデバイスは１つ又はそれ以上のマウスボタンを典型的に含む。ユーザは、スクリーン上の目的物を選択するために、その方向に向けてボタンをクリックし、スクリーンの周囲で目的物をドラッグするために、ボタンを押したままマウスを移動させることが可能である。タッチセンサポインティングデバイスは“複数のジェスチャ”を提供し、上記ジェスチャは、物理的なスイッチの必要性なくマウスボタンのアクションをシミュレーションする特別な指の動きである。（ジェスチャは初心者や無能なユーザには難しいかもしれないので、同様に物理的なスイッチを提供することが好ましい。）以下の議論において、前述したように単語“指”はスタイラス（stylus）又は他の導電性オブジェクトを含むように解釈されるべきである。
【０２４０】
　図１に戻って参照すると、本発明のもう１つの実施形態によれば、ジェスチャユニット２０は、演算ユニット１６によって生成された（Ｘ，Ｙ，Ｚ）データを調査し、ホストへの（ΔＸ，ΔＹ）信号と共に送信されるべき１つ又はそれ以上の“仮想マウスボタン”信号を生成する。
【０２４１】
　図１４は図１のジェスチャユニット２０のより詳細なブロック図である。本発明によれば、本発明のジェスチャユニット２０は種々のジェスチャをサポートすることができる。ジェスチャユニット２０は、タップユニット２８０、ジグザグユニット２８２、プッシュユニット２８４及びボタンコントロールユニット２８６を含む。
【０２４２】
　幾つかの物理的スイッチはジェスチャユニット２０によってサポートされる。図１４の図式的例示において、ボタンコントロールユニット２８６への２つの入力Ａ及びＢは物理的スイッチから到来する。そのようなスイッチはタッチパッドモジュール自身に設けられてもよく、又は外部に与えられてもよい。任意の個数のスイッチが与えられてもよいが、全く無くてもよい。入力Ａ及びＢは、論理“０”及び論理“１”である２つの状態を有する。当業者は、機械的なスイッチの代わりに、スイッチ信号が特別なタッチセンサによって実施されることができ、上記特別なタッチセンサは、しきい値の比較器に与えてディジタル信号を生成するユニット４４によく似た電荷積分器によって動作されることを認識するであろう。
【０２４３】
　タップユニット２８０、ジグザグユニット２８２及びプッシュユニット２８４は、（Ｘ，Ｙ，Ｚ）のサンプル値のシーケンスを調査して、種々のタイプのジェスチャを検索する。これらの全てのユニットの出力は、スイッチ信号に加えて、ボタンコントロールユニット２８６において組み合わされ、ホストに送信される実際のボタンプレス信号を生成する。ここで開示される図式的な例示において、タッチパッドは３個のボタン（左、中、右）のポインティングデバイスをシミュレーションする。図１４のシステムは、ここで開示されたジェスチャとは異なる他のジェスチャをサポートする、又は簡単化による利益によってより少ないジェスチャをサポートするように明確に拡張されることが可能である。
【０２４４】
　ボタンコントロールユニット２８６は、多数の信号を組み合わせる幾つかの周知の方法のうちのいずれかを使用することができる。例えば、優先順序付けは種々のソース間で行われることが可能であり、又は各ボタンの出力（左、中、及び右）は、ソースのいずれかがそのボタンを指示するときはいつでも（“クリックされる”、“押される”又は“下に押されたままで保持される”を）印加される。これらの信号を組み合わせるいずれかの特定の方法は、特定のシステム形状に依存する通常の設計の詳細であり、上記のシステム形状は当業者によって容易に実行される。
【０２４５】
　好ましい本実施形態において、ボタンコントロールユニット２８６は、スイッチとジェスチャの両方を最も一般的に使用されるボタンにマッピングして、ユーザに最大の柔軟性を与える。実施形態の変形例において、スイッチとジェスチャは異なる仮想ボタンにマッピングされることができ、その結果、多数の仮想ボタンが新しいジェスチャに頼ることなくカバーされることができる。又は、ユーザはマッピングの選択を提供されることができる。
【０２４６】
　余分なボタンスイッチが、マウスボタンのような通常の役割の代わりに、ダブルクリックすることや、一般的に使用されるメニューの項目を選択すること等のような特別化されたコマンドとして処理されることを可能にすることは周知技術である。同様に、ボタンコントロールユニット２８６又はホストのソフトウェアは、マウスボタンをシミュレーションする代わりに、ここで説明された幾つかのジェスチャをソフトウェアコマンドにマッピングすることができる。そのような処理及びマッピングは当業界において周知である。
【０２４７】
　タップユニット２８０は、タップ、ドラッグ、ホップ及びタップゾーンを含むほとんどの基本的なジェスチャを復号化する。これらのジェスチャは図１５Ａ乃至図１５Ｅにおいてタイミングチャートとして図示される。図１５Ａ乃至１５Ｅの各々において、２つの信号が時間に対してグラフ化されて示され、１つはアナログ“Ｚ”（指の圧力）信号であり、もう１つはディジタル“出力”（仮想ボタンのプレス）信号である。種々の相対的な時間間隔はラベル“ｔ１”乃至“ｔ２１”で示される。
【０２４８】
　基本的な“タップ”ジェスチャはパッド上での指での素早いタップである。短期間でありかつタップ中にほとんど動かさない又は全く動かさないＸ又はＹの指の動きを含むそのようなタップは、ホストにマウスボタンの短いクリックとして伝送される。複数ボタンのマウスがシミュレーションされると、タップジェスチャは“最初の”マウスボタンの１度のクリックをシミュレーションしてもよく、又はシミュレーションされるべきボタンはシフトキー、コントロールパネル又は他の既知の手段をユーザによって選択的に使用してもよい。素早く続く２度のタップは、ホストにボタンのダブルクリックとして伝送される。一般的には、複数のタップは明示的かつ自然なように複数のクリックに変換される。
【０２４９】
　指が降ろされている間に指のストロークが（カーソルの動きに対抗する）有効なタップであるかを言うことは不可能なので、好ましい本実施形態のデバイスは指が上げられるまでボタンのクリックを報告しない。定義によるタップは非常に短いストロークなので、この遅延はユーザには通常は気付かれない。
【０２５０】
　少量の動きが、圧力をかけた指先の自然な変形であるそのような要因のために、タップストロークの間に発生する。このことが、タップジェスチャによって生成される仮想クリックがスクリーン上で誤った項目又は位置を選択することを引き起こす。このことを回避するために、指の動きがタップを不適格とするために充分大きくなる若しくは十分に長期間になるまで、上記動きは抑制されなければならない、又は指の動きは可能にされるが、次いでタップジェスチャが認識されると遡及的にキャンセルされなければならない。少量の抑制された動きでさえユーザに気付かれるので、後者の解決法は好ましい。
【０２５１】
　本発明の好ましい本実施形態によると、モーションイベントは、通常のようにホストに送信され、またレジスタ又はキューに記憶される。タップジェスチャが認識されると、対応する反対量の動きは、既に報告された動きを“元に戻して”指が最初に検出された瞬間の元のカーソル位置に戻すために素早くやり直される。ストローク中の指の動きは幾つかのパケットのシーケンスの形式でホストに送信される。最も正確であるために、このシーケンスはセーブされて逆に再生されることが可能である。しかしながら、ホストのモーション処理が線形であると、ストローク中の全ての動き量を記憶するには十分であり、単一のパケットにおける補正モーションを送信する。典型的なマウスドライバの“加速”特性は単に高速で活動するので、線形性のこの仮定はこの情況において通常は確かである。
【０２５２】
　タップユニット２８０によって考慮される入力は、演算ユニットからの現在の（Ｘ，Ｙ）の指の位置であるＣｕｒＰｏｓ、現在の圧力値であるＺ値、及び（ミリ秒又は処理されるサンプル数のような）時間の幾つかの適切なユニットにおける現在の時刻であるＣｕｒＴｉｍｅである。
【０２５３】
　タップユニット２８０において使用される９つの変数がある。ＴａｐＳｔａｔｅは、進行中のジェスチャがなければ「なし」であり、進行中のタップ又はドラッグジェスチャがあれば「タップ」であり、進行中のロック中のドラッグ又はドラッグの拡張があれば「ロック中」である。ＴａｐＯｋａｙは、十分に高いＺ値が上記ストロークに対する現在のストロークで見受けられてタップとして識別されると、真である。ＤｏｗｎＰｏｓは、指が最後にパッド上を触った（Ｘ，Ｙ）位置である。ＤｏｗｎＴｉｍｅは、指が最後に触れた時間である。ＵｐＰｏｓ及びＵｐＴｉｍｅは、指が最後にパッドから持ち上げられた位置及び時間である。ＴａｐＢｕｔｔｏｎは、「左」、「中」又は「右」のうちの１つであり、現在のジェスチャが、左、中又は右の仮想マウスボタン上でのアクションをシミュレーションしているかどうかをそれぞれ識別する。Ｓｕｐｐｒｅｓｓは、上記仮想ボタンがダブルクリックを満足していれば真である。最後に、Ｏｕｔは、タップユニットの出力を表し、「なし」、「左」、「中」又は「右」のうちの１つである。
【０２５４】
　幾つかのパラメータがタップユニットを制御するために使用される。タップ時間（ＴａｐＴｉｍｅ）は、タップジェスチャとして識別するストロークの最大期間である。ドラッグ時間（ＤｒａｇＴｉｍｅ）は、ドラッグジェスチャを形成する指の最初のタップとリターンとの間の最大時間間隔である。拡張時間（ＥｘｔｅｎｄＴｉｍｅ）は、ドラッグジェスチャが終了する前にドラッグ拡張ジェスチャの間に指がタッチパッドに降ろされている最大時間量である。ホップ時間（ＨｏｐＴｉｍｅ）は、ホップとして識別するタップに先行する最大リフト時間である。タップ距離（ＴａｐＲａｄｉｕｓ）は、タップの間に起こる最大モーション量である。ドラッグ距離（ＤｒａｇＲａｄｉｕｓ）は、ドラッグのための指の最初のタップ位置とリターン位置との間の最大距離である。ドラッグ拡張距離（ＤｒａｇＥｘｔｅｎｄＲａｄｉｕｓ）は、ドラッグ拡張として識別するために必要とされる、指を持ち上げた位置と指を降ろす位置との間の最小距離である。ホップ距離（ＨｏｐＤｉｓｔａｎｃｅ）は、ホップとして識別するために動かされる最大距離である。Ｚｔｈｒｅｓｈは、指を検出するための最小圧力（Ｚ）である。ドラッグ拡張速度（ＤｒａｇＥｘｔｅｎｄＳｐｅｅｄ）は、ドラッグ拡張として識別するために指を持ち上げている間に必要とされる最小スムーズ速度である。ここで請求の範囲において、指又は他のオブジェクト（又はその効果への他の単語）の“存在を検出すること”を列挙する複数のステップは、Ｚｔｈｒｅｓｈより大きな圧力が検出されることを仮定する。最後に、ＺＴａｐは、タップする指を検出するための最小Ｚである。
【０２５５】
　図１５Ａは、基本的なタップジェスチャのタイミングを示す。まず最初に、成功したタップが示され、長すぎてタップとして識別できない指のストロークがその後に続く。最初のストロークにおいて、指は“ｔ１”時間中に下ろされ、上記“ｔ１”時間はタップ時間より短い。（図１５Ａでは見られないが）“ｔ１”時間中の（ｘ，ｙ）の動きはまた、タップ距離より小さい。最後に、Ｚ信号が少なくともストロークの幾つかの部分でしきい値ＺＴａｐを越える。よって、上記ストロークはタップとして識別される。（図１５Ａの下側のトレースである）Ｏｕｔ信号は、ある時間量“ｔ２”の間は真になり、次いで、偽になる。後述するように、時間量“ｔ２”はドラッグ時間と等しい。以下で示すフローチャートで説明される上記デバイスにおいて、タップ状態ＴａｐＳｔａｔｅ変数は時間間隔全体の“ｔ２”中のＴａｐと等しい。ここで好ましいように、タップ時間は約４００ｍｓｅｃであり、タップ距離はセンサパッドの幅の約２％であり、ＺｔａｐはＺｔｈｒｅｓｈよりやや大きく、上記Ｚｔｈｒｅｓｈの値は、ユーザによって調整可能である。
【０２５６】
　図１５Ａの右半分では、指は、“ｔ３”として図で示されるパラメータであるタップ時間より長い間、下に降ろされている。従って、タップジェスチャとしては識別せず、Ｏｕｔ信号はこのストロークからは生成されない。
【０２５７】
　基本的なドラッグジェスチャにおいては、ユーザは一度タップし、再び指をパッドと接触させ、次いで、指をパッドのＸＹ平面における所望の方向に移動する。シミュレーションされるマウスボタンは、ドラッグジェスチャの開始で押し下げされ、指が再びパッドから持ち上げられるときにだけ解放される。ジェスチャロジックは、付加的な別個のボタンクリックを用いてホストに伝送するよるむしろ拡張されたドラッグに組み込まれるように、ドラッグジェスチャの最初のタップを取り決める。
【０２５８】
　ドラッグジェスチャの変形例において、上述されたジェスチャは、指が持ち上げられる時でさえ継続するドラッグを開始する。指がセンサパッド上で再びタップされると上記ドラッグは終了する（即ち、シミュレーションされるマウスボタンが解放される）。この特性は“ロック中のドラッグ”として知られる。ロック中のドラッグは、小さいパッド上での単一の指の動きによってカバーされるドラッグよりもより長距離にわたるドラッグを可能にするが、誤ってオンにされると、非常に混乱させる。ロック中のドラッグは、隠れモードになり、上記隠れモードは、ユーザインターフェースの研究において周知である望ましくない項目である。従って、好ましい実施形態にいて、それは、デフォルトによってディスエーブルされるオプションとしてユーザに渡される。
【０２５９】
　ドラッグジェスチャの別の実施形態において、ドラッグタイムアウトとして参照される特定の時間期間内にタッチパッドに指を下ろせば、指が持ち上げられたとしても、上述されたジェスチャは継続する。この特性は、ドラッグ“拡張”として参照される。ドラッグタイムアウト期間はここでは５００ｍｓｅｃが好ましいが、当業者によって理解されるように、ユーザの研究によって最適化されるであろう。もちろん、ドラッグジェスチャは、指がタッチパッドから離れてドラッグタイムアウト内に戻らなければ終了する。
【０２６０】
　よって、ドラッグ拡張特性がイネーブルされると、指がドラッグタイムアウトより短い間にパッドから上げられると、ドラッグジェスチャは続くが、指がタイムアウトより長い間タッチパッドから離れると、ドラッグジェスチャは終了する。このことは、長距離でのドラッグを繰り返し行うための“なでる”又は“ロウイングする”能力をユーザに与える。ロック中のドラッグには似てないが、ドラッグの最後が、人間の知覚には非常に短い期間であるドラッグタイムアウトの後で発生するので、もし指が時間内にタッチパッドに戻らなければ、ドラッグ拡張はユーザに隠れモードとして現れない。
【０２６１】
　しかしながら、問題がドラッグ拡張と共に持ち上がり、なぜなら、上記ドラッグは、ドラッグが終了したとしてもドラッグタイムアウトを通して継続するからである。ユーザがすぐに終了するドラッグを欲する場合があり、例えば、ドラッグジェスチャがスクロールバーの矢を下にして保持するために使用される場合等である。一般的に、これらの矢は、ユーザがマウスボタンを離すまで自動的に繰り返す。ドラッグタイムアウト中のドラッグジェスチャの継続は、スクロール特性に所望する停止位置を越えてスクロールさせる。
【０２６２】
　よって、ドラッグジェスチャは実際には、２つの異なるジェスチャを表す。真のドラッグは、ここでは、仮想ボタンが押されている間にカーソルが周囲を移動されるものであり、プレスは、ここでは、仮想ボタンが押されている間にカーソルが静止状態を残すことである。ドラッグ拡張特性は真のドラッグに対して所望されるだけである。真のドラッグとプレスとの間を区別する幾つかの方法が存在する。持ち上げる前の指の動きの速度が小さいしきい値を越えれば、真のドラッグは識別される。指が全体のジェスチャを通して、静止している、無視できるほど小さい、取るに足らない動きである又は指がちょうど持ち上げたときであれば、プレスが識別される。本発明のドラッグ拡張ジェスチャの好ましい本実施形態において、真のドラッグとプレスとの区別は、特定のしきい値を越えている指を持ち上げるときの指の速度によって識別される。指を持ち上げるときの指の速度は、ランニング平均フィルタの出力として得られる。上記速度が特定のしきい値より下であれば、ドラッグは拡張されるより終了する。実施形態の変形例においては、真のドラッグとプレスとの区別は、指を持ち上げるときの指の位置によって識別される。指が持ち上げた位置でパッドの端からある選択された距離内であれば、真のドラッグが識別される。
【０２６３】
　第２の潜在的問題は、ユーザが拡張時間期間中に新しい関連のない指のアクションを開始すると、ドラッグ拡張を使用する間に発生する。上述したように、ドラッグ拡張がイネーブルされるときに、指がドラッグタイムアウト内にタッチパッドに戻ると、指がタッチパッドから持ち上げられてもドラッグは継続する。それは、ユーザは実際には、指を持ち上げてドラッグを終了して、指をタッチパッドに戻して新しいジェスチャを開始することを望んでいる場合であるかもしれない。ドラッグジェスチャが継続しているか又は終了されているかを決定する１つの方法であって、開始される新しい指のアクションを決定する上記１つの方法は、指を持ち上げる位置と指を下ろす位置とを比較することである。通常は、拡張されたドラッグの次のストロークは、前のストロークが終了したスポットで開始はしないであろう。それゆえ、指が（特定のドラッグタイムアウト内で）持ち上げた位置から特定の距離内で下げられれば、ドラッグ拡張特性はドラッグを継続することを可能にし、他ではドラッグはすぐに終了する。しかしながら、ドラッグ拡張特性は、好ましくはないが指を下げた位置を指を持ち上げた位置と比較することなく実行されてもよく、ドラッグがすぐに終了する必要がないことを、当業者によって理解されるであろう。
【０２６４】
　前述された上記“エッジモーション”特性は、変形方法として機能して、長距離のドラッグを達成する。
【０２６５】
　ドラッグジェスチャは以下のように実行される。タップが認識されると、仮想マウスボタンが前述されたように押し下げられる。しかしながら、ドラッグジェスチャとしては不適格であると判断される十分な時間量の間、指がパッドから離れるまで、仮想マウスボタンは離されない。この時間量であるドラッグ時間は、快適なドラッグジェスチャを可能にするためには十分に長いが、タップジェスチャから生じるクリックがそれでも適度に短いように十分短くなるように選択されるべきである。ここで好ましくは、約２００ｍｓｅｃの時間が使用される。
【０２６６】
　図１５Ｂにおいて示されるように、ドラッグジェスチャは、タップ時間より短い期間“ｔ４”の上述されたようなタップで開始する。Ｏｕｔ信号はこのタップに応答してハイになる。指はドラッグ時間より短い期間“ｔ５”の間、パッドから離れて、次いで、指はパッドに戻り、タップ時間より長い時間“ｔ６”の間、維持する。このことは上記ジェスチャをドラッグとして識別する。上記Ｏｕｔ信号は、指が最後に時間“ｔ７”で離されるまでハイを保つ。図１５Ｂの実施においては、指の除去と仮想マウスボタンの解放との間の時間“ｔ７”はゼロであり、他の同様の実施においては、これはゼロではないが、例えばドラッグ時間と等しいぐらい小さい。タップ状態ＴａｐＳｔａｔｅは“ｔ５”から“ｔ７”までの間隔全体の間は「タップ」と等しいことに注意されたい。
【０２６７】
　ドラッグ時間のタイミングのために考慮される幾つかの変形例が存在する。図１５Ａは間隔“ｔ２”を示し、上記間隔“ｔ２”はまたパラメータのドラッグ時間と正確に等しい間隔“ｔ６”での上限である。ある１つの変形例において、ドラッグ時間は、Ｕｐｔｉｍｅの代わりのＤｏｗｎＴｉｍｅに関連して測定され、それは、間隔“ｔ１”及び“ｔ２”（それぞれ“ｔ５”及び“ｔ６”）がドラッグ時間に加算しなければならないと言うことと同等である。この方法の結果は、基本的なタップジェスチャにおいて、より長くより遅いタップはより短い仮想ボタンのクリックを引き起こすことである。この矛盾は、図１５Ａ乃至図１５Ｂにおいて示されるアプローチよりもユーザをより不満にさせるこのアプローチを形成する。
【０２６８】
　別の変形例において、ドラッグ時間は間隔“ｔ１”（それぞれ“ｔ５”）の長さに比例して形成され、その結果、短いタップは短い仮想ボタンのクリックを行い、（制限タップ時間までの）より長いタップはより長いクリックを行う。この変形例はシミュレーションされるボタンのクリックにわたるより多くの制御をユーザに与えるが、それによって、その振る舞いをユーザがタッピングアクションのささいな特性を感知するものに依存させてしまう。
【０２６９】
　間隔“ｔ１”の長さに“比例する”ドラッグ時間の期間を形成する幾つかの方法が存在する。ある１つの場合において、仮想ボタンのクリックの長さ又はドラッグ時間は、ユーザによるタップの長さの直接関数である。上記のパラグラフにおいて前述したように、短いタップは短い仮想ボタンのクリックを行い、長いタップは長いクリックを行う。このアプローチは、通常はより遅いタップを行いかつドラッグジェスチャを開始するために指を戻すためにより長い時間期間を必要とする初心者のユーザに、利点を与えるであろう。不幸にも、より長いドラッグ時間はまた、より長い仮想ボタンのクリック（ＯＵＴ信号）を結果として生じ、上記仮想ボタンのクリックは、故意ではないバーの自動的な繰り返し又は“どもり（stutterring）”を含む所望しない副作用を有するかもしれない。
【０２７０】
　好ましいアプローチでは、初心者と熟練者との間の区別は、異なる長さのタップを認識することであるが、仮想ボタンのクリック又はＯＵＴ信号を異なるタップの長さに対して同一の長さにすることである。しかしながら、初心者のタップが認識されると、ＯＵＴ信号のタイミングが遅延され、その結果、初心者のユーザはドラッグジェスチャを開始するためのより長いドラッグ時間を有する。初心者のユーザと熟練者のユーザを区別するために用いられるタップの長さはユーザの研究の後で最適化されるということは、当業者によって認識されるであろう。初心者のユーザと熟練者のユーザとの区別を行うための幾つかの他の方法が存在することもまた認識されるであろう。例えば、初心者のタップの圧力はしばしば、熟練者のタップの圧力よりも大きい。さらに、例えば幾つかの前のタップの平均の長さであるタップの長さの履歴を使用することはまた、有益である。当業者は、初心者と熟練者の決定はコントロールパネルでユーザによって行われることができることを認識するであろう。
【０２７１】
　ここで図１５Ｃを参照すると、タップの長さの関数としての可変ドラッグ時間の好ましい実施形態が図示される。一方では、ここで好ましいように、熟練者のタップは、２００ｍｓｅｃより短い間隔“ｔ１”間の期間を有することが見られる。指がパッドを離れるとすぐに、間隔“ｔ２”における２００ｍｓｅｃの仮想ボタンのクリック又はＯＵＴ信号が開始し、従って、熟練者に最速の可能応答を提供する。ドラッグジェスチャを開始するために、指は、２００ｍｓｅｃの仮想ボタンのクリック時間が終了する前に、タッチパッド上に戻らなければならない。従って、可変ドラッグ時間は好ましい実施形態においては２００ｍｓｅｃになるように選択され、従って、ドラッグジェスチャとして不正確に識別される熟練者の素早い指のアクションの機会を減少するであろう。
【０２７２】
　他方では、初心者のタップは、２００ｍｓｅｃと５００ｍｓｅｃとの間の間隔“ｔ１”間の期間を有することが見られる（好ましい実施形態においては、５００ｍｓｅｃより長いストロークはタップとしては識別されない。）。間隔“ｔ２ｂ”における２００ｍｓｅｃの仮想ボタンのクリック又はＯＵＴ信号は、３００ｍｓｅｃの遅延“ｔ２ａ”の後に開始し、結果として、ユーザはドラッグジェスチャを開始するために５００ｍｓｅｃのより長いドラッグ時間を有する。当業者は、遅延の長さが、タップ期間の機能を含む幾つかの異なる方法において選択されることを理解するであろう。同様に、ホップ時間や拡張時間のようなジェスチャ認識の他の時間に関連するパラメータは、初心者のタップが関連するときには調整されることができる。遅延されたクリックが開始される前に（即ち、“ｔ２ａ”間隔の間に）指がドラッグジェスチャを開始するために戻ると、仮想ボタンのクリックは、指が戻ったとしてすぐに開始しなければならない。他方では、この新しい指のストロークはタップであると判明すると、結果としてのダブルクリックの最初のクリックが“ｔ２ａ”間隔に含まれる。
【０２７３】
　図１５Ｄはロック中のドラッグジェスチャを示す。ロック中のドラッグは、間隔“ｔ８”乃至“ｔ１０”を含む標準のドラッグジェスチャで開始する。しかしながら、指が上げられても、ＯＵＴ信号がハイを保つ。（フローチャートにおいて、タップ状態ＴａｐＳｔａｔｅはこのとき「タップ」から「ロック」中に変化する。）指は、（“ｔ１１”として示される）タップ時間より長い長さの第２のドラッグするストロークを示し、上記タップ時間はロック中のドラッグを終了せず、タップ時間より短い長さ“ｔ１２”の別のストロークが後に続く。この最後のストロークはタップとして識別するので、時間“ｔ１３”でロック中のドラッグを終了する。フローチャートにおいて、タップ状態ＴａｐＳｔａｔｅはこのとき「タップ」に戻り、次いで通常のタップが処理され、通常のようにドラッグ時間と等しい時間“ｔ１３”の間、ＯＵＴをハイに保持することを継続する。合理的な変形例は、ゼロのような異なる間隔“ｔ１３”の後にそのドラッグを終了する。
【０２７４】
　図１５Ｅはドラッグ拡張ジェスチャを示す。ドラッグ拡張は、間隔“ｔ１４”乃至“ｔ１６”を含む通常のドラッグで開始する。指は間隔“ｔ１７”で上げられるが、ドラッグタイムアウトのパラメータの拡張時間より短い時間長の間、指がタッチパッドから離れるので、ＯＵＴ信号はハイを保つ。（図１５Ｅでは見られないが）“ｔ１７”の間の（Ｘ，Ｙ）の動きはまた、ドラッグ拡張距離より大きく、間隔“ｔ１７”の開始でのパッドから指を持ち上げる時刻での平滑化された平均指速度はドラッグ拡張速度より大きい。図は第２の間隔“ｔ１８”の間に持ち上げられた指を示す。指が間隔“ｔ１８”の間にタッチパッドから持ち上げられた時間期間は、拡張時間より大きいので、ＯＵＴ信号は、指がパッドから持ち上げられた後に拡張時間と等しい時間期間でローになる。ドラッグ時間に対して前述されたように、初心者又は熟練者のユーザのために拡張時間を調整することは好ましい。
【０２７５】
　図１５Ｆはダブルタップジェスチャを示す。ダブルタップはドラッグジェスチャからは見分けがつかずに開始する。しかしながら、第２のストローク“ｔ２１”はタップ時間より短く、従って、ドラッグの代わりに第２のタップとして識別される。通常のタップ処理は、ドラッグ時間の長さの別の間隔“ｔ２３”の間、ＯＵＴをハイに保持するが、フローチャートにおいて示される特別なダブルタップ処理は、タップの認識の後に短い期間“ｔ２２”の間仮想マウスボタンを抑制する。従って、ホストコンピュータはこの特別な処理することなく、コンピュータが見るであろう混在したクリックを、１つの長いクリックより２つの別個のクリックと識別する。
【０２７６】
　他のジェスチャは複数ボタンのマウスをシミュレーションするために用いられる。ある１つのそのようなアプローチにおいて、基本的なジェスチャは“ホップ”ジェスチャによって増加され、そこで指はパッド上のある位置における指が静止する場所から持ち上げられ、上記静止する位置から実質的な距離で離れた所をタップする。上記距離が十分に大きく（ホップ距離、典型的にセンサパッドの幅の一部分であり、ここでは約２５％が好ましい）、持ち上げた時刻とタップした時刻の間の期間が適切なしきい値より短ければ（ホップ時間、典型的には第２の一部分であり、ここでは約０．５ｓｅｃが好ましい）、タップによって開始されるクリック又はドラッグジェスチャは異なるマウスボタンでシミューレーションされる。この異なるボタンは固定“第二位”ボタンであってもよく、又はコントロールパネル若しくは他の手段によってユーザに選択されてもよく、又は指がホップした方向（例えば、左に対して右へ）の関数でもよい。本発明の好ましい実施形態によると、ホップジェスチャはデフォルトによってオフになるオプションとして利用される。
【０２７７】
　何人かのユーザはホップジェスチャにおいて第２の指でタップすることを好むが、一方、このジェスチャはいかなるときもパッド上に１本以上の指を含まないことに注意されたい。類似したジェスチャである“ジグザグ”はまた、ここで説明されるが、一度に２本の指を使用することを含む。
【０２７８】
　図１５Ｇは“ホップ”ジェスチャを示す。このジェスチャは既に指がパッド上にあるときに開始する。次いで、指はホップ時間より短い間隔“ｔ２４”の間に持ち上げられ、次いで、指は通常のタップ“ｔ２５”で下がる。また、図には図示してないが、間隔“ｔ２４”の間に、指は、それの前の位置から少なくともある距離であるホップ距離は移動しなければならない。このことが起こると、上記ジェスチャは通常のタップの代わりに“ホップ”として処理され、仮想ボタンのプレス“ｔ２６”は、通常の左ボタンＯＵＴ（Ｌ）の代わりに右のボタンＯＵＴ（Ｒ）において生じる。タップ“ｔ２５”の後に、右のボタン上でドラッグ又はダブルタップを形成するためのさらなる指のアクションがどのように続くかを見ることは容易である。
【０２７９】
　別の複数ボタンのジェスチャは“タップゾーン”を使用し、ここでパッドの表面は２つ又はそれ以上のゾーンに分割される。与えられたゾーンにおいて始められるタップ又はドラッグは、そのゾーンに対応するボタン上で１つのイベントをシミュレーションする。まるで指がドラッグ中にゾーン間で移動するように、全体のドラッグは、ドラッグジェスチャを開始した元のタップのゾーンに対応するボタンでシミュレーションする。
【０２８０】
　図１６Ａ及び図１６Ｂは２つのゾーンの形状を図示する。図１６Ａにおいて、パッドは、それぞれ左、中及び右のマウスボタンに対応する３つの垂直な縦縞２８８、２９０及び２９２に分割される。図１６Ｂにおいては、パッドは、左のマウスボタンをシミュレーションする主領域２９４と、右のマウスボタンをシミュレーションする小さいコーナー領域とに分割される。図１６Ｂの実施例は、ある１つボタンが、典型的なアプリケーションにおいて他のボタンよりかなり多く用いられれば、より適当である。
【０２８１】
　上記ゾーンがパッド表面上ではっきりとマークされた領域に対応することは好ましい。複数のコーナー又は垂直な縦縞のような他のゾーン形状が同じように簡単であることは、当業者には明らかであろう。
【０２８２】
　タップゾーンとエッジモーション特性との間に考慮される必要がある相互作用が存在する。図１６Ｂのコーナー領域２９６で特に、タップゾーンはパッドの端の近辺でタップすることをユーザに推奨する。エッジモーションが、タップ及びドラッグ中に又はいつでも活性化していると、エッジモーションはコーナーでのタップの適切な動きと干渉する傾向がある。これを防ぐために、図１３のエッジモーションイネーブルロジックはやや変更されることが可能である。与えられたストロークにおいて、エッジモーションは、指がそのストローク中に少なくとも１度内部ゾーンにあれば動作するだけである。従って、指が外部ゾーンに触れれば、エッジモーションは、指がパッドの端を出て、次いで戻るまで動作しない。
【０２８３】
　上述した全てのジェスチャは基本的なタップ及びドラッグジェスチャの変形である。ここで説明されるシステムにおいて、これらの全てのジェスチャはタップユニット２８０によって認識される。タップユニット２８０の動作は、フローチャートの形式でアルゴリズムとして最も容易に説明される。この開示から、当業者は、ここで説明されるタップユニットはソフトウェアプログラム、ハードウェア状態マシン又はその他のもののような既知で明示的な同等物として実際には実施されることができることを認識するであろう。そのような全ての実施は、本発明の範囲内で行うように意図される。
【０２８４】
　図１７Ａ乃至１７Ｆは、タップユニット２８０の動作に対するフローチャートから構成される。タップユニット２８０は、ここで説明されたタップ、ドラッグ、ロック中のドラッグ、ドラッグ拡張、コーナーでのタップ及びホップジェスチャを実行する。ここで説明したジェスチャ認識動作において、コーナーでのタップは右の仮想マウスボタンをシミュレーションするために使用される。左及び右へのホップは、中及び右の仮想マウスボタンをシミュレーションするために使用される。単純なタップは左の（第一位の）仮想マウスボタンをシミュレーションする。
【０２８５】
　各（Ｘ，Ｙ，Ｚ）サンプルが図１の演算ユニット１６から到達すると、処理はステップ３００で開始する。本発明の好ましい本実施形態において、そのようなデータは１秒当たり４０回到達する。図１７Ａ乃至１７Ｆのアルゴリズムは、サンプルが到達する毎に、開始点（ステップ３００）から終了点（ステップ３９２）を実行する。
【０２８６】
　ステップ３０２は、Ｚ（圧力）をＺｔｈｒｅｓｈと比較することによって指が上にあるか又は下にあるかを決定して、指が存在するか（“下にある”）又は存在しないか（“上にある”）を決定する。単純なしきい値との比較の代わりに、２つのしきい値が、当業界で周知であるように、ヒシテリシスを提供するために使用されてもよい。ヒシテリシスは図１７Ａにおいて示されないが、同様のヒシテリシスが“プッシュ”ジェスチャに対して図２０において後で図示される。
【０２８７】
　ステップ３０４において、指は下ろされていることを知られる。以前のＺが、指が前から下ろされていたか又はちょうど今パッド上に触れたかを見るためにチェックされる。
【０２８８】
　ステップ３０６において、指が下にある遷移は検出されている。このことは、ドラッグジェスチャの開始点又はドラッグ拡張における次の行等を示す。ドラッグ又はドラッグ拡張のために、それぞれドラッグ時間及び拡張時間の間でのタッチパッド上の前の指の位置からの指の位置の変化はチェックされる。
【０２８９】
　図１５Ｂにおいて図示されるドラッグジェスチャにおいて、指が時間“ｔ５”の間に長距離移動してはいないことをチェックすることは有益であり、上記時間“ｔ５”は、初期タップと指がパッドに戻るときとの間の間隔である。“ｔ５”中に計算された距離が、指が異なる位置におけるパッドに戻ったことを示すと、ドラッグジェスチャはおそらくは予定されないであろう。
【０２９０】
　図１５Ｅにおいて図示されたドラッグ拡張ジェスチャでは、間隔“ｔ１７”中に十分長い距離を移動したかをチェックする必要があり、上記間隔“ｔ１７”は、拡張されたドラッグジェスチャの続いて起こるロウイングとロウイングとの間である。その距離が充分長くなければ、ドラッグジェスチャは終了する。
【０２９１】
　ドラッグジェスチャ中のタップ状態ＴａｐＳｔａｔｅが「タップ」であり、ドラッグ拡張ジェスチャの間のタップ状態ＴａｐＳｔａｔｅが「ロック中」であるので、ステップ３０６はタップ状態ＴａｐＳｔａｔｅを決定する。ステップ３０６でのタップ状態ＴａｐＳｔａｔｅが「タップ」であれば、ステップ３０８は、現在の位置ＣｕｒＰｏｓ（フィルタリングされて平滑化されたＸ及びＹ位置データ）と、前のタップのセーブされた位置ＤｏｗｎＰｏｓとの間の距離を計算する。上記距離があるしきい値ドラッグ距離より大きければ、ステップ３１０で実行処理される。他は、それはステップ３１２に進行する。しきい値であるドラッグ距離はパッドの幅のある一部分であるべきであり、基本的タップ方向において使用されるタップ距離より好ましくは長い（より大きい）方がよい。
【０２９２】
　ステップ３１４で、ＤｒａｇＬｏｃｋがイネーブルされるかどうかを決定される。ＤｒａｇＬｏｃｋがイネーブルされると、実行がステップ３１２に進行する。他では、実行が３１６に進行する。
【０２９３】
　ステップ３０６のタップ状態ＴａｐＳｔａｔｅが「ロック中」であり、ＤｒａｇＬｏｃｋがイネーブルされないと、ドラッグ拡張は進行する。ステップ３１６は、ＣｕｒＰｏｓと、前のストロークのセーブされた終了位置ＵｐＰｏｓとの間の距離を計算する。上記距離が幾つかのしきい値ＤｒａｇＥｘｔＲａｄｉｕｓより長ければ、実行はステップ３１２に進行する。他では、ステップ３１０に進行する。しきい値ＤｒａｇＥｘｔＲａｄｉｕｓは、ユーザのテストによって決められるように、パッドの幅のある一部分であるべきである。（幾人のユーザはゼロのＤｒａｇＥｘｔＲａｄｉｕｓを好み、その結果、ステップ３１６は実際上はディスエーブルされる。）
【０２９４】
　当業者は、幾つかの可能な距離測定はステップ３０８及び３１４における使用に対して適切であることを理解するであろう。真のユークリッド距離測定は合理的であるが、計算コストがかかり、単純な測定はＸ及びＹにおける距離の絶対値の和又は最大値である。上記和及び最大値は、ユークリッド距離測定によって形成される円形ゾーンの代わりに、菱形又は四角形の形状である元のタップの周囲に“ドラッグゾーン”を形成する。ユーザがこれらのゾーンの形状間の違いを知覚することは不可能であると経験が示し、よって、計算することが最も容易であるいずれの測定も好まれる。また、指とタッチパッドのジオメトリーは、重要な動きがいつも例えばＸ方向であるある１つの方向で存在することを引き起こし、上記場合においては、単純なＸ座標の絶対差が好まれる。
【０２９５】
　好ましい実施形態において、ユーザはコントロールパネル又は他の手段を使用してジェスチャ認識のレベルを変更することができる。ユーザがタップを可能にしてドラッグを不可能にするように選択すれば、ステップ３０８はステップ３１０に直接行くようにプログラミングされ、その結果、全てのタップは、ドラッグになることには識別されない。
【０２９６】
　ステップ３１０において、ドラッグジェスチャが識別されてない。タップ状態ＴａｐＳｔａｔｅは「タップ」から「なし」に変化し、その効果は、仮想ボタンが押されてない場合のカーソルの動きがその後に続く単純なタップジェスチャである。
　ステップ３１２は、指が触れた位置と時間を記録する。
【０２９７】
　ステップ３１８は、ＴａｐＯｋａｙフラグを偽に初期化する。それはまた、“初心者”のタップから生じる仮想ボタンのクリックの遅延に使用される抑制フラグをクリアする。ステップ３１８は、指がタッチパッド上に戻れば時期尚早に遅延を終了する。新しい指のストロークがダブルタップジェスチャの第２のタップであれば、ステップ３１８は、第１のタップからの仮想クリックが全体的に偶然に抑制されないことを保証する能力がある。
【０２９８】
　ステップ３２０は指が下ろされるすべてのサンプル上で実行し、ＺをＺｔａｐしきい値と比較し、ステップ３２２は、ＺがＺｔａｐしきい値より大きければＴａｐＯｋａｙを真に設定する。従って、指が持ち上がるとき、ＴａｐＯｋａｙは、タップジェスチャの候補である短いストローク中にＺがタップのしきい値をいつか越えれば、真である。
【０２９９】
　図１７Ｂをここで参照すると、ステップ３２４において、指はパッドにはないことが分かる。前のＺが、指が以前から上がっていたのか又は今ちょうどパッドから持ち上げられたのかを見るためにチェックされる。
【０３００】
　ステップ３２６において、指が上がる遷移が検出されている。種々のテストは、タップとして識別するかどうかを見るために最も最近のストローク（指が下ろされている期間）から形成される。識別するために、ストロークは、タップとして識別するために、短い期間（ＣｕｒＴｉｍｅからＤｏｗｎＴｉｍｅを減算した値はタップ距離より小さくなければならない）と、ほとんど又は全く移動しない動き（ＣｕｒＰｏｓからＤｏｗｎＰｏｓへの距離はタップ距離より短くなければならない）と、十分なピークの指の圧力を有しなければならない。
【０３０１】
　ステップ３２８において、発生する任意の指の動きは、既に報告された動きを“元に戻す”ためと、指の存在が最初に検出された瞬間の元のカーソル位置を元に戻すために、レジスタ又はキューからの動きの対応した負の量をホストに素早くリプレイすることによって遡及的にキャンセルされる。ストローク中の動きが幾つかのパケットのシーケンスの形式でホストに送信されれば、このシーケンスはセーブされて逆にリプレイされる。ホストのモーション処理が線形的であれば、それはストローク中の全てのモーション量を記憶するには十分であり、単一のパケットにおける補正モーションを送信する。典型的なマウスドライバの“加速”特性は高速のみで活性化するので、線形性のこの試みはこの情況において一般的に安全である。
【０３０２】
　ステップ３３０は現在のタップ状態ＴａｐＳｔａｔｅに基づいて幾つかのアクションのうちの１つを取る。まず最初に、タップ状態ＴａｐＳｔａｔｅが「なし」（進行中のジェスチャはない）であれば、実行は単にステップ３３２に進行する。ステップ３３２において、ＣｕｒＴｉｍｅからＤｏｗｎＴｉｍｅを減算したタップするストロークの期間は、短い熟練者のタップと長い初心者のタップとを区別するために計算される。熟練者のタップに対しては、実行は図１７Ｃのステップ３３８に単に進行する。初心者のタップに対しては、実行はステップ３３４に進行し、上記ステップ３３４は、現在のジェスチャに対するドラッグ時間のためのより長い値を使用するように取り決められる。これらのステップは、タップ間隔を２つの一定のドラッグ時間の値の間で選択するための一定のしきい値と単に比較してもよく、又はそれらはドラッグ時間をスムーズに調整するためにタップ間隔を使用してもよい。
【０３０３】
　ステップ３３４はまた、Ｓｕｐｐｒｅｓｓフラグを真に設定して、仮想ボタン信号を短い期間の間はローにさせる。好ましい実施形態において、この期間は、初心者と熟練者とのドラッグ時間値の差になるように選択され、その結果、仮想クリックの非抑制部分を結果として生じることは、図１５Ｃにおいて示されるように全ての場合で同一の間隔を有する。
【０３０４】
　第２に、タップ状態ＴａｐＳｔａｔｅが「タップ」であれば（最近のタップがまだ進行中である）、ダブルタップが検出される。ステップ３３４はＳｕｐｐｒｅｓｓフラグを真にして、仮想ボタン信号をある１つのサンプルに対してローにする。これは図１５Ｆの時間“ｔ２２”に対応する。変形のアプローチにおいて、上記仮想ボタンの解放を示す１つ又はそれ以上の余分のパケットは、ここに示されるような抑制フラグを使用するより、通常のパケットストリームに挿入することができる。変形のアプローチにおいて、別個のＳｕｐｐｒｅｓｓフラグは、初心者のクリックを遅延させることとダブルタップを処理することとの２つの目的のために使用されることができ、例えば、３００ｍｓｅｃの抑制は初心者のクリックを遅延させるには望まれるが、ダブルタップに対しては、仮想ボタンの抑制を反映する少なくとも１つのパケットがホストに送信された後では、それは抑制を終了するためには十分である。
【０３０５】
　最後に、タップ状態ＴａｐＳｔａｔｅが「ロック中」であれば、これはロック中のドラッグを終了するタップである。ステップ３３６はタップ状態ＴａｐＳｔａｔｅを「タップ」に戻して設定し、次いで、図１７Ｅのステップ３７０に直接スキップし、３つのマウスボタンのどれをシミュレーションするかを決定するステップにバイパスする。従って、ロック中のドラッグは同一の仮想マウスボタン上のタップに戻るように変化する。通常の短い期間（図１５Ｄの“ｔ１３”）の後に、仮想ボタンが解放される。
【０３０６】
　ボタンの選択（図１７Ｃ）はロック中の場合で省略されることは明らかである。右のボタンのロック中のドラッグが、例えばパッドのコーナーでのタップによって開始されれば、コーナーではないパッド上のどこかをタップすることによってドラッグを打ち切ることは可能であるべきである。ボタンの選択がダブルタップの場合でも含まれることは明らかである。他では、例えば、パッド上の２つの異なる位置を交互にタップすることによって素早い交互の左及び右のボタンのクリックを実行することは不可能である。
【０３０７】
　実施形態の変形例において、タップ状態ＴａｐＳｔａｔｅが「ロック中」であると、タップ状態ＴａｐＳｔａｔｅが「なし」に設定され、ステップ３８６が次に実行される。これは、図１５Ｄの“ｔ１３”をゼロと等しくする。タップ状態ＴａｐＳｔａｔｅはまたドラッグ拡張の間は「ロック中」であるので、ここで示される実施例はまた、ユーザがドラッグ拡張期間であるＤｒａｇＥｘｔＴｉｍｅを急に終了することを可能にする。実施形態の変形例において、タップはドラッグ拡張期間中は無視される。しかしながら、これの意義は、ＤｒａｇＥｘｔＴｉｍｅが短ければ、減少される。
【０３０８】
　図１７Ｃを参照すると、ステップ３３８は、現在のタップが“ホップ”ジェスチャとして識別されるかどうかをチェックする。このチェックは幾つかのテストを含む。まず最初に、ホップジェスチャはユーザによってイネーブルされる必要がある。第２に、現在のタップの時刻と、指がタップ上にあった最後の時刻との間の短い時間量だけの間（ＤｏｗｎＴｉｍｅからＵｐＴｉｍｅを減算した値がホップ時間より少なくなければならない）は、指は上げられなければならない。最後に、このタップの位置は、前の位置からかなり離れなければならない（ＤｏｗｎＰｏｓからＵｐＰｏｓまでの距離がホップ距離より大きくなければならない）。もう一度、種々の距離測定が可能である。図１７Ａ乃至図１７Ｆに示される動作は、左方向及び右方向へのホップをサポートし、従って、合理的な距離測定は、ＤｏｗｎＰｏｓとＵｐＰｏｓとの間のＸ座標の絶対差である。
【０３０９】
　ほぼ同等であることが容易に見受けられる変形例において、ＣｕｒＴｉｍｅ及びＣｕｒＰｏｓは、ステップ３３８においてＤｏｗｎＴｉｍｅ及びＤｏｗｎＰｏｓの代わりとして使用される。
【０３１０】
　タップがホップとして識別されると、実行はステップ３４０に進行する。この例のシステムは２つの異なるホップジェスチャをサポートするので、ホップの方向はジェスチャのタイプを決定するようにチェックされる。ＤｏｗｎＰｏｓ（又はＣｕｒＰｏｓ）のＸ座標がＵｐＰｏｓのＸ座標より小さければ、左方向へのホップは（Ｘが右に増加すると仮定して）行われる。ＤｏｗｎＰｏｓ（又はＣｕｒＰｏｓ）のＸ座標がＵｐＰｏｓのＸ座標より大きければ、右方向へのホップが行われる。ステップ３３６のチェックのために、ＤｏｗｎＰｏｓは、この点でのＵｐＰｏｓのかなり左又はかなり右のいずれかであろうことに注意されたい。
【０３１１】
　ステップ３４２において、左方向へのホップは、ＴａｐＢｕｔｔｏｎを記号「中」に設定し、その結果タップジェスチャは仮想の中のマウスボタンのクリックを生成する。
【０３１２】
　ステップ３４４において、右方向へのホップは、ＴａｐＢｕｔｔｏｎを「右」に設定し、仮想の右のボタンのクリックを開始する。
【０３１３】
　ホップが検出されなければ、ステップ３４６が実行する。それは他のサポートされる別のジェスチャであるコーナーのタップをチェックするために進行する。コーナーのタップは、図１６Ｂにおいて示されるような小さいコーナーゾーンで起こるタップである。コーナーのタップがユーザによってイネーブルされるとコーナーのタップが起こり、ここでＤｏｗｎＰｏｓ（又はＣｕｒＰｏｓ）のＸ座標はある座標ＣｏｒｎｅｒＸより大きく、Ｙの座標はある座標ＣｏｒｎｅｒＹより大きい。ＣｏｒｎｅｒＸ及びＣｏｒｎｅｒＹは図１６Ｂにおいて示される。
【０３１４】
　図１６Ａのものや複数のコーナーゾーンのような他のタップゾーンが、タップ位置のＸ及びＹ座標を調査することによって完全にアナログの方法で復号されることが可能であることは、当業者には明らかである。
【０３１５】
　好ましい本実施形態において、ユーザは、別のボタンクリックをシミュレーションする機構として、ホップジェスチャ、コーナーのタップ又はどちらでもないのうちのいずれかの選択権を与えられる。ユーザーに有益なものよりもおそらくはより混乱させるように行うものを除いて、一度にホップとコーナーのタップの両方を提供する実施を停止することはない。
【０３１６】
　ステップ３４８において、コーナーのタップは検出されず、よってＴａｐＢｕｔｔｏｎは左の仮想マウスボタンのクリックをシミュレーションするために「左」に設定される。
【０３１７】
　ステップ３５０において、コーナーのタップは検出され、よってＴａｐＢｕｔｔｏｎは右の仮想マウスボタンをシミュレーションするために「右」に設定される。
【０３１８】
　ステップ３５２は、現在の位置を新しいＵｐＰｏｓとして記録し、上記ＵｐＰｏｓは後のホップを復号するために使用される持ち上げられる位置である。一般的に、ＵｐＰｏｓは、指がパッドから持ち上げられることが見られる毎に更新される。しかしながら、このルールには２つの例外がある。第１に、指を持ち上げることがホップするタップジェスチャのそれ自身の一部分であれば、ＵｐＰｏｓは更新されない。このことは図１７Ｃのフローチャートの左の枝で見られる。この例外は、例えば、右の仮想ボタンのダブルクリックをサポートすることに必要とされる。指が持ち上げられ、右に実質的に移動され、次いで２回タップされる。この２回のタップはほぼ同一の場所に起こる。もしＵｐＰｏｓが第１のタップによって更新されれば、第２のタップは左のボタンのクリックとして復号されるであろう。
【０３１９】
　第２に、図１７Ａ乃至図１７Ｆのフローチャートにおいて、ＵｐＰｏｓは、ロック中のドラッグを終了するタップ上では更新されない。ユーザテストは、ユーザによって認識された最後の持ち上げ位置は、打ち切りタップが、関連するとは認識されない無意識でのアクションであるように、一般的にはロック中のドラッグの間の最後の持ち上げであるということを示す。それゆえ、それは、ロック中のドラッグの打ち切りタップに対するＵｐＰｏｓの更新のより感度の高い省略を行う。
【０３２０】
　ステップ３５４は、タップ、コーナーのタップ又はホップジェスチャのいずれかの後にタップ状態ＴａｐＳｔａｔｅを「タップ」に設定し、従って、ジェスチャが進行中であることを記録する。
【０３２１】
　図１７Ｄをここで参照すると、タップとして識別されない場合に、指がパッドから持ち上げられると、ステップ３５６が実行する。このステップは、タップ状態ＴａｐＳｔａｔｅが「タップ」であればチェックを行い、もしそうであれば、指は例えば図１５Ｂの時間“ｔ７”のようなドラッグジェスチャの長いストロークから持ち上げられなければならない。ユーザの選択に依存して、ドラッグジェスチャは、指の持ち上げによって打ち切られるか、又はロック中のドラッグになるためにロックされるかのいずれかである。
【０３２２】
　ステップ３５８は、ロック中のドラッグがユーザによってイネーブルにされるかどうかをチェックする。この決定は、ドラッグがいつもロック状態又はいつも非ロック状態であるシステムに対して設計時に行われてもよく、又はコントロールパネルのような実行時のオプションに基づいてもよい。
【０３２３】
　ロック中のドラッグがイネーブルされてなければ、ステップ３６０は、ドラッグ拡張がイネーブルされているかどうかのチェックをする。この決定は、ドラッグがいつも拡張状態又は非拡張状態であるシステムに対して設計時に行われてもよく、又はコントロールパネルのような実行時のオプションに基づいてもよい。
【０３２４】
　ステップ３６２では、ドラッグ拡張がイネーブルされると、持ち上げ時の指の速度が、それがＤｒａｇＥｘｔＳｐｅｅｄを越えているかどうかを見るためにチェックされる。このことは、真のドラッグと上述したプレスとの間の区別を行うことを可能にする。
【０３２５】
　ステップ３６４において、ドラッグのタップ状態ＴａｐＳｔａｔｅは「ロック中」に変換される。
【０３２６】
　ステップ３６６において、ドラッグは指の持ち上げによって打ち切られる。
【０３２７】
　ステップ３６８においては、指がいつ持ち上げられても実行し、タップとして識別せず、ＵｐＰｏｓは上述したように現在の位置に更新される。
【０３２８】
　図１７Ｅをここで参照すると、ステップ３７０は、指がいつ持ち上げられても実行する。変数ＵｐＴｉｍｅは、指がパッドから持ち上げられる時刻を記録するために更新される。
【０３２９】
　ステップ３７２は、指がパッドを離れたときの各サンプルに対するタップ状態ＴａｐＳｔａｔｅを決定する。
【０３３０】
　タップ状態ＴａｐＳｔａｔｅが「タップ」であれば、ステップ３７４は、ＣｕｒＴｉｍｅからＵｐＴｉｍｅを減算した値をドラッグ時間と比較し、指が上記タップのための１つのタップの後にあまりにも長くパッドから離れているのでドラッグの開始をすることができないかどうかを見る。可変ドラッグ時間が使用されると、比較に用いられる上記ドラッグ時間は、短い熟練者のタップが行われるか、長い初心者のタップが行われるかの関数である。時間制限を超過して、タップ状態ＴａｐＳｔａｔｅが「タップ」と等しければ、実行はステップ３７６に進行する。他では、実行はステップ３７８に進行する。
【０３３１】
　タップ状態ＴａｐＳｔａｔｅが「ロック中」であれば、ステップ３８０はＤｒａｇＬｏｃｋモードがイネーブルにされているかどうかを決定する。ＤｒａｇＬｏｃｋがイネーブルにされてなければ、実行はステップ３８２に進行する。ＤｒａｇＬｏｃｋがイネーブルにされていれば、実行はステップ３７８に進行し、ドラッグは継続する。
【０３３２】
　ステップ３７８は、拡張時間を越えた期間中にタッチパッドを離れているかどうかを決定する。もしそうでなければ、ドラッグは継続し、実行はステップ３７８に進行する。他では、実行は、タップ状態ＴａｐＳｔａｔｅが「なし」になるステップ３７６に進行し、なぜなら、指があまりにも長くタッチパッドを離れるのでドラッグを継続することができないからである。
【０３３３】
　ステップ３７８は、指がステップ３３４によって開始される抑制期間を終了するために十分に長くパッドを離れているかどうかをチェックする。もしそうであれば、実行は、Ｓｕｐｐｒｅｓｓフラグが偽に設定されるステップ３８４に進行する。
【０３３４】
　ステップ３７６は、タップ状態ＴａｐＳｔａｔｅを「タップ」から「なし」に変更し、タップを終了し、従ってタップがドラッグに拡張することを防ぎ、又は既存のドラッグがさらに拡張されることを防ぐ。
【０３３５】
　ここで図１７Ｆを参照すると、すべてのパスはステップ３８６に集約し、上記ステップ３８６は指の状態に拘わらず全てのサンプルで実行する。このステップは一連のチェックを開始し、このサンプルに対してタップユニット２８０の出力を決定する。まず最初に、Ｓｕｐｐｒｅｓｓフラグがステップ３８６において真であれば、仮想ボタンは抑制され、出力がステップ３８８において「なし」に設定される。
【０３３６】
　Ｓｕｐｐｒｅｓｓフラグが偽であり、ボタンの抑制がなければ、タップ状態ＴａｐＳｔａｔｅがステップ３９０において調査され、タップ状態ＴａｐＳｔａｔｅが「タップ」又は「ロック中」であれば、ＴａｐＢｕｔｔｏｎによって示されたボタンがステップ３９２における出力である。
【０３３７】
　タップ状態ＴａｐＳｔａｔｅが「なし」であれば、タップ、ドラッグ、又はホップジェスチャは進行中ではなく、ステップ３９４はこのように出力を「なし」に設定する。
【０３３８】
　処理はステップ３９６（ＥＮＤ）で終了する。次のサンプル（Ｘ，Ｙ，Ｚ）が演算ユニットから到達すると、タップユニットはステップ３００で開始する。
【０３３９】
　図１３のエッジモーション特性は、ドラッグジェスチャ中に最も有益である。従って、モーションユニット１８のＭｏｔｉｏｎＥｎａｂｌｅ入力がジェスチャユニット２０の状態から得られるようにすることは、好ましい。特に、図１３の論理積ゲート２６８への“ＭｏｔｉｏｎＥｎａｂｌｅ”信号は、ＭｏｔｉｏｎＥｎａｂｌｅ＝（タップ状態ＴａｐＳｔａｔｅ＝タップ）ＯＲ（タップ状態ＴａｐＳｔａｔｅ＝ロック中）によって得られる。
【０３４０】
　図１４の“ジグザグ”ユニット２８２は２本の指のジェスチャを復号し、１本の指はパッド上で静止し、一方、もう１本の指は最初の指のある１つの側にタップする。基本的なデバイスによって生成される（Ｘ，Ｙ，Ｚ）情報によれば、このジェスチャは、かなりの距離によってＸ及び／又はＹ値を素早くシフトする間にＺ値を効果的に増大する。（２本の指がパッド上にあると、報告された明確な位置は２本の指の中間にある）そのような変化が検出され、元のＸ，Ｙ及びＺ値に急速に戻ることがその後に続くと、第２の指のタップが認識される。
【０３４１】
　第２の指のタップは、第２の指が持ち上げられるまで確実に認識されないので、最初にある側に行き、次いでまた戻るという突然のカーソルの動きは、避けがたくホストに送信される。名前“ジグザグ”はこれらの特徴的なカーソルの動きを参照する。タップユニット２８０において使用されるものに似ているモーション反転機構は、仮想ボタンのクリックが元のジグザクではない位置で起こることを確実にするために使用される。この場合の唯一の難点は、含まれる動きがホストの加速特性をトリガするためには十分に大きいことであり、それは、反転モーションがパケット毎に記憶されてリプレイされなければならないこと、又はジグザグユニットとホストのソフトウェアが、カーソルが実際に所望の位置に戻ることを確実にするために協働しなければならないことのいずれかを意味する。
【０３４２】
　ここで説明したように、通常の演算ユニット１６からの（Ｘ，Ｙ，Ｚ）情報だけを使用する第２の指のタップを認識することは、可能である。しかしながら、演算ユニット１６が付加的な情報を生成するために変更されることが可能であることは明示であり、上記付加的な情報は、このジェスチャの正確な認識を助けるセンサトレースのプロフィールの幅又は形状のような情報である。
【０３４３】
　図１８Ａ乃至図１８Ｃは、ジグザグユニット２８２のためのアルゴリズムを説明するフローチャートである。タップユニット２８０に対する場合のように、ジグザグユニット２８２はフローチャートで最適に説明される。しかしながら、ハードウェア状態マシンは既知のものと同等であり、またジグザグユニット２８２の合理的な実施である。図１７Ａ乃至図１７Ｆのタップユニット２８０のフローチャートには似てないが、ジグザグユニット２８２のフローチャートは１ストローク当たりに１度、実行する。指の存在が検出されると（Ｚ＞Ｚｔｈｒｅｓｈ）、実行はステップ３８６で開始する。実行が終了する前に、指がパッドを離れると、ジグザグユニット２８２はそれの計算を放棄し、次のストローク上でステップ３８６で開始する。
【０３４４】
　図１８Ａ乃至図１８Ｃは、左方向へのジグザグが左のボタンのクリックをシミュレーションし、一方、右方向へのジグザグが右のボタンのクリックをシミュレーションするという付加的な特性を図示する。
【０３４５】
　ジグザグユニット２８２は、タップユニット２８０のように同一の位置、Ｚ及び時間入力を必要とする。それはまた、与えられた時間での前のカーソルの指の位置から現在のカーソルの指の位置への距離として計算される速度基準Ｓを必要とする。任意のフィルタリング又は平滑化が、前述したように演算ユニット１６の通常の（Ｘ，Ｙ）出力上で行われると、フィルタリングされていない（Ｘ，Ｙ）値から速度Ｓを計算することが最適である。
【０３４６】
　ジグザグユニット２８２の状態変数は、Ｚの最も最近の２つの値を記録するＺｉｇＺ及びＺｉｇＺ'と、最も最近の２箇所の位置を記録するＺｉｇＰｏｓ及びＺｉｇＰｏｓ'と、第２の指の存在が検出された時間を記録するＺｉｇＴｉｍｅと、左方向及び右方向のジグザグが検出されるとそれぞれ真であるＺｉｇＬｅｆｔ及びＺｉｇＲｉｇｈｔと、ジグザグユニット２８２の出力を表し、「左」、「右」又は「なし」のうちの１つであるＯｕｔとを含む。
【０３４７】
　ジグザグユニット２８２は幾つかのパラメータを使用する。ＺｉｇＤｉｓｔａｎｃｅは、指の位置がこのジェスチャに対して識別するために移動することができる最大距離である。ＺｉｇＭａｘＴｉｍｅは、第２の指が識別するために表されることができる最大時間量である。Ｓｚｉｇは、ジェスチャの検出を開始するために必要とされる瞬間的な指の速度であり、サンプリングレート、センサの大きさ、及び電荷積分器におけるアナログのフィルタリング量に依存して経験的に決定される。ＺｉｇＲａｄｉｕｓ及びＺｉｇＬｉｍｉｔは、位置及びＺ値がそれぞれ、どれほど近いと第２の指が持ち上げられた後にそれらの元の前の値に戻らなければならないかを特定する。ＺｉｇＲａｄｉｕｓはタップ距離と同等であり、ＺｉｇＬｉｍｉｔは好ましい本実施形態におけるＺｔｈｒｅｓｈの約３０％である。
【０３４８】
　図１８Ａをここで参照すると、指の存在が検出されると、ステップ４００で実行が開始する。
【０３４９】
　ステップ４０２において、ジグザグユニット２８２は、演算ユニット１６から到達する近似した３つの（Ｘ，Ｙ，Ｚ）サンプルのために待機する。好ましい実施形態において、これらのサンプルは１秒当たり４０個のレートで到達する。この最初の遅延は、ストロークの開始時でのＺの変動を防ぐためである。
【０３５０】
　ステップ４０４において、ＺｉｇＺ及びＺｉｇＺ'は「なし」として示される予定値に初期化される。
【０３５１】
　ステップ４０６において、ジグザグユニット２８２は到達する次の（Ｘ，Ｙ，Ｚ）サンプルを待つ。
【０３５２】
　ステップ４０８は“ジグ（ジグザグ運動の第１の動き）”の開始をチェックし、上記ジグは、明らかに指が行い、１つの側にジャンプするジグザグジェスチャの最初の半分である。現在のサンプルの速度Ｓは、しきい値Ｓｚｉｇと比較される。Ｓの方が大きく、ＺｉｇＺが（予定値の「なし」ではない）有効データを含めば、実行は、図１８Ｂにおけるジェスチャのさらなる確認に進行する。
【０３５３】
　ステップ４１０において、最初の“ジグ”が見られず、よってＺｉｇＰｏｓ'は最も最近の指の位置を反映するために更新され、ＺｉｇＰｏｓは２番目に最も最近の指の位置を反映するために更新される。平滑化又はフィルタリングが図１及び図８の演算ユニット１６の出力に適用されれば、前述したＳの計算には似てないが、ＺｉｇＰｏｓはフィルタリング又は平滑化された位置データから更新されるべきである。他方では、ホスト上でのカーソル位置を更新するために用いられる処理された位置データから更新されるべきである。
【０３５４】
　ステップ４１２においては、ＺｉｇＺ'及びＺｉｇＺは、最も最近の２つのＺ値を反映するために同様に更新される。典型的な用法パターンにおいては、第２の指のタップは典型的には左又は右で起こり、即ち、Ｘでは異なるが、Ｙでは必要がない。従って、Ｘの分母（図８の減算器１６８の出力）は、第２の指が存在するときには２のクリア係数によって増加する傾向があり、ここではＹの分母（減算器１７２の出力）は、電荷積分器４４の線形性に依存して対応的に増加するかもしれないし、又は増加しないかもしれない。従って、図８のブロック１７８から普通に得られた値であって組み合わされて処理された値としてよりもむしろ、ジグザグユニット２８２のためのＺとして、Ｘの分母の出力を直接使用することが好ましい。
【０３５５】
　ステップ４１２の後、実行は次のサンプルが待ち受けているステップ４０６に戻る。
【０３５６】
　ここで図１８Ｂを参照すると、ステップ４１４は最初の“ジグ”が検出された時間を記録する。
【０３５７】
　次いで、ステップ４１６はＺｉｇＬｅｆｔ及びＺｉｇＲｉｇｈｔフラグを初期化する。指がそれの開始位置の左又は右からそれぞれかなり離れて移動することが見受けられると、これらのフラグは真になる。
【０３５８】
　第２の指がパッド上に降ろされると、（Ｘ，Ｙ，Ｚ）値は典型的には２つ又は３つのサンプルを取り、２本の指の存在を反映するそれらの新しい値に集約する。ステップ４１８は、（Ｘ，Ｙ，Ｚ）値が静止される時間の後に、到達する１つ又は２つ以上のサンプルのために待機する。１つ、２つ又はそれ以上のサンプルの選択は、基本的なサンプリングレートと、デバイスのアナログ入力セクションで起こるフィルタリングの量とに依存する。
【０３５９】
　ステップ４１８の後、ＣｕｒＰｏｓはジグされた（急に曲げられた）明確な指の位置を反映し、ＺｉｇＰｏｓは、速度がＳｚｉｇのしきい値を通過する前に２つのサンプルからの位置を反映する。２つのサンプルの履歴は重要であり、なぜなら、少量の動きは、指が触れてＳｚｉｇを越える大きな動きを生成する前に、接近する第２の指によって発生するからである。ステップ４１８の後、ＺｉｇＰｏｓは、第２の指が効果を有していることが適当である前に、同時にセーブされた現在の位置を含む。同様に、ＺｉｇＺは、第２の指が到達する前からのＺ値を含む。
【０３６０】
　ステップ４２０は、Ｚが静止Ｚ値であるＺｉｇＺを実質的に越えて増加するかどうかをチェックする。好ましい本実施形態において、ＺはＺｉｇＺより３０％大きいしきい値と比較される。Ｚがあまり小さいと、“ジグ”は識別されず、実行はステップ４０４に戻る。
【０３６１】
　ステップ４２２は、現在の位置が静止位置ＺｉｇＰｏｓの左に離れているかどうかを見るためにチェックする。ジグザグユニット２８２は、不意で“不自然な”位置の変化を探しているので、位置データに普通に適用される任意のフィルタリング又は平滑化の前に、ステップ４２２が演算ユニット１６のドライバ１７４及び／又は１７６からの直接の位置データを使用することは好ましい。このデータは、それをフィルタリングされて平滑化された値ＣｕｒＰｏｓと区別するために、ここではＲａｗＰｏｓとして参照される。しかしながら、値ＣｕｒＰｏｓは、所望されれば最適な結果値より少なく用いられてもよい。
【０３６２】
　この実施例において、ステップ４２２は、ＲａｗＰｏｓのＸ座標をＺｉｇＰｏｓからＺｉｇＤｉｓｔａｎｃｅを減算したＸ座標と比較する。パラメータＺｉｇＤｉｓｔａｎｃｅは、１つの指が下に降ろされたままであり、かつもう１つの指が自然にタップした時、２本の指の間のパッド上の観察される間隔に基づいて、経験的に選択されることができる。
【０３６３】
　適切な左方向へのジグが検出されると、ステップ４２４はＺｉｇＬｅｆｔを真に設定する。
【０３６４】
　次いで、ステップ４３０は到達する次の（Ｘ，Ｙ，Ｚ）サンプルを待つ。
【０３６５】
　ステップ４３２は、ステップ４２０の“ジグ”のしきい値よりやや少ない第２の“ザグ（ジグザグ運動のジグに続く第２の動き）”のしきい値とＺを比較することによって、第２の指がパッドから持ち上げられているかどうかをチェックする。（現在のシステムにおいて、このしきい値はＺｉｇＺよりほぼ２０％大きい。）“ザグ”のしきい値は単純なヒステリシスを提供するために“ジグ”のしきい値より低く設定する。
【０３６６】
　第２の指がまだ持ち上げられてなければ、実行はステップ４２２に戻って待機状態を継続する。第２の指が持ち上げられていれば、実行は図１８Ｃ上のステップ４３４に進行する。
【０３６７】
　図１８Ｃをここで参照すると、ステップ４３４は、第２の指を持ち上げることを安定させるために（Ｘ，Ｙ，Ｚ）データの１つ又は２つのサンプルを待ち、このステップはステップ４１８に類似している。
【０３６８】
　ステップ４３６は完全なジグザグジェスチャのために最後のチェックを行う。ここまでは、Ｚの増加によって起こる突然の動きが見られ、次にＺの突然の減少が続く。ステップ４３６は、位置がジグザグの前の値に戻ることを付加的にチェックし（ＲａｗＰｏｓからＺｉｇＰｏｓへの距離がＺｉｇＲａｄｉｕｓより小さい）、Ｚ値が同様に普通に戻され（ＺからＺｉｇＺを減算した絶対値がＺｉｇＬｉｍｉｔより小さい）、ＺｉｇＬｅｆｔ又はＺｉｇＲｉｇｈｔのいずれかが真であるが、両方ではない。
【０３６９】
　動きがジグザグとして識別しなければ、実行はステップ４０４に戻り、ジグザグジェスチャの検出を待機する。動きがジグザグとして識別すると、ステップ４３８は、もし必要であれば、反転モーションを提供し、カーソルをＺｉｇＰｏｓに対応する正確な位置に戻す。このステップは図１７Ｂのステップ３２８に類似している。
【０３７０】
　ステップ４４０においては、完全なジグザグが検出されている。ＺｉｇＬｅｆｔが真であれば、動きは左方向へのジグザグである。他では、ＺｉｇＲｉｇｈｔが真にちがいなく、動きは右方向へのジグザグである。よって、ステップ４４２が左方向へのジグザグのために左のボタンをシミュレーションする、又はステップ４４４が右方向へのジグザグのために右のボタンをシミュレーションするのいずれかである。
【０３７１】
　ステップ４４６は、ある時間量で停止する。例えば、このステップは到達する１つ又はそれ以上の幾つかのサンプルを待ち、ホストに送信されるべき１つ又はそれ以上の幾つかのデータパケットを待つ。（一般的に、サンプルとデータパケットとの間では１つに対して１つが対応する。）
【０３７２】
　最後に、ステップ４４８はＯｕｔを「なし」に設定することによってシミュレーションされるボタンのプレスを終了する。この例においては、ジグザグジェスチャは、ドラッグではなくクリックをシミュレーションするために機能するだけである。これは、全体のドラッグの動きが指がパッド上で不器用に保持されると共に発生することを意味するので、ジグザグは通常の１本の指のタップのような同じ方法では器用にドラッグには拡張しない。ある変形例は、当業界でトラックボールと共によく行われるロック中のボタンをシミュレーションすることであり、ここでは連続的なジグザグが仮想ボタンを交互に押して離す。別の変形例は、ジグザグジェスチャに仮想ボタンを押させて、最初の指がまたパッドから離れるときにのみ仮想ボタンを離すことである。
【０３７３】
　ステップ４４８の後に、実行はステップ４０４に戻り、さらなるジグザグジェスチャの検出を待つ。
【０３７４】
　特別なアプリケーションにおいて用いられる別のジェスチャは、“プッシュ”ジェスチャであり、単にＺ（圧力）情報を第２のＺのしきい値であるＺｐｕｓｈＤｏｗｎと比較し、Ｚがこのしきい値を越えているときはいつでもマウスボタンのアクションをシミュレーションし、上記第２のＺのしきい値ＺｐｕｓｈＤｏｗｎは基本的な指の検出のしきい値より比較的高い。この“プッシュ”ジェスチャは、ペンに基礎を置いたポインティングデバイスが普通に動作する方法に似ており、しかしながら、非常に不正確で指がとても疲れるので最初のクリック又はドラッグジェスチャとして使用することはできない。“プッシュ”ジェスチャは、フリーハンドの描画プログラムのような特別な情況において最も有用である。
【０３７５】
　図１９は、“プッシュ”ジェスチャを図示するタイミングチャートである。このジェスチャを実行するために、指はまず最初に、仮想ボタンのプレスを行うことなくカーソルモーションを行うために十分に近くに持って来られる。次に、指の圧力は過去のしきい値ＺｐｕｓｈＤｏｗｎを増大し、仮想ボタンが押されることを引き起こす。後に、圧力はしきい値ＺｐｕｓｈＵｐより低く減少し、仮想ボタンが離されることを引き起こす。ＺｐｕｓｈＵｐがＺｐｕｓｈＤｏｗｎよりやや低ければ、結果としてのヒステリシスは、指の圧力が“プッシュ”しきい値の周りで少し変化すれば、仮想ボタン上での所望しない振動を防ぐ。
【０３７６】
　好ましいある１つ変形例において、ＺｐｕｓｈＵｐはＺｔｈｒｅｓｈと等しく設定され、その結果、プッシュが開始されると、指はパッドから完全に持ち上げられ、シミュレーションされるボタンを離さなければならない。他のユーザは、より繊細な検出を得るように、ＺｔｈｒｅｓｈよりＺｐｕｓｈＤｏｗｎにより近くなくようにＺｐｕｓｈＵｐを選択してもよい。
【０３７７】
　図１４のプッシュユニット２８４はプッシュジェスチャを認識する。図２０はこのジェスチャの実施を図示するフローチャートである。このジェスチャを認識するための同等のハードウェア回路に対する対応する図は、非常に率直的である。
【０３７８】
　実行は、新しい（Ｘ，Ｙ，Ｚ）サンプルが演算ユニット１６から到達する毎にステップ４５０で開始する。プッシュユニット２８４が各サンプルのＺ値だけを調査することに注意されたい。
【０３７９】
　ステップ４５２は、“プッシュ”ジェスチャが既に進行中かどうかをチェックする。
【０３８０】
　ステップ４５４は、“プッシュ”ジェスチャが進行中でなければ実行する。このステップは、“プッシュ”が始まるべきかどうかをチェックする。まず最初に、“プッシュ”ジェスチャはユーザによってイネーブルされなければならない。第２に、現在のＺ値はしきい値ＺｐｕｓｈＤｏｗｎより大きくなければならない。
【０３８１】
　Ｚがプッシュジェスチャを開始するために十分であれば、ステップ４５６はＯｕｔを左に設定して、左のボタンがここで押されることを示す。
【０３８２】
　ステップ４５８は、現在のプッシュジェスチャが終了すべきかどうかをチェックする。このチェックは単に、ＺをＺｐｕｓｈＵｐと比較することを含む。ＺがＺｐｕｓｈＵｐより小さければ、プッシュジェスチャはステップ４６０において打ち切られる。
【０３８３】
　実行はステップ４６２で終了する。ステップ４５６又はステップ４６０のいずれかが実行されたら、Ｏｕｔは同じまま残り、従って、上で参照したヒステリシスを提供する。状態変数Ｏｕｔは開始時に「なし」に初期化される。
【０３８４】
　当業者は、タップユニット２８０が、（Ｘ，Ｙ）及び指の存在情報を提供する任意のタッチパッドと使用することに適していることと、プッシュユニット２８４は、Ｚ（圧力）情報を生成する任意のタッチパッドと使用することに適していることに気付くであろう。ジグザグユニット２８２だけが、ここで開示された特定のタッチパッド技術の特別な特性、つまり、２本の指が平均化された指の位置を正確に報告するという事実に依存する。
【０３８５】
　ジェスチャ処理の直接的な一部分ではない２つ以上のアルゴリズムは、ユーザがパッド上でタップするときに起こる小さな問題に取り組むために使用される。特に、指の位置はときどき、指が離れて持ち上げられると、ある１つの方向で先鋭に切り取られる。このことはこのアクション中の指の自然なずれによるものであり、指が浅い角度で保たれるとさらに悪化される。“反転モーション”アルゴリズムは幾つかのこの問題を扱うことができるが、タップ距離のテストが失敗する程明らかな指の位置がジャンプすれば、反転モーションは手助けできない。
【０３８６】
　Ｚが現在のサンプルと前のサンプルとの間で急速に変化していることが見られれば（即ち、現在のＺ値と前のＺ値との間の絶対差がある経験的に決定されたしきい値より小さければ）、演算ユニット１６の出力の（Ｘ，Ｙ）フィルタリングの時定数を増加させることができる。一般的に、古いフィルタ値と新しい商は、新しいフィルタ値を生成するようにほぼ等しい重み付けで平均化される。Ｚが急速に変化していれば、古いフィルタ値は、新しい商より比較的高く（例えば、大きさのオーダー）代わりとして重み付けされる。その結果は、大きなＺの変化のこの瞬間中に発生する任意の動きが大きくダンピングされることである。
【０３８７】
　しばしば、指を降ろした時のしきい値ＺｔｈｒｅｓｈよりＺが低く減少する前に、指の持ち上げから生じるスプリアスの動き（偽の動き）がすぐ前の全てのサンプルにおいて起こる。スプリアスの指の持ち上げの動きの問題の別の解決法は、“リフトジャンプ抑制”機構であり、それはこの最後のスプリアスの動きのイベントを抑制しようと試みる。図２１は、リフトジャンプ抑制機能を実行する図式的な回路を示す。
【０３８８】
　図２１において示される回路は、リフトジャンプ抑制を実行する。それは図８の除算器１７４及び１７６から到達する（Ｘ，Ｙ）位置のサンプルのシーケンスを調査し、モーション抑制信号を得るためにさらに処理される速度Ｓを生成する。前述したように、速度Ｓを計算するとき任意の平滑化又はフィルタリングの前に上記商を直接的に使用することが最適である。
【０３８９】
　図２１を参照すると、Ｘ座標は遅延器４７０に記憶される。減算器４７２は、Ｘ値と遅延器４７０に記憶された前のＸ値との間の絶対差を計算する。同様に遅延器４７４及び減算器４７６はＹでの絶対差を計算する。加算器４７８はこれらの絶対差の和を形成し、現在のサンプルと前のサンプルとの距離の差である速度Ｓを生成する。前述したように、他の距離の測定値はこの計算のために使用されることは、明示的である。図２１の回路に加えて、ジグザグユニット２８２はまた、前述したように速度値Ｓを使用することに注意されたい。
【０３９０】
　遅延器ユニット４８０及び４８２は、それぞれＳ'及びＳ''として知られる１つ前の値及び２つ前の値を記録する。除算器４８４は、Ｓ／２と示されるＳの半分の商を計算する。リフトジャンプ抑制ユニットは、スプリアスのリフトジャンプイベントを認識する試みにおいて、Ｓ、Ｓ'、Ｓ''及びＳ／２の間の特徴的関係を探す。当業者は、与えられた指のストロークの４番目のサンプルまでは、Ｓ''が確実に求まらないことを認識するであろうし、従って、リフトジャンプ抑制ユニットは各ストロークの最初の３つのサンプルに対してディスエーブルされる。リフトジャンプ抑制ユニットはまた、速度のしきい値であるパラメータＬｉｆｔＪｕｍｐを使用し、上記しきい値ＬｉｆｔＪｕｍｐは、経験的に決定されてサンプリングレート及びセンサパッドの感度によって影響を受ける。
【０３９１】
　比較器４８６は速度Ｓがしきい値ＬｉｆｔＪｕｍｐより大きいかどうかをチェックする。比較器４８８は１つ前の速度Ｓ'がＬｉｆｔＪｕｍｐより小さいかどうかを見るためにチェックし、比較器４９０はＳ'がＳ／２より小さいかどうかをチェックする。同様に、比較器４９２は２つ前の速度Ｓ''がＬｉｆｔＪｕｍｐより小さいかどうかを見るためにチェックし、比較器４９４はＳ''がＳ／２より小さいかどうかをチェックする。５つの全ての条件が満たされれば、論理積ゲート４９６は、この例に対してモーションユニット１８のアクションを抑制する“抑制モーション”信号を出力する。モーションユニット１８が抑制されると、それの出力（ΔＸ，ΔＹ）は現在のサンプルに対しては生成されず、それの遅延ユニット２６０はクロック同期されない。
【０３９２】
　リフトジャンプ抑制ユニットによって検出されたプロフィールは、指を持ち上げる前に、最後のスプリアスの動きのサンプルの間に普通は生じる。Ｚが次のサンプル上でのＺｔｈｒｅｓｈより低く落ち込むので、現在のサンプルはホストに送信されるモーションイベントに全く貢献しない。アルゴリズムは、１つの行に対して１つ以上のサンプルを抑制しないようにした設計によって保証される。従って、アルゴリズムが悪い部分を推測し、ＺがＺｔｈｒｅｓｈより低く落ち込まなければ、スキップされる指の動きは、検出されたカーソルの動きにおける小さな躊躇だけで、次のサンプルによって生成される（ΔＸ，ΔＹ）に取り上げられる。
【０３９３】
　本発明のタッチセンサシステムの増大した感度は、人が使いやすい指による軽いタッチを可能にする。増大した感度により、ペン芯（ペンスタイリ）等のような他の入力オブジェクトを使うことがより容易になる。さらに、この感度は、更に厚い保護層又は異なる材料に対してもトレードオフを可能にし、その両方によって製造コストを下げることが可能になる。
【０３９４】
　より大きいノイズ除去は使用におけるより大きな柔軟性を可能にし、偽のノイズ問題に対する感度を減少させる。最もノイズ除去の利益を引き出すことができる２つの技術が使用される。
【０３９５】
　本発明に使用されるドライブ及びセンス技術によって、データ補足速度は先行技術以上の約３０の１つの係数によって増加されてきた。このことは幾つかの明確な副次的効果を提供する。第１に、同じレベルの信号処理に対しては回路はたいていの時間はオフにされることが可能であり、設計のアナログ部分におけるおおよそ３０のファクタによって電力消費を低減することが可能である。第２に、より多くのデータが利用できるので、フィルタリングやジェスチャ認識のようなより多くの信号処理が実行されることが可能である。
【０３９６】
　本発明で使用されるセンサ電子回路は非常に頑健であり、プロセス及びシステムエラーを較正する。それはセンサからの容量性情報を処理し、例えばマイクロプロセッサである外部デバイスにデジタル情報を提供する。
【０３９７】
　本発明の特有の物理的特性のために、以前では不可能であった幾つかの人間工学的に興味深いアプリケーションがある。現在、マウス又はトラックボールは、ポータブルコンピュータ上での使用には物理的に不便である。本発明は、これらのデバイスに取って代わる非常に便利で使いやすいカーソル位置解決策を提供する。
【０３９８】
　マウス型のアプリケーションにおいては、本発明のセンサは、ポータブルコンピュータにおける例えば“スペースバー”キーの下等、便利な場所に置かれてもよい。この場所に置かれると、ユーザーの親指は、コンピュータスクリーン上でカーソル位置を制御するためにセンサ上で位置ポインタとして用いられる。次いで、カーソルは、ユーザの指をキーボードから離す必要が無く動かされる。人間工学的には、これはトラックボールを用いたマッキントッシュのパワーブックの概念に似ているが、しかしながら、本発明は、トラックボール以上のサイズの点での大きな利点を提供する。この基本的アイデアの拡張は、２つのセンサがさらなる特性コントロールのために“スペースバー”キーの下に置かれることができることにおいて可能である。
【０３９９】
　カーソルのフィードバックを有するコンピュータディスプレイは、アプリケーションの一般的な範囲のある１つの小さな一例であり、そこでは、ディスプレイは、光分野、ＬＥＤ、ＬＣＤディスプレイはＣＲＴであり得る。例示は、現在の装置がノブ／ボタン／タッチスクリーンの組み合わせを用いる実験室の装置上にあるタッチコントロールを含む。このインタフェースを接合する機能のために、１つ又はそれ以上のこれらの入力が、本発明に関して説明された入力のうちの１つに結合される。
【０４００】
　一般消費者のエレクトロニクス装置（ステレオ、グラフィックイコライザ、ミキサ）アプリケーションはしばしば、可変制御が必要とされるので、スライドポテンショメータのためにかなりのフロントパネル面を使用する。本発明は、１つの小型のタッチパッドの位置においてそのような制御を提供することができる。家電システムがより一般的になっているので、さらに密度のある強力なインタフェースが必要である。本発明のセンサ技術は、非常に密度の高い制御パネルを可能にする。ハンドヘルド型のＴＶ／ＶＣＲ／ステレオのコントロールは人間工学的に形成されており、本センサ技術が用いられると、より効果的な特性を可能にする。
【０４０１】
　本発明のセンサは、どんな表面にも適合され、多くの接触点を検出することができ、より効果的なジョイスティックを作ることができる。本発明のセンサ技術による特有な圧力検出能力はまた、このアプリケーションの鍵である。コンピュータゲーム、“リモート”コントロール（趣味のエレクトロニクス製品、飛行機）、及びマシンツールコントロールは、本発明のセンサ技術から恩恵を受けるアプリケーションの数例である。
【０４０２】
　音楽キーボード（シンセサイザ、電子ピアノ）は、このセンサの圧力検出能力によって与えられる速度感応性のキーを必要とする。ピッチベンディングコントロールもあり、この技術で置き換えられることが可能である他のスライドスイッチもある。より特有なアプリケーションは、位置、手の圧力、及び指の３次元インタフェースにおける関数として、音色を創り出す楽器を備える。
【０４０３】
　本発明のセンサ技術は、それに圧力をかけるどんな導電材料も、最適に検出できる。センサの上面での導電材料層で覆われた圧縮性絶縁層を加えることにより、本発明のセンサは、電気導電度とは無関係に、ハンドヘルド型である任意のオブジェクトからの圧力を間接的にも検出できる。
【０４０４】
　このセンサから得られる情報量のために、それはバーチャルリアリティ機器への入力装置として非常に良好に機能するであろう。３次元での位置監視と、行動に対するある程度の応答（圧力）とを可能にする構造を想像することは容易である。
【０４０５】
　本発明の実施形態及びアプリケーションが示されて説明されているが、当業者にとっては、上述されたものよりもより多くの変更例がここでの発明概念から逸脱することなく可能であることは明白である。それゆえ、本発明は添付の請求の範囲の精神を除いて限定されるものではない。
【図面の簡単な説明】
【０４０６】
【図１】本発明の容量性位置検出システムの全体のブロック図である。
【図２Ａ】上部の導電性トレース層と、底部のトレース層に接続された導電性パッドとを含むオブジェクト位置センサの表面層を示す、本発明の好ましい本実施形態に係るオブジェクト位置センサ変換器の平面図である。
【図２Ｂ】底部の導電性トレース層を示す図２Ａのオブジェクト位置センサ変換器の底面図である。
【図２Ｃ】上部及び底部の両方の導電性トレース層を示す、図２Ａ及び図２Ｂのオブジェクト位置センサ変換器の合成図である。
【図２Ｄ】図２Ａ乃至図２Ｃのオブジェクト位置センサ変換器の断面図である。
【図３】本発明の好ましい実施形態に係るセンサ変換器と共に用いられるセンサデコーディング電子装置のブロック図である。
【図４Ａ】本発明において使用される電荷積分器回路の簡単化された概略図である。
【図４Ｂ】図４Ａの電荷積分器回路の図式的な概略図である。
【図５】図４Ａ及び図４Ｂの電荷積分器回路の動作のタイミング図である。
【図６】本発明において使用する図式的なフィルタ及びサンプル／ホールド回路の概略図である。
【図７】本発明において使用するＡ／Ｄ変換器の好ましい本実施形態のより詳細なブロック図である。
【図８】本発明において使用される図式的な演算回路のブロック図である。
【図９】図８の演算ユニットと共に使用される較正ユニットのブロック図である。
【図１０】本発明において有用なバイアス電圧発生回路の概略図である。
【図１１】本発明のオブジェクト位置センサのエッジモーション機能を図示するセンシング平面の正面図である。
【図１２Ａ】指又は他のオブジェクトがセンシング平面の周辺領域内に存在するかどうかを決定する第１のハードウェアの実施を説明する概略図である。
【図１２Ｂ】指又は他のオブジェクトがセンシング平面の周辺領域内に存在するかどうかを決定する第１のハードウェアの実施を説明する概略図である。
【図１３】本発明のエッジモーション機能のハードウエアの実施を図示する概略図である。
【図１４】図１のジェスチャユニット２０のより詳細なブロック図である。
【図１５Ａ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１５Ｂ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１５Ｃ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１５Ｄ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１５Ｅ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１５Ｆ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１５Ｇ】本発明に係る認識される幾つかのジェスチャを図示するタイミングチャートである。
【図１６Ａ】本発明に係るセンサパッド上で使用される２つのタップゾーンの形状を図示する正面図である。
【図１６Ｂ】本発明に係るセンサパッド上で使用される２つのタップゾーンの形状を図示する正面図である。
【図１７Ａ】図１４のタップユニットの動作を図示するフローチャートである。
【図１７Ｂ】図１４のタップユニットの動作を図示するフローチャートである。
【図１７Ｃ】図１４のタップユニットの動作を図示するフローチャートである。
【図１７Ｄ】図１４のタップユニットの動作を図示するフローチャートである。
【図１７Ｅ】図１４のタップユニットの動作を図示するフローチャートである。
【図１７Ｆ】図１４のタップユニットの動作を図示するフローチャートである。
【図１８Ａ】図１４のジグザグユニットの動作を図示するフローチャートである。
【図１８Ｂ】図１４のジグザグユニットの動作を図示するフローチャートである。
【図１８Ｃ】図１４のジグザグユニットの動作を図示するフローチャートである。
【図１９】本発明に係る“プッシュ”ジェスチャを図示するタイミング図である。
【図２０】図１４のプッシュユニットの動作を図示するフローチャートである。
【図２１】本発明に係るジェスチャ認識において使用される図式的なリフトジャンプ（ＬｉｆｔＪｕｍｐ）抑制回路のブロック図である。
【符号の説明】
【０４０７】
６…センシングシステム、
８…指、
１０…センシング平面、
１２…Ｘ入力処理回路、
１４…Ｙ入力処理回路、
１６…演算ユニット、
１８…モーションユニット、
２０…ジェスチャユニット、
２２…タッチセンサアレイ、
２４…基板、
２６…導電性トレース、
２８…上面、
３０…導電性トレース、
３２…底面、
３４…センスパッド、
３６…絶縁層、
４０…センシング回路、
４２−１乃至４２−ｎ，４２−Ｖｍｉｎ乃至４２−Ｖｍａｘ…コンデンサ、
４４−１乃至４４−ｎ，４４−Ｖｍｉｎ乃至４４−Ｖｍａｘ…電荷積分回路、
４６…バイアス電圧発生回路、
４８…スイッチコンデンサフィルタ、
４８−１乃至４８−ｎ，４８−Ｖｍｉｎ乃至４８−Ｖｍａｘ…フィルタ回路、
５０−１乃至５０−ｎ，５０−Ｖｍｉｎ乃至５０−Ｖｍａｘ，５０−１乃至５０−２４…サンプル／ホールド回路、
５２，５２−１乃至５２−６…Ａ／Ｄ変換器、
５４…演算ユニット、
５６…コントロール回路、
６０…入力ノード、
６２…第１の短絡スイッチ、
６４…第２の短絡スイッチ、
６６…正の定電流源、
６８…第１の電流源スイッチ、
７０…負の定電流源、
７２…第２の電流源スイッチ、
７４…第１の内部コンデンサ、
７６…出力ノード、
７８…正の電圧記憶スイッチ、
８０…第２の内部コンデンサ、
８２…スイッチ、
８４…スイッチ、
８６…負の電圧記憶スイッチ、
８８…スイッチ、
９０，９２…パスゲート、
９４，９６…ＰチャンネルＭＯＳトランジスタ、
９８…パスゲート、
１００，１０２…ＮチャンネルＭＯＳトランジスタ、
１０４…パスゲート、
１０６…ＰチャンネルＭＯＳトランジスタ、
１０８…ＮチャンネルＭＯＳトランジスタ、
１１０，１１２，１１４…パスゲート、
１１６…ＮチャンネルＭＯＳトランジスタ、
１１８…パスゲート、
１２０…入力ノード、
１２２…パスゲート、
１２４…コンデンサ、
１２６…パスゲートの出力ゲート、
１３０…アナログマルチプレクサ、
１３２−１乃至１３２−６…内部マルチプレクサブロック、
１３４…コントロールバス、
１３８−１乃至１３８−６…レジスタ、
１５０，１５２…分母アキュムレータ、
１５４，１５６…分子アキュムレータ、
１５８，１６０，１６２，１６４…オフセットレジスタ、
１６６，１６８，１７０，１７２…加算器、
１７４，１７６…除算ブロック、
１７８…ブロック、
１８０…較正ユニット、
１８２…フィルタ、
１８４…ヒストリバッファ、
１８６…コントロールユニット、
１８８，１９０…絶対差分ユニット、
１９２…比較器、
１９４…減算器ユニット、
１９６，１９８…比較器、
２００…較正ロジック、
２０２…コンデンサ、
２０４…第１のパスゲート、
２０６…電流源トランジスタ、
２０８…第２のパスゲート、
２１０…フィルタ回路、
２１２…トランスコンダクタンス増幅器、
２１４…ダイオード、
２１６…抵抗器、
２１８…コンデンサ、
２２０…コンデンサ、
２２２…パスゲート、
２２４…ＮチャンネルＭＯＳトランジスタ、
２２６…ＰチャンネルＭＯＳトランジスタ、
２２８…ＮチャンネルＭＯＳトランジスタ、
２３０…パスゲート、
２４０…内部ゾーン、
２４２…外部ゾーン、
２４４…回路、
２４６，２４８，２５０，２５２…ディジタル比較器、
２５４…論理和ゲート、
２５６…回路、
２５８，２６０…論理和ゲート、
２６２…回路、
２６４…減算器回路、
２６６…遅延器、
２６８…乗算器、
２７０…減算器回路、
２７２…乗算器、
２７４…２入力論理積ゲート、
２７６…スイッチ、
２７８…加算器、
２８０…タップユニット、
２８２…ジグザグユニット、
２８４…プッシュユニット、
２８６…ボタンコントロールユニット、
２８８，２９０，２９２…縦縞、
２９４…主領域、
２９６…コーナー領域、
４７０…遅延器、
４７２…減算器、
４７４…遅延器、
４７６…減算器、
４７８…加算器、
４８０，４８２…遅延器ユニット、
４８４…除算器、
４８６，４８８，４９０，４９２，４９４…比較器、
４９６…論理積ゲート。
【図１】
2004094964.tif 000010
【図２Ａ】
2004094964.tif 000011
【図２Ｂ】
2004094964.tif 000012
【図２Ｃ】
2004094964.tif 000013
【図２Ｄ】
2004094964.tif 000014
【図３】
2004094964.tif 000015
【図４Ａ】
2004094964.tif 000016
【図４Ｂ】
2004094964.tif 000017
【図５】
2004094964.tif 000018
【図６】
2004094964.tif 000019
【図７】
2004094964.tif 000020
【図８】
2004094964.tif 000021
【図９】
2004094964.tif 000022
【図１０】
2004094964.tif 000023
【図１１】
2004094964.tif 000024
【図１２Ａ】
2004094964.tif 000025
【図１２Ｂ】
2004094964.tif 000026
【図１３】
2004094964.tif 000027
【図１４】
2004094964.tif 000028
【図１５Ａ】
2004094964.tif 000029
【図１５Ｂ】
2004094964.tif 000030
【図１５Ｃ】
2004094964.tif 000031
【図１５Ｄ】
2004094964.tif 000032
【図１５Ｅ】
2004094964.tif 000033
【図１５Ｆ】
2004094964.tif 000034
【図１５Ｇ】
2004094964.tif 000035
【図１６Ａ】
2004094964.tif 000036
【図１６Ｂ】
2004094964.tif 000037
【図１７Ａ】
2004094964.tif 000038
【図１７Ｂ】
2004094964.tif 000039
【図１７Ｃ】
2004094964.tif 000040
【図１７Ｄ】
2004094964.tif 000041
【図１７Ｅ】
2004094964.tif 000042
【図１７Ｆ】
2004094964.tif 000043
【図１８Ａ】
2004094964.tif 000044
【図１８Ｂ】
2004094964.tif 000045
【図１８Ｃ】
2004094964.tif 000046
【図１９】
2004094964.tif 000047
【図２０】
2004094964.tif 000048
【図２１】
2004094964.tif 000049