(57)【特許請求の範囲】
【請求項１】
タッチスクリーン（１０２）の導波路層（２００）に光ビームを提供するように構成される複数の光源（２１２）であって、該光ビームの少なくとも１つは、物体が該タッチスクリーンをタッチ点においてタッチしたときに撹乱される、複数の光源（２１２）と、
複数の検出器（２１０）であって、該検出器の少なくとも１つは前記撹乱光を検出するように構成される、複数の検出器（２１０）と、
前記少なくとも１つの検出器に結合される制御ロジック（６０２）であって、該少なくとも１つの検出器が前記撹乱光を検出した結果として前記タッチ点のロケーションを求める、制御ロジック（６０２）と
を備え、
前記複数の光源（２１２）及び前記複数の検出器（２１０）は光源／検出器層（２０４）内に収容され、該光源／検出器層は、該光源／検出器層と前記導波路層との間で光を伝達する複数のミラー（２１４）を備えるミラー層（２０２）によって前記導波路層から分離される
システム。
【請求項２】
前記制御ロジックは、前記複数の光源のいずれが、撹乱された前記光ビームを放出したのかを判断することによって、前記ロケーションを求める
請求項１に記載のシステム。
【請求項３】
前記複数の光源は、前記光源／検出器層の、前記複数の検出器とは異なる側面に沿って配列される
請求項１に記載のシステム。
【請求項４】
前記複数の光源は、前記タッチスクリーンの一側面に隣接して配置され、該一側面は前記タッチスクリーンの別の側面に直交し、前記複数の検出器は該別の側面に隣接して配置される
請求項１に記載のシステム。
【請求項５】
前記複数の光源のそれぞれは、２つのコンポーネント（２１４ａ〜２１４ｂ）を備えるミラー対に関連付けられ、
該ミラー対は光源から前記タッチスクリーンへ光ビームを伝達し、該ミラー対は、該光ビームを前記タッチスクリーンに提供するときに該光ビームを或る範囲の角度に拡散させる
請求項１に記載のシステム。
【請求項６】
前記複数の光源の第１の光源がアクティブ化されている間、前記複数の検出器のそれぞれがアクティブ化及び非アクティブ化され、
前記複数の光源の第２の光源がアクティブ化されている間、前記複数の検出器のそれぞれがアクティブ化及び非アクティブ化され、前記複数の光源の前記第２の光源は、前記複数の光源の前記第１の光源が非アクティブ化されている間アクティブ化される
請求項１に記載のシステム。
【請求項７】
光波をガイドすることができる第１の層（２００）と、
前記第１の層に隣接する第２の層（２０２）であって、複数の反射デバイス（２１４）を備える、第２の層（２０２）と、
前記第２の層に隣接する第３の層（２０４）であって、該第３の層は複数の光源（２１２）及び複数の検出器（２１０）を備え、該光源は該第３の層の一対の側面の１つ又は複数に配列され、該検出器は該第３の層の別の一対の側面の１つ又は複数に配列される、第３の層（２０４）と、
前記複数の検出器に結合される制御ロジック（６０２）と
を備え、
前記光源のそれぞれは、光がその光源から前記複数の反射デバイスの１つを介して前記第１の層へ進むようにアクティブ化され、前記光源のそれぞれはラウンドロビン形式でアクティブ化及び非アクティブ化され、
前記光源のそれぞれがアクティブ化されている間、前記複数の検出器のそれぞれは、ラウンドロビン形式でアクティブ化及び非アクティブ化され、
前記複数の検出器の１つが光を検出した結果として、前記制御ロジックは、前記検出された光が前記複数の光源のいずれによって生成されたのかを判断する
システム。
【請求項８】
前記複数の検出器の前記１つは、該複数の検出器の該１つ及び前記検出された光を生成した前記光源に対応するロケーションにおける前記第１の層への漏れ全反射の結果として反射される前記光を検出する
請求項７に記載のシステム。
【請求項９】
前記一対の側面は前記別の一対の側面と直交する
請求項７に記載のシステム。
【請求項１０】
前記光源から前記複数の反射デバイスの１つを介して前記第１の層へ進む前記光は、前記別の一対の側面に平行に走る光ビームとなって前記第１の層を通って進む
請求項７に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
さまざまなタイプのコンピュータが、タッチスクリーンを使用してエンドユーザからの入力を受け取る。
一般に、エンドユーザは、指又は他の道具を使用してタッチスクリーンと物理的接触を行う。
タッチスクリーンに結合されたコンピュータは、物理的接触を検出し、それに応じて反応する。
タッチスクリーンは、一般に単一の指又は他の道具からの入力を検出するように適合されているが、多くの場合、複数のこのような道具からの同時入力を適切に検出して処理することはできない。
さらに、タッチスクリーンは、望ましくない大量の空間を消費するスクリーン裏側の回路部を必要とする。
【発明の概要】
【０００２】
次に本発明の例示の実施形態を詳細に説明するために、添付図面を参照することにする。
【図面の簡単な説明】
【０００３】
【図１】実施形態による例示のタッチスクリーンデスクトップコンピュータシステムを示す図である。
【図２】実施形態による図１のシステムにおけるタッチスクリーンディスプレイの３次元図である。
【図３】実施形態による図２のディスプレイの断面図である。
【図４】実施形態による図２のディスプレイの別の断面図である。
【図５Ａ】実施形態による図２のディスプレイ上の検知グリッドの概念的な説明図である。
【図５Ｂ】実施形態による動作中の図２のディスプレイの３次元図である。
【図６】実施形態による本明細書に開示される技法を実施するシステムの例示のブロック図である。
【図７】実施形態による本明細書に開示される例示の方法の状態図である。
【図８Ａ】実施形態による本明細書に開示される技法を実施する別の例示のシステムの例示のブロック図である。
【図８Ｂ】実施形態による図８Ａのシステムによって検出されるような実タッチ点（actual touch point）及び／又はファントムタッチ点（phantom touch points）を示す図である。
【図８Ｃ】実施形態による図８Ａのシステムによって検出されるような実タッチ点及び／又はファントムタッチ点を示す図である。
【図９】実施形態による本明細書に開示される技法を実施する一般的なコンピュータシステムの例示のブロック図である。
【図１０】実施形態による図９の一般的なコンピュータシステムで実施されるソフトウェアアーキテクチャの概念的な説明図である。
【発明を実施するための形態】
【０００４】
表記法及び用語体系
以下の説明及び特許請求の範囲の全体にわたって、特定のシステムコンポーネントを参照するために、一定の用語が使用される。
当業者には理解されるように、企業は、１つのコンポーネントを異なる名前で参照することがある。
この文書は、名称は異なるが機能は異ならないコンポーネントを区別するように意図していない。
以下の解説及び特許請求の範囲において、「含む」及び「備える」という用語は、オープンエンド形式で使用され、したがって、「〜を含むが、これらに限定されるものではない」ことを意味するように解釈されるべきである。
また、「結合する」という用語は、間接接続、直接接続、光接続、又は無線電気接続のいずれをも意味するように意図されている。
したがって、第１のデバイスが第２のデバイスに結合する場合、その接続は、直接電気接続、他のデバイス及び接続を介した間接電気接続、光電気接続、又は無線電気接続を通じたものとなり得る。
「隣接（adjacent）」という用語は、「すぐ隣（next to）」又は「近く（near）」を意味し得る。
たとえば、コンポーネントＢがコンポーネントＡとコンポーネントＣとの間に位置している場合、コンポーネントＣはコンポーネントＡにもコンポーネントＢにも隣接すると記載され得る。
【０００５】
詳細な説明
以下の議論は、本発明のさまざまな実施形態を対象としている。
これらの実施形態の１つ又は複数が好ましいものとなり得るが、開示される実施形態は、特許請求の範囲を含む開示の範囲を限定するものとして解釈されるべきでもなければ、別の方法で使用されるべきでもない。
加えて、当業者は、以下の説明が広い用途を有し、いずれの実施形態の議論もその実施形態の単なる例示にすぎないように意図されており、特許請求の範囲を含む開示の範囲がその実施形態に限定されることを暗示するように意図されていないことを理解するであろう。
【０００６】
複数の同時タッチを検出することができるタッチスクリーンシステムが本明細書で開示される。
このシステムは、ガラス（又は「導波路」）層、光源／検出器層、及びガラス層と光源／検出器層との間のミラー層といった複数の隣接する層を備える。
光源／検出器層は、この層の一方の側面に沿って配置された複数の光源と、この層の異なる側面（たとえば、隣接しており反対側でない側面）に沿って配置された複数の光検出器とを備える。
ミラー層は複数のミラーを備える。
各ミラーは、光源／検出器層の異なる光源又は検出器に隣接している。
光源から放出された光は、ミラー層のミラーから反射され、ガラス層に入る。
ガラス層を出た光は、ミラー層のミラーから反射され、光源／検出器層の光検出器によって検出される。
光源及び検出器は、ガラス層の周囲に沿ってではなく、ガラス層の「裏側」に配置されるので、空間が節約される。
【０００７】
動作中、光源は連射式（rapid-fire）デイジーチェーン（daisy-chain）シーケンスでアクティブ化される。
各光源がアクティブ化されている時間期間において、光検出器のそれぞれも連射式デイジーチェーンシーケンスでアクティブ化される。
この光放出／検出シーケンスによって、本質的には、タッチの有無を求めてタッチスクリーンを高速かつ繰り返し「走査」する「グリッド」が形成される。
したがって、たとえば、指がロケーション「Ａ」でタッチスクリーンをタッチしたとき、ロケーションＡとアライン（align：位置調整）された光源は、指がタッチスクリーンから取り除かれ得る前に光を放出する。
指は光を分散させ、ロケーションＡとアラインされた光検出器が分散光を検出する。
タッチスクリーンは、光を放出した光源と分散光を検出した光検出器とが「交差」する点を求める。
この交差した点が、タッチロケーションであると決定される。
同じ技法は、任意の数の同時タッチに使用可能である。
次に、この技法のさまざまな実施形態が説明される。
【０００８】
図１は例示のコンピュータシステム１００を示している。
コンピュータシステム１００はディスプレイ１０２及び筐体１０４を備える。筐体１０４は、プロセッサ、メモリ、ビデオカード等を含むさまざまなコンピュータコンポーネントを収容する。
少なくともいくつかの実施形態では、ディスプレイ１０２にはタッチスクリーンディスプレイが含まれる。
いくつかのこのような実施形態では、ディスプレイ１０２は、キーボード、マウス等が不要であるようなプライマリ入力デバイスである。
ディスプレイ１０２にタッチスクリーンディスプレイが含まれる実施形態では、ディスプレイ１０２は、人間のタッチ、スタイラス（stylus）等を含む任意のタイプの刺激を受容し得る。
コンピュータシステム１００は、図１ではデスクトップコンピュータとして示されているが、コンピュータシステム１００のさまざまなものには、ノートブックコンピュータ、携帯情報端末（ＰＤＡ）、ポータブル音楽プレイヤー、移動電話、テレビ等が含まれ得る。
本明細書に開示される技法は、いくつかのこのようなデバイス又はすべてのこのようなデバイスにおいて実施され得る。
【０００９】
図２は、図１のディスプレイ１０２の詳細な３次元図を示している。
ディスプレイ１０２は複数の層を備える。
具体的には、ディスプレイ１０２は、ガラス層２００と、ガラス層２００に隣接するミラー層２０２と、ガラス層２００及びミラー層２０２に隣接する光源／検出器層（ＬＳＤＬ）２０４とを備える。
ガラス層２００には、液晶ディスプレイ又はプラズマディスプレイ（図３及び図４に図示）等の表示面も隣接している。
ガラス層２００は、「タッチスクリーン」又は「導波路層」とも呼ばれ、ガラス層２００を通じて光（たとえば所定の光波長帯域）をガイドすることができる任意の適切なタイプのガラスを備える。
少なくともいくつかの実施形態では、ガラス層２００は、過度の吸収がない全反射として知られている技法を使用して光をガイドする。
【００１０】
ＬＳＤＬ２０４は、該ＬＳＤＬ２０４の一方の側面（たとえばエッジ）に沿って配列された複数の光源２１２（たとえば赤外レーザダイオード）と、該ＬＳＤＬ２０４の別の側面に沿って配列された複数の検出器２１０とを備える。
光源２１２及び検出器２１０は、所望に応じてＬＳＤＬ２０４のこれらの側面のいずれにも配列され得るが、少なくともいくつかの実施形態では、光源２１２はすべてＬＳＤＬ２０４の共通の側面に配置され、検出器２１０はすべてＬＳＤＬ２０４の別の共通の側面に配置される。
さらに、いくつかの実施形態では、光源２１２を備えるＬＳＤＬ２０４の側面（複数可）は、検出器２１０を備えるＬＳＤＬ２０４の側面（複数可）と実質的に直交している。
光源２１２には、たとえば赤外発光ダイオード、赤外レーザダイオード等が含まれ得る。
検出器２１０には、相補型金属酸化膜半導体（ＣＭＯＳ）センサ等の任意の適切なタイプの光検出器が含まれ得る。
【００１１】
ミラー層２０２は、ガラス層２００及びＬＳＤＬ２０４と境を接するか又は少なくともそれらに隣接し、複数のミラー対２１４を備える。
いくつかの実施形態では、ミラー対２１４の総数は、検出器２１０及び光源２１２の総数と一致し、各検出器２１０又は各光源２１２につき１つのミラー対がある。
ミラー対２１４は、必要に応じて、ミラー層２０２に配列されて、ガラス層２００内への光の適切な導入及びガラス層２００の外部への光の適切な抽出を達成し得る。
一方、少なくともいくつかの実施形態では、各ミラー対２１４は、検出器２１０又は光源２１２の真上（たとえばガラス層２００のより近く）に配置される。
いくつかの実施形態では、ディスプレイ１０２の単一の側面に沿った複数の検出器又は光源については、ガラス層２００からの光の抽出又はガラス層２００内への光の導入を容易にするために、実質的に円筒形のミラーの単一の対が使用され得る。
換言すれば、このような実施形態では、円筒形ミラーの単一の対はミラー層２０２の長さにわたってもよく、それによって、光源２１２の一部又は全部を使えるようにしている。
同様に、円筒形ミラーの別の一対はミラー層２０２の幅にわたってもよく、それによって、検出器２１０の一部又は全部が使えるようになる。
いくつかのこのような実施形態では、光の漂遊（light stray）を緩和するために、バッフリング（baffling）が単一の対のミラー間に配置され得る。
【００１２】
ディスプレイ１０２はタッチスクリーンを備え、さらに、検出器２１０、光源２１２、及びミラー対２１４は、以下で説明されるようにタッチ（たとえば人間の指、スタイラス）を検出するのに使用されるので、検出器のそれぞれの間の間隔、光源のそれぞれの間の間隔、及びミラー対のそれぞれの間の間隔は、平均的な人間の指先の幅及び／又は長さ（たとえば最小で０．０１ｍｍと１０ｍｍとの間）にほぼ等しくあり得る。
他の実施形態では、検出器のそれぞれの間の間隔、光源のそれぞれの間の間隔、及び／又はミラーのそれぞれの間の間隔は、ディスプレイ１０２と共に使用するために製造されるスタイラス先端の幅（たとえば最小で０．２５ｍｍと２ｍｍの間）とほぼ等しくあり得る。
他の幅も使用され得る。
【００１３】
検出器２１０及び光源２１２は、図６に示され以下でさらに説明されるように、筐体１０４内の回路ロジックに結合している。
筐体１０４内の回路ロジックは検出器２１０及び光源２１２に電力を供給する。
回路ロジックは、光源２１２も制御し（たとえば光源をオン／オフに切り替え）、検出器２１０も制御する（たとえば検出器をオン／オフに切り替え、検出器からデータを受信する）。
いくつかの実施形態では、回路ロジックは、筐体１０４の代わりにディスプレイ１０２に収容される。
【００１４】
動作中、光源２１２は、赤外レーザ光等の光を放出する。
この光は、ミラー対２１４によって反射され、ガラス層２００に提供される。
光波形は以下で説明されるようにガラス層２００内を進む。
コンピュータシステム１００のユーザが（たとえば指、スタイラス、又は他の適切な装置を使用して）ディスプレイ１０２をタッチしたとき、ガラス層２００内の波形は、ガラス層２００と指又はスタイラスとの間の接触点において撹乱される。
ガラス層２００内の光は全反射を使用するので、ガラス層２００との接触により、又はガラス層２００との接近によっても、ガラス層２００内の光パターンの撹乱が引き起こされる。
このような撹乱は「漏れ全反射（frustrated total internal reflection）」と呼ばれる。
検出器２１０の１つは、この撹乱を検出し、通知信号を介してこれを筐体１０４内の回路ロジックに報告する。
いずれの光源及びいずれの検出器が撹乱に対応しているのかを判断することによって、回路ロジックは、ガラス層２００のタッチの正確なロケーションを求めことができる。
次に、回路ロジックは、所望に応じて、このロケーション情報をソフトウェアアプリケーションに供給する。
次に、この検出技法がさらに明らかにされる。
【００１５】
図２の破線２０６は、図３に示されるディスプレイ１０２の断面図に対応する。
図３は、図２のコンポーネントを示すことに加えて、前述の表示面３０４も示している。
少なくともいくつかの実施形態では、ガラス層２００は、上述したガラス層２００内の全反射が撹乱もされず、もっぱら表示面との接近に起因して「漏れ」もないように、ガラス層２００と表示面との間におけるガラス層の表面上にコーティングを備える。
ガラス層２００を表示面に接近させることによってガラス層２００の全反射能力に漏れを生じさせないように、コーティングは、ガラス層２００の屈折率とは異なる屈折率を有する任意の適切な透明材料を含み得る。
【００１６】
図示するように、動作中、光源２１２はミラー層２０２に向けて光を放出する。
ミラー層２０２は、光源２１２とアラインされたミラー対２１４を備える。
ミラー対２１４は、ミラー２１４ａ及び別のミラー２１４ｂの２つのコンポーネントを備える。
少なくともいくつかの実施形態では、これらのミラーコンポーネントは曲面にされている。
複数のミラーコンポーネントによって、ガラス層２００の全体を通じた光の拡散が容易にされる。
詳細には、光源２１２から放出された光ビームはまずミラー２１４ａに当たり、ミラー２１４ａはこの光ビームをミラー２１４ｂに向けて反射する。
次に、ミラー２１４ｂは光ビームをガラス層２００内へ反射する。
ミラー２１４ｂが光ビームを反射するとき、光ビームが或る範囲の角度でガラス層２００内へ導入されるように、ミラー２１４ａ及び２１４ｂは互いに角度付けられている。これらの角度のそれぞれは、全反射が起こるのに必要とされる臨界角よりも小さい。
この角度の範囲は、ガラス層２００内の光波形を飽和させるほど十分広い（すなわち光波形内のギャップを防止する）。
具体的には、波形３００及び３０２がガラス層２００内へ導入される。
波形３００は、全反射に必要とされる臨界角で導入された光を表す。
波形３０２は、前述の臨界角よりも小さな所望の角度範囲内で導入された光を表す。
波形３０２は、波形３００によってカバーされないどのギャップも飽和させる、すなわち「埋める」ように導入される。
波形３００の角度と波形３０２の角度との間の角度で入る光は、合わさって、ガラス層２００の少なくとも一部を光で飽和させる。
いくつかの実施形態では、単一の光源２１２によって放出された光は、ガラス層２００全体を飽和させないが、その代わり、図５Ｂに示され以下で説明されるようにガラス層２００の一部のみを飽和させる。
【００１７】
図２の破線２０８は、図４に示されるディスプレイ１０２の断面図に対応する。
ガラス層２００のタッチによって引き起こされた光の撹乱が例示の光ビーム４０１として示されている。
ミラー層２０２はミラー対２１４を備える。
図４のミラー対２１４はミラーコンポーネント４００ａ及び４００ｂを備える。
ミラー４００ｂは、例示の光ビーム４０１を受信し、その光ビーム４０１をミラー４００ａへ反射する。
次に、ミラー４００ａは例示の光ビーム４０１を検出器２１０に提供する。
次に、検出器２１０は、例示の光ビームを捕捉し、捕捉した光ビームに関するデータをディスプレイ１０２及び／又は筐体１０４の回路ロジックに提供する。
【００１８】
図５Ａは、図２に示されるような、光源２１２及び検出器２１０の配列によってディスプレイ１０２に形成される概念的な「検出グリッド」を示している。
図５Ａの説明図はトップダウン図である。
この概念的なグリッドの水平ラインのそれぞれは、光源２１２によって放出され得る離散的な光ビームを表す。
これらの光ビームは、総称して、光ビームアレイ５００と呼ばれる。
参照及び議論を簡単にするために、光ビームには参照番号１〜２４が割り当てられている。
概念的なグリッドの縦線のそれぞれは離散的な検出経路を表す。
指又はスタイラスによって撹乱された光は検出器２１０への検出経路に沿って進む。
これらの検出器経路は、総称して、検出器経路アレイ５０２と呼ばれる。
参照及び議論を簡単にするために、検出器経路には参照番号２５〜５８が割り当てられている。
【００１９】
図２及び図５Ａを同時に参照して、動作中、コンピュータシステム１００は、光源２１２のそれぞれを順に発光させる（すなわち、光を放出させ、その後、光の放出を停止させる）。
したがって、たとえば、光ビーム１に対応する光源２１２が最初に発光し、その後、光ビーム２に対応する光源が続き、その後、光ビーム３に対応する光源が続き、以下同様に光源が続く。
このように、光源２１２のそれぞれが順に発光し、その結果、光ビーム２４に関連した光源２１２が発光した後、光ビーム１に対応する光源２１２が再び発光することになる。
換言すれば、光源２１２は「ラウンドロビン」形式で発光する。
発光期間（すなわち、光源が光を放出している時間の長さ）は、任意の適切な時間の長さ（たとえば約１ピコ秒〜１ミリ秒未満）であり得る。
遅延期間（すなわち、光源が光の放出を停止した時刻と次の光源が光の放出を開始する時刻との間の時間の長さ）も、任意の適切な長さ（たとえば約１ピコ秒〜１ミリ秒未満）であり得る。
他の速度も使用され得る。
【００２０】
光源が発光されるごとに、検出器２１０を制御する回路ロジックは、検出器２１０のそれぞれを「ラウンドロビン」形式でアクティブ化する。
たとえば、光ビーム１の光源２１２が発光されている間、検出器２１０のそれぞれがアクティブ化及び非アクティブ化され、その結果、各経路２５〜５８が、ディスプレイタッチによって引き起こされるあらゆる光の撹乱の有無を求めて走査される。
すべての検出器経路が走査された後、光ビーム１の光源２１２は発光を停止し、代わりに、光ビーム２の光源２１２が発光する。
光ビーム２の光源２１２が発光している間、検出器経路２５〜５８のそれぞれが、ラウンドロビン形式で再び走査されて、ディスプレイタッチによって引き起こされたあらゆる光の撹乱が検出される。
このプロセスは無制限に続けられる。
光の撹乱が検出器２１０によって検出されたとき、検出器２１０は、タッチが行われた可能性があることを制御ロジックに通知する信号をその制御ロジックへ送信する。
検出期間（すなわち、検出器がアクティブ化されている時間の長さ）は、任意の適切な時間の長さ（たとえば約１ナノ秒〜１秒未満）であり得る。
検出遅延期間（すなわち、検出器がシャットオフされた時刻と次の検出器がアクティブ化された時刻との間の時間の長さ）も、任意の適切な長さ（たとえば約１ピコ秒〜１ミリ秒未満）であり得る。
他の速度も使用され得る。
このように、光源２１２及び検出器２１０は共同して、タッチの有無を求めてディスプレイ１０２を繰り返し「走査」する。
少なくともいくつかの実施形態では、図５Ａに示されるグリッド全体を「走査」するのに必要とされる時間（たとえば１ピコ秒〜１秒未満）は、指又はスタイラスがタッチの期間中にディスプレイ１０２のガラス層２００と接触している際又はガラス層２００の近くにある際に費やし得る最小時間量よりも短い。
【００２１】
図５Ａをさらに参照して、例示のタッチ点５０４が示されている。
このタッチ点５０４は、指、スタイラス、又は他の装置が、（たとえばソフトウェアアプリケーションに関連して）ディスプレイ１０２に表示されていたグラフィカルユーザインターフェース（ＧＵＩ）とインターラクト（interact）している間に使用されていた可能性のあるディスプレイ１０２上のロケーションを示す。
動作中、光ビーム１〜８に関連した光源の各発光中に検出器経路２５〜５８のそれぞれを（検出器２１０を使用して）走査した後、光の撹乱が検出されていない場合がある。
しかしながら、光ビーム９に関連した光源２１２が発光されたとき、タッチ点５０４においてディスプレイ１０２上で押圧されたタッチによって、光が撹乱される。
検出器経路３８に関連した検出器２１０が、この撹乱光を検出したとき、検出器２１０はその回路ロジックへ通知信号を送信する。
次に、回路ロジックは、１）いずれの検出器２１０及び、２）いずれの光源２１２がその検出時にアクティブ化されたのかを求める。
回路ロジックは、次に、その検出器の検出経路とその光源の光ビームとに対応するグリッド上の交点を求める。
この交点がタッチ点であると決定される。
回路ロジックは、必要に応じて、処理ロジック、ソフトウェアアプリケーション（複数可）等へ交点を転送する。
【００２２】
図５Ｂは、上述した検出プロセスを示している。
図示するように、光源２１２はミラー２１４ａ〜２１４ｂを使用して図５Ａの光ビーム９を放出する。
指５０６はタッチ点５０４においてディスプレイ１０２をタッチする。
この指タッチによって、ビーム９からの光が撹乱、すなわち「漏出」され、撹乱光５０８として示される。
（図５Ａの検出経路３８に対応する）検出器２１０は、ミラー２１４ｃ〜２１４ｄを使用して撹乱光５０８を検出する。
検出器２１０は、次に、上述したように通知信号（複数可）を生成して送信する。
複数（たとえば同時）のタッチも、上記技法を使用して検出され得る。
【００２３】
図６は、光源２１２及び検出器２１０を備えるディスプレイ１０２を示している。
光源２１２及び検出器２１０はディスプレイ制御ロジック６０２に結合している。
ディスプレイ制御ロジック６０２は、上述したように光源２１２及び検出器２１０を制御する。
ディスプレイ制御ロジック６０２はストレージ６００に結合し得る。ストレージ６００は１つ又は複数のアプリケーション６０６を含む。
アプリケーション（複数可）６０６は、実行されると、ディスプレイ制御ロジック６０２に、上述した機能の少なくともいくつかを実行させ、背景除去及び／又は較正を含み得る。
ディスプレイ制御ロジック６０２は、コンピュータシステム筐体１０４内又はディスプレイ１０２内に収容され得る。
ディスプレイ制御ロジック６０２は、処理ロジック６０４に結合している。
処理ロジック６０４は、オペレーティングシステム、ソフトウェアアプリケーション等の実行等、コンピュータシステム１００の処理機能の多くをハンドリングする。
処理ロジック６０４は、ストレージ６１０に記憶された１つ又は複数のアプリケーション６０８を実行して、検出されたタッチ情報をアプリケーション（複数可）に提供し得る。
検出器２１０から受信されたタッチデータは、ディスプレイ制御ロジック６０２によって処理され得る。
場合によっては、複数のタッチが受け取られることがある。
複数のタッチが適切に解釈されることを確保するために、アプリケーション６０６は、タッチに関連した（たとえばタッチ間の）タイミングを解析する。
この技法は、本明細書では、アプリケーション６０６にコード化されてディスプレイ制御ロジック６０２によって実行されるものとして説明されているが、アプリケーション６０８及び処理ロジック６０４も使用され得る。
いくつかの実施形態では、他の同様のアプリケーション及び／又は処理ロジックが使用され得る。
次に、この技法が詳細に説明される。
【００２４】
図７は、実施形態に従って実施される例示の方法７００の状態図を示している。
図６及び図７を参照して、方法７００は、「入力待ち受け状態」において入力を待ち受ける（ブロック７０２）ことによって開始する。
たとえば、ディスプレイ制御ロジック６０２はアイドル状態又は待機状態にあり得る。
ディスプレイ制御ロジック６０２がディスプレイ１０２上の単一のタッチを検出した場合（矢印７０４）、ディスプレイ制御ロジック６０２は、そのタッチの時刻及び位置を（たとえばストレージ６００のレジスタに）記録する。
ディスプレイ制御ロジック６０２は、この時、「確認待ち受け状態」（ブロック７０６）にある。
換言すれば、ディスプレイ制御ロジック６０２は、タッチを検出しており、現在、別のタッチが受け取られるか否かを判断するために待機している。
ディスプレイ制御ロジック６０２が待機している間、ディスプレイ制御ロジック６０２は、内部カウンタ（特に図示せず）又は他のメカニズムを使用して、矢印７０４においてタッチが検出されてから経過した時間量を求める。
この時間量が（たとえばアプリケーション６０６内に事前にプログラミングされた）所定のしきい値を超えている場合（矢印７０８）、又は別のタッチが、最初のタッチロケーションから（たとえばアプリケーション６０６内に事前にプログラミングされた）所定の距離しきい値を超えているロケーションにおいて検出された場合（矢印７０８）、ディスプレイ制御ロジック６０２は、１つのみのタッチが受け取られたことを確認する（ブロック７１０）。
換言すれば、ディスプレイ制御ロジック６０２は、「１確認状態」（ブロック７１０）に入り、そのタッチの位置が記録される。
すべてのタッチデバイスがディスプレイ１０２から取り除かれたとき（矢印７１２）、ディスプレイ制御ロジック６０２は「入力待ち受け状態」（ブロック７０２）に戻る。
【００２５】
上述した所定の時間しきい値は、２つのタッチが異なる時刻に受け取られたにも関わらずそれらの２つのタッチの十分な開きを同時のタッチとして検出することを可能にするように選ばれる。
この状況は、タッチが別個の時刻に検出されたとき又はタッチが同時に検出されたがその後（たとえば指を広げることによって）離されたときに発生する。
【００２６】
「１確認状態」にある間、ディスプレイ制御ロジック６０２が第２のタッチを検出した場合、ディスプレイ制御ロジック６０２はそれらの２つのタッチのいずれが、「１確認状態」において確認された最初のタッチに最も近いのかを識別し得る。
ディスプレイ制御ロジック６０２は、この識別されたタッチを最初のタッチとして指定し得る。
しかしながら、ディスプレイ制御ロジック６０２は、一般に、１つのタッチの確認から２つのタッチの確認へ直接遷移しない。
【００２７】
ディスプレイ制御ロジック６０２が、「確認待ち受け状態」（ブロック７０６）にある間、第２のタッチを検出した場合（矢印７１４）、ディスプレイ制御ロジック６０２は、「２確認状態」（ブロック７１６）に入る。この状態では、２つのタッチが確認され、これらのタッチの位置が記録される。
第２のタッチ（矢印７１４）は、前述したしきい値時間フレーム内で受け取られなければならない。
また、第２のタッチ（矢印７１４）は、前述した位置しきい値の外側の位置に位置していなければならない。
そうでない場合、矢印７０８に従って「１確認状態」（ブロック７１０）になる。
【００２８】
別の経路に従って「２確認状態」（ブロック７１６）になることもある。
ディスプレイ制御ロジック６０２が、「入力待ち受け状態」（ブロック７０２）にある間、２つの同時のタッチを検出した場合（矢印７１８）、ディスプレイ制御ロジック６０２は、「２確認状態」（ブロック７１６）に入る。
ディスプレイ制御ロジック６０２が、「２確認状態」（ブロック７１６）にある間、すべてのタッチデバイスがディスプレイ１０２から取り除かれたと判断した場合（矢印７２０）、ディスプレイ制御ロジック６０２は「入力待ち受け状態」（ブロック７０２）に戻る。
【００２９】
「２確認状態」７１６にある間、タッチの一方がそのままであるのに対し、タッチの他方がタッチスクリーンから取り除かれることがある。
その場合、ディスプレイ制御ロジック６０２は、引き続き２つのタッチを認識する。
ディスプレイ制御ロジック６０２は、現在欠けているタッチのロケーションを、ベクトルを使用して近似する。
具体的には、欠けているタッチ位置は、始点がタッチスクリーン上にまだ存在するタッチに対応するベクトルの終点で近似されることになる。
このベクトルは、最近の２つ（又は３つ以上）の記録されたタッチ位置の個別の位置から導出される第２のベクトルと同じ角度及び長さを維持する。
詳細には、第２のベクトルの始点は、最近の２つ（又は３つ以上）の記録された位置のうち、受信された単独のタッチ位置に最も近い個別の位置となるように選ばれる。
【００３０】
方法７００のステップは、３つ以上のタッチを検出するように適合され得る。
上述したしきい値時間フレーム及び位置しきい値は共にユーザ調整可能である。
このようなすべての変形は本開示の範囲内に含まれる。
【００３１】
図８Ａは、方法７００が実施され得る別のシステム８００を示している。
システム８００は、処理ロジック８０２と、アプリケーション８０６〜８０７を含むストレージ８０４と、ディスプレイ制御ロジック８０８と、ディスプレイ８１０と、タッチスクリーン８１２と、光送受信機８１４及び８１６と、アプリケーション８２０及び８２２を含むストレージ８１８とを備える。
タッチスクリーン８１２は、そのエッジに沿って、以下で説明される逆反射テープ（retro-reflective tape）８３０を備える。
方法７００の技法は、アプリケーション８０６等のソフトウェアにコード化されて、処理ロジック８０２によって実行され得る。
代替的に、方法７００の技法は、アプリケーション８２０等のソフトウェアにコード化されて、ディスプレイ制御ロジック８０８によって実行され得る。
システム８００は、光源及び検出器のグリッドを使用してタッチを検出するシステム１００とは異なり、光の送信と、タッチスクリーン８１２上に存在する障害物の検出との双方を行う複数の光送受信機８１４及び８１６を備える。
【００３２】
図８Ｂは動作中のシステム８００を示している。
ユーザは指を使用してタッチスクリーン８１２をタッチ点８２４においてタッチすると仮定する。
ディスプレイ制御ロジック８０８は、光送受信機８１４にタッチスクリーン８１２全体にわたって光（たとえば赤外光）を放出させる。
逆反射テープ８３０（たとえば複数の小型鏡面コーナーキューブを備える材料）がタッチスクリーン８１２のエッジに沿って配置されている。
逆反射テープ８３０によって、光送受信機８１４から放出された光は、該光が逆反射テープ８３０に到達した方向と実質的に同じ方向に（たとえば実質的に同じ角度で）戻る、すなわち「バウンスバック（bounce back）」する。
指又は他の障害物が以下で説明されるように光を遮ることができる限り、赤外光はタッチスクリーン８１２のいずれかの側面上で放出され得る。
光送受信機８１６も同様に動作する。
【００３３】
図示するように、タッチ点８２４において構築されたタッチは、光送受信機８１４及び８１６によって放出された光を遮る。
したがって、光送受信機８１４によって放出された光は、逆反射テープ８３０に当たり、タッチ点８２４におけるタッチによってブロックされる光を除いて光送受信機８１４に戻る。
同様に、光送受信機８１６によって放出された光は、逆反射テープ８３０に当たり、タッチ点８２４におけるタッチによってブロックされる光を除いて光送受信機８１６に戻る。
このように、光送受信機８１４及び８１６のそれぞれは、指等の障害物が位置する経路を求める。
送受信機８１４及び８１６によって求められた障害経路８３４と８３６との交点８３２を求めるのに、三角測量技法が使用され得、それによって、タッチ点８２４における障害物（又はタッチ）の正確なロケーションが識別され得る。
【００３４】
図８Ｃは、タッチスクリーン８１２を再び示している。
ただし、この図８Ｃのタッチスクリーン８１２は２つのタッチ点８２４及び８２６を有する。
光送受信機８１４及び８１６によって実行される上述した三角測量技法はタッチ点８２４及び８２６を識別する。
一方、図８Ｂに示されたタッチスクリーンと異なり、図８Ｃのタッチスクリーンは複数のタッチ点を有する。
その結果、光送受信機８１４及び８１６は、２つの実タッチ点８２４及び８２６を識別するだけでなく、ファントムタッチ点８２８と呼ばれる２つの追加の交点も識別する。
これらのファントムタッチ点は実タッチ点のように見えるが、実際には実タッチ点ではない。
実タッチ点のみが使用されるべきであるので、実タッチ点とファントムタッチ点とを区別することが望ましい。
次に説明されるように、システム８００は実タッチ点とファントムタッチ点とを区別する。
【００３５】
アプリケーション８２２は、ディスプレイ制御ロジック８０８によって実行されると、ディスプレイ制御ロジック８０８に、光送受信機８１４及び８１６を使用する上述した三角測量技法を実行させる。
ディスプレイ制御ロジック８０８は、三角測量技法を実行しているとき、障害物経路８３８、８４０、８４２、及び８４４にそれぞれ対応する障害物の角度８４６、８４８、８５０、及び８５２を使用して、複数のタッチ点８２４、８２６、及び８２８のそれぞれの特性を予測する。
ディスプレイ制御ロジック８０８は、タッチスクリーン８１２に対する障害物経路８３８、８４０、８４２、及び８４４の向きも使用して、複数のタッチ点８２４、８２６、及び８２８のそれぞれの特性を予測する。
さらに、ディスプレイ制御ロジック８０８は、タッチスクリーン８１２に対する光送受信機８１４及び８１６のロケーションに対応する光送受信機８１４及び８１６に関する追加の情報を保持し得る。
【００３６】
ディスプレイ制御ロジック８０８は、光送受信機８１４及び８１６によって収集された一部又は全部の情報を使用して、タッチ点８２４、８２６、及び８２８に関連した空間特性を求める。
このような特性は、タッチ点のほぼ確実なサイズ、形状、向き等を含む。
ディスプレイ制御ロジック８０８は、次に、タッチ点８２４、８２８、及び８２８の異なる空間特性を比較して、タッチ点８２４、８２６、及び８２８のいずれが実タッチ点である可能性が最も高いのか及びいずれがファントムタッチ点である可能性が最も高いのかを判断し得る。
ディスプレイ制御ロジック８０８は、所望に応じて、事前にプログラミングされた公式等を使用して空間特性の一部又は全部を重み付けすることによりこのような比較を実行し得る。
次に、上述した空間特性のそれぞれを求めることが説明される。
【００３７】
ディスプレイ制御ロジック８０８は、タッチ点のロケーションと共に、タッチ点に関連した障害物経路角を使用して（すなわち三角測量を使用して）タッチ点の形状を求め得る。
たとえば、タッチ点は楕円であると仮定されるので（たとえば、指及び指先は楕円に類似している傾向があるので）、ディスプレイ制御ロジック８０８は、光送受信機８１４及び８１６からのタッチ点の幅等の光情報を使用して、タッチ点に関連した長軸及び短軸の長さを求め得る。
具体的には、ディスプレイ制御ロジック８０８が、光送受信機８１４及び８１６を使用して、その形状が求められるタッチ点のロケーションを求めた後、ディスプレイ制御ロジック８０８は、タッチ点に対応する障害物角並びに光送受信機８１４及び８１６からのタッチ点の距離を使用して（すなわち、基本的な三角技法を使用して）、タッチ点の長軸の長さを求める。
同様の技法は、タッチ点の短軸の長さを求めるのにも使用され得る。
ディスプレイ制御ロジック８０８は、次に、長軸の長さと短軸の長さとの間の差を求め、長軸を該差の絶対値で割って楕円タッチ点の離心率（eccentricity）を求め得る。
離心率が大きいほど、タッチ点はより楕円である。
他の同様の技法が、光送受信機８１４及び８１６によって収集された一部又は全部のデータを使用してタッチ点の形状情報を求めるのに使用され得る。
たとえば、図８Ｃを参照して、タッチ点８２４の形状が求められる場合、菱形形状の障害物８２５内に楕円を内接させる近似が行われ得る。
【００３８】
いくつかの実施形態では、ディスプレイ制御ロジック８０８は、４つの可能なタッチ点のうち、２つの実タッチ点及び２つのファントムタッチ点が交互形式で配列されることを仮定するようにプログラミングされ得る。
この仮定は、実タッチ点及びファントムタッチ点が一般にこのような交互形式で配列される傾向があるということに基づいている。
したがって、たとえば、図８Ｃを参照して、タッチ点は交互形式で示されている。
実タッチ点８２４の後に、ファントムタッチ点８２８の一方が続き、その後に実タッチ点８２６が続き、その後に別のファントムタッチ点８２８が続いている。
したがって、ディスプレイ制御ロジック８０８が、本明細書で説明された技法のいずれかを使用して、可能なタッチ点の１つにすぎないものの正体（すなわちタッチ点が実タッチ点であるのか又はファントムタッチ点であるのか）を正確に求める場合、タッチ点は実タッチ点とファントムタッチ点とが交互になっているので、ディスプレイ制御ロジック８０８は残りのタッチ点の正体を自動的に求め得る。
いくつかのこのような場合において、可能なタッチ点の１つにすぎないものの正体は、その可能なタッチ点がタッチスクリーン８１２の外れに位置しているときは、直ちにかつ正確に求められる。
タッチスクリーン８１２の外れにあると判断される可能なタッチ点はファントムタッチであり、これによって、残りの可能なタッチ点の正体が確認される。
【００３９】
ディスプレイ制御ロジック８０８は、障害物経路の向き及び角度と光送受信機８１４及び８１６のロケーション情報とを使用してタッチ点のサイズを求め得る。
前述したように、ディスプレイ制御ロジック８０８は、可能なタッチ点のそれぞれの長軸及び短軸の長さを求め得る。
ディスプレイ制御ロジック８０８は、これらの長さを使用して可能なタッチ点のそれぞれに関連したサイズ（すなわち面積）を求め得る。
可能なタッチ点の面積を求めるために、ディスプレイ制御ロジック８０８は長軸及び短軸の積にπを乗算する。
ディスプレイ制御ロジック８０８は、可能なタッチ点のそれぞれの面積を求めた後、可能なタッチ点のすべての平均サイズを求め得る。
ディスプレイ制御ロジック８０８は、次に、各可能なタッチ点のサイズ又は可能なタッチ点の対のサイズを、可能なタッチ点のすべての平均サイズと比較して、タッチ点のいずれが実タッチ点である可能性が最も高いのか及びいずれがファントムタッチ点である可能性が最も高いのかを判断し得る。
いくつかの実施形態では、平均タッチ点サイズを密接に近似するサイズを有するタッチ点が、サイズが平均タッチ点サイズを密接に近似していないタッチ点よりも実タッチ点である可能性が高い。
他の同様の技法も使用され得る。
【００４０】
ディスプレイ制御ロジック８０８は、光送受信機８１４及び８１６を使用して収集された情報に基づいてタッチ点の向きを求め得る。
具体的には、各可能なタッチ点について、ディスプレイ制御ロジック８０８は、そのタッチ点に関連した障害物角と光送受信機８１４及び８１６に対するそのタッチ点の位置とを求める。
ディスプレイ制御ロジック８０８は、この情報を使用して、その可能なタッチ点が水平に向いているのか又は垂直に向いているのかを予測する。
光送受信機の一方（たとえば光送受信機８１４）によって測定された障害物角が他方の光送受信機（たとえば光相互接続８１６）によって測定された障害物角よりも大きいと仮定する。
このような場合において、その可能なタッチ点が光送受信機８１６よりも光送受信機８１４の近くに位置しているとディスプレイ制御ロジック８０８が判断したとき、幾何学的に言えば、その可能なタッチ点は垂直に向いているよりも水平に向いている可能性が高い。
一方、可能なタッチ点が光送受信機８１４よりも光送受信機８１６の近くに位置している場合、その可能なタッチ点は、水平に向いているよりも垂直に向いている可能性が高い。
同様に、光送受信機８１６によって測定された障害物角が、光送受信機８１４によって測定された障害物角よりも大きいと仮定する。
可能なタッチ点が光送受信機８１４よりも光送受信機８１６の近くに位置している場合、そのタッチ点は水平に向いている可能性がより高い。
そうでない場合、そのタッチ点は垂直に向いている可能性がより高い。
一般に、或る可能なタッチ点の向きが他の可能なタッチ点の向きと一致していない場合、その可能なタッチ点はファントムタッチ点である可能性がある。
【００４１】
上記判断を行う際に、ディスプレイ制御ロジック８０８は、より多くの重み又はより少ない重みをさまざまな因子に与え得る。
たとえば、ディスプレイ制御ロジック８０８は、タッチ点の形状に関して行われる判断には余分の重みを与え得り、タッチ点の向きに関して行われる判断にはより少ない重みを与え得る。
タッチ点予測は、所望に応じて重み付けされ得る。
いくつかの実施形態では、重み付けの後、これらの予測は、累積値、すなわち予測を生成するために組み合わせられ得る。この累積値は、その結果、一部又は全部の利用可能な情報を考慮に入れて、いずれのタッチ点が実タッチ点である可能性が最も高いのか及びいずれがファントムタッチ点である可能性が最も高いのかを示す。
いくつかの実施形態では、上述した因子は、事前にプログラミングされた方式に基づいて数値を割り当てられ得、重み付けされた後、可能なタッチのいずれが実タッチであるのか及びいずれがファントムタッチであるのかを判断（又は予測）するために、１つ又は複数の事前にプログラミングされた公式で使用され得る。
いくつかの実施形態では、重み付けは行われない。
これらの技法に対するありとあらゆる変形は本開示の範囲内に包含される。
【００４２】
上述した障害物経路角情報は、光送受信機によって収集され、信号を使用してディスプレイ制御ロジック８０８に提供される。
ディスプレイ制御ロジック８０８は、障害物経路を示すこのような信号の変化（たとえばディップ）の有無を監視し得る。
ディスプレイ制御ロジック８０８は、このような変化（たとえばディップ幅）を解析して、識別された障害物経路に関連した角度を求め得る。
タッチ点の角度等の他の情報も、このような信号の変化を使用して求められ得る。
ディスプレイ制御ロジック８０８は、このように情報を取得すると、上述した因子を使用して、可能なタッチ点のいずれが実タッチ点であるのか及びいずれがファントムタッチ点であるのかを予測し得る。
ディスプレイ制御ロジック８０８は、いずれが実タッチ点であるのかを予測すると、その時点で実行中であり得る任意の適用可能なソフトウェアへこのような予測を転送し得る。
【００４３】
場合によっては、これらの２つの実タッチは、タッチスクリーン８１２に同時に導入されないことがある。
換言すれば、タッチの一方が導入され、その後になって、第２のタッチが続くことがある。
システム８００は、単一のタッチ、連続した複数のタッチ、及び複数の同時のタッチを区別するように適合されている。
より具体的には、ディスプレイ制御ロジック８０８がタッチスクリーン８１２上の第１のタッチを検出したとき、ディスプレイ制御ロジック８０８が、第１のタッチをマウスダウンイベントとしての処理する前に、所定の（たとえばユーザ指定された）長さの時間の間待機するように、アプリケーション８２２はプログラミングされる。
この遅延時間の間待機することによって、第２のタッチの導入が可能になる。
【００４４】
この遅延は、第１のタッチがタッチスクリーン８１２から離された場合に中断され得る。
このような場合、ディスプレイ制御ロジック８０８は、第１のタッチをクリックイベントとして処理する。
代替的に、この遅延は、第１のタッチが該第１のタッチの最初のロケーションから所定の距離を移動された場合に中断され得る。その理由は、このような移動が、ユーザがタッチスクリーン８１２のグラフィカルユーザインターフェース（ＧＵＩ）上の物体を「ドラッグ」することを意図していることを示すからである。
このような場合、ディスプレイ制御ロジック８０８は、第１のタッチを処理し、ドラッグイベントとしてドラッグを行う。
さらに、この遅延は、第２のタッチがタッチスクリーン８１２上で検出された場合にも中断され得る。
遅延時間が、第２のタッチが検出される前に満了した場合、第１のタッチイベントのみが処理され、他のタッチは、すべてのタッチがタッチスクリーン８１２から解放されるまで処理されない。
同様に、第２のタッチが遅延期間中に検出された場合、遅延は満了し、すべてのタッチがタッチスクリーン８１２から離されるまで、ダブルタッチイベントのみが処理される。
他のこのようなタッチルールは、所望に応じてアプリケーション８２２内にプログラミングされ得る。
【００４５】
上記技法は、ディスプレイ制御ロジック８０８によって実行されたものとして一般的に説明されているが、いくつかの実施形態では、上記技法は、アプリケーション８０７を実行している間、処理ロジック８０２によって実行され得る。
【００４６】
使用されるコンピュータシステムのタイプ（たとえば、本明細書で開示される技法を実施するシステム１００、システム８００、又は別のシステム）に関わらず、ディスプレイ及びディスプレイ制御ロジックを使用して収集されたタッチデータは、その後、実行中の適切なアプリケーション（複数可）に提供される。
たとえば、コンピュータシステムのユーザはディスプレイ上でＧＵＩを見ることがある。
このＧＵＩは、アプリケーションを使用して生成される。
ユーザは、ディスプレイをタッチすることによってＧＵＩとインターラクトする。
ディスプレイ制御ロジックは、このタッチ情報を収集し、このタッチ情報を、ユーザがインターラクトしていたＧＵＩを生成するのに使用されたアプリケーションに提供する。
【００４７】
図９は、タッチデータを収集して適切にルーティングするソフトウェアアーキテクチャを備える（たとえばシステム１００及び／又は８００を例示する）一般的なコンピュータシステム１０００を示している。
コンピュータシステム１０００は、タッチスクリーンディスプレイ１００２、処理ロジック１００４、ストレージ１００６、及び他の回路ロジック１００８（たとえばビデオカード、バス）を備える。
ストレージ１００６は、システムサービスアプリケーション（「ＳＳ」）１０１０及びアドミニストレーションアプリケーション（「ＡＡ」）１０１２を含む。
ストレージ１００６は、１つ又は複数の一般的なユーザアプリケーション１０１４及び標準化されたドライバースタック（「ＳＤＤ」）１０１６も含む。
ＳＳ１０１０は、ハードウェアからの入力を受け付けて、その入力をオペレーティングシステム及び／又はアドミニストレーションアプリケーション（ＡＡ）に提供するように動作するプログラムとして規定され得る。
ＡＡ１０１２は、システムサービスアプリケーションからの入力を受け付けると共に、その入力をオペレーティングシステム及び／又はユーザごとの協働アプリケーションに提供するプログラムとして規定され得る。
ＳＤＤ１０１６は、協働ハードウェアからの入力を解釈すると共に、その入力を、実施から独立した一様な方法でアプリケーションに提示するように意図されたプログラムのセットとして規定され得る。
アプリケーション１０１４は、ＷＩＮＤＯＷＳ（登録商標）ＶＩＳＴＡ（登録商標）ＯＳ等のオペレーティングシステム（「ＯＳ」）１０１８を含む。
ストレージ１００６に記憶されたソフトウェアが動作を実行するものとして本明細書で説明されるとき、実際には、処理ロジック１００４が、ソフトウェアを実行する結果としてその動作を実行することが理解される。
【００４８】
ＳＳ１０１０は、ＯＳ１０１８のブートアップ時に起動される。
ＳＳ１０１０は、ＳＤＤ１０１６を介して、ディスプレイ１００２から情報を受信しディスプレイ１００２へ情報を転送する。
ユーザがシステム１０００にログインされていないとき、ＳＳ１０１０は、それに応じてディスプレイ１００２を（たとえば、ログインスクリーンで）構成する。
複数のユーザのそれぞれがログインするので、ＡＡ１０１２の別個のインスタンスが起動され、処理ロジック１００４によって実行される。
ＳＳ１０１０がディスプレイ１００２からタッチデータを受信したとき、ＳＳ１０１０は、現在ログインされて現在アクティブであるユーザに対応するＡＡ１０１２のインスタンスへそのタッチデータをルーティングする。
タッチデータは、プロセス間通信の任意の適した／適切な方法を使用して転送される。
次に、タッチデータを受信するＡＡ１０１２インスタンスは、タッチデータを解析して、タッチデータをさらにどのようにルーティングすべきかを判断する。
いくつかの実施形態では、ＡＡ１０１２が、タッチデータが単一のタッチのみを含むと判断した場合、ＡＡ１０１２は、デフォルト、すなわち「通常」の処理のためにその単一のタッチをＯＳ１０１８に提供する。
一方、いくつかの実施形態では、ＡＡ１０１２が、タッチデータが複数のタッチを含むと判断した場合、ＡＡ１０１２は、拡大操作、縮小操作、グラブ（grab）操作、及びドラッグ操作等の目的で複数のタッチデータを利用し得る現在実行中のアプリケーション１０１４にタッチデータを提供する。
このタイプのルーティングに対する多くの変形が可能である。
すべてのこのような変形は本開示の範囲内に含まれる。
【００４９】
ＳＳ１０１０は、ＡＡ１０１２のインスタンスから受信されるユーザコンテキスト情報に基づいて、ＡＡ１０１２のいずれのインスタンスへタッチデータをルーティングすべきかを判断する。
ＡＡ１０１２の各インスタンスによって提供されるユーザコンテキスト情報は、そのインスタンスに関連したユーザのステータスを示す。
たとえば、ユーザコンテキスト情報は、ユーザが現在ログインされていること、ユーザが現在ログインされているがアクティブでないこと、ユーザが現在ログインされておりアクティブであること、スクリーンセーバが動作中であること等を示し得る。
ユーザコンテキスト情報は、所望に応じて、任意のこのような情報を含むようにプログラミングされ得る。
【００５０】
前述したように、ユーザコンテキスト情報は、受信されたタッチデータをＡＡ１０１２の適切なインスタンス（たとえばログインされてアクティブなユーザに対応するインスタンス）にルーティングするのに使用され得る。
しかしながら、ユーザコンテキスト情報は、逆方向のデータ転送も容易にする。
具体的には、ＳＳ１０１０は、ユーザコンテキスト情報を使用して、ユーザの好みに従いタッチスクリーンディスプレイ１００２を構成し得る。
たとえば、ＡＡ１０１２の特定のインスタンスが、現在ログインされているアクティブなユーザに対応する場合、ＳＳ１０１０は、そのユーザの好みに従ってタッチスクリーンディスプレイ１００２を構成することになる。
各ユーザの好みは、たとえばデータベースの形態でストレージ１００６に記憶され得る。
【００５１】
図１０は、上述したソフトウェアアーキテクチャの概念的な説明図１０２０を示している。
図示するように、（ディスプレイ制御ロジックを含む）ディスプレイハードウェア１００２はＳＤＤ１０１６と通信する。
次に、ＳＤＤ１０１６はＳＳ１０１０と通信する。
ＳＳ１０１０がＳＤＤ１０１６を介してディスプレイハードウェア１００２からタッチデータを受信したとき、ＳＳ１０１０は、システム１０００で実行中であり得るＡＡ１０１２の（場合によっては）複数のインスタンスの１つへタッチデータをルーティングする。
タッチデータがルーティングされるＡＡ１０１２インスタンスは、ＡＡ１０１２のインスタンス（複数可）から受信されるユーザコンテキスト情報に依存する（たとえば、その時点でいずれのユーザが現在システム１０００にログインされてシステム１０００でアクティブであるのかに依存する）。
たとえば、ユーザが現在アクティブである場合、ＳＳ１０１０は、ＡＡ１０１２のそのユーザのインスタンスへタッチデータをルーティングする。
ＡＡ１０１２の複数のインスタンスのそれぞれは、図示するように、１つ又は複数のアプリケーション１０１４と通信し得る。
したがって、タッチデータを受信するＡＡ１０１２のインスタンスは、現在使用中のアプリケーション１０１４の１つ（たとえば、「アクティブ」又は「最上位」のアプリケーション）へタッチデータをルーティングし得る。
いくつかの実施形態では、タッチデータを受信するＡＡ１０１２のインスタンスは、タッチデータをアプリケーション１０１４の１つであるＯＳ１０１８へルーティングする。
タッチデータが単一のタッチのみを含むとき、データは、一般にＡＡ１０１２インスタンスからＯＳ１０１８へルーティングされる。
タッチデータがダブルタッチを含む場合、ＡＡ１０１２のインスタンスは、複数のタッチデータ（たとえば、ウィンドウの拡大イベント又は縮小イベント、ドラッグイベント）を使用し得る適切なアプリケーション（複数可）１０１４にタッチデータを提供する。
しかしながら、このようなさまざまなルートが可能であり、本開示の範囲内に含まれる。
【００５２】
前述したように、ＳＳ１０１０は、ＳＤＤ１０１６を使用して、その時点で実行中であり得るＡＡ１０１２のいずれのインスタンスであろうと、そのインスタンスに従ってディスプレイ１００２のパラメータを構成し得る。
ＳＳ１０１０は、その時点で実行中であり得るいずれのアプリケーション１０１４であろうと、そのアプリケーション１０１４に従って（その時点で実行中であるＡＡ１０１２の特定のインスタンスに従って）ディスプレイ１００２のパラメータをさらに構成し得る。
【００５３】
上記議論は、本発明の原理及びさまざまな実施形態の例示であるように意図されている。
上記開示が完全に理解されると、多数の変形及び変更が当業者には明らかになるであろう。
添付の特許請求の範囲は、このようなすべての変形及び変更を包含するように解釈されることが意図されている。
【符号の説明】
【００５４】
１００  コンピュータシステム
１０２  ディスプレイ
１０４  筐体
２００  ガラス層
２０２  ミラー層
２０４  光源／検出器層（ＬＳＤＬ）
２１０  検出器
２１２  光源
２１４  ミラー対
６００  ストレージ
６０２  ディスプレイ制御ロジック
６０４  処理ロジック
６０６  アプリケーション
６０８  アプリケーション
６１０  ストレージ
８００  システム
８０２  処理ロジック
８０４  ストレージ
８０６〜８０７  アプリケーション
８０８  ディスプレイ制御ロジック
８１０  ディスプレイ
８１２  タッチスクリーン
８１４，８１６  光送受信機
８１８  ストレージ
８２０，８２２  アプリケーション
８３０  逆反射テープ
【図１】
0005162706.tif 000002
【図２】
0005162706.tif 000003
【図３】
0005162706.tif 000004
【図４】
0005162706.tif 000005
【図５Ａ】
0005162706.tif 000006
【図５Ｂ】
0005162706.tif 000007
【図６】
0005162706.tif 000008
【図７】
0005162706.tif 000009
【図８Ａ】
0005162706.tif 000010
【図８Ｂ】
0005162706.tif 000011
【図８Ｃ】
0005162706.tif 000012
【図９】
0005162706.tif 000013
【図１０】
0005162706.tif 000014