座標入力装置およびその制御方法
【課題】装置本体で投光される入力用領域に対し、入力指示具のペンダウン・発光による入力を行う座標入力装置において、複数の入力指示具による同時入力が発生すると、各指示具の発光や本体投光が重畳して情報識別が困難となる。これにより、書き出し時の応答性が低下してしまう。
【解決手段】複数の入力指示具のそれぞれにおいて、ペンアップ状態となった際に、直前のペンダウン時の発光タイミングの計時を所定期間継続する。該所定期間内のタイミングaで再度ペンダウンが発生すると、各入力指示具は、計時が継続されている発光タイミングに応じて発光する。このとき、各入力指示具ごとに発光周期を異ならせておけば、同時書き出し時における発光の重畳を大幅に減らすことができ、書き出し時の応答性が改善される。
【解決手段】複数の入力指示具のそれぞれにおいて、ペンアップ状態となった際に、直前のペンダウン時の発光タイミングの計時を所定期間継続する。該所定期間内のタイミングaで再度ペンダウンが発生すると、各入力指示具は、計時が継続されている発光タイミングに応じて発光する。このとき、各入力指示具ごとに発光周期を異ならせておけば、同時書き出し時における発光の重畳を大幅に減らすことができ、書き出し時の応答性が改善される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力面上を指示することによって座標情報を入力する座標入力装置およびその制御方法に関する。
【背景技術】
【0002】
従来より、例えばタッチパネル装置等、入力面上をユーザが指や指示具等で指示することによって座標情報を入力する座標入力装置が普及している。このように入力された座標情報に基づき、接続されたコンピュータを制御したり、文字や図形等の書き込みを行うことが可能となる。
【0003】
例えば、タッチパネル装置を、リアプロジェクタやフロントプロジェクタ、プラズマディスプレイパネルなどの表面に実装し、パーソナルコンピュータ(PC)画面などを表示することが一般に行われている。このようなシステムにおいては、ユーザがタッチパネル装置を介して指や指示具などでPCの操作ができたり、ユーザによる手書きの軌跡の入力を可能とする大型のインタラクティブディスプレイ装置を構成することができる。このような大型の装置としては、例えば、ディスプレイに接続されたPCで、描画軌跡を表示するようなアプリケーションを起動し、ユーザが指や指示具などで入力した軌跡を表示する、所謂ホワイトボードのような使い方が想定される。
【0004】
上記従来の座標入力装置における座標入力方式としては、光を用いるもの、抵抗膜を用いるもの、また、超音波を用いるものや静電容量を用いるもの等、様々な方式がある。例えば、光を用いた座標入力方式として、座標入力面外側に再帰性反射シートを設け、投光部からの投光を再帰反射シートで反射し、受光検出手段で光量分布を検出する遮光方式がある。この方式によれば、入力用領域内にある指などの遮蔽物で遮蔽された領域の角度を検出し、遮蔽位置すなわち入力位置の座標を決定する(例えば、特許文献1,2,3参照)。
【0005】
例えば特許文献1では、微分等の波形処理演算によって、受光部における遮蔽物による遮蔽部分のピーク値を検出することによって、受光部に対する遮光部分の角度を検出し、該検出結果からその遮蔽物の座標を算出する技術が記載されている。また特許文献2では、特定のレベルパターンとの比較によって遮光部分の一方端と他方端の座標を検出し、それらの中心を検出する技術が記載されている。
【0006】
上述したホワイトボードのような利用形態であれば、文字や絵を書くのが主たる用途となるため、座標入力装置への入力にはペンを模した指示具が用いられる場合が多い。この種の指示具(以下、ペン)には、ペン先にスイッチが設けられており、筆記動作の折に、ペンの先端が座標入力装置(以下、本体装置)の入力用領域に接触したときに該スイッチが導通(オン)する。このスイッチのオン/オフにより、ペンのダウン状態(ペンが入力用領域に接触した状態)や個体識別情報(ID)が本体装置に報知される。さらには、ペンの側面(ペンサイド)にも、マウスの右ボタンに相当する機能や、ページ送り等の各種機能を割り当てられたスイッチが設けられている場合が多い。
【0007】
各スイッチが押下されたタイミングでペン先端が発光することによって、本体装置へのデータ送信が行われるが、本体装置における座標入力方式が上述した遮光方式である場合、投光部による投光とペンの発光とがそれぞれ重畳し合う場合がある。その場合、受光検出部において正しい遮光信号を検出することが困難となるため、入力された座標を算出することができず、描画中の線が途切れてしまう等、操作性が低下してしまう。
【0008】
このような発光の重畳を避けるために、投光部による投光の発光周期とペンの発光周期を互いに異なるように設定する方法が知られている(例えば、特許文献4参照)。この方法によれば、ペンの発光周期は、投光の発光周期および発光期間、投光またはペン発光の受光検出部における検出期間、およびペン発光の発光期間、に基づいて決定される。さらには、ペン発光周期が投光の発光周期の整数倍にならないように制御することで、受光検出部による検出結果を投光の発光周期の複数回分の後に確定する。これにより、ペン発光と投光との重畳を回避して、ペン信号検出の抜けを防止する事が可能となる。
【0009】
また、上述したような、会議等におけるホワイトボードのような利用形態を想定した場合、複数の操作者が同時に入力することを許容することが望まれるため、複数の同時入力に対応する座標入力装置も考案されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第4507557号公報
【特許文献2】特開2000−105671号公報
【特許文献3】特開2001−142642号公報
【特許文献4】特開2005−276019号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、座標入力装置に対して複数のペンによる入力を行う際に、複数のペンダウンが同時に発生する場合を考えると、以下のような問題がある。一般に、ペンの発光周期はその各スイッチ(ペン先スイッチおよびペンサイドスイッチ)の押下に同期して毎回開始され、ペンアップ(ペンと入力用領域との接触が解かれる)と同時にその周期は途切れる。したがって、たとえ複数のペンのそれぞれにおける発光周期を異ならせた場合であっても、複数ペンによる同時ペンダウンが発生すると、互いの発光周期が同時に開始されてしまうため、初回の発光については同時となる。このように同時発光が発生すると、ペンのアップ/ダウン情報や、ペンの個体識別情報を示す光信号が重畳してしまい、正しいビット列を復元できない。そのため初回の発光では、検出座標に対していずれのペンによるものであるかを示すIDの割り付けが行えなくなり、座標出力の遅延、すなわち筆記応答性の低下が発生してしまう。
【0012】
また、上記特許文献4のように投光部とペンとで発光周期が異なるように設定する方法においても、その発光周期はペン先スイッチまたはペンサイドスイッチの押下に同期して毎回開始され、ペンアップと同時にその周期は途切れることになる。この方法ではすなわち、ペンダウン時における初回の発光の重畳は避けられず、座標検出が遅延する、すなわち書き出し時の応答性(筆記応答性)が低下することを前提としていた。
【0013】
上述した同時ペンダウンによる発光重畳、および本体投光とペン発光との重畳の問題はいずれも、ペンアップ後のペンダウン時に発光周期が新たに開始されるため、ペンダウンと同時に必ず初回発光が行われてしまうことに起因すると考えられる。
【0014】
そこで、このような、複数ペンを用いた場合のペン同士の発光の重畳、およびペン発光と本体の投光との重畳を避けるために、座標入力装置本体と複数のペンとで同期を取り、互いの発光のタイミングが異なるように制御する方法が考えられる。しかしながら、装置本体とペンとの同期を取るために、これらをケーブル等の有線で接続した場合には、ペンの自由度が損なわれ、入力の操作性が低下してしまう。また、無線によって同期信号を常時やり取りする方法も考えられるが、この場合特にペン側において、電池寿命が実用上問題になる程短くなってしまう。
【0015】
本発明は上記問題を解決するためになされたものであり、以下の機能を有する座標入力装置およびその制御方法を提供することを目的とする。すなわち、入力指示具による入力指示が途切れた場合でも、再度入力指示が発生すれば以前と同じタイミングによる発光を行うことを可能とする。
【0016】
また、複数の入力指示具による同時入力がなされた場合でも、書き出し時の筆記応答性を損なうことなく、これらを適切に検出することを可能とする。
【0017】
また、筆記応答性を損なうことなく、座標検出用の投光とペン発光との衝突を避けて検出精度の向上を可能とする。
【課題を解決するための手段】
【0018】
上記課題を解決するための一手段として、本発明の座標入力装置は以下の構成を備える。
【0019】
すなわち、装置本体の入力用領域に入力指示具を接触させることによって入力を行う座標入力装置であって、前記入力指示具は、該入力指示具から装置本体への送信を行う際の送信周期を計時により生成するタイマ手段と、前記入力用領域に対する該入力指示具の接触の有無に応じて、入力指示の有無を検出する検出手段と、前記検出手段で入力指示有りが検出された場合に該入力指示の情報を前記タイマ手段で生成された送信周期で装置本体へ光通信により送信し、前記検出手段で入力指示無しが検出された場合には装置本体への送信を行わない送信手段と、を有し、前記タイマ手段は、前記検出手段で入力指示有りに続いて入力指示無しが検出された場合に、該入力指示有りの際の送信周期の計時を予め定められた保持期間、継続し、前記送信手段は、前記検出手段で入力指示無しが検出されてから前記保持期間内に入力指示有りが検出されると、前記タイマ手段で計時が継続されている送信周期による送信を行うことを特徴とする。
【0020】
また、それぞれが前記入力用領域に対する入力を可能とする複数の前記入力指示具を有し、複数の前記入力指示具は、それぞれのタイマ手段で生成される送信周期が互いに異なることを特徴とする。
【0021】
さらに、前記入力用領域への投光を行う投光手段と、前記入力用領域に対する前記投光による反射光の光量分布を検出する受光手段と、前記受光手段で検出される光量分布の、前記投光のない状態で検出される光量分布に対する変化量に基づいて、前記入力用領域において前記入力指示具により前記反射光が遮光された座標位置を算出する座標算出手段と、前記入力指示具から前記送信手段によって送信された前記入力指示の情報に基づいて、前記投光手段による投光が前記送信手段の発光と重畳しないように、投光周期を制御する投光制御手段と、を有することを特徴とする。
【発明の効果】
【0022】
上記構成からなる本発明によれば、入力指示具による入力指示が途切れた場合でも、再度入力指示が発生すれば以前と同じタイミングによる発光を行うことが可能となる。
【0023】
また、複数の入力指示具による同時入力がなされた場合でも、書き出し時の筆記応答性を損なうことなく、これらを適切に検出することが可能となる。
【0024】
また、筆記応答性を損なうことなく、座標検出用の投光とペン発光との衝突を避けて検出精度を向上させることが可能となる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態における座標入力装置の外観を示す図、
【図2】投光部の構成を示す図、
【図3】受光検出部の構成を示す図、
【図4】センサユニットの構成を示す図、
【図5】再帰反射特性を示す図、
【図6】メインユニットの構成を示すブロック図、
【図7】座標取得用発光期間における各種制御信号のタイミングチャート、
【図8】ペン入力前後の光量分布を示す図、
【図9】ペン入力状態を模式的に示す図、
【図10】光量分布の検出例を示す図、
【図11】光量分布の変化量および変化率を示す図、
【図12】入力画素位置の検出例を示す図、
【図13】画素番号と角度との関係を示す図、
【図14】センサユニットと座標系の関係を示す図、
【図15】座標入力処理を示すフローチャート、
【図16】指示具(ペン)の構成を示すブロック図、
【図17】ペンによるスイッチ信号の例を示す図、
【図18】ペンによるスイッチ信号検出を模式的に示す図、
【図19】従来のペン入力を示すタイミングチャート、
【図20】従来の複数のペンによる入力を示すタイミングチャート、
【図21】本実施形態におけるペン入力を示すタイミングチャート、
【図22】本実施形態における複数ペンによる入力を示すタイミングチャート、
【図23】第2実施形態における座標取得処理を示すフローチャート、
【図24】第2実施形態におけるペン入力を示すタイミングチャート、である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0027】
<第1実施形態>
●装置概要構成
図1は、本実施形態における座標入力装置の外観を示す図であり、同図を用いてその概略構成を説明する。
【0028】
同図において、1L,1Rは投光部および検出部を有するセンサユニットであり、互いに所定の距離をおいて、入力用領域4の角部に設置されている。以下、これら左右のセンサユニット1L,1Rをまとめて、単にセンサユニット1と表記する。2は座標入力装置全体における制御・演算を行うメインユニットである。センサユニット1はメインユニット2に接続され、メインユニット2から制御信号を受け取ると共に、検出した信号をメインユニット2に送信する。3は再帰反射部であり、入射光をその到来方向に反射する再帰反射面を有し、左右それぞれのセンサユニット1の投光部から略90°範囲に投光された光を、それぞれのセンサユニット1に向けて再帰反射する。センサユニット1では、再帰反射部3で反射された光が、結像光学系とラインCCD等によって構成された検出部によって1次元的に検出され、その光量分布がメインユニット2に送られる。
【0029】
4は入力用領域であり、これをPDPやリアプロジェクタ、フロントパネルやLCDパネル等の表示装置の表示画面として用いることにより、これら装置をインタラクティブな入力装置として利用することができる。
【0030】
上記図1に示す構成において、入力用領域4に指や指示具6等による入力指示がなされると、センサユニット1の投光部から投光された光が遮られ、検出部では再帰反射による反射光が得られなくなる。すなわち、入力用領域4からの反射光のうち、入力指示に応じた位置のみについて、光量が得られなくなる。
【0031】
メインユニット2は、左右のセンサユニット1で検出された光量変化から、入力指示された部分の遮光範囲を検出し、同範囲内での検出点を特定して、該検出点のそれぞれのセンサユニット1に対する角度を算出する。そして、算出された角度および、センサユニット1間の距離等から、入力エリア上の座標位置を算出し、座標入力装置に接続されているPC等に、USB等のインタフェースを経由して座標位置を出力する。
【0032】
なお本実施形態では、投光部および検出部を備えるセンサユニット1において、投光部からの光を、座標入力用領域の周辺部に設けられた再帰反射面で再帰反射させ、その再帰反射光を検出部で検知する構成を示した。しかしながら本発明は、このような構成に限定されるものではない。例えば再帰反射部材に代えて、導光手段を用いた面発光可能な照明手段を設け、該照明手段で座標入力用領域を照明し、その照明光を検知部が検知する構成であっても良い。この構成の場合も同様に、入力用領域4に指等による入力指示がなされると、照明手段から照明された光が遮られ、その方向の照明光が検知されなくなるので、入力指示位置を算出する事が可能となる。
【0033】
入力用領域4に対する入力手段として、指ではなく、入力用領域4に対する接触を検出するペンダウン検出スイッチを有するような専用の入力指示具を用いると、尾引きなどのない入力を行うことができる。図1の指示具6はその一例であり、ペン先スイッチあるいはペンサイドに設けられたスイッチが押下されると、ペンに内蔵された赤外LEDが発光して、スイッチ情報を発信する。以下、指示具6をペン6とも表記するとする。ペン6から発せられた光信号は、集光光学系を有する制御信号受信手段である、受光IC5によって検出され、メインユニット2に送られて、ペンダウン等の情報が先の座標情報とともに出力される。座標入力装置に接続されているPCでは、メインユニット2からの座標情報およびペンダウン等のスイッチ情報を入力することにより、表示画面上への線や文字の描画や、アイコン操作等が可能となる。
【0034】
以降、本実施形態の座標入力装置における各構成につて、詳細に説明する。
【0035】
●センサユニット
まず、本実施形態のセンサユニット1(1L,1R)について、投光部と受光部の構成、およびその動作について、詳細に説明する。
【0036】
図2は、センサユニット1における投光部の構成例を示す。図2(a)は、投光部を上(入力面に対して垂直方向)から見た図である。図中31は赤外光を発する赤外LEDであり、そこから発光した光は投光レンズ32によって、略90°範囲に投光される。図2(b)は、図2(a)と同じ投光部を横(入力面に対して水平方向)から見た図である。同図に示すようにこの方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に、再帰反射部3に対して光が入射されるように構成されている。
【0037】
図3は、センサユニット1における検出部を上(入力面に対して垂直方向)から見た図である。同図に示すように検出部は、1次元のラインCCD41および結像光学系としてのレンズ42,43および、入射光の入射方向を制限する絞り44、可視光等の余分な光の入射を防止する赤外フィルタ45、からなっている。投光部からの光は再帰反射部材によって反射され、赤外フィルタ45、絞り44を抜けて、結像用レンズ42,43によって入力面の略90°範囲の光が、CCD41の検出面でその入射角に依存した画素上に結像され、角度ごとの光量分布を示す。つまり、CCD41上での画素番号が角度情報を表すことになる。なお、この検出部を横(入力面に対して水平方向)から見た構成は、上記図3と同様である。
【0038】
センサユニット1では、投光部と検出部が重ねて配置されており、図4は、これを横(入力面に対して水平方向)からの見た図である。投光部と検出部の光軸間の距離は、再帰反射部材の角度特性から充分検出可能な範囲内に設定されていれば良い。
【0039】
●再帰反射部
以下、再帰反射部3について説明する。再帰反射部3における再帰反射部材は、入射角度に対する反射特性を有する。再帰性反射部材が平坦であるとすると、図5に示すように、反射部材からの角度が45度を超えるあたりから得られる反射光量が減少してくるため、そのあたりでは、遮蔽物があった場合にその変化が充分に取れないことになる。
【0040】
一般に反射光量は、光量分布(照明強度および距離)、反射部材の反射率(入射角度、反射部材の幅)、結像系照度(コサイン4乗則)によって決まるため、反射光量が足りない場合には照明強度を上げることが考えられる。しかしながら、反射分布が均一でない場合には、強い反射光を受光した際に検出部のCCD41において当該部分が飽和することがあるため、照明強度を上げるには限界がある。それは裏返せば、反射部材の反射分布をなるべく均一にすれば、弱い反射光を受光していた部分への入射光量の増大を望む事ができるということである。
【0041】
●メインユニット
以下、メインユニット2の構成および制御について、詳細に説明する。図1に示すメインユニット2とセンサユニット1の間では、CCDの制御信号、CCD用クロック信号とCCDの出力信号、および、LEDの駆動信号がやり取りされている。
【0042】
図6は、メインユニット2の構成を示すブロック図である。CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)73から出力されており、CCD41のシャッタタイミング制御や、データの出力制御等を行っている。CCD用のクロックは、クロック発生回路75からセンサユニット1に送られると共に、CCD41との同期を取って各種制御を行うために、CPU73にも入力されている。LED駆動信号は、CPU73からLED駆動回路74L,74Rを経て、センサユニット1の投光部における赤外LED31に供給されている。
【0043】
センサユニット1L,1Rにおける検出部(CCD41)からの検出信号は、メインユニット2のADコンバータ71L,71Rにそれぞれ入力され、CPU73からの制御によってデジタル値に変換される。変換されたデジタル値は、例えばRAMによって構成されるメモリ72に記憶され、後述する入力点の角度(以下、入力角度)計算に用いられる。このように算出された入力角度から、入力用領域4上の座標値が求められ、その情報がシリアルインタフェース76等を介して外部PC等に出力される。
【0044】
また、ペン6の発光による信号を受光する受光IC5からは、ペン6からの変調信号を復調したデジタル信号が出力され、ペンスイッチ信号検出回路としてのサブCPU77に入力される。サブCPU77で解析された信号は、CPU73に伝達され、またCPU73からは、LED駆動回路74L,74Rに対するLED駆動信号の論理積が入力される。
【0045】
●光量分布検出処理
以下、本実施形態のセンサユニット1における光量分布の検出処理について、詳細に説明する。
【0046】
図7は、座標取得用発光期間における各種制御信号のタイミングチャートである。同図において、SH,ICGL,ICGRがCCD制御用の制御信号である。SHはシャッタ制御信号であり、この信号の間隔でCCDのシャッタ解放時間が決定される。ICGL,ICGRはそれぞれ、左右のセンサユニット(1L,1R)へのゲート信号であり、CCD内部の光電変換部の電荷を読み出し部へ転送するタイミングを制御する。
【0047】
LEDL,LEDRは、左右のLEDの駆動信号である。SH信号の最初の周期で一方のLEDを点灯するために、LEDLの駆動信号がLED駆動回路74Lを経てLEDに供給される。そしてSH信号の次の周期で、もう一方のLEDが駆動される。双方のLEDの駆動が終了した後に、CCD41の信号が左右のセンサユニット(1L,1R)から読み出される。
【0048】
CCD41から読み出される信号は、ペン6による入力がない場合には、左右それぞれのセンサユニット1からの出力として、図8(a)のような光量分布が得られる。図8(a)においては縦軸が光量を示し、Aのレベルが最大光量、Bのレベルが最低光量となる。また横軸はCCD41に対する入射角すなわち画素番号を示す。同図によれば、反射光のない状態では得られるレベルがB付近になり、反射光量が増えるほどAのレベル方向の光量が増えていくことが分かる。このようにCCD41から出力されたデータは、逐次AD変換されてCPU73にデジタルデータとして取り込まれる。なお、どのシステムにおいても図8(a)に示すような光量分布が必ず得られるわけではなく、再帰反射部材の特性やLEDの特性、経時変化(反射面の汚れ等)によって、分布は変化することはもちろんである。
【0049】
上記図8(a)のような光量分布が得られている状態において、ペン6による入力を行った、つまり、反射光を遮った場合には、図8(b)に示すような光量分布が得られる。図8(b)においてCの部分が、ペン6で反射光が遮られた部分に相当し、その部分のみ光量が低下していることが分かる。本実施形態における入力点の検出は、この光量分布の変化に基づいて行われる。具体的には、図8(a)のようなペン入力の無い初期状態を予め記憶しておき、それぞれのサンプル期間に図8(b)のような変化があるか否かを、初期状態との差分によって検出する。そして、変化があればその部分を入力点として、後述するように入力角度を決定するための演算を行う。
【0050】
●入力角度計算処理
入力角度の計算にあたっては、まず、遮光範囲を検出する必要がある。上述したように、光量分布は経時変化等によって変化するため、ペン入力の無い初期状態の記憶は、システムの起動時等に行うことが望ましい。こうすることにより、例えば再帰反射面が汚れていても、完全に反射されないような場合を除いて使用可能になる。
【0051】
以降、一方のセンサユニット1における処理について説明するが、他方のセンサユニットでも同様の処理を行う。
【0052】
まず電源投入時に、ペン入力の無い状態で、投光部からの投光を行うこと無しに、CCD41の出力をAD変換して得られる光量分布を、Bas_data[N]としてメモリ72に記憶する。これは、CCD41のバイアスのばらつき等を含んだデータとなり、図8(a)におけるレベルB付近のデータとなる。ここで、Nは画素番号であり、有効な入力範囲に対応する画素番号が用いられる。次に、投光部からの投光を行った状態での光量分布を検出し、これをRef_data[N]としてメモリ72に記憶する。このRef_data[N]が、図8(a)において実線で表されたデータである。これらメモリ72に記憶されたBas_data[N],Ref_data[N]を用いて、まずは入力がなされたか否か、すなわち遮光範囲があるか否かの判定を行う。
【0053】
ここで、あるサンプル期間において得られる光量分布データをNorm_data[N]として、本実施形態における入力角度の計算方法を示す。
【0054】
まず遮光範囲を特定するために、光量分布データの変化の絶対量によって、ペン入力の有無を判定する。これは、ノイズなどによる誤判定を防止し、所定量の確実な変化を検出するためである。具体的には各々の画素について、以下の式(1)によって光量分布変化の絶対量(絶対変化量Norm_data_a[N])を算出し、これを予め決定してある閾値Vthaと比較する。
【0055】
Norm_data_a[N]=Norm_data[N]−Ref_data[N] ・・・(1)
絶対変化量Norm_data_a[N]が閾値Vthaを超える画素が所定数以上検出された場合に、ペン入力があったと判定する。この入力の有無判定処理は簡易であるため、高速に行うことが可能である。
【0056】
ここで図9に、本実施形態におけるペン入力状態を模式的に示す。同図において、111は再帰反射面であり、そのA領域が汚れ等によって反射率が低下していたとすると、この場合の光量分布Ref_data[N]は、図10(a)に示すようにA領域における反射光量が少なくなる。この状態で、図9にCで示すようにペン6等の指示具が挿入され、再帰反射部材のほぼ半分を覆ったとすると、反射光量は略半分となるため、図10(b)に太線で示した光量分布Norm_data[N]が観測される。
【0057】
図10(a),(b)の状態に対して上記式(1)による演算を行うと、絶対変化量Norm_data_a[N]が図11(a)のように得られる。なお、図11(a)の縦軸は、初期状態との差分電圧を示している。図11(a)のデータに対して上記閾値Vthaをそのまま適用すると、本来の入力範囲を外れて検出が行われてしまう場合がある。もちろん閾値Vthaを下げれば検出精度は多少上がるものの、ノイズなどの影響を受けてしまう可能性がある。そこで本実施形態では、入力点をより高精度に検出するために、変化量の比を用いる。
【0058】
図10(b)に示すようにA領域B領域とも反射光量は指示入力前の半分であるので、変化量の比Norm_data_r[N]は以下の式(2)によって算出される。
【0059】
Norm_data_r[N]=Norm_data_a[N]/(Bas_data[N]−Ref_data[N]) ・・・(2)
(2)式により算出れた変化量の比Norm_data_r[N]は、図11(b)のようになる。このように、本実施形態では光量分布をその変動比として表現するために、反射部材111の反射率が領域によって異なる場合であっても、全ての領域を同等に扱うことができ、入力点の高精度な検出が可能になる。
【0060】
次に、(2)式により図11(b)に示すように算出された変化量の比Norm_data_r[N]に対して、閾値Vthrを適用してその立ち上がり部と立ち下がり部の画素番号を特定し、両者の中央を入力画素として、その入力角度を求める。なお、図11(b)は説明のために模式的に描画したものであるから、実際にはこのような立ち上がりとはならず、画素ごとに異なるレベルを示している。図12に、閾値Vthrによる入力画素の検出例を示す。この場合、遮光領域の立ち上がり部分は、Nr番目の画素で閾値Vthrを越え、Nf番目の画素で閾値Vthrを下回ったとする。このとき、中心画素Npを以下の式(3)によって算出しても良いが、その場合は画素間隔が最小の分解能になってしまう。
【0061】
Np=Nr+(Nf−Nr)/2 ・・・(3)
そこで、より細かな検出を行うために、立ち上がり、立ち下りそれぞれの画素のレベルとその一つ前の画素のレベルを用いて、閾値Vthrを横切る仮想の画素番号を算出する。例えば、Nr番目画素のレベルをLr、Nr-1番目画素のレベルをLr-1とする。また、NfのレベルをLf、Nf-1番目画素のレベルをLf-1とすれば、それぞれの仮想画素番号Nrv,Nfvは以下の式(4),(5)によって算出される。
【0062】
Nrv=Nr-1+(Vthr−Lr-1)/(Lr−Lr-1) ・・・(4)
Nfv=Nf-1+(Vthr−Lf-1)/(Lf−Lf-1) ・・・(5)
そして、仮想中心画素Npvが、以下の式(6)により決定される。
【0063】
Npv=Nrv+(Nfv−Nrv)/2 ・・・(6)
このように、画素番号とそのレベルから仮想的な画素番号を算出することで、より分解能の高い検出を行うことができる。
【0064】
以上のように得られた中央画素番号から実際の座標値を算出するためには、中央画素番号を角度情報に変換する必要がある。ここで図13に、画素番号と角度との関係を示す。同図において横軸が画素番号、縦軸が角度であり、各画素番号はレンズ中心からの角度に対してほぼ比例した値を示していることが分かる。
【0065】
ここで、真の検出角度に対し、実際の画素番号は0.2度程度の誤差を有していることが分かっている。そこで、このずれをレンズ構成を変えずに修正するために、以下の近似多項式(7)を用いた補正を行う。式(7)において、eは画素番号、nは次数、Tnは各次数の係数である。なお、センサユニット1における光学系はf-θ特性を有している。
【0066】
θ=Tn・en+T(n-1)・e(n-1)+T(n-2)・e(n-2)+・・・+T0 ・・・(7)
式(7)において、次数nは、必要とされる精度スペック及び計算能力等を鑑みて決定すればよい。また係数Tnは、レンズのばらつきや組み立てのばらつき等に左右されるため、各個体ごとに決定することが望ましい。具体的には、レンズとCCDの組が決定したセンサユニットに対し、複数の既知の角度に対する画素番号を測定し、そのデータに対して、最小二乗法等を用いて係数Tnを決定する。この係数Tnを各個体ごとに記憶しておけば良い。すなわち、補正用の近似多項式(7)はセンサユニット毎に、その組み立て時等のタイミングで、レンズ中心と思われる点をゼロ点として算出され、記憶される。
【0067】
しかしながら、実際に座標入力装置に対してセンサユニットを取り付ける際には、上記固体ごとのレンズ中心を入力用領域4のゼロ方向に向けて正確に設置することは困難である。ここで、画素番号−角度θ補正式による補正を行うことで、画素番号と角度はtanθ特性などと異なりリニアな関係になる。つまり、角度方向に対する差分値は画素のどの領域を用いても同じ角度差を示すことになる。そこで、入力用領域4の中心点の入力が、検出時にCCD41上でどの画素になるかを記憶しておき、以後の検出をこの値との差分から算出するようにすれば、取り付けによる誤差を保証することが可能になる。つまり、センサユニットを取り付ける際に、入力用領域4の中心(基準点)への入力を行い、その点が検出される画素番号もしくは、先の補正式(7)を用いた角度データを、基準点データとして不揮発メモリ(不図示)に記憶しておく。そして、電源投入時等のタイミングでこの基準点データを読み出し、以降の座標計算に用いるとする。
【0068】
後述する座標計算処理において、角度θそのものよりも、その角度における正接(tangent)の値を求めるほうが都合がよい。角度θからtanθへの変換には、テーブルや変換式を用いるが、その際、先のセンサユニット1の取り付け誤差補正のための基準点データを用いる。すなわち、まず中心角度θcを式(8)により求める。式(8)において、θorgは記憶してあった基準点データとしての角度、θpvは上記式(7)によって算出された仮想中心角度である。
【0069】
θc=θpvθorg ・・・(8)
そして、式(8)で得られた中心角度θcをTanθcへ変換するには、例えば以下の式(9)に示すような、マクローリン展開等の級数展開式を用いれば良い。
【0070】
Tanθc=θc+1/3・θc3+2/15・θc5+17/315・θc7+62/2835・θc9 ・・・(9)
このように得られたTanθcが、入力角度情報として検出される。
【0071】
●座標算出処理
以下、ペン入力位置に対して得られた角度データTanθcから、その座標値を算出する処理について説明する。図14は、センサユニット1L,1Rと画面座標との位置関係を示す図である。入力範囲の下辺左右にそれぞれのセンサユニット1L,1Rが設置されており、その間の距離はDsである。また、画面中央が画面の原点位置であり、P0はそれぞれのセンサユニット1L,1Rの角度0の交点、POYは交点P0と原点との距離である。ペン入力が行われた位置に対し、それぞれのセンサユニット1L,1Rで検出される角度をそれぞれθL,θRとすると、それぞれのtanθL,tanθRを、上記多項式(9)を用いて算出する。このとき点Pのx,y座標はそれぞれ、以下の式(10),式(11)によって算出される。
【0072】
x=Ds・(tanθL+tanθR)/(1+(tanθL・tanθR)) ・・・(10)
y=−Ds・(tanθR・tanθL(2tanθL・tanθR))/(1+(tanθL・tanθR))+P0Y ・・・(11)
●座標入力処理の制御手順
以上、本実施形態の座標入力装置における座標入力に関する各処理について説明したが、以下ではその流れについて、図15を用いて説明する。図15は、座標入力装置において電源投入から座標計算までの工程を示すフローチャートである。
【0073】
まずS101で、CPU73は電源が投入されるまで待機し、電源が投入されるとS102に進み、CPU73はポート設定やタイマ設定等の様々な初期化処理を行う。
【0074】
その後S103において、不揮発メモリ(不図示)からθ補正用の各定数を読み出し、メインユニット2のメモリ72に格納する。また、センサユニットの取り付け時に取得した基準点データθorgも不揮発メモリ(不図示)から読み出し、メモリ72に格納する。
【0075】
次にS104〜S106において、CCD41の不要電荷を除去するための初期処理を行う。一般に、CCD等の光電変換素子においては、動作させていない間に不要な電荷が蓄積されている場合があるため、このような場合にCCDからの検出データをそのままリファレンスデータとして用いると、誤検出が発生したり検出不能となってしまう。そこで装置の立ち上げ時に、投光無しで、CCD41すなわちセンサユニット1からのデータ読み出しを複数回行っておく。S104ではその読み出し回数を設定し、S105で投光無しデータを読み出して不要電荷の除去を行い、S106で該S105の処理を所定回数繰り返す。
【0076】
上記不要電荷の除去処理が終了すると、次にS107でセンサユニット1から、リファレンスデータとして投光無しでの光量分布データB(N)を取り込み、S108でメモリ72に記憶する。このB(N)がすなわち、上記式(2)に示したBas_data[N]に相当する。
【0077】
次にS109において、もう一つのリファレンスデータである、投光した際の初期光量分布データR(N)を取り込み、S110でメモリ72に記憶する。このR(N)が、上記式(1)に示したRef_data[N]に相当する。
【0078】
ここまでの処理が、電源投入時の初期設定動作であり、以降、通常の入力動作が開始される。
【0079】
S111で、センサユニット1から投光有りデータN(N)を取り込むと、S112において、N(N)とR(N)との差分値(R(N)−N(N))によって遮光部分の有無を判定する。具体的には、該差分値が所定値以上である場合に、入力があったと判定される。ここで、座標入力無しと判定された場合にはS111へ戻り、再度取り込みを行う。この繰り返し周期を10[msec]程度に設定すれば、100回/秒のサンプリングが行われる。
【0080】
S112で遮光部分有り、すなわち入力があったと判定されると、S113に進んで、上記式(1),(2)で説明したように、光量分布の変化量の比Nr(N)を算出する。すなわち、光量分布変化量の比Nr(N)は、以下の式(12)によって算出される。
【0081】
Nr(N)=(N(N)−R(N))/(B(N)−R(N)) ・・・(12)
次にS114で、S113で得られた変化量の比Nr(N)に対して、所定の閾値を適用してその立ち上がり、立ち下がり位置を決定し、その中心位置を算出する。この処理はすなわち、上記式(4),(5),(6)に基づいて行われる。このように算出された中心位置に対し、先に読み込んでおいた係数を用いて、上記式(7)に基づいて仮想中心角度θpvを算出し、さらに式(8)によりこれを補正して、中心角度θcを求める。そしてS115で、S114で得られた中心角度θcから、Tanθを式(9)により算出する。なお、以上のS113〜S115の処理は、左右のセンサユニット1L,1Rのそれぞれについて行い、すなわち各センサユニット1について、入力点に応じた角度情報であるTanθが算出される。そしてS116で、以上のように算出された左右のセンサユニット1L,1RにおけるTanθから、上記式(10),(11)を用いてx,y座標を算出する。
【0082】
以上のように入力座標値が求まると、次にS117において、ペン6による入力指示の有無を判定する。すなわち、ペン6が入力用領域4にタッチされたペンダウン状態であるか否かの判定を行う。ペン6は、ペン先スイッチ等によるオン/オフを光信号によって発信しており、この光信号を受光IC5を介してサブCPU77が検出し、その結果を不図示のポートに出力している。このペンダウンの検出結果に応じて、ペンダウンフラグのセット(S118)あるいはリセット(S119)が行われる。すなわち、ペンダウン状態であればS118でペンダウンフラグがセットされ、ペンダウン状態でない、すなわちペンアップ状態であればS119でペンダウンフラグがリセットされる。
【0083】
以上のように入力座標値とダウン状態を示すペンダウンフラグが決定されると、最後にS120において、これらのデータを不図示のホストPCへ送信する。この送信は、USBやRS232等のシリアルインタフェースをはじめ、任意のインタフェースにより行われる。これを受信したPC側では、ドライバが受信データを解釈し、得られた入力座標値およびペンダウンフラグに基づいてカーソルの移動、マウスボタン状態の変更等を行う。 このように、座標入力装置での指示入力に基づいてPC画面の操作を行うことが可能になる。なお、S120の処理が終了したらS111に戻り、以降、電源がオフされるまで、当該フローチャートに示す処理が繰り返される。
【0084】
●座標入力装置用ペン
上述したように本実施形態の座標入力装置においては、「指」での入力を行うことも可能であるが、ペン6などの指示具による入力を行うことによって、マウスの各種ボタンに対応する操作を行うことが可能となる。以下、本実施形態におけるペン6の構成について、図16を用いて詳細に説明する。
【0085】
筆記具を模したペン6は、そのペン先端部を押圧することで動作するペン先スイッチ(以下、ペン先SW)61、並びに筐体側面に設けられた複数のペンサイドスイッチ(以下、ペンサイドSW)62を備える。また、筐体内部には、制御部としてのCPU64と、タイマ65、および電池66を備える。ペン先SW61および複数のペンサイドSW62のいずれかがダウン状態となることによって、タイマ65で計時により生成された所定の送信周期に同期して、信号が送信される。
【0086】
ここでペン先SW61のダウン状態とは、座標入力面であるディスプレイ等の入力用領域4に、座標入力用のペン6が接触して位置し、操作者によってまさに座標入力が行われ、筆跡を入力しようとする状態を表す。また、例えば、ペン先SW61を所定時間内に2回動作させた場合には、マウスのダブルクリック動作として認識するように構成されている。
【0087】
また、ペンサイドSW62のダウン状態とは、ペンサイドSW62が物理的に押下された状態を表す。図16によれば、ペン6には3個のペンサイドSW62_a、62_b、62_cが備えられており、例えば1つにマウスの右ボタン、他の1つに上下のスクロールボタン、というように、それぞれに機能を割り当てるられるように構成されている。
【0088】
ペンダウン状態時に発信される信号(以下、スイッチ信号)は、CPU64で検出されたペン先SW61及びペンサイドSW62の各状態、及び個体識別情報に応じて生成される。例えば、タイマ65の計時により生成された所定の送信周期毎に、タイミング信号、及びスイッチのアップ/ダウン情報、個体識別情報、に基づいて生成されたスイッチ信号を、赤外線LED63の発光によって発信する。この発信方法としては、まず、ペン6がタイミング信号として放射する光信号に、スイッチのアップ/ダウン情報や個体識別情報を示す信号を重畳させる。そして、この情報を伝送する際には、例えば連続するパルス列からなるリーダ部と、これに続くコード(メーカID等)とからなるヘッダ部をまず出力する。その後、ペン先SW61からの制御信号等よりなる送信データ列を、予め定義された順序と形式に従って順次出力する。なお、このような光通信による発信方法は、例えば赤外線を利用した遠隔制御装置等において周知であるため、ここでの詳細な説明は省略する。
【0089】
以上のようにペン6から発信された光信号(スイッチ信号)が図6に示す受光IC5で受光されると、サブCPU77において、ペン6のどのスイッチが動作しているのかを判定する。該判定結果に応じて、CPU73が、センサユニット1L,1Rの間で、CCDの制御信号やCCD用クロック信号、およびLEDの駆動信号のやり取りを開始する。
【0090】
●スイッチ信号検出処理
以下、本実施形態においてペン6より発信されたスイッチ信号の検出処理について、詳細に説明する。スイッチ情報や個体識別情報等よりなるスイッチ信号は光信号であり、外乱などの影響を受けにくいように所定の周波数fで変調されている。図17は、スイッチ信号の一例を示すものである。図17によればスイッチ信号は、データ開始を示すスタートビットと、ペン先SW信号S0とペンサイドSW信号S1、データの正当性を判定するためにS0,S1それぞれの反転信号/S0、/S1、データ終端を示すストップビット、からなる。これら各信号は、それぞれ周波数fで変調されている。
【0091】
ここで図18に、スイッチ信号検出の概要を示す。図18に示すように、スイッチ信号としての変調光は、受光IC5で受光されるとサブCPU77で復調され、ビット列としてCPU73へ入力される。この復調されたパルス幅は、受光IC5等の特性により変調波の幅とは異なる場合がある。入射光レベルにもよるが例えば、入力パルス幅10[μsec]に対し、数十[μsec]ほどのパルス幅を持って出力されることがある。
【0092】
サブCPU77は、スイッチ信号として先頭のスタートビットを検出すると、一定周期でのサンプリングを行って各ビット位置の1/0を判定し、/S0、/S1等の論理が適当であるか否か、また、ストップビットまで検出できたか否か、等の判断を行う。論理が適当であれば結果を出力するが、不適当であった場合には、当該スイッチ信号を破棄して再度検出を行う。
【0093】
●複数ペンによる同時入力制御
本実施形態の座標入力装置においては、入力用指示具としてのペン6の複数本により、複数点への同時入力を行うことが考えられる。ここで、本実施形態における複数ペンによる同時入力制御についての説明を行うに先立って、従来の座標入力装置において複数本のペンを同時使用した場合に起こりうる問題について、説明する。
【0094】
図19は、従来のペンによる入力を示すタイミングチャートであり、2101はペン先SWまたはペンサイドSWの何れかのダウン状態を表すスイッチダウン信号、2102は発光タイミング信号を示す。同図によれば、発光タイミング信号2102は、スイッチダウン信号2101の開始に合わせて発光が開始されることが分かる。
【0095】
ここで複数のペンを想定し、各々の個体識別情報を仮にID1、ID2とする。図20は、従来の複数ペンによる入力を示すタイミングチャートであり、2201,2202は、それぞれID1,ID2のペンにおけるペン先SWまたはペンサイドSWの何れかのダウン状態を示すスイッチダウン信号である。また2203,2204は、それぞれのペンにおける発光タイミング信号である。この発光タイミング信号2203,2204によれば、複数ペンの発光タイミングは、IDごと、すなわちペンごとに異なるように設定されることが分かる。
【0096】
このような2本のペンを入力に用いる際、各ペンにおけるスイッチダウン状態が同じタイミングで発生すると、図20の矢印部aに示すように、全く同じタイミングで各ペンの発光も行われることにより、信号の重畳が起こってしまう。その場合、光信号を受光する受光IC5およびサブCPU77では、ID1,ID2のいずれのペンからの発光であるかを判定できなくなるため、式(10),(11)で算出した複数の座標に対し、ペンの個体識別IDを割り振ることができなくなってしまう。なお、ID1とID2は互いの発光周期が異なるように設定されているため、次の発光タイミング(例えば、ID1においては図中b)で、正しい光信号を取得することができる。しかしながら、スイッチダウンのタイミングからは遅延しての座標出力となり、さらにこの遅延は複数のペンによる書き出しが同時になされる場合には毎回発生するため、ユーザ操作に対して違和感を与えてしまう。
【0097】
本実施形態ではこのような不具合を回避するために、ペン6の発光周期を生成するタイマ65において、ペンアップ状態となった後も、所定期間、その発光周期を継続して保持する。すなわち、ペン6による入力指示有りから入力指示無しとなった場合に、入力指示が有った際の発光タイミングの計時を所定期間継続する。
【0098】
図21は、本実施形態におけるペン入力を示すタイミングチャートであり、スイッチダウン信号2301と、送信周期に応じた発光タイミング信号2302を示す。同図に示すように、ペン先SW61またはペンサイドSW62がペンアップ状態になった図中aの期間においても、発光タイミング信号2302によるタイミングをタイマ65が保持する。すなわち、ペンアップ状態になるとタイマ65がタイミング信号2302の計時を継続する。なお、この継続は所定の保持期間内で行われる。そして、該保持期間内に次回のスイッチダウンが発生した際には、スイッチダウンの直後ではなく、タイマ65で計時が継続されている発光タイミング(図中b)に同期した発光、すなわち継続送信が開始される。
【0099】
図22は、このように発光タイミングを所定時間保持するような、本実施形態のペン6を2本同時に使用した場合のタイミングチャートである。図22において、2401,2402は、それぞれID1,ID2のペンにおけるペン先SWまたはペンサイドSWの何れかのダウン状態を示すスイッチダウン信号である。また2403,2404は、それぞれのペンにおける発光タイミング信号である。図22に示すタイミングaにおいて、複数のペンのスイッチダウンが同時に行われると、各ペンのタイマ65が保持している発光周期に同期して、ID1のペンは図中b、ID2のペンは図中cのタイミングで、各々スイッチダウン後の最初の発光が起こる。そのため、2本のペンによる光信号は重畳することなく、受光IC5およびサブCPU77によって検出された後、それぞれのスイッチ情報および個体識別情報を正しく取得することができる。
【0100】
本実施形態では、このようにペン6のタイマ65で、ペンアップによる送信中断後も発光タイミングを継続して保持することによって、複数ペンの発光信号同士が重畳する回数を大幅に低減することができる。したがって、複数のペンが同時に書き出した際の応答性が改善される。
【0101】
なお、設定する発光周期によっては、複数ペンのスイッチダウン後の最初の発光タイミングがたまたま重なってしまう状況も起こりうる。このような場合、発光タイミングの保持期間内であったとしても、このタイミングでスイッチダウンした場合、信号同士は重畳してしまう。しかしながらこのようなタイミングはすなわち、ペンの個体識別情報毎にそれぞれ設定された発光周期の最小公倍数となるタイミングであり、かつ、複数のペンがほぼ同時に入力された場合であるため、その発生頻度は高くない。図21,24で説明した発光タイミングの保持による衝突回数の見積もりは、図19,22で説明した従来の発光方式と比較して、略1/10以下となる。
【0102】
以上説明したように、複数のペンが各々所定時間発光タイミングを保持することで、同時にペンダウンを行った際の、ペン同士の発光の重畳を回避することができる。
【0103】
なお、発光タイミングを保持する保持期間としては、これが極端に短いと、図19で説明したような従来例とほとんど同様の構成となり、応答性の改善に関して適切でない。一方、極端に長時間に亙って発光タイミングを保持するように構成すると、今度は電池66の寿命に影響が出てしまう。発光タイミングの保持期間としては、これを数十秒程度に設定することが、上述したような効果が得るために最も効果的であると考えられる。この保持期間は、例えば会議中に複数のペンを使用して文字を入力する状況を想定すると、本実施形態の効果を得るに十分な時間であると考えられる。もちろん、この保持期間についてはペンの電池寿命との相関を鑑みながら設定すれば良く、数十秒の範囲に限定されるものではない。また、ペン6にこの保持期間を変更するための変更手段を設けても良い。以上のように発光タイミングの保持期間を設定することで、電池寿命を実用上問題ない程度に維持することが可能になる。
【0104】
以上説明したように本実施形態によれば、入力指示具のペンアップ時に直前の発光タイミングを継続して保持しておくことにより、該保持期間中にペンダウンが発生すると、該保持された発光タイミングに従った発光を行う。これにより、複数のペンによる入力が同時になされた場合でも、各々の発光タイミングが保持されているため、互いの発光同士が衝突する回数を大幅に減らすことが可能となり、書き出し時の筆記応答性を改善することができる。
【0105】
<第2実施形態>
以下、本実施形態における第2実施形態について説明する。なお、第2実施形態における座標入力装置の構成は上述した第1実施形態と同様であるため、同様の符号を参照するとして説明を省略する。上述した第1実施形態においては、複数のペンが発光タイミングを所定期間保持することで、ペン同士の発光の重畳を回避する例を示した。一方、座標入力装置本体側からの座標取得用の投光が、ペンスイッチ信号の検出に影響を及ぼすことも考えられる。
【0106】
図19で説明したように、従来の座標入力用ペンの発光はスイッチダウン時に開始されていた。そのため、座標取得用の投光とペンの発光とは同期が取られておらず、したがってこれらが重畳する場合が生じ、その場合にはスイッチ信号の検出が困難となる。復調された信号からスイッチ信号の状態を判定するサブCPU77は、スイッチ信号の有無によってスイッチの押下、つまり、ペン先SW61のダウン状態(またはペンサイドSW62のダウン状態)を判定する。そのため、サブCPU77では、スイッチングとして正規の光入力が得られない場合には、たとえ描画中であってもペンアップ状態と判定してしまう。このような場合には、連続して描画を行っている最中であっても、描いた線が途切れてしまうという状態が発生する。
【0107】
そこで第2実施形態においては、座標取得用の投光とペン発光との重畳が発生するタイミングを事前に検知することでこれを回避し、スムーズな描画を可能とすることを特徴とする。
【0108】
図23は、第2実施形態における座標取得処理を示すフローチャートである。まずS2502でポート、タイマ等の初期化処理が行われた後、座標取得用の検出ループ処理が開始される。
【0109】
該ループにおいては、まずS2503で、ペンの発光タイミング信号に基づき、該発光タイミングがアクティブであるか否かを判定する。この判定を行うために、上述した第1実施形態と同様にペン6ではペンアップ後も発光タイミングを所定期間保持する。
【0110】
S2503でペン発光がアクティブであると判定されると、S2504で所定時間ウェイトし、ペン発光の終了を待つが、ペン発光がアクティブでなければ、すなわちペン発光との重畳の可能性がないため、S2505で座標取得用の投光を行う。第2実施形態ではこのように、座標取得用の投光とペン発光との重畳を回避する。
【0111】
以降は上述した第1実施形態と同様に、S2506でセンサユニット1から光情報を取得し、S2507で該光情報に基づいて入力座標を算出し、S2508で該座標を出力する。
【0112】
図24は、第2実施形態におけるペン入力を示すタイミングチャートであり、スイッチダウン信号2601と発光タイミング信号2602、および投光タイミング信号2603を示す。
【0113】
発光タイミング信号2602は、ペン6内部のタイマ65で保持された発光周期に同期している。この発光タイミング信号2602を、サブCPU77を介してCPU73が取り込み、これに同期したタイミング情報(すなわち発光タイミングに同期した信号)を生成する。これによりCPU73は、ペンの発光タイミングが座標検出用の投光タイミングと衝突するタイミングであるか否かを事前に判定することが可能となる。CPU73は座標検出用の投光タイミングすなわち投光周期も制御するため、これがペンの発光タイミングと衝突するタイミングであることが分かった場合、投光タイミングをペンの発光終了後にずらす。例えば図24において、図中a,cが、ペン発光と投光の衝突するタイミングであり、これをそれぞれ、図中b,dのように、投光タイミングをペン発光終了後にずらす。このような投光制御を行うことにより、ペン発光と投光との重畳を避けることができる。
【0114】
以上説明したように第2実施形態によれば、ペンが発光周期を保持することによってペン発光と検出用の投光の重畳が生じるタイミングを事前に検出することができ、この重畳を回避することで、描画中の線の途切れがない、スムーズな入力が可能になる。
【0115】
なお座標入力装置本体では、ペンの発光が無い場合にも投光動作を行っているため、ペンが発光タイミングを保持していない状態における最初の一点目入力に関しては、ペン発光と投光とが衝突を起こす可能性がある。しかながら、それ以降においては、座標取得用の投光とペン発光との重畳を無くすことができるため、書き出し時の応答性の改善は十分に期待できる。
【0116】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、入力面上を指示することによって座標情報を入力する座標入力装置およびその制御方法に関する。
【背景技術】
【0002】
従来より、例えばタッチパネル装置等、入力面上をユーザが指や指示具等で指示することによって座標情報を入力する座標入力装置が普及している。このように入力された座標情報に基づき、接続されたコンピュータを制御したり、文字や図形等の書き込みを行うことが可能となる。
【0003】
例えば、タッチパネル装置を、リアプロジェクタやフロントプロジェクタ、プラズマディスプレイパネルなどの表面に実装し、パーソナルコンピュータ(PC)画面などを表示することが一般に行われている。このようなシステムにおいては、ユーザがタッチパネル装置を介して指や指示具などでPCの操作ができたり、ユーザによる手書きの軌跡の入力を可能とする大型のインタラクティブディスプレイ装置を構成することができる。このような大型の装置としては、例えば、ディスプレイに接続されたPCで、描画軌跡を表示するようなアプリケーションを起動し、ユーザが指や指示具などで入力した軌跡を表示する、所謂ホワイトボードのような使い方が想定される。
【0004】
上記従来の座標入力装置における座標入力方式としては、光を用いるもの、抵抗膜を用いるもの、また、超音波を用いるものや静電容量を用いるもの等、様々な方式がある。例えば、光を用いた座標入力方式として、座標入力面外側に再帰性反射シートを設け、投光部からの投光を再帰反射シートで反射し、受光検出手段で光量分布を検出する遮光方式がある。この方式によれば、入力用領域内にある指などの遮蔽物で遮蔽された領域の角度を検出し、遮蔽位置すなわち入力位置の座標を決定する(例えば、特許文献1,2,3参照)。
【0005】
例えば特許文献1では、微分等の波形処理演算によって、受光部における遮蔽物による遮蔽部分のピーク値を検出することによって、受光部に対する遮光部分の角度を検出し、該検出結果からその遮蔽物の座標を算出する技術が記載されている。また特許文献2では、特定のレベルパターンとの比較によって遮光部分の一方端と他方端の座標を検出し、それらの中心を検出する技術が記載されている。
【0006】
上述したホワイトボードのような利用形態であれば、文字や絵を書くのが主たる用途となるため、座標入力装置への入力にはペンを模した指示具が用いられる場合が多い。この種の指示具(以下、ペン)には、ペン先にスイッチが設けられており、筆記動作の折に、ペンの先端が座標入力装置(以下、本体装置)の入力用領域に接触したときに該スイッチが導通(オン)する。このスイッチのオン/オフにより、ペンのダウン状態(ペンが入力用領域に接触した状態)や個体識別情報(ID)が本体装置に報知される。さらには、ペンの側面(ペンサイド)にも、マウスの右ボタンに相当する機能や、ページ送り等の各種機能を割り当てられたスイッチが設けられている場合が多い。
【0007】
各スイッチが押下されたタイミングでペン先端が発光することによって、本体装置へのデータ送信が行われるが、本体装置における座標入力方式が上述した遮光方式である場合、投光部による投光とペンの発光とがそれぞれ重畳し合う場合がある。その場合、受光検出部において正しい遮光信号を検出することが困難となるため、入力された座標を算出することができず、描画中の線が途切れてしまう等、操作性が低下してしまう。
【0008】
このような発光の重畳を避けるために、投光部による投光の発光周期とペンの発光周期を互いに異なるように設定する方法が知られている(例えば、特許文献4参照)。この方法によれば、ペンの発光周期は、投光の発光周期および発光期間、投光またはペン発光の受光検出部における検出期間、およびペン発光の発光期間、に基づいて決定される。さらには、ペン発光周期が投光の発光周期の整数倍にならないように制御することで、受光検出部による検出結果を投光の発光周期の複数回分の後に確定する。これにより、ペン発光と投光との重畳を回避して、ペン信号検出の抜けを防止する事が可能となる。
【0009】
また、上述したような、会議等におけるホワイトボードのような利用形態を想定した場合、複数の操作者が同時に入力することを許容することが望まれるため、複数の同時入力に対応する座標入力装置も考案されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第4507557号公報
【特許文献2】特開2000−105671号公報
【特許文献3】特開2001−142642号公報
【特許文献4】特開2005−276019号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、座標入力装置に対して複数のペンによる入力を行う際に、複数のペンダウンが同時に発生する場合を考えると、以下のような問題がある。一般に、ペンの発光周期はその各スイッチ(ペン先スイッチおよびペンサイドスイッチ)の押下に同期して毎回開始され、ペンアップ(ペンと入力用領域との接触が解かれる)と同時にその周期は途切れる。したがって、たとえ複数のペンのそれぞれにおける発光周期を異ならせた場合であっても、複数ペンによる同時ペンダウンが発生すると、互いの発光周期が同時に開始されてしまうため、初回の発光については同時となる。このように同時発光が発生すると、ペンのアップ/ダウン情報や、ペンの個体識別情報を示す光信号が重畳してしまい、正しいビット列を復元できない。そのため初回の発光では、検出座標に対していずれのペンによるものであるかを示すIDの割り付けが行えなくなり、座標出力の遅延、すなわち筆記応答性の低下が発生してしまう。
【0012】
また、上記特許文献4のように投光部とペンとで発光周期が異なるように設定する方法においても、その発光周期はペン先スイッチまたはペンサイドスイッチの押下に同期して毎回開始され、ペンアップと同時にその周期は途切れることになる。この方法ではすなわち、ペンダウン時における初回の発光の重畳は避けられず、座標検出が遅延する、すなわち書き出し時の応答性(筆記応答性)が低下することを前提としていた。
【0013】
上述した同時ペンダウンによる発光重畳、および本体投光とペン発光との重畳の問題はいずれも、ペンアップ後のペンダウン時に発光周期が新たに開始されるため、ペンダウンと同時に必ず初回発光が行われてしまうことに起因すると考えられる。
【0014】
そこで、このような、複数ペンを用いた場合のペン同士の発光の重畳、およびペン発光と本体の投光との重畳を避けるために、座標入力装置本体と複数のペンとで同期を取り、互いの発光のタイミングが異なるように制御する方法が考えられる。しかしながら、装置本体とペンとの同期を取るために、これらをケーブル等の有線で接続した場合には、ペンの自由度が損なわれ、入力の操作性が低下してしまう。また、無線によって同期信号を常時やり取りする方法も考えられるが、この場合特にペン側において、電池寿命が実用上問題になる程短くなってしまう。
【0015】
本発明は上記問題を解決するためになされたものであり、以下の機能を有する座標入力装置およびその制御方法を提供することを目的とする。すなわち、入力指示具による入力指示が途切れた場合でも、再度入力指示が発生すれば以前と同じタイミングによる発光を行うことを可能とする。
【0016】
また、複数の入力指示具による同時入力がなされた場合でも、書き出し時の筆記応答性を損なうことなく、これらを適切に検出することを可能とする。
【0017】
また、筆記応答性を損なうことなく、座標検出用の投光とペン発光との衝突を避けて検出精度の向上を可能とする。
【課題を解決するための手段】
【0018】
上記課題を解決するための一手段として、本発明の座標入力装置は以下の構成を備える。
【0019】
すなわち、装置本体の入力用領域に入力指示具を接触させることによって入力を行う座標入力装置であって、前記入力指示具は、該入力指示具から装置本体への送信を行う際の送信周期を計時により生成するタイマ手段と、前記入力用領域に対する該入力指示具の接触の有無に応じて、入力指示の有無を検出する検出手段と、前記検出手段で入力指示有りが検出された場合に該入力指示の情報を前記タイマ手段で生成された送信周期で装置本体へ光通信により送信し、前記検出手段で入力指示無しが検出された場合には装置本体への送信を行わない送信手段と、を有し、前記タイマ手段は、前記検出手段で入力指示有りに続いて入力指示無しが検出された場合に、該入力指示有りの際の送信周期の計時を予め定められた保持期間、継続し、前記送信手段は、前記検出手段で入力指示無しが検出されてから前記保持期間内に入力指示有りが検出されると、前記タイマ手段で計時が継続されている送信周期による送信を行うことを特徴とする。
【0020】
また、それぞれが前記入力用領域に対する入力を可能とする複数の前記入力指示具を有し、複数の前記入力指示具は、それぞれのタイマ手段で生成される送信周期が互いに異なることを特徴とする。
【0021】
さらに、前記入力用領域への投光を行う投光手段と、前記入力用領域に対する前記投光による反射光の光量分布を検出する受光手段と、前記受光手段で検出される光量分布の、前記投光のない状態で検出される光量分布に対する変化量に基づいて、前記入力用領域において前記入力指示具により前記反射光が遮光された座標位置を算出する座標算出手段と、前記入力指示具から前記送信手段によって送信された前記入力指示の情報に基づいて、前記投光手段による投光が前記送信手段の発光と重畳しないように、投光周期を制御する投光制御手段と、を有することを特徴とする。
【発明の効果】
【0022】
上記構成からなる本発明によれば、入力指示具による入力指示が途切れた場合でも、再度入力指示が発生すれば以前と同じタイミングによる発光を行うことが可能となる。
【0023】
また、複数の入力指示具による同時入力がなされた場合でも、書き出し時の筆記応答性を損なうことなく、これらを適切に検出することが可能となる。
【0024】
また、筆記応答性を損なうことなく、座標検出用の投光とペン発光との衝突を避けて検出精度を向上させることが可能となる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態における座標入力装置の外観を示す図、
【図2】投光部の構成を示す図、
【図3】受光検出部の構成を示す図、
【図4】センサユニットの構成を示す図、
【図5】再帰反射特性を示す図、
【図6】メインユニットの構成を示すブロック図、
【図7】座標取得用発光期間における各種制御信号のタイミングチャート、
【図8】ペン入力前後の光量分布を示す図、
【図9】ペン入力状態を模式的に示す図、
【図10】光量分布の検出例を示す図、
【図11】光量分布の変化量および変化率を示す図、
【図12】入力画素位置の検出例を示す図、
【図13】画素番号と角度との関係を示す図、
【図14】センサユニットと座標系の関係を示す図、
【図15】座標入力処理を示すフローチャート、
【図16】指示具(ペン)の構成を示すブロック図、
【図17】ペンによるスイッチ信号の例を示す図、
【図18】ペンによるスイッチ信号検出を模式的に示す図、
【図19】従来のペン入力を示すタイミングチャート、
【図20】従来の複数のペンによる入力を示すタイミングチャート、
【図21】本実施形態におけるペン入力を示すタイミングチャート、
【図22】本実施形態における複数ペンによる入力を示すタイミングチャート、
【図23】第2実施形態における座標取得処理を示すフローチャート、
【図24】第2実施形態におけるペン入力を示すタイミングチャート、である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0027】
<第1実施形態>
●装置概要構成
図1は、本実施形態における座標入力装置の外観を示す図であり、同図を用いてその概略構成を説明する。
【0028】
同図において、1L,1Rは投光部および検出部を有するセンサユニットであり、互いに所定の距離をおいて、入力用領域4の角部に設置されている。以下、これら左右のセンサユニット1L,1Rをまとめて、単にセンサユニット1と表記する。2は座標入力装置全体における制御・演算を行うメインユニットである。センサユニット1はメインユニット2に接続され、メインユニット2から制御信号を受け取ると共に、検出した信号をメインユニット2に送信する。3は再帰反射部であり、入射光をその到来方向に反射する再帰反射面を有し、左右それぞれのセンサユニット1の投光部から略90°範囲に投光された光を、それぞれのセンサユニット1に向けて再帰反射する。センサユニット1では、再帰反射部3で反射された光が、結像光学系とラインCCD等によって構成された検出部によって1次元的に検出され、その光量分布がメインユニット2に送られる。
【0029】
4は入力用領域であり、これをPDPやリアプロジェクタ、フロントパネルやLCDパネル等の表示装置の表示画面として用いることにより、これら装置をインタラクティブな入力装置として利用することができる。
【0030】
上記図1に示す構成において、入力用領域4に指や指示具6等による入力指示がなされると、センサユニット1の投光部から投光された光が遮られ、検出部では再帰反射による反射光が得られなくなる。すなわち、入力用領域4からの反射光のうち、入力指示に応じた位置のみについて、光量が得られなくなる。
【0031】
メインユニット2は、左右のセンサユニット1で検出された光量変化から、入力指示された部分の遮光範囲を検出し、同範囲内での検出点を特定して、該検出点のそれぞれのセンサユニット1に対する角度を算出する。そして、算出された角度および、センサユニット1間の距離等から、入力エリア上の座標位置を算出し、座標入力装置に接続されているPC等に、USB等のインタフェースを経由して座標位置を出力する。
【0032】
なお本実施形態では、投光部および検出部を備えるセンサユニット1において、投光部からの光を、座標入力用領域の周辺部に設けられた再帰反射面で再帰反射させ、その再帰反射光を検出部で検知する構成を示した。しかしながら本発明は、このような構成に限定されるものではない。例えば再帰反射部材に代えて、導光手段を用いた面発光可能な照明手段を設け、該照明手段で座標入力用領域を照明し、その照明光を検知部が検知する構成であっても良い。この構成の場合も同様に、入力用領域4に指等による入力指示がなされると、照明手段から照明された光が遮られ、その方向の照明光が検知されなくなるので、入力指示位置を算出する事が可能となる。
【0033】
入力用領域4に対する入力手段として、指ではなく、入力用領域4に対する接触を検出するペンダウン検出スイッチを有するような専用の入力指示具を用いると、尾引きなどのない入力を行うことができる。図1の指示具6はその一例であり、ペン先スイッチあるいはペンサイドに設けられたスイッチが押下されると、ペンに内蔵された赤外LEDが発光して、スイッチ情報を発信する。以下、指示具6をペン6とも表記するとする。ペン6から発せられた光信号は、集光光学系を有する制御信号受信手段である、受光IC5によって検出され、メインユニット2に送られて、ペンダウン等の情報が先の座標情報とともに出力される。座標入力装置に接続されているPCでは、メインユニット2からの座標情報およびペンダウン等のスイッチ情報を入力することにより、表示画面上への線や文字の描画や、アイコン操作等が可能となる。
【0034】
以降、本実施形態の座標入力装置における各構成につて、詳細に説明する。
【0035】
●センサユニット
まず、本実施形態のセンサユニット1(1L,1R)について、投光部と受光部の構成、およびその動作について、詳細に説明する。
【0036】
図2は、センサユニット1における投光部の構成例を示す。図2(a)は、投光部を上(入力面に対して垂直方向)から見た図である。図中31は赤外光を発する赤外LEDであり、そこから発光した光は投光レンズ32によって、略90°範囲に投光される。図2(b)は、図2(a)と同じ投光部を横(入力面に対して水平方向)から見た図である。同図に示すようにこの方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に、再帰反射部3に対して光が入射されるように構成されている。
【0037】
図3は、センサユニット1における検出部を上(入力面に対して垂直方向)から見た図である。同図に示すように検出部は、1次元のラインCCD41および結像光学系としてのレンズ42,43および、入射光の入射方向を制限する絞り44、可視光等の余分な光の入射を防止する赤外フィルタ45、からなっている。投光部からの光は再帰反射部材によって反射され、赤外フィルタ45、絞り44を抜けて、結像用レンズ42,43によって入力面の略90°範囲の光が、CCD41の検出面でその入射角に依存した画素上に結像され、角度ごとの光量分布を示す。つまり、CCD41上での画素番号が角度情報を表すことになる。なお、この検出部を横(入力面に対して水平方向)から見た構成は、上記図3と同様である。
【0038】
センサユニット1では、投光部と検出部が重ねて配置されており、図4は、これを横(入力面に対して水平方向)からの見た図である。投光部と検出部の光軸間の距離は、再帰反射部材の角度特性から充分検出可能な範囲内に設定されていれば良い。
【0039】
●再帰反射部
以下、再帰反射部3について説明する。再帰反射部3における再帰反射部材は、入射角度に対する反射特性を有する。再帰性反射部材が平坦であるとすると、図5に示すように、反射部材からの角度が45度を超えるあたりから得られる反射光量が減少してくるため、そのあたりでは、遮蔽物があった場合にその変化が充分に取れないことになる。
【0040】
一般に反射光量は、光量分布(照明強度および距離)、反射部材の反射率(入射角度、反射部材の幅)、結像系照度(コサイン4乗則)によって決まるため、反射光量が足りない場合には照明強度を上げることが考えられる。しかしながら、反射分布が均一でない場合には、強い反射光を受光した際に検出部のCCD41において当該部分が飽和することがあるため、照明強度を上げるには限界がある。それは裏返せば、反射部材の反射分布をなるべく均一にすれば、弱い反射光を受光していた部分への入射光量の増大を望む事ができるということである。
【0041】
●メインユニット
以下、メインユニット2の構成および制御について、詳細に説明する。図1に示すメインユニット2とセンサユニット1の間では、CCDの制御信号、CCD用クロック信号とCCDの出力信号、および、LEDの駆動信号がやり取りされている。
【0042】
図6は、メインユニット2の構成を示すブロック図である。CCD制御信号は、ワンチップマイコン等で構成される演算制御回路(CPU)73から出力されており、CCD41のシャッタタイミング制御や、データの出力制御等を行っている。CCD用のクロックは、クロック発生回路75からセンサユニット1に送られると共に、CCD41との同期を取って各種制御を行うために、CPU73にも入力されている。LED駆動信号は、CPU73からLED駆動回路74L,74Rを経て、センサユニット1の投光部における赤外LED31に供給されている。
【0043】
センサユニット1L,1Rにおける検出部(CCD41)からの検出信号は、メインユニット2のADコンバータ71L,71Rにそれぞれ入力され、CPU73からの制御によってデジタル値に変換される。変換されたデジタル値は、例えばRAMによって構成されるメモリ72に記憶され、後述する入力点の角度(以下、入力角度)計算に用いられる。このように算出された入力角度から、入力用領域4上の座標値が求められ、その情報がシリアルインタフェース76等を介して外部PC等に出力される。
【0044】
また、ペン6の発光による信号を受光する受光IC5からは、ペン6からの変調信号を復調したデジタル信号が出力され、ペンスイッチ信号検出回路としてのサブCPU77に入力される。サブCPU77で解析された信号は、CPU73に伝達され、またCPU73からは、LED駆動回路74L,74Rに対するLED駆動信号の論理積が入力される。
【0045】
●光量分布検出処理
以下、本実施形態のセンサユニット1における光量分布の検出処理について、詳細に説明する。
【0046】
図7は、座標取得用発光期間における各種制御信号のタイミングチャートである。同図において、SH,ICGL,ICGRがCCD制御用の制御信号である。SHはシャッタ制御信号であり、この信号の間隔でCCDのシャッタ解放時間が決定される。ICGL,ICGRはそれぞれ、左右のセンサユニット(1L,1R)へのゲート信号であり、CCD内部の光電変換部の電荷を読み出し部へ転送するタイミングを制御する。
【0047】
LEDL,LEDRは、左右のLEDの駆動信号である。SH信号の最初の周期で一方のLEDを点灯するために、LEDLの駆動信号がLED駆動回路74Lを経てLEDに供給される。そしてSH信号の次の周期で、もう一方のLEDが駆動される。双方のLEDの駆動が終了した後に、CCD41の信号が左右のセンサユニット(1L,1R)から読み出される。
【0048】
CCD41から読み出される信号は、ペン6による入力がない場合には、左右それぞれのセンサユニット1からの出力として、図8(a)のような光量分布が得られる。図8(a)においては縦軸が光量を示し、Aのレベルが最大光量、Bのレベルが最低光量となる。また横軸はCCD41に対する入射角すなわち画素番号を示す。同図によれば、反射光のない状態では得られるレベルがB付近になり、反射光量が増えるほどAのレベル方向の光量が増えていくことが分かる。このようにCCD41から出力されたデータは、逐次AD変換されてCPU73にデジタルデータとして取り込まれる。なお、どのシステムにおいても図8(a)に示すような光量分布が必ず得られるわけではなく、再帰反射部材の特性やLEDの特性、経時変化(反射面の汚れ等)によって、分布は変化することはもちろんである。
【0049】
上記図8(a)のような光量分布が得られている状態において、ペン6による入力を行った、つまり、反射光を遮った場合には、図8(b)に示すような光量分布が得られる。図8(b)においてCの部分が、ペン6で反射光が遮られた部分に相当し、その部分のみ光量が低下していることが分かる。本実施形態における入力点の検出は、この光量分布の変化に基づいて行われる。具体的には、図8(a)のようなペン入力の無い初期状態を予め記憶しておき、それぞれのサンプル期間に図8(b)のような変化があるか否かを、初期状態との差分によって検出する。そして、変化があればその部分を入力点として、後述するように入力角度を決定するための演算を行う。
【0050】
●入力角度計算処理
入力角度の計算にあたっては、まず、遮光範囲を検出する必要がある。上述したように、光量分布は経時変化等によって変化するため、ペン入力の無い初期状態の記憶は、システムの起動時等に行うことが望ましい。こうすることにより、例えば再帰反射面が汚れていても、完全に反射されないような場合を除いて使用可能になる。
【0051】
以降、一方のセンサユニット1における処理について説明するが、他方のセンサユニットでも同様の処理を行う。
【0052】
まず電源投入時に、ペン入力の無い状態で、投光部からの投光を行うこと無しに、CCD41の出力をAD変換して得られる光量分布を、Bas_data[N]としてメモリ72に記憶する。これは、CCD41のバイアスのばらつき等を含んだデータとなり、図8(a)におけるレベルB付近のデータとなる。ここで、Nは画素番号であり、有効な入力範囲に対応する画素番号が用いられる。次に、投光部からの投光を行った状態での光量分布を検出し、これをRef_data[N]としてメモリ72に記憶する。このRef_data[N]が、図8(a)において実線で表されたデータである。これらメモリ72に記憶されたBas_data[N],Ref_data[N]を用いて、まずは入力がなされたか否か、すなわち遮光範囲があるか否かの判定を行う。
【0053】
ここで、あるサンプル期間において得られる光量分布データをNorm_data[N]として、本実施形態における入力角度の計算方法を示す。
【0054】
まず遮光範囲を特定するために、光量分布データの変化の絶対量によって、ペン入力の有無を判定する。これは、ノイズなどによる誤判定を防止し、所定量の確実な変化を検出するためである。具体的には各々の画素について、以下の式(1)によって光量分布変化の絶対量(絶対変化量Norm_data_a[N])を算出し、これを予め決定してある閾値Vthaと比較する。
【0055】
Norm_data_a[N]=Norm_data[N]−Ref_data[N] ・・・(1)
絶対変化量Norm_data_a[N]が閾値Vthaを超える画素が所定数以上検出された場合に、ペン入力があったと判定する。この入力の有無判定処理は簡易であるため、高速に行うことが可能である。
【0056】
ここで図9に、本実施形態におけるペン入力状態を模式的に示す。同図において、111は再帰反射面であり、そのA領域が汚れ等によって反射率が低下していたとすると、この場合の光量分布Ref_data[N]は、図10(a)に示すようにA領域における反射光量が少なくなる。この状態で、図9にCで示すようにペン6等の指示具が挿入され、再帰反射部材のほぼ半分を覆ったとすると、反射光量は略半分となるため、図10(b)に太線で示した光量分布Norm_data[N]が観測される。
【0057】
図10(a),(b)の状態に対して上記式(1)による演算を行うと、絶対変化量Norm_data_a[N]が図11(a)のように得られる。なお、図11(a)の縦軸は、初期状態との差分電圧を示している。図11(a)のデータに対して上記閾値Vthaをそのまま適用すると、本来の入力範囲を外れて検出が行われてしまう場合がある。もちろん閾値Vthaを下げれば検出精度は多少上がるものの、ノイズなどの影響を受けてしまう可能性がある。そこで本実施形態では、入力点をより高精度に検出するために、変化量の比を用いる。
【0058】
図10(b)に示すようにA領域B領域とも反射光量は指示入力前の半分であるので、変化量の比Norm_data_r[N]は以下の式(2)によって算出される。
【0059】
Norm_data_r[N]=Norm_data_a[N]/(Bas_data[N]−Ref_data[N]) ・・・(2)
(2)式により算出れた変化量の比Norm_data_r[N]は、図11(b)のようになる。このように、本実施形態では光量分布をその変動比として表現するために、反射部材111の反射率が領域によって異なる場合であっても、全ての領域を同等に扱うことができ、入力点の高精度な検出が可能になる。
【0060】
次に、(2)式により図11(b)に示すように算出された変化量の比Norm_data_r[N]に対して、閾値Vthrを適用してその立ち上がり部と立ち下がり部の画素番号を特定し、両者の中央を入力画素として、その入力角度を求める。なお、図11(b)は説明のために模式的に描画したものであるから、実際にはこのような立ち上がりとはならず、画素ごとに異なるレベルを示している。図12に、閾値Vthrによる入力画素の検出例を示す。この場合、遮光領域の立ち上がり部分は、Nr番目の画素で閾値Vthrを越え、Nf番目の画素で閾値Vthrを下回ったとする。このとき、中心画素Npを以下の式(3)によって算出しても良いが、その場合は画素間隔が最小の分解能になってしまう。
【0061】
Np=Nr+(Nf−Nr)/2 ・・・(3)
そこで、より細かな検出を行うために、立ち上がり、立ち下りそれぞれの画素のレベルとその一つ前の画素のレベルを用いて、閾値Vthrを横切る仮想の画素番号を算出する。例えば、Nr番目画素のレベルをLr、Nr-1番目画素のレベルをLr-1とする。また、NfのレベルをLf、Nf-1番目画素のレベルをLf-1とすれば、それぞれの仮想画素番号Nrv,Nfvは以下の式(4),(5)によって算出される。
【0062】
Nrv=Nr-1+(Vthr−Lr-1)/(Lr−Lr-1) ・・・(4)
Nfv=Nf-1+(Vthr−Lf-1)/(Lf−Lf-1) ・・・(5)
そして、仮想中心画素Npvが、以下の式(6)により決定される。
【0063】
Npv=Nrv+(Nfv−Nrv)/2 ・・・(6)
このように、画素番号とそのレベルから仮想的な画素番号を算出することで、より分解能の高い検出を行うことができる。
【0064】
以上のように得られた中央画素番号から実際の座標値を算出するためには、中央画素番号を角度情報に変換する必要がある。ここで図13に、画素番号と角度との関係を示す。同図において横軸が画素番号、縦軸が角度であり、各画素番号はレンズ中心からの角度に対してほぼ比例した値を示していることが分かる。
【0065】
ここで、真の検出角度に対し、実際の画素番号は0.2度程度の誤差を有していることが分かっている。そこで、このずれをレンズ構成を変えずに修正するために、以下の近似多項式(7)を用いた補正を行う。式(7)において、eは画素番号、nは次数、Tnは各次数の係数である。なお、センサユニット1における光学系はf-θ特性を有している。
【0066】
θ=Tn・en+T(n-1)・e(n-1)+T(n-2)・e(n-2)+・・・+T0 ・・・(7)
式(7)において、次数nは、必要とされる精度スペック及び計算能力等を鑑みて決定すればよい。また係数Tnは、レンズのばらつきや組み立てのばらつき等に左右されるため、各個体ごとに決定することが望ましい。具体的には、レンズとCCDの組が決定したセンサユニットに対し、複数の既知の角度に対する画素番号を測定し、そのデータに対して、最小二乗法等を用いて係数Tnを決定する。この係数Tnを各個体ごとに記憶しておけば良い。すなわち、補正用の近似多項式(7)はセンサユニット毎に、その組み立て時等のタイミングで、レンズ中心と思われる点をゼロ点として算出され、記憶される。
【0067】
しかしながら、実際に座標入力装置に対してセンサユニットを取り付ける際には、上記固体ごとのレンズ中心を入力用領域4のゼロ方向に向けて正確に設置することは困難である。ここで、画素番号−角度θ補正式による補正を行うことで、画素番号と角度はtanθ特性などと異なりリニアな関係になる。つまり、角度方向に対する差分値は画素のどの領域を用いても同じ角度差を示すことになる。そこで、入力用領域4の中心点の入力が、検出時にCCD41上でどの画素になるかを記憶しておき、以後の検出をこの値との差分から算出するようにすれば、取り付けによる誤差を保証することが可能になる。つまり、センサユニットを取り付ける際に、入力用領域4の中心(基準点)への入力を行い、その点が検出される画素番号もしくは、先の補正式(7)を用いた角度データを、基準点データとして不揮発メモリ(不図示)に記憶しておく。そして、電源投入時等のタイミングでこの基準点データを読み出し、以降の座標計算に用いるとする。
【0068】
後述する座標計算処理において、角度θそのものよりも、その角度における正接(tangent)の値を求めるほうが都合がよい。角度θからtanθへの変換には、テーブルや変換式を用いるが、その際、先のセンサユニット1の取り付け誤差補正のための基準点データを用いる。すなわち、まず中心角度θcを式(8)により求める。式(8)において、θorgは記憶してあった基準点データとしての角度、θpvは上記式(7)によって算出された仮想中心角度である。
【0069】
θc=θpvθorg ・・・(8)
そして、式(8)で得られた中心角度θcをTanθcへ変換するには、例えば以下の式(9)に示すような、マクローリン展開等の級数展開式を用いれば良い。
【0070】
Tanθc=θc+1/3・θc3+2/15・θc5+17/315・θc7+62/2835・θc9 ・・・(9)
このように得られたTanθcが、入力角度情報として検出される。
【0071】
●座標算出処理
以下、ペン入力位置に対して得られた角度データTanθcから、その座標値を算出する処理について説明する。図14は、センサユニット1L,1Rと画面座標との位置関係を示す図である。入力範囲の下辺左右にそれぞれのセンサユニット1L,1Rが設置されており、その間の距離はDsである。また、画面中央が画面の原点位置であり、P0はそれぞれのセンサユニット1L,1Rの角度0の交点、POYは交点P0と原点との距離である。ペン入力が行われた位置に対し、それぞれのセンサユニット1L,1Rで検出される角度をそれぞれθL,θRとすると、それぞれのtanθL,tanθRを、上記多項式(9)を用いて算出する。このとき点Pのx,y座標はそれぞれ、以下の式(10),式(11)によって算出される。
【0072】
x=Ds・(tanθL+tanθR)/(1+(tanθL・tanθR)) ・・・(10)
y=−Ds・(tanθR・tanθL(2tanθL・tanθR))/(1+(tanθL・tanθR))+P0Y ・・・(11)
●座標入力処理の制御手順
以上、本実施形態の座標入力装置における座標入力に関する各処理について説明したが、以下ではその流れについて、図15を用いて説明する。図15は、座標入力装置において電源投入から座標計算までの工程を示すフローチャートである。
【0073】
まずS101で、CPU73は電源が投入されるまで待機し、電源が投入されるとS102に進み、CPU73はポート設定やタイマ設定等の様々な初期化処理を行う。
【0074】
その後S103において、不揮発メモリ(不図示)からθ補正用の各定数を読み出し、メインユニット2のメモリ72に格納する。また、センサユニットの取り付け時に取得した基準点データθorgも不揮発メモリ(不図示)から読み出し、メモリ72に格納する。
【0075】
次にS104〜S106において、CCD41の不要電荷を除去するための初期処理を行う。一般に、CCD等の光電変換素子においては、動作させていない間に不要な電荷が蓄積されている場合があるため、このような場合にCCDからの検出データをそのままリファレンスデータとして用いると、誤検出が発生したり検出不能となってしまう。そこで装置の立ち上げ時に、投光無しで、CCD41すなわちセンサユニット1からのデータ読み出しを複数回行っておく。S104ではその読み出し回数を設定し、S105で投光無しデータを読み出して不要電荷の除去を行い、S106で該S105の処理を所定回数繰り返す。
【0076】
上記不要電荷の除去処理が終了すると、次にS107でセンサユニット1から、リファレンスデータとして投光無しでの光量分布データB(N)を取り込み、S108でメモリ72に記憶する。このB(N)がすなわち、上記式(2)に示したBas_data[N]に相当する。
【0077】
次にS109において、もう一つのリファレンスデータである、投光した際の初期光量分布データR(N)を取り込み、S110でメモリ72に記憶する。このR(N)が、上記式(1)に示したRef_data[N]に相当する。
【0078】
ここまでの処理が、電源投入時の初期設定動作であり、以降、通常の入力動作が開始される。
【0079】
S111で、センサユニット1から投光有りデータN(N)を取り込むと、S112において、N(N)とR(N)との差分値(R(N)−N(N))によって遮光部分の有無を判定する。具体的には、該差分値が所定値以上である場合に、入力があったと判定される。ここで、座標入力無しと判定された場合にはS111へ戻り、再度取り込みを行う。この繰り返し周期を10[msec]程度に設定すれば、100回/秒のサンプリングが行われる。
【0080】
S112で遮光部分有り、すなわち入力があったと判定されると、S113に進んで、上記式(1),(2)で説明したように、光量分布の変化量の比Nr(N)を算出する。すなわち、光量分布変化量の比Nr(N)は、以下の式(12)によって算出される。
【0081】
Nr(N)=(N(N)−R(N))/(B(N)−R(N)) ・・・(12)
次にS114で、S113で得られた変化量の比Nr(N)に対して、所定の閾値を適用してその立ち上がり、立ち下がり位置を決定し、その中心位置を算出する。この処理はすなわち、上記式(4),(5),(6)に基づいて行われる。このように算出された中心位置に対し、先に読み込んでおいた係数を用いて、上記式(7)に基づいて仮想中心角度θpvを算出し、さらに式(8)によりこれを補正して、中心角度θcを求める。そしてS115で、S114で得られた中心角度θcから、Tanθを式(9)により算出する。なお、以上のS113〜S115の処理は、左右のセンサユニット1L,1Rのそれぞれについて行い、すなわち各センサユニット1について、入力点に応じた角度情報であるTanθが算出される。そしてS116で、以上のように算出された左右のセンサユニット1L,1RにおけるTanθから、上記式(10),(11)を用いてx,y座標を算出する。
【0082】
以上のように入力座標値が求まると、次にS117において、ペン6による入力指示の有無を判定する。すなわち、ペン6が入力用領域4にタッチされたペンダウン状態であるか否かの判定を行う。ペン6は、ペン先スイッチ等によるオン/オフを光信号によって発信しており、この光信号を受光IC5を介してサブCPU77が検出し、その結果を不図示のポートに出力している。このペンダウンの検出結果に応じて、ペンダウンフラグのセット(S118)あるいはリセット(S119)が行われる。すなわち、ペンダウン状態であればS118でペンダウンフラグがセットされ、ペンダウン状態でない、すなわちペンアップ状態であればS119でペンダウンフラグがリセットされる。
【0083】
以上のように入力座標値とダウン状態を示すペンダウンフラグが決定されると、最後にS120において、これらのデータを不図示のホストPCへ送信する。この送信は、USBやRS232等のシリアルインタフェースをはじめ、任意のインタフェースにより行われる。これを受信したPC側では、ドライバが受信データを解釈し、得られた入力座標値およびペンダウンフラグに基づいてカーソルの移動、マウスボタン状態の変更等を行う。 このように、座標入力装置での指示入力に基づいてPC画面の操作を行うことが可能になる。なお、S120の処理が終了したらS111に戻り、以降、電源がオフされるまで、当該フローチャートに示す処理が繰り返される。
【0084】
●座標入力装置用ペン
上述したように本実施形態の座標入力装置においては、「指」での入力を行うことも可能であるが、ペン6などの指示具による入力を行うことによって、マウスの各種ボタンに対応する操作を行うことが可能となる。以下、本実施形態におけるペン6の構成について、図16を用いて詳細に説明する。
【0085】
筆記具を模したペン6は、そのペン先端部を押圧することで動作するペン先スイッチ(以下、ペン先SW)61、並びに筐体側面に設けられた複数のペンサイドスイッチ(以下、ペンサイドSW)62を備える。また、筐体内部には、制御部としてのCPU64と、タイマ65、および電池66を備える。ペン先SW61および複数のペンサイドSW62のいずれかがダウン状態となることによって、タイマ65で計時により生成された所定の送信周期に同期して、信号が送信される。
【0086】
ここでペン先SW61のダウン状態とは、座標入力面であるディスプレイ等の入力用領域4に、座標入力用のペン6が接触して位置し、操作者によってまさに座標入力が行われ、筆跡を入力しようとする状態を表す。また、例えば、ペン先SW61を所定時間内に2回動作させた場合には、マウスのダブルクリック動作として認識するように構成されている。
【0087】
また、ペンサイドSW62のダウン状態とは、ペンサイドSW62が物理的に押下された状態を表す。図16によれば、ペン6には3個のペンサイドSW62_a、62_b、62_cが備えられており、例えば1つにマウスの右ボタン、他の1つに上下のスクロールボタン、というように、それぞれに機能を割り当てるられるように構成されている。
【0088】
ペンダウン状態時に発信される信号(以下、スイッチ信号)は、CPU64で検出されたペン先SW61及びペンサイドSW62の各状態、及び個体識別情報に応じて生成される。例えば、タイマ65の計時により生成された所定の送信周期毎に、タイミング信号、及びスイッチのアップ/ダウン情報、個体識別情報、に基づいて生成されたスイッチ信号を、赤外線LED63の発光によって発信する。この発信方法としては、まず、ペン6がタイミング信号として放射する光信号に、スイッチのアップ/ダウン情報や個体識別情報を示す信号を重畳させる。そして、この情報を伝送する際には、例えば連続するパルス列からなるリーダ部と、これに続くコード(メーカID等)とからなるヘッダ部をまず出力する。その後、ペン先SW61からの制御信号等よりなる送信データ列を、予め定義された順序と形式に従って順次出力する。なお、このような光通信による発信方法は、例えば赤外線を利用した遠隔制御装置等において周知であるため、ここでの詳細な説明は省略する。
【0089】
以上のようにペン6から発信された光信号(スイッチ信号)が図6に示す受光IC5で受光されると、サブCPU77において、ペン6のどのスイッチが動作しているのかを判定する。該判定結果に応じて、CPU73が、センサユニット1L,1Rの間で、CCDの制御信号やCCD用クロック信号、およびLEDの駆動信号のやり取りを開始する。
【0090】
●スイッチ信号検出処理
以下、本実施形態においてペン6より発信されたスイッチ信号の検出処理について、詳細に説明する。スイッチ情報や個体識別情報等よりなるスイッチ信号は光信号であり、外乱などの影響を受けにくいように所定の周波数fで変調されている。図17は、スイッチ信号の一例を示すものである。図17によればスイッチ信号は、データ開始を示すスタートビットと、ペン先SW信号S0とペンサイドSW信号S1、データの正当性を判定するためにS0,S1それぞれの反転信号/S0、/S1、データ終端を示すストップビット、からなる。これら各信号は、それぞれ周波数fで変調されている。
【0091】
ここで図18に、スイッチ信号検出の概要を示す。図18に示すように、スイッチ信号としての変調光は、受光IC5で受光されるとサブCPU77で復調され、ビット列としてCPU73へ入力される。この復調されたパルス幅は、受光IC5等の特性により変調波の幅とは異なる場合がある。入射光レベルにもよるが例えば、入力パルス幅10[μsec]に対し、数十[μsec]ほどのパルス幅を持って出力されることがある。
【0092】
サブCPU77は、スイッチ信号として先頭のスタートビットを検出すると、一定周期でのサンプリングを行って各ビット位置の1/0を判定し、/S0、/S1等の論理が適当であるか否か、また、ストップビットまで検出できたか否か、等の判断を行う。論理が適当であれば結果を出力するが、不適当であった場合には、当該スイッチ信号を破棄して再度検出を行う。
【0093】
●複数ペンによる同時入力制御
本実施形態の座標入力装置においては、入力用指示具としてのペン6の複数本により、複数点への同時入力を行うことが考えられる。ここで、本実施形態における複数ペンによる同時入力制御についての説明を行うに先立って、従来の座標入力装置において複数本のペンを同時使用した場合に起こりうる問題について、説明する。
【0094】
図19は、従来のペンによる入力を示すタイミングチャートであり、2101はペン先SWまたはペンサイドSWの何れかのダウン状態を表すスイッチダウン信号、2102は発光タイミング信号を示す。同図によれば、発光タイミング信号2102は、スイッチダウン信号2101の開始に合わせて発光が開始されることが分かる。
【0095】
ここで複数のペンを想定し、各々の個体識別情報を仮にID1、ID2とする。図20は、従来の複数ペンによる入力を示すタイミングチャートであり、2201,2202は、それぞれID1,ID2のペンにおけるペン先SWまたはペンサイドSWの何れかのダウン状態を示すスイッチダウン信号である。また2203,2204は、それぞれのペンにおける発光タイミング信号である。この発光タイミング信号2203,2204によれば、複数ペンの発光タイミングは、IDごと、すなわちペンごとに異なるように設定されることが分かる。
【0096】
このような2本のペンを入力に用いる際、各ペンにおけるスイッチダウン状態が同じタイミングで発生すると、図20の矢印部aに示すように、全く同じタイミングで各ペンの発光も行われることにより、信号の重畳が起こってしまう。その場合、光信号を受光する受光IC5およびサブCPU77では、ID1,ID2のいずれのペンからの発光であるかを判定できなくなるため、式(10),(11)で算出した複数の座標に対し、ペンの個体識別IDを割り振ることができなくなってしまう。なお、ID1とID2は互いの発光周期が異なるように設定されているため、次の発光タイミング(例えば、ID1においては図中b)で、正しい光信号を取得することができる。しかしながら、スイッチダウンのタイミングからは遅延しての座標出力となり、さらにこの遅延は複数のペンによる書き出しが同時になされる場合には毎回発生するため、ユーザ操作に対して違和感を与えてしまう。
【0097】
本実施形態ではこのような不具合を回避するために、ペン6の発光周期を生成するタイマ65において、ペンアップ状態となった後も、所定期間、その発光周期を継続して保持する。すなわち、ペン6による入力指示有りから入力指示無しとなった場合に、入力指示が有った際の発光タイミングの計時を所定期間継続する。
【0098】
図21は、本実施形態におけるペン入力を示すタイミングチャートであり、スイッチダウン信号2301と、送信周期に応じた発光タイミング信号2302を示す。同図に示すように、ペン先SW61またはペンサイドSW62がペンアップ状態になった図中aの期間においても、発光タイミング信号2302によるタイミングをタイマ65が保持する。すなわち、ペンアップ状態になるとタイマ65がタイミング信号2302の計時を継続する。なお、この継続は所定の保持期間内で行われる。そして、該保持期間内に次回のスイッチダウンが発生した際には、スイッチダウンの直後ではなく、タイマ65で計時が継続されている発光タイミング(図中b)に同期した発光、すなわち継続送信が開始される。
【0099】
図22は、このように発光タイミングを所定時間保持するような、本実施形態のペン6を2本同時に使用した場合のタイミングチャートである。図22において、2401,2402は、それぞれID1,ID2のペンにおけるペン先SWまたはペンサイドSWの何れかのダウン状態を示すスイッチダウン信号である。また2403,2404は、それぞれのペンにおける発光タイミング信号である。図22に示すタイミングaにおいて、複数のペンのスイッチダウンが同時に行われると、各ペンのタイマ65が保持している発光周期に同期して、ID1のペンは図中b、ID2のペンは図中cのタイミングで、各々スイッチダウン後の最初の発光が起こる。そのため、2本のペンによる光信号は重畳することなく、受光IC5およびサブCPU77によって検出された後、それぞれのスイッチ情報および個体識別情報を正しく取得することができる。
【0100】
本実施形態では、このようにペン6のタイマ65で、ペンアップによる送信中断後も発光タイミングを継続して保持することによって、複数ペンの発光信号同士が重畳する回数を大幅に低減することができる。したがって、複数のペンが同時に書き出した際の応答性が改善される。
【0101】
なお、設定する発光周期によっては、複数ペンのスイッチダウン後の最初の発光タイミングがたまたま重なってしまう状況も起こりうる。このような場合、発光タイミングの保持期間内であったとしても、このタイミングでスイッチダウンした場合、信号同士は重畳してしまう。しかしながらこのようなタイミングはすなわち、ペンの個体識別情報毎にそれぞれ設定された発光周期の最小公倍数となるタイミングであり、かつ、複数のペンがほぼ同時に入力された場合であるため、その発生頻度は高くない。図21,24で説明した発光タイミングの保持による衝突回数の見積もりは、図19,22で説明した従来の発光方式と比較して、略1/10以下となる。
【0102】
以上説明したように、複数のペンが各々所定時間発光タイミングを保持することで、同時にペンダウンを行った際の、ペン同士の発光の重畳を回避することができる。
【0103】
なお、発光タイミングを保持する保持期間としては、これが極端に短いと、図19で説明したような従来例とほとんど同様の構成となり、応答性の改善に関して適切でない。一方、極端に長時間に亙って発光タイミングを保持するように構成すると、今度は電池66の寿命に影響が出てしまう。発光タイミングの保持期間としては、これを数十秒程度に設定することが、上述したような効果が得るために最も効果的であると考えられる。この保持期間は、例えば会議中に複数のペンを使用して文字を入力する状況を想定すると、本実施形態の効果を得るに十分な時間であると考えられる。もちろん、この保持期間についてはペンの電池寿命との相関を鑑みながら設定すれば良く、数十秒の範囲に限定されるものではない。また、ペン6にこの保持期間を変更するための変更手段を設けても良い。以上のように発光タイミングの保持期間を設定することで、電池寿命を実用上問題ない程度に維持することが可能になる。
【0104】
以上説明したように本実施形態によれば、入力指示具のペンアップ時に直前の発光タイミングを継続して保持しておくことにより、該保持期間中にペンダウンが発生すると、該保持された発光タイミングに従った発光を行う。これにより、複数のペンによる入力が同時になされた場合でも、各々の発光タイミングが保持されているため、互いの発光同士が衝突する回数を大幅に減らすことが可能となり、書き出し時の筆記応答性を改善することができる。
【0105】
<第2実施形態>
以下、本実施形態における第2実施形態について説明する。なお、第2実施形態における座標入力装置の構成は上述した第1実施形態と同様であるため、同様の符号を参照するとして説明を省略する。上述した第1実施形態においては、複数のペンが発光タイミングを所定期間保持することで、ペン同士の発光の重畳を回避する例を示した。一方、座標入力装置本体側からの座標取得用の投光が、ペンスイッチ信号の検出に影響を及ぼすことも考えられる。
【0106】
図19で説明したように、従来の座標入力用ペンの発光はスイッチダウン時に開始されていた。そのため、座標取得用の投光とペンの発光とは同期が取られておらず、したがってこれらが重畳する場合が生じ、その場合にはスイッチ信号の検出が困難となる。復調された信号からスイッチ信号の状態を判定するサブCPU77は、スイッチ信号の有無によってスイッチの押下、つまり、ペン先SW61のダウン状態(またはペンサイドSW62のダウン状態)を判定する。そのため、サブCPU77では、スイッチングとして正規の光入力が得られない場合には、たとえ描画中であってもペンアップ状態と判定してしまう。このような場合には、連続して描画を行っている最中であっても、描いた線が途切れてしまうという状態が発生する。
【0107】
そこで第2実施形態においては、座標取得用の投光とペン発光との重畳が発生するタイミングを事前に検知することでこれを回避し、スムーズな描画を可能とすることを特徴とする。
【0108】
図23は、第2実施形態における座標取得処理を示すフローチャートである。まずS2502でポート、タイマ等の初期化処理が行われた後、座標取得用の検出ループ処理が開始される。
【0109】
該ループにおいては、まずS2503で、ペンの発光タイミング信号に基づき、該発光タイミングがアクティブであるか否かを判定する。この判定を行うために、上述した第1実施形態と同様にペン6ではペンアップ後も発光タイミングを所定期間保持する。
【0110】
S2503でペン発光がアクティブであると判定されると、S2504で所定時間ウェイトし、ペン発光の終了を待つが、ペン発光がアクティブでなければ、すなわちペン発光との重畳の可能性がないため、S2505で座標取得用の投光を行う。第2実施形態ではこのように、座標取得用の投光とペン発光との重畳を回避する。
【0111】
以降は上述した第1実施形態と同様に、S2506でセンサユニット1から光情報を取得し、S2507で該光情報に基づいて入力座標を算出し、S2508で該座標を出力する。
【0112】
図24は、第2実施形態におけるペン入力を示すタイミングチャートであり、スイッチダウン信号2601と発光タイミング信号2602、および投光タイミング信号2603を示す。
【0113】
発光タイミング信号2602は、ペン6内部のタイマ65で保持された発光周期に同期している。この発光タイミング信号2602を、サブCPU77を介してCPU73が取り込み、これに同期したタイミング情報(すなわち発光タイミングに同期した信号)を生成する。これによりCPU73は、ペンの発光タイミングが座標検出用の投光タイミングと衝突するタイミングであるか否かを事前に判定することが可能となる。CPU73は座標検出用の投光タイミングすなわち投光周期も制御するため、これがペンの発光タイミングと衝突するタイミングであることが分かった場合、投光タイミングをペンの発光終了後にずらす。例えば図24において、図中a,cが、ペン発光と投光の衝突するタイミングであり、これをそれぞれ、図中b,dのように、投光タイミングをペン発光終了後にずらす。このような投光制御を行うことにより、ペン発光と投光との重畳を避けることができる。
【0114】
以上説明したように第2実施形態によれば、ペンが発光周期を保持することによってペン発光と検出用の投光の重畳が生じるタイミングを事前に検出することができ、この重畳を回避することで、描画中の線の途切れがない、スムーズな入力が可能になる。
【0115】
なお座標入力装置本体では、ペンの発光が無い場合にも投光動作を行っているため、ペンが発光タイミングを保持していない状態における最初の一点目入力に関しては、ペン発光と投光とが衝突を起こす可能性がある。しかながら、それ以降においては、座標取得用の投光とペン発光との重畳を無くすことができるため、書き出し時の応答性の改善は十分に期待できる。
【0116】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
装置本体の入力用領域に入力指示具を接触させることによって入力を行う座標入力装置であって、前記入力指示具は、
該入力指示具から装置本体への送信を行う際の送信周期を計時により生成するタイマ手段と、
前記入力用領域に対する該入力指示具の接触の有無に応じて、入力指示の有無を検出する検出手段と、
前記検出手段で入力指示有りが検出された場合に該入力指示の情報を前記タイマ手段で生成された送信周期で装置本体へ光通信で送信し、前記検出手段で入力指示無しが検出された場合には装置本体への送信を行わない送信手段と、を有し、
前記タイマ手段は、前記検出手段で入力指示有りに続いて入力指示無しが検出された場合に、該入力指示有りの際の送信周期の計時を予め定められた保持期間、継続し、
前記送信手段は、前記検出手段で入力指示無しが検出されてから前記保持期間内に入力指示有りが検出されると、前記タイマ手段で計時が継続されている送信周期による送信を行う
ことを特徴とする座標入力装置。
【請求項2】
前記検出手段はさらに、前記入力指示具の側面に設置されたスイッチが押下されることによって発生した入力指示の有無を検出することを特徴とする請求項1に記載の座標入力装置。
【請求項3】
前記送信手段は、前記入力指示の情報として少なくとも、前記入力指示の有無を示す情報と、前記入力指示具の個体識別情報を含んで送信することを特徴とする請求項1または2に記載の座標入力装置。
【請求項4】
それぞれが前記入力用領域に対する入力を可能とする複数の前記入力指示具を有し、
複数の前記入力指示具は、それぞれのタイマ手段で生成される送信周期が互いに異なることを特徴とする請求項3に記載の座標入力装置。
【請求項5】
前記送信手段は、前記入力指示の情報に応じた発光を行うことにより、本体装置への送信を光通信として行うことを特徴とする請求項1乃至4のいずれか1項に記載の座標入力装置。
【請求項6】
さらに、前記入力用領域への投光を行う投光手段と、
前記入力用領域に対する前記投光による反射光の光量分布を検出する受光手段と、
前記受光手段で検出される光量分布の、前記投光のない状態で検出される光量分布に対する変化量に基づいて、前記入力用領域において前記入力指示具により前記反射光が遮光された座標位置を算出する座標算出手段と、
前記入力指示具から前記送信手段によって送信された前記入力指示の情報に基づいて、前記投光手段による投光が前記送信手段の発光と重畳しないように、投光周期を制御する投光制御手段と、
を有することを特徴とする請求項5に記載の座標入力装置。
【請求項7】
前記投光手段および前記受光手段は、前記入力用領域の2つの角部にそれぞれ設置され、
前記受光手段は、前記入力用領域の周辺部において前記投光手段からの投光が再帰反射した反射光の光量分布を検出する
ことを特徴とする請求項6に記載の座標入力装置。
【請求項8】
装置本体の入力用領域に入力指示具を接触させることによって入力を行う座標入力装置における、前記入力指示具の制御方法であって、
前記入力用領域に対する該入力指示具の接触の有無に応じて、入力指示の有無を検出する検出ステップと、
前記検出ステップにおいて入力指示有りが検出された場合に、該入力指示の情報を、タイマによる計時によって生成された送信周期で装置本体へ光通信で送信する送信ステップと、
前記検出ステップにおいて前記入力指示有りに続いて入力指示無しが検出された場合に、前記送信ステップによる送信を中断するとともに、前記入力指示有りの際の送信周期の前記タイマによる計時を予め定められた保持期間、継続させる保持ステップと、
前記検出ステップにおいて前記入力指示無しが検出されてから前記保持期間内に入力指示有りが検出されると、前記タイマで計時が継続されている送信周期による送信を行う継続送信ステップと、
を有することを特徴とする座標入力装置における入力指示具の制御方法。
【請求項9】
コンピュータで実行されることにより、該コンピュータを請求項1乃至7のいずれか1項に記載の座標入力装置における各手段として機能させるためのプログラム。
【請求項1】
装置本体の入力用領域に入力指示具を接触させることによって入力を行う座標入力装置であって、前記入力指示具は、
該入力指示具から装置本体への送信を行う際の送信周期を計時により生成するタイマ手段と、
前記入力用領域に対する該入力指示具の接触の有無に応じて、入力指示の有無を検出する検出手段と、
前記検出手段で入力指示有りが検出された場合に該入力指示の情報を前記タイマ手段で生成された送信周期で装置本体へ光通信で送信し、前記検出手段で入力指示無しが検出された場合には装置本体への送信を行わない送信手段と、を有し、
前記タイマ手段は、前記検出手段で入力指示有りに続いて入力指示無しが検出された場合に、該入力指示有りの際の送信周期の計時を予め定められた保持期間、継続し、
前記送信手段は、前記検出手段で入力指示無しが検出されてから前記保持期間内に入力指示有りが検出されると、前記タイマ手段で計時が継続されている送信周期による送信を行う
ことを特徴とする座標入力装置。
【請求項2】
前記検出手段はさらに、前記入力指示具の側面に設置されたスイッチが押下されることによって発生した入力指示の有無を検出することを特徴とする請求項1に記載の座標入力装置。
【請求項3】
前記送信手段は、前記入力指示の情報として少なくとも、前記入力指示の有無を示す情報と、前記入力指示具の個体識別情報を含んで送信することを特徴とする請求項1または2に記載の座標入力装置。
【請求項4】
それぞれが前記入力用領域に対する入力を可能とする複数の前記入力指示具を有し、
複数の前記入力指示具は、それぞれのタイマ手段で生成される送信周期が互いに異なることを特徴とする請求項3に記載の座標入力装置。
【請求項5】
前記送信手段は、前記入力指示の情報に応じた発光を行うことにより、本体装置への送信を光通信として行うことを特徴とする請求項1乃至4のいずれか1項に記載の座標入力装置。
【請求項6】
さらに、前記入力用領域への投光を行う投光手段と、
前記入力用領域に対する前記投光による反射光の光量分布を検出する受光手段と、
前記受光手段で検出される光量分布の、前記投光のない状態で検出される光量分布に対する変化量に基づいて、前記入力用領域において前記入力指示具により前記反射光が遮光された座標位置を算出する座標算出手段と、
前記入力指示具から前記送信手段によって送信された前記入力指示の情報に基づいて、前記投光手段による投光が前記送信手段の発光と重畳しないように、投光周期を制御する投光制御手段と、
を有することを特徴とする請求項5に記載の座標入力装置。
【請求項7】
前記投光手段および前記受光手段は、前記入力用領域の2つの角部にそれぞれ設置され、
前記受光手段は、前記入力用領域の周辺部において前記投光手段からの投光が再帰反射した反射光の光量分布を検出する
ことを特徴とする請求項6に記載の座標入力装置。
【請求項8】
装置本体の入力用領域に入力指示具を接触させることによって入力を行う座標入力装置における、前記入力指示具の制御方法であって、
前記入力用領域に対する該入力指示具の接触の有無に応じて、入力指示の有無を検出する検出ステップと、
前記検出ステップにおいて入力指示有りが検出された場合に、該入力指示の情報を、タイマによる計時によって生成された送信周期で装置本体へ光通信で送信する送信ステップと、
前記検出ステップにおいて前記入力指示有りに続いて入力指示無しが検出された場合に、前記送信ステップによる送信を中断するとともに、前記入力指示有りの際の送信周期の前記タイマによる計時を予め定められた保持期間、継続させる保持ステップと、
前記検出ステップにおいて前記入力指示無しが検出されてから前記保持期間内に入力指示有りが検出されると、前記タイマで計時が継続されている送信周期による送信を行う継続送信ステップと、
を有することを特徴とする座標入力装置における入力指示具の制御方法。
【請求項9】
コンピュータで実行されることにより、該コンピュータを請求項1乃至7のいずれか1項に記載の座標入力装置における各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2011−128991(P2011−128991A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−288416(P2009−288416)
【出願日】平成21年12月18日(2009.12.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願日】平成21年12月18日(2009.12.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]