(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記検出対象信号の前記各信号値について、前記基準値から離れて前記キャリブレーション失敗検出用閾値を超えている数と、前記基準値から離れて前記指示体検出用閾値を超えている数と、の比較結果に基づいて、前記キャリブレーションの失敗の有無を判定することを特徴とする請求項1に記載のタッチパネルシステム。
前記制御部は、前記キャリブレーションが失敗したと判定した場合に、前記センス信号処理部を制御して、前記キャリブレーションを再度実行させることを特徴とする請求項1または2に記載のタッチパネルシステム。
【発明を実施するための形態】
【0026】
<<タッチパネルシステム>>
<全体構造例及び全体動作例>
以下、本発明の実施形態に係るタッチパネルシステムについて、図面を参照して説明する。最初に、本発明の実施形態に係るタッチパネルシステムの全体的な構造及び動作の一例について、図面を参照して説明する。
【0027】
図1は、本発明の実施形態に係るタッチパネルシステムの全体的な構造の一例を示すブロック図である。
【0028】
図1に示すように、タッチパネルシステム1は、タッチパネル10と、ドライブライン駆動部20と、センス信号処理部30と、指示体位置検出部40と、制御部50と、を備える。
【0029】
タッチパネル10は、検出面Pに沿って互いに平行に設けられる複数のドライブラインDLと、検出面Pに沿って互いに平行に設けられるとともにドライブラインDLと交差する複数のセンスラインSLと、を備える。ドライブラインDLは、X方向(図中上下方向)に沿って延びるように設けられている。一方、センスラインSLは、X方向に対して垂直なY方向(図中左右方向)に沿って延びるように設けられている。即ち、
図1に示すタッチパネルシステム1では、ドライブラインDL及びセンスラインSLが、垂直に交差する。なお、ドライブラインDL及びセンスラインSLは、垂直以外の角度で交差してもよい。
【0030】
図2は、
図1のタッチパネルが備えるドライブライン及びセンスラインの構造の一例について示す平面図及び等価回路図である。
図2(a)は、タッチパネル10が備えるドライブラインDL及びセンスラインSLの構造について示す平面図であり、
図2(b)は、
図2(a)に示す構造と等価な回路を示す等価回路図である。
【0031】
図2(a)及び
図2(b)に示すように、ドライブラインDLは、センスラインSLと交差する部分を除いて局所的に面積が大きくなるドライブラインパッド部DLPを備える。同様に、センスラインSLは、ドライブラインDLと交差する部分を除いて局所的に面積が大きくなるセンスラインパッド部SLPを備える。
【0032】
ドライブラインDL及びセンスラインSLが交差する部分では、ドライブラインDLとセンスラインSLとの間に静電容量(以下、単に「容量」という)Cが形成される。なお、
図2(a)に例示する構造では、主として隣接するドライブラインパッド部DLP及びセンスラインパッド部SLPの間(即ち、交差するドライブラインDL及びセンスラインSLの間)で、容量Cが形成される。なお、ドライブラインDLにドライブラインパッド部DLPが設けられず、センスラインSLにセンスラインパッド部SLPが設けられなくてもよい。この場合でも、ドライブラインDL及びセンスラインSLの交差部分において、容量Cが形成される。
【0033】
図3は、タッチパネルの電界の状態を示す模式図である。
図3(a)は、検出面P上に指示体が存在しない場合の模式図であり、
図3(b)は、検出面P上に指示体(指F)が存在する場合の模式図である。なお、
図3(a)及び
図3(b)のそれぞれにおいて、電気力線(静電力線)を矢印で示している。また、
図3(a)及び
図3(b)では、図示の簡略化のため、ドライブラインパッド部DLP及びセンスラインパッド部SLPが、同一平面に存在するように図示しているが、これらは異なる平面に存在していてもよい。
【0034】
図3(b)に示すように、検出面Pに指Fを接触または近接させると、指Fを含む人体は、接地された物体(即ち、シールド)として振る舞う。そのため、
図3(b)に示すように、検出面P上に指Fを接触または近接させると、
図3(a)に示すような検出面P上に指Fが存在しない場合と比較して、ドライブラインDL及びセンスラインSLが形成する容量が小さくなる。なお、ドライブラインDLにドライブラインパッド部DLPが設けられず、センスラインSLにセンスラインパッド部SLPが設けられない場合であっても、容量Cは同様に変化する。
【0035】
ドライブライン駆動部20は、複数のドライブラインDLに対して、信号電圧の組み合わせが所定の順番で変動するドライブ信号Diを、繰り返し与えて駆動する。これにより、センスラインSLに、ドライブラインDL及びセンスラインSLが形成する容量に対応した強度のセンス信号Siが表れる。
【0036】
センス信号処理部30は、センス信号取得部31と、信号値調整部32と、記憶部33と、を備える。センス信号取得部31は、センスラインSLに表れるセンス信号Siを取得して、容量分布信号Aiを生成する。また、信号値調整部32は、センス信号取得部31から得られる容量分布信号Aiの各信号値を調整することで、検出対象信号Biの各信号値を生成する。また、記憶部33は、信号値調整部32における容量分布信号Aiの信号値の調整方法を示すデータ(換言すると、センス信号処理部30における検出対象信号Biの信号値の算出方法を示すデータ、以下「キャリブレーションデータ」という)を、一時的に記憶する。
【0037】
検出対象信号Biは、検出面Pの各位置に接触または近接する指示体の有無を、検出面Pの各位置に対応する各信号値の大きさでそれぞれ表した信号である。具体的に、
図1に例示するタッチパネルシステム1において生成される検出対象信号Biは、ドライブラインDLとセンスラインSLとが形成する容量の面内分布を示す信号となる。
【0038】
指示体位置検出部40は、検出対象信号Biに基づいて、検出面Pに接触または近接する指示体の位置を検出し、その検出結果を示す検出結果信号Tiを生成する。具体的に、指示体位置検出部40は、検出対象信号Biの各信号値によって表される容量の面内分布について、容量が変動している検出面P内の位置を検出することによって、指示体の位置を検出する。
【0039】
検出結果信号Tiには、検出された指示体の数や、それぞれの指示体の位置、それぞれの指示体の検出面Pに対する接触または近接の程度を示すデータなどが含まれ得る。そして、この検出結果信号Tiは、例えばタッチパネルシステム1を備える電子情報機器において、ユーザの指示を示す信号として利用される。
【0040】
制御部50は、ドライブライン駆動部20と、センス信号処理部30と、指示体位置検出部40と、の動作をそれぞれ制御する。特に、制御部50は、センス信号処理部30の動作(特に、後述するキャリブレーション)が正常に実行されたか否かを監視する(詳細は後述)。
【0041】
なお、
図1において、記憶部33を、センス信号処理部30の一部として示しているが、記憶部33が記憶するデータは、センス信号処理部30の動作に関連するデータには限られない。例えば、指示体位置検出部40が、検出対象信号Biの他に過去の指示体の位置を利用して現在の指示体の位置を検出する場合や、指示体の移動速度や移動方向を示すデータを検出結果信号Tiに含める場合において、記憶部33が、過去(例えば、直近)に指示体位置検出部40が検出した指示体の位置を示すデータを一時的に記憶するとともに、当該データを指示体位置検出部40に対して与えてもよい。また、
図1では、指示体位置検出部40と制御部50とを別体として表しているが、指示体位置検出部40は、制御部50の一部を成すものであってもよい。
【0042】
<タッチパネルの駆動方法と容量分布信号の生成方法>
次に、上述したタッチパネルシステム1の各部の具体的な動作例について、図面を参照して説明する。最初に、ドライブライン駆動部20によるタッチパネル10の駆動方法のと、センス信号取得部31による容量分布信号Aiの生成方法について、図面を参照して説明する。なお、以下では説明の具体化のため、ドライブライン駆動部20が、タッチパネル10を直交並列駆動する場合について例示する。
【0043】
図4及び
図5を参照して、タッチパネル10の直交並列駆動について説明する。
図4は、タッチパネルの直交並列駆動について説明する図である。また、
図5は、タッチパネルを直交並列駆動する場合における容量分布信号の復号方法について説明する図である。なお、
図4では説明の簡略化のために、1本のセンスラインSL1と、4本のドライブラインDL1〜DL4のみを示している。また、センスラインSL1とドライブラインDL1〜DL4のそれぞれとが成すそれぞれの容量を、C11〜C41とする。
【0044】
図4の上側のブロック図に示すように、センス信号取得部31は、増幅部311と、容量信号生成部312と、を備える。増幅部311は、センスラインSL1が接続される反転入力端子(−)と出力端子とが増幅容量Cintを介して接続されるとともに、非反転入力端子(+)が接地電圧(GND)となるオペアンプによって構成されている。また、容量信号生成部312は、増幅部311の出力端子の電圧値VoutをAD(Analog to Digital)変換した上で所定の演算を行うことにより容量C11〜C41に対応した変換値Ctを得て、当該変換値Ctを復号化して容量分布信号Aiを生成するように構成されている。
【0045】
また、
図4の下側の表に示すように、タッチパネル10の直交並列駆動では、ドライブラインDL1〜DL4に対して、信号電圧「1」(正の電圧、+V)及び「−1」(負の電圧、−V)を成分として有するドライブ信号Diが与えられる。本例では、ドライブラインDL1〜DL4に対して与えられるドライブ信号Diは、「1」及び「−1」の組み合わせが、
図4の下側の表に示す順番で変動するとともに、繰り返されるものとなる(例えば、1回目、2回目、3回目、4回目、1回目、2回目、・・・)。
【0046】
直交並列駆動では、ドライブラインDL1〜DL4の駆動によって、ドライブラインDL1〜DL4のそれぞれに正または負の電荷が蓄積される。そのため、センスラインSL1には、全ての容量C11〜C41を加算または減算して組み合わせた値に対応した電圧値のセンス信号Siが表れ、増幅部311の出力端子の電圧値Voutも、容量C11〜C41を加算または減算して組み合わせた値に対応した値となる。
【0047】
具体的に、1回目の駆動では、ドライブラインDL1〜DL4の全てに対して「1」が与えられるため、増幅部311の出力端子の電圧値Voutは、Vout=(C11+C21+C31+C41)・V/Cintとなる。このとき、電圧V及び増幅容量Cintが既知であるため、容量信号生成部312は、電圧値Voutに対して簡単な演算を行う(Cint/Vを乗じる)だけで、容量C11〜C41を加算または減算して組み合わせた変換値Ctを得ることができる。この1回目の駆動では、容量信号生成部312が演算を行うと、C11+C21+C31+C41を示す変換値Ctが得られる。
【0048】
また、2回目の駆動では、ドライブラインDL1,DL3に対して「1」が与えられ、ドライブラインDL2,DL4に対しては「−1」が与えられるため、増幅部311の出力端子の電圧値Voutは、Vout=(C11−C21+C31−C41)・V/Cintとなる。そして、容量信号生成部312の演算によって、C11−C21+C31−C41を示す変換値Ctが得られる。
【0049】
また、3回目の駆動では、ドライブラインDL1,DL2に対して「1」が与えられ、ドライブラインDL3,DL4に対しては「−1」が与えられるため、増幅部311の出力端子の電圧値Voutは、Vout=(C11+C21−C31−C41)・V/Cintとなる。そして、容量信号生成部312の演算によって、C11+C21−C31−C41を示す変換値Ctが得られる。
【0050】
また、4回目の駆動では、ドライブラインDL1,DL4に対して「1」が与えられ、ドライブラインDL2,DL3に対しては「−1」が与えられるため、増幅部311の出力端子の電圧値Voutは、Vout=(C11−C21−C31+C41)・V/Cintとなる。そして、容量信号生成部312の演算によって、C11−C21−C31+C41を示す変換値Ctが得られる。
【0051】
上記のようにして得られた変換値Ctから、それぞれの容量C11〜C41を求めるためには、
図5に示すような変換値Ctの復号が必要となる。なお、
図5では、4本のセンスラインSL1〜SL4と、ドライブラインDL1〜DL4と、が形成する容量C11〜C44をそれぞれ求める場合について説明するが、ドライブラインDL1〜DL4に与えられるドライブ信号Diは、
図4と同様である。
【0052】
また、
図5(a)に示すように、センスラインSL1とドライブラインDL1〜DL4とが形成する容量をC11〜C41、センスラインSL2とドライブラインDL1〜DL4とが形成する容量をC12〜C42、センスラインSL3とドライブラインDL1〜DL4とが形成する容量をC13〜C43、センスラインSL4とドライブラインDL1〜DL4とが形成する容量をC14〜C44とする。さらに、1回目〜4回目の駆動時におけるセンスラインSL1の変換値をCt11〜Ct41、1回目〜4回目の駆動時におけるセンスラインSL2の変換値をCt12〜Ct42、1回目〜4回目の駆動時におけるセンスラインSL3の変換値をCt13〜Ct43、1回目〜4回目の駆動時におけるセンスラインSL4の変換値をCt14〜Ct44とする。
【0053】
この場合、
図5(b)に示すように、変換値Ct11〜Ct44の行列「Ct」は、ドライブ信号Diの行列「H」と容量C11〜C44の行列「C」との内積になる。なお、行列「Ct」は、変換値が得られるセンスラインSL1〜SL4を行、変換値が得られる順番を列としたものである。また、行列「H」は、ドライブ信号Diの成分(信号電圧)を与えるドライブラインDL1〜DL4を行、ドライブ信号Diの成分を与える順番を列としたものである。また、行列「C」は、ドライブラインDL1〜DL4が延びる方向(X方向)に沿った容量を行、センスラインSL1〜SL4が延びる方向(Y方向)に沿った容量を列としたものである。
【0054】
ここで、説明の具体化のために、
図4に示したセンスラインSL1及び容量C11〜C41に着目する。なお、以下の説明は、これ以外のセンスラインSL2〜SL4及び容量C12〜C42,C13〜C43,C14〜C44についても、同様に妥当するものである。
【0055】
図5(b)における内積「H」・「C」の第1行第1列の成分であるCt11は、下記式(1)となる。同様に、内積「H」・「C」の第2行第1列の成分であるCt21は下記式(2)、内積「H」・「C」の第3行第1列の成分であるCt31は下記式(3)、内積「H」・「C」の第4行第1列の成分であるCt41は下記式(4)となる。
【0056】
Ct11=C11+C21+C31+C41 ・・・(1)
Ct21=C11−C21+C31−C41 ・・・(2)
Ct31=C11+C21−C31−C41 ・・・(3)
Ct41=C11−C21−C31+C41 ・・・(4)
【0057】
直交並列駆動では、ドライブラインDL1〜DL4に対して与えられるドライブ信号Diの成分「1」及び「−1」が直交系列となるため、行列「H」が直交行列になる。そのため、
図5(c)に示すように、ドライブ信号の行列「H」の転置行列(行の成分と列の成分を入れ替えた行列)「H
T」と行列「Ct」との内積を求めるのみで、行列「C」(即ち、容量の面内分布)を求めることができる。なお、本例では、行列「H
T」が行列「H」と等しくなる。
【0058】
具体的に、内積「H
T」・「Ct」の第1行第1列の演算結果は、下記式(5)となる。同様に、内積「H
T」・「Ct」の第2行第1列の演算結果は下記式(6)となり、内積「H
T」・「Ct」の第3行第1列の演算結果は下記式(7)となり、内積「H
T」・「Ct」の第4行第1列の演算結果は下記式(8)となる。なお、下記式(5)〜(8)の右辺は、下記式(5)〜(8)の左辺に対して上記式(1)〜(4)をそれぞれ代入することで求められる。
【0059】
Ct11+Ct21+Ct31+Ct41=4・C11 ・・・(5)
Ct11−Ct21+Ct31−Ct41=4・C21 ・・・(6)
Ct11+Ct21−Ct31−Ct41=4・C31 ・・・(7)
Ct11−Ct21−Ct31+Ct41=4・C41 ・・・(8)
【0060】
直交並列駆動では、容量信号生成部312における復号処理(行列の演算)によって、t倍(
図5の例では4)の容量C11〜C41が求められるため、ノイズの影響がt
1/2倍に低減される。
【0061】
そして、以上のようにして生成される容量分布信号Aiは、検出面Pの各位置における容量の大きさを、各信号値の大きさで表したものとなる。特に、上記の方法で生成される容量分布信号Aiは、検出面Pに形成される容量が大きくなるほど、対応する信号値が小さくなる。これは、容量分布信号Aiを調整して生成される検出対象信号Biにおいても同様である。
【0062】
ところで、上述のように、タッチパネル10が生成するセンス信号Siは、タッチパネル10の構造上のばらつきや、検出面Pに付着した汚れ、経年劣化、使用環境(特に、温度)などの様々な影響を受ける。センス信号Siを処理して得られる容量分布信号Aiも同様であり、これらの影響を受ける。そのため、容量分布信号Aiの各信号値は、無指示状態であってもばらついてしまい、不均一となる。したがって、この容量分布信号Aiを直接的に利用して指示体の検出を行った場合、指示体の検出感度が、検出面P内でばらつくことになる。
【0063】
そこで、本発明の実施形態に係るタッチパネルシステム1では、以下において説明するキャリブレーションを実行することで、容量分布信号Aiの信号値の調整方法(検出対象信号Biの信号値の算出方法)を決定する。そして、信号値調整部32が、この決定した容量分布信号Aiの信号値の調整方法(検出対象信号Biの信号値の算出方法)に基づいて検出対象信号Biを生成することによって、上記の様々な影響による指示体の検出感度のばらつきを抑制する。
【0064】
<キャリブレーションの実行>
次に、センス信号処理部30の信号値調整部32におけるキャリブレーションについて、図面を参照して説明する。
【0065】
図6は、容量分布信号とキャリブレーションデータと検出対象信号とのそれぞれについて示すグラフである。
図6(a)は、容量分布信号Aiについて示すグラフである。
図6(b)は、キャリブレーションデータについて示すグラフである。
図6(c)は、検出対象信号Biについて示すグラフである。また、
図6(a)〜
図6(c)に示す容量分布信号Ai、キャリブレーションデータ及び検出対象信号Biは、それぞれ無指示状態で生成されたものである。
【0066】
図6(a)に示すように、容量分布信号Aiの各信号値は、上述したように無指示状態であってもばらつくため、不均一となる。
【0067】
そこで、信号値調整部32は、キャリブレーションを実行することで、この容量分布信号Aiの各信号値のばらつきを抑制するための調整方法を決定する。具体的に、信号値調整部32は、無指示状態において生成する検出対象信号Biの各信号値が、所定の値である基準値となるような、容量分布信号Aiの信号値の調整方法(キャリブレーションデータ)を決定する。なお、以下では説明の具体化のため、基準値が「0」である場合について例示する。
【0068】
例えば、信号値調整部32は、
図6(a)に示す容量分布信号Aiの各信号値を基準値にするためのキャリブレーションデータを生成する。具体的に、信号値調整部32は、
図6(b)に示すように、
図6(a)の容量分布信号Aiの各信号値を基準値について反転させた値(即ち、基準値−信号値)を有するキャリブレーションデータを生成する。
【0069】
そして、信号値調整部32は、このキャリブレーションデータを用いて、キャリブレーションの実行後に取得した容量分布信号Aiの信号値を調整することで、検出対象信号Biの信号値を算出する。具体的に、信号値調整部32は、容量分布信号Aiの各信号値に対して、対応するキャリブレーションデータの各値を加算することで、検出対象信号Biの各信号値を算出する。このようにして算出される検出対象信号Biの各信号値は、無指示状態において、
図6(c)に示すように基準値(または、基準値に近似した値)となるため、均一となる。
【0070】
ここで、検出面Pに指示体が接触した場合に生成される検出対象信号Biについて、図面を参照して説明する。
図7は、検出面に指示体が接触した場合に生成される検出対象信号を示すグラフである。
図7(a)は、検出面Pに指が接触した場合に生成される検出対象信号Biを示すグラフである。
図7(b)は、検出面Pにスタイラスペンが接触した場合に生成される検出対象信号Biを示すグラフである。
【0071】
図7(a)及び
図7(b)に示すように、検出面Pに指示体(指、スタイラスペン)が接触すると、その接触位置に対応する検出対象信号Biの信号値が、基準値と比較して著しく大きくなる。一方、検出面Pの他の位置に対応する検出対象信号Biの信号値は、基準値(または、基準値に近似した値)のままである。
【0072】
このように、キャリブレーションを実行すると、検出面Pに指示体が接触または近接した場合において、その接触位置に対応する信号値が、他の位置に対応する信号値とは顕著に異なる検出対象信号Biを、生成することが可能となる。そのため、指示体位置検出部40が、この検出対象信号Biを利用して指示体の検出を行うことで、指示体を精度良く検出することが可能になる。
【0073】
また、
図7(a)及び
図7(b)に示すように、検出面Pに指が接触した場合における検出対象信号Biの信号値の増大量(容量の減少量)は、検出面Pにスタイラスペンが接触した場合における検出対象信号Biの信号値の増大量(容量の減少量)よりも、大きくなる。例えば、
図7(a)及び
図7(b)に示す例では、検出面Pに指が接触した場合における検出対象信号Biの信号値の増大量(容量の減少量)は、検出面Pにスタイラスペンが接触した場合における検出対象信号Biの信号値の増大量(容量の減少量)の、10倍程度まで大きくなっている。
【0074】
<キャリブレーションの失敗>
上述のように、無指示状態における検出対象信号Biの信号値を均一にするためには、上記のキャリブレーションを無指示状態で実行する必要がある。キャリブレーションを実行する際に、検出面Pに接触または近接する指示体が存在していると、信号値調整部32が、検出面Pに接触または近接する指示体の影響をも打ち消すような、容量分布信号Aiの各信号値の調整方法を決定するため、キャリブレーションが失敗する。
【0075】
ここで、キャリブレーションが失敗した後に生成される検出対象信号について、図面を参照して説明する。
図8は、キャリブレーションが失敗した後に生成される検出対象信号を示すグラフである。
図8(a)は、検出面Pに指が接触した状態でキャリブレーションが実行されることでキャリブレーションが失敗した後に生成される検出対象信号Biを示すグラフである。
図8(b)は、検出面Pにスタイラスペンが接触した状態でキャリブレーションが実行されることでキャリブレーションが失敗した後に生成される検出対象信号Biを示すグラフである。また、
図8(a)及び
図8(b)に示すそれぞれのグラフは、無指示状態で生成された検出対象信号Biを示したものである。
【0076】
図8(a)及び
図8(b)に示すように、キャリブレーションを実行する際に、検出面Pに指示体(指、スタイラスペン)が接触していると、その後に生成される検出対象信号Biにおいて、その接触位置に対応する信号値は、基準値よりも著しく小さくなる。このとき、当該接触位置に対応する検出対象信号Biの信号値の減少量は、検出面Pに指示体(指、スタイラスペン)が接触した場合における増大量(
図7(a)及び
図7(b)参照)と、同程度となる。
【0077】
また、
図8(a)及び
図8(b)に示すように、検出面Pに指が接触する状態でキャリブレーションが実行された後に生成される検出対象信号Biの接触位置に対応する信号値は、検出面Pにスタイラスペンが接触していた状態でキャリブレーションが実行された後に生成される検出対象信号Biの接触位置に対応する信号値よりも、小さくなる。例えば、
図8(a)及び
図8(b)に示す例では、検出面Pに指が接触していた状態でキャリブレーションが実行された後に生成される検出対象信号Biの接触位置に対応する信号値が、検出面Pにスタイラスペンが接触していた状態でキャリブレーションが実行された後に生成される検出対象信号Biの接触位置に対応する信号値の、10倍程度まで小さくなっている。
【0078】
そして、信号値調整部32が、
図8(a)及び
図8(b)に示すような検出対象信号Biを生成する場合、基準値よりも著しく小さい信号値に対応する検出面Pの位置(キャリブレーションを実行する際に指示体が接触していた位置)に、指示体が接触または近接したとしても、当該位置に対応する信号値は信号値調整部32によって小さくなるように調整されるため、基準値よりも著しく大きくなることは生じ難い。そのため、検出面Pの当該位置については、指示体の検出感度が著しく低下し、場合によっては指示体を検出することが不可能となる。
【0079】
そこで、本発明の実施形態に係るタッチパネルシステム1では、以下において説明するように、制御部50が、キャリブレーションの失敗の有無について判定する。
【0080】
<キャリブレーションの失敗の判定方法>
制御部50によるキャリブレーションの失敗の判定方法について、図面を参照して説明する。
図9は、キャリブレーションの失敗の有無を判定するために用いられる閾値を示すグラフである。
【0081】
図7(a)及び
図7(b)に示したように、検出面Pに指示体(指、スタイラスペン)が接触または近接すると、検出対象信号Biにおける少なくとも1つの信号値が、基準値よりも著しく大きくなる。一方、
図8(a)及び
図8(b)に示したように、キャリブレーションが失敗すると、検出対象信号Biの少なくとも一つの信号値が、基準値よりも著しく小さくなる。
【0082】
そこで、
図9に示すように、制御部50は、検出対象信号Biの信号値が、所定の閾値(キャリブレーション失敗検出用閾値:第3閾値Th3及び第4閾値Th4)を下回った場合に、キャリブレーションの失敗があったと判定する。一方、制御部50は、検出対象信号Biの信号値が、所定の閾値(指示体検出用閾値:第1閾値Th1及び第2閾値Th2)を上回った場合に、検出面Pに対する指示体(指、スタイラスペン)の接触があったと判定する。ただし、基準値は、キャリブレーション失敗検出用閾値と指示体検出用閾値との間の値である。
【0083】
また、
図7(a)、
図7(b)、
図8(a)及び
図8(b)に示したように、検出面Pに接触する指示体(指、スタイラスペン)に応じて、検出対象信号Biの信号値の増大量及び減少量が異なる。そのため、タッチパネルシステム1で使用され得る指示体の種類に応じた閾値がそれぞれ設定されると、好ましい。
【0084】
図9に示す例では、指について、キャリブレーション失敗検出用閾値として第3閾値Th3が設定されるとともに、指示体検出用閾値として第1閾値Th1が設定されている。この場合、制御部50は、検出対象信号Biの信号値が第1閾値Th1を上回った場合(基準値から離れて第1閾値Th1を超えた場合)に、検出面Pに指が接触したと判定する。さらに、制御部50は、検出対象信号Biの信号値が第3閾値Th3を下回った場合(基準値から離れて第3閾値Th3を超えた場合)に、キャリブレーションの実行時に指が検出面Pに接触していたことによってキャリブレーションが失敗したと判定する。
【0085】
また、
図9に示す例では、スタイラスペンについて、キャリブレーション失敗検出用閾値として第4閾値Th4を設定されるとともに、指示体検出用閾値として第2閾値Th2が設定されている。この場合、制御部50は、検出対象信号Biの信号値が第2閾値Th2を上回った場合(基準値から離れて第2閾値Th2を超えた場合)に、検出面Pにスタイラスペンが接触したと判定する。さらに、制御部50は、検出対象信号Biの信号値が第4閾値Th4を下回った場合(基準値から離れて第4閾値Th4を超えた場合)に、キャリブレーションの実行時にスタイラスペンが検出面Pに接触していたことによってキャリブレーションが失敗したと判定する。
【0086】
ただし、第2閾値Th2は、第1閾値Th1と基準値との間の値である。また、第4閾値は、第3閾値Th3と基準値との間の値である。さらに、第1閾値Th1及び第3閾値Th3は、例えばその平均値が基準値になるように設定される。同様に、第2閾値Th2及び第4閾値Th4は、例えばその平均値が基準値になるように設定される。
【0087】
このように、指示体検出用閾値及びキャリブレーション失敗検出用閾値を設定すると、検出面Pに接触する指示体の検出と、キャリブレーションの失敗の有無と、をそれぞれ区別して判定することが可能となる。なお、制御部50と同様に、指示体位置検出部40が、上述した指示体検出用閾値(第1閾値Th1及び第2閾値Th2)を用いて指示体を検出してもよい。
【0088】
ここで、制御部50によるキャリブレーションの失敗の判定方法の具体例について、図面を参照して説明する。
図10は、指示体が指である場合における検出対象信号の信号値の分布を示す表である。
図10(a)は、キャリブレーションが成功した後、検出面Pに指が接触した状態で生成された検出対象信号Biの信号値の分布を示す表である。
図10(b)は、検出面Pに指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗した後、無指示状態で生成された検出対象信号Biの信号値の分布を示す表である。なお、上述の通り、検出対象信号Biの各信号値は、検出面Pの各位置に対応した二次元的な分布を有している。しかし、紙面の都合上、
図10(a)及び
図10(b)では、検出面PのX方向(センスラインSLの整列方向)の各位置に対応する信号値の分布を捨象して、Y方向(ドライブラインDLの整列方向)の各位置に対応する信号値の分布のみを示している。また、表中の数値は、左端の欄の条件を満たした検出対象信号Biの信号値の数を示している。
【0089】
まず、制御部50は、検出対象信号Biの信号値と、第1閾値Th1及び第3閾値Th3と、の関係に基づいて判定を行う。
図10(a)に示す例では、検出対象信号Biの各信号値の中に、第1閾値Th1を上回っているものがある(ドライブラインDLの25〜27本目の位置に対応する信号値)。一方、
図10(a)に示す例では、検出対象信号Biの各信号値の中に、第3閾値Th3を下回っているものはない。この場合、制御部50は、キャリブレーションが成功しているとともに、検出面Pに指が接触していると判定する。
【0090】
これに対して、
図10(b)に示す例では、検出対象信号Biの各信号値の中に、第1閾値Th1を上回っているものがない。一方、
図10(b)に示す例では、検出対象信号Biの信号値の中に、第3閾値Th3を下回っているものがある(ドライブラインDLの25〜27本目の位置に対応する信号値)。この場合、制御部50は、検出面Pに指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗したと判定する。
【0091】
また、
図11は、指示体がスタイラスペンである場合における検出対象信号の信号値の分布を示す表である。
図11(a)は、キャリブレーションが成功した後、検出面Pにスタイラスペンが接触した状態で生成された検出対象信号Biの信号値の分布を示す表である。
図11(b)は、検出面Pにスタイラスペンが接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗した後、無指示状態で生成された検出対象信号Biの信号値の分布を示す表である。なお、
図11(a)及び
図11(b)に示す表は、
図10(a)及び
図10(b)に示す表と同じ方法で、検出対象信号Biの信号値の分布を表したものである。
【0092】
まず、制御部50は、検出対象信号Biの信号値と、第1閾値Th1及び第3閾値Th3と、の関係に基づいて判定を行う。
図11(a)に示す例では、検出対象信号Biの各信号値の中に、第1閾値Th1を上回っているものがない。また、検出対象信号Biの各信号値の中に、第3閾値Th3を下回っているものもない。この場合、制御部50は、検出面Pに指が接触しておらず、また、検出面Pに指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗していないと判定する。なお、制御部50は、
図11(b)に示す例においても同様の判定を行う。
【0093】
次に、制御部50は、検出対象信号Biの信号値と、第2閾値Th2及び第4閾値Th4と、の関係に基づいて判定を行う。
図11(a)に示す例では、検出対象信号Biの各信号値の中に、第2閾値Th2を上回っているものがある(ドライブラインDLの25本目の位置に対応する信号値)。一方、
図11(a)に示す例では、検出対象信号Biの各信号値の中に、第4閾値Th4を下回っているものはない。この場合、制御部50は、キャリブレーションが成功しているとともに、検出面Pにスタイラスペンが接触していると判定する。
【0094】
これに対して、
図11(b)に示す例では、検出対象信号Biの各信号値の中に、第2閾値Th2を上回っているものはない。一方、
図11(b)に示す例では、検出対象信号Biの各信号値の中に、第4閾値Th4を下回っているものがある(ドライブラインDLの25本目の位置に対応する信号値)。この場合、制御部50は、検出面Pにスタイラスペンが接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗したと判定する。
【0095】
図10(a)、
図10(b)、
図11(a)及び
図11(b)に示すように、制御部50は、検出面Pに接触または近接する指示体が存在する場合とは逆の特徴を検出対象信号Biの各信号値が有する場合に、キャリブレーションが失敗したと判定する。そのため、キャリブレーションが失敗した場合を、検出面Pに対する指示体の接触または近接した場合と区別して、精度良く検出することが可能となる。
【0096】
また、
図11(a)及び
図11(b)に示すように、制御部50は、検出対象信号Biの各信号値について、第1閾値Th1を上回っているものがなく、かつ、第3閾値Th3を下回っているものもない場合に、第2閾値Th2を上回っているものがあるか否か、または、第4閾値を下回っているものがあるか否か、を判定する。即ち、制御部50は、検出対象信号Biの信号値に与える影響が大きい指示体である指に関する判定を先に実行し、検出対象信号Biの信号値に与える影響が小さい指示体であるスタイラスペンに関する判定を後に実行する。この順番で、制御部50が判定を行うと、スタイラスペンに起因する検出対象信号Bi信号値の変動を、指に起因する検出対象信号Bi信号値の変動と精度良く区別することが可能となるため、好ましい。
【0097】
以上のように、本発明の実施形態に係るタッチパネルシステム1は、指示体の検出に用いられる検出対象信号Biに基づいて、キャリブレーションの失敗の有無を判定するため、簡易な構造でキャリブレーションの失敗の有無を判定することが可能となる。
【0098】
ところで、
図10(a)、
図10(b)、
図11(a)及び
図11(b)に示す例では、検出対象信号の各信号値が、検出面Pに指示体が接触した場合の特徴を有する場合は、キャリブレーションが失敗した場合の特徴を有していない。また、これらの例では、検出対象信号の各信号値が、キャリブレーションが失敗した場合の特徴を有する場合は、検出面Pに指示体が接触した場合の特徴を有していない。
【0099】
しかし、場合によっては、検出対象信号Biの各信号値が、検出面Pに指示体が接触または近接した場合の特徴と、キャリブレーションが失敗した場合の特徴と、の双方の特徴を有する場合がある。このような場合を考慮した、キャリブレーションの失敗の判定方法について、図面を参照して説明する。
図12は、キャリブレーションが成功した後、検出面に掌が接触した状態で生成された検出対象信号の信号値の分布を示す表である。なお、
図12に示す表は、
図10(a)及び
図10(b)に示す表と同じ方法で、検出対象信号Biの信号値の分布を表したものである。
【0100】
図12に示すように、掌のような連続した指示体(人体)が、検出面Pに対して同時かつ広範囲に接触すると、検出対象信号Biの各信号値の中に、第1閾値Th1を上回るものと、第3閾値Th3を下回るものと、の双方が含まれる。
【0101】
検出対象信号Biの各信号値が、
図12の表に示したような特徴を有することになる原因について、図面を参照して説明する。
図13は、検出面の近接した複数の位置に指示体が接触した場合に形成される容量について示す回路図である。なお、
図13(a)は、左右の手の指が同時に検出面Pに接触した場合に形成される容量について示す回路図である。また、
図13(b)は、掌が検出面Pに接触した場合に形成される容量について示す回路図である。
【0102】
図13(a)に示すように、例えば左右の手の指のような不連続の指示体が検出面Pに対してそれぞれ接触する場合は、それぞれの指が独立したシールドとして作用する(
図3(b)参照)。そのため、それぞれの接触位置(ドライブラインDL1及びセンスラインSL1の交点、ドライブラインDL4及びセンスラインSL4の交点)に形成される容量がそれぞれ減少したことを示すセンス信号Siが、出力される。このような場合は、検出対象信号Biの各信号値が、
図12の表に示したような特徴を有するものとはならない。
【0103】
一方、
図13(b)に示すように、掌という連続した指示体が、検出面Pに対して同時かつ広範囲に接触する場合、それぞれの接触位置(ドライブラインDL1及びセンスラインSL1の交点、ドライブラインDL4及びセンスラインSL4の交点)が、高抵抗の指示体によって電気的に接続されて、フローティングノードが形成される。このとき、接触位置のドライブラインDL1,DL4に同じ電位のドライブ信号Diが印加されて、フローティングノードの電圧が変化すると、接触位置を通過するセンスラインSL1,SL4におけるセンス信号Siの強度が同時に変化する。これにより、接触位置を通過するドライブラインDL1,DL4及びセンスラインSL1,SL4が形成する容量のうち、接触位置ではない位置(ドライブラインDL1及びセンスラインSL4の交点、ドライブラインDL4及びセンスラインSL1の交点)に形成される容量が増大したかのようなセンス信号Siが、出力されることがある。このような場合に、検出対象信号Biの各信号値が、
図12の表に示したような特徴を有するものとなる。
【0104】
そこで、制御部50は、検出対象信号Biの各信号値について、キャリブレーション失敗検出用閾値(第3閾値Th3及び第4閾値Th4)を下回った数と、指示体検出用閾値(第1閾値Th1及び第2閾値Th2)を上回った数と、の比較結果に基づいて、キャリブレーションの失敗の有無を判定する。
【0105】
具体的に、制御部50は、キャリブレーション失敗検出用閾値(第3閾値Th3及び第4閾値Th4)を下回った数が、指示体検出用閾値(第1閾値Th1及び第2閾値Th2)を上回った数よりも多い場合に、キャリブレーションが失敗したと判定する。
【0106】
このとき、制御部50は、キャリブレーション失敗検出用閾値(第3閾値Th3及び第4閾値Th4)を下回った数が、指示体検出用閾値(第1閾値Th1及び第2閾値Th2)を上回った数よりも1つでも多い場合に、キャリブレーションが失敗したと判定してもよいし、その差が2以上の所定の数以上となった場合に、キャリブレーションが失敗したと判定してもよい。後者の場合、突発的なノイズ等によって、キャリブレーション失敗検出用閾値(第3閾値Th3及び第4閾値Th4)を下回った数が、指示体検出用閾値(第1閾値Th1及び第2閾値Th2)を上回った数よりも多くなったとしても、制御部50によってキャリブレーションが失敗したと判定されることを、防止することが可能になる。
【0107】
図12に示す例において、検出対象信号Biの各信号値の中で、第3閾値Th3を下回っているものは42個である。一方、
図12に示す例において、第1閾値Th1を上回っているものは433個である。この場合、検出対象信号Biの各信号値について、第3閾値Th3を下回った数が、第1閾値Th1を上回った数以下となるため、制御部50は、キャリブレーションが成功しているとともに、検出面Pに指が接触していると判定する。
【0108】
また、制御部50によるキャリブレーションの失敗の判定方法のさらなる具体例について、図面を参照して説明する。
図14は、指示体が掌または複数の指である場合における検出対象信号の信号値の分布を示す表である。
図15は、
図14に示す各表に対応する検出対象信号の信号値の面内分布を示すグラフである。
図14(a)は、検出面Pに掌が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗した後、無指示状態で生成された検出対象信号Biの信号値の分布を示す表である。
図14(b)は、検出面Pに4本の指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗した後、無指示状態で生成された検出対象信号Biの信号値の分布を示す表である。
図14(c)は、検出面Pに2本の指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗した後、無指示状態で生成された検出対象信号Biの信号値の分布を示す表である。なお、
図14(a)〜
図14(c)に示す表は、
図10(a)及び
図10(b)に示す表と同じ方法で、検出対象信号Biの信号値の分布を表したものである。また、
図15(a)は、
図14(a)の表に対応する検出対象信号Biの信号値の面内分布を示すグラフである。また、
図15(b)は、
図14(b)の表に対応する検出対象信号Biの信号値の面内分布を示すグラフである。また、
図15(c)は、
図14(c)の表に対応する検出対象信号Biの信号値の面内分布を示すグラフである。なお、
図15(a)〜
図15(c)に示すグラフでは、出用信号Biの信号値の大きさを、色の濃淡(白色に近いほど信号値が大きい)で表している。
【0109】
まず、制御部50は、検出対象信号Biの信号値と、第1閾値Th1及び第3閾値Th3と、の関係に基づいて判定を行う。
図14(a)に示す例において、検出対象信号Biの各信号値の中で、第3閾値Th3を下回っているものは330個である。一方、
図14(a)に示す例において、検出対象信号Biの各信号値の中で、第1閾値Th1を上回っているものは93個である。この場合、検出対象信号Biの各信号値について、第3閾値Th3を下回った数が、第1閾値Th1を上回った数よりも多くなるため、制御部50は、検出面Pに指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗したと判定する。
【0110】
同様に、
図14(b)に示す例において、検出対象信号Biの各信号値の中で、第3閾値Th3を下回っているものは174個である。一方、
図14(b)に示す例において、検出対象信号Biの各信号値の中で、第1閾値Th1を上回っているものは17個である。この場合、検出対象信号Biの各信号値について、第3閾値Th3を下回った数が、第1閾値Th1を上回った数よりも多くなるため、制御部50は、検出面Pに指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗したと判定する。
【0111】
同様に、
図14(c)に示す例において、検出対象信号Biの各信号値の中で、第3閾値Th3を下回っているものは91個である。一方、
図14(c)に示す例において、検出対象信号Biの各信号値の中で、第1閾値Th1を上回っているものは0個である。この場合、検出対象信号Biの各信号値について、第3閾値Th3を下回った数が、第1閾値Th1を上回った数よりも多くなるため、制御部50は、検出面Pに指が接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗したと判定する。
【0112】
このように、制御部50がキャリブレーションの失敗の有無を判定すると、検出対象信号Biの各信号値が、検出面Pに指示体が接触または近接した場合の特徴と、キャリブレーションが失敗した場合の特徴と、の双方の特徴を有する場合であっても、キャリブレーションが失敗したことを精度良く判定することが可能となる。また、制御部50が、キャリブレーションが失敗した場合の特徴を有する信号値の数と、検出面Pに指示体が接触または近接した場合の特徴を有する信号値の数と、を比較するだけで、容易にキャリブレーションの失敗の有無を判定することが可能となる。
【0113】
また、検出対象信号Biの各信号値について、第3閾値Th3を下回った数と、第1閾値Th1を上回った数と、がともに0個である場合、制御部50は、
図11(a)及び
図11(b)に示した場合と同様の方法で、キャリブレーションの失敗の有無を判定する。即ち、制御部50は、検出対象信号Biの信号値と、第2閾値Th2及び第4閾値Th4と、の関係に基づいて、キャリブレーションの失敗の有無を判定する。
【0114】
具体的に、制御部50は、検出対象信号Biの各信号値について、第3閾値Th3を下回った数と、第1閾値Th1を上回った数と、がともに0個であり、かつ、第4閾値Th4を下回った数が、第2閾値Th2を上回った数よりも多くなると、検出面Pにスタイラスペンが接触した状態でキャリブレーションが実行されたためにキャリブレーションが失敗したと判定する。なお、このような判定が必要となる状況とは、例えば、スタイラスペンとそれを持つ指とが同時に検出面Pに接触した状態でキャリブレーションが実行された場合などである。
【0115】
このように、制御部50がキャリブレーションの失敗の有無を判定すると、使用される指示体の種類が複数存在する場合でも、制御部50が、それぞれの指示体に応じたキャリブレーションの失敗の有無を判定することが可能となる。
【0116】
<制御部の動作例>
[第1動作例]
次に、制御部50の動作例について、図面を参照して説明する。最初に、制御部50の第1動作例について、図面を参照して説明する。
図16は、制御部の第1動作例について示すフローチャートである。
【0117】
図16に示すように、制御部50は、最初に、1フレーム分の検出対象信号Bi(検出面Pの各位置に対応する各信号値を一通り含む検出対象信号Bi)を取得する(ステップ#1)。
【0118】
このとき、例えばタッチパネルシステム1を備えた電子情報機器の起動時やスリープ状態からの復帰時において、制御部50が検出対象信号Biを取得するのが初めてである(記憶部33にキャリブレーションデータが記憶されていない)場合(ステップ#2、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを実行させる(ステップ#3)。これにより、信号値調整部32が生成したキャリブレーションデータが、記憶部33に記憶される。そして、制御部50は、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0119】
一方、制御部50は、検出対象信号Biを取得するのが初めてではない場合(ステップ#2、NO)、上述したキャリブレーションの失敗の有無の判定を行う(ステップ#4)。
【0120】
制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、例えばユーザの指示等に従って動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0121】
一方、制御部50は、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、信号値調整部32を制御して、キャリブレーションを再度実行させる(ステップ#9)。これにより、信号値調整部32が再度生成したキャリブレーションデータが、記憶部33に記憶される。そして、制御部50は、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0122】
上記のように制御部50が動作すると、キャリブレーションが失敗しても、再度キャリブレーションを実行することによって、指示体の検出感度を改善することが可能となる。
【0123】
[第2動作例]
次に、制御部50の第2動作例について、図面を参照して説明する。
図17は、制御部の第2動作例について示すフローチャートである。なお、以下説明する制御部50の第2動作例において、第1動作例と同様となる動作については同じステップ番号を付し、その詳細な説明については省略している。
【0124】
図17に示すように、制御部50は、最初にカウンタ変数Eを0に設定する(ステップ#A1)。次に、制御部50は、1フレーム分の検出対象信号Biを取得する(ステップ#1)。このとき、制御部50が検出対象信号Biを取得するのが初めてである場合(ステップ#2、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを実行させる(ステップ#3)。そして、制御部50は、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0125】
一方、制御部50は、検出対象信号Biを取得するのが初めてではない場合(ステップ#2、NO)、キャリブレーションの失敗の有無の判定を行う(ステップ#4)。
【0126】
制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、カウンタ変数Eを0に設定する(ステップ#A2)。さらに、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0127】
一方、制御部50は、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、カウンタ変数Eを1つ加算する(ステップ#A3)。
【0128】
このとき、カウンタ変数Eが上限回数E
MAXになっていなければ(ステップ#A4、NO)、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0129】
これに対して、カウンタ変数Eが上限回数E
MAXになっていれば(ステップ#A4、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを再度実行させる(ステップ#9)。そして、制御部50は、カウンタ変数Eを0に設定した上で(ステップ#A1)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0130】
上記のように制御部50が動作すると、キャリブレーションが失敗している蓋然性が高い場合に限り、キャリブレーションが再度実行される。そのため、キャリブレーションの過度な実行によって処理速度が低下したり消費電力が大きくなったりすることを、防止することが可能となる。
【0131】
[第3動作例]
次に、制御部50の第3動作例について、図面を参照して説明する。
図18は、制御部の第3動作例について示すフローチャートである。なお、以下説明する制御部50の第3動作例において、第1動作例及び第2動作例と同様となる動作については同じステップ番号を付し、その詳細な説明については省略している。
【0132】
図18に示すように、制御部50は、最初にカウンタ変数Eを0に設定する(ステップ#A1)。次に、制御部50は、1フレーム分の検出対象信号Biを取得する(ステップ#1)。このとき、制御部50が検出対象信号Biを取得するのが初めてである場合(ステップ#2、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを実行させる(ステップ#3)。そして、制御部50は、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0133】
一方、制御部50は、検出対象信号Biを取得するのが初めてではない場合(ステップ#2、NO)、取得した検出対象信号Biが、制御部50が順次取得するフレームにおける所定数毎のフレームである確認対象フレームであるか否かを確認する(ステップ#B1)。
【0134】
制御部50は、取得した検出対象信号Biが確認対象フレームでなければ(ステップ#B1、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0135】
これに対して、制御部50は、取得した検出対象信号Biが確認対象フレームであれば(ステップ#B1、YES)、キャリブレーションの失敗の有無の判定を行う(ステップ#4)。
【0136】
制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、カウンタ変数Eを0に設定する(ステップ#A2)。さらに、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0137】
一方、制御部50は、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、カウンタ変数Eを1つ加算する(ステップ#A3)。
【0138】
このとき、カウンタ変数Eが上限回数E
MAXになっていなければ(ステップ#A4、NO)、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0139】
これに対して、カウンタ変数Eが上限回数E
MAXになっていれば(ステップ#A4、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを再度実行させる(ステップ#9)。そして、制御部50は、カウンタ変数Eを0に設定した上で(ステップ#A1)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0140】
上記のように制御部50が動作すると、キャリブレーションの失敗の有無の判定を実行する頻度を抑えることができるため、処理速度が低下したり、消費電力が大きくなったりすることを、防止することが可能となる。
【0141】
なお、上述した制御部50の第3動作例において、ステップ#A1〜#A4を実行しなくてもよい。この場合、制御部50は、カウンタ変数Eを0に設定することなく、1フレーム分の検出対象信号Biを取得する(ステップ#1)。また、制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、信号値調整部32を制御してキャリブレーションを再度実行させる(ステップ#9)。
【0142】
[第4動作例]
次に、制御部50の第4動作例について、図面を参照して説明する。
図19は、制御部の第4動作例について示すフローチャートである。なお、以下説明する制御部50の第4動作例において、第1動作例〜第3動作例と同様となる動作については同じステップ番号を付し、その詳細な説明については省略している。
【0143】
図19に示すように、制御部50は、最初にカウンタ変数Eを0に設定する(ステップ#A1)。次に、制御部50は、1フレーム分の検出対象信号Biを取得する(ステップ#1)。このとき、制御部50が検出対象信号Biを取得するのが初めてである場合(ステップ#2、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを実行させる(ステップ#3)。そして、制御部50は、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0144】
一方、制御部50は、検出対象信号Biを取得するのが初めてではない場合(ステップ#2、NO)、制御部50は、タッチパネルシステム1が動作を開始してから(センス信号処理部30が検出対象信号Biを生成し始めてから)所定数のフレームの検出対象信号Biが生成されるまでの期間である始動期間中であるか否かを確認する(ステップ#C1)。
【0145】
始動期間中ではない場合(ステップ#C1、NO)、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0146】
一方、始動期間中である場合(ステップ#C1、YES)、制御部50は、取得した検出対象信号Biが確認対象フレームであるか否かを確認する(ステップ#B1)。
【0147】
制御部50は、取得した検出対象信号Biが確認対象フレームでなければ(ステップ#B1、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0148】
これに対して、制御部50は、取得した検出対象信号Biが確認対象フレームであれば(ステップ#B1、YES)、キャリブレーションの失敗の有無の判定を行う(ステップ#4)。
【0149】
制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、カウンタ変数Eを0に設定する(ステップ#A2)。さらに、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0150】
一方、制御部50は、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、カウンタ変数Eを1つ加算する(ステップ#A3)。
【0151】
このとき、カウンタ変数Eが上限回数E
MAXになっていなければ(ステップ#A4、NO)、制御部50は、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、その結果である検出結果信号Tiを生成させる(ステップ#7)。そして、制御部50は、動作を終了する場合は動作を終了し(ステップ#8、YES)、動作を継続する場合は(ステップ#8、NO)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0152】
これに対して、カウンタ変数Eが上限回数E
MAXになっていれば(ステップ#A4、YES)、制御部50は、信号値調整部32を制御して、キャリブレーションを再度実行させる(ステップ#9)。そして、制御部50は、カウンタ変数Eを0に設定した上で(ステップ#A1)、次のフレームの検出対象信号Biを取得する(ステップ#1)。
【0153】
タッチパネルシステム1では、ステップ#3のキャリブレーションの実行時に検出面Pに接触または近接していた指示体が、その後に検出面Pから離間することで、制御部50によってキャリブレーションの失敗が検出される。そして、この指示体の検出面Pからの離間は、ステップ#3のキャリブレーションの実行時から所定の期間内に生じる蓋然性が高い。即ち、始動期間は、キャリブレーションが失敗した場合において、キャリブレーションの失敗が検出される蓋然性が高い期間であるため、キャリブレーションの失敗の有無を判定する必要性が高い期間であると言える。
【0154】
したがって、上記のように制御部50が動作すると、キャリブレーションの失敗の有無を判定する必要性が高い始動期間に限定して、キャリブレーションの失敗の有無を判定することができる。そのため、キャリブレーションの実行後において、いつまでもキャリブレーションの失敗の有無の判定が行われることで処理速度が低下したり消費電力が大きくなったりすることを、防止することが可能となる。
【0155】
なお、上述した第4動作例では、タッチパネルシステム1が動作を開始してから所定数のフレームの検出対象信号Biが生成されるまでの期間(ステップ#3のキャリブレーションの失敗の有無を判定する必要性が高い期間)を、始動期間としている。しかし、ステップ#3だけでなく、ステップ#9のキャリブレーションが失敗する可能性があることをも考慮して、キャリブレーションが実行されてから所定数のフレームの検出対象信号Biが生成されるまでの期間(ステップ#3及び#9のキャリブレーションの失敗の有無を判定する必要性が高い期間)を、始動期間としてもよい。
【0156】
また、上述した制御部50の第4動作例において、ステップ#A1〜#A4を実行しなくてもよい。この場合、制御部50は、カウンタ変数Eを0に設定することなく、1フレーム分の検出対象信号Biを取得する(ステップ#1)。また、制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、信号値調整部32を制御してキャリブレーションを再度実行させる(ステップ#9)。
【0157】
また、上述した制御部50の第4動作例において、ステップ#B1を実行しなくてもよい。この場合、制御部50は、始動期間中ではない場合(ステップ#C1、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、始動期間中である場合(ステップ#C1、YES)、キャリブレーションの失敗の有無の判定を行う(ステップ#4)。
【0158】
また、上述した制御部50の第4動作例において、ステップ#A1〜#A4及びステップ#B1を実行しなくてもよい。この場合、制御部50は、カウンタ変数Eを0に設定することなく、1フレーム分の検出対象信号Biを取得する(ステップ#1)。また、制御部50は、キャリブレーションが成功したと判定すると(ステップ#5、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、キャリブレーションが失敗したと判定すると(ステップ#5、YES)、信号値調整部32を制御してキャリブレーションを再度実行させる(ステップ#9)。さらに、制御部50は、始動期間中ではない場合(ステップ#C1、NO)、指示体位置検出部40を制御して指示体の検出を実行させ(ステップ#6)、始動期間中である場合(ステップ#C1、YES)、キャリブレーションの失敗の有無の判定を行う(ステップ#4)。
【0159】
<<電子情報機器>>
上述のタッチパネルシステム1を備えた、本発明の実施形態に係る電子情報機器の構成例について、
図20を参照して説明する。
図20は、本発明の実施形態に係る電子情報機器の構成例を示すブロック図である。
【0160】
図20に示すように、本発明の実施形態に係る電子情報機器100は、表示装置101と、表示装置101を制御する表示装置制御部102と、上述のタッチパネル10に相当するタッチパネル103と、上述のタッチパネルシステム1におけるタッチパネル10を除いた各部(ドライブライン駆動部20、センス信号処理部30、指示体位置検出部40及び制御部50)に相当するタッチパネルコントローラ104と、ユーザに押下されることでユーザの指示を受け付けるボタンスイッチ部105と、撮像により画像データを生成する撮像部106と、入力される音声データを音声として出力する音声出力部107と、集音により音声データを生成する集音部108と、音声出力部107に与える音声データの処理や集音部108から与えられる音声データの処理を行う音声処理部109と、電子情報機器100の外部の機器と無線により通信データを通信する無線通信部110と、無線通信部110が無線により通信する通信データを電磁波として放射するとともに電子情報機器100の外部の機器から放射された電磁波を受信するアンテナ111と、電子情報機器100の外部の機器と有線により通信データを通信する有線通信部112と、各種データを記憶するメモリ113と、電子情報機器100の全体の動作を制御する本体制御部114と、を備える。
【0161】
なお、上述の指示体位置検出部40及び制御部50の一部または全部を、タッチパネルコントローラ104ではなく、本体制御部114の一部としてもよい。同様に、上述の記憶部33を、タッチパネルコントローラ104ではなく、メモリ113の一部としてもよい。
【0162】
また、
図20に示す電子情報機器100は、タッチパネルシステム1の適用例の1つに過ぎない。上述タッチパネルシステム1は、
図20に示す電子情報機器100とは異なる構成の電子情報機器に対しても、当然に適用可能である。
【0163】
<<変形等>>
[1] 上述の実施形態では、容量分布信号Ai及び検出対象信号Biについて、検出面Pに形成される容量が大きくなるほど、対応する信号値が小さくなるものとして説明している。しかし、容量分布信号Ai及び検出対象信号Biは、必ずしもこのような信号である必要はない。例えば、容量分布信号Ai及び検出対象信号Biが、検出面Pに形成される容量が大きくなるほど、対応する信号値が大きくなるものであってもよい。
【0164】
[2]
図4及び
図5において、ドライブ信号Diの成分として直交系列を用いる場合について例示したが、擬似直交系列であるM系列を用いてもよい。即ち、ドライブ信号Diの成分である行列「H」を、1行目に符号長N(=2n−1)のM系列符号を当てはめ、2行目以降にはそれを順次1bit毎巡回シフトした符号を当てはめたものとしてもよい。この場合も、「H」の転置行列「H
T」と行列「Ct」との内積を求めるのみで、行列「C」(即ち、容量の面内分布)を求めることができる。但し直交系列を用いた場合と異なり、M系列を用いた場合は内積演算結果に誤差を含むが、N=63または127のように符号長Nを大きくすることで、SN比の劣化を抑制することが可能である。
【0165】
[3] 上述の実施形態では、投影型の静電容量方式のタッチパネル10を備えるタッチパネルシステム1に対して、本発明を適用する場合について説明した。しかし、本発明は、キャリブレーションが必要となるタッチパネルを備えたタッチパネルシステムであれば、他の方式のタッチパネルを備えたタッチパネルシステムにも、適用することが可能である。
【0166】
<<まとめ>>
本発明の実施形態に係るタッチパネルシステム1及び電子情報機器100、タッチパネルシステム1の動作方法は、例えば以下のように把握され得る。
【0167】
本発明の実施形態に係るタッチパネルシステム1は、検出面Pの各位置に接触または近接する指示体の有無に対応した強度のセンス信号Siを生成するタッチパネル10と、前記タッチパネル10が生成する前記センス信号Siを処理することで、前記検出面Pの各位置に接触または近接する前記指示体の有無を、前記検出面Pの各位置に対応する各信号値の大きさでそれぞれ表した検出対象信号Biを生成するセンス信号処理部30と、前記センス信号処理部30の動作を監視する制御部50と、を備え、前記センス信号処理部30は、生成する前記検出対象信号Biの前記各信号値が、所定の値である基準値となるように、前記検出対象信号Biの前記各信号値の算出方法を決定するキャリブレーションを、所定のタイミングで実行するように構成され、前記制御部50は、前記キャリブレーションが実行された後に前記センス信号処理部30が生成する前記検出対象信号Biの前記各信号値が、所定の特徴を有している場合、前記キャリブレーションが失敗したと判定する。
【0168】
このタッチパネルシステム1によれば、指示体の検出に用いられる検出対象信号Biに基づいて、キャリブレーションの失敗の有無を判定することが可能となるため、簡易な構造でキャリブレーションの失敗の有無を判定することが可能となる。
【0169】
さらに、上記のタッチパネルシステム1において、前記基準値は、指示体検出用閾値Th1,Th2とキャリブレーション失敗検出用閾値Th3,Th4との間の値であり、前記検出対象信号Biの、前記検出面Pのある位置に対応する信号値が、前記基準値から離れて前記指示体検出用閾値Th1,Th2を超えている場合、前記検出面Pの当該ある位置に接触または近接する前記指示体が有ることを表しており、前記制御部50は、前記検出対象信号Biの前記各信号値の少なくとも1つが、前記基準値から離れて前記キャリブレーション失敗検出用閾値Th3,Th4を超えている場合に、前記キャリブレーションが失敗したと判定する。
【0170】
このタッチパネルシステム1によれば、制御部50が、検出面Pに接触または近接する指示体が存在する場合とは逆の特徴を検出対象信号Biの各信号値が有する場合に、キャリブレーションが失敗したと判定する。そのため、キャリブレーションが失敗した場合を、検出面Pに対する指示体の接触または近接した場合と区別して、精度良く検出することが可能となる。
【0171】
さらに、上記のタッチパネルシステム1において、前記制御部50は、前記検出対象信号Biの前記各信号値について、前記基準値から離れて前記キャリブレーション失敗検出用閾値Th3,Th4を超えている数と、前記基準値から離れて前記指示体検出用閾値Th1,Th2を超えている数と、の比較結果に基づいて、前記キャリブレーションの失敗の有無を判定する。
【0172】
このタッチパネルシステム1によれば、検出対象信号Biの各信号値が、検出面Pに指示体が接触または近接した場合の特徴と、キャリブレーションが失敗した場合の特徴と、の双方の特徴を有する場合であっても、キャリブレーションが失敗したことを精度良く判定することが可能となる。
【0173】
さらに、上記のタッチパネルシステム1において、前記制御部50は、前記検出対象信号Biの前記各信号値について、前記基準値から離れて前記キャリブレーション失敗検出用閾値Th3,Th4を超えている数が、前記基準値から離れて前記指示体検出用閾値Th1,Th2を超えている数よりも多い場合に、前記キャリブレーションが失敗したと判定する。
【0174】
このタッチパネルシステム1によれば、制御部50が、キャリブレーションが失敗した場合の特徴を有する信号値の数と、検出面Pに指示体が接触または近接した場合の特徴を有する信号値の数と、を比較するだけで、容易にキャリブレーションの失敗の有無を判定することが可能となる。
【0175】
さらに、上記のタッチパネルシステム1において、前記指示体検出用閾値として、第1閾値Th1と、前記第1閾値Th1と前記基準値との間の値である第2閾値Th2と、が設定されているとともに、前記キャリブレーション失敗検出用閾値として、第3閾値Th3と、前記第3閾値と前記基準値との間の値である第4閾値Th4と、が設定されており、前記制御部50は、前記検出対象信号Biの前記各信号値について、前記基準値から離れて前記第3閾値Th3を超えている数が、前記基準値から離れて前記第1閾値Th1を超えている数よりも多い場合に、前記キャリブレーションが失敗したと判定するとともに、前記検出対象信号Biの前記各信号値について、前記基準値から離れて前記第3閾値Th3を超えている数と、前記基準値から離れて前記第1閾値Th1を超えている数と、がともに0であり、かつ、前記基準値から離れて前記第4閾値Th4を超えている数が、前記基準値から離れて前記第2閾値Th2を超えている数よりも多い場合に、前記キャリブレーションが失敗したと判定する。
【0176】
このタッチパネルシステム1によれば、使用される指示体の種類が複数存在する場合でも、制御部50が、それぞれの指示体に応じたキャリブレーションの失敗の有無を判定することが可能となる。
【0177】
さらに、上記のタッチパネルシステム1において、前記制御部50は、前記キャリブレーションが失敗したと判定した場合に、前記センス信号処理部30を制御して、前記キャリブレーションを再度実行させる。
【0178】
このタッチパネルシステム1によれば、キャリブレーションが失敗しても、再度キャリブレーションを実行することによって、指示体の検出感度を改善することが可能となる。
【0179】
さらに、上記のタッチパネルシステム1において、前記制御部50は、所定回数連続して、前記キャリブレーションが失敗したと判定した場合に、前記センス信号処理部30を制御して、前記キャリブレーションを再度実行させる。
【0180】
このタッチパネルシステム1によれば、キャリブレーションが失敗している蓋然性が高い場合に限り、キャリブレーションが再度実行される。そのため、キャリブレーションの過度な実行によって処理速度が低下したり消費電力が大きくなったりすることを、防止することが可能となる。
【0181】
さらに、上記のタッチパネルシステム1において、前記センス信号処理部30が、前記検出面Pの各位置に対応する前記各信号値を一通り含む前記検出対象信号Biを生成する期間を、1フレームとするとき、前記制御部50は、所定数のフレーム毎に、前記キャリブレーションの失敗の有無を判定する。
【0182】
このタッチパネルシステム1によれば、キャリブレーションの失敗の有無の判定を実行する頻度を抑えることができるため、処理速度が低下したり、消費電力が大きくなったりすることを、防止することが可能となる。
【0183】
さらに、上記のタッチパネルシステム1において、前記センス信号処理部30が、前記検出面Pの各位置に対応する前記各信号値を一通り含む前記検出対象信号Biを生成する期間を、1フレームとするとき、前記制御部50は、前記センス信号処理部30が前記検出対象信号Biを生成し始めてから、所定数のフレームを生成するまでの間に、前記キャリブレーションが失敗したか否かを判定する。
【0184】
このタッチパネルシステム1によれば、キャリブレーションの失敗の有無を判定する必要性が高い始動期間に限定して、キャリブレーションの失敗の有無を判定することができる。そのため、キャリブレーションの実行後において、いつまでもキャリブレーションの失敗の有無の判定が行われることで処理速度が低下したり消費電力が大きくなったりすることを、防止することが可能となる。
【0185】
さらに、上記のタッチパネルシステム1において、前記タッチパネル10が、前記検出面Pに沿って互いに平行に設けられて外部から所定の電圧が与えられる複数のドライブラインDLと、前記ドライブラインDLと交差するように前記検出面Pに沿って互いに平行に設けられて前記センス信号Siを生成する複数の前記センスラインSLと、を備え、前記検出対象信号Biの前記各信号値の大きさが、前記検出面Pの各位置における前記ドライブラインDL及び前記センスラインSLが成す静電容量の大きさに対応している。
【0186】
このタッチパネルシステム1によれば、投影型の静電容量方式のタッチパネル10を備えたタッチパネルシステム1において、指示体の検出に用いられる検出対象信号Biに基づいて、キャリブレーションの失敗の有無を判定することが可能となるため、簡易な構造でキャリブレーションの失敗の有無を判定することが可能となる。
【0187】
また、本発明の実施形態に係る電子情報機器100は、上記のタッチパネルシステム1を備える。
【0188】
また、本発明の実施形態に係るタッチパネルシステム1の動作方法は、タッチパネル10の検出面Pの各位置に接触または近接する指示体の有無に対応した強度のセンス信号Siを処理して、前記検出面Pの各位置に接触または近接する前記指示体の有無を、前記検出面Pの各位置に対応する各信号値の大きさでそれぞれ表した検出対象信号Biを生成する検出対象信号生成動作と、生成される前記検出対象信号Biの前記各信号値が、所定の値である基準値となるように、前記検出対象信号Biの前記各信号値の算出方法を決定するキャリブレーションを、所定のタイミングで実行するキャリブレーション動作と、前記キャリブレーションが実行された後に生成される前記検出対象信号Biの前記各信号値が、所定の特徴を有している場合、前記キャリブレーションが失敗したと判定するキャリブレーション失敗判定動作と、が実行される