JP2016045528A - 座標入力装置及びその制御方法、プログラム - Google Patents
座標入力装置及びその制御方法、プログラム Download PDFInfo
- Publication number
- JP2016045528A JP2016045528A JP2014166997A JP2014166997A JP2016045528A JP 2016045528 A JP2016045528 A JP 2016045528A JP 2014166997 A JP2014166997 A JP 2014166997A JP 2014166997 A JP2014166997 A JP 2014166997A JP 2016045528 A JP2016045528 A JP 2016045528A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate
- light
- interpolation
- output
- light receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Position Input By Displaying (AREA)
Abstract
【課題】 座標の軌跡が不自然になりにくく、操作者が所望の入力操作をすることが可能となる。
【解決手段】 座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する。複数の指示具による入力を検出している場合において、複数の受光部それぞれが検出する光量分布に基づいて、複数の指示具の内の第1の指示具の移動に伴い、複数の指示具の内の第1の指示具と他の指示具それぞれに対応する光量分布が重なる状態となるか否かを判定する。判定の結果、それぞれに対応する光量分布が重なる状態となる場合、その状態によって、第1の指示具の座標値を補間により算出するする補間区間を予測する。それぞれに対応する光量分布が重なる状態となるまでの第1の指示具の指示位置と、予測した補間区間との距離に応じて、指示位置から補間区間の終了位置における、第1の指示具の座標値の出力を制御する。
【選択図】 図28
【解決手段】 座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する。複数の指示具による入力を検出している場合において、複数の受光部それぞれが検出する光量分布に基づいて、複数の指示具の内の第1の指示具の移動に伴い、複数の指示具の内の第1の指示具と他の指示具それぞれに対応する光量分布が重なる状態となるか否かを判定する。判定の結果、それぞれに対応する光量分布が重なる状態となる場合、その状態によって、第1の指示具の座標値を補間により算出するする補間区間を予測する。それぞれに対応する光量分布が重なる状態となるまでの第1の指示具の指示位置と、予測した補間区間との距離に応じて、指示位置から補間区間の終了位置における、第1の指示具の座標値の出力を制御する。
【選択図】 図28
Description
本発明は、指示具による座標入力有効領域上の指示位置を検出する座標入力技術に関するものである。
座標入力面に、指示具(例えば、専用入力ペン、指等)によって指示して座標を入力することで、接続されたコンピュータの制御をしたり、文字や図形等の画像を書き込むために用いられる座標入力装置が存在する。従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されている。この種の座標入力装置は、特殊な器具等を用いずに画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
座標入力方式には、抵抗膜を用いたもの、また、超音波を用いたもの等、様々なものがある。光を用いた座標入力方式として、例えば、特許文献1に開示されるものがある。特許文献1に開示される構成では、座標入力領域の外側に再帰性反射シートが設けられ、座標入力領域の角端部に配置された、光を照明する照明部と光を受光する受光部が、座標入力領域内において光を遮蔽する遮蔽物(指等)と受光部間の角度を検出する。そして、その検出結果に基づいて、その遮蔽物の指示位置が決定される。ここで、特許文献1のような、遮蔽物の位置(遮光位置)を検出して遮蔽物の座標を算出する方式を、以下、遮光方式と称する。
また、更に、このような座標入力装置においては、特に、サイズが大きな場合に、複数の操作者が同時に入力することにより、利便性が向上し、より効率的な会議等の用途での要求があるので、複数同時入力に対応する座標入力装置が考案されている。
複数の座標を同時に入力するために、特許文献2では、複数の受光部で複数の指示具によって生成される波形変化部分を検出し、各受光部で検出する波形変化部分に対応する角度の組み合わせから数点の入力座標候補を算出している。そして、更に、その入力座標候補から実際に入力した座標を判別する技術が開示されている。例えば、2点入力の場合には、入力座標候補として最大4点の座標を算出し、この4点の内、実際に入力した座標2点を判定し、出力する。つまり、この判定は、複数の入力座標候補の中から、実際の入力座標と虚偽の入力座標を選別して、最終的な入力座標を判定する。この判定を、ここでは「虚実判定」と呼ぶことにする。
複数の座標入力を検知して各々の座標値を算出する場合、複数の各々の座標入力位置と受光部を結ぶ各々の直線が略同一直線となるような場合(各々の波形変化部分が重なった場合)には、各々の波形変化部分を分離して検出することができない。よって、位置算出不能状態となってしまう。そこで、特許文献2においては、使用している受光部を、波形変化部分を分離して検出できる他の受光部に切り替え、その切り替えた受光部で検出した波形変化部分に対応する角度に基づく虚実判定から、複数の実際の入力座標を算出している。尚、この場合の虚実判定は、波形変化部分を分離して検出できない受光部から得られる角度でも十分に可能なので、この受光部から得られる角度を用いて行う。
一方で、特許文献3では、タッチパネル上で、第1のスタイラスペンが第1の波長の光を発光し、第2のスタイラスペンが第2の波長の光を発光し、第1のフィルタと第2のフィルタとがそれぞれフィルタリングを行う。そして、一対の第1の検出部と一対の第2の検出部それぞれが透過した光を受光し、それぞれの位置関係と受光した光の入射角度とからそれぞれのスタイラスペンの座標を検出する技術が開示されている。また、特許文献3においては、第1のスタイラスペンが指示する座標を検出できない場合、検出できない座標に対してその前後で検出できている座標を用いて検出できない座標を補間する補間処理を実行している。
しかしながら、特許文献2での切替関係にある2つの受光部は、その少なくとも一方が2つの波形変化部分を分離して検出できるような状態になっていなければならない。つまり、この切替関係にある2つの受光部がいずれも波形変化部分の重なりがある状態では、そもそも受光部を切り替える意味がなく、座標算出不能のままである。従って、切替関係にある2つの受光部の少なくとも一方で、2つの波形変化部分が必ず分離した状態で観測されるようにするためには、この2つの受光部を一定の距離、離間して配置する必要がある。また、全ての座標入力領域で、少なくとも一方の受光部で2つの波形変化部分を分離して検出するための条件は、受光部間の距離に関するだけではない。即ち、受光部と座標入力領域との位置関係、座標入力領域の寸法、指示具の大きさ、指示2点間の距離等、複雑な関係が存在する。
また、切替関係にある第3の受光部に切り替えて座標を算出する場合には、次のような問題が生じる。まず、受光部を切り替えることによる算出座標の不連続性の問題である。例えば、第1及び第2受光部を用いて指示具の位置座標を算出した場合の座標値と、第1及び第3受光部を用いて指示具の位置座標を算出した場合の座標値は異なる。つまり、指示具を同一の場所で指示したにもかかわらず、両者の座標値が異なって算出され現象が発生する。この現象が発生する主な原因は、受光部毎の光学特性(角度特性)が異なる、受光部の位置の取付誤差、あるいは座標算出の際に用いられる受光部間の距離が挙げられる。
更に、座標入力装置と一体的に構成される表示器の構造・仕様によっては、座標入力領域の上辺/下辺の左右端に配置される第1及び第2受光部の中央部分に、切替用の第3受光部を配置するためのスペースの確保が困難となる場合がある。また、その中央部に設ける第3受光部は、第1及び第2受光部に比べて検出範囲が広くする構成が別途必要となり、装置コストがあがってしまう要因となっている。
一方で、特許文献3では、スタイラスペンの発光を検出する方式であるが故に、専用の光を発光する専用指示具が必要で、指等の一般的な簡易な指示具での入力ができない。しかしながら、特許文献2における2つの波形変化部分を分離して検出できないという課題に対しては、検出できない座標に対してその前後で検出できている座標を用いて検出できない座標を補間する補間処理を実行している。この補間処理は、周期Tで指示具の発光をサンプリングする場合に、検出できた座標値間の座標ベクトル長を算出し、座標が算出できなかった周期Tの個数について、その前後の座標値を用いて線形近似または曲線近似することで検出できなかった座標値を算出する。
しかしながら、この補間処理には、次のような課題がある。
1つ目は、補間処理がサンプリング時間と座標ベクトルに基づくため、補間する点数及び区間が適正でない可能性があるということである。特に、指示具の入力の移動速度に関連し、そのサンプリング時間あたりの移動距離が指示具の径サイズの範囲内になる場合には、その補間点数が過剰である可能性が高い。また、サンプリング時間が短い場合には、補間点数も多くなり、座標算出処理の負担が大きくなるという問題もある。
2つ目は、座標が出力されて表示装置の画面に表示されるまでの時間に関連し、座標を算出できない区間(補間区間)の前後で算出できる座標値を用いて、その補間区間の座標値を補間することは、一旦、補間区間の前の座標が出力されてから停止することになる。そして、補間区間で補間する座標が算出及び出力され、その後、補間区間の後の座標が出力されることになる。従って、この補間区間は、補間処理が終了するまで、座標が出力されない状態となるが、このままでは、座標出力の結果として表示装置に表示される描画軌跡が不自然となってしまう。特許文献3においては、この描画軌跡が不自然になるという現象及び回避する構成については一切の記載がない。
3つ目は、補間する座標値を前後の座標値を用いて近似するので、一般的な事象として近似式には誤差が含まれるため、入力した座標値群による軌跡を忠実に算出できない可能性がある。一般的に、近似式の誤差を小さくするには、近似式を算出する際に、算出できた前後の座標値の個数を増やすことや近似式の次数を増やすことが考えられる。しかし、補間区間以降の算出できた最後の座標のサンプリング時間までは、座標出力できない区間となるため、更に出力停止時間が長くなり、より一層に描画軌跡が不自然となってしまうという課題がある。
本発明は上記の課題を解決するためになされたものであり、座標の軌跡が不自然になりにくく、操作者が所望の入力操作をすることが可能となる座標入力技術を提供することを目的とする。
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
指示具による座標入力有効領域上の指示位置を検出する座標入力装置であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出手段と、
前記検出手段によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具の内の第1の指示具の移動に伴い、前記複数の指示具の内の前記第1の指示具と他の指示具それぞれに対応する光量分布が重なる状態となるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記それぞれに対応する光量分布が重なる状態となる場合、その状態によって、前記第1の指示具の座標値を補間により算出する補間区間を予測する予測手段と、
前記それぞれに対応する光量分布が重なる状態となるまでの前記第1の指示具の指示位置と、前記予測手段で予測した補間区間との距離に応じて、前記指示位置から前記補間区間の終了位置における、前記第1の指示具の座標値の出力を制御する制御手段と
を備える。
指示具による座標入力有効領域上の指示位置を検出する座標入力装置であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出手段と、
前記検出手段によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具の内の第1の指示具の移動に伴い、前記複数の指示具の内の前記第1の指示具と他の指示具それぞれに対応する光量分布が重なる状態となるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記それぞれに対応する光量分布が重なる状態となる場合、その状態によって、前記第1の指示具の座標値を補間により算出する補間区間を予測する予測手段と、
前記それぞれに対応する光量分布が重なる状態となるまでの前記第1の指示具の指示位置と、前記予測手段で予測した補間区間との距離に応じて、前記指示位置から前記補間区間の終了位置における、前記第1の指示具の座標値の出力を制御する制御手段と
を備える。
本発明によれば、座標の軌跡が不自然になりにくく、操作者が所望の入力操作をすることが可能となる座標入力技術を提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<装置構成の概略説明>
まず、図1を用いて、座標入力装置全体の概略構成を説明する。
まず、図1を用いて、座標入力装置全体の概略構成を説明する。
図1は遮光方式の座標入力装置の概略構成を示す図である。
図1において、1L、1Rは投光部及び受光部を有するセンサユニットであり、座標入力面であるところの座標入力有効領域3の周辺に配置されている。特に、本実施形態の場合、センサユニット1L及び1Rは、座標入力有効領域3のX軸に平行に、かつY軸に対称な位置に、所定距離離れて配置されている。センサユニット1L及び1Rは、制御・演算ユニット2に接続され、制御信号を制御・演算ユニット2から受信すると共に、検出した信号を制御・演算ユニット2に送信する。
4は入射光を到来方向に反射する再帰反射面を有する再帰反射部であり、座標入力有効領域3の外側3辺に図示が如く配置され、左右各々のセンサユニット1L及び1Rから略90°範囲に投光された光を、センサユニット1L及び1Rに向けて再帰反射する。再帰反射部4で再帰反射された光は、センサユニット1L及び1Rによって1次元的に検出され、その光量分布が制御・演算ユニット2に送信される。8は特定の波長のみの光を透過することが可能な光透過部材である。この光透過部材8は、不要光の透過を防止すると共に再帰反射部4が直接外部に露出することを防止し、座標入力有効領域3の近傍に配置されることで製品外観の一部を構成する。
座標入力有効領域3は、PDPやリアプロジェクタ、フロントプロジェクタ、LCDパネル等の表示装置の表示画面で構成することで、インタラクティブな入力装置として、利用可能となっている。
このような構成において、座標入力有効領域3に指等の指示具による入力指示がなされると、センサユニット1L及び1Rの投光部から投光された光が遮られる(遮光部分)。つまり、センサユニット1L及び1Rの受光部ではその遮光部分の光(再帰反射による反射光)を検出しない。従って、その結果、どの方向からの光が検出できなかったかを判別することが可能となる。
そこで、制御・演算ユニット2は、左右のセンサユニット1L及び1Rが検出する光量変化から、指示具によって入力指示された部分の複数の遮光範囲を検出する。そして、その遮光範囲の端部情報から、センサユニット1L及び1Rそれぞれに対する遮光範囲の端部の方向(角度)をそれぞれ算出する。
そして、検出された遮光範囲の数に基づいて、座標算出に用いる遮光範囲から得られるデータを決定する。そして、それぞれ算出された方向(角度)、及びセンサユニット1L及び1R間の距離情報等から、座標入力有効領域3上の指示具の遮光位置を幾何学的に算出する。そして、表示装置に接続されているホストコンピュータ等の外部端末に、インタフェース7を経由してその座標値を出力する。このようにして、指示具によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
<センサユニット1の詳細説明>
次に、センサユニット1L及び1R内の構成について、図2を用いて説明する。尚、センサユニット1L及び1Rは、大きく分けて投光部と受光部から構成される。
次に、センサユニット1L及び1R内の構成について、図2を用いて説明する。尚、センサユニット1L及び1Rは、大きく分けて投光部と受光部から構成される。
図2はセンサユニットの詳細構成を示す図である。
図2において、101A及び101Bは、赤外光を発する赤外LEDであり、各々投光レンズ102A及び102Bによって、再帰反射部4に向けて略90°範囲に光を投光する。ここで、センサユニット1L及び1Rの投光部は、この赤外LED101A及び101Bと、投光レンズ102A及び102Bによって実現される。これにより、センサユニット1L及び1Rには、それぞれ2つの投光部が構成されることになる。
そして、投光部より投光された赤外光は、再帰反射部4により到来方向に再帰反射され、センサユニット1L及び1Rの受光部によって、その光を検出する。受光部は、光線の視野を制限すると共に電気的なシールドをになうシールド部材105を設けた1次元のラインCCD104からなる。更には、集光光学系としての受光用レンズ106A及び106B、入射光の入射方向を概略制限する絞り108A及び108B、及び可視光等の余分な光(外乱光)の入射を防止する赤外フィルタ107A及び107Bからなる。
そして、再帰反射部4によって反射された光は、赤外フィルタ107A及び107B、絞り108A及び108Bを抜けて受光用レンズ106A及び106Bによって、ラインCCD104の検出素子110面上に集光される。これにより、センサユニット1L及び1Rには、それぞれ2つの受光部が構成されることになる。
部材103及び部材109は、投光部及び受光部を構成する光学部品を配置するとともに、投光部で投光した光が直接受光部に入射することを防ぐ、あるいは外来光をカットするための上フード103及び下フード109として機能する。
図3(A)は、図2の状態のセンサユニット1L(1R)を組み上げた状態を、正面方向(座標入力面に対し垂直方向)から見た図である。センサユニット1L(1R)中の2つの投光部は、所定距離d離れた状態で、それぞれの主光線方向が略平行となるように配置され、各々の投光レンズ102A及び102Bによって、それぞれ略90°範囲に光を投光するように構成されている。
図3(B)は、図3(A)の太矢印で示される部分の断面図である。赤外LED101A(101B)からの光は、投光レンズ102A(102B)により、座標入力面に略平行に制限された光束として、主に再帰反射部4に対して光が投光されるように構成されている。
図3(C)は、図3(A)における赤外LED101A及び101B、投光レンズ102A及び102B、上フード103を取り除いた状態を、正面方向(座標入力面に対し垂直方向)から見た図である。
ここで、本実施形態の場合、投光部と受光部は、座標入力面である座標入力有効領域3の垂直方向に対し重ねた配置構成(図3(B)参照)となっている。そして、正面方向(座標入力面に対し垂直方向)から見て、投光部の発光中心と受光部の基準位置が一致する構造となっている。尚、基準位置とは、角度を計測するための基準点位置に相当し、本実施形態にあっては絞り108A(108B)の位置であって、図中の光線が交差する点となる。従って、前述した通り、2つの投光部は所定距離d離れた状態で、それぞれの主光線方向略平行となるように配置されているので、2つの受光部も同様に所定距離d離れた状態で、かつ各々の光軸(光学的な対称軸)が略平行となるように構成されている。
また、投光部により投光された座標入力面に略平行な光束であって、面内方向に略90°方向に投光されている光は、再帰反射部4により光の到来方向に再帰反射される。そして、赤外フィルタ107A(107B)、絞り108A(108B)、受光用レンズ106A(106B)を経て、ラインCCD104の検出素子110面上に集光、結像することになる。従って、ラインCCD104の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、ラインCCD104を構成する各画素の画素番号が角度情報を示すことになる。
尚、図3(B)に示す投光部と受光部の距離Lは、投光部から再帰反射部4までの距離に比べて十分に小さな値であり、距離Lを有していても十分な再帰反射光を受光部で検出することが可能な構成となっている。
以上説明したように、センサユニット1L(1R)は、少なくとも2つの投光部と、各々の投光部で投光された光を各々検出する2つの受光部(本実施形態の場合、投光部が2組、受光部が2組)を有する構成である。
また、本実施形態にあっては、受光部の一部であるラインCCD104におけるライン状に配置された検出素子110の左側部分を第1受光部の集光領域、右側部分を第2受光部の集光領域とする。これにより、部品の共通化を図っているが、これに限定されるものでなく、各受光部毎に個別にラインCCDを設けてもよいことは言うまでもない。
<制御・演算ユニットの説明>
制御・演算ユニット2とセンサユニット1L及び1Rの間では、主に、受光部内のラインCCD104用のCCD制御信号、CCD用クロック信号と出力信号、及び投光部内の赤外LED101A及び101Bの駆動信号がやり取りされている。ここで、制御・演算ユニット2の詳細構成について、図4を用いて説明する。
制御・演算ユニット2とセンサユニット1L及び1Rの間では、主に、受光部内のラインCCD104用のCCD制御信号、CCD用クロック信号と出力信号、及び投光部内の赤外LED101A及び101Bの駆動信号がやり取りされている。ここで、制御・演算ユニット2の詳細構成について、図4を用いて説明する。
図4は制御・演算ユニットの詳細構成を示すブロック図である。
CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)21から出力され、ラインCCD104のシャッタタイミングやデータの出力制御等が行われる。尚、この演算制御回路21は、クロック発生回路(CLK)22からのクロック信号に従って動作する。また、CCD用のクロック信号は、クロック発生回路(CLK)22からセンサユニット1L及び1Rに送信されると共に、各センサユニット内部のラインCCD104との同期をとって各種制御を行うために、演算制御回路21にも入力されている。
投光部の赤外LED101A及び101Bを駆動するためのLED駆動信号は、演算制御回路21からLED駆動回路(不図示)を介して、対応するセンサユニット1L及び1Rの投光部内の赤外LED101A及び101Bに供給されている。
センサユニット1L及び1Rそれぞれの受光部内のラインCCD104からの検出信号は、A/Dコンバータ23に入力され、演算制御回路21からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ132に記憶され、指示具の角度計算に用いられる。そして、この計算された角度から座標値が算出され、外部端末にインタフェース7(例えば、USB、IEEE1394、RS232Cインタフェース等)を介して出力される。
また、指示具としてペンを用いる場合、ペンからのペン信号を受信するペン信号受信部5からは、ペン信号を復調したデジタル信号が出力される。そのデジタル信号は、ペン信号検出回路としてのサブCPU24に入力され、ペン信号が解析された後、その解析結果が演算制御回路21に出力される。
<光量分布検出の説明>
図5は制御信号のタイミングチャートである。特に、図5では、センサユニット1L(1R)中の一つの受光部及びそれに対応する照明としての赤外LED101A(101B)への制御信号のタイミングチャートを示している。
図5は制御信号のタイミングチャートである。特に、図5では、センサユニット1L(1R)中の一つの受光部及びそれに対応する照明としての赤外LED101A(101B)への制御信号のタイミングチャートを示している。
71、72はCCD制御用の制御信号であり、SH信号71の間隔で、ラインCCD104のシャッタ開放時間が決定される。ICG信号72はセンサユニット1L(1R)へのゲート信号であり、内部のラインCCD104の光電変換部の電荷を読出部へ転送する信号である。
73は赤外LED101A(101B)の駆動信号であり、ここで、SH信号71の周期で、赤外LED101A(101B)を点灯するために、LED信号73が赤外LED101A(101B)に供給される。そして、センサユニット1L及び1Rの双方の投光部の駆動が終了した後に、センサユニット1L及び1Rの双方の受光部(ラインCCD104)の検出信号が読み出される。
ここで、センサユニット1L及び1Rの双方から読み出される検出信号は、座標入力有効領域3への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図6(A)のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部4の再帰反射特性や投光部の特性、また、経時変化(反射面の汚れ等)によって、光量分布は変化する。
図6(A)においては、レベルAが最大光量であり、レベルBが最低光量となっている。つまり、再帰反射部4からの反射光がない状態では、センサユニット1L及び1Rで得られる光量レベルがレベルB付近になり、反射光量が増えるほど、レベルAに光量レベルが遷移する。このようにして、センサユニット1L及び1Rから出力された検出信号は、逐次、対応するA/Dコンバータ23でA/D変換され、演算制御回路21にデジタルデータとして取り込まれる。
これに対し、座標入力有効領域3への指示具による入力がある場合には、センサユニット1L及び1Rからの出力として、図6(B)のような光量分布が得られる。この光量分布のC1及びC2部分では、指示具によって再帰反射部4からの反射光が遮られているため、その部分(遮光範囲)のみ反射光量が低下していることがわかる。特に、図6(B)では、複数の指示具によって、指示具によって再帰反射部4からの反射光が遮られているため、複数の遮光範囲が検出される。
そして、本実施形態では、指示具による入力がない場合の図6(A)の光量分布と、指示具による入力がある場合の図6(B)の光量分布の変化に基づいて、センサユニット1L及び1Rに対する指示具の角度を算出する。
具体的には、図6(A)の光量分布として、投光部による投光(照明)がない状態の光量分布81と、投光(照明)中で指示具による入力がない(遮蔽物がない状態)状態の光量分布82を初期状態として予めメモリ132に記憶しておく。
そして、センサユニット1L及び1Rそれぞれの検出信号のサンプル期間に、のような光量分布の変化があるか否かを、そのサンプル期間中の光量分布と、メモリ132に記憶されている初期状態の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点として、その入力角度を決定する(遮光範囲の端部を決定する)演算を行う。
上述したように、本願発明では、1つのラインCCD104に対して、複数の受光部が設けられ、その各々に対して投光部が設けられている。従って、各々の受光部(もしくは投光部)を別のタイミングで駆動する場合には、各々を上記のような信号タイミングで駆動すればよい。
図7はその信号のタイミングチャート例であり、まず、センサユニット1LのラインCCD104の読出先頭側で、センサユニット1Lの一方の受光部による検出を行う。そのために、SH信号61に対して、信号63のようなタイミングで、赤外LED(例えば、赤外LED101A)が駆動される。ICG信号62によって、ラインCCD104の信号が読み出されるが、このときは、ラインCCDの先頭側の受光範囲の画素データが読み出される(信号65中のA部分)。
次に、同じ、ラインCCD104に対して、SH信号61が与えられ、センサユニット1Lの他方の受光部により検出を行うために、赤外LED(例えば、赤外LED101B)に駆動信号64が供給される。この出力は、信号65のB部分のように、先に検出した先頭部分の信号(破線部)と重ならない領域に、受光された信号が出力される。別のタイミングで、もう一方のセンサユニット1Rを同様に駆動することで、CCDの信号が各々のセンサから読み出され、本願発明では、最大4つの受光部による検出信号を取得することになる。
尚、本実施形態では、左右のセンサユニット1L及び1Rで合わせて4つの受光部に対して、別々のタイミングで駆動している。しかしながら、これに限定されるものではなく、お互いの発光が影響しないのであれば、同時に駆動してもかまわないし、各々の任意の組み合わせで駆動してもかまわない。
<角度算出の説明>
センサユニット1L及び1Rに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。以下、センサユニット1L及び1Rの一方(例えば、センサユニット1L)による指示具の角度計算について説明するが、他方(センサユニット1R)でも同様の角度計算を行うことは言うまでもない。
センサユニット1L及び1Rに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。以下、センサユニット1L及び1Rの一方(例えば、センサユニット1L)による指示具の角度計算について説明するが、他方(センサユニット1R)でも同様の角度計算を行うことは言うまでもない。
電源投入時の光量分布として、図6(A)の信号81及び信号82をメモリ132に記憶しておき、その信号と、実際の指示具による入力によって得られる光量分布との比較から、指示具の入力範囲(遮光範囲)を検出する。
図6(B)のように、C1、C2を有する光量分布からなる入力がある場合は、その光量分布と、メモリ132に記憶されている光量分布82との差を計算する。そして、その計算結果と、光量分布82と光量分布81の光量差を用いて、遮光(入力)がない場合との光量変化率を計算する。このように、光量変化率を計算することによって、部分的な光量分布の不均一等の影響を除去できる。
計算された光量変化率に対して、閾値を用いて、光量が変化しているラインCCD104上の画素番号を特定する。この時、検出信号レベルの情報等を用いることで、画素番号より細かい画素情報が特定可能になる。これらの画素番号から、遮光範囲の端部を決定でき、例えば、その遮光範囲の中央値(ラインCCD104の画素番号)を指示具の角度情報として導出する。
得られた画素番号から、実際の座標値を計算するためには、角度情報(θ)に変換する必要がある。角度情報への変換は、例えば、多項式を用いて実現することができる。例えば、CCD画素番号をe、次数をn、各次数の係数をTnとすると、角度θは、
θ =Tn・en+T(n-1)・e(n-1)+T(n-2)・e(n-2)+、・・・、+T0 (1)
のようにして、算出することができる。尚、各次数の係数は、実測値や設計値等から決定できる。また、次数は必要とされる座標精度等を鑑みて決定すれば良い。
θ =Tn・en+T(n-1)・e(n-1)+T(n-2)・e(n-2)+、・・・、+T0 (1)
のようにして、算出することができる。尚、各次数の係数は、実測値や設計値等から決定できる。また、次数は必要とされる座標精度等を鑑みて決定すれば良い。
前述の通り、センサユニット1Lには、2つの受光部が構成されていて、それぞれをL1、L2とすると、まず、L1、即ち、図7のA部分の光量分布が検出される受光部について前述の遮光範囲の端部を決定する処理が実行される。このA部分については、メモリ132に格納されているA部分に対応する全てのデータについて、光量分布の差と変化率の計算処理が行なわれる。尚、L2に対応するB部分の光量分布については、処理時間を短縮するためにメモリ132に格納されているB部分に対応する全てのデータについて上記の計算処理を行わない。A部分の遮光範囲探索結果から、遮光範囲探索を実行するサーチ範囲を限定するよう決定し、その範囲内でA部分の遮光範囲探索処理と同様の計算処理によって遮光範囲の端部に相当するCCD画素番号を決定し角度情報を算出する。
今、図8のように、2点の入力としてP1及びP2がある場合に、図7のA部分の光量分布に相当するセンサユニット1Lの受光部L1では、図9に示すように遮光範囲が2個検出される。この光量分布データは、図8に示すように、受光部L1で検出される遮光端情報として、上述の計算処理によりl11、l12、l13、l14として検出される。同様に、センサユニット1Rの受光部R1では、r11、r12、r13、r14が検出される。
先述したとおり、センサユニット1L及び1Rでは、同一ラインCCD上に所定の距離離して2系統の光学系を構成している。従って、受光部L1で検出される遮光端情報から受光部L2で検出される遮光端情報を予測することができる。即ち、上記で決定した画素番号から開始点を決定し、A部分の遮光範囲探索処理と同様の計算処理によってB部分の遮光範囲の端部、即ち、図8におけるl21、l22、l23、l24に相当するCCD画素番号を決定し角度情報を算出することができる。同様な遮光範囲探索処理を受光部R2についても行い、r21、r22、r23、r24に相当するCCD画素番号を決定し角度情報を算出する。このようにして、複数の入力点P1及びP2の座標を算出するための遮光端の角度情報を検出することができる。
尚、遮光探索開始点を決定してから、上記では2つの遮光端を検出するまで連続して遮光範囲探索処理を行っている。しかしながら、受光部L1とL2及び受光部R1とR2で検出される遮光範囲は略等しいので、遮光端を1つ検出したならば、所定画素数分(L1及びR1の各々の遮光端から算出する幅情報)のデータをスキップして再び遮光範囲探索処理を開始してもよい。この処理は、特に、センサユニットに対して入力点の距離が比較的近く、遮光範囲が大きくなる場合に有効となる。
次に、図10と図11を用いて、受光部L1で検出される遮光範囲が入力点P1とP2が重なって1つの遮光範囲として見える、「部分食」状態となっている場合について説明する。
この場合は、受光部L1で検出される遮光範囲は1個であるので、まず、l11とl12に相当するCCD画素番号を決定し角度情報を算出する。そして、このl11とl12を用いて、受光部L2の遮光探索開始点を決定し、受光部L2で検出される遮光範囲l21とl22に相当するCCD画素番号を決定し角度情報を算出する。
受光部R1及びR2に関しても、同様に、受光部R1におけるr11、r12、r13、r14に相当するCCD画素番号を決定して角度情報を算出する。また、受光部R2の遮光探索開始点を決定し、受光部R2におけるr21、r22、r23、r24に相当するCCD画素番号を決定し角度情報を算出する。
尚、遮光範囲探索処理を実行する順番は、まず、受光部L1、次に、受光部L2として、ラインCCDの読出順としているが、これに限定されるものではない。受光部L1及びL2の一方が座標入力有効領域3の全域を受光可能で、もう一方が補助的に座標入力有効領域3の限定した領域を受光可能である場合には、座標入力有効領域3の全域を受光可能な受光部のデータから遮光範囲探索処理を実行してもよい。この場合は、単1点入力を主な使い方とする場合に座標入力有効領域3の全域について受光可能な受光部のデータのみを遮光範囲探索処理を実行する構成をとることができるのでサンプリング速度に有利な構成となる。
<座標算出方法の説明>
次に、画素番号から変換された角度情報(θ)から、指示具の位置座標を算出する座標算出方法について説明する。尚、指示具の入力が1点である場合には、センサユニット1L及び1Rの出力結果に基づいて得られる遮光範囲の中央の角度を用いることで座標算出が可能である。ここで、座標入力有効領域3上に定義する座標とセンサユニット1L及び1Rとの位置関係及び座標系について、図12を用いて説明する。
次に、画素番号から変換された角度情報(θ)から、指示具の位置座標を算出する座標算出方法について説明する。尚、指示具の入力が1点である場合には、センサユニット1L及び1Rの出力結果に基づいて得られる遮光範囲の中央の角度を用いることで座標算出が可能である。ここで、座標入力有効領域3上に定義する座標とセンサユニット1L及び1Rとの位置関係及び座標系について、図12を用いて説明する。
図12は座標入力有効領域上に定義する座標とセンサユニット1L及び1Rとの位置関係を示す図である。図12では、座標入力有効領域3の水平方向にX軸、垂直方向にY軸を定義し、座標入力有効領域3の中央を原点位置O(0,0)に定義している。そして、座標入力有効領域3の座標入力範囲の上辺左右に、それぞれのセンサユニット1L及び1RをY軸に対称に取り付け、その間の距離はDLRである。
また、センサユニット1L及び1Rそれぞれの受光面は、その法線方向がX軸と45度の角度を成すように配置され、その法線方向を0度と定義している。この時、角度の符号は、左側に配置されたセンサユニット1Lの場合には、時計回りの方向を『+』方向に、また、右側に配置されたセンサユニット1Rの場合には、反時計回りの方向を『+』方向と定義している。
更には、P0はセンサユニット1L及び1Rの法線方向の交点位置、つまり、基準角度の交点となる。また、センサユニット1L(1R)の位置から原点までのY座標距離をDYとする。この時、基準角度から、それぞれのセンサユニット1L及び1Rで得られた角度をθL、θRとすると、検出すべき点Pの座標P(x,y)は、tanθL、tanθRを用いて、
x = DLR/2*(tanθL+tanθR)/(1+(tanθL*tanθR)) (2)
y = DLR/2*((1+tanθL)(1+tanθR))/(1+(tanθL*tanθR))-DY (3)
で計算される。
x = DLR/2*(tanθL+tanθR)/(1+(tanθL*tanθR)) (2)
y = DLR/2*((1+tanθL)(1+tanθR))/(1+(tanθL*tanθR))-DY (3)
で計算される。
ここでの、角度データのとり方は、基準角度からの角度としている。これは、このように角度を設定することで、tanθのとる値が±π/4の範囲にあるため、座標算出が不安定にならないという効果がある。他の算出において、θの値がπ/2値をとっても、不安定ならないようであれば、同一高さ(同一レベル)にある、受光部を結ぶラインに対する角度を用いて、算出を行っても良い。例えば、以下に示す補正計算に関しては、そのような角度定義で計算することができる。
ここで、各センサユニット1L(R)の2つの受光部は、実際には座標入力有効領域3に対して同一ライン上には設けられていない。そのため、座標算出時に、異なる位置の受光部のデータを用いる場合には、この位置のずれ分の補正を行う必要がある。
図13に示すように、センサユニット1Lの2つの受光部の瞳位置をそれぞれL1及びL2、センサユニット1Rの2つの受光部の瞳位置をそれぞれR1、R2とする。また、L1とL2とのx軸方向の差であるx軸方向距離Δxs、L1とL2とのy軸方向の差であるy軸方向距離Δysとする。
L2で検出されたデータがθL2である場合、X軸方向にR1と同一高さで見ると、仮想的にVL2の位置にセンサユニット1Lがあるとして、ΔvxsをθL2を用いて算出することができる。そして、R1と同一高さに換算するには、高さ方向の距離Δysと得られた角度θL2とから、Δvxs=Δys/tanθL2となる。
よって、式(2)、(3)のセンサユニット間距離DLRを、受光部の瞳位置L1及びL2間のX方向距離Δxsと、算出されたΔvxsで補正し、仮の座標値を計算することが可能となる。計算されたこの仮の座標値におけるx座標は、VL2とR1の中間を原点として計算されるので、そのX座標から(Δxs+Δvxs)/2を更に補正すれば、異なる位置にある受光部のデータを用いて座標算出が可能になる。
尚、指示具の入力が2点である場合で、各センサユニットの受光部において、遮光範囲が2つずつある場合には、上述した指示具の入力が1点である場合と同様に遮光範囲の中央の角度を用いることで座標算出が可能である。例えば、センサユニット1Lの受光部L1とセンサユニット1Rの受光部R1では、遮光範囲の中央の角度が2つずつあるので、この交点の座標を算出すると合計4点の座標を算出することになる。ここで、この4点の座標を出力座標候補点と呼ぶこととする。
同様に、センサユニット1Lの受光部L2とセンサユニット1Rの受光部R2でも遮光範囲の中央の角度が2つずつある場合には、この交点の座標を算出し、合計4点の座標を算出することになる。ここで、この4点の座標を虚実判定用座標と呼ぶことにする。この虚実判定用座標の4点は、先述した出力座標候補点から、指示具の入力の2点に対応する座標値を選択する処理(虚実判定)のために使用する。の虚実判定は、出力座標候補点の4点と虚実判定用座標の4点の座標が略一致するかどうかで判定が行われ、略一致する座標の2点が、実際に入力された位置に対応する座標として選択される。
入力が一点であるような場合には、遮光幅(遮光範囲)の中央の角度を用いても座標算出が可能である。しかし、図14の上部のように、複数の指示具からの入力があり、受光部と複数の指示具の位置関係が、センサユニット1Lの2つの受光部での検出信号(光量分布(遮光範囲))が共に重なってしまうような場合には、このような方法では計算できない。
例えば、図14の上部での状態では、センサユニット1Lの受光部L1では、指示具Bは指示具Aの影に完全に隠れてしまっており、またもう一方の受光部L2では、指示具Bと指示具Aの遮光範囲が連続してしまっている。
そして、図14の下部はその時の出力信号であり、受光部L1での出力信号は指示具Aの遮光範囲(A)のみで構成され、受光部L2での出力信号は、指示具Aと指示具Bの遮光範囲(A+B)がつながった状態として出力される。このような場合には、遮光範囲の中央を用いた計算では正確な入力座標は計算できない。そこで、センサユニット1L及び1Rの夫々のセンサユニットで検出された遮光範囲の端部の角度情報を用いて座標算出を行う。
まず、指示具の入力形状を略円形とし、図15のように、センサユニット1Lの受光部L1及びL2に対して、指示具Aと指示具Bが一部重なった状態にあるとする。そのとき。各受光部で得られる各々2つの遮光範囲の端部の角度情報の内、水平方向からみた角度として、受光部L2においては最小の角度となるθL2、受光部L1においては最大の角度となるθL1を選択する。
一方、センサユニット1Rの、例えば、受光部R1で観測される角度は、夫々の指示具の遮光範囲で形成される遮光範囲の端部であり、θR11からθR22までの4つの角度が観測される。
図16はこのような遮光範囲の端部を用いた場合の座標算出を説明するための図である。
今、例えば、P点に入力がなされたとした場合、θL1とθR1、θR2の交点を夫々P1(x1,x1)、P2(x2,x2)とすると、入力位置の座標Pは、夫々の交点における角度2θ1、2θ2の2等分線の交点として計算可能となる。P1及びP2の座標値は、上述のそれぞれの角度の交点の座標を計算するのと同様の式(2)及び(3)によって計算可能であるので、この座標値と角度情報を用いることにより入力座標P(x,y)を算出することができる。このように、左右のセンサユニット1L及び1Rで検出される遮光範囲の端部情報を用いることで、遮光範囲の中央値を用いることなく、入力に対する入力座標の算出が可能となる。
図17はその算出手順の一例を説明するための図である。
図のように、P1(x1,y1)とP2(x2,y2)の間の距離をL、夫々の点における角の2等分線の角度をθ1、θ2とすれば、入力座標として、P(x,y)は、
x=x2−La・cos(θL−θ2)
y=y2−La・sin(θL−θ2)
と計算できる。尚、この計算式の詳細な手順は、例えば、特開2006−251878号公報にも記載されている。
x=x2−La・cos(θL−θ2)
y=y2−La・sin(θL−θ2)
と計算できる。尚、この計算式の詳細な手順は、例えば、特開2006−251878号公報にも記載されている。
ここで、図15のように、遮光状態として、例えば、センサユニット1Lからみて後ろ側の入力点が、完全に影に隠れてしまう、いわゆる、皆既食状態ではない状態がある。つまり、部分食状態である場合には、その入力点は、Pa及びPb、またはPa’及びPb’のどちらかの組み合わせになる。
そこで、θL1、θL2、θR11、θR12、θR21そしてθR22の組み合わせについて、上記のような2等分線の交点に相当する計算を行う。そして、それぞれPa及びPb、またはPa’及びPb’の座標を計算し、どちらの組み合わせが正しい入力座標であるかの判定(虚実判定)を行う。この組み合わせの判定は、図15における受光部L1及びL2で選択した角度情報とは別の角度情報を用いて行うことができる。
例えば、図18のように、データθL11及びθL22と、θR11及びθR12による座標算出結果と、先の受光部での座標算出結果を比較する。そして、Paと重なるのか、あるいはPa’と重るのかを双方の距離等から判定して、PaかPa’のどちらが正しいかの判定を行うことができる。ここで、Paが採用されれば、その組み合わせとして、Pbが自動的に採用されることになる。より確実に判定するには、θR21とθR22での座標算出結果を用いて、Pbについて計算を行っても良い。
このように、センサユニット1L(1R)で検出される2つの遮光範囲が部分的に隠れてしまう「部分食」状態であれば、夫々の遮光範囲の端部の角度を検出し、その交点における2等分線に相当する情報を得ることができる。即ち、複数の入力指示位置を特定することが可能になる。
ここで、遮光範囲の端部情報を用いたとしても、遮光状態として、いわゆる「皆既食」状態では、その影に隠れた側の指示具の入力の位置を特定することができなくなる。この「皆既食」状態を回避するには、入力指示具の大きさに対して、各センサユニット1L(1R)における複数の受光部間の距離を最適値に決定することによって、どちらかの光学系では領域が部分的に重なった「部分食」状態とすることが可能となる。
しかしながら、受光部間の距離の設定は、装置の大きさに関わるため、指示具の大きさによっては、やはり、皆既食状態を回避できない場合が生じることになる。そのため、本装置においては、皆既食状態の場合に、特定できない指示具の入力位置を補間する補間処理を取り入れることによって、皆既食状態の場合であっても途切れることなく座標を出力することが可能となる。
まず、指示具の入力位置関係がセンサユニットにおいて、遮光状態として部分食状態か皆既食状態かを判定する方法について説明する。例えば、図19の上部での状態では、センサユニット1Lの受光部L1では、指示具Bは指示具Aの影に完全に隠れてしまっており、またもう一方の受光部L2でも、指示具Bは指示具Aの影に完全に隠れてしまっている。
そして、図19の下部はその時の出力信号であり、受光部L1と受光部L2での出力信号の両方は指示具Aの遮光範囲(A)のみで構成され、指示具Bの遮光範囲が含まれた状態として出力される。このような場合には、遮光範囲の中央を用いた計算では正確な入力座標は計算できない。
このときの状態を図20に示す。図20においては、指示具P1の影になって、指示具P2の遮光範囲が、センサユニット1Lの受光部L1では検出できない状態となっている。また、同様に、センサユニット1Lの受光部L2でも検出できない状態となっている。尚、センサユニット1Rの受光部R1では、指示具P1及びP2の両方の遮光範囲が検出できている状態である。
このとき、皆既食状態の判定は、指示具P1の径サイズを異なる複数のセンサユニットの角度情報から算出し、各々の受光部のデータを用いて計算した径サイズが略一致するか否かによって判定する。即ち、図20においては、センサユニット1Lの受光部L1で遮光範囲l11とl12、センサユニット1Lの受光部L2で遮光範囲l21とl22で算出を行う。また、センサユニット1Rの受光部R1での遮光範囲r13とr14から指示具の径サイズを算出し、各々の受光部によって算出結果の比較処理を行う。
指示具の径サイズを算出する方法は、以下のとおりである。図21は、径サイズの計算について説明するための図である。
今、指示位置Pの座標値(x、y)は、前述のように算出することができる。このとき、原点S0(0、0)からの指示位置Pまでの距離Lは式(4)によって算出できる。更に、図21に示されるように、遮光範囲の端部情報の角度情報がθl11とθl12であることから、指示位置Pに相当する角度情報を算出すると、各々の角度情報は、Δθl11とΔθl12となる。このとき、端部情報l11を用いて算出する指示具の半径をr1、端部情報l12を用いて算出する指示具の半径をr2とすると、それぞれ式(5)及び式(6)のように算出することができる。従って、指示具Pの半径rは、式(7)のように算出することができる。
L=(x2+y2)0.5 (4)
r1=L・sin(Δθl11) (5)
r2=L・sin(Δθl12) (6)
r= (r1+r2)/2 (7)
前述したように、上記のように算出した指示具の径サイズを別のセンサユニットの角度情報を用いて算出したときの径サイズと比較して略一致する場合は、皆既食状態と判定する。皆既食状態と判定された場合は、以下の座標値の補間処理を行う。図22は、補間処理について説明するための図である。
r1=L・sin(Δθl11) (5)
r2=L・sin(Δθl12) (6)
r= (r1+r2)/2 (7)
前述したように、上記のように算出した指示具の径サイズを別のセンサユニットの角度情報を用いて算出したときの径サイズと比較して略一致する場合は、皆既食状態と判定する。皆既食状態と判定された場合は、以下の座標値の補間処理を行う。図22は、補間処理について説明するための図である。
図22では、入力点P1が受光部L1に比較的近くに位置している状態で、入力点P2がP2入力方向の矢印の方向に移動する場合において、受光部L1で皆既食状態が生じる場合の補間処理について説明する。尚、説明を簡潔にするために、ここではセンサユニットは単一の受光部を構成する場合について説明する。
図22で示される各指示位置は、座標入力装置のサンプリング周期において特定できる指示位置(C0、C1、C9〜Cn)について円(実線)で描画している。但し、皆既食状態の場合の指示位置(C2〜C8)については、円(点線)で描画している。つまり、指示位置C2〜C8が皆既食状態にあり、座標値が特定できない。この場合、指示位置C2〜C8の前の指示位置C0、C1及び後の指示位置C9、C10の座標値を用いて、指示位置C2〜C8を補間により算出する。つまり、座標補間区間以外の区間における座標値を用いて、座標補間区間内の座標値を補間により算出する。
尚、指示位置C2〜C8の算出は、指示位置C0、C1及びC9、C10によって生成される多項式を用いて処理が行われる。この多項式は、一般的な補間処理と同様であって、線形補間、Lagrange補間、Newton補間、Spline補間等の補間式を適宜選択して適用すればよい。
ここで、補間関数をy=f(x)とすると、xは各指示位置のx座標であり、座標補間区間の距離をサンプリング数で分割した値、即ち、指示位置C2〜C8のx座標に相当することになる。そして、このx座標を補間関数に代入してy座標を決定することができる。こうして算出した補間座標値のx座標及びy座標を出力することになるが、必ずしも補間座標値の算出はサンプリング数で分割した個数を算出する必要はない。以下に、この補間座標値の算出個数(座標補間点数)について説明する。
上述のように、図22において、皆既食状態で座標を特定できない区間(座標補間区間)は座標が出力できない。即ち、指示位置C9、C10が特定されるまで、座標を算出することができないため、この座標補間区間は一旦座標出力を停止する。この停止時間を極力短くするために、座標補間区間について、受光部の通常のサンプリング動作におけるサンプリング周期と同一数の座標値を出力するのではなく、所定個数に間引いて補間する座標値を算出するとともに指示位置の座標を出力する処理を行う。
ここで、座法補間区間の距離をLとすると、図22においては、指示位置C1とC9の間の距離ということになる。また、指示具の径サイズをrとするとこの径サイズは先述したように算出することが可能なので、座標補間点数Nは次式で算出ができる。
N=L/k*r (8)
ここで、kは速度による変数で、指示具の移動速度によって変化する値である。このkは、例えば、1サンプリングにおける指示具の移動距離と指示具の径サイズが等しくなるときにk=1として、両者の値で適宜可変できるように設定すればよく、その割合は、装置の用途等で適宜設定すればよい。このように、座標補間点数を指示具の径サイズと移動速度で適宜設定することで、過剰な座標出力を抑止することが可能となり、座標出力されない時間を極力短縮することが可能となる。
ここで、kは速度による変数で、指示具の移動速度によって変化する値である。このkは、例えば、1サンプリングにおける指示具の移動距離と指示具の径サイズが等しくなるときにk=1として、両者の値で適宜可変できるように設定すればよく、その割合は、装置の用途等で適宜設定すればよい。このように、座標補間点数を指示具の径サイズと移動速度で適宜設定することで、過剰な座標出力を抑止することが可能となり、座標出力されない時間を極力短縮することが可能となる。
このように座標補間点数を適宜減らすことにより、補間座標値の出力時間は短縮できるもののそれでは、まだ指示具の現在の指示位置に対しては遅延が発生することになる。本座標入力装置では、補間座標値の出力完了後も更に座標出力の遅延時間を短くするために、出力座標値の間引き処理を行う。この間引き処理について、以下に説明する。
図23は、座標値の間引き処理について説明するための図である。図中、上側には時間軸Tに対して指示位置がC0〜C19まで移動する様子を図22と対応させて模式的に示している。下側には上記の時間軸Tに対応させて指示位置にある時刻に対応する実際に出力される座標値を出力座標Aと出力座標Bとして2通りを模式的に示している。
出力座標Aについて説明すると、C0とC1は指示位置と出力座標の時間が一致している。そして、指示位置がC2から皆既食状態となり補間座標値が算出可能となる指示位置C10の検出終了後に補間座標値C3を出力することになる。この時点では、実際の指示位置に対しては遅延が発生している。従って、本座標入力装置では、以降の処理について間引き処理を行う。出力座標Aについては座標出力間引き数が1個の場合を示している。この場合、実際の指示位置C19のときに指示位置と出力座標との時間が同じとなり、実際に指示位置に対して出力座標が追い付くことになる。尚、出力時間が追い付く時間を短くするためには、出力座標Bのように座標出力間引き数を2個にしてもよい。この場合、指示位置がC15のときに指示位置に出力時間が追い付くことになる。
以上説明したように、補間座標値の出力完了後も、補間座標値の出力前の出力座標値の個数よりも少ない数に出力座標値を間引いて出力する間引き処理を行うことによって、指示具の現在の指示位置に対して出力座標値の出力遅延を極力短縮することができる。
<座標値の連続性の判定>
上述したように、複数の受光部を有するセンサユニットを用い、遮光範囲の端部情報を用いて、座標算出及び座標の虚実判定を行うことで、複数の入力の座標値を決定することができる。そして、得られた複数の座標値については、このまま座標値を出力しただけでは、受信側の外部端末で、2つの座標値の区別がつかず両者をつないでしまうようなことになりかねない。そこで、2つの座標値を区別するために、座標の連続性を表す識別子を座標値の出力の際には付加する。複数の座標値の、その連続性は、各サンプリング毎に前回の座標値との差分を計算して、夫々をその近いものを当てはめることで可能である。遮光範囲が最初に検出された時には、例えば、検出された順にID番号(フラグ)を付加する。
上述したように、複数の受光部を有するセンサユニットを用い、遮光範囲の端部情報を用いて、座標算出及び座標の虚実判定を行うことで、複数の入力の座標値を決定することができる。そして、得られた複数の座標値については、このまま座標値を出力しただけでは、受信側の外部端末で、2つの座標値の区別がつかず両者をつないでしまうようなことになりかねない。そこで、2つの座標値を区別するために、座標の連続性を表す識別子を座標値の出力の際には付加する。複数の座標値の、その連続性は、各サンプリング毎に前回の座標値との差分を計算して、夫々をその近いものを当てはめることで可能である。遮光範囲が最初に検出された時には、例えば、検出された順にID番号(フラグ)を付加する。
図24のように、2つの座標値P1(X1n,Y1n)、P2(X2n,Y2n)が得られたときは、以下とする。即ち、前回サンプリング時の座標値がID0:X1n−1,Y1n−1、ID1:X2n−1,Y2n−1であれば、P1,P2ともども、夫々に対する差分を計算して、近い方を採用する。つまり、P1をID0、P2をID1とする。このように、座標値の連続性の判定を行い、夫々の座標値に対して、このIDを割り振って座標値を出力する。そして、外部端末側で、このIDを参照することで、座標値の連続性を判定し、線で連結する等の描画の処理を行うようにすればよい。
<座標算出処理フローの説明>
図25は座標入力装置が実行する座標算出処理を示すフローチャートである。図25では、センサユニットでのデータ取得から座標算出までの手順を示している。尚、図25のフローチャートは、CPU21がメモリ132に記憶されているプログラムを読み出し、実行することで実現される。
図25は座標入力装置が実行する座標算出処理を示すフローチャートである。図25では、センサユニットでのデータ取得から座標算出までの手順を示している。尚、図25のフローチャートは、CPU21がメモリ132に記憶されているプログラムを読み出し、実行することで実現される。
電源が投入されると、S101で、制御・演算ユニット2のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。その後に、不揮発メモリ等から基準データや補正用の定数等の初期データをそれぞれ読み出し、演算・制御ユニット2のメモリ132に格納する。また、各センサユニット毎に、図6(A)のような、照明無しの時の光量分布データ81と、初期入力が無いときの光量分布データ82を、初期データとして取り込み、メモリ132に記憶する。ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことはいうまでも無く、この初期設定動作を経て、通常の指示具による座標入力動作状態に移行することになる。
S102で、座標入力が連続して行われているか否かを示すフラグを初期化(クリア)する。S103で、各センサユニットの投光部を点灯させ、光量分布データを受光部より取得する。S104で、センサユニット1L及び1Rの各2つの受光部の内、各々一方の受光部で取得した光量分布データは、先の初期データに対して差分及び比を計算する。そして、例えば、閾値を越えるものがあるか否かの判定等によって、一方の受光部(第1受光部)の遮光範囲の検出を実行する。S105で、S104で検出した遮光範囲の角度情報から、他方の受光部に対応するデータの遮光範囲探索開始位置(画素番号)を算出し、S104と同様に、他方の受光部(第2受光部)の遮光範囲の検出を実行する。
S106で、遮光範囲の検出結果に基づいて、指示具による入力の有無を判定する。入力がない場合(S106でNO)、S102に戻る。一方、入力がある場合(S106でYES)、S107に進む。S107で、遮光範囲の検出結果に基づいて、センサユニットの各受光部毎の遮光範囲の数を検出する。S108で、遮光範囲の数の検出結果に基づいて、指示具による入力が複数点入力であるか否かを判定する。複数点入力でない場合(S108でNO)、つまり、単一点入力である場合、S109に進み、単一点入力における座標算出を実行する。このときの座標算出は、遮光範囲の端部情報を用いた計算でも良いし、遮光範囲の中央を用いたものでもかまわない。
一方、複数点入力である場合(S108でYES)、S110に進み、その遮光範囲の数に従って、遮光範囲の端部情報を利用する計算あるいは遮光範囲の中央を利用する計算のいずれかによって、複数の座標を算出する。そして、これらのデータをメモリ132に記憶する。この複数の座標は、出力座標候補及び虚実判定用座標であって、後の処理に使用することになる。
S111で、遮光範囲が重なっている場合で、その入力状態が、複数点の入力の内、一方の入力の端部の両方のいずれも検出できない状態である否かの判定(皆既食状態であるか否かの判定)を行う。皆既食状態を判定した場合は、後に特定できない座標値を算出する処理(座標補間処理)を実行するための座標補間ビジーフラグをセットする。
S112で、その座標補間ビジーフラグがセット状態であるか否かを判定する。座標補間ビジーフラグがセット状態である場合(S112でYES)、S113で、皆既食状態によって特定できない座標値を算出する処理(座標補間処理)を行う。
一方、入力点のいずれか一方の端部情報が検出できている場合(即ち、皆既食状態でない場合)または座標補間処理が継続中ではない場合(即ち、座標補間ビジーフラグがセット状態でない場合)(S112でNO)、S114に進む。S114で、S110で算出した出力座標候補及び虚実判定用座標から、実際に入力された点(実座標)を選択する処理、虚実判定を実行する。この虚実判定によって、実座標が判定されて、座標値が確定したら、S115で、連続入力の有無を判定する。尚、この判定は、図24で説明した連続入力の有無を示すフラグに基づいて実行する。
連続入力がない場合(S115でNO)、S117に進む。一方、連続入力がある場合(S115でYES)、S116に進む。S116で、それ以前に記憶されている座標値(前回の座標値等)との差分等から、連続性判定を実行する。連続性判定がなされたら、S117で、連続入力フラグをセットし、また、今の座標値を次の連続性判定のためにメモリ132に記憶する。
次に、S118で、ID等の付帯情報を座標値に付加する。特に、連続していると判定された座標値には、前回と同じIDを付加し、新規に検出された座標値に対しては、未使用のIDを付加することになる。また、スイッチ情報等がある場合には、その情報も付加する。このように、付帯情報を有する座標値を、S119で、外部端末に出力する。その後、データ取得のループを、電源OFFまで繰り返すことになる。
図26は座標入力装置が実行するS113の座標補間処理の詳細を示すフローチャートである。図25では、センサユニットでのデータ取得から座標算出までの手順を示している。図25のS111で皆既食状態と判定された場合には、S112で座標補間フラグがセットされ、この座標補間フラグがセットされている間は、S113で座標補間処理が実行されるが、この座標補間処理について以下に説明する。
S201で、補間区間フラグがセット状態である否かを判定する。この補間区間フラグは、座標補間区間を特定するための座標値が検出された状態であるか否かを判定するためのフラグであって、図22においては、指示位置C9が検出された状態でセットされるフラグである。
補間区間フラグがセット状態でない場合(S201でNO)、S202で、座標補間区間を特定するための座標値(補間区間用座標値)が検出されたか否かを判定する。補間区間用座標値が検出されていない場合(S202でNO)、つまり、皆既食状態である場合は、リターンしてメインルーチン(図25)に戻る。
一方、補間区間用座標値が検出された場合(S202でYES)、S203で、座標補間区間における補間座標値を算出する点数(座標補間点数)を算出する。更に、補間区間フラグをセット状態にして、リターンしてメインルーチンに戻る。
一方、補間区間フラグがセット状態である場合(S201でYES)、S204で、座標補間フラグがセット状態であるか否かを判定する。この座標補間フラグは、補間座標値の算出が終了状態にあるか否かを判定するためのフラグであって、図22においては、指示位置C10が検出され、補間座標値が算出された状態でセットされるフラグである。
座標補間フラグがセット状態でない場合(S204でNO)、S205で、補間座標値を決定するための座標値(補間用座標値)が検出されたか否かを判定する。補間用座標値が検出されていない場合(S205でNO)、つまり、補間関数を導出するための座標値が揃っていない状態である場合は、リターンしてメインルーチンに戻る。
一方、補間用座標値が検出された場合(S205でYES)、S206で、補間座標値を算出するために使用する補間関数を導出する。S207で、補間関数及び座標補間点数から補間座標値を算出し、更に、補間座標値出力後の通常座標の出力処理における間引き数を決定する。S208で、補間座標値の先頭の座標値をメモリ132にセットし、更には、座標補間フラグをセット状態にして、リターンしてメインルーチンに戻る。
一方、座標補間フラグがセット状態である場合(S204でYES)、S209で、算出した補間座標値の出力が終了したか否かを判定する。補間座標値の出力が終了していない場合(S209でNO)、S210で、補間座標値をメモリ132にセットし、リターンしてメインルーチンに戻る。
一方、補間座標値の出力が終了している場合(S209でYES)、S211で、S207で決定した間引き数に従って、間引きする間引き座標の出力が終了したか否かを判定する。間引き座標の出力が終了していない場合(S211でNO)、S212で、間引き座標をメモリ132にセットし、リターンしてメインルーチンに戻る。
一方、間引き座標の出力が終了している場合(S211でYES)、S213で、座標補間処理の全てが終了したので、補間区間フラグ、座標補間フラグ、更には図25のS112で判定される座標補間ビジーフラグの全フラグをクリアして、メインルーチンに戻る。
以上説明したように、実施形態1によれば、補間座標値の算出及び出力座標値の間引き処理を行うことが可能となり、指示具の現在の指示位置に対して出力座標値の遅延を極力短縮することができる。
<実施形態2>
実施形態1は、皆既食状態の場合に指示位置を特定できない場合には、特定できない区間(座標補間区間)の前後の座標値を用いて、補間する座標値を算出する構成となっている。実施形態2では、一方のセンサユニットが皆既食状態である場合でも、もう一方のセンサユニットが皆既食状態ではないこと、つまり、もう一方のセンサユニットの角度情報を取得できる状態にあることを利用する構成について説明する。より具体的には、皆既食状態であるセンサユニットの角度情報を補間して、皆既食状態ではないセンサユニットとの角度情報との組合せで座標値を算出する。
実施形態1は、皆既食状態の場合に指示位置を特定できない場合には、特定できない区間(座標補間区間)の前後の座標値を用いて、補間する座標値を算出する構成となっている。実施形態2では、一方のセンサユニットが皆既食状態である場合でも、もう一方のセンサユニットが皆既食状態ではないこと、つまり、もう一方のセンサユニットの角度情報を取得できる状態にあることを利用する構成について説明する。より具体的には、皆既食状態であるセンサユニットの角度情報を補間して、皆既食状態ではないセンサユニットとの角度情報との組合せで座標値を算出する。
図27は座標補間処理を説明するための図である。
図27において、横軸はサンプリング時間tであり、座標入力装置が指示入力に伴う遮光を検出する時間t0〜t10までを示している。縦軸はセンサユニット1Lで検出される角度データθLであり、サンプリング時間に取得した角度データθLを円で描画してある。尚、各サンプリング時間に取得するデータを図22と対応させた場合、時間t0〜t10は、指示位置C0〜C10が対応するものとする。また、皆既食状態ではないもう一方のセンサユニット1Rの角度データをθRとして、θ0r〜θ10rが時間t0〜t10に対応するものとする。
図22に示すとおり、指示位置C2〜C8にある場合は、皆既食状態であるので、角度データθLを特定できない。この状態を図27では、点線の円で描画している。従って、実施形態2では、この指示位置C2〜C8の座標を算出するために対応する角度データθLを補間する座標補間処理を実行する。
この座標補間処理は、実施形態1の座標補間処理と同様に、特定できない区間の前後の角度データを使用する。この場合、時間t0、t1、t9、t10におけるθLの角度情報を用いて、多項式である補間関数を導出する。ここで、補間関数は、次式で表現される。
θL=f(t) (9)
尚、実施形態2においても、座標補間区間において適正な座標補間点数を算出するため、実施形態1と同様に、指示具の移動速度と径サイズにより座標補間点数を算出する。但し、実施形態2では、座標を計算するにあたり、一方の角度データはサンプリング時間に取得した角度データを使用するので、実施形態1のように補間関数に対して座標補間区間における任意の値を代入することはできない。従って、1個おき、2個おき等、サンプリング時間単位で間引いて補間座標値を出力することになる。
尚、実施形態2においても、座標補間区間において適正な座標補間点数を算出するため、実施形態1と同様に、指示具の移動速度と径サイズにより座標補間点数を算出する。但し、実施形態2では、座標を計算するにあたり、一方の角度データはサンプリング時間に取得した角度データを使用するので、実施形態1のように補間関数に対して座標補間区間における任意の値を代入することはできない。従って、1個おき、2個おき等、サンプリング時間単位で間引いて補間座標値を出力することになる。
具体的には、実施形態2では、実施形態1の図26の座標補間処理のS306の補間関数(角度)の導出方法が異なる。即ち、実施形態1では、座標値そのものを補間する処理であるため補間関数は座標値を導出する関数として定義している。これに対して、実施形態2では、皆既食状態となるセンサユニットの角度情報をサンプリング時間単位で補間するので、補間関数では角度情報を導出する関数として導出される。そして、導出された(補間された)角度情報から、座標補間区間における補間座標値を算出する。
尚、実施形態2においても、実施形態1と同様に補間座標値の出力完了後も更に座標出力の遅延時間を短くするために、出力座標値の間引き処理を行う。従って、実施形態2においても、指示具の現在の指示位置に対して出力座標値の遅延を極力短縮することができる。
<実施形態3>
実施形態1では、皆既食状態の場合に指示位置を特定できない場合には、特定できない区間の前後の座標値を検出するまで、一旦座標出力を停止している。その後、実施形態1では、補間座標値を算出後に順次補間座標値を出力し、更に、その後、補間座標値の出力期間中に検出した座標値を間引きして出力する。
実施形態1では、皆既食状態の場合に指示位置を特定できない場合には、特定できない区間の前後の座標値を検出するまで、一旦座標出力を停止している。その後、実施形態1では、補間座標値を算出後に順次補間座標値を出力し、更に、その後、補間座標値の出力期間中に検出した座標値を間引きして出力する。
実施形態3では、2点の入力位置関係から座標補間区間を予測することで座標補間区間の前後の座標を取得する期間も座標の出力を継続する構成について説明する。
図28では、入力点P1が受光部L1に比較的近くに位置している状態で、入力点P2がP2入力方向の矢印の方向に移動する場合において、受光部L1で皆既食状態が生じる場合の補間処理及び座標出力処理について説明する。尚、説明を簡潔にするために、ここではセンサユニットは単一の受光部を構成する場合について説明する。
図28で示される各指示位置の状態は、実施形態1の図22と同様であるが、座標入力装置のサンプリング周期において特定できる指示位置(実線の円)はCA〜C1及びC9〜Cnであり、皆既食状態にある指示位置(点線の円)はC2〜C8となっている。そして、実施形態1と同様に、指示位置C2〜C8の前の指示位置C0、C1及び後の指示位置C9、C10の座標値を用いて、指示位置C2〜C8を補間する。
但し、実施形態3では、入力点P2の指示位置が入力点P1の遮光と重なる以前に座標出力処理を通常状態とは変更する処理を実行する。即ち、入力点P1による遮光と入力点P2による遮光との間隔(遮光間隔)を監視して、入力点P1と入力点P2の遮光が重なる状態を予測し座標の出力処理を変更する。
ここで、遮光間隔とは、図28においては、入力点P2の位置が指示位置CAにある場合には、センサユニット1Lで検出される指示位置CAの遮光端部l12及び入力点P1の指示位置の遮光端部l13の間隔に相当する。座標補間区間の予測は、この遮光間隔を用いて行うもので、この遮光間隔が所定値以下となる場合に、一定時間経過後にセンサユニットで遮光が重なるものと判定される。
遮光間隔が所定値以下となる場合には、座標補間区間を予測し、座標補間区間になるまでの座標値を指示位置が座標補間区間を移動するときに、その座標値を所定時間間隔で遅延させて出力を行う。尚、座標補間は、実施形態1と同様に多項式による補間関数を導出し座標値を算出することで処理が行う。また、補間座標値及びその後の座標値の出力についても実施形態1と同様に間引き出力の処理が行われる。
ここで、座標補間区間の予測方法について、図29を用いて説明する。図29において、センサユニット1Lの受光部L1で検出する遮光間隔(l12とl13の間隔)が所定値以下となる場合に、座標P1とP2が検出されている状態において、座標P2が移動して座標P1の遮光と重なり皆既食状態となることを予測する。この場合、まず、座標P2と座標P2の前サンプリングで取得した座標P20との2つの座標値で定義される直線E1を導出する。
更に、座標P1の端部情報l13とl14からそれぞれ同様に直線を定義する。定義する直線をそれぞれE2及びE3とし、直線E1と直線E2の交点をPC1、直線E1と直線E3との交点をPC2とすると、この交点PC1及びPC2の区間において、皆既食状態となると想定し、概略の座標補間区間を定義する。
尚、座標補間区間の定義についてより一層正確性を上げるためには、遮光間隔が所定値以下となる場合に、直線E1を導出するための座標値の点数を増やしてもよい。その場合は、線形近似式あるいは曲線近似式により、座標P1の端部に相当する直線との交点を算出してもよい。また、座標P1の移動も鑑みて、座標P1の端部に相当する直線は、座標P1の座標ベクトルまたは角度ベクトルによって、端部情報をシフトさせてから直線を導出することで、更に座標補間区間の予測の正確性が上がる。
次に、予測した概略の座標補間区間に出力する座標値の出力処理について説明する。この概略の座標補間区間においては、先述した遮光間隔に相当する区間において検出する座標値を出力することとなる。
図29において、座標P2と交点PC1までの区間をL1、交点PC1とPC2の区間をL2とする。更に、座標P2と座標P20から座標ベクトルを算出し、この座標ベクトルの大きさにて、L1及びL2を除算することによって、それぞれの概略の座標検出点数が算出できる。従って、座標出力は、区間L1と区間L2を加算した区間に区間L1の座標検出点数を割り付けて座標出力処理を実行することになる。
この座標出力処理について、図30を用いて説明する。先述したように、皆既食状態で座標が特定できない区間は座標が出力できない。即ち、指示位置C9、C10が特定されるまで、座標を算出することができない。実施形態3では、この区間に、図28で示す、遮光間隔が所定値以下と判定される指示位置CC、C0、C1の座標を出力する。
図30では、上側には時間軸Tに対して指示位置がCA〜C19まで移動する様子を図28と対応させて模式的に示している。下側には上記の時間軸Tに対応させて指示位置にある時刻に対応する実際に出力される座標値を出力座標Aと出力座標Bとして2通りを模式的に示している。
ここで、指示位置CA及びCBでは、遮光間隔は所定値以下でないと判定される場合には、出力座標A及びBにおいては、そのままCA及びCBが出力される。一方、指示位置CCにて遮光間隔が所定値以下であると判定される場合には、例えば、以下のように動作する。即ち、指示位置C10を検出するまでの座標補間区間において、例えば、出力座標A及びBに示すように、指示位置CCを検出後、サンプリング時間間隔の2個分を遅延させてCCを出力し、以降、サンプリング間隔の3倍乃至2倍の周期でC0〜C1の座標を出力する。
尚、この出力座標の出力を遅延させる時間(遅延量)及び出力間隔は、遮光間隔が所定値以下であると判定された時点の座標ベクトルの大きさで決定する構成としているが、これに限定されず、以下のように構成しても良い。例えば、遮光間隔が所定値以下であると判定された時点から座標補間区間の開始位置までの距離に対して、指示具の径サイズから座標値の個数を決定する。そして、遮光間隔が所定値以下であると判定された時点から座標補間区間の終了位置までの距離に対して、その個数をサンプリング時間間隔単位でなるべく均等に出力できるように割り付ける。この場合での出力座標の遅延量及び出力間隔は、一定値及び一定間隔でなくともよく、サンプリング時間単位で変更してもよいし、任意のタイミングで出力してもよい。
以降の座標出力については、実施形態1と同様に、出力座標Aについては座標出力間引き数が1個の場合を示している。この場合、実際の指示位置C19のときに指示位置と出力座標との時間が同じとなり、実際に指示位置に対して出力座標が追い付くことになる。尚、出力時間が追い付く時間を短くするためには、出力座標Bのように座標出力間引き数を2個にしてもよい。この場合、指示位置がC15のときに指示位置に出力時間が追い付くことになる。また、指示位置が座標補間区間にあるときの座標出力処理に用いた遅延時間は、以降の座標出力処理に適用してもよく、例えば、指示入力を停止する状態まで継続させてもよい。
また、実施形態1においての座標出力の間隔は、サンプリング間隔に基づいているが、必ずしもその必要はなく、座標出力処理のモジュールの独立した間隔で出力処理を実行してもよい。その場合、実際の指示位置に対して、出力座標値の遅延をできるだけ短縮するために出力時間を短くする等の処理をしてもよい。
図31は座標入力装置が実行する座標算出処理を示すフローチャートである。尚、実施形態3の図31の座標算出処理は、実施形態1の図25のS110とS114との間に、S411〜S414の処理を追加したものである。以下、この追加した処理について詳細に説明する。
S101〜S110の処理の後、S411で、各遮光範囲の間隔(遮光間隔)と所定値とを比較し、所定値以下であるか否かを判定する。尚、所定値は、座標入力装置の用途において、座標入力装置の大きさや想定する指示具の移動速度によって適宜設定すればよい。
遮光間隔が所定値以下でない場合(S411でNO)、図25のS114に進む。一方、遮光間隔が所定値以下である場合(S411でYES)、S412で、皆既食状態判定を実行する。この皆既食状態判定は、実施形態1と同様にセンサユニットに近い指示位置に対して、指示具の径サイズを複数のセンサユニットで算出して比較することで判定を行う。また、S412では、後に座標出力処理を変更したり、特定できない座標値を算出する処理(座標補間処理)を実行するための座標補間ビジーフラグをセットする。
S413で、その座標補間ビジーフラグがセット状態であるか否かを判定する。座標補間ビジーフラグがセット状態である場合(S413でYES)、S414で、座標出力の変更処理及び皆既食状態によって特定できない座標値を算出する処理(座標補間処理)を行う。ここで、S414の座標補間処理は、実施形態1の図26の座標補間処理のS204〜S213の処理の前に、補間区間用座標の出力設定を実行する。この処理は、遮光間隔が所定値以下である場合に実行する処理であり、座標補間区間が終了するまでの区間の予測及びその区間における座標の出力処理の設定に関するものとなる。
この処理の後、図26の座標補間処理のS204〜S213によって、座標補間区間における座標補間処理及びその出力処理、さらには、座標補間区間終了後の座標出力処理を実行する。
図32はS414における補間区間用座標の出力設定処理の詳細を示すフローチャートである。遮光間隔が所定値以下となる場合、座標補間区間を予測し、座標補間区間になるまでの座標値について、座標補間区間において所定時間間隔で遅延させて出力を行う。
まず、S601で、座標補間区間の予測及び座標補間区間終了までの区間における座標出力設定が終了したか否かを示す座標出力設定フラグがセット状態であるか否かを判定する。
座標出力設定フラグがセット状態でない場合(S601でNO)、以後、座標補間区間の予測処理を実行する。まず、S602で、遮光間隔が小さいと判定されたセンサユニットの遮光情報の内、遠い方の指示位置の遮光情報を用いて計算した座標値P2の座標ベクトルを計算する。S603で、今回サンプリング時の座標値P2(t)と前回サンプリング時の座標値P2(t−1)により、直線計算式1を導出する。S604で、対象となるセンサユニットに近い方の座標値P1の端部情報を用いて直線計算式2及び3を導出する。S605で、導出した計算式1と計算式2、3の交点を算出する。
以上の処理で、P2の座標値、交点が2つ算出できるので、これらの座標データから、S606で、座標P2から座標補間区間までの区間L1と座標補間区間L2を定義する。S607で、座標P2の座標ベクトル及び区間L1、L2より、区間L1と区間L2において出力する座標値について、その座標出力点数から、遅延時間及び出力時間間隔を設定する。この遅延時間及び出力時間間隔は、区間L1とL2を加算した区間において、その座標出力点数が均等に出力されるように設定する。設定完了後、座標出力設定フラグをセットする。
一方、座標出力設定フラグがセット状態である場合(S601でYES)、S608で、S607で設定される座標出力設定において出力すべき座標値の出力、即ち、補間区間用座標出力が終了したか否かを判定する。補間区間用座標出力が終了していない場合(S608でNO)、座標補間区間までの区間(L1)で検出した座標値をメモリ132にセットしてリターンする。一方、補間区間用座標出力が終了している場合(S608でYES)は、リターンする。
以上説明したように、実施形態3によれば、皆既食状態となる場合であっても、一旦座標の出力を停止することなく、座標補間区間においても座標出力を継続することができる。
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。更に、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
1L、1R:センサユニット、2:演算・制御ユニット、3:座標入力有効領域、4:再帰反射部、5:ペン信号受信部、7:インタフェース、8:光透過部材
Claims (11)
- 指示具による座標入力有効領域上の指示位置を検出する座標入力装置であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出手段と、
前記検出手段によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具の内の第1の指示具の移動に伴い、前記複数の指示具の内の前記第1の指示具と他の指示具それぞれに対応する光量分布が重なる状態となるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記それぞれに対応する光量分布が重なる状態となる場合、その状態によって、前記第1の指示具の座標値を補間により算出する補間区間を予測する予測手段と、
前記それぞれに対応する光量分布が重なる状態となるまでの前記第1の指示具の指示位置と、前記予測手段で予測した補間区間との距離に応じて、前記指示位置から前記補間区間の終了位置における、前記第1の指示具の座標値の出力を制御する制御手段と
を備えることを特徴とする座標入力装置。 - 前記判定手段は、前記第1の指示具の移動に伴い、前記それぞれに対応する光量分布の間隔が所定値以下となる場合に、前記それぞれに対応する光量分布が重なる状態となると判定する
ことを特徴とする請求項1に記載の座標入力装置。 - 前記複数の受光部それぞれが検出する光量分布に基づいて、前記補間区間における補間座標値を算出する算出手段を更に備え、
前記制御手段は、前記第1の指示具の移動に伴い、前記複数の指示具それぞれに対応する光量分布の間隔が所定値以下となる時点での前記第1の指示具の指示位置と前記補間区間の開始位置までの区間では、前記複数の受光部それぞれが検出する光量分布に基づいて算出される前記第1の指示具の座標値を遅延させて出力するとともに、前記補間区間では、前記第1の指示具の座標値として、前記算出手段で算出する補間座標値を出力する
ことを特徴とする請求項2に記載の座標入力装置。 - 前記制御手段は、前記第1の指示具の移動に伴う前記それぞれに対応する光量分布の間隔、前記第1の指示具の移動速度、前記補間区間に基づいて、前記第1の指示具の座標値を出力する遅延時間及び時間間隔を設定する
ことを特徴とする請求項1乃至3のいずれか1項に記載の座標入力装置。 - 前記判定手段は、前記第1の指示具の移動に伴い、前記それぞれに対応する光量分布の間隔が所定値以下となる場合に、前記それぞれに対応する光量分布が重なる状態となると判定し、
前記制御手段は、前記所定値以下となる時点の前記第1の指示具の指示位置と前記補間区間の開始位置までの距離、前記第1の指示具の径サイズ、前記指示位置と前記補間区間の終了位置までの距離とに基づいて、前記第1の指示具の座標値を出力する遅延時間及び時間間隔を設定する
ことを特徴とする請求項1乃至3のいずれか1項に記載の座標入力装置。 - 前記判定手段は、前記第1の指示具の移動に伴い、前記それぞれに対応する光量分布の間隔が所定値以下となる場合に、前記それぞれに対応する光量分布が重なる状態となると判定し、
前記予測手段は、前記所定値以下となる時点の前記第1の指示具の指示位置と、それ以前の前記第1の指示具の指示位置とで定義される座標ベクトルに基づいて、前記補間区間を予測する
ことを特徴とする請求項1乃至5のいずれか1項に記載の座標入力装置。 - 前記制御手段は、前記複数の受光部それぞれが検出する光量分布に基づいて算出される前記補間区間における補間座標値を間引いて出力する
ことを特徴とする請求項1乃至6のいずれか1項に記載の座標入力装置。 - 前記制御手段は、前記複数の受光部それぞれが検出する光量分布に基づいて算出される、前記補間区間以外の座標値と前記補間区間における補間座標値との出力を、前記補間区間に基づいて制御するものであり、更に、前記補間座標値の出力完了後に出力する座標値については、前記補間座標値の出力前に出力している座標値の個数よりも少ない数の座標値に間引いて出力する
ことを特徴とする請求項1乃至7のいずれか1項に記載の座標入力装置。 - 前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具それぞれの指示位置の方向を示す角度情報を導出する導出手段と、
前記複数の受光部それぞれが検出する光量分布に基づいて、前記補間区間における補間座標値を算出する算出手段とを更に備え、
前記算出手段は、前記複数の受光部の内、前記補間区間を含む光量分布を検出する受光部の光量分布から導出される該補間区間以外の角度情報を用いて、該補間区間の角度情報を補間し、その補間された角度情報から、前記補間座標値を算出する
ことを特徴とする請求項1乃至8のいずれか1項に記載の座標入力装置。 - 指示具による座標入力有効領域上の指示位置を検出する座標入力装置の制御方法であって、
前記座標入力有効領域の周辺に配置されている複数の受光部で検出する光量分布に基づいて、指示具の入力を検出する検出工程と、
前記検出工程によって複数の指示具による入力を検出している場合において、前記複数の受光部それぞれが検出する光量分布に基づいて、前記複数の指示具の内の第1の指示具の移動に伴い、前記複数の指示具の内の前記第1の指示具と他の指示具それぞれに対応する光量分布が重なる状態となるか否かを判定する判定工程と、
前記判定工程の判定の結果、前記それぞれに対応する光量分布が重なる状態となる場合、その状態によって、前記第1の指示具の座標値を補間により算出する補間区間を予測する予測工程と、
前記それぞれに対応する光量分布が重なる状態となるまでの前記第1の指示具の指示位置と、前記予測工程で予測した補間区間との距離に応じて、前記指示位置から前記補間区間の終了位置における、前記第1の指示具の座標値の出力を制御する制御工程と
を備えることを特徴とする座標入力装置の制御方法。 - コンピュータを、請求項1乃至10のいずれか1項に記載の座標入力装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014166997A JP2016045528A (ja) | 2014-08-19 | 2014-08-19 | 座標入力装置及びその制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014166997A JP2016045528A (ja) | 2014-08-19 | 2014-08-19 | 座標入力装置及びその制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016045528A true JP2016045528A (ja) | 2016-04-04 |
Family
ID=55636084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014166997A Pending JP2016045528A (ja) | 2014-08-19 | 2014-08-19 | 座標入力装置及びその制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016045528A (ja) |
-
2014
- 2014-08-19 JP JP2014166997A patent/JP2016045528A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4455392B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP4757144B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP4429047B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
KR100707847B1 (ko) | 좌표입력장치 및 그 제어방법 | |
CN101498980B (zh) | 基于红外线摄像的触摸显示屏边框、系统及计算方法 | |
JP2006031275A (ja) | 座標入力装置およびその制御方法 | |
JP5366789B2 (ja) | 入力指示具及びその制御方法、並びに座標入力装置 | |
JP2006301744A (ja) | 座標入力装置及びその制御方法、プログラム | |
JP5591069B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP4590295B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2007079744A (ja) | 座標入力装置 | |
JP5806573B2 (ja) | 座標入力装置およびその制御方法、座標入力システム | |
JP2006244192A (ja) | 光学式座標入力装置 | |
JP2016045528A (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2016045527A (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2006099273A (ja) | 座標入力装置及びその方法 | |
JP2012048403A (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2007072508A (ja) | 座標入力装置及びその制御方法、プログラム | |
JP5814608B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP5717514B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP5865053B2 (ja) | 座標入力装置、座標入力装置の制御方法、およびプログラム | |
JP5049747B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2006251878A (ja) | 座標入力装置、座標入力制御方法及び座標入力プログラム | |
JP5947677B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2006251877A (ja) | 座標入力装置 |