(57)【特許請求の範囲】
【請求項１】
タッチパネルを有し、該タッチパネルの入力位置を示す位置データに基づいて処理を行い、該処理結果を表示画面に表示する座標入力装置において、
タッチパネルの入力位置を検出する検出手段と、
前記検出手段で検出した入力位置を位置データとして出力する出力手段と、
前記出力手段が出力した位置データを受信して、該位置データを処理する処理手段と、
前記処理手段における位置データの処理間隔に応じて、前記出力手段における位置データを出力する出力間隔を決定する出力間隔決定手段と、
前記出力間隔決定手段が決定した出力間隔の間に前記検出手段が検出した複数の入力位置を平均化する平均化手段とを備え、
前記出力手段は、前記出力間隔決定手段が決定する出力間隔であって、前記処理手段における、該処理手段の負荷に依存して定まる、位置データの処理間隔に応じた出力間隔に基づいて、前記平均化手段が平均化した入力位置を位置データとして出力することを特徴とする座標入力装置。
【請求項２】
タッチパネルを有し、該タッチパネルの入力位置を示す位置データに基づいて処理を行い、該処理結果を表示画面に表示する座標入力方法において、
タッチパネルの入力位置を検出する検出ステップと、
前記検出ステップで検出した入力位置を位置データとして出力する出力ステップと、
前記出力ステップが出力した位置データを受信して、該位置データを処理する処理ステップと、
前記処理ステップにおける位置データの処理間隔に応じて、前記出力ステップにおける位置データを出力する出力間隔を決定する出力間隔決定ステップと、
前記出力間隔決定ステップが決定した出力間隔の間に前記検出ステップが検出した複数の入力位置を平均化する平均化ステップとを有し、
前記出力ステップは、前記出力間隔決定ステップが決定する出力間隔であって、前記処理ステップにおける、該処理ステップの負荷に依存して定まる、位置データの処理間隔に応じた出力間隔に基づいて、前記平均化ステップが平均化した入力位置を位置データとして出力することを特徴とする座標入力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ペンおよび指などを使ったタッチパネルへの入力に対して、その入力位置データを取得することができ、取得した入力位置データに基づいて、入力位置の表示を行なう座標入力装置と座標入力方法に関する。
【０００２】
【従来の技術】
従来の座標入力装置では、一般的にメインＣＰＵ側の処理速度を考慮して、予めタッチパネルへの入力位置の検出を行うタッチパネルコントローラのサンプリング間隔を決めていた。
【０００３】
図７は従来の座標入力装置の構成を示すブロック図である。
【０００４】
図７に示すように、従来の座標入力装置では、タッチパネルコントローラ３は、メインＣＰＵ４側の状態、即ち、メインＣＰＵ４のデータ処理速度やクロック周波数に関係することなく、一定の間隔でサンプリング制御手段３１がタッチパネル１の入力位置の検出（以下サンプリング）を行い、バッファ３２に格納された位置データをデータ送信制御手段３３が一定の間隔でメインＣＰＵ４に位置データを送信していた。
【０００５】
また、サンプリング間隔を動的に変化させるとしても、それはタッチパネル１への入力を行うペンの移動速度に対して行うものであり、メインＣＰＵ４側の上述した状態に対応して行うものではなかった。
【０００６】
例えば、特開平６年１４９４６１号公報では、位置データの処理手段の負荷を増大させることなく、ペン入力手段の動きに対する応答性を有したペン入力装置の技術を開示している。これは、ペンの移動速度が速いときはサンプリング間隔を短くし、ペンの移動速度が遅いときはサンプリング間隔を長くすることで応答性の良いペン入力装置を実現している。
【０００７】
【発明が解決しようとする課題】
ところが、上記のような従来の技術では、タッチパネルへの入力があると、メインＣＰＵ側の負荷が高い場合であっても、メインＣＰＵの負荷に関係なく、タッチパネルコントローラ側から位置データが出力されるため、メインＣＰＵの負荷はさらに高くなり、メインＣＰＵが行っている他の処理にも影響を与えることになる。
【０００８】
また、メインＣＰＵのクロック周波数が変化するシステムでは、メインＣＰＵのクロック周波数が変化してもサンプリング間隔が一定であるため、メインＣＰＵのクロック周波数が低い場合はメインＣＰＵの負荷の増大を招き、メインＣＰＵのクロック周波数が高い場合は、メインＣＰＵの処理速度に対してサンプリング間隔が長すぎるという状況を招くことになり、全体としてパフォーマンスが低下することがある。
【０００９】
また、サンプリング間隔が長くなると、単位時間当たりの位置データ数が少なくなるため、サンプリング間隔が長くなった場合は、結果的に位置データの精度が悪くなるという欠点があった。
【００１０】
本発明は、上記問題点を解決するために、タッチパネルコントローラの無駄な負荷の増大を押さえるだけでなく、メインＣＰＵの無駄な負荷の増大をも押さえ、メインＣＰＵの処理速度に応じた位置データの処理を実現させることを目的とする。
【００１１】
【課題を解決するための手段】
本発明の座標入力装置は、タッチパネルを有し、該タッチパネルの入力位置を示す位置データに基づいて処理を行い、該処理結果を表示画面に表示する座標入力装置であって、タッチパネルの入力位置を検出する検出手段と、前記検出手段で検出した入力位置を位置データとして出力する出力手段と、前記出力手段が出力した位置データを受信して、該位置データを処理する処理手段と、前記処理手段における位置データの処理間隔に応じて、前記検出手段における前記タッチパネルの入力位置を検出する検出間隔を決定する検出間隔決定手段とを備え、前記検出手段は、前記検出間隔決定手段が決定した検出間隔に基づいて、前記タッチパネルの入力位置を検出することを特徴としている。
【００１２】
また、前記検出間隔決定手段は、前記処理手段における位置データの処理間隔を一定期間測定し、一定期間測定した処理間隔の平均値を検出間隔とすることを特徴としている。
【００１３】
上記構成により、本発明の座標入力装置は、処理手段（例えばＣＰＵ）の負荷が高くなった場合は、位置データの処理間隔が長くなるため、これにより、タッチパネルの入力位置の検出間隔を長くすることができるので、処理手段の負荷の増大を抑制することができる。
【００１４】
また、本発明の座標入力装置は、タッチパネルを有し、該タッチパネルの入力位置を示す位置データに基づいて処理を行い、該処理結果を表示画面に表示する座標入力装置であって、タッチパネルの入力位置を検出する検出手段と、前記検出手段で検出した入力位置を位置データとして出力する出力手段と、前記出力手段が出力した位置データを受信して、該位置データを処理する処理手段と、前記入力手段におけるクロック周波数の変化に応じて、前記検出手段における前記タッチパネルの入力位置を検出する検出間隔を決定する検出間隔決定手段とを備え、前記検出手段は、前記検出間隔決定手段が決定した検出間隔に基づいて、前記タッチパネルの入力位置を検出することを特徴としている。
【００１５】
上記構成により、処理手段（例えばＣＰＵ）のクロック周波数が低くなった場合は、これにより、タッチパネルの入力位置の検出間隔を長くすることができるため、入力手段の処理速度に適したデータ処理を実現することができる。
【００１６】
また、本発明の座標入力装置は、タッチパネルを有し、該タッチパネルの入力位置を示す位置データに基づいて処理を行い、該処理結果を表示画面に表示する座標入力装置であって、タッチパネルの入力位置を検出する検出手段と、前記検出手段で検出した入力位置を位置データとして出力する出力手段と、前記出力手段が出力した位置データを受信して、該位置データを処理する処理手段と、前記処理手段における位置データの処理間隔に応じて、前記出力手段における位置データを出力する出力間隔を決定する出力間隔決定手段と、前記出力間隔決定手段が決定した出力間隔の間に前記検出手段が検出した複数の入力位置を平均化する平均化手段とを備え、前記出力手段は、前記出力間隔決定手段が決定した出力間隔に基づいて、前記平均化手段が平均化した入力位置を位置データとしてを出力することを特徴としている。
【００１７】
上記構成により、入力データの出力間隔が長くなった場合に、検出する入力位置が複数保持されても、それらの入力位置を平均化することで位置データの精度を向上させることができる。
【００１８】
また、本発明の座標入力方法は、タッチパネルを有し、該タッチパネルの入力位置を示す位置データに基づいて処理を行い、該処理結果を表示画面に表示する座標入力方法において、タッチパネルの入力位置を検出する検出ステップと、  前記検出ステップで検出した入力位置を位置データとして出力する出力ステップと、前記出力ステップが出力した位置データを受信して、該位置データを処理する処理ステップと、前記処理ステップにおける位置データの処理間隔に応じて、前記検出ステップにおける前記タッチパネルの入力位置を検出する検出間隔を決定する検出間隔決定ステップとを有し、前記検出ステップは、前記検出間隔決定ステップで決定した検出間隔に基づいて、前記タッチパネルの入力位置を検出することを特徴としている。
【００１９】
上記方法により、本発明の座標入力方法は、処理手段（例えばＣＰＵ）の負荷が高くなった場合は、位置データの処理間隔が長くなるため、これにより、タッチパネルの入力位置の検出間隔を長くすることができるので、処理手段の負荷の増大を抑制することができる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではないが、本発明の座標入力装置は、パーソナルコンピュータ、携帯端末、携帯電話などの電子機器に用いられる座標入力装置に適用するのが好ましい。
【００２１】
図１は本発明の第１の実施例における座標入力装置の構成を示すブロック図である。図１において、１はタッチパネルであり、このタッチパネル１に対する入力は、後述するタッチパネル入力手段２で行われる。２はタッチパネル入力手段であり、ペンまたは指などがこれに相当する。３はタッチパネルコントローラであり、サンプリング制御手段３１、バッファ３２、データ送信制御手段３３、データ処理間隔検出手段３４、サンプリング間隔決定手段３５を備える。
【００２２】
３1はサンプリング制御手段であり、後述するサンプリング間隔決定手段３５で決定したサンプリング間隔で、タッチパネル１に対するタッチパネル入力手段２で行われる入力位置の位置データの検出（以下サンプリング）をタッチパネル１から行い、後述するバッファ３２に格納するものである。
【００２３】
３２はバッファであり、サンプリング制御手段３１によってサンプリングされた位置データを一時的に格納するものである。
【００２４】
３３はデータ送信制御手段であり、バッファ３２にサンプリングされた位置データがあるかどうかを定期的に確認し、存在する場合には割込み信号を後述するメインＣＰＵ４のデータ受信処理手段４１に送信するものである。また、データ受信処理手段４１の求めに応じて、バッファ３２に格納された位置データを送信する。
【００２５】
３４はデータ処理間隔検出手段であり、メインＣＰＵ４のデータ処理手段４３から送信される、位置データのデータ処理を開始する通知信号を検出することで、メインＣＰＵ４側での前回の位置データのデータ処理から今回の位置データのデータ処理までの間隔を計算するものである。
【００２６】
３５はサンプリング間隔決定手段であり、データ処理間隔検出手段３４によって検出された通知信号の間隔に基づいて、新しいサンプリング間隔を決定するものである。
【００２７】
４はメインＣＰＵであり、データ受信処理手段４１、データ格納部４２、データ処理手段４３を備える。
【００２８】
４１はデータ受信処理手段であり、データ送信制御手段３３から送信される割込み信号を受けると、データ送信制御手段３３に対して位置データの送信を要求するとともに、データ送信制御手段３３から送信される位置データを受信し、後述するデータ格納部４２に格納するものである。
【００２９】
４２はデータ格納部であり、データ受信処理手段４１によって受信した位置データを一時的に格納するものである。
【００３０】
４３はデータ処理手段であり、データ格納部４２に格納された位置データが存在するかどうかを、メインＣＰＵの負荷に依存する間隔で確認し、存在する場合には位置データをデータ処理すると同時に、データ処理間隔検出手段３４に対してデータ処理を開始する毎に、データ処理を開始したことを通知する通知信号を送信するものである。
【００３１】
５は表示手段であり、データ処理手段４３の処理結果を表示するものである。
【００３２】
以上のように構成された座標入力装置の動作について、以下にフローチャートを用いて説明する。
【００３３】
図２はタッチパネルコントローラ３のサンプリング制御手段３１が行うサンプリング処理の流れを示すフローチャート図である。
【００３４】
座標入力装置が起動されると、サンプリング処理を開始するために、ステップ１において、割り込み許可を行い、タッチパネルコントローラ３の内部タイマ割り込み処理を実行可能とする。この内部タイマ割り込み処理により、サンプリング間隔の時間が経過したときに、タッチパネル１へのサンプリングの指示が出される。
【００３５】
次のステップ２において、サンプリングの指示があるかどうか、即ちサンプリング間隔の時間が経過したかどうかをチェックする。サンプリング指示がない場合は、ステップ２に戻る。
【００３６】
サンプリング指示がある場合は、ステップ３において、タッチパネル１の位置データのサンプリングを開始する。
【００３７】
次のステップ４において、サンプリングが終了したかどうかをチェックする。サンプリングが終了していない場合は、ステップ３に戻る。
【００３８】
サンプリングが終了した場合は、ステップ５において、サンプリングした位置データをバッファ３２へ格納し、ステップ２に戻る。
【００３９】
また、タッチパネルコントローラ３のデータ送信制御手段３３は、常にバッファ３２を監視し、バッファ３２内にタッチパネル１からサンプリングした位置データが存在すれば、該位置データをメインＣＰＵ４へ送信するために、メインＣＰＵ４に対して割り込み処理を行なう。
【００４０】
一方、メインＣＰＵ４は、タッチパネルコントローラ３からの割り込みによって、データ受信処理手段４１が起動され、ＩＳＡバスなどを経由して、タッチパネルコントローラ３からの位置データを受信し、データ格納部４２へ格納する。
【００４１】
図３はメインＣＰＵ４のデータ処理手段４３が行う受信した位置データの処理の流れを示すフローチャート図である。
【００４２】
受信した位置データの処理が開始されると、まず、ステップ１０において、データ格納部４２に位置データが存在するかどうかをチェックする。
【００４３】
存在しない場合は、処理を終了する。
【００４４】
存在する場合は、次のステップ１１において、メインＣＰＵ４側で位置データ処理を開始したことをタッチパネルコントローラ３のデータ処理間隔検出手段３４へ通知信号を発信して通知する。続いて次のステップ１２において、位置データの処理を行い、処理を終了する。
【００４５】
図４は、タッチパネルコントローラ３におけるサンプリング間隔の決定処理を説明したフローチャート図である。
【００４６】
まず、処理を開始すると、ステップ２０において、データ処理（の通知信号）を検出したのが初めてかどうかチェックする。
【００４７】
初めての場合は、次のステップ２２において、次のデータ処理検出までの間隔時間データを測定するために、内部タイマをスタートさせる。さらに、次のステップ３０において、間隔時間データのカウント、積算値をクリアし、平均間隔時間を求めるための準備を行い、処理を終了する。
【００４８】
初めてでない場合は、次のステップ２１において、内部タイマをストップさせ、そのタイマカウント値から、一つ前のデータ処理検出との間隔時間データを計算する。
【００４９】
次のステップ２３において、次のデータ処理検出までの間隔時間データを測定するために、内部タイマを再びスタートさせる。
【００５０】
次のステップ２４において、間隔時間データの平均値取得時間である１秒が経過したかどうかチェックする。経過していない場合は、次のステップ２６において、間隔時間データカウントを1増加し、次のステップ２７において、間隔時間データ積算値にステップ２３で求めた間隔時間データを加算し、処理を終了する。
【００５１】
経過している場合は、次のステップ２５において、間隔時間データのカウントと積算値から、間隔時間データの平均値を求め、その値を新しいサンプリング間隔とする。
【００５２】
サンプリング間隔が規定のサンプリング間隔より短くなってはいけないので、次のステップ２８において、新しいサンプリング間隔が規定のサンプリング間隔よりも短いかどうかチェックする。
【００５３】
短い場合に限り、次のステップ２９において、新しいサンプリング間隔を規定のサンプリング間隔とする。なお、規定のサンプリング間隔とは、サンプリング間隔、即ちメインＣＰＵへのデータ送信間隔が一定以上短くならないように、予め設定された最短のサンプリング間隔である。
【００５４】
次のステップ３０において、間隔時間データのカウント、積算値をクリアし、新しく平均間隔時間を求めるための準備を行い、処理を終了する。
【００５５】
以上の説明のとおり、本発明の座標入力装置と座標入力方法は、メインＣＰＵ側の負荷が高い場合は、タッチパネルコントローラ側でのサンプリング間隔を長くすることができ、タッチパネルコントローラ側からのデータ送信間隔を長くすることができるため、その結果、メインＣＰＵ側の負荷の増大を抑制することができ、メインＣＰＵの処理を安定させることができる。また、メインＣＰＵがタッチパネルコントローラから受信した位置データを読み捨てることがなくなるため、メインＣＰＵ側では無駄なデータ受信処理がなくなることになり、タッチパネルコントローラ側では無駄なサンプリング処理がなくなることになる。
【００５６】
逆にメインＣＰＵ側の負荷が低い場合は、タッチパネルコントローラ側でのサンプリング間隔を短くすることができるため、位置データの取りこぼしを防ぐことができる。
【００５７】
本発明の座標入力装置の第２の実施例として、メインＣＰＵのクロック周波数の変化に対応してサンプリング間隔を変化させる場合を説明する。この場合、上述した第一の実施例の座標入力装置におけるタッチパネルコントローラ３のデータ処理間隔検出手段３４の代わりに、メインＣＰＵ４からクロック周波数を取得するメインＣＰＵクロック周波数取得手段を設ける。
【００５８】
図５はＣＰＵのクロック周波数に対応するサンプリング間隔を定義したテーブルの一例である。第２の実施例の座標入力装置において、サンプリング間隔決定手段３５は、図５のテーブルとメインＣＰＵクロック周波数取得手段が取得したメインＣＰＵのクロック周波数に基づいて、メインＣＰＵのクロック周波数の変化に対応した新しいサンプリング間隔を決定する。
【００５９】
これにより、メインＣＰＵのクロック周波数が変化する場合でも、メインＣＰＵのクロック周波数に応じて、タッチパネルコントローラ側でのサンプリング間隔を変化させることができるため、メインＣＰＵのクロック数が低い場合は、タッチパネルコントローラ側でのサンプリング間隔を長くすることができ、タッチパネルコントローラ側からのデータ送信間隔を長くすることができるため、その結果、メインＣＰＵ側の負荷の増大を抑制することができ、メインＣＰＵの処理を安定させることができる。また、メインＣＰＵがタッチパネルコントローラから受信した位置データを読み捨てることがなくなるため、メインＣＰＵ側では無駄なデータ受信処理がなくなることになり、タッチパネルコントローラ側では無駄なサンプリング処理がなくなることになる。
【００６０】
逆にメインＣＰＵ側のクロック周波数が低い場合は、タッチパネルコントローラ側でのサンプリング間隔を短くすることができるため、位置データの取りこぼしを防ぐことができる。
【００６１】
図６は本発明の第３の実施例における座標入力装置の構成を示すブロック図である。図６において、データ送信間隔決定手段３６とデータ平均化手段３７以外の構成は、第１の実施例で説明した構成と同一のものであり、同様の機能を有する。
【００６２】
図６に示すように、図1のブロック図における座標入力装置に対して、タッチパネルコントローラ３のサンプリング間隔決定手段３５の代わりに、データ送信間隔決定手段３６を設け、さらにバッファ３２に存在するすべてのサンプリングデータを平均化するための、データ平均化手段３７を設けている。本実施例では、タッチパネル１へのサンプリング間隔は固定とするが、代わりにメインＣＰＵ４の処理状態に対応して、メインＣＰＵ４への位置データの送信間隔を変化させている。
【００６３】
図６において、データ送信間隔決定手段３６は、データ処理間隔検出手段３４によって検出されたデータ処理手段４３から送信される通知信号の間隔に基づいて、データ送信制御手段がデータ受信処理手段４１へ位置データを送信する送信間隔を決定するものである。
【００６４】
バッファ３２には、前記送信間隔の間、サンプリングされた複数の位置データを蓄積するとともに、データ送信制御手段３３は、データ送信間隔決定手段３６で決定した送信間隔でバッファ３２の監視を行った際に、バッファ３２内にサンプリングした位置データが存在すれば、割込み信号を後述するデータ受信処理手段４１に発信するものである。このとき、データ平均化手段３７がバッファ内に蓄積された複数の位置データを平均化して、データ送信制御手段３３に出力する。データ送信制御手段３３は、データ受信処理手段４１の求めに応じて、データ平均化手段が平均化した位置データをデータ受信処理手段４１に送信する。
【００６５】
これにより、サンプリング間隔は固定したままで、メインＣＰＵの処理状態に応じた異なる送信間隔でメインＣＰＵへ位置データを送信することができるので、メインＣＰＵ側への位置データ送信間隔が長くなっても、サンプリング間隔は一定のままであるため、入力座標の表示位置の精度を向上させることができる
【００６６】
【発明の効果】
以上の発明により、本発明の座標入力装置及び座標入力方法では、メインＣＰＵ側の負荷が高い場合は、タッチパネルコントローラ側でのサンプリング間隔を長くすることができ、タッチパネルコントローラ側からのデータ送信間隔を長くすることができるため、その結果、メインＣＰＵ側の負荷の増大を抑制することができ、メインＣＰＵの処理を安定させることができる。また、メインＣＰＵがタッチパネルコントローラから受信した位置データを読み捨てることがなくなるため、メインＣＰＵ側では無駄なデータ受信処理がなくなることになり、タッチパネルコントローラ側では無駄なサンプリング処理がなくなることになる。
【００６７】
逆にメインＣＰＵ側の負荷が低い場合は、タッチパネルコントローラ側でのサンプリング間隔を短くすることができるため、位置データの取りこぼしを防ぐことができる。
【００６８】
メインＣＰＵのクロック周波数が変化する場合でも、メインＣＰＵのクロック周波数に応じて、タッチパネルコントローラ側でのサンプリング間隔を変化させることができるため、上記と同様な効果が得られる。
【００６９】
また、本発明の座標入力装置では、メインＣＰＵ側へのデータ送信間隔が長くなっても、サンプリング間隔は短いままであるため、複数のサンプリングにより平均化された位置データをメインＣＰＵへ送信できることができ、その結果、入力座標の表示位置の精度を向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例における座標入力装置の構成を示すブロック図である。
【図２】タッチパネルコントローラのサンプリング処理を説明したフローチャート図である。
【図３】メインＣＰＵのデータ処理を説明したフローチャート図である。
【図４】タッチパネルコントローラにおけるサンプリング間隔の決定処理を説明したフローチャート図である。
【図５】メインＣＰＵのクロック周波数に対応するサンプリング間隔を定義したテーブルである。
【図６】本発明の第３の実施例における座標入力装置の構成を示すブロック図である。
【図７】従来技術における座標入力装置の構成を示すブロック図である。
【符号の説明】
１            タッチパネル
２            タッチパネル入力手段
３            タッチパネルコントローラ
３１          サンプリング制御手段
３２          バッファ
３３          データ送信制御手段
３４          データ処理間隔検出手段
３５          サンプリング間隔決定手段
３６          データ送信間隔決定手段
３７          データ平均化手段
４            メインＣＰＵ
４１          データ受信処理手段
４２          データ格納部
４３          データ処理手段
５            表示手段
【図１】
0004540900.tif 000002
【図２】
0004540900.tif 000003
【図３】
0004540900.tif 000004
【図４】
0004540900.tif 000005
【図５】
0004540900.tif 000006
【図６】
0004540900.tif 000007
【図７】
0004540900.tif 000008