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