(57)【特許請求の範囲】
【請求項１】
座標入力サンプリング状態において座標入力有効領域上の指示位置の座標値を算出する座標入力装置であって、
前記座標入力有効領域の角部に設けられた受光手段と、
前記座標入力有効領域の周辺部に設けられ、入射光を再帰的に反射する反射手段と、
前記座標入力有効領域に光を投光する投光手段と、
電源投入時あるいはシステムリセット時の座標入力サンプリング状態でない状態で、かつ前記投光手段による投光を行っている状態で、前記受光手段から得られる光量分布を示すリファレンスデータを記憶する記憶手段と、
座標入力サンプリング状態で、前記受光手段から得られる光量分布が示すサンプリングデータを取得する取得手段と、
前記取得手段で取得したサンプリングデータと、前記記憶手段に記憶しているリファレンスデータとに基づいて、当該座標入力装置の周囲の環境光の変化の有無を判定する判定手段と、
前記判定手段の判定の結果、当該座標入力装置の周囲の環境光に変化があると判定された場合、前記取得手段で取得したサンプリングデータをリファレンスデータとして前記記憶手段に記憶することにより、前記記憶手段に記憶している前記リファレンスデータを更新し、前記受光手段から得られる光量分布が示すサンプリングデータを取得する更新手段と、
前記更新手段により取得されたサンプリングデータと、前記更新手段により更新されたリファレンスデータとに基づいて、前記座標入力による指示位置の座標値を算出する算出手段とを備え、
前記判定手段は、前記サンプリングデータと前記リファレンスデータとを比較する比較手段を備え、
前記比較手段の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の同一画素毎の差分値が一定値となるオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する
ことを特徴とする座標入力装置。
【請求項２】
座標入力有効領域の角部に設けられた受光部と、前記座標入力有効領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、前記座標入力有効領域に光を投光する投光部とを備え、座標入力サンプリング状態において座標入力有効領域上の指示位置の座標値を算出する座標入力装置の制御方法であって、
電源投入時あるいはシステムリセット時の座標入力サンプリング状態でない状態で、かつ前記投光部による投光を行っている状態で、前記受光部から得られる光量分布を示すリファレンスデータを記憶媒体に記憶する記憶工程と、
座標入力サンプリング状態で、前記受光部から得られる光量分布が示すサンプリングデータを取得する取得工程と、
前記取得工程で取得したサンプリングデータと、前記記憶媒体に記憶しているリファレンスデータとに基づいて、当該座標入力装置の周囲の環境光の変化の有無を判定する判定工程と、
前記判定工程の判定の結果、当該座標入力装置の周囲の環境光に変化があると判定された場合、前記取得工程で取得したサンプリングデータをリファレンスデータとして前記記憶媒体に記憶することにより、前記記憶媒体に記憶している前記リファレンスデータを更新し、前記受光部から得られる光量分布が示すサンプリングデータを取得する更新工程と、
前記更新工程で取得されたサンプリングデータと、前記更新工程で更新されたリファレンスデータとに基づいて、前記座標入力による指示位置の座標値を算出する算出工程とを備え、
前記判定工程は、前記サンプリングデータと前記リファレンスデータとを比較する比較工程を備え、
前記比較工程の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の同一画素毎の差分値が一定値となるオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する
ことを特徴とする座標入力装置の制御方法。
【請求項３】
座標入力有効領域の角部に設けられた受光部と、前記座標入力有効領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、前記座標入力有効領域に光を投光する投光部とを備え、座標入力サンプリング状態において座標入力有効領域上の指示位置の座標値を算出する座標入力装置の制御をコンピュータに実行させるためのプログラムであって、
電源投入時あるいはシステムリセット時の座標入力サンプリング状態でない状態で、かつ前記投光部による投光を行っている状態で、前記受光部から得られる光量分布を示すリファレンスデータを記憶媒体に記憶する記憶工程と、
座標入力サンプリング状態で、前記受光部から得られる光量分布が示すサンプリングデータを取得する取得工程と、
前記取得工程で取得したサンプリングデータと、前記記憶媒体に記憶しているリファレンスデータとに基づいて、当該座標入力装置の周囲の環境光の変化の有無を判定する判定工程と、
前記判定工程の判定の結果、当該座標入力装置の周囲の環境光に変化があると判定された場合、前記取得工程で取得したサンプリングデータをリファレンスデータとして前記記憶媒体に記憶することにより、前記記憶媒体に記憶している前記リファレンスデータを更新し、前記受光部から得られる光量分布が示すサンプリングデータを取得する更新工程と、
前記更新工程で取得されたサンプリングデータと、前記更新工程で更新されたリファレンスデータとに基づいて、前記座標入力による指示位置の座標値を算出する算出工程とをコンピュータに実行させ、
前記判定工程は、前記サンプリングデータと前記リファレンスデータとを比較する比較工程を備え、
前記比較工程の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の同一画素毎の差分値が一定値となるオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標入力有効領域上の指示位置の座標値を算出する座標入力装置及びその制御方法、コンピュータプログラムに関するものである。
【背景技術】
【０００２】
座標入力面に、指示具（例えば、専用入力ペン、指等）によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置が存在する。
【０００３】
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【０００４】
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがある。例えば、特許文献１では、専用の筆記具であるところの指示具の先端部に光発光部を設け、その指示具によるタッチ入力操作により、指示具の光源からの光を放射し、座標入力有効領域の周囲の角部に設けられた受光部によりその光を検出する。これによって、筆記具のタッチ入力位置を演算する座標入力装置を提案している。
【０００５】
また、光を用いたものとして、例えば、特許文献２がある。この特許文献２では、座標入力有効領域の外側に再帰性反射シートを設け、座標入力有効領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力有効領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出する。そして、その検出結果に基づいて、その遮蔽物の指示位置を決定する構成が開示されている。
【０００６】
また、特許文献３や４等にあるように、再帰反射部材を座標入力有効領域周辺に構成し、再帰反射光が遮光される部分（遮光部分）の座標を検出する座標入力装置が開示されている。
【０００７】
これらの装置において、例えば、特許文献３では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献４では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
【０００８】
ここで、特許文献２乃至４のような、遮光位置を検出して座標を算出する方式を、以下、遮光方式と称する。
【０００９】
また、特許文献５では、初期状態における投光部からの投光無し及び投光有りそれぞれの受光分布を記憶しておき、座標検出時に得られる受光分布と記憶されている２つの受光分布とを用いて、反射光量の変化量と変化率を用いて算出する構成が示されている。
【特許文献１】特開２００５−０７８４３３号公報
【特許文献２】米国特許第４５０７５５７号公報
【特許文献３】特開２０００−１０５６７１号公報
【特許文献４】特開２００１−１４２６４２号公報
【特許文献５】特開２００４−１８５２８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の遮光方式の座標入力装置では、投光部の照明無しの状態でのベースデータＢａｓ＿ｄａｔａ［Ｎ］、投光部で照明したときの初期光量分布に相当するリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］をまず取得して記憶しておく。ここで、Ｎは、ＣＣＤ画素の画素番号に相当する。そして、遮光位置を検出するためのサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］を取り込み、記憶されているベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］を用いて、最終的な遮光位置を算出する。
【００１１】
指示具による座標入力動作（光を遮る物体が存在しない状態）が行われていない、例えば、電源投入時にベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］を取り込むことで、様々な効果が得られる。
【００１２】
この効果には、ＣＣＤ画素の個体間差を吸収する効果、設置環境の周囲光の影響を排除する効果、装置の経年変化による特性変化を吸収する効果、あるいは経年変化によるゴミの付着による影響を排除する等がある。
【００１３】
しかしながら、電源投入時のベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］取得後に、この信号が何らかの影響で変化するようなことが起こると、座標算出精度が劣化あるいは致命的な誤動作を引き起こすことになる。この変化には、使用中の周囲の環境状態（例えば、照明環境）の変化がある。
【００１４】
従って、そのような場合には、ベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］を更新しなければならず、しかも座標入力動作が確実に行われていない状態でデータを再取得しなければならない。この場合、データの取得が完了するまで操作者に使用を中断させる必要がある。
【００１５】
また、指示位置と全く違う位置座標を算出、出力するような致命的な症状が発生するような場合、操作者は故障と判断、あるいは例えばマニュアルを参照してその修復を行わなければならず、その対応を即座に行うためには、熟練を必要とする。
【００１６】
また、遮光方式の座標入力装置は、大型表示装置に重ねて配置して入出力一体の装置を構成し、指示具の一連の座標入力動作を筆跡として表示するシステムを実現することができる。しかしながら、このようなシステムの操作者は不特定多数の不慣れな操作者であり、そのような障害が発生すると、会議の中断あるいは中止といった弊害を引き起こす。
【００１７】
本発明は上記の課題を解決するためになされたものであり、使用中の周囲の環境状態の変化に影響を受けることなく、高精度に座標を算出することができる座標入力装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力サンプリング状態において座標入力有効領域上の指示位置の座標値を算出する座標入力装置であって、
前記座標入力有効領域の角部に設けられた受光手段と、
前記座標入力有効領域の周辺部に設けられ、入射光を再帰的に反射する反射手段と、
前記座標入力有効領域に光を投光する投光手段と、
電源投入時あるいはシステムリセット時の座標入力サンプリング状態でない状態で、かつ前記投光手段による投光を行っている状態で、前記受光手段から得られる光量分布を示すリファレンスデータを記憶する記憶手段と、
座標入力サンプリング状態で、前記受光手段から得られる光量分布が示すサンプリングデータを取得する取得手段と、
前記取得手段で取得したサンプリングデータと、前記記憶手段に記憶しているリファレンスデータとに基づいて、当該座標入力装置の周囲の環境光の変化の有無を判定する判定手段と、
前記判定手段の判定の結果、当該座標入力装置の周囲の環境光に変化があると判定された場合、前記取得手段で取得したサンプリングデータをリファレンスデータとして前記記憶手段に記憶することにより、前記記憶手段に記憶している前記リファレンスデータを更新し、前記受光手段から得られる光量分布が示すサンプリングデータを取得する更新手段と、
前記更新手段により取得されたサンプリングデータと、前記更新手段により更新されたリファレンスデータとに基づいて、前記座標入力による指示位置の座標値を算出する算出手段とを備え、
前記判定手段は、前記サンプリングデータと前記リファレンスデータとを比較する比較手段を備え、
前記比較手段の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の同一画素毎の差分値が一定値となるオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する。
【００１９】
また、好ましくは、前記判定手段は、前記サンプリングデータと前記リファレンスデータとを比較する比較手段を備え、
前記比較手段の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の関係がオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する。
【００２１】
上記の目的を達成するための本発明による座標入力装置の制御方法は以下の構成を備える。即ち、
座標入力有効領域の角部に設けられた受光部と、前記座標入力有効領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、前記座標入力有効領域に光を投光する投光部とを備え、座標入力サンプリング状態において座標入力有効領域上の指示位置の座標値を算出する座標入力装置の制御方法であって、
電源投入時あるいはシステムリセット時の座標入力サンプリング状態でない状態で、かつ前記投光部による投光を行っている状態で、前記受光部から得られる光量分布を示すリファレンスデータを記憶媒体に記憶する記憶工程と、
座標入力サンプリング状態で、前記受光部から得られる光量分布が示すサンプリングデータを取得する取得工程と、
前記取得工程で取得したサンプリングデータと、前記記憶媒体に記憶しているリファレンスデータとに基づいて、当該座標入力装置の周囲の環境光の変化の有無を判定する判定工程と、
前記判定工程の判定の結果、当該座標入力装置の周囲の環境光に変化があると判定された場合、前記取得工程で取得したサンプリングデータをリファレンスデータとして前記記憶媒体に記憶することにより、前記記憶媒体に記憶している前記リファレンスデータを更新し、前記受光部から得られる光量分布が示すサンプリングデータを取得する更新工程と、
前記更新工程で取得されたサンプリングデータと、前記更新工程で更新されたリファレンスデータとに基づいて、前記座標入力による指示位置の座標値を算出する算出工程とを備え、
前記判定工程は、前記サンプリングデータと前記リファレンスデータとを比較する比較工程を備え、
前記比較工程の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の同一画素毎の差分値が一定値となるオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する。
【００２２】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
座標入力有効領域の角部に設けられた受光部と、前記座標入力有効領域の周辺部に設けられ、入射光を再帰的に反射する反射部と、前記座標入力有効領域に光を投光する投光部とを備え、座標入力サンプリング状態において座標入力有効領域上の指示位置の座標値を算出する座標入力装置の制御をコンピュータに実行させるためのプログラムであって、
電源投入時あるいはシステムリセット時の座標入力サンプリング状態でない状態で、かつ前記投光部による投光を行っている状態で、前記受光部から得られる光量分布を示すリファレンスデータを記憶媒体に記憶する記憶工程と、
座標入力サンプリング状態で、前記受光部から得られる光量分布が示すサンプリングデータを取得する取得工程と、
前記取得工程で取得したサンプリングデータと、前記記憶媒体に記憶しているリファレンスデータとに基づいて、当該座標入力装置の周囲の環境光の変化の有無を判定する判定工程と、
前記判定工程の判定の結果、当該座標入力装置の周囲の環境光に変化があると判定された場合、前記取得工程で取得したサンプリングデータをリファレンスデータとして前記記憶媒体に記憶することにより、前記記憶媒体に記憶している前記リファレンスデータを更新し、前記受光部から得られる光量分布が示すサンプリングデータを取得する更新工程と、
前記更新工程で取得されたサンプリングデータと、前記更新工程で更新されたリファレンスデータとに基づいて、前記座標入力による指示位置の座標値を算出する算出工程とをコンピュータに実行させ、
前記判定工程は、前記サンプリングデータと前記リファレンスデータとを比較する比較工程を備え、
前記比較工程の比較の結果、前記サンプリングデータが示す光量分布と前記リファレンスデータが示す光量分布間の同一画素毎の差分値が一定値となるオフセット状態にある場合、当該座標入力装置の周囲の環境光に変化があると判定する。
【発明の効果】
【００２３】
本発明によれば、使用中の周囲の環境状態の変化に影響を受けることなく、高精度に座標を算出することができる座標入力装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２５】
＜装置構成の概略説明＞
まず、図１を用いて、座標入力装置全体の概略構成を説明する。
【００２６】
図１は本発明の実施形態の遮光方式の座標入力装置の概略構成を示す図である。
【００２７】
図１において、１Ｌ、１Ｒは投光部及び検出部（受光部）を有するセンサユニットであり、本実施形態の場合、図示の如く座標入力面であるところの座標入力有効領域３のＸ軸に平行に、かつＹ軸に対称な位置（角部）に、所定距離離れて配置されている。センサユニット１Ｌ及び１Ｒは、制御・演算ユニット２に接続され、制御信号を制御・演算ユニット２から受信すると共に、検出した信号を制御・演算ユニット２に送信する。
【００２８】
４は入射光を到来方向に再帰的に反射する再帰反射面を有する再帰反射部材であり、座標入力有効領域３の周辺部（周囲３辺）に配置されている。そして、再帰反射部材４は、左右それぞれのセンサユニット１Ｌ及び１Ｒから略９０°範囲に投光された光をセンサユニット１Ｌ及び１Ｒに向けて再帰反射する。
【００２９】
尚、再帰反射部材４は、ミクロ的に見て３次元的な構造を有し、現在では、主にビーズタイプの再帰反射テープ、或いはコーナキューブを機械加工等により規則正しく配列することで再帰現象を起こす再帰反射テープが知られている。
【００３０】
８は特定の波長のみの光を透過することができる光透過部材であって、不要光の光透過を防止すると共に、再帰反射部材４が直接外観に露出することを防止し、製品外観の一部を構成する。このように構成すると、製品として使われている際に、光透過部材８に堆積する『ほこり』、『ゴミ』の類は、その光透過部材８をユーザが『拭く』等の動作により簡単に除去できる。そのため、再帰反射部材４の光学特性を半永久的に維持することが容易となり、信頼性の高い装置を実現することが可能となる。
【００３１】
再帰反射部材４で再帰反射された光は、センサユニット１Ｌ及び１Ｒによって１次元的に検出され、その光量分布が制御・演算ユニット２に送信される。
【００３２】
座標入力有効領域３は、ＰＤＰやリアプロジェクタ、ＬＣＤパネルなどの表示装置（座標出力先の外部端末に接続される）の表示画面で構成することで、インタラクティブな入力装置として、利用可能となっている。
【００３３】
このような構成において、座標入力有効領域３に指や指示具５による入力指示がなされると、センサユニット１Ｌ及び１Ｒの投光部から投光された光が遮られる（遮光部分）。その結果、センサユニット１Ｌ及び１Ｒの検出部ではその遮光部分の光（再帰反射による反射光）を検出できないので、その結果、どの方向からの光が検出できなかったかを判別することが可能となる。
【００３４】
そこで、制御・演算ユニット２は、左右のセンサユニット１Ｌ及び１Ｒが検出する光量変化から、指示具５によって入力指示された部分の遮光範囲を検出する。そして、その遮光範囲の情報から、センサユニット１Ｌ及び１Ｒそれぞれに対する遮光位置の方向（指示具角度）をそれぞれ算出する。
【００３５】
そして、算出された方向（角度）、及びセンサユニット１Ｌ及び１Ｒ間の距離情報等から、座標入力有効領域３上の指示具の遮光位置（指示位置）を幾何学的に算出する。この算出した遮光位置に対応する座標値を、表示装置に接続されている表示制御部１１に出力する、あるいはホストコンピュータ等の外部端末にインタフェース７（例えば、ＵＳＢ、ＩＥＥＥ１３９４等）を経由して出力する。
【００３６】
表示制御部１１は、得られた座標値に基づき所定の動作（情報の加工）をして、その結果を表示できるように動作する。さらには、作業領域を設定した時の画像を表示するための制御や、検出した座標値を変換するための制御を行うが、外部のコンピュータがこの制御を行うように構成しても良い。
【００３７】
このようにして、指示具５によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
【００３８】
＜センサユニットの詳細説明＞
まず、センサユニット１Ｌ及び１Ｒ内の投光部の構成について、図２を用いて説明する。
【００３９】
図２は本発明の実施形態のセンサユニットの投光部の構成例を示す図である。
【００４０】
図２（ａ）は投光部３０を上（座標入力有効領域３の入力面に対し垂直方向）から見た場合を示している。３１は座標検出用の赤外光を発する赤外ＬＥＤであり、赤外ＬＥＤ３１から発光した光は投光レンズ３２によって略９０°範囲に光が投光される。
【００４１】
図２（ｂ）は投光部３０を横（座標入力有効領域３の入力面に対し水平方向）から見た場合を示している。この方向では、赤外ＬＥＤ３１からの光は上下方向に制限された光束として投光され、主に、再帰反射部材４に対して光が投光されるように構成されている。
【００４２】
次に、センサユニット１Ｌ及び１Ｒの検出部の構成について、図３を用いて説明する。
【００４３】
図３は本発明の実施形態のセンサユニットの検出部及びセンサユニットの構成例を示す図である。
【００４４】
図３（ａ）では、センサユニット１Ｌ及び１Ｒの検出部４０を座標入力有効領域３の入力面に対して垂直方向から見た場合を示している。また、図３（ｂ）では、入力面と水平方向からの見たときの、図２（ｂ）の投光部３０と図３（ａ）の検出部４０を重ねて、センサユニット１Ｌ（１Ｒ）を構成した場合を示している。
【００４５】
尚、図３（ａ）中の破線部分２０３は、図３（ｂ）に示される投光部の配置を示すものである。本実施形態の場合、投光部３０と検出部４０を重ねて配置している。また、両者の光軸間の距離Ｌは、投光部３０から再帰反射部材４までの距離に比べて十分に小さな値である。これにより、距離Ｌを有していても十分な再帰反射光を検出部４０で検知することが可能な構成となっている。
【００４６】
検出部４０は、複数の画素（受光素子／光電変換素子）からなる１次元のラインＣＣＤ４１及び集光光学系としての集光用レンズ４２及び４３、入射光の入射方向を制限する絞り４４、可視光など余分な光の入射を防止する赤外フィルタ４５で構成されている。
【００４７】
投光部３０からの光は、再帰反射部材４によって反射され、赤外フィルタ４５、絞り４４を抜けて、集光用レンズ４２及び４３によって入力面の略９０°範囲の光がラインＣＣＤ４１の検出面にその入射角に依存した画素上に結像される。これにより、入射角の角度毎の光量分布が得られる。つまり、ラインＣＣＤ４１を構成する各画素の画素番号が角度情報を表すことになる。
【００４８】
＜制御・演算ユニットの説明＞
制御・演算ユニット２とセンサユニット１Ｌ及び１Ｒの間では、主に、検出部４０内のラインＣＣＤ４１用のＣＣＤ制御信号、ＣＣＤ用クロック信号と出力信号及び投光部３０の赤外ＬＥＤ３１の駆動信号がやり取りされている。
【００４９】
ここで、制御・演算ユニット２の詳細構成について、図４を用いて説明する。
【００５０】
図４は本発明の実施形態の制御・演算ユニットの詳細構成を示すブロック図である。
【００５１】
ＣＣＤ制御信号は、ワンチップマイコン等で構成される演算制御回路（ＣＰＵ）８３から出力され、ラインＣＣＤ４１のシャッタタイミングやデータの出力制御等が行われる。
【００５２】
尚、この演算制御回路８３は、メインクロック発生回路８６からのクロック信号に従って動作する。また、ＣＣＤ用のクロック信号は、クロック発生回路（ＣＬＫ）８７からセンサユニット１Ｌ及び１Ｒに送信されると共に、各センサユニット内部のラインＣＣＤ４１との同期をとって各種制御を行うために、演算制御回路８３にも入力されている。
【００５３】
投光部３０の赤外ＬＥＤ３１を駆動するためのＬＥＤ駆動信号は、演算制御回路８３からＬＥＤ駆動回路８４Ｌ及び８４Ｒを介して、対応するセンサユニット１Ｌ及び１Ｒの投光部３０の赤外ＬＥＤ３１に供給されている。
【００５４】
センサユニット１Ｌ及び１Ｒそれぞれの検出部４０のラインＣＣＤ４１からの検出信号は、制御・演算ユニット２の対応するＡ／Ｄコンバータ８１Ｌ及び８１Ｒに入力され、演算制御回路８３からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ８２に記憶され、指示具の角度算出に用いられる。そして、この算出された角度から座標値が算出され、外部端末にシリアルインタフェース８８（例えば、ＵＳＢ、ＲＳ２３２Ｃインタフェース等）を介して出力される。
【００５５】
＜光量分布検出の説明＞
図５は本発明の実施形態の制御信号のタイミングチャートである。
【００５６】
図５において、９１〜９３はＣＣＤ制御信号であり、ＳＨ信号９１の間隔で、ラインＣＣＤ４１のシャッタ解放時間が決定される。ＩＣＧＬ信号９２及びＩＣＧＲ信号９３は、センサユニット１Ｌ及び１Ｒそれぞれのセンサユニットへのゲート信号であり、内部のラインＣＣＤ４１の光電変換部の電荷を読出部へ転送する信号である。
【００５７】
９４、９５はセンサユニット１Ｌ及び１Ｒそれぞれの投光部３０の駆動信号である。ここで、ＳＨ信号９１の最初の周期で、センサユニット１Ｌの投光部３０を点灯（投光期間９６Ｌ）するために、ＬＥＤＬ信号９４がＬＥＤ駆動回路８４Ｌを経て投光部３０に供給される。また、ＳＨ信号９１の次の周期で、センサユニット１Ｒの投光部３０を点灯（投光期間９６Ｒ）するために、ＬＥＤＲ信号９５がＬＥＤ駆動回路８４Ｒを経て投光部３０に供給される。
【００５８】
そして、センサユニット１Ｌ及び１Ｒの双方の投光部３０の駆動が終了した後に、センサユニット１Ｌ及び１Ｒの双方の検出部（ラインＣＣＤ４１）の検出信号が読み出される。
【００５９】
ここで、センサユニット１Ｌ及び１Ｒの双方から読み出される検出信号は、座標入力有効領域３への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図６（ａ）のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部材４の特性（例えば、再帰反射部材４の入射角による再帰反射特性）や投光部３０の特性、また、経時変化（反射面の汚れなど）によって、光量分布は変化する。
【００６０】
図６（ａ）においては、レベルＡが最大光量であり、レベルＢが最低光量となっている。
【００６１】
つまり、再帰反射部材４からの反射光がない状態では、センサユニット１Ｌ及び１Ｒで得られる光量レベルがレベルＢ付近になり、反射光量が増えるほど、レベルＡに光量レベルが遷移する。このようにして、センサユニット１Ｌ及び１Ｒから出力された検出信号は、逐次、対応するＡ／Ｄコンバータ８１Ｌ及び８１ＲでＡ／Ｄ変換され、演算制御回路８３にデジタルデータとして取り込まれる。
【００６２】
これに対し、座標入力有効領域３への指示具による入力がある場合には、センサユニット１Ｌ及び１Ｒからの出力として、図６（ｂ）のような光量分布が得られる。
【００６３】
この光量分布のＣ部分では、指示具によって再帰反射部材４からの反射光が遮られているため、その部分（遮光範囲）のみ反射光量が低下していることがわかる。
【００６４】
そして、本実施形態では、指示具による入力がない場合の図６（ａ）の光量分布と、指示具による入力がある場合の図６（ｂ）の光量分布の変化に基づいて、センサユニット１Ｌ及び１Ｒに対する指示具の角度を算出する。
【００６５】
具体的には、図６（ａ）の光量分布を初期状態として予めメモリ８２に記憶しておく。次に、センサユニット１Ｌ及び１Ｒそれぞれの検出信号のサンプル期間に、図６（ｂ）の光量分布の変化があるか否かを、そのサンプル期間中の光量分布と初期状態（初期状態で得られたデータを初期データと称する）の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点としてその入力角度を決定する演算を行う。
【００６６】
＜角度計算の説明＞
センサユニット１Ｌ及び１Ｒに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
【００６７】
上述したように、センサユニット１Ｌ及び１Ｒが検出する光量分布は、経時変化等の要因で一定ではないため、その初期状態の光量分布は、例えば、システムの起動時毎にメモリ８２に記憶する
以下、センサユニット１Ｌ及び１Ｒの一方（例えば、センサユニット１Ｌ）による指示具の角度計算について説明するが、他方（センサユニット１Ｒ）でも同様の角度計算を行うことは言うまでもない。
【００６８】
電源投入時、入力のない（遮光部分がない）状態で、まず、センサユニット１Ｌ内の投光部３０からの投光を停止している状態で、検出部４０の出力である光量分布をＡ／Ｄ変換して、この値をＢａｓ＿ｄａｔａ［Ｎ］としてメモリ８２に記憶する。
【００６９】
尚、この値は、検出部４０（ラインＣＣＤ４１）のバイアスのばらつき等を含んだデータでり、図６（ａ）のレベルＢ付近のデータとなる。ここで、ＮはラインＣＣＤ４１を構成する画素の画素番号であり、有効な入力範囲（有効範囲）に対応する画素番号が用いられる。
【００７０】
次に、投光部３０からの投光を行っている状態で、検出部４０の出力である光量分布をＡ／Ｄ変換して、この値をＲｅｆ＿ｄａｔａ［Ｎ］としてメモリ８２に記憶する。
【００７１】
尚、この値は、例えば、図６（ａ）の実線で示されるデータとなる。
【００７２】
そして、このメモリ８２に記憶されたＢａｓ＿ｄａｔａ［Ｎ］とＲｅｆ＿ｄａｔａ［Ｎ］とを用いて、まずは、指示具による入力の有無、かつ遮光範囲の有無の判定を行う。
【００７３】
ここで、センサユニット１Ｌ（ラインＣＣＤ４１）の出力のサンプル期間内のＮ番目の画素の画素データをＮｏｒｍ＿ｄａｔａ［Ｎ］とする。
【００７４】
まず、遮光範囲を特定するために、画素データの変化の絶対量によって、遮光範囲の有無を判定する。これは、ノイズ等による誤判定を防止し、所定量の確実な変化を検出するためである。
【００７５】
具体的には、画素データの変化の絶対量を、ラインＣＣＤ４１の各々の画素において以下の計算を行い、予め決定してある閾値Ｖｔｈａと比較する。
【００７６】
Norm_data_a[N]  ＝  Norm_data[N]  −  Ref_data[N]  （１）
ここで、Ｎｏｒｍ＿ｄａｔａ＿ａ［Ｎ］は、ラインＣＣＤ４１の各画素における絶対変化量である。
【００７７】
この処理は、ラインＣＣＤ４１の各画素の絶対変化量Ｎｏｒｍ＿ｄａｔａ＿ａ［Ｎ］を算出し、それを閾値Ｖｔｈａと比較するだけである。従って、その処理時間をさほど必要とせず、入力の有無の判定を高速に行うことが可能である。そして、特に、閾値Ｖｔｈａを初めて超えた画素が所定数を超えて検出された場合に、指示具の入力があると判定する。
【００７８】
次に、より高精度に指示具による入力を検出するために、画素データの変化の比を計算して入力点の決定を行う方法について、図７を用いて説明する。
【００７９】
図７において、９１０は再帰反射部材４の再帰反射面とする。ここで、α領域が汚れ等により、その反射率が低下していたとする。このときのＲｅｆ＿ｄａｔａ［Ｎ］の画素データ分布（光量分布）は、図８（ａ）のように、α領域に対応する部分の反射光量が少なくなる。この状態で、図７のように、指示具５が挿入され、ほぼ再帰反射面９１０の上半分を覆ったとすると、反射光量は略半分となるため、図８（ｂ）の太線で示した分布Ｎｏｒｍ＿ｄａｔａ［Ｎ］が観測されることになる。
【００８０】
この状態に対して、（１）式を適用すると、その画素データ分布は、図９（ａ）のようになる。ここで、縦軸は初期状態との差分電圧になっている。
【００８１】
この画素データに対して、閾値Ｖｔｈａを適用すると、本来の入力範囲をはずれてしまうような場合がある（図９（ａ）の破線領域）。もちろん、閾値Ｖｔｈａの値をより小さな値に設定することで、ある程度検出可能となるが、ノイズ等の影響を受ける可能性が大きくなり、座標算出性能を劣化させる恐れがある。
【００８２】
そこで、指示具によって遮られる光量は、画素データの変化の比を計算することとすると、α領域及びβ領域とも反射光量は最初の半分（α領域ではレベルＶ１相当、β領域ではレベルＶ２相当）であるので、次式で比を計算することができる。
【００８３】
Norm_data_r[N] = Norm_data_a[N] / (Bas_data[N] - Ref_data[N])  （２）
この計算結果を示すと、図９（ｂ）のように、画素データの変化が比であらわされるため、再帰反射部材４の反射率が異なる場合でも、等しく扱うことが可能になり、高精度に検出が可能になる。
【００８４】
この画素データに対して、閾値Ｖｔｈｒを適用して、遮光範囲に対応する画素データ分布の立ち上がり部と立ち下がり部に対応する画素番号を取得する。そして、この両者の中央を指示具による入力に対応する画素とすることで、より正確な指示具の入力位置を決定することができる。
【００８５】
尚、図９（ｂ）は、説明のために模式的に描いたもので、実際にはこのような立ち上がりにはなっておらず、画素毎に異なるデータレベルを示している。その詳細を示すと、図１０のようになる。
【００８６】
以下、式（２）を画素データに適用した場合の検出結果の詳細について、図１０を用いて説明する。
【００８７】
図１０は本発明の実施形態の検出結果の詳細を示す図である。
【００８８】
図１０において、指示具による遮光範囲を検出するための閾値Ｖｔｈｒに対して、その閾値Ｖｔｈｒを横切る画素データ分布の立ち上がり部分がＮｒ番目の画素、立ち下がり部分がＮｆ番目の画素であるとする。この場合、両者の画素の中心画素Ｎｐは、
Np  =  Nr  +  (Nf-Nr)/2                                  （３）
と計算することが可能である。但し、この計算では、ラインＣＣＤ４１の画素間隔が出力画素番号の分解能になってしまう。
【００８９】
そこで、より高分解能に検出するために、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用いて、閾値Ｖｔｈｒを横切る仮想の画素番号を計算する。
【００９０】
ここで、Ｎｒ番目の画素のデータレベルをＬｒ、Ｎｒ−１番目の画素のデータレベルをＬｒ−１とする。また、Ｎｆ番目の画素のデータレベルをＬｆ、Ｎｆ−１番目の画素のデータレベルをＬｆ−１とする。この場合、それぞれの仮想画素番号Ｎｒｖ，Ｎｆｖは、
Nrv  ＝ Nr-1  + ( Vthr  -  Lr-1 ) / ( Lr  -  Lr-1 )      （４）
Nfv  ＝ Nf-1  + ( Vthr  -  Lf-1 ) / ( Lf  -  Lf-1 )      （５）
と計算できる。
【００９１】
そして、これらの仮想画素番号Ｎｒｖ，Ｎｆｖの仮想中心画素Ｎｐｖは、
Npv  =  Nrv + (Nfv-Nrv)/2                                （６）
で決定される。
【００９２】
このように、閾値Ｖｔｈｒを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、閾値Ｖｔｈｒを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
【００９３】
＜画素番号から角度情報への変換＞
次に、遮光範囲の中心点を示す中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報（θ）に変換する必要がある。
【００９４】
ここで、画素番号とθとの関係について、図１１を用いて説明する。
【００９５】
図１１は本発明の実施形態の画素番号に対するθ値の関係を示す図である。
【００９６】
この図１１に基づいて、画素番号からθを求めるための近似式を定義すると、
θ＝ｆ（Ｎ）                                              （７）
となり、その近似式（変換式）を用いて画素番号からθへの変換を行うことが可能となる。
【００９７】
本実施形態では、１次近似式を用いて近似できるように、先に説明したセンサユニット１Ｌ（１Ｒ）中の検出部４０のレンズ群を構成する。但し、レンズの光学的収差等により、より高次な近似式を用いたほうが、より高精度に角度情報を得ることが可能となる場合がある。
【００９８】
ここで、どのようなレンズ群を採用するかは、製造コストと密接に関連する。特に、レンズ群の製造原価を下げることによって一般的に発生する光学的な歪を、より高次の近似式を用いて補正する場合には、それなりの演算能力（演算速度）を要求される。従って、目的とする製品に要求される座標算出精度を鑑みながら、その両者を適宜設定すれば良い。
【００９９】
＜座標算出方法の説明＞
次に、画素番号から変換された角度データ（ｔａｎθ）から、指示具の位置座標を算出する座標算出方法について説明する。
【０１００】
ここで、座標入力有効領域３上に定義する座標とセンサユニット１Ｌ及び１Ｌとの位置関係について、図１２を用いて説明する。
【０１０１】
図１２は本発明の実施形態の座標入力有効領域上に定義する座標とセンサユニット１Ｌ及び１Ｌとの位置関係を示す図である。
【０１０２】
図１２では、座標入力有効領域３の水平方向にＸ軸、垂直方向にＹ軸を定義し、座標入力有効領域３の中央を原点位置Ｏ（０，０）に定義している。そして、座標入力有効領域３の座標入力範囲の上辺左右に、それぞれのセンサユニット１Ｌ及び１ＲをＹ軸に対称に取り付けており、その間の距離はＤｓである。
【０１０３】
また、センサユニット１Ｌ及び１Ｒそれぞれの受光面は、その法線方向がＸ軸と４５度の角度を成すように配置され、その法線方向（基準方向）を０度と定義している。
【０１０４】
この時、角度の符号は、左側に配置されたセンサユニット１Ｌの場合には、時計回りの方向を『＋』方向に、また、右側に配置されたセンサユニット１Ｒの場合には、反時計回りの方向を『＋』方向と定義している。
【０１０５】
さらには、Ｐｏはセンサユニット１Ｌ及び１Ｒの法線方向の交点位置である。また、Ｙ軸方向の原点からの距離をＰｏｙと定義する。この時、それぞれのセンサユニット１Ｌ及び１Ｒで得られた角度をθL、θRとすると、検出すべき点Ｐの座標Ｐ（ｘ，ｙ）は、
x =  Ds/2 * (tanθR - tanθL) / (1 - (tanθR * tanθL))        （８）
y =  Ds/2 * (tanθR + tanθL + (2 * tanθR * tanθL)) /
(1 - (tanθR * tanθL)) + P0y                            （９）
で計算される。
【０１０６】
以上の構成に基づく座標入力装置の座標算出処理について、図１３を用いて説明する。
【０１０７】
図１３は本発明の実施形態の座標入力装置が実行する座標算出処理を示すフローチャートである。
【０１０８】
まず、座標入力装置の電源が投入されると、ステップＳ１０２で、制御・演算ユニット２のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。
【０１０９】
ステップＳ１０３で、ラインＣＣＤ４１のＣＣＤ画素有効範囲を、例えば、メモリ８２に予め記憶されている設定値から設定する。
【０１１０】
ステップＳ１０４で、ラインＣＣＤ４１の初期読込動作の初期読込回数を設定する。
【０１１１】
尚、この初期読込動作は、座標入力装置の起動時におけるラインＣＣＤ４１の不要電荷除去を行うのための動作である。ラインＣＣＤ４１では、動作させていないときに不要な電荷を蓄積している場合があり、その電荷が蓄積されている状態で座標入力動作を実行すると、検出不能になったり、誤検出の原因となる。そこで、これを避けるために、ステップＳ１０５では、投光部３０による投光を停止している状態で、所定回数の読込動作を実行する。これにより、不要電荷の除去を行う。
【０１１２】
ステップＳ１０５で、ラインＣＣＤ４１の読込動作を実行する。ステップＳ１０６で、所定回数以上の読込を実行したか否かを判定する。所定回数以上の読込を実行していない場合（ステップＳ１０６でＮＯ）、ステップＳ１０５に戻る。一方、所定回数以上の読込を実行した場合（ステップＳ１０６でＹＥＳ）、ステップＳ１０７に進む。
【０１１３】
ステップＳ１０７で、ベースデータとして、投光部３０による投光を停止している状態でのラインＣＣＤ４１の画素データ（Ｂａｓ＿ｄａｔａ［Ｎ］）を取り込む。次に、ステップＳ１０８で、リファレンスデータとして、投光部３０からの投光を行っている状態でのラインＣＣＤ４１の画素データ（Ｒｅｆ＿ｄａｔａ［Ｎ］）を取り込む。ステップＳ１０９で、ベースデータ及びリファレンスデータをメモリ８２に記憶する。
【０１１４】
ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことは言うまでも無い。この初期設定動作を経て、指示具５による通常の座標入力動作状態に移行することになる。
【０１１５】
ステップＳ１１０で、座標入力サンプリング状態で、ラインＣＣＤ４１の通常取込動作を実行して、画素データ（Ｎｏｒｍ＿ｄａｔａ［Ｎ］）を取り込む。
【０１１６】
ステップＳ１１１で、リファレンスデータ（Ｒｅｆ＿ｄａｔａ［Ｎ］）と画素データ（Ｎｏｒｍ＿ｄａｔａ［Ｎ］）の差分値を計算する。ステップＳ１１３で、その差分値と上述の閾値Ｖｔｈｒに基づいて、指示具５による入力（遮光部分）の有無を判定する。入力がない場合（ステップＳ１１３でＮＯ）、ステップＳ１１１に戻る。一方、入力がある場合（ステップＳ１１３でＹＥＳ）、ステップＳ１１４に進み、画素データの変化の比を、式（２）用いて計算する。
【０１１７】
ステップＳ１１５で、計算された画素データの変化の比に対して、指示具５による遮光範囲に対応する画素データ分布の立ち下がりと立ち上がりの検出を行う。そして、検出された立ち下がり及び立ち上がりと、（４）、（６）及び（７）式を用いて、遮光範囲の中心となる仮想的な中心画素番号を決定する。
【０１１８】
ステップＳ１１６で、決定された中心画素番号と近似多項式よりＴａｎθを計算する。ステップＳ１１７で、センサユニット１Ｌ及び１Ｒに対するＴａｎθ値から、指示具５の入力座標Ｐ（ｘ，ｙ）を、（８）及び（９）式を用いて算出する。
【０１１９】
そして、ステップＳ１１８で、算出した座標値を外部端末へ出力する。この出力は、ＵＳＢインタフェースやＲＳ２３２Ｃインタフェース等のシリアル通信で送っても良いし、無線ＬＡＮやブルートゥース等の無線通信で送信しても良い。
【０１２０】
外部端末では、座標入力装置を制御するデバイスドライバが受信データを解釈して、カーソルの移動、マウスボタン状態の変更を行うことで、表示画面の操作を実現する。
【０１２１】
尚、ステップＳ１１８の処理が終了したら、ステップＳ１１１に戻り、以降、電源ＯＦＦまで、もしくは、操作者の意図によってリセット状態が設定されるまで、上記の処理を繰り返すことになる。
【０１２２】
ここで、この繰り返し周期を１０［ｍｓｅｃ］程度に設定すれば、座標入力装置は１００回／秒の周期で指あるいは指示具５による指示座標を外部機器等に出力することが可能となる。
【０１２３】
＜リファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］の更新＞
ここで、ラインＣＣＤ４１の出力信号（画素データ）について考察する。今、仮に電源投入あるいはリセット動作を、周囲環境光の全く無い状態で行ったものと仮定する。投光部３０による投光を停止している状態（照明無し状態）でのラインＣＣＤ４１の画素データ（Ｂａｓ＿ｄａｔａ［Ｎ］）は、周囲環境光も無い状態で測定される。従って、検出される信号はラインＣＣＤ４１の光電変換素子に光が全く入射してない状態での出力特性となり、例えば、図１４（ａ）に示す信号Ｂ０となる。この信号Ｂ０の値は、光電変換素子であるところのラインＣＣＤ４１の個体間差により異なる値となるが、その信号レベルは各画素に渡ってほぼ均一な値となる。
【０１２４】
同様に、周囲環境光が全く無い状態で、投光部３０からの投光を行っている状態でのラインＣＣＤ４１の画素データ（Ｒｅｆ＿ｄａｔａ［Ｎ］）を取り込むと、例えば、図１４（ｂ）に示すように、出力レベルＲ０から出力レベルＡ０の範囲の信号となる。
【０１２５】
ここで、検出すべき有効画素範囲内で出力レベルが出力レベルＲ０から出力レベルＡ０の範囲で一定とならないのは、様々な要因がある。例えば、この要因には、座標入力有効領域３の形状、大きさによって配置される再帰反射部材４の位置とセンサユニット１の距離がセンサユニット１から見てその角度に応じて異なることがある。また、別の要因には、再帰反射部材４に入射する光の入射角に依存する再帰反射部材４の再帰反射効率、あるいは投光部３０の投光分布や検出部（受光部）４０の集光特性がある。
【０１２６】
従って、図１４（ｂ）に示されるように、有効画素範囲内では、信号レベルが最も弱くなる部分と、信号レベルが最も大きくなる部分が存在する。そして、信号レベルが最も弱くなる部分で安定した信号検出が行われるように、信号レベルが最も大きくなる部分で信号が飽和しない範囲で、例えば、投光部３０の発光源である素子に流す電流を増大させることで、良好な検出信信号を得ることができる。
【０１２７】
次に、暗環境で取り込むラインＣＣＤ４１の画素データ（Ｂａｓ＿ｄａｔａ［Ｎ］）に対して、仮に、蛍光灯或いは太陽光による照明がある状態である明環境にある時の出力を考察する。
【０１２８】
尚、ここで暗環境とは、装置周囲の光が全く無い状態である環境であることを意味するものとして説明しているが、これに限定されない。例えば、装置周囲の光環境が、装置に対して等方的に光が入射するような環境（スポットライトの様な光源が局所的に入射するような環境で無ければ良い）であれば良い。つまり、等方的であれば、ベースデータの信号レベルＢ０の値は、ラインＣＣＤ４１の個体間差に、その光のエネルギーが加算された形で出力される。この場合、周囲光が全く無い状態で取得したデータと等方的な周囲光の有る状態で取得したデータはオフセットした状態の関係になり、座標算出時にはこのオフセット量を考慮しれば良いからである。
【０１２９】
明環境におけるベースデータＢａｓ＿ｄａｔａ［Ｎ］は、暗環境で測定されたベースデータＢａｓ＿ｄａｔａ［Ｎ］の信号レベルＢ０の値（ラインＣＣＤ４１の特性で決まる）に、その室内照明光のエネルギーが加算された形で出力されることなる。具体的には、図１４（ｃ）に示すように、図１４（ａ）の信号Ｂ０に対して、平行移動（オフセット）したような信号Ｂ１が得られる。
【０１３０】
同様に、明環境におけるリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］は、図１４（ｄ）に示すように、図１４（ｂ）の信号Ｒ０に対して、平行移動（オフセット）したような信号Ｒ１が得られる。
【０１３１】
このように、明環境（例えば、室内照明がある状態）で、電源オンあるいはシステムリセットすると、その時、取得される投光部３０による投光を停止している状態での初期ベースデータＢａｓ＿ｄａｔａ［Ｎ］は、図１４（ｃ）となる。また、投光部３０による投光を行っている状態での初期リファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］は、図１４（ｄ）となる。そして、この明環境の状態（室内光の照明状態）が変化しなければ、上述の図１３のフローチャートに従って、指示具の位置を高精度に算出することが可能となる。
【０１３２】
しかしながら、装置の使用中に、表示装置の表示画面を見やすくするために室内照明を消灯した場合、座標検出のためのサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］は、図１４（ｂ）のようになっているはずであり、座標算出誤差を発生させる。特に、光量分布の出力レベルが小さい領域では、上述のように、リファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］とサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］の比を用いて算出しているので、その変動率は大きな値となり、誤差が大きくなる。
【０１３３】
従って、使用中にそのような照明光の変化がある場合には、高精度に位置座標を算出するためにベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］を更新する必要がある。
【０１３４】
ここでは、周囲環境による照明光の有無の場合を例に挙げて説明しているが、これに限定されない。例えば、照明光の強度変化あるいは太陽光による照明があるような環境にあっては、使用中の太陽光の光強度変化（太陽が雲に隠れた、時間経過により日照状態が変化した、等々）も、これらの現象に相当することになる。これらの周囲環境による照明光は、極力、センサユニット１Ｌに入射しないようにフード等による遮光部を用いたり、あるいは赤外線通過フィルタ等の波長フィルタを用いて不要光を極力除去するように構成してある。しかしながら、不要光を完全に除去するのは困難であり、何らかの対策が必要である。本願発明は、この観点で成されたものであり、その詳細を説明する。
【０１３５】
本願発明では、図１３に示す基本的な座標算出処理に対し、図１５に示すように、リファレンスデータの更新を含む座標算出処理を実行する。
【０１３６】
以下、この座標算出処理について、図１５を用いて説明する。
【０１３７】
図１５は本発明の実施形態の座標入力装置における、リファレンスデータの更新を含む座標算出処理を示すフローチャートである。
【０１３８】
尚、図１５では、図１３のフローチャートと同一の処理については、同一のステップ番号を付加し、その詳細については省略する。
【０１３９】
まず、初期のベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］を更新する際に気をつけなければならないのは、次の点である。操作者が装置の使用中（座標入力動作を行っている）、つまり、指あるいは指示具による座標入力を行って遮光範囲が検出されている時に、そのような初期データの取得を行うと、誤動作の原因となるので、遮光範囲が発生しない状態を保証しなければならない。操作者が意図的にリセットを行えば、その旨を操作者に報知することは容易であるが、操作者はその間、会議（作業）の中断を余儀なくされるので、操作者の操作に支障を起こさない構成が好ましい形態と言える。
【０１４０】
図１５において、ステップＳ１０２〜ステップＳ１０８の処理を実行する。これにより、電源投入時あるいはシステムリセット時において、投光部３０による投光を停止している状態でのベースデータＢａｓ＿ｄａｔａ［Ｎ］（Ｂ（Ｎ））を取得する。また、投光部３０による投光を行っている状態でのリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］（Ｒ（Ｎ））を取得する。
【０１４１】
ステップＳ１０９ａで、リファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］（Ｒ（Ｎ））をリファレンスデータ更新用の更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］（Ｒ’（Ｎ））にセットして、それらの信号をメモリ８２に記憶し、初期動作を完了する。
【０１４２】
ステップＳ１１０で、座標検出のための通常のサンプリング動作に移行し、サンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］（Ｎ（Ｎ））を取り込む。
【０１４３】
ステップＳ１１１ａで、サンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］と更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］を比較し、その比較結果に基づいて、更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］による更新の判定を行う。
【０１４４】
ここで、ベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］の取得時とサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］のサンプリング時との照明環境が異なるとする。この場合、サンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］と更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］は、図１４（ｂ）と図１４(ｄ)のように、その両者（光量分布間）はオフセットした関係にあるはずである。一方、照明環境が同じであれば、その両者は一致するはずである。
【０１４５】
従って、例えば、サンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］の同一画素毎の差分値が一定値（誤差成分を考慮して、一定範囲値であっても良い）であれば、照明環境が変動したことになる。そして、その差分値が所定値（閾値）を以上である場合には、ステップＳ１１２で、取り込んだサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］を更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］として更新し、メモリ８２に記憶し、ステップＳ１１０に戻る。
【０１４６】
以上のように、サンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］の差分値が一定値（あるいは誤差を考慮した一定範囲値）（オフセット状態）である場合、照明環境が操作中に変化したことを意味する。一方、そうでない場合には、操作者による座標入力動作による遮光範囲が発生している可能性があることを意味する。
【０１４７】
従って、オフセット状態を確認することで、操作者の操作が行われていない状態を検出することができるので、ステップＳ１１２で、更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］への更新が可能である。これにより、照明環境が変化したとしても、誤動作することなく高精度に位置座標を算出することができる。
【０１４８】
また、オフセット状態に無いということは、操作者による座標入力動作による遮光範囲が発生している『可能性が有る』ことを意味するだけであって、入力状態にあると等価ではない。図７では、再帰反射面９１０に対して、指示具５が挿入され、ほぼその半分を覆ったものと説明している。ここで、仮に、覆っている部分が１／１０である場合には遮範囲の信号レベルは十分でなく（例えば、図１４（ｅ）の矢印部分）、十分に覆うことによって、図１４（ｆ）の矢印部分のような信号が得られることになる。
【０１４９】
図１４（ｅ）のように、遮光範囲の信号レベルが座標算出には十分でない場合であっても、図１５のステップＳ１１１ａの判定では、オフセット状態となっていない。そのため、この場合、更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］は更新されることなく、ステップＳ１１３で、遮光部分の有無の判定を行う。そして、図１４（ｆ）のように信号レベルが不十分である場合、ステップＳ１１０に戻る。一方、十分な信号レベルが得られている場合、指示具５による入力有りと判定（座標入力判定）して、ステップＳ１１４以降の演算を行うことで、高精度な位置検出を実現することができる。
【０１５０】
ここで、ステップＳ１１４における、式（１）及び式（２）の意味を考察する。
【０１５１】
電源投入時等のベースデータＢａｓ＿ｄａｔａ［Ｎ］１とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］１に対し、サンプリング時の照明環境が電源投入時と照明環境が異なるとする。この場合、その照明環境で、再度ベースデータＢａｓ＿ｄａｔａ［Ｎ］２とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］２を取得する。
【０１５２】
ベースデータＢａｓ＿ｄａｔａ［Ｎ］１とＢａｓ＿ｄａｔａ［Ｎ］２、及びリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］１とＲｅｆ＿ｄａｔａ［Ｎ］２はそれぞれ同一のオフセット量を有する関係にある。そのため、Ｂａｓ＿ｄａｔａ［Ｎ］１とＲｅｆ＿ｄａｔａ［Ｎ］１の差分値と、Ｂａｓ＿ｄａｔａ［Ｎ］２とＲｅｆ＿ｄａｔａ［Ｎ］２の差分値は同一の値となる。従って、照明環境が変化したとしても、再度ベースデータＢａｓ＿ｄａｔａ［Ｎ］を取得する必要はなく、ステップＳ１１２における更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］の更新のみで高精度な座標算出が可能となる。
【０１５３】
換言すれば、取り込んだサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］から、座標入力状態にないこと、照明環境が変化した状態にあることを検出して更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］を更新する構成である。そのため、座標算出サンプリングレートが低下する等の操作性低下を伴うことなく、高精度な状態を維持することができる。
【０１５４】
また、ステップＳ１０９ａでは、ベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］、及び更新リファレンスデータＲｅｆ’＿ｄａｔａ［Ｎ］をメモリ８２に記憶しているが、これ限定されない。
【０１５５】
例えば、ベースデータＢａｓ＿ｄａｔａ［Ｎ］とリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］の差分値と、リファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］のみをメモリ８２に記憶しておいても良い。この場合、ステップＳ１１１ａの判定結果に従い、取り込んだサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］をリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］として更新するように構成しても良い。
【０１５６】
このように、リファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］とサンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］を比較することによって、その両者がオフセット状態にあれば、操作者による操作等が行われていない状態を検出したこと等価となる。また、この場合のオフセット量は、使用中の周囲の照明環境の変化量を示すことになる。このオフセット量が所定値以上になることで、サンプリングデータＮｏｒｍ＿ｄａｔａ［Ｎ］をリファレンスデータＲｅｆ＿ｄａｔａ［Ｎ］として更新すれば、操作者の操作性を低下させることなく、高精度な座標算出がその使用中に維持されることになる。
【０１５７】
以上説明したように、本実施形態によれば、電源投入時あるいはリセット時における周囲の環境状態と、操作中に起こりえる周囲の環境状態と変化が起こるとしても、安定した座標算出を行うことができる。
【０１５８】
ここで、周囲の環境状態の変化とは、電源投入時は蛍光灯の照明下にあったが、表示装置の表示画像を見やすくするためにその照明を消灯した場合がある。あるいは、日中のため照明を点灯せずに電源投入したが、会議の経過と共に日暮れとなって周囲光が暗くなったので、蛍光灯を点灯させた場合等がある。
【０１５９】
また、座標算出精度を高精度な状態を維持するために、操作者に会議の中断を強いることもなく、さらには使用中の操作性の低下すら起こらないので、信頼性が高く、使い勝手の良い座標入力装置を提供することができる。
【０１６０】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１６１】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１６２】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１６３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１６４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１６５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１６６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１６８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１６９】
【図１】本発明の実施形態の遮光方式の座標入力装置の概略構成を示す図である。
【図２】本発明の実施形態のセンサユニットの投光部の構成例を示す図である。
【図３】本発明の実施形態のセンサユニットの検出部及びセンサユニットの構成例を示す図である。
【図４】本発明の実施形態の制御・演算ユニットの詳細構成を示すブロック図である。
【図５】本発明の実施形態の制御信号のタイミングチャートである。
【図６】本発明の実施形態のセンサユニットによって得られる光量分布の一例を示す図である。
【図７】本発明の実施形態の入力例を説明するための図である。
【図８】本発明の実施形態のセンサユニットによって得られる光量分布の光量変化を説明するための図である。
【図９】本発明の実施形態のセンサユニットによって得られる光量分布における光量変化量と光量変化比を説明するための図である。
【図１０】本発明の実施形態の検出結果の詳細を示す図である。
【図１１】本発明の実施形態の画素番号に対するθ値の関係を示す図である。
【図１２】本発明の実施形態の座標入力有効領域上に定義する座標とセンサユニット１Ｌ及び１Ｌとの位置関係を示す図である。
【図１３】本発明の実施形態の座標入力装置が実行する座標算出処理を示すフローチャートである。
【図１４】本発明の実施形態の初期データと異常信号を説明するための図である。
【図１５】本発明の実施形態の座標入力装置における、リファレンスデータの更新を含む座標算出処理を示すフローチャートである。
【符号の説明】
【０１７０】
１Ｌ、１Ｒ  センサユニット
２  制御・演算ユニット
３  座標入力有効領域
４  再帰反射部材
５  指示具
８  光透過部材
１０  表示装置
１１  表示制御部
【図１】
0005049747.tif 000002
【図２】
0005049747.tif 000003
【図３】
0005049747.tif 000004
【図４】
0005049747.tif 000005
【図５】
0005049747.tif 000006
【図６】
0005049747.tif 000007
【図７】
0005049747.tif 000008
【図８】
0005049747.tif 000009
【図９】
0005049747.tif 000010
【図１０】
0005049747.tif 000011
【図１１】
0005049747.tif 000012
【図１２】
0005049747.tif 000013
【図１３】
0005049747.tif 000014
【図１４】
0005049747.tif 000015
【図１５】
0005049747.tif 000016