JP2004133566A - Coordinate input device, and process and program for computing coordinate value - Google Patents

Coordinate input device, and process and program for computing coordinate value Download PDF

Info

Publication number
JP2004133566A
JP2004133566A JP2002295542A JP2002295542A JP2004133566A JP 2004133566 A JP2004133566 A JP 2004133566A JP 2002295542 A JP2002295542 A JP 2002295542A JP 2002295542 A JP2002295542 A JP 2002295542A JP 2004133566 A JP2004133566 A JP 2004133566A
Authority
JP
Japan
Prior art keywords
coordinate
coordinate values
averaging
coordinates
signal
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.)
Granted
Application number
JP2002295542A
Other languages
Japanese (ja)
Other versions
JP4136584B2 (en
Inventor
Katsuyuki Kobayashi
小林 克行
Hajime Sato
佐藤 肇
Yuichiro Yoshimura
吉村 雄一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002295542A priority Critical patent/JP4136584B2/en
Publication of JP2004133566A publication Critical patent/JP2004133566A/en
Application granted granted Critical
Publication of JP4136584B2 publication Critical patent/JP4136584B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To cause a coordinate input device to compensate a decrease in the resolution of coordinate detection caused by an increase of the distance measured for coordinate detection and to reduce an increase in the fluctuation of an indicating point on an indicating plane (coordinate input plane) caused by an increase in the distance to the indicating plane, which fluctuation is problematic particularly if the device is formed as a pointer. <P>SOLUTION: The three-dimensional coordinate values (Xn, Yn, Zn) of an indicator's position to be periodically detected are serially stored (step S103). When there is the first coordinate value (n = 1) after the start of a process (S104), the number Kend of samples of averaged coordinate values is set according to its Z coordinate value (S105). That is, the greater the Z coordinate value is, the greater the number is. Once the number of samples stored reaches Kend (S106), the arithmetic average values (Xave, Yave or Zave) of respective coordinates are calculated for output (S107). <P>COPYRIGHT: (C)2004,JPO

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】
【課題を解決するための手段】
上記の課題を解決するため、本発明によれば、
座標入力位置を指示する指示具の位置の3次元座標を所定周期毎に検出する座標入力装置において、
検出された一連の3次元座標の少なくとも1軸の座標値を平均化する演算処理を行なって処理結果の座標値を出力する演算処理手段を有し、該演算処理手段は前記検出された3次元座標の少なくとも1軸の座標値に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なう構成を採用した。
【0020】
また、所定周期毎に信号発信源から発信される信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標入力装置において、
検出された一連の座標値を平均化する演算処理を行なって処理結果の座標値を出力する演算処理手段を有し、該演算処理手段は前記計測した距離に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なう構成を採用した。
【0021】
また、所定周期毎に信号発信源から発信された信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標入力装置において、
計測した一連の距離を平均化する演算処理を行なって処理結果の平均距離に基づいて前記信号発信源の位置の座標を算出する演算処理手段を有し、該演算処理手段は、前記計測した距離に基づいて平均化する距離のサンプル数を決定して前記平均化の演算処理を行なう構成を採用した。
【0022】
また、所定周期毎に音波発生源から空中に発せられた音波を複数の検出手段により検出して、前記音波発生源から複数の検出手段までの音波の到達時間のそれぞれを計測し、該計測した到達時間のそれぞれに基づいて前記音波発生源の位置の座標を検出する座標入力装置において、
計測した一連の到達時間を平均化する演算処理を行なって処理結果の平均到達時間に基づいて前記音波発生源の位置の座標を算出する演算処理手段を有し、該演算処理手段は、前記計測した到達時間に基づいて平均化する到達時間のサンプル数を決定して前記平均化の演算処理を行なう構成を採用した。
【0023】
さらに、上記の座標入力装置の構成に対応する座標値の演算処理方法と座標値の演算処理プログラムの構成を採用した。
【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】

Figure 2004133566
【0047】
である。これから音波発生源43の位置のx座標は、次式により求められる。
【0048】
【数2】
Figure 2004133566
【0049】
同様にしてy座標とz座標は次式により求められる。
【0050】
【数3】
Figure 2004133566
【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]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a coordinate input device that detects the coordinates of the position of a pointing tool that indicates a coordinate input position and inputs the coordinates to a host device, a method of processing coordinate values, and a calculation processing program.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a coordinate input device capable of inputting coordinates is disposed on a display screen of a display device such as a CRT display, a liquid crystal display, or a projector, and a pointing (instruction) performed by an operator or a handwriting by writing is displayed. There is known an apparatus which can realize a relationship like a paper and a pencil, as if displayed on a paper. Examples of the coordinate input device include a device having a transparent input plate, such as a resistive film type, an electrostatic type, an ultrasonic type that transmits ultrasonic waves to a coordinate input surface such as glass, an optical type, or a sound 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 radiating (ultrasonic waves) or an electromagnetic induction (electromagnetic transfer) method, and transparent on the front of the display device In some cases, a protective plate is disposed to constitute an information device with an integrated input and output.
[0003]
Such devices begin with small electronic organizers having portability, and with the increase in size of display devices such as pen input computers, relatively large-sized information devices have come to be seen. In combination with a large-sized display device such as a rear projector, a large-sized liquid crystal display or a PDP, it is beginning to be used for a presentation device, a TV conference system, and the like.
[0004]
In particular, a device that combines a large display device and a coordinate input device replaces a whiteboard or electronic blackboard that has been used in offices in the past, and displays data for materials prepared in advance on a personal computer on a large-screen display. It has begun to be used for applications and meetings. In that case, to update the information displayed on the display by the operator or attendees like a whiteboard, touch the screen directly, control the PC by inputting coordinates by the touch, and display the contents of the display screen Is configured to be able to be switched.
[0005]
In such a device, in consideration of a meeting assuming a large number of participants, and the network age, not only the operator controls the personal computer by directly touching the screen as described above, but also, for example, while watching the screen. 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 content can display evidence materials for questions or rebuttal. And the like, and can extract information from the network as needed.
[0006]
Furthermore, considering a presentation using a large-screen display, an operator (presenter) usually stands at a position farther from the screen in order to recognize the entire projected image. This is clear from the presentation using the OHP or the like, and the distance between the operator and the screen becomes longer as the image size becomes larger. In this case, as a means for indicating a desired position on the screen, a laser pointer or a pointing stick which does not obstruct the line of sight of the participant watching the screen is commonly used, but a similar linear instruction as a pointer can be performed. An aerial sound wave (ultrasonic wave) type coordinate input device configured as described above is known (see Patent Document 1).
[0007]
In the device, sound waves (ultrasonic waves) emitted in the air from a plurality of sound wave generating means arranged along the longitudinal direction of a pointing tool (pointing pen) for pointing a coordinate input position are arranged around a screen of a display. The coordinates of the positions of the plurality of sound wave generators detected by the three or more sound wave detectors are calculated, and then the intersection (designated point) of a straight line passing (connecting) the positions of the plurality of sound wave generators with the screen of the display. Is derived.
[0008]
[Patent Document 1]
Japanese Patent Publication No. 7-97304
[0009]
[Problems to be solved by the invention]
However, in the above-mentioned instructions in the aerial sound wave type coordinate input device capable of giving an instruction as a pointer, as is clear from the operability of the laser pointer, as the distance between the pointing device and the screen (indicating surface) increases, the instruction on the screen increases. There is a problem that the fluctuation of the point becomes large. This problem will be described with reference to FIG.
[0010]
FIG. 15A shows a case where the operator holds the laser pointer from each of positions at different distances from the screen on the screen for a predetermined time and continuously irradiates the laser toward one point on the screen. The results of an experiment in which the width of fluctuation of a bright point (indicated point) of a laser beam irradiated on the screen due to the held hand shake is measured are shown. As the irradiation distance becomes longer, the swing width becomes larger, and reaches about 90 mm at an irradiation distance of 10 m. That is, if the irradiation distance becomes longer, the operator cannot continue to point a desired point.
[0011]
FIG. 15 (B) shows the result of FIG. 15 (A) by using the swing angle Θ (= tan -1 The results are shown in [(Shake width of luminescent spot on screen / 2) / (irradiation distance)]. Here, since the swing angle 元 at hand is substantially constant (about 0.3 °) without depending on the irradiation distance, it can be understood that the swing of the laser luminescent spot mainly occurs due to the swing angle Θ.
[0012]
Even in the aerial sound wave type coordinate input device capable of giving an instruction as the pointer, even when the coordinate detection accuracy is high, when giving an instruction on the screen similarly, the holding ability of the human holding the indicating tool is about equal. Since the hand has a swing angle of 0.3 °, the pointing point fluctuates, and as the distance between the pointing device and the screen increases, the swing width increases. As a result, when a desired position on a large screen, such as an OHP, is designated by a pointing device from a remote position using such a coordinate input device, the designated point (the intersection point described above) fluctuates, and a cursor displayed at the designated point is displayed. There is a problem in that the presentation fluctuates, which makes a presentation participant looking at the screen feel uncomfortable, troublesome, and tired. This problem is not limited to the aerial sound wave method, but is common to coordinate input devices configured to allow a pointer to perform a linear instruction as a pointer.
[0013]
On the other hand, the aerial sound wave type coordinate input device is not limited to the one configured to be capable of giving an instruction as the above-mentioned pointer, but also includes a pointing device provided with sound wave generating means, and a sound wave detecting device arranged around the screen. There is a problem in that the resolution of coordinate detection decreases as the distance from the means increases. This will be described below.
[0014]
In general, in an aerial sound wave type coordinate input device, a sound wave (a general sound wave) as a signal emitted in the air at predetermined intervals from a sound wave generator (a sound wave signal transmission source) provided on a pointing device for indicating a coordinate input position. Is detected by a plurality of sound wave detecting means (sound wave signal receiving means) arranged on a screen of a display, for example, and the detection signal of the sound wave is processed by an analog circuit to reach the sound wave detecting means. Detects the timing, measures the delay time until the sound wave arrives, calculates the distance between the sound wave generating means and the sound wave detecting means from the delay time, and calculates the coordinates of the position of the sound wave generating means based on the distance are doing.
[0015]
On the other hand, the energy of the sound wave propagating in the air decays exponentially as the propagation distance increases. Therefore, as the distance between the pointing device and the sound wave detector increases, the level of the sound wave detection signal of the sound wave detector also exponentially decreases. Along with this, the output of the analog circuit also decreases, and the sound wave component (acoustic noise) other than the signal that is electrically converted and the ratio of the electrical noise to the signal existing on the circuit, that is, the S / N, also decrease. . As a result, the detection resolution of the arrival timing is reduced, and the measurement resolution of the delay time is also reduced. 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 which is not configured to be able to perform the above-described linear pointing as a pointer (there is only one sound generating means of the pointing device), the position of the pointing device at a position away from the display screen can be reduced. When the position of the cursor on the display screen is controlled by inputting the coordinates of the X-axis and the Y-axis, the coordinate detection resolution decreases as the distance between the pointing device and the display screen increases, so that the cursor may fluctuate greatly. Was.
[0017]
The problem of the decrease in the coordinate detection resolution due to the increase in the measurement distance is not limited to the aerial sound wave type coordinate input device, and is transmitted from the signal source provided in the pointing device for specifying the coordinate input position at predetermined intervals. The received signal is received by a plurality of receiving means, 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 calculated based on each of the measured distances. This is common to the coordinate input device of the detection type.
[0018]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a coordinate input device capable of compensating for a decrease in the coordinate detection resolution associated with an increase in the above-described measurement distance for coordinate detection. It is another object of the present invention to suppress an increase in fluctuation of a designated point on the pointing surface due to an increase in a distance to a pointing surface (coordinate input surface), which is a problem particularly when the pointer is configured as a pointer.
[0019]
[Means for Solving the Problems]
To solve the above problems, according to the present invention,
In a coordinate input device that detects three-dimensional coordinates of a position of a pointing device that indicates a coordinate input position at predetermined intervals,
An arithmetic processing means for performing an arithmetic processing for averaging coordinate values of at least one axis of the detected series of three-dimensional coordinates and outputting a coordinate value as a processing result, wherein the arithmetic processing means includes the detected three-dimensional coordinates; A configuration is adopted in which the number of samples of coordinate values to be averaged is determined based on the coordinate values of at least one axis of the coordinates, and the averaging operation is performed.
[0020]
In addition, a signal transmitted from the signal transmission source is received by a plurality of reception units at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception units is measured. In a coordinate input device for detecting the coordinates of the position of the signal source based on the
Calculating means for averaging a series of detected coordinate values and outputting coordinate values as a result of the processing, the arithmetic processing means comprising a sample of coordinate values to be averaged based on the measured distance; A configuration is employed in which the number is determined and the averaging operation is performed.
[0021]
Further, a signal transmitted from the signal transmission source is received by a plurality of reception means at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception means is measured. In a coordinate input device for detecting the coordinates of the position of the signal source based on the
The arithmetic processing means for performing arithmetic processing for averaging a series of measured distances and calculating coordinates of the position of the signal transmission source based on an average distance of the processing result, wherein the arithmetic processing means includes the measured distance The number of distance samples to be averaged is determined on the basis of the above, and the arithmetic processing of the averaging is performed.
[0022]
Further, a plurality of detecting means detects sound waves emitted from the sound wave source into the air from the sound wave source at predetermined intervals, and measures each of the arrival times of the sound waves from the sound wave source to the plurality of detecting means. In a coordinate input device that detects the coordinates of the position of the sound source based on each of the arrival times,
Computing means for performing arithmetic processing for averaging a series of measured arrival times and calculating coordinates of the position of the sound source based on the average arrival time of the processing result, wherein the arithmetic processing means The number of samples of the arrival time to be averaged is determined based on the obtained arrival time, and the averaging operation is performed.
[0023]
Further, a method of processing coordinate values and a configuration of a program for processing coordinate values corresponding to the configuration of the coordinate input device are employed.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Here, an embodiment of a coordinate input device of an aerial sound wave system capable of detecting three-dimensional (space) coordinates will be described.
[0025]
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS.
[0026]
FIG. 1 shows the overall schematic configuration of a coordinate input device according to the present embodiment. In FIG. 1, reference numeral 4 denotes a coordinate input pen which is a pointing tool for indicating a coordinate input position, and generates a sound wave (an audible sound wave is preferable, but an ultrasonic wave is preferable) in the air by an operation by an operator. It is configured as follows. The generated sound wave is detected by a plurality of (here, four) detection sensors 3a to 3d arranged around the display screen of the display 6, and the respective detection signals are processed by the signal waveform detection circuit 2 by a method described later. The arrival timing of the sound wave to the detection sensors 3a to 3d is detected, and the arrival time of the sound wave to the detection sensor is measured in the arithmetic and control circuit 1 based on the detection timing. (X, Y, Z) is configured to be calculated.
[0027]
The arithmetic and control circuit 1 controls the entire apparatus, moves the cursor displayed on the display 6 via the display driving circuit 7 based on the obtained coordinate data, and writes writing information such as characters and figures. The display 6 can be displayed and added.
[0028]
In this way, by combining the coordinate input device and the display 6, when the coordinate input pen 4 is operated on the display screen of the display 6, a man-machine interface that can realize a relationship like a paper and a pencil can be realized. In addition, when the coordinate input pen 4 is operated at a position distant from the display screen, the screen can be controlled by remote control by, for example, moving a cursor on the display screen.
[0029]
Next, the configuration and operation of the coordinate input device will be described in detail. First, the configuration of the coordinate input pen 4 will be described with reference to FIG. The coordinate input pen 4 incorporates a sound wave source (source of sound wave signal) 43, a drive circuit 45, and a power supply 46, and the sound wave source 43 is driven by the drive circuit 45. The drive circuit 45 includes a timer, an oscillation circuit, and a control circuit that detects and controls operation information of a plurality of switches 41, 42a, and 42b included in the coordinate input pen 4. The drive signal of the sound wave source 43 is a pulse signal generated by the timer and repeated at a predetermined period, and is amplified by a predetermined gain by the oscillation circuit and then applied to the sound wave source 43. The electric drive signal is converted into mechanical vibration by the sound wave source 43, and the sound wave due to the vibration is emitted into the air. On the other hand, an optical signal synchronized with the emission timing of the sound wave is transmitted from the light emitting means 44 such as an infrared LED.
[0030]
The coordinate input pen 4 includes a pen point switch 41 that operates by pressing the tip of the pen, and two pen side switches 42a and 42b provided on the side surface of the casing of the coordinate input pen 4. The drive circuit 45 drives the sound wave generation source 43 in response to any one of these switches being pressed and turned on.
[0031]
The cycle of the drive signal applied from the drive circuit 45 to the sound source 43 is, for example, 10 msec. In this case, a 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 input pen 4 in each cycle.
[0032]
The emitted sound waves arrive at the detection sensors 3a to 3d with a delay corresponding to the distance from the sound source 43 to the detection sensors 3a to 3d, respectively, and are detected. Each of the detection signals is input to the signal waveform detection circuit 2, where the arrival timing of the sound wave to each of the detection sensors 3a to 3d is detected from the waveform of the detection signal. The operation will be described below with reference to FIGS. FIG. 3 is a timing chart of each signal, and FIG. 4 is a block diagram showing a configuration of the signal waveform detection circuit 2.
[0033]
In FIG. 3, reference numeral 101 denotes a drive signal generated by the drive circuit 45 of the coordinate input pen 4, which is used as a start signal to start measuring the arrival time of the sound wave simultaneously with the generation of the drive signal 101 as described later. Is emitted from the light emitting means 44. This optical signal is received by the light receiving element 5 provided near the display screen of the display 6 as shown in FIG. 1, and is detected by the frequency detection circuit 210 of the signal waveform detection circuit 2 shown in FIG. The signal is detected by the circuit 211 and input to the arithmetic and control circuit 1. Thus, the timer 303 of the arithmetic and control circuit 1 described later is started to measure time.
[0034]
On the other hand, the sound source 43 of the coordinate input pen 4 is driven by the drive signal 101, a sound wave is radiated into the air, and a delay time corresponding to the distance between the sound source 43 and each of the detection sensors 3a to 3d is applied. The light reaches the detection sensors 3a to 3d and is detected.
[0035]
In FIG. 3, the detection sensor 3 is a representative one of the detection sensors 3a to 3d, and the components denoted by reference numerals 201 to 207 are provided for the respective detection sensors 3a to 3d.
[0036]
The sound wave detection signal of the detection sensor 3 is amplified by the preamplifier circuit 201 to a predetermined level. The signal is indicated by reference numeral 102 in FIG. The sound wave detection signal 102 is processed by an envelope detection circuit 203 including an absolute value circuit and a low-pass filter, and only the envelope 103 of the signal 102 is extracted. Focusing on this envelope 103, the speed of sound at which the waveform propagates is the group velocity Vg. When a singular point of the waveform of the envelope 103, such as a peak or an inflection point, is detected, the sound wave source 43 of the sound wave transmits the sound to the detection sensor 3. A delay time (arrival time) Tg related to the group velocity Vg until the arrival is obtained.
[0037]
In the present embodiment, in order to obtain an inflection point, the envelope signal 103 is input to a second-order differentiating circuit 206 and a gate signal generating circuit 205 including a comparator. The second-order differentiation circuit 206 performs second-order differentiation on the envelope signal 103 to generate a second-order differentiation signal 106. The gate signal generation circuit 205 generates a gate signal 105 that opens (becomes a low level) only while the level of the envelope signal 103 exceeds a predetermined threshold level 104.
[0038]
The second-order differential signal 106 and the gate signal 105 are input to a Tg signal detection circuit 207 including a zero cross comparator. This circuit 207 detects a point at which the second-order differential signal 106 first crosses zero while the gate signal 105 is open as an inflection point, and generates a Tg signal 107 as a detection signal thereof. The Tg signal 107 is input to the arithmetic and control circuit 1, where the delay time Tg relating to the group velocity Vg of the sound wave is measured by the Tg signal 107. Further, from the delay time Tg and the group velocity Vg, the distance L between the sound wave source 43 and the detection sensor 3 is obtained by the following equation.
[0039]
L = Vg × Tg (1)
Strictly speaking, the delay time Tg includes the delay of the circuit related to the waveform processing, but since the influence can be eliminated, here, in order to simplify the explanation, there is no circuit delay time. It will be described as.
[0040]
Next, the configuration and operation of the arithmetic control circuit 1 will be described with reference to the block diagram of FIG. In FIG. 5 showing the configuration of the arithmetic and control circuit 1, reference numeral 301 denotes a microcomputer for controlling the arithmetic and control circuit 1 and the entire coordinate input device, and includes a CPU 301a as a main control unit, a ROM 301b storing a control program, and a work. The area includes a RAM 301c used for calculations and the like, a non-volatile memory for storing constants and the like (not shown), a counter, and the like.
[0041]
As described above, the start signal of the optical signal synchronized with the drive signal 101 of the sound source 43 of the coordinate input pen 4 is detected by the control signal detection circuit 211 of the signal waveform detection circuit 2 and input to the microcomputer 301. In response, the microcomputer 301 starts a timer 303 including a counter and the like. By doing so, synchronization between the drive timing of the sound wave source 43 and the start timing of the timer 303 can be obtained, so that the time until the sound wave generated by the sound source 43 reaches each of the detection sensors 3a to 3d (as described above). The delay time Tg) can be measured.
[0042]
Each time a sound wave arrives at each of the detection sensors 3a to 3d and is detected, a sound wave arrival timing signal Tga to Tgd, which is the aforementioned Tg signal 107 from each of the detection sensors 3a to 3d, is input from the signal waveform detection circuit 2 to the detection signal. The signals are input to the latch circuits 304 a to 304 d via the port 306. When each of the latch circuits 304a to 304d receives the timing signal from the corresponding sensor, the latch circuit 304a to 304d latches the count value of the timer 303 at that time.
[0043]
When the determination circuit 305 determines that all the detection signals necessary for coordinate detection have been received in this way, it outputs a signal to the microcomputer 301 to that effect. In response to this, the microcomputer 301 reads the sound wave arrival time from the latch circuits 304a to 304d to each of the detection sensors 3a to 3d, performs a calculation described later, and calculates the coordinates of the position of the sound source 43 of the coordinate input pen 4. calculate. Further, a result of processing the obtained coordinate value (absolute coordinate value) by a method described later is output to the display drive circuit 7 via the I / O port 307, and, for example, a dot or the like is placed at a corresponding position on the display 6. So that it can be displayed. Also, by outputting coordinate information to an external interface circuit (not shown) via the I / O port 307, it is possible to output coordinate values to an external device.
[0044]
Next, a method for calculating the three-dimensional coordinates (x, y, z) of the position of the sound source 43 of the coordinate input pen 4 will be described with reference to FIG. As shown in FIG. 6, it is assumed that the detection sensors 3a to 3d are arranged near each of the four corners of the rectangular display 6, and the center of the flat display screen of the display 6 is the origin O (0,0, 0), one axis passing through the origin O along the horizontal direction of the display screen in the display screen is the X axis, one axis passing through the origin O along the vertical direction of the display screen in the display screen is the Y axis, the X axis One axis orthogonal to the Y axis is defined as a Z axis. Note that Disp_X is a length obtained by dividing the length of the display screen (display area) in the X-axis direction by two on the Y axis, and Disp_Y is a length obtained by dividing the length of the display screen (display area) in the Y-axis by two on the X axis. Length.
[0045]
The distance between the sound wave source 43 and each of the detection sensors 3a to 3d obtained 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 If Ys-s, from the theorem of three squares,
[0046]
(Equation 1)
Figure 2004133566
[0047]
It is. From this, the x coordinate of the position of the sound source 43 can be obtained by the following equation.
[0048]
(Equation 2)
Figure 2004133566
[0049]
Similarly, the y coordinate and the z coordinate are obtained by the following equations.
[0050]
[Equation 3]
Figure 2004133566
[0051]
When the microcomputer 301 performs such an operation, the three-dimensional coordinates (x, y, z) of the position of the sound source 43 of the coordinate input pen 4 can be calculated.
[0052]
As can be seen from the above equations (3) to (5), for example, if the distances La, Lb, Lc are known, that is, if the distance between the three detection sensors and the sound source 43 can be measured, the position coordinates of the sound source 43 can be measured. Can be calculated. In the present embodiment, since four detection sensors 3a to 3d are used, for example, information of a sensor farthest from the sound wave source 43 is not used (in this sensor, output is performed because the distance is the longest). By calculating coordinates using only the remaining three pieces of distance information, highly reliable coordinates can be calculated. Further, by utilizing information of the sensor having the longest distance, it is possible to determine whether or not the reliability of the output coordinate value is high. As a specific method, for example, the coordinate value calculated based on the distance information La, Lb, Lc and the coordinate value calculated based on the distance information Lb, Lc, Ld should output the same value (the value of the distance information). If the two do not match, either one of the distance information is incorrect, that is, a false detection has been made, and in that case, the coordinate value is not output. Can be implemented.
[0053]
Although the configuration described above merely inputs three-dimensional coordinates of the position of the sound source 43 of the coordinate input pen 4, the sound source is similar to that described in Patent Document 1. 43 are provided so as to be arranged along the longitudinal direction of the coordinate input pen 4, three-dimensional coordinates of each of the two positions are detected, and then an intersection of a straight line connecting the two positions and the display screen of the display 6. If the coordinates of the position are derived, it can be used as a pointer that linearly indicates a desired position on the display screen, like the laser pointer.
[0054]
By the way, in the present embodiment, in order to solve the above-described problem of the invention, an arithmetic process (hereinafter, referred to as an averaging process) for averaging an x coordinate and a y coordinate in a series of detected three-dimensional coordinates is performed by a micro process. This is performed by (the CPU 301a of) the computer 301.
[0055]
This averaging process is a process of calculating and averaging the arithmetic mean of a series of x-coordinate values and y-coordinate values that are sequentially and sequentially detected. As the z-coordinate value detected at that time increases, the averaging process is performed once. The number of samples of coordinate values to be averaged (hereinafter referred to as the number of averaged samples) is increased.
[0056]
Details of the averaging process will be described below with reference to FIG. FIG. 7 is a flowchart showing the calculation processing procedure of the averaging processing. The corresponding calculation processing program is stored in the ROM 301b of the microcomputer 301 and executed by the CPU 301a.
[0057]
In the process of FIG. 7, first, in step S101, an integer n indicating the number of samples of each of the x, y, and z coordinate values sequentially detected and stored is initialized to 0, and then the coordinate input pen 4 It waits until the coordinates of the position of the sound wave source 43 are detected.
[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 RAM 301c as the coordinate value (Xn, Yn, Zn) of the n-th sample.
[0059]
Subsequently, it is determined in step S104 whether or not the number of samples n = 1, and if n = 1, the averaged sample number Kend is set based on the Z coordinate value among the coordinate values detected in step S105. As described above, the setting method is such that as the Z coordinate value increases (in other words, as the coordinate input pen 4 is positioned farther from the display screen (Z = 0) of the display 6), the number of averaged samples is increased. The value of Kend may be set to be larger, and the increase may be made proportionally or exponentially in accordance with, for example, an increase in the Z coordinate value.
[0060]
After step S105, and when the number of samples n is not 1 in step S104, the process proceeds to step S106, and it is determined 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 or not the coordinates are continuously detected. If the coordinates are continuously detected, the process returns to step S102 and the processes in steps S102 to S106 and S108 are repeated. As a result, as long as the continuous coordinate detection is not 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 detected and stored in a series of operations in step S107 (each of the averaged sample number An arithmetic average (arithmetic average) value of Kend coordinate values), that is, coordinate values Xave and Yave of a quotient obtained by dividing the total value of each coordinate value by the averaged sample number Kend, is calculated. The data is output to the display drive circuit 7 and other external devices via the I / O port 307. Here, the average value Zave of the Z coordinate values may be calculated and output. For example, when the coordinate input pen 4 is provided with two sound wave sources 43 and configured as a pointer, averaging of all X, Y, and Z coordinate values is performed. Further, an average value of only one of the X, Y, and Z coordinate values may be calculated and output according to the application.
[0062]
After outputting the average value in this manner, a series of processes is ended (step S109), and the process returns to the initialization and standby state of the number of samples n in step S101.
[0063]
On the other hand, if coordinate detection has not been continuously performed in step S108, that is, if the continuous detection state has been interrupted, the process proceeds to step S109 even if the integer n has not reached the value of the averaged sample number Kend. Ends the processing. This is because the coordinate value obtained by the averaging process is effective only when the coordinate detection is continuously performed.
[0064]
Here, a method of determining continuous detection of coordinates will be described. If the present coordinate input device can perform coordinate detection at a coordinate sampling rate of 100 times / second, for example, the coordinates are detected at intervals of 10 msec. By measuring this cycle, it can be determined whether coordinate detection is being performed continuously. Specifically, for example, the generation timing of the start signal of the optical signal detected by the control signal detection circuit 211 is monitored (in this case, if the sampling rate is 100 times / second, the start signal is generated every 0.01 seconds). Yes), it is determined whether or not continuous detection is being performed. As another method, the arrival interval of the sound wave detection signal 102 in FIG. 3 is directly monitored. In this case, since the distance between the pen 4 and each of the detection sensors 3a to 3d constantly changes with the movement of the coordinate input pen 4, the time based on the sampling rate (0.01 second if the sampling rate is 100 times / second) is used. ), The difference in transmission time of the sound wave due to the change in distance is increased or decreased. Therefore, the expression is a period of about 0.01 second (in theory, a signal is always received within a range of 0 to 0.02 seconds), and the maximum movement of the pen 4 within 0.01 second in practical use Considering the amount, for example, when a signal can be received within 0.015 seconds, it is determined that coordinate detection is continuously performed.
[0065]
As described above, as the detected z-coordinate value increases, that is, as the distance between the coordinate input pen 4 and the detection sensors 3a to 3d increases, the x, y or z-coordinate values are averaged and output with a larger number of averaged samples. By doing so, it can be compensated that the coordinate detection resolution decreases as the distance increases. In other words, variations in the detected coordinate values due to a decrease in the coordinate detection resolution can be eliminated by averaging the detected coordinate values, thereby substantially improving the coordinate detection resolution. When the position of the cursor on the display screen is controlled by inputting the X and Y coordinates of the position of the coordinate input pen 4 from a position distant from the display screen of the display 6, it is possible to suppress the fluctuation of the cursor due to an increase in the distance. it can.
[0066]
Further, when the coordinate input pen 4 is provided with two sound wave sources 43 as pointers, the operator points a desired position on the display screen with the pen 4 from a position away from the display screen as described above. At this time, the fluctuation of the designated point on the display screen (the intersection of the straight line connecting the two sound wave sources 43 and the display screen) due to the hand shake of the operator holding the pen 4 can be suppressed by the averaging process. In other words, the fluctuation of the coordinate values of the positions of the two sound wave sources 43 due to the hand-holding of the pen 4 can be suppressed by averaging them, whereby the display on the display screen derived from the coordinate values can be suppressed. Fluctuations in the coordinate value of the designated point (the above intersection), that is, fluctuation of the designated point, can be suppressed. Thus, the fluctuation of the designated point on the display screen can be suppressed, and the fluctuation of the cursor or the like displayed at the specified point can be suppressed, and an environment that is easy for a person watching the display screen to see can be provided.
[0067]
However, the averaging process substantially reduces the coordinate sampling rate. For example, assuming that the value of the number of averaged 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 The output of the coordinate values to is reduced to 10 times per second. However, this is no problem for the following reasons.
[0068]
From the viewpoint of the operator, Z = 0, that is, on the display screen of the display 6, writing of characters, figures, and the like is performed by the coordinate input pen 4, and the handwriting is displayed, whereby information such as "whiteboard" is displayed. It is important to be able to record, and a sufficient coordinate sampling rate must be ensured to faithfully reproduce the handwriting as characters and figures.
[0069]
However, as you move away from the screen, the function becomes less important, and you can "point" a specific location at a distance, "underline" specific text, or "enclose (select) a specific area. )] Becomes important. That is, even if the coordinate sampling rate substantially decreases as the user moves away from the screen, the above-described “rough operation” can be realized without any problem.
[0070]
In the present embodiment, a time delay occurs in the coordinate calculation. In other words, unless coordinates are calculated for the number of averaged samples Kend from the time of inputting coordinates, the coordinate output to the outside is not performed. For example, the sampling rate of the coordinate input device is set to 100 points / sec. If the number Kend is set to ten times, a time delay of 10 msec occurs. However, as a result of the examination, it has been confirmed that with such a time delay, the operation can be performed without any problem as a human sense (an interval in which coordinates are input but not output or the user feels delayed). When the averaged sample number Kend becomes a value larger than that, humans start to feel delayed, but the averaged sample number is set because the distance between the sound wave source 43 and the detection sensors 3a to 3d is set. Since the distance is relatively large, in other words, the distance sufficiently distant from the display screen of the display 6, it is necessary to consider the purpose of use at that time (rather than inputting fine characters and graphics, pointing roughly, etc.). If so, there is no practical problem. This can be similarly applied to a second embodiment described below and a third embodiment described later.
[0071]
[Second embodiment]
In the averaging process of the first embodiment described above, the coordinate sampling rate is substantially reduced. A second embodiment in which the averaging process is performed so that the coordinate sampling rate does not substantially decrease in response to this will be described with reference to FIG. The apparatus of the second embodiment is common to the first embodiment except for the method of the averaging process.
[0072]
FIG. 8 is a flowchart showing a calculation processing procedure of the averaging processing in the second embodiment. A calculation processing program corresponding to this is stored in the ROM 301b of the microcomputer 301 and executed by the CPU 301a.
[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 differ only in newly added step S110. Hereinafter, the description of the parts common to the processing of FIG.
[0074]
In the process of FIG. 7, in step S107, the arithmetic average values Xave, Yave, and Zave of the Kend X coordinate values and the Y coordinate values or the Z coordinate values of the number of averaged samples detected and stored in the operation up to that time are calculated. After output to the outside, the process is terminated (step S109), and the process returns to step S101. In contrast, 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 deleted for each of the X, Y, and Z coordinate values of the number of averaged samples Kend stored in the RAM 301c in the operation up to that point. Then, the remaining sample Xn is stored again as Xn-1, Yn as Yn-1, and Zn as Zn-1. For example, if the averaged sample number Kend is 3, X2 is stored as X1 and X3 is stored as X2. Also, the number n of samples is decremented by "1".
[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 process from step S102 is repeated.
[0077]
If the coordinates have not been continuously detected in step S108, that is, if the continuous input operation of the coordinates has been completed, all the stored information such as the coordinate values and the averaged sample number Kend are reset and the processing is performed. The process ends (step S109), and returns to step S101.
[0078]
According to the averaging process of this embodiment, as long as the coordinate detection is continuously performed, after the number of samples of the detected coordinates reaches the averaged sample number Kend for the first time, one coordinate of the coordinates is obtained. 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, for example, 100 times / second, it is maintained as it is, such as 100 times / second.
[0079]
As a result of an experiment using a coordinate input device with a sampling rate of 100 times / second employing the configuration of the present embodiment, Z = 0 (input on a display screen, high-speed sampling for inputting characters and graphics) If the rate is required) and if the number of averaged samples is 10 or less, accurate character input can be performed without a sense of incongruity. From this viewpoint, even if the original coordinate detection resolution of the coordinate input device is relatively poor. It can be seen that by adopting the configuration of the present embodiment, the coordinate detection resolution can be improved. Further, compared to the first embodiment, it is possible to input coordinates at a higher sampling rate even from a place far from the display screen.
[0080]
In the first and second embodiments described above, the averaging process of the detected coordinate values is performed inside the coordinate input device. However, the averaging process is performed in a host computer or the like that receives the coordinate values detected by the coordinate input device. Processing may be performed.
[0081]
As a method of determining continuous detection of coordinates, in addition to a method of monitoring and determining coordinate output timing based on a sampling rate of a coordinate input device, for example, a predetermined time is set, and the time and the coordinate output timing are set. The determination may be made by comparing.
[0082]
In the first and second embodiments, the averaged sample number Kend is determined based on the one-axis coordinate value of the detected x, y, and z coordinate values, that is, the z coordinate value. There is also a method of determining the number of averaged samples based on all of the y and z coordinate values. For example, based on the detected x, y, and z coordinate values, the distance from the position of the coordinate values (the position of the sound source 43) to the origin O of the coordinate system, which is the center of the display screen of the display 6, is calculated. The number of averaged samples may be determined based on the average number of samples. It is also conceivable to determine the averaged sample number Kend based on the coordinate values of two axes among the detected x, y, z coordinate values.
[0083]
Further, as is conventionally known, in the specification in which the position input is relatively set by the coordinate input device and the position of the cursor on the display screen is controlled, the absolute coordinate of the position indicated by the coordinate input pen 4 is used. Since the value and the display position of the cursor are different (relatively shifted), the display position of the cursor is first calculated as an absolute position, and the distance between the absolute position of the cursor and the absolute position of the coordinate input pen 4 is calculated. Then, the number of averaged samples may be determined according to the distance.
[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 of the first and second embodiments described above, and description of common parts is omitted, and only different points will be described. .
[0085]
In the present embodiment, switching of the operation mode of pen-down and pen-up of the coordinate input pen 4 and switching of the output mode of absolute coordinates and relative coordinates, which are not described in the first and second embodiments, are shown in FIG. As shown in (1), the operation is performed in accordance with the operation of the pen tip switch 41 and the pen side switches 42a and 42b of the coordinate input pen 4 and the detected x, y, and z coordinate values.
[0086]
First, switching between the pen-down and pen-up operation modes will be described. On the display screen of the display 6, it is assumed that writing of characters and graphics is performed by inputting coordinates in the pen-down state, and movement of the cursor and clicking of icons are performed by inputting coordinates in the pen-up state. The switching is performed as follows in accordance with the processing procedure shown in the flowchart of FIG. 10 in accordance with the operation of the pen tip switch 41 and the pen side switches 42a and 42b of the coordinate input pen 4. In the following, “switch” is abbreviated as “SW”.
[0087]
In the processing procedure of FIG. 10, first, after the processing is started (step S401), the operator grips the coordinate input pen 4 and presses the display screen (coordinate input surface) to turn on the pen tip SW41 (step S402). The control circuit of the drive circuit 45 determines that the pen is in the pen-down state, drives the sound wave source 43 at a predetermined cycle so that sound waves are emitted into the air, and notifies the arithmetic and control circuit 1 of the pen-down state. (Step S406).
[0088]
As a notification method, for example, pen-down state information is superimposed on a start signal as an optical signal radiated from the light emitting means 44 and transmitted, and the control signal detection circuit 211 detects and detects the information. It is also possible to determine pen-up / pen-down by changing the frequency of the sound wave radiated from the sound wave source 43 and detecting it on the arithmetic control circuit 1 side.
[0089]
If the x, y coordinate values detected in the pen-down state are coordinate values (in the range of x <± Disp_X, y <± Disp_Y in FIG. 6) within the display area (area of the display screen), the microcontroller of the arithmetic and control circuit 1 will be described. The CPU 301a of the computer 301 outputs the coordinate values (see FIG. 9). As a result, the trajectory accompanying the movement of the coordinate input pen 4 is output on the display screen in a relationship similar to that of a normal paper and pencil.
[0090]
On the other hand, when the detected x, y coordinate values are out of the display area while the pen tip SW 41 is on, for example, the operator unintentionally operates the pen tip SW 41 regardless of writing input. In this case, coordinate output is prohibited. Similarly, the state in which the pen tip SW 41 is ON is a state in which the display screen (coordinate input surface) is pressed by the coordinate input pen 4, and thus the Z-axis coordinate value detected at this time is substantially “0”. If it does not become "0", an erroneous operation by the operator is also assumed, so that the coordinate output is also prohibited in this case (see FIG. 9).
[0091]
On the other hand, when the pen tip SW 41 is in the off state, the writing operation is not in a state where the operator presses the coordinate input surface. However, it is very difficult to perform a desired screen operation by moving a displayed cursor or double-clicking an icon at a position near or away from the display screen or outside the display screen (display area). The advantages are great.
[0092]
Therefore, if only one of the pen-side switches 42a and 42b is turned on in steps S403 to S405, the control circuit of the drive circuit 45 determines that the pen is in the pen-up state, drives the sound wave generation source 43 to generate sound waves, and And notifies the arithmetic and control circuit 1 of the pen-up state (step S407).
[0093]
Further, if both pen side SWs 42a and 42b are turned on in steps S403 to S405, the control circuit of the drive circuit 45 determines that the pen is in the pen down state even if the pen tip SW 41 is not on, and drives the sound wave generation source 43. In addition, a sound wave is generated, and the fact that the pen is down is notified to the arithmetic and control circuit 1 (step S406).
[0094]
As described above, by operating the pen side SWs 42a and 42b, the coordinates are input at a position away from the display screen of the display 6, and the cursor is moved (pen up state) or written (pen down state). In such a case (when the pen 4 is not directly in contact with the display screen of the display 6 and the pen tip SW 41 is not turned on), the coordinates are displayed on the display screen of the display 6 or in the vicinity of the display screen. The specifications required for the operation are different between the case where the input operation is performed and the case where the coordinate input operation is performed at a position relatively distant from the display screen or outside the display area.
[0095]
First, in the former case, by moving the coordinate input pen 4, for example, it is required to intuitively and directly move a displayed cursor to a desired position accurately. However, in the latter case, for example, in order to move the displayed cursor to a desired position, it is required to relatively move the cursor in accordance with the movement of the coordinate input pen. In other words, when an operator intends to give a presentation using a large display, it is possible to control display information or write information (characters, figures, etc.) by directly touching (inputting coordinates) on the screen. (Relationship between paper and pencil) In addition to the means, in the case of simply pointing out information, the operator does not go to the place to point to it, but instead displays it in a remote place, in other words, viewed from the listener's side It is preferable that desired screen control and addition of information can be performed in a state where the information is not hidden by the operator. Furthermore, in consideration of such a large-sized integrated input / output system, such as a meeting for a large number of participants, the above-described operator directly controls the personal computer by touching the screen. Not only that, but the screen can be displayed away from the screen, for example, so that conference participants who are listening to the presentation while watching the screen can display evidence for questions or rebuttals. It can be said that it is a preferable mode that the configuration is such that it can be operated or information can be extracted from the network as needed.
[0096]
Therefore, in the present embodiment, in accordance with the detected coordinate values (x, y, z), an output mode 1 in which absolute coordinate values are output as output coordinate values shown in the table of FIG. In addition to switching between the coordinate output mode and the output mode 2 for outputting the output mode, an average (moving average) of the detected coordinate values is performed in the same manner as in the second embodiment in order to solve the above-described problem of the invention. .
[0097]
The 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 the processing procedure is stored in the ROM 301b of the microcomputer 301 and executed by the CPU 301a.
[0098]
In the process of FIG. 11, first, in step S501 where the process starts, an integer n indicating the number of samples of each of the x, y, and z coordinate values sequentially detected and stored is initialized to 0 as described later.
[0099]
Next, in step S502, it is determined whether a valid sound wave detection signal and a start signal required for coordinate calculation have been detected by the detection sensors 3a to 3d and the control signal detection circuit 211, and when a valid signal has been detected ( If the coordinate calculation can be performed), the integer n is incremented by "1" in step S503 (n = 1 in the first case), and each of the detection sensors 3a to 3c is calculated from the effective sound wave detection signal as described above. The distance between 3d and the sound source 43 is measured.
[0100]
Next, in step S504, it is determined whether or not the integer n is 1. If it is 1, the position coordinates of the sound source 43 within the distance between the detection sensors 3a to 3d and the sound source 43 measured in step S503 in step S505. Based on three pieces of distance information used for calculating (for example, the longest distance information among the four distances is not used for calculation), the number of averaged samples in the above-described averaging process (the number of samples of coordinate values to be averaged) Set Kend. For example, the setting method is performed based on the longest distance information among the effective three pieces of distance information used for the coordinate calculation. The larger the value is, the more the distance (in other words, the distance between the coordinate input pen 4 and the detection sensor) is increased. The greater the value, the larger the value of the averaged sample number Kend is set. In this setting, for example, the value of the averaged sample number Kend is increased proportionally or exponentially according to the distance value.
[0101]
Next, in step S506, the position coordinate value (X, Y, Z) of the sound wave source 43 is calculated using the effective three pieces of distance information, and is set as the n-th sample coordinate value (Xn, Yn, Zn). It is stored in the RAM 301c.
[0102]
Next, in step S507, it is determined whether or not the integer n is 1, and if it is 1, the coordinate number (X1, Y1, Z1) of the sample n = 1st calculated and stored in step S506 immediately before is calculated as follows. In order to use for the determination of the coordinate output mode and the calculation of the difference value described above, the data is separately stored in the RAM 301c (step S508). Then, in steps S509 and S510, a coordinate output mode is determined based on the coordinate values.
[0103]
Here, the coordinate system of the coordinate input device is defined as shown in FIG. 6, and the display screen of the display 6 is defined as an XY plane (Z = 0) and its vertical direction is defined as the Z axis. Is smaller than a predetermined value (for example, a value corresponding to 1 m if the distance is 1 m). If it is smaller than the predetermined value, the X-axis coordinate value X1 and the Y-axis coordinate value Y1 stored in step S510 are further coordinate values (x <± Disp_X, y in FIG. 6) in the display area (display screen area) of the display 6. <Within the range of ± Disp_Y), and if it is within the display area, the coordinate output mode is set to “output mode 1”.
[0104]
If the coordinate value Z1 is equal to or larger than the predetermined value in step S509, or if the coordinate values X1 and Y1 are outside the display area in step S510, the coordinate output mode is set to "output mode 2".
[0105]
Note that the flowchart of FIG. 11 does not show all the methods of setting the operation mode described above with reference to FIG. 9. If the control signal is superimposed on the optical signal, which is a signal, and demodulated and detected as a control signal by the control signal detection circuit 211, the reliability of the coordinate calculation can be increased by using the operation information of the pen tip SW41. That is, when the pen tip SW41 is turned on, it is normal that the pen tip SW41 is turned on by pressing the display screen which is the coordinate input surface, and the Z axis is turned on even though the pen tip SW41 is turned on. If the detected value of Z does not become Z = 0, it is possible to stop the output of the detected coordinate value assuming that the coordinate input has been performed by some kind of erroneous operation. (See FIG. 9).
[0106]
The state of the “output mode 1” is a movement operation of the coordinate input pen 4 in a state where the operator is operating the coordinate input pen 4 relatively close to the display screen of the display 6 and within the display area of the display 6. Accordingly, the display information is controlled by moving the cursor displayed on the display 6 or writing information such as characters and figures.
[0107]
On the other hand, in the state of the “output mode 2”, for example, the operator is outside the display area near the display screen (for example, beside the display 6) and controls the display content without interrupting the display information to the listener. Since it is possible to assume a state where presentation is being performed or a state where display contents are controlled by a remote operation at a position distant from the display 6, the cursor can be relatively moved by the operation of the coordinate input pen 4. I do. The method of moving the cursor to “relative” will be described. At least the detected X- and Y-axis coordinate values are calculated as difference values from the previously stored coordinate values (X1, Y1). It is configured so that In other words, the detected coordinate value is “output mode 1”,
Detected coordinate value (Xn, Yn, Zn) → stored coordinate value (Xn, Yn, Zn). In the case of “output mode 2”,
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 averaged sample number Kend set in step S505. If not, the coordinate detection is continuously performed in step S516. It is determined in exactly the same way as described in step S108 of FIG. 7 of the first embodiment. If the coordinate detection is continuously performed, the process returns to step S503. As long as the 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 this repetition, coordinate values (absolute coordinate values in output mode 1 and difference values in output mode 2) are sequentially calculated and stored in RAM 301c.
[0109]
If the integer n matches 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 up to that time (the absolute coordinate in the output mode 1). A specification for calculating the arithmetic mean value of the values (difference value in output mode 2) and outputting the values of the X-axis coordinates and the Y-axis coordinates to an external device or the like (of course, outputting the average value of the Z-axis coordinates to the external device or the like) However, depending on the application, there may be an output form using only the X-axis coordinates or the Y-axis coordinates.) Note that information indicating whether the coordinate value output here is an absolute coordinate value in “output mode 1” or a difference value in “output mode 2” may be output together with the coordinate values.
[0110]
Next, in step S515, each of the X, Y, and Z coordinate values (absolute coordinate values in the output mode 1 and difference values in the output mode 2) for each of the Kend averaged sample numbers stored in the operations up to that point. After erasing the first (oldest) samples X1, Y1 and Z1, the remaining samples Xn are shifted to Xn-1, Yn to Yn-1, and Zn to Zn-1, and stored again. For example, if the averaged sample number Kend is 3, X2 is stored as X1 and X3 is stored as X2. Also, the number n of samples is decremented by "1".
[0111]
Thereafter, the process proceeds to step S516, where it is determined 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 in and after step S503 are repeated.
[0112]
On the other hand, in step S516, when the coordinate detection is not performed continuously, that is, when the continuous input operation of the coordinates is completed, all the stored information such as the coordinate values and the averaged sample number Kend are reset and the processing is performed. After that, the process returns to step S501 to initialize the integer n, and enters a standby state waiting for detection of a valid signal in step S502.
[0113]
As described above, in the present embodiment, the coordinate output mode is switched based on the detected coordinate values, and the detected coordinate values are 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 the coordinate detection resolution accompanying an increase in the measurement distance for coordinate detection, and to control the position of the cursor with the coordinate input pen 4 from a position distant from the display screen. The fluctuation of the cursor can be suppressed.
[0114]
Now, consider a case where the coordinate value Z1 is larger than a predetermined value in step S509. This state means that the coordinate input pen 4 is located at a position separated from the display screen of the display 6, which is the coordinate input surface, in the Z-axis direction. In other words, it can be assumed that the operator giving the presentation is at a position distant from the display 6 or that the coordinate input has been performed by a listener listening to the presentation. In other words, it can be said that this is a state in which display information is controlled by remote control, and characters, graphics, and the like are being added.
[0115]
Considering a state in which the display 6 is distant from the display screen, when the distance is relatively small (proximity input), the distance between the display screen and the coordinate input pen 4 in the Z-axis direction is a relatively small value. By moving the coordinate input pen 4, for example, the displayed cursor can be intuitively and directly moved to a desired position. Of course, the displacement of the cursor with respect to the desired position is larger than in the case where the cursor is directly input to the display screen (the pen tip SW 41 is in the ON state), but it can be said that the range is sufficiently practical.
[0116]
However, as the distance from the display screen of the display 6 increases (the Z coordinate value increases), the displacement of the cursor with respect to the desired position increases, and it becomes impossible to intuitively and directly point to the desired position. In other words, when the cursor is to be moved at a remote position, the user inputs the coordinates by turning on the pen side SWs 42a and 42b of the coordinate input pen 4 on the assumption that the user has pointed to the desired position. The position of the cursor is different from the above-mentioned desired position, and the operator can move the cursor to the desired position by moving the coordinate input pen 4 while visually recognizing the position of the cursor. .
[0117]
In other words, in the case of remote input (operation of inputting coordinates at a position away from the display 6 and moving a cursor, for example), the operator's brain performs a correction operation based on visual information by the operator (the coordinate input pen 4). Is repeated) to achieve the purpose, and it is difficult to directly point to a desired position.
[0118]
As described above, when performing any remote input operation on the image information (image information having a coordinate system on the XY plane) displayed on the display 6, the operator attempts to perform a series of coordinate inputs. In this case, the coordinate value of the first point cannot be matched with the coordinate value of the image information. This is because, for example, a laser pointer is widely used as a tool for indicating a display image displayed by an OHP or the like. However, the first point at the time of laser emission is also determined without knowing where to indicate. Obviously, it is possible to irradiate a laser to a desired position by performing a position correcting operation while watching the point position.
[0119]
Therefore, in the present embodiment, when the Z coordinate value is equal to or more than the predetermined value in step S509 (remote input), the first valid coordinate value is stored as the predetermined coordinate value (X1, Y1, Z1). At this time, the position of the cursor displayed on the display screen does not move), and with the movement of the coordinate input pen 4 during the continuous input period, the difference value is sequentially output as a coordinate value to thereby determine the moving direction of the pen 4. By moving the cursor by the moving amount, excellent operability can be realized even in the case of remote control.
[0120]
FIG. 12 shows the display range of the display 6 and the respective output ranges of the coordinate output mode which are switched by the processing of the flowchart of FIG. When the detected x and y coordinates are within the display area at a position relatively close to the display 6, the absolute coordinates that can directly input the coordinates are output (output mode 1), while the visual field of the listener is blocked. When remote control is performed beside the display 6 or at a position distant from the display 6, the relative coordinates are output (output mode 2).
[0121]
Considering the case of remote operation, when inputting coordinates directly by touching the screen directly, considering that it is a large display, if you try to move the cursor from one end of the screen to the other, It involves movement of the body. 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 (it is necessarily difficult to move when there are a large number of listeners). It is desirable to be able to point out the entire area in. 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, it is assumed that an operator intends to give a presentation to a large number of listeners using the display 6 having a large screen. As shown in FIG. 13A, when trying to move the cursor from the position (1) to the position (3), the coordinate input pen 4 is conventionally held at the position (3). If coordinates are input at that position, the cursor moves from the position (1) to the position (3) (in this case, the operator is at a position capable of pointing to the position (3)). However, after working at the position (1) (the operator is near the position (1)), if the operator attempts to move to the position (3), the operator moves across the screen. Therefore, for many listeners, the view is obstructed and the understanding of the content of the presentation is hindered. In particular, when the large display is a front projection, an OHP (projection type display device) or the like, the image is greatly distorted, which is even more so.
[0123]
On the other hand, in the configuration of the present embodiment, it is assumed that the operator is beside the display 6 and the cursor is located at the position (1). When the operator holds the coordinate input pen 4 at the position A and turns on at least one of the pen side SWs 42a and 42b (hereinafter, indicated by reference numeral 42), a sound wave is emitted from the coordinate input pen 4 and the coordinate input is performed. The position coordinates of the pen 4 will be detected. At this time, since the coordinate input pen 4 is located outside the display area of the display screen of the display 6 or at a position away from the display 6 (Z> predetermined value), the first detected position coordinates are stored (FIG. 11). In step S508), the cursor is not moved from the position (1). Subsequently, it is assumed that the operator turns on the pen side SW 42 after moving the coordinate input pen 4 to the position B while operating to turn on the pen side SW 42 to continuously input coordinates. Then, as the operator moves the coordinate input pen 4 from the position A to the position B, the cursor moves from the position (1) to the position (2) according to the moving direction and the moving distance. . Further, after the operator moves the coordinate input pen 4 from the position B to the position C with the pen side SW 42 turned off (there is no coordinate input at this time, so the cursor does not move at the position (2)). If the pen side SW 42 is turned on at the position C and the coordinate input pen 4 is moved to the position D, a sound wave is generated from the position C and the first detected coordinate value is stored again (step S508). The cursor moves by the difference between the detected coordinate value and the stored coordinate value, and in accordance with the movement of the coordinate input pen 4 (movement from the point C to D) by the operator, the moving direction and the moving distance. The cursor moves from the position (2) to the position (3).
[0124]
As described above, even if the operator is at a position distant from the display screen of the display 6 which is the coordinate input surface or at a position outside the display area, the operator can smoothly move to a desired position from the current cursor position. In addition to being able to move the cursor to the position, during a series of continuous coordinate input, the amount of movement of the coordinate input pen in the X and Y directions is Since there is one-to-one correspondence with the amount of movement, characters and figures can be input.
[0125]
The case of inputting characters and figures will be described with reference to FIG. First, the coordinate input pen 4 is moved in the pen-up state in which only one of the pen side switches 42a and 42b is turned on, and the cursor is moved from the position (1) to the desired position (2). When both of the side SWs 42a and 42b are turned on to set the pen down state, the cursor is moved from the position (2) to the position (3) by moving the coordinate input pen 4, so that the locus corresponding to the moving direction and the moving amount is obtained. Remains on the screen. Thereafter, one of the pen side switches 42a and 42b is turned off (the other is still on, and the state where coordinates are continuously detected is maintained; the pen-up state), and the coordinate input pen 4 is turned on. After the cursor is moved from the position of (3) to the desired position of (4) by moving the cursor, the pen side SW which has been turned off is turned on again to set the pen down state, and the cursor is moved to the position of (4) by moving the coordinate input pen 4. If the user moves from the position to the position (5), the locus of the movement is input again. When the pen side switches 42a and 42b are both turned off at the position of (5), the coordinate input is completed, and the trajectory of the character "i" has been written.
[0126]
Here, the operator needs to move the coordinate input pen 4 by moving the coordinate input pen 4 while visually recognizing the cursor up to the first position (2). The character input can be performed by the absolute movement amount of the coordinate input pen 4, that is, the intuitive operation of the hand and the arm even without visual recognition. In other words, the coordinates output during the continuous period are relatively based on the first valid coordinate value during the continuous input period, but the movement amount of the cursor during that period is viewed from the operator. And the movements of the hands and arms correspond to each other, so that character input can be performed by an intuitive input operation as if there is a coordinate input surface in space.
[0127]
In this way, the operator can control the display information by a natural operation or write and input information such as characters and figures, and for many listeners, the display information is not obstructed. Thus, it is possible to efficiently understand the content 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 the absolute coordinates and the mode for outputting the relative coordinates are automatically switched according to the calculated coordinate values. It is possible to provide an excellent operation environment in which the user can concentrate on the presentation without requiring an operation (for example, switching the output mode of the coordinate input device by a switch means or the like).
[0129]
Further, in the present embodiment, in a state where relative coordinates are output, coordinate values (X1, Y1, Z1) serving as a reference for obtaining a difference from the detected coordinate values are determined to be initially valid during the continuous input period. Are defined as the following coordinate values. The reason 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 vague as the distance from the display area increases. Further, the numerical value of the predetermined value in the Z-axis direction in step S509 in 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 value based on the predetermined value is obtained. It is difficult to distinguish the actual boundaries of the direction. On the other hand, by first inputting the coordinates, the operator recognizes whether the output is performed in the form of absolute coordinates or the output is performed in the form of relative coordinates. Can be easily understood from the relationship between the position of the cursor and the position of the cursor. However, for example, when the operation is performed near the boundary where the output form is changed, if the mode switching operation occurs frequently, the output form is frequently changed, and the specification becomes difficult for the operator to handle.
[0131]
Therefore, in the present embodiment, the period of the start signal radiated from the coordinate input pen 4 is monitored to determine whether or not the coordinate input is being performed continuously, and the coordinate value which becomes effective first during the continuous input period is determined. Is set as the reference coordinate value, and during the continuous input period, the difference between the coordinate value calculated thereafter and the reference coordinate value is output. Therefore, as long as one of the pen-side SWs 42a and 42b is on, The reference coordinates are held, and even if the coordinate input operation is performed in the vicinity of the switching boundary, since the coordinate system for the operator and whether the input is absolute or relative is fixed during the continuous coordinate input period, A coordinate input device with good operability can be configured.
[0132]
In other words, the operator can know the coordinate output form by first inputting one coordinate, and the mode is fixed while the coordinate input operation is being performed continuously thereafter. The operator does not need to be aware of the boundary for mode switching thereafter.
[0133]
In this embodiment, the coordinate input device may output coordinate mode information (information indicating whether the coordinates are absolute coordinates or relative coordinates) to an external device or the like together with the coordinate values. It is assumed that only the absolute coordinate value is output, and the host device that receives the output result, such as a personal computer, receives the received coordinate value and the timing at which the coordinate value is received (determines whether or not coordinate input is performed continuously. ) May be configured to perform the same processing as the coordinate output mode switching and averaging processing described with reference to FIG. 11.
[0134]
In the present embodiment, whether to output the absolute coordinates or the relative coordinates is determined based on the detected coordinate values based on the distance in the Z-axis direction from the display 6 and the display area of the display 6. Or not. Therefore, it is preferable that the range of the display area in the coordinate system of the coordinate input device can be set. In particular, when a front projector is used for the display 6, the display size is not always constant in consideration of the different installation method for each meeting (the display size of the front projector depends on its projection distance). A means for setting the display area is essential. Further, even in a system having a fixed display screen (for example, a rear projector, a plasma display, or the like), matching the coordinate system of the coordinate input device with the coordinate system of the display 6 is a disadvantageous adjustment step during assembly. It is necessary, and the configuration in which the display area can be set after the coordinate input device and the display 6 are combined has a great advantage in manufacturing. Further, as described above, in the method in which the output of the coordinate input device is only the absolute coordinates and the personal computer that receives the output determines the operation mode, for example, the display 6 is fixed. Since there is no limitation, means for informing the display area to the personal computer is required.
[0135]
FIG. 14 is a flowchart illustrating a procedure of a process of setting a display area in consideration of this point. A control program for performing this processing is stored in the ROM 301b of the microcomputer 301 and executed by the CPU 301a.
[0136]
In performing the processing shown in FIG. 14, the operator instructs each of the four corner positions of the rectangular display area (display screen) of the display 6 with the coordinate input pen 4 to input the coordinates of the four corner positions. .
[0137]
On the other hand, in the process of FIG. 14, first, the process is started by setting the variable cont to 0 (step S601), and the variable cont is incremented (step S602). Is detected (step S603). When a valid signal is detected, the coordinate values Xcont and Ycont of the designated position of the coordinate input pen 4 (one of the four corners at the position of the sound wave source 43) are calculated based on the signal, and the RAM 301c is calculated. (Step S604).
[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 four times in total until the variable cont becomes larger.
[0139]
After detecting and storing the respective coordinates of the four corner positions of the display area in this manner, ± Disp_X, Y in the X-axis direction with respect to the origin O of the coordinate system shown in FIG. 6 from the coordinate values of the four corner positions. The display area (the area of the display screen 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 quadrilateral region connecting the four corners is defined. This is a conditional expression that determines the coordinate output mode.
[0140]
Here, the display area is derived by detecting the coordinates of the four corners 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 determined. Alternatively, the coordinate input pen 4 may be used to trace the four sides of the display area to detect the coordinate values of the four sides, and the display area may be set from the information.
[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 and the output mode 2 at a position away from the display screen of the display 6, It is preferable that the cursor can be largely moved by a slight movement of the coordinate input pen 4 as the distance between the cursor and the display screen increases. Considering this point, in such a case, as the absolute coordinate value of the detected z coordinate increases, or the longest distance among the measurement distances between the pen 4 and the detection sensors 3a to 3d used for coordinate calculation increases. As a result, the detected relative coordinate values (difference values) of x and y may be enlarged and output at a higher magnification.
[0142]
In this embodiment, the moving averaging process similar to that of the second embodiment is performed. However, the simple averaging process similar to that of the first embodiment may be performed. In this case, as in the first embodiment, the coordinate sampling rate is substantially reduced by the averaging process, but there is no problem in usability for the user 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, a method of simply arithmetically averaging continuously detected coordinate values or a method of performing arithmetic averaging and moving average is used. However, as another method, averaging is performed by weighting the coordinate values of the sample (for example, increasing the weight of the most recently detected coordinate value to increase the influence of the most recent coordinate value). It may be.
[0144]
In the first to third embodiments, the detected coordinate values are averaged as the averaging process of the detected coordinate values. 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, since the distance from the sound wave source 43 to the detection sensors 3a to 3d is measured first for calculating the coordinates, the distance for 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. Further, since the arrival time of the sound wave from the sound source 43 to the detection sensors 3a to 3d is measured, the arrival time for the number of averaged samples is measured, the average arrival time is calculated, and the average arrival time is calculated. The coordinate value may be calculated using the arrival time.
[0145]
The coordinate input device according to the first to third embodiments is of the aerial sound wave type. However, the present invention is not limited to this, and a signal transmitted from a signal transmission source is received by a plurality of receiving units at predetermined intervals. A coordinate input device that measures each of the distances from the signal source to the plurality of receiving means and detects the coordinates of the position of the signal source based on each of the measured distances. Since the distance measurement resolution decreases, the averaging process of the detected coordinate values according to the present invention or the averaging process of the measured distance can be applied to compensate for the decrease in the coordinate detection resolution due to the increase in the measurement distance. it can.
[0146]
The coordinate input devices of the first to third embodiments are capable of detecting three-dimensional coordinates of x, y, and z. However, the present invention is not limited to this. Only two-dimensional coordinates or only one-dimensional coordinates can be detected. Even in a detectable coordinate input device, by applying the averaging process of the detected coordinate value or the averaging process of the measured distance according to the present invention, it is possible to compensate for the decrease in the coordinate detection resolution due to the increase in the measurement distance. Can be.
[0147]
By the way, in the configuration of the first to third embodiments, the movement of the coordinate input pen 4 is mainly performed in consideration of being mainly used for writing and inputting characters and figures in the immediate vicinity of the display screen of the display 6. Performed by finger and wrist movements. On the other hand, since the operation at a position away from the screen is used to indicate a desired position on the display screen, the movement of the coordinate input pen 4 changes the movement of the arm, finger, and wrist, and further changes the body orientation. For example, it is desirable that the displayed cursor can be largely moved immediately. That is, the moving speed of the cursor in accordance with the instruction of the coordinate input pen 4 is generally higher in the farther area of the screen than in the immediate vicinity of the screen.
[0148]
In this regard, in a coordinate input device that detects the position coordinates of the coordinate input pen 4 at predetermined intervals as in the first to third embodiments, the “predetermined period” and the detected coordinate value or the change in the measurement distance are used. Thus, the moving speed of the coordinate input pen 4 can be detected.
[0149]
Therefore, when detecting the coordinates, for example, “if the moving speed of the coordinate input pen 4 is abnormally high despite the proximity of the screen, the coordinates are determined to be erroneously detected. can do. Focusing on this point, the maximum allowable moving speed is set for the moving speed of the coordinate input pen 4 based on the detected coordinate value or the measured value of the distance from the coordinate input pen 4 to the specific detection sensor 3. Coordinate values detected at a speed exceeding the moving speed can be determined to be erroneously detected coordinates. For example, the distance from the coordinate input pen 4 at a certain detection time to the specific detection sensor 3 is compared with the distance from the coordinate input pen 4 to the detection sensor at the next detection time. If the distance is larger than the distance defined by the maximum speed, it can be determined that an erroneous detection was made during distance measurement. By invalidating the coordinate value when it is determined to be erroneous detection, a highly reliable coordinate input device can be configured.
[0150]
【The invention's effect】
As is apparent from the above description, according to the present invention, in the coordinate input device, a series of coordinate values detected at predetermined intervals are averaged or received from a signal source measured for coordinate detection. Distance to the means, or, in the case of the aerial sound wave method, perform arithmetic processing to average the arrival time of the sound wave from the sound source to the detection means, and at that time, the detected coordinate value, or the measured distance Since the coordinate value to be averaged based on the arrival time or the number of samples of the distance or the arrival time is determined and the arithmetic operation for averaging is performed, the coordinates with the increase in the measurement distance for detecting the coordinates are determined. It is possible to compensate for a decrease in the detection resolution and to sway the pointing point on the pointing surface with an increase in the distance to the pointing surface (coordinate input surface), which is a problem particularly when the pointer is configured as a pointer. Increase can be suppressed, it is possible to provide a coordinate input device excellent good been sufficient consideration to the operability convenient. Furthermore, the above-mentioned number of samples is reset when continuous detection of coordinates or continuous detection of a signal for coordinate detection is interrupted, so that the above-mentioned averaging can be performed properly. Is obtained.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram illustrating 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 relating to coordinate detection of the device.
FIG. 4 is a block diagram showing a configuration of a signal waveform detection circuit of the device.
FIG. 5 is a block diagram showing a configuration of an arithmetic control circuit of the device.
FIG. 6 is an explanatory diagram showing a coordinate system of the device.
FIG. 7 is a flowchart illustrating a procedure of an averaging process of detected coordinate values according to the first embodiment.
FIG. 8 is a flowchart illustrating a procedure of a process of averaging detected coordinate values according to the second embodiment.
FIG. 9 is a table showing a relationship between an operation mode and a coordinate output mode of the coordinate input pen, ON and OFF of each switch of the coordinate input pen, and a coordinate calculation value.
FIG. 10 is a flowchart illustrating a procedure for switching between a pen-up state and a pen-down state according to the on / off state of a switch of a coordinate input pen according to the third embodiment.
FIG. 11 is a flowchart showing a procedure of switching and averaging processing of the coordinate output mode in the embodiment.
FIG. 12 is an explanatory diagram showing a relationship between a display range of the display and an absolute coordinate output range and a relative coordinate output range in the embodiment.
FIG. 13 is an explanatory diagram of a cursor moving operation and a character writing input operation by the coordinate input pen in the embodiment.
FIG. 14 is a flowchart showing a procedure of a display range setting process in the embodiment.
FIG. 15 is a graph showing a relationship between an irradiation distance and a fluctuation width of a bright point (designated point) in a laser pointer, and a relationship between an irradiation distance and a swing angle of a hand holding the laser pointer.
FIG. 16 is a graph showing a relationship between a measurement distance and a measurement resolution for coordinate detection in a coordinate input device of the aerial sound wave system.
[Explanation of symbols]
1 Operation control circuit
2 Signal waveform detection circuit
3a to 3d detection sensor
4 Coordinate input pen
5 Light receiving element
6 Display
7 Display drive circuit
41 Nib switch
42a, 42b pen side switch
43 Sound 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 (22)

座標入力位置を指示する指示具の位置の3次元座標を所定周期毎に検出する座標入力装置において、
検出された一連の3次元座標の少なくとも1軸の座標値を平均化する演算処理を行なって処理結果の座標値を出力する演算処理手段を有し、該演算処理手段は前記検出された3次元座標の少なくとも1軸の座標値に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標入力装置。
In a coordinate input device that detects three-dimensional coordinates of a position of a pointing device that indicates a coordinate input position at predetermined intervals,
An arithmetic processing means for averaging at least one axis coordinate value of the detected series of three-dimensional coordinates and outputting a coordinate value as a processing result, wherein the arithmetic processing means includes the detected three-dimensional coordinates; A coordinate input device for determining the number of samples of coordinate values to be averaged based on coordinate values of at least one axis of coordinates, and performing the averaging arithmetic processing.
前記演算処理手段は、前記指示具の位置の3次元座標が前記周期で連続的に検出されている期間において最初に有効となる3次元座標の内の少なくとも1軸の座標値に基づいて前記平均化する座標値のサンプル数を決定し、前記3次元座標の連続的な検出が中断したら前記サンプル数をリセットすることを特徴とする請求項1に記載の座標入力装置。The arithmetic processing means is configured to determine the average based on at least one coordinate value of at least one of three-dimensional coordinates that are first effective during a period in which the three-dimensional coordinates of the position of the pointing device are continuously detected in the cycle. The coordinate input device according to claim 1, wherein the number of samples of coordinate values to be converted is determined, and the number of samples is reset when continuous detection of the three-dimensional coordinates is interrupted. 平坦な表示画面を有する表示装置と一体的に構成された座標入力装置であって、
前記表示画面の面内で互いに直交する2方向をX軸方向とY軸方向、前記表示画面に垂直な方向をZ軸方向として座標系を定義するものとして、
前記演算処理手段は、前記検出された3次元座標の内のZ軸座標値に基づいて前記平均化する座標値のサンプル数を決定し、検出された一連の3次元座標の内の少なくともX軸座標値とY軸座標値を平均化する演算処理を行なうことを特徴とする請求項1に記載の座標入力装置。
A coordinate input device integrally formed with a display device having a flat display screen,
As defining a coordinate system, two directions orthogonal to each other in the plane of the display screen are defined as an X axis direction and a Y axis direction, and a direction perpendicular to the display screen is defined as a Z axis direction.
The arithmetic processing means determines the number of samples of the coordinate values to be averaged based on the Z-axis coordinate values of the detected three-dimensional coordinates, and determines at least the X-axis of a series of detected three-dimensional coordinates. The coordinate input device according to claim 1, wherein arithmetic processing for averaging the coordinate value and the Y-axis coordinate value is performed.
所定周期毎に信号発信源から発信される信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標入力装置において、
検出された一連の座標値を平均化する演算処理を行なって処理結果の座標値を出力する演算処理手段を有し、該演算処理手段は前記計測した距離に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標入力装置。
A signal transmitted from a signal transmission source is received by a plurality of reception units at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception units is measured. Based on each of the measured distances, In a coordinate input device for detecting the coordinates of the position of the signal source,
Calculating means for averaging a series of detected coordinate values and outputting coordinate values as a result of the processing; the arithmetic processing means includes a sample of coordinate values to be averaged based on the measured distance; A coordinate input device, wherein a number is determined and the averaging operation is performed.
所定周期毎に信号発信源から発信された信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標入力装置において、
計測した一連の距離を平均化する演算処理を行なって処理結果の平均距離に基づいて前記信号発信源の位置の座標を算出する演算処理手段を有し、該演算処理手段は、前記計測した距離に基づいて平均化する距離のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標入力装置。
A signal transmitted from a signal transmission source is received by a plurality of reception units at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception units is measured, and based on each of the measured distances In a coordinate input device for detecting the coordinates of the position of the signal source,
The arithmetic processing means for performing arithmetic processing for averaging a series of measured distances and calculating coordinates of the position of the signal source based on an average distance of the processing result, wherein the arithmetic processing means includes the measured distance A coordinate input device for determining the number of samples of a distance to be averaged based on the calculation result and performing the averaging arithmetic processing.
前記演算処理手段は、前記信号発信源から信号が前記周期で連続的に発信されている期間において最初に有効となる信号に基づいて前記平均化するサンプル数を決定し、前記信号の連続的な検出が中断したら前記サンプル数をリセットすることを特徴とする請求項4または5に記載の座標入力装置。The arithmetic processing means determines the number of samples to be averaged based on a signal that is first effective during a period in which a signal is continuously transmitted from the signal transmission source in the cycle. 6. The coordinate input device according to claim 4, wherein the number of samples is reset when detection is interrupted. 前記信号発信源の位置の3次元座標を検出する座標入力装置であって、前記演算処理手段は、検出された一連の3次元座標値の内の少なくとも1軸の座標値を平均化する演算処理を行なうことを特徴とする請求項4に記載の座標入力装置。A coordinate input device for detecting three-dimensional coordinates of the position of the signal source, wherein the arithmetic processing means averages coordinate values of at least one axis among a series of detected three-dimensional coordinate values. The coordinate input device according to claim 4, wherein the coordinate input is performed. 座標入力位置を指示する指示具に設けられた音波発生源から空中に放射される音波を検出し、該検出結果に基づいて前記音波発生源の位置の座標を検出することを特徴とする請求項1から7までのいずれか1項に記載の座標入力装置。The sound wave source radiated from the sound source provided on the pointing device for indicating the coordinate input position is detected in the air, and the coordinates of the position of the sound source are detected based on the detection result. 8. The coordinate input device according to any one of 1 to 7. 所定周期毎に音波発生源から空中に発せられた音波を複数の検出手段により検出して、前記音波発生源から複数の検出手段までの音波の到達時間のそれぞれを計測し、該計測した到達時間のそれぞれに基づいて前記音波発生源の位置の座標を検出する座標入力装置において、
計測した一連の到達時間を平均化する演算処理を行なって処理結果の平均到達時間に基づいて前記音波発生源の位置の座標を算出する演算処理手段を有し、該演算処理手段は、前記計測した到達時間に基づいて平均化する到達時間のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標入力装置。
A plurality of detecting means detects sound waves emitted from the sound source in the air at predetermined intervals, and measures the arrival times of the sound waves from the sound source to the plurality of detecting means, respectively. In a coordinate input device that detects the coordinates of the position of the sound source based on each of
Computing means for performing arithmetic processing for averaging a series of measured arrival times and calculating coordinates of the position of the sound source based on the average arrival time of the processing result, wherein the arithmetic processing means comprises: A coordinate input device for determining the number of samples of the arrival time to be averaged based on the obtained arrival time and performing the averaging calculation process.
前記演算処理手段は、前記平均化の演算処理として移動平均を求める演算処理を行なうことを特徴とする請求項1から9までのいずれか1項に記載の座標入力装置。The coordinate input device according to any one of claims 1 to 9, wherein the arithmetic processing unit performs an arithmetic process for obtaining a moving average as the averaging arithmetic process. 所定周期毎に検出される一連の3次元座標の少なくとも1軸の座標値を平均化する演算処理を行なって処理結果の座標値を出力する座標値の演算処理方法であって、前記検出された3次元座標の少なくとも1軸の座標値に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標値の演算処理方法。A coordinate value arithmetic processing method for performing arithmetic processing for averaging at least one axis coordinate value of a series of three-dimensional coordinates detected at predetermined intervals and outputting coordinate values as a processing result, A method of calculating coordinate values, comprising determining the number of samples of coordinate values to be averaged based on coordinate values of at least one axis of three-dimensional coordinates, and performing the arithmetic processing of the averaging. 3次元座標が前記周期で連続的に検出されている期間において最初に有効となる3次元座標の内の少なくとも1軸の座標値に基づいて前記平均化する座標値のサンプル数を決定し、前記3次元座標の連続的な検出が中断したら前記サンプル数をリセットすることを特徴とする請求項11に記載の座標値の演算処理方法。Determining the number of samples of the coordinate values to be averaged based on the coordinate values of at least one of the three-dimensional coordinates that are first effective in a period in which the three-dimensional coordinates are continuously detected in the cycle; The method according to claim 11, wherein the number of samples is reset when continuous detection of three-dimensional coordinates is interrupted. 所定周期毎に信号発信源から発信される信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標検出方式において、
検出された一連の座標値を平均化する演算処理を行なって処理結果の座標値を出力する座標値の演算処理方法であって、前記計測した距離に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標値の演算処理方法。
A signal transmitted from the signal transmission source is received by a plurality of reception units at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception units is measured. Based on each of the measured distances, In a coordinate detection method for detecting the coordinates of the position of the signal source,
A coordinate value arithmetic processing method for performing arithmetic processing for averaging a series of detected coordinate values and outputting coordinate values as a processing result, wherein a number of samples of coordinate values to be averaged based on the measured distance is calculated. A method for calculating coordinate values, comprising determining and performing the averaging calculation process.
所定周期毎に信号発信源から発信された信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標検出方式において、
計測した一連の距離を平均化する演算処理を行なって処理結果の平均距離に基づいて前記信号発信源の位置の座標値を算出する座標値の演算処理方法であって、前記計測した距離に基づいて平均化する距離のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標値の演算処理方法。
A signal transmitted from a signal transmission source is received by a plurality of reception units at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception units is measured, and based on each of the measured distances In a coordinate detection method for detecting the coordinates of the position of the signal source,
A coordinate value calculation processing method of performing a calculation process of averaging a series of measured distances and calculating a coordinate value of a position of the signal source based on an average distance of a processing result, based on the measured distance. A method for calculating coordinate values, wherein the number of samples of the distance to be averaged is determined and the arithmetic processing of the averaging is performed.
前記信号発信源から信号が前記周期で連続的に発信されている期間において最初に有効となる信号に基づいて前記平均化するサンプル数を決定し、前記信号の連続的な検出が中断したら前記サンプル数をリセットすることを特徴とする請求項13または14に記載の座標値の演算処理方法。The number of samples to be averaged is determined based on a signal that is first effective during a period in which a signal is continuously transmitted from the signal transmission source in the cycle, and the sample is determined when continuous detection of the signal is interrupted. The method according to claim 13 or 14, wherein the number is reset. 所定周期毎に音波発生源から空中に発せられた音波を複数の検出手段により検出して、前記音波発生源から複数の検出手段までの音波の到達時間のそれぞれを計測し、該計測した到達時間のそれぞれに基づいて前記音波発生源の位置の座標を検出する座標検出方式において、
計測した一連の到達時間を平均化する演算処理を行なって処理結果の平均到達時間に基づいて前記音波発生源の位置の座標を算出する座標値の演算処理方法であって、前記計測した到達時間に基づいて平均化する到達時間のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標値の演算処理方法。
A plurality of detecting means detects sound waves emitted from the sound source in the air at predetermined intervals, and measures the arrival times of the sound waves from the sound source to the plurality of detecting means, respectively. In a coordinate detection method for detecting the coordinates of the position of the sound source based on each of
A method of calculating a coordinate value for performing a calculation process of averaging a series of measured arrival times and calculating coordinates of a position of the sound source based on an average arrival time of a processing result, wherein the measured arrival time is A method of calculating coordinate values, wherein the number of arrival time samples to be averaged is determined on the basis of the above, and the averaging operation is performed.
前記平均化の演算処理として移動平均を求める演算処理を行なうことを特徴とする請求項11から16までのいずれか1項に記載の座標値の演算処理方法。17. The method according to claim 11, wherein a calculation process of obtaining a moving average is performed as the averaging calculation process. 所定周期毎に検出される一連の3次元座標の少なくとも1軸の座標値を平均化する演算処理を行なって処理結果の座標値を出力するように座標値の演算処理を行なう演算処理プログラムであって、前記検出された3次元座標の少なくとも1軸の座標値に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標値の演算処理プログラム。An arithmetic processing program for performing arithmetic processing for averaging coordinate values of at least one axis of a series of three-dimensional coordinates detected at predetermined intervals, and performing arithmetic processing of coordinate values so as to output coordinate values as processing results. And calculating the number of samples of coordinate values to be averaged based on the detected coordinate values of at least one axis of the three-dimensional coordinates, and performing the arithmetic processing of the averaging. . 3次元座標が前記周期で連続的に検出されている期間において最初に有効となる3次元座標の内の少なくとも1軸の座標値に基づいて前記平均化する座標値のサンプル数を決定し、前記3次元座標の連続的な検出が中断したら前記サンプル数をリセットすることを特徴とする請求項18に記載の座標値の演算処理プログラム。Determining the number of samples of the coordinate values to be averaged based on the coordinate values of at least one of the three-dimensional coordinates that are first effective in a period in which the three-dimensional coordinates are continuously detected in the cycle; 19. The computer program according to claim 18, wherein the number of samples is reset when continuous detection of three-dimensional coordinates is interrupted. 所定周期毎に信号発信源から発信される信号を複数の受信手段により受信して、前記信号発信源から前記複数の受信手段までの距離のそれぞれを計測し、該計測した距離のそれぞれに基づいて前記信号発信源の位置の座標を検出する座標検出方式において、
検出された一連の座標値を平均化する演算処理を行なって処理結果の座標値を出力するように座標値の演算処理を行なう演算処理プログラムであって、前記計測した距離に基づいて平均化する座標値のサンプル数を決定して前記平均化の演算処理を行なうことを特徴とする座標値の演算処理プログラム。
A signal transmitted from the signal transmission source is received by a plurality of reception units at predetermined intervals, and each of the distances from the signal transmission source to the plurality of reception units is measured. Based on each of the measured distances, In a coordinate detection method for detecting the coordinates of the position of the signal source,
An arithmetic processing program for performing arithmetic processing for averaging a series of detected coordinate values and performing arithmetic processing of coordinate values so as to output coordinate values as a processing result, wherein the averaging is performed based on the measured distance. A coordinate value calculation processing program for determining the number of coordinate value samples and performing the averaging calculation process.
前記信号発信源から信号が前記周期で連続的に発信されている期間において最初に有効となる信号に基づいて前記平均化するサンプル数を決定し、前記信号の連続的な検出が中断したら前記サンプル数をリセットすることを特徴とする請求項20に記載の座標値の演算処理プログラム。The number of samples to be averaged is determined based on a signal that is first effective during a period in which a signal is continuously transmitted from the signal transmission source in the cycle, and the sample is determined when continuous detection of the signal is interrupted. 21. The computer program according to claim 20, wherein the number is reset. 前記平均化の演算処理として移動平均を求める演算処理を行なうことを特徴とする請求項18から21までのいずれか1項に記載の座標値の演算処理プログラム。22. The non-transitory computer-readable storage medium according to claim 18, wherein a calculation process for obtaining a moving average is performed as the averaging calculation process.
JP2002295542A 2002-10-09 2002-10-09 Coordinate input device, coordinate value output method and program Expired - Fee Related JP4136584B2 (en)

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 true JP2004133566A (en) 2004-04-30
JP4136584B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215005A (en) * 2010-03-31 2011-10-27 Hokuyo Automatic Co Signal processor and scan type range finder
JP2016110522A (en) * 2014-12-10 2016-06-20 シャープ株式会社 Electronic blackboard, information processing program, and information processing method
CN107037893A (en) * 2016-02-03 2017-08-11 精工爱普生株式会社 Position detecting device, position detecting system and method for detecting position
JP2018097880A (en) * 2017-12-20 2018-06-21 カシオ計算機株式会社 Detection device, detection method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215005A (en) * 2010-03-31 2011-10-27 Hokuyo Automatic Co Signal processor and scan type range finder
JP2016110522A (en) * 2014-12-10 2016-06-20 シャープ株式会社 Electronic blackboard, information processing program, and information processing method
CN107037893A (en) * 2016-02-03 2017-08-11 精工爱普生株式会社 Position detecting device, position detecting system and method for detecting position
JP2018097880A (en) * 2017-12-20 2018-06-21 カシオ計算機株式会社 Detection device, detection method, and program

Also Published As

Publication number Publication date
JP4136584B2 (en) 2008-08-20

Similar Documents

Publication Publication Date Title
JP3952896B2 (en) Coordinate input device, control method therefor, and program
US6862019B2 (en) Coordinate input apparatus, control method therefor, and computer-readable memory
US7158117B2 (en) Coordinate input apparatus and control method thereof, coordinate input pointing tool, and program
US10241622B1 (en) Method and apparatus of position tracking and detection of user input information
US9250742B1 (en) Method and apparatus of position tracking and detection of user input information
US10303276B2 (en) Touch control system, touch control display system and touch control interaction method
US7075514B2 (en) Coordinate input apparatus, control method therefor, and computer-readable memory
JP2016110522A (en) Electronic blackboard, information processing program, and information processing method
JP2010198290A (en) Input device, display position adjustment method for pointer, and program
JP5651358B2 (en) Coordinate input device and program
JP4136584B2 (en) Coordinate input device, coordinate value output method and program
EP3326052A1 (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
JP2004185488A (en) Coordinate input device
JP2004272636A (en) Processing method for detection coordinate value, and coordinate input device
JP2002351605A (en) Coordinate input device
JPH10149253A (en) Pen input device
JPH09212299A (en) Information input device and its method
JP2004240634A (en) Coordinate input device
JP2013238963A (en) Interactive display device
JP2004070575A (en) Device for inputting coordinate and method for processing detected coordinate value
JPH10149252A (en) Pen input device and positional coordinate correcting method for the device
JP2003029917A (en) Coordinate input device

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