(57)【要約】【課題】表示画面上における入力装置の位置を検出するための専用の位置検出装置を必要とせず、表示画像と検出位置の座標を校正する必要のない入力システムを提供する。【解決手段】画像を生成する画像生成装置と、前記画像を表示する表示装置と、前記表示装置の表示画面に接触可能な先端部、該先端部への入射光を検出する光検出部、該光検出部の検出結果を基に所定の処理を行う処理部、及び前記画像生成装置との通信を行う送信部を備える移動操作可能な入力装置とから構成され、前記入力装置における前記処理部は、前記光検出部の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出処理を行う。【選択図】図１
2010113598.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成する画像生成装置と、
前記画像を表示する表示装置と、
前記表示装置の表示画面に接触可能な先端部と、該先端部への入射光を検出する光検出部と、該光検出部の検出結果を基に所定の処理を行う処理部と、前記画像生成装置との通信を行う送信部と、を備える移動操作可能な入力装置と、
から構成され、
前記入力装置における前記処理部は、前記光検出部の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出処理を行うことを特徴とする入力システム。
【請求項２】
前記入力装置の処理部は、前記位置検出処理において、前記光検出部の検出結果を基に前記表示画面に表示しているカーソルパターン上に前記先端部が位置しているか否かを判定し、否の場合に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置を探査するためのキャリブレーション処理を行うことにより、前記先端部の位置を確定し、前記画像生成装置に対して前記確定した先端部の位置に前記カーソルパターンを移動させるように指示することを特徴とする請求項１記載の入力システム。
【請求項３】
前記入力装置の処理部は、前記位置検出処理において、前記表示画面に表示しているカーソルパターンを点滅させるように前記画像生成装置に指示し、前記光検出部の検出結果を基に前記点滅の有無を確認することにより、前記カーソルパターン上に前記先端部が位置しているか否かを判定することを特徴とする請求項２記載の入力システム。
【請求項４】
前記入力装置の処理部は、前記キャリブレーション処理において、
表示画面全体を探査範囲として初期設定する初期設定処理と、
前記画像生成装置に対して、表示画面上の探査範囲を異なる明るさで２分割表示するように指示する第１の分割処理と、
前記第１の分割処理後の前記光検出部の検出結果を第１の検出結果として取得する第１の光検出取得処理と、
前記画像生成装置に対して、前記第１の分割処理で２分割表示している２領域の明るさを反転させるように指示する第２の分割処理と、
前記第２の分割処理後の前記光検出部の検出結果を第２の検出結果として取得する第２の光検出取得処理と、
前記第１の検出結果と第２の検出結果を基に、２分割された２領域の内、検出レベルが高い方の領域を前記先端部が位置する候補範囲とし、該候補範囲を新たな探査範囲として再設定する探査範囲設定処理と、
前記探査範囲の再設定後、所定回数、前記第１の分割処理から前記探査範囲設定処理までの一連の処理を繰り返して最終的に得られる前記候補範囲の中心座標を前記先端部の位置として確定し、前記画像生成装置に対して前記確定した先端部の位置に前記カーソルパターンを移動させるように指示する先端位置確定処理と、
を実行することを特徴とする請求項２または３に記載の入力システム。
【請求項５】
前記入力装置の処理部は、前記キャリブレーション処理において、
表示画面全体を探査範囲として初期設定する初期設定処理と、
前記画像生成装置に対して、表示画面上の探査範囲を異なる色で縦方向に、または横方向に複数分割して表示するように指示する第１の分割処理と、
前記第１の分割処理後の前記光検出部の検出結果を第１の検出結果として取得する第１の光検出取得処理と、
前記画像生成装置に対して、前記第１の分割処理とは異なる方向に複数分割して表示するように指示する第２の分割処理と、
前記第２の分割処理後の前記光検出部の検出結果を第２の検出結果として取得する第２の光検出取得処理と、
前記第１の検出結果と第２の検出結果を基に、縦方向と横方向とで色が一致する分割領域の交差領域を前記先端部が位置する候補範囲とし、該候補範囲を新たな探査範囲として再設定する探査範囲設定処理と、
前記探査範囲の再設定後、所定回数、前記第１の分割処理から前記探査範囲設定処理までの一連の処理を繰り返して最終的に得られる前記候補範囲の中心座標を前記先端部の位置として確定し、前記画像生成装置に対して前記確定した先端部の位置に前記カーソルパターンを移動させるように指示する先端位置確定処理と、
を実行することを特徴とする請求項２または３に記載の入力システム。
【請求項６】
前記入力装置は、前記先端部が前記表示画面に接触したか否かを検出する接触検出部を備え、
前記処理部は、前記位置検出処理によって前記先端部の位置と前記カーソルパターンの位置とが一致した後、前記接触検出部の検出結果が接触有りを示している場合には、前記先端部の移動に応じた書き込み処理を実行し、前記接触検出部の検出結果が接触無しを示している場合には、前記先端部の移動に追従して前記カーソルパターンを移動させるフローティング処理を実行することを特徴とする請求項２〜５のいずれか一項に記載の入力システム。
【請求項７】
前記カーソルパターンは、専用色が割り当てられた中心部と該中心部を内包し他の色が割り当てられた周辺部とからなり、該周辺部には方位に対応して区分され且つ異なる色が割り当てられた複数の方位検出領域が形成されたパターンであって、
前記入力装置の処理部は、前記書き込み処理または前記フローティング処理において、前記光検出部の検出結果を基に色判定を行うことにより、前記先端部が前記カーソルパターン内のどの方位検出領域に存在しているか判定し、前記先端部が存在していると判定された方位検出領域に対応する方位に向かって前記カーソルパターンを移動させるように前記画像生成装置に指示する一方、書き込み処理の場合には加えてカーソルパターンの移動軌跡上に線を描くように指示することを特徴とする請求項６記載の入力システム。
【請求項８】
前記入力装置の処理部は、前記書き込み処理または前記フローティング処理において、
前記光検出部の検出結果を基に色判定を行う色判定処理と、
前記色判定処理によって判定された色と前記カーソルパターンにおける中心部の色とが一致するか否かを判定し、一致している場合には前記接触検出部の検出結果が接触有りを示しているか否かの判定処理を再実行する中心部判定処理と、
前記中心部判定処理において一致していないと判定された場合に、前記色判定処理によって判定された色と同一の色の方位検出領域を前記先端部が存在する方位検出領域として探索する方位探索処理と、
を実行することを特徴とする請求項７記載の入力システム。
【請求項９】
前記入力装置は、自己に発生する加速度を検出する加速度検出部を備え、
前記入力装置の処理部は、前記書き込み処理または前記フローティング処理において、
前記加速度検出部の加速度検出結果に基づいて入力装置がカーソルパターンから前記先端部が外れてしまう程の速度で移動したか否かを判定し、否の場合には前記光検出部の検出結果に基づく色判定を行う一方、カーソルパターンから前記先端部が外れてしまう程の速度で移動したと判定した場合には前記位置検出処理を最初からやり直すことを特徴とする請求項７または８に記載の入力システム。
【請求項１０】
前記カーソルパターンの中心部及び周辺部における各方位検出領域の色は、赤色、緑色、青色の任意の組み合わせによって表現されており、赤色、緑色、青色のそれぞれの明るさは２ビットのコードで設定されていることを特徴とする請求項７〜９のいずれか一項に記載の入力システム。
【請求項１１】
前記カーソルパターンにおける各方位検出領域のコード設定手法として、グレイコードを採用していることを特徴とする請求項１０記載の入力システム。
【請求項１２】
前記入力装置の処理部は、前記位置検出処理の始めに、前記カーソルパターンの中心部及び周辺部における各方位検出領域毎に設定されたコードを、前記光検出部の検出結果を基に判定するためのコード判定閾値を設定する閾値設定処理を実行することを特徴とする請求項１０または１１に記載の入力システム。
【請求項１３】
前記入力装置の処理部は、前記閾値設定処理において、
前記画像生成装置に対して表示画面を黒表示するように指示する黒表示処理と、
前記黒表示後に前記光検出部の赤色、緑色、青色に対応するそれぞれの検出結果を、黒検出結果として取得する黒レベル取得処理と、
前記画像生成装置に対して表示画面を白表示するように指示する白表示処理と、
前記白表示後に前記光検出部の赤色、緑色、青色に対応するそれぞれの検出結果を、白検出結果として取得する白レベル取得処理と、
前記黒検出結果及び白検出結果に基づいて赤色、緑色、青色に対応する前記コード判定閾値を設定する設定処理と、
を実行することを特徴とする請求項１２記載の入力システム。
【請求項１４】
前記表示装置として投射型表示装置を複数備え、
各投射型表示装置によって各方向から同一の投射領域に画面を同時に表示させるか、または選択的にある投射型表示装置だけで画面を表示させることを特徴とする請求項１〜１３のいずれか一項に記載の入力システム。
【請求項１５】
画像生成装置によって生成した画像を表示装置によって表示し、
移動操作可能な入力装置に設けられた、前記表示装置の表示画面に接触可能な先端部への入射光の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出を行うことを特徴とする入力方法。
【請求項１６】
表示装置の表示画面に接触可能な先端部と、
該先端部への入射光を検出する光検出部と、
該光検出部の検出結果を基に所定の処理を行う処理部と、
画像生成装置との通信を行う送信部と、を備え、
前記処理部は、前記光検出部の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出処理を行うことを特徴とする入力装置。
【請求項１７】
入力装置に設けられた先端部への入射光を検出する光検出部の検出結果を基に、画像生成装置による画像生成処理と協同しながら前記先端部の位置検出機能をコンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力システム、入力方法、入力装置及びプログラムに関する。
【背景技術】
【０００２】
従来から、プロジェクタを用いてパソコンの画面を投射し、その投射画面上に表示されているカーソルに対するペン等のポインティングデバイス（入力装置の一形態）の動きを検出して、そのペンの動きに応じて投射画面上でカーソルを移動させることにより、情報の入力を行うことが可能な入力システムが知られている。また、その他の入力システムとして、画面を投射するスクリーン自体に、抵抗膜方式や表面弾性波方式、誘導方式等によるポインティングデバイスの動き検出機能を備えた専用の板面を使用するシステムも提案されている。
【０００３】
このようにスクリーン自体にポインティングデバイスの動き検出機能を備える方式では、このスクリーンをホワイトボードに類似する構成とし、移動用のキャスター等が設けられる場合も多いが、大きく重いため持ち歩くことは困難であり、使用する場面は限られていた。これに対し、比較的小型化を図ることが可能な入力システムが下記特許文献１及び２に開示されている。
【０００４】
下記特許文献１に開示された入力システム（電子黒板システム）は、ペンに赤外線及び超音波の発信部を設ける一方、画面が投射されるホワイトボード上の所定位置に赤外線受信部及び２つの超音波受信部からなる受信ユニットを設け、ペンから発信される赤外線を赤外線受信部で受信してから超音波を２つの超音波受信部で受信する時間を測定し、その時間測定結果と音速とを基に２つの超音波受信部とペンとの距離を算出し、三角測量の原理からペンの位置（座標）を検出するものである。
【０００５】
下記特許文献２に開示された入力システム（投射像記憶システム）は、プロジェクタでホワイトボードに投射した画面にマーカペンで文字等を記入し、投射画面と記入された文字とをカメラで撮影して得られる合成像を記憶するものである。
【特許文献１】特開２００５−１２８６１１号公報
【特許文献２】特開２００１−３１２００１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１のシステムでは、ペンと受信ユニットからなる座標検出装置と、プロジェクタ等の投射装置とが別の装置であるため、検出座標と投射画像の座標の校正が必要となる。特許文献１には、このような座標の校正手法として、２つの超音波受信部のそれぞれに発光素子を取り付け、この発光素子とホワイトボード上に投射されたテストパターンとをカメラによって撮影し、その撮影画像を基に発光素子と投射画像との位置関係を取得することにより、自動的に座標の校正を行うことが記載されている。しかしながら、この手法によると、校正だけのために専用の発光素子やカメラを設ける必要があり、装置コストの増加を招く。
【０００７】
また、一般的な校正手法として、プロジェクタから予め決められた校正パターンを投射し、その投射画面上で指定された場所をペンで順次指し示すという手法が挙げられるが、システムの使用前にこの校正作業を必ず行う必要があり、ユーザに負担を強いることになる。さらに、特許文献１のシステムでは、超音波の分解能の制約から、座標検出精度を上げるには２つの超音波受信部間の距離間隔を広くしなければならず、受信ユニットの大型化を招くという問題がある。
【０００８】
上記特許文献２のシステムでは、パソコン側のカーソルを制御することができない。また、一般的な公知の手法として、ペン先に赤外線または特定の色を発光する機能を設け、ペン先をその発光波長に対応する光学フィルタを介して撮影し、その撮影画像を基にペン先の位置を検出することでカーソルを制御する手法が挙げられる。しかしながら、この手法を採用しても、専用のカメラを用意する必要があり、また、プロジェクタとカメラは独立した装置であるため、投射画像と撮影画像との位置関係を校正する必要が生じる。
【０００９】
本発明は、上述した事情に鑑みてなされたものであり、表示画面上における入力装置の位置を検出するための専用の位置検出装置を必要とせず、表示画像と検出位置の座標を校正する必要のない入力システム、入力方法、入力装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る入力システムは、画像を生成する画像生成装置と、前記画像を表示する表示装置と、前記表示装置の表示画面に接触可能な先端部と、該先端部への入射光を検出する光検出部と、該光検出部の検出結果を基に所定の処理を行う処理部と、前記画像生成装置との通信を行う送信部と、を備える移動操作可能な入力装置とから構成され、前記入力装置における前記処理部は前記光検出部の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出処理を行うことを特徴とする。
このような特徴を有する入力システムによれば、入力装置内に設けられた光検出部の検出結果を基に画像生成装置による画像生成処理と協同しながら入力装置の先端部の位置検出処理を行うため、従来のような入力装置の位置を検出するための専用の位置検出装置を必要とせず、そのため表示画像と検出位置の座標を校正する必要がなくなり、システムの使い勝手やメンテナンス性の向上、システム全体の小型化、装置コストの削減を図ることができる。
【００１１】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記位置検出処理において、前記光検出部の検出結果を基に前記表示画面に表示しているカーソルパターン上に前記先端部が位置しているか否かを判定し、否の場合に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置を探査するためのキャリブレーション処理を行うことにより、前記先端部の位置を確定し、前記画像生成装置に対して前記確定した先端部の位置に前記カーソルパターンを移動させるように指示することが好ましい。
入力装置の先端部を表示画面に接触させた場合に、先端部がカーソルパターン上に位置していれば、問題なくカーソルパターンの位置が先端部の位置であると判定することができる。しかしながら、先端部がカーソルパターン上に位置していない場合には、画像生成装置との協同によるキャリブレーション処理によって先端部の位置を確定することによって、カーソルパターンの位置と先端部の位置とを一致させることができる。
【００１２】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記位置検出処理において、前記表示画面に表示しているカーソルパターンを点滅させるように前記画像生成装置に指示し、前記光検出部の検出結果を基に前記点滅の有無を確認することにより、前記カーソルパターン上に前記先端部が位置しているか否かを判定することが好ましい。
これにより、簡単にカーソルパターン上に先端部が位置しているか否かを判定することができる。
【００１３】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記キャリブレーション処理において、表示画面全体を探査範囲として初期設定する初期設定処理と、前記画像生成装置に対して、表示画面上の探査範囲を異なる明るさで２分割表示するように指示する第１の分割処理と、前記第１の分割処理後の前記光検出部の検出結果を第１の検出結果として取得する第１の光検出取得処理と、前記画像生成装置に対して、前記第１の分割処理で２分割表示している２領域の明るさを反転させるように指示する第２の分割処理と、前記第２の分割処理後の前記光検出部の検出結果を第２の検出結果として取得する第２の光検出取得処理と、前記第１の検出結果と第２の検出結果を基に、２分割された２領域の内、検出レベルが高い方の領域を前記先端部が位置する候補範囲とし、該候補範囲を新たな探査範囲として再設定する探査範囲設定処理と、前記探査範囲の再設定後、所定回数、前記第１の分割処理から前記探査範囲設定処理までの一連の処理を繰り返して最終的に得られる前記候補範囲の中心座標を前記先端部の位置として確定し、前記画像生成装置に対して前記確定した先端部の位置に前記カーソルパターンを移動させるように指示する先端位置確定処理とを実行することが好ましい。
このようなキャリブレーション処理を行うことにより、高精度に先端部の位置を検出することができる。
【００１４】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記キャリブレーション処理において、表示画面全体を探査範囲として初期設定する初期設定処理と、前記画像生成装置に対して、表示画面上の探査範囲を異なる色で縦方向に、または横方向に複数分割して表示するように指示する第１の分割処理と、前記第１の分割処理後の前記光検出部の検出結果を第１の検出結果として取得する第１の光検出取得処理と、前記画像生成装置に対して、前記第１の分割処理とは異なる方向に複数分割して表示するように指示する第２の分割処理と、前記第２の分割処理後の前記光検出部の検出結果を第２の検出結果として取得する第２の光検出取得処理と、前記第１の検出結果と第２の検出結果を基に、縦方向と横方向とで色が一致する分割領域の交差領域を前記先端部が位置する候補範囲とし、該候補範囲を新たな探査範囲として再設定する探査範囲設定処理と、前記探査範囲の再設定後、所定回数、前記第１の分割処理から前記探査範囲設定処理までの一連の処理を繰り返して最終的に得られる前記候補範囲の中心座標を前記先端部の位置として確定し、前記画像生成装置に対して前記確定した先端部の位置に前記カーソルパターンを移動させるように指示する先端位置確定処理とを実行することが好ましい。
このようなキャリブレーション処理を行うことにより、高精度に先端部の位置を検出することができると共に、先に述べたキャリブレーション処理よりも短時間で先端部の位置を確定することができる。
【００１５】
また、上述した入力システムにおいて、前記入力装置は、前記先端部が前記表示画面に接触したか否かを検出する接触検出部を備え、前記処理部は、前記位置検出処理によって前記先端部の位置と前記カーソルパターンの位置とが一致した後、前記接触検出部の検出結果が接触有りを示している場合には、前記先端部の移動に応じた書き込み処理を実行し、前記接触検出部の検出結果が接触無しを示している場合には、前記先端部の移動に追従して前記カーソルパターンを移動させるフローティング処理を実行することが好ましい。
このように位置検出処理によって前記先端部の位置と前記カーソルパターンの位置とが一致した後、先端部が表示画面に接触している場合には、作業者は書き込み入力を行おうとしていると推測され、また、先端部が接触していない場合には、作業者は単に入力装置の移動を行おうとしていると推測されるため、上記のように先端部が表示画面に接触している場合には書き込み処理を実行し、また、先端部が接触していない場合にはフローティング処理を実行することにより、作業者の意図に応じた処理を行うことができる。
【００１６】
また、上述した入力システムにおいて、前記カーソルパターンは、専用色が割り当てられた中心部と該中心部を内包し他の色が割り当てられた周辺部とからなり、該周辺部には方位に対応して区分され且つ異なる色が割り当てられた複数の方位検出領域が形成されたパターンであって、前記入力装置の処理部は、前記書き込み処理または前記フローティング処理において、前記光検出部の検出結果を基に色判定を行うことにより、前記先端部が前記カーソルパターン内のどの方位検出領域に存在しているか判定し、前記先端部が存在していると判定された方位検出領域に対応する方位に向かって前記カーソルパターンを移動させるように前記画像生成装置に指示する一方、書き込み処理の場合には加えてカーソルパターンの移動軌跡上に線を描くように指示することが好ましい。
上記のような構成のカーソルパターンを用いることにより、入力装置の先端部の移動に応じてカーソルパターンの追従移動、及び線の書き込みを行うことができる。
【００１７】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記書き込み処理または前記フローティング処理において、前記光検出部の検出結果を基に色判定を行う色判定処理と、前記色判定処理によって判定された色と前記カーソルパターンにおける中心部の色とが一致するか否かを判定し、一致している場合には前記接触検出部の検出結果が接触有りを示しているか否かの判定処理を再実行する中心部判定処理と、前記中心部判定処理において一致していないと判定された場合に、前記色判定処理によって判定された色と同一の色の方位検出領域を前記先端部が存在する方位検出領域として探索する方位探索処理とを実行することが好ましい。
これにより、精度良く入力装置の先端部の移動方位を知ることができ、正確にカーソルパターンの追従移動、及び線の書き込みを行うことができる。
【００１８】
また、上述した入力システムにおいて、前記入力装置は、自己に発生する加速度を検出する加速度検出部を備え、前記入力装置の処理部は、前記書き込み処理または前記フローティング処理において、前記加速度検出部の加速度検出結果に基づいて入力装置がカーソルパターンから前記先端部が外れてしまう程の速度で移動したか否かを判定し、否の場合には前記光検出部の検出結果に基づく色判定を行う一方、カーソルパターンから前記先端部が外れてしまう程の速度で移動したと判定した場合には前記位置検出処理を最初からやり直すことが好ましい。
このように、入力装置がカーソルパターンから前記先端部が外れてしまう程の速度で移動した場合にはカーソルパターンの追従移動は困難であるため、位置検出処理の最初からやり直すことにより、継続的にシステムを使用することができる。また、この場合、カーソルパターンは停止するため、カーソルパターンが意図しない位置に移動してしまうことを防止することができる。
【００１９】
また、上述した入力システムにおいて、前記カーソルパターンの中心部及び周辺部における各方位検出領域の色は、赤色、緑色、青色の任意の組み合わせによって表現されており、赤色、緑色、青色のそれぞれの明るさは２ビットのコードで設定されていることが好ましい。
これにより、簡単且つ確実に入力装置の位置検出及びカーソルパターンの追従移動を行うことができる。
【００２０】
また、上述した入力システムにおいて、前記カーソルパターンにおける各方位検出領域のコード設定手法として、グレイコードを採用していることが好ましい。
これにより、入力装置の先端部がカーソルパターン内の２つの方位検出領域に跨って位置し、不安定なコードを得た場合であっても、隣接する方位検出領域以外のコードが検出されることはないため、カーソルパターンの移動方向が作業者が意図したものとは全く異なることはなく、意図しない方向に移動することを回避することができる。
【００２１】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記位置検出処理の始めに、前記カーソルパターンの中心部及び周辺部における各方位検出領域毎に設定されたコードを、前記光検出部の検出結果を基に判定するためのコード判定閾値を設定する閾値設定処理を実行することが好ましい。
このようなコード判定閾値を設定することにより、光検出部の検出結果から正確にカーソルパターンの各領域の色に対応するコードを判定することができる。
【００２２】
また、上述した入力システムにおいて、前記入力装置の処理部は、前記閾値設定処理において、前記画像生成装置に対して表示画面を黒表示するように指示する黒表示処理と、前記黒表示後に前記光検出部の赤色、緑色、青色に対応するそれぞれの検出結果を、黒検出結果として取得する黒レベル取得処理と、前記画像生成装置に対して表示画面を白表示するように指示する白表示処理と、前記白表示後に前記光検出部の赤色、緑色、青色に対応するそれぞれの検出結果を、白検出結果として取得する白レベル取得処理と、前記黒検出結果及び白検出結果に基づいて赤色、緑色、青色に対応する前記コード判定閾値を設定する設定処理とを実行することが好ましい。
このような閾値設定処理を行うことで、より精度の良いコード判定閾値を得ることができる。
【００２３】
また、上述した入力システムにおいて、前記表示装置として投射型表示装置を複数備え、各投射型表示装置によって各方向から同一の投射領域に画面を同時に表示させるか、または選択的にある投射型表示装置だけで画面を表示させることが好ましい。
このような構成とすることにより、入力装置を手で操作する場合に生じる影の影響を減らすことができ、作業効率の向上を図ることができる。
【００２４】
また、本発明に係る入力方法は、画像生成装置によって生成した画像を表示装置によって表示し、移動操作可能な入力装置に設けられた、前記表示装置の表示画面に接触可能な先端部への入射光の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出を行うことを特徴とする。
このような特徴を有する入力方法によると、従来のような入力装置の位置を検出するための専用の位置検出装置を必要とせず、そのため表示画像と検出位置の座標を校正する必要がなくなり、システムの使い勝手やメンテナンス性の向上、システム全体の小型化、装置コストの削減を図ることができる。
【００２５】
また、本発明に係る入力装置は、表示装置の表示画面に接触可能な先端部と、該先端部への入射光を検出する光検出部と、該光検出部の検出結果を基に所定の処理を行う処理部と、画像生成装置との通信を行う送信部と、を備え、前記処理部は、前記光検出部の検出結果を基に前記画像生成装置による画像生成処理と協同しながら前記先端部の位置検出処理を行うことを特徴とする。
このような特徴を有する入力装置によると、従来のような専用の位置検出装置を必要とせず、そのため表示画像と検出位置の座標を校正する必要がなくなり、入力システムの使い勝手やメンテナンス性の向上、システム全体の小型化、装置コストの削減を図ることができる。
【００２６】
また、本発明に係るプログラムは、入力装置に設けられた先端部への入射光を検出する光検出部の検出結果を基に、画像生成装置による画像生成処理と協同しながら前記先端部の位置検出機能をコンピュータに実現させることを特徴とする。
このような特徴を有するプログラムによると、従来のような専用の位置検出装置を必要とせず、そのため表示画像と検出位置の座標を校正する必要がなくなり、入力システムの使い勝手やメンテナンス性の向上、システム全体の小型化、装置コストの削減を図ることができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の一実施形態について図面を参照しながら説明する。
〔第１実施形態〕
まず、本発明に係る入力システムの第１実施形態について説明する。図１は、第１実施形態における入力システムの構成概略図である。この図１に示すように、本入力システムは、プロジェクタ（表示装置）１０、ペン（入力装置）２０、コンピュータ（画像生成装置）３０及び通信ケーブル４０とから概略構成されている。また、図１において、符号ＤＫは作業机、符号Ｋは作業者である。
【００２８】
プロジェクタ１０は、作業机ＤＫ上において所定の高さに設置されており、通信ケーブル４０を介して接続されたコンピュータ２０から入力される映像信号に応じた画像を、作業机ＤＫの上面に設けられたスクリーンに投射表示する。ペン２０は、プロジェクタ１０によって作業机ＤＫに投射された画面（投射画面Ｗ）上において、作業者Ｋの手によって操作されるポインティングデバイスであり、その操作に応じて得られる各種情報を基に所定の処理を行い、その処理結果を送信信号としてコンピュータ３０に無線送信する機能を備えている。
【００２９】
コンピュータ３０は、作業机ＤＫ上の所定位置に配置されたＰＣ(Personal Computer)であり、ペン２０から送信される送信信号を受信するための無線通信カード３１を備えている。このコンピュータ３０は、表示すべき画像を表す映像信号を生成してプロジェクタ１０に出力する一方、ペン２０から無線通信カード３１を介して受信した信号に基づいてペン２０の位置を把握し、ペン２０の位置に応じて投射画面Ｗに表示しているカーソルの位置制御を行う。なお、コンピュータ３０は、不図示のＣＰＵ(Central Processing Unit)やハードディスク等を内蔵しており、ＣＰＵによってハードディスクに記憶されているプログラムを実行することにより、上記のカーソルの位置制御等の各種処理を行っている。
【００３０】
図２は、ペン２０の構成概略図である。この図２に示すように、ペン２０は、ペン先に相当する先端部２１と、先端部２１と一体的に接合された円筒部材の内部に配置された処理回路（処理部）２２、動き検出部（加速度検出部）２３、送信部２４及び電源部２５とから構成されている。
【００３１】
図３は、先端部２１の詳細図である。図３において、ペン先部材１００は、透明な樹脂で構成されていると共に、その先端１００aの表面には微細な光学的散乱構造が形成されており、外部から照射された光が先端１００aの表面で散乱されて一部の光が内部に入り、ペン先部材１００の全体が導光部材として機能して反対側に光を伝達する。ペン先部材１００の先端１００aを除く側面には、外部からの光が入射しないように塗装が施された塗料部１００bが設けられている。
【００３２】
ペン先部材１００における先端１００aの反対側の端部は透明な平坦形状となっており、その端部にはカラーセンサ１０１が受光面と端部とが対向するように接着されている。カラーセンサ１０１は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の各色に対応するカラーフィルタと、各カラーフィルタに対応して設けられた３つのフォトダイオードとを備えており、ペン先部材１００を介して入射される外部光の各色Ｒ、Ｇ、Ｂ毎の明るさに応じた信号を出力する構成となっている。なお、この出力信号は、後述する先端部２１に設けられた前置回路２００に出力される（図４参照）。
【００３３】
また、カラーセンサ１０１の受光面とは反対側の面には接点１０２が設けられており、ペン先部材１００の把持部材１０３との間にはバネ１０４が設けられており、また、把持部材１０３側には接点１０２と対向して接点１０５が設けられている。従って、ペン先部材１００の先端に、軸方向に平行な力が加わると、ペン先部材１００が軸方向に摺動し、バネ１０４が圧縮されて、カラーセンサ１０１の接点１０２と把持部材１０３の接点１０５とが接触する（電気的に接続される）。このような接点１０２と１０５は、後述するスイッチ（接触検出部）２０３として処理回路２２に接続されている（図４参照）。
【００３４】
ペン先部材１００の中央付近には、周面を取り巻くように電極１０６が設けられており、また、把持部材１０３の先端部には、開口部を取り巻くように電極１０７が設けられている。さらに、把持部材１０３における開口部の内側には、ペン先部材１００を取り巻くように支持部１０８が設けられており、ペン先部材１００をわずかな間隙で支持する構成となっている。ペン先部材１００の先端に、軸方向に平行な力が印加された場合には、上述のようにペン先部材１００が軸方向に摺動するが、軸方向と直交する方向に力が印加された場合には、支持部１０８を支点として電極１０６と１０７とが接触する。このような電極１０６と１０７は、後述するスイッチ（接触検出部）２０４として処理回路２２に接続されている（図４参照）。
【００３５】
作業者Ｋがペン２０を手に持って投射画面Ｗ上で文字の書き込み操作や、所定の指示操作を行う場合、ペン２０におけるペン先部材１００の先端１００aがスクリーン表面に接触するため、ペン先部材１００には斜め方向の力が印加されて、接点１０２と１０５とが接触、または電極１０６と１０７とが接触、若しくは両方が接触することにより、いわゆるペンタッチを検出することができる。
【００３６】
図４は、ペン２０の信号処理系の回路ブロック図である。この図４に示すように、先端部２１に設けられた前置回路２００は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の各色に対応するカラーフィルタ１１０Ｒ、１１０Ｇ、１１０Ｂと、各カラーフィルタに対応して設けられた３つのフォトダイオード１１１Ｒ、１１１Ｇ、１１１Ｂとを備えたカラーセンサ１０１と、各色に対応するオペアンプ２０１Ｒ、２０１Ｇ、２０１Ｂと、負帰還抵抗２０２Ｒ、２０２Ｇ、２０２Ｂと、接点１０２と１０５からなるスイッチ２０３と、電極１０６と１０７からなるスイッチ２０４とから構成されている。なお、カラーセンサ１０１と、オペアンプ２０１Ｒ、２０１Ｇ、２０１Ｂと、負帰還抵抗２０２Ｒ、２０２Ｇ、２０２Ｂとは、本発明における光検出部に相当する。
【００３７】
フォトダイオード１１１Ｒの出力はオペアンプ２０１Ｒの反転入力端子と接続されており、オペアンプ２０１Ｒはフォトダイオード１１１Ｒによって受光された赤色光の明るさに応じた電圧を処理回路２２のＡ／Ｄコンバータ２１０Ｒに出力する。フォトダイオード１１１Ｇの出力はオペアンプ２０１Ｇの反転入力端子と接続されており、オペアンプ２０１Ｇはフォトダイオード１１１Ｇによって受光された緑色光の明るさに応じた電圧を処理回路２２のＡ／Ｄコンバータ２１０Ｇに出力する。フォトダイオード１１１Ｂの出力はオペアンプ２０１Ｂの反転入力端子と接続されており、オペアンプ２０１Ｂはフォトダイオード１１１Ｂによって受光された青色光の明るさに応じた電圧を処理回路２２のＡ／Ｄコンバータ２１０Ｂに出力する。スイッチ２０３の両端（つまり接点１０２と１０５）、及びスイッチ２０４の両端（つまり電極１０６と１０７）は、処理回路２２のインタフェース回路２１１と接続されている。
【００３８】
処理回路２２は、各色に対応するＡ／Ｄコンバータ２１０Ｒ、２１０Ｇ、２１０Ｂと、インタフェース回路２１１と、ＣＰＵ２１２と、ＲＡＭ(Random Access Memory)２１３と、  ＲＯＭ(Read Only Memory)２１４、バス２１５とから構成されている。
【００３９】
Ａ／Ｄコンバータ２１０Ｒは、オペアンプ２０１Ｒの出力電圧をデジタルデータ（赤色明るさデータ）に変換してインタフェース回路２１１に出力する。Ａ／Ｄコンバータ２１０Ｇは、オペアンプ２０１Ｇの出力電圧をデジタルデータ（緑色明るさデータ）に変換してインタフェース回路２１１に出力する。Ａ／Ｄコンバータ２１０Ｂは、オペアンプ２０１Ｂの出力電圧をデジタルデータ（青色明るさデータ）に変換してインタフェース回路２１１に出力する。
【００４０】
インタフェース回路２１１は、Ａ／Ｄコンバータ２１０Ｒ、２１０Ｇ、２１０Ｂから入力される各色の明るさデータと、スイッチ２０３、２０４のオン／オフ状態を示すデータと、後述する動き検出部２３から入力されるＸ軸加速度データ及びＹ軸加速度データとを、バス２１５を介してＣＰＵ２１２に出力する。
【００４１】
ＣＰＵ２１２は、バス２１５を介してインタフェース回路２１１、ＲＡＭ２１３、ＲＯＭ２１４、及び後述する送信部２４のインタフェース回路２３０と接続されている。このＣＰＵ２１２は、ＲＯＭ２１４に記憶されているプログラムを実行することにより、インタフェース回路２１１から得られる各種データに基づいて所定の処理を行い、その処理結果を送信データとし、送信部２４を介してコンピュータ３０に送信する。
【００４２】
ＲＡＭ２１３は、ＣＰＵ２１２が各種の演算処理を行う際にデータの一時保存先として用いられるワーキングメモリである。ＲＯＭ２１４は、ＣＰＵ２１２が実行するプログラムやその他の演算処理に必要なデータを予め記憶している不揮発性メモリである。
【００４３】
動き検出部２３は、Ｘ加速度センサ２２０、Ｙ加速度センサ２２１、Ａ／Ｄコンバータ２２２及びＡ／Ｄコンバータ２２３から構成されている。ここで、ペン２０の長手方向と垂直な平面内において、互いに直交するＸ軸及びＹ軸を想定する。Ｘ加速度センサ２２０は、上記Ｘ軸方向に生じる加速度を検出し、その検出結果を示す加速度信号をＡ／Ｄコンバータ２２２に出力する。Ｙ加速度センサ２２１は、上記Ｙ軸方向に生じる加速度を検出し、その検出結果を示す加速度信号をＡ／Ｄコンバータ２２３に出力する。
【００４４】
Ａ／Ｄコンバータ２２２は、Ｘ加速度センサ２２０から入力される加速度信号をデジタルデータ（Ｘ軸加速度データ）に変換してインタフェース回路２１１に出力する。Ａ／Ｄコンバータ２２３は、Ｙ加速度センサ２２１から入力される加速度信号をデジタルデータ（Ｙ軸加速度データ）に変換してインタフェース回路２１１に出力する。
このような動き検出部２３によって、ペン２０が動くことにより生じる加速度を検出することができる。
【００４５】
送信部２４は、インタフェース回路２３０、変調回路２３１、増幅回路２３２及びアンテナ２３３から構成されている。インタフェース回路２３０は、処理回路２２から入力される送信データを変調回路２３１に出力する。変調回路２３１は、インタフェース回路２３０から入力される送信データの変調処理を行うことにより、ＲＦ周波数帯の送信信号を生成して増幅回路２３２に出力する。増幅回路２３２は、変調回路２３１から入力される送信信号を増幅し、増幅後の送信信号をアンテナ２３３を介してコンピュータ３０（無線通信カード３１）に送信する。
なお、図４では、図示していないが、電源部２５は、前置回路２００、処理回路２２、動き検出部２３及び送信部２４に電源電圧を供給するものである。
【００４６】
以上のように構成されたペン２０においては、作業者Ｋによる操作に応じて、ペンタッチの有無と、現在のペン先位置における各色光の明るさと、Ｘ軸及びＹ軸方向の加速度とが情報として得られることになり、各種情報を基にした処理が行われて、その処理結果がコンピュータ３０に送信されることになる。
【００４７】
続いて、図５を参照して、コンピュータ３０のカーソルとしてプロジェクタ１０から投射されるカーソルパターンについて説明する。なお、本実施形態におけるカーソルは、一般的にマウスやキーボード等で操作するカーソルとはそのパターンが異なるが、ポインタとしての役割を担うという点では同じである。
【００４８】
図５（a）に、本実施形態におけるカーソルパターンＣＰの一例を示す。この図５に示すように、カーソルパターンＣＰは、円形の中心部ＣＰ１と、該中心部ＣＰ１を内包する同心円の周辺部ＣＰ２とからなり、この周辺部ＣＰ２には中心点からの方位に対応して区分された複数（本実施形態では１６個）の方位検出領域ＤＳ１〜ＤＳ１６が形成されている。ここで、図中に示すようなＸＹ座標系を想定し、左回りを正の方向とすると、例えば、方位検出領域ＤＳ１はＸ軸に対して０／８×π（rad）＝０（rad）の方位に対応し、方位検出領域ＤＳ２は１／８×π（rad）の方位に対応している。
【００４９】
他も同様に、方位検出領域ＤＳ３は２／８×π（rad）、方位検出領域ＤＳ４は３／８×π（rad）、方位検出領域ＤＳ５は４／８×π（rad）、方位検出領域ＤＳ６は５／８×π（rad）、方位検出領域ＤＳ７は６／８×π（rad）、方位検出領域ＤＳ８は７／８×π（rad）、方位検出領域ＤＳ９は８／８×π（rad）、方位検出領域ＤＳ１０は９／８×π（rad）、方位検出領域ＤＳ１１は１０／８×π（rad）、方位検出領域ＤＳ１２は１１／８×π（rad）、方位検出領域ＤＳ１３は１２／８×π（rad）、方位検出領域ＤＳ１４は１３／８×π（rad）、方位検出領域ＤＳ１５は１４／８×π（rad）、方位検出領域ＤＳ１６は１５／８×π（rad）の方位に対応している。
【００５０】
図５（b）は、カーソルパターンＣＰの中心部ＣＰ１と、周辺部ＣＰ２における各方位検出領域ＤＳ１〜ＤＳ１６に割り当てられた各色Ｒ、Ｇ、Ｂのレベル（明るさ）を示すコードを表している。この図に示すように、各色毎のレベルを２ビットで示し、「００」、「０１」、「１０」、「１１」の４段階のレベルを表現可能としている。ここでは、「００」を黒表示（投射光の無い状態）、「１１」を最大の明るさに対応させている。中心部ＣＰ１では、Ｇ（緑）を「１１」に、Ｒ（赤）及びＢ（青）を「００」に設定している。各方位検出領域ＤＳ１〜ＤＳ１６では、Ｇのみ「０１」で固定しているが、Ｒ及びＢは順次異なるコードが設定されている。このコードの設定手法としては、グレイコードを採用しており、隣接する部分では１ビットしか変化しないように設定している。
【００５１】
次に、上記のように構成された入力システムの動作について説明する。ここで、表示画面Ｗ上には、上述したカーソルパターンＣＰを含む所定の画像が表示されているものとする。図６は、ペン２０の動作（位置検出処理）を表すフローチャートである。この図に示す動作は、ペン２０におけるＣＰＵ２１２がＲＯＭ２１４に記憶されているプログラムを実行することによって実現されるものである。
【００５２】
まず、ステップＳ１において、ペン２０のＣＰＵ２１２は、スイッチ２０３及び２０４のオン／オフ状態を示すデータに基づいて、ペンタッチが行われたか否か（ペン先部材１００が表示画面Ｗに接触したか否か）を判定し、「Ｙes」の場合（ペンタッチが行われた場合）にステップＳ２の信号レベル補正処理（閾値設定処理）を行う。
【００５３】
図７に、信号レベル補正処理を表すフローチャートを示す。この図７に示すように、信号レベル補正処理において、まず、ＣＰＵ２１２は、送信部２４を介してコンピュータ３０に表示画面Ｗ１の全体を黒表示にするように指示する（ステップＳ２１：黒表示処理）。そして、ＣＰＵ２１２は、この時にインタフェース回路２１１を介して得られる赤色明るさデータをＶrb、緑色明るさデータをＶgb、青色明るさデータをＶbbとしてＲＡＭ２１３に記憶する（ステップＳ２２：黒レベル取得処理）。これらＶrb、Ｖgb、Ｖbbの値は、プロジェクタ１０からの投射光が周囲に反射した光や照明光などのペン位置検出時には不要な明るさを示すものである。
【００５４】
続いて、ＣＰＵ２１２は、送信部２４を介してコンピュータ３０に表示画面Ｗ１の全体を白表示にするように指示し（ステップＳ２３：白表示処理）、この時にインタフェース回路２１１を介して得られる赤色明るさデータをＶrp、緑色明るさデータをＶgp、青色明るさデータをＶbpとしてＲＡＭ２１３に記憶する（ステップＳ２４：白レベル取得処理）。これらＶrp、Ｖgp、Ｖbpの値は、ペン位置検出時の最大の明るさを示すものである。つまり、ペン２０によって検出される各色毎の明るさは、赤色ではＶrb〜Ｖrpの範囲、緑色ではＶgb〜Ｖgpの範囲、青色ではＶbb〜Ｖbpの範囲に含まれることになる。
【００５５】
続いて、ＣＰＵ２１２は、図８に示すように、各色の検出レベル（各色の明るさデータの値）から、カーソルパターンＣＰの方位検出領域ＤＳ１〜ＤＳ１６に割り当てられたコード「００」〜「１１」を判定するためのコード判定閾値を設定してＲＡＭ２１３に記憶する（ステップＳ２５：設定処理）。
【００５６】
ここで、図５で説明したように、各方位検出領域ＤＳ１〜ＤＳ１６における各色は４段階のコードによって設定されているため、図８に示すように、３つのコード判定閾値を設定する。具体的には、光出力に対応した検出レベルはほぼ線形になるため、コード判定閾値も検出レベルを等分して決定すれば良い。例えば、Ｒ（赤）に着目すると、３つのコード判定閾値Ｖrt1、Ｖrt2、Ｖrt3は下記（１）〜（３）式で表される。
Ｖrt1＝Ｖrb＋（Ｖrp−Ｖrb）／４                  ・・・・（１）
Ｖrt2＝Ｖrb＋（Ｖrp−Ｖrb）／４・２              ・・・・（２）
Ｖrt3＝Ｖrb＋（Ｖrp−Ｖrb）／４・３              ・・・・（３）
Ｇ（緑）、Ｂ（青）についても同様にコード判定閾値を求めることができる。
なお、プロジェクタ１０の内部で階調特性を非線形に加工している場合などには、光出力と検出レベルとの関係も非線形となるが、各コード判定閾値はそれぞれの特性を考慮して決定すれば良い。
【００５７】
ＣＰＵ２１２は、上記のような信号レベル補正処理が終了すると、図６に示すステップＳ３の初期位置検出処理を行う。図９に、初期位置検出処理を表すフローチャートを示す。この図に示すように、初期位置検出処理において、まず、ＣＰＵ２１２は、送信部２４を介してコンピュータ３０に対し、カーソルパターンＣＰの中心部ＣＰ１を緑色の最大明るさで点滅表示するように指示する（ステップＳ３１）。
【００５８】
そして、ＣＰＵ２１２は、この時にインタフェース回路２１１を介して得られる緑色明るさデータ（緑色の検出レベル）Ｖgが、上記のように決定したコード「１１」に対応する緑色のコード判定閾値Ｖgt3を基準として繰り返し変化するかを確認することにより、中心部ＣＰ１の点滅を検出したか否かを判定する（ステップＳ３２）。ＣＰＵ２１２は、このステップＳ３２において、「Ｙes」の場合、つまりペン２０の先端位置がカーソルパターンＣＰの中心部ＣＰ１の位置と一致している場合には、初期位置検出処理を終了して図６に示すステップＳ４の処理に移行し、「Ｎo」の場合、つまりペン２０の先端がカーソルパターンＣＰとは別の位置に存在する場合には、ステップＳ３３のキャリブレーション処理を行う。
【００５９】
このキャリブレーション処理とは、ペン２０の先端１００aが投射画面Ｗ上でカーソルパターンＣＰと離れた位置でペンタッチした場合に、先端１００aの位置を探査して、カーソルパターンＣＰの中心部ＣＰ１を先端１００aの位置に移動させるための処理である。図１０は、キャリブレーション処理を表すフローチャートである。また、図１１は、キャリブレーション処理中における表示画面Ｗの変化の様子を表したものである。以下、これら図１０及び図１１を参照して、キャリブレーション処理について説明する。
【００６０】
図１０に示すように、キャリブレーション処理において、まず、ＣＰＵ２１２は、ペン先位置を探査するための分解能を２のＮ乗として設定し、その設定値を送信部２４を介してコンピュータ３０に送信する（ステップＴ１）。ここで、Ｎの値は、投射画面Ｗの大きさと、カーソルパターンＣＰの中心部ＣＰ１の大きさとの関係から決定する。例えば、投射画面Ｗの対角が４０インチ、中心部ＣＰ１の直径が５ｍｍであるとすると、４０×２５．４／５＝２０３．２となるため、２７＜２０３．２＜２８であることから、Ｎ＝８に設定する。なお、このＮの値は、事前に既知の値であるためコンピュータ３０のハードディスク等に予め記憶しておいても良い。
【００６１】
続いて、ＣＰＵ２１２は、投射画面Ｗの全体を探査範囲として設定する（ステップＴ２：初期設定処理）。以下では、投射画面Ｗにおいて、ペン２０の先端１００aの存在を調べる領域を探査範囲と定義し、探査範囲に先端１００aが存在した場合には、その範囲を候補範囲と定義する。
【００６２】
そして、ＣＰＵ２１２は、探査範囲、つまり投射画面Ｗの全体を白領域と黒領域とに横方向に２分割して表示するようにコンピュータ３０に指示する（ステップＴ３：第１の分割処理）。これにより、コンピュータ３０は、図１１（a）に示すように、探査範囲、つまり投射画面Ｗの全体が白領域と黒領域とに横方向に２分割されて表示されるようにプロジェクタ１０を制御する。
【００６３】
次に、ＣＰＵ２１２は、この時にインタフェース回路２１１を介して得られる赤色明るさデータＶr、緑色明るさデータＶg、青色明るさデータＶbのいずれか、または任意の組み合わせを現在の先端１００aの位置における明るさデータＶ１として取得する（ステップＴ４：第１の光検出取得処理）。
【００６４】
そして、ＣＰＵ２１２は、探査範囲の白領域と黒領域とを反転して表示するようにコンピュータ３０に指示する（ステップＴ５：第２の分割処理）。これにより、コンピュータ３０は、図１１（b）に示すように、探査範囲の白領域と黒領域とを反転して表示するようにプロジェクタ１０を制御する。ＣＰＵ２１２は、この時にインタフェース回路２１１を介して得られる赤色明るさデータＶr、緑色明るさデータＶg、青色明るさデータＶbのいずれか、または任意の組み合わせを現在の先端１００aの位置における明るさデータＶ２として取得する（ステップＴ６：第２の光検出取得処理）。
【００６５】
ここで、ＣＰＵ２１２は、ステップＴ４で取得した明るさデータＶ１とステップＴ６で取得した明るさデータＶ２とを比較し、明るさが高い方（つまり白領域）にペン２０の先端１００aが存在すると推測されるため、明るさが高い方の領域を候補範囲として設定し（ステップＴ７）、さらに、現在の候補範囲を新たな探査範囲として再設定して、コンピュータ３０に指示する（ステップＴ８）。つまり、図１１に示すように、投射画面Ｗの右下部分にペン２０の先端１００aが存在しているとすると、図１１（a）に示す白領域が新たな探査範囲として再設定される。なお、ステップＴ７及びＴ８は、本発明における探査範囲設定処理に相当する。
【００６６】
以降、上述したステップＴ３〜Ｔ８の処理がＮ回繰り返される。例えば、図１１（c）（d）は、２巡目のステップＴ３〜Ｔ８の処理における表示画面Ｗの変化の様子を表したものであり、図１１（e）（f）は、３巡目のステップＴ３〜Ｔ８の処理における表示画面Ｗの変化の様子を表したものであり、また、図１１（g）（h）は、４巡目のステップＴ３〜Ｔ８の処理における表示画面Ｗの変化の様子を表したものである。
【００６７】
このようにステップＴ３〜Ｔ８の処理が繰り返されることにより、探査範囲はペン２０の先端１００aの位置に向かって徐々に絞られていき、Ｎ回繰り返された後には候補範囲の中心座標は、ほぼ先端１００aの位置座標を指し示す値となっている。そのため、ＣＰＵ２１２は、ステップＴ３〜Ｔ８の処理をＮ回繰り返して得られる最後の候補範囲の中心座標を、先端１００aの初期座標（以下、ペン先初期座標と称す）と確定してコンピュータ３０に指示する（ステップＴ９）。これにより、コンピュータ３０は、最後の候補範囲の中心座標（つまりペン先初期座標）にカーソルパターンＣＰを移動させる（ステップＴ１０）。なお、ステップＴ９及びＴ１０は、本発明における先端位置確定処理に相当する。
【００６８】
以上に述べたキャリブレーション処理によって、ペン２０の先端１００aの位置と、カーソルパターンＣＰの中心部ＣＰ１の位置とを一致させることができる。なお、上記キャリブレーション処理中におけるコンピュータ３０側の動作は、コンピュータ３０に内蔵されたＣＰＵがハードディスクに記憶されているプログラムを実行することにより実現されるものである。
【００６９】
上記キャリブレーション処理が終了すると、ＣＰＵ２１２は、図６に示すステップＳ４の処理に移行する。図６のステップＳ４において、ＣＰＵ２１２は、スイッチ２０３及び２０４のオン／オフ状態を示すデータに基づいて、ペンタッチが継続しているか否か（ペン先部材１００が表示画面Ｗに継続して接触しているか否か）を判定し、「Ｙes」の場合、つまりペン２０を接触させたまま書き込み入力が行われると推測される場合にはステップＳ５の書き込み処理を行う一方、「Ｎo」の場合、つまり書き込み入力は行われずにペン２０の移動のみが行われると推測される場合にはステップＳ８のフローティング処理に移行する。
【００７０】
図１２は、書き込み処理を表すフローチャートである。この書き込み処理において、まず、ＣＰＵ２１２は、ペン２０の先端１００aがカーソルパターンＣＰ以外の場所に位置していることを示すパターン外フラグを「０」にリセットする（ステップＳ５１）。つまり、パターン外フラグが「０」の場合は、ペン２０の先端１００aがカーソルパターンＣＰの位置と一致していることを指す。
【００７１】
続いて、ＣＰＵ２１２は、インタフェース回路２１１を介してＸ軸加速度データ及びＹ軸加速度データを取得し（ステップＳ５２）、Ｘ軸加速度データ及びＹ軸加速度データが所定の閾値より大きいか否かを判定する（ステップＳ５３）。ＣＰＵ２１２は、このステップＳ５３において、「Ｙes」の場合、つまりＸ軸加速度データ及びＹ軸加速度データが閾値より大きい場合（またはＸ軸加速度データとＹ軸加速度データの一方が閾値より大きい場合でも良い）、パターン外フラグを「１」にセットして書き込み処理を終了して、図６のステップＳ６に移行する（ステップＳ５８）。
【００７２】
このようにＸ軸加速度データ及びＹ軸加速度データが閾値より大きい場合、またはＸ軸加速度データとＹ軸加速度データの一方が閾値より大きい場合は、ペン２０の移動速度が非常に速く、ペン２０の先端１００aがカーソルパターンＣＰから外れてしまう可能性があるため、上記のようにパターン外フラグを「１」にセットした後、図６のステップＳ６に移行することにより、ステップＳ１からやり直す。ここで、ステップＳ６の処理は、パターン外フラグが「１」であればステップＳ１の処理に戻り、「０」であればステップＳ７に移行するものである。
【００７３】
一方、上記ステップＳ５３において、「Ｎo」の場合、ＣＰＵ２１２は、インタフェース回路２１１を介して赤色明るさデータＶr、緑色明るさデータＶg、青色明るさデータＶbを取得し、ＲＡＭ２１４に記憶されている各色に対応するコード判定閾値と比較することにより、各色の明るさデータをコード変換する（ステップＳ５４：色判定処理）。
【００７４】
そして、ＣＰＵ２１２は、ペン２０の先端１００aがカーソルパターンＣＰの中心部ＣＰ１の内部に位置しているか否かを確認するために、ステップＳ５４で得られるＧ（緑）に対応するコードが「１１」であるか否かを判定する（ステップＳ５５：中心部判定処理）。このステップＳ５５において、「Ｙes」の場合、つまりＧ（緑）に対応するコードが「１１」の場合、図１３（a）に示すように、ペン２０の先端１００aがカーソルパターンＣＰの中心部ＣＰ１の内部に位置していると判断されるため、書き込み処理を終了して、図６のステップＳ６に移行する。なお、この時点でのパターン外フラグは「０」のままであるので、図６のステップＳ６の後、ステップＳ７に移行する。
【００７５】
一方、上記ステップＳ５５において、「Ｎo」の場合には、ペン２０の先端１００aはカーソルパターンＣＰの周辺部ＣＰ２における方位検出領域ＤＳ１〜ＤＳ１６のいずれかに位置していると考えられる。そのため、ＣＰＵ２１２は、ステップＳ５５において、「Ｎo」の場合に、Ｒ（赤）及びＢ（青）に対応するコードからペン２０の先端１００aが方位検出領域ＤＳ１〜ＤＳ１６のどれに位置しているかを確認することにより、カーソルパターンＣＰの移動方位を決定する（ステップＳ５６：方位探索処理）。例えば、Ｒ（赤）に対応するコードが「００」、Ｂ（青）に対応するコードが「１１」の場合、図１３（b）に示すように、ペン２０の先端１００aは方位検出領域ＤＳ３に位置しているため、カーソルパターンＣＰの移動方位は２／８×π（rad）と決定される。
【００７６】
そして、ＣＰＵ２１２は、上記のように決定した移動方位に向かってカーソルパターンＣＰを移動させるようにコンピュータ３０に指示する（ステップＳ５７）。これにより、コンピュータ３０は、投射画面Ｗ上においてカーソルパターンＣＰの移動を開始する。
【００７７】
以上のような書き込み処理が終了すると、ＣＰＵ２１２は、図６に示すステップＳ６の処理に移行する。書き込み処理のステップＳ５７からステップＳ６に移行した場合、パターン外フラグは「０」のままであるので、図６のステップＳ６の後、ステップＳ７に移行する。このステップＳ７において、ＣＰＵ２１２は、スイッチ２０３及び２０４のオン／オフ状態を示すデータに基づいて、ペンタッチが継続しているか否かを判定し、「Ｙes」の場合、つまり書き込み入力が継続中である場合には、ステップＳ５の処理に戻り、図１２に示すステップＳ５１〜Ｓ５７の処理を繰り返す。
【００７８】
これにより、図１２のステップＳ５５で、ペン２０の先端１００aの位置とカーソルパターンＣＰの中心部ＣＰ１の位置とが一致していると判定されるまで、つまり図１３（c）の状態になるまでカーソルパターンＣＰは２／８×π（rad）の方位に移動し、その結果、図１３（d）に示すように、カーソルパターンＣＰの移動開始点Ｐ１と移動終了点Ｐ２の間の軌跡上に線を描くことができる。
【００７９】
一方、ＣＰＵ２１２は、上記ステップＳ７において、「Ｎo」の場合、つまり書き込み入力は行われずにペン２０の移動のみが行われると推測される場合にはステップＳ８のフローティング処理に移行する。このステップＳ８のフローティング処理では、上述したステップＳ５と同様の処理が行われる。また、ステップＳ９の処理はステップＳ６と同様であり、ステップＳ１０の処理はステップＳ７と同様である。
【００８０】
つまり、ステップＳ８に移行した時点では、ステップＳ５〜Ｓ７によって線の書き込みが終了した後、またはステップＳ３の初期位置検出処理後にペンタッチが外れている状態となっており、ペン２０の先端１００aを投射画面Ｗから浮かせて、次の書き込み開始位置まで移動している状態であると推測できるため、ステップＳ８〜Ｓ１０においてステップＳ５〜Ｓ７と同様の処理を行うことにより、カーソルパターンＣＰをペン２０の先端１００aの動きに追従して移動させることができる。仮に、ペン２０の移動速度が速く、カーソルパターンＣＰから外れるような場合には、図１２のステップＳ５３によって、ペン２０の加速度が閾値より大きいことが検出されるため、カーソルパターンＣＰの移動を中止してステップＳ１の処理からやり直せば良い。
【００８１】
以上説明したように、本実施形態における入力システムによれば、従来のようなペン２０の位置を検出するための専用の位置検出装置を必要とせず、そのため表示画像と検出位置の座標を校正する必要がなくなり、システムの使い勝手やメンテナンス性の向上、システム全体の小型化、装置コストの削減を図ることができる。
【００８２】
また、ペン２０に０次元センサを用いたので、ペン２０の方向を意識することなく使用することができる。また、カーソルパターンＣＰにおける各方位検出領域のコード設定手法として、グレイコードを採用しているため、ペン２０の先端１００aがカーソルパターン内の２つの方位検出領域に跨って位置し、不安定なコードを得た場合であっても、隣接する方位検出領域以外のコードが検出されることはないため、カーソルパターンＣＰの移動方向が作業者Ｋが意図したものとは全く異なることはなく、意図しない方向に移動することを回避することができる。また、ペン２０に加速度センサを内蔵し、ペン２０の動きが速くてカーソルパターンＣＰが追従できない場合には、カーソルパターンＣＰの動きを停止することにより、カーソルパターンＣＰが意図しない位置に移動してしまうことを防止することができる。
【００８３】
〔第２実施形態〕
次に、第２実施形態における入力システムについて説明する。なお、第２実施形態における入力システムは、第１実施形態と比較してコード判定閾値の設定手法とキャリブレーション処理の内容が異なるだけであるので、以下では、第２実施形態におけるコード判定  閾値の設定手法とキャリブレーション処理に着目して説明する。
【００８４】
（１）コード判定閾値の設定手法
第１実施形態では、カーソルパターンＣＰの各方位検出領域ＤＳ１〜ＤＳ１６における各色は４段階のコードによって設定されているため、図８に示すように、各色毎に３つのコード判定閾値を決定した。これらのコード判定閾値は、図６に示す書き込み処理やフローティング処理などに必要であるため、第２実施形態でも同様に決定する必要がある。これに加えて、第２実施形態では、キャリブレーション処理専用のコード判定閾値（以下、キャリブ専用コード判定閾値と称す）を決定する。
【００８５】
具体的には、図１４に示すように、各色を１ビットのコード、つまり「０」と「１」の２段階のコードで設定するとし、各色毎に１つのキャリブ専用コード判定閾値を決定する。この場合、各色の検出レベル（明るさ）から「０」か「１」かを判定すれば良いので、Ｒ（赤）、Ｇ（緑）、Ｂ（青）に対応するキャリブ専用コード判定閾値Ｖrct、Ｖgct、Ｖbctは下記（４）〜（６）式で表される。
Ｖrct＝Ｖrb＋（Ｖrp−Ｖrb）／２                  ・・・・（４）
Ｖgct＝Ｖgb＋（Ｖgp−Ｖgb）／２                  ・・・・（５）
Ｖbct＝Ｖbb＋（Ｖbp−Ｖbb）／２                  ・・・・（６）
【００８６】
（２）キャリブレーション処理
図１５は、第２実施形態におけるキャリブレーション処理を表すフローチャートである。また、図１６は、キャリブレーション処理中における表示画面Ｗの変化の様子を表したものである。図１７は、図１６において、投射画面Ｗに表示される８つの領域Ｗa〜Ｗhに割り当てられた各色のコード（１ビットコード）を表すものである。
【００８７】
図１５に示すように、まず、ＣＰＵ２１２は、ペン先位置を探査するための分解能を８のＭ乗として設定し、その設定値Ｍを送信部２４を介してコンピュータ３０に送信する（ステップＵ１）。ここで、Ｍの値は、投射画面Ｗの大きさと、カーソルパターンＣＰの中心部ＣＰ１の大きさとの関係から決定する。例えば、投射画面Ｗの対角が４０インチ、中心部ＣＰ１の直径が５ｍｍであるとすると、４０×２５．４／５＝２０３．２となるため、８２＜２０３．２＜８３であることから、Ｍ＝３に設定する。なお、このＭの値は、事前に既知の値であるためコンピュータ３０のハードディスク等に予め記憶しておいても良い。
【００８８】
続いて、ＣＰＵ２１２は、投射画面Ｗの全体を探査範囲として設定する（ステップＵ２）。以下では、第１実施形態と同様に、投射画面Ｗにおいて、ペン２０の先端１００aの存在を調べる領域を探査範囲と定義し、探査範囲に先端１００aが存在した場合には、その範囲を候補範囲と定義する。
【００８９】
そして、ＣＰＵ２１２は、探査範囲、つまり投射画面Ｗの全体を縦方向にＷa〜Ｗhの領域に８分割して表示するようにコンピュータ３０に指示する（ステップＵ３）。コンピュータ３０は、上記のようにぺン２０から指示を受けると、図１６（a）に示すように、その探査範囲、つまり投射画面Ｗの全体が縦方向にＷa〜Ｗhの領域に８分割されて表示されるようにプロジェクタ１０を制御する。ここで、各領域Ｗa〜Ｗhの色は、図１７に示すコードに対応する色となっている。
【００９０】
次に、ＣＰＵ２１２は、この時にインタフェース回路２１１を介して得られる赤色明るさデータＶr、緑色明るさデータＶg、青色明るさデータＶbを現在の先端１００aの位置における各色の明るさデータとして取得する（ステップＵ４）。そして、ＣＰＵ２１２は、探査範囲、つまり投射画面Ｗの全体を横方向にＷa〜Ｗhの領域に８分割して表示するようにコンピュータ３０に指示する（ステップＵ５）。
【００９１】
コンピュータ３０は、上記指示を受けると、図１６（b）に示すように、探査範囲、つまり投射画面Ｗの全体が横方向にＷa〜Ｗhの領域に８分割されて表示されるようにプロジェクタ１０を制御する。ＣＰＵ２１２は、この時にインタフェース回路２１１を介して得られる赤色明るさデータＶr、緑色明るさデータＶg、青色明るさデータＶbを現在の先端１００aの位置における各色の明るさデータとして取得する（ステップＵ６）。
【００９２】
ここで、ＣＰＵ２１２は、ステップＵ４及びＵ６で取得した各色の明るさデータ（検出レベル）を、キャリブ専用コード判定閾値Ｖrct、Ｖgct、Ｖbctに基づいてコード変換する。つまり、検出レベルがキャリブ専用コード判定閾値より低ければコード「０」、高ければコード「１」とする。そして、ＣＰＵ２１２は、ステップＵ４で取得した各色の検出レベルに対応するコードと、ステップＵ６で取得した各色の検出レベルに対応するコードとが一致する領域を、図１７の表を基にＷa〜Ｗhの中から探索する。
【００９３】
このように、縦分割して得られるコードと横分割して得られるコードとが一致した領域がわかると、その領域が縦分割の場合と横分割の場合とで交差する領域にペン２０の先端１００aが存在すると推測される。そこで、ＣＰＵ２１２は、そのような交差領域を候補範囲として設定し（ステップＵ７）、さらに、現在の候補範囲を新たな探査範囲として設定して、コンピュータ３０に指示する（ステップＵ８）。つまり、図１６（a）（b）に示すように、領域Ｗgにペン２０の先端１００aが存在しているとすると、図１６（c）に示すように、領域Ｗgの交差領域が新たな探査範囲として再設定される。
【００９４】
以降、上述したステップＵ３〜Ｕ８の処理がＭ回繰り返される。例えば、図１６（c）（d）は、２巡目のステップＵ３〜Ｕ８の処理における表示画面Ｗの変化の様子を表したものである。このようにステップＵ３〜Ｕ８の処理が繰り返されることにより、探査範囲はペン２０の先端１００aの位置に向かって徐々に絞られていき、Ｍ回繰り返された後には候補範囲の中心座標は、ほぼ先端１００aの位置座標を指し示す値となっている。
【００９５】
そのため、ＣＰＵ２１２は、ステップＵ３〜Ｕ８の処理をＭ回繰り返して得られる最後の候補範囲の中心座標を、先端１００aの初期座標（ペン先初期座標）とするようにコンピュータ３０に指示する（ステップＵ９）。これにより、コンピュータ３０は、最後の候補範囲の中心座標（つまりペン先初期座標）にカーソルパターンＣＰを移動させる（ステップＵ１０）。
【００９６】
上述した第２実施形態のキャリブレーション処理によって、ペン２０の先端１００aの位置と、カーソルパターンＣＰの中心部ＣＰ１の位置とを一致させることができる。なお、上記キャリブレーション処理中におけるコンピュータ３０側の動作は、コンピュータ３０に内蔵されたＣＰＵがハードディスクに記憶されているプログラムを実行することにより実現されるものである。
【００９７】
以上のような第２実施形態における入力システムによると、第１実施形態と比べてキャリブレーション処理の時間を短縮することができ、システム全体の動作速度の向上を図ることができる。
【００９８】
〔第３実施形態〕
次に、第３実施形態における入力システムについて説明する。図１８は、第３実施形態における入力システムの構成概略図である。なお、図１８において、図１（第１実施形態）と同様の構成要素には同一符号を付して説明を省略する。この図１８に示すように、第３実施形態における入力システムでは、プロジェクタ５０及び信号分配切替器６０が追加されており、プロジェクタ５０は通信ケーブル６１を介して信号分配切替器６０と接続され、プロジェクタ１０は通信ケーブル６２を介して信号分配切替器６０と接続され、コンピュータ３０は通信ケーブル６３を介して信号分配切替器６０と接続されている。
【００９９】
プロジェクタ５０は、プロジェクタ１０とは異なる方向から同一の投射領域に画像を投射できるように設置されており、信号分配切替器６０によってコンピュータ３０の映像信号をプロジェクタ１０及びプロジェクタ５０に供給して同時に投射画面Ｗを表示し、または、信号分配切替器６０によって映像信号をプロジェクタ１０またはプロジェクタ５０の一方に選択的に供給することにより、一方のプロジェクタのみで投射画面Ｗを表示することが可能な構成となっている。
【０１００】
図１９に、作業者Ｋから見た投射画面Ｗの様子を示す。プロジェクタ１０からの投射画面にはペン２０と作業者Ｋの手によって影７１が生じる。また、同様に、プロジェクタ５０からの投射画面にはペン２０と作業者Ｋの手によって影７２が生じる。このように、作業者Ｋが右手でペン２０を操作する場合には、影７１は作業の妨げになりにくいが、影７２は作業の妨げとなる。また、投射画面Ｗの位置によっては、プロジェクタ５０からの投射画面の方が好ましい場合もある。
【０１０１】
このように、作業の状況によって好ましいプロジェクタが異なるため、信号分配切替器６０を操作し、好ましいプロジェクタからの投射画面に切り替えることにより、作業効率の向上を図ることができる。また、２台のプロジェクタから常に同時に投射しておくことにより、影が生じにくい状況にすることも可能である。
【０１０２】
以上、本発明の第１〜第３実施形態について説明したが、本発明はこれらに限定されず、以下のような変形例が考えられる。
（１）上記実施形態では、表示装置としてプロジェクタ（投射型表示装置）用いた入力システムについて例示したが、表示装置としては液晶ディスプレイ等のフラットパネルディスプレイを用いても良い。つまり、この場合、フラットパネルディスプレイの表示画面にペン２０を接触させることになる。
【０１０３】
（２）上記実施形態では、ペン２０とコンピュータ３０との通信を無線通信とした場合を例示したが、ケーブル等で接続して有線通信としても良い。また、入力装置としてペン２０を例示したが、必ずしもペン形状をしている必要はなく、作業者Ｋによって操作し易く、表示画面に接触可能な先端部を設けることができれば、どのような形状の物でも良い。
【０１０４】
（３）上記実施形態では、カーソルパターンＣＰの中心部ＣＰ１及び周辺部ＣＰ２ともに円形としたが、ペン２０の先端１００aを検出可能であればどのような形状としても良い。また、周辺部ＣＰ２の各方位検出領域を１６個としたが、さらに正確な先端１００aの移動方位検出を行いたい場合には、方位検出領域の数を増やしても良い。
【０１０５】
（４）上記第１実施形態のキャリブレーション処理において、探査範囲を白と黒に２分割したが、２の領域の明るさに明確な違いがあれば、白、黒以外の色で２分割しても良い。また、２分割する方向は横方向でも縦方向でもどちらでも良い。一方、上記第２実施形態のキャリブレーション処理において、探査範囲を８分割したが、さらに精度良くペン２０の先端１００aの初期位置を検出したい場合には分割数を増やしても良い。
【０１０６】
（５）上記第３実施形態では、プロジェクタを２台設けた場合を例示したが、さらに複数のプロジェクタを設けても良い。
【図面の簡単な説明】
【０１０７】
【図１】本発明の第１実施形態における入力システムの構成概略図である。
【図２】第１実施形態におけるペン２０の構成概略図である。
【図３】ペン２０における先端部２１の詳細説明図である。
【図４】ペン２０における信号処理系の回路ブロック図である。
【図５】本入力システムにおけるカーソルパターンＣＰの詳細説明図である。
【図６】ペン２０の動作に関する第１フローチャートである。
【図７】ペン２０の動作に関する第２フローチャートである。
【図８】コード判定閾値に関する詳細説明図である。
【図９】ペン２０の動作に関する第３フローチャートである。
【図１０】ペン２０の動作に関する第４フローチャートである。
【図１１】ペン２０の動作に関する第１説明図である。
【図１２】ペン２０の動作に関する第５フローチャートである。
【図１３】ペン２０の動作に関する第２説明図である。
【図１４】第２実施形態におけるコード判定閾値に関する詳細説明図である。
【図１５】第２実施形態におけるキャリブレーション処理を示すフローチャートである。
【図１６】第２実施形態におけるペン２０の動作に関する第１説明図である。
【図１７】第２実施形態におけるペン２０の動作に関する第２説明図である。
【図１８】第３実施形態における表示システムの構成概略図である。
【図１９】第３実施形態における表示システムに関する補足説明図である。
【符号の説明】
【０１０８】
１０、５０…プロジェクタ（表示装置）、２０…ペン（入力装置）、３０…コンピュータ、４０…通信ケーブル、２１…先端部、２２…処理回路（処理部）、２３…動き検出部（加速度検出部）、２４…送信部、２５…電源部、ＣＰ…カーソルパターン、ＣＰ１…中心部、ＣＰ２…周辺部、ＤＳ１〜ＤＳ１６…方位検出領域、ＤＫ…作業机、Ｋ…作業者
【図１】
2010113598.tif 000003
【図２】
2010113598.tif 000004
【図３】
2010113598.tif 000005
【図４】
2010113598.tif 000006
【図５】
2010113598.tif 000007
【図６】
2010113598.tif 000008
【図７】
2010113598.tif 000009
【図８】
2010113598.tif 000010
【図９】
2010113598.tif 000011
【図１０】
2010113598.tif 000012
【図１１】
2010113598.tif 000013
【図１２】
2010113598.tif 000014
【図１３】
2010113598.tif 000015
【図１４】
2010113598.tif 000016
【図１５】
2010113598.tif 000017
【図１６】
2010113598.tif 000018
【図１７】
2010113598.tif 000019
【図１８】
2010113598.tif 000020
【図１９】
2010113598.tif 000021