(58)【調査した分野】(Int.Cl.,DB名)
調整されたセンスデータが上記検出面に接触または近接する指示体の有無に対応した値を有するように、上記キャリブレーションデータを用いて上記センス信号の値を調整することにより、上記調整されたセンスデータを生成する信号値調整部を備え、
上記タッチ位置特定部は、上記調整されたセンスデータから、タッチ位置を特定する
ことを特徴とする請求項2に記載のタッチセンサ制御装置。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について、詳細に説明する。以下の特定の項目(実施形態)における構成について、それが他の項目で説明されている構成と同じである場合は、説明を省略する場合がある。また、説明の便宜上、各項目に示した部材と同一の機能を有する部材については、同一の符号を付し、適宜その説明を省略する。
【0018】
〔実施形態1〕
(電子情報機器の構成)
図1は、本実施形態に係る電子情報機器1の概略構成を示すブロック図である。電子情報機器1は、タッチパネル2、タッチセンサ制御部3(タッチセンサ制御装置)、およびホスト制御部4を備える。タッチパネル2およびタッチセンサ制御部3は、タッチパネルシステムを構成する。タッチパネルを備える電子情報機器1の具体例として、携帯電話機、スマートフォン、ノート型PC(personal computer)、タブレット端末、電子書籍リーダー、またはPDA(Personal Digital Assistant)、大型タッチディスプレイ、現金自動預け払い機(cash machine)等を挙げることができる。
【0019】
(タッチパネルの構成)
タッチパネル2は、タッチセンサ5および表示部6を備える。本実施形態では、タッチパネル2は、静電容量方式のタッチパネルであるが、方式はこれに限定されない。
【0020】
タッチセンサ5は、表示部6に重なって配置される位置入力装置である。タッチセンサ5は、水平方向に沿って延びる複数の検出信号線SLと、垂直方向に沿って延びる複数の駆動信号線DLとを備える。互いに重なる検出信号線SLと駆動信号線DLとの交点には、静電容量が形成される。なお、検出信号線SLおよび駆動信号線DLは、それぞれ水平方向、垂直方向に沿っていなくてもよい。
【0021】
表示部6は、液晶表示装置または有機ELディスプレイ等の表示装置であるが、これらに限定されない。
【0022】
(ホスト制御部の構成)
ホスト制御部4は、ホストである電子情報機器1の制御を主として行う。ホスト制御部4は、タッチセンサ制御部3が検出したタッチ位置の情報を受け取り、タッチ位置に基づいた処理を行う。また、ホスト制御部4は、表示部6に表示させる表示データを供給し、表示部6の表示制御を行う。
【0023】
(タッチセンサ制御部の構成)
タッチセンサ制御部3は、タッチセンサ5を駆動し、タッチセンサ5に対する指示体のタッチ位置を検出する。タッチセンサ制御部3は、駆動部11、信号取得部12(信号取得部)、信号値調整部13(信号値調整部)、タッチ位置検出部14(タッチ位置特定部)、マスク生成部15(マスク設定部)、キャリブレーション値生成部16(キャリブレーション部)、および記憶部17を備える。
【0024】
駆動部11は、指示体(例えば、ユーザの指やスタイラスペン等)の検出を行う所定のタイミングで、タッチセンサ5の複数の駆動信号線DLに駆動信号を供給する。また、駆動部11は、検出感度のキャリブレーション動作を行う所定のタイミングで、タッチセンサ5の複数の駆動信号線DLに駆動信号を供給する。
【0025】
信号取得部12は、駆動信号に応じて複数の検出信号線SLから出力されるセンス信号を取得(検出)する。指示体がタッチセンサ5の検出面(表面)に接触または近接すると、検出信号線SLと駆動信号線DLとの交点(検出点)に形成される静電容量の容量値が変化する。そのため、検出信号線SLから得られるセンス信号の値は、検出点の静電容量の容量値に応じて変化する。信号取得部12は、複数の駆動信号線DLと複数の検出信号線SLの組み合わせに応じて、複数の検出点に対応するセンス信号を取得する。信号取得部12は、タッチセンサ5の検出面に対応する、センス信号の値を表す2次元のセンスデータを生成する。
【0026】
信号取得部12は、センスデータを信号値調整部13に出力する。キャリブレーション動作中においては、信号取得部12は、信号値調整部13に加えて、キャリブレーション値生成部16にもセンスデータを出力する。出力されるセンスデータは、センス信号の値に対応して変換されたデジタル値であってもよい。2次元のセンスデータの各要素は、センス信号値を表し、かつ、対応する検出点の静電容量の容量値に対応している。すなわち、2次元のセンスデータの各要素は、各検出点に接触または近接する指示体の有無に対応した値を有する。
【0027】
信号値調整部13は、記憶している検出感度のキャリブレーションデータに基づいて、センスデータの値を調整する。キャリブレーションデータは、各検出点について、無指示状態において取得されるセンス信号値の基準値(例えば平均値)を有する。キャリブレーションデータは、各検出点の基準値を含む2次元データである。無指示状態とは、検出面に接触または近接する指示体が存在しない状態である。例えば、信号値調整部13は、各検出点について、センスデータのセンス信号値から、キャリブレーションデータが示す基準値を減じることにより、調整された信号値を生成する。キャリブレーションデータが適正である場合、無指示状態における調整された信号値は、複数の検出点において一定範囲内(ここでは−10から+10)となる。例えば、指示体が接触および近接していない検出点における調整された信号値は−10〜+10となり、指示体が接触または近接している検出点における調整された信号値は+10より大きな値となる。これにより、複数の検出点における検出感度を均一にすることができる。信号値調整部13は、2次元の調整されたセンスデータをタッチ位置検出部14に出力する。2次元の調整されたセンスデータは、要素として、複数の検出点に対応する調整された信号値を有する。
【0028】
タッチ位置検出部14は、調整されたセンスデータに基づいて、検出面において指示体7が接触または近接しているタッチ位置を特定する。例えば、タッチ位置検出部14は、調整された信号値が極大(ピーク)かつ所定の閾値以上になる検出点に対応する位置を、タッチ位置として特定してもよい。また、タッチ位置検出部14は、調整された信号値が所定の閾値以上になる検出点に対応する位置を、タッチ位置として特定してもよい。タッチ位置検出部14は、調整された信号値のピークに応じて、複数の位置をタッチ位置として特定してもよい。
【0029】
通常のタッチ位置の検出動作中においては、タッチ位置検出部14は、特定されたタッチ位置を示す情報をホスト制御部4に出力する。一方、キャリブレーション動作中においては、タッチ位置検出部14は、特定されたタッチ位置を示す情報をホスト制御部4に加えてマスク生成部15にも出力する。タッチ位置検出部14は、指示体7の接触および近接を検出できない場合、タッチがないことをホスト制御部4またはマスク生成部15に出力する。
【0030】
マスク生成部15は、特定されたタッチ位置に応じて、マスク領域を設定する。ここでは、マスク領域は、タッチ位置とタッチ位置の周辺領域を含む。例えば、マスク領域は、タッチ位置を中心とする所定の範囲である。複数のタッチ位置が特定された場合、マスク生成部15は、複数のタッチ位置に対応する複数のマスク領域を設定する。マスク生成部15は、特定したマスク領域を示す情報をキャリブレーション値生成部16に出力する。
【0031】
キャリブレーション値生成部16は、信号取得部12から受け取った調整されていないセンスデータ、マスク領域、および以前のキャリブレーションデータに基づいて、新たなキャリブレーションデータを生成する。キャリブレーション値生成部16は、生成したキャリブレーションデータを記憶部17に記憶させ、また、生成したキャリブレーションデータを信号値調整部13に出力する。キャリブレーション値生成部16は、キャリブレーションデータを生成する過程において生成する仮キャリブレーションデータも、記憶部17に記憶させる。キャリブレーション値生成部16は、記憶部17に記憶させたこれらのデータを必要に応じて読み出す。キャリブレーション値生成部16は、キャリブレーションデータを生成する方法については、後に詳述する。
【0032】
(キャリブレーション動作の概要)
図2は、本実施形態におけるキャリブレーションデータの生成方法の概要を説明する図である。
図2の(a)は、電子情報機器1のタッチパネル2の画面(検出面)に指示体7(ユーザの指)が接触している状態を示す。
【0033】
図2の(b)は、指示体7が接触している状態で得られる2次元のセンスデータ21を示す。指示体7が接触している点が、タッチ位置22である。タッチ位置22では、センスデータの値(調整されていないセンス信号値)は大きくなる。また、タッチ位置22の周辺領域でも、センスデータの値はある程度大きくなる。タッチ位置22を中心とする所定の領域をマスク領域23とする。マスク領域23は、指示体7の接触または近接によってセンスデータの値が変化している領域を含む。
【0034】
図2の(c)は、マスクされた2次元のセンスデータ21を示す。2次元のセンスデータ21のうち、マスク領域23のデータは除去(マスク)される。一方、過去(例えば前回)に生成されたキャリブレーションデータ26から、マスク領域23に対応するデータが抽出される。
【0035】
マスクされたセンスデータ21と、過去のキャリブレーションデータ26から抽出されたデータとが合成されることにより、2次元の仮キャリブレーションデータ27が生成される(
図2の(d))。仮キャリブレーションデータ27のうち、マスク領域23を除く領域については、今回のキャリブレーションにおいて生成されたセンスデータ21のデータが使用される。仮キャリブレーションデータ27のうち、マスク領域23については、過去のキャリブレーションにおいて生成されたキャリブレーションデータ26のデータが用いられる。なお、マスク領域23が複数設定された場合も、各マスク領域23について同様の処理を行う。
【0036】
このようにして得られた仮キャリブレーションデータ27からは、マスク領域23における指示体7の接触または近接による影響が排除されている。また、仮キャリブレーションデータ27のマスク領域23以外の領域については、最新のセンス信号が反映されている、すなわち、タッチセンサ5の最新の静電容量値が反映されている。
【0037】
図3は、
図2のマスク領域23に対応するタッチセンサ5の領域を拡大して示す平面図である。駆動信号線DLは、垂直方向に連なった複数の正方形の電極24を備える。検出信号線SLは、水平方向に連なった複数の正方形の電極25を備える。電極24・25は、透明電極で形成されてもよく、格子状の金属配線で形成されてもよい。
図3において、駆動信号線DLと検出信号線SLとの交点(検出点)を丸印で示す。なお、丸印の濃さは指示体7の接触による影響(センス信号値の変化)の大きさを示す。タッチ位置22に近い検出点ほど、センス信号値の変化が大きい。
【0038】
タッチ位置22を中心として、例えば、垂直方向および水平方向において3ピッチ以内の検出点の矩形領域を、マスク領域とする。信号線のピッチが5mmの場合、検出面における3cm×3cmの正方形の領域がマスク領域に含まれる。少なくとも縦3cm×横3cmの領域をマスク領域とすれば、指示体7が指である場合にセンス信号値が変化する領域をマスクすることができる。
【0039】
なお、マスク領域の面積の上限は、検出面の面積に対する所定の割合以下であるとすることもできる。タッチ位置を含む、センス信号値の変化が所定以上の領域をマスク領域としてもよい。このとき、例えば、マスク領域の面積の上限を検出面の面積の1/5としてもよい。検出面に対するマスク領域の面積の割合が1/5を越えるような場合、クロストークによる非タッチ領域(指示体が接触していない領域)のノイズが顕著になることにより、タッチセンサを正しく校正することができなくなる。そのため、センス信号値の変化が所定以上の領域(またはマスク領域)の割合が上限(1/5)を越える場合、タッチセンサ制御部3は、キャリブレーション動作を中止することもできる。
【0040】
(キャリブレーション動作のフロー)
図4は、本実施形態に係るキャリブレーション動作のフローを示す図である。キャリブレーション動作は、例えば電子情報機器1の起動時およびスリープ状態からの復帰時等に自動的に開始される。また、電子情報機器1の動作中の一定期間毎に自動的にキャリブレーション動作が開始されてもよい。
【0041】
所定のタイミングでキャリブレーション動作が開始されると、駆動部11は、タッチセンサ5の複数の駆動信号線DLに駆動信号を供給する。信号取得部12は、駆動信号に応じて複数の検出信号線SLから出力されるセンス信号を取得する(ステップS1)。信号取得部12は、センス信号に応じたセンスデータを生成する。
【0042】
信号値調整部13は、記憶しているキャリブレーションデータ(前回のキャリブレーションにおいて生成されたキャリブレーションデータ)に基づいて、センスデータの値を調整する。タッチ位置検出部14は、調整されたセンスデータに基づいて、タッチ位置を特定する。
【0043】
タッチが検出されていない場合(S2でNo)、マスク生成部15は、マスク領域を設定しない。また、キャリブレーション値生成部16は、信号取得部12が生成した(調整されていない)センスデータをM回目の仮キャリブレーションデータとして記憶部17に記憶させる(S3)。
【0044】
タッチが検出された場合(S2でYes)、マスク生成部15は、特定されたタッチ位置に応じて、マスク領域を設定する(S4)。キャリブレーション値生成部16は、信号取得部12が生成したセンスデータからマスク領域のデータを除去する(S5)。また、キャリブレーション値生成部16は、記憶部17から前回に生成されたキャリブレーションデータを取得し、前回に生成されたキャリブレーションデータからマスク領域に対応するデータを抽出する(S6)。ここで、キャリブレーション値生成部16は、前回ではなく、それより前のキャリブレーションデータを使用してもよい。キャリブレーション値生成部16は、マスクされたセンスデータと、前回に生成されたキャリブレーションデータから抽出されたデータとを合成する(和をとる)ことにより、仮キャリブレーションデータを生成する(S7)。キャリブレーション値生成部16は、生成した仮キャリブレーションデータをM回目(1≦M≦N、MおよびNは整数)の仮キャリブレーションデータとして記憶部17に記憶させる(S3)。
【0045】
タッチセンサ制御部3は、S1からS7の処理をN回繰り返す(S8)。すなわち、異なるタイミングでN回センスデータを生成し、N個のセンスデータに対応するN個の仮キャリブレーションデータを生成する。
【0046】
N個の仮キャリブレーションデータの生成処理が完了すると(S8でYes)、キャリブレーション値生成部16は、記憶部17からN個の仮キャリブレーションデータを読み出す。キャリブレーション値生成部16は、N個の仮キャリブレーションデータの代表データを生成する。具体的には、キャリブレーション値生成部16は、各要素(検出点)について、N個の仮キャリブレーションデータを平均することにより、新たなキャリブレーションデータを生成する(S9)。このようにしてキャリブレーションデータが更新され、更新されたキャリブレーションデータが、信号値調整部13によるセンスデータの調整に用いられる。
【0047】
複数の仮キャリブレーションデータを平均化したものをキャリブレーションデータとすることで、ノイズの影響を低減することができる。ただし、複数には限らず、1個の仮キャリブレーションデータをそのままキャリブレーションデータとして用いてもよい(N=1の場合)。
【0048】
なお、N回のセンス信号の検出毎に、タッチ位置検出部14は、指示体7のタッチ位置を特定する。指示体7が移動している場合、複数(N個)のセンスデータに対するマスク領域はそれぞれ異なり得る。
【0049】
また、代表データの生成は、平均値に限らず、各要素について任意の代表値(例えば中間値等)を求めることで行うこともできる。
【0050】
(効果)
図5は、無指示状態における調整前のセンスデータの一例を示すグラフである。
図5において、x軸は水平方向における座標を示し、y軸は垂直方向における座標を示し、z軸はセンス信号の値を示す。指示体7が接触および近接していない場合であっても、調整されていないセンスデータの値は、一般に均一ではない。この不均一性は、例えば、駆動信号線DLまたは検出信号線SLの付近に金属等の導電体が存在すること、タッチパネル2の構造上の不均一さ、または、温度分布等に起因する。
図5の例では、左端の駆動信号線DLに沿った位置では、他の位置より静電容量値(すなわちセンス信号値)が大きくなっている。キャリブレーションデータを用いてセンスデータの調整を行わなければ、タッチ位置を誤認識してしまうおそれがある。
【0051】
図6は、キャリブレーションデータを用いて調整されたセンスデータの一例を示すグラフである。なお、
図6に示す例では、検出面の右上の辺りに指示体7が接触している。
図6の(a)は、長期間更新されていないキャリブレーションデータを用いて調整されたセンスデータを示す。
図6の(b)は、適切に更新されたキャリブレーションデータを用いて調整されたセンスデータを示す。
図6において、各軸は
図5と同じものを示す。なお、
図6において、線の色がグレーであるセンスデータの値は、−10から+10の範囲内であり、線の色が黒であるセンスデータの値は、上記範囲外である。
【0052】
図6の(b)に示すように、適切に更新されたキャリブレーションデータを用いて調整されたセンスデータでは、指示体7が接触および近接していない位置でのセンスデータの値は、均一である。例えば、指示体7が接触および近接していない位置では、センスデータの値は、−10から10の間に収まっている。そのため、調整されたセンスデータの値を閾値と比較することにより、タッチ位置を正確に特定することができる。
【0053】
しかしながら、長期間キャリブレーション(キャリブレーションデータの更新)が行われていない場合、
図6の(a)に示すように、指示体7が接触および近接していない位置でも、調整されたセンスデータの値は均一ではない。無指示状態における調整されたセンスデータの値が低い位置では、タッチの感度が低くなる。逆に、無指示状態における調整されたセンスデータの値が高い位置では、タッチの感度が高くなる。検出点の静電容量値は、温度変化または経時変化等により変化する。それゆえ、長期間キャリブレーションが行われていないと、キャリブレーションデータが適正なものではなくなり、無指示状態における調整されたセンスデータの値が不均一になる。
【0054】
本実施形態によれば、指示体7が接触または近接しているタッチ位置を除いた領域について、最新のセンス信号に基づいてキャリブレーションデータを更新することができる。また、タッチ位置については、過去(前回)のキャリブレーションデータを用いることで、指示体7の接触および近接の影響を排除することができる。そのため、タッチパネル2に指示体7が接触または近接している場合であっても、タッチセンサ制御部3は、適切にキャリブレーションを行うことができる。それゆえ、タッチセンサ制御部3は、所望のタイミングで適切にキャリブレーションを行うことができる。その結果、
図6の(b)のように、適切なキャリブレーションデータを用いて、指示体7が接触および近接していない位置での値が均一な調整されたセンスデータを得ることができる。また、タッチセンサ制御部3は、指示体7による位置入力を受け付けている間に、キャリブレーションを実行することができる。また、特許文献1に記載の構成では、タッチセンサとは別の人感センサが必要になるが、本実施形態のタッチセンサ制御部3は他のセンサを必要としない。
【0055】
〔実施形態2〕
実施形態1では、N回のセンス信号の検出毎に、第M回目のセンスデータに基づいてタッチ位置およびマスク領域が特定され、第M回目のセンスデータに該マスク領域が適用される。しかしながら、タッチ位置の特定およびマスク領域の特定に時間がかかる場合、マスク領域の特定が間に合わない場合がある。すなわち、第M回目のセンスデータに基づいてマスク領域を特定したとき、次の第(M+1)回目のセンスデータの生成が行われている場合がある。そして古い(第M回目の)センスデータは、メモリの制限から消去される場合がある。指示体が移動していない場合、第M回目のセンスデータに基づいてマスク領域を第(M+1)回目のセンスデータに適用しても問題ない。しかしながら、指示体が移動している場合、該マスク領域は、第(M+1)回目のセンスデータにおけるタッチ位置をマスクできない可能性がある。
【0056】
そこで、本実施形態では、タッチセンサ制御部は、指示体の動きを予測してマスク領域を設定する。電子情報機器1の構成は実施形態1と同様であるので、詳細な説明を省略する。
【0057】
(キャリブレーション動作の概要)
図7は、本実施形態におけるキャリブレーションデータの生成方法の概要を説明する図である。
図7の(a)は、電子情報機器1のタッチパネル2の画面(検出面)に指示体7(ユーザの指)が接触している状態を示す。ここで、指示体7は、図示する矢印の方向に移動している。センス信号の検出は一定間隔(例えば1/120秒毎または1/200秒毎)で行われ、例えば時刻t0、t1、t2においてセンス信号の検出が行われる。
【0058】
図7の(b)は、時刻t1の2次元のセンスデータ21aを示す。時刻t1におけるタッチ位置は、タッチ位置22である。マスク生成部15は、時刻t0および時刻t1のタッチ位置に基づいて、タッチ位置の動きを表す動きベクトル31を求める。マスク生成部15は、時刻t1におけるタッチ位置22と、動きベクトル31とから、時刻t1より後の時刻t2におけるタッチ位置32を予測することができる。タッチ位置32は、時刻t2において指示体が到達すると予測される到達位置を表す。マスク領域23は、予測された時刻t2におけるタッチ位置32およびその周辺領域を含むように設定される。ここでは、マスク領域23は、時刻t1におけるタッチ位置22およびその周辺領域と、時刻t2におけるタッチ位置32およびその周辺領域とを含む矩形の領域である。
図7の(b)では、周辺領域を点線で囲んで示す。時刻t1のセンスデータに基づいて生成されたマスク領域23は、時刻t2において指示体7が接触または近接していると予測される領域を含む。
【0059】
マスク領域23は、時刻t1のタッチ位置22から、動きベクトル31で予測される時刻t2のタッチ位置32までを含む。そのため、時刻t1の後に指示体7の動きが変化した場合(止まった場合)であっても、マスク領域23は、時刻t2における指示体7の位置を含むことができる。
【0060】
図7の(c)は、マスクされた時刻t2の2次元のセンスデータ21bを示す。2次元のセンスデータ21bのうち、マスク領域23のデータは除去(マスク)される。一方、過去(前回)に生成されたキャリブレーションデータ26から、マスク領域23に対応するデータが抽出される。
【0061】
マスクされたセンスデータ21bと、過去のキャリブレーションデータ26から抽出されたデータとが合成されることにより、2次元の仮キャリブレーションデータ27が生成される(
図7の(d))。仮キャリブレーションデータ27のうち、マスク領域23を除く領域については、今回のキャリブレーションにおいて生成されたセンスデータ21bのデータが用いられる。仮キャリブレーションデータ27のうち、マスク領域23については、過去のキャリブレーションにおいて生成されたキャリブレーションデータ26のデータが用いられる。なお、マスク領域23が複数設定された場合も、各マスク領域23について同様の処理を行う。
【0062】
(キャリブレーション動作のフロー)
図8は、本実施形態に係るキャリブレーション動作のフローを示す図である。なお、時刻t1は時刻t0より後であり、時刻t2は時刻t1より後であるとする。S2、S7〜S9の処理は実施形態1と同様であるので、適宜説明を省略する。
【0063】
駆動部11は、タッチ位置の検出のために一定間隔で、タッチセンサ5の複数の駆動信号線DLに駆動信号を供給する。信号取得部12は、各時刻において、駆動信号に応じて複数の検出信号線SLから出力されるセンス信号を取得する(ステップS1)。信号取得部12は、センス信号に応じたセンスデータを生成する。
【0064】
信号値調整部13は、記憶している前回のキャリブレーションデータに基づいて、センスデータの値を調整する。タッチ位置検出部14は、調整されたセンスデータに基づいて、タッチ位置を特定する。
【0065】
タッチが検出されていない場合(S2でNo)、マスク生成部15は、マスク領域を設定しない。また、キャリブレーション値生成部16は、信号取得部12が生成した(調整されていない)センスデータをM回目の仮キャリブレーションデータとして記憶部17に記憶させる(S3)。
【0066】
時刻t0および時刻t1の両方について、調整されたセンスデータにおいてタッチが検出された場合(S2でYes)、マスク生成部15は、タッチの動きを予測する(S11)。具体的には、マスク生成部15は、時刻t0のタッチ位置および時刻t1のタッチ位置に基づいて、タッチ位置(または指示体)の動きを表す動きベクトルを特定する。なお、マスク生成部15は、動きベクトルの生成のために、過去(時刻t0)のタッチ位置を記憶している。また、マスク生成部15は、時刻t1のタッチ位置と、動きベクトルとに応じて、時刻t2の予測されるタッチ位置を含むようにマスク領域を設定する(S12)。
【0067】
S12の後、キャリブレーション値生成部16は、時刻t2のセンスデータから時刻t1のタッチ位置に基づいて設定されたマスク領域のデータを除去する(S13)。また、キャリブレーション値生成部16は、記憶部17から前回に生成されたキャリブレーションデータを取得し、前回に生成されたキャリブレーションデータから該マスク領域に対応するデータを抽出する(S14)。キャリブレーション値生成部16は、マスクされたセンスデータと、前回に生成されたキャリブレーションデータから抽出されたデータとを合成することにより、仮キャリブレーションデータを生成する(S7)。キャリブレーション値生成部16は、生成した仮キャリブレーションデータをM回目(1≦M≦N、MおよびNは整数)の仮キャリブレーションデータとして記憶部17に記憶させる(S3)。
【0068】
(効果)
本実施形態によれば、タッチセンサ制御部3は、タッチ位置の動きを予測することで、最新のセンスデータについてのタッチ位置を予測する。タッチセンサ制御部3は、予測されたタッチ位置を含むようにマスク領域を設定する。タッチセンサ制御部3は、過去のセンスデータに基づいて決定したマスク領域を、最新のセンスデータに適用する。これにより、タッチ位置の特定およびマスク領域の特定に処理時間がかかる場合であっても、動く指示体による影響を排除して、適切にキャリブレーションを行うことができる。また、タッチ位置が移動する場合、センスデータの取得毎にマスク領域の位置が変化する。例えば、1回目の仮キャリブレーションデータにおけるマスク領域(過去のキャリブレーションデータが適用される領域)は、2回目の仮キャリブレーションデータでは、マスク領域ではなく、最新のセンスデータが適用される領域に対応する。そのため、複数の仮キャリブレーションデータを平均化することで、検出面の全体に渡って最新のセンスデータをキャリブレーションデータに反映することができる。
【0069】
なお、マスク生成部15は、タッチ位置の動きを、2つの時刻のセンスデータからに限らず、3つ以上の時刻のセンスデータから予測してもよい。
【0070】
マスク領域は、予測された未来(時刻t2)のタッチ位置を含む。マスク領域は、予測されたタッチ位置と、その周辺領域とを含むことが好ましい。マスク領域は、必ずしも現在(時刻t1)のタッチ位置と、その周辺領域とを含まなくてもよい。マスク領域は矩形でなくてもよく、例えば楕円形または任意の多角形等、予測されたタッチ位置を含む任意の形状とすることができる。
【0071】
また、指示体7の動きが増減することを考慮し、予測された未来のタッチ位置(
図7の32)を中心とし、かつ少なくとも現在のタッチ位置(
図7の22)を含む領域を、マスク領域として設定してもよい。すなわち、予測された未来のタッチ位置(
図7の32)がマスク領域の中心になるように、
図7の(b)においてマスク領域23がさらに右上方向(動きベクトルの方向)に拡張されてもよい。
【0072】
〔ソフトウェアによる実現例〕
タッチセンサ制御部3の制御ブロック(特に、信号取得部12、信号値調整部13、タッチ位置検出部14、マスク生成部15、およびキャリブレーション値生成部16)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0073】
後者の場合、タッチセンサ制御部3は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0074】
〔まとめ〕
本発明の態様1に係るタッチセンサ制御装置(タッチセンサ制御部3)は、タッチセンサの制御を行うタッチセンサ制御装置であって、上記タッチセンサの検出面におけるタッチ位置を特定するタッチ位置特定部(タッチ位置検出部14)と、上記タッチ位置に応じてマスク領域を設定するマスク設定部(マスク生成部15)と、上記検出面における上記マスク領域を除いた領域について、タッチの検出感度のキャリブレーションを行うキャリブレーション部(キャリブレーション値生成部16)とを備える。
【0075】
上記の構成によれば、タッチ位置に応じてマスク領域が設定され、マスク領域を除いた領域について、タッチの検出感度のキャリブレーションが行われる。そのため、タッチセンサ制御装置は、指示体の接触および近接の影響を排除して、所望のタイミングで適切なキャリブレーションを行うことができる。
【0076】
本発明の態様2に係るタッチセンサ制御装置は、上記態様1において、上記タッチセンサからセンス信号を取得する信号取得部(信号取得部12)を備え、上記キャリブレーション部は、検出感度のキャリブレーションデータの生成において、上記マスク領域を除いた領域については、取得された上記センス信号を使用し、上記マスク領域については、過去のキャリブレーションデータを使用する構成であってもよい。
【0077】
上記の構成によれば、タッチセンサ制御装置は、マスク領域を除いた領域については、取得された上記センス信号を使用してキャリブレーションデータを更新することができる。また、タッチセンサ制御装置は、上記マスク領域については、過去のキャリブレーションデータを使用することで、指示体の接触および近接の影響を排除して、生成されたキャリブレーションデータを適切なものにすることができる。なお、タッチセンサが静電容量方式の場合、センス信号の値は、検出面の各位置における静電容量値に対応する。
【0078】
本発明の態様3に係るタッチセンサ制御装置では、上記態様1または2において、上記マスク領域は、上記タッチ位置を中心とする矩形領域を含み、上記矩形領域は、上記検出面における3cm×3cmの正方形に対応する構成であってもよい。
【0079】
上記の構成によれば、マスク領域が、タッチ位置を中心とする少なくとも3cm×3cmの正方形の領域を含む。そのため、タッチセンサ制御装置は、キャリブレーションにおいて、ユーザの指またはスタイラスペン等による接触および近接の影響を排除することができる。
【0080】
本発明の態様4に係るタッチセンサ制御装置では、上記態様2において、上記マスク設定部は、上記タッチ位置がある時刻に到達する到達位置を予測し、上記到達位置を含む上記マスク領域を設定し、上記キャリブレーション部は、上記マスク領域を除いた領域については、該時刻の上記センス信号を使用することにより、検出感度のキャリブレーションデータを生成する構成であってもよい。
【0081】
上記の構成によれば、タッチ位置の特定およびマスク領域の設定に処理時間がかかる場合であっても、動く指示体による影響を排除して、適切にキャリブレーションを行うことができる。
【0082】
本発明の態様5に係るタッチセンサ制御装置は、上記態様2において、調整されたセンスデータが上記検出面に接触または近接する指示体の有無に対応した値を有するように、上記キャリブレーションデータを用いて上記センス信号の値を調整することにより、上記調整されたセンスデータを生成する信号値調整部(信号値調整部13)を備え、上記タッチ位置特定部は、上記調整されたセンスデータから、タッチ位置を特定する構成であってもよい。
【0083】
本発明の態様6に係るタッチセンサ制御装置では、上記態様1、2、4、5において、上記マスク領域は、上記タッチ位置を含む構成であってもよい。
【0084】
本発明の態様7に係るタッチセンサ制御装置では、上記態様2または5において、上記キャリブレーションデータは、上記検出面に接触または近接する指示体がない場合における上記センス信号の値に対応している構成であってもよい。
【0085】
本発明の態様8に係るタッチパネルシステムは、上記態様1から7のタッチセンサ制御装置と、上記タッチセンサを備えるタッチパネルとを備える構成であってもよい。
【0086】
本発明の態様9に係る電子情報機器は、上記態様1から7のタッチセンサ制御装置と、上記タッチセンサを備えるタッチパネルと、上記タッチ位置に基づいて上記電子情報機器の制御を行うホスト制御部とを備える構成であってもよい。
【0087】
本発明の態様10に係るタッチセンサの制御方法は、上記タッチセンサの検出面におけるタッチ位置を特定するタッチ位置特定ステップと、上記タッチ位置に応じてマスク領域を設定するマスク設定ステップと、上記検出面における上記マスク領域を除いた領域について、タッチの検出感度のキャリブレーションを行うキャリブレーションステップとを含む。
【0088】
本発明の各態様に係るタッチセンサ制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記タッチセンサ制御装置が備える各部として動作させることにより上記タッチセンサ制御装置をコンピュータにて実現させるタッチセンサ制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【0089】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。