以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
(座標入力装置の概略構成)
まず、本実施形態における情報処理システムの概略構成を図1A、図1Bを用いて説明する。図1Aは実施形態における情報処理システムの画像表示・入力部の外観斜視図、図1Bはこの情報処理システムのハードウェア構成を示すブロック図である。
この情報処理システムは、画像を表示する表示装置としてのプロジェクター7、このプロジェクター7の画像表示面7a上に設けられる座標入力装置8、プロジェクター7および座標入力装置8にそれぞれ接続され、両者を制御する制御装置(ホスト装置)としてのホストコンピュータ6を含む構成である。ホストコンピュータ6は例えばパーソナルコンピュータ(PC)によって実現されるものである。したがって、プロジェクター7および座標入力装置8はそれぞれ、例えばUSBなどのインタフェースを介してホストコンピュータ6に接続されうる。
座標入力装置8の構成について説明すると、図1Bにおける1L、1Rはそれぞれ、投光器および検出器を有するセンサユニットであり、1Lと1Rとは互いに所定の距離だけ離れた位置に設置されている。センサユニット1L、1Rは、制御・演算を行う制御・演算ユニット2に接続され、制御信号を制御・演算ユニット2から受け取ると共に、検出した信号を制御・演算ユニット2に送信する。3は、図2のように入射光を到来方向に反射する再帰反射面を有する反射部材であり、左右それぞれのセンサユニットから入力領域5の面に沿ってその入力領域5を覆う範囲(例えば略90°の範囲)に投光された光を、センサユニットに向けて再帰反射する。反射光は、集光光学系とラインCCD等によって構成されたセンサユニットの検出器によって1次元的に検出され、その光量分布が制御・演算ユニット2に送られる。
入力領域5は、PDPやリアプロジェクタ、LCDパネルなどの表示装置の表示画面上に構成されることで、インタラクティブな入力装置として利用可能となっている。このシステムでは、所定の指示具4を入力領域5に押圧等し移動させることで軌跡4aの入力が可能であり、また、表示されるアイコンなどの様々な情報に対して指示入力することで、各種アプリケーションのコントロールが可能となっている。
このような構成において、入力領域に指示具4あるいは指などによる入力指示がなされると、上記投光器から投光された光が遮られ、再帰反射による反射光が得られなくなるため、入力指示位置のみ光量が得られなくなる。
制御・演算ユニット2は、左右のセンサユニット1L、1Rの光量変化から、入力指示された部分の遮光範囲を検出し、同範囲内での検出点を特定してそれぞれの角度を算出する。算出された角度および、センサユニット間の距離等から、入力領域5上の座標位置を算出し、ホストコンピュータ6にその座標値を出力する。
このようにして、指などによって、画面上に線を描画したり、アイコンの操作するなどホストコンピュータ6の操作が可能になる。
以下、座標入力装置8の各部分毎についての詳細説明を行う。
(センサユニットの詳細説明)
図3は、センサユニット1L、1Rにおける投光器の構成例を示す図で、(A)は投光器を上から(入力面に対し垂直方向)から見た図、(B)は横(入力面に対し水平方向)から見た図である。31は赤外光を発する赤外LEDであり、発光した光は投光レンズ32によって、略90°範囲に光が射出する。この方向では、赤外LED31からの光は上下方向に制限された光束として投光され、主に反射器3に対して光が投光されるようになっている。
図4は、センサユニット1L、1Rにおける検出器を入力面に対して垂直方向から見た図である。検出器は、1次元のラインCCD41および集光光学系としてのレンズ42,43および、入射光の入射方向を制限する絞り44、可視光など余分な光の入射を防止する赤外フィルター45を有する構成である。
投光器からの光は再帰反射部材によって反射され、赤外フィルター45、絞り44を抜けて、集光用レンズ42,43によって入力面の略90°範囲の光がCCD41の検出面にその入射角に依存した画素上に結像され、角度ごとの光量分布を示す。つまり画素番号が角度情報を表すことになる。
図5は、入力面を水平方向からの見たときのセンサユニット1L、1Rの構成を示している。図示のように、上記投光器と検出器とが重なるように構成されている。投光器と検出器の光軸間の距離は再帰反射部材の角度特性から充分検出可能な範囲に設定されていればよい。
(反射部材について)
図1に示した再帰性反射部材3は、入射角度に対する反射特性を有している。図6に示す入射角度に対する反射光量の特性図からわかるように、再帰性反射部材3が平坦に構成された場合には、反射部材からの角度が45度を超えるあたりから得られる反射光量が減少し、遮蔽物があった場合にその変化が十分に取れないことになる。
反射光量は、光量分布(照明強度および距離)、反射部材の反射率(入射角度、反射部材の幅)、結像系照度(cosine4乗則)によって決まる。光量が足りない場合に、照明強度を上げることが考えられるが、反射分布が均一で無い場合には、強い部分の光を受光したときに、受光手段であるCCDでその部分が飽和することがあり、照明強度を上げるには限界がある。裏返せば、反射部材の反射の分布をなるべく均一にすることで低光量部分への入射光量の増大も望むことができる。
角度方向に対して均一化を図るために、再帰性反射部材3を貼り付ける部材を図7に示すような三角柱を並べた形とし、この上に再帰反射部材3を設置している。これにより、角度特性を改善することができる。なお、三角柱の角度は再帰反射部材の反射特性から決定すればよく、また、そのピッチはCCDでの検出分解能以下に設定するのが望ましい。
(制御・演算ユニットの説明)
図1に示した制御・演算ユニット2とセンサユニット1L,1Rとの間では、CCDの制御信号、CCD用クロック信号とCCDの出力信号、および、LEDの駆動信号がやり取りされている。
図8は、制御・演算ユニット2の構成を示すブロック図である。CCD制御信号は、ワンチップマイコンなどで構成される演算制御回路(CPU)83から出力されており、CCDのシャッタタイミングや、データの出力制御などを行っている。CCD用のクロックはクロック発生回路87からセンサユニット1L、1Rに送られると共に、CCDとの同期をとって、各種制御を行うために、演算制御回路83にも入力されている。
LED駆動信号は、演算制御回路83からLED駆動回路84L,84Rを経て、センサユニット1L、1Rの赤外LEDに供給されている。
センサユニット1L、1Rの検出器におけるCCDからの検出信号は、A/Dコンバータ81L,81Rに入力され、演算制御回路83からの制御によって、デジタル値に変換される。変換されたデジタル値はメモリ(例えばRAM)82に記憶され、角度計算に用いられる。計算された角度から座標値が求められると、その座標値データがホストコンピュータ6に出力される。
(光量分布検出の説明)
図9は、LED発光に係る各制御信号のタイミングチャートである。
信号SH、ICGL、ICGRはCCD制御用の制御信号であり、SHの間隔でCCDのシャッタ解放時間が決定される。信号ICGL、ICGRはそれぞれ左右のセンサユニット1L,1Rへのゲート信号であり、CCD内部の光電変換部の電荷を読み出し部へ転送する信号である。信号LEDL、LEDRはそれぞれ、左右のLEDの駆動信号であり、SHの最初の周期で一方のLEDを点灯するために駆動信号LEDLがLED駆動回路を経てLEDに供給される。次の周期でもう一方のLEDが駆動される。双方のLEDの駆動が終了した後に、CCDの信号が左右のセンサから読み出される。
読み出される信号は、入力がない場合には、それぞれのセンサからの出力として、図10のような光量分布が得られる。もちろん、このような分布がどのシステムでも必ず得られるわけではなく、再帰性反射部材3の特性やLEDの特性、また、経時変化(反射面の汚れなど)によって分布は変化する。同図においては、Aのレベルが最大光量であり、Bのレベルが最低のレベルとなる。つまり反射光のない状態では、得られるレベルがB付近になり、反射光量が増えるほどAのレベルの方向になっている。このようにCCDから出力されたデータは、逐次AD変換されCPUにデジタルデータとして取り込まれる。
図11は、指などで入力を行った、つまり、反射光を遮った場合の出力の例である。Cの部分が指などで反射光が遮られたため、その部分のみ光量が低下している。検出は、この光量分布の変化から行う。具体的には、図10のような入力の無い初期状態を予め記憶しておいて、それぞれのサンプル期間に図11のような変化があるか初期状態との差分によって検出し、変化があったらその部分を入力点として入力角度を決定する演算を行う。
(角度計算の説明)
角度計算にあたっては、まず、遮光範囲を検出する必要がある。先にも述べたように、光量分布は経時変化などで一定ではないため、システムの起動時などに記憶することが望ましい。そうすることで、例えば、再帰反射面がほこりなどで汚れていても、完全に反射しないような場合を除いて使用可能になる。以下、一方のセンサのデータについて説明するが、他方でも同様の処理を行っている。
電源投入時、入力の無い状態で、まず投光器から照明すること無しにCCDの出力をAD変換して、これをBas_data[N]として、メモリに記憶する。これは、CCDのバイアスのばらつき等を含んだデータとなり、図10におけるBのレベル付近のデータとなる。ここで、Nは画素番号であり、有効な入力範囲に対応する画素番号が用いられる。
次に、投光器から照明した状態での光量分布を記憶する。図10の実線で表されたデータであり、Ref_data[N]とする。これらのデータを用いてまずは入力がなされたか、遮光範囲があるかどうかの判定を行う。あるサンプル期間のデータをNorm_data[N]とする。
まず遮光範囲を特定するために、データの変化の絶対量によって、有無を判定する。これは、ノイズなどによる誤判定を防止し、所定量の確実な変化を検出するためである。変化の絶対量を各々の画素において以下の計算を行い、予め決定してある閾値Vthaと比較する。
Norm_data_a[N]=Norm_data[N]−Ref_data[N] (1)
ここで、Norm_data_a[N]は各画素における絶対変化量である。
この処理は、差をとり比較するだけなので、処理時間をさほど使わないので、入力の有無の判定を高速に行うことが可能である。Vthaを初めて超えた画素が所定数を超えて検出されたときに入力があったと判定する。
次に、より高精度に検出するために、変化の比を計算して入力点の決定を行う。
図12において、121は反射部材3の再帰反射面を示している。ここで領域Aが汚れなどにより反射率が低下していたとすると、このときのRef_data[N]の分布は、図13の(a)のように、領域Aの反射光量が少なくなる。この状態で、図12のように指などの指示具が挿入され、再帰反射部材のほぼ半分を覆ったとすると、反射光量は略半分となるため、図13の(B)の太線で示した分布Norm_data[N]が観測される。
この状態に対して、式(1)を適用すると、図14の(a)のようになる。ここで、縦軸は初期状態との差分電圧になっている。このデータに対して、閾値を適用すると、本来の入力範囲をはずれてしまうような場合がある。もちろん、閾値を下げればある程度検出可能であるが、ノイズなどの影響を受ける可能性がある。
そこで、変化の比を計算することとすると、領域A、Bとも反射光量は最初の半分であるので、次式で比を計算する。
Norm_data_r[N]=Norm_data_a[N]/(Bas_data[N]−Ref_data[N]) (2)
この計算結果を示すと、図14の(B)のようになり、変動比であらわされるため、反射率が異なる場合でも、等しく扱うことが可能になり、高精度に検出が可能になる。
このデータに対して、閾値Vthrを適用して、その立ち上がり部と立下り部の画素番号から、両者の中央を入力画素として、角度を求める。図14の(B)は説明のために模式的に描いたもので、実際にはこのような立ち上がりにはなっておらず、画素ごとに異なるレベルを示している。
図15は比計算を終えた後の検出の例である。いま閾値Vthrで検出すると遮光領域の立ち上がり部分は、Nr番目の画素で閾値を超えたとする。さらに、Nf番の画素でVthrを下回ったとする。このまま中心画素Npを、
Np=Nr+(Nf−Nr)/2 (3)
のように計算してもよいが、そうすると、画素間隔が最小の分解能になってしまう。より細かく検出するために、それぞれの画素のレベルとその一つ前の画素のレベルを用い閾値を横切った仮想の画素番号を計算する。
今、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)
また、仮想中心画素Npvは次式で表される。
Npv = Nrv + (Nfv-Nrv)/2 (6)
このように、画素番号とそのレベルから仮想的な画素番号を計算することで、より分解能の高い検出ができる。
得られた中央画素番号から、実際の座標値を計算するためには、角度情報に変換する必要がある。後述する実際の座標計算では、角度そのものよりもその角度における正接(tangent)の値を求めるほうが都合がよい。画素番号から、tanθへの変換には、テーブル参照や変換式を用いる。
図16は、画素番号に対するtanθ値をプロットしたものである。このデータに対して近似式を求め、その近似式を用いて画素番号、tanθ変換を行う。変換式は例えば高次の多項式を用いると精度を確保できるが次数などは計算能力および精度スペック等を鑑みて決定すればよい。
5次多項式を用いる場合には係数が6個必要になるので、出荷時などにこのデータを不揮発性メモリーなどに記憶しておけばよい。
今5次多項式の係数をL5,L4,L3,L2,L1,L0としたとき、tanθは次式で表される。
tanθ=(L5*Npr+L4)*Npr+L3)*Npr+L2)*Npr+L1)*Npr+L0 (7)
同様なことを各々のセンサに対して行えば、それぞれの角度データを決定できる。もちろん、上記例ではtanθを求めているが、角度そのものを求め、その後tanθを求めても構わない。
(座標計算方法の説明)
得られた角度データから座標を算出する。
図17は、画面座標との位置関係を示す図である。入力範囲の下辺左右にそれぞれのセンサユニットが取り付けられており、その間の距離はDsで表されている。
画面中央が画面の原点位置であり、P0はそれぞれのセンサユニットの角度0の交点である。それぞれの角度をθL、θRとして、それぞれtanθL,tanθRを上記多項式を用いて算出する。このとき点Pのx、y座標は次式で表される。
x=Ds/2 *(tanθL+tanθR)/(1+(tanθL*tanθR)) (8)
y=−Ds/2 *(tanθR - tanθL - (2*tanθL*tanθR))/(1+(tanθL*tanθR))+P0Y (9)
図18は、データ取得から座標計算までの工程を示した、フローチャートである。
まず、ステップS101で電源投入されると、ステップS102で、演算制御回路83などのポート設定、タイマ設定などさまざまな初期化が行われる。ステップS103は立ち上げ時のみに行う不要電荷除去のための準備である。CCDなどの光電変換素子において、動作させていないときに不要な電荷が蓄積している場合があり、そのデータをそのままリファレンスデータとして用いると、検出不能になったり、誤検出の原因となる。それを避けるために、最初に照明無しで、複数回データの読み出しを行っている。ステップS103ではその読み込み回数を設定しており、ステップS104で照明無しで、所定回数データを読み出すことで、不要電荷の除去を行っている。
ステップS105は所定回数繰り返すための判断文である。
ステップS106はリファレンスデータとしての照明無しでのデータの取り込みであり、上記Bas_dataに相当する。ここで取り込んだデータはメモリに記憶され(ステップS107)、以降計算に用いられる。これともう一つのリファレンスデータである、照明したときの初期光量分布に相当するデータRef_dataを取り込み(ステップS108)、これもメモリーに記憶する(ステップS109)。このステップまでが、電源投入時の初期設定動作になり、次から通常の取り込み動作になる。
ステップS110で上記説明したように光量分布を取り込み、ステップS111でRef_dataとの差分値で遮光部分の有無を判定する。無いと判定されたときには、ステップS110に戻り再び取り込みを行う。
このとき、この繰り返し周期を10[msec]程度に設定すれば、100回/秒のサンプリングになる。
ステップS112で遮光領域が有りと判定されたら、ステップS113で式(2)の処理により比を計算する。得られた比に対して閾値で立ち上がり部、立下り部を決定し、(4)、(5)、(6)式で中心を計算する(ステップS114)。得られた中心値から近似多項式よりtanθを計算し(ステップS115)、左右のセンサユニットでのtanθ値からx、y座標を(8)、(9)式を用いて算出する(ステップS116)。
次にステップS117にてタッチされたか否かの判定を行う。これは、例えばマウスのボタンを押下せずにカーソルを移動させている状態のような近接入力状態と、左ボタンを押した状態であるタッチダウン状態の判定を行っている。実際には、先に得られた比の最大値が、ある所定値例えば0.5などの値を超えていればダウンと判定し、それ以下なら近接入力状態と判定する。この結果に従って、ダウンフラグのセット(ステップS118)あるいはリセット(ステップS119)を行う。
座標値とダウン状態が決定されたので、そのデータをホストコンピュータ6へ送信する(ステップS120)。ホストコンピュータ6は、ドライバが受信データを解釈し、カーソルの移動、マウスボタン状態の変更などを座標値、フラグなどを参照して行う。
ステップS120の処理が終了したら、ステップS110の動作に戻り、以降電源OFFまでこの処理を繰り返すことになる。
(座標入力用ペンの説明)
本実施形態における座標入力装置では、指での入力が可能であるが、ペンなどの指示具で入力を行うことによって、マウスの各種ボタンに対応する操作を直感的に操作することが可能となる。本実施形態における座標入力用ペン(以下「指示具」ともいう。)4について、図19を用いて説明する。
本実施形態における指示具4は、筆記具であるところのペン先端部を押圧することで動作するペン先スイッチ(SW)41、並びに指示具4の筐体に設けられた複数のペンサイドスイッチ(SW)42を具備する。このいずれかのスイッチが動作することによって、指示具4から所定周期で信号を送信することになる。具体的には、駆動回路45は、所定周期毎にタイミング信号およびコマンド信号であるところの光信号を放射する。
その光信号は制御信号検出回路86(図8を参照)によって受光される。制御信号検出回路86は受光した光信号に基づき指示具4のどのスイッチが動作をしているかを判定する。同時に、センサユニット1L,1Rの間で、CCDの制御信号、CCD用クロック信号およびLEDの駆動信号のやり取りが開始される。具体的には、指示具4がタイミング信号として放射する光信号にスイッチ情報を示す信号を重畳(その他に例えば座標入力ペンを識別するための識別コード等を重畳させることも可能)させるものであるが、その情報を伝送する方法は、例えば連続するパルス列からなるリーダ部と、これに続くコード(メーカーIDなど)とからなるヘッダ部をまず出力し、その後ペンスイッチ信号等の制御信号などからなる送信データ列を予め定義された順序と形式に従って順次出力する。この方法はよく知られた方法(例えば赤外線を利用したリモコン等)であり、ここでの詳述は省略する。
またその他の方法としては、例えば所定周期毎に座標検出を行うこの種の座標入力装置の所定周期を変更し、その情報を検出することにより識別することも可能である。座標入力装置が最大100ポイント/秒、つまり10msec毎に座標検出可能な仕様とすれば、ペン先SW41が動作している場合には、例えば100ポイント/秒で座標算出を行い、ペンサイドSW42が動作している場合には、80ポイント/秒で座標算出するように設定、つまり、各々その周期で指示具4から信号を放射することになるので、その周期を制御信号検出回路86で監視することによって、どのスイッチが動作しているかを判別することが可能となる。
上記指示具4のさらに具体的な構成については後述する。
指示具4の先端を入力領域5に押圧すると、ペン先スイッチ41がON状態になり、操作者によってまさに座標入力が行われ、筆跡を入力しようとする状態(「ペンダウン」状態)となる。また例えばペン先スイッチを所定時間内に2回動作させた場合、座標入力装置の座標サンプリングレートを参照しながら、信号を受信した時間、間隔、あるいは座標を算出しているタイミング等を監視することで、マウスのダブルクリック動作を認識するように構成されている。
(情報処理システムの詳細構成および動作)
本実施形態における指示具4はさらに、各種のデータを記憶することの可能なフラッシュメモリを内蔵する。以下、このような指示具4の構成を含めた本実施形態における情報処理システムの詳細なハードウェア構成を図20のブロック図を用いて説明する。
指示具4の駆動回路45は、バッテリ301、指示具4の動作全体を制御するCPU307、CPU307によって実行される各種プログラム(後述する制御プログラム、サイン認証用エンジンプログラムを含む。)やデータ(後述するサイン認証用データベースを含む。)を格納するROM306、主記憶装置として機能するRAM308、各種データを保存可能なフラッシュメモリ303、制御演算ユニット2と通信するための通信回路310、そして、ホストコンピュータ6と通信するための無線通信I/F309を含む。
座標入力装置8の制御演算ユニット2は、座標入力装置8全体を制御するCPU318、プログラムを格納するROM316、ワーク領域を有するRAM317、センサユニット1L、1Rを駆動するセンサ駆動回路313、センサユニット1L、1Rから出力される検出信号を処理し、CPU318に出力するセンサ信号処理回路314、指示具4と通信するためのペンI/F回路315、そして、ホストコンピュータ6と通信するためのI/F回路319を含む。
ホストコンピュータ6は、プロジェクター7を駆動するディスプレイ駆動回路321、各種の周辺機器を接続するための汎用I/F回路322および323、ホストコンピュータ6全体を制御するCPU324、プログラムを格納するROM325、ワーク領域として使用するRAM326、各種の機器と接続するための無線I/F327、座標入力装置8の制御演算ユニット2と接続するためのI/F回路328を含む。
以下では、上記の装置において、あらかじめホストコンピュータ6にはユーザーがログインしているものとして、情報処理システムの動作を説明する。
先述の通り、本実施形態における指示具4は、各種のデータを記憶するためのフラッシュメモリ303を内蔵している。このフラッシュメモリ303に対するアクセスの制御は、指示具4を使用する操作者がサイン認証方式にて行なう。
サイン認証方式とは、サインの形状、入力速度、ストローク、筆圧といった、個人によって異なる筆記運動の癖を時系列に情報化して照合する技術であり、上記のサイン認証エンジンが、あらかじめ登録してあるサイン認証用データベースと照合して、操作者を特定するものである。本実施形態におけるサイン認証は、ROM306に格納してあるサイン認証用エンジンプログラムおよびサイン認証用データベースにて動作し、このときの動作を「認証モード」とよぶことにする。
認証モードにてサイン認証の動作が行なわれ、操作者の認証が終了し、指示具4のフラッシュメモリ303へのアクセスが許可されたならば、フラッシュメモリ303からホストコンピュータ6への転送か、あるいはホストコンピュータ6からフラッシュメモリ303への転送かを操作者が選択することができる。この動作を「転送モード」とよび、さらに、指示具4側から見たときに、ホストコンピュータ6へ転送する場合は「送信モード」、ホストコンピュータ6から転送する場合を「受信モード」とよぶこととし、その切替えは、指示具4のサイドスイッチ42aまたは42bを押すことによって切替え動作をさせることができる。例えば、図19に示したペンサイドスイッチ42aを押しながらペンダウン動作させることで「送信モード」、ペンサイドスイッチ42bを押しながらペンダウン動作させることで「受信モード」とすることが可能となる。このように例えばペンサイドスイッチを押しながらペンダウン動作させるような所定の操作により、フラッシュメモリ303−ホストコンピュータ6間のファイル転送の要求を発行することができる。
つぎに、図21〜23のフローチャートを用いて、各ユニットの動作について説明する。
図21は、実施形態における指示具4の動作を示すフローチャートである。このフローチャートに対応するプログラムはROM306に保存されている制御プログラムおよびサイン認証用エンジンプログラムに含まれ、CPU307によって実行される。
まずステップS202で、指示具4の各スイッチの状態を判断して転送モードかどうかを判定する。上記したとおり、操作者が指示具4のペンサイドスイッチを押しながらペンダウン動作させるような所定の操作を行った時に転送モードと判断され、また、このときフラッシュメモリ303−ホストコンピュータ6間のファイル転送の要求が発行されている。転送モードの場合は、ステップS203に進んで認証モードかどうかの判断を行う。認証モードは、例えばホストコンピュータ6から送信される信号によって判断され、認証モードであれば、ステップS204で認証モードフラグをセットする。
次にステップS205で、ROM306内にある認証エンジンを起動する。そして、ステップS206で上記サイン認証エンジンで認証する認証データの受信を待つ。
制御演算ユニット2から、認証データを受信し、認証動作を開始し、サイン認証用データベースと照合して登録ユーザーと認められればステップS207で認証OKとして、ステップS208でフラッシュメモリ内のデータ・インデックスを生成する。ステップS207で認証NGの場合は、エラー処理0を実行する。
ステップS208でフラッシュメモリ内のデータ・インデックスが生成されると、ステップS209で認証OK信号を生成し、ホストコンピュータ6に送信する。ここで、認証モードを終了し、ステップS210で認証モードフラグをリセットする。このようにして認証処理が成功するとホストコンピュータ6にフラッシュメモリ303を外部記憶装置として使用することを許可する。
次にステップS211で、転送モードにしたがって、ホストコンピュータ6からのデータ受信あるいはホストコンピュータ6へのデータ送信が行なわれ、同時にインデックス情報が送受信される。そして、データの受信あるいは送信が終了したならば、ステップS212でデータ転送モードを終了する。
図22は、制御演算ユニット2の動作を示すフローチャートである。このフローチャートに対応するプログラムはROM316に格納され、CPU318によって実行される。
まずステップS302で、指示具4の入力の有無を判定する。すなわち、座標を検出したかどうかを判定し、座標を検出した場合には、次にステップS303でペンスイッチ情報に基づき転送モードかどうかを判定する。ステップS303で転送モードと判定されたならば、次にステップS304で認証モードかどうかを判定する。ステップS303の認証モードかどうかの判定は、ホストコンピュータ6から送信される信号によって判断され、認証モードと判定されたならば、ステップS305で認証モードフラグをセットする。
次にステップS306で、サイン認証のための座標入力が終了したかどうかを判定する。サイン認証のための座標入力が終了したかどうかの判定は例えば、ステップS305で認証モードフラグがセットされてから所定時間内の入力の有無で判断される。
次に、ステップS307ではサイン認証エンジンで認証判定するためのデータに変換する作業を実行する。すなわち、サイン認証で使用する、座標値、入力速度を確定し、そしてステップS308で指示具4に認証用データを送信する。次にステップS309で、認証モードフラグをリセットして、ステップS310で通常の座標計算および座標出力を実行する。
図23は、ホストコンピュータ6の動作を示すフローチャートである。このフローチャートに対応するプログラムはROM325に含まれ、CPU324によって実行される。
まずステップS502で、座標入力装置8の制御演算ユニット2から送信される座標値信号およびその信号に付加される信号が受信されたかどうかを判断する。ステップS502で信号が受信されると、ステップS503で、その信号に基づき転送モードかどうかを判定する。これは、指示具が転送モード操作を行った時に発行されるフラッシュメモリ303−ホストコンピュータ6間のファイル転送の要求を受けたかどうかで判断することができる。ここで転送モードと判定されたならばステップS504に進み、転送モードのアクセス回数をチェックする。ここで、転送モードのアクセスが初めてであると判断された場合は、ステップS505で認証モードに変更するための認証モードフラグをセットする。そして、ステップS506において、送信された座標値をバッファ(例えばRAM326)に転送し、認証モードに入った旨の信号を座標入力装置8に送信する。
次にステップS507で、先にバッファに転送した座標値に対して所定のウィンドウを表示する。このウィンドウには、指示具4内のフラッシュメモリ303に保存されているファイルの一覧とサイン認証領域を表示するが、この段階では認証が行なわれていないので、ファイル一覧の領域には意味をなさない文字などが表示される。すなわち、ファイルの情報が見る者に認識されない態様で表示される。
次にステップS508で、上記サイン認証領域に対する入力が行なわれて制御演算ユニット2から座標値が送信されるのを待つ状態となる。ここで、座標入力装置8は、認証モード時のデータの安全性を勘案して、座標値そのものの送信は停止し、例えば、間引きしたデータを送信するなどの処理をする。これは、ホストコンピュータ6側に認証データの盗用プログラムをインストールされた場合などに対応するためである。
次にステップS510で、制御演算ユニット2から送信される認証OK信号を待つ状態となり、ステップS511で認証OKと判定されたならば、次にステップS512で指示具4から送信されるデータ・インデックス信号を受信する。
そしてステップS513で、データの一覧を上記ウィンドウに表示する。これにより、操作者が転送したいデータを選択すると、指示具4に対してデータ転送が開始されることとなる。
各ユニットがそれぞれ、上述の動作をすることによって、図24に示すような、表示画像に対する指示具4の操作が可能となる。すなわち、指示具4内のフラッシュメモリ303に対して、連続した一連の動作にてデータの転送を行なうことが可能で、かつそのデータのセキュリティが確保されている。
上記連続した一連の動作とは例えば次のようなものである。まず、フラッシュメモリ303からホストコンピュータ6に転送したい場合には、図24の左側に示したウィンドウを介して操作することができる。すなわち、指示具4で任意の位置404をファイル転送を指示するとウィンドウ405が開き、このとき初めての転送モードであれば、サイン認証を要求するサイン認証領域407が表示される。指示具4のフラッシュメモリ303のファイル一覧は406に表示されうるが、このときはユーザーにとっては認識不可能な表示となる。
次にサイン認証領域407に登録ユーザーのサインを入力するとファイル一覧406が正しく表示されるようになる。なお、転送モードが2回目以上で、認証が許可されているならば、指示具4でファイル転送した指示した時点で、サイン認証領域407を省いたファイル一覧を表示したウィンドウが表示されることになる。
一方、図24の表示領域402の右側に示したホストコンピュータ6のデータを指示具4のフラッシュメモリ303に転送する場合には、転送モードが、ログイン後初回であるならば先述の通り認証モードの動作が実行される。転送モードが2回目以降であるならば、ウィンドウ411内のアイコン410を指示具4で指示することにより、ただちに対応するファイルがホストコンピュータ6から指示具4への転送が実行される。このとき、転送期間中は、画面に視覚的に操作者に転送状況がわかるようにインジケータを表示させてもよい。あるいは指示具4にインジケータを表示させてもよい。
以上のように構成することによって、パーソナルコンピュータなどのホストコンピュータ6から指示具4等の別の情報処理機器へのデータ転送を容易に行なうことが可能となり、さらに指示具4に保存されているデータのセキュリティを確保することができる。
なお、上述した座標入力装置8は光学方式によるものであったが、指示具4が画面上でどの位置を指示したかを検出可能で、かつホストコンピュータ6へ検出した座標値を送信することによって各種のアプリケーションの操作が可能であるならば、必ずしも光学方式に限定されるわけではなく、他の方式、例えば超音波方式、電磁誘導方式、電磁授受方式、静電結合方式、抵抗膜方式であってもよい。
また、指示具4内のフラッシュメモリ303に対する認証方式は、ペン型の入力装置を指示具4として用いることから、操作性のよいサイン認証方式を用いたが、使用する個人が特定できれば他の方式でもよく、例えば、眼球内にある虹彩(アイリス)のパターン画像をデータ化し、予め登録してある本人のアイリスデータと比較照合することにより個人を特定する虹彩認識、声の周波数パターンをデータ化して、予め登録してある本人のデータと比較照合して個人を特定する声紋認識、顔画像から特徴点を抽出し、その間隔や場所といった幾何学的な関係情報から認識する顔画像認識であってもよい。いずれもアプリケーションの操作を行なう指示具に認証機能を搭載することで、専用の認証用装置に持ちかえるなどの手間がなく操作性に優れた認証動作を行なうことができる。
(座標入力装置をマウスで構成する場合)
他の実施形態として、座標入力装置8として無線通信方式マウスを用いた場合について説明する。無線通信方式マウスとは、ホストコンピュータ6と入力装置であるマウス本体が無線で接続されており、赤外線あるいは電波にて通信が行なわれるものである。
この場合の情報処理システムのハードウェア構成を図25に示す。ただし、上述の実施形態における構成要素と同様の構成要素には共通の参照番号を付す。
座標入力装置は、マウスユニット20と制御ユニット21から構成される。マウスユニット20には、フラッシュメモリ505が内蔵されており、このフラッシュメモリ505へのアクセス制御は指紋認証方式で行なう。指紋による個人認証は、登録された指紋と入力された指紋とを比較照合し、十分に一致していると判断された場合に本人として判定するものである。指紋の照合アルゴリズムは、指紋模様に含まれる特徴点(隆線の端点や分岐点)の方向や位置関係などの特徴点相互間の相関関係を照合するものであり、高い指紋照合能力を持っている。指紋認証は、ROM507に格納してある指紋認証用エンジンプログラムおよび指紋認証用データベースによって実現され、これはイメージセンサおよび処理回路などから構成される指紋認証回路512に入力された指紋データに対して行われる。このときの動作を上述の実施形態と同様に「認証モード」とよぶことにする。
認証モードにて指紋認証の動作が行なわれ、操作者の指紋認証が終了し、マウスユニット20のフラッシュメモリ505へのアクセスが許可されたならば、フラッシュメモリ505からのホストコンピュータ6への転送か、あるいはホストコンピュータ6からフラッシュメモリ505への転送かを操作者が選択することができる。この動作を先述の実施形態と同様に「転送モード」とよび、マウスユニット20側から見たときに、ホストコンピュータ6へ転送する場合は「送信モード」、ホストコンピュータ6から転送する場合を「受信モード」とすると、その切替えは、マウスユニット20のスイッチSW1(501)、SW2(502)、SW3(503)に割り当てられており、このスイッチを押すことによって適宜切替え動作をさせることができる。
このように構成することによって、先に説明した実施形態と同様に表示装置7によって表示されているカーソルを操作して転送したいウィンドウを指示したり、表示装置7によって表示されているアイコンを指示することによって、マウスユニット20内のフラッシュメモリ505とホストコンピュータ6の間でのデータ転送が実行される。
すなわち、以上のように構成することによって、パーソナルコンピュータなどの情報処理装置を操作する入力装置としてマウスを構成した場合でも、その情報処理装置へのデータ転送を容易に行なうことが可能となり、さらにマウスに保存されているデータのセキュリティも確保できるという先述の実施形態と同様の効果を得ることができる。
(その他の実施形態)
これまで説明してきた座標入力装置を含む情報処理システムは、これを会議室などに常設して会議システムとして利用する場合などのように、入力指示具も会議室などに据置きにする場合には、使用者の認証データをあらかじめ認証用データベースに登録しておく必要がある。そして、この場合は複数の操作者が入力指示具を交互に交替して使用することとなる。そのときは、登録した使用者に対して、入力指示具内のフラッシュメモリの使用領域を割り当てることで効率的なデータのアクセスが可能となり操作者にとって快適なデータ転送が可能となる。
また、1台の表示装置を有する情報処理装置に対して、複数の入力指示具を使用する場合には、表示装置に表示される情報を共有してそれぞれの使用者がこの入力指示具を持参して個人専用に使用する使用形態が考えられる。例えばノートパソコンなどを持参して会議などに参加する場合に、入力指示具を、その会議室のホストコンピュータにネットワークが接続されていなくても持参したノートパソコンとホストコンピュータ間のデータ転送媒体として利用することができる。この場合であっても、各使用者はホストコンピュータのポートに接続することなく、しかも表示情報に対してダイレクトな操作でデータ転送が可能なので、操作性に優れ使い勝手のよい情報処理装置となる。
ところで、複数の入力指示具がある場合には、各指示具のフラッシュメモリからホストコンピュータに転送されたデータには、転送後もアクセス権などでセキュリティを考慮したファイルシステムとすることが好ましい。特に共有システムで使用する場合には、転送したデータに対して不特定多数のアクセスが考えられる。また、ホストコンピュータ側でのユーザー許可が何らかの手段により破られて、データの改竄や不正コピーなどの処理が可能となることは好ましくない。そこで、本装置では、入力指示具のフラッシュメモリから転送されるファイルデータに対してIDを付加する手段を有する。すなわち、入力指示具のIDや使用者のIDを転送データの属性に付加してホストコンピュータ6に転送することによって、様々なデータに対するアクセスを制御することが可能となる。
上記IDがファイル属性に付加される処理は、指示具内のCPUによって実行され、フラッシュメモリに転送されることとなる。付加されるIDは、各ペン(指示具)に対して一対一に設定されていて、このペンに対する固有のIDをペンIDと呼ぶことにすると、ペンIDは予めそのペン内のROMに保存されており、適宜CPUから読出しが行なわれる。
ペンからホストコンピュータに転送するファイルに対して、ホストコンピュータのアプリケーションではファイルの属性のチェックが行なわれる。そして、ペンIDが、ファイル属性に付加されていた場合には、アプリケーションに使用している複数のペンのうちどのペンから転送されたファイルであるかを判別することが可能となる。さらに上記に加えて、先述した認証動作を実行した操作者のIDが転送ファイルの属性に付加されることによって、ホストコンピュータでは転送されたデータにユーザーのID情報が付加されているので、どのユーザーがデータを転送したのかを判別することが可能となる。
このようにファイル属性にペンIDあるいはユーザーIDを付加することによって、ホストコンピュータでは、例えば、ファイルに対する閲覧、修正、加筆などのアクセス制御をペン単位あるいはユーザー単位で制御することができるため、優れたセキュリティ機能を有することとなる。
一方で、ホストコンピュータから、ペンにファイルが転送された場合は、ペン側では、転送されたファイル属性をチェックして、既にペンIDあるいはペンユーザーIDが付属していないかを確認する。そして、ホストコンピュータからの受信データがIDなしデータの場合には、新たにファイル属性にIDを付加する。また、すでに別のペンのIDやユーザーIDが付加されていた場合には、時系列データとして保存してある履歴情報を更新し、IDの更新作業を行なう。このように、ホストコンピュータ6から転送されたファイルに対してもIDの履歴情報を更新し、ペンおよびユーザーの情報を監視することで、データの二次的な使用を有効的に効率化することが可能となる。
(入力指示具の記憶手段が着脱可能な構成とする場合)
先述の実施形態では、使用者がそれぞれ専用の入力指示具を使用して、共有の表示装置および情報処理装置を使用する使用形態について説明した。しかしながら、持ち運びする記憶媒体としては、小型軽量である方が好ましいことは言うまでもない。したがって、以下では、入力指示具の構成を記憶手段と入力指示具本体とを着脱可能な構成にする場合について説明する。
共有ディスプレイを用いた会議などを行なう場合に、あらかじめ資料を作成して電子文書として持参することが考えられるが、指示具にデータを保存して会議などに参加することが可能ではあることは先述の通りである。しかし、本実施形態の座標入力装置を含む情報処理システムを会議室などに常設して使用する場合には、指示具としての入力ペンは記憶装置を有しているので入力ペンも常設した情報処理装置に付属して据置きとしたい場合が考えられる。したがって、記憶手段を着脱可能とすることで、個人のデータを別の場所などで手持ちのコンピュータに該記憶手段であるメモリをシリアルポートなどに接続して各種データを移動させて、情報処理システムを使用するときに指示具本体に接続して使用することが可能な構成とした。このような構成にすることによって、先に説明したのと同様の効果を得ることができる。
図26にメモリ部分を着脱可能な指示具の概略構成図を示す。この指示具は、フラッシュメモリを内蔵する筐体(メモリ部分)601と先述のような駆動回路やスイッチを有する筐体604とを、コネクタ602と603とによって接続可能な構成となっている。コネクタ602は、例えばパーソナルコンピュータのシリアルポートと共通の接続仕様となっている。したがって、情報処理システムの使用、不使用に関係なく汎用のメモリデバイスとして使用することが可能である。一方で入力ペン本体である604は、記憶手段はないが、単体で座標入力装置の入力ペン(指示具)として使用することが可能である。
以上の構成にすることによって、先に説明した実施形態と同様に記憶手段を汎用デバイスとして使用可能としつつ、入力ペンと接続することによって、ホストコンピュータにデータ転送が可能となる。
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。