(57)【要約】タッチ・データーの曖昧さを除去し、タッチ・センサーによって検出されたタッチ・ポイントのユーザー割り当てを判定する技法について記載する。この技法は、軸上に投射されたユーザー特定のタッチ・データー、および完全なエリアにわたって取り込まれた非ユーザー特定のタッチ・データーの双方を利用する。【選択図】図８
2014504773.tif 000002
【特許請求の範囲】
【請求項１】
タッチ・データーのユーザー割り当ての曖昧さを除去し、少なくとも１つのタッチ・ポイントを、特定のユーザーによって行われたタッチに対応するものとする識別を伝える方法であって、前記少なくとも１つのタッチ・ポイントが、容量性タッチ・センサーによって検出された複数のタッチ・ポイントから識別され、前記容量性タッチ・センサーが、行に配列された第１導体アレイと、列に配列された第２導体アレイとして構成された導体の二次元マトリクスを有し、前記方法が、
第１ユーザーについての行タッチ・データーを受けるステップであって、前記第１ユーザーの行タッチ・データーが、前記第１ユーザーによってタッチされた前記第１アレイにおける１つ以上の導体を示し、前記第１ユーザーの行タッチ・データーが、共通ノードと前記第１ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれる、ステップと、
前記第１ユーザーについての列タッチ・データーを受けるステップであって、前記第１ユーザーの列タッチ・データーが、前記第１ユーザーによってタッチされた前記第２アレイにおける１つ以上の導体を示し、前記第１ユーザーの列タッチ・データーが、前記共通ノードと前記第１ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれる、ステップと、
前記第１ユーザーとは異なる第２ユーザーについての行タッチ・データーを受けるステップであって、前記第２ユーザーの行タッチ・データーが、前記第２ユーザーによってタッチされた前記第１アレイにおける１つ以上の導体を示し、前記第２ユーザーの行タッチ・データーが、前記共通ノードと前記第２ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれる、ステップと、
前記第２ユーザーについての列タッチ・データーを受けるステップであって、前記第２ユーザーの列タッチ・データーが、前記第２ユーザーによってタッチされた前記第２アレイにおける１つ以上導体を示し、前記第２ユーザーの列タッチ・データーが、前記共通ノードと前記第２ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれる、ステップと、
前記二次元導体マトリクス上における複数のタッチ・ポイントの二次元位置を、前記第１アレイからの１つの導体と前記第２アレイからの１つの導体との対として示すタッチ・ポイント位置データーを受けるステップであって、前記タッチ・ポイント位置データーが、前記第１アレイからの前記１つの導体と、前記第２アレイからの対応する対をなす導体との間における、タッチによって生ずる容量変化を反映する信号の前記複数のタッチ・ポイントの各々に対する前記容量性タッチ・センサーによる検出に基づいて取り込まれる、ステップと、
前記受けたタッチ・ポイント位置データーを前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーに適用することによって、前記複数のタッチ・ポイントの中から、前記第１ユーザーによって行われたタッチに対応するものとして、少なくとも１つのタッチ・ポイントを特定するステップと、
前記特定を伝えるステップと、
を含む、方法。
【請求項２】
請求項１記載の方法であって、更に、
前記共通ノードと前記第１ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を検知する前記容量性タッチ・センサーによって、前記受けた第１ユーザーの行タッチ・データーを取り込むステップと、
前記共通ノードと前記第１ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を検知する前記容量性タッチ・センサーによって、前記受けた第１ユーザーの列タッチ・データーを取り込むステップと、
前記共通ノードと前記第２ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を検知する前記容量性タッチ・センサーによって、前記受けた第２ユーザーの行タッチ・データーを取り込むステップと、
前記共通ノードと前記第２ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を検知する前記容量性タッチ・センサーによって、前記受けた第２ユーザーの列タッチ・データーを取り込むステップと、
前記複数のタッチ・ポイントの各々に対して、前記第１アレイからの前記１つの導体と、前記第２アレイからの前記対応する対をなす導体との間におけるタッチによって生じた容量変化を検知する前記容量性タッチ・センサーによって、前記受けたタッチ・ポイント位置データーを取り込むステップと、
を含む、方法。
【請求項３】
請求項１記載の方法において、前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップが、
前記複数のタッチ・ポイントから１つを選択するステップと、
前記タッチ・ポイント位置データーから前記選択されたタッチ・ポイントの二次元位置にアクセスするステップであって、前記選択されたタッチ・ポイントの位置が、前記第１アレイにおける第１導体と前記第２アレイにおける第２導体との対として示される、ステップと、  
前記第１ユーザーの行タッチ・データーにアクセスするステップと、
前記第１ユーザーの列タッチ・データーにアクセスするステップと、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断するステップと、
前記第２ユーザーの行タッチ・データーにアクセスするステップと、
前記第２ユーザーの列タッチ・データーにアクセスするステップと、
前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体にタッチしていないこと、前記第２導体にタッチしていないこと、または前記第１導体および前記第２導体双方にタッチしていないことを示すと判断するステップと、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すという判断と、前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体にタッチしていないこと、前記第２導体にタッチしていないこと、または前記第１導体および前記第２導体双方にタッチしていないことを示すという判断とに基づいて、前記選択されたタッチ・ポイントが、前記第１ユーザーによって行われたタッチに対応すると結論付けるステップと、
を含む、方法。
【請求項４】
請求項１記載の方法において、前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップが、
１人以上の他のユーザーの各々についての行タッチ・データーを受けるステップであって、前記１人以上の他のユーザーの各々についての前記行タッチ・データーが、前記他のユーザーによってタッチされた前記第１アレイにおける１つ以上の導体を示す、ステップと、
前記１人以上の他のユーザーの各々についての列タッチ・データーを受けるステップであって、前記１人以上の他のユーザーの各々についての前記列タッチ・データーが、前記他のユーザーによってタッチされた前記第２アレイにおける１つ以上の導体を示す、ステップと、
前記複数のタッチ・ポイントから１つを選択するステップと、
前記タッチ・ポイント位置データーから前記選択されたタッチ・ポイントの二次元位置にアクセスするステップであって、前記選択されたタッチ・ポイントの位置が、前記第１アレイにおける第１導体と前記第２アレイにおける第２導体との対として示される、ステップと、  
前記第１ユーザーの行タッチ・データーにアクセスするステップと、
前記第１ユーザーの列タッチ・データーにアクセスするステップと、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するステップと、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断されたか否かに基づいて、前記第１ユーザーを前記選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するステップと、
前記第２ユーザーの行タッチ・データーにアクセスするステップと、
前記第２ユーザーの列タッチ・データーにアクセスするステップと、
前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するステップと、
前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断されたか否かに基づいて、前記第２ユーザーを前記選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するステップと、
前記１人以上の他のユーザーの各々についての前記行タッチ・データーにアクセスするステップと、
前記１人以上の他のユーザーの各々についての前記列タッチ・データーにアクセスするステップと、
前記１人以上のユーザーの各々について、
前記他のユーザーの行タッチ・データーおよび前記他のユーザーの列タッチ・データーが、前記他のユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するステップと、
前記他のユーザーの行タッチ・データーおよび前記他のユーザーの列タッチ・データーが、前記他のユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断されたか否かに基づいて、前記他のユーザーを、前記選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するステップと、
前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールが、前記第１ユーザーのみを含むと判断するステップと、
前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールが、前記第１ユーザーのみを含むという判断に基づいて、前記選択されたタッチ・ポイントが、前記第１ユーザーによって行われたタッチに対応すると結論付けるステップと、
を含む、方法。  
【請求項５】
請求項１記載の方法において、
前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップが、前記複数のタッチ・ポイントの内第１タッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップを含み、
前記方法が、更に、前記受けたタッチ・ポイント位置データーを、前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーに適用することによって、前記複数のタッチ・ポイントの内第２タッチ・ポイントを、前記第２ユーザーによって行われたタッチに対応するものとして特定するステップを含む、方法。
【請求項６】
請求項１記載の方法において、前記受けたタッチ・ポイント位置データー、前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーが、１つの特定のフレームの間に取り込まれ、
前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップが、前記複数のタッチ・ポイントの第１部分集合を、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップを含み、
前記方法が、更に、前記受けたタッチ・ポイント位置データーを、前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーに適用することによって、前記複数のタッチ・ポイントの第２部分集合を、前記第２ユーザーによって行われたタッチに対応するものとして特定するステップを含み、
更に、前記１つの特定のフレームよりも前のフレームの間に取り込まれた履歴タッチ・データーを使用する経験的方法を適用せずに、前記複数のタッチ・ポイントの内第３部分集合におけるタッチ・ポイントが、任意のユーザーによって行われたタッチに対応するものとして一意に判断することができないことから、前記第３部分集合を曖昧であると判断するステップを含む、方法。  
【請求項７】
請求項１記載の方法において、前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するステップが、前記複数のタッチ・ポイントに対する１つ以上の有効なユーザー割り当てを特定するステップを含み、前記複数のタッチ・ポイントに対する有効な各ユーザー割り当てが、前記複数のタッチ・ポイントの各々の前記複数のユーザーの内１人のみに対する割り当てを示し、前記複数のユーザーが、前記第１ユーザーおよび前記第２ユーザーを含む、方法。
【請求項８】
請求項７記載の方法において、前記複数のタッチ・ポイントに対して１つ以上の有効なユーザー割り当てを特定するステップが、
予備のアルゴリズムを適用することによって、前記複数のタッチ・ポイントの内部分集合における各タッチ・ポイントの前記複数のユーザーの内１人に対する一意の割り当てを判定するステップと、
前記複数のタッチ・ポイントからの前記部分集合の除去の後、前記複数のタッチ・ポイントに対応する縮小組のタッチ・ポイントを生成するステップと、
前記縮小組のタッチ・ポイントにおける前記タッチ・ポイントの可能なユーザー割り当てを特定するステップと、
特定された可能なユーザー割り当て毎に、前記複数のユーザーの内特定のユーザー毎に、前記特定のユーザーについての行タッチ・データーにおいてタッチされたことが分かる前記第１アレイにおける特定の導体毎に、および前記特定のユーザーについての列タッチ・データーにおいてタッチされたことが分かる前記特定の導体毎に、前記特定された可能なユーザー割り当てが、前記特定のユーザーに、前記縮小組から、前記第１アレイにおける前記特定の導体に対応する位置を有する少なくとも１つのタッチ・ポイントと、前記第２アレイにおける前記特定の導体に対応する位置を有する前記縮小組からの少なくとも１つのタッチ・ポイントとを割り当てる場合、前記特定された可能なユーザー割り当てを有効であると指定するステップと、
前記有効と指定された可能なユーザー割り当てを、前記予備のアルゴリズムによって判定された前記部分集合における前記タッチ・ポイントの前記一意の割り当てと組み合わせて、前記複数のタッチ・ポイントに対する前記１組の１つ以上の有効なユーザー割り当てに到達するステップと、
を含む、方法。
【請求項９】
請求項８記載の方法において、前記予備のアルゴリズムを適用することによって前記複数のタッチ・ポイントの前記部分集合における各タッチ・ポイントの一意の割り当てを判定するステップが、
前記複数のタッチ・ポイントから１つを選択するステップと、
前記タッチ・ポイント位置データーから前記選択されタッチ・ポイントの二次元位置にアクセスするステップであって、前記選択されたタッチ・ポイントの位置が、前記第１アレイにおける第１導体と前記第２アレイにおける第２導体との対として示される、ステップと、
前記複数のユーザーの各々に対して、
前記ユーザーについての行タッチ・データーおよび列タッチ・データーにアクセスするステップと、
前記ユーザーについての行タッチ・データーおよび前記ユーザーについての列タッチ・データーが、前記ユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するステップと、
前記ユーザーについての行タッチ・データーおよび前記ユーザーについての列タッチ・データーが、前記ユーザーが前記第１導体および前記第２導体にタッチしていると判断したか否かに基づいて、前記ユーザーを、前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールに追加するステップと、
前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールが１人のユーザのみを含むか否か判定するステップと、
前記候補ユーザーのプールが１人のユーザーのみを含むと判定されたか否かに基づいて、前記選択されたタッチ・ポイントを前記１人のユーザーに一意に割り当て、これによって前記選択されたタッチ・ポイントを前記部分集合に含ませるステップと、
前記候補ユーザーのプールが複数のユーザーを含むと判定されたか否かに基づいて、前記選択されたタッチ・ポイントを前記部分集合に含ませないステップと、
を含む、方法。
【請求項１０】
請求項８記載の方法において、前記縮小組のタッチ・ポイントにおける前記タッチ・ポイントの可能なユーザー割り当てを特定するステップが、Ｘ＾Ｙ通りの異なるユーザー割り当てを特定するステップを含み、ここで、Ｘが複数のユーザーの数に等しく、Ｙが前記縮小組のタッチ・ポイントにおけるタッチ・ポイントの数に等しい、方法。
【請求項１１】
請求項８記載の方法において、前記縮小組のタッチ・ポイントにおける前記タッチ・ポイントの可能なユーザー割り当てを特定するステップ、および前記特定された可能なユーザー割り当てを有効であると指定するステップが、ユーザー割り当て構成ツリーの異なるノードによって表される異なる可能なユーザー割り当ての有効性を選択的に分析する反復アルゴリズムを適用するステップを含む、方法。
【請求項１２】
請求項１１記載の方法において、前記反復アルゴリズムが、可能なユーザー割り当てのより大きな集合を表す前記ユーザー割り当て構成ツリーにおけるより高いレベルのノードを分析することから、より小さな集合または１つの可能なユーザー識別を表す前記ユーザー割り当て構成ツリーにおけるより低いレベルのノードを分析することまで選択的に進めることによって、前記異なる可能なユーザー割り当ての有効性を選択的に分析する、方法。
【請求項１３】
請求項８記載の方法において、予備のアルゴリズムを適用することによって前記複数のタッチ・ポイントの前記部分集合における各タッチ・ポイントの一意の割り当てを判定するステップが、前記部分集合における各タッチ・ポイントの前記複数のユーザーの内１人への曖昧でない割り当てを生成するステップを含む、方法。
【請求項１４】
請求項７記載の方法において、
前記複数のタッチ・ポイントに対して１つ以上の有効なユーザー割り当てを特定するステップが、前記複数のタッチ・ポイントに対して複数の有効なユーザー割り当てを特定するステップを含み、
前記方法が、更に、前記複数の有効なユーザー割り当ての中から、１つの特定の有効ユーザー割り当てを最も精度が高いユーザー割り当てとして選択するために、履歴タッチ・ポイント・データーを使用する経験的アルゴリズムを適用するステップを含む、方法。
【請求項１５】
タッチ・データーのユーザー割り当ての曖昧さを除去し、少なくとも１つのタッチ・ポイントを、特定のユーザーによって行われたタッチに対応するものとする識別を伝えるシステムであって、前記少なくとも１つのタッチ・ポイントが、容量性タッチ・センサーによって検出された複数のタッチ・ポイントから識別され、前記容量性タッチ・センサーが、行に配列された第１導体アレイと、列に配列された第２導体アレイとして構成された導体の二次元マトリクスを有し、前記システムが、
１つ以上のコンピューター・プロセッサーを含み、このコンピューター・プロセッサーが、                                                                            
第１ユーザーについての行タッチ・データーを受けるように構成され、前記第１ユーザーの行タッチ・データーが、前記第１ユーザーによってタッチされた、前記第１アレイにおける１つ以上の導体を示し、前記第１ユーザーの行タッチ・データーが、共通ノードと前記第１ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれ、
前記第１ユーザーについての列タッチ・データーを受けるように構成され、前記第１ユーザーの列タッチ・データーが、前記第１ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体を示し、前記第１ユーザーの列タッチ・データーが、前記共通ノードと前記第１ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれ、
前記第１ユーザーとは異なる第２ユーザーについての行タッチ・データーを受けるように構成され、前記第２ユーザーの行タッチ・データーが、前記第２ユーザーによってタッチされた、前記第１アレイにおける１つ以上の導体を示し、前記第２ユーザーの行タッチ・データーが、前記共通ノードと前記第２ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれ、
前記第２ユーザーについての列タッチ・データーを受けるように構成され、前記第２ユーザーの列タッチ・データーが、前記第２ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体を示し、前記第２ユーザーの列タッチ・データーが、前記共通ノードと前記第２ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を反映する信号を検知する前記容量性タッチ・センサーによって取り込まれ、
前記二次元導体マトリクス上における複数のタッチ・ポイントの二次元位置を、前記第１アレイからの１つの導体と前記第２アレイからの１つの導体との対として示すタッチ・ポイント位置データーを受けるように構成され、前記タッチ・ポイント位置データーが、前記第１アレイからの前記１つの導体と、前記第２アレイからの対応する対をなす導体との間における、タッチによって生ずる容量変化を反映する信号の前記複数のタッチ・ポイントの各々に対する前記容量性タッチ・センサーによる検出に基づいて取り込まれ、
前記受けたタッチ・ポイント位置データーを前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーに適用することによって、前記複数のタッチ・ポイントの中から、前記第１ユーザーによって行われたタッチに対応するものとして、少なくとも１つのタッチ・ポイントを特定するように構成され、
前記特定を伝えるように構成された、
システム。
【請求項１６】
請求項１５記載のシステムであって、更に、前記容量性タッチ・センサーを含み、
前記容量性タッチ・センサーが、
前記共通ノードと、前記第１ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を検知する前記容量性タッチ・センサーによって、前記受けた第１ユーザーの行タッチ・データーを取り込み、
前記共通ノードと前記第１ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を検知することによって、前記受けた第１ユーザーの列タッチ・データーを取り込み、
前記共通ノードと前記第２ユーザーによってタッチされた前記第１アレイにおける前記１つ以上の導体との間における容量変化を検知することによって、前記受けた第２ユーザーの行タッチ・データーを取り込み、
前記共通ノードと前記第２ユーザーによってタッチされた前記第２アレイにおける前記１つ以上の導体との間における容量変化を検知することによって、前記受けた第２ユーザーの列タッチ・データーを取り込み、
前記複数のタッチ・ポイントの各々に対して、前記第１アレイからの前記１つの導体と、前記第２アレイからの前記対応する対をなす導体との間における、タッチによって生じた容量変化を検知することによって、前記受けたタッチ・ポイント位置データーを取り込むように構成された、システム。
【請求項１７】
請求項１５記載のシステムにおいて、前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーが、
前記複数のタッチ・ポイントから１つを選択するように構成され、
前記タッチ・ポイント位置データーから前記選択されたタッチ・ポイントの二次元位置にアクセスするように構成され、前記選択されたタッチ・ポイントの位置が、前記第１アレイにおける第１導体と前記第２アレイにおける第２導体との対として示され、  
前記第１ユーザーの行タッチ・データーにアクセスするように構成され、
前記第１ユーザーの列タッチ・データーにアクセスするように構成され、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断するように構成され、
前記第２ユーザーの行タッチ・データーにアクセスするように構成され、
前記第２ユーザーの列タッチ・データーにアクセスするように構成され、
前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体にタッチしていないこと、前記第２導体にタッチしていないこと、または前記第１導体および前記第２導体双方にタッチしていないことを示すと判断するように構成され、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すという判断と、前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体にタッチしていないこと、前記第２導体にタッチしていないこと、または前記第１導体および前記第２導体双方にタッチしていないことを示すという判断とに基づいて、前記選択されたタッチ・ポイントが、前記第１ユーザーによって行われたタッチに対応すると結論付けるように構成された、前記１つ以上のプロセッサーを含む、システム。
【請求項１８】
請求項１５記載のシステムにおいて、前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記少なくとも１つ以上のプロセッサーが、
１人以上の他のユーザーの各々についての行タッチ・データーを受けるように構成され、前記１人以上の他のユーザーの各々についての前記行タッチ・データーが、前記他のユーザーによってタッチされた前記第１アレイにおける１つ以上の導体を示し、
前記１人以上の他のユーザーの各々についての列タッチ・データーを受けるように構成され、前記１人以上の他のユーザーの各々についての前記列タッチ・データーが、前記他のユーザーによってタッチされた前記第２アレイにおける１つ以上の導体を示し、
前記複数のタッチ・ポイントから１つを選択するように構成され、
前記タッチ・ポイント位置データーから前記選択されたタッチ・ポイントの二次元位置にアクセスするように構成され、前記選択されたタッチ・ポイントの位置が、前記第１アレイにおける第１導体と前記第２アレイにおける第２導体との対として示され、  
前記第１ユーザーの行タッチ・データーにアクセスするように構成され、
前記第１ユーザーの列タッチ・データーにアクセスするように構成され、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するように構成され、
前記第１ユーザーの行タッチ・データーおよび前記第１ユーザーの列タッチ・データーが、前記第１ユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断されたか否かに基づいて、前記第１ユーザーを前記選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するように構成され、
前記第２ユーザーの行タッチ・データーにアクセスするように構成され、
前記第２ユーザーの列タッチ・データーにアクセスするように構成され、
前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するように構成され、
前記第２ユーザーの行タッチ・データーおよび前記第２ユーザーの列タッチ・データーが、前記第２ユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断されか否かに基づいて、前記第２ユーザーを前記選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するように構成され、
前記１人以上の他のユーザーの各々についての前記行タッチ・データーにアクセスするように構成され、
前記１人以上の他のユーザーの各々についての前記列タッチ・データーにアクセスするように構成され、
前記１人以上のユーザーの各々について、
前記他のユーザーの行タッチ・データーおよび前記他のユーザーの列タッチ・データーが、前記他のユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するように構成され、
前記他のユーザーの行タッチ・データーおよび前記他のユーザーの列タッチ・データーが、前記他のユーザーが前記第１導体および前記第２導体にタッチしていることを示すと判断されたか否かに基づいて、前記他のユーザーを、前記選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するように構成され、
前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールが、前記第１ユーザーのみを含むと判断するように構成され、
前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールが、前記第１ユーザーのみを含むという判断に基づいて、前記選択されたタッチ・ポイントが、前記第１ユーザーによって行われたタッチに対応すると結論付けるように構成された前記１つ以上のプロセッサーを含む、システム。  
【請求項１９】
請求項１５記載のシステムにおいて、
前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーが、前記複数のタッチ・ポイントの内第１タッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーを含み、
前記システムが、更に、前記受けたタッチ・ポイント位置データーを、前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーに適用することによって、前記複数のタッチ・ポイントの内第２タッチ・ポイントを、前記第２ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーを含む、システム。
【請求項２０】
請求項１５記載のシステムにおいて、前記受けたタッチ・ポイント位置データー、前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーが、１つの特定のフレームの間に取り込まれ、
前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーが、前記複数のタッチ・ポイントの第１部分集合を、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーを含み、
前記システムが、更に、前記受けたタッチ・ポイント位置データーを、前記受けた第１ユーザーの行タッチ・データー、前記受けた第１ユーザーの列タッチ・データー、前記受けた第２ユーザーの行タッチ・データー、および前記受けた第２ユーザーの列タッチ・データーに適用することによって、前記複数のタッチ・ポイントの第２部分集合を、前記第２ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーを含み、
更に、前記１つの特定のフレームよりも前のフレームの間に取り込まれた履歴タッチ・データーを使用する経験的方法を適用せずに、前記複数のタッチ・ポイントの内第３部分集合におけるタッチ・ポイントが、任意のユーザーによって行われたタッチに対応するものとして一意に判断することができないことから、前記第３部分集合を曖昧であると判断するように構成された前記１つ以上のプロセッサーを含む、システム。  
【請求項２１】
請求項１５記載のシステムにおいて、前記複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、前記第１ユーザーによって行われたタッチに対応するものとして特定するように構成された前記１つ以上のプロセッサーが、前記複数のタッチ・ポイントに対する１つ以上の有効なユーザー割り当てを特定するように構成された前記１つ以上のプロセッサーを含み、前記複数のタッチ・ポイントに対する有効な各ユーザー割り当てが、前記複数のタッチ・ポイントの各々の前記複数のユーザーの内１人のみに対する割り当てを示し、前記複数のユーザーが、前記第１ユーザーおよび前記第２ユーザーを含む、システム。
【請求項２２】
請求項２１記載のシステムにおいて、前記複数のタッチ・ポイントに対して１つ以上の有効なユーザー割り当てを特定するように構成された前記１つ以上のプロセッサーが、
予備のアルゴリズムを適用することによって、前記複数のタッチ・ポイントの内部分集合における各タッチ・ポイントの前記複数のユーザーの内１人に対する一意の割り当てを判定し、
前記複数のタッチ・ポイントからの前記部分集合の除去の後、前記複数のタッチ・ポイントに対応する縮小組のタッチ・ポイントを生成し、
前記縮小組のタッチ・ポイントにおける前記タッチ・ポイントの可能なユーザー割り当てを特定し、
特定された可能なユーザー割り当て毎に、前記複数のユーザーの内特定のユーザー毎に、前記特定のユーザーについての行タッチ・データーにおいてタッチされたことが分かる前記第１アレイにおける特定の導体毎に、および前記特定のユーザーについての列タッチ・データーにおいてタッチされたことが分かる前記特定の導体毎に、前記特定された可能なユーザー割り当てが、前記特定のユーザーに、前記縮小組から、前記第１アレイにおける前記特定の導体に対応する位置を有する少なくとも１つのタッチ・ポイントと、前記第２アレイにおける前記特定の導体に対応する位置を有する前記縮小組からの少なくとも１つのタッチ・ポイントとを割り当てる場合、前記特定された可能なユーザー割り当てを有効であると指定し、
前記有効と指定された可能なユーザー割り当てを、前記予備のアルゴリズムによって判定された前記部分集合における前記タッチ・ポイントの前記一意の割り当てと組み合わせて、前記複数のタッチ・ポイントに対する前記１組の１つ以上の有効なユーザー割り当てに到達するように構成された前記１つ以上のプロセッサーを含む、システム。
【請求項２３】
請求項２２記載のシステムにおいて、前記予備のアルゴリズムを適用することによって前記複数のタッチ・ポイントの前記部分集合における各タッチ・ポイントの一意の割り当てを判定するように構成された前記１つ以上のプロセッサーが、
前記複数のタッチ・ポイントから１つを選択するように構成され、
前記タッチ・ポイント位置データーから前記選択されタッチ・ポイントの二次元位置にアクセスするように構成され、前記選択されたタッチ・ポイントの位置が、前記第１アレイにおける第１導体と前記第２アレイにおける第２導体との対として示され、
前記複数のユーザーの各々に対して、
前記ユーザーについての行タッチ・データーおよび列タッチ・データーにアクセスするように構成され、
前記ユーザーについての行タッチ・データーおよび前記ユーザーについての列タッチ・データーが、前記ユーザーが前記第１導体および前記第２導体にタッチしていることを示すか否か判断するように構成され、
前記ユーザーについての行タッチ・データーおよび前記ユーザーについての列タッチ・データーが、前記ユーザーが前記第１導体および前記第２導体にタッチしていると判断したか否かに基づいて、前記ユーザーを、前記選択されたタッチ・ポイントに対する前記候補ユーザーのプールに追加するように構成され、
前記候補ユーザーのプールが１人のユーザーのみを含むと判定されたか否かに基づいて、前記選択されたタッチ・ポイントを前記１人のユーザーに一意に割り当て、これによって前記選択されたタッチ・ポイントを前記部分集合に含ませるように構成され、
前記候補ユーザーのプールが複数のユーザーを含むと判定されたか否かに基づいて、前記選択されたタッチ・ポイントを前記部分集合に含ませないように構成された前記１つ以上のプロセッサーを含む、システム。
【請求項２４】
請求項２２記載のシステムにおいて、前記縮小組のタッチ・ポイントにおける前記タッチ・ポイントの可能なユーザー割り当てを特定するように構成された前記１つ以上のプロセッサーが、Ｘ＾Ｙ通りの異なるユーザー割り当てを特定するように構成された前記１つ以上のプロセッサーを含み、ここで、Ｘが複数のユーザーの数に等しく、Ｙが前記縮小組のタッチ・ポイントにおけるタッチ・ポイントの数に等しい、システム。
【請求項２５】
請求項２２記載のシステムにおいて、前記縮小組のタッチ・ポイントにおける前記タッチ・ポイントの可能なユーザー割り当てを特定するように構成され、前記特定された可能なユーザー割り当てを有効であると指定するように構成された前記１つ以上のプロセッサーが、ユーザー割り当て構成ツリーの異なるノードによって表される異なる可能なユーザー割り当ての有効性を選択的に分析する反復アルゴリズムを適用するように構成された前記１つ以上のプロセッサーを含む、システム。
【請求項２６】
請求項２５記載のシステムにおいて、前記反復アルゴリズムが、可能なユーザー割り当てのより大きな集合を表す前記ユーザー割り当て構成ツリーにおけるより高いレベルのノードを分析することから、より小さな集合または１つの可能なユーザー識別を表す前記ユーザー割り当て構成ツリーにおけるより低いレベルのノードを分析することまで選択的に進めることによって、前記異なる可能なユーザー割り当ての有効性を選択的に分析する、システム。
【請求項２７】
請求項２２記載のシステムにおいて、予備のアルゴリズムを適用することによって前記複数のタッチ・ポイントの前記部分集合における各タッチ・ポイントの一意の割り当てを判定するように構成された前記１つ以上のプロセッサーが、前記部分集合における各タッチ・ポイントの前記複数のユーザーの内１人への曖昧でない割り当てを生成するように構成された前記１つ以上のプロセッサーを含む、システム。
【請求項２８】
請求項２１記載のシステムにおいて、
前記複数のタッチ・ポイントに対して１つ以上の有効なユーザー割り当てを特定するように構成された前記１つ以上のプロセッサーが、前記複数のタッチ・ポイントに対して複数の有効なユーザー割り当てを特定するように構成された前記１つ以上のプロセッサーを含み、
前記システムが、更に、前記複数の有効なユーザー割り当ての中から、１つの特定の有効ユーザー割り当てを最も精度が高いユーザー割り当てとして選択するために、履歴タッチ・ポイント・データーを使用する経験的アルゴリズムを適用するように構成された前記１つ以上のプロセッサーを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、タッチ・センサーから生成されたタッチ・データーの曖昧さを除去する技法に関する。
【従来技術】
【０００２】
タッチ感応システムは、表面上における接触の１つ以上のポイントを検出して、これに応答する。タッチ感応システムは、タッチ・スクリーン・ディスプレイの形態で電子デバイス内に組み込むことができ、ユーザーが、スクリーンに接触する１つ以上の入力を使用して、物体を見ることおよび操作することの双方を可能にする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
タッチ・センサーから生成されたタッチ・データーの曖昧さを除去する技法について記載する。
【課題を解決するための手段】
【０００４】
１つの形態(aspect)では、タッチ・データーのユーザー割り当ての曖昧さを除去し、少なくとも１つのタッチ・ポイントを、特定のユーザーによって行われたタッチに対応するものとする識別を伝える技法について記載する。少なくとも１つのタッチ・ポイントが、行に配列された第１導体アレイと、列に配列された第２導体アレイとして構成された導体の二次元マトリクスを有する容量性タッチ・センサーによって検出された複数のタッチ・ポイントから識別される。第１ユーザーについての行タッチ・データーを受ける。第１ユーザーの行タッチ・データーは、第１ユーザーによってタッチされた、第１アレイにおける１つ以上の導体を示し、第１ユーザーの行タッチ・データーは、共通ノードと第１ユーザーによってタッチされた第１アレイにおける１つ以上の導体との間における容量変化を反映する信号を検知する容量性タッチ・センサーによって取り込まれる。第１ユーザーについての列タッチ・データーも受ける。第１ユーザーの列タッチ・データーは、第１ユーザーによってタッチされた第２アレイにおける１つ以上の導体を示し、第１ユーザーの列タッチ・データーは、共通ノードと第１ユーザーによってタッチされた第２アレイにおける１つ以上の導体との間における容量変化を反映する信号を検知する容量性タッチ・センサーによって取り込まれる。第１ユーザーとは異なる第２ユーザーについての行タッチ・データーを受ける。第２ユーザーの行タッチ・データーは、第２ユーザーによってタッチされた、第１アレイにおける１つ以上の導体を示し、第１ユーザーの行タッチ・データーは、共通ノードと第２ユーザーによってタッチされた第１アレイにおける１つ以上の導体との間における容量変化を反映する信号を検知する容量性タッチ・センサーによって取り込まれる。第２ユーザーについての列タッチ・データーを受ける。第２ユーザーの列タッチ・データーは、第２ユーザーによってタッチされた第２アレイにおける１つ以上の導体を示し、第２ユーザーの列タッチ・データーは、共通ノードと第２ユーザーによってタッチされた第２アレイにおける１つ以上の導体との間における容量変化を反映する信号を検知する容量性タッチ・センサーによって取り込まれる。タッチ・ポイント位置データーを受ける。タッチ・ポイント位置データーは、二次元導体マトリクス上における複数のタッチ・ポイントの二次元位置を、第１アレイからの１つの導体と第２アレイからの１つの導体との対として示す。タッチ・ポイント位置データーは、第１アレイからの１つの導体と、第２アレイからの対応する対をなす導体との間における、タッチによって生ずる容量変化を反映する信号の複数のタッチ・ポイントの各々に対する容量性タッチ・センサーによる検出に基づいて取り込まれる。受けたタッチ・ポイント位置データーを受けた第１ユーザーの行タッチ・データー、受けた第１ユーザーの列タッチ・データー、受けた第２ユーザーの行タッチ・データー、および受けた第２ユーザーの列タッチ・データーに適用することによって、複数のタッチ・ポイントの中から、第１ユーザーによって行われたタッチに対応するものとして、少なくとも１つのタッチ・ポイントを特定する。この特定を伝える。
【０００５】
実現例は、以下の特徴の内１つ以上を含むのでもよい。例えば、本技法は、更に、共通ノードと、第１ユーザーおよび第２ユーザーによってそれぞれタッチされた第１アレイにおける１つ以上の導体との間における容量変化を検知する容量性タッチ・センサーによって、受けた第１ユーザーの行タッチ・データーおよび受けた第２ユーザーの行タッチ・データーを取り込むことを含んでもよい。受けた第１ユーザーの列タッチ・データーおよび受けた第２ユーザーの列タッチ・データーは、共通ノードと、第１ユーザーおよび第２ユーザーによってそれぞれタッチされた第２アレイにおける１つ以上の導体との間における容量変化を検知する容量性タッチ・センサーによって取り込まれるのであってもよい。これらの実現例では、受けたタッチ・ポイント位置データーは、複数のタッチ・ポイントの各々について、第１アレイからの１つの導体と、第２アレイからの対応する対をなす導体との間における、タッチによって生じた容量変化を検知する容量性タッチ・センサーによって取り込まれるのでもよい。
【０００６】
実現例の中には、複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、第１ユーザーによって行われたタッチに対応するものとして特定することが、複数のタッチ・ポイントから１つを選択し、タッチ・ポイント位置データーから選択されたタッチ・ポイントの二次元位置にアクセスすることを含んでもよい。選択されたタッチ・ポイントの位置が、第１アレイにおける第１導体と第２アレイにおける第２導体との対として示されるのでもよい。第１ユーザーの行タッチ・データーおよび列タッチ・データーにアクセスするのでもよい。第１ユーザーの行タッチ・データーおよび第１ユーザーの列タッチ・データーが、第１ユーザーが第１導体および第２導体にタッチしていることを示すと判断するのでもよい。また、第２ユーザーの行タッチ・データーおよび列タッチ・データーにアクセスするのでもよい。第２ユーザーの行タッチ・データーおよび第２ユーザーの列タッチ・データーが、第２ユーザーが第１導体にタッチしていないこと、第２導体にタッチしていないこと、または第１導体および第２導体双方にタッチしていないことを示すと判断するのでもよい。１ユーザーの行タッチ・データーおよび第１ユーザーの列タッチ・データーが、第１ユーザーが第１導体および第２導体にタッチしていることを示すという判断と、第２ユーザーの行タッチ・データーおよび第２ユーザーの列タッチ・データーが、第２ユーザーが第１導体にタッチしていないこと、第２導体にタッチしていないこと、または第１導体および第２導体双方にタッチしていないことを示すという判断とに基づいて、選択されたタッチ・ポイントが、第１ユーザーによって行われたタッチに対応すると結論付けるのでもよい。
【０００７】
実現例の中には、複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、第１ユーザーによって行われたタッチに対応するものとして特定することが、１人以上の他のユーザーの各々についての行タッチ・データーを受けることを含み、１人以上の他のユーザーの各々についての行タッチ・データーが、他のユーザーによってタッチされた第１アレイにおける１つ以上の導体を示し、更に、１人以上の他のユーザーの各々についての列タッチ・データーを受けることを含み、１人以上の他のユーザーの各々についての列タッチ・データーが、他のユーザーによってタッチされた第２アレイにおける１つ以上の導体を示すのであるとよい場合がある。複数のタッチ・ポイントから１つを選択するのでもよい。タッチ・ポイント位置データーから選択されたタッチ・ポイントの二次元位置にアクセスするのでもよい。選択されたタッチ・ポイントの位置が、第１アレイにおける第１導体と第２アレイにおける第２導体との対として示されるのでもよい。第１ユーザーの行タッチ・データーおよび第１ユーザーの列タッチ・データーにアクセスするのでもよい。第１ユーザーの行タッチ・データーおよび第１ユーザーの列タッチ・データーが、第１ユーザーが第１導体および第２導体にタッチしていることを示すか否か判断するのでもよい。第１ユーザーの行タッチ・データーおよび第１ユーザーの列タッチ・データーが、第１ユーザーが第１導体および第２導体にタッチしていることを示すか否か判断してもよいことに基づいて、第１ユーザーを選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するのでもよい。第２ユーザーの行タッチ・データーおよび列タッチ・データーにアクセスするのでもよい。第２ユーザーの行タッチ・データーおよび第２ユーザーの列タッチ・データーが、第２ユーザーが第１導体および第２導体にタッチしていることを示すか否か判断するのでもよい。第２ユーザーの行タッチ・データーおよび第２ユーザーの列タッチ・データーが、第２ユーザーが第１導体および第２導体にタッチしていることを示すか否か判断されたことに基づいて、第２ユーザーを選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するとよい。１人以上の他のユーザーの各々についての行タッチ・データーおよび列タッチ・データーにアクセスするのでもよい。１人以上のユーザーの各々について、他のユーザーの行タッチ・データーおよび他のユーザーの列タッチ・データーが、他のユーザーが第１導体および第２導体にタッチしていることを示すか否か判断するのでもよい。他のユーザーの行タッチ・データーおよび他のユーザーの列タッチ・データーが、他のユーザーが第１導体および第２導体にタッチしていることを示すか否かの判断に基づいて、他のユーザーを、選択されたタッチ・ポイントに対する候補ユーザーのプールに追加するのでもよい。選択されたタッチ・ポイントに対する候補ユーザーのプールが、第１ユーザーのみを含むと判断するのでもよく、選択されたタッチ・ポイントに対する候補ユーザーのプールが、第１ユーザーのみを含むという判断に基づいて、選択されたタッチ・ポイントが、第１ユーザーによって行われたタッチに対応すると結論付けるのでもよい。
【０００８】
実現例の中には、複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、第１ユーザーによって行われたタッチに対応するものとして特定することが、複数のタッチ・ポイントの内第１タッチ・ポイントを、第１ユーザーによって行われたタッチに対応するものとして特定することを含むのでもよい。これらの実現例では、方法が、更に、受けたタッチ・ポイント位置データーを、受けた第１ユーザーの行タッチ・データー、受けた第１ユーザーの列タッチ・データー、受けた第２ユーザーの行タッチ・データー、および受けた第２ユーザーの列タッチ・データーに適用することによって、複数のタッチ・ポイントの内第２タッチ・ポイントを、第２ユーザーによって行われたタッチに対応するものとして特定するのでもよい。
【０００９】
例の中には、受けたタッチ・ポイント位置データー、受けた第１ユーザーの行タッチ・データー、受けた第１ユーザーの列タッチ・データー、受けた第２ユーザーの行タッチ・データー、および受けた第２ユーザーの列タッチ・データーが、１つの特定のフレームの間に取り込まれるとよい場合もある。これらの例では、複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、第１ユーザーによって行われたタッチに対応するものとして特定することが、複数のタッチ・ポイントの第１部分集合を、第１ユーザーによって行われたタッチに対応するものとして特定することを含むのでもよい。受けたタッチ・ポイント位置データーを、受けた第１ユーザーの行タッチ・データー、受けた第１ユーザーの列タッチ・データー、受けた第２ユーザーの行タッチ・データー、および受けた第２ユーザーの列タッチ・データーに適用することによって、複数のタッチ・ポイントの第２部分集合を、第２ユーザーによって行われたタッチに対応するものとして特定するのでもよく、更に、１つの特定のフレームよりも前のフレームの間に取り込まれた履歴タッチ・データーを使用する経験的方法を適用せずに、複数のタッチ・ポイントの内第３部分集合が、任意のユーザーによって行われたタッチに対応するものとして一意に判断することができないことから、第３部分集合を曖昧であると判断することを含むのでもよい。  
【００１０】
例の中には、複数のタッチ・ポイントの内少なくとも１つのタッチ・ポイントを、第１ユーザーによって行われたタッチに対応するものとして特定することが、複数のタッチ・ポイントに対する１つ以上の有効なユーザー割り当てを特定することを含むのでもよい。複数のタッチ・ポイントに対する有効な各ユーザー割り当てが、複数のタッチ・ポイントの各々の複数のユーザーの内１人のみに対する割り当てを示し、複数のユーザーが、第１ユーザーおよび第２ユーザーを含むのでもよい。これらの実現例では、複数のタッチ・ポイントに対して１つ以上の有効なユーザー割り当てを特定することが、予備のアルゴリズムを適用することによって、複数のタッチ・ポイントの内部分集合における各タッチ・ポイントの複数のユーザーの内１人に対する一意の割り当てを判定することを含むのでもよい。複数のタッチ・ポイントからの部分集合の除去の後、複数のタッチ・ポイントに対応する縮小組のタッチ・ポイントを生成するのでもよい。縮小組のタッチ・ポイントにおけるタッチ・ポイントの可能なユーザー割り当てを特定するのでもよい。特定された可能なユーザー割り当て毎に、複数のユーザーの内特定のユーザー毎に、特定のユーザーについての行タッチ・データーにおいてタッチされたことが分かる第１アレイにおける特定の導体毎に、および特定のユーザーについての列タッチ・データーにおいてタッチされたことが分かる特定の導体毎に、特定された可能なユーザー割り当てが、特定のユーザーに、縮小組から、第１アレイにおける特定の導体に対応する位置を有する少なくとも１つのタッチ・ポイントと、第２アレイにおける特定の導体に対応する位置を有する縮小組からの少なくとも１つのタッチ・ポイントとを割り当てる場合、特定された可能なユーザー割り当てを有効であると指定するのでもよい。有効と指定された可能なユーザー割り当てを、予備のアルゴリズムによって判定された部分集合におけるタッチ・ポイントの一意の割り当てと組み合わせて、複数のタッチ・ポイントに対する１組の１つ以上の有効なユーザー割り当てに到達するのでもよい。
【００１１】
これらの実現例では、予備のアルゴリズムを適用することによって複数のタッチ・ポイントの部分集合における各タッチ・ポイントの一意の割り当てを判定することが、複数のタッチ・ポイントから１つを選択し、タッチ・ポイント位置データーから選択されタッチ・ポイントの二次元位置にアクセスすることを含むのでもよい。選択されたタッチ・ポイントの位置は、第１アレイにおける第１導体と第２アレイにおける第２導体との対として示されるのでもよい。複数のユーザーの各々に対して、ユーザーについての行タッチ・データーおよび列タッチ・データーにアクセスするのでもよく、ユーザーについての行タッチ・データーおよびユーザーについての列タッチ・データーが、ユーザーが第１導体および第２導体にタッチしていることを示すか否か判断するのでもよい。ユーザーについての行タッチ・データーおよびユーザーについての列タッチ・データーが、ユーザーが第１導体および第２導体にタッチしていると判断したか否かに基づいて、ユーザーを、選択されたタッチ・ポイントに対する候補ユーザーのプールに追加することを含むのでもよい。選択されたタッチ・ポイントに対する候補ユーザーのプールが１人のユーザーのみを含むか否か判定を行うのでもよい。候補ユーザーのプールが１人のユーザーのみを含むと判定されたか否かに基づいて、選択されたタッチ・ポイントを１人のユーザーに一意に割り当て、これによって選択されたタッチ・ポイントを部分集合に含ませるのでもよい。候補ユーザーのプールが複数のユーザーを含むと判定されたか否かに基づいて、選択されたタッチ・ポイントを部分集合に含ませないのでもよい。
【００１２】
縮小組のタッチ・ポイントにおけるタッチ・ポイントの可能なユーザー割り当てを特定することは、Ｘ＾Ｙ通りの異なるユーザー割り当てを特定することを含むのでもよく、ここで、Ｘが複数のユーザーの数に等しく、Ｙが縮小組のタッチ・ポイントにおけるタッチ・ポイントの数に等しい。縮小組のタッチ・ポイントにおけるタッチ・ポイントの可能なユーザー割り当てを特定し、そして特定された可能なユーザー割り当てを有効であると指定することが、ユーザー割り当て構成ツリーの異なるノードによって表される異なる可能なユーザー割り当ての有効性を選択的に分析する反復アルゴリズムを適用するステップを含むのでもよい。反復アルゴリズムが、可能なユーザー割り当てのより大きな集合を表すユーザー割り当て構成ツリーにおけるより高いレベルのノードを分析することから、より小さな集合または１つの可能なユーザー識別を表すユーザー割り当て構成ツリーにおけるより低いレベルのノードを分析することまで選択的に進めることによって、異なる可能なユーザー割り当ての有効性を選択的に分析するのでもよい。
【００１３】
予備のアルゴリズムを適用することによって複数のタッチ・ポイントの部分集合における各タッチ・ポイントの一意の割り当てを判定することが、部分集合における各タッチ・ポイントの複数のユーザーの内１人への曖昧でない割り当てを生成することを含むのでもよい。複数のタッチ・ポイントに対して１つ以上の有効なユーザー割り当てを特定することが、複数のタッチ・ポイントに対して複数の有効なユーザー割り当てを特定することを含むのでもよい。複数の有効なユーザー割り当ての中から、１つの特定の有効ユーザー割り当てを最も精度が高いユーザー割り当てとして選択するために、履歴タッチ・ポイント・データーを使用する経験的アルゴリズムを適用するのでもよい。
【００１４】
以上に記載した技法の実現例は、ハードウェア、少なくとも部分的にハードウェアで実現される方法またはプロセス、あるいは実行可能命令がエンコードされ、これらをプロセッサーによって実行すると動作を実行するコンピューター読み取り可能媒体を含むことができる。
【００１５】
添付図面および以下の説明において、１つ以上の実現例の詳細を定める。他の特徴は、この説明および図面、ならびに特許請求の範囲から明白であろう。
【図面の簡単な説明】
【００１６】
【図１】図１は、タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびｍ＋ｎ個のタッチ・データーを示す図である。
【図２】図２は、タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびｍ＋ｎ個のタッチ・データーを示す図である。
【図３】図３は、タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびユーザー特定のｍ＋ｎ個のタッチ・データーを示す図である。
【図４】図４は、 タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびユーザー特定のｍ＋ｎ個のタッチ・データーを示す図である。
【図５】図５は、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーに基づいてタッチ・ポイントを異なるユーザーに割り当てるために使用するプロセスを示すブロック図である。
【図６】図６は、タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびユーザー特定のｍ＋ｎ個のタッチ・データーを示す図である。
【図７】図７は、タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびユーザー特定のｍ＋ｎ個のタッチ・データーを示す図である。
【図８】図８は、タッチ・センサー格子、ｍ×ｎ個のタッチ・データー、およびユーザー特定のｍ＋ｎ個のタッチ・データーを示す図である。
【図９】図９は、１組の検出されたタッチ・ポイントに対して可能な複数の異なるユーザー割り当て構成を示すツリー図である。
【図１０】図１０は、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーに基づいてタッチ・ポイントを異なるユーザーに割り当てるために使用するプロセスを示すブロック図である。
【図１１】図１１は、１組の検出されたタッチ・ポイントに対して可能な複数の異なるユーザー割り当て構成を示すツリー図である。
【図１２】図１２は、ｍ＋ｎ個のタッチ・データーを取り込むように構成されたタッチ・センサー・システムの図である。
【図１３】図１３は、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーを取り込むように構成されたタッチ・センサー・システムの図である。
【図１４】図１４は、図１３のタッチ・センサー・システムのタッチ・センサー格子が、ｍ×ｎ個のタッチ・データーを取り込み、更にｍ＋ｎ列タッチ・データーを取り込むために付勢されたときの、タッチ・センサー・システムの図である。
【図１５】図１５は、図１３のタッチ・センサー・システムのユーザー・デバイスが、ユーザー特定のｍ＋ｎ行タッチ・データーを取り込むために付勢されたときの、タッチ・センサー・システムの図である。
【図１６】図１６は、フレームのタイム・スロットへの分割を示す図である。
【図１７】図１７は、ユーザー・デバイスのブロック図である。
【図１８】図１８は、１つの電極において信号を送りそして受ける回路のブロック図である。
【００１７】
種々の図面における同様の参照番号および名称は、同様の要素を示すこととする。
【発明を実施するための形態】
【００１８】
容量性タッチ・センサーは、二次元格子に配列され導痛する行および列を含むことができる。これらの行および列導体の具体的な外形は、これらを実現するために使用される導電性物質にしたがって、様々に変化する可能性がある。例えば、行および列をダイアモンド・パターンに配列し、導電性物質として酸化インディウム錫を使用してもよい。または、タッチ・センサーをディスプレイの前に配するときに目立たないように十分に薄い金属ワイヤ（例えば、銅または銀ワイヤ）を使用して、行および列を形成してもよい。導体の具体的な外形には関係なく、センサーは、以下の２つの方法の１つで、タッチを検知することができる。（１）各行から各列への容量を測定する、または（２）各行および各列から他の任意のノードへの容量を測定する。他のノードはコントローラー回路の接地ノードであることが多いが、必ずしもそうでなくてもよい。いずれの場合でも、センサーは、例えば、ユーザーの指によるタッチが、検査対象の容量に対して何らかの効果を有し、これによって検出されるように設計すればよい。ｍ行およびｎ列を有するセンサーでは、ｍ×ｎの可能な容量が、行から列に存在し、ｍ＋ｎの可能な容量が行または列から他の何らかのノード（例えば、ｍの容量が行に存在し、ｎの容量が列に存在し、合計でｍ＋ｎ個の可能な容量となる）に存在する。タッチ・センサーのｍ×ｎ格子の各行から各列への容量を測定することによって得られた測定データーを、以後、ｍ×ｎ個のタッチ・データーまたは全ユーザーのｍ×ｎ個のタッチ・データーと呼ぶこととし、ｍ×ｎ格子の各行および各列から他の何らかのノードの容量を測定することによって得られた測定データーを、以後、ｍ＋ｎ個のタッチ・データーと呼ぶこととする。通例、ｍ×ｎ個のタッチ・データーおよびｍ＋ｎ個のタッチ・データーは、タッチ・センサーを同時にタッチした異なるユーザーからのタッチ間では区別しない。その上、そして、以下で更に説明するように、ｍ＋ｎ個のタッチ・データーだけでは、タッチ・センサーの格子上における全てのタッチ・ポイントの位置を曖昧さなく解明することはできないであろう。異なるタッチを異なるユーザーに割り当てるため、そしてｍ＋ｎ個のタッチ・データーにおける曖昧さに取り組むために、経験的方法を使用するとよいが、このような方法だけを使用すると、タッチの数が増えるに連れて、誤りも増える傾向がある。しかしながら、以下で更に詳細に説明するように、タッチ・センサーはｍ×ｎ個のタッチ・データーを測定することができ、ユーザー特定のｍ＋ｎ個のタッチ・データーは、ｍ＋ｎ個のタッチ・データーを一義化し、経験的方法または他の代替方法のみを使用して可能であると思われるよりも高い精度で、検出した異なるタッチを異なるユーザーに割り当てることができる。
【００１９】
先に述べたように、ｍ×ｎ個のタッチ・データーは、ｍ×ｎ格子の各行から各列の容量を測定することによって得られる（ｍ×ｎ個の測定値に対応する）。これらの測定を行うことによって、複数のタッチの任意の組み合わせを解明することができる。ｍ×ｎ個の測定値は、ディスプレイのビットマップ画像を形成し、所与のポイントにおける容量の増大または減少（そのポイントにおける基準線容量と比較して）がタッチに対応する。したがって、ｍ×ｎ個のタッチ・データーは、完全なエリアにわたるタッチ・データーとして参照することもできる。ｍ×ｎ個のタッチ・データーを取り込むように構成されたタッチ・センサーは、したがって、同時のタッチ・ポイント数には関係なく、タッチ・ポイントの位置を正しく判定できるのが通例である。
【００２０】
対照的に、タッチ・センサーが、ｍ×ｎ格子の各行および各列から他の何らかのノードへの容量を測定することによって、ｍ＋ｎ個のタッチ・データーだけを測定するように構成されている場合（ｍ＋ｎ個の測定値に対応する）、利用可能な自由度が減少する。ｍ＋ｎ個のタッチ・データーは、格子のｘ軸またはｙ軸に投射されたタッチ・ポイントと見なすことができるので、ｍ＋ｎ個のタッチ・データーを、軸状に投射されたタッチ・データーと呼ぶこともある。単に計数法によって、これらのｍ＋ｎ個の測定値のみを使用してフル・ビットマップ画像（即ち、完全なエリアにわたるタッチ・データー）を再現することは、難しいであろう。しかしながら、以下で更に詳しく説明するように、１つのタッチでも、そのタッチの位置が曖昧さなく解明される。
【００２１】
図１は、タッチ・センサー格子の一例１００、ならびに対応する行タッチ・データー１１０および列タッチ・データー１２０を示す図である。とりわけ、行に対する列というような、１つの特定の軸の指定は任意である。格子１００は、０から４までの番号が振られている５つの行と、０から１１までの番号が振られている１２の列とを有する。格子１００は５つの行および１２の列のみを有するように示されているが、行および列の数は様々であってよい。例えば、典型的なタッチ・センサーのタッチ・センサー格子は、数百の行および列を有する。格子１００上におけるタッチの位置は、列数を反映するｘ座標と、行数を反映するｙ座標とを有するタッチ・ポイントによって表すことができる。図１は、位置（ｘ、ｙ）＝（５，２）における１つのタッチ・ポイント１０１を示し、これは格子１００上のこの位置におけるタッチを表す。このタッチによって、各列から他のいずれかのノードへの容量の測定において、位置５に信号が生成され、各行から他のいずれかのノードへの容量の測定において位置２に信号が生成される。このタッチに応答してタッチ・センサーによって生成される対応の列タッチ・データーは、図１において、列５における列タッチ１２１および行２における行タッチ１１１を含むものとして示されている。
【００２２】
１回のタッチで、ｍ＋ｎ個の測定値のみを使用して、格子１００上における対応するタッチ・ポイントの位置を曖昧さなく判定することができる。即ち、格子１００の５つの行の各々について行から他のノードへの容量の測定値を表す行タッチ・データー１１０のみを使用して、更に格子１００の１２の列の各々について列から他のノードへの容量の測定値を表す列タッチ・データー１２０のみを使用して、対応するタッチ・ポイントの位置を曖昧さなく判定することができる。しかしながら、複数のタッチがある場合、１つのタッチ・ポイントの位置を曖昧さなく解明することは、もはや、ｍ＋ｎ個の測定値を使用するのでは、不可能であろう。
【００２３】
例えば、図２において、格子１００上に２つのタッチがある。第１のタッチは、位置（ｘ、ｙ）＝（５，２）におけるタッチ・ポイント２０１によって表され、第２のタッチは、位置（ｘ、ｙ）＝（１，０）におけるタッチ・ポイント２０２によって表される。したがって、対応する列タッチ・データー１２０は、列１における列タッチ２２２、および列５における列タッチ２２１を含み、対応する行タッチ・データー１１０は、行０における行タッチ２１２、および行２における行タッチ２１１を含む。
【００２４】
とりわけ、図２に示すｍ＋ｎ個のタッチ・データーは、２つのタッチ・ポイント２０１および２０２の位置にデーターを曖昧さなくマッピングできないということから、曖昧である。即ち、行および列に沿った容量の正確な同じ構成が、（１、２）および（５，０）におけるタッチ・ポイントによって生成される。例えば、タッチ・ポイントの履歴に基づいて、ｍ＋ｎ個のタッチ・データーの曖昧さを除去するために、経験的方法を使用することもできる。このような経験的方法は、タッチ・ポイントの履歴を利用して、例えば、列｛５｝および行｛２｝のみに接触したことを示すデーターから、列｛１．５｝および行｛０．２｝に接触したことを示すデーターにｍ＋ｎ個のタッチ・データーが変化した場合、（５，２）におけるタッチ・ポイントが残っており、（１，０）におけるポイントが追加されたことの方が、（５，２）におけるタッチ・ポイントが上げられ(lift)、（１，２）および（５，０）における２つのポイントが追加されたことよりも可能性が高いと判断することができる。しかしながら、このように動作する経験的方法は、２つ以上のタッチ・ポイントを有する構成には、ときの経過とともに訳に立たなくなる場合がある。具体的には、タッチ・ポイントの数が増えるに連れて、所与の構成に対して可能な解の数も増えて、正しくない結果が生ずる可能性も高くなると考えられる。
１．Ｍ×Ｎ個のタッチ・データーおよびユーザ特定のＭ+Ｎ個のタッチ・データーを使用して、タッチ・データーの曖昧さを除去し、タッチ・ポイントのユーザー割り当てを判断する。
【００２５】
ｍ＋ｎ個のタッチ・データーしか入手可能でない場合、以上で記載した経験的方法は、利用できる最良の解決策であるかもしれない。しかしｍ×ｎ個のタッチ・データーも入手可能である場合、ｍ×ｎ個のタッチ・データーを使用すれば、ｍ＋ｎ個のタッチ・データーの曖昧さを除去することができる。例えば、図２に示した場合では、（１，２）および（５，０）におけるポイントによる解を拒否することができる。何故なら、ｍ×ｎ個のタッチ・データーは位置（１，２）におけるタッチを示さないからである。
【００２６】
これまでに記載した場合では、これは有用であるとは言えない。即ち、ｍ×ｎ個のタッチ・データーが入手可能な場合、ｍ×ｎ個のタッチ・データーから直接作用する(working)タッチ・ポイントを特定することが好ましく、タッチ・ポイント識別に対するｍ＋ｎ個のタッチ・データーの獲得および使用が過剰であり不要となる。ある状況では、しかしながら、ユーザー毎に独立してｍ＋ｎ個のタッチ・データーを測定することが可能であるが、全てのユーザーについてｍ×ｎ個のタッチ・データーを同時に測定することしかできない。例えば、ユーザーＡがタッチしたポイントが、ユーザーＡのｍ＋ｎ個のタッチ・データーに表れ、ユーザーＢのｍ＋ｎ個のタッチ・データーには表れず、ｍ×ｎ個のデーターには表れ、そしてユーザーＢがタッチしたポイントが、ユーザーＢのｍ＋ｎ個のタッチ・データーに表れ、ユーザーＡのｍ＋ｎ個のタッチ・データーには表れず、ｍ×ｎ個のデーターには表れる。
【００２７】
タッチ・ポイントの位置だけでなく、対応するユーザーがタッチ・センサーにタッチしたことの識別も判断したい場合、ｍ＋ｎ個のタッチ・データーは、ｍ×ｎ個のタッチ・データー程タッチ・ポイントの特定には有用ではないが、タッチ・ポイントを異なるユーザーに割り当てるには有用であり続ける。とりわけ、ｍ＋ｎ個のタッチ・データーをこのように利用するためには、ｍ＋ｎ個のタッチ・データーは、通例、ユーザー特定であるはずである。即ち、タッチ・センサー・システムは、センサーにタッチするユーザー毎に、ｍ＋ｎ個の異なるタッチ・データーを取り込むことができる。
【００２８】
図３は、タッチ・センサー格子の一例３００、ならびに第１ユーザー（即ち、ユーザーＡ）についての対応する行タッチ・データー３１０および列タッチ・データー３２０、そして第２ユーザー（即ち、ユーザーＢ）についての対応する行タッチ・データー３３０および列タッチ・データー３４０を示す図である。格子３００は、図１の格子１００に対応し、その代表的実現例である。行タッチ・データー３１０および列タッチ・データー３２０は、合わせてユーザーＡについてのｍ＋ｎ個のタッチ・データーを表し、行タッチ・データー３３０および列タッチ・データー３４０は、合わせてユーザーＢについてのｍ＋ｎ個のタッチ・データーを表す。
【００２９】
図３に示すように、列タッチ・データー３２０は、ユーザーＡが列｛１，５｝にタッチしていることを示す列タッチ３２１および列タッチ３２２を含み、行タッチ・データー３１０は、ユーザーＡが行｛０，２｝にタッチしていることを示す行タッチ３１１および行タッチ３１２を含む。したがって、ユーザーＡのｍ＋ｎ個のタッチ・データーのみに基づいて可能なタッチ・ポイント位置を考えると、ユーザーＡは、（５，２）および（１，０）、または（１，２）および（５，０）、あるいはこれらのポイントのいずれか３つ、あるいは４つのポイント全てにおいてタッチしているかもしれない。しかしながら、ｍ×ｎ個のタッチ・データーを使用すると、可能なタッチ・ポイント位置を狭める（即ち、曖昧さを除去する）ことができ、この特定の例では、ユーザーＡが、それぞれタッチ・ポイント３０１およびタッチ・ポイント３０２によって表される（５，２）および（１，０）においてタッチしていると、確実に結論付けることができる。具体的には、ｍ×ｎ個のタッチ・データーは（１，２）や（５，０）におけるポイントを含まないので、これら２つのポイントを拒否することができ、正しい解である（５，２）および（１，０）だけが残る。
【００３０】
また、図３に示すように、ユーザーＢの列タッチ・データー３４０は、ユーザーＢが列｛８｝にタッチしていることを示す列タッチ３４１を含み、ユーザーＢの行タッチ・データー３３０は、ユーザーＢが行｛３｝にタッチしていることを示す行タッチ３３１を含む。つまり、ユーザーＢのｍ＋ｎ個のタッチ・データーは、ユーザーＢが、タッチ・ポイント３０３によって表される点（８，３）においてタッチしていることを曖昧さなく示す。したがって、ユーザー特定のｍ＋ｎ個のタッチ・データーおよび全ユーザーのｍ×ｎ個のタッチ・データーの双方を使用することによって、各タッチ・ポイントの位置が曖昧さなく解明され（ｍ×ｎ個のタッチ・データーがなければ不可能であった）、各タッチ・ポイントに対応するユーザーの識別も判定することができる（ユーザー特定のｍ＋ｎ個のタッチ・データーがなければ不可能であった）。
【００３１】
1人のユーザーが複数のポイントにタッチしている場合、または複数のユーザーが各々１つのポイントのみにタッチしている場合はいずれも、以上の推論(reasoning)と同様の方法によって、曖昧さなく、各タッチ・ポイントを突き止め、ユーザー識別を各タッチ・ポイントに割り当てる。しかし、複数のユーザーが各々複数のポイントにおいてタッチしている構成は、曖昧になる場合がある。
【００３２】
例えば、図４において、ユーザーＡについての行タッチ・データー３１０およびユーザーＢについての行タッチ・データー３３０は、双方のユーザーが行｛０，２｝においてタッチしていることを示す行タッチ４１１、４１２、４３１、および４３２を含む。同様に、ユーザーＡについての列タッチ・データー３２０、およびユーザーＢについての列タッチ・データー３４０は、双方のユーザーが列｛１，５｝に接触していることを示す列タッチ４２１、４２２、４４１、および４４２を含む。したがって、ｍ＋ｎ個のタッチ・データーは、いずれかのユーザーが（５，２）および（１，０）、または（１，２）および（５，０）においてタッチしているかもしれないことを示す。しかし、ｍ×ｎ個のデーターは、これらの位置の全てにおけるポイント（即ち、タッチ・ポイント４０１〜４０４）を含む。したがって、ユーザーＡが（５．２）および（１，０）においてタッチしており、ユーザーＢが（１，２）および（５，０）においてタッチしているか否か、またはユーザーＢが（５，２）および（１，０）においてタッチしており、ユーザーＡが（１，２）および（５，０）においてタッチしているか否か判断することは可能でない場合がある。この曖昧さは、ｍ＋ｎ個のタッチ・データーのみから作業するときに曖昧さを解明するために使用されたのと同じタイプの経験論を使用することによって解明することができる。例えば、この曖昧さは、経時的にタッチ・ポイントの位置（および、可能であれば、他の値、例えば、速度）の変化を最小に抑える解を選択することによって解明することができる。
【００３３】
各タッチ・ポイントに対応する位置およびユーザー識別を判定するための完全なアルゴリズムは、各ユーザーのｍ＋ｎ個のタッチ・データーから開始し、これらの値をタッチ・ポイントにマッピングしつつ、ｍ×ｎ個のタッチ・データーによってあらゆる曖昧さを解明することができる。あるいは、このアルゴリズムは、全ユーザーのｍ×ｎ個のタッチ・データーから開始し、各ポイントに対応するユーザーを特定しようとすることもできる。実用的な実現例では、後者の手法が好ましい。何故なら、ｍ×ｎ個のタッチ・データーの方が通例含まれるノイズが少ないからである。このために、報告されるタッチ・ポイントの（ｘ、ｙ）位置のノイズが減り、何も生じていないときにタッチが報告される確率、または有効なタッチが無視される確率が低下する。
【００３４】
図５は、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーに基づいて、タッチ・ポイントを異なるユーザーに割り当てるために使用することができるプロセス５００を示すブロック図である。プロセス５００は、以下のアルゴリズムを表す。
【００３５】
【表１】
2014504773.tif 000003
【００３６】
図５を参照すると、関数Assign_simplifiedへのコールの一部として、タッチ・ポイントのリストがｍ×ｎ個のデーターから特定され、受け取られる（５０２）。このタッチ・ポイントのリストから、分析すべき現在のタッチ・ポイントとして、１つのタッチ・ポイントが選択される。このタッチ・ポイントは、（ｘ’、ｙ’）に位置する（５０４）。候補ユーザーのリストがクリアされる（５０６）。
【００３７】
複数のユーザーの中からユーザーＫを選択した後、そしてユーザーＫについてのｍ＋ｎ個のタッチ・データーにアクセスした後、このユーザーＫについてのｍ＋ｎ個のタッチ・データーが、ユーザーＫが列ｘ’および行ｙ’の双方においてタッチを有するか否か判定するために使用される（５０８）。ユーザーＫが列ｘ’においてタッチを有してない場合、および／または行ｙ’においてタッチを有していない場合、複数のユーザーの中から次のユーザーがユーザーＫとして選択され、本プロセスは動作５０８に戻る。ユーザーＫが列ｘ’においてタッチを有し、行ｙ’においてタッチを有する場合、現在のタッチ・ポイントに対する候補ユーザーのリストに、ユーザーＫが追加される（５１０）。次いで、複数のユーザーの中からユーザーＫとして、次のユーザーが選択され、本プロセスは動作５０８に戻る。これによって、複数のユーザーの各々について、動作５０８および５１０が繰り返される。
【００３８】
複数のユーザーの各々について動作５０８および／または５１０が完了すると、現在のタッチ・ポイントに対する候補ユーザーのリストが完結され、０人のユーザーから全てのユーザーまで含むことがあり得る。現在のタッチ・ポイントに対する候補ユーザーのリストが、１人のユーザーしか含まないのか否か判定を行う（５１２）。このリストが１人のユーザーしか含まない場合、現在のタッチ・ポイントはこの対応するユーザーに割り当てられる（５１４）。このリストがユーザーを含まない場合（通例、本システムが、タッチ・センサーにタッチした少なくとも１人のユーザーについてのｍ＋ｎ個のタッチ・データーを失っていることを示す）、または複数のユーザーを含む場合、現在のタッチ・ポイントは1人のユーザーには割り当てられず、曖昧であると識別される（５１６）。タッチ・ポイントのリストから、現在のタッチ・ポイントとして次のタッチ・ポイントが選択され、本プロセスは動作５０４に戻る。このようにして全てのタッチ・ポイントが分析された後、プロセス５００は終了する（５１８）。
【００３９】
とりわけ、以上で示しプロセス５００によって表されるアルゴリズムは、タッチ・ポイントのある種の構成が曖昧であると誤って識別する。例えば、図６において、ユーザーＡおよびユーザーＢ双方が、タッチ・ポイント６０１によって表される（１，２）におけるタッチ・ポイントと一致するｍ＋ｎ個のタッチ・データーを有する。即ち、ユーザーＡについての行タッチ・データー３１０およびユーザーＢについての行タッチ・データー３３０は、双方のユーザーが行｛２｝にタッチしていることを示す行タッチ６１１および６３１を含む。同様に、ユーザーＡについての列タッチ・データー３２０およびユーザーＢについての列タッチ・データー３４０は、双方のユーザーが列｛１｝にタッチしていることを示す行タッチ６２１および６４１を含む。以上のアルゴリズムでは、（１，２）におけるタッチ・ポイント６０１に対して２人のユーザーを含む候補ユーザーのリストを生成し、したがって、この状態を曖昧であると識別する。しかしながら、注意しなければならないのは、ユーザーＢについてのｍ＋ｎ個のタッチ・データーは、ユーザーＢが１つのポイントにおいてしかタッチしていないことを示すので、そのポイントは（１，２）に位置するタッチ・ポイント６０１でなければならず、他の２つのポイント６０２および６０３は、ユーザーＡに割り当てられる（そして、ユーザーＡの列タッチ６２１および６２２並びにユーザーＡの行タッチ６１１および６１２に対応する）ことである。同様の状況は、図７に示すように、複数のユーザーが各々複数のポイントにタッチしているという構成においても起こる場合がある。
【００４０】
プロセス５００によって表されるアルゴリズムは、曖昧なユーザー割り当て構成をもっと正しく検出するように改良することができる。ユーザーのｍ＋ｎ個の行タッチ・データーにおいてタッチされていると思われるあらゆるｘ値、およびユーザーのｍ＋ｎ個の列タッチ・データーにおいてタッチされていると思われるあらゆるｙ値について、ユーザーにそのｘまたはｙ値を有する少なくとも１つのタッチ・ポイントが割り当てられている場合にのみ特定のユーザー割り当て解が有効であることを認識することによって、改良アルゴリズムは明白になる。つまり、改良アルゴリズムは、ユーザー毎に、ユーザーのｍ＋ｎ個の列タッチ・データーにおいてタッチされていると思われるあらゆるｘ値、およびユーザーのｍ＋ｎ個の行タッチ・データーにおいてタッチされていると思われるあらゆるｙ値に対して、ユーザーにそのｘまたはｙ値を有する少なくとも１つのタッチ・ポイントが割り当てられているか否か判断することによって、有効な割り当て構成を検査することができる。ユーザー割り当て構成が、対応するｘまたはｙ値を有する少なくとも１つのタッチ・ポイントを割り当てない場合、このユーザー割り当て構成は、取り込まれたタッチ・データーに一致しないとして、したがって無効であるとして、破棄されればよい。つまり、プロセス５００の適用によって、所与のタッチ・ポイントに対する候補者のリストに、１人よりも多いユーザーが現れた場合、可能な割り当て構成の全てを繰り返し考慮し、以上の制約を満たさない解をいずれも拒否すればよい。この場合、ユーザー割り当て処理を実行するアプリケーションの実行時間は、可能な曖昧タッチ・ポイントの数と共に指数的に増大する。
【００４１】
図８は、７つのタッチ・ポイントを示すタッチ・センサー格子の一例３００を示す図である。図８に示すように、ユーザーＡの行タッチ・データー３１０は、ユーザーＡが行｛０，１，２，４｝にタッチしていることを示す行タッチ８１１、８１２、８１３、および８１４を含み、ユーザーＡの列タッチ・データー３２０は、ユーザーＡが列｛１，５，７，１０｝にタッチしていることを示す列タッチ８２１、８２２、８２３を含む。ユーザーＢの行タッチ・データー３３０は、ユーザーＢが行｛１，２，４｝にタッチしていることを示す行タッチ８３１、８３２、および８３３を含み、ユーザーＢの列タッチ・データー３４０は、ユーザーＢが列｛１，７，１０｝にタッチしていることを示す列タッチ８４１、８４２、および８４３を含む。ｍ×ｎ個のタッチ・データーは、それぞれ、タッチ・ポイント８０１，８０２、８０３、８０４、８０５、８０６、８０７によって表される、｛（１，０）、（５，２）、（１，２）、（７，１）、（７，４）、（１０，１）、（１０，４）｝における７つのタッチ・ポイントの検出を示す。
【００４２】
ユーザー特定のｍ＋ｎ個のタッチ・データーを考慮しないと、図８に示す７つのタッチ・ポイントに対して、１２８通りの可能なユーザー割り当て構成が存在する。これは、２＾７に対応し、数値「２」はユーザーの人数を表し（即ち、２人のユーザー＝ユーザーＡおよびユーザーＢ）、数値「７」は検出された異なるタッチ・ポイントの数を表す。しかしながら、ユーザー割り当て構成の数は、プロセス５００によって表されるアルゴリズムの適用によって、ユーザー特定のｍ＋ｎ個のタッチ・データーを考慮に入れることによって、減少させることができる。具体的には、プロセス５００によって表されるアルゴリズムを適用することによって、タッチ・ポイント８０１によって表されるタッチ・ポイント（１，０）、およびタッチ・ポイント８０２によって表されるタッチ・ポイント（５，２）が、ユーザーＡに割り当てられる。つまり、プロセス５００によって表されるアルゴリズムを適用すると、可能なユーザー割り当て構成の数が１２８から３２に減少することになる。３２は、２＾５に対応する（即ち、ユーザーの人数＾割り当てられるために残っているタッチ・ポイントの数）。
【００４３】
図９は、プロセス５００によって表されるアルゴリズムの適用後に残っている、異なる可能なユーザー割り当て構成の数を表すツリー図である。図９における各ブロックは、５つの残っているタッチ・ポイント（１，２）における８０３、（７，１）における８０４、（７，４）における８０５、（１０，１）における８０６、および（１０，４）における８０７に対する所与のユーザー割り当て構成を示す。ユーザー割り当て構成は、割り当てられるために残っている５つのタッチ・ポイントに対応する１組で５つの文字によって表される。５つの文字の各々は、特定のユーザー割り当て構成において対応するタッチ・ポイントがＡに割り当てられることを示す「Ａ」、特定のユーザー割り当て構成において対応するタッチ・ポイントがＢに割り当てられることを示す「Ｂ」、または対応するタッチ・ポイントが割り当てられていないままであることを示す「ｘ」のいずれかである。例えば、５つの文字「Ａ，Ｂ，Ｂ，Ａ，ｘ」は、（１，２）におけるタッチ・ポイント８０３がＡに割り当てられており、（７，１）におけるタッチ・ポイントがＢに割り当てられており、（７，４）におけるタッチ・ポイント８０５がＢに割り当てられており、（１０，１）におけるタッチ・ポイント８０６がＡに割り当てられており、（１０，４）におけるタッチ・ポイント８０７はこの特定のユーザー割り当て構成では割り当てられないままになっていることを示す。
【００４４】
図９に示すように、ユーザーＡおよびＢの組み合わせに５つ全ての残っているタッチ・ポイントを割り当てる、３２通りの異なるユーザー割り当て構成が可能である。先に説明した検査は、３２通りの可能なユーザー割り当て構成の各々に適用すると、取り込まれたタッチ・データーに関して有効なユーザー割り当て構成の数を更に減少させることができる。具体的には、既に述べたように、特定のユーザー割り当て構成の有効性の検査は、ユーザー毎に、ユーザーのｍ＋ｎ個の行タッチ・データーにおいてタッチされていると思われるあらゆるｘ値、およびユーザーのｍ＋ｎ個の列タッチ・データーにおいてタッチされていると思われるあらゆるｙ値について、ユーザーにそのｘまたはｙ値を有する少なくとも１つのタッチ・ポイントが割り当てられているか否か判断することによって行うことができる。特定のユーザー割り当て構成が、対応するｘまたはｙ値を有する少なくとも１つのタッチ・ポイントを割り当てていない場合、このユーザー割り当て構成は、取り込まれたタッチ・データーに一致しないとして、したがって無効であるとして、破棄されればよい。この検査を３２通りの可能なユーザー割り当て構成に適用することによって、可能なユーザー割り当て構成の数を３２から２通りの有効なユーザー割り当て構成に更に減少させる。これら特定された２つの有効なユーザー割り当て構成（有効な解とも呼ぶ）は、（１）「ＢＡＢＢＡ」（即ち、ユーザーＡにはタッチ・ポイント｛（７，１）、（１０，４）｝が割り当てられ、ユーザーＢにはタッチ・ポイント｛（１，２）、（７，４）、（１０，１）｝が割り当てられる）、および（２）「ＢＢＡＡＢ」（即ち、ユーザーＡにはタッチ・ポイント｛（７，４）、（１０，１）｝が割り当てられ、ユーザーＢにはタッチ・ポイント｛（１，２）、（７，１）、（１０，４）｝が割り当てられる）である。注意すべきことは、実際の２つの有効なユーザー割り当て構成は、付加的に、ユーザーＡに対するタッチ・ポイント｛（１，０）、（５，２）｝の割り当てを含むことである。これは、プロセス５００によって表されるアルゴリズムの実行によって判定される。つまり、特定された２つの実際の有効な割り当て構成は次のようになる。（１）ユーザーＡにはタッチ・ポイント｛（１，０）（５，２）、（７，１）、（１０，４）｝が割り当てられ、ユーザーＢにはタッチ・ポイント｛（１，２）、（７，４）、（１０，１）｝が割り当てられる）。（２）ユーザーＡにはタッチ・ポイント｛（１，０）、（５，２）、（７，４）、（１０，１）｝が割り当てられ、ユーザーＢにはタッチ・ポイント｛（１，２）、（７，１）、（１０，４）｝が割り当てられる。
【００４５】
注意すべきことは、図８および図９によって示された例において、プロセス５００によって表されるアルゴリズムの適用、次いで先に注記した検査の適用によって、可能な有効割り当て構成（または解）の数が真に曖昧な２つの割り当て構成に減少することである。更に一般的には、プロセス５００によって表されるアルゴリズムの適用、および先に注記した検査の適用によって、可能な割り当て解の数を複数の真に曖昧な解に、または１つの一意の解に狭めることができる。しかしながら、複数の解が特定された場合、経験的方法を使用して、これら複数の特定された解の中から選択することができる。しかしながら、経験的方法によって採用される計算は、これらの方法が、特定された真に曖昧な解から絞り込まれた１組の中にあるユーザー割り当て解の間で区別すればよいことから簡略化され、これによって誤りの可能性が低下する。
【００４６】
しかしながら、可能な残りのユーザー割り当て構成の各々に先に注記した検査を適用すると、計算集約的になると考えられる。即ち、検査しなければならない、可能なユーザー割り当て構成の数は、プロセス５００によって表されるアルゴリズムの適用後に残っている、可能な曖昧タッチ・ポイントの数と共に指数的に増大する。
【００４７】
これを回避するために、改良アルゴリズムは、プロセス５００によって表されるアルゴリズムにしたがって、曖昧でない全てのポイントを割り当てることによって開始することができる。次いで、複数の候補ユーザーがあるポイントについて、可能な全ての場合を繰り返し考慮することができる。サーチするパスの数を減らすために、ユーザーが所与の列または行においてタッチを有するが、そのユーザーにはそのｘまたはｙ座標を有するポイントが割り当てられておらず、更にそのｘまたはｙ座標を有する未割り当てポイントがない場合、パスを拒否することができる。何故なら、このようなパスは決して正しい解には至ることができないからである。
【００４８】
図１０は、図５に示したプロセス５００の適用後に、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーに基づいて、タッチ・ポイントを異なるユーザーに割り当てるために使用することができるプロセス１０００を示すブロック図である。プロセス１０００は、プロセス５００にしたがって、最初から曖昧でないポイントが割り当てられた後に開始し、以下のアルゴリズムを表す。
【００４９】
【表２】
2014504773.tif 000004
【００５０】
図１０を参照すると、プロセス５００によって表されるアルゴリズムの実行後に未割り当てのまま残っているタッチ・ポイントのリストが、関数Assign_remainingへのコールの一部として受け取られる（１００２）。図８に示した例では、未割り当てタッチ・ポイントのリストは、タッチ・ポイント｛（１，２）、（７，１）、（７，４）、（１０，１）、（１０，４）｝を含む。これは、タッチ・ポイント｛（１，０）、（５，２）｝は既にユーザーＡに割り当てられているからである。
【００５１】
図１０によって表されるアルゴリズムは、ユーザー割り当て構成ツリーを下に向かってすすむように、可視化することもできる。例えば、図８に示す例に適用すると、このアルゴリズムは、図１１に示すユーザー割り当て構成ツリー１１００を下に向かって進むように可視化することができる。このアルゴリズムは、開始すると、ツリーにおけるあるノードによって表されるユーザー割り当て構成を選択し、次いでこのユーザー割り当て構成を検査して、このノードによって表されるユーザー割り当て構成が無効な解に対応するか否か判断することができる。このノードによって表されるユーザー割り当て構成が無効な解に対応する場合、このノード、および、とりわけ、そのサブノードの全てについてはこれ以上考慮せず、本プロセスはツリーにおける他のパスに沿って進む。このように、図１０によって表されるアルゴリズムは、図９に関して既に説明した検査を単に適用することによって可能であったよりも、一層効率的に解の空間からユーザー割り当て解を切り捨てることによって、アルゴリズムの実行時間を著しく短縮する。
【００５２】
未割り当てのタッチ・ポイントを受けた後、ユーザー割り当て構成ツリーにおけるノードが選択され、列ｘまたは行ｙにおいてタッチを有するユーザーが存在するが（選択されたノードによって表される特定のユーザ割り当て構成に対して）、何のポイントもこのユーザーには割り当てられておらず、このｘまたはｙ座標を有する未割り当てのポイントがないか否か判定を行う（１００４）。列ｘまたは行ｙにおいてタッチを有するユーザーが存在するが、何のポイントもこのユーザーには割り当てられておらず、このｘまたはｙ座標を有する未割り当てのポイントがない場合、この選択されたノードによって表されるユーザー構成は、無効であるとして拒否され（１００６）、本処理は関数コールから戻る（１００８）。次いで、本処理は、もっと高いノードに進み、未だ分析されていない異なるパスに沿ったユーザー割り当て構成ツリーにおける新たなノードを選択することができる。次いで、この新たなノードに対して、関数Assign_remainingを繰り返しコールすることができ、未割り当てタッチ・ポイントのリストは、この新たなノードに対する未割り当てタッチ・ポイントに対応する。全てのパスが既に分析されていた場合、プロセス１０００は終了することができる。
【００５３】
図８に示す例では、ユーザー割り当て構成ツリー１１００から選択されたノードは、「A,x,x,x,x」とすることができる。これは、ユーザーＡにはタッチ・ポイント｛（１，０）、（５，２）、（１，２）｝が割り当てられ、ユーザーＢにはタッチ・ポイントが全く割り当てられず、タッチ・ポイント｛（７，１）、（７，４）、（１０，１）、（１０，４）｝が未割り当てのまま残っていることに対応する。動作１００４の結果、ノード「A,x,x,x,x」によって表される解は無効であると判断される。何故なら、ユーザーＢはｘ＝１であるポイントが必要であるからである。したがって、ノード「A,x,x,x,x」およびそのサブノードの全ては、これ以上考慮する必要はなく、本処理は戻って、ツリーにおけるもっと高いレベルのノード「x,x,x,x,x」に昇り、そしてツリーにおける他のパスを下る。図１１に示すように、次にノード「B,x,x,x,x」を考慮のために選択することができ、関数Assign_remainingをノード「B,x,x,x,x」のために繰り返しコールすることができる。
【００５４】
選択されたノードによって表されるユーザー割り当て構成に対して動作１００４を実行した結果、ユーザー割り当て構成が無効であるとして拒否されなかった場合、この選択されたノードによって表されるユーザー割り当て構成は合格となり（即ち、検査からは無効であると判断することができない）、他に未割り当てのまま残っているタッチ・ポイントがあるか否か判定を行う（１０１０）。未割り当てのタッチ・ポイントが残っていない場合、解が有効であるとして報告され（１０１２）、本プロセスは関数コールから戻る（１０１４）。次いで、本処理は、もっと高いノードに昇って行き、未だ分析されていない異なるパスに沿って、ユーザー割り当て構成ツリーにおける新たなノードを選択することができる。次いで、この新たなノードに対して関数Assign_remainingを繰り返しコールすることができ、未割り当てタッチ・ポイントのリストは、この新たなノードに対する未割り当てタッチ・ポイントに対応する。全てのパスが既に分析されている場合、プロセス１０００は終了することができる。
【００５５】
少なくとも１つのタッチ・ポイントが未割り当てのまま残っている場合、未割り当てのタッチ・ポイントが選択され（１０１６）、複数のユーザーの内ユーザーＫが列ｘ’におけるタッチおよび行ｙ’におけるタッチを有するか否か判定を行う。ここで、未割り当てのタッチ・ポイントの位置は（ｘ’、ｙ’）である（１０１８）。ユーザーＫが列ｘ’におけるタッチおよび行ｙ’におけるタッチを有していない場合、複数のユーザーから他のユーザーがユーザーＫとして選択され、本処理は動作（１０１８）に戻る。ユーザーＫが列ｘ’におけるタッチおよび行ｙ’におけるタッチを有する場合、（ｘ’、ｙ’）における未割り当てのタッチ・ポイントをユーザーＫに試験的に割り当てる（１０２０）。このタッチ・ポイント（ｘ’、ｙ’）のユーザーＫへの一時的な割り当ては、ユーザー割り当て構成ツリーにおけるサブノードの選択に対応し、次いで関数Assign_remainingを、この新たに選択されたサブノードに対して繰り返しコールする（１０２２）。動作１０１８、１０２０および１０２２は、複数のユーザーの各ユーザーに対して繰り返される。ユーザーの全てが考慮された後、本プロセスは関数コールから戻る（１０２４）。本処理は、次に、もっと高いノードに進み、未だ分析されていない異なる経路に沿って、ユーザー割り当て構成ツリーにおける新たなノードを選択する。次に、この新たなノードに対して関数Assign_remainingを繰り返しコールすることができ、未割り当てのタッチ・ポイントのリストは、この新たなノードに対する未割り当てのタッチ・ポイントに対応する。全てのパスが既に分析されていた場合、プロセス１０００は終了することができる。
【００５６】
図８に示した例を続けると、次に考慮すべきノードはノード「B,x,x,x,x」である。これは、ユーザーＡにはタッチ・ポイント｛（１，０）、（５，２）｝が割り当てられ、ユーザーＢにはタッチ・ポイント｛（１，２）｝が割り当てられ、タッチ・ポイント｛（７，１）、（７，４）、（１０，１）、（１０，４）｝が未割り当てのまま残っていることに対応する。動作１００４の結果、ノード「B,x,x,x,x」によって表される解は必ずしも無効ではないと判断される。タッチ・ポイントが未割り当てのままであると判断され（１０１０）、したがって、４つの未割り当てのタッチ・ポイントの内第１のタッチ・ポイント（即ち、タッチ・ポイント（７，１））が選択される（１０１６）。ユーザーＡが選択され、ユーザーＡについてのｍ＋ｎ個のタッチ・データーに基づいて、ユーザーが列７および行１においてタッチを有すると判断される（１０１８）。したがって、タッチ・ポイント（７，１）が試験的にユーザーＡに割り当てられる（１０２０）。これは、ユーザー割り当て構成ツリーにおけるサブノード「B,A,x,x,x」の選択に対応する。次いで、サブノード「B,A,x,x,x」によって表されるユーザー構成を分析するために、関数Assign_remainingが繰り返しコールされる。
【００５７】
図８に示すタッチ・データー例に対して、プロセス１０００によって表されるアルゴリズムを実行すると、その結果以下の可能な解が考慮される。
【００５８】
【表３】
2014504773.tif 000005
【００５９】
プロセス１０００によって表されるアルゴリズムは、図８に示すタッチ・データー例に適用されると、図１１に示すユーザー割り当て構成ツリー１１００によって視覚的に描画することができる。とりわけ、プロセス１０００によって表されるアルゴリズムを、プロセス５００によって表されるアルゴリズムの実行後に曖昧のまま残る全ての可能なユーザー割り当て構成を単に検査するプロセスと比較すると、図１１を図９と比較することによって視覚的に明白なように、プロセス１０００の方が遙かに計算集約的でない。その上、実行時間の短縮が著しく増大する。これは、プロセス５００によって表されるアルゴリズムによって特定される、可能な曖昧なタッチ・ポイントの数が増大するからである。
【００６０】
多くの曖昧な解がある場合に実行時間を更に改善するために、曖昧な下位問題をできるだけ早く特定し、サーチにおける１つのパスに縮約するとよい。例えば、ユーザーＡおよびユーザーＢが列｛ｃ１，ｃ２｝および行｛ｒ１，ｒ２｝にタッチしており、４つのポイント（ｃ１，ｒ１）、（ｃ１，ｒ２）、（ｃ２，ｒ１）、および（ｃ２，ｒ２）全てにおいてｍ×ｎ個のデーターにタッチ・ポイントが存在する場合、データーは真に曖昧となる。以上で指定されたアルゴリズムは、全ての可能な割り当てを列挙し、このような割り当ての数は、この真に曖昧な構成において４つのポイントの組が複数存在する場合、その数の指数となる。しかし、代わりに、これら４つのポイントの組を直ちに特定し、これらを真に曖昧であるという印を付け、サーチにおいて１つだけの他のパスを進めるのが好ましいであろう。
【００６１】
以上の説明の全てにおいて、タッチ・ポイントの位置は量子化され、正確に１つの行および１つの列に対応すると仮定した。実際の実現例では、タッチ・ポイントの位置は補間され、電極のピッチよりも細かい解像度で表すことができる。実際には、正確に等しいことを求める比較は全て、ある許容範囲以内の比較に置き換えられ、この許容範囲はシステムにおけるノイズ量または他の不正確さによって決定される。
【００６２】
更に、以上の説明では、任意のタッチ・ポイントが１人のユーザーのみによってタッチされると仮定した。２人のユーザーが正確に同じ場所にタッチすることは物理的に不可能であるが、位置を判定することができる解像度に依存して、２人のユーザーが互いに近接してタッチすることは可能なので、彼らの２つのタッチがｍ×ｎ個のタッチ・データーにおいて１つのタッチであるように見えることがある。この場合、先のアルゴリズムを変更して、１つのタッチ・ポイントが複数のユーザーに割り当てられる解も考慮するようにすればよい。これによって、報告される可能な解の数が増えることができ、これらの解の間における選択は、この場合も経験的に行われる。
【００６３】
以上で注目した実現例は、容量性タッチ・センサーによって取り込まれるタッチ・データーの曖昧さを除去することを中心としたが、以上で注目した技法は、容量性タッチ・センサーに限定されるのではない。即ち、以上で注目した技法は、軸上に投射されたタッチ・データーおよび完全なエリアにわたるタッチ・データーの双方を取り込むことができるあらゆるタイプの１つまたは複数のタッチ・センサーによって取り込まれたタッチ・データーを処理し曖昧さを除去するためにも使用することができる。また、以上で注目した技法は、更に一般的に、多入力システムによって取り込まれたデーターの曖昧さを除去するために使用することもできる。この場合、システムは、完全な表示エリアにわたる１つ以上の場所の選択、および表示軸上に投射された場所のユーザー特定選択に対応する入力データーを取り込む。
ＩＩ．Ｍ×Ｎ個のタッチ・データーおよびユーザー特定のＭ＋Ｎ個のタッチ・データーを取り込むシステム
通例、行われるｍ＋ｎ回の測定は、各行および各列から接地への容量である。例えば、ユーザーがタッチ・センサー・デバイスのケースを保持している、またはコントローラーの接地ノードが建物の安全接地システムに接続されており、ユーザーがそのシステムに接地されている他の何らかの物体に近接している場合、タッチ・スクリーンにタッチしているユーザーは、コントローラーの接地ノードまでの何らかの容量性接続を有する。通例、検査対象の行または列に電圧が印加され、周波数は約１００ｋＨｚであり、ピーク−ピーク振幅は１Ｖおよび２００Ｖの間である。ユーザーがその行または列にタッチすると、電流がその行または列から流れ出し、ユーザーを通って接地に至る。この行または列から流れ出す電流の振幅を測定し、その行または列から接地までの容量を計算するために使用する。このシステムから選択した部分のブロック図を、図１２に示す。
【００６４】
具体的には、図１２を参照すると、システム１２００はコントローラーを含む。このコントローラーは、励起電圧１２０２をコントローラー回路の接地１２０４とタッチ・センサー格子の行または列電極１２０６との間に印加する。このタッチ・センサー格子の行または列電極１２０６にタッチしているユーザーは、ユーザーの身体１２０８と行または列電極１２０６との間に、Ｃcapacitance to userで表される容量を有する。ユーザーの身体１２０８とコントローラー回路の接地１２０４との間の容量は、Ｃuser to groundによって表される。システム１２００は、コントローラーが行または列電極１２０６への励起電圧１２０２を印加し、次いでコントローラーから行または列電極１２０６に流れる電流を測定することによって、タッチを検出するように構成されている。測定された電流は、行または列電極１２０６からコントローラー回路の接地１２０４までの容量を計算するために使用することができ、とりわけ、ユーザーが行または列電極１２０６に接触しているときに、基準線値から変化する。行または列電極１２０６からコントローラー回路の接地までの容量の変動（またはそれがないこと）を検出することによって、システム１２００はユーザーが対応する行または列電極１２０６にタッチしているか否か判断することができる。コストを考慮するために、励起電圧１２０２の印加およびコントローラーによる電流の測定は、通例、直列に、一度に１つの行または列ずつ行われる。しかしながら、実現例の中には、励起電圧１２０２の印加および電流の測定を、複数の行および／または列に対して同時に並列に行える場合もある。測定が直列に行われるのかまたは並列に行われるのかには関係なく、ｍ×ｎタッチ・センサーに対して、合計でｍ＋ｎ回の測定が行われる。しかしながら、システム１２００は、ｍ×ｎ個のタッチ・データーやユーザー特定のｍ＋ｎ個のタッチ・データーを取り込むように構成されていないため、タッチを検出するその能力に限界がある。
【００６５】
図１３は、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーの双方を検出することができるシステム１３００を示す。システム１３００は、制御回路１３０４を有するタッチ・センサー格子１３０２を含む。ユーザー１３０６は、タッチ・センサー格子１３０２にタッチするかもしれない１人以上のユーザーの中にいる。各ユーザー１３０６は、ユーザー・デバイス１３０８を携行しており、このユーザー・デバイス１３０８は、以下で更に説明するが、システム１３００がユーザー特定のｍ＋ｎ個のタッチ・データーを取り込むことを可能にするように構成されている。
【００６６】
ユーザー・デバイス１３０８は、特定のユーザー１３０６と関連付けられており、ユーザー１３０６によって携行されているとよい。ユーザー・デバイス１３０８は、２つの電極を含むことができ、これら２つの電極間を流れる電流を測定するように構成することができる。図１３に示すように、１つの電極は接地プレート１３１２とすることができ、他方の電極はユーザー・プレート１３１０とすることができる。ユーザー・プレート１３１０は、例えば、それをユーザーの皮膚に密着させることによって、ユーザー１３０６の身体に容量的に取り付けることができる。接地プレート１３１２は、ユーザー１３０６の周囲に容量的に結合するように構成することができる。例えば、接地プレート１３１２は、ユーザー１３０６の周囲に容量的に結合されている金属プレートに取り付けることができる。
【００６７】
実現例の中には、電極１３１０および１３１２が、その内側および外側の双方において導電性物質（例えば、アルミニウム箔またはメッシュ）でライニングされ、内側および外側の導体間に接続がない、皮膜の形態をなすとよい場合もある。内側のライニングは容量的にユーザーに結合され、ユーザー・プレート１３１０として作用し、外側のライニングは接地プレート１３１２として作用し、ユーザーの周囲に容量的に結合される。ユーザーの周囲は、コントローラー回路の接地ノードと同じ電位であるとよい。他の実現例では、電極１３１０および１３１２は、靴の形状をなし、接地プレート１３１２が底面にあって、十分に導電性がある（例えば、コンクリートの上面上にあるカーペット）フロアを介して結合し、ユーザー・プレート１３１０が内側にあって、ユーザーの足に接触するのでもよい。
【００６８】
ユーザー・デバイス１３０８は、ユーザー・プレート１３１０と接地プレート１３１２との間において電流を測定し、励起電圧をユーザー・プレート１３１０と接地プレート１３１２との間に交互に印加するように構成することができる。以下で図１４および図１５に関して更に詳しく説明するが、電流を測定すること、およびその２つの電極間において励起電圧を印加することの双方を可能にすることによって、ユーザー・デバイス１３０８は、システム１３００がユーザー特定のｍ＋ｎ個のタッチ・データーを取り込むことを可能にする。
【００６９】
タッチ・センサー格子１３０２は、二次元格子（マトリクスとも呼ぶ）に配された導通する行および列を含む。以前に注記したように、一方の特定の軸を行または列のどちらに指定するかは任意である。行および列導体の具体的な外形は、これらを実現するために使用される導電性材料にしたがって様々であってよい。同様に以前に述べたように、例えば、行および列はダイアモンド・パターンに配列し、導電性材料として酸化インディウム錫を使用してもよく、または行および列は、タッチ・センサーがディスプレイの前に置かれたときに目立たないように十分に薄い金属ワイヤ（例えば、銅または銀のワイヤ）を使用して形成してもよい。格子１３０２は、制御回路１３０４の制御の下で、格子１３０２の列（または行）に励起電圧を印加することができる送信器(transmitter)と、格子１３０２の行（または列）に入るまたはそこから出る電流を測定することができる受信器(receiver)（即ち、センサー）とを含むことができる。他の実現例では、格子１３０２の代わりに制御回路１３０４がこれらの送信器および受信器を含む。
【００７０】
制御回路１３０４は、センサー格子１３０２と相互作用するように構成された回路であり、実現例の中には、センサー格子１３０２と統合されるとよい場合もある。具体的には、制御回路１３０４は、センサー格子１３０２の列（または行）への励起電圧の印加、およびセンサー格子１３０２の行（または列）への電流またはそこからの電流の測定を制御するように構成されている。制御回路１３０４は、ワイヤレスでまたは有線接続を介してユーザー・デバイス１３０８と直接通信することができ、および／または格子１３０２を介してユーザー・デバイス１３０８とワイヤレスで通信することもできる。以下で更に詳しく説明するが、制御回路１３０４およびユーザー・デバイス１３０８は、互いに通信し合って、ユーザー特定のｍ＋ｎ個の列タッチ・データーおよびユーザー特定のｍ＋ｎ個の行タッチ・データーの収集を調整する。
【００７１】
また、図１３は、ユーザー１３０６とユーザー・プレート１３１０との間の容量をＣuser to user plateとして示し、接地プレート１３１２と制御回路１３０４の接地ノードとの間の容量をＣground plate to groundとして示し、ユーザー１３０６と制御回路１３０４の接地ノードとの間の容量をＣuser to groundとして示し、格子１３０２の行または列電極とユーザー１３０６との間の容量をＣelectrode to userとして示す。ユーザー・デバイス１３０８は、制御回路１３０４および格子１３０２からは離れたワイヤレス・デバイスであってもよい。しかしながら、実現例の中には、ユーザー・デバイス１３０８が制御回路１３０４の制御回路接地にワイヤで接続される場合もある。これらの実現例では、容量Ｃground plate to groundが短絡回路と置き換えられ、接地プレートを直接制御回路１３０４の接地ノードに接続する。
【００７２】
ユーザー・デバイス１３０８の実現例を図１７および図１８に示し、以下で更に詳しく説明する。とりわけ、ユーザー・デバイス１３０８は、その構造が、同時係属中の米国特許出願ｘｘ［２１０２４−０１４５００１および２１０２４−０１４７００１］において記載されている静電スタイラスに対応する。これらの出願をここで引用したことにより、その内容が全ての目的に対して本願にも含まれるものとし、以前ではスタイラスの先端に接続されていたノードが、代わりにユーザーの身体に接続される。
【００７３】
図１４は、システム１３００がｍ×ｎ個のタッチ・データーおよびユーザー特定の列タッチ・データー（ｍ＋ｎ列タッチ・データーとも呼ぶ）を取り込んでいるときの、システム１３００を示す回路ブロック図１４００である。図１４に示すように、制御回路１３０４は、制御回路の接地１４０４と検査対象の列電極１４０６との間に励起電圧１４０２を印加するように構成されている。とりわけ、図１４に示す実現例は、制御回路１３０４が励起電圧１４０２を格子１３０２の列電極１４０６と制御回路の接地１４０４との間に印加することを示すが、他の実現例では、制御回路１３０４は、代わりに、励起電圧１４０２を格子１３０２の行電極と制御回路の接地１４０４との間に印加する。以前に述べたように、一方の特定の軸を行または列のどちらに指定するかは任意である。
【００７４】
ユーザー１３０６によって携行されるユーザー・デバイス１３０８は、ユーザー・プレート１３１０と接地プレート１３１２との間の励起電圧１４０２によって生成される対応する電流を測定するように構成されている。この電流は、列電極１４０６からユーザーの身体１４０８までの容量に大まかに比例する。各ユーザー１３０６がデバイス１３０８を携行し、ユーザー毎に測定が別個に行われる場合、そのユーザーのタッチ・ポイントのみによって、ｍ＋ｎ個の列タッチ・データーがユーザー毎に得られる。したがって、各列電極１４０６が付勢されると、複数のユーザーの内どのユーザーが付勢された列電極１４０６にタッチしているのか判断するために必要なユーザー特定測定が、種々のユーザー・デバイス１３０８によって並列に行われる。格子１３０２の列電極全てが付勢された後には、全てのユーザーについてのｍ＋ｎ個の列タッチ・データーが得られている。
【００７５】
とりわけ、ユーザー特定のｍ＋ｎ個の列タッチ・データーを得るために列電極１４０６を付勢するのに使用された同じ励起電圧１４０２が、全ユーザーのｍ×ｎ個のタッチ・データーを得るために使用することができる。即ち、励起電圧１４０２が検査対象の列電極１４０６に印加されている間、格子１３０２の他の列電極は一定電圧に保持しておけばよい。次いで、格子１３０２の各行電極への電流が、制御回路１３０４によって測定され、全ての行電極の電流が並列に測定され、ｍ個の測定値を生成する。この行電極電流の測定は、図１４において、付勢された列電極１４０６から行Ａ、行Ｂ等に流れる測定電流を示す矢印によって表されている。つまり、ｍ×ｎ格子では、列電極１４０６が付勢されているときに、ｍ個の行電極電流が測定される。このプロセスは、格子１３０２の列電極毎に繰り返される。これが意味するのは、ｍ×ｎ格子に対してｎ回繰り返され、ｍ×ｎ個の全測定値を生成する。したがって、列電極の全てが順次付勢された後、ユーザー特定のｍ＋ｎ個の列タッチ・データーが、各ユーザーのユーザー・デバイス１３０８による電流の測定によって取り込まれており、全てのユーザーについてのｍ×ｎ個のタッチ・データーも、種々の列電極から行電極への電流の測定によって取り込まれている。
【００７６】
図１４に関して以上で説明したように、システム１３００は、各列電極１４０６を順次付勢し、次いで、各ユーザー・デバイス１３０８がそのユーザー・プレートから接地プレートへの電流を測定し、制御回路１３０４が、格子１３０２の行毎に、列電極から行電極への電流を並列に測定することによって、ｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個の列タッチ・データーを同時に取り込むために使用することもできる。ユーザー特定の行タッチ・データー（ｍ＋ｎ個の行タッチ・データーとも呼ぶ）の測定は、ユーザー特定のｍ＋ｎ個の列タッチ・データーを測定するために使用されたのと同じやり方で行うことができる。即ち、制御回路１３０４は、励起電圧を印加して格子１３０２における各行電極を付勢することができ、次いでユーザー・デバイス１３０８は、それらのユーザー・プレートから接地プレートへの電流を測定して、それらの各ユーザーが、励起されている行電極にタッチしているか否か判定することができる。しかしながら、このようにユーザー特定のｍ＋ｎ個の行タッチ・データーを測定するには、ｍ×ｎ個のタッチ・データーを取り込むためには必要でなくてもよい制御回路１３０４のハードウェアに対する変更を必要とする場合がある。即ち、この場合、制御回路１３０４は、各列への電流を交互に測定し、その同じ行に励起電圧を印加することができる必要がある。制御回路１３０４のこのような変更は、その複雑さおよびハードウェア・コストを大幅に上昇させる可能性がある。また、この変更には、行毎にフレームにおいて１タイム・スロットの追加も必要となる場合がある。このため、ほぼ正方形のディスプレイでは、タイム・スロットの数がほぼ倍増する可能性がある。このためには、システムが少ないフレーム・レートで動作するか、またはタイム・スロット当たり少ない積分時間で動作する必要があり、いずれもシステムのレイテンシーを増大させるか、または測定ノイズを増大させる可能性がある。
【００７７】
図１５は、システム１３００がユーザー特定のｍ＋ｎ個の行タッチ・データーを取り込んでいるときのシステム１３００を示す回路ブロック図１５００である。行電極を付勢し次いでユーザー・デバイス１３０８において対応する電流を測定する代わりに、エネルギーの流れを逆転させて、励起電圧が代わりにユーザー・デバイス１３０８の２つの電極間に印加されるようにすることができる。図１５に示すように、ユーザー・デバイス１３０８は励起電圧１５０２を、そのユーザー・プレート１３１０とその接地プレート１３１２との間に印加することができる。制御回路１３０４は、行電極毎に、ｍ×ｎ個のタッチ・データーを取り込むために使用された電流センサーが既に装備されており、再度これらのセンサーを使用するが、この場合、励起電圧１４０２ではなく、励起電圧１５０２が印加されたときに格子１３０２の各行電極１５０６に流れ込む電流を測定するためにこれらを使用する。以前と同様、励起電圧１５０２が印加されている間に全ての行電極電流を並列に測定することができる。この電流は、ユーザーの身体１４０８から行電極１５０６までの容量に大まかに比例する。特定の行電極に対する基準線値からの測定容量の偏差は、励起電圧１５０２を印加したユーザー・デバイス１３０８を有するユーザーが、特定の行電極にタッチしていることを示す。各ユーザー・デバイス１３０８の付勢は、センサー格子１３０２の列の付勢が時間多重化されるのと同様に、ユーザーによって携行されるデバイスが送信する１つの追加のタイム・スロットを追加することによって、時間多重化されるとよい。複数のユーザーが存在する場合、ユーザーによって携行されるデバイス毎に１つずつ、複数のタイム・スロットが追加される。図１６は、以下で更に詳しく説明するが、センサー格子１３０２の付勢および種々のユーザー・デバイス１３０８の付勢を調整するために、システム１３００によって使用することができるフレームおよび対応するタイム・スロットの例を示す。
【００７８】
とりわけ、制御回路の接地１４０４からユーザー・デバイス１３０８に含まれるまたはそうでなければ取り付けられる接地プレート１３１２までの容量は、ユーザーの身体１４０８から行電極１５０６または列電極１４０６までの容量と比較して大きくなければならない。（測定される実際の容量は、ループにおける全ての容量の直列接続である。これは、ループにおける他の全ての容量がかなり大きい場合にのみ、ユーザーの身体１４０８から行電極１５０６または列電極１４０６までの容量にほぼ等しい）。これが意味するのは、接地プレート１３１２は比較的大きな面積を有さなければならないということである。加えて、ユーザーの身体１４０８は、制御回路の接地１４０４に対して何らかの容量を有し、これが分流器を形成し、測定信号を減衰させる。ユーザーの身体１４０８から接地１４０４までの容量が大きいとき（例えば、ユーザーが裸足でコンクリートの床の上に立っているとき）、その分流器の比率を下げるためには、約２平方フィート程度の広さの非常に大きな接地プレート１３１２が必要となる。
【００７９】
ユーザー・デバイス１３０８の接地プレート１３１２が容量的に行電極１５０６または列電極１４０６に結合すると、所望の電流とは逆符合を有する電流を注入または検知することができる。この効果による誤った作動(actuation)を回避するために（例えば、他の人がユーザーの接地プレート１３１２と密着し、この人が格子１３０２にタッチした場合）、全ての電流測定を位相コヒーレント検出(phase-coherent detection)によって実行するとよい。逆符合を有する電流は負の結果を生じ、このような測定値は拒否される可能性がある。（同様の技法は、容量性スタイラスとでも使用して、このスタイラスを保持しているユーザーの身体を介して結合される電流を拒否することができる。）
図１６は、システム１３００の種々のコンポーネントのタイミングを調整するために、システム１３００によって使用することができるフレームの一例１６２０を示す。図１６に示すように、フレーム１６２０は、同時パルス・タイム・スロット１６２５、ｍ×ｎ格子１３０２のｎ個の列に対するｎ個のタイム・スロット１６３５、およびユーザー・デバイス１３０８を携行するまたはそれ以外で関連するｘ人のユーザーに対するｘ個のタイム・スロット１６４５を含む。ｎ個のタイム・スロット１６３５の各々の間、ｍ×ｎ格子１３０２のｎ個の列の内１つが付勢される（即ち、励起電圧１４０２が対応する列電極に印加される）。ｘ個のユーザー・デバイス１３０８は、それらの２つの電極間における対応する電流を測定することによって、ｘ人のユーザーについてのｍ＋ｎ個の列タッチ・データーが、付勢された列に対して決定されることを可能にし、制御回路１３０４の行電流センサーは、全ユーザーのｍ×ｎ個のタッチ・データーが、付勢された列に位置する格子１３０２内における全てのポイントに対して決定されることを可能にする。ｘ個のタイム・スロット１６４５の各々の間、ｘ個のユーザー・デバイス１３０８の内１つが付勢される（即ち、励起電圧１５０２がその２つの電極間に印加される）。制御回路１３０４の行電流センサーは、ｍ×ｎ格子１３０２のｍ個の行電極に対してｍ個の電流を測定することによって、付勢されたユーザー・デバイス１３０８と関連する特定のユーザーについてのｍ＋ｎ個の行タッチ・データーが決定されることを可能にする。
【００８０】
先に説明したように、特定のユーザーと関連するユーザー・デバイス１３０８は、格子１３０２の列を付勢することによって送られる信号を受けることによって、ユーザーのｍ＋ｎ個の列タッチ・データーを取り込み、制御回路１３０４は、ユーザーのユーザー・デバイス１３０８を付勢することによって送られる信号を受けることによって、ユーザーのｍ＋ｎ個の行タッチ・データーを取り込む。ユーザー・デバイス１３０８と制御回路１３０４との間におけるこのような通信を可能にするために、ユーザー・デバイス１３０８の時間軸が最初に制御回路１３０４のそれと同期される。これは、格子１３０２の列の全てに、区別できる同期信号またはパルス（例えば、異なる周波数、区別できるパターンで変調される）を送ることによって行うとよい。これによって、ユーザー・デバイス１３０８に時間基準を与える。ユーザー・デバイス１３０８は、この後、ユーザー・デバイス１３０８内部のクリスタルまたは他の周波数標準を使用して、その時間基準を維持することができる。同期パルスは、一般に、例えば、図１６に示すフレーム例１６２０の同期パルス・タイム・スロット１６２５におけるように、フレーム毎に１回送られればよい。しかしながら、場合によっては、システムの要求レイテンシーにしたがって、そしてユーザー・デバイス１３０８の周波数標準の長期精度にしたがって、それよりも高い頻度または低い頻度で送られることもあり得る。ユーザー・デバイス１３０８は、この同期パルスを探すことができ、ユーザー・デバイスがこの同期パルスを受けたときに、それ自体の時間軸をリセットする。
【００８１】
以上で説明したプロセスによって、ｘ人のユーザーについてのｍ＋ｎ個の行タッチ・データー、および全ユーザーのｍ×ｎ個のタッチ・データーを、ホスト（例えば、処理能力があるデバイス）における制御電子回路内で計算することができる。ホストは、制御回路１３０４でもよく、または制御回路１３０４と通信するように構成された他のデバイスでもよい。ユーザー特定のｍ＋ｎ個の行タッチ・データーおよび全ユーザーのｍ×ｎ個のタッチ・データーは、次に、アプリケーション・ソフトウェアに指タッチ情報として返すことができる（例えば、このアプリケーション・ソフトウェアを実行するコンピューターに戻るユニバーサル・シリアル・バス（ＵＳＢ）リンクを通って。これは、ホスト自体であってもよく、またはホストと通信可能なクライアント・コンピューターでもよい）。言い換えると、ユーザー特定のｍ＋ｎ個の行タッチ・データーおよび全ユーザーのｍ×ｎ個のタッチ・データーは、制御回路１３０４の行電極センサーによって受け取られた信号に基づいて計算することができる。このように、ユーザー特定のｍ＋ｎ個の行タッチ・データーは、例えば、全ユーザーのｍ×ｎ個のタッチ・データーを計算するシステム１３００の同じ部分によって計算することができる。
【００８２】
しかし、特定のユーザーについてのｍ＋ｎ個の列タッチ・データーは、ユーザー・デバイス１３０８内部で計算することもでき、多数の方法で中継してアプリケーション・ソフトウェアに戻すことができる。言い換えると、ユーザー特定のｍ＋ｎ個列タッチ・データーは、ユーザー・デバイス１３０８によって受け取られた信号の関数として計算することができ、列の位置をホストに報告することができる（例えば、ユーザー・デバイス１３０８からホストへのワイヤレス接続または有線接続を使用して）。一例では、ユーザー・デバイス１３０８がホストに有線接続されている場合、この配線によって通信リンクを作ることができ、この配線は制御回路１３０４およびユーザー・デバイス１３０８に共通の接地も設けることができる。
【００８３】
他の例では、ユーザー・デバイス１３０８は情報をホストにワイヤレスで送ることができる。例えば、この情報は、複数のタイム・スロットを追加し、二進符号化したｍ＋ｎ個の列タッチ・データーを、タイム・スロット毎に１ビットずつ送ることによって、格子１３０２自体を介して静電的に送ることもできる。これには追加のハードウェアは必要にならないが、代わりに、ユーザー・デバイス１３０８および／または制御回路１３０４の制御ソフトウェアを変更して、既存のハードウェアを別途使用することによって、遂行することができる。具体的には、他の場合ではユーザー・デバイス１３０８によって使用されたハードウェアを使用して、ｍ＋ｎ個の行タッチ・データーを検出するための励起信号１５０２を生成することによって、これを遂行することができる。例えば、ユーザー・デバイス１３０８は、ｍ＋ｎ個列タッチ・データーをユーザー・デバイス１３０８からホストに格子１３０２を介して送ることができ、全ユーザーのｍ×ｎ個のタッチ・データーおよびユーザー特定のｍ＋ｎ個のタッチ・データーを取り込むために使用される送信器および受信器も、ワイヤレス・チャネルを介して情報を送るために使用される任意のワイヤレス・コード化方式を使用して情報を送信するために使用することができる。このように、例えば、座標のビット毎にタイム・スロットを追加することができ、そのタイム・スロットの間、ユーザー・デバイス１３０８（または制御回路１３０４／格子１３０２）は、対応するビットが「１」である場合送信することができ、対応するビットが「０」である場合送信することができない。この方式は、振幅変移変調（ＡＳＫ）に対応するが、他のコード化方式を使用してもよい。タイム・スロットを本システムに追加することによって、ユーザー・デバイス１３０８から逆にホストに、格子１３０２を介して、既存のハードウェアを使用して結合することができる。ノイズによるランダムなビット誤りに対するシステムのロバスト性を高めるために、誤り検出または訂正コードを使用することもできる。
【００８４】
ユーザー特定のｍ＋ｎ個列タッチ・データーも、ユーザー・デバイス１３０８によってホストに、補助チャネルを介して、例えば、ＩＥＥＥ８０２．１５．４リンクのような無線周波数通信チャネルを介して送信することもできる。補助チャネルを使用することによって、格子１３０２を介して位置を送るためにフレーム内部に追加の時間は必要でなくなることもある。これによって、本システムが指タッチ容量測定を行うためにより多くの時間を保存することが可能になり、信号対ノイズ比（ＳＮＲ）を高めることができる。ユーザー特定のｍ＋ｎ個列タッチ・データーを送るために補助チャネルが使用されると、この補助チャネルは、制御電子回路の時間軸をユーザー・デバイス１３０８のそれと同期させるためにも使用することができ、同期パルスのための追加のタイム・スロットの必要性がなくなる。これによって、更に、フレーム内部において利用可能な時間が長くなり、ＳＮＲを向上させることができる。他のタイプの通信チャネルも使用することができ、例えば、他の無線周波（ＲＦ）リンク、超音波リンク、および光リンクが含まれる。
【００８５】
また、補助チャネルは、格子１３０２を介して送られる同期パルスの必要性をなくす限りにおいて、性能を改良することもできる。同期パルスは、ユーザー・デバイス１３０８に関連する／割り当てられたユーザーのタッチの場所には関係なく、ユーザー・デバイス１３０８によって受け取られるために、全ての列上に現れるように構成されている（また、少なくとも、格子１３０２全体において均一に離間されている多くの列、例えば、３列毎に１つ）。その結果、瞬時的に送られる総エネルギーは、１つの列を励起するときよりも大きく、電磁互換性（ＥＭＣ：electromagnetic compatibility）問題を生ずる可能性が一層高くなる。代わりに、同期パルスが補助チャネルを介して送られると、この効果が回避される。何故なら、格子１３０２を介して同期パルスを送ることが不要になるからである。
【００８６】
ユーザー特定のｍ＋ｎ個列タッチ・データーを伝えるために使用される同じ経路は、他の情報、例えば、スイッチまたはユーザー・デバイス１３０８に取り付けられている他の制御装置の状態を伝えるために使用することもできる。
【００８７】
図１７は、ユーザー・デバイス１３０８のコンポーネントの一部のブロック図を示す。ユーザー・デバイス１３０８は、電流受信器１７４０、電圧送信器１７５０、および電流受信器１７４０と電圧送信器１７５０との間で動作を順次行うためのマイクロコントローラー１７２０を含む。また、ユーザー・デバイス１３０８は、送信／受信スイッチ１７６０に結合されている電極１７７０（ユーザー・プレート電極１３１０に対応する）も含む。送信／受信スイッチ１７６０は、電流受信器１７４０および電圧送信器１７５０に結合されている。これらの能動電子回路を動作させるためには、何らかの電源、例えば、バッテリー電源１７１０またはスーパーキャパシター(supercapacitor)が必要となる。画面サイズ（即ち、格子１３０２のサイズ）が十分に小さくこれが実用的となる場合、ユーザー・デバイス１３０８も、例えば、格子１３０２の後ろまたは周囲にあるコイルから誘導的に給電することもできる。また、ユーザー・デバイス１３０８は、任意に、以上で述べた理由のために、補助通信チャネル１７３０を含むこともできる。
【００８８】
動作において、マイクロコントローラー１７２０はプロセスを順次実行する。この場合、マイクロコントローラー１７２０内におけるソフトウェアが、少なくとも時間の間隔を維持し、ユーザー特定のｍ＋ｎ個列タッチ・データーをホストに戻して報告する等を役割とする。マイクロコントローラー１７２０は、ユーザー・デバイス１３０８内における何らかの内部電源（例えば、バッテリー電源１７１０、スーパーキャパシター、充電可能バッテリー）によって実行する。マイクロコントローラー１７２０は、電流受信器１７４０（ｍ×ｎ個の容量性指タッチを測定するときに使用される行における受信器と同様であってもよい）および電圧送信器１７５０（ｍ×ｎ個の容量性指タッチを測定するときに使用される列における送信器と同様であってもよい）に結合されている。送信／受信スイッチ１７６０は、本システムが電流受信器１７４０における電流と、電圧送信器１７５０における電圧とを、ユーザー・デバイス１３０８における１つの電極１７７０上に多重化することを可能にするように構成することができる。送信／受信スイッチ１７６０は、高電圧（例えば、約１００Ｖ）を送信モードにおいて電極１７７０に印加し、受信モードにおいて小さい電流信号（例えば、１μＡ）を電極１７７０から受けることを可能にすることができる。
【００８９】
電圧送信器１７５０および電流受信器１７４０は、格子１３２０において列および行に取り付けられている送信器および受信器と同様の形態を有し、同様の測定を行うように構成することができる。列電圧を励起し行電流を測定して容量性センサー上における指タッチを判定するのに適した殆どの等級の回路であれば、ここでも適していると考えられる。ここでは、非コヒーレント検出(non-coherent detection)を採用するとよい。何故なら、これは、位相コヒーレント検出のように、ユーザー・デバイス１３０８の時間軸の正確な整合を必要としないからである。しかし、これは、以前に説明したように、ユーザー・デバイスの戻り電流によって、誤った作動を生ずる可能性がある。
【００９０】
以上の説明は、１つのエンティティ（そのエンティティが格子１３０２における列であるか、ユーザー・デバイス１３０８であるかには関係なく）だけが一度に送信することを仮定するとよい。これは、単純な実現例を表すことができるが、場合によっては、複数のエンティティが直交波形を同時に送ることが望ましいこともあり得る。以上で説明した技法の全ては、この場合においても作用する（例えば、複数の直交周波数、ＣＤＭＡ通信に使用されるタイプの直交擬似ノイズ波形とでも）。この場合、フレーム毎に送る総エネルギーが増大し、信号対ノイズ比を向上させることができる場合もある。このような実現例では、一層複雑な受信器を使用して、複数の直交波形を同時に相関付けることができる。直交波形を同時に送る技法が、２０１０年７月１６日に出願された米国特許出願第１２／８３８，４１９号に記載されている。この出願をここで引用したことにより、あらゆる目的に対してその内容が本番にも含まれるものとする。
【００９１】
先に説明したように、ユーザー・デバイス１３０８は１つの電極１７７０で送信および受信の双方を行わなければならないので、電極１７７０は大きな電圧および小さな電流の双方を見ることができる。送るとき、格子１３０２の受信器において容認可能な信号対ノイズ比を得るために、約１００Ｖのピーク−ピーク電圧振幅(voltage swing)を生成することができる。受けるとき、マイクロアンペア程度の信号を解明することができる。このダイナミック・レンジを設けるためには、何らかのタイプの送信／受信スイッチまたは回路が必要となる。これを達成する回路例が図１８に示されている。
【００９２】
図１８は、１つの電極において大きな電圧を送り小さな電流を受けるためのユーザー・デバイス１３０８における回路１８００の実現例を示す。回路１８００は、入力端子（「フライバック」）とトランジスタＱ２とに結合されている抵抗器Ｒ１６を含む。トランジスタＱ２は、抵抗器Ｒ１６に結合されている第１端子と、接地ノードに結合されている第２端子と、変圧器Ｌ２の第１巻線に結合されている第３端子とを有する。ツエナー・ダイオードＤ２が、接地ノードと変圧器Ｌ２の第１巻線とに結合されることによって、トランジスタＱ２の第２および第３端子と並列に結合されている。変圧器Ｌ２の第１巻線は、電源（例えば、３Ｖまでのバッテリー電圧）とトランジスタＱ２の第３端子とに結合されている。変圧器Ｌ２の第２巻線は、接地ノードとダイオードＤ１のアノードとに結合されている。ダイオードＤ１のカソードは、電極が接続するノードＴＰ１に結合されている。ノードＴＰ１は、トランジスタＱ１の第１端子と、プル・ダウン抵抗器Ｒｐｄの第１端子と、任意に、キャパシタＣｅｘｔｒａとに結合されている。プル・ダウン抵抗器Ｒｐｄは、第２端子が電圧基準ＶＲＥＦに結合されている。また、ノードＴＰ１は、浮遊容量も含み、これは、図４において、接地ノードへの１つの不要キャパシタＣｓｔｒａｙとしてモデル化されている。トランジスタＱ１は、第２端子がＲＸ＿ＥＮＡＢＬＥの切り替え信号に結合され、第３端子が増幅器ＩＣ１Ａの反転入力２に結合されている。増幅器ＩＣ１Ａの非反転入力３は、電圧基準ＶＲＥＦに結合されている。増幅器ＩＣ１Ａの出力端子１は、フィードバック・キャパシタＣｆおよびフィードバック抵抗器Ｒｆの第１端子に結合されており、増幅器ＩＣ１Ａの非反転端子も、フィードバック・キャパシタＣｆおよびフィードバック抵抗器Ｒｆの第２端子に結合されている。
【００９３】
図１８において、送信／受信回路は、バッテリー電圧（例えば、約３Ｖ）を使用して、１００Ｖまでの高電圧を生成し（最大で数十マイクロアンペアの電流を配信する）、受信器を同じノードに置くことができる。受信器は、切断することもできるので、送信の間に生成される高電圧には影響を及ぼさず、送信機も切断することができるので、受信の間に受け取られる信号に影響を及ぼさない。この高電圧は、陰極線管ディスプレイを励起するために使用される、またはスイッチモード電源において使用されるフライバック回路と同様のフライバック回路を使用して生成することができる。このフライバック回路は、エネルギーを蓄積する変圧器Ｌ２を含む。エネルギーは、Ｌ２の第１または一次巻線に流れ込み、Ｌ２内部に磁界として蓄積され、次いでＬ２の二次巻線を通ってＬ２のコアから流れ出ることができる。この電圧は、変圧器Ｌ２の巻線比にしたがって、そして印加される信号のタイミングにしたがって変圧することができる。Ｌ２の二次巻線を通って流れ出るエネルギーは、Ｄ１を通って出力における浮遊容量に流れ込み、この浮遊容量の両端間に高電圧を生成することができる。この浮遊容量は、現実的な範囲でできるだけ小さくなるように設計するとよい。何故なら、この回路によって消失される実際の電力は、少なくとも０．５×Ｃｓｔｒａｙ×Ｖ＾２×ｆであり、その容量に比例することができるからである。
【００９４】
送るとき、高電圧ＡＣがフライバック変圧器Ｌ２によって生成される。周波数ｆ＝１／Ｔの励起電圧を生成するために、そしてスイッチのデューティ・サイクルが５０％であると仮定すると、スイッチＱ２は０．５×Ｔの時間閉じられる。この時間において、変圧器内の電流は、ゼロから開始して、一次電流Ｉｐｒｉ＝（Ｖｄｄ×０．５×Ｔ）／Ｌｐｒｉまで傾斜上昇する。ここで、Ｖｄｄは電源電圧であり、通例、約３ボルトである。そして、Ｌｐｒｉは一次インダクタンスである。このスイッチが開くと、この蓄積されているエネルギーは、フライバック回路の出力における浮遊容量Ｃｓｔｒａｙに配信される。抵抗器Ｒｐｄを無視すると、ピーク電圧は、変圧器のインダクタンスに蓄積されるエネルギー０．５×Ｌｐｒｉ×Ｉｐｒｉ＾２を、出力浮遊容量に蓄積されるエネルギー０．５Ｃｓｔｒａｙ×Ｖｐｋ×Ｖｐｋ＾２と等しくすることによって、計算することができる。電圧は、Ｒｐｄ×Ｃｓｔｒａｙとして指数的に減衰し、この積は、励起期間と同じ順序で選択し、各サイクルで出力が大まかにゼロに減衰するようにしなければならない。実際には、Ｃｓｔｒａｙは、例えば、ピコファラッド単位の容量とすることができ、Ｒｐｄは１００キロオーム単位とすることができる。変圧器の一次インダクタンスは、１００マイクロヘンリー単位とすることができ、その巻線比は約１：７とすることができる。抵抗器Ｒｐｄは、接地へのスイッチ（例えば、ＦＥＴまたはバイポーラ・トランジスタ）と置き換えることもできる。これによって、ほぼ方形波を生成することができる。この方形波は、抵抗器によって生成される繰り返し指数(repeated exponentials)よりも所望の離礁的な正弦波に近い。
【００９５】
高電圧が電極に印加されるとき、スイッチＱ１（例えば、トランジスタ）を開いて受信器を送信モードに分離することによって、ＩＣ１Ａにおける受信器を破壊から保護するとよい。こうしなければ、受信回路ＩＣ１Ａは、高い送信電圧をクランプし、それによって破壊される可能性がある。この回路は、したがって、トランジスタｎ−ＦＥＴ  Ｑ１を使用して切断される。このｎ−ＦＥＴは、高い電圧等級（即ち、電極において見られるピーク電圧よりも高いゲート−ドレイン電圧等級）、および低い浮遊容量（Ｃｓｔｒａｙを増大させ、したがって容認可能なＲｐｄを減少させ、送信時にシステムの総電力消費を増大させる）が得られるように選択することができる。このトランジスタＱ１は、ディスクリートＦＥＴであり、したがって、その本体ノードをそのソース・ノードに接続することができ、これによって寄生ダイオードが得られる。しかし、このダイオードは常に逆バイアスされる。何故なら、ドレインにおける電圧は、常にソースにおける電圧よりも高いからであり、これが意味するのは、回路の動作に影響を及ぼさないということである。送信時に、Ｑ１のゲート電圧は０Ｖに保持され、これによって電圧−ＶＲＥＦ（ＶＲＥＦは約０．５×Ｖｄｄ）をゲートにかけ、トランジスタをオフに切り替える。受信時に、電圧ＶｄｄがＱ１のゲートに印加される。これによって、ゲートに電圧（Ｖｄｄ−ＶＲＥＦ）をかけ、トランジスタをオンに切り替える。したがって、信号は受信トランスインピーダンス増幅器ＩＣ１Ａに流入することができる。したがって、受信モードでは、トランジスタＱ１が導通するようにＱ１のゲート（例えば、ＲＸ＿ＥＮＡＢＬＥピン）に高電圧をかけることができ、短絡回路のように振る舞う。しかしながら、浮遊容量は、このトランジスタおよびダイオードＤ１のために、切断することができない。一次までは、ＩＣ１Ａの反転入力における接地への追加のインピーダンスがあっても、閉ループ伝達関数に影響を及ぼさないが、利得−帯域幅が有限である実際の増幅器では、そうならない場合もある。容量Ｃｓｔｒａｙは、受信増幅器の閉ループ伝達関数に大きな影響を及ぼさない。Ｒｐｄは、大きな動的な効果を有さない。これは、接地に接続されると、大きなＤＣ誤差を生じるが、この問題を回避するために、オペアンプの非反転入力と同じＶＲＥＦに接続される。
【００９６】
変圧器の二次インダクタンスは、大きな誤差を生ずるが、受信時には、Ｌ２のアノードにおける電圧が、変圧器によって接地近くに保持され、カソードにおける電圧はＶＲＥＦ＞０に保持される。これが意味するのは、ダイオードが逆バイアスされているということであり、受信回路を変圧器のインダクタンスから分離することを意味する。したがって、同じダイオードがフライバック回路の一部として使用され、変圧器の二次側から出力容量への単一方向電流のみを許容し、受信器をそのフライバック回路から分離して、部品数を削減する。
【００９７】
実現例の中には、浮遊容量Ｃｓｔｒａｙに２：１以上の変動があることもあり、ピーク生成電圧のばらつきを生ずる可能性がある。したがって、可能な最も低い容量Ｃｓｔｒａｙとでも、トランジスタをブレーク・ダウンさせる程高い電圧を生成することなく、可能な最も高い容量Ｃｓｔｒａｙによって所望の信号対ノイズ比を達成するためには、十分に高い電圧で回路を設計することができる。実現例の中には、浮遊容量Ｃｓｔｒａｙに並列に作為的な容量（例えば、図４におけるＣｅｘｔｒａ）を追加することができる場合もある。この作為的容量に対する許容範囲が浮遊容量のそれよりも高い場合、これは、ピーク電圧のばらつきを減少させる効果を有するが、総容量を増大させ、したがって総消費電力を増大させる。実現例の中には、フライバック回路を使用する代わりに、他のスイッチモード電源トポロジーを使用するとよい場合もある。
【００９８】
本主題および動作について説明した実施形態の一部は、ディジタル電子回路において、あるいはコンピューター・ソフトウェア、ファームウェア、または本明細書において開示した構造およびそれらの構造的均等物を含むハードウェア、あるいはそれらの１つ以上の組み合わせで実現することができる。本明細書において説明した主題の実施形態は、１つ以上のコンピューター・プログラムとして、即ち、データー処理装置による実行のため、またはその動作を制御するためにコンピューター記憶媒体にエンコードされたコンピューター・プログラム命令の１つ以上のモジュールとして実現することができる。代わりにまたは加えて、プログラム命令は、人工的に生成された伝搬信号、例えば、マシン生成電気、光、または電磁信号にエンコードすることができる。この信号は、データー処理装置による実行のために、適した受信装置への送信のために情報をエンコードするために生成される。データー処理装置は、センサーを含むことができ、センサーの一部であってもよく、センサーを有するシステムの一部であってもよく、システムおよび／またはセンサー内に統合されてもよく、センサーあるいは受信機および／または送信機に関連する受信機、送信機、コンポーネントおよび／またはロジックの一部であってもよく、これらの任意の組み合わせでもよい。コンピューター記憶媒体は、コンピューター読み取り可能記憶デバイス、コンピューター読み取り可能記憶基板、ランダムまたはシリアル・アクセス・メモリー・アレイあるいはデバイス、あるいはこれらの内１つ以上の組み合わせとすること、またはそれに含むことができる。更に、コンピューター記憶媒体は伝搬信号ではないが、コンピューター記憶媒体は、人工的に生成した伝搬信号内にエンコードされたコンピューター・プログラム命令のソースまたは宛先となることができる。また、コンピューター記憶媒体は、１つ以上の別々の物理的コンポーネントまたは媒体（例えば、複数のＣＤ、ディスク、または他の記憶デバイス）であること、またはこれに含むこともできる。
【００９９】
本明細書において説明した動作は、１つ以上のコンピューター読み取り可能記憶デバイスに格納されているデーターまたは他のソースから受信したデーターに対してデーター処理装置によって実行される動作として実現することができる。
【０１００】
データーを処理するための種々の装置、デバイス、およびマシンは、「データー処理装置」として使用することができ、「データー処理装置」は、一例として、プログラマブル・プロセッサー、コンピューター、チップ上のシステム、あるいは以上の内複数のもの、またはその組み合わせを含む。この装置は、特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）またはＡＳＩＣ（特定用途集積回路）を含むことができる。また、この装置は、ハードウェアに加えて、問題のコンピューター・プログラムのために実行環境を作るコード、例えば、プロセッサー・ファームウェアを構成するコード、プロトコル・スタック、データーベース管理システム、オペレーティング・システム、プラットフォーム間実行時間環境、仮想マシン、またはこれらの内１つ以上の組み合わせを含むことができる。本装置および実行環境は、ウェブ・サービス、分散計算およびグリッド計算インフラストラクチャというような、種々の異なる計算モデル・インフラストラクチャを実現することができる。
【０１０１】
コンピューター・プログラム（プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、またはコードとしても知られている）は、任意の形態のプログラミング言語で書くことができる。プログラム言語には、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語が含まれ、単体プログラムとしてまたはモジュールとして、コンポーネント、サブルーチン、オブジェクト、または計算環境における使用に適した他のユニットを含む、任意の形態で配備することができる。コンピューター・プログラムは、ファイル・システムにおけるファイルに対応するとよいが、その必要はない。プログラムは、他のプログラムまたはデーター（例えば、マークアップ言語文書で格納されている１つ以上のスクリプト）を保持するファイルの一部に格納することができ、問題のプログラムに専用の１つのファイルに格納することができ、あるいは複数の調整されたファイル（例えば、１つ以上のモジュール、サブプログラム、またはコードの部分を格納するファイル）に格納することができる。コンピューター・プログラムは、１つのコンピューター、または複数の場所に跨がって分散され通信ネットワークによって相互接続された複数のコンピューターにおいて実行されるように配備することができる。
【０１０２】
本明細書において説明したプロセスおよび論理フローは、入力データーを処理して出力を生成することによって、動作を実行するために１つ以上のコンピューター・プログラムを実行する１つ以上のプログラマブル・プロセッサーによって実行することができる。また、これらのプロセスおよび論理フローは、特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）またはＡＳＩＣ（特定用途集積回路）によって実行することもでき、装置は、特殊目的論理回路として実現することもできる。
【０１０３】
コンピューター・プログラムの実行に適したプロセッサーは、一例として、汎用および特殊目的マイクロプロセッサー、および任意の種類のディジタル・コンピューターの任意の１つ以上のプロセッサーを含む。一般に、プロセッサーは、命令およびデーターをリード・オンリ・メモリーまたはランダム・アクセス・メモリー、あるいは双方から受ける。コンピューターの必須エレメントは、命令にしたがって動作を実行するプロセッサーと、命令およびデーターを格納する１つ以上のメモリー・デバイスである。一般に、コンピューターは、データーを格納するための１つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクも含むか、あるいはこれからデーターを受けるまたはこれにデーターを伝えるように動作的に結合されているか、あるいは双方である。しかしながら、コンピューターはこのようなデバイスを有する必要はない。更に、コンピューターを他のデバイス、例えば、移動体電話機、パーソナル・ディジタル・アシスタント（ＰＤＡ）、移動体オーディオまたはビデオ・プレーヤ、ゲーム・コンソール、あるいは携帯用記憶デバイス（例えば、ユニバーサル・シリアル・バス（ＵＳ ）フラッシュ・デバイス）、その他多数に埋め込むこともできる。コンピューター・プログラム命令およびデーターを格納するのに適したデバイスには、全ての形態の不揮発性メモリー、媒体およびメモリー・デバイスが含まれ、一例として、半導体メモリー・デバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリー・デバイス、磁気ディスク、例えば、内部ハード・ディスクまたはリムーバブルディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクが含まれる。プロセッサーおよびメモリーは、特殊目的論理回路によって補足すること、またはその中に組み込むことができる。
【０１０４】
ユーザーとの対話処理に備えるために、本明細書において説明した主題の実施形態は、情報をユーザーに表示するディスプレイ・デバイス、例えば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニターと、キーボードおよびポインティング・デバイス、例えば、マウスまたはトラックボールを有するコンピューターにおいて実現することができる。ユーザーは、これらによって入力をコンピューターに供給することができる。ユーザーとの対話処理に備えるために、他の種類のデバイスも使用することができる。例えば、ユーザーに供給されるフィードバックは、感覚フィードバックの任意の形態、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザーからの入力は、音響、音声、または接触入力を含む、任意の形態で受けることができる。例えば、人の指がタッチ・スクリーンと相互作用してある量のスクリーン・エリア(real estate)に衝撃を与えることができる。加えて、コンピューターは、ユーザーが使用するデバイスに文書を送り、このデバイスから文書を受けることによって、例えば、ウェブ・ブラウザから受けた要求に応答して、ユーザーのクライアント・デバイスのウェブ・ブラウザにウェブ・ページを送ることによって、ユーザーと対話処理することができる。
【０１０５】
本明細書は多くの具体的な実現例の詳細を含むが、これらは、あらゆる発明または特許請求することができるものの範囲に対する限定として解釈してはならず、逆に、特定の発明の特定の実施形態に特定の特徴の説明として解釈してしかるべきである。本明細書において別々の実施形態のコンテキストで記載されたある種の特徴を１つの実施形態において組み合わせて実現することもできる。逆に、１つの実施形態のコンテキストで記載した種々の特徴を、複数の実施形態に別々に、または任意の適したサブコンビネーションで実現することもできる。更に、以上では、特徴がある種のコンビネーションで動作するように記載され、そのように最初に特許請求されることもあるが、特許請求されるコンビネーションからの１つ以上の特徴は、場合によっては、そのコンビネーションから削ることもでき、特許請求されたコンビネーションがサブコンビネーションまたはサブコンブネーションの変形を対象にするのでもよい。
【０１０６】
同様に、動作は図面において特定の順序で示されているが、これは、所望の結果を得るために、このような動作をこの図示した特定の順序でまたは順次実行しなければならない、あるいは図示した動作全てを実行しなければならないと理解してはならない。ある種の状況では、マルチタスクおよび並列処理が有利である場合もある。更に、以上で説明した実施形態における種々のシステム・コンポーネントの分け方(separation)も、全ての実施形態においてこのような分け方を必要とすると理解してはならず、記載したプログラム・コンポーネントおよびシステムは、一般に、１つのソフトウェア製品に一緒に統合すること、または複数のソフトウェア製品にパッケージ化することができると理解してしかるべきである。
【０１０７】
以上のように、本主題の特定の実施形態について説明した。他の実施形態の以下の特許請求の範囲に該当する。場合によっては、特許請求の範囲に記載される動作は、異なる順序で実行することもでき、それでも所望の結果を得ることができる。加えて、添付図面に図示したプロセスは、望ましい結果を得るためには、必ずしも、示される特定の順序や、連続する順序でなければならない訳ではない。ある種の実現例では、マルチタスキングおよび並列処理が有用な場合もある。
【図１】
2014504773.tif 000006
【図２】
2014504773.tif 000007
【図３】
2014504773.tif 000008
【図４】
2014504773.tif 000009
【図５】
2014504773.tif 000010
【図６】
2014504773.tif 000011
【図７】
2014504773.tif 000012
【図８】
2014504773.tif 000013
【図９】
2014504773.tif 000014
【図１０】
2014504773.tif 000015
【図１１】
2014504773.tif 000016
【図１２】
2014504773.tif 000017
【図１３】
2014504773.tif 000018
【図１４】
2014504773.tif 000019
【図１５】
2014504773.tif 000020
【図１６】
2014504773.tif 000021
【図１７】
2014504773.tif 000022
【図１８】
2014504773.tif 000023
【国際調査報告】
2014504773.tif 000024
2014504773.tif 000025