(57)【特許請求の範囲】
【請求項１】
タッチセンサから得られる信号からタッチセンサへの入力がタッチによるものか否かを識別する信号処理装置であって、
複数の方向に並べられた複数のセンサを有するタッチセンサから、前記複数のセンサの検出値からなるセンサデータを取得する検出値取得手段と、
前記センサデータからタッチ位置を示すキーポイントを決定するキーポイント決定手段と、
前記キーポイントを含む部分領域に含まれるセンサの検出値の複数の勾配方向についての勾配に基づいて前記キーポイントの特徴量を算出する特徴量算出手段と、
タッチによって得られる特徴量とタッチ以外によって得られる特徴量からあらかじめ学習した識別器と、前記特徴量算出手段によって算出された特徴量を用いて、前記タッチセンサに対する入力がタッチによるものか否か識別する識別手段と、
を備える、信号処理装置。
【請求項２】
タッチセンサから得られる信号からタッチセンサへの入力がタッチによるものか否かを識別する信号処理装置であって、
複数のセンサを有するタッチセンサから、前記複数のセンサの検出値からなるセンサデータを取得する検出値取得手段と、
前記センサデータからタッチ位置を示すキーポイントを決定するキーポイント決定手段と、
前記キーポイントを含む部分領域から前記キーポイントの特徴量を算出する特徴量算出手段と、
タッチによるセンサデータから得られる特徴量とタッチ以外のセンサデータから得られる特徴量と、を教師データとする所定の機械学習により作成される識別器に、前記特徴量算出手段によって算出された特徴量を入力し、前記識別器の出力から前記タッチセンサに対する入力がタッチによるものか否か識別する識別手段と、
を備える、信号処理装置。
【請求項３】
前記特徴量は、前記部分領域における検出値の複数の勾配方向についての勾配に基づいて算出される、
請求項２に記載の信号処理装置。
【請求項４】
前記特徴量は、前記部分領域に含まれる各センサについての複数の勾配方向についての勾配からなる勾配情報の、重み付け和に基づいて算出される、
請求項１から３のいずれか１項に記載の信号処理装置。
【請求項５】
前記特徴量は、前記センサデータの時間変化に基づいて算出される、
請求項１から４のいずれか１項に記載の信号処理装置。
【請求項６】
前記特徴量は、複数の大きさの部分領域からそれぞれ得られた値の組み合わせからなる、
請求項１から５のいずれか１項に記載の信号処理装置。
【請求項７】
前記複数の大きさの部分領域は、前記キーポイントを中心とする大きさの異なる矩形領域を含む、
請求項６に記載の信号処理装置。
【請求項８】
前記タッチセンサは、複数の行方向電極と複数の列方向電極とからなり、
前記部分領域は、行方向に所定幅を有する複数列からなる領域、または、列方向に所定幅を有する複数行からなる領域の少なくともいずれかを含む、
請求項６または７に記載の信号処理装置。
【請求項９】
前記キーポイント決定手段は、所定の大きさの領域内において検出値が極大値をとる位置を前記キーポイントと決定する、
請求項１から８のいずれか１項に記載の信号処理装置。
【請求項１０】
各センサの検出値が閾値以上であるか否か判定する閾値判定手段をさらに有し、
前記キーポイント決定手段は、前記閾値より小さい検出値はキーポイントとしては検出しない、
請求項１から９のいずれか１項に記載の信号処理装置。
【請求項１１】
前記識別器は、特徴量が、タッチによって得られたものか、タッチ以外の複数の要因のいずれによって得られたものであるかを識別するものであり、
前記識別手段は、タッチセンサへの入力の要因を識別する、
請求項１から１０のいずれか１項に記載の信号処理装置。
【請求項１２】
複数のセンサを有するタッチセンサと、
請求項１から１１のいずれか１項に記載の信号処理装置と、
を備える、入力装置。
【請求項１３】
タッチセンサから得られる信号からタッチセンサへの入力がタッチによるものか否かを識別する信号処理装置が行う信号処理方法であって、
複数の方向に並べられた複数のセンサを有するタッチセンサから、前記複数のセンサの検出値からなるセンサデータを取得する検出値取得ステップと、
前記センサデータからタッチ位置を示すキーポイントを決定するキーポイント決定ステップと、
前記キーポイントを含む部分領域に含まれるセンサの検出値の複数の勾配方向について
の勾配に基づいて前記キーポイントの特徴量を算出する特徴量算出ステップと、
タッチによって得られる特徴量とタッチ以外によって得られる特徴量からあらかじめ学習した識別器と、前記特徴量算出ステップにおいて算出された特徴量を用いて、前記タッチセンサに対する入力がタッチによるものか否か識別する識別ステップと、
を含む、信号処理方法。
【請求項１４】
タッチセンサから得られる信号からタッチセンサへの入力がタッチによるものか否かを識別する信号処理置が行う信号処理方法であって、
複数のセンサを有するタッチセンサから、前記複数のセンサの検出値からなるセンサデータを取得する検出値取得ステップと、
前記センサデータからタッチ位置を示すキーポイントを決定するキーポイント決定ステップと、
前記キーポイントを含む部分領域から前記キーポイントの特徴量を算出する特徴量算出ステップと、
タッチによるセンサデータから得られる特徴量とタッチ以外のセンサデータから得られる特徴量と、を教師データとする所定の機械学習により作成される識別器に、前記特徴量算出ステップにおいて算出された特徴量を入力し、前記識別器の出力から前記タッチセンサに対する入力がタッチによるものか否か識別する識別ステップと、
を含む、信号処理方法。
【請求項１５】
請求項１３又は１４に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチセンサへの入力がタッチによるものか否かを識別する技術に関する。
【背景技術】
【０００２】
従来、タッチセンサを用いた入力装置が広く使われている。タッチパッドは、ノート型コンピュータなどに広く用いられており、近年は車両のカーナビゲーションシステム、オーディオ、エアコンなどの操作を手元で行う遠隔操作デバイスにも利用されている。また、タッチパネル（タッチスクリーン）は、スマートホンやタブレット端末、あるいはカーナビゲーションシステムなどで利用されている。
【０００３】
特許文献１は、タッチパネルを用いた入力装置において、ユーザが意図するタッチ位置と入力装置が検出する検出位置のずれを自動補正する技術を開示する。具体的には、入力装置の保持の仕方、指の大きさ、利き手などのユーザの身体的特徴や、ユーザのタッチの癖などの生理的特徴を推定し、ユーザのタッチパネルの操作を記録・学習することで、ユーザの意図するタッチ位置を推定している。
【０００４】
特許文献２は、表示パネルから放出される電気的なノイズがある場合でも、タッチ位置を精度良く検出可能なタッチセンサを開示する。特許文献２では、表示パネルとタッチセンサの電極とを遮蔽するシールド電極を用い、シールド電極の構成を工夫することで、タッチセンサの薄さを保ったままノイズによるタッチ位置の誤検出を抑制している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２４２９５８号公報
【特許文献２】特開２０１４−１６４３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術によれば、いずれもタッチ位置の検出精度を高めることができる。しかしながら、タッチセンサにノイズが印加された場合にノイズの影響を除去できなければ、ユーザがタッチ操作をしていないにもかかわらず、タッチセンサはタッチを誤検出してしまう。
【０００７】
特許文献２の技術によれば、電気的なノイズが印加された場合の誤検出を抑制できる。しかしながら、タッチセンサの誤検出を発生させる要因には、電気的なノイズ以外にも種々のものがある。例えば、タッチセンサ上に水滴が付いたり金属などが接触したりした場合や、ユーザの掌が意図せずにタッチセンサと触れてしまった場合などにも、ユーザの意図しないタッチが誤検出されてしまう。
【０００８】
上記のような問題を考慮して、本発明は、タッチセンサへの入力がユーザの指によるタッチによるものか、それ以外の要因によるものかを識別することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一態様に係る信号処理装置は以下の構成を備える。すなわち、本発明の一態様に係る信号処理装置は、複数のセンサを有するタッチセンサから前記複数のセンサの検出値からなるセンサデータを取得する検出値取得手段と、前記センサデータからタッチ位置を示すキーポイントを決定するキーポイント決定手段と、前
記キーポイントを含む部分領域から前記キーポイントの特徴量を算出する特徴量算出手段と、タッチによって得られる特徴量とタッチ以外によって得られる特徴量からあらかじめ学習した識別器と、前記特徴量算出手段によって算出された特徴量を用いて、前記タッチセンサに対する入力がタッチによるものか否か識別する識別手段と、を備える。
【００１０】
識別器は、ユーザのタッチによって得られるセンサデータの特徴量と、タッチ以外によって得られるセンサデータの特徴量と、を教師データとしてあらかじめ学習処理により作成されたものである。このように、教師有り学習によってあらかじめ学習・生成した識別器を用いることで、タッチセンサから得られるセンサデータに基づいて、その入力がユーザのタッチによるものであるか否かが識別可能となる。
【００１１】
本発明におけるセンサデータの特徴量は、キーポイントを含む部分領域における検出値の複数の方向についての勾配に基づいて算出することができる。複数の方向の勾配は、例えば、４方向や８方向であってよいが、その他であってもよい。
【００１２】
また、本発明におけるセンサデータの特徴量は、キーポイントを含む部分領域に含まれる各センサについての複数の方向についての勾配からなる勾配情報の、重み付け和に基づいて算出してもよい。重み付け和における重みは、勾配方向に応じて異ならせることが好ましい。例えば、右方向の勾配については、キーポイントよりも右側（左側）にあるセンサおよびキーポイントと同じ左右位置にあるセンサについてのみ和を取り、キーポイントよりも左側（右側）にあるセンサについては重みをゼロやマイナスにする。また、上方向の勾配については、キーポイントよりも上側（下側）にあるセンサおよびキーポイントと同じ上下位置にあるセンサについてのみ和を取り、キーポイントよりも下側（上側）にあるセンサについては重みをゼロやマイナスにする。
【００１３】
また、本発明におけるセンサデータの特徴量は、センサデータの時間変化に基づいて算出されることも好ましい。センサデータの時間変化は、現時点と所定時間前のセンサデータの差として表すことができる。現時点と所定時間前のセンサデータの差分について、上記のように勾配を用いて特徴量を算出することができる。また、現時点のセンサデータから求められる勾配と所定時間前のセンサデータから求められる勾配の差分を用いて特徴量を算出することもできる。センサデータの時間変化を考慮することで、タッチ動作の動的な特徴を表現できる。
【００１４】
また、本発明における特徴量は、複数の大きさの部分領域からそれぞれ得られた値の組み合わせとすることもできる。
【００１５】
上記の複数の大きさの部分領域は、キーポイントを中心とする大きさの異なる矩形領域とすることが好ましい。ユーザによって指の大きさやタッチの仕方は異なるが、複数の大きさの部分領域を用いて特徴量を算出することで、ユーザの指の大きさやタッチの仕方にかかわらず精度良く識別可能となる。
【００１６】
また、前記タッチセンサは、複数の行方向電極と複数の列方向電極とからなり、前記部分領域は、行方向に所定幅を有する複数列からなる領域、または、列方向に所定幅を有する複数行からなる領域の少なくともいずれかを含む、ことも好ましい。各電極をスキャンしてセンサ検出値を取得する場合であって、タッチセンサに電磁ノイズが印加された場合は、スキャン方式に応じた特有のパターンでセンサ検出値が変動する。したがって、上記のような領域を採用することで、電磁ノイズの印加を精度良く検出できる。
【００１７】
また、本発明における前記キーポイント決定手段は、所定の大きさの領域内において検出値が極大値をとる位置を前記キーポイントと決定する、ことも好ましい。
【００１８】
また、本発明における信号処理装置は、各センサの検出値が閾値以上であるか否か判定する閾値判定手段をさらに有し、前記キーポイント決定手段は、前記閾値より小さい検出値はキーポイントとしては検出しない、ことも好ましい。この閾値処理により、電磁的ノイズが印加されてノイズの影響でセンサ検出値が極大値をとる場合であっても、キーポイントではないと判断できる。
【００１９】
また、本発明の別の態様は、複数のセンサを有するタッチセンサと、上記の信号処理装置とを備える入力装置である。
【００２０】
本発明は、上記手段の少なくとも一部を備える信号処理装置として捉えることができる。また、本発明は、上記手段が行う処理の少なくとも一部を実行する信号処理方法として捉えることもできる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００２１】
本発明によれば、タッチセンサへの入力がユーザの指によるタッチによるものか、それ以外の要因によるものかを識別することができる。
【図面の簡単な説明】
【００２２】
【図１】タッチセンサを備える入力装置の機能ブロックを示す図である。
【図２】タッチセンサおよび信号取得部の構成を示す図である。
【図３】識別器作成処理の流れを示すフローチャートである。
【図４】センサデータの識別処理の流れを示すフローチャートである。
【図５】キーポイント抽出処理の流れを示すフローチャートである。
【図６】特徴量取得処理の流れを示すフローチャートである。
【図７】特徴量取得処理を説明する図である。
【図８】特徴量取得の際にキーポイントの周囲に設定される検出エリアを説明する図である。
【図９】センサ検出器の輝度勾配を取得するための微分フィルタを説明する図である。
【図１０】重み付け平均勾配ベクトルを算出する際の重み係数を説明する図である。
【図１１】検出エリアの別の例を説明する図である。
【発明を実施するための形態】
【００２３】
（第１の実施形態）
＜構成＞
図１，図２を参照して本実施形態に係る入力装置１について説明する。本実施形態に係る入力装置１は、図１に示すように、タッチセンサ１０とマイクロコントロールユニット（ＭＣＵ）２０とを含む。
【００２４】
本実施形態では、タッチセンサ１０として投影型静電容量方式のタッチセンサを用いる。タッチセンサ１０は、タッチパッドであってもよいし、表示パネルと組み合わせて用いられるタッチスクリーン（タッチパネル）であってもよい。
【００２５】
ＭＣＵ２０は、プロセッサ（演算装置）、メモリ、入出力インタフェースなどを備え、メモリ内に格納されたプログラムをプロセッサが実行することによって信号取得部２１、キーポイント抽出部２２、特徴量取得部２３、識別器２４、出力部２５の機能を提供する
。ＭＣＵ２０は、上記の機能以外の機能を提供してもよい。なお、これらの機能の一部または全部は、ＡＳＩＣなどの専用回路によって実現されてもよい。
【００２６】
図２は、タッチセンサ１０と信号取得部２１の構成を詳細に示した図である。タッチセンサ１０は、マトリクス状に配置された、複数の列方向電極Ｘ０〜Ｘ９と複数の行方向電極Ｙ０〜Ｙ９を有する。列方向電極Ｘ０〜Ｘ９と行方向電極Ｙ０〜Ｙ９の交点のそれぞれがコンデンサを構成する。ユーザがタッチセンサ１０をタッチしたときには、タッチ位置のコンデンサの静電容量が変化するので、静電容量の変化に伴う充放電電流に基づいてタッチ位置が検出できる。すなわち、タッチセンサ１０は相互容量方式のタッチセンサである。列方向電極と行方向電極の交点に構成されるコンデンサはタッチを検出するセンサと捉えられ、タッチセンサ１０は複数のセンサを有するタッチセンサといえる。
【００２７】
ここでは、列方向電極と行方向電極の数をそれぞれ１０個であるとして説明するが、その数は任意であってよく、行方向電極と列方向電極の数が同じである必要もない。また、ここでは電極の形状を長方形（短冊形状）として示しているが、菱形電極を用いてもよい。
【００２８】
列方向電極Ｘ０〜Ｘ９は信号取得部２１の駆動部２１１と配線で接続され、行方向電極Ｙ０〜Ｙ９は信号取得部２１の検出部２１２と配線で接続されている。駆動部２１１は、コントローラ２１３からの制御信号にしたがって、駆動信号を生成し、列方向電極Ｘ０〜Ｘ９を１つずつ選択して駆動信号を印加する。検出部２１２は、コントローラ２１３からの制御信号にしたがって、行方向電極Ｙ０〜Ｙ９を１つずつ選択し、列方向電極Ｘ０〜Ｘ９に印加された駆動信号に応じて行方向電極Ｙ０〜Ｙ９に流れる充放電電流を出力信号として取得する。検出部２１２は、行方向電極Ｙ０〜Ｙ９のそれぞれから取得した出力信号に基づいて、列方向電極Ｘ０〜Ｘ９と行方向電極Ｙ０〜Ｙ９の交点に構成されるコンデンサの静電容量を検出して、各コンデンサの静電容量を示す検出信号を出力する。以下では、それぞれのコンデンサの静電容量の値をセンサ検出値と称し、全てのコンデンサのセンサ検出値からなるデータをセンサデータと称する。
【００２９】
ＭＣＵ２０は、信号取得部２１がタッチセンサ１０から取得したセンサ検出値から、ユーザのタッチ操作による入力が行われたか否かの判定と、タッチ操作が行われた場合にはタッチ位置を求めて出力する
【００３０】
＜処理＞
以下、ＭＣＵ２０によって行われる処理について説明する。処理内容は、学習フェーズと識別フェーズの２つに分けられる。学習フェーズは、ユーザのタッチによって得られるセンサデータと、タッチ以外のノイズによって得られるセンサでデータを用いて、教師有り学習により識別器２４を作成する段階である。識別フェーズは、識別器２４を用いて、タッチセンサ１０への入力がタッチによるものか否かの判定を行う段階である。
【００３１】
［１．学習フェーズ］
図３は、学習フェーズにおける識別器作成処理の流れを示すフローチャートである。以下では、この処理をＭＣＵ２０が行うものとして説明するが、当該処理はＭＣＵ２０以外の装置で行ってもよい。
【００３２】
まず、ＭＣＵ２０は信号取得部２１を介して、タッチセンサ１０からセンサデータを取得する（Ｓ１０１）とともに、このタッチセンサ１０への入力がユーザのタッチによるものかノイズによるものであるかを示す正解データを取得する（Ｓ１０２）。ここでは、センサデータを取得してから正解データを取得するとしているが、この順序は逆であってもよい。また、タッチセンサ１０からあらかじめセンサデータを取得し、正解データと関連
付けて記憶しておき、これらのデータを読み込むことによりセンサデータと正解データを同時に取得してもよい。
【００３３】
［［キーポイント抽出処理］］
次に、キーポイント抽出部２２が、センサデータからキーポイント（特徴点）を取得する（Ｓ１０３）。キーポイント抽出処理Ｓ１０３の詳細を図５に示す。キーポイント抽出処理Ｓ１０３では、以下のステップＳ３０１〜Ｓ３０３の処理を全てのピクセル（位置）に対して行う（ループＬ１）。なお、センサデータはマトリクス状に配列された複数のセンサ（コンデンサ）の検出値（静電容量変化）の集合であるので、以下では、センサデータにおけるセンサ検出値の位置をピクセルとも称する。また、ピクセルという用語はセンサ検出値に対応するセンサを参照する際にも用いられる。例えば、隣接ピクセルとは、あるセンサに隣接するセンサを指す。
【００３４】
キーポイント抽出部２２は、センサ検出値が閾値以上であるか否か判定する（Ｓ３０１）。対象位置のセンサ検出値が閾値未満であれば（Ｓ３０１−ＮＯ）、対象ピクセルはキーポイントではないと判定される。一方、対象ピクセルのセンサ検出値が閾値以上であれば（Ｓ３０１−ＹＥＳ）、キーポイント抽出部２２は、対象ピクセルのセンサ検出値が当該位置を中心とする所定の周辺領域における極大値であるか否か判定する（Ｓ３０２）。対象ピクセルのセンサ検出値が極大値でなければ（Ｓ３０２−ＮＯ）、対象ピクセルはキーポイントではないと判定される。一方、対象ピクセルのセンサ検出値が極大値をとれば（Ｓ３０２−ＹＥＳ）、キーポイント抽出部２２は、当該ピクセルをキーポイントとして抽出する（Ｓ３０３）。
【００３５】
なお、ステップＳ３０１の閾値処理における閾値の値は、センサ検出値がそれ未満の値であれば、タッチセンサ１０に対してタッチによる入力が行われていないと判定できる値とする。なお、タッチの検出漏れを防ぐために、閾値の値は過度に大きくしないことが好ましい。
【００３６】
また、ステップＳ３０２の極大値判定における所定の周辺領域の大きさは、タッチセンサ１０の分解能によって決定すればよく、例えば、３×３や５×５のサイズの正方形領域とすることができる。
【００３７】
［［特徴量算出処理］］
キーポイントが抽出されると、特徴量取得部２３がそれぞれのキーポイントについて特徴量を算出する（Ｓ１０４）。図６は、特徴量算出処理Ｓ１０４の流れを示すフローチャートであり、図７は特徴量算出処理Ｓ１０４を説明する図である。特徴量算出処理Ｓ１０４では、図７に示すように、１つのキーポイントＫに対して複数の検出エリアＤ１〜Ｄｎが設定され、それぞれに検出エリアについてセンサ検出値の平均勾配ベクトルＧ１〜Ｇｎが算出され、これらの平均勾配ベクトルから特徴量Ｓが算出される。
【００３８】
図６のフローチャートを参照して、特徴量取得処理Ｓ１０４を詳細に説明する。特徴量は、ステップＳ１０３において検出されたキーポイントのそれぞれについて算出される（ループＬ２）。特徴量取得部２３は、処理対象のキーポイントに対して、当該キーポイントを中心とする複数の大きさの検出エリアを設定する。図８に検出エリアの例を示す。図８（Ａ）は、キーポイントＫを中心とする３×３の大きさの検出エリアＤ１を示す。図８（Ｂ）は、キーポイントＫを中心とする５×５の大きさの検出エリアＤ２を示す。このように複数の大きさの検出エリアを設定する理由は、ユーザの指の大きさやタッチの仕方によって、静電容量が変化する範囲が異なるからである。図８（Ｃ）に細い指でタッチした場合のセンサデータと、図８（Ｄ）に太い指でタッチした場合のセンサデータを示す。複数のタッチの仕方に応じた検出エリアを設定して、それに基づいて特徴量を取得すること
で、どのような指あるいはタッチの仕方であっても特徴を的確に表現できるようになる。
【００３９】
ここでは、検出エリアの例として２つだけ示したが、ステップＳ４０１において設定する検出エリアの数ｎはいくつであってもよい。想定される指の大きさやタッチの癖などに応じて、タッチによって静電容量が変化する範囲が異なる。想定する入力に応じて、それぞれの範囲に対応する検出エリアを設定すればよい。なお、検出エリア数ｎは１であっても構わない。
【００４０】
また、ここでは、検出エリアの例として処理対象キーポイントを中心とする正方形を挙げたが、検出エリアは必ずしも正方形でなくてよく、矩形（長方形）、円形、楕円形など任意の形状であってもよい。また、キーポイントにおける勾配方向に応じて検出エリアの向きを変えてもよい。
【００４１】
特徴量取得部２３は、次に、設定されたそれぞれの検出エリアを対象にステップＳ４０２〜Ｓ４０３の処理を実行する（ループＬ３）。特徴量取得部２３は、検出エリア内の各ピクセルについて、８方向の勾配からなる勾配情報（勾配ベクトル）を算出する（Ｓ４０２）。図９（Ａ）〜９（Ｃ）に、右方向勾配、上方向勾配、右上方向勾配を算出するための微分フィルタの例をそれぞれ示す。ここでは、算出する勾配方向に所定ピクセル数離れた位置でのセンサ検出値と、キーポイントでのセンサ検出値の差を当該勾配方向の勾配値として算出している。この例では所定ピクセル数として２ピクセルを採用しているが、隣接ピクセルの値を用いてもよいし３つ以上離れたピクセルの値を用いてもよい。また、この所定ピクセル数は、検出エリアの大きさに応じて変化させてもよい。また、ここでは、前進差分を採用しているが、後退差分や中央差分を採用してもよい。また、ソーベルフィルタやプレウィットフィルタなどを採用してもよい。
【００４２】
特徴量取得部２３は、検出エリア内の全ての位置について求めた勾配情報（勾配ベクトル）の重み付き平均勾配ベクトルを算出する（Ｓ４０３）。検出エリアＤｎについての重み付き平均勾配ベクトルは、下記式に示すように、各方向についての勾配値の重み付き平均を要素とするベクトルである。
【数１】
0006543790.tif 000002
【００４３】
ここで、ｇ０（ｘ，ｙ）〜ｇ７（ｘ，ｙ）は位置（ｘ，ｙ）における８方向の勾配値である。ｗ０〜ｗ７は８方向のそれぞれについての重み係数である。総和（シグマ）は検出エリアＤｎ全体を対象とする。
【００４４】
重み係数は勾配方向ごとに異なった値（パターン）を採用する。例えば、右方向勾配に関しては、図１０（Ｂ）に示すように、キーポイントのｘ位置と同じかそれよりも左側にあるピクセルについてのみ重み係数を１として、その他のピクセルを０とする。センサ検出値は図１０（Ａ）に示すようにキーポイントで極大をとる。図１０は、キーポイントと同じｙ位置のセンサから得られるセンサ検出値を、キーポイントを中心として示した図である。したがって、キーポイントの右側と左側で右方向勾配値の符号が逆転する。そこで、キーポイントのｘ位置と同じかそれよりも左側にあるピクセルについてのみの勾配値の平均を取ることで、符号の異なる勾配値が打ち消すことを防止できる。なお、右方向勾配に関して、キーポイントのｘ位置と同じかそれよりも右側にあるピクセルについてのみ重み係数を１として、その他のピクセルを０としても同様の効果が得られる。またここでは、重み係数を１と０としているが、０と１の間の値を採用するようにしてもよい。
【００４５】
全ての検出エリアについて平均勾配ベクトルが算出されたら、特徴量取得部２３は、これらの平均勾配ベクトルからキーポイントの特徴量を算出する（Ｓ４０４）。ここでは、下記式に示すように、各検出エリアについて求められる平均勾配ベクトルの要素を組み合わせたベクトルを、特徴量Ｓとする。
【数２】
0006543790.tif 000003
【００４６】
［［識別器生成処理］］
ステップＳ１０５の学習処理では、以上のようにして取得された、タッチ入力のセンサデータから得られる特徴量と、ノイズのセンサデータから得られる特徴量とを用いて機械学習を行うことで、タッチセンサへの入力がタッチによるものかどうかを識別する識別器が作成される。識別器として、ニューラルネットワークやサポートベクターマシン（ＳＶＭ）、部分空間法、判別分析など既知の任意の手法を採用可能である。ステップＳ１０５の学習処理により、識別器２４が生成される。
【００４７】
［２．識別フェーズ］
図４は、識別フェーズにおけるセンサデータの処理の流れを示すフローチャートである。この処理は、ＭＣＵ２０によって行われる。
【００４８】
ＭＣＵ２０は信号取得部２１を介して、タッチセンサ１０からセンサデータを取得する（Ｓ２０１）。キーポイント抽出部２２が、センサデータからキーポイントを抽出する（Ｓ２０２）。キーポイント抽出処理は、学習処理における処理（図５）と同様であるので説明を省略する。キーポイントが抽出されると、特徴量取得部２３が、それぞれのキーポイントについて特徴量を算出する（Ｓ２０３）。特徴量算出処理は、学習処理における処理（図６，７等）と同様であるので説明を省略する。
【００４９】
次に、それぞれのキーポイントについて算出された特徴量を識別器２４に入力して、この特徴量がタッチ入力によって得られるものであるかどうかを識別する（Ｓ２０４）。識別処理の結果が「タッチ入力」であると判別された場合（Ｓ２０４−ＹＥＳ）には、ＭＣＵ２０はタッチ操作が行われた際の処理を実行する（Ｓ２０６）。具体的には、キーポイントの位置をタッチ位置とする出力を出力部２５から出力し、このタッチ操作に応じた処理を実行する。一方、識別の結果が「タッチ入力」ではない場合（Ｓ２０４−ＮＯ）は、ＭＣＵ２０はノイズを検知した際の処理を実行する（Ｓ２０７）。典型的には、センサデータを無視して何も処理を行わない。
【００５０】
＜本実施形態の有利な効果＞
本実施形態によれば、タッチセンサへの入力がユーザのタッチによるものか、ノイズによるものであるかを判別できる。この際、キーポイントを中心に想定される指のサイズ等に応じた複数の大きさの検出エリアを設定し、それぞれから得られるセンサ検出値の勾配を特徴量として用いているので、ユーザの指の大きさやタッチの癖などによらず精度良く、タッチ入力か否かを識別できる。したがって、タッチセンサに電磁ノイズが印加されたり、水濡れが発生したりした場合であっても、誤検出を防止できる。
【００５１】
また、タッチ位置の候補（キーポイント）を取得する際に、センサ検出値が閾値以上の位置を検出しており、ノイズによってセンサ検出値が極大となる位置を除外できる。なお、この閾値処理によって、ノイズに基づく極大値を全て除外する必要はない。後段の識別器を用いた処理によって、タッチかノイズかを判別できるので、キーポイント抽出のための閾値を小さくしても構わない。
【００５２】
また、信号処理によりノイズ（電磁ノイズを含む）を検出できるので、タッチセンサのシールド性能が高くなくても誤検出を抑制できる。したがって、安価なタッチセンサを用いた場合でも、誤検出を抑制できる。
【００５３】
（第２の実施形態）
第２の実施形態は、基本的に第１の実施形態と同様であるが、特徴量を取得する際に設定する検出エリアが第１の実施形態と異なる。第２の実施形態では、図８に示すようにキーポイントを中心とする正方形の検出エリアを用いていた。本実施形態では、図１１（Ａ）に示すように、キーポイントを含み行方向に所定幅を有する複数列の列方向電極に対応する領域を検出エリアとして用いる。図１１（Ａ）では、３列分の幅を有する検出エリアを示しているが、検出エリアの幅は３列以外であってもよい。また、第１の実施形態と同様に、複数の異なる幅の検出エリアを採用するとよい。
【００５４】
このような検出エリアを採用する利点を説明する。タッチセンサ１０に電磁ノイズが印加されるとタッチによる入力がない場合でも、タッチセンサの静電容量は変化し、センサ検出値が電磁ノイズに応じた値を持つ。図１１（Ｂ）は、電磁ノイズが印加された時のセンサ検出値を示す。電磁ノイズの強度は時間とともに変動し、タッチセンサ１０は選択列ごとにセンサ検出値が読み取られるので、タッチによる入力がなくても列方向電極ごとに所定のセンサ検出値が得られることになる。したがって、検出エリアを複数の列電極からなる領域とすることで、電磁ノイズが印加された場合の特徴を適確に表現することができ、電磁ノイズの印加をより精度良く検出することができる。
【００５５】
なお、キーポイントを含み列方向に所定幅を有する複数行の行方向電極に対応する領域を検出エリアとして用いてもよい。このように検出エリアを設定しても、上記と同様の理由により、電磁ノイズが印加された場合の特徴を適確に特徴量として表現することができ、電磁ノイズの印加をより精度良く検出することができる。
【００５６】
本実施形態で説明した、複数の列方向電極あるいは行方向電極からなる検出エリアだけを用いて特徴量を求めてもよいし、第１の実施形態で用いた正方形の検出エリアに加えて本実施形態で説明した検出エリアを用いてもよい。第１の実施形態で用いた複数の大きさの正方形の検出エリア、本実施形態で用いた複数列からなる検出エリアと複数行からなる検出エリアのそれぞれを用いることも好ましい。複数種類の検出エリアを用いることで、演算量が増えるものの、より精度良くタッチ入力とノイズとを識別可能となる。
【００５７】
（第３の実施形態）
第３の実施形態は、基本的に第１の実施形態と同様であるが、特徴量の算出方法が第１の実施形態と異なる。第１の実施形態では、ある時点で取得されるセンサデータのみに基づいて特徴量を求めているが、本実施形態では、所定時間前のセンサデータも用いて特徴量を算出する。所定時間前のセンサデータとは、１フレーム前のセンサデータであってもよいし、数フレーム前のセンサデータであってもよい。
【００５８】
本実施形態においては、現時点のセンサデータと所定時間前（例えば１フレーム前）のセンサデータとの差分を対象として、第１の実施形態と同様の特徴量算出処理（図６）を実行して、キーポイントに対する特徴量を取得する。なお、キーポイントの抽出処理は第１の実施形態と同様に現時点のセンサデータに基づいて行われる。
【００５９】
なお、本実施形態で説明したセンサデータの時間変化のみから特徴量を取得してもよいし、現時点のセンサデータ自体とセンサデータの時間変化の両方から特徴量を取得してもよい。後者の場合には、現時点のセンサデータから得られる重み付き平均勾配ベクトルと
、センサデータの時間変化から得られる重み付き平均勾配ベクトルとを合成したベクトル情報を特徴量として用いればよい。
【００６０】
上記では、現時点のセンサデータと所定時間前のセンサデータの差分に対して、第１の実施形態で説明した特徴量算出処理を行って特徴量を算出するものとして説明したが、センサデータの時間変化を反映する手法であれば、その他の方法によって特徴量を算出してもよい。例えば、現時点のセンサデータと所定時間前のセンサデータのそれぞれに対して、第１の実施形態で説明した特徴量算出処理を行い、得られた結果の時間変化（差分）を特徴量としてもよい。
【００６１】
本実施形態によれば、センサデータの時系列変化を用いることで、タッチの形状だけでなく、タッチの形状の時間変化を特徴量として取得することができ、タッチ動作の動的特徴を表現できる。
【００６２】
（第４の実施形態）
第１の実施形態では、識別器によってタッチセンサへの入力がタッチによるものかノイズによるものかだけを識別しているが、本実施形態では、ノイズの要因も識別する。ノイズの要因として、例えば、電磁ノイズ、水滴や金属などの導体の接触、掌の意図しない接触などがある。もっとも、ノイズの要因としてここで挙げたもの以外も想定できるし、ここで挙げたものをより細かく分類したりより大きく分類したりしてもよい。
【００６３】
本実施形態では、上記の要因およびタッチ入力のそれぞれについて、タッチセンサから得られるセンサデータに基づいて特徴量を算出し、教師有り学習を行って識別器を作成すればよい。識別器は、１つの多クラス識別器であってもよいし、複数の２クラス分類器であってもよい。
【００６４】
本実施形態によれば、タッチセンサへの入力がタッチ以外の要因によるものであると判定できるだけでなく、タッチ以外のどのような要因が生じているのかを把握できる。したがって、本実施形態では、タッチセンサへの入力がタッチ以外の要因であると判定されたときに行うノイズ検知処理Ｓ２０７において、ノイズの要因に応じた処理を行うことができる。例えば、識別器によって水滴の接触が発生していると判定された場合には、ユーザに対して、タッチセンサの水を拭くように指示することができる。
【００６５】
（その他）
上記の実施形態は、それぞれ技術的に矛盾しない範囲で適宜組み合わせて実施することができる。また、本発明の技術的思想の範囲内で適宜変更して実施することもできる。
【００６６】
上記の説明では、投影型静電容量方式のタッチセンサを例に説明したが、１回のタッチについてタッチ領域に応じて複数の検出信号が得られる方式のタッチセンサであれば任意の方式のタッチセンサが利用可能である。例えば、独立した接触センサを複数備えたタッチセンサも本発明に利用可能である。
【００６７】
上記で説明した特徴量の算出方法は例示にすぎず、他の特徴量を採用することもできる。例えば、ＳＩＦＴ特徴量やＳＵＲＦ特徴量、ＨｏＧ特徴量なども採用可能である。
【００６８】
また、上記の説明では、タッチセンサから得られるセンサデータに対する信号処理をマイクロコントローラ内で行うものとして説明したが、タッチセンサを用いた入力装置をコンピュータと接続して用いる場合には、上記の信号処理をコンピュータが有するＣＰＵで行ってもよい。例えば、デバイスドライバが上記の信号処理を行ってもよい。
【符号の説明】
【００６９】
１：入力装置    １０:タッチセンサ
２０：ＭＣＵ（マイクロコントロールユニット）
２１：信号取得部    ２２：キーポイント抽出部    ２３：特徴量取得部
２４：識別器        ２５：出力部
【図１】
0006543790.tif 000004
【図２】
0006543790.tif 000005
【図３】
0006543790.tif 000006
【図４】
0006543790.tif 000007
【図５】
0006543790.tif 000008
【図６】
0006543790.tif 000009
【図７】
0006543790.tif 000010
【図８】
0006543790.tif 000011
【図９】
0006543790.tif 000012
【図１０】
0006543790.tif 000013
【図１１】
0006543790.tif 000014