(57)【要約】タッチパネル上のタッチイベントを検出する方法は、少なくとも１つのタッチイベントに応答する少なくとも１つのセンサからの少なくとも１つの信号に基づいて、テンプレート指紋にマッチする位置座標セットを識別することを含む。第１の距離閾値を満たす空間的に連続する位置座標のストリームを形成するために、連続する位置座標セットを第１の距離閾値と比較する。空間的に連続する位置座標のストリームの１つであって、位置座標の数が最小数を有するようなストリームに対応するタッチイベントが識別される。
2013506222.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのタッチイベントに対応する少なくとも１つのセンサからの少なくとも１つの信号に基づいて、テンプレート指紋とのマッチに対応する位置座標セットを識別するステップと、
第１の距離閾値を満たす空間的に連続する位置座標のストリームを形成するために、連続する位置座標セットを第１の距離閾値に基づいて比較するステップと、
空間的に連続する位置座標のストリームの１つであって、そのストリームの有する位置座標の数が最小数であるストリームに対応するタッチイベントを識別するステップと
を含む、タッチパネル上のタッチイベントを検出する方法。
【請求項２】
第１のタッチが最初の位置座標セットの中からのベストマッチに基づいて識別され、
タッチイベントが第１のタッチに引き続き識別され、
タッチイベントと第１のタッチが同期する
という特徴を有する、請求項１に記載の方法。
【請求項３】
位置座標セットを識別するステップがさらに、
位置座標セットの一つからテンプレート指紋の一つと最も高い相関度を有するベストマッチを識別するステップと、
ベストマッチから第２の距離閾値の範囲内にある位置座標を除去するステップと、
少なくとも１つの信号に基づいて更に位置座標を識別するステップと
を含むことを特徴とする、請求項１に記載方法。
【請求項４】
位置座標セットが少なくとも２つのセンサからの少なくとも２つの信号に基づいて識別されること
を特徴とする、請求項１に記載の方法。
【請求項５】
さらに、
所定の数の連続した位置座標セットの中から空間的に連続する位置座標がストリームに追加されなかった場合にストリームを除去するステップ
を含む、請求項１に記載の方法。
【請求項６】
それぞれの位置座標がテンプレート指紋の１つとの相関度に基づくスコアを有していることを特徴し、また、
さらに、
位置座標セットの中の最も高い相関度に基づいて第１のタッチを識別するステップと、
第１のタッチに関連づけられるストリーム中のそれぞれの位置座標に関連するスコアを平均することにより、第１のタッチの平均スコアを計算するステップと、
連続する位置座標の数が最小であるストリームの平均スコアを計算し、さらに第１のタッチの平均スコアとそのストリームの平均スコアとの関係に基づいてタッチイベントが識別されるステップと
を含む、請求項１に記載の方法。
【請求項７】
さらに、
タッチパネル上の少なくとも２つの同時タッチイベントを検出するステップ
を含む、請求項１に記載の方法。
【請求項８】
さらに、
タッチイベントが識別された後に識別された位置座標セットに基づいて、そのタッチイベントに最も近い、タッチイベントの新たな位置座標を識別するステップ
を含む、請求項１に記載の方法。
【請求項９】
空間的に連続した位置座標の最小数が少なくとも３であることを特徴とする請求項１に記載の方法。
【請求項１０】
タッチパネルと、
タッチパネル上の少なくとも１つのタッチイベントに関連づけられる信号を取得する少なくとも１つのセンサと、
規定時間内に取得された信号に基づいて位置座標セットを識別するように設定されたプロセッサモジュールと
からなり、
上記位置座標はテンプレート指紋とのマッチを表し、
上記プロセッサモジュールは、第１の距離閾値を満たす空間的に連続する位置座標のストリームを形成するために、連続する位置座標セットを第１の距離閾値に基づいて比較し、
上記プロセッサモジュールは、空間的に連続した位置座標のストリームの１つが空間的に連続した位置座標の最小数を有する場合に、少なくとも１つのタッチイベントを識別する、
タッチシステム。
【請求項１１】
上記少なくとも１つのセンサがさらに、少なくとも２以上の同時タッチイベントに関連づけられる信号を取得する少なくとも２つのセンサから構成される
ことを特徴とする、請求項１０に記載のタッチシステム。
【請求項１２】
上記少なくとも１つのセンサがさらに、少なくとも２つのセンサから構成され、
上記プロセッサモジュールがさらに上記少なくとも２つのセンサから取得される信号に基づいてライブ指紋を構築するように設定され、
上記ライブ指紋および上記テンプレート指紋が振幅値比率および位相差の少なくとも１つに基づいている
ことを特徴とする、請求項１０に記載のタッチシステム。
【請求項１３】
上記プロセッサモジュールがさらに、上記信号により構成される１つのデータフレームに基づいて、第１のタッチを識別するように設定されており、
テンプレート指紋との相関度がスコア閾値を満たす位置座標が１つだけである場合に、上記第１のタッチが識別される
請求項１０に記載のタッチシステム。
【請求項１４】
上記プロセッサモジュールがさらに、上記少なくとも１つのタッチイベントから所定の距離内にある位置座標を破棄するように設定される
ことを特徴とする、請求項１０に記載のタッチシステム。
【請求項１５】
少なくとも１つのセンサからの少なくとも１つの信号を検出するステップと、
上記少なくとも１つの信号に基づいて、少なくとも２つのライブ指紋を構築するステップと、
上記少なくとも２つのライブ指紋とテンプレート指紋との比較に基づいて、上記少なくとも２つのライブ指紋のそれぞれのベストマッチのセットを識別するステップと、
ライブ指紋の１つに関連付けられるベストマッチの少なくとも２つが、他のライブ指紋に関連づけられるベストマッチの少なくとも２つについて冗長な検証基準を満たす場合に同時タッチイベントを識別するステップと
からなる、タッチパネル上の少なくとも２つの同時タッチイベントを検出する方法。
【請求項１６】
上記検出するステップがさらに、少なくとも３つのセンサからの少なくとも３つの信号を検出するステップを含む、
請求項１５に記載の方法。
【請求項１７】
上記冗長な検出基準が距離閾値であることを特徴とする請求項１５に記載の方法。
【請求項１８】
上記ベストマッチが、上記少なくとも２つのライブ指紋と最も高い相関度を有するテンプレート指紋を含むこと
を特徴とし、また、
さらに、
相関度に基づいてベストマッチの各々についてスコアを決定し、さらに上記同時タッチイベントが上記スコアの比較に基づいて識別されるステップ
を含む、請求項１５に記載の方法。
【請求項１９】
上記ベストマッチが、上記少なくとも２つのライブ指紋と最も高い相関度を有するテンプレート指紋を含む
ことを特徴とし、また、
さらに、
相関度に基づいてそれぞれのベストマッチについてのスコアを決定するステップと、
１つのライブ指紋に関連する１番目のベストマッチと他のライブ指紋に関する２番目のベストマッチとのスコア比率を計算するステップであって、１番目のベストマッチと２番目のベストマッチが上記冗長な検証基準を満たすものである、ステップと、
上記スコア比率が閾値基準に合致しない場合に、１番目のベストマッチと２番目のベストマッチを拒否するステップと
を含む、請求項１５に記載の方法。
【請求項２０】
さらに、
１つのライブ指紋に関連づけられるただ１つのベストマッチが、他のライブ指紋に関連づけられるただ１つのベストマッチについての冗長な検証基準を満たす場合に、シングルタッチイベントを識別するステップ
を含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してタッチに反応する（touch sensitive）システムに関する。より詳細には、本発明は、屈曲波（bending-wave）タッチセンサを用いたタッチセンサシステムにおいて、複数同時タッチにおけるタッチ位置を識別することに関する。
【背景技術】
【０００２】
タッチパネルは、２次元座標情報を提供するために用いられる。タッチパネルの例として、不透明なトラックパッドや、透明なタッチスクリーンが液晶ディスプレイなどのディスプレイの前に置かれるものがある。タッチパネルは、４線式あるいは５線式抵抗膜方式、容量式、赤外線方式、表面弾性波方式、そして屈曲波方式などの様々なタッチ技術に基づいている。屈曲波方式技術の例として、Tyco Electronicsの事業単位の一つであるElo TouchSystemsが「Acoustic Pulse Recognition」略して「APR」というブランド名で販売している製品がある。
【０００３】
１つのアプローチとして、屈曲波方式では、キーや指などでタップすることで、基板に屈曲波を励起し、１のタッチを検出するようにしてもよい。これらの屈曲波は基板に接着された圧電素子又は圧電センサ（ピエゾ）内に電気信号を励起する。これらの信号が電子回路に取り込まれ、音響指紋法（acoustic fingerprinting methods）などを用いてピエゾ信号からタッチ座標情報を抽出し、タッチ位置の（Ｘ，Ｙ）座標を決定する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最新のアプリケーションではズームや回転など２本の指で行う動作を用いるため、複数のタッチを同時に検出する必要がある。従って、屈曲波方式タッチシステムにおいて、少なくとも２つの同時タッチを検出する必要がある。そうすることで、ユーザがディスプレイされている図形や写真などのデータや、音楽を再生するプログラムと相互作用することが出来る。２以上の同時タッチを利用することで、システムの相互作用能力は増加する。屈曲波方式タッチパネルは携帯端末、デスクトップコンピュータ、ポータブルコンピュータ、キオスク端末のような地理的に固定されたアプリケーションや、巨大ウィンドウアプリケーションなどに利用できるが、これに限定されるものではない。
【課題を解決するための手段】
【０００５】
一実施形態において、タッチパネル上のタッチイベントを検出する方法は、少なくとも１つのタッチイベントに応答する少なくとも１つのセンサからの少なくとも１つの信号に基づいて、テンプレート指紋にマッチする位置座標セットを識別することを含む。第１の距離閾値を満たす空間的に連続する位置座標のストリームを形成するために、連続する位置座標セットを第１の距離閾値と比較する。空間的に連続する位置座標のストリームの１つであって、位置座標の数が最小数を有するようなストリームに対応するタッチイベントが識別される。
【０００６】
他の実施形態では、タッチシステムは、タッチパネルと、少なくとも１つのセンサと、プロセッサモジュールとを含む。少なくとも１つのセンサは、タッチパネル上の少なくとも１つのタッチイベントに関連づけられる信号を取得する。プロセッサモジュールは、規定時間内に取得された信号に基づいて位置座標セットを識別するように設定されている。上記位置座標はテンプレート指紋とのマッチを表す。上記プロセッサモジュールは、第１の距離閾値を満たす空間的に連続する位置座標のストリームを形成するために、連続する位置座標セットを第１の距離閾値に基づいて比較する。上記プロセッサモジュールは、空間的に連続した位置座標のストリームの１つが空間的に連続した位置座標の最小数を有する場合に、少なくとも１つのタッチイベントを識別する。
【０００７】
さらに他の実施形態では、タッチパネル上の少なくとも２つの同時タッチイベントを検出する方法は、少なくとも１つのセンサからの少なくとも１つの信号を検出するステップを含む。少なくとも２つのライブ指紋をが、上記少なくとも１つの信号に基づいて構築される。ベストマッチのセットが、上記少なくとも２つのライブ指紋とテンプレート指紋との比較に基づいて、上記少なくとも２つのライブ指紋のそれぞれに対して、識別される。ライブ指紋の１つに関連付けられるベストマッチの少なくとも２つが、他のライブ指紋に関連づけられるベストマッチの少なくとも２つについて冗長な検証基準を満たす場合に、同時タッチイベントが識別される。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態における音響指紋に基づくタッチシステムを示す。
【図２】本発明の一実施形態における音響指紋に基づくタッチシステムを示す。
【図３】本発明の一実施形態における潜在的な同時タッチを認識する方法を示す。
【図４Ａ】本発明の一実施形態におけるベストマッチのテーブルを示す。
【図４Ｂ】本発明の一実施形態におけるベストマッチのテーブルを示す。
【図４Ｃ】本発明の一実施形態におけるベストマッチのテーブルを示す。
【図５】本発明の一実施形態において、２以上のタッチイベントが起きているか否かを決定する方法を示す。
【図６】本発明の一実施形態における、確定したタッチイベントに最も近いイベント候補の位置検索の方法を示す。
【図７】本発明の他の実施形態における、冗長な検証を用いた同時タッチの検出を示す。
【発明を実施するための形態】
【０００９】
これまでに述べた概要および本発明の所定の実施形態に関する以下の詳細な説明は、添付の図面に関連させて読むことでより良く理解されるであろう。諸図が様々な実施形態の機能ブロックの線図を示している限り、これらの機能ブロックは必ずしもハードウェア回路間の区分を示すものではない。従って例えば、１つ又は複数の機能ブロック（例えば、プロセッサ又はメモリ）が単一のハードウェアの部分（例えば、汎用信号プロセッサ又はランダムアクセスメモリ、ハードディスク等）に実装されてもよい。同様に、プログラムはスタンドアロンプログラムであってもよく、オペレーティングシステム内にサブルーチンとして組み込まれても、インストールされるソフトウェアパッケージ内のファンクション等であってもよい。様々な実施形態は、図面に示されている装置及び手段に限定されないことは理解されるべきである。
【００１０】
図１は、音響指紋に基づくタッチシステム１００を示したものである。音声指紋に基づくタッチシステム１００は、屈曲波タッチシステムの一例である。一実施形態において、音響指紋に基づくタッチシステム１００は、屈曲波がタッチにより発生され、０−２０ｋＨｚの可聴周波数帯域および／または１ＭＨｚより大幅に低い超音波周波数帯域の周波数の範囲内で検出されるシステムである。
【００１１】
タッチパネル１０２は、例えば、ガラス、アルミニウムまたはその他の物質の薄板などで出来ている基板１０４を有する。基板１０４の上にセンサ１０６、１０８、１１０、１１２や関連するトレース１１４、１１６、１１８、１２０などが備えられる。これらセンサは圧電センサであってもよく、該圧電センサは「ピエゾセンサ」または単に「ピエゾ」と略される場合がある。センサは、様々なタイプの加速度計及び歪ゲージ等の、基板１０４の局所的な動き又は歪を検出する他のタイプのセンサであってもよい。センサ１０６−１１２はまたマイクロホンと呼ばれる場合もある。センサ１０６、１０８、１１０、１１２は音を検出し、タッチスクリーンケーブル１２２とのインターフェースとなるトレース１１４、１１６、１１８、１２０を介してセンサ信号を送信する。タッチスクリーンケーブル１２２は、センサ信号をタッチスクリーンコントローラ１２４に送る。図１に示す実施形態では、トレース１１４およびトレース１２０間の電圧差はセンサ１０６およびセンサ１１２の逆直列の結合によって発生される１つのアナログ信号である。同様に、センサ１０８およびセンサ１１０の逆直列の結合も、トレース１１６およびトレース１１８間の電圧差に対応するアナログ信号を生成する。あるいは、センサ１１２およびセンサ１１０は、センサ１０６およびセンサ１０８がそれぞれ１つのアナログ信号に対応するように、除去されてもよい。他の実施形態においては、１つの信号を検出するのに１つのセンサを用いてもよい。またさらに別の実施形態においては、１つのセンサもしくは逆直列に結合された２つのセンサなどの、少なくとも１つのセンサが少なくとも１つの信号を生成するのに用いられてもよい。他の実施形態では、２つ以上のアナログ信号がトレースの交互の相互接続及び／または追加のセンサ（図示されていない）の何れかによって生成される。センサ１０６、１０８、１１０、１１２と基板１０４との配置及び／又は互いに対する配置は、表示されているものに限定されないこと、そして１つのタッチもしくは複数同時タッチの位置を決定するために用いられ得る少なくとも１つの信号を生成するセンサはもっと多くてもよいし、もっと少なくてもよいことは理解されるべきである。
【００１２】
タッチパネル１０２は、タッチスクリーンとして用いられる場合、ガラス等の不透明でない物質で製造され、グラフィカルユーザーインターフェース（ＧＵＩ、Graphical User Interface）のディスプレイボタンおよびアイコン又は他のグラフィック表現をサポートすることがあるディスプレイ１６０の前に搭載される。他の実施形態では、タッチパネル１０２は不透明または不透明でない物質で形成されてもよく、トラックパッド等として機能するためにディスプレイ１６０から物理的に分離して位置づけられてもよい。タッチパネル１０２は、以下の議論においては主として他のタッチパネルと呼ばれるが、タッチスクリーンおよびトラックパッドの設計が同様に用いられても良いことは理解されるべきである。
【００１３】
一般に、タッチシステム１００は、基板１０４が（Ｘ，Ｙ）座標の位置として記述される場合もある所定の位置においてタッチされるときに生成される音を認識する。他にも、原点を中心とする動径および偏角を有する極座標等の座標系が用いられてもよいことは理解されるべきである。基板１０４上の異なる各位置におけるタッチイベントはそれぞれ、一意の音を発生させる。より具体的には、ユーザが基板１０４上の１点にタッチすると、基板１０４上の１つ又は複数のセンサ１０６、１０８、１１０、１１２はその音を検出し、これを信号として表す。タッチパネルが透明なタッチスクリーンであれ、不透明または不透明でないタッチパッドであれ、音響指紋を生成する（acoustic fingerprinting）原理は同じである。
【００１４】
タッチスクリーンコントローラ１２４内部のアナログデジタル（Ａ／Ｄ）変換器１２６は、センサ１０６−１１２により生成される２つのアナログ信号を、タッチスクリーンケーブル１２２を介して受信する。他の実施形態において、Ａ／Ｄ変換器１２６は少なくとも１つのセンサからの少なくとも１つのアナログ信号を受信するものであってもよい。Ａ／Ｄ変換器１２６はデジタル化された信号１４８を出力し、当該信号１４８はプロセッサモジュール１２８によって受信される。周波数変換モジュール１３４は、デジタル化された信号１４８に対してフーリエ変換又はより具体的には高速フーリエ変換（ＦＦＴ）等の周波数変換を実行し、各センサ信号に関連づけられる周波数成分の周波数変換データセットを出力してもよい。いくつかの実施形態において、周波数変換データセットが選択した周波数帯域に限定されるものであってもよい。振幅値（amplitude magnitude）モジュール１３０は各周波数変換信号から振幅値の情報を抽出してもよく、位相モジュール１３２は、各周波数変換信号からの位相情報を抽出してもよい。プロセッサモジュール１２８は、振幅値の情報に基づいて、受信されたセンサ信号に関連づけられるプロファイル又は音響指紋を構成してもよい。他の実施形態において、プロセッサモジュール１２８は、振幅値の情報および位相情報の両方に基づいて受信されたセンサ信号に関連づけられるプロファイル又は音響指紋を構成してもよい。さらに別の実施形態において、プロセッサモジュール１２８は、位相情報に基づいて、またはデジタル化された信号１４８内の他の情報に基づいて音響指紋を構成してもよい。他の実施形態において、プロセッサモジュール１２８は、１つの信号又は少なくとも１つの信号に基づいてデジタル化された信号１４８内の情報に基づいて音響指紋を構成してもよい。例えば、アプリケーションによっては、音響指紋を生成するためには、１つの圧電素子からの時間領域の信号波形や標準化されたパワースペクトルで十分足りるということであってもよい。
【００１５】
メモリ１３６は、複数の音響指紋のセットを含む校正ファイル１３８を格納してもよく、これによりユーザが成功裡にディスプレイ１６０と相互作用できるようにする。通常の使用の前に、タッチパネル１０２上複数の（Ｘ，Ｙ）座標の位置は、一連の既知の（Ｘ，Ｙ）座標の位置がタッチされたときに発生されるセンサ信号に関連づけられる。上記信号は処理され、校正ファイル１３８内の第１、第２から第Ｎのテンプレート指紋１４０、１４２及び１４４のような音響指紋として格納されてもよい。実施形態によっては、信号は、第２の校正ファイル１６４を生成するように異なる方法で処理されてもよい。第２の校正ファイル１６４もまた、メモリ１３６内に格納され、音響指紋の対応するセットを含む。この例では、第１、第２から第Ｎのテンプレート指紋１７４、１７６および１７８は、第１、第２から第Ｎのテンプレート指紋１４０、１４２及び１４４にそれぞれ対応し、これにより、タッチパネル１０２上の同じ（Ｘ，Ｙ）座標の位置を表す。タッチイベントの位置座標を検出するために、校正ファイル１３８および校正ファイル１６４の１つ又は両方を用いてもよい。さらに他の校正ファイルを用いてもよいことは理解されるべきである。他の実施形態において、テンプレート指紋はプロセッサモジュール１２８によって即時に（オンザフライ、“on the fly”）構築されるものでもよい。例えば、動いている指の予期された次のタッチ位置に対応して、予期された次のタッチ位置に近い位置に対応するテンプレート指紋の間に補完して書き込むことにより、新たなテンプレート指紋が構築される。
【００１６】
一実施形態において、第１、第２ないし第Ｎのテンプレート指紋１４０、１４２および１４４は、振幅値モジュール１３０によって決定された２つのデジタル化された信号に関連する振幅比（magnitude ratio）であって、例えば上記２つの信号それぞれの振幅値間の比や比の関数などに基づいていてもよい。他の実施形態において、テンプレート指紋１４０、１４２、１４４が、位相モジュール１３２により決定された位相差情報に基づいていてもよい。またさらに別の実施形態において、テンプレート指紋１４０、１４２、１４４が、位相情報と組み合わされた振幅比に基づいていてもよい。テンプレート指紋１４０、１４２、１４４が、他の計測値、信号の比較やそれらの組み合わせに基づくものであってもよいことは、理解されるべきである。
【００１７】
一例として、タッチパネル１０２上の一連の既知の校正ポイントをタップすることで第１、第２ないし第Ｎのテンプレート指紋１４０、１４２、及び１４４を生成し、校正ファイル１３８を構築してもよい。１つの実施形態として、Ｎはおよそ４０００であってもよいが、使用されるタッチパネル１０２やＧＵＩインターフェースなどの大きさに基づくなどして、異なる数のテンプレート指紋が生成されうることは理解されるべきである。
【００１８】
屈曲波タッチスクリーン技術の分野においては、音響指紋は指紋、プロファイル、テンプレートと呼ばれてもよい。一例として、位置１５０におけるタッチイベントは第１のテンプレート指紋１４０に対応してもよく、一方、位置１５２と位置１５４におけるタッチイベントは第２のテンプレート指紋と第Ｎのテンプレート指紋にそれぞれ対応してもよい。従って、校正ファイル１３８は、タッチパネル１０２上の特定の（Ｘ，Ｙ）位置にそれぞれ関連づけられる所定の複数の指紋又はテンプレート、もしくは指紋又はテンプレートの集合体を含む。ここで、「テンプレート」という用語は、校正ファイル内の所定のあらかじめ設定された指紋を指すように用いられることもあるし、または、プロセッサモジュール１２８においてオンザフライで生成された「テンプレート」を指すように用いられることもある。これに対して、ここでは、ランタイム（run-time）タッチに関して計算されるライブ音響指紋を「ライブ指紋」又は「リアルタイム指紋」という。ライブ指紋はタッチシステム１００がアクティブである間の個々のフレームにおけるセンサ信号を表したものであるから、ライブ指紋はタッチパネル１０２上の実際のタッチを表すものでる場合もあるし、そうでない場合もある、ということを言及しておく。
【００１９】
ここで用いられている「同時タッチイベント（simultaneous touch events）」という用語は、２以上のタッチが同じ時間デュレーション（duration、期間）内に存在することを意味するが、必ずしも２以上のタッチが全く同時に起こる必要はない。それゆえ、１つのタッチイベントがデュレーションを有し、そのタッチイベントのデュレーションが始まった後に２番目のタッチイベントなどの他のタッチイベントのデュレーションが始まり、そして、１番目と２番目のタッチイベントのデュレーションの少なくとも一部が時間的に重なり合うというような場合であってもよい。例えば、指やスタイラスなどの物が、同じタッチパネル１０２上の２以上の別個の位置、たとえば位置１５０、１５２及び１５４のような２以上の位置、に同じ時間デュレーション内に接触する場合に、２以上の同時タッチイベントが起きる。
【００２０】
操作の間、プロセッサモジュール１２８は、検出された信号に基づいて、構築されたライブ指紋を、少なくとも、校正ファイル１３８に格納された第１、第２ないし第Ｎテンプレート指紋１４０、１４２および１４４のサブセットの１つと比較する。プロセッサモジュール１２８は、例えばスコアやそれぞれを比較したスコア比較式などによって、１以上の「ベストマッチ」を決定する。上記スコアは、校正ファイル１３８内の第１ないし第Ｎテンプレート指紋１４０−１４４と比して、ライブ指紋がどれほど異なるか、またはどれほど近似しマッチしているかを表す。ここで用いられている「ベストマッチ」という用語はもっとも近似する比較一致を意味し、またもっとも高い相関度を有するマッチを意味する。スコアもしくは相関度を計算する場合、完全な一致（マッチ）は、関連する基準（scale）の中の最小数もしくは最大数に対応する。一実施形態において、スコアは検出した周波数帯の中で完全に異なるものの合計であってもよい。例えば最もライブ指紋に近似する所定の数のテンプレート指紋を認識することなどにより、上位Ｍ個のマッチ比較が認識される場合などにおいて、「ベストマッチ」が複数あってもよい。プロセッサモジュール１２８が１番目の（initial）もしくは初めての（first）ライブタッチを識別しようとしている場合、もしベストマッチとなるテンプレート指紋がシングルタッチの基準であって、例えばスコアが所定の閾値より低いもしくは高いというような基準、に合致したなら、テンプレート指紋が１番目のタッチイベントの位置を識別するのに用いられてもよい。ここで、当該１番目のタッチイベントはまた、ここで第１の（primary）タッチと呼ばれるものであってもよい。
【００２１】
いわゆる当業者に知られるであろうことに、スコアの定義は、関連づけられた閾値条件が適宜修正される限り、実質的な影響の無い様々な方法によって補正されたり、変更されたりできる。根本的な概念は、スコアによる２つの音響指紋の相関度の測定を提供するということである。説明の明確化のために、後述する実施形態においては、相関度に比例するといった方法によりスコアを定義づけるという特定の形態について記述する。
他の代替するスコア定義についての実施形態は、スコア定義における可能な補正および変更の全てを用いた直接的なアルゴリズムの修正を経ていることを含む。ここで、検出された周波数帯域の中で絶対差の総計であるスコアＳ’は、相関度に比例しない、ということを述べておく。完全に一致した場合にはＳ’はゼロとなり、完全な反相関である場合はＳ’が数学的にＳ’の最大値と成り得る値Ｓ’maxを有し、２つのランダムな音響指紋などの相関関係が無い場合、Ｓ’はＳ’max／２となる値を有する。Ｓ’はS=C*(S’max/2−S’)なるスコアＳと補正および変更できる。スコアＳは相関度と比例し、（高い相関度に対応する）完全にマッチする場合は最大値を有し、（低い相関度に対応する）全く相関関係がない場合には値はゼロとなる。定数Ｃは、例えば完全にマッチするときのスコアが１０２４のような整数演算に便宜的な値になるように選択してもよい。再度説明の明確化のために述べるが、後述する実施形態において主に、Ｓなどのスコアは相関度に比例する値を持つとして記述されている。すなわち、大きな値と高い相関度とを持つ良いスコア、対して小さい値と低い相関度とを持つ悪いスコアといったようなスコアである。
【００２２】
第１のタッチが識別された場合、プロセッサモジュール１２８はテンプレート指紋に関連付けられる（Ｘ，Ｙ）座標をディスプレイモジュール１４６に渡してもよい。この（Ｘ，Ｙ）座標はファームウェアまたはソフトウェアの１以上のモジュールの中に格納されていてもよい。ディスプレイモジュール１４６は、例えば、Microsoft Windows（登録商標）のオペレーティングシステムのようなグラフィカルユーザインターフェース（ＧＵＩ）であってもよい。一実施形態において、ディスプレイモジュール１４６はホストコンピュータ１６２上で実行される。ホストコンピュータ１６２はまた、ユーザの興味があるアプリケーションコードを実行する。一実施形態において、ディスプレイモジュール１４６は、テンプレート指紋の校正ファイル１３８をタッチイベントに起因するライブ信号の位置座標を認識するためのマッチングのアルゴリズムに使用してもよい。
ディスプレイモジュール１４６は、座標がディスプレイ１６０上に表示されるボタンまたはアイコンのいずれの選択を示しているかを決定する。ボタンが選択されているときには、ホストコンピュータ１６２または他のコンポーネント（図示されていない）は、その特定のボタンに機能的に関連付けに基づいてさらなるアクションを行ってもよい。
【００２３】
しかしながら、２つのタッチイベントが同時に起こる等の複数タッチの状況において、最もベストマッチである２つのテンプレート指紋を選択することで、常に、２つのタッチの正確な位置座標を生成されるというわけではない。それ故、２番目のもしくは引き続くライブタッチが、ライブタッチの基準に合致するテンプレート指紋とのベストマッチを生成することができないことがある。
【００２４】
図２は、タッチの検出に用いられる少なくとも１つの信号を生成する少なくとも１つのセンサを含むタッチパネル２０１を有する、音響指紋に基づくタッチシステム２００を示したものである。一実施形態において、少なくとも３つのセンサから、少なくとも３つの信号が検出されてもよい。タッチパネル２０１は基板２０２を有し、基板２０２上に第１、第２および第３センサ２０４、２０６および２０８が備えられる。図２においては、逆直列に相互に接続される一対のピエゾもしくはマイクロホン（図１参照）ではなく、センサ２０４、２０６、２０８が信号を生成するのに用いられる。トレース２１０およびトレース２１２は第１センサ２０４に関連付けられる第１信号を送信し、トレース２１４およびトレース２１６は第２センサ２０６に関連付けられる第２信号を送信し、トレース２１８およびトレース２２０は第３センサ２０８に関連付けられる第３信号を送信する。ケーブル２２２は、図１の説明において前述した様に、タッチスクリーンコントローラ１２４への信号を伝送する。さらなる信号を生成するために３つ以上のセンサが用いられてもよい。図１に示したタッチスクリーンコントローラ１２４、ディスプレイ１６０およびホストコンピュータ１６２に含まれる構成要素は、タッチシステム２００と共通する。
【００２５】
図２に示した通り、同じ時間区切り（period）内に受信した少なくとも１つの信号は、１つ、２つもしくはそれより多くの音響指紋を構築するのに用いられてもよい。一実施形態において、１以上の音響指紋が構築される信号であって、３つ以上の信号が受信されてもよい。音響指紋が位相差、振幅比率、異なる構成、および／またはそれらの組み合わせに基づいて構築されてもよい。２以上の音響指紋が１つのデータフレームから検出された信号に基づいて構築された場合、冗長な検証の利点が現実化されうる。冗長な検証は、全てのサイズのタッチスクリーン、特に小さなサイズのタッチスクリーンやノイズの多い環境で使用されるタッチスクリーンでの、強力なタッチポイント検出を提供するに用いられてもよい。複数の同時タッチイベントにおける位置座標の識別に冗長な検証を用いることについては、後述する。
【００２６】
図３は、２以上の同時に起こるタッチイベントを識別する方法を示す。ステップ３００において、まだタッチイベントが識別されておらず、プロセッサモジュール１２８は図１に示すセンサ１０６−１１２からの信号に基づいて計算された値、例えば位相差および／または振幅値など、に基づいてライブ指紋を構築し得る。一実施形態において、プロセッサモジュール１２８は、検出されたデータのフレームごとに、新たなライブ指紋を構築する。新たなデータのフレームは、例えば、２３マイクロ秒ごとに検出されるようにしてもよい。ライブ指紋を取得するのに用いられるプロセッシング方法は、校正ファイル１３８中で比較に用いるテンプレート指紋１４０−１４４を構築する方法と同じである。
【００２７】
ステップ３０２において、プロセッサモジュール１２８はライブ指紋を校正ファイル１３８に格納される第１から第Ｎのテンプレート１４０−１４４などのテンプレート指紋と比較し、それらの間の差を測定する。ステップ３０４において、プロセッサモジュール１２８は前述のように、いずれの組み合わせ（マッチ）が最も良い相関関係を有するか、または最も相関度が高いかを測定することなどにより、ベストマッチを識別する。また、他の実施形態において、ベストマッチを、用いるスコアリング法（scoring method）によって、どの組み合わせが最小値または最高値を有するかに基づいて決定しても良い。
【００２８】
ステップ３０６において、プロセッサモジュール１２８はベストマッチが実際のタッチイベントの基準と合致するか否かを判断する。一実施形態において、その基準があらかじめ定めたスコアであって、許容可能な最小値または最大値として表現されたものであってもよい。また他の実施形態として、その基準は相関度であってもおい。ベストマッチが実際のタッチイベントでないと判断された場合、ステップ３００に戻る。ベストマッチが実際のタッチイベントであると判断された場合、ステップ３０８において、プロセッサモジュール１２８は遅延なくオペレーティングシステムへベストマッチの座標を報告する。ここでベストマッチは１番目の（initial）または第１の（primary）タッチに関連づける。ここで、“第１のタッチ（primary touch）”という語は、最初にタッチした位置もしくは最初のタッチイベントを表す。いくつかの実施形態において、第１のタッチは、ある時間の区切りの中でシステム１００が検出した唯一のタッチであってもよい。例えば、複数タッチアプリケーションにおいてユーザが最初の位置にタッチしてすぐに次の位置にタッチしたような場合であってもよい。
【００２９】
ステップ３１０において、プロセッサモジュール１２８は第Ｍのテンプレート指紋をそのライブ指紋の「ベストマッチ（best match）」として識別する。それぞれのベストマッチはテンプレート指紋により識別される位置座標を有し、そして位置座標のセットが識別される。上述した通り、プロセッサモジュール１２８は、Ｍの候補となりうる位置やベストマッチのテンプレート指紋を示すスコアや最高の相関度を決定しても良い。
【００３０】
ここで、Ｍは整数である。Ｍは定数であっても変数であってもよい。また、Ｍはアクティブなアプリケーションに基づいて定義されるものであってもよい。例えば、Ｍは５、６、７、８などであってもよい。他の実施形態として、Ｍは同時タッチイベントの想定数に基づいていてもよい。例えば、利用中のアプリケーションが２つまでの同時タッチイベントを受理する場合にＭは６であり、アプリケーションが３つまでの同時タッチイベントを受理する場合にＭは８などのより大きい値にする、としてもよい。Ｍはまた、動的に調整可能で、例えばより多くの同時タッチイベントが検出された場合には、Ｍが増加するようにしてもよい。
【００３１】
ベストマッチの中には、タッチイベントの結果ではないが現れる偽のポイントが現れる場合がある。また、１つのタッチイベントにより、タッチパネル上の非常に近いところに２以上のベストマッチが生成される場合がある。それ故、ステップ３１２において、プロセッサモジュール１２８は「ベストマッチ」として識別された潜在的な（potential）位置座標の中から、ステップ３０４において識別されたベストマッチから距離閾値以内にあるものを削除する。すなわち、プロセッサモジュール１２８は局所的最大値（a local maximum）を識別する。一実施形態において、距離閾値は、おおよそ２４ミリメートル、１／２インチ、または３グリッドポイントなどの、ベストマッチを中心とする正方形や円としてもよい。他の形状や、他の距離を用いても良い。
【００３２】
ステップ３１４において、プロセッサモジュール１２８はＭ個の位置座標が未だ識別されているかを決定する。たとえば、ベストマッチのうちのいずれかがステップ３１２において削除された場合、Ｍ個の位置座標は認識されず、本願発明における方法はステップ３１６へ進む。ステップ３１６において、プロセッサモジュール１２８は、例えばステップ３０２での比較に基づくテンプレート指紋に割り当てられたスコアに基づいて、ベストマッチとなる次の位置座標のセットを決定する。一実施形態において、プロセッサモジュール１２８は更なる（additional）Ｍ個の位置座標または異なる数の位置座標を識別してもよい。また、他の実施形態において、プロセッサモジュール１２８は、Ｍ個のものがすでに識別されたベストマッチを含むように、総計がＭに到るまで、更なる位置座標を識別しても良い。
【００３３】
ステップ３１８において、プロセッサモジュール１２８は、この繰り返しにおいて次に最も高いスコアまたは次に最も高い相関度を有するベストマッチを、次のベストマッチと識別してもよい。ステップ３２０において、プロセッサモジュール１２８は当該次のベストマッチが閾値基準に合致するか否かを決定する。たとえば、スコアが小さすぎたり大きすぎたりすることや相関度が低すぎるなどの理由に基づいて、いくつかの候補を不適当とみなすことができる。スコアが閾値基準と合致しない場合、次のベストマッチはタッチイベント候補を示すものではないとしてステップ３２４へ進み、最新の（current）データのフレームからこれ以上次の候補を探す必要はない。スコアが閾値基準と合致する場合、ステップ３２２へと進む。
【００３４】
ステップ３２２において、プロセッサモジュール１２８は識別されたベストマッチの距離閾値以内にある潜在的な位置座標を削除する。当該ステップは、新たに識別されたベストマッチをそれ以前に識別された全てのベストマッチと比較することを含む。
【００３５】
次にステップ３１４に戻り、プロセッサモジュール１２８はＭ個の位置座標が識別されているか否かを決定する。識別されていない場合、より多くの潜在的な位置座標を識別するためにステップ３１６へと進む。ステップ３１４においてＭ個の位置座標が識別されている場合、ステップ３２４へ進み、プロセッサモジュール１２８はＭ個の位置座標のそれぞれの情報を記録し、タッチイベントを表しているかもしれない位置座標のそれぞれに対する潜在的データストリームを開始させる。ここで特筆すべきことは、ステップ３２０からステップ３２４へと進んだ場合、記録された位置座標がＭ個よりも少ない場合があるが、すなわち、次のベストマッチがタッチイベント候補と認識されるために十分高い相関度を有しない場合があるということである。
【００３６】
図４Ａは、ベストマッチを格納するベストマッチテーブル４００を示しており、図１および図２においはてメモリ１３６内に記憶されている。テーブル４００は、検討を行う目的で、行４０２および列４０４を有する。しかし、データは、例えばメモリ１３６内の異なる不連続なメモリ位置などに、電子的に格納され、異なるフォーマットと関連付けられることは理解されるべきである。プロセッサモジュール１２８が、ベストマッチのセットを第１行４２０に書き込むことでテーブル４００を構築してもよい。また、当該ベストマッチのセットが、最初のデータフレームに関連付けられるＭ個の位置座標のセットであってもよい。記録された情報には、少なくとも関連する位置座標およびスコアが含まれる。一実施形態において、最初のデータフレームとは、最初のタッチイベントもしくは第１のタッチイベントが識別されたデータフレームのことを表し、Ｍ個の位置座標のセットとは、Ｍ個の座標の１番目のセットのことを表す。例えば、プロセッサモジュール１２８は、位置４０６に、図３のステップ３０４において識別された最初のタッチイベントに関連づけられるベストマッチを書き込んでもよく、また、プロセッサモジュール１２８は、位置４０８に、次のベストマッチを書き込んでもよい、などとしてもよい。残ったベストマッチは、位置４１０、４１２、４１４、４１６に記録されてもよい。この例において、Ｍは６と等しく、「Ｘ」はデータが記録されている位置の１つを示す。前述したとおり、Ｍは８などの異なる数にしてもよい。第１行４２０に書き込まれたデータが、それぞれがタッチイベントを表す位置座標の潜在的ストリーム４４０、４４２、４４４、４４６、４４８、４５０の基礎となる。識別されたＭ個のベストマッチに引き続くセットが、後述する接近度（proximity）もしくは距離基準（distance criteria）に基づいて、行４２２、４２４、４２６および４２８などの連続する行に記録されてもよい。
【００３７】
図３に戻って、ステップ３２６においてプロセッサモジュール１２８は、次に取得したデータフレームに基づいて新たなライブ指紋を構築する。次にステップ３１０に戻り、ベストマッチとなる次のＭ個の位置座標のセットを識別する。しかしながら、この繰り返しにおいて、一旦、ステップ３１４においてＭ個の位置座標が認識され場合、もしくは、ステップ３２０において閾値基準に合致する位置座標が識別された場合、プロセッサモジュール１２８は、新たに識別した位置座標の各々を、位置４０６−４１６に格納された位置座標などの前の位置座標セットと比較する。
【００３８】
図４Ｂには、Ｍ個の潜在的な位置座標の連続するセットが追加された、ベストマッチテーブル４００を示す。テーブル４００は、スコアや空間的連続性に基づいて、データの行を追加することで構築される。たとえば、ベストスコアを含むエントリが空間的連続性に基づいてそれぞれの列に追加される、すなわち、前のエントリの所定の距離閾値（すなわち、近接閾値（proximity threshold））内に発生したエントリが対応するストリームに割り付けられる。行４２２のはじめに戻って、Ｍ個の位置座標の２番目のセットが図３のステップ３１４において識別される。２番目のもしくは次の位置座標セットが次のフレームもしくは時間のクロック周期において識別されてもよい。他の実施形態において、たとえば隔フレームごとなどに、１つ以上のフレームが削除されてもよい。すなわち、２番目のもしくは次の位置座標セットを時系列に基づいて識別してもよい。従って、ここで用いられる「連続する（consecutive）」という用語は、一つの座標セットが時間軸上前の座標セットの後にやってくることを表しているが、前の座標セットの後即時に生じると限っているものではない。ここで再び、Ｍが６と等しいものとする。複数タッチが存在する場合、第１のタッチは、後述する所定の時間区切り（time period）もしくは所定の連続するフレーム数に含まれる、少なくとも１つのデータフレームの上位Ｍ個の中に現れるが、第１のタッチがベストスコアを有さなくてもよい。
【００３９】
Ｍ個の位置座標のそれぞれが、行４２０に記録された位置座標と比較される。新たな位置座標が前に記録された位置座標の距離閾値の中にある場合、そのデータはテーブル４００中の該位置座標の下などの、同じストリーム中に記録される。この比較により空間的に連続する位置座標のストリームを形成し、ストリームの位置連続性が強化される。一実施形態において、距離閾値はおよそ１２ミリメートルであってもよいし、１／２インチ、もしくは３グリッドポイントであってもよい。また、他の距離を使用してもよい。
【００４０】
例えば、最高のベストマッチが、位置４１０およびストリーム４４４に関連付けられる位置４６０に記録されていてもよい。次のベストマッチが、位置４０６およびストリーム４４０に関連付けられる位置４６１に記録されてもよく、次のベストマッチが位置４１４およびストリーム４４８に関連付けられる位置４６２に記録されてもよく、そして次のベストマッチが位置４１６およびストリーム４５０に関連付けられる位置４６３に記録されてもよい。しかしながら、残る２つのベストマッチが位置４０６−４１６に記録されたいずれの位置座標の距離基準にも適合しない場合もあってよい。従って、５番目および６番目のベストマッチは、新たなストリーム４５２およびストリーム４５４をそれぞれ作り、位置４６４および４６５に記録される。
【００４１】
図３のステップ３１４において、Ｍ個の位置座標のうち３番目のセットが識別された場合、そのデータは同様にテーブル４００に追加される。行４２４はＭ個の潜在位置座標のうち３番目のセットを反映し、位置４６６、４６７、４６８、４６９、４７０、４７１に入力される。行４２６はＭ個の潜在位置座標のうち４番目のセットを反映し、位置座標４７２、４７３、４７４、４７５、４７６、４７７に入力される。有効な（valid）タッチイベントの一つの特徴は、位置座標が少なくとも定期的に上位Ｍ個の位置座標の中に現れ、そして空間的に連続する位置座標のストリームを生成するということである。それゆえ、いくつかの実施形態において、ストリームが各クロック周期もしくは他のサンプリング周期に基づくエントリを有していなくてもよい。潜在的なイベントが、例えば、ストリーム４５２に見られるように（この例においてストリーム４４０が第１のタッチを示す）、３データフレームといったような時間区切り（period）中、所定の距離基準内に検出されたといったように、ストリームが所定の数のエントリを含む場合、プロセッサモジュール１２８はデータがタッチパネル１０２上の２番目のタッチイベントを示しているか否かを決定する。
【００４２】
有効なタッチに対応するものではない、誤った（spurious）データが、Ｍ個の位置座標またはＭ個のベストマッチの中に検出されてもよい。一実施形態において、所定の時間期間についてのストリームの中で、エントリが全く作成されなかった場合、ストリームが「没にされる（killed）」、例えば除去される（eliminated）または削除される（deleted）、ということがあってもよい。例えば、ストリーム除去のパラメータが１つのデータフレームであってもよい。従って、行４２２のストリーム４４２およびストリーム４４６にデータの入力がなかったとき、ストリーム４４２およびストリーム４４６が当該基準に基づいて除去されてもよい。
【００４３】
しかしながら、２以上の同時タッチが基板１０４上に存在した場合、スコアもしくは相関度は、シングルタッチで決定される相関度と比較して下げてもよい。従って、ストリームにデータが入力されず、ストリームが除去された後に、所定の数のフレームが識別されてもよい。一実施形態において、プロセッサモジュール１２８は、３つの連続する空のフレームが検出された後のストリームを除去し、新たなデータストリームがメモリ１３６のそれらのメモリ位置内に作成され引き続くようにしてもよい。
【００４４】
それゆえ、いくつかの実施形態において、有効なタッチイベントが位置連続性を有していてもよいが、連続的に取得されたフレームそれぞれの上位Ｍ個の位置座標に現れなくてもよい。図４Ｃは、シーケンシャルなデータフレームに基づいてデータを保持するために、追加的に連続的に取得した行４３０、４３１、４３２、４３３、４３４、４３５、４３６、４３７、４３８、４３９を有する、テーブル４００を示す。図４Ｃの例において、Ｍ個のベストマッチの全てがテーブル４００に記録されるわけではない。また、後述の図４Ｃの例において、少なくとも６個の空間的に連続する位置座標が検出され、２つの記録された位置の間で検出された空のフレームが２つ以下であった場合、ストリームが潜在タッチイベントとみなされる。従って、ストリームは連続するエントリに限られたものではない。
【００４５】
次にストリーム４４０について述べるが、このストリームは行４３１、４３４、４３７の位置４７８、４７９、４８０に記録したベストマッチを有する。前述したように、ストリーム４４０は検出された第１のタッチの結果であった。また、タッチイベントが基板１０４上でアクティブであり続け、そしてそれぞれのデータフレームにおいて検出されない、ということは可能である。一実施形態において、少なくとも３データフレームごとにタッチイベントが検出されている限り、タッチイベントは有効（valid）である。例えば、ストリーム４４０は行４２８および行４３０にエントリを有していない。しかし、位置４７８にエントリを有し、ストリーム４４０は生きて（alive）いる。位置４７９および位置４８０に続くエントリがまた時間制限内に検出される。４以上のフレーム内でエントリを検出するなどの異なる許容範囲（tolerance）が用いられてもよい、ということは理解されるべきである。
【００４６】
ストリーム４４２は、ストリームを特定（qualify）し、時間内に取得した空間的連続性に基づいて、潜在位置座標を識別する、他の例を示している。例えば、位置４８４の６番目のイベントが記録された後、位置４０８、４６７、４８１、４８２、４８３、４８４、４８５のそれぞれの位置は空のフレームによって分離されているが、プロセッサモジュール１２８はストリーム４４２が潜在タッチ位置を表していると決定してもよい。それぞれの１つ１つの空のフレームは、ストリームが実行可能（viable）と認識されるパラメータの範囲内にある。他の実施形態において、プロセッサモジュール１２８は、６より大きいもしくは６未満の空間的に連続する位置座標を検出した後に、ストリーム４４２を識別してもよい。
【００４７】
他の例において、例えば３フレームごとにのみストリーム中でエントリが作成されるなど、最大時間制限内にそれぞれのエントリが検出されるならば、プロセッサモジュール１２８が潜在タッチイベントを認識するために１６フレームに到るまで取得してもよい。いくつかの実施形態において、必要とされる空間的に連続する位置座標の数は、少なくとも幾分かは、２番目のタッチポイントを認識するための条件にあった応答時間に依存する。例えば、１６個の連続データフレームの後で潜在的な２番目のタッチポイントのストリームを評価することは、データフレーム間の時間経過によって大きな遅延をもたらすことがある。従って、少ない数の空間的に連続する位置座標が用いられてもよい。
【００４８】
次に誤った（spurious）ストリームの除去について述べるが、前述した様に、３つの連続したフレームなどの所定の数の連続するフレームに対するストリーム内にエントリが作成されていない場合、プロセッサモジュール１２８はそのストリームを除去してもよく、新たなデータストリームがメモリ１３６のそれらのメモリ位置内に種を蒔かれ、それらが後に続くようにしてもよい。例えば、ストリーム４４８は、行４２０、４２２、４２６のそれぞれに対応するデータフレーム内の位置４１４、４６２、４７３に検出されたデータを有していた。一実施形態において、プロセッサモジュール１２８が３つの空間的に連続する位置座標の後に潜在マッチを識別したならば、ストリーム４４８が潜在タッチイベントと識別されてもよい。示した通り、行４２８、４３０、４３１に対応する、続く３つのデータフレーム内で対応するベストマッチは検出されなかった。それゆえ、プロセッサモジュール１２８はストリーム４４８を没にし（kill）てもよく、そしてそのメモリ位置を他のベストマッチを記録するために解放してもよい。したがって、行４３２に対応する次のフレームにおいて、プロセッサモジュール１２８は、位置４１４、４６２、４７３に基づいた前のストリームとは空間的に異なる、新たに作成されたストリームを表す位置４８６を記録をしてもよい。
【００４９】
それゆえ、アクティブでないストリームを除去することにより、テーブル４００に関連付けられるデータは所定のサイズ制限内に収容することができる。一実施形態において、テーブル４００のサイズは、それぞれのストリームが１列１４行で表される、１６個のストリームまで対応するように設定してもよい。同様に、ライブタッチに対応しているが、もはや未だアクティブなタッチを示すデータを記録していないストリームを除去してもよい。いくつかの実施形態において、前に記録したデータを、削除する前に、所定の時間区切りもしくは所定のフレームの間、保持するようにしてもよい。
【００５０】
図３および図４Ａ−Ｃについて述べたストリーム構築方法はまた、シングルタッチイベントを検出するのに適用されてもよい、ということは理解されるべきである。例えば、プロセッサモジュール１２８が、第１のタッチなどのいずれかのタッチイベントが検出される前にＭ個の位置座標を識別してもよい。いくつかの実施形態において、ストリーム構築は、他のタイプのシングルタッチ検出方法においては妨げとなるレベルの周辺雑音がある環境下などにおいて、シングルタッチイベントを検出するのに用いられてもよい。
【００５１】
図５は、２以上の同時タッチが起きているか否かを決定する方法である。同時タッチが起こった場合、１つ以上のスコアがシングルタッチ状態を決定するのに用いられる要件に合致するとは限らない。それゆえ、同時タッチを識別する場合には、他のいくつかの基準を考慮しなければならない。ステップ５００において、プロセッサモジュール１２８は、図３のステップ３０４−３０８などで、すでに第１のタッチを検出し、オペレーティングシステムに報告している。第１のタッチは関連するストリーム、この例ではストリーム４４０、を有する。図４Ｂに示した様に、ストリーム４４０は、行４２０、４２２、４２４、４２６内に、最小スコア基準、相関度、および／または空間連続性に合致する有効なエントリを有し、従って、有効なタッチとみなされる。図５に示す方法は最小数のフレームが処理された後で開始されてもよく、また、位置座標が記録されている間（図３のステップ３２４）はいつでも実行されるようにしてもよい。したがって、図３に示す方法と図５に示す方法は並行して実行されてもよい。
【００５２】
ステップ５０２において、プロセッサモジュール１２８は、２番目のタッチがタッチパネル１０２上に存在することを示し得る２番目のストリームがあるかどうかを決定する。２番目のストリームのみについて議論しているが、後述するように３以上の追加ストリームが識別され評価されてもよいことは、理解されるべきである。前述した様に、所定の数のイメージフレームなどの時間区切りが、ストリームがタッチイベント候補と認識されるのに十分長い時間区切りの間存在するか否かを決定するのに用いられてもよい。図４Ｂの例において、時間の長さの基準として３つの空間的に連続する位置座標がもちいられており、そしてストリーム内で一つのデータフレームも検出されなかった場合にそのストリームを除去する。図４Ｃにおいて述べた様に、別のパラメータが用いられてもよい。時間の長さの基準に合致するストリームが無い場合、ステップ５００へと戻る。図４Ｂを参照すると、ストリーム４４２は行４２０および行４２４にエントリを有し、よって少なくとも３つの空間的に連続する位置座標の基準に合致しない。それゆえ、位置４０８および位置４６７のエントリは不要なノイズから生じたものかもしれない。ストリーム４４４、４４６、４４８、４５０、４５４、４５６もまた許容されるべき時間連続性を持たない。しかしながら、ストリーム４５２は、３つの連続するイメージフレームの間の位置４６４、４６９、４７５にデータが入力されており、時間の長さの基準に合致する。
【００５３】
ステップ５０４において、プロセッサモジュール１２８は、第１のタッチおよび潜在的な後続のタッチの平均ストリームスコアを互いに比較する。当該比較は、それぞれの潜在的な後続のタッチについて遂行される。一実施形態において、第１のタッチのスコアは取得された時間の長さの間の平均であってもよい。例えば、位置４０６、４６１、４６６、４７２に記録されたスコアを平均してもよい。同様に、位置４６４、４６９、４７５に記録されるような、潜在的な後続のタッチのスコアを平均してもよい。いくつかの実施形態において、第１のタッチが後続のタッチよりもより良い平均スコアを有してもよい。前述した様に、スコア数の低いものがより良い平均スコアであってもよいし、他の実施形態においては、スコア数の高いものがより良い平均スコアであってもよい。他の実施形態において、相関度の平均が決定されてもよい。
【００５４】
ステップ５０６において、プロセッサモジュール１２８は、第１のタッチおよび潜在的な後続のタッチの平均スコアが十分に互いに類似しているかを決定する。一実施形態において、第１のタッチおよび潜在的な後続のタッチ間のスコアの差が決定されてもよい。そして、そのスコアの差が所定の閾値よりも小さい場合、そのスコアらは「類似（similar）」と見做され得る。他の実施形態において、プロセッサモジュール１２８は、スコア比率が閾値よりも小さいか（いくつかの実施形態においては大きいか）否かを決定するために、スコア比率（score ratio）を閾値と比較してもよい。例示としてであるが、完全に一致する時のスコアが1,024のような大きな数であってもよい。指紋はスコアが1,024よりも小さくてもなおマッチしていてよいし、それに、複数タッチの状況において、シングルタッチイベントでの条件とされるスコアよりも小さなスコアを、有効なタッチイベントが有していてもよい。したがって、第１のタッチが平均スコア950を有しており、潜在的な２番目のタッチが平均スコア600を有する場合、第１を２番目で割ったスコア比率は1.58となる。1.9などの閾値が設定されていてもよく、その場合、スコア比率が1.9よりも小さいとき、２番目のタッチが有効なタッチイベントとして決定される。スコア比率は、大きい方の値を分子に、小さい方の値を分母とするように定義される。したがって、いくつかの実施形態において、スコア比率が２番目のスコアを第１のスコアで割ったものとなることがある。特筆しておくが、完全な一致においてゼロとなり、相関関係がないと1024となる（例えば、上述したS’スコアを縮尺したもの）ようにスコアを定義した場合、第１のタッチの平均スコアは代わりに1024-950=74となり、潜在的な２番目のタッチの平均スコアは代わりに1024-600=424となり、そしてその比率は代わりに5.7となる。このことが示すように、1.9のような閾値を用いるということは、スコア定義の選択と結合しており、相関度に比例するように定義されたスコアにとって最も有用となっている。根底にある概念は、相関度は、1.9などの閾値係数より大きい数によって異なるものではない、ということである。異なる閾値係数を用いてもよいことは、理解されるべきである。従って、第１のタッチが平均スコア950を有しており、潜在的な２番目のタッチが平均スコア350を有している場合、スコア比率は2.7となり、上述した閾値基準には合致しない。他の比較方法や他の閾値を用いてもよいことは、理解されるべきである。一実施形態において、閾値基準に合致するためには、２番目のタッチの平均スコア（または相関度）は、第１のタッチの平均スコア（または相関度）の少なくとも１／２であることを必要とする。
【００５５】
ステップ５０６において、スコア比率が閾値基準に合致しない場合、シングルタッチイベントのみがなお存在することとなり、ステップ５００へと戻る。スコア比率が閾値基準に合致する場合、複数タッチ状態が起こっている。例えば２番目のタッチが発生した後の３フレームなどの遅延した報告により、２番目のタッチが本当のタッチイベントであると保証される。ステップ５０８において、プロセッサモジュール１２８がオペレーティングシステムに位置座標を報告してもよい。複数タッチのトラッキングが後述するように遂行されてもよい。追加的な潜在タッチイベントの識別および比較は、２番目の同時タッチイベントに限定されるものではなく、むしろ追加的な潜在タッチイベントに連続しておよび／または同時に適用してもよい、ということは理解されるべきである。
【００５６】
一旦、２番目のもしくは後続のタッチイベントが識別され、オペレーティングシステムに報告されると、プロセッサモジュール１２８は、識別されたタッチイベントのうち空間的に近い位置座標を検索してもよい。これにより、処理上の負荷を軽減でき、ユーザへの応答時間をより短く提供できる可能性を有する。図６には、確認されたタッチイベントに近似するイベント候補を局所的に検索する方法を示している。例えば、ユーザが回転やズームなどの、２つの指（もしくは他の物体）が同時にタッチパネル１０２に接触するような動きをしてもよい。ユーザは少なくとも１つのタッチポイントを動かすが、それほど速くないので、プロセッサモジュール１２８は、フレームからフレームへの局所的な動きを追跡することができない。一実施形態において、プロセッサモジュール１２８は、局所的検索の間、図４Ｂのストリームの構築を中止してもよい。このようなことは、予想される最大数、たとえば２つなど、の同時タッチが検出された場合に起こってもよい。他の実施形態において、追加的な同時タッチが認められる場合、プロセッサモジュール１２８は、局所的な検索に代えて、もしくは局所的な検索に加えて、全てのベストマッチを再検討し続けてもよく、そしてテーブル４００を更新してもよい。
【００５７】
ステップ６００において、プロセッサモジュール１２８は、第１のタッチと、ストリーム４５２に対応する２番目のタッチのような、一つの後続タッチを識別する。いくつかの実施形態において、３番目のタッチおよび／または４以上の同時タッチがあってもよい。後述の例においては、２つの同時タッチについて述べる。
【００５８】
ステップ６０２において、プロセッサモジュール１２８は、それぞれの有効タッチの周りの近似範囲、たとえばＰ×Ｐマトリクスなど、を定義する。当該Ｐ×Ｐマトリクスは、有効なタッチの位置座標を中心として、それぞれ３×３グリッドポイントのものであったり、２４ミリメートルや１インチ、その他の距離の直径を有するものであったりしてもよい。Ｐ×Ｐマトリクスのサイズは、タッチパネル１０２の大きさや、サンプリングやフレームレートの時間、ユーザによって定義されるアクティブアプリケーションなどに基づいてもよい。最後に識別された位置座標が用いられてもよい。例えば、最後に取得したデータフレームが図４Ｂの行４２６に対応する場合、位置４７２および位置４７５に格納された位置座標が用いられる。いくつかの実施形態において、Ｐ×Ｐマトリクスが正方形でもよいが、その形やサイズは本明細書で開示される実施形態に限定されるものではない。
【００５９】
ステップ６０４において、プロセッサモジュール１２８は、次に取得したフレームデータに基づいてライブ指紋を構築し（図３のステップ３２６）、Ｍ個に到るまで位置座標を識別する（図３のステップ３１４−３２２）。ステップ６０６において、それぞれの有効タッチについて、プロセッサモジュール１２８は、Ｍ個の位置座標の一つがＰ×Ｐマトリクスの１つの中であって時間閾値内に存在するか否かを決定する。前述した様に、時間閾値は１フレームや３フレームといったようなフレーム数に基づいていてもよい。また、他の時間閾値が用いられてもよい。時間閾値内であって各Ｐ×Ｐマトリクスの中にベストマッチが見つかった場合、ステップ６０８において、プロセッサモジュール１２８は各タッチポイントの新たな位置座標をオペレーティングシステムに報告する。そして、ステップ６０２に戻る。
【００６０】
ステップ６０６において、ベストマッチがいずれのＰ×Ｐマトリクス内にも位置しなかった場合、プロセッサモジュール１２８は図３のステップ３００へと戻る。ベストマッチがＰ×Ｐマトリクスの一つの中に位置する場合、ステップ６１０において、プロセッサモジュール１２８はシングルタッチイベントの新たな位置座標をオペレーティングシステムへ報告して、図３のステップ３１６へ戻ってもよい。２以上の有効タッチイベントがステップ６００において識別された場合など、Ｐ×Ｐマトリクスのそれぞれが関連するベストマッチを有している場合、ステップ６１２において、プロセッサモジュール１２８は同時タッチイベントの新たな位置座標を報告して、ステップ６０２および／またはステップ３１６へと戻っても良い。プロセッサモジュール１２８は、システム１００、オペレーティングシステム、その時アクティブである特定のアプリケーションなどの性能に基づいて、追加タッチイベントの検索を続けてもよい。
【００６１】
図７は、２つの異なる音響指紋が同じデータフレームに基づいて生成される、冗長な検証を用いた、同時タッチを検出する代替的な実施形態を示す。例えば、図２におけるシステム２００が用いられてもよく、３つのセンサ２０４、２０６、２０８が各々異なる信号を生成する。ステップ７００において、プロセッサモジュール１２８は、同じデータフレームに基づいて２つのライブ指紋を構築する。たとえば、１つ目のライブ指紋がセンサ２０４およびセンサ２０６間の位相差プロファイルに基づいて構築されてもよく、２つ目のライブ指紋がセンサ２０６およびセンサ２０８間の位相差プロファイルに基づいて構築されてもよい。他の実施形態において、1つの音響指紋が振幅比を用いて構築され、もう一方の音響指紋が位相差を用いて構築されるといったように、２つの音響指紋が構築されてもよい。１つの、あるいは両方の音響指紋を構築するために、他の異なる音響指紋構築方法および組み合わせが用いられてもよい。２つ以上の音響指紋を用いることにより、小さなスクリーンにおけるノイズ感受性の問題がより良く対処される。また、３つ以上の音響指紋が構築されてもよい。概して、より多くの数のライブ指紋は、より高程度に冗長な情報を提供し、そして、冗長な検証のアルゴリズムを用いて真実のタッチ座標を検証し誤ったタッチ座標を拒否するより多くの機会を提供する。より多くの数のライブ指紋を提供する方法の１つとして、センサ基板に更なるピエゾを追加したり、より多くのピエゾ信号チャネルを電子回路に追加したりし、そして、追加されたピエゾ信号の対の候補間の位相差および／または振幅比を計算する、という方法がある。たとえば、図２において、センサ２０４、２０６、２０８に加えて、ピエゾもしくは他のセンサや電気信号チャネルを追加的に加えてもよい。特定のアプリケーションの要請に基づいて、追加したピエゾや電子信号チャネルなどの、追加される負担および／または追加される計算負荷が、同時タッチのパフォーマンス向上により正当化され得る。このことは、とりわけ、３つ以上の同時タッチをサポートする必要のあるアプリケーションについて当てはまり得る。
【００６２】
ステップ７０２において、プロセッサモジュール１２８は、１つ目のライブ指紋を、校正ファイル１３８に含まれるようなテンプレート指紋と比較する。そして、ステップ７０４において、プロセッサモジュール１２８は、２つ目のライブ指紋を、校正ファイル１６４のような異なる校正ファイルに含まれるテンプレート指紋と比較する。
【００６３】
ステップ７０６およびステップ７０８において、プロセッサモジュール１２８は、１つ目および２つ目のライブ指紋のそれぞれについて、Ｍ個のベストマッチを識別する。ステップ７１０において、プロセッサモジュール１２８は、冗長な検証の基準に基づいて、１つ目のライブ指紋のベストマッチと２つ目のライブ指紋のベストマッチを組み合わせる。冗長な検証の基準は、例えば、２つのベストマッチの位置座標間の最大距離であってもよい。プロセッサモジュール１２８は、従って、１つ目のライブ指紋に関連付けられるベストマッチのそれぞれの位置座標と、２つ目のライブ指紋に関連付けられるベストマッチのそれぞれの位置座標とを比較してもよい。２つの位置座標間の距離が距離閾値よりも小さい場合、その２つの位置座標は対となる。他の冗長な検証の方法が用いられてもよいことは、理解されるべきである。
【００６４】
ステップ７１２において、対が一つも識別されなかった場合、その近傍にはマッチは存在せず、そしてタッチパネル２０１上にタッチは存在しない。そして、ステップ７００へと戻る。ステップ７１４において、１つの対が識別された場合、次にステップ７１６において、スコアおよび／または相関度がシングルタッチの基準に合致した場合、プロセッサモジュール１２８は、シングルタッチイベントの座標をオペレーティングシステムへと報告する。そして、ステップ７００へと戻る。
【００６５】
２以上の組み合わせが識別された場合、ステップ７１８において、プロセッサモジュール１２８は、スコアが互いにどのくらい近似しているかを決定するために、平均スコアの比率を閾値と比較する。再び述べるが、相関度がスコアに代わって用いられてもよい。１対の組み合わせのベストマッチに関連付けられるスコアは平均されてもよく、そして他の１対の組み合わせのベストマッチに関連付けられるスコアも平均してもよい。一実施形態において、プロセッサモジュール１２８は既に、タッチパネル２０１上の最初のタッチである、１つの第１のタッチを識別している。これにより、思いもよらないことに、１つの時間フレーム、２３ミリ秒であってもよい、などの同じ計測時間区切りの間に、タッチパネル２０１上の２つの全く異なる位置にユーザが実際にタッチを開始する、ということが起こる。前述した様に、同時タッチのスコアは、シングルタッチを識別するのに用いられるパラメータに含まれなくてもよい。他の実施形態において、第１のタッチがまだ識別されていない場合、より良いスコアを有する組み合わせを、第１のタッチとして割り当ててもよい。
【００６６】
スコア比率が閾値基準に合致しない場合、ステップ７２０において、プロセッサモジュール１２８は、第１のタッチをシングルタッチとして識別し、その座標をオペレーティングシステムへと報告する。いくつかの実施形態において、スコアおよび／または相関度がシングルタッチの基準に合致する場合、プロセッサモジュール１２８は、座標の報告のみしてもよい。そして、ステップ７００へ戻る。ステップ７１８において、スコア比率が閾値の条件に合致する場合、２以上のタッチが存在する。ステップ７２２において、プロセッサモジュール１２８は、組み合わせの両方の座標をオペレーティングシステムへ報告する。そしてステップ７００へと戻って、タッチパネル２０１全体について検出したベストマッチの組み合わせ作りを継続してもよく、そして／または、図６に示すような、識別された位置座標からの距離閾値に基づく局所的な検索を行っても良い。
【００６７】
ステップ７１８において、プロセッサモジュール１２８が、２つ以上の組み合わせと第１のタッチとを比較してもよい、ということは理解されるべきである。これにより、３つ以上の同時タッチを認識することが出来るようになる。また、Ｍの値はアプリケーションや可能性のあるタッチの数などによって異なってもよい。
【００６８】
図７の方法は、前に検出されたタッチに関連付けられるデータを有さないフレームを、さらに考慮に入れることがある。例えば、フレームが第１のタッチに対応するベストマッチの組み合わせを生成しない場合であっても、プロセッサモジュール１２８は、１つ、２つまたは３つのフレームについて第１のタッチの存在を報告し続けてもよい。３つ空のフレームがあるなどの、時間閾値を超えている場合、プロセッサモジュール１２８は第１のタッチの座標を報告することを中止しても良い。類似した処理が他の同時タッチに適応されてもよい。
【００６９】
図３および図５−７の方法は、従来はシングルタッチイベントのみを検出するために用いられていたデータを処理するものであるので、ハードウェアの変更無しに複数タッチ機能を得る様にタッチシステム１００およびタッチシステム２００を拡張するために、アルゴリズムやプログラムなどが、ダウンロード可能なプログラムまたは他の種類のソフトウェアの更新として、提供されてもよい。異なる方法として、ハードウェアの変更により、同時タッチの実施形態の少なくとも１つが実現されても良い。
【００７０】
これまでの説明は、例示を意図するものであり、限定的でないことは理解されるべきである。例えば、上述の実施形態（および／またはその特徴）は、互いに組み合わせて用いられてもよい。さらに、特定の状況または材料を本発明の教示に適合させるべく、本発明の範囲を逸脱することなく多くの修正が行われてもよい。本明細書の記述においては、本発明を開示するために最良の実施形態を含む実施例が用いられている。また、当業者が本発明を実施出来るためにも実施例が用いられており、任意のデバイスや任意のシステムを作ったり用いたりすること、および任意の組み込まれた方法を実行することを含む。本明細書に記述している材料の寸法および型式は、本発明のパラメータを定義するためのものであるが、これらは決して限定的なものではなく、例示的な実施形態である。上記の記述をあらためて考察すれば、当業者には、他の多くの実施形態が明らかになるであろう。したがって、本発明の範囲は、添付の請求の範囲を参照して、また請求の範囲が権利を与えられる範囲に相当する全ての範囲を参照して決定されるべきである。添付の請求の範囲において、平易な英語として用いられる「を含む（including）」および「において（in which）」という用語は、それぞれ「を含む（comprising）」「において（wherein）」という用語に相当する。さらに、添付の請求の範囲において、「第１の（first）」「第２の（second）」「第３の（third）」などの用語は、単なる標識として用いられるものであり、その対象に数値的要件を課すためのものではない。
【符号の説明】
【００７１】
１００・・・タッチシステム、
１０２・・・タッチパネル、
１０４・・・基板、
１０６、１０８、１１０、１１２・・・センサ、
１１４、１１６、１１８、１２０・・・トレース、
１２２・・・タッチスクリーンケーブル。
【図１】
2013506222.tif 000003
【図２】
2013506222.tif 000004
【図３】
2013506222.tif 000005
【図４Ａ】
2013506222.tif 000006
【図４Ｂ】
2013506222.tif 000007
【図４Ｃ】
2013506222.tif 000008
【図５】
2013506222.tif 000009
【図６】
2013506222.tif 000010
【図７】
2013506222.tif 000011
【国際調査報告】
2013506222.tif 000012
2013506222.tif 000013