JP2006018566A - 光学式座標入力装置 - Google Patents
光学式座標入力装置 Download PDFInfo
- Publication number
- JP2006018566A JP2006018566A JP2004195511A JP2004195511A JP2006018566A JP 2006018566 A JP2006018566 A JP 2006018566A JP 2004195511 A JP2004195511 A JP 2004195511A JP 2004195511 A JP2004195511 A JP 2004195511A JP 2006018566 A JP2006018566 A JP 2006018566A
- Authority
- JP
- Japan
- Prior art keywords
- light
- data
- input
- amount
- coordinate
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 設置環境の変化等により外乱光が変動した場合でも、安定した座標算出精度を維持する座標入力装置を提供する。
【解決手段】 LED点灯時、非点灯時の各データとの差分データに対する入力時データ(光遮蔽)の変化率を所定の値で監視して、前記差分データの変化率が前記所定値を超えた場合に外乱光データが変化していると判断し、かつ入力無し状態が所定時間継続した場合に各データを更新する。
【選択図】 図18
【解決手段】 LED点灯時、非点灯時の各データとの差分データに対する入力時データ(光遮蔽)の変化率を所定の値で監視して、前記差分データの変化率が前記所定値を超えた場合に外乱光データが変化していると判断し、かつ入力無し状態が所定時間継続した場合に各データを更新する。
【選択図】 図18
Description
本発明は、座標入力装置、より詳しくは、入力面に指示具や指によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置であって、その性能を改善する技術に関するものである。
従来より、この種の装置としては、タッチパネルとして各種の方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でPCなどの操作が簡単にできるため、広く用いられている。
方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、特許文献1などに見られるように、座標入力面外側に再帰性反射シートを設け、光を照明する手段からの光を再帰性反射シートで反射し、受光手段により光量分布を検出する構成において、入力領域内にある指などで遮蔽された領域の角度を検出し、遮蔽位置つまり入力位置の座標を決定するものが知られている。
この光方式の装置は、前述した光を照明する手段からの光のみを受光手段で検出することが望ましい。しかしながら、実際には、受光手段は、光を照明する手段からの光以外にも、装置の設置場所により太陽光や照明光等、さまざまな光を検出してしまう。
太陽光や照明光などの外乱光は、受光手段に対して光が増加するように影響するため、受光手段の検出容量が飽和した場合など、誤検出となるために座標算出精度に大きく影響してしまう。
そのため、この課題を解決するべく関連する従来の技術として、特許文献2には外乱光の影響を除去した座標入力装置の内容が記載されている。
米国特許USP4507557号
特開2002−108554号公報
上記で述べたように、太陽光や照明光などの外乱光の影響を考慮せずに装置を構成すると座標算出精度に大きく影響するという課題がある。
これは、受光手段が検出する光量分布が指示具や指などの入力がない場合にも外乱光によって変化してしまうことに起因する。すなわち、所望の光量分布を得るために光を照明し、遮蔽位置を検出するが、この照明が点灯していない場合でも外乱光があるために、照明の点灯時の受光分布はこの外乱光を含むものとなる。通常、外乱光をキャンセルするために、メモリには照明の非点灯時のデータを保存しておき、入力があった場合には、入力なし状態との光量分布を差分して、両方の光量分布データに含まれている外乱光をキャンセルして、入力位置座標を算出する。
この課題を解決すべく特許文献2では、投光手段の点灯時と非点灯時の信号の差分を連続的(毎サンプリング)に検出して外乱光の影響を除去する旨の内容が記載されている。
しかしながら、この種の座標入力装置は、コンピュータの表示装置と一体型に構成する場合が圧倒的に多く、描画スピードが性能を評価する重要な項目のひとつとなる。すなわち、操作者がストレスなく入力することができることが重要であり、操作者の入力スピードに対して描画スピードが遅れなく追従することが必須である。
しかしながら、特許文献2においては、座標算出(座標出力)サンプリングごとに毎回、照明の点灯、非点灯時のデータを取得しメモリに蓄積するために、上記で述べたような座標出力速度を満足するのは困難である。
また、ディスプレイが大型化・高解像度化し、ディスプレイの画素に対して十分な分解能を有する座標入力装置とするためには、受光手段の高分解能化が必須であり、この受光手段で検出する光量分布データを記憶するためのメモリへのアクセスも極力少なくすることが望ましい。
上記課題を解決するために、本願発明は次のような構成からなる。
入力領域の任意の位置を指または指示具等にて、座標入力する座標入力装置において、入力領域の角部に設けられた複数の受光検出手段と、前記入力領域の周辺部に設けられ再帰的に入射光を反射する再帰性反射手段と、該再帰性反射手段に光を投影する投光手段と、前記投光手段をオンおよびオフにしたときの前記受光手段が検出する光量分布のそれぞれを保存するメモリ手段と、前記指または指示具にて遮光された前記入力領域の遮光部分の光量分布と前記メモリ手段に保存した光量分布に対する変化量から、所定の光量レベルまたは第一のレベル比を通過する点の角度情報を検出する手段を有し、前記変化量を第一のレベル比より小さい第二の閾値で比較し、該第二の閾値を前記変化量が超える場合で、かつ前記所定の光量レベルを所定時間超えない場合に前記メモリ手段に保存したデータを更新することを特徴とする。
さらに、前記光量分布の変化量が所定の範囲を連続して前記第二の閾値を超えた場合に前記メモリ手段のデータを更新する。
さらに、前記光量分布のデータ数に対して、所定の割合の前記変化量データが前記第二の閾値を超える場合に、前記メモリ手段のデータを更新する。
以上述べたように、入力領域の任意の位置を指または指示具等にて、座標入力する座標入力装置において、入力領域の角部に設けられた複数の受光検出手段と、前記入力領域の周辺部に設けられ再帰的に入射光を反射する再帰性反射手段と、該再帰性反射手段に光を投影する投光手段と、前記投光手段をオンおよびオフにしたときの前記受光手段が検出する光量分布のそれぞれを保存するメモリ手段と、前記指または指示具にて遮光された前記入力領域の遮光部分の光量分布と前記メモリ手段に保存した光量分布に対する変化量から、所定の光量レベルまたは第一のレベル比を通過する点の角度情報を検出する手段を有し、前記変化量を第一のレベル比より小さい第二の閾値で比較し、該第二の閾値を前記変化量が超える場合で、かつ前記所定の光量レベルを所定時間超えない場合に前記メモリ手段に保存したデータを更新するので、装置の設置環境の変化等により、外乱光が変動した場合でも、安定した座標算出精度を維持することが可能な座標入力装置を提供することができる。
まず本願発明の座標処理方法を採用した座標入力装置の概略を図1を用いて説明する。
図中1L、1Rは投光手段および検出手段を有するセンサユニットであり、所定の距離に離れて設置されている。センサユニットは制御・演算を行う制御・演算ユニット2に接続され、制御信号を制御・演算ユニットから受け取ると共に、検出した信号を制御・演算ユニットに送信する。3は図2のように入射光を到来方向に反射する再帰反射面を有する反射手段であり、左右それぞれのセンサユニットから略90°範囲に投光された光を、センサユニットに向けて再帰反射する。
反射された光は、集光光学系とラインCCD等によって構成されたセンサユニットの検出手段によって1次元的に検出され、その光量分布が制御・演算ユニットに送られる。
5は入力領域であり、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面で構成されることで、インタラクティブな入力装置として利用可能となっている。
このような構成において、入力領域に指などによる入力指示がなされると、上記投光手段から投光された光が遮られ、再帰反射による反射光が得られなくなるため、入力指示位置のみ光量が得られなくなる。
メインユニットの演算制御手段は、左右のセンサユニットの光量変化から、入力指示された部分の遮光範囲を検出し、同範囲内での検出点を特定してそれぞれの角度を算出する。算出された角度および、センサユニット間の距離等から、入力エリア上の座標位置を算出し、表示装置に接続されているPCなどに、USBなどのインタフェースを経由して座標値を出力する。
このようにして、指などによって、画面上に線を描画したり、アイコンの操作するなどPCの操作が可能になる。
以降各部分毎に詳細説明を行う。
〈センサユニットの詳細説明〉
図3はセンサユニットにおける投光手段の構成例である。
図3はセンサユニットにおける投光手段の構成例である。
3−1は投光手段を上から(入力面に対し垂直方向)から見た図である。図中31は赤外光を発する赤外LEDであり、発光した光は投光レンズ32によって、略90°範囲に光を投光する。一方、3−2は同じ構成を横から見た図であり、(入力面に対し水平方向)この方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に再帰反射手段3に対して光が投光されるようになっている。
図4はセンサユニットにおける検出手段を入力面に対して垂直方向から見た図である。検出手段は、1次元のラインCCD41および集光光学系としてのレンズ42,43および、入射光の入射方向を制限する絞り44、可視光など余分な光の入射を防止する赤外フィルター45からなっている。
投光手段からの光は再帰反射部材によって反射され、赤外フィルター45、絞り44を抜けて、集光用レンズ42,43によって入力面の略90°範囲の光がCCDの検出面にその入射角に依存した画素上に結像され、角度ごとの光量分布を示している。つまり画素番号が角度情報を表すことになる。
図5は入力面と水平方向からの見たときの、上記投光手段と検出手段を重ねて、センサユニット1としたときの構成である。
投光手段と検出手段の光軸間の距離は再帰反射部材の角度特性から充分検出可能な範囲に設定されていればよい。
〈反射部材について〉
図1の再帰反射部材3は入射角度に対する反射特性を有してる。
図1の再帰反射部材3は入射角度に対する反射特性を有してる。
図6にあるように再帰性反射テープが平坦に構成されたばあいには、反射部材からの角度が45度を超えるあたりから得られる反射光量が減少し、遮蔽物があった場合にその変化が十分に取れない事になる。
反射光量は、光量分布(照明強度および距離)、反射部材の反射率(入射角度、反射部材の幅)、結像系照度(cosine 4乗則)によって決まる。光量が足りない場合に、照明強度を上げることが考えられるが、反射分布が均一で無い場合には、強い部分の光を受光したときに、受光手段である、CCDでその部分が飽和することがあり、照明強度を上げるには限界がある。裏返せば反射部材の反射の分布をなるべく均一にする事で低光量部分への入射光量の増大も望む事ができる。
角度方向に対して均一化を計るために、再帰反射部材3を貼り付ける部材を図7のように三角柱を並べた形とし、この上に再帰反射部材3を設置している。このようにする事で、角度特性を改善する事ができる。尚、三角柱の角度は再帰反射部材の反射特性から決定すればよく、また、そのピッチはCCDでの検出分解能以下に設定するのが望ましい。
〈制御・演算ユニットの説明〉
図1の制御・演算ユニットとセンサユニット1L,1Rの間では、CCDの制御信号、CCD用クロック信号とCCDの出力信号、および、LEDの駆動信号がやり取りされている。
図1の制御・演算ユニットとセンサユニット1L,1Rの間では、CCDの制御信号、CCD用クロック信号とCCDの出力信号、および、LEDの駆動信号がやり取りされている。
図8は制御・演算ユニットのブロック図である。CCD制御信号は、ワンチップマイコンなどで構成される演算制御回路83から出力されており、CCDのシャッタタイミングや、データの出力制御などをおこなっている。CCD用のクロックはクロック発生回路87からセンサユニットに送られると共に、CCDとの同期をとって、各種制御を行うために、演算制御回路83にも入力されている。
LED駆動信号は、演算制御回路83からLED駆動回路84L,84Rをへて、センサユニットの赤外LEDに供給されている。
センサユニットの検出手段であるCCDからの検出信号は、制御・演算ユニットのADコンバータ81L,81Rに入力され、演算制御回路からの制御によって、デジタル値に変換される。変換されたデジタル値は82メモリに記憶され、角度計算に用いられる。
計算された角度から、座標値が求められ外部PCなどにシリアルインタフェース88などを介して出力される。
〈光量分布検出の説明〉
図9は制御信号のタイミングチャートである。
図9は制御信号のタイミングチャートである。
91,92,93がCCD制御用の制御信号であり、91SH信号の間隔で、CCDのシャッタ解放時間が決定される。92、92はそれぞれ左右のセンサへのゲート信号であり、CCD内部の光電変換部の電荷を読み出し部へ転送する信号である。
94、95は左右のLEDの駆動信号であり、SHの最初の周期で一方のLEDを点灯するために94の駆動信号がLED駆動回路を経てLEDに供給される。次の周期でもう一方のLEDが駆動される。双方のLEDの駆動が終了した後に、CCDの信号が左右のセンサから読み出される。
読み出される信号は、入力がない場合には、それぞれのセンサからの出力として、図10のような光量分布が得られる。もちろん、このような分布がどのシステムでも必ず得られるわけではなく、再帰反射シートの特性やLEDの特性、また、計時変化(反射面の汚れなど)によって分布は変化する。
同図においては、Aのレベルが最大光量であり、Bのレベルが最低のレベルとなる。つまり反射光のない状態では、得られるレベルがB付近になり、反射光量が増えるほどAのレベルの方向になっている。この様にCCDから出力されたデータは、逐次AD変換されCPUにデジタルデータとして取り込まれる。
図11は、指などで入力を行った、つまり、反射光を遮った場合の出力の例である。Cの部分が指などで反射光が遮られたため、その部分のみ光量が低下している。検出は、この光量分布の変化から行う。
具体的には、図10のような入力の無い初期状態を予め記憶しておいて、それぞれのサンプル期間に図11のような変化があるか初期状態との差分によって検出し、変化があったらその部分を入力点として入力角度を決定する演算を行う。
〈角度計算出の説明〉
角度計算にあたっては、まず、遮光範囲を検出する必要がある。
角度計算にあたっては、まず、遮光範囲を検出する必要がある。
先にも述べた用に、光量分布は計時変化などで一定ではないため、システムの起動時などに記憶する事が望ましい。そうする事で、例えば、再帰反射面がほこりなどで汚れていても、完全に反射しないような場合を除いて使用可能になる。
以降一方のセンサのデータについて説明するが、他方でも同様の処理を行っている。
電源投入時、入力の無い状態で、まず投光手段から照明すること無しにCCDの出力をAD変換して、これをBas_data[N]として、メモリに記憶する。これは、CCDのバイアスのばらつき等を含んだデータとなり、図10のBのレベル付近のデータとなる。ここで、Nは画素番号であり、有効な入力範囲に対応する画素番号が用いられる。
次に、投光手段から照明した状態での光量分布を記憶する。図10の実線で表されたデータであり、Ref_data[N]とする。これらのデータを用いてまずは入力が成されたか、遮光範囲があるかどうかの判定を行う。あるサンプル期間のデータをNorm_data[N]とする。
まず遮光範囲を特定するために、データの変化の絶対量によって、有無を判定する。これは、ノイズなどによる誤判定を防止し、所定量の確実な変化を検出するためである。変化の絶対量を各々の画素において以下の計算を行い、予め決定してある閾値Vthaと比較する。
Norm_data_a[N]=Norm_data[N]−Ref_data[N] (1)
ここで、Norm_data_a[N]は各画素における絶対変化量である。
Norm_data_a[N]=Norm_data[N]−Ref_data[N] (1)
ここで、Norm_data_a[N]は各画素における絶対変化量である。
この処理は、差をとり比較するだけなので、処理時間をさほど使わないので、入力の有無の判定を高速に行う事が可能である。Vthaを初めて超えた画素が所定数を超えて検出されたときに入力があったと判定する。
次に、より高精度に検出するために、変化の比を計算して入力点の決定を行う。
図12で121を再帰反射面とする。ここでA領域が汚れなどにより反射率が低下していたとすると、このときのRef_data[N]の分布は、図13の13−1のように、A領域の反射光量が少なくなる。この状態で、図12のように指などの指示具が挿入され、ほぼ再帰反射部材の半分を覆ったとすると、反射光量は略半分となるため、図13,13−2の太線で示した分布Norm_data[N]が観測される。
この状態に対して、(1)を適用すると、図14の14−1のようになる。ここで、縦軸は初期状態との差分電圧になっている。このデータに対して、閾値を適用すると、本来の入力範囲をはずれてしまうような場合がある。もちろん、閾値を下げればある程度検出可能であるが、ノイズなどの影響を受ける可能性がある。
そこで、変化の比を計算することとすると、A領域、B領域とも反射光量は最初の半分であるので、次式で比を計算する。
Norm_data_r[N]=Norm_data_a[N]/(Bas_data[N]−Ref_data[N]) (2)
この計算結果を示すと、図14,14−2のようになり、変動比であらわされるため、反射率が異なる場合でも、等しく扱う事が可能になり、高精度に検出が可能になる。
Norm_data_r[N]=Norm_data_a[N]/(Bas_data[N]−Ref_data[N]) (2)
この計算結果を示すと、図14,14−2のようになり、変動比であらわされるため、反射率が異なる場合でも、等しく扱う事が可能になり、高精度に検出が可能になる。
このデータに対して、閾値Vthrを適用して、その立ち上がり部と立下り部の画素番号から、両者の中央を入力画素として、角度を求める。
図14−2は説明のために模式的に描いたもので、実際にはこのような立ち上がりにはなっておらず、画素ごとに異なるレベルを示している。
図15は比計算を終わったあとの検出の例である。いま閾値Vthrで検出すると遮光領域の立ちあがり部分は、Nr番目の画素で閾値を越えたとする。さらに、Nf番の画素でVthrを下まわったとする。
このまま中心画素Npを
Np=Nr+(Nf−Nr)/2 (3)
のように計算してもよいが、そうすると、画素間隔が最小の分解能になってしまう。より細かく検出するために、それぞれの画素のレベルとその一つ前の画素のレベルを用い閾値を横切った仮想の画素番号を計算する。
Np=Nr+(Nf−Nr)/2 (3)
のように計算してもよいが、そうすると、画素間隔が最小の分解能になってしまう。より細かく検出するために、それぞれの画素のレベルとその一つ前の画素のレベルを用い閾値を横切った仮想の画素番号を計算する。
今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)
と計算でき、仮想中心画素Npv
Npv=Nrv+(Nfv−Nrv)/2 (6)
で決定される。
Nrv=Nr−1+(Vthr−Lr−1)/(Lr−Lr−1) (4)
Nfv=Nf−1+(Vthr−Lf−1)/(Lf−Lf−1) (5)
と計算でき、仮想中心画素Npv
Npv=Nrv+(Nfv−Nrv)/2 (6)
で決定される。
このように、画素番号とそのレベルから仮想的な画素番号を計算することで、より分解能の高い検出ができる。
得られた中央画素番号から、実際の座標値を計算するためには、角度情報に変換する必要がある。後述する実際の座標計算では、角度そのものよりもその角度における正接(tangent)の値を求めるほうが都合がよい。画素番号から、tanθへの変換には、テーブル参照や変換式を用いる。
図16は、画素番号に対するtanθ値をプロットしたものである。このデータに対して近似式を求め、その近似式を用いて画素番号、tanθ変換を行う。
変換式は例えば高次の多項式を用いると精度を確保できるが次数などは計算能力および精度スペック等を鑑みて決定すればよい。
5次多項式を用いる場合には係数が6個必要になるので、出荷時などにこのデータを不揮発性メモリーなどに記憶しておけばよい。
今5次多項式の係数をL5,L4,L3,L2,L1,L0としたとき、tanθは
tanθ=(L5*Npr+L4)*Npr+L3)*Npr+L2)*Npr+L1)*Npr+L0 (7)
であらわす事ができる。
tanθ=(L5*Npr+L4)*Npr+L3)*Npr+L2)*Npr+L1)*Npr+L0 (7)
であらわす事ができる。
同様なことを各々のセンサに対して行えば、それぞれの角度データを決定できる。もちろん、上記例ではtanθを求めているが、角度そのものを求め、その後tanθを求めても構わない。
〈座標計算方法の説明〉
得られた角度データから座標を算出する。
得られた角度データから座標を算出する。
図17が画面座標との位置関係を示す図である。入力範囲の下辺左右にそれぞれのセンサユニットが取り付けられており、その間の距離はDsであらわされている。
画面中央が画面の原点位置であり、P0はそれぞれのセンサユニットの角度0の交点である。それぞれの角度をθL、θRとして、それぞれtanθL,tanθRを上記多項式を用いて算出する。
このとき点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)
で計算される。
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)
で計算される。
図18はデータ取得から座標計算までの工程を示したフローチャートである。
S101で、電源投入されると、演算制御回路などのポート設定、タイマ設定などさまざまな初期化が行われるS102。S103は立ち上げ時のみに行う不要電荷除去のための準備である。CCDなどの光電変換素子において、動作させていないときに不要な電荷が蓄積している場合があり、そのデータをそのままリファレンスデータとして用いると、検出不能になったり、誤検出の原因となる。それを避けるために、最初に照明無しで、複数回データの読み出しを行っている。S103ではその読み込み回数を設定しており、S104で照明無しで、所定回数データを読み出すことで、不要電荷の除去を行っている。
S105は所定回数繰り返すための判断文である。
S106はリファレンスデータとしての照明無しでのデータの取り込みであり、上記Bas_dataに相当する。ここで取り込んだデータは、メモリに記憶され、以降計算に用いられる。これともう一つのリファレンスデータである、照明したときの初期光量分布に相当するデータRef_dataを取り込みS108,これもメモリーに記憶する。
このステップまでが、電源投入時の初期設定動作になり、次から通常の取り込み動作になる。S110で上記説明したように光量分布を取り込み、S111でRef_dataとの差分値で遮光部分の有無を判定する。
S112では、S111の判断結果に伴い、入力無しカウンタをセットする。ここで、遮光部分が無しと判定されたときには、入力無しカウンタを1にして、以降のステップでS110に戻る場合には、また取り込みを行いこのカウンタ値をインクリメントする。このとき、この繰り返し周期を10[msec]程度に設定すれば、100回/秒のサンプリングになる。遮光領域が有りと判定された場合には、入力無しカウンタを0(ゼロ)にセットする。すなわち、遮光領域が無しと判定された場合には、入力無しカウンタを上記繰り返し周期ごとに増加させていき、遮光領域が有りと判定された場合に入力無しカウンタをクリアすることになる。
次に、S113で式(2)の処理により比を計算する。この結果は、次のS121で利用される。S121では、S106からS109でメモリに記憶した照明無しデータと照明有りデータを更新するか否かを判断するサブルーチンである。詳細は改めて後述するが、S120のサブルーチンの戻り値によって、次のように動作する。まず、メモリデータを更新しない場合は、S110に戻り通常取り込み動作を継続する。また、遮光領域有り状態の場合は、S114以降のステップに移動する。さらには、入力無し状態でS120の戻り値が所定値の場合は、S106に戻りメモリデータの更新をする。これについては後述する。この項では、S111で遮光領域有りの場合にS121での所定の戻り値にしたがって動作するS114以降について説明を継続する。
S114では、得られた比に対して閾値で立ち上がり部、立下り部を決定し、(4)、(5)、(6)式で中心を計算するS114。得られた中心値から近似多項式よりTanθを計算しS115、左右のセンサユニットでのTanθ値からx、y座標を(8)、(9)式を用いて算出するS116。次にS117にてタッチされたか否かの判定を行う。これは、例えばマウスのボタンを押下せずにカーソルを移動させてる状態のような近接入力状態と、左ボタンを押した状態であるタッチダウン状態の判定を行っている。実際には、先に得られた比の最大値が、ある所定値例えば0.5などの値を超えていればダウンと判定し、それ以下なら近接入力状態と判定する。この結果にしたがって、ダウンフラグのセットS118あるいはリセットS119を行う。
座標値とダウン状態が決定されたので、そのデータをホストPCへ送信するS120。これは、USB、RS232などのシリアル通信で送っても良いし、任意のインタフェースで送ればよい。送られたPC側では、ドライバがデータを解釈し、カーソルの移動、マウスボタン状態の変更などを座標値、フラグなどを参照しておこなう事で、PC画面の操作が可能になる。
S120の処理が終了したら、S110の動作に戻り、以降電源OFFまでこの処理を繰り返す事になる。
〈座標入力用ペンの説明〉
上記の座標入力装置では、「指」での入力が可能であるが、ペンなどの指示具で入力を行うことによって、マウスの各種ボタンに対応する操作を直感的に操作することが可能となる。この指示具について、図19を用いて説明する。本実施例における指示具4は、筆記具であるところのペン先端部を押圧することで動作するペン先スイッチ(SW)41、並びに指示具4の筐体に設けられた複数のペンサイドスイッチ(SW)42を具備する。このいずれかのスイッチが動作する事によって、指示具4から所定周期で信号を送信する事になる。従って所定周期毎に駆動回路45は、タイミング信号およびコマンド信号であるところの光信号を放射し、その光信号を図8における制御信号検出回路86が受光した後、制御信号検出回路86は指示具4のどのスイッチが動作をしているかを判定するとともに、センサユニット1L,1Rの間で、CCDの制御信号、CCD用クロック信号およびLEDの駆動信号のやり取りが開始される。具体的には、指示具4がタイミング信号として放射する光信号にスイッチ情報を示す信号を重畳(その他に例えば座標入力ペンを識別するための識別コード等を重畳させる事も可能)させるものであるが、その情報を伝送する方法は、例えば連続するパルス列からなるリーダ部と、これに続くコード(メーカーIDなど)とからなるヘッダ部をまず出力し、その後ペンスイッチ信号等の制御信号などからなる送信データ列を予め定義された順序と形式に従って順次出力する。この方法はよく知られた方法(例えば赤外線を利用したリモコン等)であり、ここでの詳述は省略する。
上記の座標入力装置では、「指」での入力が可能であるが、ペンなどの指示具で入力を行うことによって、マウスの各種ボタンに対応する操作を直感的に操作することが可能となる。この指示具について、図19を用いて説明する。本実施例における指示具4は、筆記具であるところのペン先端部を押圧することで動作するペン先スイッチ(SW)41、並びに指示具4の筐体に設けられた複数のペンサイドスイッチ(SW)42を具備する。このいずれかのスイッチが動作する事によって、指示具4から所定周期で信号を送信する事になる。従って所定周期毎に駆動回路45は、タイミング信号およびコマンド信号であるところの光信号を放射し、その光信号を図8における制御信号検出回路86が受光した後、制御信号検出回路86は指示具4のどのスイッチが動作をしているかを判定するとともに、センサユニット1L,1Rの間で、CCDの制御信号、CCD用クロック信号およびLEDの駆動信号のやり取りが開始される。具体的には、指示具4がタイミング信号として放射する光信号にスイッチ情報を示す信号を重畳(その他に例えば座標入力ペンを識別するための識別コード等を重畳させる事も可能)させるものであるが、その情報を伝送する方法は、例えば連続するパルス列からなるリーダ部と、これに続くコード(メーカーIDなど)とからなるヘッダ部をまず出力し、その後ペンスイッチ信号等の制御信号などからなる送信データ列を予め定義された順序と形式に従って順次出力する。この方法はよく知られた方法(例えば赤外線を利用したリモコン等)であり、ここでの詳述は省略する。
またその他の方法としては、例えば所定周期毎に座標検出を行うこの種の座標入力装置の所定周期を変更し、その情報を検出する事で識別する事も可能である。座標入力装置が最大100ポイント/秒、つまり10msec毎に座標検出可能な仕様とすれば、ペン先SW41が動作している場合には、例えば100ポイント/秒で座標算出を行い、ペンサイドSW42が動作している場合には、80ポイント/秒で座標算出する様に設定、つまり、各々その周期で指示具4から信号を放射することになるので、その周期を制御信号検出回路86で監視することによって、どのスイッチが動作しているかを判別することが可能となる。
〈座標入力用ペンのアップダウンの説明〉
さらには、図20のフローチャートを用いて、ペン/アップダウンについて説明すれば、まずステップS402でペン先スイッチ41の状態を判定する。ペン先スイッチ41がON状態とは、座標入力面であるディスプレイ6上に座標入力ペンが位置し、操作者によってまさに座標入力が行われ、筆跡を入力しようとする状態(ペンダウン状態)であり、画面上に表示された筆跡は、操作者による筆記動作に対して忠実に再現される。また例えばペン先スイッチを所定時間内に2回動作させた場合、座標入力装置の座標サンプリングレートを参照しながら、信号を受信した時間、間隔、あるいは座標を算出しているタイミング等を監視することで、マウスのダブルクリック動作を認識するように構成されている。
さらには、図20のフローチャートを用いて、ペン/アップダウンについて説明すれば、まずステップS402でペン先スイッチ41の状態を判定する。ペン先スイッチ41がON状態とは、座標入力面であるディスプレイ6上に座標入力ペンが位置し、操作者によってまさに座標入力が行われ、筆跡を入力しようとする状態(ペンダウン状態)であり、画面上に表示された筆跡は、操作者による筆記動作に対して忠実に再現される。また例えばペン先スイッチを所定時間内に2回動作させた場合、座標入力装置の座標サンプリングレートを参照しながら、信号を受信した時間、間隔、あるいは座標を算出しているタイミング等を監視することで、マウスのダブルクリック動作を認識するように構成されている。
一方ステップS402でペン先スイッチが動作していない(OFF状態)場合は、ステップS403〜S405において、ペンサイドスイッチの状態を判別する。本願発明の実施例においては、指示具4にはペンサイドスイッチ42_a、42_bの2個のサイドスイッチ42が具備されており、少なくともどちらか一方がON状態にあれば、ペンアップ状態、その両者がON状態となっていればペンダウン状態として動作するように構成されている。
この様にペン先スイッチ41がOFF状態、かつ少なくともどちらかのサイドスイッチ42が動作状態となる具体的想定使用例は、操作者が座標入力面であるところのディスプレイから浮かせた位置で、画面を制御しようとしている場合であって、浮かせた位置で例えばカーソルを所望の位置に移動したり、筆跡を入力しようとする場合である。(以下、この入力状態を近接入力とよぶことにする。)つまり少なくとも一方のサイドスイッチ42が動作している場合は、操作者は画面上に示されているカーソルを移動することができ(ペンアップ)、その両者が動作している場合には、カーソルの移動を筆跡として残すことができるような状態(ペンダウン)を実現することができるのである。つまり座標入力装置が座標を算出する際に、ペンの状態(ペンアップ、ペンダウン)を情報として同時に出力することができる様に構成してあるので、その情報を基にパソコン等に格納されている制御ソフト、或いはアプリケーションソフト等によって、所望の動作を実現することができるのである。
また、『少なくとも一方のサイドスイッチ』、或いは『両者のサイドスイッチ』と言うことでその状態を区別した意図は、利き腕を考慮した結果である。つまり、図19に示すように、本願発明の座標入力ペンのサイドスイッチ42は、指示具4の対称軸に対称に、しかも隣接するように配置してあるので、右利き、左利きの区別無く、同一の動作で同一の効果が得られるように構成したものである。サイドスイッチの他の実施例としては、2段スイッチ、つまりスイッチのキートップを押圧することで1段目のスイッチが動作し、さらに押圧することによって2段目のスイッチが動作するスイッチを用いることによって、同様の効果も得られる。
一方、指示具4のいずれかのスイッチが動作している状態は、常に所定周期での座標算出、つまり指示具4から信号が所定周期で放出されている状態である。従って、このタイミング信号であるところの光信号を所定周期毎に検出できるかどうかによって、最初の座標を検知した状態から、『連続的/継続的に座標が入力されている状態』にあるのか、『連続的に座標入力が行われている状態が中断した状態』にあるのかを判定することができる。つまり、制御信号検出回路86のスタート信号の発生タイミングを監視(座標サンプリングレートを100回/秒とすれば、0.01秒毎にスタート信号が発生する)する事によって、『連続入力』の状態にあるかどうかを判定する。
さらには、『連続入力』を判定する手段としては、所定時間を設定し、その所定時間内に信号(例えば本実施例の場合には、スタート信号であるところの光信号)が検知されるか、あるいは座標値が検出されたかを判定しても良い。
〈メモリデータの更新に関する説明〉
ここで、照明の非点灯時の初期データおよび点灯時の初期データ更新に関する説明をする。先述したとおり、太陽光や照明光などの外乱光の影響を考慮せずに装置を構成すると座標算出精度に大きく影響するという課題がある。これは、受光手段が検出する光量分布が指示具や指などの入力がない場合にも外乱光によって変化してしまうことに起因する。すなわち、所望の光量分布を得るために光を照明し、遮蔽位置を検出するが、この照明が点灯していない場合でも外乱光があるために、照明の点灯時の受光分布はこの外乱光を含むものとなる。一般的に外乱光をキャンセルするために、メモリには照明の非点灯時のデータを保存しておき、入力があった場合には、入力なし状態との光量分布を差分して、両方の光量分布データに含まれている外乱光をキャンセルして、入力位置座標を算出する。しかしながら、実際には、時間的な変化や設置場所の変化によって、メモリに記憶したデータとは、受光手段が検出する光量分布が異なってくる。そこで、本願の光学式座標入力装置は、以下のような工程の処理をふむことによって、メモリデータを変更し、常に安定した座標算出を可能とする。
ここで、照明の非点灯時の初期データおよび点灯時の初期データ更新に関する説明をする。先述したとおり、太陽光や照明光などの外乱光の影響を考慮せずに装置を構成すると座標算出精度に大きく影響するという課題がある。これは、受光手段が検出する光量分布が指示具や指などの入力がない場合にも外乱光によって変化してしまうことに起因する。すなわち、所望の光量分布を得るために光を照明し、遮蔽位置を検出するが、この照明が点灯していない場合でも外乱光があるために、照明の点灯時の受光分布はこの外乱光を含むものとなる。一般的に外乱光をキャンセルするために、メモリには照明の非点灯時のデータを保存しておき、入力があった場合には、入力なし状態との光量分布を差分して、両方の光量分布データに含まれている外乱光をキャンセルして、入力位置座標を算出する。しかしながら、実際には、時間的な変化や設置場所の変化によって、メモリに記憶したデータとは、受光手段が検出する光量分布が異なってくる。そこで、本願の光学式座標入力装置は、以下のような工程の処理をふむことによって、メモリデータを変更し、常に安定した座標算出を可能とする。
まず、先述した図18のデータ取得から座標計算までの工程を示したフローチャートにおいて、サブルーチンS121のメモリデータを更新するか否かの判断について図21および図22を用いて説明する。
図21は、図18のS121サブルーチンのフローチャートおよび該サブルーチンの戻り値を説明するための図である。
まず、S202でデータを更新するか否かの判断が実行される。この判断の詳細については、図22を用いて後述することにして、図21の説明を継続する。図21のS203では、図18のS112でセットされた入力無しカウンタnの値をチェックする。そして、S204でS202で処理したメモリデータを更新するか否かの判定結果とS203で処理した入力無しカウンタの値によって、戻り値となるフラグを図21の表のようにセットする。
すなわち、入力無しカウンタが0(ゼロ)(遮光領域が有り)の場合は、メモリデータ更新判定結果にかかわらず、戻り値フラグを0(ゼロ)とし、入力無しカウンタがn<5の場合は、メモリデータ更新判定結果にかかわらず、戻り値フラグを1とし、入力無しカウンタがn≧5の場合は、メモリデータ更新判定結果がY(判定方法は後述)の場合に戻り値フラグを2とする。
ここで、上記では戻り値フラグを2とする入力無しカウンタnの値を5としたが、この値はこれに限定されるものではなく、入力無し状態であると判断できるカウンタ値であればいずれでもよい。先に取り込みの周期を10msとしたが、カウンタ値が5ということは、50msの間入力無し状態が継続しているということである。入力無し状態を確実にするためには、入力無しカウンタ値がさらに大きくなった場合に、メモリデータを更新するようにすればよく、システムによって適宜設定すればよい。
さて、図21のS202のメモリデータの更新判定について、図22を用いて説明する。
図22は初期状態に対して外乱光が増減した場合の図18におけるS111からS113で処理される受光手段で検出される光量分布データの処理およびS121のサブルーチンで実行されるメモリデータを更新するか否かを判定するのに用いるデータを模式的に示した図である。
図22中(1)のデータは、先述のBas_data[N]に相当する。また、図22中(2)はRef_data[N]、また(3)はNorm_data_a[N]に相当する。ここで、何らかの影響で外乱光が生じた場合の遮光領域無し時のデータは(4)となり、(2)のデータに(N1)の領域の光量分布が加算されたような分布となり、S111で計算されたデータは(6)となる。同様に、遮光領域有りの時のデータは(9)となる。
さらにS113で計算された比(変化率)は(10)のようになり、初期状態にメモリに記憶した照明の点灯・非点灯のデータを更新するかどうかの判断は、この図22(10)を用いて判断することとなる。ここで、座標を有効とする閾値を(A)とし、外乱光と判定する閾値を(B)とし、それぞれの閾値を超えたかどうかをS202で判定することになる。この判定は、遮光領域無しの時も可能で、(10)を算出したのと同様に、(6)のデータと(2)のデータとの変化率を計算して、閾値(B)と比較することによって算出することができる。なお、外乱光は、初期状態のメモリに記憶しているデータに対して、増加したり減少したりするので、変化率は絶対値で閾値と比較することにすれば、処理が簡易になる。
(他の実施例)
先述の実施例では、1画素でもしきい値を超えていれば、メモリデータを更新する旨の判断をしていたが、S113の計算された比(変化率)からメモリデータを更新するか否かの判断は、上記に限定されるものではない。
先述の実施例では、1画素でもしきい値を超えていれば、メモリデータを更新する旨の判断をしていたが、S113の計算された比(変化率)からメモリデータを更新するか否かの判断は、上記に限定されるものではない。
上記実施例においては、外乱光の変動が比較的俊敏に起こりうる場合に有効である。
しかしながら、設置場所によって、あるいは時間帯によって等、環境変化が鈍い場合には、データの更新頻度を少なくするために、閾値を所定の範囲連続して超えた場合にメモリデータを更新する旨の判断をしてもよい。この場合、入力領域に対してある領域に入射する外乱光が存在する場合等に有効である。
また、光量分布のデータ数に対して、所定の割合のデータが閾値を超える場合に、メモリデータを更新する旨の判断をしてもよい。この場合、入力領域に対して散乱して入射する外乱光に対して有効となる。
1L,1R センサユニット
2 制御・演算ユニット
3 再帰反射部材
4 入力領域
2 制御・演算ユニット
3 再帰反射部材
4 入力領域
Claims (3)
- 入力領域の任意の位置を指または指示具等にて、座標入力する座標入力装置において、
入力領域の角部に設けられた複数の受光検出手段と、
前記入力領域の周辺部に設けられ再帰的に入射光を反射する再帰性反射手段と
該再帰性反射手段に光を投影する投光手段と、
前記投光手段をオンおよびオフにしたときの前記受光手段が検出する光量分布のそれぞれを保存するメモリ手段と、
前記指または指示具にて遮光された前記入力領域の遮光部分の光量分布と前記メモリ手段に保存した光量分布に対する変化量から、所定の光量レベルまたは第一のレベル比を通過する点の角度情報を検出する手段を有し、
前記変化量を第一のレベル比より小さい第二の閾値で比較し、該第二の閾値を前記変化量が超える場合で、かつ前記所定の光量レベルを所定時間超えない場合に前記メモリ手段に保存したデータを更新することを特徴とする光学式座標入力装置。 - 前記光量分布の変化量が所定の範囲を連続して前記第二の閾値を超えた場合に前記メモリ手段のデータを更新することを特徴とする前記第1項記載の座標入力装置。
- 前記光量分布のデータ数に対して、所定の割合の前記変化量データが前記第二の閾値を超える場合に、前記メモリ手段のデータを更新することを特徴とする前記第1項記載の座標入力装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004195511A JP2006018566A (ja) | 2004-07-01 | 2004-07-01 | 光学式座標入力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004195511A JP2006018566A (ja) | 2004-07-01 | 2004-07-01 | 光学式座標入力装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006018566A true JP2006018566A (ja) | 2006-01-19 |
Family
ID=35792782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004195511A Withdrawn JP2006018566A (ja) | 2004-07-01 | 2004-07-01 | 光学式座標入力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006018566A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116822A (ja) * | 2007-11-09 | 2009-05-28 | Canon Inc | 座標入力装置及びその制御方法、プログラム |
US9354747B2 (en) | 2009-12-10 | 2016-05-31 | Stmicroelectronics (Research & Development) Limited | Optical navigation device with a backlight and associated methods |
-
2004
- 2004-07-01 JP JP2004195511A patent/JP2006018566A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116822A (ja) * | 2007-11-09 | 2009-05-28 | Canon Inc | 座標入力装置及びその制御方法、プログラム |
US9354747B2 (en) | 2009-12-10 | 2016-05-31 | Stmicroelectronics (Research & Development) Limited | Optical navigation device with a backlight and associated methods |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4125200B2 (ja) | 座標入力装置 | |
JP4442877B2 (ja) | 座標入力装置およびその制御方法 | |
JP4405766B2 (ja) | 座標入力装置、座標入力方法 | |
JP5127337B2 (ja) | 座標入力装置及びその制御方法、コンピュータプログラム | |
JP4891179B2 (ja) | 座標入力装置、座標入力方法 | |
JP4185825B2 (ja) | 座標入力装置及びその制御方法、情報処理装置、プログラム | |
JP5366789B2 (ja) | 入力指示具及びその制御方法、並びに座標入力装置 | |
JP2005276019A (ja) | 光学式座標入力装置 | |
JP5049747B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2005165830A (ja) | 光学式座標入力装置 | |
JP2006018566A (ja) | 光学式座標入力装置 | |
JP2006350908A (ja) | 光学式情報入力装置 | |
JP2006235710A (ja) | 座標入力装置 | |
JP2006099273A (ja) | 座標入力装置及びその方法 | |
JP2005346230A (ja) | 光学式座標入力装置 | |
JP2004185283A (ja) | 光学式座標入力装置 | |
JP2005173684A (ja) | 光学式座標入力装置 | |
JP2006059153A (ja) | 光学式座標入力装置 | |
JP4125162B2 (ja) | 座標入力装置 | |
JP2006228022A (ja) | 座標入力装置 | |
JP2007072506A (ja) | 座標入力装置 | |
JP2005215860A (ja) | 遮光型座標入力装置 | |
JP4423003B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2005346231A (ja) | 光学式座標入力装置 | |
JP2017040979A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |