(57)【要約】【課題】  タッチフレーム周囲内側のタッチイベントを検出するためのシステム及び方法を提供する。【解決手段】  表示区域周囲回りに配置された複数の発光素子及び複数の受光素子を含むタッチフレームシステム。複数の発光素子と組み合わされた受光素子の各々は、ビーム光路のゾーンを形成する。レシーバの数及び配置は、複数の部分的に重なったゾーン対を形成するのに十分なものである。これらのゾーン対は、任意のタッチイベントが少なくとも２つのゾーン対内にあるように表示区域に対して配置される。プロセッサは、少なくとも１つのビーム光路の遮断の有無に関してゾーン対の各々をモニタする。このような遮断がある時に、プロセッサは、第１のゾーン対からの少なくとも２つの交差する遮断ビーム光路及び第２のゾーン対からの２つの交差する遮断ビーム光路の傾斜及び終点に基づいて、遮断に関連するタッチイベントの位置を計算する。
2005535004.tif 000002
【特許請求の範囲】
【請求項１】
表示区域内のタッチイベントの位置を判断するためのタッチフレームシステムであって、
表示区域の周囲回りに配置された複数の発光素子と、
各々が前記複数の発光素子と組み合わされてビーム光路のゾーンを形成し、タッチイベントが少なくとも２つの部分的に重なったゾーン対内にあるような部分的に重なったゾーン対を形成するのに十分な数及び配置を有する複数の受光素子と、
少なくとも１つのビーム光路の遮断の有無に関して前記ゾーン対の各々をモニタし、
そのような遮断がある時に、第１のゾーン対からの少なくとも２つの交差する遮断ビーム光路、及び第２のゾーン対からの２つの交差する遮断ビーム光路の傾斜及び終点に基づいて、前記遮断に関連する前記タッチイベントの位置を計算する、
ようにプログラムされたプロセッサと、
を含むことを特徴とするシステム。
【請求項２】
前記プロセッサは、
一度に１つの前記発光素子をランダムに作動し、
遮断ビーム光路を示す出力の有無に関して、前記作動発光素子に関連する各受光素子の出力をモニタする、
ようにプログラムされることにより、遮断の有無に関して前記ゾーン対の各々をモニタする、
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記プロセッサは、擬似ランダム間隔で前記発光素子を作動するように更にプログラムされることを特徴とする請求項２に記載のシステム。
【請求項４】
前記プロセッサは、擬似ランダムシーケンスで前記発光素子を作動するように更にプログラムされることを特徴とする請求項２に記載のシステム。
【請求項５】
前記受光素子は、光を受けるとパルスエッジを有する信号を出力し、
前記プロセッサは、前記受光素子出力にパルスエッジがない時に光ビームに遮断中のタグを付けるようにプログラムされる、
ことを特徴とする請求項２に記載のシステム。
【請求項６】
前記プロセッサは、前記交差するビーム光路によって形成された角度に基づいて、前記第１及び第２のゾーン対を選択するようにプログラムされることを特徴とする請求項１に記載のシステム。
【請求項７】
前記プロセッサは、最も直交する角度を有するゾーン対を選択するように更にプログラムされることを特徴とする請求項６に記載のシステム。
【請求項８】
前記プロセッサは、前記タッチイベントがゾーン内で奇数の複数のビーム光路を遮断した時、タッチイベント位置計算が中央の遮断ビーム光路を用いて行われるようにプログラムされることを特徴とする請求項１に記載のシステム。
【請求項９】
前記プロセッサは、前記タッチイベントがゾーン内で偶数の複数のビーム光路を遮断した時、タッチイベント位置計算が前記２つの中央遮断ビーム光路間に位置する仮想ビームを用いて行われるようにプログラムされることを特徴とする請求項１に記載のシステム。
【請求項１０】
複数の発光素子と、ビーム光路の複数のゾーンを形成し、タッチイベントが少なくとも２つのゾーン対内にあるような部分的に重なったゾーン対を形成するのに十分な数及び配置を有する複数の受光素子とを有するタッチフレームによって囲まれた表示区域内のタッチイベントの位置を判断する方法であって、
少なくとも１つのビーム光路の遮断の有無に関してゾーン対の各々をモニタする段階と、
そのような遮断がある時に、第１のゾーン対からの少なくとも２つの交差する遮断ビーム光路、及び第２のゾーン対からの２つの交差する遮断ビーム光路の傾斜及び終点に基づいて、前記遮断に関連するタッチイベントの位置を計算する段階と、
を含むことを特徴とする方法。
【請求項１１】
少なくとも１つのビーム光路の遮断の有無に関して前記ゾーン対の各々をモニタする段階は、
一度に１つの前記発光素子をランダムに作動させる段階と、
遮断ビーム光路を示す出力の有無に関して、前記作動発光素子に関連する各受光素子の出力をモニタする段階と、
を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記発光素子は、擬似ランダム間隔で作動されることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記発光素子は、擬似ランダムシーケンスで作動されることを特徴とする請求項１１に記載の方法。
【請求項１４】
複数の対向する周囲部分と、
各々が前記周囲部分の１つに沿って配置された発光素子の列と、該発光素子の反対側の該周囲部分に沿って配置された関連の受光素子とを含む複数の三角形ゾーンと、
を含み、
前記発光素子及び関連の受光素子の各々は、ビーム光路を形成し、
前記複数の三角形ゾーンの各々の内部の各ビーム光路の傾斜及び終点が記憶されたメモリ装置と、
一度に１つの前記発光素子をランダムに作動し、
ビーム光路の遮断の有無に関して、前記作動発光素子に関連する各受光素子の出力をモニタし、
そのような遮断がある時に、少なくとも２つの交差する遮断ビーム光路の傾斜及び終点に基づいて遮断の発生源の位置を計算する、
ようにプログラムされたプロセッサと、
を更に含むことを特徴とするタッチフレームシステム。
【請求項１５】
発光素子の各列は、該発光素子によって形成された前記２つの三角形ゾーンが部分的に重なるように配置された２つの関連受光素子を有することを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記受光素子は、関連の受光角度を有し、
前記発光素子は、関連の光分散角度を有し、
前記素子は、各レシーバの前記受光角の中心が前記発光素子の列の中心の方向に向けられ、各発光素子の前記分散角の中心が前記２つのレシーバ間の中間の点の方向に向けられるように互いに対して配置される、
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記受光素子の位置は、前記ビーム光路の前記終点を形成することを特徴とする請求項１４に記載のシステム。
【請求項１８】
前記プロセッサは、前記発光素子を擬似ランダム間隔で作動させるように更にプログラムされることを特徴とする請求項１４に記載のシステム。
【請求項１９】
前記プロセッサは、前記発光素子を擬似ランダムシーケンスで作動させるように更にプログラムされることを特徴とする請求項１４に記載のシステム。
【請求項２０】
前記プロセッサは、前記２つの交差するビーム光路に対する前記遮断発生源に関連する三角形ゾーンの少なくとも１つの直交する対を検査するようにプログラムされることを特徴とする請求項１４に記載のシステム。
【請求項２１】
前記プロセッサは、
前記出力のプロフィールを時間ベースのノイズ閾値を有する予想プロフィールと比較し、
前記ノイズ閾値以前に前記プロフィールにパルスエッジがある場合は、光ビームをノイズとして特定し、
前記ノイズ閾値以後に前記プロフィールにパルスエッジがある場合は、光ビームを接続中として特定し、
他の全ての光ビームを遮断中として特定する、
ようにプログラムされることにより、ビーム光路の遮断の有無に関して、前記作動発光素子に関連する各受光素子の前記出力をモニタする、
ことを特徴とする請求項１４に記載のシステム。
【請求項２２】
前記時間ベースのノイズ閾値は、前記受光素子の応答時間によって定められることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記プロセッサは、光ビームの識別を該光ビームに関連する前記発光素子の連続するトリガに亘って計数し、カウンタが指定の値に達した後に、確認された遮断中又は接続中の識別を出力するための状態カウンタを含むことを特徴とする請求項２１に記載のシステム。
【請求項２４】
前記指定値は、前記関連発光素子の少なくとも２つの連続するトリガであることを特徴とする請求項２３に記載のシステム。
【請求項２５】
複数の発光素子と、各々が傾斜及び終点を有する、ビーム光路の複数の三角形ゾーンを形成し、部分的に重なったゾーン対を形成するのに十分な数及び配置である複数の受光素子とを有するタッチフレームによって囲まれた表示区域内のタッチイベントの位置を判断する方法であって、
複数の三角形ゾーンの各々に対して、各ビーム光路の傾斜及び終点を記憶する段階と、
一度に１つの発光素子をランダムに作動させる段階と、
ビーム光路の遮断の有無に関して、前記作動発光素子に関連する各受光素子の出力をモニタする段階と、
そのような遮断がある時に、少なくとも２つの交差する遮断ビーム光路の傾斜及び終点に基づいて遮断の発生源の位置を計算する段階と、
を含むことを特徴とする方法。
【請求項２６】
ビーム光路の遮断の有無に関して前記作動発光素子に関連する各受光素子の前記出力をモニタする段階は、
前記出力のプロフィールを時間ベースのノイズ閾値を有する予想プロフィールと比較する段階と、
前記ノイズ閾値以前に前記プロフィールにパルスエッジがある場合は、光ビームをノイズとして特定する段階と、
前記ノイズ閾値以後に前記プロフィールにパルスエッジがある場合は、光ビームを接続中として特定する段階と、
他の全ての光ビームを遮断中として特定する段階と、
を含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記時間ベースのノイズ閾値は、前記受光素子の応答時間によって定められることを特徴とする請求項２６に記載の方法。
【請求項２８】
光ビームを接続中又は遮断中として特定する段階は、
光ビームの識別を該光ビームに関連する前記発光素子の連続するトリガに亘って計数する段階と、
カウンタが指定値に達した後に、確認された遮断中又は接続中の識別を出力する段階と、
を含むことを特徴とする請求項２６に記載の方法。
【請求項２９】
前記指定値は、前記関連発光素子の少なくとも２つの連続するトリガであることを特徴とする請求項２８に記載の方法。
【請求項３０】
表示区域内のタッチイベントの位置を判断するためのタッチフレームシステムであって、
表示区域の周囲回りに配置された複数の発光素子と、
各々が前記複数の発光素子と組み合わされてビーム光路のゾーンを形成し、タッチイベントが少なくとも２つの部分的に重なったゾーン対内にあるような部分的に重なったゾーン対を形成するのに十分な数及び配置を有する複数の受光素子と、
一度に１つの前記発光素子をランダムに作動し、
ビーム光路の遮断の有無に関して、前記作動発光素子に関連する各受光素子の出力をモニタし、
そのような遮断がある時に、少なくとも２つの交差する遮断ビーム光路の傾斜及び終点に基づいて前記遮断に関連する前記タッチイベントの位置を計算する、
ようにプログラムされたプロセッサと、
を含むことを特徴とするシステム。
【請求項３１】
前記ゾーンの各々の内部の各ビーム光路の前記傾斜及び終点が記憶されたメモリ装置を更に含むことを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記レシーバの数及び配置は、前記タッチイベントが少なくとも２つの部分的に重なったゾーン対内にあるように、部分的に重なった冗長なゾーン対を形成するのに十分であり、
前記プロセッサは、前記少なくとも２つの部分的に重なったゾーン対の各々からの一対の交差する遮断ビーム光路の傾斜及び終点に基づいて前記タッチイベントの位置を計算するようにプログラムされる、
ことを特徴とする請求項３０に記載のシステム。
【請求項３３】
前記プロセッサは、最も直角に重なったゾーン対を用いて前記タッチイベントの位置を計算するようにプログラムされることを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記プロセッサは、
交差する遮断ビーム光路の各対に対して前記タッチイベントの１つの位置を個々に計算し、
前記タッチイベントの位置を得るために前記個々の結果を平均する、
ようにプログラムされることを特徴とする請求項３２に記載のシステム。
【請求項３５】
前記ゾーンは、三角形であり、発光素子の列が該三角形の一辺を形成し、１つの受光素子が該発光素子の列の反対側の頂点を形成することを特徴とする請求項３２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２００２年３月２７日出願の米国特許仮出願一連番号第６０／３６９，０４７号の恩典を請求するものである。
本発明は、一般的にタッチフレーム技術に関するものであり、より詳しくは、タッチフレーム周囲内側のタッチイベントを検出するためのシステム及び方法に関する。
【背景技術】
【０００２】
一般的な走査赤外線（ＩＲ）タッチフレームシステムの作動は、ＣＲＴモニタ又は平坦パネルディスプレイの画面上方での不可視ＩＲ光ビームのグリッドの作成と、グリッド内の個々の光ビームが遮光される位置の認識とに基づくものである。図１に示すように、このようなグリッドを作成するために、ＩＲ発光ダイオード（ＬＥＤ）の列は、ＩＲレシーバのフォトトランジスタの反対側の列と対になっている。ＬＥＤとＩＲレシーバの各対は、光学ペア又は物理ビームを構成する。複数の対は、ビームの水平（ｘ軸）アレイ及び垂直（ｙ軸）アレイを作り出す。２つのビームアレイ及びその回路によって光学マトリックスタッチフレームが構成される。タッチフレームに付随するＩＲコントローラは、順番にＬＥＤをパルス駆動し、ＩＲ光ビームのグリッドを作成する（矢印線で示す）。指のようなスタイラスがグリッドに入ると、ＩＲ光ビームを遮光することによってタッチイベントが発生する。１つ又はそれ以上のＩＲレシーバは、光がないことを検出すると、タッチイベントのＸ及びＹ座標を特定する信号を送信する。
【０００３】
図２に示すように、平坦パネルと共に機能するように設計されたタッチフレームシステムは、光学マトリックスタッチフレーム、赤外線透過保護ベゼル、及び透過フィルタで構成されている。タッチフレームシステムを完成するために、タッチフレームは、８ピンケーブルによってタッチフレームに取り付けられた標準８ピン電話型プラグであるモジュール式デジタルインタフェース（ＭＤＩ）を通じて、モジュール式タッチコントローラ（図示せず）と連結される。
【０００４】
ＩＲタッチフレームシステムは、光のＩＲ部分を用いて作動することから、タッチ環境、すなわち、タッチフレームシステムを取り囲む区域の周辺光は、長い間の懸念材料であった。周辺光は、可視光線発生源が太陽光のようにＩＲが豊富であるか、又は事務所で一般的に使用されている蛍光灯のようにＩＲが乏しいか否かによってそのＩＲ照射レベルが変動する。周辺光及びタッチ環境の他の光学ノイズにより、タッチフレームシステムが誤った読取値をもたらす場合がある。例えば、ノイズにより、光ビームが実際には妨害又は遮断されている時に、ＩＲレシーバは、妨害されていない又は接続している光ビームを示す出力をもたらすことがある。逆に、ノイズがある場合に、ＩＲレシーバは、実際には光ビームが接続しているのに遮断された光ビームを示す出力をもたらすことがある。
【０００５】
上述のように、タッチフレームシステムは、ＬＥＤを順番にパルス駆動してＩＲ光ビームのグリッドを作成する。このような作動に関する問題は、ＬＥＤを順番に規則的にパルス駆動することによって発せられる赤外線が周囲環境に漏れ、赤外線遠隔制御を用いて遠隔制御可能な装置を不注意に作動させることがあることである。これは、タッチフレームが人工呼吸器のような医療装置に設けられ、それが他の近くの医療装置を不注意に作動させる場合には、大きな問題になる可能性がある。
当業者は、タッチ環境のノイズに影響されないタッチフレームシステムの必要性を認識している。干渉するＩＲ信号を出力しないタッチフレームシステムの必要性も認識されている。本発明は、これらの必要性及びその他を充足するものである。
【０００６】
【特許文献１】米国特許仮出願一連番号第６０／３６９，０４７号
【発明の開示】
【０００７】
簡潔かつ一般的には、本発明は、タッチフレーム周囲の内側のタッチイベントを検出するためのシステム及び方法に関する。
１つの現時点で好ましい実施形態では、本発明は、表示区域内のタッチイベントの位置を判断するためのタッチフレームシステム及び方法に関する。本システムは、表示区域周囲回りに配置された複数の発光素子及び複数の受光素子を含む。複数の発光素子と組み合わされた受光素子の各々は、ビーム光路のゾーンを形成する。レシーバの数及び配置は、複数の部分的に重なったゾーン対を形成するのに十分なものである。これらのゾーン対は、任意のタッチイベントが少なくとも２つのゾーン対内にあるように表示区域に対して配置される。本システムはまた、少なくとも１つのビーム光路の遮断の有無に関してゾーン対の各々をモニタするようにプログラムされたプロセッサを含む。このような遮断がある時に、プロセッサは、第１のゾーン対からの少なくとも２つの交差する遮断ビーム光路及び第２のゾーン対からの２つの交差する遮断ビーム光路の傾斜及び終点に基づいて、遮断に関連するタッチイベントの位置を計算する。
【０００８】
本発明の好ましい詳細な態様では、プロセッサは、一度に１つずつ発光素子の各々をランダムに作動させ、遮断ビーム光路を示す出力の有無に関して作動された発光素子に関連する各受光素子の出力をモニタすることにより、遮断の有無に関してゾーン対の各々をモニタする。更に詳細な態様では、発光素子は、擬似ランダム間隔及び／又は擬似ランダムシーケンスで作動される。別の詳細な態様では、受光素子は、受光時にパルスエッジを有する信号を出力し、プロセッサは、受光素子出力にパルスエッジがない場合に光ビームに遮断中というタグを付ける。
【０００９】
別の現時点で好ましい実施形態では、本発明は、表示区域内のタッチイベントの位置を判断するためのシステム及び方法に関する。第１の実施形態と同様に、表示区域は、複数の発光素子及び複数の受光素子を有するタッチフレームによって囲まれている。これらの素子は、各々が傾斜及び終点を有するビーム光路の複数の三角形ゾーンを形成する。レシーバの数及び配置は、部分的に重なったゾーン対を形成するのに十分なものである。複数の三角形ゾーンの各々について、各ビーム光路の傾斜及び終点は、メモリ装置に記憶される。発光素子は、ランダムな順番で一度に１つ作動される。作動された発光素子に関連する各受光素子の出力は、ビーム光路の遮断の有無に関してモニタされる。遮断が検出された場合、遮断発生源の位置は、少なくとも２つの交差する遮断ビーム光路の傾斜及び終点を用いて計算される。
【００１０】
本発明の詳細な態様では、ビーム光路の遮断の有無に関して作動された発光素子に関連する各受光素子の出力をモニタする段階は、出力のプロフィールと時間ベースのノイズ閾値を有する予想プロフィールとを比較する段階、及び光ビームを「ノイズ」、「接続中」、又は「遮断中」として相応に識別する段階を伴う。ビームは、ノイズ閾値以前のプロフィールにパルスエッジがある場合はノイズ、ノイズ閾値以後のプロフィールにパルスエッジがある場合は接続中、及び、他の全ての場合は遮断中と見なされる。
【００１１】
更に詳細な態様では、光ビームを接続中又は遮断中と特定するために、光ビームの識別は、光ビームに付随する発光素子の連続するトリガに亘って計数される。カウンタが、関連発光素子の少なくとも２つの連続するトリガのような指定の値に達した後で、光ビームは、遮断中又は接続中であると確認される。
本発明の上記及び他の態様及び利点は、以下の詳細な説明及び本発明の特徴を例示的に示す添付図面から明らかになるであろう。
【発明を実施するための最良の形態】
【００１２】
ここで、限定を意図したものではなく例示を目的として示されている図面の特に図３を参照すると、タッチフレーム１４及びプリント回路基板アセンブリ（ＰＣＢＡ）１６を含んで本発明により構成された赤外線タッチフレームシステム１２を組み込むシステム１０が示されている。本システム１０はまた、グラフィカル・ユーザ・インタフェース（ＧＵＩ）システム１８を含み、この「ＧＵＩ」システムは、「ＧＵＩ」ディスプレイ２０及び「ＧＵＩ」中央演算処理装置（ＣＰＵ）２２を含む。本システムのアーキテクチャ及び本システムの作動を以下で詳細に説明する。
【００１３】
システムアーキテクチャ
図４を参照すると、タッチフレーム１４は、その周囲が「ＧＵＩ」ディスプレイの周囲とほぼ整列するように「ＧＵＩ」ディスプレイ２０に取り付けられている。タッチフレームシステム１２の目的は、タッチフレーム１４周囲内側のオペレータのタッチの論理的Ｘ座標及びＹ座標の位置を探し当てることによって、「ＧＵＩ」ディスプレイ２０とのオペレータの対話を検出することである。オペレータのタッチは、指又は機械的器具によって発生させることができる。
【００１４】
引き続き図４を参照すると、タッチフレーム１４は、複数の赤外線ＬＥＤ２４及び複数の赤外線（ＩｒＤＡ）レシーバ４２を含む。赤外線ＬＥＤ２４は、タッチを検出するために光ビームを発し、一実施形態では８５０ｎｍから９００ｎｍの間である「ＩｒＤＡ」レシーバ４２の波長で作動する。赤外線ＬＥＤ２４は、スタンンレー製のもの（部品番号ＤＮＰ１１０２Ｆ）のような表面装着型であり、６列の連続ＬＥＤの形でタッチフレーム１４の周囲回りに配置されている。ＬＥＤ２４の１列は、タッチフレームの上部２６に亘ってその中央に配置され、１列は、タッチフレームの下部２８に亘り、左側３２及び右側３４に２列が配列されている。
【００１５】
例示的な実施形態では、ＬＥＤ２４は、上部２６の列に３８個、下部２８の列に３８個ある。これらのＬＥＤ２４は、タッチフレーム１４の大きな（垂直）Ｘ軸３０に沿って光ビームを発する。タッチフレームの左側３２に沿って５６個、タッチフレームの右側３４に沿って５６個のＬＥＤ２４がある。これらのＬＥＤ２４は、小さな（水平）Ｙ軸に沿って光ビームを発する。水平軸３６の両側のＬＥＤ２４は、それぞれ、「ＧＵＩ」ディスプレイの上部３８及び下部４０のＬＣＤディスプレイ上に光ビームを集中させるために、機能上は、それぞれ２８個のＬＥＤ２４から成る２つのグループに分離されている。
【００１６】
引き続き図４を参照すると、表面装着「ＩｒＤＡ」レシーバ４２は、全ての赤外線ＬＥＤ２４の出力を分解するのに適切な数でタッチフレーム１４の周囲回りに配置されている。この目的に沿って、６列の連続ＬＥＤ２４の各々は、各端部に１つずつ、２つの関連「ＩｒＤＡ」レシーバ４２を有する。「ＩｒＤＡ」レシーバ４２は、タッチフレーム１４の反対側にあるＬＥＤ２４の列と対向しており、タッチを検出するために対向するＬＥＤの各々から光ビームを受光する。一実施形態では、「ＩｒＤＡ」レシーバ４２は、シャープ・コーポレーション製の専用集積光検知器（部品番号ＧＰ２Ｗ０００１）である。「ＩｒＤＡ」レシーバ４２により、単一チップ上に集積された光検知素子及び信号処理回路が実現されている。「ＩｒＤＡ」レシーバ４２は、全ての周辺光拒絶及び全てのアナログ信号処理を処理し、赤外線の突然の増加を検出した時は、常に、進行の遅いデジタル出力パルスを生成する。これらは、本質的には赤外線エッジ検出器である。
各ＬＥＤ２４は、冗長作動をもたらすように、少なくとも２つの「ＩｒＤＡ」レシーバ４２によって分解される。「ＩｒＤＡ」レシーバ４２は、周辺光レベルの変動に自動的に適応し、暗黒から直射日光まで全ての範囲の光レベルに亘って作動する。「ＩｒＤＡ」レシーバ４２は、電源が投入されたＬＥＤ２４によって照射された時に「ＴＴＬ」準拠出力信号を供給する。
【００１７】
図５を参照すると、「ＰＣＢＡ」１６は、コントローラ４４及びＬＥＤ多重化システム４６を含む。コントローラ４４は、少なくとも３２本のプログラマブルＩ／Ｏラインを有する８ＭＨｚ又はそれ以上の「ＲＩＳＣ」アーキテクチャコントローラである。１つのこのようなコントローラは、「Ａｔｍｅｌ  ＡＶＲ  ＡＴ９０Ｓ８５１５」である。また、「ＰＣＢＡ」１６は、８ＫＢの「ＦＬＡＳＨ」メモリ、５１２バイトのローカル高速「ＳＲＡＭ」メモリ、５１２バイトの「ＥＥＰＲＯＭ」、１６ビットカウンタ／タイマ、ウォッチドッグタイマ、及びＩ／Ｏラインのうちの２つをシリアルＩ／Ｏポートとコントローラ４４プログラムメモリのシステム内プログラミングを可能にするプログラミングポートとして利用することができる完全二重オンチップ「ＵＡＲＴ」を含む。
【００１８】
ＬＥＤ多重化システム４６は、行及び列で構成された多重化マトリックスを形成するマルチプレクサ及び列ドライバのネットワークを含む。このようなマトリックスは、コントローラ４４出力ピンの存在よりも多くの作動するＬＥＤ２４があるという点で必要である。ＬＥＤ多重化システム４６は、ＬＥＤ２４の個々の作動に対応するためにコントローラ４４の入力／出力機能を拡張する。各ＬＥＤ２４は、一度にＬＥＤ１つのみが照射されるように、コントローラ４４によって独立してアドレス可能である。ＬＥＤ２４は、８ビットＬＥＤ識別子をコントローラ４４の出力ポートに書き込むことによってアドレス指定される。ＬＥＤアドレスは、４ビット行識別子及び４ビット列識別子から成る。これらの識別子は、組み合わされると、タッチフレーム内の最大２５６個までの可能な論理ＬＥＤ２４の１つをアドレス指定する役目を果たす。行識別子及び列識別子は、出力ポートの上部又は下部の４ビットフィールドに割り当てることができる。単にＬＥＤの行及び列アドレスをコントローラ４４出力ポートに書き込むだけでは、ＬＥＤ２４は作動されない。２つの出力ピン、つまり、行ストロボ及び列ストロボが、ＬＥＤ２４を作動するためにアサートされる。
【００１９】
また、「ＰＣＢＡ」１６は、「ＧＵＩ」のＣＰＵ２２及び「ＰＣＢＡ」１６間でデータを送受信するための８ピン非同期「ＴＴＬ」準拠シリアル通信ポート４８、「ＰＣＢＡ」回路を作動させるための単一の５Ｖ電源ＶＣＣをもたらすための駆動ハードウエア５０、及びタッチフレーム作動ファームウエアのコントローラ４４内への外部アップロード及びダウンロードをもたらすシステム内プログラミングポート５２を含む。
【００２０】
タッチフレームの幾何学形状
タッチフレームシステムで使用される「ＩｒＤＡ」レシーバ４２では、従来技術システムのレシーバに付随するアナログ上の問題の多くが回避され、周辺光の変動が極めて良好に処理されるが、比較的高価である。従って、従来技術のタッチフレームシステムで使用されるようにＬＥＤと赤外線レシーバを１：１の比率にすることは、コスト的に無理である。従って、本発明のタッチフレームシステムで使用されるＬＥＤは、従来技術のシステムと比較してより多く、レシーバはより少ない。
【００２１】
図６を参照すると、ＬＥＤ２４及び「ＩｒＤＡ」レシーバ４２は、各ＬＥＤ２４及び関連「ＩｒＤＡ」レシーバ４２によって構成されるビーム光路４３により画面区域全体を包含する三角形ゾーンの交差パターンが形成されるように配置されている。図６、図７、及び図１０では、図の明瞭性を保つために、ＬＥＤ及び「ＩｒＤＡ」レシーバの全ては示されていない。得られる交差するビーム光路又はラインは、多くの異なる角度で交差するので、コントローラ４４は、「ＧＵＩ」  ＣＰＵ２２によって予想される従来のＸ／Ｙ座標系に変換する数学的座標変換段階を実行するようにプログラムされる。座標変換では、ある程度の四捨五入及び近似処理が行われる。
【００２２】
図７を参照すると、２つの要素により、ＬＥＤ２４の個数と「ＩｒＤＡ」レシーバ４２の個数との比率が決まり、２つの要素とは、つまり、ＬＥＤからの有効光分散角度及び「ＩｒＤＡ」レシーバの受光角度である。これらのＬＥＤ２４及び「ＩｒＤＡ」レシーバ４２の分散角度及び受光角度は限定されている。両方の種類の構成要素は、光ビームエネルギを限られた範囲に集中させるように設計された活性光電素子の前にレンズを有する。タッチフレーム片側の全てのＬＥＤ２４が、単一の「ＩｒＤＡ」レシーバ４２のみと通信した場合、それらは、単にそのレシーバを目標にすることができるであろう。しかし、本発明の冗長性機能に従って、タッチフレーム片側の各ＬＥＤ２４は、タッチフレームの反対側の２つの「ＩｒＤＡ」レシーバ４２をトリガする。従って、ＬＥＤ２４は、反対側の２つの「ＩｒＤＡ」レシーバ４２の間の中間点４５に目標設定される。同様に、各「ＩｒＤＡ」レシーバ４２は、タッチフレーム反対側のＬＥＤ２４の全てと通信することから、各「ＩｒＤＡ」レシーバは、反対側のＬＥＤ列の中間点に目標設定される。
【００２３】
論理及び走査
図８を参照すると、タッチフレームシステムの作動は、８ＭＨｚ「ＲＩＳＣ」コントローラＵ７によって制御される。１２個の「ＩｒＤＡ」レシーバ（ＩＲ１〜ＩＲ１２）は、コントローラ入力ポートビットＤＡ０〜ＤＡ７及びＤＢ０〜ＤＢ３に直接に接続されている。水平「ＬＥＤ」Ｄ２〜Ｄ１２５及び垂直「ＬＥＤ」Ｄ１３０〜Ｄ２３１は、タッチフレーム周囲回りに列を成して配置されているが、論理１６ｘ１６出力マトリックスは、システム内のＬＥＤの全てを制御する。標準的３対８ライン復号器Ｕ２、Ｕ３、Ｕ５１、及びＵ５２は、マトリックスを実施するが、マトリックスの全ての行及び列を必要とするわけではない。
【００２４】
本発明によれば、一度にＬＥＤ２４の１つのみに電源が投入される。コントローラＵ７は、１つの行及び１つの列を選択した後に出力マトリックスを使用可能にすることによってＬＥＤに電源を投入する。ＬＥＤに電源が投入されると、コントローラＵ７は、論理的に関連した「ＩｒＤＡ」レシーバＩＲ１〜ＩＲ１２からの出力パルスを検査することにより、結果の高速サンプリングを開始する。
１／８マイクロ秒間隔で３２個のサンプルが採取され、「ＩｒＤＡ」レシーバ出力（もしあれば）のプロフィールが編集されてメモリに記憶される。この走査は、割り込みが行われないことが保証されるように最優先プロセッサ割込みレベル（内部的には時間駆動式）で行われる。「出力プロフィール」は、大雑把にいうとオシロスコープトレースと類似のものである。それは、「ＩｒＤＡ」レシーバからの出力波形の時間記録である。更に後述するように、タッチフレームファームウエア光学ノイズ免疫性アルゴリズムにより、出力プロフィールが評価される。このアルゴリズムにより、出力プロフィールに表れているパルスの開始が早すぎないか（ＬＥＤビーム以外の何らかの光学ノイズによって「ＩｒＤＡ」レシーバがトリガされたことを示す）、又はパルス幅が短すぎるか又は存在しないか（ビームが遮断されていることを示す）が調べられる。
【００２５】
ビームは、いくつかの考えられる理由で外見的に遮断されているように見える場合がある、すなわち、通常の作動である指又はスタイラスで遮断されている場合があり、又は、破片又は他の何らかの障害物によって遮断される場合があり、又は、ＬＥＤ２４の焼損又は「ＩｒＤＡ」レシーバ４２の焼損を示す場合がある。ファームウエアの他の「層」により、これらの可能性の間での差異が評価され、適切な措置が講じられる。
【００２６】
「ＩｒＤＡ」レシーバ４２のメモリプロフィールは、非常に遷移的なものであり、選択されたＬＥＤ２４からの単一ビーム照射の品質評価のみに使用されるだけである。その評価が完了すると、得られた情報は、特定の論理ビームに付随する状態機械により縮小された形で記憶される。メモリプロフィール自体は、直ちに上書きされ、間もなく次に選択されたＬＥＤ２４のビームがプロファイリングされて評価される。
【００２７】
ＬＥＤドライバ
引き続き図８を参照すると、二重電界効果トランジスタ（ＦＥＴ）Ｕ１９〜Ｕ４９は、マトリックスのいかなる行又は列をも浮かせないためにプッシュプル構成で配置される。これによって、きれいなスイッチング移行が行われ、偽ＬＥＤ出力が防止される。上述のように、照射されるＬＥＤ２４は、一度に１つだけである。
【００２８】
光学ノイズ免疫性
タッチフレームファームウエア光学ノイズ免疫性は、実際の入力プロフィール、すなわち、「ＩｒＤＡ」レシーバの出力プロフィールを予想入力プロフィールと比較することにより、コントローラ４４によって「ＩｒＤＡ」レシーバ４２から受信された各入力に対して「健全性検査」を行う。ここでは三状態論理が適用される。各ビームは、瞬間的状態、すなわち、「接続中」、「遮断中」、又は「ノイズ」の１つにあるとして処理される。ノイズと評価されたビームは、状態カウンタには影響を与えない。「接続中」又は「遮断中」と評価されたビームは、より多く接続中又はより多く遮断中の方向に、所定の限界値まで状態カウンタを移動する。これは、システムファームウエアの次のレベルによって観察されるような「接続中」及び「遮断中」状態間の遷移における何らかの履歴現象をもたらす。更に、詳細に後述するように、状態カウンタは、ビーム状態を「デバウンスする」ために使用される。
【００２９】
図９を参照すると、左から右の目盛りは、１／８マイクロ秒間隔に細分化された４マイクロ秒の時間を表しており、コントローラ４４は、１／８マイクロ秒毎にアレイ内のＬＥＤ２４の１つを照射し、その直後に関連「ＩｒＤＡ」レシーバ４２からの出力のサンプルを採取し始める。ここには、コントローラ４４から「ＭＵＸｉｎｇ」論理までの伝播遅延、ＬＥＤ２４に電源を投入するのに必要とされる時間、「ＩｒＤＡ」レシーバ４２が光の増加に応答するのに掛かる時間、及び出力がコントローラに戻るのに必要とされる時間を含む総遅延が存在する。最後に、信号は、コントローラ４４によって内部的に記録される。ただし、妥当な時間量が経過する前に信号が検出された場合、ノイズ拒絶アルゴリズムは、照射されたＬＥＤ２４以外の何らかの外部光源によって「ＩｒＤＡ」レシーバ４２がトリガされたと仮定する。「ノイズ」、「良好」、又は「遮断中」と見なされる５つの例示的なビームの波形が示されている。
【００３０】
出力パルスエッジが予想よりも早く、すなわち、「ＩｒＤＡ」レシーバ４２応答時間が許すものよりも早い時間にプロフィール内に存在する場合、ビームは「ノイズ」として拒絶される。この時間は、「ノイズ閾値」と呼ばれる。パルスエッジがノイズ閾値の後で発生し、パルス幅が妥当な長さである場合に限り、ビームは、「接続中」として受け入れられる。他の全てのビームは、「遮断中」と見なされる。
任意の通常の環境において、タッチフレームシステムの作動を妨げるほどの強度及び持続時間の赤外線ノイズがある可能性は非常に低い。そのようなマグニチュードの赤外線ノイズは、考えられるいかなる赤外線タッチフレーム技術の作動も阻害するであろう。本発明のタッチフレーム光学ノイズ免疫機能は、様々な遠隔制御装置によって発生する赤外線ノイズの存在の下で作動出力を観察することにより試験済みである。
【００３１】
光学ノイズ放出の最小化
上述のように、従来技術のタッチフレームシステムは、テレビレシーバ内のものなどの外部赤外線レシーバと干渉する場合がある。タッチフレームシステムがこのような外部赤外線レシーバと干渉する可能性を回避するために、コントローラ４４は、擬似ランダム間隔で擬似ランダムシーケンスによりＬＥＤ２４を作動させるようにプログラムされる。これによって、環境に迷い込むことがあるいかなる赤外線パルスも、任意の他の赤外線作動式装置に対して「ノイズ」として現れる。
【００３２】
エラー処理及び冗長性
各タッチフレームシステムは、回路内試験で保証された通りに完全に作動するその寿命を開始する。回路内試験装置はまた、「ＦＬＡＳＨ」ベースのタッチフレームシステムコントローラ４４にコードを読み込むことができる。調節や較正は不要である。タッチフレームシステムは、考えられる構成要素公差及び周辺照明条件の全範囲に適合するように設計される。
タッチフレームシステムは、赤外線ビームを照射及び検出することによって絶えず自己試験を行う。ビームが長期間に亘って遮断されると、ソフトウエア状態カウンタが「長期遮断」状態に切り替わり、そのビームは、特別なソフトウエア処理を受ける。この長期の時間は、タッチフレームファームウエアにおいて設定することができ、例えば、約３０秒とすることができる。
【００３３】
図４を参照しながら上述したように、タッチフレームは、６列のＬＥＤを有する。各列は、タッチフレームの反対側にある一対の「ＩｒＤＡ」レシーバ４２に向いている。対を成した「ＩｒＤＡ」レシーバ４２の存在は、タッチフレームシステムにある一定の冗長性レベルをもたらす。ファームウエアアルゴリズムは、この冗長性を用いて遮断ビームが欠陥ＬＥＤ２４によって永久的に無効にされているか否かを判断する。
【００３４】
作動されたＬＥＤ２４に関連する両方の「ＩｒＤＡ」レシーバ４２が、遮断ビーム光路を示す出力プロフィールをもたらした場合、作動されたＬＥＤ及びその２つの関連「ＩｒＤＡ」レシーバ間の２つのビーム光路のうちの１つのみが一度に遮断されるべきであるという前提に基づいて、そのＬＥＤは、故障している可能性が高い。２つの関連「ＩｒＤＡ」レシーバ４２間の距離と、タッチイベントが両方のビーム光路を遮断しないように作動ＬＥＤから十分に離れているという仮定とにより、この前提は支持されている。タッチイベントが両方のビーム光路を遮断するほど作動ＬＥＤ２４に十分に接近している場合は、隣接するＬＥＤの両ビーム光路の遮断を通じてファームウエアによって感知される。ＬＥＤが永久的に無効にされているように見える場合は、そのエラーを報告しながら尚も残りの機能するＬＥＤで正常に近い作動を続行することが可能である。
【００３５】
システム作動
電源投入時の自己試験（ＰＯＳＴ）
タッチフレームシステムリセット時に、タッチフレームファームウエアは、「ＳＲＡＭ」の終端を指すようにスタックポインタを設定することにより、ある一定の基本的通常業務を実行する。それは、次に、デバッグの際にスタック挙動の検査を容易にするために「ＳＲＡＭ」をクリアする。
「電源投入時自己試験」は、次に、レジスタ「バケット群」を形成し、いくつかの既知のパターンをレジスタ間で移動させ、レジスタがパターンを正しく記憶して呼び出すことができることを確認することによって開始される。次に、「ＣＲＣ」試験が「ＦＬＡＳＨ」メモリに行なわれる。「ＣＲＣ」は、長いバイトシーケンスのエラーを検出するのに加法チェックサムよりも実質的に優れた特別なチェックサム用アルゴリズムである。最後に、正しくデータを記憶して呼び出す「ＳＲＡＭ」構成の能力を証明するために、「ＳＲＡＭネア」試験が行われる。
【００３６】
初期化
タッチフレームファームウエアの次の仕事は、作動開始に備えて内部データ構造を初期化することである。最大のデータ構造は、ビーム状態変数のアレイである。図１０を参照すると、各ＬＥＤ２４は、各ＬＥＤが２つの「ＩｒＤＡ」レシーバ４２によって検出されるので、２つの論理的幾何学形状光ビーム５４を形成する。２つのレシーバ４２のうちの一方が特定のＬＥＤ２４からのビームを「見る」ことができ、同時に他方のレシーバが遮断されているということは可能であり、その可能性は非常に高い。例えば、ＬＥＤ３及び４からのビームは、「ＩｒＤＡ」１の視野に対して遮断され、「ＩｒＤＡ」２の視野に対しては可視である。論理ＬＥＤビーム５４は、ＬＥＤ２４及び「ＩｒＤＡ」レシーバ４２の両方によって形成される。
【００３７】
次に、タッチフレームファームウエアは、タッチフレームシステム挙動を制御する基本的な定期割込みを発生させるために使用される内部プロセッサタイマＹ１（図８）を初期化する。このタイマは、１００ｕｓの周期に初期化され、これは、８００個ほどの多くのプロセッサ命令をタイマの各「刻み」の間に実行できることを意味している。
内部プロセッサ「ＵＡＲＴ」４８は、１９．２Ｋｂａｕｄという速度に初期化される。様々な入力／出力ポートは、良性状態に初期化され、割り込みは、マスクされずに全体的に有効にされ、多種多様な変数が初期化される。最後に、内蔵プロセッサウォッチドッグが同期化及び使用可能にされ、プロセッサの実行は、その主作動ループに入る。
【００３８】
主作動ループ
タッチフレームシステムの主実行経路は、１）「ＧＵＩ」のＣＰＵ２２からの指令があるかを検査して応答する、２）部分的に重なった三角形の対から成る組に遮断ビームがあるかを検査する、及び３）座標変換及びいかなる遮断の結果も平均する、という３つの主な作業から成る。
【００３９】
「ＧＵＩ」指令復号器
タッチフレームシステムは、「ＧＵＩ」ＣＰＵ２２が随時に非同期的に出す所定の組の指令を検出して応答する。例えば、「ＧＵＩ」ＣＰＵ２２は、１０秒間隔で状態要求をタッチフレームシステムに送ることができる。タッチフレームシステムは、状態要求を受信すると、例えば許容可能な期間を超えて遮断されたビームであるいかなるエラー情報も収集し、その情報をメッセージに書式化して「ＧＵＩ」ＣＰＵ２２に送り戻す。
【００４０】
「ＧＵＩ」ＣＰＵ２２から「ＰＣＢＡ」１６への指令は、単一８ビット文字である。「ＰＣＢＡ」１６から「ＧＵＩ」ＣＰＵ２２への応答は、多重８ビット文字から成る。各応答は、応答型の文字で始まり、１つ又はそれ以上のデータ文字が続き、０ｘＦＦの終了文字で終わる。「ＰＣＢＡ」１６は、「ＧＵＩ」ＣＰＵ２２指令からは非請求の２つの応答型を作り出す。これらの応答は、「タッチ」及び「リリース」イベントである。
タッチイベント：０ｘＦＥ，０ｘＸＸ，０ｘＹＹ，０ｘＦＦ
リリースイベント：０ｘＦＤ，０ｘＸＸ，０ｘＹＹ，０ｘＦＦ
ただし、０ｘＸＸは、タッチの８ビットＸ座標を表し、０ｘＹＹは、８ビットＹ座標を表す。
【００４１】
他の全ての応答は、「ＧＵＩ」ＣＰＵ２２からの指令に回答する時に限って発生する。例えば、「ＧＵＩ」ＣＰＵ２２は、エラー報告又はタッチフレームシステムファームウエアのバージョン情報を要求することができる。
エラー報告指令：０ｘ３２−応答：０ｘＦ８，０ｘＮＮ，０ｘＥＥ．．．０ｘＥＥ，０ｘＦＦ
ただし、０ｘＮＮは、報告されているエラーの数であり、０ｘＥＥ．．．０ｘＥＥは、エラーコード（もしあれば）である。エラーが全くない場合、応答は、０ｘＦ８，０ｘ００，０ｘＦＦである。
考えられるエラーコードは、以下の通りである。
０ｘ０１−「ＦＬＡＳＨ」チェックサムエラーの検出
０ｘ０２−「ＳＲＡＭ」エラーの検出
０ｘ０３−プロセッサエラーの検出
０ｘ０４−故障ビームの検出
０ｘ０８−「ＵＡＲＴ」エラーの検出
０ｘ０９−シリアルオーバーランエラーの検出
０ｘ０Ａ−無効指令の受信
【００４２】
バージョン取得指令：０ｘ３４−応答：０ｘＦ６，０ｘＮＮ，“０４−０７６５３０−８５−Ｘ−”，“００００”，０ｘＦＦ
ただし、０ｘＮＮは、報告されているバージョンの数であり（下位互換性の場合−常に０ｘ０１）、Ｘは、「タッチフレーム」ファームウエアのバージョンを指定する改訂文字である。バージョンストリング（引用符内）は、「ＩＣＴ」によるアクセスに対してアドレス０ｘ２Ｅ０から始まる「ＦＬＡＳＨ」メモリに位置する。次に、４つのゼロ（各々が０ｘ３０の“００００”）、及びその後の通常の０ｘＦＦのメッセージ終端文字が続く。
ソフトウエアリセット指令：０３ｘ３Ｃ−応答：システムはリセットされ、ファームウエア実行が最初から始まる。
【００４３】
ビーム三角形の対の検出
タッチフレームシステムは、三角形ゾーンの対をモニタする。各三角形ゾーンは、ＬＥＤ２４の列及び対向する「ＩｒＤＡ」レシーバ４２から成る。部分的に重なった三角形ゾーンの各々からのビームが遮断された場合、その三角形ゾーンの対は、その後の処理のためにフラグが付される。
【００４４】
座標変換及び平均化
タッチフレームコントローラ４４は、部分的に重なった傾斜ビームを直交デカルト座標系に変換する。この情報は、上述のように、収集されてタッチイベントメッセージに書式化され、これは、発生する毎に非同期的に「ＧＵＩ」ＣＰＵ２２に送られる。
【００４５】
タスク構造及び割込み
タッチフレームシステムには、１）主作動ループで実行される主流スレッドと、２）定期割込みベースで定期的に実行される割込みスレッドという２つの基本的作動スレッドが存在する。
主流スレッドは、一般的に、それほどタイミングに依存しないもの、及び重大な影響なく割り込むことができるものを取り扱う。割込みスレッドは、タイミングと、タイミングに依存する特に低レベルビーム検出とを取り扱う。
【００４６】
低レベルビーム検出
１００ｕｓ毎に、タイマ駆動式割込みが発生する。永久に繰返す擬似ランダムな一連のＬＥＤから、次のＬＥＤ２４が選択される。ＬＥＤ多重化システム４６論理が設定され、選択されたＬＥＤ２４がオンにされる。上述のように、選択されたＬＥＤ２４がオンにされた直後に、「ＩｒＤＡ」レシーバ４２出力の３２個の連続サンプルが１／８マイクロ秒間隔で採取される。選択されたＬＥＤ２４に関連する両「ＩｒＤＡ」レシーバ４２からの出力は、ビームが「ノイズ」、「接続中」、又は「遮断中」であるかを判断するために、上述のタッチフレームファームウエア光学ノイズ免疫性アルゴリズムによって記録及び解析される。
【００４７】
ビーム状態カウンタ
各ＬＥＤ／「ＩｒＤＡ」レシーバ対に関連する４ビット状態カウンタが存在する。このカウンタは、低レベルデバウンス及びノイズ拒絶という目的に供するものである。関連するアルゴリズムは、ある一定量の履歴現象を考慮する。特定のＬＥＤビームは、それが新しい状態、すなわち、遮断中又は接続中に遷移したと容認される前に、連続する少なくとも２つのサンプルに対してその新しい状態にあるとしてシステムによって観察されるべきである。
【００４８】
より詳しくは、図１１を参照すると、状態値の最上位のビットは、ビームが接続中（１）又は遮断中（０）か否かを規定する。「通常」状態は、接続中であり、すなわち、ビームを遮断する指又はスタイラスがない。タッチが発生すると、状態機械を０ｘＥから０ｘ０、すなわち「遮断中」状態に進めるのに２回の走査時間がかかる。遮断中状態では、２つの交差する遮断ビームがある場合は、その情報に対してより高いレベルのアルゴリズムが作用する。状態０ｘ１から０ｘ５までの遷移の方が発生に時間が掛かる。状態０ｘ５に達すると、ビームは「タイムアウト」と見なされる。これは、高レベルアルゴリズムが「遮断ビーム」エラーをホストに報告することを意味する。それらはまた、ビームを特別の方法で処理し、つまり、それが一連の遮断ビームの中にあれば「遮断中」とみなし、そうでなくそれが純粋に遮断されたビームに近くなければ、それを「接続中」として処理する。「フェンス」状態は、実際にはビームではなく、むしろビームの列に対する境界として作用する。フェンスは、メモリが初期化される時に予め設定され、タッチフレーム作動中に決して変化しない。固定ビームは、特別のエラー処理アルゴリズムを実行するのに使用することができる論理状態である。
【００４９】
部分的に重なった三角形ゾーンの幾何学形状
図１２ａから図１２ｄを参照すると、タッチフレームシステムの一実施形態では、タッチフレーム幾何学形状に１２個の任意に付番された三角形ゾーンがある。各々は、一組の赤外線ＬＥＤ（図示せず）及び単一の「ＩｒＤＡ」レシーバ４２を表す。「ＩｒＤＡ」レシーバ４２は、「ＩｒＤＡ」レシーバ及びＬＥＤによって形成された論理ビームが収束する三角形の頂点にある。図内の矢印は、どの方向を「ＩｒＤＡ」レシーバ４２が見ているかを示す。三角形の多くの重なった組合せを考案することができるが、本発明の好ましい実施形態では、部分的に重なった可能な対のうちの１６対のみを使用する。
【００５０】
図１３ａから図１３ｊを参照すると、ゾーンの対は、「ＧＵＩ」ディスプレイを覆うことができるように選択される。第１の４つの組合せ（図１３ａから図１３ｄ）は、画面の下半分を覆う１つの方法である。第２の４つの組合せ（図１３ｅから図１３ｈ）は、画面の下半分を覆う代替的な冗長方法である。第１の４つの組合せ及び第２の４つの組合せの各々は、４つの異なる「ＩｒＤＡ」レシーバ４２を使用する。最後の２つの組合せ（図１３ｉ及び図１３ｊ）は、部分的に重なった三角形の未使用の対を示す２つの例である。部分的に重なった水平及び垂直三角形ゾーンのこれらの対及びこれらと同様の他のものは、図１３ａから図１３ｈに示すように、部分的に重なった線が他の対における線のように互いに直行しないので、計算処理には使用されない。８つの組合せの対から成る類似の組を使用して、「ＧＵＩ」ディスプレイの上半分が覆われる。
三角形ゾーン内のタッチイベントは、特定の傾斜及び特定の終点を有する特定のビーム光路又は線を形成する。例えば、図１４に示すように、三角形ゾーン６及び８内の交差する線が点線で示されている。タッチは、その位置により、少なくとも１つの水平三角形ゾーン及び少なくとも１つの垂直三角形ゾーン内にある。
【００５１】
本発明によれば、コントローラ４４ファームウエアによって図１３ａから図１３ｈに示すようなものなどの最も直角に重なったゾーンの対が選択され、交差する遮断ビーム光路又は線の有無に関して検査される。９０度により近い角度で交差するビームを有する三角形の対が、タッチの位置を計算するのに使用される対である。図１４を参照すると、タッチ７０は、水平ゾーン６及び７、及び垂直ゾーン８内に完全に入っている。ゾーン６及び８は、ゾーン７及び８よりも直交する部分的に重なった三角形ゾーンの対を形成している。従って、これらのゾーン内のビーム光路又は線は、遮断の有無に関して検査される。タッチ７０の位置は、選択された三角形ゾーンの各々から１本ずつの２本の交差する線７２及び７４を使用して計算される。このような計算のために選択された交差する線７２及び７４は、直交に最も近い線である。
【００５２】
仮想ビーム
簡単な幾何学的論理により、ハードウエアによって形成されたビーム間における位置を検出することが可能である。図１５を参照すると、三角形ゾーンは、６つのＬＥＤ２４及び１つの「ＩｒＤＡ」レシーバ４２によって形成された６つのビーム５６を有する。更に５つの「仮想ビーム」５８が形成されており（１’〜５’）、各々は、隣接するハードウエアビーム５６の中間にある。どのハードウエアビーム５６が遮断されているかにより、ハードウエアビーム又は仮想ビームのいずれかは、タッチ位置の計算に使用される「図心」又は中心論理ビームとして特定される。奇数のハードウエアビーム５６が遮断された場合、中央ハードウエアビームがその出力である。しかし、偶数のハードウエアビーム５６が遮断された場合、２つの中央ハードウエアビームの間にある仮想ビーム５８がその出力である。例えば、図１５において、指６０は、ビーム２、３、４、及び５を遮断している。タッチフレームファームウエアは、次に、ビーム３及び４の間の仮想ビーム５８（３’とラベル付けされた）を特定し、それをこの三角形ゾーンに対する出力として登録する。
【００５３】
傾斜及び終点表及び屈折
「ＰＣＢＡ」１６には、交差するビーム対の座標をデカルト座標系に変換するための網羅的なテーブルルックアップを収容する十分なメモリスペースはない。しかし、ＬＥＤ２４及び「ＩｒＤＡ」レシーバ４２の幾何学的配置は、非常に規則正しくかつ対称である。この結果、何らかの数学的「ミラーリング」と共に２つのテーブルのみを使用して、全ての１２個の三角形ゾーンを含むＬＥＤビームの傾斜を定めることが可能である。１つのテーブルは、水平三角形を含む全てのＬＥＤビームの傾斜を定め、別のテーブルは、垂直三角形を含む全てのＬＥＤビームの傾斜を定める。水平三角形は、左側３２（図４）又は右側３４の列のＬＥＤ及びその反対側のある関連「ＩｒＤＡ」レシーバ４２で構成された三角形である。垂直三角形は、上部２６又は下部２８の列のＬＥＤ及びその反対側にある関連「ＩｒＤＡ」レシーバ４２で構成された三角形である。
【００５４】
全ての三角形内の全ての線の終点を指定する第３のテーブルが存在する。各三角形内の全ての線は、単一の点、すなわち、その三角形に対する「ＩｒＤＡ」レシーバ４２上に収束するので、終点テーブルには、１２個のエントリのみが存在する。
光が特定のＬＥＤ２４からその対応する「ＩｒＤＡ」レシーバ４２に進む時、それは、「ＰＣＢＡ」１６を密封して外部環境から保護する赤外線フィルタベゼルを通過すべきである。光がそうする時、それは、特定の光路の角度とベゼルの厚み、角度、及び屈折率とに依存して、様々な角度に屈折する。この屈折の影響は、計算されて最大限補償されている。この補償の結果は、傾斜及び終点表のデータエントリにおいて完全に表されている。
【００５５】
浮動少数点アルゴリズム
部分的に重なった三角形ゾーンにおけるタッチイベントが発生すると、タッチフレームファームウエアは、浮動少数点の数学を用いてそれらの座標をデカルト座標に変換する。図１６に示すように、関連する基本方程式は、２つの傾斜線６４及び６６の交差６２に対応するＸ／Ｙ出力座標を計算する。方程式に入力される基本的な要素は、２つの交差する線の各々に関する傾斜及び１つの終点である。
以下は、浮動少数点座標変換アルゴリズムの「Ｃ」プログラミング言語による表示である。
ｆｌｏａｔ  ｌｉｎｅ１＿ｘ１，ｌｉｎｅ１＿ｙｌ；／／第１の線の終点１
ｆｌｏａｔ  ｌｉｎｅ１＿ｘ２，ｌｉｎｅ１＿ｙ２；／／第１の線の終点２
ｆｌｏａｔ  ｌｉｎｅ２＿ｘ１，ｌｉｎｅ２＿ｙｌ；／／第２の線の終点１
ｆｌｏａｔ  ｌｉｎｅ２＿ｘ２，ｌｉｎｅ２＿ｙ２；／／第２の線の終点２
ｆｌｏａｔ  ｘｉ，ｙｉ；／／交差点の座標
ｖｏｉｄ  ｃｏｎｖｅｒｔ（ｖｏｉｄ）
｛
ｆｌｏａｔ  ｓｌｏｐｅ１，ｓｌｏｐｅ２，ａ１，ａ２；
ｓｌｏｐｅ１＝（ｌｉｎｅ１＿ｙ２−ｌｉｎｅ１＿ｙ１）／（ｌｉｎｅ１＿ｘ２−ｌｉｎｅ１＿ｘ１）；／／ｌｉｎｅ１の傾斜を得る（ファームウエア内のテーブルルックアップによって行われる）
ａ１＝ｌｉｎｅ１＿ｙ１−ｓｌｏｐｅ１＊ｌｉｎｅ１＿ｘ１；／／ｌｉｎｅ１の切片を計算する
ｓｌｏｐｅ２＝（ｌｉｎｅ２＿ｙ２−ｌｉｎｅ２＿ｙ１）／（ｌｉｎｅ２＿ｘ２−ｌｉｎｅ２＿ｘ１）／／ｌｉｎｅ２の傾斜を得る（ファームウエア内のテーブルルックアップによって行われる）
ａ２＝ｌｉｎｅ２＿ｙ１−ｓｌｏｐｅ２＊ｌｉｎｅ２＿ｘ１；／／ｌｉｎｅ２の切片を計算する
ｘｉ＝（ａｌ−ａ２）／（ｓｌｏｐｅ１−ｓｌｏｐｅ２）；／／ｘ交差点を計算する
ｙｉ＝ａｌ＋ｓｌｏｐｅ１＊ｘｉ；／／ｙ交差点を計算する
｝
【００５６】
実質的に全ての場合において、交差する線を有する複数の三角形ゾーン対が存在する。これは、内蔵された設計の冗長性のためである。冗長なゾーン出力は、全てのゾーンが機能している時の精度を上げるために平均化される。
本発明の特定の形態を示して説明したが、本発明の精神及び範囲から逸脱することなく様々な修正を行うことができることは、以上の説明より明らかであろう。従って、本発明は、特許請求の範囲による場合を除き限定されないものとする。
【図面の簡単な説明】
【００５７】
【図１】ＩＲグリッドを形成するために検出区域ディスプレイ回りに配置された複数の赤外線（ＩＲ）発光ダイオード（ＬＥＤ）及びフォトトランジスタの対を含む従来技術のタッチフレームシステムの平面図である。
【図２】図１のタッチフレームシステムの等角投影図である。
【図３】タッチフレームと、グラフィカル・ユーザ・インタフェース（ＧＵＩ）システムに接続したプリント回路基板アセンブリ（ＰＣＢＡ）とを含む、本発明により構成されたタッチフレームシステムのブロック図である。
【図４】ディスプレイの周囲の回りに配置された複数のＬＥＤ及び赤外線（ＩｒＤＡ）レシーバを含む、図３のタッチフレームの例示的構成の平面図である。
【図５】コントローラ及び多重化回路を含む図３の「ＰＣＢＡ」の詳細ブロック図である。
【図６】ビーム光路の部分的に重なった三角形ゾーンを形成する、各々が関連の「ＩｒＤＡ」レシーバを有する２列のＬＥＤを示す図である。
【図７】ＬＥＤの列と２つの対向する「ＩｒＤＡ」レシーバとの方向的アラインメントを示す図である。
【図８】図３のコントローラ及び多重化システムの概略図である。
【図９】タッチフレームシステムの光学ノイズ免疫機能を示すタイミング図である。
【図１０】タッチイベントがビーム光路のいくつかを遮断している、図７のＬＥＤ列及び「ＩｒＤＡ」レシーバによって形成されたビーム光路の２つの三角形ゾーンの概略図である。
【図１１】光ビームが遮断中か又は接続中であるかを判断するためにタッチフレームシステムによって使用される状態値の経過を示す状態図である。
【図１２ａ】図４のＬＥＤ列及び「ＩｒＤＡ」レシーバによって形成された１２個の三角形ゾーンの一部の概略図である。
【図１２ｂ】図４のＬＥＤ列及び「ＩｒＤＡ」レシーバによって形成された１２個の三角形ゾーンの一部の概略図である。
【図１２ｃ】図４のＬＥＤ列及び「ＩｒＤＡ」レシーバによって形成された１２個の三角形ゾーンの一部の概略図である。
【図１２ｄ】図４のＬＥＤ列及び「ＩｒＤＡ」レシーバによって形成された１２個の三角形ゾーンの一部の概略図である。
【図１３ａ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの４つの組の１つを示す図である。
【図１３ｂ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの４つの組の１つを示す図である。
【図１３ｃ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの４つの組の１つを示す図である。
【図１３ｄ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの４つの組の１つを示す図である。
【図１３ｅ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの別の４つの組の１つを示す図である。
【図１３ｆ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの別の４つの組の１つを示す図である。
【図１３ｇ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの別の４つの組の１つを示す図である。
【図１３ｈ】図４のディスプレイの下部をまとめて覆う直角に重なったゾーンの別の４つの組の１つを示す図である。
【図１３ｉ】直交せずに重なった三角形ゾーンの例を示す図である。
【図１３ｊ】直交せずに重なった三角形ゾーンの例を示す図である。
【図１４】２つの部分的に重なった三角形ゾーン内で発生するタッチイベントをそのタッチイベントで交差する２つの遮断ビーム光路と共に示す概略図である。
【図１５】複数のビーム光路を遮断するタッチイベントを示す図である。
【図１６】タッチイベントで交差する２つの遮断ビーム光路を示す概略図である。
【符号の説明】
【００５８】
１４  タッチフレーム
２０  「ＧＵＩ」ディスプレイ
２４  赤外線ＬＥＤ
４２  赤外線（ＩｒＤＡ）レシーバ
【図１】
2005535004.tif 000003
【図２】
2005535004.tif 000004
【図３】
2005535004.tif 000005
【図４】
2005535004.tif 000006
【図５】
2005535004.tif 000007
【図６】
2005535004.tif 000008
【図７】
2005535004.tif 000009
【図８】
2005535004.tif 000010
【図９】
2005535004.tif 000011
【図１０】
2005535004.tif 000012
【図１１】
2005535004.tif 000013
【図１２Ａ】
2005535004.tif 000014
【図１２Ｂ】
2005535004.tif 000015
【図１２Ｃ】
2005535004.tif 000016
【図１２Ｄ】
2005535004.tif 000017
【図１３Ａ】
2005535004.tif 000018
【図１３Ｂ】
2005535004.tif 000019
【図１３Ｃ】
2005535004.tif 000020
【図１３Ｄ】
2005535004.tif 000021
【図１３Ｅ】
2005535004.tif 000022
【図１３Ｆ】
2005535004.tif 000023
【図１３Ｇ】
2005535004.tif 000024
【図１３Ｈ】
2005535004.tif 000025
【図１３Ｉ】
2005535004.tif 000026
【図１３Ｊ】
2005535004.tif 000027
【図１４】
2005535004.tif 000028
【図１５】
2005535004.tif 000029
【図１６】
2005535004.tif 000030