JP4136584B2 - Coordinate input device, coordinate value output method and program - Google Patents
Coordinate input device, coordinate value output method and program Download PDFInfo
- Publication number
- JP4136584B2 JP4136584B2 JP2002295542A JP2002295542A JP4136584B2 JP 4136584 B2 JP4136584 B2 JP 4136584B2 JP 2002295542 A JP2002295542 A JP 2002295542A JP 2002295542 A JP2002295542 A JP 2002295542A JP 4136584 B2 JP4136584 B2 JP 4136584B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinate
- detected
- value
- coordinate value
- display screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、座標入力装置及び座標値出力方法とプログラムに関するものである。
【0002】
【従来の技術】
従来、CRTディスプレイ、液晶ディスプレイ、あるいはプロジェクター等の表示装置の表示画面に、座標を入力することができる座標入力装置を重ねて配置し、操作者が行ったポインティング(指示)或いは筆記による筆跡をディスプレイに表示し、あたかも、紙と鉛筆のような関係を実現することができる装置が知られている。座標入力装置としては、抵抗膜方式をはじめ、静電方式、ガラス等の座標入力面に超音波を伝播させる超音波方式等、透明な入力板を有するものや、光学式、あるいは空中に音波(超音波)を放射することで位置を検出する空中音波方式、さらには電磁誘導(電磁授受)方式の様に、表示装置の裏側に座標検出のための機構を配置し、表示装置の前面に透明な保護板を配置して、入出力一体の情報機器を構成している物もある。
【0003】
この様な機器は、携帯性を有する小型の電子手帳に始まって、ペン入力コンピュータ等、表示デバイスの大型化に伴って、比較的大きなサイズの情報機器も見られるようになり、更に、フロントプロジェクタ、リアプロジェクタ、大型液晶ディスプレイあるいはPDP等の大型の表示装置と組み合わせて、例えばプレゼンテーション装置やTV会議システム等に利用され始めている。
【0004】
特に、大型表示装置と座標入力装置を組み合わせた装置は、従来オフィスにおいて使われていたホワイトボードあるいは電子黒板にとって変わり、パソコン内にあらかじめ用意した資料用データを大画面ディスプレイに表示させることで、会議用途、打ち合わせ用途に使われ始めている。その場合、ホワイトボードのように操作者あるいは出席者によりディスプレイに表示された情報を更新するために、直接画面をタッチすることで、そのタッチによる座標入力によりパソコンを制御して表示画面の表示内容を切り替えることができるように構成されている。
【0005】
このような装置において、大勢の参加者を想定した打ち合わせ、及びネットワーク時代を考慮すれば、上記のように操作者が直接画面をタッチすることでパソコンを制御するばかりでなく、例えば画面を見ながら発表内容を聞いている会議参加者が、質問、或いは反論のための証拠資料を表示したりすることができるように、画面から離れた位置においても、画面の操作(表示情報の制御、所望位置の指示等)を行なったり、必要に応じてネットワークより情報を引き出せるような構成が好ましい。
【0006】
さらに、大画面ディスプレイを用いたプレゼンテーションを考慮すると、操作者(発表者)は映し出された画像全体を認知しようと、画面より離れた位置に立つのが通例である。このことは、OHP等を用いたプレゼンテーションで明らかなように、操作者と画面の距離は画像サイズが大きくなればより長くなる。この場合、画面の所望の位置を指示する手段として、画面を見ている参加者の視線をさえぎらないレーザポインタあるいは指し棒が常用されているが、それと同様のポインタとしての直線的な指示を行なえるように構成された空中音波(超音波)方式の座標入力装置が知られている(特許文献1参照)。
【0007】
その装置では、座標入力位置を指示する指示具(指示ペン)の長手方向に沿って配設された複数の音波発生手段から空中に発せられる音波(超音波)をディスプレイの画面の周囲に配置された3つ以上の音波検出手段により検出して複数の音波発生手段の位置の座標を算出し、それから複数の音波発生手段の位置を通る(結ぶ)直線とディスプレイの画面との交点(指示点)の座標を導出するようになっている。
【0008】
【特許文献1】
特公平7−97304号公報
【0009】
【発明が解決しようとする課題】
しかしながら、ポインタとしての指示を行なえる上記の空中音波方式の座標入力装置における指示では、レーザーポインタの操作性でも明らかなように、指示具と画面(指示面)の距離が大きくなるほど画面上の指示点の揺らぎが大きくなるという問題があった。この問題を図15により説明する。
【0010】
図15(A)は、操作者が画面のスクリーンから異なる距離の位置のそれぞれから、所定時間レーザポインタを保持してスクリーン上の1点に向かってレーザ照射をし続けた場合に、レーザポインタを保持した手元の振れにより、スクリーン上で照射されたレーザの輝点(指示点)が揺らぐ幅を測定した実験の結果を示している。照射距離が長くなる程その揺れ幅は大きくなり、照射距離10mで幅約90mmに達する。つまり、照射距離が長くなれば操作者は所望の点を指示し続ける事ができない。
【0011】
また図15(B)は、図15(A)の結果を、レーザポインタを保持した手元の振れ角Θ(=tan-1 [(スクリーン上の輝点の揺れ幅/2)/(照射距離)]で整理した結果を示している。ここで手元の振れ角Θが照射距離に依存せずほぼ一定(約0.3°)である事から、レーザの輝点の揺れは、主にこの振れ角Θによって発生することが分かる。
【0012】
上記ポインタとしての指示を行なえる空中音波方式の座標入力装置においても、座標検出精度が高精度であっても、同様に画面の指示を行なう場合に、指示具を保持する人間の保持能力で約0.3°の手元の振れ角があることから、指示点の揺らぎが発生し、指示具と画面の距離が大きくなる程、揺れ幅が大きくなる。その結果、この種の座標入力装置でOHP等の大画面上の所望の位置を指示具により離れた位置から指示する場合に、指示点(前述した交点)が揺らぎ、指示点に表示されるカーソルなどが揺らぎ、画面を見ているプレゼンテーションの参加者などにとって不快感、煩わしさ、疲れを感じさせてしまうという問題があった。この問題は空中音波方式に限らず、指示具によりポインタとしての直線的な指示を行なえるように構成された座標入力装置に共通するものである。
【0013】
一方、空中音波方式の座標入力装置では、上記のポインタとしての指示を行なえるように構成されたものに限らず、音波発生手段を設けた指示具と、画面の周囲などに配置された音波検出手段との距離が大きくなる程、座標検出の分解能が低下するという問題がある。これについて以下に説明する。
【0014】
一般的に空中音波方式の座標入力装置では、座標入力位置を指示する指示具に設けられた音波発生手段(音波信号の発信源)から所定周期毎に空中に発せられる信号としての音波(一般的に超音波)を例えばディスプレイの画面などに配置された複数の音波検出手段(音波信号の受信手段)により検出し、その音波の検出信号をアナログ回路で処理して音波検出手段への音波の到達タイミングを検出して音波の到達するまでの遅延時間を計測し、さらにその遅延時間から音波発生手段と音波検出手段間の距離を算出し、その距離に基づいて音波発生手段の位置の座標を算出している。
【0015】
これに対して空中を伝播する音波のエネルギーは伝播距離が大きくなるにつれて指数関数的に減衰する。従って、指示具と音波検出手段の距離が大きくなるにつれて音波検出手段の音波の検出信号のレベルも指数関数的に減衰する。それに伴なって上記アナログ回路の出力も低下し、電気的に変換された信号以外の音波の成分(音響的ノイズ)や回路上存在する電気的ノイズと信号の比、つまりS/Nも低下する。この結果、上記の到達タイミングの検出分解能が低下し、上記遅延時間の計測分解能も低下する。これにより、図16に示すように、音波発生手段と音波検出手段間の測定距離にほぼ比例してその距離の測定分解能が低下し、座標検出分解能も低下することになる。
【0016】
これにより、例えば前述したポインタとしての直線的な指示を行なえるように構成されていない(指示具の音波発生手段が1つのみの)装置でも、(表示画面から離れた位置で指示具の位置のX軸とY軸の座標入力により表示画面上のカーソルの位置を制御する場合、指示具と表示画面の距離が大きくなるほど座標検出分解能が低下するため、カーソルが大きく揺らぐというような問題があった。
【0017】
なお、この測定距離の増大に伴う座標検出分解能の低下の問題は、空中音波方式の座標入力装置に限らず、座標入力位置を指示する指示具に設けられた信号発信源から所定周期毎に発信される信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する方式の座標入力装置に共通するものである。
【0018】
本発明は、以上のような事情に鑑みてなされたもので、その課題は、座標入力装置において、上述した座標検出のための測定距離の増大に伴う座標検出分解能の低下を補償することができるとともに、特にポインタとして構成される場合に問題となる指示面(座標入力面)までの距離の増大に伴う指示面上での指示点の揺らぎの増大を抑えることができるようにすることにある。
【0019】
【課題を解決するための手段】
上記の課題を解決するため、本発明によれば、
座標指示具により指示された、表示画面の横方向と縦方向における座標値、及び、前記表示画面と直交する方向における座標値を連続的に検出し、前記連続的に検出された、前記表示画面の横方向と縦方向における座標値の平均値を出力する座標入力装置であって、
前記座標指示具が前記表示画面から離れるのに応じて前記平均値を算出するためのサンプル数が多くなるように、前記連続的な座標値の検出において最初に検出された座標値に基いて、前記平均値を算出するためのサンプル数を設定する設定手段と、
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出されると、前記連続的に検出された、前記表示画面の横方向と縦方向における座標値の平均値を出力する出力手段と、
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出される前に、前記連続的な座標値の検出が中断すると、前記表示画面の横方向と縦方向における座標値の平均値を演算するための処理を終了する終了手段を有することを特徴とする。
【0024】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態を説明する。ここでは3次元(空間)座標の検出可能な空中音波方式の座標入力装置における実施形態を示す。
【0025】
[第1の実施形態]
本発明の第1の実施形態を図1〜図8により説明する。
【0026】
図1は本実施形態における座標入力装置の全体の概略構成を示すものである。図1中で4は、座標入力位置を指示する指示具であるところの座標入力ペンであって、操作者による操作により空中に音波(可聴音波でもよいが超音波の方が好ましい)を発生するように構成されている。発生した音波は、ディスプレイ6の表示画面の周囲に配置された複数(ここでは4個)の検出センサ3a〜3dにより検出され、それぞれの検出信号が後述する方法により信号波形検出回路2で処理されて検出センサ3a〜3dへの音波の到達タイミングが検出され、それにより演算制御回路1において検出センサへの音波の到達時間が計測され、それに基づいて座標入力ペン4の音波発生源の位置の座標(X,Y,Z)が算出されるように構成されている。
【0027】
演算制御回路1は装置全体を制御するとともに、得られる座標データを基に、ディスプレイ駆動回路7を介して、ディスプレイ6に表示されているカーソルを移動したり、あるいは文字や図形などの筆記情報をディスプレイ6に表示、追記できるように構成されている。
【0028】
このように、座標入力装置とディスプレイ6を組み合わせることで、ディスプレイ6の表示画面上で座標入力ペン4を操作した場合には、あたかも紙と鉛筆の様な関係を実現することができるマンマシンインターフェースを提供すると共に、表示画面より離れた位置で座標入力ペン4を操作した場合には、例えば表示画面上でカーソルを移動させるなどして遠隔操作による画面制御を行なうことができる。
【0029】
次に、座標入力装置の構成と動作の詳細を説明する。まず図2により座標入力ペン4の構成について説明する。座標入力ペン4には音波発生源(音波信号の発信源)43、駆動回路45、電源46が内蔵されており、音波発生源43は駆動回路45により駆動される。駆動回路45は、タイマと発振回路、並びに座標入力ペン4に具備されている複数のスイッチ41,42a,42bの操作情報を検知して制御する制御回路等で構成されている。音波発生源43の駆動信号は、前記タイマによって発せられる所定の周期で繰り返すパルス信号であって、前記発振回路により所定のゲインで増幅された後、音波発生源43に印加される。この電気的な駆動信号は音波発生源43によって機械的な振動に変換され、その振動による音波が空中に放射される。その一方で、前記音波の放射タイミングと同期した光信号が赤外LED等の発光手段44より発信される。
【0030】
なお座標入力ペン4は、そのペン先端部を押圧することで動作するペン先スイッチ41、並びに座標入力ペン4の筐体側面に設けられた2つのペンサイドスイッチ42a,42bを備えている。これらのスイッチのいずれかが押圧されてオンすることに応じて駆動回路45が音波発生源43を駆動する。
【0031】
さて駆動回路45から音波発生源43に印加される駆動信号の周期は、例えば10msecであり、その場合、音波が1秒間あたり100回放射され、座標出力サンプリングレートは100回/秒となる。その周期毎に座標入力ペン4から音波とスタート信号である光信号が放射されることになる。
【0032】
放射された音波は音波発生源43から各検出センサ3a〜3d迄の距離のそれぞれに応じた時間だけ遅延して各検出センサ3a〜3dに到達し、検出される。その検出信号のそれぞれは信号波形検出回路2に入力され、そこで検出信号の波形から各検出センサ3a〜3dへの音波の到達タイミングが検出される。その動作を図3及び図4により以下に説明する。図3は各信号のタイミングチャートであり、図4は信号波形検出回路2の構成を示すブロック図である。
【0033】
図3において、符号101は座標入力ペン4の駆動回路45で発生される駆動信号であり、この駆動信号101の発生と同時に後述のように音波の到達時間の計時をスタートさせるためのスタート信号としての光信号が発光手段44から発せられる。この光信号は、図1に示すようにディスプレイ6の表示画面の近傍に設けられた受光素子5によって受光され、図4に示す信号波形検出回路2の周波数検波回路210で検波されて制御信号検出回路211で検出され、演算制御回路1に入力される。これにより後述する演算制御回路1のタイマ303が計時をスタートさせられる。
【0034】
一方、駆動信号101により座標入力ペン4の音波発生源43が駆動され、音波が空中に放射され、音波発生源43と各検出センサ3a〜3d間の距離に応じた遅延時間をかけて、各検出センサ3a〜3dに到達し、検出される。
【0035】
なお、図3において検出センサ3は、検出センサ3a〜3dの個々を代表して示したものであり、符号201〜207の構成が検出センサ3a〜3dのそれぞれに対して設けられる。
【0036】
検出センサ3の音波検出信号は、前置増幅回路201で所定レベルまで増幅される。その信号を図3に符号102で示してある。この音波検出信号102が絶対値回路と低域通過フィルタ等から構成されるエンベロープ検出回路203で処理され、信号102のエンベロープ103のみが取り出される。このエンベロープ103に着目すると、その波形が伝播する音速は群速度Vgであり、このエンベロープ103の波形の特異点、例えばピークや変曲点を検出すると、音波の音波発生源43から検出センサ3に到達するまでの群速度Vgに関わる遅延時間(到達時間)Tgが得られる。
【0037】
本実施形態では変曲点を求めるため、エンベロープ信号103は2階微分回路206と、コンパレータからなるゲート信号発生回路205に入力される。2階微分回路206はエンベロープ信号103を2階微分して2階微分信号106を生成する。ゲート信号発生回路205はエンベロープ信号103のレベルが所定の閾値レベル104を上回る間だけ開く(ローレベルになる)ゲート信号105を発生する。
【0038】
2階微分信号106とゲート信号105は、ゼロクロスコンパレータなどからなるTg信号検出回路207に入力される。この回路207は、ゲート信号105が開いている間で2階微分信号106が最初にゼロクロスする点を変曲点として検出し、その検出信号であるTg信号107を発生する。このTg信号107が演算制御回路1に入力され、同回路1においてTg信号107により音波の群速度Vgに関わる遅延時間Tgが計測される。さらに、この遅延時間Tgと群速度Vgから音波発生源43と検出センサ3間の距離Lが次式により求められる。
【0039】
L=Vg×Tg …(1)
なお、厳密に言えば遅延時間Tgには波形処理に関わる回路の遅延分が含まれるが、その影響は除去することができるので、ここでは説明を簡略化するために、回路遅延時間は無いものとして説明する。
【0040】
次に、演算制御回路1の構成と動作を図5のブロック図により説明する。演算制御回路1の構成を示す図5中において、301は、演算制御回路1及び本座標入力装置全体を制御するマイクロコンピュータであり、制御の主体となるCPU301a、制御プログラムを記憶したROM301b、そしてワークエリアとして計算等に使用するRAM301c、不図示の定数等を記憶する不揮発性メモリ及びカウンタなどによって構成されている。
【0041】
前述した通り、座標入力ペン4の音波発生源43の駆動信号101と同期した光信号のスタート信号が信号波形検出回路2の制御信号検出回路211で検出され、マイクロコンピュータ301に入力される。これに応じてマイクロコンピュータ301はカウンタなどで構成されたタイマ303をスタートさせる。こうすることで、音波発生源43の駆動タイミングとタイマ303のスタートタイミングの同期が得られるので、音波発生源43で発生した音波が各検出センサ3a〜3dのそれぞれに到達するまでの時間(先述した遅延時間Tg)を測定することが可能となる。
【0042】
音波が各検出センサ3a〜3dに到達して検出される毎に、信号波形検出回路2から各検出センサ3a〜3dからの先述したTg信号107である音波到達タイミング信号Tga〜Tgdが検出信号入力ポート306を介してラッチ回路304a〜304dに各々入力される。ラッチ回路304a〜304dの各々は、対応するセンサよりのタイミング信号を受信すると、その時のタイマ303の計時値をラッチする。
【0043】
この様にして座標検出に必要な全ての検出信号の受信がなされたことを判定回路305が判定すると、マイクロコンピュータ301にその旨の信号を出力する。これを受けてマイクロコンピュータ301は、ラッチ回路304a〜304dから各検出センサ3a〜3dまでの音波到達時間を読み取り、後述する計算を行なって、座標入力ペン4の音波発生源43の位置の座標を算出する。さらに、この得られた座標値(絶対座標値)を後述する方法で処理した結果を、I/Oポート307を介してディスプレイ駆動回路7に出力し、ディスプレイ6の対応する位置に例えばドット等を表示し得るようにする。またI/Oポート307を介して不図示の外部インターフェース回路に座標情報を出力することによって、外部機器に座標値を出力することができる。
【0044】
次に座標入力ペン4の音波発生源43の位置の3次元座標(x,y,z)の算出方法を図6により説明する。図6に示すように、長方形のディスプレイ6の4つの角部のそれぞれの近傍に検出センサ3a〜3dが配置されるものとし、ディスプレイ6の平坦な表示画面の中心を原点O(0,0,0)、表示画面内で表示画面の横方向に沿って原点Oを通る1軸をX軸、表示画面内で表示画面の縦方向に沿って原点Oを通る1軸をY軸、X軸とY軸に直交する1軸をZ軸とする。なお、Disp_Xは表示画面(表示領域)のX軸方向の長さをY軸で2等分した長さ、Disp_Yは表示画面(表示領域)のY軸方向の長さをX軸で2等分した長さである。
【0045】
そして、前述のようにして求められる音波発生源43と各検出センサ3a〜3dの距離を各々La〜Ld、X軸方向の検出センサ間距離をXs-s、Y軸方向の検出センサ間距離をYs-sとすれば、三平方の定理から、
【0046】
【数1】
【0047】
である。これから音波発生源43の位置のx座標は、次式により求められる。
【0048】
【数2】
【0049】
同様にしてy座標とz座標は次式により求められる。
【0050】
【数3】
【0051】
このような演算をマイクロコンピュータ301が行なうことにより、座標入力ペン4の音波発生源43の位置の3次元座標(x,y,z)を算出することができる。
【0052】
なお、上記(3)〜(5)式から分かるように、例えば距離La,Lb,Lcが分かれば、つまり3個の検出センサと音波発生源43の距離を測定できれば音波発生源43の位置座標を算出できる。本実施形態では、検出センサとして3a〜3dの4個を用いているので、例えば、音波発生源43からの距離が最も遠いセンサの情報を使わず(このセンサでは、距離が最も遠いために出力信号レベルが最も小さくなっている)、残り3個の距離情報のみで座標を算出することで、信頼性の高い座標算出を可能としている。また、この距離が最も遠いセンサの情報を活用することで、出力された座標値の信頼性が高いものか判定することも可能である。具体的方法としては、例えば、距離情報La、Lb、Lcで算出された座標値と、距離情報Lb、Lc、Ldで算出された座標値は同一の値を出力するはずであり(距離情報の組み合わせを変更して演算する)、両者が一致しない場合には、いずれかの距離情報が不正、つまり誤検出したことになるので、その場合には、座標値を出力しない、と言った信頼性を向上させる構成も実施可能となる。
【0053】
なお、以上に説明した構成は、単に座標入力ペン4の音波発生源43の位置の3次元座標の入力だけを行なうものであるが、特許文献1に記載されたものと同様に、音波発生源43を2つ座標入力ペン4の長手方向に沿って並ぶように設け、その2つの位置のそれぞれの3次元座標を検出し、それからその2つの位置を結ぶ直線とディスプレイ6の表示画面との交点の位置の座標を導出するようにすれば、レーザーポインタと同様に表示画面の所望の位置を直線的に指示するポインタとして用いることができる。
【0054】
ところで、本実施形態では、前述した発明の課題を解決するために、検出される一連の3次元座標の内のx座標とy座標を平均化する演算処理(以下、平均化処理という)をマイクロコンピュータ301(のCPU301a)が行なう。
【0055】
この平均化処理は、周期的に逐次検出される一連のx座標値とy座標値の算術平均を求めて平均化する処理であり、その際に検出されるz座標値が大きくなるほど1回に平均化する座標値のサンプル数(以下、平均化サンプル数という)を大きくする。
【0056】
この平均化処理の詳細を図7により以下に説明する。図7は平均化処理の演算処理手順を示すフローチャートであり、これに対応した演算処理プログラムがマイクロコンピュータ301のROM301bに格納され、CPU301aにより実行される。
【0057】
図7の処理では、まずステップS101において、後述のように逐次検出されて記憶されるx,y,z座標値のそれぞれのサンプル数を示す整数nを0に初期化し、その後、座標入力ペン4の音波発生源43の位置の座標が検出されるまで、待機する。
【0058】
ここで、あるタイミングで座標が検出されると、ステップS102においてサンプル数nを『1』インクリメントし(この場合、最初でn=1になる)、その後、ステップS103で検出した座標値(X,Y,Z)をn番目のサンプルの座標値(Xn,Yn,Zn)としてRAM301cに記憶する。
【0059】
続いて、ステップS104でサンプル数n=1か否か判定し、n=1の場合はステップS105で検出された座標値の内のZ座標値に基づいて平均化サンプル数Kendを設定する。その設定方法は、上述のようにZ座標値が大きくなる程(言い換えれば、座標入力ペン4がディスプレイ6の表示画面(Z=0)からより離れた所に位置する程)、平均化サンプル数Kendの値をより大きく設定する様にし、その増大方法は、例えばZ座標値の増大に応じて比例的あるいは指数関数的に増大させても良い。
【0060】
ステップS105の後、及びステップS104でサンプル数n=1でなかった場合、ステップS106に進み、サンプル数nの値が平均化サンプル数Kendの値と一致しているか判定し、一致しない場合にはステップS108で座標が連続的に検出されているか判定し、連続的に検出されている場合には、ステップS102に戻りステップS102〜S106,S108の処理を繰り返す。これにより、連続的な座標検出が中断されない限り、ステップS106でサンプル数nの値が平均化サンプル数Kendの値と一致するまで逐次検出された座標が記憶される。
【0061】
そして、ステップS106でサンプル数nの値が平均化サンプル数Kendの値と一致した場合には、ステップS107で一連の動作で検出され記憶されたX座標値とY座標値(それぞれ平均化サンプル数Kend個の座標値が存在している)の算術平均(相加平均)値、すなわち、それぞれの座標値の合計値を平均化サンプル数Kendで除した商の座標値Xave,Yaveを算出し、I/Oポート307を介してディスプレイ駆動回路7や他の外部機器などに出力する。ここでZ座標値の平均値Zaveも算出して出力するようにしてもよい。例えば座標入力ペン4に音波発生源43を2つ設けてポインタとして構成する場合にはX,Y,Zの座標値の全ての平均化処理を行なう。また、用途に応じて、X,Y,Z座標値のいずれか1つのみの平均値を算出して出力することもあり得る。
【0062】
このようにして平均値を出力した後、一連の処理を終了(ステップS109)して、ステップS101のサンプル数nの初期化、待機状態に戻る。
【0063】
一方、ステップS108で連続的に座標検出が行なわれていなかった場合、すなわち連続検出状態が中断した場合には、整数nが平均化サンプル数Kendの値に達していなくても、ステップS109に進んで処理を終了する。これは連続的に座標検出が行われている状態であればこそ、平均化処理による座標値が有効となるためである。
【0064】
なお、ここでの座標の連続検出の判定方法について説明しておく。本座標入力装置が例えば座標検出を100回/秒の座標サンプリングレートで行えるものとすれば、10msecの周期毎に座標が検出される。この周期を計測することで、連続的に座標検出が行われているかを判定することができる。具体的には、例えば、制御信号検出回路211が検出する光信号のスタート信号の発生タイミングを監視(この場合、サンプリングレートを100回/秒とすれば、0.01秒毎にスタート信号が発生する)する事によって、連続検出の状態にあるかどうかを判定する。また、その他の方法として、直接に図3の音波検出信号102の到達間隔を監視する。この場合は、座標入力ペン4の移動に伴ってペン4と各検出センサ3a〜3dの距離が絶えず変化するので、サンプリングレートに基づく時間(サンプリングレートを100回/秒とすれば0.01秒)に対して距離変化に伴なう音波の伝達時間の差が増減される。従って約0.01秒程度の周期(理論的には0〜0.02秒の範囲内に必ず信号が受信される)と言う表現になり、実用上0.01秒以内におけるペン4の最大移動量を考慮し、例えば0.015秒以内に信号が受信できたときには連続して座標検出が行われていると判定する。
【0065】
以上のように、検出されたz座標値が大きくなるほど、すなわち座標入力ペン4と検出センサ3a〜3dとの距離が大きくなるほど大きな平均化サンプル数でx,yないしz座標値を平均化して出力することにより、上記距離が大きくなるほど座標検出分解能が低下することを補償することができる。つまり、座標検出分解能の低下による検出座標値のばらつきを検出座標値の平均化によって消去することができ、それにより実質的に座標検出分解能を向上させることができる。そして、ディスプレイ6の表示画面から離れた位置から座標入力ペン4の位置のX,Y座標の入力により表示画面上のカーソルの位置を制御する場合に距離の増大に伴うカーソルの揺らぎを抑えることができる。
【0066】
また、座標入力ペン4に音波発生源43を2つ設けてポインタとして構成した場合、前述のように、操作者が表示画面から離れた位置からペン4で表示画面上の所望の位置を指示する際に、操作者がペン4を保持する手元の振れによる表示画面上の指示点(2つの音波発生源43を結ぶ直線と表示画面の交点)の揺らぎを平均化処理により抑制することができる。つまり、ペン4を保持した手元の振れによる2つの音波発生源43の位置の座標値の変動を、その平均化により抑制することができ、それにより、前記座標値から導出される表示画面上の指示点(上記の交点)の座標値の変動、すなわち指示点の揺らぎを抑制することができる。こうして、表示画面上の指示点の揺らぎを抑制して、指示点に表示されるカーソルなどの揺らぎを抑制することができ、表示画面を見ている人にとって見易い環境を提供することができる。
【0067】
ただし、上記の平均化処理により、座標サンプリングレートが実質的に低下する。例えば、図7のステップS105で平均化サンプル数Kendの値がKend=10にセットされたと仮定すると、例えば座標サンプリングレート100回/秒の性能を有する座標入力装置の場合、この平均化処理により外部への座標値の出力は秒あたり10回に低下することになる。しかし、これは以下の理由により問題ない。
【0068】
操作者にとってみれば、Z=0、つまりディスプレイ6の表示画面上では、座標入力ペン4によって文字、図形等の筆記入力を行い、その筆跡を表示する事で『ホワイトボード』のように情報を記録できることが重要であり、文字、図形としてその筆跡を忠実に再現するために十分な座標サンプリングレートが確保されていなければならない。
【0069】
しかし、画面から離れるに従って、その機能は重要でなくなり、離れた場所で特定の位置を『指示できる』、或いは特定の文章に『アンダーラインを引く』、さらには特定の領域を『囲む(選択する)』と言った大雑把な動作の機能が重要になる。つまり、画面から離れるに従って座標サンプリングレートが実質的に低下しても、上記の『大雑把な動作』の実現は可能であり、問題ない。
【0070】
また、本実施形態では、座標算出に関して、時間遅れが発生する。つまり、座標入力した時点から平均化サンプル数Kend分の座標算出が行われなければ、外部への座標出力を行わない仕様なので、例えば、座標入力装置のサンプリングレートを100点/秒、平均化サンプル数Kendを10回とすれば、10msecの時間遅れが生じる。しかし、検討の結果、その程度の時間遅れでは、人間の感覚(座標入力したのに、出力されない、或いは遅れていると感じる間隔)として問題なく操作できることが確認されている。平均化サンプル数Kendがそれ以上の値になると、人間は遅れていると感じ始めるが、そのような平均化サンプル数に設定されるのは、音波発生源43と検出センサ3a〜3dの距離が比較的大きな距離、言い換えれば、ディスプレイ6の表示画面から十分に離れた距離となっているので、その時の使用目的(細かい字や図形を入力するのでなくて、指し示す等の大雑把な動作)を鑑みれば、実用上問題無い。これは、次に述べる第2の実施形態、及び後述する第3の実施形態についても同様に言えることである。
【0071】
[第2の実施形態]
上述した第1の実施形態の平均化処理では座標サンプリングレートが実質的に低下する。これに対処して座標サンプリングレートが実質的に低下しないようにして平均化処理を行なう第2の実施形態を図8により説明する。なお、第2の実施形態の装置に関して平均化処理の方法以外は第1の実施形態と共通とする。
【0072】
図8は第2の実施形態における平均化処理の演算処理手順を示すフローチャートであり、これに対応した演算処理プログラムがマイクロコンピュータ301のROM301bに格納され、CPU301aにより実行される。
【0073】
図8の処理手順においてステップS101〜S109は第1の実施形態の図7のステップS101〜S109と共通であり、新たに付加されたステップS110だけ異なる。以下、図7の処理と共通の部分の説明は省略し、異なる部分のみ説明する。
【0074】
図7の処理では、ステップS107においてそれまでの動作で検出され記憶された平均化サンプル数Kend個のX座標値とY座標値ないしZ座標値の算術平均値Xave,YaveないしZaveを算出して外部に出力した後、処理を終了し(ステップS109)、ステップS101へ戻ったのに対し、図8の処理ではステップS107の後にステップS110に進む。
【0075】
ステップS110では、それまでの動作でRAM301cに記憶されている平均化サンプル数Kend個ずつのX,Y,Z座標値のそれぞれについて、最初の(最も古い)サンプルX1,Y1,Z1を消去した上で、残るサンプルXnをXn-1、YnをYn-1、ZnをZn-1として再記憶する。例えば平均化サンプル数Kendが3だとするとX2をX1、X3をX2として再記憶する。またサンプル数nを「1」デクリメントする。
【0076】
ステップS110の後はステップS108に進んで座標が連続的に検出されているか否か確認し、連続的に検出されていたらステップS102に戻り、ステップS102以下の処理を繰り返す。
【0077】
また、ステップS108で座標が連続的に検出されていなかった場合、つまり座標の連続入力動作が終了した場合、記憶している座標値及び平均化サンプル数Kendなどの情報を全てリセットして処理を終了し(ステップS109)、ステップS101に戻る。
【0078】
このような本実施形態の平均化処理によれば、座標検出が連続的になされている限り、検出される座標のサンプル数が最初に平均化サンプル数Kendに達した以後は1回の座標の検出毎に、座標の平均化、平均値の出力がなされ、移動平均の出力がなされる。従って、座標入力装置の本来の座標のサンプリングレートが例えば100回/秒なら100回/秒というようにそのままに維持される。
【0079】
本実施形態の構成を採用したサンプリングレート100回/秒の座標入力装置を用いた実験の結果、Z=0において(表示画面上の入力であって、文字、図形を入力するために高速のサンプリングレートが要求される状態)も平均化サンプル数10回以下であれば、違和感無く的確な文字入力が行え、この観点で、座標入力装置の本来の座標検出分解能が比較的悪い場合であっても、本実施形態の構成を採用することで、座標検出分解能を向上できることがわかる。また、第1の実施形態に比べて表示画面から離れた所からでも高サンプリングレートで座標入力を行なうことができる。
【0080】
以上説明した第1と第2の実施形態では、検出座標値の平均化処理を座標入力装置の内部で実行するものとしたが、座標入力装置が検出した座標値を受け取るホストコンピュータなどにおいて平均化処理を行なうものとしてもよい。
【0081】
また、座標の連続検出を判定する方法として、座標入力装置のサンプリングレートに基づいて座標出力タイミングを監視して判定する方法の他に、例えば所定時間を設定して、その時間と座標出力タイミングを比較して判定しても良い。
【0082】
また、第1と第2の実施形態では、検出したx,y,z座標値の内のz座標値という1軸座標値に基づき平均化サンプル数Kendを決定していたが、検出したx,y,z座標値の全てに基づいて平均化サンプル数を決定する方法もある。例えば検出したx,y,z座標値により、その座標値の位置(音波発生源43の位置)からディスプレイ6の表示画面の中心である座標系の原点Oまでの距離を算出し、その距離に基づき平均化サンプル数を決定するようにしてもよい。また、検出したx,y,z座標値の内の2軸の座標値に基づいて平均化サンプル数Kendを決定することも考えられる。
【0083】
また、従来知られているように、座標入力装置によって相対的に位置座標を設定し表示画面上のカーソルの位置を制御する仕様にあっては、座標入力ペン4によって指示された位置の絶対座標値とカーソルの表示位置は異なっている(相対的にずれている)ので、カーソルの表示位置を絶対位置としてまず算出し、そのカーソルの絶対位置と座標入力ペン4の絶対位置との距離を算出して、その距離に応じて平均化サンプル数を決定するようにしてもよい。
【0084】
[第3の実施形態]
次に、本発明の第3の実施形態を図9〜図14により説明する。なお、本実施形態の座標入力装置のハードウェアの構成及び座標検出の基本的な動作は先述した第1と第2の実施形態と共通とし、共通部分の説明は省略し、異なる点のみ説明する。
【0085】
本実施形態では、第1と第2の実施形態では説明しなかった座標入力ペン4のペンダウンとペンアップの動作モードの切り換え、及び絶対座標と相対座標の出力モードの切り換えを図9の表図に示すように、座標入力ペン4のペン先スイッチ41、ペンサイドスイッチ42a,42bの操作、及び検出したx,y,z座標値に応じて行なう。
【0086】
まず、ペンダウンとペンアップの動作モードの切り換えについて説明する。ディスプレイ6の表示画面上において、ペンダウン状態の座標入力により文字や図形の筆記入力が行なわれ、ペンアップ状態の座標入力によりカーソルの移動やアイコンのクリックなどが行なわれるものとする。その切り換えは、座標入力ペン4のペン先スイッチ41、ペンサイドスイッチ42a,42bの操作に応じて図10のフローチャートに示す処理手順で以下のように行なわれる。なお、以下では「スイッチ」を「SW」と略す。
【0087】
図10の処理手順では、まず処理のスタート(ステップS401)後、操作者が座標入力ペン4を握って表示画面(座標入力面)を押圧することで、ペン先SW41がオンしたら(ステップS402)、駆動回路45の制御回路はペンダウン状態と判定し、音波発生源43を所定周期で駆動し、音波が空中に放射されるようにすると共に、ペンダウン状態であることを演算制御回路1に通知する(ステップS406)。
【0088】
その通知方法としては、例えば、ペンダウン状態の情報を発光手段44から放射される光信号としてのスタート信号に重畳させて送信し、制御信号検出回路211で検波して検出できるようにする。また、音波発生源43から放射する音波の周波数を変更し、演算制御回路1側でそれを検波することで、ペンアップ/ペンダウンを判定することも可能である。
【0089】
ペンダウン状態で検出されたx,y座標値が表示領域(表示画面の領域)内の座標値(図6においてx<±Disp_X、y<±Disp_Yの範囲)であれば、演算制御回路1のマイクロコンピュータ301のCPU301aは、その座標値を出力する(図9参照)。これにより通常の紙と鉛筆の様な関係で、座標入力ペン4の移動に伴なう軌跡が表示画面上に出力される事になる。
【0090】
一方、ペン先SW41がオンしているのに、検出されたx,y座標値が表示領域外である時には、例えば操作者が筆記入力と無関係に無意識のうちにペン先SW41を動作させてしまっている状態が想定されるので、この場合には、座標出力を禁止する。同様にペン先SW41がオンしている状態は、座標入力ペン4により表示画面(座標入力面)を押圧する状態であるから、この時検出されるZ軸座標値は、ほぼ『0』であるはずであり、『0』とならない場合には、やはり操作者による誤操作が想定されるので、この場合も座標出力を禁止する(図9参照)。
【0091】
一方、ペン先SW41がオフ状態の場合は、操作者により座標入力面を押圧する事で筆記動作している状態にはなっていない。しかしながら、表示画面の近傍あるいは離れた位置で、さらには表示画面(表示領域)の外側で、例えば表示されているカーソルを移動したり、アイコンをダブルクリック等して所望の画面操作ができることは非常に利点が大きい。
【0092】
そのため、ステップS403〜S405でペンサイドSW42a,42bのどちらか一方のみがオンされたら、駆動回路45の制御回路はペンアップ状態と判定し、音波発生源43を駆動して音波を発生させ、カーソルの移動などを可能にするとともに、ペンアップ状態であることを演算制御回路1に通知する(ステップS407)。
【0093】
また、ステップS403〜S405でペンサイドSW42a,42bの両方がオンされたら、駆動回路45の制御回路は、ペン先SW41がオンしていなくてもペンダウン状態と判定し、音波発生源43を駆動して音波を発生させるとともに、ペンダウン状態であることを演算制御回路1に通知する(ステップS406)。
【0094】
上述のように、ペンサイドSW42a,42bを操作することで、ディスプレイ6の表示画面から離れた位置で座標を入力し、カーソルを移動(ペンアップ状態)したり、あるいは筆記(ペンダウン状態)したりできるが、この様な場合(ペン4が直接ディスプレイ6の表示画面に接触しておらず、ペン先SW41がオンしていない状態)において、ディスプレイ6の表示画面上、あるいは表示画面の近傍で座標入力動作させる場合と、表示画面から比較的離れた位置、或いは表示領域の外側で座標入力動作をさせる場合とでは操作上、要求される仕様が異なる。
【0095】
まず、前者の場合、座標入力ペン4を移動することで、例えば表示されているカーソルを直感的に、しかもダイレクトに所望の位置に正確に移動することが要求される。しかし後者の場合においては、例えば表示されているカーソルを所望の位置に移動させるためには、座標入力ペンの移動に応じて、カーソルを相対的に移動させることが要求される。つまり操作者が、大型のディスプレイを使ってプレゼンテーションをしようとする場合、直接画面をタッチ(座標入力)することで、表示情報を制御したり、情報(文字、図形)等を筆記することができる(紙と鉛筆の関係)手段であるとともに、単に情報を指し示す場合に有っては、操作者がその場に行って指し示すのではなく、離れた場所で、言い換えれば聞き手側からみて表示されている情報が操作者によって隠されることが無い状態で、所望の画面制御や情報の追加ができるのが好ましい。さらには、この種の大型の入出力一体のシステムを考慮して大勢の参加者を想定した打ち合わせなどを考えれば、上述したような操作者が直接画面をタッチしたりすることでパソコンを制御するばかりでなく、例えば画面を見ながら発表内容を聞いている会議参加者が、質問、或いは反論のための証拠資料を表示したりすることができるように、画面から離れた位置においても、画面を操作したり、必要に応じてネットワークより情報を引き出せるような構成になるのが好ましい形態であると言える。
【0096】
そこで本実施形態では、検出された座標値(x,y,z)に応じて、図9の表に示す出力座標値として絶対座標値を出力する出力モード1と、相対座標値(後述する差分)を出力する出力モード2との座標出力モードの切り換えを行なうとともに、先述した発明の課題を解決するために、第2の実施形態と同様の検出座標値の平均(移動平均)化処理を行なう。
【0097】
この座標出力モードの切り換え及び平均化処理の詳細を図11により以下に説明する。図11は、その処理手順を示すフローチャートであり、これに対応した処理プログラムがマイクロコンピュータ301のROM301bに格納され、CPU301aにより実行される。
【0098】
図11の処理では、まず処理を開始するステップS501において、後述のように逐次検出されて記憶されるx,y,z座標値のそれぞれのサンプル数を示す整数nを0に初期化する。
【0099】
次に、ステップS502で座標演算に必要な有効な音波検出信号とスタート信号が各検出センサ3a〜3dと制御信号検出回路211で検出されたか否か判定し、有効な信号が検出された場合(座標算出を行なえる場合)には、ステップS503で整数nを『1』インクリメントする(最初の場合n=1となる)とともに、上記の有効な音波検出信号から先述のように各検出センサ3a〜3dと音波発生源43の距離のそれぞれを計測する。
【0100】
次に、ステップS504で整数nが1か否か判定し、1だったらステップS505においてステップS503で計測した各検出センサ3a〜3dと音波発生源43の距離の内で音波発生源43の位置座標の算出に用いる3つの距離情報(例えば4つの距離の内で最長の距離情報は算出に使用しない)に基づいて、前述した平均化処理における平均化サンプル数(平均化する座標値のサンプル数)Kendを設定する。その設定の方法は、例えば座標算出に用いる有効な3つの距離情報の中で、最も長い距離情報に基づき行われ、その値がより大きい程(言い換えれば、座標入力ペン4と検出センサの距離が大きい程)、平均化サンプル数Kendの値をより大きく設定する。その設定では、例えば距離値に応じて比例的に、或いは指数関数的に平均化サンプル数Kendの値を増大させる。
【0101】
次に、ステップS506で上記有効な3つの距離情報を用いて音波発生源43の位置座標値(X,Y,Z)を算出し、サンプル数n番目の座標値(Xn,Yn,Zn)としてRAM301cに記憶する。
【0102】
次に、ステップS507で整数nが1か否か判定し、1だったら、その直前のステップS506で算出し、記憶したサンプル数n=1番目の座標値(X1,Y1,Z1)を、以下に述べる座標出力モードの決定と差分値の算出に用いるために、改めて別にRAM301cに記憶する(ステップS508)。そして、ステップS509、S510でその座標値により座標出力モードを決定する。
【0103】
ここで、先述した図6のように座標入力装置の座標系を定義し、ディスプレイ6の表示画面をXY平面(Z=0)、その垂直方向をZ軸として、ステップS509では、記憶したZ軸の座標値Z1が所定値(例えば距離1mなら1mに対応する値)より小さいか比較する。そして所定値より小さければ、さらにステップS510において記憶したX軸座標値X1、Y軸座標値Y1がディスプレイ6の表示領域(表示画面の領域)内の座標値(図6においてx<±Disp_X、y<±Disp_Yの範囲内)であるかを判定し、表示領域内であるときは、座標出力モードを『出力モード1』にセットする。
【0104】
またステップS509で座標値Z1が所定値以上である場合、或いはステップS510で座標値X1,Y1が表示領域外の座標値であるときは、座標出力モードを『出力モード2』にセットする。
【0105】
なお図11のフローチャートには、先に図9を用いて説明した動作モードを設定する方法の全てを示していないが、例えば座標入力ペン4のペン先SW41の動作(オン、オフ)情報をスタート信号である光信号に重畳させ、制御信号検出回路211で制御信号として復調して検出すれば、ペン先SW41の動作情報を用いて、座標算出の信頼性を増すことが可能となる。つまりペン先SW41がオンした状態は、座標入力面であるところの表示画面を押圧してペン先SW41がオンするのが通常であり、ペン先SW41がオンしているにも関わらず、Z軸の検出値がZ=0とならない場合には、やはり何らかの誤操作によって座標入力が行われたものとして、検出した座標値の出力を中止することが可能となり、誤動作防止と言う観点で、より信頼性の高い構成が得られる(図9参照)。
【0106】
『出力モード1』の状態は、操作者がディスプレイ6の表示画面に比較的近いところで、しかもディスプレイ6の表示領域内で座標入力ペン4を操作している状態で、座標入力ペン4の移動動作に伴ない、ディスプレイ6に表示されているカーソルを移動したり、文字、図形等の情報を筆記したりして、表示情報を制御している状態となる。
【0107】
一方、『出力モード2』の状態は、例えば操作者は表示画面近傍において表示領域外(例えばディスプレイ6の横)にあって、聞き手に対して表示情報をさえぎることなく、表示内容を制御しながらプレゼンテーションしている状態、或いはディスプレイ6より離れた位置にあって、リモート操作で表示内容を制御している状況が想定できるので、座標入力ペン4の動作によりカーソルを相対的に移動できるように構成する。この『相対的』にカーソルを移動する方法について説明すれば、検出された座標値の少なくともX軸、Y軸の各々の値を先にメモリした座標値(X1,Y1)との差分値として演算する様に構成する。つまり、検出された座標値は、『出力モード1』の場合は、
検出座標値(Xn,Yn,Zn) → 記憶座標値(Xn,Yn,Zn) とし、
『出力モード2』の場合は、
検出座標値(Xn,Yn,Zn) → 記憶座標値(Xn-X1,Yn-Y1,Zn-Z1)
として処理される。
【0108】
次に、ステップS513において、整数nの値がステップS505で設定された平均化サンプル数Kendの値と一致しているかを判定し、一致していなければステップS516で座標検出が連続的になされているかを第1の実施形態の図7のステップS108で説明したのと全く同様にして判定する。そして座標検出が連続的になされていたらステップS503に戻り、座標検出が連続的になされている限り、ステップS513で整数nが平均化サンプル数Kendに達するまで、ステップS503〜S513,S516の処理を繰り返す。この繰り返しにより、逐次、座標値(出力モード1では絶対座標値、出力モード2では差分値)が算出され、RAM301cに記憶される。
【0109】
そして、整数nが平均化サンプル数Kendに一致した場合には、ステップS514において、それまでの一連の動作で検出され記憶された平均化サンプル数Kend個ずつの座標値(出力モード1では絶対座標値、出力モード2では差分値)の算術平均値を算出し、X軸座標、Y軸座標の値を外部機器等へ出力する(無論、Z軸座標の平均値を外部機器等へ出力する仕様であってもかまわないし、用途に応じては、X軸座標またはY軸座標のみの出力形態もあり得る)。なお、ここで出力される座標値が『出力モード1』による絶対座標値か或いは『出力モード2』による差分値かを示す情報を座標値と共に出力するようにしてもよい。
【0110】
次に、ステップS515において、それまでの動作で記憶されている平均化サンプル数Kend個ずつのX,Y,Z座標値(出力モード1では絶対座標値、出力モード2では差分値)のそれぞれについて、最初の(最も古い)サンプルX1,Y1,Z1を消去した上で、残るサンプルXnをXn-1、YnをYn-1、ZnをZn-1とシフトして再記憶する。例えば平均化サンプル数Kendが3だとするとX2をX1、X3をX2として再記憶する。またサンプル数nを「1」デクリメントする。
【0111】
その後、ステップS516に進み、先述のように座標が連続的に検出されているか否か確認し、連続的に検出されていたらステップS503に戻り、ステップS503以下の処理を繰り返す。
【0112】
一方、ステップS516において、座標検出が連続的に行なわれなかった場合、つまり座標の連続入力動作が終了した場合、記憶している座標値及び平均化サンプル数Kendなどの情報を全てリセットして処理を終了し、その後、ステップS501へ戻り整数nを初期化し、ステップS502で有効信号の検出を待つ待機状態となる。
【0113】
以上のようにして、本実施形態では、検出座標値に基づいて座標出力モードを切り替えるとともに、検出座標値の平均化処理を行なう。平均化処理により第1と第2の実施形態と同様の効果が得られる。すなわち、座標検出のための測定距離の増大に伴う座標検出分解能の低下を補償することができ、表示画面から離れた位置から座標入力ペン4でカーソルの位置を制御する場合に距離の増大に伴うカーソルの揺らぎを抑えることができる。
【0114】
ところで、ステップS509において、座標値Z1が予め設定された所定値より大きい場合について考えてみる。この状態は座標入力ペン4が座標入力面であるところのディスプレイ6の表示画面からZ軸方向に離れた位置にあることを意味する。つまりプレゼンテーションを行っている操作者がディスプレイ6から離れた位置にいるか、もしくはプレゼンテーションを聞いている聞き手によって座標入力が行われたものと想定できる。つまり、遠隔操作によって、表示情報を制御したり、文字、図形等の追記を行おうとしている状態であると言える。
【0115】
このディスプレイ6の表示画面から離れた状態について考察してみると、比較的離れた距離が小さい場合(近接入力)、表示画面と座標入力ペン4のZ軸方向の距離は、比較的小さな値であり、座標入力ペン4を移動することで、例えば表示されているカーソルを直感的に、しかもダイレクトに所望の位置に移動することが可能である。もちろん、所望の位置に対するカーソルの位置ずれは、直接に表示画面に入力する場合(ペン先SW41がオン状態)に比べ大きくなるが、十分実用の範囲と言うことができる。
【0116】
しかしながら、ディスプレイ6の表示画面との距離が大きくなる(Z座標値が大きくなる)につれて、所望の位置に対するカーソルの位置ずれは大きくなり、直感的にダイレクトに所望の位置を指し示す事ができなくなる。つまり離れた位置でカーソルを移動しようとする場合、所望の位置を指し示したと思って座標入力ペン4のペンサイドSW42aないし42bをオンさせて座標を入力する事になるが、得られた座標値に基づくカーソルの位置は、前述の所望の位置とは異なり、カーソルの位置を視認しながら、操作者が座標入力ペン4を移動させることによって、所望の位置へカーソルを移動することができるようになる。
【0117】
言い換えれば、遠隔入力(ディスプレイ6から離れた位置で座標を入力し、例えばカーソルを移動させる動作)の場合は、操作者による視覚情報に基づき操作者の脳が補正動作を行う(座標入力ペン4を移動させる)ループを繰り返して、目的を達成することになるのであって、ダイレクトに所望の位置を指し示すことは困難なのである。
【0118】
この様に、ディスプレイ6に表示されている画像情報(XY平面上に座標系を有する画像情報)に対して、何らかの遠隔入力操作を行おうとする場合、操作者が一連の座標入力を行おうとする際の最初の1点目の座標値と前述の画像情報の座標値は、一致させることができない。このことは、例えばOHP等により表示されている表示画像を指示する道具としてレーザポインタが普及しているが、やはりレーザ発光時の最初の1点目は、どこを指示するか解らず、指示されたポイント位置を見ながら、位置修正動作をして所望の位置にレーザを照射することができる様になることを考えれば明らかである。
【0119】
そこで本実施形態では、ステップS509においてZ座標値が所定値以上である場合(遠隔入力)には、まず最初に有効となる座標値を所定座標値(X1,Y1,Z1)として記憶し(この時、表示画面に表示されているカーソルの位置は移動しない)、連続入力期間中の座標入力ペン4の移動に伴ない、逐次座標値として差分値を出力することにより、ペン4の移動方向と移動量分だけカーソルを移動させることで、遠隔操作の場合であっても、優れた操作性を実現できるように構成した。
【0120】
図12は、ディスプレイ6の表示範囲と座標入力の有効な領域で図11のフローチャートの処理により切り替えられる座標出力モードのそれぞれの出力範囲を示している。ディスプレイ6に比較的近い位置にあって、検出されたx,y座標が表示領域内にあるときには、ダイレクトに座標を入力できる絶対座標を出力し(出力モード1)、一方、聞き手の視野をさえぎらないディスプレイ6の脇で、或いはディスプレイ6から離れた位置で遠隔操作を行う場合には、相対座標を出力する(出力モード2)様に構成したことを示している。
【0121】
さらに遠隔操作の場合を考えると、直接画面をタッチする事でダイレクトに座標を入力する場合には、大型ディスプレイであることを考慮すれば、画面の端から端までカーソルを移動しようとすると、必ず体の移動を伴なう。しかしながら遠隔操作の場合には、例えば質問者が起立をしてその場で質問するのが通常であり(大勢の聞き手がいる場合は、必然的に移動は困難)、体を移動せずその場において全領域を指し示す事ができることが望まれる。本実施形態の構成は、この点についても問題を解決するものである。図13(A)を用いてそのことを以下に説明する。
【0122】
図12に示した相対座標(差分値)出力範囲において、大勢の聞き手に対して、大画面を有するディスプレイ6を用いて操作者がプレゼンテーションをしようとしている場面を想定する。図13(A)に示すように、カーソルの位置を▲1▼の位置から▲3▼の位置へ移動しようとした場合、従来では座標入力ペン4を▲3▼の位置に持っていって、その位置で座標入力を行えば、カーソルは▲1▼の位置から▲3▼の位置に移動することになる(この場合、操作者は▲3▼の位置を指す事ができる位置にいる)。しかしながら、▲1▼の位置で作業した後(操作者は▲1▼の位置近傍にいる)、▲3▼の位置へ移動しようとする場合には、画面を横断するように操作者が移動するので、多くの聞き手にとっては視界を遮られ、プレゼンテーションの内容理解に支障をきたす。特に大型ディスプレイがフロントプロジェクション、OHP(投射型の表示装置)等の場合には、その画像が大きく歪むのでなお更である。
【0123】
それに対し、本実施形態の構成において、操作者がディスプレイ6の脇にあって、カーソルが▲1▼の位置にあったと仮定する。操作者がAの位置に座標入力ペン4を保持し、ペンサイドSW42a,42bの少なくとも一方(以下、符号42で示す)をオンさせることで、座標入力ペン4からは音波が放射され、座標入力ペン4の位置座標を検出することになる。この時、座標入力ペン4はディスプレイ6の表示画面の表示領域外、或いはディスプレイ6より離れた位置(Z>所定値)にあるので、最初に検出された位置座標は記憶されるが(図11ステップS508)、カーソルは▲1▼の位置から移動されることはない。引き続き、操作者がペンサイドSW42をオンさせて連続的に座標を入力するように動作させながら座標入力ペン4をBの位置に移動させた後、ペンサイドSW42をオフさせたとする。そうすると、操作者による座標入力ペン4の位置Aから位置Bへの移動にともない、その移動方向と移動距離に応じて、カーソルが▲1▼の位置から▲2▼の位置へ移動することになる。さらに操作者がペンサイドSW42をオフした状態で座標入力ペン4をBの位置からCの位置へ移動させた(このとき座標入力がないので、カーソルは▲2▼の位置で動かない)後、Cの位置でペンサイドSW42をオンさせて座標入力ペン4をDの位置へ移動すれば、Cの位置から音波が発生して最初に検出された座標値が再度記憶され(ステップS508)、その後に検出された座標値と記憶された座標値の差分量だけカーソルが移動して、操作者の座標入力ペン4の移動動作(地点CからDへの移動)にともない、その移動方向と移動距離にて、カーソルが▲2▼の位置から▲3▼の位置へ移動することになる。
【0124】
以上説明したように、操作者は座標入力面であるところのディスプレイ6の表示画面から離れた位置、或いは表示領域の外側の位置に有っても、現状のカーソルの位置から、スムーズに所望の位置にカーソルを移動することが可能となるばかりでなく、その座標入力が連続して行われている一連の間は、座標入力ペンのX方向の移動量、Y方向の移動量は、カーソルの移動量と1対1に対応しているので、文字や図形を入力したりすることもできる。
【0125】
文字や図形を入力する場合を図13(B)を用いて説明する。まずペンサイドスイッチ42a,42bのどちらか一方のみをオンさせたペンアップ状態で座標入力ペン4を移動させて、カーソルを▲1▼の位置から所望の▲2▼の位置に移動し、その後ペンサイドSW42a,42bの両者をオンさせてペンダウン状態として、座標入力ペン4の移動によりカーソルを▲2▼の位置から▲3▼の位置に移動させることにより、その移動方向と移動量に応じた軌跡が画面上に残る。その後、ペンサイドスイッチ42a,42bの一方をオフして(残りの一方はまだオンしており、連続的に座標が検出されている状態は維持されている;ペンアップ状態)、座標入力ペン4の移動によりカーソルを▲3▼の位置から所望の▲4▼の位置へ移動させた後、オフしたペンサイドSWを再びオンさせてペンダウン状態として座標入力ペン4の移動によりカーソルを▲4▼の位置から▲5▼の位置まで移動させれば、再びその移動の軌跡が入力される。そして▲5▼の位置でペンサイドスイッチ42a,42bを共にオフさせれば、座標入力が終了し、『い』の文字の軌跡が筆記入力されたことになる。
【0126】
ここで操作者は、最初の▲2▼の位置まではカーソルを視認しながら座標入力ペン4の移動動作により移動する必要があるが、その後の『い』と言う文字の筆記には、カーソルを視認しなくても座標入力ペン4の絶対的な移動量、つまり直感的な手、腕の操作で文字入力が行える。つまり、連続入力期間中の最初の有効な座標値を基準とすることで、その連続期間中に出力される座標は相対的になるが、操作者からみれば、その期間中はカーソルの移動量と手、腕の動作が対応しており、あたかも空間に座標入力面があるが如く、直感的な入力動作で文字入力を行なうことができる。
【0127】
この様に、操作者は自然な動作によって表示情報を制御したり、文字、図形等の情報を筆記入力したりすることが可能であり、また多くの聞き手にとっては、表示情報が遮られること無く、操作者である話し手の意図する内容を効率良く理解することが可能となる。
【0128】
さらには本実施形態では、大画面を有するシステムの使い勝手を考慮し、絶対座標を出力するモードと相対座標を出力するモードが、算出される座標値によって自動的に切り替わるので、操作者にとって特別な動作(例えば、座標入力装置の出力モードをスイッチ手段等により切り替える)を必要とせず、プレゼンテーションに集中できるという優れた操作環境を提供することが可能となる。
【0129】
また本実施形態では、相対座標を出力する状態にあって、検出した座標値との差分を得るための基準となる座標値(X1,Y1,Z1)を、連続入力期間中に最初に有効となる座標値と定義している。この理由を以下に詳述する。
【0130】
操作者にとって表示領域近傍においては表示領域の境界を認識するのは容易であるが、表示領域から離れるに従ってこの認識はあいまいなものになる。さらには、図11のステップS509でのZ軸方向の所定値の数値は、操作者が設定可能な数値であってかまわないが、その数値を認識していたとしても、その所定値によるZ軸方向の実際の境界を区別するのは困難である。一方、最初に座標を入力する事によって、操作者が絶対座標の形態で出力が行われているのか、相対座標の形態で出力が行われているのかを認識するのは、例えば座標入力ペン4の位置とカーソル位置の関係で容易に理解できる。しかしながら、例えば出力形態が変更となる境界付近で動作させた場合、モードの切替動作が多発すると、出力形態の変更が多発し、操作者にとって扱い難い仕様となってしまう。
【0131】
そこで本実施形態では、座標入力ペン4から放射されるスタート信号の周期を監視して、連続的に座標入力が行われているのかを判定し、連続入力期間に最初に有効となった座標値を基準座標値とし、連続入力期間中、それ以降に算出された座標値と基準座標値との差分を出力する様に構成したので、ペンサイドSW42a,42bのいずれかがオンしている限りは、この基準座標が保持され、たとえ切替の境界の近傍での座標入力動作であっても、操作者にとっての座標系、及び絶対なのか相対なのかが連続座標入力期間中は固定されるので、操作性の良い座標入力装置を構成する事ができる。
【0132】
言い換えれば、操作者はまず座標を1点入力する事によって、その座標出力形態を知る事が可能であり、それ以降連続して座標入力動作を行っている間は、そのモードが固定されるので、操作者はそれ以降モード切替のための境界を意識する必要がない。
【0133】
なお、本実施形態では、座標入力装置が座標値と共に座標モード情報(絶対座標なのか相対座標なのかを示す情報)を外部機器等に出力するようにしてもよいとしたが、座標入力装置が絶対座標値のみを出力するものとし、その出力結果を受け取るホスト装置、例えばパーソナルコンピュータ側でその受け取った座標値と座標値を受け取ったタイミング(連続的に座標入力が行われているか否かを判定する)を監視することで、図11で説明した座標出力モードの切り換え及び平均化処理と同様の処理を行なうように構成してもよい。
【0134】
さて本実施形態では、絶対座標を出力するか、相対座標を出力するかの判定は、検出された座標値に基づき、ディスプレイ6からのZ軸方向の距離、及びディスプレイ6の表示領域内にあるか否かで判定している。従って、座標入力装置の座標系において、表示領域がどの範囲に有るかを設定できることが好ましい。特にディスプレイ6にフロントプロジェクタを用いた場合には、会議毎に設置の仕方が異なることを考慮すると、表示サイズは常に一定とはならない(フロントプロジェクタの表示サイズはその投射距離に依存する)ので、表示領域を設定する手段が必須となる。また、固定された表示画面(例えばリアプロジェクタやプラズマディスプレイ等)を有するシステムであっても、座標入力装置とディスプレイ6の座標系を一致させるのは、組み立て時においてコスト的に不利な調整工程が必要であり、座標入力装置とディスプレイ6を組み合わせた後に、表示領域を設定できるように構成するのは、製造上の利点も大きい。また上述したように、座標入力装置の出力が絶対座標のみであって、その出力を受け取った例えばパーソナルコンピュータが、動作モードを判定する方法にあっては、やはりディスプレイ6が固定されているとは限らないので、パーソナルコンピュータに表示領域を知らしめる手段が必要となる。
【0135】
図14は、この点を鑑みなされた表示領域を設定する処理の手順を示すフローチャートである。この処理を行なうための制御プログラムがマイクロコンピュータ301のROM301bに格納され、CPU301aにより実行される。
【0136】
図14の処理を行なうに当たって、操作者はディスプレイ6の長方形の表示領域(表示画面)の4隅の位置のそれぞれを座標入力ペン4で指示して4隅の位置の座標入力を行なうものとする。
【0137】
これに対して、図14の処理では、まず変数contを0にして処理を開始し(ステップS601)、変数contをインクリメント(ステップS602)した後、座標検出に必要な有効な音波信号とスタート信号が検出されるのを待つ(ステップS603)。そして有効な信号が検出されたら、それに基づいて座標入力ペン4の指示位置(音波発生源43の位置で上記4隅の内のいずれか1つの位置)の座標値Xcont,Ycontを算出し、RAM301cに記憶する(ステップS604)。
【0138】
次に、変数contが4より大きくなったか確認し(ステップS605)、そうなるまでステップS602〜S605の処理を合計4回繰り返す。
【0139】
こうして表示領域の4隅の位置のそれぞれの座標を検出して記憶した後、4隅の位置の座標値から、図6に示した座標系の原点Oに対してX軸方向に±Disp_X、Y軸方向に±Disp_Yで示される表示領域(ディスプレイ6の表示画面の領域)を算出する(ステップS606)。ここでは例えば左上隅のx座標値と左下隅のx座標値を平均化した値を、左側のx方向の境界値と定義したり、あるいは4隅を結んだ4角形の領域を定義して、座標出力形態を決定する条件式とする。
【0140】
なお、ここでは表示領域の4隅の位置の座標を検出する事で、表示領域を導出するものとしたが、これに限定されるものではなく、例えば4隅の内の3箇所の位置の座標を検出して導出するようにしてもよく、或いは座標入力ペン4で表示領域の4辺をなぞってその4辺の座標値を検出し、その情報から表示領域を設定してもよい。
【0141】
ところで、座標入力装置の使い勝手を考慮すると、操作者がディスプレイ6の表示画面から離れた位置で、ペンアップ状態、出力モード2として座標入力ペンの移動により画面上のカーソルを移動させる場合、操作者と表示画面の距離が大きくなる程、座標入力ペン4の僅かな動きでカーソルを大きく移動できるようにするのが好ましい。この点を考慮し、このような場合に、検出したz座標の絶対座標値が大きくなる程、あるいは座標算出に用いるペン4と検出センサ3a〜3d間の測定距離の内の最長距離が大きくなる程、検出したx,yの相対座標値(差分値)をより大きな拡大率で拡大して出力するようにしてもよい。
【0142】
また、本実施形態では第2の実施形態と同様の移動平均化処理を行なうものとしたが、第1の実施形態と同様の単純な平均化処理を行なってもよい。その場合、第1の実施形態と同様に、平均化処理により座標サンプリングレートが実質的に低下するが、第1の実施形態で説明したのと同様の理由によりユーザの使い勝手上で問題はない。
【0143】
[他の実施形態]
以上に説明した第1〜第3の実施形態では、検出座標値を平均化する方法として、連続的に検出される座標値を単純に算術平均する、ないしは算術平均であって移動平均するものとしたが、その他の方法として、サンプルの座標値に重み付けして(例えば、より直近に検出された座標値の重みをより大きくして直近の座標値の影響度を増す)、平均化を行なうようにしてもよい。
【0144】
また、第1〜第3の実施形態では、検出座標値の平均化処理として、検出した座標値を平均化するものとしたが、座標入力装置が座標を算出するための測定パラメータを平均化することにより、結果的に座標値が平均化されるようにしてもよい。つまり、座標算出のためにまず音波発生源43から検出センサ3a〜3dまでの距離を測定する構成であるので、平均化サンプル数分の距離を測定して、その平均距離を算出し、その平均距離を用いて座標値を算出するようにしてもよい。また、音波発生源43から検出センサ3a〜3dまでの音波の到達時間を計測しているので、平均化サンプル数分の到達時間を計測して、その平均の到達時間を算出し、その平均の到達時間を用いて座標値を算出するようにしてもよい。
【0145】
また、第1〜第3の実施形態の座標入力装置は空中音波方式のものとしたが、これに限らず、所定周期毎に信号発信源から発信される信号を複数の受信手段により受信して、信号発信源から複数の受信手段までの距離のそれぞれを計測し、計測した距離のそれぞれに基づいて信号発信源の位置の座標を検出する方式の座標入力装置ならば、一般に測定距離の増大と共に距離測定分解能が低下するので、本発明に関わる検出座標値の平均化処理、ないしは計測した距離の平均化処理を適用することにより、測定距離の増大に伴う座標検出分解能の低下を補償することができる。
【0146】
また、第1〜第3の実施形態の座標入力装置は、x,y,zの3次元座標を検出可能なものとしたが、これに限らず、2次元座標のみ、或いは1次元座標のみを検出可能な座標入力装置においても、本発明に関わる検出座標値の平均化処理、ないしは計測した距離の平均化処理を適用することにより、測定距離の増大に伴う座標検出分解能の低下を補償することができる。
【0147】
ところで、第1〜第3の実施形態の構成において、ディスプレイ6の表示画面の直近では、主に文字や図形を筆記入力する事に使われる事を考慮すると、座標入力ペン4の移動は主に指、手首の運動によって行われる。一方、画面より離れた位置での操作は、表示画面上の所望の位置を指示するのに用いられるので、座標入力ペン4の移動は腕、指、手首の運動、さらには体の向きを変化させたりして、例えば表示されているカーソルを即座に大移動できることが望ましい。つまり、画面直近よりも、画面遠方において座標入力ペン4の指示に応じたカーソルの移動速度は速くなるのが通例である。
【0148】
これに関して第1〜第3の実施形態のように所定周期毎に座標入力ペン4の位置座標を検出する座標入力装置にあっては、前記『所定周期』と検出座標値ないし計測距離の変化分により座標入力ペン4の移動速度を検知することが可能である。
【0149】
従って、座標検出する際に、例えば『画面直近にも関わらず、座標入力ペン4の移動速度が異常に速い座標が検出された』場合には、座標値の誤検出が行われたものとして判断することができる。この点に着目して、座標入力ペン4の移動速度に関して、検出した座標値ないしは座標入力ペン4から特定の検出センサ3までの距離の計測値に基づき最大の許容移動速度を設定し、最大許容移動速度を超える速度で検出された座標値は誤検出座標であると判断することができる。例えば、ある検出時点での座標入力ペン4から特定の検出センサ3までの距離と、次の検出時点での座標入力ペン4から前記検出センサまでの距離を比較し、その差分値が前述の許容最大速度で定義されている距離よりも大きければ、距離測定の際に誤検出したと判定できる。そして誤検出と判定した場合にその座標値を無効とすることで、信頼性の高い座標入力装置を構成する事が可能となる。
【0150】
【発明の効果】
以上の説明から明らかなように、本発明によれば、座標指示具が表示画面から離れるのに応じて座標値の平均値を算出するためのサンプル数が多くなるように設定することにより、座標指示具が表示画面から離れていても、指示の揺らぎが大きくなることを抑制することができ、操作性に充分配慮されて使い勝手の良い優れた座標入力装置を提供することができる。さらに、連続的な座標値の検出が中断すると、平均値を演算するための処理を終了するので、信頼性の低い平均値が出力されてしまうことを防止することができるという優れた効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施形態における座標入力装置の全体の構成を示す概略構成図である。
【図2】同装置の座標入力ペンの側面図及び後面図である。
【図3】同装置の座標検出に関わる信号処理を説明するタイミングチャート図である。
【図4】同装置の信号波形検出回路の構成を示すブロック図である。
【図5】同装置の演算制御回路の構成を示すブロック図である。
【図6】同装置の座標系を示す説明図である。
【図7】第1の実施形態における検出座標値の平均化処理の手順を示すフローチャート図である。
【図8】第2の実施形態における検出座標値の平均化処理の手順を示すフローチャート図である。
【図9】座標入力ペンの動作モード及び座標出力モードと、座標入力ペンの各スイッチのオン、オフ、及び座標算出値との関係などを示す表図である。
【図10】第3の実施形態における座標入力ペンのスイッチのオン、オフに応じたペンアップ、ペンダウン状態の切り換え処理の手順を示すフローチャート図である。
【図11】同実施形態における座標出力モードの切り換え及び平均化処理の手順を示すフローチャート図である。
【図12】同実施形態におけるディスプレイの表示範囲と、絶対座標出力範囲及び相対座標出力範囲との関係を示す説明図である。
【図13】同実施形態における座標入力ペンによるカーソル移動動作と文字の筆記入力動作の説明図である。
【図14】同実施形態における表示範囲設定処理の手順を示すフローチャート図である。
【図15】レーザポインタにおける照射距離と輝点(指示点)の揺らぎ幅との関係、及び照射距離とレーザポインタを保持した手元の振れ角との関係を示すグラフ図である。
【図16】空中音波方式の座標入力装置における座標検出のための測定距離と測定分解能の関係を示すグラフ図である。
【符号の説明】
1 演算制御回路
2 信号波形検出回路
3a〜3d 検出センサ
4 座標入力ペン
5 受光素子
6 ディスプレイ
7 ディスプレイ駆動回路
41 ペン先スイッチ
42a,42b ペンサイドスイッチ
43 音波発生源
210 エンベロープ検出回路
206 2階微分回路
207 Tg信号検出回路
301 マイクロコンピュータ
301a CPU
301b ROM
303 タイマ
304a〜304d ラッチ回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a coordinate input device, a coordinate value output method, and a program.
[0002]
[Prior art]
Conventionally, a coordinate input device capable of inputting coordinates is superimposed on a display screen of a display device such as a CRT display, a liquid crystal display, or a projector, and pointing (instruction) or writing handwritten by an operator is displayed. There is known an apparatus that can realize a relationship like paper and a pencil. As the coordinate input device, a resistive film method, an electrostatic method, an ultrasonic method for propagating ultrasonic waves to a coordinate input surface such as glass, an optical type, or an acoustic wave (in the air) A mechanism for coordinate detection is placed on the back side of the display device, such as an aerial sound wave method that detects the position by emitting (ultrasonic waves), and an electromagnetic induction (electromagnetic transfer) method, and the front of the display device is transparent. There is also a thing that constitutes an information device integrated with input and output by arranging a protective plate.
[0003]
Such devices start with small portable electronic notebooks, and with the increase in the size of display devices such as pen input computers, relatively large information devices can be seen. In combination with a large display device such as a rear projector, a large liquid crystal display, or a PDP, it has begun to be used in, for example, a presentation device or a TV conference system.
[0004]
In particular, a device that combines a large display device and a coordinate input device is replaced with a whiteboard or electronic blackboard that has been used in the office, and a data display prepared in advance on a personal computer is displayed on a large screen display. It is starting to be used for applications and meetings. In that case, in order to update the information displayed on the display by an operator or attendee like a whiteboard, the display contents of the display screen can be controlled by directly touching the screen and controlling the personal computer by the coordinate input by the touch. It is comprised so that it can switch.
[0005]
In such a device, considering a meeting assuming a large number of participants and the network era, the operator can not only control the personal computer by touching the screen directly as described above, but also while watching the screen, for example. Operation of the screen (control of display information, desired position, etc.) even at a position away from the screen so that conference participants listening to the presentation contents can display questions or evidence for objection. And the like, and the information can be extracted from the network as necessary.
[0006]
Furthermore, considering a presentation using a large screen display, the operator (presenter) usually stands at a position away from the screen in order to recognize the entire projected image. As is clear from the presentation using OHP or the like, the distance between the operator and the screen becomes longer as the image size increases. In this case, a laser pointer or pointer that does not obstruct the line of sight of the participant who is viewing the screen is commonly used as a means for indicating the desired position on the screen. An aerial acoustic wave (ultrasonic wave) type coordinate input device configured as described above is known (see Patent Document 1).
[0007]
In the apparatus, sound waves (ultrasonic waves) emitted in the air from a plurality of sound wave generating means arranged along the longitudinal direction of an indicating tool (indicating pen) for indicating a coordinate input position are arranged around the display screen. Further, the coordinates of the positions of the plurality of sound wave generating means are calculated by detection by three or more sound wave detecting means, and then the intersection (indicating point) between the straight line passing (connecting) the positions of the plurality of sound wave generating means and the display screen The coordinates of are derived.
[0008]
[Patent Document 1]
Japanese Patent Publication No. 7-97304
[0009]
[Problems to be solved by the invention]
However, in the instructions in the above-described aerial sound wave type coordinate input device that can give instructions as a pointer, as is clear from the operability of the laser pointer, the instructions on the screen increase as the distance between the pointing tool and the screen (indicating surface) increases. There was a problem that the fluctuation of the points became large. This problem will be described with reference to FIG.
[0010]
FIG. 15A shows the case where the operator holds the laser pointer from one of the positions at different distances from the screen of the screen for a predetermined time and continues laser irradiation toward one point on the screen. The result of the experiment which measured the width | variety by which the bright spot (indication point) of the laser irradiated on the screen fluctuates by the held hand shake is shown. The longer the irradiation distance, the larger the fluctuation width, and the width reaches about 90 mm at the irradiation distance of 10 m. That is, if the irradiation distance is increased, the operator cannot continue to indicate a desired point.
[0011]
FIG. 15B shows the result of FIG. 15A as a result of the deflection angle Θ (= tan) of the hand holding the laser pointer.-1 It shows the results organized by [(brightness of the bright spot on the screen / 2) / (irradiation distance)]. Here, since the hand deflection angle Θ is almost constant (about 0.3 °) without depending on the irradiation distance, it can be understood that the laser bright spot shake is mainly caused by the deflection angle Θ.
[0012]
Even in the aerial acoustic wave type coordinate input device capable of performing the instruction as the pointer, even when the coordinate detection accuracy is high, when the screen is instructed in the same manner, the human holding ability of holding the pointing tool is approximately Since there is a hand shake angle of 0.3 °, the pointing point fluctuates, and the swinging distance increases as the distance between the pointing tool and the screen increases. As a result, when a desired position on a large screen such as an OHP is pointed from a position away from the pointing tool by this kind of coordinate input device, the pointing point (intersection point mentioned above) fluctuates and the cursor displayed at the pointing point The problem was that the presentation participants watching the screen felt uncomfortable, annoyed, and tired. This problem is not limited to the aerial sound wave method, but is common to coordinate input devices configured to be able to give a linear instruction as a pointer using an indicator.
[0013]
On the other hand, the aerial acoustic wave type coordinate input device is not limited to the one configured to perform the instruction as the pointer described above, but the pointing device provided with the sound wave generating means and the sound wave detection arranged around the screen. There is a problem that the resolution of coordinate detection decreases as the distance to the means increases. This will be described below.
[0014]
Generally, in an aerial acoustic wave type coordinate input device, a sound wave (generally, a signal emitted into the air at predetermined intervals from a sound wave generating means (a sound wave signal transmission source) provided in a pointing device that indicates a coordinate input position. Is detected by a plurality of sound wave detection means (acoustic wave signal reception means) arranged on the screen of the display, for example, and the sound wave detection signal is processed by an analog circuit to reach the sound wave detection means. Measure the delay time until the sound wave arrives after detecting the timing, calculate the distance between the sound wave generation means and the sound wave detection means from the delay time, and calculate the coordinates of the position of the sound wave generation means based on the distance is doing.
[0015]
In contrast, the energy of sound waves propagating in the air attenuates exponentially as the propagation distance increases. Therefore, as the distance between the pointing tool and the sound wave detection means increases, the level of the sound wave detection signal of the sound wave detection means also attenuates exponentially. Along with this, the output of the analog circuit also decreases, and the sound wave component (acoustic noise) other than the electrically converted signal and the ratio of the electrical noise to the signal existing on the circuit, that is, the S / N also decreases. . As a result, the detection resolution of the arrival timing is lowered, and the measurement resolution of the delay time is also lowered. As a result, as shown in FIG. 16, the measurement resolution of the distance decreases substantially in proportion to the measurement distance between the sound wave generation means and the sound wave detection means, and the coordinate detection resolution also decreases.
[0016]
Thus, for example, even in a device that is not configured to perform the linear instruction as the pointer described above (there is only one sound generator for the indicator), the position of the indicator at a position away from the display screen When controlling the position of the cursor on the display screen by inputting the X-axis and Y-axis coordinates, the coordinate detection resolution decreases as the distance between the pointing tool and the display screen increases, causing the problem that the cursor fluctuates greatly. It was.
[0017]
Note that the problem of the decrease in the coordinate detection resolution due to the increase in the measurement distance is not limited to the aerial acoustic wave type coordinate input device, but is transmitted at predetermined intervals from the signal transmission source provided in the pointing device that indicates the coordinate input position. A plurality of receiving means, and each of the distances from the signal transmission source to the plurality of receiving means is measured, and the coordinates of the position of the signal transmission source are determined based on each of the measured distances. This is common to the coordinate input device of the detection method.
[0018]
The present invention has been made in view of the circumstances as described above, and the problem is that the coordinate input device can compensate for the decrease in the coordinate detection resolution accompanying the increase in the measurement distance for coordinate detection described above. At the same time, it is possible to suppress an increase in fluctuation of the pointing point on the pointing surface accompanying an increase in the distance to the pointing surface (coordinate input surface), which is a problem particularly when configured as a pointer.
[0019]
[Means for Solving the Problems]
In order to solve the above problems, according to the present invention,
The display screen in which the coordinate value in the horizontal direction and the vertical direction of the display screen and the coordinate value in the direction orthogonal to the display screen, which are instructed by the coordinate pointing tool, are continuously detected and detected continuously. A coordinate input device that outputs an average value of coordinate values in the horizontal and vertical directions of
Based on the coordinate value first detected in the detection of the continuous coordinate value, so that the number of samples for calculating the average value increases as the coordinate indicator moves away from the display screen, Setting means for setting the number of samples for calculating the average value;
When the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, the horizontal direction of the display screen detected continuously And an output means for outputting an average value of coordinate values in the vertical direction,
When the detection of the continuous coordinate value is interrupted before the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, It has an end means for ending the process for calculating the average value of the coordinate values in the horizontal and vertical directions of the display screen.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. Here, an embodiment of an aerial acoustic wave type coordinate input device capable of detecting three-dimensional (space) coordinates is shown.
[0025]
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS.
[0026]
FIG. 1 shows an overall schematic configuration of a coordinate input apparatus according to this embodiment. In FIG. 1,
[0027]
The
[0028]
In this manner, by combining the coordinate input device and the
[0029]
Next, the details of the configuration and operation of the coordinate input device will be described. First, the configuration of the coordinate
[0030]
The coordinate
[0031]
The period of the drive signal applied from the drive circuit 45 to the sound wave generation source 43 is, for example, 10 msec. In this case, the sound wave is emitted 100 times per second, and the coordinate output sampling rate is 100 times / second. A sound wave and an optical signal as a start signal are emitted from the coordinate
[0032]
The emitted sound wave is delayed by a time corresponding to the distance from the sound wave generation source 43 to each of the detection sensors 3a to 3d and reaches each of the detection sensors 3a to 3d to be detected. Each of the detection signals is input to the signal
[0033]
In FIG. 3,
[0034]
On the other hand, the sound wave generation source 43 of the coordinate
[0035]
In FIG. 3, the
[0036]
The sound wave detection signal of the
[0037]
In this embodiment, in order to obtain an inflection point, the
[0038]
The second-order
[0039]
L = Vg × Tg (1)
Strictly speaking, the delay time Tg includes the delay of the circuit related to the waveform processing. However, since the influence can be eliminated, here there is no circuit delay time in order to simplify the explanation. Will be described.
[0040]
Next, the configuration and operation of the
[0041]
As described above, the start signal of the optical signal synchronized with the
[0042]
Each time a sound wave reaches each of the detection sensors 3a to 3d and is detected, the sound wave arrival timing signals Tga to Tgd, which are the above-described
[0043]
When the
[0044]
Next, a method of calculating the three-dimensional coordinates (x, y, z) of the position of the sound wave generation source 43 of the coordinate
[0045]
The distance between the sound wave generation source 43 and each of the detection sensors 3a to 3d determined as described above is La to Ld, the distance between the detection sensors in the X axis direction is Xs-s, and the distance between the detection sensors in the Y axis direction is the distance between the detection sensors. If Ys-s, from the three-square theorem,
[0046]
[Expression 1]
[0047]
It is. From this, the x coordinate of the position of the sound wave generation source 43 is obtained by the following equation.
[0048]
[Expression 2]
[0049]
Similarly, the y coordinate and the z coordinate are obtained by the following equations.
[0050]
[Equation 3]
[0051]
When the
[0052]
As can be seen from the above equations (3) to (5), for example, if the distances La, Lb, and Lc are known, that is, if the distance between the three detection sensors and the sound wave generation source 43 can be measured, the position coordinates of the sound wave generation source 43 are obtained. Can be calculated. In this embodiment, since four detection sensors 3a to 3d are used, for example, the information of the sensor farthest from the sound wave generation source 43 is not used (this sensor outputs data because the distance is the longest). (The signal level is the smallest), and coordinates are calculated only with the remaining three distance information, thereby enabling highly reliable coordinate calculation. Further, it is possible to determine whether the reliability of the output coordinate value is high by using the information of the sensor having the longest distance. As a specific method, for example, the coordinate values calculated by the distance information La, Lb, and Lc and the coordinate values calculated by the distance information Lb, Lc, and Ld should output the same value (the distance information If the two do not match, one of the distance information is invalid, that is, it has been erroneously detected. In this case, the reliability that the coordinate value is not output. It is also possible to implement a configuration that improves the above.
[0053]
The configuration described above merely inputs the three-dimensional coordinates of the position of the sound wave generation source 43 of the coordinate
[0054]
By the way, in the present embodiment, in order to solve the above-described problems of the invention, a calculation process (hereinafter referred to as an averaging process) that averages the x-coordinate and the y-coordinate in a series of detected three-dimensional coordinates is referred to as a micro process. Performed by the computer 301 (CPU 301a).
[0055]
This averaging process is a process of calculating and averaging a series of x-coordinate values and y-coordinate values that are periodically detected sequentially, and as the z-coordinate value detected at that time increases, the averaging process is performed once. Increase the number of samples of coordinate values to be averaged (hereinafter referred to as the number of averaged samples).
[0056]
Details of the averaging process will be described below with reference to FIG. FIG. 7 is a flowchart showing the arithmetic processing procedure of the averaging processing, and an arithmetic processing program corresponding to this is stored in the ROM 301b of the
[0057]
In the process of FIG. 7, first, in step S101, an integer n indicating the number of samples of x, y, z coordinate values sequentially detected and stored as described later is initialized to 0, and then the coordinate
[0058]
Here, when coordinates are detected at a certain timing, the number of samples n is incremented by “1” in step S102 (in this case, n = 1 at first), and then the coordinate values (X, Y, Z) is stored in the
[0059]
Subsequently, in step S104, it is determined whether or not the number of samples n = 1. If n = 1, the averaged number of samples Kend is set based on the Z coordinate value among the coordinate values detected in step S105. The setting method is as described above, as the Z coordinate value increases (in other words, as the coordinate
[0060]
After step S105 and if the number of samples n is not 1 in step S104, the process proceeds to step S106 to determine whether the value of the number of samples n matches the value of the averaged sample number Kend. In step S108, it is determined whether the coordinates are continuously detected. If the coordinates are continuously detected, the process returns to step S102 and the processes of steps S102 to S106 and S108 are repeated. Thereby, unless the continuous coordinate detection is interrupted, the coordinates sequentially detected until the value of the sample number n matches the value of the averaged sample number Kend in step S106 are stored.
[0061]
If the value of the sample number n matches the value of the averaged sample number Kend in step S106, the X coordinate value and the Y coordinate value (respectively averaged sample numbers) detected and stored in a series of operations in step S107. The arithmetic average (arithmetic mean) value of Kend coordinate values), that is, the quotient coordinate values Xave and Yave obtained by dividing the total value of each coordinate value by the averaged sample number Kend, The data is output to the display drive circuit 7 and other external devices via the I /
[0062]
After outputting the average value in this way, a series of processing ends (step S109), the number n of samples in step S101 is initialized, and the process returns to the standby state.
[0063]
On the other hand, if coordinate detection is not continuously performed in step S108, that is, if the continuous detection state is interrupted, the process proceeds to step S109 even if the integer n has not reached the value of the averaged sample count Kend. End the process. This is because the coordinate value obtained by the averaging process is valid only when the coordinate detection is continuously performed.
[0064]
Here, a determination method of continuous detection of coordinates will be described. If the coordinate input apparatus can detect coordinates at a coordinate sampling rate of 100 times / second, coordinates are detected every 10 msec. By measuring this cycle, it is possible to determine whether coordinate detection is being performed continuously. Specifically, for example, the start signal generation timing of the optical signal detected by the control
[0065]
As described above, as the detected z coordinate value increases, that is, as the distance between the coordinate
[0066]
Further, when the coordinate
[0067]
However, the coordinate sampling rate is substantially reduced by the averaging process. For example, assuming that the value of the average number of samples Kend is set to Kend = 10 in step S105 of FIG. 7, for example, in the case of a coordinate input device having a performance of a coordinate sampling rate of 100 times / second, this averaging process causes external processing. The output of the coordinate value is reduced to 10 times per second. However, this is not a problem for the following reasons.
[0068]
From the viewpoint of the operator, Z = 0, that is, on the display screen of the
[0069]
However, as you move away from the screen, the function becomes less important. You can “specify” a specific position at a remote location, or “underline” a specific sentence, and “enclose (select) a specific area. The function of the rough movement like “)” becomes important. That is, even if the coordinate sampling rate is substantially reduced as the user moves away from the screen, the above-mentioned “rough operation” can be realized without any problem.
[0070]
In this embodiment, a time delay occurs with respect to coordinate calculation. In other words, if the coordinate calculation for the average number of samples Kend is not performed from the point when the coordinate is input, the coordinate output to the outside is not performed. For example, the sampling rate of the coordinate input device is 100 points / second and the averaged sample is used. If the number Kend is 10 times, a time delay of 10 msec occurs. However, as a result of investigation, it has been confirmed that with such a time delay, it can be operated without any problem as a human sense (interval in which coordinates are input but not output or feels delayed). When the averaged sample number Kend becomes a value larger than that, humans start to feel that it is delayed. However, the averaged sample number is set based on the distance between the sound wave generation source 43 and the detection sensors 3a to 3d. Since it is a relatively large distance, in other words, a distance sufficiently away from the display screen of the
[0071]
[Second Embodiment]
In the averaging process of the first embodiment described above, the coordinate sampling rate is substantially reduced. A second embodiment for coping with this and performing the averaging process so that the coordinate sampling rate does not substantially decrease will be described with reference to FIG. The apparatus of the second embodiment is the same as that of the first embodiment except for the averaging processing method.
[0072]
FIG. 8 is a flowchart showing the arithmetic processing procedure of the averaging processing in the second embodiment, and an arithmetic processing program corresponding to this is stored in the ROM 301b of the
[0073]
In the processing procedure of FIG. 8, steps S101 to S109 are common to steps S101 to S109 of FIG. 7 of the first embodiment, and are different only by newly added step S110. Hereinafter, description of parts common to the processing of FIG. 7 will be omitted, and only different parts will be described.
[0074]
In the process of FIG. 7, the arithmetic average values Xave, Yave, and Zave of the averaged sample number Kend and the Y coordinate value or the Z coordinate value of the averaged sample number detected and stored in the previous operation are calculated in step S107. After outputting to the outside, the process is terminated (step S109), and the process returns to step S101, whereas in the process of FIG. 8, the process proceeds to step S110 after step S107.
[0075]
In step S110, the first (oldest) samples X1, Y1, and Z1 are erased for each of the Kend averaged sample numbers Kend stored in the
[0076]
After step S110, the process proceeds to step S108 to check whether or not the coordinates are continuously detected. If the coordinates are continuously detected, the process returns to step S102, and the processes after step S102 are repeated.
[0077]
If the coordinates are not continuously detected in step S108, that is, if the continuous coordinate input operation is completed, all stored information such as the coordinate value and the averaged sample number Kend is reset. The process ends (step S109), and the process returns to step S101.
[0078]
According to such an averaging process of the present embodiment, as long as coordinate detection is continuously performed, after the number of detected coordinate samples reaches the average sample number Kend for the first time, the coordinates of one coordinate are detected. For each detection, the coordinates are averaged, the average value is output, and the moving average is output. Therefore, if the sampling rate of the original coordinates of the coordinate input device is 100 times / second, for example, 100 times / second is maintained as it is.
[0079]
As a result of an experiment using a coordinate input device with a sampling rate of 100 times / second adopting the configuration of the present embodiment, Z = 0 (input on the display screen, high-speed sampling for inputting characters and figures) If the number of samples to be averaged is 10 times or less, accurate character input can be performed without a sense of incongruity. From this point of view, even if the original coordinate detection resolution of the coordinate input device is relatively poor It can be seen that the coordinate detection resolution can be improved by adopting the configuration of the present embodiment. In addition, coordinate input can be performed at a higher sampling rate even from a location far from the display screen as compared to the first embodiment.
[0080]
In the first and second embodiments described above, the detected coordinate value is averaged in the coordinate input device, but is averaged in a host computer or the like that receives the coordinate value detected by the coordinate input device. Processing may be performed.
[0081]
Further, as a method for determining continuous detection of coordinates, in addition to a method for monitoring and determining coordinate output timing based on the sampling rate of the coordinate input device, for example, a predetermined time is set, and the time and coordinate output timing are set. You may judge by comparing.
[0082]
In the first and second embodiments, the averaged sample number Kend is determined based on the uniaxial coordinate value called the z coordinate value among the detected x, y, and z coordinate values. There is also a method for determining the number of averaged samples based on all of the y and z coordinate values. For example, a distance from the position of the coordinate value (the position of the sound wave generation source 43) to the origin O of the coordinate system that is the center of the display screen of the
[0083]
Further, as is known in the art, in the specification of setting the position coordinates relatively by the coordinate input device and controlling the position of the cursor on the display screen, the absolute coordinates of the position designated by the coordinate
[0084]
[Third embodiment]
Next, a third embodiment of the present invention will be described with reference to FIGS. Note that the hardware configuration of the coordinate input device of this embodiment and the basic operation of coordinate detection are the same as those in the first and second embodiments described above, the description of the common parts is omitted, and only different points will be described. .
[0085]
In the present embodiment, switching of the pen down and pen up operation modes of the coordinate
[0086]
First, switching between pen-down and pen-up operation modes will be described. On the display screen of the
[0087]
In the processing procedure of FIG. 10, after the processing is started (step S401), the pen point SW41 is turned on when the operator holds the coordinate
[0088]
As the notification method, for example, information on the pen-down state is transmitted by superimposing it on a start signal as an optical signal emitted from the light emitting means 44 and detected by the control
[0089]
If the x and y coordinate values detected in the pen-down state are coordinate values in the display area (display screen area) (in the range of x <± Disp_X, y <± Disp_Y in FIG. 6), the micro of the
[0090]
On the other hand, if the detected x and y coordinate values are outside the display area even though the pen tip SW 41 is on, for example, the operator unintentionally operates the pen tip SW 41 regardless of the writing input. In this case, coordinate output is prohibited. Similarly, since the state where the pen tip SW 41 is on is a state where the display screen (coordinate input surface) is pressed by the coordinate
[0091]
On the other hand, when the pen tip SW 41 is in the OFF state, the writing operation is not performed by pressing the coordinate input surface by the operator. However, it is extremely possible that a desired screen operation can be performed by moving the displayed cursor or double-clicking an icon, for example, near or away from the display screen, or outside the display screen (display area). The benefits are great.
[0092]
Therefore, if only one of the
[0093]
In addition, when both the
[0094]
As described above, by operating the
[0095]
First, in the former case, by moving the coordinate
[0096]
Therefore, in the present embodiment, in accordance with the detected coordinate values (x, y, z), an
[0097]
Details of the switching of the coordinate output mode and the averaging process will be described below with reference to FIG. FIG. 11 is a flowchart showing the processing procedure. A processing program corresponding to this processing procedure is stored in the ROM 301b of the
[0098]
In the process of FIG. 11, first, in step S501 where the process is started, an integer n indicating the number of samples of x, y, z coordinate values sequentially detected and stored as described later is initialized to zero.
[0099]
Next, in step S502, it is determined whether or not an effective sound wave detection signal and a start signal necessary for coordinate calculation are detected by each of the detection sensors 3a to 3d and the control
[0100]
Next, it is determined whether or not the integer n is 1 in step S504. If it is 1, the position coordinates of the sound wave generation source 43 are within the distance between the detection sensors 3a to 3d and the sound wave generation source 43 measured in step S503 in step S505. Based on the three distance information (for example, the longest distance information among the four distances is not used for calculation) based on the three distance information used in the calculation of the average value (number of samples of the coordinate value to be averaged) in the averaging process described above Set Kend. The setting method is performed based on the longest distance information among, for example, three effective distance information used for coordinate calculation, and the larger the value is (in other words, the distance between the coordinate
[0101]
Next, in step S506, the position coordinate value (X, Y, Z) of the sound wave generation source 43 is calculated using the effective three distance information, and the nth coordinate value (Xn, Yn, Zn) of the number of samples is calculated. Store in the
[0102]
Next, in step S507, it is determined whether or not the integer n is 1. If it is 1, the number n of samples calculated and stored in step S506 immediately before that is the first coordinate value (X1, Y1, Z1) is as follows. In order to use it for the determination of the coordinate output mode and the calculation of the difference value described later, it is again stored in the
[0103]
Here, the coordinate system of the coordinate input device is defined as shown in FIG. 6, the display screen of the
[0104]
If the coordinate value Z1 is greater than or equal to the predetermined value in step S509, or if the coordinate values X1 and Y1 are coordinate values outside the display area in step S510, the coordinate output mode is set to “
[0105]
The flowchart of FIG. 11 does not show all the methods for setting the operation mode described above with reference to FIG. 9, but starts the operation (on / off) information of the pen tip SW 41 of the coordinate
[0106]
The state of “
[0107]
On the other hand, the state of “
Detected coordinate value (Xn, Yn, Zn) → Stored coordinate value (Xn, Yn, Zn)
For “
Detected coordinate value (Xn, Yn, Zn) → Stored coordinate value (Xn-X1, Yn-Y1, Zn-Z1)
Is processed as
[0108]
Next, in step S513, it is determined whether or not the value of the integer n matches the value of the average sample number Kend set in step S505. If not, coordinate detection is continuously performed in step S516. Is determined in exactly the same manner as described in step S108 of FIG. 7 of the first embodiment. If coordinate detection is continuously performed, the process returns to step S503. As long as coordinate detection is continuously performed, the processes of steps S503 to S513 and S516 are performed until the integer n reaches the averaged sample number Kend in step S513. repeat. By repeating this, coordinate values (absolute coordinate values in the
[0109]
If the integer n coincides with the averaged sample number Kend, in step S514, the coordinate values of the averaged sample number Kend detected and stored in the series of operations so far (absolute coordinates in the output mode 1). Value, the difference value in output mode 2) is calculated, and the X-axis coordinate and Y-axis coordinate values are output to the external device, etc. (Of course, the Z-axis coordinate average value is output to the external device, etc.) However, depending on the application, there may be an output form of only X-axis coordinates or Y-axis coordinates). Information indicating whether the coordinate value output here is an absolute coordinate value according to “
[0110]
Next, in step S515, for each of the X, Y, Z coordinate values (absolute coordinate values in
[0111]
Thereafter, the process proceeds to step S516, where it is confirmed whether or not the coordinates are continuously detected as described above. If the coordinates are continuously detected, the process returns to step S503, and the processes after step S503 are repeated.
[0112]
On the other hand, if the coordinate detection is not continuously performed in step S516, that is, if the continuous coordinate input operation is completed, the stored coordinate value and averaged sample number Kend are all reset and processed. After that, the process returns to step S501 to initialize the integer n, and in step S502, a standby state is waited for detection of a valid signal.
[0113]
As described above, in the present embodiment, the coordinate output mode is switched based on the detected coordinate value, and the detected coordinate value is averaged. The same effect as in the first and second embodiments can be obtained by the averaging process. That is, it is possible to compensate for a decrease in coordinate detection resolution accompanying an increase in measurement distance for coordinate detection, and when the position of the cursor is controlled with the coordinate
[0114]
Now, let us consider a case where the coordinate value Z1 is larger than a predetermined value set in advance in step S509. This state means that the coordinate
[0115]
Considering the state of being away from the display screen of the
[0116]
However, as the distance from the display screen of the
[0117]
In other words, in the case of remote input (operation of inputting coordinates at a position away from the
[0118]
As described above, when performing some remote input operation on the image information (image information having a coordinate system on the XY plane) displayed on the
[0119]
Therefore, in the present embodiment, when the Z coordinate value is greater than or equal to the predetermined value in step S509 (remote input), the first effective coordinate value is stored as the predetermined coordinate value (X1, Y1, Z1) (this The position of the cursor displayed on the display screen does not move), and the movement direction of the
[0120]
FIG. 12 shows the respective output ranges in the coordinate output mode that are switched by the processing of the flowchart of FIG. 11 in the display range of the
[0121]
Considering the case of remote control, when you enter coordinates directly by touching the screen directly, considering that it is a large display, if you try to move the cursor from edge to edge, Accompanying body movement. However, in the case of remote control, for example, it is normal for a questioner to stand up and ask a question on the spot (necessary to move if there are a lot of listeners). It is desirable to be able to point to the entire area. The configuration of the present embodiment also solves this problem. This will be described below with reference to FIG.
[0122]
In the relative coordinate (difference value) output range shown in FIG. 12, a scene is assumed in which an operator is going to give a presentation to a large number of listeners using the
[0123]
On the other hand, in the configuration of the present embodiment, it is assumed that the operator is on the side of the
[0124]
As described above, even if the operator is at a position away from the display screen of the
[0125]
A case of inputting characters and figures will be described with reference to FIG. First, the coordinate
[0126]
Here, the operator needs to move to the first position {circle around (2)} by moving the coordinate
[0127]
In this way, the operator can control the display information by natural movements and input information such as characters and figures by hand, and for many listeners, the display information is not obstructed. It is possible to efficiently understand the contents intended by the speaker who is the operator.
[0128]
Furthermore, in the present embodiment, in consideration of the usability of a system having a large screen, the mode for outputting absolute coordinates and the mode for outputting relative coordinates are automatically switched depending on the calculated coordinate values. It is possible to provide an excellent operating environment in which an operation (for example, switching the output mode of the coordinate input device by a switch unit or the like) is not required and the user can concentrate on the presentation.
[0129]
In the present embodiment, the relative coordinate is output, and the coordinate values (X1, Y1, Z1) serving as a reference for obtaining the difference from the detected coordinate value are first validated during the continuous input period. It is defined as a coordinate value. The reason for this will be described in detail below.
[0130]
It is easy for the operator to recognize the boundary of the display area in the vicinity of the display area, but this recognition becomes ambiguous as the distance from the display area increases. Furthermore, the numerical value of the predetermined value in the Z-axis direction in step S509 of FIG. 11 may be a numerical value that can be set by the operator, but even if the numerical value is recognized, the Z-axis by the predetermined value It is difficult to distinguish the actual boundaries of direction. On the other hand, by first inputting coordinates, the operator recognizes whether the output is performed in the form of absolute coordinates or the form of relative coordinates. For example, the coordinate
[0131]
Therefore, in this embodiment, the period of the start signal radiated from the coordinate
[0132]
In other words, the operator can know the coordinate output form by first inputting one point of coordinates, and the mode is fixed while the coordinate input operation is performed continuously thereafter. Thereafter, the operator does not need to be aware of the boundary for mode switching.
[0133]
In this embodiment, the coordinate input device may output coordinate mode information (information indicating whether the coordinate is absolute or relative) together with the coordinate value to an external device or the like. Assume that only absolute coordinate values are output, and the host device that receives the output result, for example, the personal computer side receives the received coordinate values and the timing of receiving the coordinate values (determines whether coordinate input is being performed continuously) May be configured to perform processing similar to the coordinate output mode switching and averaging processing described in FIG.
[0134]
In the present embodiment, whether to output absolute coordinates or relative coordinates is determined based on the detected coordinate value and the distance in the Z-axis direction from the
[0135]
FIG. 14 is a flowchart showing a processing procedure for setting a display area in view of this point. A control program for performing this processing is stored in the ROM 301b of the
[0136]
In performing the processing of FIG. 14, the operator designates each of the four corner positions of the rectangular display area (display screen) of the
[0137]
On the other hand, in the process of FIG. 14, the variable cont is first set to 0 (step S601), the variable cont is incremented (step S602), and then an effective sound wave signal and start signal necessary for coordinate detection are used. Is detected (step S603). When a valid signal is detected, the coordinate values Xcont and Ycont of the indicated position of the coordinate input pen 4 (any one of the four corners at the position of the sound wave generation source 43) are calculated based on the detected signal, and the
[0138]
Next, it is confirmed whether the variable cont has become larger than 4 (step S605), and the processing of steps S602 to S605 is repeated a total of 4 times until it becomes so.
[0139]
After detecting and storing the respective coordinates of the four corner positions of the display area in this way, ± Disp_X, Y in the X-axis direction with respect to the origin O of the coordinate system shown in FIG. A display area (display screen area of the display 6) indicated by ± Disp_Y in the axial direction is calculated (step S606). Here, for example, a value obtained by averaging the x coordinate value of the upper left corner and the x coordinate value of the lower left corner is defined as a boundary value in the left x direction, or a quadrangular region connecting the four corners is defined, It is a conditional expression that determines the coordinate output form.
[0140]
Here, the display area is derived by detecting the coordinates of the four corner positions of the display area. However, the present invention is not limited to this. For example, the coordinates of the three positions of the four corners are used. The coordinate
[0141]
By the way, considering the usability of the coordinate input device, when the operator moves the cursor on the screen by moving the coordinate input pen in the pen-up state,
[0142]
In this embodiment, the moving averaging process similar to that of the second embodiment is performed. However, a simple averaging process similar to that of the first embodiment may be performed. In that case, as in the first embodiment, the coordinate sampling rate is substantially reduced by the averaging process, but there is no problem in terms of user convenience for the same reason as described in the first embodiment.
[0143]
[Other Embodiments]
In the first to third embodiments described above, as a method of averaging the detected coordinate values, the coordinate values continuously detected are simply arithmetically averaged, or the arithmetic average is a moving average. However, as another method, averaging is performed by weighting the coordinate value of the sample (for example, increasing the weight of the coordinate value detected more recently to increase the influence of the latest coordinate value). It may be.
[0144]
In the first to third embodiments, the detected coordinate values are averaged as the detected coordinate value averaging process. However, the coordinate input device averages the measurement parameters for calculating the coordinates. As a result, the coordinate values may be averaged as a result. That is, in order to calculate the coordinates, the distance from the sound wave generation source 43 to the detection sensors 3a to 3d is first measured. Therefore, the distance corresponding to the number of averaged samples is measured, the average distance is calculated, and the average is calculated. The coordinate value may be calculated using the distance. Moreover, since the arrival time of the sound wave from the sound wave generation source 43 to the detection sensors 3a to 3d is measured, the arrival time for the number of averaged samples is measured, and the average arrival time is calculated. The coordinate value may be calculated using the arrival time.
[0145]
Moreover, although the coordinate input device of the 1st-3rd embodiment was a thing of the aerial sound wave system, it is not restricted to this, The signal transmitted from a signal transmission source is received for every predetermined period by several receiving means. In the case of a coordinate input device that measures each distance from a signal transmission source to a plurality of receiving means and detects the coordinates of the position of the signal transmission source based on each of the measured distances, generally, as the measurement distance increases Since the distance measurement resolution is reduced, it is possible to compensate for the decrease in the coordinate detection resolution accompanying the increase in the measurement distance by applying the detection coordinate value averaging process or the measured distance averaging process according to the present invention. it can.
[0146]
The coordinate input devices of the first to third embodiments can detect the three-dimensional coordinates of x, y, and z. However, the present invention is not limited to this, and only two-dimensional coordinates or only one-dimensional coordinates can be detected. Even in a coordinate input device that can be detected, it is possible to compensate for a decrease in coordinate detection resolution due to an increase in measurement distance by applying the detected coordinate value averaging process or the measured distance averaging process according to the present invention. Can do.
[0147]
By the way, in the configuration of the first to third embodiments, the movement of the coordinate
[0148]
In this regard, in the coordinate input device that detects the position coordinates of the coordinate
[0149]
Therefore, when coordinates are detected, for example, if “coordinates with an abnormally fast moving speed of the coordinate
[0150]
【The invention's effect】
As is clear from the above description, according to the present invention,By setting so that the number of samples for calculating the average value of coordinate values increases as the coordinate indicator moves away from the display screen, even if the coordinate indicator is away from the display screen, the fluctuation of the indication Suppressing growthIt is possible,It is possible to provide an excellent coordinate input device that is sufficiently considered in operability and easy to use. Furthermore, when the detection of the continuous coordinate values is interrupted, the process for calculating the average value is terminated, so that an average value with low reliability is prevented from being output.An excellent effect that it can be obtained.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram showing an overall configuration of a coordinate input device according to an embodiment of the present invention.
FIG. 2 is a side view and a rear view of a coordinate input pen of the apparatus.
FIG. 3 is a timing chart illustrating signal processing related to coordinate detection of the apparatus.
FIG. 4 is a block diagram showing a configuration of a signal waveform detection circuit of the same device.
FIG. 5 is a block diagram showing a configuration of an arithmetic control circuit of the same device.
FIG. 6 is an explanatory diagram showing a coordinate system of the apparatus.
FIG. 7 is a flowchart showing a procedure of detected coordinate value averaging processing in the first embodiment;
FIG. 8 is a flowchart showing a procedure of detected coordinate value averaging processing in the second embodiment;
FIG. 9 is a table showing a relationship between an operation mode and a coordinate output mode of a coordinate input pen, on / off of each switch of the coordinate input pen, a coordinate calculation value, and the like.
FIG. 10 is a flowchart showing a procedure for switching processing between a pen-up state and a pen-down state according to turning on / off of a coordinate input pen according to the third embodiment.
FIG. 11 is a flowchart showing a procedure of a coordinate output mode switching and an averaging process in the embodiment.
FIG. 12 is an explanatory diagram showing a relationship between a display range of the display, an absolute coordinate output range, and a relative coordinate output range in the same embodiment;
FIG. 13 is an explanatory diagram of a cursor movement operation and a character writing input operation by the coordinate input pen according to the embodiment.
FIG. 14 is a flowchart showing a procedure of display range setting processing in the embodiment;
FIG. 15 is a graph showing the relationship between the irradiation distance of the laser pointer and the fluctuation width of the bright spot (indicating point) and the relationship between the irradiation distance and the hand shake angle holding the laser pointer.
FIG. 16 is a graph showing the relationship between the measurement distance and the measurement resolution for coordinate detection in the aerial acoustic wave type coordinate input device.
[Explanation of symbols]
1 Operation control circuit
2 Signal waveform detection circuit
3a-3d detection sensor
4 Coordinate input pen
5 Light receiving element
6 Display
7 Display drive circuit
41 nib switch
42a, 42b Penside switch
43 Sound wave source
210 Envelope detection circuit
206 Second order differentiation circuit
207 Tg signal detection circuit
301 Microcomputer
301a CPU
301b ROM
303 timer
304a to 304d latch circuit
Claims (3)
前記座標指示具が前記表示画面から離れるのに応じて前記平均値を算出するためのサンプル数が多くなるように、前記連続的な座標値の検出において最初に検出された座標値に基いて、前記平均値を算出するためのサンプル数を設定する設定手段と、
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出されると、前記連続的に検出された、前記表示画面の横方向と縦方向における座標値の平均値を出力する出力手段と、
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出される前に、前記連続的な座標値の検出が中断すると、前記表示画面の横方向と縦方向における座標値の平均値を演算するための処理を終了する終了手段を有することを特徴とする座標入力装置。 The display screen in which the coordinate value in the horizontal direction and the vertical direction of the display screen and the coordinate value in the direction orthogonal to the display screen, which are instructed by the coordinate pointing tool, are continuously detected and detected continuously. A coordinate input device that outputs an average value of coordinate values in the horizontal and vertical directions of
Based on the coordinate value first detected in the detection of the continuous coordinate value, so that the number of samples for calculating the average value increases as the coordinate indicator moves away from the display screen, Setting means for setting the number of samples for calculating the average value;
When the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, the horizontal direction of the display screen detected continuously And an output means for outputting an average value of coordinate values in the vertical direction,
When the detection of the continuous coordinate value is interrupted before the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, A coordinate input device comprising: ending means for ending processing for calculating an average value of coordinate values in a horizontal direction and a vertical direction of a display screen .
前記座標指示具が前記表示画面から離れるのに応じて前記平均値を算出するためのサンプル数が多くなるように、前記連続的な座標値の検出において最初に検出された座標値に基いて、前記平均値を算出するためのサンプル数を設定し、Based on the coordinate value first detected in the detection of the continuous coordinate value, so that the number of samples for calculating the average value increases as the coordinate indicator moves away from the display screen, Set the number of samples to calculate the average value,
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出されると、前記連続的に検出された、前記表示画面の横方向と縦方向における座標値の平均値を出力し、When the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, the horizontal direction of the display screen detected continuously And the average value of the coordinate values in the vertical direction,
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出される前に、前記連続的な座標値の検出が中断すると、前記表示画面の横方向と縦方向における座標値の平均値を演算するための処理を終了することを特徴とする座標値出力方法。When the detection of the continuous coordinate value is interrupted before the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, A coordinate value output method comprising: ending processing for calculating an average value of coordinate values in a horizontal direction and a vertical direction of a display screen.
前記座標指示具が前記表示画面から離れるのに応じて前記平均値を算出するためのサンプル数が多くなるように、前記連続的な座標値の検出において最初に検出された座標値に基いて、前記平均値を算出するためのサンプル数を設定する手順と、
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出されると、前記連続的に検出された、前記表示画面の横方向と縦方向における座標値の平均値を出力する手順と、
前記連続的な座標値の検出において最初に検出された座標値に基いて算出されたサンプル数の座標値が連続的に検出される前に、前記連続的な座標値の検出が中断すると、前記表示画面の横方向と縦方向における座標値の平均値を演算するための処理を終了する手順を、コンピュータに実行させるためのプログラム。 The display screen in which the coordinate value in the horizontal direction and the vertical direction of the display screen and the coordinate value in the direction orthogonal to the display screen, which are instructed by the coordinate pointing tool, are continuously detected and detected continuously. A program for causing a computer to execute a coordinate value output procedure for outputting an average value of coordinate values in the horizontal direction and the vertical direction of
Based on the coordinate value first detected in the detection of the continuous coordinate value, so that the number of samples for calculating the average value increases as the coordinate indicator moves away from the display screen, A procedure for setting the number of samples for calculating the average value;
When the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, the horizontal direction of the display screen detected continuously And a procedure for outputting the average value of the coordinate values in the vertical direction,
When the detection of the continuous coordinate value is interrupted before the coordinate value of the number of samples calculated based on the coordinate value detected first in the detection of the continuous coordinate value is continuously detected, A program for causing a computer to execute a procedure for ending a process for calculating an average value of coordinate values in the horizontal and vertical directions of a display screen .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002295542A JP4136584B2 (en) | 2002-10-09 | 2002-10-09 | Coordinate input device, coordinate value output method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002295542A JP4136584B2 (en) | 2002-10-09 | 2002-10-09 | Coordinate input device, coordinate value output method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004133566A JP2004133566A (en) | 2004-04-30 |
JP4136584B2 true JP4136584B2 (en) | 2008-08-20 |
Family
ID=32285748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002295542A Expired - Fee Related JP4136584B2 (en) | 2002-10-09 | 2002-10-09 | Coordinate input device, coordinate value output method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4136584B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5804467B2 (en) * | 2010-03-31 | 2015-11-04 | 北陽電機株式会社 | Signal processing device and scanning distance measuring device |
JP6386897B2 (en) * | 2014-12-10 | 2018-09-05 | シャープ株式会社 | Electronic blackboard, information processing program, and information processing method |
JP6631280B2 (en) * | 2016-02-03 | 2020-01-15 | セイコーエプソン株式会社 | Position detecting device, position detecting system, and position detecting method |
JP6500974B2 (en) * | 2017-12-20 | 2019-04-17 | カシオ計算機株式会社 | Detection apparatus, detection method and program |
-
2002
- 2002-10-09 JP JP2002295542A patent/JP4136584B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004133566A (en) | 2004-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3952896B2 (en) | Coordinate input device, control method therefor, and program | |
US10241622B1 (en) | Method and apparatus of position tracking and detection of user input information | |
JP4006290B2 (en) | Coordinate input device, control method of coordinate input device, and program | |
JP4590114B2 (en) | Coordinate input device, control method therefor, and recording medium | |
US9250742B1 (en) | Method and apparatus of position tracking and detection of user input information | |
US20180188894A1 (en) | Virtual Touchpads For Wearable And Portable Devices | |
KR20150002302A (en) | Image erasing device for electronic chalkboard system and control method thereof, display apparatus and control method thereof, and electronic chalkboard system | |
US20020140673A1 (en) | Coordinate input apparatus, control method therefor, and computer-readable memory | |
JP2010198290A (en) | Input device, display position adjustment method for pointer, and program | |
JP4136584B2 (en) | Coordinate input device, coordinate value output method and program | |
WO2017013186A1 (en) | Apparatus and method for detecting gestures on a touchpad | |
JP2004078323A (en) | Coordinate input system and coordinate calculation method | |
JP2004070496A (en) | Coordinate input device and coordinate value processing method | |
JPH09212288A (en) | System and method for information input | |
JP2004272636A (en) | Processing method for detection coordinate value, and coordinate input device | |
JP2004185488A (en) | Coordinate input device | |
JPH10149253A (en) | Pen input device | |
JPH09212299A (en) | Information input device and its method | |
JP2002351605A (en) | Coordinate input device | |
US11720198B2 (en) | Electronic device and touch control method therefor | |
JPH10149252A (en) | Pen input device and positional coordinate correcting method for the device | |
JP2004070575A (en) | Device for inputting coordinate and method for processing detected coordinate value | |
JP2004240634A (en) | Coordinate input device | |
JP2003029917A (en) | Coordinate input device | |
JP2015005302A (en) | Input device, and method and program of adjusting display position of pointer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050915 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080527 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080603 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |