JP5682394B2 - タッチパネルを用いた操作入力検知装置 - Google Patents

タッチパネルを用いた操作入力検知装置 Download PDF

Info

Publication number
JP5682394B2
JP5682394B2 JP2011066350A JP2011066350A JP5682394B2 JP 5682394 B2 JP5682394 B2 JP 5682394B2 JP 2011066350 A JP2011066350 A JP 2011066350A JP 2011066350 A JP2011066350 A JP 2011066350A JP 5682394 B2 JP5682394 B2 JP 5682394B2
Authority
JP
Japan
Prior art keywords
pattern
stroke
operation input
unit
touch panel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011066350A
Other languages
English (en)
Other versions
JP2012203563A (ja
Inventor
近 禅
禅 近
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2011066350A priority Critical patent/JP5682394B2/ja
Publication of JP2012203563A publication Critical patent/JP2012203563A/ja
Application granted granted Critical
Publication of JP5682394B2 publication Critical patent/JP5682394B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、タッチパネルを用いた操作入力検知装置に関し、特に、指を用いて行われたジェスチャーによる操作入力を検知する技術に関する。
タッチパネルは、様々な電子機器に対する入力手段として広く利用されており、コンピュータに対する入力装置としても、キーボードやマウスとともに普及しているデバイスである。たとえば、多くのノート型パソコンには、キーボードに隣接してタッチパネル(タッチパッド)が設けられ、マウスの代用となる入力機器として利用されている。また、キーボードを備えていないタブレット型のパソコン、携帯電話、その他の電子機器にもタッチパネルが利用されてきており、このような電子機器では、ディスプレイ画面がタッチパネルのタッチ面を構成し、ユーザからの操作入力を受け付ける構成になっている。
タッチパネルは、原理的には、ユーザの指が触れた位置を特定するデバイスであるが、指の接触位置の時間的変遷を解析することにより、指を用いて行われたジェスチャーによる操作入力を検知することが可能になる。特に、最近では、マルチタッチ入力が可能なタッチパネル装置が普及し始めており、複数の指によって行われた様々なジェスチャーを検知する技術が実用化している。この技術を利用すれば、ユーザは、タッチパネルに対して指を用いたジェスチャーを行うだけで、様々な指示を入力することが可能になる。
たとえば、下記の特許文献1には、アナログ抵抗膜方式のマルチタッチ対応型タッチパネル装置の構成が開示されており、特許文献2には、静電容量方式のマルチタッチ対応型タッチパネル装置の構成が開示されている。また、特許文献3には、このようなマルチタッチ対応型タッチパネル装置を用いて、ユーザが行った様々なジェスチャー動作を検知する技術が開示されている。具体的には、各指のタッチ面上での移動動作を組み合わせることにより、スライド、回転などのジェスチャーにより操作入力を行うことができる。
特開2010−26641号公報 特開2008−097609号公報 特表2009−525538号公報
タッチパネルを用いてユーザからの操作入力をジェスチャーとして受け付ける場合、ユーザがどのジェスチャーを行ったのかを正確に認識することが重要である。ところが、タッチパネルは、抵抗膜の抵抗変化や静電容量素子の容量変化などを電気的に検出する仕組を利用した装置であるため、使用する場所の温度や湿度などの環境によって、出力信号の強度が変化する性質をもっている。その上、ユーザによって、指の太さ、タッチパネルに対する押圧力、指の接触角度などに個人差が生じるため、従来提案されている技術では、ユーザが行ったジェスチャーを正確に認識することは困難である。
特に、マルチタッチ対応型タッチパネル装置を用いた場合、1本指によるジェスチャー、2本指によるジェスチャー、3本指によるジェスチャー、...などを混在させることが可能になり、多数のジェスチャーを定義して用いることができる。ところが、定義するジェスチャーの数が増えれば増えるほど、実際にユーザが行ったジェスチャーがどのジェスチャーであるのかを正確に認識することが難しくなる。ユーザが行ったジェスチャーが誤認識されると、電子機器に対しては、ユーザが意図した操作入力とは全く異なる別な操作入力が与えられることになるので、ユーザは、誤認識された操作入力を取り消す操作を行った上で、ジェスチャーをやり直す必要があり、操作性が低下することは避けられない。
そこで本発明は、ユーザからタッチ面上でのジェスチャーとして与えられた操作入力を正確に検知することができるタッチパネルを用いた操作入力検知装置を提供することを目的とする。
(1) 本発明の第1の態様は、タッチパネルを用いた操作入力検知装置において、
タッチ面に対するユーザの指の接触状態を検知するタッチパネル装置と、ユーザに提示する情報を表示するディスプレイ装置と、デジタル処理ユニットと、を設け、
デジタル処理ユニットを、
タッチパネル装置から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する代表点認識部と、
代表点認識部の認識結果に基づいて、接触状態の時間的な変化態様を解析して解析パターンを得るパターン解析部と、
ディスプレイ装置の画面上にタッチ面上で複数m通りのジェスチャーを行う旨の指示を表示し、当該指示に基づくユーザのm通りのジェスチャー動作についてパターン解析部によって得られた各解析パターンを、それぞれサンプルパターンとして採取するサンプルパターン採取部と、
第k番目(1≦k≦m)のジェスチャーを行う旨の指示を表示したときに採取された解析パターンを、第k番目のジェスチャーに対応するサンプルパターンとして格納するサンプルパターン格納部と、
外部から操作入力の検知を要求する検知要求信号が与えられた後に、パターン解析部によって得られた解析パターンを操作入力パターンとして採取する操作入力パターン採取部と、
採取された操作入力パターンを、サンプルパターン格納部に格納されている複数m通りのサンプルパターンと比較し、合致もしくは近似したサンプルパターンを選択するパターン選択部と、
パターン選択部で選択されたサンプルパターンに対応するジェスチャーを示す情報を、操作入力の検知結果を示す検知結果信号として外部へ出力する検知結果出力部と、
によって構成し、
サンプルパターン採取部が、タッチパネル装置のタッチ面を分割することによって得られる複数の領域について、それぞれ別個にジェスチャーを行う旨の指示を表示し、個々の領域ごとにそれぞれサンプルパターンを採取し、
サンプルパターン格納部が、個々の領域ごとにそれぞれ別個独立したサンプルパターンを格納し、
パターン選択部が、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことによりパターン選択を行うようにしたものである。
(2) 本発明の第2の態様は、上述した第1の態様に係るタッチパネルを用いた操作入力検知装置において、
デジタル処理ユニットが、現在利用中のユーザを特定する情報を入力しこれを保存するユーザ特定部を更に備え、
サンプルパターン採取部が、ユーザ特定部によって特定されたユーザごとにそれぞれ独立してサンプルパターンを採取し、
サンプルパターン格納部が、ユーザ特定部によって特定されたユーザごとにそれぞれ独立してサンプルパターンを格納し、
パターン選択部が、ユーザ特定部によって特定されたユーザについてのサンプルパターンとの比較を行うことによりパターン選択を行うようにしたものである。
(3) 本発明の第3の態様は、上述した第1または第2の態様に係るタッチパネルを用いた操作入力検知装置において、
タッチパネル装置が長方形のタッチ面を有しており、
サンプルパターン採取部が、タッチ面を横長状態で利用する横長モードと、タッチ面を縦長状態で利用する縦長モードと、について、それぞれ別個独立したサンプルパターンを採取し、
サンプルパターン格納部が、横長モードと縦長モードとについて、それぞれ別個独立してサンプルパターンを格納し、
パターン選択部が、現時点のモードを認識する機能を有し、当該認識モードについてのサンプルパターンとの比較を行うことによりパターン選択を行うようにしたものである。
(4) 本発明の第4の態様は、上述した第3の態様に係るタッチパネルを用いた操作入力検知装置において、
タッチパネル装置が重力加速度を検出するセンサを有し、
パターン選択部が、センサの出力信号に基づいて現時点のモードを認識する機能を有するようにしたものである。
(5) 本発明の第5の態様は、上述した第1〜第4の態様に係るタッチパネルを用いた操作入力検知装置において、
タッチパネル装置が、タッチ面上の個々の位置について指の接触度を示す信号を出力し、
代表点認識部が、接触度が所定の基準値以上の値を示すタッチ面上の閉領域を接触領域と認識し、「接触領域内で接触度がピークとなる位置」もしくは「タッチ面を水平面とし、接触度を高さ方向にとった座標系において、接触領域上に形成される山の重心位置」を代表点と認識するようにしたものである。
(6) 本発明の第6の態様は、上述した第1〜第5の態様に係るタッチパネルを用いた操作入力検知装置において、
代表点認識部が、各接触領域について、タッチ面上に定義された二次元XY座標系における代表点の座標値(x,y)および現在時刻tを認識し、値(x,y,t)を含む代表点データを所定の時間間隔で出力し、
パターン解析部が、代表点データに基づいて、解析パターンを得るようにしたものである。
(7) 本発明の第7の態様は、上述した第6の態様に係るタッチパネルを用いた操作入力検知装置において、
タッチパネル装置が、タッチ面上の個々の位置について指の接触度を示す信号を出力し、
代表点認識部が、各接触領域について、更に「接触領域内の接触度のピーク値」もしくは「タッチ面を水平面とし、接触度を高さ方向にとった座標系において、接触領域上に形成される山の体積」を接触領域の強度値aと認識し、値(x,y,a,t)を含む代表点データQ(x,y,a,t)を所定の時間間隔で出力し、
パターン解析部が、代表点データQ(x,y,a,t)に基づいて、解析パターンを得るようにしたものである。
(8) 本発明の第8の態様は、上述した第7の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン解析部が、値aが所定の基準値以上の代表点データQ(x,y,a,t)のみに基づいてパターンの解析を行うようにしたものである。
(9) 本発明の第9の態様は、上述した第6〜8の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン解析部が、
代表点データを格納する代表点データ格納部と、
代表点データに基づいて、同一の指の動きを示す複数の代表点の集合体からなるストロークを認識するストローク認識部と、
ストローク認識部によって認識された個々のストロークの特性を認識する特性認識部と、
ストローク認識部および特性認識部による認識結果に基づいて、固有の特性をもった1つのストロークもしくは複数のストロークの組み合わせを1つのパターンに対応づけることにより、解析パターンを決定するパターン決定部と、
を有するようにしたものである。
(10) 本発明の第10の態様は、上述した第9の態様に係るタッチパネルを用いた操作入力検知装置において、
ストローク認識部が、代表点認識部から出力された時間的に連続した一群の代表点データに基づいて、第i番目の時刻tに得られた代表点と第(i−1)番目の時刻ti−1に得られた代表点との距離が所定の基準以下となる2つの代表点を同一のストロークに所属する代表点と認識することにより、ストロークの認識を行うようにしたものである。
(11) 本発明の第11の態様は、上述した第9または第10の態様に係るタッチパネルを用いた操作入力検知装置において、
特性認識部が、少なくとも、1つのストロークを構成する複数の代表点を時系列に沿った順番で連結した場合の連結線の長さの総和を示すストローク長Lと、ストロークの湾曲の程度を示すストローク湾曲度Cとを、当該ストロークの特性を示す値として算出するようにしたものである。
(12) 本発明の第12の態様は、上述した第11の態様に係るタッチパネルを用いた操作入力検知装置において、
特性認識部が、合計n個の代表点の集合体からなるストロークについて、第i番目の代表点Qの座標値を(x,y)とし、第(i−1)番目の代表点Qi−1の座標値を(xi−1,yi−1)とし、代表点Qi−1から代表点Qへ向かうベクトルをV、第(i−2)番目の代表点Qi−2から代表点Qi−1へ向かうベクトルをVi−1とし、ベクトルVがベクトルVi−1に対してなす角度を変位角φとしたときに、
L=Σ i=2〜n ((x−xi−1+(y−yi−11/2
C=Σ i=3〜n ((x−xi−1+(y−yi−11/2・φ
/Σ i=3〜n ((x−xi−1+(y−yi−11/2
なる演算によって、ストローク長Lおよびストローク湾曲度Cを算出するようにしたものである。
(13) 本発明の第13の態様は、上述した第11または第12の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン決定部が、ストローク長Lおよびストローク湾曲度Cに基づいて各ストロークを複数の種別に分類し、特定の種別もしくはその組み合わせに対して特定の解析パターンを対応させることにより、解析パターンを決定するようにしたものである。
(14) 本発明の第14の態様は、上述した第13の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン決定部が、ストローク長Lが所定の基準値Lth未満のストロークを「点ストローク」なる種別に分類し、ストローク長Lが基準値Lth以上のストロークを「線ストローク」とし、「線ストローク」のうち、湾曲度Cの絶対値が所定の基準値Cth未満のストロークを「直線ストローク」なる種別に分類し、「線ストローク」のうち、湾曲度Cの絶対値が基準値Cth以上のストロークを「曲線ストローク」なる種別に分類し、「点ストローク」、「直線ストローク」、「曲線ストローク」なる種別もしくはこれらの組み合わせに対してそれぞれ特定の解析パターンを対応づけることにより、解析パターンの決定を行うようにしたものである。
(15) 本発明の第15の態様は、上述した第14の態様に係るタッチパネルを用いた操作入力検知装置において、
ストロークが時計まわりに回転する場合と反時計まわりに回転する場合とで、互いに符号が異なるようにストローク湾曲度Cを定め、
パターン決定部が、ストローク湾曲度Cの符号に基づいて、「曲線ストローク」なる種別を、更に「時計まわり曲線ストローク」と「反時計まわり曲線ストローク」との2通りの種別に分けて取り扱い、パターンの決定を行うようにしたものである。
(16) 本発明の第16の態様は、上述した第14または第15の態様に係るタッチパネルを用いた操作入力検知装置において、
特性認識部が、更に、XY平面上でのストローク全体の方位を示すストローク方位Bを、当該ストロークの特性を示す値として算出するようにしたものである。
(17) 本発明の第17の態様は、上述した第16の態様に係るタッチパネルを用いた操作入力検知装置において、
特性認識部が、合計n個の代表点の集合体からなるストロークについて、第(i−1)番目の代表点Qi−1から第i番目の代表点Qへ向かうベクトルVが所定の基準座標軸に対してなす角度を方位角θとしたときに、
B=Σ i=2〜n ((x−xi−1+(y−yi−11/2・θ
/Σ i=2〜n ((x−xi−1+(y−yi−11/2
なる演算によって、ストローク方位Bを算出するようにしたものである。
(18) 本発明の第18の態様は、上述した第16または第17の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン決定部が、ストローク方位Bに基づいて、「直線ストローク」なる種別を、更に、方位の異なる複数W通りの種別に分けて取り扱い、パターンの決定を行うようにしたものである。
(19) 本発明の第19の態様は、上述した第14〜第18の態様に係るタッチパネルを用いた操作入力検知装置において、
特性認識部が、更に、XY平面上でのストロークの位置を示すストローク位置Pを、当該ストロークの特性を示す値として算出するようにしたものである。
(20) 本発明の第20の態様は、上述した第19の態様に係るタッチパネルを用いた操作入力検知装置において、
特性認識部が、合計n個の代表点の集合体からなるストロークについて、第i番目の代表点Qの座標値を(x,y)とし、第(i−1)番目の代表点Qi−1の座標値を(xi−1,yi−1)としたときに、
xp=Σ i=2〜n ((x−xi−1+(y−yi−11/2・x
/Σ i=2〜n ((x−xi−1+(y−yi−11/2
yp=Σ i=2〜n ((x−xi−1+(y−yi−11/2・y
/Σ i=2〜n ((x−xi−1+(y−yi−11/2
なる演算によって、ストローク位置P(xp,yp)の座標値を算出するようにしたものである。
(21) 本発明の第21の態様は、上述した第19または第20の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン決定部が、複数のストロークを含むパターンに対しては、ストローク位置Pを参照することにより相互位置関係を把握し、相互位置関係が異なるパターンを区別してパターンの決定を行うようにしたものである。
(22) 本発明の第22の態様は、上述した第9〜第21の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン選択部が、採取された操作入力パターンに合致するサンプルパターンが存在しない場合に、操作入力パターンに含まれるストロークの特性に近似した特性をもったストロークを含む近似サンプルパターンを選択するようにしたものである。
(23) 本発明の第23の態様は、上述した第22の態様に係るタッチパネルを用いた操作入力検知装置において、
デジタル処理ユニットが、検知結果出力部が過去に出力した検知結果の履歴を格納する履歴格納部を更に備え、
パターン選択部が、近似サンプルパターンを選択する際に、上記履歴を参照し、過去の選択頻度が高いサンプルパターンほど、より近似するサンプルパターンとする判断を行うようにしたものである。
(24) 本発明の第24の態様は、上述した第11〜第21の態様に係るタッチパネルを用いた操作入力検知装置において、
パターン選択部が、採取された操作入力パターンに合致するもしくは近似するサンプルパターンが存在しない場合に、操作入力パターンに含まれる複数のストロークのうち、ストローク長Lの最も短いストロークを削除した修正操作入力パターンを作成し、修正操作入力パターンに合致するサンプルパターンを選択するようにしたものである。
(25) 本発明の第25の態様は、上述した第1〜第24の態様に係るタッチパネルを用いた操作入力検知装置において、
タッチパネル装置およびディスプレイ装置を、表示画面がタッチ面を構成するタッチパネル付ディスプレイ装置によって構成したものである。
(26) 本発明の第26の態様は、上述した第1〜第25の態様に係るタッチパネルを用いた操作入力検知装置と、
当該操作入力検知装置に対して検知要求信号を与えるとともに、当該操作入力検知装置から検知結果信号の出力を受ける機能をもった外部ユニットと、
によって、電子機器を構成したものである。
(27) 本発明の第27の態様は、上述した第1〜第24の態様に係るタッチパネルを用いた操作入力検知装置におけるデジタル処理ユニットを、コンピュータにプログラムを組み込むことにより構成したものである。
(28) 本発明の第28の態様は、タッチ面に対するユーザの指の接触状態を検知するタッチパネル装置と、ユーザに提示する情報を表示するディスプレイ装置と、が接続されたコンピュータによって、ユーザのタッチパネル装置に対する操作入力を検知するタッチパネルを用いた操作入力検知方法を、
予めユーザのサンプル操作を登録する準備段階と、ユーザの実操作入力を受け付けてこれを検知する検知段階と、によって構成し、
準備段階では、
コンピュータが、ディスプレイ装置の画面上にタッチ面上で所定のジェスチャーを行う旨の指示を表示し、当該指示に基づくユーザのジェスチャー動作によってタッチパネル装置から得られる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する段階と、
コンピュータが、代表点の時間的変遷に基づいて、接触状態の時間的な変化態様を解析し、その結果をジェスチャーに対応するサンプルパターンとして採取する段階と、
を複数m通りのジェスチャーについて実行し、個々のジェスチャーに対応するサンプルパターンを採取する処理が行われるようにし、
検知段階では、
コンピュータが、実操作入力の検知が必要なときに、タッチパネル装置から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する段階と、
コンピュータが、代表点の時間的変遷に基づいて、接触状態の時間的な変化態様を解析し、その結果を実操作入力に対応する操作入力パターンとして採取する段階と、
コンピュータが、採取された操作入力パターンを、準備段階で採取した複数m通りのサンプルパターンと比較し、合致もしくは近似したサンプルパターンを選択する段階と、
コンピュータが、選択されたサンプルパターンに対応する操作入力がなされた旨を検知する段階と、
が行われるようにし、
準備段階で、コンピュータが、タッチパネル装置のタッチ面を分割することによって得られる複数の領域について、それぞれ別個にジェスチャーを行う旨の指示を表示し、個々の領域ごとにそれぞれサンプルパターンを採取する処理を行い、
検知段階で、コンピュータが、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことによりパターン選択を行うようにしたものである。
(29) 本発明の第29の態様は、上述した第28の態様に係るタッチパネルを用いた操作入力検知方法において、
準備段階で、コンピュータが、複数のユーザについてそれぞれ別個独立したサンプルパターンを採取する処理を行い、
検知段階で、コンピュータが、現在利用中のユーザを特定し、当該ユーザについてのサンプルパターンとの比較を行うことによりパターン選択を行うようにしたものである。
本発明に係るタッチパネルを用いた操作入力検知装置では、タッチパネル装置から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷が認識され、その変化パターンが解析される。しかも、ユーザは、準備段階において、様々なジェスチャーの解析パターンをサンプルパターンとして登録しておくことができる。そして、実際の検知段階では、ユーザが行ったジェスチャーのパターンが操作入力パターンとして採取され、当該採取パターンに合致もしくは近似するパターンが、サンプルパターンの中から選択され、選択されたサンプルパターンに対応するジェスチャーを示す情報が、操作入力の検知結果として出力される。このように、準備段階で予め登録しておいたサンプルパターンを用いて、操作入力パターンに合致もしくは近似するパターン選択が行われるため、ユーザの操作入力を正確に検知することができるようになる。
特に、マルチタッチ対応型タッチパネル装置を用いて、複数の指を用いた多様なジェスチャーによる操作入力を検知する場合でも、ユーザに固有のジェスチャー動作の特徴を予め採取してサンプルパターンとして登録しておくことができるので、当該ユーザが行ったジェスチャー動作を正確に認識することができ、正確な操作入力の検知が可能になる。
また、複数のユーザによる利用が予定されている操作入力検知装置の場合は、現在利用中のユーザを特定する情報を入力しこれを保存するユーザ特定部を設け、個々のユーザごとにそれぞれ独立してサンプルパターンを採取するようにすれば、個々のユーザに固有の特徴をそれぞれ考慮した正確な操作入力の検知が可能になる。
更に、比較的大面積のタッチパネル装置の場合、ユーザが全く同一のジェスチャー動作を行ったつもりでも、タッチ面の位置によって、個々の指の接触の度合いが異なり、実際に得られる解析パターンが異なるケースが少なくない。このようなケースに対応するには、タッチパネル装置のタッチ面を分割して複数の領域を定義し、個々の領域ごとにそれぞれ別個独立したサンプルパターンを採取すればよい。そうすれば、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことにより、正確な操作入力の検知が可能になる。タッチパネル装置が長方形のタッチ面を有している場合は、ユーザが縦長状態で利用しているのか、横長状態で利用しているのかを区別するようにすれば、一層正確な操作入力の検知が可能になる。
代表点の時間的変遷に基づく変化パターンの解析は、同一の指の動きを示す複数の代表点の集合体からなるストロークを認識するのが効果的である。複数のストロークが認識された場合、ユーザが複数の指を用いてジェスチャー動作を行っていることが認識できる。また、個々のストロークについて、ストローク長Lとストローク湾曲度Cとを求めるようにすれば、各ストロークを、点ストローク、直線ストローク、曲線ストロークに分けて把握することができ、これら異なるストロークもしくはその組み合わせによってパターンを定義できるので、類型的に複数のパターン定義が可能になる。更に、ストローク方位Bおよびストローク位置Pを求めるようにすれば、より詳細な類型バリエーションをもったパターン定義が可能になる。
パターン選択の際に、完全に合致したサンプルパターンが存在しない場合には、近似したサンプルパターンを選択することにより、サンプルパターン採取時とは多少異なったジェスチャー動作を行った場合でも、有効な操作入力として検知できる運用を行うことができるようになる。この場合、近似度を過去の履歴を参照して決定するようにすれば、より妥当な判断が可能になる。また、パターンが合致しない場合に、ストローク長Lの短いストロークを削除することにより、指が誤って触れたことによって生じたストロークを無視した取り扱いができるようになる。
本発明の基本的な実施形態に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。 図1に示すタッチパネル装置10のタッチ面に対する指の接触状態の一例を示す平面図である。 図2に示す接触状態において、タッチパネル装置10から得られる検知信号を示すグラフである。 図1に示す操作入力検知装置のパターン解析部120の詳細な構成を示すブロック図である。 図4に示すストローク認識部122によるストローク認識処理の原理を示す平面図である。 図4に示す特性認識部123によって認識されるストローク特性を示す平面図である。 図6に示すストローク特性を算出する原理を示すグラフである。 図6に示すストローク特性を算出する具体的な演算式を示す図である。 図4に示すパターン決定部124によるパターン決定処理の手順を示す流れ図である。 図4に示すパターン決定部124によって決定された解析パターンのいくつかの例を示す平面図である。 2本指を用いたジェスチャーの種類を例示する平面図である。 図1に示す操作入力検知装置のディスプレイ装置20に表示される指示画面の一例を示す平面図である。 図1に示す操作入力検知装置のサンプルパターン格納部150に格納されているサンプルパターンの一例を示す平面図である。 図13に示すサンプルパターンとは異なる別なユーザのサンプルパターンの一例を示す平面図である。 本発明の変形例に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。 図15に示す操作入力検知装置のサンプルパターン格納部150に格納されているユーザごとのサンプルパターンの一例を示す平面図である。 タッチ面上に複数の領域を定義し、個々の領域ごとにサンプルパターンを採取した例を示す平面図である。 本発明の別な変形例に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。 図18に示す操作入力検知装置のタッチパネル付ディスプレイ装置30に表示される指示画面の一例を示す平面図である。 図18に示す操作入力検知装置のサンプルパターン格納部150に格納されている領域ごとのサンプルパターンの一例を示す平面図である。 図18に示す操作入力検知装置のタッチパネル付ディスプレイ装置30を横長状態で利用する場合と縦長状態で利用する場合を示す平面図である。 ストローク方位Bに基づいて36通りの直線ストロークを定義した例を示す平面図である。 ストローク方位Bに基づいて8通りの曲線ストロークを定義した例を示す平面図である。 ストローク湾曲度Cに基づいて4通りの曲線ストロークを定義した例を示す平面図である。 2本指を用いたジェスチャーのバリエーションを示す平面図である。 本発明の更に別な変形例に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。 2本指を上から下にスライドさせるジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表である。 図27に示す代表点データを解析することにより得られたパターンを示す平面図である。 2本指を左から右にスライドさせるジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表である。 図29に示す代表点データを解析することにより得られたパターンを示す平面図である。 2本指による時計まわりのジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表である。 図31に示す代表点データを解析することにより得られたパターンを示す平面図である。 2本指による反時計まわりのジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表である。 図33に示す代表点データを解析することにより得られたパターンを示す平面図である。 本発明に係るタッチパネルを用いた操作入力検知方法の手順を示す流れ図である。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.本発明に係る操作入力検知装置の基本構成 >>>
図1は、本発明の基本的な実施形態に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。図示のとおり、この操作入力検知装置は、タッチパネル装置10,ディスプレイ装置20,デジタル処理ユニット100によって構成されており、外部ユニット200からの要求に基づいて、ユーザが指によるジェスチャー動作として行った操作入力を検知し、検知結果を外部ユニット200に返す機能を果たす。
ここで、タッチパネル装置10は、タッチ面に対するユーザの指の接触状態を検知し、検知信号を出力する装置である。このようなタッチパネル装置10としては、主として、抵抗膜方式の装置と静電容量方式の装置とが市販されている。また、ディスプレイ装置20は、ユーザに提示する情報を表示する一般的な装置であり、本発明では、準備段階において、ユーザに対して所定のジェスチャーを行う旨の指示を提示するために利用される。
一方、デジタル処理ユニット100は、図において一点鎖線で囲われた領域内の各ブロックから構成される。具体的には、デジタル処理ユニット100は、図示のとおり、代表点認識部110,パターン解析部120,サンプルパターン採取部130,操作入力パターン採取部140,サンプルパターン格納部150,パターン選択部160,検知結果出力部170によって構成される。ここに示す実施形態の場合、このデジタル処理ユニット100は、コンピュータに専用のプログラムを組み込むことによって実現されている。また、コンピュータとして、ノート型パソコンを用いた場合は、当該ノート型パソコンに備わっているタッチパッドをタッチパネル装置10としてそのまま利用することができ、当該ノート型パソコンに備わっている液晶ディスプレイ等をそのままディスプレイ装置20として利用することができる。
外部ユニット200は、この操作入力検知装置を利用して、ユーザからの操作入力を受け付け、様々な処理を実行する装置であり、ここに示す実施形態の場合、この外部ユニット200も、コンピュータに専用のプログラムを組み込むことによって実現されている。具体的には、コンピュータにOSプログラムおよびアプリケーションプログラムを組み込むことにより外部ユニット200を構成することができ、当該OSプログラムもしくはアプリケーションプログラムがユーザからの操作入力を必要とした場合、外部ユニット200からデジタル処理ユニット100に対して検知要求信号が出され、検知結果がデジタル処理ユニット100から外部ユニット200に返されることになる。
要するに、外部ユニット200は、操作入力検知装置に対して検知要求信号を与えるとともに、当該操作入力検知装置から検知結果信号の出力を受ける機能をもった装置であり、この検知結果信号により、ユーザがどのような操作入力を行ったかを認識し、当該操作入力に対応する処理を実行することになる。結局、この外部ユニット200に、操作入力検知装置(タッチパネル装置10,ディスプレイ装置20,デジタル処理ユニット100)を付加することにより構成される電子機器は、ユーザの指によるジェスチャー動作を操作入力として受け付け、何らかの処理を行う機器ということになる。
なお、図示の実施形態の場合、タッチパネル装置10およびディスプレイ装置20は、デジタル処理ユニット100と外部ユニット200とによって共用される構成になっているが、もちろん、外部ユニット200が別系統のユーザインターフェイスを備えている場合には、タッチパネル装置10およびディスプレイ装置20を外部ユニット200に利用させる必要はない。ただ、実用上は、ハードウエアを効率的に利用するため、図示の例のような共用形態を採るのが好ましい。特に、ノート型パソコンを利用した場合、タッチパネル装置10およびディスプレイ装置20を、当該ノート型パソコンに組み込まれたタッチパッドおよびディスプレイによって構成することができ、デジタル処理ユニット100および外部ユニット200を、当該ノート型パソコンに組み込んだプログラムによって構成することができる。
続いて、デジタル処理ユニット100の各構成要素の機能について説明する。まず、代表点認識部110は、タッチパネル装置10から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する機能を有する構成要素である。後述するように、タッチパネル装置10は、縦横に配置された多数の格子点位置における指の接触状態を電気信号として出力する装置であり、ユーザの指の接触領域は、複数の格子点の集合として認識される。代表点認識部110は、この接触領域の代表位置(たとえば、中心位置)を代表点として認識するとともに、その時間的変遷を認識する機能を果たす。
一方、パターン解析部120は、この代表点認識部110の認識結果に基づいて、接触状態の時間的な変化態様を解析して解析パターンを得る機能を果たす。すなわち、代表点認識部110が認識した代表点が時間的にどのように移動するかを解析し、その移動形態をパターン化する処理を行うことになる。たとえば、ユーザがタッチ面上で、「1本の指を上から下へとスライドするジェスチャー」を行った場合、当該動作は、「1つの代表点が縦方向に移動するパターン」として認識される。ここでは、このパターン解析部120による解析によって得られたパターンを「解析パターン」と呼ぶことにする。こうして得られた解析パターンは、サンプルパターン採取部130もしくは操作入力パターン採取部140において利用される。
サンプルパターン採取部130は、ディスプレイ装置20の画面上に、タッチ面上で複数m通りのジェスチャーを行う旨の指示を表示し、当該指示に基づくユーザのm通りのジェスチャー動作についてパターン解析部120によって得られた各解析パターンを、それぞれサンプルパターンとして採取する機能を果たす。
また、サンプルパターン格納部150は、サンプルパターン採取部130が、第k番目(1≦k≦m)のジェスチャーを行う旨の指示を表示したときに採取された解析パターンを、第k番目のジェスチャーに対応するサンプルパターンとして格納する機能を果たす。たとえば、「1本の指を上から下へとスライドするジェスチャー」を行うよう指示した場合に得られた解析パターンは、当該ジェスチャーに対応するサンプルパターンとして格納され、「2本の指を左から右へとスライドするジェスチャー」を行うよう指示した場合に得られた解析パターンは、当該ジェスチャーに対応するサンプルパターンとして格納される。
このように、本発明に係る操作入力検知装置を利用するには、事前に準備段階として、複数m通りのジェスチャー動作についてそれぞれサンプルパターンを採取し、これらをサンプルパターン格納部150に格納する登録作業を行う必要がある。このような準備段階が終了すれば、サンプルパターン採取部130の役割は完了する(もちろん、必要に応じて、新たなジェスチャー動作について新たなサンプルパターンを採取することも可能である)。準備段階が完了した後は、以下に述べる各構成要素の機能を利用して、実際の検出段階を行うことができる。
まず、操作入力パターン採取部140は、外部ユニット200から操作入力の検知を要求する検知要求信号が与えられた後に、パターン解析部120によって得られた解析パターンを操作入力パターンとして採取する機能を果たす。一方、パターン選択部160は、操作入力パターン採取部140によって採取された操作入力パターンを、サンプルパターン格納部150に格納されている複数m通りのサンプルパターンと比較し、合致したサンプルパターンを選択する機能を果たす。選択結果は、検知結果出力部170に伝えられる。検知結果出力部170は、パターン選択部160で選択されたサンプルパターンに対応するジェスチャーを示す情報を、操作入力の検知結果を示す検知結果信号として外部ユニット200へ出力する機能を果たす。
以上の処理を外部ユニット200側から見ると、ユーザによる何らかの操作入力が必要なときに、操作入力パターン採取部140に対して検知要求信号を与えると、ユーザがジェスチャー動作を終えた後に、検知結果出力部170から検知結果信号が出力されてくることになる。ここで、この検知結果信号は、ユーザが行ったジェスチャー動作が、予め登録してある複数m通りのジェスチャー動作のいずれに対応するものであるかを示す信号(もしくは、合致するジェスチャー動作が登録されていないことを示すエラー信号)になる。
このように、本発明では、サンプルパターン格納部150内に予め登録しておいた複数m通りのサンプルパターンを用いて、操作入力パターン採取部140によって採取された操作入力パターンに合致するパターン選択が行われるため、たとえユーザのジェスチャー動作が標準的なジェスチャー動作とかけ離れていたとしても、ユーザのジェスチャー動作に基づいて正しい操作入力の検知が可能になる。
一般に、1本指を縦もしくは横方向にスライドさせるような単純なジェスチャー動作は、ユーザ間でそれほど大きな相違は生じないであろう。しかしながら、2本指、3本指といった複数の指を用い、スライド、回転、タップなどを組み合わせた複雑なジェスチャーによって様々な操作入力を行う電子機器の場合、同じジェスチャーを行うように指示を与えたとしても、実際にタッチ面上で行われるジェスチャー動作には、ユーザ間にバラツキが生じ、パターン解析部120によってそれぞれ異なる解析パターンが得られる可能性がある。
本発明では、準備段階において、ユーザ自身によって複数m通りのジェスチャー動作が実行され、そのときに得られた解析パターンがそれぞれ各ジェスチャーについてのサンプルパターンとして登録されることになる。そして、検出段階では、得られた操作入力パターンが複数m通りのサンプルパターンと比較され、特定のジェスチャーの選択が行われる。したがって、ジェスチャー動作にユーザに固有の特徴があったとしても、当該特徴を利用して、ユーザの操作入力を正確に検知することができるようになる。
<<< §2.各構成要素による具体的処理 >>>
ここでは、図1に示すデジタル処理ユニット100を構成する個々の要素が実行する具体的な処理内容を説明する。もちろん、ここで説明する具体的な処理は、本発明の一実施例を示すものであり、本発明は、この実施例に限定されるものではない。
<2−1:代表点認識部の具体的な処理>
既に述べたとおり、代表点認識部110は、タッチパネル装置10から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する構成要素である。図2は、このタッチパネル装置10のタッチ面に対する指の接触状態の一例を示す平面図である。図示のとおり、一般的なタッチパネル装置10のタッチ面には、縦横に格子線が定義されており、この格子線の交点に配置された多数の格子点位置における指の接触状態が電気信号として検知される。抵抗膜方式のタッチパネル装置の場合は格子点位置における電気抵抗値の変化が電気信号として取り出され、静電容量方式のタッチパネル装置の場合は格子点位置における静電容量値の変化が電気信号として取り出される。
ここでは、説明の便宜上、このタッチ面上に図示のような二次元XY座標系を定義し、タッチ面上の任意の点の位置を座標値(x,y)で示すことにする。たとえば、格子点Hの位置は、H(x,y)なる座標値で表される。図示の例では、縦方向の格子線はX軸方向にピッチdxで並んでおり、横方向の格子線はY軸方向にピッチdyで並んでいる。結局、指の接触状態を示す電気信号は、横方向にピッチdx、縦方向にピッチdyで配列された多数の格子点ごとの離散値として得られることになる。指の接触状態を検知する用途では、ピッチdx,dyは5mm程度以下であれば十分である。
図2にハッチングを施して示す領域A1,A2は、指がタッチ面に接触した接触領域を示している。この例では、ユーザが2本の指の先端をタッチ面に接触させた状態が示されている。この場合、接触領域A1,A2内に位置する格子点について、接触状態を示す有意な信号が得られる。図3は、図2に示す接触状態において、Y座標値yで示される横方向の格子線上の検出値を示すグラフであり、ピッチdxで描かれたバーは、個々の格子点で得られた検出値を示している。実際には、格子点は二次元平面上に分布しているため、タッチパネル装置10から与えられる検知信号は、図3に示すグラフを紙面の奥行き方向にも拡張した三次元のグラフで表現される。このように、実際の検出値は、図の横方向にピッチdx、図の奥行き方向にピッチdyで配置された離散的な格子点について得られるだけであるが、これらの離散値を補間することにより、図示のような包絡面Eを求めることができる。
図3に示すとおり、接触領域A1,A2に対応する部分は、山のような盛り上がりを示している。これは、指による接触状態が、各格子点の位置における抵抗値や静電容量値の変化量、すなわちアナログ量として検出されるためである。ここに示す例では、このアナログ量は8ビットのデジタル量(0〜255の数値)に変換され、代表点認識部110に取り込まれる。すなわち、指による接触状態を示す信号は、接触/非接触を示す二値信号として取り込まれるわけではない。タッチパネル装置10は、タッチ面上の個々の位置について、指の接触度(接触の程度・指の押圧力)を示す信号を出力し、代表点認識部110には、段階的な接触度を示す検出値が取り込まれることになる。もちろん、タッチ面に対する押圧力が大きければ、それだけ大きな検出値が取り込まれる。
なお、抵抗膜の抵抗値や静電容量素子の容量値は、使用する場所の温度や湿度などの環境によっても変化するので、実際の使用環境では、指が全く触れていない領域についてもノイズ成分としての検出値が出力される。図3に示すグラフにおいて、接触領域A1,A2以外の部分(山の裾野)の検出値が0になっていないのは、このノイズ成分が検出されているためである。そこで、代表点認識部110は、接触度を示す検出値について、所定の基準値Thを定め、検出値が基準値Th以上の値を示すタッチ面上の閉領域を接触領域と認識する処理を行う。図3に示す例の場合、検出値が基準値Th以上の値を示す2つの山の部分が接触領域と認識され、その結果、図2にハッチングを施して示す接触領域A1,A2の認識が行われる。
ただ、ユーザが行ったジェスチャー動作は、このような接触領域の時間的な変遷パターンとして把握されるので、ジェスチャー動作のパターン解析を行う上では、面積をもった領域の情報のままよりも、位置を示す点の情報に変換した方が取り扱いに便利である。そこで、代表点認識部110では、個々の接触領域A1,A2について、それぞれ代表点Q1,Q2を求める処理が行われる。これらの代表点は、XY座標系の座標値を用いて、Q1(x1,y1),Q2(x2,y2)のような形式の位置データとして得ることができる。
各代表点Q1,Q2は、各接触領域A1,A2の代表位置を示す点であれば、どのような方法で決定してもかまわない。図3に示す例では、「接触領域内で接触度がピークとなる位置」(要するに、山の頂点の位置)として、各接触領域A1,A2についての代表点Q1,Q2の位置を求めている。なお、図3では、説明の便宜上、山の頂点に点Q1,Q2をプロットしてあるが、実際の代表点Q1,Q2は、タッチ面(すなわち、XY平面)上に定義される点であるから、これら山の頂点をXY平面に投影した点が代表点Q1,Q2ということになる。また、図2に示すとおり、点Q1,Q2は、Y座標値yで示される横方向の格子線上の点ではないので、図3に示す点Q1は、実際には、グラフの紙面より若干手前の点であり、図3に示す点Q2は、実際には、グラフの紙面より若干奥の点ということになる。
代表点を決定する別な方法は、基準値Th以上の部分からなる山の重心位置(より正確に表現すれば、タッチ面を水平面とし、接触度を高さ方向にとった座標系において、接触領域上に形成される山の重心位置)を代表点の位置とする方法である。この方法では、山の重心位置を決定する演算が必要になるが、山全体の体積分布を考慮して代表点を決定することができるので、より適切な代表点を求めることができる。
ユーザが、タッチ面上で指を動かしてジェスチャー動作を行うと、タッチパネル装置10から与えられる検知信号は、時々刻々と変化することになるので、当然ながら、代表点Qの位置も時間とともに変化する。そこで、代表点認識部110は、各接触領域について、タッチ面上に定義された二次元XY座標系における代表点Qの座標値(x,y)を上述した方法で認識するとともに、現在時刻tを認識し、値(x,y,t)を含む代表点データを所定の時間間隔で出力する処理を行う。
たとえば、サンプリング期間を50msに設定しておけば、代表点認識部110は、50msおきに、タッチパネル装置10から与えられた検知信号に基づいて認識されたすべての代表点Qの位置座標(x,y)を、その時点の時刻tを示す情報とともに出力する処理を行うことになる。なお、タッチパネル装置10がイベントドリブン型の装置である場合は、指の接触状態に所定以上の変化が生じた場合にのみ、検知信号が出力されることになる。このような場合、代表点認識部110には、一定周期で検出信号が得られなくなるが、時間軸上での補間処理を行うことにより、たとえば、50msというサンプリング期間ごとの位置座標(x,y)を求めればよい。もちろん、サンプリング期間は、必ずしも50msのような一定周期にする必要はないので、イベントドリブン型の装置から検知信号が与えられるたびに、その時点の代表点Qの位置座標(x,y)とその時点の時刻tを出力するようにしてもかまわない。
ここで説明した実施例の場合、タッチパネル装置10から与えられる検知信号は、図3のグラフに示すように、接触度を示す8ビットの検出値によって構成されている。このように、タッチパネル装置10が、タッチ面上の個々の位置について指の接触度を示す信号を出力する機能をもっている場合、代表点Qの位置座標(x,y)だけでなく、当該代表点位置における指の押圧力を示す強度値aを求めることができる。
この強度値aは、たとえば、「接触領域内の接触度のピーク値」として定義することができる。図3に示す例の場合、接触領域A1についての強度値a1は、図に点Q1として示す山の頂点の高さ(接触度)として定義され、接触領域A2についての強度値a2は、図に点Q2として示す山の頂点の高さ(接触度)として定義される。あるいは、山の体積(正確に表現すれば、タッチ面を水平面とし、接触度を高さ方向にとった座標系において、接触領域上に形成される山の体積)として、強度値aを定義することもできる。
この実施例の場合、代表点認識部110は、各接触領域について、それぞれ強度値aを認識し、値(x,y,a,t)を含む代表点データQ(x,y,a,t)を所定の時間間隔で出力する処理を行う。結局、この代表点データQ(x,y,a,t)は、時刻tに、座標値(x,y)で示される代表点Qの付近に、強度値aで示される押圧力をもって指が接触した、という事実を示す情報ということになる。複数の指が同時にタッチ面に接触した場合は、時刻tが同一の複数の代表点データQ(x,y,a,t)が同時に出力される。
<2−2:パターン解析部の具体的な処理>
続いて、パターン解析部120において行われる具体的な処理を説明する。上述したとおり、パターン解析部120には、代表点認識部110から、所定の時間間隔で(たとえば、50msのサンプル期間ごとに)代表点データQ(x,y,a,t)が与えられる。パターン解析部120は、こうして与えられた代表点データQ(x,y,a,t)に基づいて、指の接触状態の時間的な変化態様を解析し、類型化されたいずれかのパターンに当てはめる処理を行う。ここでは、こうして当てはめられたパターンを「解析パターン」と呼ぶ。結局、パターン解析部120は、ある一定の期間に与えられた一群の代表点データQ(x,y,a,t)に基づいて、所定の解析パターンを得る処理を行うことになる。ここでは、この解析パターンを得るまでの具体的な処理方法の一例を詳述する。
図4は、パターン解析部120の詳細な構成を示すブロック図である。図示のとおり、パターン解析部120は、代表点データ格納部121、ストローク認識部122、特性認識部123、パターン決定部124の各構成要素からなる。実際には、これらの各構成要素は、専用のプログラムが組み込まれたコンピュータによって実現される。
<2−2−1:代表点データ格納部>
代表点データ格納部121は、代表点認識部110から与えられる代表点データを格納する構成得要素である。上述したとおり、ここに示す実施例の場合、代表点データは、Q(x,y,a,t)なる形式のデータである。図には、代表点データ格納部121内に、時刻t=t1,t2,t3,... ,t9の各時点において得られた代表点データQが格納された例が示されている。図の1行目に格納されている代表点データQ11(x11,y11,a11,t1)は、時刻t1の時点のデータであり、図の2行目に格納されている代表点データQ12(x12,y12,a12,t2)は、時刻t2の時点のデータである。また、図の3行目には、2組の代表点データQ13(x13,y13,a13,t3)およびQ23(x23,y23,a23,t3)が格納された状態が示されているが、これら2組のデータは、いずれも同一時刻t3の時点のデータである。以下、時刻t8の行に至るまで、2組のデータが格納されており、最後の時刻t9の行では、1組の代表点データQ29(x29,y29,a29,t9)が格納されている。
なお、ここでは、時刻t1の前には、代表点データが与えられない休止期間が存在し、時刻t9の後にも、代表点データが与えられない休止期間が存在するものとする。このような休止期間は、タッチパネル装置10からの検知信号が得られない場合に生じ、ユーザがタッチ面から指を離している状態を示している。逆に言えば、時刻t1〜t9の期間は、ユーザがタッチ面に指を接触させ、何らかのジェスチャー動作を行っている状態を示している。パターン解析部120は、このように、ある一定の連続した期間に与えられた一群の代表点データQ(x,y,a,t)を解析対象として、以下に述べるような解析処理を行うことになる。
<2−2−2:ストローク認識部>
ストローク認識部122は、代表点データ格納部121に格納されている解析対象となる一群の代表点データQ(x,y,a,t)、すなわち、前後に所定の休止期間が存在する一定の連続した時間tを含むデータを読み出し、これら読み出した代表点データに基づいて、同一の指の動きを示す複数の代表点の集合体からなるストロークを認識する処理を行う。
たとえば、図4の代表点データ格納部121内に格納されている15組の代表点データQ11(x11,y11,a11,t1)〜Q29(x29,y29,a29,t9)によって示される15個の代表点Q11〜Q29を、その座標値に基づいてXY平面上にプロットすることにより、図5に示すような結果が得られた場合を考えてみる。ここで、たとえば代表点Q11は、座標値(x11,y11)で示される位置にプロットされた点である。
このような結果が得られたのは、時刻t1において、代表点Q11の位置に指が接触しており、時刻t2において、代表点Q12の位置に指が接触しており、時刻t3において、代表点Q13およびQ23の位置に指が接触しており、時刻t4において、代表点Q14およびQ24の位置に指が接触しており、時刻t5において、代表点Q15およびQ25の位置に指が接触しており、時刻t6において、代表点Q16およびQ26の位置に指が接触しており、時刻t7において、代表点Q17およびQ27の位置に指が接触しており、時刻t8において、代表点Q18およびQ28の位置に指が接触しており、時刻t9において、代表点Q29の位置に指が接触していたためである。
このような15個の代表点を、その時間を考慮して解析すれば、図の左方に破線で囲って示す8個の代表点Q11〜Q18は、同一の指の動きを示す複数の代表点の集合体からなるストロークS1を構成しており、図の右方に破線で囲って示す7個の代表点Q23〜Q29も、別な同一の指の動きを示す複数の代表点の集合体からなるストロークS2を構成していることが認識できる。結局、ストローク認識部122は、図4の代表点データ格納部121内に格納されている15組の代表点データQ11(x11,y11,a11,t1)〜Q29(x29,y29,a29,t9)に基づいて、それぞれ同一の指の動きを示す2組のストロークS1,S2を認識することができる。
このストローク認識部122による具体的なストローク認識アルゴリズムとしては、たとえば「代表点認識部110から出力された時間的に連続した一群の代表点データに基づいて、第i番目の時刻tに得られた代表点と第(i−1)番目の時刻ti−1に得られた代表点との距離が所定の基準d以下となる2つの代表点を同一のストロークに所属する代表点と認識する」というアルゴリズムを採用することができる。
図5に示す実例に上記アルゴリズムを適用すれば、次のようなプロセスで、2組のストロークS1,S2の認識が行われる。ここでは、距離の基準dとして、図5の上端に示す長さが予め設定されていたものとしよう。この場合、まず、時刻t1における代表点Q11を基準として、時刻t2における代表点Q12が同一ストロークに所属する点であるか否かの判定が行われる。図示の例の場合、両者間の距離d1<dであるから、代表点Q12は代表点Q11と同一のストロークに所属する点と認識される。
次に、時刻t3における代表点Q13,Q23についての判定が行われる。この場合、代表点Q13については、距離d2<dであるから、代表点Q13は代表点Q12と同一のストロークに所属する点と認識される。これに対して、代表点Q23については、距離d3>dであるから、代表点Q23は代表点Q12とは異なるストロークに所属する点と認識される。
続いて、時刻t4における代表点Q14,Q24についての判定が行われる。この場合、代表点Q14については、距離d4<dであり、距離d5>dであるから、代表点Q14は代表点Q13と同一のストロークに所属する点であるが、代表点Q23とは異なるストロークに所属する点と認識される。一方、代表点Q24については、距離d6<dであり、距離d7>dであるから、代表点Q24は代表点Q23と同一のストロークに所属する点であるが、代表点Q13とは異なるストロークに所属する点と認識される。以下、同様の処理を繰り返すことにより、結局、代表点Q11〜Q18は、同一のストロークS1に所属する点と認識され、代表点Q23〜Q29は、別な同一のストロークS2に所属する点と認識されることになる。
図では、2組のストロークが認識された例を示したが、もちろん、1組だけのストロークが認識される場合もあれば(ユーザが1本指でジェスチャー動作を行った場合)、3組以上のストロークが認識される場合もある(ユーザが3本以上の指でジェスチャー動作を行った場合)。距離の基準値dは、ユーザが2本の指を揃えてタッチ面に触れた場合に得られる2つの代表点間の距離よりも短く、かつ、ユーザが指をタッチ面で動かした場合の1サンプル期間の移動距離よりも長くなるような適当な値に設定すればよい(ユーザの指の動きが速い場合でも、1サンプル期間を短く設定すれば、適切な基準値dを設定可能である)。
なお、実用上は、このパターン解析部120で解析を行う際には、値aが所定の基準値以上の代表点データQ(x,y,a,t)のみに基づいてパターンの解析を行うようにするのが好ましい。具体的には、ストローク認識部122が、代表点データ格納部121に格納されている解析対象となる一群の代表点データQ(x,y,a,t)を読み出す際に、強度値aが所定基準未満となる代表点データQ(x,y,a,t)については、読み出しを行わないようにすればよい。
強度値aは、ユーザの指の押圧力を示すパラメータになるので、強度値aが所定基準未満となる代表点Qは、ユーザの指が触れてないのに何らかのノイズの影響で生じたものであるか、あるいは、ユーザの意図に反して、たまたま小指などの無関係な指が誤ってタッチ面に触れてしまったために生じたものである可能性が高い。そこで、このような代表点Qは、解析対象には含めないようにすれば、より正確な解析が可能になる。
<2−2−3:特性認識部>
特性認識部123は、ストローク認識部122によって認識された個々のストロークの特性を認識する処理を行う。1本のストロークは、ユーザの1本の指の動きの軌跡を示すものであり、その特性を認識することにより、ユーザが行ったジェスチャー動作の特徴を解析する上で役立つ情報を得ることができる。
ここに示す実施例では、1本のストロークについて、ストローク長L,ストローク位置P(xp,yp),ストローク方位B,ストローク湾曲度Cという4つのパラメータを、ストローク特性を示す値として算出している。以下、図6を参照して、これら4つのパラメータが示すストローク特性を説明する。
図6は、この特性認識部123によって認識されるストローク特性を説明する平面図である。図の中央には、図5に示すストロークS1が示されている。このストロークS1は、上述したとおり、代表点Q11(時刻t1)から代表点Q18(時刻t8)に至るまでの8個の代表点によって構成され、ユーザの指による上から下へのスライド動作を示すものである。
ストローク長Lは、このストロークS1の全長を示すパラメータであり、具体的には、ここに示す実施例の場合、「1つのストロークS1を構成する複数の代表点Q11〜Q18を時系列に沿った順番で連結した場合の連結線の長さの総和」と定義している。このような定義によるストローク長Lは、厳密に言えば、実際のユーザの指の移動軌跡の全長とは若干異なるが、実用上、問題は生じない。図示の例の場合、線分Q11−Q12の長さ、線分Q12−Q13の長さ、線分Q13−Q14の長さ、線分Q14−Q15の長さ、線分Q15−Q16の長さ、線分Q16−Q17の長さ、線分Q17−Q18の長さの総和がスクロール長Lになる。このストローク長Lは、後述するように、当該ストロークが「点ストローク」か「線ストローク」かを判定するために用いられる。
一方、ストローク位置P(xp,yp)は、ストロークS1のXY平面上での位置を示すパラメータであり、座標値(xp,yp)によって表される。具体的には、図示のとおり、ストロークS1の代表的な位置(たとえば、全代表点Q11〜Q18の重心位置)を示す点Pを定め、この点Pの座標値(xp,yp)をストローク位置とすればよい。このストローク位置P(xp,yp)は、後述するように、複数のストロークが存在する場合に、相互位置関係を把握するために利用される。また、§3−2で述べる変形例においては、ジェスチャーが行われた領域を判定するために利用される。
また、ストローク方位Bは、XY平面上でのストロークS1全体の向きを示すパラメータである。大まかな概念としては、図示のとおり、ストロークS1の全体的な向きを示す方位ベクトルWを定め、この方位ベクトルWと所定の座標軸(図示の例の場合X軸)とのなす角度として、ストローク方位Bを定めることができる。ストローク方位Bの具体的な算出方法については後述する。このストローク方位Bは、ユーザの指の動きの向きを判定するために用いられる。
そして、ストローク湾曲度Cは、文字どおり、ストロークS1の湾曲の程度を示すパラメータである。ここに示す実施例の場合、後述するように、ストロークの湾曲の程度が大きければ大きいほど、湾曲度Cの絶対値が大きくなるようなパラメータとして定義している。このストローク湾曲度Cは、当該ストロークが「直線ストローク」か「曲線ストローク」かを判定するために用いられる。また、ここに示す実施例の場合、ストロークが時計まわりに回転する場合と反時計まわりに回転する場合とで、互いに符号が異なるようにストローク湾曲度Cを定めている。したがって、「曲線ストローク」と判定されたストロークについては、更に、ストローク湾曲度Cの符号によって、「時計まわり曲線ストローク」か「反時計まわり曲線ストローク」かの判定を行うことが可能になる。
続いて、上述した4つのパラメータ(ストローク特性)を算出する具体的な方法の一例を説明する。図7は、このストローク特性の算出方法の原理を示すグラフである。ストローク認識部122において認識された1本のストロークは、時系列に基づいて順番が付された複数n個の代表点Qの集合体である。そこで、いま、図7(a) に示すように、第i番目の代表点Q、その直前の第(i−1)番目の代表点Qi−1、更にその直前の第(i−2)番目の代表点Qi−2の位置関係を考える。ここで、代表点Qの座標値を(x,y)とし、代表点Qi−1の座標値を(xi−1,yi−1)とし、代表点Qi−2の座標値を(xi−2,yi−2)とする。また、代表点Qi−1から代表点Qへ向かうベクトルをV、代表点Qi−2から代表点Qi−1へ向かうベクトルをVi−1とし、ベクトルVがベクトルVi−1に対してなす角度を変位角φとし、ベクトルVが所定の基準座標軸(この例ではX軸)に対してなす角度を方位角θとする。
なお、ここでは、角度について、反時計まわりの方向を正、時計まわりの方向を負にとった場合の例を示すことにする。したがって、図7(a) に示す例の場合、変位角φは、実際には負の値をとり、ベクトルVの方向がベクトルVi−1の方向に対して時計まわりに変位していることが示される。このように、変位角φは、−180°<φ≦+180°の範囲内の値として定義される。同様に、図7(a) に示す例の場合、方位角θも、実際には負の値をとり、ベクトルVの方向がX軸正方向(図の右方向)に対して時計まわりに変位していることが示される。この方位角θも、−180°<θ≦+180°の範囲内の値として定義され、図7(b) に示すとおり、XY座標系上で、0°は右方向、+90°は上方向、−90°は下方向、±180°は左方向を示すことになる。
さて、このような定義を行うと、4つのストローク特性を示すパラメータ値は、図8に示すような具体的な演算式によって算出することができる。以下、この図8に示されている演算式を順に説明する。
まず、ストローク長Lは、
L=Σ i=2〜n ((x−xi−1+(y−yi−11/2
なる演算式によって算出される。この式は、第1番目の代表点Q1〜第n番目の代表点Qnまで、各代表点を順に連結する線分の長さの総和を求める演算式になっている。
一方、ストローク位置Pは、座標値(xp,yp)で示され、これらの座標値は、
xp=Σ i=2〜n ((x−xi−1+(y−yi−11/2・x
/Σ i=2〜n ((x−xi−1+(y−yi−11/2
yp=Σ i=2〜n ((x−xi−1+(y−yi−11/2・y
/Σ i=2〜n ((x−xi−1+(y−yi−11/2
なる演算によって算出される。この式は、第2番目の代表点Q2〜第n番目の代表点Qnまで、各代表点のX座標値およびY座標値の重み付き平均値となっている。すなわち、分子の((x−xi−1+(y−yi−11/2なる項が、第i番目代表点Qの座標値xおよびyに乗ぜられる重みであり、ベクトルVの長さに相当する。もちろん、第1番目の代表点Q1〜第n番目の代表点Qnまで、各代表点のX座標値およびY座標値の単純平均値を、座標値(xp,yp)とするようにしてもかまわないが、ベクトルVの長さを重みとする重み付き平均値を用いれば、ストローク全体の位置をより反映したストローク位置Pを得ることができる。
また、ストローク方位Bは、図7に示す方位角θの平均値として求めることができる。方位角θは、ベクトルVの方位を示すものであるから、これらの平均を求めることにより、ストローク全体の方位を得ることができる。ただ、ここに示す実施例では、ストローク位置Pを算出する場合と同様に、ベクトルVの長さを重みとする重み付き平均値を求めるようにしている。すなわち、ストローク方位Bは、
B=Σ i=2〜n ((x−xi−1+(y−yi−11/2・θ
/Σ i=2〜n ((x−xi−1+(y−yi−11/2
なる演算によって算出される。ここでも、分子の((x−xi−1+(y−yi−11/2なる項が、ベクトルVの方位角θに乗ぜられる重みであり、ベクトルVの長さに相当する。
そして、ストローク湾曲度Cは、図7に示す変位角φの平均値として求めることができる。変位角φは、ベクトルVがベクトルVi−1に対して、どちらの方向(反時計まわり、もしくは時計まわり)にどれだけの角度曲がったかを示すパラメータである。したがって、たとえば、平均値が0に近ければ、当該ストロークは全体的には反時計まわりにも、時計まわりにも、曲がっていないことになり、直線に近いことを示す。平均値の絶対値が大きければ大きいほど、いずれかの方向に湾曲していることになる。ここに示す実施例では、この変位角φの平均値を求める際にも、ベクトルVの長さを重みとする重み付き平均値を求めるようにしている。すなわち、ストローク湾曲度Cは、
C=Σ i=3〜n ((x−xi−1+(y−yi−11/2・φ
/Σ i=3〜n ((x−xi−1+(y−yi−11/2
なる演算によって算出される。ここでも、分子の((x−xi−1+(y−yi−11/2なる項が、変位角φに乗ぜられる重みであり、ベクトルVの長さに相当する。なお、変位角φは、代表点Qi−2から代表点Qi−1へ向かうベクトルVi−1に対して、代表点Qi−1から代表点Qへ向かうベクトルVがなす角度であるので、i≧3の場合に定義される角度ということになる。このため、ストローク湾曲度Cを求める上記演算式の分母・分子は、i=3〜nについての総和になる。
<2−2−4:パターン決定部>
パターン決定部124は、ストローク認識部122および特性認識部123による認識結果に基づいて、固有の特性をもった1つのストロークもしくは複数のストロークの組み合わせを1つのパターンに対応づけることにより、解析パターンを決定する処理を行う。ここに示す実施例では、個々のストロークをその特性に基づいて複数の種別に分類し、特定の種別もしくはその組み合わせに対して特定の解析パターンを対応させることにより、解析パターンを決定する処理を行うことになる。
最も単純なストロークの分類法は、ストローク長Lに基づいて、「点ストローク」と「線ストローク」とに分類する方法である。すなわち、ストローク長Lが所定の基準値Lth未満のストロークを「点ストローク」なる種別に分類し、ストローク長Lが基準値Lth以上のストロークを「線ストローク」なる種別に分類することができる。別言すれば、「点ストローク」は、ユーザの指がほとんど移動していないストロークであり、「線ストローク」は、ユーザの指がある程度移動しているストロークと言うことができる。
また、ストローク長Lに、ストローク湾曲度Cを組み合わせると、「点ストローク」,「直線ストローク」,「曲線ストローク」の3つに分類することができるようになる。すなわち、上述したストローク長Lを利用した分類によって、「線ストローク」なる種別に分類されたストロークのうち、湾曲度Cの絶対値が所定の基準値Cth未満のストロークを「直線ストローク」なる種別に分類し、湾曲度Cの絶対値が基準値Cth以上のストロークを「曲線ストローク」なる種別に分類すればよい。
なお、ユーザが指を直線的に移動させる意図で、タッチ面上でジェスチャー動作を行ったとしても、その移動軌跡は完全な直線になることは稀であり、実際には、ストローク湾曲度Cは0にはならない。そこで、直線的な移動と判断できる限界となる適切な湾曲度Cを基準値Cthに設定しておくようにすれば、ユーザの行ったジェスチャー動作が直線を意図したものか、曲線を意図したものかを区別することができる。基準値Cthの具体的な数値を設定するには、たとえば、何人かのユーザに「指を直線的に移動するジェスチャーを行う」旨の指示を与えたときと、「指を曲線的に移動するジェスチャーを行う」旨の指示を与えたときとで、それぞれ得られる検知信号に基づいてストローク湾曲度Cを算出し、両者の中間的な値を基準値Cthとするような方法を採ればよい。
このように、ストローク長Lとストローク湾曲度Cとを用いれば、ストロークを「点ストローク」、「直線ストローク」、「曲線ストローク」なる3つの種別に分類することができる。したがって、ユーザが1本指によるジェスチャー動作を行うことを前提とする場合は、これら3つの種別に対して、それぞれ「点ストローク」パターン、「直線ストローク」パターン、「曲線ストローク」パターンなる3つの解析パターンを対応づけることができる。また、2本指によるジェスチャー動作を加えることも可能である。2本指によるジェスチャー動作については、2つのストロークの種別の組み合わせに対して、特定の解析パターンを対応づけることができる。たとえば、「点ストローク+直線ストローク」パターン、「直線ストローク+曲線ストローク」パターンといった具合である。もちろん、3本指以上によるジェスチャー動作についても同様である。
更に、複数のストロークを含むパターンに対しては、ストローク位置Pを参照することにより相互位置関係を把握し、相互位置関係が異なるパターンを区別してパターンの決定を行うこともできる。たとえば、「左側の点ストローク+右側の直線ストローク」パターン、「上側の直線ストローク+下側の曲線ストローク」パターンといった具合である。
ここで述べる実施例の場合、ストロークの種別を更に増やすため、「曲線ストローク」なる種別については、ストローク湾曲度Cの符号に基づいて、更に「時計まわり曲線ストローク」と「反時計まわり曲線ストローク」との2通りの種別に分けて取り扱うようにしている。前述したとおり、ストローク湾曲度Cは、ストロークが時計まわりに回転する場合と反時計まわりに回転する場合とで、互いに符号が異なるように定義されているので、ストローク湾曲度Cの符号を参照すれば、「時計まわり曲線ストローク」と「反時計まわり曲線ストローク」との分類を行うことが可能である。
一方、「直線ストローク」なる種別については、ストローク方位Bに基づいて、「直線ストローク」なる種別を、更に、方位の異なる4通りの種別に分けて取り扱うようにしている。図7(b) に示すように、ストローク方位Bは、−180°〜+180°の数値を示すパラメータであり、XY平面上で特定の方向を示す役割を果たす。ここで述べる実施例の場合、−135°<B≦−45°の場合には「下方向直線ストローク」、−45°<B≦+45°の場合には「右方向直線ストローク」、+45°<B≦+135°の場合には「上方向直線ストローク」、+135°<Bもしくは−135°≧Bの場合には「左方向直線ストローク」との分類を行っている。
結局、ここで述べる実施例の場合、パターン決定部124は、ストローク認識部122で認識された個々のストロークを、特性認識部123で認識された3つのストローク特性(ストローク長L,ストローク湾曲度C,ストローク方位B)を参照することにより、「点ストローク」,「時計まわり曲線ストローク」,「反時計まわり曲線ストローク」,「上方向直線ストローク」,「下方向直線ストローク」,「左方向直線ストローク」,「右方向直線ストローク」なる7種類の種別のいずれかに分類する処理を行う。
そして、ストローク認識部122で認識されたストロークが1つだけの場合は、当該特定の種別に基づいて解析パターンを決定する処理を行う。たとえば、「時計まわり曲線ストローク」という種別の単一のストロークのみを含むジェスチャー動作に対しては、「時計まわり曲線ストローク」パターンという解析パターンが対応づけられることになる。結局、単一のストロークのみを含むジェスチャー動作に対しては、7通りの解析パターンのいずれかが対応づけられる。
一方、ストローク認識部122で認識されたストロークが複数ある場合は、個々のストロークの種別の組み合わせに対して特定の解析パターンを対応づける処理が行われる。このとき、ストローク位置Pを参照することにより、複数のストロークについて相互位置関係を把握し、相互位置関係が異なるパターンを区別してパターンの決定を行うことになる。たとえば、左右の位置関係にある2つのストロークを含むジェスチャー動作に対しては、「左側の時計まわり曲線ストローク+右側の下方向直線ストローク」パターンと、「右側の時計まわり曲線ストローク+左側の下方向直線ストローク」パターンと、は異なる解析パターンになる。
図9は、上述した方針に基づいて、パターン決定部124によって行われるパターン決定処理の手順を示す流れ図である。まず、ステップS11において、ストローク番号を示すパラメータjが初期値1に設定され、ステップS12において、第j番目のストロークSjについて、特性認識部123で算出された特性、すなわち、ストローク長L,ストローク位置P,ストローク方位B,ストローク湾曲度Cなる4つのパラメータ値が抽出される。そして、ステップS13において、ストローク長Lが所定の基準値Lthと比較される。ここで、L<Lthである場合には、ステップS14において、当該ストロークが「点ストローク」と認識される。
一方、ステップS13において、L≧Lthである場合には、「線ストローク」であると認識され、更にステップS15において、ストローク湾曲度Cの絶対値が所定の基準値Cthと比較される。ここで、|C|≧Cthである場合には、ステップS16において、当該ストロークが「曲線ストローク」と認識され、|C|<Cthである場合には、ステップS18において、当該ストロークが「直線ストローク」と認識される。
ステップS16において「曲線ストローク」との認識がなされた場合は、ステップS17において、湾曲度Cの符号により湾曲方向の決定が行われる。すなわち、湾曲度Cが正の場合は「反時計まわり曲線ストローク」であると認識され、湾曲度Cが負の場合は「時計まわり曲線ストローク」であると認識される。一方、ステップS18において「直線ストローク」との認識がなされた場合は、ステップS19において、ストローク方位Bに基づいて、上述したように上下左右の決定がなされる。
いずれの場合も、ステップS20において、第j番目のストロークSjに対して、7種類の種別のうちのいずれかが対応づけられる。すなわち、ストロークSjに対して、特定の種別が決定される。図9のステップS20のブロック内に示されている白抜き図形による記号は、この7種類の種別、すなわち、「点ストローク」,「時計まわり曲線ストローク」,「反時計まわり曲線ストローク」,「上方向直線ストローク」,「下方向直線ストローク」,「左方向直線ストローク」,「右方向直線ストローク」を示している。以下、本願の図では、この7種類のストローク種別を、これらの白抜き図形による記号で示すことにする。
こうして、第j番目のストロークSjについて、所定の種別が決定されると、ステップS21を経て、ステップS22へ進み、ストローク番号を示すパラメータjが1だけ更新され、再びステップS12からの処理が繰り返し実行される。このような処理が、ストローク認識部122で認識された全ストロークについて完了すると、ステップS21を経て、ステップS23へ進み、各ストロークの種別とストローク位置Pに基づいて、所定の解析パターンが決定される。
上述したとおり、ストローク認識部122で認識されたストロークが1つのみである場合は、当該ストロークの種別に対応する解析パターンが対応づけられるが、認識されたストロークが複数ある場合は、その相互位置関係を考慮した種別の組み合わせに対して、1つの解析パターンが対応づけられる。
図10は、パターン決定部124によって決定された解析パターンのいくつかの例を示す平面図である。パターンPT(A),PT(B)は、いずれもストローク認識部122で認識されたストロークが1つのみである場合の解析パターンであり、ユーザが1本指でジェスチャー動作を行った場合に得られる解析パターンである。すなわち、パターンPT(A)は、「時計まわり曲線ストローク」なる種別の単一ストロークのみを含むジェスチャー動作を解析することによって得られるパターンであり、パターンPT(B)は、「下方向直線ストローク」なる種別の単一ストロークのみを含むジェスチャー動作を解析することによって得られるパターンである。
これに対して、パターンPT(C)〜PT(E)は、ストローク認識部122で認識されたストロークが2つある場合の解析パターンであり、ユーザが2本指でジェスチャー動作を行った場合に得られる解析パターンである。上述したとおり、複数のストロークが認識された場合には、その相互位置関係を考慮した種別の組み合わせに対して、1つの解析パターンが対応づけられる。したがって、パターンPT(C)〜PT(E)は、いずれも「時計まわり曲線ストローク」と「下方向直線ストローク」との組み合わせからなるパターンであるが、互いに異なる解析パターンとなる。すなわち、パターンPT(C)は、「左側の時計まわり曲線ストローク+右側の下方向直線ストローク」パターンであり、パターンPT(D)は、「左側の下方向直線ストローク+右側の時計まわり曲線ストローク」パターンであり、パターンPT(E)は、「上側の下方向直線ストローク+下側の時計まわり曲線ストローク」パターンである。
2つのストロークの相互位置関係は、それぞれのストローク位置P(xp,yp)に基づいて決定すればよい。ここに示す実施例では、相互位置関係を「左右の関係」と「上下の関係」とのいずれか一方に判断するようにしている。具体的には、第1のストロークS1の位置をP1(xp1,yp1)とし、第2のストロークS2の位置をP2(xp2,yp2)とし、位置偏差Δx=|xp1−xp2|,Δy=|yp1−yp2|を求め、Δx>Δyの場合には「左右の関係」と判断し、Δx<Δyの場合には「上下の関係」と判断している。「左右の関係」との判断が行われた場合には、ストローク位置PのX座標値の大小により、どちらのストロークが左側で、どちらのストロークが右側かの判断が行われ、「上下の関係」との判断が行われた場合には、ストローク位置PのY座標値の大小により、どちらのストロークが上側で、どちらのストロークが下側かの判断が行われる。
<2−3:サンプルパターン採取部および格納部の具体的な処理>
続いて、図1に示す装置におけるサンプルパターン採取部130およびサンプルパターン格納部150によって行われる具体的な処理を説明する。サンプルパターン採取部130は、ディスプレイ装置20の画面上に「タッチ面上で複数m通りのジェスチャーを行う」旨の指示を表示し、当該指示に基づくユーザのm通りのジェスチャー動作について、パターン解析部120によって得られた各解析パターンを、それぞれサンプルパターンとして採取する処理を行う。
ユーザに指示する「複数m通りのジェスチャー」は、指を用いたジェスチャーであれば、どのようなジェスチャーを定めてもよい。特に、1本の指だけでなく、複数の指を用いたジェスチャーには、様々なバリエーションが存在する。図11は、2本指を用いたジェスチャーの種類を例示する平面図である。図示の黒矢印は、2本の指のタッチ面上での移動方向を示しており、G1〜G6の6種類の異なるジェスチャーが示されている。
ジェスチャーG1は、2本の指を下から上へとスライドさせる「上スクロール」のジェスチャーであり、ジェスチャーG2は、2本の指を上から下へとスライドさせる「下スクロール」のジェスチャーであり、ジェスチャーG3は、2本の指を右から左へとスライドさせる「左スクロール」のジェスチャーであり、ジェスチャーG4は、2本の指を左から右へとスライドさせる「右スクロール」のジェスチャーである。また、ジェスチャーG5は、2本の指を互いに時計まわりの方向へ回転させる「時計まわり」のジェスチャーであり、ジェスチャーG6は、2本の指を互いに反時計まわりの方向へ回転させる「反時計まわり」のジェスチャーである。
ここでは、説明の便宜上、図11に示す6通りのジェスチャー動作について、それぞれサンプルパターンを登録する処理を行う例を述べることにする。実用上は、必要に応じて、この他にも様々なジェスチャー動作を登録することができる。もちろん、1本の指を用いたジェスチャー動作や3本以上の指を用いたジェスチャー動作を併せて登録することもできる。
このような登録を行うために、ユーザは、まずサンプルパターン採取部130に対して初期設定を行う旨の指示を与える。実際には、コンピュータをサンプルパターン採取部130として機能させるためのプログラムを起動する操作を行えばよい。すると、サンプルパターン採取部130は、6通りのジェスチャー動作のそれぞれについて、順にジェスチャー登録を指示する画面をディスプレイ装置20に表示し、当該指示に基づくユーザのジェスチャー動作について、パターン解析部120によって得られた解析パターンを、当該ジェスチャーについてのサンプルパターンとして採取する処理を行う。
図12は、このサンプルパターン採取部130の機能によって、ディスプレイ装置20に表示される指示画面の一例を示す平面図である。この指示画面は、図11に示すジェスチャーG1「上スクロール」を登録するための指示画面であり、ユーザに、タッチ面上で、2本指を上方向に平行に移動させるジェスチャーを行うよう指示する画面である。この指示を見たユーザは、タッチパネル装置10のタッチ面上で、指示されたジェスチャー動作を行うことになる。ユーザが行ったジェスチャー動作は、パターン解析部120で解析され、当該ジェスチャー動作に対して、所定の解析パターンが対応づけられる。サンプルパターン採取部130は、こうして得られた解析パターンを、当該ジェスチャーについてのサンプルパターンとして採取することになる。
サンプルパターン格納部150は、こうして採取された各サンプルパターンを格納する機能を果たす。すなわち、サンプルパターン採取部130が、第k番目(1≦k≦m)のジェスチャーを行う旨の指示を表示したときに採取された解析パターンを、第k番目のジェスチャーに対応するサンプルパターンとして格納する。
図13は、このようにしてサンプルパターン格納部150に格納されたサンプルパターンの一例を示す平面図である。ここに示されている6つのサンプルパターンSP(G1)〜SP(G6)は、それぞれ図11に示す6種類のジェスチャーG1〜G6に対応するサンプルパターンである。
ここで、サンプルパターンSP(G1),SP(G3),SP(G5)は、標準的なサンプルパターンであり、パターンを構成する各ストロークの種別(白抜きの図形で示す)は、図11に示すジェスチャーG1,G3,G5の黒矢印の種別に一致している。しかしながら、サンプルパターンSP(G2),SP(G4),SP(G6)は、若干標準的なパターンから逸脱している。
たとえば、サンプルパターンSP(G2)は、図11に示すジェスチャーG2「下スクロール」に対応するものであるから、本来であれば、左右のストロークともに、「下方向直線ストローク」(下向きの白抜き矢印)になるはずであるが、実際には、左側のストロークは「時計まわり曲線ストローク」になっている。このような結果が得られた理由は、このユーザ自身は、「2本指を下方向に平行に移動させるジェスチャー」を行っているつもりであるが、実際には、左側の指の動きは時計まわりに回転していたためである。すなわち、このユーザには、2本指を下方向に平行に移動させる動作を行わせた場合、左側の指の動きが時計まわりに回転する、という固有の癖があることになる。
同様に、サンプルパターンSP(G4)は、このユーザには、2本指を右方向に平行に移動させる動作を行わせた場合、下側の指の動きが時計まわりに回転する、という固有の癖があることを示している。また、サンプルパターンSP(G6)は、このユーザには、2本指を共に反時計まわりに回転させる動作を行わせた場合、右側の指がほとんど動かない、という固有の癖があることを示している。本発明の重要な特徴は、準備段階で行われるジェスチャー登録の作業によって、個々のジェスチャーについてユーザの固有の癖を予めサンプルパターンとして登録しておく点にある。このように、準備段階で予めサンプルパターンの登録を行っておけば、検出段階ではこのサンプルパターンを参照することにより、ユーザが行った操作入力を正確に検知することができるようになるのである。
もちろん、ユーザによって、それぞれジェスチャーの癖が異なるので、別なユーザが登録作業を行えば、サンプルパターン格納部150内に格納されるサンプルパターンも異なったものになる。図14は、別なユーザの登録作業によってサンプルパターン格納部150内に格納されたサンプルパターンを示す平面図である。この図14に示す例も、図11に示す6通りのジェスチャーについて得られたサンプルパターンであるが、図13に示す例と比較すると、それぞれ異なる内容のパターンが登録されていることがわかる。
<2−4:操作入力パターン採取部・パターン選択部・検知結果出力部の処理>
操作入力パターン採取部140は、外部ユニット200から操作入力の検知を要求する検知要求信号が与えられた後に、パターン解析部120によって得られた解析パターンを操作入力パターンとして採取する処理を行う。そして、パターン選択部160は、こうして採取された操作入力パターンを、サンプルパターン格納部150に格納されている複数m通りのサンプルパターンと比較し、合致したサンプルパターンを選択する処理を行う。最後に、検知結果出力部170は、パターン選択部160で選択されたサンプルパターンに対応するジェスチャーを示す情報を、操作入力の検知結果を示す検知結果信号として外部ユニット200へ出力する処理を行う。
§1で述べたとおり、外部ユニット200では、何らかの処理を行うプログラムが実行されており、当該プログラムが、ユーザからの何らかの操作入力を必要としたときに、外部ユニット200からデジタル処理ユニット100に対して検知要求信号が出されることになる。この場合、この外部ユニット200で実行されているプログラムは、たとえば、図11に示す6通りのジェスチャーG1〜G6を、それぞれ特定の操作入力と認識して処理を続行するように設計されている。
ここでは、一例として、外部ユニット200からの検知要求信号が与えられた後に、タッチパネル装置10に対してユーザのジェスチャー動作が行われ、パターン解析部120が当該ジェスチャー動作を解析することによって、図10に示すパターンPT(C)が解析パターンとして得られたものとしよう。この場合、操作入力パターン採取部140は、この図10に示すパターンPT(C)を操作入力パターンとして採取し、パターン選択部160に引き渡す処理を行う。パターン選択部160は、こうして引き渡されたパターンPT(C)を、サンプルパターン格納部150に格納されている図13に示す6通りのサンプルパターンSP(G1)〜SP(G6)と比較し、合致したサンプルパターンSP(G2)を選択する処理を行う。その結果、検知結果出力部170は、当該サンプルパターンSP(G2)に対応するジェスチャーG2を示す情報を、検知結果信号として外部ユニット200へ出力する。なお、合致するサンプルパターンが見つからない場合には、たとえば、エラーメッセージを検知結果信号として返すようにすればよい。
かくして、外部ユニット200には、ユーザからジェスチャーG2に対応する操作入力がなされた旨の検知結果信号が返されることになる。外部ユニット200で実行されているプログラムは、当該操作入力に応じて、所定の処理を続行することになる。たとえば、図11に示すジェスチャーG1に対応する操作入力があった場合には、画面を上方にスクロールし、ジェスチャーG5に対応する操作入力があった場合には、オブジェクトを時計まわりに回転させる、というような処理が行われることになる。
上例において、ユーザは、ジェスチャーG2「2本指による下スクロール」に関して、2本指を下方向に平行に移動させているつもりであるのに、実際には、左側の指の動きが時計まわりに回転してしまう、という固有の癖を有している。従来の操作入力検知装置では、このような固有の癖を考慮せずに、ジェスチャーG2「2本指による下スクロール」が行われた場合には、左右に並んだ2本の「下方向直線ストローク」が得られるとの前提で検知処理が行われていたため、上例の場合には正しい検知を行うことができない。本願発明では、このようなユーザに固有の癖をサンプルパターンとして登録してあるため、固有の癖を考慮した正確な検知処理が可能になる。
<<< §3.様々な変形例 >>>
以上、本発明に係る操作入力検知装置の基本的実施形態の構成を§1で述べ、各構成要素による具体的処理を§2で述べた。そこで、ここでは、本発明の様々な変形例を述べることにする。
<3−1:ユーザを特定する変形例>
図15は、本発明の変形例に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。図1に示す基本的実施形態との相違点は、デジタル処理ユニット100の代わりに、デジタル処理ユニット100Aが用いられている点である。デジタル処理ユニット100Aの大きな特徴は、デジタル処理ユニット100に、ユーザ特定部180を付加した点である。
ユーザ特定部180は、現在利用中のユーザを特定する情報を入力しこれを保存する機能を有する構成要素である。ここに示す例の場合、外部ユニット200から、ユーザ特定部180に対してユーザ識別コードUが与えられ、ユーザ特定部180は、このユーザ識別コードUを現在利用中のユーザを特定する情報として入力し、保存する。これは、一般的な電子機器の場合、外部ユニット200を利用中のユーザと、本発明に係る操作入力検知装置を利用中のユーザとが同一であると考えることができるためである。
たとえば、図15に示されている全ブロックが、所定のプログラムを組み込んだパソコンによって構成されている場合、ユーザは、当該パソコンに所定のユーザ識別コードU(アカウント)を用いてログインして利用することになる。この場合、外部ユニット200内にユーザ識別コードUが格納されているので、ユーザ特定部180は、この外部ユニット200内に格納されているユーザ識別コードUを取り込むことにより、現在利用中のユーザを特定することができる。
一方、サンプルパターン採取部130Aの機能は、図1に示す装置におけるサンプルパターン採取部130の機能とほぼ同じである。ただ、ユーザ特定部180によって特定されたユーザごとにそれぞれ独立してサンプルパターンを採取する処理を行う。同様に、サンプルパターン格納部150Aの機能も、図1に示す装置におけるサンプルパターン格納部150の機能とほぼ同じである。ただ、ユーザ特定部180によって特定されたユーザごとにそれぞれ独立してサンプルパターンを格納する処理を行う。図13と図14を比較すればわかるように、全く同じジェスチャーについて採取されたサンプルパターンであっても、ユーザには固有の癖があるため、得られたサンプルパターンはユーザごとに異なる場合がある。図15に示す変形例では、サンプルパターン格納部150A内に、それぞれユーザごとのサンプルパターンが格納されることになる。
図16は、図15に示す操作入力検知装置のサンプルパターン格納部150Aに格納されているユーザごとのサンプルパターンの一例を示す平面図である。この例では、ユーザ識別コードUa,Ub,Ucをもった3人のユーザA,B,Cについて、それぞれ別個独立したサンプルパターンSP(Ua),SP(Ub),SP(Uc)が格納されている状態が示されている。ここで、個々のサンプルパターンSP(Ua),SP(Ub),SP(Uc)は、それぞれが、たとえば図13に示すような6個のサンプルパターンによって構成されている。
また、パターン選択部160Aの機能は、図1に示す装置におけるパターン選択部160の機能とほぼ同じである。ただ、パターン選択を行う際には、ユーザ特定部180によって特定されたユーザについてのサンプルパターンとの比較を行うことによりパターン選択を行うことになる。たとえば、ユーザ特定部180内にユーザ識別コードUaが保存されており、現在利用中のユーザがユーザAであることが特定されている場合、パターン選択部160Aは、サンプルパターン格納部150A内のユーザAについてのサンプルパターンSP(Ua)を用いた比較を行うことにより、パターン選択を行うことになる。
このように、図15に示す変形例によれば、複数のユーザによる利用が予定されていた場合でも、個々のユーザに固有の特徴をそれぞれ考慮した正確な操作入力の検知が可能になる。
<3−2:領域を特定する変形例>
図1や図15では、説明の便宜上、タッチパネル装置10とディスプレイ装置20とを別個のブロックとして示しているが、タッチパネル装置10およびディスプレイ装置20を、表示画面がタッチ面を構成するタッチパネル付ディスプレイ装置によって構成することも可能である。最近は、タブレット型の電子機器、多機能携帯電話、携帯型ゲーム機も普及しており、これらの機器では、通常、タッチパネル付ディスプレイ装置が利用されている。
このようなタッチパネル付ディスプレイ装置を組み込んだ電子機器では、ユーザは、ディスプレイ画面上の任意の位置をタッチすることができる。したがって、表示画面が広くなればなるほどタッチ面も広くなる。ところが、タッチ面が広くなると、ジェスチャーを行う場所によって、得られる解析パターンに相違が生じる可能性がある。最近は、17インチ程度の表示画面を有するタッチパネル付ディスプレイ装置を組み込んだ電子機器も市販されている。このような電子機器を、たとえば、横長状態で左手で保持したまま、右手の指を用いて画面(タッチ面)上で様々なジェスチャー動作を行う場合を考えてみる。この場合、画面の左端でジェスチャーを行った場合と、右端でジェスチャーを行った場合とでは、ユーザが同一のジェスチャーを行っているつもりでも、パターン解析部120から得られる解析パターンは異なったものになる可能性がある。タッチパネル付ディスプレイ装置を複数台並べて、より大型のタッチパネル付ディスプレイ装置として使用する場合に、この傾向はさらに顕著となる。
このようなケースに対応するには、タッチパネル装置のタッチ面を分割して複数の領域を定義し、個々の領域ごとにそれぞれ別個独立したサンプルパターンを採取すればよい。そうすれば、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことにより、正確な操作入力の検知が可能になる。
図17は、タッチパネル付ディスプレイ装置のタッチ面(表示面)を4つの領域T1〜T4に分割し、個々の領域ごとにサンプルパターンを別個独立して採取した例を示す平面図である。図の下欄には、ユーザに図11に示すジェスチャーG5(2本指による時計まわりのジェスチャー)を個々の領域で行うよう指示を与えたときに、パターン解析部120から得られた解析パターンを、それぞれの領域のサンプルパターンとして採取した例が示されている。
図17下欄の結果を見ると、領域T1についてのサンプルパターンSP(G5T1)と領域T2についてのサンプルパターンSP(G5T2)とは、いずれも「左側の時計まわり曲線ストローク+右側の時計まわり曲線ストローク」パターンになっているものの、領域T3についてのサンプルパターンSP(G5T3)は、「左側の点ストローク+右側の時計まわり曲線ストローク」パターンとなり、領域T4についてのサンプルパターンSP(G5T4)は、「左側の下方向直線ストローク+右側の時計まわり曲線ストローク」パターンとなっている。これら4つのサンプルパターンは、いずれもジェスチャーG5についてのサンプルパターンSP(G5)であることに変わりはないが、その内容は領域により異なっている。これは人体の骨格や筋肉などの生物学的構造に起因する現象と考えられる。
このように、ユーザが意図的に同じジェスチャーを行っているにもかかわらず、個々の領域ごとに得られる解析パターンが異なる可能性のある、比較的大きな面積をもったタッチパネル装置に本発明を適用する場合は、個々の領域ごとにそれぞれ別個独立したサンプルパターンを採取しておき、特定のジェスチャーによる操作入力パターンに対応するサンプルパターンを選択する際には、当該ジェスチャーが行われた領域についてのサンプルパターンと比較を行うようにするのが好ましい。
図18は、このような機能を備えた変形例に係る操作入力検知装置の構成を示すブロック図である。図1に示す基本的実施形態との相違点は、タッチパネル装置10およびディスプレイ装置20の代わりに、タッチパネル付ディスプレイ装置30(後述するように、この実施例では、重力加速度センサが内蔵されている)が用いられている点と、デジタル処理ユニット100の代わりに、デジタル処理ユニット100Bが用いられている点である。タッチパネル付ディスプレイ装置30は、上述したように、ディスプレイの画面上にタッチパネルが設けられている装置であり、タッチパネル装置10とディスプレイ装置20とを兼用することができる。
デジタル処理ユニット100B内のサンプルパターン採取部130Bは、図1に示す装置におけるサンプルパターン採取部130とほぼ同じ機能をもった構成要素である。ただ、タッチパネルのタッチ面を分割することによって得られる複数の領域T1〜T4について、それぞれ別個にジェスチャーを行う旨の指示を表示し、個々の領域T1〜T4ごとにそれぞれ別個独立したサンプルパターンを採取する処理を行う。
図19は、このサンプルパターン採取部130Bによって、タッチパネル付ディスプレイ装置30に表示される指示画面の一例を示す平面図である。この例では、画面上の領域T1にハッチングを施して、このハッチング領域内で、2本指を上方向に平行に移動させるジェスチャー(図11に示すジェスチャーG1)を行うような指示を行っている。この指示を見たユーザが、画面上のハッチングが施されている領域内で、当該ジェスチャーを行うと、これを解析することによって得られた解析パターンが、ジェスチャーG1の領域T1についてのサンプルパターンSP(G1T1)として、サンプルパターン格納部150Bに格納される。
サンプルパターン採取部130Bは、領域T2,T3,T4についても、同様に、ジェスチャーG1を行うよう指示を出し、そのときに得られた各解析パターンが、ジェスチャーG1のそれぞれ領域T2,T3,T4についてのサンプルパターンSP(G1T2),SP(G1T3),SP(G1T4)として、サンプルパターン格納部150Bに格納される。もちろん、他のジェスチャーG2〜G6についても、それぞれ各領域T1〜T4について、同様の方法でサンプルパターンの採取が行われる。
デジタル処理ユニット100B内のサンプルパターン格納部150Bは、図1に示す装置におけるサンプルパターン採取部130とほぼ同じ機能をもった構成要素である。ただ、個々の領域T1〜T4ごとに採取された各サンプルパターンを、それぞれ別個独立して格納することになる。図20は、サンプルパターン格納部150Bに格納されている領域ごとのサンプルパターンの一例を示す平面図である。ここで、図示するサンプルパターンSP(T1)は、図17に示す領域T1で行われた6通りのジェスチャーG1〜G6について採取されたサンプルパターンSP(G1T1)〜SP(G6T1)を示している。同様に、サンプルパターンSP(T2),SP(T3),SP(T4)は、それぞれ図17に示す領域T2,T3,T4で行われた6通りのジェスチャーG1〜G6について採取されたパターンである。
一方、デジタル処理ユニット100B内のパターン選択部160Bは、図1に示す装置におけるパターン選択部160とほぼ同じ機能をもった構成要素である。ただ、サンプルパターン格納部150B内には、個々の領域ごとに異なるサンプルパターンが格納されているので、パターン選択部160Bは、採取された操作入力パターンの元になるジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことによりパターン選択を行うことになる。
ジェスチャーが行われた主たる領域を認識するには、パターン解析部120の解析結果を利用すればよい。既に述べたとおり、パターン解析部120の解析処理プロセスでは、代表点の時間的変遷を示す検知信号からストロークが認識され、個々のストロークについてストローク位置P(xp,yp)が算出される。そこで、パターン選択部160Bは、このストローク位置P(xp,yp)に基づいて、ジェスチャーが行われた主たる領域を認識することができる。
たとえば、操作入力パターンが単一のストロークのみを含んでいる場合は、当該ストロークについてのストローク位置P(xp,yp)が、領域T1〜T4のいずれに所属するかを判定し、ストローク位置P(xp,yp)を含む領域をジェスチャーが行われた主たる領域と認定すればよい。また、操作入力パターンが複数のストロークを含んでいる場合は、たとえば、当該複数のストロークのストローク位置P(xp,yp)の重心位置を計算し、当該重心位置を含む領域をジェスチャーが行われた主たる領域と認定すればよい。
なお、ジェスチャーが領域の境界近傍で行われた場合、たとえば、左側のストロークは領域T1に含まれ、右側のストロークは領域T2に含まれる、という状況も起こり得る。このような場合でも、両ストローク位置の重心位置を含む領域をジェスチャーが行われた主たる領域と認定し、操作入力パターンを当該認定領域についてのサンプルパターンと比較する処理を行えば、パターン選択部160Bによる処理が滞ることはない。ただ、より柔軟な対応を採るのであれば、ジェスチャーが行われた両領域のサンプルパターンを参照した選択処理が行われるようにするのが好ましい。その場合には、まず第1に、重心位置を含む領域についてのサンプルパターンと比較する処理を行い、その結果、一致するサンプルパターンが存在しなかった場合には、第2に、いずれかのストロークのストローク位置Pを含む領域についてのサンプルパターンと比較する処理を行う、という選択手順を採るようにすればよい。
なお、図17では、タッチ面を横方向に4分割して、4つの矩形領域T1〜T4を定義しているが、タッチ面の分割方法や分割数は任意である。したがって、縦方向に分割してもよいし、縦横ともに分割するようにしてもよい。もちろん、分割によって得られる各領域の形状も矩形に限定されるものではなく、たとえば、同心円状に分割して、円弧状の領域を形成するようにしてもよい。
また、図示の例のように、タッチパネル装置が長方形のタッチ面を有している場合は、ユーザが縦長状態で利用しているのか、横長状態で利用しているのかを区別するようにすれば、一層正確な操作入力の検知が可能になる。たとえば、図17に示すような長方形のタッチ面をもった装置の場合、同じ分割態様で領域T1〜T4を定義したとしても、図21(a) に示すように横長状態で利用する場合と、図21(b) に示すように縦長状態で利用する場合とでは、同じジェスチャーについて得られる解析パターンは異なるものになる可能性が高い。たとえば、同じ領域T1でも、図21(a) に示すように横長状態で利用すれば最も左側に位置する領域になるが、図21(b) に示すように縦長状態で利用すれば最も上側に位置する領域になるので、ユーザが同じ領域T1でジェスチャーを行ったとしても、利用状態が横長か縦長かによって、実質的には、異なる領域でジェスチャーを行っていることになる。
そこで、タッチパネル装置が長方形のタッチ面を有している場合、サンプルパターン採取部130Bが、このタッチ面を横長状態で利用する横長モードと縦長状態で利用する縦長モードと、について、それぞれ別個独立したサンプルパターンを採取するようにし、サンプルパターン格納部150Bが、横長モードと縦長モードとについて、それぞれ別個独立してサンプルパターンを格納するようにしておけばよい。
具体的には、横長モードの場合は、左から順に、横長T1領域,横長T2領域,横長T3領域,横長T4領域という4つの領域を定義し、縦長モードの場合は、上から順に、縦長T1領域,縦長T2領域,縦長T3領域,縦長T4領域という4つの領域を定義すればよい。この場合、実質的に、8通りの領域について、それぞれサンプルパターンが別個独立して採取されることになる。
なお、横長モードで装置の左右を入れ替えた場合や、縦長モードで装置の上下を入れ替えた場合にも適切な対応を採るため、各領域は、タッチパネルの物理的な特定部分に設定されるのではなく、その時点での空間的位置関係に基づいて設定されるようにしておくのが好ましい。たとえば、「横長T1領域」は、タッチパネルに固有のある特定部分を意味するのではなく、タッチパネルを横長に保持した状態において、一番左側にある領域を意味することになる。
また、この場合、パターン選択部160Bには、現時点のモード(横長モードか縦長モードか)を認識する機能をもたせておき、当該認識モードについてのサンプルパターンとの比較を行うことによりパターン選択を行うことができるようにしておく。モード認識は、ユーザにいずれのモードで使用しているかを入力させることによって行うことも可能であるが、ここに示す実施例では、タッチパネル付ディスプレイ装置30として、重力加速度を検出するセンサ(重力の作用する方向を検出するセンサ)を内蔵した装置を利用しているため、パターン選択部160Bは、このセンサの出力信号に基づいて現時点の装置の姿勢を認識することができ、横長モードで使用中か縦長モードで使用中かを認識することができる。
以上、図18を参照して、領域を特定する変形例を述べたが、もちろん、この変形例に、§3−1で述べたユーザを特定する変形例(図15)を組み合わせることも可能である。この場合、サンプルパターンは、個々のユーザごとに、かつ、個々の領域ごとに、それぞれ別個独立して採取され、サンプルパターン格納部150Bに格納されることになる。また、パターン選択部160Bは、操作入力パターンを、特定のユーザの特定の領域についてのサンプルパターンと比較して、対応するパターンの選択を行うことになる。
<3−3:解析パターンの多様化>
前述した基本的な実施例では、§2−2−4で説明したとおり、パターン決定部124が、各ストロークを、「点ストローク」,「時計まわり曲線ストローク」,「反時計まわり曲線ストローク」,「上方向直線ストローク」,「下方向直線ストローク」,「左方向直線ストローク」,「右方向直線ストローク」という7つの種別のうちのいずれかに分類する処理を行い、その組み合わせにより、1つの解析パターンを当てはめる処理を行っていたが、ストロークの分類種別は必ずしも上記7通りに限定されるわけではなく、よりきめの細かな分類を行うことも可能である。
たとえば、§2−2−4で説明した実施例では、ストローク方位Bに基づいて、「直線ストローク」を、上下左右の4通りの種別に分けた取り扱いを行っているが、「直線ストローク」は、必ずしも上下左右の4通りの種別に分ける必要はなく、一般に、方位の異なる複数W通りの種別に分けて取り扱うことが可能である。
図22は、W=36に設定し、「直線ストローク」をストローク方位Bに基づいて36通りの種別に分類した例を示す平面図である。この分類によれば、「直線ストローク」が、10°単位の細かな向きに応じて細分化されることになる。図の白抜きの矢印は、この36通りの種別を示す記号である。ストローク方位Bは、−180°〜+180°の値をとるパラメータであるから、図22に示す36通りの角度種別の中から、「直線ストローク」のストローク方位Bが示す角度に最も近い角度種別を選ぶことにより、当該「直線ストローク」を36通りの細分化された種別に分類することができる。
もちろん、「曲線ストローク」を細分化することも可能である。§2−2−4で説明した実施例では、ストローク湾曲度Cの符号のみを参照して、「時計まわり曲線ストローク」か「反時計まわり曲線ストローク」かのいずれかに分類しているが、ストローク方位Bを組み合わせることにより、細分化を行うことが可能である。図23は、ストローク方位Bを参照することにより、「曲線ストローク」を合計8通りの種別に分類した例を示す平面図である。図の上段に示す4通りの種別は、いずれも「時計まわり曲線ストローク」であるが、ストローク方位Bによって、「右方向時計まわり曲線ストロークα1」,「下方向時計まわり曲線ストロークα2」,「左方向時計まわり曲線ストロークα3」,「上方向時計まわり曲線ストロークα4」に細分化されている。同様に、図の下段に示す4通りの種別は、いずれも「反時計まわり曲線ストローク」であるが、ストローク方位Bによって、「左方向反時計まわり曲線ストロークβ1」,「上方向反時計まわり曲線ストロークβ2」,「右方向反時計まわり曲線ストロークβ3」,「下方向反時計まわり曲線ストロークβ4」に細分化されている。
図24は、更に、ストローク湾曲度Cの絶対値を考慮した細分化を行った例である。すなわち、図示の種別α1−1,α1−2,α1−3,α1−4は、いずれも図23に示す「右方向時計まわり曲線ストロークα1」に属しているが、ストローク湾曲度Cの絶対値が異なっている。
このように、個々のストロークの種別を細分化すれば、当然、これらストロークによって定義される解析パターンは多様化することになる。特に、複数の指を用いたジェスチャーに対する解析パターンは、複数のストロークの組み合わせによって定義されることになるので、個々のストロークの種別が増えれば、これらの組み合わせによって定義される解析パターンのバリエーションは指数的に増加する。したがって、より精度の高い操作入力の検知が可能になる。
ただ、解析パターンが多様化すると、特定の操作入力パターンに合致するサンプルパターンが見つからないケースが多くなり、パターン選択部160が、エラーの検知結果信号を返すケースが多発する可能性がある。たとえば、§2−2−4で説明した基本的な実施例では、ストローク方位がB=10°でも、B=−20°でも、「直線ストローク」は「右方向直線ストローク」という種別に分類されることになるが、図22に示すような細分化を行った場合、それぞれ別な種別の直線ストロークに分類されてしまうことになる。
たとえば、あるジェスチャーGのサンプルパターン採取時に、左から右へ移動させた指の動きが「ストローク方位B=10°の直線ストローク」と認識され、そのようなストロークを含む解析パターンが、「ジェスチャーGのサンプルパターン」として登録された場合を考える。続いて、同じジェスチャーGの操作入力を行うために、左から右へ指を移動させる動作を行った結果、「ストローク方位B=−20°の直線ストローク」を含む操作入力パターンが認識されたとしよう。この場合、§2−2−4で説明した基本的な実施例では、いずれの直線ストロークも「右方向直線ストローク」という種別に分類されるので、両パターンは合致し、当該操作入力は、問題なく「ジェスチャーG」と検知される。
ところが、図22に示すような細分化を行った場合、「ストローク方位B=10°の直線ストローク」と「ストローク方位B=−20°の直線ストローク」とは別な種別であるため、合致するサンプルパターンは見つからない。そのため、パターン選択部160は、合致するパターンを選択することができず、エラーを示す検知結果信号を出力せざるを得なくなる。実際、図22に示すように、ストローク方位Bを10°単位で細分化して種別を定めた場合、かなりの頻度でエラーを示す検知結果信号が出力されることになろう。
そこで、ストローク特性を細分化する運用を行う場合は、パターン選択部160が、採取された操作入力パターンに合致するサンプルパターンがサンプルパターン格納部内に存在しない場合には、操作入力パターンに含まれるストロークの特性に近似した特性をもったストロークを含む近似サンプルパターンを選択するようにすればよい。
たとえば、上例の場合、「方位B=−20°の直線ストローク」を含むサンプルパターンが存在しない場合には、まず、方位Bを10°だけ増減し、「方位B=−10°もしくは−30°の直線ストローク」を含むサンプルパターンを近似サンプルパターンとして選択するようにし、そのような近似サンプルパターンも存在しない場合には、方位Bを20°だけ増減し、「方位B=0°もしくは−40°の直線ストローク」を含むサンプルパターンを近似サンプルパターンとして選択するようにし、そのような近似サンプルパターンも存在しない場合には、方位Bを30°だけ増減し、「方位B=10°もしくは−50°の直線ストローク」を含むサンプルパターンを近似サンプルパターンとして選択する、というように、近似範囲を徐々に広げた判定を行うようにすればよい。そうすれば、合致するサンプルパターンがない場合には、できるだけ近似度の高いサンプルパターンが近似サンプルパターンとして選択されることになる。もちろん、近似範囲の限界を、たとえば±30°と定めておき、その範囲内の近似サンプルパターンがみつからない場合は、近似サンプルパターンなしとして、エラー信号を返すようにすればよい。
このように、パターン選択の際に、完全に合致したサンプルパターンが存在しない場合には、近似したサンプルパターンを選択することにより、サンプルパターン採取時とは多少異なったジェスチャー動作を行った場合でも、有効な操作入力として検知できる運用を行うことができるようになる。
<3−4:ジェスチャー動作の多様化>
前述した基本的な実施例では、§2−3で説明したとおり、サンプルパターン採取部130が、図11に示す6通りのジェスチャー動作について、それぞれサンプルパターンを登録する処理を行う例を述べたが、もちろん、実際には、必要に応じて、この他にも様々なジェスチャー動作を登録することができる。もちろん、1本の指を用いたジェスチャーや3本以上の指を用いたジェスチャーを登録することも可能である。
図25に示すジェスチャーG11〜G18は、2本指を用いたジェスチャーのバリエーションである。ジェスチャーG11〜G14は、2本指を互いに遠ざけるように移動させるジェスチャーであり、たとえば、対象物を拡大表示させる操作入力を示すジェスチャーとして利用することができる。一方、ジェスチャーG15〜G18は、2本指を互いに近づけるように移動させるジェスチャーであり、たとえば、対象物を縮小表示させる操作入力を示すジェスチャーとして利用することができる。ジェスチャーG11〜G14や、ジェスチャーG15〜G18は、それぞれ指の移動方向が異なるバリエーションであり、この移動方向のバリエーションによって、それぞれ異なる操作入力を行うことが可能である。
<3−5:選択履歴を考慮する変形例>
図26は、本発明の更に別な変形例に係るタッチパネルを用いた操作入力検知装置の構成を示すブロック図である。図1に示す基本的実施形態との相違点は、デジタル処理ユニット100の代わりに、デジタル処理ユニット100Cが用いられている点である。デジタル処理ユニット100Cの大きな特徴は、デジタル処理ユニット100に、履歴格納部190を付加した点である。
履歴格納部190は、検知結果出力部170が過去に出力した検知結果の履歴を格納する機能をもった構成要素である。検知結果出力部170は、パターン選択部160Cで選択されたサンプルパターンに対応するジェスチャーを示す情報を、操作入力の検知結果を示す検知結果信号として外部へ出力する機能を有している。そこで、履歴格納部190は、検知結果出力部170が検知結果信号を出力するたびに、その履歴を格納する処理を行う。
このような履歴は、§3−3の解析パターンを多様化する変形例で述べたように、パターン選択部160Cが、近似サンプルパターンを選択する際に役立てることができる。すなわち、解析パターンを多様化したために、サンプルパターン格納部150内に合致するサンプルパターンが格納されていなかった場合、パターン選択部160Cは、操作入力パターンに含まれるストロークの特性に近似した特性をもったストロークを含む近似サンプルパターンを選択することができるが、その際に、履歴格納部190に格納されている履歴を参照し、過去の選択頻度が高いサンプルパターンほど、より近似するサンプルパターンとする判断を行うことができる。
たとえば、§3−3では、「ストローク方位B=10°の直線ストローク」を含む解析パターンが「ジェスチャーGのサンプルパターン」として登録されていた場合に、「方位B=−20°の直線ストローク」を含む操作入力パターンが与えられた場合の選択方法を述べた。この場合、「方位B=−20°の直線ストローク」に対して、たとえば、方位Bが±30°以内となる直線ストロークを近似ストロークと定義し、そのような近似ストロークを含むサンプルパターンのうち、過去の選択頻度が最も高いサンプルパターンを、近似度が最も高いサンプルパターンとして取り扱い、これを近似サンプルパターンとして選択する処理を行えばよい。
一般に、ユーザは、同じ操作入力を繰り返し与える傾向にあるので、近似度を過去の履歴を参照して決定するようにすれば、より妥当な判断が可能になる。
<3−6:短いストロークを無視する変形例>
これまで述べた基本的な実施例では、§2−2−2で述べたとおり、図4の代表点データ格納部121に格納されている解析対象となる一群の代表点データに基づいて、同一の指の動きを示す複数の代表点の集合体からなるストロークの認識が行われる。しかしながら、このような方法で認識されるストロークは、必ずしもユーザの指の軌跡を示す正しいストロークになるとは限らない。
一応、図3のグラフに示すとおり、接触度が所定の基準値Th未満となる検出値については、代表点Qの認識が行われることはないが、何らかのノイズ成分がたまたま基準値Th以上の検出値を生じさせたり、ユーザの意図に反して、たまたま小指などの無関係な指が誤ってタッチ面に触れてしまったりすると、無用な代表点Qが認識され、このような代表点Qに基づいて、無用なストロークが認識されてしまうことになる。
このような現象が生じると、たとえば、ユーザが2本指のジェスチャーを行っているのに、3つのストロークが認識され、採取された操作入力パターンは、3つのストロークを含むパターンとして取り扱われることになる。その結果、パターン選択部は、採取された操作入力パターンに合致する、もしくは近似するサンプルパターンを選択することができなくなる。
そこで、パターン選択部が、採取された操作入力パターンに合致するもしくは近似するサンプルパターンを選択することができない場合には、当該操作入力パターンに含まれる複数のストロークのうち、ストローク長Lの最も短いストロークを削除した修正操作入力パターンを作成し、この修正操作入力パターンに合致するサンプルパターンを選択するようにすればよい。ストローク長Lの短いストロークは、ノイズやユーザの誤操作によって生じた無用なストロークである可能性が高いため、ストローク長Lの短いストロークを削除することにより、無用なストロークを無視した取り扱いができるようになる。
<<< §4.具体的なデータ解析の例 >>>
ここでは、実際にユーザがジェスチャー動作を行うことにより得られた代表点データの測定例と、この代表点データを解析することにより得られたパターンの例を示しておく。
図27は、2本指を上から下にスライドさせるジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表である。この代表点データは、図4に示す代表点データ格納部121に格納された実データに相当する。この表の左側の4列に示すデータは、第1のストロークS1を構成する代表点のデータであり、右側の4列に示すデータは、第2のストロークS2を構成する代表点のデータである。具体的には、timeの欄のデータは、時刻t(単位ms)を示しており、X,Y,Ampの欄のデータは、それぞれ代表点のX座標値,Y座標値,そして強度値を示している。この表では、第1のストロークS1のデータ(左半分)と第2のストロークS2のデータ(右半分)とを、時刻tを揃えて掲載している。したがって、表の同一行に記載されている代表点データは、同一時刻における指の接触情報を示すことになる。
図28は、図27に示す代表点データを解析することにより得られた解析パターンを示す平面図である。図示のとおり、この解析パターンは、上から下に向かう第1のストロークS1を左側に配置し、上から下に向かう第2のストロークS2を右側に配置したパターンである。パターン解析部120では、既に述べたとおり、各ストロークS1,S2について特性を示すパラメータ値を算出し、このパラメータ値に基づいて、各ストロークをいくつかの種別に分類することになる。図27の表の下欄には、ストロークS1,S2について算出されたストローク長L,ストローク方位B,ストローク湾曲度Cの具体的な数値が示されている。これらの数値は、表に掲載された代表点データを用いて、図8に示す演算式に基づく演算を行うことにより得られたものである。
ここでは、ストローク長Lの基準値Lthを、Lth=1に設定し、ストローク湾曲度の基準値Cthを、Cth=15に設定している。したがって、図9に示すパターン決定処理では、ステップS13において、L<1の場合は点ストロークとの認識がなされる。また、線ストロークとの認識がなされた場合は、ステップS15において、|C|<15の場合は直線ストロークとの認識がなされる。図27に示す例の場合、ストロークS1,S2は、いずれもL>1であるから、線ストロークと認識され、いずれも|C|<15であるから、直線ストロークと認識される。そして、ステップS19において、方位Bの値に基づいて、「下方向」との決定がなされ、ステップS20において、いずれのストロークに対しても「下方向直線ストローク」なる種別が決定される。かくして、最終的には、ステップS23において、「左側の下方向直線ストローク+右側の下方向直線ストローク」なる解析パターン(図14のサンプルパターンSP(G2))が決定される。
一方、図29は、2本指を左から右にスライドさせるジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表であり、図30は、図29に示す代表点データを解析することにより得られた解析パターンを示す平面図である。図示のとおり、この解析パターンは、左から右に向かう第1のストロークS1を下側に配置し、左から右に向かう第2のストロークS2を上側に配置したパターンである。やはり図29の表の下欄には、これらのストロークについて算出された各パラメータ値が示されている。
この例の場合も、ストロークS1,S2は、いずれもL>1であるから、線ストロークと認識され、いずれも|C|<15であるから、直線ストロークと認識される。そして、ステップS19において、方位Bの値に基づいて、「右方向」との決定がなされ、ステップS20において、いずれのストロークに対しても「右方向直線ストローク」なる種別が決定される。かくして、最終的には、ステップS23において、「上側の右方向直線ストローク+下側の右方向直線ストローク」なる解析パターン(図14のサンプルパターンSP(G4))が決定される。
また、図31は、2本指を共に時計まわりに回転させるジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表であり、図32は、図31に示す代表点データを解析することにより得られた解析パターンを示す平面図である。図示のとおり、この解析パターンは、上から下に向かう第1のストロークS1を右側に配置し、下から上に向かう第2のストロークS2を左側に配置したパターンである。やはり図31の表の下欄には、これらのストロークについて算出された各パラメータ値が示されている。
この例の場合も、ストロークS1,S2は、いずれもL>1であるから、線ストロークと認識される。ただ、湾曲度Cに関しては、いずれも|C|>15であるから、曲線ストロークと認識される。そして、ステップS17において、いずれも湾曲度Cが負の値を示しているため、湾曲方向は時計まわりとの決定がなされ、ステップS20において、いずれのストロークに対しても「時計まわり曲線ストローク」なる種別が決定される。かくして、最終的には、ステップS23において、「左側の時計まわり曲線ストローク+右側の時計まわり曲線ストローク」なる解析パターン(図13のサンプルパターンSP(G5))が決定される。
最後の図33は、2本指を共に反時計まわりに回転させるジェスチャーを行った場合に得られた具体的な代表点データの一例を示す表であり、図34は、図33に示す代表点データを解析することにより得られた解析パターンを示す平面図である。図示のとおり、この解析パターンは、ほぼ同位置に留まる第1のストロークS1を右側に配置し、上から下に向かう第2のストロークS2を左側に配置したパターンである。やはり図33の表の下欄には、これらのストロークについて算出された各パラメータ値が示されている。
この例の場合、ストロークS2は、L>1であるから、線ストロークと認識されるが、ストロークS1は、L<1であるから、点ストロークと認識されることになる。また、線ストロークと認識されたストロークS2の湾曲度Cは、|C|>15であるから、曲線ストロークと認識され、湾曲度Cは正の値を示しているため、湾曲方向は反時計まわりとの決定がなされる。そこで、ステップS20において、ストロークS1に対しては「点ストローク」なる種別が決定され、ストロークS2に対しては「反時計まわり曲線ストローク」なる種別が決定される。かくして、最終的には、ステップS23において、「左側の反時計まわり曲線ストローク+右側の点ストローク」なる解析パターン(図13のサンプルパターンSP(G6))が決定される。
<<< §5.本発明に係る操作入力検知方法の基本手順 >>>
最後に、本発明に係る操作入力検知方法の基本手順を述べておく。この方法は、タッチ面に対するユーザの指の接触状態を検知するタッチパネル装置と、ユーザに提示する情報を表示するディスプレイ装置と、が接続されたコンピュータによって、ユーザのタッチパネル装置に対する操作入力を検知する方法ということになり、これまで述べてきた本発明に係る操作入力検知装置を用いて行われる。
図35は、この操作入力検知方法の手順を示す流れ図である。図示のとおり、この手順は、予めユーザのサンプル操作を登録する準備段階(ステップS31〜S33)と、ユーザの実操作入力を受け付けてこれを検知する検知段階(ステップS34〜S38)とによって構成される。
ここで、準備段階では、コンピュータが、ディスプレイ装置の画面上にタッチ面上で所定のジェスチャーを行う旨の指示を表示し、当該指示に基づくユーザのジェスチャー動作によってタッチパネル装置から得られる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する段階(ステップS31)と、コンピュータが、代表点の時間的変遷に基づいて、接触状態の時間的な変化態様を解析し、その結果をジェスチャーに対応するサンプルパターンとして採取する段階(ステップS32)とが行われ、これらの各段階を、複数m通りのジェスチャーについて実行し(ステップS33)、個々のジェスチャーに対応するサンプルパターンを採取する処理が行われる。
一方、検知段階では、コンピュータが、実操作入力の検知が必要なときに、タッチパネル装置から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する段階(ステップS34)と、コンピュータが、代表点の時間的変遷に基づいて、接触状態の時間的な変化態様を解析し、その結果を実操作入力に対応する操作入力パターンとして採取する段階(ステップS35)と、コンピュータが、採取された操作入力パターンを、準備段階で採取した複数m通りのサンプルパターンと比較し、合致もしくは近似したサンプルパターンを選択する段階(ステップS36)と、コンピュータが、選択されたサンプルパターンに対応する操作入力がなされた旨を検知する段階(ステップS37)と、が行われ、必要に応じて、これらの段階が繰り返し実行される(ステップS38)。
なお、§3−1にユーザを特定する変形例として述べたとおり、準備段階で、コンピュータが、複数のユーザについてそれぞれ別個独立したサンプルパターンを採取する処理を行い、検知段階で、コンピュータが、現在利用中のユーザを特定し、当該ユーザについてのサンプルパターンとの比較を行うことによりパターン選択を行うようにすれば、ユーザに固有の特徴をそれぞれ考慮した正確な操作入力の検知が可能になる。
また、§3−2に領域を特定する変形例として述べたとおり、準備段階で、コンピュータが、タッチパネル装置のタッチ面を分割することによって得られる複数の領域について、それぞれ別個にジェスチャーを行う旨の指示を表示し、個々の領域ごとにそれぞれサンプルパターンを採取する処理を行い、検知段階で、コンピュータが、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことによりパターン選択を行うようにすれば、ジェスチャーが行われた領域を考慮した正確な操作入力の検知が可能になる。
10:タッチパネル装置
20:ディスプレイ装置
30:タッチパネル付ディスプレイ装置
100,100A,100B,100C:デジタル処理ユニット
110:代表点認識部
120:パターン解析部
121:代表点データ格納部
122:ストローク認識部
123:特性認識部
124:パターン決定部
130,130A,130B:サンプルパターン採取部
140:操作入力パターン搾取部
150,150A,150B:サンプルパターン格納部
160,160A,160B,160C:パターン選択部
170:検知結果出力部
180:ユーザ特定部
190:履歴格納部
200:外部ユニット
A1,A2:接触領域
a11〜a29:強度値
B:ストローク方位
C:ストローク湾曲度
Cth:ストローク湾曲度の基準値
d:距離の基準値
d1〜d7:2点間の距離
dx,dy:格子線ピッチ
E:包絡面
G1〜G18:ジェスチャー
H(x,y):格子点
i,j:番号を示すパラメータ
L:ストローク長
Lth:ストローク長の基準値
n:1つのストロークに含まれる代表点の数
O:座標系の原点
P:ストローク位置
PT(A)〜PT(E):解析パターン
Q1,Q2,... ,Q29:代表点
i−2,Qi−1,Q:代表点
S1,S2,S:ストローク
S11〜S38:流れ図の各ステップ
SP:サンプルパターン
T1〜T4:領域
Th:接触度の基準値
t1〜t9:時刻
U,Ua,Ub,Uc:ユーザ識別コード
i−1,V:ベクトル
W:方位ベクトル
X:座標軸
x1,x2,... ,x29:代表点のX座標値
i−2,xi−1,x:代表点のX座標値
xp:ストローク位置PのX座標値
Y:座標軸
y1,y2,... ,y29:代表点のY座標値
i−2,yi−1,y:代表点のY座標値
:格子線のY座標値
yp:ストローク位置PのY座標値
α1〜α4:曲線ストロークの種別
α1−1〜α1−4:曲線ストロークの種別
β1〜β4:曲線ストロークの種別
θ,θ:方位角
φ,φ:変位角

Claims (29)

  1. タッチ面に対するユーザの指の接触状態を検知するタッチパネル装置と、ユーザに提示する情報を表示するディスプレイ装置と、デジタル処理ユニットと、を備え、
    前記デジタル処理ユニットは、
    前記タッチパネル装置から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する代表点認識部と、
    前記代表点認識部の認識結果に基づいて、接触状態の時間的な変化態様を解析して解析パターンを得るパターン解析部と、
    前記ディスプレイ装置の画面上に前記タッチ面上で複数m通りのジェスチャーを行う旨の指示を表示し、当該指示に基づくユーザのm通りのジェスチャー動作について前記パターン解析部によって得られた各解析パターンを、それぞれサンプルパターンとして採取するサンプルパターン採取部と、
    第k番目(1≦k≦m)のジェスチャーを行う旨の指示を表示したときに採取された解析パターンを、第k番目のジェスチャーに対応するサンプルパターンとして格納するサンプルパターン格納部と、
    外部から操作入力の検知を要求する検知要求信号が与えられた後に、前記パターン解析部によって得られた解析パターンを操作入力パターンとして採取する操作入力パターン採取部と、
    採取された操作入力パターンを、前記サンプルパターン格納部に格納されている複数m通りのサンプルパターンと比較し、合致もしくは近似したサンプルパターンを選択するパターン選択部と、
    前記パターン選択部で選択されたサンプルパターンに対応するジェスチャーを示す情報を、操作入力の検知結果を示す検知結果信号として外部へ出力する検知結果出力部と、
    を備え、
    前記サンプルパターン採取部が、前記タッチパネル装置のタッチ面を分割することによって得られる複数の領域について、それぞれ別個にジェスチャーを行う旨の指示を表示し、個々の領域ごとにそれぞれサンプルパターンを採取し、
    前記サンプルパターン格納部が、前記個々の領域ごとにそれぞれ別個独立したサンプルパターンを格納し、
    前記パターン選択部が、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことによりパターン選択を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  2. 請求項1に記載の操作入力検知装置において、
    デジタル処理ユニットが、現在利用中のユーザを特定する情報を入力しこれを保存するユーザ特定部を更に備え、
    サンプルパターン採取部が、前記ユーザ特定部によって特定されたユーザごとにそれぞれ独立してサンプルパターンを採取し、
    サンプルパターン格納部が、前記ユーザ特定部によって特定されたユーザごとにそれぞれ独立してサンプルパターンを格納し、
    パターン選択部が、前記ユーザ特定部によって特定されたユーザについてのサンプルパターンとの比較を行うことによりパターン選択を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  3. 請求項1または2に記載の操作入力検知装置において、
    タッチパネル装置が長方形のタッチ面を有しており、
    サンプルパターン採取部が、前記タッチ面を横長状態で利用する横長モードと、前記タッチ面を縦長状態で利用する縦長モードと、について、それぞれ別個独立したサンプルパターンを採取し、
    サンプルパターン格納部が、前記横長モードと前記縦長モードとについて、それぞれ別個独立してサンプルパターンを格納し、
    パターン選択部が、現時点のモードを認識する機能を有し、当該認識モードについてのサンプルパターンとの比較を行うことによりパターン選択を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  4. 請求項3に記載の操作入力検知装置において、
    タッチパネル装置が重力加速度を検出するセンサを有し、
    パターン選択部が、前記センサの出力信号に基づいて現時点のモードを認識する機能を有することを特徴とするタッチパネルを用いた操作入力検知装置。
  5. 請求項1〜4のいずれかに記載の操作入力検知装置において、
    タッチパネル装置が、タッチ面上の個々の位置について指の接触度を示す信号を出力し、
    代表点認識部が、前記接触度が所定の基準値以上の値を示す前記タッチ面上の閉領域を接触領域と認識し、「前記接触領域内で接触度がピークとなる位置」もしくは「タッチ面を水平面とし、接触度を高さ方向にとった座標系において、接触領域上に形成される山の重心位置」を代表点と認識することを特徴とするタッチパネルを用いた操作入力検知装置。
  6. 請求項1〜5のいずれかに記載の操作入力検知装置において、
    代表点認識部が、各接触領域について、タッチ面上に定義された二次元XY座標系における代表点の座標値(x,y)および現在時刻tを認識し、値(x,y,t)を含む代表点データを所定の時間間隔で出力し、
    パターン解析部が、前記代表点データに基づいて、解析パターンを得ることを特徴とするタッチパネルを用いた操作入力検知装置。
  7. 請求項6に記載の操作入力検知装置において、
    タッチパネル装置が、タッチ面上の個々の位置について指の接触度を示す信号を出力し、
    代表点認識部が、各接触領域について、更に「接触領域内の接触度のピーク値」もしくは「タッチ面を水平面とし、接触度を高さ方向にとった座標系において、接触領域上に形成される山の体積」を前記接触領域の強度値aと認識し、値(x,y,a,t)を含む代表点データQ(x,y,a,t)を所定の時間間隔で出力し、
    パターン解析部が、前記代表点データQ(x,y,a,t)に基づいて、解析パターンを得ることを特徴とするタッチパネルを用いた操作入力検知装置。
  8. 請求項7に記載の操作入力検知装置において、
    パターン解析部が、値aが所定の基準値以上の代表点データQ(x,y,a,t)のみに基づいてパターンの解析を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  9. 請求項6〜8のいずれかに記載の操作入力検知装置において、
    パターン解析部が、
    代表点データを格納する代表点データ格納部と、
    前記代表点データに基づいて、同一の指の動きを示す複数の代表点の集合体からなるストロークを認識するストローク認識部と、
    前記ストローク認識部によって認識された個々のストロークの特性を認識する特性認識部と、
    前記ストローク認識部および前記特性認識部による認識結果に基づいて、固有の特性をもった1つのストロークもしくは複数のストロークの組み合わせを1つのパターンに対応づけることにより、解析パターンを決定するパターン決定部と、
    を有することを特徴とするタッチパネルを用いた操作入力検知装置。
  10. 請求項9に記載の操作入力検知装置において、
    ストローク認識部が、代表点認識部から出力された時間的に連続した一群の代表点データに基づいて、第i番目の時刻tに得られた代表点と第(i−1)番目の時刻ti−1に得られた代表点との距離が所定の基準以下となる2つの代表点を同一のストロークに所属する代表点と認識することにより、ストロークの認識を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  11. 請求項9または10に記載の操作入力検知装置において、
    特性認識部が、少なくとも、1つのストロークを構成する複数の代表点を時系列に沿った順番で連結した場合の連結線の長さの総和を示すストローク長Lと、ストロークの湾曲の程度を示すストローク湾曲度Cとを、当該ストロークの特性を示す値として算出することを特徴とするタッチパネルを用いた操作入力検知装置。
  12. 請求項11に記載の操作入力検知装置において、
    特性認識部が、合計n個の代表点の集合体からなるストロークについて、第i番目の代表点Qの座標値を(x,y)とし、第(i−1)番目の代表点Qi−1の座標値を(xi−1,yi−1)とし、代表点Qi−1から代表点Qへ向かうベクトルをV、第(i−2)番目の代表点Qi−2から代表点Qi−1へ向かうベクトルをVi−1とし、ベクトルVがベクトルVi−1に対してなす角度を変位角φとしたときに、
    L=Σ i=2〜n ((x−xi−1+(y−yi−11/2
    C=Σ i=3〜n ((x−xi−1+(y−yi−11/2・φ
    /Σ i=3〜n ((x−xi−1+(y−yi−11/2
    なる演算によって、ストローク長Lおよびストローク湾曲度Cを算出することを特徴とするタッチパネルを用いた操作入力検知装置。
  13. 請求項11または12に記載の操作入力検知装置において、
    パターン決定部が、ストローク長Lおよびストローク湾曲度Cに基づいて各ストロークを複数の種別に分類し、特定の種別もしくはその組み合わせに対して特定の解析パターンを対応させることにより、解析パターンを決定することを特徴とするタッチパネルを用いた操作入力検知装置。
  14. 請求項13に記載の操作入力検知装置において、
    パターン決定部が、ストローク長Lが所定の基準値Lth未満のストロークを「点ストローク」なる種別に分類し、ストローク長Lが前記基準値Lth以上のストロークを「線ストローク」とし、「線ストローク」のうち、湾曲度Cの絶対値が所定の基準値Cth未満のストロークを「直線ストローク」なる種別に分類し、「線ストローク」のうち、湾曲度Cの絶対値が前記基準値Cth以上のストロークを「曲線ストローク」なる種別に分類し、「点ストローク」、「直線ストローク」、「曲線ストローク」なる種別もしくはこれらの組み合わせに対してそれぞれ特定の解析パターンを対応づけることにより、解析パターンの決定を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  15. 請求項14に記載の操作入力検知装置において、
    ストロークが時計まわりに回転する場合と反時計まわりに回転する場合とで、互いに符号が異なるようにストローク湾曲度Cを定め、
    パターン決定部が、ストローク湾曲度Cの符号に基づいて、「曲線ストローク」なる種別を、更に「時計まわり曲線ストローク」と「反時計まわり曲線ストローク」との2通りの種別に分けて取り扱い、パターンの決定を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  16. 請求項14または15に記載の操作入力検知装置において、
    特性認識部が、更に、XY平面上でのストローク全体の方位を示すストローク方位Bを、当該ストロークの特性を示す値として算出することを特徴とするタッチパネルを用いた操作入力検知装置。
  17. 請求項16に記載の操作入力検知装置において、
    特性認識部が、合計n個の代表点の集合体からなるストロークについて、第(i−1)番目の代表点Qi−1から第i番目の代表点Qへ向かうベクトルVが所定の基準座標軸に対してなす角度を方位角θとしたときに、
    B=Σ i=2〜n ((x−xi−1+(y−yi−11/2・θ
    /Σ i=2〜n ((x−xi−1+(y−yi−11/2
    なる演算によって、ストローク方位Bを算出することを特徴とするタッチパネルを用いた操作入力検知装置。
  18. 請求項16または17に記載の操作入力検知装置において、
    パターン決定部が、ストローク方位Bに基づいて、「直線ストローク」なる種別を、更に、方位の異なる複数W通りの種別に分けて取り扱い、パターンの決定を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  19. 請求項14〜18のいずれかに記載の操作入力検知装置において、
    特性認識部が、更に、XY平面上でのストロークの位置を示すストローク位置Pを、当該ストロークの特性を示す値として算出することを特徴とするタッチパネルを用いた操作入力検知装置。
  20. 請求項19に記載の操作入力検知装置において、
    特性認識部が、合計n個の代表点の集合体からなるストロークについて、第i番目の代表点Qの座標値を(x,y)とし、第(i−1)番目の代表点Qi−1の座標値を(xi−1,yi−1)としたときに、
    xp=Σ i=2〜n ((x−xi−1+(y−yi−11/2・x
    /Σ i=2〜n ((x−xi−1+(y−yi−11/2
    yp=Σ i=2〜n ((x−xi−1+(y−yi−11/2・y
    /Σ i=2〜n ((x−xi−1+(y−yi−11/2
    なる演算によって、ストローク位置P(xp,yp)の座標値を算出することを特徴とするタッチパネルを用いた操作入力検知装置。
  21. 請求項19または20に記載の操作入力検知装置において、
    パターン決定部が、複数のストロークを含むパターンに対しては、ストローク位置Pを参照することにより相互位置関係を把握し、相互位置関係が異なるパターンを区別してパターンの決定を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  22. 請求項9〜21のいずれかに記載の操作入力検知装置において、
    パターン選択部が、採取された操作入力パターンに合致するサンプルパターンが存在しない場合に、前記操作入力パターンに含まれるストロークの特性に近似した特性をもったストロークを含む近似サンプルパターンを選択することを特徴とするタッチパネルを用いた操作入力検知装置。
  23. 請求項22に記載の操作入力検知装置において、
    デジタル処理ユニットが、検知結果出力部が過去に出力した検知結果の履歴を格納する履歴格納部を更に備え、
    パターン選択部が、近似サンプルパターンを選択する際に、前記履歴を参照し、過去の選択頻度が高いサンプルパターンほど、より近似するサンプルパターンとする判断を行うことを特徴とするタッチパネルを用いた操作入力検知装置。
  24. 請求項11〜21のいずれかに記載の操作入力検知装置において、
    パターン選択部が、採取された操作入力パターンに合致するもしくは近似するサンプルパターンが存在しない場合に、前記操作入力パターンに含まれる複数のストロークのうち、ストローク長Lの最も短いストロークを削除した修正操作入力パターンを作成し、前記修正操作入力パターンに合致するサンプルパターンを選択することを特徴とするタッチパネルを用いた操作入力検知装置。
  25. 請求項1〜24のいずれかに記載の操作入力検知装置において、
    タッチパネル装置およびディスプレイ装置を、表示画面がタッチ面を構成するタッチパネル付ディスプレイ装置によって構成したことを特徴とするタッチパネルを用いた操作入力検知装置。
  26. 請求項1〜25のいずれかに記載の操作入力検知装置と、
    当該操作入力検知装置に対して検知要求信号を与えるとともに、当該操作入力検知装置から検知結果信号の出力を受ける機能をもった外部ユニットと、
    を備えることを特徴とする電子機器。
  27. 請求項1〜24のいずれかに記載の操作入力検知装置におけるデジタル処理ユニットとしてコンピュータを機能させるプログラム。
  28. タッチ面に対するユーザの指の接触状態を検知するタッチパネル装置と、ユーザに提示する情報を表示するディスプレイ装置と、が接続されたコンピュータによって、ユーザの前記タッチパネル装置に対する操作入力を検知する方法であって、
    予めユーザのサンプル操作を登録する準備段階と、ユーザの実操作入力を受け付けてこれを検知する検知段階と、によって構成され、
    前記準備段階では、
    コンピュータが、前記ディスプレイ装置の画面上に前記タッチ面上で所定のジェスチャーを行う旨の指示を表示し、当該指示に基づくユーザのジェスチャー動作によって前記タッチパネル装置から得られる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する段階と、
    コンピュータが、前記代表点の時間的変遷に基づいて、接触状態の時間的な変化態様を解析し、その結果を前記ジェスチャーに対応するサンプルパターンとして採取する段階と、
    を複数m通りのジェスチャーについて実行し、個々のジェスチャーに対応するサンプルパターンを採取する処理が行われ、
    前記検知段階では、
    コンピュータが、実操作入力の検知が必要なときに、前記タッチパネル装置から与えられる検知信号に基づいて、ユーザの指の接触領域の代表位置を示す代表点の時間的変遷を認識する段階と、
    コンピュータが、前記代表点の時間的変遷に基づいて、接触状態の時間的な変化態様を解析し、その結果を前記実操作入力に対応する操作入力パターンとして採取する段階と、
    コンピュータが、採取された操作入力パターンを、前記準備段階で採取した複数m通りのサンプルパターンと比較し、合致もしくは近似したサンプルパターンを選択する段階と、
    コンピュータが、選択されたサンプルパターンに対応する操作入力がなされた旨を検知する段階と、
    が行われ、
    前記準備段階で、コンピュータが、前記タッチパネル装置のタッチ面を分割することによって得られる複数の領域について、それぞれ別個にジェスチャーを行う旨の指示を表示し、個々の領域ごとにそれぞれサンプルパターンを採取する処理を行い、
    前記検知段階で、コンピュータが、ジェスチャーが行われた主たる領域を認識し、当該認識領域についてのサンプルパターンとの比較を行うことによりパターン選択を行うことを特徴とするタッチパネルを用いた操作入力検知方法。
  29. 請求項28に記載の操作入力検知方法において、
    準備段階で、コンピュータが、複数のユーザについてそれぞれ別個独立したサンプルパターンを採取する処理を行い、
    検知段階で、コンピュータが、現在利用中のユーザを特定し、当該ユーザについてのサンプルパターンとの比較を行うことによりパターン選択を行うことを特徴とするタッチパネルを用いた操作入力検知方法。
JP2011066350A 2011-03-24 2011-03-24 タッチパネルを用いた操作入力検知装置 Active JP5682394B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011066350A JP5682394B2 (ja) 2011-03-24 2011-03-24 タッチパネルを用いた操作入力検知装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066350A JP5682394B2 (ja) 2011-03-24 2011-03-24 タッチパネルを用いた操作入力検知装置

Publications (2)

Publication Number Publication Date
JP2012203563A JP2012203563A (ja) 2012-10-22
JP5682394B2 true JP5682394B2 (ja) 2015-03-11

Family

ID=47184532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066350A Active JP5682394B2 (ja) 2011-03-24 2011-03-24 タッチパネルを用いた操作入力検知装置

Country Status (1)

Country Link
JP (1) JP5682394B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5843693B2 (ja) * 2012-05-18 2016-01-13 三菱電機株式会社 タッチパネル装置
US20140118270A1 (en) * 2012-10-26 2014-05-01 Qualcomm Incorporated System and method for providing infrared gesture interaction on a display
JP2014130385A (ja) * 2012-12-27 2014-07-10 Tokai Rika Co Ltd タッチ操作型入力装置
JP6058118B2 (ja) 2013-02-27 2017-01-11 アルプス電気株式会社 操作検知装置
JP2014222840A (ja) 2013-05-14 2014-11-27 船井電機株式会社 映像表示装置の遠隔操作方法及び遠隔操作システム
JP6322029B2 (ja) * 2014-03-31 2018-05-09 株式会社メガチップス ジェスチャー検出装置、ジェスチャー検出装置の動作方法および制御プログラム
CN105094301A (zh) * 2014-05-16 2015-11-25 中兴通讯股份有限公司 一种控制方法、装置及电子设备
JP6278888B2 (ja) * 2014-12-22 2018-02-14 アルプス電気株式会社 入力装置とその制御方法及びプログラム
JP6559045B2 (ja) * 2015-10-29 2019-08-14 キヤノン株式会社 情報処理装置、方法、コンピュータプログラム及び記憶媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114621A (ja) * 1993-10-15 1995-05-02 Hitachi Ltd ジェスチャ認識方法およびそれを用いたジェスチャ認識装置
JP2743854B2 (ja) * 1995-02-14 1998-04-22 日本電気株式会社 入力時間判定機能付き入力装置
JPH0950235A (ja) * 1995-08-10 1997-02-18 Zanavy Informatics:Kk 車載情報装置
JP4803883B2 (ja) * 2000-01-31 2011-10-26 キヤノン株式会社 位置情報処理装置及びその方法及びそのプログラム。
JP2005221576A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd 書き順学習システム、書き順判定プログラム、および、書き順学習方法
JP2008246041A (ja) * 2007-03-30 2008-10-16 Kenwood Corp ゲームシステム、読取機器およびゲーム用操作コマンドの生成方法
JP2009163482A (ja) * 2008-01-04 2009-07-23 Sharp Corp 認証装置、認証方法、コンピュータを認証装置として機能させるためのプログラムおよび記録媒体
US8543946B2 (en) * 2009-06-29 2013-09-24 Sharp Laboratories Of America, Inc. Gesture-based interface system and method

Also Published As

Publication number Publication date
JP2012203563A (ja) 2012-10-22

Similar Documents

Publication Publication Date Title
JP5682394B2 (ja) タッチパネルを用いた操作入力検知装置
TWI496041B (zh) 二維觸碰感測器
JP5556270B2 (ja) 候補表示装置および候補表示方法
EP1507192B1 (en) Detection of a dwell gesture by examining parameters associated with pen motion
JP5604279B2 (ja) ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体
KR100327209B1 (ko) 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
US20130120282A1 (en) System and Method for Evaluating Gesture Usability
TWI471776B (zh) 用於決定有角度之接觸幾何形狀的方法及計算裝置
TWI584164B (zh) 在多點觸控裝置上模擬壓感
US20080134078A1 (en) Scrolling method and apparatus
US8420958B2 (en) Position apparatus for touch device and position method thereof
US8743061B2 (en) Touch sensing method and electronic device
JP5565320B2 (ja) 情報処理装置及び情報処理プログラム
TW200941314A (en) Touch sensor device and pointing coordinate determination method thereof
KR20090060888A (ko) 적응형 온 스크린 키보드 제공 장치 및 그 제공 방법
TWI669650B (zh) 判定觸控及力量感測表面上之觸控位置及其力量
CN103577101B (zh) 基于多点触摸的绘图输入方法和设备
KR20160097410A (ko) 동작 인식을 통한 비접촉식 입력 인터페이스 제공 방법 및 그 장치
US10228798B2 (en) Detecting method of touch system for avoiding inadvertent touch
WO2013023082A1 (en) High resolution non-ghosted gestures
JP2003122506A (ja) 座標入力及び操作方法指示装置
CN103207686B (zh) 一种指点杆、指点杆信息转换方法、装置及电子设备
KR20110047776A (ko) Nui를 위한 제스쳐 인식 장치 및 방법
US20140153790A1 (en) Biometrics Touchscreen
CN113961106A (zh) 预测控制方法、输入系统及计算机可读取记录媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141229

R150 Certificate of patent or registration of utility model

Ref document number: 5682394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150