本発明に係る入力位置検出方法で入力位置を検出するタッチパネルは、いわゆる相互容量方式で入力操作体の入力位置を検出する静電容量式タッチパネルであり、図1に示すように、絶縁パネルの表面のX、Y方向を輪郭とする長方形の入力操作領域TA上に、X方向に6mmの等ピッチでそれぞれY方向に配線される15本の駆動電極TXm(mは、0〜14))と、Y方向に6mmの等ピッチでそれぞれX方向に配線される25本の検出電極RXn(nは、0〜24)とが、各交点S(m,n)において互いに絶縁して格子状に配線されている。尚、入力操作領域TA上のX、Y方向の位置(x,y)は、説明の便宜上、駆動電極TXmと検出電極RXnの配線位置で表すものとし、例えば交点S(m,n)は、X方向にm、Y方向にnの位置にあるものとして説明する。
各駆動電極TX0〜TX14は、後述する一次スキャン工程と二次スキャン工程において、X方向で隣り合う5本毎に互いに接続して構成される駆動電極群TXLi(iは、0から2)と、個別に分離する2種類の接続モードで、所定電圧の矩形波の信号である駆動信号を出力する図示しない検出電圧発生回路に接続する。また、各検出電極RX0〜RX24も、一次スキャン工程と二次スキャン工程において、Y方向で隣り合う5本毎に互いに接続して構成される検出電極群RXLi(iは、0から4)と、個別に分離する2種類の接続モードで、検出する検出信号の電圧変化を表す検出信号レベルVSを検出する図示しない電圧検出回路に接続する。
このうち一次スキャン工程では、互いに接続する5本毎の駆動電極TXmからなる駆動電極群TXLi(iは、0から2)毎に駆動走査され、各駆動電極群TXLi毎に異なるタイミングで順次所定電圧の矩形波の信号である駆動信号が出力され、いずれかの駆動電極群TXLiに駆動信号が出力されている間に、互いに接続する5本毎の検出電極RXnからなる検出電極群RXLj(jは、0から4)毎に検出走査され、各検出電極群RXLj毎に異なるタイミングで順次検出信号の検出信号レベルVL(i,j)が検出される。つまり、平面入力操作領域TAは、図1に示す3行5列の15個のラージエリアL(i,j)に分割され、各ラージエリアL(i,j)について検出信号レベルVL(i,j)が検出される。
この一次スキャン工程においてラージエリアL(i,j)について検出される検出信号の検出信号レベルVL(i,j)は、ラージエリアL(i,j)を入力操作していない場合に検出される検出信号の検出電圧と、ラージエリアL(i,j)を入力操作している場合に検出される検出信号の検出電圧との差電圧である。すなわち、指など一部が接地された入力操作体がラージエリアL(i,j)を入力操作しようとして接近すると、i番目の駆動電極群TXLi及びj番目の検出電極群RXLjと入力操作体間の静電容量が変化し、i番目の駆動電極群TXLiに流れる駆動信号の一部が入力操作体に流れ、入力操作体が接近していない常時に検出電極群RXLjにおいて検出される電圧レベルに対して検出信号レベルVL(i,j)だけ降下して検出される。つまり、検出信号レベルVL(i,j)は、電圧降下分の符号を逆転させて数値化して表したものである。
また、二次スキャン工程では、各駆動電極TX0〜TX14が互いに独立して検出電圧発生回路に接続し、各駆動電極TX0〜TX14毎に駆動走査され、検出電圧発生回路から、それぞれ異なるタイミングで順次所定電圧の矩形波の信号である駆動信号が出力され、いずれかの駆動電極TXmから駆動信号が出力されている間に、各検出電極RX0〜RX24が互いに独立して電圧検出回路に接続し、各検出電極RX0〜RX24毎に検出走査され、それぞれ異なるタイミングで順次検出信号の検出信号レベルVS(m,n)が検出される。
同様に、二次スキャン工程の各交点S(m,n)について検出される検出信号の検出信号レベルVS(m,n)は、m番目の駆動電極TXmとn番目の検出電極RXnの交点S(m,n)を入力操作していない場合に検出される検出信号の検出電圧と、交点S(m,n)を入力操作している場合に検出される検出信号の検出電圧との差電圧であり、検出信号レベルVS(m,n)についても、電圧降下分である差電圧の符号を逆転させて数値化して表した数値である。
以下、本発明の第1実施の形態に係るタッチパネルの入力位置検出方法を、図9乃至図12に示すフローチャートを用いて説明する。本実施の形態の説明においては、二次スキャン(スポットエリアセンシング)を実行して入力位置を検出する領域をスポットエリアSk(Num)と、直前の入力検出シーケンスで入力位置が検出されたスポットエリアSk(Num)をスポットエリア履歴Sr(Num)と、一次スキャン(ラージエリアセンシング)を実行してスポットエリアSk(Num)に設定する候補となる領域をスポットエリア候補Sc(Num)と表す。
ここでNumは、1から始まる自然数であるが、本実施の形態では、平面入力操作領域TAに複数の指Tで同時に入力操作可能な数を3本として、入力位置P(x,y)を検出するマルチタッチ入力数の上限Cmaxを3とし、これに伴って、スポットエリアSk(Num)、スポットエリア履歴Sr(Num)及びスポットエリア候補Sc(Num)の各種類の箇所数の上限も3個とするので、Numは、1から3の自然数となる。
図9は、第1実施の形態に係るタッチパネルの入力位置検出方法の全体の概略を示すフローチャートで、図にしめすように、基本的には、初期化と、一次スキャンとスポットエリア候補Sc(Num)の抽出を行うStateAと、スポットエリアSk(Num)を設定するStateBと、二次スキャンと入力位置を検出するStateCからなる入力検出シーケンスを繰り返す。
このうち、初期化では、スポットエリア候補Sc(Num)を初期化し、初回の入力検出シーケンスでのみスポットエリア履歴Sr(Num)を初期化する。一方、2回目以降の入力検出シーケンスにおいては、スポットエリア履歴Sr(Num)が初期化されず、Cmaxの3に相当する3種類のスポットエリア履歴Sr(Num)がある場合には、一次スキャンとスポットエリア候補Sc(Num)の抽出を行うStateAを省略してStateBにすすむ。
図10に示す様に、StateAでは、一次スキャンであるラージエリアセンシングを実行し(ステップSA1)、全てのラージエリアL(i,j)について検出信号レベルVL(i,j)を検出する。ここで、各ラージエリアL(i,j)について検出される検出信号レベルVL(i,j)は、一本の指Tが特定のラージエリアL(i,j)に対して入力操作を行う場合であっても入力位置P(x,y)により異なり、入力位置P(x,y)が、ラージエリアL(i,j)内にある場合、隣り合うラージエリアL(i,j)との境界位置の近傍にある場合、4つのラージエリアL(i,j)が隣り合う境界位置の近傍にある場合の順に低下する。本実施の形態では、いずれの場合であるかを判別する為、大きさの順に中心タッチ判定閾値VTH1、2境界判定閾値VTH2、4境界判定閾値VTH3を設定して、各ラージエリアL(i,j)について検出される検出信号レベルVL(i,j)と比較する。
始めに、全てのラージエリアL(i,j)について検出信号レベルVL(i,j)を中心タッチ判定閾値VTH1と比較し、中心タッチ判定閾値VTH1以上の検出信号レベルVL(i,j)を検出したラージエリアL(i,j)の有無を判定し(ステップSA2)、中心タッチ判定閾値VTH1以上を検出したラージエリアL(i,j)が存在する場合には、そのラージエリアL(i,j)について、Cmaxの3に相当する3個のスポットエリア候補Sc(Num)まで抽出する(ステップSA3)。
3個のスポットエリア候補Sc(Num)が抽出されていない場合には、更に、全てのラージエリアL(i,j)について、隣り合う2つのラージエリアL(i,j)について検出される検出信号レベルVL(i,j)がいずれも2境界判定閾値VTH2を越える2つのラージエリアL(i,j)の有無を判定し(ステップSA4)、いずれも2境界判定閾値VTH2以上を検出した隣り合う2つのラージエリアL(i,j)が存在する場合には、ステップSA3で抽出したスポットエリア候補Sc(Num)との合計が3個となるまで、2境界判定閾値VTH2以上を検出した隣り合う2つのラージエリアL(i,j)について、新たなスポットエリア候補Sc(Num)を抽出する(ステップSA5)。
更に、3個のスポットエリア候補Sc(Num)が抽出されていない場合には、全てのラージエリアL(i,j)について、隣り合う4つのラージエリアL(i,j)について検出される検出信号レベルVL(i,j)がいずれも4境界判定閾値VTH3を越える4つのラージエリアL(i,j)の有無を判定し(ステップSA6)、いずれも4境界判定閾値VTH3以上を検出した隣り合う4つのラージエリアL(i,j)が存在する場合には、ステップSA3とステップSA5で抽出したスポットエリア候補Sc(Num)との合計が3種類となるまで、4境界判定閾値VTH3以上を検出した隣り合う4つのラージエリアL(i,j)について、新たなスポットエリア候補Sc(Num)を抽出する(ステップSA5)。
図11に示すStateBでは、始めにスポットエリア履歴Sr(Num)が存在するか否かを判定し(ステップSB1)、スポットエリア履歴Sr(Num)が存在していれば、その直前の入力シーケンスにおいてそのスポットエリア履歴Sr(Num)から入力位置が検出されていたことになり、継続してその付近から入力位置が検出される可能性が高いので、スポットエリア履歴Sr(Num)をスポットエリアセンシングを実行するスポットエリアSk(Num)に設定する(ステップSB2)。
続いて、StateAで抽出したいずれかのスポットエリア候補Sc(Num)の一部にスポットエリア履歴Sr(Num)が存在するか否かを判別し(ステップSB3)、一部がスポットエリア履歴Sr(Num)と重なるスポットエリア候補Sc(Num)が存在する場合には、そのスポットエリア候補Sc(Num)と、ステップSB2でスポットエリア履歴Sr(Num)から設定したスポットエリアSk(Num)を紐付け(ステップSB4)、同一のスポットエリアSk(Num)として後述のスポットエリアセンシング(ステップSC2)を実行する。
一部がスポットエリア履歴Sr(Num)と重なるスポットエリア候補Sc(Num)が存在する限り、ステップSB4を繰り返し、存在しなくなった場合には、スポットエリアSk(Num)に空きがあり、かつ紐付けていないスポットエリア候補Sc(Num)が存在するか否かを判別し(ステップSB5)、該当するスポットエリア候補Sc(Num)存在する場合には、スポットエリア履歴Sr(Num)をスポットエリアセンシングを実行するスポットエリアSk(Num)に設定し(ステップSB6)、存在しない場合には、スポットエリアSk(Num)に設定工程を終了する。
図12に示すStateCでは、始めにスポットエリアセンシングを実行していないスポットエリアSk(Num)が残されているかどうかを判定し(ステップSC1)、StateBでスポットエリアSk(Num)を設定した後、StateCにすすんだ場合には、設定したいずれかのスポットエリアSk(Num)について二次スキャンであるスポットエリアセンシングを実行する(ステップSC2)。
続いて、スポットエリアセンシングを実行したスポットエリアSk(Num)内の各交点S(m,n)について検出される検出信号の検出信号レベルVS(m,n)を、それぞれタッチオン閾値VTHOnとタッチオフ閾値VTHOffの山と谷の閾値と比較し、1又は2以上のタッチを判定する(ステップSC3)。タッチを判定すると、検出信号レベルVS(m,n)が高い順に、タッチと判定した交点S(m,n)で検出された検出信号レベルVS(m,n)とその周囲の交点Sで検出された検出信号レベルVS(m,n)の加重平均からタッチ位置P(x,y)を算定し、記憶する(ステップSC4)。
タッチと判定した全ての交点S(m,n)について、タッチ位置P(x,y)を算定した後、そのスポットエリアセンシングを実行したスポットエリアSk(Num)についてスポットエリアセンシング実行完了のフラッグを付けて(ステップSC5)、ステップSC1に戻り、スポットエリアセンシングを実行していないスポットエリアSk(Num)が残されている場合には、ステップSC2からステップSC5を繰り返し、全てのスポットエリアSk(Num)についてスポットエリアセンシングを実行した後、ステップSC5で算定したタッチ位置P(x,y)をスポットエリア履歴Sr(Num)を更新する(ステップSC6)。従って、次の入力検出シーケンスのステップSB2では、検出したタッチ位置P(x,y)をもとに生成するスポットエリア履歴Sr(Num)からスポットエリアセンシングを実行するスポットエリアSk(Num)が設定される。
次に、本発明の第2実施の形態に係るタッチパネルの入力位置検出方法を、タッチパネルの平面入力操作領域TAを入力操作体である2本の指T1、T2でタッチした後(図1参照)、更に他の指T3でタッチした場合(図6参照)を一例として、図13乃至図16に示すフローチャートに沿って説明する。この第2実施の形態では、平面入力操作領域TAへの入力操作を検出した場合に、通常、一次スキャン工程、スポットエリア設定工程、二次スキャン工程、入力位置検出工程からなる入力検出シーケンス毎に1又は複数の入力位置を検出し、入力操作が検出される限り、入力検出シーケンスを繰り返す。
一次スキャン工程においてラージエリアL(i,j)について検出される検出信号の検出信号レベルVL(i,j)は、駆動信号の電圧、入力操作体の対向面積、駆動電極群TXLiや検出電極群RXLiのパターン幅などによりその大きさが異なるが、本実施の形態では、説明の便宜上、ラージエリアL(i,j)を入力操作していない場合に「0」と、ラージエリアL(i,j)をタッチして入力操作する1本の指Tの全体がラージエリアL(i,j)内にある場合に「100」として説明する。また、同様に、二次スキャン工程の各交点S(m,n)について検出される検出信号の検出信号レベルVS(m,n)も、駆動信号の電圧、入力操作体の対向面積、駆動電極TXmや検検出電極RXnのパターン幅などにより異なるが、交点S(m,n)を入力操作していない場合を「0」と、交点S(m,n)上を1本の指Tが入力操作する場合を「100」として説明する。
また、本実施の形態においても、平面入力操作領域TAに複数の指Tで同時に入力操作可能な数を3本として、入力位置P(x,y)を検出するマルチタッチ入力数の上限Cmaxを3とする。入力検出シーケンスの初めにその直前の入力検出シーケンスにおいて、図示しない記憶部に記憶されている入力位置Pの数NPをCmaxと比較する(ステップS1)。直前の入力検出シーケンスにおいて3つの入力位置P(x,y)が記憶されている場合には、新たな入力位置P(x,y)を検出するためのスポットエリア設定工程を実行しないので、記憶されている3つの入力位置P(x,y)を中心とするスポットエリアSkをそれぞれ設定した(ステップS2)後、スポットエリアSkの総設定数NSkをCmaxである3として(ステップS3)、図16に示す二次スキャン工程を実行するか否かを判定するステップS24にすすむ。
ここでは、最初の入力検出シーケンスであり、記憶部に記憶されている入力位置P(x,y)の数NPは0であるので、ステップS1からステップS4にすすみ、平面入力操作領域TAを3行5列の15個に分割した各ラージエリアL(i,j)について検出信号レベルVL(i,j)を検出する一次スキャン工程を実行する(ステップS4)。
図1に示すように、指T1が駆動電極TX5と検出電極RX6の交点S(5,6)と駆動電極TX6と検出電極RX6の交点S(6,6)の中間付近を入力操作し、同時に他の指T2が駆動電極TX9と検出電極RX10の交点S(9,10)と駆動電極TX10と検出電極RX9の交点S(10,9)の中間付近を入力操作しているとすると、ステップS4の一次スキャン工程の結果、図2に示す様に、指T1を入力操作するラージエリアL(1,1)には、指T1と指T2が接近していることによって「120」の検出信号レベルVL(1,1)が検出される。また、指T2の入力操作位置の周囲の他のラージエリアL(1,2)、ラージエリアL(2,1)、ラージエリアL(2,2)にも、それぞれ指T2が境界位置にあることによって「20」の検出信号レベルVL(1,1)が検出される。
一次スキャン工程を実行した後、スポット設定工程に移行する前の初期設定として、スポットエリアSkの総設定数NSkを0とした後(ステップS5)、スポットエリア設定工程のうち、一次スポットエリア設定工程を実行するか否かを判定するステップS6にすすむ。
ここで、一次スキャン工程により、各ラージエリアL(i,j)について検出される検出信号レベルVL(i,j)は、上述の通り、入力位置P(x,y)が、ラージエリアL(i,j)内にある場合、隣り合うラージエリアL(i,j)との境界位置の近傍にある場合、4つのラージエリアL(i,j)が隣り合う境界位置の近傍にある場合の順に低下する。本実施の形態では、各場合に応じて一次スポットエリア設定工程、二次スポットエリア設定工程、三次スポットエリア設定工程を適宜実行するので、いずれの場合であるかを判別する為、大きさの順に中心タッチ判定閾値VTH1、2境界判定閾値VTH2、4境界判定閾値VTH3を設定して、各ラージエリアL(i,j)について検出される検出信号レベルVL(i,j)と比較する。
すなわち、いずれかのラージエリアL(i,j)から中心タッチ判定閾値VTH1を越える検出信号レベルVL(i,j)が検出された場合には、入力位置P(x,y)がそのラージエリアL(i,j)内にあると推定して、そのラージエリアL(i,j)を中心有感ラージエリア L1’とし、ステップS6から始まる一次スポットエリア設定工程を実行して中心有感ラージエリア L1’内の位置を中心とするスポットエリアSkを設定する。
また、いずれかの隣り合う2つのラージエリアL(i,j)からいずれも2境界判定閾値VTH2を越える検出信号レベルVL(i,j)が検出された場合には、入力位置P(x,y)がその2つのラージエリアL(i,j)の境界にあると推定して、その2つのラージエリアL(i,j)を2境界有感ラージエリア L2’とし、ステップS28から始まる二次スポットエリア設定工程を実行して2境界有感ラージエリアL2’の境界位置を中心とするスポットエリアSkを設定する。
更に、いずれかの隣り合う4つのラージエリアL(i,j)からいずれも4境界判定閾値VTH3を越える検出信号レベルVL(i,j)が検出された場合には、入力位置P(x,y)がその4つのラージエリアL(i,j)の境界にあると推定して、その4つのラージエリアL(i,j)を4境界有感ラージエリアL3’とし、ステップS17から始まる三次スポットエリア設定工程を実行して4境界有感ラージエリアL3’の境界位置を中心とするスポットエリアSkを設定する。
中心タッチ判定閾値VTH1、2境界判定閾値VTH2及び4境界判定閾値VTH3は、各閾値で判別する入力位置P(x,y)を指Tで入力操作し、検出された検出信号レベルVL(i,j)より低い値に設定するように、検出された実測値に基づく設定を行う。ここでは、例えば、中心タッチ判定閾値VTH1を「50」、2境界判定閾値VTH2を「30」、4境界判定閾値VTH3を「10」とする。
図13のフローチャートに戻り、一次スポットエリア設定工程を実行するか否かを判定するステップS6では、全てのラージエリアL(i,j)から一次スキャン工程により検出される検出信号レベルVL(i,j)を中心タッチ判定閾値VTH1と比較し(ステップS6)、検出信号レベルVL(i,j)が中心タッチ判定閾値VTH1を越える中心有感ラージエリア L1’が存在しない場合には、一次スポットエリア設定工程を行わず、二次スポットエリア設定工程を実行するか否かを判定するステップS15にすすむ。
図2に示すように、ラージエリアL(1,1)から検出される検出信号レベルVL(1,1)が「120」であり、50に設定した中心タッチ判定閾値VTH1を越えるので、ラージエリアL(1,1)を中心有感ラージエリア L1’(1,1)として一次スポットエリア設定工程を開始し、その中心有感ラージエリア L1’(1,1)内に記憶部に記憶された入力位置P(x,y)があるかどうかを判定する(ステップS7)。
この最初の入力検出シーケンスにおいては、記憶部に入力位置P(x,y)が記憶されていないので、中心有感ラージエリア L1’(1,1)の中心位置の交点S(7,7)を中心とするスポットエリアS1’を設定し(ステップS8)、0となっているスポットエリアSkの総設定数NSkをカウントアップして1とする(ステップS9)。以後、設定するスポットエリアSkの大きさは任意であるが、本実施の形態では、図2、図7に示すように、X、Y方向にそれぞれ6本若しくは7本の駆動電極TXmと検出電極RXnが含まれる大きさとしている。
一方、中心有感ラージエリア L1’(1,1)内に記憶部に記憶された入力位置P(x,y)がある場合には、その入力位置P(x,y)の付近に新たな入力位置P(x,y)が検出される可能性が高いので、記憶部に記憶された入力位置P(x,y)を中心とするスポットエリアSkを設定し(ステップS10)、同様にスポットエリアSkの総設定数NSkをカウントアップする(ステップS11)。
ここで、L1’内に記憶部に2以上の記憶された入力位置P(x,y)があり、以下のステップS12からステップS10に戻り、新たに記憶部に記憶された入力位置P(x,y)を中心とするスポットエリアSkを設定した場合には、後述するステップS40からステップS42の処理を実行し、既に設定したスポットエリアSkと一部が重複する場合に単一のスポットエリアSkに合成する。
ステップS10でスポットエリアSkを設定した場合には、更に、同じ中心有感ラージエリア L1’(1,1)内に別の指Tの入力操作によって記憶部に記憶された入力位置P(x,y)があるかどうかを判定し(ステップS12)、別の入力位置P(x,y)が記憶されている場合には、ステップS10からのフローを繰り返し、その入力位置P(x,y)を中心とする別のスポットエリアSkを設定する。
次に、ステップS10からステップS12のフロー若しくはステップS8からステップS9のフローで設定したスポットエリアSkの総設定数NSkをマルチタッチ入力数の上限Cmaxの3と比較し(ステップS13)、総設定数NSkが3に達した場合には、以後のスポットエリア設定工程を中止し、二次スキャン工程を実行するか否かを判定するステップS24にすすむ。
中心有感ラージエリア L1’(1,1)について1つのスポットエリアS1’を設定しただけなので、他に検出信号レベルVL(i,j)が中心タッチ判定閾値VTH1を越える中心有感ラージエリア L1’がないかを判定し(ステップS14)、中心有感ラージエリア L1’(1,1)以外に中心有感ラージエリア L1’が存在する場合には、その中心有感ラージエリア L1’についてステップS7からの一次スポットエリア設定工程を繰り返し、ここでは図2に示すように、他に中心タッチ判定閾値VTH1「50」を越える検出信号レベルVL(i,j)が検出された中心有感ラージエリア L1’は存在しないので、二次スポットエリア設定を実行するか否かを判定するステップS15へすすむ。
このステップS15では、一次スキャン(ステップS4)の結果、隣り合う2つのラージエリアL(i,j)について検出される検出信号レベルVL(i,j)がいずれも2境界判定閾値VTH2を越える2境界有感ラージエリア L2’が存在するかどうかを判定するが(ステップS15)、図2に示すように、隣り合う2つのラージエリアL(i,j)についての検出信号レベルVL(i,j)がいずれも2境界判定閾値VTH2の「30」を越える2境界有感ラージエリア L2’は存在しないので、二次スポットエリア設定工程を実行せず、三次スポットエリア設定を実行するか否かを判定するステップS16へすすむ。
ステップS16では、一次スキャン(ステップS4)の結果、互いに隣接する4つのラージエリアL(i,j)について検出される検出信号レベルVL(i,j)を4境界判定閾値VTH3と比較し(ステップS16)、4つの隣り合うラージエリアL(i,j)の検出信号レベルVL(i,j)がいずれも4境界判定閾値VTH3を越える4境界有感ラージエリア L3’が存在しない場合には、三次スポットエリア設定工程を行わずにスポットエリア設定工程を終了し、スポットエリア設定工程で設定したスポットエリアSkがあるかどうかを判定するステップS24にすすむ。
図2に示すように、隣接する4つのラージエリアL(1,1)、ラージエリアL(1,2)、ラージエリアL(2,1)、ラージエリアL(2,2)についてそれぞれ検出される検出信号レベルVL(i,j)はいずれも4境界判定閾値VTH3の「10」を越えるので、これらのラージエリアL(i,j)を4境界有感ラージエリアL3’(1,1)、L3’(1,2)、L3’(2,1)、L3’(2,2)とし、4境界有感ラージエリアL3’(1,1)、L3’(1,2)、L3’(2,1)、L3’(2,2)が互いに隣接する位置(9.5,9.5)を中心とするスポットエリアS2’を設定し(ステップS17)、スポットエリアSkの総設定数NSkをカウントアップする(ステップS18)。
続いて、ステップS17で設定したスポットエリアS2’がこれまでに設定したスポットエリアSkと一部が重複するか否かを判断し(ステップS19)、重複する場合には、一部が重複する両者を1つのスポットエリアSkに合成する(ステップS20)。ここでは、図2に示す様に、設定したスポットエリアS2’がこれまでに設定したスポットエリアS1’と重複するので、両者を合成してスポットエリアS1とし、合成することにより減少する総設定数NSkをカウントダウンする(ステップS21)。
次に、ステップS17からステップS19のフロー若しくはステップS20からステップS21のフローで設定したスポットエリアSkの総設定数NSkをマルチタッチ入力数の上限Cmaxの3と比較し(ステップS22)、総設定数NSkが3に達した場合には、二次スキャン工程を実行するか否かを判定するステップS24にすすむ。
ステップS20でスポットエリアS1’とスポットエリアS2’を合成した1つのスポットエリアS1を設定しただけで、総設定数NSk<Cmaxであるので、他に4つの隣り合うラージエリアL(i,j)の検出信号レベルVL(i,j)がいずれも4境界判定閾値VTH3を越える4境界有感ラージエリア L3’が存在しないかを判定し(ステップS23)、他に4境界有感ラージエリア L3’が存在する場合には、その4境界有感ラージエリア L3’についてステップS17からの三次スポットエリア設定工程を繰り返す。ここでは図2に示す様に、他に4境界有感ラージエリアL3’は存在しないので、二次スキャン工程を実行するか否かを判定するステップS24にすすむ。
ステップS24では、ステップS3若しくはスポットエリア設定工程で設定したスポットエリアSkがあるかどうかを判定し(ステップS24)、設定したスポットエリアSkが一つもない場合には、この入力検出シーケンスにおいて、平面入力操作領域TAへの入力操作は検出されなかったものとして、タイムアウト判定を行い(ステップS25)、所定時間入力検出シーケンスを繰り返しても入力操作が検出されない場合には、入力検出処理を終了する。また、所定時間に達していない場合には、ステップS1から始まる入力検出シーケンスを繰り返す。
ここでは、ステップS20でスポットエリアS1を設定し、総設定数NSkは1であるので、記憶部に記憶されている入力位置P(x,y)の総数Npを0にリセットした(ステップS26)後、これまでに設定したスポットエリアSkのいずれかを二次スキャンする(ステップS27)。
スポットエリアSkの二次スキャンは、上述の通り、スポットエリアSkを通過する各駆動電極TXm毎に駆動信号を出力して駆動走査するとともに、いずれかの駆動電極TXmに駆動信号が出力されている間に、スポットエリアSkを通過する各検出電極RXn毎に異なるタイミングで検出信号の検出信号レベルVSを検出する検出走査を行うもので、スポットエリアSk内の各交点S(m,n)について検出信号の検出信号レベルVS(m,n)を検出する。
ここでは、最初の入力検出シーケンスのスポットエリア設定工程で設定されたスポットエリアSkは、図3に示すスポットエリアS1であるので、スポットエリアS1をY方向に通過する駆動電極TX4から駆動電極TX12を駆動走査するとともに、スポットエリアS1をX方向に通過する検出電極RX4から検出電極RX12を検出操作し、スポットエリアS1内の全ての交点S(m,n)について検出信号の検出信号レベルVS(m,n)を検出する。図4は、スポットエリアS1内の全ての交点S(m,n)について検出した検出信号レベルVS(m,n)の検出結果を示している。
続いてこの検出結果から入力位置P(x、y)を検出するため、スポットエリアS1内の全ての交点S(m,n)について検出される検出信号レベルVS(m,n)を、X方向とY方向の交点S(m,n)の位置に沿って連続させ、検出信号レベルVS(m,n)がX方向とY方向のいずれにおいても極大値となり、かつ足きり閾値VTHB以上の極大値を検出する。また、検出した極大値を省いて、再び極大値を検出する処理を行って極大値を順次求めた上で、最大の極大値から極大値の大きさの順に比較する(ステップS28)。足きり閾値VTHB以上の極大値とするのは、ノイズ等の入力操作以外の要因で発生する異常値を入力位置P(x、y)を検出する極大値から除くためであり、本実施の形態ではVTHBを「20」とする。
図5は、スポットエリアS1内の各交点S(m,n)についての図4に示す検出信号レベルVS(m,n)の検出結果から、極大値となるXY平面上の位置を模式的に説明する説明図であり、平面入力操作領域のスポットエリアS1へ指T1と指T2を接近させた結果、交点S(6,5)、交点S(6,7)、交点S(9,9)、交点S(11,11)についてそれぞれ検出される検出信号レベルVS(6,5)の「73」、検出信号レベルVS(6,7)の「68」、検出信号レベルVS(9,9)の「52」が足きり閾値VTHBの「20」以上の極大値となる。
このうち、最大値となる極大値が検出された交点S(m,n)の近くに入力位置P(x,y)があると推定できるので、始めに最大値となる極大値を判定し(ステップS29)、その極大値が検出された交点S(m,n)の位置から入力位置P(x,y)を検出する(ステップS30)。ここでは、「73」の検出信号レベルVS(6,5)が極大値のうち最大値であるので、「73」の検出信号レベルVS(6,5)が検出された交点S(6,5)の位置から最初の入力位置P1(m,n)を検出する。
入力位置P1(m,n)を検出する方法は種々あり、交点S(6,5)の位置をそのまま入力位置P1(6,5)としてもよいが、本実施の形態では、交点S(6,5)のX方向で隣り合う交点S(5,5)、S(7,5)を含めた加重平均と、Y方向で隣り合う交点S(6,4)、S(6,6)を含めた加重平均からX、Y方向の入力位置P1(m,n)を求め、指T1の入力位置P1(6.17,5.31)を検出する。
入力位置P1(m,n)を検出すると、その入力位置P1(m,n)を記憶部へ記憶するとともに、入力位置P1(m,n)を入力操作位置として利用する上位のマイコンなどへ出力し(ステップS31)、記憶部に記憶されている入力位置P(m,n)の数NPをカウントアップする(ステップS32)。
その後、入力位置P(m,n)の記憶数NPを検出するマルチタッチ入力数の上限Cmaxと比較し(ステップS33)、上限Cmaxの3に達した場合には、以後新たな入力位置P(m,n)を検出することなく、ステップS1からの次の入力検出シーケンスを繰り返す。また、記憶数NPが上限Cmaxの3に達していない場合には、同じ設定したスポットエリアS1内から足きり閾値VTHBの「20」を越える次の他の極大値が検出されているか否かを判断する(ステップS34)。
最初に入力位置P1(6.17,5.31)を検出したので、記憶部に記憶された入力位置P(m,n)の数NPは1であり、同じ設定したスポットエリアS1内に比較処理を行っていない足きり閾値VTHBを越える他の極大値が残されているので、ステップS34からステップS29を経て、次の大きさの極大値が検出された交点S(m,n)との間にマルチタッチ判定レベル差VMが存在するか否かを判定する(ステップS35)。
マルチタッチ判定レベル差VMは、極大値が検出された交点S(m,n)の周囲にその交点S(m,n)を入力操作する入力操作体が連続しているかどうかを判定するもので、極大値からマルチタッチ判定レベル差VM以上のレベル差の検出信号レベルVS(m,n)を検出した交点S(m,n)には、入力操作体が連続していないと判断できる。つまり、大きさの順に比較した一組の極大値をそれぞれ検出した一組の交点S(m,n)の間にマルチタッチ判定レベル差VM以上の検出信号レベルVS(m,n)が存在する場合には、それぞれ別の入力操作体(指T)による入力操作(マルチタッチ)とみなし、ステップS35からステップS30に戻り、次の極大値が検出された交点S(m,n)からも別の入力位置P(m,n)を検出する(ステップS30)。
一方、マルチタッチ判定レベル差VMが存在しない場合には、接触面積の広い同一の入力操作体(指T)により大きさの順で連続する2つの極大値が検出されたものとして、新たな入力位置P(x,y)を検出せず、ステップS35からステップS34にすすみ、同じ設定したスポットエリアS1内から更に次の大きさの極大値を検出しているか否かを判断する(ステップS34)。
ここでは、ステップS35において、最大値の極大値を検出した交点S(6,5)と最大値の次の大きさの極大値が検出された交点S(6,7)との間にマルチタッチ判定レベル差VMが存在するか否かを判定する。最大値の極大値「73」が検出された交点S(6,5)と、大きさの順に次の極大値「68」が検出された交点S(6,7)との間にマルチタッチ判定レベル差VM「20」は存在しないので、ステップS34にすすむ。ステップS34では、極大値「68」より更に小さい次の極大値が残されているかを判断し、次の大きさの極大値「52」が残されているので、ステップS35に戻り、次に極大値「52」を検出した交点S(9,9)との間のマルチタッチ判定レベル差VMの有無を判断する。図4,図5に示すように、例えば、極大値「68」が検出された交点S(6,7)と次の極大値「52」が検出された交点S(9,9)の間には、マルチタッチ判定レベル差VM「20」以上のレベル差「4」の検出信号レベルVS(8,8)が存在するので、ステップS30にすすみ、極大値「52」が検出された交点S(9,9)の位置からも、同様の方法で、指T2の入力位置P2(9.34,9.43)を検出する。
その後、入力位置P1(6.17,5.31)と同様に新たな入力位置P2(9.34,9.43)を記憶部へ記憶するとともに、上位マイコンへ入力位置P2(9.34,9.43)を出力し(ステップS31)、記憶部の記憶数NPを1から2へカウントアップし、ステップS33でマルチタッチ入力数の上限Cmaxと比較し、上限「3」に達していないので、残る極大値の有無を判断する(ステップS34)。次の極大値「16」は、足きり閾値VTHBの「20」に満たないので極大値の比較から除かれ、全ての極大値について比較したので、その設定したスポットエリアS1からの入力位置検出処理を終了し、スポットエリア設定工程で設定した総設定数NSkを一つカウントダウンする(ステップS36)。
続いて、ステップS27の二次スキャン工程を行うべき残るスポットエリアNSkを判定し(ステップS37)、他に二次スキャン工程から入力位置を検出していないスポットエリアSkが残されている場合には、そのスポットエリアSkから入力位置P(m,n)を検出するために、ステップS27に戻り、二次スキャン工程を行い、一方、全ての設定したスポットエリアSkについて入力位置P(m,n)を検出した場合には、ステップS1からの次の入力検出シーケンスを繰り返す。この入力検出シーケンスにおいては、スポットエリアS1のみを設定しただけなので、ステップS36を経てステップS37において判定されるNSkは0であり、ステップS1からの次の入力検出シーケンスを開始する。
次のステップS1から始まる入力検出シーケンスの間に、図6に示すように、指T1、T2の他に新たに指T3が駆動電極TX7と検出電極RX19の交点S(7,19)と駆動電極TX7と検出電極RX20の交点S(7,20)の中間付近を入力操作しているとして、次の入力検出シーケンスにおいて、マルチタッチする指T1、T2、T3の各入力位置P(x,y)を検出する方法を説明する。
次の入力検出シーケンスでは、始めにステップS1において、記憶部に記憶されている入力位置P(x,y)の数NPは0であるので、ステップS1からステップS4にすすみ、平面入力操作領域TAの各ラージエリアL(i,j)について検出信号レベルVL(i,j)を検出する一次スキャン工程を実行し(ステップS4)し、スポットエリアSkの総設定数NSkを0にリセットする(ステップS5)。
一次スキャンの結果、図6に示すように、指T1と指T2の入力操作位置は変わらないので、ラージエリアL(1,1)に「120」の検出信号レベルVL(1,1)が、また、ラージエリアL(1,2)、ラージエリアL(2,1)、ラージエリアL(2,2)にそれぞれ「20」の検出信号レベルVL(m,n)が検出されることに変化はないが、新たに指T3が交点S(7,19)と交点S(7,20)の中間付近を入力操作することによって、ラージエリアL(1,3)、ラージエリアL(1,4)には、それぞれ指T3がその境界位置付近にあることによって「40」の検出信号レベルVL(1,3)、VL(1,4)が検出される。
一次スポットエリア設定工程を実行するか否かを判定するステップS6では、ラージエリアL(1,1)から検出される検出信号レベルVL(1,1)が50に設定した中心タッチ判定閾値VTH1を越える「120」であるので、ラージエリアL(1,1)を中心有感ラージエリア L1’(1,1)として、一次スポットエリア設定工程を開始し、その中心有感ラージエリア L1’(1,1)内に、記憶部に記憶された入力位置P(x,y)があるかどうかを判定する(ステップS7)。厳密には、その直前の入力検出シーケンスにおいて、同じラージエリアL(1,1)から検出される検出信号レベルVL(1,1)を中心タッチ判定閾値VTH1とする入力位置P(x,y)が記憶部に記憶されているか否かを判定するもので、隣接するラージエリアL(m,n)との境界にある入力位置P(x,y)が記憶部に記憶されていてもステップS7の判定要件からは除かれる。ここでは、中心有感ラージエリア L1’(1,1)内に指T1の入力位置P1(6.17,5.31)が記憶部に記憶されているので、その入力位置P1(6.17,5.31)を中心とするスポットエリアS1’を設定し(ステップS10)、0となっているスポットエリアSkの総設定数NSkを1とする(ステップS11)。
一方、指T2の入力位置P2(9.34,9.43)は、同じ中心有感ラージエリア L1’(1,1)内の位置で記憶部に記憶されているが、境界位置にあり、そのラージエリアL(1,1)から検出される検出信号レベルVL(1,1)を中心タッチ判定閾値VTH1とする入力位置P(x,y)ではないので、ステップS12で判定される入力位置P(x,y)とはならない。また、他に中心有感ラージエリア L1’(1,1)内に記憶部に記憶された入力位置P(x,y)はなく、別の中心有感ラージエリア L1’(m,n)もないので、ステップS12からステップS13、S14を介して 二次スポットエリア設定を実行するか否かを判定するステップS15へすすむ。
ステップS15では、一次スキャン(ステップS4)の結果、隣り合う2つのラージエリアL(i,j)について検出される検出信号レベルVL(i,j)を、2境界判定閾値VTH2と比較し(ステップS15)、隣り合う2つのラージエリアL(i,j)の検出信号レベルVL(i,j)がいずれも2境界判定閾値VTH2を越える2境界有感ラージエリア L2’が存在するかどうかを判定する(ステップS15)。
図7に示すように、隣り合う2つのラージエリアL(1,3)、ラージエリアL(1,4)についてそれぞれ検出される検出信号レベルVL(i,j)はいずれも2境界判定閾値VTH2の「30」を越えるので、これらのラージエリアL(i,j)を2境界有感ラージエリア L2’(1,3)、L2’(1,4)とし、2境界有感ラージエリア L2’(1,3)、L2’(1,4)が隣接する位置(7,19.5)を中心とするスポットエリアS2を設定し(ステップS38)、スポットエリアSkの総設定数NSkを2にカウントアップする(ステップS39)。
続いて、ステップS38で設定したスポットエリアSkがこれまでに設定したスポットエリアSkと一部が重複するか否かを判断し(ステップS40)、重複する場合には、一部が重複する両者を1つのスポットエリアSkに合成し(ステップS41)、合成することにより減少するスポットエリアSkの総設定数NSkをカウントダウンする(ステップS42)。
図7に示す様に、ステップS38で設定したスポットエリアS2は、一次スポットエリア設定工程で設定したスポットエリアS1’とは重複しないので、ステップS40から、スポットエリアSkの総設定数NSkをマルチタッチ入力数の上限Cmaxと比較するステップS43にすすみ、総設定数NSk「2」は上限Cmax「3」以下であるので、他に2境界有感ラージエリア L2’が存在するかどうかを判定し(ステップS43)、他に2境界有感ラージエリア L2’が存在する場合には、その2境界有感ラージエリア L2’からスポットエリアSkを設定するステップS38からの二次スポットエリア設定工程を繰り返す。図7に示す様に、他に2境界有感ラージエリア L2’は存在しないので、三次スポットエリア設定を実行するか否かを判定するステップS16へすすむ。
隣接する4つのラージエリアL(1,1)、ラージエリアL(1,2)、ラージエリアL(2,1)、ラージエリアL(2,2)の境界位置を入力操作する指T2の入力位置P2(x,y)が変わらないとすると、ステップS16を介してステップS17で図7に示すスポットエリアS2’が設定される。一方、指T1の入力操作から設定されるスポットエリアS1’は、中心が中心有感ラージエリア L1’(1,1)の中心位置から入力位置P1(6.17,5.31)にずれているが、図7に示すように、スポットエリアS1’とスポットエリアS2’は一部が重複するので、ステップS20において両者を合成してスポットエリアS1とし、合成することにより減少する総設定数NSkをカウントダウンする(ステップS21)。以下の三次ステップエリア設定工程は同一であるので、ステップエリア設定工程では、図8に示すスポットエリアS1とスポットエリアS2が設定される。
続く、二次スキャン工程を実行するか否かを判定するステップS24では、設定したスポットエリアSkの数NSkが「2」であるので、記憶部に記憶されている入力位置P(x,y)の総数Npを2から0にリセットした(ステップS26)後、設定したスポットエリアSkのいずれかを二次スキャンする(ステップS27)。始めにスポットエリアS1について二次スキャンを実行し、ステップS27からステップS37の工程を実行してスポットエリアS1から、指T1の入力位置P1(6.17,5.31)と指T2の入力位置P2(9.34,9.43)を検出する方法は前述と同様であるので、その説明を省略する。
スポットエリアS1内に検出される全ての極大値を比較すると、ステップS36、ステップS37を介して、ステップS27においてスポットエリアS2について二次スキャンが実行される。その後、ステップS28からステップS31までの工程で、スポットエリアS1内で検出される極大値のうち、最大値となる極大値が検出された交点S(m,n)から3番目の指T3の入力位置P3(x,y)が検出され、入力位置P3(x,y)が記憶部に記憶されるとともに上位のマイコンへ出力されるまでは前述と同様であるが、これにより記憶部に記憶される入力位置P(x,y)の数NpはステップS32で「3」となり、マルチタッチ入力数の上限Cmaxの「3」に達するので、以後のスポットエリアS2から検出される極大値からは新たな入力位置P(x,y)が検出されず、次のステップS1からの次の入力検出シーケンスを開始する。
上記実施の形態では、同時に入力操作する入力操作を検出するマルチタッチ入力数の上限Cmaxを「3」に設定しているが、他の数や上限Cmaxを必ずしも設定しなくてもよい。
また、上述の実施の形態では、有感ラージエリアL’(i,j)内に、その直前の入力検出サイクルの前記入力位置検出工程において記憶した入力位置が含まれている場合には、その入力位置を中心とするスポットエリアSkを設定しているが、記憶部に記憶された入力位置を基準とした別の位置を中心にスポットエリアSkを設定することもできる。また、記憶部に記憶された入力位置がラージエリアL(i,j)の境界付近にあっても、その入力位置を中心とするスポットエリアSkを設定できる。
また、一部が重複する2以上のスポットエリアSkを単一のスポットエリアSkに合成して、合成したスポットエリアSkについて二次スキャン工程を実行したが、一部が重複する複数のスポットエリアSkについてそれぞれ二次スキャン工程を実行してもよい。
上述の実施の形態では、駆動電極TXmを複数の駆動電極TXから構成し、各駆動電極TXmの絶縁パネル上のY方向の形成位置は、構成する駆動電極TXのY方向の中心位置としているが、1本の駆動電極TXから駆動電極TXmを構成し、その駆動電極TXの配線位置を駆動電極TXmのY方向の位置としてもよい。
また、複数の駆動電極TXmと検出電極RXnは、平面入力操作領域TAに等ピッチで格子状に配線しているが、異なる形状やピッチで配線するものであってもよい。
また、駆動電極TXm若しくは駆動電極群TXLiから出力される駆動信号は、矩形波の信号に限らず、入力操作体の接近による入力操作体との静電容量の変化を検出信号で検出できれば、いずれの波形の交流信号であってもよい。