JP4125200B2 - 座標入力装置 - Google Patents

座標入力装置 Download PDF

Info

Publication number
JP4125200B2
JP4125200B2 JP2003286158A JP2003286158A JP4125200B2 JP 4125200 B2 JP4125200 B2 JP 4125200B2 JP 2003286158 A JP2003286158 A JP 2003286158A JP 2003286158 A JP2003286158 A JP 2003286158A JP 4125200 B2 JP4125200 B2 JP 4125200B2
Authority
JP
Japan
Prior art keywords
light
data
coordinate input
pixel
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003286158A
Other languages
English (en)
Other versions
JP2005056140A (ja
JP2005056140A5 (ja
Inventor
肇 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003286158A priority Critical patent/JP4125200B2/ja
Priority to US10/901,148 priority patent/US7283128B2/en
Publication of JP2005056140A publication Critical patent/JP2005056140A/ja
Publication of JP2005056140A5 publication Critical patent/JP2005056140A5/ja
Application granted granted Critical
Publication of JP4125200B2 publication Critical patent/JP4125200B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0421Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B5/00Optical elements other than lenses
    • G02B5/12Reflex reflectors
    • G02B5/122Reflex reflectors cube corner, trihedral or triple reflector type
    • G02B5/124Reflex reflectors cube corner, trihedral or triple reflector type plural reflecting elements forming part of a unitary plate or sheet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、座標入力領域上の指示位置の座標を算出する座標入力装置に関するものである。
入力面に指示具や指によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置が存在する。
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、例えば、特許文献1に見られるように、座標入力領域の外側に再帰性反射シートを設け、座標入力領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出し、その検出結果に基づいて、その遮蔽物の指示位置を決定するものが知られている。
また、特許文献2や3等にあるように、再帰性反射部材を座標入力領域周辺に構成し、再帰反射光が遮光される部分の座標を検出する装置が開示されている。
米国特許公報第4507557号 特開2000−105671号公報 特開2001−142642号公報
これらの装置において、例えば、特許文献2では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献3では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
また、特許文献1においては、受光部であるRAMイメージャーの各画素を読み出し、コンパレータで比較することで、遮光部分を検出し、一定幅以上の遮光部分がある場合に、その両端の画素の中心(1/2位置)を検出し、その検出結果に基づいて遮蔽物の座標を算出する方式が示されている。
ここで、指示具(遮蔽物)としては、指以外のもの、例えば、指し棒やペン等の表面の反射率の高いものが使用される場合や、指であっても、その入力位置が受光部に近い場合や爪にマニキュア等の高反射率のものが塗布している場合の入力では、照明部からの照射光がその指示具の表面で直接反射した反射光が受光部で検出される場合がある。このような場合、受光部で本来検出する再帰性反射部材からの反射光以外に、指示具からの反射光も検出されてしまい、誤検出の要因や座標算出精度の劣化の要因となっていた。
本発明は上記の課題を解決するためになされたものであり、座標を精度良く検出することができる座標入力装置を提供することを目的とする
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力領域上の指示位置の座標を算出する座標入力装置であって、
前記座標入力領域に設けられた受光手段と、
前記座標入力領域の周辺部に設けられ、入射光を反射する反射手段と、
前記座標入力領域に光を照明する発光手段と、
前記受光手段から得られる光量分布において、予め定められたレベルを横切る点を検出する検出手段と、
前記受光手段から得られる光量分布において、前記座標入力領域上で位置が指示されていない時の光量から指示されている時の光量を減算した結果がマイナスになるか判断する判断手段と、
前記座標入力領域上で位置が指示されていない時の光量から指示されている時の光量を減算した結果がマイナスになったことを前記判断手段が判断した場合、前記検出手段により検出された前記予め定められたレベルを横切る点に基づいて、前記座標入力領域上の指示位置の座標を算出する算出手段と
を備える。
以上説明したように、本発明によれば、座標を精度良く検出することができる座標入力装置を提供することができる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<<実施形態1>>
図1は本発明の実施形態1の座標入力装置の概略構成を示す図である。
図1において、1L及び1Rは、投光部30及び検出部40(図5参照)を有するセンサユニットであり、両者は互いに所定距離離されて設置されている。センサユニット1L及び1Rは、制御・演算を行う制御・演算ユニット2に接続され、制御信号を制御・演算ユニット2から受信すると共に、検出した信号を制御・演算ユニット2に送信する。
3は、図2に示すように、入射光を到来方向に反射する再帰反射面を有する再帰性反射部材であり、左右それぞれのセンサユニット1L及び1Rから略90°範囲に投光された光を、センサユニット1L及び1Rに向けて再帰反射する。反射された光は、センサユニット1L及び1Rによって1次元的に検出され、その光量分布が制御・演算ユニット2に送信される。
4は座標入力領域であり、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面で構成されることで、インタラクティブな入力装置として、利用可能となっている。
このような構成において、座標入力領域4に指等の指示具による入力指示がなされると、センサユニット1L及び1Rの投光部30から投光された光が遮られ、再帰性反射部材3による反射光が得られなくなるため、入力指示位置のみ反射光量が得られなくなる。
制御・演算ユニット2は、センサユニット1L及び1Rが検出する光量変化から、指示具によって入力指示された部分の遮光範囲を検出し、その遮光範囲内での検出点を特定して、センサユニット1L及び1Rそれぞれに対する指示具の角度を算出する。そして、算出された角度及びセンサユニット間の距離等から、座標入力領域4上の指示具の指示位置を算出し、表示装置に接続されているパーソナルコンピュータ等の外部端末に、USB等のインタフェースを経由して座標値を出力する。
このようにして、指示具によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
<センサユニットの詳細説明>
まず、センサユニット1L及び1R内の投光部30の構成について、図3を用いて説明する。
図3は本発明の実施形態1のセンサユニットの投光部の構成例を示す図である。
図3(a)は投光部30を上(座標入力領域4の入力面に対し垂直方向)から見た場合を示している。31は赤外光を発する赤外LEDであり、赤外LED31から発光した光は投光レンズ32によって略90°範囲に光が投光される。
図3(b)は投光部30を横(座標入力領域4の入力面に対し水平方向)から見た場合を示している。この方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に、再帰性反射部材3に対して光が投光されるように構成されている。
次に、センサユニット1L及び1Rの検出部40の構成について、図4を用いて説明する。
図4は本発明の実施形態1のセンサユニットの検出部の構成例を示す図である。
図4では、センサユニット1L及び1Rの検出部40を座標入力領域4の入力面に対して垂直方向から見た場合を示している。
検出部40は、複数の受光素子(画素)からなる1次元のラインCCD41及び集光光学系としての集光用レンズ42及び43、入射光の入射方向を制限する絞り44、可視光など余分な光の入射を防止する赤外フィルタ45から構成されている。
投光部30からの光は、再帰性反射部材3によって反射され、赤外フィルタ45、絞り44を抜けて、集光用レンズ42及び43によって入力面の略90°範囲の光がラインCCD41の検出面にその入射角に依存した画素上に結像される。これにより、入射角の角度毎の光量分布が得られる。つまり、ラインCCD41を構成する各画素の画素番号が角度情報を表すことになる。
次に、図3の投光部30及び図4の検出部40を有するセンサユニット1L及び1Rの構成について、図5を用いて説明する。
図5は本発明の実施形態1のセンサユニットの構成例を示す図である。
図5では、入力面と水平方向からの見たときの、図3(a)の投光部30と図4の検出部40を重ねて、センサユニット1L(1R)を構成した場合を示している。ここで、投光部30と検出部40の光軸間の距離は、再帰性反射部材3の角度特性から充分検出可能な範囲に設定されていればよい。
<反射部材について>
再帰性反射部材3は、入射角度に対する反射特性を有してる。この反射特性としては、例えば、再帰性反射部材3がテープ状に平坦に構成された場合には、図6に示すように、再帰性反射部材3への入射光の入射角度が45度を超えるあたりから得られる反射光量が減少し、指示具がある場合にはその変化が充分に取れないことになる。
反射光量は、光量分布(照明強度および距離)、再帰性反射部材3の反射率(入射角度、反射部材の幅)、センサユニット1L及び1R内の結像系照度(cosine4乗則)によって決まる。
反射光量が不足する場合に、その不足を解決する方法としては、投光部30の照明強度を上げることが考えられる。しかしながら、反射光量分布が均一で無い場合で、高光量部分の光をセンサユニットが受光したときには、センサユニット内のラインCCD41でその部分が蝕和することがあり、照明強度を上げるには限界がある。裏返せば、再帰性反射部材3の反射光量分布をなるべく均一にすることで低光量部分への反射光量の増大も望むことができる。
そこで、実施形態1では、再帰性反射部材3への入射光の入射角度方向に対する反射光量の均一化を計るために、図7に示すような複数の三角柱からなる再帰性反射部材を構成する。このようにすることで、入射角度に対する反射特性を改善することができる。
尚、各三角柱の角度は、再帰性反射部材の反射特性から決定すればよく、また、そのピッチは、センサユニット内のラインCCD41の検出分解能以下に設定することが望ましい。
<制御・演算ユニットの説明>
制御・演算ユニット2とセンサユニット1L及び1Rの間では、主に、検出部40内のラインCCD41用のCCD制御信号、CCD用クロック信号と出力信号及び発光部30の赤外LED31の駆動信号がやり取りされている。
ここで、制御・演算ユニット2の詳細構成について、図8を用いて説明する。
図8は本発明の実施形態1の制御・演算ユニットの詳細構成を示すブロック図である。
CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)83から出力され、ラインCCD41のシャッタタイミングやデータの出力制御等が行われる。尚、この演算制御回路83は、メインクロック発生回路86からのクロック信号に従って動作する。また、CCD用のクロック信号は、クロック発生回路(CLK)87からセンサユニット1L及び1Rに送信されると共に、各センサユニット内部のラインCCD41との同期をとって各種制御を行うために、演算制御回路83にも入力されている。
投光部30の赤外LED31を駆動するためのLED駆動信号は、演算制御回路83からLED駆動回路84L及び84Rを介して、対応するセンサユニット1L及び1Rの投光部30の赤外LED31に供給されている。
センサユニット1L及び1Rそれぞれの検出部40のラインCCD41からの検出信号は、制御・演算ユニット2の対応するA/Dコンバータ81L及び81Rに入力され、演算制御回路2からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ82に記憶され、指示具の角度計算に用いられる。そして、この計算された角度から座標値が算出され、外部端末にシリアルインタフェース88(例えば、USB、RS232Cインタフェース等)を介して出力される。
<光量分布検出の説明>
図9は本発明の実施形態1の制御信号のタイミングチャートである。
図9において、91〜93はCCD制御信号であり、SH信号91の間隔で、ラインCCD41のシャッタ解放時間が決定される。ICGL信号92及びICGR信号93は、センサユニット1L及び1Rそれぞれのセンサユニットへのゲート信号であり、内部のラインCCD41の光電変換部の電荷を読出部へ転送する信号である。
94、95はセンサユニット1L及び1Rそれぞれの投光部30の駆動信号である。ここで、SH信号91の最初の周期で、センサユニット1Lの投光部30を点灯(投光期間96L)するために、LEDL信号94がLED駆動回路84Lを経て投光部30に供給される。また、SH信号91の次の周期で、センサユニット1Rの投光部30を点灯(投光期間96R)するために、LEDR信号95がLED駆動回路84Rを経て投光部30に供給される。
そして、センサユニット1L及び1Rの双方の投光部30の駆動が終了した後に、センサユニット1L及び1Rの双方の検出部(ラインCCD41)の検出信号が読み出される。
ここで、センサユニット1L及び1Rの双方から読み出される検出信号は、座標入力領域4への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図10のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰性反射部材3の特性や投光部30の特性、また、経時変化(反射面の汚れなど)によって、光量分布は変化する。
図10においては、レベルAが最大光量であり、レベルBが最低光量となっている。
つまり、再帰性反射部材3からの反射光がない状態では、センサユニット1L及び1Rで得られる光量レベルがレベルB付近になり、反射光量が増えるほど、レベルAに光量レベルが遷移する。このようにして、センサユニット1L及び1Rから出力された検出信号は、逐次、対応するA/Dコンバータ81L及び81RでA/D変換され、演算制御回路83にデジタルデータとして取り込まれる。
これに対し、座標入力領域4への指示具による入力がある場合には、センサユニット1L及び1Rからの出力として、図11のような光量分布が得られる。
この光量分布のC部分では、指示具によって再帰性反射部材3からの反射光が遮られているため、その部分(遮光範囲)のみ反射光量が低下していることがわかる。
そして、実施形態1では、指示具による入力がない場合の図10の光量分布と、指示具による入力がある場合の図11の光量分布の変化に基づいて、センサユニット1L及び1Rに対する指示具の角度を算出する。
具体的には、図10の光量分布を初期状態として予めメモリ82に記憶しておき、センサユニット1L及び1Rそれぞれの検出信号のサンプル期間に、図11のような光量分布の変化があるか否かを、そのサンプル期間中の光量分布と初期状態の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点としてその入力角度を決定する演算を行う。
<角度計算の説明>
センサユニット1L及び1Rに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
上述したように、センサユニット1L及び1Rが検出する光量分布は、経時変化等の要因で一定ではないため、その初期状態の光量分布は、例えば、システムの起動時毎にメモリ82に記憶することが望ましい。これにより、例えば、再帰性反射部材3の再帰反射面がほこりなどで汚れていて完全に光を反射できないような場合を除いて、常に、座標入力装置の最新の初期状態の光量分布をメモリ82に管理することが可能になる。
以下、センサユニット1L及び1Rの一方(例えば、センサユニット1L)による指示具の角度計算について説明するが、他方(センサユニット1R)でも同様の角度計算を行うことは言うまでもない。
電源投入時、入力のない状態で、まず、センサユニット1L内の投光部30からの投光を停止している状態で、検出部40の出力である光量分布をA/D変換して、この値をBas_data[N]としてメモリ82に記憶する。
尚、この値は、検出部(ラインCCD41)のバイアスのばらつき等を含んだデータでり、図10のレベルB付近のデータとなる。ここで、NはラインCCD41を構成する画素の画素番号であり、有効な入力範囲(有効範囲)に対応する画素番号が用いられる。
次に、投光部30からの投光を行っている状態で、検出部40の出力である光量分布をA/D変換して、この値をRef_data[N]としてメモリ82に記憶する。
尚、この値は、例えば、図10の実線で示されるデータとなる。
そして、このメモリ82に記憶されたBas_data[N]とRef_data[N]とを用いて、まずは、指示具による入力の有無、かつ遮光範囲の有無の判定を行う。
ここで、センサユニット1L(ラインCCD41)の出力のサンプル期間内のN番目の画素の画素データをNorm_data[N]とする。
まず、遮光範囲を特定するために、画素データの変化の絶対量によって、遮光範囲の有無を判定する。これは、ノイズ等による誤判定を防止し、所定量の確実な変化を検出するためである。
具体的には、画素データの変化の絶対量を、ラインCCD41の各々の画素において以下の計算を行い、予め決定してある閾値Vthaと比較する。
Norm_data_a[N] = Norm_data[N] − Ref_data[N] (1)
ここで、Norm_data_a[N]は、ラインCCD41の各画素における絶対変化量である。
この処理は、ラインCCD41の各画素の絶対変化量Norm_data_a[N]を算出し、それを閾値Vthaと比較するだけなので、その処理時間をさほど必要とせず、入力の有無の判定を高速に行うことが可能である。そして、特に、閾値Vthaを初めて超えた画素が所定数を超えて検出された場合に、指示具の入力があると判定する。
次に、より高精度に指示具による入力を検出するために、画素データの変化の比を計算して入力点の決定を行う方法について、図12を用いて説明する。
図12において、121は再帰性反射部材3の再帰反射面とする。ここで、A領域が汚れなどにより、その反射率が低下していたとすると、このときのRef_data[N]の画素データ分布(光量分布)は、図13の13−1のように、A領域に対応する部分の反射光量が少なくなる。この状態で、図12のように、指示具1200が挿入され、ほぼ再帰性反射面121の上半分を覆ったとすると、反射光量は略半分となるため、図13の13−2の太線で示した分布Norm_data[N]が観測されることになる。
この状態に対して、(1)式を適用すると、その画素データ分布は、図14の14−1のようになる。ここで、縦軸は初期状態との差分電圧になっている。
この画素データに対して、閾値Vthaを適用すると、本来の入力範囲をはずれてしまうような場合がある。もちろん、閾値Vthaの値を下げればある程度検出可能であるが、ノイズなどの影響を受ける可能性がある。
そこで、画素データの変化の比を計算することとすると、A領域及びB領域とも反射光量は最初の半分であるので、次式で比を計算することができる。
Norm_data_r[N] = Norm_data_a[N] / (Bas_data[N] - Ref_data[N]) (2)
この計算結果を示すと、図14の14−2のように、画素データの変化が比であらわされるため、再帰性反射部材3の反射率が異なる場合でも、等しく扱うことが可能になり、高精度に検出が可能になる。
この画素データに対して、閾値Vthrを適用して、遮光範囲に対応する画素データ分布の立ち上がり部と立ち下がり部に対応する画素番号を取得し、この両者の中央を指示具による入力に対応する画素とすることで、より正確な指示具の入力位置を決定することができる。
尚、図14の14−2は、説明のために模式的に描いたもので、実際にはこのような立ち上がりにはなっておらず、画素毎に異なるデータレベルを示している。
以下、式(2)を画素データに適用した場合の検出結果の詳細について、図15を用いて説明する。
図15は本発明の実施形態1の検出結果の詳細を示す図である。
図15において、指示具による遮光範囲を検出するための閾値Vthrに対して、その閾値Vthrを横切る画素データ分布の立ち上がり部分がNr番目の画素、立ち下がり部分がNf番目の画素である場合、両者の画素の中心画素Npは、
Np = Nr + (Nf-Nr)/2 (3)
と計算することが可能である。但し、この計算では、画素間隔が最小の分解能になってしまう。
そこで、より細かく検出するために、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用いて、閾値Vthrを横切る仮想の画素番号を計算する。
ここで、Nr番目の画素のデータレベルをLr、Nr−1番目の画素のデータレベルをLr−1とする。また、Nf番目の画素のデータレベルをLf、Nf−1番目の画素のデータレベルをLf−1とすれば、それぞれの仮想画素番号Nrv,Nfvは、
Nrv = Nr-1 + ( Vthr - Lr-1 ) / ( Lr - Lr-1 ) (4)
Nfv = Nf-1 + ( Vthr - Lf-1 ) / ( Lf - Lf-1 ) (5)
と計算できる。そして、これらの仮想画素番号Nrv,Nfvの仮想中心画素Npvは、
Npv = Nrv + (Nfv-Nrv)/2 (6)
で決定される。
このように、閾値Vthrを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、閾値Vthrを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
<直接反射時の検出>
上述の説明では、指示具からの直接反射光の無い状態での、センサユニットに対する指示具の角度検出について説明してきたが、指示具の表面反射率が高い場合などは、図16に示すように、再帰性反射部材3の再帰反射面ではなく、指示具1200の表面で投光部30からの直接反射光が発生し、この反射光がセンサユニット1Lあるいは1Rにて検出されてしまう場合がある。
例えば、図17において、本来の遮光範囲は、A領域であるが、指示具の表面の反射光(直接反射光)によって、B領域のような部分ができ、あたかも2つの範囲で入力が行われているように検出されてしまう。
このような場合に、上記と同様に、(2)式を用いて画素データの変化の比を計算すると、図17の光量分布は、図18のようになる。
図18において、閾値Vthを横切る点を検出して行くと、画素データ分布の立ち上がりとしてr0、r1が、立ち下がりとしてf0、f1が検出可能になる。
このとき、f0,r1の区間は指示具による直接反射光によってもたらされたものであるので、本来の入力による遮光範囲は、r0,f1の範囲である。そして、指示具の形状にもよるが、通常、円筒状の指示具である場合、直接反射光の光量分布は、遮光範囲のほぼ中心に現れる。故に、直接反射光の光量分布を示すf0,r1の中間点を、指示具の入力位置(検出角度)とすることで、精度の高い検出が可能となる。
以下、この指示具からの直接反射光に対応する画素データ分布(光量分布)を検出するために、ラインCCD41から得られる画素データ分布中の特徴点(閾値を越える画素データ分布中の立ち上がり点及び立ち下がり点)を検出する特徴点検出処理について、図19を用いて説明する。
図19は本発明の実施形態1の特徴点検出処理を示すフローチャートである。
まず、この特徴点検出処理を、後述する図22の座標算出処理のサブルーチンとして呼ぶ出す。
ステップS202で、センサユニット1L(1R)の検出部40のラインCCD41を構成する画素の画素番号を示すカウンタCnt、閾値Vthを越える画素データ分布の立ち上がり点の検出状態を示す立ち上がり検出フラグR_flg(0:立ち上がり未検出状態、1:立ち上がり検出状態)、閾値Vthを越える画素データ分布の立ち下がり点の検出状態を示す立ち下がり検出フラグF_flg(0:立ち下がり未検出状態、1:立ち下がり検出状態)をそれぞれ初期化する。
ステップS203で、カウンタCntをインクリメントする。
ステップS204で、カウンタCntの値が示す画素番号が、ラインCCD41の検出範囲の有効範囲外であるか否かを判定する。有効範囲外である場合(ステップS204でYES)、ステップS216へ進む。一方、有効範囲内である場合(ステップS204でNO)、ステップS205に進み、カウンタCntの値が示す画素番号の画素データ(Data)を読み込む。
次に、立ち上がり検出フラグR_flg=0であるか否かを判定する。立ち上がり検出フラグR_flg=0である場合(ステップS206でYES)、ステップS207に進み、画素データ(Data)が閾値Vth以上であるか否かを判定する。
閾値Vth未満である場合(ステップS207でNO)、ステップS203に戻り、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号が有効範囲内であれば、ステップS205で、処理対象として、カウンタCntの値が示す次の画素番号の画素データ(Data)を読み込み、以降、同様の処理を実行する。一方、閾値Vth以上である場合(ステップS207でYES)、ステップS208に進む。
ステップS208で、現在のカウンタCntの値が示す画素番号の画素データ(Data)を遮光範囲に対応する画素データ分布の立ち上がりデータNrとしてメモリ82に記憶する。次に、ステップS209で、立ち上がり検出フラグR_flg=1にセットする。
その後、ステップS203で、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号の画素データ(Data)の読み込みを経て、ステップS206の判定を行う場合には、立ち上がり検出フラグR_flg=1となっているので、ステップS206からステップS210へ進む。
ステップS210で、立ち下がり検出フラグF_flg=0であるか否かを判定する。立ち下がり検出フラグF_flg=0である場合(ステップS210でYES)、ステップS211に進み、画素データ(Data)が閾値Vth未満であるか否かを判定する。閾値Vth以上である場合(ステップS211でNO)、ステップS203に戻る。
一方、閾値Vth未満である場合(ステップS211でYES)、ステップS212に進み、現在のカウンタCntの値が示す画素番号の画素データ(Data)を直接反射光に対応する画素データ分布の立ち下がりデータNfとしてメモリ82に記憶する。次に、ステップS213で、立ち下がり検出フラグ=1にセットする。
その後、ステップS203で、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号の画素データ(Data)の読み込みを経て、ステップS210の判定を行う場合には、立ち下がり検出フラグF_flg=1となっているので、ステップS210からステップS214へ進む。
ステップS214で、画素データ(Data)が閾値Vth以上であるか否かを判定する。直接反射光がない場合または直接反射光に対応するデータレベルが閾値Vth未満である場合には、このあと、画素データ(Data)が閾値Vthを超えることがないので、このまま、ラインCCD41の有効範囲の最後まで、画素データ(Data)を読み込んでも立ち下がりデータNfの値は変わらないが、直接反射光を検出している場合には、再び、画素データ(Data)が閾値Vthを超えることになる。
そこで、ステップS214で、画素データ(Data)が閾値Vth以上である場合(ステップS214でYES)、ステップS215に進み、現在のカウンタCntの値が示す画素番号の画素データ(Data)を直接反射光に対応する画素データ分布の立ち上がりデータNrとしてメモリ82に記憶する。これにより、前回メモリ82に記憶した立ち上がりデータNrが上書きされる。
有効範囲内の画素データ(Data)に対する処理が完了したら、立ち上がり検出フラグR_flgと立ち下がり検出フラグL_flgをチェックする。
つまり、ステップS216で、立ち上がり検出フラグR_flg=1で、かつ立ち下がり検出フラグF_flg=1であるか否かを判定する。ステップS216の判定における条件を満足する場合(ステップS216でYES)、ステップS217へ進み、メモリ82に記憶されている立ち上がりデータNrと立ち下がりデータNfから、直接反射光に対応する画素データ分布の中間点Np(=(Nr+Nf)/2:中心画素番号)を計算して、リターンする。
一方、ステップS216の判定における条件を満足しない場合(ステップS216でNO)、指示具による入力がないとして、その旨を示すフラグ等をセットして、リターンする。
図19では、直接反射光に対応する画素データ分布の立ち下がりと立ち上がりの検出を、ラインCCD41の実際の画素の画素番号を用いて実行しているが、より精度を高めるために、上述の(4)、(5)、(6)式を用いた仮想的な画素番号を用いることも可能である。
このように、指示具からの直接反射光が発生していて、遮光範囲候補となる画素データ分布中の閾値を横切る立ち上がり点及び立ち下がり点が複数点検出される場合でも、最初に検出される立ち上がり点の次に検出される立ち下がり点(第1番目の立ち下がり点)f0と、更にその次に検出される立ち上がり点(第2番目の立ち上がり点)r1から得られる画素データ分布の中心点を、直接反射光の光量分布に対応する中心点(中心画素番号)として検出することで、指示具からの直接反射光の影響を考慮した精度の高い検出が可能になる。
次に、図19の処理によって得られた遮光範囲の中心点を示す中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。
後述する実際の座標算出処理では、角度そのものよりもその角度における正接(tangent)の値を求めるほうが都合がよい。
ここで、画素番号からTanθへの変換には、テーブル参照や変換式を用いる。特に、検出部40内の光学系の収差がない場合は、一次変換などで可能であるが、収差などがある場合は高次の多項式を用いることで、収差の誤差を取り除くことができる。
ここで、画素番号とTanθとの関係について、図20を用いて説明する。
図20は本発明の実施形態1の画素番号に対するTanθ値の関係を示す図である。
この図20に基づいて、画素番号からTanθを求めるための近似式を定義し、その近似式(変換式)を用いて画素番号からTanθへの変換を行うことが可能となる。
ここで、変換式はより高次の多項式を用いると精度を確保できるが、この多項式の次数などは、座標入力装置の計算能力および精度スペック等を鑑みて決定すればよい。
例えば、5次多項式を用いる場合には、係数が6個必要になるので、出荷時などに、この係数データをメモリ82に記憶しておけばよい。
ここで、5次多項式の係数をL5,L4,L3,L2,L1,L0とすると、Tanθは
Tanθ = (L5 *Npr + L4) *Npr + L3) *Npr + L2) *Npr + L1) *Npr + L0 (7)
で示すことができる。
これをセンサユニット1L及び1Rそれぞれの検出部40のラインCCD41で検出する画素番号に対して行えば、それぞれから対応する角度データ(Tanθ)を決定できる。もちろん、上記例では、画素番号から直接Tanθを求めるように構成しているが、画素番号から角度そのものを求め、その後、Tanθを求めるような構成であっても良い。
<座標計算方法の説明>
次に、画素番号から変換された角度データ(Tanθ)から、指示具の位置座標を算出する。
ここで、座標入力領域4上に定義する座標とセンサユニット1L及び1Lとの位置関係について、図21を用いて説明する。
図21は本発明の実施形態1の座標入力領域上に定義する座標とセンサユニット1L及び1Lとの位置関係を示す図である。
図21では、座標入力領域4の座標入力範囲の下辺左右に、それぞれのセンサユニット1L及び1Rが取り付けられており、その間の距離はDsで示されている。
座標入力領域4の中央が原点位置であり、P0はセンサユニット1L及び1Rそれぞれのセンサユニットの角度0の交点である。
それぞれの角度をθL、θRとして、それぞれTanθL、TanθRを上記(7)式を用いて算出する。
このとき点P(x,y)座標は
x = Ds * (TanθL+ TanθR) / (1+( TanθL * TanθR) ) (8)
y = - Ds * (TanθR - TanθL -(2* TanθL* TanθR)) /
(1+( TanθL * TanθR))+P0Y (9)
で計算される。
以上の計算に基づく座標入力装置の座標算出処理について、図22を用いて説明する。
図22は本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
まず、座標入力装置の電源が投入されると、ステップS102で、制御・演算ユニット2のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。
ステップS103で、ラインCCD41の初期読込動作の初期読込回数を設定する。
尚、この初期読込動作は、座標入力装置の起動時におけるラインCCD41の不要電荷除去を行うのための動作である。ラインCCD41では、動作させていないときに不要な電荷を蓄積している場合があり、その電荷が蓄積されている状態で座標入力動作を実行すると、検出不能になったり、誤検出の原因となる。そこで、これを避けるために、ステップS103では、投光部30による投光を停止している状態で、所定回数の読込動作を実行し、これにより、不要電荷の除去を行う。
ステップS104で、ラインCCD41の読込動作を実行する。ステップS105で、所定回数以上の読込を実行したか否かを判定する。所定回数以上の読込を実行していない場合(ステップS105でNO)、ステップS104に戻る。一方、所定回数以上の読込を実行した場合(ステップS105でYES)、ステップS106に進む。
ステップS106で、第1リファレンスデータとして、投光部30による投光を停止している状態でのラインCCD41の画素データ(Bas_data[N])を取り込む。ステップS107で、その第1リファレンスデータをメモリ82に記憶する。
次に、ステップS108で、第2リファレンスデータとして、投光部30からの投光を行っている状態でのラインCCD41の画素データ(Ref_data[N])を取り込む。ステップS109で、その第2リファレンスデータをメモリ82に記憶する。
ここまでの処理が、電源投入時の初期動作になり、以降の処理から指示具による入力における動作になる。
ステップS110で、座標入力サンプリング状態で、ラインCCD41の通常読込動作を実行して、画素データ(Norm_data[N])を取り込む。ステップS111で、第2リファレンスデータ(Ref_data[N])と画素データ画素データ(Norm_data[N])の差分値を計算する。ステップS112で、その差分値に基づいて、指示具による入力の有無を判定する。入力がない場合(ステップS112でNO)、ステップS110に戻る。一方、入力がある場合(ステップS112でYES)、ステップS113に進む。
尚、このときの繰り返し周期を10[msec]程度に設定すれば、100回/秒のサンプリングになる。
ステップS113で、式(2)により、画素データの変化の比を計算する。ステップS114で、上述の図19の特徴点検出処理を実行し、直接反射光に対応する光量分布の中心となる中心画素番号を決定する。ステップS115で、決定された中心画素番号と(7)式よりTanθを計算する。
ステップS116で、センサユニット1L及び1Rに対するTanθ値から、指示具の入力座標P(x,y)を(8)、(9)式を用いて算出する。
次に、ステップS117で、指示具による入力がタッチダウン入力であるか否かを判定する。
これは、例えば、指示具による入力機能として、マウスのボタンを押下せずにカーソルを移動させる状態に相当する近接入力状態と、マウスの左ボタンを押下した状態に相当するタッチダウン状態を設定している場合に、その指示具による入力状態がどちらの状態であるかを判定する。
この2種類の入力状態は、例えば、ステップS113で算出した画素データの変化の比の最大値が、所定値(例えば、0.5)以上である場合にはタッチダウン状態とし、所定値未満である場合には近接入力状態と判定する。あるいは、専用の指示具などを用いる場合には、画素データではなく、他の手段をもちいてもよい。例えば、指示具先端にスイッチなどを設け、その状態を、電波や光などを用いて送受信し、タッチダウンなどの判定を行ってもよい。
このような判定方法に基づいて、ステップS117で、指示具による入力がタッチダウン入力である場合(ステップS117でYES)、ステップS118に進み、タッチダウン入力であることを示すダウンフラグをセットする。一方、指示具による入力がタッチダウン入力でない場合(ステップS117でNO)、ステップS119に進み、ダウンフラグを解除する。
ステップS120で、ダウンフラグの状態と算出した座標値を外部端末へ出力する。そして、外部端末では、受信した座標値とダウンフラグの状態に基づいて、例えば、カーソルの移動、マウスボタン状態の変更を行う。
尚、ステップS120の処理が終了したら、ステップS110に戻り、以降、電源OFFまで、上記の処理を繰り返す。
以上説明したように、実施形態1によれば、再帰性反射部材3の反射を介在しない指示具からの直接反射光をセンサユニット1L及び1Rを受光するような場合でも、その直接反射光を考慮して、精度良く座標を算出することができる。
つまり、実施形態1では、指示具からの直接反射が発生していて、遮光範囲候補となる画素データ分布中の閾値を横切る立ち上がり点及び立ち下がり点が複数点検出される場合でも、最初に検出される立ち上がり点の次に検出される立ち下がり点(第1番目の立ち下がり点)f0と、更にその次に検出される立ち上がり点(第2番目の立ち上がり点)r1から得られる画素データ分布の中心点を、直接反射光の光量分布に対応する中心点(中心画素番号)として検出することで、指示具からの直接反射光の影響を考慮した精度の高い検出が可能になる。
<<実施形態2>>
上記実施形態1では、不特定の指示具からの直接反射光の影響を考慮するため、センサユニット1L及び1Rから得られる指示具による遮光範囲候補となる画素データ分布中の閾値を横切る複数の立ち上がり点と立ち下がり点を検出し、それらの内の、最初に検出される立ち上がり点の次に検出される立ち下がり点(第1番目の立ち下がり点)と、更にその次に検出される立ち上がり点(第2番目の立ち上がり点)から得られる画素データ分布の中心点を、直接反射光に対応する光量分布の中心点(中心画素番号)、つまり、指示具の入力点として、指示具とセンサユニット1Lあるいは1Rに対する角度を計算するように構成した。
しかしながら、指示具がセンサユニット1Lあるいは1Rの近距離位置で入力されている場合や、指示具の反射率が非常に高い場合には、センサユニット1Lあるいは1Rの受光許容範囲(ダイナミックレンジ)を超えた光の入力がある場合がある。
このような場合、センサユニット1Lあるいは1Rで検出される光量分布は、図23のようになる。この図23は、直接反射光によって、センサユニット内のラインCCD41が飽和してしまうことで、飽和後のラインCCD41は正しい光量分布を出力することができない状態を示している。ここで、VMは、センサユニット1Lあるいは1Rの受光許容範囲(ダイナミックレンジ)の最大値である。従って、このような状態が発生している場合には、図23のA及びB領域を特定することができない。
また、この図23に対し、(2)式を用いて画素データの変化の比を計算すると、図23の光量分布は、図24のようになる。
図24において、閾値Vthを超えるのは、遮光範囲の立ち上がり点r0と直接反射光の光量分布の立ち下がり点f0のみとなってしまい、実施形態1の図19の特徴点検出処理を適用すると、正しい特徴点を検出することができない。そのため、座標算出精度が低下してしまう。
そこで、実施形態2では、このような状況を解決するために、指示具からの直接反射光に対応する光量分布がラインCCD41のダイナミックレンジに収まるように、投光部30の赤外LED31の光量を通常の光量よりも低下させて駆動する。これによって、直接反射光が発生している場合でも、ラインCCD41のダイナミックレンジに収まる光量分布を獲得して、正しい特徴点の検出を実現することができる。
尚、赤外LED31の光量を低下させる条件としては、例えば、ラインCCD41の飽和レベルを示す閾値Vth’(図24)を設定し、画素データのレベルがこの閾値Vth’を下まわる場合に実行する。
また、赤外LED31の光量を低下させる低下方法は、その点灯時間を所定時間短くしたり、ラインCCD41のシャッタ開放時間(受光時間)を所定時間短くする制御を、演算制御回路83で段階的に実行することで実現する。
このような制御を実行した場合、図23の光量分布は、例えば、図25のようになる。
図25では、赤外LED31の光量を低下させた後の光量分布を実線H’で示している。尚、点線Hは、光量を低下させる前のラインCCD41が飽和した状態の光量分布(図23)である。
図25に示すように、赤外LED31の光量を低下させることによって、直接反射光に対応する光量分布である領域Bが正しく出力されることがわかる。
そして、この図25に対し、(2)式を用いて画素データの変化の比を計算すると、図25の光量分布は、図26のようになる。
図26に示すように、この場合は、遮光範囲の立ち上がり点r0及び立ち下がり点f1と、直接反射光に対応する光量分布の立ち下がり点f0及び立ち上がり点r1が正しく検出されることがわかる。
以下、実施形態2の特徴点検出処理について、図27を用いて説明する。
図27は本発明の実施形態2の特徴点検出処理を示すフローチャートである。
尚、実施形態2の図27のフローチャートは、実施形態1の図19のフローチャートの応用例であり、図19のフローチャートと同一の処理は、同一のステップ番号を付加して、その詳細は省略する。
特に、図27では、1番目の立ち上がりデータNrと1番目の立ち下がりデータNfを取得した後の処理が、図19とは異なる。
即ち、立ち上がり検出フラグR_flg=1で、かつ立ち下がり検出フラグF_flg=1である場合に、ステップS314で、画素データ(Data)が閾値Vth’以上であるか否かを判定する。
そして、画素データ(Data)が閾値Vth’未満である場合(ステップS314でNO)、ステップS317に進み、赤外LED31の光量を所定量低下させる制御を演算制御回路83で実行する。この場合、センサユニット1L(1R)を再駆動するために、ステップS202に戻り、センサユニット1L(1R)に係る各種初期値をリセットして、以降の処理を繰り返し行なう。
そして、赤外LED31の光量の低下によって、画素データのレベルが閾値Vth’以上となった時点で、遮光範囲の立ち上がり点r0及び立ち下がり点f1と、直接反射光に対応する光量分布の立ち下がり点f0及び立ち上がり点r1が正しく検出されることになるので、実施形態1の図19と同様の処理を実行することができる。
以上説明したように、実施形態2によれば、実施形態1で説明した効果に加えて、センサユニット内のラインCCD41が飽和状態となるような場合でも、赤外LED31の光量レベルを低下させた上でセンサユニットを再駆動し、ラインCCD41のダイナミックレンジ内で、直接反射光に対応する光量分布を取得できるように光量制御を行うことで、どのような直接反射光が発生しても、精度良く座標検出を行うことができる。
<<実施形態3>>
実施形態2では、直接反射光の光量が、ラインCCD41で飽和してしまうほど大きい場合には、赤外光LED31の光量を低下させた上で、センサユニット1L(1R)を再駆動して、ラインCCD41が飽和しない状態での光量分布を再度取得して、正しい特徴点の検出を実現できるようにした。
しかしながら、この場合、最終的な座標算出を行うまでには、センサユニット1L(1R)の2度以上の駆動が必要となるために、座標算出精度は向上するものの、その再駆動数に応じて座標出力速度が低下する。
そこで、実施形態3では、用途や目的に応じては、座標算出精度よりも座標出力速度が優先したい場合も考慮して、必要十分な座標算出精度を満足し、かつ座標出力速度を低下させることなく、座標算出を実現する構成について説明する。
まず、上述したように、センサユニット1L(1R)が飽和した場合の光量分布は、例えば、図23のようになる。そして、この光量分布に対し、(2)式を用いて画素データの変化の比を計算すると、図23の光量分布は、図28のようになる。
そして、実施形態2でも説明したように、図28では、ラインCCD41が飽和する前の、遮光範囲の立ち上がり点r0と直接反射光に対応する光量分布の立ち下がり点f0は検出することができるが、その後、光量分布は閾値Vthを超えることはない。
そこで、実施形態3では、画素データの変化の比の符号がマイナス(−)になった場合は、直接反射光に対応する光量分布の立ち下がり点f0を、その光量分布の中心として確定する。
尚、直接反射光に対応する光量分布の立ち下がり点f0を、その光量分布の中心として確定する判定基準としては、画素データの変化の比の符号で判定する以外に、新たな判定用閾値を設定して、その閾値に基づいても良い。また、指示具の形状やサイズが既知である場合には、確定した立ち下がり点f0に対して所定オフセットΔを加算した画素番号を、直接反射光に対応する画素データ分布の中心として確定しても良い。
以下、実施形態3の特徴点検出処理について、図29を用いて説明する。
図29は本発明の実施形態3の特徴点検出処理を示すフローチャートである。
尚、実施形態3の図29のフローチャートは、実施形態1の図19のフローチャートの応用例であり、図19のフローチャートと同一の処理は、同一のステップ番号を付加して、その詳細は省略する。
特に、図29では、1番目の立ち上がりデータNrと1番目の立ち下がりデータNfを取得した後の処理が、図19とは異なる。
まず、ステップS402で、カウンタCnt、立ち上がり検出フラグR_flg、検出フラグF_flgそれぞれの初期化に加えて、画素データの符号がマイナスであることを示すマイナスフラグN_flg(0:画素データの符号がマイナス、1:画素データの符号がプラス)を初期化する。
そして、ステップS203〜ステップS210の処理を経て、立ち上がり検出フラグR_flg=1で、かつ立ち下がり検出フラグF_flg=1である場合に、ステップS414で、画素データ(Data)の符号がマイナス、つまり、0未満であるか否かを判定する。
そして、画素データ(Data)の符号がマイナスである場合(ステップS414でYES)、ステップS417に進み、マイナスフラグN_flg=1に設定し、ステップS203に戻る。
このあと、画素データが閾値Vthを超えることがないので、このまま、CCD41の検出範囲の有効範囲の最後まで画素データを読み込んでも、立ち下がりデータNf及び立ち上がりデータNrの値は変わらない。
そこで、ステップS204で、カウンタCntの値が示す画素番号が、ラインCCD41の検出範囲の有効範囲外である場合(ステップS204でYES)、ステップS418で、マイナスフラグN_flg=1であるか否かを判定する。そして、マイナスフラグN_flg=1でない場合(ステップS418でNO)、ステップS216に進む。一方、マイナスフラグN_flg=1である場合(ステップS418でYES)、ステップS421に進み、直接反射光に対応する画素データ分布の中間点Npとして、立ち下がりデータNf(あるいはNf+Δ)を代入して、処理を終了する。
以上説明したように、実施形態3によれば、実施形態1で説明した効果に加えて、センサユニット内のラインCCD41が飽和状態となるような場合でも、座標出力速度を低下させずに、必要十分な精度を保持した角度情報を検出することが可能となる。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態1の座標入力装置の概略構成を示す図である。 本発明の実施形態1の再帰反射部材の動作を説明するための図である。 本発明の実施形態1のセンサユニットの投光部の構成例を示す図である。 本発明の実施形態1のセンサユニットの検出部の構成例を示す図である。 本発明の実施形態1のセンサユニットの構成例を示す図である。 本発明の実施形態1の再帰反射部材への入射角度に対する再帰反射特性を示す図である。 本発明の実施形態1の再帰反射部材の構成例を示す図である。 本発明の実施形態1の制御・演算ユニットの詳細構成を示すブロック図である。 本発明の実施形態1の制御信号のタイミングチャートである。 本発明の実施形態1のセンサユニットによって得られる光量分布の一例を示す図である。 本発明の実施形態1の入力がなされた場合にセンサユニットによって得られる光量分布の一例を示す図である。 本発明の実施形態1の入力例を説明するための図である。 本発明の実施形態1のセンサユニットによって得られる光量分布の光量変化を説明するための図である。 本発明の実施形態1のセンサユニットによって得られる光量分布における光量変化量と光量変化比を説明するための図である。 本発明の実施形態1の遮光範囲の検出例を示す図である。 本発明の実施形態1の指示具からの直接反射を説明するための図である。 本発明の実施形態1の指示具からの直接反射がある場合にセンサユニットによって得られる光量分布の一例を示す図である。 本発明の実施形態1の光量分布における複数の立ち上がり及び立ち下がりを検出する場合を説明するための図である。 本発明の実施形態1の特徴点検出処理を示すフローチャートである。 本発明の実施形態1の画素番号に対するTanθ値の関係を示す図である。 本発明の実施形態1の座標入力領域上に定義する座標とセンサユニット1L及び1Lとの位置関係を示す図である。 本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。 本発明の実施形態2の指示具からの直接反射がある場合にセンサユニットによって得られる光量分布の一例を示す図である。 本発明の実施形態2の指示具からの直接反射がある場合にセンサユニットによって得られる光量分布の光量変化を説明するための図である。 本発明の実施形態2の赤外LEDの光量を低下させた場合にセンサユニットによって得られる光量分布の一例を示す図である。 本発明の実施形態2の赤外LEDの光量を低下させた場合にセンサユニットによって得られる光量分布の光量変化を説明するための図である。 本発明の実施形態2の特徴点検出処理を示すフローチャートである。 本発明の実施形態3の指示具からの直接反射がある場合にセンサユニットによって得られる光量分布の光量変化を説明するための図である。 本発明の実施形態3の特徴点検出処理を示すフローチャートである。
符号の説明
1L、1R センサユニット
2 制御・演算ユニット
3 再帰性反射部材
4 座標入力領域

Claims (1)

  1. 座標入力領域上の指示位置の座標を算出する座標入力装置であって、
    前記座標入力領域に設けられた受光手段と、
    前記座標入力領域の周辺部に設けられ、入射光を反射する反射手段と、
    前記座標入力領域に光を照明する発光手段と、
    前記受光手段から得られる光量分布において、予め定められたレベルを横切る点を検出する検出手段と、
    前記受光手段から得られる光量分布において、前記座標入力領域上で位置が指示されていない時の光量から指示されている時の光量を減算した結果がマイナスになるか判断する判断手段と、
    前記座標入力領域上で位置が指示されていない時の光量から指示されている時の光量を減算した結果がマイナスになったことを前記判断手段が判断した場合、前記検出手段により検出された前記予め定められたレベルを横切る点に基づいて、前記座標入力領域上の指示位置の座標を算出する算出手段と
    を備えることを特徴とする座標入力装置。
JP2003286158A 2003-08-04 2003-08-04 座標入力装置 Expired - Fee Related JP4125200B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003286158A JP4125200B2 (ja) 2003-08-04 2003-08-04 座標入力装置
US10/901,148 US7283128B2 (en) 2003-08-04 2004-07-29 Coordinate input apparatus and control method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003286158A JP4125200B2 (ja) 2003-08-04 2003-08-04 座標入力装置

Publications (3)

Publication Number Publication Date
JP2005056140A JP2005056140A (ja) 2005-03-03
JP2005056140A5 JP2005056140A5 (ja) 2006-02-02
JP4125200B2 true JP4125200B2 (ja) 2008-07-30

Family

ID=34113937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003286158A Expired - Fee Related JP4125200B2 (ja) 2003-08-04 2003-08-04 座標入力装置

Country Status (2)

Country Link
US (1) US7283128B2 (ja)
JP (1) JP4125200B2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6803906B1 (en) 2000-07-05 2004-10-12 Smart Technologies, Inc. Passive touch system and method of detecting user input
US6954197B2 (en) 2002-11-15 2005-10-11 Smart Technologies Inc. Size/scale and orientation determination of a pointer in a camera-based touch system
US8456447B2 (en) 2003-02-14 2013-06-04 Next Holdings Limited Touch screen signal processing
US7629967B2 (en) 2003-02-14 2009-12-08 Next Holdings Limited Touch screen signal processing
US8508508B2 (en) 2003-02-14 2013-08-13 Next Holdings Limited Touch screen signal processing with single-point calibration
US7532206B2 (en) 2003-03-11 2009-05-12 Smart Technologies Ulc System and method for differentiating between pointers used to contact touch surface
US7411575B2 (en) 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7274356B2 (en) 2003-10-09 2007-09-25 Smart Technologies Inc. Apparatus for determining the location of a pointer within a region of interest
US7355593B2 (en) 2004-01-02 2008-04-08 Smart Technologies, Inc. Pointer tracking across multiple overlapping coordinate input sub-regions defining a generally contiguous input region
JP4429047B2 (ja) * 2004-03-11 2010-03-10 キヤノン株式会社 座標入力装置及びその制御方法、プログラム
JP4522113B2 (ja) * 2004-03-11 2010-08-11 キヤノン株式会社 座標入力装置
US7460110B2 (en) 2004-04-29 2008-12-02 Smart Technologies Ulc Dual mode touch system
US7538759B2 (en) 2004-05-07 2009-05-26 Next Holdings Limited Touch panel display system with illumination and detection provided from a single edge
US8120596B2 (en) 2004-05-21 2012-02-21 Smart Technologies Ulc Tiled touch system
JP4294668B2 (ja) * 2006-09-14 2009-07-15 株式会社日立製作所 点図ディスプレイ装置
US9442607B2 (en) 2006-12-04 2016-09-13 Smart Technologies Inc. Interactive input system and method
WO2008128096A2 (en) 2007-04-11 2008-10-23 Next Holdings, Inc. Touch screen system with hover and click input methods
JP5127337B2 (ja) * 2007-07-23 2013-01-23 キヤノン株式会社 座標入力装置及びその制御方法、コンピュータプログラム
US8094137B2 (en) 2007-07-23 2012-01-10 Smart Technologies Ulc System and method of detecting contact on a display
KR20100055516A (ko) 2007-08-30 2010-05-26 넥스트 홀딩스 인코포레이티드 개선된 조광을 가진 광학 터치 스크린
KR20100075460A (ko) 2007-08-30 2010-07-02 넥스트 홀딩스 인코포레이티드 저 프로파일 터치 패널 시스템
US8405636B2 (en) 2008-01-07 2013-03-26 Next Holdings Limited Optical position sensing system and optical position sensor assembly
US20090213093A1 (en) * 2008-01-07 2009-08-27 Next Holdings Limited Optical position sensor using retroreflection
US20090207144A1 (en) * 2008-01-07 2009-08-20 Next Holdings Limited Position Sensing System With Edge Positioning Enhancement
US20090278816A1 (en) * 2008-05-06 2009-11-12 Next Holdings Limited Systems and Methods For Resolving Multitouch Scenarios Using Software Filters
US8902193B2 (en) 2008-05-09 2014-12-02 Smart Technologies Ulc Interactive input system and bezel therefor
US20110205189A1 (en) * 2008-10-02 2011-08-25 John David Newton Stereo Optical Sensors for Resolving Multi-Touch in a Touch Detection System
US8339378B2 (en) 2008-11-05 2012-12-25 Smart Technologies Ulc Interactive input system with multi-angle reflector
KR100982331B1 (ko) * 2008-12-01 2010-09-15 삼성에스디아이 주식회사 플라즈마 디스플레이 장치
US7932899B2 (en) * 2009-09-01 2011-04-26 Next Holdings Limited Determining the location of touch points in a position detection system
US20110199387A1 (en) * 2009-11-24 2011-08-18 John David Newton Activating Features on an Imaging Device Based on Manipulations
WO2011066343A2 (en) * 2009-11-24 2011-06-03 Next Holdings Limited Methods and apparatus for gesture recognition mode control
EP2507682A2 (en) * 2009-12-04 2012-10-10 Next Holdings Limited Sensor methods and systems for position detection
TW201128486A (en) * 2010-02-01 2011-08-16 Acer Inc Optical touch control display apparatus and method thereof
US20110234542A1 (en) * 2010-03-26 2011-09-29 Paul Marson Methods and Systems Utilizing Multiple Wavelengths for Position Detection
CN103430276B (zh) * 2010-05-07 2017-03-29 派拉斯科Ip有限责任公司 隅角立方体辐射控制
KR101123511B1 (ko) * 2010-07-19 2012-03-12 엘지이노텍 주식회사 카메라 모듈 및 그를 구비한 광학 터치 스크린
WO2012170006A1 (en) * 2011-06-06 2012-12-13 Next Holdings Limited Simplified optical position sensing assembly
JP5738112B2 (ja) * 2011-07-25 2015-06-17 キヤノン株式会社 座標入力装置及びその制御方法、プログラム
US20130234990A1 (en) * 2012-03-06 2013-09-12 Smart Technologies Ulc Interactive input system and method
TWI479391B (zh) * 2012-03-22 2015-04-01 Wistron Corp 光學式觸控裝置及判斷觸控座標之方法
JP5947677B2 (ja) * 2012-08-31 2016-07-06 キヤノン株式会社 座標入力装置及びその制御方法、プログラム
JP2015158827A (ja) * 2014-02-25 2015-09-03 株式会社リコー 座標検出システム、情報処理装置、座標検出方法及びプログラム
CN105701741A (zh) * 2015-12-31 2016-06-22 贵州七十二弯信息科技有限公司 酒店安防系统
TWI574196B (zh) * 2016-01-21 2017-03-11 緯創資通股份有限公司 光學觸控裝置、觸控指示點位置決定方法以及光學觸控系統

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507557A (en) 1983-04-01 1985-03-26 Siemens Corporate Research & Support, Inc. Non-contact X,Y digitizer using two dynamic ram imagers
US6225986B1 (en) * 1997-01-06 2001-05-01 Canon Kabushiki Kaisha Coordinate input apparatus and its control method
JPH10240424A (ja) * 1997-02-21 1998-09-11 Alps Electric Co Ltd 座標入力装置
US6229529B1 (en) * 1997-07-11 2001-05-08 Ricoh Company, Ltd. Write point detecting circuit to detect multiple write points
JP2000105671A (ja) 1998-05-11 2000-04-11 Ricoh Co Ltd 座標入力/検出装置および電子黒板システム
JP4083941B2 (ja) 1999-09-03 2008-04-30 株式会社リコー 座標入力装置
JP4768143B2 (ja) * 2001-03-26 2011-09-07 株式会社リコー 情報入出力装置、情報入出力制御方法およびプログラム

Also Published As

Publication number Publication date
JP2005056140A (ja) 2005-03-03
US20050030287A1 (en) 2005-02-10
US7283128B2 (en) 2007-10-16

Similar Documents

Publication Publication Date Title
JP4125200B2 (ja) 座標入力装置
JP4405766B2 (ja) 座標入力装置、座標入力方法
JP4891179B2 (ja) 座標入力装置、座標入力方法
JP4442877B2 (ja) 座標入力装置およびその制御方法
JP4455392B2 (ja) 座標入力装置及びその制御方法、プログラム
JP4429083B2 (ja) 遮光型座標入力装置及びその座標入力方法
JP4185825B2 (ja) 座標入力装置及びその制御方法、情報処理装置、プログラム
JP5127337B2 (ja) 座標入力装置及びその制御方法、コンピュータプログラム
US20080291164A1 (en) Coordinate input apparatus, control method thereof, and program
JP4968915B2 (ja) 座標入力装置、座標検出方法、及びコンピュータプログラム
JP5049747B2 (ja) 座標入力装置及びその制御方法、プログラム
JP2006099273A (ja) 座標入力装置及びその方法
JP4125162B2 (ja) 座標入力装置
JP4423003B2 (ja) 座標入力装置及びその制御方法、プログラム
JP2005173684A (ja) 光学式座標入力装置
JP2004185283A (ja) 光学式座標入力装置
JP2005346230A (ja) 光学式座標入力装置
JP5865053B2 (ja) 座標入力装置、座標入力装置の制御方法、およびプログラム
JP2006018566A (ja) 光学式座標入力装置
JP2005071022A (ja) 座標入力装置、座標入力方法
JP2006059153A (ja) 光学式座標入力装置
JP2006228022A (ja) 座標入力装置
JP2007072589A (ja) 座標入力装置
JP2016139213A (ja) 座標入力装置及びその制御方法
JP5738112B2 (ja) 座標入力装置及びその制御方法、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080421

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080507

R150 Certificate of patent or registration of utility model

Ref document number: 4125200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees