(57)【特許請求の範囲】
【請求項１】
指示具からスクリーンに照射された光を座標検出器により検出することにより、前記スクリーンへの前記光の照射位置に対応した座標出力信号を生成し、その座標出力信号に対応する画像情報を投射型表示装置によって該スクリーン上に表示させる、前記投射型表示装置と該スクリーン間の距離を変更することで該スクリーンの画面サイズを変更可能な座標入力装置であって、
前記スクリーン上の所定位置への前記光の照射により得られる座標検出器の出力情報として、複数の異なる画面サイズそれぞれに対する前記スクリーンの位置毎の座標値を記憶する記憶手段と、
前記複数の異なる画面サイズのうち任意の画面サイズに対する前記スクリーンの位置を選択する選択手段と、
前記選択手段で選択された前記スクリーンの位置に対応する前記記憶手段に記憶されている座標値に基づいて、前記スクリーン上の前記光の照射位置を演算する演算手段と
を備えることを特徴とする座標入力装置。
【請求項２】
前記演算手段は、前記選択手段で選択されたスクリーンの位置に対応する座標値から算出された該スクリーン上の座標値を得るための原点に基づいて、前記スクリーン上の前記光の照射位置を演算する
ことを特徴とする請求項１に記載の座標入力装置。
【請求項３】
前記座標検出器は、前記スクリーンにおける座標値と対応する複数の画素から構成され、
前記演算手段は、前記原点と基準点での入力に対する前記スクリーンにおける座標値の差分と、前記原点と該基準点での前記画素の座標値の差分との比から決定される倍率に、前記座標検出器で検出された画素の座標値を掛けることによって前記光の照射位置を演算する
ことを特徴とする請求項２に記載の座標入力装置。
【請求項４】
前記演算手段は、前記スクリーン上の前記光の照射位置が、前記スクリーン上の座標値と前記画素の座標値との関係が線形的でない固定入力エリアかどうかを判定し、その判定結果に基づいて、前記スクリーン上の前記光の照射位置を演算する
ことを特徴とする請求項２に記載の座標入力装置。
【請求項５】
指示具からスクリーンに照射された光を座標検出器により検出することにより、前記スクリーンへの前記光の照射位置に対応した座標出力信号を生成し、その座標出力信号に対応する画像情報を投射型表示装置によって該スクリーン上に表示させる、前記投射型表示装置と該スクリーン間の距離を変更することで該スクリーンの画面サイズを変更可能な座標入力装置の制御方法であって、
前記スクリーン上の所定位置への前記光の照射により得られる座標検出器の出力情報として、複数の異なる画面サイズそれぞれに対する前記スクリーンの位置毎の座標値を記憶媒体に記憶する記憶工程と、
前記複数の異なる画面サイズのうち任意の画面サイズに対する前記スクリーンの位置を選択する選択工程と、
前記選択工程で選択された前記スクリーンの位置に対応する前記記憶媒体に記憶されている座標値に基づいて、前記スクリーン上の前記光の照射位置を演算する演算工程と
を備えることを特徴とする座標入力装置の制御方法。
【請求項６】
前記演算工程は、前記選択工程で選択されたスクリーンの位置に対応する座標値から算出された該スクリーン上の座標値を得るための原点に基づいて、前記スクリーン上の前記光の照射位置を演算する
ことを特徴とする請求項５に記載の座標入力装置の制御方法。
【請求項７】
前記座標検出器は、前記スクリーンにおける座標値と対応する複数の画素から構成され、
前記演算工程は、前記原点と基準点での入力に対する前記スクリーンにおける座標値の差分と、前記原点と該基準点での前記画素の座標値の差分との比から決定される倍率に、前記座標検出器で検出された画素の座標値を掛けることによって前記光の照射位置を演算する
ことを特徴とする請求項６に記載の座標入力装置の制御方法。
【請求項８】
前記演算工程は、前記スクリーン上の前記光の照射位置が、前記スクリーン上の座標値と前記画素の座標値との関係が線形的でない固定入力エリアかどうかを判定し、その判定結果に基づいて、前記スクリーン上の前記光の照射位置を演算する
ことを特徴とする請求項６に記載の座標入力装置の制御方法。
【請求項９】
指示具からスクリーンに照射された光を座標検出器により検出することにより、前記スクリーンへの前記光の照射位置に対応した座標出力信号を生成し、その座標出力信号に対応する画像情報を投射型表示装置によって該スクリーン上に表示させる、前記投射型表示装置と該スクリーン間の距離を変更することで該スクリーンの画面サイズを変更可能な座標入力装置の制御をコンピュータに実行させるためのプログラムを記憶したコンピュータ可読メモリであって、
前記スクリーン上の所定位置への前記光の照射により得られる座標検出器の出力情報として、複数の異なる画面サイズそれぞれに対する前記スクリーンの位置毎の座標値を記憶媒体に記憶する記憶工程と、
前記複数の異なる画面サイズのうち任意の画面サイズに対する前記スクリーンの位置を選択する選択工程と、
前記選択工程で選択された前記スクリーンの位置に対応する前記記憶媒体に記憶されている座標値に基づいて、前記スクリーン上の前記光の照射位置を演算する演算工程と
をコンピュータに実行させるためのプログラムを記憶したことを特徴とするコンピュータ可読メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、指示具からの光を座標入力画面に照射して光スポットを生成し、前記光スポットに対応した座標を生成し、該座標入力画面に画像を表示する投射型表示部を有する座標入力装置及びその制御方法、コンピュータ可読メモリに関するものである。
【０００２】
【従来の技術】
従来の座標入力装置としては、ＣＣＤエリアセンサやリニアセンサを用いて画面上の光スポットを撮像し、重心座標あるいはパターンマッチングを用いるなどの画像処理を行って、座標値を演算して出力するものや、ＰＳＤと呼ばれる位置検出素子（スポットの位置に対応した出力電圧が得られるアナログデバイス）を用いるものなどが知られている。
【０００３】
例えば、特公平７−７６９０２号公報には、可視光の平行ビームによる光スポットをビデオカメラで撮像して座標を検出し、同時に赤外拡散光で制御信号を送受する装置について開示されている。また、特開平６−２７４２６６号公報には、リニアＣＣＤセンサと特殊な光学マスクを用いて座標検出を行う装置が開示されている。
【０００４】
一方、特許第２５０３１８２号には、ＰＳＤを用いた装置について、その構成と出力座標の補正方法が開示されている。
【０００５】
【発明が解決しようとする課題】
近年、大画面ディスプレイは、明るさの改善と同時により大画面化、高解像度化も進められている。このため、座標入力装置の分解能も向上させる必要がある。
【０００６】
近年、大画面ディスプレイは、明るさの改善と同時により大画面化、高解像度化も進められている。このため、座標入力装置の分解能も向上させる必要がある。
【０００７】
従来、この種の座標入力装置として、特開平１１−２１９２５３号に記載されているように、主要構成として、座標入力面であるスクリーンに対して光スポットを形成する指示具と、光スポットのスクリーン１０上の位置座標等を検出する座標検出器とを有し、それらの構成と合わせて、出力装置としてスクリーンに画像あるいは位置座標等を表示する投射型表示装置を有している。そして、座標検出器としてリングＣＣＤを用いることで、外乱光に強く、小型、安価な装置が提案されている。
【０００８】
この座標入力装置では、リングＣＣＤの前にシリンドリカルレンズなどを配置し、入力画面全域がリングＣＣＤに入力されるよう構成されている。
【０００９】
例えば、Ｘ軸のリニアに配置されたＣＣＤ画素に対し、同じＸ座標にシリンドリカルレンズを介して入力される光は、場所によって異なる経路を通って入力されることになる。この時、例えば、レンズの収差や、固体間のばらつきによって、結像位置が異なったり、入力光の強度分布が異なるなどして、ＣＣＤ画素で検出される座標値に誤差が生じることがあった。これに対して、画面上の複数の座標値の既知の点のＣＣＤ出力値を、不揮発性メモリに記憶して、そのＣＣＤ出力値を元に座標演算することで、高精度化を図ることができる。
【００１０】
また、この種の座標入力装置では、投射型表示装置とスクリーンの距離を変更することで、画面サイズの変更が、容易に行えるため、ユーザオプションとして、画面サイズを工場出荷の後に変更することがある。
【００１１】
このような場合、座標入力装置の投射型表示装置と座標検出器の光軸が一致している場合には良いが、両者の光軸が一致していない場合、前述の不揮発性メモリに記憶されたＣＣＤ出力値を用いて、座標演算を行うと、座標値に著しいずれを生じることになる。
【００１２】
本発明は上記の問題点に鑑みてなされたものであり、高精度の座標入力装置及びその制御方法、コンピュータ可読メモリを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
指示具からスクリーンに照射された光を座標検出器により検出することにより、前記スクリーンへの前記光の照射位置に対応した座標出力信号を生成し、その座標出力信号に対応する画像情報を投射型表示装置によって該スクリーン上に表示させる、前記投射型表示装置と該スクリーン間の距離を変更することで該スクリーンの画面サイズを変更可能な座標入力装置であって、
前記スクリーン上の所定位置への前記光の照射により得られる座標検出器の出力情報として、複数の異なる画面サイズそれぞれに対する前記スクリーンの位置毎の座標値を記憶する記憶手段と、
前記複数の異なる画面サイズのうち任意の画面サイズに対する前記スクリーンの位置を選択する選択手段と、
前記選択手段で選択された前記スクリーンの位置に対応する前記記憶手段に記憶されている座標値に基づいて、前記スクリーン上の前記光の照射位置を演算する演算手段と
を備える。
【００１４】
また、好ましくは、前記演算手段は、前記選択手段で選択されたスクリーンの位置に対応する座標値から算出された該スクリーン上の座標値を得るための原点に基づいて、前記スクリーン上の前記光の照射位置を演算する。
【００１５】
また、好ましくは、前記座標検出器は、前記スクリーンにおける座標値と対応する複数の画素から構成され、
前記演算手段は、前記原点と基準点での入力に対する前記スクリーンにおける座標値の差分と、前記原点と該基準点での前記画素の座標値の差分との比から決定される倍率に、前記座標検出器で検出された画素の座標値を掛けることによって前記光の照射位置を演算する。
【００１６】
また、好ましくは、前記演算手段は、前記スクリーン上の前記光の照射位置が、前記スクリーン上の座標値と前記画素の座標値との関係が線形的でない固定入力エリアかどうかを判定し、その判定結果に基づいて、前記スクリーン上の前記光の照射位置を演算する。
【００１７】
また、好ましくは、外部装置に対し、前記指定手段で指定された位置に対応する前記座標入力画面上の所定位置の座標情報を出力する出力手段とを更に備え、
前記記憶手段は、前記座標情報に基づいて行われた照射により得られる座標検出器の出力を、前記指定手段で指定された位置に対応する前記座標検出器の出力として記憶する。
【００１８】
上記の目的を達成するための本発明による座標入力装置の制御方法は以下の構成を備える。即ち、
指示具からスクリーンに照射された光を座標検出器により検出することにより、前記スクリーンへの前記光の照射位置に対応した座標出力信号を生成し、その座標出力信号に対応する画像情報を投射型表示装置によって該スクリーン上に表示させる、前記投射型表示装置と該スクリーン間の距離を変更することで該スクリーンの画面サイズを変更可能な座標入力装置の制御方法であって、
前記スクリーン上の所定位置への前記光の照射により得られる座標検出器の出力情報として、複数の異なる画面サイズそれぞれに対する前記スクリーンの位置毎の座標値を記憶媒体に記憶する記憶工程と、
前記複数の異なる画面サイズのうち任意の画面サイズに対する前記スクリーンの位置を選択する選択工程と、
前記選択工程で選択された前記スクリーンの位置に対応する前記記憶媒体に記憶されている座標値に基づいて、前記スクリーン上の前記光の照射位置を演算する演算工程と
を備える。
【００１９】
上記の目的を達成するための本発明によるコンピュータ可読メモリは以下の構成を備える。即ち、
指示具からスクリーンに照射された光を座標検出器により検出することにより、前記スクリーンへの前記光の照射位置に対応した座標出力信号を生成し、その座標出力信号に対応する画像情報を投射型表示装置によって該スクリーン上に表示させる、前記投射型表示装置と該スクリーン間の距離を変更することで該スクリーンの画面サイズを変更可能な座標入力装置の制御をコンピュータに実行させるためのプログラムを記憶したコンピュータ可読メモリであって、
前記スクリーン上の所定位置への前記光の照射により得られる座標検出器の出力情報として、複数の異なる画面サイズそれぞれに対する前記スクリーンの位置毎の座標値を記憶媒体に記憶する記憶工程と、
前記複数の異なる画面サイズのうち任意の画面サイズに対する前記スクリーンの位置を選択する選択工程と、
前記選択工程で選択された前記スクリーンの位置に対応する前記記憶媒体に記憶されている座標値に基づいて、前記スクリーン上の前記光の照射位置を演算する演算工程と
をコンピュータに実行させるためのプログラムを記憶したことを特徴とするコンピュータ可読メモリ。
【００２０】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００２１】
まず、本発明に係る光学式座標入力装置の概略構成について、図１を用いて説明する。
【００２２】
図１は本実施形態の座標入力装置の概略構成を示す図である。
【００２３】
本座標入力装置は大別して、座標入力面であるスクリーン１０に対して光スポット５を形成する指示具４と、光スポット５のスクリーン１０上の位置座標等を検出する座標検出器１とからなる。図１には、それらの構成と合わせて、出力装置としてスクリーン１０に、画像あるいは位置座標等を表示する投射型表示装置８を示している。
【００２４】
座標検出器１は、座標検出センサ部２と、この座標検出センサ部２の制御および座標演算などを行うコントローラ３、受光素子６、信号処理部７とから構成されている。光スポット５のスクリーン１０上の座標位置及び指示具４の後述する各スイッチの状態に対応する制御信号とを検出して、コントローラ３によって外部接続装置（不図示）にその情報を通信するようにしている。
【００２５】
投射型表示装置８は、ホストコンピュータ（不図示）などの外部接続装置である表示信号源からの画像信号が入力される画像信号処理部８１と、これにより制御される液晶パネル８２、ランプ８３、ミラー８４、コンデンサーレンズ８５からなる照明光学系と、液晶パネル８２の像をスクリーン１０上に投影する投影レンズ８６とからなり、所望の画像情報をスクリーン１０に表示することができる。スクリーン１０は、投射画像の観察範囲を広くするために適度な光拡散性を持たせてあるので、指示具４から発射された光ビームも光スポット５の位置で拡散され、画面上の位置や光ビームの方向によらず、光スポット５の位置で拡散された光の一部が座標検出器１に入射するように構成されている。
【００２６】
このように構成することで、指示具４によりスクリーン１０上で文字情報や線画情報を入力し、その情報を投射型表示装置８で表示することにより、あたかも『紙と鉛筆』のような関係で情報の入出力を可能とする他、ボタン操作やアイコンの選択決定などの入力操作を自由に行えるように構成したものである。
＜指示具４の詳細説明＞
図２は本実施形態の指示具の詳細構成を示す図である。
【００２７】
指示具４は、光ビームを発射する半導体レーザ、あるいは赤外光を発射するＬＥＤ等の発光素子４１と、その発光を駆動制御する発光制御部４２、電源部４４、スイッチ４３Ａ、４３Ｂと、電池等の電源部４４とを内蔵している。発光制御部４２は、スイッチ４３Ａ、４３Ｂの状態により、発光のＯＮ（オン）／ＯＦＦ（オフ）と、後述する変調方法とによって、制御信号を重畳した発光制御を行う。
【００２８】
操作者は、指示具４を握ってスクリーン１０にその先端を向ける。このとき、スイッチ４３Ａを押下するか、スイッチ４３Ｂをスクリーン１０に押し付けることによって赤外光４５が発射される。これにより、スクリーン１０上に光スポット５が生成され、所定の処理によって座標信号が出力され始める。
【００２９】
赤外光４５には、変調の有無及び符号化されたスイッチ情報、ペンＩＤ情報が含まれており、座標検出器１はこれらの情報を読み取り、制御部３はホストコンピュータに座標値とスイッチ情報、ペンＩＤ情報を送信する。
【００３０】
ホストコンピュータ側では、例えば、スイッチ４３ＢがＯＮ状態のスイッチ情報を受け取ると、ペンダウンと判定し、ＤＯＳ／Ｖ機で使用されるマウスの左ボタン操作と同様の動作を行う。描画プログラム等の時には、この状態で、線などを描くことが可能になる。また、スイッチ４３ＡをＤＯＳ／Ｖ機で使用されるマウスの右ボタンとして使うことも可能になる。
【００３１】
発行素子４１は、スイッチ４３Ａ、スイッチ４３Ｂのどちらかのスイッチが一旦ＯＮになることで、発光を開始し、スイッチがＯＦＦになっても一定時間発光を続ける。この状態のときは、画面上のカーソルのみ移動する状態になる。これにより、操作者は、片手でスクリーン１０上の任意の位置で、すばやく正確に文字や図形を描いたり、ボタンやメニユーを選択したりすることによって、軽快に操作することができる。
【００３２】
発光時間は、電源の寿命などを鑑みて、決定されればよく、例えば、数十秒間の発光時間で充分な使用感を与えることができる。
【００３３】
本実施形態では、スイッチ情報は、２種類の方法で赤外光に重畳されている。特に、スイッチ４３Ｂのスイッチ情報は、比較的頻繁に更新されるため、赤外光の変調の有無によって表現されている。
【００３４】
次に、スイッチ４３Ｂによって発光される赤外光のタイミングチャートについて、図３を用いて説明する。
【００３５】
図３は本実施形態のスイッチ４３Ｂによって発光される赤外光のタイミングチャートである。
【００３６】
図３の７ー１に示すように、スイッチ４３Ｂのペンアップ時には、変調された光と、変調されていない光が交互に発光するようになっている。また、７ー３に示すように、スイッチ４３Ｂのペンダウン時には、常に変調された光が出力される。
【００３７】
座標検出器１では、受光素子６で、この変調された光を検出し周波数検波部（後述）によって、この変調光のみを取り出す。取り出された変調光が、７−４に示すように、一定の時間内に連続している場合、ペンダウンと判定する。一方、取り出された変調光が、７ー２に示すように、間隔があいている場合、ペンアップと判定する。
【００３８】
次に、スイッチ４３Ａによって発光される赤外光のタイミングチャートについて、図４を用いて説明する。
【００３９】
図４は本実施形態のスイッチ４３Ａによって発光される赤外光のタイミングチャートである。
【００４０】
スイッチ４３Ａによって発光される赤外光に含まれるスイッチ情報およびペンＩＤ情報は他の方法によって、座標検出器１で検出されている。これは、赤外光中にあるヘッダ部を設け、このヘッダ部が検出されたら、それに続く変調光のパターンによって、スイッチ４３ＡのＯＮ、ＯＦＦ、ペンＩＤ情報を判定する。この判定も、上述のような変調光、無変調をもって、０、１の状態を表現している。
【００４１】
また、各状態の反転情報、例えば、ＳＷ１であれば／ＳＷ１の情報も対にして、送信しているため、判定間違いなどを防止することができる。
【００４２】
尚、上記実施形態では、二つのスイッチしか設けていないが、これに限定されるものではなく、より多くのスイッチを搭載してもよい。また、各スイッチの役割は、ホストコンピュータ側のドライバなどによって再定義可能になっており、ユーザの使用形態にあったものを選べば良い。
＜座標検出器１の詳細説明＞
図５は本実施形態の座標検出器の詳細構成を示す図である。
【００４３】
この座標検出器１には、集光光学系によって高感度に光量検出を行う受光素子６と、結像光学系によって光の到来方向を検出する４つのリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂとが設けられている。そして、指示具４に内蔵された発光素子４１からの光ビームにより、スクリーン１０上に生成された光スポット５からの拡散光をそれぞれ受光する。
＜集光光学系の動作説明＞
受光素子６には、集光光学系としての集光レンズ６ａが装着されており、スクリーン１０上の全範囲から高感度で所定波長の光量を検知する。この検知出力は、周波数検波部７１によって検波された後、制御信号検出部７２において制御信号（指示具４の発光制御部４２によって重畳された信号）などのデータを含むデジタル信号に復調される。
【００４４】
また、本実施形態では、タイミング信号を送信するコード等の手段を有しないため、変調信号によってリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂを制御することになる。また、後述するが、信号検出は、発光時と非発光時時の差分によって行う。そして、そのシャッタタイミングと発光タイミングをあわせるために、上記変調信号のタイミングを用いて、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂのリセット信号を発生させている。
【００４５】
ここで、周波数検波部７１で扱われる信号のタイミングチャートについて、図６を用いて説明する。
【００４６】
図６は本実施形態で扱われる信号のタイミングチャートである。
【００４７】
図６において、８−１がペンダウン時の変調信号を周波数検波部７１で検波した後の信号ＩＲである。このＩＲ信号は、いわば、発光している期間をあらわしているため、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂのシャッタタイミングをこの信号に同期させる必要がある。
【００４８】
一方、８−２が、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂのシャッタ周期をあらわすもので、Ｌ（ローレベル）の時に発光時の検出を行い、Ｈ（ハイレベル）の時に非発光時の検出を行うタイミングを示す信号ＩＲＣＬＫである。このＩＲＣＬＫ信号は、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂに供給されているクロックによって、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂから出力される。このＩＲＣＬＫ信号と、発光期間を同期させるために、８−１で示すＩＲ信号が検出されたら、ＩＲ信号とＩＲＣＬＫ信号が同期する程度の一定量の遅延時間をもって、８ー３で示すリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂにクリア（ＣＬＲ）信号を出力する。
【００４９】
このクリア動作によって、同期が可能になる。遅延量は、ＣＬＲ信号が終了後、ＩＲＣＬＫ信号がＬＯＷになる時間によって、決定すればよい。
＜結像光学系の動作説明＞
図７はリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの配置関係を示す図である。
【００５０】
図７において、結像光学系としての円筒レンズ９０Ｘａ，９０Ｘｂ、９０Ｙａ，９０Ｙｂによって光スポット５の像が、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの各センサの感光部２１Ｘａ、２１Ｘｂ、２１Ｙａ、２１Ｙｂに線状に結像する。これらリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂを正確に直角に配置することによって、それぞれがＸ座標、Ｙ座標を反映した画素にピークを持つ出力が得られる。
【００５１】
そして、これらリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂは、センサ制御部３１によって制御され、出力信号はセンサ制御部３１に接続されたＡＤ変換部３１Ａによってデジタル信号として座標演算部３２に送られる。座標演算部３２は、入力されたデジタル信号より出力座標値を計算し、その計算結果を制御信号検出部７２からの制御信号などのデータと共に通信制御部３３を介して、所定の通信方法で外部制御装置（不図示）に送出する。また、調整時など通常と異なる動作（例えば、ユーザ校正値の設定）を行わせる場合は、通信制御部３３からセンサ制御部３１、座標演算部３２へモード切換信号が送られる。
【００５２】
本発明では、光スポット５の像がリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの各センサの画素の数倍の像幅となるように焦点調節あるいは拡散フィルム等を用いて、故意にボケを生じさせている。但し、大きくぼけさせると、ピークレベルが小さくなってしまうので、数画素程度の像幅が最適である。画素数の少ないＣＣＤを有するリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂと、適度にボケた光学系を用いることが、本発明の特徴の一つであり、このような組み合わせを用いることによって、演算データ量が少なく、小さなセンサと光学系で非常に高分解能、高精度、高速でかつ低コストな座標入力装置を実現することができる。
【００５３】
アレイ状に配置されたＸ座標検出用リニアセンサ２０Ｘａ，２０Ｘｂ，Ｙ座標検出用リニアセンサ２０Ｙａ，２０Ｙｂは同一の構成であり、その詳細構成について、図８を用いて説明する。
【００５４】
図８は本実施形態のリニアセンサの詳細構成を示す図である。
【００５５】
受光部であるセンサアレイ２１はＮ個の画素（本実施形態では、６４画素）からなり、受光量に応じた電荷が積分部２２に貯えられる。積分部２２は、Ｎ個からなり、ゲートＩＣＧに電圧を加えることによってリセットできるため、電子シャッタ動作が可能である。この積分部２２に貯えられた電荷は、電極ＳＴにパルス電圧を加えることによって蓄積部２３に転送される。この蓄積部２３は、２Ｎ個からなり、指示具４の発光タイミングに同期したＩＲＣＬＫ信号のＨ（ハイレベル）とＬ（ローレベル）とにそれぞれ対応して別々に電荷が蓄積される。その後、光の点滅に同期して各々別々に蓄積された電荷は、転送クロックを簡単にするために設けられた２Ｎ個からなるシフト部２４を介して、２Ｎ個からなるリニアＣＣＤ部２５に転送される。
【００５６】
これにより、リニアＣＣＤ部２５には、Ｎ画素のセンサ出力の光の点滅に各々対応した電荷が隣接して並んで記憶されることになる。これらリニアＣＣＤ部２５に並べられた電荷は、２Ｎ個からなるリングＣＣＤ部２６に順次転送される。このリングＣＣＤ２６は、ＣＬＲ信号によってＣＬＲ部２７で空にされた後、リニアＣＣＤ部２５からの電荷を順次蓄積していく。
【００５７】
このようにして蓄積された電荷は、アンプ２９によって読み出される。このアンプ２９は、非破壊で蓄積電荷量に比例した電圧を出力するものであり、実際には、隣接した電荷量の差分、すなわち、発光素子４１の点灯時の電荷量から非点灯時の電荷量を差し引いた分の値を増幅して出力する。
【００５８】
この時、得られるリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの出力波形の一例について、図９を用いて説明する。
【００５９】
図９は本実施形態のリニアセンサの出力波形の一例を示す図である。
【００６０】
図９中、Ｂの波形は発光素子４１の点灯時の信号のみを読み出したときの波形であり、Ａの波形は非点灯時の波形、すなわち、外乱光のみの波形である（図８に示したように、リングＣＣＤ２６には、これらＡ，Ｂの波形に対応する画素の電荷が隣接して並んでいる）。アンプ２９は、その隣接する電荷量の差分値（Ｂ−Ａの波形）を非破壊増幅して出力することになるが、これにより、指示具４からの光のみの像の信号を得ることができ、外乱光（ノイズ）の影響を受けることなく安定した座標入力が可能となる。
【００６１】
また、図９に示したＢ−Ａの波形の最大値をＰＥＡＫ値と定義すれば、光に対してリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの各リニアセンサが機能する蓄積時間を増大させれば、その時間に応じてＰＥＡＫ値は増大する。換言すれば、ＩＲＣＬＫ信号の１周期分の時間を単位蓄積時間とし、それを単位として蓄積回数ｎを定義すれば、蓄積回数ｎを増大させることでＰＥＡＫ値は増大する。そして、このＰＥＡＫ値が所定の大ささＴＨ１に達したことを検出することで、常に一定した品位の出力波形を得ることができる。
【００６２】
一方、外乱光が非常に強い場合、差分波形Ｂ−Ａのピークが十分な大きさになる前に、リングＣＣＤ２６の転送電荷が飽和してしまう恐れがある。このような場合を考慮して、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの各リニアセンサにはスキム機能を有するＳＫＩＭ部２８が付設されている。ＳＫＩＭ部２８は、非点灯信号のレベルを監視し、図１０において、ｎ回目のＡｎで信号レベルが所定の値を超えている場合（図中、一点鎖線）、一定量の電荷をＡ，Ｂの各画素から抜き取るようにする。これにより、次のｎ＋１回目には、Ａｎ＋１に示すような波形となり、これを繰り返すことによって、非常に強い外乱光があっても飽和することなく、信号電荷の蓄積を続けることができる。
【００６３】
従って、指示具４からの点滅光の光量が微弱であっても、多数回積分動作を継続することによって、十分な大きさの信号波形を得ることが可能になる。特に、指示具４に可視光域の発光源を用いる場合、表示画像の信号が重畳するので、前述したスキム機能と差分出力を用いることによって、非常にノイズの少ないシャープな波形を得ることが可能となる。
【００６４】
次に、リングＣＣＤ２６の出力制御におけるタイミングチャートについて、図１１を用いて説明する。
【００６５】
図１１は本実施形態のリングＣＣＤの出力制御におけるタイミングチャートである。
【００６６】
まず、ＩＲ信号から一定遅延時間後のＣＬＲ信号によりすべての動作がクリアされる。このあと、指示具４による入力があると、ＣＣＤＯＵＴ信号のような検出信号が、積分動作によって大きくなる。そして、一定レベル（ＶＴＨ）を超えると、コンパレータの出力ＣＭＰＯＵＴ信号が立ち下がりリングＣＣＤ２６の積分動作を停止させる。センサ制御部３１は、このＣＭＰＯＵＴ信号が下がるとＡＤ変換を開始する。ＡＤ変換期間は、ＡＤＳＭＰＬ信号で示したように、リングＣＣＤ２６の画素出力すべてに対して行われる。
【００６７】
上述のように、リングＣＣＤ２６の出力が、一定レベルを超えない場合には、センサ制御部３１は、クリアからの経過時間をカウントし、あらかじめ定めた一定時間を過ぎているような場合には、強制的にＡＤ変換動作を行う。このようにしておけば、入力が小さい場合でも、一定サンプリング時間内に必ずサンプリングが行われるようになる。
【００６８】
ＡＤ変換は、図１２に示すようなタイミングで行われる。つまり、リングＣＣＤ２６の出力であるＣＣＤＯＵＴ信号は時間軸を拡大すると、図１２のように画素単位の検出光レベルに応じた電圧で出力される。この信号を、サンプリングパルスＳＰのタイミングで画素毎にＡＤ変換し、センサ制御部３１は、そのレベルをメモリなどに記憶する。
【００６９】
上記のような動作を、各座標軸に対応したリングＣＣＤ２６のすべてに対して行い、後述の座標計算を行う。
【００７０】
また、座標検出器１に到達する指示具４の光は、指示具４に内蔵された電源部（電池）４４の消耗により変動する他、指示具４の姿勢によっても変動する。特に、スクリーン１０の光拡散性が小さい楊合、表示画像の正面輝度は向上するが、この指示具４の姿勢による座標検出器１への入力光量の変動が大きくなってしまう。しかしながら、本発明では、このような場合であっても、積分回数が自動的に追従して常に安定した出力信号を得ることができるので、安定した座標検出が可能となる。
【００７１】
以上説明したように、点滅光に高周波数のキャリアを加え、そのキャリアを周波数検波して得た所定周期の復調信号によって積分動作のタイミング制御を行うようにしたので、指示具と搬像部とをコードレスで同期させることができ、使い勝手の良い座標入力装置を実現することができる。また、積分部からの差分信号中のピークレベルを関しし、積分動作を停止させる積分制御手段を設けたので、光量が変化してもほぼ一定レベルの光スポット像の信号を作成でき、これにより、常に安定した高分解能な座標演算結果を得ることができる。
＜座標値演算＞
座標演算部３２における座標演算処理について説明する。
【００７２】
上述したようにして得られた４つのリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの出力信号（アンプ２９からの差分信号）は、センサ制御部３１に設けられたＡＤ変換部３１Ａでデジタル信号として座標演算部３２に送られ、座標値が演算される。座標値の演算は、まず、Ｘ座標、Ｙ座標の各方向の出力に対して求める。尚、演算処理は、Ｘ座標、Ｙ座標同様であるので、Ｘ座標値の演算についてのみ説明する。
【００７３】
リニアセンサ２０Ｘａ，２０Ｘｂはそれぞれ、図１３に示すように、スクリーン１０の縦半分の検出領域として構成されており、その中央付近では、検出領域が重複している。
【００７４】
リニアセンサ２０Ｘａは、スクリーン１０のＳＸａ領域に光スポットがある場合に光を検出し、リニアセンサ２０Ｘｂはスクリーン１０のＳＸｂ領域に光スポットがある場合に光を検出する。重複領城では、両センサで検出が行われる。その時のリニアセンサ２０Ｘａ，２０Ｘｂの出力について、図１４を用いて説明する。
【００７５】
図１４はリニアセンサの出力を模式的に示す図である。
【００７６】
中央の重なりの部分に光スポットがある場合には、１５−１に示すように、リニアセンサ２０Ｘａ，２０Ｘｂともに出力が現れる。一方、ＳＸｂ領域に光スポットがある場合には、１５−２に示すように、リニアセンサ２０Ｘｂのみに出力が現れる。このように理想的に重複部分以外では、一方の出力がある場合には、例えば、一方の座標値を元に、その値が、基準点を超えたか否かで、切り換えの判定を行い、座標値を連結する。
【００７７】
しかしながら、ノイズ、あるいは漏れ光、外乱光などによって、１５−３に示すような本来の光スポット以外の所に、出力が生じる場合がある。
【００７８】
このような時に、一方の座標値で判定を行っていると、間違った判定をしてしまい表示画面上で、いきなり違う点にカーソルなどが表示され、例えば、描画中であると、不要な線が引かれてしまうことになる。そこで、本発明では、得られたリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの出力のピーク値に基づいて、座標値の判定を行う。
次に、本実施形態の座標演算処理の処理フローについて、図１５を用いて説明する。
【００７９】
図１５は本実施形態の座標演算処理の処理フローを示すフローチャートである。
【００８０】
尚、リニアセンサ２０Ｘａ，２０Ｘｂの各リングＣＣＤ２６の出力をＤＸａ、ＤＸｂとする。この値は、先に説明したように、ＡＤ変換された値であるから、リングＣＣＤ２６の各画素ごとの光検出量に応じた電圧値である。そこで、各データの最大値をもって、ピークレベルを決定することができる。
【００８１】
また、リニアセンサ２０Ｘａ，２０Ｘｂで検出される座標を、それぞれＣＣＤＸａ、ＣＣＤＸｂとする。
【００８２】
まず、ステップＳ２０１で、任意の座標入力点での各画素の差分信号である差分データＤＸａ（ｎ）（本実施形態の場合、画素数ｎ＝６４）が読み込まれ、バッファメモリ（不図示）に貯えられる。ステップＳ２０２で、このデータのピークレベルを求め、Ｘａｐとして記憶する。次に、ステップＳ２０３で、あらかじめ設定しておいた閾値Ｖと比較し、閾値以上のデータ値Ｅｘａ（ｎ）を算出する。このデータ値Ｅｘａ（ｎ）を用いて、ステップＳ２０４で、リニアセンサ２０Ｘａ上の座標ＣＣＤＸａを算出する。本実施形態では、重心法により出力データの重心を算出しているが、出力データＥｘａ（ｎ）のピーク値を求める方法（例えば、微分法による）等、計算の方法はこれに限定されないことは言うまでもない。
【００８３】
同様にして、リニアセンサ２０Ｘｂ上の座標ＣＣＤＸｂも算出する。
【００８４】
これら算出された座標値は、リニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６上での画素に対応した座標である。そのため、これらの座標値を連結することで一つのリニアセンサ２０Ｘａ，２０Ｘｂ上での座標値として扱えるようになる。
【００８５】
そこで、リニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６上での画素に対応した座標値を連結するための基準座標を定義する。
【００８６】
この基準座標の定義について、図１６を用いて説明する。
【００８７】
図１６は本実施形態の基準座標の定義を説明するための図である。
【００８８】
図１６は、リニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６の座標を概念的に配置した構成を示している。リニアセンサ２０Ｘａ，２０Ｘｂの検出領域は、先に説明したように重複部分を有しているため、その座標位置を重ねると、同図のようになる。
【００８９】
この時、リニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６が共に測定可能な領域で、基準点をあらかじめ定義する。つまり、スクリーン１０上の重複部分に入力を行い、座標ＣＣＤＸａ，ＣＣＤＸｂ（ＣＣＤＸａ＿ｏｒｇ，ＣＣＤＸｂ＿ｏｒｇ）として読み込む。これらの値を、基準点データ（基準座標）として、ＥＥＰＲＯＭ等の不揮発性メモリ（不図示）に記憶しておき、通常の使用時にはこの値を読み出して、座標値演算を行う。
【００９０】
以下、これらの基準点データを用いて、リニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６上での画素に対応した座標値を連結した連結座標ＣＣＤＸの算出処理について、図１７を用いて説明する。
【００９１】
図１７は本実施形態の連結座標ＣＣＤＸの算出処理の処理フローを示すフローチャートである。
【００９２】
まず、ステップＳ２０７で、リニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６の基準点データ（ＣＣＤＸａ＿ｏｒｇ，ＣＣＤＸｂ＿ｏｒｇ）をメモリから読み込む。ステップＳ２０８で、指示具４からの入力がなされた時に計算されるＣＣＤＸａ、ＣＣＤＸｂの値と、基準点データの差分を算出する。これにより、図１６の中央付近にある直線Ｌ１の点を原点としたリニアＣＣＤ上の座標に変換される。
【００９３】
次に、ステップＳ２０９で、先に記憶しておいたリニアセンサ２０Ｘａ，２０Ｘｂ各々のピークレベルＸａＰ、ＸｂＰを比較する。通常、外乱光などによる信号は、正規の光スポットによる信号よりかなり小さいため、ピーク値の大きい方を正規の座標として採用する。このようにして、Ｌ１を境にリニアセンサ２０Ｘａ，２０ＸｂのそれぞれのリニアＣＣＤ２６の両リニアＣＣＤの座標値を連結できる。
【００９４】
具体的には、ピークレベルＸａＰがピークレベルＸｂＰより大きい場合（ステップＳ２０９でＹＥＳ）、ステップＳ２１０に進み、ＣＣＤＸ＝ＣＣＤＸａとして、ステップＳ２１２に進む。一方、ピークレベルＸａＰがピークレベルＸｂＰ未満である場合（ステップＳ２０９でＮＯ）、ステップＳ２１１に進み、ＣＣＤＸ＝ＣＣＤＸｂとして、ステップＳ２１２に進む。
【００９５】
そして、ステップＳ２１２で、スクリーン１０上の座標値を一致させるために、上記の処理で得られたＣＣＤＸからスクリーン１０上の座標値Ｘへの変換であるスクリーン座標計算を行う。尚、この処理の詳細については、後述する。
【００９６】
以上の処理は、Ｘ座標について説明を行ったが、同様にして、Ｙ座標についても行う。
【００９７】
そして、上述のような演算処理によって算出した座標値（Ｘ，Ｙ）を示すデータ信号は、座標演算部３２から通信制御部３３に送られる。この通信制御部３３には、そのデータ信号と、制御信号検出部７２からの制御信号とが入力される。そして、これらデータ信号および制御信号は、ともに所定の形式の通信信号に変換され、外部の表示制御装置に送出される。これにより、スクリーン１０上のカーソルやメニュー、文字や線画の入力などの各種操作を行うことができる。
＜基準点設定＞
ＣＣＤ座標値とスクリーン１０上の座標値と一致させるためには、ＣＣＤ座標値をスクリーン１０上の座標値へ変換するための倍率、原点の座標値などの情報をあらかじめ、決定しておく必要がある。そのために、既知の複数の座標位置（基準点）のＣＣＤ座標を取得し、不揮発メモリ等に記憶する。
【００９８】
図１８は本実施形態の基準点の座標位置例を示す図である。
【００９９】
まず、基準となる原点を設定する。その際には、同図Ｐ０位置に入力を行い、その時のＣＣＤ座標値を記憶する。この時、リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの重複部分を、この位置に設定しておけば、上述のようなリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの座標値を連結するための基準点入力を兼ねることも可能である。
【０１００】
次に、原点にたいして、倍率決定のための入力を行う。実際には原点から既知の点一点の情報があれば倍率は計算可能である。
【０１０１】
しかしながら、レンズの収差、ばらつき等によって、入力位置（基準点）によって、倍率にばらつきが生じる。
【０１０２】
図１９は本実施形態の基準点による倍率のばらつき例を示す図である。
【０１０３】
この図は、基準点のＣＣＤ座標値の出力を示している。
【０１０４】
例として、図１８の基準点Ｐ０からＰ７間のＣＣＤ座標値の理論値は線形性のある直線状のデータ列となる。これに対し、基準点Ｐ０からＰ３間のＣＣＤ座標値の実測値は、理論値と同様、線形性にＣＣＤ座標値の出力が得られるが、基準点Ｐ７付近では、ＣＣＤ座標値は線形性でなくなり、ＣＣＤ座標値の理論値の直線状のデータ列からずれてしまうことがある。このような場合に、例えば、基準点Ｐ７で、倍率のためのデータを取得し、それを元に座標計算を行うと、全体的に誤差を生じてしまうことになる。
【０１０５】
そこで、倍率決定のためには、Ｐ３点などの、比較的、ＣＣＤ座標値の理論値に近いＣＣＤ座標値の実測値を得ることができる基準点でのＣＣＤ座標値を用いる。
【０１０６】
上述してきたように、複数のリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂを用いて連結して座標値を得るので、図１８のように、各々リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの用いられる範囲は、図中Ｘａ，Ｙａ，Ｘｂ，Ｙｂで示される領域になる。
【０１０７】
円筒レンズ９０Ｘａ，９０Ｘｂ，９０Ｙａ，９０Ｙｂ自体は、各リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂに対して用意してあるので、結局、Ｘａ，ｂ、Ｙａｂそれぞれがばらつきを有することになる。
【０１０８】
そこで、各リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂに対応した倍率を求める必要があり、そのために、基準点Ｐ３以外にも、基準点Ｐ１，Ｐ２，Ｐ４の各点でのリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの出力を記憶する。
【０１０９】
基準点Ｐ０が図１８のように重複部分に存在するとすると、この点ではＸａｂ，Ｙａｂの各々の値が取得される。この時のリニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０ＹｂのＣＣＤデータをＰ０Ｘａ、Ｐ０Ｙａ、Ｐ０Ｘｂ、Ｐ０Ｙｂとする。基準点Ｐ０は原点であるので、この場合には、スクリーン１０上の座標値は（Ｘ＿Ｐ０，Ｙ＿Ｐ０）＝（０，０）である。
【０１１０】
倍率の決定は、基準点Ｐ３を例にとり、基準点Ｐ３でのＣＣＤ座標をＰ３Ｘａ、Ｐ３Ｙａとし、スクリーン１０上の座標値をＸ＿Ｐ３、Ｙ＿Ｐ３とした場合、倍率α３ｘ、α３ｙは
α３ｘ＝（Ｘ＿Ｐ３−Ｘ＿Ｐ０）／（Ｐ３Ｘａ−Ｐ０Ｘａ）      （１）
α３ｙ＝（Ｙ＿Ｐ３−Ｙ＿Ｐ０）／（Ｐ３Ｙａ−Ｐ０Ｙａ）      （２）
で計算される。
【０１１１】
このように、各基準点に対して計算された倍率をもって、ＣＣＤＸ座標値に掛け合わせることでスクリーン１０上の座標値を計算することができる。
【０１１２】
実際の計算では、まず、得られたＣＣＤＸ、ＣＣＤＹ座標値から、領域判定を行い、各領域に対応した倍率α１、２、３、４を用いて計算を行う。
【０１１３】
このようにして、線形性の良い基準点での倍率を決定したが、図１８のように、基準点Ｐ７付近（スクリーン１０周辺部）では線形性が低下しているので、スクリーン１０周辺部では誤差を生じることになる。
【０１１４】
実際の機器では、スクリーン１０の有効投影範囲以外に余白となる部分が設定されるが、この領域が小さい場合には、入力がその部分で制限され、実際の投影範囲に入力できない部分が発生する可能性がある。
【０１１５】
通常のＰＣ使用環境では、メニューバー等を画像周辺部へカーソルを移動することで、表示するような場合があり、このように、誤差が発生していると、その操作を阻害する可能性がある。
【０１１６】
そこで、倍率は、そのままに、スクリーン１０周辺部への入力を可能とするために、基準点Ｐ５からＰ８までのＣＣＤ座標値を取得、記憶しておき、固定入力点のデータとする。ここで言う固定入力点とは、入力がその位置になされた場合、必ず、あらかじめ設定された点の座標を出力する点である。
【０１１７】
つまり、その固定入力点でのＣＣＤ座標が得られた場合には、倍率に関わらずスクリーン１０上の固定の座標値を出力する。
【０１１８】
そのさい、その点だけを強制的に固定座標値にすると、急に座標値がかわってしまい、使用感を低下させるので、適当な点（例えば、基準点Ｐ７に対して基準点Ｐ３）のような点から、徐々に変化させる必要がある。
【０１１９】
ここで、座標系を図１８の基準点Ｐ０から右をＸプラス方向、基準点Ｐ０より下をＹプラス方向とした場合に、得られたＣＣＤ座標値に倍率を乗じたものがＸ＿Ｐ３より大きく、Ｙ＿Ｐ３より小さい場合、以下の式で重みを変えて、座標計算を行う。
【０１２０】
0004018326.tif 000002
他の領域についても、各々基準点Ｐ１と基準点Ｐ５、基準点Ｐ４と基準点Ｐ６、基準点Ｐ２と基準点Ｐ８の組み合わせで同様の計算を行えば良い。
【０１２１】
また、上記式は、一例であり、より高次の式を用いても良い。
【０１２２】
以上のようにして、スクリーン１０上の座標値と一致するＣＣＤ座標値を計算することができる。これは、図１７のステップＳ２１２のスクリーン座標の計算処理に相当する。
【０１２３】
以下、図１７のステップＳ２１２の処理の詳細について、図２０を用いて説明する。
【０１２４】
図２０は本実施形態のステップＳ２１２の処理の詳細を示すフローチャートである。
【０１２５】
まず、ステップＳ３０２で、不揮発メモリ等に記憶された基準点Ｐ０〜Ｐ８でのＣＣＤ座標値を読み込む。このＣＣＤ座標値と、スクリーン１０上の基準点Ｐ０〜Ｐ８に対応する既知の座標値を用いて、式（１）、（２）を用いて倍率を計算する。
【０１２６】
ステップＳ３０４で、入力された各リニアセンサのＣＣＤ座標値を読み出す。次に、ステップＳ３０５で、読み出したＣＣＤ座標値を連結する。
【０１２７】
次に、ステップＳ３０６で、連結されたＣＣＤ座標値から、その座標値がスクリーン１０上のどの象現に入るか判定する。これは、原点座標との比較で行えば良く、例えば、図１８に示すように、第１象現をＳ１、以下各象現毎にＳ２，Ｓ３，Ｓ４とする。
【０１２８】
判定された象現によって、各々の象現の計算に振り分けられる。
【０１２９】
例えば、第１象限Ｓ１について説明すれば、ステップＳ３１１で、第１象限Ｓ１の倍率と連結されたＣＣＤ座標値を乗ずて、スクリーン座標を計算する。次に、ステップＳ３１５で、計算されたスクリーン座標が固定入力点となる固定エリアであるか否か判定する。この判定は、第１象限Ｓ１の場合では、上述したように、基準点Ｐ３の座標値で判定すれば良い。他の象現も同様にして判定すれば良い。
【０１３０】
ステップＳ３１５において、固定エリアでない場合（ステップＳ３１５でＮＯ）、ステップＳ３２３に進み、その計算されたスクリーン座標を出力する。一方、固定エリアである場合（ステップＳ３１５でＹＥＳ）、式（３）、（４）を用いて固定エリアに対するスクリーン座標を計算する。そして、ステップＳ３２３に進み、その計算されたスクリーン座標を出力する。座標送出後は、すでに倍率等は計算されてメモリに貯えられているので、再度、ステップＳ３０４に戻る。
【０１３１】
ここでは、第１象限Ｓ１について説明したが、他の象現でも用いる基準点の座標値が異なるだけで、演算方法は同様である。
【０１３２】
以上の様に、既知の基準点のＣＣＤ座標値を取得し、不揮発性メモリに記憶しておく。そして、記憶されたＣＣＤ座標値を用いて、原点、倍率、固定入力点を計算し座標計算を行うことで、より高精度の座標入力装置を提供可能になる。
【０１３３】
尚、複数の基準点のＣＣＤ座標値の取得は、既知の入力位置に入力できる治具を用いてもよいし、また、画面上で出荷時に設定することもできる。
【０１３４】
例えば、通信制御部３３に対して、スクリーン１０上の基準点の座標値を送信すると、ホストコンピュータ側のドライバがスクリーン１０上のその位置にカーソルを表示する。そして、そのカーソル位置に対して、入力を行えば基準点のＣＣＤ座標値が得られる。順次、送出する座標値を変更して繰り返しこの処理を行えば、図２１に示すごとく、９点の基準点のＣＣＤ座標値をホストコンピュータ側で入力することができる。
【０１３５】
図２１は本実施形態の９点の基準点の座標値を入力する場合の処理を示すフローチャートである。
【０１３６】
ホストコンピュータでは、基準点取得モードに入ると、ステップＳ４０２で、ＣＣＤ座標値を取得する基準点Ｐｎ（ここでは、ｎ：１，２，…，８，９）に基準…Ｐ０のスクリーン１０の座標値をセットする（ここでは説明を簡単にするため、Ｘ，Ｙに細かく分けて説明していないが、Ｘ，Ｙ共にセットされている）。
【０１３７】
次に、ステップＳ４０３で、基準点ＰｎにおけるＣＣＤ座標値の取得回数を計測するためのカウンタをクリアする。これは、基準点のＣＣＤ座標値をより精度良くするために、同一の基準点のＣＣＤ座標値を複数回取得し、その取得された複数のＣＣＤ座標値の平均値をその基準点のＣＣＤ座標値とするためである。また、この取得回数は、装置のノイズ等の状態に応じて、要求される精度に基づいて決定すればよい。
【０１３８】
次に、ステップＳ４０４で、先にセットした基準点の座標値を送出する。ステップＳ４０５で、その基準点に対するＣＣＤ座標を取得し、メモリに記憶する。ステップＳ４０７で、取得回数のカウンタをインクリメントする。ステップＳ４０８で、規定回数取得したか否かを判定する。
【０１３９】
規定回数に達していない場合（ステップＳ４０８でＮＯ）、ステップＳ４０５に戻る。規定回数に達している場合（ステップＳ４０８でＹＥＳ）、ステップＳ４０９に進み、同一の基準点に対して取得した複数のＣＣＤ座標値の平均を計算し、この平均のＣＣＤ座標値を各基準点毎に用意されたメモリに格納する。
【０１４０】
ステップＳ４１０で、処理対象が最後の基準点Ｐｎであるか否かを判定する。最後の基準点Ｐｎでない場合（ステップＳ４１０でＮＯ）、ステップＳ４１１に進み、処理対象の基準点Ｐｎを１インクリメントして、ステップＳ４０３に戻る。一方、最後の基準点Ｐｎである場合（ステップＳ４１０でＹＥＳ）、ステップＳ４１２で、得られた各基準点のＣＣＤ座標値を不揮発メモリに格納する。
【０１４１】
このような作業は、毎回電源投入時に行ってもよいが、ユーザの作業が煩雑になり、また、精度も確保できないので、一般的には出荷時に行う。
【０１４２】
しかしながら、この種のプロジェクタを用いた機器では、座標入力装置を構成する投射型表示装置８とスクリーン１０間の距離を変更することで、簡単に、画面サイズの変更を行うことができる。つまり、出荷後にユーザの希望のサイズに画面サイズを変更することが可能になる。
【０１４３】
図２２は本実施形態の画面サイズを変更した場合の座標値の関係を示す図である。
【０１４４】
投射型表示装置８から、通常であれば、１０Ａの位置でスクリーン１０に画像が投影されている状態から、スクリーン１０を１０Ｂの位置に設定することで、より大画面の画像を得ることができる。
【０１４５】
この時、座標検出器１の位置が、投射型表示装置８の光軸上に設定されていない場合、１０Ａの位置でのスクリーン１０上の場合には画像と一致していた状態が、１０Ｂの位置でのスクリーン１０上では点Ａ’，Ｂ’，Ｃ’の位置をおのおの点Ａ、Ｂ、Ｃの位置と計算してしまうため、実際の入力点と表示とがずれてしまうことになる。
【０１４６】
このずれを防止するために、あらかじめ、１０Ｂの位置にスクリーン１０が設定されている場合に、出荷時に記憶した基準点とスクリーン１０の配置位置毎のＣＣＤ座標値を対応づけて記憶しておくことで、基準点を共通にしつつ、スクリーン１０の位置が変更された場合にも適切に座標値を計算することができる。
【０１４７】
図２３は本実施形態の画面サイズが変更された場合の座標値の計算概念を示す図であるである。
【０１４８】
１０Ａの位置のスクリーン１０の点Ａに表示される画像が、１０Ｂの位置のスクリーン１０上で点ａに表示されるとすると、点ａは座標検出器１からは１０Ａの位置のスクリーン１０の点Ａ”に相当する。同様に、点ｂが点Ｂ”、点ｃが点Ｃ”となる。
【０１４９】
このように、上述のような９点の基準点を入力する場合に対して、２つのスクリーン座標値を設定しておく。
【０１５０】
つまり、基準点のＰ３Ｘに対する座標値として、１０Ａの位置のスクリーン１０における座標値がＸ０＿Ｐ３と、１０Ｂの位置のスクリーン１０における座標値がＸ１＿Ｐ３として、各位置毎の基準点の座標値をそれぞれメモリに記憶しておく。
【０１５１】
このように、複数種類のある位置毎のスクリーン１０の座標値を選択する場合には、例えば、座標検出器１にスイッチ８０（図５）を設け、スイッチのＯＮ／ＯＦＦで選択するようにすれば良い。例えば、スイッチ８０がＯＦＦの場合には、１０Ａの位置のスクリーン１０の座標値を用いて座標計算を行う。また、スイッチ８０がＯＮの場合には、１０Ｂの位置のスクリーン１０の座標値を、１０Ａの位置へ写像した座標値を用いて座標計算を行う。但し、この時、複数のリニアセンサのＣＣＤ座標値を連結するための基準点が基準点Ｐ０と一致しているとすると、連結されたＣＣＤ座標は、実際の入力位置に対してずれたものになる。このずれ（オフセット）は、基準点Ｐ０の投影位置相当が含まれるので、１０Ｂの位置のスクリーン１０の状態での座標計算では、このオフセット分を調整する必要がある。
【０１５２】
以下、このオフセット分を調整する場合のスクリーン座標の計算処理について、図２４を用いて説明する。
【０１５３】
図２４は本実施形態のオフセット分を調整する場合のスクリーン座標の計算処理を示すフローチャートである。
【０１５４】
尚、このフローチャートでは、説明を簡単にするために、図２０で説明した象現の判定は割愛する。また、図２２及び図２３の１０Ａの位置を通常位置として、この座標系をＹ０座標系として、これに対し、１０Ｂの位置をＹ１座標系とする。また、ここでは、２つの座標系を示しているが、これに限定されるものではなく、複数種類の位置に応じた座標系を構成できることは言うまでもない。
【０１５５】
まず、ステップＳ５０２で、不揮発メモリ等に記憶された基準点のＣＣＤ座標値を読み込む。次に、ステップＳ５０３で、座標検出器１のスイッチ８０の状態を読み込み、スイッチ８０の状態がＯＮであるか否かを判定する。つまり、Ｙ０座標系であるかＹ１座標系であるかを判定する。スイッチ８０の状態がＯＦＦである場合（ステップＳ５０４でＮＯ）、ステップＳ５０５に進み、通常の計算として、オフセット値としてレジスタＯＦＦＳＥＴ＝Ｙ０＿Ｐ０（０）を書き込む。そして、ステップＳ５０６で、通常のＹ０座標系で倍率計算を行う。
【０１５６】
一方、スイッチ８０がＯＮである場合（ステップＳ５０４でＹＥＳ）、ステップＳ５０５に進み、オフセット値としてレジスタＯＦＦＳＥＴ＝Ｙ１＿Ｐ０を書き込む。そして、ステップＳ５０７で、Ｙ１座標系で倍率計算を行う。
【０１５７】
次に、ステップＳ５０８で、入力された各リニアセンサのＣＣＤ座標値を読み出す。次に、ステップＳ５０９で、読み出したＣＣＤ座標値を連結する。
【０１５８】
次に、ステップＳ５１０で、計算された倍率と連結されたＣＣＤ座標値を乗じて、スクリーン座標を計算する。ここで計算されるスクリーン座標は、上述したようにオフセットが含まれているので、ステップＳ５１１で、レジスタＯＦＦＳＥＴに書き込まれている値を加算して、オフセットの補正を行う。尚、ここでは、スクリーン座標系のスクリーン座標を計算してからオフセットの補正を行っているが、基準点Ｐ０のオフセットをＣＣＤ座標値に換算して補正しても良い。
【０１５９】
次に、ステップＳ５１２で、座標検出器１のスイッチ８０の状態を読み込み、スイッチ８０の状態がＯＮであるか否かを判定する。スイッチ８０の状態がＯＦＦである場合（ステップＳ５１２でＮＯ）、ステップＳ５１３に進む。次に、ステップＳ５１３で、計算されたスクリーン座標が固定入力点となる固定エリアであるか否か判定する。ステップＳ５１３において、固定エリアでない場合（ステップＳ５１３でＮＯ）、ステップＳ５１７に進み、その計算されたスクリーン座標を出力する。一方、固定エリアである場合（ステップＳ５１３でＹＥＳ）、ステップＳ５１５に進み、Ｙ０座標系を使用して固定エリアに対するスクリーン座標を計算する。そして、ステップＳ５１７に進み、その計算されたスクリーン座標を出力する。座標送出後は、すでに倍率等は計算されてメモリに貯えられているので、再度、ステップＳ５０８に戻る。
【０１６０】
一方、ステップＳ５１２で、スイッチ８０の状態がＯＮである場合（ステップＳ５１２でＹＥＳ）、次に、ステップＳ５１４で、計算されたスクリーン座標が固定入力点となる固定エリアであるか否か判定する。ステップＳ５１４において、固定エリアでない場合（ステップＳ５１４でＮＯ）、ステップＳ５１７に進み、その計算されたスクリーン座標を出力する。一方、固定エリアである場合（ステップＳ５１４でＹＥＳ）、ステップＳ５１５に進み、Ｙ１座標系を使用して固定エリアに対するスクリーン座標を計算する。そして、ステップＳ５１７に進み、その計算されたスクリーン座標を出力する。座標送出後は、すでに倍率等は計算されてメモリに貯えられているので、再度、ステップＳ５０８に戻る。
【０１６１】
以上説明したように、本実施形態によれば、スクリーンの配置位置毎に、既知の基準点のＣＣＤ座標値を不揮発性メモリに記憶しておき、スクリーンの位置に対応するＣＣＤ座標値からＣＣＤ座標値から最終的なスクリーン１０上の座標値を得るための原点、倍率、固定点を算出し、座標演算を行うことで、高精度な座標入力装置を提供可能になると共に、スクリーンの位置が変更された場合にも、常に、適切な基準点のＣＣＤ座標値を用いた高精度の座標演算が可能になる。
【０１６２】
尚、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１６３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１６５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６６】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図１５、図１７、図２０、図２１及び図２４に示すフローチャートに対応するプログラムコードが格納されることになる。
【０１６８】
【発明の効果】
以上説明したように、本発明によれば、高精度の座標入力装置及びその制御方法、コンピュータ可読メモリを提供できる。
【図面の簡単な説明】
【図１】本実施形態の座標入力装置の概略構成を示す図である。
【図２】本実施形態の指示具の詳細構成を示す図である。
【図３】本実施形態のスイッチ４３Ｂによって発光される赤外光のタイミングチャートである。
【図４】本実施形態のスイッチ４３Ａによって発光される赤外光のタイミングチャートである。
【図５】本実施形態の座標検出器の詳細構成を示す図である。
【図６】本実施形態で扱われる信号のタイミングチャートである。
【図７】リニアセンサ２０Ｘａ，２０Ｘｂ，２０Ｙａ，２０Ｙｂの配置関係を示す図である。
【図８】本実施形態のリニアセンサの詳細構成を示す図である。
【図９】本実施形態のリニアセンサの出力波形の一例を示す図である。
【図１０】本実施形態のリニアセンサのスキム動作を説明するための出力波形の一例を示す図である。
【図１１】本実施形態のリングＣＣＤの出力制御におけるタイミングチャートである。
【図１２】本実施形態のＡＤ変換のタイミングチャートである。
【図１３】本実施形態のリニアセンサの構成を示す図である。
【図１４】リニアセンサの出力を模式的に示す図である。
【図１５】本実施形態の座標演算処理の処理フローを示すフローチャートである。
【図１６】本実施形態の基準座標の定義を説明するための図である。
【図１７】本実施形態の連結座標ＣＣＤＸの算出処理の処理フローを示すフローチャートである。
【図１８】本実施形態の基準点の座標位置例を示す図である。
【図１９】本実施形態の基準点による倍率のばらつき例を示す図である。
【図２０】本実施形態のステップＳ２１２の処理の詳細を示すフローチャートである。
【図２１】本実施形態の９点の基準点の座標値を入力する場合の処理を示すフローチャートである。
【図２２】本実施形態の画面サイズを変更する場合の座標値の関係を示す図である。
【図２３】本実施形態の画面サイズが変更された場合の座標値の計算概念を示す図であるである。
【図２４】本実施形態のオフセット分を調整する場合のスクリーン座標の計算処理を示すフローチャートである。
【符号の説明】
１  座標検出器
２  座標検出センサ部
３  コントローラ
４  指示具
５  光スポット
６  受光素子
６ａ  集光レンズ
７  信号処理部
８  投射型表示装置
８１  画像信号処理部
８２  液晶パネル
８３  ランプ
８４  ミラー
８５  コンデンサーレンズ
８６  投影レンズ
２０Ｘａ、２０Ｘｂ、２０Ｙａ、２０Ｙｂ  リニアセンサ
２１  センサアレイ
２２  積分部
２３  シフト部
２４  蓄積部
２５  リニアＣＣＤ
２６  リングＣＣＤ
２７  クリア部
２８  スキム部
２９  アンプ
３１  センサ制御部
３１Ａ  ＡＤ変換部
３２  座標演算部
３３  通信制御部
７１  周波数検波部
７２  制御信号検出部
【図１】
0004018326.tif 000003
【図２】
0004018326.tif 000004
【図３】
0004018326.tif 000005
【図４】
0004018326.tif 000006
【図５】
0004018326.tif 000007
【図６】
0004018326.tif 000008
【図７】
0004018326.tif 000009
【図８】
0004018326.tif 000010
【図９】
0004018326.tif 000011
【図１０】
0004018326.tif 000012
【図１１】
0004018326.tif 000013
【図１２】
0004018326.tif 000014
【図１３】
0004018326.tif 000015
【図１４】
0004018326.tif 000016
【図１５】
0004018326.tif 000017
【図１６】
0004018326.tif 000018
【図１７】
0004018326.tif 000019
【図１８】
0004018326.tif 000020
【図１９】
0004018326.tif 000021
【図２０】
0004018326.tif 000022
【図２１】
0004018326.tif 000023
【図２２】
0004018326.tif 000024
【図２３】
0004018326.tif 000025
【図２４】
0004018326.tif 000026