JP2016018282A - 座標入力装置、その制御方法およびプログラム - Google Patents
座標入力装置、その制御方法およびプログラム Download PDFInfo
- Publication number
- JP2016018282A JP2016018282A JP2014139162A JP2014139162A JP2016018282A JP 2016018282 A JP2016018282 A JP 2016018282A JP 2014139162 A JP2014139162 A JP 2014139162A JP 2014139162 A JP2014139162 A JP 2014139162A JP 2016018282 A JP2016018282 A JP 2016018282A
- Authority
- JP
- Japan
- Prior art keywords
- light
- unit
- coordinate input
- sensor unit
- sensor
- 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.)
- Pending
Links
Images
Landscapes
- Position Input By Displaying (AREA)
Abstract
【課題】 ユーザの使い勝手を向上する座標入力装置を提供する。
【解決手段】 投光部と受光部を備えるセンサユニットを有し、センサユニットを、投光部が投光した光の再帰反射部からの反射光を受光部で検出する第1の検出モードで動作させ、検出された反射光の光量分布に基づいて座標入力有効領域に対する指示位置を検出する座標入力装置は、センサユニットを、他のセンサユニットからの直接光を受光部で検出する第2の検出モードで動作させ、検出された直接光に基づいてセンサユニットの投光部または受光部のパラメータを設定し、センサユニットを、第1の検出モードで動作させ、指示位置を検出するための投光部または受光部のパラメータを、設定されたパラメータを用いて決定する。
【選択図】 図8
【解決手段】 投光部と受光部を備えるセンサユニットを有し、センサユニットを、投光部が投光した光の再帰反射部からの反射光を受光部で検出する第1の検出モードで動作させ、検出された反射光の光量分布に基づいて座標入力有効領域に対する指示位置を検出する座標入力装置は、センサユニットを、他のセンサユニットからの直接光を受光部で検出する第2の検出モードで動作させ、検出された直接光に基づいてセンサユニットの投光部または受光部のパラメータを設定し、センサユニットを、第1の検出モードで動作させ、指示位置を検出するための投光部または受光部のパラメータを、設定されたパラメータを用いて決定する。
【選択図】 図8
Description
本発明は、情報の入力や選択をするために指示具等によって座標入力面に入力された座標位置を光学的に検出する座標入力装置の技術に関する。特に、着脱可能で、可搬性を有する座標入力装置の技術に関する。
従来、この種の座標入力装置として、各種方式の座標入力装置(タッチパネルやデジタイザ)が提案、製品化されている。例えば、特殊な器具等を用いずに、指で画面上をタッチすることで、パーソナルコンピュータ等の端末の操作を簡単に行うことがきるタッチパネル等が広く用いられている。
座標入力方式としては、抵抗膜を用いた方式、または、超音波を用いた方式等、種々な方式がある。光を用いた方式として、座標入力面外側に再帰性反射材を設け、投光部からの光を再帰反射材で反射し、その光量分布を受光部により検出する方式(光学遮光方式)が知られている(例えば、特許文献1参照)。この方式による座標入力装置は、座標入力領域内の指等で遮光された遮光部分(領域)の方向を検出し、遮光位置、つまり、座標入力位置の座標を決定する。また、特許文献2では、座標入力装置を任意の位置に設置できるようにして使い勝手を向上するシステムが開示されている。
また、この種の座標入力装置を表示装置と一体にすることによって、表示装置の表示画面をタッチすることで、表示状態を制御したり、あたかも紙と鉛筆の様な関係で、入力された指示位置の軌跡を筆跡として表示したりすることが可能となる。表示装置としては、液晶表示装置等の各種方式のフラットパネルディスプレイやフロントプロジェクタが知られている。例えば、フラットパネルディスプレイに座標入力装置を重ねて配置すれば、このような操作環境を実現でき、スマートフォン等の携帯機器はその代表例と言える。また、フラットパネルディスプレイの大型化に伴い、大型のタッチパネルと組み合わせることは、例えば、デジタルサイネージや電子黒板などの分野で導入が進められている。
特許文献2に示されているような、座標入力装置を任意の位置に設置できるシステムにおいては、入力された指示位置を正しく算出するため、該装置が設置された位置の情報を得る必要がある。このため、例えば電源が投入されたときなどに座標入力装置の設置位置を検出する処理が行われる。設置位置を検出する処理においては、センサユニット内の投光部が投光を行い、その光を別のセンサユニット内の受光部が直接受光するといった、設置位置検出のための専用の制御が行われる。一方、座標入力面に入力された指示位置を検出するためには、前述したように、センサユニット内の投光部が投光を行い、その光が再帰反射部4で再帰反射されて戻ってきた光を、同じセンサユニット内の受光部が受光するという制御が行われる。これらの制御は異なる制御である。
ここで、受光部において受光される光の強度は、例えばセンサユニットと再帰反射部4の間の距離などによって変動する。そのため、座標入力装置の設置位置の検出を行うときや、入力された指示位置の検出を行うときには、受光部で受光される光の強度を適正な範囲に設定する必要がある。そのため、投光部の投光強度や受光部の露光時間などのパラメータを適正な値に調整する処理が行われる。この処理は、例えば電源が投入されたときなどに実行される。
従来、座標入力装置の設置位置の検出処理と、入力された指示位置の検出処理とは、それぞれ独立した処理であるため、調整される投光強度の初期値はそれぞれ予め定められた固定値が用いられていた。例えば、標準的な設置位置が決められ、そのときに適正な受光強度が得られるように、固定の投光強度が使用されていた。装置の設置位置によって、受光強度が適正な範囲にならなかった場合は、投光強度や露光時間を変化させて繰り返し調整が行われる。しかし、例えばこれらの初期値と適正値との差が大きい場合などには、繰り返しの回数が増えて調整に時間がかかることがあるという課題があった。
本発明は上記の課題を解決するためになされたものであり、従来より装置の起動時間等を短縮して、ユーザの使い勝手を向上する座標入力装置を提供することを目的とする。
上記目的を達成するための一手段として、本発明の座標入力装置は以下の構成を備える。 すなわち、光の再帰反射部からの反射光を受光部で検出する第1の検出モードで動作させ、検出された反射光の光量分布に基づいて座標入力有効領域に対する指示位置を検出する座標入力装置であって、前記センサユニットを、他のセンサユニットからの直接光を受光部で検出する第2の検出モードで動作させ、検出された直接光に基づいて前記センサユニットの投光部または受光部のパラメータを設定する設定手段と、前記センサユニットを、前記第1の検出モードで動作させ、前記指示位置を検出するための投光部または受光部のパラメータを、前記設定手段により設定されたパラメータを用いて決定する決定手段と、を有することを特徴とする。
以上の構成からなる本発明によれば、装置の起動時間等を短縮できるため、ユーザの使い勝手を向上する座標入力装置を提供することができる。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
実施形態1による座標入力装置の構成と動作を説明する。図1に、本実施形態による座標入力装置の概略構成を示す。左側にあるセンサバー1Lは、センサユニット2−L1及び2−L2を装備する。また、右側にあるセンサバー1Rは、センサユニット2−R1及び2−R2を装備する。センサバー1L及び1R(総称する場合は、センサバー1と表記)は、図示のように、平面状のホワイトボード6上の、矩形状の座標入力有効領域5の対向する2辺の外側に設置される。センサバー1L及び1Rは平行で、同一の長さとなっている。表示装置が仮にフロントプロジェクタとすれば、表示領域は座標入力有効領域5の範囲内に設定され、ホワイトボード6に投影される。
実施形態1による座標入力装置の構成と動作を説明する。図1に、本実施形態による座標入力装置の概略構成を示す。左側にあるセンサバー1Lは、センサユニット2−L1及び2−L2を装備する。また、右側にあるセンサバー1Rは、センサユニット2−R1及び2−R2を装備する。センサバー1L及び1R(総称する場合は、センサバー1と表記)は、図示のように、平面状のホワイトボード6上の、矩形状の座標入力有効領域5の対向する2辺の外側に設置される。センサバー1L及び1Rは平行で、同一の長さとなっている。表示装置が仮にフロントプロジェクタとすれば、表示領域は座標入力有効領域5の範囲内に設定され、ホワイトボード6に投影される。
センサバー1L及び1Rの側面にはそれぞれ、図示のように再帰反射部4L及び4R(総称する場合は、再帰反射部4と表記)が装着されている。再帰反射部4L及び4Rはそれぞれ、対向する辺に設けられたセンサバー1Lあるいは1Rのセンサユニットが投光した赤外光を再帰的に反射する再帰性反射部材で構成されている。
センサバー1Lに内蔵される演算制御回路3Lは、センサユニット2−L1及び2−L2を制御して、該センサユニット2−L1及び2−L2からの出力結果を用いて演算処理を行うと共に、センサバー1Rの演算制御回路3Rを制御する。センサバー1Rの演算制御回路3Rは、センサユニット2−R1及び2−R2を制御して、該センサユニット2−R1及び2−R2からの出力結果を用いて演算処理を行い、センサバー1Lの演算制御回路3Lに演算処理結果を送信する。そして、センサバー1Lの演算制御回路3Lは、4つのセンサユニット2−L1、2−L2、2−R1及び2−R2からの出力結果を用いて演算処理を行って、入力された指示位置を算出し、パーソナルコンピュータ等の外部機器へ指示位置の結果を出力する。
尚、図1では、演算制御回路3Lと演算制御回路3Rは、コードで接続される構成となっているが、この構成に限定されない。例えば、演算制御回路3Lと演算制御回路3Rは、無線等の通信機能を互いに搭載してデータの送受信を行ってもよい。尚、以後の説明にあっては、水平方向をX軸(図面右側が+)、天地方向をY軸(下側が+)として説明を行う。
センサユニット2−L1、2−L2、2−R1及び2−R2(総称する場合は、センサユニット2と表記する)は、センサバー1に収納されている。センサユニット2は、投光部である赤外LED、受光部であるラインCCDなどの光電変換素子を内蔵しており、センサユニット2に光が入射すると、入射角度に応じたラインCCDの画素に集光されるようになっている。つまり、ラインCCDの画素番号は、入射する光の角度情報を表すことになる。
図2(A)に、本実施形態による演算制御回路3の概略構成を示す。本実施形態による演算制御回路3Lと演算制御回路3Rは、外部へのインタフェース仕様を除き、いずれも同様の回路構成であり、それぞれの演算制御回路に接続されるセンサユニット2の制御と必要な演算処理を行う。
センサユニット2−L1及び2−L2に内蔵されるラインCCD用のCCD制御信号は、ワンチップマイコン等で構成されるCPU61から供給される。センサユニット2−L1及び2−L2では、このCCD制御信号によりラインCCDのシャッタータイミングやデータの出力制御等が行われる。CPU61は、内部に不揮発性のフラッシュメモリを内蔵しており、このフラッシュメモリに、制御のためのプログラムや各種の設定値等が記録されている。CPU61は、プログラムを読み出して実行したり、各種設定値の書き込みや読み出しを随時行う事ができる。センサユニット2−L1及び2−L2に内蔵されるラインCCD用のクロックは、クロック発生回路CLK62から供給される。また、このCCD用クロックは、ラインCCDとの同期をとって各種制御を行うために、CPU61にも供給されている。尚、センサユニット2−L1及び2−L2の赤外LEDを駆動するLED駆動信号は、CPU61から供給される。
センサユニット2−L1及び2−L2それぞれのラインCCDからの検出信号は、A/Dコンバータ63に入力され、A/Dコンバータ63においてCPU61の制御によって、デジタル値に変換される。変換されたデジタル値は、メモリ64に記憶され、角度計算に用いられる。そして、計算された角度情報から幾何学的な指示位置が算出され、この指示位置は、外部のパーソナルコンピュータ等の情報処理装置にインタフェース68(例えば、USBインタフェース)を介して出力される。
先に示した通り、各センサバー1の演算制御回路3は、各々2つのセンサユニット2を制御している。演算制御回路3LのCPU61は、シリアル通信部67を介してセンサバー1Rの演算制御回路3Rに制御信号を送信して、回路間の同期を行う。そして、演算制御回路3Lは、演算制御回路3Rから、必要なデータの取得を行う。
演算制御回路3L及び3R間の動作は、マスター・スレーブ制御により行われる。本実施形態では、演算制御回路3Lがマスターで、演算制御回路3Rがスレーブとする。尚、各演算制御回路は、マスター・スレーブのどちらにもなり得、ディップスイッチ(不図示)等の切替部で、CPUのポートに切替信号を入力することで、マスター・スレーブの切替が可能である。
マスターである演算制御回路3Lからは、対向する辺に設けられたセンサバー1Rのセンサユニット2−R1及び2−R2における検出信号を取得するために、制御信号がスレーブの演算制御回路3Rにシリアル通信部67を介して送信される。そして、演算制御回路3Rは、センサユニット2−R1及び2−R2から取得した検出信号に基づいて角度情報を算出し、算出結果を、シリアル通信部67を介してマスター側の演算制御回路3Lに送信する。尚、インタフェース68は、本実施形態では、マスター側の演算制御回路3Lに実装される。
図2(B)に、センサユニット2を動作させるためにマスター側の演算制御回路3LのCPU61が出力する制御信号、及びセンサユニット2の動作を示すタイミングチャートを示す。図2(B)を用いて説明される制御は、入力面に対するタッチを検出するための制御である。以後、この制御を、本実施形態による座標入力装置における第1の検出モードと呼ぶ。
SH信号71、ICGL信号72、ICGR信号73は、センサユニット2−L1及び2−L2に内蔵されるラインCCD制御用の制御信号である。CCDのシャッター開放時間は、SH信号71の間隔により決定される。ICGL信号72は、センサバー1Lのセンサユニット2−L1及び2−L2へのゲート信号であり、ラインCCD内部の光電変換部の電荷を読出部(不図示)へ転送するためのトリガとなる信号である。CCDL信号74は、センサユニット2−L1及び2−L2のラインCCDのシャッター開放時間を示す信号である。ICGR信号73は、対向するセンサバー1Rのセンサユニット2−R1及び2−R2へのゲート信号であり、シリアル通信部67を介してセンサバー1Rの演算制御回路3Rに送信される。そして、演算制御回路3Rは、ICGR信号73をトリガとして、ラインCCD内部の光電変換部の電荷を読出部へ転送する。CCDR信号75は、センサユニット2−R1及び2−R2のラインCCDのシャッター開放時間を示す信号である。
LEDL信号76及びLEDR信号77は、各センサユニット2の赤外LEDの駆動信号である。LEDL信号76は、SH信号71の最初の周期でセンサバー1Lのセンサユニット2−L1及び2−L2の赤外LEDを点灯するために、各々のLED駆動回路(不図示)を経て赤外LEDに供給される。そして、LEDR信号77は、SH信号71の次の周期で、対向する辺に設けられたセンサバー1Rのセンサユニット2−R1及び2−R2の赤外LEDを点灯するために、シリアル通信部67を介して演算制御回路3Rに送信される。そして、演算制御回路3Rが各々のLED駆動回路に供給するための信号を生成する。赤外LEDの駆動、及びラインCCDのシャッター開放が終了した後に、演算制御回路3Rは、ラインCCDの信号(検出信号)をセンサユニット2から読み出し、後述する方法で角度情報を算出する。そして、スレーブ側の演算制御回路3Rは、算出した角度情報を、マスター側の演算制御回路3Lに送信する。
図2(B)のように演算制御回路3を動作させることで、センサバー1Lのセンサユニット2−L1及び2−L2と、対向するセンサバー1Rのセンサユニット2−R1及び2−R2とは、異なるタイミングで動作するようになる。また、演算制御回路3は、対向する辺に設けられたセンサユニットの赤外光を検出することなく、同じ辺に設けられたセンサユニット自身が発光した再帰反射光のみを検出できる。
次に、図3(A)〜(D)を用いて、センサバー1のセンサユニット2から出力される、受光状態を表す信号について説明する。図3(A)〜(D)は、本実施形態における指示位置の検出処理を説明する図である。まず、センサユニット2の投光部による発光が無い状態である場合の受光部の出力(受光部の検出信号のレベル)は図3(A)となり、発光が有る場合の受光部の出力は図3(B)となる。図3(B)において、レベルAは検出した光量の最大レベルを示し、レベルBは光を検出していないレベルを示している。センサユニット2が発光した赤外線は、対向する辺に設けられた再帰反射部4で再帰反射され、自身のセンサユニット2で検出される。画素番号Njから画素番号Nfまでの光量分布は、表示画面の大きさ、アスペクト比、センサバーの配置状態などによって変化する。
本実施形態による座標入力装置は、最適な光量レベルが得られるように、SH信号を制御することによって、ラインCCDのシャッター開放時間、及び赤外LEDの発光時間を調整する。座標入力装置は、センサユニット2から検出される光量が多ければこれらの時間を短くし、逆に少なければこれらの時間を長く設定することができる。座標入力装置は、さらには、検出光量レベルに応じて、赤外LEDに流す電流を調整してもよい。このように、本実施形態による座標入力装置は、最適な光量レベルが得られるように構成されている。尚、このような光量レベルの調整は、レベル変動が有った場合に適宜行われてもよい。もしくは、センサバー1が設置されて、その状態が保持されている間は、安定した一定の信号が得られる可能性が高いため、このような光量レベルの調整は、座標入力装置(センサバー1)の設置が完了した後、電源投入時に行われてもよい。
座標入力有効領域5の入力面が指等によりタッチされることにより光路が遮られると、センサユニット2は、図3(C)のように、例えば、画素番号Ncで光量が検出できなくなる。本実施形態では、演算制御回路3は、図3(A)〜(C)に示されるセンサユニット2から出力される信号を用いて、タッチされた方向、言い換えると、センサユニット2からみた角度を算出する。
この角度を算出するために、まず、システムの起動時、システムのリセット時、あるいは自動的に、演算制御回路3は、基準データを取得する。以降、一つのセンサユニット2のデータ処理について説明するが、他のセンサユニットでも同様の処理を行っている。電源投入時、演算制御回路3において、ユーザによるタッチ操作が行われていない状態で、センサユニット2の投光部の照明無しの状態のラインCCDの出力は、A/Dコンバータ63によりA/D変換される。A/D変換された値は、Base_Data[N]としてメモリ64に記憶される。Base_Data[N]は、ラインCCDのバイアスのばらつき等を含んだデータとなり、図3(A)のレベルB付近のデータとなる。ここで、[N]はラインCCDの画素番号であり、この番号として、有効な入力範囲に対応する画素番号が用いられる。
同様に、ユーザによるタッチ操作が行われていない状態で、センサユニット2の投光部から投光された光が受光部によって受光され、受光された光の光量分布がメモリ64に記憶される。これは、図3(B)の実線で表されたデータであり、Ref_Data[N]としてメモリ64に記憶される。これにより、演算制御回路3は、初期データとしてBase_Data[N]とRef_Data[N]の2種類のデータの記憶を管理する。
その後、演算制御回路3は、サンプリングを開始する。タッチ操作が行われると、タッチによる指示位置に応じて遮光部分Cが検出され、図3(C)に示すデータが検出される。この投光部の照明有りの状態で得られるサンプルデータは、Norm_Data[N]と定義される。演算制御回路3は、メモリ64に記憶されているBase_Data[N]とRef_Data[N]を用いて、指示具の入力の有無、遮光部分の有無の判定を行う。
まず、演算制御回路3は、遮光部分を特定するために、データの変化量を各々の画素において算出し、予め設定してある閾値Vthaと比較する。
Norm_Data0[N]
=Norm_Data[N]−Ref_Data[N] (1)
ここで、Norm_Data[N]は、各画素における光量の変化量である。演算制御回路3は、閾値比較によりノイズ等による誤判定を防止し、所定量の確実な変化を検出する。そして、閾値を超えるデータが、例えば、所定数以上の連続した画素で発生した場合に、演算制御回路3は、タッチ操作が行われたと判定する。この処理は、差を取り比較するだけであるため、演算制御回路3は短時間での演算が可能であり、入力の有無判定を高速に行うことができる。
Norm_Data0[N]
=Norm_Data[N]−Ref_Data[N] (1)
ここで、Norm_Data[N]は、各画素における光量の変化量である。演算制御回路3は、閾値比較によりノイズ等による誤判定を防止し、所定量の確実な変化を検出する。そして、閾値を超えるデータが、例えば、所定数以上の連続した画素で発生した場合に、演算制御回路3は、タッチ操作が行われたと判定する。この処理は、差を取り比較するだけであるため、演算制御回路3は短時間での演算が可能であり、入力の有無判定を高速に行うことができる。
次に、より高精度に検出するために、演算制御回路3は、画素データの変化の比を計算して入力点の決定を(2)式を用いて行う。
Norm_Data[N]
=Norm_Data0[N]/
(Base_Data[N]−Ref_Data[N]) (2)
この画素データ(光量分布)に対して、別途設定される閾値Vthrが適用される。そして、演算制御回路3は、閾値Vthrを横切る点に対応する、光量分布中の遮光部分に対応する光量変動領域の立ち上がり部と立ち下がり部の画素番号から、両者の中央を指示具による入力に対応する画素とすることで、角度を算出する。
Norm_Data[N]
=Norm_Data0[N]/
(Base_Data[N]−Ref_Data[N]) (2)
この画素データ(光量分布)に対して、別途設定される閾値Vthrが適用される。そして、演算制御回路3は、閾値Vthrを横切る点に対応する、光量分布中の遮光部分に対応する光量変動領域の立ち上がり部と立ち下がり部の画素番号から、両者の中央を指示具による入力に対応する画素とすることで、角度を算出する。
図3(D)は、変化の比の計算を終了後の検出結果の例である。閾値Vthrで検出した場合、遮光部分の立ち上がり部分は、Ns番目の画素でレベルLsとなり閾値Vthrを超えたとする。さらに、Nt番目の画素でレベルLtとなり閾値Vthrを下まわったとする。この時、演算制御回路3は、出力すべきラインCCDの画素番号Npを、立ち上がり部と立ち下がり部の画素番号の中央値として式(3)のように計算してもよいが、そうすると、ラインCCDの画素間隔が出力画素番号の分解能になる。
Np=(Ns+Nt)/2 (3)
Np=(Ns+Nt)/2 (3)
そこで、より高分解能に検出するために、演算制御回路3は、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用い、閾値Vthrを横切る仮想の画素番号を計算する。画素NsのレベルをLs、画素Ns−1番のレベルをLs−1、そして、画素NtのレベルをLt、画素Nt−1のレベルをLt−1とすると、それぞれの仮想画素番号Nsv、Ntvは、
Nsv=Ns−1+(Vthr−Ls−1)/(Ls−Ls−1) (4)
Ntv=Nt−1+(Vthr−Lt−1)/(Lt−Lt−1) (5)
と計算できる。この計算式によれば、出力レベルに応じた仮想画素番号、つまり、ラインCCDの画素番号よりも細かい画素番号を取得できる。そして、これらの仮想画素番号Nsv、Ntvの仮想中心画素Npvは、式(6)で決定される。
Npv=(Nsv+Ntv)/2 (6)
このように、演算制御回路3が閾値Vthrを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、所定レベルの閾値Vthrを横切る仮想的な仮想画素番号を計算する。これにより、より分解能の高い検出を実現することができる。
Nsv=Ns−1+(Vthr−Ls−1)/(Ls−Ls−1) (4)
Ntv=Nt−1+(Vthr−Lt−1)/(Lt−Lt−1) (5)
と計算できる。この計算式によれば、出力レベルに応じた仮想画素番号、つまり、ラインCCDの画素番号よりも細かい画素番号を取得できる。そして、これらの仮想画素番号Nsv、Ntvの仮想中心画素Npvは、式(6)で決定される。
Npv=(Nsv+Ntv)/2 (6)
このように、演算制御回路3が閾値Vthrを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、所定レベルの閾値Vthrを横切る仮想的な仮想画素番号を計算する。これにより、より分解能の高い検出を実現することができる。
このように得られた中心画素番号から、実際の指示位置の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。後述する実際の座標計算では、角度そのものよりも、その角度における正接(tangent)の値を計算するほうが都合がよい。尚、画素番号から、tanθへの変換には、テーブル参照や変換式が用いられる。変換式を用いる場合、例えば、高次の多項式を用いると精度を確保できるが、次数等は計算能力及び精度スペック等を鑑みて決定すればよい。
ここで、5次多項式を用いる場合の例を示す。まず、演算制御回路3は、座標入力装置の組み立て時などに、センサユニットの画素番号と、角度との関係を測定する。その結果から、演算制御回路3は、5次多項式近似により画素番号をtanθへ変換するための係数を求める。そして演算制御回路3は、係数データを座標入力装置内の不揮発性メモリなどに記憶する。5次多項式の6個の係数を、K5、K4、K3、K2、K1、K0とすると、tanθは
tanθ=((((K5×Npr+K4)×Npr+K3)×Npr+K2)
×Npr+K1)×Npr+K0 (7)
と表すことができる。上記例では、式の中でtanθへの変換を行っているが、演算制御回路3は、角度θを計算し、θからtanθに変換してもよい。
tanθ=((((K5×Npr+K4)×Npr+K3)×Npr+K2)
×Npr+K1)×Npr+K0 (7)
と表すことができる。上記例では、式の中でtanθへの変換を行っているが、演算制御回路3は、角度θを計算し、θからtanθに変換してもよい。
次に、図4を用いて指示位置の座標算出処理について説明する。図4は、画面座標と指示位置の位置関係を示す図である。センサバー1Lのセンサユニット2−L1の視野範囲は、方向jから方向fの範囲であり、角度の正負を図示のように設定する。そして、センサユニット2−L1の光軸はX軸方向であり、その方向を角度0°と定義する。同様に、センサユニット2−L2の視野範囲は方向fから方向jの範囲であり、角度の正負を図示のように設定し、及び、センサユニット2−L2の光軸の方向を角度0°と定義する。そして、センサユニット2−L1の光軸中心とセンサユニット2−L2の光軸中心を結ぶ線分をY軸と定義すれば、各センサユニットの光軸はその線分の法線方向となる。また、センサユニット2−L1の光軸中心とセンサユニット2−L2の光軸中心との距離をdhと定義する。
今、図4(A)の点Pの位置でタッチ操作が行われた場合を想定する。センサユニット2−L1で算出される角度はθL1であり、センサユニット2−L2で算出される角度はθL2である。演算制御回路3は、この2つの角度情報と距離dhを用いて、幾何学的に指示位置Pの座標を算出することが可能となる。
x=dh×tan(π/2−θL2)×tan(π/2−θL1)/
(tan(π/2−θL2)+tan(π/2−θL1)) (8)
y=dh×tan(π/2−θL2)/
(tan(π/2−θL2)+tan(π/2−θL1)) (9)
また、一方のセンサユニットの出力がθL1=0、もしくはθL2=0の場合であっても、他方のセンサユニットが出力する角度情報に基づき、幾何学的に容易に指示位置を算出することが可能である。
x=dh×tan(π/2−θL2)×tan(π/2−θL1)/
(tan(π/2−θL2)+tan(π/2−θL1)) (8)
y=dh×tan(π/2−θL2)/
(tan(π/2−θL2)+tan(π/2−θL1)) (9)
また、一方のセンサユニットの出力がθL1=0、もしくはθL2=0の場合であっても、他方のセンサユニットが出力する角度情報に基づき、幾何学的に容易に指示位置を算出することが可能である。
尚、以上の説明にあっては、2つのセンサユニット間の距離dhが既知であるとしている。ここでは説明を簡略化するため、距離dhは既知とするが、未知であっても位置検出可能な構成については後述する。また、以上の説明にあっては、センサユニット2−L1及びセンサユニット2−L2の視野範囲に基づき、演算制御回路3は、指示位置Pが図4(B)のハッチング部の範囲に有る場合のみ、その指示位置を算出することが可能である。指示位置がその範囲に無い場合には、図4(C)、(D)、(E)に示す様に、演算に用いるセンサユニットの組み合わせを変更することで、演算制御回路3は座標入力有効領域5全域の指示位置を検出できる。従って、各センサユニット2が検出した遮光方向の有無、及び遮光方向に基づき、演算制御回路3は座標算出に必要なセンサユニットを選択して、指示位置を算出する。そして、選択したセンサユニット2の組み合わせに応じて、演算制御回路3は式(8)、式(9)のパラメータを変更して、座標変換を行えばよい。
尚、図4(F)に示すように、センサユニット選択の境界領域近傍に指示位置Pが存在すると、この場合は、演算制御回路3は、図4(B)もしくは図4(C)の状態のセンサユニットの組み合わせで、その指示位置を算出できる。具体的な構成として、例えば、センサユニット2−L2の視野範囲と、センサユニット2−R1の視野範囲は、座標入力有効領域5の対角線方向で重複するように構成される。そして、重複した領域でタッチされた場合には、演算制御回路3は、複数通りのセンサユニットの組み合わせで座標算出が可能となる。また、その場合は、演算制御回路3は、複数通りのセンサユニットの組み合わせで算出した座標値の平均値を確定座標として出力してもよい。
このように算出された座標値は、実施形態1の座標入力装置が持つ第1の座標系(以後、座標入力装置の相対座標系と称す)の値であって、位置算出が可能な有効領域は図1における座標入力有効領域5である。そして、この座標入力有効領域5の範囲内にディスプレイの表示面が設けられることになる。ディスプレイが仮にフロントプロジェクタとすると、例えば図5に示すように、投影画像である表示領域8が座標入力有効領域5内に設定されることになる。図5では、d1を原点としてdx軸、dy軸からなる表示座標系である第2の座標系(以後、表示座標系と称す)からなる。表示されている画像をユーザが直接タッチすることで、アイコン等のタップ操作を行うためには、相対座標系に対する表示座標系の位置を合わせる作業を行う必要がある。位置合わせ作業は、一般的にキャリブレーションと呼ばれている。
通常、キャリブレーションを実行するためには、表示制御を行っているパーソナルコンピュータ(PC)に、専用のアプリケーションソフトがインストールされる。PCは、アプリケーションを起動すると、表示画面には十字クロス等が表示され、ユーザにそのクロス位置をタッチするように指示する。PCはこのような指示を異なる位置で所定回数繰り返すことで、ユーザからの入力により得られる相対座標系の座標値と、十字クロスが表示されている位置の表示座標系の座標値とが一致するように、座標系の変換を行う。一方、実施形態1の座標入力装置は、アプリケーションソフトを使って十字クロスの位置を表示させてユーザにタッチさせるのではなく、表示画面の4隅をユーザにタッチさせることとで、この座標変換を行う。このように構成することで、アプリケーションソフトは不要となる。
キャリブレーションモードへの遷移は、例えば、センサバー1に設けられたモード遷移スイッチ(不図示)で行われる。ユーザは、表示画面の位置を変更した場合等にモード遷移スイッチを押下する。キャリブレーションモードに遷移すると、センサバー1に内蔵されるスピーカ等の出力部は、4隅部を順次タッチ(指示)するようにガイダンスする。また、この出力部は、ユーザによる隅部のタッチが完了する毎に、入力が完了したことを示すブザー音を報知してもよい。または、センサバー1に内蔵されるインジケータで、ユーザにその操作を促してもよい。
尚、本実施形態において、相対座標系での座標算出では、式(8)及び式(9)において演算に用いるセンサユニット2間の距離dhを既知とした。しかしながら、座標入力装置と表示装置とを組み合わせて使用する図5のような使用態様の場合、この距離dhは既知である必要は無い。つまり、ディスプレイの大きさを示す4隅部の情報は、ユーザによりタッチ操作されることにより、順次、相対座標系における各センサユニットでの角度情報として取得される。その結果、比による計算で、表示座標系の指示位置の座標を算出することが可能である。
以上の説明では、2つのセンサバーは平行で、同一の長さとした。本実施形態の座標入力装置は、さらに利便性向上のために、第2の検出モードを有する。図6に、本実施形態による第2の検出モードを説明する図を示す。図6(A)は、第2の検出モードを説明するためのマスター側のセンサバー1LのCPU61が出力する制御信号、及びセンサユニット2の動作を示すタイミングチャートである。
SH信号91、ICGL信号92、ICGR信号93は、センサユニット2−L1及び2−L2に内蔵されるラインCCD制御用の制御信号である。CCDのシャッター開放時間は、SH信号91の間隔により決定される。ICGL信号92は、センサバー1Lのセンサユニット2−L1及び2−L2へのゲート信号であり、ラインCCD内部の光電変換部の電荷を読出部(不図示)へ転送するためのトリガとなる信号である。CCDL信号94は、センサユニット2−L1及び2−L2のラインCCDのシャッター開放時間を示す信号である。ICGR信号93は、対向するセンサバー1Rのセンサユニット2−R1及び2−R2へのゲート信号であり、シリアル通信部67を介してセンサバー1Rの演算制御回路3Rに送信される。そして、演算制御回路3Rは、ICGR信号93をトリガとして、ラインCCD内部の光電変換部の電荷を読出部へ転送する。CCDR信号95は、センサユニット2−R1及び2−R2のラインCCDのシャッター開放時間を示す信号である。
LEDL信号96及びLEDR信号97は、各センサユニット2の赤外LEDの駆動信号である。LEDR信号97は、SH信号91の最初の周期でセンサバー1Rのセンサユニット2−R1及び2−R2の赤外LEDを点灯するために、シリアル通信部67を介してセンサバー1Rの演算制御回路3Rに送信される。そして、演算制御回路3Rが各々のLED駆動回路に供給するための信号を生成する。LEDL信号96は、SH信号91の次の周期で、センサバー1Lのセンサユニット2−L1及び2−L2の赤外LEDを点灯するために、各々のLED駆動回路を経て赤外LEDに供給される。赤外LEDの駆動、及びラインCCDのシャッター開放が終了した後に、演算制御回路3Rは、ラインCCDの信号(検出信号)をセンサユニット2から読み出し、後述する方法で角度情報を算出する。そして、スレーブ側の演算制御回路3Rは、算出した角度情報を、マスター側の演算制御回路3Lに送信する。
図6(A)のように演算制御回路3を動作させることで、センサバー1Lのセンサユニット2−L1及び2−L2は、対向するセンサバー1Rのセンサユニット2−R1及び2−R2が発光した赤外LEDの赤外光を直接検出する。同様に、センサバー1Rのセンサユニット2−R1及び2−R2は、対向するセンサバー1Lのセンサユニット2−L1及び2−L2が発光した赤外LEDの赤外光を直接検出する。
図6(B)は、本実施形態による座標入力装置が第2の検出モードで動作する場合に、センサユニット2で得られる検出信号波形を示している。一方のセンサユニット2の受光部は、対向する辺に設けられた他方の2つのセンサユニット2からの発光をそれぞれ受光するので、ピーク信号が2つ生成される。そして、演算制御回路3は、先に述べた角度算出の方法と同様の方法で、その方向を各々算出する。尚、図中の破線は、図3(B)で示す受光部の出力(光量分布)を示すものであり、方向Nj、方向Nfの間に2つのピーク信号が生成されることを示している。
本実施形態による座標入力装置は、ユーザが2つのセンサバー1を目分量で装着した場合であっても、高精度な位置検出を実現する。そのために、各センサユニット2が、対向するセンサバー1に収納されているセンサユニット2の投光部の光を検出することで、対向するセンサユニット2がどの方向に位置するかを検出する。
図7を用いて、その様子を説明する。図7は、センサユニット2の相対的な位置関係の算出を説明する図である。図7において、センサユニット2−L1の光軸中心とセンサユニット2−L2の光軸中心を結ぶ線分をY軸、その法線方向をX軸とすれば、センサユニット2−L1及び2−L2の光軸はX軸と平行である。そして、対向するセンサユニット2−R1は、センサユニット2−L1から見ると角度θ1の方向であり、センサユニット2−L2から見ると角度θ3の方向である。同様に、θ1からθ8までの角度を算出することが可能である。更には、センサバー1の長手方向の長さが変化した場合であっても、各センサユニット2間の距離を知ることはできないが、4つのセンサユニットの相対的な位置関係を取得することが可能である。そして、先に述べたディスプレイの大きさを示す4隅部の情報をキャリブレーションによって取得すれば、相対的座標による計算で表示座標系での座標を高精度で算出することが可能となる。
図8は、電源投入後にCPU61が実行する初期設定処理を示すフローチャートである。まず、投影画像である表示領域8の全領域を含む矩形状の座標入力有効領域5を形成するために、ユーザによってセンサバー1がホワイトボード6に装着される。センサバーには例えばマグネットが内蔵されていて、ホワイトボードに貼りつけることができるようになっている。電源が投入されると、CPU61は初期設定処理を開始する(ステップS101)。CPU61は、入出力ポートの設定、タイマ設定等の座標入力装置に係る各種初期化を行う。また、光電変換素子に残っている余分な電荷を除去する等のラインCCDの初期化を行う。
次に、CPU61はラインCCDが検出する光量の最適化を行う。ホワイトボード6や表示領域8のサイズは使用環境によりさまざまであり、センサバー1間の距離は適宜ユーザによって設定される。従って、装着の状態によって、検出される光の強度が異なる。そのため、CPU61は、ラインCCDのシャッター開放時間、赤外LEDを駆動する電流値、赤外LEDの点灯時間などを、予め決められた初期値に設定する動作設定を行う(ステップS102)。ステップS102の動作設定は、対向するセンサユニット2から直接光を受ける動作の状態(図6における第2の検出モード)であって、4つのセンサユニット2の相対的な位置関係を導出することを目的とする。
次に、ステップS103で、CPU61は、第2の検出モードでの赤外LEDの点灯とラインCCDの出力信号の取り込みを行う。この処理は各センサユニット2において順次行われる。検出される信号は、例えば図6(B)に示すような信号となる。本実施形態においては、2つのピークを持つ信号が出力されている状態が正常状態と言える。ステップS104において、2つのピークが検出できなかった場合は、センサユニット2の受光部の視野範囲に、対向する位置にあるセンサユニット2が位置していない可能性がある。その場合は、ステップS105で、不図示のスピーカ等の出力部はユーザにその旨を報知して、センサバーの再設置を促す。ユーザが装置の再設置を行い、例えば装置に備えられた再設定ボタンなどが押下されると、CPU61は再び初期設定処理を開始する。そしてステップS104で、CPU61は、2つのピークを検出したら、CPU61は、ピークに対応するCCD画素番号を、それぞれN1、N2として検出する。
次に、ステップS106で、CPU61はセンサユニット2の受光部による検出信号のレベルチェックを行う。検出信号のピークの値が予め定められた範囲に入っていない場合は、ステップS102に戻り、CPU61は例えば、赤外LEDを駆動する電流値を変更する等の再設定を行う。ステップS103で、CPU61は再びラインCCDの駆動および出力信号の取り込みを行う。ピーク値が予め決められた範囲に入ったら、CPU61は信号レベルは適正であると判断する。以上の動作は各センサユニット2について実行され、それぞれの信号レベルが適正となったら、S107で、CPU61は各センサユニット2の正面方向に対向するセンサユニット2から受光した光のピーク値をメモリに保存する。
例えば、センサユニット2−L1の正面方向に対向するセンサユニット2−R1から受光した光のピークは、図6(B)におけるN1に相当する。CPU61は、N1のピークの底であるレベルCから、レベルBまでの電圧値を、N1のピーク値PL1[V]としてメモリに保存する。他のセンサユニットについても同様に、CPU61は、正面方向に対向するセンサユニット2から受光した光のピーク値を、それぞれPL2(センサユニット2−R2からセンサユニット2−L2)、PR1(センサユニット2−L1からセンサユニット2−R1)、PR2(センサユニット2−L2からセンサユニット2−R2)としてメモリに保存する。
次にステップS108で、CPU61は左右のセンサバーの間の距離の算出を行う。ここで、対向するセンサユニットの間の距離をLs、赤外LEDを駆動する電流値をId[mA]、赤外LEDを発光させたセンサユニットの正面方向に対向するセンサユニットにおいて受光した光のピーク値をPd[V]とすると、Lsは、IdとPdの関数となる。その関数をf()とすると、
Ls=f(Id,Pd) (10)
f()は、予め装置の設計時などに、Ls、Id、Pdの関係が測定され、その結果に基づいて、近似式を求めるなどして決定される。f()は例えば累乗や対数関数等を用いた近似式として求められる。
Ls=f(Id,Pd) (10)
f()は、予め装置の設計時などに、Ls、Id、Pdの関係が測定され、その結果に基づいて、近似式を求めるなどして決定される。f()は例えば累乗や対数関数等を用いた近似式として求められる。
センサユニットは4個備えられているから、対向するセンサユニットの間の距離Lは4つ算出できる。最終的に調整されたセンサユニット2−L1のLED駆動電流値をIL1、センサユニット2−L2のLED駆動電流値をIL2、センサユニット2−R1のLED駆動電流値をIR1、センサユニット2−R2のLED駆動電流値をIR2とする。そして、それぞれL1(センサユニット2−L1とセンサユニット2−R1間の距離)、L2(センサユニット2−L2とセンサユニット2−R2間の距離)、L3(センサユニット2−L1とセンサユニット2−R1間の距離)、L4(センサユニット2−L2とセンサユニット2−R2間の距離)を算出する。
L1=f(IL1,PR1) (11)
L2=f(IL2,PR2) (12)
L3=f(IR1,PL1) (13)
L4=f(IR2,PL2) (14)
次にL1〜L4を平均して、左右のセンサバー間の平均的な距離Laveを算出する。
Lave=(L1+L2+L3+L4)/4 (15)
L1=f(IL1,PR1) (11)
L2=f(IL2,PR2) (12)
L3=f(IR1,PL1) (13)
L4=f(IR2,PL2) (14)
次にL1〜L4を平均して、左右のセンサバー間の平均的な距離Laveを算出する。
Lave=(L1+L2+L3+L4)/4 (15)
ステップS109では、CPU61は、センサユニット2の相対的な位置関係を算出するセンサ位置算出処理を行う。CPU61は、θ1からθ8の値が分かっているため、幾何学的な計算により各センサの相対的な位置関係を算出することができる。ここでは詳細な説明は省くが、例えば特許文献2に処理の例が詳細に開示されている。
ステップS110以降では、センサユニット2が投光した赤外光が、対向するセンサバー1に設けられた再帰反射部4で再帰反射され、その光を自身の受光部で検出した時の信号レベルを最適化する。前述したとおり、センサバー1の配置は一意ではない。そのため配置に応じた検出レベルを最適化することで、安定した信号を得ることを目的とする。
まずステップS110で、CPU61は赤外LEDが発光するときの光量設定を行う。本実施形態においては、光量を制御するためのパラメータとして赤外LEDの駆動電流値の制御を行う例について説明する。ここで、第1の検出モードで検出される信号レベルは、図3(B)に示したように、常にセンサユニットの正面方向(図4(A)の、jの方向)の近傍において最大となるものとする。赤外LEDの駆動電流値をIr[mA]、センサユニットの正面方向における再帰反射光の信号レベルをPr[V]、左右のセンサバー間の距離をLb[mm]とすると、Irは、PrとLbの関数として表すことができる。その関数をg()とすると、
Ir=g(Lb,Pr) (16)
となる。ここで、g()は、予め装置の設計時などに、Lb、Ir、Prの関係が測定され、その結果に基づいて、近似式を求めるなどして決定されている。g()は、例えば累乗や指数関数等を用いた近似式として求められる。
Ir=g(Lb,Pr) (16)
となる。ここで、g()は、予め装置の設計時などに、Lb、Ir、Prの関係が測定され、その結果に基づいて、近似式を求めるなどして決定されている。g()は、例えば累乗や指数関数等を用いた近似式として求められる。
ここでは、第1の検出モードで検出される信号レベルは、センサユニットの正面方向で最大となるものとした。他の例として、信号レベルが最大となる方向が正面方向でない特定の角度方向である構成も考えられる。その場合にも前述と同じように、予め装置の設計時などに、信号レベルが最大となる角度におけるLb、Ir、Prの関係が測定され、近似式等でg()が決定されればよい。また、センサバー1Lとセンサバー1Rの位置関係等によって、信号レベルが最大となる方向が多少変化するというケースもある。この場合には、式(16)の計算結果に対して誤差が発生することになる。その場合には、CPU61は、信号レベルが定められた範囲に入っているかどうか検査を行い、入っていなければ再設定を行う。再設定の処理の詳細については後述する。
信号レベルの望ましい範囲は、信号のダイナミックレンジの確保や、飽和が発生しないことなど、ラインCCDの性能等によって決まってくる。この範囲は予め定められていて、例えばその範囲の中央値が、目標信号レベルPt[V]として定められている。CPU61は、式(16)に対し、Prに目標信号レベルPtを代入し、またLbにステップS108で算出したLaveを代入して、設定する電流値Irを算出する。
ステップS111では、CPU61は、ラインCCDのシャッター開放時間や赤外LEDの点灯時間、またステップ110で算出した赤外LEDの駆動電流値Irの設定などを含む第1の検出モードの動作モード設定を行う。すなわち、CPU61は、センサユニット2を、第2の検出モードで動作させ(ステップS102)、センサユニット2の受光部による検出信号のレベルチェックを行う(ステップS106)。第2の検出モードでは、他のセンサユニットからの直接光を受光部で検出する。CPU61は、信号レベルが適正であると判断すると、検出された直接光に基づいてセンサユニットの投光部のパラメータを算出する(ステップS108、ステップS110)。このパラメータは、検出された直接光に基づいて算出されるセンサバー間の距離に基づいて、算出される。CPU61は、算出したパラメータを投光部に設定する(ステップS111)。そしてステップS112で、CPU61は、第1の検出モードでの赤外LEDの点灯とラインCCDの出力信号の取り込みを行う。取り込まれた出力信号は、照明時のデータであり、図3(B)の様な波形となる。
ステップS113で、CPU61は信号レベルが適切かどうか判定を行う。式(16)を用いたことで、センサユニットの正面方向における再帰反射光の信号レベルがPtとなるように赤外LEDの駆動電流値Irが設定されている。従って理想的には、図3(B)における信号レベルAは目標値Ptに近い値となる。しかし実際には、左右のセンサバーが平行でなかったり上下方向にずれた状態で設置されている等の場合には、式(16)の計算結果に対して誤差が発生し、信号レベルAは目標値Ptからずれてしまう。CPU61は、信号レベルAが前述した望ましい範囲に入っていれば適切、入っていなければ不適と判定する。
また、再帰反射光の信号レベルについては、許容される最小値も予め定められている。この許容最小値は、信号のS/N比を最低限確保すること、座標算出演算等において必要な最低限の信号レベルを確保することなどを考慮して決められる。CPU61は、再帰反射光の全領域において信号レベルを検査し、その一部に信号レベルが許容される最小値より小さい領域があったら、検出信号の波形が不適と判定する。
CPU61はステップS113で検出信号の波形が不適と判定した場合はステップS110に戻り、赤外LEDの駆動電流値の再設定を行う。CPU61は、信号レベルAが目標値Ptからずれているケースでは、ずれをなくすような調整を行う。レベルAおよびレベルBの電圧値をそれぞれVA[V]、VB[V]、再設定される赤外LEDの駆動電流値をIr´として、次式によりIr´を算出する。
Ir´=Ir×Pt/(VB−VA) (17)
また、再帰反射光の一部領域に信号レベルが許容される最小値より小さい領域があるケースでは、CPU61は、信号レベルを大きくするため、目標値Ptの値を飽和しない範囲で大きくして、式(16)を再計算する。
Ir´=Ir×Pt/(VB−VA) (17)
また、再帰反射光の一部領域に信号レベルが許容される最小値より小さい領域があるケースでは、CPU61は、信号レベルを大きくするため、目標値Ptの値を飽和しない範囲で大きくして、式(16)を再計算する。
そして、CPU61は、ステップS111からステップS113の処理を再び実行する。赤外LEDの発光強度が駆動電流値にほぼ比例するものとすると、式(17)の計算により、信号レベルAは目標値Ptに近い値となる。CPU61は、センサユニットを、第1の検出モードで動作させ、指示位置を検出するための投光部のパラメータを、検出された直接光に基づいて算出されるセンサバー間の距離に基づいて設定されたパラメータを用いて決定する。このセンサバー間の距離は、検出された直接光に基づいてステップS108で算出される。
尚、赤外LEDの発光強度が駆動電流値に比例しない特性である場合には、式(17)の代わりにその特性を考慮した関数(近似式やテーブル変換等)を使用することで、同じように信号レベルAを目標値Ptに近い値に調整することができる。尚、信号レベルAが飽和レベルに近く上限となっており、かつ信号レベルが最小値より小さい領域が存在するという場合は信号レベルの調整が不可能である。この場合装置の設置状態が適正でない可能性があるため、不図示のスピーカ等の出力部はユーザに対してその旨を報知して、センサバーの再設置を促す。
一方、ステップS113で、波形レベルが最適と判断される場合、CPU61は照明なしの状態の信号Base_Data[N](図3(A)参照)を取得してメモリ64に記憶する(ステップS114)。次に、CPU61は、照明有りの状態の信号Ref_Data[N](図3(B)参照)を取得してメモリ64に記憶する(ステップS115)。そしてステップS116で、CPU61は、全てのセンサユニット2について処理が終了したか検査する。終了していなければ、CPU61は、ステップS117で次に処理を行うセンサユニット2を選択するための設定を行い、ステップS110に戻り処理を繰り返す。
ステップS116において全てのセンサユニット2の処理が終了すると、初期設定処理は完了する。尚、本実施形態においては、光量を制御するために、赤外LEDの駆動電流値をパラメータとして制御する例について記述した。他の例として、赤外LEDの投光時間や、ラインCCDのシャッター開放時間等をパラメータとして制御するようにしてももちろんよい。あるいはこれらのパラメータのうち複数のパラメータを同時に制御する等の方法もある。光量を制御するために何をパラメータとするかは、回路やデバイスの構成、性能、制限等を考慮して決めればよい。
初期設定処理が完了すると、通常のサンプリング動作に移行する。図9は、通常のサンプリング処理を示すフローチャートである。まずステップS201で、通常の取込動作(第1の検出モード)として、センサユニット2の投光部が投光した赤外光が、対向するセンサバー1に設けられた再帰反射部4で再帰反射され、その光を自身の受光部で検出する。受光部が検出した時のデータは、上述したNorm_data[N]であり、仮にタッチ操作が行われて光路が遮られると、図3(C)のように、画素番号Ncの辺りで光信号が検出できなくなる。
ステップS202で、CPU61は、いずれかのセンサユニット2で、このような光の遮光部分が生成されたか否か、つまり、入力の有無を判定する。入力が無いと判定される場合(ステップS202でNO)、ステップS201に戻る。一方、入力があると判定される場合(ステップS202でYES)、前述の説明と同様に、センサユニットの選択(ステップS203)、角度算出(ステップS204)を行う。ここで算出された角度と、各センサユニットの位置関係の情報を用いて、相対座標系での指示位置の座標を算出する(ステップS205)。ここでは座標算出についての詳細な説明は省くが、例えば特許文献2に処理の例が詳細に開示されている。そして、CPU61は算出した指示位置の座標を表示座標系に変換して、パーソナルコンピュータ等の外部機器に、その座標値を出力する(ステップS206)。
このように、本実施形態による座標入力装置は、反射光により光の検出を行う第1の検出モードと直接光により光の検出を行う第2の検出モードとを切り替える。座標入力装置は、第2の検出モードで検出された光量のレベルが適切なレベルとなるようにセンサユニットのパラメータを調節し、センサユニットの位置を算出する。その後、座標入力装置は第1の検出モードに切り替えて、該第1の検出モードで検出された光量のレベルが適切なレベルとなるように、更にセンサユニットのパラメータを調節する。そして、該第1の検出モードにおいてパラメータが決定した後に、通常のサンプリング処理が行われる。本実施形態による座標入力装置は、該第2の検出モードと該第1の検出モードを切り替えるこのような動作を行うことにより、装置の起動時間等を短縮することができ、その結果ユーザの使い勝手を向上させることが可能となる。
<実施形態2>
実施形態1においては、CPU61は、第2の検出モードにおけるパラメータを調整した結果に基づいて、第1の検出モードにおけるパラメータを決定した。実施形態2として、実施形態1より処理時間を削減するように、第1の検出モードにおける調整方法について説明する。
実施形態1においては、CPU61は、第2の検出モードにおけるパラメータを調整した結果に基づいて、第1の検出モードにおけるパラメータを決定した。実施形態2として、実施形態1より処理時間を削減するように、第1の検出モードにおける調整方法について説明する。
本実施形態による座標入力装置の構成は実施形態1と同様である。座標入力装置は、センサユニット2を4か所に備えているので、図8におけるステップS110からステップS116のループは4回繰り返し実行される。このとき、ステップS110における赤外LEDの駆動電流値として、式(16)に示したように、第2の検出モードにおける調整結果に基づいて算出した値が用いられていた。
本実施形態では、1個目のセンサユニット2(例えばセンサユニット2−L1)における調整が完了したときの赤外LEDの駆動電流値を、次のセンサユニット2(例えばセンサユニット2−L2)を調整するときの赤外LEDの駆動電流値として用いる。さらに、3つ目のセンサユニット2(例えばセンサユニット2−R1)を調整するときには、既に調整を完了した2つのセンサユニット2の赤外LEDの駆動電流値に基づいて算出する。例えば調整された2つの赤外LEDの駆動電流値の平均を算出して、3つ目のセンサユニット2の赤外LEDの駆動電流値として使用する。
調整が完了した状態において、LED電流値は、式(17)による微調整が実行されている場合があるから、信号レベルがより適正となっている可能性がある。従って、すでに適正なレベルに調整された値を用いることで、調整のための処理時間をより少なくすることができる。このように、本実施形態による座標入力装置は、実施形態1において述べた効果に加えて、処理時間を少なくできるという効果がある。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
1 センサバー、2 センサユニット、3 演算制御回路、4 再帰反射部、5 座標入力有効領域、6 ホワイトボード、8 表示領域
Claims (11)
- 投光部と受光部を備えるセンサユニットを有し、センサユニットを、投光部が投光した光の再帰反射部からの反射光を受光部で検出する第1の検出モードで動作させ、検出された反射光の光量分布に基づいて座標入力有効領域に対する指示位置を検出する座標入力装置であって、
前記センサユニットを、他のセンサユニットからの直接光を受光部で検出する第2の検出モードで動作させ、検出された直接光に基づいて前記センサユニットの投光部または受光部のパラメータを設定する設定手段と、
前記センサユニットを、前記第1の検出モードで動作させ、前記指示位置を検出するための投光部または受光部のパラメータを、前記設定手段により設定されたパラメータを用いて決定する決定手段と、を有することを特徴とする座標入力装置。 - 前記設定手段は、前記第2の検出モードにおいて前記センサユニットの受光部により検出された直接光の信号レベルに基づいて、前記センサユニットの投光部または受光部のパラメータを調節することを特徴とする請求項1に記載の座標入力装置。
- 前記設定手段は、前記直接光の信号レベルが所定の範囲に入るように、前記センサユニットの投光部または受光部のパラメータを設定することを特徴とする請求項2に記載の座標入力装置。
- 前記決定手段は、前記設定手段により設定されたパラメータを用いた前記センサユニットの受光部により検出された反射光の信号レベルに基づいて、前記センサユニットの投光部または受光部のパラメータを調節することを特徴とする請求項1乃至3のいずれか1項に記載の座標入力装置。
- 前記決定手段は、前記設定手段が設定を完了した時のパラメータおよび該パラメータを用いた前記受光部により検出された反射光の信号レベルに基づいて、前記センサユニットの投光部または受光部のパラメータを決定する請求項4に記載の座標入力装置。
- 前記決定手段は、前記反射光の信号レベルが所定の範囲に入るように、前記センサユニットの投光部または受光部のパラメータを決定することを特徴とする請求項4または5に記載の座標入力装置。
- 前記決定手段は、複数の前記センサユニットの投光部または受光部のパラメータを設定するとき、設定を完了した投光部または受光部におけるパラメータに基づいて、他のセンサユニットの投光部または受光部のパラメータを決定することを特徴とする請求項1乃至6のいずれか1項に記載の座標入力装置。
- 前記パラメータは、投光部の電流値と、投光部の投光時間と、受光部のシャッター開放時間のうち少なくとも一つ以上を含むことを特徴とする請求項1乃至7のいずれか1項に記載の座標入力装置。
- 前記設定手段は、前記設定手段により設定されたパラメータおよび、該設定されたパラメータを用いた前記センサユニットの受光部が受光した直接光の信号レベルに基づいて、複数の前記センサユニットの間の距離を算出し、該算出された距離により前記投光部の電流値を設定することを特徴とする請求項1から8のいずれか1項に記載の座標入力装置。
- 投光部と受光部を備えるセンサユニットを有し、センサユニットを、投光部が投光した光の再帰反射部からの反射光を受光部で検出する第1の検出モードで動作させ、検出された反射光の光量分布に基づいて座標入力有効領域に対する指示位置を検出する座標入力装置の制御方法であって、
前記センサユニットを、他のセンサユニットからの直接光を受光部で検出する第2の検出モードで動作させ、検出された直接光に基づいて前記センサユニットの投光部または受光部のパラメータを設定する設定工程と、
前記センサユニットを、前記第1の検出モードで動作させ、前記指示位置を検出するための投光部または受光部のパラメータを、前記設定工程において設定されたパラメータを用いて決定する決定工程と、を有することを特徴とする座標入力装置の制御方法。 - 請求項1乃至請求項9のいずれか1項に記載の座標入力装置の各手段としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014139162A JP2016018282A (ja) | 2014-07-04 | 2014-07-04 | 座標入力装置、その制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014139162A JP2016018282A (ja) | 2014-07-04 | 2014-07-04 | 座標入力装置、その制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016018282A true JP2016018282A (ja) | 2016-02-01 |
Family
ID=55233490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014139162A Pending JP2016018282A (ja) | 2014-07-04 | 2014-07-04 | 座標入力装置、その制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016018282A (ja) |
-
2014
- 2014-07-04 JP JP2014139162A patent/JP2016018282A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5973849B2 (ja) | 座標入力装置および座標入力装置に用いられるセンサバー | |
US8791925B2 (en) | Coordinate input apparatus, control method therefor and program | |
US8941622B2 (en) | Coordinate input apparatus | |
JP6021531B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP6031293B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP6218590B2 (ja) | 座標入力装置及びその制御方法 | |
JP6334980B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2016018282A (ja) | 座標入力装置、その制御方法およびプログラム | |
JP2012048403A (ja) | 座標入力装置及びその制御方法、プログラム | |
US9958989B2 (en) | Coordinate input apparatus, control method thereof, and non-transitory computer-readable storage medium | |
JP5950767B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2015225466A (ja) | 座標入力装置、その制御方法、及びプログラム | |
JP2015230562A (ja) | 座標入力装置及びその制御方法、プログラム | |
US20170052642A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP5969794B2 (ja) | 座標入力装置 | |
JP2016058046A (ja) | 座標入力装置、座標入力装置の制御方法、プログラム、座標入力システム、座標入力システムの制御方法 | |
JP5629595B2 (ja) | 座標入力装置 | |
JP2015156115A (ja) | 座標入力装置 | |
JP5517834B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2016045894A (ja) | 座標入力装置、座標入力装置の制御方法およびプログラム | |
JP2017041078A (ja) | 座標入力装置、情報処理方法及びプログラム | |
JP5738112B2 (ja) | 座標入力装置及びその制御方法、プログラム | |
JP2017045336A (ja) | 入力装置及び検出方法 | |
JP2017045152A (ja) | 座標入力装置、情報処理方法及びプログラム | |
JP2015022577A (ja) | 座標入力装置、座標入力装置の制御方法、プログラム |