"キャリブレーションの際にユーザに指示させるポイントを含む画像データを画面上に表示させる表示制御手段と、ユーザにより指示された前記画面上における位置を検出する検出手段と、前記画像データ上における前記ポイントの位置と、ユーザにより指示された前記画面上における位置との誤差を算出する誤差算出手段と、前記誤差算出手段により算出された誤差に応じて、前記画像データに含まれるポイントを追加する追加手段とを有することを特徴とするキャリブレーション装置。前記誤差算出手段は、前記画像データの部分領域毎に、前記画像データ上における前記ポイントの位置と、ユーザにより指示された前記画面上における位置との誤差を算出し、前記追加手段は、前記誤差算出手段により部分領域毎に算出された誤差に応じて、前記画像データの各部分領域におけるポイントを追加することを特徴とする請求項1に記載のキャリブレーション装置。前記ポイントは複数のポイントであり、前記部分領域は、前記複数のポイントによって分割された領域であることを特徴とする請求項2に記載のキャリブレーション装置。前記検出手段により検出された、ユーザにより指示された前記画面上における一部の位置に基づいて、前記画像データ上における前記ポイントの位置を算出する位置算出手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載のキャリブレーション装置。前記画像データ上における前記ポイントの位置は、予め定められた位置であることを特徴とする請求項1乃至3の何れか1項に記載のキャリブレーション装置。キャリブレーションの際にユーザに指示させるポイントを含む画像データを画面上に表示させる表示制御ステップと、ユーザにより指示された前記画面上における位置を検出する検出ステップと、前記画像データ上における前記ポイントの位置と、ユーザにより指示された前記画面上における位置との誤差を算出する誤差算出ステップと、前記誤差算出ステップにより算出された誤差に応じて、前記画像データに含まれるポイントを追加する追加ステップとを有することを特徴とするキャリブレーション装置の制御方法。キャリブレーションの際にユーザに指示させるポイントを含む画像データを画面上に表示させる表示制御ステップと、ユーザにより指示された前記画面上における位置を検出する検出ステップと、前記画像データ上における前記ポイントの位置と、ユーザにより指示された前記画面上における位置との誤差を算出する誤差算出ステップと、前記誤差算出ステップにより算出された誤差に応じて、前記画像データに含まれるポイントを追加する追加ステップとをコンピュータに実行させるためのプログラム。しかしながら、キャリブレーション作業を正確に行ったとしても、上述したように、座標入力システムの座標検出の性能や投影された画像データの歪み等のために、場所によって、座標入力システム上の座標と表示される画像上の座標との間に誤差が発生する場合がある。どの程度まで誤差を抑えることができるかは、基本的にはキャリブレーションを行うポイントの数に応じて決まってくる。そのため、ポイントの数が一定であると、誤差が生じている部分があっても、誤差を低減できるレベルには一定の限界がある。また、キャリブレーションを行うポイントの数をユーザが選択するという方法もある。しかし、この方法では、一旦キャリブレーションを行った後、ユーザが使用した上で誤差が大きいと判断すると、ポイントの数を増やしてキャリブレーションの作業をもう一度やり直すことになり、煩わしい。また、画面全体に渡って多数のポイントを指示するとなると、その作業はユーザにとって大きな負担となる。そこで、本発明の目的は、ユーザの作業負荷を抑えつつ、効率よく誤差を低減させることにある。本発明のキャリブレーション装置は、キャリブレーションの際にユーザに指示させるポイントを含む画像データを画面上に表示させる表示制御手段と、ユーザにより指示された前記画面上における位置を検出する検出手段と、前記画像データ上における前記ポイントの位置と、ユーザにより指示された前記画面上における位置との誤差を算出する誤差算出手段と、前記誤差算出手段により算出された誤差に応じて、前記画像データに含まれるポイントを追加する追加手段とを有することを特徴とする。本発明によれば、ユーザの作業負荷を抑えつつ、効率よく誤差を低減させることが可能となる。以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。なお、以下に説明する実施形態は飽くまでも本発明の一適用例に過ぎず、本発明は以下の実施形態に限定されるものではない。先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係る座標入力システムの一部構成を示す図である。図1において、1はホワイトボードであり、プロジェクタによって投影される画像を表示させるためのスクリーンとして使用される。外部のコンピュータがプロジェクタに接続されており、コンピュータから出力される画像データに対応する画像がホワイトボード1に対して投影されるようになっている。2は、プロジェクタから投影された画像の表示領域である。3は、指等でスクリーン上が指示されたときに、指示された座標を検出するためのデジタイザユニットであり、図1に示すようにホワイトボード1の左右及び下辺を囲むような形状となっている。デジタイザユニット3は、ホワイトボード1の表面に固定されている。4及び5は、投光を行うためのLEDと受光のためのセンサとを備えたセンサユニットであり、それぞれデジタイザユニット3内部の左右の上端部分に配置されている。7は、再帰反射部であり、入射光を到来方向に反射する再帰反射面を有する。再帰反射部7は、ホワイトボード1の左右及び下辺を囲むように構成されており、センサユニット4及び5から投光された光を、投光した各々のセンサユニット4及び5に向けて再帰的に反射する。反射された光は、集光光学系及びCCD等によって構成されたセンサユニット4及び5内部のセンサによって検出され、その光量分布を示すデータ光量分布データが出力される。また、デジタイザユニット3内部の下辺部分には制御ユニット6が配置されている。制御ユニット6は、CPU及びメモリ等の周辺回路を備える。制御ユニット6は、センサユニット4及び5のコントロールや、センサユニット4及び5からの出力データの受信及び座標計算等の処理を行う。図2は、センサユニット4及び5と制御ユニット6との構成を示す図である。図2に示すように、制御ユニット6は、座標入力システムの各種制御を行うためのCPU8と、CPU8を動作させるためのプログラムが記録されているフラッシュメモリ10と、CPU8のワーク用メモリであるSRAM9とを備える。また制御ユニット6は、CPU8によって算出された座標データを、外部に接続されたコンピュータ18に送信するためのUSBインタフェース部11を備える。なお、センサユニット4及び5と制御ユニット6とは、キャリブレーション装置の適用例となる構成である。センサユニット4及び5はそれぞれ、投光を行うためのLED12及び15と、受光のためのセンサであるCCD13及び16とを備える。本実施形態では、CCD13及び16の出力はアナログ信号である。また、センサユニット4及び5は、CCD13及び16から出力されるアナログ信号をデジタル信号に変換するA/D変換部14及び17を備える。A/D変換部14及び17から出力されるデジタル信号は、CPU8に入力される。CPU8は、CCD13及び16のシャッタタイミングやデータの出力タイミングを制御するための信号を生成し、CCD13及び16に供給する。またCPU8は、LED12及び15を駆動するための信号を生成し、LED12及び15に供給する。またCPU8は、LED12を点灯するための信号を出力するとともに、CCD13のシャッタを制御する信号を出力する。これにより、CCD13は、LED12から投光された光が再帰反射部7で反射された光を検出する。またCPU8は、LED15を点灯するための信号を出力するとともに、CCD16のシャッタを制御する信号を出力する。これにより、CCD16は、LED15から投光された光が再帰反射部7で反射された光を検出する。CCD13及び16の出力信号は、A/D変換部14及び17でデジタル化され、CPU8に入力される。図3は、CCD13及び16からCPU8に入力されるデータをグラフ化して示した図である。例えば、スクリーン上への指示がない場合、図3aに示すような光量分布データが得られる。横軸はCCDの画素番号であり、縦軸はCCDが出力する光量レベルである。得られる光量分布データの形状は、主にLED12及び15の投光特性、再帰反射部7の再帰反射特性、並びに、センサユニット4及び5から再帰反射部7までの距離等によって決定される。図3bは、指等によってスクリーン上への指示が行われた状態での光量分布データを示している。LED12及び15から投光された光が遮られ、再帰反射部7による反射光が得られなくなるため、遮られた部分の光量が低下する。本座標入力システムの電源を入れた直後等に、CPU8は、光量分布データを取得する。即ち、CPU8は、LED12及び15からの投光を行わない状態の光量分布データB[x]xは1~Nを取得し、SRAM9に記憶する。なお、光量分布データB[x]は、図3aにおける破線部分のデータに相当する。ここで、xはCCD13及び16の画素番号であり、NはCPU8が読み込むCCD13及び16の画素の総数である。次にCPU8は、LED12及び15からの投光を行った状態で、図3aの実線部分のようなスクリーン上への指示がない状態での光量分布データをリファレンス光量分布データRef[x]として取得し、SRAM9に記憶する。その後、CPU8は、一定期間毎に光量分布データL[x]を取得して、スクリーンに対する指示の有無を検出する。指等によってスクリーン上への指示が行われると、図3bに示すように、遮られた部分の光量が低下する。CPU8は、リファレンス光量分布データRef[x]と光量分布データL[x]との差分を算出することにより、この変化を検出する。即ち、CPU8は、次の式1を用いて、各画素番号について遮光された割合K[x]を算出する。K[x]=Ref[x]-L[x]/Ref[x]-B[x]式1CPU8は、K[x]の値が予め決められた閾値Thより大きい場合、指示があったと判定する。指示があった場合、CPU8は、当該指示があったと判定した画素番号の範囲を検出し、その範囲の中央を指示の中心とする。次にCPU8は、テーブルを参照することにより、指示の中心と判定した画素番号を角度θに変換する。図4は、指示があった座標入力システム上の座標の算出方法を説明するための図である。先ずCPU8は、左側に配置されたセンサユニット4の位置を原点として、そこから右側のセンサユニット5を通る方向をx軸とする。またCPU8は、左側のセンサユニット4を通り、x軸に垂直な方向をy軸とする。CPU8は、左側のセンサユニット4の座標を原点0,0とし、右側のセンサユニット5の座標を1,0として、座標入力システム上の座標系を定める。ここで、座標入力システム上の座標系において、座標px,pyに指示があったものとする。上述した手順テーブル参照により指示の中心と判定された画素番号に対応する角度θ0及びθ1が求められる。ここで、角度が0°となる基準方向をx軸の方向とする。x軸の方向は、例えば本座標入力システムの電源が入れられたときに片方のセンサユニットのLEDを発光させ、その光を反対側のセンサユニットによって検出することによって決定される。なお、指示があった座標px,pyは、次の式2及び式3を用いて算出される。px=tanθ1/tanθ0tanθ1式2py=tanθ0×tanθ1/tanθ0tanθ1式3式2及び式3により算出された座標入力システム上の座標px,pyは、USBインタフェース部11に入力されてUSBのコマンドに変換され、座標変換等の座標処理を行うコンピュータ18に送信される。コンピュータ18には、予め本座標入力システムを使用するために必要となるドライバ及びアプリケーションがインストールされている。座標px,pyは、コンピュータ18に入力されると、ドライバに送られる。ドライバは、座標入力システム上の座標px,pyを、コンピュータ18の画像データ上の座標hx,hyに変換する。ここで、座標入力システム上の座標px,pyを、コンピュータ18の画像データ上の座標hx,hyに変換するために必要なパラメータを得るためには、予めキャリブレーションを行っておく必要がある。キャリブレーションは、例えば本座標入力システムを設置して初めて使用するときに行われる。また、座標入力システム上の座標px,pyとコンピュータ18の画像データ上の座標hx,hyとの対応関係は、デジタイザユニット3が設置された位置と、プロジェクタから投影された画像の表示領域2の位置や大きさとの関係によって変わる。従って、デジタイザユニット3の設置位置を変えたり、プロジェクタから投影された画像の表示領域2の位置や大きさを変えたりして対応関係が変わったときには、キャリブレーションをやり直す必要がある。キャリブレーションを行うためのプログラム以下、キャリブレーションプログラムと称すは、アプリケーションとしてコンピュータ18にインストールされており、ユーザが起動することで実行される。図5は、キャリブレーションプログラムによって実行される処理を示すフローチャートである。ステップS501において、CPU8は、複数のキャリブレーションポイントで指示を行うためのループを開始する。ステップS502において、CPU8は、コンピュータ18から入力されたキャリブレーション用画像データに対応する画像以下、キャリブレーション用画像と称すを、スクリーン上の予め定められた位置に表示させる。なお、ステップS502は、表示制御手段の処理例である。図6aは、キャリブレーション用画像の表示例を示している。ここでキャリブレーション用画像の左上端の座標が0,0、右下端の座標が1919,1199であるものとする。図6aに示すキャリブレーション用画像では、座標20,20を中心として、キャリブレーションポイントである十字形状の画像が表示されている。ステップS503において、CPU8は、ユーザによる指示があったか否かを判定する。ユーザによる指示があった場合、処理はステップS504に移行する。一方、ユーザによる指示がない場合、処理はステップS503に戻る。ステップS504において、CPU8は、ユーザにより指示された座標を、座標入力システム上の座標として保存する。ここで、座標入力システム上のkkは1~9番目の座標をcx[k],cy[k]とする。以上の処理を、座標を変えながら9箇所のキャリブレーションポイントについて繰り返す。9箇所のキャリブレーションポイントのキャリブレーション用画像上の座標は、順番に次のように決められているものとする。20,20、960,20、1900,20、20,600、960,600、1900,600、20,1180、960,1180、1900,1180図6bは、キャリブレーション用画像上における9箇所のキャリブレーションポイントの位置を示している。図6bに示すように9箇所のキャリブレーションポイントを直線で結ぶことにより、破線で示したように4個の矩形領域部分領域が生成される。ステップS506において、CPU8は、各矩形領域について、誤差の程度を評価するためのループを開始する。ステップS507において、CPU8は、各矩形領域における誤差を算出する。なお、ステップS507は、誤差算出手段の処理例である。ここで、キャリブレーション用画像上における隅の4箇所のキャリブレーションポイントk=1,3,7,9の位置は、それらを結ぶことにより長方形となる位置に決められている。また、隅の4箇所のキャリブレーションポイント以外の中間のキャリブレーションポイントk=2,4,5,6,8の位置は、隅のキャリブレーションポイントのちょうど中点に位置するように決められている。従って、隅の4箇所のキャリブレーションポイントk=1,3,7,9で指示された座標入力システム上の座標を基準にすると、他のキャリブレーションポイントにおいて、誤差のない場合に期待される座標入力システム上の座標は、隅の4箇所のキャリブレーションポイントの中点として算出することができる。他のキャリブレーションポイントにおける座標入力システム上の座標の期待値をdx[k],dy[k]とすると、これらの値は、隅の4箇所のキャリブレーションポイントの座標入力システム上の座標を用いて、式4~式13のように算出することができる。なお、他のキャリブレーションポイントにおける座標入力システム上の座標の期待値を算出する処理は、位置算出手段の処理例である。dx[2]=cx[1]cx[3]/2式4dy[2]=cy[1]cy[3]/2式5dx[4]=cx[1]cx[7]/2式6dy[4]=cy[1]cy[7]/2式7dx[6]=cx[3]cx[9]/2式8dy[6]=cy[3]cy[9]/2式9dx[8]=cx[7]cx[9]/2式10dy[8]=cy[7]cy[9]/2式11dx[5]=cx[4]cx[6]/2式12dy[5]=cy[4]cy[6]/2式13なお、隅の4箇所のキャリブレーションポイントを基準として他のキャリブレーションポイントの値を算出するため、投影されたキャリブレーション用画像の表示領域2は、センサユニット4及び5で検出できる範囲に該当すればよい。即ち、キャリブレーション用画像の表示領域2はセンサユニット4及び5で検出できる範囲にあれば、表示領域2の位置やサイズは任意でよく、また、表示領域2を回転した場合にも対応することができる。隅の4箇所のキャリブレーションポイント以外のキャリブレーションポイントについて、座標の期待値dx[k],dy[k]と、実際に指示された座標cx[k],cy[k]との間に差があれば、何らかの誤差が発生していることになる。プロジェクタから投影された画像の歪みや、センサユニット4及び5が測定した角度の精度等が座標の誤差の原因となる。また、デジタイザユニット3やセンサユニット4及び5の取り付け状態によって、センサユニット4及び5の角度の基準0°の方向がずれると、図4に示すθ0やθ1にオフセットが発生し、誤差が発生する。先ずCPU8は、図6bに示す4個の矩形領域のうち左上の矩形領域について合計誤差Eを算出する。それぞれのキャリブレーションポイントにおいて、座標の期待値dx[k],dy[k]と、実際に指示された座標cx[k],cy[k]との間の座標単位での距離を誤差とし、矩形領域を囲む4箇所のキャリブレーションポイントにおける誤差の合計を合計誤差Eとする。但し、k=1のキャリブレーションポイントは基準として用いられているため、誤差は0となるので、k=2,4,5の3箇所のキャリブレーションポイントの誤差の合計を算出すればよい。従って、合計誤差Eは次の式14によって求められる。E=sqrtcx[2]-dx[2]2cy[2]-dy[2]2sqrtcx[4]-dx[4]2cy[4]-dy[4]2sqrtcx[5]-dx[5]2cy[5]-dy[5]2式14ここで、sqrtは平方根を求める関数である。またここでは、合計誤差Eとして、座標の期待値と実際に指示された座標との距離の合計の値を用いたが、他の式を用いてもよい。例えば、式14で平方根の関数を外した式、つまり距離の平方の合計を誤差Eとしてもよい。これにより、平方根演算を省略されるため、計算負荷を減らすことができる。ステップS508において、CPU8は、合計誤差Eが閾値Ethより大きいか否かを判定する。合計誤差Eが閾値Ethより大きい場合、処理はステップS509に移行する。一方、合計誤差Eが閾値Eth以下である場合、処理はステップS514に移行する。ここで、閾値Ethは、実際の使用上において、どの程度の誤差までが許容されるか等を評価した結果により予め決められており、固定値として保持されている値である。ステップS509において、CPU8は、誤差を減らすためにキャリブレーションポイントを追加するためのループを開始する。ここでは、キャリブレーション用画像の左上の矩形領域においてキャリブレーションポイントが追加されたものとする。図6cは、キャリブレーションポイントを5箇所追加した場合の例を示している。追加される5箇所のキャリブレーションポイントk=10~14は、左上の矩形領域を囲む4箇所のキャリブレーションポイントの中点となっており、それらのキャリブレーション用画像上の座標は以下のとおりである。490,20、20,310、490,310、960,310、490,600ステップS510において、CPU8は、キャリブレーション用画像を表示する。同時に、CPU8は、キャリブレーションポイントを追加するメッセージを表示する等して、ユーザに通知する。ステップS511において、CPU8は、ユーザの指示があったか否かを判定する。ユーザの指示があった場合、処理はステップS512に移行する。ステップS512において、CPU8は、ユーザにより指示された座標を、座標入力システム上の座標cx[k],cy[k]として保存する。なお、1箇所目のキャリブレーションポイントではk=10となる。ステップS509~S513では、5箇所のキャリブレーションポイントについて、キャリブレーション用画像の表示処理、ユーザの指示待ち処理、及び、ユーザにより指示された座標を座標入力システム上の座標cx[k],cy[k]として保存する処理を繰り返す。なお、ここではkは10~14の値をとる。以上により、CPU8は、キャリブレーションポイントを追加するループを終了する。他の矩形領域に対して、ステップS506~S514のループ処理、即ち、合計誤差Eの算出処理、合計誤差Eと閾値Ethとの比較処理、及び、キャリブレーションポイントの追加判定処理を同様に行う。以上により、各矩形領域における合計誤差を検査して、合計誤差が大きい矩形領域に対してのみ、キャリブレーションポイントの追加が行わることになる。以上のキャリブレーション処理によって、左上の矩形領域だけでキャリブレーションポイントの追加が行われたものとする。その場合、キャリブレーションを行った全てのキャリブレーションポイントを図示すると、図6dに示すようになる。左上の矩形領域については、キャリブレーションポイントの追加が行われたため、破線で示したように当該矩形領域が更に4個の矩形領域に分割されている。ステップS515において、CPU8は、矩形領域を囲む4箇所のキャリブレーションポイントのキャリブレーション用画像上の座標、及び、座標入力システム上の座標cx[k],cy[k]を用いて、座標入力システム上の座標をキャリブレーション用画像上の座標に変換するための変換式を算出する。本実施形態においては、座標入力システム上の座標px,pyを、キャリブレーション用画像上の座標hx,hyに変換する式として、次の式15及び式16が算出される。hx=a×px×pyb×pxc×pyd式15hy=e×px×pyf×pxg×pyh式16ここで、a、b、c、d、e、f、g、hは係数である。例えば、一番左上の矩形領域においては、矩形領域を囲む4箇所のキャリブレーションポイントのキャリブレーション用画像上の座標はそれぞれ、以下のとおりである。20,20、490,20、20,310、490,310また、これらのキャリブレーション用画像上の座標に対応する、座標入力システム上の座標cx[k],cy[k]のkの値は、それぞれ、1,10,11,12である。4箇所のキャリブレーションポイントのキャリブレーション用画像上の座標と、対応する座標入力システム上の座標cx[k],cy[k]とを、式15及び式16に代入すると、次の式17~式24のようになる。20=a×cx[1]×cy[1]b×cx[1]c×cy[1]d式1720=e×cx[1]×cy[1]f×cx[1]g×cy[1]h式18490=a×cx[10]×cy[10]b×cx[10]c×cy[10]d式1920=e×cx[10]×cy[10]f×cx[10]g×cy[10]h式2020=a×cx[11]×cy[11]b×cx[11]c×cy[11]d式21310=e×cx[11]×cy[11]f×cx[11]g×cy[11]h式22490=a×cx[12]×cy[12]b×cx[12]c×cy[12]d式23310=e×cx[12]×cy[12]f×cx[12]g×cy[12]h式24CPU8は、上記8個の連立方程式を解くことにより、係数a、b、c、d、e、f、g、hを算出し、保存する。同様に、CPU8は、他の全ての矩形領域についてそれぞれの係数を算出して保存する。以上でキャリブレーションプログラムが終了する。キャリブレーションプログラム終了後、CPU8は、ユーザの指示を検出するための光量分布データを取得する処理を開始する。座標入力システム上の座標px,pyに指示があったとすると、その座標px,pyはコンピュータ18に送信され、ドライバに送られる。ドライバにおいては、先ず指示された座標px,pyが図6dの破線で分割された各矩形領域のどこに含まれるかを判定する。例えばドライバは、各矩形領域を囲む直線の式を算出し、座標px,pyが各直線の内側にあるか否かを判定することにより、含まれる矩形領域を判定する。次にドライバは、座標px,pyが含まれる矩形領域に対応する係数a、b、c、d、e、f、g、hを用いて、式15及び式16により、指示された座標px,pyをキャリブレーション用画像上の座標hx,hyに変換し、オペレーティングシステムに送信する。そして、マウスカーソルの操作や、アプリケーションの操作等が行われることになる。以上のように、本実施形態においては、ドライバにおいて、指示された座標入力システム上の座標px,pyから、キャリブレーション用画像上の座標hx,hyへの変換が行われる。他の実施形態として、CPU8においてこの変換処理を行って、CPU8からコンピュータ18に対して、キャリブレーション用画像上の座標hx,hyを送信するようにしてもよい。この場合、キャリブレーションを行ったときに、ドライバからCPU8に対して、キャリブレーションポイントのキャリブレーション用画像上の座標が送信される。そしてCPU8は、式15及び式16の各係数を算出し、保存しておけばよい。本実施形態においては、キャリブレーションポイントを追加した矩形領域については、より小さく分割された矩形領域で変換が行われるため、誤差を低減することができる。なお、本実施形態では、初めに4個の矩形領域を生成し、各矩形領域で合計誤差を検査して、次にさらに4個の矩形領域に分割するようにしたが、もちろん他にも様々なやり方がある。例えば、9個の矩形領域や16個の矩形領域に分割する方法でもよい。座標入力システムの誤差の出方やユーザの操作の煩雑さ等を考慮して、適切な分割数を決めればよい。また、キャリブレーションポイントの追加は1段階としたが、段階を増やしてもよい。例えば、ステップS513のループが終了した時点、即ちキャリブレーションポイントを5箇所追加した後に、キャリブレーションポイントの追加によって分割された4個の矩形領域について、さらに合計誤差の検査を行う。そして、CPU8は、合計誤差が大きな矩形領域に対して、さらにキャリブレーションポイントの追加を行う。このような処理によって矩形領域がより小さくなるため、合計誤差をより低減することができる。次に、本発明の第2の実施形態について説明する。なお、第2の実施形態に係る座標入力システムの構成は、図1及び図2に示した構成と同様であるため、以下の説明においても、図1及び図2に示した符号を用いるものとする。第1の実施形態では、キャリブレーションを行ったキャリブレーションポイントのうち隅の4箇所のキャリブレーションポイントを基準として、他のキャリブレーションポイントにおける座標の期待値を算出した。そのため、投影される画像の表示領域2は、任意の位置やサイズ、回転状態等に対応することができる。これに対し、第2の実施形態に係る画像入力システムは、投影される画像の表示領域2が固定的な画像入力システムである。例えば、1が液晶ディスプレイになっていて、投影される画像の表示領域2が固定されているような場合である。この場合、キャリブレーションを行った各キャリブレーションポイントにおける座標の期待値dx[k],dy[k]は、予め決められた値として持っていればよいので、式4~式13の計算を行う必要がなくなる。但し、合計誤差Eの計算においては、矩形領域を囲む4箇所のキャリブレーションポイントにおける誤差を合計する必要があるので、式14の代わりに、次の式25を用いる。E=sqrtcx[1]-dx[1]2cy[1]-dy[1]2sqrtcx[2]-dx[2]2cy[2]-dy[2]2sqrtcx[4]-dx[4]2cy[4]-dy[4]2sqrtcx[5]-dx[5]2cy[5]-dy[5]2式25第2の実施形態に係る座標入力システムでは、表示領域2が固定されているため、キャリブレーション用画像の歪みは発生しない。誤差の要因としては、センサユニット4及び5が測定した角度の誤差や、デジタイザユニット3やセンサユニット4及び5の取り付け状態による、センサユニット4及び5の角度の基準0°の方向のずれ等が考えられる。次に、本発明の第3の実施形態について説明する。上述した第1及び第2の実施形態では、デジタイザユニット3と、接続されたコンピュータ18と、コンピュータ18にインストールされたドライバ及びアプリケーションから構成されるシステムによって必要な機能を実現した。これに対し、第3の実施形態では、デジタイザユニット及びプロジェクタで構成される座標入力システムについて説明する。第3の実施形態におけるデジタイザユニットは、USBインタフェースを介して、表示領域に画像を投影するプロジェクタに接続されている。先ず、デジタイザユニットにおいて、ユーザによって指示された座標入力システム上の座標を算出方法は、第1及び第2の実施形態と同様である。一方、プロジェクタにはシステムコントローラが内蔵されており、プロジェクタの各種制御を行うためのプログラムが実行される。また、プロジェクタは、外部のコンピュータと接続されているものとする。キャリブレーションを行うためのプログラムは、プロジェクタ内部のシステムコントローラによって実行される。キャリブレーションプログラムの処理は図5に示したとおりである。このとき、キャリブレーション用画像は、システムコントローラが生成して、プロジェクタから投影されて表示される。そして、システムコントローラは、キャリブレーション作業が完了したとき、式15及び式16の係数を算出する。デジタイザユニットがユーザによる指示を検出すると、座標入力システム上の座標px,pyの値は、USBインタフェース部を介してUSBのコマンドに変換され、プロジェクタに送信される。プロジェクタ内部のシステムコントローラは、座標px,pyを受け取ると、どの矩形領域に含まれるかを判定し、式15及び式16を用いて、キャリブレーション用画像上の座標hx,hyに変換する。そして、プロジェクタ内部のシステムコントローラは、キャリブレーション用画像上の座標hx,hyをコンピュータに対して送信する。以上のように、第3の実施形態においては、デジタイザユニット及びプロジェクタにより座標入力システムを構成することができる。以上に説明した実施形態においては、CPU等によるソフトウェア的な処理によって実施しているが、他の実施形態として、ハードウェア的な処理によっても同じ機能を実現することが可能である。例えば、ASICApplicationSpecificIntegratedCircuit等のハードウェアデバイスを用いることができる。上述した実施形態によれば、キャリブレーションを行った結果から、座標の誤差の大きな矩形領域を自動的に判定して、誤差の大きな矩形領域に対してのみキャリブレーションを行うためのポイントを追加する。その結果、ユーザの作業負荷を抑えつつ、効率よく座標の誤差を低減させることが可能となる。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"