(57)【要約】【課題】  静電容量式タッチセンサのセンサ領域端部における位置精度を改善する。【解決手段】  タッチパネル１０２は、縦方向と横方の２次元に配置され、ユーザのタッチ入力により容量が変化する複数のセンサを具備する。タッチセンサドライバ回路１０５は、タッチパネル１０２の各センサによる容量を検出する。タッチパネル１０２のセンサ領域は、周縁の端部域とこれ以外の中央域に区分される。ＣＰＵ１１２は、タッチセンサドライバ回路１０５が検出する検出容量が前記端部域で最大になる場合で、その最大検出容量に反端部側で隣接する検出容量が基準容量よりも小さいとき、タッチ入力の位置座標をセンサ領域の端部側で算出する。他方、最大検出容量に反端部側で隣接する検出容量が基準容量以上のとき、ＣＰＵ１１２は、タッチ入力の位置座標をセンサ領域の反端部側で算出する。【選択図】  図１
2016224834.tif 000002
【特許請求の範囲】
【請求項１】
タッチ操作により容量が変化する複数のセンサが配置されたタッチパネルと、
前記複数のセンサのうち、外側から所定数分のセンサの何れかで検出容量が最大となり、当該最大の検出容量を検出したセンサに前記タッチパネルの内側方向で隣接するセンサでの検出容量が基準容量よりも小さい場合、当該検出容量を発生させているタッチ操作の位置座標を、当該タッチ操作が発生させている複数のセンサでの検出容量の重心よりも前記タッチパネルの外側方向となるように算出する算出手段と
を有することを特徴とする電子機器。
【請求項２】
前記算出手段により算出された位置座標に応じた処理を実行するように制御する制御手段を更に有することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記算出手段は、前記複数のセンサのうち、外側から前記所定数分のセンサよりも内側に配置されたセンサの何れかで検出容量が最大となった場合、当該検出容量を発生させているタッチ操作の位置座標を、当該タッチ操作が発生させている複数のセンサでの検出容量の重心となるように算出することを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記算出手段は、前記複数のセンサのうち、外側から前記所定数分のセンサの何れかで検出容量が最大となり、当該最大の検出容量を検出したセンサに前記タッチパネルの内側方向で隣接するセンサでの検出容量が前記基準容量以上である場合、当該検出容量を発生させているタッチ操作の位置座標を、当該タッチ操作が発生させている複数のセンサでの検出容量の重心よりも前記タッチパネルの内側方向となるように算出することを特徴とする請求項１乃至３の何れか1項に記載の電子機器。
【請求項５】
前記複数のセンサのうち、外側から所定数分のセンサの何れかである第１のセンサでの検出容量が最大となり、前記第１のセンサに前記タッチパネルの内側方向で隣接する第２のセンサでの検出容量が前記基準容量よりも小さい場合、前記第１センサよりも前記タッチパネルの外側方向に仮想センサを設定し、前記仮想センサの仮想容量を、前記第２のセンサの検出容量と前記基準容量とから決定し、前記第１のセンサの検出容量、前記第２のセンサの検出容量、及び前記仮想容量を用いて前記位置座標を算出することを特徴とする請求項1乃至４の何れか1項に記載の電子機器。
【請求項６】
前記所定数は１であることを特徴とする請求項１乃至５の何れか1項に記載の電子機器。
【請求項７】
前記タッチ操作の前記タッチパネルに対する接触面積の大きさを判定する判定手段と、
前記判定手段で判定される前記接触面の大きに応じた数に前記所定数を設定する設定手段と
を更に有することを特徴とする請求項１乃至５の何れか１項に記載の電子機器。
【請求項８】
前記複数のセンサは二次元的に配置されることを特徴とする請求項１乃至７の何れか１項に記載の電子機器。
【請求項９】
タッチ操作により容量が変化する複数のセンサが配置されたタッチパネルを有する電子機器の制御方法であって、
前記複数のセンサのうち、外側から所定数分のセンサの何れかで検出容量が最大となり、当該最大の検出容量を検出したセンサに前記タッチパネルの内側方向で隣接するセンサでの検出容量が基準容量よりも小さい場合、当該検出容量を発生させているタッチ操作の位置座標を、当該タッチ操作が発生させている複数のセンサでの検出容量の重心よりも前記タッチパネルの外側方向となるように算出する算出ステップを有することを特徴とする電子機器の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載された電子機器の各手段として機能させるためのプログラム。
【請求項１１】
コンピュータを、請求項１乃至８のいずれか１項に記載された電子機器の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、その制御方法に関し、より具体的には、静電容量式タッチパネルを具備する電子機器、その制御方法及びプログラム並びに記憶媒体に関する。
【背景技術】
【０００２】
近年、スマートフォンやデジタルカメラなど、指などのタッチ操作を二次元的に検出できるタッチパネルを備えた電子機器が増えている。タッチパネルには、感圧式、静電容量式及び光学式など様々な種類があるが、いずれの方式もタッチセンサ出力値を所定の閾値と比較することでタッチ入力の有無を判定する。タッチ入力有判定時に、タッチパネルは、タッチ位置座標を１又は複数のタッチセンサ出力値から決定する。
【０００３】
静電容量式タッチパネルは、タッチセンサ出力である容量値又はその変化量を所定の閾値と比較することで、タッチ操作を検出する。この容量値はタッチ入力の接触面積に応じて変化する。通常、タッチ位置の決定には、隣接する複数のセンサの検出容量値を使用する。ただし、タッチパネルのセンサ領域端部では一方の隣接センサが存在しないので、タッチ操作がセンサ領域外への接触を含む場合、算出されたタッチ位置座標がユーザの意図したタッチ位置とずれてしまい、タッチ位置精度が低下するという問題がある。
【０００４】
このような課題に対して、特許文献１には、センサ領域端部へのタッチ時には、操作領域の反対側の端部センサを存在しない一方の隣接センサの代替として選択し、タッチ位置座標を算出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２０９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された従来技術では、センサ領域端部へのタッチに対して、高精度なタッチ位置算出を実現できない。センサ領域端部へのタッチでは、センサ出力値はユーザの触り方に依存せず、ほぼ一定である。そのため、例えば端部センサ上の端部側、中央又は反端部側といった端部タッチ箇所の細かな差異に対してもタッチ位置座標算出への寄与率は変わらず、タッチ位置座標算出結果は同じとなる。すなわち、タッチ箇所の相違を反映する精度を実現できない。
【０００７】
そこで、本発明は、このような不都合を解消する電子機器、その制御方法及びプログラム並びに記憶媒体を提示することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る電子機器は、
タッチ操作により容量が変化する複数のセンサが配置されたタッチパネルと、
前記複数のセンサのうち、外側から所定数分のセンサの何れかで検出容量が最大となり、当該最大の検出容量を検出したセンサに前記タッチパネルの内側方向で隣接するセンサでの検出容量が基準容量よりも小さい場合、当該検出容量を発生させているタッチ操作の位置座標を、当該タッチ操作が発生させている複数のセンサでの検出容量の重心よりも前記タッチパネルの外側方向となるように算出する算出手段と
を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、静電容量式タッチパネルのセンサ領域の端部におけるタッチ位置座標算出精度を改善できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１の概略構成ブロック図である。
【図２Ａ】静電容量式タッチパネルのタッチ位置と検出容量の対応例１である。
【図２Ｂ】静電容量式タッチパネルのタッチ位置と検出容量の対応例２である。
【図２Ｃ】静電容量式タッチパネルのタッチ位置と検出容量の対応例３である。
【図３】本発明の実施例１におけるタッチ位置座標算出のフローチャートである。
【図４】本発明の実施例２における仮想センサとその容量の説明図である。
【図５】仮想センサを使ったタッチ位置座標算出のフローチャートである。
【図６Ａ】実施例３におけるタッチ入力大きさと端部域のサイズとの関係例１を示す模式図である。
【図６Ｂ】実施例３におけるタッチ入力大きさと端部域のサイズとの関係例２を示す模式図である。
【図６Ｃ】実施例３におけるタッチ入力大きさと端部域のサイズとの関係例３を示す模式図である。
【図７】実施例３におけるタッチ位置座標算出のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明に係る静電容量式タッチパネルの一実施例を装備した電子機器の概略構成ブロック図を示す。
【００１３】
図１に示す電子機器１００において、内部バス１０１に、ＣＰＵ１１２、ハードディスク（ＨＤ）１１３、メモリ１１４、入力部１１５、表示制御部１１６、ドライブ装置１１８および通信Ｉ／Ｆ１２０が接続される。内部バス１０１に接続される各部は、内部バス１０１を介して互いにデータのやりとりを行うことができるようにされている。
【００１４】
静電容量式タッチパネル１０２は、指またはスタイラスペンなどの導電体１０３による、所定距離以内の接近又はタッチ操作により導電体１０３との間に容量１０４を発生させ、タッチ操作の二次元位置を感知する装置（操作部材）である。
【００１５】
タッチセンサドライバ回路１０５は、タッチ検出部１０６、座標算出部１０８タッチ入力大きさ判定部１１０及びセンサ領域判定部１１１から構成される。タッチ検出部１０６は、導電体１０３との間の容量１０４をタッチ検出閾値１０７と比較することで、タッチ操作の有無を検出する。なお、タッチ検出閾値１０７は、静電容量式タッチパネル１０２のキャリブレーション（校正）に応じて設定される変数である。静電容量式タッチパネル１０２は、周辺環境や経年変化などにより、指またはスタイラスペンなどの導電体１０３が近付いていない場合にも静電容量を検出する。従って、静電容量式タッチパネル１０２は、起動時や所定時間ごとなど、しばしばキャリブレーション処理を行い、指またはスタイラスペンなどの導電体１０３が近付いていない場合の容量を基準値として設定する必要がある。タッチ検出閾値１０７は、このようにキャリブレーションで決まる基準値に対して設定されるものである。すなわち、タッチ検出閾値１０７は、検出容量の変化量（基準値からの変化量）の閾値である。容量に関する各閾値も、同様に、検出容量の変化量の閾値である。容量に関する各基準値も、キャリブレーションに応じて設定される。なお、タッチ検出閾値１０７等の各閾値を、基準値からの変化量の閾値ではなく、固定の容量値を示す値としても良い。座標算出部１０８は、各センサ（電極）の容量１０４から例えば重心１０９を算出してタッチ位置座標を算出する。具体的には、タッチ時におけるタッチパネル１０２の発生容量ｃ１〜ｃｍ（ｍ：一軸上のセンサ数）に対し、以下の式のように重みｐ１〜ｐｍを設定し、重み付け計算を行い、重心１０９を算出する。即ち、
【数１】
2016224834.tif 000003
なお、タッチパネル１０２のセンサ配置（電極配置）が二次元以上の場合、座標算出部１０８は、軸毎に個別に重心１０９を算出する。タッチ入力大きさ判定部１１０は、タッチパネル１０２における検出容量１０４の分布から導電体１０３の大きさを判定する。センサ領域判定部１１１は、座標算出部１０８及びタッチ入力大きさ判定部１１０の出力からタッチ位置がタッチパネル１０２のセンサ領域の端部であるか否かを判定する。
【００１６】
ハードディスク１１３は、画像データ、その他のデータ及びＣＰＵ１１２が動作するための各種プログラムなどを記憶する。メモリ１１４は、例えばＲＡＭからなる。ＣＰＵ１１２は、例えばハードディスク１１３に格納されるプログラムに従い、メモリ１１４をワークメモリとして用いて、電子機器１００の各部を制御する。なお、ＣＰＵ１１２が動作するためのプログラムは、ハードディスク１１３に格納されるのに限られず、例えば図示されないＲＯＭに予め記憶しておいてもよい。
【００１７】
入力部１１５は、タッチパネル１０２に対するユーザによるタッチ操作を受け付け、その操作内容（タッチ位置等）を示す制御信号をＣＰＵ１１２に供給する。ＣＰＵ１１２は、タッチパネル１０２に対するユーザ操作に応じて入力部１１５で生成される制御信号に基づき、プログラムに従い電子機器１００の各部を制御する。これにより、電子機器１００は、ユーザ操作に応じた機能を発揮する。
【００１８】
表示制御部１１６は、ディスプレイ１１７に対して画像を表示させるための表示信号を出力する。ＣＰＵ１１２がプログラムに従い生成した表示制御信号を表示制御部１１６に供給する。表示制御部１１６は、ＣＰＵ１１２からの表示制御信号に基づき、表示信号を生成してディスプレイ１１７に供給する。例えば、表示制御部１１６は、ＣＰＵ１１２が生成する表示制御信号に基づき、ＧＵＩ(Graphical User Interface)を構成するＧＵＩ画面をディスプレイ１１７に表示させる。
【００１９】
通常、タッチパネル１０２は、ディスプレイ１１７の画面に重ねて一体的に配置される。例えば、タッチパネル１０２を光透過率がディスプレイ１１７の表示を妨げない程度とし、ディスプレイ１１７の表示面の上層に取り付ける。そして、タッチパネル１０２における入力座標と、ディスプレイ１１７上の表示座標とを対応付ける。これにより、ユーザは、ディスプレイ１１７上に表示された画面上の任意の位置のオブジェクトを直接的に操作するような感触で種々の指示をＣＰＵ１１２に入力できる。
【００２０】
ドライブ装置１１８は、ＣＤ（登録商標）又はＤＶＤ（登録商標）といった外部記憶媒体１１９を装着可能であり、ＣＰＵ１１２の制御に基づき、装着された外部記憶媒体１１９にデータを読み書きできる。外部記憶媒体１１９としては、メモリカードなどの不揮発性半導体メモリからなる媒体も利用可能である。
【００２１】
通信Ｉ／Ｆ１２０は、ＣＰＵ１１２の制御下で、ＬＡＮ又はインターネットといったネットワーク１２１に対する通信を行う。
【００２２】
タッチセンサドライバ回路１０５のタッチ検出部１０６、座標算出部１０８、タッチ入力大きさ判定部１１０及びセンサ領域判定部１１１の各機能又はいずれかの機能は、ＣＰＵ１１２に組み込んでも良い。以下の説明では、理解を容易にするために、ＣＰＵ１１２が、タッチ検出部１０６、座標算出部１０８、タッチ入力大きさ判定部１１０及びセンサ領域判定部１１１の各機能を実現するものとして、電子機器１００の動作を説明する。
【００２３】
本明細書では、タッチパネル１０２に対する操作を以下のように呼ぶ。すなわち、タッチパネル１０２を指やペンで触れたことを、以下、「タッチダウン」（Ｔｏｕｃｈ−Ｄｏｗｎ）と称する。タッチパネル１０２を指やペンで触れている状態であることを、以下、「タッチオン」（Ｔｏｕｃｈ−Ｏｎ）と称する。タッチパネル１０２を指やペンで触れたまま移動していることを、以下、「タッチムーブ」（Ｔｏｕｃｈ−Ｍｏｖｅ）と称する。タッチパネル１０２へ触れていた指やペンを離したことを、以下、「タッチアップ」（Ｔｏｕｃｈ−Ｕｐ）と称する。タッチパネル１０２に何も触れていない状態を、以下、「タッチオフ」（Ｔｏｕｃｈ−Ｏｆｆ）と称する。
【００２４】
また、タッチパネル１０２上をタッチダウンから一定のタッチムーブを経てタッチアップをしたとき、ストロークを描いたと表現する。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル１０２上に指を触れたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えれば、タッチパネル１０２上を指ではじくように素早くなぞる操作である。
【００２５】
入力部１１５は、これらの操作、及びタッチパネル１０２上に指やペンが触れている位置座標を、内部バス１０１を通じてＣＰＵ１１２に通知する。ＣＰＵ１１２は、入力部１１５からのこれらの情報に基づいてタッチパネル１０２上にどのような操作が行なわれたかを判定する。すなわち、ＣＰＵ１１２（または入力部１１５とＣＰＵ１１２）は、タッチパネル１０２への上記の操作を検出及び判別できる。ムーブについては、静電容量式タッチパネル１０２上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、ＣＰＵ１１２は、静電容量式タッチパネル１０２上の垂直成分・水平成分毎に判定できる。ＣＰＵ１１２は、所定距離以上を、所定速度以上でムーブしたことを検出し、そのままタッチアップを検出すると、フリックが行なわれたと判定する。また、ＣＰＵ１１２は、所定距離以上を所定速度未満でムーブしたことを検出した場合、ドラッグが行なわれたと判定する。
【００２６】
本実施例では、端部タッチ時に端部センサ（電極）の隣接センサ（電極）の検出容量が基準容量以上か否かを判定し、その判定結果を加味してタッチ位置座標を算出することで、端部タッチ時のタッチ位置精度を改善する。
【００２７】
図２Ａ，図２Ｂ及び図２Ｃは、タッチパネル１０２のセンサ（電極）の配置例と、タッチ位置と検出容量との関係例を示す。２００は、タッチパネル１０２上の、タッチを検出可能なセンサ領域を示す。センサ領域２００には、タッチパネル１０２を構成する複数のタッチセンサが縦横の二次元的に配置されている。Ｘ方向（図上の横方向）に複数のセンサが一直線上に接続されるラインセンサ（Ｘセンサ）を構成し、このようなＸセンサがＹ方向に並列に複数、設置されている。同様に、Ｙ方向（図上の縦方向）に複数のセンサが一直線上に接続されるラインセンサ（Ｙセンサ）を構成し、このようなＹセンサがＸ方向に並列に複数、設置されている。ＸセンサとＹセンサが互いのセンサが重複しないように交差配置されている。
【００２８】
センサ領域２００はその動作上、指等の接触面積を十分に確保できにくい周辺の端部域２０１と、十分な接触面積を確保できる、端部域２０１以外の中央域２０２とに区分される。図２Ａ、図２Ｂ及び図２Ｃでは、端部域２０１をセンサ領域２００の外側から１センサ相当の幅としている。なお、１センサ分に限るものではなく、センサ領域２００の外側から所定数分のセンサ（電極）が配置された領域を端部域２０１としても良い。
【００２９】
容量２０３は、端部域２０１のセンサで検出される容量値を示す。容量２０４は、中央域２０２の、端部域２０１に隣接するセンサで検出される容量値を示す。容量２０５は、中央域２０２の、端部域２０１から離れた位置のセンサで検出される容量値を示す。
【００３０】
基準容量（又は閾値）２０６は、タッチ位置が端部域２０１において端部側（センサ領域２００の外側寄り、外側方向）であるか反端部側（センサ領域２００の内側寄り、内側方向）であるかを判定する基準値である（変化量の閾値である）。ＣＰＵ１１２は、この基準容量２０６をタッチセンサドライバ回路１０５にタッチパネル毎に設定する。例えば、基準容量２０６は、端部域２０１の中央にタッチしたときの、中央域２０２の、端部域２０１に隣接するセンサで検出される容量値２０４を勘案して決定される。
【００３１】
２０７は、タッチパネル１０２操作用のスタイラスペン又は利用者の指等（に代表される導電体）のタッチパネル１０２に対する接触面を示す。図２Ａでは、利用者の指が、センサ領域２００とその外側の境界線上に位置する。すなわち、接触面２０７の半分が、端部域２０１のＹセンサ上に位置し、残り半分がセンサ領域２００の外側、即ち端部域２０１の外側に位置する。図２Ｂでは、接触面２０７の全体が端部域２０１に入り、図２Ｃでは、接触面２０７は、全面が端部域２０１に位置しつつ、さらにセンサ領域２００のＹ方向の内側に入っている。
【００３２】
端部側２０８は、端部域２０１において隣接センサの存在しない方向を指し、反端部側２０９は、端部域２０１において隣接センサの存在する方向を指す。換言すると、端部側２０８は、端部域２０１へのタッチ入力の中でも、センサ領域２００の外側寄りのタッチであることを示し、反端部側２０９は、端部側２０８とは反対側（センサ領域２００の内側寄り）のタッチであることを示す。なお、静電容量式タッチパネル１０２のセンサの配置が二次元以上の場合、端部側２０８及び反端部側２０９は、軸毎に個別に規定される。
【００３３】
図３は、本実施例における端部タッチ時のタッチ位置精度を改善するタッチ検出制御処理のフローチャートである。このフローチャートに示す各処理は、ＣＰＵ１１２がハードディスク１１３に格納された制御プログラムをメモリ１１４に展開して実行することにより実現される。
【００３４】
ステップＳ３０１で、ＣＰＵ１１２は、ユーザのタッチ入力を検出し、ステップＳ３０２に進む。
【００３５】
ステップＳ３０２で、ＣＰＵ１１２は、タッチ入力が端部域２０１に対するものかどうかを判定する。端部域２０１の検出容量２０３が検出値のうちで最大検出容量を示す場合、ＣＰＵ１１２は、端部域２０１のセンサ（端部センサ）へのタッチであると判定し、ステップＳ３０３に進む。端部域２０１の検出容量２０３が最大でない場合、ＣＰＵ１１２は、端部センサへのタッチでないと判定し、ステップＳ３０６に進む。
【００３６】
ステップＳ３０３で、ＣＰＵ１１２は、検出容量２０３に隣接する検出容量２０４（隣接センサの検出容量）が基準容量２０６より小さいかどうかを調べる。検出容量２０４が基準容量２０６未満の場合、ＣＰＵ１１２は、端部域２０１の中でも端部側２０８のタッチと判定し、ステップＳ３０４に進む。検出容量２０４が基準容量２０６以上である場合、ＣＰＵ１１２は、端部域２０１の中でも反端部側２０９のタッチと判定し、ステップＳ３０５に進む。
【００３７】
ステップＳ３０４で、ＣＰＵ１１２は、通常の重心（式（１）で求められる重心）よりもタッチパネル１０２の外側方向（端部側２０８）にタッチ位置座標を算出する。例えば、式（１）においてｃ１を端部域２０１のうちで最大検出容量を示すセンサの検出容量、ｐ１をその重み、ｃ２を端部域２０１のうちで最大検出容量を示すセンサの隣接センサの検出容量とする。このとき重みｐ１をｐ１´へ補正し、重心１０９を算出する。即ち、
【数２】
2016224834.tif 000004
（数３）
ｐ１´＝ｐ１×ｂ／ｃ２      （３）
ここで、ｂは基準容量２０６を示す。タッチ位置座標を算出したら、ＣＰＵ１１２は、ステップＳ３０７に進む。
【００３８】
ステップＳ３０５で、ＣＰＵ１１２は、通常の重心（式（１）で求められる重心）よりもタッチパネル１０２の内側方向（反端部側２０９）にタッチ位置座標を算出する。具体的にはステップＳ３０４と同様に式（２）、式（３）を用いてタッチ位置座標を算出する。タッチ位置座標を算出したら、ＣＰＵ１１２は、ステップＳ３０７に進む。
【００３９】
ステップＳ３０６で、ＣＰＵ１１２は、最大検出容量値（及びその周辺の検出容量値）を使ってタッチ位置座標を算出する。具体的には、式（１）を用いた通常の重心をタッチ位置座標として算出する。
【００４０】
ステップＳ３０７で、ＣＰＵ１１２は、算出したタッチ位置に応じた処理を実行する。例えば、ディスプレイ１１７に表示されたアイコンの位置がタッチされた場合は、タッチされたアイコンに割り当てられた機能を実行する。また、タッチ位置の移動（タッチムーブ）に応じて、表示物のスクロールや拡大縮小を行うこともある。
【００４１】
図３に示す制御により、タッチセンサ領域の全面に対し、偏りのない一様のタッチ位置精度を提供できる。端部域２０１の幅を周辺の１センサ相当としたが、この限りではなく、任意の幅としてもよい。基準容量２０６を端部域２０１の中央にタッチしたときの検出容量値に基づいて決定したが、他の方法で決定してもよい。また、重みの補正量を隣接センサの検出容量２０４と基準容量２０６とから算出したが、この限りではなく任意の算出式としてもよい。重心１０９を算出する重み付け計算の重みを補正することでタッチ位置座標を修正したが、別の計算式又はその修正を適用してもよい。また、Ｓ３０６で通常の重心をタッチ位置座標として算出し、Ｓ３０４，Ｓ３０５で通常の重心よりもそれぞれ外側（端部側）、内側（反端部側）にタッチ位置を補正したがこれに限るものではない。Ｓ３０６で、重心とは異なる所定の条件によってタッチ座標を算出し、Ｓ３０４，Ｓ３０５で、所定の条件で求められるタッチ座標よりもそれぞれ外側（端部側）、内側（反端部側）にタッチ位置を補正してもよい。
【実施例２】
【００４２】
仮想センサの容量（仮想容量）を用いてタッチ位置座標を算出する実施例２を説明する。
【００４３】
図４は、実施例２におけるタッチ位置と検出容量との関係例であって、仮想センサの仮想容量を付記した例の模式図を示す。仮想センサは、タッチ入力が、端部域２０１の端部側２０８である場合に、タッチ位置算出のためにセンサ領域２００の外側に仮想的に設定するものである。図４で、４０１は、仮想センサの容量（仮想容量）を示す。仮想容量４０１は、例えば、隣接センサの検出容量２０４と基準容量２０６から、
（数４）
ｋ＝２ｂ−ａ        （４）
に従って算出される。ここで、ｋは仮想センサの仮想容量４０１を示す。ａは、隣接センサの検出容量２０４を示す。ｂは基準容量２０６を示す。
【００４４】
図５は、実施例２におけるタッチ検出制御のフローチャートである。図５に示すフローチャートおける各処理は、ＣＰＵ１１２がハードディスク１１３に格納された制御プログラムをメモリ１１４に展開して実行することにより実現される。
【００４５】
図５のステップＳ５０１〜Ｓ５０３、Ｓ５０８〜Ｓ５０９はそれぞれ、図３のステップＳ３０１〜Ｓ３０３、Ｓ３０６〜Ｓ３０７と同様の処理なので、説明を省略する。
【００４６】
隣接センサの検出容量［ａ］が基準容量２０６［ｂ］より小さい場合（Ｓ５０３）、ＣＰＵ１１２は、ステップＳ５０４において仮想センサの容量４０１を基準容量２０６よりも大きく設定する。例えば、式（４）において隣接センサの検出容量２０４［ａ］と基準容量２０６［ｂ］の差分を考慮して仮想容量４０１を算出する。即ち、
（数５）
ｋ´＝（ｂ／ａ）（２ｂ−ａ）      （５）
ここで、ｋ´は隣接センサの検出容量２０４と基準容量２０６の差分を考慮したときの仮想容量４０１を示す。仮想センサの容量４０１を基準容量２０６［ｂ］よりも大きく設定したら、ＣＰＵ１１２は、ステップＳ５０５に進む。ステップＳ５０５で、ＣＰＵ１１２は、ステップＳ５０４で設定した仮想センサの容量４０１［ｋ´］を加味して、通常の重心よりも端部側２０８に修正したタッチ位置座標を算出する。例えば、仮想センサの容量４０１をｃ０（＝ｋ´）、その重みをｐ０として式（１）に追加し、重心１０９を算出する。即ち、
【数６】
2016224834.tif 000005
タッチ位置座標を算出したら、ＣＰＵ１１２は、ステップＳ５０９に進む。
【００４７】
隣接センサの検出容量２０４が基準容量２０６以上の場合（Ｓ５０３）、ＣＰＵ１１２は、ステップＳ５０６において仮想センサの容量４０１を基準容量２０６よりも小さく設定する。具体的にはステップＳ５０４と同様に式（５）を用いて仮想容量４０１を算出する。仮想センサの容量４０１を基準容量２０６よりも小さく設定したら、ＣＰＵ１１２は、、ステップＳ５０７に進む。ステップＳ５０７では、ＣＰＵ１１２は、ステップＳ５０６で設定した仮想センサの仮想容量４０１をステップＳ５０５と同様に式（６）に適用して、反端部側２０９に修正したタッチ位置座標を算出する。タッチ位置座標を算出したら、ＣＰＵ１１２は、ステップＳ５０９に進む。
【００４８】
図６に示す制御動作によっても、静電容量式タッチパネルのセンサ領域全面に対し、偏りのない一様のタッチ位置精度を提供できる。仮想センサの仮想容量４０１およびその補正量を隣接センサの検出容量２０４と基準容量２０６とから算出したが、この限りではなく任意の算出式としてもよい。また、重心１０９を算出する重み付け計算にて仮想センサの仮想容量４０１を考慮することで、タッチ位置座標を修正したが、別の計算式又はその修正を適用しても良い。
【実施例３】
【００４９】
タッチ入力の大きさに応じてセンサ領域の端部域と中央域の境界を変更するようにした実施例を説明する。これは、指の大きさや触り方の個人差に対応するためであり、これにより，個々のユーザに適応したタッチ位置座標の高精度な決定を実現できる。
【００５０】
図６Ａ、図６Ｂ及び図６Ｃは、タッチパネル１０２のタッチ位置と検出容量との関係、及び、端部域と中央域の境界の変更の例を示す。
【００５１】
ポイント６０１は、タッチ入力大きさ判定時にタッチ入力を行うターゲットポイントである。判定容量６０２は、容量１０４に対するタッチ入力大きさ判定閾値である。タッチ入力大きさ判定部１１０が、ポイント６０１へのタッチ入力時に、タッチパネル１０２の、判定容量６０２以上となるセンサ数によりタッチ入力の大きさを判定する。
【００５２】
６０３は、ポイント６０１に対するタッチ入力（のタッチパネル１０２に対する接触面積）であり、ユーザの指の大きさや触り方によってその大きさが異なる。タッチ入力半径６０４はタッチ入力６０３の半径を示す。
【００５３】
判定端部域６０５（図６Ａ）は、センサ領域２００のうちで、タッチパネル１０２上での接触面積が十分には確保できない可能性の高いと判定される３センサ幅の周辺領域である。例えば、タッチ入力半径６０４が３センサ分に相当する場合の端部域として、判定端部域６０５が設定される。センサ領域２００から判定端部域６０５を除外した部分が、判定中央域６０６と呼ぶ中央域となる。
【００５４】
判定端部域６０７（図６Ｂ）は、センサ領域２００のうちで、タッチパネル１０２上での接触面積が十分には確保できない可能性の高いと判定される２センサ幅の周辺領域である。例えば、タッチ入力半径６０４が２センサ分に相当する場合の端部域として、判定端部域６０７が設定される。センサ領域２００から判定端部域６０７を除外した部分が、判定中央域６０８と呼ぶ中央域となる。
【００５５】
判定端部域６０９（図６Ｃ）は、センサ領域２００のうちで、タッチパネル１０２上での接触面積が十分には確保できない可能性の高いと判定される１センサ幅の周辺領域である。例えば、タッチ入力半径６０４が１センサ分に相当する場合の端部域として、判定端部域６０７が設定される。センサ領域２００から判定端部域６０９を除外した部分が、判定中央域６１０と呼ぶ中央域となる。
【００５６】
図７は、実施例３におけるタッチ検出制御のフローチャートである。図７に示すフローチャートおける各処理は、ＣＰＵ１１２がハードディスク１１３に格納された制御プログラムをメモリ１１４に展開して実行することにより実現される。
【００５７】
図５のステップＳ７１０〜Ｓ７１６はそれぞれ、図３のステップＳ３０１〜Ｓ〜Ｓ３０７と同様の処理なので、説明を省略する。
【００５８】
ステップＳ７０１で、ＣＰＵ１１２は、タッチ入力判定画面をディスプレイ１１７に表示し、ステップＳ７０２に進む。
【００５９】
ステップＳ７０２，Ｓ７０３，Ｓ７０４で、ＣＰＵ１１２（タッチ入力大きさ判定部１１０）は、タッチ入力の大きさを判定する。ＣＰＵ１１２は、判定容量６０２を超える検出容量のセンサ数が１０以上の場合、ステップＳ７０５に進み、１０未満で６以上の場合、ステップＳ７０６に進み、６未満で２以上の場合、ステップＳ７０４に進む。判定容量６０２を超える検出容量のセンサ数が２未満の場合、ＣＰＵ１１２は、直接、ステップＳ７０８に進む。
【００６０】
ステップＳ７０５で、ＣＰＵ１１２は、判定端部域６０５を端部域２０１と判定し、ステップＳ７０８に進む。ステップＳ７０６で、ＣＰＵ１１２は、判定端部域６０７を端部域２０１と判定し、ステップＳ７０８に進む。ステップＳ７０７で、ＣＰＵ１１２は、判定端部域６０９を端部域２０１と判定し、ステップＳ７０８に進む。
【００６１】
ステップＳ７０８で、ＣＰＵ１１２は、Ｓ７０６〜Ｓ７０７で判定された端部域又はデフォルトの端部域を、基準容量２０６と比較してタッチ位置座標を算出する端部域２０１として設定する。ＣＰＵ１１２は、センサ領域２００の残った部分を中央域２０２と設定する。
【００６２】
ステップＳ７０９で、ＣＰＵ１１２は、通常タッチ可能な画面に遷移し、ステップＳ７１０に進む。ステップＳ７１０以降では、ＣＰＵ１１２は、図３のステップＳ３０１〜Ｓ３０７を参照して説明したのと同様の処理を実行する。
【００６３】
以上のように、実施例３では、指の大きさや触り方の個人差に対応しながら、タッチパッドのセンサ領域全面に対し偏りのない一様のタッチ位置精度を提供できる。なお、図６に図示したセンサ配列は例示であり、Ｘ方向センサ数及びＹ方向センサ数は、図６に示す例に限定されない。タッチ入力の大きさ判定を行う上で基準となるセンサ数は、上記説明例に限定されない。判定端部域６０５，６０７，６０９をセンサ数で規定したが、位置座標で規定してもよい。
【００６４】
上述した各実施例において、ＣＰＵ１１２の制御は１つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
【００６５】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【００６６】
また、上述した実施形態においては、本発明を電子機器に適用した場合を例にして説明したが、このような電子機器としては、タッチパネル付きディスプレイを装備しうる種々の装置が該当しうる。たとえば、パーソナルコンピュータ、携帯情報処理装置、タブレット端末、スマートフォン、携帯型画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機及び電子ブックリーダーなどがある。
（その他の実施例）
【００６７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2016224834.tif 000006
【図２Ａ】
2016224834.tif 000007
【図２Ｂ】
2016224834.tif 000008
【図２Ｃ】
2016224834.tif 000009
【図３】
2016224834.tif 000010
【図４】
2016224834.tif 000011
【図５】
2016224834.tif 000012
【図６Ａ】
2016224834.tif 000013
【図６Ｂ】
2016224834.tif 000014
【図６Ｃ】
2016224834.tif 000015
【図７】
2016224834.tif 000016