(57)【要約】【課題】  設置環境の変化等により外乱光が変動した場合でも、安定した座標算出精度を維持する座標入力装置を提供する。【解決手段】  ＬＥＤ点灯時、非点灯時の各データとの差分データに対する入力時データ（光遮蔽）の変化率を所定の値で監視して、前記差分データの変化率が前記所定値を超えた場合に外乱光データが変化していると判断し、かつ入力無し状態が所定時間継続した場合に各データを更新する。【選択図】  図１８
2006018566.tif 000002
【特許請求の範囲】
【請求項１】
入力領域の任意の位置を指または指示具等にて、座標入力する座標入力装置において、
入力領域の角部に設けられた複数の受光検出手段と、
前記入力領域の周辺部に設けられ再帰的に入射光を反射する再帰性反射手段と
該再帰性反射手段に光を投影する投光手段と、
前記投光手段をオンおよびオフにしたときの前記受光手段が検出する光量分布のそれぞれを保存するメモリ手段と、
前記指または指示具にて遮光された前記入力領域の遮光部分の光量分布と前記メモリ手段に保存した光量分布に対する変化量から、所定の光量レベルまたは第一のレベル比を通過する点の角度情報を検出する手段を有し、
前記変化量を第一のレベル比より小さい第二の閾値で比較し、該第二の閾値を前記変化量が超える場合で、かつ前記所定の光量レベルを所定時間超えない場合に前記メモリ手段に保存したデータを更新することを特徴とする光学式座標入力装置。
【請求項２】
前記光量分布の変化量が所定の範囲を連続して前記第二の閾値を超えた場合に前記メモリ手段のデータを更新することを特徴とする前記第１項記載の座標入力装置。
【請求項３】
前記光量分布のデータ数に対して、所定の割合の前記変化量データが前記第二の閾値を超える場合に、前記メモリ手段のデータを更新することを特徴とする前記第１項記載の座標入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標入力装置、より詳しくは、入力面に指示具や指によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置であって、その性能を改善する技術に関するものである。
【背景技術】
【０００２】
従来より、この種の装置としては、タッチパネルとして各種の方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でＰＣなどの操作が簡単にできるため、広く用いられている。
【０００３】
方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、特許文献１などに見られるように、座標入力面外側に再帰性反射シートを設け、光を照明する手段からの光を再帰性反射シートで反射し、受光手段により光量分布を検出する構成において、入力領域内にある指などで遮蔽された領域の角度を検出し、遮蔽位置つまり入力位置の座標を決定するものが知られている。
【０００４】
この光方式の装置は、前述した光を照明する手段からの光のみを受光手段で検出することが望ましい。しかしながら、実際には、受光手段は、光を照明する手段からの光以外にも、装置の設置場所により太陽光や照明光等、さまざまな光を検出してしまう。
【０００５】
太陽光や照明光などの外乱光は、受光手段に対して光が増加するように影響するため、受光手段の検出容量が飽和した場合など、誤検出となるために座標算出精度に大きく影響してしまう。
【０００６】
そのため、この課題を解決するべく関連する従来の技術として、特許文献２には外乱光の影響を除去した座標入力装置の内容が記載されている。
【特許文献１】米国特許ＵＳＰ４５０７５５７号
【特許文献２】特開２００２−１０８５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記で述べたように、太陽光や照明光などの外乱光の影響を考慮せずに装置を構成すると座標算出精度に大きく影響するという課題がある。
【０００８】
これは、受光手段が検出する光量分布が指示具や指などの入力がない場合にも外乱光によって変化してしまうことに起因する。すなわち、所望の光量分布を得るために光を照明し、遮蔽位置を検出するが、この照明が点灯していない場合でも外乱光があるために、照明の点灯時の受光分布はこの外乱光を含むものとなる。通常、外乱光をキャンセルするために、メモリには照明の非点灯時のデータを保存しておき、入力があった場合には、入力なし状態との光量分布を差分して、両方の光量分布データに含まれている外乱光をキャンセルして、入力位置座標を算出する。
【０００９】
この課題を解決すべく特許文献２では、投光手段の点灯時と非点灯時の信号の差分を連続的（毎サンプリング）に検出して外乱光の影響を除去する旨の内容が記載されている。
【００１０】
しかしながら、この種の座標入力装置は、コンピュータの表示装置と一体型に構成する場合が圧倒的に多く、描画スピードが性能を評価する重要な項目のひとつとなる。すなわち、操作者がストレスなく入力することができることが重要であり、操作者の入力スピードに対して描画スピードが遅れなく追従することが必須である。
【００１１】
しかしながら、特許文献２においては、座標算出（座標出力）サンプリングごとに毎回、照明の点灯、非点灯時のデータを取得しメモリに蓄積するために、上記で述べたような座標出力速度を満足するのは困難である。
【００１２】
また、ディスプレイが大型化・高解像度化し、ディスプレイの画素に対して十分な分解能を有する座標入力装置とするためには、受光手段の高分解能化が必須であり、この受光手段で検出する光量分布データを記憶するためのメモリへのアクセスも極力少なくすることが望ましい。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本願発明は次のような構成からなる。
【００１４】
入力領域の任意の位置を指または指示具等にて、座標入力する座標入力装置において、入力領域の角部に設けられた複数の受光検出手段と、前記入力領域の周辺部に設けられ再帰的に入射光を反射する再帰性反射手段と、該再帰性反射手段に光を投影する投光手段と、前記投光手段をオンおよびオフにしたときの前記受光手段が検出する光量分布のそれぞれを保存するメモリ手段と、前記指または指示具にて遮光された前記入力領域の遮光部分の光量分布と前記メモリ手段に保存した光量分布に対する変化量から、所定の光量レベルまたは第一のレベル比を通過する点の角度情報を検出する手段を有し、前記変化量を第一のレベル比より小さい第二の閾値で比較し、該第二の閾値を前記変化量が超える場合で、かつ前記所定の光量レベルを所定時間超えない場合に前記メモリ手段に保存したデータを更新することを特徴とする。
【００１５】
さらに、前記光量分布の変化量が所定の範囲を連続して前記第二の閾値を超えた場合に前記メモリ手段のデータを更新する。
【００１６】
さらに、前記光量分布のデータ数に対して、所定の割合の前記変化量データが前記第二の閾値を超える場合に、前記メモリ手段のデータを更新する。
【発明の効果】
【００１７】
以上述べたように、入力領域の任意の位置を指または指示具等にて、座標入力する座標入力装置において、入力領域の角部に設けられた複数の受光検出手段と、前記入力領域の周辺部に設けられ再帰的に入射光を反射する再帰性反射手段と、該再帰性反射手段に光を投影する投光手段と、前記投光手段をオンおよびオフにしたときの前記受光手段が検出する光量分布のそれぞれを保存するメモリ手段と、前記指または指示具にて遮光された前記入力領域の遮光部分の光量分布と前記メモリ手段に保存した光量分布に対する変化量から、所定の光量レベルまたは第一のレベル比を通過する点の角度情報を検出する手段を有し、前記変化量を第一のレベル比より小さい第二の閾値で比較し、該第二の閾値を前記変化量が超える場合で、かつ前記所定の光量レベルを所定時間超えない場合に前記メモリ手段に保存したデータを更新するので、装置の設置環境の変化等により、外乱光が変動した場合でも、安定した座標算出精度を維持することが可能な座標入力装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
まず本願発明の座標処理方法を採用した座標入力装置の概略を図１を用いて説明する。
【００１９】
図中１Ｌ、１Ｒは投光手段および検出手段を有するセンサユニットであり、所定の距離に離れて設置されている。センサユニットは制御・演算を行う制御・演算ユニット２に接続され、制御信号を制御・演算ユニットから受け取ると共に、検出した信号を制御・演算ユニットに送信する。３は図２のように入射光を到来方向に反射する再帰反射面を有する反射手段であり、左右それぞれのセンサユニットから略９０°範囲に投光された光を、センサユニットに向けて再帰反射する。
【００２０】
反射された光は、集光光学系とラインＣＣＤ等によって構成されたセンサユニットの検出手段によって１次元的に検出され、その光量分布が制御・演算ユニットに送られる。
【００２１】
５は入力領域であり、ＰＤＰやリアプロジェクタ、ＬＣＤパネルなどの表示装置の表示画面で構成されることで、インタラクティブな入力装置として利用可能となっている。
【００２２】
このような構成において、入力領域に指などによる入力指示がなされると、上記投光手段から投光された光が遮られ、再帰反射による反射光が得られなくなるため、入力指示位置のみ光量が得られなくなる。
【００２３】
メインユニットの演算制御手段は、左右のセンサユニットの光量変化から、入力指示された部分の遮光範囲を検出し、同範囲内での検出点を特定してそれぞれの角度を算出する。算出された角度および、センサユニット間の距離等から、入力エリア上の座標位置を算出し、表示装置に接続されているＰＣなどに、ＵＳＢなどのインタフェースを経由して座標値を出力する。
【００２４】
このようにして、指などによって、画面上に線を描画したり、アイコンの操作するなどＰＣの操作が可能になる。
【００２５】
以降各部分毎に詳細説明を行う。
【００２６】
〈センサユニットの詳細説明〉
図３はセンサユニットにおける投光手段の構成例である。
【００２７】
３−１は投光手段を上から（入力面に対し垂直方向）から見た図である。図中３１は赤外光を発する赤外ＬＥＤであり、発光した光は投光レンズ３２によって、略９０°範囲に光を投光する。一方、３−２は同じ構成を横から見た図であり、（入力面に対し水平方向）この方向では、赤外ＬＥＤ３１からの光は上下方向に制限された光束として投光され、主に再帰反射手段３に対して光が投光されるようになっている。
【００２８】
図４はセンサユニットにおける検出手段を入力面に対して垂直方向から見た図である。検出手段は、１次元のラインＣＣＤ４１および集光光学系としてのレンズ４２，４３および、入射光の入射方向を制限する絞り４４、可視光など余分な光の入射を防止する赤外フィルター４５からなっている。
【００２９】
投光手段からの光は再帰反射部材によって反射され、赤外フィルター４５、絞り４４を抜けて、集光用レンズ４２，４３によって入力面の略９０°範囲の光がＣＣＤの検出面にその入射角に依存した画素上に結像され、角度ごとの光量分布を示している。つまり画素番号が角度情報を表すことになる。
【００３０】
図５は入力面と水平方向からの見たときの、上記投光手段と検出手段を重ねて、センサユニット１としたときの構成である。
【００３１】
投光手段と検出手段の光軸間の距離は再帰反射部材の角度特性から充分検出可能な範囲に設定されていればよい。
【００３２】
〈反射部材について〉
図１の再帰反射部材３は入射角度に対する反射特性を有してる。
【００３３】
図６にあるように再帰性反射テープが平坦に構成されたばあいには、反射部材からの角度が４５度を超えるあたりから得られる反射光量が減少し、遮蔽物があった場合にその変化が十分に取れない事になる。
【００３４】
反射光量は、光量分布（照明強度および距離）、反射部材の反射率（入射角度、反射部材の幅）、結像系照度（ｃｏｓｉｎｅ  ４乗則）によって決まる。光量が足りない場合に、照明強度を上げることが考えられるが、反射分布が均一で無い場合には、強い部分の光を受光したときに、受光手段である、ＣＣＤでその部分が飽和することがあり、照明強度を上げるには限界がある。裏返せば反射部材の反射の分布をなるべく均一にする事で低光量部分への入射光量の増大も望む事ができる。
【００３５】
角度方向に対して均一化を計るために、再帰反射部材３を貼り付ける部材を図７のように三角柱を並べた形とし、この上に再帰反射部材３を設置している。このようにする事で、角度特性を改善する事ができる。尚、三角柱の角度は再帰反射部材の反射特性から決定すればよく、また、そのピッチはＣＣＤでの検出分解能以下に設定するのが望ましい。
【００３６】
〈制御・演算ユニットの説明〉
図１の制御・演算ユニットとセンサユニット１Ｌ，１Ｒの間では、ＣＣＤの制御信号、ＣＣＤ用クロック信号とＣＣＤの出力信号、および、ＬＥＤの駆動信号がやり取りされている。
【００３７】
図８は制御・演算ユニットのブロック図である。ＣＣＤ制御信号は、ワンチップマイコンなどで構成される演算制御回路８３から出力されており、ＣＣＤのシャッタタイミングや、データの出力制御などをおこなっている。ＣＣＤ用のクロックはクロック発生回路８７からセンサユニットに送られると共に、ＣＣＤとの同期をとって、各種制御を行うために、演算制御回路８３にも入力されている。
【００３８】
ＬＥＤ駆動信号は、演算制御回路８３からＬＥＤ駆動回路８４Ｌ，８４Ｒをへて、センサユニットの赤外ＬＥＤに供給されている。
【００３９】
センサユニットの検出手段であるＣＣＤからの検出信号は、制御・演算ユニットのＡＤコンバータ８１Ｌ，８１Ｒに入力され、演算制御回路からの制御によって、デジタル値に変換される。変換されたデジタル値は８２メモリに記憶され、角度計算に用いられる。
【００４０】
計算された角度から、座標値が求められ外部ＰＣなどにシリアルインタフェース８８などを介して出力される。
【００４１】
〈光量分布検出の説明〉
図９は制御信号のタイミングチャートである。
【００４２】
９１，９２，９３がＣＣＤ制御用の制御信号であり、９１ＳＨ信号の間隔で、ＣＣＤのシャッタ解放時間が決定される。９２、９２はそれぞれ左右のセンサへのゲート信号であり、ＣＣＤ内部の光電変換部の電荷を読み出し部へ転送する信号である。
【００４３】
９４、９５は左右のＬＥＤの駆動信号であり、ＳＨの最初の周期で一方のＬＥＤを点灯するために９４の駆動信号がＬＥＤ駆動回路を経てＬＥＤに供給される。次の周期でもう一方のＬＥＤが駆動される。双方のＬＥＤの駆動が終了した後に、ＣＣＤの信号が左右のセンサから読み出される。
【００４４】
読み出される信号は、入力がない場合には、それぞれのセンサからの出力として、図１０のような光量分布が得られる。もちろん、このような分布がどのシステムでも必ず得られるわけではなく、再帰反射シートの特性やＬＥＤの特性、また、計時変化（反射面の汚れなど）によって分布は変化する。
【００４５】
同図においては、Ａのレベルが最大光量であり、Ｂのレベルが最低のレベルとなる。つまり反射光のない状態では、得られるレベルがＢ付近になり、反射光量が増えるほどＡのレベルの方向になっている。この様にＣＣＤから出力されたデータは、逐次ＡＤ変換されＣＰＵにデジタルデータとして取り込まれる。
【００４６】
図１１は、指などで入力を行った、つまり、反射光を遮った場合の出力の例である。Ｃの部分が指などで反射光が遮られたため、その部分のみ光量が低下している。検出は、この光量分布の変化から行う。
【００４７】
具体的には、図１０のような入力の無い初期状態を予め記憶しておいて、それぞれのサンプル期間に図１１のような変化があるか初期状態との差分によって検出し、変化があったらその部分を入力点として入力角度を決定する演算を行う。
【００４８】
〈角度計算出の説明〉
角度計算にあたっては、まず、遮光範囲を検出する必要がある。
【００４９】
先にも述べた用に、光量分布は計時変化などで一定ではないため、システムの起動時などに記憶する事が望ましい。そうする事で、例えば、再帰反射面がほこりなどで汚れていても、完全に反射しないような場合を除いて使用可能になる。
【００５０】
以降一方のセンサのデータについて説明するが、他方でも同様の処理を行っている。
【００５１】
電源投入時、入力の無い状態で、まず投光手段から照明すること無しにＣＣＤの出力をＡＤ変換して、これをＢａｓ＿ｄａｔａ［Ｎ］として、メモリに記憶する。これは、ＣＣＤのバイアスのばらつき等を含んだデータとなり、図１０のＢのレベル付近のデータとなる。ここで、Ｎは画素番号であり、有効な入力範囲に対応する画素番号が用いられる。
【００５２】
次に、投光手段から照明した状態での光量分布を記憶する。図１０の実線で表されたデータであり、Ｒｅｆ＿ｄａｔａ［Ｎ］とする。これらのデータを用いてまずは入力が成されたか、遮光範囲があるかどうかの判定を行う。あるサンプル期間のデータをＮｏｒｍ＿ｄａｔａ［Ｎ］とする。
【００５３】
まず遮光範囲を特定するために、データの変化の絶対量によって、有無を判定する。これは、ノイズなどによる誤判定を防止し、所定量の確実な変化を検出するためである。変化の絶対量を各々の画素において以下の計算を行い、予め決定してある閾値Ｖｔｈａと比較する。 
Ｎｏｒｍ＿ｄａｔａ＿ａ［Ｎ］＝Ｎｏｒｍ＿ｄａｔａ［Ｎ］−Ｒｅｆ＿ｄａｔａ［Ｎ］    （１）
ここで、Ｎｏｒｍ＿ｄａｔａ＿ａ［Ｎ］は各画素における絶対変化量である。
【００５４】
この処理は、差をとり比較するだけなので、処理時間をさほど使わないので、入力の有無の判定を高速に行う事が可能である。Ｖｔｈａを初めて超えた画素が所定数を超えて検出されたときに入力があったと判定する。
【００５５】
次に、より高精度に検出するために、変化の比を計算して入力点の決定を行う。
【００５６】
図１２で１２１を再帰反射面とする。ここでＡ領域が汚れなどにより反射率が低下していたとすると、このときのＲｅｆ＿ｄａｔａ［Ｎ］の分布は、図１３の１３−１のように、Ａ領域の反射光量が少なくなる。この状態で、図１２のように指などの指示具が挿入され、ほぼ再帰反射部材の半分を覆ったとすると、反射光量は略半分となるため、図１３，１３−２の太線で示した分布Ｎｏｒｍ＿ｄａｔａ［Ｎ］が観測される。
【００５７】
この状態に対して、（１）を適用すると、図１４の１４−１のようになる。ここで、縦軸は初期状態との差分電圧になっている。このデータに対して、閾値を適用すると、本来の入力範囲をはずれてしまうような場合がある。もちろん、閾値を下げればある程度検出可能であるが、ノイズなどの影響を受ける可能性がある。
【００５８】
そこで、変化の比を計算することとすると、Ａ領域、Ｂ領域とも反射光量は最初の半分であるので、次式で比を計算する。 
Ｎｏｒｍ＿ｄａｔａ＿ｒ［Ｎ］＝Ｎｏｒｍ＿ｄａｔａ＿ａ［Ｎ］／（Ｂａｓ＿ｄａｔａ［Ｎ］−Ｒｅｆ＿ｄａｔａ［Ｎ］）    （２）
この計算結果を示すと、図１４，１４−２のようになり、変動比であらわされるため、反射率が異なる場合でも、等しく扱う事が可能になり、高精度に検出が可能になる。
【００５９】
このデータに対して、閾値Ｖｔｈｒを適用して、その立ち上がり部と立下り部の画素番号から、両者の中央を入力画素として、角度を求める。
【００６０】
図１４−２は説明のために模式的に描いたもので、実際にはこのような立ち上がりにはなっておらず、画素ごとに異なるレベルを示している。
【００６１】
図１５は比計算を終わったあとの検出の例である。いま閾値Ｖｔｈｒで検出すると遮光領域の立ちあがり部分は、Ｎｒ番目の画素で閾値を越えたとする。さらに、Ｎｆ番の画素でＶｔｈｒを下まわったとする。
【００６２】
このまま中心画素Ｎｐを
Ｎｐ＝Ｎｒ＋（Ｎｆ−Ｎｒ）／２              （３）
のように計算してもよいが、そうすると、画素間隔が最小の分解能になってしまう。より細かく検出するために、それぞれの画素のレベルとその一つ前の画素のレベルを用い閾値を横切った仮想の画素番号を計算する。
【００６３】
今ＮｒのレベルをＬｒ  Ｎｒ−１番画素のレベルをＬｒ−１とする。また、ＮｆのレベルをＬｆ、Ｎｆ−１番がそのレベルをＬｆ−１とすれば、それぞれの仮想画素番号Ｎｒｖ，Ｎｆｖは、
Ｎｒｖ＝Ｎｒ−１＋（Ｖｔｈｒ−Ｌｒ−１）／（Ｌｒ−Ｌｒ−１）    （４）
Ｎｆｖ＝Ｎｆ−１＋（Ｖｔｈｒ−Ｌｆ−１）／（Ｌｆ−Ｌｆ−１）                  （５）
と計算でき、仮想中心画素Ｎｐｖ
Ｎｐｖ＝Ｎｒｖ＋（Ｎｆｖ−Ｎｒｖ）／２                          （６）
で決定される。
【００６４】
このように、画素番号とそのレベルから仮想的な画素番号を計算することで、より分解能の高い検出ができる。
【００６５】
得られた中央画素番号から、実際の座標値を計算するためには、角度情報に変換する必要がある。後述する実際の座標計算では、角度そのものよりもその角度における正接（ｔａｎｇｅｎｔ）の値を求めるほうが都合がよい。画素番号から、ｔａｎθへの変換には、テーブル参照や変換式を用いる。
【００６６】
図１６は、画素番号に対するｔａｎθ値をプロットしたものである。このデータに対して近似式を求め、その近似式を用いて画素番号、ｔａｎθ変換を行う。
【００６７】
変換式は例えば高次の多項式を用いると精度を確保できるが次数などは計算能力および精度スペック等を鑑みて決定すればよい。
【００６８】
５次多項式を用いる場合には係数が６個必要になるので、出荷時などにこのデータを不揮発性メモリーなどに記憶しておけばよい。
【００６９】
今５次多項式の係数をＬ５，Ｌ４，Ｌ３，Ｌ２，Ｌ１，Ｌ０としたとき、ｔａｎθは
ｔａｎθ＝（Ｌ５＊Ｎｐｒ＋Ｌ４）＊Ｎｐｒ＋Ｌ３）＊Ｎｐｒ＋Ｌ２）＊Ｎｐｒ＋Ｌ１）＊Ｎｐｒ＋Ｌ０    （７）
であらわす事ができる。
【００７０】
同様なことを各々のセンサに対して行えば、それぞれの角度データを決定できる。もちろん、上記例ではｔａｎθを求めているが、角度そのものを求め、その後ｔａｎθを求めても構わない。
【００７１】
〈座標計算方法の説明〉
得られた角度データから座標を算出する。
【００７２】
図１７が画面座標との位置関係を示す図である。入力範囲の下辺左右にそれぞれのセンサユニットが取り付けられており、その間の距離はＤｓであらわされている。
【００７３】
画面中央が画面の原点位置であり、Ｐ０はそれぞれのセンサユニットの角度０の交点である。それぞれの角度をθＬ、θＲとして、それぞれｔａｎθＬ，ｔａｎθＲを上記多項式を用いて算出する。
【００７４】
このとき点Ｐのｘ、ｙ座標は
ｘ＝Ｄｓ＊（ｔａｎθＬ＋ｔａｎθＲ）／（１＋（ｔａｎθＬ＊ｔａｎθＲ））（８）
ｙ＝−Ｄｓ＊（ｔａｎθＲ−ｔａｎθＬ−（２＊ｔａｎθＬ＊ｔａｎθＲ））／（１＋（ｔａｎθＬ＊ｔａｎθＲ））＋Ｐ０Ｙ    （９）
で計算される。
【００７５】
図１８はデータ取得から座標計算までの工程を示したフローチャートである。
【００７６】
Ｓ１０１で、電源投入されると、演算制御回路などのポート設定、タイマ設定などさまざまな初期化が行われるＳ１０２。Ｓ１０３は立ち上げ時のみに行う不要電荷除去のための準備である。ＣＣＤなどの光電変換素子において、動作させていないときに不要な電荷が蓄積している場合があり、そのデータをそのままリファレンスデータとして用いると、検出不能になったり、誤検出の原因となる。それを避けるために、最初に照明無しで、複数回データの読み出しを行っている。Ｓ１０３ではその読み込み回数を設定しており、Ｓ１０４で照明無しで、所定回数データを読み出すことで、不要電荷の除去を行っている。
【００７７】
Ｓ１０５は所定回数繰り返すための判断文である。
【００７８】
Ｓ１０６はリファレンスデータとしての照明無しでのデータの取り込みであり、上記Ｂａｓ＿ｄａｔａに相当する。ここで取り込んだデータは、メモリに記憶され、以降計算に用いられる。これともう一つのリファレンスデータである、照明したときの初期光量分布に相当するデータＲｅｆ＿ｄａｔａを取り込みＳ１０８，これもメモリーに記憶する。
【００７９】
このステップまでが、電源投入時の初期設定動作になり、次から通常の取り込み動作になる。Ｓ１１０で上記説明したように光量分布を取り込み、Ｓ１１１でＲｅｆ＿ｄａｔａとの差分値で遮光部分の有無を判定する。
【００８０】
Ｓ１１２では、Ｓ１１１の判断結果に伴い、入力無しカウンタをセットする。ここで、遮光部分が無しと判定されたときには、入力無しカウンタを１にして、以降のステップでＳ１１０に戻る場合には、また取り込みを行いこのカウンタ値をインクリメントする。このとき、この繰り返し周期を１０［ｍｓｅｃ］程度に設定すれば、１００回／秒のサンプリングになる。遮光領域が有りと判定された場合には、入力無しカウンタを０（ゼロ）にセットする。すなわち、遮光領域が無しと判定された場合には、入力無しカウンタを上記繰り返し周期ごとに増加させていき、遮光領域が有りと判定された場合に入力無しカウンタをクリアすることになる。
【００８１】
次に、Ｓ１１３で式（２）の処理により比を計算する。この結果は、次のＳ１２１で利用される。Ｓ１２１では、Ｓ１０６からＳ１０９でメモリに記憶した照明無しデータと照明有りデータを更新するか否かを判断するサブルーチンである。詳細は改めて後述するが、Ｓ１２０のサブルーチンの戻り値によって、次のように動作する。まず、メモリデータを更新しない場合は、Ｓ１１０に戻り通常取り込み動作を継続する。また、遮光領域有り状態の場合は、Ｓ１１４以降のステップに移動する。さらには、入力無し状態でＳ１２０の戻り値が所定値の場合は、Ｓ１０６に戻りメモリデータの更新をする。これについては後述する。この項では、Ｓ１１１で遮光領域有りの場合にＳ１２１での所定の戻り値にしたがって動作するＳ１１４以降について説明を継続する。
【００８２】
Ｓ１１４では、得られた比に対して閾値で立ち上がり部、立下り部を決定し、（４）、（５）、（６）式で中心を計算するＳ１１４。得られた中心値から近似多項式よりＴａｎθを計算しＳ１１５、左右のセンサユニットでのＴａｎθ値からｘ、ｙ座標を（８）、（９）式を用いて算出するＳ１１６。次にＳ１１７にてタッチされたか否かの判定を行う。これは、例えばマウスのボタンを押下せずにカーソルを移動させてる状態のような近接入力状態と、左ボタンを押した状態であるタッチダウン状態の判定を行っている。実際には、先に得られた比の最大値が、ある所定値例えば０．５などの値を超えていればダウンと判定し、それ以下なら近接入力状態と判定する。この結果にしたがって、ダウンフラグのセットＳ１１８あるいはリセットＳ１１９を行う。
【００８３】
座標値とダウン状態が決定されたので、そのデータをホストＰＣへ送信するＳ１２０。これは、ＵＳＢ、ＲＳ２３２などのシリアル通信で送っても良いし、任意のインタフェースで送ればよい。送られたＰＣ側では、ドライバがデータを解釈し、カーソルの移動、マウスボタン状態の変更などを座標値、フラグなどを参照しておこなう事で、ＰＣ画面の操作が可能になる。
【００８４】
Ｓ１２０の処理が終了したら、Ｓ１１０の動作に戻り、以降電源ＯＦＦまでこの処理を繰り返す事になる。
【００８５】
〈座標入力用ペンの説明〉
上記の座標入力装置では、「指」での入力が可能であるが、ペンなどの指示具で入力を行うことによって、マウスの各種ボタンに対応する操作を直感的に操作することが可能となる。この指示具について、図１９を用いて説明する。本実施例における指示具４は、筆記具であるところのペン先端部を押圧することで動作するペン先スイッチ（ＳＷ）４１、並びに指示具４の筐体に設けられた複数のペンサイドスイッチ（ＳＷ）４２を具備する。このいずれかのスイッチが動作する事によって、指示具４から所定周期で信号を送信する事になる。従って所定周期毎に駆動回路４５は、タイミング信号およびコマンド信号であるところの光信号を放射し、その光信号を図８における制御信号検出回路８６が受光した後、制御信号検出回路８６は指示具４のどのスイッチが動作をしているかを判定するとともに、センサユニット１Ｌ，１Ｒの間で、ＣＣＤの制御信号、ＣＣＤ用クロック信号およびＬＥＤの駆動信号のやり取りが開始される。具体的には、指示具４がタイミング信号として放射する光信号にスイッチ情報を示す信号を重畳（その他に例えば座標入力ペンを識別するための識別コード等を重畳させる事も可能）させるものであるが、その情報を伝送する方法は、例えば連続するパルス列からなるリーダ部と、これに続くコード（メーカーＩＤなど）とからなるヘッダ部をまず出力し、その後ペンスイッチ信号等の制御信号などからなる送信データ列を予め定義された順序と形式に従って順次出力する。この方法はよく知られた方法（例えば赤外線を利用したリモコン等）であり、ここでの詳述は省略する。
【００８６】
またその他の方法としては、例えば所定周期毎に座標検出を行うこの種の座標入力装置の所定周期を変更し、その情報を検出する事で識別する事も可能である。座標入力装置が最大１００ポイント／秒、つまり１０ｍｓｅｃ毎に座標検出可能な仕様とすれば、ペン先ＳＷ４１が動作している場合には、例えば１００ポイント／秒で座標算出を行い、ペンサイドＳＷ４２が動作している場合には、８０ポイント／秒で座標算出する様に設定、つまり、各々その周期で指示具４から信号を放射することになるので、その周期を制御信号検出回路８６で監視することによって、どのスイッチが動作しているかを判別することが可能となる。
【００８７】
〈座標入力用ペンのアップダウンの説明〉
さらには、図２０のフローチャートを用いて、ペン／アップダウンについて説明すれば、まずステップＳ４０２でペン先スイッチ４１の状態を判定する。ペン先スイッチ４１がＯＮ状態とは、座標入力面であるディスプレイ６上に座標入力ペンが位置し、操作者によってまさに座標入力が行われ、筆跡を入力しようとする状態（ペンダウン状態）であり、画面上に表示された筆跡は、操作者による筆記動作に対して忠実に再現される。また例えばペン先スイッチを所定時間内に２回動作させた場合、座標入力装置の座標サンプリングレートを参照しながら、信号を受信した時間、間隔、あるいは座標を算出しているタイミング等を監視することで、マウスのダブルクリック動作を認識するように構成されている。
【００８８】
一方ステップＳ４０２でペン先スイッチが動作していない（ＯＦＦ状態）場合は、ステップＳ４０３〜Ｓ４０５において、ペンサイドスイッチの状態を判別する。本願発明の実施例においては、指示具４にはペンサイドスイッチ４２＿ａ、４２＿ｂの２個のサイドスイッチ４２が具備されており、少なくともどちらか一方がＯＮ状態にあれば、ペンアップ状態、その両者がＯＮ状態となっていればペンダウン状態として動作するように構成されている。
【００８９】
この様にペン先スイッチ４１がＯＦＦ状態、かつ少なくともどちらかのサイドスイッチ４２が動作状態となる具体的想定使用例は、操作者が座標入力面であるところのディスプレイから浮かせた位置で、画面を制御しようとしている場合であって、浮かせた位置で例えばカーソルを所望の位置に移動したり、筆跡を入力しようとする場合である。（以下、この入力状態を近接入力とよぶことにする。）つまり少なくとも一方のサイドスイッチ４２が動作している場合は、操作者は画面上に示されているカーソルを移動することができ（ペンアップ）、その両者が動作している場合には、カーソルの移動を筆跡として残すことができるような状態（ペンダウン）を実現することができるのである。つまり座標入力装置が座標を算出する際に、ペンの状態（ペンアップ、ペンダウン）を情報として同時に出力することができる様に構成してあるので、その情報を基にパソコン等に格納されている制御ソフト、或いはアプリケーションソフト等によって、所望の動作を実現することができるのである。
【００９０】
また、『少なくとも一方のサイドスイッチ』、或いは『両者のサイドスイッチ』と言うことでその状態を区別した意図は、利き腕を考慮した結果である。つまり、図１９に示すように、本願発明の座標入力ペンのサイドスイッチ４２は、指示具４の対称軸に対称に、しかも隣接するように配置してあるので、右利き、左利きの区別無く、同一の動作で同一の効果が得られるように構成したものである。サイドスイッチの他の実施例としては、２段スイッチ、つまりスイッチのキートップを押圧することで１段目のスイッチが動作し、さらに押圧することによって２段目のスイッチが動作するスイッチを用いることによって、同様の効果も得られる。
【００９１】
一方、指示具４のいずれかのスイッチが動作している状態は、常に所定周期での座標算出、つまり指示具４から信号が所定周期で放出されている状態である。従って、このタイミング信号であるところの光信号を所定周期毎に検出できるかどうかによって、最初の座標を検知した状態から、『連続的／継続的に座標が入力されている状態』にあるのか、『連続的に座標入力が行われている状態が中断した状態』にあるのかを判定することができる。つまり、制御信号検出回路８６のスタート信号の発生タイミングを監視（座標サンプリングレートを１００回／秒とすれば、０．０１秒毎にスタート信号が発生する）する事によって、『連続入力』の状態にあるかどうかを判定する。
【００９２】
さらには、『連続入力』を判定する手段としては、所定時間を設定し、その所定時間内に信号（例えば本実施例の場合には、スタート信号であるところの光信号）が検知されるか、あるいは座標値が検出されたかを判定しても良い。
【００９３】
〈メモリデータの更新に関する説明〉
ここで、照明の非点灯時の初期データおよび点灯時の初期データ更新に関する説明をする。先述したとおり、太陽光や照明光などの外乱光の影響を考慮せずに装置を構成すると座標算出精度に大きく影響するという課題がある。これは、受光手段が検出する光量分布が指示具や指などの入力がない場合にも外乱光によって変化してしまうことに起因する。すなわち、所望の光量分布を得るために光を照明し、遮蔽位置を検出するが、この照明が点灯していない場合でも外乱光があるために、照明の点灯時の受光分布はこの外乱光を含むものとなる。一般的に外乱光をキャンセルするために、メモリには照明の非点灯時のデータを保存しておき、入力があった場合には、入力なし状態との光量分布を差分して、両方の光量分布データに含まれている外乱光をキャンセルして、入力位置座標を算出する。しかしながら、実際には、時間的な変化や設置場所の変化によって、メモリに記憶したデータとは、受光手段が検出する光量分布が異なってくる。そこで、本願の光学式座標入力装置は、以下のような工程の処理をふむことによって、メモリデータを変更し、常に安定した座標算出を可能とする。
【００９４】
まず、先述した図１８のデータ取得から座標計算までの工程を示したフローチャートにおいて、サブルーチンＳ１２１のメモリデータを更新するか否かの判断について図２１および図２２を用いて説明する。
【００９５】
図２１は、図１８のＳ１２１サブルーチンのフローチャートおよび該サブルーチンの戻り値を説明するための図である。
【００９６】
まず、Ｓ２０２でデータを更新するか否かの判断が実行される。この判断の詳細については、図２２を用いて後述することにして、図２１の説明を継続する。図２１のＳ２０３では、図１８のＳ１１２でセットされた入力無しカウンタｎの値をチェックする。そして、Ｓ２０４でＳ２０２で処理したメモリデータを更新するか否かの判定結果とＳ２０３で処理した入力無しカウンタの値によって、戻り値となるフラグを図２１の表のようにセットする。
【００９７】
すなわち、入力無しカウンタが０（ゼロ）（遮光領域が有り）の場合は、メモリデータ更新判定結果にかかわらず、戻り値フラグを０（ゼロ）とし、入力無しカウンタがｎ＜５の場合は、メモリデータ更新判定結果にかかわらず、戻り値フラグを１とし、入力無しカウンタがｎ≧５の場合は、メモリデータ更新判定結果がＹ（判定方法は後述）の場合に戻り値フラグを２とする。
【００９８】
ここで、上記では戻り値フラグを２とする入力無しカウンタｎの値を５としたが、この値はこれに限定されるものではなく、入力無し状態であると判断できるカウンタ値であればいずれでもよい。先に取り込みの周期を１０ｍｓとしたが、カウンタ値が５ということは、５０ｍｓの間入力無し状態が継続しているということである。入力無し状態を確実にするためには、入力無しカウンタ値がさらに大きくなった場合に、メモリデータを更新するようにすればよく、システムによって適宜設定すればよい。
【００９９】
さて、図２１のＳ２０２のメモリデータの更新判定について、図２２を用いて説明する。
【０１００】
図２２は初期状態に対して外乱光が増減した場合の図１８におけるＳ１１１からＳ１１３で処理される受光手段で検出される光量分布データの処理およびＳ１２１のサブルーチンで実行されるメモリデータを更新するか否かを判定するのに用いるデータを模式的に示した図である。
【０１０１】
図２２中（１）のデータは、先述のＢａｓ＿ｄａｔａ［Ｎ］に相当する。また、図２２中（２）はＲｅｆ＿ｄａｔａ［Ｎ］、また（３）はＮｏｒｍ＿ｄａｔａ＿ａ［Ｎ］に相当する。ここで、何らかの影響で外乱光が生じた場合の遮光領域無し時のデータは（４）となり、（２）のデータに（Ｎ１）の領域の光量分布が加算されたような分布となり、Ｓ１１１で計算されたデータは（６）となる。同様に、遮光領域有りの時のデータは（９）となる。
【０１０２】
さらにＳ１１３で計算された比（変化率）は（１０）のようになり、初期状態にメモリに記憶した照明の点灯・非点灯のデータを更新するかどうかの判断は、この図２２（１０）を用いて判断することとなる。ここで、座標を有効とする閾値を（Ａ）とし、外乱光と判定する閾値を（Ｂ）とし、それぞれの閾値を超えたかどうかをＳ２０２で判定することになる。この判定は、遮光領域無しの時も可能で、（１０）を算出したのと同様に、（６）のデータと（２）のデータとの変化率を計算して、閾値（Ｂ）と比較することによって算出することができる。なお、外乱光は、初期状態のメモリに記憶しているデータに対して、増加したり減少したりするので、変化率は絶対値で閾値と比較することにすれば、処理が簡易になる。
【０１０３】
（他の実施例）
先述の実施例では、１画素でもしきい値を超えていれば、メモリデータを更新する旨の判断をしていたが、Ｓ１１３の計算された比（変化率）からメモリデータを更新するか否かの判断は、上記に限定されるものではない。
【０１０４】
上記実施例においては、外乱光の変動が比較的俊敏に起こりうる場合に有効である。
【０１０５】
しかしながら、設置場所によって、あるいは時間帯によって等、環境変化が鈍い場合には、データの更新頻度を少なくするために、閾値を所定の範囲連続して超えた場合にメモリデータを更新する旨の判断をしてもよい。この場合、入力領域に対してある領域に入射する外乱光が存在する場合等に有効である。
【０１０６】
また、光量分布のデータ数に対して、所定の割合のデータが閾値を超える場合に、メモリデータを更新する旨の判断をしてもよい。この場合、入力領域に対して散乱して入射する外乱光に対して有効となる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の構成を説明する平面図。
【図２】再帰反射の説明図。
【図３】投光手段の構成の説明図。
【図４】受光手段の構成。
【図５】センサユニットの構成の説明図。
【図６】入射角度に対する再帰反射特性の例。
【図７】再帰反射部材の添付部材の構成例。
【図８】制御ユニットのブロック図。
【図９】発光のタイミングチャート。
【図１０】光量分布の例。
【図１１】入力が成された場合の光量分布の例。
【図１２】経時変化の例の説明図。
【図１３】光量変化の説明図。
【図１４】光量変化量と光量変化率の説明図。
【図１５】遮光範囲の検出例。
【図１６】補正のためのデータの例。
【図１７】座標算出の説明図。
【図１８】制御のフローチャート。
【図１９】指示具４のブロック図
【図２０】ペンアップ／ダウン設定のフローチャート。
【図２１】メモリデータの更新について説明するフローチャートおよび図。
【図２２】メモリデータの更新について説明する図。
【符号の説明】
【０１０８】
１Ｌ，１Ｒ  センサユニット
２  制御・演算ユニット
３  再帰反射部材
４  入力領域
【図１】
2006018566.tif 000003
【図２】
2006018566.tif 000004
【図３】
2006018566.tif 000005
【図４】
2006018566.tif 000006
【図５】
2006018566.tif 000007
【図６】
2006018566.tif 000008
【図７】
2006018566.tif 000009
【図８】
2006018566.tif 000010
【図９】
2006018566.tif 000011
【図１０】
2006018566.tif 000012
【図１１】
2006018566.tif 000013
【図１２】
2006018566.tif 000014
【図１３】
2006018566.tif 000015
【図１４】
2006018566.tif 000016
【図１５】
2006018566.tif 000017
【図１６】
2006018566.tif 000018
【図１７】
2006018566.tif 000019
【図１８】
2006018566.tif 000020
【図１９】
2006018566.tif 000021
【図２０】
2006018566.tif 000022
【図２１】
2006018566.tif 000023
【図２２】
2006018566.tif 000024