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