前記課題を解決するためになされた本発明は、セキュリティロックの設定または解除に用いる図形パターンを構成する打点を表示するタッチパネルと、所定の指示体が前記タッチパネルに非接触、かつ高さ方向の所定の距離内に位置した状態において、前記タッチパネルに対する前記指示体の相対座標値を出力する座標出力手段と、前記相対座標値に基づいて前記打点を確定する打点確定手段と、を備え、前記打点確定手段は、前記図形パターンを構成する最初の打点に対して、前記相対座標値が第1範囲内になったことが所定期間にわたって継続する場合に前記打点を確定し、前記図形パターンを構成する最初の打点以外の打点に対しては、前記相対座標値が第1範囲内になったことが前記所定期間にわたって継続するか否かを検出することなく、前記相対座標値が第1範囲内になったときに前記打点を確定するようにしたものである。
これによって、情報端末にセキュリティロックの設定または解除に用いる図形パターンを入力する際に、図形パターンを構成する打点の誤入力を確実に防止することが可能となる。特に、図形パターンを構成する打点のうち最初の打点の誤入力を確実に防止することが可能となる。
前記座標出力手段は、前記タッチパネルの画像面に対して平行な仮想平面におけるx,y座標値を出力し、前記打点確定手段は、前記座標出力手段によって出力される前記x,y座標値が、前記第1範囲よりも狭い第2範囲内であるときに前記最初の打点を確定するようにしたものである。
これによって、打点が確定される範囲を第1範囲より狭い第2範囲内に限定することで、情報端末にセキュリティロックの設定または解除に用いる図形パターンを入力する際に、図形パターンを構成する打点の誤入力を更に確実に防止することが可能となる。
また、本発明は、前記座標出力手段は、前記タッチパネルの画像面に対して法線方向におけるz座標値を出力し、前記打点確定手段は、前記座標出力手段によって出力される前記z座標が、前記第1範囲よりも狭い第2範囲内であるときに前記最初の打点を確定するようにしたものである。
これによって、z座標が小さい(即ち、指示体がタッチパネルの画像面により近接している)ほど、x,y座標の位置検出精度が高まることから、情報端末にセキュリティロックの設定または解除に用いる図形パターンを入力する際に、図形パターンを構成する打点の誤入力を更に確実に防止することが可能となる。
(第1実施形態)
以下、本発明の第1実施形態について図面を参照しながら説明する。
図1(a)は、第1実施形態の情報端末1の全体構成を示す斜視図、(b)は、タッチパネル2と非接触で行われる操作において、情報端末1のタッチパネル2と指20との関係を示す側面図である。
図1(a)に示すように、情報端末1は、タッチパネル2と、通話用スピーカ3と、マイクロフォン4と、操作部5と、カメラ6とで構成される。
第1実施形態においては、情報端末1としていわゆるスマートフォンを例示して説明を行う。上述した構成要素は情報端末1のユーザインタフェースを表しており、情報端末1のユーザは、通話用スピーカ3とマイクロフォン4とを用いて無線回線を介して他者と通話する。また、ユーザはカメラ6を用いて静止画あるいは動画を撮影する。これら通常の操作において、ユーザは主に後述するタッチパネル2を用いるが、一部の操作においては物理的なスイッチで構成された操作部5が用いられる。
以降、タッチパネル2について説明する。タッチパネル2は例えば液晶パネルまたは有機ELパネル等のディスプレイデバイスで構成されている。タッチパネル2の画像面の近傍には、x方向およびy方向について群を成す複数の微細な金属電極(例えば銅)あるいはITO(Indium Tin Oxide)等を用いた透明電極が、それぞれタッチパネル2の厚み方向に絶縁されて積層配置されている。そしてタッチパネル2は、上述した電極間に形成されるコンデンサの容量の変化を検出して、タッチパネル2の画像面への指20のタッチの有無およびタッチされている座標(タッチ座標)を検出する。
ユーザは情報端末1のタッチパネル2の画像面にタッチすることで、情報端末1が提供する様々な機能を利用し、情報端末1を介して入手あるいは保存した情報にアクセスすることができる。
更に、第1実施形態の情報端末1は、図1(b)に示すように、タッチパネル2の画像面に対して指20を高さ方向(z方向)に離間した状態を維持して(以降、この状態を「ホバー」と呼称する)、特定の操作(以降、ホバー状態を利用した操作を「ホバー操作」のように呼称する)を実行できる。なお、タッチパネル2は、ホバーについても、上述した電極間に形成されるコンデンサの容量の変化を検出して、指20によるホバーの有無およびホバーしている座標(後述のホバー座標)を検出する。なお、タッチパネル2の画像面と指20との離間距離Lが20mm程度までであれば、ホバーの有無およびホバー座標を検出することができる。
なお、第1実施形態では、タッチパネル2の画像面に対して指20を用いてホバー操作やタッチ操作を行うものとして説明するが、指20は例示であり、例えばスタイラスペンのような指20以外の指示体を用いても構わない。
ホバーによって可能となるインタラクションとしては、例えばWebサイトを閲覧するときのマウスオーバ(マウスのカーソルを画像やリンク、ファイルなどのうえに移動したときに実行される処理をいい、例えば、カーソルを合わせた画像やファイルがリンクであることを知らせる視覚効果等を含む)があるが、後述するように、第1実施形態ではホバー操作を用いて、セキュリティロックを解除する際の図形パターンが入力される。
上述したようにホバー操作はタッチパネル2を備える情報端末1にマウスオーバの機能を導入するものと認識されている。第1実施形態においても、ホバー操作のみによってセキュリティロックが解除されることはなく、ユーザは打点11を指定して図形パターンを描いた後にタッチパネル2に表示された他のボタン等をタッチして照合を行う。ただし、以下に詳細に説明するように、本発明によって、ホバー操作に打点11の確定という「決定のための機能」が導入され、これによってユーザの利便性を大幅に拡大することができる。
さて、タッチパネル2には、セキュリティロックに用いる図形パターンを登録し、他方、セキュリティロック状態を解除するために図形パターンを入力するパターン入力領域10が設けられている。パターン入力領域10には9つの打点11が表示される。なお、以降、ユーザがセキュリティを目的として予め設定・登録しておく図形パターンを「ロックパターン」と呼称し、ユーザがセキュリティロック状態を解除する際に入力する図形パターンを「暗証用パターン」と区別して説明する。
情報端末1は、バッテリの無用な消耗を抑制し、ユーザのプライバシを保護するとともに、第三者による不正使用を防止するために、ユーザが情報端末1を所定期間使用しない状況を検出すると、タッチパネル2の画面表示を停止しセキュリティロック状態(画面ロックとも呼ばれる)となる。このセキュリティロック状態において、ユーザはパターン入力領域10に暗証用パターンを入力して照合を指示すると、既に登録されているロックパターンとの照合が行われる。両者が一致すると、セキュリティロック状態が解除されてタッチパネル2にホーム画面が表示され、情報端末1は使用可能な状態に復帰する。
図2(a)は、セキュリティロックで用いられる打点11を説明する説明図、(b)は、暗証用パターンを入力する過程を説明する説明図である。図2(a)、(b)は、タッチパネル2のパターン入力領域10をz方向から見た状態(上面視)を示している。図2(a)に示すように、ユーザがセキュリティロック状態を解除しようとして、例えばタッチパネル2の任意の位置をタッチするか操作部5(図1参照)を操作すると、タッチパネル2にはx方向とy方向とに3×3、合計9個の円形の打点11が表示される。なお、以降の説明において、打点11の位置を区別して説明するときは、図示するように点P(1,1)〜点P(3,3)のように呼称する。
次に、セキュリティロック状態を解除する暗証用パターンについて説明する。図2(b)に示すように、暗証用パターンは複数の打点11から構成されている(図2(b)では大円で描かれた確定マーカ12に重畳した打点11を連結した図形が暗証用パターンを示している)。暗証用パターンは、パターン入力領域10に表示された4つ以上の打点11を一筆書きの要領で結んでいくことで描かれる。暗証用パターンは、縦か横か斜めで隣接している場合(規則a)、桂馬飛びでつながる場合(規則b)、すでに通過済みの点を飛び越えてつながる場合(規則c)、のいずれかであれば2つの打点11間が連結されてパターン化される。なお、(規則c)の場合を除き、同じ打点11を複数回通ることはできない。
そして、第1実施形態の情報端末1においては、暗証用パターンおよびロックパターンについての各打点11の指定は、上述したホバー操作によってなされる(以降、ユーザがホバー操作によって指20を打点11上にかざす行為を「指定」と呼称する。即ち、「指定」とはユーザによる行為を指す)。即ち、ユーザはパターン入力領域10に非接触で(z方向に離間して)指20を点P(1,1)上の空間でスライドさせると、当該指定に基づき点P(1,1)が打点11として確定され(以降、ユーザが指定した打点11が、暗証用パターンを構成する打点11として有効と判定されることを「確定」と呼称する)、確定された打点11に対しては、打点11より径が大きい同心円である確定マーカ12が表示される。即ち、図2(b)に示す例では、点P(1,1)、点P(1,2)、点P(1,3)、点P(2,3)、点P(3,3)、点P(3,2)の順に打点11が確定されて確定マーカ12が表示され、確定した打点11間には連結を示す太い線(連結マーカ)が描かれる。この確定マーカ12が付与された打点11を連結した図形が暗証用パターンとなる。また、これと同じ要領でロックパターンが設定される。
図3は、情報端末1の要部の概略構成を示すブロック構成図である。以降、情報端末1の要部の機能および構成を、図1(a)を併用して説明する。なお、図3には本発明の要部に関連する構成要素のみを示し、ディスプレイデバイスでもあるタッチパネル2への画像表示等を含め、他の機能に関する構成要素の図示は省略されている。
図示するように、情報端末1の要部は、タッチパネル2と、入力制御部50と、セキュリティロック機能部60とで構成されている。
入力制御部50はホバー検知部50aと、ホバー座標判定部50bと、タッチ検知部50cと、タッチ座標判定部50dとで構成されている。
以降、まずホバーとタッチとを区別して検出するハードウェア構成および動作について説明する。タッチパネル2は、そのディスプレイデバイスの画像面に重畳する透明な電極シートを備え(図示せず)、この電極シートの表面にはx方向に設けられた複数のx方向電極(送信電極)が設けられ、その裏面にはx方向電極と絶縁されてx方向と直交するy方向に設けられた複数のy方向電極(受信電極)を備えている(図示せず)。そして、電極シートの周囲には電極ドライバ(図示せず)が設けられている。またこの電極ドライバは発振器兼受信器としての機能も備え、受信器は発振器が出力する発振波形の変化を計測する。
第1実施形態では、上述した電極ドライバによる電極の駆動条件を異ならせて、相互容量方式と自己容量方式とを切り替えることで、タッチとホバーとを区別して検出する。相互容量方式では上述した送信電極と受信電極とを区別して駆動する。具体的には1本の送信電極にパルス信号を入力して、これを1本の受信電極で電流として取り出す処理を繰り返し、全ての電極交点の静電容量を直接的に計測(走査)する。これによって、複数の指20がタッチパネル2にタッチした場合でも(いわゆるマルチタッチ)、タッチ座標を検出することができるが、個々の電極交点の静電容量変化は小さいため、指20が画面から離れた状態を検出することはできない。
一方、自己容量方式は送信電極と受信電極とを区別せずに電極を発振器で駆動し、受信器にて発振波形の信号振幅の変化等を計測する。自己容量方式では、このように電極全体のマクロな静電容量変化を計測するため、指20がタッチパネル2の画面から離れても感知できるが、2点以上をタッチすると正確な場所を知ることができない。このような理由から、第1実施形態の情報端末1は、タッチを相互容量方式で検出しホバーを自己容量方式で検出する。
上述したハードウェアを用いることで、初期状態において、入力制御部50はホバー検知部50aとホバー座標判定部50bとをアクティブにするとともに自己容量方式によってホバーを検出している。そして、ホバー座標判定部50bが出力するz座標が0近傍(即ち、タッチパネル2と指20とが接触状態)になると、入力制御部50はタッチ検知部50cとタッチ座標判定部50dをアクティブにするとともに相互容量方式に切り替えてタッチを検出する。
ホバー検知部50aは、ホバー操作によってユーザの指20がタッチパネル2の画像面に近接したこと(例えば画像面から20mm以内となったこと)を検出する。指20がタッチパネル2に近接したと判定したとき、ホバー検知部50aは、ホバー座標判定部50bに対してイベントを発行する。
ホバー座標判定部50b(座標出力手段)は、ホバー検知部50aによって発行されたイベントを受理すると、指20のタッチパネル2の画像面に対するホバー座標Hvr(x1、y1、z1)を算出して出力する。ここで、ホバー座標Hvr(x1、y1、z1)のうち、x1およびy1はタッチパネル2の画像面に対応した座標値、即ち指20が近接する位置を示す座標値であり(図2(a)等のx,y座標参照)、z1は指20とタッチパネル2の画像面との間のz方向の距離(高さ)を表す座標値である(図1(b)の離間距離Lを参照)。
上述のようにx方向電極およびy方向電極の電極交点(グリッド)の静電容量は、誘電体である指20がタッチパネル2の画像面に近接することで変化する。全電極交点の静電容量を計測することで(ただし、厳密には自己容量方式ではx方向電極、y電極ごとに静電容量の変化が計測され、各電極交点の静電容量は間接的に求められる)xy平面における静電容量の分布を得ることができる。そして、この分布を用いてxy平面における重心を計算することで、x方向、y方向の重点座標値がx=x1、y=y1として決定され、この重心位置における静電容量値がz=z1として決定され、ホバー座標Hvr(x1,y1,z1)が得られる。
このように、ホバー座標判定部50bは、タッチパネル2の画像面と指20との相対的な位置関係に応じて、タッチパネル2の画像面に対して平行な仮想平面におけるx,y座標値を出力し、タッチパネル2の画像面に対して法線方向におけるz座標値を出力する。なお、以降の説明でホバー座標Hvr(x1,y1,z1)のうちx座標およびy座標を指す場合は「ホバーxy座標」と呼称し、z座標のみを指す場合は「ホバーz座標」と呼称する。
更に、ホバー座標判定部50bは、上述したホバー座標Hvr(x1,y1,z1)を算出する際に用いられた電極交点の存在範囲をホバー面積情報S1として出力する。このときの電極交点の範囲は、例えば取得した静電容量値の変化が所定の範囲よりも大きくなった電極交点が存在する範囲が該当し、具体的には、そのような条件を満たす電極交点の数が出力される。なお、指20がタッチパネル2の画像面から遠いほど、両者の間の電気力線は広範囲に広がる。従って、z1が大きいほどホバー面積情報S1の値も大きくなる。よって、上述したz1をホバー面積情報S1で代用してもよく、更にz1とホバー面積情報S1とを相補的に利用して図1(b)に示す離間距離Lとして取り扱ってもよい。
タッチ検知部50cは、タッチ操作によってユーザの指20がタッチパネル2の画像面にタッチ(接触)しているか否かを検出する。ホバーz座標の値が所定値よりも小さくなると、入力制御部50では、ホバー検知部50aの動作が休止され(スリープ)、タッチ検知部50cがアクティブとなる。そして、タッチ検知部50cは、タッチ座標判定部50dに対してイベントを発行する。
タッチ座標判定部50dは、タッチ検知部50cによって発行されたイベントを受理すると、指20のタッチパネル2の画像面に対するタッチ座標Tch(x2、y2)を算出する。ここで、タッチ座標Tch(x2、y2)のx2およびy2はタッチパネル2の画像面の水平面上の位置を表す座標値、即ち指20がタッチした位置を示す座標値である。
上述したように、x方向電極およびy方向電極の電極交点(グリッド)の静電容量は、タッチパネル2の画像面に誘電体である指20がタッチすることで変化する。ここで、相互容量方式では、全ての電極交点の静電容量を直接的に計測することが可能であるから、xy平面における静電容量の分布を得ることができる。そして、この分布を用いてxy平面における重心を計算することで、x方向、y方向の重点座標値がx=x2,y=y2として決定され、タッチ座標Tch(x2,y2)が得られる。なお、ユーザが複数の指20等によってマルチタッチを行った場合、タッチ座標はそれぞれのタッチについて出力される。
更に、タッチ座標判定部50dは、上述したタッチ座標Tch(x2,y2)を算出する際に用いられた電極交点の存在範囲をタッチ面積情報S2として出力する。このときの電極交点の範囲としては、例えば取得した静電容量値の変化が所定の値よりも大きくなった電極交点が存在する範囲が該当し、具体的には、そのような条件を満たす電極交点の数が出力される。マルチタッチの際は、タッチ面積情報S2もそれぞれのタッチについて出力される。
なお、入力制御部50は、セキュリティロック機能部60に対して、上述したホバー座標Hvr(x1,y1,z1)とホバー面積情報S1、またはタッチ座標(x2,y2)とタッチ面積情報S2の組のいずれかを出力する。この際に、入力制御部50は、セキュリティロック機能部60がいずれの座標および面積情報を受け取っているかを区別するための判別フラグを併せて出力している。
次に、セキュリティロック機能部60について説明する。セキュリティロック機能部60は、パターン判定部60aと、パターン記憶部60bと、打点確定部60xとで構成され、打点確定部60xは、打点監視部60cと、開始点判定部60dと、打点有/無効判定部60eと、終了点処理部60fとで構成されている。セキュリティロック機能部60は、ハードウェアとして図示しないCPU(Central Processing Unit)、制御プログラムを格納したEEPROM(Electrically Erasable Programmable Read Only Memory)、ワークメモリとしてのRAM(read only memory)、これらを結合するバス等を備え、情報端末1のセキュリティロック機能の全体を制御する。
パターン記憶部(記憶手段)60bには、上述したセキュリティロック用のロックパターンが記憶されている。ロックパターンは、情報端末1に予め複数の設定されたもののうちからユーザが選択してもよいし、ユーザが自ら設定・登録するようにしてもよい。
パターン判定部60aは、セキュリティロック状態を解除する際に入力する暗証用パターンとロックパターンとを比較し、両者が一致するとセキュリティロック機能部60の外部に対して、ロック解除を通知するイベントを出力する。このロック解除イベントを受け取ることで、例えばタッチパネル2を構成するディスプレイデバイスの駆動が開始され、タッチパネル2にホーム画面が表示される。
なお、パターン判定部60aは、入力制御部50から受け取った判別フラグを検査し、現在パターン判定部60aが受け取っている座標と面積情報とがホバーに関するものであると認識すると判別フラグとともに、ホバー座標Hvr(x1,y1,z1)とホバー面積情報S1とを、後述する打点確定部60xを構成する打点監視部60cに出力する。なお、ホバー面積情報S1に替えて実際の静電容量値を出力し、打点監視部60cにおいて、ホバー面積情報S1を計算するようにしてもよい。
打点確定部60xは、図2(a)に示す打点11に対して、ユーザがホバー操作を行った際に、当該ホバー操作によって打点11が指定されたか否かを検出する。そして、打点確定部60xは、この打点11を指定する行為が所定の条件を満たす場合に打点11が有効なものとして確定する(即ち、「確定」は打点確定部60xによる判定を意味する)。打点11が確定した場合、打点確定部60xはセキュリティロック機能部60の外部に所定のイベントを発行し、このイベントに基づいてタッチパネル2の画像面には図2(b)に示す確定マーカ12が確定された打点11に重畳して表示される。
打点監視部60cは、ユーザによる打点11の指定および確定の状況全般を管理し、ユーザのホバー操作が、セキュリティロックを解除する暗証用パターン(ロックパターンも含む。以下同じ)を構成する打点11を確定する、いずれの「段階」なのかを管理する。なお、ここでいう「段階」とは、後述するように、ユーザが暗証用パターンを入力する操作において、暗証用パターンを構成する打点11のうち「最初の打点を確定する段階」、「最後の打点を確定する段階」、「最初または最後の打点のいずれにも属さない打点を確定する段階」のいずれかを指す。
開始点判定部60dは、ホバー操作によって打点11が全く確定していない場合に、打点監視部60cによって起動される。即ち、開始点判定部60dはホバー操作に基づく「最初の打点を確定する段階」において、ユーザによる打点11の指定を確定するか否かを判定する。
終了点処理部60fは、「最初の打点を確定する段階」が完了すると打点監視部60cによって起動される。記憶手段であるパターン記憶部60bには、ユーザが設定・登録したロックパターンとともに、ロックパターンを描くルート(打点11間の連結状態、一筆書きの順番)、ロックパターンを構成する打点11の数(以降、「ロック打点数」と呼称する)が記録されている。終了点処理部60fは、このロック打点数とユーザが入力中の暗証用パターンにおいて既に確定された打点11の数(以降、「累積打点数」と呼称する)を比較し、累積打点数がロック打点数を超えた場合に、打点11を確定する条件を変更する。後に詳細に説明するように、終了点処理部60fはホバー操作に基づく「最後の打点を確定する段階」において、ユーザによる打点11の指定を確定するか否かを判定する。
打点有/無効判定部60eは、上述した終了点処理部60fにおいて累積打点数がロック打点数以内である場合、即ち「最初または最後の打点のいずれにも属さない打点を確定する段階」、において打点監視部60cによって起動される。
以降、「最初の打点を確定する段階」、「最後の打点を確定する段階」、「最初または最後の打点のいずれにも属さない打点を確定する段階」の順に、第1実施形態に係る情報端末1の動作を詳細に説明するが、説明に用いるフローチャートは、上述した入力制御部50とセキュリティロック機能部60(特に、打点確定部60xと開始点判定部60dと終了点処理部60fと打点有/無効判定部60e)とが協調することで実行される。そしてこれらの制御の主体は、例えばセキュリティロック機能部60に設けられたCPU(図示せず)である。
なお、図4〜図12に示すフローチャートの処理は、所定時間毎にサイクリックに実行されている。ただし、第1実施形態において、打点確定部60xは「最初の打点を確定する段階」では、図4ないし図6を用いて説明する処理のいずれか1つを実行する。そして「最初の打点を確定する段階」が完了すると、「最後の打点を確定する段階」として図7ないし図10を用いて説明する処理のいずれか1つを実行する。「最後の打点を確定する段階」の処理の中で特定の条件を満たす場合に「最初または最後の打点のいずれにも属さない打点を確定する段階」として図12を用いて説明する処理を単独で、または図11および図12を用いて説明する処理の両方を実行する。
以降、「最初の打点を確定する段階」における誤入力を防止する過程を説明する。まず、「最初の打点を確定する段階」における誤入力とはどのような事象であるかを図2(a)、図2(b)を用いて説明する。
ホバー操作では、指20をタッチパネル2の画像面と離間させて空中でスライドさせるため、暗証用パターンの「最初の打点」を指定しようとする際に、タッチパネル2の画像面に対して指20が横切るような場合に、ユーザの意図とは異なる打点11が確定されてしまうことがある。
ここで、ユーザが指定しようとしている暗証用パターンが図2(b)に示すものであるとする。暗証用パターンは点P(1,1)を「最初の打点」とし、矢印の方向に連結されて「最後の打点」は点P(3,2)である。ここで、ユーザが「最初の打点」をホバー操作によって指定しようとして、指20を図面右側からスライドさせるとする。この場合、点P(1,3)、点P(1,2)、点P(2,3)が「最初の打点」として確定(誤入力)されてしまう場合がある。
図4〜図6は、情報端末1において、最初の打点を確定する段階における誤入力を防止する処理の過程を説明するフローチャートである。以降、必要に応じて図1、図2、図3を併用して説明する。
図4は、打点11を有効とするエリア内にて、一定時間以上にわたってホバーxy座標が維持された場合に、その打点11を「最初の打点」として確定する処理の過程を示している。まず、上述のCPU(図示せず。以下同じ)は、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST401)。現在セキュリティロック機能部60が取得している座標がホバー座標ではない(即ち、タッチ座標である)場合(ST401でNo)はプログラムを終了する。
取得している座標がホバー座標である場合(ST401でYes)、CPUは既に開始点
の打点11、即ち「最初の打点」が確定しているか否かをチェックする(ST402)。「最初の打点」が確定している場合(ST402でYes)は、開始点以外の打点処理を実行して(ST408)プログラムを終了する。なお、開始点以外の打点処理では、後述する「最初または最後の打点のいずれにも属さない打点を確定する段階」の処理を実行すればよい。一方「最初の打点」が確定していない場合(ST402でNo)、CPUはホバーxy座標が打点有効エリア内か否かをチェックする(ST403)。
以降打点有効エリアについて簡単に説明する。図2(b)に示す打点11および確定マーカ12はタッチパネル2の画像面に表示される円形のマーク(同心円)であり、これらの表示場所は固定的であって、CPUは当該円の中心座標を認識している。そしてCPUはホバーxy座標がこの円の中心座標から予め定められた第1距離(または第1範囲)にある場合を打点有効エリア内にあると認識する。この第1距離は例えば打点11の中心座標からの半径をもって定めることができ、具体的には、第1距離を確定マーカ12として表示される円の半径としてもよい。また、第1範囲は打点11の中心座標に対するxy方向の値をもって定めることができる。
CPUは、ホバーxy座標が打点有効エリア内にある場合は(ST403でYes)、時間計測を行う(ST404)。ここでいう時間計測とは、ホバーxy座標が上述した打点有効エリア内に留まる時間を計測することである。具体的には所定のタイマイベントによってST404を周期的に実行(即ち、図4のフローの処理を周期的に実行)させ、ST404で計時用カウンタをインクリメントすればよい。このとき計時用カウンタの値は、打点有効エリア内にホバーxy座標が留まった時間を示す。
一方、ホバーxy座標が打点有効エリア内にないとき(ST403でNo)、CPUは時間計測を初期化、即ち、上述した計時用カウンタをゼロリセットする(ST405)。ST405が完了するとプログラムは終了する。
次にCPUは、時間満了をチェックする(ST406)。即ち、CPUは上述の計時用カウンタの値が所定値以上になったことをチェックする。ここでの所定値は適宜決定され、例えば0.5〜1秒程度とすればよい。時間が満了していない場合(ST406でNo)、プログラムは終了する。
時間満了、即ち計時用カウンタの値が所定値以上の場合(ST406でYes)、CPUは暗証用パターンの開始点を確定する(ST407)。即ち、現在ユーザがホバー操作で指定している打点11が「最初の打点」として確定されて、確定マーカ12が表示される。ST407が完了することで、プログラムは終了する。
図5は、打点11を有効とするエリア内にて、一定時間以上かつ打点11の中心から規定距離の範囲にホバーxy座標が維持された場合に、その打点11を「最初の打点」として確定する処理の過程を示している。まず、CPUは判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST501)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST501でNo)はプログラムを終了する。
ホバー座標である場合(ST501でYes)、CPUは既に開始点の打点11、即ち「最初の打点」が確定しているか否かをチェックする(ST502)。「最初の打点」が確定している場合(ST502でYes)は、上述した開始点以外の打点処理を実行して(ST509)プログラムを終了する。一方「最初の打点」が確定していない場合(ST502でNo)、CPUはホバーxy座標が打点有効エリア(上述したST403の処理を参照)内か否かをチェックする(ST503)。ホバーxy座標が打点有効エリア内にないとき(ST503でNo)処理はST505に移る。
CPUは、ホバーxy座標が打点有効エリア内にある場合は(ST503でYes)、更にホバーxy座標が規定距離内か否かをチェックする(ST504)。ここで規定距離とは、ユーザが指定しようとしている打点11の中心からの距離をいい、この規定距離は上述した第1距離よりも小さい距離である(第2距離)。また規定距離は規定範囲としてもよく、規定範囲は上述した第1範囲よりも狭い範囲(第2範囲)である。具体的には、第2距離を確定マーカ12と打点11として表示される円の中間の半径としてもよい。
ホバーxy座標が規定距離内にないとき(ST504でNo)、処理はST505に移る。一方、ホバーxy座標が規定距離内にあるとき(ST504でYes)、CPUは時間計測を行う(ST506。時間計測については、ST404の処理を参照)。具体的には所定のタイマイベントによってST506を周期的に実行させ、ST506で計時用カウンタをインクリメントする。このとき計時用カウンタの値はホバーxy座標が打点有効エリア内かつ規定距離内に留まった時間を示す。
ホバーxy座標が有効エリア内にないとき(ST503でNo)または規定距離内にないとき(ST504でNo)、CPUは時間計測を初期化、即ち、上述した計時用カウンタをゼロリセットする(ST505)。ST505が完了するとプログラムは終了する。
次にCPUは、時間満了をチェックする(ST507)。即ち、CPUは上述の計時用カウンタの値が所定値以上になったことをチェックする。ここでの所定値は適宜決定され、例えば0.5〜1秒程度とすればよい。時間が満了していない場合(ST507でNo)、プログラムは終了する。
時間満了、即ち計時用カウンタの値が所定値以上の場合(ST507でYes)、CPUは暗証用パターンの開始点を確定する(ST508)。即ち、現在ユーザがホバー操作で指定している打点11が「最初の打点」として確定されて、確定マーカ12が表示される。ST508が完了することで、プログラムは終了する。
図6は、打点11を有効とするエリア内にて、ホバーz座標が一定の値以下となった(即ち、指20がタッチパネル2の画像面に対して一定の高さ以下になった)場合に、その打点11を「最初の打点」として確定する処理の過程を示している。まず、CPUは判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(S601)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST601でNo)はプログラムを終了する。
ホバー座標である場合(ST601でYes)、CPUは既に開始点の打点11、即ち「最初の打点」が確定しているか否かをチェックする(ST602)。「最初の打点」が確定している場合(ST602でYes)は、上述した開始点以外の打点処理を実行して(ST606)プログラムを終了する。一方「最初の打点」が確定していない場合(ST602でNo)、CPUはホバーxy座標が打点有効エリア(上述したST403の処理を参照)内か否かをチェックする(ST603)。ホバーxy座標が打点有効エリア内にないとき(ST603でNo)プログラムは終了する。
CPUは、ホバーxy座標が打点有効エリア内にある場合は(ST603でYes)、更にホバーz座標が規定高さ以下か否かをチェックする(ST604)。ここで規定高さとは、タッチパネル2の画像面からユーザの指20までの高さ(z方向の離間距離L。図1(b)参照)をいい、この規定高さは、ホバー操作が可能とされる高さ(20mm)よりも低く設定されている。ホバーz座標が規定高さよりも大きい(高い)場合(ST604でNo)プログラムは終了する。
ホバーz座標が規定高さ以下である場合(ST604でYes)、CPUは暗証用パターンの開始点を確定する(ST605)。即ち、現在ユーザがホバー操作で指定している打点11が「最初の打点」として確定されて、確定マーカ12が表示される。ST604が完了することで、プログラムは終了する。
以上述べてきたように、図4〜図6を用いて説明した処理を実行することにより、正当な「最初の打点」が確定する前に他の打点11が誤入力されることが有効に防止される。
以降、「最後の打点を確定する段階」における誤入力を防止する過程を説明する。まず、「最後の打点を確定する段階」における誤入力とはどのような事象であるかを図2(a)、図2(b)を用いて説明する。
ここで、ユーザが指定しようとしている暗証用パターンが図2(b)に示すものであるとする。暗証用パターンは点P(1,1)を「最初の打点」とし、矢印の方向に連結されて「最後の打点」は点P(3,2)である。ここで、ユーザによる「最後の打点」(即ち、点P(3,2))の指定が確定された後に、それまで曲げていた指20を伸ばすと、指20は第1関節および第2関節を中心に弧を描いて変位するため、ホバー座標Hvr(x1,y1,z1)のうちz1のみならず、x1,y1の値も変化し、例えば点P(2,2)が「最後の打点」として確定(誤入力)されてしまう場合がある。
図7〜図10は、情報端末1において、最後の打点を確定する段階における誤入力を防止する過程を説明するフローチャートである。以降、必要に応じて図1、図2、図3を併用して説明する。「最後の打点を確定する段階」では、後述するように、暗証用パターンの指定に伴う打点11の数が予め定められたロックパターンを構成する打点11の数を越えた場合、打点11を確定する条件を変更する(確定条件をより厳しくして、打点11が容易に確定しないようにする)。
上述したように、ロックパターンはユーザによってセキュリティを目的として設定・登録されるもので、ロックパターンを構成する打点11の数であるロック打点数とともにセキュリティロック機能部60を構成するパターン記憶部60bに記憶されている。即ち、図示しないCPUはユーザによって指定された打点11が確定する毎に、確定した打点11の数を更新することで累積打点数(即ち、暗証用パターンの入力に伴う打点11の数)を得て、この累積打点数をロック打点数と比較することができる。
図7は、ロックパターンとして設定された打点数を越えた次の打点11を無効とする処理の過程を示している。
まずCPUは、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST701)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST701でNo)はプログラムを終了する。
現在セキュリティロック機能部60が取得している座標がホバー座標である場合(ST701でYes)、CPUは、累積打点数がロック打点数を越えたか否かをチェックする(ST702)。累積打点数がロック打点数を越えていない場合(ST702でNo)、打点処理を実行して(ST704)プログラムを終了する。ここでいう打点処理では、後述する「最初または最後の打点のいずれにも属さない打点を確定する段階」の処理を実行すればよい。
累積打点数がロック打点数を越えている場合(ST702でYes)、現在ユーザによって指定されている打点11は「最後の打点」として確定されることはない。即ち、ユーザが指定する打点11は無効と判断され、現在指定されている打点11よりも前に既に確定された打点11が「最後の打点」として確定され続ける。これによって、ユーザが、暗証用パターンを構成する打点11とは異なる打点11の位置に指20をホバーさせると、CPUは、現在指定されている打点11よりも前に既に確定された打点11を「最後の打点」と判断して、即座にセキュリティロックを解除する。即ち、ユーザが指定する打点11を無効とする判断を、直接的に暗証用パターンの入力完了(即ち、ロックパターンとの比較)イベントとして利用するのである。
図8は、ロックパターンとして設定された打点数を越えた場合、ホバーxy座標が、有効とするエリア内に一定時間以上維持された場合に、打点11を「最後の打点」として確定する処理の過程を示している。
まずCPUは、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST801)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST801でNo)はプログラムを終了する。
現在セキュリティロック機能部60が取得している座標がホバー座標である場合(ST801でYes)、CPUは、累積打点数がロック打点数を越えたか否かをチェックする(ST802)。累積打点数がロック打点数を越えていない場合(ST802でNo)、打点処理を実行して(ST808)プログラムを終了する(打点処理については、ST704の処理を参照)。
累積打点数がロック打点数を越えている場合(ST802でYes)、CPUはホバーxy座標が打点有効エリア内か否かをチェックする(ST803。打点有効エリアについては、ST403の処理を参照)。CPUは、ホバーxy座標が打点有効エリア内にある場合は(ST803でYes)、時間計測を行う(ST804。時間計測については、ST404の処理を参照)。
一方、ホバーxy座標が打点有効エリア内にないとき(ST803でNo)、CPUは時間計測を初期化し(ST805。時間計測初期化については、ST405の処理を参照)、ST805が完了するとプログラムを終了する。
次にCPUは、時間満了をチェックする(ST806。時間満了については、ST406の処理を参照)。時間が満了していない場合(ST406でNo)、プログラムは終了する。時間満了、即ちホバーxy座標が所定時間の間打点有効エリア内にあった場合(ST806でYes)、現在ユーザが指定している打点11は有効であり「最後の打点」として確定される。
図9は、ロックパターンとして設定された打点数を越えた場合、ホバーxy座標が、有効とするエリア内に一定時間以上かつ打点11の中心から規定距離の範囲に維持された場合に、打点11を「最後の打点」として確定する処理の過程を示している。
まずCPUは、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST901)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST901でNo)はプログラムを終了する。
現在セキュリティロック機能部60が取得している座標がホバー座標である場合(ST901でYes)、CPUは、累積打点数がロック打点数を越えたか否かをチェックする(ST902)。累積打点数がロック打点数を越えていない場合(ST902でNo)、打点処理を実行して(ST909)プログラムを終了する(打点処理については、ST704の処理を参照)。
累積打点数がロック打点数を越えている場合(ST902でYes)、CPUはホバーxy座標が打点有効エリア内か否かをチェックする(ST903。打点有効エリアについては、ST403の処理を参照)。ホバーxy座標が打点有効エリア内にないとき(ST903でNo)、CPUは時間計測を初期化し(ST905。時間計測初期化については、ST405の処理を参照)、ST905が完了するとプログラムを終了する。
CPUは、ホバーxy座標が打点有効エリア内にある場合は(ST903でYes)、更にホバーxy座標が規定距離内か否かをチェックする(ST904。規定距離については、ST504の処理を参照)。
ホバーxy座標が規定距離内にないとき(ST904でNo)、処理は上述したST905に移る。一方、ホバーxy座標が規定距離内にあるとき(ST904でYes)、CPUは時間計測を行う(ST906。時間計測については、ST404の処理を参照)。この時間計測の結果はホバーxy座標が打点有効エリア内かつ規定距離内に留まった時間を示す。
次にCPUは、時間満了をチェックする(ST907。時間満了については、ST406の処理を参照)。時間が満了していない場合(ST907でNo)、プログラムは終了する。時間満了している場合(ST907でYes)、現在ユーザが指定している打点11は有効であり「最後の打点」として確定される。
図10は、ロックパターンとして設定された打点数を越えた場合、ホバーz座標が、有効とするエリア内にて、一定高さ以下になった場合に、打点11を「最後の打点」として確定する処理の過程を示している。
まずCPUは、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST1001)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST1001でNo)はプログラムを終了する。
現在セキュリティロック機能部60が取得している座標がホバー座標である場合(ST1001でYes)、CPUは、累積打点数がロック打点数を越えたか否かをチェックする(ST1002)。累積打点数がロック打点数を越えていない場合(ST1002でNo)、打点処理を実行して(ST1006)プログラムを終了する(打点処理については、ST704の処理を参照)。
累積打点数がロック打点数を越えている場合(ST1002でYes)、CPUはホバーxy座標が打点有効エリア内か否かをチェックする(ST1003。打点有効エリアについては、ST403の処理を参照)。ホバーxy座標が打点有効エリア内にないとき(ST1003でNo)、プログラムを終了する。
CPUは、ホバーxy座標が打点有効エリア内にある場合は(ST1003でYes)、更にホバーz座標が規定高さ以下か否かをチェックする(ST1004。規定高さについては、ST604の処理を参照)。ホバーz座標が規定高さよりも大きい(高い)場合(ST1004でNo)プログラムは終了する。
ホバーz座標が規定高さ以下である場合(ST1004でYes)、現在ユーザが指定している打点11は有効であり「最後の打点」として確定される。
以上述べてきたように、図7〜図10を用いて説明した処理を実行することにより、打点11の確定条件が、打点11が有効なものと確定されにくくなるように変更され、ユーザが暗証用パターンを一通り入力した後に不用意に打点11が追加されるような事態が確実に防止される。
さて、図8、図9、図10を用いて説明した処理では、累積打点数がロック打点数を越えた場合に、単純に打点11を無効としない。累積打点数がロック打点数を越えた場合に、それ以降の打点の指定を単純に無効とした場合、第三者にロック打点数が知られる可能性があるが、「最後の打点」を有効とする過程で、上述したような付加条件を用いることで、ユーザが一通り暗証用パターンを入力した後に不用意に「最後の打点」が追加されることを防止し、かつ第三者にロック打点数が知られることをも防止することができる。
なお、上述したように、パターン記憶部60b(図3参照)には、ロック打点数とともに、ロックパターンを描くルート(打点11間の連結状態、一筆書きの順番)、も記録されている。CPUは、暗証用パターンを確定する前(即ち、暗証用パターンの入力が完了する前)の段階で、暗証用パターンを描くルートを把握することができるため、打点11が確定する毎に描画途中の暗証用パターンとロックパターンとの一致/不一致を確認することができる。
図7ないし図10を用いた説明では、打点確定部60xは、暗証用パターンの入力に伴う打点11の数(累積打点数)がロックパターンを構成する打点11の数(ロック打点数)を越えた場合、打点11を確定する条件を変更しているが、パターン判定部60aによって描画途中の暗証用パターンとロックパターンとが一致するか否かを判定し、暗証用パターンとロックパターンとが一致すると判定した場合に、打点確定部60xが打点11を確定する条件を変更するように構成しても構わない。
また、ロックパターンを描く順序が分かれば、ルート長さ(例えば図2(a)で強連結関係にある点P(1,1)と点P(2,1)とを結ぶ距離を1として実数計算すればよい)が容易に計算できる。暗証用パターンについても同様に描画中のルートの長さを計算できるから、打点確定部60xは、暗証用パターンとロックパターンとのルート長さが一致したことをもって、打点11を確定する条件を変更するように構成しても構わない。
以降、「最初または最後の打点のいずれにも属さない打点を確定する段階」における誤入力を防止する過程を説明する。まず、「最初または最後の打点のいずれにも属さない打点を確定する段階」における誤入力とはどのような事象であるかを図2(a)、図2(b)を用いて説明する。
ここで、ユーザが入力しようとしている暗証用パターンに、例えば点P(1,1)と点P(3,2)との連結(桂馬飛びのパターン)が含まれるとする。このとき、ユーザの指20はホバー状態で点P(2,1)と点P(2,2)との間を通過することになるが、この際に、点P(2,1)や点P(2,2)といった打点11が確定されてしまう場合がある。また、ユーザがホバー操作によって、点P(1,1)を指定しようとする際に、例えば隣接する点P(1,2)を指定していると誤検出される場合がある。このようにホバー操作はタッチ操作よりも、指示対象と非接触であるが故の曖昧さが大きくなる。
図11、図12は、情報端末1において、最初または最後の打点のいずれにも属さない打点を確定する段階における誤入力を防止する処理の過程を説明するフローチャートである。以降、必要に応じて図1、図2、図3を併用して説明する。
図11は、ホバー操作中において打点11を有効とするエリアをタッチ操作と比較して小さく設定する処理の過程を示している。
まず、CPUは、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST1101)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST1101でNo)、タッチ操作用の打点有効エリア(大きめのエリア)を設定する(ST1102)。一方、セキュリティロック機能部60が取得している座標がホバー座標である場合(ST1101でYes)ホバー操作用の打点有効エリア(小さめのエリア)を設定する(ST1103)。このように、ホバー操作用の打点有効エリア<タッチ操作用の打点有効エリアの関係を満たす。
ホバー操作用の打点有効エリアについては、ホバーxy座標として既に説明したところ、以降、タッチ操作用の打点有効エリアについて簡単に説明する。図2(b)に示す打点11および確定マーカ12はタッチパネル2の画像面に表示される円形のマークであり、これらの表示場所は固定的であって、CPUは当該円の中心座標を認識している。そしてCPUは、タッチ座標Tch(x2,y2)がこの円の中心座標から予め定められた第3距離(または第3範囲)にある場合をタッチ操作用の打点有効エリア内にあると認識する。
この第3距離は例えば打点11の中心座標からの半径をもって定めることができ、第3範囲は打点11の中心に対するxy座標の値をもって定めることができる。そして、第1実施形態では、ホバー操作用の打点有効エリア(第1距離または第1範囲)<タッチ操作用の打点有効エリア(第3距離または第3範囲)としている。具体的には、タッチ操作用の打点有効エリアを確定マーカ12の範囲として、ホバー操作用の打点有効エリアと打点11と確定マーカの中間の範囲とすればよい。
このようにすることで、「最初または最後の打点のいずれにも属さない打点を確定する段階」において、ホバー操作に対する打点有効エリアは小さく設定されるため、隣接する打点11の間で誤入力が発生することを防止できる。
図12は、ホバー操作中においてホバーz座標が一定高さ以下になった場合に、打点11を確定する処理の過程を示している。
まず、CPUは、入力制御部50によって出力される判別フラグを参照して、現在セキュリティロック機能部60が取得している座標がホバー座標であるか否かをチェックする(ST1201)。現在セキュリティロック機能部60が取得している座標がタッチ座標である場合(ST1201でNo)、処理をST1203に移す。
現在セキュリティロック機能部60が取得している座標がホバー座標である場合(ST1201でYes)、CPUはホバーz座標が規定高さ以下か否かをチェックする(ST1202(規定高さについては、ST604の処理を参照)。ホバーz座標が規定高さより大きい場合(ST1202でNo)、プログラムを終了する。
ホバーz座標が規定高さ以下の場合(ST1202でYes)CPUは、打点確定処理を実行する(ST1203)。ここで、打点確定処理とは、ユーザが打点11を指定した際に、CPUが暗証用パターンを構成する点として打点11を取り扱う処理(認識する処理)をいい、打点11が確定することにより、CPUは打点11と重畳して確定マーカ12を表示する(図2(b)参照)。また、CPUは、当該打点11が確定する前に、他の打点11が確定しているときは、当該打点11と他の打点11との間にこれらが連結していることを示す表示(連結マーカの表示)を行う。なお、この連結マーカの表示は、ユーザが打点11を指定している状態(即ち打点11が未確定の状態)において表示してもよい。
上述したように、ホバーz座標が小さい(即ち、指20とタッチパネル2との画像面との距離が短い)ほど、ホバー面積情報S1が示す値は小さくなる。これは、ホバーz座標が小さいほど、より狭い範囲の電極交点によってホバーxy座標が算出されることを意味する。即ち、ホバーz座標が小さいほど、ホバーxy座標の位置検出精度が向上する。図12のフローによれば、信頼性が高い位置情報に基づいて、打点11を確定できるため、隣接する打点11が誤入力されるのを有効に防止することができる。
以上、本発明に係る情報端末1について特定の実施形態に基づいて詳細に説明したが、これらの実施形態はあくまでも例示であって、本発明はこれらの実施形態によって限定されるものではない。
例えば、第1実施形態では、打点確定部60xの構成として、開始点判定部60dと、終了点処理部60fと、打点有/無効判定部60eとを備えるものとして説明したが、これらの全てを備える必要はなく、一部の構成要素を備えるようにしてもよい。即ち、打点監視部60cと開始点判定部60dとを備える構成、打点監視部60cと終了点処理部60fとを備える構成、打点監視部60cと打点有/無効判定部60eとを備える構成のいずれかであってもよいし、開始点判定部60dと、終了点処理部60fと、打点有/無効判定部60eのうちいずれか2つの構成要素と打点監視部60cとで構成していもよい。
また、第1実施形態では、図形パターンとして、セキュリティロックを解除する際に用いる暗証用パターンを入力する例を説明したが、暗証用パターンと比較する対象であるロックパターンを設定・登録する場合も、上述の構成や処理が適用できることは言うまでもない。
また、第1実施形態では、ホバー操作によって、暗証用パターンを構成する打点11を確定するようにし、その後に暗証用パターンとロックパターンとを別の操作で比較するようにしているが、「最後の打点」をタッチ操作によって確定する構成とすれば、このタッチ操作によって、セキュリティロックを解除すべきか否かを直ちに判定することが可能となる。
また、第1実施形態では、情報端末1としていわゆるスマートフォンを例示して詳細に説明したが、本発明はスマートフォンに限らずタブレット等の情報端末1全般に応用することができる。更に、情報端末1は可搬性である必要もない。即ち、デスクトップPC(Personal Computer)やサーバクライアントシステム等においてPCとは別にディスプレイが設けられ、当該ディスプレイがタッチパネル2として機能するような場合においても本発明は有用である。
なお、上述の実施形態に示した各構成要素は必ずしも全てが必須ではなく、少なくとも本発明の範囲を逸脱しない限りにおいて適宜取捨選択することが可能である。