座標入力装置、座標入力制御方法及び座標入力プログラム
【課題】座標入力装置において、複数の指示具の指示位置の座標を算出する。
【解決手段】座標入力領域上に指示がない場合の初期検出信号分布に対し、複数の検出手段のうち第1の検出手段における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定手段と、前記特定手段で特定された信号変化範囲の端部情報を検出する端部情報検出手段と、前記端部情報検出手段で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出手段のうち前記第1の検出手段とは別の第2の検出手段における信号変化範囲を特定するための検出範囲を決定する決定手段と、記検出範囲について前記特定手段によって前記第2の検出手段の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、前記第1の検出手段の端部情報と第2の検出手段の端部情報から前記指示具の指示位置の座標を算出する。
【解決手段】座標入力領域上に指示がない場合の初期検出信号分布に対し、複数の検出手段のうち第1の検出手段における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定手段と、前記特定手段で特定された信号変化範囲の端部情報を検出する端部情報検出手段と、前記端部情報検出手段で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出手段のうち前記第1の検出手段とは別の第2の検出手段における信号変化範囲を特定するための検出範囲を決定する決定手段と、記検出範囲について前記特定手段によって前記第2の検出手段の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、前記第1の検出手段の端部情報と第2の検出手段の端部情報から前記指示具の指示位置の座標を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、座標入力領域上の指示位置を検出する座標入力装置、座標入力制御方法及び座標入力プログラムに関するものである。
【背景技術】
【0002】
座標入力面に、指示具(例えば、専用入力ペン、指等)によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置が存在する。
【0003】
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【0004】
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、例えば、特許文献1がある。この特許文献1では、座標入力領域の外側に再帰性反射シートを設け、座標入力領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出し、その検出結果に基づいて、その遮蔽物の指示位置を決定する構成が開示されている。
【0005】
また、特許文献2や3等にあるように、再帰反射部材を座標入力領域周辺に構成し、再帰反射光が遮光される部分(遮光部分)の座標を検出する座標入力装置が開示されている。
【0006】
これらの装置において、例えば、特許文献2では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献3では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
【0007】
ここで、特許文献1乃至3のような、遮光位置を検出して座標を算出する方式を、以下、遮光方式と称する。
【0008】
また、更に、このような遮光方式の座標入力装置においては、特に、その座標入力領域のサイズが大きい場合には、複数の操作者が同時に入力することを許容して、利便性を向上し、より効率的な会議等の用途での要求がある。そのため、複数の同時入力に対応する座標入力装置が考案されている。
【0009】
複数の座標を同時に入力するために、特許文献4〜特許文献6では、一つの受光センサで複数の遮光部分の角度を検出し、各センサの角度の組み合わせから数点の入力座標候補を算出し、更に、その入力座標候補から実際に入力した座標を判別する技術が開示されている。
【0010】
例えば、2点入力の場合には、入力座標候補として最大4点の座標を算出し、この4点の内、実際に入力した座標2点を判定し、出力する。つまり、この判定は、複数の入力座標候補の中から、実際の入力座標と虚偽の入力座標を選別して、最終的な入力座標を判定する。そして、この判定を、ここでは虚実判定と呼ぶことにする。
【0011】
この虚実判定の具体的な方法としては、特許文献5や特許文献6では、従来の座標入力領域の一辺の両端に、座標入力領域内で指示された座標を精度良く算出するに十分な距離を隔てて設置される第1及び第2センサの他に、これも、第1及び第2センサから入力領域内で指示された座標を精度良く算出するに十分な距離を隔てて第1及び第2センサの間の位置に設置される第3センサを設ける。そして、この第3センサにおける第1及び第2センサの角度情報とは異なる角度情報に基づいて、第1及び第2センサで検出された複数の角度情報に対し、この虚実判定を行う技術が開示されている。
【0012】
また、従来の遮光方式の座標入力装置における受光部を構成する受光素子による、指等の指示具が遮光する遮光部分の検出方法としては、特許文献7において、受光素子の出力信号における遮光部分の一方の端と遮光部分の他方の端との中心を、指示具に対応する検出座標として検出する提案がなされている。また、単純に、特許文献4において、受光素子が検出する遮光部分に対応する画素番号で遮光部分の位置を検出する提案もなされている。これらの遮光部分の検出方法は、遮光部分の中心を実際の指示具の中心であるとして算出し、これを角度情報として、座標算出演算に用いている。
【特許文献1】米国特許第4507557号明細書
【特許文献2】特開2000−105671号公報
【特許文献3】特開2001−142642号公報
【特許文献4】特開2002−055770号公報
【特許文献5】特開2003−303046号公報
【特許文献6】特許第2896183号公報
【特許文献7】特開2001−142642号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、従来の遮光方式のように、遮光部分の光量分布のピーク或いは、遮光影に関わる光量分布の両端によって規定される光量分布の中心から角度を検出し、各受光部から検出される角度の組み合わせから指示座標を算出する技術では、複数、少なくとも2箇所同時に座標を入力する場合には、その2箇所の入力点が受光部から略直線上に重なることがある。
【0014】
従って、2箇所の入力点に対する遮光影が受光部で重なった場合には、各々の遮光影を分離して、各入力点の角度を検出することができず、入力不可能となる。
【0015】
例えば、図26に示すような座標入力領域の位置に、それぞれ指示具Aと指示具Bで指示する場合、図中の受光部S2の位置の場合における指示具Aと指示具Bに対応する光量分布は、それぞれ図27(b)のA及びBのようになり、指示具Aと指示具Bの2点の遮光位置に対応した遮光影が分離して検出される。
【0016】
尚、参照データとして、何も指示入力しない場合の光量分布は、図27(a)で示すようになる。この図27(a)において、Cの位置にある光量分布の谷は、座標入力領域の周囲に設けた再帰反射部材の角度特性、距離による減衰等の要因により生じた光量分布である。
【0017】
一方、図26に示す受光部S1の場合における指示具Aと指示具Bに対応する光量分布は、図27(c)のようになり、指示具Aと指示具Bの2点の位置に対応した遮光影が重なって検出される。この重なった遮光影(遮光重なり)を有する光量分布(遮光光量分布)の情報においては、図27(c)に示すように、図27(b)のAとBが部分的に重なっている(いわゆる、部分食が発生している)場合には、それぞれの指示具の片方の遮光範囲の端部情報しか得られない。そのため、特許文献7のように、従来の遮光範囲の両端の情報からその中心、あるいは、中心の画素番号により位置(角度)を算出する方法では、指示具Aと指示具Bの座標を算出することは不可能である。
【0018】
また、図には示さないが、対象受光部に対し、手前の第1指示具の影に、受光部から遠い方の第2指示具の影が完全に含まれてしまう(いわゆる、皆既食が発生している)場合にも、手前の第1指示具に関しては、その遮光影の両端から中心位置(角度)を算出することはできるが、遠い方の第2指示具に関する情報は得ることができない。
【0019】
従って、先行例においては、複数の指示具の同時入力によって発生する遮光影の数を予め検出しておき、受光部で検出する数として、例えば、第2受光部において「2」で、第1受光部においては「1」である場合には、第1受光部において、指示具に対応する遮光影が受光部が検出する光量分布において重なっている場合とみなす。
【0020】
そして、このような場合においては、特許文献6では、そのような状態の発生の旨を示す警告を発して、使用者に注意を喚起して、その状態を回避する構成としている。また、特許文献4や5では、第1受光部から、重なりの無い分離された2つの遮光影を検出できる他の第3受光部に切り替え、その2つの遮光影を検出できる受光部(この場合、第1受光部及び第3受光部)で角度を検出し、各受光部から得られる入力座標候補に対し、上述の虚実判定を施し、最終的な2点の実入力座標を決定する必要がある。
【0021】
尚、この場合の虚実判定は、遮光重なりを検出する受光部の角度情報でも十分に可能であるので、特許文献5や6では、この遮光重なりを検出する受光部の角度情報で行っている。
【0022】
以上のように、遮光方式の標入力装置では、例えば、2つの指示具を同時に入力した場合、受光部に対しほんの一部にでも遮光重なりが生じ、その2つの指示具に対応する遮光影がつながって分離できなくなった場合には、例えば、その連続した遮光影を1つの指示具からの影とみなして算出すれば、実際の位置からのずれにより座標検出精度の劣化が生じ、更に正確な位置精度が必要な場合には、入力が不可能となり、操作上大きな問題となる。
【0023】
ここで、遮光重なりを検出する場合にその受光部の角度情報を使用せず、その遮光重なりを検出する受光部から、所定距離に配置された他の第3受光部に切り替えて座標を算出する場合には、次のような不都合が生じる。
【0024】
まず、受光部を切り替えることによる算出座標の不連続性がある。これは、実際には、各受光部により特性が異なるので、受光部が切り替わる前後の領域で座標に不連続性が生ずる場合がある。
【0025】
この受光部による不連続性は、受光部自体のデバイスとしてのばらつきの場合は、ある程度補正により調整できる。
【0026】
しかしながら、上記従来例の場合、受光部間距離自体を座標算出に用いるので、十分に精度良く座標を算出するためには、受光部間距離を一定距離以上離す必要があり、更に、座標入力領域においていずれか少なくとも一方の受光部においては、2つの遮光影が分離されて検出できるようにするためにも、一定距離以上離れて配置されることが必要であるので、その配置により、検出光量分布のばらつきが生じ、それが受光部の切替時の算出座標の連続性に影響を与える可能性が高い。
【0027】
遮光重なりを検出した場合にその受光部の角度情報を使用せず、その遮光重なりを検出した受光部から、所定距離離れた位置に配置された他の第3の受光部に切替えて座標を算出する場合の更なる課題は、第3の受光部で得られるデータ量(画素数)が増加することにより、左右の第1および第2の受光部で得られるデータ量に対して、少なくとも1.5倍以上のデータ量が増加することである。さらには、特許文献4や5における第3の受光部の位置であるならば、左右の第1および第2の受光部に対応するセンサと同等の分解能を維持するとなると2倍程度にまでデータ量が増加してしまう。さらにシステムとして、高分解能化するために角度あたりの画素数を増加させるとなると、さらなるデータ量の増加となってしまう。
【0028】
上述のデータ量の増加は、遮光位置に対応する画素を探索して、入力位置を決定するこの種のシステムにおいては、システム全体の応答速度を操作者が快適であるような満足する値に構成する要求に対して障害となる部分である。すなわち、入力装置であるので入力操作感がシステムの再重要スペックの一項目であり、入力から出力までの応答速度は、快適な入力操作感を提供するために必要十分な値とする必要がある。
【0029】
システム全体としては、データ数の増加に伴う処理時間、すなわち計算速度を向上させるために高速なCPUなどの演算装置を用いればある程度は解決できるが、コストアップは避けられない。また、いくら処理能力の高い演算装置を用いようとも、データ探索に要する時間やメモリの転送時間がボトルネックとなり、要求する応答速度を満足することができないことが十分に考えられる。
【0030】
上述の課題に対して、先行技術においては、処理速度を向上させる手法等については言及されていない。
【0031】
本発明は上記の課題を解決するためになされたものであり、入出力応答速度を極力遅くすることなく、複数の指示入力を検出して、その指示入力に対する位置座標を精度良く算出することができる座標入力装置、座標入力制御方法及び座標入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【0032】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力領域上の複数の指示位置を検出する座標入力装置において、
前記座標入力領域上に対する指示具の有無を検出する複数の検出手段と、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出手段のうち第1の検出手段における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定手段と、
前記特定手段で特定された信号変化範囲の端部情報を検出する端部情報検出手段と、
前記端部情報検出手段で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出手段のうち前記第1の検出手段とは別の第2の検出手段における信号変化範囲を特定するための検出範囲を決定する決定手段と、
前記検出範囲について前記特定手段によって前記第2の検出手段の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出手段の端部情報と第2の検出手段の端部情報から前記指示具の指示位置の座標を算出する算出手段とを備える。
【0033】
また、好ましくは、複数の前記検出手段が、前記座標入力領域の異なる位置に配置され、
前記算出手段は、前記複数の検出手段それぞれに対する端部情報で特定される座標と、対応する検出手段の基準位置とを結ぶ線分同士の交点で規定される角度の2等分線の交点を、前記指示具の指示位置の座標として算出する。
【0034】
また、好ましくは、前記第2の検出手段における信号変化範囲の端部情報が1つ検出された場合、前記第1の検出手段における信号変化範囲以下の範囲をスキップして、端部情報を検出する手段をさらに有する。
【0035】
上記の目的を達成するための本発明による座標入力装置の制御方法は以下の構成を備える。即ち、
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御方法であって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程と、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程と、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程と、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程とを備える。
【0036】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御を実現するプログラムであって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程のプログラムコードと、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程のプログラムコードと、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程のプログラムコードと、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程のプログラムコードとを備える。
【発明の効果】
【0037】
本発明によれば、複数の指示入力を検出して、その指示入力に対する位置座標を精度良くしかも高速に算出することができる座標入力装置、座標入力制御方法及び座標入力プログラムを提供できる。
【発明を実施するための最良の形態】
【0038】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【実施例】
【0039】
<装置構成の概略説明>
まず、図1を用いて、座標入力装置全体の概略構成を説明する。
【0040】
図1は本発明の実施形態の遮光方式の座標入力装置の概略構成を示す図である。
【0041】
図1において、1L、1Rは投光部および受光部を有するセンサユニットであり、本実施形態の場合、図示の如く座標入力面であるところの座標入力有効領域3のX軸に平行に、かつY軸に対称な位置に、所定距離離れて配置されている。センサユニット1L及び1Rは、制御・演算ユニット2に接続され、制御信号を制御・演算ユニット2から受信すると共に、検出した信号を制御・演算ユニット2に送信する。
【0042】
4は入射光を到来方向に反射する再帰反射面を有する再帰反射部であり、座標入力有効領域3の外側3辺に図示が如く配置され、左右それぞれのセンサユニット1L及び1Rから略90°範囲に投光された光を、センサユニット1L及び1Rに向けて再帰反射する。
【0043】
尚、再帰反射部4は、ミクロ的に見て3次元的な構造を有し、現在では、主にビーズタイプの再帰反射テープ、或いはコーナキューブを機械加工等により規則正しく配列することで再帰現象を起こす再帰反射テープが知られている。
【0044】
再帰反射部4で再帰反射された光は、センサユニット1L及び1Rによって1次元的に検出され、その光量分布が制御・演算ユニット2に送信される。
【0045】
座標入力有効領域3は、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面で構成することで、インタラクティブな入力装置として、利用可能となっている。
【0046】
このような構成において、座標入力有効領域3に指等の指示具による入力指示がなされると、センサユニット1L及び1Rの投光部から投光された光が遮られる(遮光部分)と、センサユニット1L及び1Rの受光部ではその遮光部分の光(再帰反射による反射光)を検出しないので、その結果、どの方向からの光が検出できなかったかを判別することが可能となる。
【0047】
そこで、制御・演算ユニット2は、左右のセンサユニット1L及び1Rが検出する光量変化から、指示具によって入力指示された部分の複数の遮光範囲を検出し、その遮光範囲の端部情報から、センサユニット1L及び1Rそれぞれに対する遮光範囲の端部の方向(角度)をそれぞれ算出する。
【0048】
そして、検出された遮光範囲の数に基づいて、座標算出に用いる遮光範囲から得られるデータを決定し、それぞれ算出された方向(角度)、及びセンサユニット1L及び1R間の距離情報等から、座標入力有効領域3上の指示具の遮光位置を幾何学的に算出し、表示装置に接続されているホストコンピュータ等の外部端末に、インタフェース7(例えば、USB、IEEE1394等)を経由してその座標値を出力する。
【0049】
このようにして、指示具によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
【0050】
<センサユニット1の詳細説明>
次に、センサユニット1L及び1R内の構成について、図2を用いて説明する。尚、センサユニット1L及び1Rは、大きく分けて投光部と受光部から構成される。
【0051】
図2は本発明の実施形態のセンサユニットの詳細構成を示す図である。
【0052】
図2において、101A及び101Bは、赤外光を発する赤外LEDであり、各々投光レンズ102A及び102Bによって、再帰反射部4に向けて略90°範囲に光を投光する。ここで、センサユニット1L及び1R中の投光部は、この赤外LED101A及び101Bと、投光レンズ102A及び102Bによって実現される。これにより、センサユニット1L及び1Rには、それぞれ2つの投光部が構成されることになる。
【0053】
そして、投光部より投光された赤外光は、再帰反射部4により到来方向に再帰反射され、センサユニット1L及び1R中の受光部によって、その光を検出する。
【0054】
受光部は、光線の視野を制限すると共に電気的なシールドをになうシールド部材105を設けた1次元のラインCCD104、集光光学系としての受光用レンズ106A及び106B、入射光の入射方向を概略制限する絞り108A及び108B、及び可視光等の余分な光(外乱光)の入射を防止する赤外フィルター107A及び107Bからなる。
【0055】
そして、再帰反射部4によって反射された光は、赤外フィルター107A及び107B、絞り108A及び108Bを抜けて受光用レンズ106A及び106Bによって、ラインCCD104の検出素子110面上に集光される。これにより、センサユニット1L及び1Rには、それぞれ2つの受光部が構成されることになる。
【0056】
部材103及び部材109は、投光部及び受光部を構成する光学部品を配置するとともに、投光部で投光した光が直接受光部に入射することを防ぐ、あるいは外来光をカットするための上フード103、下フード109として機能する。
【0057】
尚、本実施形態においては、絞り108A及び108Bは下フード109に一体で成型されているが、別部品であってもよいことはいうまでもなく、さらには、上フード103側に、絞り108A及び108Bと受光用レンズ106A及び106Bの位置決め部を設けることで、投光部の発光中心に対する受光部の位置決めを容易にする構成(つまり、上フード103のみで、すべての主要な光学部品が配置される構成)に実現することも可能である。
【0058】
図3Aは、図2の状態のセンサユニット1L(1R)を組み上げた状態を、正面方向(座標入力面に対し垂直方向)から見た図である。図3Aに示すように、センサユニット1L(1R)中の2つの投光部は、所定距離d離れた状態で、それぞれの主光線方向が略平行となるように配置され、各々の投光レンズ102A及び102Bによって、それぞれ略90°範囲に光を投光するように構成している。
【0059】
図3Bは、図3Aの太矢印で示される部分の断面図であり、赤外LED101A(101B)からの光は、投光レンズ102A(102B)により、座標入力面に略平行に制限された光束として、主に再帰反射部4に対して光が投光されるように構成している。
【0060】
一方、図3Cは、図3Aにおける赤外LED101A及び101B、投光レンズ102A及び102B、上フード103を取り除いた状態を、正面方向(座標入力面に対し垂直方向)から見た図である。
【0061】
ここで、本実施形態の場合、投光部と受光部は、座標入力面である座標入力有効領域3の垂直方向に対し重ねた配置構成(図3B参照)となっており、正面方向(座標入力面に対し垂直方向)から見て、投光部の発光中心と受光部の基準位置(つまり、角度を計測するための基準点位置に相当し、本実施形態にあっては絞り108A(108B)の位置であって、図中の光線が交差する点となる)が一致する構造となっている。
【0062】
従って、前述した通り、2つの投光部は所定距離d離れた状態で、それぞれの主光線方向略平行となるように配置されているので、2つの受光部も同様に所定距離d離れた状態で、かつ各々の光軸(光学的な対称軸)が略平行となるように構成されている。
【0063】
また、投光部により投光された座標入力面に略平行な光束であって、面内方向に略90°方向に投光されている光は、再帰反射部4により光の到来方向に再帰反射され、赤外フィルター107A(107B)、絞り108A(108B)、集光レンズ106A(106B)を経て、ラインCCD104の検出素子110面上に集光、結像することになる。
【0064】
従って、ラインCCD104の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、ラインCCD104を構成する各画素の画素番号が角度情報を示すことになる。
【0065】
尚、図3Bに示す投光部と受光部の距離Lは、投光部から再帰反射部4までの距離に比べて十分に小さな値であり、距離Lを有していても十分な再帰反射光を受光部で検出することが可能な構成となっている。
【0066】
以上説明したように、センサユニット1L(1R)は、少なくとも2つの投光部と、各々の投光部で投光された光を各々検出する2つの受光部(本実施形態の場合、投光部が2組、受光部が2組)を有する構成である。
【0067】
また、本実施形態にあっては、受光部の一部であるラインCCD104におけるライン状に配置された検出素子110の左側部分を第1受光部の集光領域、右側部分を第2受光部の集光領域とすることで、部品の共通化を図っているが、これに限定されるものでなく、各受光部毎に個別にラインCCDを設けてもよいことは言うまでもない。
【0068】
<制御・演算ユニットの説明>
制御・演算ユニット2とセンサユニット1L及び1Rの間では、主に、受光部内のラインCCD104用のCCD制御信号、CCD用クロック信号と出力信号、及び投光部内の赤外LED101A及び101Bの駆動信号がやり取りされている。
【0069】
ここで、制御・演算ユニット2の詳細構成について、図4を用いて説明する。
【0070】
図4は本発明の実施形態の制御・演算ユニットの詳細構成を示すブロック図である。
【0071】
CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)21から出力され、ラインCCD104のシャッタタイミングやデータの出力制御等が行われる。
【0072】
尚、この演算制御回路21は、クロック発生回路(CLK)22からのクロック信号に従って動作する。また、CCD用のクロック信号は、クロック発生回路(CLK)22からセンサユニット1L及び1Rに送信されると共に、各センサユニット内部のラインCCD104との同期をとって各種制御を行うために、演算制御回路21にも入力されている。
【0073】
投光部の赤外LED101A及び101Bを駆動するためのLED駆動信号は、演算制御回路21からLED駆動回路(不図示)を介して、対応するセンサユニット1L及び1Rの投光部内の赤外LED101A及び101Bに供給されている。
【0074】
センサユニット1L及び1Rそれぞれの受光部内のラインCCD104からの検出信号は、A/Dコンバータ23に入力され、演算制御回路21からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ132に記憶され、指示具の角度計算に用いられる。そして、この計算された角度から座標値が算出され、外部端末にシリアルインタフェース7(例えば、USB、IEEE1394、RS232Cインタフェース等)を介して出力される。
【0075】
また、指示具としてペンを用いる場合、ペンからのペン信号を受信するペン信号受信部5からは、ペン信号を復調したデジタル信号が出力され、ペン信号検出回路としてのサブCPU24に入力され、ペン信号が解析された後、その解析結果が演算制御回路21に出力される。
【0076】
<光量分布検出の説明>
図5は本発明の実施形態の制御信号のタイミングチャートである。
【0077】
特に、図5では、センサユニット1L(1R)中の一つの受光部およびそれに対応する照明としての赤外LED101A(101B)への制御信号のタイミングチャートを示している。
【0078】
71、72はCCD制御用の制御信号であり、SH信号71の間隔で、ラインCCD104のシャッタ開放時間が決定される。ICG信号72はセンサユニット1L(1R)へのゲート信号であり、内部のラインCCD104の光電変換部の電荷を読出部へ転送する信号である。
【0079】
73は赤外LED101A(101B)の駆動信号であり、ここで、SH信号71の周期で、赤外LED101A(101B)を点灯するために、LED信号73が赤外LED101A(101B)に供給される。
【0080】
そして、センサユニット1L及び1Rの双方の投光部の駆動が終了した後に、センサユニット1L及び1Rの双方の受光部(ラインCCD101)の検出信号が読み出される。
【0081】
ここで、センサユニット1L及び1Rの双方から読み出される検出信号は、座標入力有効領域3への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図6のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部4の再帰反射特性や投光部の特性、また、経時変化(反射面の汚れなど)によって、光量分布は変化する。
【0082】
図6においては、レベルAが最大光量であり、レベルBが最低光量となっている。
【0083】
つまり、再帰反射部4からの反射光がない状態では、センサユニット1L及び1Rで得られる光量レベルがレベルB付近になり、反射光量が増えるほど、レベルAに光量レベルが遷移する。このようにして、センサユニット1L及び1Rから出力された検出信号は、逐次、対応するA/Dコンバータ23でA/D変換され、演算制御回路21にデジタルデータとして取り込まれる。
【0084】
これに対し、座標入力有効領域3への指示具による入力がある場合には、センサユニット1L及び1Rからの出力として、図7のような光量分布が得られる。
【0085】
この光量分布のC1及びC2部分では、指示具によって再帰反射部4からの反射光が遮られているため、その部分(遮光範囲)のみ反射光量が低下していることがわかる。特に、図7では、複数の指示具によって、指示具によって再帰反射部4からの反射光が遮られているため、複数の遮光範囲が検出される。
【0086】
そして、本実施形態では、指示具による入力がない場合の図6の光量分布と、指示具による入力がある場合の図7の光量分布の変化に基づいて、センサユニット1L及び1Rに対する指示具の角度を算出する。
【0087】
具体的には、図6の光量分布として、投光部による投光(照明)がない状態の光量分布81と、投光(照明)中で指示具による入力がない(遮蔽物がない状態)状態の光量分布82を初期状態として予めメモリ132に記憶しておく。
【0088】
そして、センサユニット1L及び1Rそれぞれの検出信号のサンプル期間に、図7のような光量分布の変化があるか否かを、そのサンプル期間中の光量分布と、メモリ132に記憶されている初期状態の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点として、その入力角度を決定する(遮光範囲の端部を決定する)演算を行う。
【0089】
上述したように、本願発明では、1つのラインCCD104に対して、複数の受光部が設けられ、その各々に対して投光部が設けられている。従って、各々の受光部(もしくは投光部)を別のタイミングで駆動する場合には、各々を上記のような信号タイミングで駆動すればよい。
【0090】
図8はその信号のタイミングチャート例であり、まず、センサユニット1L中のラインCCD104の読出先頭側で、センサユニット1L中の一方の受光部による検出を行うために、信号SH61に対して、信号63のようなタイミングで、赤外LED(例えば、赤外LED101A)が駆動される。信号ICG62によって、ラインCCD104の信号が読み出されるが、このときは、ラインCCDの先頭側の受光範囲の画素データが読み出される(信号65中のA部分)。
【0091】
次に、同じ、ラインCCD104に対して、SH信号61が与えられ、センサユニット1L中の他方の受光部により検出を行うために、赤外LED(例えば、赤外LED101B)に駆動信号64が供給される。この出力は、信号65のB部分のように、先に検出した先頭部分の信号(破線部)と重ならない領域に、受光された信号が出力される。
【0092】
別のタイミングで、もう一方のセンサユニット1Rを同様に駆動することで、CCDの信号が各々のセンサから読み出され、本願発明では、最大4つの受光部による検出信号を取得することになる。
【0093】
尚、本実施形態では、左右のセンサユニット1L及び1Rで合わせて4つの受光部に対して、別々のタイミングで駆動しているが、これに限定されるものではなく、お互いの発光が影響しないのであれば、同時に駆動してもかまわないし、各々の任意の組み合わせで駆動してもかまわない。
【0094】
<角度算出の説明>
センサユニット1L及び1Rに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
【0095】
以下、センサユニット1L及び1Rの一方(例えば、センサユニット1L)による指示具の角度計算について説明するが、他方(センサユニット1R)でも同様の角度計算を行うことは言うまでもない。
【0096】
電源投入時の光量分布として、図6の信号81及び信号82をメモリ132に記憶しておき、その信号と、実際の指示具による入力によって得られる光量分布との比較から、指示具の入力範囲(遮光範囲)を検出する。
【0097】
図7のように、C1、C2を有する光量分布からなる入力がある場合は、その光量分布と、メモリ132に記憶されている光量分布82との差を計算し、その計算結果と、光量分布82と光量分布81の光量差を用いて、遮光(入力)がない場合との光量変化率を計算する。このように、光量変化率を計算することによって、部分的な光量分布の不均一等の影響を除去できる。
【0098】
計算された光量変化率に対して、閾値を用いて、光量が変化しているラインCCD104上の画素番号を特定する。この時、検出信号レベルの情報等を用いることで、画素番号より細かい画素情報が特定可能になる。これらの画素番号から、遮光範囲の端部を決定でき、例えば、その遮光範囲の中央値(ラインCCD104の画素番号)を指示具の角度情報として導出する。
【0099】
得られた画素番号から、実際の座標値を計算するためには、角度情報(θ)に変換する必要がある。角度情報への変換は、例えば、多項式を用いて実現することができる。例えば、CCD画素番号をe、次数をn、各次数の係数をTnとすると、角度θは、
θ=Tn・en+T(n−1)・e(n−1)+T(n−2)・e(n−2)+、・・・、+T0 (1)
のようにして、算出することができる。
【0100】
尚、各次数の係数は、実測値や設計値等から決定できる。また、次数は必要とされる座標精度等を鑑みて決定すれば良い。
【0101】
前述の通り、センサユニット1Lには、2つの受光部が構成されていて、それぞれをL1、L2とすると、まずL1すなわち図8のA部分の光量分布が検出される受光部について前述の遮光範囲の端部を決定する処理が実行される。このA部分については、メモリ132に格納されているA部分に対応する全てのデータについて、光量分布の差と変化率の計算処理が行なわれる。そして、L2に対応するB部分の光量分布については、処理時間を短縮するためにメモリ132に格納されているB部分に対応する全てのデータについて上記の計算処理を行わず、A部分の遮光範囲探索結果から、遮光範囲探索を実行するサーチ範囲を限定するよう決定し、その範囲内でA部分の遮光範囲探索処理と同様の計算処理によって遮光範囲の端部に相当するCCD画素番号を決定し角度情報を算出する。
【0102】
上述した図8のB部分の遮光範囲探索処理について図9および図10を用いて以下に説明する。
【0103】
いま、図9のように2点の入力としてP1およびP2がある場合に、図8のA部分の光量分布に相当するセンサユニット1Lの受光部L1では、図10に示すように遮光範囲が2個検出される。この光量分布データは、図9に示すように受光部L1で検出される遮光端情報として、上述の計算処理によりl11、l12、l13、l14として検出される。同様に、センサユニット1Rの受光部R1では、r11、r12、r13、r14が検出される。
【0104】
先述したとおり、センサユニット1Lおよび1Rでは、同一ラインCCD上に所定の距離離して2系統の光学系を構成している。したがって、L1を検出するための略L1の瞳に位置する投光部の投射光によってL2では、例えばL1の遮光端l11について説明するとl11と再帰反射4との交点ls1を遮光端とする光量分布が検出されるはずである。そして、L2の投光部の投射光によってL2の受光部で検出される光量分布において検出される遮光端l21はls1方向へなす角度θL21よりも時計方向、すなわち図9の矢印L21sの方向に検出されるはずである。
【0105】
遮光端l11と再帰反射4との交点ls1は、図13および図14に示すセンサユニット1Lと1Rの位置関係と図9に示す再帰反射4のX方向およびY方向の距離HLRとVLRから導出することができ、この結果から計算された距離yl1からθL21を求めることができる。そして、式(1)を変形した式に代入して受光部L2に対応する画素番号を計算することができる。なお、ここでの画素番号情報に関しては算出精度は必要ないので、θを求めた式の1次の項だけを用いて算出すればよい。そして、この画素番号をL2の遮光探索処理を行う開始点として決定する。
【0106】
上述の処理を受光部L1については、遮光端l13についても行い、さらにR1についてもr11とr13に対しても同様に行い、求めたθL23、θR21、θR23から各受光ユニットの画素番号を決定する。
【0107】
そして、上記で決定した画素番号を開始点として、A部分の遮光範囲探索処理と同様の計算処理によってB部分の遮光範囲の端部、すなわち図9におけるl21、l22、l23、l24に相当するCCD画素番号を決定し角度情報を算出する。
【0108】
この処理は、図10に示すように受光部L2のデータにおいて、L21sから矢印の方向へ探索処理を行い、遮光端として2個の角度情報が得られたらひとまず探索処理を終了する。そして、再びL23sから矢印の方向へ探索処理を行い、遮光端として2個の角度情報が得られたら遮光探索を終了する。同様な探索処理を受光部R2についても行い、r21、r22、r23、r24に相当するCCD画素番号を決定し角度情報を算出する。このようにして、複数の入力点P1およびP2の座標を算出するための遮光端の角度情報を検出することができる。
【0109】
なお、遮光探索開始点を決定してから、上記では2つの遮光端を検出するまで連続して探索処理を行ったが、受光部L1とL2およびR1とR2で検出される遮光範囲は略等しいので、遮光端を1つ検出したならば、所定画素数分(L1およびR1の各々の遮光端から算出する幅情報)のデータをスキップして再び遮光の探索処理を開始してもよい。この処理は、特にセンサに対して入力点の距離が比較的近く、遮光範囲が大きくなる場合に有効となる。
【0110】
次に図11と図12を用いて、受光部L1で検出される遮光範囲が入力点P1とP2が重なって1つの遮光範囲として見える、いわゆる部分食状態となっている場合について説明する。
【0111】
この場合は、L1で検出される遮光範囲は1個であるので、l11とl12を用いて、L2の遮光探索開始点を決定する。遮光探索開始点の決め方は先に説明したのと同様で、この場合は、l11と再帰反射4の交点ls1およびl12と再帰反射4の交点ls2によって求めることができる。
【0112】
そして、図12に示すように求めた探索処理開始点L21sおよびL22sから矢印の方向へ遮光端の探索処理を実行する。なお、この場合は遮光端の開始から、遮光端が1つ検出されたならば処理を停止するように動作する。
【0113】
また、R1に関しては遮光範囲が2個あるが、L2の処理と同様に外側の遮光端情報のみ、すなわち、R1のr21とr24からrs1とrs2を導出し、R2の遮光探索処理開始点を決定する。そして、図12に示すように求めた探索処理開始点R21sおよびR22sから矢印の方向へ遮光端の探索処理を実行し、遮光端が1つ検出されたならば処理を停止する。
【0114】
なお、図9と図10で説明した、L1とR1の両方で遮光範囲が2つの場合でも、外側の遮光端情報のみを使ってL2とR2の遮光探索処理の開始点を決定してもよい。
【0115】
また、探索処理する順番はまずL1、次にL2として、CCDの読出し順としたが、これに限定されるものではなく、2つの受光部を一方は、有効領域の全域について受光可能で、もう一方は補助的に有効領域の限定した領域について受光可能な構成である場合には、有効領域全域について受光可能な受光部のデータから探索処理を行ってもよい。この場合は、単1点入力を主な使い方とする場合に有効領域全域について受光可能な受光部のデータのみを探索処理することによってサンプリング速度が有利な構成となる。
【0116】
<座標算出方法の説明>
次に、画素番号から変換された角度情報(θ)から、指示具の位置座標を算出する座標算出方法について説明する。
【0117】
尚、指示具の入力が1点である場合には、センサユニット1L及び1Rの出力結果に基づいて得られる遮光範囲の中央の角度を用いることで座標算出が可能である。
【0118】
ここで、座標入力有効領域3上に定義する座標とセンサユニット1L及び1Rとの位置関係及び座標系について、図13を用いて説明する。
【0119】
図13は本発明の実施形態の座標入力有効領域上に定義する座標とセンサユニット1L及び1Rとの位置関係を示す図である。
【0120】
図13では、座標入力有効領域3の水平方向にX軸、垂直方向にY軸を定義し、座標入力有効領域3の中央を原点位置O(0,0)に定義している。そして、座標入力有効領域3の座標入力範囲の上辺左右に、それぞれのセンサユニット1L及び1RをY軸に対称に取り付け、その間の距離はDLRである。
【0121】
また、センサユニット1L及び1Rそれぞれの受光面は、その法線方向がX軸と45度の角度を成すように配置され、その法線方向を0度と定義している。
【0122】
この時、角度の符号は、左側に配置されたセンサユニット1Lの場合には、時計回りの方向を『+』方向に、また、右側に配置されたセンサユニット1Rの場合には、反時計回りの方向を『+』方向と定義している。
【0123】
さらには、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)
で計算される。
【0124】
ここでの、角度データのとり方は、基準角度からの角度としている。これは、このように角度を設定することで、tanθのとる値が±π/4の範囲にあるため、座標算出が不安定にならないという効果がある。他の算出において、θの値がπ/2値をとっても、不安定ならないようであれば、同一高さ(同一レベル)にある、受光部を結ぶラインに対する角度を用いて、算出を行っても良い。例えば、以下に示す補正計算に関しては、そのような角度定義で計算することができる。
【0125】
ここで、各センサユニット1L(R)の2つの受光部は、実際には座標入力領域に対して同一ライン上には設けられていない。そのため、座標算出時に、異なる位置の受光部のデータを用いる場合には、この位置のずれ分の補正を行う必要がある。
【0126】
図14に示すように、センサユニット1Lの2つの受光部の瞳位置をそれぞれL1及びL2、センサユニット1Rの2つの受光部の瞳位置をそれぞれR1、R2とする。また、L1とL2とのx軸方向の差であるx軸方向距離Δxs、L1とL2とのy軸方向の差であるy軸方向距離Δysとする。
【0127】
L2で検出されたデータがθL2である場合、X軸方向にR1と同一高さで見ると、仮想的にVL2の位置にセンサユニット1Lがあるとして、ΔvxsをθL2を用いて算出することができる。
【0128】
そして、R1と同一高さに換算するには、高さ方向の距離Δysと得られた角度θL2とから、
Δvxs=Δys/tanθL2
となる。
【0129】
よって、式(2)、(3)のセンサユニット間距離DLRを、受光部の瞳位置L1及びL2間のX方向距離Δxsと、算出されたΔvxsで補正し、仮の座標値を計算することが可能となる。計算されたこの仮の座標値におけるx座標は、VL2とR1の中間を原点として計算されるので、そのX座標から(Δxs+Δvxs)/2をさらに補正すれば、異なる位置にある受光部のデータを用いて座標算出が可能になる。
【0130】
入力が一点であるような場合には、遮光幅(遮光範囲)の中央の角度を用いても座標算出が可能であるが、図15の上部のように、複数の指示具からの入力があり、受光部と複数の指示具の位置関係が、センサユニット1L中の2つの受光部での検出信号(光量分布(遮光範囲))が共に重なってしまうような場合には、このような方法では計算できない。
【0131】
例えば、図15の上部での状態では、センサユニット1L中の図面左側の受光部L1では、指示具Bは指示具Aの影に完全に隠れてしまっており、またもう一方の受光部L2では、指示具Bと指示具Aの遮光範囲が連続してしまっている。
【0132】
そして、図15の下部はその時の出力信号であり、受光部L1での出力信号は指示具Aの遮光範囲(A)のみで構成され、受光部L2での出力信号は、指示具Aと指示具Bの遮光範囲(A+B)がつながった状態として出力される。このような場合には、遮光範囲の中央を用いた計算では正確な入力座標は計算できない。
【0133】
そこで、センサユニット1L及び1Rの夫々のセンサユニットで検出された遮光範囲の端部の角度情報を用いて座標算出を行う。
【0134】
まず、指示具の入力形状を略円形とし、図16のように、センサユニット1L中の1つの受光部L1に対して、指示具Aと指示具Bが一部重なった状態にあるとする。つまり、この受光部L1では、θL1とθL2で規定される遮光範囲が観測されている状態であるとする。
【0135】
一方、センサユニット1R中の、例えば、受光部R1で観測される角度は、夫々の指示具の遮光範囲で形成される遮光範囲の端部であり、θR11からθR22までの4つの角度が観測される。
【0136】
図17はこのような遮光範囲の端部を用いた場合の座標算出を説明するための図である。
【0137】
今、例えば、P点に入力がなされたとした場合、θL1とθR1、θR2の交点を夫々P1(x1,x1)、P2(x2,x2)とすると、入力位置の座標Pは、夫々の交点における角度2θ1、2θ2の2等分線の交点として計算可能となる。
【0138】
P1及びP2の座標値は、上述のそれぞれの角度の交点の座標を計算するのと同様の式(2)及び(3)によって計算可能であるので、この座標値と角度情報を用いることにより入力座標P(x,y)を算出することができる。
【0139】
このように、左右のセンサユニット1L及び1Rで検出される遮光範囲の端部情報を用いることで、遮光範囲の中央値を用いることなく、入力に対する入力座標の算出が可能となる。
【0140】
図18はその算出手順の一例を説明するための図である。
【0141】
図のように、P1(x1,y1)とP2(x2,y2)の間の距離をL、夫々の点における角の2等分線の角度をθ1、θ2とすれば、
L=((x2−x1)2+(y2−y1)2)0.5 (4)
θ1=(π−(θL+θR1))/2 (5)
θ2=(θL+θR2)/2 (6)
ここで、
L1・tanθ1=L2・tanθ2 (7)
である。よって、
L2=L・tanθ1/(tanθ1+tanθ2) (但し、tanθ1+tanθ2≠0) (8)
La=L2/cosθ2 (但し、cosθ2≠0) (9)
【0142】
これから、Δx、Δyとして
Δx=La・cos(θL−θ2) (10)
Δy=La・sin(θL−θ2) (11)
入力座標として、P(x,y)は、
x=x2−Δx (12)
y=y2−Δy (13)
と計算できる。
【0143】
ここで、図16のように、例えば、センサユニット1Lからみて後ろ側の入力点が、完全に影に隠れてしまう、いわゆる、皆既食状態でない状態、つまり、部分食状態である場合には、その入力点は、Pa及びPb、またはPa’及びPb’のどちらかの組み合わせになる。
【0144】
そこで、θL1、θL2、θR11、θR12、θR21そしてθR22の組み合わせについて、上記のような2等分線の交点に相当する計算を行い、それぞれPa及びPb、またはPa’及びPb’の座標を計算し、どちらの組み合わせが正しい入力座標であるかの判定を行う。
【0145】
この組み合わせの判定は、もう一方の受光部のデータを用いて行うことができる。
【0146】
例えば、図19のように、もう一方の受光部のデータθL21及びθL22と、θR11及びθR12による座標算出結果と、先の受光部での座標算出結果を比較し、Paと重なるのか、あるいはPa’と重るのかを双方の距離等から判定して、PaかPa’のどちらが正しいかの判定を行うことができる。ここで、Paが採用されれば、その組み合わせとして、Pbが自動的に採用されることになる。
【0147】
より確実に判定するには、θR21とθR22での座標算出結果を用いて、Pbについて計算を行っても良い。
【0148】
このように、センサユニット1L(1R)で検出される2つの遮光範囲が部分的に隠れてしまう「部分食」状態であれば、夫々の遮光範囲の端部の角度を検出し、その交点における2等分線に相当する情報を得ることで、複数の入力指示位置を特定することが可能になる。
【0149】
ここで、遮光範囲の端部情報を用いたとしても、いわゆる「皆既食」状態では、その影に隠れた側の指示具の入力の位置を特定することができなくなる。この「皆既食」状態を回避するには、入力指示具の大きさに対して、各センサユニット1L(1R)における複数の受光部間の距離を最適値に決定することによって、どちらかの光学系では領域が部分的に重なった「部分食」状態とすることが可能となる。
【0150】
従って、本願発明では、複数の指示具がどの領域にあっても、センサユニット1L(1R)中に設けられた2組の受光部の内、少なくとも一方の受光部では、必ず「部分食」の状態、あるいは2つの遮光範囲が分離した状態で検出できるように、センサユニット1L(1R)中の受光部の光学的配置を設定している。
【0151】
実際の計算については、以下のようになる。
【0152】
まず、上述説明したように、各々受光部からの光量分布データの取得を行う。
【0153】
得られた各光量分布データから、遮光範囲の数を閾値等を用いて算出する。遮光範囲の数により、入力がない場合と、一箇所に対して入力(単一点入力)が行われた場合と、少なくとも2箇所に対して入力(複数点入力)が行われた場合の判定が可能になるとともに、演算に用いるデータを選択することができる。
【0154】
図20は、センサユニット1L内の2つの受光部をL1及びL2、センサユニット1R内の2つの受光部をR1及びR2とする場合に、各受光部で検出される遮光範囲の数の組み合わせを示している。遮光範囲の数の組み合わせは、最大入力数を2としたとき、入力がない場合を含めて17通りとなる。
【0155】
受光部L1,L2、R1,R2のすべてにおいて、入力が「1」の場合には、単一点入力の場合と、2つの入力が接触している場合とが考えられるが、本実施形態では、接触も単一点入力として扱うこととする。但し、指示具の入力幅等の指示具の形状情報が既知である場合には、その形状情報に基づいて、2つの入力が接触している場合を検出するようにしてもよい。
【0156】
このように、遮光範囲の数を計数することで、「入力無し」、「単一点入力」、「複数点入力」の入力状態を判定することができる。各センサユニットで検出される遮光範囲が、一つしかない単一点入力の場合には、遮光範囲の端部情報を用いた座標算出方法で座標算出を行ってもよいし、あるいは、従来とおりの遮光範囲の中央を計算して、座標算出を行ってもかまわない。
【0157】
複数点入力の場合、入力が各々独立に検出できている遮光範囲が2つのものと、センサユニットに対して入力位置の関係が「食」状態にあるような、1つの場合とが混在することになる。
【0158】
このような場合に、どの遮光範囲の組み合わせで座標算出を行うかについては、夫々の遮光範囲の数から決定する。
【0159】
まず、各遮光範囲の数の内、2箇所の遮光範囲を検出している受光部を選択し、選択した受光部からの検出信号を座標算出第1データとする。このとき、複数の受光部で遮光範囲を2箇所検出している場合には、優先順位を予め決定しておき、その優先順位に従って受光部を選択すればよい。
【0160】
次に、座標算出第1データとして選択された受光部のセンサユニットと反対側のセンサユニット内の受光部の検出信号に着目し、その内、複数の遮光範囲を検出している受光部があればその受光部の検出信号を座標算出第2データとする。複数の遮光範囲を検出していない場合には、とりあえず、優先順位に応じて、単数の遮光範囲を検出している受光部の検出信号を座標算出第2データとする。
【0161】
このとき、優先度として、例えば、座標算出第1データとして選択された受光部(例えば、センサユニット1LのL1)と同じ高さにある受光部(例えば、センサユニット1RのR1)のデータを選択するようにすれば、先に述べた高さの違いによる、座標値補正の補正計算を行わずに済むので、そのように優先度を決定しても良い。
【0162】
次に、座標算出第2データとして選択された受光部のセンサユニットと同じセンサユニットにおけるもう一つの受光部による検出信号を虚実判定データとする。
【0163】
これは、先に述べたように、複数の入力がある場合に、真に入力した座標(実座標)のほかに、検出信号の組み合わせによって生じる虚の座標が算出されるので、真の座標がどれであるかを判定するのに用いられるものである。
【0164】
図20からわかるように、座標算出第1データとして選択される受光部で検出する遮光範囲の数は必ず複数となるが、座標算出第2データとして選択される受光部で検出する遮光範囲の数は複数の場合と単数の場合があり、同様に、虚実判定データとして選択される受光部で検出する遮光範囲の数も複数の場合と単数の場合がある。
【0165】
そして、座標算出第1データ、座標算出第2データ、虚実判定データの順に並べると、その検出する遮光範囲の数の組み合わせは、組み合わせ1:複、単、単、組み合わせ2:複、複、単、組み合わせ3:複、複、複の3タイプに分類できる。
【0166】
ここで、この3タイプに対応する入力状態の一例を、図21A〜図21Cに示す。
【0167】
各々の図中Aで示した接線が座標算出第1データ、Bが座標算出第2データ、Cが虚実判定データである。
【0168】
座標算出は、まず、座標算出第1データの一方の遮光範囲、例えば、図21Aでは、A11及びA12に対して、座標算出第2データB11及びB12、及び虚実判定データC11及びC12の組み合わせで、先に説明したような遮光範囲の端部情報を用いて座標算出を行う。
【0169】
このとき、座標算出第2データB11及びB12で算出した座標値をP11及びP12、虚実判定データC11及びC12で算出した座標値を虚実判定座標値としてP21及びP22とする。この時点で、算出された4つの座標値の内、少なくとも2つの座標値は略等しい値となり、指示具の位置座標を示す値となる。
【0170】
組み合わせが1:複、単、単の場合には、単の情報のどちらかに「皆既食」状態が含まれている可能性がある。皆既食状態の座標値は、虚実判定データとして、センサユニットに近い側の座標算出には使えるが、遠い側の算出には使えない。このような場合には、座標算出第2データとした座標値と、虚実判定データとした座標値を入れ換える(置換する)ことで、両方の座標を算出することが可能になる。このために、まず、この判定を行う。
【0171】
図21Aにあるように、皆既食状態(あるいは、それに近いとき)には、B11及びB12のラインがほぼ同一の入力の遮光範囲の両端を表すことになるので、夫々で計算された座標値が略同じか近い値として、座標値P11及びP12が算出される。
【0172】
一方、皆既食状態でない側の座標値では、それぞれ違う入力の遮光範囲の端部情報になるので、皆既食状態よりは大きく異なった値として、座標値P21及びP22が算出される。
【0173】
そこで、座標算出第2データと虚実判定データから算出した、夫々の座標値P11及びP12と、P21及びP22の夫々の差分を算出し、差分値の大きいほうを部分食状態と判定する。その判定結果によって、座標値データと判定座標値データの入れ換えを行う。このとき、座標算出第2データと虚実判定データの入れ換え(置換)を行うようにしてもよい。
【0174】
組み合わせ2:複、複、単と、組み合わせ3:複、複、複については、2点入力であれば、皆既食状態はありえないので、上記処理は必要ではない。但し、入力点数を増加させる場合には、同様の判定が必要になる。
【0175】
次に、座標の虚実判定を行う。この処理は、すべての組み合わせの座標を算出してから行ってもかまわないが、先に一方の座標値に対して、虚実判定を行っておくことで、不要な座標算出を行わずに処理時間の短縮が図れる。
【0176】
先のP11、P12、P21、P22に対して、どの座標値が正しい値かを夫々の距離の近さで判定する。
【0177】
それぞれ、P11とP21及びP22、P12とP21及びP22の距離を算出して、一番近い組み合わせからP11またはP12のどちらかを真の座標値として選択する。
【0178】
虚実判定結果によって、真の座標値がP11に選択されれば、残りの未計算の座標値は、P14となるので、その座標値を算出する。一方、虚実判定結果によって、真の座標値にP12が選択されれば、P13の座標算出を行う。
【0179】
このようにして、実際の入力に対する座標の判定(虚実判定)を行うことができる。
【0180】
図21B、図21Cのような場合にも、同様に処理することで座標算出が可能になる。座標算出に際して、1つのセンサユニットの2つの受光部が検出する遮光範囲の数がそれぞれ「複」、「複」の場合には、その遮光範囲の端部情報の両端から座標算出しても良いが、片側の端部情報からのみで計算してもかまわない。あるいは、従来通り遮光範囲の中央を計算して、座標算出に用いてもかまわない。
【0181】
ここで、センサユニット内の各受光部が検出する遮光範囲の数によるデータの割り振りについての例として、座標算出第1データ、座標算出第2データ、虚実判定データに夫々センサユニットのどの受光部に割り振られるか、また、皆既状態の判定(皆既判定(虚実判定))の要否についてまとめると、図22のようになる。
【0182】
図22から明らかなように、単一点入力の時には、L1、R1あるいはL2、R2のどの組み合わせを用いて計算してもかまわない。
【0183】
また、各センサユニットの2つの受光部の両検出信号がともに複数の遮光範囲を検出している場合には、どちらの検出信号を座標算出第1データにしてもかまわない。
【0184】
<座標値の連続性の判定>
上述したように、複数の受光部を有するセンサユニットを用い、遮光範囲の端部情報を用いて、座標算出及び座標の虚実判定を行うことで、複数の入力の座標値を決定することができる。
【0185】
そして、得られた複数の座標値については、このまま座標値を出力しただけでは、受信側の外部端末で、2つの座標値の区別がつかず両者をつないでしまうようなことになりかねない。
【0186】
そこで、2つの座標値を区別するために、座標の連続性を表す識別子を座標値の出力の際には付加する。
【0187】
複数の座標値の、その連続性は、各サンプリング毎に前回の座標値との差分を計算して、夫々をその近いものを当てはめることで可能である。
【0188】
遮光範囲が最初に検出された時には、例えば、検出された順にID番号(フラグ)を付加する。
【0189】
図23のように、2つの座標値P1(X1n,Y1n)、P2(X2n,Y2n)が得られたときに、前回サンプリング時の座標値がID0:X1n−1,Y1n−1、ID1:X2n−1,Y2n−1であれば、P1,P2ともども、夫々に対する差分を計算して、近い方を採用し、P1をID0、P2をID1とする。このように、座標値の連続性の判定を行い、夫々の座標値に対して、このIDを割り振って座標値を出力する。
【0190】
そして、外部端末側で、このIDを参照することで、座標値の連続性を判定し、線で連結する等の描画の処理を行うようにすればよい。
【0191】
<ペン信号の検出>
指示具として、例えば、先端にスイッチ等の信号発生部を設けたペンを用いることで、文字の入力等における「尾引き」の問題が発生しない、スムーズな入力が可能になる。
【0192】
ここで、「尾引き」とは、例えば、『あ』と言う文字を入力したにもかかわらず、座標入力面をタッチする直前/直後において、余分な軌跡が表示され、操作者が意図した軌跡とは異なる表示が得られる現象である。
【0193】
座標入力装置から外部端末に出力する情報は、上述のように、座標値だけでなく、指示具から得られるスイッチ情報(例えば、マウスの左ボタンの情報に相当するようなアップダウン情報S0や、マウスの右ボタンに相当するペンサイドスイッチ情報S1)や、上記のような座標の連続性を表す識別子ID等がある。それ以外にも、指示具固有のペンID情報等がある。
【0194】
スイッチ情報の出力方法としては、音波や電波を用いたり、光を用いることでも可能である。
【0195】
図1のペン信号受信部は、指示具からの信号を受信し、その信号がどの座標値の信号であるかを判定して、座標値を送信する際のペンアップダウン信号やマウスのボタン信号として用いられる。
【0196】
指示具からの情報の座標値への割り付けは、例えば、光を用いた場合、座標入力有効領域3に対して、ペン信号受信部を複数設け、夫々で異なる領域からの信号を得るようにする。
【0197】
このように構成して、複数の指示具による座標値が得られる場合に、異なる領域のどこにその座標値があたるかを判定し、その領域で得られた信号の情報(スイッチ信号や、指示具のペンID情報)をその座標値と関連付けるようにする。そして、これらのスイッチ情報や指示具固有のペンID情報や、座標値の連続性を表すID情報等を付帯情報として、座標値に付加して外部端末に出力する。
【0198】
ここで、図24は、そのような付帯情報と座標値とを出力する際のフォーマット例である。
【0199】
図24では、byte0に付帯情報として、スイッチ情報及びペンID情報が付加され、それ以降、byte1からbyte4に、指示具の指示位置である座標(x,y)の座標値がそれぞれ格納されて、外部端末に出力される。外部端末側では、受信するこのデータを解析することで、軌跡の描画やメニュー操作の実行を制御する。
【0200】
<座標算出処理フローの説明>
図25は本発明の実施形態の座標入力装置が実行する座標算出処理を示すフローチャートである。
【0201】
図25では、センサユニットでのデータ取得から座標算出までの手順を示している。
【0202】
電源が投入されると、ステップS101で、制御・演算ユニット2のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。その後に、不揮発メモリ等から基準データや補正用の定数等の初期データをそれぞれ読み出し、演算・制御ユニット2のメモリ132に格納する。
【0203】
また、各センサユニット毎に、図6のような、照明無しの時の光量分布データ81と、初期入力が無いときの光量分布データ82を、初期データとして取り込み、メモリ132に記憶する。
【0204】
ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことはいうまでも無く、この初期設定動作を経て、通常の指示具による座標入力動作状態に移行することになる。
【0205】
ステップS102で、座標入力が連続して行われているか否かを示すフラグを初期化(クリア)する。ステップS103で、各センサユニットの投光部を点灯させ、光量分布データを受光部より取得する。
【0206】
ステップS104で、センサユニット1Lおよび1Rの各2つの受光部のうち各々一方の受光部で取得した光量分布データは、先の初期データに対して差分及び比を計算し、例えば、閾値を越えるものがあるか否かの判定などによって、遮光範囲の検出を実行する。
【0207】
ステップS105で、ステップS104で検出した遮光範囲の角度情報と再帰反射部との交点と、各センサユニットのもう一方の受光部の瞳位置に対する方向がなす角度情報から、前記他方の受光部に対応するデータの遮光範囲探索開始位置(画素番号)を算出する。
【0208】
ステップS106で、遮光範囲探索開始位置からステップS104と同様にもう一方の受光部のデータの遮光範囲の検出を実行する。
【0209】
ステップS107で、遮光範囲の検出結果に基づいて、指示具による入力の有無を判定する。入力がない場合(ステップS107でNO)、ステップS102に戻る。一方、入力がある場合(ステップS107でYES)、ステップS108に進む。
【0210】
ステップS108で、遮光範囲の検出結果に基づいて、センサユニットの各受光部毎の遮光範囲の数を検出する。ステップS109で、遮光範囲の数の検出結果に基づいて、指示具による入力が複数点入力であるか否かを判定する。複数点入力でない場合(ステップS109でNO)、つまり、単一点入力である場合、ステップS110に進み、単一点入力における座標算出を実行する。このときの座標算出は、遮光範囲の端部情報を用いた計算でも良いし、遮光範囲の中央を用いたものでもかまわない。
【0211】
一方、複数点入力である場合(ステップS109でYES)、ステップS111に進み、その遮光範囲の数に従って、図22に示すように、座標算出第1データ、座標算出第2データ、及び虚実判定データをそれぞれ決定する。そして、これらのデータをメモリ132に記憶する。
【0212】
各データを決定したら、ステップS112で、夫々の遮光範囲の端部データを算出し、その端部データから一方の座標値及び判定座標値を算出する。このとき、座標算出第2データと判定データが単一データである場合、どちらかのデータが「皆既食」状態である可能性があるので、各座標値間の距離からその判定を行う。
【0213】
ステップS113で、判定結果に従って、データ(座標値)の入れ換えの要否を判定する。データの入れ換えが必要である場合(ステップS113でYES)、ステップS114に進み、座標値の入れ換えを実行する。一方、データの入れ換えが必要でない場合(ステップS113でNO)、ステップS115に進む。
【0214】
遮光範囲(入力点)が複数の場合、ここで算出される座標値は、実際に入力された、実の点と虚の点が算出されることになる。そこで、ステップS115で、座標値と判定座標値から座標値の虚実判定を実行する。
【0215】
虚実判定によって、実座標が判定されたら、ステップS116で、それに対応する側の残りの座標値を算出する。座標値が確定したら、ステップS117で、連続入力の有無を判定する。尚、この判定は、連続入力の有無を示すフラグに基づいて実行する。
【0216】
連続入力がない場合(ステップS117でNO)、ステップS119に進む。一方、連続入力がある場合(ステップS117でYES)、ステップS118に進む。
【0217】
ステップS118で、それ以前に記憶されている座標値(前回の座標値等)との差分などから、連続性判定を実行する。
【0218】
連続性判定がなされたら、ステップS119で、連続入力フラグをセットし、また、今の座標値を次の連続性判定のためにメモリ132に記憶する。
【0219】
次に、ステップS120で、ID等の付帯情報を座標値に付加する。特に、連続していると判定された座標値には、前回と同じIDを付加し、新規に検出された座標値に対しては、未使用のIDを付加することになる。また、スイッチ情報などがある場合には、その情報も付加する。
【0220】
このように、付帯情報を有する座標値を、ステップS121で、外部端末に出力する。その後、データ取得のループを、電源OFFまで繰り返すことになる。
【0221】
以上説明したように、指示具による座標入力動作の有無を判定することは容易に行える。さらには、1つの指示具による座標入力動作が行われている状態にあっては、例えば、座標入力有効領域3の全領域を有効視野とする受光部を用いて、容易にその位置座標を導出することも可能である。
【0222】
尚、上記実施形態における、遮光範囲の端部情報を用いる座標算出では、複数の指示具が部分的に重なった状態での座標値が算出可能である。そのため、システムのスペックにもよるが、受光部で遮光範囲の端部情報を用いる座標算出を実現できる構成であれば、1つのセンサユニットに必ずしも複数の受光部が設けられている必要はない。
【0223】
また、上記実施形態では、再帰反射部4に投光し、その反射光をさえぎる遮光範囲を検出する構成であるが、再帰反射部は必須ではなく、座標入力領域の周囲に連続する発光部があっても、同様に本願発明を適用することができる。
【0224】
また、上記実施形態では、センサユニット内の受光素子としてラインCCDを用いたが、エリアセンサ型のCCDやCMOSセンサで構成してもよく、特にCMOSセンサの場合には、露光エリアの特定の部分を読み出す事が可能であり、不要なエリアを読み出す必要がないため読み出し速度の高速化が可能である。上記実施形態においてもセンサユニット内の複数の受光部のうち、一方の受光部のデータで検出した遮光範囲から、もう一方の受光部のデータの読出し開始位置を決定し、限定した範囲のデータのみをメモリに転送することでシステム全体としての高速化が可能となる。
【0225】
また、座標入力装置の座標入力有効領域3を、例えば、大画面の表示装置で構成して、指示具の座標値を表示画面上に表示する構成とすれば、複数人による同時入力が可能な、電子ホワイトボードの応用が構成可能になる。
【0226】
以上説明したように、本実施形態によれば、複数の指示具により、複数の座標を同時に入力した場合であっても、高精度でかつ高速に複数の指示具の位置を各々検出することができる。
【0227】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0228】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0229】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0230】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0231】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0232】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0233】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0234】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0235】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0236】
【図1】本発明の実施形態の遮光方式の座標入力装置の概略構成を示す図である。
【図2】本発明の実施形態のセンサユニットの詳細構成を示す図である。
【図3A】本発明の実施形態のセンサユニットの光学的配置図である。
【図3B】本発明の実施形態のセンサユニットの光学的配置図である。
【図3C】本発明の実施形態のセンサユニットの光学的配置図である。
【図4】本発明の実施形態の制御・演算ユニットの詳細構成を示すブロック図である。
【図5】本発明の実施形態の制御信号のタイミングチャートである。
【図6】本発明の実施形態のセンサユニットが検出する光量分布を説明するための図である。
【図7】本発明の実施形態のセンサユニットが検出する光量分布を説明するための図である。
【図8】本発明の実施形態の信号読出のタイミングチャートである。
【図9】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図10】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図11】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図12】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図13】本発明の実施形態の座標入力有効領域上に定義する座標とセンサユニット1L及び1Lとの位置関係を示す図である。
【図14】本発明の実施形態の受光部を複数有するセンサユニットにおける座標算出を説明するための図である。
【図15】本発明の実施形態の複数の指示具からの入力動作における位置関係及び検出信号の一例を示す図である。
【図16】本発明の実施形態の虚実判定を説明するための図である。
【図17】本発明の実施形態の遮光範囲の端部情報による座標算出の一例を説明するための図である。
【図18】本発明の実施形態の遮光範囲の端部情報(角度)の重なり部分の2等分線と座標値の関係を説明するための図である。
【図19】本発明の実施形態の遮光範囲の端部情報による座標算出の詳細を説明するための図である。
【図20】本発明の実施形態の遮光範囲の数の組み合わせを示す図である。
【図21A】本発明の実施形態で検出する遮光範囲の数の組み合わせを説明するための入力例を示す図である。
【図21B】本発明の実施形態で検出する遮光範囲の数の組み合わせを説明するための入力例を示す図である。
【図21C】本発明の実施形態で検出する遮光範囲の数の組み合わせを説明するための入力例を示す図である。
【図22】本発明の実施形態の遮光範囲の数に基づくデータ割り振りを示す図である。
【図23】本発明の実施形態の座標連続性の判定を説明するための図である。
【図24】本発明の実施形態の座標出力時のデータフォーマット例を示す図である。
【図25】本発明の実施形態の座標入力装置が実行する座標算出処理を示すフローチャートである。
【図26】従来技術における2点入力時のセンサユニット位置と遮光範囲の関係を説明するための図である。
【図27】従来技術におけるセンサユニットで受光する光量分布を説明するための図である。
【符号の説明】
【0237】
1L、1R センサユニット
2 演算・制御ユニット
3 座標入力有効領域
4 再帰反射部
5 ペン信号受信部
【技術分野】
【0001】
本発明は、座標入力領域上の指示位置を検出する座標入力装置、座標入力制御方法及び座標入力プログラムに関するものである。
【背景技術】
【0002】
座標入力面に、指示具(例えば、専用入力ペン、指等)によって指示して座標を入力することにより、接続されたコンピュータを制御したり、文字や図形などを書き込むために用いられる座標入力装置が存在する。
【0003】
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具などを用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【0004】
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、例えば、特許文献1がある。この特許文献1では、座標入力領域の外側に再帰性反射シートを設け、座標入力領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出し、その検出結果に基づいて、その遮蔽物の指示位置を決定する構成が開示されている。
【0005】
また、特許文献2や3等にあるように、再帰反射部材を座標入力領域周辺に構成し、再帰反射光が遮光される部分(遮光部分)の座標を検出する座標入力装置が開示されている。
【0006】
これらの装置において、例えば、特許文献2では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献3では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
【0007】
ここで、特許文献1乃至3のような、遮光位置を検出して座標を算出する方式を、以下、遮光方式と称する。
【0008】
また、更に、このような遮光方式の座標入力装置においては、特に、その座標入力領域のサイズが大きい場合には、複数の操作者が同時に入力することを許容して、利便性を向上し、より効率的な会議等の用途での要求がある。そのため、複数の同時入力に対応する座標入力装置が考案されている。
【0009】
複数の座標を同時に入力するために、特許文献4〜特許文献6では、一つの受光センサで複数の遮光部分の角度を検出し、各センサの角度の組み合わせから数点の入力座標候補を算出し、更に、その入力座標候補から実際に入力した座標を判別する技術が開示されている。
【0010】
例えば、2点入力の場合には、入力座標候補として最大4点の座標を算出し、この4点の内、実際に入力した座標2点を判定し、出力する。つまり、この判定は、複数の入力座標候補の中から、実際の入力座標と虚偽の入力座標を選別して、最終的な入力座標を判定する。そして、この判定を、ここでは虚実判定と呼ぶことにする。
【0011】
この虚実判定の具体的な方法としては、特許文献5や特許文献6では、従来の座標入力領域の一辺の両端に、座標入力領域内で指示された座標を精度良く算出するに十分な距離を隔てて設置される第1及び第2センサの他に、これも、第1及び第2センサから入力領域内で指示された座標を精度良く算出するに十分な距離を隔てて第1及び第2センサの間の位置に設置される第3センサを設ける。そして、この第3センサにおける第1及び第2センサの角度情報とは異なる角度情報に基づいて、第1及び第2センサで検出された複数の角度情報に対し、この虚実判定を行う技術が開示されている。
【0012】
また、従来の遮光方式の座標入力装置における受光部を構成する受光素子による、指等の指示具が遮光する遮光部分の検出方法としては、特許文献7において、受光素子の出力信号における遮光部分の一方の端と遮光部分の他方の端との中心を、指示具に対応する検出座標として検出する提案がなされている。また、単純に、特許文献4において、受光素子が検出する遮光部分に対応する画素番号で遮光部分の位置を検出する提案もなされている。これらの遮光部分の検出方法は、遮光部分の中心を実際の指示具の中心であるとして算出し、これを角度情報として、座標算出演算に用いている。
【特許文献1】米国特許第4507557号明細書
【特許文献2】特開2000−105671号公報
【特許文献3】特開2001−142642号公報
【特許文献4】特開2002−055770号公報
【特許文献5】特開2003−303046号公報
【特許文献6】特許第2896183号公報
【特許文献7】特開2001−142642号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、従来の遮光方式のように、遮光部分の光量分布のピーク或いは、遮光影に関わる光量分布の両端によって規定される光量分布の中心から角度を検出し、各受光部から検出される角度の組み合わせから指示座標を算出する技術では、複数、少なくとも2箇所同時に座標を入力する場合には、その2箇所の入力点が受光部から略直線上に重なることがある。
【0014】
従って、2箇所の入力点に対する遮光影が受光部で重なった場合には、各々の遮光影を分離して、各入力点の角度を検出することができず、入力不可能となる。
【0015】
例えば、図26に示すような座標入力領域の位置に、それぞれ指示具Aと指示具Bで指示する場合、図中の受光部S2の位置の場合における指示具Aと指示具Bに対応する光量分布は、それぞれ図27(b)のA及びBのようになり、指示具Aと指示具Bの2点の遮光位置に対応した遮光影が分離して検出される。
【0016】
尚、参照データとして、何も指示入力しない場合の光量分布は、図27(a)で示すようになる。この図27(a)において、Cの位置にある光量分布の谷は、座標入力領域の周囲に設けた再帰反射部材の角度特性、距離による減衰等の要因により生じた光量分布である。
【0017】
一方、図26に示す受光部S1の場合における指示具Aと指示具Bに対応する光量分布は、図27(c)のようになり、指示具Aと指示具Bの2点の位置に対応した遮光影が重なって検出される。この重なった遮光影(遮光重なり)を有する光量分布(遮光光量分布)の情報においては、図27(c)に示すように、図27(b)のAとBが部分的に重なっている(いわゆる、部分食が発生している)場合には、それぞれの指示具の片方の遮光範囲の端部情報しか得られない。そのため、特許文献7のように、従来の遮光範囲の両端の情報からその中心、あるいは、中心の画素番号により位置(角度)を算出する方法では、指示具Aと指示具Bの座標を算出することは不可能である。
【0018】
また、図には示さないが、対象受光部に対し、手前の第1指示具の影に、受光部から遠い方の第2指示具の影が完全に含まれてしまう(いわゆる、皆既食が発生している)場合にも、手前の第1指示具に関しては、その遮光影の両端から中心位置(角度)を算出することはできるが、遠い方の第2指示具に関する情報は得ることができない。
【0019】
従って、先行例においては、複数の指示具の同時入力によって発生する遮光影の数を予め検出しておき、受光部で検出する数として、例えば、第2受光部において「2」で、第1受光部においては「1」である場合には、第1受光部において、指示具に対応する遮光影が受光部が検出する光量分布において重なっている場合とみなす。
【0020】
そして、このような場合においては、特許文献6では、そのような状態の発生の旨を示す警告を発して、使用者に注意を喚起して、その状態を回避する構成としている。また、特許文献4や5では、第1受光部から、重なりの無い分離された2つの遮光影を検出できる他の第3受光部に切り替え、その2つの遮光影を検出できる受光部(この場合、第1受光部及び第3受光部)で角度を検出し、各受光部から得られる入力座標候補に対し、上述の虚実判定を施し、最終的な2点の実入力座標を決定する必要がある。
【0021】
尚、この場合の虚実判定は、遮光重なりを検出する受光部の角度情報でも十分に可能であるので、特許文献5や6では、この遮光重なりを検出する受光部の角度情報で行っている。
【0022】
以上のように、遮光方式の標入力装置では、例えば、2つの指示具を同時に入力した場合、受光部に対しほんの一部にでも遮光重なりが生じ、その2つの指示具に対応する遮光影がつながって分離できなくなった場合には、例えば、その連続した遮光影を1つの指示具からの影とみなして算出すれば、実際の位置からのずれにより座標検出精度の劣化が生じ、更に正確な位置精度が必要な場合には、入力が不可能となり、操作上大きな問題となる。
【0023】
ここで、遮光重なりを検出する場合にその受光部の角度情報を使用せず、その遮光重なりを検出する受光部から、所定距離に配置された他の第3受光部に切り替えて座標を算出する場合には、次のような不都合が生じる。
【0024】
まず、受光部を切り替えることによる算出座標の不連続性がある。これは、実際には、各受光部により特性が異なるので、受光部が切り替わる前後の領域で座標に不連続性が生ずる場合がある。
【0025】
この受光部による不連続性は、受光部自体のデバイスとしてのばらつきの場合は、ある程度補正により調整できる。
【0026】
しかしながら、上記従来例の場合、受光部間距離自体を座標算出に用いるので、十分に精度良く座標を算出するためには、受光部間距離を一定距離以上離す必要があり、更に、座標入力領域においていずれか少なくとも一方の受光部においては、2つの遮光影が分離されて検出できるようにするためにも、一定距離以上離れて配置されることが必要であるので、その配置により、検出光量分布のばらつきが生じ、それが受光部の切替時の算出座標の連続性に影響を与える可能性が高い。
【0027】
遮光重なりを検出した場合にその受光部の角度情報を使用せず、その遮光重なりを検出した受光部から、所定距離離れた位置に配置された他の第3の受光部に切替えて座標を算出する場合の更なる課題は、第3の受光部で得られるデータ量(画素数)が増加することにより、左右の第1および第2の受光部で得られるデータ量に対して、少なくとも1.5倍以上のデータ量が増加することである。さらには、特許文献4や5における第3の受光部の位置であるならば、左右の第1および第2の受光部に対応するセンサと同等の分解能を維持するとなると2倍程度にまでデータ量が増加してしまう。さらにシステムとして、高分解能化するために角度あたりの画素数を増加させるとなると、さらなるデータ量の増加となってしまう。
【0028】
上述のデータ量の増加は、遮光位置に対応する画素を探索して、入力位置を決定するこの種のシステムにおいては、システム全体の応答速度を操作者が快適であるような満足する値に構成する要求に対して障害となる部分である。すなわち、入力装置であるので入力操作感がシステムの再重要スペックの一項目であり、入力から出力までの応答速度は、快適な入力操作感を提供するために必要十分な値とする必要がある。
【0029】
システム全体としては、データ数の増加に伴う処理時間、すなわち計算速度を向上させるために高速なCPUなどの演算装置を用いればある程度は解決できるが、コストアップは避けられない。また、いくら処理能力の高い演算装置を用いようとも、データ探索に要する時間やメモリの転送時間がボトルネックとなり、要求する応答速度を満足することができないことが十分に考えられる。
【0030】
上述の課題に対して、先行技術においては、処理速度を向上させる手法等については言及されていない。
【0031】
本発明は上記の課題を解決するためになされたものであり、入出力応答速度を極力遅くすることなく、複数の指示入力を検出して、その指示入力に対する位置座標を精度良く算出することができる座標入力装置、座標入力制御方法及び座標入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【0032】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力領域上の複数の指示位置を検出する座標入力装置において、
前記座標入力領域上に対する指示具の有無を検出する複数の検出手段と、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出手段のうち第1の検出手段における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定手段と、
前記特定手段で特定された信号変化範囲の端部情報を検出する端部情報検出手段と、
前記端部情報検出手段で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出手段のうち前記第1の検出手段とは別の第2の検出手段における信号変化範囲を特定するための検出範囲を決定する決定手段と、
前記検出範囲について前記特定手段によって前記第2の検出手段の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出手段の端部情報と第2の検出手段の端部情報から前記指示具の指示位置の座標を算出する算出手段とを備える。
【0033】
また、好ましくは、複数の前記検出手段が、前記座標入力領域の異なる位置に配置され、
前記算出手段は、前記複数の検出手段それぞれに対する端部情報で特定される座標と、対応する検出手段の基準位置とを結ぶ線分同士の交点で規定される角度の2等分線の交点を、前記指示具の指示位置の座標として算出する。
【0034】
また、好ましくは、前記第2の検出手段における信号変化範囲の端部情報が1つ検出された場合、前記第1の検出手段における信号変化範囲以下の範囲をスキップして、端部情報を検出する手段をさらに有する。
【0035】
上記の目的を達成するための本発明による座標入力装置の制御方法は以下の構成を備える。即ち、
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御方法であって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程と、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程と、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程と、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程とを備える。
【0036】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御を実現するプログラムであって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程のプログラムコードと、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程のプログラムコードと、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程のプログラムコードと、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程のプログラムコードとを備える。
【発明の効果】
【0037】
本発明によれば、複数の指示入力を検出して、その指示入力に対する位置座標を精度良くしかも高速に算出することができる座標入力装置、座標入力制御方法及び座標入力プログラムを提供できる。
【発明を実施するための最良の形態】
【0038】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【実施例】
【0039】
<装置構成の概略説明>
まず、図1を用いて、座標入力装置全体の概略構成を説明する。
【0040】
図1は本発明の実施形態の遮光方式の座標入力装置の概略構成を示す図である。
【0041】
図1において、1L、1Rは投光部および受光部を有するセンサユニットであり、本実施形態の場合、図示の如く座標入力面であるところの座標入力有効領域3のX軸に平行に、かつY軸に対称な位置に、所定距離離れて配置されている。センサユニット1L及び1Rは、制御・演算ユニット2に接続され、制御信号を制御・演算ユニット2から受信すると共に、検出した信号を制御・演算ユニット2に送信する。
【0042】
4は入射光を到来方向に反射する再帰反射面を有する再帰反射部であり、座標入力有効領域3の外側3辺に図示が如く配置され、左右それぞれのセンサユニット1L及び1Rから略90°範囲に投光された光を、センサユニット1L及び1Rに向けて再帰反射する。
【0043】
尚、再帰反射部4は、ミクロ的に見て3次元的な構造を有し、現在では、主にビーズタイプの再帰反射テープ、或いはコーナキューブを機械加工等により規則正しく配列することで再帰現象を起こす再帰反射テープが知られている。
【0044】
再帰反射部4で再帰反射された光は、センサユニット1L及び1Rによって1次元的に検出され、その光量分布が制御・演算ユニット2に送信される。
【0045】
座標入力有効領域3は、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面で構成することで、インタラクティブな入力装置として、利用可能となっている。
【0046】
このような構成において、座標入力有効領域3に指等の指示具による入力指示がなされると、センサユニット1L及び1Rの投光部から投光された光が遮られる(遮光部分)と、センサユニット1L及び1Rの受光部ではその遮光部分の光(再帰反射による反射光)を検出しないので、その結果、どの方向からの光が検出できなかったかを判別することが可能となる。
【0047】
そこで、制御・演算ユニット2は、左右のセンサユニット1L及び1Rが検出する光量変化から、指示具によって入力指示された部分の複数の遮光範囲を検出し、その遮光範囲の端部情報から、センサユニット1L及び1Rそれぞれに対する遮光範囲の端部の方向(角度)をそれぞれ算出する。
【0048】
そして、検出された遮光範囲の数に基づいて、座標算出に用いる遮光範囲から得られるデータを決定し、それぞれ算出された方向(角度)、及びセンサユニット1L及び1R間の距離情報等から、座標入力有効領域3上の指示具の遮光位置を幾何学的に算出し、表示装置に接続されているホストコンピュータ等の外部端末に、インタフェース7(例えば、USB、IEEE1394等)を経由してその座標値を出力する。
【0049】
このようにして、指示具によって、画面上に線を描画したり、表示装置に表示されるアイコンを操作する等の外部端末の操作が可能になる。
【0050】
<センサユニット1の詳細説明>
次に、センサユニット1L及び1R内の構成について、図2を用いて説明する。尚、センサユニット1L及び1Rは、大きく分けて投光部と受光部から構成される。
【0051】
図2は本発明の実施形態のセンサユニットの詳細構成を示す図である。
【0052】
図2において、101A及び101Bは、赤外光を発する赤外LEDであり、各々投光レンズ102A及び102Bによって、再帰反射部4に向けて略90°範囲に光を投光する。ここで、センサユニット1L及び1R中の投光部は、この赤外LED101A及び101Bと、投光レンズ102A及び102Bによって実現される。これにより、センサユニット1L及び1Rには、それぞれ2つの投光部が構成されることになる。
【0053】
そして、投光部より投光された赤外光は、再帰反射部4により到来方向に再帰反射され、センサユニット1L及び1R中の受光部によって、その光を検出する。
【0054】
受光部は、光線の視野を制限すると共に電気的なシールドをになうシールド部材105を設けた1次元のラインCCD104、集光光学系としての受光用レンズ106A及び106B、入射光の入射方向を概略制限する絞り108A及び108B、及び可視光等の余分な光(外乱光)の入射を防止する赤外フィルター107A及び107Bからなる。
【0055】
そして、再帰反射部4によって反射された光は、赤外フィルター107A及び107B、絞り108A及び108Bを抜けて受光用レンズ106A及び106Bによって、ラインCCD104の検出素子110面上に集光される。これにより、センサユニット1L及び1Rには、それぞれ2つの受光部が構成されることになる。
【0056】
部材103及び部材109は、投光部及び受光部を構成する光学部品を配置するとともに、投光部で投光した光が直接受光部に入射することを防ぐ、あるいは外来光をカットするための上フード103、下フード109として機能する。
【0057】
尚、本実施形態においては、絞り108A及び108Bは下フード109に一体で成型されているが、別部品であってもよいことはいうまでもなく、さらには、上フード103側に、絞り108A及び108Bと受光用レンズ106A及び106Bの位置決め部を設けることで、投光部の発光中心に対する受光部の位置決めを容易にする構成(つまり、上フード103のみで、すべての主要な光学部品が配置される構成)に実現することも可能である。
【0058】
図3Aは、図2の状態のセンサユニット1L(1R)を組み上げた状態を、正面方向(座標入力面に対し垂直方向)から見た図である。図3Aに示すように、センサユニット1L(1R)中の2つの投光部は、所定距離d離れた状態で、それぞれの主光線方向が略平行となるように配置され、各々の投光レンズ102A及び102Bによって、それぞれ略90°範囲に光を投光するように構成している。
【0059】
図3Bは、図3Aの太矢印で示される部分の断面図であり、赤外LED101A(101B)からの光は、投光レンズ102A(102B)により、座標入力面に略平行に制限された光束として、主に再帰反射部4に対して光が投光されるように構成している。
【0060】
一方、図3Cは、図3Aにおける赤外LED101A及び101B、投光レンズ102A及び102B、上フード103を取り除いた状態を、正面方向(座標入力面に対し垂直方向)から見た図である。
【0061】
ここで、本実施形態の場合、投光部と受光部は、座標入力面である座標入力有効領域3の垂直方向に対し重ねた配置構成(図3B参照)となっており、正面方向(座標入力面に対し垂直方向)から見て、投光部の発光中心と受光部の基準位置(つまり、角度を計測するための基準点位置に相当し、本実施形態にあっては絞り108A(108B)の位置であって、図中の光線が交差する点となる)が一致する構造となっている。
【0062】
従って、前述した通り、2つの投光部は所定距離d離れた状態で、それぞれの主光線方向略平行となるように配置されているので、2つの受光部も同様に所定距離d離れた状態で、かつ各々の光軸(光学的な対称軸)が略平行となるように構成されている。
【0063】
また、投光部により投光された座標入力面に略平行な光束であって、面内方向に略90°方向に投光されている光は、再帰反射部4により光の到来方向に再帰反射され、赤外フィルター107A(107B)、絞り108A(108B)、集光レンズ106A(106B)を経て、ラインCCD104の検出素子110面上に集光、結像することになる。
【0064】
従って、ラインCCD104の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、ラインCCD104を構成する各画素の画素番号が角度情報を示すことになる。
【0065】
尚、図3Bに示す投光部と受光部の距離Lは、投光部から再帰反射部4までの距離に比べて十分に小さな値であり、距離Lを有していても十分な再帰反射光を受光部で検出することが可能な構成となっている。
【0066】
以上説明したように、センサユニット1L(1R)は、少なくとも2つの投光部と、各々の投光部で投光された光を各々検出する2つの受光部(本実施形態の場合、投光部が2組、受光部が2組)を有する構成である。
【0067】
また、本実施形態にあっては、受光部の一部であるラインCCD104におけるライン状に配置された検出素子110の左側部分を第1受光部の集光領域、右側部分を第2受光部の集光領域とすることで、部品の共通化を図っているが、これに限定されるものでなく、各受光部毎に個別にラインCCDを設けてもよいことは言うまでもない。
【0068】
<制御・演算ユニットの説明>
制御・演算ユニット2とセンサユニット1L及び1Rの間では、主に、受光部内のラインCCD104用のCCD制御信号、CCD用クロック信号と出力信号、及び投光部内の赤外LED101A及び101Bの駆動信号がやり取りされている。
【0069】
ここで、制御・演算ユニット2の詳細構成について、図4を用いて説明する。
【0070】
図4は本発明の実施形態の制御・演算ユニットの詳細構成を示すブロック図である。
【0071】
CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)21から出力され、ラインCCD104のシャッタタイミングやデータの出力制御等が行われる。
【0072】
尚、この演算制御回路21は、クロック発生回路(CLK)22からのクロック信号に従って動作する。また、CCD用のクロック信号は、クロック発生回路(CLK)22からセンサユニット1L及び1Rに送信されると共に、各センサユニット内部のラインCCD104との同期をとって各種制御を行うために、演算制御回路21にも入力されている。
【0073】
投光部の赤外LED101A及び101Bを駆動するためのLED駆動信号は、演算制御回路21からLED駆動回路(不図示)を介して、対応するセンサユニット1L及び1Rの投光部内の赤外LED101A及び101Bに供給されている。
【0074】
センサユニット1L及び1Rそれぞれの受光部内のラインCCD104からの検出信号は、A/Dコンバータ23に入力され、演算制御回路21からの制御によって、デジタル値に変換される。この変換されたデジタル値は、メモリ132に記憶され、指示具の角度計算に用いられる。そして、この計算された角度から座標値が算出され、外部端末にシリアルインタフェース7(例えば、USB、IEEE1394、RS232Cインタフェース等)を介して出力される。
【0075】
また、指示具としてペンを用いる場合、ペンからのペン信号を受信するペン信号受信部5からは、ペン信号を復調したデジタル信号が出力され、ペン信号検出回路としてのサブCPU24に入力され、ペン信号が解析された後、その解析結果が演算制御回路21に出力される。
【0076】
<光量分布検出の説明>
図5は本発明の実施形態の制御信号のタイミングチャートである。
【0077】
特に、図5では、センサユニット1L(1R)中の一つの受光部およびそれに対応する照明としての赤外LED101A(101B)への制御信号のタイミングチャートを示している。
【0078】
71、72はCCD制御用の制御信号であり、SH信号71の間隔で、ラインCCD104のシャッタ開放時間が決定される。ICG信号72はセンサユニット1L(1R)へのゲート信号であり、内部のラインCCD104の光電変換部の電荷を読出部へ転送する信号である。
【0079】
73は赤外LED101A(101B)の駆動信号であり、ここで、SH信号71の周期で、赤外LED101A(101B)を点灯するために、LED信号73が赤外LED101A(101B)に供給される。
【0080】
そして、センサユニット1L及び1Rの双方の投光部の駆動が終了した後に、センサユニット1L及び1Rの双方の受光部(ラインCCD101)の検出信号が読み出される。
【0081】
ここで、センサユニット1L及び1Rの双方から読み出される検出信号は、座標入力有効領域3への指示具による入力がない場合には、それぞれのセンサユニットからの出力として、図6のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部4の再帰反射特性や投光部の特性、また、経時変化(反射面の汚れなど)によって、光量分布は変化する。
【0082】
図6においては、レベルAが最大光量であり、レベルBが最低光量となっている。
【0083】
つまり、再帰反射部4からの反射光がない状態では、センサユニット1L及び1Rで得られる光量レベルがレベルB付近になり、反射光量が増えるほど、レベルAに光量レベルが遷移する。このようにして、センサユニット1L及び1Rから出力された検出信号は、逐次、対応するA/Dコンバータ23でA/D変換され、演算制御回路21にデジタルデータとして取り込まれる。
【0084】
これに対し、座標入力有効領域3への指示具による入力がある場合には、センサユニット1L及び1Rからの出力として、図7のような光量分布が得られる。
【0085】
この光量分布のC1及びC2部分では、指示具によって再帰反射部4からの反射光が遮られているため、その部分(遮光範囲)のみ反射光量が低下していることがわかる。特に、図7では、複数の指示具によって、指示具によって再帰反射部4からの反射光が遮られているため、複数の遮光範囲が検出される。
【0086】
そして、本実施形態では、指示具による入力がない場合の図6の光量分布と、指示具による入力がある場合の図7の光量分布の変化に基づいて、センサユニット1L及び1Rに対する指示具の角度を算出する。
【0087】
具体的には、図6の光量分布として、投光部による投光(照明)がない状態の光量分布81と、投光(照明)中で指示具による入力がない(遮蔽物がない状態)状態の光量分布82を初期状態として予めメモリ132に記憶しておく。
【0088】
そして、センサユニット1L及び1Rそれぞれの検出信号のサンプル期間に、図7のような光量分布の変化があるか否かを、そのサンプル期間中の光量分布と、メモリ132に記憶されている初期状態の光量分布との差分によって検出する。そして、光量分布に変化がある場合には、その変化部分を指示具の入力点として、その入力角度を決定する(遮光範囲の端部を決定する)演算を行う。
【0089】
上述したように、本願発明では、1つのラインCCD104に対して、複数の受光部が設けられ、その各々に対して投光部が設けられている。従って、各々の受光部(もしくは投光部)を別のタイミングで駆動する場合には、各々を上記のような信号タイミングで駆動すればよい。
【0090】
図8はその信号のタイミングチャート例であり、まず、センサユニット1L中のラインCCD104の読出先頭側で、センサユニット1L中の一方の受光部による検出を行うために、信号SH61に対して、信号63のようなタイミングで、赤外LED(例えば、赤外LED101A)が駆動される。信号ICG62によって、ラインCCD104の信号が読み出されるが、このときは、ラインCCDの先頭側の受光範囲の画素データが読み出される(信号65中のA部分)。
【0091】
次に、同じ、ラインCCD104に対して、SH信号61が与えられ、センサユニット1L中の他方の受光部により検出を行うために、赤外LED(例えば、赤外LED101B)に駆動信号64が供給される。この出力は、信号65のB部分のように、先に検出した先頭部分の信号(破線部)と重ならない領域に、受光された信号が出力される。
【0092】
別のタイミングで、もう一方のセンサユニット1Rを同様に駆動することで、CCDの信号が各々のセンサから読み出され、本願発明では、最大4つの受光部による検出信号を取得することになる。
【0093】
尚、本実施形態では、左右のセンサユニット1L及び1Rで合わせて4つの受光部に対して、別々のタイミングで駆動しているが、これに限定されるものではなく、お互いの発光が影響しないのであれば、同時に駆動してもかまわないし、各々の任意の組み合わせで駆動してもかまわない。
【0094】
<角度算出の説明>
センサユニット1L及び1Rに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
【0095】
以下、センサユニット1L及び1Rの一方(例えば、センサユニット1L)による指示具の角度計算について説明するが、他方(センサユニット1R)でも同様の角度計算を行うことは言うまでもない。
【0096】
電源投入時の光量分布として、図6の信号81及び信号82をメモリ132に記憶しておき、その信号と、実際の指示具による入力によって得られる光量分布との比較から、指示具の入力範囲(遮光範囲)を検出する。
【0097】
図7のように、C1、C2を有する光量分布からなる入力がある場合は、その光量分布と、メモリ132に記憶されている光量分布82との差を計算し、その計算結果と、光量分布82と光量分布81の光量差を用いて、遮光(入力)がない場合との光量変化率を計算する。このように、光量変化率を計算することによって、部分的な光量分布の不均一等の影響を除去できる。
【0098】
計算された光量変化率に対して、閾値を用いて、光量が変化しているラインCCD104上の画素番号を特定する。この時、検出信号レベルの情報等を用いることで、画素番号より細かい画素情報が特定可能になる。これらの画素番号から、遮光範囲の端部を決定でき、例えば、その遮光範囲の中央値(ラインCCD104の画素番号)を指示具の角度情報として導出する。
【0099】
得られた画素番号から、実際の座標値を計算するためには、角度情報(θ)に変換する必要がある。角度情報への変換は、例えば、多項式を用いて実現することができる。例えば、CCD画素番号をe、次数をn、各次数の係数をTnとすると、角度θは、
θ=Tn・en+T(n−1)・e(n−1)+T(n−2)・e(n−2)+、・・・、+T0 (1)
のようにして、算出することができる。
【0100】
尚、各次数の係数は、実測値や設計値等から決定できる。また、次数は必要とされる座標精度等を鑑みて決定すれば良い。
【0101】
前述の通り、センサユニット1Lには、2つの受光部が構成されていて、それぞれをL1、L2とすると、まずL1すなわち図8のA部分の光量分布が検出される受光部について前述の遮光範囲の端部を決定する処理が実行される。このA部分については、メモリ132に格納されているA部分に対応する全てのデータについて、光量分布の差と変化率の計算処理が行なわれる。そして、L2に対応するB部分の光量分布については、処理時間を短縮するためにメモリ132に格納されているB部分に対応する全てのデータについて上記の計算処理を行わず、A部分の遮光範囲探索結果から、遮光範囲探索を実行するサーチ範囲を限定するよう決定し、その範囲内でA部分の遮光範囲探索処理と同様の計算処理によって遮光範囲の端部に相当するCCD画素番号を決定し角度情報を算出する。
【0102】
上述した図8のB部分の遮光範囲探索処理について図9および図10を用いて以下に説明する。
【0103】
いま、図9のように2点の入力としてP1およびP2がある場合に、図8のA部分の光量分布に相当するセンサユニット1Lの受光部L1では、図10に示すように遮光範囲が2個検出される。この光量分布データは、図9に示すように受光部L1で検出される遮光端情報として、上述の計算処理によりl11、l12、l13、l14として検出される。同様に、センサユニット1Rの受光部R1では、r11、r12、r13、r14が検出される。
【0104】
先述したとおり、センサユニット1Lおよび1Rでは、同一ラインCCD上に所定の距離離して2系統の光学系を構成している。したがって、L1を検出するための略L1の瞳に位置する投光部の投射光によってL2では、例えばL1の遮光端l11について説明するとl11と再帰反射4との交点ls1を遮光端とする光量分布が検出されるはずである。そして、L2の投光部の投射光によってL2の受光部で検出される光量分布において検出される遮光端l21はls1方向へなす角度θL21よりも時計方向、すなわち図9の矢印L21sの方向に検出されるはずである。
【0105】
遮光端l11と再帰反射4との交点ls1は、図13および図14に示すセンサユニット1Lと1Rの位置関係と図9に示す再帰反射4のX方向およびY方向の距離HLRとVLRから導出することができ、この結果から計算された距離yl1からθL21を求めることができる。そして、式(1)を変形した式に代入して受光部L2に対応する画素番号を計算することができる。なお、ここでの画素番号情報に関しては算出精度は必要ないので、θを求めた式の1次の項だけを用いて算出すればよい。そして、この画素番号をL2の遮光探索処理を行う開始点として決定する。
【0106】
上述の処理を受光部L1については、遮光端l13についても行い、さらにR1についてもr11とr13に対しても同様に行い、求めたθL23、θR21、θR23から各受光ユニットの画素番号を決定する。
【0107】
そして、上記で決定した画素番号を開始点として、A部分の遮光範囲探索処理と同様の計算処理によってB部分の遮光範囲の端部、すなわち図9におけるl21、l22、l23、l24に相当するCCD画素番号を決定し角度情報を算出する。
【0108】
この処理は、図10に示すように受光部L2のデータにおいて、L21sから矢印の方向へ探索処理を行い、遮光端として2個の角度情報が得られたらひとまず探索処理を終了する。そして、再びL23sから矢印の方向へ探索処理を行い、遮光端として2個の角度情報が得られたら遮光探索を終了する。同様な探索処理を受光部R2についても行い、r21、r22、r23、r24に相当するCCD画素番号を決定し角度情報を算出する。このようにして、複数の入力点P1およびP2の座標を算出するための遮光端の角度情報を検出することができる。
【0109】
なお、遮光探索開始点を決定してから、上記では2つの遮光端を検出するまで連続して探索処理を行ったが、受光部L1とL2およびR1とR2で検出される遮光範囲は略等しいので、遮光端を1つ検出したならば、所定画素数分(L1およびR1の各々の遮光端から算出する幅情報)のデータをスキップして再び遮光の探索処理を開始してもよい。この処理は、特にセンサに対して入力点の距離が比較的近く、遮光範囲が大きくなる場合に有効となる。
【0110】
次に図11と図12を用いて、受光部L1で検出される遮光範囲が入力点P1とP2が重なって1つの遮光範囲として見える、いわゆる部分食状態となっている場合について説明する。
【0111】
この場合は、L1で検出される遮光範囲は1個であるので、l11とl12を用いて、L2の遮光探索開始点を決定する。遮光探索開始点の決め方は先に説明したのと同様で、この場合は、l11と再帰反射4の交点ls1およびl12と再帰反射4の交点ls2によって求めることができる。
【0112】
そして、図12に示すように求めた探索処理開始点L21sおよびL22sから矢印の方向へ遮光端の探索処理を実行する。なお、この場合は遮光端の開始から、遮光端が1つ検出されたならば処理を停止するように動作する。
【0113】
また、R1に関しては遮光範囲が2個あるが、L2の処理と同様に外側の遮光端情報のみ、すなわち、R1のr21とr24からrs1とrs2を導出し、R2の遮光探索処理開始点を決定する。そして、図12に示すように求めた探索処理開始点R21sおよびR22sから矢印の方向へ遮光端の探索処理を実行し、遮光端が1つ検出されたならば処理を停止する。
【0114】
なお、図9と図10で説明した、L1とR1の両方で遮光範囲が2つの場合でも、外側の遮光端情報のみを使ってL2とR2の遮光探索処理の開始点を決定してもよい。
【0115】
また、探索処理する順番はまずL1、次にL2として、CCDの読出し順としたが、これに限定されるものではなく、2つの受光部を一方は、有効領域の全域について受光可能で、もう一方は補助的に有効領域の限定した領域について受光可能な構成である場合には、有効領域全域について受光可能な受光部のデータから探索処理を行ってもよい。この場合は、単1点入力を主な使い方とする場合に有効領域全域について受光可能な受光部のデータのみを探索処理することによってサンプリング速度が有利な構成となる。
【0116】
<座標算出方法の説明>
次に、画素番号から変換された角度情報(θ)から、指示具の位置座標を算出する座標算出方法について説明する。
【0117】
尚、指示具の入力が1点である場合には、センサユニット1L及び1Rの出力結果に基づいて得られる遮光範囲の中央の角度を用いることで座標算出が可能である。
【0118】
ここで、座標入力有効領域3上に定義する座標とセンサユニット1L及び1Rとの位置関係及び座標系について、図13を用いて説明する。
【0119】
図13は本発明の実施形態の座標入力有効領域上に定義する座標とセンサユニット1L及び1Rとの位置関係を示す図である。
【0120】
図13では、座標入力有効領域3の水平方向にX軸、垂直方向にY軸を定義し、座標入力有効領域3の中央を原点位置O(0,0)に定義している。そして、座標入力有効領域3の座標入力範囲の上辺左右に、それぞれのセンサユニット1L及び1RをY軸に対称に取り付け、その間の距離はDLRである。
【0121】
また、センサユニット1L及び1Rそれぞれの受光面は、その法線方向がX軸と45度の角度を成すように配置され、その法線方向を0度と定義している。
【0122】
この時、角度の符号は、左側に配置されたセンサユニット1Lの場合には、時計回りの方向を『+』方向に、また、右側に配置されたセンサユニット1Rの場合には、反時計回りの方向を『+』方向と定義している。
【0123】
さらには、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)
で計算される。
【0124】
ここでの、角度データのとり方は、基準角度からの角度としている。これは、このように角度を設定することで、tanθのとる値が±π/4の範囲にあるため、座標算出が不安定にならないという効果がある。他の算出において、θの値がπ/2値をとっても、不安定ならないようであれば、同一高さ(同一レベル)にある、受光部を結ぶラインに対する角度を用いて、算出を行っても良い。例えば、以下に示す補正計算に関しては、そのような角度定義で計算することができる。
【0125】
ここで、各センサユニット1L(R)の2つの受光部は、実際には座標入力領域に対して同一ライン上には設けられていない。そのため、座標算出時に、異なる位置の受光部のデータを用いる場合には、この位置のずれ分の補正を行う必要がある。
【0126】
図14に示すように、センサユニット1Lの2つの受光部の瞳位置をそれぞれL1及びL2、センサユニット1Rの2つの受光部の瞳位置をそれぞれR1、R2とする。また、L1とL2とのx軸方向の差であるx軸方向距離Δxs、L1とL2とのy軸方向の差であるy軸方向距離Δysとする。
【0127】
L2で検出されたデータがθL2である場合、X軸方向にR1と同一高さで見ると、仮想的にVL2の位置にセンサユニット1Lがあるとして、ΔvxsをθL2を用いて算出することができる。
【0128】
そして、R1と同一高さに換算するには、高さ方向の距離Δysと得られた角度θL2とから、
Δvxs=Δys/tanθL2
となる。
【0129】
よって、式(2)、(3)のセンサユニット間距離DLRを、受光部の瞳位置L1及びL2間のX方向距離Δxsと、算出されたΔvxsで補正し、仮の座標値を計算することが可能となる。計算されたこの仮の座標値におけるx座標は、VL2とR1の中間を原点として計算されるので、そのX座標から(Δxs+Δvxs)/2をさらに補正すれば、異なる位置にある受光部のデータを用いて座標算出が可能になる。
【0130】
入力が一点であるような場合には、遮光幅(遮光範囲)の中央の角度を用いても座標算出が可能であるが、図15の上部のように、複数の指示具からの入力があり、受光部と複数の指示具の位置関係が、センサユニット1L中の2つの受光部での検出信号(光量分布(遮光範囲))が共に重なってしまうような場合には、このような方法では計算できない。
【0131】
例えば、図15の上部での状態では、センサユニット1L中の図面左側の受光部L1では、指示具Bは指示具Aの影に完全に隠れてしまっており、またもう一方の受光部L2では、指示具Bと指示具Aの遮光範囲が連続してしまっている。
【0132】
そして、図15の下部はその時の出力信号であり、受光部L1での出力信号は指示具Aの遮光範囲(A)のみで構成され、受光部L2での出力信号は、指示具Aと指示具Bの遮光範囲(A+B)がつながった状態として出力される。このような場合には、遮光範囲の中央を用いた計算では正確な入力座標は計算できない。
【0133】
そこで、センサユニット1L及び1Rの夫々のセンサユニットで検出された遮光範囲の端部の角度情報を用いて座標算出を行う。
【0134】
まず、指示具の入力形状を略円形とし、図16のように、センサユニット1L中の1つの受光部L1に対して、指示具Aと指示具Bが一部重なった状態にあるとする。つまり、この受光部L1では、θL1とθL2で規定される遮光範囲が観測されている状態であるとする。
【0135】
一方、センサユニット1R中の、例えば、受光部R1で観測される角度は、夫々の指示具の遮光範囲で形成される遮光範囲の端部であり、θR11からθR22までの4つの角度が観測される。
【0136】
図17はこのような遮光範囲の端部を用いた場合の座標算出を説明するための図である。
【0137】
今、例えば、P点に入力がなされたとした場合、θL1とθR1、θR2の交点を夫々P1(x1,x1)、P2(x2,x2)とすると、入力位置の座標Pは、夫々の交点における角度2θ1、2θ2の2等分線の交点として計算可能となる。
【0138】
P1及びP2の座標値は、上述のそれぞれの角度の交点の座標を計算するのと同様の式(2)及び(3)によって計算可能であるので、この座標値と角度情報を用いることにより入力座標P(x,y)を算出することができる。
【0139】
このように、左右のセンサユニット1L及び1Rで検出される遮光範囲の端部情報を用いることで、遮光範囲の中央値を用いることなく、入力に対する入力座標の算出が可能となる。
【0140】
図18はその算出手順の一例を説明するための図である。
【0141】
図のように、P1(x1,y1)とP2(x2,y2)の間の距離をL、夫々の点における角の2等分線の角度をθ1、θ2とすれば、
L=((x2−x1)2+(y2−y1)2)0.5 (4)
θ1=(π−(θL+θR1))/2 (5)
θ2=(θL+θR2)/2 (6)
ここで、
L1・tanθ1=L2・tanθ2 (7)
である。よって、
L2=L・tanθ1/(tanθ1+tanθ2) (但し、tanθ1+tanθ2≠0) (8)
La=L2/cosθ2 (但し、cosθ2≠0) (9)
【0142】
これから、Δx、Δyとして
Δx=La・cos(θL−θ2) (10)
Δy=La・sin(θL−θ2) (11)
入力座標として、P(x,y)は、
x=x2−Δx (12)
y=y2−Δy (13)
と計算できる。
【0143】
ここで、図16のように、例えば、センサユニット1Lからみて後ろ側の入力点が、完全に影に隠れてしまう、いわゆる、皆既食状態でない状態、つまり、部分食状態である場合には、その入力点は、Pa及びPb、またはPa’及びPb’のどちらかの組み合わせになる。
【0144】
そこで、θL1、θL2、θR11、θR12、θR21そしてθR22の組み合わせについて、上記のような2等分線の交点に相当する計算を行い、それぞれPa及びPb、またはPa’及びPb’の座標を計算し、どちらの組み合わせが正しい入力座標であるかの判定を行う。
【0145】
この組み合わせの判定は、もう一方の受光部のデータを用いて行うことができる。
【0146】
例えば、図19のように、もう一方の受光部のデータθL21及びθL22と、θR11及びθR12による座標算出結果と、先の受光部での座標算出結果を比較し、Paと重なるのか、あるいはPa’と重るのかを双方の距離等から判定して、PaかPa’のどちらが正しいかの判定を行うことができる。ここで、Paが採用されれば、その組み合わせとして、Pbが自動的に採用されることになる。
【0147】
より確実に判定するには、θR21とθR22での座標算出結果を用いて、Pbについて計算を行っても良い。
【0148】
このように、センサユニット1L(1R)で検出される2つの遮光範囲が部分的に隠れてしまう「部分食」状態であれば、夫々の遮光範囲の端部の角度を検出し、その交点における2等分線に相当する情報を得ることで、複数の入力指示位置を特定することが可能になる。
【0149】
ここで、遮光範囲の端部情報を用いたとしても、いわゆる「皆既食」状態では、その影に隠れた側の指示具の入力の位置を特定することができなくなる。この「皆既食」状態を回避するには、入力指示具の大きさに対して、各センサユニット1L(1R)における複数の受光部間の距離を最適値に決定することによって、どちらかの光学系では領域が部分的に重なった「部分食」状態とすることが可能となる。
【0150】
従って、本願発明では、複数の指示具がどの領域にあっても、センサユニット1L(1R)中に設けられた2組の受光部の内、少なくとも一方の受光部では、必ず「部分食」の状態、あるいは2つの遮光範囲が分離した状態で検出できるように、センサユニット1L(1R)中の受光部の光学的配置を設定している。
【0151】
実際の計算については、以下のようになる。
【0152】
まず、上述説明したように、各々受光部からの光量分布データの取得を行う。
【0153】
得られた各光量分布データから、遮光範囲の数を閾値等を用いて算出する。遮光範囲の数により、入力がない場合と、一箇所に対して入力(単一点入力)が行われた場合と、少なくとも2箇所に対して入力(複数点入力)が行われた場合の判定が可能になるとともに、演算に用いるデータを選択することができる。
【0154】
図20は、センサユニット1L内の2つの受光部をL1及びL2、センサユニット1R内の2つの受光部をR1及びR2とする場合に、各受光部で検出される遮光範囲の数の組み合わせを示している。遮光範囲の数の組み合わせは、最大入力数を2としたとき、入力がない場合を含めて17通りとなる。
【0155】
受光部L1,L2、R1,R2のすべてにおいて、入力が「1」の場合には、単一点入力の場合と、2つの入力が接触している場合とが考えられるが、本実施形態では、接触も単一点入力として扱うこととする。但し、指示具の入力幅等の指示具の形状情報が既知である場合には、その形状情報に基づいて、2つの入力が接触している場合を検出するようにしてもよい。
【0156】
このように、遮光範囲の数を計数することで、「入力無し」、「単一点入力」、「複数点入力」の入力状態を判定することができる。各センサユニットで検出される遮光範囲が、一つしかない単一点入力の場合には、遮光範囲の端部情報を用いた座標算出方法で座標算出を行ってもよいし、あるいは、従来とおりの遮光範囲の中央を計算して、座標算出を行ってもかまわない。
【0157】
複数点入力の場合、入力が各々独立に検出できている遮光範囲が2つのものと、センサユニットに対して入力位置の関係が「食」状態にあるような、1つの場合とが混在することになる。
【0158】
このような場合に、どの遮光範囲の組み合わせで座標算出を行うかについては、夫々の遮光範囲の数から決定する。
【0159】
まず、各遮光範囲の数の内、2箇所の遮光範囲を検出している受光部を選択し、選択した受光部からの検出信号を座標算出第1データとする。このとき、複数の受光部で遮光範囲を2箇所検出している場合には、優先順位を予め決定しておき、その優先順位に従って受光部を選択すればよい。
【0160】
次に、座標算出第1データとして選択された受光部のセンサユニットと反対側のセンサユニット内の受光部の検出信号に着目し、その内、複数の遮光範囲を検出している受光部があればその受光部の検出信号を座標算出第2データとする。複数の遮光範囲を検出していない場合には、とりあえず、優先順位に応じて、単数の遮光範囲を検出している受光部の検出信号を座標算出第2データとする。
【0161】
このとき、優先度として、例えば、座標算出第1データとして選択された受光部(例えば、センサユニット1LのL1)と同じ高さにある受光部(例えば、センサユニット1RのR1)のデータを選択するようにすれば、先に述べた高さの違いによる、座標値補正の補正計算を行わずに済むので、そのように優先度を決定しても良い。
【0162】
次に、座標算出第2データとして選択された受光部のセンサユニットと同じセンサユニットにおけるもう一つの受光部による検出信号を虚実判定データとする。
【0163】
これは、先に述べたように、複数の入力がある場合に、真に入力した座標(実座標)のほかに、検出信号の組み合わせによって生じる虚の座標が算出されるので、真の座標がどれであるかを判定するのに用いられるものである。
【0164】
図20からわかるように、座標算出第1データとして選択される受光部で検出する遮光範囲の数は必ず複数となるが、座標算出第2データとして選択される受光部で検出する遮光範囲の数は複数の場合と単数の場合があり、同様に、虚実判定データとして選択される受光部で検出する遮光範囲の数も複数の場合と単数の場合がある。
【0165】
そして、座標算出第1データ、座標算出第2データ、虚実判定データの順に並べると、その検出する遮光範囲の数の組み合わせは、組み合わせ1:複、単、単、組み合わせ2:複、複、単、組み合わせ3:複、複、複の3タイプに分類できる。
【0166】
ここで、この3タイプに対応する入力状態の一例を、図21A〜図21Cに示す。
【0167】
各々の図中Aで示した接線が座標算出第1データ、Bが座標算出第2データ、Cが虚実判定データである。
【0168】
座標算出は、まず、座標算出第1データの一方の遮光範囲、例えば、図21Aでは、A11及びA12に対して、座標算出第2データB11及びB12、及び虚実判定データC11及びC12の組み合わせで、先に説明したような遮光範囲の端部情報を用いて座標算出を行う。
【0169】
このとき、座標算出第2データB11及びB12で算出した座標値をP11及びP12、虚実判定データC11及びC12で算出した座標値を虚実判定座標値としてP21及びP22とする。この時点で、算出された4つの座標値の内、少なくとも2つの座標値は略等しい値となり、指示具の位置座標を示す値となる。
【0170】
組み合わせが1:複、単、単の場合には、単の情報のどちらかに「皆既食」状態が含まれている可能性がある。皆既食状態の座標値は、虚実判定データとして、センサユニットに近い側の座標算出には使えるが、遠い側の算出には使えない。このような場合には、座標算出第2データとした座標値と、虚実判定データとした座標値を入れ換える(置換する)ことで、両方の座標を算出することが可能になる。このために、まず、この判定を行う。
【0171】
図21Aにあるように、皆既食状態(あるいは、それに近いとき)には、B11及びB12のラインがほぼ同一の入力の遮光範囲の両端を表すことになるので、夫々で計算された座標値が略同じか近い値として、座標値P11及びP12が算出される。
【0172】
一方、皆既食状態でない側の座標値では、それぞれ違う入力の遮光範囲の端部情報になるので、皆既食状態よりは大きく異なった値として、座標値P21及びP22が算出される。
【0173】
そこで、座標算出第2データと虚実判定データから算出した、夫々の座標値P11及びP12と、P21及びP22の夫々の差分を算出し、差分値の大きいほうを部分食状態と判定する。その判定結果によって、座標値データと判定座標値データの入れ換えを行う。このとき、座標算出第2データと虚実判定データの入れ換え(置換)を行うようにしてもよい。
【0174】
組み合わせ2:複、複、単と、組み合わせ3:複、複、複については、2点入力であれば、皆既食状態はありえないので、上記処理は必要ではない。但し、入力点数を増加させる場合には、同様の判定が必要になる。
【0175】
次に、座標の虚実判定を行う。この処理は、すべての組み合わせの座標を算出してから行ってもかまわないが、先に一方の座標値に対して、虚実判定を行っておくことで、不要な座標算出を行わずに処理時間の短縮が図れる。
【0176】
先のP11、P12、P21、P22に対して、どの座標値が正しい値かを夫々の距離の近さで判定する。
【0177】
それぞれ、P11とP21及びP22、P12とP21及びP22の距離を算出して、一番近い組み合わせからP11またはP12のどちらかを真の座標値として選択する。
【0178】
虚実判定結果によって、真の座標値がP11に選択されれば、残りの未計算の座標値は、P14となるので、その座標値を算出する。一方、虚実判定結果によって、真の座標値にP12が選択されれば、P13の座標算出を行う。
【0179】
このようにして、実際の入力に対する座標の判定(虚実判定)を行うことができる。
【0180】
図21B、図21Cのような場合にも、同様に処理することで座標算出が可能になる。座標算出に際して、1つのセンサユニットの2つの受光部が検出する遮光範囲の数がそれぞれ「複」、「複」の場合には、その遮光範囲の端部情報の両端から座標算出しても良いが、片側の端部情報からのみで計算してもかまわない。あるいは、従来通り遮光範囲の中央を計算して、座標算出に用いてもかまわない。
【0181】
ここで、センサユニット内の各受光部が検出する遮光範囲の数によるデータの割り振りについての例として、座標算出第1データ、座標算出第2データ、虚実判定データに夫々センサユニットのどの受光部に割り振られるか、また、皆既状態の判定(皆既判定(虚実判定))の要否についてまとめると、図22のようになる。
【0182】
図22から明らかなように、単一点入力の時には、L1、R1あるいはL2、R2のどの組み合わせを用いて計算してもかまわない。
【0183】
また、各センサユニットの2つの受光部の両検出信号がともに複数の遮光範囲を検出している場合には、どちらの検出信号を座標算出第1データにしてもかまわない。
【0184】
<座標値の連続性の判定>
上述したように、複数の受光部を有するセンサユニットを用い、遮光範囲の端部情報を用いて、座標算出及び座標の虚実判定を行うことで、複数の入力の座標値を決定することができる。
【0185】
そして、得られた複数の座標値については、このまま座標値を出力しただけでは、受信側の外部端末で、2つの座標値の区別がつかず両者をつないでしまうようなことになりかねない。
【0186】
そこで、2つの座標値を区別するために、座標の連続性を表す識別子を座標値の出力の際には付加する。
【0187】
複数の座標値の、その連続性は、各サンプリング毎に前回の座標値との差分を計算して、夫々をその近いものを当てはめることで可能である。
【0188】
遮光範囲が最初に検出された時には、例えば、検出された順にID番号(フラグ)を付加する。
【0189】
図23のように、2つの座標値P1(X1n,Y1n)、P2(X2n,Y2n)が得られたときに、前回サンプリング時の座標値がID0:X1n−1,Y1n−1、ID1:X2n−1,Y2n−1であれば、P1,P2ともども、夫々に対する差分を計算して、近い方を採用し、P1をID0、P2をID1とする。このように、座標値の連続性の判定を行い、夫々の座標値に対して、このIDを割り振って座標値を出力する。
【0190】
そして、外部端末側で、このIDを参照することで、座標値の連続性を判定し、線で連結する等の描画の処理を行うようにすればよい。
【0191】
<ペン信号の検出>
指示具として、例えば、先端にスイッチ等の信号発生部を設けたペンを用いることで、文字の入力等における「尾引き」の問題が発生しない、スムーズな入力が可能になる。
【0192】
ここで、「尾引き」とは、例えば、『あ』と言う文字を入力したにもかかわらず、座標入力面をタッチする直前/直後において、余分な軌跡が表示され、操作者が意図した軌跡とは異なる表示が得られる現象である。
【0193】
座標入力装置から外部端末に出力する情報は、上述のように、座標値だけでなく、指示具から得られるスイッチ情報(例えば、マウスの左ボタンの情報に相当するようなアップダウン情報S0や、マウスの右ボタンに相当するペンサイドスイッチ情報S1)や、上記のような座標の連続性を表す識別子ID等がある。それ以外にも、指示具固有のペンID情報等がある。
【0194】
スイッチ情報の出力方法としては、音波や電波を用いたり、光を用いることでも可能である。
【0195】
図1のペン信号受信部は、指示具からの信号を受信し、その信号がどの座標値の信号であるかを判定して、座標値を送信する際のペンアップダウン信号やマウスのボタン信号として用いられる。
【0196】
指示具からの情報の座標値への割り付けは、例えば、光を用いた場合、座標入力有効領域3に対して、ペン信号受信部を複数設け、夫々で異なる領域からの信号を得るようにする。
【0197】
このように構成して、複数の指示具による座標値が得られる場合に、異なる領域のどこにその座標値があたるかを判定し、その領域で得られた信号の情報(スイッチ信号や、指示具のペンID情報)をその座標値と関連付けるようにする。そして、これらのスイッチ情報や指示具固有のペンID情報や、座標値の連続性を表すID情報等を付帯情報として、座標値に付加して外部端末に出力する。
【0198】
ここで、図24は、そのような付帯情報と座標値とを出力する際のフォーマット例である。
【0199】
図24では、byte0に付帯情報として、スイッチ情報及びペンID情報が付加され、それ以降、byte1からbyte4に、指示具の指示位置である座標(x,y)の座標値がそれぞれ格納されて、外部端末に出力される。外部端末側では、受信するこのデータを解析することで、軌跡の描画やメニュー操作の実行を制御する。
【0200】
<座標算出処理フローの説明>
図25は本発明の実施形態の座標入力装置が実行する座標算出処理を示すフローチャートである。
【0201】
図25では、センサユニットでのデータ取得から座標算出までの手順を示している。
【0202】
電源が投入されると、ステップS101で、制御・演算ユニット2のポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。その後に、不揮発メモリ等から基準データや補正用の定数等の初期データをそれぞれ読み出し、演算・制御ユニット2のメモリ132に格納する。
【0203】
また、各センサユニット毎に、図6のような、照明無しの時の光量分布データ81と、初期入力が無いときの光量分布データ82を、初期データとして取り込み、メモリ132に記憶する。
【0204】
ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことはいうまでも無く、この初期設定動作を経て、通常の指示具による座標入力動作状態に移行することになる。
【0205】
ステップS102で、座標入力が連続して行われているか否かを示すフラグを初期化(クリア)する。ステップS103で、各センサユニットの投光部を点灯させ、光量分布データを受光部より取得する。
【0206】
ステップS104で、センサユニット1Lおよび1Rの各2つの受光部のうち各々一方の受光部で取得した光量分布データは、先の初期データに対して差分及び比を計算し、例えば、閾値を越えるものがあるか否かの判定などによって、遮光範囲の検出を実行する。
【0207】
ステップS105で、ステップS104で検出した遮光範囲の角度情報と再帰反射部との交点と、各センサユニットのもう一方の受光部の瞳位置に対する方向がなす角度情報から、前記他方の受光部に対応するデータの遮光範囲探索開始位置(画素番号)を算出する。
【0208】
ステップS106で、遮光範囲探索開始位置からステップS104と同様にもう一方の受光部のデータの遮光範囲の検出を実行する。
【0209】
ステップS107で、遮光範囲の検出結果に基づいて、指示具による入力の有無を判定する。入力がない場合(ステップS107でNO)、ステップS102に戻る。一方、入力がある場合(ステップS107でYES)、ステップS108に進む。
【0210】
ステップS108で、遮光範囲の検出結果に基づいて、センサユニットの各受光部毎の遮光範囲の数を検出する。ステップS109で、遮光範囲の数の検出結果に基づいて、指示具による入力が複数点入力であるか否かを判定する。複数点入力でない場合(ステップS109でNO)、つまり、単一点入力である場合、ステップS110に進み、単一点入力における座標算出を実行する。このときの座標算出は、遮光範囲の端部情報を用いた計算でも良いし、遮光範囲の中央を用いたものでもかまわない。
【0211】
一方、複数点入力である場合(ステップS109でYES)、ステップS111に進み、その遮光範囲の数に従って、図22に示すように、座標算出第1データ、座標算出第2データ、及び虚実判定データをそれぞれ決定する。そして、これらのデータをメモリ132に記憶する。
【0212】
各データを決定したら、ステップS112で、夫々の遮光範囲の端部データを算出し、その端部データから一方の座標値及び判定座標値を算出する。このとき、座標算出第2データと判定データが単一データである場合、どちらかのデータが「皆既食」状態である可能性があるので、各座標値間の距離からその判定を行う。
【0213】
ステップS113で、判定結果に従って、データ(座標値)の入れ換えの要否を判定する。データの入れ換えが必要である場合(ステップS113でYES)、ステップS114に進み、座標値の入れ換えを実行する。一方、データの入れ換えが必要でない場合(ステップS113でNO)、ステップS115に進む。
【0214】
遮光範囲(入力点)が複数の場合、ここで算出される座標値は、実際に入力された、実の点と虚の点が算出されることになる。そこで、ステップS115で、座標値と判定座標値から座標値の虚実判定を実行する。
【0215】
虚実判定によって、実座標が判定されたら、ステップS116で、それに対応する側の残りの座標値を算出する。座標値が確定したら、ステップS117で、連続入力の有無を判定する。尚、この判定は、連続入力の有無を示すフラグに基づいて実行する。
【0216】
連続入力がない場合(ステップS117でNO)、ステップS119に進む。一方、連続入力がある場合(ステップS117でYES)、ステップS118に進む。
【0217】
ステップS118で、それ以前に記憶されている座標値(前回の座標値等)との差分などから、連続性判定を実行する。
【0218】
連続性判定がなされたら、ステップS119で、連続入力フラグをセットし、また、今の座標値を次の連続性判定のためにメモリ132に記憶する。
【0219】
次に、ステップS120で、ID等の付帯情報を座標値に付加する。特に、連続していると判定された座標値には、前回と同じIDを付加し、新規に検出された座標値に対しては、未使用のIDを付加することになる。また、スイッチ情報などがある場合には、その情報も付加する。
【0220】
このように、付帯情報を有する座標値を、ステップS121で、外部端末に出力する。その後、データ取得のループを、電源OFFまで繰り返すことになる。
【0221】
以上説明したように、指示具による座標入力動作の有無を判定することは容易に行える。さらには、1つの指示具による座標入力動作が行われている状態にあっては、例えば、座標入力有効領域3の全領域を有効視野とする受光部を用いて、容易にその位置座標を導出することも可能である。
【0222】
尚、上記実施形態における、遮光範囲の端部情報を用いる座標算出では、複数の指示具が部分的に重なった状態での座標値が算出可能である。そのため、システムのスペックにもよるが、受光部で遮光範囲の端部情報を用いる座標算出を実現できる構成であれば、1つのセンサユニットに必ずしも複数の受光部が設けられている必要はない。
【0223】
また、上記実施形態では、再帰反射部4に投光し、その反射光をさえぎる遮光範囲を検出する構成であるが、再帰反射部は必須ではなく、座標入力領域の周囲に連続する発光部があっても、同様に本願発明を適用することができる。
【0224】
また、上記実施形態では、センサユニット内の受光素子としてラインCCDを用いたが、エリアセンサ型のCCDやCMOSセンサで構成してもよく、特にCMOSセンサの場合には、露光エリアの特定の部分を読み出す事が可能であり、不要なエリアを読み出す必要がないため読み出し速度の高速化が可能である。上記実施形態においてもセンサユニット内の複数の受光部のうち、一方の受光部のデータで検出した遮光範囲から、もう一方の受光部のデータの読出し開始位置を決定し、限定した範囲のデータのみをメモリに転送することでシステム全体としての高速化が可能となる。
【0225】
また、座標入力装置の座標入力有効領域3を、例えば、大画面の表示装置で構成して、指示具の座標値を表示画面上に表示する構成とすれば、複数人による同時入力が可能な、電子ホワイトボードの応用が構成可能になる。
【0226】
以上説明したように、本実施形態によれば、複数の指示具により、複数の座標を同時に入力した場合であっても、高精度でかつ高速に複数の指示具の位置を各々検出することができる。
【0227】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0228】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0229】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0230】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0231】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0232】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0233】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0234】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0235】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0236】
【図1】本発明の実施形態の遮光方式の座標入力装置の概略構成を示す図である。
【図2】本発明の実施形態のセンサユニットの詳細構成を示す図である。
【図3A】本発明の実施形態のセンサユニットの光学的配置図である。
【図3B】本発明の実施形態のセンサユニットの光学的配置図である。
【図3C】本発明の実施形態のセンサユニットの光学的配置図である。
【図4】本発明の実施形態の制御・演算ユニットの詳細構成を示すブロック図である。
【図5】本発明の実施形態の制御信号のタイミングチャートである。
【図6】本発明の実施形態のセンサユニットが検出する光量分布を説明するための図である。
【図7】本発明の実施形態のセンサユニットが検出する光量分布を説明するための図である。
【図8】本発明の実施形態の信号読出のタイミングチャートである。
【図9】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図10】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図11】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図12】本発明の実施形態の遮光範囲の検出について説明するための図である。
【図13】本発明の実施形態の座標入力有効領域上に定義する座標とセンサユニット1L及び1Lとの位置関係を示す図である。
【図14】本発明の実施形態の受光部を複数有するセンサユニットにおける座標算出を説明するための図である。
【図15】本発明の実施形態の複数の指示具からの入力動作における位置関係及び検出信号の一例を示す図である。
【図16】本発明の実施形態の虚実判定を説明するための図である。
【図17】本発明の実施形態の遮光範囲の端部情報による座標算出の一例を説明するための図である。
【図18】本発明の実施形態の遮光範囲の端部情報(角度)の重なり部分の2等分線と座標値の関係を説明するための図である。
【図19】本発明の実施形態の遮光範囲の端部情報による座標算出の詳細を説明するための図である。
【図20】本発明の実施形態の遮光範囲の数の組み合わせを示す図である。
【図21A】本発明の実施形態で検出する遮光範囲の数の組み合わせを説明するための入力例を示す図である。
【図21B】本発明の実施形態で検出する遮光範囲の数の組み合わせを説明するための入力例を示す図である。
【図21C】本発明の実施形態で検出する遮光範囲の数の組み合わせを説明するための入力例を示す図である。
【図22】本発明の実施形態の遮光範囲の数に基づくデータ割り振りを示す図である。
【図23】本発明の実施形態の座標連続性の判定を説明するための図である。
【図24】本発明の実施形態の座標出力時のデータフォーマット例を示す図である。
【図25】本発明の実施形態の座標入力装置が実行する座標算出処理を示すフローチャートである。
【図26】従来技術における2点入力時のセンサユニット位置と遮光範囲の関係を説明するための図である。
【図27】従来技術におけるセンサユニットで受光する光量分布を説明するための図である。
【符号の説明】
【0237】
1L、1R センサユニット
2 演算・制御ユニット
3 座標入力有効領域
4 再帰反射部
5 ペン信号受信部
【特許請求の範囲】
【請求項1】
座標入力領域上の複数の指示位置を検出する座標入力装置において、
前記座標入力領域上に対する指示具の有無を検出する複数の検出手段と、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出手段のうち第1の検出手段における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定手段と、
前記特定手段で特定された信号変化範囲の端部情報を検出する端部情報検出手段と、
前記端部情報検出手段で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出手段のうち前記第1の検出手段とは別の第2の検出手段における信号変化範囲を特定するための検出範囲を決定する決定手段と、
前記検出範囲について前記特定手段によって前記第2の検出手段の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出手段の端部情報と第2の検出手段の端部情報から前記指示具の指示位置の座標を算出する算出手段と、
を備えることを特徴とする座標入力装置。
【請求項2】
複数の前記検出手段が、前記座標入力領域の異なる位置に配置され、
前記算出手段は、前記複数の検出手段それぞれに対する端部情報で特定される座標と、対応する検出手段の基準位置とを結ぶ線分同士の交点で規定される角度の2等分線の交点を、前記指示具の指示位置の座標として算出する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項3】
前記第2の検出手段における信号変化範囲の端部情報が1つ検出された場合、前記第1の検出手段における信号変化範囲以下の範囲をスキップして、端部情報を検出する手段をさらに有する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項4】
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御方法であって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程と、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程と、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程と、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程と、
を備えることを特徴とする座標入力制御方法。
【請求項5】
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御を実現するプログラムであって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程のプログラムコードと、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程のプログラムコードと、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程のプログラムコードと、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程のプログラムコードと、
を備えることを特徴とする座標入力プログラム。
【請求項1】
座標入力領域上の複数の指示位置を検出する座標入力装置において、
前記座標入力領域上に対する指示具の有無を検出する複数の検出手段と、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出手段のうち第1の検出手段における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定手段と、
前記特定手段で特定された信号変化範囲の端部情報を検出する端部情報検出手段と、
前記端部情報検出手段で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出手段のうち前記第1の検出手段とは別の第2の検出手段における信号変化範囲を特定するための検出範囲を決定する決定手段と、
前記検出範囲について前記特定手段によって前記第2の検出手段の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出手段の端部情報と第2の検出手段の端部情報から前記指示具の指示位置の座標を算出する算出手段と、
を備えることを特徴とする座標入力装置。
【請求項2】
複数の前記検出手段が、前記座標入力領域の異なる位置に配置され、
前記算出手段は、前記複数の検出手段それぞれに対する端部情報で特定される座標と、対応する検出手段の基準位置とを結ぶ線分同士の交点で規定される角度の2等分線の交点を、前記指示具の指示位置の座標として算出する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項3】
前記第2の検出手段における信号変化範囲の端部情報が1つ検出された場合、前記第1の検出手段における信号変化範囲以下の範囲をスキップして、端部情報を検出する手段をさらに有する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項4】
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御方法であって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程と、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程と、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程と、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程と、
を備えることを特徴とする座標入力制御方法。
【請求項5】
座標入力領域上の複数の指示位置を検出する複数の検出部を備え、座標入力領域上の指示位置を検出する座標入力装置の制御を実現するプログラムであって、
前記座標入力領域上に指示がない場合の初期状態での前記検出手段の初期検出信号分布に対し、前記複数の検出部のうち第1の検出部における前記座標入力領域に対する指示具の指示動作によって発生する信号変化範囲を特定する特定工程のプログラムコードと、
前記特定工程で特定された信号変化範囲の端部情報を検出する端部情報検出工程のプログラムコードと、
前記端部情報検出工程で検出される複数の端部情報の少なくとも1つを用いて、前記複数の検出部のうち前記第1の検出部とは別の第2の検出部における信号変化範囲を特定するための検出範囲を決定する決定工程のプログラムコードと、
前記検出範囲について前記特定工程によって前記第2の検出部の信号変化範囲を特定し、該範囲における端部情報をさらに検出し、
前記第1の検出部の端部情報と第2の検出部の端部情報から前記指示具の指示位置の座標を算出する算出工程のプログラムコードと、
を備えることを特徴とする座標入力プログラム。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21A】
【図21B】
【図21C】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21A】
【図21B】
【図21C】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2006−251878(P2006−251878A)
【公開日】平成18年9月21日(2006.9.21)
【国際特許分類】
【出願番号】特願2005−63827(P2005−63827)
【出願日】平成17年3月8日(2005.3.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年9月21日(2006.9.21)
【国際特許分類】
【出願日】平成17年3月8日(2005.3.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]