(57)【特許請求の範囲】
【請求項１】
ディスプレイパネルに表示した複数の目標タッチマークをユーザにタッチパネルを介してタッチさせることにより、前記複数の目標タッチマークを表示した座標と前記タッチパネルでタッチが検知された座標とのズレを補正するための変換係数を更新する情報処理装置であって、
ディスプレイパネルにおける、予め定めた基準座標からの距離が等しい複数の座標のそれぞれに目標タッチマークを表示させる表示制御手段と、
前記目標タッチマークに対してのタッチが検知された座標を、予め定めた変換係数を用いて、前記ディスプレイパネルにおける座標に変換する変換手段と、
前記複数の目標タッチマークを表示した座標と、前記変換手段で変換した座標との差分を算出する算出手段と、
前記算出手段で算出した差分の平均値を算出し、該平均値を用いて、前記基準座標と前記変換手段で変換した座標との間のそれぞれの距離が等しくなるように、前記変換手段で変換した座標を補正する補正手段と、
前記補正手段で補正した座標と前記複数の目標タッチマークを表示した座標とのズレを補正するための新たな変換係数を算出し、該新たな変換係数を以降の前記タッチパネルのタッチ位置検知で用いる変換係数として更新する更新手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記補正手段は、前記算出手段で算出した差分のうち、予め定めた除外条件を満たす差分を除く差分の平均値を用いて、前記変換手段で変換した座標を補正することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記補正手段は、前記算出手段で算出した差分のうち、少なくとも最大の差分を除く差分の平均値を用いて、前記変換手段で変換した座標を補正することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記補正手段は、前記算出手段で算出した差分のうち、予め定めた閾値よりも大きい差分を除く差分の平均値を用いて、前記変換手段で変換した座標を補正することを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記補正手段は、前記算出手段で算出した差分のうち、該差分の平均値との差が予め定めた閾値よりも大きい差分を除く差分の平均値を用いて、前記変換手段で変換した座標を補正することを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記ディスプレイパネルにおける座標が、前記基準座標を原点とするＸＹ座標であり、
前記補正手段は、前記変換手段で変換した座標が、前記複数の目標タッチマークを表示した座標に対して前記原点に近づく方向であるか、遠ざかる方向であるかを加味して、前記差分のＸ成分及びＹ成分の平均値を算出し、該平均値を用いて、前記基準座標と前記変換手段で変換した座標との間の距離が等しくなるように、前記変換手段で変換した座標を補正することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記基準座標が、前記ディスプレイパネルの表示範囲の中央の座標であることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
ディスプレイパネルに表示した複数の目標タッチマークをユーザにタッチパネルを介してタッチさせることにより、前記複数の目標タッチマークを表示した座標と前記タッチパネルでタッチが検知された座標とのズレを補正するための変換係数を更新する情報処理装置の制御方法であって、
前記情報処理装置の表示制御手段が、ディスプレイパネルにおける、予め定めた基準座標からの距離が等しい複数の座標のそれぞれに目標タッチマークを表示させる表示制御ステップと、
前記情報処理装置の変換手段が、前記目標タッチマークに対してのタッチが検知された座標を、予め定めた変換係数を用いて、前記ディスプレイパネルにおける座標に変換する変換ステップと、
前記情報処理装置の算出手段が、前記複数の目標タッチマークを表示した座標と、前記変換ステップで変換した座標との差分を算出する算出ステップと、
前記情報処理装置の補正手段が、前記算出ステップで算出した差分の平均値を用いて、前記基準座標と前記変換ステップで変換した座標との間のそれぞれの距離が等しくなるように、前記変換ステップで変換した座標を補正する補正ステップと、
前記情報処理装置の更新手段が、前記補正ステップで補正した座標と前記複数の目標タッチマークを表示した座標とのズレを補正するための新たな変換係数を算出し、該新たな変換係数を以降の前記タッチパネルのタッチ位置検知で用いる変換係数として更新する更新ステップと、
を備えることを特徴とする制御方法。
【請求項９】
コンピュータを請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶した、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザからの入力操作を受け付ける情報処理装置及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
ユーザからの入力操作を受け付ける情報処理装置として、タッチパネルとディスプレイパネル（例えば、ＬＣＤパネル）とを重ね合わせて構成される抵抗膜方式が採用されることがある。一般に、タッチパネルとディスプレイパネルとの整合性を得るために、タッチパネルでの座標値からディスプレイパネルでの座標値への座標変換処理を行う。また、この座標変換処理に用いる係数を校正する処理（以下、キャリブレーションとも言う）も一般的に行われている。キャリブレーションの手法として、通常操作時に、ユーザに入力を促すアイコンをディスプレイパネルに表示し、そのアイコンをタッチパネルを介してユーザにタッチさせることで、タッチパネルでの座標値とディスプレイパネルでの座標値との関係からキャリブレーション係数を算出するものがある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３９５９１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術によれば、ユーザがアイコン中心から大きくずれた位置を誤ってタッチしてしまった場合であっても、アイコン中心からのズレ量に基づいて、キャリブレーション係数が更新されてしまう場合がある。このため、キャリブレーション係数の更新後にアイコン中心をタッチしているにも関わらず動作しなかったり、ユーザがタッチしたアイコンに隣接するアイコンが動作してしまったりするといった不具合を生じる可能性がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、ディスプレイパネルに表示された目標タッチマークとタッチパネルでの実際のタッチ位置との間のズレを校正する際に、ユーザによるタッチミスによる影響を軽減するものである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る情報処理装置は、ディスプレイパネルに表示した複数の目標タッチマークをユーザにタッチパネルを介してタッチさせることにより、前記複数の目標タッチマークを表示した座標と前記タッチパネルでタッチが検知された座標とのズレを補正するための変換係数を更新する情報処理装置であって、ディスプレイパネルにおける、予め定めた基準座標からの距離が等しい複数の座標のそれぞれに目標タッチマークを表示させる表示制御手段と、前記目標タッチマークに対してのタッチが検知された座標を、予め定めた変換係数を用いて、前記ディスプレイパネルにおける座標に変換する変換手段と、前記複数の目標タッチマークを表示した座標と、前記変換手段で変換した座標との差分を算出する算出手段と、前記算出手段で算出した差分の平均値を算出し、該平均値を用いて、前記基準座標と前記変換手段で変換した座標との間のそれぞれの距離が等しくなるように、前記変換手段で変換した座標を補正する補正手段と、前記補正手段で補正した座標と前記複数の目標タッチマークを表示した座標とのズレを補正するための新たな変換係数を算出し、該新たな変換係数を以降の前記タッチパネルのタッチ位置検知で用いる変換係数として更新する更新手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ディスプレイパネルに表示された目標タッチマークとタッチパネルでの実際のタッチ位置との間のズレを校正する際に、ユーザによるタッチミスによる影響を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る情報処理装置１００の機能的構成を示すブロック図。
【図２】タッチパネル１２０とディスプレイパネル１３０との位置関係を示す図。
【図３】情報処理装置１００におけるキャリブレーション処理の処理手順を示す図。
【図４】全ての差分の平均値で第２の位置情報を補正した状態を示す模式図。
【図５】最大の差分を除いた平均値で第２の位置情報を補正した状態を示す模式図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。図１は、本発明の一実施形態に係る情報処理装置１００の機能的構成を示すブロック図である。本発明に係る情報処理装置１００は、ディスプレイパネル１３０の予め定めた座標に複数の目標タッチマークを表示し、当該表示された複数の目標タッチマークをユーザにタッチパネル１２０を介してタッチさせることにより、複数の目標タッチマークを表示した座標とタッチパネル１２０でタッチが検知された座標とのズレを補正するための変換係数を更新する装置である。情報処理装置１００は、本実施形態では、例えば、筺体背面部にタッチパネル式液晶ディスプレイを備えたデジタルカメラに適用することができる。
【００１０】
情報処理装置１００は、ＣＰＵ１１０、タッチパネル１２０、ディスプレイパネル１３０（例えば、ＬＣＤパネル）、メモリ１４０を備える。タッチパネル１２０とディスプレイパネル１３０は、図２に示すように重ね合わせて構成されている。ＣＰＵ１１０には、タッチパネル１２０、ディスプレイパネル１３０、メモリ１４０が接続される。ＣＰＵ１１０は、タッチパネル１２０を介してユーザからの指示を受け付け、後述する各種プログラムを実行する。メモリ１４０は、ＣＰＵ１１０のワークエリアとして使用される。また、記録媒体１５０には後述する各種プログラムが記録されている。
【００１１】
ＣＰＵ１１０は、タッチが検知された座標を、予め定めた変換係数を用いて、ディスプレイパネル１３０における座標に変換する変換部１１１と、複数の目標タッチマークを表示した座標と、対応する変換部１１１で変換した座標とのそれぞれの差分を算出する算出部１１２と、算出部１１２で算出した差分のうち、予め定めた除外条件を満たす差分を除く差分の平均値を用いて、変換部１１１で変換した座標を補正する補正部１１３と、補正部１１３で補正した座標と複数の目標タッチマークを表示した座標とのズレを補正するための新たな変換係数を算出し、該新たな変換係数を以降のタッチパネル１２０のタッチ位置検知で用いる変換係数として更新する更新部１１４として機能する。
【００１２】
図３は、情報処理装置１００におけるキャリブレーション処理の処理手順を示す図である。このキャリブレーション処理は、ＣＰＵ１１０が記録媒体１５０に記録されているプログラムをメモリ１４０に読み出して実行することによって実現される。Ｓ３０１では、ＣＰＵ１１０（表示制御手段）は、キャリブレーションを開始すると、ディスプレイパネル１３０に複数の目標タッチマークを表示するよう制御する。本実施例では、ｎ＝１〜４の４つの目標タッチマークを、表示範囲の中央を基準座標（原点０）とするＸＹ座標における、（Ｘｎ，Ｙｎ）に表示させる。（Ｘｎ，Ｙｎ）は、全て原点０から等距離であるものとする。Ｓ３０２では、ユーザにより複数の目標タッチマークのうちの１つがタッチされると、ＣＰＵ１１０は、タッチ位置の座標値を含む情報（第１の位置情報）を検出する。Ｓ３０３では、ＣＰＵ１１０は、検出された第１の位置情報をメモリ１４０に保存する。Ｓ３０４では、ＣＰＵ１１０は、複数の目標タッチマークのすべてにおける第１の位置情報を取得したか否かを判定する。第１の位置情報を取得していない目標タッチマークが存在する場合にはＳ３０１に戻り、ＣＰＵ１１０が全ての目標タッチマークについて第１の位置情報を取得した場合には、Ｓ３０５へ進む。Ｓ３０５では、ＣＰＵ１１０は、予めメモリ１４０に保存された第１の変換係数（本実施例によるキャリブレーションを行うまえの変換係数）に基づいて、Ｓ３０３でメモリ１４０に保存された、複数の目標タッチマークに対応する第１の位置情報（ｘ１ｎ，ｙ１ｎ）から第２の位置情報（Ｘ２ｎ，Ｙ２ｎ）を算出する。
【００１３】
ここで、第１の変換係数ａ１、ｂ１、ｃ１、ｄ１、ｅ１、ｆ１、ｇ１、ｈ１とは、例えば、出荷時に工具等を用いて正確に第１の位置情報を求めて、目標タッチマークを表示した座標との差から算出した変換係数であり、第２の位置情報を求める演算式は次式のようになる。
Ｘ２ｎ＝ａ１ｘ１ｎ＋ｂ１ｙ１ｎ＋ｃ１ｘ１ｎｙ１ｎ＋ｄ１
Ｙ２ｎ＝ｅ１ｘ１ｎ＋ｆ１ｙ１ｎ＋ｇ１ｘ１ｎｙ１ｎ＋ｈ１
Ｓ３０６では、第１の位置情報と目標タッチマークを表示した座標（Ｘｎ，Ｙｎ）との差分を算出する。具体的には、図４（ａ）で示すように、ディスプレイパネル１３０の表示領域中央を原点０として、目標タッチマークを表示した座標（Ｘｎ，Ｙｎ）と第２の位置情報との差分（Δｘｎ，Δｙｎ）をＸ方向、Ｙ方向（Ｘ成分，Ｙ成分）それぞれで算出する。（Δｘｎ，Δｙｎ）＝（Ｘ２ｎ−Ｘｎ，Ｙ２ｎ−Ｙｎ）である。つまり、次式が成り立つ。
Ｘ２ｎ＝Δｘｎ＋Ｘｎ
Ｙ２ｎ＝Δｙｎ＋Ｙｎ
各ｎについて列挙すると以下のようになる。
ｎ＝１：（Δｘ１，Δｙ１）＝（Ｘ２１−Ｘ１，Ｙ２１−Ｙ１）
ｎ＝２：（Δｘ２，Δｙ２）＝（Ｘ２２−Ｘ２，Ｙ２２−Ｙ２）
ｎ＝３：（Δｘ３，Δｙ３）＝（Ｘ２３−Ｘ３，Ｙ２３−Ｙ３）
ｎ＝４：（Δｘ４，Δｙ４）＝（Ｘ２４−Ｘ４，Ｙ２４−Ｙ４）
Ｓ３０７では、ＣＰＵ１１０が、差分Δ１〜Δ４のバラツキを算出する。具体的には、まず、差分Δ１〜Δ４のＸ方向の平均値ΔｘＡｖｅ（Ｘ平均値）、Ｙ方向の平均値ΔｙＡｖｅ（Ｙ平均値）を算出する。
ΔｘＡｖｅ＝（−Δｘ１−Δｘ２＋Δｘ３＋Δｘ４）／４
ΔｙＡｖｅ＝（Δｙ１−Δｙ２−Δｙ３＋Δｙ４）／４
なお、ここで−Δｘ１、−Δｘ２としているのは、ｎ＝１、ｎ＝２の領域がｘ＜０の領域であるためである。このようにすることで、Ｘ２ｎが、ｘ＝０（原点のｘ座標）から見て目標タッチマークよりも近づく方向であるか、遠ざかる方向であるかを加味した平均値を算出することができる。すなわち、表示範囲の中央を基準とした平均値を求めている。ΔｘＡｖｅ＜０であれば、端子間抵抗の変化によって、タッチの検出位置がｘ方向に縮む方向にずれたとみなすことができる。逆に、ΔｘＡｖｅ＞０であれば、端子間抵抗の変化によって、タッチの検出方向がｘ方向に拡大する方向にずれたとみなすことができる。同様に、−Δｙ２、−Δｙ３としているのは、ｎ＝２、ｎ＝３の領域がｙ＜０の領域であるためであり、ｙ方向に縮小する方向なのか、拡大する方向なのかの方向を加味した平均値を算出するためである。すなわち、表示範囲の中央を基準とした平均値を求めている。ΔｙＡｖｅ＜０であれば、端子間抵抗の変化によって、タッチの検出位置がｙ方向に縮む方向にずれたとみなすことができる。逆にΔｙＡｖｅ＞０であれば、端子間抵抗の変化によって、タッチの検出方向がｙ方向に拡大する方向にずれたとみなすことができる。差分Δ１〜Δ４のバラツキは、各目標タッチマーク（Ｘｎ，Ｙｎ）から平均値ΔｘＡｖｅ，ΔｙＡｖｅだけズラした点（ｘＡｖｅｎ，ｙＡｖｅｎ）から最も乖離する（Ｘ２ｎ，Ｘ２ｎ）と、その対応する頂点との距離とする。各目標タッチマークから平均値ΔｘＡｖｅ、ΔｙＡｖｅだけズラした点は、原点から見て、平均値ΔｘＡｖｅ、ΔｙＡｖｅが拡大方向なのか縮小方向なのかを加味した方向にズラした点である。すなわち、各ｎにおける（ｘＡｖｅｎ，ｙＡｖｅｎ）は以下の通りである。
ｎ＝１：（ｘＡｖｅ１，ｙＡｖｅ１）＝（Ｘ１−ΔｘＡｖｅ，Ｙ１＋ΔｙＡｖｅ）
ｎ＝２：（ｘＡｖｅ２，ｙＡｖｅ２）＝（Ｘ２−ΔｘＡｖｅ，Ｙ２−ΔｙＡｖｅ）
ｎ＝３：（ｘＡｖｅ３，ｙＡｖｅ３）＝（Ｘ３＋ΔｘＡｖｅ，Ｙ３−ΔｙＡｖｅ）
ｎ＝４：（ｘＡｖｅ４，ｙＡｖｅ４）＝（Ｘ４＋ΔｘＡｖｅ，Ｙ４＋ΔｙＡｖｅ）
この（ｘＡｖｅｎ，ｙＡｖｅｎ）から最も乖離する（Ｘ２ｎ，ｙ２ｎ）は、以下の式の解で最大値を得るｎにおける（Ｘ２ｎ，Ｘ２ｎ）である。また、差分Δ１〜Δ４のバラツキは、以下の式の解のうち、最大値のものである。
σｘｙｎ＝√［（Ｘ２ｎ−ｘＡｖｅｎ）２＋（Ｙ２ｎ−ｙＡｖｅｎ）２］
すなわち、各ｎにおけるσｘｙｎは以下の通りである。
ｎ＝１：σｘｙ１＝√［（Ｘ２１−ｘＡｖｅ１）２＋（Ｙ２１−ｙＡｖｅ１）２］
＝√［（（Δｘ１＋Ｘ１）−（Ｘ１−ΔｘＡｖｅ））２＋（（Δｙ１＋Ｙ１）−（Ｙ１＋ΔｙＡｖｅ））２］
＝√［（Δｘ１−（−ΔｘＡｖｅ））２＋（Δｙ１−（ΔｙＡｖｅ））２］
ｎ＝２：σｘｙ２＝√［（Ｘ２２−ｘＡｖｅ２）２＋（Ｙ２２−ｙＡｖｅ２）２］
＝√［（（Δｘ２＋Ｘ２）−（Ｘ２−ΔｘＡｖｅ））２＋（（Δｙ２＋Ｙ２）−（Ｙ２−ΔｙＡｖｅ））２］
＝√［（Δｘ２−（−ΔｘＡｖｅ））２＋（Δｙ２−（−ΔｙＡｖｅ））２］
ｎ＝３：σｘｙ３＝√［（Ｘ２３−ｘＡｖｅ３）２＋（Ｙ２３−ｙＡｖｅ３）２］
＝√［（（Δｘ３＋Ｘ３）−（Ｘ３＋ΔｘＡｖｅ））２＋（（Δｙ３＋Ｙ３）−（Ｙ３−ΔｙＡｖｅ））２］
＝√［（Δｘ３−（ΔｘＡｖｅ））２＋（Δｙ３−（−ΔｙＡｖｅ））２］
ｎ＝４：σｘｙ４＝√［（Ｘ２４−ｘＡｖｅ４）２＋（Ｙ２４−ｙＡｖｅ４）２］
＝√［（（Δｘ４＋Ｘ４）−（Ｘ４＋ΔｘＡｖｅ））２＋（（Δｙ４＋Ｙ４）−（Ｙ４＋ΔｙＡｖｅ））２］
＝√［（Δｘ４−ΔｘＡｖｅ）２＋（Δｙ４−ΔｙＡｖｅ）２］
Ｓ３０８では、ＣＰＵ１１０が、算出したバラツキσｘｙ（σｘｙｎのうち最大のもの）が予め定めた閾値以下であるか否かを判定する。バラツキが閾値以下である場合にはＳ３０９に進み、閾値を超える場合にはＳ３１０に進む。Ｓ３０９（バラツキが閾値以下である場合）では、図４（ａ）で示すように、４つの目標タッチマークとタッチされたことによって取得した（Ｘ２ｎ，Ｙ２ｎ）とのすべての差分Δ１〜Δ４の拡大縮小方向を加味したＸ方向の平均値σｘ１２３４、Ｙ方向の平均値σｙ１２３４を算出する。
σｘ１２３４＝（−Δｘ１−Δｘ２＋Δｘ３＋Δｘ４）／４
σｙ１２３４＝（Δｙ１−Δｙ２−Δｙ３＋Δｙ４）／４
なお、σｘ１２３４は、ΔｘＡｖｅと同じ値であり、σｙ１２３４は、ΔｙＡｖｅと同じ値であるので、ここでは算出せずに、Ｓ３０７で算出した値を流用しても良い。ここで−Δｘ１、−Δｘ２としている理由は、ΔｘＡｖｅの算出の際と同様の理由であり、表示範囲の中央を基準とした平均値を求めるためである。また、−Δｙ２、−Δｙ３としている理由も、ΔｙＡｖｅの算出の際と同様の理由であり、表示範囲の中央を基準とした平均値を求めるためである。
【００１４】
次に、ＣＰＵ１１０が、図４（ｂ）で示すように、差分Δｘ１〜Δｘ４を算出したσｘ１２３４、Δｙ１〜Δｙ４を算出したσｙ１２３４に置き換えて第３の位置情報１〜４を算出する。ここで、第３の位置情報（ｘ３ｎ，ｙ３ｎ）は次式を用いて算出する。
ｎ＝１：（ｘ３１，ｙ３１）＝（Ｘ１−σｘ１２３４，Ｙ１＋σｙ１２３４）
ｎ＝２：（ｘ３２，ｙ３２）＝（Ｘ２−σｘ１２３４，Ｙ２−σｙ１２３４）
ｎ＝３：（ｘ３３，ｙ３３）＝（Ｘ３＋σｘ１２３４，Ｙ３−σｙ１２３４）
ｎ＝４：（ｘ３４，ｙ３４）＝（Ｘ４＋σｘ１２３４，Ｙ４＋σｙ１２３４）
目標タッチ位置が図４（ｂ）に示すように矩形の頂点を形成する位置に表示されるものであれば、この第３の位置情報１〜４は図４（ｂ）に示すように歪みのない矩形の頂点を形成する位置となる。この（ｘ３ｎ，ｙ３ｎ）は、ｎ＝１〜４においていずれも表示領域の中央からの距離が等しい。ユーザが正しく見た目の目標タッチ位置をタッチした場合、経年劣化や温度変化による検出位置のズレによって、検出される第２の位置情報の座標位置と目標タッチマークの表示座標にズレが生じることがある。しかし、後述するように、経年劣化や温度変化による検出位置のズレは拡大または縮小する方向に均等にずれるはずであるとみなして、第２の位置情報を表示領域の中央からの距離が等しい第３の位置情報に補正してから、Ｓ３１１以降での校正（キャリブレーション）を行う。
【００１５】
一方、Ｓ３１０（バラツキσｘｙが閾値よりも大きい場合）では、σｘｙｎが閾値よりも大きいｎについての差分を除いた差分の平均値を算出する。閾値よりも大きい差分が複数ある場合には、排除されない差分が３つ以上となる所定数の差分を排除する。本例では目標タッチ位置が４つなので、閾値よりも大きな差分が複数ある場合、そのうち最も大きい差分を１つだけ排除する。例えば、図５（ａ）で示すように、差分Δｘ１、Δｙ１が他の差分Δｘ２〜Δｘ４、Δｙ２〜Δｙ４とは大きく異なっている場合を想定する。この場合には、ΔｘＡｖｅ、ΔｙＡｖｅの値から最も乖離する値（この場合はΔｘ１、Δｙ１）を排除し、他のΔｘ２〜Δｘ４、Δｙ２〜Δｙ４の差分のみを、拡大縮小方向を加味して平均化することで、Ｘ方向の平均値σｘ２３４、Ｙ方向の平均値σｙ２３４を算出する。
σｘ２３４＝（−Δｘ２＋Δｘ３＋Δｘ４）／３
σｙ２３４＝（−Δｙ２−Δｙ３＋Δｙ４）／３
ここで、−Δｘ２としている理由は、ΔｘＡｖｅの算出の際と同様の理由であり、表示範囲の中央を基準とした平均値を求めるためである。また、−Δｙ２、−Δｙ３としている理由も、ΔｙＡｖｅの算出の際と同様の理由であり、表示範囲の中央を基準とした平均値を求めるためである。
次に、ＣＰＵ１１０が、差分Δｘ１〜Δｘ４を算出したσｘ２３４、Δｙ１〜Δｙ４を算出したσｙ２３４に置き換えて第３の位置情報１〜４を算出する。
【００１６】
ここで、第３の位置情報（ｘ３ｎ，ｙ３ｎ）は次式を用いて算出する。
ｎ＝１：（ｘ３１，ｙ３１）＝（Ｘ１−σｘ２３４，Ｙ１＋σｙ２３４）
ｎ＝２：（ｘ３２，ｙ３２）＝（Ｘ２−σｘ２３４，Ｙ２−σｙ２３４）
ｎ＝３：（ｘ３３，ｙ３３）＝（Ｘ３＋σｘ２３４，Ｙ３−σｙ２３４）
ｎ＝４：（ｘ３４，ｙ３４）＝（Ｘ４＋σｘ２３４，Ｙ４＋σｙ２３４）
目標タッチ位置が図５（ｂ）に示すように矩形の頂点を形成する位置に表示されるものであれば、この第３の位置情報１〜４は図５（ｂ）に示すように歪みのない矩形の頂点を形成する位置となる。この（ｘ３ｎ，ｙ３ｎ）は、ｎ＝１〜４においていずれも表示領域の中央からの距離が等しい。ｎ＝２〜４においてユーザが正しく見た目の目標タッチ位置をタッチしたとしても、経年劣化や温度変化による検出位置のズレによって、検出される第２の位置情報の座標位置と目標タッチマークの表示座標にズレが生じることがある。しかし、後述するように、経年劣化や温度変化による検出位置のズレは拡大または縮小する方向に均等にずれるはずであるとみなして、第２の位置情報を表示領域の中央からの距離が等しい第３の位置情報に補正してから、Ｓ３１１以降での校正（キャリブレーション）を行う。Ｓ３１１では、ＣＰＵ１１０が、補正した第３の位置情報に基づいて、第２の変換係数ａ２、ｂ２、ｃ２、ｄ２、ｅ２、ｆ２、ｇ２、ｈ２（キャリブレーション係数）を算出する。ここで、第２の変換係数の求め方について説明する。目標タッチマークの表示座標（Ｘｎ，Ｙｎ）と第３の位置情報（ｘ３ｎ，ｙ３ｎ）とに基づいて、次式より第２の変換係数を算出する。
ａ２＝Ａ１／Ａ２
ｂ２＝Ｂ／Ａ２
ｃ２＝Ｃ／Ａ２
ｄ２＝Ｘ３−ａ２ｘ３１−ｂ２ｙ３１−ｃ２ｘ３１ｙ３１ｅ２
＝Ｅ１／Ｅ２
ｆ２＝Ｆ／Ｅ２
ｇ２＝Ｇ／Ｅ２
ｈ２＝Ｙ３−ｅ２ｘ３１−ｆ２ｙ３１−ｇ２ｘ３１ｙ３１
但し、Ａ１、Ａ２、Ｂ、Ｃ、Ｅ１、Ｅ２、Ｆ、Ｇは次のように算出される。
Ａ１＝（Ｘ２−Ｘ４）｛（ｙ３１−ｙ３２）（ｘ３３ｙ３３−ｘ３４ｙ３４）−（ｙ３３−ｙ３４）（ｘ３１ｙ３１−ｘ３２ｙ３２）｝
Ａ２＝（ｘ３１−ｘ３２）｛（ｙ３２−ｙ３３）（ｘ３３ｙ３３−ｘ３４ｙ３４）−（ｙ３３−ｙ３４）（ｘ３２ｙ３２−ｘ３３ｙ３３）｝＋（ｘ３３−ｘ３２）｛（ｙ３１−ｙ３２）（ｘ３３ｙ３３−ｘ３４ｙ３４）−（ｙ３３−ｙ３４）（ｘ３１ｙ３１−ｘ３２ｙ３２）｝＋（ｘ３３−ｘ３４）｛（ｙ３１−ｙ３２）（ｘ３２ｙ３２−ｘ３３ｙ３３）−（ｙ３２−ｙ３３）（ｘ３１ｙ３１−ｘ３２ｙ３２）｝
Ｂ＝（Ｘ３−Ｘ１）｛（ｘ３１−ｘ３２）（ｘ３３ｙ３３−ｘ３４ｙ３４）−（ｘ３３−ｘ３４）（ｘ３１ｙ３１−ｘ３２ｙ３２）｝
Ｃ＝（Ｘ２−Ｘ４）｛（ｘ３１−ｘ３２）（ｙ３３−ｙ３４）−（ｘ３３−ｘ３４）（ｙ３１−ｙ３２）｝
Ｅ１＝（Ｙ２−Ｙ４）｛（ｙ３２−ｙ３３）（ｘ３４ｙ３４−ｘ３１ｙ３１）−（ｙ３４−ｙ３１）（ｘ３２ｙ３２−ｘ３３ｙ３３）｝
Ｅ２＝（ｘ３１−ｘ３２）｛（ｙ３２−ｙ３３）（ｘ３４ｙ３４−ｘ３１ｙ３１）−（ｙ３４−ｙ３１）（ｘ３２ｙ３２−ｘ３ｙ３）｝＋（ｘ３３−ｘ３２）｛（ｙ３１−ｙ３２）（ｘ３４ｙ３４−ｘ３１ｙ３１）−（ｙ３４−ｙ３１）（ｘ３１ｙ３１−ｘ３２ｙ３２）｝＋（ｘ３４−ｘ３１）｛（ｙ３１−ｙ３２）（ｘ３２ｙ３２−ｘ３３ｙ３３）−（ｙ３２−ｙ３３）（ｘ３１ｙ３１−ｘ３２ｙ３２）｝
Ｆ＝（Ｙ３−Ｙ１）｛（ｘ３２−ｘ３３）（ｘ３４ｙ３４−ｘ３１ｙ３１）−（ｘ３４−ｘ３１）（ｘ３２ｙ３２−ｘ３３ｙ３３）｝
Ｇ＝（Ｙ２−Ｙ４）｛（ｘ３２−ｘ３３）（ｙ３４−ｙ３１）−（ｘ３４−ｘ３１）（ｙ３２−ｙ３３）｝
そして、算出した第２の変換係数（ａ２，ｂ２，ｃ２，ｄ２，ｅ２，ｆ２，ｇ２，ｈ２）を更新し、キャリブレーションを終了する。
【００１７】
ここで、第２の変換係数は、通常動作時にタッチパネル座標とディスプレイパネル座標との位置ズレを補正する演算式として用いる。具体的には、次式にタッチパネル座標（ｘｔｏｕｃｈ−ｎ，ｙｔｏｕｃｈ−ｎ）を入力することにより、ＬＣＤ座標（ＸＬＣＤ−ｎ，ＹＬＣＤ−ｎ）を算出することで位置ズレを変換する。
ＸＬＣＤ−ｎ＝ａ２ｘｔｏｕｃｈ−ｎ＋ｂ２ｙｔｏｕｃｈ−ｎ＋ｃ２ｘｔｏｕｃｈ−ｎｙｔｏｕｃｈ−ｎ＋ｄ２
ＹＬＣＤ−ｎ＝ｅ２ｘｔｏｕｃｈ−ｎ＋ｆ２ｙｔｏｕｃｈ−ｎ＋ｇ２ｘｔｏｕｃｈ−ｎｙｔｏｕｃｈ−ｎ＋ｈ２
次に、目標タッチマークと、タッチされたことによって取得した（Ｘ２ｎ，Ｙ２ｎ）との差分を、拡大縮小方向を加味して（すなわち、表示領域の中央からの距離が等しくなるように）平均化して、全て同じ差分になるように補正する理由について説明する。まず、タッチパネルのキャリブレーションが必要な要因は次の３つに大別できる。
【００１８】
まず、１つ目の要因は、タッチパネル１２０とディスプレイパネル１３０との貼り合わせによるズレである。この貼り合わせによるズレによって、回転方向や平行移動方向を含む様々な方向に位置がずれてしまう。
【００１９】
次に、２つ目の要因は、タッチパネル１２０の透明導電膜（例えば、ＩＴＯ膜）の性質によるリニアリティによるズレである。このリニアリティによるズレによって、非線形に位置がずれてしまう。このリニアリティによるズレは、タッチパネル１２０内での透明導電膜の均一性に依存し、タッチ位置と出力電圧値の関係が線形でないことに起因する。
【００２０】
次に、３つ目の要因は、タッチパネル１２０の端子間抵抗値が変化することによるズレである。この端子間抵抗の変化によるズレによって、拡大方向又は縮小方向のいずれかに位置がずれてしまう。
【００２１】
これらの３つの要因の中で、貼り合わせによるズレとリニアリティによるズレに関しては、工場等で一度位置補正をしてしまえば、その後に変化することはほとんどない。一方、端子間抵抗の変化によるズレに関しては、出荷後の経時変化や温度変化等の原因によって、大きくずれることが分かっている。従って、工場等で工具を用いて正確な調整を経た、第１の変換係数を用いた位置情報は、端子間抵抗の変化によるズレのみである。すなわち、第１の変換係数を用いた位置情報は、拡大方向又は縮小方向のいずれかの方向にしかずれないはずである。
【００２２】
しかしながら、前述したようにユーザによるタッチ位置がずれていることが原因で、第１の変換係数を用いた位置情報においても、目標タッチマークと比較すると、拡大方向又は縮小方向以外の非線形な方向に位置がずれることがある。このようなユーザによるタッチ位置のズレのうち、ユーザのタッチ位置のバラつきによるキャリブレーション精度の低下は、本実施例で示すように、第１の変換係数を用いた位置情報に対して、全て同じ差分になるように拡大縮小方向を加味して平均化する補正を行う（すなわち、表示領域の中央からの距離が等しくなるように平均化して補正する）ことで、ある程度防ぐことができる。また、ユーザによるタッチ位置のズレのうち、ユーザのタッチミスによる大きなズレでのキャリブレーション精度の低下は、本実施例で示すように、第１の変換係数を用いた位置情報に対して、閾値を超えるズレを持つ位置情報を排除することである程度防ぐことができる。
＜数値具体例：バラツキが閾値以下のケース＞
ここで、図３のＳ３０８〜Ｓ３１０で説明した処理について、具体的な数値をあてはめて説明する。まず、Ｓ３０８でバラツキが閾値以下であると判定されるケース（Ｓ３０９の処理を行うケース）の具体例を説明する。
目標タッチマークの表示座標が次の座標値である場合を想定する。
（Ｘ１，Ｙ１）＝（−８０，＋８０）
（Ｘ２，Ｙ２）＝（−８０，−８０）
（Ｘ３，Ｙ３）＝（＋８０，−８０）
（Ｘ４，Ｙ４）＝（＋８０，＋８０）
また、第２の位置情報が示す座標値が次の座標値である場合を想定する。
（Ｘ２１，Ｙ２１）＝（−７２，＋８３）
（Ｘ２２，Ｙ２２）＝（−７４，−９１）
（Ｘ２３，Ｙ２３）＝（＋７４，−８５）
（Ｘ２４，Ｙ２４）＝（＋６８，＋８９）
目標タッチマークの表示座標（Ｘｎ，Ｙｎ）と第２の位置情報（Ｘ２ｎ，Ｙ２ｎ）との差分（Δｘｎ，Δｙｎ）は次のようになる。
ｎ＝１：（Δｘ１，Δｙ１）＝（Ｘ２１−Ｘ１，Ｙ２１−Ｙ１）
＝（−７２＋８０，８３−８０）
＝（８，３）
ｎ＝２：（Δｘ２，Δｙ２）＝（Ｘ２２−Ｘ２，Ｙ２２−Ｙ２）
＝（−７４＋８０，−９１＋８０）
＝（６，−１１）
ｎ＝３：（Δｘ３，Δｙ３）＝（Ｘ２３−Ｘ３，Ｙ２３−Ｙ３）
＝（７４−８０，−８５＋８０）
＝（−６，−５）
ｎ＝４：（Δｘ４，Δｙ４）＝（Ｘ２４−Ｘ４，Ｙ２４−Ｙ４）
＝（６８−８０，８９−８０）
＝（−１２，９）
次に、差分（Δｘｎ，Δｙｎ）の平均値（ΔｘＡｖｅ，ΔｙＡｖｅ）を算出すると、次のようになる。
ΔｘＡｖｅ＝（−Δｘ１−Δｘ２＋Δｘ３＋Δｘ４）／４
＝（−８−６＋（−６）＋（−１２））／４
＝−８
ΔｙＡｖｅ＝（Δｙ１−Δｙ２−Δｙ３＋Δｙ４）／４
＝（＋３−（−１１）−（−５）＋９）／４
＝＋７
すなわち、タッチの検出位置がｘ方向に縮む方向に、ｙ方向に広がる方向にずれたとみなすことができる。従って、各ｎにおける（ｘＡｖｅｎ，ｙＡｖｅｎ）は以下の通りである。
ｎ＝１：（ｘＡｖｅ１，ｙＡｖｅ１）＝（Ｘ１−ΔｘＡｖｅ，Ｙ１＋ΔｙＡｖｅ）
＝（−８０＋８，８０＋７）
＝（−７２，８７）
ｎ＝２：（ｘＡｖｅ２，ｙＡｖｅ２）＝（Ｘ２−ΔｘＡｖｅ，Ｙ２−ΔｙＡｖｅ）
＝（−８０＋８，−８０−７）
＝（−７２，−８７）
ｎ＝３：（ｘＡｖｅ３，ｙＡｖｅ３）＝（Ｘ３＋ΔｘＡｖｅ，Ｙ３−ΔｙＡｖｅ）
＝（８０−８，−８０−７）
＝（７２，−８７）
ｎ＝４：（ｘＡｖｅ４，ｙＡｖｅ４）＝（Ｘ４＋ΔｘＡｖｅ，Ｙ４＋ΔｙＡｖｅ）
＝（８０−８，８０＋７）
＝（７２，８７）
次に、この（ｘＡｖｅｎ，ｙＡｖｅｎ）から最も乖離する（Ｘ２ｎ，ｙ２ｎ）を求める。
σｘｙｎ＝√［（Ｘ２ｎ−ｘＡｖｅｎ）２＋（Ｙ２ｎ−ｙＡｖｅｎ）２］
は下記の数値となる。
ｎ＝１：σｘｙ１＝√［（Ｘ２１−ｘＡｖｅ１）２＋（Ｙ２１−ｙＡｖｅ１）２］
＝√［（−７２＋７２）２＋（８３−８７）２］
＝√１６
ｎ＝２：σｘｙ２＝√［（Ｘ２２−ｘＡｖｅ２）２＋（Ｙ２２−ｙＡｖｅ２）２］
＝√［−７４＋７２］２＋（−９１＋８７）２］
＝√２０
ｎ＝３：σｘｙ３＝√［（Ｘ２３−ｘＡｖｅ３）２＋（Ｙ２３−ｙＡｖｅ３）２］
＝√［（７４−７２）２＋（−８５＋８７）２］
＝√８
ｎ＝４：σｘｙ４＝√［（Ｘ２４−ｘＡｖｅ４）２＋（Ｙ２４−ｙＡｖｅ４）２］
＝√［（６８−７２）２＋（８９−８７）２］
＝√２０
従って、バラツキσｘｙ＝√２０である。Ｓ３０８では、算出したバラツキσｘｙ（σｘｙｎのうち最大のもの。この例では√２０）が予め定めた閾値１０（＝√１００）以下であるか否かを判定する。ここでは、バラツキ√２０が閾値１０以下であるので、Ｓ３０９に進む。Ｓ３０９では、図４（ａ）で示すように、４つの目標タッチマークとタッチされたことによって取得した（Ｘ２ｎ，Ｙ２ｎ）とのすべての差分Δ１〜Δ４の拡大縮小方向を加味したＸ方向の平均値σｘ１２３４、Ｙ方向の平均値σｙ１２３４を算出する。
σｘ１２３４＝（−８−６−６−１２）／４
＝−８
σｙ１２３４＝（３＋１１＋５＋９）／４
＝７
従って、第３の位置情報（ｘ３ｎ，ｙ３ｎ）は以下の値となる。
ｎ＝１：（ｘ３１，ｙ３１）＝（Ｘ１−σｘ１２３４，Ｙ１＋σｙ１２３４）
＝（−８０＋８，８０＋７）
＝（−７２，８７）
ｎ＝２：（ｘ３２，ｙ３２）＝（Ｘ２−σｘ１２３４，Ｙ２−σｙ１２３４）
＝（−８０＋８，−８０―７）
＝（−７２，−８７）
ｎ＝３：（ｘ３３，ｙ３３）＝（Ｘ３＋σｘ１２３４，Ｙ３−σｙ１２３４）
＝（８０−８，−８０−７）
＝（７２，−８７）
ｎ＝４：（ｘ３４，ｙ３４）＝（Ｘ４＋σｘ１２３４，Ｙ４＋σｙ１２３４）
＝（８０−８，８０＋７）
＝（７２，８７）
このように、第３の位置情報（ｘ３ｎ，ｙ３ｎ）が示す４点は、原点０（表示領域中央）からの距離が等しく、歪みのない矩形の頂点を成す値となる。この矩形は、目標タッチマークの４点による矩形をｘ方向に８縮小し、ｙ方向に７拡大したものである。Ｓ３１１以降では、このようにして求めた第３の位置情報に基づいて第２の変換係数（キャリブレーション係数）を求め、キャリブレーションが実行される。この処理の数値具体例については説明を省略する。すなわち、この例では、ユーザからのタッチで取得したｎ＝１〜４での第２の位置情報については、ユーザの大きなタッチミスは無かったとみなす。そして、ｎ＝１〜４の全てで得たタッチ位置から、経年劣化や温度変化によってタッチ検出位置がｘ方向に８縮小し、ｙ方向に７拡大する方向にずれたとみなし、これをＳ３１１以降で校正（キャリブレーション）する。
＜数値具体例：バラツキが閾値を超えるケース＞
次に、まず、Ｓ３０８でバラツキが閾値を超えると判定されるケース（Ｓ３１０の処理を行うケース）の具体例を説明する。
目標タッチマークの表示座標が次の座標値である場合を想定する。
（Ｘ１，Ｙ１）＝（−８０，＋８０）
（Ｘ２，Ｙ２）＝（−８０，−８０）
（Ｘ３，Ｙ３）＝（＋８０，−８０）
（Ｘ４，Ｙ４）＝（＋８０，＋８０）
また、第２の位置情報が示す座標値が次の座標値である場合を想定する。
（Ｘ２１，Ｙ２１）＝（−６８，＋９２）
（Ｘ２２，Ｙ２２）＝（−７９，−７９）
（Ｘ２３，Ｙ２３）＝（＋７９，−８１）
（Ｘ２４，Ｙ２４）＝（＋７６，＋８４）
目標タッチマークの表示座標（Ｘｎ，Ｙｎ）と第２の位置情報（Ｘ２ｎ，Ｙ２ｎ）との差分（Δｘｎ，Δｙｎ）は次のようになる。
ｎ＝１：（Δｘ１，Δｙ１）＝（Ｘ２１−Ｘ１，Ｙ２１−Ｙ１）
＝（−６８＋８０，９２−８０）
＝（１２，１２）
ｎ＝２：（Δｘ２，Δｙ２）＝（Ｘ２２−Ｘ２，Ｙ２２−Ｙ２）
＝（−７９＋８０，−７９＋８０）
＝（１，１）
ｎ＝３：（Δｘ３，Δｙ３）＝（Ｘ２３−Ｘ３，Ｙ２３−Ｙ３）
＝（７９−８０，−８１＋８０）
＝（−１，−１）
ｎ＝４：（Δｘ４，Δｙ４）＝（Ｘ２４−Ｘ４，Ｙ２４−Ｙ４）
＝（７６−８０，８４−８０）
＝（−４，４）
次に、差分（Δｘｎ，Δｙｎ）の平均値（ΔｘＡｖｅ，ΔｙＡｖｅ）を算出すると、
ΔｘＡｖｅ＝（−Δｘ１−Δｘ２＋Δｘ３＋Δｘ４）／４
＝（−１２−１＋（−１）＋（−４））／４
＝−４．５
ΔｙＡｖｅ＝（Δｙ１−Δｙ２−Δｙ３＋Δｙ４）／４
＝（１２−１−（−１）＋４）／４
＝＋４
従って、各ｎにおける（ｘＡｖｅｎ，ｙＡｖｅｎ）は以下の通りである。
ｎ＝１：（ｘＡｖｅ１，ｙＡｖｅ１）＝（Ｘ１−ΔｘＡｖｅ，Ｙ１＋ΔｙＡｖｅ）
＝（−８０＋４．５，８０＋４）
＝（−７５．５，８４）
ｎ＝２：（ｘＡｖｅ２，ｙＡｖｅ２）＝（Ｘ２−ΔｘＡｖｅ，Ｙ２−ΔｙＡｖｅ）
＝（−８０＋４．５，−８０−４）
＝（−７５．５，−８４）
ｎ＝３：（ｘＡｖｅ３，ｙＡｖｅ３）＝（Ｘ３＋ΔｘＡｖｅ，Ｙ３−ΔｙＡｖｅ）
＝（８０−４．５，−８０−４）
＝（７５．５，−８４）
ｎ＝４：（ｘＡｖｅ４，ｙＡｖｅ４）＝（Ｘ４＋ΔｘＡｖｅ，Ｙ４＋ΔｙＡｖｅ）
＝（８０−４．５，８０＋４）
＝（７５．５，８４）
次に、この（ｘＡｖｅｎ，ｙＡｖｅｎ）から最も乖離する（Ｘ２ｎ，ｙ２ｎ）を求める。σｘｙｎ＝√［（Ｘ２ｎ−ｘＡｖｅｎ）２＋（Ｙ２ｎ−ｙＡｖｅｎ）２］は下記の数値となる。
ｎ＝１：σｘｙ１＝√［（Ｘ２１−ｘＡｖｅ１）２＋（Ｙ２１−ｙＡｖｅ１）２］
＝√［（−６８＋７５．５）２＋（９２−８４）２］
＝√１２０．２５
ｎ＝２：σｘｙ２＝√［（Ｘ２２−ｘＡｖｅ２）２＋（Ｙ２２−ｙＡｖｅ２）２］
＝√［−７９＋７５．５］２＋（−７９＋８４）２］
＝√３７．２５
ｎ＝３：σｘｙ３＝√［（Ｘ２３−ｘＡｖｅ３）２＋（Ｙ２３−ｙＡｖｅ３）２］
＝√［（７９−７５．５）２＋（−８１＋８４）２］
＝√２１．２５
ｎ＝４：σｘｙ４＝√［（Ｘ２４−ｘＡｖｅ４）２＋（Ｙ２４−ｙＡｖｅ４）２］
＝√［（７６−７５．５）２＋（８４−８４）２］
＝√０．２５
従って、バラツキσｘｙ＝√１２０．２５である。Ｓ３０８では、算出したバラツキσｘｙ（σｘｙｎのうち最大のもの。この例では√１２０．２５）が予め定めた閾値１０（＝√１００）以下であるか否かを判定する。ここでは、バラツキ√１２０．２５が閾値１０を超えるので、Ｓ３１０に進む。Ｓ３１０では、σｘｙｎが閾値よりも大きいｎの差分（Δｘ１，Δｙ１）を排除し、他のΔｘ２〜Δｘ４、Δｙ２〜Δｙ４の差分のみを、拡大縮小方向を加味して平均化することで、Ｘ方向の平均値σｘ２３４、Ｙ方向の平均値σｙ２３４を算出する。
σｘ２３４＝（−Δｘ２＋Δｘ３＋Δｘ４）／３
＝（−１＋（−１）＋（−４））／３
＝２
σｙ２３４＝（−Δｙ２−Δｙ３＋Δｙ４）／３
＝（−１−（−１）＋４）／３
＝４／３
この例では、ｎ＝１に関する１点を除いて算出したＸ方向の平均値σｘ２３４、Ｙ方向の平均値σｙ２３４が何れも正の値なので、タッチの検出位置がｘ方向、ｙ方向ともに広がる方向にずれたとみなすことができる。従って、第３の位置情報（ｘ３ｎ，ｙ３ｎ）は以下の値となる。
ｎ＝１：（ｘ３１，ｙ３１）＝（Ｘ１−σｘ２３４，Ｙ１＋σｙ２３４）
＝（−８０＋２，８０＋４／３）
＝（−７８，８０＋４／３）
ｎ＝２：（ｘ３２，ｙ３２）＝（Ｘ２−σｘ２３４，Ｙ２−σｙ２３４）
＝（−８０＋２，−８０―４／３）
＝（−７８，−（８０＋４／３））
ｎ＝３：（ｘ３３，ｙ３３）＝（Ｘ３＋σｘ２３４，Ｙ３−σｙ２３４）
＝（８０−２，−８０−４／３）
＝（７８，−（８０＋４／３））
ｎ＝４：（ｘ３４，ｙ３４）＝（Ｘ４＋σｘ２３４，Ｙ４＋σｙ２３４）
＝（８０−２，８０＋４／３）
＝（７８，８０＋４／３）
このように、第３の位置情報（ｘ３ｎ，ｙ３ｎ）が示す４点は、原点０（表示領域中央）からの距離が等しく、歪みのない矩形の頂点を成す値となる。この矩形は、目標タッチマークの４点による矩形をｘ方向に２、ｙ方向に４／３拡大したものである。Ｓ３１１以降では、このようにして求めた第３の位置情報に基づいて第２の変換係数（キャリブレーション係数）を求め、キャリブレーションが実行される。この処理の数値具体例については説明を省略する。すなわち、この例では、ユーザからのタッチで取得したｎ＝１での第２の位置情報のズレは、経年劣化や温度変化によるタッチ検出位置のズレではなく、ユーザのタッチミスであるとみなして排除する。そして残りのｎ＝２〜４で得たタッチ位置から、経年劣化や温度変化によってタッチ検出位置がｘ方向に２、ｙ方向に４／３拡大する方向にずれたとみなし、これをＳ３１１以降で校正（キャリブレーション）する。
【００２３】
なお、第１の実施例では、４箇所の目標タッチマークをユーザにタッチさせる場合を想定して説明したが、少なくとも３点以上をユーザにタッチさせれば、同様の演算フローにより、タッチミスを排除することが可能になり、ユーザによる煩わしいキャリブレーション動作を低減することができる。また、５箇所以上の目標タッチマークにすれば、ユーザがずれてタッチした場合にも２点を排除できるので、キャリブレーション精度をより向上させることができる。いずれにしても、複数の目標タッチマークは、表示範囲の中央からの距離が等しい座標に表示する。
【００２４】
以上のように、工具等で正確に調整した変換係数で算出した位置情報を、補正してからキャリブレーション係数を算出することで、ユーザが目標タッチマークからずれた位置をタッチした場合にも、この要因による精度悪化を排除又は低減したキャリブレーション係数を算出することができる。
【００２５】
従って、キャリブレーション精度を向上させることができる。その結果、経時変化や温度変化等が原因で、タッチパネルの端子間抵抗が変化し、タッチパネル座標とディスプレイパネル座標の位置がずれた場合にも、アイコン中心をタッチしているにも関わらず動作しなかったり、隣のアイコンが動作してしまったりすることがなくなる。
【００２６】
なお、補正部１１３は、バラツキを算出することなく、単純にそれぞれの差分のうち、少なくとも最大の差分を除くそれぞれの差分の平均値に基づいて、変換部１１１で変換した座標値を補正する構成としてもよい。また、補正部１１３は、算出部１１２で算出したそれぞれの差分のうち、予め定めた閾値よりも大きい差分を除くそれぞれの差分の平均値に基づいて、変換部１１１で変換した座標値を補正する構成としてもよい。
【００２７】
以上、本発明をその好適な実施形態に基づいて詳述したが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００２８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005457941.tif 000002
【図２】
0005457941.tif 000003
【図３】
0005457941.tif 000004
【図４】
0005457941.tif 000005
【図５】
0005457941.tif 000006