(57)【要約】【課題】  外乱の影響を受けることなく、高精度、高分解能な座標算出を提供する。【解決手段】  座標入力動作が開始される際のＣＣＤ画素信号波形（入力信号）と、その直前、もしくはその所定回数前にサンプリングされたＣＣＤ画素信号波形（基準信号）の差分信号により、指示具の指示位置を算出するように構成する。さらには、連続的に座標入力が行われている間、参照信号を更新しないように構成する。【選択図】  図１
2006107243.tif 000002
【特許請求の範囲】
【請求項１】
座標入力有効領域の角部に少なくとも２個の受光検出手段が設けられ、該受光手段が検出した光量分布の変化から、指または指示具等が指示した方向を検出する角度検出手段を有し、導出した複数の角度情報に基づき、前述指または指示具等が指示した位置座標を算出する光学式座標入力装置であって、
位置座標算出のためにサンプリングされた検知手段の出力結果と、そのサンプリングの直前にサンプリングされた検知手段の出力結果との差分情報より、指または指示具等が指示した方向を検出する角度検出手段を有する事を特徴とする座標入力装置。
【請求項２】
投光手段によるサンプリング回数ｎ回目の投光時の検出手段の出力結果を基準データとして記憶する基準データ記憶手段と、サンプリング回数ｎ+1回目の投光時の検出手段の出力結果と、前記記憶手段意に記憶されている出力結果の差分値より、指または指示具等が指示した方向を算出する角度検出手段を有し、角度検出手段によるサンプリング回数ｎ+1回目の投光時の指または指示具等が指示した方向を算出した後、前記サンプリング回数ｎ+1回目の投光時の検出手段の出力結果を前記基準データとして基準データ記憶手段のデータを更新する基準データ更新手段を有する事を特徴とする請求項１に記載の座標入力装置。
【請求項３】
指、あるいは指示具等による座標入力が行われていない状態で、投光手段による投光が非投光時の検出手段の出力結果、並びに投光手段による投光が行われている時の検出手段の出力結果、もしくは両者の差分情報を記憶する記憶手段をさらに有する事を特徴とする請求項１または２に記載の座標入力装置。
【請求項４】
座標入力有効領域の角部に少なくとも２個の受光検出手段が設けられ、該受光手段が検出した光量分布の変化から、指または指示具等が指示した方向を検出する角度検出手段を有し、導出した複数の角度情報に基づき、前述指または指示具等が指示した位置座標を算出する光学式座標入力装置であって、
位置座標算出のためにサンプリングされた検知手段の出力結果と、前記出力結果より遮光部位の有無を判定する入力判定手段と、位置座標算出のためにサンプリング周期に基づき、連続的な座標入力動作が行われているかを監視する監視手段と、サンプリングされた検知手段の出力結果を基準データとして記憶する基準データ記憶手段と、前記入力判定手段と、前記監視手段の出力結果に基づき、サンプリングされた検知手段の出力結果を基準データ記憶手段に記憶、更新するかを決定する決定手段を有し、サンプリングされた検知手段の出力結果と基準データ記憶手段に記憶されている直前の信号、もしくは所定周期前にサンプリングされた信号との差分情報に基づき、指または指示具等が指示した各々の方向を検出する角度検出手段を有する事を特徴とする座標入力装置。
【請求項５】
サンプリングされた検知手段の出力結果を基準データ記憶手段に記憶、更新するかを決定する決定手段は、連続的に入力判定手段の判定結果に基づき遮光部位が存在しない場合に、サンプリングされた信号を基準データとして記憶する第一の基準データ更新手段と、前記監視手段の出力結果及び判定手段の判定結果に基づき、遮光部位が存在している状態から次のサンプリングで遮光部位が存在しない状態に変化した際に、それ以降の所定サンプリング期間、連続的に遮光部位が存在しない場合のみ、サンプリングされた信号を基準データとして記憶する第二の基準データ更新手段を有することを特徴とする請求項４に記載の座標入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標入力装置、より詳しくは、入力面に指示具や指によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置であって、その性能を改善する技術に関する。
【背景技術】
【０００２】
従来より、この種の装置としては、タッチパネルとして各種の方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でPCなどの操作が簡単にできるため、広く用いられている。
【０００３】
方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、特許文献１などに見られるように、座標入力面外側に再帰性反射シートを設け、光を照明する手段からの光を再帰性反射シートで反射し、受光手段により光量分布を検出する構成において、入力領域内にある指などで遮蔽された領域の角度を検出し、遮蔽位置つまり入力位置の座標を決定するものが知られている。
【０００４】
この光方式の装置は、前述した光を照明する手段からの光のみを受光手段で検出することが望ましい。しかしながら、実際には、受光手段は、光を照明する手段からの光以外にも、装置の設置場所により太陽光や照明光等、さまざまな光を検出してしまい、座標算出精度の低下、あるいは誤検出といった障害をもたらす。この課題を解決するべく関連する従来の技術として、特許文献２、特許文献３、特許文献４には外乱光の影響を除去した座標入力装置の内容が記載されている。
【特許文献１】米国特許ＵＳＰ４５０７５５７号
【特許文献２】特開２００２−１０８５５４号公報
【特許文献３】特開２０００−１０５６７１号公報
【特許文献４】特開２０００−１３２３４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記で述べたように、太陽光や照明光などの外乱光の影響を考慮せずに装置を構成すると座標算出精度に大きく影響するという課題がある。
【０００６】
これは、受光手段が検出する光量分布が指示具や指などの入力がない場合にも外乱光によって変化してしまうことに起因する。すなわち、所望の光量分布を得るために光を照明し、遮蔽位置を検出するが、この照明が点灯していない場合でも外乱光があるために、照明の点灯時の受光分布はこの外乱光を含むものとなる。通常、外乱光をキャンセルするために、メモリには照明の非点灯時のデータを保存しておき、入力があった場合には、入力なし状態との光量分布を差分して、両方の光量分布データに含まれている外乱光をキャンセルして、入力位置座標を算出する。
【０００７】
例えば、特許文献２では、投光手段の点灯時と非点灯時の信号の差分を連続的（毎サンプリング）に検出して外乱光の影響を除去する旨の内容が記載されている。
【０００８】
しかしながら、この種の座標入力装置は、コンピュータの表示装置と一体型に構成する場合が圧倒的に多く、描画スピードが性能を評価する重要な項目のひとつとなる。すなわち、操作者がストレスなく入力することができることが重要であり、操作者の入力スピードに対して描画スピードが遅れなく追従することが必須である。
【０００９】
しかしながら、特許文献２においては、座標算出（座標出力）サンプリングごとに毎回、照明の点灯、非点灯時のデータを取得しメモリに蓄積するために、上記で述べたような座標出力速度を満足するのは困難である。
【００１０】
また、ディスプレイが大型化・高解像度化し、ディスプレイの画素に対して十分な分解能を有する座標入力装置とするためには、受光手段の高分解能化が必須であり、この受光手段で検出する光量分布データを記憶するためのメモリへのアクセスも極力少なくすることが望ましい。
【００１１】
一方、特許文献３、特許文献４には、予め撮像した入力領域の画像を基準画像として記憶し、その後各撮像素子で撮像した入力領域の画像と該基準画像の差分を抽出することで、外乱光、不要光の影響を除去する構成が開示されているが、予め撮像した入力領域の基準画像情報と、その装置の使用中に実際に検出される画像情報が例えば外乱光／不要光により変化した場合は、その影響を除去できず、大幅に精度を劣化させる危険性があった。前述の外乱光／不要光が使用中に変化して、精度が大幅に劣化するような場合には、操作者がそのことを判断して、基準画像を更新すれば、外乱光／不要光の影響を除去できる様になるが、その動作を例えば装置使用中の会議中にしなければならず、会議進行の中断等を考慮すれば、決して操作性に優れる装置とは言えない。
【００１２】
本発明は上記従来の問題点に鑑み、外乱の影響を受けることなく、高精度、高分解能な座標算出が可能な光学式座標入力装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の光学式座標入力装置では、座標入力有効領域の角部に少なくとも２個の受光検出手段が設けられ、該受光手段が検出した光量分布の変化から、指または指示具等が指示した方向を検出する角度検出手段を有し、導出した複数の角度情報に基づき、前述指または指示具等が指示した位置座標を算出する光学式座標入力装置であって、位置座標算出のためにサンプリングされた検知手段の出力結果と、そのサンプリングの直前にサンプリングされた検知手段の出力結果との差分情報より、指または指示具等が指示した方向を検出する角度検出手段を有する事を特徴とすることを特徴とする。
【００１４】
また、上記目的を達成するために、本発明の光学式座標入力装置では、座標入力有効領域の角部に少なくとも２個の受光検出手段が設けられ、該受光手段が検出した光量分布の変化から、指または指示具等が指示した方向を検出する角度検出手段を有し、導出した複数の角度情報に基づき、前述指または指示具等が指示した位置座標を算出する光学式座標入力装置であって、位置座標算出のためにサンプリングされた検知手段の出力結果と、前記出力結果より遮光部位の有無を判定する入力判定手段と、位置座標算出のためにサンプリング周期に基づき、連続的な座標入力動作が行われているかを監視する監視手段と、サンプリングされた検知手段の出力結果を基準データとして記憶する基準データ記憶手段と、前記入力判定手段と、前記監視手段の出力結果に基づき、サンプリングされた検知手段の出力結果を基準データ記憶手段に記憶、更新するかを決定する決定手段を有し、サンプリングされた検知手段の出力結果と基準データ記憶手段に記憶されている直前の信号、もしくは所定周期前にサンプリングされた信号との差分情報に基づき、指または指示具等が指示した各々の方向を検出する角度検出手段を有する事を特徴とする。
【発明の効果】
【００１５】
以上説明した様に本願発明は、指、または指示具の位置座標をサンプリングするために、投光手段によるサンプリング回数Ｎ回目の投光時の検出手段の出力結果を基準データとして記憶する基準データ記憶手段と、サンプリング回数Ｎ+1回目の投光時の検出手段の出力結果と差分値を算出する事で、角度検出手段による角度検出が高精度に行える。つまり、サンプリング回数Ｎ回目とサンプリング回数Ｎ+1回目には、その時間的インターバル（100回/秒でサンプリング可能な座標入力装置に有っては、0.01秒相当の時間）では、座標算出精度を低下させる要因となる外乱光が同等に含まれるので、両者の差分信号を生成する事で外乱光による影響を排除でき、その結果高精度な座標算出を可能とする優れた効果が得られる様になる。
【００１６】
さらには、前記サンプリング回数Ｎ+1回目の投光時の検出手段の出力結果を、格納されている基準データの更新データとして更新し、基準データ記憶手段に更新／記憶する基準データ更新手段を有するので、座標入力装置を長時間使用する場合に想定される外乱光の影響の度合いが変化しても、常に高精度な位置検出できる。さらには、投光手段による投光が非点灯時の検出手段の出力結果、並びに投光手段による投光が行われている時の検出手段の出力結果、もしくは両者の差分情報を記憶する記憶手段を有する場合に合っては、その情報の更新は長時間使用する際の最初の電源投入時のみ、もしくは工場出荷時のみに設定すればよく、長時間使用等によって想定される外乱光の変化により、例えば操作者がリセット動作して外乱の影響を除去しなければならないような、操作者の不要な動作を排除し、信頼性が高く操作性に優れる座標入力装置を実現できるようになった。
【００１７】
さらには、本願発明の第二の実施例に示されるが如く、遮光部位の有無を判定する入力判定手段と、位置座標算出のためにサンプリング周期に基づき、連続的な座標入力動作が行われているかを監視する監視手段(Flagのリセット、セット動作)とを設けることで、外乱光の影響を除去するとともに、指示具等の微小変位をも検出できる高分解能な座標入力装置を構成できる優れた効果が得られるようになった。
【００１８】
さらには、本願発明の第三実施例に示されるが如く、座標検出のためのサンプリングデータと所定回数前にサンプリングされたサンプリングデータの差分情報を用いて、指示具等による座標入力動作が行われているかを判定するように構成したので、その判定を容易にし、その結果、例えば操作者が入力した筆跡を忠実に再現できるように構成したので、操作性に優れ信頼性の高い座標入力装置を構成できる優れた効果が得られるようになった。
【発明を実施するための最良の形態】
【００１９】
本発明の遮光型座標入力装置の実施の形態について、図面を参照しながら説明する。
【００２０】
まず、本発明に係る座標入力装置の概略構成について図3を用いて説明する。
【００２１】
図中１L、１Rは投光手段および検出手段を有するセンサユニット１であり、本実施例の場合、図示の如く座標入力有効領域3のX軸に平行に、かつY軸に対称な位置に所定距離離れて配置されている。センサユニット１は制御・演算ユニット２に接続され、制御信号を制御・演算ユニット２から受け取ると共に、検出した信号を制御・演算ユニット２に送信する。4は入射光を到来方向に反射する再帰反射面を有する再帰反射手段であり、左右それぞれのセンサユニット１から略90°範囲に投光された光を、センサユニット１に向けて再帰反射する。
【００２２】
さて、再帰反射部材4で再帰反射された光は、集光光学系とラインCCD等によって構成されたセンサユニット１の検出手段によって1次元的に検出され、その光量分布が制御・演算ユニットに送られる。
【００２３】
前述した座標入力有効領域3は、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面で構成することで、インタラクティブな入力装置として、利用可能となる。
【００２４】
このように構成することで、入力領域に指などによる入力指示がなされると、上記投光手段から投光された光が、指等の指示手段によって遮られ、センサユニット１の検出手段ではその部位のみの光（再帰反射による反射光）を検出する事ができなくなり、その結果、どの方向からの光が検出できなかったかを判別することが可能となる。つまり制御・演算ユニット２の演算制御手段は、左右のセンサユニット１の光量変化から入力指示された部分の遮光範囲を検出し、その遮光範囲の情報から遮光位置の方向（角度）をそれぞれ導出する。さらに、前記導出された方向（角度）、及びセンサユニット１L、及び１R間の距離情報等から、入力エリア上の座標位置を算出すると共に、表示装置に接続されているPCなどに、USBなどのインタフェースを経由して座標値を出力する。
【００２５】
このようにして、指等の指示具によって、画面上に線を描画したり、表示画面上のアイコン操作によりPCの制御等が可能となる。
【００２６】
以降、各部分毎にその構成、動作について詳細説明を行う。
【００２７】
〈センサユニット１の詳細説明〉
図４はセンサユニット１中における投光手段の構成例を示したものである。
【００２８】
図４−１は投光手段を正面方向（座標入力面に対し垂直方向）から見た図であり、図中31は赤外光を発する赤外LEDであり、発光した光は投光レンズ３２によって、略90°範囲に光を投光する。一方、図４−２は同じ構成を横から見た側面図であり（入力面に対し水平方向）、この方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に、再帰反射部材4に対して光が投光されるように構成されている。
【００２９】
図５はセンサユニット１中における検出手段を図示したのものであり、図４と同様に、図５−１は正面方向（座標入力面に対して垂直方向）から、また図５−２はその側面図である。なお正面図５−１中の破線部分は、側面図５−2に示される前述したセンサユニット１中の投光手段の配置を示すものである。本実施例の場合、投光手段と検出手段を重ねて配置しており、その距離Lは、投光手段から再帰反射手段４までの距離に比べて十分に小さな値であり、距離Lを有していても十分な再帰反射光を検出手段で検知することが可能な構成となっている。
【００３０】
また、図５−２において本願発明の検出手段は、1次元のラインCCD４１および集光光学系としてのレンズ４２，４３および、入射光の入射方向を概略制限する絞り４４、可視光など余分な光の入射を防止する赤外フィルター４５からなり、投光手段で投光された光は、再帰反射部材4によって反射され、前述赤外フィルター４５、絞り４４を抜けて集光用レンズ４２，４３によって、CCDの検出面上に集光される。
【００３１】
さらに図５−１において説明を加えると、前述した略90°方向に投光された投光手段の光は、再帰反射部材4によって反射され、前述赤外フィルター４５、絞り４４を抜けて集光用レンズ４２，４３によって、反射光の入射角に応じたCCD41の画素上に結像することになる。従って、CCD４１の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、CCD41画素番号が角度情報を示すことになる。
【００３２】
〈制御・演算ユニットの説明〉
図３の制御・演算ユニット２とセンサユニット１L、 センサユニット1Rの間では、CCDの制御信号、CCD用クロック信号、CCDの出力信号、および、LEDの駆動信号がやり取りされている。
【００３３】
図６は制御・演算ユニットのブロック図である。CCD制御信号は、ワンチップマイコンなどで構成される演算制御回路８３から出力されており、CCDのシャッタタイミングや、データの出力制御などをおこなっている。CCD用のクロックはクロック発生回路８７からセンサユニットに送られると共に、CCDとの同期をとって、各種制御を行うために、演算制御回路83にも入力されている。
【００３４】
LED駆動信号は演算制御回路83からLED駆動回路84L、84Rをへて、センサユニット１中の赤外LED31に供給されている。
【００３５】
センサユニット１の検出手段であるCCD41からの検出信号は、制御・演算ユニット２中のADコンバータ81L、81Rに入力され、演算制御回路83からの制御によって、デジタル値に変換される。変換されたデジタル値は必要に応じてメモリ82に記憶され、後述する方法で角度算出、さらには座標値が求められ、その結果を外部PCなどにシリアルインタフェース88などを介して出力される。
【００３６】
〈光量分布検出の説明〉
図７は制御信号のタイミングチャートである。
【００３７】
９１，９２，９３がCCD制御用の制御信号であり、９１SH信号の間隔で、CCDのシャッタ解放時間が決定される。９２、９３はそれぞれ左右のセンサへのゲート信号であり、CCD内部の光電変換部の電荷を読み出し部へ転送する信号である。
【００３８】
９４、９５は左右のLEDの駆動信号であり、SHの最初の周期で一方のLED（センサユニット１L中のLED）を点灯するために94の駆動信号がLED駆動回路（この場合LED駆動回路84L）を経てLEDに供給される。次の周期でもう一方のLED（この場合、センサユニット１R中のLED）が駆動される。双方のLEDの駆動が終了した後に、CCDの信号が左右のセンサから読み出される。
【００３９】
次に読み出されるＣＣＤ信号について説明するが、理解を容易にするために、ここでは太陽光等の外乱光（不要光）が全く無いもの、つまり後述する初期データに時間的変化が全くないものとして説明する。
【００４０】
図８−１は、投光手段による投光が非投光の状態で、光信号が全く検出されない場合の信号であり、図８−２は、例えば指、或いは指示具等５による座標入力がない場合（遮光部分が無い場合）であって、投光手段による投光が行われた際に得られるＣＣＤ信号を、それぞれ模式的に示した図である。図８−２の出力信号は、再帰反射シート4の特性（前述した再帰反射部材4の入射角に依存する再帰反射効率）やLEDを含む投光手段の特性、座標入力有効領域の大きさ、形状（大きさ、形状により投光手段からの光線が再帰反射部材に入射する入射角が変化するほか、投光手段から再帰反射部材までの光線距離が大きく変化するため等による）、さらには経時変化（反射面の汚れなど）によって、この分布は変化する。従って、図8−2に示される例えばレベルＡの値に、ＣＣＤ画素の各々の出力レベルが一定になるように構成する事は事実上困難であり、図８−２に示すが如く、レベル的に不均一な信号が出力されるのが通例である。
【００４１】
従って、図８−１、図８−２において、Aのレベルが最大光量を検出した時のレベルであり、Bのレベルが最低レベルであるものとすれば、再帰反射部材からの反射光がない状態では、得られるレベルはB付近（ここでの説明は、前述の通り外乱等の不要光が存在しないと仮定しているため）になり、反射光量が増えるほどAのレベルに近づく事になる。この様にCCDから出力されたデータは、逐次AD変換されCPUにデジタルデータとして取り込まれる。
【００４２】
図８−３は指などで入力を行った、つまり、反射光を遮った場合の出力の例である。Cの部分が指などで反射光が遮られたため、その部分のみ光量が低下している。検出は、この光量分布の変化を検知して行うものであり、具体的に説明すれば、まず図８−１、及び図８−２のように、座標入力が行われていない初期状態（以後、初期状態で得られたデータを初期データと言う）を予めメモリ82に記憶しておき、それぞれのサンプル期間で得られるデータとあらかじめ記憶しておいた初期データとの差分を算出する事で、図８−３のような変化があるかどうかを判別する。
【００４３】
〈角度計算の説明〉
さて、電源投入時、入力の無い（遮光部分が無い）状態で、まず投光手段から照明すること無しにCCDの出力をAD変換して、これをBas_data[N]（図８−１相当の信号）として、メモリ82に記憶する。これは、CCD41のバイアスのばらつき等を含んだデータとなり、図８−１のBのレベル付近のデータとなる（ここでは前述した通り不要光は検出されないものとして説明している）。ここで、Nは画素番号であり、有効な入力範囲に対応する画素番号が用いられる。次に、投光手段から照明した状態での光量分布を記憶し（図８−２相当の信号）、Ref_data[N]とし、初期データの記憶を完了する。
【００４４】
さて、あるサンプル期間のデータをNorm_data[N]とすれば、先にも述べたがＣＣＤが出力するNorm_data[N]の分布は、図８−２にも示すように均一とはならないので、信号レベルの絶対レベルで処理を進めると、正確な遮光位置を算出するのが困難となる。従って、次式で示されるように、変化の比を計算して入力位置の決定をより高精度に行うように構成した。
【００４５】
Norm_data_r[N] = 
（Norm_data_[N]−Bas_data[N]）／(Ref_data[N]−Bas_data[N])      (2)
この計算結果を示すと、図８−４のようになり、変動比であらわされるため、例えば閾値Vｔｈｒを設定して、その立ち上がり部と立下り部の画素番号から、例えば両者の中央を入力画素として、高精度に画素情報が取得可能となる。無論、先に示した式（１）による入力の判定有無を、この新たに設定される閾値Vｔｈｒを用いて行っても良い事は言うまでも無い。
【００４６】
ところで、図８−４は説明のために模式的に描いたものであり、実際の検出信号波形は、遮光部分を詳細に表示すると、図９の様になる。いま閾値Vthrと比較して遮光領域の立ち下がり部分は、Nr番目の画素で閾値Vthrを越えたとし、Nｆ番の画素で閾値Vthrを上まわったと仮定する。この時、出力すべきCCDの画素番号Npを、先に説明した様に、立ち上がり部と立下り部の画素番号の中央値として
Np  =  Nr + (Nf-Nr)/2                              (3)
のように計算してもよいが、そうすると、CCDの画素間隔が出力画素番号の分解能になる。そこで、より高分解能に検出するために、画素の出力レベル情報を用いて演算を行う。
【００４７】
図９において、画素番号NrのCCD出力レベルをLr  画素番号Nr-1の出力レベルをLr-1とする。同様に、画素番号Nfの出力レベルをLf、画素番号Nf-1の出力レベルをLf-1とする。このとき検出すべき画素番号を、それぞれのNrv、Nfvとすれば、
Nrv  ＝ Nr-1  + ( Vthr  -  Lr) / ( Lr-1   -  Lr )              (4)
Nfv  ＝ Nf-1  + ( Vthr  -  Lf-1 ) / ( Lf  -  Lf-1 )            (5)
と計算すれば、出力レベルに応じた仮想の画素番号、つまりCCDの画素番号よりも細かい画素番号を取得でき、出力される仮想中心画素Npvは、
Npv  =  Nrv + (Nfv-Nrv)/2                          (6)
で決定される。
【００４８】
このように、画素番号とその画素の出力レベルから仮想的な画素番号を計算することで、より分解能の高い検出が可能となる。
【００４９】
〈外乱の影響、及びその除去に関する説明〉
さて以上の説明に有っては、太陽光等の外乱光（不要光）の影響について、何ら考慮されていない。そこで、ここでは不要光の影響と、その影響を除去するための構成について説明する。
【００５０】
今仮に前述した初期データ（Base_data[Ｎ]、及びRef_data[N]相当）を工場の出荷時に設定するものとすれば、外乱光が無い状態にある検査室等でその設定が行えるので、外乱光無しの初期データを取得する事は可能である。しかしながら製品が市場においてユーザの下で実際に設置される環境は、製品の頭上には蛍光灯、発熱球等の照明器具が存在するであろうし、窓を有する会議室等に有っては、太陽光が直接センサユニットを直射して、太陽光が検出される事も想定される。この不要光の影響を緩和するために、前述した赤外フィルター45が各センサユニットに設けられているが、この不要光の完全な除去は不可能であり、そのような設置環境にあっては、何らかの不要光を検出してしまうことを前提としなければならない。
【００５１】
さらには、実際に使用している際に、例えば再帰反射部材4の所定の位置にゴミが付着した場合を想定すると、その部分における再帰反射効率が低下するので、あたかも、センサから見てその方向に座標入力動作による遮光部位が形成されたと誤検出してしまい、重大な障害を引き起こす結果となり得る。
【００５２】
つまり、初期データであるところの、投光手段による投光が非投光時のBase_data[Ｎ]、及び投光手段による投光時のRef_data[N]を工場の出荷時に設定してしまう仕様では、実際にユーザが設置する環境、あるいは経時的な変化によって、その環境で得られる投光手段による投光時、及び非投光時のデータが、設定されている初期データと異なる結果となり、工場出荷時に初期データを設定して、上記の説明が如く演算を実行すれ方法では、座標算出性能の劣化は顕著となる。
【００５３】
そこで、操作者がシステムを起動する際に、前述した初期データを更新／記憶する様な仕様にすれば、その使用中に不要光の変化、あるいは使用中にゴミが付着して大幅に反射効率が変化したと言うことが無ければ、設置環境、あるいは装置の経年変化等による光学的特性変化が起きても、座標算出精度の劣化、あるいは誤動作を無くすことができる。
【００５４】
しかしながら、システムを起動して、長時間に渡って使用した場合（長時間に渡って初期データが更新されない場合）には、次の様なことが懸念される。仮に本願発明の光学式座標入力装置を組み込んだ装置を、窓を有する会議室に設置した場合、日中においては太陽光によりその会議室は照らされるだろうし、夜間においては、蛍光灯等により会議室の明るさを保持する事になる。この光源の変化に着目して例えば、正午より会議を開催するためにシステムを立ち上げ、投光手段による投光が非投光の場合のBas_data[N]が図１０−１の様に得られたとすれば、その出力データはＢレベル付近のデータではあるものの、太陽光の影響を検出してしまい、先に説明した図８−１の状態（太陽光の入射が無い状態）とは異なる結果となる。この状態で、投光手段による投光時のデータRef_data[N]を取得すれば、図８−２における太陽光の影響を受けない出力信号と、図１０−１における太陽光の影響のみを検出した信号が重畳した信号として、図１０−２の様な信号が得られる。この太陽光の影響の度合いが一定（図１０−１の出力分布が変化しない）であれば、上述した方法により、指、もしくは指示具による遮光部位を正確に演算できる。しかしながら、会議の進行に伴ない、太陽が雲に隠れて会議室が薄暗くなった、あるいは、夕刻まで継続的に会議が続けられて外は暗くなり、蛍光灯が点灯されたような状態（ここでの説明では、蛍光灯による不要光は全く検出されないものとする）になると、太陽光の影響は全く排除される。その時、ＣＣＤセンサで得られる信号は、例えば指、指示具による遮光が生成されていない状態（座標入力が行われていない状態）では、図１０−３の様になる（太陽光の影響を受けず不要光が全く検出されない状態なので、図８−２の出力信号と同等）。この時の変動比Norm_data_r[N]を計算すると図１０−４の様になり、閾値Vthrの値によっては、Ｄ部分で遮光部位を検出してしまう結果となる。つまり、外乱の影響の度合いが変化する事により、指示（座標入力）していないにもかかわらず、あたかも指示しているが如く座標値を出力してしまう結果となり、ユ−ザにとって大きな問題を発生させることになる。
【００５５】
無論、この現象を回避するためには、初期データであるところのRef_data[N]、及びBas_data[N]を適宜更新すれば良いが、この更新作業中には座標入力動作を行うと誤検出の原因となるので、例えば、スイッチ手段等を用いてユーザが意図的に更新作業モードに遷移するように設定する必要が有り、会議の中断等を強制する製品仕様となる課題を有する。
【００５６】
そこで本願発明は、図８−４、もしくは図１０−４で得られた正規化された信号を用いて、この種の初期データの更新無しでも、高精度に座標算出が行えるように構成したものである。
【００５７】
図１は、この様子を説明するための説明図であり、１ストロークの座標入力（例えば『一』と言う文字を入力）した際の信号処理を説明するものである。まず正規化されたセンサ信号出力について説明すれば、状態（１）は座標入力が行われておらず、信号出力が無い状態を示し、状態（２）で所望の位置Ａにおける座標入力が行われ、遮光部位が発生した事を示す。状態（３）は前述所望の位置Ａに指示具がまだあって、状態（４）〜（５）にかけて指示具の移動速度速くなり（遮光部位の位置の変化が徐々に大きくなる）、状態（５）〜（７）にかけて、逆に指示具の移動速度が徐々に遅くなり、状態（７）で所望の位置Ｂに到達し、状態（８）で所望の位置Ｂにおける座標入力動作が終了して、状態（９）で座標入力動作待ちの状態になる。説明を簡略化するために、各ステップ（（１）〜（９））は座標入力装置の１サンプリング相当の信号が連続的に検出されたものとする（つまり、座標サンプリングレートが90回/秒の性能を有する座標入力装置ならば、ステップ（１）〜（９）に到る所要時間は、9サンプリング相当の時間なので、約0.1秒で動作が完了したことになる）。
【００５８】
次に座標算出用信号Norm_data_Δ[N]について説明すれば、状態（１）から状態（２）へ遷移することで、両者の信号の差分（２）−（１）が得られ、先に説明したＣＣＤ画素番号決定方法で矢印部分を検出点とし、後述する方法で位置座標を算出することで、例えば表示装置に表示されているカーソル等が、所望の位置Ａに位置することになる。次に、差分信号（３）−（２）の場合（（２）の状態、及び（３）の状態において、指示具は同一の位置座標にある）には、何ら信号を得る事ができないので、座標入力装置は位置座標を検出しないが、差分（２）−（１）の演算結果によりカーソルはすでに所望の位置Ａに位置しているので、操作者は座標入力装置が座標を算出（送出）しないことによる不具合を認識できない、つまり操作上何ら障害が発生しないのである。その後、指示具の移動に伴なって、信号（４）−（３）、信号（５）−（４）、信号（６）−（５）、信号（７）−（６）が得られるが、この場合には上に凸な信号部分と、下に凸な信号部分が得られ、それぞれで閾値を設定（上に凸な部分を検出するための第一閾値Vthup、及び下に凸な部分を検出するための第二閾値Vthlw）すれば、それぞれの凸部分で先に述べた方法（図9参照）でＣＣＤ画素番号を演算し、得られた上に凸な部分のＣＣＤ中心画素番号と、下に凸な部分のＣＣＤ中心画素番号との中央値（図中、各差分信号に示される矢印位置）を検出ＣＣＤ画素番号として、同様に後述する方法で指示具の位置座標を正確に算出することが可能となる。そして、差分信号（８）−（７）の場合（（７）の状態、及び（８）の状態において、指示具は同一の位置座標にある）には、信号を得る事ができないので、座標入力装置は位置座標を検出しないが、差分信号（９）−（８）の状態で、カーソルは所望の位置Ｂに移動して、例えば、カーソルの移動と共にその軌跡を画面上に残す様な仕様にすれば、操作者が意図した『一』と言う文字を所望の位置に入力する事ができる様になる。
【００５９】
さてこのように構成、演算することの利点を図１１を用いて説明すれば、装置を設置した環境において、太陽光などの外乱要因が、初期データを設定した時と変化した場合には、座標入力をしていない場合であっても正規化データNorm_data_ｒ[N]が例えば図１１−１（図１０−４相当）の様になり、誤検出の危険性がある。しかしながら、次の座標サンプリング時（例えば、90サンプリング/秒における座標入力装置にあっては、0.011秒後）までの微小時間においては、外乱要因の変化は無く（有ったとしても微小）、図１１−２に示すが如く正規化データNorm_data_ｒ[N]は、その直前のサンプリング結果（図１１−１相当）とほとんど変化が無い。従って、両者の差分Norm_data_Δ[N]を演算する事によって、図１１−４の様な信号波形が得られ、初期データを取得した時とは異なる外乱状態に有っても、遮光部位が無い事が精度良く検知する事ができる。図１１−３は、図１１−２の状態で、指示具等による遮光部位が突然発生した時に得られる正規化データNorm_data_ｒ[N]であるが、直前にサンプリングした図１１−２相当の正規化データNorm_data_ｒ[N]との差分を演算する事により、図１１−５の様な座標算出用信号正規化データNorm_data_Δ[N]を得る事ができ、外乱の変化の影響を全く受けることなく、正確に指示具の遮光部位のみを得る事ができる優れた効果が得られる様になる。従って操作者は、電源投入時のみに行われる初期データの取得のみで、例えその取得時刻より大幅に時間が経過して不要光の状態が変化していても、精度良く座標算出が行える優れた操作性が得られる様になった。
さらには、この座標算出用信号正規化データNorm_data_Δ[N]と上側閾値Vthup、もしくは下側閾値Vthlwと比較する事（図１１−４、図１１−５参照）で、前述した不要光の変化があったとしても、その影響を受けることなく座標入力による遮光部位が発生したのかを判定でき、その判定結果に応じて、先に説明した第一閾値Vthup、第二閾値Vthlwに基づきＣＣＤ画素番号を演算するような構成であっても良い。
【００６０】
〈CCD画素情報から角度情報への変換〉
さて、得られた中央画素番号から、実際の座標値を計算するためには、前述の画素番号を角度情報に変換する必要がある。
【００６１】
図１２は得られた画素番号と角度Θの関係をプロットしたものである。この関係の近似式
Θ＝ｆ（N）                            （7）
を求め、この近似式よりデータの変換を行う。本願発明では、１次近似式を用いて近似できる様に、先に説明したセンサユニット１中の検出手段のレンズ群を構成するが、レンズの光学的収差等により、より高次な近似式を用いたほうが、より高精度に角度情報を得る事が可能となる場合がある。どのようなレンズ群を採用するかは、製造コストと密接に関連し、レンズ群の製造原価を下げる事によって一般的に発生する光学的な歪を、より高次の近似式を用いて補正する場合には、それなりの演算能力（演算速度）を要求されるので、目的とする製品に要求される座標算出精度を鑑みながら、その両者を適宜設定すれば良い。
【００６２】
〈座標計算方法の説明〉
図１３は画面座標との位置関係を示す図である。座標入力有効領域３の水平方向にX軸、垂直方向にY軸を、そして座標入力有効領域３の中央を原点位置に配置するものとし、入力範囲4の上辺左右にセンサユニット１L、及びセンサユニット１RをY軸に対称に取り付け、そのセンサユニット間の距離をDsとする。また図示されている様に、センサユニット１のCCDの受光面は、その法線方向がX軸と45°の角度を成すように配置され、その法線方向を０°（基準方向）と定義する。この時角度の符号は、左側に配置されたセンサユニット１Lの場合には、時計回りの方向を『+』方向に、また右側に配置されたセンサユニット１Rの場合には、反時計回りの方向を『+』方向と定義する。さらには、図中P0は前述した各センサの法線方向の交点位置であり、Y軸方向の原点からの距離をP0yと定義する。この時、それぞれのセンサユニット１で得られた角度をθL、θRとして、検出すべき点Pの座標P(x,y)は、
【００６３】
【数１】
2006107243.tif 000003
で得られる。
【００６４】
〈処理工程の詳細説明〉
さて、図２はデータ取得から座標計算までの工程を示したフローチャートであり、本願発明の座標入力装置の一連の処理工程を詳述する。
【００６５】
まずS201で電源投入が行われると、S202で演算制御回路などのポート設定、タイマ設定などさまざまな初期化が行われる。Ｓ203〜Ｓ205は立ち上げ時のみに行うＣＣＤの不要電荷除去のための準備である。CCDなどの光電変換素子においては、動作させていない時に不要な電荷が蓄積している場合があり、そのデータをそのままリファレンスデータとして用いると、検出不能、あるいは誤検出の原因となる。それを避けるために、前述した投光手段の照明無しの状態で、CCDからのデータをS203で予め設定された回数読み出す（Ｓ204）ことにより、CCDに蓄積されていた不要電荷の除去を行っている。S205は所定回数繰り返すための判断文である。S206は投光手段の照明無しの状態でのデータの取り込みであり、リファレンスデータとして上述したBas_data[N]の取得に相当し、S207にてメモリに記憶され、以降の計算に用いられる。
【００６６】
S208では、投光手段で照明したときの初期光量分布に相当するリファレンスデータRef_data[N]の取り込みを行い、S209にて同様にメモリーに記憶する。引き続きS210で得られたBas_data[N]及びRef_data[N]との差分値、並びに正規化初期データNorm_Inidata_ｒ[N]を計算し、Ｓ211でその結果をメモリに記憶する。
【００６７】
以上のステップまでが、電源投入時の初期設定動作と言う事になるが、この初期設定動作は、リセットスイッチ等により操作者の意図によって動作するように構成しても良い事は言うまでも無く、この初期設定動作を経て、通常の取り込み動作状態に移行することになる。
【００６８】
まずS212にて、光量分布Norm_data[N]を取り込み、S213でRef_dataとの差分値,及びBas_data[N]を用いて正規化データNorm_data_r[N]を計算し、Ｓ214にて記憶されている正規化初期データNorm_Inidata_ｒ[N]との差分値Norm_data_Δ[N]が計算され、その信号レベルと例えば所定の閾値(Vthup、もしくはVthlw)と比較する事で、座標入力が行われているかどうかを判定する(S215)。
【００６９】
座標入力が行われていないと判定されたときには、Ｓ220にジャンプするが座標入力有りと判定され場合には、S216でＳ214で得られたNorm_data_Δ[N]に基づき、信号の特徴点（例えば信号の立ち上がり部、立下り部、及びそれらの情報に基づく中心位置や重心位置）を決定し、ＣＣＤ出力画素番号を計算、決定する。得られた画素番号から近似多項式より例えばTanθを算出し（S217）、左右のセンサユニットで得られるTanθ値からｘ、ｙ座標を（８）、（９）式を用いて算出し（S218）、そのデータをホストPC等の外部機器へ送信する（Ｓ219）。その手段は、USB、RS232Cなどのシリアル通信等、任意のインタフェースで送れば良く、処理終了後S220にて、得られた正規化データ（Ｓ213にて取得されている）を正規化初期データNorm_Inidata_ｒ[N]として更新し（Ｓ220）、更新した結果をＳ211で記憶して、次の座標算出のためにルーチン（Ｓ211〜Ｓ220）が繰り返される。以降電源OFF、もしくは、操作者の意図によってリセット状態が設定されるまで、この処理を繰り返す事になる。この繰り返し周期を10[msec]程度に設定すれば、本願発明の座標入力装置は100回/秒の周期で指、あるいは指示具５による指示座標を外部機器等に出力する事が可能となる。
【００７０】
なお、本願構成によれば、Ｓ206〜Ｓ210の工程が工場出荷時に設定されるものとすれば、市場におけるスタートアップ時はS201〜S205を経てＳ211〜Ｓ220に到るが、この一回目の座標取得では、設置環境により工場出荷時の初期データと大幅に変化している可能性があるので、その場合には、まず電源投入時に遮光部位無し状態でサンプリング（ｓ212〜ｓ21３）されたNorm_data[N]と記憶されている前述の初期データとを用いてNorm_data_r[N]を算出し、その結果をNorm_Inidata_r[N]としてＳ211にて格納し、以後、先の説明に従ってＳ211〜Ｓ220の工程を繰り返せば、工場による出荷時のみの初期データ設定でもかまわない構成となり得る。
【００７１】
従って工場のみの初期データ設定仕様とする場合には、スタートアップ時間を縮小する事ができる利点が得られるので、製品の用途に応じて、その仕様を選択すれば良いことは言うまでも無い。
【００７２】
一方、スタートアップ時には、操作者は座標入力動作をしないこと前提として例えば光量分布の検査を行い、極端に信号レベルの低い画素があるような場合には、警告、あるいは故障表示する様な仕様も考えらる他、前述の動作初期チェックを無事終了したことを表示装置等に表示させて、座標入力可能状態になったことを告知するように構成しても良い。無論、初期チェック状態にあることを表示（報知）しても良く、その間は指示具等５の存在が無い（遮光部位が無い）と言うことを前提とすることが可能となるので、その初期チェック時に初期データ(Ｓ206〜Ｓ210)を記憶するように構成すればよい。
【００７３】
また上述の説明にあっては、光量分布Norm_data[N]を一定値にする事が困難であって、正規化された信号を用いて各種処理を実行しているが、仮に光量分布Norm_data[N]を一定値に構成できるならば、正規化処理する必然性は薄れ、Ｎ回目のサンプリングで得られる光量分布Norm_data[N]をＮ+1回目のサンプリング時の基準データとして格納し、Ｎ+1回目のサンプリングデータNorm_data[N+1]とＮ回目のサンプリングデータNorm_data[N]の差分に基づき、ＣＣＤ画素番号を算出しても良い。
【００７４】
（発明の第二実施形態）
以上説明した本願発明の第一の実施形態において、第一図のセンサ出力信号（２）及び（３）に示すが如く、指示具等による遮光部位が全く変化しない場合には、その差分信号であるところの座標算出用信号（３）−（２）は、出力信号が得られない。
【００７５】
一方、指示具等による遮光部位が移動してセンサ出力信号が（４）の様になると、直前のセンサ出力信号（３）との差分信号（４）−（３）が得られるようになる。この時、遮光部位の変化が微小であった場合を想定して図１６を用いて説明すると、センサ出力信号（３）´の状態から遮光部位が微小変化してセンサ出力信号（４）´が得られたものとしよう。その時の差分信号（４）´−（３）´は図示されるが如く、微小信号が得られるのみである。つまり、遮光部位の微小変化を検知するためには、微小信号を検出しなければならず、例えば、信号のＳ/Ｎに十分な配慮が必要であるし、センサユニット１中の例えばラインセンサの画素数を十分に確保しなければならない、等コストアップ要因が増大するばかりか、ラインセンサの有効画素数を増大させることは、信号処理時間も増大し、座標サンプリングレート（単位時間あたり座標入力装置が座標算出可能な回数）が低下すると言う問題も生じる。
【００７６】
そこで、本願発明の第二実施例は上記課題を解決するために成されたものであり、図16を用いて説明を加えると、センサ出力信号に遮光部位が検出されず、信号（１）の状態がえられたものとする。この状態では、先に説明した実施例の如く、今検出されたセンサ出力信号とその直前に検出されたセンサ出力信号の差分信号に基づき、座標算出のための種々の演算が行われる。しかしながら、ひとたび遮光部位が検出されると（図中センサ出力信号（２））、連続して遮光部位が検出されているサンプリング期間中、正規化初期データNorm_Inidata_ｒ[N]の更新を中断し、連続して遮光部位が検出されている各センサ出力信号Norm_data_r[N]と、遮光部位が検出された直前のセンサ出力信号（１）との差分信号により、各々座標算出のための種々の演算が行われる。つまり図16において、センサ出力信号（２）から（８）までのサンプリング期間中は、常時遮光部位が検出されているので、座標算出用の差分信号Norm_data_Δ[N]は、検出された各信号と、センサ出力信号（１）の差分信号として得られるようになる。なおセンサ出力信号（１）〜（９）は、第一図で説明したそれと同等の状態にあり、従って、センサ出力信号（２）とセンサ出力信号（３）は同一の遮光部位を有する信号であって、先の実施例では無信号（信号（３）−（２））になるが、本実施例においては、良好な信号が得られるようになる。つまり、図14に示されるような遮光部位の微小な変化があったとしても、良好な差分信号が得られるので、遮光部位の微小変化を容易に検出することが可能となる優れた効果が得られるようになる。
【００７７】
図１５は、本願発明の第二実施例の処理を説明するためのフローチャートであり、Ｓ301〜Ｓ314までは、本願発明の第一実施例を説明する図２フローチャートのＳ201〜Ｓ214までと同等の制御を行う。そしてＳ315にて遮光部位の有無を判定し、遮光部位有り、つまり指示具等による入力動作が行われていると判定した場合には、Ｓ316〜Ｓ319までの座標算出処理（Ｓ216〜Ｓ219相当）を行い、基準データNorm_Inidata_r[N]の更新を行わずにＳ312に戻り、再びサンプリングを開始する。
【００７８】
一方、Ｓ315において入力動作が行われていないと判定したときには、S320にて得られている正規化されたセンサ出力信号Norm_data_r[Ｎ]を基準データNorm_Inidata_r[Ｎ]として更新し、その情報をＳ311にて記憶し、Ｓ312以降、再びサンプリングを開始するように構成されている。
【００７９】
（発明の第三実施形態）
本願発明の第一実施例、第二実施例において、外乱光による影響の除去、及び分解能向上のための方法が示された。本願発明の第三実施例は、上記効果を保ったまま、図１７に示すような課題に対処するために成されたものである。
【００８０】
図１７において、（Ａ）はセンサユニット１より投光され、再帰反射面４によって投光された光がセンサユニット１中に再帰的に戻ってくる様子を示したものであり、その光路を模式的に示したものである。また３は座標入力有効領域、並びに座標入力面を構成する入力板であって、5は遮光部材であるところの支持具である。この時、有効な光束が入力板３からの高さ方向に略ｈ１からｈ２の間に形成されているものとする。
【００８１】
今、操作者が指示具５を用いて座標入力動作を行おうとした時、図中（Ａ）の状態から（Ｂ）、（Ｃ）を経て（Ｄ）にて指示具が入力板３を押圧することになる。この時、（Ｂ）の状態で投光されている光束の一部を遮光し、（Ｃ）の状態、（Ｄ）の状態になるにつれて、遮光する範囲が広くなる。従って、その各々で検出される正規化されたセンサ出力信号は、状態（Ａ）における信号（１０）、（Ｂ）における信号（１１）、（Ｃ）における信号（１２）、そして、完全に光束を遮断する（Ｄ）における信号（１２）の様になる。
【００８２】
この時座標算出用の差分信号、例えば（１１）−（１０）の信号は出力が小さな値となり、閾値の設定によっては、その差分信号から遮光部位有りと判定することが困難となる。従って、差分信号（１１）−（１０）による入力判定結果が、入力無しと判定された場合には、前述第一実施例、第二実施例においては、次のサンプリング信号（１２）とその直前のサンプリング信号（１１）の差分信号（１２）−（１１）に基づき、再度入力判定を行うことになる。この時、十分な信号レベルが得られなければ、同様の理由で入力無しと判定し、再度、サンプリング信号（１２）とサンプリング信号（１２）との差分情報で、入力判定を行うようになる。
【００８３】
サンプリング信号（１２）は、全光束を遮蔽した状態で検出される信号であるが、その直前の信号（１２）との差が小さければ、座標算出用信号Norm_data_Δ[Ｎ]であるところの（１２）−（１２）の信号レベルは、図示が如く十分な出力を得ることができない。つまり、操作者の操作スピード、及び座標入力装置の座標サンプリングレート、あるいは入力判定の閾値レベルの設定等によっては、本願発明の第一実施例、第二実施例では全光束を遮蔽しているにもかかわらず、入力判定ができない状態と成り得る。
【００８４】
本願発明の第三実施例は、この点に着目して成されたものであり、第一実施例、第二実施例による外乱の影響を排除し、高分解能な座標算出性能を有すると言う特徴を維持しつつ、かつ上記課題を解決するものである。
【００８５】
つまり、先の実施例では、サンプリングされたセンサ出力信号Norm_data_r[N]とその直前にサンプリングされた信号の差分（例えば図17における座標算出用信号（１２）−（１２））を用いて入力判定を行っていたが、ここではサンプリングされたセンサ出力信号Norm_data_r[N]と、その数周期前にサンプリングされた信号の差分（例えば図17における座標算出用信号（１２）−（１０））を用いることにより、十分な出力レベルを有する座標算出用信号Norm_data_Δ[N]が得られるように構成したものである。
【００８６】
図１８は、その処理を示すフローチャートであり、Ｓ401〜Ｓ409は図２におけるＳ201〜Ｓ209と同等に処理され、例えば電源投入時等に実行される。そしてＳ410にて整数α、及び座標入力動作が連続的に行われているかを判定するためのFlagが初期化され、まずＳ411、Ｓ412にて、すでに取得されているBase_data及びRef_dataにより、正規化された基準データNorm_Inidata_r[Ｎ] １が計算され、Ｓ413にてメモリに記憶される。引き続き、Ｓ414にて座標取得用のデータNorm_dataを取得し、先に説明した手順で正規化後（Ｓ415）、Ｓ416、Ｓ411を経て、Ｓ412でNorm_Inidata_r[Ｎ] ２としてＳ413にその情報を記憶する。ステップＳ416で決められるαmaxの値に応じて、必要な基準データが、Ｓ411〜Ｓ416のルーチンでメモリに記憶されることになるが、今仮にαmax＝5とすれば、基準データはNorm_Inidata_r[Ｎ] １ からNorm_Inidata_r[Ｎ] 5の5個がメモリされることになり、電源投入時等の初期化が完了する。
【００８７】
引き続きＳ414でデータの取得が行われ、Ｓ415で正規化後、Ｓ417にて今得られたNorm_data_r[Ｎ] 5と先に記憶された基準データNorm_Inidata_r[Ｎ] １との座標算出用差分信号Norm_data_Δ[Ｎ]が計算され、Ｓ418で入力判定を行うことになるが、仮に入力が無いものとすれば、現状Flag＝0であるのでS426にて、記憶されている基準データのうち最初の基準データNorm_Inidata_r[Ｎ] １を消去するとともに、格納されている複数の基準データNorm_Inidata_r[Ｎ]γ（γ：整数）すべてを、基準データNorm_Inidata_r[Ｎ]γ-1とシフトするとともに、今回のサンプリングで得られたNorm_data_r[Ｎ] 5を基準データNorm_Inidata_r[Ｎ] 5として、再度Ｓ413にて記憶、更新し、再度座標サンプリング用のデータ取得をＳ414にて実行する。つまり、入力動作が行われない状態にあっては、取得された座標サンプリング用データが常に基準データとして更新するように構成されているので、外乱光の状態が変化したような場合であっても、その影響を除去し、高精度に座標算出を行えるようにしている。
【００８８】
さてこのルーチン処理が行われている際に、Ｓ418にて遮光部位有り、つまり座標入力動作が行われていると判定された場合には、Ｓ419にて連続的に入力されていることを監視するフラグをセット（Flag=1）し、その後Ｓ420〜Ｓ423にて先に説明した座標算出処理が行われ、Ｓ414に戻る。つまり、連続的に座標入力動作が行われていると判定した場合には、基準データを更新することなく座標算出処理が行われるので、第二の実施例で説明したのと同様に、高分解能な座標演算が可能となる。さらには、図１７における（Ａ）の状態から（Ｄ）の状態に遷移することで、上記フラグがセット（Flag=1）されることになるが、座標算出用差分信号Norm_data_Δは、現サンプリングで得られた信号と、現サンプリングよりαmaxで設定された回数前にサンプリングされた信号との差分により、入力判定を実行しているので、座標算出用差分信号Norm_data_Δの信号レベル（例えば図17、座標算出用信号（１２）−（１０）相当）は十分な値が得られ、その入力判定を容易に行える効果が得られるようになる。
【００８９】
次に、操作者が連続的に座標入力動作を行って、その動作を中断した場合について述べる。Ｓ418にて入力動作を完了したことを検知してＳ424に移行するが、その直前までは座標入力動作が行われており、連続的に入力されているかを監視するフラグはセットされたまま（Flag=1）なのでＳ425に移行する。Ｓ425に始めて遷移すると、内部カウンタがカウントを開始し、入力動作が完了してからの時間（つまり、座標入力装置の座標算出サンプリングレートに基づき、このＳ425のルーチンを何回通過したかをカウントする事と等価であり、座標サンプリングレートが100点/秒の性能を有すれば、例えばサンプリング５回以上に設定すれば、時間は50ｍsecに設定すればよい）を計時することになる。その値が所定値以下であれば、基準データの更新をすることなく、Ｓ414にて再度座標サンプリング動作を開始する。そして、計時された時間が所定値以上であれば、カウンタをリッセトするとともに、先に説明したとおり、Ｓ426にて基準データを更新して、その情報をＳ413にて記憶するとともに、Ｓ427にて連続的に入力されているかを監視するフラグをリセット（Flag=0）して次の座標サンプリングを開始する。
またＳ415〜Ｓ418、Ｓ424、Ｓ425、Ｓ415のルーチンを繰り返している間（Ｓ425による判定が所定時間以内であることを意味する）に、Ｓ418にて入力有りと判定した場合には、Ｓ425のカウンタをリセットするとともに、座標算出処理を開始するが、この場合も基準データの更新は行われない。この処理の意味することは、例えば文字『十』を操作者が入力しようとした場合、まず、『一』と言うストロークを入力して、座標入力動作を一端終了し、引き続き『｜』と言うストロークを入力することになるが、そのストローク間では、Ｓ425を通過するルーチン処理が行われる。つまり、その間は非常に短い時間（例えば0.2秒）であろうし、指示具のアップダウン操作があることから、例えば図１７における信号（１１）の様なＳ418にて入力有りとは判定できない微小信号を含む場合も存在する可能性があるので、そその微小信号を含むセンサ出力信号が基準データとして反映しないように構成したものである。従って、十分に時間が経過しても座標入力動作を検出できないのであれば、操作者による入力動作が終了したものとして、Ｓ426による基準データの更新を行うように構成したものである。
【００９０】
さてＳ425にて本願発明では計時カウンタを用いたが、この種の座標入力装置は例えば１秒間あたり100回の座標算出を行うように構成されているので、そのサンプリング周期に基づき、Ｓ425を連続何回通過したかをカウントし所定時間を計測しても良い。
【００９１】
また、先の説明にあっては、αmax＝5に設定して説明したが、が、図１７（Ａ）に示したｈ１の値、及びｈ1、ｈ２によって定義される光束の幅（この種の入力装置の操作性を考えれば、高さｈ１、ｈ２はできるだけ小さく設定することが好ましい）、あるいは、座標入力装置の座標サンプリングレート、入力判定のための閾値等を考慮して適宜設定すればよい。例として、ｈ１、ｈ２で設定された光束を、通常の操作による指示具等による遮光が図17（Ａ）におけるまさに遮光開始の瞬間から、完全に光束を遮断する図17（Ｄ）の状態に遷移するのが、0.02秒程度であって、より安全に見積もって0.05秒程度と見積もれば、座標入力動作による位置検出を行う際の基準データは、0.05秒以上前にサンプリングされたものであれば、図17における座標算出用信号（１２）−（１０）の様な十分にレベルの得られる信号となるはずである。また、高さｈ１、ｈ２で規定される幅の狭い光束であるにも関わらず、図17における（Ｂ）、（Ｃ）の状態を、操作者が長時間保持することは実現困難であり、想定する必要は無い。ただし、画数の多い文字を入力するような場合に合っては、そのストローク間の短時間の操作で、そのような状態（図17における（Ｂ）、（Ｃ）の様な状態）がまれに発生するので、図18におけるＳ425の条件判定を付加して、装置の信頼性を向上させている。
【００９２】
以上説明したように、座標算出用のサンプリング結果と、そのサンプリングの数周期前のサンプリング（例えば５周期前のサンプリング）結果との差分情報に基づき、入力判定を行うことで、顕著な信号が得られるようになり、その入力判定が容易に行える優れた効果が得られるようなる。
【００９３】
さて、上記で説明したように現サンプリング信号よりαmax回数前のサンプリング信号との差分を用いることにより、良好な座標算出用信号Norm_data_Δが得られることを説明した。言い換えれば、現サンプリング信号の直前にサンプリングされた信号は、例えば図１７における状態（Ｃ）の信号（１２）、さらにその前の信号は状態（Ｂ）の信号（１１）である可能性があり、それぞれの信号は、基準データNorm_Inidata_r[N] 5、Norm_Inidata_r[N] ４として格納されている。従って、図１８におけるＳ425にて所定時間経過後、始めてＳ426に移行した時、格納されていた上記基準データNorm_Inidata_r[N] 5、Norm_Inidata_r[N] ４は、それぞれNorm_Inidata_r[N] ４、Norm_Inidata_r[N] ３として更新、記憶され、Ｓ427で連続入力のフラグがリセットされる。引き続きサンプリング動作がＳ414〜Ｓ41７、及びＳ418にて入力無しと判定されＳ424（Flag=0状態にある）を経て、Ｓ426に至るルーチンを繰り返せば、いずれは、もとの基準データNorm_Inidata_r[N] 5がNorm_Inidata_r[N] 1として格納されるはずである。そしてその時引き続きサンプリング動作Ｓ414〜Ｓ41５で得られる信号が図１７の（Ｄ）の状態として検出、要は操作者がそのタイミングで入力動作を開始したものとすれば、格納されている基準データは図17（Ｃ）の状態であり、Ｓ417における差分信号Norm_data_Δは、信号（１２）−（１２）と同等なる。つまり、十分な信号レベルを得ることができずに、操作者が入力動作をしているにもかかわらず、Ｓ418における入力判定で、入力無しと判定する恐れが生じる。
【００９４】
図１９のフローチャートは、上記課題を解決するのものであり、図１８におけるＳ401〜Ｓ409の動作を経て、Ｓ510にて整数α、及び座標入力動作が連続的に行われているかを判定するためのFlagが初期化され、まずＳ511、Ｓ512にて、すでに取得されているBase_data及びRef_dataにより、正規化された基準データNorm_Inidata_r[Ｎ] １が計算され、Ｓ513にてメモリに記憶される。引き続き、Ｓ514にて座標取得用のデータNorm_dataを取得し、先に説明した手順で正規化後（Ｓ515）、Ｓ516、Ｓ511を経て、Ｓ512でNorm_Inidata_r[Ｎ] ２としてＳ513にその情報を記憶する。ステップＳ516で決められるαmaxの値に応じて、必要な基準データが、Ｓ511〜Ｓ516のルーチンでメモリに記憶されることになるが、今仮にαmax＝5とすれば、基準データはNorm_Inidata_r[Ｎ] １ からNorm_Inidata_r[Ｎ] 5の5個がメモリされることになり、電源投入時等の初期化が完了する。
【００９５】
引き続きＳ514でデータの取得が行われ、Ｓ515で正規化後、今得られたNorm_data_r[Ｎ] 5と先に記憶された基準データNorm_Inidata_r[Ｎ] １との座標算出用差分信号Norm_data_Δ[Ｎ]が計算され、Ｓ518で入力判定を行うことになるが、仮に入力が無いものとすれば、現状Flag＝0であるのでS531にて、記憶されている基準データのうち最初の基準データNorm_Inidata_r[Ｎ] １を消去するとともに、格納されている複数の基準データNorm_Inidata_r[Ｎ]γ（γ：整数）すべてを、基準データNorm_Inidata_r[Ｎ]γ−1とシフトするとともに、今回のサンプリングで得られたNorm_data_r[Ｎ] 5を基準データNorm_Inidata_r[Ｎ] 5として、再度Ｓ513にて記憶、更新し、再度座標サンプリング用のデータ取得をＳ514にて実行する。つまり、入力動作が行われない状態にあっては、取得された座標サンプリング用データが常に基準データとして更新するように構成されているので、外乱光の状態が変化したような場合であっても、その影響を除去し、高精度に座標算出を行えるようにしている。
【００９６】
さてこのルーチン処理が行われている際に、Ｓ518にて遮光部位有り、つまり座標入力動作が行われていると判定された場合には、Ｓ519にて連続的に入力されていることを監視するフラグをセット（Flag=1）するとともに、第二のカウンタβをリセットする。その後Ｓ520〜Ｓ523にて先に説明した座標算出処理が行われ、Ｓ514に戻る。つまり、連続的に座標入力動作が行われていると判定した場合には、基準データを更新することなく座標算出処理が行われるので、第二の実施例で説明したのと同様に、高分解能な座標演算が可能となるとともに、座標算出用差分信号Norm_data_Δは、現サンプリングで得られた信号と、現サンプリングよりαmaxで設定された回数前にサンプリングされた信号との差分により、入力判定を実行しているので、その入力判定を容易に行える効果が得られる。
【００９７】
次に、操作者が連続的に座標入力動作を行って、その動作を中断した場合について述べる。Ｓ518にて入力動作を完了したことを検知してＳ524に移行するが、その直前までは座標入力動作が行われており、連続的に入力されているかを監視するフラグはセットされたまま（Flag=1）なのでＳ525に移行する。一連の座標入力動作を完了して、Ｓ525に始めて遷移すると、第二のカウンタβがカウントを開始し、入力動作が完了して座標サンプリングした結果、何回連続してこのＳ525での処理を実行したかをカウントすることになる（つまり、Ｓ518の入力判定の結果が『入力有り』となれば、そのカウンタβはＳ519でリセットされる）。そして、その際に得られた正規化されたNorm_data_r[Ｎ]信号は、参照基準データR_Norm_Inidata_r[Ｎ]βとして第二のメモリ手段に格納（Ｓ526）され、第二の定数βmaxとの大小比較を行い、βmaxよりβが小さければ、Ｓ514に戻り、引き続きＳ514以降にてサンプリングを開始する。
【００９８】
従って、操作者による座標入力動作が完了して、それ以降連続的に座標入力動作を行っていない信号が得られると、カウンタβは所定数βmaxの値を超え、Ｓ529にて参照基準データR_Norm_Inidata_r[Ｎ]βを基準データNorm_Inidata_r[Ｎ]αとして、前述のFlagをリセット（Ｓ530）するとともに、その基準データをＳ513にて更新、記憶するように構成されている。
【００９９】
なお、定数βmaxを定数αmax以上の値に設定すれば、記憶される基準データは、図１７における信号（１０）と同等の信号であり、座標算出信号Norm_data_Δ[N]は、信号（１２）−（１０）のような良好な信号が得られる。
【０１００】
また、βmaxとαmaxが等しい場合には、第二の記憶手段に記憶されている参照基準データR_Norm_Inidata_r[Ｎ]β（βは１からβmaxまで）を基準データNorm_Inidata_r[Ｎ]α（αは１からαmaxまで）とすればよいし、βmax＞αmaxであれば、R_Norm_Inidata_r[Ｎ]β（βは整数{βmax−αmax＋1}から整数βmaxまで）を基準データNorm_Inidata_r[Ｎ]α（αは１からαmaxまで）として各々変換して、記憶することになる。この場合不要となる参照基準データR_Norm_Inidata_r[Ｎ]β（βは１から整数{βmax−αmax}まで）は、Ｓ526、Ｓ527にて削除することが好ましい構成となる。
【０１０１】
（発明の第四実施形態）
本願発明の第四実施例について、図２０を用いて説明する。先の説明と同様に、図１８におけるＳ401〜Ｓ409の動作を経て、Ｓ610にて整数α、及び座標入力動作が連続的に行われているかを判定するためのFlagが初期化される。そしてＳ６11、Ｓ６12を経て、Ｓ616にて座標取得用のデータNorm_data[Ｎ]αを取得し、先に説明した手順で正規化後（Ｓ617）、Ｓ611に戻り、定数αに１加えて、再びＳ611、Ｓ612、Ｓ616、Ｓ617のルーチンを繰り返す。Ｓ612では、規定の定数γの値に応じて、上記の繰り返しルーチンの分岐を判定（例えばγ＝10であれば、上記ルーチンを10回毎繰り返すことで、Ｓ613に分岐する）し、Ｓ613にて定数δに１加えて、Ｓ614にて得られたNorm_data[Ｎ]αを初期データNorm_Inidata_r[Ｎ]δとして、その情報を記憶する。そしてステップＳ618で決められるδmaxの値に応じて、必要な個数の初期データが、これらのルーチンでメモリに記憶されることになるが、今仮にδmax＝２とすれば、初期データはNorm_Inidata_r[Ｎ] １ からNorm_Inidata_r[Ｎ] ２の２個がメモリされることになり、電源投入時等の初期化が完了する。
【０１０２】
引き続きＳ616でデータの取得が行われ、Ｓ617で正規化後、今得られたNorm_data_r[Ｎ] 5と先に記憶された基準データNorm_Inidata_r[Ｎ] １との座標算出用差分信号Norm_data_Δ[Ｎ]が計算（Ｓ619）され、Ｓ620で入力判定を行うことになるが、仮に入力が無いものとすれば、現状Flag＝0であるのでＳ626からＳ629に分岐して、Ｓ630にてサンプリング回数が所定回数かを判定し、否と判定した場合には、Ｓ616に戻って同様の処理ルーチンを実行し、Ｓ630での条件が合致すれば、Ｓ631にて格納されている基準データNorm_Inidata_r[Ｎ] １を破棄すると共に、格納されている複数の基準データNorm_Inidata_r[Ｎ]ε（ε：整数）すべてを、基準データNorm_Inidata_r[Ｎ]ε-1とシフトするとともに、今回のサンプリングで得られたNorm_data_r[Ｎ] αを基準データNorm_Inidata_r[Ｎ] 5maxとして、再度Ｓ615にて記憶、更新し、再度座標サンプリング用のデータ取得をＳ616にて実行する。つまり、入力動作が行われない状態にあっては、取得された座標サンプリング用データの内、Ｓ630の条件に適合するデータが常に基準データとして更新するように構成されているので、外乱光の状態が変化したような場合であっても、その影響を除去し、高精度に座標算出を行えるようにしている。さらには、座標入力時の信号微小変化をも検出するために、Ｓ616によるサンプリング時より、例えば少なくとも10サンプリング前のデータを基準データとするためには、γ＝10、δ＝2とすればよく、図１９の実施例に比べて、記憶すべきデータ量が大幅に削減できる効果がある。
【０１０３】
さてこのルーチン処理が行われている際に、Ｓ620にて遮光部位有り、つまり座標入力動作が行われていると判定された場合には、Ｓ621にて連続的に入力されていることを監視するフラグをセット（Flag=1）するとともに、Ｓ622〜Ｓ625にて先に説明した座標算出処理が行われ、Ｓ616に戻る。この動作（座標入力時）が、連続的に座標入力動作が行われていると判定した場合には、基準データを更新することなく座標算出処理が行われるので、第二の実施例、第三の実施例で説明したのと同様に、高分解能な座標演算が可能となるとともに、座標算出用差分信号Norm_data_Δ[Ｎ]は、現サンプリングで得られた信号と、現サンプリングより少なくとも整数γで設定された回数前にサンプリングされた信号との差分により、入力判定を実行しているので、その判定を容易に行える効果が得られる。
【０１０４】
次に、操作者が連続的に座標入力動作を行って、その動作を中断した場合について述べる。Ｓ620にて入力動作を完了したことを検知してＳ626に移行するが、その直前までは座標入力動作が行われており、連続的に入力されているかを監視するフラグはセットされたまま（Flag=1）なのでＳ627に移行する。一連の座標入力動作を完了して、Ｓ627に始めて遷移すると、先に説明した通り、内部カウンタがカウントを開始し、入力動作が完了してからの時間を計時することになる。その値が所定値以下であれば、基準データの更新をすることなく、Ｓ616にて再度座標サンプリング動作を開始し、座標入力動作が行われていなければ、再びＳ627に戻り、いずれＳ627における条件が成立して、Ｓ628にてフラグ、及びカウンタαをリセットして、先に説明したＳ629以降の動作を実行することになる。
【０１０５】
以上本願発明の第四実施例により、本願発明の第三実施例と同様の効果が得られると共に、記憶すべき情報が格段と小さくできるので、メモリ等のハード構成を小規模にすることができ、コスト的に優位な構成と成り得る事が説明された。
【図面の簡単な説明】
【０１０６】
【図１】本願発明の第一実施例における信号処理を説明するタイミングチャート。
【図２】本願発明の第一実施例における座標算出を説明するフローチャート。
【図３】本願発明の座標入力装置の概略構成図。
【図４】センサユニット１中の投光手段を説明する説明図。
【図５】センサユニット１中の検出手段を説明する説明図。
【図６】制御・演算ユニット２のブロック図。
【図７】発光のタイミングチャート。
【図８】光量分布、及び信号処理の一例。
【図９】詳細な画素番号決定方法を説明する説明図。
【図１０】従来例の不具合を説明する説明図。
【図１１】本願発明の効果を説明する説明図。
【図１２】画素番号Nと角度Θの関係の説明図。
【図１３】座標算出の説明図。
【図１４】微小変位時の出力信号を説明する説明図
【図１５】本願発明の第二実施例における座標算出を説明するフローチャート。
【図１６】本願発明の第二実施例における信号処理を説明するタイミングチャート。
【図１７】座標入力開始時の出力信号を説明する説明図。
【図１８】本願発明の第三実施例における信号処理を説明するフローチャート。
【図１９】本願発明の第三実施例を改良した信号処理を説明するフローチャート。
【図２０】本願発明の第四実施例における信号処理を説明するフローチャート。
【符号の説明】
【０１０７】
１L,1R  センサユニット
２  制御ユニット
３  座標入力有効領域（入力板）
４  再帰反射部材
５  遮光部材（指、指示具等）
６  入力板
【図１】
2006107243.tif 000004
【図２】
2006107243.tif 000005
【図３】
2006107243.tif 000006
【図４】
2006107243.tif 000007
【図５】
2006107243.tif 000008
【図６】
2006107243.tif 000009
【図７】
2006107243.tif 000010
【図８】
2006107243.tif 000011
【図９】
2006107243.tif 000012
【図１０】
2006107243.tif 000013
【図１１】
2006107243.tif 000014
【図１２】
2006107243.tif 000015
【図１３】
2006107243.tif 000016
【図１４】
2006107243.tif 000017
【図１５】
2006107243.tif 000018
【図１６】
2006107243.tif 000019
【図１７】
2006107243.tif 000020
【図１８】
2006107243.tif 000021
【図１９】
2006107243.tif 000022
【図２０】
2006107243.tif 000023