以下、本発明の1つの実施形態として、ドライブラインとセンスラインとが検出面に沿って設けられる投影型の静電容量方式のタッチパネルシステムを例示して説明する。
<<タッチパネルシステムの構成例>>
最初に、本発明の実施形態に係るタッチパネルシステムの構成例について、図面を参照して説明する。図1は、本発明の実施形態に係るタッチパネルシステムの構成例について示すブロック図である。
図1に示すように、タッチパネルシステム1は、検出面Pに対する指示体の近接状態を示す状態信号を生成する状態検出部2と、状態検出部2が生成した状態信号を処理することで検出面P上の指示体の位置を算出して指示体位置情報を生成する位置算出部3と、位置算出部3が生成する指示体位置情報に基づいて検出面P内に有効領域を設定し有効領域情報を生成する領域設定部4と、を備える。なお、状態信号が示す指示体の近接状態には、検出面Pに対する指示体の接触の有無だけではなく、検出面Pに対して指示体がどの程度近接しているか(検出面Pに指示体が接触していない状態における検出面Pと指示体との距離、検出面Pに指示体が接触している場合において指示体が検出面Pに与える圧力など)も含まれ得る。
<状態検出部>
状態検出部2は、検出面Pに沿って設けられる複数の平行なドライブラインDL及び検出面Pに沿って設けられる複数の平行なセンスラインSLが例えば透明の樹脂材料から成るパネル体に配線されて成る実装面21と、ドライブラインDLを駆動するドライブライン駆動部(駆動部)22と、を備える。
ドライブラインDL及びセンスラインSLは立体交差し、駆動されるドライブラインDLとセンスラインSLとの立体交差部分やその近傍部分(以下、検出領域Xとする)に対する指示体の近接状態を示す状態信号が、当該センスラインSLに生成される。状態信号は、ドライブラインDLとセンスラインSLとの間の静電容量に応じた値となるが、検出領域X上に指示体が存在する場合の静電容量は、指示体が存在しない場合と比べて小さくなる。したがって、検出領域X上に指示体が存在するか否かに応じて、状態信号が変動する。
また、複数のドライブラインDLが駆動される場合、それぞれのドライブラインDLとセンスラインSLとが成すそれぞれの検出領域X上の状態を示す状態信号が、当該センスラインSLに生成される。なお、図1では、ドライブラインDLとセンスラインSLとが垂直に立体交差する場合について例示しているが、垂直以外の角度で立体交差してもよい。
ドライブライン駆動部22は、有効領域情報を取得して、領域設定部4が設定した有効領域を把握する。そして、ドライブライン駆動部22は、領域設定部4が設定した有効領域に基づいて、各ドライブラインDLを駆動する。なお、ドライブライン駆動部22によるドライブラインDLの駆動方法の具体例については、後述する。
<位置算出部>
位置算出部3は、センスラインSLに生成される状態信号を増幅する増幅部31と、増幅部31が増幅した状態信号を取得して時分割で出力する信号取得部32と、信号取得部32が出力したアナログ信号をデジタル信号に変換するA/D変換部33と、A/D変換部33が変換したデジタル信号に基づいて検出領域Xが組み合わされて成る検出面P内の容量分布の変化量を求める復号処理部34と、復号処理部34が求めた容量分布の変化量に基づいて検出面P上の指示体の位置を算出し当該位置を示す指示体位置情報を生成する指示体位置算出部35と、を備える。
増幅部31及び信号取得部32のそれぞれは、有効領域情報を取得して、領域設定部4が設定した有効領域を把握する。そして、増幅部32は、領域設定部4が設定した有効領域に基づいて、センスラインSLに生成される状態信号の増幅を行う。また、信号取得部32は、領域設定部4が設定した有効領域に基づいて、増幅部31が増幅したセンスラインSLに生成される状態信号を選択するとともに時分割で出力する。なお、増幅部31及び信号取得部32による状態信号の増幅方法や取得方法の具体例については、後述する。
A/D変換部33は、信号取得部32が出力するアナログ信号を、所定のビット数のデジタル信号に変換する。なお、A/D変換部33によって生成されるデジタル信号のビット数は、いくつであってもよいが、後段の復号処理部34及び指示体位置算出部35における処理の精度(指示体の検出精度)を考慮すると、例えば12ビット以上16ビット以下であれば、好ましい。
復号処理部34は、A/D変換部33が変換したデジタル信号に基づいて、検出面P内の容量分布の変化量を求める。例えば、復号処理部34は、指示体の検出前に、検出面P上に指示体が存在しない場合のデジタル信号を取得して、検出面P上に指示体が存在しない場合の容量分布をあらかじめ求めておく。そして、復号処理部34は、指示体の検出時のデジタル信号を取得して容量分布を求め、あらかじめ求めておいた指示体が存在しない場合の容量分布と比較して、容量分布の変化量(指示体に起因する静電容量の変化量)を求める。なお、復号化処理部34が、有効領域情報を取得することで、ドライブライン駆動部22によって制御されるドライブラインDLの状態を把握してもよい。
指示体位置算出部35は、復号処理部34が求めた容量分布の変化量に基づいて、検出面P上の指示体の位置を算出し、指示体位置情報を生成する。例えば、指示体位置算出部35は、検出面P内で静電容量の変化量が比較的大きくなっている部分に指示体が存在すると判断して、検出面P上の指示体の位置を算出する。なお、指示体位置算出部35が、指示体の位置を算出できなかった場合に、算出できなかった旨を示す指示体位置情報を生成してもよい。
<領域設定部>
領域設定部4は、指示体位置情報に基づいて検出面P内に有効領域を設定して有効領域位置情報を生成する有効領域算出部41と、有効領域算出部41の演算に必要なパラメータ等が格納される記憶部42と、を備える。
有効領域算出部41は、例えばCPU(Central Processing Unit)から成り、指示体位置情報を取得して、位置算出部3が算出する検出面P上の指示体の位置を把握する。有効領域算出部41は、位置算出部3が算出する検出面P上の指示体の位置に基づいて、検出面P内に有効領域を設定し、有効領域情報を生成する。記憶部42は、有効領域算出部41の演算に必要なパラメータ等を格納するレジスタ421を備える。なお、有効領域算出部41における演算内容(有効領域の設定方法)の具体例については、後述する。
<<タッチパネルシステムの第1動作例>>
次に、図1に示したタッチパネルシステム1の第1動作例について、図面を参照して説明する。最初に、領域設定部4によって検出面P内に設定される有効領域の一例について、図面を参照して説明する。図2は、第1動作例において検出面内に設定される有効領域の一例を示すブロック図である。
図2に例示する有効領域Aは、検出面P内の一部の領域に設定されるものである。また、ドライブラインdx及びセンスラインsx(図中の太い実線)のそれぞれが、有効領域Aを通る。換言すると、ドライブラインdx及びセンスラインsxが成す検出領域Xのそれぞれは、少なくとも一部が有効領域Aに含まれている。
<状態検出部>
ここでは説明の具体化のため、検出面P内に、図2に示した有効領域Aが設定されている場合を想定する。この場合、ドライブライン駆動部22は、有効領域Aを通るドライブラインdxのそれぞれに対して、信号レベルが時間的に変化する駆動信号を印加する。一方、ドライブライン駆動部22は、有効領域Aを通らないドライブラインのそれぞれに対しては、駆動信号を印加しない。
ドライブライン駆動部22によるドライブラインDLの駆動方法の具体例について、図面を参照して説明する。図3は、第1動作例におけるドライブライン駆動部によるドライブラインの具体的な駆動方法の一例を示す図である。なお、図3(a)は、検出面Pの全面が有効領域として設定される場合を示すものであり、図3(b)は、検出面の一部に有効領域が設定される場合(図2に示す有効領域Aが設定される場合)を示すものである。
図3(a)に示すように、検出面Pの全面が有効領域として設定される場合、ドライブライン駆動部22は、全てのドライブラインDLに対して駆動信号を印加する。このとき、ドライブライン駆動部22は、ドライブラインDL毎に設定されている固有の駆動信号を印加する。駆動信号は、ハイレベル(「1」)とローレベル(「0」)の組み合わせから成り、時間方向に対して信号レベルが変化する。
一方、図3(b)に示すように、検出面Pの一部に有効領域Aが設定される場合、ドライブライン駆動部22は、有効領域Aを通るドライブラインdxに対しては、駆動信号を印加する。このとき、ドライブライン駆動部22は、ドライブラインdxに対して上述した固有の駆動信号を印加する。また、ドライブライン駆動部22は、有効領域Aを通らないドライブラインのそれぞれを接地するなどして、当該ドライブラインの信号レベルが時間的に変化することを抑制する。
したがって、図3(b)に示す例では、有効領域Aを通るドライブラインdxに印加される駆動信号が、図3(a)に示す場合に当該ドライブラインdxに印加される駆動信号と、同じものになる。さらに、図3(b)に示す例では、有効領域Aを通らないドライブラインの信号レベルが、時間方向に対して不変の値「0」になる。なお、有効領域Aを通らないドライブラインの信号レベルは、時間方向に対して不変であれば「0」に限られるものではなく、「1」であってもよいし、「1」と「0」の組み合わせ(例えば、隣接する2つのドライブラインの一方が「0」、他方が「1」)であってもよい。
このように、ドライブライン駆動部22が、有効領域Aを通るドライブラインdxを選択的に駆動すると、ドライブラインDLが無用に駆動されることを、防止することができる。そのため、ドライブラインDLの駆動にかかる消費電力を、低減することが可能になるとともに、ノイズの発生を抑制して検出感度を向上することが可能になる。また、ドライブラインdxを限定的に駆動することで、位置算出部3における指示体の位置の算出精度を、向上させることができる。
また、ドライブライン駆動部22が、図3に示すようにドライブラインDLを制御することで、位置算出部3(特に、復号処理部34)は、検出面P上に指示体が存在することで生じる状態信号の変動を、容易に識別することが可能になる。
<位置算出部>
ここでは説明の具体化のため、検出面P内に、図2に示した有効領域Aが設定されている場合を想定する。この場合、増幅部31は、有効領域Aを通るセンスラインsxに生成される状態信号を、選択的に増幅する。この増幅部31の具体的な動作例について、図面を参照して説明する。図4は、第1動作例における増幅部の具体的な動作の一例について示すブロック図である。
図4に示すように、増幅部31は、センスラインSLのそれぞれに対応する増幅器311と、センスラインSLに生成された状態信号を増幅器311に供給するか否かを制御する開閉スイッチ312と、を備える。ただし、それぞれの開閉スイッチ312は、有効領域情報に応じて制御される。
具体的に、有効領域Aを通るセンスラインsxに生成される状態信号が供給される開閉スイッチ312は、導通状態になる。これにより、有効領域Aを通るセンスラインsxに生成される状態信号が、増幅器311で増幅されて、増幅部31から出力される。一方、有効領域Aを通らないセンスラインに生成される状態信号が供給される開閉スイッチ312は、非導通状態になる。これにより、有効領域Aを通らないセンスラインに生成される状態信号は、増幅器311で増幅されず、増幅部31から出力されないことになる。
このように、増幅部31が、有効領域Aを通るセンスラインsxに生成される状態信号を選択的に増幅することで、状態信号の増幅にかかる消費電力を、低減することが可能になる。なお、状態信号を選択的に増幅するための構造は、例示した増幅器311及び開閉スイッチ312に限られるものではなく、同様の効果を得ることが可能である限り、他の構造であってもよい。例えば、開閉スイッチ312に代えて(または加えて)、増幅器311の活性/非活性を切替可能なスイッチを備えてもよい。
また、信号取得部32は、有効領域Aを通るセンスラインsxに生成された状態信号を、選択的に取得するとともに時分割で出力する。この信号取得部32の具体的な動作例について、図面を参照して説明する。図5は、第1動作例における選択取得部の具体的な動作の一例について示すブロック図である。
図5に示すように、信号取得部32は、センスラインSLのそれぞれに対応する端子から一つを選択して後段に接続する分岐スイッチ321を備える。ただし、分岐スイッチ321は、有効領域情報に応じて制御される。
具体的に、分岐スイッチ321は、有効領域Aを通るセンスラインsxに対応する端子とは接続し得る。これにより、有効領域Aを通るセンスラインsxに生成されて増幅部31で増幅された状態信号が、後段に出力される。一方、分岐スイッチ321は、有効領域Aを通らないセンスラインに対応する端子とは接続しない。これにより、有効領域Aを通らないセンスラインに生成される状態信号は、後段に出力されないことになる。
このように、信号取得部32が、有効領域Aを通るセンスラインsxに生成された状態信号を、選択的に取得するとともに時分割で出力することで、信号取得部32の後段に、無用な状態信号が出力されることを防止することができる。そのため、信号取得部32の後段(例えば、A/D変換部33、復号処理部34及び指示体位置算出部35)の処理にかかる消費電力を、低減することが可能になる。なお、状態信号を選択的に取得するとともに時分割で出力するための構造は、例示した分岐スイッチ321に限られるものではなく、同様の効果を得ることが可能である限り、他の構造であってもよい。
そして、A/D変換部33が、信号取得部32が出力するアナログ信号をデジタル信号に変換し、復号処理部34が、当該デジタル信号に基づいて検出面P(有効領域A)内の容量分布の変化量を求め、指示体位置算出部35が、当該容量分布の変化量を参照することで検出面P(有効領域A)上の指示体の位置を算出して指示体位置情報を生成する。
このように、位置算出部3は、有効領域Aを通るセンスラインsxに生成される状態信号を、選択的に処理する。そのため、状態信号の無用な処理を防止することができる。したがって、状態信号の処理にかかる消費電力を、低減することが可能になる。また、有効領域Aを通るセンスラインsxに生成される状態信号を限定的に処理することで、指示体の位置の算出精度を、向上させることができる。
<領域設定部>
上述のように、状態検出部2及び位置算出部3は、領域設定部4が設定した有効領域Aに基づいた動作を行う。一方、領域設定部4は、位置算出部3が算出する検出面P上の指示体の位置に基づき、検出面P内に設定されている有効領域Aを更新して、新たな有効領域を設定する。
以下、領域設定部4の具体的な一連の動作例について、図面を参照して説明する。図6は、第1動作例における領域設定部の具体的な動作の一例について示すフローチャートである。また、図7は、第1動作例における有効領域の設定方法の一例について示す図である。
以下では説明の便宜上、図7に示すように、センスラインSLの整列方向(図中の上下方向、X方向)の位置をX、ドライブラインDLの整列方向(図中の左右方向、Y方向)の位置をYとして、検出面P内の位置を(X,Y)の座標で表現する。また、検出面Pの左上隅の座標を(0,0)、右下隅の座標を(n,m)とする。ただし、n及びmは、少なくとも一方が2以上となる自然数であり、検出面P内にn本のセンスラインSLと、m本のドライブラインDLが設けられているものとする。また、有効領域Aの左上隅の座標を(Xs,Ys)、有効領域Aの右下隅の座標を(Xe,Ye)とする。
また、図7は、有効領域Aが、指示体の位置(Xp,Yp)を中心として、X方向の長さがWD_S、Y方向の長さがWD_Dとして設定される場合を、例示している。なお、この有効領域Aの設定方法の詳細については、後述する。
図6に示すように、有効領域算出部41は、タッチパネルシステム1の動作の開始時において、検出面Pの全面となる有効領域を設定するべく、(Xs,Ys)=(0,0)かつ(Xe,Ye)=(n,m)となる有効領域情報を算出する(ステップ#1)。そして、有効領域算出部41は、算出した有効領域情報を出力する(ステップ#2)。
次に、有効領域算出部41は、位置算出部3が生成した指示体位置情報を取得する(ステップ#3)。このとき、有効領域算出部41は、記憶部42のレジスタ421に格納されているパラメータを確認することで、指示体の位置に基づいて新たな有効領域を設定する「スポット駆動モード」(第1モード)であるか、検出面Pの全面を新たな有効領域として継続的に設定する「全面検出モード」(第2モード)であるか、を確認する(ステップ#4)。
「スポット駆動モード」及び「全面検出モード」は、例えばユーザの指示(操作)によって切替可能である。そのため、ユーザは、例えばタッチパネルシステムの設置環境や使用環境などに応じて、省電力及び検出感度の向上を図る「スポット駆動モード」と、検出面Pの全面から漏れ無く指示体を検出する「全面検出モード」と、のいずれかでタッチパネルシステム1を動作させることが可能である。なお、タッチパネルシステム1が、ユーザの指示以外の要因に応じてこれらのモードを自動的に選択し、動作する構成であってもよい。
「全面検出モード」の場合(ステップ#4、NO)、有効領域算出部41は、検出面Pの全面となる新たな有効領域を設定するべく、(Xs,Ys)=(0,0)かつ(Xe,Ye)=(n,m)となる有効領域情報を算出する(ステップ#5)。そして、有効領域算出部41は、算出した有効領域情報を出力する(ステップ#6)。
そして、新たな指示体位置情報が出力される場合は(ステップ#7、YES)、ステップ#3に戻り当該指示体位置情報を取得する。一方、新たな指示体位置情報が出力されない場合は(ステップ#7、NO)、動作を終了する。
「スポット駆動モード」の場合(ステップ#4、YES)であり、検出面P上の指示体の位置が算出されない場合(ステップ#8、NO)、有効領域算出部41は、上記の「全面検出モード」の場合と同様の動作を行う(ステップ#5〜#7)。これにより、有効領域が検出面Pの全面に設定されるため、次に検出面P上のどの位置に指示体が現れたとしても、状態検出部2及び位置算出部3が、当該指示体を検出してその位置を算出することが可能になる。
一方、「スポット駆動モード」の場合(ステップ#4、YES)であり、検出面P上の指示体の位置が算出されている場合(ステップ#8、YES)、有効領域算出部41は、指示体の位置を含む新たな有効領域を設定するべく、図7に示すように、Xs=Xp−WD_S/2、Ys=Yp−WD_D/2、Xe=Xp+WD_S/2、Ye=Yp+WD_D/2となる新たな有効領域情報を算出する(ステップ#9)。そして、有効領域算出部41は、算出した有効領域情報を出力する(ステップ#6)。これにより、有効領域算出部41が、次に指示体が検出される位置が含まれる可能性が高い新たな有効領域Aを、設定することが可能になる。
そして、新たな指示体位置情報が出力される場合は(ステップ#7、YES)、ステップ#3に戻り当該指示体位置情報を取得する。一方、新たな指示体位置情報が出力されない場合は(ステップ#7、NO)、動作を終了する。
以上のように、本例のタッチパネルシステム1では、算出された指示体の位置に基づいて、指示体の検出を行うべき領域である有効領域が、検出面P内で限定的に設定される。そのため、無用な検出を避けることで、消費電力を低減するとともに指示体の検出感度を向上することができる。
なお、上述した状態検出部2及び位置算出部3の動作と、領域設定部4の動作(図6のステップ#3〜#9の動作)と、は所定のフレームレート(例えば、120Hz)で繰り返し行われる。
また、有効領域算出部41が、「スポット駆動モード」であるか「全面検出モード」であるかを動作中に逐次確認することとしたが(ステップ#4)、この確認を逐次行わなくてもよい。例えば、有効領域算出部41が、ステップ#2の後にこの確認を行い、その後ユーザ等から何らかの指示が入力されるまで、それぞれのモードに応じた動作を行ってもよい。
なお、領域設定部4が設定する有効領域の大きさ(例えば、WD_D及びWD_S)は、固定値であってもよいが、可変値であってもよい。有効領域の大きさを可変値にする場合、領域設定部4が、指示体の移動速度に応じた大きさの新たな有効領域を設定すると、次に指示体が検出される位置が、当該新たな有効領域に含まれる可能性を高くすることができるため、好ましい。
この場合における有効領域の具体的な設定方法の例について、図8を参照して説明する。図8は、第1動作例における有効領域の設定方法の別例について示す図である。図8は、現フレームにおける指示体の位置が(Xpa,Ypa)、次フレームにおける指示体の位置が(Xpb,Ypb)である場合について例示している。また、現フレームにおける指示体のX方向の移動速度をVx、Y方向の移動速度をVy、フレームレートをfとする。
領域設定部4は、現フレームにおける指示体の位置(Xpa,Ypa)及び移動速度(Vx,Vy)に基づいて、次フレームにおける指示体の位置(Xpb,Ypb)が含まれるように、新たな有効領域を設定する。即ち、領域設定部4は、WD_S≧2×Vx/f、WD_D≧2×Vy/fとなるように、新たな有効領域を設定する。例えば、Vy=1000mm/s、f=120Hzの場合、WD_D≧16.7mmとなる。
また、領域設定部4において、順次得られる指示体の位置を記憶部42に記憶するなどして指示体の位置の変動量を求め、当該変動量に基づいて現フレームにおける指示体の移動速度を求めてもよい。
また、領域設定部4は、必ずしも指示体の位置を中心とした有効領域を設定しなくてもよい。例えば、検出面Pの端辺近傍で指示体が検出された場合、領域設定部4は、当該端辺側に指示体の位置が偏った有効領域を設定してもよい。また、領域設定部4は、指示体の移動方向に基づいた有効領域を設定してもよい。例えば、領域設定部4は、指示体の移動方向とは反対方向に指示体の位置が偏った有効領域を設定してもよい。
<<タッチパネルシステムの第2動作例>>
図1に示したタッチパネルシステム1は、状態検出部2及び位置算出部3が、検出面P内の容量分布の変化量に基づいて指示体の位置を算出するため、検出面P上に複数の指示体が存在したとしても、それぞれの指示体を別々に検出することができる(マルチタッチに対応可能である)。そこで、以下では、マルチタッチに対応するタッチパネルシステム1の動作例(第2動作例)について、説明する。
第2動作例は、位置算出部3が複数の指示体の位置を算出し得るとともに、領域設定部4が複数の指示体の位置に基づいて有効領域を設定し得るものであるが、その基本的な動作は、上述の第1動作例と共通する。そのため、以下の第2動作例の説明において、第1動作例と共通する部分については、第1動作例の説明を適宜参酌するものとして、その詳細な説明を省略する。
最初に、領域設定部4によって検出面P内に設定される有効領域の一例について、図面を参照して説明する。図9は、第2動作例において検出面内に設定される有効領域の一例を示すブロック図である。なお、図9は、2つの指示体が、検出面P上の離間した位置に存在する場合に設定される有効領域A1,A2を例示したものである。
図9に例示する有効領域A1,A2のそれぞれは、検出面P内の一部の領域に設定される。また、ドライブラインdx1及びセンスラインsx1(図中の太い実線)のそれぞれが有効領域A1を通り、ドライブラインdx2及びセンスラインsx2(図中の太い実線)のそれぞれが有効領域A2を通る。換言すると、ドライブラインdx1及びセンスラインsx1が成す検出領域Xのそれぞれは、その少なくとも一部が有効領域A1に含まれ、ドライブラインdx2及びセンスラインsx2が成す検出領域Xのそれぞれは、その少なくとも一部が有効領域A2に含まれる。
<状態検出部>
ここでは説明の具体化のため、検出面P内に、図9に示した有効領域A1,A2が設定されている場合を想定する。この場合、ドライブライン駆動部22は、有効領域A1を通るドライブラインdx1と、有効領域A2を通るドライブラインdx2と、のそれぞれに対して駆動信号を印加する。一方、ドライブライン駆動部22は、有効領域A1,A2のいずれも通らないドライブラインのそれぞれに対しては、駆動信号を印加しない。
第2動作例におけるドライブライン駆動部22によるドライブラインDLの駆動方法の具体例について、図面を参照して説明する。図10は、第2動作例におけるドライブライン駆動部によるドライブラインの具体的な駆動方法の一例を示す図である。
図10に示すように、ドライブライン駆動部22は、有効領域A1を通るドライブラインdx1と、有効領域A2を通るドライブラインdx2と、のそれぞれに対して、上述した固有の駆動信号(図3参照)を印加する。さらに、ドライブライン駆動部22は、有効領域A1,A2のいずれも通らないドライブラインのそれぞれを接地するなどして、当該ドライブラインの信号レベルが時間的に変化することを抑制する。
このように、マルチタッチ時においても、ドライブライン駆動部22が、有効領域A1,A2を通るドライブラインdx1,dx2を選択的に駆動することで、ドライブラインDLが無用に駆動されることを防止することができる。そのため、ドライブラインDLの駆動にかかる消費電力を、低減することが可能になるとともに、ノイズの発生を抑制して検出感度を向上することが可能になる。また、ドライブラインdx1,dx2を限定的に駆動することで、位置算出部3における指示体の位置の算出精度を、向上させることができる。
<位置算出部>
ここでは説明の具体化のため、検出面P内に、図9に示した有効領域A1,A2が設定されている場合を想定する。この場合、増幅部31は、有効領域A1を通るセンスラインsx1と、有効領域A2を通るセンスラインsx2と、のそれぞれに生成される状態信号を選択的に増幅する。この増幅部31の具体的な動作例について、図面を参照して説明する。図11は、第2動作例における増幅部の具体的な動作の一例について示すブロック図である。なお、図11に示す増幅部31は、第1動作例で説明した増幅部31(図4参照)と同様のものである。
図11に示すように、有効領域A1を通るセンスラインsx1と、有効領域A2を通るセンスラインsx2と、のそれぞれに生成される状態信号が供給される開閉スイッチ312は、導通状態になる。これにより、有効領域A1を通るセンスラインsx1と、有効領域A2を通るセンスラインsx2と、のそれぞれに生成される状態信号が、増幅器311で増幅されて、増幅部31から出力される。一方、有効領域A1,A2のいずれも通らないセンスラインに生成される状態信号が供給される開閉スイッチ312は、非導通状態になる。これにより、有効領域A1,A2のいずれも通らないセンスラインに生成される状態信号は、増幅器311で増幅されず、増幅部31から出力されないことになる。
このように、増幅部31が、有効領域A1,A2を通るセンスラインsx1,sx2に生成される状態信号を選択的に増幅することで、状態信号の増幅にかかる消費電力を、低減することが可能になる。
また、信号取得部32は、有効領域A1を通るセンスラインsx1に生成された状態信号と、有効領域A2を通るセンスラインsx2に生成された状態信号と、を選択的に取得するとともに時分割で出力する。この信号取得部32の具体的な動作例について、図面を参照して説明する。図12は、第2動作例における選択取得部の具体的な動作の一例について示すブロック図である。なお、図12に示す信号取得部32は、第1動作例で説明した信号取得部32(図5参照)と同様のものである。
図12に示すように、分岐スイッチ321は、有効領域A1を通るセンスラインsx1と、有効領域A2を通るセンスラインsx2と、のそれぞれに対応する端子とは接続し得る。これにより、有効領域A1を通るセンスラインsx1と、有効領域A2を通るセンスラインsx2と、のそれぞれに生成されて増幅部31で増幅された状態信号が、後段に出力される。一方、分岐スイッチ321は、有効領域A1,A2のいずれも通らないセンスラインに対応する端子とは接続しない。これにより、有効領域A1,A2のいずれも通らないセンスラインに生成される状態信号は、後段に出力されないことになる。
このように、信号取得部32が、有効領域A1,A2を通るセンスラインsx1,sx2に生成された状態信号を、選択的に取得するとともに時分割で出力することで、信号取得部32の後段に、無用な状態信号が出力されることを防止することができる。そのため、信号取得部32の後段(例えば、A/D変換部33、復号処理部34及び指示体位置算出部35)の処理にかかる消費電力を、低減することが可能になる。
そして、A/D変換部33が、信号取得部32が出力するアナログ信号をデジタル信号に変換し、復号処理部34が、当該デジタル信号に基づいて検出面P(有効領域A1,A2)内の容量分布の変化量を求め、指示体位置算出部35が、当該容量分布の変化量を参照することで検出面P(有効領域A1,A2)上の指示体の位置を算出して指示体位置情報を生成する。このとき、復号処理部34及び指示体位置算出部35は、有効領域A1,A2上だけでなく、ドライブラインdx1とセンスラインsx2が通る領域上と、ドライブラインdx2とセンスラインsx1が通る領域上と、についても指示体の位置を算出することが可能である。
このように、マルチタッチ時においても、位置算出部3が、有効領域A1,A2を通るセンスラインsx1,sx2に生成される状態信号を、選択的に処理することで、状態信号の無用な処理を防止することができる。したがって、状態信号の処理にかかる消費電力を、低減することが可能になる。また、有効領域A1,A2を通るセンスラインsx1,sx2に生成される状態信号を限定的に処理することで、指示体の位置の算出精度を、向上させることができる。
<領域設定部>
次に、領域設定部4が有効領域を設定(更新)する具体的な一連の動作例について、図面を参照して説明する。図13は、第2動作例における領域設定部の具体的な動作の一例について示すフローチャートである。また、図14は、第2動作例における有効領域の設定方法の一例について示す図である。なお、以下では、第1動作例における説明(図7参照)と同様に、センスラインSLの整列方向(図14中の上下方向、X方向)の位置をX、ドライブラインDLの整列方向(図14中の左右方向、Y方向)の位置をYとして、検出面P内の位置を(X,Y)の座標で表現するとともに、検出面Pの左上隅の座標を(0,0)、右下隅の座標を(n,m)とする。また、有効領域Aiの左上隅の座標を(Xsi,Ysi)、有効領域Aiの右下隅の座標を(Xei,Yei)とする。
iは、有効領域及び有効領域情報を識別するための番号であり、1以上かつmax以下の値をとる(maxは2以上の自然数)。即ち、maxは、領域設定部4が設定可能な有効領域の数の上限値であり、例えば、位置算出部3が算出可能な指示体の位置の数と等しい数であってもよい。このように、領域設定部4が設定可能な有効領域の数に上限値(max)を設定すると、領域設定部4の演算量が過剰になったり、領域設定部4が設定する有効領域の総面積が大きくなり過ぎたりすることを、抑制することが可能になるため、好ましい。
図14は、有効領域A1が、指示体の位置(Xp1,Yp1)を中心として、X方向の長さがWD_S1、Y方向の長さがWD_D1として設定されるとともに、有効領域A2が、指示体の位置(Xp2,Yp2)を中心として、X方向の長さがWD_S2、Y方向の長さがWD_D2として設定される場合を例示している。なお、この有効領域A1,A2の設定方法の詳細については、後述する。
図13に示すように、有効領域算出部41は、タッチパネルシステム1の動作の開始時において、検出面Pの全面となる有効領域を設定するべく、(Xs1,Ys1)=(0,0)かつ(Xe1,Ye1)=(n,m)となる有効領域情報を算出する。このとき、有効領域算出部41は、残りのi=2〜maxの有効領域情報をどのような値として算出してもよいが、本例ではi=1の有効領域情報と同じく、(Xsi,Ysi)=(0,0)かつ(Xei,Yei)=(n,m)として算出するものとしている(ステップ#11)。
次に、有効領域算出部41は、ステップ#11で算出したi=1〜maxの有効領域情報を出力する(ステップ#12)。なお、状態検出部2や位置算出部3の各部は、i=1の有効領域情報に対応する有効領域A1に基づいて、ドライブラインDLの駆動や状態信号の処理を行うが、i=2〜maxの有効領域情報については無視する。
次に、有効領域算出部41は、位置算出部3が生成した指示体位置情報を取得する(ステップ#13)。このとき、有効領域算出部41は、記憶部42のレジスタ421に格納されているパラメータを確認することで、「スポット駆動モード」(第1モード)であるか、「全面検出モード」(第2モード)であるか、を確認する(ステップ#14)。
「全面検出モード」の場合(ステップ#14、NO)、有効領域算出部41は、検出面Pの全面となる新たな有効領域を設定するべく、(Xs1,Ys1)=(0,0)かつ(Xe1,Ye1)=(n,m)となる有効領域情報を算出する。このとき、有効領域算出部41は、残りのi=2〜maxの有効領域情報をどのような値として算出してもよいが、本例ではi=1の有効領域情報と同じく、(Xsi,Ysi)=(0,0)かつ(Xei,Yei)=(n,m)として算出するものとしている(ステップ#15)。
次に、有効領域算出部41は、ステップ#15で算出したi=1〜maxの有効領域情報を出力する(ステップ#16)。なお、状態検出部2や位置算出部3の各部は、i=1の有効領域情報に対応する有効領域A1に基づいて、ドライブラインDLの駆動や状態信号の処理を行うが、i=2〜maxの有効領域情報については無視する。
そして、新たな指示体位置情報が出力される場合は(ステップ#17、YES)、ステップ#13に戻り当該指示体位置情報を取得する。一方、新たな指示体位置情報が出力されない場合は(ステップ#17、NO)、動作を終了する。
「スポット駆動モード」の場合(ステップ#14、YES)であり、検出面P上の指示体の位置が算出されない場合(ステップ#18、NO)、有効領域算出部41は、上記の「全面検出モード」の場合と同様の動作を行う(ステップ#15〜#17)。これにより、有効領域が検出面Pの全面に設定されるため、次に検出面P上のどの位置に指示体が現れたとしても、状態検出部2及び位置算出部3が、当該指示体を検出してその位置を算出することが可能になる。
一方、「スポット駆動モード」の場合(ステップ#14、YES)であり、検出面P上の指示体の位置が算出されている場合(ステップ#18、YES)、有効領域算出部41は、指示体の位置を含む新たな有効領域を設定するべく、例えば図14に示すように、Xsi=Xpi−WD_Si/2、Ysi=Ypi−WD_Di/2、Xei=Xpi+WD_Si/2、Yei=Ypi+WD_Di/2となるi=1〜numの新たな有効領域情報(図14の例ではnum=2)を算出する。即ち、numは、有効領域算出部4が設定しようとする有効領域の数であり、例えば、位置算出部3が算出した指示体の位置の数と等しい数であってもよい。このとき、有効領域算出部41は、残りのi=num+1〜maxの有効領域情報をどのような値として算出してもよいが、本例では(Xsi,Ysi)=(0,0)かつ(Xei,Yei)=(n,m)として算出するものとしている(ステップ#19)。
次に、有効領域算出部41は、ステップ#19で算出したi=1〜maxの有効領域情報を出力する(ステップ#16)。なお、状態検出部2や位置算出部3の各部は、i=1〜numの有効領域情報のそれぞれに対応する有効領域A1〜Anumに基づいて、ドライブラインDLの駆動や状態信号の処理を行うが、i=num+1〜maxの有効領域情報については無視する。これにより、有効領域算出部41が、次に指示体が検出される位置が含まれる可能性が高い新たな有効領域A1〜Anumを、設定することが可能になる。
そして、新たな指示体位置情報が出力される場合は(ステップ#17、YES)、ステップ#13に戻り当該指示体位置情報を取得する。一方、新たな指示体位置情報が出力されない場合は(ステップ#17、NO)、動作を終了する。
以上のように、本例のタッチパネルシステム1では、位置算出部3が複数の指示体の位置を算出する場合(マルチタッチ時)であっても、領域設定部4は有効領域を設定することが可能である。そして、本例のタッチパネルシステム1では、算出されたそれぞれの指示体の位置に基づいて、指示体の検出を行うべき領域である有効領域が、検出面P内で限定的に設定される。そのため、無用な検出を避けることで、消費電力を低減するとともに指示体の検出感度を向上することができる。
また、本例のタッチパネルシステム1では、算出されたそれぞれの指示体の位置に対応する有効領域が、それぞれ設定される。そのため、領域設定部4が設定するそれぞれの有効領域の間に、隙間(有効領域ではない領域)を設けることが可能になる。そのため、領域設定部4が設定する有効領域の総面積を、小さくすることが可能になる。
なお、上述した状態検出部2及び位置算出部3の動作と、領域設定部4の動作(図13のステップ#13〜#19の動作)と、は所定のフレームレート(例えば、120Hz)で繰り返し行われる。
また、有効領域算出部41が、「スポット駆動モード」であるか「全面検出モード」であるかを動作中に逐次確認することとしたが(ステップ#14)、この確認を逐次行わなくてもよい。例えば、有効領域算出部41が、ステップ#12の後にこの確認を行い、その後ユーザ等から何らかの指示が入力されるまで、それぞれのモードに応じた動作を行ってもよい。
また、有効領域算出部41が、「スポット駆動モード」であるときに、位置算出部3によって指示体の位置が算出されたか否かにかかわらず、所定のタイミング(例えば、所定のフレーム数毎に)で、検出面Pの全面となる新たな有効領域を設定してもよい。具体的に例えば、図13において、ステップ#18を行う前に所定のタイミングか否かを判断し、所定のタイミングであればステップ#15を行い、そうでなければステップ#18を行うようにしてもよい。
このようにすると、領域設定部4が、位置算出部3が順次算出する指示体の位置に応じて有効領域を順次設定する動作(スポット駆動)を開始した後に、検出面P上に新たに指示体が現れたとしても、所定のタイミングで検出面Pの全面となる有効領域が設定されるため、その指示体の位置を位置算出部3が算出することが可能になる。
なお、領域設定部4が設定する有効領域の大きさ(例えば、WD_Di及びWD_Si)は、同じであってもよいが、有効領域毎(i毎)に異ならせてもよい。また、領域設定部4が設定する有効領域の大きさ(例えば、WD_Di及びWD_Si)は、固定値であってもよいが、可変値であってもよい。有効領域の大きさを可変値にする場合、第1動作例でも述べたように(図8参照)、領域設定部4が、指示体の移動速度に応じた大きさの新たな有効領域を設定すると、次に指示体が検出される位置が、当該新たな有効領域に含まれる可能性を高くすることができるため、好ましい。
この場合における有効領域の具体的な設定方法の例について、図15を参照して説明する。図15は、第2動作例における有効領域の設定方法の別例について示す図である。図15は、現フレームにおける第1の指示体の位置が(Xp1a,Yp1a)、第2の指示体の位置が(Xp2a,Yp2a)であり、次フレームにおける第1の指示体の位置が(Xp1b,Yp1b)、第2の指示体の位置が(Xp2b,Yp2b)である場合について例示している。また、現フレームにおける第1の指示体のX方向の移動速度をVx1、Y方向の移動速度をVy1、現フレームにおける第2の指示体のX方向の移動速度をVx2、Y方向の移動速度をVy2とするとともに、フレームレートをfとする。
領域設定部4は、現フレームにおける第1の指示体の位置(Xp1a,Yp1a)及び移動速度(Vx1,Vy1)に基づいて、次フレームにおける指示体の位置(Xp1b,Yp1b)が含まれるように、新たな有効領域を設定する。即ち、領域設定部4は、WD_S1≧2×Vx1/f、WD_D1≧2×Vy1/fとなるように、新たな有効領域を設定する。同様に、領域設定部4は、現フレームにおける第2の指示体の位置(Xp2a,Yp2a)及び移動速度(Vx2,Vy2)に基づいて、次フレームにおける指示体の位置(Xp2b,Yp2b)が含まれるように、新たな有効領域を設定する。即ち、領域設定部4は、WD_S2≧2×Vx2/f、WD_D2≧2×Vy2/fとなるように、新たな有効領域を設定する。
また、領域設定部4において、順次得られるそれぞれの指示体の位置を記憶部42に記憶するなどしてそれぞれの指示体の位置の変動量を求め、当該変動量に基づいて現フレームにおけるそれぞれの指示体の移動速度を求めてもよい。
また、領域設定部4は、必ずしもそれぞれの指示体の位置を中心としたそれぞれの有効領域を設定しなくてもよい。例えば、検出面Pの端辺近傍で、ある指示体が検出された場合、領域設定部4は、当該端辺側に当該ある指示体の位置が偏った有効領域を設定してもよい。また、領域設定部4は、指示体の移動方向に基づいた有効領域を設定してもよい。例えば、領域設定部4は、ある指示体の移動方向とは反対方向に当該ある指示体の位置が偏った有効領域を設定してもよい。
また、これまでの第2動作例の説明において、主として検出面P上に2つの指示体が離間して存在する場合について例示してきたが、図1に示すタッチパネルシステム1は、検出面P上に3つ以上の指示体が存在しても同様に動作することができる。これについて、図面を参照して説明する。図16は、第2動作例において検出面内に設定される有効領域の別例を示すブロック図である。なお、図16では、検出面P上に3つの指示体が離間して存在する場合を例示している。
図16に示すように、検出面P上に3つの指示体が存在したとしても、領域設定部4は、それぞれの指示体の位置に対応する有効領域A1〜A3を設定することができる(図13参照)。このとき、ドライブライン駆動部22は、有効領域A1を通るドライブラインdx1と、有効領域A2を通るドライブラインdx2と、有効領域A3を通るドライブラインdx3と、をそれぞれ選択的に駆動すればよい。またこのとき、位置算出部3は、有効領域A1を通るセンスラインsx1と、有効領域A2を通るセンスラインsx2と、有効領域A3を通るセンスラインsx3と、のそれぞれに生じる状態信号を選択的に処理すればよい。なお、ドライブラインdx1〜dx3及びセンスラインsx1〜sx3は、図中において太い実線で表示している。
このように、検出面P上に存在する指示体の数が変動したとしても、領域設定部4が設定する有効領域の変動に合わせて、駆動すべきドライブラインや状態信号を処理すべきセンスラインが変動するだけである。したがって、図1に示すタッチパネルシステム1は、検出面P上に3つ以上の指示体が存在するマルチタッチについても、2つの指示体が存在する場合(図9〜図15参照)と同様に対応することができる。
ところで、これまでの第2動作例の説明では、検出面P上で指示体が離間して存在する場合について例示してきたが、検出面P上で指示体が接近して存在する場合もあり得る。この場合における、図1に示したタッチパネルシステム1の動作例について、図面を参照して説明する。図17は、第2動作例において検出面内に設定される有効領域の別例を示すブロック図である。なお、図17では、検出面P上に2つの指示体が接近して存在する場合を例示している。
図17に示すように、検出面P上に指示体が接近して存在する場合、領域設定部4は、一部の領域が重複した有効領域A1,A2を設定し得る。このとき、ドライブライン駆動部22は、有効領域A1のみを通るドライブラインdx11と、有効領域A2のみを通るドライブラインdx22と、有効領域A1,A2の両方を通るドライブラインdx12と、をそれぞれ選択的に駆動する。またこのとき、位置算出部3は、有効領域A1のみを通るセンスラインsx11と、有効領域A2のみを通るセンスラインsx22と、有効領域A1,A2の両方を通るセンスラインsx12と、のそれぞれに生じる状態信号を選択的に処理する。なお、ドライブラインdx11,dx22,dx12及びセンスラインsx11,sx22,sx22は、図中において太い実線で表示している。
この場合における、ドライブライン駆動部22によるドライブラインDLの駆動方法の具体例について、図面を参照して説明する。図18は、第2動作例におけるドライブライン駆動部によるドライブラインの具体的な駆動方法の別例を示す図である。なお、図18は、図17に示す有効領域A1,A2が設定される場合を想定したものである。
図18に示すように、ドライブライン駆動部22は、有効領域A1のみを通るドライブラインdx11と、有効領域A2のみを通るドライブラインdx22と、有効領域A1,A2の両方を通るドライブラインdx12と、のそれぞれに対して、上述した固有の駆動信号(図3参照)を印加する。さらに、ドライブライン駆動部22は、有効領域A1,A2のいずれも通らないドライブラインのそれぞれを接地するなどして、当該ドライブラインの信号レベルが時間的に変化することを抑制する。
また、この場合における、増幅部31の具体的な動作例について、図面を参照して説明する。図19は、第2動作例における増幅部の具体的な動作の別例について示すブロック図である。なお、図19に示す増幅部31は、図11に示した増幅部31と同様のものである。また、図19は、図17に示す有効領域A1,A2が設定される場合を想定したものである。
図19に示すように、有効領域A1のみを通るセンスラインsx11と、有効領域A2のみを通るセンスラインsx22と、有効領域A1,A2の両方を通るセンスラインsx12と、のそれぞれに生成される状態信号が供給される開閉スイッチ312は、導通状態になる。これにより、有効領域A1のみを通るセンスラインsx11と、有効領域A2のみを通るセンスラインsx22と、有効領域A1,A2の両方を通るセンスラインsx12と、のそれぞれに生成される状態信号が、増幅器311で増幅されて、増幅部31から出力される。一方、有効領域A1,A2のいずれも通らないセンスラインに生成される状態信号が供給される開閉スイッチ312は、非導通状態になる。これにより、有効領域Aを通らないセンスラインに生成される状態信号は、増幅器311で増幅されず、増幅部31から出力されないことになる。
また、この場合における、信号取得部32の具体的な動作例について、図面を参照して説明する。図20は、第2動作例における選択取得部の具体的な動作の別例について示すブロック図である。なお、図20に示す信号取得部32は、図12に示した信号取得部32と同様のものである。また、図20は、図17に示す有効領域A1,A2が設定される場合を想定したものである。
図20に示すように、分岐スイッチ321は、有効領域A1のみを通るセンスラインsx11と、有効領域A2のみを通るセンスラインsx22と、有効領域A1,A2の両方を通るセンスラインsx12と、のそれぞれに対応する端子とは接続し得る。これにより、有効領域A1のみを通るセンスラインsx11と、有効領域A2のみを通るセンスラインsx22と、有効領域A1,A2の両方を通るセンスラインsx12と、のそれぞれに生成されて増幅部31で増幅された状態信号が、後段に出力される。一方、分岐スイッチ321は、有効領域A1,A2のいずれも通らないセンスラインに対応する端子とは接続しない。これにより、有効領域A1,A2のいずれも通らないセンスラインに生成される状態信号は、後段に出力されないことになる。
このように、検出面P上に存在する複数の指示体が近接したとしても、領域設定部4が設定する有効領域の変動に合わせて、駆動すべきドライブラインや状態信号を処理すべきセンスラインを変動させるだけである。したがって、図1に示すタッチパネルシステム1は、検出面P上に存在する複数の指示体が近接した場合におけるマルチタッチについても、指示体が離間して存在する場合(図9〜図15参照)と同様に対応することができる。
上記のように、検出面P上に存在する複数の指示体が近接している状況では、実質的に、領域設定部4が、それぞれの指示体の位置を包含する有効領域を設定することになる。なお、領域設定部4が、検出面P上に存在する複数の指示体が近接している場合において、それぞれの指示体の位置を包含する有効領域を設定するように、有効領域情報の算出などを行なってもよい。
また、検出面P上に存在する複数の指示体の近接の有無にかかわらず、領域設定部4が、位置算出部3が算出した複数の指示体の位置に基づいて、有効領域を設定してもよい。具体的に例えば、領域設定部4が、位置算出部3が算出したそれぞれの指示体の位置を包含する有効領域を設定してもよい。
<<変形等>>
[1] 増幅部31及び信号取得部32の双方が、有効領域情報に基づいて状態信号を選択的に処理する構成について例示したが、いずれか一方が選択的な処理を行う構成であってもよい。これらの処理のいずれか一方が行われる場合であっても、消費電力を低減することは可能である。
[2] 状態検出部2が選択的に状態信号を生成する動作(第1動作)と、位置算出部3が状態信号を選択的に処理する動作(第2動作)と、が共に行われる場合について例示したが、いずれか一方の動作が行われてもよい。これらの動作のいずれか一方が行われる場合であっても、消費電力の低減や検出感度の向上を図ることができる。
[3] 本発明の1つの実施形態として、投影型の静電容量方式のタッチパネルシステムについて例示したが、本発明は、別の投影型の静電容量方式や、表面型の静電容量方式、光学式など、状態信号の選択的な生成または処理が可能であるタッチパネルシステムであれば、どのような方式のタッチパネルシステムであっても適用することが可能である。