(57)【要約】【課題】  座標の軌跡が不自然になりにくく、操作者が所望の入力操作をすることが可能となる。【解決手段】  座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する。複数の指示具による入力を検出している場合において、複数の受光部それぞれが検出する光量分布に基づいて、複数の指示具それぞれに対応する光量分布が重なっている状態であるか否かを判定する。判定の結果、複数の指示具それぞれに対応する光量分布が重なっている状態である場合、その状態によって、該複数の指示具の内の第１の指示具の座標値を補間により算出する補間区間を特定する。特定する補間区間において補間により算出する座標値の算出個数である補間点数を算出する。複数の受光部それぞれが検出する光量分布と補間区間と補間点数とに基づいて、該補間区間における補間座標値を算出する。補間区間に基づいて、補間座標値の出力を制御する。【選択図】  図２６
2016045527.tif 000002
【特許請求の範囲】
【請求項１】
指示具による座標入力有効領域上の指示位置を検出する座標入力装置であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出手段と、
前記検出手段によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具それぞれに対応する光量分布が重なっている状態であるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記複数の指示具それぞれに対応する光量分布が重なっている状態である場合、その状態によって、該複数の指示具の内の第１の指示具の座標値を補間により算出する補間区間を特定する特定手段と、
前記特定手段で特定する補間区間において補間により算出する座標値の算出個数である補間点数を算出する算出手段と、
前記複数の受光部それぞれが検出する光量分布と前記補間区間と前記補間点数とに基づいて、該補間区間における補間座標値を算出する補間手段と、
前記補間区間に基づいて、前記補間手段で算出する補間座標値の出力を制御する制御手段と
を備えることを特徴とする座標入力装置。
【請求項２】
前記判定手段は、前記複数の受光部それぞれが検出する光量分布に基づいて算出される前記複数の指示具それぞれの径サイズを比較することによって、前記複数の指示具それぞれに対応する光量分布が重なっている状態であるか否かを判定する
ことを特徴とする請求項１に記載の座標入力装置。
【請求項３】
前記算出手段は、前記径サイズと前記補間区間に基づいて、前記補間点数を算出する
ことを特徴とする請求項２に記載の座標入力装置。
【請求項４】
前記算出手段は、前記径サイズと前記補間区間と前記第１の指示具の移動速度に基づいて、前記補間点数を決定する
ことを特徴とする請求項２に記載の座標入力装置。
【請求項５】
前記補間手段は、前記複数の受光部の内、前記補間区間を含む光量分布を検出する受光部の光量分布から算出される該補間区間以外の座標値を用いて、該補間区間の前記補間座標値を算出する
ことを特徴とする請求項１乃至４のいずれか１項に記載の座標入力装置。
【請求項６】
前記制御手段は、前記補間区間に基づいて、前記補間座標値を間引いて出力する
ことを特徴とする請求項１乃至５のいずれか１項に記載の座標入力装置。
【請求項７】
前記制御手段は、前記複数の受光部それぞれが検出する光量分布に基づいて算出される前記補間区間以外の座標値と、前記補間座標値との出力を、前記補間区間に基づいて制御するものであり、更に、前記補間座標値の出力完了後に出力する座標値については、前記補間座標値の出力前に出力している座標値の個数よりも少ない数の座標値に間引いて出力する
ことを特徴とする請求項１乃至６のいずれか１項に記載の座標入力装置。
【請求項８】
前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具それぞれの指示位置の方向を示す角度情報を導出する導出手段を更に備え、
前記補間手段は、前記複数の受光部の内、前記補間区間を含む光量分布を検出する受光部の光量分布から導出される該補間区間以外の角度情報を用いて、該補間区間の角度情報を補間し、その補間された角度情報から補間座標値を算出する
ことを特徴とする請求項１乃至７のいずれか１項に記載の座標入力装置。
【請求項９】
指示具による座標入力有効領域上の指示位置を検出する座標入力装置の制御方法であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出工程と、
前記検出工程によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具それぞれに対応する光量分布が重なっている状態であるか否かを判定する判定工程と、
前記判定工程の判定の結果、前記複数の指示具それぞれに対応する光量分布が重なっている状態である場合、その状態によって、該複数の指示具の内の第１の指示具の座標値を補間により算出する補間区間を特定する特定工程と、
前記特定工程で特定する補間区間において補間により算出する座標値の算出個数である補間点数を算出する算出工程と、
前記複数の受光部それぞれが検出する光量分布と前記補間区間と前記補間点数とに基づいて、該補間区間における補間座標値を算出する補間工程と、
前記補間区間に基づいて、前記補間工程で算出する補間座標値の出力を制御する制御工程と
を備えることを特徴とする座標入力装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至９のいずれか１項に記載の座標入力装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示具による座標入力有効領域上の指示位置を検出する座標入力技術に関するものである。
【背景技術】
【０００２】
座標入力面に、指示具（例えば、専用入力ペン、指等）によって指示して座標を入力することで、接続されたコンピュータの制御をしたり、文字や図形等の画像を書き込むために用いられる座標入力装置が存在する。従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されている。この種の座標入力装置は、特殊な器具等を用いずに画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【０００３】
座標入力方式には、抵抗膜を用いたもの、また、超音波を用いたもの等、様々なものがある。光を用いた座標入力方式として、例えば、特許文献１に開示されるものがある。特許文献１に開示される構成では、座標入力領域の外側に再帰性反射シートが設けられ、座標入力領域の角端部に配置された、光を照明する照明部と光を受光する受光部が、座標入力領域内において光を遮蔽する遮蔽物（指等）と受光部間の角度を検出する。そして、その検出結果に基づいて、その遮蔽物の指示位置が決定される。ここで、特許文献１のような、遮蔽物の位置（遮光位置）を検出して遮蔽物の座標を算出する方式を、以下、遮光方式と称する。
【０００４】
また、更に、このような座標入力装置においては、特に、サイズが大きな場合に、複数の操作者が同時に入力することにより、利便性が向上し、より効率的な会議等の用途での要求があるので、複数同時入力に対応する座標入力装置が考案されている。
【０００５】
複数の座標を同時に入力するために、特許文献２では、複数の受光部で複数の指示具によって生成される波形変化部分を検出し、各受光部で検出する波形変化部分に対応する角度の組み合わせから数点の入力座標候補を算出している。そして、更に、その入力座標候補から実際に入力した座標を判別する技術が開示されている。例えば、２点入力の場合には、入力座標候補として最大４点の座標を算出し、この４点の内、実際に入力した座標２点を判定し、出力する。つまり、この判定は、複数の入力座標候補の中から、実際の入力座標と虚偽の入力座標を選別して、最終的な入力座標を判定する。この判定を、ここでは「虚実判定」と呼ぶことにする。
【０００６】
複数の座標入力を検知して各々の座標値を算出する場合、複数の各々の座標入力位置と受光部を結ぶ各々の直線が略同一直線となるような場合（各々の波形変化部分が重なった場合）には、各々の波形変化部分を分離して検出することができない。よって、位置算出不能状態となってしまう。そこで、特許文献２においては、使用している受光部を、波形変化部分を分離して検出できる他の受光部に切り替え、その切り替えた受光部で検出した波形変化部分に対応する角度に基づく虚実判定から、複数の実際の入力座標を算出している。尚、この場合の虚実判定は、波形変化部分を分離して検出できない受光部から得られる角度でも十分に可能なので、この受光部から得られる角度を用いて行う。
【０００７】
一方で、特許文献３では、タッチパネル上で、第１のスタイラスペンが第１の波長の光を発光し、第２のスタイラスペンが第２の波長の光を発光し、第１のフィルタと第２のフィルタとがそれぞれフィルタリングを行う。そして、一対の第１の検出部と一対の第２の検出部それぞれが透過した光を受光し、それぞれの位置関係と受光した光の入射角度とからそれぞれのスタイラスペンの座標を検出する技術が開示されている。また、特許文献３においては、第１のスタイラスペンが指示する座標を検出できない場合、検出できない座標に対してその前後で検出できている座標を用いて検出できない座標を補間する補間処理を実行している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第４５０７５５７号公報
【特許文献２】特開２００３−３０３０４６号公報
【特許文献３】特許第４１１２８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献２での切替関係にある２つの受光部は、その少なくとも一方が２つの波形変化部分を分離して検出できるような状態になっていなければならない。つまり、この切替関係にある２つの受光部がいずれも波形変化部分の重なりがある状態では、そもそも受光部を切り替える意味がなく、座標算出不能のままである。従って、切替関係にある２つの受光部の少なくとも一方で、２つの波形変化部分が必ず分離した状態で観測されるようにするためには、この２つの受光部を一定の距離、離間して配置する必要がある。また、全ての座標入力領域で、少なくとも一方の受光部で２つの波形変化部分を分離して検出するための条件は、受光部間の距離に関するだけではない。即ち、受光部と座標入力領域との位置関係、座標入力領域の寸法、指示具の大きさ、指示２点間の距離等、複雑な関係が存在する。
【００１０】
また、切替関係にある第３の受光部に切り替えて座標を算出する場合には、次のような問題が生じる。まず、受光部を切り替えることによる算出座標の不連続性の問題である。例えば、第１及び第２受光部を用いて指示具の位置座標を算出した場合の座標値と、第１及び第３受光部を用いて指示具の位置座標を算出した場合の座標値は異なる。つまり、指示具を同一の場所で指示したにもかかわらず、両者の座標値が異なって算出され現象が発生する。この現象が発生する主な原因は、受光部毎の光学特性（角度特性）が異なる、受光部の位置の取付誤差、あるいは座標算出の際に用いられる受光部間の距離が挙げられる。
【００１１】
更に、座標入力装置と一体的に構成される表示器の構造・仕様によっては、座標入力領域の上辺／下辺の左右端に配置される第１及び第２受光部の中央部分に、切替用の第３受光部を配置するためのスペースの確保が困難となる場合がある。また、その中央部に設ける第３受光部は、第１及び第２受光部に比べて検出範囲が広くする構成が別途必要となり、装置コストがあがってしまう要因となっている。
【００１２】
一方で、特許文献３では、スタイラスペンの発光を検出する方式であるが故に、専用の光を発光する専用指示具が必要で、指等の一般的な簡易な指示具での入力ができない。しかしながら、特許文献２における２つの波形変化部分を分離して検出できないという課題に対しては、検出できない座標に対してその前後で検出できている座標を用いて検出できない座標を補間する補間処理を実行している。この補間処理は、周期Ｔで指示具の発光をサンプリングする場合に、検出できた座標値間の座標ベクトル長を算出し、座標が算出できなかった周期Ｔの個数について、その前後の座標値を用いて線形近似または曲線近似することで検出できなかった座標値を算出する。
【００１３】
しかしながら、この補間処理には、次のような課題がある。
【００１４】
１つ目は、補間処理がサンプリング時間と座標ベクトルに基づくため、補間する点数及び区間が適正でない可能性があるということである。特に、指示具の入力の移動速度に関連し、そのサンプリング時間あたりの移動距離が指示具の径サイズの範囲内になる場合には、その補間点数が過剰である可能性が高い。また、サンプリング時間が短い場合には、補間点数も多くなり、座標算出処理の負担が大きくなるという問題もある。
【００１５】
２つ目は、座標が出力されて表示装置の画面に表示されるまでの時間に関連し、座標を算出できない区間（補間区間）の前後で算出できる座標値を用いて、その補間区間の座標値を補間することは、一旦、補間区間の前の座標が出力されてから停止することになる。そして、補間区間で補間する座標が算出及び出力され、その後、補間区間の後の座標が出力されることになる。従って、この補間区間は、補間処理が終了するまで、座標が出力されない状態となるが、このままでは、座標出力の結果として表示装置に表示される描画軌跡が不自然となってしまう。特許文献３においては、この描画軌跡が不自然になるという現象及び回避する構成については一切の記載がない。
【００１６】
３つ目は、補間する座標値を前後の座標値を用いて近似するので、一般的な事象として近似式には誤差が含まれるため、入力した座標値群による軌跡を忠実に算出できない可能性がある。一般的に、近似式の誤差を小さくするには、近似式を算出する際に、算出できた前後の座標値の個数を増やすことや近似式の次数を増やすことが考えられる。しかし、補間区間以降の算出できた最後の座標のサンプリング時間までは、座標出力できない区間となるため、更に出力停止時間が長くなり、より一層に描画軌跡が不自然となってしまうという課題がある。
【００１７】
本発明は上記の課題を解決するためになされたものであり、座標の軌跡が不自然になりにくく、操作者が所望の入力操作をすることが可能となる座標入力技術を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
指示具による座標入力有効領域上の指示位置を検出する座標入力装置であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出手段と、
前記検出手段によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具それぞれに対応する光量分布が重なっている状態であるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記複数の指示具それぞれに対応する光量分布が重なっている状態である場合、その状態によって、該複数の指示具の内の第１の指示具の座標値を補間により算出する補間区間を特定する特定手段と、
前記特定手段で特定する補間区間において補間により算出する座標値の算出個数である補間点数を算出する算出手段と、
前記複数の受光部それぞれが検出する光量分布と前記補間区間と前記補間点数とに基づいて、該補間区間における補間座標値を算出する補間手段と、
前記補間区間に基づいて、前記補間手段で算出する補間座標値の出力を制御する制御手段と
を備える。
【発明の効果】
【００１９】
本発明によれば、座標の軌跡が不自然になりにくく、操作者が所望の入力操作をすることが可能となる座標入力技術を提供できる。
【図面の簡単な説明】
【００２０】
【図１】遮光方式の座標入力装置の概略構成を示す図である。
【図２】センサユニットの詳細構成を示す図である。
【図３】センサユニットの光学的配置図である。
【図４】制御・演算ユニットの詳細構成を示すブロック図である。
【図５】制御信号のタイミングチャートである。
【図６】センサユニットが検出する光量分布を説明するための図である。
【図７】信号読出のタイミングチャートである。
【図８】遮光範囲の検出について説明するための図である。
【図９】遮光範囲の検出について説明するための図である。
【図１０】遮光範囲の検出について説明するための図である。
【図１１】遮光範囲の検出について説明するための図である。
【図１２】座標入力有効領域上に定義する座標とセンサユニット１Ｌ及び１Ｒとの位置関係を示す図である。
【図１３】受光部を複数有するセンサユニットにおける座標算出を説明するための図である。
【図１４】複数の指示具からの入力動作における位置関係及び検出信号の一例を示す図である。
【図１５】遮光範囲の端部情報による座標算出の詳細を説明するための図である。
【図１６】遮光範囲の端部情報による座標算出の一例を説明するための図である。
【図１７】遮光範囲の端部情報（角度）の重なり部分の２等分線と座標値の関係を説明するための図である。
【図１８】虚実判定を説明するための図である。
【図１９】皆既食状態を説明するための図である。
【図２０】皆既食状態判定を説明するための図である。
【図２１】端部情報による径サイズの算出について説明するための図である。
【図２２】座標補間について説明するための図である。
【図２３】座標補間に関連した座標出力処理について説明するための図である。
【図２４】座標連続性の判定を説明するための図である。
【図２５】座標算出処理を示すフローチャートである。
【図２６】座標補間処理の詳細を示すフローチャートである。
【図２７】座標補間処理を説明するための図である。
【図２８】座標補間について説明するための図である。
【図２９】座標補間について説明するための図である。
【図３０】座標補間について説明するための図である。
【図３１】座標算出処理を示すフローチャートである。
【図３２】座標補間処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２２】
＜装置構成の概略説明＞
まず、図１を用いて、座標入力装置全体の概略構成を説明する。
【００２３】
図１は遮光方式の座標入力装置の概略構成を示す図である。
【００２４】
図１において、１Ｌ、１Ｒは投光部及び受光部を有するセンサユニットであり、座標入力面であるところの座標入力有効領域３の周辺に配置されている。特に、本実施形態の場合、センサユニット１Ｌ及び１Ｒは、座標入力有効領域３のＸ軸に平行に、かつＹ軸に対称な位置に、所定距離離れて配置されている。センサユニット１Ｌ及び１Ｒは、制御・演算ユニット２に接続され、制御信号を制御・演算ユニット２から受信すると共に、検出した信号を制御・演算ユニット２に送信する。
【００２５】
４は入射光を到来方向に反射する再帰反射面を有する再帰反射部であり、座標入力有効領域３の外側３辺に図示が如く配置され、左右各々のセンサユニット１Ｌ及び１Ｒから略９０°範囲に投光された光を、センサユニット１Ｌ及び１Ｒに向けて再帰反射する。再帰反射部４で再帰反射された光は、センサユニット１Ｌ及び１Ｒによって１次元的に検出され、その光量分布が制御・演算ユニット２に送信される。８は特定の波長のみの光を透過することが可能な光透過部材である。この光透過部材８は、不要光の透過を防止すると共に再帰反射部４が直接外部に露出することを防止し、座標入力有効領域３の近傍に配置されることで製品外観の一部を構成する。
【００２６】
座標入力有効領域３は、ＰＤＰやリアプロジェクタ、フロントプロジェクタ、ＬＣＤパネル等の表示装置の表示画面で構成することで、インタラクティブな入力装置として、利用可能となっている。
【００２７】
このような構成において、座標入力有効領域３に指等の指示具による入力指示がなされると、センサユニット１Ｌ及び１Ｒの投光部から投光された光が遮られる（遮光部分）。つまり、センサユニット１Ｌ及び１Ｒの受光部ではその遮光部分の光（再帰反射による反射光）を検出しない。従って、その結果、どの方向からの光が検出できなかったかを判別することが可能となる。
【００２８】
そこで、制御・演算ユニット２は、左右のセンサユニット１Ｌ及び１Ｒが検出する光量変化から、指示具によって入力指示された部分の複数の遮光範囲を検出する。そして、その遮光範囲の端部情報から、センサユニット１Ｌ及び１Ｒそれぞれに対する遮光範囲の端部の方向（角度）をそれぞれ算出する。
【００２９】
そして、検出された遮光範囲の数に基づいて、座標算出に用いる遮光範囲から得られるデータを決定する。そして、それぞれ算出された方向（角度）、及びセンサユニット１Ｌ及び１Ｒ間の距離情報等から、座標入力有効領域３上の指示具の遮光位置を幾何学的に算出する。そして、表示装置に接続されているホストコンピュータ等の外部端末に、インタフェース７を経由してその座標値を出力する。  のようにして、指示具によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
【００３０】
＜センサユニット１の詳細説明＞
次に、センサユニット１Ｌ及び１Ｒ内の構成について、図２を用いて説明する。尚、センサユニット１Ｌ及び１Ｒは、大きく分けて投光部と受光部から構成される。
【００３１】
図２はセンサユニットの詳細構成を示す図である。
【００３２】
図２において、１０１Ａ及び１０１Ｂは、赤外光を発する赤外ＬＥＤであり、各々投光レンズ１０２Ａ及び１０２Ｂによって、再帰反射部４に向けて略９０°範囲に光を投光する。ここで、センサユニット１Ｌ及び１Ｒの投光部は、この赤外ＬＥＤ１０１Ａ及び１０１Ｂと、投光レンズ１０２Ａ及び１０２Ｂによって実現される。これにより、センサユニット１Ｌ及び１Ｒには、それぞれ２つの投光部が構成されることになる。
【００３３】
そして、投光部より投光された赤外光は、再帰反射部４により到来方向に再帰反射され、センサユニット１Ｌ及び１Ｒの受光部によって、その光を検出する。受光部は、光線の視野を制限すると共に電気的なシールドをになうシールド部材１０５を設けた１次元のラインＣＣＤ１０４からなる。更には、集光光学系としての受光用レンズ１０６Ａ及び１０６Ｂ、入射光の入射方向を概略制限する絞り１０８Ａ及び１０８Ｂ、及び可視光等の余分な光（外乱光）の入射を防止する赤外フィルタ１０７Ａ及び１０７Ｂからなる。
【００３４】
そして、再帰反射部４によって反射された光は、赤外フィルタ１０７Ａ及び１０７Ｂ、絞り１０８Ａ及び１０８Ｂを抜けて受光用レンズ１０６Ａ及び１０６Ｂによって、ラインＣＣＤ１０４の検出素子１１０面上に集光される。これにより、センサユニット１Ｌ及び１Ｒには、それぞれ２つの受光部が構成されることになる。
【００３５】
部材１０３及び部材１０９は、投光部及び受光部を構成する光学部品を配置するとともに、投光部で投光した光が直接受光部に入射することを防ぐ、あるいは外来光をカットするための上フード１０３及び下フード１０９として機能する。
【００３６】
図３（Ａ）は、図２の状態のセンサユニット１Ｌ（１Ｒ）を組み上げた状態を、正面方向（座標入力面に対し垂直方向）から見た図である。センサユニット１Ｌ（１Ｒ）中の２つの投光部は、所定距離ｄ離れた状態で、それぞれの主光線方向が略平行となるように配置され、各々の投光レンズ１０２Ａ及び１０２Ｂによって、それぞれ略９０°範囲に光を投光するように構成されている。
【００３７】
図３（Ｂ）は、図３（Ａ）の太矢印で示される部分の断面図である。赤外ＬＥＤ１０１Ａ（１０１Ｂ）からの光は、投光レンズ１０２Ａ（１０２Ｂ）により、座標入力面に略平行に制限された光束として、主に再帰反射部４に対して光が投光されるように構成されている。
【００３８】
図３（Ｃ）は、図３（Ａ）における赤外ＬＥＤ１０１Ａ及び１０１Ｂ、投光レンズ１０２Ａ及び１０２Ｂ、上フード１０３を取り除いた状態を、正面方向（座標入力面に対し垂直方向）から見た図である。
【００３９】
ここで、本実施形態の場合、投光部と受光部は、座標入力面である座標入力有効領域３の垂直方向に対し重ねた配置構成（図３（Ｂ）参照）となっている。そして、正面方向（座標入力面に対し垂直方向）から見て、投光部の発光中心と受光部の基準位置が一致する構造となっている。尚、基準位置とは、角度を計測するための基準点位置に相当し、本実施形態にあっては絞り１０８Ａ（１０８Ｂ）の位置であって、図中の光線が交差する点となる。従って、前述した通り、２つの投光部は所定距離ｄ離れた状態で、それぞれの主光線方向略平行となるように配置されているので、２つの受光部も同様に所定距離ｄ離れた状態で、かつ各々の光軸（光学的な対称軸）が略平行となるように構成されている。
【００４０】
また、投光部により投光された座標入力面に略平行な光束であって、面内方向に略９０°方向に投光されている光は、再帰反射部４により光の到来方向に再帰反射される。そして、赤外フィルタ１０７Ａ（１０７Ｂ）、絞り１０８Ａ（１０８Ｂ）、受光用レンズ１０６Ａ（１０６Ｂ）を経て、ラインＣＣＤ１０４の検出素子１１０面上に集光、結像することになる。従って、ラインＣＣＤ１０４の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、ラインＣＣＤ１０４を構成する各画素の画素番号が角度情報を示すことになる。
【００４１】
尚、図３（Ｂ）に示す投光部と受光部の距離Ｌは、投光部から再帰反射部４までの距離に比べて十分に小さな値であり、距離Ｌを有していても十分な再帰反射光を受光部で検出することが可能な構成となっている。
【００４２】
以上説明したように、センサユニット１Ｌ（１Ｒ）は、少なくとも２つの投光部と、各々の投光部で投光された光を各々検出する２つの受光部（本実施形態の場合、投光部が２組、受光部が２組）を有する構成である。
【００４３】
また、本実施形態にあっては、受光部の一部であるラインＣＣＤ１０４におけるライン状に配置された検出素子１１０の左側部分を第１受光部の集光領域、右側部分を第２受光部の集光領域とする。これにより、部品の共通化を図っているが、これに限定されるものでなく、各受光部毎に個別にラインＣＣＤを設けてもよいことは言うまでもない。
【００４４】
＜制御・演算ユニットの説明＞
制御・演算ユニット２とセンサユニット１Ｌ及び１Ｒの間では、主に、受光部内のラインＣＣＤ１０４用のＣＣＤ制御信号、ＣＣＤ用クロック信号と出力信号、及び投光部内の赤外ＬＥＤ１０１Ａ及び１０１Ｂの駆動信号がやり取りされている。ここで、制御・演算ユニット２の詳細構成について、図４を用いて説明する。
【００４５】
図４は制御・演算ユニットの詳細構成を示すブロック図である。
【００４６】
ＣＣＤ制御信号は、ワンチップマイコン等で構成される演算制御回路（ＣＰＵ）２１から出力され、ラインＣＣＤ１０４のシャッタタイミングやデータの出力制御等が行われる。尚、この演算制御回路２１は、クロック発生回路（ＣＬＫ）２２からのクロック信号に従って動作する。また、ＣＣＤ用のクロック信号は、クロック発生回路（ＣＬＫ）２２からセンサユニット１Ｌ及び１Ｒに送信されると共に、各センサユニット内部のラインＣＣＤ１０４との同期をとって各種制御を行うために、演算制御回路２１にも入力されている。
【００４７】
投光部の赤外ＬＥＤ１０１Ａ及び１０１Ｂを駆動するためのＬＥＤ駆動信号は、演算制御回路２１からＬＥＤ駆動回路（不図示）を介して、対応するセンサユニット１Ｌ及び１Ｒの投光部内の赤外ＬＥＤ１０１Ａ及び１０１Ｂに供給されている。
【００４８】
センサユニット１Ｌ及び１Ｒそれぞれの受光部内のラインＣＣＤ１０４からの検出信号は、Ａ／Ｄコンバータ２３に入力され、演算制御回路２１からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ１３２に記憶され、指示具の角度計算に用いられる。そして、この計算された角度から座標値が算出され、外部端末にインタフェース７（例えば、ＵＳＢ、ＩＥＥＥ１３９４、ＲＳ２３２Ｃインタフェース等）を介して出力される。
【００４９】
また、指示具としてペンを用いる場合、ペンからのペン信号を受信するペン信号受信部５からは、ペン信号を復調したデジタル信号が出力される。そのデジタル信号は、ペン信号検出回路としてのサブＣＰＵ２４に入力され、ペン信号が解析された後、その解析結果が演算制御回路２１に出力される。
【００５０】
＜光量分布検出の説明＞
図５は制御信号のタイミングチャートである。特に、図５では、センサユニット１Ｌ（１Ｒ）中の一つの受光部及びそれに対応する照明としての赤外ＬＥＤ１０１Ａ（１０１Ｂ）への制御信号のタイミングチャートを示している。
【００５１】
７１、７２はＣＣＤ制御用の制御信号であり、ＳＨ信号７１の間隔で、ラインＣＣＤ１０４のシャッタ開放時間が決定される。ＩＣＧ信号７２はセンサユニット１Ｌ（１Ｒ）へのゲート信号であり、内部のラインＣＣＤ１０４の光電変換部の電荷を読出部へ転送する信号である。
【００５２】
７３は赤外ＬＥＤ１０１Ａ（１０１Ｂ）の駆動信号であり、ここで、ＳＨ信号７１の周期で、赤外ＬＥＤ１０１Ａ（１０１Ｂ）を点灯するために、ＬＥＤ信号７３が赤外ＬＥＤ１０１Ａ（１０１Ｂ）に供給される。そして、センサユニット１Ｌ及び１Ｒの双方の投光部の駆動が終了した後に、センサユニット１Ｌ及び１Ｒの双方の受光部（ラインＣＣＤ１０４）の検出信号が読み出される。
【００５３】
ここで、センサユニット１Ｌ及び１Ｒの双方から読み出される検出信号は、座標入力有効領域３への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図６（Ａ）のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部４の再帰反射特性や投光部の特性、また、経時変化（反射面の汚れ等）によって、光量分布は変化する。
【００５４】
図６（Ａ）においては、レベルＡが最大光量であり、レベルＢが最低光量となっている。つまり、再帰反射部４からの反射光がない状態では、センサユニット１Ｌ及び１Ｒで得られる光量レベルがレベルＢ付近になり、反射光量が増えるほど、レベルＡに光量レベルが遷移する。このようにして、センサユニット１Ｌ及び１Ｒから出力された検出信号は、逐次、対応するＡ／Ｄコンバータ２３でＡ／Ｄ変換され、演算制御回路２１にデジタルデータとして取り込まれる。
【００５５】
これに対し、座標入力有効領域３への指示具による入力がある場合には、センサユニット１Ｌ及び１Ｒからの出力として、図６（Ｂ）のような光量分布が得られる。この光量分布のＣ１及びＣ２部分では、指示具によって再帰反射部４からの反射光が遮られているため、その部分（遮光範囲）のみ反射光量が低下していることがわかる。特に、図６（Ｂ）では、複数の指示具によって、指示具によって再帰反射部４からの反射光が遮られているため、複数の遮光範囲が検出される。
【００５６】
そして、本実施形態では、指示具による入力がない場合の図６（Ａ）の光量分布と、指示具による入力がある場合の図６（Ｂ）の光量分布の変化に基づいて、センサユニット１Ｌ及び１Ｒに対する指示具の角度を算出する。
【００５７】
具体的には、図６（Ａ）の光量分布として、投光部による投光（照明）がない状態の光量分布８１と、投光（照明）中で指示具による入力がない（遮蔽物がない状態）状態の光量分布８２を初期状態として予めメモリ１３２に記憶しておく。
【００５８】
そして、センサユニット１Ｌ及び１Ｒそれぞれの検出信号のサンプル期間に、のような光量分布の変化があるか否かを、そのサンプル期間中の光量分布と、メモリ１３２に記憶されている初期状態の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点として、その入力角度を決定する（遮光範囲の端部を決定する）演算を行う。
【００５９】
上述したように、本願発明では、１つのラインＣＣＤ１０４に対して、複数の受光部が設けられ、その各々に対して投光部が設けられている。従って、各々の受光部（もしくは投光部）を別のタイミングで駆動する場合には、各々を上記のような信号タイミングで駆動すればよい。
【００６０】
図７はその信号のタイミングチャート例であり、まず、センサユニット１ＬのラインＣＣＤ１０４の読出先頭側で、センサユニット１Ｌの一方の受光部による検出を行う。そのために、ＳＨ信号６１に対して、信号６３のようなタイミングで、赤外ＬＥＤ（例えば、赤外ＬＥＤ１０１Ａ）が駆動される。ＩＣＧ信号６２によって、ラインＣＣＤ１０４の信号が読み出されるが、このときは、ラインＣＣＤの先頭側の受光範囲の画素データが読み出される（信号６５中のＡ部分）。
【００６１】
次に、同じ、ラインＣＣＤ１０４に対して、ＳＨ信号６１が与えられ、センサユニット１Ｌの他方の受光部により検出を行うために、赤外ＬＥＤ（例えば、赤外ＬＥＤ１０１Ｂ）に駆動信号６４が供給される。この出力は、信号６５のＢ部分のように、先に検出した先頭部分の信号（破線部）と重ならない領域に、受光された信号が出力される。別のタイミングで、もう一方のセンサユニット１Ｒを同様に駆動することで、ＣＣＤの信号が各々のセンサから読み出され、本願発明では、最大４つの受光部による検出信号を取得することになる。
【００６２】
尚、本実施形態では、左右のセンサユニット１Ｌ及び１Ｒで合わせて４つの受光部に対して、別々のタイミングで駆動している。しかしながら、これに限定されるものではなく、お互いの発光が影響しないのであれば、同時に駆動してもかまわないし、各々の任意の組み合わせで駆動してもかまわない。
【００６３】
＜角度算出の説明＞
センサユニット１Ｌ及び１Ｒに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。以下、センサユニット１Ｌ及び１Ｒの一方（例えば、センサユニット１Ｌ）による指示具の角度計算について説明するが、他方（センサユニット１Ｒ）でも同様の角度計算を行うことは言うまでもない。
【００６４】
電源投入時の光量分布として、図６（Ａ）の信号８１及び信号８２をメモリ１３２に記憶しておき、その信号と、実際の指示具による入力によって得られる光量分布との比較から、指示具の入力範囲（遮光範囲）を検出する。
【００６５】
図６（Ｂ）のように、Ｃ１、Ｃ２を有する光量分布からなる入力がある場合は、その光量分布と、メモリ１３２に記憶されている光量分布８２との差を計算する。そして、その計算結果と、光量分布８２と光量分布８１の光量差を用いて、遮光（入力）がない場合との光量変化率を計算する。このように、光量変化率を計算することによって、部分的な光量分布の不均一等の影響を除去できる。
【００６６】
計算された光量変化率に対して、閾値を用いて、光量が変化しているラインＣＣＤ１０４上の画素番号を特定する。この時、検出信号レベルの情報等を用いることで、画素番号より細かい画素情報が特定可能になる。これらの画素番号から、遮光範囲の端部を決定でき、例えば、その遮光範囲の中央値（ラインＣＣＤ１０４の画素番号）を指示具の角度情報として導出する。
【００６７】
得られた画素番号から、実際の座標値を計算するためには、角度情報（θ）に変換する必要がある。角度情報への変換は、例えば、多項式を用いて実現することができる。例えば、ＣＣＤ画素番号をｅ、次数をｎ、各次数の係数をＴｎとすると、角度θは、
θ  =Tn・en+T(n-1)・e(n-1)+T(n-2)・e(n-2)+、・・・、+T0          （１）
のようにして、算出することができる。尚、各次数の係数は、実測値や設計値等から決定できる。また、次数は必要とされる座標精度等を鑑みて決定すれば良い。
【００６８】
前述の通り、センサユニット１Ｌには、２つの受光部が構成されていて、それぞれをＬ１、Ｌ２とすると、まず、Ｌ１、即ち、図７のＡ部分の光量分布が検出される受光部について前述の遮光範囲の端部を決定する処理が実行される。このＡ部分については、メモリ１３２に格納されているＡ部分に対応する全てのデータについて、光量分布の差と変化率の計算処理が行なわれる。尚、Ｌ２に対応するＢ部分の光量分布については、処理時間を短縮するためにメモリ１３２に格納されているＢ部分に対応する全てのデータについて上記の計算処理を行わない。Ａ部分の遮光範囲探索結果から、遮光範囲探索を実行するサーチ範囲を限定するよう決定し、その範囲内でＡ部分の遮光範囲探索処理と同様の計算処理によって遮光範囲の端部に相当するＣＣＤ画素番号を決定し角度情報を算出する。
【００６９】
今、図８のように、２点の入力としてＰ１及びＰ２がある場合に、図７のＡ部分の光量分布に相当するセンサユニット１Ｌの受光部Ｌ１では、図９に示すように遮光範囲が２個検出される。この光量分布データは、図８に示すように、受光部Ｌ１で検出される遮光端情報として、上述の計算処理によりｌ１１、ｌ１２、ｌ１３、ｌ１４として検出される。同様に、センサユニット１Ｒの受光部Ｒ１では、ｒ１１、ｒ１２、ｒ１３、ｒ１４が検出される。
【００７０】
先述したとおり、センサユニット１Ｌ及び１Ｒでは、同一ラインＣＣＤ上に所定の距離離して２系統の光学系を構成している。従って、受光部Ｌ１で検出される遮光端情報から受光部Ｌ２で検出される遮光端情報を予測することができる。即ち、上記で決定した画素番号から開始点を決定し、Ａ部分の遮光範囲探索処理と同様の計算処理によってＢ部分の遮光範囲の端部、即ち、図８におけるｌ２１、ｌ２２、ｌ２３、ｌ２４に相当するＣＣＤ画素番号を決定し角度情報を算出することができる。同様な遮光範囲探索処理を受光部Ｒ２についても行い、ｒ２１、ｒ２２、ｒ２３、ｒ２４に相当するＣＣＤ画素番号を決定し角度情報を算出する。このようにして、複数の入力点Ｐ１及びＰ２の座標を算出するための遮光端の角度情報を検出することができる。
【００７１】
尚、遮光探索開始点を決定してから、上記では２つの遮光端を検出するまで連続して遮光範囲探索処理を行っている。しかしながら、受光部Ｌ１とＬ２及び受光部Ｒ１とＲ２で検出される遮光範囲は略等しいので、遮光端を１つ検出したならば、所定画素数分（Ｌ１及びＲ１の各々の遮光端から算出する幅情報）のデータをスキップして再び遮光範囲探索処理を開始してもよい。この処理は、特に、センサユニットに対して入力点の距離が比較的近く、遮光範囲が大きくなる場合に有効となる。
【００７２】
次に、図１０と図１１を用いて、受光部Ｌ１で検出される遮光範囲が入力点Ｐ１とＰ２が重なって１つの遮光範囲として見える、「部分食」状態となっている場合について説明する。
【００７３】
この場合は、受光部Ｌ１で検出される遮光範囲は１個であるので、まず、ｌ１１とｌ１２に相当するＣＣＤ画素番号を決定し角度情報を算出する。そして、このｌ１１とｌ１２を用いて、受光部Ｌ２の遮光探索開始点を決定し、受光部Ｌ２で検出される遮光範囲ｌ２１とｌ２２に相当するＣＣＤ画素番号を決定し角度情報を算出する。
【００７４】
受光部Ｒ１及びＲ２に関しても、同様に、受光部Ｒ１におけるｒ１１、ｒ１２、ｒ１３、ｒ１４に相当するＣＣＤ画素番号を決定して角度情報を算出する。また、受光部Ｒ２の遮光探索開始点を決定し、受光部Ｒ２におけるｒ２１、ｒ２２、ｒ２３、ｒ２４に相当するＣＣＤ画素番号を決定し角度情報を算出する。
【００７５】
尚、遮光範囲探索処理を実行する順番は、まず、受光部Ｌ１、次に、受光部Ｌ２として、ラインＣＣＤの読出順としているが、これに限定されるものではない。受光部Ｌ１及びＬ２の一方が座標入力有効領域３の全域を受光可能で、もう一方が補助的に座標入力有効領域３の限定した領域を受光可能である場合には、座標入力有効領域３の全域を受光可能な受光部のデータから遮光範囲探索処理を実行してもよい。この場合は、単１点入力を主な使い方とする場合に座標入力有効領域３の全域について受光可能な受光部のデータのみを遮光範囲探索処理を実行する構成をとることができるのでサンプリング速度に有利な構成となる。
【００７６】
＜座標算出方法の説明＞
次に、画素番号から変換された角度情報（θ）から、指示具の位置座標を算出する座標算出方法について説明する。尚、指示具の入力が１点である場合には、センサユニット１Ｌ及び１Ｒの出力結果に基づいて得られる遮光範囲の中央の角度を用いることで座標算出が可能である。ここで、座標入力有効領域３上に定義する座標とセンサユニット１Ｌ及び１Ｒとの位置関係及び座標系について、図１２を用いて説明する。
【００７７】
図１２は座標入力有効領域上に定義する座標とセンサユニット１Ｌ及び１Ｒとの位置関係を示す図である。図１２では、座標入力有効領域３の水平方向にＸ軸、垂直方向にＹ軸を定義し、座標入力有効領域３の中央を原点位置Ｏ（０，０）に定義している。そして、座標入力有効領域３の座標入力範囲の上辺左右に、それぞれのセンサユニット１Ｌ及び１ＲをＹ軸に対称に取り付け、その間の距離はＤＬＲである。
【００７８】
また、センサユニット１Ｌ及び１Ｒそれぞれの受光面は、その法線方向がＸ軸と４５度の角度を成すように配置され、その法線方向を０度と定義している。この時、角度の符号は、左側に配置されたセンサユニット１Ｌの場合には、時計回りの方向を『＋』方向に、また、右側に配置されたセンサユニット１Ｒの場合には、反時計回りの方向を『＋』方向と定義している。
【００７９】
更には、Ｐ０はセンサユニット１Ｌ及び１Ｒの法線方向の交点位置、つまり、基準角度の交点となる。また、センサユニット１Ｌ（１Ｒ）の位置から原点までのＹ座標距離をＤＹとする。この時、基準角度から、それぞれのセンサユニット１Ｌ及び１Ｒで得られた角度をθＬ、θＲとすると、検出すべき点Ｐの座標Ｐ（ｘ，ｙ）は、ｔａｎθＬ、ｔａｎθＲを用いて、
x = DLR/2*(tanθL+tanθR)/(1+(tanθL*tanθR))              （２）
y = DLR/2*((1+tanθL)(1+tanθR))/(1+(tanθL*tanθR))-DY    （３）
で計算される。
【００８０】
ここでの、角度データのとり方は、基準角度からの角度としている。これは、このように角度を設定することで、ｔａｎθのとる値が±π／４の範囲にあるため、座標算出が不安定にならないという効果がある。他の算出において、θの値がπ／２値をとっても、不安定ならないようであれば、同一高さ（同一レベル）にある、受光部を結ぶラインに対する角度を用いて、算出を行っても良い。例えば、以下に示す補正計算に関しては、そのような角度定義で計算することができる。
【００８１】
ここで、各センサユニット１Ｌ（Ｒ）の２つの受光部は、実際には座標入力有効領域３に対して同一ライン上には設けられていない。そのため、座標算出時に、異なる位置の受光部のデータを用いる場合には、この位置のずれ分の補正を行う必要がある。
【００８２】
図１３に示すように、センサユニット１Ｌの２つの受光部の瞳位置をそれぞれＬ１及びＬ２、センサユニット１Ｒの２つの受光部の瞳位置をそれぞれＲ１、Ｒ２とする。また、Ｌ１とＬ２とのｘ軸方向の差であるｘ軸方向距離Δｘｓ、Ｌ１とＬ２とのｙ軸方向の差であるｙ軸方向距離Δｙｓとする。
【００８３】
Ｌ２で検出されたデータがθＬ２である場合、Ｘ軸方向にＲ１と同一高さで見ると、仮想的にＶＬ２の位置にセンサユニット１Ｌがあるとして、ΔｖｘｓをθＬ２を用いて算出することができる。そして、Ｒ１と同一高さに換算するには、高さ方向の距離Δｙｓと得られた角度θＬ２とから、Δｖｘｓ＝Δｙｓ／ｔａｎθＬ２となる。
【００８４】
よって、式（２）、（３）のセンサユニット間距離ＤＬＲを、受光部の瞳位置Ｌ１及びＬ２間のＸ方向距離Δｘｓと、算出されたΔｖｘｓで補正し、仮の座標値を計算することが可能となる。計算されたこの仮の座標値におけるｘ座標は、ＶＬ２とＲ１の中間を原点として計算されるので、そのＸ座標から（Δｘｓ＋Δｖｘｓ）／２を更に補正すれば、異なる位置にある受光部のデータを用いて座標算出が可能になる。
【００８５】
尚、指示具の入力が２点である場合で、各センサユニットの受光部において、遮光範囲が２つずつある場合には、上述した指示具の入力が１点である場合と同様に遮光範囲の中央の角度を用いることで座標算出が可能である。例えば、センサユニット１Ｌの受光部Ｌ１とセンサユニット１Ｒの受光部Ｒ１では、遮光範囲の中央の角度が２つずつあるので、この交点の座標を算出すると合計４点の座標を算出することになる。ここで、この４点の座標を出力座標候補点と呼ぶこととする。
【００８６】
同様に、センサユニット１Ｌの受光部Ｌ２とセンサユニット１Ｒの受光部Ｒ２でも遮光範囲の中央の角度が２つずつある場合には、この交点の座標を算出し、合計４点の座標を算出することになる。ここで、この４点の座標を虚実判定用座標と呼ぶことにする。この虚実判定用座標の４点は、先述した出力座標候補点から、指示具の入力の２点に対応する座標値を選択する処理（虚実判定）のために使用する。の虚実判定は、出力座標候補点の４点と虚実判定用座標の４点の座標が略一致するかどうかで判定が行われ、略一致する座標の２点が、実際に入力された位置に対応する座標として選択される。
【００８７】
入力が一点であるような場合には、遮光幅（遮光範囲）の中央の角度を用いても座標算出が可能である。しかし、図１４の上部のように、複数の指示具からの入力があり、受光部と複数の指示具の位置関係が、センサユニット１Ｌの２つの受光部での検出信号（光量分布（遮光範囲））が共に重なってしまうような場合には、このような方法では計算できない。
【００８８】
例えば、図１４の上部での状態では、センサユニット１Ｌの受光部Ｌ１では、指示具Ｂは指示具Ａの影に完全に隠れてしまっており、またもう一方の受光部Ｌ２では、指示具Ｂと指示具Ａの遮光範囲が連続してしまっている。
【００８９】
そして、図１４の下部はその時の出力信号であり、受光部Ｌ１での出力信号は指示具Ａの遮光範囲（Ａ）のみで構成され、受光部Ｌ２での出力信号は、指示具Ａと指示具Ｂの遮光範囲（Ａ＋Ｂ）がつながった状態として出力される。このような場合には、遮光範囲の中央を用いた計算では正確な入力座標は計算できない。そこで、センサユニット１Ｌ及び１Ｒの夫々のセンサユニットで検出された遮光範囲の端部の角度情報を用いて座標算出を行う。
【００９０】
まず、指示具の入力形状を略円形とし、図１５のように、センサユニット１Ｌの受光部Ｌ１及びＬ２に対して、指示具Ａと指示具Ｂが一部重なった状態にあるとする。そのとき。各受光部で得られる各々２つの遮光範囲の端部の角度情報の内、水平方向からみた角度として、受光部Ｌ２においては最小の角度となるθＬ２、受光部Ｌ１においては最大の角度となるθＬ１を選択する。
【００９１】
一方、センサユニット１Ｒの、例えば、受光部Ｒ１で観測される角度は、夫々の指示具の遮光範囲で形成される遮光範囲の端部であり、θＲ１１からθＲ２２までの４つの角度が観測される。
【００９２】
図１６はこのような遮光範囲の端部を用いた場合の座標算出を説明するための図である。
【００９３】
今、例えば、Ｐ点に入力がなされたとした場合、θＬ１とθＲ１、θＲ２の交点を夫々Ｐ１（ｘ１，ｘ１）、Ｐ２（ｘ２，ｘ２）とすると、入力位置の座標Ｐは、夫々の交点における角度２θ１、２θ２の２等分線の交点として計算可能となる。Ｐ１及びＰ２の座標値は、上述のそれぞれの角度の交点の座標を計算するのと同様の式（２）及び（３）によって計算可能であるので、この座標値と角度情報を用いることにより入力座標Ｐ（ｘ，ｙ）を算出することができる。このように、左右のセンサユニット１Ｌ及び１Ｒで検出される遮光範囲の端部情報を用いることで、遮光範囲の中央値を用いることなく、入力に対する入力座標の算出が可能となる。
【００９４】
図１７はその算出手順の一例を説明するための図である。
【００９５】
図のように、Ｐ１（ｘ１，ｙ１）とＰ２（ｘ２，ｙ２）の間の距離をＬ、夫々の点における角の２等分線の角度をθ１、θ２とすれば、入力座標として、Ｐ（ｘ，ｙ）は、
ｘ＝ｘ２−Ｌａ・ｃｏｓ（θＬ−θ２）
ｙ＝ｙ２−Ｌａ・ｓｉｎ（θＬ−θ２）
と計算できる。尚、この計算式の詳細な手順は、例えば、特開２００６−２５１８７８号公報にも記載されている。
【００９６】
ここで、図１５のように、遮光状態として、例えば、センサユニット１Ｌからみて後ろ側の入力点が、完全に影に隠れてしまう、いわゆる、皆既食状態ではない状態がある。つまり、部分食状態である場合には、その入力点は、Ｐａ及びＰｂ、またはＰａ’及びＰｂ’のどちらかの組み合わせになる。
【００９７】
そこで、θＬ１、θＬ２、θＲ１１、θＲ１２、θＲ２１そしてθＲ２２の組み合わせについて、上記のような２等分線の交点に相当する計算を行う。そして、それぞれＰａ及びＰｂ、またはＰａ’及びＰｂ’の座標を計算し、どちらの組み合わせが正しい入力座標であるかの判定（虚実判定）を行う。この組み合わせの判定は、図１５における受光部Ｌ１及びＬ２で選択した角度情報とは別の角度情報を用いて行うことができる。
【００９８】
例えば、図１８のように、データθＬ１１及びθＬ２２と、θＲ１１及びθＲ１２による座標算出結果と、先の受光部での座標算出結果を比較する。そして、Ｐａと重なるのか、あるいはＰａ’と重るのかを双方の距離等から判定して、ＰａかＰａ’のどちらが正しいかの判定を行うことができる。ここで、Ｐａが採用されれば、その組み合わせとして、Ｐｂが自動的に採用されることになる。より確実に判定するには、θＲ２１とθＲ２２での座標算出結果を用いて、Ｐｂについて計算を行っても良い。
【００９９】
このように、センサユニット１Ｌ（１Ｒ）で検出される２つの遮光範囲が部分的に隠れてしまう「部分食」状態であれば、夫々の遮光範囲の端部の角度を検出し、その交点における２等分線に相当する情報を得ることができる。即ち、複数の入力指示位置を特定することが可能になる。
【０１００】
ここで、遮光範囲の端部情報を用いたとしても、遮光状態として、いわゆる「皆既食」状態では、その影に隠れた側の指示具の入力の位置を特定することができなくなる。この「皆既食」状態を回避するには、入力指示具の大きさに対して、各センサユニット１Ｌ（１Ｒ）における複数の受光部間の距離を最適値に決定することによって、どちらかの光学系では領域が部分的に重なった「部分食」状態とすることが可能となる。
【０１０１】
しかしながら、受光部間の距離の設定は、装置の大きさに関わるため、指示具の大きさによっては、やはり、皆既食状態を回避できない場合が生じることになる。そのため、本装置においては、皆既食状態の場合に、特定できない指示具の入力位置を補間する補間処理を取り入れることによって、皆既食状態の場合であっても途切れることなく座標を出力することが可能となる。
【０１０２】
まず、指示具の入力位置関係がセンサユニットにおいて、遮光状態として部分食状態か皆既食状態かを判定する方法について説明する。例えば、図１９の上部での状態では、センサユニット１Ｌの受光部Ｌ１では、指示具Ｂは指示具Ａの影に完全に隠れてしまっており、またもう一方の受光部Ｌ２でも、指示具Ｂは指示具Ａの影に完全に隠れてしまっている。
【０１０３】
そして、図１９の下部はその時の出力信号であり、受光部Ｌ１と受光部Ｌ２での出力信号の両方は指示具Ａの遮光範囲（Ａ）のみで構成され、指示具Ｂの遮光範囲が含まれた状態として出力される。このような場合には、遮光範囲の中央を用いた計算では正確な入力座標は計算できない。
【０１０４】
このときの状態を図２０に示す。図２０においては、指示具Ｐ１の影になって、指示具Ｐ２の遮光範囲が、センサユニット１Ｌの受光部Ｌ１では検出できない状態となっている。また、同様に、センサユニット１Ｌの受光部Ｌ２でも検出できない状態となっている。尚、センサユニット１Ｒの受光部Ｒ１では、指示具Ｐ１及びＰ２の両方の遮光範囲が検出できている状態である。
【０１０５】
このとき、皆既食状態の判定は、指示具Ｐ１の径サイズを異なる複数のセンサユニットの角度情報から算出し、各々の受光部のデータを用いて計算した径サイズが略一致するか否かによって判定する。即ち、図２０においては、センサユニット１Ｌの受光部Ｌ１で遮光範囲ｌ１１とｌ１２、センサユニット１Ｌの受光部Ｌ２で遮光範囲ｌ２１とｌ２２で算出を行う。また、センサユニット１Ｒの受光部Ｒ１での遮光範囲ｒ１３とｒ１４から指示具の径サイズを算出し、各々の受光部によって算出結果の比較処理を行う。
【０１０６】
指示具の径サイズを算出する方法は、以下のとおりである。図２１は、径サイズの計算について説明するための図である。
【０１０７】
今、指示位置Ｐの座標値（ｘ、ｙ）は、前述のように算出することができる。このとき、原点Ｓ０（０、０）からの指示位置Ｐまでの距離Ｌは式（４）によって算出できる。更に、図２１に示されるように、遮光範囲の端部情報の角度情報がθｌ１１とθｌ１２であることから、指示位置Ｐに相当する角度情報を算出すると、各々の角度情報は、Δθｌ１１とΔθｌ１２となる。このとき、端部情報ｌ１１を用いて算出する指示具の半径をｒ１、端部情報ｌ１２を用いて算出する指示具の半径をｒ２とすると、それぞれ式（５）及び式（６）のように算出することができる。従って、指示具Ｐの半径ｒは、式（７）のように算出することができる。
【０１０８】
Ｌ＝（ｘ2＋ｙ2）0.5              （４）
ｒ１＝Ｌ・ｓｉｎ（Δθｌ１１）                        （５）
ｒ２＝Ｌ・ｓｉｎ（Δθｌ１２）                        （６）
ｒ＝  （ｒ１＋ｒ２）／２                              （７）
前述したように、上記のように算出した指示具の径サイズを別のセンサユニットの角度情報を用いて算出したときの径サイズと比較して略一致する場合は、皆既食状態と判定する。皆既食状態と判定された場合は、以下の座標値の補間処理を行う。図２２は、補間処理について説明するための図である。
【０１０９】
図２２では、入力点Ｐ１が受光部Ｌ１に比較的近くに位置している状態で、入力点Ｐ２がＰ２入力方向の矢印の方向に移動する場合において、受光部Ｌ１で皆既食状態が生じる場合の補間処理について説明する。尚、説明を簡潔にするために、ここではセンサユニットは単一の受光部を構成する場合について説明する。
【０１１０】
図２２で示される各指示位置は、座標入力装置のサンプリング周期において特定できる指示位置（Ｃ０、Ｃ１、Ｃ９〜Ｃｎ）について円（実線）で描画している。但し、皆既食状態の場合の指示位置（Ｃ２〜Ｃ８）については、円（点線）で描画している。つまり、指示位置Ｃ２〜Ｃ８が皆既食状態にあり、座標値が特定できない。この場合、指示位置Ｃ２〜Ｃ８の前の指示位置Ｃ０、Ｃ１及び後の指示位置Ｃ９、Ｃ１０の座標値を用いて、指示位置Ｃ２〜Ｃ８を補間により算出する。つまり、座標補間区間以外の区間における座標値を用いて、座標補間区間内の座標値を補間により算出する。
【０１１１】
尚、指示位置Ｃ２〜Ｃ８の算出は、指示位置Ｃ０、Ｃ１及びＣ９、Ｃ１０によって生成される多項式を用いて処理が行われる。この多項式は、一般的な補間処理と同様であって、線形補間、Ｌａｇｒａｎｇｅ補間、Ｎｅｗｔｏｎ補間、Ｓｐｌｉｎｅ補間等の補間式を適宜選択して適用すればよい。
【０１１２】
ここで、補間関数をｙ＝ｆ（ｘ）とすると、ｘは各指示位置のｘ座標であり、座標補間区間の距離をサンプリング数で分割した値、即ち、指示位置Ｃ２〜Ｃ８のｘ座標に相当することになる。そして、このｘ座標を補間関数に代入してｙ座標を決定することができる。こうして算出した補間座標値のｘ座標及びｙ座標を出力することになるが、必ずしも補間座標値の算出はサンプリング数で分割した個数を算出する必要はない。以下に、この補間座標値の算出個数（座標補間点数）について説明する。
【０１１３】
上述のように、図２２において、皆既食状態で座標を特定できない区間（座標補間区間）は座標が出力できない。即ち、指示位置Ｃ９、Ｃ１０が特定されるまで、座標を算出することができないため、この座標補間区間は一旦座標出力を停止する。この停止時間を極力短くするために、座標補間区間について、受光部の通常のサンプリング動作におけるサンプリング周期と同一数の座標値を出力するのではなく、所定個数に間引いて補間する座標値を算出するとともに指示位置の座標を出力する処理を行う。
【０１１４】
ここで、座法補間区間の距離をＬとすると、図２２においては、指示位置Ｃ１とＣ９の間の距離ということになる。また、指示具の径サイズをｒとするとこの径サイズは先述したように算出することが可能なので、座標補間点数Ｎは次式で算出ができる。
【０１１５】
Ｎ＝Ｌ／ｋ＊ｒ                （８）
ここで、ｋは速度による変数で、指示具の移動速度によって変化する値である。このｋは、例えば、１サンプリングにおける指示具の移動距離と指示具の径サイズが等しくなるときにｋ＝１として、両者の値で適宜可変できるように設定すればよく、その割合は、装置の用途等で適宜設定すればよい。このように、座標補間点数を指示具の径サイズと移動速度で適宜設定することで、過剰な座標出力を抑止することが可能となり、座標出力されない時間を極力短縮することが可能となる。
【０１１６】
このように座標補間点数を適宜減らすことにより、補間座標値の出力時間は短縮できるもののそれでは、まだ指示具の現在の指示位置に対しては遅延が発生することになる。本座標入力装置では、補間座標値の出力完了後も更に座標出力の遅延時間を短くするために、出力座標値の間引き処理を行う。この間引き処理について、以下に説明する。
【０１１７】
図２３は、座標値の間引き処理について説明するための図である。図中、上側には時間軸Ｔに対して指示位置がＣ０〜Ｃ１９まで移動する様子を図２２と対応させて模式的に示している。下側には上記の時間軸Ｔに対応させて指示位置にある時刻に対応する実際に出力される座標値を出力座標Ａと出力座標Ｂとして２通りを模式的に示している。
【０１１８】
出力座標Ａについて説明すると、Ｃ０とＣ１は指示位置と出力座標の時間が一致している。そして、指示位置がＣ２から皆既食状態となり補間座標値が算出可能となる指示位置Ｃ１０の検出終了後に補間座標値Ｃ３を出力することになる。この時点では、実際の指示位置に対しては遅延が発生している。従って、本座標入力装置では、以降の処理について間引き処理を行う。出力座標Ａについては座標出力間引き数が１個の場合を示している。この場合、実際の指示位置Ｃ１９のときに指示位置と出力座標との時間が同じとなり、実際に指示位置に対して出力座標が追い付くことになる。尚、出力時間が追い付く時間を短くするためには、出力座標Ｂのように座標出力間引き数を２個にしてもよい。この場合、指示位置がＣ１５のときに指示位置に出力時間が追い付くことになる。
【０１１９】
以上説明したように、補間座標値の出力完了後も、補間座標値の出力前の出力座標値の個数よりも少ない数に出力座標値を間引いて出力する間引き処理を行うことによって、指示具の現在の指示位置に対して出力座標値の出力遅延を極力短縮することができる。
【０１２０】
＜座標値の連続性の判定＞
上述したように、複数の受光部を有するセンサユニットを用い、遮光範囲の端部情報を用いて、座標算出及び座標の虚実判定を行うことで、複数の入力の座標値を決定することができる。そして、得られた複数の座標値については、このまま座標値を出力しただけでは、受信側の外部端末で、２つの座標値の区別がつかず両者をつないでしまうようなことになりかねない。そこで、２つの座標値を区別するために、座標の連続性を表す識別子を座標値の出力の際には付加する。複数の座標値の、その連続性は、各サンプリング毎に前回の座標値との差分を計算して、夫々をその近いものを当てはめることで可能である。遮光範囲が最初に検出された時には、例えば、検出された順にＩＤ番号（フラグ）を付加する。
【０１２１】
図２４のように、２つの座標値Ｐ１（Ｘ１ｎ，Ｙ１ｎ）、Ｐ２（Ｘ２ｎ，Ｙ２ｎ）が得られたときは、以下とする。即ち、前回サンプリング時の座標値がＩＤ０：Ｘ１ｎ−１，Ｙ１ｎ−１、ＩＤ１：Ｘ２ｎ−１，Ｙ２ｎ−１であれば、Ｐ１，Ｐ２ともども、夫々に対する差分を計算して、近い方を採用する。つまり、Ｐ１をＩＤ０、Ｐ２をＩＤ１とする。このように、座標値の連続性の判定を行い、夫々の座標値に対して、このＩＤを割り振って座標値を出力する。そして、外部端末側で、このＩＤを参照することで、座標値の連続性を判定し、線で連結する等の描画の処理を行うようにすればよい。
【０１２２】
＜座標算出処理フローの説明＞
図２５は座標入力装置が実行する座標算出処理を示すフローチャートである。図２５では、センサユニットでのデータ取得から座標算出までの手順を示している。尚、図２５のフローチャートは、ＣＰＵ２１がメモリ１３２に記憶されているプログラムを読み出し、実行することで実現される。
【０１２３】
電源が投入されると、Ｓ１０１で、制御・演算ユニット２のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。その後に、不揮発メモリ等から基準データや補正用の定数等の初期データをそれぞれ読み出し、演算・制御ユニット２のメモリ１３２に格納する。また、各センサユニット毎に、図６（Ａ）のような、照明無しの時の光量分布データ８１と、初期入力が無いときの光量分布データ８２を、初期データとして取り込み、メモリ１３２に記憶する。ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことはいうまでも無く、この初期設定動作を経て、通常の指示具による座標入力動作状態に移行することになる。
【０１２４】
Ｓ１０２で、座標入力が連続して行われているか否かを示すフラグを初期化（クリア）する。Ｓ１０３で、各センサユニットの投光部を点灯させ、光量分布データを受光部より取得する。Ｓ１０４で、センサユニット１Ｌ及び１Ｒの各２つの受光部の内、各々一方の受光部で取得した光量分布データは、先の初期データに対して差分及び比を計算する。そして、例えば、閾値を越えるものがあるか否かの判定等によって、一方の受光部（第１受光部）の遮光範囲の検出を実行する。Ｓ１０５で、Ｓ１０４で検出した遮光範囲の角度情報から、他方の受光部に対応するデータの遮光範囲探索開始位置（画素番号）を算出し、Ｓ１０４と同様に、他方の受光部（第２受光部）の遮光範囲の検出を実行する。
【０１２５】
Ｓ１０６で、遮光範囲の検出結果に基づいて、指示具による入力の有無を判定する。入力がない場合（Ｓ１０６でＮＯ）、Ｓ１０２に戻る。一方、入力がある場合（Ｓ１０６でＹＥＳ）、Ｓ１０７に進む。Ｓ１０７で、遮光範囲の検出結果に基づいて、センサユニットの各受光部毎の遮光範囲の数を検出する。Ｓ１０８で、遮光範囲の数の検出結果に基づいて、指示具による入力が複数点入力であるか否かを判定する。複数点入力でない場合（Ｓ１０８でＮＯ）、つまり、単一点入力である場合、Ｓ１０９に進み、単一点入力における座標算出を実行する。このときの座標算出は、遮光範囲の端部情報を用いた計算でも良いし、遮光範囲の中央を用いたものでもかまわない。
【０１２６】
一方、複数点入力である場合（Ｓ１０８でＹＥＳ）、Ｓ１１０に進み、その遮光範囲の数に従って、遮光範囲の端部情報を利用する計算あるいは遮光範囲の中央を利用する計算のいずれかによって、複数の座標を算出する。そして、これらのデータをメモリ１３２に記憶する。この複数の座標は、出力座標候補及び虚実判定用座標であって、後の処理に使用することになる。
【０１２７】
Ｓ１１１で、遮光範囲が重なっている場合で、その入力状態が、複数点の入力の内、一方の入力の端部の両方のいずれも検出できない状態である否かの判定（皆既食状態であるか否かの判定）を行う。皆既食状態を判定した場合は、後に特定できない座標値を算出する処理（座標補間処理）を実行するための座標補間ビジーフラグをセットする。
【０１２８】
Ｓ１１２で、その座標補間ビジーフラグがセット状態であるか否かを判定する。座標補間ビジーフラグがセット状態である場合（Ｓ１１２でＹＥＳ）、Ｓ１１３で、皆既食状態によって特定できない座標値を算出する処理（座標補間処理）を行う。
【０１２９】
一方、入力点のいずれか一方の端部情報が検出できている場合（即ち、皆既食状態でない場合）または座標補間処理が継続中ではない場合（即ち、座標補間ビジーフラグがセット状態でない場合）（Ｓ１１２でＮＯ）、Ｓ１１４に進む。Ｓ１１４で、Ｓ１１０で算出した出力座標候補及び虚実判定用座標から、実際に入力された点（実座標）を選択する処理、虚実判定を実行する。この虚実判定によって、実座標が判定されて、座標値が確定したら、Ｓ１１５で、連続入力の有無を判定する。尚、この判定は、図２４で説明した連続入力の有無を示すフラグに基づいて実行する。
【０１３０】
連続入力がない場合（Ｓ１１５でＮＯ）、Ｓ１１７に進む。一方、連続入力がある場合（Ｓ１１５でＹＥＳ）、Ｓ１１６に進む。Ｓ１１６で、それ以前に記憶されている座標値（前回の座標値等）との差分等から、連続性判定を実行する。連続性判定がなされたら、Ｓ１１７で、連続入力フラグをセットし、また、今の座標値を次の連続性判定のためにメモリ１３２に記憶する。
【０１３１】
次に、Ｓ１１８で、ＩＤ等の付帯情報を座標値に付加する。特に、連続していると判定された座標値には、前回と同じＩＤを付加し、新規に検出された座標値に対しては、未使用のＩＤを付加することになる。また、スイッチ情報等がある場合には、その情報も付加する。このように、付帯情報を有する座標値を、Ｓ１１９で、外部端末に出力する。その後、データ取得のループを、電源ＯＦＦまで繰り返すことになる。
【０１３２】
図２６は座標入力装置が実行するＳ１１３の座標補間処理の詳細を示すフローチャートである。図２５では、センサユニットでのデータ取得から座標算出までの手順を示している。図２５のＳ１１１で皆既食状態と判定された場合には、Ｓ１１２で座標補間フラグがセットされ、この座標補間フラグがセットされている間は、Ｓ１１３で座標補間処理が実行されるが、この座標補間処理について以下に説明する。
【０１３３】
Ｓ２０１で、補間区間フラグがセット状態である否かを判定する。この補間区間フラグは、座標補間区間を特定するための座標値が検出された状態であるか否かを判定するためのフラグであって、図２２においては、指示位置Ｃ９が検出された状態でセットされるフラグである。
【０１３４】
補間区間フラグがセット状態でない場合（Ｓ２０１でＮＯ）、Ｓ２０２で、座標補間区間を特定するための座標値（補間区間用座標値）が検出されたか否かを判定する。補間区間用座標値が検出されていない場合（Ｓ２０２でＮＯ）、つまり、皆既食状態である場合は、リターンしてメインルーチン（図２５）に戻る。
【０１３５】
一方、補間区間用座標値が検出された場合（Ｓ２０２でＹＥＳ）、Ｓ２０３で、座標補間区間における補間座標値を算出する点数（座標補間点数）を算出する。更に、補間区間フラグをセット状態にして、リターンしてメインルーチンに戻る。
【０１３６】
一方、補間区間フラグがセット状態である場合（Ｓ２０１でＹＥＳ）、Ｓ２０４で、座標補間フラグがセット状態であるか否かを判定する。この座標補間フラグは、補間座標値の算出が終了状態にあるか否かを判定するためのフラグであって、図２２においては、指示位置Ｃ１０が検出され、補間座標値が算出された状態でセットされるフラグである。
【０１３７】
座標補間フラグがセット状態でない場合（Ｓ２０４でＮＯ）、Ｓ２０５で、補間座標値を決定するための座標値（補間用座標値）が検出されたか否かを判定する。補間用座標値が検出されていない場合（Ｓ２０５でＮＯ）、つまり、補間関数を導出するための座標値が揃っていない状態である場合は、リターンしてメインルーチンに戻る。
【０１３８】
一方、補間用座標値が検出された場合（Ｓ２０５でＹＥＳ）、Ｓ２０６で、補間座標値を算出するために使用する補間関数を導出する。Ｓ２０７で、補間関数及び座標補間点数から補間座標値を算出し、更に、補間座標値出力後の通常座標の出力処理における間引き数を決定する。Ｓ２０８で、補間座標値の先頭の座標値をメモリ１３２にセットし、更には、座標補間フラグをセット状態にして、リターンしてメインルーチンに戻る。
【０１３９】
一方、座標補間フラグがセット状態である場合（Ｓ２０４でＹＥＳ）、Ｓ２０９で、算出した補間座標値の出力が終了したか否かを判定する。補間座標値の出力が終了していない場合（Ｓ２０９でＮＯ）、Ｓ２１０で、補間座標値をメモリ１３２にセットし、リターンしてメインルーチンに戻る。
【０１４０】
一方、補間座標値の出力が終了している場合（Ｓ２０９でＹＥＳ）、Ｓ２１１で、Ｓ２０７で決定した間引き数に従って、間引きする間引き座標の出力が終了したか否かを判定する。間引き座標の出力が終了していない場合（Ｓ２１１でＮＯ）、Ｓ２１２で、間引き座標をメモリ１３２にセットし、リターンしてメインルーチンに戻る。
【０１４１】
一方、間引き座標の出力が終了している場合（Ｓ２１１でＹＥＳ）、Ｓ２１３で、座標補間処理の全てが終了したので、補間区間フラグ、座標補間フラグ、更には図２５のＳ１１２で判定される座標補間ビジーフラグの全フラグをクリアして、メインルーチンに戻る。
【０１４２】
以上説明したように、実施形態１によれば、補間座標値の算出及び出力座標値の間引き処理を行うことが可能となり、指示具の現在の指示位置に対して出力座標値の遅延を極力短縮することができる。
【０１４３】
＜実施形態２＞
実施形態１は、皆既食状態の場合に指示位置を特定できない場合には、特定できない区間（座標補間区間）の前後の座標値を用いて、補間する座標値を算出する構成となっている。実施形態２では、一方のセンサユニットが皆既食状態である場合でも、もう一方のセンサユニットが皆既食状態ではないこと、つまり、もう一方のセンサユニットの角度情報を取得できる状態にあることを利用する構成について説明する。より具体的には、皆既食状態であるセンサユニットの角度情報を補間して、皆既食状態ではないセンサユニットとの角度情報との組合せで座標値を算出する。
【０１４４】
図２７は座標補間処理を説明するための図である。
【０１４５】
図２７において、横軸はサンプリング時間ｔであり、座標入力装置が指示入力に伴う遮光を検出する時間ｔ０〜ｔ１０までを示している。縦軸はセンサユニット１Ｌで検出される角度データθＬであり、サンプリング時間に取得した角度データθＬを円で描画してある。尚、各サンプリング時間に取得するデータを図２２と対応させた場合、時間ｔ０〜ｔ１０は、指示位置Ｃ０〜Ｃ１０が対応するものとする。また、皆既食状態ではないもう一方のセンサユニット１Ｒの角度データをθＲとして、θ０ｒ〜θ１０ｒが時間ｔ０〜ｔ１０に対応するものとする。
【０１４６】
図２２に示すとおり、指示位置Ｃ２〜Ｃ８にある場合は、皆既食状態であるので、角度データθＬを特定できない。この状態を図２７では、点線の円で描画している。従って、実施形態２では、この指示位置Ｃ２〜Ｃ８の座標を算出するために対応する角度データθＬを補間する座標補間処理を実行する。
【０１４７】
この座標補間処理は、実施形態１の座標補間処理と同様に、特定できない区間の前後の角度データを使用する。この場合、時間ｔ０、ｔ１、ｔ９、ｔ１０におけるθＬの角度情報を用いて、多項式である補間関数を導出する。ここで、補間関数は、次式で表現される。
【０１４８】
θＬ＝ｆ（ｔ）            （９）
尚、実施形態２においても、座標補間区間において適正な座標補間点数を算出するため、実施形態１と同様に、指示具の移動速度と径サイズにより座標補間点数を算出する。但し、実施形態２では、座標を計算するにあたり、一方の角度データはサンプリング時間に取得した角度データを使用するので、実施形態１のように補間関数に対して座標補間区間における任意の値を代入することはできない。従って、１個おき、２個おき等、サンプリング時間単位で間引いて補間座標値を出力することになる。
【０１４９】
具体的には、実施形態２では、実施形態１の図２６の座標補間処理のＳ３０６の補間関数（角度）の導出方法が異なる。即ち、実施形態１では、座標値そのものを補間する処理であるため補間関数は座標値を導出する関数として定義している。これに対して、実施形態２では、皆既食状態となるセンサユニットの角度情報をサンプリング時間単位で補間するので、補間関数では角度情報を導出する関数として導出される。そして、導出された（補間された）角度情報から、座標補間区間における補間座標値を算出する。
【０１５０】
尚、実施形態２においても、実施形態１と同様に補間座標値の出力完了後も更に座標出力の遅延時間を短くするために、出力座標値の間引き処理を行う。従って、実施形態２においても、指示具の現在の指示位置に対して出力座標値の遅延を極力短縮することができる。
【０１５１】
＜実施形態３＞
実施形態１では、皆既食状態の場合に指示位置を特定できない場合には、特定できない区間の前後の座標値を検出するまで、一旦座標出力を停止している。その後、実施形態１では、補間座標値を算出後に順次補間座標値を出力し、更に、その後、補間座標値の出力期間中に検出した座標値を間引きして出力する。
【０１５２】
実施形態３では、２点の入力位置関係から座標補間区間を予測することで座標補間区間の前後の座標を取得する期間も座標の出力を継続する構成について説明する。
【０１５３】
図２８では、入力点Ｐ１が受光部Ｌ１に比較的近くに位置している状態で、入力点Ｐ２がＰ２入力方向の矢印の方向に移動する場合において、受光部Ｌ１で皆既食状態が生じる場合の補間処理及び座標出力処理について説明する。尚、説明を簡潔にするために、ここではセンサユニットは単一の受光部を構成する場合について説明する。
【０１５４】
図２８で示される各指示位置の状態は、実施形態１の図２２と同様であるが、座標入力装置のサンプリング周期において特定できる指示位置（実線の円）はＣＡ〜Ｃ１及びＣ９〜Ｃｎであり、皆既食状態にある指示位置（点線の円）はＣ２〜Ｃ８となっている。そして、実施形態１と同様に、指示位置Ｃ２〜Ｃ８の前の指示位置Ｃ０、Ｃ１及び後の指示位置Ｃ９、Ｃ１０の座標値を用いて、指示位置Ｃ２〜Ｃ８を補間する。
【０１５５】
但し、実施形態３では、入力点Ｐ２の指示位置が入力点Ｐ１の遮光と重なる以前に座標出力処理を通常状態とは変更する処理を実行する。即ち、入力点Ｐ１による遮光と入力点Ｐ２による遮光との間隔（遮光間隔）を監視して、入力点Ｐ１と入力点Ｐ２の遮光が重なる状態を予測し座標の出力処理を変更する。
【０１５６】
ここで、遮光間隔とは、図２８においては、入力点Ｐ２の位置が指示位置ＣＡにある場合には、センサユニット１Ｌで検出される指示位置ＣＡの遮光端部ｌ１２及び入力点Ｐ１の指示位置の遮光端部ｌ１３の間隔に相当する。座標補間区間の予測は、この遮光間隔を用いて行うもので、この遮光間隔が所定値以下となる場合に、一定時間経過後にセンサユニットで遮光が重なるものと判定される。
【０１５７】
遮光間隔が所定値以下となる場合には、座標補間区間を予測し、座標補間区間になるまでの座標値を指示位置が座標補間区間を移動するときに、その座標値を所定時間間隔で遅延させて出力を行う。尚、座標補間は、実施形態１と同様に多項式による補間関数を導出し座標値を算出することで処理が行う。また、補間座標値及びその後の座標値の出力についても実施形態１と同様に間引き出力の処理が行われる。
【０１５８】
ここで、座標補間区間の予測方法について、図２９を用いて説明する。図２９において、センサユニット１Ｌの受光部Ｌ１で検出する遮光間隔（ｌ１２とｌ１３の間隔）が所定値以下となる場合に、座標Ｐ１とＰ２が検出されている状態において、座標Ｐ２が移動して座標Ｐ１の遮光と重なり皆既食状態となることを予測する。この場合、まず、座標Ｐ２と座標Ｐ２の前サンプリングで取得した座標Ｐ２０との２つの座標値で定義される直線Ｅ１を導出する。
【０１５９】
更に、座標Ｐ１の端部情報ｌ１３とｌ１４からそれぞれ同様に直線を定義する。定義する直線をそれぞれＥ２及びＥ３とし、直線Ｅ１と直線Ｅ２の交点をＰＣ１、直線Ｅ１と直線Ｅ３との交点をＰＣ２とすると、この交点ＰＣ１及びＰＣ２の区間において、皆既食状態となると想定し、概略の座標補間区間を定義する。
【０１６０】
尚、座標補間区間の定義についてより一層正確性を上げるためには、遮光間隔が所定値以下となる場合に、直線Ｅ１を導出するための座標値の点数を増やしてもよい。その場合は、線形近似式あるいは曲線近似式により、座標Ｐ１の端部に相当する直線との交点を算出してもよい。また、座標Ｐ１の移動も鑑みて、座標Ｐ１の端部に相当する直線は、座標Ｐ１の座標ベクトルまたは角度ベクトルによって、端部情報をシフトさせてから直線を導出することで、更に座標補間区間の予測の正確性が上がる。
【０１６１】
次に、予測した概略の座標補間区間に出力する座標値の出力処理について説明する。この概略の座標補間区間においては、先述した遮光間隔に相当する区間において検出する座標値を出力することとなる。
【０１６２】
図２９において、座標Ｐ２と交点ＰＣ１までの区間をＬ１、交点ＰＣ１とＰＣ２の区間をＬ２とする。更に、座標Ｐ２と座標Ｐ２０から座標ベクトルを算出し、この座標ベクトルの大きさにて、Ｌ１及びＬ２を除算することによって、それぞれの概略の座標検出点数が算出できる。従って、座標出力は、区間Ｌ１と区間Ｌ２を加算した区間に区間Ｌ１の座標検出点数を割り付けて座標出力処理を実行することになる。
【０１６３】
この座標出力処理について、図３０を用いて説明する。先述したように、皆既食状態で座標が特定できない区間は座標が出力できない。即ち、指示位置Ｃ９、Ｃ１０が特定されるまで、座標を算出することができない。実施形態３では、この区間に、図２８で示す指示位置ＣＡ〜ＣＣ、Ｃ０、Ｃ１の座標を出力する。
【０１６４】
図３０では、上側には時間軸Ｔに対して指示位置がＣＡ〜Ｃ１９まで移動する様子を図２８と対応させて模式的に示している。下側には上記の時間軸Ｔに対応させて指示位置にある時刻に対応する実際に出力される座標値を出力座標Ａと出力座標Ｂとして２通りを模式的に示している。
【０１６５】
指示位置ＣＡにて遮光間隔が所定値以下である場合は、例えば、以下のように動作する。即ち、指示位置Ｃ１０を検出するまでの座標補間区間において、例えば、出力座標Ａ及びＢに示すように、指示位置ＣＡを検出後、サンプリング時間間隔の４個分を遅延させてＣＡを出力し、以降、サンプリング間隔の２倍の周期でＣＢ〜Ｃ１の座標を出力する。
【０１６６】
以降の座標出力については、実施形態１と同様に、出力座標Ａについては座標出力間引き数が１個の場合を示している。この場合、実際の指示位置Ｃ１９のときに指示位置と出力座標との時間が同じとなり、実際に指示位置に対して出力座標が追い付くことになる。尚、出力時間が追い付く時間を短くするためには、出力座標Ｂのように座標出力間引き数を２個にしてもよい。この場合、指示位置がＣ１５のときに指示位置に出力時間が追い付くことになる。また、指示位置が座標補間区間にあるときの座標出力処理に用いた遅延時間は、以降の座標出力処理に適用してもよく、例えば、指示入力を停止する状態まで継続させてもよい。
【０１６７】
また、実施形態１においての座標出力の間隔は、サンプリング間隔に基づいているが、必ずしもその必要はなく、座標出力処理のモジュールの独立した間隔で出力処理を実行してもよい。その場合、実際の指示位置に対して、出力座標値の遅延をできるだけ短縮するために出力時間を短くする等の処理をしてもよい。
【０１６８】
図３１は座標入力装置が実行する座標算出処理を示すフローチャートである。尚、実施形態３の図３１の座標算出処理は、実施形態１の図２５のＳ１１０とＳ１１４との間に、Ｓ４１１〜Ｓ４１４の処理を追加したものである。以下、この追加した処理について詳細に説明する。
【０１６９】
Ｓ１０１〜Ｓ１１０の処理の後、Ｓ４１１で、各遮光範囲の間隔（遮光間隔）と所定値とを比較し、所定値以下であるか否かを判定する。尚、所定値は、座標入力装置の用途において、座標入力装置の大きさや想定する指示具の移動速度によって適宜設定すればよい。
【０１７０】
遮光間隔が所定値以下でない場合（Ｓ４１１でＮＯ）、図２５のＳ１１４に進む。一方、遮光間隔が所定値以下である場合（Ｓ４１１でＹＥＳ）、Ｓ４１２で、皆既食状態判定を実行する。この皆既食状態判定は、実施形態１と同様にセンサユニットに近い指示位置に対して、指示具の径サイズを複数のセンサユニットで算出して比較することで判定を行う。また、Ｓ４１２では、後に座標出力処理を変更したり、特定できない座標値を算出する処理（座標補間処理）を実行するための座標補間ビジーフラグをセットする。
【０１７１】
Ｓ４１３で、その座標補間ビジーフラグがセット状態であるか否かを判定する。座標補間ビジーフラグがセット状態である場合（Ｓ４１３でＹＥＳ）、Ｓ４１４で、座標出力の変更処理及び皆既食状態によって特定できない座標値を算出する処理（座標補間処理）を行う。ここで、Ｓ４１４の座標補間処理は、実施形態１の図２６の座標補間処理のＳ２０４〜Ｓ２１３の処理の前に、補間区間用座標の出力設定を実行する。この処理は、遮光間隔が所定値以下である場合に実行する処理であり、座標補間区間が終了するまでの区間の予測及びその区間における座標の出力処理の設定に関するものとなる。
【０１７２】
この処理の後、図２６の座標補間処理のＳ２０４〜Ｓ２１３によって、補座標間区間における座標補間処理及びその出力処理、さらには、座標補間区間終了後の座標出力処理を実行する。
【０１７３】
図３２はＳ４１４における補間区間用座標の出力設定処理の詳細を示すフローチャートである。遮光間隔が所定値以下となる場合、座標補間区間を予測し、座標補間区間になるまでの座標値について、座標補間区間において所定時間間隔で遅延させて出力を行う。
【０１７４】
まず、Ｓ６０１で、座標補間区間の予測及び座標補間区間終了までの区間における座標出力設定が終了したか否かを示す座標出力設定フラグがセット状態であるか否かを判定する。
【０１７５】
座標出力設定フラグがセット状態でない場合（Ｓ６０１でＮＯ）、以後、座標補間区間の予測処理を実行する。まず、Ｓ６０２で、遮光間隔が小さいと判定されたセンサユニットの遮光情報の内、遠い方の指示位置の遮光情報を用いて計算した座標値Ｐ２の座標ベクトルを計算する。Ｓ６０３で、今回サンプリング時の座標値Ｐ２（ｔ）と前回サンプリング時の座標値Ｐ２（ｔ−１）により、直線計算式１を導出する。Ｓ６０４で、対象となるセンサユニットに近い方の座標値Ｐ１の端部情報を用いて直線計算式２及び３を導出する。Ｓ６０５で、導出した計算式１と計算式２、３の交点を算出する。
【０１７６】
以上の処理で、Ｐ２の座標値、交点が２つ算出できるので、これらの座標データから、Ｓ６０６で、座標Ｐ２から座標補間区間までの区間Ｌ１と座標補間区間Ｌ２を定義する。Ｓ６０７で、座標Ｐ２の座標ベクトル及び区間Ｌ１、Ｌ２より、区間Ｌ１と区間Ｌ２において出力する座標値について、その座標出力点数から、遅延時間及び出力時間間隔を設定する。この遅延時間及び出力時間間隔は、区間Ｌ１とＬ２を加算した区間において、その座標出力点数が均等に出力されるように設定する。設定完了後、座標出力設定フラグをセットする。
【０１７７】
一方、座標出力設定フラグがセット状態である場合（Ｓ６０１でＹＥＳ）、Ｓ６０８で、Ｓ６０７で設定される座標出力設定において出力すべき座標値の出力、即ち、補間区間用座標出力が終了したか否かを判定する。補間区間用座標出力が終了していない場合（Ｓ６０８でＮＯ）、座標補間区間までの区間（Ｌ１）で検出した座標値をメモリ１３２にセットしてリターンする。一方、補間区間用座標出力が終了している場合（Ｓ６０８でＹＥＳ）は、リターンする。
【０１７８】
以上説明したように、実施形態３によれば、皆既食状態となる場合であっても、一旦座標の出力を停止することなく、座標補間区間においても座標出力を継続することができる。
【０１７９】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１８０】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。更に、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１８１】
１Ｌ、１Ｒ：センサユニット、２：演算・制御ユニット、３：座標入力有効領域、４：再帰反射部、５：ペン信号受信部、７：インタフェース、８：光透過部材
【図１】
2016045527.tif 000003
【図２】
2016045527.tif 000004
【図３】
2016045527.tif 000005
【図４】
2016045527.tif 000006
【図５】
2016045527.tif 000007
【図６】
2016045527.tif 000008
【図７】
2016045527.tif 000009
【図８】
2016045527.tif 000010
【図９】
2016045527.tif 000011
【図１０】
2016045527.tif 000012
【図１１】
2016045527.tif 000013
【図１２】
2016045527.tif 000014
【図１３】
2016045527.tif 000015
【図１４】
2016045527.tif 000016
【図１５】
2016045527.tif 000017
【図１６】
2016045527.tif 000018
【図１７】
2016045527.tif 000019
【図１８】
2016045527.tif 000020
【図１９】
2016045527.tif 000021
【図２０】
2016045527.tif 000022
【図２１】
2016045527.tif 000023
【図２２】
2016045527.tif 000024
【図２３】
2016045527.tif 000025
【図２４】
2016045527.tif 000026
【図２５】
2016045527.tif 000027
【図２６】
2016045527.tif 000028
【図２７】
2016045527.tif 000029
【図２８】
2016045527.tif 000030
【図２９】
2016045527.tif 000031
【図３０】
2016045527.tif 000032
【図３１】
2016045527.tif 000033
【図３２】
2016045527.tif 000034