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