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