(57)【要約】【課題】ユーザがタッチパネルをタッチしてからタッチ処理を実行するまでの間のタイムラグを少なくすることができる電子機器を提供する。【解決手段】電子機器のＣＰＵが実行する処理は、タッチパネルに対するタッチ座標を一定時間ごとに検出するステップ（Ｓ１０）と、履歴情報に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、履歴情報の最新のタッチ座標に基づいたタッチ処理を実行し、検出されたタッチ座標を履歴情報として格納するステップ（Ｓ２０）と、履歴情報のタッチ座標に含まれているデータ数が一定数よりも多い場合に、該履歴情報の複数のタッチ座標を平滑化したタッチ座標（平滑座標）に基づいたタッチ処理を実行し、検出されたタッチ座標または平滑座標を履歴情報として格納するステップ（Ｓ４２）とを含む。【選択図】図６
2016045506.tif 000002
【特許請求の範囲】
【請求項１】
電子機器であって、
タッチパネルと、
前記タッチパネルに対するタッチ座標を一定時間ごとに検出するための検出部と、
前記検出部によって一定時間ごとに検出されたタッチ座標を履歴情報として格納するための記憶部と、
前記履歴情報に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、当該履歴情報の最新のタッチ座標に基づいたタッチ処理を実行し、前記履歴情報のタッチ座標に含まれているデータ数が前記一定数よりも多い場合に、当該履歴情報の複数のタッチ座標を平滑化した平滑座標に基づいたタッチ処理を実行するための実行部とを備える、電子機器。
【請求項２】
前記電子機器は、前記最新のタッチ座標と前記平滑座標との間の距離が一定距離よりも離れている場合に、前記平滑座標を、前記最新のタッチ座標と前記平滑座標との間の座標に補正するための補正部をさらに備える、請求項１に記載の電子機器。
【請求項３】
前記平滑座標を算出するための平滑化処理は、前記履歴情報に含まれている時間的に連続するタッチ座標間の差分の平均を前記最新のタッチ座標に加算する処理を含む、請求項１または２に記載の電子機器。
【請求項４】
前記電子機器は、ユーザが前記タッチパネルにタッチしている指を離したことに基づいて、前記履歴情報に含まれているタッチ座標を全て削除するための削除部をさらに備える、請求項１〜３のいずれか１項に記載の電子機器。
【請求項５】
前記電子機器は、前記検出部によって新たなタッチ座標が検出されたときに、当該新たなタッチ座標を前記履歴情報に格納し、前記履歴情報の最古のタッチ座標を削除するための更新部をさらに備える、請求項１〜４のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子機器の制御に関し、特に、タッチパネルを有する電子機器の制御に関する。
【背景技術】
【０００２】
近年、タッチパネルを有するスマートフォンなどの電子機器が普及している。タッチパネルの操作方法の一つに、タッチパネルを押したままの状態で指やペンなどをスライドさせる所謂スライド操作がある。近年では、スライド操作のブレやバラツキを防止するための技術が開発されている。たとえば、特許文献１は、タッチパネルのペン入力による軌跡のバラツキやブレを除き、滑らかな線を表示することを目的とするタッチパネルを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−２７２５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されるタッチパネルは、手書き入力により生じるタッチ座標のバラツキやブレを平均化することにより、手書き入力による線の表示を平滑化する。すなわち、このタッチパネルは、一定個数のタッチ座標の平均値を算出して、平均座標の軌跡をペン入力の線として表示する。そのため、このタッチパネルは、一定個数のタッチ座標が格納されるまでは表示を更新することができない。この結果、ユーザがタッチパネルをタッチしてから表示が更新されるまでの間にタイムラグが生じる。
【０００５】
本開示は上述のような問題点を解決するためになされたものであって、その目的は、ユーザがタッチパネルをタッチしてからタッチ処理が実行されるまでの間のタイムラグを少なくすることが可能な電子機器を提供することである。
【課題を解決するための手段】
【０００６】
一実施の形態に従うと、電子機器は、タッチパネルと、タッチパネルに対するタッチ座標を一定時間ごとに検出するための検出部と、検出部によって一定時間ごとに検出されたタッチ座標を履歴情報として格納するための記憶部と、履歴情報に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、当該履歴情報の最新のタッチ座標に基づいたタッチ処理を実行し、履歴情報のタッチ座標に含まれているデータ数が一定数よりも多い場合に、当該履歴情報の複数のタッチ座標を平滑化した平滑座標に基づいたタッチ処理を実行する。
【発明の効果】
【０００７】
ある局面において、ユーザがタッチパネルをタッチしてからタッチ処理を実行するまでの間のタイムラグを少なくすることができる。
【０００８】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【０００９】
【図１】関連技術に従うスマートフォンと第１の実施の形態に従うスマートフォンとのタッチ座標を検出するタイミングの違いを示す図である。
【図２】第１の実施の形態に従うスマートフォンの主要なハードウェア構成を示すブロック図である。
【図３】第１の実施の形態に従うスマートフォンの機能構成の一例を示すブロック図である。
【図４】更新部によってタッチ座標が履歴情報に順に格納されている様子を示した図である。
【図５】履歴情報に含まれているタッチ座標のデータ数の違いによる、スマートフォンのミドルウェアに通知するタッチ座標の違いを示した図である。
【図６】第１の実施の形態に従うスマートフォンが実行する処理の一部を表わすフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ、本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００１１】
なお、以下では、電子機器の一例であるスマートフォンの詳細について説明するが、電子機器は、スマートフォンに限定されるものではない。たとえば、電子機器は、タブレット端末、デジタルカメラ、電子辞書、ＰＤＡ（Personal  Digital  Assistant）、ゲーム機、その他のタッチパネルを有する装置なども含み得る。また、以下で説明される各実施の形態は、適宜選択的に組み合わされてもよい。
【００１２】
＜第１の実施の形態＞
［概要］
図１は、関連技術に従うスマートフォン５０と第１の実施の形態に従うスマートフォン１００とのタッチ座標を検出するタイミングの違いを示す図である。より具体的には、図１（Ａ）は、関連技術に従うスマートフォン５０のタッチ座標を検出するタイミングを示したタイミングチャートである。図１（Ｂ）は、第１の実施の形態に従うスマートフォン１００のタッチ座標を検出するタイミングを示したタイミングチャートである。
【００１３】
図１に示されるように、スマートフォン５０，１００は、ＣＰＵ（Central  Processing  Unit）２と、タッチパネル１０とを含む。タッチパネル１０は、ユーザによるタッチ操作を受け、ユーザによってタッチされたタッチパネル１０上の位置（以下、「タッチ座標」ともいう。）を検出する。
【００１４】
タッチパネル１０は、タッチセンサ１２と、タッチパネルＩＣ（Integrated  Circuit）１４とを有する。タッチセンサ１２は、タッチパネル１０に対する指などの物体の接触を検出するためのセンサである。この接触を検出する方法としては、たとえば、静電容量方式、抵抗膜方式、その他のタッチパネル１０への接触を検出することが可能な方式が用いられる。タッチセンサ１２が静電容量方式で実現される場合には、タッチセンサ１２は、後述のモニタ１６上に予め定められたパターンで配置された電極を含む。この場合、タッチパネルＩＣ１４は、指などの導電性を有する物体がタッチセンサ１２に触れることによって変化する電極の静電容量の変化を一定時間（たとえば、１ミリ秒）ごとに検出する。
【００１５】
タッチパネルＩＣ１４は、タッチセンサ１２によって一定時間ごとに検出された静電容量の変化に基づいて、指などが接触したタッチパネル１０上のタッチ座標を一定時間ｔ１（たとえば、ｔ１＝１０ミリ秒）ごとに特定する。タッチパネルＩＣ１４は、特定したタッチ座標をＣＰＵ２に順次出力する。ＣＰＵ２は、タッチパネルＩＣ１４によって出力されたタッチ座標を自身の記憶領域に順次格納する。
【００１６】
ここで、図１（Ａ）に示されるように、関連技術に従うスマートフォン５０は、格納されているタッチ座標が一定数（たとえば、３個）を超えると、一定数のタッチ座標を平滑した座標（以下、「平滑座標」ともいう。）に基づいたタッチ処理を実行する。すなわち、スマートフォン５０は、タッチ座標を一定数格納するまではタッチ処理を実行しない。そのため、ユーザがタッチパネル１０をタッチしてからタッチ処理が実行されるまでにタイムラグが生じる（図１（Ａ）の遅延時間Ｔ１参照）。
【００１７】
これに対して、本実施の形態に従うスマートフォン１００は、格納されているタッチ座標が一定数を超えるまでは、最新のタッチ座標に基づいたタッチ処理を実行し、格納されているタッチ座標が一定数を超えた後は、平滑座標に基づいたタッチ処理を実行する。これにより、ユーザがタッチパネル１０をタッチしてからタッチ処理が実行されるまでのタイムラグが少なくなり（図１（Ｂ）の遅延時間Ｔ２参照）、タッチパネル１０の操作性が改善される。
【００１８】
また、スマートフォン１００は、平滑座標に基づいたタッチ処理を実行することで、スライド操作のブレやバラツキを低減することができる。これにより、ユーザは、タッチパネル１０の表示のスクロールなどの操作をスムーズに行なったり、タッチパネル１０に直線などを滑らかに描画したりすることができる。
【００１９】
［ハードウェア構成］
図２を参照して、第１の実施の形態に従うスマートフォン１００のハードウェア構成の一例について説明する。図２は、スマートフォン１００の主要なハードウェア構成を示すブロック図である。図２に示されるように、スマートフォン１００は、ＲＯＭ（Read  Only  Memory）１と、ＣＰＵ２と、ＲＡＭ（Random  Access  Memory）３と、ネットワークインタフェース（Ｉ／Ｆ）５と、タッチパネル１０と、記憶装置２０とを含む。
【００２０】
ＲＯＭ１は、オペレーティングシステム（ＯＳ：Operating  System）、スマートフォン１００で実行される制御プログラムなどを格納する。ＣＰＵ２は、オペレーティングシステムやスマートフォン１００の制御プログラムなどの各種プログラムを実行することで、スマートフォン１００の動作を制御する。ＲＡＭ３は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【００２１】
ネットワークＩ／Ｆ５は、アンテナ５Ａを介して、他の通信機器との間でデータを送受信する。他の通信機器は、たとえば、スマートフォン、パソコン、サーバ装置、通信機能を有するその他の電子機器などを含む。スマートフォン１００は、アンテナ５Ａを介して、本実施の形態に従う各種の処理を実現するためのプログラムをダウンロードできるように構成されてもよい。
【００２２】
タッチパネル１０は、タッチセンサ１２と、タッチパネルＩＣ１４と、モニタ１６とを含む。タッチセンサ１２およびタッチパネルＩＣ１４については上述の通りであるので説明を繰り返さない。モニタ１６は、たとえば、液晶ディスプレイ、有機ＥＬ（Electro  Luminescence）ディスプレイ、またはその他の表示機器などを含む。モニタ１６は、タッチセンサ１２に重ねられて設けられる。これにより、タッチパネル１０は、モニタ１６に対するタッチ座標を検出することができる。
【００２３】
記憶装置２０は、たとえば、ｅＭＭＣ（Embedded  MultiMediaCard）などの記憶媒体を含む。ｅＭＭＣは、ＮＡＮＤフラッシュメモリと、制御回路とを含む。記憶装置２０は、本実施の形態に従う各種の処理を実現するためのプログラムなどを格納する。
【００２４】
なお、本実施の形態に従う各種の処理を実現するためのプログラムは、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うスマートフォン１００の趣旨を逸脱するものではない。さらに、本実施の形態に従うプログラムによって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、サーバ装置側が全ての機能を実行する必要はなく、スマートフォン１００とサーバ装置とが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも１つのサーバ装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態でスマートフォン１００が構成されてもよい。
【００２５】
［機能構成］
図３を参照して、スマートフォン１００の機能について説明する。図３は、スマートフォン１００の機能構成の一例を示すブロック図である。図３に示されるように、スマートフォン１００のＣＰＵ２は、記憶領域６０と、更新部１１０と、削除部１２０と、算出部１３０と、補正部１４０と、実行部１５０とを含む。
【００２６】
記憶領域６０は、ＣＰＵ２の内部構成であり、キャシュメモリやレジスタによって構成される。記憶領域６０は、タッチパネルＩＣ１４（図１参照）によって一定時間ごとに検出されたタッチ座標を履歴情報２４として格納する。
【００２７】
更新部１１０は、履歴情報２４に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、タッチパネルＩＣ１４によって検出された新たなタッチ座標を履歴情報２４に順次格納する。また、更新部１１０は、履歴情報２４に含まれているタッチ座標のデータ数が一定数よりも多い場合において、タッチパネルＩＣ１４によって新たなタッチ座標が検出されたときに、新たなタッチ座標を履歴情報２４に格納するとともに、履歴情報２４に含まれている最古のタッチ座標を削除する。これにより、ユーザがタッチパネル１０をタッチしている間は、更新部１１０によって履歴情報２４が更新されるため、履歴情報２４には、ユーザによるスライド操作の一連の軌跡が格納される。
【００２８】
削除部１２０は、ユーザがタッチパネル１０にタッチしている指を離したことに基づいて履歴情報２４に含まれているタッチ座標を全て削除する。
【００２９】
算出部１３０は、履歴情報２４に含まれているデータ数が一定数よりも多くなった場合に、履歴情報２４に含まれているタッチ座標を平滑化する。算出部１３０による平滑化処理の詳細については後述する。
【００３０】
補正部１４０は、算出部１３０によって算出された平滑座標と最新のタッチ座標との間の距離が一定距離離れている場合に、最新のタッチ座標に近付けるように平滑座標を補正する。補正部１４０による補正処理の詳細については後述する。
【００３１】
実行部１５０は、履歴情報２４に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、履歴情報２４の最新のタッチ座標に基づいたタッチ処理を実行する。また、実行部１５０は、履歴情報２４のタッチ座標に含まれているデータ数が一定数よりも多い場合に、履歴情報２４の複数のタッチ座標を平滑化したタッチ座標（すなわち、平滑座標）に基づいたタッチ処理を実行する。
【００３２】
なお、上記では、履歴情報２４がＣＰＵ２の記憶領域６０に格納されている例について説明を行なったが、履歴情報２４は、ＲＯＭ１（図２参照）、ＲＡＭ３（図２参照）、記憶装置２０（図２参照）、ＵＳＢメモリなどの外部記憶装置、あるいは、その他の記憶装置に格納されてもよい。また、図３に示される機能構成の一部または全部は、ＣＰＵ２ではなく、タッチパネルＩＣ１４に実装されてもよい。
【００３３】
［履歴情報２４の更新処理（更新部１１０の詳細）］
図４を参照して、更新部１１０（図３参照）による履歴情報２４による更新処理について説明する。図４は、更新部１１０によってタッチ座標が履歴情報２４に順に格納されている様子を示した図である。なお、以下では、説明を簡単にするためにタッチ座標が２次元の座標値ではなく、１次元の座標値であるものとして説明を行なうが、タッチ座標は、２次元の座標値で示されてもよい。
【００３４】
更新部１１０は、タッチパネルＩＣ１４（図１参照）によってタッチ座標が検出される度に、タッチ座標を履歴情報２４に格納する。履歴情報２４は、キュー構造を有し、たとえば、５点のタッチ座標を格納することができる（図４のｈｉｓｔｏｒｙ［０］〜［４］）。履歴情報２４に５点のタッチ座標が格納されるまでは、更新部１１０は、新たなタッチ座標を履歴情報２４に順に格納する。履歴情報２４に５点のタッチ座標が格納された後は、更新部１１０は、履歴情報２４に含まれるうちの最古のタッチ座標を削除し、最新のタッチ座標を履歴情報２４に格納する。つまり、更新部１１０は、所謂ＦＩＦＯ（First-In  First-Out）によって履歴情報２４を管理する。
【００３５】
より具体的な更新処理の例として、履歴情報２４にタッチ座標が格納されていない状態で、タッチパネルＩＣ１４（図１参照）によって１点目のタッチ座標「１００」が検出されたとする。この場合、図４（Ａ）に示されるように、更新部１１０は、タッチ座標「１００」を履歴情報２４のｈｉｓｔｏｒｙ［０］に格納する。
【００３６】
次に、図４（Ｂ）に示されるように、ユーザがタッチパネル１０上をスライド操作することにより、タッチパネルＩＣ１４は、２点目のタッチ座標「１２０」、３点目のタッチ座標「１４０」、４点目のタッチ座標「２００」を順に検出したとする。更新部１１０は、２点目のタッチ座標「１２０」を履歴情報２４のｈｉｓｔｏｒｙ［１］に、３点目のタッチ座標「１４０」を履歴情報２４のｈｉｓｔｏｒｙ［２］に、４点目のタッチ座標「２００」を履歴情報２４のｈｉｓｔｏｒｙ［３］に順に格納する。
【００３７】
続いて、図４（Ｃ）に示されるように、ユーザがタッチパネル１０上をスライド操作することにより、タッチパネルＩＣ１４は、５点目のタッチ座標「２１０」を検出したとする。更新部１１０は、５点目のタッチ座標「２１０」を履歴情報２４のｈｉｓｔｏｒｙ［４］に格納する。
【００３８】
続いて、図４（Ｄ）に示されるように、ユーザがタッチパネル１０上をスライド操作することにより、タッチパネルＩＣ１４は、６点目のタッチ座標「２５０」、７点目のタッチ座標「３００」を順に検出したとする。６点目のタッチ座標が検出された時点で履歴情報２４が埋まっているため、更新部１１０は、履歴情報２４の最古のタッチ座標である１点目のタッチ座標「１００」を削除するとともに、新たな６点目のタッチ座標「２５０」を履歴情報２４に格納する。次に、更新部１１０は、履歴情報２４の最古のタッチ座標である２点目のタッチ座標「１２０」を削除するとともに、新たな７点目のタッチ座標「２５０」を履歴情報２４に格納する。
【００３９】
このように、更新部１１０によって履歴情報２４が管理されることにより、履歴情報２４には、一連のスライド操作の軌跡が格納される。なお、履歴情報２４が保持することが可能なタッチ座標は、５点分に限られない。履歴情報２４は、２点以上のタッチ座標を格納できるように構成されればよい。
【００４０】
［通知座標］
図５を参照して、ミドルウェアに通知する座標の詳細について説明する。図５は、履歴情報２４のタッチ座標数の違いによる、スマートフォン１００のミドルウェアに通知するタッチ座標の違いを示した図である。本実施の形態でいうミドルウェアとは、タッチパネル１０を利用したアプリケーションに共通する機能や処理を提供するソフトウェアであり、オペレーティングシステム（ＯＳ）上で動作するものである。ＣＰＵ２がミドルウェアにタッチ座標を通知することで、スマートフォン１００のミドルウェアは、通知されたタッチ座標（以下、「通知座標」ともいう。）に基づいたタッチ処理を実行する。
【００４１】
通知座標を決定するための処理は、履歴情報２４に含まれているタッチ座標のデータ数に応じて変わる。より具体的には、図５（Ａ）および図５（Ｂ）に示されるように、履歴情報２４に含まれているタッチ座標のデータ数が一定数よりも少ない場合には、通知座標は、履歴情報２４に含まれている最新のタッチ座標となる。すなわち、スマートフォン１００は、履歴情報２４のデータ数が一定数よりも少ない場合には、履歴情報２４の最新のタッチ座標に基づいたタッチ処理を実行する。
【００４２】
一方、図５（Ｃ）に示されるように、履歴情報２４に含まれているタッチ座標のデータ数が一定数よりも多い場合には、通知座標は、履歴情報２４に含まれているタッチ座標を平滑化した座標（すなわち、平滑座標）となる。すなわち、スマートフォン１００は、履歴情報２４のデータ数が一定数よりも多い場合には、平滑座標に基づいたタッチ処理を実行する。
【００４３】
［平滑化処理（算出部１３０の詳細）］
引き続き図５を参照して、算出部１３０（図３参照）による平滑化処理について説明する。算出部１３０は、履歴情報２４に含まれているタッチ座標のデータ数が一定数よりも多い場合には、履歴情報２４に新たなタッチ座標が格納される度に平滑座標を算出する。これにより、ユーザがスライド操作を行なっている間は、平滑座標に基づいたタッチ処理が実行される。
【００４４】
算出部１３０が平滑座標を算出する方法としては様々な方法がある。たとえば、算出部１３０は、履歴情報２４に含まれている時間的に連続するタッチ座標間の差分の平均を最新のタッチ座標に加算することにより平滑座標を算出する。すなわち、算出部１３０は、履歴情報２４に含まれている各タッチ座標の時間的な変化量の平均値を最新のタッチ座標に加算することによって平滑座標を算出する。
【００４５】
より具体的な例として、図５（Ｃ）に示されるように、算出部１３０は、まず、１，２点目のタッチ座標の差「２０」（＝１２０−１００）と、２，３点目のタッチ座標の差「２０」（＝１４０−１２０）と、３，４点目のタッチ座標の差「６０」（＝２００−１４０）と、４，５点目のタッチ座標の差「１０」（＝２１０−２００）とを算出する。算出部１３０は、これらの差の平均値「２７」（＝（２０＋２０＋６０＋１０）／４）を最新のタッチ座標である５点目のタッチ座標「２１０」に加算して、平滑座標「２３７」を算出する。算出された平滑座標「２３７」は、ミドルウェアに通知され、スマートフォン１００は、タッチパネル１０上の座標「２３７」に基づいたタッチ処理を実行する。
【００４６】
他の局面において、算出部１３０は、履歴情報２４に含まれている最新のタッチ座標と最古のタッチ座標との差を履歴情報２４のデータ数で除算した値を、最新のタッチ座標に加算することにより平滑座標を算出してもよい。より具体的な例として、履歴情報２４が図５（Ｃ）に示される状態にあるとき、算出部１３０は、まず、最新のタッチ座標である５点目のタッチ座標「２１０」と、最古のタッチ座標である１点目のタッチ座標「１１０」との差を算出する。次に、算出部１３０は、算出した差「１００」（＝２１０−１１０）を履歴情報２４のデータ数「５」で割った値を最新のタッチ座標「２１０」に加算して、平滑座標「２３０」（＝２１０＋１００／５）を算出する。あるいは、算出部１３０は、除算時に、データ数「５」ではなく、データ数「５」から「１」を引いた「４」で除算を行なってもよい。
【００４７】
さらに他の局面において、算出部１３０は、履歴情報２４に含まれているタッチ座標の移動平均を算出してもよい。すなわち、算出部１３０は、タッチ座標が検出される度に、履歴情報２４のタッチ座標を平均した平滑座標を算出する。
【００４８】
［補正処理（補正部１４０の詳細）］
引き続き図５を参照して、補正部１４０（図３参照）による補正処理について説明する。ユーザがタッチパネルから指を離して、新たな位置からスライド操作を行なう場合、指を離す前のタッチ座標の履歴が履歴情報２４に残る。前のスライド操作によるタッチ座標の履歴が残ったままで平滑化処理が行われると、前のスライド操作と新たなスライド操作とが一連の操作として検出されてしまう。これにより、前のスライド操作の終了点から新たなスライド操作の開始点までの間に偽の軌跡が生じる。
【００４９】
このような平滑化による偽の軌跡が生じることを解消するために、補正部１４０は、最新のタッチ座標と平滑座標との間の距離が一定距離よりも離れている場合に、平滑座標を、最新のタッチ座標と平滑座標との間の座標に補正する。すなわち、補正部１４０は、平滑座標に一定値（たとえば、３０ドット）を加算または減算することにより、平滑座標を最新のタッチ座標に近付けるように補正する。スマートフォン１００は、補正座標に基づいたタッチ処理を実行する。
【００５０】
履歴情報２４に含まれているタッチ座標の履歴が図５（Ｄ）に示されるような状態にあるものとして、補正処理の具体例について説明する。この場合、上述のように、各タッチ座標の時間的な変化量に基づいた平滑化処理が実行されると、平滑化座標は、最新のタッチ座標「３００」に増分平均「４０」を加算した「３４０」となる。補正部１４０は、平滑化座標「３４０」と最新のタッチ座標「３００」との間の距離が一定距離（たとえば、３０）を超えている場合には、平滑化座標「３４０」を、最新のタッチ座標「３００」と平滑化座標「３４０」との間の位置に補正する。たとえば、補正部１４０は、最新のタッチ座標「３００」から一定値（たとえば、３０ドット）を加算した座標「３３０」を補正座標として出力する。スマートフォン１００は、補正座標「３３０」に基づいたタッチ処理を実行する。
【００５１】
［制御構造］
図６を参照して、スマートフォン１００の制御構造について説明する。図６は、スマートフォン１００が実行する処理の一部を表わすフローチャートである。図６の処理は、スマートフォン１００のＣＰＵ２がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、タッチパネルＩＣ１４（図１参照）、回路素子、その他のハードウェアによって実行されてもよい。
【００５２】
ステップＳ１０において、ＣＰＵ２は、タッチパネルＩＣ１４によってタッチ座標が検出されると、このタッチ座標をタッチパネルＩＣ１４から取得する。ステップＳ１２において、ＣＰＵ２は、削除部１２０として、ユーザがタッチパネル１０から指を離した操作（すなわち、タッチアップ）を検出したか否かを判断する。たとえば、ＣＰＵ２は、タッチパネルＩＣ１４によってタッチアップを検出する。ＣＰＵ２は、タッチアップを検出した場合に（ステップＳ１２においてＹＥＳ）、制御をステップＳ１４に切り替える。そうでない場合には（ステップＳ１２においてＮＯ）、ＣＰＵ２は、制御をステップＳ２０に切り替える。
【００５３】
ステップＳ１４において、ＣＰＵ２は、削除部１２０として、履歴情報２４のタッチ座標の履歴を削除することにより履歴情報２４を初期化する。ステップＳ２０において、ＣＰＵ２は、履歴情報２４にタッチ座標が一定数（たとえば、５点）以上格納されているか否かを判断する。ＣＰＵ２は、履歴情報２４にタッチ座標が一定数以上格納されていると判断した場合に（ステップＳ２０においてＹＥＳ）、制御をステップＳ４０に切り替える。そうでない場合には（ステップＳ２０においてＮＯ）、ＣＰＵ２は、制御をステップＳ３０に切り替える。
【００５４】
ステップＳ３０において、ＣＰＵ２は、更新部１１０として、新たなタッチ座標を履歴情報２４に格納する。また、ＣＰＵ２は、実行部１５０として、新たなタッチ座標に基づいたタッチ処理を実行する。
【００５５】
ステップＳ４０において、ＣＰＵ２は、算出部１３０として、履歴情報２４に含まれているタッチ座標を用いて平滑座標を算出する。平滑化処理については上述の通りであるので説明を繰り返さない。
【００５６】
ステップＳ４２において、ＣＰＵ２は、補正部１４０として、履歴情報２４に含まれている最新のタッチ座標と平滑座標との間の距離が一定距離よりも離れているか否かを判断する。ＣＰＵ２は、最新のタッチ座標と平滑座標との間の距離が一定距離よりも離れていると判断した場合に（ステップＳ４２においてＹＥＳ）、制御をステップＳ６０に切り替える。そうでない場合には（ステップＳ４２においてＮＯ）、ＣＰＵ２は、制御をステップＳ５０に切り替える。
【００５７】
ステップＳ５０において、ＣＰＵ２は、実行部１５０として、平滑座標に基づいたタッチ処理を実行する。また、ＣＰＵ２は、更新部１１０として、平滑座標を履歴情報２４に格納する。あるいは、ＣＰＵ２は、平滑座標の代わりに、ステップＳ１０において検出された新たなタッチ座標を履歴情報２４に格納してもよい。
【００５８】
ステップＳ６０において、ＣＰＵ２は、補正部１４０として、平滑座標を補正する。平滑座標の補正処理については上述の通りであるので説明を繰り返さない。ステップＳ６２において、ＣＰＵ２は、実行部１５０として、補正座標に基づいたタッチ処理を実行する。また、ＣＰＵ２は、更新部１１０として、補正座標を履歴情報２４に格納する。あるいは、ＣＰＵ２は、補正座標の代わりに、ステップＳ１０において検出された新たなタッチ座標を履歴情報２４に格納してもよい。
【００５９】
［小括］
以上のようにして、本実施の形態に従うスマートフォン１００は、履歴情報２４に格納されているタッチ座標が一定数を超えるまでは、履歴情報２４の最新のタッチ座標に基づいたタッチ処理を実行し、格納されているタッチ座標が一定数を超えた後は、平滑座標に基づいたタッチ処理を実行する。これにより、ユーザがタッチパネル１０をタッチしてからタッチ処理が実行されるまでのタイムラグが少なくなり、タッチパネル１０の操作性が改善される。
【００６０】
また、タッチ座標が一定数を超えた後は、スマートフォン１００は、平滑座標に基づいたタッチ処理を実行するので、スライド操作のブレやバラツキを低減することができる。これにより、ユーザは、タッチパネル１０の表示のスクロールなどの操作をスムーズに行なったり、タッチパネル１０に直線などを滑らかに描画したりすることができる。
【００６１】
＜第２の実施の形態＞
第１の実施の形態に従うスマートフォン１００は、履歴情報２４のタッチ座標が一定数を超えた後は、平滑化処理を必ず行っていた。これに対して、第２の実施の形態に従うスマートフォン１００Ａは、履歴情報２４のタッチ座標が一定数を超えた場合であっても、履歴情報２４に含まれている最新のタッチ座標と２番目に新しいタッチ座標との間の距離が一定距離よりも短いときには、平滑化処理を行なわない。すなわち、スマートフォン１００Ａは、最新のタッチ座標と２番目に新しいタッチ座標との間で変化がないときには、タッチパネル１０にタッチしている指が移動していないものと判断する。この場合、スマートフォン１００は、直前に算出された平滑座標に基づいたタッチ処理を実行する。これにより、スマートフォン１００は、ユーザがタッチパネル１０上で指を移動していない場合に、平滑化処理にかかる時間を削減することができる。
【００６２】
なお、スマートフォン１００Ａのハードウェア構成などその他の点については第１の実施の形態に従うスマートフォン１００と同じであるので、それらの説明は繰り返さない。
【００６３】
＜第３の実施の形態＞
第１の実施の形態に従うスマートフォン１００は、１本の指によるスライド操作を検出対象としていた。これに対して、第３の実施の形態に従うスマートフォン１００Ｂは、２本以上の指のそれぞれによるスライド操作を検出対象とする。なお、スマートフォン１００Ｂのハードウェア構成などその他の点については第１の実施の形態に従うスマートフォン１００と同じであるので、それらの説明は繰り返さない。
【００６４】
スマートフォン１００Ｂは、複数の履歴情報２４を有し、タッチパネルＩＣ１４によって複数のタッチ座標が同時に検出された場合に、検出された複数のタッチ座標のそれぞれを互いに異なる履歴情報２４に格納する。これにより、各指の一連のスライド操作の軌跡が対応する履歴情報２４に格納される。
【００６５】
続いて、スマートフォン１００Ｂは、複数の履歴情報２４（たとえば、第１の履歴情報および第２の履歴情報）のそれぞれを参照してタッチ処理を実行する。より具体的には、スマートフォン１００Ｂは、第１の履歴情報に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、第１の履歴情報の最新のタッチ座標に基づいたタッチ処理を実行し、第１の履歴情報のタッチ座標に含まれているデータ数が一定数よりも多い場合に、第１の履歴情報の複数のタッチ座標を平滑化した平滑座標に基づいたタッチ処理を実行する。同時に、スマートフォン１００Ｂは、第２の履歴情報に含まれているタッチ座標のデータ数が一定数よりも少ない場合に、第２の履歴情報の最新のタッチ座標に基づいたタッチ処理を実行し、第２の履歴情報のタッチ座標に含まれているデータ数が一定数よりも多い場合に、第２の履歴情報の複数のタッチ座標を平滑化した平滑座標に基づいたタッチ処理を実行する。
【００６６】
これにより、スマートフォン１００Ｂは、ピンチアウトによる拡大表示や、ピンチインによる縮小表示などのブレやバラツキを低減することができ、操作性を向上させることができる。
【００６７】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００６８】
１  ＲＯＭ、２  ＣＰＵ、３  ＲＡＭ、５  ネットワークＩ／Ｆ、５Ａ  アンテナ、１０  タッチパネル、１２  タッチセンサ、１４  タッチパネルＩＣ、１６  モニタ、２０  記憶装置、２４  履歴情報、５０，１００  スマートフォン、６０  記憶領域、１１０  更新部、１２０  削除部、１３０  算出部、１４０  補正部、１５０  実行部。
【図１】
2016045506.tif 000003
【図２】
2016045506.tif 000004
【図３】
2016045506.tif 000005
【図４】
2016045506.tif 000006
【図５】
2016045506.tif 000007
【図６】
2016045506.tif 000008