(57)【要約】【課題】ユーザによるタッチ式入力部の操作をより正確に反映したタッチ位置の補正処理を行って滑らかな操作性を提供する。【解決手段】情報処理装置を、ディスプレイにおける位置情報を入力するタッチ式入力部により検出されたタッチ位置の座標を算出する座標算出部と、座標算出部から取得されるカウント値であって、タッチ位置の座標が検出されたときのカウント値を計数するカウンタと、時刻情報を計時するタイマと、座標算出部が座標を算出する前にカウンタとタイマとを同期させる同期処理部と、タイマから時刻情報を取得し、時刻情報とタイマに同期したカウンタのカウンタ値とにより、算出された座標を補正する座標補正部と、補正された座標を使用してディスプレイの描画処理を行う描画処理部とを備える構成とする。【選択図】図５
2015132921.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイにおける位置情報を入力するタッチ式入力部により検出されたタッチ位置の座標を算出する座標算出部と、
前記座標算出部から取得されるカウント値であって、前記タッチ位置の座標が検出されたときのカウント値を計数するカウンタと、
時刻情報を計時するタイマと、
前記座標算出部が座標を算出する前に前記カウンタと前記タイマとを同期させる同期処理部と、
前記タイマから前記時刻情報を取得し、前記時刻情報と前記タイマに同期した前記カウンタのカウンタ値とにより、前記算出された座標を補正する座標補正部と、
前記補正された座標を使用して前記ディスプレイの描画処理を行う描画処理部と
を備えることを特徴とする情報処理装置。
【請求項２】
ディスプレイにおける位置情報を入力するタッチ式入力部によりタッチ位置が検出されたときに前記タッチ位置の座標を座標算出部により算出するステップと、
前記座標算出部から取得されるカウント値であって、前記タッチ位置の座標が検出されたときのカウント値を計数するステップと、
タイマにより時刻情報を計時するステップと、
前記座標を算出する前に前記カウンタと前記タイマとを同期させるステップと、
前記タイマから前記時刻情報を取得し、前記時刻情報と前記タイマに同期した前記カウンタのカウンタ値とにより、前記算出された座標を補正するステップと、
前記補正された座標を使用して前記ディスプレイの描画処理を行うステップと
を備えることを特徴とする表示制御方法。
【請求項３】
コンピュータに、
ディスプレイにおける位置情報を入力するタッチ式入力部によりタッチ位置が検出されたときに前記タッチ位置の座標を座標算出部により算出するステップと、
前記座標算出部から取得されるカウント値であって、前記タッチ位置の座標が検出されたときのカウント値を計数するステップと、
タイマにより時刻情報を計時するステップと、
前記座標を算出する前に前記カウンタと前記タイマとを同期させるステップと、
前記タイマから前記時刻情報を取得し、前記時刻情報と前記タイマに同期した前記カウンタのカウンタ値とにより、前記算出された座標を補正するステップと、
前記補正された座標を使用して前記ディスプレイの描画処理を行うステップと
を実行させることを特徴とする表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示の発明は、タッチ式入力部を有する情報処理装置、当該装置における表示制御方法及び表示制御プログラムに関する。
【背景技術】
【０００２】
近年普及している携帯電話端末等の情報処理装置には、ユーザの指等により操作することができる静電容量式タッチパネルを搭載したスマートフォンやタブレット端末がある。このような情報処理装置では、より細やかな操作性を実現するために位置精度の向上が求められる。
【０００３】
そこで、例えば特許文献１に示されるように、情報処理装置のホスト側が、ユーザがタッチパネルに触れた位置の座標とタイマから得た時刻情報を利用して画面表示タイミングにおける描画位置を補正している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−４１２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、タッチパネルが物理的にユーザの指等の接触を認識してから、ホスト側が描画位置の補正処理等に必要な情報を受信するまでの間に生じる時間的な遅延にはばらつきある。そのため、遅延時間のばらつきが大きいと、補正した座標が示す時間変化と実際にユーザが行った操作位置の座標の時間変化とのずれも大きくなる。すなわち、上記の情報処理装置では、ユーザの操作を適切に反映して描画位置を補正することができない可能性がある。
【０００６】
本件開示の技術は、上記に鑑みてなされたものであり、その目的とするところは、ユーザによるタッチ式入力部の操作をより正確に反映したタッチ位置の補正処理を行って滑らかな操作性を提供する情報処理装置を実現することである。
【課題を解決するための手段】
【０００７】
本件開示の情報処理装置は、１つの側面では、ディスプレイにおける位置情報を入力するタッチ式入力部により検出されたタッチ位置の座標を算出する座標算出部と、座標算出部から取得されるカウント値であって、タッチ位置の座標が検出されたときのカウント値を計数するカウンタと、時刻情報を計時するタイマと、座標算出部が座標を算出する前にカウンタとタイマとを同期させる同期処理部と、タイマから時刻情報を取得し、時刻情報とタイマに同期したカウンタのカウンタ値とにより、算出された座標を補正する座標補正部と、補正された座標を使用してディスプレイの描画処理を行う描画処理部とを備える。
【発明の効果】
【０００８】
本件開示の技術によれば、ユーザによるタッチ式入力部の操作をより正確に反映した描画位置の補正処理を行って滑らかな操作性を提供する情報処理装置を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、比較例における情報処理装置のハードウェア構成を示す概略構成図である。
【図２】図２は、情報処理装置におけるタッチパネルのタッチ位置の座標補正処理の一例を示すグラフである。
【図３】図３は、比較例における情報処理装置でのタッチ位置の座標に関する表示処理を示すグラフである。
【図４】図４は、比較例における情報処理装置でのタッチ位置の座標に関する表示処理を示すグラフである。
【図５】図５は、一実施形態における情報処理装置のハードウェア構成を示す概略構成図である。
【図６】図６は、一実施形態における情報処理装置の機能部を示す機能構成図である。
【図７】図７は、一実施形態において情報処理装置で実行される処理を示すシーケンス図である。
【図８】図８は、一実施形態において情報処理装置でのタッチ位置の座標に関する表示処理を示すグラフである。
【発明を実施するための形態】
【００１０】
まず、一実施形態における情報処理装置の比較例について図面を参照しながら説明する。
【００１１】
〔比較例〕
図１に示すように、比較例における情報処理装置１０は、タッチパネルセンサ１１、タッチコントローラ１２、ホスト１３、ディスプレイ１４を備える。タッチパネルセンサ１１は、ユーザの指等のタッチを検出する。タッチコントローラ１２は、タッチパネルセンサ１１により検出されたタッチ位置に基づいて座標演算を行う。ホスト１３は、タッチコントローラ１２による座標演算の計算結果に基づいてディスプレイ１４における描画位置の補正を行う。ディスプレイ１４は、ホスト１３による描画制御にしたがって画面の描画を実行する。
【００１２】
タッチパネルセンサ１１は、いわゆる静電容量式のタッチパネルであり、複数の透明電極が配置され、ユーザの指等と電極との間での静電容量の変化が生じた位置をタッチ位置として検出する。タッチパネルセンサ１１が、タッチ式入力部の一例である。なお、本実施形態において、タッチパネルセンサ１１の一例として静電容量式のタッチパネルを挙げるが、タッチパネルセンサ１１はこれに限られない。タッチパネルセンサ１１によるタッチ位置の検出結果は、タッチコントローラ１２のＡＦＥ（Analog Front End）１２ｂにより信号の変換処理が行われる。ＡＦＥ１２ｂは、タッチパネルセンサ１１による検出結果に対して、信号増幅や電流信号の電圧信号への変換やノイズ除去等の処理を実行する。ＡＦＥ１２ｂによる変換処理の結果は、ＣＰＵ１２ａに送られる。
【００１３】
ＣＰＵ１２ａは、ＡＦＥ１２ｂの処理結果を用いてタッチパネルセンサ１１におけるタッチ位置の座標変換を行う。ＣＰＵ１２ａにより算出されたタッチ位置の座標データは、ホストＣＰＵ１３ｂに送られる。ホストＣＰＵ１３ｂは、タッチコントローラ１２のＣＰＵ１２ａから座標データを取得すると、タイマ１３ａから現在時刻の時刻データを取得する。そして、ＣＰＵ１２ａは、取得した座標データ及び時刻データに基づいて、表示部１３ｄによるディスプレイ１４の描画の表示タイミングに合わせて座標データの補正処理を行う。
【００１４】
図２は、座標データの補正処理の原理の一例を概略的に示すグラフである。図２のグラフでは、タッチ位置及び描画位置の変化を移動距離により示す。なお、横軸が時間を、縦軸が移動距離を示す。図２に示す場合、比較例ではホスト１３のホストＣＰＵ１３ｂがタ
ッチコントローラ１２のＣＰＵ１２ａから、所定の受信間隔（例えば１０ｍｓ）でＲ１〜Ｒ６に示すタイミングで座標データを受信する。そして、ホストＣＰＵ１３ｂは、データのディスプレイ１４の描画の所定の表示タイミング（例えば１６ｍｓ）Ｔ１〜Ｔ４に合わせて、受信した座標データに基づいて座標を補正する。例えば、ホストＣＰＵ１３ｂが表示タイミングＴ３に合わせて座標を補正する場合、前回の表示タイミングＴ２から表示タイミングＴ３の間の受信タイミングＲ３、Ｒ４において受信した座標データを用いて表示タイミングＴ３の座標を推定し、推定した座標を補正後の座標とする。ここでは、一例として、受信した座標データが示す座標から求まる一次直線により、表示タイミングにおける時刻の座標が補正される。なお、座標を補正するにあたり、線型補間を用いたりタッチ位置の移動の加速度等を加味したりする等、種々の周知の補正手法を採用することができる。
【００１５】
図３は、比較例における情報処理装置１０内の座標演算処理の概略を示す図である。図３に示すように、タッチコントローラ１２は、一定のタイミングでタッチパネルセンサ１１を走査してユーザの指等によるタッチを検出する（Ｓ１、Ｓ２、Ｓ３）。タッチコントローラ１２は、各走査が完了すると検出したタッチ位置に基づいて座標変換を行う（Ｃ１、Ｃ２、Ｃ３）。なお、図３では各走査においてタッチが検出された場合を示す。走査においてタッチが検出されなかった場合は、タッチコントローラ１２は座標変換処理を実行せず、次回の走査まで待機する。
【００１６】
タッチコントローラ１２は、各座標変換処理が完了すると、ホストＣＰＵ１３ｂにタッチ検出があったことを通知する。ホストＣＰＵ１３ｂはタッチ検出があったことの通知を受けると、タッチコントローラ１２に対して変換した座標データを要求する。なお、ホストＣＰＵ１３ｂは、座標データの要求処理を割り込み処理として実行する。そして、タッチコントローラ１２は、ホストＣＰＵ１３ｂからの要求に応じて、変換した座標データをホストＣＰＵ１３ｂに送信する。
【００１７】
図３に示すように、タッチコントローラ１２における座標変換に要する処理時間は、処理ごとに異なる。これは、例えばタッチパネルセンサ１１におけるユーザの指等の接地面積が大きくなるほど演算量も増えることや、いわゆるマルチタッチ等、タッチパネルセンサ１１にタッチする指の数が増えるほど演算量も増えること等に起因する。また、情報処理装置１０において、使用環境の変動、すなわち例えば情報処理装置１０の充電器（図示せず）から発生するノイズの増減や温度等の環境変化による影響の大小等に合わせて実行される補正処理等の処理量にも起因する。図３では、一例として座標変換処理Ｃ２の処理時間が座標変換処理Ｃ１、Ｃ３に比べて長い。
【００１８】
また、図３に示すように、ホストＣＰＵ１３ｂにおける座標補正に要する処理時間も処理ごとに異なる。これは、例えばホストＣＰＵ１３ｂがタッチコントローラ１２に対して座標データの要求処理を実行する際の割り込み応答遅延には、ＣＰＵの動作クロック状況やファイルアクセス等の状況によって処理のばらつきがあることに起因する。また、ホストＣＰＵ１３ｂの上記処理時間が異なる状況は、ホストＣＰＵ１３ｂがタッチコントローラ１２とのデータのやりとりをＩ２Ｃ／ＳＰＩ等のデータバスを使用して行う場合にも生じ得る。例えば、バス上で情報処理装置１０内のセンサやカメラ等の他のデバイス（図示せず）と競合が発生した場合に、ホストＣＰＵ１３ｂがタッチコントローラ１２から座標データを取得する際の通信にかかる時間にばらつきが生じ得る。このようなばらつきにも起因して、ホストＣＰＵ１３ｂの上記処理時間が異なる結果が生じ得る。図３では、一例として座標取得通知処理Ｎ１の処理時間が座標取得通知処理Ｎ２、Ｎ３に比べて長い。
【００１９】
比較例では、座標取得通知処理Ｎ１〜Ｎ３において、タッチコントローラ１２から座標データを受信した時刻を用いて当該座標データが示す座標の補正を行う。また、ホストＣ
ＰＵ１３ｂは座標取得通知処理が完了すると、受信した座標データと受信時刻を示すデータをアプリケーションフレームワークに渡す。アプリケーションフレームワークは、座標データと受信時刻に基づいて座標を補正し、ディスプレイ１４の表示タイミング、すなわち描画更新間隔に合わせて補正した座標を、ディスプレイ１４の描画処理を行うアプリケーションに通知する。
【００２０】
図３に示す例では、アプリケーションフレームワークは、各描画更新間隔においてホストＣＰＵ１３ｂから渡された座標データと受信時刻の各セットを用いて座標の補正処理を行う。Ｕ１〜Ｕ２の描画更新間隔では、タイミングＡ１でアプリケーションフレームワークに渡された座標データと時刻データ、すなわち座標取得通知処理Ｎ１により取得された座標データと受信時刻が座標の補正処理に使用される。また、Ｕ２〜Ｕ３の描画更新間隔では、タイミングＡ２、Ａ３でアプリケーションフレームワークに渡された座標データと時刻データ、すなわち座標取得通知処理Ｎ２、Ｎ３により取得された座標データと受信時刻が座標の補正処理に使用される。
【００２１】
以上のように、比較例では、タッチパネルセンサ１１の走査は一定のタイミングで実行されるものの、座標変換処理Ｃ１〜Ｃ３や座標取得通知処理Ｎ１〜Ｎ３の演算時間にはばらつきがあるため、アプリケーションフレームワークにデータが渡されるタイミングＡ１〜Ａ３は一定間隔とはならず、ばらつきが生じる。
【００２２】
図４には、比較例における実際のタッチ位置と補正された座標との関係の一例を示す図である。図４に示す例では、タイミングｄ１〜ｄ８でタッチコントローラ１２によるタッチパネルセンサ１１のタッチ検出が実行される。ホストＣＰＵ１３ｂがタッチコントローラ１２から座標データを受信したタイミングをｒ１〜ｒ８で示す。タイミングｔ１〜ｔ６でディスプレイ１４の描画更新が実行される。また、タイミングｄ１〜ｄ８で検出されるタッチ位置の座標をａ１〜ａ８とする。タイミングｒ１〜ｒ８でホストＣＰＵ１３ｂが受信した座標をｂ１〜ｂ８とする。タイミングｔ１〜ｔ６で表示される補正後の座標をｃ１〜ｃ６とする。
【００２３】
図４に示すように、タイミングｄ１で検出されたタッチ位置の座標ａ１は、ホストＣＰＵ１３ｂによって、上記の座標取得通知処理においてタイミングｒ１で示される時刻に受信した座標ｂ１として取得される。すなわち、座標ａ１の実際のタッチ検出時刻はタイミングｄ１で示される時刻であるが、ホストＣＰＵ１３ｂは座標ａ１をタイミングｒ１で示される時刻のタッチ位置の座標として、座標と受信時刻のデータをアプリケーションフレームワークに渡す。同様に、タイミングｄ２で検出されたタッチ位置の座標ａ２は、ホストＣＰＵ１３ｂによって、タイミングｒ２で示される時刻に受信した座標ｂ２として取得される。そして、アプリケーションフレームワークは、タイミングｔ１で示される前回の座標補正処理によって補正された座標ｃ１と、描画更新間隔ｔ１〜ｔ２の間にホストＣＰＵ１３ｂから渡された座標ｂ１とタイミングｒ１で示される受信時刻のセットと、座標ｂ２とタイミングｒ２で示される受信時刻のセットとを用いて座標補正処理を行う。図４には、この座標補正処理により補正された座標をｃ２で示す。座標ｃ２はタイミングｔ２における描画更新処理で使用される座標である。
【００２４】
続いて、タイミングｄ３で検出されたタッチ位置の座標ａ３は、ホストＣＰＵ１３ｂによって、タイミングｒ３で示される時刻に受信した座標ｂ３として取得される。そして、アプリケーションフレームワークは、タイミングｔ２で示される前回の座標補正処理によって補正された座標ｃ２と、描画更新間隔ｔ２〜ｔ３の間にホストＣＰＵ１３ｂから渡された座標ｂ３とタイミングｒ３で示される受信時刻のセットとを用いて座標補正処理を行う。図４には、当該座標補正処理により補正された座標をｃ３で示す。アプリケーションフレームワークは、以降も同様に、前回の座標補正処理によって補正された座標と各描画
更新間隔でホストＣＰＵ１３ｂから渡された座標と受信時刻のセットとを用いて座標補正処理を行い、座標ｃ３〜ｃ６を算出する。
【００２５】
図４では、ａ１〜ａ８を結ぶ破線が、タッチパネルセンサ１１における実際のユーザの指等の移動軌跡を示す。そして、ｃ１〜ｃ６を結ぶ実線が、ホスト１３側で補正されてディスプレイ１４に表示される座標の変化を示す。図４からわかるように、座標ａ２〜ａ６が示すユーザの指等によるタッチ位置の移動は略直線的である一方、補正された座標ｃ２〜ｃ５が示す移動は直線性（リニアリティ）が低下し、実際のタッチ位置からのずれも生じている。
【００２６】
〔実施例〕
以下に、一実施形態に係る情報処理装置１００について図面を参照しながら説明する。なお、上記の比較例と同等の構成要素については同一の符号を付し、詳細な説明は省略する。情報処理装置１００としては、静電容量式タッチパネルを搭載したスマートフォンやタブレット端末、デスクトップ型パソコン等が想定される。ただし、本実施形態は、これらに限られず種々の情報端末装置に適用することができる。
【００２７】
図５は、本実施形態に係る情報処理装置１００の概略の構成を示す図である。情報処理装置１００は、タッチパネルセンサ１１、タッチコントローラ１０２、ホスト１３、ディスプレイ１４を備える。さらに、タッチコントローラ１０２は、ＣＰＵ１０２ａ、ＡＦＥ１０２ｂを備え、ＣＰＵ１０２ａはカウンタ１０２ｃを備える。また、ホスト１３は、タイマ１３ａ、ホストＣＰＵ１３ｂ、電源部１３ｃ、表示部１３ｄ、記憶部１３ｅを備え、記憶部１３ｅは、さらにＲＯＭ１３ｆ及びＲＡＭ１３ｇを備える。
【００２８】
ホストＣＰＵ１３ｂとタッチコントローラ１０２は、それぞれタイマ１３ａとカウンタ１０２ｃを用いて独立した計時処理を行っている。本実施形態では、カウンタ１０２ｃは、ＣＰＵ１０２ａの動作クロック等の所定のタイミングでカウントアップされ、ＣＰＵ１０２ａがホストＣＰＵ１３ｂからの時刻同期信号通知を受けるたびにリセットされる。本実施形態では、ホスト１３側のタイマ１３ａは、情報処理装置１００の電源オフ時でも現在時刻の計時を実行するリアルタイムクロック機能を有する。一方、タッチコントローラ１０２のＣＰＵ１０２ａのカウンタ１０２ｃは、タッチコントローラ１０２の消費電力抑制の観点からＣＰＵ１０２ａの動作クロックから分周されたクロック信号を利用する簡易的なタイマ機能を有するものでよい。したがって、カウンタ１０２ｃは、タイマ１３ａに比べて分解能が低く計時精度も低いものであってもよい。
【００２９】
ホストＣＰＵ１３ｂから時刻同期信号をタッチコントローラ１０２に送信する際は、ホスト１３とタッチコントローラ１０２の空きピンを利用して時刻同期のための信号パターンを送信するための伝送路を確保することができる。また、ホスト１３とタッチコントローラ１０２の既存のＩＮＴ端子（割り込み端子）やＸＲＥＳ端子（リセット端子）等に事前定義済みの同期信号パターンを送信することでも上記の時刻同期信号通知を行うことができる。あるいは、ホスト１３とタッチコントローラ１０２との間のＩ２Ｃ／ＳＰＩ等のデータバスを使用して時刻同期信号を送信してもよい。
【００３０】
図６に示すように、本実施形態において情報処理装置１００は、ＲＯＭ１３ｆに記憶されているプログラムがＲＡＭ１３ｇに展開されてホストＣＰＵ１３ｂによって実行されたり、図示しないＲＯＭに記憶されているプログラムが図示しないＲＡＭに展開されてＣＰＵ１０２ａによって実行されたりすることで、座標算出部２１と、同期処理部２２と、座標補正部２３と、描画処理部２４とを備える情報処理装置として機能する。例えば、ホストＣＰＵ１３ｂは、同期処理部２２と、座標補正部２３と、描画処理部２４としてホストＣＰＵ１３ｂ用のプログラムを実行する。また、例えば、ＣＰＵ１０２ａは、座標算出部
２１としてＣＰＵ１０２ａのプログラムを実行する。
【００３１】
座標算出部２１は、タッチパネルセンサ１１により検出されたタッチ位置を座標変換する。また、カウンタ１０２は、タッチパネルセンサ１１によりタッチ位置が検出されたときのカウント値を計数する。なお、カウンタ１０２は、座標算出部２１によりタッチ位置が座標変換されたときのカウント値を計数する構成としてもよい。一方、タイマ１３ａは、座標補正部２３に取得される時刻情報を計時する。同期処理部２２は、カウンタ１０２によるカウント値の計数処理とタイマ１３ａによる時刻情報の計時処理とを同期する。座標補正部２３は、カウンタ１０２により計数された上記のカウント値とタイマ１３ａにより計時された上記の時刻情報を用いて、座標算出部２１により算出された座標を補正する。描画処理部２４は、座標補正部２３により補正された座標を用いて種々の描画処理を行う。
【００３２】
なお、ＣＰＵ１０２ａとホストＣＰＵ１３ｂの処理が以上のような処理の分担に限定されるわけではない。また、座標算出部２１と、同期処理部２２と、座標補正部２３と、描画処理部２４のいずれか１つ以上は、それぞれの処理の少なくとも一部をハードウェア回路で実行するものであってもよい。
【００３３】
図７は、本実施形態における情報処理装置１００が実行する表示制御処理のシーケンス図である。以下の説明において、ステップをＳと略記する。本実施形態では、情報処理装置１００の電源が投入されると図６に示すシーケンスが実行される。まず、ホスト１３の表示部１３ｄによるディスプレイ１４の描画処理が開始される（Ｓ１０１）。また、ホスト１３のホストＣＰＵ１３ｂにより実行されるアプリケーションのアプリケーションフレームワークによって、ホストＣＰＵ１３ｂにＯＳ及びドライバの起動が指示される。ホストＣＰＵ１３ｂは、ＯＳ及びドライバの起動後に、タッチコントローラ１０２に対して起動を指示する信号を送信する。
【００３４】
タッチコントローラ１０２は、ホストＣＰＵ１３ｂから起動指示の信号を受信すると、タッチパネルセンサ１１の走査を開始する（Ｓ１０２）。本実施形態におけるタッチパネルセンサ１１の走査は周知の技術であるため、詳細な説明は省略する。次いで、ホストＣＰＵ１３ｂはタッチコントローラ１０２のＣＰＵ１０２ａと時刻を同期するための時刻同期信号をタッチコントローラ１０２に送信する。そして、ホストＣＰＵ１３ｂはタイマ１３ａをリセットして、タイマ１３ａの計時処理を再開する（Ｓ１０３）。また、タッチコントローラ１０２がホストＣＰＵ１３ｂから時刻同期信号を受信すると、ＣＰＵ１０２ａはカウンタ１０２ｃをリセットして、カウンタ１０２ｃのカウントを再開する（Ｓ１０４）。
【００３５】
このように、本実施形態では、ホストＣＰＵ１３ｂから送信される時刻同期信号をトリガとして、ホスト１３側の計時処理を行うタイマ１３ａとタッチコントローラ１０２側の計時処理を行うカウンタ１０２ｃのリセットが行われるため、タイマ１３ａとカウンタ１０２ｃの計時処理を実質的に同期することができる。なお、時刻同期信号は、Ｓ１０２で走査が開示されてからＳ１０５で走査が完了するまでの間にタイマ１３ａとカウンタ１０２ｃの同期が完了すれば、任意のタイミングで送信される。
【００３６】
タッチコントローラ１０２のＣＰＵ１０２ａは、タッチパネルセンサ１１の走査を完了して検出したタッチ位置の座標変換を行う（Ｓ１０５）。そして、ＣＰＵ１０２ａは、タッチパネルセンサ１１の走査によってユーザの指等によるタッチ操作を検出したことを通知する信号をホストＣＰＵ１３ｂに送信する。また、ＣＰＵ１０２は走査によってタッチ操作を検出したときのカウンタ１０２ｃのカウンタ値を保持する。ホストＣＰＵ１３ｂは、タッチ操作を検出したことを通知する信号を受信すると、当該通知を割り込み通知とし
て扱い、現在実行中のタスクから以下に説明する処理を実行するタスクに切り替える（Ｓ１０６）。
【００３７】
ホストＣＰＵ１３ｂはタスク切り替えの後、タッチコントローラ１０２に座標データとカウンタ値を要求するデータ要求を行う。タッチコントローラ１０２がホストＣＰＵ１３ｂからデータ要求を受信すると、ＣＰＵ１０２ａは、Ｓ１０５において得られた座標データとカウンタ値をホストＣＰＵ１３ｂに転送する（Ｓ１０７）。ホストＣＰＵ１３ｂは、ＣＰＵ１０２ａから座標データとカウンタ値を受信すると、受信した座標データとカウンタ値をアプリケーションフレームワークに渡す。
【００３８】
アプリケーションフレームワークにおいて、ホストＣＰＵ１３ｂから渡された座標データとカウンタ値に対して、アプリケーションフレームワークに含まれるアプリケーションによる座標の補正処理が施される。アプリケーションフレームワーク内のアプリケーションは、表示部１３ｄによるディスプレイ１４の描画更新のタイミングに合わせて座標の補正処理を実行する（Ｓ１０８）。この座標補正処理は、周知の補正係数や補正関数を用いて行う処理であるため、ここでは詳細な説明は省略する。補正後の座標は、アプリケーションフレームワークから表示部１３ｄに送信される。そして、表示部１３ｄはアプリケーションフレームワークから受信した座標を用いてディスプレイ１４の描画処理を実行する（Ｓ１０９）。
【００３９】
上記の通り、タッチコントローラ１０２は、一定のタイミングでタッチパネルセンサ１１の走査処理を実行している。したがって、図６では、タッチコントローラ１０２は、Ｓ１０７においてホストＣＰＵ１０３ｂに対する座標データとカウンタ値のデータ転送を行った後、Ｓ１１０において、Ｓ１０５と同様の走査処理及び座標変換処理を実行する。なお、Ｓ１１０〜Ｓ１１４の処理は、上記のＳ１０５〜Ｓ１０９と同じであるため説明を省略する。
【００４０】
以上のように、本実施形態では、タッチパネルセンサ１１により検出されたタッチ位置の座標をホスト１３側のタイマ１３ａから取得した時間ではなく、タッチコントローラ１０２のＣＰＵ１０２ａのカウンタ１０２ｃが示すカウンタ値に基づいてタッチパネルセンサ１１によるタッチ位置の検出時間が特定される。そして、特定された検出時間とタッチ位置の座標を用いて座標補正処理が実行されることで、タッチコントローラ１０２の座標変換の処理時間のばらつきやホストＣＰＵ１３ｂの座標データ及びカウンタ値の取得や通知の処理時間のばらつきの影響を受けることなく、座標が好適に補正される。
【００４１】
図８に、本実施形態における、タッチパネルセンサ１１の実際のタッチ位置の座標とタッチコントローラ１２によるタッチ検出時の座標とホスト１３による補正後の座標との関係の一例を示す。図８に示す例では、タイミングｄ１１〜ｄ１８でタッチコントローラ１０２によるタッチパネルセンサ１１のタッチ検出が実行される。ホストＣＰＵ１３ｂがタッチコントローラ１０２から座標データを受信したタイミングをｒ１１〜ｒ１８で示す。タイミングｔ１１〜ｔ１６でディスプレイ１４の描画更新が実行される。また、タイミングｄ１１〜ｄ１８で検出されるタッチ位置の座標をａ１１〜ａ１８とする。タイミングｒ１１〜ｒ１８でホストＣＰＵ１３ｂが受信した座標をｂ１１〜ｂ１８とする。タイミングｔ１１〜ｔ１６で表示される補正後の座標をｃ１１〜ｃ１６とする。
【００４２】
図８に示すように、タイミングｄ１１で検出されたタッチ位置の座標ａ１１は、ホストＣＰＵ１３ｂによって、タイミングｒ１１で示される時刻に受信した座標ｂ１１として取得される。同様に、タイミングｄ１２で検出されたタッチ位置の座標ａ１２は、ホストＣＰＵ１３ｂによって、タイミングｒ１２で示される時刻に受信した座標ｂ１２として取得される。
【００４３】
本実施形態では、カウンタ１０２ｃのカウント処理とタイマ１３ａの計時処理との同期が行われている。したがって、カウンタ１０２ｃのカウンタ値がわかれば、カウンタ１０２ｃが当該カウンタ値を示したときのタイマ１３ａの時間もわかる。そこで、ホストＣＰＵ１３ｂは、タッチコントローラ１０２のＣＰＵ１０２ａのカウンタ１０２ｃのカウンタ値に対応するタイマ１３ａの時間を用いて、タッチコントローラ１０２から受信した座標データに含まれる座標を補正する。上記の比較例では、ホストＣＰＵ１３ｂは、タッチコントローラ１０２から座標データを受信したときにタイマ１３ａが示す時間を用いて座標を補正している。しかし、本実施形態では、例えばホストＣＰＵ１３ｂは、タイミングｒ１１で受信したタッチ位置の座標ｂ１１を、タイミングｒ１１においてタイマ１３ａが示す時間における座標ではなく、タイミングｄ１１においてタイマ１３ａが示す時間における座標として座標補正処理を実行することができる。
【００４４】
したがって、本実施形態でも、タイミングｒ１１〜ｒ１８が示すように、上記の通り、タッチコントローラ１０２の座標変換処理やホストＣＰＵ１３ｂの座標取得処理の処理時間のばらつきが生じている。このため、ホストＣＰＵ１３ｂは、一定のタイミングで座標ｂ１１〜ｂ１８をタッチコントローラ１０２から受信することができない。しかし、ホストＣＰＵ１３ｂは、ＣＰＵ１０２ａのカウンタ１０２ｃのカウンタ値を用いて、カウンタ１０２ｃと同期するタイマ１３ａからカウンタ値に対応する時間を特定することで、座標ｂ１１〜ｂ１８をそれぞれ座標ａ１１〜ａ１８とみなすことができる。このため、ホスト１３のアプリケーションフレームワークでは、上記の処理時間のばらつきにかかわらず、タッチパネルセンサ１１においてタッチ検出された時間に基づいて好適に座標が補正される。
【００４５】
図８では、座標ｂ１１及びｂ１２を用いた座標補正処理により補正された座標をｃ１２で示す。座標ｃ１２はタイミングｔ１２における描画更新処理で使用される座標である。続いて、タイミングｄ１３で検出されたタッチ位置の座標ａ１３は、ホストＣＰＵ１３ｂによって、タイミングｄ１３で示される時刻に受信した座標ｂ１３として取得される。そして、ＣＰＵ１３ｂは、カウンタ１０２ｃのカウンタ値に対応する時間をタイマ１３ａが示す時間から特定する。そして、ＣＰＵ１３ｂは、座標ｂ１３と特定した時間とをアプリケーションフレームワークに渡す。アプリケーションフレームワークは、タイミングｔ１２で示される前回の座標補正処理によって補正された座標ｃ１２と、描画更新間隔ｔ１２〜ｔ１３の間にホストＣＰＵ１３ｂから渡された座標ｂ３とＣＰＵ１３ｂにより特定された時間のセットとを用いて座標補正処理を行う。図８には、当該座標補正処理により補正された座標をｃ１３で示す。アプリケーションフレームワークは、以降も同様に、前回の座標補正処理によって補正された座標と各描画更新間隔でホストＣＰＵ１３ｂから渡された座標と特定された時刻のセットとを用いて座標補正処理を行い、座標ｃ１３〜ｃ１６を算出する。
【００４６】
図４と同様、図８でも、ａ１１〜ａ１８を結ぶ破線が、タッチパネルセンサ１１における実際のユーザの指等の移動軌跡を示す。そして、ｃ１１〜ｃ１６を結ぶ実線が、ホスト１３側で補正されてディスプレイ１４に表示される座標の変化を示す。図８からわかるように、座標ａ１２〜ａ１６が示すユーザの指等によるタッチ位置の移動は略直線的である。これは、図４における座標ａ２〜ａ６が示すタッチ位置の移動に対応している。そして、図８に示すように、本実施形態において補正された座標ｃ１２〜ｃ１５は、図４の座標ｃ２〜ｃ５よりも実際のユーザの指の移動軌跡に近接している。すなわち、本実施形態において補正された座標ｃ１２〜ｃ１５が示す移動は、比較例に比べて直線性（リニアリティ）が向上している。そして、このように好適に補正された座標を用いることで、ディスプレイ１４においてタッチ位置を正確に反映した描画処理が可能となり、ユーザのタッチ操作に対する追従性や操作性が向上する。
【００４７】
したがって、本実施形態では、情報処理装置１０における上記の処理に付随して発生する遅延時間が変動しても、遅延時間の変動の影響を抑えつつ、ユーザのタッチ操作に関して環境の変化に関係なく安定した操作感を提供することができる。ここで、上記の処理に付随して発生する遅延時間とは、例えばタッチパネルセンサ１１のＡＣアダプタ（図示せず）に対するノイズ対策、タッチパネルセンサ１１におけるタッチ面積の増加、ＣＰＵ１２ａやホストＣＰＵ１３ｂにおいて定期的に実行される情報処理装置１０の周囲の温度変化に伴う各種パラメータの調整、ホストＣＰＵ１３ｂにおいて上記の処理を割り込み処理として実行する際に生じる処理の遅延時間である。
【００４８】
また、従来では、例えば、ユーザのタッチ操作の追従性を向上させるため、情報処理装置のホストが、未来のタッチ位置の座標を予測し、予測した座標を利用してディスプレイの描画処理を行うこともある。しかし、比較例において示されるように、ホスト側のＣＰＵは、上記の種々の遅延の影響を受けた時間に基づいて座標の補正処理を行う。このため、ユーザが指等を素早く移動する等、タッチ位置が大幅に変化した場合に、実際のタッチ位置から大きく離れた位置に座標が補正される可能性があり、タッチパネルセンサの操作性を損ねかねない。一方、本実施形態では、ホスト側のＣＰＵは、遅延時間の有無や長短に関係なく、実際のタッチ位置が検出された時間を特定して、特定した時間に基づいて座標の補正処理を行うため、未来のタッチ位置の座標を比較例よりも精度よく推定することができる。
【００４９】
以上が本実施形態に関する説明であるが、上記の情報処理装置の構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記の説明では、タッチコントローラ１０２の起動直後にホストＣＰＵ１３ｂが時刻同期信号を１回送信するが、ホストＣＰＵ１３ｂからタッチコントローラ１０２に時刻同期信号を送信するタイミングや送信回数は適宜変更することができる。また、上記の説明では、タッチパネルセンサ１１においてユーザのタッチ操作によるタッチ位置を検出する構成を採用しているが、タッチパネルセンサ１１の代わりにタッチパッド等のタッチ入力式のポインティングデバイスを用いてもよい。
【００５０】
また、図７に示す例では、Ｓ１０１の表示処理からＳ１０９の表示処理までの間、すなわち１つの描画更新間隔の間に、タッチコントローラ１０２からの座標データとカウンタ値の転送はＳ１０７により１回行われる。ただし、仮にＳ１０９の表示処理がない、すなわち描画更新間隔がＳ１０１からＳ１１４までである場合、タッチコントローラ１０２からの座標データとカウンタ値の転送はＳ１０７とＳ１１２により合計２回行われる。この場合、アプリケーションフレームワークは、Ｓ１０７とＳ１１２により転送された座標データとカウンタ値の各セットを組み合わせて補正後の座標を算出して表示部１３ｄに通知する。したがって、タッチパネルセンサ１１の走査タイミングとディスプレイ１４の描画更新タイミングに応じてホスト１３及びタッチコントローラ１０２の座標の補正処理や通知処理のタイミングは適宜変更することができる。
【００５１】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記情報処理装置の設定を行うための管理ツール、ＯＳその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、情報処理装置等である。
【００５２】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等
から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【符号の説明】
【００５３】
１１    タッチパネルセンサ
１３    ホスト
１３ａ    タイマ
１３ｂ    ホストＣＰＵ
１３ｄ    表示部
１４    ディスプレイ
２１    座標算出部
２２    同期処理部
２３    座標補正部
２４    描画処理部
１００    情報処理装置
１０２    タッチコントローラ
１０２ａ    ＣＰＵ
１０２ｃ    カウンタ
【図１】
2015132921.tif 000003
【図２】
2015132921.tif 000004
【図３】
2015132921.tif 000005
【図４】
2015132921.tif 000006
【図５】
2015132921.tif 000007
【図６】
2015132921.tif 000008
【図７】
2015132921.tif 000009
【図８】
2015132921.tif 000010