(57)【要約】【課題】  座標入力有効領域を複数の領域に分割して指示位置の座標を算出する場合に、領域の境界における座標の不連続性を改善する。【解決手段】  少なくとも４つのセンサユニットの１つのセンサユニットの受光部において、他のセンサユニットが位置する方向を示す角度情報を検出する。検出した角度情報に基づいて、共通の座標計測点に対する座標値を、少なくとも４つのセンサユニットから少なくとも２つ選択するための複数通りの組み合わせそれぞれによって算出する。算出した共通の座標計測点に対する複数の座標値についての補正値を算出する。受光部の受光状態に基づいて、指示位置の座標値を算出する。算出した補正値に基づいて、算出した指示位置の座標値を補正する。【選択図】  図９
2015118569.tif 000002
【特許請求の範囲】
【請求項１】
到来光を受光する受光部をそれぞれが備える、少なくとも４つのセンサユニットを用いて、座標入力有効領域に対する指示位置を検出する座標入力装置であって、
前記少なくとも４つのセンサユニットの１つのセンサユニットの受光部において、他のセンサユニットが位置する方向を示す角度情報を検出する検出手段と、
前記検出手段が検出した角度情報に基づいて、共通の座標計測点に対する座標値を、前記少なくとも４つのセンサユニットから少なくとも２つ選択するための複数通りの組み合わせそれぞれによって算出する座標計測点算出手段と、
前記座標計測点算出手段が算出した前記共通の座標計測点に対する複数の座標値についての補正値を算出する補正値算出手段と、
前記受光部の受光状態に基づいて、前記指示位置の座標値を算出する座標算出手段と、
前記補正値算出手段が算出した補正値に基づいて、前記座標算出手段が算出した指示位置の座標値を補正する補正手段と
を備えることを特徴とする座標入力装置。
【請求項２】
前記少なくとも４つのセンサユニットはそれぞれ、前記座標入力有効領域に向けて投光する投光部を更に備え、
前記検出手段は、前記１つのセンサユニットの前記受光部において、前記他のセンサユニットの前記投光部から直接光を受光した場合の受光状態に基づいて、前記他のセンサユニットが位置する方向を示す角度情報を検出する
ことを特徴とする請求項１に記載の座標入力装置。
【請求項３】
前記検出手段が検出した角度情報に応じて、前記センサユニットの相対的な位置関係を算出する位置関係算出手段を更に備え、
前記座標算出手段は、前記受光部の受光状態と、前記位置関係算出手段が算出した位置関係に基づいて、前記指示位置の座標値を算出する
ことを特徴とする請求項１または２に記載の座標入力装置。
【請求項４】
光を再帰的に反射する再帰反射手段を更に備え、
前記座標算出手段は、前記再帰反射手段を介して反射される光に対する前記受光部の受光状態と、前記位置関係算出手段が算出した位置関係に基づいて、前記指示位置の座標値を算出する
ことを特徴とする請求項３に記載の座標入力装置。
【請求項５】
前記座標入力有効領域に設定される表示領域における表示座標系での既知の複数の位置を指示することで前記検出手段によって検出される角度情報に応じて、前記座標算出手段で算出される前記複数の位置のそれぞれの座標値を記憶する記憶手段と、
前記記憶手段に記憶される座標値を前記補正手段で補正した相対座標値に基づき、前記算出手段で算出された前記指示位置の座標値を前記表示座標系の座標値に変換する変換手段と
を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の座標入力装置。
【請求項６】
前記センサユニットとして、第１のセンサユニット、第２のセンサユニット、第３のセンサユニット及び第４のセンサユニットを備える場合、
前記第１のセンサユニットと前記第２のセンサユニットの間に光を再帰的に反射する再帰反射手段を備え、
前記第３のセンサユニットと前記第４のセンサユニットの間に光を再帰的に反射する再帰反射手段を備え、
前記検出手段は、前記第１のセンサユニットにおいて検出した前記第２のセンサユニット及び前記第４のセンサユニットが位置する方向のなす第１の角度情報を検出し、
前記検出手段は、更に、
前記第１のセンサユニットにおいて検出した前記第３のセンサユニット及び前記第４のセンサユニットが位置する方向のなす第２の角度情報と、
前記第２のセンサユニットにおいて検出した前記第３のセンサユニット及び前記第４のセンサユニットが位置する方向のなす第３の角度情報と、
前記第３のセンサユニットにおいて検出した前記第１のセンサユニット及び前記第２のセンサユニットが位置する方向のなす第４の角度情報と、
前記第４のセンサユニットにおいて検出した前記第１のセンサユニット及び前記第２のセンサユニットが位置する方向のなす第５の角度情報と
の内、少なくとも３個の角度情報を検出する
ことを特徴とする請求項１乃至５のいずれか１項に記載の座標入力装置。
【請求項７】
前記センサユニットとして、第１のセンサユニット、第２のセンサユニット、第３のセンサユニット及び第４のセンサユニットを備える場合、
光を再帰的に反射する再帰反射手段を有する第１の筺体に、前記第１のセンサユニットと前記第２のセンサユニットが設けられ、
光を再帰的に反射する再帰反射手段を有する第２の筺体に、前記第３のセンサユニットと前記第４のセンサユニットが設けられている
ことを特徴とする請求項１乃至６のいずれか１項に記載の座標入力装置。
【請求項８】
前記検出手段は、前記第１の筺体に設けられる前記第１のセンサユニットと、該第１の筺体に対向して設けられた前記第２の筺体に設けられている前記第３のセンサユニットと前記第４のセンサユニットのなす角度を検出し、
少なくとも前記第１のセンサユニットが、前記第２の筺体に設けられている前記第３のセンサユニット及び前記第４のセンサユニットの少なくとも一方のセンサユニットの方向を検出するための基準角度情報を記憶する基準角度情報記憶手段を更に備える
ことを特徴とする請求項７に記載の座標入力装置。
【請求項９】
前記検出手段は、前記第１の筺体に設けられる前記第１のセンサユニットと、該第１の筺体に対向して設けられた前記第２の筺体に設けられている前記第３のセンサユニットと前記第４のセンサユニットのなす角度情報を検出し、
前記検出手段は、少なくとも前記第１のセンサユニットに対して、前記第２の筺体に設けられた前記第３のセンサユニット及び前記第４のセンサユニットの少なくとも一方のセンサユニットの方向と、前記第１のセンサユニットに対して前記第２のセンサユニットの方向のなす角度情報を検出する
ことを特徴とする請求項８に記載の座標入力装置。
【請求項１０】
到来光を受光する受光部をそれぞれが備える、少なくとも４つのセンサユニットを用いて、座標入力有効領域に対する指示位置を検出する座標入力装置の制御方法であって、
前記少なくとも４つのセンサユニットの１つのセンサユニットの受光部において、他のセンサユニットが位置する方向を示す角度情報を検出する検出工程と、
前記検出工程が検出した角度情報に基づいて、共通の座標計測点に対する座標値を、前記少なくとも４つのセンサユニットから少なくとも２つ選択するための複数通りの組み合わせそれぞれによって算出する座標計測点算出工程と、
前記座標計測点算出工程が算出した前記共通の座標計測点に対する複数の座標値についての補正値を算出する補正値算出工程と、
前記受光部の受光状態に基づいて、前記指示位置の座標値を算出する座標算出工程と、
前記補正値算出工程が算出した補正値に基づいて、前記座標算出工程が算出した指示位置の座標値を補正する補正工程と
を備えることを特徴とする座標入力装置の制御方法。
【請求項１１】
到来光を受光する受光部をそれぞれが備える、少なくとも４つのセンサユニットを用いて、座標入力有効領域に対する指示位置を検出する座標入力装置の制御をコンピュータに機能させるためのプログラムであって、
前記コンピュータを、
前記少なくとも４つのセンサユニットの１つのセンサユニットの受光部において、他のセンサユニットが位置する方向を示す角度情報を検出する検出手段と、
前記検出手段が検出した角度情報に基づいて、共通の座標計測点に対する座標値を、前記少なくとも４つのセンサユニットから少なくとも２つ選択するための複数通りの組み合わせそれぞれによって算出する座標計測点算出手段と、
前記座標計測点算出手段が算出した前記共通の座標計測点に対する複数の座標値についての補正値を算出する補正値算出手段と、
前記受光部の受光状態に基づいて、前記指示位置の座標値を算出する座標算出手段と、
前記補正値算出手段が算出した補正値に基づいて、前記座標算出手段が算出した指示位置の座標値を補正する補正手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の入力や選択をするために指等の指示具によって座標入力面に入力された座標位置を光学的に検出する座標入力装置に関するものである。特に、着脱可能で、可搬性を有する座標入力装置に関するものである。
【背景技術】
【０００２】
従来、この種の座標入力装置として、各種方式の座標入力装置（タッチパネルやデジタイザ）が提案、または製品化されている。例えば、特殊な器具等を用いずに、指で画面上をタッチすることで、ＰＣ（パーソナルコンピュータ）等の端末の操作を簡単に行うことがきるタッチパネル等が広く用いられている。
【０００３】
座標入力方式としては、抵抗膜を用いたもの、または、超音波を用いたもの等、種々のものがある。光を用いたものとして、座標入力面外側に再帰性反射材を設け、投光部からの光を再帰反射材で反射し、その光量分布を受光部により検出する方式（光学遮光方式）が知られている（例えば、特許文献１参照）。この方式は、座標入力領域内の指等で遮光された遮光部分（領域）の方向を検出し、遮光位置、つまり、座標入力位置の座標を決定する。
【０００４】
特許文献１の構成を一般化した例として、図１４の構成を示す。図１４は、座標入力面の両端に配置されたセンサユニット２Ｌ及び２Ｒと、座標を入力する際に使用する座標入力面である所の座標入力有効領域５が示される。そして、座標入力有効領域５の周囲３辺には、進入してきた光を進入してきた方向に再帰的に反射する再帰反射部４が設けられている。
【０００５】
センサユニット２Ｌ及び２Ｒは、投光部及び受光部（不図示）を有している。投光部は、座標入力有効領域５の入力面にほぼ平行に扇形に広がる光を投光し、受光部は、その光が再帰反射部４で再帰反射され、戻ってきた光を受光する。座標入力装置は、２つのセンサユニット２Ｌ及び２Ｒでそれぞれ検知された光の遮光方向（遮光角度θＬ及びθＲ）と当該センサユニット間の距離に基づいて、座標入力有効領域５に入力された指示位置Ｐを算出することができる。
【０００６】
尚、図中３はセンサユニット２Ｌ及び２Ｒを制御し、また、取得したセンサユニット２Ｌ及び２Ｒの出力信号を処理、あるいはその処理結果を外部装置に出力する演算制御回路である。
【０００７】
また、特許文献２では、多数のセンサユニットを使って、大画面の座標入力装置を小型なシステムで実現するための発明が開示されている。さらに、特許文献３では、デバイスを任意の位置に設置できるようにして使い勝手を向上するシステムが開示されている。
【０００８】
この種の座標入力装置を表示装置と一体にすることによって、表示装置の表示画面をタッチすることで、表示状態を制御したり、あたかも紙と鉛筆の様な関係で、指示位置の軌跡を筆跡として表示したりすることが可能となる。
【０００９】
表示装置としては、液晶表示装置等の各種方式のフラットパネルディスプレイやフロントプロジェクターが知られている。フラットパネルディスプレイの場合には、座標入力装置を重ねて配置すれば、このような操作環境を実現でき、スマートフォン等の携帯機器はその代表例と言える。フラットパネルディスプレイの大型化に伴い、大型のタッチパネルと組み合わせて、例えば、デジタルサイネージと言った分野でもその導入が進んでいる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−２７２３５３号公報
【特許文献２】特開２０１２−２３４４１３号公報
【特許文献３】特開２０１２−５９２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このような装置では、構成上いくつかの誤差が発生する。主なものを挙げると、まず、光を検出する受光部には、ＣＣＤラインセンサやＣＭＯＳセンサ等の受光デバイスが使用される。受光デバイスにおける受光は画素単位で行われるから、このときに量子化誤差が発生する。次に、受光デバイスが検出した画素の番号を角度値へ変換するときには、テーブル参照あるいは多項式近似による変換等の方法を用いるが、いずれの方法でも多少の誤差を発生する。さらに、装置が筐体に固定的に取り付けられる場合などには、座標算出に使用される基準角度を記録するなどの処理が行われる。これは、例えば、装置の組み立て時に、水平方向などの基準となる角度を示す画素の番号を測定して、装置内のメモリに記録する。このときに、測定の誤差などが発生する。さらに、経年変化などで装置の取り付け位置がずれるなどすると、さらに誤差が発生することも考えられる。これらのさまざまな誤差要因によって、センサが検出する角度は誤差を持つことになる。
【００１２】
センサユニットの検出角度が誤差を持つと、タッチされた位置に対して、算出した画面上の座標が合わないという問題が発生する。両者の差を小さくするには、受光デバイスの画素分解能や、装置の機械的精度を高くするなどして、発生する誤差を小さくする必要がある。実際には、コストや機能／性能のバランスなどを考慮した上で設計レベルが決められる。
【００１３】
また、特許文献２は、センサユニットの組み合わせを変えて、画面を複数の領域に分割して指示位置を算出するシステムとなっている。このようなシステムにおいて、センサユニットが検出する角度に誤差が発生すると、タッチされた位置と算出した画面上の座標が合わないという問題のほかに、複数に分割された領域の境界部において座標値が一致しないという、別の問題が発生する。この問題は、複数に分割された領域毎に、誤差の出かた（誤差の方向及び距離）が異なるために発生する。その結果、例えば、画面内で描画をしたときに、特定の位置で座標が不連続となるなどして、とても目立ちやすい。
【００１４】
この問題の改善策として、境界部付近で、境界を挟む２つの領域で算出した座標値を補間するという方法がある。この方法では、境界部をある程度なめらかに接続することができて、不連続性は目立たなくなる。しかしながら、この方法は、２つの座標値の差を小さくするわけではなく、２つの座標値の差を境界部付近の小さな領域で接続しなければならないため、どうしても不自然さが残りやすい。
【００１５】
本発明は上記の課題を解決するためになされたものであり、座標入力有効領域を複数の領域に分割して指示位置の座標を算出する場合に、領域の境界における座標の不連続性を改善する座標入力装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
到来光を受光する受光部をそれぞれが備える、少なくとも４つのセンサユニットを用いて、座標入力有効領域に対する指示位置を検出する座標入力装置であって、
前記少なくとも４つのセンサユニットの１つのセンサユニットの受光部において、他のセンサユニットが位置する方向を示す角度情報を検出する検出手段と、
前記検出手段が検出した角度情報に基づいて、共通の座標計測点に対する座標値を、前記少なくとも４つのセンサユニットから少なくとも２つ選択するための複数通りの組み合わせそれぞれによって算出する座標計測点算出手段と、
前記座標計測点算出手段が算出した前記共通の座標計測点に対する複数の座標値についての補正値を算出する補正値算出手段と、
前記受光部の受光状態に基づいて、前記指示位置の座標値を算出する座標算出手段と、
前記補正値算出手段が算出した補正値に基づいて、前記座標算出手段が算出した指示位置の座標値を補正する補正手段と
を備える。
【発明の効果】
【００１７】
本発明によれば、座標入力有効領域を複数の領域に分割して指示位置の座標を算出する場合に、領域の境界における座標の不連続性を改善する座標入力装置及びその制御方法、プログラムを提供できる。
【図面の簡単な説明】
【００１８】
【図１】実施形態１の座標入力装置の概略構成図である。
【図２】実施形態１のセンサユニットの詳細構成を示す図である。
【図３】実施形態１の演算制御回路の第１の検出モードの動作を説明するための図である。
【図４】実施形態１の検出信号波形の処理を説明する図である。
【図５】実施形態１の座標算出を説明する図である。
【図６】実施形態１の相対座標系と表示座標系を説明するための図である。
【図７】実施形態１の演算制御回路の第２の検出モードの動作を説明するための図である。
【図８】実施形態１のセンサユニットの相対的な位置関係の算出を説明するための図である。
【図９】実施形態１の初期設定処理を示すフローチャートである。
【図１０】実施形態１の通常動作及びキャリブレーションの処理を示すフローチャートである。
【図１１】実施形態１のセンサユニットの相対的な位置関係の算出を説明するための図である。
【図１２】実施形態３の座標入力装置の概略構成図である。
【図１３】実施形態４の座標入力装置の概略構成図である。
【図１４】従来の光学式座標入力装置の基本構成を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００２０】
＜実施形態１＞
実施形態１の座標入力装置の概略構成を、図１を用いて説明する。
【００２１】
図中、１Ｌは少なくとも２個の角度検出センサ部であるところのセンサユニット２−Ｌ１及び２−Ｌ２（第１のセンサユニット及び第２のセンサユニット）を装備する筺体であるところのセンサバーである。また、１Ｒは、２−Ｒ１及び２−Ｒ２（第３のセンサユニット及び第４のセンサユニット）を装備する筺体であるところのセンサバーである。
【００２２】
各々のセンサバー１Ｌ及び１Ｒ（総称する場合は、センサバー１と表記）は、図示のように矩形状の座標入力有効領域５の対向する２辺の外側に設けられる。センサバー１Ｌ及び１Ｒは平行で、同一の長さとなっている。
【００２３】
表示装置が仮にフロントプロジェクターとすれば、表示領域は座標入力有効領域５の範囲内に設定され、例えば、平面状のホワイトボード６に投影される。無論、ホワイトボード６に限定されるものではなく、壁面等であっても良い。
【００２４】
センサバー１Ｌ及び１Ｒの側面にはそれぞれ、図示のように再帰反射部４Ｌ及び４Ｒ（総称する場合は、再帰反射部４と表記）が装着されている。そして、再帰反射部４Ｌ及び４Ｒはそれぞれ、対向する辺に設けられたセンサバー１Ｌあるいは１Ｒのセンサユニットが投光した赤外光を再帰的に反射できるように構成してある。
【００２５】
センサバー１Ｌにはセンサユニット２−Ｌ１及び２−Ｌ２が内蔵され、センサバー１Ｒにはセンサユニット２−Ｒ１及び２−Ｒ２が内蔵されている。センサバー１Ｌに内蔵される演算制御回路３Ｌはセンサユニット２−Ｌ１及び２−Ｌ２を制御して、その出力結果を演算処理すると共に、センサバー１Ｒの演算制御回路３Ｒを制御する。センサバー１Ｒの演算制御回路３Ｒは、センサユニット２−Ｒ１及び２−Ｒ２を制御して、その出力結果を演算処理して、センサバー１Ｌの演算制御回路３Ｌにその結果を送信する。そして、センサバー１Ｌの演算制御回路３Ｌは、４つのセンサユニット２−Ｌ１、２−Ｌ２、２−Ｒ１及び２−Ｒ２からの出力結果を処理して、指示位置（タッチ位置）を算出し、パーソナルコンピュータ等の外部機器へ結果を出力する。
【００２６】
図１では、センサバー１Ｌの演算制御回路３Ｌとセンサバー１Ｒの演算制御回路３Ｒとはコードで接続される構成（つまり、有線接続）となっているが、これに限定されない。例えば、無線等の通信機能を互いに搭載して、それらの通信機能を使用してデータの送受信（無線接続）を行っても良い。
【００２７】
尚、以後の説明にあっては、水平方向をＸ軸（図面右側が＋）、天地方向をＹ軸（下側が＋）として説明する。
【００２８】
図２はセンサユニット２−Ｌ１、２−Ｌ２、２−Ｒ１及び２−Ｒ２（総称する場合は、センサユニット２と表記する）の詳細構成を示す図である。図２（Ａ）は図１における断面Ａ−Ａであり、図２（Ｂ）及び（Ｃ）は図中の矢印方向から見た正面図である。
【００２９】
図２（Ａ）において、センサユニット２は、センサバー１に収納されており、座標入力有効領域５に向けて光を投稿する投光部３０及び到来光を受光する受光部４０で構成される。投光部３０と受光部４０の距離はＬ＿ｐｄであり、その間に再帰反射部４が図示のように設けられている。４５は光透過性の部材であって、センサバー１内へのゴミ等の異物の侵入を防止するための保護部材である。
【００３０】
図２（Ｂ）において、投光部３０は、発光部である赤外ＬＥＤ３１、投光レンズ３２、両者を固定するための接着層３３で構成される。投光レンズ３２は、赤外ＬＥＤ３１の光を、座標入力面となるホワイトボード６と略平行な光束となるように構成する。そして、対向する辺に設けられたセンサバー１の再帰反射部４の全領域を照明するように、投光範囲がｇ〜ｈ範囲であって、頂点が点Ｏの位置（センサユニット２の重心位置）の扇状の光束を出射する。
【００３１】
図２（Ｃ）において、受光部４０は、投光部３０が投光した光が、対向する辺に設けられたセンサバー１に装着されている再帰反射部４によって再帰反射された光を検出する。４１は光電変換素子であるところのラインＣＣＤ、４２は受光レンズ、４３は視野絞り、４４は赤外線通過フィルターである。また、保護部材４５に赤外通過フィルター機能を設けることで、赤外線通過フィルター４４を廃止してもかまわない。
【００３２】
受光部４０の光軸はＸ軸方向に設定される。視野範囲はｇ〜ｈ範囲であり、点Ｏの位置が光学的な中心位置となっている。また、受光部４０は、図示のように光軸に対して非対称な光学系となっている。点Ｏの位置、及び方向ｇ、方向ｈが略一致するように、投光部３０と受光部４０は、図２（Ａ）のように重ねて配置される。また、受光部４０は、入射する光の方向に応じて、ラインＣＣＤ４１の画素に集光されるので、ラインＣＣＤ４１の画素番号は入射する光の角度情報を表す。
【００３３】
また、受光部４０は、座標入力有効領域５の座標入力面と略平行な視野範囲を有し、その光軸方向は、ラインＣＣＤ４１の受光面の法線方向と一致するように配置されている。
【００３４】
図３（Ａ）は演算制御回路３のブロック図である。実施形態１におけるセンサバー１Ｌの演算制御回路３Ｌとセンサバー１Ｒの演算制御回路３Ｒは、外部へのインタフェース仕様を除き、いずれも同様の回路構成であり、接続される対応するセンサユニット２の制御、演算を行う。図３（Ａ）は、特に、センサバー１Ｌの演算制御回路３Ｌの構成を示している。
【００３５】
センサユニット２−Ｌ１及び２−Ｌ２のラインＣＣＤ４１用のＣＣＤ制御信号は、ワンチップマイコン等で構成されるＣＰＵ６１から出力され、ラインＣＣＤ４１のシャッタータイミングやデータの出力制御等を行う。ＣＣＤ用のクロックはクロック発生回路ＣＬＫ６２から各センサユニット２−Ｌ１及び２−Ｌ２に送信されるとともに、ラインＣＣＤ４１との同期をとって各種制御を行うためにＣＰＵ６１にも入力されている。尚、センサユニット２−Ｌ１及び２−Ｌ２の赤外ＬＥＤ３１を駆動するＬＥＤ駆動信号は、ＣＰＵ６１から供給される。
【００３６】
センサユニット２−Ｌ１及び２−Ｌ２それぞれのラインＣＣＤ４１からの検出信号は、Ａ／Ｄコンバータ６３に入力され、ＣＰＵ６１からの制御によって、デジタル値に変換される。変換されたデジタル値はメモリ６４に記憶され、角度計算に用いられる。そして、計算された角度情報から幾何学的な指示位置を算出し、外部ＰＣ等の情報処理装置にインタフェース６８（例えば、ＵＳＢインタフェース）を介して出力される。
【００３７】
先に示した通り、各センサバー１の演算制御回路３は、各々２つのセンサユニット２を制御している。仮に、センサバー１Ｌの演算制御回路３Ｌがメイン機能を果たすものとすれば、ＣＰＵ６１はシリアル通信部６７を介して、センサバー１Ｒの演算制御回路３Ｒに制御信号を送信して、回路間の同期を行う。そして、演算制御回路３Ｒから、必要なデータの取得を行うことになる。
【００３８】
演算制御回路３Ｌ及び３Ｒ間の動作は、マスター・スレーブ制御にて動作する。実施形態１の場合、演算制御回路３Ｌがマスターで、演算制御回路３Ｒがスレーブである。尚、各演算制御回路は、マスター・スレーブのどちらにもなりうるが、ディップスイッチ（不図示）等の切替部で、ＣＰＵのポートに切替信号を入力することで、マスター・スレーブの切替が可能となっている。
【００３９】
マスターであるセンサバー１Ｌの演算制御回路３Ｌからは、対向する辺に設けられたセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２のデータを取得するために、制御信号がスレーブの演算制御回路３Ｒにシリアル通信部６７を介して送信される。そして、センサユニット２−Ｒ１及び２−Ｒ２で得られた角度情報が算出され、シリアル通信部６７を介してマスター側の演算制御回路３Ｌに送信される。
【００４０】
尚、インタフェース６８は、実施形態１の場合、マスター側の演算制御回路３Ｌに実装されることになる。また、６６は、指示具として、赤外線を発光する専用ペン（不図示）を使用した時の赤外線受光部である。６５は専用ペンからの信号をデコードするためのサブＣＰＵである。専用ペンは、ペン先が入力面を押圧したことを検知するスイッチや、ペン筺体サイド部に種々のスイッチを有する。それらのスイッチの状態やペンの識別情報を専用ペンに設けられた赤外線発光部で送信することにより、専用ペンの操作状態を検知することが可能となる。
【００４１】
図３（Ｂ）はセンサユニット２を動作させるためにマスター側の演算制御回路３ＬのＣＰＵ６１が出力する制御信号、及びセンサユニット２の動作を示すタイミングチャートである。
【００４２】
７１、７２、７３がラインＣＣＤ４１制御用の制御信号であり、ＳＨ信号７１の間隔でラインＣＣＤ４１のシャッター開放時間が決定される。ＩＣＧＬ信号７２はセンサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２へのゲート信号であり、ラインＣＣＤ４１内部の光電変換部の電荷を読出部へ転送する信号である。
【００４３】
ＣＣＤＬ信号７４は、センサユニット２−Ｌ１及び２−Ｌ２のラインＣＣＤ４１のシャッター開放時間を示す信号である。ＩＣＧＲ信号７３は、対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２へのゲート信号であり、シリアル通信部６７を介してセンサバー１Ｒの演算制御回路３Ｒに送信される。そして、演算制御回路３ＲがラインＣＣＤ４１内部の光電変換部の電荷を読出部へ転送する信号を生成する。ＣＣＤＲ信号７５は、センサユニット２−Ｒ１及び２−Ｒ２のラインＣＣＤ４１のシャッター開放時間を示す信号である。
【００４４】
ＬＥＤＬ信号７６及びＬＥＤＲ信号７７は、各センサユニット２の赤外ＬＥＤ３１の駆動信号である。ＳＨ信号７１の最初の周期でセンサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２の赤外ＬＥＤ３１を点灯するために、ＬＥＤＬ信号７６が各々のＬＥＤ駆動回路（不図示）を経て赤外ＬＥＤ３１に供給される。
【００４５】
そして、ＳＨ信号７１の次の周期で、対向する辺に設けられたセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２の赤外ＬＥＤ３１を点灯するために、ＬＥＤＲ信号７７がシリアル通信部６７を介して演算制御回路３Ｒに送信される。そして、演算制御回路３Ｒが各々のＬＥＤ駆動回路に供給するための信号を生成する。
【００４６】
赤外ＬＥＤ３１の駆動、及びラインＣＣＤ４１のシャッター開放が終了した後に、ラインＣＣＤ４１の信号がセンサユニット２から読み出され、後述する方法で角度情報を算出する。そして、スレーブ側の演算制御回路３Ｒの演算結果はマスター側の演算制御回路３Ｌに送信される。
【００４７】
以上のように動作させることで、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２と対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２とは、異なるタイミングで動作するようになる。このように構成することで、対向する辺に設けられたセンサユニットの赤外光を検出することなく、センサユニット自身が発光した再帰反射光のみを検出できる。
【００４８】
図４を用いて、センサバー１のセンサユニット２から出力される、受光状態を表す信号について説明する。先ず、センサユニット２の投光部３０の発光が無い状態である場合の受光部４０の出力は図４（Ａ）となり、発光が有る場合の受光部４０の出力は図４（Ｂ）となる。図４（Ｂ）において、レベルＡが検出した光量の最大レベルであり、レベルＢが光を全く検出（受光）できてないレベルと言える。
【００４９】
センサユニット２が発光した赤外線は、対向する辺に設けられた再帰反射部４で再帰反射され、自身のセンサユニット２で検出される。ラインＣＣＤ４１の有効画素領域を規定する画素番号Ｎｊから画素番号Ｎｆまでの光量は、表示画面の大きさやそのアスペクト比、それに対応したセンサバー１の配置状態（特に、２つのセンサバー１間の距離）によって変化する。
【００５０】
実施形態１の座標入力装置は、最適な光量レベルが得られるように、ＳＨ信号を制御することによって、ラインＣＣＤ４１のシャッター開放時間、及び赤外ＬＥＤ３１の露光時間を調整する。センサユニット２から得られる光量が多ければ時間を短くし、逆に少なければ時間を長く設定することができる。さらには、検出光量レベルに応じて、赤外ＬＥＤ３１に流す電流を調整しても良い。このように出力信号を監視することで、最適な光量が得られるように構成されている。このような調整を、レベル変動が有った場合に適宜行う仕様としても良い。もしくは、センサバー１が設置され、その状態が保持されている間は、安定した一定の信号が得られるはずであるので、このような光量の調整は、設置が完了した電源投入時に行えばよい。
【００５１】
再び、図４に戻り、座標入力有効領域５の入力面を指示（タッチ）することで光路を遮ると、図４（Ｃ）のように、例えば、画素番号Ｎｃで光量が検出できなくなる。実施形態１では、この図４（Ａ）〜図４（Ｃ）の信号を用いて、指示した方向、言い換えると、角度を算出する。
【００５２】
まず、システムの起動時、システムのリセット時、あるいは自動的に、基準データを取得する。以降、一つのセンサユニット２のデータ処理について説明するが、他のセンサユニットでも同様の処理を行っている。
【００５３】
電源投入時、操作者によるタッチ操作（指示操作）が行われてない状態で、投光部３０の照明無しの状態でラインＣＣＤ４１の出力をＡ／Ｄコンバータ６３によりＡ／Ｄ変換して、この値をＢａｓｅ＿Ｄａｔａ［Ｎ］としてメモリ６４に記憶する。これは、ラインＣＣＤ４１のバイアスのばらつき等を含んだデータとなり、図４（Ａ）のレベルＢ付近のデータとなる。ここで、［Ｎ］はラインＣＣＤ４１のＣＣＤ画素番号であり、有効な入力範囲に対応する画素番号が用いられる。
【００５４】
同様に、操作者によるタッチ操作が行われてない状態で、投光部３０から投光した状態での光量分布を取得して記憶する。これは、図４（Ｂ）の実線で表されたデータであり、Ｒｅｆ＿Ｄａｔａ［Ｎ］としてメモリ６４に記憶する。これにより、初期データとして２種類のデータの記憶を管理する。
【００５５】
その後、サンプリングを開始することになるが、タッチ操作が行われてなければ、図４（Ｂ）に示すデータは、タッチ操作が行われると、その指示位置に応じて遮光部分Ｃが検出された図４（Ｃ）に示すデータが検出される。この投光部３０の照明有りの状態で得られるサンプルデータをＮｏｒｍ＿Ｄａｔａ［Ｎ］と定義する。
【００５６】
これらのデータ（メモリ６４に記憶されているＢａｓｅ＿Ｄａｔａ［Ｎ］とＲｅｆ＿Ｄａｔａ［Ｎ］）を用いて、まずは、指示具の入力の有無、遮光部分の有無の判定を行う。まず、遮光部分を特定するために、データの変化の絶対量を各々の画素において算出し、予め設定してある閾値Ｖｔｈａと比較する。
【００５７】
Norm_Data0[N] = Norm_Data[N] - Ref_Data[N]                  （１）
ここで、Norm_Data0[N]は、各画素における絶対変化量であり、閾値比較により、ノイズ等による誤判定を防止し、所定量の確実な変化を検出する。そして、閾値を超えるデータが、例えば、所定数以上の連続した画素で発生した場合に、タッチ操作が有ると判定する。この処理は、差を取り比較するだけなので、短時間での演算が可能であり、入力の有無判定を高速に行うことができる。
【００５８】
次に、より高精度に検出するために、画素データの変化の比を計算して入力点の決定を（２）式を用いて行う。
【００５９】
Norm_DataR[N] = Norm_Data0[N] / (Base_Data[N] - Ref_Data[N])      （２）
この画素データ（光量分布）に対して、別途設定される閾値Ｖｔｈｒを適用する。そして、その閾値Ｖｔｈｒを横切る点に対応する、光量分布中の遮光部分に対応する光量変動領域の立ち上がり部と立ち下がり部の画素番号から、両者の中央を指示具による入力に対応する画素とすることで、角度を算出する。
【００６０】
図４（Ｄ）は変化の比の計算を終了後の検出結果の例である。今、閾値Ｖｔｈｒで検出すると、遮光部分の立ち上がり部分は、Ｎｓ番目の画素でレベルＬｓとなり閾値Ｖｔｈｒを超えたとする。さらに、Ｎｔ番目の画素でレベルＬｔとなり閾値Ｖｔｈｒを下まわったとする。
【００６１】
この時、出力すべきラインＣＣＤ４１の画素番号Ｎｐを、立ち上がり部と立ち下がり部の画素番号の中央値として式（３）のように計算しても良いが、そうすると、ラインＣＣＤ４１の画素間隔が出力画素番号の分解能になる。
【００６２】
Np = Ns + (Nt - Ns) / 2                                            （３）
そこで、より高分解能に検出するために、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用い、閾値Ｖｔｈｒを横切る仮想の画素番号を計算する。
【００６３】
画素ＮｓのレベルをＬｓ、画素Ｎｓ−１番のレベルをＬｓ−１、そして、画素ＮｔのレベルをＬｔ、画素Ｎｔ−１のレベルをＬｔ−１とすると、それぞれの仮想画素番号Ｎｓｖ、Ｎｔｖは、
Nsv = Ns-1 + ( Vthr - Ls-1 ) / ( Ls -LS-1 )                        （４）
Ntv = Nt-1 + ( Vthr - Lt-1 ) / ( Lt -Lt-1 )                        （５）
と計算できる。この計算式によれば、出力レベルに応じた仮想画素番号、つまり、ラインＣＣＤ４１の画素番号よりも細かい画素番号を取得できる。そして、これらの仮想画素番号Ｎｓｖ、Ｎｔｖの仮想中心画素Ｎｐｖは、式（６）で決定される。
【００６４】
Npv = Nsv + ( Ntv - Nsv ) / 2                                      （６）
このように、閾値Ｖｔｈｒを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、所定レベルの閾値Ｖｔｈｒを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
【００６５】
このように得られた中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。
【００６６】
後述する実際の座標計算では、角度そのものよりもその角度における正接（ｔａｎｇｅｎｔ）の値を計算するほうが都合がよい。尚、画素番号から、ｔａｎθへの変換には、テーブル参照や変換式を用いる。変換式は、例えば、高次の多項式を用いると精度を確保できるが、次数等は計算能力及び精度スペック等を鑑みて決定すればよい。
【００６７】
ここで、５次多項式を用いる場合の例を示す。まず、装置の組み立て時等に、センサユニットの画素番号と角度との関係を測定する。その測定結果から、５次多項式近似により画素番号をｔａｎθへ変換するための係数データを算出する。そして、係数データを装置内の不揮発性メモリ等のメモリ６４に記憶する。５次多項式を用いる場合には係数が６個必要になるので、出荷時等にこの係数データを不揮発性メモリ等のメモリに記憶しておけばよい。今、５次多項式の係数をＬ５、Ｌ４、Ｌ３、Ｌ２、Ｌ１、Ｌ０としたとき、ｔａｎθは
tanθ=((((L5*Npr+L4)*Npr+L3)*Npr+L2)*Npr+L1)*Npr+L0                （７）
であらわすことができる。同様なことを、各々のセンサユニットに対して行えば、それぞれの角度データを決定できる。もちろん、上記例では、ｔａｎθを計算しているが、角度データ（θ）そのものを計算し、その後、ｔａｎθを計算しても構わない。
【００６８】
図５は、画面座標との位置関係を示す図である。センサバー１Ｌのセンサユニット２−Ｌ１の視野範囲は方向ｊから方向ｆの範囲であり、角度の正負を図示のように設定する。そして、センサユニット２−Ｌ１の光軸はＸ軸方向であり、その方向を角度０°と定義する。同様に、センサユニット２−Ｌ２の視野範囲は方向ｆから方向ｊの範囲であり、角度の正負を図示のように設定し、及び、センサユニット２−Ｌ２の光軸の方向を角度０°と定義する。そして、センサユニット２−Ｌ１の光軸中心とセンサユニット２−Ｌ２の光軸中心を結ぶ線分をＹ軸と定義すれば、各センサユニットの光軸はその線分の法線方向となる。また、センサユニット２−Ｌ１の光軸中心とセンサユニット２−Ｌ２の光軸中心との距離をｄｈと定義する。
【００６９】
今、点Ｐの位置でタッチ操作が行われた場合を想定する。
【００７０】
センサユニット２−Ｌ１で算出される角度はθＬ１であり、センサユニット２−Ｌ２で算出される角度はθＬ２である。この２つの角度情報と距離ｄｈを用いて、幾何学的に指示位置Ｐの座標を算出することが可能となる。
【００７１】
ｘ＝dh・tan(π/2-θL2)・tan(π/2-θL1)/(tan(π/2-θL2)+tan(π/2-θL1))  （８）
ｙ＝dh・tan(π/2-θL2)/(tan(π/2-θL2)+tan(π/2-θL1))                （９）
また、一方のセンサユニットの出力がθL１＝０、もしくはθL２＝０の場合であっても、他方のセンサユニットが出力する角度情報に基づき、幾何学的に容易に指示位置を算出することが可能である。
【００７２】
以上の説明にあっては、２つのセンサユニット間の距離ｄｈが既知であるとしている。ここでは、説明を簡略化するために、距離ｄｈは既知するが、未知であっても位置検出可能な構成については、後述する。
【００７３】
ここで、センサユニット２−Ｌ１及びセンサユニット２−Ｌ２の視野範囲から、指示位置Ｐが図５（Ｂ）のハッチング部の範囲に有る場合のみ、その指示位置を算出することが可能である。指示位置がその範囲に無い場合には、図５（Ｃ）、（Ｄ）、（Ｅ）に示す様に、演算に用いるセンサユニットの組み合わせを変更することで、座標入力有効領域５全域の指示位置を検出できるようになる。従って、各センサユニット２が検出した遮光方向の有無、及び遮光方向に基づき、座標算出に必要なセンサユニットを選択して、指示位置を算出する。そして、選択したセンサユニット２の組み合わせに応じて、式（８）、式（９）のパラメータを変更して、座標変換を行えばよい。
【００７４】
尚、図５（Ｆ）に示すように、センサユニット選択の境界領域近傍に指示位置Ｐが存在すると、この場合は、図５（Ｂ）もしくは図５（Ｃ）の状態のセンサユニットの組み合わせで、その指示位置を算出できる。具体的な構成として、例えば、センサユニット２−Ｌ２の視野範囲と、センサユニット２−Ｒ１の視野範囲は、座標入力有効領域５の対角線方向で重複するように構成される。そして、重複した領域でタッチした場合には、複数通りのセンサユニットの組み合わせで座標算出が可能となる。その場合にあっては、両者の組み合わせで算出した座標値の平均値を確定座標として出力しても良い。
【００７５】
さて、このように算出された座標値は、実施形態１の座標入力装置が持つ第１の座標系（以後、座標入力装置の相対座標系と称す）の値であって、位置算出が可能な有効領域は図１における座標入力有効領域５である。そして、この座標入力有効領域５の範囲内にディスプレイの表示面を設けることになる。ディスプレイが仮にフロントプロジェクターとすると、図６に示すように、投影画像である表示領域８が座標入力有効領域５内に設定されることになる。図６では、ｄ１を原点としてｄｘ軸、ｄｙ軸からなる表示座標系である第２の座標系（以後、表示座標系と称す）からなる。表示されている画像を直接タッチすることで、アイコン等のタップ操作を行うためには、相対座標系と表示座標系の相関をとる必要が有る。
【００７６】
通常、この種の相関を得るために、表示制御を行っているパーソナルコンピュータ（ＰＣ）には、専用のアプリケーションソフトがインストールされる。アプリケーションを起動すると、表示画面には十字クロス等が表示され、ユーザにそのクロス位置をタッチするように促す。その動作を異なる位置で所定回数繰り返すことで得られる相対座標系の座標値と、十字クロスが表示されている位置の表示座標系の座標値とが一致するように、座標系の変換が行われる。
【００７７】
実施形態１の座標入力装置にあっては、アプリケーションソフトを使って十字クロスの位置を表示させてタッチさせるのではなく、表示画面の四隅をタッチすることで、この座標変換を行っている。このように構成することで、その場にあるＰＣに接続することで、特別なソフトをインストールすることなく直ぐに使えると言う優れた効果が得られる。
【００７８】
この座標系を一致させるモードへの遷移は、例えば、センサバー１に設けられたモード遷移スイッチ（不図示）で行われる。モード遷移スイッチによりモードが遷移すると、センサバー１に内蔵されるスピーカ等の出力部により、４隅部を順次タッチ（指示）するようにガイダンスする。また、隅部のタッチが完了する毎に、入力が完了したことを示すブザー音を報知しても良い。または、センサバー１に内蔵されるインジケータで、その操作を促しても良い。
【００７９】
相対座標系での座標算出では、式（８）及び式（９）で演算に用いるセンサユニット２間の距離ｄｈが既知である。しかしながら、表示装置と組み合わせて使用する図６のような使用態様の場合、この距離ｄｈは既知である必要は無い。つまり、ディスプレイの大きさを示す４隅部の情報が、タッチ操作することにより順次相対座標系における各センサユニットでの角度情報として取得される。その結果、比による計算で、表示座標系の指示位置の座標を算出することが可能となる。
【００８０】
以上の説明では、２つのセンサバー１Ｌ及び１Ｒは平行で、同一の長さとしている。実施形態１では、さらに、利便性向上のために、第２の座標検出モードを有する。
【００８１】
図７（Ａ）は第２の検出モードを説明するためのマスター側のセンサバー１ＬのＣＰＵ６１が出力する制御信号、及びセンサユニット２の動作を示すタイミングチャートである。
【００８２】
９１、９２、９３がラインＣＣＤ４１制御用の制御信号であり、ＳＨ信号９１の間隔でラインＣＣＤ４１のシャッター開放時間が決定される。ＩＣＧＬ信号９２はセンサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２へのゲート信号であり、ラインＣＣＤ４１内部の光電変換部の電荷を読出部へ転送する信号である。
【００８３】
ＣＣＤＬ信号９４は、センサユニット２−Ｌ１及び２−Ｌ２のラインＣＣＤ４１のシャッター開放時間を示す信号である。ＩＣＧＲ信号９３は、対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２へのゲート信号であり、シリアル通信部６７を介してセンサバー１Ｒの演算制御回路３Ｒに送信される。そして、演算制御回路３ＲがラインＣＣＤ４１内部の光電変換部の電荷を読出部へ転送する信号を生成することになる。ＣＣＤＲ信号９５は、センサユニット２−Ｒ１及び２−Ｒ２のラインＣＣＤ４１のシャッター開放時間を示す信号である。
【００８４】
ＬＥＤＬ信号９６及びＬＥＤＲ信号９７は、各センサユニット２の赤外ＬＥＤ３１の駆動信号である。ＳＨ信号９１の最初の周期でセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２の赤外ＬＥＤ３１を点灯するために、ＬＥＤＲ信号９７がシリアル通信部６７を介してセンサバー１Ｒの演算制御回路３Ｒに送信される。そして、演算制御回路３Ｒが各々のＬＥＤ駆動回路に供給するための信号を生成する。
【００８５】
そして、ＳＨ信号９１の次の周期で、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２の赤外ＬＥＤ３１を点灯するために、ＬＥＤＬ信号９６が各々のＬＥＤ駆動回路を経て赤外ＬＥＤ３１に供給する。
【００８６】
赤外ＬＥＤ３１の駆動、及びラインＣＣＤ４１のシャッター開放が終了した後に、ラインＣＣＤ４１の信号がセンサユニット２から読み出され、後述する方法で角度情報を算出する。そして、スレーブ側の演算制御回路３Ｒの演算結果はマスター側の演算制御回路３Ｌに送信される。
【００８７】
以上のように動作させることで、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２は、対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２が発光した赤外ＬＥＤ３１の赤外光を直接検出する。同様に、センサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２は、対向するセンサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２が発光した赤外ＬＥＤ３１の赤外光を直接検出する。
【００８８】
尚、図３では、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２と対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２とを異なるタイミングで動作する座標検出モードであり、これが第１の検出モードとなる。
【００８９】
図７（Ｂ）は、第２の検出モードで動作する場合に、センサユニット２で得られる検出信号波形を示している。対向する辺に設けられた２つのセンサユニット２の投光部３０からの発光をそれぞれ受光するので、ピーク信号が２つ生成される。そして、先に述べた角度算出の方法と同様な方法で、その方向を各々算出する。尚、図中の破線は、図４（Ｂ）で示す受光部４０の出力（光量分布）を示すものであり、方向Ｎｊ、方向Ｎｆの間にピーク信号が生成されることを示している。
【００９０】
上述のように、ユーザが２つのセンサバー１を目分量で装着した場合であっても、高精度な位置検出を実現することが実施形態１の目的の一つである。そのために、各センサユニット２が、対向するセンサバー１に収納されているセンサユニット２の投光部３０の光を検出することで、対向するセンサユニット２がどの方向に位置するかを検出する。
【００９１】
図８（Ａ）を用いて、その様子を説明する。
【００９２】
図８（Ａ）において、センサユニット２−Ｌ１の光軸中心とセンサユニット２−Ｌ２の光軸中心を結ぶ線分をＹ軸、その法線方向をＸ軸とすれば、センサユニット２−Ｌ１及び２−Ｌ２の光軸はＸ軸と平行である。そして、対向するセンサユニット２−Ｒ１は、センサユニット２−Ｌ１から見ると角度θ１の方向であり、センサユニット２−Ｌ２から見ると角度θ３の方向である。同様に、θ１からθ８までの角度を算出することが可能であり、その結果、センサバー１Ｌのセンサユニット２−Ｌ１の光軸と、センサバー１Ｒのセンサユニット２−Ｒ１の光軸の成す角度θ９が算出される。
【００９３】
言い換えると、センサバー１Ｌとセンサバー１Ｒの相対的な傾きを検出することができる。更には、センサバー１の長手方向の長さが変化した場合であっても、各センサユニット２間の距離を知ることはできないが、４つのセンサユニットの相対的な位置関係を取得することが可能である。そして、先に述べたディスプレイの大きさを示す４隅部の情報を、タッチ操作することで取得すれば、相対的な座標演算だけでも、表示座標系での座標を高精度で算出することが可能となる。
【００９４】
図９は電源投入時からの初期設定処理を示すフローチャートである。
【００９５】
まず、投影画像である表示領域８の全領域を含む矩形状の座標入力有効領域５を形成するために、操作者によってセンサバー１がホワイトボード６に装着される。センサバー１には、例えば、マグネットが内蔵されていて、ホワイトボード６に貼りつけることができるようになっている。電源投入が行われると、ＣＰＵ６１は、初期設定処理を開始する（ステップＳ１０１）。
【００９６】
次に、ＣＰＵ６１は、入出力ポート設定、タイマ設定等の座標入力装置に係る各種初期化を行うとともに、光電変換素子に残っている余分な電荷を除去する等のラインＣＣＤ４１の初期化を行う（ステップＳ１０２）。
【００９７】
次に、ラインＣＣＤ４１が検出する光量の最適化を行う。上述のように、ホワイトボード６や表示領域８のサイズは使用環境により様々であり、センサバー１間の距離は適宜ユーザによって設定される。従って、装着の状態によって、検出される光の強度は異な。そのため、ラインＣＣＤ４１のシャッター開放時間や赤外ＬＥＤ３１の点灯時間、もしくは赤外ＬＥＤ３１の駆動電流等を、予め決められた初期値に設定する動作設定を行う（ステップＳ１０３）。動作設定とは、対向するセンサユニット２から直接光を受ける動作の状態（図７における第２の検出モード）であって、４つのセンサユニット２の相対的な位置関係を導出することを目的とする。
【００９８】
次に、ラインＣＣＤ４１の出力信号を取り込む（ステップＳ１０４）。そして、センサユニットの配置をチェックすることで、光を検出できたか否かを判定する（ステップＳ１０５）。ここで、光が検出できない場合（ステップＳ１０５でＮＯ）、センサユニット２の受光部４０の視野範囲に、対向する位置にあるセンサユニット２が位置していない可能性がある。この場合、ユーザによるセンサバー１の配置／設置が不適な状態にあり、その旨を報知して、センサバーの再設置を促す（ステップＳ１０６）。そして、ユーザによる再設置が完了すると、再び、ステップＳ１０１を開始することになる。尚、ステップＳ１０５及びステップＳ１０６で検出される信号は、図７（Ｂ）に示すような信号となり、実施形態１の場合は、２つの信号が出力されている状態が正常状態と言える。
【００９９】
次に、光が検出できる場合（ステップＳ１０５でＹＥＳ）、検出信号の波形のチェックを行う（ステップＳ１０７）。対向する位置にあるセンサユニット２の光が強すぎる場合、例えば、検出信号の波形（波形レベル）の少なくとも一部が所定の閾値を超える場合（ステップＳ１０７でＮＯ）、ステップＳ１０３に戻り、例えば、露光時間をより短くする等の再設定を行う。そして、今度、ステップＳ１０７でチェックされる検出信号波形は、より光強度が弱い状態となっているはずである。そして、その信号レベルが適正である場合（ステップＳ１０７でＹＥＳ）、例えば、検出信号波形の少なくとも一部が所定の閾値以下である場合、ステップＳ１０８に進む。
【０１００】
以上の動作を、各センサユニット（実施形態１の場合、４つ）で実行し、すべての信号が最適化されると、センサユニット２の相対的な位置関係を算出する位置関係算出処理実行する（ステップＳ１０８）。
【０１０１】
ステップＳ１０８における、各センサユニットの位置算出方法の一例を以下に説明する。まず、前述したように、各センサユニットで得られた検出信号の波形に基づいて、図８（Ａ）に示すθ１からθ７を算出する。尚、実施形態１における処理においては、θ８は使用しないので、θ８の算出は行わない。
【０１０２】
次に、図８（Ｂ）に示すように、センサユニット２−Ｌ１を原点として、原点からセンサユニット２−Ｒ１を結ぶ方向をＸ軸、Ｘ軸の垂直方向をＹ軸とする。そして、センサユニット２−Ｒ１の座標（Ｘ，Ｙ）を、（１，０）という値に設定することで、相対的な座標系を定める。
【０１０３】
次に、θ１からθ６の値から、図８（Ｂ）に示す、θ１０からθ１２を算出する。
【０１０４】
θ１０＝θ２−θ１              （１０）
θ１１＝θ３＋θ４              （１１）
θ１２＝θ６−θ５              （１２）
ここで、実施形態１における処理においては、θ１３は使用しないので算出しない。また、ここで、それぞれの角度を算出するための他の方法の例を説明する。
【０１０５】
図８（Ｂ）より、次の式が成立する。
【０１０６】
θ１０＋θ１２＝θ１１＋θ１３              （１３）
式（１３）より、θ１０からθ１３（第２の角度情報、第３の角度情報、第４の角度情報及び第５の角度情報）の内、いずれか３個が分かれば、残る１個の角度を算出することができる。従って、θ１０からθ１３のうち任意の３個を算出して、式（１３）によって残り１個の角度を算出するようにしても良い。例えば、θ１０、θ１２、θ１３を算出し、式（１３）によりθ１１を算出するという方法がある。
【０１０７】
次に、図８（Ａ）において説明したように、センサユニット２−Ｌ１の光軸と、センサユニット２−Ｌ１の光軸中心とセンサユニット２−Ｌ２の光軸中心を結ぶ線分のなす角度はπ／２［ｒａｄ］となるように設計されている。この値は、基準角度情報としてメモリ６４（基準角度情報記憶部）上に記憶されている。基準角度情報の記憶は、例えば、工場における装置の組み立て時などに、基準角度を測定してメモリ６４上に記憶させる作業によって実行される。この基準角度情報を用いて、θ１４（第１の角度情報）は次のように計算される。
【０１０８】
θ１４＝π／２−θ２              （１４）
θ１０からθ１４を用いて、センサユニット２−Ｌ２及びセンサユニット２−Ｒ２の座標を算出する。ここで、センサユニット２−Ｌ２の座標を（ＸＬ２，ＹＬ２）、またセンサユニット２−Ｒ２の座標を（ＸＲ２，ＹＲ２）とすると、図８（Ｂ）より以下の式が成立する。
【０１０９】
ＹＬ２＝ＸＬ２×ｔａｎ（θ１０＋θ１４)              （１５）
ＹＬ２＝（１−ＸＬ２）×ｔａｎθ１２                  （１６）
ＹＲ２＝ＸＲ２×ｔａｎθ１０                          （１７）
ＹＲ２−ＹＬ２＝（ＸＲ２−ＸＬ２）×ｔａｎ（θ１１−θ１２）  （１８）
式（１５）及び式（１６）より、
ＸＬ２＝ｔａｎθ１２／（ｔａｎ（θ１０＋θ１４)＋ｔａｎθ１２）    （１９）
また、式（１７）及び式（１８）より、
ＸＲ２＝（ＹＬ２−ＸＬ２×ｔａｎ（θ１１−θ１２））／（ｔａｎθ１０−ｔａｎ（θ１１−θ１２））              （２０）
まず、式（１９）により、ＸＬ２を算出する。そして、算出されたＸＬ２と式（１５）により、ＹＬ２を算出する。
【０１１０】
次に、算出されたＸＬ２、ＹＬ２、及び式（２０）により、ＸＲ２を算出する。そして、算出されたＸＲ２と式（１７）により、ＹＲ２を算出する。
【０１１１】
以上の手順によって、センサユニット２−Ｌ２の座標（ＸＬ２，ＹＬ２）及びセンサユニット２−Ｒ２の座標（ＸＲ２，ＹＲ２）が算出される。尚、ここで説明した各センサユニットの座標値処理方法は一つの例であって、もちろん他の式や手順による算出を行っても良い。
【０１１２】
ここで、装置が持つ誤差の要因について説明する。まず、ラインＣＣＤ４１が検出する光は、画素単位に量子化されるため、量子化誤差が発生する。次に、ラインＣＣＤ４１が検出した画素番号を角度へ変換するときに、テーブル参照あるいは多項式近似による変換を行うが、このとき誤差が発生する。また、前述の基準角度情報は、例えば、工場での装置の組み立て時などに測定が行われるが、このときに測定誤差が発生する。さらに、経年変化などで位置がずれるなどすると、さらに誤差が発生することも考えられる。
【０１１３】
これらのいくつかの誤差要因のため、タッチ入力された位置に対して算出された座標値との間には誤差が発生し、両者は一致しない。さらに、図５で説明したように、座標計算はセンサユニットの組み合わせによって４つの領域に分けて行われるが、領域毎に誤差の出かたが異なる。その結果、領域の境界において、座標値が一致しないという問題が起きる。例えば、線を描画しているときに領域の境界で線が不連続になるなどする。
【０１１４】
そこで、ステップＳ１０９からステップＳ１１０において、領域の境界における座標値の不一致を改善するため、各領域で算出する座標値を補正するための補正値を算出する処理を行う。その処理について説明する。
【０１１５】
図８（Ｂ）に示したように、投光部からの光を相互に検出したセンサユニット同士を結ぶ線分の交点をＱとすると、全てのセンサユニットから、点Ｑが位置する角度が検出されていることが分かる。つまり、投光部からの光を相互に検出することで、あたかも点Ｑで発光があったかのように検出できる。従って、複数のセンサユニットの組み合わせで、４つの領域で点Ｑの座標値をそれぞれ算出することができ、遮光部分の座標ともいえる点Ｑは４つの領域に対して共通の座標計測点であるということができる。この座標計測点算出処理（ステップＳ１０９）について説明する。
【０１１６】
図８（Ｂ）より、センサユニット２−Ｌ１で検出した角度と点Ｑの座標（ｘｑ，ｙｑ）について、次の関係式が成立する。
【０１１７】
ｙｑ＝ｘｑ×ｔａｎθ１０                      （２１）
同様に、センサユニット２−Ｒ１で検出した角度と点Ｑの座標（ｘｑ，ｙｑ）については、次の関係式が成立する。
【０１１８】
ｙｑ＝（１−ｘｑ）×ｔａｎθ１２              （２２）
同様に、センサユニット２−Ｌ２で検出した角度と点Ｑの座標（ｘｑ，ｙｑ）については、次の関係式が成立する。
【０１１９】
ＹＬ２−ｙｑ＝（ｘｑ−ＸＬ２）×ｔａｎ（θ１１＋θ１９）    （２３）
同様に、センサユニット２−Ｒ２で検出した角度と点Ｑの座標（ｘｑ，ｙｑ）については、次の関係式が成立する。
【０１２０】
ＹＲ２−ｙｑ＝（ＸＲ２−ｘｑ）×ｔａｎ（θ１３＋θ２０）    （２４）
ここで、θ１９およびθ２０は、センサユニット２−Ｌ２とセンサユニット２−Ｒ２を結ぶ線と、ｘ軸と平行な線とのなす角度であり、図８（Ｂ）より、例えば、以下のように算出できる。
【０１２１】
θ１９＝θ１２−θ１１      （２５）
θ２０＝−θ１９            （２６）
図５における４つの各領域において、式（２１）から式（２４）の中から対応するセンサユニットの関係式を使って、それぞれ点Ｑの座標値を算出する。
【０１２２】
まず、図５（Ｂ）の領域においては、センサユニット２−Ｌ１で成立する式（２１）及びセンサユニット２−Ｌ２で成立する式（２３）より、
ｘｑ＝（ＹＬ２＋ＸＬ２×ｔａｎ（θ１１＋θ１９））／（ｔａｎθ１０＋ｔａｎ（θ１１＋θ１９））              （２７）
式（２７）により、ｘｑを算出する。そして、算出されたｘｑと式（２１）によりｙｑを算出する。
【０１２３】
次に、図５（Ｃ）の領域においては、センサユニット２−Ｌ１で成立する式（２１）及びセンサユニット２−Ｒ１で成立する式（２２）より、
ｘｑ＝ｔａｎθ１２／（ｔａｎθ１０＋ｔａｎθ１２）      （２８）
式（２８）により、ｘｑを算出する。そして、算出されたｘｑと式（２１）によりｙｑを算出する。
【０１２４】
図５（Ｄ）の領域においても、同様に、センサユニット２−Ｒ１で成立する式（２２）及びセンサユニット２−Ｒ２で成立する式（２４）より、
ｘｑ＝（ｔａｎθ１２＋ＸＲ２×ｔａｎ（θ１３＋θ２０）―ＹＲ２）／（ｔａｎθ１２＋ｔａｎ（θ１３＋θ２０））            （２９）
式（２９）により、ｘｑを算出する。そして、算出されたｘｑと式（２２）によりｙｑを算出する。
【０１２５】
図５（Ｅ）の領域においても、同様に、センサユニット２−Ｌ２で成立する式（２３）及びセンサユニット２−Ｒ２で成立する式（２４）より、
ｘｑ＝（ＸＬ２×ｔａｎ（θ１１＋θ１９）＋ＸＲ２×ｔａｎ（θ１３＋θ２０）＋ＹＬ２−ＹＲ２）／（ｔａｎ（θ１１＋θ１９）＋ｔａｎ（θ１３＋θ２０））          （３０）
式（３０）によりｘｑを算出する。そして、算出されたｘｑと式（２３）によりｙｑを算出する。
【０１２６】
以上のように、センサユニットの４通りの組み合わせで、点Ｑの座標（ｘｑ，ｙｑ）が複数算出される。図５（Ｂ）、（Ｃ）、（Ｄ）、（Ｅ）の各領域において算出された点Ｑの座標をそれぞれ、（ｘｑｂ，ｙｑｂ）、（ｘｑｃ，ｙｑｃ）、（ｘｑｄ，ｙｑｄ）、（ｘｑｅ，ｙｑｅ）とする。前述したように、装置が持ついくつかの誤差要因のために、これら４つの座標値は一致しない。
【０１２７】
そこで、これら４つの座標値を一致させるためのオフセット補正値を算出する（ステップＳ１１０）。まず、４つの座標値の平均値を算出する。ｘ座標及びｙ座標の平均値をそれぞれｘａｖｅ、ｙａｖｅとすると、
ｘａｖｅ＝（ｘｑｂ＋ｘｑｃ＋ｘｑｄ＋ｘｑｅ）／４      （３１）
ｙａｖｅ＝（ｙｑｂ＋ｙｑｃ＋ｙｑｄ＋ｙｑｅ）／４      （３２）
次に、各領域におけるオフセット補正値を算出する。図５（Ｂ）、（Ｃ）、（Ｄ）、（Ｅ）の各領域におけるｘ方向のオフセット補正値をそれぞれ、ｏｆｘｂ、ｏｆｘｃ、ｏｆｘｄ、ｏｆｘｅとする。同様に、ｙ方向のオフセット補正値をそれぞれ、ｏｆｙｂ、ｏｆｙｃ、ｏｆｙｄ、ｏｆｙｅとすると、次のように補正値算出がされる。
【０１２８】
ｏｆｘｂ＝ｘａｖｅ−ｘｑｂ      （３３）
ｏｆｘｃ＝ｘａｖｅ−ｘｑｃ      （３４）
ｏｆｘｄ＝ｘａｖｅ−ｘｑｄ      （３５）
ｏｆｘｅ＝ｘａｖｅ−ｘｑｅ      （３６）
ｏｆｙｂ＝ｙａｖｅ−ｙｑｂ      （３７）
ｏｆｙｃ＝ｙａｖｅ−ｙｑｃ      （３８）
ｏｆｙｄ＝ｙａｖｅ−ｙｑｄ      （３９）
ｏｆｙｅ＝ｙａｖｅ−ｙｑｅ      （４０）
【０１２９】
尚、複数の座標値を完全に一致させなくても、当該複数の座標値の差を小さくするような補正値算出方法であればこれに限定されない。
【０１３０】
ステップＳ１１１以降では、センサユニット２が投光した赤外光が、対向するセンサバー１に設けられた再帰反射部４で再帰反射され、その光を自身の受光部４０で検出した時の信号レベルを最適化する。上述したとおり、センサバー１の配置は一意では無く、その配置に応じた検出レベルを最適化することで、安定した信号を得ることを目的とする。設定する項目は、ラインＣＣＤ４１のシャッター開放時間や赤外ＬＥＤ３１の点灯時間、もしくは赤外ＬＥＤ３１の駆動電流の設定を含む第１の検出モードで動作設定を行う（ステップＳ１１１）。ステップＳ１１１で、仮に最初の動作設定を光量が最大に得られるように設定すると、その時のラインＣＣＤ４１の出力信号を取り込む（ステップＳ１１２）。
【０１３１】
取り込まれた出力信号は、照明時のデータであり、図４（Ｂ）の様な波形となる。光が強すぎると、ラインＣＣＤ４１のダイナミックレンジの範囲を超え、出力が飽和することになるので、正確な角度を算出することが困難となる。その場合は、ステップＳ１１３で、検出信号の波形が不適と判定され（ステップＳ１１３でＮＯ）、ステップＳ１１１に戻り、検出信号の波形（波形レベル）がより小さくなるように、再設定が行われる。再帰反射光を検出するので、ステップＳ１０３〜ステップＳ１０７での処理（つまり、第２の検出モード）でセンサユニット２の投光を直接受光部４０で検出する場合と比べて、格段に投光する光量が大きくなるように設定することになる。
【０１３２】
そして、ステップＳ１１３で、波形レベルが最適と判断される場合（ステップＳ１１１でＹＥＳ）、照明無しの状態の信号Ｂａｓｅ＿Ｄａｔａ［Ｎ］（図４（Ａ）参照）を取得してメモリ６４に記憶する（ステップＳ１１４）。次に、照明有りの状態の信号Ｒｅｆ＿Ｄａｔａ［Ｎ］（図４（Ｂ）参照）を取得してメモリ６４に記憶する（ステップＳ１１５）。
【０１３３】
このようにして、全てのセンサユニットでのデータが取得されると、一連の初期設定処理が完了する。
【０１３４】
図１０（Ａ）は初期設定処理後の通常のサンプリング動作を示すフローチャートである。
【０１３５】
図９の初期設定処理を実行する（ステップＳ１０１）。その後、通常の取込動作（第１の検出モード）として、センサユニット２が投光した赤外光が、対向するセンサバー１に設けられた再帰反射部４で再帰反射され、その光を自身の受光部４０で検出した時の信号を検出する（ステップＳ２０１）。その時のデータは、Ｎｏｒｍ＿ｄａｔａ［Ｎ］であり、仮にタッチ操作があって光路を遮ると、図４（Ｃ）のように、画素番号Ｎｃの辺りで光信号が検出できなくなる。
【０１３６】
いずれかのセンサユニット２で、このような光の遮光部分が生成されたか否か、つまり、入力の有無を判定する（ステップＳ２０２）。入力が無いと判定される場合（ステップＳ２０２でＮＯ）、再度、ステップＳ２０１に戻り、サンプリングを繰り返すことになる。一方、入力が有ると判定される場合（ステップＳ２０２でＹＥＳ）、出力信号に遮光部分が生成されているセンサユニットを選択する（ステップＳ２０３）。その選択したセンサユニットを用いて、遮光部分が生成されている方向（角度）を各々算出する（ステップＳ２０４）。
【０１３７】
ここで、指示による遮光部分（影）が発生したときの例を図１１に示す。
【０１３８】
図１１（Ａ）は、図５（Ｃ）の領域に遮光部分が発生した場合である。センサユニット２−Ｌ１が検出した遮光部分の角度をθ１５、センサユニット２−Ｒ１が検出した遮光部分の角度をθ１６とする。同様に、図１１（Ｂ）は、図５（Ｅ）の領域に遮光部分が発生した場合である。センサユニット２−Ｌ２が検出した遮光部分の角度をθ１７、センサユニット２−Ｒ２が検出した遮光部分の角度をθ１８とする。ここで、θ１７及びθ１８は、各センサユニットとＸ軸に平行な方向（点線で示した方向）を基準としたときの角度となっている。
【０１３９】
センサユニット２−Ｌ２とＸ軸に平行な方向は、各センサユニットの相対座標を算出するとき、センサユニット２−Ｌ２からセンサユニット２−Ｒ１を検出した方向からθ１２回転した方向（角度）として算出される。センサユニット２−Ｒ２においても同様で、Ｘ軸に平行な方向は、センサユニット２−Ｒ２からセンサユニット２−Ｌ１を検出した方向からθ１０回転した方向（角度）として算出される。
【０１４０】
算出した角度に基づいて、相対座標系での指示位置の座標を算出する（ステップＳ２０５）。具体的には、以下のようになる。
【０１４１】
図１１（Ａ）より、センサユニット２−Ｌ１で検出した角度と遮光部分の座標（ｘ，ｙ）について、次の関係式が成立する。
【０１４２】
ｙ＝ｘ×ｔａｎθ１５                      （４１）
同様に、センサユニット２−Ｒ１で検出した角度と遮光部分の座標については、次の関係式が成立する。
【０１４３】
ｙ＝（１−ｘ）×ｔａｎθ１６              （４２）
同様に、図１１（Ｂ）より、センサユニット２−Ｌ２で検出した角度と遮光部分の座標については、次の関係式が成立する。
【０１４４】
ＹＬ２−ｙ＝（ｘ−ＸＬ２）×ｔａｎθ１７        （４３）
同様に、センサユニット２−Ｒ２で検出した角度と遮光部分の座標については、次の関係式が成立する。
【０１４５】
ＹＲ２−ｙ＝（ＸＲ２−ｘ）×ｔａｎθ１８        （４４）
ここで、図５で説明したように、４つの領域でそれぞれ遮光部分が検出されるセンサユニットの組み合わせが異なる。
【０１４６】
まず、図５（Ｂ）の領域においては、センサユニット２−Ｌ１及びセンサユニット２−Ｌ２で遮光部分が検出される。センサユニット２−Ｌ１で成立する式（４１）及びセンサユニット２−Ｌ２で成立する式（４３）より、
ｘ＝（ＹＬ２＋ＸＬ２×ｔａｎθ１７）／（ｔａｎθ１５＋ｔａｎθ１７）              （４５）
式（４５）によりｘを算出する。そして、算出されたｘと式（４１）によりｙを算出する。
【０１４７】
次に、図５（Ｃ）の領域では、センサユニット２−Ｌ１及びセンサユニット２−Ｒ１で遮光部分が検出される。センサユニット２−Ｌ１で成立する式（４１）及びセンサユニット２−Ｒ１で成立する式（４２）より、
ｘ＝ｔａｎθ１６／（ｔａｎθ１５＋ｔａｎθ１６）      （４６）
式（４６）によりｘを算出し、算出されたｘと式（４１）によりｙを算出する。
【０１４８】
図５（Ｄ）の領域においても、同様に、センサユニット２−Ｒ１で成立する式（４２）及びセンサユニット２−Ｒ２で成立する式（４４）より、
ｘ＝（ｔａｎθ１６＋ＸＲ２×ｔａｎθ１８―ＹＲ２）／（ｔａｎθ１６＋ｔａｎθ１８）            （４７）
式（４７）によりｘを算出し、算出されたｘと式（４２）によりｙを算出する。
【０１４９】
図５（Ｅ）の領域においても、同様に、センサユニット２−Ｌ２で成立する式（４３）及びセンサユニット２−Ｒ２で成立する式（４４）より、
ｘ＝（ＸＬ２×ｔａｎθ１７＋ＸＲ２×ｔａｎθ１８＋ＹＬ２−ＹＲ２）／（ｔａｎθ１７＋ｔａｎθ１８）          （４８）
式（４８）によりｘを算出し、算出されたｘと式（４３）によりｙを算出する。
【０１５０】
以上の処理により、指示位置の相対座標値（ｘ，ｙ）が算出される。前述したように、装置が持つ誤差要因のため、領域の境界部において境界を挟む２つの領域でそれぞれ算出する座標値は一致せず、境界部で不連続となる。この不連続性を改善するため、座標値の補正を行う（ステップＳ２０６）。
【０１５１】
まず、図５（Ｂ）、（Ｃ）、（Ｄ）、（Ｅ）の各領域において算出された座標値をそれぞれ、（ｘｂ，ｙｂ）、（ｘｃ，ｙｃ）、（ｘｄ，ｙｄ）、（ｘｅ，ｙｅ）とする。補正後の座標値をそれぞれ、（ｘｂ’，ｙｂ’）、（ｘｃ’，ｙｃ’）、（ｘｄ’，ｙｄ’）、（ｘｅ’，ｙｅ’）として、次のようにオフセット補正を行う。
【０１５２】
ｘｂ’＝ｘｂ＋ｏｆｘｂ      （４９）
ｘｃ’＝ｘｃ＋ｏｆｘｃ      （５０）
ｘｄ’＝ｘｄ＋ｏｆｘｄ      （４９）
ｘｅ’＝ｘｅ＋ｏｆｘｅ      （５０）
ｙｂ’＝ｙｂ＋ｏｆｙｂ      （５１）
ｙｃ’＝ｙｃ＋ｏｆｙｃ      （５２）
ｙｄ’＝ｙｄ＋ｏｆｙｄ      （５３）
ｙｅ’＝ｙｅ＋ｏｆｙｅ      （５４）
この座標補正計算によって、図８（Ｂ）の点Ｑにおいて、４つの領域で算出された座標値が一致するので、座標の不連続性が改善する。
【０１５３】
そして、算出した指示位置の座標を表示座標系に変換して、パーソナルコンピュータの外部機器に、その座標値を出力（送信）する（ステップＳ２０７）。
【０１５４】
尚、この際に、入力面をタッチしている状態であるか否かを示すタッチダウン信号／タッチアップ信号をあわせて出力しても良い。この種の座標入力装置にあっては、タッチ面をタッチすることで、光路は１００％遮断されることになるが、タッチ状態から少しずつ浮かせることによって、少しずつ光が透過するようになる。従って、光がどの程度遮られたかを演算することで、タッチ状態にあるのか、タッチはしてないが、光路を遮っている（角度演算は可能であり、その場合でもその位置を演算可能）状態であるのかを、閾値を設定することで判定できる。
【０１５５】
尚、以上説明した座標補正処理は、図１に示したような、設置位置が固定であるシステムにおいても同様に実施できる。つまり、設置位置が固定であるシステムにおいても、第２の検出モードを実行し、共通の座標計測点の座標を算出し、各領域の補正値を算出することで、同様に、座標補正を行うことができる。
【０１５６】
スイッチ等の切替部の操作により、相対座標系と表示座標系を一致させるためのキャリブレーションモード（第２の検出モード）に遷移することになるが、図１０（Ｂ）を用いて、そのキャリブレーションモードのフローチャートを説明する。
【０１５７】
キャリブレーションモードは、センサバー１を装着した直後、あるいは設置完了後であっても、何らかの拍子でディスプレイの表示位置がずれてしまった場合に行われる。キャリブレーションモードに遷移すると、先ずは、初期設定処理を行う（ステップＳ１０１）。これは、センサバーが使用中に設置状態がずれた場合を想定して、光出力の最適化、センサの位置ずれを補正することになる。
【０１５８】
そして、ユーザによる表示領域８の４隅のタッチ操作を行わせるために、ステップＳ２０１及びステップＳ２０２を経て、そのひとつの位置のタッチが行われたかを判定する。ステップＳ２０３及びステップＳ２０４で、必要な角度情報を算出する。その後、データの取得が完了したことを報知する（ステップＳ３０１）。この報知は、例えば、完了を示すビープ音を出力する。
【０１５９】
次に、表示領域８の４隅の全ての情報の取得が完了したか否かを判定する（ステップＳ３０２）。取得が完了していない場合（ステップＳ３０２でＮＯ）、ステップＳ２０１に戻る。一方、取得が完了している場合（ステップＳ３０２でＹＥＳ）、相対座標系から表示座標系へと変換するためのパラメータを算出する（ステップＳ３０３）。その後、通常動作に戻る。そして、ここで算出されたパラメータは、ステップＳ２０７における座標変換で使用される。
【０１６０】
ここで、図１に示したように、タッチを有効とする座標入力有効領域５は予め定められている。これは、座標入力有効領域５から上に外れた部分や下に外れた部分では、図１１におけるθ１５からθ１８の値が０に近くなるために、算出される座標の誤差が大きくなるためである。座標入力有効領域５の範囲は、どの程度の誤差まで許容するかを考慮した上で決められる。
【０１６１】
上述のキャリブレーション処理によって、装置の設置位置に対する表示画面の位置が対応付けることができるので、このとき、表示画面が装置の有効範囲の中にあるかどうかを検査することができる。例えば、有効範囲の検査を行った結果、表示画面が有効範囲から外れていると判定した場合に、ユーザに対して、例えば、ビープ音や音声等によって表示画面の再調整を促す通知をする処理を行ってもよい。
【０１６２】
あるいは、接続されたＰＣに画面調整を行うためのドライバソフトウェアを予め動作させておく方法もある。この方法では、キャリブレーション処理によって表示画面が有効範囲から外れていると判定したとき、ドライバソフトウェアに対して、有効範囲に対する表示画面のずれ量を示す情報を送信する。ドライバソフトウェアはその情報を受信し、表示画面の調整を自動的に行うことができる。
【０１６３】
以上説明したように、実施形態１によれば、領域の境界における座標の不連続性を改善する座標入力装置を提供することができる。
【０１６４】
＜実施形態２＞
実施形態１では、図８（Ａ）で説明したように、センサユニット２−Ｌ１の光軸と、センサユニット２−Ｌ１の光軸中心とセンサユニット２−Ｌ２の光軸中心を結ぶ線分のなす角度がπ／２［ｒａｄ］に固定されている。そして、この値は基準角度情報として記憶されていて、式（１４）に示したように、この基準角度情報を用いて、図８（Ｂ）におけるθ１４を計算している。
【０１６５】
実施形態２では、基準角度情報を持たないで処理を行う例について説明する。実施形態２においては、図８（Ｂ）において、センサユニット２−Ｌ２内の赤外ＬＥＤ３１の発光を、センサユニット２−Ｌ１内の受光部４０によって受光することができるように設計されている。実際には、センサユニット２−Ｌ２の投光部３０及びセンサユニット２−Ｌ１の受光部４０について、視野角その他の光学系の設計が変更される。また、センサユニット２−Ｌ２からセンサユニット２−Ｌ１までの筐体内部を通る光路を確保するような筐体の設計がされる。
【０１６６】
処理の流れは、実施形態１と同様である。図９のステップＳ１０４の波形取り込みのとき、センサユニット２−Ｌ２内の赤外ＬＥＤ３１の発光を、センサユニット２−Ｌ１内の受光部４０によって受光し、センサユニット２−Ｌ１からセンサユニット２−Ｌ２の方向を検出する。そして、検出した方向に基づいて図８（Ｂ）のθ１４を算出することができる。以降の処理の手順は実施形態１と同様なので説明は省略する。
【０１６７】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、基準角度情報を予め記憶する必要がないため、基準角度を測定し記憶させる作業が不要となる。
【０１６８】
＜実施形態３＞
実施形態１や２においては、２個のセンサユニット２を内蔵するセンサバー１が２本で構成される座標入力装置としているが、これに限定されるものではない。例えば、各センサユニット２と再帰反射部４を別々とする構成であっても良い。
【０１６９】
図１２に示すように、４個のセンサユニット２−Ｌ１、２−Ｌ２、２−Ｒ１及び２−Ｒ２を座標入力有効領域５の周囲に設置し、さらに再帰反射部４Ｌ及び４Ｒを各センサユニットの間に位置するように設置する。このような装置構成でも、実施形態１で説明する原理を適用することができる。尚、処理の流れは、実施形態１と同様であり説明は省略する。
【０１７０】
＜実施形態４＞
実施形態４として、横長の画面に対応するためセンサユニットを８個用いる例について説明する。図１３に示すように、座標入力有効領域５の上部にセンサバー１Ｔが設置され、座標入力有効領域５の上部にセンサバー１Ｂが設置される。そして、センサバー１Ｔ及びセンサバー１Ｂの各センサバーには４個ずつのセンサユニット２−Ｔ１〜２−Ｔ４、及び２−Ｂ１〜２−Ｂ４を内蔵している。この形態は、図１に示すセンサバーを、座標入力有効領域５の左右ではなく上下に配置して、それを２つ組み合わせたような構成となっている。
【０１７１】
図１３に示すように、センサユニット２−Ｔ１を原点とした座標系が設定される。そして、センサユニット２−Ｔ１、２−Ｔ２、２−Ｂ１、２−Ｂ２の４個で、座標入力有効領域５の左側半分の領域の座標計算を行うようになっている。また、同様に、センサユニット２−Ｔ３、２−Ｔ４、２−Ｂ３、２−Ｂ４の４個で、座標入力有効領域５の右側半分の領域の座標計算を行う。
【０１７２】
この構成において、まず、左側の領域について見ると、実施形態１で説明したように、左側の領域に存在する共通の座標計測点Ｑ１を利用して、４つの領域の座標値を補正することができる。右側の領域についても、同様に、右側の領域に存在する共通の座標計測点Ｑ２を利用して、４つの領域の座標値を補正することができる。
【０１７３】
さらに、図１３において、センサユニット２−Ｔ２と２−Ｂ２の組み合わせと、センサユニット２−Ｔ３と２−Ｂ３の組み合わせについて見ると、共通の座標計測点Ｑ３が存在することが分かる。つまり、センサユニット２−Ｔ２と２−Ｂ２の組み合わせと、センサユニット２−Ｔ３と２−Ｂ３の組み合わせで、点Ｑ３の座標値をそれぞれ算出することができる。両者を補正することで、座標入力有効領域５の左側半分と右側半分の領域の間で発生する座標の不連続性を改善することができる。
【０１７４】
＜実施形態５＞
上述の実施形態においては、センサユニットは、投光部に赤外ＬＥＤを内蔵し、受光部にラインＣＣＤセンサ等を内蔵する構成である。他の形態として、撮像装置（カメラ）を使用するシステムについても、上述の実施形態を適用することができる。
【０１７５】
この場合、図８（Ｂ）を例にすると、センサユニット２−Ｌ１、２−Ｌ２、２−Ｒ１及び２−Ｒ２には、撮像装置が内蔵されている。各撮像装置は、表示領域８の方向の画像を撮像し、他の撮像装置の位置する角度を、マッチング等の画像認識処理を行うことで検出する。相互に検出した角度を用いて、実施形態１と、同様に、共通の座標計測点Ｑの座標を算出することができる。
【０１７６】
尚、カメラ方式におけるタッチ検出は、画像認識処理で指等の入力を検出する方法や、ペンを用いる方法がある。ペンを用いる方法では、例えば、ペン先にＬＥＤを内蔵し、タッチ時にＬＥＤを発光させ、その光をカメラで検出することで入力の方向を検知する。
【０１７７】
尚、本発明の座標入力装置における処理（フローチャート）は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015118569.tif 000003
【図２】
2015118569.tif 000004
【図３】
2015118569.tif 000005
【図４】
2015118569.tif 000006
【図５】
2015118569.tif 000007
【図６】
2015118569.tif 000008
【図７】
2015118569.tif 000009
【図８】
2015118569.tif 000010
【図９】
2015118569.tif 000011
【図１０】
2015118569.tif 000012
【図１１】
2015118569.tif 000013
【図１２】
2015118569.tif 000014
【図１３】
2015118569.tif 000015
【図１４】
2015118569.tif 000016