(57)【特許請求の範囲】
【請求項１】
入力指示面を構成するタッチパネルと表示画面を構成するスクリーンとを組み合わせて、当該タッチパネル上で入力指示されたときに得られる入力座標に基づいてデータ入力動作を実行する入力手段と、
前記タッチパネルへの入力指示に対応するタッチパネル座標値から前記スクリーンのスクリーン座標値への座標変換処理の変換係数を算出する第１の算出手段と、
前記タッチパネルへの入力指示に応じて前記座標変換処理により得られた当該スクリーン座標値が前記スクリーンの表示範囲内に含まれているか否かを判定する判定手段と、
前記判定手段の判定結果により前記スクリーン座標値が前記スクリーンの表示範囲外の場合に、前記タッチパネル座標値の最大値と最小値とを更新し、当該最大値と最小値とに基づいて前記変換係数のずれ量を算出する第２の算出手段と、
前記第２の算出手段により算出された前記ずれ量に基づいて、前記変換係数を補正する補正手段と
を具備したことを特徴とするデータ入力装置。
【請求項２】
入力指示面を構成するタッチパネルと表示画面を構成するスクリーンとを組み合わせて、当該タッチパネル上で入力指示されたときに得られる入力座標に基づいてデータ入力動作を実行する入力手段と、
前記タッチパネルへの入力指示に対応するタッチパネル座標値から前記スクリーンのスクリーン座標値への座標変換処理の変換係数を算出する第１の算出手段と、
前記タッチパネル上に入力指示したときに、予め設定された特定の入力操作を検出する手段と、
前記特定の入力操作が実行されたときに、前記座標変換処理により得られる前記スクリーン座標値と、当該スクリーン座標値の近傍に存在する操作対象オブジェクトの座標値とを比較して、両者の座標ずれ量である第１のずれ量を算出する第２の算出手段と、
前記第２の算出手段により算出された前記第１のずれ量を前記変換係数のずれ量である第２のずれ量として算出する第３の算出手段と、
前記第３の算出手段により算出された前記第２のずれ量に基づいて、前記変換係数を補正する補正手段と
を具備したことを特徴とするデータ入力装置。
【請求項３】
前記第３の算出手段により前記第２のずれ量を算出した時点で、前記スクリーン上に前記変換係数の再補正を促す通知処理を実行する手段を有することを特徴とする請求項２に記載のデータ入力装置。
【請求項４】
前記補正手段は、
複数の前記タッチパネル座標値と複数の前記スクリーン座標値との組の集合を生成し、当該集合に含まれる値から変換係数を近似演算する回帰分析等の手法により算出し、当該算出結果である変換係数を補正結果として出力する手段を有することを特徴とする請求項１または請求項２のいずれか１項に記載のデータ入力装置。
【請求項５】
前記補正手段は、
前記変換係数を補正結果として出力する場合に、Ｘ座標に対する変換係数とＹ座標に対する変換係数をそれぞれ独立に算出する手段を有することを特徴とする請求項４に記載のデータ入力装置。
【請求項６】
入力指示面を構成するタッチパネルと表示画面を構成するスクリーンとを組み合わせて、当該タッチパネル上で入力指示されたときに得られる入力座標に基づいてデータ入力動作を実行する入力手段を備えたデータ入力装置に適用する座標変換方法であって、
前記タッチパネルへの入力指示に対応するタッチパネル座標値から前記スクリーンのスクリーン座標値への座標変換処理の変換係数を算出する座標変換手段を有し、
前記座標変換手段は、
前記タッチパネルへの入力指示に応じて前記座標変換処理により得られた当該スクリーン座標値が前記スクリーンの表示範囲内に含まれているか否かを判定するステップと、
前記判定ステップの判定結果により前記スクリーン座標値が前記スクリーンの表示範囲外の場合に、前記タッチパネル座標値の最大値と最小値とを更新し、当該最大値と最小値とに基づいて前記変換係数のずれ量を算出するステップと、
前記算出されたずれ量に基づいて、前記変換係数を補正するステップと
を有する手順を実行することを特徴とする座標変換方法。
【請求項７】
入力指示面を構成するタッチパネルと表示画面を構成するスクリーンとを組み合わせて、当該タッチパネル上で入力指示されたときに得られる入力座標に基づいてデータ入力動作を実行する入力手段を備えたデータ入力装置に適用する座標変換方法であって、
前記タッチパネルへの入力指示に対応するタッチパネル座標値から前記スクリーンのスクリーン座標値への座標変換処理の変換係数を算出する座標変換手段を有し、
前記座標変換手段は、
前記タッチパネル上に入力指示したときに、予め設定された特定の入力操作を検出するステップと、
前記特定の入力操作が実行されたときに、前記座標変換処理により得られる前記スクリーン座標値と、当該スクリーン座標値の近傍に存在する操作対象オブジェクトの座標値とを比較して、両者の座標ずれ量である第１のずれ量を算出するステップと、
前記算出された第１のずれ量を前記変換係数のずれ量である第２のずれ量として算出するステップと、
前記算出された第２のずれ量に基づいて、前記変換係数を補正するステップと
を有する手順を実行することを特徴とする座標変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば携帯型情報端末装置などに使用されているタッチパネル式データ入力装置に関し、特にタッチパネル座標とスクリーン座標との整合性を得るための座標変換方法に関する。
【０００２】
【従来の技術】
近年、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）と呼ばれる携帯型情報端末装置が開発されている。このＰＤＡのデータ入力装置としては、タッチパネル式入力装置が一般的になっている。このタッチパネル式入力装置は、図１１に示すように、透明電極を有するタッチパネル１と液晶パネルなどの表示画面を構成するスクリーン２とを重ね合わせて構成されている。
【０００３】
タッチパネル式入力装置の動作原理は、ユーザがペンなどによりタッチパネル１上を押圧すると、その押した入力位置（入力指示の位置）に応じた電圧値を生成して、当該電圧値をディジタル値に変換して当該入力指示の座標（以下タッチパネル座標と呼ぶ）を算出する方式である。
【０００４】
一方、スクリーン２上には、データ入力操作に必要なボタン、ウインドウ、アイコンなど（オブジェクトと総称する）が表示される。ＰＤＡのＣＰＵは、ユーザにより入力指示されたタッチパネル座標に対応するスクリーン２上の表示座標（以下スクリーン座標と呼ぶ）に表示されたオブジェクトに基づいた入力操作を実行する。従って、タッチパネル式入力装置では、タッチパネル１とスクリーン２との整合性を得るために、タッチパネル座標からスクリーン座標への座標変換処理が必要となる。この座標変換処理では、変換に必要な変換係数（キャリブレーション係数）を算出するための処理（キャリブレーションと呼ばれる）が必要である。
【０００５】
具体的には、キャリブレーションとは、以下の式（１）において、タッチパネル座標とスクリーン座標の組の集合（｛（ｘT1，ｙT1，ｘS1，ｙS1），（ｘT2，ｙT2，ｘS2，ｙS2），…，（ｘTn，ｙTn，ｘSn，ｙSn）｝）から変換係数ａ11，ａ12，ａ13，ａ21，ａ22，ａ23を算出することである。
【０００６】
【数１】
0003959163.tif 000002
【０００７】
キャリブレーションの処理ステップは、図１３のフローチャートに示すように、スクリーン２上に入力位置に相当する十字を表示する（ステップＳ３０）。この十字は、図１２に示すように、タッチパネル１上の入力位置として表示される。ユーザがペンなどによりタッチパネル１上の十字の位置に指示することにより、当該入力指示に応じたタッチパネル座標値をメモリなどに保存する（ステップＳ３１，Ｓ３２）。このタッチパネル座標値を所定数だけ取得した後に、前記式（１）を満足する変換係数を算出する（ステップＳ３３，Ｓ３４）。即ち、ユーザがタッチパネル１上にタッチパネル座標（ｘTn，ｙTn）とスクリーン座標（ｘSn，ｙSn）との組を順に指示することにより、変換係数ａ11，ａ12，ａ13，ａ21，ａ22，ａ23を算出する。
【０００８】
【発明が解決しようとする課題】
前述のキャリブレーションの処理には、以下のような問題点がある。第１に、ユーザから正しい位置からずれた点を入力指示されると（ステップＳ３１）、正しい変換係数を算出できない可能性がある。第２に、時間経過に伴うタッチパネル１のハードウェア特性の変化により、変換係数が実際の座標からずれてしまうことがある（キャリブレーションのずれ）。この場合には、キャリブレーションの処理をやり直す必要がある。
【０００９】
ここで、キャリブレーションのずれが発生すると、図１４（Ａ）に示すように、ユーザの本来の入力位置（Ｘで示す）を指示した場合に、当該タッチパネル座標をスクリーン座標に変換処理した結果、システム（ＣＰＵ）からは同図（Ｂ）に示すような入力位置として判断される。このため、システム側はユーザの要求に応じた入力操作を実行しないため、ユーザからは反応が悪いと認識されてしまう。特に、数回の再試行により入力が可能な場合には、ユーザ側には変換係数が正しい値に合っていないことが認識できず、ユーザから過小評価を受ける可能性が高い。
【００１０】
そこで、本発明の目的は、タッチパネルに対するユーザの入力指示に基づいて、タッチパネル座標からスクリーン座標への座標変換処理の変換係数のずれ量を検出し、自動的に補正できるようにして、常に正確な座標変換処理を実現することにある。
【００１１】
【課題を解決するための手段】
本発明の観点に従ったデータ入力装置は、入力指示面を構成するタッチパネルと表示画面を構成するスクリーンとを組み合わせて、当該タッチパネル上で入力指示されたときに得られる入力座標に基づいてデータ入力動作を実行する入力手段と、前記タッチパネルへの入力指示に対応するタッチパネル座標値から前記スクリーンのスクリーン座標値への座標変換処理の変換係数を算出する第１の算出手段と、前記タッチパネルへの入力指示に応じて前記座標変換処理により得られた当該スクリーン座標値が前記スクリーンの表示範囲内に含まれているか否かを判定する判定手段と、前記判定手段の判定結果により前記スクリーン座標値が前記スクリーンの表示範囲外の場合に、前記タッチパネル座標値の最大値と最小値とを更新し、当該最大値と最小値とに基づいて前記変換係数のずれ量を算出する第２の算出手段と、前記第２の算出手段により算出された前記ずれ量に基づいて、前記変換係数を補正する補正手段とを備えた構成である。
【００１４】
【発明の実施の形態】
以下図面を参照して本発明の実施の形態を説明する。
図１は本発明の第１の実施形態に関係するフローチャートであり、図２は同実施形態に関係するタッチパネル式データ入力装置の要部を示すブロック図であり、図３及び図４はそれぞれ同実施形態の動作を説明するための概念図である。
（システム構成）
本実施形態のタッチパネル式データ入力装置は、図２に示すように、タッチパネル１と、Ａ／Ｄコンバータ３と、ＣＰＵ４とを有する。タッチパネル１は、図３に示すように、スクリーン２と重ね合わせて構成されている。スクリーン２は液晶パネルなどの表示画面を構成するための部材である。
【００１５】
タッチパネル１は透明電極を有し、ユーザがペンなどによりタッチパネル１上を押圧すると、その押した入力位置（入力指示の位置）に応じた電圧値を生成する。Ａ／Ｄコンバータ３は、タッチパネル１からの電圧値をディジタル値に変換してＣＰＵ４に入力する。ＣＰＵ４は、本実施形態に関係する変換係数の算出処理（キャリブレーション）、キャリブレーションのずれ量（以下、ずれ情報と表記する場合がある）の算出処理、変換係数の補正処理、および変換係数に基づいたタッチパネル座標からスクリーン座標への座標変換処理を実行する。
【００１６】
ここで、図３に示すように、タッチパネル１の入力操作範囲（作動範囲）５とスクリーン２の表示範囲６とが一致していることを想定する。この範囲５，６はユーザが見える範囲であり、例えば金属の枠を設けることにより実現することが可能である。
（第１の実施形態のずれ情報の算出動作）
以下図１のフローチャート、図３および図４を参照して同実施形態のずれ情報の算出動作を説明する。
【００１７】
本実施形態では、ユーザの入力指示に応じてタッチパネル１から得られるＸ座標とＹ座標は相互に独立であると仮定する。このとき、前述の式（１）において、以下式（２）の関係となり、また式（２）から式（３），（４）に示すような関係が得られる。さらに、後述する変換係数のずれ情報（キャリブレーションのずれ情報）は、式（５），（６）に示すようなＸ座標とＹ座標それぞれの組で保持されるものとする。
【００１８】
【数２】
0003959163.tif 000003
さらに、前述したように、タッチパネル１の作動範囲５とスクリーン２の表示範囲６とが一致していることを想定し、それぞれを以下のように表現する。
【００１９】
【数３】
0003959163.tif 000004
【００２０】
ＣＰＵ４は、タッチパネル１上にユーザからの入力指示を検出すると、当該入力位置に対応するタッチパネル座標をスクリーン座標に変換する座標変換処理を実行する（ステップＳ１）。ＣＰＵ４は、算出した座標変換処理後のスクリーン座標（（ｘｃ，ｙｃ）とする）が、スクリーンの枠内（スクリーン２の表示範囲６）に含まれるか否かを調べる（ステップＳ２）。具体的には、ＣＰＵ４は以下の式（７），（８）に基づいて入力位置に対応するスクリーン座標がスクリーン２の表示範囲６に含まれるか否かを判断する。
【００２１】
【数４】
0003959163.tif 000005
【００２２】
ＣＰＵ４は、入力位置に対応するスクリーン座標がスクリーン２の表示範囲６に含まれている場合には、変換係数（キャリブレーション係数）が適正であると判定する（ステップＳ３のＹＥＳ）。一方、スクリーン座標がスクリーン２の表示範囲６に含まれていない場合には、ＣＰＵ４は以下のように、タッチパネル座標（ｘT ，ｙT ）の最大値と最小値とを更新する（ステップＳ４）。
【００２３】
【数５】
0003959163.tif 000006
【００２４】
そして、ＣＰＵ４は、更新したタッチパネル座標（ｘT ，ｙT ）の最大値と最小値とに基づいて、以下のようなタッチパネル座標とスクリーン座標とのずれ情報（Ｘ座標とＹ座標）を算出（更新）する（ステップＳ５）。
【００２５】
【数６】
0003959163.tif 000007
【００２６】
以上のように本実施形態は、座標変換処理で使用する変換係数が適正であれば、変換後のスクリーン座標はスクリーン２の表示範囲６に収まることを想定し、入力指示に応じて得られる変換座標がスクリーン２の表示範囲６に含まれるか否かを判定する。この判定結果により、例えば図４に示すように、変換座標６１がスクリーン２の表示範囲６の外であれば、変換係数のずれ情報を算出する。図４に示す例は、変換座標６１がｙ方向にずれ量ｄだけ範囲外になっている場合である。この算出（更新）したずれ情報に基づいて、後述するように、変換係数の補正処理を実行する（式（２３）〜（２９）を参照）。
（第２の実施形態）
以下図５のフローチャートを参照して、第２の実施形態に関係するずれ情報の算出動作について説明する。
【００２７】
本実施形態では、ＣＰＵ４は、タッチパネル１上でのユーザの入力操作が無意味な操作の場合には、変換係数がずれていると推定する（ステップＳ１０，Ｓ１１のＹＥＳ）。ここで、無意味な入力操作とは、具体的には以下の表１に示すような内容が想定される。なお、タップとはペンでタッチパネル１上を軽く叩くような操作であり、ダブルタップとはタップを２回繰り返す操作を意味する。また、ドラッグはペンを下ろしたまま、タッチパネル１上を移動させる操作を意味する。これらは、それぞれマウスの場合のクリック、ダブルクリック、ドラッグに相当する操作である。
【００２８】
【表１】
0003959163.tif 000008
【００２９】
前記表１には、操作対象と推定されるボタン、ウインドウなどの物体（以下対象オブジェクトと呼ぶ）も示す。即ち、操作内容がタップまたはダブルタップされても、何のイベントにも該当しない場合には、近傍のボタンをタップまたはダブルタップしていたと推定される。また、メニューバーのように、ウインドウを動かすための領域をタップまたはダブルタップされた場合には、ドラッグ操作ではなく、近傍のボタンをタップまたはダブルタップしていたと推定される。さらに、ウインドウが無い領域でドラッグ操作がなされた場合には、近傍のウインドウをドラッグしようとしていたと推定される。
【００３０】
このような無意味な入力操作の検出を利用して、ＣＰＵ４は変換係数のずれ情報を算出する。なお、以下の処理はＯＳのグラフィックス・システムなど、入力を認識してイベントを発生させる処理部（プログラム）を利用する。ＣＰＵ４は、無意味な入力操作を検出したときに、近傍に操作対象のオブジェクトが存在するか否かを調べる（ステップＳ１２）。ＣＰＵ４は、近傍に操作対象のオブジェクトが存在する場合には、以下表２に示すような条件式からＸ座標とＹ座標とのずれ情報を算出し、メモリなどに保存する（ステップＳ１３のＹＥＳ，Ｓ１４）。なお、表２において、ずれ情報に含まれる「０．１」は信頼度（ｘR ，ｙR ）を意味する。
【００３１】
【表２】
0003959163.tif 000009
【００３２】
具体的には、ＣＰＵ４は、タッチパネル１上にユーザが入力指示したときのタッチパネル座標（ｘT ，ｙT ）から座標変換処理により、スクリーン座標（ｘｃ，ｙｃ）を得る。このスクリーン座標（ｘｃ，ｙｃ）と対象オブジェクト（例えばボタン）の表示座標とを比較し、この比較結果に基づいて両者の範囲のずれ情報（Ｘ座標ｘN ，Ｙ座標ｙN ）を変換係数のずれ情報として算出する。
【００３３】
なお、本実施形態では、キャリブレーションの操作、即ち変換係数の算出処理がなされているのが前提である。このキャリブレーションの操作において（図１３を参照）、ユーザの入力指示が正確でない場合でも、通常では５mm程度の誤差範囲（ずれ量）であると想定できる。そこで、スクリーン上において５mmに相当するピクセル数をそれぞれｘN ，ｙN とし、ずれ量が５mm以内の場合にはＣＰＵ４は近傍に対象オブジェクトが存在していると判断する。
【００３４】
以上のように本実施形態によれば、ユーザの無意味な入力操作の検出とスクリーン上に表示するボタンなどの対象オブジェクトの座標とを利用して、変換処理後の座標のずれ情報を変換係数のずれ情報として算出する。このような方式であれば、前述の第１の実施形態においてタッチパネル１の入力操作範囲（作動範囲）５とスクリーン２の表示範囲６とが一致しているという条件は不要である。
（第３の実施形態）
以下図６のフローチャート及び図７を参照して、第３の実施形態に関係するずれ情報の算出動作について説明する。
【００３５】
本実施形態は、スクリーン上の所定の位置にボタンなどの操作対象オブジェクトが存在することを想定した場合に、当該ボタン付近において入力指示された入力位置（ポイント）の分布を調べる。この入力位置の分布が当該ボタンの表示範囲（座標）とずれているとき、変換係数のずれ（キャリブレーションのずれ）が発生していると推定する方式である。
【００３６】
この方式は、例えば図７に示すように、スクリーン上の設定位置８１，８２に操作対象オブジェクトであるボタンなどを配置するシステムにできる。このようなシステムは、フルスクリーン実行時（ウインドウをスクリーン全体に広げて実行するとき）のウインドウを消去するためのチェックボックスをスクリーン上の設定位置８１，８２に配置する機能を有する。
【００３７】
具体的には、ＣＰＵ４は、タッチパネル１上にユーザが入力指示したときのタッチパネル座標（ｘT ，ｙT ）から座標変換処理により、スクリーン座標（ｘｃ，ｙｃ）を得る。次に、当該入力位置に対応するスクリーン座標（ｘｃ，ｙｃ）が、特定のボタン又はその近傍であるか否かを調べる（ステップＳ２０）。この判断基準は、前述の第２の実施形態の場合と同様である。即ち、スクリーン上において５mmに相当するピクセル数ｘN ，ｙN を基準範囲として、次式（９），（１０）により判断する。
【００３８】
【数７】
0003959163.tif 000010
【００３９】
ＣＰＵ４は、当該入力位置に対応するスクリーン座標（ｘｃ，ｙｃ）が特定のボタンの範囲又はその近傍である場合に、実際に当該特定ボタンが存在するか否かを調べる（ステップＳ２３）。これは、常に存在し続けるボタンではない場合があるからである。さらに、当該特定ボタンの近傍に別のボタンが存在するか否かを調べる（ステップＳ２４）。別のボタンが存在しない場合には、ＣＰＵ４は、タップされた入力位置に対応するスクリーン座標（ｘｃ，ｙｃ）を保存する（ステップＳ２６）。そして、保存したデータ量が一定量、例えば５０の座標点データを取得した時点で、変換係数のずれ情報を算出する（ステップＳ２７のＹＥＳ，Ｓ２８）。
【００４０】
ここで、ずれ情報は、前述の表２を使用して、式（９），（１０）および以下の式（１１）〜（１４）により算出される。なお、ずれ情報の信頼度（ｘR ，ｙR ）は「０．１」ではなく、ここでは「０．５」とする。
【００４１】
【数８】
0003959163.tif 000011
【００４２】
以上のように本実施形態によれば、スクリーン上の所定の位置にボタンなどの対象オブジェクトが配置されるシステムであれば、当該対象オブジェクトの座標と変換処理後の座標とのずれ情報を変換係数のずれ情報として算出する。このような方式であれば、前述の第２の実施形態と同様にタッチパネル１の入力操作範囲（作動範囲）５とスクリーン２の表示範囲６とが一致しているという条件は不要である。
（ずれ情報の妥当性チェック方法）
ここで、第１の実施形態から第３の実施形態において算出したずれ情報の妥当性について、図８を参照してそのチェック方法を説明する。
【００４３】
ここでは、Ｘ座標の変換処理（前述の式（３）を参照）のみに着目して説明する。当該式（３）をグラフ化したものを図８に示す。この図８において、タッチパネル１の作動範囲における座標の値域（１１４）は少なくとも以下の式（１５）に示す範囲にある。これ以上範囲が狭くなることはない。
【００４４】
【数９】
0003959163.tif 000012
また、変換係数の算出処理により得られるスクリーン座標（表示範囲）の範囲（１１３）は、以下の式（１６）に示す範囲内に収まる必要がある。
【００４５】
【数１０】
0003959163.tif 000013
以上のような関係式から、、Ｘ座標およびＹ座標における変換係数ａ11，ａ13，ａ22，ａ23は下記式（１７）〜（２０）に示す関係となる。
【００４６】
【数１１】
0003959163.tif 000014
【００４７】
従って、前記式（１７）〜（２０）を満たすかどうかを判定することにより、ずれ情報の妥当性をチェックできる。図８では、例えば破線（１１２）に示すように、実線（１１１）より傾きが急俊で、Ｙ軸との交点が上であればよい。
（第１の実施形態の変換係数の補正方法）
以下図９を参照して第１の実施形態に関係する変換係数の補正方法を説明する。
【００４８】
本実施形態は、前述したように、タッチパネル１に対する入力指示に応じて座標変換処理を実行したときに、変換処理後のスクリーン座標がスクリーン２の表示範囲６から外れた場合には、変換係数のずれ情報を算出する方式である。即ち、図９に示すように、変換座標６１がスクリーン２の表示範囲６のｙ方向にずれ量ｄだけ範囲外になっている場合である。
【００４９】
このような場合には、ＣＰＵ４は補正処理として、変換処理後のＹ座標が図９に示す範囲１２１から範囲１２２に示す範囲内に収まるように変換係数を補正すればよい。具体的には、タッチパネル座標とスクリーン座標とが下記式（２１）、（２２）に示すような関係であると想定する。
【００５０】
【数１２】
0003959163.tif 000015
【００５１】
この式（２１）及び前述の式（３）を利用して、以下の式（２３）〜（２６）に示すように補正した変換係数ａ11，ａ13，ａ22，ａ23を算出することができる。
【００５２】
【数１３】
0003959163.tif 000016
（第２及び第３の実施形態の変換係数の補正方法）
前述の方法以外の変換係数の補正方法を説明する。この補正方法は、算出したずれ情報の集合を求めて、この集合に最も近似するような変換係数を算出するものである。具体的には、タッチパネル座標からスクリーン座標への座標変換処理は、前述の式（３），（４）により得られる変換係数により実行される。ここで、下記式（２７），（２８）に示すようなずれ情報の集合を想定する。
【００５３】
【数１４】
0003959163.tif 000017
【００５４】
ここで、ずれ情報の信頼度（ｘR ，ｙR ）として、以下の表３に示す値を使用する。但し、表３において、検出法１〜３はそれぞれ第１の実施形態から第３の実施形態におけるずれ情報の算出方法に対応する。
【００５５】
【表３】
0003959163.tif 000018
【００５６】
このとき、前述の式（３），（４）が前記式（２７），（２８）に示すようなずれ情報の集合に最も近似するように、算出した変換係数が適正な変換係数となる。ここで、図１０はＸ座標に関する補正値を求める様子を示す図である。図１０において、縦軸はスクリーン座標（座標変換処理後の座標）Ｘｓを示し、横軸はタッチパネル座標（座標変換処理前の座標）Ｘｔを示す。「Ｘ」で示すプロットは前記式（２７），（２８）で示すずれ情報の集合を意味する。
【００５７】
なお、本手法では信頼度による重み付けをした上で、最小二乗法により変換係数を算出することを想定している。具体的には、前述式（３）に関しては、下記式（２９）において、ずれ量ｄが最小になるような変換係数ａ11，ａ13を算出すればよい。
【００５８】
【数１５】
0003959163.tif 000019
（第２の実施形態の変形例）
第２の実施形態の手法は、タッチパネル１上でのユーザの入力操作が無意味な操作の場合には、変換係数がずれていると推定するものである。しかし、本実施形態はＯＳのグラフィックス・システムなど、入力を認識してイベントを発生させる処理部（プログラム）を利用することを前提としている。このため、ＯＳのグラフィックス・システムなどを利用できない場合には適用不可となる。
【００５９】
そこで、本変形例は、前述の第３の実施形態の手法を適用して、スクリーン上の所定位置に存在するボタンに着目し、図６のフローチャートに示す処理を実行することにより、前述の表２に示すずれ情報を求める方法である。
【００６０】
なお、ステップＳ２０に示す近傍の判断は、前述の第３の実施形態で説明したようにスクリーン上において５mmに相当するピクセル数ｘN ，ｙN を基準範囲として、前述の表２の内容を利用して実行される。また、ステップＳ２２の処理では、常に存在し続けるボタンでない場合には、その位置のビットマップを調べるか、ディスプレイ・ドライバが有する情報を利用して存在するか否かを調べる。さらに、ステップＳ２４において、特定ボタンの近傍に別のボタンが存在するか否かを調べる。これは、例えば当該ボタンが押されたままの状態となりメニューが出るような場合に、当該ボタンのビットマップを調べることによりメニューの有無の状態を認識することが可能である。また、隣に存在するボタンの位置がきまっているような場合には、その位置のビットマップを調べることにより別のボタンが存在するか否かを調べることができる（ディスプレイ・ドライバが有する情報を利用してもよい）。
【００６１】
なお、前述の変換係数の補正方法において、システム側がずれ情報に基づいて自動的に変換係数の補正処理を実行する方式の代わりとして、ずれ情報を算出した後にユーザに対して再キャリブレーション（変換係数の再設定）を促す方式でもよい。具体的には、スクリーン２上に再キャリブレーションの要求を通知する表示をする。また、前述の各実施形態において、ずれ情報に時刻情報を付加して、一定時間経過後には当該ずれ情報を消去するようにしてもよい。これにより、時間経過に伴うタッチパネル１のハードウェア特性の変化により、キャリブレーションのずれが発生するような場合でも、自動的にキャリブレーションの処理を再実行することが可能となる。
【００６２】
本発明は、特にＰＤＡなどのデータ入力装置に適用することを前提としているが、例えばビデオゲームのジョイスティックのキャリブレーション処理に対しても適用することが可能である。ジョイスティックのキャリブレーション処理では、スティックを右上、左下に倒し、ボタンを押すことが要求される。ソフトウエアによっては、スティックを右上、左下に倒した後に中心に戻して、ボタンを押すことが要求される。本発明を適用した場合に、ゲーム中のユーザのスティックの操作内容を利用して、自動的なキャリブレーションの補正処理が可能となる。
【００６３】
【発明の効果】
以上詳述したように本発明によれば、タッチパネルに対するユーザの入力指示に基づいて、タッチパネル座標からスクリーン座標へ座標変換するために使用する変換係数のずれ量を算出することができる。従って、算出したずれ量に基づいて、変換係数のずれ量を自動的に補正して、常に適正な変換係数を得ることができる。これにより、適正な変換係数に基づいて常に正確な座標変換処理を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の動作を説明するためのフローチャート。
【図２】第１の実施形態に関係するタッチパネル式データ入力装置の要部を示すブロック図。
【図３】第１の実施形態の動作を説明するための概念図。
【図４】第１の実施形態の動作を説明するための概念図。
【図５】第２の実施形態の動作を説明するためのフローチャート。
【図６】第３の実施形態の動作を説明するためのフローチャート。
【図７】第３の実施形態の動作を説明するための概念図。
【図８】第１から第３の各実施形態において算出したずれ情報の妥当性のチェック方法を説明するための図。
【図９】第１の実施形態に関係する変換係数の補正方法を説明するための図。
【図１０】第２及び第３の実施形態に関係する変換係数の補正方法を説明するための図。
【図１１】従来のタッチパネル式データ入力装置の要部を示す図。
【図１２】従来のキャリブレーション機能の処理ステップを説明するための図。
【図１３】従来のキャリブレーション機能の処理ステップを説明するためのフローチャート。
【図１４】従来のキャリブレーション機能の問題点を説明するための図。
【符号の説明】
１…タッチパネル
２…スクリーン
３…Ａ／Ｄコンバータ
４…ＣＰＵ
５…タッチパネルの操作範囲（作動範囲）
６…スクリーンの表示範囲
【図１】
0003959163.tif 000020
【図２】
0003959163.tif 000021
【図３】
0003959163.tif 000022
【図４】
0003959163.tif 000023
【図５】
0003959163.tif 000024
【図６】
0003959163.tif 000025
【図７】
0003959163.tif 000026
【図８】
0003959163.tif 000027
【図９】
0003959163.tif 000028
【図１０】
0003959163.tif 000029
【図１１】
0003959163.tif 000030
【図１２】
0003959163.tif 000031
【図１３】
0003959163.tif 000032
【図１４】
0003959163.tif 000033