(57)【要約】複数のタッチを検出可能なタッチセンサは、マルチタッチ復号能力を有するデジタルデバイスと連結される。マルチタッチ復号能力は、タッチデータ取得、タッチ識別、タッチ追跡、およびタッチセンサに関連付けられたデバイスへの処理されたタッチデータの出力を含む。タッチ識別は、タッチ場所ピーク検出、タッチ場所微調整およびタッチ場所補間を含む。タッチデータ取得は、タッチセンサ上の潜在的タッチの位置を特定する。ピーク検出は、タッチセンサ上の潜在的タッチ場所を識別する。潜在的タッチ場所が識別されると、タッチ場所微調整は、それに隣接する各場所を検討し、補間は、隣接するタッチ場所値を検討しタッチのより高い分解能場所を発生させる。タッチ追跡は、タッチ識別データの時系列「フレーム」を比較し、次にさらなる処理のためにどのタッチがフレーム間で関連付けられるかを決定し、例えば、ジェスチャアクションを決定する。
2015515685.tif 000002
【特許請求の範囲】
【請求項１】
タッチ感知表面上の複数のタッチを復号する方法であって、
軸上に整列された複数のチャネルを走査し、前記チャネルの自己値を決定するステップと、
前記少なくとも１つの自己値を比較し、前記チャネルのうちのどの１つが局所最大自己値であるかを決定するステップと、
前記局所最大自己値を有する前記少なくとも１つのチャネルの複数のノードを走査し、前記ノードの相互値を決定するステップと、
前記相互値を比較し、前記ノードのうちのどの１つが最大相互値を有するかを決定するステップであって、前記局所最大自己値チャネルに関する最大相互値を有するノードは、潜在的タッチ場所である、ステップと
を含む、方法。
【請求項２】
前記自己値のうちの少なくとも１つが自己タッチ閾値を上回るかどうかを決定するステップをさらに含み、
「はい」である場合、前記最大自己値を有する前記少なくとも１つのチャネルの複数のノードを走査するステップを継続し、「いいえ」である場合、完了として、タッチ検出フレームを終了する、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの自己に対する左勾配値および右勾配値を決定するステップをさらに含み、
前記左勾配値は、前記少なくとも１つの自己値から前記少なくとも１つのチャネルの左のチャネルの自己値を引いた値に等しく、前記右勾配値は、前記少なくとも１つの自己値から前記少なくとも１つのチャネルの右のチャネルの自己値を引いた値に等しい、請求項１に記載の方法。
【請求項４】
前記左勾配値がゼロ（０）を上回り、かつ前記右勾配値がゼロ（０）未満であるかどうかを決定するステップであって、「はい」である場合、前記少なくとも１つのチャネルの複数のノードを走査する前記ステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、
前記左勾配値がゼロ（０）を上回り、かつ前記右勾配値を上回るかどうかを決定するステップであって、「はい」である場合、前記少なくとも１つのチャネルの複数のノードを走査する前記ステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、
前記左勾配値がゼロ（０）未満であり、かつ前記右勾配値のある割合を上回るかどうかを決定するステップであって、「はい」である場合、前記少なくとも１つのチャネルの複数のノードを走査する前記ステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、
別の自己値が存在するかどうかを決定するステップであって、「はい」である場合、前記別の自己値を使用して、前記自己値のうちの少なくとも１つが前記自己タッチ閾値を上回るかどうかを決定する前記ステップに戻り、「いいえ」である場合、完了として、タッチ検出フレームを終了するステップと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記相互値のうちの少なくとも１つが相互タッチ閾値を上回るかどうかを決定するステップをさらに含み、「はい」である場合、前記最大自己値を有する前記少なくとも１つのチャネルの複数のノードを走査する前記ステップを継続し、「いいえ」である場合、完了として、前記タッチ検出フレームを終了する、請求項２に記載の方法。
【請求項６】
次の勾配値を決定するステップであって、前記次の勾配値は、現在の相互値から次のノードの次の相互値を引いた値に等しい、ステップと、
前の勾配値を決定するステップであって、前記前の勾配値は、前記現在の相互値から前のノードの前の相互値を引いた値に等しい、ステップと
をさらに含む、請求項５に記載の方法。
【請求項７】
前記次の勾配値がゼロ（０）未満であり、かつ前記前の勾配値がゼロ（０）を上回るかどうかを決定するステップであって、「はい」である場合、ノードを検証するステップを開始し、「いいえ」である場合、次のステップに進む、ステップと、
前記次の勾配値がゼロ（０）を上回り、かつ前記前の勾配値のある割合未満であるかどうかを決定するステップであって、「はい」である場合、前記ノードを検証する前記ステップを開始し、「いいえ」である場合、次のステップに進む、ステップと、
前記次の勾配値がゼロ（０）未満であり、かつ前記前の勾配値を上回るかどうかを決定するステップであって、「はい」である場合、前記ノードを検証する前記ステップを開始し、「いいえ」である場合、次のステップに進む、ステップと、
別の相互値が存在するかどうかを決定するステップであって、「はい」である場合、前記相互値のうちの少なくとも１つが前記相互タッチ閾値を上回るかどうかを決定する前記ステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、
別の自己値が存在するかどうかを決定するステップであって、「はい」である場合、別の自己値を検討し、および前記自己値のうちの少なくとも１つが自己タッチ閾値を上回るかどうかを決定する前記ステップに戻り、「いいえ」である場合、完了として、前記タッチ検出フレームを終了する、ステップと
をさらに含む、請求項６に記載の方法。
【請求項８】
前記ノードを検証するステップは、
局所最大相互値を有するノードを現在のノードとして識別するステップと、
前記現在のノードの北に有効ノードが存在するかどうかを決定するステップであって、「いいえ」である場合、前記現在のノードの南に有効ノードが存在するかどうかを決定するステップを継続し、「はい」である場合、前記北ノードに相互測定を行ない、次のステップに進む、ステップと、
前記北ノードが前記現在のノードを上回るかどうかを決定するステップであって、「はい」である場合、前記北ノードを前記現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、
前記現在のノードの南に有効ノードが存在するかどうかを決定するステップであって、「いいえ」である場合、前記現在のノードの東に有効ノードが存在するかどうかを決定するステップを継続し、「はい」である場合、前記南ノードに相互測定を行ない、次のステップに進む、ステップと、
前記南ノードが前記現在のノードを上回るかどうかを決定するステップであって、「はい」である場合、前記南ノードを前記現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定する前記ステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、
前記現在のノードの東に有効ノードが存在するかどうかを決定するステップであって、「いいえ」である場合、前記現在のノードの西に有効ノードが存在するかどうかを決定するステップを継続し、「はい」である場合、前記東ノードに相互測定を行ない、次のステップに進む、ステップと、
前記東ノードが前記現在のノードを上回るかどうかを決定するステップであって、「はい」である場合、前記東ノードを前記現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定する前記ステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、
前記現在のノードの西に有効ノードが存在するかどうかを決定するステップであって、「いいえ」である場合、前記現在のノードの左に有効ノードが存在するかどうかを決定するステップを継続し、「はい」である場合、前記西ノードに相互測定を行ない、次のステップに進む、ステップと、
前記西ノードが前記現在のノードを上回るかどうかを決定するステップであって、「はい」である場合、前記西ノードを前記現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定する前記ステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、
前記現在のノードの左に有効ノードが存在するかどうかを決定するステップであって、「いいえ」である場合、中心相互値から右相互値を引いた値として左相互値を定義し、前記ノードに対する微細位置を決定するステップを継続し、「はい」である場合、前記左ノードに相互測定を行ない、次のステップに進む、ステップと、
前記現在のノードの右に有効ノードが存在するかどうかを決定するステップであって、「いいえ」である場合、前記中心相互値から前記左相互値を引いた値として前記相互値を定義し、前記ノードに対する微細位置を決定する前記ステップを継続し、「はい」である場合、前記右ノードに相互測定を行ない、次のステップに進む、ステップと、
前記左値を前記右値から減算し、この差異を前記中心値で除算し、その結果を６４で乗算することによって、前記ノードの微細位置を決定し、次のステップに進む、ステップと、
補間が各軸に対して行なわれたかどうかを決定するステップであって、「はい」である場合、別のタッチ点を全検出されたタッチ点のリストに追加し、追加の相互値が存在するかどうかを決定するステップに戻り、「いいえ」である場合、再び、前記現在のノードの左に有効ノードが存在するかどうかを決定するステップを開始するために、他の軸の左および右ノードを使用することによって、前記他の軸を補間する、ステップと
を含む、請求項７に記載の方法。
【請求項９】
タッチ感知表面上で前に見つかったタッチ場所および現在のタッチ場所を追跡する方法であって、前記方法は、
少なくとも１つの現在のタッチ場所が存在するかどうかを決定するステップであって、「はい」である場合、前記現在のタッチ場所のうちの１つを選択し、「いいえ」である場合、次のステップに進む、ステップと、
少なくとも１つの前のタッチ場所が存在するかどうかを決定するステップであって、「いいえ」である場合、追跡を終了し、「はい」である場合、前記前のタッチ場所のうちの１つを選択し、次のステップに進む、ステップと、
前記前のタッチ場所が前記現在のタッチ場所に関連付けられるかどうかを決定するステップであって、「いいえ」である場合、タッチが、前記前のタッチ場所にもはや存在せず、その前のタッチ場所の追跡を停止し、少なくとももう１つの前のタッチ場所が存在するかどうかを決定するステップを継続し、「はい」である場合、次のステップに進む、ステップと、
少なくとももう１つの前のタッチ場所が存在するかどうかを決定するステップであって、「はい」である場合、次の前のタッチ場所を選択し、前記前のタッチ場所に対して前記次の前のタッチ場所を使用して、前記前のタッチ場所が前記現在のタッチ場所に関連付けられるかどうかを決定する前記ステップを継続し、「いいえ」である場合、追跡されたタッチ場所を出力する、ステップと
を含む、方法。
【請求項１０】
前記現在のタッチ場所のうちの１つを選択する前記ステップは、
少なくとも１つの前のタッチ場所が存在するかどうかを決定するステップであって、「いいえ」である場合、現在のタッチ場所において追跡すべき新しいタッチ、少なくとももう１つの現在のタッチ場所が存在するかどうかを決定するステップを継続し、「はい」である場合、一時的重み値を最大重み値に設定し、前のタッチ場所を選択し、次のステップに進む、ステップと、
前記選択された現在のタッチ場所と前記選択された前のタッチ場所との間の距離を測定し、前記選択された現在のタッチ場所と前記前のタッチ場所とのペアリングを決定するための現在の重み値としてこの距離を使用し、次のステップに進む、ステップと、
前記現在の重み値が前記一時的重み値未満であるかどうかを決定するステップであって、「いいえ」である場合、少なくとももう１つの前のタッチ場所が存在するかどうかを決定するステップを継続し、「はい」である場合、前記一時的重み値を前記現在の重み値に設定し、前記選択された前のタッチ場所を一時的タッチ場所として記録し、次のステップに進む、ステップと、
少なくとももう１つの前のタッチ場所が存在するかどうかを決定するステップであって、「はい」である場合、前記次の前のタッチ場所を選択し、前記選択された現在のタッチ場所と前記選択された前のタッチ場所との間の距離を測定する前記ステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、
前記一時的場所が既に異なる現在の場所に割り当てられているかどうかを決定するステップであって、「はい」である場合、前記現在の場所に対する次の最重重み値を計算し、割り当てられた現在の場所に対して、次いで、前記現在の場所に対する前記次の最重重み値が、前記割り当てられた場所に対する前記次の最重重み値未満であるかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、
前記重み値が最大関連付け閾値を下回るかどうかを決定するステップであって、「はい」である場合、前記一時的場所を前記現在の場所に割り当て、少なくとももう１つの現在のタッチ場所が存在するかどうかを決定するステップを継続し、「いいえ」である場合、新しいタッチ場所が、その追跡のために識別され、次のステップに進む、ステップと、
少なくとももう１つの現在のタッチ場所が存在するかどうかを決定するステップであって、「いいえ」である場合、少なくとも１つの他の前のタッチ場所が存在するかどうかを決定する前記ステップに戻り、「はい」である場合、次の現在のタッチ場所を選択し、少なくとも１つの前のタッチ場所が存在するかどうかを決定する前記ステップに戻る、ステップと、
前記現在の場所に対する前記次の最重重み値が、前記割り当てられた場所に対する前記次の最重重み値未満であるかどうかを決定するステップであって、「はい」である場合、前記一時的場所を前記次の最重場所に設定し、少なくとももう１つの現在のタッチ場所が存在するかどうかを決定する前記ステップに戻り、「いいえ」である場合、前記割り当てられた場所を前記次の最重重み値に設定し、移動された割当場所を選択し、少なくとも１つの前のタッチ場所が存在するかどうかを決定する前記ステップに戻る、ステップと
をさらに含む、請求項９に記載の方法。
【請求項１１】
複数のタッチ列の相互タッチ値をキャッシュする方法であって、前記方法は、
相互走査場所要求を受信するステップと、
キャッシュメモリが前記要求される相互走査場所の走査データを含むかどうかを決定するステップであって、「はい」である場合、前記走査データが有効であるかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、
前記要求される相互走査場所が前記キャッシュメモリの右縁を越えるかどうかを決定するステップであって、「はい」である場合、前記キャッシュメモリの最左列内の前記走査データの割当を解除し、前記割当が解除された走査データを前記キャッシュメモリの右縁に割り当て、その値を無効にし、「いいえ」である場合、前記キャッシュメモリの最右列内の前記走査データの割当を解除し、前記割当が解除された走査データを前記キャッシュメモリの左縁に割り当て、その値を無効にする、ステップと、
前記走査データが有効であるかどうかを決定するステップであって、「はい」である場合、それに対するさらなる処理のために、前記要求される前記走査データを返し、「いいえ」である場合、前記要求される場所において相互走査を行い、結果として生じる走査データを前記キャッシュメモリ内に置き、それに対するさらなる処理のために、前記要求される走査データを返す、ステップと
を含む、方法。
【請求項１２】
請求項１に記載の方法を使用して、複数のタッチを復号するためのシステムであって、前記システムは、
第１の軸を有する平行配向に配列されている第１の複数の電極であって、前記第１の複数の電極の各々は、自己静電容量を有する、第１の複数のタッチ電極と、
前記第１の軸に実質的に垂直な第２の軸を有する平行配向に配列されている第２の複数の電極であって、前記第１の複数の電極は、タッチ行列を形成するために前記第２の複数の電極を覆って配置され、前記第１の複数の電極と前記第２の複数の電極との重複交差点の各々は、相互静電容量を有し、
前記自己静電容量は、前記第１の複数の電極の各々に対して測定され、それぞれの自己値を生成し、
前記相互静電容量は、前記第１の複数の電極と前記第２の複数の電極との重複交差点の各々に対して測定され、それぞれの相互値を生成し、
前記自己および相互静電容量は、マイクロコントローラのアナログフロントエンドによって測定され、
前記自己および相互値は、前記マイクロコントローラのメモリ内に記憶される、第２の複数の電極と、
前記マイクロコントローラ内のデジタルプロセッサと
を備え、
前記デジタルプロセッサは、タッチ取得フレームあたり少なくとも１つのタッチの少なくとも１つの場所を決定する際、前記自己および相互値を使用し、後続タッチ取得フレーム内の前記少なくとも１つのタッチの変化する場所を追跡する、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、共有に係る米国仮特許出願第６１／６１７，８３１号（２０１２年３月３０日出願）を基礎とする優先権を主張する。該仮出願は、その全体が参照により本明細書に引用される。
【０００２】
（技術分野）
本開示は、容量タッチ感知の復号、特に、マルチタッチ復号に関する。
【背景技術】
【０００３】
ヒューマンインターフェースデバイスは、タッチされると、静電容量値を変化させる容量センサを使用するタッチ感知表面、例えば、パッド、画面等に基づくタッチ制御システムを含む。タッチセンサ上のタッチを１つ以上のタッチ場所に変換することは、簡単ではない。タッチセンサ上の１つ以上のタッチの追跡もまた、困難である。高度タッチ制御システムは、タッチスクリーン等のタッチ感知表面上の単一タッチおよび／または移動のみではなく、また、ユーザが、２つ以上の場所をタッチする、および／またはそれぞれのタッチ感知表面を覆って２本以上の指を移動させる、いわゆるマルチタッチシナリオ、例えば、ジェスチャも検出可能である。
【０００４】
マルチタッチシステムの重要な課題は、例えば、限定されないが、８ビットマイクロコントローラアーキテクチャの処理能力等、これらのアーキテクチャが、タッチ感知デバイスによって発生されるそれぞれの信号を処理するための高等数学を行なうことが不可能であり得ることによる、低コストシステムの制限された処理速度である。また、制限されたタッチ走査性能が存在し得、例えば、システム全体は、「フレーム」毎にタッチセンサまたは画面の平面全体を合理的にサンプリングすることが不可能であり得る。他の課題として、簡便で、モジュール式であり、かつ汎用のタッチ場所決定プログラムを提供するために十分なプログラムメモリ空間を有することが挙げられる。制限されたランダムアクセスメモリ（ＲＡＭ）空間は、タッチ決定システムが、同時に、タッチ検出の複数の「画像」全体およびその場所を記憶することを不可能にし得る。
【０００５】
故に、タッチ決定方法を改善および簡略化する必要性が存在する。従来の解決策は、閾値ベースであり、複雑な計算を要求していた。故に、よりロバストであり、かつあまり計算集約的ではないタッチ決定方法の必要性が存在する。さらに、高品質マルチタッチ復号、特に、例えば、限定されないが、低コスト８ビットマイクロコントローラアーキテクチャによって実装され得る方法、および／またはシステムの必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【０００６】
前述の問題は、本明細書に開示されるマルチタッチ復号方法およびシステムによって解決され、その他およびさらなる利点も、それによって達成される。
【０００７】
ある実施形態によると、タッチ感知表面上の複数のタッチを復号する方法は、軸上に整列された複数のチャネルを走査し、チャネルの自己値を決定するステップと、少なくとも１つの自己値を比較し、チャネルのうちのどれが、局所最大自己値であり得るかを決定するステップと、ノードの相互値を決定するために、局所最大自己値を有し得る、少なくとも１つのチャネルの複数のノードを走査するステップと、相互値を比較し、ノードのうちのどれが、最大相互値を有し得るかを決定するステップとを含み得、局所最大自己値チャネル上に最大相互値を有するノードは、潜在的タッチ場所であり得る。
【０００８】
さらなる実施形態によると、本方法は、自己値のうちの少なくとも１つが、自己タッチ閾値を上回り得るかどうかを決定するステップであって、「はい」である場合、最大自己値を有する少なくとも１つのチャネルの複数のノードを走査するステップを継続し、「いいえ」である場合、完了として、タッチ検出フレームを終了する、ステップを含み得る。
【０００９】
さらなる実施形態によると、本方法は、少なくとも１つの自己に対する左および右勾配値を決定するステップであって、左勾配値は、少なくとも１つの自己値から少なくとも１つのチャネルの左のチャネルの自己値を引いた値に等しくあり得、右勾配値は、少なくとも１つの自己値から少なくとも１つのチャネルの右のチャネルの自己値を引いた値に等しくあり得る、ステップを含み得る。
【００１０】
さらなる実施形態によると、本方法は、左勾配値が、ゼロ（０）を上回り得、かつ右勾配値が、ゼロ（０）未満であり得るかどうかを決定するステップであって、「はい」である場合、少なくとも１つのチャネルの複数のノードを走査するステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、左勾配値が、ゼロ（０）を上回り、かつ右勾配値を上回り得るかどうかを決定するステップであって、「はい」である場合、少なくとも１つのチャネルの複数のノードを走査するステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、左勾配値が、ゼロ（０）未満であり、かつ右勾配値のある割合を上回り得るかどうかを決定するステップであって、「はい」である場合、少なくとも１つのチャネルの複数のノードを走査するステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、別の自己値があり得るかどうかを決定するステップであって、「はい」である場合、別の自己値を使用して、自己値のうちの少なくとも１つが、自己タッチ閾値を上回り得るかどうかを決定するステップに戻り、「いいえ」である場合、完了として、タッチ検出フレームを終了する、ステップとを含み得る。
【００１１】
さらなる実施形態によると、本方法は、相互値のうちの少なくとも１つが、相互タッチ閾値を上回り得るかどうかを決定するステップであって、「はい」である場合、最大自己値を有する少なくとも１つのチャネルの複数のノードを走査するステップを継続し、「いいえ」である場合、完了として、タッチ検出フレームを終了する、ステップを含み得る。
【００１２】
さらなる実施形態によると、本方法は、次の勾配値を決定するステップであって、次の勾配値は、現在の相互値から次のノードの次の相互値を引いた値に等しくあり得る、ステップと、前の勾配値を決定するステップであって、前の勾配値は、現在の相互値から前のノードの前の相互値を引いた値に等しくあり得る、ステップとを含み得る。
【００１３】
さらなる実施形態によると、本方法は、次の勾配値が、ゼロ（０）未満であり得、かつ前の勾配値が、ゼロ（０）を上回り得るかどうかを決定するステップであって、「はい」である場合、ノードを検証するステップを開始し、「いいえ」である場合、次のステップに進む、ステップと、次の勾配値が、ゼロ（０）を上回り、かつ前の勾配値のある割合未満であり得るかどうかを決定するステップであって、「はい」である場合、ノードを検証するステップを開始し、「いいえ」である場合、次のステップに進む、ステップと、次の勾配値が、ゼロ（０）未満であり、かつ前の勾配値を上回り得るかどうかを決定するステップであって、「はい」である場合、ノードを検証するステップを開始し、「いいえ」である場合、次のステップに進む、ステップと、別の相互値が存在し得るかどうかを決定するステップであって、「はい」である場合、相互値のうちの少なくとも１つが、相互タッチ閾値を上回り得るかどうかを決定するステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、別の自己値が存在し得るかどうかを決定するステップであって、「はい」である場合、別の自己値を検討し、自己値のうちの少なくとも１つが、自己タッチ閾値を上回り得るかどうかを決定するステップに戻り、「いいえ」である場合、完了として、タッチ検出フレームを終了する、ステップとを含み得る。
【００１４】
本方法のさらなる実施形態によると、ノードを検証するステップは、局所最大相互値を有するノードを現在のノードとして識別するステップと、現在のノードの北に有効ノードが存在し得るかどうかを決定するステップであって、「いいえ」である場合、現在のノードの南に有効ノードが存在し得るかどうかを決定するステップを継続し、「はい」である場合、北ノードに相互測定を行ない、次のステップに進む、ステップと、北ノードが現在のノードを上回り得るかどうかを決定するステップであって、「はい」である場合、北ノードを現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、現在のノードの南に有効ノードが存在し得るかどうかを決定するステップであって、「いいえ」である場合、現在のノードの東に有効ノードが存在し得るかどうかを決定するステップを継続し、「はい」である場合、南ノードに相互測定を行ない、次のステップに進む、ステップと、南ノードが現在のノードを上回り得るかどうかを決定するステップであって、「はい」である場合、南ノードを現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、現在のノードの東に有効ノードが存在し得るかどうかを決定するステップであって、「いいえ」である場合、現在のノードの西に有効ノードが存在し得るかどうかを決定するステップを継続し、「はい」である場合、東ノードに相互測定を行ない、次のステップに進む、ステップと、東ノードが現在のノードを上回り得るかどうかを決定するステップであって、「はい」である場合、東ノードを現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、現在のノードの西に有効ノードが存在し得るかどうかを決定するステップであって、「いいえ」である場合、現在のノードの左に有効ノードが存在し得るかどうかを決定するステップを継続し、「はい」である場合、西ノードに相互測定を行ない、次のステップに進む、ステップと、西ノードが現在のノードを上回り得るかどうかを決定するステップであって、「はい」である場合、西ノードを現在のノードにし、タッチ点がこのノードに既に存在するかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、現在のノードの左に有効ノードが存在し得るかどうかを決定するステップであって、「いいえ」である場合、中心相互値から右相互値を引いた値として、左相互値を定義し、ノードに対する微細位置を決定するステップを継続し、「はい」である場合、左ノードに相互測定を行ない、次のステップに進む、ステップと、現在のノードの右に有効ノードが存在し得るかどうかを決定するステップであって、「いいえ」である場合、中心相互値から左相互値を引いた値として、相互値を定義し、ノードに対する微細位置を決定するステップを継続し、「はい」である場合、右ノードに相互測定を行ない、次のステップに進む、ステップと、左値を右値から減算し、この差異を中心値で除算し、その結果を６４で乗算することによって、ノードの微細位置を決定し、次のステップに進む、ステップと、補間が各軸に対して行なわれたかどうかを決定するステップであって、「はい」である場合、別のタッチ点を全検出されたタッチ点のリストに追加し、追加の相互値が存在し得るかどうかを決定するステップに戻り、「いいえ」である場合、再び、現在のノードの左に有効ノードが存在し得るかどうかを決定するステップを開始するために、他の軸の左および右ノードを使用することによって、他の軸を補間する、ステップとを含み得る。
【００１５】
別の実施形態によると、タッチ感知表面上で前に見つかったタッチ場所および現在のタッチ場所を追跡する方法は、少なくとも１つの現在のタッチ場所が存在し得るかどうかを決定するステップであって、「はい」である場合、現在のタッチ場所のうちの１つを選択し、「いいえ」である場合、次のステップに進む、ステップと、少なくとも１つの前のタッチ場所が存在し得るかどうかを決定するステップであって、「いいえ」である場合、追跡を終了し、「はい」である場合、前のタッチ場所のうちの１つを選択し、次のステップに進む、ステップと、前のタッチ場所が、現在のタッチ場所に関連付けられ得るかどうかを決定するステップであって、「いいえ」である場合、タッチが、前のタッチ場所にもはや存在し得ず、その前のタッチ場所の追跡を停止し、少なくとももう１つの前のタッチ場所が存在し得るかどうかを決定するステップを継続し、「はい」である場合、次のステップに進む、ステップと、少なくとももう１つの前のタッチ場所が存在し得るかどうかを決定するステップであって、「はい」である場合、次の前のタッチ場所を選択し、前のタッチ場所に対する次の前のタッチ場所を使用して、前のタッチ場所が、現在のタッチ場所に関連付けられ得るかどうかを決定するステップを継続し、「いいえ」である場合、追跡されたタッチ場所を出力する、ステップとを含み得る。
【００１６】
本方法のさらなる実施形態によると、現在のタッチ場所のうちの１つを選択するステップは、少なくとも１つの前のタッチ場所が存在し得るかどうかを決定するステップであって、「いいえ」である場合、現在のタッチ場所において追跡すべき新しいタッチ、少なくとももう１つの現在のタッチ場所が存在し得るかどうかを決定するステップを継続し、「はい」である場合、一時的重み値を最大重み値に設定し、前のタッチ場所を選択し、次のステップに進む、ステップと、選択された現在のタッチ場所と選択された前のタッチ場所との間の距離を測定し、選択された現在のタッチ場所および前のタッチ場所のペアリングを決定するための現在の重み値として使用し、次のステップに進む、ステップと、現在の重み値が、一時的重み値未満であり得るかどうかを決定するステップであって、「いいえ」である場合、少なくとももう１つの前のタッチ場所が存在し得るかどうかを決定するステップを継続し、「はい」である場合、一時的重み値を現在の重み値に設定し、選択された前のタッチ場所を一時的タッチ場所として記録し、次のステップに進む、ステップと、少なくとももう１つの前のタッチ場所が存在し得るかどうかを決定するステップであって、「はい」である場合、次の前のタッチ場所を選択し、選択された現在のタッチ場所と選択された前のタッチ場所との間の距離を測定するステップに戻り、「いいえ」である場合、次のステップに進む、ステップと、一時的場所が、異なる現在の場所に既に割り当てられている可能性があるかどうかを決定するステップであって、「はい」である場合、現在の場所および割り当てられた現在の場所に対する次の最重重み値を計算し、次いで、現在の場所に対する次の最重重み値が、割り当てられた場所に対する次の最重重み値未満であり得るかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、重み値が、最大関連付け閾値を下回るかどうかを決定するステップであって、「はい」である場合、一時的場所を現在の場所に割り当て、少なくとももう１つの現在のタッチ場存所が存在し得るかどうかを決定するステップを継続し、「いいえ」である場合、新しいタッチ場所が、その追跡のために識別され、次のステップに進み得る、ステップと、少なくとももう１つの現在のタッチ場所が存在し得るかどうかを決定するステップであって、「いいえ」である場合、少なくとも１つの他の前のタッチ場所が存在し得るかどうかを決定するステップに戻り、「はい」である場合、次の現在のタッチ場所を選択し、少なくとも１つの前のタッチ場所が存在し得るかどうかを決定するステップに戻る、ステップと、現在の場所に対する次の最重重み値が、割り当てられた場所に対する次の最重重み値未満であり得るかどうかを決定するステップであって、「はい」である場合、一時的場所を次の最重場所に設定し、少なくとももう１つの現在のタッチ場所が存在し得るかどうかを決定するステップに戻り、「いいえ」である場合、割り当てられた場所を次の最重重み値に設定し、移動した割当場所を選択し、少なくとも１つの前のタッチ場所が存在し得るかどうかを決定するステップに戻る、ステップとを含み得る。
【００１７】
さらに別の実施形態によると、複数のタッチ列の相互タッチ値をキャッシュする方法は、相互走査場所要求を受信するステップと、キャッシュメモリが要求される相互走査場所の走査データを含むかどうかを決定するステップであって、「はい」である場合、走査データが有効であり得るかどうかを決定するステップを継続し、「いいえ」である場合、次のステップに進む、ステップと、要求される相互走査場所が、キャッシュメモリの右縁を越え得るかどうかを決定するステップであって、「はい」である場合、キャッシュメモリの最左列内の走査データの割当を解除し、割当が解除された走査データをキャッシュメモリの右縁に割り当て、その値を無効にし、「いいえ」である場合、キャッシュメモリの最右列内の走査データの割当を解除し、割当が解除された走査データをキャッシュメモリの左縁に割り当て、その値を無効にする、ステップと、走査データが有効であり得るかどうかを決定するステップであって、「はい」である場合、それに対するさらなる処理のために、要求される走査データを返し、「いいえ」である場合、要求される場所において相互走査を行い、結果として生じる走査データをキャッシュメモリ内に置き、それに対するさらなる処理のために、要求される走査データを返す、ステップとを含み得る。
【００１８】
さらに別の実施形態によると、本明細書に請求される方法による、複数のタッチを復号するためのシステムは、第１の軸を有する平行配向に配列されている第１の複数の電極であって、各々は、自己静電容量を有し得る、第１の複数のタッチ電極と、第１の軸に実質的に垂直な第２の軸を有する平行配向に配列されている第２の複数の電極であって、第１の複数の電極は、第２の複数の電極を覆って配置され、タッチ行列を形成し得、第１および第２の複数の電極の重複交差点の各々は、相互静電容量を有し得、自己静電容量は、第１の複数の電極の各々に対して測定され、それぞれの自己値を生成し得、相互静電容量は、第１の複数の電極と第２の複数の電極との重複交差点の各々に対して測定され、それぞれの相互値を生成し得、自己および相互静電容量は、マイクロコントローラのアナログフロントエンドによって測定され得、自己および相互値は、マイクロコントローラのメモリ内に記憶され得る、第２の複数の電極と、マイクロコントローラ内のデジタルプロセッサとを備え得、デジタルプロセッサは、タッチ取得フレームあたり少なくとも１つのタッチの少なくとも１つの場所を決定する際、自己および相互値を使用し、後続タッチ取得フレーム内の少なくとも１つのタッチの変化する場所を追跡する。
【図面の簡単な説明】
【００１９】
本明細書の本開示のより完全な理解は、付随の図面と関連して検討される以下の説明を参照することによって得られ得る。
【図１】図１は、本開示の教示による、容量タッチセンサ、容量タッチアナログフロントエンド、およびデジタルプロセッサを有する、電子システムの概略ブロック図を図示する。
【図１Ａ】図１Ａ−１Ｄは、本開示の教示による、種々の容量タッチセンサ構成を有する、タッチセンサの概略平面図を図示する。
【図１Ｂ】図１Ａ−１Ｄは、本開示の教示による、種々の容量タッチセンサ構成を有する、タッチセンサの概略平面図を図示する。
【図１Ｃ】図１Ａ−１Ｄは、本開示の教示による、種々の容量タッチセンサ構成を有する、タッチセンサの概略平面図を図示する。
【図１Ｄ】図１Ａ−１Ｄは、本開示の教示による、種々の容量タッチセンサ構成を有する、タッチセンサの概略平面図を図示する。
【図１Ｅ】図１Ｅおよび１Ｆは、本開示の教示による、タッチセンサへの単一タッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図１Ｆ】図１Ｅおよび１Ｆは、本開示の教示による、タッチセンサへの単一タッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図１Ｇ】図１Ｇ−１Ｋは、本開示の教示による、タッチセンサへの２つのタッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図１Ｈ】図１Ｇ−１Ｋは、本開示の教示による、タッチセンサへの２つのタッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図１Ｉ】図１Ｇ−１Ｋは、本開示の教示による、タッチセンサへの２つのタッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図１Ｊ】図１Ｇ−１Ｋは、本開示の教示による、タッチセンサへの２つのタッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図１Ｋ】図１Ｇ−１Ｋは、本開示の教示による、タッチセンサへの２つのタッチの自己および相互容量タッチ検出の概略平面図を図示する。
【図２】図２は、本開示の特定の例示的実施形態による、図１に示されるようなタッチセンサのマルチタッチ復号のための概略プロセス流れ図を図示する。
【図３】図３は、本開示の特定の例示的実施形態による、単一タッチピーク検出データのグラフを図示する。
【図４】図４は、本開示の特定の例示的実施形態による、タッチセンサの潜在的タッチおよび相互タッチ場所の概略平面図を図示する。
【図５】図５は、本開示の特定の例示的実施形態による、そのキャッシュデータウィンドウを示す、タッチセンサの概略平面図を図示する。
【図６】図６は、本開示の特定の例示的実施形態による、２つのタッチピーク検出データに対する自己走査値のグラフおよび相互走査値の表を図示する。
【図７】図７および８は、本開示の教示による、点加重の実施例のために使用される、履歴および現在の点場所の概略図を図示する。
【図８】図７および８は、本開示の教示による、点加重の実施例のために使用される、履歴および現在の点場所の概略図を図示する。
【図９】図９は、本開示の教示による、通常指タッチおよび平坦指タッチの概略図を図示する。
【図１０】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１１】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１２】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１３】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１４】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１５】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１６】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１７】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１８】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【図１９】図１０−１９は、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図を図示する。
【発明を実施するための形態】
【００２０】
本開示は、種々の修正および代替形態を被り得るが、その特定の例示的実施形態が、図面に図示され、本明細書に詳細に説明されている。しかしながら、特定の例示的実施形態の本明細書における説明は、本開示を本明細書に開示される特定の形態に限定することを意図するものではなく、対照的に、本開示は、添付の請求項によって定義される、あらゆる修正および均等物を網羅することを理解されたい。
【００２１】
種々の実施形態によると、表面、例えば、タッチセンサ上に行列に配列される、複数の（電気）伝導性列および行を備える、タッチセンサを走査し、そこへの複数のタッチを識別および追跡する、一連の最適化されたプロセスが、提供され得る。これらのプロセスは、本開示の特定の実施形態に従って、低コスト８ビットマイクロコントローラと動作するために、さらに最適化され得る。
【００２２】
種々の実施形態によると、これらのプロセスは、自己および相互走査の両方を使用して、タッチ感知のために使用される複数の伝導性列および行の最適化された走査を行なう。それを基本として使用することによって、提案されるプロセスは、タッチ場所識別および追跡のための全必要処理を行なうために、複数の伝導性列および行からのデータのサブセットを使用し得る。種々の実施形態は、タッチ場所識別および追跡を達成するために、低リソース要件解決策に特に焦点を当てる。
【００２３】
種々の実施形態によると、伝導性列または行のいずれかの自己静電容量が、最初に測定され得、次いで、それらの伝導性列または行のみの相互静電容量が、伝導性行または列の他の軸と組み合わせて測定され得る。本明細書に開示される種々の実施形態は、本明細書に前述されるように、これらの自己および相互静電容量測定を１つ以上のタッチに変換し、伝導性列または行の静電容量測定の複数のフレームを通して、これらの１つ以上のタッチを追跡する問題を克服する。
【００２４】
種々の実施形態によると、少なくとも１つのプロセスは、本明細書に開示および請求される種々の固有の技法を使用して、行列内に配列される複数の伝導性列および行を走査し、最大Ｎ個のタッチを検出および追跡し得る。ピーク検出のためのプロセスは、勾配比を正確かつ迅速に検討し、ピーク測定値を決定する。種々の実施形態によると、複数のタッチ場所を追跡する課題は、複数の伝導性列または行のうちの関連付けられたものに関して、時間の経過に伴って解決され得る。
【００２５】
種々の実施形態は、Ｎ個のタッチが、例えば、平坦指等、異なる指位置のタッチを補償することを可能にし、誤タッチを防止し、実質的に、不正確なタッチを除外し得る。
【００２６】
種々の実施形態によると、真のピークのみに目を向ける代わりに、正確なタッチを迅速に識別するためのプロセスが提供され、「仮想」ピークは、タッチ識別のために本明細書に開示される種々の技法を使用して、勾配比を検討することによって、見出され得る。本開示の教示による固有のプロセスの組み合わせが、マルチタッチ復号のためのより優れた精度および速度改良を達成するために使用され得る。例えば、ピーク検出プロセスは、測定される伝導性列間の勾配の符号だけではなく、勾配関係を検討する、「ファジー」ピーク検出プロセスとして実装され得る。さらに、いわゆる「微調整技法」が、使用され、それに隣接する値を検討することによって、潜在的タッチ場所を最良場所に「微調整」し得る。「ウィンドウ化された」データキャッシュが、低容量ＲＡＭ環境、例えば、８ビットマイクロコントローラにおいて、処理を加速させるために使用され得る。補間が、それに隣接する測定された値に基づいて、タッチ場所分解能を増加させるために使用され得る。マルチタッチ追跡が、Ｎ個のタッチを時間の経過に伴って識別するために使用され得る。マルチタッチ追跡が、Ｎ個のタッチを時間の経過に伴って追跡するために使用され得る。加重マッチングが、経時的に最良マッチタッチ点に対する加重方法において使用され得る。「領域」検出は、所与のタッチ場所に対する微調整された値の和に基づいて、容易な領域および／または圧力検出を可能にする、プロセスを使用し得る。
【００２７】
復号の有意な精度および速度の改良は、低メモリ容量および低コストデジタルプロセッサ、例えば、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）等において使用するために、新規技法の組み合わせを使用し得る。種々の実施形態は、例えば、限定されないが、３．５インチタッチセンサ容量センサアレイ上で８つ以上のタッチを追跡し得る。例えば、Ｍｉｃｒｏｃｈｉｐ  ＰＩＣ１８Ｆ４６Ｋ２２（６４Ｋ  ＲＯＭ、＜４Ｋ  ＲＡＭ）マイクロコントローラを使用する。
【００２８】
従来の容量タッチ復号はいずれも、以下により完全に説明される技法を使用しておらず、これらの性能結果を呈していない。
【００２９】
次に、図面を参照すると、特定の例示的実施形態の詳細が、図式的に図示される。図面中の同一要素は、同一番号で表され、類似要素は、異なる小文字の添え字を伴う、同一番号によって表されるであろう。
【００３０】
図１を参照すると、描写されるのは、本開示の教示による、容量タッチＸ−Ｙセンサと、容量タッチアナログフロントエンドと、デジタルプロセッサとを有する、電子システムの概略ブロック図である。マイクロコントローラ集積回路デバイス１１２は、デジタルプロセッサおよびメモリ１０６と、アナログ／デジタルコンバータ（ＡＤＣ）コントローラ１０８と、容量タッチアナログフロントエンド（ＡＦＥ）１１０とを備え得る。マイクロコントローラ集積回路デバイス１１２は、行列に配列される複数の伝導性列１０４および行１０５から成る、タッチセンサ１０２に連結され得る。伝導性行１０５および／または伝導性列１０４は、クリア基板、例えば、ディスプレイ／タッチスクリーン等、または任意のそれらの組み合わせ上の印刷回路基板導体、ワイヤ、ＩＴＯコーティングであり得ることが想定され、これは、本開示の範囲内である。
【００３１】
図１Ａから１Ｄを参照すると、描写されるのは、本開示の教示による、種々の容量タッチセンサ構成を有する、タッチセンサの概略平面図である。図１Ａは、伝導性列１０４および伝導性行１０５を示す。伝導性列１０４の各々は、休止状態であるときに個々に測定され得る、「自己静電容量」を有し、伝導性行１０５の全ては、伝導性列１０４の各１つがその自己静電容量が測定されている間、能動的に励起され得る。伝導性行１０５の全ての能動的励起は、伝導性列１０４の個々の容量測定のためのより強い測定信号を提供し得る。
【００３２】
例えば、自己静電容量走査の間に、伝導性列１０４のうちの１つ上で検出されたタッチが存在する場合、その上で検出されたタッチを有するその伝導性列１０４のみ、その相互静電容量走査の間にさらに測定される必要がある。自己静電容量走査は、伝導性列１０４のうちのどれがタッチされたかのみを決定し得、タッチされたその伝導性列１０４の軸に沿った場所は決定しない。相互静電容量走査は、１つずつ、伝導性行１０５を個々に励起（駆動）し、伝導性行１０５に交わる（それを交差する）その伝導性列１０４上の場所の各１つに対する相互静電容量値を測定することによって、その伝導性列１０４の軸に沿ったタッチ場所を決定し得る。伝導性列１０４と伝導性行１０５との間に、絶縁非伝導性誘電体（図示せず）が存在し、それらを分離し得る。伝導性列１０４が、伝導性行１０５に交わる（それを交差する）場合、相互キャパシタ１２０が、それによって、形成される。前述の自己静電容量走査の間、伝導性行１０５全てに、論理信号によって接地または駆動のいずれかが行なわれ、それによって、伝導性列１０４の各１つに関連付けられた個々の列キャパシタを形成し得る。
【００３３】
図１Ｂおよび１Ｃは、伝導性列１０４および伝導性行１０５の菱形パターンのインターリービングを示す。この構成は、伝導性列１０４と伝導性行１０５との間により僅かな重複を伴って、タッチに対する各軸伝導性列および／または行の暴露（例えば、より優れた感度）を最大限にし得る。図１Ｄは、絡み合った指のようなハチの巣形状を備える、受信機（上部）伝導性行（例えば、電極）１０５ａおよび送信機（底部）伝導性列１０４ａを示す。伝導性列１０４ａおよび伝導性行１０５ａは、隣り合った平面図に示されるが、通常、上部伝導性行１０５ａは、底部伝導性列１０４ａを覆って存在するであろう。自己および相互容量タッチ検出は、ｗｗｗ．ｍｉｃｒｏｃｈｉｐ．ｃｏｍにおいて利用可能なＴｏｄｄ  Ｏ’ＣｏｎｎｏｒによるＴｅｃｈｎｉｃａｌ  Ｂｕｌｌｅｔｉｎ  ＴＢ３０６４「ｍＴｏｕｃｈＴＭ  Ｐｒｏｊｅｃｔｅｄ  Ｃａｐａｃｉｔｉｖｅ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｓｅｎｓｉｎｇ  Ｔｈｅｏｒｙ  ｏｆ  Ｏｐｅｒａｔｉｏｎ」、およびＪｅｒｒｙ  Ｈａｎａｕｅｒによる共同所有の米国特許出願公開第ＵＳ２０１２／０１１３０４７号「Ｃａｐａｃｉｔｉｖｅ  Ｔｏｕｃｈ  Ｓｙｓｔｅｍ  Ｕｓｉｎｇ  Ｂｏｔｈ  Ｓｅｌｆ  ａｎｄ  Ｍｕｔｕａｌ  Ｃａｐａｃｉｔａｎｃｅ」（両方とも、あらゆる目的のために、参照することによって本明細書に組み込まれる）により完全に説明されている。
【００３４】
図１に戻って参照すると、マイクロコントローラ１１２は、ここでは、そのような容量値変化の検出および評価を向上させる、周辺機器を含む。種々の容量タッチシステム用途のより詳細な説明は、ｗｗｗ．ｍｉｃｒｏｃｈｉｐ．ｃｏｍから利用可能なＭｉｃｒｏｃｈｉｐ  Ｔｅｃｈｎｏｌｏｇｙ  ＩｎｃｏｒｐｏｒａｔｅｄのアプリケーションノートＡＮ１２９８、ＡＮ１３２５、およびＡＮ１３３４により完全に開示されており、あらゆる目的のために、参照することによって本明細書に組み込まれる。そのような用途の１つは、容量電圧分割器（ＣＶＤ）法を利用して、静電容量値を決定し、および／または容量値が変化したかどうかを評価するものである。ＣＶＤ法は、ｗｗｗ．ｍｉｃｒｏｃｈｉｐ．ｃｏｍから利用可能なアプリケーションノートＡＮ１２０８により完全に説明されており、ＣＶＤ法のより詳細な説明は、Ｄｉｅｔｅｒ  Ｐｅｔｅｒによる共同所有の米国特許出願公開第ＵＳ２０１０／０１８１１８０号「Ｃａｐａｃｉｔｉｖｅ  Ｔｏｕｃｈ  Ｓｅｎｓｉｎｇ  ｕｓｉｎｇ  ａｎ  Ｉｎｔｅｒｎａｌ  Ｃａｐａｃｉｔｏｒ  ｏｆ  ａｎ  Ａｎａｌｏｇ−Ｔｏ−Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ（ＡＤＣ）  ａｎｄ  ａ  Ｖｏｌｔａｇｅ  Ｒｅｆｅｒｅｎｃｅ」に提示されている（両方とも、あらゆる目的のために、参照することによって本明細書に組み込まれる）。
【００３５】
充電時間測定ユニット（ＣＴＭＵ）は、非常に正確な静電容量測定のために使用され得る。ＣＴＭＵは、ｗｗｗ．ｍｉｃｒｏｃｈｉｐ．ｃｏｍから利用可能なＭｉｃｒｏｃｈｉｐアプリケーションノートＡＮ１２５０およびＡＮ１３７５ならびに共同所有の米国特許第ＵＳ７，４６０，４４１Ｂ２号「Ｍｅａｓｕｒｉｎｇ  ａ  ｌｏｎｇ  ｔｉｍｅ  ｐｅｒｉｏｄ」および第ＵＳ７，７６４，２１３Ｂ２号「Ｃｕｒｒｅｎｔ−ｔｉｍｅ  ｄｉｇｉｔａｌ−ｔｏ−ａｎａｌｏｇ  ｃｏｎｖｅｒｔｅｒ」（両方とも、Ｊａｍｅｓ  Ｅ．Ｂａｒｔｌｉｎｇによる）により完全に説明されており、全て、あらゆる目的のために、参照することによって本明細書に組み込まれる。
【００３６】
必要分解能を有する任意のタイプの静電容量測定回路が、複数の伝導性列１０４の静電容量値を決定する際に使用され得、電子機器の当業者および本開示の利益を享受する者が、そのような静電容量測定回路を実装し得ることも想定され、これは、本開示の範囲内である。
【００３７】
図１Ｅおよび１Ｆを参照すると、描写されるのは、本開示の教示による、タッチセンサへの単一タッチの自己および相互容量タッチ検出の概略平面図である。図１Ｅでは、指の一部の写真によって表される、タッチが、Ｘ０５、Ｙ０７の座標くらいにある。自己容量タッチ検出の間、行Ｙ０１からＹ０９の各１つが、その静電容量値を決定するために測定され得る。行Ｙ０１からＹ０９の各１つに対するそれへのタッチを伴わない基線静電容量値が得られており、メモリ（例えば、メモリ１０６−図１）に記憶されていることに留意されたい。行Ｙ０１からＹ０９の基線静電容量値に対するいかなる有意な静電容量変化も、明白となり、指タッチとして見なされるであろう。図１Ｅに示される実施例では、指は、行Ｙ０７をタッチしており、その行の静電容量値は、変化し、それへのタッチを示すであろう。しかしながら、タッチが生じたこの行上の場所は、依然として、自己静電容量測定からは不明である。
【００３８】
タッチされた行（Ｙ０７）が、その自己静電容量変化を使用して決定されると、相互容量検出は、タッチされた行（Ｙ０７）上のタッチが生じた場所を決定する際に使用され得る。これは、列Ｘ０１からＸ１２の各々が、個々に励起されるとき、行Ｙ０７の静電容量値を測定しながら、１つずつ、列Ｘ０１からＸ１２の各々を励起する（例えば、電圧パルスをかける）ことによって、達成され得る。行Ｙ０７の静電容量値の最大変化を生じさせる列（Ｘ０５）励起は、列Ｘ０５と行Ｙ０７の交差点に対応する、その行上の場所であり、したがって、単一タッチは、点またはノードＸ０５、Ｙ０７においてである。自己および相互静電容量タッチ検出の使用は、タッチセンサ１０２上のＸ、Ｙタッチ座標を得るための行および列走査の数を有意に低減させる。本実施例では、合計９＋１２＝２１回の走査回数のために、９つの行が、自己容量タッチ検出の間に走査され、１２の列が、相互容量タッチ検出の間に走査された。各ノード（場所）に対して、個々のｘ−ｙ容量タッチセンサが使用される場合、９ｘ１２＝１０８回の走査回数が、有意な差異である、この１つのタッチを見つけるために必要となるであろう。列Ｘ０１からＸ２１の自己静電容量が、最初に決定され、次いで、相互静電容量が、各行Ｙ０１からＹ０９を励起し、選択された列上のタッチ場所を見出すことによって、選択された列から決定され得ることも想定され、これは、本開示の範囲内である。
【００３９】
図１Ｇから１Ｋを参照すると、描写されるのは、本開示の教示による、タッチセンサに対する２つのタッチの自己および相互容量タッチ検出の概略平面図である。図１Ｇでは、２本の指の一部の写真によって表される、２つのタッチは、タッチ＃１の場合、Ｘ０５、Ｙ０７の座標くらいに、タッチ＃２の場合、Ｘ０２、Ｙ０３くらいにある。自己容量タッチ検出の間、行Ｙ０１からＹ０９の各１つが、その静電容量値を決定するために測定され得る。行Ｙ０１からＹ０９の各１つに対するそれへのタッチを伴わない基線静電容量値が得られており、メモリ（例えば、メモリ１０６−図１）に記憶されていることに留意されたい。行Ｙ０１からＹ０９の基線静電容量値に対するいかなる有意な静電容量変化も、明白となり、指タッチとして見なされるであろう。図１Ｈに示される実施例では、第１の指は、行Ｙ０７をタッチしており、第２の指は、行Ｙ０３をタッチしており、それらの２つの行の静電容量値は、変化し、それへのタッチを示すであろう。しかしながら、これらの２つの行上のタッチが生じた場所は、依然として、自己静電容量測定からは不明である。
【００４０】
タッチされた行（Ｙ０７およびＹ０３）が、その自己静電容量変化を使用して決定されると、相互容量検出は、タッチが生じたこれらの２つのタッチされた行（Ｙ０７およびＹ０３）上の場所を決定する際に使用され得る。図１Ｉを参照すると、これは、例えば、列Ｘ０１からＸ１２の各々が、個々に、励起されるとき、行Ｙ０７の静電容量値を測定する間、１つずつ、列Ｘ０１からＸ１２の各々を励起する（例えば、それに電圧パルスをかける）ことによって達成され得る。行Ｙ０７の静電容量値の最大変化を生じさせる列（Ｘ０５）励起は、列Ｘ０５と行Ｙ０７の交差点に対応する、その行上の場所であろう。図１Ｊを参照すると、同様に、列Ｘ０１からＸ１２の各々が、個々に励起されるとき、行Ｙ０３の静電容量値を測定することによって、タッチ＃２が生じた列Ｙ０３上の場所が決定される。図１Ｋを参照すると、２つのタッチは、点またはノード（Ｘ０５、Ｙ０７）および（Ｘ０２、Ｙ０３）にある。選択された行の２つ以上、例えば、Ｙ０７およびＹ０３の静電容量が、同時に測定されることができる場合、１セットのみの個々の列Ｘ０１からＸ１２励起が、タッチセンサ１０２に対する２つのタッチを決定する際に必要とされることも想定され、これは、本開示の範囲内である。
【００４１】
図２を参照すると、描写されるのは、本開示の特定の例示的実施形態による、図１に示されるようなタッチセンサのマルチタッチ復号の概略プロセス流れ図である。マルチタッチ復号のためのプロセスは、データ取得２０２、タッチ識別２０４、タッチ追跡２０６、およびデータ出力２０８のステップを含み得る。タッチ識別２０４のステップはさらに、以下により完全に説明される、ピーク検出２１０、微調整２１２、および補間２１４のステップを含み得る。
【００４２】
（データ取得）
データ取得２０２は、複数の伝導性列１０４または伝導性行１０５の自己および相互静電容量測定を行い、タッチ識別データを取得するプロセスである。タッチ識別データは、以下により完全に説明されるように、タッチ識別２０４のプロセスを使用して、タッチセンサ１０２上の潜在的タッチの位置を特定するためにさらに使用され得る。
【００４３】
（タッチ識別）
タッチ識別２０４は、データ取得２０２のプロセスの間に取得されたタッチ識別データを使用して、タッチセンサ１０２上の潜在的タッチの位置を特定するプロセスである。以下は、その自己静電容量測定を使用して、複数の伝導性列１０４または伝導性行１０５のうちのどれが、それへのタッチを有するとして選択すべきかと、その相互静電容量測定を使用して、タッチが生じ得た選択された伝導性列１０４または伝導性行１０５上の場所を決定するプロセスステップのシーケンスである。
【００４４】
（ピーク検出）
ピーク検出２１０は、タッチセンサ１０２上にあり得る潜在的タッチ場所を識別するプロセスである。しかしながら、本開示の教示によると、実際の検出された「ピーク」のみに目を向ける代わりに、ピーク検出は、意図的に「ファジー」にされ得、例えば、低−高−低値シーケンスだけではなく、勾配値の差異の比ならびに勾配「符号」を見つけることによって、潜在的ピークを識別する。「仮想」ピークが、勾配比、例えば、２：１の勾配比を検討することによって、検出され得、勾配の変化は、潜在的ピークとして識別され得る。これは、追加のピークが検出されなくなるまで、繰り返され得る。
【００４５】
（微調整）
微調整２１２は、潜在的タッチ場所が識別されると、それの各隣接する場所を検討するプロセスである。隣接する場所が、既存のタッチ潜在的場所より大きい値を有する場合、現在の潜在的タッチ場所を除外し、潜在的タッチ場所（図５および以下のその説明参照）としてより大きい値を有する隣接する場所を識別する。
【００４６】
（補間）
タッチ場所が識別されると、補間２１４は、隣接する値を除外し、より高い分解能場所を発生させるプロセスである。
【００４７】
（タッチ追跡）
タッチ追跡２０６は、タッチ識別データの時系列「フレーム」を比較し、次いで、どのタッチが、順次フレーム間で関連付けられるかを決定するプロセスである。加重および「最良推測」マッチングの組み合わせが、本明細書に前述されるデータ取得２０２のプロセスの間、複数のフレームを通してタッチを追跡するために使用され得る。これは、検出されたすべてのピークに対して、かつ前のフレーム上で識別されたすべてのタッチに対して繰り返される。「フレーム」は、特定の時間において、単一セットのタッチを捕捉するための複数の容量タッチセンサ１０４の自己および相互容量測定のセットである。複数の伝導性列１０４または伝導性行１０５の自己および相互静電容量測定の各フルセットの走査（「フレーム」）は、そのフレームに関連付けられた所与の時間において、タッチセンサ１０２のタッチ識別データを取得する。
【００４８】
タッチ追跡２０６は、あるフレーム内の所与のタッチと後続フレーム内に所与のタッチを関連付ける。タッチ追跡は、タッチフレームの履歴を作成し得、現在のフレームのタッチ場所と前のフレームまたは前の複数のフレームのタッチ場所を関連付け得る。前のタッチ場所を現在の潜在的タッチ場所に関連付けるために、「加重」関数が、使用され得る。（異なるフレームの）時系列タッチ場所間の重み値（「重み」および「重み値」は、本明細書では、同義的に使用されるであろう）は、（異なるフレームの）時系列タッチ場所が、互に関連付けられる可能性を表す。距離計算が、これらの関連付けられたタッチ場所間に重み値を割り当てるために使用され得る。タッチ場所間の重み値を決定するための「厳密」であるが、複雑かつプロセッサ集約的計算は、以下である。
重み値＝ＳＱＲＴ［（Ｘｐｒｅｖｉｏｕｓ−Ｘｃｕｒｒｅｎｔ）２＋（Ｙｐｒｅｖｉｏｕｓ−Ｙｃｕｒｒｅｎｔ）２］  式（１）
以下のように、△Ｘおよび△Ｙを測定し、次いで、それらを一緒に合計する、簡略化された距離（重み値）計算が、使用され得る。
重み値’＝ＡＢＳ（Ｘｐｒｅｖｉｏｕｓ−Ｘｃｕｒｒｅｎｔ）＋ＡＢＳ（Ｙｐｒｅｖｉｏｕｓ−Ｙｃｕｒｒｅｎｔ）  式（２）
前述の簡略化された重み値計算式（２）は、より複雑な重み値計算式（１）の円形パターンの代わりに、所与の重み値に対して菱形形状のパターンを作成する。式（２）の使用は、単純処理システムにおける重み値計算の速度のために最適化され得、距離は、Ｘ−距離の変化とＹ−距離の変化との合計、例えば、前述の式（２）に基づいて計算され得る。より良い重み値が、順次タッチ場所間のより小さい距離として定義され得る。
【００４９】
各新しいタッチ場所に対して、重み値が、前のフレームからの全タッチ場所に対して計算され得る。新しいタッチ場所は、次いで、それらの値間で最良重みを有する前のタッチ場所に関連付けられる。前のタッチ場所が、前のフレームからの関連付けられたタッチ場所を既に有する場合、各タッチ場所に対する二次的第２の最良重み値が、検討され得る。より低いコストの第２の最良重み値を伴うタッチ場所が、次いで、その第２の最良場所にシフトされ得、他のタッチ場所は、最良タッチ場所として保たれ得る。本プロセスは、全タッチ場所が前のフレームタッチ場所に関連付けられるまで、または新しいタッチ場所に近接する前のフレームからタッチ場所を伴わない新しい場所を有する、「新しいタッチ」として識別されるまで、繰り返される。
【００５０】
前述の加重プロセスの代替は、前の２つの場所から作成されたベクトルを利用して、最も可能性の高い次の場所を作成するベクトルベースのプロセスであり得る。このベクトルベースの加重プロセスは、前述の加重プロセスと同一の距離計算を使用して、それを複数の点から起動させ、どの点から測定が行なわれたかに基づいて、重み値を修正し得る。
【００５１】
タッチの前の２つの場所に目を向けることによって、そのタッチの次の「最も可能性の高い」場所が、予測され得る。外挿された場所が決定されると、その場所は、重み値の基礎として使用され得る。外挿された場所におけるマッチングを改善させるために、「加速モデル」が、外挿された場所に対して、および外挿された場所を越えて、ベクトルに沿って、加重点を追加するために使用され得る。これらの追加の点は、タッチ移動の速度変化の検出を補助するが、タッチ運動の方向を決定するには理想的ではない場合がある。
【００５２】
図７および８を参照すると、描写されるのは、本開示の教示による、点加重実施例のために使用される、履歴および現在の点場所の概略図である。重みが生成されると、重み値および関連付けられたタッチの最良組み合わせが、生成され得る。あるタッチシナリオは、ほぼ同じ重み値を生じさせ得、その場合、第２の最良重み値が、比較され、関連付けが、適切にシフトされるはずである。動作の順序に応じて、点ＡおよびＤが、最初に、関連付けられ得る。Ｂに対する重み値が生成されると、ＢＤが、ＢＣより良いマッチングとなる。この場合、二次的重み値に目を向ける。Ｃに関連付けられるようにＡをシフトさせることがよりコストが小さいか、またはＣに関連付けられるようにＢをシフトさせることがよりコストが小さいか？
この動作シーケンスを拡張することによって、全点が、最良局所マッチングだけではなく、最良全体マッチングに対してもシフトされた関連付けを有することができる。再加重の無限ループを防止するために、何らかの注意が必要となり得る。これは、シフト数を有限数に制限することによって達成され得る。次に、図８を参照すると、点ＡおよびＢは、既存の点であり、点１および２は、関連付けられる必要がある、「新しい」点である。
ステップ１）タッチ場所間の重み値を計算する。
Ａ＜−＞１重み＝５（（△Ｘ＝２）＋（△Ｙ＝３）＝５）
Ａ＜−＞２重み＝４
Ｂ＜−＞１重み＝１０
Ｂ＜−＞２重み＝５
ステップ２）各既存のタッチ場所に対して「最良」ペア（最低重み）を選択する。
Ａ＜−＞２重み＝４およびＢ＜−＞２重み＝５
ステップ３）２つ以上の既存のタッチ場所が、所与の新しいタッチ場所とペアになっている場合、各々に対する第２の最良タッチ場所、および最良ペアから第２の最良ペアまでの重み値の差（「コスト」）に目を向ける。
Ａ＜−＞１（重み：５）    コスト＝１：（Ａ＜−＞１重み）−（Ａ＜−＞２重み４）
Ｂ＜−＞１（重み：１０）  コスト＝５：（Ｂ＜−＞１重み）−（Ｂ＜−＞２重み５）
ステップ４）ペアリングを最低コストペアにシフトさせ、それによって、他のタッチ場所が、元々のペアリングを維持することを可能にする。
Ａ＜−＞１
Ｂ＜−＞２
ステップ５）全ペアリングが１：１となるまで、ステップ２）から４）を繰り返す。既存のタッチ場所より多いタッチ場所が存在する場合、新しいタッチ場所の追跡を開始する。新しいタッチ場所が既存の「最重マッチング」タッチ場所より少ない場合、これらの最重マッチングタッチ場所は、喪失され、もはや追跡されないであろう。
【００５３】
（平坦指識別）
図９を参照すると、描写されるのは、本開示の教示による、通常指タッチおよび平坦指タッチの概略図である。タッチを識別する課題の１つは、「平坦指」シナリオである。これは、指先端１０２２ではなく、指１０２０の側面または平坦部分が、タッチセンサ１０２上に置かれるときである。平坦指１０２０は、２つ以上の潜在的タッチ場所１０２４および１０２６を発生させ得ることに留意されたい。本開示の教示を使用して、各ピークに対して微調整された全ノードの値の合計を累積することによって、平坦指１０２０を検出することが可能である。これらの値の合計が、閾値を上回る場合、それは、平坦指タッチによって生じる可能性が高い。平坦指タッチが検出される場合、平坦指ピーク近傍の他のタッチは、抑制され得る。
【００５４】
（データ出力）
図２に戻って参照すると、データ出力２０８は、データパケット内の決定されたタッチ場所座標をそれに対処するためのホストシステムに提供するプロセスである。
【００５５】
（タッチ決定）
タッチデータのアレイを前提として、それらの値間の差異を検討し、さらなる検討のために、ある鍵となるシナリオを潜在的ピークとしてフラグする。閾値を下回る全タッチデータ値は、タッチ場所を決定するとき、無視され得る。
【００５６】
（鍵となるシナリオ１：真のピーク）
図３を参照すると、潜在的ピークとして、正から負の勾配の遷移を識別する。これは、図３に示される例示的データ値の列７において丸で囲まれた点となるであろう。
【００５７】
（鍵となるシナリオ２：閾値を超える勾配比（「ファジー」ピーク検出））
勾配比の鍵となる閾値が、追加のピークをフラグするために使用され得る。使用される閾値は、例えば、限定ではないが、２：１であり得、したがって、２：１を上回る勾配の変化が存在する事例は、潜在的ピークとして識別され得る。これは、正および負の勾配に適用される。これは、図３に示される例示的データ値の列６において丸で囲まれた点となるであろう。
【００５８】
（なぜ勾配符号だけに目を向けないのか？）
自己走査は、２軸センサアレイ（例えば、図１のタッチセンサ１０２の伝導性行１０５および伝導性列１０４）の１つのみの軸であるため、２つのタッチが、単一「バー」（例えば、列）分だけずれ、単一ピークのみを示すことが可能である。例示的データでは、２つのタッチ、すなわち、６、６に１つ、７、７にもう１つ存在し得る（図３および６参照）。追加のピーク検出がない場合、６、３におけるタッチは、検出され得ない。
【００５９】
（場所精緻化の微調整）
潜在的タッチ場所が識別されると、各隣接するタッチ場所が検討され、それらがより大きい値を有するかどうかを決定され得る。より大きい値が存在する場合、現在の潜在的タッチ場所を除外し、より大きい値のタッチ場所を潜在的タッチ場所として識別する。本プロセスは、局所ピークが識別されるまで繰り返される。
【００６０】
図３を参照すると、描写されるのは、本開示の特定の例示的実施形態による、単一タッチピーク検出データのグラフである。タッチセンサ１０２のある列（例えば、列７）に対するデータ値の例示的グラフが、示され、列７の自己および相互静電容量測定から決定された最大データ値が、行７、列７に位置する容量タッチセンサ１０４領域に生じる。閾値、例えば、図３に示されるグラフ表現内の約１２を下回る全データ値は、無視され得る。したがって、行６（データ値＝３０）および行７（データ値＝４０）において得られたデータ値のみ、タッチセンサ１０２へのタッチの場所を決定する際に処理される必要がある。勾配は、列内の隣接する行データ値のシーケンスを減算し、正または負いずれかの勾配値を生成することによって決定され得る。勾配値が正であるとき、データ値は、増加し、勾配値が負であるとき、データ値は、減少する。真のピークは、潜在的ピークとして、正から負への勾配の遷移として識別され得る。正勾配から負勾配への遷移は、図３に示されるグラフのデータ値４２２に示される。
【００６１】
しかしながら、別のタッチも、列６に生じ得、直接、列７走査では測定されないが、列７走査の間、データ値４２０として現れる。勾配符号遷移以外の別の試験がない場合、列６における潜在的タッチは、見逃され得る。したがって、勾配比の閾値がさらに、追加の潜在的ピークをフラグするために使用され得る。勾配は、隣接する伝導性列１０４の２つのデータ値間の差異である。この勾配比の閾値は、例えば、限定ではないが、２：１であり得、したがって、２：１を上回る勾配の変化が存在する事例は、別の潜在的ピークとして識別され得る。これは、正および負両方の勾配に適用され得る。例えば、行６で得られたデータ値４２０は、左勾配２３：１（３０−７）および右勾配１０：１（４０−３０）を有する。行７で得られたデータ値４２２は、左勾配１０：１（４０−３０）および右勾配−３０：１（１０−４０）を有する。行６に対する勾配比２３：１０は、例示的２：１閾値を超え、さらなる処理のために、標識されるであろう。全他のデータ値は、データ値閾値を下回り、無視され得る。
【００６２】
図４を参照すると、描写されるのは、本開示の特定の例示的実施形態による、タッチセンサの潜在的タッチおよび相互タッチ場所の概略平面図である。潜在的タッチ場所が識別されると、それに隣接する各場所が検討され、それらのうちのいずれかが、現在の潜在的タッチ場所（図４（ａ）および（ｂ）では「Ｃ」として標識される）より大きいデータ値を有し得るかどうかを決定し得る。より大きいデータ値が見つかる場合、現在の潜在的タッチ場所は、除外され得、より大きい値を有するタッチ場所が、潜在的タッチ場所として識別され得る。これは、本明細書では、微調整２１２プロセスと称され、データピークが識別されるまで繰り返され得る。
【００６３】
行の列のデータ取得走査の間、層１ノード（図４（ａ）および４（ｂ）では「１」（現在の潜在的タッチ場所に隣接する場所）として標識される）のみ、検討される。これらの層１ノードのいずれかが、現在の潜在的タッチ場所のデータ値より大きいデータ値を有する場合、新しい現在のタッチ場所は、最高データ値を有するそのノードにシフト（「微調整」）され、微調整プロセス２１２が、繰り返される。層１ノードが、異なる潜在的ピークに既に関連付けられている場合、さらなる検索は、必要とされず、現在のデータピークは、無視され得る。層２ノード（図４（ａ）および（ｂ）では「２」（層１ノードに隣接する場所）として標識される）が、タッチセンサ１０２の大領域起動の潜在性が存在するときに検討される。
【００６４】
ある伝導性列１０４が、相互静電容量値に関して走査された後、微調整プロセス２１２は、その１列の相互静電容量データ値をキャッシュメモリ内に記憶し、次いで、キャッシュメモリ内に記憶された相互静電容量データ値から、最初に、その１列の層１ノードに、次いで、層２ノードに微調整プロセス２１２を行なうことによって、加速化され得る。次いで、その１列に行なうべきさらなる微調整が存在しなくなった後のみ、微調整プロセス２１２は、微調整プロセス２１２がそこで行なわれた列の両側において、２つの各隣接する列の相互静電容量測定走査からの層１および層２ノードを検討するであろう。
【００６５】
潜在的タッチ場所の補間が、ピークデータ値ノード（タッチ場所）ならびにそれに隣接する各ノード（例えば、前の微調整プロセス２１２からの層１ノード）を使用して、各ノード間にサブステップを作成することによって行なわれ得る。例えば、限定されないが、１２８ステップが、各ノード間に作成され得る。図４（ｃ）を参照すると、ノードＡは、潜在的タッチ場所であり、ノードＢ、Ｃ、Ｄ、およびＥは、それに隣接する層１ノードである。補間されたＸ、Ｙの場所は、以下の式を使用して、見つけられ得る。
場所ｘ＝（ＤＶａｌｕｅ−ＢＶａｌｕｅ）／ＡＶａｌｕｅ＊６４
場所ｙ＝（ＥＶａｌｕｅ−ＣＶａｌｕｅ）／ＡＶａｌｕｅ＊６４
前述の式の変形例は、値の比および除算の分子の符号に基づいて使用され得ることも想定され、これは、本開示の範囲内である。
【００６６】
図５を参照すると、描写されるのは、本開示の特定の例示的実施形態による、タッチセンサの概略平面図であり、そのキャッシュデータウィンドウを示す。タッチセンサ１０２の伝導性列１０４は、全伝導性列１０４が走査されるまで、自己静電容量値に関して、列毎に走査され得る。自己静電容量データからの潜在的タッチを示す各伝導性列１０４は、連続して、その相互容量値（タッチデータ）を決定するために走査され得、ピークが発見されると、それらは、列走査と同時に処理され得る。さらに、タッチデータは、さらなる処理のために、キャッシュメモリ内に記憶され得る。微調整プロセス２１２は、必要に応じて、第１の層ノード、次いで、第２の層ノードに目を向けるので、伝導性列１０４の全てからのタッチデータが全て、１度に記憶される必要があるわけではない。これは、最小量のランダムアクセスメモリ（ＲＡＭ）を使用して、単純キャッシュシステムを可能にする。例えば、５列のタッチデータをキャッシュ内に記憶する。その５列は、連続的であり、キャッシュウィンドウは、１度に１列１０４ずつ、タッチセンサ１０２の列１０４を横断して移動し得る。５列より多いまたは少ないタッチデータが、キャッシュメモリ内に記憶され、そこから処理され得、および／または列の代わりに、行毎の自己静電容量走査が、代わりに、使用され得ることも想定され、これは、本開示の範囲内である。本明細書における全説明は、行の自己静電容量走査、次いで、自己静電容量走査データから選択されたそれらの行の列毎に対する相互静電容量走査にも等しく適用可能であり得る。
【００６７】
第１または第２の層ノード（容量センサ１０４）の相互走査が要求されるときは常に、最初に、キャッシュメモリから呼び出され得る。要求されるノードタッチデータが、キャッシュメモリ内に存在する場合、キャッシュメモリは、その第１または第２の層ノードの要求されるタッチデータを返す。しかしながら、要求されるタッチデータが、キャッシュメモリ内に存在しない場合、以下が生じ得る。１）要求されるタッチデータの列が、キャッシュウィンドウの範囲内にある場合、その列の相互走査を行い、タッチデータをキャッシュメモリに追加する、または、２）要求されるタッチデータの列が、このキャッシュウィンドウの範囲内にない場合、キャッシュウィンドウ範囲をシフトさせ、新しい列の相互走査を行い、新しいキャッシュウィンドウから結果として生じるタッチデータをキャッシュメモリに追加する。
【００６８】
図６を参照すると、描写されるのは、本開示の特定の例示的実施形態による、２つのタッチピーク検出データに対する、自己走査値のグラフおよび相互走査値の表である。自己走査は、１つのみの軸（例えば、１列）内で行なわれるため、２つのタッチが、単一列分だけずれ、単一ピークのみを示すことが可能である。図６に示される例示的データ値の場合、自己走査データ値４２２に１つと、自己走査データ値４２０に示される１つの２つのタッチが、生じ得る。２：１を上回る勾配の変化に気付かない場合、自己走査データ値４２０によって表される潜在的タッチは、見逃され得る。第１のタッチは、データ値４２２を生じさせ得、第２のタッチは、データ値４２０を生じさせ得る。本明細書に前述されるようなピーク検出および微調整はさらに、本明細書に説明されるように、これらの複数のタッチを定義し得る。
【００６９】
図１０から１９を参照すると、描写されるのは、本開示の特定の例示的実施形態による、タッチ復号のための概略プロセス流れ図である。図１０は、タッチセンサ１０２対応デバイス内のマルチタッチ復号のための可能なプロセスの一般的概要を示す。より多い、より少ない、および／またはいくつかの異なるプロセスが、タッチセンサ１０２対応デバイスとともに使用され得、依然として、本開示の範囲、意図、および精神内であることも想定され、これは、本開示の範囲内である。ステップ１０５０では、デバイスは、ステップ１０５２において、電力がデバイスに印加されると、始動、作動等される。ステップ１０５４では、デバイスは、初期化され得、その後、ステップ１０５６において、タッチ識別のプロセスが、開始し得る。ステップ１０５８では、タッチ追跡が、ステップ１０５６において識別されたそれらのタッチにおいて行なわれ得る。ステップ１０６０では、タッチデータは、必要に応じて、さらに処理され得、そうでなければ、ステップ１０６２において、デバイスの意図された目的の表示および／または制御のために、デバイスの処理および制御論理に伝送され得る。
【００７０】
以下のプロセスステップの説明では、「上」または「北」チャネルまたはノードの言及は、別のチャネルまたはノードの上方のチャネルまたはノードを意味し、「下」または「南」チャネルまたはノードは、別のチャネルまたはノードの下方のチャネルまたはノードを意味し、「左」または「西」チャネルまたはノードは、別のチャネルまたはノードの左のチャネルまたはノードを意味し、「右」または「東」チャネルまたはノードは、別のチャネルまたはノードの右のチャネルまたはノードを意味するであろう。図１１を参照すると、タッチ識別プロセス２０４の流れ図が、示され、以下に説明される。ステップ１１０２では、タッチ識別プロセス２０４（図２）が開始する。ステップ１１０４では、ある軸上の全チャネル、例えば、全列または全行のいずれかの自己走査が、行なわれ得る。ステップ１１０６では、第１の自己走査値が、検討され得る。ステップ１１０８では、（第１または後続の）自己走査値が、自己タッチ閾値と比較され得る。
【００７１】
自己ピーク検出プロセス１１００は、ステップ１１１０から１１１８を含み得、全体的ピーク検出プロセス２１０（図２）の一部である。自己走査値が、ステップ１１０８において決定されるような自己タッチ閾値未満である場合、ステップ１２３８（図１２）は、検討されるべき任意の追加の自己走査値が存在するかどうかを決定し得る。しかしながら、自己走査値が、ステップ１１０８において決定されるような自己タッチ閾値以上である場合、ステップ１１１０は、自己走査値とこのチャネルの左のチャネルの自己走査値との間の左勾配を計算し得る。次いで、ステップ１１１２は、自己走査値とこのチャネルの右のチャネルの自己走査値との間の右勾配を計算し得る。
【００７２】
ステップ１１１４は、左勾配がゼロを上回り得（正勾配）、かつ右勾配がゼロ未満であり得る（負勾配）かどうかを決定し、ピークを識別する。ステップ１１１４において結果が「はい」である場合、ステップ１１２０は、自己走査データから選択されたチャネルの各ノードに相互走査測定を行い得る。ステップ１１１４において結果が「いいえ」である場合、ステップ１１１６は、左勾配がゼロを上回り（正勾配）、かつ右勾配を上回り得るかどうか、例えば、限定ではないが、右勾配より２倍大きくあり得るかどうかを決定し得る。ステップ１１１６において結果が「はい」である場合、ステップ１１２０において、相互走査測定が、選択された自己走査チャネルの各ノードに行なわれ得る。ステップ１１１６において結果が「いいえ」である場合、ステップ１１１８は、左勾配が、例えば、限定ではないが、ゼロ未満（負勾配）であり、かつ右勾配のある割合、例えば、５０％を上回り得るかどうかを決定し得る。ステップ１１１６において結果が「はい」である場合、ステップ１１２０は、自己走査データから選択されたチャネルの各ノードに相互走査測定を行い得る。ステップ１１１６において結果が「いいえ」である場合、ステップ１２３８（図１２）は、その自己走査値に基づいて、検討されるべき任意の追加の列が存在するかどうかを決定し得る。ステップ１１２２は、第１の相互走査値を検討し得る。
【００７３】
図１２を参照すると、相互ピーク検出プロセス１２４４は、ステップ１２２６から１２３４を含み得、全体的ピーク検出プロセス２１０（図２）の一部である。ステップ１２２４は、（第１または後続の）相互走査値と相互タッチ閾値を比較し得、相互走査値が、相互タッチ閾値未満である場合、ステップ１２３６は、検討されるべき任意の追加の相互走査値が存在するかどうかを決定し得る。しかしながら、相互走査値が、相互タッチ閾値以上である場合、ステップ１２２６は、次の相互走査値ノードに対する勾配を計算し得、次いで、ステップ１２２８は、前の相互走査値ノードに対する勾配を計算し得る。
【００７４】
ステップ１２３０は、次の勾配が、ゼロ未満であり得（負勾配）、かつ前の勾配がゼロを上回り得る（正勾配）かどうかを決定し得る。ステップ１２３０において結果が「はい」である場合、ステップ１３５０（図１３）は、微調整プロセス２１２および／または補間プロセス２１４（図２）を始動させ得る。ステップ１２３０において結果が「いいえ」である場合、ステップ１２３２は、次の勾配が、例えば、限定ではないが、ゼロを上回り（正勾配）、かつ前の勾配のある割合未満であり得るかどうかを決定し得る。ステップ１２３２において結果が「はい」である場合、ステップ１３５０（図１３）は、微調整プロセス２１２および／または補間プロセス２１４（図２）を始動させ得る。ステップ１２３２において結果が「いいえ」である場合、ステップ１２３４は、次の勾配が、例えば、限定ではないが、ゼロ未満であって（負勾配）、かつ前の勾配を上回り得るかどうかを決定し得る。ステップ１２３４において結果が「はい」である場合、ステップ１３５０（図１３）は、微調整プロセス２１２および／または補間プロセス２１４（図２）を始動させ得る。ステップ１２３４において結果が「いいえ」である場合、ステップ１２３６は、検討されるべき任意の追加の相互値が存在し得るかどうかを決定する。ステップ１２３６において結果が「はい」である場合、ステップ１２４２は、次の相互値を検討し得る。ステップ１２３６において結果が「いいえ」である場合、ステップ１２３８は、検討されるべき任意の追加の自己走査値が存在し得るかどうかを決定する。ステップ１２３８において結果が「はい」である場合、ステップ１２４０は、次の自己走査値を検討し、そのさらなる処理のために、ステップ１１０８（図１１）に戻され得る。ステップ１２３８において結果が「いいえ」である場合、ステップ１２４４において、タッチ検出フレームが、完了し得る。
【００７５】
図１３−１５を参照すると、微調整プロセス２１２および補間プロセス２１４（図２）の流れ図が、示され、以下に説明される。ステップ１３５０は、タッチ識別プロセス２０４（図２）からのピーク場所を使用することによって、微調整プロセス２１２および／または補間プロセス２１４を始動させ得、以下のプロセスステップを含み得る。ステップ１３５２は、北に有効ノードが存在し得るかどうかを決定する。ステップ１３５２において結果が「いいえ」である場合、ステップ１３６０に進む。ステップ１３５２において結果が「はい」である場合、ステップ１３５４は、北のノードの相互走査測定を行い得る。ステップ１３５６は、相互北ノードの走査データが現在のノードを上回り得るかどうかを決定し得る。ステップ１３５６において結果が「いいえ」である場合、ステップ １３６０に進む。ステップ１３５６において結果が「はい」である場合、ステップ１３５８において、北ノードは、現在のノードとなり得、次いで、ステップ１４８６（図１４）に進む。
【００７６】
ステップ１３６０は、南に有効ノードが存在し得るかどうかを決定する。ステップ１３６０において結果が「いいえ」である場合、ステップ１４７０（図１４）に進む。ステップ１３６０において結果が「はい」である場合、ステップ１３６２は、南のノードに相互走査測定を行い得る。ステップ１３６４は、相互南ノードの走査データが現在のノードを上回り得るかどうかを決定し得る。ステップ１３６４において結果が「いいえ」である場合、ステップ１４７０（図１４）に進む。ステップ１３６４において結果が「はい」である場合、ステップ１３６６において、南ノードは、現在のノードとなり得、次いで、ステップ１４８６（図１４）に進む。
【００７７】
図１４を参照すると、ステップ１４７０は、東に有効ノードが存在し得るかどうかを決定する。ステップ１４７０において結果が「いいえ」である場合、ステップ１４７８に進む。ステップ１４７０において結果が「はい」である場合、ステップ１４７２は、東のノードに相互走査測定を行い得る。ステップ１４７４は、東のノードの相互走査データが現在のノードを上回り得るかどうかを決定し得る。ステップ１４７４において結果が「いいえ」である場合、ステップ１４７８に進む。ステップ１４７４において結果が「はい」である場合、ステップ１４７６において、東ノードは、現在のノードとなり得、ステップ１４８６に進む。
【００７８】
ステップ１４７８は、西に有効ノードが存在し得るかどうかを決定する。ステップ１４７８において結果が「いいえ」である場合、ステップ１５０２（図１５）に進む。ステップ１４７８において結果が「はい」である場合、ステップ１４８０は、西のノードの相互測定を行い得る。ステップ１４８２は、西ノードの相互走査データが現在のノードを上回り得るかどうかを決定し得る。ステップ１４８２において結果が「いいえ」である場合、ステップ１５０２（図１５）に進む。ステップ１４８２において結果が「はい」である場合、ステップ１４８４において、西ノードは、現在のノードとなり得る。ステップ１４８６は、タッチ点が、選択されたノードに既に存在し得るかどうかを決定する。ステップ１４８６において結果が「いいえ」である場合、ステップ１３５２（図１３）に進む。ステップ１４８６において結果が「はい」である場合、ステップ１４８８は、現在のピークを除外し得、次いで、ステップ１２３６（図１２）に進む。
【００７９】
図１５を参照すると、補間プロセス２１４は、ステップ１５０２―１５１８を含み得る。ステップ１５０２は、左に有効ノードが存在し得るかどうかを決定する。ステップ１５０２において結果が「いいえ」である場合、ステップ１５１０に進み、左ノード値は、中心値から右値を引いた値として定義され得、次いで、ステップ１５０６に進む。ステップ１５０２において結果が「はい」である場合、ステップ１５０４は、左のノードに相互走査測定を行い得る。次いで、ステップ１５０６は、右に有効ノードが存在し得るかどうかを決定する。ステップ１５０６において結果が「いいえ」である場合、ステップ１５１２に進み、右ノード値は、中心値から左値を引いた値として定義され得、次いで、ステップ１５１６に進む。ステップ１５０６において結果が「はい」である場合、ステップ１５０８は、右のノードに相互走査測定を行い得る。ステップ１５１６は、左値を右値から減算し、その差異を中心値で除算し、次いで、その結果を、例えば、限定ではないが、６４という数字で乗算することによって、微細位置を決定し得る。有効ピークおよびノードを決定する多くの方法が、タッチ検出および追跡の当業者が、本開示の教示に基づく知識を有することによって容易に実装し得るように使用され得ることが想定され、これは、本開示の範囲および精神内である。
【００８０】
ステップ１５１６が前述の計算を完了後、ステップ１５１４は、補間が各軸に対して行なわれ得たかどうかを決定する。ステップ１５１４において結果が「いいえ」である場合、ステップ１５１８は、別の軸を補間し得、その後、ステップ１５０２から１５１６は、各ステップに対して、「上」を「左」に置き換え、「下」を「右」にお置き換え、繰り返され得る。ステップ１５１４において結果が「はい」である場合、ステップ１５２０は、このタッチ点を全検出されたタッチ点のリストに追加し得る。次いで、ステップ１５２２は、検討されるべき任意の追加の相互走査値のために、ステップ１２３６（図１２）に戻り得る。
【００８１】
図１６、１７、および１８を参照すると、タッチ追跡プロセス２０６の流れ図が、示され、以下に説明される。ステップ１６０２では、タッチ追跡プロセス２０６は、前に見つかったタッチ場所および現在のタッチ場所を使用することによって始動し得る。ステップ１６０４は、いくつかの現在のタッチ場所が存在し得るかどうかを決定する。ステップ１６０４において結果が「はい」である場合、ステップ１６０６は、現在のタッチ場所の第１のタッチ場所を選択し得、その後、ステップ１７２２（図１７）に進み得る。ステップ１６０４において結果が「いいえ」である場合、ステップ１６１０は、いくつかの前のタッチ場所が存在し得るかどうかを決定する。ステップ１６１０において結果が「はい」である場合、ステップ１６１２は、第１の前のタッチ場所を選択し得る。ステップ１６１０において結果が「いいえ」である場合、ステップ１６１１において、追跡は、完了する。
【００８２】
ステップ１６１４は、前のタッチ場所が、現在のタッチ場所に関連付けられ得るかどうかを決定し得る。ステップ１６１４において結果が「いいえ」である場合、ステップ１６０８は、「タッチが前のタッチ場所にもはや存在せず、追跡を停止する」という出力をアサートし、次いで、ステップ１６１６に戻り得る。ステップ１６１４において結果が「はい」である場合、ステップ１６１６は、任意のさらなる前のタッチ場所が存在し得るかどうかを決定する。ステップ１６１６において結果が「いいえ」である場合、ステップ１６２０において、追跡タッチ場所は、完了し、タッチ場所データは、マイクロコントローラ１１２（図１）によって、さらなる処理のために、データ出力２０８（図２）として伝送され得る。ステップ１６１６において結果が「はい」である場合、ステップ１６１８は、次の前のタッチ場所を選択し、その後、ステップ１６１４に戻り得る。
【００８３】
図１７を参照すると、ステップ１７２２は、任意の前のタッチ場所が存在し得るかどうかを決定する。ステップ１７２２において結果が「いいえ」である場合、ステップ１８６８（図１８）に進み、現在の場所において、「追跡すべき新しいタッチが、識別され」、その後、ステップ１８５６（図１８）に進む。ステップ１７２２において結果が「はい」である場合、ステップ１７２４は、一時的重み値を最大重み値に設定し得る。ステップ１７２６は、前のタッチ場所の第１のタッチ場所を選択し得る。次いで、ステップ１７２８は、選択された現在のタッチ場所と選択された前のタッチ場所との間の距離を測定し、その間の現在の距離（重み値）を決定し得る。ステップ１７３０は、現在の重み値が、一時的重み値未満であり得るかどうかを決定する。ステップ１７３０において結果が「はい」である場合、ステップ１７３２は、一時的重み値を現在の重み値に設定し得、その後、選択された前のタッチ場所を一時的場所として記録し、ステップ１７３４に進み得る。ステップ１７３０において結果が「いいえ」である場合、ステップ１７３４は、さらなる前のタッチ場所が存在し得るかどうかを決定する。ステップ１７３４において結果が「はい」である場合、ステップ１７３６は、次の前のタッチ場所を選択し、その後、ステップ１７２８に戻り得る。ステップ１７３４において結果が「いいえ」である場合、ステップ１７３８は、一時的場所が、異なる現在の場所に既に割り当てられていることがあるかどうかを決定し得る。ステップ１７３８において結果が「はい」である場合、ステップ１７４０は、現在の場所および割り当てられた現在の場所に対する次の最重重み値を計算し、その後ステップ１８６０（図１８）に進み得る。ステップ１７３８において結果が「いいえ」である場合、ステップ１８５０（図１８）に進む。
【００８４】
図１８を参照すると、ステップ１８５０は、重み値が、最大関連付け閾値を下回り得るかどうかを決定し得る。ステップ１８５０において結果が「いいえ」である場合、ステップ１８５４は、追跡のための新しいタッチ場所を識別し得る。ステップ１８５０において結果が「はい」である場合、ステップ１８５２は、新しい一時的場所を現在の場所に割り当て、次いで、ステップ１８５６に進み得る。ステップ１８６０は、現在の場所に対する次の最重重み値が、割り当てられた場所に対する次の最重重み値未満であり得るかどうかを決定する。ステップ１８６０において結果が「はい」である場合、次いで、ステップ１８６２は、一時的場所を次の最重場所に設定し、その後、ステップ１８５６に進み得る。ステップ１８６０において結果が「いいえ」である場合、ステップ１８６４は、割り当てられた場所を次の最重重み値に設定し得る。ステップ１８６６は、移動した割当場所を選択し、その後、ステップ１７２２（図１７）に戻り得る。ステップ１８５６は、さらなる現在のタッチ場所が存在し得るかどうかを決定する。ステップ１８５６において結果が「はい」である場合、ステップ１８５８は、次の現在のタッチ場所を選択し、その後、ステップ１７２２（図１７）に戻り得る。
【００８５】
図１９を参照すると、描写されるのは、本開示の特定の例示的実施形態による、列キャッシュプロセスの流れ図である。ステップ１９０２は、相互走査場所要求を受信し得る。ステップ１９０４は、要求される相互走査領域場所が、キャッシュメモリ内に記憶されている可能性があるかどうかを決定し得る。ステップ１９０４において結果が「はい」である場合、ステップ１９２０は、キャッシュメモリ内に記憶された相互走査データが、有効であり得るかどうかを決定し得る。ステップ１９２０において結果が「はい」である場合、ステップ１９２２は、相互走査データをキャッシュメモリに返し得る。ステップ１９２０において結果が「いいえ」である場合、ステップ１９１８は、要求される場所において相互走査を行い得、ステップ１９１６は、その場所に対する相互走査データをキャッシュメモリ内に書き込み、次いで、ステップ１９２２に戻り得る。
【００８６】
ステップ１９０４において結果が「いいえ」である場合、ステップ１９０６は、要求されるタッチ場所が、キャッシュの右縁を超え得るかどうかを決定し得る。ステップ１９０６において結果が「はい」である場合、ステップ１９０８は、キャッシュメモリからの相互走査データの最左列の割当を解除し得る。ステップ１９１０では、割当が解除された相互走査データは、その縁値を移動させるように、キャッシュメモリの右縁に割り当てられ、その後、ステップ１９０４に戻り得る。ステップ１９０６において結果が「いいえ」である場合、ステップ１９１４は、キャッシュメモリからのデータの最右列の割当を解除し得る。ステップ１９１２では、割当が解除された相互走査データは、その縁値を移動させるように、キャッシュメモリの左縁に割り当てられ、その後、ステップ１９０４に戻り得る。
【００８７】
本開示の実施形態が、描写され、説明され、本開示の例示的実施形態を参照することによって定義されるが、そのような参照は、本開示の限定を含意するものではなく、そのような限定が、推測されるべきではない。開示される主題は、それらの当業者および本開示の利益を有するものに想起されるであろうように、形態および機能における多数の修正、改変、ならびに均等物が可能である。本開示の描写および説明される実施形態は、実施例にすぎず、本開示の範囲の包括ではない。
【図１】
2015515685.tif 000003
【図１Ａ】
2015515685.tif 000004
【図１Ｂ】
2015515685.tif 000005
【図１Ｃ】
2015515685.tif 000006
【図１Ｄ】
2015515685.tif 000007
【図１Ｅ】
2015515685.tif 000008
【図１Ｆ】
2015515685.tif 000009
【図１Ｇ】
2015515685.tif 000010
【図１Ｈ】
2015515685.tif 000011
【図１Ｉ】
2015515685.tif 000012
【図１Ｊ】
2015515685.tif 000013
【図１Ｋ】
2015515685.tif 000014
【図２】
2015515685.tif 000015
【図３】
2015515685.tif 000016
【図４（ａ）】
2015515685.tif 000017
【図４（ｂ）】
2015515685.tif 000018
【図４（ｃ）】
2015515685.tif 000019
【図５】
2015515685.tif 000020
【図６】
2015515685.tif 000021
【図７】
2015515685.tif 000022
【図８】
2015515685.tif 000023
【図９】
2015515685.tif 000024
【図１０】
2015515685.tif 000025
【図１１】
2015515685.tif 000026
【図１２】
2015515685.tif 000027
【図１３】
2015515685.tif 000028
【図１４】
2015515685.tif 000029
【図１５】
2015515685.tif 000030
【図１６】
2015515685.tif 000031
【図１７】
2015515685.tif 000032
【図１８】
2015515685.tif 000033
【図１９】
2015515685.tif 000034
【国際調査報告】
2015515685.tif 000035
2015515685.tif 000036
2015515685.tif 000037
2015515685.tif 000038
2015515685.tif 000039