(58)【調査した分野】(Int.Cl.,DB名)
前記入力処理部は、さらに、前記検出部で検出された前記複数の接触位置の少なくとも一つが特定の領域に属したときに、前記第二記憶部が記憶している前記予め定められた領域を変化させる領域変化部を有し、
前記排除部は、前記特定の領域に前記接触位置が属した後において前記検出部に検出された接触位置について、前記領域変化部により変化された予め定められた領域を用いた前記排除処理を行う
請求項1または2に記載の情報入力装置。
前記入力処理部は、さらに、前記第一記憶部により記憶されている複数の位置情報のうち任意の第一の位置情報の点から、第一の位置情報より後で記憶された第2の位置情報の点までを結ぶ第一のベクトルと、第2の位置情報の点と第2の位置情報より後で記憶された第3の位置情報の点までを結ぶ第二のベクトルとのなす角の絶対値が予め定められた角度以上であるときに、前記第二記憶部が記憶している前記予め定められた領域を変化させる領域変化部を有し、
前記排除部は、前記特定の領域に前記接触位置が属した後において前記検出部に検出された接触位置について、前記領域変化部により変化された予め定められた領域を用いた前記排除処理を行う
請求項1または2に記載の情報入力装置。
前記特定部は、前記二以上の特定位置を線分で近似することにより算出される前記タッチ入力の方向と、当該二以上の特定位置を示す位置情報から算出される前記タッチ入力の速さとを示すパラメータ情報を持つ直線運動をタッチジェスチャとして特定する
請求項1から7のいずれか1項に記載の情報入力装置。
前記特定部は、前記第一記憶部で記憶された複数の特定位置のうち、三以上の特定位置を円弧で近似することにより算出される前記タッチ入力の方向と、当該三以上の特定位置を示す位置情報から算出される前記タッチ入力の速さとを示すパラメータ情報を持つ回転運動をタッチジェスチャとして特定する
請求項1から7のいずれか1項に記載の情報入力装置。
【発明を実施するための形態】
【0011】
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、スタイラス検出装置に関し、以下の問題が生じることを見出した。
【0012】
特許文献1に記載の情報入力装置は、タッチセンサを配置した操作部と、操作部に入力された開始点および終了点の二つの点の位置を記憶する記憶部と、開始点および終了点の二つの点の位置より入力方向を判断する入力方向判定部と、判断された入力方向に基づいて、操作部に配置される操作領域の配置を変更する制御部とにより構成される。この構成により、ユーザが指先をタッチセンサに接触させた開始点から終了点までの二点間の移動方向で、操作キーなどの操作領域の配置を制御することができ、情報入力装置の向きおよび操作領域の向きを意識しなくても操作することができる。このため、操作キーなどの操作領域を見ずにブラインドタッチで操作することができる。
【0013】
このように、タッチジェスチャによる情報入力装置では、タッチセンサが検出した接触位置の二点以上の系列情報に基づき、タッチジェスチャの動きの種別を識別して、識別されたタッチジェスチャの動きの種別に応じた情報機器制御の種別を特定することが一般的である。なお、ここで言う「系列情報」とは、一つのタッチジェスチャとして識別される複数の検出点の集まりのことである。このため、記憶している接触位置の系列情報のうち、特定の位置情報がユーザの意図とは異なって記憶されている場合は、タッチジェスチャの識別結果がユーザの意図するタッチジェスチャとは異なってしまうという問題が生じる。
【0014】
以下、
図2を用いてこの問題を説明する。
図2は、タッチセンサ10上においてユーザによるタッチ入力が行われた点を示す図である。検出点100〜140は、ユーザによる接触が検出された位置を示す点であり、検出された時間順に小さい番号から大きい番号となるように符号が付されている。
図2で示すタッチ入力は、ユーザが、右手で検出点100〜130まで左から右に移動させて、右手の指をタッチセンサから離すときに、意図せず左手で検出点140に触れ、そのまま左手を離したことを検出した場合の例である。ユーザが意図しなかった入力である検出点140を除いた場合、ユーザは、右手の指を左から右へ移動させていることが検出点100〜130から判定できる。しかし、検出されたタッチ入力における接触の開始点は検出点100であると認識され、終了点は検出点140であると認識されたことになる。このため、
図2のように検出点100〜140が検出された場合に、特許文献1のようにタッチ入力の開始点および終了点を検出して当該二点間の移動方向によりタッチ入力を識別する技術を適用すれば、タッチセンサ10の上の領域から下方向への移動であることが識別されることになる。このように、ユーザが入力したタッチ入力を構成する系列情報のうち、少なくとも特定の一点がユーザの意思とは異なる位置で検出された情報になった場合、ユーザの意図とは異なる情報入力として識別してしまうという問題がある。
【0015】
そこで、特許文献2によると、タッチセンサを用いた情報入力方法において、意図しないオペレーションを最小限にするために、タッチセンサパネルの端部領域におけるタッチ事象を選択的に拒否する方法が述べられている。つまり、ユーザの意思とは異なる位置においてタッチされたことが誤検出されないように、ユーザの意思とは異なる入力が行われやすいタッチセンサパネルの端部領域においてタッチが行われても、当該タッチを選択的に排除する方法が記載されている。また、タッチパネルの端部における接触の拒否に対するいくつかの例外を設ける方法も提案されており、タッチセンサの主領域内で検出され、特定のジェスチャの一部として認識された場合に、タッチセンサの端部まで指を移動させても接触を拒否しないことが述べられている。
【0016】
しかしながら、特許文献2に記載されている構成では、特にタッチセンサの形状や性質に依存して、以降で説明する問題が生じる。
【0017】
情報入力装置が、テレビ、デジタルレコーダなどの家電製品のリモートコントローラなどであって、情報入力装置に搭載されているタッチセンサが小型である場合は、情報入力装置の把持の仕方によって、ユーザが自然に接触するタッチセンサ上の位置が端部(つまり接触を拒否する領域)になる。
図3は、情報入力装置がリモートコントローラである場合の、情報入力装置の外観の例を示す図である。情報入力装置200は、
図3に示すように、家電製品のリモートコントローラであり、入力するためのボタンとともにタッチセンサ210を有する。ユーザが情報入力を行う際に、ユーザの手220の指を自然に伸ばした状態でタッチセンサに触れた場合、検出点230のようにタッチセンサ210の左端に触れる。
【0018】
さらに、タッチセンサ210の周囲がセンサ部分より出っ張っている場合、ユーザの指がセンサ周囲部分に接触したとき、ユーザの指は、タッチセンサの縁に沿った方向に移動することがある。
【0019】
この現象を、
図4を用いて説明する。
図4は、タッチセンサ10の表面を表す図である。タッチセンサ10は、その上方に出っ張り380を有する。破線の折れ線で示す境界線390は、タッチセンサ10の主領域A1と端部領域A2とを切り分ける境界線である。タッチセンサ10のうち、境界線390より左側および上側の部分は端部領域A2であり、それ以外の部分は主領域A1である。
【0020】
検出点300〜360は、ユーザがタッチセンサ10の下の領域から上方向へフリック操作(
図4の白抜き矢印参照)を行ったときの実際の指の接触位置の軌跡のうちでタッチセンサ10により検出された検出点の例である。検出点300から検出点330までの間、ユーザは指を下から上に動かしている。そして、検出点330においてユーザの指370がタッチセンサ10の周囲の出っ張り380に当たり、検出点330から検出点360までタッチセンサ10の出っ張り380に沿って動いてしまっている。検出点300〜330のように、ユーザがタッチセンサ10に指先を接触させた開始点およびその直後の点が左端に位置し、かつ、検出点330〜360のように終了点およびその直前の点が上端に位置した場合、特許文献2の方法のように、端部領域A2における全ての接触情報を拒否する方法を適用すれば、
図4に示したようなフリック操作が検出されない。
【0021】
反対に、検出点300〜360を、特許文献2の方法を適用して、ジェスチャの一部として識別し、接触拒否の例外とみなして全ての点を有効として扱う場合を考える。この場合には、開始点である検出点300および終了点である検出点360で方向を検出することになり、左下の領域からから右斜め上方向の移動したジェスチャとして識別される。つまり、ユーザは上方向へのフリック操作の入力を行おうとしているのに対し、情報入力装置は、当該フリック操作を左下から右斜め上方向へのフリック操作として識別する。
【0022】
いずれの場合も、ユーザの意図とは異なる情報入力として識別されるため、ユーザは意図する操作を行おうとすれば、誤って識別された入力を訂正する操作が必要になり、使い勝手の悪さが問題になる。
【0023】
また、タッチセンサ10において、接触位置を検出する頻度が低いときにも、問題が生じる。
【0024】
例えば、フリック操作の際に、タッチセンサ10へのユーザの接触時間が短いときには、わずかな点の検出しかできない。
【0025】
このときの問題を、
図5を用いて説明する。
図5は、
図4と同様に周囲に出っ張り460を有するタッチセンサ10において、接触時間が短いときに生じる問題について説明する図である。検出点400〜440は、ユーザによる接触が検出された位置を示す点であり、検出された時間順に小さい番号から大きい番号となるように符号が付されている。また破線で示す境界線470はタッチセンサ10の端部領域A12と主領域A11とを切り分ける境界線であり、タッチセンサ10のうち、境界線470より上側の部分は、タッチセンサ10の端部領域であって、接触の拒否の候補になる領域である。また、タッチセンサ10のうち、境界線470より下側の部分は、タッチセンサの主領域A11である。ユーザは開始点である検出点400から検出点420までの間、ユーザは指を下から上に動かしている。このとき、ユーザは、上方向のフリック操作を意図している場合であるとする。しかし、検出点420にてタッチセンサ10の周囲の出っ張り460に指が当たり、その後ユーザの指はタッチセンサ10の出っ張り460に沿って右方向に移動してしまっていることが検出されている。
【0026】
このような場合に、もし、特許文献2で示すように端の点を拒否すれば、タッチジェスチャ認識に利用される位置情報の系列情報は検出点400の一点のみとなり、タッチジェスチャの方向を検出できない。よって、このような場合には、フリック操作を検出することはできない。そのため、ユーザの意図とは異なり、タッチジェスチャ操作は発生しないという結果になる。
【0027】
また、ジェスチャの一部として検出点400〜430の全ての位置情報を有効に扱った場合、開始点である検出点400から終了点である検出点440までの移動方向として、左下から右斜め上方向のフリック操作であると識別される。ここで、ユーザの意図したフリック操作は、上方向のフリック操作であるため、この場合もユーザの意図とは異なる結果となる。
【0028】
いずれの場合も、ユーザの意図とは異なる情報入力として識別されるため、ユーザは意図する操作を行おうとすれば、誤って識別された入力を訂正する操作が必要になり、使い勝手の悪さが問題になる。
【0029】
このような問題を解決するために、本発明の一態様に係る情報入力装置は、ユーザからのタッチ入力をタッチジェスチャとして特定する情報入力装置であって、タッチセンサと、前記タッチセンサに対する前記タッチ入力が行われた接触位置であって、所定時間の間における異なる複数のタイミングで順次検出された複数の接触位置の中から、前記タッチ入力が開始されてから予め定められた数の前記接触位置が検出された後に検出され、かつ、予め定められた領域に属する接触位置を除いた複数の特定接触位置を用いてタッチジェスチャを特定する入力処理部と、を備える。
【0030】
これによれば、所定時間の間において検出された複数の接触位置の中から、予め定められた数の接触位置が検出された後に検出され、かつ、予め定められた領域に属する接触位置を除いた複数の位置を特定位置としてタッチジェスチャの特定に用いる。タッチ入力の開始からある時間までの間の入力は、ユーザが意図して入力していることが多いが、その後に入力された入力は意図していない入力を含む場合がある。そして、さらに、意図していない入力は、予め定められた領域において多く発生する。これらのことから、タッチ入力が開始されてから予め定められた数だけ検出された接触位置を少なくとも用いてタッチジェスチャ特定し、かつ、予め定められた数の検出が行われた以降の接触位置であって誤検出が多い予め定められた領域に含まれる接触位置を除いてタッチジェスチャを特定するため、より適切にタッチセンサの検出情報の採択・不採択を決めることができる。このため、タッチジェスチャの検出をユーザの意図するタッチジェスチャに、より適合させることができ、タッチジェスチャ入力の性能を向上できる。
【0031】
また、例えば、前記入力処理部は、前記複数の接触位置を検出する検出部と、前記検出部により前記所定時間の間に検出された複数の接触位置と、当該複数の接触位置のそれぞれが検出されたタイミングとを関連付けた情報を位置情報として記憶する第一記憶部と、前記タッチセンサ上の領域のうちの前記予め定められた領域を記憶している第二記憶部と、前記第一記憶部により記憶された位置情報で示される前記接触位置の数が前記予め定められた数を超えた以降に前記検出部により検出された接触位置が、前記第二記憶部により記憶されている前記予め定められた領域に属すれば、当該接触位置を排除する排除処理を行う排除部と、前記排除処理後に前記第一記憶部により記憶されている複数の位置情報のうち、二以上の位置情報を用いて前記タッチジェスチャを特定する特定部と、を有してもよい。
【0032】
また、例えば、前記入力処理部は、さらに、前記検出部で検出された前記複数の接触位置の少なくとも一つが特定の領域に属したときに、前記第二記憶部が記憶している前記予め定められた領域を変化させる領域変化部を有し、前記排除部は、前記特定の領域に前記接触位置が属した後において前記検出部に検出された接触位置について、前記領域変化部により変化された予め定められた領域を用いた前記排除処理を行ってもよい。
【0033】
また、例えば、前記タッチセンサは、その表面に形成される突起物を有し、前記領域変化部は、前記検出部で検出された複数の接触位置の少なくとも一つが前記特定の領域である、前記突起物が形成される領域に属したときに、前記第二記憶部が記憶している前記予め定められた領域を変化させてもよい。
【0034】
また、例えば、前記入力処理部は、さらに、前記第一記憶部により記憶されている複数の位置情報のうち任意の第一の位置情報の点から、第一の位置情報より後で記憶された第2の位置情報の点までを結ぶ第一のベクトルと、第2の位置情報の点と第2の位置情報より後で記憶された第3の位置情報の点までを結ぶ第2のベクトルとのなす角の絶対値が予め定められた角度以上であるときに、前記第二記憶部が記憶している前記予め定められた領域を変化させる領域変化部を有し、前記排除部は、前記特定の領域に前記接触位置が属した後において前記検出部に検出された接触位置について、前記領域変化部により変化された予め定められた領域を用いた前記排除処理を行ってもよい。
【0035】
また、例えば、前記第二記憶部は、前記タッチセンサの端として予め定められた端部領域を前記予め定められた領域として記憶していてもよい。
【0036】
また、例えば、ユーザからのタッチ入力をタッチジェスチャとして特定する情報入力装置であって、タッチセンサと、前記タッチセンサに対する前記タッチ入力が行われた接触位置であって、所定時間の間における異なる複数のタイミングで順次検出された複数の接触位置の中から、前記タッチ入力が開始されてから予め定められた数の前記接触位置が検出された後に検出され、かつ、前記複数の接触位置に記憶されている任意の第一の位置情報の点から、第一の位置情報より後で記憶された第2の位置情報の点までを結ぶ第一のベクトルと、第2の位置情報の点と第2の位置情報より後で記憶された第3の位置情報の点までを結ぶ第2のベクトルとのなす角の絶対値が予め定められた角度以上であるときに、接触位置を除いた複数の特定接触位置を用いてタッチジェスチャを特定する入力処理部と、を備えてもよい。
【0037】
また、例えば、前記特定部は、前記二以上の特定位置を線分で近似することにより算出される前記タッチ入力の方向と、当該二以上の特定位置を示す位置情報から算出される前記タッチ入力の速さとを示すパラメータ情報を持つ直線運動をタッチジェスチャとして特定してもよい。
【0038】
また、例えば、前記特定部は、前記第一記憶部で記憶された複数の特定位置のうち、三以上の特定位置を円弧で近似することにより算出される前記タッチ入力の方向と、当該三以上の特定位置を示す位置情報から算出される前記タッチ入力の速さとを示すパラメータ情報を持つ回転運動をタッチジェスチャとして特定してもよい。
【0039】
なお、これらの全般的または具体的な態様は、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【0040】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0041】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する趣旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0042】
(実施の形態1)
図1は、本発明の実施の形態における情報入力装置のブロック図である。
【0043】
情報入力装置1は、タッチセンサ10と、入力処理部20とを備える。タッチセンサ10は、ユーザの指がタッチセンサ10の表面に接触した位置を検出するデバイスであり、接触した位置に対応する電気信号を出力する。タッチセンサ10は、具体的には、タッチパッドやタッチパネル等により実現できる。なお、タッチセンサ10がユーザの指を検出する方式としては、静電容量方式、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等のいずれでもよいが、以下、本発明では、静電容量方式のタッチセンサを用いて説明する。
【0044】
入力処理部20は、検出部21と、第一記憶部22と、第二記憶部23と、排除部24と、特定部25とを有する。
【0045】
検出部21は、静電容量方式のタッチセンサ10から得られる電気信号を用いて、ユーザの指がタッチセンサ10に接触したときの位置を所定時間の間に予め定められたサンプリング周期で検出する。検出部21は、例えば、60msのサンプリング周期で繰り返しタッチセンサ10においてタッチされた位置(接触位置)を検出する。
【0046】
なお、検出部21は、一定の周期でタッチセンサ10においてタッチされた位置を検出することに限らずに、異なる周期で検出されるような形態であってもよい。例えば、ユーザによるタッチ入力の移動が予め定められた閾値よりも速い場合にはサンプリング周期を短くし、反対にユーザによるタッチ入力の移動が予め定められた閾値よりも遅い場合にはサンプリング周期を長くするようにしてもよい。また、ユーザによるタッチ入力の移動が速くなるほど、サンプリング周期を短くするようにしてもよい。このようにサンプリング周期をユーザによるタッチ入力の移動速度に応じて動的に変更することにより、検出される複数の接触位置の間隔を一定に近づけることができる。このため、一定のサンプリング周期で接触位置の検出を行う場合よりも、サンプリングの精度の向上と電力消費量の低減とを両立させることができる。このように、検出部21は、タッチセンサに対するタッチ入力が行われた位置を、所定時間の間における異なる複数のタイミングで検出できるものであればその形態は問わない。
【0047】
第一記憶部22は、所定時間の間に検出部21により検出された複数の接触位置と、当該複数の接触位置のそれぞれが検出されたタイミングとを関連付けた情報を位置情報として記憶する。
【0048】
第二記憶部23は、タッチセンサ10の予め定められた領域を排除領域として記憶している。なお、「領域を記憶している」とは、当該領域を特定する情報を記憶していることである。この排除領域は、第一記憶部22に記憶させない位置の候補であることを示す領域で、タッチセンサ10上の領域のうち、ユーザがタッチ操作を行いにくい部分や、タッチセンサ10の特性により位置検出の検出精度が落ちる可能性のある部分が排除領域として設定される。なお、排除領域は、工場出荷時に予め定められた領域であってもよい。また、ユーザがタッチ操作を行いにくい部分の領域を、後で排除領域としてユーザが設定できるようにしてもよい。
【0049】
図6は、排除領域として設定される予め定められた領域の第一の具体例を説明するための図である。
図6において、タッチセンサ10上の長方形状の破線で示す境界線500の外側部分の領域が排除領域A22として設定される。なお、タッチセンサ10上の長方形状の破線の内側部分の領域は、タッチセンサ10の排除領域以外の領域である主領域A21である。特にタッチセンサ10の周囲が盛り上がった出っ張りとなっているときは、例えばフリック操作をユーザが行った場合に指の一部が周囲の出っ張りに当たれば、フリック操作の方向が変わりやすい。このように、ユーザが意図するタッチ操作が正確にできずに、誤入力される場合があるので、タッチセンサ10の長方形状の破線の外側の領域(端部領域)を排除領域として設定することが誤検出を低減するために有効である。
【0050】
排除領域の第二の具体例は、本実施の形態1のようにタッチセンサが静電容量式である場合、指の静電容量を検知するために配置される導電膜の分布が薄い部分の領域である。
【0051】
排除部24は、第一記憶部22により記憶された位置情報で示される接触位置の数が予め定められた数を超えた以降に検出部21により検出された位置が、第二記憶部23により記憶されている予め定められた領域に属すれば、当該接触位置を排除する排除処理を行う。具体的には、排除部24は、検出部21により検出された位置(接触位置)が、第二記憶部23により記憶されている排除領域に含まれるか否かの領域判定を行う。そして、排除部24は、当該領域判定の結果、接触位置が排除領域に含まれる場合に、さらに第一記憶部22に記憶されている位置情報が示す接触位置の数が予め定められた数を超えているか否かの数判定を行う。当該数判定の結果、接触位置の数が予め定められた数を超えている場合に、該当する接触位置を第一記憶部22で記憶しないための排除処理を行う。つまり、排除部24は、領域判定および数判定の両方の判定条件を満たす場合に判定条件を満たした接触位置を排除する排除処理を行う。
【0052】
なお、排除部24は、タッチ入力を検出した場合の結果として、領域判定および数判定の両方の判定条件を満たす接触位置が関連付けられた位置情報が第一記憶部22に記憶されないような処理を排除処理として行えばよく、排除処理の形態は問わない。つまり、排除部24が、検出部21により検出された接触位置を示す位置情報について排除処理を行うか否かの判定を行うタイミングは複数考えられる。
【0053】
また、予め定められた数は、情報入力装置1による操作の対象となる機器のメニューの複雑度に応じて変更されるようにしてもよい。例えば、TV番組の番組表を次の日に遷移させるための操作であれば複雑度が小さい。つまり、TV番組の番組表が表示されていることを検出して、メニューの複雑度が小さいと判定されれば、入力の誤検出が行われても元の画面に戻ることは容易であるため、予め定められた数を少ない数(例えば3個など)に設定する。反対に、例えば録画された番組の編集を行うための操作であれば複雑度が大きい。つまり、このように、録画された番組を編集するためのメニューが表示されていることを検出して、メニューの複雑度が大きいと判定されれば、入力の誤検出が行われた場合に、元の状態に戻すことは困難であるため、予め定められた数を多い数(例えば10個など)に設定する。このようにして、機器を操作するためのメニューの複雑度が大きいほど、予め定められた数を多くするように設定してもよい。
【0054】
タイミングの第一の例は、ユーザがタッチセンサ10から指を離したタイミングであり、排除部24は、第一記憶部22で記憶されている位置情報のうち、最新の位置情報から順に排除するかどうかを判定する。つまり、ユーザによる一つのタッチ入力が終了したタイミングで排除処理が行われる。そして、タッチ入力において検出された複数の接触位置のうちで最新の接触位置から順に領域判定および数判定の両方を行い、両方の判定条件を満たした接触位置が関連付けられた位置情報を、第一記憶部22に記憶されている位置情報から削除する処理を、排除処理として行う。
【0055】
タイミングの第二の例は、検出部21で接触位置を検出した時点であり、検出した接触位置を位置情報として第一記憶部22に記憶させるかどうかを判定する。つまり、排除部24は、検出部21により検出された接触位置が領域判定および数判定の両方の判定条件を満たせば第一記憶部22に記憶させない処理を、排除処理として行う。
【0056】
タイミングの第三の例は、第一記憶部22で記憶されている位置情報の数が予め定められた数以上集まったときであり、排除部24は、第一記憶部22で記憶されている位置情報のうち、最新の位置情報から順に第一記憶部22から排除するか否かの領域判定および数判定を行う。そして、両方の判定条件を満たせば、第一記憶部22に記憶されている位置情報から、当該判定条件を満たした接触位置が関連付けられた位置情報を削除する処理を、排除処理として行う。
【0057】
タイミングの第四の例は、第一記憶部22で記憶されている位置情報の数が予め定められた数集まったときであり、排除部24は、そのとき以降に検出部21により検出された接触位置について領域判定を行い、領域判定の条件を満たした接触位置を第一記憶部22に記憶させない処理を、排除処理として行う。
【0058】
なお、排除部24は、第一記憶部22により記憶されている一つのタッチ入力が検出された位置情報が予め定められた数以上に達した場合、それ以降に検出部21により検出された位置情報の信用性が低いときに、当該位置情報を特定部25(後述参照)のタッチジェスチャの特定に利用させないことである。なお、本実施の形態1では、検出部21により検出された接触位置が関連付けられた位置情報が任意の領域である排除領域に含まれていることを排除部24による排除処理の条件としたが、領域判定を排除処理の条件にしなくてもよい。例えば、領域判定の判定条件の代わりに、タッチパッドの周囲の出っ張りや突起物への指の衝突の検出を行い、数判定を満たしていれば、衝突が検出された以降の位置情報の記憶を排除しても良い。また、急激な指の動きの方向の変化を、衝突という事象が起こらない限り、発生しえないものと考え、急激な指の動きの方向の変化が検出された場合に、衝突が検出されたと認識するようにしてもよい。ここで、急激な指の動きの方向の変化の検出方法の一例は、次のとおりである。第一記憶部22に記憶されている任意の第一の位置情報の点から、第一の位置情報より後で第一記憶部22に記憶された第2の位置情報の点までを結ぶ第一のベクトルと、第2の位置情報の点と第2の位置情報より後で第一記憶部22に記憶された第3の位置情報の点までを結ぶ第2のベクトルとのなす角を求め、当該角の絶対値が予め定められた角度以上であるときに急激な指の動きの方向の変化として検出する。
【0059】
特定部25は、第一記憶部22で記憶されている位置情報のうち、少なくとも二点以上の位置情報を用いて、予め定められたタッチジェスチャであるかどうかを識別することにより、タッチジェスチャの種別を特定する。
【0060】
以下で、特定部25の具体的な動作について説明する。
【0061】
図7は、タッチセンサ10上の指の動きの軌跡を検出部21が検出した検出点800〜830について説明するための図である。なお、
図7に示す検出点800〜830は、第一記憶部22に記憶されている位置情報に関連付けられた接触位置を時間順に示した点である。つまり、検出点800〜830は、ユーザによる接触位置であって、検出部21により検出された点である。
図7に示すような検出点800〜830が関連付けられた位置情報が第一記憶部22に記憶されている場合、特定部25は、ユーザによるタッチ入力がフリック操作であると識別する。
【0062】
フリック操作によるタッチジェスチャを特定する場合の特定部25の具体的な動作の第一の例は、第一記憶部22に記憶されている位置情報のうち、当該位置情報が示す最も古い検出点800である開始点と最も新しい検出点830である終了点との二点を用いてタッチジェスチャを特定することである。特定部25は、検出点800および検出点830を結んだ線分における検出点800から検出点830への移動ベクトルを、検出点800を記憶した時刻と検出点830を記憶した時刻との時間差で割ることで、速度ベクトルを計算する。特定部25は、算出した速度ベクトルの方向およびノルムが予め定められた値の範囲内にあるときにフリック操作であるとみなすことによりタッチジェスチャを特定する。
【0063】
また、フリック操作によるタッチジェスチャを特定する場合の特定部25の具体的な動作の第二の例は、全ての位置情報を用いて近似直線または近似曲線を導出することにより、タッチジェスチャを特定することである。具体的には、特定部25は、第一記憶部22に記憶された検出点800〜830の各々の位置情報(つまり、時刻の情報tおよび位置情報(x、y))において、最小二乗法などで近似することで、xおよびtの関係式x(t)と、yおよびtの関係式y(t)とを導出する。例えば、
図8におけるグラフ900は検出点800〜830を、時刻tおよび縦軸yの二次元座標にマッピングしたものである。このグラフ900を用いて、座標yを時刻tの二次式で近似すると曲線910を導出することができる。同様にして、座標xを時刻tの二次式で近似した曲線(図示せず)を導出することができる。その後、関係式x(t)および関係式y(t)を時刻tで微分することで、速度のx成分およびy成分が求まる。つまり、各時刻における速度ベクトルを求めることができる。これにより、特定部25は、算出した所定の時刻における速度ベクトルの方向およびノルムが予め定められた値の範囲内にあるときにフリック操作であるとみなすことによりタッチジェスチャを特定する。
【0064】
図9は、タッチセンサ10上の指の動きの軌跡を検出部21が検出した検出点1000〜1040について説明するための図である。なお、
図9に示す検出点1000〜1040は、第一記憶部22に記憶されている位置情報に関連付けられた接触位置を時間順に示した点である。つまり、検出点1000〜1040は、ユーザによる接触位置であって、検出部21により検出された点である。
図9に示すような検出点1000〜1040が関連付けられた位置情報が第一記憶部22に記憶されている場合、特定部25は、ユーザによるタッチ入力が回転操作であると識別する。
【0065】
回転操作のタッチジェスチャを特定する場合の特定部25の具体的な動作の例を以下で説明する。特定部25は、第一記憶部22に記憶されている任意の第一の位置情報の点から、第一の位置情報より後で記憶された第2の位置情報の点までを結ぶ第一のベクトルと、第2の位置情報の点と第2の位置情報より後で記憶された第3の位置情報の点までを結ぶ第2のベクトルとのなす角を求める。具体的には、
図10を例に説明する。
図10における検出点1000〜1040は、
図9における検出点1000〜1040と同一である。検出点1000から検出点1010に向かうベクトル1100と、検出点1010から検出点1020に向かうベクトル1110とのなす角1120を求める。
【0066】
さらに前記第3の位置情報の点から前記第3の位置情報より後で記憶された第4の位置情報の点に向かう第3のベクトルにおいて、第2のベクトルと第3のベクトルとのなす角を求める。同様に以降の点から生成したベクトルのなす角を求める。具体的には、
図11を例に説明する。
図11における検出点1000〜1040は、
図9および
図10における検出点1000〜1040と同一である。各々の点を結ぶベクトルのなす角は、それぞれ角1120及び、角1210、角1220、角1230として求められる。
【0067】
特定部25は、所定時間の間に記憶された位置情報において、以上の方法で求めた位置情報の点を結ぶベクトル同士のなす角の方向が一定の範囲にあり、かつ、なす角の総和が予め定められた値に達したときに回転運動とみなすことができる。
【0068】
以上の方法が、回転操作のタッチジェスチャを特定する場合の特定部25の具体例である。
【0069】
以下、
図12を参照して、情報入力装置により行われる情報入力処理について説明する。
【0070】
図12は、情報入力装置の入力処理部20により行われる情報入力処理の流れを示すフローチャートである。ここでは、排除部24が排除処理を行うタイミングとして、上述したタイミングの第一の例について説明する。
【0071】
まず、タッチセンサ10にユーザによる接触が行われたとき、検出部21が、予め定められたサンプリング周期で所定時間の間の接触位置を検出する(S101)。
【0072】
次に、第一記憶部22は、所定時間の間に検出部21により検出された複数の接触位置と、当該複数の接触位置のそれぞれが検出されたタイミングとを関連付けた情報を位置情報として記憶する(S102)。つまり、ここでは、第一記憶部22は、所定時間の間に検出部21により検出された複数の接触位置の全てが関連付けられた位置情報を記憶する。
【0073】
排除部24は、第一記憶部22に記憶されている位置情報のうち、最新の位置情報を読み出す(S103)。
【0074】
排除部24は、読み出した位置情報に関連付けられた接触位置が、予め定められた数を超えて検出されたか否かを判定する(S104)。つまり、排除部24は、読み出した位置情報について、数判定を行う。
【0075】
排除部24は、数判定により、読み出した位置情報が予め定められた数を超えた後に検出されたと判定した場合(S104:Yes)、当該位置情報に関連付けられた接触位置が排除領域に属するか否かを判定する(S105)。つまり、排除部24は、当該接触位置について、領域判定を行う。
【0076】
排除部24は、領域判定により、読み出した位置情報に関連付けられた接触位置が排除領域に属すると判定した場合(S105:Yes)、当該位置情報を第一記憶部22から削除する(S105)。これにより、数判定および領域判定の両方の判定条件を満たした位置情報が第一記憶部22から削除されることになる。
【0077】
そして、ステップS106により読み出された位置情報の一つ前に検出された位置情報を読み出し(S107)、ステップS104に戻る。
【0078】
一方で、数判定および領域判定のうち、一方の判定条件を満たさなかった場合(S104:NoまたはS105:No)、特定部25は、第一記憶部22に記憶されている位置情報を二以上用いてタッチジェスチャを特定させる(S108)。
【0079】
本実施の形態1に係る情報入力装置1によれば、排除部24が、第一記憶部22により記憶された位置情報で示される接触位置の数が予め定められた数を超えた以降に検出部21により検出された接触位置が、予め定められた領域に属すれば、第一記憶部22により記憶されている位置情報の中から当該接触位置を排除する排除処理を行う。そして、特定部25が、排除部24による排除処理後に第一記憶部22に記憶されている位置情報に関連付けられた特定位置のうちで二以上の特定位置を用いてタッチジェスチャを特定する。
【0080】
例えば、
図4を用いて説明したような、下から上方向へのフリック操作をユーザが行おうとして、検出点300から検出点330まで指を移動して、その後、検出点330にてタッチセンサ周囲の出っ張りにユーザの指が接触して、検出点330から検出点360まで移動したという場面を考える。この場面において、第二記憶部23が記憶している排除領域を境界線390の左側および上側の領域とし、第一記憶部22で記憶された位置情報の数が4以上のときに、排除部24が5つ目以降に検出された位置情報を第一記憶部22に記憶させないものとする。つまり、予め定められた領域として境界線390の左側および上側の領域が設定されており、予め定められた数が4に設定されているものとする。この場合、特定部25がタッチジェスチャを特定するのに用いる位置情報は、検出点300〜330までの4点となる。このため、特定部25は、開始点である検出点300から終了点である検出点330までの移動方向から、上方向のフリック操作であると特定する。
【0081】
また、
図5において、上方向へのフリック操作をユーザが行おうとして、検出点400から検出点420までタッチ入力に係る指を移動して、その後、検出点420にてタッチセンサ周囲の出っ張りにユーザの指が接触して、検出点420から検出点430まで移動したという場面を考える。この場面において、第二記憶部23が記憶している排除領域を境界線470の上側の領域とし、第一記憶部22で記憶された位置情報の数が3以上のときに、排除部24が4つ目以降に検出された位置情報を第一記憶部22に記憶させないものとする。つまり、予め定められた領域として境界線470の上側の領域が設定されており、予め定められた数が3に設定されているものとする。この場合、特定部25がタッチジェスチャを特定するのに用いる位置情報は、検出点400〜420までの3点となる。このため、特定部25は、開始点である検出点400から終了点である検出点420までの移動方向から、上方向のフリック操作であると特定する。
【0082】
以上のようにして、上述した従来例では、ユーザが意図したとおりに正しく検出されなかったフリック操作及びその方向を、本実施の形態1に係る情報入力装置1では、正しく検出することができる。
【0083】
上記実施の形態1に係る情報入力装置1では、排除領域は、タッチセンサの周りの出っ張りの周辺に設定されているが、このような出っ張りに限らない。
【0084】
例えば、排除領域は、その表面に突起物が設けられるタッチセンサ11である場合、タッチセンサ11の突起物の周囲の領域である。タッチセンサ11を用いてユーザがポインティング操作を行う際に、ユーザがタッチセンサを見なくても触覚でユーザが接触している指の位置を識別できるように、位置の目安にする目的でタッチセンサに突起物を設けることがある。このようなタッチセンサ11にユーザがタッチ入力を行っている場合に、突起物に指が当たったとき、ユーザの意図とは異なる移動が生じることがある。
【0085】
この現象を、
図13を用いて説明する。タッチセンサ11には、その上部に突起物600が配置されているものとする。検出点610〜650はユーザが上方向のフリック操作を意図したときの指の接触位置の軌跡のうちでタッチセンサ11により検出された検出点である。検出点640および検出点650は、検出点630の付近で指660が突起物600に衝突し、衝突により指が右方向に流れてしまったときの移動を表す検出点である。ここで、検出部21により検出された検出点610〜650のうち、開始点である検出点610から終了点である検出点650までの移動方向をもとにフリック操作を特定すれば右斜め上方向へのフリック操作になってしまう。一方で、境界線670の内側を排除領域として設定すれば、検出点640および検出点650は、排除部24にて第一記憶部22による記憶を行わせない位置情報の候補になる。また、排除部24は、第一記憶部22が3点以上の位置情報を記憶しているときに、排除領域に含まれる位置情報を排除するように設定されている。
【0086】
このように排除部24の領域判定および数判定の判定条件が設定されていれば、排除部24により第一記憶部22から排除されずに残った有効な点である検出点610〜630の位置情報の系列をもとにタッチジェスチャが特定部25により特定される。この場合、特定部25は、上方向のフリック操作であると特定する。このように、ユーザの意図と異なる指の移動の影響を、タッチジェスチャを特定するため材料から排除するために、突起物600の周辺、および指が突起物に接触した後に想定される指の軌跡の候補となる領域を排除領域と設定することは、有用である。
【0087】
また、上記実施の形態に係る情報入力装置1では、排除領域は、予め定められた領域に固定されているが、これに限らずに、動的に変更するようにしてもよい。
【0088】
例えば、ユーザがタッチ入力を行う際に、指が突起物600そのものには触れず、突起物600の付近を通過した場合には、突起物600の周辺を排除領域に設定する特別な理由はなくなる。そこで、単純に突起物600の周辺を排除領域と設定するのでなく、突起物600に指が触れたと判定されたときに、それ以降の所定時間の間、排除領域を突起物600の周辺に設定することも可能である。
【0089】
このような場合には、
図14に示すように、入力処理部20aは、領域変化部26をさらに有する。つまり、上記のような入力処理部20aを有する情報入力装置1aであってもよい。領域変化部26は、突起物600に指が触れたと判定したときに、それ以降の所定時間の間、排除領域を突起物の周辺に設定する。つまり、領域変化部26は、検出部21で検出された複数の接触位置の少なくとも一つが特定の領域に属したときに、第二記憶部23が記憶している予め定められた領域を変化させる。なお、急激な指の動きの方向の変化を、突起物600との接触という事象が起こらない限り、発生しえないと考え、急激な指の動きの方向の変化が検出された場合に、突起物600に指が触れたと判定して、排除領域を突起物の周辺に設定しても良い。ここで、急激な指の動きの方向の変化の検出方法の一例は、次のとおりである。第一記憶部22に記憶されている任意の第一の位置情報の点から、第一の位置情報より後で記憶された第2の位置情報の点までを結ぶ第一のベクトルと、第2の位置情報の点と第2の位置情報より後で記憶された第3の位置情報の点までを結ぶ第2のベクトルとのなす角を求め、当該角の絶対値が予め定められた角度以上であるときに急激な指の動きの方向の変化を検出する。
【0090】
そして、排除部24は、特定の領域である突起物600(または突起物600のすぐそばの領域700)に接触位置が属した後において検出部21により検出された接触位置について、領域変化部26により変化された予め定められた領域を用いた排除処理を行う。
【0091】
領域変化部26の具体的な挙動を、
図15を用いて説明する。初期状態では、排除領域は設定されていないものとする。
図15のタッチセンサ11の上の突起物600のすぐそばに領域700を定義し、この領域700内での指の接触を検出したときに、領域変化部26は、指が突起物に触れたとみなす。その後、領域変化部26は、境界線670の内側を排除領域として設定する。この動作により、領域700に指が接触せずに、突起物600に指が当たっていないとみなされるときは、排除領域は設定されないので、排除部24は、第一記憶部22に記憶されている位置情報を排除しない。よって、排除領域が固定的に設定されることによって生じるユーザの意図するタッチ入力の排除がなされることを低減できる。このため、より多くの位置情報をもとにタッチジェスチャの認識を行うことができる。
【0092】
また、上記実施の形態1に係る情報入力装置1では、入力処理部20は、検出部21と、第一記憶部22と、第二記憶部23と、排除部24と、特定部25とを有するが、これらの構成を有しなくてもよい。つまり、入力処理部が、タッチセンサに対するタッチ入力が行われた接触位置であって、所定時間の間における異なる複数のタイミングで順次検出された複数の接触位置の中から、タッチ入力が開始されてから予め定められた数の接触位置が検出された後に検出され、かつ、予め定められた領域に属する接触位置を除いた複数の特定接触位置を用いてタッチジェスチャを特定すれば、入力処理部20が上記の構成を有することに限定されない。
【0093】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0094】
上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムで実現され得る。RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0095】
上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、ROMからRAMにコンピュータプログラムをロードし、ロードしたコンピュータプログラムにしたがって演算等の動作することにより、システムLSIは、その機能を達成する。
【0096】
上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールには、上記の超多機能LSIが含まれてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有してもよい。
【0097】
本発明は、上記に示す方法で実現されてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムで実現してもよいし、コンピュータプログラムからなるデジタル信号で実現してもよい。
【0098】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したもので実現してもよい。また、これらの記録媒体に記録されているデジタル信号で実現してもよい。
【0099】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
【0100】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作してもよい。
【0101】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0102】
上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。