以下、本発明に係わる座標入力装置、座標入力制御方法、座標入力制御プログラムの実施形態について添付図面を参照して詳細に説明する。なお、以下実施形態においては、座標入力面へペンや指等の指示体が接触している状態の接触位置を示す座標をタッチダウン座標と言う。また、座標入力面から所定距離内に接近した非接触状態のペンや指等の指示体の位置を示す座標をタッチアップ座標と言う。
(実施形態1)
図1は、本発明の実施の一形態に係わる座標入力装置2の構成の一例を示す図であり、図2は、座標入力装置2における処理の流れを示すフローチャートである。
図1において、表示デバイス1は、液晶ディスプレイ、プラズマディスプレイ、更には、表面電界ディスプレイ、リアプロジェクションディスプレイ等の表示器と、光学方式により座標入力を検出する座標入力装置2とから構成される。
座標入力装置2は、表示器に一体的に装着され、その表示領域の一部或いは全域を座標入力面として専用ペンや指等の指示体により入力された座標を検出する。なお、本実施形態においては光学方式により座標検出を行なう場合を例に挙げて説明するが、これ以外の方式により座標入力を検出しても勿論かまわない。表示デバイス1では、表示デバイス周辺部に設けられたセンサ部21により、検出光の状態の変化を検出し、ペン等により指示された座標を検出する。検出された座標は、演算制御部22に入力される。
光学方式の座標入力装置においては、指による座標入力によりタッチパネルとして使用する方式と、専用ペン3によるタッチアップ座標とタッチダウン座標の両方を検出する方式とがあるが、本実施形態では、後者の方式を前提として説明する。この後者の方式における座標検出に係わる光学関連の機構は、例えば、投光手段、再帰反射手段、受光手段、角度検出手段から構成される。投光手段による投光が再帰反射手段により座標入力有効領域の周辺部に再帰反射され、その光を受光手段により受光する。そして、座標入力有効領域の少なくとも2箇所の角部に設けられた角度検出手段が、受光手段により検出された光量分布の変化から指又はペン等により指示された方向を検出し、導出した複数の角度情報に基づき位置座標を算出する。
ここで、図2を用いて、図1に示す座標入力装置2における処理の流れについて説明する。
専用ペン3により座標入力面にタッチ(接触)(S101)されたタッチダウン(ペンダウン)状態の検出は、専用ペン3のペン先に装着された不図示のペンスイッチによる座標入力面へのタッチ検出により行われる。タッチダウンに際しては、専用ペン3からセンサ部21にタッチダウン信号が送信される(S102)。このタッチダウン信号の送信には、例えば、光学手段(赤外線等)や無線通信手段(電磁波等)が用いられる。センサ部21に送られたタッチダウン信号は更に、演算制御部22内の座標検出部23に送られる(S103)。
また、センサ部21では、当該センサの検出範囲内であれば、座標入力面にタッチ(接触)されているときのみならず、離れているときにも検出を行なう(S101及びS102)。そして、その指示状態の情報がセンサ部21から演算制御部22内の座標検出部23に送られる(S103)。座標検出部23では、センサ部21からの指示状態の情報に基づいて座標を検出するとともに、指示された座標を演算により算出する(S104)。この算出された座標は、タッチアップ/タッチダウン識別部24に送られる。
タッチアップ/タッチダウン識別部24は、座標の検出に対応してセンサ部21からタッチダウン信号が送信されてきているか調べ、当該座標がタッチアップ、タッチダウン何れによるものであるかを識別する。この結果、タッチダウン信号が確認されたならば、タッチアップ/タッチダウン識別部24は、タッチダウン座標と識別する。一方、タッチダウン信号を確認できなかった場合、専用ペン3のペン先が座標入力面にタッチしていない状態、すなわち、座標入力面から離れた状態で座標が検出されているため、タッチアップ/タッチダウン識別部24は、その座標をタッチアップ座標と識別する。タッチアップ座標は、いわゆるプロキシミティ入力、近接入力時のカーソル表示座標に対応する。
ここで、タッチダウン信号が確認され、タッチダウン座標と識別された場合(S105でYES)、タッチアップ/タッチダウン識別部24から座標送信制御部26にタッチダウン座標情報が送られる(S111)。この場合、座標送信制御部26は、タッチダウン座標情報をそのまま入力デバイスドライバ4に送信する(S112)。
また、タッチダウン信号が確認されず、タッチアップ座標と識別された場合(S105でNO)、タッチアップ/タッチダウン識別部24は、タッチアップ座標情報を座標領域識別部25に送信する(S106)。座標領域識別部25では、当該タッチアップ座標が表示中のどのアプリケーション領域に属するのか識別し、タッチアップ座標情報に領域識別子(例えば、アプリケーションを示す識別情報)を付与する。従来、座標入力装置2において検出(識別)されたタッチアップ座標はそのまま、ドライバ又はアプリケーションに座標情報として送信されていた。なお、座標領域識別部25には、表示デバイス1上における個々のアプリケーションの表示領域、すなわち、アプリケーションの表示領域上に占めるウィンドウ領域における座標情報がアプリケーションから入力デバイスドライバ4を介して予め送られている。表示デバイス1上における個々のアプリケーションの表示領域情報は、例えば、操作者のウィンドウ操作により位置、サイズ等が変更された場合にも、座標領域識別部25に逐次送られる。このとき、座標領域識別部25では、その最新の表示領域情報を更新し記憶する。アプリケーションの表示領域上に占めるウィンドウ領域の座標情報は一般に、そのアプリケーションのウィンドウハンドルの情報を取得することにより得られる。
ここで、アプリケーション51及びアプリケーション52は、カーソル表示形態に係わる仕様が異なる。具体的には、アプリケーション51は、タッチアップ座標をカーソル表示するが、アプリケーション52は、タッチアップ座標をカーソル非表示とする。表示デバイス1の表示領域上には、タッチアップ座標をカーソル表示する第1の領域と、タッチアップ座標を非表示とする第2の領域とがある。この第1の領域(タッチアップ座標カーソル表示領域61に対応する)は、アプリケーション51に対応する表示領域であり、第2の領域(タッチアップ座標カーソル非表示領域62に対応する)は、アプリケーション52に対応する表示領域である。
座標領域識別部25は、領域識別子が付与されたタッチアップ座標情報を演算制御部22内の座標送信制御部26に送信する(S107)。すると、座標送信制御部26では、当該送られてきたタッチアップ座標情報とそれに付与された領域識別子とに基づきタッチアップ座標情報の送信/非送信の制御を行う。タッチアップ座標情報がタッチアップ座標カーソル表示領域61内の座標である旨を示す領域識別子であった場合には(S108でYES)、座標送信制御部26は、そのタッチアップ座標情報を入力デバイスドライバ4に送信する(S109)。また、タッチアップ座標情報がタッチアップ座標カーソル非表示領域62内の座標である旨を示す領域識別子であった場合には(S108でNO)、座標送信制御部26は、そのタッチアップ座標情報を入力デバイスドライバ4に送信(非送信)しない(S110)。座標送信制御部26では、このタッチアップ座標情報の送信、非送信に係わる制御をタッチアップ座標が検出される都度実施する。
入力デバイスドライバ4では、送られてきた座標情報がタッチアップ座標カーソル表示領域61に対する座標であれば、その座標情報をカーソル表示座標としてアプリケーション51に送信する。タッチアップ座標カーソル非表示領域62に対するタッチアップ座標は、座標入力装置2から入力デバイスドライバ4に送信されないので、当該領域62ではカーソル表示は行なわれない。なお、領域62に対するタッチダウン座標情報は、座標入力装置2から入力デバイスドライバ4を介してアプリケーション52に送信されるため、カーソル表示される。
タッチアップ座標情報がアプリケーション51に送られると、アプリケーション51は、そのタッチアップ座標情報に基づくカーソル表示を行う。タッチダウン座標情報が送られてきた場合、アプリケーション51は、タッチアップ時のカーソル表示状態からの連続性を考慮し、カーソル表示したままボタンダウンコマンドを実行する。なお、カーソル表示せずにボタンダウンコマンドを実行するようにしてもよい。一方、タッチアップ座標カーソル非表示領域62に対する座標入力の場合、アプリケーション52は、タッチアップ座標情報を受信せず、タッチダウン座標情報のみを受信し、カーソル表示無しのタッチダウンコマンド、ボタンダウンコマンドを実行する。
以上、上述した構成により、表示デバイス1に表示されたアプリケーション51、52に応じてタッチアップ座標をカーソル表示する場合とタッチアップ座標をカーソル非表示とする場合の制御を行うことができる。
続いて、図3を用いて、指示具の指示に係わる部分の大きさに比べて細かな操作が必要とされる領域と、そうでない領域とから構成される表示領域において上記処理を行なう場合について簡単に説明する。
ここで、前者に当たる領域には、細かな操作が必要とされるオブジェクト等から構成されるアプリケーション51が表示されており、この領域をここでは、タッチアップ座標カーソル表示領域61とする。また、後者に当たる領域には、指示具の指示に係わる部分の大きさに比べて大きなオブジェクト等から構成されるアプリケーション52が表示されており、この領域をここでは、タッチアップ座標カーソル非表示領域62とする。なお、細かな操作が必要とされるオブジェクト等とは、例えば、小さな操作オブジェクト、小さな選択メニュー、細かな描画対象オブジェクト、間隔の狭い操作オブジェクト等のことを指す。また、大きなオブジェクト等とは、大きな操作オブジェクト、大きな選択メニュー、おおまかな描画対象オブジェクト、間隔の広い操作オブジェクト等のことを指す。
図3において、操作者が、指示具の指示に関わる部分、例えば専用ペン3のペン先部分の大きさに比べて、細かな操作が必要とされるオブジェクト等が表示されたタッチアップ座標カーソル表示領域61を指示しようとしたとする。この場合、タッチダウン状態となる前から専用ペン3によるタッチアップ座標に対応したカーソル表示がなされる。そのため、操作者は、カーソル表示を確認しながら、つまり、フィードバックしながら最終的なタッチダウン操作を行うことになる。これにより、指示具の指示に関わる部分の大きさに比べて細かなオブジェクト等を操作する場合にも、位置精度良く指示を行なえる。
一方、操作者が、専用ペン3のペン先部分の大きさに比べて細かな操作が必要とされるオブジェクト等が表示されたタッチアップ座標カーソル非表示領域62を指示しようとしたとする。この場合、タッチアップ状態においてはカーソル表示されない。そもそも、カーソルは、マウス操作を前提として表示される。つまり、マウスの左ボタンがクリックされるまでの過程においてその指示位置を示すことを目的としたものであり、ホワイトボードアプリケーションでは、そのような表示は必要ないと考えられることもある。紙にペンで描画する指示形態をコンセプトとするアプリケーションにおいては、カーソル表示形態自体がなじまず、また、字を書く場合には、カーソル表示が操作上邪魔になる場合さえ想定される。更に、指示具の指示に関わる部分の大きさに比べて大きなオブジェクト等を操作する場合には、誤操作が生じる可能性が少ないため、カーソル表示に対する必要性が低い。このような理由により、タッチアップ座標カーソル非表示領域62において、カーソル非表示という、そのアプリケーション領域において最適な表示形態、操作環境が実現されることになる。
以上のように実施形態1によれば、表示画面上の領域(この場合、アプリケーションの表示領域)に応じてカーソル表示を自動的に切り替えることができる。これにより、同一画面に多様なアプリケーションが展開された場合であっても、操作者が直感的に分かり易く操作できるユーザ・インターフェース環境を提供できる。
また、カーソル表示しない場合には、座標入力装置2から入力デバイスドライバ4に座標情報が送信されないため、座標入力装置2と入力デバイスドライバ4間の通信負担の軽減や、またドライバ、アプリケーションにおける処理負担の軽減を図れる。
(実施形態2)
次に、実施形態2について説明する。実施形態2においては、座標が検出された領域ではなく、検出された座標数に応じてカーソル表示を切り替える場合について説明する。
図4は、実施形態2に係わる座標入力装置2の構成の一例を示す図であり、図5は、図4に示す座標入力装置2における処理の流れを示すフローチャートである。なお、図4に示す座標入力装置2の構成は基本的に、図1と同様の構成となる。相違点としては、表示デバイス1に単一のアプリケーション53のみが表示されているところと、座標領域識別部25が取り除かれ、その替わりに座標数識別部27が設けられているところである。また、座標検出部23で、複数の座標を同時に検出できるところも異なる。
ここで、図5を用いて、実施形態2に係わる座標入力装置2における処理の流れについて説明する。S201〜S204までの処理は、実施形態1の図2におけるS101〜S104までの処理と同様となるため、ここではその説明については省略する。なお、図5においては、複数の座標として2つの座標が同一サンプリングタイミング(以下、同一タイミングと言う場合もある)で検出された場合について説明する。
S205において、タッチアップ/タッチダウン識別部24は、座標の検出に対応してセンサ部21からタッチダウン信号が送信されてきているか調べ、当該座標がタッチアップ、タッチダウン何れによるものであるかを識別する。ここで、タッチダウン信号との対応が確認されたタッチダウン座標が含まれていた場合には(S205でYES)、タッチアップ/タッチダウン識別部24は、タッチダウン座標情報を座標送信制御部26に送信する(S213)。そして、これを受けた座標送信制御部26がタッチダウン座標情報を入力デバイスドライバ4に送信する(S214)。なお、同一タイミングで識別されたタッチアップ座標がある場合には、そのタッチアップ座標情報も入力デバイスドライバ4に送信する。
また、タッチダウン座標が含まれていなかった場合には(S205でNO)、タッチアップ/タッチダウン識別部24は、タッチアップ座標情報を座標数識別部27に送信する(S206)。なお、従来、座標入力装置2において検出(識別)されたタッチアップ座標はそのまま、ドライバ又はアプリケーションに座標情報として送信されていた。
座標数識別部27は、受信したタッチアップ座標情報が単数であるか複数であるかを識別する。タッチアップ座標情報が単数であった場合には(S207でYES)、座標数識別部27は、そのタッチアップ座標情報に単数フラグを付与し(S208)、複数であった場合には(S207でNO)、複数フラグを付与する(S209)。座標数識別部27では、フラグを付与した後、当該タッチアップ座標情報を座標送信制御部26に送信する。
座標送信制御部26では、座標数識別部27から送られてきたタッチアップ座標情報に単数フラグ、複数フラグの何れが付与されているかを判断する。単数フラグの場合(S210でYES)、つまり、単数のタッチアップ座標情報であった場合には、座標送信制御部26は、このタッチアップ座標情報を入力デバイスドライバ4に送信する(S211)。一方、複数フラグの場合(S210でNO)、つまり、複数のタッチアップ座標情報であった場合には、座標送信制御部26は、タッチアップ座標情報を入力デバイスドライバ4に送信(非送信)しない(S212)。
以上が、実施形態2に係わる座標入力装置2における処理の流れについての説明である。なお、実施形態2においては、複数の座標を同時に検出できる座標検出方式として、例えば、光学方式を用いる。光学方式の場合、同時に入力される複数座標の識別を確実にするためペン先スイッチの信号情報が必要となるが、ペン先スイッチの信号情報のないタッチアップ座標を識別情報付きで複数検出することは技術的に困難である。つまり、現状においては、複数のタッチダウン座標は検出できるが、複数のタッチアップ座標の検出は難しい。そこで、上述したように、タッチアップ座標が複数であると識別された場合には、タッチアップ座標を入力デバイスドライバ4に非送信とするのである。
図6は、上述した座標入力装置2における入力座標と出力座標との関係を示す図である。
ここで、入力、出力ともにNはなし(非)を示し、UPはタッチアップ座標を示し、DOWNはタッチダウン座標を示している。なお、表番1−1〜1−6は、図5のフローチャートに対応させてある。
この表を参照すると、上述した通り、複数のタッチアップ座標が検出された場合には、そのカーソルが非表示となることが分かる。また、タッチダウン座標とタッチアップ座標とが一つずつ混在する場合には、その両方を示す座標情報が入力デバイスドライバ4に送信されることが分かる。
以上のように実施形態2によれば、同一タイミングでタッチアップ座標が複数検出された場合には、そのタッチアップ座標をドライバ(アプリケーション)側に送信しない。これにより、不確実な情報(座標の検出)により、アプリケーション側の操作性が低下するのを防ぐことができる。
(実施形態3)
次に、実施形態3について説明する。実施形態3においては、タッチアップ座標とタッチダウン座標の両方を含めて単数/複数を判断し、その検出された座標数に応じてカーソル表示を切り替える場合について説明する。
実施形態3に係わる座標入力装置2の構成は基本的に、図4と同様の構成となるため、その説明については省略する。なお、上述した実施形態においては、説明を省略したが、タッチダウンに際しては、専用ペン3各々が有する固有の識別子(以下、ペンIDと言う)と、タッチダウン信号とが同時に専用ペン3から発信され、それが座標入力装置2に入力される。
ここで、図7、図8を用いて、実施形態3に係わる座標入力装置2における処理の流れについて説明する。なお、S301〜S304までの処理は、実施形態2の図5におけるS201〜S204までの処理と同様となるため、その説明については省略する。
S305において、タッチアップ/タッチダウン識別部24は、座標の検出に対応してセンサ部21からタッチダウン信号が送信されてきているか調べ、当該座標がタッチアップ、タッチダウン何れによるものであるかを識別する。この結果、タッチダウン信号との対応が確認されたタッチダウン座標の場合には(S305でYES)、タッチアップ/タッチダウン識別部24は、そのタッチダウン座標にタッチダウンIDを付与する。このとき、タッチダウン信号のペンID毎に指示順識別子Nも付与する(S306)。指示順識別子Nの初期値は1とされ、このルーチンを経過する都度カウントアップ(N=N+1)される。より詳細には、座標入力領域に対して最初に指示された座標の指示順識別子Nは1となり、以後、そのタッチダウンが継続されれば、その座標がサンプリングされる都度、2、3、4・・・とタッチアップされるまでカウントアップされる。
一方、S305においてタッチダウン信号との対応が確認されなかった座標、すなわち、タッチアップ座標の場合(S305でNO)、タッチアップ/タッチダウン識別部24は、タッチアップ座標にタッチアップIDと指示順識別子Nとを付与する(S307)。タッチアップ座標に付与する指示順識別子Nも、上述したタッチダウン座標時と同様に、初期値は1とされ、このルーチンを経過する都度カウントアップ(N=N+1)される。但し、一つ前にサンプリングされたタッチアップ座標と比較し、例えば、座標の検出位置が所定距離以内でない場合には、連続性なしとしてリセット(N=1)される。
タッチダウン座標、タッチアップ座標に対して指示順識別子等の付与が済むと、タッチアップ/タッチダウン識別部24は、タッチダウン座標情報、タッチアップ座標情報の何れか或いはその両方を座標数識別部27に送信する。ここで、同一タイミングで検出された座標がまだあれば(S308でNO)、再度、S305の処理に戻る。一方、同一タイミングで検出された座標が他になければ(S308でYES)、座標数識別部27において、同一タイミングにおけるタッチアップ座標、タッチダウン座標の数を識別する。
ここで、座標が単数であると識別された場合(S309でYES)、その単数の座標情報が座標送信制御部26に送信される(S310)。そして、これを受けた座標送信制御部26は、その単数の座標情報がタッチダウンIDを保持しているか否かを判断する。タッチダウンIDを保持していれば(S311でYES)、座標送信制御部26は、タッチダウン座標情報を入力デバイスドライバ4に送信する(S313)。一方、タッチダウンIDが保持されていない、つまり、タッチアップ座標であれば(S311でNO)、座標送信制御部26は、タッチアップ座標情報を入力デバイスドライバ4に送信する(S312)。
また、同一タイミングにおける座標の数が複数であると判断された場合には(S309でNO)、その複数の座標情報が座標送信制御部26に送信される(S314)。ここで、S315における複数座標処理を図8に示す。図8において、座標送信制御部26は、同一タイミングにおける複数の座標が、複数のタッチアップ座標であるか否かを判断する。この判断は、タッチアップIDが複数あるか否かに基づき行なわれる。この結果、複数のタッチアップIDが確認された場合には(S401でYES)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信(非送信)しない(S402)。
一方、タッチアップIDが単数であった場合には(S401でNO)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信する(S403)。なお、S401でNOとなるのは、単数のタッチアップ座標及び単数/複数のタッチダウン座標が検出された場合や、複数のタッチダウン座標が検出された場合である。
図9は、上述した座標入力装置2における入力座標と出力座標との関係を示す図である。ここで、入力、出力ともにNはなし(非)を示し、UPはタッチアップ座標を示し、DOWNはタッチダウン座標を示している。なお、各表番は、図7、図8のフローチャートに対応させてある。
実施形態2で説明した図6の表と異なる点としては、まず、入力座標に対して先指示と後指示とが区別されているところである。これは、同一の座標入力領域に対して、タッチダウン、或いは、タッチアップとなった状態の時間的な後先を区別したものである。すなわち、座標入力領域に対して先に座標が入力され、それが継続されている場合には、それを先指示とし、その継続途中で入力された座標が後指示となる。
また、座標入力領域を示す領域の欄も、先指示と後指示とがそれぞれ設けられる。WBは、例えば、描画を主な機能とするホワイトボード領域、BMは、細かな、ボタンを伴うメニューに係わる操作領域を示す。また、表の一番右の列には、判断基準の欄を設け、入力座標に基づき出力座標へ処理する際の根拠となる判断基準が示されている。これは、操作環境、仕様を実現するための処理上のルールである。このルールの違いに関しては、後述する実施形態で説明する。
以上のように実施形態3によれば、タッチアップ座標とタッチダウン座標の両方を含めて単数/複数を判断し、座標の送信制御を行なう。この場合にも、実施形態2同様の効果が得られる。
(実施形態4)
次に、実施形態4について説明する。実施形態4においては、同一タイミングで複数の座標が検出された場合に、その座標の連続性(座標検出の継続性)を考慮してカーソル表示を行なう場合について説明する。なお、実施形態4に係わる座標入力装置2における処理の一部は、実施形態3における処理と同様となるため、ここでは相違点についてのみ説明する。相違点としては、実施形態3の図8における複数座標処理にある。そのため、実施形態4では、複数座標処理についてのみ説明する。なお、実施形態4に係わる座標入力装置2の構成は基本的に、図4と同様の構成となるため、その説明については省略する。
図10において、この処理は、同一タイミングにおけるタッチアップ座標、タッチダウン座標の数が複数であると判断され、その複数の座標情報が座標数識別部27から座標送信制御部26に送信されると開始される。
座標送信制御部26は、同一タイミングにおける複数の座標が複数のタッチアップ座標であるか否かを判断する。この判断は、タッチアップIDが複数あるか否かに基づき行なわれる。この結果、複数のタッチアップIDが確認された場合には(S501でYES)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信(非送信)しない(S502)。
一方、タッチアップIDが単数であった場合には(S501でNO)、座標送信制御部26は、先指示の座標(指示順識別子Nのカウント数が大きい座標)のみを座標情報として入力デバイスドライバ4に送信する(S503)。すなわち、S503の処理では、(今回のサンプリングよりも)以前のサンプリング時点から検出されていた座標の座標情報を優先して入力デバイスドライバ4に送信する。
このようにS503において先指示の座標のみを入力デバイスドライバ4に送信するため、後指示の座標(指示順識別子Nのカウント数が小さい座標)は、入力デバイスドライバ4に送信されない。この場合の処理は、図9に示す表における表番2−7と表番2−10に対応する。表番2−7と表番2−10には、その判断基準として先着ルールが示される。例えば、表番2−7では、タッチアップが検出されるよりも先にタッチダウンが継続して検出されており、タッチダウン座標のみが入力デバイスドライバ4に送信されている。一方、表番2−10では、タッチダウンが検出されるよりも先にタッチアップが継続して検出されており、タッチアップ座標のみが入力デバイスドライバ4に送信されている。
以上のように実施形態4によれば、座標入力領域への指示を行った順番、すなわち、タッチダウンやタッチアップの連続性(座標検出の継続性)を考慮して、入力デバイスドライバ4へ座標を送信する。これにより、例えば、タッチアップ座標を入力していた操作者が、後にきた操作者によるタッチアップ座標の入力により操作が遮断されることがなくなる。
(実施形態5)
次に、実施形態5について説明する。実施形態5においては、座標が検出された表示画面上の領域、座標入力数の両方に応じてカーソル表示を切り替える場合について説明する。
図11は、実施形態5に係わる座標入力装置2の構成の一例を示す図であり、図12〜図15は、図11に示す座標入力装置2における処理の流れを示すフローチャートである。なお、図11に示す座標入力装置2の構成は基本的に、図1、図4と同様の構成となる。相違点としては、アプリケーション53に対応した表示領域(ウィンドウ)内において、第1の領域(タッチアップ座標カーソル表示領域631)と第2の領域(タッチアップ座標カーソル非表示領域632)とがあるところである。タッチアップ座標カーソル表示領域631は、例えば、操作ボタン部を内在する。タッチアップ座標カーソル非表示領域632は、例えば、ホワイトボードとして専用ペン3による描画を行う領域である。なお、この領域632では、複数の専用ペン3により描画が同時に行なわれる場合もある。この場合、例えば、2つの専用ペン3による同時描画に際して、専用ペン3各々が有する固有の識別子であるIDと、タッチダウン信号とを同時に専用ペン3から発信する。座標入力装置2においては、それをセンサ部21で受信し、座標検出部23でIDを識別し、そのID信号をタッチダウン座標とともに入力デバイスドライバ4に送信する。こうすることでアプリケーション53では、入力デバイスドライバ4を経由して渡された専用ペンIDにより、専用ペン3毎に属性、例えば、色、線種、太さの異なる線で描画を行うことができる。このような構成により、座標検出部23においては、専用ペン3等による描画等が同一タイミング(厳密には、非常に近いタイミングをも含む)でなされた場合であっても、センサ部21からの複数の指示状態の情報を受け、複数座標の検出、演算を行うことができる。
なお、実施形態5においては、複数の座標を同時に検出できる座標検出方式として、例えば、光学方式を用いる。光学方式を用いる。光学方式の場合、同時に入力される複数座標の識別を確実にするためペン先スイッチの信号情報が必要となるが、ペン先スイッチの信号情報のないタッチアップ座標を識別情報付きで複数検出することは技術的に困難である。つまり、現状においては、複数のタッチダウン座標は検出できるが、複数のタッチアップ座標の検出は難しい。これらを考慮すると、図11に示す各表示領域は以下のようになる。
タッチアップ座標カーソル表示領域631は、一度に単数のみの座標入力しか受け付けない領域であり、また、タッチアップ座標をカーソル表示する領域である。タッチアップ座標カーソル非表示領域632は、複数のタッチダウンによる座標入力を受け付けるが、タッチアップ座標に係わるカーソルは非表示とする領域である。
ここで、図12〜図15を用いて、実施形態5に係わる座標入力装置2における処理の流れについて説明する。なお、S601〜S604までの処理は、実施形態1の図2におけるS101〜S104までの処理と同様となるため、ここではその説明については省略する。
S605において、タッチアップ/タッチダウン識別部24は、座標の検出に対応してセンサ部21からタッチダウン信号が送信されてきているか調べ、当該座標がタッチアップ、タッチダウン何れによるものであるかを識別する。この結果、タッチダウン信号との対応が確認されたタッチダウン座標の場合には(S605でYES)、タッチアップ/タッチダウン識別部24は、そのタッチダウン座標にタッチダウンIDを付与する。このとき、タッチダウン信号のペンID毎に指示順識別子Nも付与する。その後、タッチアップ/タッチダウン識別部24は、タッチダウンID等が付与されたタッチダウン座標情報を座標領域識別部25に送信する(S606)。
座標領域識別部25では、タッチダウン座標情報が表示中のアプリケーション領域内のどの領域に属するのか識別し、タッチダウン座標情報に領域識別子を付与する。すなわち、ここでは、タッチアップ座標カーソル表示領域631、タッチアップ座標カーソル非表示領域632何れで検出された座標であるかの識別を行う。ここでの処理は実質的に、一度に単数のみの座標入力しか受け付けない領域と、同時に複数の座標入力を受け付ける領域とを識別することになる。座標が検出された領域の識別が済むと、座標領域識別部25は、タッチダウン座標情報に領域を示す識別子を付与し、タッチダウン座標を座標数識別部27に送信する(S607)。
一方、S605においてタッチダウン信号との対応が確認されなかった座標、すなわち、タッチアップ座標の場合(S605でNO)、タッチアップ/タッチダウン識別部24は、タッチアップ座標にタッチアップIDと指示順識別子Nとを付与する。その後、タッチアップ/タッチダウン識別部24は、タッチアップID等が付与されたタッチアップ座標情報を座標領域識別部25に送信する(S608)。
これを受けた座標領域識別部25では、当該タッチアップ座標情報が表示中のアプリケーション領域内のどの領域に属するのか識別する。そして、その識別結果に基づく領域識別子をタッチアップ座標に付与し、そのタッチアップ座標情報を座標数識別部27に送信する(S609)。ここで、同一タイミングで検出された座標がまだあれば(S610でNO)、再度、S605の処理に戻る。一方で、同一タイミングで検出された座標が他になければ(S610でYES)、詳細は後述するが、座標送信制御処理を実施した後(S611)、この処理を終了する。
続いて、図13を用いて、図12のS611における座標送信制御処理について説明する。
この処理が開始されると、座標数識別部27は、同一タイミングに受信した座標(タッチアップ座標、タッチダウン座標)が単数であるか複数であるかを識別する。ここで、座標が複数であると判断された場合(S701でNO)、その複数の座標情報が座標数識別部27から座標送信制御部26に送信される(S702)。その後、詳細は後述するが、複数座標送信制御処理が実施された後(S703)、この処理は終了する。
また、座標が単数であると判断された場合(S701でYES)、その単数の座標情報が座標数識別部27から座標送信制御部26に送信される(S704)。座標送信制御部26では、その単数の座標情報がタッチダウンIDを保持しているか否かを判断する。この結果、タッチダウンIDを保持していれば(S705でYES)、座標送信制御部26は、そのタッチダウン座標情報を入力デバイスドライバ4に送信する(S706)。一方、タッチダウンIDが保持されていない、つまり、タッチアップ座標情報であれば(S705でNO)、座標送信制御部26は、そのタッチアップ座標情報がタッチアップ座標カーソル非表示領域632で検出された座標であるか判断する。この結果、タッチアップ座標カーソル非表示領域632で検出された座標であれば(S707でYES)、座標送信制御部26は、そのタッチアップ座標情報を入力デバイスドライバ4に送信(非送信)しない(S708)。タッチアップ座標カーソル非表示領域632で検出された座標でなければ(S707でNO)、座標送信制御部26は、そのタッチアップ座標情報を入力デバイスドライバ4に送信する(S709)。その後、この処理は終了する。
続いて、図14を用いて、図13のS703における複数座標送信制御処理について説明する。
この処理が開始されると、座標送信制御部26は、複数のタッチアップ座標であるか否かを判断する。この結果、複数のタッチアップIDが確認された場合には(S801でYES)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信(非送信)しない(S802)。また、タッチアップIDが単数であった場合には(S801でNO)、複数の座標の指示領域識別子が同一であるか否かを判断する。すなわち、複数の座標が同一の領域(例えば、タッチアップ座標カーソル表示領域631)で検出されたか否かを判断する。同一の領域で検出されていなければ(S803でNO)、詳細は後述するが、異領域送信制御処理を実施した後(S805)、この処理は終了する。
一方、同一の領域で検出された座標であった場合には(S803でYES)、タッチアップ座標カーソル非表示領域632で検出された座標であるか判断する。この結果、タッチアップ座標カーソル非表示領域632で検出された座標であれば(S804でYES)、座標送信制御部26は、タッチダウン座標情報のみを入力デバイスドライバ4に送信する。このとき、タッチアップ座標情報は入力デバイスドライバ4送信(非送信)されない(S806)。また、タッチアップ座標カーソル非表示領域632で検出された座標でなければ(S804でNO)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信しない(S807)。これは、タッチアップ座標カーソル表示領域631では、複数の座標入力を受け付けないためである。
続いて、図15を用いて、図14のS805における異領域送信制御処理について説明する。
この処理が開始されると、座標送信制御部26は、複数の座標情報の中からタッチアップ座標カーソル非表示領域632で検出されたタッチダウン座標があるか否かを判断する。この結果、タッチアップ座標カーソル非表示領域632で検出されたタッチダウン座標があれば(S901でYES)、座標送信制御部26は、そのタッチダウン座標情報を入力デバイスドライバ4に送信する。このとき、タッチアップ座標は、入力デバイスドライバ4に送信(非送信)されない(S902)。これは、異なる領域に対して同時に座標入力がなされた場合には、タッチアップ座標カーソル非表示領域632への座標入力を優先させる旨の領域間の優先ルールが設定されているためである。
一方、タッチアップ座標カーソル非表示領域632で検出されたタッチダウン座標がなければ(S901でNO)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信(非送信)しない(S903)。
なお、図12〜図15に示すフローチャート(S706、S708、S709、S802、S806、S902)には、図9に示す表番がそれぞれ対応させてある。
以上が、実施形態5に係わる座標入力装置2における処理の流れについての説明である。このような処理を行なうことにより、例えば、図11に示すように、複数の専用ペン3で領域632に対して独立した描画が行なわれた場合、カーソル表示されない。領域632内に描画を行う際には、細かい作業を要しないというその作業の性質上、特にカーソル表示は必要とされないためである。
これに対して、例えば、プリントアウト操作を行おうとする場合には、領域631内のボタンを操作することになるが、その際には、間違えて隣のボタンを押さないように、細かく正確な作業が要求される。この場合、図16に示すように、操作ボタンが配置された領域631近傍に、専用ペン3を近づけると、タッチアップ座標に対応したカーソル表示がなされる。これにより、操作者は、当該表示されたカーソルを頼りにプリントアウト操作に対応したボタンを正確にタッチダウンすることができる。
以上のように実施形態5によれば、正確に操作が行なえる領域631と、同時に複数の入力が行なえる領域632とを確保することができ、特に、複数入力時に不確定な座標情報を入力デバイスドライバ4側に送信することによる誤操作を抑制させられる。
なお、実施形態5においては、領域に応じてカーソル表示を切り替える場合について説明したが、他の手段、例えば、モードによりこの切り替えを行なうようにしてもよい。
(実施形態6)
次に、実施形態6について説明する。実施形態6においては、同一タイミングに異なる領域で座標が検出された場合に、その座標の連続性(座標検出の継続性)を考慮してカーソル表示を行なう場合について説明する。なお、実施形態6に係わる座標入力装置2における処理の一部は、実施形態5における処理と同様となるため、ここでは相違点についてのみ説明する。相違点としては、実施形態5の図15における異領域送信制御処理にある。そのため、実施形態6では、異領域送信制御処理についてのみ説明する。なお、実施形態6に係わる座標入力装置2の構成は基本的に、図11と同様の構成となるため、その説明については省略する。
図17において、この処理は、同一タイミングに異なる領域で座標が検出された場合に開始される。この処理では、まず、座標送信制御部26において、座標に付与された指示順識別子Nが参照され、先指示の座標(指示順識別子Nのカウント数が大きい座標)がタッチダウン座標であるか判断される。この結果、先指示の座標がタッチダウン座標であった場合には(S1001でYES)、座標送信制御部26は、当該タッチダウン座標情報を入力デバイスドライバ4に送信する。このとき、後指示の座標情報は、入力デバイスドライバ4に送信(非送信)されない(S1002)。
一方、先指示の座標がタッチアップ座標であった場合には(S1001でNO)、当該座標がタッチアップ座標カーソル非表示領域632で検出された座標であるか判断する。この結果、タッチアップ座標カーソル非表示領域632で検出された座標であれば(S1003でYES)、座標送信制御部26は、後指示のタッチダウン座標情報を入力デバイスドライバ4に送信する。このとき、先指示のタッチアップ座標は、入力デバイスドライバ4に送信(非送信)されない(S1004)。すなわち、タッチアップ座標カーソル非表示領域632では、タッチアップ座標に係わるカーソルを非表示とするため、後指示であるタッチダウン座標を優先させる。
また、タッチアップ座標カーソル非表示領域632で検出された座標でなければ(S1003でNO)、座標送信制御部26は、先指示のタッチアップ座標情報を入力デバイスドライバ4に送信する。このとき、後指示の座標情報は、入力デバイスドライバ4に送信(非送信)されない(S1005)。
以上のように実施形態6によれば、同一タイミングに異なる領域で座標が検出された場合であっても、座標入力領域へ指示が行なわれた順番、すなわち座標の連続性を考慮して入力デバイスドライバ4側へ座標を送信することができる。
なお、実施形態6における優先ルールに限られず、例えば、後指示の座標を先指示の座標よりも絶対的に優先させるようにしてよいし、また、例えば、タッチアップ座標カーソル非表示領域632で検出された座標を絶対的に優先させる等してもよい。
(実施形態7)
次に、実施形態7について説明する。上述した実施形態1〜実施形態6においては、タッチアップ座標、タッチダウン座標の状態を各々独立して比較、判断していた。しかし、実際の操作においては、タッチアップ座標状態のみでN状態(完全に指示を中止する状態)に戻る場合を除いては、タッチアップ座標状態からタッチダウン座標状態に遷移し、更に、タッチアップ座標状態へと連続的に変化する。そこで、実施形態7においては、この一連の座標入力操作に鑑み、より操作性を向上させた場合について説明する。
図18においては、タッチダウンに際して、座標入力面に対して近づく時に検出されるタッチアップ座標をUP1、タッチダウン座標の後過程としての座標入力面から離れる時に検出されるタッチアップ座標をUP2とする。ここで、図18(a)、図18(b)に示すように、先指示と後指示とでその座標検出が逆転する逆点ポイント(逆点ポイント1〜3)が3箇所でてくる。逆点ポイントとは、先指示は、後指示よりも先に指示された一連の座標であるので、その座標が検出されなくなるまでの全ての過程において後指示よりも優先して検出されるべきであるのにそうでないところである。例えば、タッチアップ座標の検出には、未検出からタッチアップ(UP1)、及びタッチダウンからタッチアップ(UP2)の座標検出パターンがある。この変化した時点を基準として後先を比較すると、比較順位が逆転してしまう状態がある。但し、逆転ポイント2に関しては、先指示が既に未検出になっているので問題はない。
また、図18(c)に示すように、UP2関連のみならず、タッチダウン座標状態においても逆転ポイントは発生する。つまり、タッチアップ座標においては先指示と判断されても、後指示の方がタッチダウンへ早いタイミングで移った場合、このような逆転現象が起きる。
このような事態は、座標検出に際して、前後のタッチアップ座標状態とタッチダウン座標状態とを時系列に関連付けせずに検出した場合に生じる。本来、逆転ポイント1及び3では、先指示の座標が未検出とならず連続している限りは、後指示よりも常に優先してその座標情報が入力デバイスドライバ4側に送信されるべきである。
これを実現するために、実施形態7では、連続性があると判断された座標に関しては、タッチアップ座標とタッチダウン座標の遷移が発生しても、同一の連続座標として検出する。つまり、実施形態7では、UP1〜ダウン〜UP2に到るすべての座標状態において、後指示に対して先指示であるとの識別を連続的に保持させ、逆点状態を解消させる。
ここで、図19に示すフローチャートを用いて、座標の連続性(座標検出の継続性)を考慮した場合の処理の流れについて説明する。なお、図19では、実施形態3における図7の処理と相違する点についてのみ説明する。
S1105において、タッチアップ/タッチダウン識別部24は、座標の検出に対応してセンサ部21からタッチダウン信号が送信されてきているか調べ、当該座標がタッチアップ、タッチダウン何れによるものであるかを識別する。この結果、タッチダウン信号との対応が確認されたタッチダウン座標の場合には(S1105でYES)、タッチアップ/タッチダウン識別部24は、そのタッチダウン座標にタッチダウンIDを付与する。このとき、タッチダウン信号のペンID毎に指示順識別子Nも付与する(S1106)。このとき、タッチアップ/タッチダウン識別部24は、指示順識別子、座標情報、タッチダウンIDを、例えば、RAM(Random Access Memory)等の記憶手段に記憶させる。
その後、タッチアップ/タッチダウン識別部24は、今回のタッチダウン状態がタッチアップからタッチダウンへの状態変化、つまり、タッチアップ座標からの遷移によりタッチダウンになったか判断する。この判断は、上述した記憶手段に保持された前回の指示順識別子N、タッチダウンID、タッチアップIDを比較して行う。ここで、前回もタッチダウンIDであった場合には(S1107でNO)、タッチダウン状態の維持であるため、指示順識別子Nはそのままの状態となり、タッチダウン座標情報が座標数識別部27に送信される(S1109)。
一方、S1107において、前回はタッチアップIDを保持していたことが確認されれば、タッチアップからタッチダウンへの状態変化が起こっていることになる。この場合には、更に、記憶手段に記憶された前回の座標情報と今回の座標情報とを比較し座標の連続性を判断する。例えば、前回の座標との差分(距離)が所定以内の場合には、連続性有りと判断する。
連続性があると判断されれば(S1107でYES)、それ以前のタッチアップ座標の指示順識別子Nの値を継承した上で、カウントアップを行う(S1108)。つまり、タッチアップからタッチダウンへ状態変化した場合には、例えば、それまでのタッチアップ座標の指示順識別子Nがカウント100である場合には、N=1ではなく、N=100+1=101となる。その後、タッチダウン座標情報が、タッチアップ/タッチダウン識別部24から座標数識別部27に送信される(S1109)。
また、S1105において、タッチダウン信号との対応が確認されなかった座標、すなわち、タッチアップ座標の場合(S1105でNO)、タッチアップ/タッチダウン識別部24は、そのタッチアップ座標に対して上述した処理を行なう。この処理は基本的に、タッチダウン座標におけるS1106〜S1109の処理と同様であるため、その説明は省略する。タッチダウンをタッチアップ、タッチアップからタッチダウンへの状態変化をタッチダウンからタッチアップへの状態変化、に置き換えて処理してやればよい。
以上のように実施形態7によれば、タッチアップからタッチダウン、タッチダウンからタッチアップへの状態変化が起こった場合にも、座標の継続性を判断してカーソル表示の制御が行なえるため、上述したような逆転ポイントが生じない。座標入力を先に行なった操作者は、その操作を継続している限り、後から操作を開始した操作者の影響を受けずに済む。
なお、上記説明では、実施形態3の改良として説明したが、これに限られず、実施形態7に係わる座標の連続性を考慮した処理は、その他実施形態で説明した処理に対しても適用できる。
(実施形態8)
次に、実施形態8について説明する。上述した実施形態1〜実施形態6においては、複数のタッチアップ座標が検出された場合には、該当する複数のタッチアップ座標を入力デバイスドライバ4に対して非送信とする処理を行っていた。しかし、所定の優先ルールを定めた場合には、一部のルールにおいて、その最終過程に到るまでの途中過程でタッチダウンのカーソル表示が途切れる場合が発生する。例えば、図9に示す表における、表番2−10、2−12、2−16、2−17で示されるケースで発生する。
つまり、先指示のタッチアップ座標がその状態を保持した状態で後指示がタッチダウンからタッチアップへと状態変化した場合、途中で一旦、複数のタッチアップ座標状態と判断されてしまう。その瞬間に、先指示のタッチアップ座標も入力デバイスドライバ4に対して非送信となり、カーソル非表示となってしまう。
そこで、実施形態8においては、実施形態3の図7におけるS315の複数座標処理を例に挙げてこの課題を解決する方法について説明する。なお、ここでは、上述した実施形態8における図19で説明したS1105〜S1113の処理により、指示順識別子には、座標の連続性(座標検出の継続性)を考慮した指示順識別子が与えられているものとする。
図20において、この処理は、同一タイミングにおけるタッチアップ座標、タッチダウン座標の数が複数であると判断され、その複数の座標情報が座標数識別部27から座標送信制御部26に送信されると開始される。
座標送信制御部26は、同一タイミングにおける複数の座標が複数のタッチアップ座標であるか否かを判断する。この判断は、タッチアップIDが複数あるか否かに基づき行なわれる。この結果、タッチアップIDが単数であった場合には(S1201でNO)、座標送信制御部26は、全ての座標情報を入力デバイスドライバ4に送信する(S1203)。なお、この処理は、上述した実施形態3における図8のS403と同様の処理となる。
一方で、複数のタッチアップIDが確認された場合には(S1201でYES)、座標送信制御部26は、複数のタッチアップ座標の指示順識別子を比較する。ここで、例えば、複数のタッチアップ座標各々に付与された指示順識別子をN1、N2とすると、指示順識別子Nの値が大きい方のタッチアップ座標情報を入力デバイスドライバ4に送信する(S1202)。
例えば、N1>N2の場合、N1の指示順識別子のタッチアップ座標情報を入力デバイスドライバ4に送信する。一方、N2の指示順識別子のタッチアップ座標情報は入力デバイスドライバ4に送信(非送信)しない。NIが付与される座標は、例えば、上述した実施形態7における図19で説明したS1105〜S1113の処理により、連続性を考慮した指示順識別子が付与されたタッチアップ座標である。また、N2が付与される座標は、初めて指示された座標である、すなわち、今回の初めてタッチアップ座標となった座標である。このように、N1やN2が付与されたタッチアップ座標は、上述した座標の継続性の判断により明確に識別できる。
以上のように実施形態8によれば、先指示のタッチアップ座標は、UP1、UP2何れの場合であっても、後指示の座標の影響を受けることなく、入力デバイスドライバ4側に送信される。
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
例えば、上述した実施形態においては、光学方式により座標を検出する場合について説明するが、同様の検出機能、性能を有するものならばよく、他の方式により座標検出を行なうようにしてもよい。
また、上述した実施形態においては、表示器と、座標入力を検出する座標入力装置とが一体となっている場合について説明したが、それぞれが別体で構成されていても表示領域と座標入力領域が対応していれば、上記説明した実施形態における処理を実施できる。
また、上述した実施形態において説明したタッチアップ座標カーソル表示領域(61、631)では、正確な操作を行うのに十分な領域が操作ボタン等の操作対象オブジェクトの周囲に確保されているのが望ましい。操作対象オブジェクト近傍にタッチアップ座標カーソル非表示領域(62、632)があると、操作対象オブジェクトに極めて近い位置でなければカーソルが表示されないことになり操作に不都合となるためである。
また、上述した実施形態において説明したタッチアップ座標カーソル表示領域(61、631)内の操作対象オブジェクトをより正確に操作するために、実際のタッチアップ座標カーソル表示領域631の範囲よりも一定範囲その領域を広げるようにしてもよい。更に、タッチアップ座標カーソル表示領域(61、631)内への操作に際して、当該領域外に一度出た場合であっても、一定時間内或いはタッチアップ座標カーソル表示領域(61、631)から一定範囲内であれば、カーソルを表示状態のまま維持させてもよい。
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。
したがって、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム(例えば、座標入力制御プログラム)自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OS(Operating System)に供給するスクリプトデータ等の形態であってもよい。
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部又は全部を行ない、その処理によって前述した実施形態の機能が実現される。
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU(Central Processing Unit)などが実際の処理の一部又は全部を行なう。