(57)【特許請求の範囲】
【請求項１】
マルチタッチシステムであって、
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出する座標検出手段と、
今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定するタッチ座標ペア決定手段と、
決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するタッチ出力情報生成手段と、
今回と前回とで検出されたタッチ座標の数を比較する比較手段と、
を備え、
前記タッチ座標ペア決定手段は、今回と前回とで検出されたタッチ座標の数が同じの場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定する、
ことを特徴とするマルチタッチシステム。
【請求項２】
前記タッチ座標ペア決定手段は、
今回と前回とで検出されたタッチ座標の数が異なる場合には、前記今回及び前回検出されたタッチ座標をそのまま用いて、今回のタッチ座標又は前回のタッチ座標と、該今回のタッチ座標又は前回のタッチ座標に近い前回のタッチ座標又は今回のタッチ座標と、をペアとして順次決定し、
今回と前回とで検出されたタッチ座標の数が同じの場合には、前記今回と前回との重心座標を相殺した上で、前回のタッチ座標と該前回のタッチ座標に近い今回のタッチ座標とをペアとして順次決定する、
ことを特徴とする請求項１に記載のマルチタッチシステム。
【請求項３】
前記タッチ座標ペア決定手段は、今回と前回とで検出されたタッチ座標の数が同じの場合に、
サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定することを特徴とする請求項１又は２に記載のマルチタッチシステム。
【請求項４】
前記タッチ座標ペア決定手段は、今回と前回とで検出されたタッチ座標の数が同じの場合に、
今回検出されたタッチ座標の数が所定数よりも多いときには、前記今回と前回との重心座標を相殺した上での前記タッチ座標のペア決定を行い、
今回検出されたタッチ座標の数が前記所定数以下のときには、前記今回と前回との重心座標を相殺した上で、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定する、
ことを特徴とする請求項１乃至３の何れかに記載のマルチタッチシステム。
【請求項５】
マルチタッチシステムのタッチ座標ペア決定方法であって、
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおいて、前記タッチ座標ペアを決定するための方法であって、
今回と前回とで検出されたタッチ座標の数を比較する工程と、
今回と前回とで検出されたタッチ座標の数が同じの場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定する工程、
を備えることを特徴とするタッチ座標ペア決定方法。
【請求項６】
マルチタッチシステムのタッチ座標ペア決定プログラムであって、
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおけるコンピュータに、
今回と前回とで検出されたタッチ座標の数を比較させることと、
今回と前回とで検出されたタッチ座標の数が同じの場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定させることと、
を実行させるためのタッチ座標ペア決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタッチシステム、タッチ座標ペア決定方法及びタッチ座標ペア決定プログラムに関する。
【背景技術】
【０００２】
最近のタブレットＰＣやスマートフォン等の携帯型電子機器やノートＰＣ等の可搬型電子機器にはマルチタッチ対応のディスプレイが標準で搭載され、また、デスクトップＰＣ等の非可搬型電子機器でも外付けのマルチタッチディスプレイを接続できたりできるように構成されてきている。
【０００３】
このようなマルチタッチを実現するマルチタッチシステムでは、ユーザによるマルチタッチ操作の誤認識を減らすことが重要であり、特許文献１の提案をはじめとして、様々な提案がなされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１８６６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチタッチシステムでは、タッチセンサにより複数のタッチ座標を検出し、各タッチ座標の時間的な変化に基づいて、ユーザのタッチ操作を認識する。即ち、所定のサンプリングレートで複数のタッチ座標を検出し、個々のタッチ座標がどう変化したかを判別することが必要である。そのためには、今回検出した複数のタッチ座標各々に対する前回のタッチ座標を正しく対応付けする、つまり、正しいタッチ座標のペアを決定しなければならない。
【０００６】
ここで、サンプリングレートが低い場合には、サンプリング間にタッチ座標が大きく移動する恐れがあり、今回のタッチ座標に対して本来ペアとして決定されなければならないタッチ座標よりも近い前回のタッチ座標が存在して、タッチ座標のペア決めを誤る可能性がある。
【０００７】
そのため、従来のマルチタッチシステムは、高いサンプリングレートでタッチ状態を検出可能なタッチセンサと、短いサンプリング間隔において複数のタッチ座標間の関係を判定してペアを決定する処理を実施し得る高い演算能力のコントローラとを必要とし、これは、システムコストを上昇させてしまうこととなっている。
【０００８】
そこで、本発明は、サンプリングレートが低くても、今回と前回のマルチタッチ座標のペアを正確に決定できるマルチタッチシステム、タッチ座標ペア決定方法及びタッチ座標ペア決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を果たすため、本発明の一態様によれば、マルチタッチシステムは、所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出する座標検出手段と、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定するタッチ座標ペア決定手段と、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するタッチ出力情報生成手段と、今回と前回とで検出されたタッチ座標の数を比較する比較手段と、を備え、前記タッチ座標ペア決定手段は、今回と前回とで検出されたタッチ座標の数が同じの場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定する。
前記目的を果たすため、本発明の一態様によれば、マルチタッチシステムのタッチ座標ペア決定方法は、所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおいて、前記タッチ座標ペアを決定するための方法であって、今回と前回とで検出されたタッチ座標の数を比較する工程と、今回と前回とで検出されたタッチ座標の数が同じの場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定する工程、を備える。
前記目的を果たすため、本発明の一態様によれば、マルチタッチシステムのタッチ座標ペア決定プログラムは、所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおけるコンピュータに、今回と前回とで検出されたタッチ座標の数を比較させることと、今回と前回とで検出されたタッチ座標の数が同じの場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定させること、を実行させる。
【発明の効果】
【００１０】
本発明によれば、サンプリングレートが低くても、今回と前回のマルチタッチ座標のペアを正確に決定できるマルチタッチシステム、タッチ座標ペア決定方法及びタッチ座標ペア決定プログラムを提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係るマルチタッチシステムのブロック構成図である。
【図２】２Ｄセンサ情報の例を示す図である。
【図３Ａ】タッチ数不変（３個→３個）の場合のタッチ出力情報の例を示す図である。
【図３Ｂ】タッチ数増加（３個→４個）の場合のタッチ出力情報の例を示す図である。
【図３Ｃ】タッチ数減少（４個→３個）の場合のタッチ出力情報の例を示す図である。
【図４】コントローラの２Ｄセンサ情報取込完了割込による動作を説明するためのフローチャートを示す図である。
【図５】（Ａ）は今回タッチ情報を説明するための図であり、（Ｂ）は前回タッチ情報を説明するための図である。
【図６】（Ａ）はタッチ数増加の場合におけるコントローラの簡易マッチング動作を説明するためのフローチャートを示す図であり、（Ｂ）はこの簡易マッチング動作を説明するための図である。
【図７】（Ａ）はタッチ数減少の場合におけるコントローラの簡易マッチング動作を説明するためのフローチャートを示す図であり、（Ｂ）はこの簡易マッチング動作を説明するための図である。
【図８】（Ａ）はタッチ数不変の場合における簡易マッチング動作を説明するためのフローチャートを示す図であり、（Ｂ）はこの簡易マッチング動作を説明するための図である。
【図９】タッチセンサ被検出面上のタッチ座標の時間的変化を表す図である。
【図１０】（Ａ）は図９の例におけるサンプリングレートが３０回／秒の場合の前回タッチ座標を示す図であり、（Ｂ）は図９の例におけるサンプリングレートが２１０回／秒の場合の前回タッチ座標を示す図であり、（Ｃ）は図９の例における今回タッチ座標を示す図である。
【図１１】（Ａ）は図９の例におけるサンプリングレートが２１０回／秒の場合にＡ６，Ｂ６，Ｃ６の順で取り出したときの簡易マッチングの動作を表す図であり、（Ｂ）は図９の例におけるサンプリングレートが２１０回／秒の場合にＣ６，Ｂ６，Ａ６の順で取り出したときの簡易マッチングの動作を表す図である。
【図１２】（Ａ）は図９の例におけるサンプリングレートが毎秒３０回の場合にＡ０，Ｂ０，Ｃ０の順で取り出したときの簡易マッチングの動作を表す図であり、（Ｂ）は図９の例におけるサンプリングレートが毎秒３０回の場合にＣ０，Ｂ０，Ａ０の順で取り出したときの簡易マッチングの動作を表す図である。
【図１３】（Ａ）はタッチ数不変の場合におけるコントローラの総当たりマッチング動作を説明するためのフローチャートを示す図であり、（Ｂ）はタッチ遷移の全組合せを説明するための図であり、（Ｃ）はｎ＝３の場合のタッチ間距離テーブルを示す図であり、（Ｄ）はｎ＝３の場合のタッチ間距離合計テーブルを示す図である。
【図１４】（Ａ）は図９の例におけるサンプリングレートが毎秒３０回の場合の前回のタッチ座標を示す図であり、（Ｂ）は図９の例におけるサンプリングレートが毎秒３０回の場合の今回のタッチ座標を示す図であり、（Ｃ）はタッチ遷移の全組合せを説明するための図であり、（Ｄ）は図９の例におけるタッチ間距離テーブルを示す図であり、（Ｅ）は図９の例におけるタッチ間距離合計テーブルを示す図である。
【図１５】（Ａ）は本発明の第２実施形態に係るマルチタッチシステムのコントローラのタッチ数不変の場合における重心相殺マッチング動作を説明するためのフローチャートを示す図であり、（Ｂ）はこの重心相殺マッチング動作を説明するための図である。
【図１６Ａ】（Ａ）は図９の例におけるサンプリングレートが３０回／秒の場合の前回タッチ座標を示す図であり、（Ｂ）は図９の例におけるサンプリングレートが２１０回／秒の場合の前回タッチ座標を示す図であり、（Ｃ）は図９の例における今回タッチ座標を示す図である。
【図１６Ｂ】（Ａ）は図９の例におけるサンプリングレートが３０回／秒の場合の前回重心座標を示す図であり、（Ｂ）は図９の例におけるサンプリングレートが２１０回／秒の場合の前回重心座標を示す図であり、（Ｃ）は図９の例における今回重心座標を示す図である。
【図１６Ｃ】（Ａ）は図９の例におけるサンプリングレートが３０回／秒の場合の前回重心相殺座標を示す図であり、（Ｂ）は図９の例におけるサンプリングレートが２１０回／秒の場合の前回重心相殺座標を示す図であり、（Ｃ）は図９の例における今回重心相殺座標を示す図である。
【図１７】図９の例におけるサンプリングレートが３０回／秒の場合の三つの前回タッチ座標とそれらの重心座標Ｗ０及び三つの今回タッチ座標とそれらの重心座標Ｗ７を示す図である。
【図１８】図１７の各タッチ座標を、それぞれの重心座標Ｗ０，Ｗ７が原点になるように座標変換（平行移動）させたものを示す図である。
【図１９】（Ａ）は図９の例におけるサンプリングレートが２１０回／秒の場合にＡ６Ｄ，Ｂ６Ｄ，Ｃ６Ｄの順で取り出したときの重心相殺マッチングの動作を表す図であり、（Ｂ）は図９の例におけるサンプリングレートが２１０回／秒の場合にＣ６Ｄ，Ｂ６Ｄ，Ａ６Ｄの順で取り出したときの重心相殺マッチングの動作を表す図である。
【図２０】（Ａ）は図９の例におけるサンプリングレートが３０回／秒の場合にＡ０Ｄ，Ｂ０Ｄ，Ｃ０Ｄの順で取り出したときの重心相殺マッチングの動作を表す図であり、（Ｂ）は図９の例におけるサンプリングレートが３０回／秒の場合にＣ０Ｄ，Ｂ０Ｄ，Ａ０Ｄの順で取り出したときの重心相殺マッチングの動作を表す図である。
【図２１】（Ａ）は本発明の第３実施形態に係るマルチタッチシステムのコントローラのタッチ数不変の場合における重心相殺総当たりマッチング動作を説明するためのフローチャートを示す図であり、（Ｂ）は重心相殺遷移の全組合せを説明するための図であり、（Ｃ）はｎ＝３の場合の重心相殺距離テーブルを示す図であり、（Ｄ）はｎ＝３の場合の重心相殺距離合計テーブルを示す図である。
【図２２】（Ａ）は図１９の例におけるサンプリングレートが３０回／秒の場合の前回の重心相殺座標を示す図であり、（Ｂ）は図１９の例におけるサンプリングレートが３０回／秒の場合の今回の重心相殺座標を示す図であり、（Ｃ）はタッチ遷移の全組合せを説明するための図であり、（Ｄ）は図１９の例における重心相殺距離テーブルを示す図であり、（Ｅ）は図１９の例における重心相殺距離合計テーブルを示す図である。
【発明を実施するための形態】
【００１２】
［第１実施形態］
図１に示すように、本発明の第１実施形態に係るマルチタッチシステムとしてのタッチデバイス１は、タッチセンサ１１と、コントローラ１２と、メモリ１３と、から構成され、タブレットＰＣ本体２に接続されている。なお、コントローラ１２とメモリ１３は、タブレットＰＣ本体２内に配置しても良く、あるいはタブレットＰＣ本体２が備えるコントローラ及びメモリを兼用しても良いことは勿論である。
【００１３】
また、本実施形態は、タブレットＰＣに適用した場合を例に説明するものであるが、スマートフォン等の他の携帯型電子機器やノートＰＣ等の可搬型電子機器、さらには、デスクトップＰＣ等の非可搬型電子機器に対しても適用可能なことは勿論である。なお、タッチデバイス１のタッチ状態の検出原理については、感圧、静電、光学等どのようなものであってもよい。
【００１４】
タッチセンサ１１は、タブレットＰＣ本体２が備えるディスプレイ上に配置され、その被検出面である平面上にユーザが指Ｆをタッチしたり、その指Ｆをその平面上で滑らしたりすることで、その指Ｆの位置を示すタッチ座標を二次元（２Ｄ）センサ情報３としてコントローラ１２に出力する。
【００１５】
図２は、この２Ｄセンサ情報３の一例である。図２における白い部分が、ユーザの指Ｆがタッチセンサ１１の被検出面に接触している部分を表している。タッチセンサ１１は、所定の周期（サンプリングレート）で、これら被検出面に接触している指Ｆの位置を示すタッチ座標を検出するものであり、よって、タッチセンサ１１からは、２Ｄセンサ情報３が間欠的に出力される。ただし、図２はタッチ数５のマルチタッチの例を表している。
【００１６】
コントローラ１２は、メモリ１３に格納されたプログラムに従って、またメモリ１３をワークエリアとして使用して、タッチセンサ１１からの２Ｄセンサ情報３を解析し、その結果得られたタッチ出力情報４をタブレットＰＣ本体２に送信する。
【００１７】
ここで、タッチ出力情報４について説明する。図３Ａはタッチ数不変（３個→３個）の場合、図３Ｂはタッチ数増加（３個→４個）の場合、そして、図３Ｃはタッチ数減少（４個→３個）の場合、のそれぞれのタッチ出力情報４の例を示している。タッチ出力情報４は、イベント情報、個別認識情報（タッチＩＤ情報）及び座標情報の三種類の情報を備えている。イベント情報は、ユーザが当該タッチデバイス１に対して行った操作を表すものので、これには、開始イベント、更新イベント及び終了イベントの三種類がある。
【００１８】
開始イベントは、指Ｆをタッチセンサ１１の被検出面にタッチした瞬間に発生する。この際、新規に割り振られた個別認識情報と、開始されたタッチの座標情報と、が必要である。なお、この例では、個別認識情報が連番で割り振られているが、連番である必要は無く、重複しないことのみが必須である。そのため、新規に割り振られた個別認識情報は、このあと拘束され、このタッチ以外で使用されないようになっている。
【００１９】
更新イベントは、指Ｆのタッチセンサ１１の被検出面上へのタッチを保持している状態や、指Ｆをタッチしたままタッチセンサ１１の被検出面上を滑らした状態に発生する。この際、前回の開始イベントや更新イベントで使用したものと同じ個別認識情報と、更新されたタッチの座標情報と、が必要である。
【００２０】
終了イベントは、指Ｆをタッチセンサ１１の被検出面から離した瞬間に発生する。この際、いままで更新イベントなどで使用していた個別認識情報だけが必要である。このイベントのあと、その個別認識情報の拘束は解かれ、この拘束が解かれた個別認識情報は新たな開始イベントで割り振ることができるようになる。
【００２１】
次に、本実施形態に係るマルチタッチシステムとしてのタッチデバイス１の動作を説明する。
【００２２】
図４は、メモリ１３に格納されたコントローラ１２が実行するプログラムの一部である、間欠的な２Ｄセンサ情報３の取込完了割込サブルーチンプログラムのフローチャートを示している。このフローチャートの動作が、２Ｄセンサ情報３の取り込みが完了するたびに実行される。
【００２３】
コントローラ１２は、先ず、図２のような２Ｄセンサ情報３からタッチ領域を判別して、タッチ座標を取得する（ステップＳ１）。
【００２４】
具体的には、この際の処理は、タッチ状態の検出原理がどのようなものであったとしても、サンプリングレート内で行われるべき、２値化、ノイズ除去、ラベリング（タッチ数の認識）等の処理であるが、これらの処理は、タッチデバイスの解像度に応じて行われる重いものであり、システムコストを下げるためには、サンプリングレートを適切に下げることが望まれる。図２に示す２Ｄセンサ情報３の例では、白い部分として示される５つの領域がタッチ領域として判別される。そして、これら５つのタッチ領域各々の代表値を求める、例えば各々のタッチ領域の重心を計算し、その座標をタッチ座標とする。図２に白い部分中に点として示している位置が、この代表値の位置を表している。
【００２５】
次に、コントローラ１２は、得られたタッチ座標を、メモリ１３に構成した今回容器５に入れる（ステップＳ２）。すなわち、今回容器５は、図５（Ａ）に示すように、前記タッチ出力情報４と同様の構成で今回タッチ情報５１を格納するようになっており、取得したタッチ座標を今回タッチ情報５１として格納する。ただし、この時点では、イベント情報及び個別認識情報は未だ設定されていないため、ヌルとなっている。なお、今回タッチ情報５１の左端に付した数字は、各タッチ情報を区別するためのものであり、この図の例ではｎ個の今回タッチ情報となっている。もし、図２のような２Ｄセンサ情報３が取り込まれたのであれば、ｎ＝５となる。なお、この今回容器５は、その中から今回タッチ情報５１が取り出されると、その情報は該今回容器５の中から消去されるように処理されるものとする。
【００２６】
次に、コントローラ１２は、メモリ１３に構成した図示しないタッチ出力情報容器に格納されている現在のタッチ出力情報４のうち、個別認識情報と座標情報との組を、メモリ１３に構成した前回容器６に入れる（ステップＳ３）。この際、イベント情報は不要である。また、イベント情報の種類が終了のものも不要である。すなわち、図５（Ｂ）に示すように、前回容器６は、前記タッチ出力情報４と同様の構成で前回タッチ情報６１を格納するようになっており、この時点では、イベント情報が転記されないので、ヌルとなっている。なお、前回タッチ情報６１の左端に付した数字は、各タッチ情報を区別するためのものであり、この図の例ではｍ個の前回タッチ情報となっている。もし、前回タッチ数が今回と同じであれば、ｍ＝５となる。なお、この前回容器６は、その中から前回タッチ情報６１が取り出されると、その情報は該前回容器６の中から消去されるように処理されるものとする。
【００２７】
次に、コントローラ１２は、タッチ数の増減を判別し、その増減の種類により三つに分岐する（ステップＳ４）。すなわち、今回容器５の中の今回タッチ情報５１の数ｎが前回容器６の中の前回タッチ情報６１の数ｍよりも多いときには増加に、少ないときには減少に、同じときには不変に、それぞれ分岐する。分岐先では、それぞれの前回タッチと今回タッチのマッチングを行う。
【００２８】
ここで、マッチングとは、タッチセンサ１１の被検出面にタッチしている指Ｆを滑らしたときに前回と今回とで同じ指Ｆであることを認識し、つまり、今回タッチ座標と前回タッチ座標についてのタッチ座標ペアを決定し、ペア決定された今回タッチ座標を持つ今回タッチ情報５１と前回タッチ座標を持つ前回タッチ情報６１とで個別認識情報を保持するということである。個別認識情報が同じであるということは、同一の指Ｆをタッチセンサ１１上で滑らしていることを意味する。指Ｆが違っていると認識してしまうと、タブレットＰＣは正しく操作できなくなってしまう。タッチ数が１の場合は間違えようがないが、２以上の場合は間違える可能性がある。これをできるだけ間違わないようにする必要があり、本発明はその手法に関する。
【００２９】
タッチ数が増加の場合には、コントローラ１２は、タッチ数増加マッチングを実施する（ステップＳ５）。このタッチ数増加マッチングでは、図６（Ａ）に示すような手法を実施する。ここでは、簡易マッチング手法と呼ぶことにする。
【００３０】
すなわち、先ず、前回容器６に未だ前回タッチ情報があるか否かを判別する（ステップＳ５１）。前述したように、前回容器６は、その中から前回タッチ情報６１が取り出されると、その情報は消去されるようになっている。
【００３１】
そして、未だ前回容器６に前回タッチ情報があれば、前回容器６から前回タッチ情報６１を１個取り出す（ステップＳ５２）。すなわち、図６（Ｂ）に示すように、前回タッチ情報「Ａ」を取り出す。このとき、取り出す順番は特に限定しない（順不同）。そして、この取り出した前回タッチ情報６１（「Ａ」）との距離が最小の今回タッチ情報５１「（Ｂ）」を、今回容器５から１個取り出す（ステップＳ５３）。即ち、前回タッチ情報６１が持つ前回のタッチ座標と該前回のタッチ座標に近い今回タッチ情報５１の今回のタッチ座標とをペアとして決定する。
【００３２】
その後、前記取り出した今回タッチ情報５１「（Ｂ）」の個別認識情報に、この取り出した前回タッチ情報６１（「Ａ」）の個別認識情報を引き継がせ、また、前記取り出した今回タッチ情報５１「（Ｂ）」のイベント情報に更新イベントを作成して、完成した今回タッチ情報５１をタッチ出力情報４としてメモリ１３の図示しないタッチ出力情報容器に格納する（ステップＳ５４）。つまり、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係に基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報４を生成するものである。
【００３３】
このようにして、２つのタッチ情報「Ａ」と「Ｂ」とをマッチングさせる。
【００３４】
これを前回タッチ数だけ繰り返すと、前回容器６から前回タッチ情報が無くなる。この場合には、前記ステップＳ５１でＮＯに進み、今回容器５に残っている今回タッチ情報５１の各々に対して、新規個別認識情報を発行し、イベント情報にタッチ開始イベントを作成して、完成した今回タッチ情報５１をタッチ出力情報４としてメモリ１３の図示しないタッチ出力情報容器に格納する（ステップＳ５５）。つまり、決定されなかった今回タッチ座標に基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報４を生成する。このように、どの前回タッチ情報６１とも距離が大きい今回タッチ情報５１が最後まで残り、これが増加分のタッチ出力情報４となる。
【００３５】
また、タッチ無しの状態つまり前回タッチ数がゼロの状態から新規のタッチがあった場合もこの図６（Ａ）のフローチャートを実行する。つまり、最初の分岐で直ぐにＮＯに進むので、マッチング（更新イベント）は無し、開始イベントのみが作成される。
【００３６】
一方、タッチ数が減少の場合には、コントローラ１２は、タッチ数減少マッチングを実施する（ステップＳ６）。このタッチ数減少マッチングでは、図７（Ａ）に示すような、簡易マッチング手法を実施する。このタッチ数減少マッチングでの簡易マッチング手法は、前記上記タッチ数増加マッチングでの簡易マッチング手法と似ているが、容器から情報を取り出す順番が異なる。
【００３７】
すなわち、先ず、今回容器５に未だ今回タッチ情報があるか否かを判別する（ステップＳ６１）。前述したように、今回容器５は、その中から今回タッチ情報５１が取り出されると、その情報は消去されるようになっている。
【００３８】
そして、未だ今回容器５に今回タッチ情報があれば、今回容器５から今回タッチ情報５１を１個取り出す（ステップＳ６２）。すなわち、図７（Ｂ）に示すように、今回タッチ情報「Ｂ」を取り出す。このとき、取り出す順番は特に限定しない（順不同）。そして、この取り出した今回タッチ情報５１（「Ｂ」）との距離が最小の前回タッチ情報６１「（Ａ）」を、前回容器６から１個取り出す（ステップＳ６３）。即ち、今回タッチ情報５１が持つ今回のタッチ座標と該今回のタッチ座標に近い前回タッチ情報６１の前回のタッチ座標とをペアとして決定する。
【００３９】
その後、前記取り出した今回タッチ情報５１「（Ｂ）」の個別認識情報に、この取り出した前回タッチ情報６１（「Ａ」）の個別認識情報を引き継がせ、また、前記取り出した今回タッチ情報５１「（Ｂ）」のイベント情報に更新イベントを作成して、完成した今回タッチ情報５１をタッチ出力情報４としてメモリ１３の図示しないタッチ出力情報容器に格納する（ステップＳ６４）。つまり、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係に基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報４を生成するものである。
【００４０】
このようにして、２つのタッチ情報「Ａ」と「Ｂ」とをマッチングさせる。
【００４１】
これを今回タッチ数だけ繰り返すと、今回容器５から今回タッチ情報が無くなる。この場合には、前記ステップＳ６１でＮＯに進み、前回容器６に残っている前回タッチ情報６１の各々に対して、座標情報を抹消し、イベント情報にタッチ終了イベントを作成して、完成した前回タッチ情報６１をタッチ出力情報４としてメモリ１３の図示しないタッチ出力情報容器に格納する（ステップＳ６５）。つまり、決定されなかった前回タッチ座標に基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報４を生成する。このように、どの今回タッチ情報５１とも距離が大きい前回タッチ情報６１が最後まで残り、これが減少分のタッチ情報となる。
【００４２】
また、前回タッチ情報６１数が１以上で且つ今回タッチ情報５１数がゼロの場合もこの図７（Ａ）のフローチャートを実行する。つまり、最初の分岐で直ぐにＮＯに進むので、マッチング（更新イベント）は無し、全ての座標情報を抹消し、終了イベントのみが作成される。
【００４３】
また、タッチ数が不変の場合には、コントローラ１２は、タッチ数不変マッチングを実施する（ステップＳ７）。
【００４４】
ここで、タッチ数不変マッチングの詳細を説明する前に、マッチング後の処理を先に説明する。すなわち、ステップＳ５、ステップＳ６又はステップＳ７の動作が終了したならば、コントローラ１２は、メモリ１３の図示しないタッチ出力情報容器に格納されているタッチ出力情報４をタブレットＰＣ本体２に送信する（ステップＳ８）。このようにして、マッチングで作成された更新、開始、終了の各イベント情報がここでタッチ出力情報４としてタブレットＰＣ本体２に一括送信される。そのため、送信の頻度は、２Ｄセンサ情報３のサンプリングレートに一致する。ただし、タッチ数がゼロで不変の場合はタッチ出力情報４が無いため、タッチ数ゼロの情報を送信するか、または送信そのものを行わないか等、システムによって方法が異なり、送信の頻度はこれによって変わる可能性がある。図４のステップＳ８は、このような処理も含むものとする。
【００４５】
そして、コントローラ１２は、本割り込みサブルーチンを終了する。
【００４６】
これらの一連の処理は、２Ｄセンサ情報３のサンプリングレートに対応する周期の期間内に完了する必要がある。つまり、コントローラ１２の処理能力、ソフトウェアの複雑さ、特にサンプリングレートの値は、上記制約が守られるように設計されなければならない。
【００４７】
以下、前記ステップＳ７のタッチ数不変マッチングについて説明する。  
このタッチ数不変マッチングでは、前記タッチ数増加マッチングやタッチ数減少マッチングのような簡易マッチング手法とは異なるマッチング手法を採用する。
【００４８】
その理由を説明するために、先ず、タッチ数不変マッチングにおいて簡易マッチング手法を採用した場合を説明する。これは、図８（Ａ）及び（Ｂ）に示すように、図６（Ａ）及び（Ｂ）のタッチ数増加マッチングの場合とほとんど同じである。異なる部分は、タッチ開始イベントが無いことである。すなわち、ステップＳ７１乃至ステップＳ７４は、前述したステップＳ５１乃至ステップＳ５４と同様である。そして、前回容器６から前回タッチ情報が無くなると、つまりステップＳ７１でＮＯに進むと、直ちに本タッチ数不変マッチングの処理を終了し、前記ステップＳ８に進むことになる。なお、タッチ数がゼロで不変の場合も、この図８（Ａ）のフローチャートを実行することになるが、最初の分岐で直ぐにＮＯに進むので、この場合は、イベントの作成は無しとなる。
【００４９】
コントローラ１２へは、タッチセンサ１１から２Ｄセンサ情報３が間欠的に供給される。このような簡易マッチング手法を採用した場合、この２Ｄセンサ情報３の供給の周期が短い（サンプリングレートが高い）ならば、複数タッチ時のタッチ個別認識（タッチＩＤ）を正しく判別できる。なぜならば、タッチ座標の周期間での変化（移動）が小さいからである。しかし、２Ｄセンサ情報３の供給の周期が長い（サンプリングレートが低い）と、タッチ個別認識（タッチＩＤ）を正しく判別できない場合がある。なぜならば、タッチ座標の周期間での変化（移動）が大きい場合があるからである。サンプリングレートが毎秒１００以上、理想的には２００回／秒以上であれば、タッチ個別認識をほぼ正しく判別できる。しかし、サンプリングレートが毎秒１００回未満、例えば３０回／秒程度だと、タッチ個別認識を正しく判別できなくなる可能性が高くなる。ただし、これらのサンプリングレートの値は、人間の指Ｆの動かす速さと、タッチデバイス１（タッチセンサ１１）の大きさにより変化するものである。
【００５０】
以下、実際の例に基づいて、これを詳しく説明する。  
図９は、タッチセンサ１１の被検出面上のタッチ座標の時間的変化を表している。この例は、ユーザが３本の指Ｆをタッチしながら左から右にわずかに弧を描いて滑らせている状態である。ここで、Ａ，Ｂ，Ｃは異なる指Ｆを示し、添え字の０〜７はサンプリングレートが２１０回／秒の場合の軌跡を表している。従って、Ａ７，Ｂ７，Ｃ７が今回タッチ座標とすれば、サンプリングレート２１０回／秒の場合の前回タッチ座標はＡ６，Ｂ６，Ｃ６である。これに対して、Ａ０，Ｂ０，Ｃ０は、サンプリングレート３０回／秒の場合の前回タッチ座標に相当する。これは２１０回／秒の場合の７回前の座標と同じである。図１０（Ａ）、（Ｂ）及び（Ｃ）は、この３０回／秒の場合の前回タッチ座標、２１０回／秒の場合の前回タッチ座標及び今回タッチ座標を示している。
【００５１】
これら図１０（Ａ）、（Ｂ）及び（Ｃ）に示したタッチ座標の値により、図８（Ａ）のフローチャートに従った簡易マッチングを行うと、以下のようになる。
【００５２】
図１１（Ａ）及び（Ｂ）は、サンプリングレートが２１０回／秒の場合の簡易マッチングの動作を表している。前回容器６からの前回タッチ情報６１の取り出しは順不同なので、ここでは、図１１（Ａ）にＡ６，Ｂ６，Ｃ６の順で取り出す場合と、図１１（Ｂ）にＣ６，Ｂ６，Ａ６の順で取り出す場合との、二通りを示している。太線の四角形で囲っているのは距離が最小であることを示す。また×印は今回容器５から取り出し済みで存在しないことを意味する。図１１（Ａ）、図１１（Ｂ）ともに、前回タッチ座標Ａ６，Ｂ６，Ｃ６がそれぞれ今回タッチ座標Ａ７，Ｂ７，Ｃ７をマッチング対象として選択している、つまりタッチ座標ペアとして決定しているので、マッチング成功である。
【００５３】
これに対して、図１２（Ａ）及び（Ｂ）は、サンプリングレートが３０回／秒の場合の簡易マッチングの動作を表している。評価方法は２１０回／秒の場合と同じである。しかし、図１２（Ａ）では前回タッチ座標Ａ０，Ｂ０，Ｃ０に対して今回タッチ座標Ｂ７，Ｃ７，Ａ７を、また図１２（Ｂ）では同様に今回タッチ座標Ａ７，Ｃ７，Ｂ７をマッチング対象として選択してしまっていて、どちらもマッチング失敗である。つまり、タッチ座標ペアを正しく決定することができていない。
【００５４】
このように、簡易マッチング手法では、サンプリングレートが低いと、マッチングを正しく行えない恐れがある。
【００５５】
そこで、本実施形態では、タッチ数不変マッチングとして、図１３（Ａ）のフローチャートに示すような手法を実施する。ここでは、総当たりマッチング手法と呼ぶことにする。
【００５６】
先ず、コントローラ１２は、前回タッチ座標と今回タッチ座標とのタッチ間距離を全組合せについて計算する（ステップＳ７５）。例えばタッチ数が３の場合、タッチ遷移は図１３（Ｂ）のように６通り存在するが、重複する遷移があるので、計算すべき組合せは、図１３（Ｃ）のように９個である。コントローラ１２は、この図１３（Ｃ）に示すような計算を行い、その結果をメモリ１３に設けたタッチ間距離テーブル７３として格納する。
【００５７】
次に、タッチ間距離合計の全組合せを計算する（ステップＳ７６）。つまり、タッチ間距離テーブル７３に格納した各タッチ間距離合計を参照して、図１３（Ｂ）に示した各タッチ遷移での距離合計を求め、その結果をメモリ１３に設けたタッチ間距離合計テーブル７４に格納する。
【００５８】
そして、タッチ間距離合計が最小のものについて、今回タッチ情報５１の個別認識情報に、前回タッチ情報６１の個別認識情報を引き継がせ、また、今回タッチ情報５１のイベント情報に更新イベントを作成して、完成した今回タッチ情報５１をタッチ出力情報４としてメモリ１３の図示しないタッチ出力情報容器に格納する（ステップＳ７７）。つまり、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定し、決定したタッチ座標ペアの今回と前回のタッチ座標の位置関係に基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報４を生成する。
【００５９】
これを図９の例に当てはめると、サンプリングレートが３０回／秒の場合、前回タッチ座標７１及び今回タッチ座標７２は図１４（Ａ）及び（Ｂ）のようであり、タッチ遷移は図１４（Ｃ）のように６通り存在する。そして、タッチ間距離を全組合せについて計算すると、図１４（Ｄ）のタッチ間距離テーブル７３に示すようになり、タッチ間距離合計の全組合せは、図１４（Ｅ）のタッチ間距離合計テーブル７４のように計算される。よって、遷移１がタッチ間距離合計最小のものとなり、前回タッチ座標Ａ０と今回タッチ座標Ａ７、前回タッチ座標Ｂ０と今回タッチ座標Ｂ７、前回タッチ座標Ｃ０と今回タッチ座標Ｃ７、がそれぞれペアとして決定される、すなわち、正解が選択される。
【００６０】
以上のように、本第１実施形態では、今回と前回とで検出されたタッチ座標の数が不変の場合には、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定するようにしたことで、サンプリングレートが低くても、今回と前回のマルチタッチ座標のペアを正確に決定できる（認識の確度を高めることができる）ようになる。
【００６１】
これにより、低いサンプリングレートのタッチセンサや、あまり高くない演算能力のコントローラを用いることが可能となり、安価なシステムを提供することが可能となる。
【００６２】
なお、前記タッチ座標の数が不変の場合の距離の総和に基づくタッチ座標ペアの決定は、今回のタッチ座標と前回のタッチ座標との間の距離の総和が少なくなる組み合わせをタッチ座標のペアと決定するようにしたことで、今回と前回のマルチタッチ座標のペアを正確に決定できるようになる。
【００６３】
また、前記タッチ座標の数が不変の場合の距離の総和に基づくタッチ座標ペアの決定においては、前記今回のタッチ座標と前記前回のタッチ座標との間の全ての組み合わせに対してタッチ座標間の距離の総和を計算するようにしているので、今回と前回のマルチタッチ座標のペアとして誤った組合せが選択される可能性を少なくすることができる。
【００６４】
［第２実施形態］
次に、本発明の第２実施形態について説明する。なお、ここでは、前述の第１実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。
【００６５】
本実施形態は、タッチ数不変マッチングにおいて、総当たりマッチング手法を用いるのでは無く、別の手法を実施する。ここでは、重心相殺マッチング手法と呼ぶことにする。
【００６６】
図１５（Ａ）は、この重心相殺マッチング手順によるフローチャートを示しており、図１５（Ｂ）は、この重心相殺マッチング手順を説明するための図である。この重心相殺マッチング手順は、図８（Ａ）及び（Ｂ）に示した簡易マッチング手順とほとんど同じであるが、処理の最初の部分つまりステップＳ７１の処理を行う前に、重心相殺座標変換を行っている（ステップＳ７８）。この重心相殺座標変換の目的は、複数の前回タッチ座標の重心と複数の今回タッチ座標の重心とを重ね合わせるようにタッチの位置を平行移動させることである。また、ステップＳ７３の処理では、取り出した前回タッチ情報６１（「Ａ」）との距離が最小の今回タッチ情報５１「（Ｂ）」を、今回容器５から１個取り出すものとしていたが、取り出した前回タッチ情報６１（「Ａ」）との重心相殺距離が最小の今回タッチ情報５１「（Ｂ）」を、今回容器５から１個取り出す、ステップＳ７３’の処理に変更している。
【００６７】
以下、この重心相殺マッチング手順を、図９の具体的な例により説明する。ここでは、図１６Ａ（Ａ）、（Ｂ）及び（Ｃ）に示すように、図１０（Ａ）、（Ｂ）及び（Ｃ）と同様、３０回／秒の場合の前回タッチ座標７１、２１０回／秒の場合の前回タッチ座標７１及び今回タッチ座標７２が取得される。これらそれぞれのタッチ座標について、図１６Ｂ（Ａ）、（Ｂ）及び（Ｃ）に示すように、前回重心座標７５及び今回重心座標７６が算出される。そして、各タッチ座標から重心座標を減算することにより、重心を原点（０，０）に一致させることができる。これにより、図１６Ｃ（Ａ），（Ｂ）及び（Ｃ）に示すように、前回重心相殺座標７７及び今回重心相殺座標７８が算出される。
【００６８】
図１７は、サンプリングレートが３０回／秒の場合の三つの前回タッチ座標とそれらの重心座標Ｗ０を、また三つの今回タッチ座標とそれらの重心座標Ｗ７を、それぞれ示した図である。また、図１８は、重心が原点になるようにそれぞれを座標変換（平行移動）させたものである。重心相殺座標Ａ０Ｄ，Ｂ０Ｄ，Ｃ０Ｄがそれぞれ重心相殺座標Ａ７Ｄ，Ｂ７Ｄ，Ｃ７Ｄの近くにあり、これらの距離が小さいことがわかる。図１５（Ａ）の重心相殺距離とはこれらのことを意味している。なお、添え字Ｄは、重心相殺座標であることを意味している。
【００６９】
これら図１６Ｃ（Ａ）、（Ｂ）及び（Ｃ）に示した重心相殺座標の値により、図１５（Ａ）のフローチャートに従ったステップＳ７１乃至ステップＳ７４の処理を行うと、以下のようになる。
【００７０】
図１９（Ａ）及び（Ｂ）は、サンプリングレートが２１０回／秒の場合の結果を表している。前回容器６からの前回タッチ情報６１の取り出しは順不同なので、ここでは、図１９（Ａ）にＡ６Ｄ，Ｂ６Ｄ，Ｃ６Ｄの順で取り出す場合と、図１９（Ｂ）にＣ６Ｄ，Ｂ６Ｄ，Ａ６Ｄの順で取り出す場合との、二通りを示している。図１９（Ａ）、図１９（Ｂ）ともに、前回重心相殺座標Ａ６Ｄ，Ｂ６Ｄ，Ｃ６Ｄがそれぞれ今回重心相殺座標Ａ７Ｄ，Ｂ７Ｄ，Ｃ７Ｄをマッチング対象として選択している、つまりタッチ座標ペアとして決定しているので、マッチング成功である。
【００７１】
また、図２０（Ａ）及び（Ｂ）は、サンプリングレートが３０回／秒の場合の結果を表している。評価方法は２１０回／秒の場合と同じである。この場合も、２１０回／秒の場合と同様、マッチングに成功している。
【００７２】
これらの動作は、タッチする手を早く動かすとき指Ｆの相対的な動きは少ないという性質を利用している。
【００７３】
以上のように、本第２実施形態においては、今回と前回とで検出されたタッチ座標の数が不変の場合には、サンプリング毎の検出された複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定するようにしたことで、サンプリングレートが低くても、今回と前回のマルチタッチ座標のペアを正確に決定できるようになる。
【００７４】
これにより、低いサンプリングレートのタッチセンサや、あまり高くない演算能力のコントローラを用いることが可能となり、安価なシステムを提供することが可能となる。
【００７５】
なお、今回と前回とで検出されたタッチ座標の数が異なる場合には今回及び前回検出されたタッチ座標をそのまま用いて、今回のタッチ座標又は前回のタッチ座標と、該今回のタッチ座標又は前回のタッチ座標に近い前回のタッチ座標又は今回のタッチ座標と、をペアとして順次決定し、また、今回と前回とで検出されたタッチ座標の数が不変の場合には前記今回と前回との重心座標を相殺した上で、前回のタッチ座標と該前回のタッチ座標に近い今回のタッチ座標とをペアとして順次決定するようにしている。したがって、今回と前回とで検出されたタッチ座標の数が異なるか否かで重心座標の相殺を行うか否かが異なるだけで、タッチ数の変化の有無によらず簡易マッチング手法を用いることができ、コントローラ１２で実行するプログラムの複雑化を防止することができる。
【００７６】
また、複数の指Ｆの相対的な距離の変化を利用するピンチイン（複数の指Ｆの間隔を狭める動作）やピンチアウト（複数の指Ｆの間隔を広げる動作）と平行移動を同時に行うような複雑な操作でも、この重心相殺マッチング手法は良好にタッチ座標のペアを決定することができる。これは、純粋なピンチインやピンチアウトの動作が重心の移動を伴わないことに起因しているようである。
【００７７】
なお、ここでは、重心相殺は平行移動だけを例に説明したが、平行移動の後ある一定角度、重心を中心に前回または今回どちらか一方だけ各タッチ座標を回転させることも考えられる。この重心相殺マッチング手法は、図９のようなタッチの滑りが僅かに弧を描くような操作が常に行われるような場合、効果を発揮するだろう。
【００７８】
なお、タッチ数が増加または減少する際のマッチングでは、タッチ数が変化することによる重心座標の変化があるため、重心相殺マッチング手法は採らないほうがよい。
【００７９】
［第３実施形態］
次に、本発明の第３実施形態について説明する。本実施形態は、タッチ数不変マッチングにおいて、前記第１実施形態で説明した総当たりマッチング手法に第２実施形態のような重心相殺座標変換を組み合わせた手法を実施する。ここでは、重心相殺総当たりマッチング手法と呼ぶことにする。
【００８０】
図２１（Ａ）は、この重心相殺総当たりマッチング手順によるフローチャートを示しており、コントローラ１２は、先ず、重心相殺座標変換を行う（ステップＳ７８）。その後、前回重心相殺座標と今回重心相殺座標との重心相殺距離を全組合せについて計算する（ステップＳ７５’）。例えばタッチ数が３の場合、重心相殺遷移は図２１（Ｂ）のようになり、図２１（Ｃ）に示すような計算を行って、その結果をメモリ１３に設けた重心相殺距離テーブル７９として格納する。
【００８１】
次に、重心相殺距離合計の全組合せを計算する（ステップＳ７６’）。つまり、重心相殺距離テーブル７９に格納した各重心相殺距離合計を参照して、図２１（Ｂ）に示した各重心相殺遷移での距離合計を求め、その結果をメモリ１３に設けた重心相殺距離合計テーブル８０に格納する。
【００８２】
そして、重心相殺距離合計が最小のものについて、今回タッチ情報５１の個別認識情報に、前回タッチ情報６１の個別認識情報を引き継がせ、また、今回タッチ情報５１のイベント情報に更新イベントを作成して、完成した今回タッチ情報５１をタッチ出力情報４としてメモリ１３の図示しないタッチ出力情報容器に格納する（ステップＳ７７’）。
【００８３】
これを図９の例に当てはめると、サンプリングレートが３０回／秒の場合、前回重心相殺座標７７及び今回重心相殺座標７８は図２２（Ａ）及び（Ｂ）のようであり、重心相殺遷移は図２２（Ｃ）のように６通り存在する。そして、重心相殺距離を全組合せについて計算すると、図２２（Ｄ）の重心相殺距離テーブル７９に示すようになり、重心相殺距離合計の全組合せは、図２２（Ｅ）の重心相殺距離合計テーブル８０のように計算される。よって、遷移１が重心相殺距離合計最小のものとなり、前回タッチ座標Ａ０と今回タッチ座標Ａ７、前回タッチ座標Ｂ０と今回タッチ座標Ｂ７、前回タッチ座標Ｃ０と今回タッチ座標Ｃ７、がそれぞれペアとして決定される、すなわち、正解が選択される。
【００８４】
以上のように、本第３実施形態では、今回と前回とで検出されたタッチ座標の数が不変の場合には、サンプリング毎の検出された複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定するようにしたことで、サンプリングレートが低くても、今回と前回のマルチタッチ座標のペアを正確に決定できるようになる。
【００８５】
これにより、低いサンプリングレートのタッチセンサや、あまり高くない演算能力のコントローラを用いることが可能となり、安価なシステムを提供することが可能となる。
【００８６】
以上、実施形態を用いて本発明を説明したが、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【００８７】
例えば、マルチタッチ数の閾値を設け、その大小によりタッチ数不変マッチングにおけるマッチング手法を切り替えるようにしてもよい。例えば、タッチ数が４以下の場合、第１実施形態のような総当たりマッチング手法を実施し、タッチ数が５以上の場合には、第２実施形態のような重心相殺マッチング手法を実施する。これにより、演算能力が高くないコントローラ１２でも、今回と前回のマルチタッチ座標のペアを正確に決定できるようになる。
【００８８】
これは、タッチ数が多い場合、総当たりマッチングの組み合わせが多くなり、計算数が増えてしまうことを防ぐ上で有効である。
【００８９】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出する座標検出手段と、
今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定するタッチ座標ペア決定手段と、
決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するタッチ出力情報生成手段と、
を備え、
前記タッチ座標ペア決定手段は、
今回と前回とで検出されたタッチ座標の数が異なる場合には、今回のタッチ座標又は前回のタッチ座標と、該今回のタッチ座標又は前回のタッチ座標に近い前回のタッチ座標又は今回のタッチ座標とをペアとして順次決定し、
今回と前回とで検出されたタッチ座標の数が不変の場合には、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定する、
ことを特徴とするマルチタッチシステム。
［２］
前記タッチ座標ペア決定手段は、前記タッチ座標の数が不変の場合、前記今回のタッチ座標と前記前回のタッチ座標との間の距離の総和が少なくなる組み合わせを、前記タッチ座標のペアとして決定することを特徴とする［１］に記載のマルチタッチシステム。
［３］
前記タッチ座標ペア決定手段は、前記タッチ座標の数が不変の場合、前記今回のタッチ座標と前記前回のタッチ座標との間の全ての組み合わせに対してタッチ座標間の距離の総和を計算することを特徴とする［１］又は［２］に記載のマルチタッチシステム。
［４］
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出する座標検出手段と、
今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定するタッチ座標ペア決定手段と、
決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するタッチ出力情報生成手段と、
を備え、
前記タッチ座標ペア決定手段は、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定する、
ことを特徴とするマルチタッチシステム。
［５］
前記タッチ座標ペア決定手段は、
今回と前回とで検出されたタッチ座標の数が異なる場合には、前記今回及び前回検出されたタッチ座標をそのまま用いて、今回のタッチ座標又は前回のタッチ座標と、該今回のタッチ座標又は前回のタッチ座標に近い前回のタッチ座標又は今回のタッチ座標と、をペアとして順次決定し、
今回と前回とで検出されたタッチ座標の数が不変の場合には、前記今回と前回との重心座標を相殺した上で、前回のタッチ座標と該前回のタッチ座標に近い今回のタッチ座標とをペアとして順次決定する、
ことを特徴とする［４］に記載のマルチタッチシステム。
［６］
前記タッチ座標ペア決定手段は、今回と前回とで検出されたタッチ座標の数が不変の場合に、
サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定することを特徴とする［４］又は［５］に記載のマルチタッチシステム。
［７］
前記タッチ座標ペア決定手段は、今回と前回とで検出されたタッチ座標の数が不変の場合に、
今回検出されたタッチ座標の数が所定数よりも多いときには、前記今回と前回との重心座標を相殺した上での前記タッチ座標のペア決定を行い、
今回検出されたタッチ座標の数が前記所定数以下のときには、前記今回と前回との重心座標を相殺した上で、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定する、
ことを特徴とする［４］乃至［６］の何れかに記載のマルチタッチシステム。
［８］
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおいて、前記タッチ座標ペアを決定するための方法であって、
今回と前回とで検出されたタッチ座標の数を比較する工程と、
今回と前回とで検出されたタッチ座標の数が異なる場合には、今回のタッチ座標又は前回のタッチ座標と、該今回のタッチ座標又は前回のタッチ座標に近い前回のタッチ座標又は今回のタッチ座標とをペアとして順次決定する工程と、
今回と前回とで検出されたタッチ座標の数が不変の場合には、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定する工程と、
を備えることを特徴とするタッチ座標ペア決定方法。
［９］
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおいて、前記タッチ座標ペアを決定するための方法であって、
今回と前回とで検出されたタッチ座標の数を比較する工程と、
今回と前回とで検出されたタッチ座標の数が不変の場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定する工程と、
を備えることを特徴とするタッチ座標ペア決定方法。
［１０］
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおけるコンピュータに、
今回と前回とで検出されたタッチ座標の数を比較させることと、
今回と前回とで検出されたタッチ座標の数が異なる場合には、今回のタッチ座標又は前回のタッチ座標と、該今回のタッチ座標又は前回のタッチ座標に近い前回のタッチ座標又は今回のタッチ座標とをペアとして順次決定させることと、
今回と前回とで検出されたタッチ座標の数が不変の場合には、今回のタッチ座標と前回のタッチ座標との間の距離の総和に基づいてタッチ座標のペアを決定させることと、
を実行させるためのタッチ座標ペア決定プログラム。
［１１］
所定のサンプリングレートで、被検出面に対する複数のタッチ各々についてタッチ座標を検出し、今回及び前回検出された前記複数のタッチ座標に基づいて、今回検出されたタッチ座標と前回検出されたタッチ座標についてのタッチ座標ペアを決定し、決定されたタッチ座標ペアの今回と前回のタッチ座標の位置関係と決定されなかった今回または前回タッチ座標とに基づいて、ユーザが当該マルチタッチシステムに対して行った操作を表すタッチ出力情報を生成するマルチタッチシステムにおけるコンピュータに、
今回と前回とで検出されたタッチ座標の数を比較させることと、
今回と前回とで検出されたタッチ座標の数が不変の場合には、サンプリング毎の検出された前記複数のタッチ座標間の重心座標を求め、今回と前回との重心座標を相殺した上で、タッチ座標ペアを決定させることと、
を実行させるためのタッチ座標ペア決定プログラム。
【符号の説明】
【００９０】
１…タッチデバイス、  ２…タブレットＰＣ本体、  ３…二次元（２Ｄ）センサ情報、  ４…タッチ出力情報、  ５…今回容器、  ６…前回容器、  １１…タッチセンサ、  １２…コントローラ、  １３…メモリ、  ５１…今回タッチ情報、  ６１…前回タッチ情報、  ７１…前回タッチ座標、  ７２…今回タッチ座標、  ７３…タッチ間距離テーブル、  ７４…タッチ間距離合計テーブル、  ７５…前回重心座標、  ７６…今回重心座標、  ７７…前回重心相殺座標、  ７８…今回重心相殺座標、  ７９…重心相殺距離テーブル、  ８０…重心相殺距離合計テーブル。
【図１】
0006344083.tif 000002
【図２】
0006344083.tif 000003
【図３Ａ】
0006344083.tif 000004
【図３Ｂ】
0006344083.tif 000005
【図３Ｃ】
0006344083.tif 000006
【図４】
0006344083.tif 000007
【図５】
0006344083.tif 000008
【図６】
0006344083.tif 000009
【図７】
0006344083.tif 000010
【図８】
0006344083.tif 000011
【図９】
0006344083.tif 000012
【図１０】
0006344083.tif 000013
【図１１】
0006344083.tif 000014
【図１２】
0006344083.tif 000015
【図１３】
0006344083.tif 000016
【図１４】
0006344083.tif 000017
【図１５】
0006344083.tif 000018
【図１６Ａ】
0006344083.tif 000019
【図１６Ｂ】
0006344083.tif 000020
【図１６Ｃ】
0006344083.tif 000021
【図１７】
0006344083.tif 000022
【図１８】
0006344083.tif 000023
【図１９】
0006344083.tif 000024
【図２０】
0006344083.tif 000025
【図２１】
0006344083.tif 000026
【図２２】
0006344083.tif 000027