(第1の実施形態)
次に、図面を参照しながら、本発明の第1の実施形態について説明する。
<装置構成の概略説明>
図1は、座標入力装置の概略構成の一例を示す図である。
図1において、センサユニット1L、1Rは、投光部及び受光部を有する。本実施形態では、センサユニット1L、1Rは、図1に示す位置に取り付けられている。具体的に説明すると、センサユニット1L、1Rは、座標入力領域の一例である座標入力有効領域3のX軸に平行となり、且つY軸に対称となる位置関係を有して、座標入力有効領域3の一辺の両端部付近に、互いに所定の距離だけ離れて配置されている。
センサユニット1L、1Rは、制御・演算ユニット2に接続されている。センサユニット1L、1Rは、制御・演算ユニット2から制御信号を受信すると共に、座標入力有効領域3に対してユーザが行った指示入力に基づいて検出した信号を、制御・演算ユニット2に送信する。
再帰反射部材4は、図1に示すように、座標入力有効領域3の三辺(前述した座標入力有効領域3の一辺を除く三辺)の外側に配置されている。再帰反射部材4は、センサユニット1L、1Rから座標入力有効領域3上に投光された光を、座標入力有効領域3の周辺部で、到来方向に反射する再帰反射面を有する。この再帰反射面を備えることによって、再帰反射部材4は、左右夫々のセンサユニット1L、1Rから、略90°の範囲に投光された光を、センサユニット1L、1Rに向けて再帰的に反射(再帰反射)することができる。
再帰反射部材4で再帰反射された再帰反射光は、センサユニット1L、1Rが備える受光部によって1次元的に検出される。そして、受光部で検出された光の光量分布が、制御・演算ユニット2に送られる。尚、センサユニット1L、1Rが備える受光部は、後述するように、集光光学系や、ラインCCD等を備えて構成されている。
座標入力有効領域3は、PDP(プラズマディスプレイパネル)、リアプロジェクタ、及びLCDパネル(液晶ディスプレイパネル)等の表示装置の表示画面として構成されたり、表示装置と重ねて配置された透明なガラス等で構成されたりする。以上のように、図1に示す座標入力装置は、インタラクティブな情報機器として、利用することができるものである。
座標入力有効領域3に、指等による入力指示がなされると、センサユニット1L、1Rが備える投光部から投光された光が、指等によって遮られる。そうすると、センサユニット1L、1Rが備える受光部は、その遮られた部位のみの光(再帰反射による反射光)を検出する事ができなくなる。その結果、制御・演算ユニット2は、どの方向からの光が検出できなかったかを判別することが可能となる。
つまり、制御・演算ユニット2は、左右のセンサユニット1L、1Rで検出された光の光量変化から、指示入力された部分の遮光範囲を検出する。そして、制御・演算ユニット2は、検出した遮光範囲の情報に基づいて、遮光領域の方向(角度)を、左右のセンサユニット1L、1Rの夫々について導出する。更に、制御・演算ユニット2は、導出した方向(角度)と、センサユニット1L、1R間の距離情報等から、座標入力有効領域3上の遮光領域の座標を幾何学的に算出する。そして、制御・演算ユニット2は、座標入力装置に接続されているコンピュータプログラム(PC)等に、USB(Universal Serial Bus)等のインタフェース7を経由して、算出した座標の値を出力する。
このようにして、図1に示す座標入力装置では、指や指示具等による指示入力操作によって、表示画面上に線を描画したり、表示画面上のアイコンの操作によりコンピュータ(PC)を制御したりすること等、種々の処理を行うことができる。以降、座標入力装置の各部分の構成と、その動作の一例について詳細に説明を行う。
<センサユニット1>
図2は、センサユニット1の構成の一例を分解して示した図である。
図2において、投光部は、赤外LED(Light Emitting Diode)101a、101bと、投光レンズ102a、102bとを有している。赤外LED101a、101bは、赤外光を発するLEDである。赤外LED101a、101bから発光された光は、各々投光レンズ102a、102bによって、再帰反射部材4に向けて略90°の範囲に投光される。再帰反射部材4に向けて投光された赤外光は、再帰反射部材4により到来方向に再帰的に反射され、センサユニット1L、1Rが備える受光部によって検出される。
受光部は、入射される光線の視野を制限すると共に電気的なシールドとしての役割を担うシールド部材105を備えた1次元のラインCCD104と、受光光学系としてのfθレンズ(受光用レンズ)106a、106bとを有している。また、受光部は、入射される光線の入射方向を概略制限する絞り108a、108bと、可視光等の余分な光の入射を防止する赤外フィルター107a、107bとを備えている。再帰反射部材4によって反射された光は、赤外フィルター107、絞り108を抜けて、fθレンズ106によって、ラインCCD104の検出素子(画素)110面上に集光される。
上フード103、及び下フード109は、前述した光学部品を配置すると共に、投光部で投光された光が受光部に直接入射されることを防止したり、外来光等の余分な光をカットしたりするための部材である。
尚、本実施形態では、絞り108a、108bと、下フード109とが一体で成型されている場合を例に挙げて示している。しかしながら、絞り108a、108bと、下フード109とが別々の部品であってもよい。更に、上フード103に、絞り108、及びfθレンズ106の取り付け位置を決める位置決め手段を設けることで、投光部の発光中心に対する受光部の位置決めを容易に実現することも可能である。つまり、上フード103のみで、全ての主要な光学部品の配置が決定されるようにすることも可能である。
図3は、センサユニット1の外観構成の一例を示す図である。
図3(a)は、センサユニット1を、正面方向(座標入力有効領域3に対し垂直方向)から見た図である。2つの投光部は、所定の基準点間距離dだけ離れた状態で、夫々の主光線方向が略平行となるように配置される。前述したように、赤外LED101a、101bから発光された光は、投光レンズ102a、102bによって、夫々略90°の範囲に投光される。
図3(b)は、図3(a)のA−A´方向から見た断面図である。図3(b)に示すように、赤外LED101から発光された光は、投光レンズ102により、座標入力有効領域3に略平行に制限された光束として、主に再帰反射部材4に対して投光される。
図3(c)は、図3(a)に示した赤外LED101、投光レンズ102、上フード103を、説明のために取り除いた状態を示した図であり、図3(a)と同様に、センサユニット1を、正面方向(座標入力有効領域3に対し垂直方向)から見た図である。
図3(b)に示すように、本実施形態では、投光部と受光部とは、上下方向に重ねられている。そして、正面方向(座標入力有効領域3に対し垂直方向)から見て、投光部の発光中心と受光部の基準点位置とが一致するような構造となっている。ここで、基準点位置は、角度を計測するための基準位置に相当する。本実施形態では、基準点位置は、絞り108の中心点であって、図3(c)に示す光線が交差する点となる。
2つの投光部は、所定の基準点間距離(基準点位置間の距離)dだけ離れた状態で、夫々の主光線方向が略平行となるように配置されている。よって、2つの受光部も、所定の基準点間距離dだけ離れた状態で、各々の光軸(光学的な対称軸)が略平行となるように配置されている。
以上述べたように、座標入力有効領域3に略平行となるようにして投光部により投光された光であって、座標入力有効領域3の面内方向に略90°の方向に投光された光は、再帰反射部材4により光の到来方向に再帰反射される。そして、再帰反射された再帰反射光は、赤外フィルター107、絞り108、及びfθレンズ(受光レンズ)106を経て、ラインCCD104の検出素子(画素)110上に集光され、結像される。ラインCCD104の出力信号は、再帰反射光の入射角に応じた光量分布を出力することになるので、ラインCCD104の画素番号が角度情報を示すことになる。
尚、図3(b)に示すように、投光部と受光部との距離Lは、投光部から再帰反射部材4までの距離に比べて十分に小さな値である。したがって、投光部と受光部とが距離Lを有していても、再帰反射部材4で再帰反射された再帰反射光を受光部で十分に検出することが可能である。
また、本実施形態では、ラインCCD104におけるライン状に配置された検出素子(画素)110の左側の部分を第1の受光部の集光領域とし、右側の部分を第2の受光部の集光領域とすることで、部品の共通化を図っている。しかしながら、必ずしもこのようにする必要はなく、右側と左側とで個別にラインCCDを設けてもよい。
<センサユニット1の検出信号の波形>
図4は、指示具により座標入力有効領域3の一部が指示された場合のセンサユニット1における光の投光範囲及び受光範囲の一例を示す図である。
図4に示すように、第1の投光部(一方の投光部)で投光される光線(又は第1の受光部Aの有効視野)の光学的対称軸の方向が光線151である。また、第1の投光部における光の投光範囲は光線152、153により定義される。一方、第2の投光部(他方の投光部)で投光される光線(又は第2の受光部Bの有効視野)の光学的対称軸の方向が光線161であり、第2の投光部における光の投光範囲は光線162、163により定義される。
実際に、第1の受光部A又は第2の受光部Bで検出される光は、第1の投光部又は第2の投光部で投光された光が、再帰反射部材4により再帰反射されることによって検出される。よって、実際に検出される光の検出範囲は、再帰反射部材4の配置によって決まり、第1及び第2の受光部A、Bの有効視野より小さな範囲となるのが通例である。
このような配置関係において、半径R1を有する円柱状の指示具191により座標入力動作を行った場合、光線181から光線182にいたる範囲で、第1の投光部で投光された光が遮られるので、第1の受光部Aは、この範囲の光を受光(検出)できなくなる。一方、この状態において、第2の受光部Bは、光線183から光線184間の光を受光(検出)できなくなる。
図5は、センサユニット1が備える受光部で得られる検出信号の波形の一例を示す図である。具体的に図5(a)は、第1の受光部Aで得られる検出信号の波形を示し、図5(b)は、第2の受光部Bで得られる検出信号の波形を示す。図5の横軸は、ラインCCD104の画素番号(角度情報)であり、縦軸は、第1及び第2の受光部A、Bで検出される光量(検出光量)を示す。
図5において、例えば、検出光量がαであると、第1及び第2の受光部A、Bは、光を全く得ることができない。一方、検出光量がβに近づくに従って、第1及び第2の受光部A、Bが受光した光の強度レベルが増大する。前述したように、第1及び第2の受光部A、Bの有効視野内に指示具191が配置されると、図5(a)に示すように、第1の受光部Aは、光線181の方向に対応する画素番号Cから光線182の方向に対応する画素番号Dまで、光を検出することができない。また、図5(b)に示すように、第2の受光部Bは、光線183の方向に対応する画素番号Eから光線184の方向に対応する画素番号Fまで、光を検出できない。
尚、投光部により投光された光は、その投光方向に応じて強度が異なる。また、投光部により投光された光の投光方向に応じて再帰反射部材4に入射する入射角が異なる(一般に、光の入射角が大きくなると、再帰反射部材4における再帰反射効率が低下する)。また、投光部により投光された光の投光方向に依存して、投光部から再帰反射部材4までの距離が異なる。これらの理由により、第1及び第2の受光部A、Bで受光される光の強度は、受光方向(角度)に依存する。よって、第1及び第2の受光部A、Bで受光される光の光量は、例えば検出光量βで一定とはならないのが通例である。
図6は、図4に示した指示具191と、指示具191と同一形状の指示具192とにより同時に座標入力有効領域3の一部が指示された場合のセンサユニット1における光の投光範囲及び受光範囲の一例を示す図である。尚、ここでは説明を簡略にするために、指示具191は所定の位置を指示し続けているものとし、指示具192は、地点(イ)、地点(ロ)、・・・、地点(ト)の順に移動していくものとする。
図7は、指示具192が各地点にあるときに第1及び第2の受光部A、Bで得られる検出信号の波形を示す図である。尚、図7において、第1の受光部Aの検出信号については、図4に示した光線181の方向から光線182の方向に対応する部分の近傍を拡大して模式的に示している。また、第2の受光部Bの検出信号については、光線183の方向から光線184の方向に対応する部分の近傍を拡大して模式的に示している。また、図7に示す太線の部分は、指示具191による遮光範囲を示し、細線の部分は、指示具192による遮光範囲を示す。図6に示したように、指示具191の方が指示具192よりもセンサユニット1Lに近い位置にある。したがって、ラインCCD104の検出素子(画素)110上では、指示具191による遮光範囲が指示具192による遮光範囲よりも大きくなる。
図6の説明に戻り、指示具192が地点(イ)にある状態では、光線181から光線182の範囲と、光線183から光線184の範囲とは全く関係の無い位置に指示具192が存在している。よって、指示具192が地点(イ)にある状態では、図7に示すように、第1の受光部A及び第2の受光部B共に2つの遮光範囲を取得することになる。
指示具192が地点(ロ)にある状態では、光線181は遮られていないが、光線183は遮られる。よって、指示具192が地点(ロ)にある状態では、第2の受光部Bにおける『指示具191による遮光範囲』と『指示具192による遮光範囲』とが重複する。したがって、第2の受光部Bでは、1つの遮光範囲が検出されるのみとなる。この1つの遮光範囲のうち、左側の遮光範囲は指示具192によるものであり、右側の遮光範囲は指示具191によるものである。
指示具192が地点(ハ)にある状態では、指示具192は、光線183と光線184との間に位置する。よって、指示具192が地点(ハ)にある状態における第2の受光部Bの検出信号は、指示具191に基づく信号のみである。したがって、第2の受光部Bは、指示具192に基づく信号を全く受光することができない。また、この状態では、光線181を遮る位置に指示具192がある。よって、指示具192が地点(ハ)にある状態では、第1の受光部Aは、1つの遮光範囲を検出するのみである。ここで、この1つの遮光範囲のうち、左側の遮光範囲は指示具192によるものであり、右側の遮光範囲は指示具191によるものである。
指示具192が、光線181と光線184との間の地点(ニ)にある状態では、第1及び第2の受光部A、Bの検出信号は、指示具191に基づく信号のみであり、指示具192の影響を全く受けない。つまり、第1及び第2の受光部A、Bは、指示具192の情報を何ら検出できない状態となる。
更に、指示具192が、地点(ホ)にある状態では、指示具192は、光線184を遮っている。よって、第2の受光部Bでは、1つの遮光範囲が検出されるのみである。そして、その遮光範囲のうち、左側の遮光範囲は指示具191によるものであり、右側の遮光範囲は指示具192によるものである。一方、この状態では、光線181と光線182との間に指示具192があるので、第1の受光部では、指示具192に影響されること無く、指示具191のみの遮光範囲が検出される。
そして、指示具192が、地点(ヘ)にある状態では、第2の受光部Bでは、遮光範囲が2つ検出される。一方、第1の受光部Aでは、遮光範囲が1つではあるものの、その遮光範囲のうち、左側の遮光範囲は指示具191によるものであり、右側の遮光範囲は指示具192によるものとなる。更に、指示具192が、地点(ト)にある状態では、第1及び第2の受光部A、Bで、2つの遮光範囲を検出することができるようになる。
以上のように、図6に示した例では、指示具192が地点(ニ)の近傍にある場合にのみ、指示具192に基づく遮光範囲が、指示具191に基づく遮光範囲に完全に含まれてしまう。このため、指示具192に基づく遮光範囲に関係なく、指示具191に基づく遮光範囲が、第1及び第2の受光部A、Bの検出信号として表れる。よって、指示具192が地点(ニ)の近傍にある場合にのみ、第1及び第2の受光部A、Bは、指示具192の位置情報を全く得ることができない。
図8は、第1及び第2の受光部A、Bが、指示具192の位置情報を全く得られない状態のセンサユニット1おける光の投光範囲及び受光範囲の一例を示す図である。
図8において、指示具192が地点(ニ)にあっても、破線で示される地点(チ)、(リ)にあっても、センサユニット1Lが備える第1及び受光部A、Bの検出信号は、何ら変化がない。よって、制御・演算ユニット2は、指示具192の位置の座標を算出することができない。
一方、その他の地点(ロ)、(ハ)、(ホ)、(ヘ)では、例え1つしか遮光範囲を検出できなくても、その遮光範囲の両端の一方は指示具191により形成され、他方は指示具192により形成されることになる。したがって、第1及び第2の受光部A、Bの少なくとも何れか一方は、指示具191の位置と指示具192の位置との双方の情報を得ることが可能となる。すなわち、指示具192が、地点(ニ)にあるような状態にならなければ、指示具191、指示具192の位置情報を、第1及び第2の受光部A、Bの少なくとも何れか一方が取得できることになる。
本実施形態では、第1及び第2の受光部A、Bが、指示具192の位置情報を全く得られなくなるようにすることを防止するために図9に示すようにしている。すなわち、本実施形態では、基準点間距離dを、指示具191、192の直径(=円柱の半径R1×2)等、想定される遮光物による遮光長さに比べて、十分に大きくすることによって、図8に示したような状態が発生しないようにしている。
図9に示すように、指示具191の直径に比べ、十分に大きな基準点間距離dをとっているので、光線181と光線184との間の領域は、センサユニット1Lからの距離が遠くなるにつれて小さくなる。言い換えれば、よりセンサユニット1に近い位置にある指示具191により規定される一方の受光部Aの光線181と、他方の受光部Bの光線184とが必ず交差するようにしてある。これに対して、図6に示した配置では、光線181と光線184との間の領域は、センサユニット1Lからの距離が遠くなるにつれて、大きくなり、光線181と光線184とが交差しない。
図9に示す例では、光線181と光線182との間の範囲内に指示具192が位置しているので、第1の受光部Aでは、指示具192の位置情報を全く得ることはできない。しかしながら、光線184を遮る位置に指示具192が位置しているので、第2の受光部Bでは、指示具192の位置情報を得ることが可能となる。
以上のように、指示具191の直径に比べて十分な長さの基準点間距離dを設定することにより、第1及び第2の受光部A、Bの検出信号の双方を用いれば、指示具191、192の両者の位置情報を必ず得ることが可能となる。
<制御・演算ユニット2>
制御・演算ユニット2とセンサユニット1L、1Rとの間では、ラインCCD104の制御信号(CCD制御信号)と、ラインCCD104用のクロック信号と、ラインCCD104の出力信号と、赤外LED101の駆動信号(LED駆動信号)が送受信される。
図10は、制御・演算ユニット2の構成の一例を示すブロック図である。CCD制御信号は、ワンチップマイコン等を備える演算制御回路44から出力されている。演算制御回路44は、このCCD制御信号を用いて、ラインCCD104のシャッタタイミングや、データの出力制御等を行う。ラインCCD104用のクロック信号は、クロック発生回路43からセンサユニット1に送信される。
センサユニット1の受光部に設けられているラインCCD104からの検出信号は、制御・演算ユニット2のADコンバータ45に入力される。ADコンバータ45に入力された検出信号は、演算制御回路44からの制御によって、デジタル値に変換される。変換されたデジタル値はメモリに記憶され、指示具191、192等の角度の計算に用いられる。演算制御回路44は、計算した指示具191、192等の角度に基づいて、指示具191、192の座標値を求め、求めた座標値を外部のPC46に、インタフェース7等を介して出力される。
また、指示具191、192として専用入力ペン20を用いる場合、通信部5は、専用入力ペン20から送信される信号を受信する(図25を参照)。受光IC41は、復調器を備え、専用ペンから送信された信号を復調してデジタル信号とする。そのデジタル信号は、ペンスイッチ信号検出回路としてのサブCPU42に入力されて解析される。解析された結果は、演算制御回路44に送信される。
<光量分布の検出>
図11は、演算制御回路44から送信される信号の第1の例を示すタイミングチャートである。
SH信号71は、ラインCCD104の制御信号である。SH信号71により規定される間隔で、ラインCCD104のシャッタ開放時間が決定される。センサユニット1へのゲート信号72は、ラインCCD104の内部にある光電変換部の電荷を読み出して、制御・演算ユニット2へ転送させるための信号である。LED駆動信号73は、赤外LED101の駆動信号である。LED駆動信号73は、赤外LED101を点灯させるために、SH信号71の周期に同期して、赤外LED101に供給される。
図12は、センサユニット1で検出される光量(検出光量)と画素番号との関係の一例を示す図である。
座標入力有効領域3に指示具191、192等の入力がない場合には、センサユニット1からの出力として、図12(a)に示すような光量分布が得られる。
図12において、検出光量がβのレベルが最大光量であり、αのレベルが最低光量となる。つまり、再帰反射光のない状態では、検出光量のレベルがα付近になり、再帰反射光量が増えるほど、検出光量のレベルはβに近づく。この様にしてラインCCD104から得られる光量分布のデータは、ADコンバータ45で逐次A/D変換され、演算制御回路44にデジタルデータとして取り込まれる。
図12(b)は、指示具191、192等で指示入力がなされた場合、すなわち、再帰反射光が遮られた場合の光量分布(検出信号)の一例を示す図である。
図12(b)において、画素番号C1、C2の部分が、複数の指や指示具191、192等により再帰反射光が遮られた部分である。このため、この部分でのみ、検出光量が低下している。
演算制御回路44は、図12(a)の光量分布81のように、投光部からの投光(照明)が無い状態での光量分布と、光量分布82のように、指示入力が無い(遮蔽物がない)状態で投光部から光を投光した状態での光量分布とをメモリに予め記憶しておく。以降の説明では、これらの光量分布81、82が得られた状態を、必要に応じて初期状態と称する。
演算制御回路44は、実測定期間における光量分布と、初期状態における光量分布との差を求めることにより、図12(b)に示すような変化があるか否かを検出する。そして、演算制御回路44は、その変化があった部分を、指示入力された部分、すなわち遮光領域とし、その遮光領域の端部を決定する演算を行う。
前述したように、本実施形態では、1つのラインCCD104に対して、複数(2つ)の受光部が設けられ、その各々に対して投光部が設けられている。従って、各々の受光部(投光部)を別々のタイミングで駆動する場合には、各々の受光部(投光部)を以下のようなタイミングで駆動すればよい。
図13は、演算制御回路44から送信される信号の第2の例と、センサユニット1から送信される信号の一例とを示すタイミングチャートである。
まず、センサユニット1Lが備えるラインCCD104のうち、読み出し先頭側の受光範囲で受光された光量分布を検出するために、演算制御回路44は、読み出し先頭側の受光範囲に対応する赤外LED101を駆動させる。この赤外LED101は、SH信号61に応じて出力されるLED駆動信号63に従ったタイミングで駆動する。そして、ゲート信号62によって、ラインCCD104の検出信号65が読み出される。ここでは、ラインCCD104の読み出し先頭側の受光範囲における画素データが、ラインCCD104の検出信号65aとして読み出され、制御・演算ユニット2に出力される。
次に、同じラインCCD104に対して、SH信号61が与えられる。そして、センサユニット1Lが備えるラインCCD104のうち、読み出し後尾側の受光範囲で受光された光量分布を検出するために、演算制御回路44は、読み出し後尾側の受光範囲に対応する赤外LED101を駆動させる。この赤外LED101は、SH信号61に応じて出力されるLED駆動信号64に従ったタイミングで駆動する。そして、ゲート信号62によって、ラインCCD104の検出信号65が読み出される。ここでは、先に読み出された読み出し先頭側の受光範囲における検出信号(破線部)と重ならないように、ラインCCD104の読み出し後尾側の受光範囲における画素データが、ラインCCD104の検出信号65bとして読み出される。そして、読み出されたラインCCD104の検出信号65bが制御・演算ユニット2に出力される。
そして、センサユニット1Lを駆動するタイミングとは別のタイミングでもう一方のセンサユニット1Rを、センサユニット1Lと同様に駆動することで、ラインCCD104の検出信号が各々のセンサユニット1L、1Rから読み出される。本実施形態では、受光部から、最大4つの検出信号(光量分布)を得ることになる。
本実施形態では、左右のセンサユニット1L、1Rに合わせて、4つの受光領域を、別々のタイミングで駆動しているが、必ずしもこのようにする必要はない。センサユニット1L、1Rからの発光が互いに影響しないのであれば、センサユニット1L、1Rを同時に駆動してもよい。また、任意の組み合わせの複数の受光領域を同時に駆動してもよい。
<角度の計算>
遮光領域の角度の計算にあたっては、まず、その遮光領域の範囲(遮光範囲)を検出する必要がある。尚、以下の説明では、1つの検出データについて説明するが、その他の検出データについても同様の処理を行っている。
前述したように、本実施形態では、初期状態時(例えば電源投入時)に得られる光量分布81、82をメモリに記憶しておき、これらの光量分布81、82と、実測定期間における光量分布とを比較して、遮光範囲(指示入力された範囲)を検出する。
例えば、図12(b)に示すようにして画素番号C1、C2の部分で指示入力があると、演算制御回路44は、光量分布82、81の差を用いて遮光の無いときと有るときとの変化率を計算する。このように変化率を計算することによって、部分的な光量分布の不均一等の影響を除去できる。演算制御回路44は、計算した変化率と閾値とを比較する等して、光量が変化している画素番号を特定する。演算制御回路44は、特定した画素番号と、計算した変化率等を用いて、メモリに記憶しておいた初期状態における光量分布82を補正し、補正した光量分布82と、指示入力があったときの光量分布との差を計算する。尚、演算制御回路44は、検出された光量分布のレベルの情報等を用いることで、実際の画素番号より細かい画素情報を得ることもできる。
演算制御回路44は、計算した光量分布の差に基づいて、光量が変化している画素番号を特定し、特定した画素番号から遮光領域の端部を決定できる。演算制御回路44は、例えば、その遮光領域の中央値(ラインCCD104の画素番号)を指示具191、192の角度情報として導出する。
画素番号から、実際の座標値を計算するためには、画素番号を角度情報に変換する必要がある。画素番号から角度情報への変換は、例えば多項式を用いることにより実現できる。ラインCCD104の画素番号をe、次数をn、各次数の係数をTnとすれば、角度θは、以下の式(1)で求められる。
θ=Tn・en+Tn-1・e(n-1)+Tn-2・e(n-2)+・・・+T0 ・・・(1)
図14は、f−θ特性(ラインCCD104の画素番号と角度θとの関係)の一例を示す図である。図14に示すf−θ特性は、例えば工場等で座標入力装置の出荷前に測定される。各次数nの係数Tnは、実測値や設計値等から決定される。ここで、実測値とは、例えば、図14に示すf−θ特性のデータを用いて多項式近似式を導出することにより得られるものである。また、次数nについては、座標入力装置に要求される座標の算出精度等を鑑みて決定すればよい。
<座標の計算方法>
演算制御回路44は、以上のようにして得られた角度θのデータを用いて、指示入力された位置(遮光領域)の座標を算出する。尚、指示入力が一点である場合には、センサユニット1L、1Rの夫々のデータから算出された遮光領域の中央の角度θを用いることでも、指示入力された位置(遮光領域)の座標を計算することが可能である。
図15は、指示入力された一箇所の座標と、センサユニット1L、1R中の一方の受光部との位置関係の一例を示す図である。図15において、座標入力有効領域3の上辺左右にセンサユニット1L、1Rが取り付けられている。
図15において、センサユニット1L、1Rの受光部間のX軸方向の距離をDLRとする。センサユニット1L、1Rは、ラインCCD104の受光面の法線方向がX軸と45°の角度を成すように配置される。すなわち、センサユニット1L、1Rは、ラインCCD104の受光面の法線が、互いに直交するように配置される。センサユニット1のラインCCD104の法線方向を0°(基準方向)と定義する。そして、座標入力有効領域3の中央の点を画面の原点Oとする。
点P0は、センサユニット1L、1Rが備える2つのラインCCD104における受光面の法線の交点である。すなわち、点P0は、センサユニット1L、1Rの基準角度の方向に延びる直線の交点になる。ここで、センサユニット1L、1Rから原点OまでのY軸方向の距離をDYとする。基準角度からの角度θL、θRが、図15に示すようにして与えられたとき、その角度θL、θRの方向に延びる直線の交点Pの座標P(x,y)は、以下の式(2)及び式(3)で表される。
センサユニット1L、1Rが備える受光部は、実際には、座標入力有効領域3の水平方向(X軸方向)の同一ライン上には配置されていない。そのため、演算制御回路44は、点Pの座標の計算時に、異なる位置の受光部のデータを用いる場合には、その位置のずれ分の補正を行う。
図16は、センサユニット1L、1Rにおける位置のずれの補正を説明するための図である。
図16において、各センサユニット1L、1Rの受光部の瞳位置をL1、L2、R1、R2とする。また、位置L1、L2のX軸方向の差、及びY軸方向の差を、夫々Δxs、Δysとする。
センサユニット1Lが位置L2にある場合に、演算制御回路44で計算された角度θがθL2であったとする。そして、Y軸方向の位置が位置R1と同一である位置VL2に、センサユニット1Lがあると仮想すると、位置VL2、L2のX軸方向の距離Δvxsは、以下の式(4)で表される。
Δvxs=Δys/tanθL2 ・・・(4)
よって、式(2)及び式(3)において、センサユニット1L、1Rの受光部間のX軸方向の距離DLRを、位置L1、L2のX軸方向の距離Δxsと、式(4)で算出された位置VL2、L2のX軸方向の距離Δvxsとを用いて補正することができる。これにより、点Pの仮の座標値を計算することが可能となる。
この仮の座標値におけるX座標は、位置VL2と位置R1との中間の点を原点として計算される。よって、そのX座標に対して、(Δxs+Δvxs)/2の値を用いて更に補正すれば、異なる位置にあるセンサユニット1L、1Rのデータを用いて、点Pの座標を計算することが可能になる。
指示入力された箇所が一箇所あるような場合には、遮光領域の幅の中央の角度を用いて、指示入力された位置の座標を計算することが可能である。しかしながら、図6に示したように、複数の指示入力が同時にあり、例えば、図6において指示具192が、地点(ハ)、(ニ)、(ホ)にある場合、センサユニット1Lの2つの受光部で検出される光量分布は、図7に示したように重なってしまう。このような場合には、遮光領域の幅の中央の角度を用いて、指示入力された位置の座標を計算することはできない。
図6に示した地点(ホ)に指示具192がある状態では、センサユニット1Lの第1の受光部Aから見ると、指示具192は指示具191の影に完全に隠れてしまう。一方、第2の受光部Bから見ると、指示具192、191による遮光範囲が連続してしまっている。このときの検出信号(光量分布)は、図7の地点(ホ)に示すものとなる。すなわち、第1の受光部Aで得られた検出信号(光量分布)は、指示具191における遮光領域のみを示す。一方、第2の受光部で得られた検出信号(光量分布)は、指示具191、192における遮光領域がつながった状態となっている。このような場合には、遮光領域の中央の値を用いて、遮光領域の位置を計算する方法では、その遮光領域の位置(座標)を正確に計算することができない。
そこで、演算制御回路44は、夫々のセンサユニット1L、1Rで検出された遮光領域の端部の角度情報を用いて、指示入力された位置の座標の計算を行う。
図17は、略円形の形状を有する指示具171、172と、センサユニット1L、1Rとの位置関係の一例を示す図である。
図17に示す例では、位置L1にあるセンサユニット1Lの受光部から見た場合に、指示具171、172が一部重なった状態にあるとする。つまり、位置L1にあるセンサユニット1Lの受光部では、角度θL1、θL2で定められる幅の遮光領域が観測されているものとする。
一方、位置R1にあるセンサユニット1Rの受光部で観測される角度は、夫々の指示具171、172の遮光領域で形成される遮光範囲の端に対応する角度である。図17に示す例では、位置R1にあるセンサユニット1Rの受光部で観測される角度は、角度θR11、θR12、θR21、θR22の4つの角度である。
図18は、図17に示す位置関係にある指示具における位置の計算方法を説明するための図である。
図18において、点Pに指示具172が指示入力されたとする。そして、角度θL1の方向に延びる直線と、角度θR1、θR2の方向に延びる直線との交点を夫々点P1、P2とする。指示入力された指示具172の位置の座標Pは、夫々の交点P1、P2における角度2θ1、2θ2の二等分線の交点として計算することが可能となる。
点P1、P2の座標の値は、式(2)及び式(3)によって計算することが可能であるので、この値と角度情報とを用いることにより、指示入力された位置Pの座標を算出することができる。
このように、左右のセンサユニット1L、1Rで得られた『指示入力された領域の端部の情報』を用いることで、遮光領域の中央値を用いることなく、指示入力された位置Pの座標を計算することが可能となる。
図19は、指示入力された位置Pの計算方法の一例を説明するための図である。
図19に示すように、点P1(x1、y1)と点P2(x2、y2)との間の距離をLとし、夫々の点P1、P2における角度の二等分線の角度をθ1、θ2とする。そうすると、以下の式(5)〜式(7)が成り立つ。
L=((x2−x2)2+(y2−y1)2)0.5 ・・・(5)
θ1=(π−(θL+θR1))/2 ・・・(6)
θ2=(θL+θR2)/2 ・・・(7)
ここで、以下の式(8)が成り立つので、式(9)及び式(10)が得られる。
L1・tanθ1=L2・tanθ2 ・・・(8)
L2=L・tanθ1/(tanθ1+tanθ2) (ただしtanθ1+tanθ2≠0) ・・・(9)
La=L2/cosθ2 (ただしcosθ2≠0) ・・・(10)
これから、Δx、Δyが、以下の式(11)及び式(12)より求められる。
Δx=La・cos(θL−θ2) ・・・(11)
Δy=La・sin(θL−θ2) ・・・(12)
よって、指示入力された位置Pの座標P(x、y)は、以下の式(13)及び式(14)より求められる。
x=x2−Δx ・・・(13)
y=y2−Δy ・・・(14)
図17に示したように、センサユニット1から見て後ろ側にある指示具172が、完全に影に隠れてしまう、所謂皆既食の状態でないような場合、指示入力された位置の座標は、例えば、位置pa、pb又は位置pa´、pb´のどちらかの組み合わせになる。
そこで、演算制御回路44は、角度θL1、θL2、θR11、θR12、θR21、θR22の組み合わせについて、前述したように二等分線の交点に相当する計算を行い、位置pa、pb、pa´、pb´を計算し、どの組み合わせが正しいか判定を行う。この判定は、2つの受光部のデータを用いて行うことが出来る。
図20は、指示入力された位置Pのより詳細な計算方法の一例を説明するための図である。
演算制御回路44は、図20に示すように、もう一方の受光部により得られた角度θL23、θL24と、角度θR11、θR12とを用いて行った計算の結果と、先の計算の結果とを比較して、位置Pa、Pa´の何れと重なるのかを判定する。この判定は、受光部から位置Pa、Pa´までの距離等に基づいて行うことができる。そして、このようにして位置Pa、Pa´の何れが採用されれば、その位置Pa、Pa´に対応する位置Pb、Pb´が自動的に採用されることになる。
尚、より確実に判定するために、角度θR21、θR22を用いて、位置Pb、Pb´についての計算を行っても良い。
以上のように、センサユニット1から見て後ろ側にある指示具172が、部分的に隠れてしまう『部分食』の状態であれば、遮光領域の端部の角度2θ1、2θ2の二等分線の交点に関する情報を得ることで、複数の指示入力の位置を特定することが可能になる。従って、本実施形態では、複数の指示具が、座標入力有効領域3のどの領域にあっても、センサユニット1に設けられた2つの受光部の少なくとも1つでは、『部分食』の状態、又は2つの遮光領域が分離した状態で、指示具を検出できるようになる。
指示具により指示入力された位置の実際の計算を行う場合には、まず、センサユニット1L、1Rは、座標入力有効領域3上に光を投光し(照明を行い)、光量分布のデータを取得する。そして、演算制御回路44は、得られた光量分布のデータから、遮光領域の数を、閾値等を用いて算出する。算出した遮光領域の数により、指示入力が無い場合と、指示入力された箇所が1箇所である場合と、指示入力された箇所が2箇所である場合との判定が可能になるとともに、演算に用いるデータを選択することができる。
さて、各センサユニット1L、1Rにより検出される遮光領域が1つしかない『単一点の入力』の場合には、前述したように遮光領域の端部の情報を用いて、指示入力された位置の座標の計算を行うことができる。また、遮光領域の中央値を計算して、指示入力された位置の座標の計算を行っても構わない。
遮光領域が複数の場合には、それら複数の遮光領域が各々独立して光量分布に表れる場合と、センサユニット1から見て後ろ側にある遮光領域が部分的に隠れてしまう『部分食』の状態にあり、それら複数の遮光領域が1つの光量分布として表れる場合とがある。
このように遮光領域が複数の場合に、指示入力された位置の座標をどのようにして計算するのかを、夫々の遮光領域の数に基づいて決定する。
具体的に説明すると、例えば、演算制御回路44は、まず、複数(例えば2箇所)の遮光領域が検出されている受光部を抽出し、抽出した受光部で得られた光量分布のデータを、第1の座標算出データとする。このとき、複数の受光部で複数の遮光領域が検出されたような場合には、予め設定された優先順位等に従って、複数の受光部のうちの何れかの光量分布のデータを選択すればよい。
次に、演算制御回路44は、第1の座標算出データを検出した受光部を備えるセンサユニット1と反対側のセンサユニット1の受光部の中に、複数(例えば2つ)の遮光領域を検出している受光部があるか否かを判定する。この判定の結果、複数の遮光領域を検出している受光部がある場合には、演算制御回路44は、その受光部で得られた光量分布のデータを、第2の座標算出データとする。一方、複数の遮光領域を検出している受光部がない場合には、演算制御回路44は、予め設定された優先度に従って、遮光領域が単数の光量分布のデータを第2の座標算出データとして選択する。
次に、演算制御回路44は、第2の座標算出データを検出した受光部を備えるセンサユニット1と同じセンサユニット1におけるもう1つの受光部で検出された光量分布のデータを、虚実判定データとして選択する。複数の指示入力がある場合には、真の座標(実座標)の他に、光量分布のデータの組み合わせによって生じる虚の座標が算出される。そこで、本実施形態では、真の座標がどれであるかのを判定するために、この虚実判定データを用いるようにする。
<座標の連続性の判定>
前述したように、複数(例えば2つ)の受光部を有するセンサユニット1を用い、遮光領域の端部の情報を用いて、指示入力された位置Pの座標の計算と、計算した座標の虚実の判定とを行うことで、指示入力された複数の位置の座標値を決定することができる。
指示入力された複数の位置の座標値をそのまま出力しただけでは、その座標値を受け取るPC46等のホストコンピュータは、それら複数の座標値を区別することができない。このため、ホストコンピュータ側で、これら複数の座標値を繋いでしまうようなことになりかねない。
そこで、演算制御回路44は、得られた複数の位置における座標値に、座標の連続性を表す識別子(ID番号)を付加する。例えば、前回のサンプリング時の複数の座標値と、今回のサンプリング時の座標値との差分を、サンプリング毎に計算する。そして、前回のサンプリング時の複数の座標値のうち、今回のサンプリング時の座標値に近い方の座標値に、今回のサンプリング時の座標値を当てはめることで、複数の位置に指示入力された座標値の連続性を確保することが可能である。尚、複数の遮光領域を最初に検出したときには、例えば、検出した順にID番号を付加する。
図21は、座標の連続性を表す識別子(ID番号)を付加する方法の一例を説明するための図である。
図21に示すように、2つの位置P1、P2の座標値として、夫々(X1n,Y1n)、(x2n,Y2n)が得られたとする。そして、前回のサンプリング時の座標値が、(X1n−1,Y1n−1)、(X2n−1,Y2n−1)であるとする。この場合、位置P1、P2の座標値と、前回のサンプリング時の座標値との差分を計算する。そして、前回のサンプリング時の2つの座標値のうち、位置P1、P2の座標値に近い方の座標値に付加されているID番号を、位置P1、P2の座標値に付加する。図21に示す例では、位置P1に対してID番号ID0を付加し、位置P2に対してID番号ID1を付加する。このようにして、夫々の座標値に対してID番号を割り振って、その座標値を出力することで座標の連続性を確保する。
PC46等のホストコンピュータは、このID番号を参照することにより、座標の連続性を判断し、連続する座標を相互に線で連結する等の描画処理を行う。
<制御フローチャートの説明>
図22は、光量分布のデータを取得してから、指示入力された位置の座標を計算するまでの座標入力装置における動作の一例を説明するフローチャートである。
電源が投入されると、ステップS11において、演算制御回路44等のポート設定や、タイマ設定等、様々な初期化が行われる。その後、演算制御回路44は、不揮発メモリ等から基準データや補正用の定数等を読み出してRAMに格納する。
また、演算制御回路44は、投光部からの投光(照明)がない状態での光量分布81と、指示入力が無い(遮蔽物がない)状態で投光部から光を投光した状態での光量分布82とを、センサユニット1毎に取り込んでRAM等のメモリに格納する(図12を参照)。
以上の処理が、電源投入時の初期設定動作になり、この初期設定動作が終了した後に、通常の光量分布の取り込み動作を実行する。
まず、ステップS12において、演算制御回路44は、座標入力が連続して行われているか否かを示すフラグ等を初期化する。このフラグは、例えばRAMに設定されている。
次に、ステップS13において、演算制御回路44は、各センサユニット1の赤外LED101を点灯させて光量分布のデータを取得する。
次に、ステップS14において、演算制御回路44は、遮光領域を検出する。遮光領域の検出は、ステップS13で取得された光量分布のデータと、初期設定動作時に得られた光量分布のデータとの差分や比が、例えば閾値を越えるか否かを判定すること等によって行われる。
次に、ステップS15において、演算制御回路44は、遮光領域があるか否かを判定する。この判定の結果、遮光領域がない場合には、ステップS12に戻る。一方、遮光領域がある場合には、ステップS16に進む。ステップS16に進むと、演算制御回路44は、遮光領域の数を受光部毎に検出する。次に、ステップS107において、演算制御回路44は、遮光領域の数が複数か否かを判定する。
この判定の結果、遮光領域の数が複数でなく、単一の遮光領域が検出された場合には、ステップS18に進む。ステップS18に進むと、演算制御回路44は、単一入力として、指示入力された位置の座標を計算する。この計算は、遮光領域の端部の情報を用いた計算でも、遮光領域の中央の情報を用いた計算でもよい。そして、後述するステップS25に進む。
一方、遮光領域の数が複数である場合には、ステップS19に進む。ステップS19に進むと、演算制御回路44は、遮光領域の数に従って、前述した第1の座標算出データ、第2の座標算出データ、及び、虚実判定データを決定する。
次に、ステップS20において、演算制御回路44は、複数の遮光領域の夫々について、遮光領域の端部の情報を算出し、算出した情報から、候補となる遮光領域の座標値(実座標値と虚の座標値)との計算を行う。
次に、ステップS21において、演算制御回路44は、ステップS20で算出した座標値の入れ換えが必要か否かを判定する。第2の座標算出データと虚実判定データとが単一のピークを有するデータであった場合、どちらかのデータが『皆既食』状態である可能性がある。よって、演算制御回路44は、各座標値間の距離から、『皆既食』状態にあるデータを判定し、判定した結果に従って、ステップS20で算出した座標値の入れ換えが必要であるか否かを判定する。
この判定の結果、ステップS20で算出した座標値の入れ換えが必要である場合には、ステップS22に進み、演算制御回路44は、ステップS20で算出した座標値の入れ換えを行う。
複数の指示入力がなされ、遮光領域が複数ある場合、実際に入力された真の座標値(実座標値)と虚の座標値とが計算されることになる。そこで、ステップS23において、演算制御回路44は、ステップS20で算出した座標値に基づいて座標値の虚実判定を行う。真の座標値(実座標値)が判定されたら、ステップS24において、演算制御回路44は、その真の座標値(実座標値)に対応する残りの座標値の計算を行う。
次に、ステップS25において、演算制御回路44は、座標入力が連続して行われているか否かを示すフラグ等に基づいて、座標入力が連続して行われているか否かを判定する。この判定の結果、座標入力が連続して行われている場合には、ステップS26に進む。ステップS26に進むと、演算制御回路44は、それ以前に記憶されている座標値(前回のサンプリング時の座標値等)と、今回の座標値との差分等から、座標の連続性を判定する。そして、ステップS27に進む。
一方、座標入力が連続して行われていない場合には、ステップS26を省略して、ステップS27に進む。
ステップS27に進むと、演算制御回路44は、連続入力フラグをセットすると共に、次に計算される座標の連続性を判定するために、今回計算した座標値をRAM等に記憶する。
次に、ステップS28において、演算制御回路44は、座標の連続性を表す識別子(ID番号)等の付帯情報を、今回計算した座標値に付加する。連続していると判定された座標値には、前回と同じID番号が付加され、新規に計算された座標値に対しては、未使用のID番号が付加されることになる。また、スイッチ信号等が得られた場合には、その情報も付帯情報として付加される。
次に、ステップS29において、演算制御回路44は、付帯情報を付加した座標値を、PC46等の外部装置に出力する。そして、ステップS13に戻り、電源がオフされるまで処理を繰り返す。
<スイッチ信号の説明>
本実施形態の座標入力装置は、投光した光(光束)の遮光位置を算出する方式のものである。そして、投光された光(光束)は、図3(b)に示したように、座標入力有効領域3の近傍に形成され、投光部、受光部、及び再帰反射部材4の座標入力有効領域3からの高さや、それらの位置関係により決まる。有効な光束が太くなれば、遮光物が座標入力有効領域3から離れていても、光束が遮光物により遮られるので、遮光物の位置の検出が可能となる(所謂近接入力が可能となる)。しかしながら、遮光物である指や指示具が、座標入力有効領域3に接触しているか否かを正確に判定することが困難となる。その結果、次のような問題点が発生する。
図23に示すように、座標入力有効領域3内にスイッチ領域231〜233を複数設定するものとする。ユーザが、例えばスイッチ領域232のスイッチ(SW2)を動作させて、所望のアプリケーションを実行させようとした場合を考える。
ユーザは、座標入力有効領域3(表示面)に垂直な方向のみの移動を意識してスイッチ動作(図23のスイッチ領域232を触る行為)をするのではない。すなわち、ユーザは、『座標入力有効領域3(表示面)を触った点がスイッチ領域232にある』ということ以外に、手や指をどのように移動させるのかを意識しないのが普通である。例えば、図23の(1)〜(4)の順で(図23の太い矢印で示された軌跡で)ユーザの指234が移動する。
また、ユーザがスイッチ領域232に割り付けられた制御を実行させようとして、スイッチ領域232をタッチするために、座標入力有効領域3に略平行に設定された光束を遮り始め、(1)の位置まで指234を移動させたとする。座標入力装置は、光束を遮り始めた時点で、遮光領域の座標値を出力し始める。ところが、ユーザは、まだ座標入力有効領域3を触れていないので、スイッチ領域232のスイッチ(SW2)を動作させたという認識には至っていない。そして、ユーザは、(2)の位置(座標入力有効領域3に接触した位置)に指234を移動させてスイッチ領域232を押圧する事によって、スイッチ動作をさせたと認識する事になる。その後、ユーザは、スイッチ動作をさせたという目的を達成して、(3)の位置に指234を移動させることになる。ところが、(3)の位置に指234があっても、座標入力装置は、遮光領域の座標値を出力し続け、(4)の位置を経て光束を遮ることが無くなった時点で、座標値の出力を停止する。
このように、座標入力装置は、(2)の位置以外(例えば、(1)、(3)、(4)の位置)に指234があっても座標値を出力する。よって、ユーザが、スイッチ動作をさせたと認識するのは、指234が(2)の位置にあり、スイッチ領域232を押圧したときだけであるのに対し、座標入力装置は、それ以外のときにも座標値を出力している点が問題となる。
つまり、ユーザの一連の移動動作によって最後に出力された座標値が、スイッチ領域233の座標値である場合、ユーザは、スイッチ領域232を確実に押圧したのに関わらず、スイッチ領域233に割り付けられた実行命令がなされてしまうことが考えられる。これは、ユーザを混乱させるばかりでなく、実行命令の内容によっては、修復不可能な状態を招く恐れが生じることになる。
このようなことを防止するために、例えば、スイッチ領域231、232の間(隙間)を十分に大きくとったり、出力されている座標値を連続的に監視し、例えばその監視している期間中に出力された座標値の中心を確定値としたりすることが考えられる。しかしながら、前者では、スイッチの配置間隔が大きくなるため、操作性が悪くなったり、領域の大きさの制限により多数のスイッチを配置できなかったりする等の課題が新たに生じる。また、例えば、『間違った領域を指示してしまったので、(2)の位置の高さのまま指234を移動させて、所望の位置で指234を離す事によって、当初の目的を達成する』等の動作が行われることは良くある。このような場合、後者のように、監視している期間中に出力された座標値の中心を確定値とすると、その中心の位置は、必ずしもユーザが意図した正しい位置にはならない。よって、座標入力装置が誤動作する可能性がある。
ところで、ユーザによる指や指示具等のタップ動作が座標入力有効領域3に対して行われることがある。そこで、例えば、指234により座標入力有効領域3を連続的に2回タッチすることによって、パーソナルコンピュータのマウス動作で周知のダブルクリック動作を、座標入力装置で実現する場合を考える。通常の座標入力装置は、所定周期毎に座標値を出力(例えば、100[点/秒]のサンプリングレートで座標値を検出しているのであれば、5[msec]毎に座標値を出力)することができる。よって、座標入力装置は、座標値を出力するタイミングと、出力された座標値とを監視することで、ユーザがタップ動作をしたか否かを判定することができるはずである。つまり、ある時間に座標値aが出力された後、次のサンプリングで座標値の検出がなされず、次に出力される座標値bが、座標値aが出力された時間から所定時間以内で、且つ座標値a、bが略等しい場合に、ダブルクリック動作が行われたものと判定する。
図23において、ユーザがダブルクリック動作を実行しようとして、指234を、位置(1)→(2)→(3)→(2)→(3)→(4)の順に移動させる操作をしたとする。そうすると、ユーザは、指234を、位置(1)→(2)の順に移動させることにより、所望の位置を指示する。そして、位置(2)→(3)の順に指234を移動させることにより、座標入力有効領域3より指234を離し、位置(3)→(2)の順に指234を移動させることにより、先に指示した所望の位置と略等しい位置を指示する。その後、位置(2)→(3)→(4)の順に指234を移動させることにより、ダブルクリック動作を終了する。しかしながら、ダブルクリック動作を完了したものとユーザが認識しているにも関わらず、座標入力装置は、位置(1)→(2)→(3)→(2)→(3)→(4)の順で指234が移動されている間、継続的に座標値を出力していることになる。したがって、ユーザが意図したダブルクリック動作を、座標入力装置を認識することができない。
よって、座標入力装置は、ダブルクリック動作に応じて、連続的に出力されている座標値を停止しなければ、ユーザの意図を的確に認識することができないのである。このような状況において、ダブルクリック動作を確実に実現するために、ユーザは、『十分なストローク』で、座標入力有効領域3から指234を『離す』動作をしなければならない。しかも、ユーザは、その『十分なストローク』がどの程度かを即座に認知する事ができないので、オーバーアクションをせざるを得ない。よって、このような方法で、ダブルクリック動作を認識するのでは、操作性に優れた座標入力装置を実現することができない。
以上のように、座標入力有効領域3(表示画面)に表示されている例えばアイコンをユーザがタッチする動作(座標入力有効領域3を押圧したか否か)を、座標入力装置が正確に検知できないことにより、アプリケーション等を実行する際に弊害が生じる。以下に、前述したものとは別の具体的障害について説明を加える。
図24は、『あ』という文字の入力例を示す図である。ユーザが『あ』と言う文字を入力するために、図24(a)に示すようにして指示具を移動させた場合を想定する。
ユーザは、座標入力有効領域3をタッチして、図24(a)における実線部分に沿って指示具を移動させる。一方、図24(a)における破線部分については、ユーザは、座標入力有効領域3をタッチすることなく、指示具を移動させることになる。つまりユーザは、『座標入力有効領域3をタッチ』する事を認知して筆跡を残すことを想定し、図24(a)の実線部分の筆跡が座標入力有効領域3に記録される事を意図している。
前述したように、座標入力有効領域3をタッチしていないにも関わらず、座標入力装置が、指示具等による座標入力動作が行われていると誤検出している様な状態にあっては、座標入力有効領域3に表示される文字情報は、例えば図24(b)に示す様になる。つまり、『あ』と言う文字を入力したのにも関わらず、座標入力有効領域3をタッチする直前と、タッチした直後とにおいて、余分な軌跡が表示され、ユーザが意図した軌跡とは異なる表示が得られることになる。以下の説明では、この現象を尾引きと称する。この尾引きの発生により、ユーザの意図する情報が表示されず、『見にくい』、『小さい字は書けない』、『細かい図形情報は描けない』等の問題が発生する。
一方、仮に座標入力有効領域3をタッチしているにも関わらず、そのタッチしている情報を誤検出する様な状態にあっては、表示される文字情報は図24(c)に示す様になる。したがって、『あ』と言う文字を入力したのにも関わらず、座標入力有効領域3をタッチする直前と、タッチした直後とにおいて、本来表示されるべき軌跡の情報が欠落し、ユーザの意図する軌跡とは異なる軌跡で情報が表示されてしまう。
以上のような現象を回避すべく、本願発明者は、座標入力有効領域3を押圧していることを検知するために指示具に設けられるスイッチの動作ストロークが限りなくゼロに近く、且つそのときの動作荷重が限りなくゼロに近い事が、望ましいことを見出した。具体的に説明すると、指示具に設けられるスイッチの動作ストロークが、好ましくは0.1[mm]以下であり、且つそのときの動作荷重が、好ましくは30[g]以下程度である事が、検討の結果、望ましい形態であることを見出した。
<指示具の説明>
図25は、指示具として使用される専用入力ペン20の構成の一例を示す図である。
専用入力ペン20には、電池27と、電池27の電圧を昇圧するためのコンバータ26とが内蔵されている。また、専用入力ペン20は、ペン先スイッチ28の動作状態と、ペンサイドに設けられたペンサイドスイッチ24の動作状態とを検知し、その検知した結果を外部機器等に伝達するための信号を生成するペン制御回路25を備えている。更に、専用入力ペン20は、ペン制御回路25で生成された信号を光信号として放射するための発光部23を備えている。
ペン先スイッチ28は、スライド部材29、シリンダ部材30、及びON/OFFスイッチ31を備えている。ペン先スイッチ28は、ユーザがペン先21を座標入力有効領域3に押圧することによって、ペン先21及びスライド部材29を介してON/OFFスイッチ31を動作させることになる。
そして、ON/OFFスイッチ31がON状態にあるときに、ペン制御回路25は、後述するスイッチ信号を発生するように構成されている。尚、ペン先21は、専用入力ペン20をユーザが操作することにより、経時的に磨耗したり、変形したりする。そこで、本実施形態では、ペン先21は、スライド部材29に圧入される等して固定されるようにし、ユーザがペン先21の交換を適宜行えるように構成されている。
また、ペンサイドスイッチ24が動作状態(ON状態)となると、そのことを示すスイッチ信号が発光部23より放射されるようにしている。そして、そのスイッチ信号を受けた座標入力装置等の電子機器は、例えば特定のアプリケーションを起動したり、通常のマウスの右ボタンがクリックされたのと同様に座標入力有効領域3にメニューを表示できるようにしたりする。
尚、ペンサイドスイッチ24は、用途に応じて複数有ってもよい。また、ペンサイドスイッチ24は、無くても構わない。
また、本実施形態では、ペン先スイッチ28と、ペンサイドスイッチ24の動作状態を検知して、その検知した結果を発光部23により光信号(スイッチ信号)として発光している。そして、そのスイッチ信号を、座標入力装置が備える通信部5により検知して、座標入力装置が特定の処理を実行できるようにしている。尚、ペン先スイッチ28と、ペンサイドスイッチ24の動作状態を検知した結果を示すスイッチ信号を伝達する媒体は、光である必要は無く、例えば、電波や超音波であっても良い。
光信号として発光部23より放射されるスイッチ信号は、外乱等の影響を受けにくいように、所定の周波数fで変調されている。図26は、スイッチ信号の一例を概念的に示す図である。図26において、スイッチ信号40は、スタートビットStartと、ペンダウンスイッチ信号S0と、ペンサイドスイッチ信号S1と、反転信号/S0、/S1と、ストップビットStopとを有している。
スタートビットStartは、スイッチ信号40の始まりを示す信号である。ペンダウンスイッチ信号S0は、ペン先スイッチ28が動作したときに発生する信号である。ペンサイドスイッチ信号S1は、ペンサイドスイッチ24が動作したときに発生する信号である。反転信号/S0、/S1は、夫々ペンダウンスイッチ信号S0、ペンサイドスイッチ信号S1の反転信号であり、データの正当性を判定するための信号である。ストップビットStopは、スイッチ信号40の終わりを示す信号である。これらの信号は、夫々周波数fで変調されている。
図27は、専用入力ペン20と座標入力装置とが通信する様子の一例を概念的に示す図である。
図27において、スイッチ信号40は、専用入力ペン20と通信を行う通信部5に設けられている受光IC41によって復調され、ビット列としてサブCPU42に出力される(図1及び図10も参照)。サブCPU42は、スイッチ信号40に含まれる先頭のスタートビットStartが検出されると、一定周期でサンプリングを行う。そして、サブCPU42は、各ビットの値が『1』及び『0』の何れであるかを判定し、ペンダウンスイッチ信号S0、ペンサイドスイッチ信号S1、及びそれらの反転信号/S0、/S1の論理があっている否かを判定する。そして、論理が間違っていた場合、サブCPU42は、その論理が間違っているデータを破棄し、スイッチ信号40を再度検出する。この他、サブCPU42は、ストップビットまで検出できたか等の判断をも行う。
<情報機器の説明>
以上説明したように、本実施形態の座標入力装置は、光学式の座標入力装置であって、座標入力有効領域3(座標入力面)の近傍で、指示入力された位置の座標を検出することが可能な近接入力機能を有している。更に、本実施形態の座標入力装置は、ユーザの意図を忠実に再現するための専用入力ペン20を具備している。
この座標入力装置を表示装置と重ねて配置することで、例えば入力した一連の座標を筆跡として表示装置に表示させることができる。このようにすることによって、あたかも『紙と鉛筆』のような機能を有する入出力一体の情報機器(電子機器)を構成することができる。近年、表示装置の大型化に伴い、この種の情報機器も大型化し、既存のホワイトボードの代替として使用され始めている。この種の情報機器を、ホワイトボードの代替として使用した場合、情報機器には、軌跡を筆跡として表示するマーカー機能と、書き込まれた情報を消去するイレーサー機能と、マーカーの色を選択する色選択機能とが、必須の機能として要求される。
図28は、座標入力装置と表示装置とを重ねて配置して構成された情報機器をホワイトボードの代替として使用した場合の座標入力有効領域3(座標入力面)の構成の一例を示した図である。
この種の情報機器では、前述した機能が要求されるので、図28に示すように、座標入力有効領域3(座標入力面)は、筆跡の入力と表示とを行うワークエリア280と、そのワークエリア280の周囲に配置されたメニューエリア281とに分割される。座標入力装置は、座標入力有効領域3に指示入力された位置の座標値に基づいて、どのエリアが選択されたのか、又はどのアイコンが選択されたか等を判断する。そして、その判断の結果に基づいて、軌跡が表示されたり、機能の変更や制御が行われたりする。
図28に示す例では、ユーザは、指示具を操作して、メニューエリア281に表示されているメニューから、マーカーのアイコン282を選択した後、マーカー色を示すアイコン284〜288のうち、『赤』のマーカー色を示すアイコン285を選択する。そして、ユーザは、ワークエリア280に『あ』の文字289を赤色で入力している。
この入力した『あ』の文字289が間違いであれば、ユーザは、指示具を操作して、メニューエリア281に表示されている消しゴムアイコン283を選択した後、『あ』の文字289が表示されている領域で座標入力動作を行う。そうすると、座標入力動作の軌跡が筆跡として残るのでなく、表示されている『あ』の文字289が、座標入力動作の軌跡に応じて消去される。したがって、ユーザは、意図した動作をするために、ワークエリア280とメニューエリア281との双方で座標入力動作を行わなければならない。このため、大型の情報機器にあっては、ユーザは、意図した動作をするために、立ち位置を変更しなければならない。また、ユーザは、座標入力動作を行っている際に、必要なアイコンを座標入力有効領域3の中から探したり、必要なアイコンを視認したりするために、座標入力有効領域3全体が見渡せる位置まで座標入力有効領域3から離れる等することが要求される。
本実施形態では、この種の大型の情報機器における不具合を解消するために成されたものである。以下に、この種の大型の情報機器における不具合を解消するための手法の一例を、順を追って説明する。
前述したように、本実施形態の座標入力措置は、近接入力機能を有している。したがって、座標入力装置は、指等の遮光物が、座標入力有効領域3をタッチしているかを正確に判断することが出来ない。そこで、ペン先スイッチ28を有する専用入力ペン20を指示具として具備している。
ここで、専用入力ペン20を用いてユーザが座標入力動作を行うことにより、センサユニット1L、1Rから投光される光(光束)が遮られるように、専用入力ペン20が座標入力有効領域3の近傍に位置したとする。この場合、座標入力装置は、その位置を検出することはできるが、その位置が、専用入力ペン20により指示入力された位置なのか、指等のその他の遮光物により指示入力された位置なのかを判断することができない。しかしながら、ユーザが、この状態から専用入力ペン20を座標入力有効領域3に押圧することによって、ペン先スイッチ28が動作し、そのことを示すがスイッチ信号40が光信号として、制御・演算ユニット2(通信部5)へ伝達される。これにより、座標入力装置は、検出した位置が、専用入力ペン20により指示入力された位置であることを判断することができる。
つまり、専用入力ペン20を用いた場合でも、通常の座標入力装置では、座標入力有効領域3に近接した状態であると、例えば、その状態が、専用入力ペン20によるものなのか、その他の遮光物によるものなのかを区別することができない。
そこで、本実施形態では、この現象と指示位置の個数とを利用して、情報機器(座標入力装置)の操作性を改善させるようにしている。
<情報機器の動作説明>
図29は、座標入力装置と表示装置とを重ねて配置して構成された情報機器をホワイトボードの代替として使用した場合の座標入力有効領域3(座標入力面)への入力例を示した図である。
前述したように、この種の情報機器をホワイトボード機能として使用する場合、座標入力有効領域3は、指や指示具の軌跡を筆跡として表示するワークエリア280と、ワークエリア280の周辺部に配置されたメニューエリア281とに分割される。そして、座標入力装置は、座標入力有効領域3に指示入力された位置の座標値に基づいて、どのエリアが選択されたのか、又はどのアイコンが選択されたか等を判断し、判断した結果に基づいて、軌跡が表示されたり、機能の変更や制御が行われたりする。
図29(a)に示すように、ユーザが、『あいうえお』という赤文字90〜94の記入を完了したものとする。次に、図29(b)に示すように、ユーザは、位置291から位置292まで、専用入力ペン20による座標入力動作をしたものとする。この場合、ユーザは、図29(c)及び図29(d)に示す何れかの意図で、座標入力動作をしたことになる。すなわち、図29(c)に示す例では、ユーザは、拡大/縮小、文字色の変更、又は表示位置の移動を目的として、既に入力した『あいうえお』と言う赤文字90〜94を枠95で囲って選択することを意図していることになる。一方、図29(d)に示す例では、ユーザは、ただ単に『あいうえお』と言う赤文字90〜94の上に線を描画することを意図していることになる。図29(c)に示す例では、操作モードとして作用するものであり、図29(d)に示す例では、描画モードとして作用するものである。そして、これらのモードの切り替えは、ユーザが、専用入力ペン20を操作して、メニューエリア281のアイコンを選択することでなされていた。
大型化した情報機器において、ユーザは、座標入力有効領域3(座標入力面)ので操作を行うので、ユーザは、専用入力ペン20で指示する位置近辺の視覚情報しか得ることができない。したがって、前述したモード切り替えを行う場合、ユーザは、座標入力有効領域3(座標入力面)全体を見渡して必要なアイコンを探すために、座標入力有効領域3から一旦離れて、座標入力有効領域3全体を見渡せる位置まで移動しなければならない。よって、ユーザは、作業の中断を余儀なくさせられるという弊害が発生する。
更に、ワークエリア280で所望の作業を行う際、ユーザは、その作業を行うことを設定するために、例えば、メニューエリア281に表示されているアイコン等の選択を行わなければならない。よって、このような場合にも、大型化した情報機器においては、ユーザは、ワークエリア280とメニューエリア281との間を移動しなければならず、やはり作業の中断をせざるを得ないという弊害が発生する。
本実施形態では、以上のような弊害を無くし、座標入力装置の作業性を高めるようにしている。
次に、図30のフローチャートを参照しながら、モードを設定する際の座標入力装置の動作の一例を説明する。
まず、ステップS101において、演算制御回路44は、第1の座標入力動作が行われ、座標入力有効領域3上に遮光領域が生じるまで待機する(すなわち光束を遮る遮光物が存在するようになるまで待機する)。そして、第1の座標入力動作が行われ、座標入力有効領域3上に遮光領域が生じると、ステップS102に進む。
ステップS102に進むと、演算制御回路44は、専用入力ペン20から、ペン先スイッチ28が動作したことを示すスイッチ信号が得られたか否かを判定する。前述したように、このスイッチ信号は、座標入力有効領域3を専用入力ペン20が押圧することによって、ペン先スイッチ28が動作すると生成される信号である。この判定の結果、ペン先スイッチが動作したことを示すスイッチ信号が得られていない場合は、後述するステップS104に進む。
一方、ペン先スイッチが動作したことを示すスイッチ信号が得られた場合には、専用入力ペン20による入力がなされたと判定し、演算制御回路44は、描画モードで座標入力装置を動作させる。そして、座標入力有効領域3上の遮光領域と、ペン先スイッチ28が動作したことを示すスイッチ信号とが継続して得られている間、ステップS101、S102、S103のループが繰り返される。例えば、情報機器をホワイトボードとして使用している場合には、図29(d)に示すように、専用入力ペン20の軌跡が筆跡として表示される。尚、以下の説明では、ペン先スイッチ28が動作したことを示すスイッチ信号を、必要に応じてダウン信号と称する。
ステップS102において、専用入力ペン20からのダウン信号が得られていない場合には、ステップS104に進む。ステップS104に進むと、演算制御回路44は、座標入力有効領域3上の遮光領域の数が複数あるか否かを判定する。すなわち、演算制御回路44は、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われたか否かを判定する。この判定の結果、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われていなければ、ステップS103に進み、演算制御回路44は、描画モードで座標入力装置を動作させる。そして、第1の座標入力動作が行われなくなるまで、ステップS101、S102、S104、S103のループが繰り返される。この場合、例えば指示位置にカーソル等が表示されているのみであり、ホワイトボード上ではなんの変化も起こらない状態となる。
一方、ステップS104において、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われた場合には、ステップS105に進む。ステップS105に進むと、演算制御回路44は、操作モードで座標入力装置を動作させる。そして、よる第2の座標入力動作が継続している間、ステップS104、S105のループを繰り返す。この操作モードで座標入力装置を動作させているときに、ダウン信号が生成された場合、ステップS104で判定される第2の座標入力動作は、専用入力ペン20によるものであると判断される。したがって、この場合、専用入力ペン20は、領域選択手段として作用し、図29(c)に示したようにして領域選択が行われる。領域選択が終了すると、ユーザは、専用入力ペン20を座標入力有効領域3から離すので、専用入力ペン20からのダウン信号は途切れる。よって、第1の座標入力動作が継続している状態のままであれば、ステップS101、S102、S104、S103のループが実行される。一方、第1の座標入力動作も途切れた場合には、ステップS101にて待機状態となる。このとき、座標入力有効領域3(座標入力面)には、例えば、図29(c)に示すように、『あいうえお』の赤文字90〜94が選択された状態の表示がなされる。
第1の座標入力動作が途切れた後、ユーザが、専用入力ペン20以外の指等による第1の座標入力動作と、第2の座標入力動作とを順次行った場合、第1の座標入力動作によるダウン信号が生成されることはないので、操作モードとして座標入力装置が動作する。よって、ユーザは、例えば、専用入力ペン20を操作して、第2の座標入力動作を行うことにより、図29(c)に示す枠(選択領域)95を指示して、ダウン信号を発生させた後、専用入力ペン20を移動することで、枠95の拡大/縮小や移動を行える。
従って、ユーザは、描画モードと操作モードとを、その場で選択することができ、ユーザが一々移動して作業を行う必要がなくなるので、座標入力装置における座標入力動作の作業効率を大幅に改善することができる。
また、この座標入力措置と表示装置とを一体化した情報機器にあっては、描画モードの状態にあるのか、操作モードの状態にあるのかを、例えばハイライト、点滅等の手段により表示するようにしている。したがって、現在のモードをユーザが容易に視認(認識)することができ、誤操作を防止することができる。
座標入力動作が2箇所で行われている場合、座標入力装置は、座標入力動作の開始のタイミングと、指示入力された位置の座標値の連続性とを判定することで、第1の座標入力動作と第2の座標入力動作との区別を、容易に行うことが可能である。尚、指示入力された位置の座標値の連続性は、前述したように、前回のサンプリングで検出した座標値と今回検出した座標値とを比較することで判定することが可能である。
第1の座標入力動作後に、第2の座標入力動作が行われると、図30のステップS104、S105のループを回る(少なくともステップS104の判定時では、第1及び第2のの座標入力動作による指示入力が同時に行われる)。よって、第2の座標入力動作を実行中に、第1の座標入力動作を無くしても、操作モードの状態が継続するようになる。つまり、第2の座標入力動作が継続されている間は、第1の座標入力動作の有無に関係なく、処理が継続される様に構成する事ができる。
ところが、ダブルタップ動作(座標入力有効領域3を所定時間内に連続して2回たたく動作)により、第2の座標入力動作が途切れてしまう場合がある。よって、例えば、操作モードにおいて、第1の座標入力動作が継続していることを判定することにより、第2の座標入力動作が途切れても、操作モードを継続させることができる。そして、第2の座標入力動作によって発生したダウン信号の発生タイミングを計測し、計測した結果に基づいて、タップ或いはダブルタップを認識することで、例えば、押圧した位置にあるアイコンに割り付けられた機能を実行することが可能となる。しかしながら、第2の座標入力動作によって操作モードにあるときに、第1の座標入力動作による指示入力をなくし、例えば第2の座標入力動作でダブルタップした際に、ダブルタップのタップ間で第2の座標入力動作が途切れてしまうと、描画モードへ移行する。このため、座標入力装置は、ダブルタップ動作を認識できなくなってしまう。
そこで、演算制御回路44は、一連の座標入力動作で操作モードに入った場合には、第1及び第2の座標入力動作により指示入力された位置(座標)の情報と、その位置を検出した時間の情報とをメモリ(記憶媒体)に記憶する。そして、その記憶した結果に基づいて、第1及び第2の座標入力動作の有無や、ダウン信号の有無に関係なく、例えば所定時間、操作モードが継続するように構成することで、作業性の良い情報機器を構成することができる。
以上のように本実施形態では、例えば、ステップS101、S104の処理を行うことによって、検出手段と判別手段とが実現され、ステップS102の処理を行うことによって、判定手段が実現される。そして、例えば、ステップS103、S105の処理を行うことによって、決定手段が実現される。更に、例えば、ステップS105において、演算制御回路44が、指示入力された位置の情報と、その位置を検出した時間の情報とを記憶することにより、記憶手段が実現される。
尚、ここでは、操作モードにおける第1及び第2の座標入力動作の情報を記憶しておき、記憶しておいた情報に基づいて、操作モードを継続させるようにしたが、必ずしもこのようにする必要はない。第1の座標入力動作が存在しなければ、第2の座標入力動作による操作モードを継続できないようにしてもよい。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態では、描画モードにより表示された文字や図形等を消去する際の操作性を向上させる場合について説明する。本実施形態と前述した第1の実施形態とは、モードに移行する際の座標入力装置の動作の一部が異なる。よって、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図30に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。尚、本実施形態では、座標入力装置と表示装置とを重ねて配置して構成された情報機器をホワイトボードの代替として使用した場合を例に挙げて説明する。
<情報機器の動作説明>
図31のフローチャートを参照しながら、モードを設定する際の座標入力装置の動作の一例を説明する。
まず、ステップS201において、演算制御回路44は、第1の座標入力動作が行われ、座標入力有効領域3上に遮光領域が生じるまで待機する(すなわち光束を遮る遮光物が存在するようになるまで待機する)。そして、第1の座標入力動作が行われ、座標入力有効領域3上に遮光領域が生じると、ステップS202に進む。
ステップS202に進むと、演算制御回路44は、専用入力ペン20からダウン信号が得られたか否かを判定する。この判定の結果、ダウン信号が得られていない場合は、後述するステップS204に進む。
一方、ダウン信号が得られた場合には、専用入力ペン20による入力がなされたと判定し、演算制御回路44は、描画モードで座標入力装置を動作させる。そして、座標入力有効領域3上の遮光領域と、ペン先スイッチが動作したことを示すスイッチ信号とが継続して得られている間、ステップS201、S202、S203のループが繰り返される。
ステップS202において、専用入力ペン20からのダウン信号が得られていない場合には、ステップS204に進む。ステップS204に進むと、演算制御回路44は、座標入力有効領域3上の遮光領域の数が複数あるか否かを判定する。すなわち、演算制御回路44は、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われたか否かを判定する。この判定の結果、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われていなければ、ステップS203に進み、演算制御回路44は、描画モードで座標入力装置を動作させる。そして、第1の座標入力動作が行われなくなるまで、ステップS201、S202、S204、S203のループが繰り返される。
一方、ステップS204において、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われた場合には、ステップS205に進む。ステップS205に進むと、演算制御回路44は、専用入力ペン20からダウン信号が得られたか否かを判定する。この判定の結果、ダウン信号が得られていない場合は、後述するステップS204に戻り、第2の座標入力動作が行われている間、ステップS204、S205のループが繰り返される。
一方、専用入力ペン20からダウン信号が得られた場合には、専用入力ペン20による入力がなされたと判定して、ステップS206に進む。ステップS206に進むと、演算制御回路44は、専用入力ペン20を『消しゴムツール』として機能させる。そして、第2の座標入力動作により生じた遮光領域と、第2の座標入力動作によるダウン信号とが継続して得られている間、ステップS204、S205、S206のループが繰り返される。例えば、情報機器をホワイトボードとして使用している場合には、専用入力ペン20の軌跡に合わせて表示情報が消去されることになる。そして、第2の座標入力動作によるダウン信号のみがなくなれば、第2の座標入力動作がなくなるまで、引き続きステップS204、S205のループが繰り返される。また、第2の座標入力動作により生じた遮光領域がなくなれば、第1の座標入力動作によるダウン信号が得られるまで、ステップS203、S201、S202、S204のループが繰り返されることになる。
ユーザは、文字の入力や描画を行う場合、専用入力ペン20による入力動作を行う。この専用入力ペン20による入力動作の間に、消しゴムツールを使用したい場合、ユーザは、例えば左手人差し指で、座標入力有効領域3の任意の位置を指示し、引き続き専用入力ペン20を操作することで、所望の位置の描画情報を消去することができる。つまり、第1の座標入力動作を行う指の指示位置は、座標入力有効領域3内であれば、場所によらず任意の位置でよい。したがって、第2の座標入力動作により指示入力する位置(消去したい領域)のみをユーザは注視することができる。従来は、消しゴムツールを選択するために、ユーザは、わざわざメニューエリア281にあるツールアイコンを選択して、指示具の機能を消しゴムとして機能に変更し、描画モードに再度モードを設定しなければならなかった。そのため、ユーザは、視線或いは立ち位置の変更等をしなければならなかった。これに対し、本実施形態では、その場でツールの変更が可能となる。
通常のマーカーを使用したホワイトボードでは、書き込んだ情報を、指先で少しだけ消す動作が良く行われている。一方、本実施形態では、ユーザは、アイコンの選択のために視線や立ち位置を変更するなく、直感的な操作で専用入力ペン20の機能の変更を行うことが出来る。したがって、座標入力装置と表示装置とを重ねて配置して構成された情報機器の使用形態を、通常のマーカーを使用したホワイトボードの使用形態に近づけることができ、座標入力装置の操作性を格段に向上させることができる。
以上のように本実施形態では、例えば、ステップS201、S204の処理を行うことによって、検出手段と判別手段とが実現され、ステップS202、S205の処理を行うことによって、判定手段が実現される。そして、例えば、ステップS203、S206の処理を行うことによって、決定手段が実現される。
尚、本実施形態では、ステップS205で、第2の座標入力動作によるダウン信号が得られていないと判定された場合には、ステップS204に戻るようにしたが、必ずしもこのようにする必要はない。例えば、ステップS205で、第2の座標入力動作によるダウン信号が得られていないと判定された場合には、消しゴムツール以外の操作モードを実行させるようにしてもよい。
また、本実施形態では、ステップS205で、第2の座標入力動作によるダウン信号が得られたと判定された場合には、専用入力ペン20を消しゴムツールとして機能させるようにしたが、必ずしもこのようにする必要はない。例えば、枠95を指定するようにしてもよい。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。本実施形態では、専用入力ペン20のプロパティを変更する際の操作性を向上させる場合について説明する。本実施形態と前述した第1及び第2の実施形態とは、モードに移行する際の座標入力装置の動作の一部が異なる。よって、本実施形態の説明において、前述した第第1及び第2の実施形態と同一の部分については、図1〜図31に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。尚、本実施形態では、座標入力装置と表示装置とを重ねて配置して構成された情報機器をホワイトボードの代替として使用した場合を例に挙げて説明する。
<情報機器の動作説明>
図32のフローチャートを参照しながら、モードを設定する際の座標入力装置の動作の一例を説明する。
まず、ステップS301において、演算制御回路44は、カウンタの値nをゼロにすると共に、ダウン信号取得識別子の値kをゼロにする(諸定数n、kをリセットする)。
次に、ステップS302において、演算制御回路44は、第1の座標入力動作が行われ、座標入力有効領域3上に遮光領域が生じるまで待機する(すなわち光束を遮る遮光物が存在するようになるまで待機する)。そして、第1の座標入力動作が行われ、座標入力有効領域3上に遮光領域が生じると、ステップS303に進む。
ステップS303に進むと、演算制御回路44は、専用入力ペン20からダウン信号が得られたか否かを判定する。この判定の結果、ダウン信号が得られていない場合は、後述するステップS305に進む。
一方、ダウン信号が得られた場合には、専用入力ペン20による入力がなされたと判定し、演算制御回路44は、描画モードで座標入力装置を動作させる。そして、座標入力有効領域3上の遮光領域と、ペン先スイッチが動作したことを示すスイッチ信号とが継続して得られている間、ステップS301、S302、S303、S304のループが繰り返される。
ステップS303において、専用入力ペン20からのダウン信号が得られていない場合には、ステップS305に進む。ステップS305に進むと、演算制御回路44は、座標入力有効領域3上の遮光領域の数が複数あるか否かを判定する。すなわち、演算制御回路44は、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われたか否かを判定する。この判定の結果、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われていない場合には、後述するステップS308に進む。
一方、第1の座標入力動作を行った遮光物とは別の遮光物による第2の座標入力動作が行われた場合には、ステップS306に進む。ステップS306に進むと、演算制御回路44は、専用入力ペン20からダウン信号が得られたか否かを判定する。この判定の結果、ダウン信号が得られていない場合は、ステップS307に進み、演算制御回路44は、カウンタの値nをインクリメントする。そして、第2の座標入力動作が行われている間、ステップS305、S306、S307のループを繰り返す。
そして、第2の座標入力動作が行われなくなると、ステップS308に進む。ステップS308に進むと、演算制御回路44は、第1及び第2の座標入力動作が所定時間以上継続して行われたか否かを、カウンタの値nが定数n0より大きい否かを判定することにより判定する。また、演算制御回路44は、ダウン信号取得識別子の値kがゼロであるか否かを判定することにより、ダウン信号が得られているか否かを判定する。そして、第1及び第2の座標入力動作が所定時間以上継続して行われ、ダウン信号が得られていない場合には、ステップS309に進み、演算制御回路44は、制御信号を生成してから、前述したステップS304に進む。一方、第1及び第2の座標入力動作が所定時間以上継続して行われていない場合、又はダウン信号が得られている場合には、ステップS309を省略して前述したステップS304に進む。
ここで、第1及び第2の座標入力動作が、所定時間継続して行われ(2個の遮光物での座標入力動作が所定時間継続して行われ)、且つダウン信号が得られていない場合を考える。この場合、例えば、ユーザが左手の薬指と中指で、座標入力有効領域3をタッチし、その状態から座標入力動作を終了したものと考えられる。この場合、演算制御回路44は、専用入力ペン20のプロパティを変更する等の意図をユーザが有するものと判断し、ステップS309において、例えば、専用入力ペン20の色を変更する制御信号を生成する。
具体的に説明すると、『あ』の文字を入力したユーザが、その場で2本の指を座標入力有効領域3にタッチさせれば、専用入力ペン20の色を変更する制御信号が生成され、専用入力ペン20の色が、現状の赤色から、次に配列されている青色に変更される。そして、2本の指を座標入力有効領域3にもう一回タッチさせると、専用入力ペン20の色が、現状の青色から、次に配列されている緑色に変更される。このように、2本の指を座標入力有効領域3にタッチさせることを繰り返すことにより、専用入力ペン20の色が順次変更する。ユーザは、このような動作と共に、色を設定しているチェックボックスのチェックの位置が順次変更されるのを、その場で視認することで、ペンの色を認識できる。よって、ユーザは、専用入力ペン20の色を変更する際にも、立ち位置の変更等の不要な動作を強要されない。
ここで、第1及び第2の座標入力動作が、所定時間以上継続したか否かを判定するのは、次の理由による。例えば、第1の座標入力動作が指であり、第2の座標入力動作が専用入力ペン20であった場合に、ユーザが専用入力ペン20による入力をためらったような場合に、専用入力ペン20による遮光が一時的に発生する場合がある。つまり、遮光が始まったものの、専用入力ペン20の操作を中断し、遮光が途切れる場合がある。この場合、ユーザは、入力をためらっただけであり、専用入力ペン20のプロパティの変更を意図したわけではない。このような場合に、専用入力ペン20のプロパティが変更されてしまうことを回避するために、本実施形態では、第1及び第2の座標入力動作が、所定時間以上継続し、且つダウン信号が発生しない状態であるときに、制御信号を発生するようにした。
ユーザが専用入力ペン20を座標入力有効領域3の近傍に位置させ、且つペン先スイッチ28を動作させないように操作することは、ユーザが意図しなければ不可能に近い状態である。そこで、本実施形態では、第1及び第2の座標入力動作が継続している時間として、所定時間(例えば数[msec]以上、数[sec]以下の範囲の一定値)を設定するようにしている。このようにすることによって、演算制御回路44は、ユーザの迷いによって生じる遮光と、専用入力ペン20のプロパティの変更をユーザが意図したことにより生じる遮光とを十分に区別することが可能となる。
また、演算制御回路44は、所定時間がn1(>n0)以上である場合には、誤入力状態と判定して、制御信号を出力しないようにしてもよい。更に、演算制御回路44は、第1及び第2の座標入力動作が継続している時間に応じて、専用入力ペン20の色を変更する制御信号を順次出力し、例えば、専用入力ペン20の色を黒→赤→青→緑→黄と順に変更していくようにしてもよい。この場合、選択されている色のチェックボックスのチェック、又は選択されているアイコンがハイライトするようにし、選択されている状態に応じて順次表示が変わるようにするようにしてもよい。このようにすれば、ユーザは、その表示を視認して、所望のアイコンが選択された状態で、第1及び第2の座標入力動作を停止することにより、意図した選択が行えるようになる。
図32の説明に戻り、ステップS306において、専用入力ペン20からダウン信号が得られたと判定されると、専用入力ペン20による入力がなされたと判定して、ステップS310に進む。ステップS310に進むと、演算制御回路44は、専用入力ペン20を『消しゴムツール』として機能させる。そして、ステップS311に進み、演算制御回路44は、ダウン信号取得識別子の値kの値を1(k=1)とする。そして、第2の座標入力動作により生じた遮光領域と、第2の座標入力動作によるダウン信号とが継続して得られている間、ステップS305、S306、S310、S312のループが繰り返される。例えば、情報機器をホワイトボードとして使用している場合には、専用入力ペン20の軌跡に合わせて表示情報が消去されることになる。そして、第2の座標入力動作によるダウン信号のみがなくなれば、第2の座標入力動作がなくなるまで、引き続きステップS305、S306、S307のループが繰り返される。また、第2の座標入力動作により生じた遮光領域がなくなれば、ダウン信号取得識別子の値kの値が1であることから、ステップS308でNoと判定され、制御信号が出力されることなく、ステップS304にて描画モードの動作が実行される。
ユーザは、文字の入力や描画を行う場合、専用入力ペン20による入力動作を行う。この専用入力ペン20による入力動作の間に、消しゴムツールを使用したい場合、ユーザは、例えば左手人差し指で、座標入力有効領域3の任意の位置を指示し、引き続き専用入力ペン20を操作することで、所望の位置の描画情報を消去することができる。また、専用入力ペン20のプロパティを変更したい場合には、例えば左手人差し指で、座標入力有効領域3の任意の位置を指示し、その状態で引き続き、例えば右手人差し指又は左手中指等で、座標入力有効領域3の任意の位置を指示する。このようにすることで、専用入力ペン20のプロパティをユーザが意図した通りに変更することができる。
従来は、ツールを選択するために、ユーザは、わざわざツールアイコンを選択して『プロパティ』の設定や、指示具の機能(『ペン』機能及び『消しゴム』機能)の変更をしなければならなかった。このため、ツールを選択するために、ユーザは、視線又は立ち位置等を変更しなければならなかった。これに対し、本実施形態では、その場でツールの変更が可能となり、座標入力装置の操作性の大幅な改善を図ることができる。
以上のように本実施形態では、例えば、ステップS302、S305の処理を行うことによって、検出手段と判別手段とが実現され、ステップS303、S306の処理を行うことによって、判定手段が実現される。そして、例えば、ステップS304、S310の処理を行うことによって、決定手段が実現される。更に、例えば、ステップS308の処理を行うことによって、判断手段が実現される。
尚、本実施形態では、専用入力ペン20の色を変更する場合を例に挙げて説明したが、必ずしもこのようにする必要はない。例えば、専用入力ペン20の色以外のプロパティを変更するようにしてもよい。
また、本実施形態では、第1及び第2の座標入力動作が所定時間以上継続して行われたか否かと、ダウン信号が得られているか否かとの判定結果に基づいて、専用入力ペン20の色を変更する制御信号を生成するようにしたが、必ずしもこのようにする必要はない。例えば3箇所の位置を同時に検出することができる座標入力装置であれば、第1〜第3の座標入力動作が、所定時間以上継続して行われたか否かと、ダウン信号が得られているか否かとの判定結果に基づいて、制御信号を生成してもよい。
(変形例)
前述した第1〜第3の実施形態では、座標入力有効領域3をタッチすることなく、その座標入力有効領域3の近傍に遮光物を配置することで、その遮光物の位置を検出することができる『近接入力機能』を有する光学式座標入力措置を例に挙げて説明した。しかしながら、座標入力装置は、このようなものに限定されるものではない。
例えば、感圧式のタッチパネル、又は種々の方式を組み合わせた方式の座標入力装置であってもよい。尚、タッチパネルは、指又は指示具により押圧された位置を検出するものである。例えば指で押圧すれば、その押圧された位置を検出することが可能である。すなわち、タッチパネルでは、座標入力有効領域に指を接触させて、指示入力を行うことになる。
このようなタッチパネルにおいても、前述した専用入力ペン20を使用することで、ダウン信号が生成されるようにすれば、前述した第1〜第3の実施形態と同様の構成、効果を得ることが可能となる。
(本発明の他の実施形態)
前述した本発明の実施形態における座標入力装置を構成する各手段、並びに座標検出方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図22、図30〜図32に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。