座標入力装置及びその制御方法、プログラム
【課題】 着脱式の座標入力装置を複数使用して、それらの座標入力領域の重複領域が可変する場合でも、全座標入力領域において、不連続な軌跡とならない描画を可能とする座標入力装置及び制御方法、プログラムを提供する。
【解決手段】 座標入力領域に画像を表示する。座標入力領域において、指示具により入力された座標値を検出する複数のセンサ部の内、少なくとも2つのセンサ部の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、表示部により重複領域を検出するための重複領域検出用画像を表示し、重複領域検出用画像に対して、指示具により入力された座標値を検出することによって、重複領域を検出する。
【解決手段】 座標入力領域に画像を表示する。座標入力領域において、指示具により入力された座標値を検出する複数のセンサ部の内、少なくとも2つのセンサ部の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、表示部により重複領域を検出するための重複領域検出用画像を表示し、重複領域検出用画像に対して、指示具により入力された座標値を検出することによって、重複領域を検出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、 座標入力領域に対して指示具により入力された座標値を検出する座標入力装置及びその制御方法、プログラムに関するものである。
【背景技術】
【0002】
座標入力面に、指示具(例えば、専用入力ペン、指等)によって指示して座標を入力することで、接続されたコンピュータの制御をしたり、文字や図形等を書き込むために用いられる座標入力装置が存在する。
【0003】
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具を用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【0004】
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、例えば、特許文献1がある。この特許文献1では、座標入力領域の外側に再帰性反射シートを設け、座標入力領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出する。そして、その検出結果に基づいて、その遮蔽物の指示位置を決定する構成が開示されている。
【0005】
また、特許文献2や3等にあるように、再帰反射部材を座標入力領域周辺に構成し、再帰反射光が遮光される部分(遮光部分)の座標を検出する座標入力装置が開示されている。
【0006】
これらの装置において、例えば、特許文献2では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献3では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
【0007】
ここで、特許文献1乃至3のような、遮光位置を検出して座標を算出する方式を、以下、遮光方式と称する。
【0008】
上述した座標入力装置のシステムとして、フロントプロジェクタ等の投影装置により座標入力装置の座標入力面であるスクリーン機能を有するボードに投影し、投影画像に対して、直接的に入力が可能な構成とする場合が考えられる。
【0009】
このようなシステムは、比較的安価に画面を大型化することができるため、複数人で使用する会議や、ネットワークに接続されたビデオカメラ等の撮像装置を用いた複数人で行う遠隔会議などに利用されている。
【0010】
但し、上述した用途においては、ユーザーの要求が満たされているわけではない。遠隔地にある会議室の人物映像があたかも同一空間の会議室に存在するかのような仮想会議室の臨場感をさらに高めたい、表示できる情報量を増やしたいといったような要求があることから、さらなる大画面化が望まれている。
【0011】
しかしながら、上述した遮光方式の座標入力装置においては、座標入力領域を制限無く大きくできるわけではなく、受光部では、座標入力領域内の遮蔽物の指示位置を算出できる程度の光量分布を得る必要がある。光量は、光を照明する照明部の発光強度、再帰反射部材の再帰反射効率、受光部の受光感度等の各構成要素により決定される。従って、座標入力領域の1面のサイズは、これらの各構成要素の制限によって決まることになる。
【0012】
従って、大画面化のための実用的なシステム構成として、1面の座標入力領域を有する座標入力装置のシステムを横に並べるように組み合わせて、画面を横長にする構成とすることが考えられる。
【0013】
このような横長化の構成として、特許文献4には、複数台の光遮断検出装置を、互いの表示領域がほぼ連続するように連接し、その境界部を両面に再帰反射部材が設けられた仕切部材により仕切る構成が開示されている。
【0014】
また、特許文献5には、座標入力領域に重なり領域があるように複数のセンサユニットが周囲に配置された横長タッチパネルの指示位置検出システムの構成が示されている。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】米国特許第4507557号公報
【特許文献2】特開2000−105671号公報
【特許文献3】特開2001−142642号公報
【特許文献4】特許登録第4167789号公報
【特許文献5】米国特許第7355593号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
1面の座標入力装置を有する座標入力装置を複数個並べて2面以上の横長のマルチ画面システムを構成する場合、従来の3辺に再帰反射部材がある構成(特許文献4)では、隣接させた繋ぎ目に再帰反射部材があるので座標入力面が断続的となる。そこで、2面の座標入力領域に跨って入力するときに操作性が低下しないように、隣接する部分には、再帰反射部材を構成せず、別の対向する辺の再帰反射部材のそれぞれの両端にセンサユニットを設ける構成が考えられる。
【0017】
しかしながら、横長のマルチ画面システムに構成するときに、単に1面の座標領域を複数並べて2面に構成しただけでは、必然的に装置構成が大型化してしまう。上述したように、装置構成を横長に構成する一方で、この構成を小型化して可搬性を有する装置構成にしたいという要求があることも事実である。
【0018】
ここで、座標入力装置をホワイトボード等に取り付け、取り外しが可能な着脱式とすることが考えられる。このように着脱式の装置構成においては、ユーザーがシステムを使用したいときにホワイトボード等に装置を取り付けて使用できる。しかしながら、このときの取り付け方法は、ユーザーにより様々で、工場で組み立てたように、座標入力装置を構成するセンサユニット等の構成部品が精度良く取り付けられるとは限らない。
【0019】
尚、着脱式の装置構成とするために、センサユニットを再帰反射部材の両端に構成したバー状のセンサユニットを座標入力領域の上下に構成することが考えられる。このとき、各センサユニットが検出する座標入力領域は重なり領域を有するように構成されるのが一般的である。この重なり領域では、センサユニットの組み合わせで複数の座標値が検出される。しかしながら、各センサユニットのバラツキのため、この座標値の処理の仕方によっては、重なり領域の境界において、検出した座標値を連続して出力した場合の軌跡に段差が生じて不連続になることがある。
【0020】
特許文献5には、再帰反射部材を用いない方式ではあるが、座標入力領域の重なり領域において、各センサユニットの組み合わせで複数の座標が検出された場合に、該座標値に対する補正方法に関しての記載がある。この補正方法は、既知の重なり領域の境界からの距離に応じて予め設定済の係数にて重み付け平均する内容である。しかしながら、上述したような着脱式の座標入力装置においては、ユーザーの取り付け方法で重なり領域が変わってしまうので、上記の補正が適用できない。
【0021】
本発明は上記の課題を解決するためになされたものである。その目的は、着脱式の座標入力装置を複数使用して、それらの座標入力領域の重複領域が可変する場合でも、全座標入力領域において、不連続な軌跡とならない描画を可能とする座標入力装置及び制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【0022】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置であって、
前記座標入力領域に画像を表示する表示手段と、
前記指示具により入力された座標値を検出する複数のセンサ手段と、
前記座標入力領域において、前記複数のセンサ手段の内、少なくとも2つのセンサ手段の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示手段により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出手段と
を備える。
【発明の効果】
【0023】
本発明によれば、着脱式の座標入力装置であって、分割された入力領域の重複領域が可変する場合であっても、全入力領域において、不連続な軌跡とならない描画を可能とする座標入力装置を提供できる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施形態1の座標入力装置の概略構成を示す図である。
【図2】本発明の実施形態1のセンサユニットの詳細構成を示す図である。
【図3】本発明の実施形態1の制御・演算ユニットの構成及びその動作を説明するための図である。
【図4】本発明の実施形態1の光量分布を説明するための図である。
【図5】本発明の実施形態1の各センサユニットの組み合わせで座標計算可能な座標入力領域の座標検出範囲を示す図である。
【図6】本発明の実施形態1の座標入力領域上に定義する座標のセンサユニットとの位置関係を示す図である。
【図7】本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
【図8】本発明の実施形態1の座標入力領域において各センサユニットが検出する範囲が重複する重複領域の検出方法について説明するための図である。
【図9】本発明の実施形態1の重複領域検出処理を示すフローチャートである。
【図10】本発明の実施形態1の重複領域における座標補正処理について説明するための図である。
【図11】本発明の実施形態2を説明するための図である。
【図12】本発明の実施形態2を説明するための図である。
【図13】本発明の実施形態3を説明するための図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0026】
<実施形態1>
<装置構成の概略説明>
本発明の実施形態1の座標入力装置の概略構成について図1を用いて説明する。
【0027】
図1中、1A〜1Dは投光部及び受光部を有するセンサユニット(センサ部)であり、座標入力領域4に対して互いに所定の距離離されて設置されている。センサユニット1Aと1D及び1Bと1Cはそれぞれ、制御・演算を行う制御・演算ユニット2A及び2Bに接続され、制御信号を制御・演算ユニット2A及び2Bから受信すると共に、検出した信号を制御・演算ユニット2A及び2Bに送信する。
【0028】
3A及び3Bは、再帰反射部であって、入射光を到来方向に反射する再帰反射面を有し、それぞれのセンサユニット1A〜1Dから投光された光を、センサユニット1A〜1Dに向けて再帰的に反射する。反射された光は、集光光学系とラインCCD等の構成部品によって構成されたセンサユニットの受光部によって1次元的に検出され、その光量分布が制御・演算ユニット2A及び2Bに送られる。
【0029】
4は座標を入力する座標入力領域であり、座標入力領域4に対する指示入力が、センサユニット1A〜1Dによって検出される。
【0030】
実施形態1において、再帰反射部3A及び3Bは、座標入力領域4の2辺に構成されており、センサユニット1A及び1Dは、2辺の再帰反射部3A及び3Bのうち一方の再帰反射部3Bに対して投光した光を受光する。同様に、センサユニット1B及び1Cは、もう一方である再帰反射部3Aに対して投光した光を受光する。
【0031】
尚、座標入力領域4における指等の指示具による入力指示の座標を算出するために用いるセンサユニット1A〜1Dは、図示の如く座標入力領域4の外側に配置されている。そして、座標入力領域4をPDPやリアプロジェクタ、LCDパネル等の表示装置(表示部)の表示画面で構成したり、フロントプロジェクタで画像を投影したりすることで、インタラクティブな座標入力装置として、利用可能となっている。
【0032】
このような構成において、座標入力領域4に指等の指示具による入力指示がなされると、投光部から投光された光が遮られ、再帰反射による反射光が得られなくなるため、入力指示位置のみ光量が得られなくなる。
【0033】
各制御・演算ユニット2A及び2Bは双方にデータを通信する無線通信部を有する。制御・演算ユニット2A及び2Bは、センサユニット1A〜1Dの光量変化から、入力指示された部分の遮光範囲を検出し、同遮光範囲内での検出点を特定して、それぞれの遮光範囲とセンサユニットとの間の角度を算出する。算出された角度及びセンサユニット間の距離等から、座標入力領域上の指示具の指示位置の座標を算出し、表示装置に接続されているPC等の情報処理装置に、USB等のインタフェースを経由して指示位置の座標値を出力する。
【0034】
このようにして、指等の指示具によって、画面上に線を描画したり、アイコンの操作をする等の情報処理装置の操作が可能になる。
【0035】
<センサユニットの詳細説明>
次に、センサユニット1A〜1Dの構成について、図2を用いて説明する。尚、センサユニット1A〜1Dは、大きく分けて投光部と受光部から構成される。
【0036】
図2は本発明の実施形態1のセンサユニットの詳細構成を示す図である。
【0037】
図2(a)は、センサユニット1A〜1Dそれぞれの投光部100を示している。101は赤外光を発する赤外LEDであり、投光レンズ102によって、再帰反射部3に向けて所定範囲に光を投光する。ここで、センサユニット1A〜1D中のそれぞれの投光部100は、この赤外LED101と投光レンズ102によって実現される。
【0038】
そして、投光部100より投光された赤外光は、再帰反射部3により到来方向に再帰的に反射され、センサユニット1A〜1D中の受光部200によって、その光を検出する。
【0039】
図2(b)は、センサユニット1A〜1Dそれぞれの受光部200を示している。受光部200は、1次元のラインCCD103、集光光学系としての受光用レンズ104、入射光の入射方向を概略制限する絞り105、及び可視光等の余分な光(外乱光)の入射を防止する赤外フィルター106からなる。
【0040】
そして、再帰反射部3によって反射された光は、赤外フィルター106、絞り105を抜けて受光用レンズ104によって、ラインCCD103の検出素子面上に集光される。
【0041】
図2(c)は、図1のセンサユニット1A及び1B側から見た断面図である。センサユニット1Aの赤外LED101Aからの光は、投光レンズ102Aにより、座標入力面に略平行に制限された光束として、主に再帰反射部3Bに対して光が投光されるように構成されている。同様に、センサユニット1Bの赤外LED101Bからの光は、投光レンズ102Bにより、主に再帰反射部3Aに対して光が投光されるように構成されている。
【0042】
ここで、実施形態1の場合、投光部100と受光部200は、座標入力面である座標入力領域4の垂直方向に対し重ねた配置構成となっている。そして、正面方向(座標入力面に対し垂直方向)から見て、投光部100の発光中心と受光部200の基準位置(つまり、角度を計測するための基準点位置に相当し、実施形態1にあっては絞り105の位置)が一致する構造となっている。
【0043】
また、投光部100により投光された座標入力面に略平行な光束であって、座標入力面内方向に所定角度方向に投光されている光は、再帰反射部3により光の到来方向に再帰反射される。そして、赤外フィルター106A(106B)、絞り105A(105B)、受光用レンズ104A(104B)を経て、ラインCCD103A(103B)の検出素子面上に集光、結像することになる。
【0044】
従って、ラインCCD103の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、ラインCCD103を構成する各画素の画素番号が角度情報を示すことになる。
【0045】
尚、図2(c)に示す投光部100と受光部200の距離Lは、投光部100から再帰反射部3までの距離に比べて十分に小さな値であり、距離Lを有していても十分な再帰反射光を受光部200で検出することが可能な構成となっている。
【0046】
以上説明したように、センサユニット1A〜1Dは、投光部100と、各々の投光部100で投光された光を各々検出する受光部200を有する構成である。
【0047】
<制御・演算ユニットの説明>
図1の制御・演算ユニット2A及び2Bとセンサユニット1A〜1Dの間では、CCD制御信号、CCD用クロック信号とCCDの出力信号、及び、LED駆動信号がやり取りされている。尚、制御・演算ユニット2Aは、センサユニット1A及び1Dと接続されている。同様に、制御・演算ユニット2Bは、センサユニット1B及び1Cと接続されている。
【0048】
図3(a)は本発明の実施形態1の制御・演算ユニットのブロック図である。尚、図3(a)では、センサユニット1Aと1Dに接続される制御・演算ユニット2Aの構成を例に挙げて説明するが、制御・演算ユニット2Bも同様の回路構成となっている。
【0049】
CCD制御信号はワンチップマイコン等の構成部品で構成されるCPU41から出力され、CCDのシャッタタイミングやデータの出力制御等を行っている。CCD用クロック信号はクロック発生回路CLK42からセンサユニットに送信されるとともに、CCDとの同期をとって、各種制御を行うためにCPU41にも入力されている。LED駆動信号はCPU41から、センサユニット1Aと1Dの赤外LED101に供給されている。
【0050】
センサユニット1Aと1Dの受光部200からの検出信号は、制御・演算ユニット2AのA/Dコンバータ43に入力され、CPU41からの制御によって、デジタル値に変換される。変換されたデジタル値はメモリ44に記憶され、角度計算に用いられる。そして、計算された角度から、座標値が算出され、外部PC等の情報処理装置にシリアルインタフェース48等の通信インタフェースを介して出力される。尚、シリアルインタフェース48は、制御・演算ユニット2A、2Bのいずれか1つがPCと接続される。
【0051】
ここで、図1に示したように、実施形態1においては、センサユニット1Aと1Dとそれに対する制御・演算ユニット2Aと、センサユニット1Bと1Cとそれに対する制御・演算ユニット2Bが、上部と下部にそれぞれ分離して配置された構成となっている。
【0052】
上部と下部の間の制御・演算ユニット2Aと2Bの通信には、無線通信部が用いられる。実施形態1では、無線通信部の1つである赤外線通信インタフェース46を介して、サブCPU45で処理されたデータにより、制御・演算ユニット2Aと2B間のやりとりが行われる。
【0053】
尚、各制御・演算ユニット2Aと2Bは、マスター・スレーブ制御にて動作する。実施形態1の場合は、制御・演算ユニット2Aがマスターで、その他の制御・演算ユニット2Bがスレーブである。また、各制御・演算ユニット2Aと2Bは、マスター・スレーブのどちらにもなりうるが、ディップスイッチ(不図示)等の切替部で、CPU41のポートに切替信号を入力することでマスター/スレーブを切り替えることが可能となっている。
【0054】
マスターである制御・演算ユニット2Aからは、各センサユニット1A〜1Dの制御信号を送信するタイミングを制御する制御信号がスレーブの制御・演算ユニット2Bに赤外線通信インタフェース46を介して送信される。そして、上述の手順に従って座標値が算出され、PC等の情報処理装置に送信される。
【0055】
<光量分布検出の説明>
図3(b)は制御信号のタイミングチャートである。
【0056】
51、52、53がCCD制御用のCCD制御信号であり、SH信号(51)の間隔で、CCDのシャッタ解放時間が決定される。52、53はそれぞれ上部センサユニット(センサユニット1Aと1D)と下部センサユニット(センサユニット1Bと1C)へのゲート信号であり、CCD内部の光電変換部の電荷を読出部へ転送する信号である。
【0057】
54、55は赤外LEDの駆動信号であり、SH信号(51)の最初の周期で上部センサユニットの赤外LEDを点灯するためにLEDU信号(54)がLED駆動回路を経て赤外LEDに供給される。そして、次の周期で下部センサユニットの赤外LEDを点灯するためにLEDD信号(55)がLED駆動回路を経て赤外LEDに供給される。双方の赤外LEDの駆動が終了した後に、ラインCCDの信号がセンサユニットから読み出される。従って、上部センサユニットと下部センサユニットとでは、異なるタイミングで投光(56Uと56Dの投光期間)されて、各センサユニットの各ラインCCDが受光した複数のデータ(光量分布)が読み出されることになる。
【0058】
読み出される信号は、入力がない場合には、それぞれのセンサユニット1A〜1Dからの出力として、図4(a)のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部3A及び3Bの特性や赤外LED101の特性、また、経時変化(反射面の汚れ等)によって、光量分布は変化する。
【0059】
同図においては、Aレベルが最大光量のレベルであり、Bレベルが最低光量のレベルとなる。つまり、反射光のない状態では、得られるレベルがBレベル付近になり、反射光量が増えるほどAレベルの方向になっている。このように、ラインCCD103から出力されたデータは、逐次A/D変換されCPU41にデジタルデータとして取り込まれる。
【0060】
図4(b)は指等の指示具で入力を行った場合、つまり、再帰反射光を遮った場合の出力の例である。C部分が指等の指示具で反射光が遮られたためその部分のみ、光量が低下している。検出は、この光量分布の変化から行う。
【0061】
具体的には、図4(a)のような入力の無い初期状態を予め記憶しておいて、それぞれのサンプル期間に図4(b)のような変化があるか初期状態との差分によって検出し、変化があったらその部分を入力点として入力角度を決定する演算を行う。
【0062】
<角度計算の説明>
センサユニット1A〜1Dに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
【0063】
上述したように、センサユニット1A〜1Dが検出する光量分布は、経時変化等の要因で一定ではないため、その初期状態の光量分布は、例えば、システムの起動時毎にメモリ44に記憶することが望ましい。そうすることで、例えば、再帰反射面がほこり等で汚れていても、全く反射しないような場合を除いて使用可能になる。
【0064】
以下、一つのセンサユニット1Aによる指示具の角度計算について説明するが、他のセンサユニット1B〜1Dでも同様の角度計算を行っていることは言うまでもない。
【0065】
電源投入時、入力の無い(遮光部分がない)状態で、まず、センサユニット1A内の投光部100からの投光を停止している状態で、受光部200のラインCCD103の出力をA/D変換して、この値をBas_Data[N]として、メモリ44に記憶する。
【0066】
尚、この値は、受光部200(ラインCCD103)のバイアスのばらつき等を含んだデータとなり、図4(a)のBレベル付近のデータとなる。ここで、NはラインCCD103を構成する画素の画素番号であり、有効な入力範囲(有効範囲)に対応する画素番号が用いられる。
【0067】
次に、投光部100からの投光を行っている状態で、受光部200の出力である光量分布をA/D変換して、この値をRef_Data[N]としてメモリ44に記憶する。この値は、例えば、図4(a)の実線で示されるデータである。
【0068】
そして、このメモリ44に記憶されたBas_data[N]とRef_data[N]とを用いて、まずは、指示具による入力の有無、かつ遮光範囲の有無の判定を行う。ここで、センサユニット1Aの出力のサンプル期間内のN番目の画素の画素データをNorm_Data[N]とする。
【0069】
まず、遮光範囲を特定するために、画素データの変化の絶対量によって、遮光範囲の有無を判定する。これは、ノイズ等による誤判定を防止し、所定量の確実な変化を検出するためである。
【0070】
具体的には、画素データの変化の絶対量を、ラインCCD103の各々の画素において、以下の計算を行い、予め決定してある閾値Vthaと比較する。
【0071】
Norm_Data[N] = Norm_Data[N] - Ref_Data[N] (1)
ここで、Norm_Data[N]は、ラインCCD103の各画素における絶対変化量である。
【0072】
この処理は、ラインCCD103の各画素の絶対変化量Norm_data_a[N]を算出し、それを閾値Vthaと比較するだけである。従って、その処理時間をさほど必要とせず、入力の有無の判定を高速に行うことが可能である。そして、特に、閾値Vthaを初めて超えた画素が所定数を超えて検出された場合に、指示具の入力があると判定する。
【0073】
次に、より高精度に指示具による入力を検出するために、画素データの変化の比を計算して入力点の決定を行う。
【0074】
Norm_Data[N] = Norm_Data[N] / (Bas_Data[N] - Ref_Data[N]) (2)
この画素データに対して、閾値Vthrを適用して、遮光範囲に対応する画素データ分布の立ち上がり部と立下り部に対応する画素番号を取得する。そして、この両者の中央を指示具による入力に対応する画素とすることで、より正確な指示具の入力位置を決定することができる。
【0075】
図4(c)は、この比計算を終了した後の検出の例である。指示具による遮光範囲を検出するための閾値Vthrに対して、その閾値Vthrを横切る画素データ分布の立ち上がり部分がNr番目の画素、立ち下がり部分がNf番目の画素であるとする。
【0076】
この場合、両者の画素の中心画素Npを
Np = Nr + (Nf - Nr) / 2 (3)
のように計算してもよいが、そうすると、ラインCCD103の画素間隔が最小の分解能になってしまう。より高分解能に検出するために、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用いて、閾値Vthrを横切る仮想の画素番号を計算する。
【0077】
ここで、Nr板面の画素のデータレベルをLr、Nr−1番目の画素のデータレベルをLr−1とする。また、Nf番目の画素のデータレベルをLf、Nf−1番目の画素のデータレベルをLf−1とする。この場合、それぞれの仮想画素番号Nrv、Nfvは、
Nrv = Nr-1 + ( Vthr - Lr-1 ) / ( Lr - Lr-1 ) (4)
Nfv = Nf-1 + ( Vthr - Lf-1 ) / ( Lf - Lf-1 ) (5)
と計算できる。そして、これの仮想画素番号Nrv、Nfvの仮想中心画素Npvは、
Npv = Nrv + ( Nfv - Nrv ) / 2 (6)
で決定される。
【0078】
このように、閾値Vthrを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、閾値Vthrを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
【0079】
このようにして得られた遮光範囲の中心点を示す中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。
【0080】
後述する実際の座標計算では、角度そのものよりもその角度における正接(tanθ)の値を算出するほうが都合がよい。尚、画素番号から、tanθへの変換には、テーブル参照や変換式を用いる。この変換式は、例えば、高次多項式を用いると精度を確保できるが次数等は計算能力及び精度スペック等を鑑みて決定すればよい。
【0081】
ここで、5次多項式を用いる場合の例を示すと、5次多項式を用いる場合には係数が6個必要になるので、出荷時等にこのデータをメモリ44に記憶しておけばよい。5次多項式の係数をL5、L4、L3、L2、L1、L0としたとき、tanθは、
tanθ = (L5* Npr + L4) * Npr + L3) * Npr + L2) * Npr + L1) * Npr + L0 (7)
であらわすことができる。
【0082】
同様なことを、各々のセンサユニットに対して行えば、それぞれの角度データを決定できる。もちろん、上記例では、tanθを算出しているが、角度そのものを算出し、その後tanθを算出しても構わない。
【0083】
<座標計算方法の説明>
次に、画素番号から変換された角度データ(tanθ)から、指示具の位置座標を算出する座標算出方法について説明する。
【0084】
図5は本発明の実施形態1の各センサユニットの組み合わせで座標計算可能な座標入力領域の座標検出範囲を示す図である。
【0085】
図5に示すように、各センサユニットの投光及び受光範囲が交わる領域が座標計算可能な領域となる。従って、センサユニット1Cと1Dで座標計算可能な範囲は、図5(a)の斜線の範囲91である。同様に、センサユニット1Bと1Cで座標計算可能な範囲は、図5(b)の斜線の範囲92である。センサユニット1Aと1Bで座標計算可能な範囲は、図5(c)の斜線の範囲93である。センサユニット1Aと1Dで座標計算可能な範囲は、図5(d)の斜線の範囲94となる。
【0086】
図6は本発明の実施形態1の座標入力領域上に定義する座標のセンサユニットとの位置関係を示す図である。
【0087】
図6では、座標入力領域4の水平方向にX軸、垂直方向にY軸を定義し、座標入力領域4の中央を原点位置O(0,0)に定義している。そして、座標入力領域4の座標入力範囲の上辺及び下辺左右に、それぞれのセンサユニット1A〜1DをY軸に対称に取り付けてある。点Pの位置に入力があった場合、このときセンサユニット1Bと1Cにて遮光データが検出される。
【0088】
尚、そのセンサユニット1Bと1C間の距離はDhであらわされており、また、画面中央が画面の原点位置であり、P0(0,P0Y)は、センサユニット1Bと1Cの角度0の交点である。それぞれの角度をθL、θRとして、それぞれtanθL、tanθRを上記多項式を用いて算出する。このとき点Pの(x、y)座標は、
x = Dh * (tanθL + tanθR) / ( 1 + (tanθL * tanθR) (8)
y = - Dh * (tanθR - tanθL - ( 2 * tanθL * tanθR) )
/ ( 1+ ( tanθL * tanθR) ) + P0Y (9)
で計算される。
【0089】
尚、座標入力領域4によって、センサユニット1A〜1Dの組み合わせが変更になることは先述した通りであるが、センサユニット1A〜1Dの組み合わせで、座標算出式のパラメータが変更になる。
【0090】
例えば、センサユニット1Cと1Dで検出された遮光データで計算する場合は、計算式(8)、(9)において、図6に示した値を用いて、Dh→Dv、P0Y→P1Xの変換を行い、さらに計算されたx及びyは、相互に変換される。
【0091】
同様に、センサユニット1Aと1Bの組み合わせ、センサユニット1Aと1Dの組み合わせで遮光データが検出された場合も、パラメータを変更し、上記の計算式(8)、(9)にて計算することができる。
【0092】
尚、各センサユニットの組み合わせによる座標検出可能な座標入力領域は、座標検出範囲が重なる座標入力領域があるため、複数の座標が検出されることがあるが、この処理については、後で説明する。
【0093】
<座標算出処理の説明>
図7は本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
【0094】
まず、座標入力装置の電源が投入されると、ステップS102で、制御・演算ユニット2A及び2Bのポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。ステップS103で、ラインCCD103のCCD画素有効範囲を、例えば、メモリ44に予め記憶されている設定値から設定する。また、ラインCCD103の初期読込動作の初期読込回数を設定する。
【0095】
尚、この初期読込動作は、座標入力装置の起動時におけるラインCCD103の不要電荷除去を行うための動作である。ラインCCD103では、動作させていないときに不要な電荷を蓄積している場合があり、その電荷が蓄積されている状態で座標入力動作を実行すると、検出不能になったり、誤検出の原因となる。そこで、これを避けるために、ステップS104で、投光部100による投光を停止している状態で、所定回数の読込動作を実行する。これにより、不要電荷の除去を行う。
【0096】
ステップS105で、所定回数以上の読込を実行したか否かを判定する。所定回数以上の読込を実行していない場合(ステップS105でNO)、ステップS104に戻る。一方、所定回数以上の読込を実行した場合(ステップS105でYES)、ステップS106に進む。
【0097】
ステップS106で、ベースデータとして、投光部100による投光を停止している状態でのラインCCD103の画素データ(Bas_data[N])を取り込む。ステップS107で、ベースデータをメモリ44に記憶する。次に、ステップS108で、リファレンスデータとして、投光部100からの投光を行っている状態でのラインCCD103の画素データ(Ref_data[N])を取り込む。ステップS109で、リファレンスデータをメモリ44に記憶する。
【0098】
尚、この投光したときのデータは、上部のセンサユニットの組と下部のセンサユニットの組で異なるタイミングで投光してデータを取り込む。これは、上部のセンサユニットと下部のセンサユニットが対向する配置であるため、同時に投光してしまうと、互いの投光を互いの受光部にて検出してしまうことを避けるためである。
【0099】
そして、ステップS110で、全てのセンサユニットにおいて、リファレンスデータの取込が終了したか否かを判定する。終了していない場合(ステップS110でNO)、ステップS108に戻る。一方、終了した場合(ステップS110でYES)、つまり、全てのセンサユニットにおいてリファレンスデータの取込が終了した場合、ステップS111に進む。
ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことは言うまでも無い。この初期設定動作を経て、通常の座標入力動作状態に移行することになる。
【0100】
ステップS111で、座標入力サンプリング状態で、ラインCCD103の通常取込動作を実行して、画素データ(Norm_data[N])を取り込む。ステップS112で、全てのセンサユニットにおいて取込が終了したかどうかを判定する。終了していない場合(ステップS112でNO)、ステップS111に戻る。一方、終了した場合(ステップS112でYES)、つまり、全てのセンサユニットにおいて取込が終了した場合、ステップS113に進む。
【0101】
ステップS113で、全てのセンサユニットにおいて、リファレンスデータ(Ref_data[N])と画素データ(Norm_data[N])の差分値を計算する。ステップS114で、その差分値と上述の閾値Vthrに基づいて、指示具による入力(遮光部分)の有無を判定する。入力がない場合(ステップS114でNO)、ステップS111に戻る。一方、入力がある場合(ステップS114でYES)、ステップS115に進み、画素データの変化の比を、式(2)用いて計算する。
【0102】
ステップS116で、計算された画素データの変化の比に対して、指示具による遮光範囲に対応する画素データ分布の立ち下がりと立ち上がりの検出を行う。そして、検出された立ち下がり及び立ち上がりと、(4)、(5)及び(6)式を用いて、遮光範囲の中心となる仮想的な中心画素番号を決定する。そして、ステップS117で得られた中心画素番号から近似多項式よりTanθを計算する。
【0103】
ステップS118で、遮光領域が有りと判定されたセンサユニットの組み合わせから、式(8)、(9)においてセンサ間距離等のTanθ以外のパラメータが選択されて、計算式が変更される。そして、ステップS119で、センサユニットでのTanθ値から指示具の入力座標P(x,y)を、(8)及び(9)式を用いて算出する。
【0104】
ステップS120で、ステップS114で「入力有り」と判定されたセンサユニットの全ての組み合わせで座標計算が行われたか否かを判定する。全ての組み合わせで座標計算が終了していない場合(ステップS120でNO)、ステップS115に戻る。一方、全ての組み合わせで座標計算が終了した場合(ステップS120でYES)、ステップS121に進む。
【0105】
ステップS121で、重複領域であるか否かを判定する。重複領域である場合(ステップS121でYES)、ステップS122に進み、重複領域の処理が行われる。尚、これは、複数の座標値が計算された場合に後述する所定の手順に基づいて、座標値の平均等の処理を行う。一方、重複領域ではない場合(ステップS121でNO)、ステップS123に進む。
【0106】
次に、これまでの処理で出力された座標について、ステップS123で、座標入力領域4がタッチされたか否かを判定する。これは、例えば、マウスのボタンを押下せずにカーソルを移動させている状態のような近接入力状態と、左ボタンを押した状態であるタッチダウン状態の判定を行っている。実際には、先に得られた比の最大値が、ある所定値(例えば、0.5)を超えていればダウンと判定し、それ以下なら近接入力状態と判定する。この結果に従って、ステップS124でダウンフラグのセット、あるいはステップS1245でダウンフラグの解除を行う。
【0107】
ステップS126で、座標値とダウン状態が決定されたので、そのデータをホストPCへ出力する。この出力は、シリアル通信で送信しても良いし、任意のインタフェースで送信しても良い。データを受信したホストPC側では、ドライバが受信データを解釈して、カーソルの移動、マウスボタン状態の変更を、座標値、フラグ等のデータを参照して行うことで、PC画面の操作が可能になる。
【0108】
尚、ステップS126の処理が終了したら、ステップS111に戻り、以降、電源OFFまで、もしくは、操作者の意図によってリセット状態が設定されるまで、上記の処理を繰り返すことになる。
【0109】
ここで、この繰り返し周期を10[msec]程度に設定すれば、座標入力装置は100回/秒の周期で指あるいは指示具による指示座標を外部機器等に出力することが可能となる。
【0110】
<重複領域の検出に関する説明>
図8は本発明の実施形態1の座標入力領域において各センサユニットが検出する範囲が重複する重複領域の検出方法について説明するための図である。
【0111】
図8(a)において、87は上センサバーユニットであり、この上センサバーユニット87はセンサユニット1Aと1D、再帰反射部3、制御・演算ユニット2Aで構成されている。この上センサバーユニット87は、ホワイトボード等に、磁石等で取り付け、取り外しが可能な構成になっている。88は下センサバーユニットであり、上センサバーユニット87と同様の構成となっている。
【0112】
いま、ホワイトボード(不図示)に、図のように上センサバーユニット87と下センサバーユニット88を取り付けたとすると、座標入力装置の入力範囲は座標入力領域4となる。この入力範囲に、ユーザーは、例えば、フロントプロジェクタにて画像を投影表示することになる。ここでは、座標入力領域4を規定するための投影表示領域である投影画像81が示されている。この投影画像は、例えば、座標入力装置が接続されているPCから出力される。
【0113】
そして、投影画像81には、重複領域を検出するためにユーザーが操作するための投影画像である重複領域検出用画像82〜85が表示されている。この重複領域検出用画像82〜85を図の(1)〜(4)の順番に矢印の方向に線をなぞる操作をユーザーが行う。尚、投影画像には、ユーザーに操作手順等を促すメッセージが出力されていてもよい。
【0114】
いま、図のように、センサユニット1A〜1Dが配置されたとき、重複領域は、斜線で示す領域86となる。各センサユニット1A〜1Dの検出可能範囲は、各センサユニット1A〜1Dから引き出されている2本の線の内側となる(再帰反射部から光が戻ってくる領域)。重複領域86は、座標入力領域4において、検出不能領域ができないように、各センサユニット1A〜1Dの検出可能範囲が重なるようにセンサバーユニットの各構成要素が配置されて形成されることになる。
【0115】
図8(b)に、各重複領域検出用画像82〜85をユーザーがなぞったとき、検出される座標値について表形式で示す。いま、重複領域検出用画像82が記載されているセルに注目し、ユーザーが重複領域検出用画像82をなぞる操作をした場合の検出について説明する。図において、重複領域の境界を点線で示している。このとき、重複領域検出用画像の線分画像を操作したときに、ペン等の指示具がこの重複領域との境界から境界までの範囲(図の黒丸の位置から黒丸の位置)においては、3つのセンサユニット1A、1B、1Dにおいて遮光が検出される。つまり、3つのセンサユニット1A、1B、1Dにいおて、線分画像への入力の有無が検出される。
【0116】
上述のように検出した座標値をメモリ44に記憶するタイミングは、線分画像の範囲のうち、変化点でのみ行われる。すなわち、センサユニット1Aと1Dで検出される状態から、センサユニット1A、1B、1Dで検出される状態になった変化点において、座標値をメモリ44に記憶する。この場合、座標値P1.AD(センサユニット1Aと1Dで計算した座標値)をメモリ44に記憶する。また、センサユニット1A、1B、1Dで検出される状態からセンサユニット1Aと1Bで検出される状態になった変化点においても、先述の変化点と同様に座標値をメモリ44に記憶する。この場合、座標値P1.BA(センサユニット1Aと1Bで計算した座標値)をメモリ44に記憶する。同様の処理を重複領域検出用画像83、84、85についても行う。
【0117】
こうして、図8(b)に示す全ての座標値の検出が終了したら、重複領域の処理に用いるための重複領域判定式が算出される。この重複領域判定式は、4つの直線から構成される。尚、各直線は、先に検出した座標値の2点づつの組み合わせで算出される。各直線を算出する組合わせは、座標値P1.BAとP3.BC、座標値P1.ADとP3.CD、座標値P2.ABとP4.AD、座標値P2.BCとP4.DCという組合わせになる。
【0118】
図9は本発明の実施形態1の重複領域検出処理を示すフローチャートである。
【0119】
この重複領域検出処理は、先述したセンサバーユニットを取り付けた後に、直ちに行われる。例えば、先述した重複領域検出用画像を表示するアプリケーションをPCにインストールすることにより動作する。また、このアプリケーションは、制御・演算ユニット2A及び2Bと双方にコマンドを送受信可能な構成となっている。制御・演算ユニット2A及び2B側では、アプリケーションの起動や終了、先述した指示具の検出座標値、重複領域検出用画像の表示切替タイミング等のやりとりが、シリアルインタフェース48を介して、CPU41で処理される。
【0120】
先述したように、重複領域検出用画像を表示するアプリケーションをPCで起動すると、制御・演算ユニット2A及び2Bにおいては、重複領域検出処理を開始する。
【0121】
ステップS902で、変数のクリア等の初期設定を実行する。ステップS903で、重複領域検出用画像を表示するアプリケーションからのコマンドを受信する。このコマンドは、先述した重複領域検出用画像82〜85のうち、どの重複領域検出用画像を対象としているかを示している。そして、どのセンサユニットの重複領域を検出するか、対象となるセンサユニットが決定される。
【0122】
ステップS904で、遮光検出状態でかつダウン状態であるか否かを判定する。ダウン状態でない場合(ステップS904でNO)、ダウン状態になるまで処理を繰り返す。一方、ダウン状態である場合(ステップS904でYES)、ステップS905に進み、上述のように座標値を算出する。
【0123】
ステップS906で、ステップS905で算出された座標値が、ステップS903で設定された対象となるセンサユニットの変化点であるか否かを判定する。すなわち、遮光が検出されるセンサユニットの数が、2つから3つまたは3つから2つに変化した場合かどうかを判定する。変化点である場合(ステップS906でYES)、ステップ907で、算出された座標値をメモリ44に記憶する。一方、変化点でない場合(ステップS906でYES)、メモリ44に記憶せずにステップ908に進む。
【0124】
ステップS908で、変化点の座標値として所定数の座標値が検出されたか否かを判定する。この場合、遮光を検出するセンサユニットの数が2つから3つに変化した点と3つから2つに変化した2点の座標値を検出したかどうかを判定することになる。座標値が所定数でない(例えば、1点のみである)場合(ステップS908でNO)、ステップS904に戻る。一方、座標値が所定数(例えば、2点である)場合は、ステップS909に進む。
【0125】
ステップS909で、全ての重複領域検出用画像において、座標値の検出が終了したか否かを判定する。重複領域検出用画像の検出が終了していない場合(ステップS909でNO)、ステップS903に戻り、コマンドを受信して、対象となるセンサユニットを切り替える。一方、重複領域検出用画像の検出が終了した場合(ステップS909でYES)、ステップS910に進み、各座標値の組合わせで重複領域判定式を算出する。そして、重複領域検出処理を終了する。
【0126】
以上説明した重複領域検出処理は、実施形態1のセンサバーユニットをホワイトボードに設置した直後に行われ、この処理により、重複領域判定式を算出し、この重複領域判定式がメモリ44に記憶される。そして、通常の使用時には、検出された座標値が重複領域であるか否か、また、重複領域で検出された複数の座標値の処理(図7のステップS121及びステップS122)が、該重複領域判定式との関係で決定する所定の手順に基づいて行われることになる。
【0127】
次に、上述した判定において、重複領域であると判定された場合の座標補正処理について図10を用いて説明する。先述したように重複領域検出後に算出される重複領域判定式により、検出された座標値が、図10(a)の斜線の領域の重複領域と判定された場合には、重複領域の座標補正処理が行われる。尚、この処理は、図7のステップS122に対応する。
【0128】
図10(a)に示すように、ユーザーが軌跡1000のように右斜め上から左斜め下に向かって入力を行ったとすると、この軌跡1000は、重複領域を経由して入力がなされたことになる。すなわち、この場合、センサユニット1A及び1Dで検出される領域から、センサユニット1C及び1Dで検出される領域に向かって軌跡1000が入力された場合を示している。
【0129】
このときの、座標補正処理について、図10(b)を用いて説明する。図10(b)において、重複領域と非重複領域との境界を1004と1005で示している。また、センサユニット1A及び1Dで検出される座標値の軌跡は1001で示し、センサユニット1C、1Dで検出される座標値の軌跡は1002で示している。また、重複領域の幅は1006で示されていて、この距離をDaとする。
【0130】
実施形態1における重複領域の座標補正処理は、検出された複数の座標値の平均値に対して、重複領域判定式からなる境界からの垂線方向の距離に応じて各座標値に対して重み付けが設定される加重平均にて処理を行う。重複領域において、上記処理を施した結果の軌跡が1003で示した軌跡となる。重複領域における座標算出式は、以下の通りである。
【0131】
PA = (P1*k1 + P2*k2) / (k1+k2) (10)
ここで、PAは、加重平均処理後の座標値であり、軌跡1003を形成する座標値に相当する。また、P1は軌跡1001を形成する座標値、P2は軌跡1002を形成する座標値に相当する。尚、k1とk2は加重平均の重み付け係数である。
【0132】
この重み付け係数k1とk2の算出について説明する。検出された座標値が、図10(b)に示すP1aとP2aであるとすると、その座標値の平均値として、P12aを算出する。そして、この座標値P12aから、境界1004までの距離Dp12を算出する。いま、この距離Dp12と幅に相当する距離Daに対する割合が、上記重み付け係数に相当する。従って、k1とk2は以下の式から算出される。
【0133】
k1 = 1 - ( Dp12 / Da ) (11)
k2 = Dp12 / Da (12)
従って、座標補正処理を施した座標PAaは、上記算出式(10)に、P1=P1a、P2=P2aと上記k1、k2を代入することによって算出できる。
【0134】
ここで、座標入力領域の中心部分の重複領域においては、すべてのセンサユニットで、遮光が検出されることになる。この場合は、上述した重複領域毎に算出された座標値をさらに平均処理すればよい。
【0135】
以上説明したように、実施形態1によれば、センサユニットを設置した状態において重複領域を検出する。そして、通常の座標検出状態において、重複領域での座標補正処理を行うことで、センサユニットが切り替わる場合であっても、スムーズな軌跡となって、描画することが可能となる。
【0136】
<実施形態2>
実施形態1では、座標入力領域において各センサユニットが検出する範囲が重複する重複領域の検出方法において、所定の画像(L字(及びその鏡像、点対称))の重複領域検出用画像が入力領域の4隅に表示される構成について説明した。実施形態2では、重複領域検出用画像が、連続した線分画像の1ストロークで構成されており、ユーザーがより簡便な操作で重複領域が検出できる例について説明する。
【0137】
図11は本発明の実施形態2を説明するための図である。
【0138】
図11(a)において、111は重複領域検出用画像である。ユーザーは矢印の方向に1ストロークで線分画像をなぞることになる。尚、実施形態1では、重複領域検出用画像毎にPCからコマンドを受信して、対象となるセンサユニットを切り替えているが、実施形態2の重複領域検出用画像は、1ストロークなので、順次対象となるセンサユニットを切り替えて重複領域を検出すればよい。
【0139】
また、実施形態2の重複領域検出用画像111は、投影画像81の領域を概ねカバーするように投影画像81の外周に表示しているため、座標入力領域4内に収まるように投影画像81が表示されていれば、重複領域は必ず検出することができる。
【0140】
図11(b)において、116は重複領域検出用画像である。重複領域検出用画像116は、楕円形状で角部が無いので、ユーザーによっては、上記より、さらに操作がしやすい形状である。尚、この重複領域検出用画像116の場合でも、センサバーユニットや投影画像が回転して設置されていても、全ての重複領域を検出可能である。
【0141】
尚、上述した両者の重複領域検出用画像の入力開始点は、重複領域が生じにくい領域に設定している。これは、入力と非入力の過渡状態を避け、安定した入力をしている状態で、重複領域を検出できるという効果がある。
【0142】
しかしながら、センサバーユニットの設置位置と投影画像との位置関係によっては、重複領域検出時の入力開始点において、いきなり重複領域と判定してしまう可能性がある。この状態の一例を図12(a)に示す。図12(a)に示すように、座標入力領域4に対して、投影画像81が図のように表示されている場合、重複領域検出用画像121の入力開始点122が重複領域86の範囲内となっている
この場合は、上述したように非安定状態の検出となる可能性があるとともに、実施形態1で説明したようなセンサユニットの検出変化点を検出できない。従って、この場合は、重複領域検出用画像121の入力開始点を変更して表示を更新する。この状態の一例を図12(b)に示す。図12(b)に示すように、重複領域検出用画像123の入力開始点124が、重複領域86の範囲外となっている。尚、更新後も重複領域と検出された場合には、重複領域と判定されない入力開始点となるまで、繰り返し重複領域検出用画像123を更新する。
【0143】
尚、センサバーユニットの設置位置と投影画像との位置関係、さらには重複領域検出用画像の線分画像によっては、入力終了点において、重複領域と判定される場合も想定される。この場合も、上述したの同様に、重複領域と判定されない入力終了点となるまで、繰り返し重複領域検出用画像を更新すればよい。
【0144】
ここで、この種の座標入力装置は、PCの投影画像と座標入力装置が出力する座標値とを合わせる(指示位置とカーソル表示とを一致させる)作業が必要である。この作業を画面位置合わせ(キャリブレーション)と一般的に呼んでいる。
【0145】
このキャリブレーション処理を、先述した重複領域検出時に、同時に行ってもよい。キャリブレーションは、座標入力領域において4点以上検出できれば、画面の座標系と合わせた座標入力装置の座標系を形成し、精度よく座標補正することができる。
【0146】
図11(a)においては、キャリブレーションポイントを112〜115で示している。すなわち、重複領域検出作業中に、4隅の4点を経由した場合に、キャリブレーションポイントとして、メモリ44に記憶する。
【0147】
また、図11(b)では、キャリブレーションポイントを117〜120で示している。図11(a)で説明したのと同様に、これらの点を経由したとき、キャリブレーションポイントとして、メモリに記憶する。尚、図11(b)の例では、分割された座標入力領域の各領域の中央付近にキャリブレーションポイントを設定しているので、分割された全ての座標入力領域に対して、キャリブレーションポイントを取得できる。従って、各センサユニットのバラツキが平均化してキャリブレーションの補正に反映されるという効果がある。
【0148】
重複領域検出用画像は、上述したものに限定されるわけではない。重複領域を検出できるように線分画像が形成されていればよく、例えば、重複領域を跨ぐように4隅に直線の線分画像を表示するなどでもよい。
【0149】
尚、重複領域検出用画像とする線分画像が短いと、センサバーユニットの設置の仕方によっては、線分画像の間に重複領域が検出されない場合が生じることが考えられる。その場合には、重複領域が検出できなかった旨をユーザーに報知して、センサバーユニットを取り付けし直すメッセージを表示するなどしてもよい。
【0150】
以上説明したように、実施形態2によれば、実施形態1で説明した効果に加えて、ユーザーがより簡便な操作で重複領域が検出できる。
【0151】
<実施形態3>
センサバーユニットの設置の仕方、または投影画像の表示の仕方によっては、座標入力領域に対して、投影画像がはみ出すことが想定される。本実施形態では、重複領域検出処理において、この状態を検知して、ユーザーに報知する例について説明する。
【0152】
図13は本発明の実施形態3を説明するための図である。
【0153】
図13において、131は重複領域検出用画像である。この場合、座標入力領域4に対して、投影画像81の右側の一部がはみ出している状態である。
【0154】
重複領域検出処理において、この状態を検出可能である。いま、重複領域検出用画像131が表示されているが、太線132の範囲で、座標入力領域4から外れているので、重複領域検出処理において、この範囲で検出不能となる。すなわち、重複領域検出処理において、重複領域検出用画像131の操作に対して、センサユニットで信号が検出されない時間が一定時間継続した場合に、ユーザーにその旨を報知するよう動作させることが可能である。さらに投影画像の表示位置の変更を促すメッセージを出力すればよい。
【0155】
以上説明したように、実施形態3によれば、実施形態1や2で説明した効果に加えて、重複領域検出処理を実行するための投影画像が座標入力領域からはみ出している場合であっても、その旨を報知することができる。これにより、投影画像の表示内容(表示位置や表示サイズ)を調整して、適確に重複領域検出処理を実行することができる。
【0156】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、 座標入力領域に対して指示具により入力された座標値を検出する座標入力装置及びその制御方法、プログラムに関するものである。
【背景技術】
【0002】
座標入力面に、指示具(例えば、専用入力ペン、指等)によって指示して座標を入力することで、接続されたコンピュータの制御をしたり、文字や図形等を書き込むために用いられる座標入力装置が存在する。
【0003】
従来より、この種の座標入力装置としては、タッチパネルとして、各種方式のものが提案、または製品化されており、特殊な器具を用いずに、画面上でパーソナルコンピュータ等の端末の操作が簡単にできるため、広く用いられている。
【0004】
座標入力方式としては、抵抗膜を用いたもの、また、超音波を用いたものなど、さまざまなものがあるが、光を用いたものとして、例えば、特許文献1がある。この特許文献1では、座標入力領域の外側に再帰性反射シートを設け、座標入力領域の角端部に配置された光を照明する照明部と光を受光する受光部とにより、座標入力領域内において指等の光を遮蔽する遮蔽物と受光部間の角度を検出する。そして、その検出結果に基づいて、その遮蔽物の指示位置を決定する構成が開示されている。
【0005】
また、特許文献2や3等にあるように、再帰反射部材を座標入力領域周辺に構成し、再帰反射光が遮光される部分(遮光部分)の座標を検出する座標入力装置が開示されている。
【0006】
これらの装置において、例えば、特許文献2では、微分等の波形処理演算によって受光部が受光する遮蔽物による遮光部分のピークを検出することにより、受光部に対する遮光部分の角度を検出し、その検出結果からその遮蔽物の座標を算出している。また、特許文献3では、特定のレベルパターンとの比較によって遮光部位の一方の端と他方の端を検出し、それらの座標の中心を検出する構成が示されている。
【0007】
ここで、特許文献1乃至3のような、遮光位置を検出して座標を算出する方式を、以下、遮光方式と称する。
【0008】
上述した座標入力装置のシステムとして、フロントプロジェクタ等の投影装置により座標入力装置の座標入力面であるスクリーン機能を有するボードに投影し、投影画像に対して、直接的に入力が可能な構成とする場合が考えられる。
【0009】
このようなシステムは、比較的安価に画面を大型化することができるため、複数人で使用する会議や、ネットワークに接続されたビデオカメラ等の撮像装置を用いた複数人で行う遠隔会議などに利用されている。
【0010】
但し、上述した用途においては、ユーザーの要求が満たされているわけではない。遠隔地にある会議室の人物映像があたかも同一空間の会議室に存在するかのような仮想会議室の臨場感をさらに高めたい、表示できる情報量を増やしたいといったような要求があることから、さらなる大画面化が望まれている。
【0011】
しかしながら、上述した遮光方式の座標入力装置においては、座標入力領域を制限無く大きくできるわけではなく、受光部では、座標入力領域内の遮蔽物の指示位置を算出できる程度の光量分布を得る必要がある。光量は、光を照明する照明部の発光強度、再帰反射部材の再帰反射効率、受光部の受光感度等の各構成要素により決定される。従って、座標入力領域の1面のサイズは、これらの各構成要素の制限によって決まることになる。
【0012】
従って、大画面化のための実用的なシステム構成として、1面の座標入力領域を有する座標入力装置のシステムを横に並べるように組み合わせて、画面を横長にする構成とすることが考えられる。
【0013】
このような横長化の構成として、特許文献4には、複数台の光遮断検出装置を、互いの表示領域がほぼ連続するように連接し、その境界部を両面に再帰反射部材が設けられた仕切部材により仕切る構成が開示されている。
【0014】
また、特許文献5には、座標入力領域に重なり領域があるように複数のセンサユニットが周囲に配置された横長タッチパネルの指示位置検出システムの構成が示されている。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】米国特許第4507557号公報
【特許文献2】特開2000−105671号公報
【特許文献3】特開2001−142642号公報
【特許文献4】特許登録第4167789号公報
【特許文献5】米国特許第7355593号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
1面の座標入力装置を有する座標入力装置を複数個並べて2面以上の横長のマルチ画面システムを構成する場合、従来の3辺に再帰反射部材がある構成(特許文献4)では、隣接させた繋ぎ目に再帰反射部材があるので座標入力面が断続的となる。そこで、2面の座標入力領域に跨って入力するときに操作性が低下しないように、隣接する部分には、再帰反射部材を構成せず、別の対向する辺の再帰反射部材のそれぞれの両端にセンサユニットを設ける構成が考えられる。
【0017】
しかしながら、横長のマルチ画面システムに構成するときに、単に1面の座標領域を複数並べて2面に構成しただけでは、必然的に装置構成が大型化してしまう。上述したように、装置構成を横長に構成する一方で、この構成を小型化して可搬性を有する装置構成にしたいという要求があることも事実である。
【0018】
ここで、座標入力装置をホワイトボード等に取り付け、取り外しが可能な着脱式とすることが考えられる。このように着脱式の装置構成においては、ユーザーがシステムを使用したいときにホワイトボード等に装置を取り付けて使用できる。しかしながら、このときの取り付け方法は、ユーザーにより様々で、工場で組み立てたように、座標入力装置を構成するセンサユニット等の構成部品が精度良く取り付けられるとは限らない。
【0019】
尚、着脱式の装置構成とするために、センサユニットを再帰反射部材の両端に構成したバー状のセンサユニットを座標入力領域の上下に構成することが考えられる。このとき、各センサユニットが検出する座標入力領域は重なり領域を有するように構成されるのが一般的である。この重なり領域では、センサユニットの組み合わせで複数の座標値が検出される。しかしながら、各センサユニットのバラツキのため、この座標値の処理の仕方によっては、重なり領域の境界において、検出した座標値を連続して出力した場合の軌跡に段差が生じて不連続になることがある。
【0020】
特許文献5には、再帰反射部材を用いない方式ではあるが、座標入力領域の重なり領域において、各センサユニットの組み合わせで複数の座標が検出された場合に、該座標値に対する補正方法に関しての記載がある。この補正方法は、既知の重なり領域の境界からの距離に応じて予め設定済の係数にて重み付け平均する内容である。しかしながら、上述したような着脱式の座標入力装置においては、ユーザーの取り付け方法で重なり領域が変わってしまうので、上記の補正が適用できない。
【0021】
本発明は上記の課題を解決するためになされたものである。その目的は、着脱式の座標入力装置を複数使用して、それらの座標入力領域の重複領域が可変する場合でも、全座標入力領域において、不連続な軌跡とならない描画を可能とする座標入力装置及び制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【0022】
上記の目的を達成するための本発明による座標入力装置は以下の構成を備える。即ち、
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置であって、
前記座標入力領域に画像を表示する表示手段と、
前記指示具により入力された座標値を検出する複数のセンサ手段と、
前記座標入力領域において、前記複数のセンサ手段の内、少なくとも2つのセンサ手段の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示手段により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出手段と
を備える。
【発明の効果】
【0023】
本発明によれば、着脱式の座標入力装置であって、分割された入力領域の重複領域が可変する場合であっても、全入力領域において、不連続な軌跡とならない描画を可能とする座標入力装置を提供できる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施形態1の座標入力装置の概略構成を示す図である。
【図2】本発明の実施形態1のセンサユニットの詳細構成を示す図である。
【図3】本発明の実施形態1の制御・演算ユニットの構成及びその動作を説明するための図である。
【図4】本発明の実施形態1の光量分布を説明するための図である。
【図5】本発明の実施形態1の各センサユニットの組み合わせで座標計算可能な座標入力領域の座標検出範囲を示す図である。
【図6】本発明の実施形態1の座標入力領域上に定義する座標のセンサユニットとの位置関係を示す図である。
【図7】本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
【図8】本発明の実施形態1の座標入力領域において各センサユニットが検出する範囲が重複する重複領域の検出方法について説明するための図である。
【図9】本発明の実施形態1の重複領域検出処理を示すフローチャートである。
【図10】本発明の実施形態1の重複領域における座標補正処理について説明するための図である。
【図11】本発明の実施形態2を説明するための図である。
【図12】本発明の実施形態2を説明するための図である。
【図13】本発明の実施形態3を説明するための図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0026】
<実施形態1>
<装置構成の概略説明>
本発明の実施形態1の座標入力装置の概略構成について図1を用いて説明する。
【0027】
図1中、1A〜1Dは投光部及び受光部を有するセンサユニット(センサ部)であり、座標入力領域4に対して互いに所定の距離離されて設置されている。センサユニット1Aと1D及び1Bと1Cはそれぞれ、制御・演算を行う制御・演算ユニット2A及び2Bに接続され、制御信号を制御・演算ユニット2A及び2Bから受信すると共に、検出した信号を制御・演算ユニット2A及び2Bに送信する。
【0028】
3A及び3Bは、再帰反射部であって、入射光を到来方向に反射する再帰反射面を有し、それぞれのセンサユニット1A〜1Dから投光された光を、センサユニット1A〜1Dに向けて再帰的に反射する。反射された光は、集光光学系とラインCCD等の構成部品によって構成されたセンサユニットの受光部によって1次元的に検出され、その光量分布が制御・演算ユニット2A及び2Bに送られる。
【0029】
4は座標を入力する座標入力領域であり、座標入力領域4に対する指示入力が、センサユニット1A〜1Dによって検出される。
【0030】
実施形態1において、再帰反射部3A及び3Bは、座標入力領域4の2辺に構成されており、センサユニット1A及び1Dは、2辺の再帰反射部3A及び3Bのうち一方の再帰反射部3Bに対して投光した光を受光する。同様に、センサユニット1B及び1Cは、もう一方である再帰反射部3Aに対して投光した光を受光する。
【0031】
尚、座標入力領域4における指等の指示具による入力指示の座標を算出するために用いるセンサユニット1A〜1Dは、図示の如く座標入力領域4の外側に配置されている。そして、座標入力領域4をPDPやリアプロジェクタ、LCDパネル等の表示装置(表示部)の表示画面で構成したり、フロントプロジェクタで画像を投影したりすることで、インタラクティブな座標入力装置として、利用可能となっている。
【0032】
このような構成において、座標入力領域4に指等の指示具による入力指示がなされると、投光部から投光された光が遮られ、再帰反射による反射光が得られなくなるため、入力指示位置のみ光量が得られなくなる。
【0033】
各制御・演算ユニット2A及び2Bは双方にデータを通信する無線通信部を有する。制御・演算ユニット2A及び2Bは、センサユニット1A〜1Dの光量変化から、入力指示された部分の遮光範囲を検出し、同遮光範囲内での検出点を特定して、それぞれの遮光範囲とセンサユニットとの間の角度を算出する。算出された角度及びセンサユニット間の距離等から、座標入力領域上の指示具の指示位置の座標を算出し、表示装置に接続されているPC等の情報処理装置に、USB等のインタフェースを経由して指示位置の座標値を出力する。
【0034】
このようにして、指等の指示具によって、画面上に線を描画したり、アイコンの操作をする等の情報処理装置の操作が可能になる。
【0035】
<センサユニットの詳細説明>
次に、センサユニット1A〜1Dの構成について、図2を用いて説明する。尚、センサユニット1A〜1Dは、大きく分けて投光部と受光部から構成される。
【0036】
図2は本発明の実施形態1のセンサユニットの詳細構成を示す図である。
【0037】
図2(a)は、センサユニット1A〜1Dそれぞれの投光部100を示している。101は赤外光を発する赤外LEDであり、投光レンズ102によって、再帰反射部3に向けて所定範囲に光を投光する。ここで、センサユニット1A〜1D中のそれぞれの投光部100は、この赤外LED101と投光レンズ102によって実現される。
【0038】
そして、投光部100より投光された赤外光は、再帰反射部3により到来方向に再帰的に反射され、センサユニット1A〜1D中の受光部200によって、その光を検出する。
【0039】
図2(b)は、センサユニット1A〜1Dそれぞれの受光部200を示している。受光部200は、1次元のラインCCD103、集光光学系としての受光用レンズ104、入射光の入射方向を概略制限する絞り105、及び可視光等の余分な光(外乱光)の入射を防止する赤外フィルター106からなる。
【0040】
そして、再帰反射部3によって反射された光は、赤外フィルター106、絞り105を抜けて受光用レンズ104によって、ラインCCD103の検出素子面上に集光される。
【0041】
図2(c)は、図1のセンサユニット1A及び1B側から見た断面図である。センサユニット1Aの赤外LED101Aからの光は、投光レンズ102Aにより、座標入力面に略平行に制限された光束として、主に再帰反射部3Bに対して光が投光されるように構成されている。同様に、センサユニット1Bの赤外LED101Bからの光は、投光レンズ102Bにより、主に再帰反射部3Aに対して光が投光されるように構成されている。
【0042】
ここで、実施形態1の場合、投光部100と受光部200は、座標入力面である座標入力領域4の垂直方向に対し重ねた配置構成となっている。そして、正面方向(座標入力面に対し垂直方向)から見て、投光部100の発光中心と受光部200の基準位置(つまり、角度を計測するための基準点位置に相当し、実施形態1にあっては絞り105の位置)が一致する構造となっている。
【0043】
また、投光部100により投光された座標入力面に略平行な光束であって、座標入力面内方向に所定角度方向に投光されている光は、再帰反射部3により光の到来方向に再帰反射される。そして、赤外フィルター106A(106B)、絞り105A(105B)、受光用レンズ104A(104B)を経て、ラインCCD103A(103B)の検出素子面上に集光、結像することになる。
【0044】
従って、ラインCCD103の出力信号は、反射光の入射角に応じた光量分布を出力することになるので、ラインCCD103を構成する各画素の画素番号が角度情報を示すことになる。
【0045】
尚、図2(c)に示す投光部100と受光部200の距離Lは、投光部100から再帰反射部3までの距離に比べて十分に小さな値であり、距離Lを有していても十分な再帰反射光を受光部200で検出することが可能な構成となっている。
【0046】
以上説明したように、センサユニット1A〜1Dは、投光部100と、各々の投光部100で投光された光を各々検出する受光部200を有する構成である。
【0047】
<制御・演算ユニットの説明>
図1の制御・演算ユニット2A及び2Bとセンサユニット1A〜1Dの間では、CCD制御信号、CCD用クロック信号とCCDの出力信号、及び、LED駆動信号がやり取りされている。尚、制御・演算ユニット2Aは、センサユニット1A及び1Dと接続されている。同様に、制御・演算ユニット2Bは、センサユニット1B及び1Cと接続されている。
【0048】
図3(a)は本発明の実施形態1の制御・演算ユニットのブロック図である。尚、図3(a)では、センサユニット1Aと1Dに接続される制御・演算ユニット2Aの構成を例に挙げて説明するが、制御・演算ユニット2Bも同様の回路構成となっている。
【0049】
CCD制御信号はワンチップマイコン等の構成部品で構成されるCPU41から出力され、CCDのシャッタタイミングやデータの出力制御等を行っている。CCD用クロック信号はクロック発生回路CLK42からセンサユニットに送信されるとともに、CCDとの同期をとって、各種制御を行うためにCPU41にも入力されている。LED駆動信号はCPU41から、センサユニット1Aと1Dの赤外LED101に供給されている。
【0050】
センサユニット1Aと1Dの受光部200からの検出信号は、制御・演算ユニット2AのA/Dコンバータ43に入力され、CPU41からの制御によって、デジタル値に変換される。変換されたデジタル値はメモリ44に記憶され、角度計算に用いられる。そして、計算された角度から、座標値が算出され、外部PC等の情報処理装置にシリアルインタフェース48等の通信インタフェースを介して出力される。尚、シリアルインタフェース48は、制御・演算ユニット2A、2Bのいずれか1つがPCと接続される。
【0051】
ここで、図1に示したように、実施形態1においては、センサユニット1Aと1Dとそれに対する制御・演算ユニット2Aと、センサユニット1Bと1Cとそれに対する制御・演算ユニット2Bが、上部と下部にそれぞれ分離して配置された構成となっている。
【0052】
上部と下部の間の制御・演算ユニット2Aと2Bの通信には、無線通信部が用いられる。実施形態1では、無線通信部の1つである赤外線通信インタフェース46を介して、サブCPU45で処理されたデータにより、制御・演算ユニット2Aと2B間のやりとりが行われる。
【0053】
尚、各制御・演算ユニット2Aと2Bは、マスター・スレーブ制御にて動作する。実施形態1の場合は、制御・演算ユニット2Aがマスターで、その他の制御・演算ユニット2Bがスレーブである。また、各制御・演算ユニット2Aと2Bは、マスター・スレーブのどちらにもなりうるが、ディップスイッチ(不図示)等の切替部で、CPU41のポートに切替信号を入力することでマスター/スレーブを切り替えることが可能となっている。
【0054】
マスターである制御・演算ユニット2Aからは、各センサユニット1A〜1Dの制御信号を送信するタイミングを制御する制御信号がスレーブの制御・演算ユニット2Bに赤外線通信インタフェース46を介して送信される。そして、上述の手順に従って座標値が算出され、PC等の情報処理装置に送信される。
【0055】
<光量分布検出の説明>
図3(b)は制御信号のタイミングチャートである。
【0056】
51、52、53がCCD制御用のCCD制御信号であり、SH信号(51)の間隔で、CCDのシャッタ解放時間が決定される。52、53はそれぞれ上部センサユニット(センサユニット1Aと1D)と下部センサユニット(センサユニット1Bと1C)へのゲート信号であり、CCD内部の光電変換部の電荷を読出部へ転送する信号である。
【0057】
54、55は赤外LEDの駆動信号であり、SH信号(51)の最初の周期で上部センサユニットの赤外LEDを点灯するためにLEDU信号(54)がLED駆動回路を経て赤外LEDに供給される。そして、次の周期で下部センサユニットの赤外LEDを点灯するためにLEDD信号(55)がLED駆動回路を経て赤外LEDに供給される。双方の赤外LEDの駆動が終了した後に、ラインCCDの信号がセンサユニットから読み出される。従って、上部センサユニットと下部センサユニットとでは、異なるタイミングで投光(56Uと56Dの投光期間)されて、各センサユニットの各ラインCCDが受光した複数のデータ(光量分布)が読み出されることになる。
【0058】
読み出される信号は、入力がない場合には、それぞれのセンサユニット1A〜1Dからの出力として、図4(a)のような光量分布が得られる。もちろん、このような光量分布がどのシステムでも必ず得られるわけではなく、再帰反射部3A及び3Bの特性や赤外LED101の特性、また、経時変化(反射面の汚れ等)によって、光量分布は変化する。
【0059】
同図においては、Aレベルが最大光量のレベルであり、Bレベルが最低光量のレベルとなる。つまり、反射光のない状態では、得られるレベルがBレベル付近になり、反射光量が増えるほどAレベルの方向になっている。このように、ラインCCD103から出力されたデータは、逐次A/D変換されCPU41にデジタルデータとして取り込まれる。
【0060】
図4(b)は指等の指示具で入力を行った場合、つまり、再帰反射光を遮った場合の出力の例である。C部分が指等の指示具で反射光が遮られたためその部分のみ、光量が低下している。検出は、この光量分布の変化から行う。
【0061】
具体的には、図4(a)のような入力の無い初期状態を予め記憶しておいて、それぞれのサンプル期間に図4(b)のような変化があるか初期状態との差分によって検出し、変化があったらその部分を入力点として入力角度を決定する演算を行う。
【0062】
<角度計算の説明>
センサユニット1A〜1Dに対する指示具の角度計算にあたっては、まず、指示具による遮光範囲を検出する必要がある。
【0063】
上述したように、センサユニット1A〜1Dが検出する光量分布は、経時変化等の要因で一定ではないため、その初期状態の光量分布は、例えば、システムの起動時毎にメモリ44に記憶することが望ましい。そうすることで、例えば、再帰反射面がほこり等で汚れていても、全く反射しないような場合を除いて使用可能になる。
【0064】
以下、一つのセンサユニット1Aによる指示具の角度計算について説明するが、他のセンサユニット1B〜1Dでも同様の角度計算を行っていることは言うまでもない。
【0065】
電源投入時、入力の無い(遮光部分がない)状態で、まず、センサユニット1A内の投光部100からの投光を停止している状態で、受光部200のラインCCD103の出力をA/D変換して、この値をBas_Data[N]として、メモリ44に記憶する。
【0066】
尚、この値は、受光部200(ラインCCD103)のバイアスのばらつき等を含んだデータとなり、図4(a)のBレベル付近のデータとなる。ここで、NはラインCCD103を構成する画素の画素番号であり、有効な入力範囲(有効範囲)に対応する画素番号が用いられる。
【0067】
次に、投光部100からの投光を行っている状態で、受光部200の出力である光量分布をA/D変換して、この値をRef_Data[N]としてメモリ44に記憶する。この値は、例えば、図4(a)の実線で示されるデータである。
【0068】
そして、このメモリ44に記憶されたBas_data[N]とRef_data[N]とを用いて、まずは、指示具による入力の有無、かつ遮光範囲の有無の判定を行う。ここで、センサユニット1Aの出力のサンプル期間内のN番目の画素の画素データをNorm_Data[N]とする。
【0069】
まず、遮光範囲を特定するために、画素データの変化の絶対量によって、遮光範囲の有無を判定する。これは、ノイズ等による誤判定を防止し、所定量の確実な変化を検出するためである。
【0070】
具体的には、画素データの変化の絶対量を、ラインCCD103の各々の画素において、以下の計算を行い、予め決定してある閾値Vthaと比較する。
【0071】
Norm_Data[N] = Norm_Data[N] - Ref_Data[N] (1)
ここで、Norm_Data[N]は、ラインCCD103の各画素における絶対変化量である。
【0072】
この処理は、ラインCCD103の各画素の絶対変化量Norm_data_a[N]を算出し、それを閾値Vthaと比較するだけである。従って、その処理時間をさほど必要とせず、入力の有無の判定を高速に行うことが可能である。そして、特に、閾値Vthaを初めて超えた画素が所定数を超えて検出された場合に、指示具の入力があると判定する。
【0073】
次に、より高精度に指示具による入力を検出するために、画素データの変化の比を計算して入力点の決定を行う。
【0074】
Norm_Data[N] = Norm_Data[N] / (Bas_Data[N] - Ref_Data[N]) (2)
この画素データに対して、閾値Vthrを適用して、遮光範囲に対応する画素データ分布の立ち上がり部と立下り部に対応する画素番号を取得する。そして、この両者の中央を指示具による入力に対応する画素とすることで、より正確な指示具の入力位置を決定することができる。
【0075】
図4(c)は、この比計算を終了した後の検出の例である。指示具による遮光範囲を検出するための閾値Vthrに対して、その閾値Vthrを横切る画素データ分布の立ち上がり部分がNr番目の画素、立ち下がり部分がNf番目の画素であるとする。
【0076】
この場合、両者の画素の中心画素Npを
Np = Nr + (Nf - Nr) / 2 (3)
のように計算してもよいが、そうすると、ラインCCD103の画素間隔が最小の分解能になってしまう。より高分解能に検出するために、それぞれの画素のデータレベルとその一つ前の隣接画素のデータレベルを用いて、閾値Vthrを横切る仮想の画素番号を計算する。
【0077】
ここで、Nr板面の画素のデータレベルをLr、Nr−1番目の画素のデータレベルをLr−1とする。また、Nf番目の画素のデータレベルをLf、Nf−1番目の画素のデータレベルをLf−1とする。この場合、それぞれの仮想画素番号Nrv、Nfvは、
Nrv = Nr-1 + ( Vthr - Lr-1 ) / ( Lr - Lr-1 ) (4)
Nfv = Nf-1 + ( Vthr - Lf-1 ) / ( Lf - Lf-1 ) (5)
と計算できる。そして、これの仮想画素番号Nrv、Nfvの仮想中心画素Npvは、
Npv = Nrv + ( Nfv - Nrv ) / 2 (6)
で決定される。
【0078】
このように、閾値Vthrを越えるデータレベルの画素の画素番号とその隣接する画素番号と、それらのデータレベルから、閾値Vthrを横切る仮想的な仮想画素番号を計算することで、より分解能の高い検出を実現できる。
【0079】
このようにして得られた遮光範囲の中心点を示す中心画素番号から、実際の指示具の座標値を計算するためには、この中心画素番号を角度情報に変換する必要がある。
【0080】
後述する実際の座標計算では、角度そのものよりもその角度における正接(tanθ)の値を算出するほうが都合がよい。尚、画素番号から、tanθへの変換には、テーブル参照や変換式を用いる。この変換式は、例えば、高次多項式を用いると精度を確保できるが次数等は計算能力及び精度スペック等を鑑みて決定すればよい。
【0081】
ここで、5次多項式を用いる場合の例を示すと、5次多項式を用いる場合には係数が6個必要になるので、出荷時等にこのデータをメモリ44に記憶しておけばよい。5次多項式の係数をL5、L4、L3、L2、L1、L0としたとき、tanθは、
tanθ = (L5* Npr + L4) * Npr + L3) * Npr + L2) * Npr + L1) * Npr + L0 (7)
であらわすことができる。
【0082】
同様なことを、各々のセンサユニットに対して行えば、それぞれの角度データを決定できる。もちろん、上記例では、tanθを算出しているが、角度そのものを算出し、その後tanθを算出しても構わない。
【0083】
<座標計算方法の説明>
次に、画素番号から変換された角度データ(tanθ)から、指示具の位置座標を算出する座標算出方法について説明する。
【0084】
図5は本発明の実施形態1の各センサユニットの組み合わせで座標計算可能な座標入力領域の座標検出範囲を示す図である。
【0085】
図5に示すように、各センサユニットの投光及び受光範囲が交わる領域が座標計算可能な領域となる。従って、センサユニット1Cと1Dで座標計算可能な範囲は、図5(a)の斜線の範囲91である。同様に、センサユニット1Bと1Cで座標計算可能な範囲は、図5(b)の斜線の範囲92である。センサユニット1Aと1Bで座標計算可能な範囲は、図5(c)の斜線の範囲93である。センサユニット1Aと1Dで座標計算可能な範囲は、図5(d)の斜線の範囲94となる。
【0086】
図6は本発明の実施形態1の座標入力領域上に定義する座標のセンサユニットとの位置関係を示す図である。
【0087】
図6では、座標入力領域4の水平方向にX軸、垂直方向にY軸を定義し、座標入力領域4の中央を原点位置O(0,0)に定義している。そして、座標入力領域4の座標入力範囲の上辺及び下辺左右に、それぞれのセンサユニット1A〜1DをY軸に対称に取り付けてある。点Pの位置に入力があった場合、このときセンサユニット1Bと1Cにて遮光データが検出される。
【0088】
尚、そのセンサユニット1Bと1C間の距離はDhであらわされており、また、画面中央が画面の原点位置であり、P0(0,P0Y)は、センサユニット1Bと1Cの角度0の交点である。それぞれの角度をθL、θRとして、それぞれtanθL、tanθRを上記多項式を用いて算出する。このとき点Pの(x、y)座標は、
x = Dh * (tanθL + tanθR) / ( 1 + (tanθL * tanθR) (8)
y = - Dh * (tanθR - tanθL - ( 2 * tanθL * tanθR) )
/ ( 1+ ( tanθL * tanθR) ) + P0Y (9)
で計算される。
【0089】
尚、座標入力領域4によって、センサユニット1A〜1Dの組み合わせが変更になることは先述した通りであるが、センサユニット1A〜1Dの組み合わせで、座標算出式のパラメータが変更になる。
【0090】
例えば、センサユニット1Cと1Dで検出された遮光データで計算する場合は、計算式(8)、(9)において、図6に示した値を用いて、Dh→Dv、P0Y→P1Xの変換を行い、さらに計算されたx及びyは、相互に変換される。
【0091】
同様に、センサユニット1Aと1Bの組み合わせ、センサユニット1Aと1Dの組み合わせで遮光データが検出された場合も、パラメータを変更し、上記の計算式(8)、(9)にて計算することができる。
【0092】
尚、各センサユニットの組み合わせによる座標検出可能な座標入力領域は、座標検出範囲が重なる座標入力領域があるため、複数の座標が検出されることがあるが、この処理については、後で説明する。
【0093】
<座標算出処理の説明>
図7は本発明の実施形態1の座標入力装置が実行する座標算出処理を示すフローチャートである。
【0094】
まず、座標入力装置の電源が投入されると、ステップS102で、制御・演算ユニット2A及び2Bのポート設定、タイマ設定等の座標入力装置に係る各種初期化を行う。ステップS103で、ラインCCD103のCCD画素有効範囲を、例えば、メモリ44に予め記憶されている設定値から設定する。また、ラインCCD103の初期読込動作の初期読込回数を設定する。
【0095】
尚、この初期読込動作は、座標入力装置の起動時におけるラインCCD103の不要電荷除去を行うための動作である。ラインCCD103では、動作させていないときに不要な電荷を蓄積している場合があり、その電荷が蓄積されている状態で座標入力動作を実行すると、検出不能になったり、誤検出の原因となる。そこで、これを避けるために、ステップS104で、投光部100による投光を停止している状態で、所定回数の読込動作を実行する。これにより、不要電荷の除去を行う。
【0096】
ステップS105で、所定回数以上の読込を実行したか否かを判定する。所定回数以上の読込を実行していない場合(ステップS105でNO)、ステップS104に戻る。一方、所定回数以上の読込を実行した場合(ステップS105でYES)、ステップS106に進む。
【0097】
ステップS106で、ベースデータとして、投光部100による投光を停止している状態でのラインCCD103の画素データ(Bas_data[N])を取り込む。ステップS107で、ベースデータをメモリ44に記憶する。次に、ステップS108で、リファレンスデータとして、投光部100からの投光を行っている状態でのラインCCD103の画素データ(Ref_data[N])を取り込む。ステップS109で、リファレンスデータをメモリ44に記憶する。
【0098】
尚、この投光したときのデータは、上部のセンサユニットの組と下部のセンサユニットの組で異なるタイミングで投光してデータを取り込む。これは、上部のセンサユニットと下部のセンサユニットが対向する配置であるため、同時に投光してしまうと、互いの投光を互いの受光部にて検出してしまうことを避けるためである。
【0099】
そして、ステップS110で、全てのセンサユニットにおいて、リファレンスデータの取込が終了したか否かを判定する。終了していない場合(ステップS110でNO)、ステップS108に戻る。一方、終了した場合(ステップS110でYES)、つまり、全てのセンサユニットにおいてリファレンスデータの取込が終了した場合、ステップS111に進む。
ここまでの処理が、電源投入時の初期設定動作になる。この初期設定動作は、座標入力装置に構成されているリセットスイッチ等により操作者の意図によって動作するように構成しても良いことは言うまでも無い。この初期設定動作を経て、通常の座標入力動作状態に移行することになる。
【0100】
ステップS111で、座標入力サンプリング状態で、ラインCCD103の通常取込動作を実行して、画素データ(Norm_data[N])を取り込む。ステップS112で、全てのセンサユニットにおいて取込が終了したかどうかを判定する。終了していない場合(ステップS112でNO)、ステップS111に戻る。一方、終了した場合(ステップS112でYES)、つまり、全てのセンサユニットにおいて取込が終了した場合、ステップS113に進む。
【0101】
ステップS113で、全てのセンサユニットにおいて、リファレンスデータ(Ref_data[N])と画素データ(Norm_data[N])の差分値を計算する。ステップS114で、その差分値と上述の閾値Vthrに基づいて、指示具による入力(遮光部分)の有無を判定する。入力がない場合(ステップS114でNO)、ステップS111に戻る。一方、入力がある場合(ステップS114でYES)、ステップS115に進み、画素データの変化の比を、式(2)用いて計算する。
【0102】
ステップS116で、計算された画素データの変化の比に対して、指示具による遮光範囲に対応する画素データ分布の立ち下がりと立ち上がりの検出を行う。そして、検出された立ち下がり及び立ち上がりと、(4)、(5)及び(6)式を用いて、遮光範囲の中心となる仮想的な中心画素番号を決定する。そして、ステップS117で得られた中心画素番号から近似多項式よりTanθを計算する。
【0103】
ステップS118で、遮光領域が有りと判定されたセンサユニットの組み合わせから、式(8)、(9)においてセンサ間距離等のTanθ以外のパラメータが選択されて、計算式が変更される。そして、ステップS119で、センサユニットでのTanθ値から指示具の入力座標P(x,y)を、(8)及び(9)式を用いて算出する。
【0104】
ステップS120で、ステップS114で「入力有り」と判定されたセンサユニットの全ての組み合わせで座標計算が行われたか否かを判定する。全ての組み合わせで座標計算が終了していない場合(ステップS120でNO)、ステップS115に戻る。一方、全ての組み合わせで座標計算が終了した場合(ステップS120でYES)、ステップS121に進む。
【0105】
ステップS121で、重複領域であるか否かを判定する。重複領域である場合(ステップS121でYES)、ステップS122に進み、重複領域の処理が行われる。尚、これは、複数の座標値が計算された場合に後述する所定の手順に基づいて、座標値の平均等の処理を行う。一方、重複領域ではない場合(ステップS121でNO)、ステップS123に進む。
【0106】
次に、これまでの処理で出力された座標について、ステップS123で、座標入力領域4がタッチされたか否かを判定する。これは、例えば、マウスのボタンを押下せずにカーソルを移動させている状態のような近接入力状態と、左ボタンを押した状態であるタッチダウン状態の判定を行っている。実際には、先に得られた比の最大値が、ある所定値(例えば、0.5)を超えていればダウンと判定し、それ以下なら近接入力状態と判定する。この結果に従って、ステップS124でダウンフラグのセット、あるいはステップS1245でダウンフラグの解除を行う。
【0107】
ステップS126で、座標値とダウン状態が決定されたので、そのデータをホストPCへ出力する。この出力は、シリアル通信で送信しても良いし、任意のインタフェースで送信しても良い。データを受信したホストPC側では、ドライバが受信データを解釈して、カーソルの移動、マウスボタン状態の変更を、座標値、フラグ等のデータを参照して行うことで、PC画面の操作が可能になる。
【0108】
尚、ステップS126の処理が終了したら、ステップS111に戻り、以降、電源OFFまで、もしくは、操作者の意図によってリセット状態が設定されるまで、上記の処理を繰り返すことになる。
【0109】
ここで、この繰り返し周期を10[msec]程度に設定すれば、座標入力装置は100回/秒の周期で指あるいは指示具による指示座標を外部機器等に出力することが可能となる。
【0110】
<重複領域の検出に関する説明>
図8は本発明の実施形態1の座標入力領域において各センサユニットが検出する範囲が重複する重複領域の検出方法について説明するための図である。
【0111】
図8(a)において、87は上センサバーユニットであり、この上センサバーユニット87はセンサユニット1Aと1D、再帰反射部3、制御・演算ユニット2Aで構成されている。この上センサバーユニット87は、ホワイトボード等に、磁石等で取り付け、取り外しが可能な構成になっている。88は下センサバーユニットであり、上センサバーユニット87と同様の構成となっている。
【0112】
いま、ホワイトボード(不図示)に、図のように上センサバーユニット87と下センサバーユニット88を取り付けたとすると、座標入力装置の入力範囲は座標入力領域4となる。この入力範囲に、ユーザーは、例えば、フロントプロジェクタにて画像を投影表示することになる。ここでは、座標入力領域4を規定するための投影表示領域である投影画像81が示されている。この投影画像は、例えば、座標入力装置が接続されているPCから出力される。
【0113】
そして、投影画像81には、重複領域を検出するためにユーザーが操作するための投影画像である重複領域検出用画像82〜85が表示されている。この重複領域検出用画像82〜85を図の(1)〜(4)の順番に矢印の方向に線をなぞる操作をユーザーが行う。尚、投影画像には、ユーザーに操作手順等を促すメッセージが出力されていてもよい。
【0114】
いま、図のように、センサユニット1A〜1Dが配置されたとき、重複領域は、斜線で示す領域86となる。各センサユニット1A〜1Dの検出可能範囲は、各センサユニット1A〜1Dから引き出されている2本の線の内側となる(再帰反射部から光が戻ってくる領域)。重複領域86は、座標入力領域4において、検出不能領域ができないように、各センサユニット1A〜1Dの検出可能範囲が重なるようにセンサバーユニットの各構成要素が配置されて形成されることになる。
【0115】
図8(b)に、各重複領域検出用画像82〜85をユーザーがなぞったとき、検出される座標値について表形式で示す。いま、重複領域検出用画像82が記載されているセルに注目し、ユーザーが重複領域検出用画像82をなぞる操作をした場合の検出について説明する。図において、重複領域の境界を点線で示している。このとき、重複領域検出用画像の線分画像を操作したときに、ペン等の指示具がこの重複領域との境界から境界までの範囲(図の黒丸の位置から黒丸の位置)においては、3つのセンサユニット1A、1B、1Dにおいて遮光が検出される。つまり、3つのセンサユニット1A、1B、1Dにいおて、線分画像への入力の有無が検出される。
【0116】
上述のように検出した座標値をメモリ44に記憶するタイミングは、線分画像の範囲のうち、変化点でのみ行われる。すなわち、センサユニット1Aと1Dで検出される状態から、センサユニット1A、1B、1Dで検出される状態になった変化点において、座標値をメモリ44に記憶する。この場合、座標値P1.AD(センサユニット1Aと1Dで計算した座標値)をメモリ44に記憶する。また、センサユニット1A、1B、1Dで検出される状態からセンサユニット1Aと1Bで検出される状態になった変化点においても、先述の変化点と同様に座標値をメモリ44に記憶する。この場合、座標値P1.BA(センサユニット1Aと1Bで計算した座標値)をメモリ44に記憶する。同様の処理を重複領域検出用画像83、84、85についても行う。
【0117】
こうして、図8(b)に示す全ての座標値の検出が終了したら、重複領域の処理に用いるための重複領域判定式が算出される。この重複領域判定式は、4つの直線から構成される。尚、各直線は、先に検出した座標値の2点づつの組み合わせで算出される。各直線を算出する組合わせは、座標値P1.BAとP3.BC、座標値P1.ADとP3.CD、座標値P2.ABとP4.AD、座標値P2.BCとP4.DCという組合わせになる。
【0118】
図9は本発明の実施形態1の重複領域検出処理を示すフローチャートである。
【0119】
この重複領域検出処理は、先述したセンサバーユニットを取り付けた後に、直ちに行われる。例えば、先述した重複領域検出用画像を表示するアプリケーションをPCにインストールすることにより動作する。また、このアプリケーションは、制御・演算ユニット2A及び2Bと双方にコマンドを送受信可能な構成となっている。制御・演算ユニット2A及び2B側では、アプリケーションの起動や終了、先述した指示具の検出座標値、重複領域検出用画像の表示切替タイミング等のやりとりが、シリアルインタフェース48を介して、CPU41で処理される。
【0120】
先述したように、重複領域検出用画像を表示するアプリケーションをPCで起動すると、制御・演算ユニット2A及び2Bにおいては、重複領域検出処理を開始する。
【0121】
ステップS902で、変数のクリア等の初期設定を実行する。ステップS903で、重複領域検出用画像を表示するアプリケーションからのコマンドを受信する。このコマンドは、先述した重複領域検出用画像82〜85のうち、どの重複領域検出用画像を対象としているかを示している。そして、どのセンサユニットの重複領域を検出するか、対象となるセンサユニットが決定される。
【0122】
ステップS904で、遮光検出状態でかつダウン状態であるか否かを判定する。ダウン状態でない場合(ステップS904でNO)、ダウン状態になるまで処理を繰り返す。一方、ダウン状態である場合(ステップS904でYES)、ステップS905に進み、上述のように座標値を算出する。
【0123】
ステップS906で、ステップS905で算出された座標値が、ステップS903で設定された対象となるセンサユニットの変化点であるか否かを判定する。すなわち、遮光が検出されるセンサユニットの数が、2つから3つまたは3つから2つに変化した場合かどうかを判定する。変化点である場合(ステップS906でYES)、ステップ907で、算出された座標値をメモリ44に記憶する。一方、変化点でない場合(ステップS906でYES)、メモリ44に記憶せずにステップ908に進む。
【0124】
ステップS908で、変化点の座標値として所定数の座標値が検出されたか否かを判定する。この場合、遮光を検出するセンサユニットの数が2つから3つに変化した点と3つから2つに変化した2点の座標値を検出したかどうかを判定することになる。座標値が所定数でない(例えば、1点のみである)場合(ステップS908でNO)、ステップS904に戻る。一方、座標値が所定数(例えば、2点である)場合は、ステップS909に進む。
【0125】
ステップS909で、全ての重複領域検出用画像において、座標値の検出が終了したか否かを判定する。重複領域検出用画像の検出が終了していない場合(ステップS909でNO)、ステップS903に戻り、コマンドを受信して、対象となるセンサユニットを切り替える。一方、重複領域検出用画像の検出が終了した場合(ステップS909でYES)、ステップS910に進み、各座標値の組合わせで重複領域判定式を算出する。そして、重複領域検出処理を終了する。
【0126】
以上説明した重複領域検出処理は、実施形態1のセンサバーユニットをホワイトボードに設置した直後に行われ、この処理により、重複領域判定式を算出し、この重複領域判定式がメモリ44に記憶される。そして、通常の使用時には、検出された座標値が重複領域であるか否か、また、重複領域で検出された複数の座標値の処理(図7のステップS121及びステップS122)が、該重複領域判定式との関係で決定する所定の手順に基づいて行われることになる。
【0127】
次に、上述した判定において、重複領域であると判定された場合の座標補正処理について図10を用いて説明する。先述したように重複領域検出後に算出される重複領域判定式により、検出された座標値が、図10(a)の斜線の領域の重複領域と判定された場合には、重複領域の座標補正処理が行われる。尚、この処理は、図7のステップS122に対応する。
【0128】
図10(a)に示すように、ユーザーが軌跡1000のように右斜め上から左斜め下に向かって入力を行ったとすると、この軌跡1000は、重複領域を経由して入力がなされたことになる。すなわち、この場合、センサユニット1A及び1Dで検出される領域から、センサユニット1C及び1Dで検出される領域に向かって軌跡1000が入力された場合を示している。
【0129】
このときの、座標補正処理について、図10(b)を用いて説明する。図10(b)において、重複領域と非重複領域との境界を1004と1005で示している。また、センサユニット1A及び1Dで検出される座標値の軌跡は1001で示し、センサユニット1C、1Dで検出される座標値の軌跡は1002で示している。また、重複領域の幅は1006で示されていて、この距離をDaとする。
【0130】
実施形態1における重複領域の座標補正処理は、検出された複数の座標値の平均値に対して、重複領域判定式からなる境界からの垂線方向の距離に応じて各座標値に対して重み付けが設定される加重平均にて処理を行う。重複領域において、上記処理を施した結果の軌跡が1003で示した軌跡となる。重複領域における座標算出式は、以下の通りである。
【0131】
PA = (P1*k1 + P2*k2) / (k1+k2) (10)
ここで、PAは、加重平均処理後の座標値であり、軌跡1003を形成する座標値に相当する。また、P1は軌跡1001を形成する座標値、P2は軌跡1002を形成する座標値に相当する。尚、k1とk2は加重平均の重み付け係数である。
【0132】
この重み付け係数k1とk2の算出について説明する。検出された座標値が、図10(b)に示すP1aとP2aであるとすると、その座標値の平均値として、P12aを算出する。そして、この座標値P12aから、境界1004までの距離Dp12を算出する。いま、この距離Dp12と幅に相当する距離Daに対する割合が、上記重み付け係数に相当する。従って、k1とk2は以下の式から算出される。
【0133】
k1 = 1 - ( Dp12 / Da ) (11)
k2 = Dp12 / Da (12)
従って、座標補正処理を施した座標PAaは、上記算出式(10)に、P1=P1a、P2=P2aと上記k1、k2を代入することによって算出できる。
【0134】
ここで、座標入力領域の中心部分の重複領域においては、すべてのセンサユニットで、遮光が検出されることになる。この場合は、上述した重複領域毎に算出された座標値をさらに平均処理すればよい。
【0135】
以上説明したように、実施形態1によれば、センサユニットを設置した状態において重複領域を検出する。そして、通常の座標検出状態において、重複領域での座標補正処理を行うことで、センサユニットが切り替わる場合であっても、スムーズな軌跡となって、描画することが可能となる。
【0136】
<実施形態2>
実施形態1では、座標入力領域において各センサユニットが検出する範囲が重複する重複領域の検出方法において、所定の画像(L字(及びその鏡像、点対称))の重複領域検出用画像が入力領域の4隅に表示される構成について説明した。実施形態2では、重複領域検出用画像が、連続した線分画像の1ストロークで構成されており、ユーザーがより簡便な操作で重複領域が検出できる例について説明する。
【0137】
図11は本発明の実施形態2を説明するための図である。
【0138】
図11(a)において、111は重複領域検出用画像である。ユーザーは矢印の方向に1ストロークで線分画像をなぞることになる。尚、実施形態1では、重複領域検出用画像毎にPCからコマンドを受信して、対象となるセンサユニットを切り替えているが、実施形態2の重複領域検出用画像は、1ストロークなので、順次対象となるセンサユニットを切り替えて重複領域を検出すればよい。
【0139】
また、実施形態2の重複領域検出用画像111は、投影画像81の領域を概ねカバーするように投影画像81の外周に表示しているため、座標入力領域4内に収まるように投影画像81が表示されていれば、重複領域は必ず検出することができる。
【0140】
図11(b)において、116は重複領域検出用画像である。重複領域検出用画像116は、楕円形状で角部が無いので、ユーザーによっては、上記より、さらに操作がしやすい形状である。尚、この重複領域検出用画像116の場合でも、センサバーユニットや投影画像が回転して設置されていても、全ての重複領域を検出可能である。
【0141】
尚、上述した両者の重複領域検出用画像の入力開始点は、重複領域が生じにくい領域に設定している。これは、入力と非入力の過渡状態を避け、安定した入力をしている状態で、重複領域を検出できるという効果がある。
【0142】
しかしながら、センサバーユニットの設置位置と投影画像との位置関係によっては、重複領域検出時の入力開始点において、いきなり重複領域と判定してしまう可能性がある。この状態の一例を図12(a)に示す。図12(a)に示すように、座標入力領域4に対して、投影画像81が図のように表示されている場合、重複領域検出用画像121の入力開始点122が重複領域86の範囲内となっている
この場合は、上述したように非安定状態の検出となる可能性があるとともに、実施形態1で説明したようなセンサユニットの検出変化点を検出できない。従って、この場合は、重複領域検出用画像121の入力開始点を変更して表示を更新する。この状態の一例を図12(b)に示す。図12(b)に示すように、重複領域検出用画像123の入力開始点124が、重複領域86の範囲外となっている。尚、更新後も重複領域と検出された場合には、重複領域と判定されない入力開始点となるまで、繰り返し重複領域検出用画像123を更新する。
【0143】
尚、センサバーユニットの設置位置と投影画像との位置関係、さらには重複領域検出用画像の線分画像によっては、入力終了点において、重複領域と判定される場合も想定される。この場合も、上述したの同様に、重複領域と判定されない入力終了点となるまで、繰り返し重複領域検出用画像を更新すればよい。
【0144】
ここで、この種の座標入力装置は、PCの投影画像と座標入力装置が出力する座標値とを合わせる(指示位置とカーソル表示とを一致させる)作業が必要である。この作業を画面位置合わせ(キャリブレーション)と一般的に呼んでいる。
【0145】
このキャリブレーション処理を、先述した重複領域検出時に、同時に行ってもよい。キャリブレーションは、座標入力領域において4点以上検出できれば、画面の座標系と合わせた座標入力装置の座標系を形成し、精度よく座標補正することができる。
【0146】
図11(a)においては、キャリブレーションポイントを112〜115で示している。すなわち、重複領域検出作業中に、4隅の4点を経由した場合に、キャリブレーションポイントとして、メモリ44に記憶する。
【0147】
また、図11(b)では、キャリブレーションポイントを117〜120で示している。図11(a)で説明したのと同様に、これらの点を経由したとき、キャリブレーションポイントとして、メモリに記憶する。尚、図11(b)の例では、分割された座標入力領域の各領域の中央付近にキャリブレーションポイントを設定しているので、分割された全ての座標入力領域に対して、キャリブレーションポイントを取得できる。従って、各センサユニットのバラツキが平均化してキャリブレーションの補正に反映されるという効果がある。
【0148】
重複領域検出用画像は、上述したものに限定されるわけではない。重複領域を検出できるように線分画像が形成されていればよく、例えば、重複領域を跨ぐように4隅に直線の線分画像を表示するなどでもよい。
【0149】
尚、重複領域検出用画像とする線分画像が短いと、センサバーユニットの設置の仕方によっては、線分画像の間に重複領域が検出されない場合が生じることが考えられる。その場合には、重複領域が検出できなかった旨をユーザーに報知して、センサバーユニットを取り付けし直すメッセージを表示するなどしてもよい。
【0150】
以上説明したように、実施形態2によれば、実施形態1で説明した効果に加えて、ユーザーがより簡便な操作で重複領域が検出できる。
【0151】
<実施形態3>
センサバーユニットの設置の仕方、または投影画像の表示の仕方によっては、座標入力領域に対して、投影画像がはみ出すことが想定される。本実施形態では、重複領域検出処理において、この状態を検知して、ユーザーに報知する例について説明する。
【0152】
図13は本発明の実施形態3を説明するための図である。
【0153】
図13において、131は重複領域検出用画像である。この場合、座標入力領域4に対して、投影画像81の右側の一部がはみ出している状態である。
【0154】
重複領域検出処理において、この状態を検出可能である。いま、重複領域検出用画像131が表示されているが、太線132の範囲で、座標入力領域4から外れているので、重複領域検出処理において、この範囲で検出不能となる。すなわち、重複領域検出処理において、重複領域検出用画像131の操作に対して、センサユニットで信号が検出されない時間が一定時間継続した場合に、ユーザーにその旨を報知するよう動作させることが可能である。さらに投影画像の表示位置の変更を促すメッセージを出力すればよい。
【0155】
以上説明したように、実施形態3によれば、実施形態1や2で説明した効果に加えて、重複領域検出処理を実行するための投影画像が座標入力領域からはみ出している場合であっても、その旨を報知することができる。これにより、投影画像の表示内容(表示位置や表示サイズ)を調整して、適確に重複領域検出処理を実行することができる。
【0156】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置であって、
前記座標入力領域に画像を表示する表示手段と、
前記指示具により入力された座標値を検出する複数のセンサ手段と、
前記座標入力領域において、前記複数のセンサ手段の内、少なくとも2つのセンサ手段の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示手段により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出手段と
を備えることを特徴とする座標入力装置。
【請求項2】
前記センサ手段によって検出された座標値が、前記検出手段により検出された重複領域の範囲内である場合に、前記座標値に補正を施す補正手段を更に備える
ことを特徴とする請求項1に記載の座標入力装置。
【請求項3】
前記重複領域検出用画像は、前記表示手段が表示する線分画像であり、
前記検出手段は、前記指示具による前記線分画像に対する入力の有無を検出することによって、前記重複領域を検出する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項4】
前記重複領域検出用画像の入力開始点または入力終了点において、前記検出手段が前記重複領域を検出した場合には、前記表示手段による前記重複領域検出用画像の表示内容を調整するためのメッセージを出力する出力手段を更に備える
ことを特徴とする請求項3に記載の座標入力装置。
【請求項5】
前記重複領域検出用画像は、前記表示手段が表示する前記座標入力領域を規定するための画像の外周に表示される
ことを特徴とする請求項3に記載の座標入力装置。
【請求項6】
前記検出手段は、更に、前記座標入力領域に対して入力された座標値と前記表示手段が表示する対応する座標値とを位置合わせするためのキャリブレーション処理を実行する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項7】
前記検出手段によって、一定時間の間に前記重複領域が検出されない場合、前記表示手段が表示する前記座標入力領域を規定するための画像の表示位置の変更を促すメッセージを出力する出力手段を更に備える
ことを特徴とする請求項1に記載の座標入力装置。
【請求項8】
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置の制御方法であって、
前記座標入力領域に画像を表示する表示工程と、
前記座標入力領域において、指示具により入力された座標値を検出する複数のセンサ部の内、少なくとも2つのセンサ部の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示工程により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出工程と
を備えることを特徴とする座標入力装置の制御方法。
【請求項9】
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置の制御をコンピュータに実行させるためのプログラムであって、
前記座標入力領域に画像を表示する表示工程と、
前記座標入力領域において、指示具により入力された座標値を検出する複数のセンサ部の内、少なくとも2つのセンサ部の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示工程により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置であって、
前記座標入力領域に画像を表示する表示手段と、
前記指示具により入力された座標値を検出する複数のセンサ手段と、
前記座標入力領域において、前記複数のセンサ手段の内、少なくとも2つのセンサ手段の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示手段により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出手段と
を備えることを特徴とする座標入力装置。
【請求項2】
前記センサ手段によって検出された座標値が、前記検出手段により検出された重複領域の範囲内である場合に、前記座標値に補正を施す補正手段を更に備える
ことを特徴とする請求項1に記載の座標入力装置。
【請求項3】
前記重複領域検出用画像は、前記表示手段が表示する線分画像であり、
前記検出手段は、前記指示具による前記線分画像に対する入力の有無を検出することによって、前記重複領域を検出する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項4】
前記重複領域検出用画像の入力開始点または入力終了点において、前記検出手段が前記重複領域を検出した場合には、前記表示手段による前記重複領域検出用画像の表示内容を調整するためのメッセージを出力する出力手段を更に備える
ことを特徴とする請求項3に記載の座標入力装置。
【請求項5】
前記重複領域検出用画像は、前記表示手段が表示する前記座標入力領域を規定するための画像の外周に表示される
ことを特徴とする請求項3に記載の座標入力装置。
【請求項6】
前記検出手段は、更に、前記座標入力領域に対して入力された座標値と前記表示手段が表示する対応する座標値とを位置合わせするためのキャリブレーション処理を実行する
ことを特徴とする請求項1に記載の座標入力装置。
【請求項7】
前記検出手段によって、一定時間の間に前記重複領域が検出されない場合、前記表示手段が表示する前記座標入力領域を規定するための画像の表示位置の変更を促すメッセージを出力する出力手段を更に備える
ことを特徴とする請求項1に記載の座標入力装置。
【請求項8】
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置の制御方法であって、
前記座標入力領域に画像を表示する表示工程と、
前記座標入力領域において、指示具により入力された座標値を検出する複数のセンサ部の内、少なくとも2つのセンサ部の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示工程により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出工程と
を備えることを特徴とする座標入力装置の制御方法。
【請求項9】
座標入力領域に対して指示具により入力された座標値を検出する座標入力装置の制御をコンピュータに実行させるためのプログラムであって、
前記座標入力領域に画像を表示する表示工程と、
前記座標入力領域において、指示具により入力された座標値を検出する複数のセンサ部の内、少なくとも2つのセンサ部の異なる組それぞれよって座標値を検出する範囲が重複領域を有するように配置されている場合に、前記表示工程により前記重複領域を検出するための重複領域検出用画像を表示し、前記重複領域検出用画像に対して、前記指示具により入力された座標値を検出することによって、前記重複領域を検出する検出工程と
をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−48403(P2012−48403A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−188758(P2010−188758)
【出願日】平成22年8月25日(2010.8.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月25日(2010.8.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]