JP4125162B2 - 座標入力装置 - Google Patents
座標入力装置 Download PDFInfo
- Publication number
- JP4125162B2 JP4125162B2 JP2003074255A JP2003074255A JP4125162B2 JP 4125162 B2 JP4125162 B2 JP 4125162B2 JP 2003074255 A JP2003074255 A JP 2003074255A JP 2003074255 A JP2003074255 A JP 2003074255A JP 4125162 B2 JP4125162 B2 JP 4125162B2
- Authority
- JP
- Japan
- Prior art keywords
- points
- center point
- calculating
- light
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、座標入力領域上の指示位置を算出する座標入力装置に関するものである。
【0002】
【従来の技術】
入力面に指示具や指によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置が存在する。
【0003】
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【0004】
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、例えば、特許文献1に見られるように、座標入力領域の外側に再帰性反射シートを設け、座標入力領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出し、その検出結果に基づいて、その遮蔽物の指示位置を決定するものが知られている。
【0005】
また、特許文献2や3等にあるように、再帰性反射部材を座標入力領域周辺に構成し、再帰反射光が遮光される部分の座標を検出する装置が開示されている。
【0006】
【特許文献1】
米国特許登録公報4507557
【0007】
【特許文献2】
特開2000−105671
【0008】
【特許文献3】
特開2001−142642
【0009】
【発明が解決しようとする課題】
これらの装置において、例えば、特許文献2では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献3では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
【0010】
また、特許文献1においては、受光部であるRAMイメージャーの各画素を読み出し、コンパレータで比較することで、遮光部分を検出し、一定幅以上の遮光部分がある場合に、その両端の画素の中心(1/2位置)を検出し、その検出結果に基づいて遮蔽物の座標を算出する方式が示されている。
【0011】
ここで、指示具(遮蔽物)としては、指以外のもの、例えば、指し棒やペン等の表面の反射率の高いものが使用される場合や、指であっても、その入力位置が受光部に近い場合や爪どにマニキュア等の高反射率のものが塗布している場合の入力では、照明部からの照射光がその指示具の表面で直接反射した反射光が受光部で検出される場合がある。このような場合、受光部で本来検出する再帰性反射部材からの反射光以外に、指示具からの反射光も検出されてしまい、誤検出の要因や座標算出精度の劣化の要因となっていた。
【0012】
本発明は上記の課題を解決するためになされたものであり、座標を精度良く検出することができる座標入力技術に関するものである。
【0013】
【課題を解決するための手段】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力領域上の指示位置を算出する座標入力装置であって、
前記座標入力領域の角部に設けられた受光手段と、
前記座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射手段と、
前記座標入力領域に光を照明する発光手段と、
前記受光手段から得られる光量分布において、予め定められたレベルを横切る点を検出する検出手段と、
前記検出手段により4つの点が検出された場合、検出された4つの点の情報に基づいて、前記4つの点の検出が2つの指示具による入力によるものか判定する判定手段と、
前記4つの点の内の両端の2点の中心点を算出する第1の中心点算出手段と、
前記4つの点の内の前記2つの指示具の一方に対応する2点の中心点、及び、前記2つの指示具の他方に対応する2点の中心点を算出する第2の中心点算出手段と、
前記第1及び第2の中心点算出手段により算出された中心点に基づいて、指示位置の座標を算出する座標算出手段と
を備え、
前記座標算出手段は、
前記4つの点の検出が2つの指示具による入力によるものでないと前記判定手段が判定した場合、前記第1の中心点算出手段により算出された前記両端の2点の中心点に基づいて、前記指示位置の座標を算出し、
前記4つの点の検出が2つの指示具による入力によるものであると前記判定手段が判定した場合、前記第2の中心点算出手段により算出された前記一方に対応する2点の中心点、及び、前記他方に対応する2点の中心点に基づいて、前記2つの指示具のそれぞれの指示位置の座標を算出する。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0015】
<<実施形態1>>
図1は本発明の実施形態1の座標入力装置の概略構成を示す図である。
【0016】
図1において、1L及び1Rは、投光部30及び検出部40(図5参照)を有するセンサユニットであり、両者は互いに所定距離離されて設置されている。センサユニット1L及び1Rは、制御・演算を行う制御・演算ユニット2に接続され、制御信号を制御・演算ユニット2から受信すると共に、検出した信号を制御・演算ユニット2に送信する。
【0017】
3は、図2に示すように、入射光を到来方向に反射する再帰反射面を有する再帰性反射部材であり、左右それぞれのセンサユニット1L及び1Rから略90°範囲に投光された光を、センサユニット1L及び1Rに向けて再帰反射する。反射された光は、センサユニット1L及び1Rによって1次元的に検出され、その光量分布が制御・演算ユニット2に送信される。
【0018】
4は座標入力領域であり、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面で構成されることで、インタラクティブな入力装置として、利用可能となっている。
【0019】
このような構成において、座標入力領域4に指等の指示具による入力指示がなされると、センサユニット1L及び1Rの投光部30から投光された光が遮られ、再帰性反射部材3による反射光が得られなくなるため、入力指示位置のみ反射光量が得られなくなる。
【0020】
制御・演算ユニット2は、センサユニット1L及び1Rが検出する光量変化から、指示具によって入力指示された部分の遮光範囲を検出し、その遮光範囲内での検出点を特定して、センサユニット1L及び1Rそれぞれに対する指示具の角度を算出する。そして、算出された角度及びセンサユニット間の距離等から、座標入力領域4上の指示具の指示位置を算出し、表示装置に接続されているパーソナルコンピュータ等の外部端末に、USB等のインタフェースを経由して座標値を出力する。
【0021】
このようにして、指示具によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
【0022】
<センサユニットの詳細説明>
まず、センサユニット1L及び1R内の投光部30の構成について、図3を用いて説明する。
【0023】
図3は本発明の実施形態1のセンサユニットの投光部の構成例を示す図である。
【0024】
図3(a)は投光部30を上(座標入力領域4の入力面に対し垂直方向)から見た場合を示している。31は赤外光を発する赤外LEDであり、赤外LED31から発光した光は投光レンズ32によって略90°範囲に光が投光される。
【0025】
図3(b)は投光部30を横(座標入力領域4の入力面に対し水平方向)から見た場合を示している。この方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に、再帰性反射部材3に対して光が投光されるように構成されている。
【0026】
次に、センサユニット1L及び1Rの検出部40の構成について、図4を用いて説明する。
【0027】
図4は本発明の実施形態1のセンサユニットの検出部の構成例を示す図である。
【0028】
図4では、センサユニット1L及び1Rの検出部40を座標入力領域4の入力面に対して垂直方向から見た場合を示している。
【0029】
検出部40は、複数の受光素子(画素)からなる1次元のラインCCD41及び集光光学系としての集光用レンズ42及び43、入射光の入射方向を制限する絞り44、可視光など余分な光の入射を防止する赤外フィルタ45から構成されている。
【0030】
投光部30からの光は、再帰性反射部材3によって反射され、赤外フィルタ45、絞り44を抜けて、集光用レンズ42及び43によって入力面の略90°範囲の光がラインCCD41の検出面にその入射角に依存した画素上に結像される。これにより、入射角の角度毎の光量分布が得られる。つまり、ラインCCD41を構成する各画素の画素番号が角度情報を表すことになる。
【0031】
次に、図3の投光部30及び図4の検出部40を有するセンサユニット1L及び1Rの構成について、図5を用いて説明する。
【0032】
図5は本発明の実施形態1のセンサユニットの構成例を示す図である。
【0033】
図5では、入力面と水平方向からの見たときの、図3(a)の投光部30と図4の検出部40を重ねて、センサユニット1L(1R)を構成した場合を示している。ここで、投光部30と検出部40の光軸間の距離は、再帰性反射部材3の角度特性から充分検出可能な範囲に設定されていればよい。
【0034】
<反射部材について>
再帰性反射部材3は、入射角度に対する反射特性を有してる。この反射特性としては、例えば、再帰性反射部材3がテープ状に平坦に構成された場合には、図6に示すように、再帰性反射部材3への入射光の入射角度が45度を超えるあたりから得られる反射光量が減少し、指示具がある場合にはその変化が充分に取れないことになる。
【0035】
反射光量は、光量分布(照明強度および距離)、再帰性反射部材3の反射率(入射角度、反射部材の幅)、センサユニット1L及び1R内の結像系照度(cosine4乗則)によって決まる。
【0036】
反射光量が不足する場合に、その不足を解決する方法としては、投光部30の照明強度を上げることが考えられる。しかしながら、反射光量分布が均一で無い場合で、高光量部分の光をセンサユニットが受光したときには、センサユニット内のラインCCD41でその部分が蝕和することがあり、照明強度を上げるには限界がある。裏返せば、再帰性反射部材3の反射光量分布をなるべく均一にすることで低光量部分への反射光量の増大も望むことができる。
【0037】
そこで、実施形態1では、再帰性反射部材3への入射光の入射角度方向に対する反射光量の均一化を計るために、図7に示すような複数の三角柱からなる再帰性反射部材を構成する。このようにすることで、入射角度に対する反射特性を改善することができる。
【0038】
尚、各三角柱の角度は、再帰性反射部材の反射特性から決定すればよく、また、そのピッチは、センサユニット内のラインCCD41の検出分解能以下に設定することが望ましい。
【0039】
<制御・演算ユニットの説明>
制御・演算ユニット2とセンサユニット1L及び1Rの間では、主に、検出部40内のラインCCD41用のCCD制御信号、CCD用クロック信号と出力信号及び発光部30の赤外LED31の駆動信号がやり取りされている。
【0040】
ここで、制御・演算ユニット2の詳細構成について、図8を用いて説明する。
【0041】
図8は本発明の実施形態1の制御・演算ユニットの詳細構成を示すブロック図である。
【0042】
CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)83から出力され、ラインCCD41のシャッタタイミングやデータの出力制御等が行われる。尚、この演算制御回路83は、メインクロック発生回路86からのクロック信号に従って動作する。また、CCD用のクロック信号は、クロック発生回路(CLK)87からセンサユニット1L及び1Rに送信されると共に、各センサユニット内部のラインCCD41との同期をとって各種制御を行うために、演算制御回路83にも入力されている。
【0043】
投光部30の赤外LED31を駆動するためのLED駆動信号は、演算制御回路83からLED駆動回路84L及び84Rを介して、対応するセンサユニット1L及び1Rの投光部30の赤外LED31に供給されている。
【0044】
センサユニット1L及び1Rそれぞれの検出部40のラインCCD41からの検出信号は、制御・演算ユニット2の対応するA/Dコンバータ81L及び81Rに入力され、演算制御回路2からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ82に記憶され、指示具の角度計算に用いられる。そして、この計算された角度から座標値が算出され、外部端末にシリアルインタフェース88(例えば、USB、RS232Cインタフェース等)を介して出力される。
【0045】
<光量分布検出の説明>
図9は本発明の実施形態1の制御信号のタイミングチャートである。
【0046】
図9において、91〜93はCCD制御信号であり、SH信号91の間隔で、ラインCCD41のシャッタ解放時間が決定される。ICGL信号92及びICGR信号93は、センサユニット1L及び1Rそれぞれのセンサユニットへのゲート信号であり、内部のラインCCD41の光電変換部の電荷を読出部へ転送する信号である。
【0047】
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に供給される。
【0048】
そして、センサユニット1L及び1Rの双方の投光部30の駆動が終了した後に、センサユニット1L及び1Rの双方の検出部(ラインCCD41)の検出信号が読み出される。
【0049】
ここで、センサユニット1L及び1Rの双方から読み出される検出信号は、座標入力領域4への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図10のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰性反射部材3の特性や投光部30の特性、また、経時変化(反射面の汚れなど)によって、光量分布は変化する。
【0050】
図10においては、レベルAが最大光量であり、レベルBが最低光量となっている。
【0051】
つまり、再帰性反射部材3からの反射光がない状態では、センサユニット1L及び1Rで得られる光量レベルがレベルB付近になり、反射光量が増えるほど、レベルAに光量レベルが遷移する。このようにして、センサユニット1L及び1Rから出力された検出信号は、逐次、対応するA/Dコンバータ81L及び81RでA/D変換され、演算制御回路83にデジタルデータとして取り込まれる。
【0052】
これに対し、座標入力領域4への指示具による入力がある場合には、センサユニット1L及び1Rからの出力として、図11のような光量分布が得られる。
【0053】
この光量分布のC部分では、指示具によって再帰性反射部材3からの反射光が遮られているため、その部分(遮光範囲)のみ反射光量が低下していることがわかる。
【0054】
そして、実施形態1では、指示具による入力がない場合の図10の光量分布と、指示具による入力がある場合の図11の光量分布の変化に基づいて、センサユニット1L及び1Rに対する指示具の角度を算出する。
【0055】
具体的には、図10の光量分布を初期状態として予めメモリ82に記憶しておき、センサユニット1L及び1Rそれぞれの検出信号のサンプル期間に、図11のような光量分布の変化があるか否かを、そのサンプル期間中の光量分布と初期状態の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点としてその入力角度を決定する演算を行う。
【0056】
<角度計算の説明>
センサユニット1L及び1Rに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
【0057】
上述したように、センサユニット1L及び1Rが検出する光量分布は、経時変化等の要因で一定ではないため、その初期状態の光量分布は、例えば、システムの起動時毎にメモリ82に記憶することが望ましい。これにより、例えば、再帰性反射部材3の再帰反射面がほこりなどで汚れていて完全に光を反射できないような場合を除いて、常に、座標入力装置の最新の初期状態の光量分布をメモリ82に管理することが可能になる。
【0058】
以下、センサユニット1L及び1Rの一方(例えば、センサユニット1L)による指示具の角度計算について説明するが、他方(センサユニット1R)でも同様の角度計算を行うことは言うまでもない。
【0059】
電源投入時、入力のない状態で、まず、センサユニット1L内の投光部30からの投光を停止している状態で、検出部40の出力である光量分布をA/D変換して、この値をBas_data[N]としてメモリ82に記憶する。
【0060】
尚、この値は、検出部(ラインCCD41)のバイアスのばらつき等を含んだデータでり、図10のレベルB付近のデータとなる。ここで、NはラインCCD41を構成する画素の画素番号であり、有効な入力範囲(有効範囲)に対応する画素番号が用いられる。
【0061】
次に、投光部30からの投光を行っている状態で、検出部40の出力である光量分布をA/D変換して、この値をRef_data[N]としてメモリ82に記憶する。
【0062】
尚、この値は、例えば、図10の実線で示されるデータとなる。
【0063】
そして、このメモリ82に記憶されたBas_data[N]とRef_data[N]とを用いて、まずは、指示具による入力の有無、かつ遮光範囲の有無の判定を行う。
【0064】
ここで、センサユニット1L(ラインCCD41)の出力のサンプル期間内のN番目の画素の画素データをNorm_data[N]とする。
【0065】
まず、遮光範囲を特定するために、画素データの変化の絶対量によって、遮光範囲の有無を判定する。これは、ノイズ等による誤判定を防止し、所定量の確実な変化を検出するためである。
【0066】
具体的には、画素データの変化の絶対量を、ラインCCD41の各々の画素において以下の計算を行い、予め決定してある閾値Vthaと比較する。
【0067】
Norm_data_a[N] = Norm_data[N] − Ref_data[N] (1)
ここで、Norm_data_a[N]は、ラインCCD41の各画素における絶対変化量である。
【0068】
この処理は、ラインCCD41の各画素の絶対変化量Norm_data_a[N]を算出し、それを閾値Vthaと比較するだけなので、その処理時間をさほど必要とせず、入力の有無の判定を高速に行うことが可能である。そして、特に、閾値Vthaを初めて超えた画素が所定数を超えて検出された場合に、指示具の入力があると判定する。
【0069】
次に、より高精度に指示具による入力を検出するために、画素データの変化の比を計算して入力点の決定を行う方法について、図12を用いて説明する。
【0070】
図12において、121は再帰性反射部材3の再帰反射面とする。ここで、A領域が汚れなどにより、その反射率が低下していたとすると、このときのRef_data[N]の画素データ分布(光量分布)は、図13の13−1のように、A領域に対応する部分の反射光量が少なくなる。この状態で、図12のように、指示具1200が挿入され、ほぼ再帰性反射面121の上半分を覆ったとすると、反射光量は略半分となるため、図13の13−2の太線で示した分布Norm_data[N]が観測されることになる。
【0071】
この状態に対して、(1)式を適用すると、その画素データ分布は、図14の14−1のようになる。ここで、縦軸は初期状態との差分電圧になっている。
【0072】
この画素データに対して、閾値Vthaを適用すると、本来の入力範囲をはずれてしまうような場合がある。もちろん、閾値Vthaの値を下げればある程度検出可能であるが、ノイズなどの影響を受ける可能性がある。
【0073】
そこで、画素データの変化の比を計算することとすると、A領域及びB領域とも反射光量は最初の半分であるので、次式で比を計算することができる。
【0074】
Norm_data_r[N] = Norm_data_a[N] / (Bas_data[N] - Ref_data[N]) (2)
この計算結果を示すと、図14の14−2のように、画素データの変化が比であらわされるため、再帰性反射部材3の反射率が異なる場合でも、等しく扱うことが可能になり、高精度に検出が可能になる。
【0075】
この画素データに対して、閾値Vthrを適用して、遮光範囲に対応する画素データ分布の立ち上がり部と立ち下がり部に対応する画素番号を取得し、この両者の中央を指示具による入力に対応する画素とすることで、より正確な指示具の入力位置を決定することができる。
【0076】
尚、図14の14−2は、説明のために模式的に描いたもので、実際にはこのような立ち上がりにはなっておらず、画素毎に異なるデータレベルを示している。
【0077】
以下、式(2)を画素データに適用した場合の検出結果の詳細について、図15を用いて説明する。
【0078】
図15は本発明の実施形態1の検出結果の詳細を示す図である。
【0079】
図15において、指示具による遮光範囲を検出するための閾値Vthrに対して、その閾値Vthrを横切る画素データ分布の立ち上がり部分がNr番目の画素、立ち下がり部分がNf番目の画素である場合、両者の画素の中心画素Npは、
Np = Nr + (Nf-Nr)/2 (3)
と計算することが可能である。但し、この計算では、画素間隔が最小の分解能になってしまう。
【0080】
そこで、より細かく検出するために、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用いて、閾値Vthrを横切る仮想の画素番号を計算する。
【0081】
ここで、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)
で決定される。
【0082】
このように、閾値Vthrを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、閾値Vthrを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
【0083】
<直接反射時の検出>
上述の説明では、指示具からの直接反射光の無い状態での、センサユニットに対する指示具の角度検出について説明してきたが、指示具の表面反射率が高い場合などは、図16に示すように、再帰性反射部材3の再帰反射面ではなく、指示具1200の表面で投光部30からの直接反射が発生し、この反射光がセンサユニット1Lあるいは1Rにて検出されてしまう場合がある。
【0084】
例えば、図17において、本来の遮光範囲は、A領域であるが、指示具の表面の反射光によって、B領域のような部分ができ、あたかも2つの範囲で入力が行われているように検出されてしまう。
【0085】
このような場合に、上記と同様に、(2)式を用いて画素データの変化の比を計算すると、図17の光量分布は、図18のようになる。
【0086】
図18において、閾値Vthを横切る点を検出して行くと、画素データ分布の立ち上がりとしてr0、r1が、立ち下がりとしてf0、f1が検出可能になる。
【0087】
このとき、f0,r1の区間は指示具による直接反射によってもたらされたものであるので、本来の入力による遮光範囲は、r0,f1の範囲である。故に、r0,f1の中間点を、指示具の入力位置とすることが望ましい。
【0088】
以下、この指示具からの直接反射光がある場合の指示具の入力位置に対応する遮光範囲を検出するために、画素データ分布中の特徴点(閾値を越える画素データ分布中の立ち上がり点及び立ち下がり点)を検出する特徴点検出処理について、図19を用いて説明する。
【0089】
図19は本発明の実施形態1の特徴点検出処理を示すフローチャートである。
【0090】
まず、この特徴点検出処理を、後述する図22の座標算出処理のサブルーチンとして呼ぶ出す。
【0091】
ステップS202で、センサユニット1L(1R)の検出部40のラインCCD41を構成する画素の画素番号を示すカウンタCnt、閾値Vthを越える画素データ分布の立ち上がり点の検出状態を示す立ち上がり検出フラグR_flg(0:立ち上がり未検出状態、1:立ち上がり検出状態)、閾値Vthを越える画素データ分布の立ち下がり点の検出状態を示す立ち下がり検出フラグF_flg(0:立ち下がり未検出状態、1:立ち下がり検出状態)をそれぞれ初期化する。
【0092】
ステップS203で、カウンタCntをインクリメントする。
【0093】
ステップS204で、カウンタCntの値が示す画素番号が、ラインCCD41の検出範囲の有効範囲外であるか否かを判定する。有効範囲外である場合(ステップS204でYES)、ステップS216へ進む。一方、有効範囲内である場合(ステップS204でNO)、ステップS205に進み、カウンタCntの値が示す画素番号の画素データ(Data)を読み込む。
【0094】
次に、立ち上がり検出フラグR_flg=0であるか否かを判定する。立ち上がり検出フラグR_flg=0である場合(ステップS206でYES)、ステップS207に進み、画素データ(Data)が閾値Vth以上であるか否かを判定する。
【0095】
閾値Vth未満である場合(ステップS207でNO)、ステップS203に戻り、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号が有効範囲内であれば、ステップS205で、処理対象として、カウンタCntの値が示す次の画素番号の画素データ(Data)を読み込み、以降、同様の処理を実行する。一方、閾値Vth以上である場合(ステップS207でYES)、ステップS208に進む。
【0096】
ステップS208で、現在のカウンタCntの値が示す画素番号の画素データ(Data)を遮光範囲に対応する画素データ分布の立ち上がりデータNrとしてメモリ82に記憶する。次に、ステップS209で、立ち上がり検出フラグR_flg=1にセットする。
【0097】
その後、ステップS203で、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号の画素データ(Data)の読み込みを経て、ステップS206の判定を行う場合には、立ち上がり検出フラグR_flg=1となっているので、ステップS206からステップS210へ進む。
【0098】
ステップ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にセットする。
【0099】
その後、ステップS203で、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号の画素データ(Data)の読み込みを経て、ステップS210の判定を行う場合には、立ち下がり検出フラグF_flg=1となっているので、ステップS210からステップS214へ進む。
【0100】
ステップS214で、画素データ(Data)が閾値Vth以上であるか否かを判定する。直接反射が無い場合には、このあと、画素データ(Data)が閾値Vthを超えることがないので、このまま、ラインCCD41の有効範囲の最後まで、画素データ(Data)を読み込んでも立ち下がりデータNfの値は変わらないが、直接反射を検出している場合には、再び、画素データ(Data)が閾値Vthを超えることになる。
【0101】
そこで、ステップS214で、画素データ(Data)が閾値Vth以上である場合(ステップS214でYES)、ステップS215に進み、立ち下がり検出フラグ=0に設定して、再度、画素データ分布の立ち下がりが検出されるまで、ステップS211〜ステップS213の判定ループを繰り返し、最終的な、画素データ分布の立ち下がりデータの検出を行う。
【0102】
有効範囲内の画素データ(Data)に対する処理が完了したら、立ち上がり検出フラグR_flgと立ち下がり検出フラグL_flgをチェックする。
【0103】
つまり、ステップS216で、立ち上がり検出フラグR_flg=1で、かつ立ち下がり検出フラグF_flg=1であるか否かを判定する。ステップS216の判定における条件を満足する場合(ステップS216でYES)、ステップS217へ進み、メモリ82に記憶されている立ち上がりデータNrと立ち下がりデータNfから、遮光範囲に対応する画素データ分布の中間点Np(=(Nr+Nf)/2:中心画素番号)を計算して、リターンする。
【0104】
一方、ステップS216の判定における条件を満足しない場合(ステップS216でNO)、指示具による入力がないとして、その旨を示すフラグ等をセットして、リターンする。
【0105】
図19では、遮光範囲に対応する画素データ分布の立ち下がりと立ち上がりの検出を、ラインCCD41の実際の画素の画素番号を用いて実行しているが、より精度を高めるために、上述の(4)、(5)、(6)式を用いた仮想的な画素番号を用いることも可能である。
【0106】
このように、指示具からの直接反射が発生していて、遮光範囲候補となる画素データ分布中の閾値を横切る立ち上がり点及び立ち下がり点が複数点検出される場合でも、最初に検出される立ち上がり点と最後に検出される立ち下がり点から得られる画素データ分布の中心点を、遮光範囲の中心点(中心画素番号)として検出することで、指示具からの直接反射の影響を考慮した精度の高い検出が可能になる。
【0107】
次に、図19の処理によって得られた遮光範囲の中心点を示す中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。
【0108】
後述する実際の座標算出処理では、角度そのものよりもその角度における正接(tangent)の値を求めるほうが都合がよい。
【0109】
ここで、画素番号からtanθへの変換には、テーブル参照や変換式を用いる。特に、検出部40内の光学系の収差がない場合は、一次変換などで可能であるが、収差などがある場合は高次の多項式を用いることで、収差の誤差を取り除くことができる。
【0110】
ここで、画素番号とtanθとの関係について、図20を用いて説明する。
【0111】
図20は本発明の実施形態1の画素番号に対するtanθ値の関係を示す図である。
【0112】
この図20に基づいて、画素番号からtanθを求めるための近似式を定義し、その近似式(変換式)を用いて画素番号からtanθへの変換を行うことが可能となる。
【0113】
ここで、変換式はより高次の多項式を用いると精度を確保できるが、この多項式の次数などは、座標入力装置の計算能力および精度スペック等を鑑みて決定すればよい。
【0114】
例えば、5次多項式を用いる場合には、係数が6個必要になるので、出荷時などに、この係数データをメモリ82に記憶しておけばよい。
【0115】
ここで、5次多項式の係数をL5,L4,L3,L2,L1,L0とすると、tanθは
tanθ = (L5 *Npr + L4) *Npr + L3) *Npr + L2) *Npr + L1) *Npr + L0(7)
で示すことができる。
【0116】
これをセンサユニット1L及び1Rそれぞれの検出部40のラインCCD41で検出する画素番号に対して行えば、それぞれから対応する角度データ(tanθ)を決定できる。もちろん、上記例では、画素番号から直接tanθを求めるように構成しているが、画素番号から角度そのものを求め、その後、tanθを求めるような構成であっても良い。
【0117】
<座標計算方法の説明>
次に、画素番号から変換された角度データ(tanθ)から、指示具の位置座標を算出する。
【0118】
ここで、座標入力領域4上に定義する座標とセンサユニット1L及び1Lとの位置関係について、図21を用いて説明する。
【0119】
図21は本発明の実施形態1の座標入力領域上に定義する座標とセンサユニット1L及び1Lとの位置関係を示す図である。
【0120】
図21では、座標入力領域4の座標入力範囲の下辺左右に、それぞれのセンサユニット1L及び1Rが取り付けられており、その間の距離はDsで示されている。
【0121】
座標入力領域4の中央が原点位置であり、P0はセンサユニット1L及び1Rそれぞれのセンサユニットの角度0の交点である。
【0122】
それぞれの角度をθL、θRとして、それぞれtanθL、tanθRを上記(7)式を用いて算出する。
【0123】
このとき点P(x,y)座標は
で計算される。
【0124】
以上の計算に基づく座標入力装置の座標算出処理について、図22を用いて説明する。
【0125】
図22は本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
【0126】
まず、座標入力装置の電源が投入されると、ステップS102で、制御・演算ユニット2のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。
【0127】
ステップS103で、ラインCCD41の初期読込動作の初期読込回数を設定する。
【0128】
尚、この初期読込動作は、座標入力装置の起動時におけるラインCCD41の不要電荷除去を行うのための動作である。ラインCCD41では、動作させていないときに不要な電荷を蓄積している場合があり、その電荷が蓄積されている状態で座標入力動作を実行すると、検出不能になったり、誤検出の原因となる。そこで、これを避けるために、ステップS103では、投光部30による投光を停止している状態で、所定回数の読込動作を実行し、これにより、不要電荷の除去を行う。
【0129】
ステップS104で、ラインCCD41の読込動作を実行する。ステップS105で、所定回数以上の読込を実行したか否かを判定する。所定回数以上の読込を実行していない場合(ステップS105でNO)、ステップS104に戻る。一方、所定回数以上の読込を実行した場合(ステップS105でYES)、ステップS106に進む。
【0130】
ステップS106で、第1リファレンスデータとして、投光部30による投光を停止している状態でのラインCCD41の画素データ(Bas_data[N])を取り込む。ステップS107で、その第1リファレンスデータをメモリ82に記憶する。
【0131】
次に、ステップS108で、第2リファレンスデータとして、投光部30からの投光を行っている状態でのラインCCD41の画素データ(Ref_data[N])を取り込む。ステップS109で、その第2リファレンスデータをメモリ82に記憶する。
【0132】
ここまでの処理が、電源投入時の初期動作になり、以降の処理から指示具による入力における動作になる。
【0133】
ステップS110で、座標入力サンプリング状態で、ラインCCD41の通常読込動作を実行して、画素データ(Norm_data[N])を取り込む。ステップS111で、第2リファレンスデータ(Ref_data[N])と画素データ画素データ(Norm_data[N])の差分値を計算する。ステップS112で、その差分値に基づいて、指示具による入力の有無を判定する。入力がない場合(ステップS112でNO)、ステップS110に戻る。一方、入力がある場合(ステップS112でYES)、ステップS113に進む。
【0134】
尚、このときの繰り返し周期を10[msec]程度に設定すれば、100回/秒のサンプリングになる。
【0135】
ステップS113で、式(2)により、画素データの変化の比を計算する。ステップS114で、上述の図19の特徴点検出処理を実行し、遮光範囲の中心となる中心画素番号を決定する。ステップS115で、決定された中心画素番号と(7)式よりTanθを計算する。
【0136】
ステップS116で、センサユニット1L及び1Rに対するTanθ値から、指示具の入力座標P(x,y)を(8)、(9)式を用いて算出する。
【0137】
次に、ステップS117で、指示具による入力がタッチダウン入力であるか否かを判定する。
【0138】
これは、例えば、指示具による入力機能として、マウスのボタンを押下せずにカーソルを移動させる状態に相当する近接入力状態と、マウスの左ボタンを押下した状態に相当するタッチダウン状態を設定している場合に、その指示具による入力状態がどちらの状態であるかを判定する。この2種類の入力状態は、例えば、ステップS113で算出した画素データの変化の比の最大値が、所定値(例えば、0.5)以上である場合にはタッチダウン状態とし、所定値未満である場合には近接入力状態と判定する。あるいは、専用の指示具などを用いる場合には、画素データではなく、他の手段をもちいてもよい。例えば、指示具先端にスイッチなどを設け、その状態を、電波や光などを用いて送受信し、タッチダウンなどの判定を行ってもよい。
【0139】
このような判定方法に基づいて、ステップS117で、指示具による入力がタッチダウン入力である場合(ステップS117でYES)、ステップS118に進み、タッチダウン入力であることを示すダウンフラグをセットする。一方、指示具による入力がタッチダウン入力でない場合(ステップS117でNO)、ステップS119に進み、ダウンフラグを解除する。
【0140】
ステップS120で、ダウンフラグの状態と算出した座標値を外部端末へ出力する。そして、外部端末では、受信した座標値とダウンフラグの状態に基づいて、例えば、カーソルの移動、マウスボタン状態の変更を行う。
【0141】
尚、ステップS120の処理が終了したら、ステップS110に戻り、以降、電源OFFまで、上記の処理を繰り返す。
【0142】
以上説明したように、実施形態1によれば、再帰性反射部材3の反射を介在しない指示具からの直接反射光をセンサユニット1L及び1Rを受光するような場合でも、その直接反射光の影響を受けずに精度良く座標を算出することができる。
【0143】
つまり、実施形態1では、センサユニット1L及び1Rから得られる、指示具による遮光範囲候補となる画素データ分布中の閾値を横切る複数の立ち上がり点および立ち下がり点を検出した場合には、その画素データ分布で最初に検出される立ち上がり点と最後に検出される立ち下がり点から得られる画素データ分布の中心点を、遮光範囲の中心点(中心画素番号)として検出することで、指示具からの直接反射の影響を考慮した精度の高い検出が可能になる。
【0144】
<<実施形態2>>
実施形態1では、不特定の指示具からの直接反射光の影響を排除するため、センサユニット1L及び1Rから得られる指示具による遮光範囲候補となる画素データ分布中の閾値を横切る複数の立ち上がり点と立ち下がり点を検出し、それらの内の、センサユニット1Lあるいは1Rに対する入射光の最小角度に相当する最初の立ち上がり点と入射光の最大角度に相当する最後の立ち下がり点の中間点を、指示具の入力点として、指示具とセンサユニット1Lあるいは1Rに対する角度を計算するように構成した。
【0145】
この構成は見方を代えれば、画素データ分布から複数の立ち上がり点と立ち下がり点を検出できることを意味している。そこで、実施形態2では、このことを利用して、画素データ分布中に意図的な立ち上がり点及び立ち下がり点を生成させ、その有無に基づいて、単なる指示具の入力位置の位置情報を検出する以外に、その意図的な立ち上がり点及び立ち下がり点を生成することによって、位置情報以外の情報入力を実現する構成について説明する。
【0146】
これを実現する場合には、実施形態2では、例えば、図23のような指示具を用いる。
【0147】
図23は本発明の実施形態2の指示具の構成例を示す図である。
【0148】
図23において、231は指示具筐体であり、センサユニット1L及び1Rからの入射光の直接反射を抑止する表面処理あるいは材質で構成されている。232は赤外LEDであり、指示具231のペンスイッチ233の押下によって点灯するように構成されている。赤外LED232から発光される光は、円錐形の反射部材234によって、座標入力領域4に対して略平行な方向に放射される構成になっている。
【0149】
尚、図23では、赤外LED等を駆動するためのドライブや電源等は図示していない。
【0150】
このような指示具231を用いて入力を行うと、通常は、図24の実線241のように、センサユニット1L及び1Rから得られる光量分布では、閾値Vthを横切る立ち上がり点及び立ち下がり点ともに一つずつ検出される。
【0151】
この状態で、指示具231のペンスイッチ233を押下すると、赤外LED232から発光される光によって、図中点線で示す波形242がセンサユニット1L及び1Rで検出されることになる。そして、この波形242に対して、閾値Vthを横切る立ち上がり点及び立ち下がり点の検出を行うと、複数の立ち上がり点及び立ち下がり点が検出されることになる。
【0152】
また、この波形242は、この赤外LED232から発光する光の発光量によって変化する。そこで、実施形態2では、この発光量と、それに対応する波形242を予め対応付けておくことで、ペンスイッチ233の押下の有無を検出したり、その押下に対応付けられたスイッチ情報を検出することが可能となる。また、ペンスイッチ233の押下時間に応じて発光量を制御し、制御される発光量に対して様々なスイッチ情報を割り当てておくことも可能である。
【0153】
以下、図23の指示具231による入力を行う場合に、センサユニット1L及び1Rから得られる画素データ分布中の特徴点を検出する特徴点検出処理について、図25を用いて説明する。
【0154】
図25は本発明の実施形態2の特徴点検出処理を示すフローチャートである。
【0155】
まず、この特徴点検出処理を、実施形態1の図22の座標算出処理のサブルーチンとして呼び出す。
【0156】
ステップS302で、センサユニット1L(1R)の検出部40のラインCCD41を構成する画素の画素番号を示すカウンタCnt、スイッチ情報の有無を示すスイッチフラグSW(0:スイッチ情報検出状態、1:スイッチ情報未検出状態)をそれぞれCnt=0、SW=1に初期化する。
【0157】
ステップS303で、カウンタCntをインクリメントする。
【0158】
ステップS304で、カウンタCntの値が示す画素番号が、ラインCCD41の検出範囲の有効範囲外であるか否かを判定する。有効範囲外である場合(ステップS304でYES)、ステップS323へ進む。一方、有効範囲内である場合(ステップS304でNO)、ステップS305に進み、カウンタCntの値が示す画素番号の画素データ(Data)を読み込む。
【0159】
ステップS306で、画素データ(Data)が閾値Vth以上であるか否かを判定する。閾値Vth未満である場合(ステップS306でNO)、ステップS303に戻り、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号が有効範囲内であれば、ステップS305で、処理対象として、カウンタCntの値が示す次の画素番号の画素データ(Data)を読み込み、以降、同様の処理を実行する。一方、閾値Vth以上である場合(ステップS306でYES)、ステップS307に進む。
【0160】
ステップS307で、現在のカウンタCntの値が示す画素番号の画素データ(Data)を画素データ分布中の閾値Vthを横切る最初の立ち上がりデータr0としてメモリ82に記憶する。
【0161】
次に、ステップS308で、カウンタCntをインクリメントする。ステップS309で、カウンタCntの値が示す画素番号が、ラインCCD41の検出範囲の有効範囲外であるか否かを判定する。有効範囲外である場合(ステップS309でYES)、ステップS323へ進む。一方、有効範囲内である場合(ステップS309でNO)、ステップS310に進み、カウンタCntの値が示す画素番号の画素データ(Data)を読み込む。
【0162】
ステップS311で、画素データ(Data)が閾値Vth未満であるか否かを判定する。閾値Vth以上である場合(ステップS311でNO)、ステップS308に戻り、カウンタCntをインクリメントして、そのカウンタCntの値が示す画素番号が有効範囲内であれば、ステップS310で、処理対象として、カウンタCntの値が示す次の画素番号の画素データ(Data)を読み込み、以降、同様の処理を実行する。一方、閾値Vth未満である場合(ステップS311でYES)、ステップS312に進む。
【0163】
ステップS312で、現在のカウンタCntの値が示す画素番号の画素データ(Data)を画素データ分布中の閾値Vthを下がる最初の立ち下がりデータf0としてメモリ82に記憶する。
【0164】
以降、同様の処理を、ステップS313〜ステップS322で実行することで、2つ目の立ち上がりデータr1を検出してメモリ82に記憶し(ステップS317)、2つ目の立ち下がりデータf1を検出しメモリ82に記憶する(ステップS322)。
【0165】
尚、2つ目の立ち上がりデータr1や2つ目の立ち下がりデータf1を検出する前に、カウンタCntの値が示す画素番号が有効範囲外になってしまった場合には、それらの検出を行わずにステップS323にジャンプする。
【0166】
そして、有効範囲内の画素データ(Data)に対する処理が完了したら、立ち上がりデータ及び立ち下がりデータの有無をチェックする。
【0167】
つまり、ステップS323で、立ち上がりデータr0と立ち下がりデータf1の両データの有無を判定する。立ち上がりデータr0と立ち下がりデータf1の両データがある場合(ステップS323でYES)、画素データ分布中の閾値Vthを横切る立ち上がり点と立ち下がり点とも複数回検出されていることになるので、スイッチ233が押下されている状態の指示具231による入力と判定して、メモリ82に記憶されている立ち上がりデータr0と立ち下がりデータf1の中間点Np(=(r0+f1)/2)を計算するとともに、SW=0にセットする。
【0168】
一方、立ち上がりデータr0と立ち下がりデータf1の両データがない場合(ステップS323でNO)、ステップS325に進む。
【0169】
ステップS325で、立ち上がりデータr0と立ち下がりデータf0の両データの有無を判定する。立ち上がりデータr0と立ち下がりデータf0の両データがある場合(ステップS325でYES)、スイッチ233が押下されない状態の指示具231による入力と判定して、メモリ82に記憶されている立ち上がりデータr0と立ち下がりデータf0の中間点Np(=(r0+f0)/2)を計算するとともに、SW=1にセットする。
【0170】
一方、立ち上がりデータr0と立ち下がりデータf0の両データがない場合(ステップS325でNO)、指示具231による入力がないと判定して、リターンする。
【0171】
以上説明したように、実施形態2によれば、実施形態1で説明した効果に加えて、センサユニット1L及び1Rで得られる画素データ分布中に意図的な立ち上がり点及び立ち下がり点を生成するような指示具を構成することで、単なる指示具の入力位置の位置情報を検出する以外に、位置情報以外の情報入力を実現することができる。
【0172】
尚、実施形態2では、閾値Vthを用いて画素データ分布中でその閾値Vthを横切る立ち上がり点及び立ち下がり点を検出して、それらの立ち上がり点及び立ち下がり点が複数存在するか否かでスイッチ情報を検出するように構成していたが、指示具からの直接反射光を考慮する場合には、位置検出のための閾値だけでなく、ペン発光を検出するための閾値をもってレベル変化を検出することで、立ち上がり点および立下り点を特定するように構成しても、同様の効果を得ることが可能である。
【0173】
また、実施形態2の構成では、例えば、スイッチを押下していない状態でも2つの指示具231を用いて入力がなされると、図24のような検出結果が得られてしまう場合がある。この場合、図25の処理を実行すると、一方の指示具の入力を他方の指示具のスイッチ情報として誤検出する可能性がある。そこで、2つ以上の指示具からの入力を想定する場合には、検出される立ち下がりデータf0と立ち上がりデータr1の差が所定値以上の場合には、2つの指示具231による入力であると判定して、対応する立ち上がりデータ及び立ち下がりデータを用いて、各指示具の入力位置を特定するように構成しても良い。
【0174】
上記実施形態1及び2に係る実施態様を列挙すると、次の通りである。すなわち、座標入力装置及びその制御方法、プログラムは、次のようになる。
【0175】
<実施態様1> 座標入力領域上の指示位置を算出する座標入力装置であって、
前記座標入力領域の角部に設けられた受光手段と、
前記座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射手段と、
前記座標入力領域に光を照明する発光手段と、
前記受光手段から得られる光量分布において、所定レベルを横切る点に対応する角度情報を算出する角度算出手段と、
前記角度算出手段で算出される複数の角度情報それぞれが示す角度の内、最小角度と最大角度間の中心となる中心角度に基づいて、指示位置の座標を算出する算出手段と
を備えることを特徴とする座標入力装置。
【0176】
<実施態様2> 前記受光手段は、複数の受光手段から構成され、
前記角度算出手段は、前記複数の受光手段それぞれが出力する光量分布毎に、所定レベルを横切る点に対応する角度情報を算出し、
前記算出手段は、前記複数の受光手段それぞれが出力する光量分布毎に前記角度算出手段で算出される複数の角度情報それぞれが示す角度の内、最小角度と最大角度間の中心となる中心角度に基づいて、指示位置の座標を算出する
ことを特徴とする実施態様1に記載の座標入力装置。
【0177】
<実施態様3> 前記光量分布は、初期状態で前記受光手段から得られる光量分布と座標入力サンプリング状態で前記受光手段から得られる光量分布との変化の比で示される光量分布である
ことを特徴とする実施態様1に記載の座標入力装置。
【0178】
<実施態様4> 前記角度算出手段は、前記受光手段から得られる光量分布において、前記所定レベルを横切る点として、該所定レベルから立ち上がる立ち上がり点と該所定レベルへ立ち下がる立ち下がり点を検出する検出手段と、
前記検出手段による検出結果に基づいて、スイッチ情報を出力する出力手段と
を備えることを特徴とする実施態様1に記載の座標入力装置。
【0179】
<実施態様5> 前記受光手段は、それぞれに素子番号が付与されている複数の受光素子から構成されるセンサであり、
前記角度算出手段は、前記受光手段から得られる光量分布において、前記所定レベルを横切る点として、該所定レベルから立ち上がる立ち上がり点と該所定レベルへ立ち下がる立ち下がり点を検出する検出手段と、
前記検出手段で検出した立ち上がり点と立ち下がり点それぞれに対応する素子番号を取得する取得手段とを備え、
前記取得手段で取得した素子番号に対応する角度情報を算出する
ことを特徴とする実施態様1に記載の座標入力装置。
【0180】
<実施態様6> 前記受光手段は、それぞれに素子番号が付与されている複数の受光素子から構成されるセンサであり、
前記角度算出手段は、前記受光手段から得られる光量分布において、前記所定レベルを横切る点として、該所定レベルから立ち上がる立ち上がり点と該所定レベルへ立ち下がる立ち下がり点を検出する検出手段と、
前記検出手段で検出した立ち上がり点と立ち下がり点それぞれに対応する素子番号を取得する取得手段と、
前記取得手段で取得した素子番号と該素子番号の受光素子に隣接する隣接受光素子の素子番号から、仮想的な仮想素子番号を算出する算出手段とを備え、
前記算出手段で算出した仮想素子番号に対応する角度情報を算出する
ことを特徴とする実施態様1に記載の座標入力装置。
【0181】
<実施態様7> 座標入力領域の角部に設けられた受光部と、該座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、該座標入力領域に光を照明する発光部を有し、該座標入力領域上の指示位置を算出する座標入力装置の制御方法であって、
前記受光部から得られる光量分布において、所定レベルを横切る点に対応する角度情報を算出する角度算出工程と、
前記角度算出工程で算出される複数の角度情報それぞれが示す角度の内、最小角度と最大角度間の中心となる中心角度に基づいて、指示位置の座標を算出する算出工程と
を備えることを特徴とする座標入力装置の制御方法。
【0182】
<実施態様8> 座標入力領域の角部に設けられた受光部と、該座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、該座標入力領域に光を照明する発光部を有し、該座標入力領域上の指示位置を算出する座標入力装置の制御を実現するプログラムであって、
前記受光部から得られる光量分布において、所定レベルを横切る点に対応する角度情報を算出する角度算出工程のプログラムコードと、
前記角度算出工程で算出される複数の角度情報それぞれが示す角度の内、最小角度と最大角度間の中心となる中心角度に基づいて、指示位置の座標を算出する算出工程のプログラムコードと
を備えることを特徴とする座標入力装置の制御方法。
【0183】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0184】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0185】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0186】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0187】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0188】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0189】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0190】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0191】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【0192】
【発明の効果】
以上説明したように、本発明によれば、座標を精度良く検出することができる座標入力技術を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態1の座標入力装置の概略構成を示す図である。
【図2】本発明の実施形態1の再帰反射部材の動作を説明するための図である。
【図3】本発明の実施形態1のセンサユニットの投光部の構成例を示す図である。
【図4】本発明の実施形態1のセンサユニットの検出部の構成例を示す図である。
【図5】本発明の実施形態1のセンサユニットの構成例を示す図である。
【図6】本発明の実施形態1の再帰反射部材への入射角度に対する再帰反射特性を示す図である。
【図7】本発明の実施形態1の再帰反射部材の構成例を示す図である。
【図8】本発明の実施形態1の制御・演算ユニットの詳細構成を示すブロック図である。
【図9】本発明の実施形態1の制御信号のタイミングチャートである。
【図10】本発明の実施形態1のセンサユニットによって得られる光量分布の一例を示す図である。
【図11】本発明の実施形態1の入力がなされた場合にセンサユニットによって得られる光量分布の一例を示す図である。
【図12】本発明の実施形態1の入力例を説明するための図である。
【図13】本発明の実施形態1のセンサユニットによって得られる光量分布の光量変化を説明するための図である。
【図14】本発明の実施形態1のセンサユニットによって得られる光量分布における光量変化量と光量変化比を説明するための図である。
【図15】本発明の実施形態1の遮光範囲の検出例を示す図である。
【図16】本発明の実施形態1の指示具からの直接反射を説明するための図である。
【図17】本発明の実施形態1の指示具からの直接反射がある場合にセンサユニットによって得られる光量分布の一例を示す図である。
【図18】本発明の実施形態1の光量分布における複数の立ち上がり及び立ち下がりを検出する場合を説明するための図である。
【図19】本発明の実施形態1の特徴点検出処理を示すフローチャートである。
【図20】本発明の実施形態1の画素番号に対するtanθ値の関係を示す図である。
【図21】本発明の実施形態1の座標入力領域上に定義する座標とセンサユニット1L及び1Lとの位置関係を示す図である。
【図22】本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
【図23】本発明の実施形態2の指示具の構成例を示す図である。
【図24】本発明の実施形態2の指示具からスイッチ情報を出力した場合にセンサユニットによって得られる光量分布の一例を示す図である。
【図25】本発明の実施形態2の特徴点検出処理を示すフローチャートである。
【符号の説明】
1L、1R センサユニット
2 制御・演算ユニット
3 再帰性反射部材
4 座標入力領域
Claims (3)
- 座標入力領域上の指示位置を算出する座標入力装置であって、
前記座標入力領域の角部に設けられた受光手段と、
前記座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射手段と、
前記座標入力領域に光を照明する発光手段と、
前記受光手段から得られる光量分布において、予め定められたレベルを横切る点を検出する検出手段と、
前記検出手段により4つの点が検出された場合、検出された4つの点の情報に基づいて、前記4つの点の検出が2つの指示具による入力によるものか判定する判定手段と、
前記4つの点の内の両端の2点の中心点を算出する第1の中心点算出手段と、
前記4つの点の内の前記2つの指示具の一方に対応する2点の中心点、及び、前記2つの指示具の他方に対応する2点の中心点を算出する第2の中心点算出手段と、
前記第1及び第2の中心点算出手段により算出された中心点に基づいて、指示位置の座標を算出する座標算出手段と
を備え、
前記座標算出手段は、
前記4つの点の検出が2つの指示具による入力によるものでないと前記判定手段が判定した場合、前記第1の中心点算出手段により算出された前記両端の2点の中心点に基づいて、前記指示位置の座標を算出し、
前記4つの点の検出が2つの指示具による入力によるものであると前記判定手段が判定した場合、前記第2の中心点算出手段により算出された前記一方に対応する2点の中心点、及び、前記他方に対応する2点の中心点に基づいて、前記2つの指示具のそれぞれの指示位置の座標を算出する
ことを特徴とする座標入力装置。 - 座標入力領域の角部に設けられた受光部と、該座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、該座標入力領域に光を照明する発光部を有し、該座標入力領域上の指示位置を算出する座標入力装置の座標算出方法であって、
前記受光部から得られる光量分布において、予め定められたレベルを横切る点を検出する検出工程と、
前記検出工程で4つの点が検出された場合、検出された4つの点の情報に基づいて、前記4つの点の検出が2つの指示具による入力によるものか判定する判定工程と、
前記4つの点の内の両端の2点の中心点を算出する第1の中心点算出工程と、
前記4つの点の内の前記2つの指示具の一方に対応する2点の中心点、及び、前記2つの指示具の他方に対応する2点の中心点を算出する第2の中心点算出工程と、
前記第1及び第2の中心点算出工程で算出された中心点に基づいて、指示位置の座標を算出する座標算出工程と
を備え、
前記座標算出工程では、
前記4つの点の検出が2つの指示具による入力によものでないと前記判定工程で判定された場合、前記第1の中心点算出工程で算出された前記両端の2点の中心点に基づいて、前記指示位置の座標を算出し、
前記4つの点の検出が2つの指示具による入力によるものであると前記判定工程で判定された場合、前記第2の中心点算出工程で算出された前記一方に対応する2点の中心点、及び、前記他方に対応する2点の中心点に基づいて、前記2つの指示具のそれぞれの指示位置の座標を算出する
ことを特徴とする座標入力装置の座標算出方法。 - 座標入力領域の角部に設けられた受光部と、該座標入力領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、該座標入力領域に光を照明する発光部を有し、該座標入力領域上の指示位置を算出する座標入力装置の制御をコンピュータに実行させるためのプログラムであって、
前記受光部から得られる光量分布において、予め定められたレベルを横切る点を検出する検出工程と、
前記検出工程で4つの点が検出された場合、検出された4つの点の情報に基づいて、前記4つの点の検出が2つの指示具による入力によるものか判定する判定工程と、
前記4つの点の内の両端の2点の中心点を算出する第1の中心点算出工程と、
前記4つの点の内の前記2つの指示具の一方に対応する2点の中心点、及び、前記2つの指示具の他方に対応する2点の中心点を算出する第2の中心点算出工程と、
前記第1及び第2の中心点算出工程で算出された中心点に基づいて、指示位置の座標を算出する算出工程と
をコンピュータに実行させ、
前記座標算出工程では、
前記4つの点の検出が2つの指示具による入力によるものでないと前記判定工程で判定された場合、前記第1の中心点算出工程で算出された前記両端の2点の中心点に基づいて、前記指示位置の座標を算出し、
前記4つの点の検出が2つの指示具による入力によるものであると前記判定工程で判定された場合、前記第2の中心点算出工程で算出された前記一方に対応する2点の中心点、及び、前記他方に対応する2点の中心点に基づいて、前記2つの指示具のそれぞれの指示位置の座標を算出する
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003074255A JP4125162B2 (ja) | 2003-03-18 | 2003-03-18 | 座標入力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003074255A JP4125162B2 (ja) | 2003-03-18 | 2003-03-18 | 座標入力装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004280708A JP2004280708A (ja) | 2004-10-07 |
JP2004280708A5 JP2004280708A5 (ja) | 2006-02-02 |
JP4125162B2 true JP4125162B2 (ja) | 2008-07-30 |
Family
ID=33289952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003074255A Expired - Fee Related JP4125162B2 (ja) | 2003-03-18 | 2003-03-18 | 座標入力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4125162B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI413926B (zh) * | 2010-08-18 | 2013-11-01 | Briview Corp | 導光柱及其光學式觸控板 |
-
2003
- 2003-03-18 JP JP2003074255A patent/JP4125162B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004280708A (ja) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4125200B2 (ja) | 座標入力装置 | |
JP4405766B2 (ja) | 座標入力装置、座標入力方法 | |
JP4891179B2 (ja) | 座標入力装置、座標入力方法 | |
JP4455392B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP4522113B2 (ja) | 座標入力装置 | |
JP4429047B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP4185825B2 (ja) | 座標入力装置及びその制御方法、情報処理装置、プログラム | |
US8780083B2 (en) | Coordinate input apparatus, control method thereof, and program | |
JP2006031275A (ja) | 座標入力装置およびその制御方法 | |
JP2009026227A (ja) | 座標入力装置及びその制御方法、コンピュータプログラム | |
JP4125162B2 (ja) | 座標入力装置 | |
JP2006099273A (ja) | 座標入力装置及びその方法 | |
JP5049747B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2004185283A (ja) | 光学式座標入力装置 | |
JP4423003B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP4508611B2 (ja) | 座標入力装置、情報処理装置及びそれらの制御方法、プログラム | |
JP2005173684A (ja) | 光学式座標入力装置 | |
JP5865053B2 (ja) | 座標入力装置、座標入力装置の制御方法、およびプログラム | |
JP2005346230A (ja) | 光学式座標入力装置 | |
JP2006018566A (ja) | 光学式座標入力装置 | |
JP2005071022A (ja) | 座標入力装置、座標入力方法 | |
JP2006235710A (ja) | 座標入力装置 | |
JP2006350908A (ja) | 光学式情報入力装置 | |
JP2006228022A (ja) | 座標入力装置 | |
JP2007072508A (ja) | 座標入力装置及びその制御方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
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: 20080111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080305 |
|
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: 20080425 |
|
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: 4125162 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 |