(57)【要約】【課題】  装置の設置位置が変化した場合に、ユーザの負担を最小限にしながら、指示位置の算出を正しく行うことができる座標入力技術を提供する。【解決手段】  座標入力装置の設置位置の変化を検出する。検出結果に応じて、一定時間の経過を判定する。一定時間経過したと判定した場合、当該座標入力装置の指示位置を検出するための設定情報の再設定を行う。【選択図】  図２
2015185043.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                                      （６）
このように、閾値Ｖｔｈｒを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、所定レベルの閾値Ｖｔｈｒを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
【００６４】
このように得られた中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。
【００６５】
後述する実際の座標計算では、角度そのものよりもその角度における正接（ｔａｎｇｅｎｔ）の値を計算するほうが都合がよい。尚、画素番号から、ｔａｎθへの変換には、テーブル参照や変換式を用いる。変換式は、例えば、高次の多項式を用いると精度を確保できるが、次数等は計算能力及び精度スペック等を鑑みて決定すればよい。
【００６６】
ここで、５次多項式を用いる場合の例を示すと、５次多項式を用いる場合には係数が６個必要になるので、出荷時等にこの係数データをＣＰＵ６１内の不揮発性メモリに記憶しておけばよい。今、５次多項式の係数をＬ５、Ｌ４、Ｌ３、Ｌ２、Ｌ１、Ｌ０としたとき、tａｎθは
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２＝０の場合であっても、他方のセンサユニットが出力する角度情報に基づき、幾何学的に容易に指示位置を算出することが可能である。
【００７１】
ここで、センサユニット２−Ｌ１及びセンサユニット２−Ｌ２の視野範囲から、指示位置Ｐが図５（Ｂ）のハッチング部の範囲に有る場合のみ、その指示位置を算出することが可能である。指示位置がその範囲に無い場合には、図５（Ｃ）、図５（Ｄ）、図５（Ｅ）に示す様に、演算に用いるセンサユニットの組み合わせを変更することで、座標入力有効領域５全域の指示位置を検出できるようになる。従って、各センサユニット２が検出した遮光方向の有無、及び遮光方向に基づき、座標算出に必要なセンサユニットを選択して、指示位置を算出する。そして、選択したセンサユニット２の組み合わせに応じて、式（８）、式（９）のパラメータを変更して、座標変換を行えばよい。
【００７２】
尚、図５（Ｆ）に示すように、センサユニット選択の境界領域近傍に指示位置Ｐが存在すると、この場合は、図５（Ｂ）もしくは図５（Ｃ）の状態のセンサユニットの組み合わせで、その指示位置を算出できる。具体的な構成として、例えば、センサユニット２−Ｌ２の視野範囲と、センサユニット２−Ｒ１の視野範囲は、座標入力有効領域５の対角線方向で重複するように構成される。そして、重複した領域でタッチした場合には、複数通りのセンサユニットの組み合わせで座標算出が可能となる。その場合にあっては、両者の組み合わせで算出した座標値の平均値を確定座標として出力しても良い。
【００７３】
さて、このように算出された座標値は、実施形態１の座標入力装置が持つ第１の座標系（以後、相対座標系と称す）の値であって、位置算出が可能な有効領域は図１における座標入力有効領域５である。そして、この座標入力有効領域５の範囲内にディスプレイの表示面を設けることになる。ディスプレイが仮にフロントプロジェクターとすると、図６に示すように、投影画像である表示領域８が座標入力有効領域５内に設定されることになる。図６では、ｄ１を原点としてｄｘ軸、ｄｙ軸からなる表示座標系である第２の座標系（以後、表示座標系と称す）からなる。表示されている画像を直接タッチすることで、アイコン等のタップ操作を行うためには、相対座標系に対する表示座標系の位置を合わせる作業を行う必要がある。位置合わせ作業は一般的にキャリブレーションと呼ばれている。
【００７４】
通常、キャリブレーションを実行するためには、表示制御を行っているパーソナルコンピュータ（ＰＣ）に専用のアプリケーションソフトがインストールされる。アプリケーションを起動すると、表示画面には十字クロス等の指標が表示され、ユーザにそのクロス位置をタッチするように促す。その動作を異なる位置で所定回数繰り返すことで得られる相対座標系の座標値と、十字クロスが表示されている位置の表示座標系の座標値とが一致するように、座標系の変換が行われる。
【００７５】
実施形態１の座標入力装置にあっては、アプリケーションソフトを使って十字クロスの位置を表示させてタッチさせるのではなく、表示画面の４隅をタッチすることで、この座標変換を行っている。このように構成することで、その場にあるＰＣに接続することで、特別なソフトをインストールすることなく直ぐに使えると言う優れた効果が得られる。特に、本願発明の座標入力装置は、センサバー１を持ち運んで会議室に設置する可搬型であり、一緒にＰＣを持ち運ぶ必要が無いと言うことは大きな利点である。持ち運んだ先の、その場のＰＣ、その場の表示装置を利用して、簡単に設置を完了させて直ぐに使えると言う優れた効果を発揮する。
【００７６】
このキャリブレーションモードへの遷移は、例えば、センサバー１に設けられたモード遷移スイッチ（不図示）で行われる。ユーザは、表示画面の位置を変更した場合等にモード遷移スイッチを押下する。このモード遷移スイッチにより、キャリブレーションモードへ遷移すると、センサバー１に内蔵されるスピーカ等の出力部により、４隅部を順次タッチするようにガイダンスする。また、隅部のタッチが完了する毎に、入力が完了したことを示すブザー音を報知しても良い。または、センサバー１に内蔵されるインジケータで、その操作を促しても良い。
【００７７】
さて、相対座標系での座標算出では、式（８）及び式（９）で演算に用いるセンサユニット２間の距離ｄｈが既知である必要が有る。しかしながら、表示装置と組み合わせて使用する図６のような使用態様の場合、この距離ｄｈは必ずしも既知である必要は無い。つまり、ディスプレイの大きさを示す４隅部の情報が、タッチ操作することにより順次、相対座標系における各センサユニットでの角度情報として取得される。その結果、比による計算だけで、表示座標系の指示位置の座標を算出することが可能である。
【００７８】
さて、実施形態１の座標入力装置は、種々の表示サイズの表示面に対して、ユーザが２本のセンサバー１を装着して使用することを想定している。そして、２本のセンサバー１間の相対的な位置関係として、２つのセンサバー１が平行、同一長さ、かつＸ軸方向に他方のセンサバーのセンサユニットが配置されることで、相対座標系での高精度な位置検出が可能となる。２本のセンサバー１がこのような配置となる仕組みを設けることも可能であるが、その場合、ユーザにそれなりの慎重な設置作業を強いることになる。仮に、２つのセンサバー１を目分量で簡単に装着できれば、利便性の向上、設置時間の大幅短縮へとつながる。そこで、実施形態１にあっては、利便性向上のために、座標検出モードとして第２の検出モードを有する。
【００７９】
図７（Ａ）は第２の検出モードを説明するためのマスター側のセンサバー１ＬのＣＰＵ６１が出力する制御信号、及びセンサユニット２の動作を示すタイミングチャートである。
【００８０】
９１、９２、９３がラインＣＣＤ４１制御用の制御信号であり、ＳＨ信号９１の間隔でラインＣＣＤ４１のシャッター開放時間が決定される。ＩＣＧＬ信号９２はセンサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２へのゲート信号であり、ラインＣＣＤ４１内部の光電変換部の電荷を読出部へ転送する信号である。
【００８１】
ＣＣＤＬ信号９４は、センサユニット２−Ｌ１及び２−Ｌ２のラインＣＣＤ４１のシャッター開放時間を示す信号である。ＩＣＧＲ信号９３は、対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２へのゲート信号であり、シリアル通信部６７を介してセンサバー１Ｒの演算制御回路３Ｒに送信される。そして、演算制御回路３ＲがラインＣＣＤ４１内部の光電変換部の電荷を読出部へ転送する信号を生成することになる。ＣＣＤＲ信号９５は、センサユニット２−Ｒ１及び２−Ｒ２のラインＣＣＤ４１のシャッター開放時間を示す信号である。
【００８２】
ＬＥＤＬ信号９６及びＬＥＤＲ信号９７は、各センサユニット２の赤外ＬＥＤ３１の駆動信号である。ＳＨ信号９１の最初の周期でセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２の赤外ＬＥＤ３１を点灯するために、ＬＥＤＲ信号９７がシリアル通信部６７を介してセンサバー１Ｒの演算制御回路３Ｒに送信される。そして、演算制御回路３Ｒが各々のＬＥＤ駆動回路に供給するための信号を生成する。
【００８３】
そして、ＳＨ信号９１の次の周期で、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２の赤外ＬＥＤ３１を点灯するために、ＬＥＤＬ信号９６が各々のＬＥＤ駆動回路を経て赤外ＬＥＤ３１に供給する。
【００８４】
赤外ＬＥＤ３１の駆動、及びラインＣＣＤ４１のシャッター開放が終了した後に、ラインＣＣＤ４１の信号がセンサユニット２から読み出され、後述する方法で角度情報を算出する。そして、スレーブ側の演算制御回路３Ｒの演算結果はマスター側の演算制御回路３Ｌに送信される。
【００８５】
以上のように動作させることで、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２は、対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２が発光した赤外ＬＥＤ３１の赤外光を直接検出（直接受光）する。同様に、センサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２は、対向するセンサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２が発光した赤外ＬＥＤ３１の赤外光を直接検出する。
【００８６】
尚、図３では、センサバー１Ｌのセンサユニット２−Ｌ１及び２−Ｌ２と対向するセンサバー１Ｒのセンサユニット２−Ｒ１及び２−Ｒ２とを異なるタイミングで動作する座標検出モードであり、これが第１の検出モードとなる。
【００８７】
図７（Ｂ）は、第２の検出モードで動作する場合に、センサユニット２で得られる検出信号波形を示している。対向する辺に設けられた２つのセンサユニット２の投光部３０からの発光をそれぞれ受光するので、ピーク信号が２つ生成される。そして、先に述べた角度算出の方法と同様な方法で、その方向を各々算出する。尚、図中の破線は、図４（Ｂ）で示す受光部４０の出力（光量分布）を示すものであり、方向Ｎｊ、方向Ｎｆの間にピーク信号が生成されることを示している。このとき、検出されたピーク信号のＣＣＤ画素番号はそれぞれＮ１、Ｎ２として、メモリ６４に保存される。
【００８８】
上述のように、ユーザが２つのセンサバー１を目分量で装着した場合であっても、高精度な位置検出を実現することが実施形態１の目的の一つである。そのために、各センサユニット２が、対向するセンサバー１に収納されているセンサユニット２の投光部３０の光を検出することで、対向するセンサユニット２がどの方向に位置するかを検出する。
【００８９】
図８を用いて、その様子を説明する。図８において、センサユニット２−Ｌ１の光軸中心とセンサユニット２−Ｌ２の光軸中心を結ぶ線分をＹ軸、その法線方向をＸ軸とすれば、センサユニット２−Ｌ１及び２−Ｌ２の光軸はＸ軸と平行である。そして、対向するセンサユニット２−Ｒ１は、センサユニット２−Ｌ１から見ると角度θ１の方向であり、センサユニット２−Ｌ２から見ると角度θ３の方向である。同様に、θ１からθ８までの角度を算出することが可能であり、その結果、センサバー１Ｌのセンサユニット２−Ｌ１の光軸と、センサバー１Ｒのセンサユニット２−Ｒ１の光軸の成す角度θ９が算出される。
【００９０】
言い換えると、センサバー１Ｌとセンサバー１Ｒの相対的な傾きを検出することができる。更には、センサバー１の長手方向の長さが変化した場合であっても、各センサユニット２間の絶対的距離を知ることはできないが、４つのセンサユニットの相対的な位置関係を取得することが可能である。そして、先に述べたディスプレイの大きさを示す４隅部の情報を、タッチ操作することで取得すれば、相対座標による計算（比による演算）だけでも、表示座標系での座標を高精度で算出することが可能となる。
【００９１】
図９は電源投入時からの初期設定処理を示すフローチャートである。
【００９２】
まず、投影画像である表示領域８の全領域を含む矩形状の座標入力有効領域５を形成するために、操作者によってセンサバー１がホワイトボード６に装着されると、ＣＰＵ６１は、例えば、電源投入が行われて初期設定を行う（Ｓ１０１）。尚、センサバー１には、例えば、マグネット等の装着部が内蔵されていて、ホワイトボード６等の壁面に貼りつけることができるようになっている。
【００９３】
次に、ＣＰＵ６１は、入出力ポートの設定、タイマ設定等の座標入力装置に係る各種初期化を行うとともに、光電変換素子に残っている余分な電荷を除去する等のラインＣＣＤ４１の初期化も行う（Ｓ１０２）。次に、ラインＣＣＤ４１が検出する光量の最適化を行う。ホワイトボード６や表示領域８の大きさは、使用環境により様々であり、センサバー１間の距離は適宜ユーザによって設定される。従って、装着の状態によって、検出される光の強度は異なる。そのため、ＣＰＵ６１は、ラインＣＣＤ４１のシャッター開放時間や赤外ＬＥＤ３１の点灯時間、もしくは赤外ＬＥＤ３１の駆動電流の設定を含む第２の検出モードで動作設定を行う（Ｓ１０３）。ここで、Ｓ１０３における動作設定とは、対向するセンサユニット２から直接光を受ける動作の状態（図７における第２の検出モード）であって、４つのセンサユニット２の相対的な位置関係を導出することを目的とする。
【００９４】
次に、ＣＰＵ６１は、ラインＣＣＤ４１の出力信号を取り込む（Ｓ１０４）。そして、ＣＰＵ６１は、その出力信号に基づいて、光を検出したか否かを判定することで、センサユニットの配置が適切であるか否かを判定する（Ｓ１０５）。ここで、光が検出できない場合（Ｓ１０５でＮＯ）、これは、センサユニット２の受光部４０の視野範囲に、対向する位置にあるセンサユニット２が位置していない可能性がある状態である。つまり、この状態は、ユーザによるセンサバー１の配置／設置が不適な状態にある。そこで、このような場合は、その旨を報知して、センサバーの再設置を促す（Ｓ１０６）。そして、ユーザによる再設置が完了すると、再び、Ｓ１０１を開始する。尚、Ｓ１０４で取り込む出力信号は、図７（Ｂ）に示すような信号となり、実施形態１の場合は、２つのピーク信号が出力されている状態が正常状態と言える。この際、ＣＰＵ６１は、２つのピーク信号のＣＣＤ画素番号を、それぞれＮ１、Ｎ２として検出する。
【００９５】
次に、ＣＰＵ６１は、検出信号の波形のチェックを行う（Ｓ１０７）。対向する位置にあるセンサユニット２の光が強すぎる場合、例えば、検出信号の波形（波形レベル）の少なくとも一部が所定の閾値を超える場合（Ｓ１０７でＮＯ）、Ｓ１０３に戻り、例えば、露光時間をより短くする等の設定値の変更（再設定）を行う。そして、今度、Ｓ１０７でチェックされる検出信号の波形は、より光強度が弱い状態となっているはずである。そして、その信号レベルが適正である場合（Ｓ１０７でＹＥＳ）、例えば、検出信号の波形の少なくとも一部が所定の閾値以下である場合、Ｓ１０８に進む。
【００９６】
以上の動作を、各センサユニット（実施形態１の場合、４つ）で実行し、すべての信号が最適化されると、ＣＰＵ６１は、ＣＰＵ６１内部の不揮発性メモリに記憶されている、２つのピーク信号のＣＣＤ画素番号を読み出す（Ｓ１０８）。ここで、読み出される値は、前回電源が入っていた時までに座標入力装置の設置位置（センサバー１Ｌ及び１Ｒの相対的な設置位置）を表すパラメータとして記録されたものである。読み出されたＣＣＤ画素番号をそれぞれＮ１ｐ、Ｎ２ｐとする。そして、ＣＰＵ６１は、Ｓ１０４で取り込んだ出力信号に含まれる２つのピーク信号に対応するＣＣＤ画素番号Ｎ１、Ｎ２を不揮発性メモリに記録する（Ｓ１０９）。これにより、不揮発性メモリに記録されていたＣＣＤ画素番号の値は、今回、記録される値に更新されることになる。
【００９７】
次に、ＣＰＵ６１は、下記式により、不揮発性メモリに前回記録された２つのピーク信号と今回記録された２つのピーク信号を比較（変化分を算出）して、両者に変化があるか否かを判定する（Ｓ１１０）。
【００９８】
ΔＮ１＝Ｎ１−Ｎ１ｐ      （１０）
ΔＮ２＝Ｎ２−Ｎ２ｐ      （１１）
まず、変化量ΔＮ１及びΔＮ２が両方とも、予め決められている閾値Ｎｔを超えていない場合、ＣＰＵ６１は、検知結果として座標入力装置の設置位置が、前回電源が入っていた時の設置位置からの変化が十分小さいと判定する（Ｓ１１０でＮＯ）。その後、ＣＰＵ６１は、センサユニット２の相対的な位置関係を算出するセンサ位置算出処理を行う。θ１からθ８の値が分かっているため、幾何学的な計算により、各センサユニットの相対的な位置関係を算出することができる（Ｓ１１２）。尚、各センサユニットの相対的な位置関係の算出は、図８を用いて説明したが、詳細には、例えば、特開２０１４−０４８９６０号公報に開示される技術を使用することができる。
【００９９】
Ｓ１１３以降では、センサユニット２が投光した赤外光が、対向するセンサバー１に設けられた再帰反射部４で再帰反射され、その光を自身の受光部４０で検出した時の信号レベルを最適化する。上述したとおり、センサバー１の配置は一意では無く、その配置に応じた検出レベルを最適化することで、安定した信号を得ることを目的とする。っそこで、ＣＰＵ６１は、設定する項目として、ラインＣＣＤ４１のシャッター開放時間や赤外ＬＥＤ３１の点灯時間、もしくは赤外ＬＥＤ３１の駆動電流の設定を含む第１の検出モードで動作設定を行う（Ｓ１１３）。仮に最初の動作設定を光量が最大に得られるように設定すると、その時のラインＣＣＤ４１の出力信号を取り込む（Ｓ１１４）。
【０１００】
ＣＰＵ６１は、検出信号の波形のチェックを行う（Ｓ１１５）。取り込まれた出力信号は、照明時のデータであり、図４（Ｂ）の様な波形となる。光が強すぎると、ラインＣＣＤ４１のダイナミックレンジの範囲を超え、出力が飽和することになるので、正確な角度を算出することが困難となる。その場合は、Ｓ１１１で、検出信号の波形が不適と判定され（Ｓ１１５でＮＯ）、Ｓ１１３に戻り、検出信号の波形（波形レベル）がより小さくなるように、再設定が行われる。再帰反射光を検出するので、Ｓ１０３〜Ｓ１０７での処理（つまり、第２の検出モード）でセンサユニット２の投光を受光部４０で直接検出する場合と比べて、格段に投光する光量が大きくなるように設定することになる。
【０１０１】
そして、波形レベルが最適と判定される場合（Ｓ１１５でＹＥＳ）、ＣＰＵ６１は、照明無しの状態の信号Ｂａｓｅ＿Ｄａｔａ［Ｎ］（図４（Ａ）参照）を取得してメモリ６４に記憶する（Ｓ１１６）。次に、ＣＰＵ６１は、照明有りの状態の信号Ｒｅｆ＿Ｄａｔａ［Ｎ］（図４（Ｂ）参照）を取得してメモリ６４に記憶する（Ｓ１１７）。
【０１０２】
このようにして、全てのセンサユニットでのデータが取得されると、一連の初期設定処理が完了し、図１２に示す通常のサンプリング動作に移行する。図１２の処理の内容については後述する。
【０１０３】
一方、Ｓ１１０において、変化量ΔＮ１及びΔＮ２のいずれかが閾値Ｎｔを超えていた場合、ＣＰＵ６１は、検知結果として座標入力装置の設置位置が、前回電源が入っていた時の設置位置から大きく変化したと判定する（Ｓ１１０でＹＥＳ）。その場合、ＣＰＵ６１は、座標入力装置の設置を再設定するための設置再設定処理を実行する。この設置再設定処理の詳細について図１０を用いて説明する。
【０１０４】
まず、ＣＰＵ６１は、座標入力装置の設置位置が変化したことをユーザに通知するために、その旨を示す通知として、ビープ音を出力すると同時にエラーを示すインジケータを点灯する（Ｓ４０１）。次に、ＣＰＵ６１は、第２の検出モードでラインＣＣＤ４１の出力信号を取り込む（Ｓ４０２）。そして、ＣＰＵ６１は、座標入力装置の設置位置の変化がないか判定する（Ｓ４０３）。
【０１０５】
このときの出力信号の検出波形の一例を図７（Ｃ）に示す。取り込んだ検出波形を実線で示し、ピーク信号に対応するＣＣＤ画素番号をそれぞれＮ１’、Ｎ２’とする。また、点線で示す波形は、Ｓ１０４で取り込んだ時の検出波形であり、ピーク信号に対応するＣＣＤ画素番号はそれぞれＮ１、Ｎ２である。ピーク信号に対応するＣＣＤ画素番号が変化するということは、センサバー１Ｌとセンサバー１Ｒの位置関係が変化していることを示している。そこで、それぞれの値の変化量をチェックする。
【０１０６】
ΔＮ１＝Ｎ１’−Ｎ１      （１２）
ΔＮ２＝Ｎ２’−Ｎ２      （１３）
変化量ΔＮ１及びΔＮ２のいずれかが閾値Ｎｔを超えている場合、検知結果として座標入力装置の設置位置の変化が継続していると判定する（Ｓ４０３でＮＯ）。この場合は、Ｓ４０２に戻り、ＣＰＵ６１は、再度、ラインＣＣＤ４１の出力信号を取り込む。このとき、Ｎ１’、Ｎ２’の値をそれぞれＮ１、Ｎ２に代入する。従って、再度、Ｓ４０３で式（１２）および式（１３）を計算するときは、前回取り込んだときの値と、新たに取り込んだ値とを比較することになる。
【０１０７】
一方、変化量ΔＮ１及びΔＮ２のいずれも閾値Ｎｔを超えていない場合、ＣＰＵ６１は、検知結果として座標入力装置の設置位置の変化が十分小さいと判定し、時間計測を開始した後に、同様に、Ｓ４０２に戻る。以上の処理を繰り返し、変化量ΔＮ１及びΔＮ２が閾値Ｎｔを超えていない状態が一定時間経過した場合（Ｓ４０３でＹＥＳ）、Ｓ４０４に進む。尚、この一定時間は、例えば、１秒から数秒程度の範囲の値で予め設定されている。
【０１０８】
Ｓ４０４〜Ｓ４０９では、設置位置の変化に応じて更新が必要な設定情報を再設定する処理を行う。まず、Ｓ４０４〜Ｓ４０７の処理は、図９におけるＳ１１３〜Ｓ１１７で説明した処理と同様である。第１の検出モードでラインＣＣＤ４１の出力信号を取り込み、波形レベルの調整及び記憶を行う。
【０１０９】
次に、ＣＰＵ６１は、図９のＳ１０９と同じように、今回検出した２つのピーク信号に対応するＣＣＤ画素番号Ｎ１’、Ｎ２’を不揮発性メモリに記録する（Ｓ４０８）。そして、ＣＰＵ６１は、キャリブレーション処理を実行する（Ｓ４０９）。このキャリブレーション処理の詳細について図１１を用いて説明する。
【０１１０】
まず、ＣＰＵ６１は、第１の検出モードに設定し、ラインＣＣＤ４１の出力信号を取り込む（Ｓ２０３）。そして、ＣＰＵ６１は、入力の有無を判定する（Ｓ２０４）。入力がない場合（Ｓ２０４でＮＯ）、入力があるまで待機する。一方、入力がある場合（Ｓ２０４でＹＥＳ）、ＣＰＵ６１は、出力信号に遮光部分が生成されているセンサユニットを選択する（Ｓ２０５）。ＣＰＵ６１は、その選択したセンサユニットを用いて、遮光部分が生成されている角度を各々算出する（Ｓ２０６）。そして、ＣＰＵ６１は、データの取得が完了したことを報知する（Ｓ３０１）。この報知は、例えば、完了を示すビープ音を出力する。
【０１１１】
次に、ＣＰＵ６１は、表示領域８の４隅の全てのデータの取得が完了したか否かを判定する（Ｓ３０２）。取得が完了していない場合（Ｓ３０２でＮＯ）、Ｓ２０３に戻る。一方、取得が完了している場合（Ｓ３０２でＹＥＳ）、相対座標系から表示座標系へと変換するためのパラメータを算出する（Ｓ３０３）。ここで、算出されたパラメータは、Ｓ２０８（図１２）における座標変換で使用される。キャリブレーション処理を完了すると、図１２に示す通常のサンプリング動作に移行する。
【０１１２】
図１２は初期設定処理後の通常のサンプリング動作を示すフローチャートである。
【０１１３】
まず、ＣＰＵ６１は、第２の検出モードに設定し、ラインＣＣＤ４１の出力信号を取り込む（Ｓ２０１）。次に、ＣＰＵ６１は、取り込んだ出力信号に基づいて、座標入力装置の設置位置が変化したか否かを判定する（Ｓ２０２）。この処理は、図１０のＳ４０２、Ｓ４０３と同様である。座標入力装置の設置位置が大きく変化した場合（Ｓ２０２でＹＥＳ）、ＣＰＵ６１は、設置再設定処理を実行する（Ｓ２０９）。この処理の内容は図１０で説明した通りである。
【０１１４】
一方、座標入力装置の設置位置が変化していない場合（Ｓ２０２でＹＥＳ）、Ｓ２０３以降の処理が実行される。通常の取込動作（第１の検出モード）として、センサユニット２が投光した赤外光が、対向するセンサバー１に設けられた再帰反射部４で再帰反射され、その光を自身の受光部４０で検出した時の信号を検出する（Ｓ２０３）。その時のデータは、Ｎｏｒｍ＿ｄａｔａ［Ｎ］であり、仮にタッチ操作があって光路を遮ると、図４（Ｃ）のように、画素番号Ｎｃの辺りで光信号が検出できなくなる。
【０１１５】
ＣＰＵ６１は、いずれかのセンサユニット２で、このような光の遮光部分が生成されたか否か、つまり、入力の有無を判定する（Ｓ２０４）。入力が無いと判定される場合（Ｓ２０４でＮＯ）、Ｓ２０１に戻る。一方、入力が有ると判定される場合（Ｓ２０４でＹＥＳ）、前述の図１１の説明と同様に、ＣＰＵ６１は、センサユニットの選択（Ｓ２０５）、角度算出（Ｓ２０６）を行う。ここで算出された角度と、各センサユニットの位置関係の情報を用いて、ＣＰＵ６１は、相対座標系での指示位置の座標を算出する（Ｓ２０７）。尚、指示位置の座標の算出は、例えば、特開２０１４−０４８９６０号公報に開示される技術を使用することができる。各センサユニットの位置関係の情報は、図９のＳ１１２で算出されている。そして、算出した指示位置座標を表示座標系に変換して、その座標値を外部機器に外部機器に出力（送信）する（Ｓ２０８）。
【０１１６】
以上説明したように、実施形態１によれば、座標入力装置の設置位置の変化を検出して、その旨をユーザに通知して、キャリブレーション処理等の再設定処理を自動的に実行することで、ユーザ操作の負担を軽減し使い勝手を改善することができる。また、座標入力装置の初期設定処理において、座標入力装置の現在の設置位置と過去の設置位置との変化を検出し、再設定処理を自動的に実行することで、ユーザが気付かないうちに位置が変化したような場合においても対応することができる。特に、座標入力装置を設置したまま長期間使用するような場合には大きな効果が得られる。
【０１１７】
例えば、座標入力装置の使用後に設置した状態のままにしておき、後日再び使用するような場合、その間に何らかの原因によって設置位置がずれると、指示位置座標にずれが発生する。この状態でキャリブレーションを行わないまま使用してしまうと、指示位置座標のずれにより誤操作を引き起こす可能性があるが、実施形態１の構成を適用することによって、そのような事を未然に防止することができる。
【０１１８】
＜実施形態２＞
実施形態１では、センサユニット２は、投光部３０に赤外ＬＥＤ３１を内蔵し、受光部４０にラインＣＣＤ４１等を内蔵する構成について説明している。実施形態２としては、カメラ等の撮像部を使用するシステムについても、実施形態１を適用することができる。
【０１１９】
この場合、図８を例にすると、センサユニット２−Ｌ１、２−Ｌ２、２−Ｒ１及び２−Ｒ２には、撮像部が内蔵されている。各撮像部は、表示領域８の方向の画像を撮像し、他の撮像部の位置する角度を、マッチング等の画像認識処理を行うことで検出する。その結果、θ１からθ８までの角度を検出することができるので、実施形態１と同様の処理を実現することができる。
【０１２０】
撮像部を使用するシステムにおけるタッチ検出は、画像認識処理で指示具（指等）の入力を検出する方法や、ペンを用いる方法がある。ペンを用いる方法では、例えば、ペン先にＬＥＤを内蔵し、タッチ時にＬＥＤを発光させ、その光を撮像部で検出することで入力の方向を検知する。
【０１２１】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１２２】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１２３】
１：センサバー、２：センサユニット、３：演算制御回路、４：再帰反射部、５：座標入力有効領域、６：ホワイトボード
８  表示領域
【図１】
2015185043.tif 000003
【図２】
2015185043.tif 000004
【図３】
2015185043.tif 000005
【図４】
2015185043.tif 000006
【図５】
2015185043.tif 000007
【図６】
2015185043.tif 000008
【図７】
2015185043.tif 000009
【図８】
2015185043.tif 000010
【図９】
2015185043.tif 000011
【図１０】
2015185043.tif 000012
【図１１】
2015185043.tif 000013
【図１２】
2015185043.tif 000014
【図１３】
2015185043.tif 000015