説明

ジェスチャー認識方法及び当該方法を実現するタッチシステム

【課題】接触検出デバイスに対するジェスチャーを実行するための方法及びシステムを提供する。
【解決手段】ジェスチャー認識方法は、タッチパネルでの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定し、入力されたジェスチャーが所定の普遍的なジェスチャーに一致する場合、イベント信号に基づいて、対応するジェスチャーコマンドセットを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチシステムに関し、特にジェスチャー認識方法及び当該方法を実現するタッチシステムに関する。
【背景技術】
【0002】
多入力デバイスは、コンピュータシステムにおいて処理を実行するために存在する。このような処理は、一般的にカーソルを動かしたり、ディスプレイスクリーンで選択を実行したりすることで対応する。当該処理は、ページング(paging)、スクローリング(scrolling)、パニング(panning)、ズーミング(zooming)等の動作を含む。例として、入力デバイスは、ボタン、スイッチ、キーボード、マウス、トラックボール、タッチパッド、ジョイスティック、タッチスクリーン等を含む。
【0003】
パーソナルラップトップコンピュータのタッチパッドのようなタッチパッド手段は、ディスプレイの入力ポインターの移動が、タッチパッドの表面に沿って移動する指であるユーザの指(又はタッチペン)の相対的な移動に対応する。他方、タッチスクリーンは、ディスプレイスクリーンを覆うタッチセンサ式の透明パネルを含むディスプレイスクリーンの形式である。タッチスクリーンを用いる間、通常、ユーザがスクリーンに表示される物(graphical User Interface(GUI) Objects等)に直接にポインティングする(通常は指による)ことで、ディスプレイスクリーンでの選択が実行される。
【0004】
近年、より進歩したジェスチャーコマンドが実行されている。例えば、スクロールするジェスチャーを認識できるように、タッチパッド上で4本の指を置くことで、スクロールが開始される。そして、その後スクロールするイベントを実行するために、タッチパッド上でこれらの指を動かす。新たなジェスチャーインターフェースが生じるため、新たなジェスチャーコマンドがコンピュータシステム間及び同様のシステムのアプリケーション内で変化する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】台湾特許出願公開第200925952号明細書
【特許文献2】台湾実用新案公告第350737号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
新たなジェスチャーコマンドが複雑になると、ユーザが、どのように特定のジェスチャー認識プログラムと関わるかについて、混乱し又は確信が得られない。例えば、ユーザが2本の指でタッチパネルに表示されるウィンドウを当該ウィンドウの対向する位置で接触し、他方の指に向かってそれぞれの指をドラッグする。この入力は"close window"コマンドとしてプログラムXで読み取られ、このジェスチャーを"draw line"コマンドとしてプログラムYで読み取る。また、ジェスチャーの複雑さの増加(タッチ、ドラッグ、押圧によるタッチ等の指令の種々のコマンドを組み合わせることによって)につれて、如何にしてジェスチャーが入力されたかについて、及びこれらのジェスチャーの何れがソフトウェアプログラムによって読み取られるかを知ることについて、ユーザは、より危惧し、そして混乱させられることになる。
【0007】
そのため、ユーザに利便性を与えるために、タッチデバイスにおける、ジェスチャーを認識するためのシステムを発展させる必要がある。
【課題を解決するための手段】
【0008】
この開示は、ユーザに利便性を与えるために、タッチデバイスにおける、ジェスチャーを認識するためのシステム及び方法に関する。
【0009】
本形態において、ジェスチャー認識方法は、タッチパネルへの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定し、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するとき、イベント信号に基づいて対応するジェスチャーコマンドセットを生成する。
【0010】
異なる形態において、ジェスチャー認識方法はまた、イベント信号に応答してアプリケーションプログラムが指定されたか否かを決定する。イベント信号に応答してアプリケーションプログラムが指定されると、イベント信号に応答してアプリケーションプログラムが指定されたとき、イベント信号をアプリケーションプログラムのイベントキューに含め、イベントキューからイベント信号を取得し、アプリケーションプログラムに対応するジェスチャーコマンドを表示する。
【0011】
さらに異なる形態において、タッチシステムは、タッチパネルと、タッチパネルへの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致することを決定している間に、イベント信号を出力するために構成されるタッチICと、イベント信号に基づいて、対応するジェスチャーコマンドセットを生成するために、オペレーティングシステム又はアプリケーションプログラムを制御するために構成される処理装置と、を含む。本形態において、オペレーティングシステムは、以下においてオペレーションシステムと呼ばれる場合がある。
【0012】
さらに異なる形態において、タッチシステムはまた、オペレーティングシステム及び実行されるアプリケーションプログラムを記憶するために構成される記憶ユニットを含む。処理装置がイベント信号に応答してアプリケーションプログラムを指定することを決定すると、処理装置はアプリケーションプログラムのイベントキューにイベント信号を含め、アプリケーションプログラムは、当該アプリケーションプログラムに対応するジェスチャーコマンドセットを表示するためにイベントキューからイベント信号を取得する。
【0013】
さらに異なる形態において、1つ又は複数のプログラムを記憶した、コンピュータが読み取り可能な記憶媒体は、タッチパネルが有する電子デバイスによって取り込まれると、当該電子デバイスに、タッチパネルの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定したり、入力されたジェスチャーが所定の普遍的なジェスチャーに一致すると、イベント信号に基づいて対応するジェスチャーコマンドセットを生成したり、する処理を実行させる。
【0014】
さらなる特徴及び本開示の利点を以下に説明し、一部は当該開示から得ることができ、又は本開示の実施によって知ることができる。本開示の当該特徴及び利点は実現することができ、添付された特許請求の範囲において詳細に述べた手段及び組合せによって得ることができる。これら及び他の本開示の特徴は、以下の開示及び添付の特許請求の範囲から十分に明らかにすることができ、又は以下に定めるように本開示の実施によって知ることができる。
【発明の効果】
【0015】
本発明によると、ユーザに利便性を与えるために、タッチデバイスにおける、ジェスチャーを認識するためのシステム及び方法を提供することができる。
【図面の簡単な説明】
【0016】
図面内の要素は、必ずしも縮尺に基づいて描かれておらず、本開示の原理を中心として明確に描画している。また、図面において、符号は図に対応する部分を示している。
【図1】図1は、ジェスチャー認識方法の形態のフローチャートである。
【図2】図2は、1のコンタクトの接触情報の例となる図を示している。
【図3】図3は、複数のコンタクトの接触情報の例となる図を示している。
【図4】図4は、接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャー(universal gesture)に一致するか否かを決定するための方法の形態のフローチャートである。
【図5】図5は、接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャー(universal gesture)に一致するか否かを決定するための方法の異なる形態のフローチャートである。
【図6】図6は、イベント信号に応答してアプリケーションプログラムが指定されたか否かを決定するための方法の形態のフローチャートである。
【図7】図7は、異なる指の数に伴う普遍的なジェスチャーの例を示している。
【図8】図8は、異なる指の数に伴う普遍的なジェスチャーの例を示している。
【図9】図9は、異なる指の数に伴う普遍的なジェスチャーの例を示している。
【図10】図10は、タッチシステムの形態を示すブロック図である。
【発明を実施するための形態】
【0017】
この開示は、一例として述べられており、添付の図面の形状に限定されるものではなく、類似の要素も含まれる。
【0018】
タッチ検出デバイスにおけるジェスチャーを実行する方法及びシステムを述べる。特に、普遍的なジェスチャーが事前に定義され、そしてタッチデバイスに記憶されている。一度、入力されたジェスチャーが普遍的なジェスチャーに一致すると決定されると、タッチデバイスから出力される特定のイベント信号がCPUに出力される。CPUは、それらの幾何学的な特徴(位置、領域又はタイプ)に基づいて、特定のイベント信号に応答してアプリケーションプログラム(AP)又はオペレーティングシステム(OS)が指定されたか否かを決定する。当該AP又はOSは、視覚的な方法、例えば、ユーザに取得可能なコマンドを知らせるための、ポップアップウィンドウによって示される、対応するジェスチャーコマンドセットを生成する。本開示の形態では、以下に詳細に述べるように、種々のコンピュータハードウェア又はモジュールを含む特定の用途又は汎用のコンピュータを用いることができる。
【0019】
図1には、ジェスチャー認識方法の第1の形態が示されている。ジェスチャー認識方法は、普遍的なジェスチャーを事前に定義する、ブロックS100を行う。普遍的なジェスチャーは、グラブ(grab)、タップ(tap)、ピッチ(pitch)、プッシュ(push)、ローテート(rotate)等を含むグループから選択される。本形態において、グラブと呼ばれる普遍的なジェスチャーの一つは、同時に内側に折り曲げられる少なくとも3本の指で規定される。グラブの定義は、ICに記憶され、動作中に読み出される。
【0020】
ブロックS100の後、当該方法は、タッチパネルに接触した少なくとも1本の指(又はタッチペン)によって実行された、入力されたジェスチャーの接触情報を検出する、ブロックS200に移行する。この接触情報は、X座標とY座標、出現した最初の時間T、圧力、及び各コンタクトPの移動軌跡を含む。図2には、コンタクトPの移動軌跡を示している。接触情報は、図3に示される、1つのフレーム内における2つの隣接するコンタクトP間の接続線の長さD、2本の隣接する接続線によって形成される角度θ、これらの接続線によって囲まれた多角形Gの領域A、及び多角形Gの重心Mの座標も含めることができる。
【0021】
当該方法は、接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かの決定を実行する、ブロックS300に移行する。入力されたジェスチャーが普遍的なジェスチャーに一致しないと、当該方法は、接触情報を処理装置に出力し、そして接触情報に関連するシステムコマンドがオペレーティングシステムによって実行される、ブロックS350に移行する。入力されるジェスチャーが普遍的なジェスチャーに一致すると、当該方法は、イベント信号を処理装置に出力する、ブロックS400に移行する。
【0022】
ブロックS300の決定工程は、幅広く変化させることができ、接触情報の多数の要因によって決定する。2つの方法を以下に開示する。図4に示すように、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定するための第1の方法は、最初の時間Tでタッチパネルに少なくとも3つのコンタクトが存在するか否かを決定する、言い換えると、i(コンタクトPの数)≧3、通常i≦5であるか否かを決定する、ブロックS301を始める。
【0023】
本形態において、3つのコンタクトより少ないと、1本又は2本の指がパネルに接触していることを意味し、当該方法は、入力されたジェスチャーが普遍的なジェスチャーと一致しない、即ちマッチングは有効でないことを承認する、ブロックS330に移行する。そして、当該方法は、接触情報を処理装置に出力し、さらに接触情報に関連する選択又は移動等のシステムコマンドがオペレーティングシステムによって実行される、ブロックS350に移行する。3つ以上のコンタクトがあると、当該方法は、隣接するコンタクトPを接続することによって多角形Gを規定する、ブロックS302に移行する。
【0024】
そして、当該方法は、全てのコンタクトPが時間Tn+1で存在するか否かの決定を実行する、ブロックS303に移行する。時間Tn+1と時間Tとの間隔は、タッチパネルの走査周期数によって決定される、1フレームである。少なくともコンタクトPの1つが時間Tn+1内に消えると、当該方法はブロックS330に移行する。
【0025】
全てのコンタクトPが時間Tn+1で存在すると、当該方法は、1フレームで隣接するコンタクトPを接続することによって、多角形Gn+1を規定する、ブロックS304に移行する。
【0026】
そして、当該方法は、全てのコンタクトPが時間Tn+2で存在するか否かの決定を実行する、ブロックS305に移行する。時間Tn+2と時間Tn+1との間隔も1フレームである。少なくともコンタクトPの1つが時間Tn+2内に消えると、当該方法はブロックS330に移行する。
【0027】
全てのコンタクトPが時間Tn+2において存在すると、当該方法は、1フレームで隣接するコンタクトPを接続することによって、多角形Gn+2を規定する、ブロックS306に移行する。
【0028】
そして、当該方法は、多角形Gの領域Aが多角形Gn+1の領域An+1を超えるか否かの決定、及び多角形Gn+1の領域An+1が多角形Gn+2の領域An+2を超えるか否かの決定を実行する、ブロックS307に移行する。言い換えると、全てのコンタクトPが第1の所定の時間(本形態では3フレーム)以内に残存すると、多角形の領域が時間の経過に伴って減少、即ち多角形の領域が時間に反比例するか否かの決定を実行する。領域A、An+1及びAn+2は、従来の方法によってコンタクトPの座標に基づいて算出される。
【0029】
ブロックS307での決定結果がYESの場合、当該方法は、入力されたジェスチャーが普遍的なジェスチャーに一致することを特定する、ブロックS308に移行する。図7乃至図9に示すように、A>An+1>An+2の場合、言い換えると、全てのコンタクトが互いに近接し、そして入力されたジェスチャーが普遍的なジェスチャー"グラブ"に一致することを特定する。ブロックS307での決定結果がNOの場合、当該方法はブロックS330に移行する。
【0030】
上述したように、ユーザが普遍的なジェスチャーを実行したか否かを決定するために3つのフレーム(T、Tn+1、Tn+2)のデータのみを取得する。それが理解されるべきことに、より正確な結果を得るために、第1の所定の時間はフレームの数の増加によって延ばされる。
【0031】
本形態において、当該方法はまた、ブロックS308の後に、全てのコンタクトPが第2の所定の時間Tn+2+m(mは任意の自然数)以内に消えたか否かの決定を実行する、ブロックS309を含む。全てのコンタクトPが消えると、全ての指が時間Tn+2の後であって時間Tn+2+m以内にタッチパネルから離れたことを意味し、当該方法は、入力されたジェスチャーが普遍的なジェスチャーに一致することが有効であることを承認する、ブロックS310に移行する。決定結果がNOの場合は、少なくとも1本の指が、第2の所定の時間Tn+2+mを超えてタッチパネルに接触された状態であることを意味し、当該方法は、入力されたジェスチャーが普遍的なジェスチャーに一致することが有効でないことを承認する、ブロックS330に移行する。
【0032】
図5に示すように、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かの決定のための第2の方法は、最初の時間Tで少なくとも3つのコンタクトがタッチパネルに存在するか否かの決定を実行する、言い換えると、i(コンタクトPの数)≧3、通常i≦5であるか否かについて決定する、ブロックS311を始める。
【0033】
3つのコンタクトがないと、1又は2本の指のみがタッチパネルに接触していることを意味し、当該方法は、入力されたジェスチャーが普遍的なジェスチャーに一致することが有効でないことを承認する、ブロックS330に移行する。さらに、当該方法は、接触情報を処理装置に出力し、そして、接触情報と関連付けられた、選択又は移動等のシステムコマンドがオペレーティングシステムによって実行される、ブロックS350に移行する。少なくとも3つのコンタクトがあると、当該方法は、1つのフレームで2つの隣接するコンタクトPの間隔Dijnを算出する、ブロックS312に移行する。
【0034】
そして、当該方法は、全てのコンタクトPが時間Tn+1で存在するか否かの決定を実行する、ブロックS313に移行する。時間Tn+1と時間Tとの間隔は、タッチパネルの走査周波数によって決定される1フレームである。時間Tn+1以内に少なくとも1つのコンタクトが消えると、当該方法はブロックS330に移行する。
【0035】
全てのコンタクトPが時間T+1に存在すると、当該方法は、2つの隣接するコンタクトの間隔Dij(n+1)を算出する、ブロックS314に移行する。
【0036】
そして、当該方法は、全てのコンタクトPが時間Tn+2で存在するか否かの決定を実行する、ブロックS315に移行する。時間Tn+2と時間Tn+1との間隔も1フレームである。時間Tn+2以内に少なくとも1つのコンタクトPが消えると、当該方法はブロックS330に移行する。
【0037】
全てのコンタクトPが時間Tn+2で存在すると、当該方法は、2つの隣接するコンタクトの間隔Dij(n+2)を算出する、ブロックS316に移行する。
【0038】
そして、当該方法は、間隔Dijnが間隔Dij(n+l)を超えるか否か、さらに間隔Dij(n+1)が間隔Dij(n+2)を超えるか否かの決定を実行する、ブロックS317に移行する。言い換えると、2つの隣接するコンタクトの間隔が時間の経過に伴って減少、即ち、2つの隣接するコンタクトの間隔が時間に反比例するか否かの決定を実行する。本形態では、第1の所定の時間(本形態では3つのフレーム)の間、全てのコンタクトPの接触状態が維持されると、当該決定が実行される。
【0039】
ブロックS317での決定結果がYESの場合、当該方法は、入力されたジェスチャーが普遍的なジェスチャーであると特定する、ブロックS318に移行する。図7乃至図9に示すように、Dijn>Dij(n+1)>Dij(n+2)の場合、言い換えると、全てのコンタクトが互いに近接し、且つグラブの普遍的なジェスチャーを形成する。上述した不等式を満たさない場合、少なくとも1本の指が他の指から離れたことを意味し、ユーザが普遍的なジェスチャーを実行していないことを決定する。ブロックS317での決定結果がNOの場合、当該方法はブロックS330に移行する。
【0040】
本形態において、当該方法はまた、ブロックS318の後に、全てのコンタクトPがさらに第2の所定の時間Tn+2+m(mは任意の自然数)以内に消えたか否かについての決定を実行する、ブロックS319に移行する。全てのコンタクトPが消えていれば、全ての指が時間Tn+2後であって時間Tn+2+m以内にタッチパネルから離れたことを意味し、当該方法は、入力されたジェスチャーが普遍的なジェスチャーと一致することが有効であることを承認する、ブロックS320に移行する。決定結果がNOの場合、第2の所定の時間Tn+2+mを超えて、少なくても1本の指がタッチパネルに接触していることを意味し、当該方法は、入力されたジェスチャーが普遍的なジェスチャーと一致することが有効でないことを承認する、ブロックS330に移行する。
【0041】
好ましい形態において、正確な決定を目的とするために、決定ステップは、1つのコンタクトと隣接するコンタクトとを接続する2本の接続線が成す角度が同じ状態か否かについて、フレームの間に追加することができる。言い換えると、入力されたジェスチャーは、指が直線的に動いたときのみに、普遍的なジェスチャーであると特定することができる。
【0042】
上述したように、ブロックS310又はS320に移行すると、入力されたジェスチャーは、所定の普遍的なジェスチャーに一致することが承認され、有効とされる。再び、図1に示すように、当該方法は、イベント信号が処理装置に出力される、ブロックS400に移行する。
【0043】
イベント信号は以下のデータに基づく。
タイプ:長さ=2bit、01=3本の指;10=4本の指;11=5本の指;
領域:長さ=14bit、幅=0〜16384;
位置:長さ=16bit、幅=0〜65535
【0044】
加えて、当該方法は、アプリケーションプログラムがイベント信号のデータに基づいて当該イベント信号に応答して指定されたか否かの決定を実行する、ブロックS500に移行する。
【0045】
図6に示すように、ブロックS500の決定方法の形態は、少なくとも3つのコンタクトPの重心が算出される、ブロックS510を始まる。
【0046】
重心は種々の方法によって算出される。例えば、重心はコンタクトPにおける隣接する辺を接続することによって囲まれた多角形Gの幾何学的な中央になる。(X、Y)が各コンタクトPの座標を示すとき、i=1、2、3・・・n≧3であって、重心Mの座標は、数1で示される。
【数1】

【0047】
別の形態において、重心Mは、多角形Gの内接円又は外接円の中央にある。重心Mは、コンタクト領域のタイプ又は圧力に基づいても決定することができる。
【0048】
当該方法は、重心Mがアプリケーションプログラムのウィンドウ領域内か否かの決定を実行する、ブロックS520に移行する。通常、アプリケーションプログラムのウィンドウは、オペレーティングシステムのディスクトップの一部を覆う。重心Mがアプリケーションプログラムのウィンドウ領域内に配置されていると、ユーザがアプリケーションプログラムを操作していることを意味し、当該方法は、イベント信号に応答してアプリケーションプログラムを指定する、ブロックS530に移行する。重心Mがアプリケーションプログラムのウィンドウ領域の外側に配置されていると、ユーザがオペレーティングシステムを操作していることを意味し、当該方法は、イベント信号に応答してオペレーティングシステムを指定する、ブロックS540に移行し、そして図1に示されるブロックS800に移行する。
【0049】
イベント信号に反応してアプリケーションプログラムを指定する、ブロックS530の後に、当該方法は、アプリケーションプログラムのイベントキューにイベント信号を含める、図1に示すブロックS600に移行する。加えて、当業者は、アプリケーションプログラムとオペレーティングシステムとの間で送信される前に、イベント信号が適切な形式にパッケージング化されることを理解する。
【0050】
当該方法は、イベント信号がイベントキューから取得され、そして、ジェスチャーコマンドセットが生成されて、アプリケーションプログラムのインターフェースに対応して表示される。ジェスチャーコマンドセットは、ジェスチャーイベントに行動(action)を関連付けたマップであり、種々のGUI要素を含む。ユーザは種々のコマンドを生成するために、これらのGUI要素を選択し、用いることができる。各コマンドの例としては、new、open、close、delete、rename、select all、cut、copy、paste、undo、redo、group/ungroup、italic、bold、underline、previous/next、play/pause、mute等を含む。但し、これらの例に限定されるものではなく、他のコマンドを用いることもできる。
【0051】
イベント信号に応答してオペレーティングシステムが指定されると、当該方法は、ジェスチャーコマンドセットが生成され、さらにオペレーションシステムのインターフェースに対応して表示される、ブロックS800に移行する。
【0052】
図10は、本開示の1つの形態に従ってタッチシステム100が示されている。タッチシステム100としては、ディスクトップ、ラップトップ、タブレット、ハンドヘルドコンピュータ(handheld computer)を含むパーソナルコンピュータシステム等のようなコンピュータシステムが該当する。また、タッチシステム100としては、携帯電話、PDA、専用のメディアプレーヤ(dedicated media player)等を含むハンドヘルドデバイス(handheld device)等のような他の民生用電子機器も該当する。
【0053】
図10に示すタッチシステム100は、命令を実行するため、及びタッチシステム100に関連する動作を実行するために構成される処理装置10を含む。例えば、メモリから読み出された命令を用いて、処理装置10は、タッチシステム100の複数の構成要素の間での入力データ及び出力データの受け取り及び取り扱いを制御する。処理装置10は、単一のチップ、複数のチップ又は複数の電子部品を実装することができる。例えば、種々の構造を処理装置10のために用いることができ、専用プロセッサ又は組み込みプロセッサ、単一目的のためのプロセッサ(single purpose processor)、コントローラー、ASIC(Application Specific Integrated Circuit)等を含めることができる。
【0054】
図10に示すタッチシステム100は、処理装置10に接続可能な記憶ユニット20を含む。記憶ユニット20は、タッチシステム100によって用いられる、コンピュータコードやデータを記憶するための場所を与えるために構成されている。例として、記憶ユニット20は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ等を含むことができる。情報は、リムーバブル記憶媒体に格納されたり、必要な時にタッチシステム100に読み込み又は組み込まれたり、することもできる。リムーバブル記憶媒体は、CD−ROM、PC−CARD、メモリカード、フロッピー(登録商標)ディスク、磁気テープ、及びネットワークコンポーネント等を含めることができる。オペレーティングシステム(OS)21、他のコンピュータコード、及びデータは、記憶ユニット20内に格納される。オペレーティングシステムは、一般的に良く知られており、詳細な説明は省略する。例として、オペレーティングシステムとしては、Windows(登録商標)、OS/2(登録商標)、DOS(登録商標)、Unix(登録商標)、Linux(登録商標)、Palm OS(登録商標)等を用いることができる。オペレーティングシステムは、例えば限定される目的のアプライアンス型のコンピュータデバイスのために用いられる、特別な目的のオペレーティングシステム等も用いることができる。
【0055】
記憶ユニット20は、OS21を実行させるためのアプリケーションプログラム(AP)22も記憶することができる。アプリケーションプログラム22も一般的に良く知られている。アプリケーションプログラム(アプリケーションと呼ぶ場合がある。)は、ユーザ、時として他のアプリケーションプログラムのために特別な機能を直接に実行するために設計されたプログラムである。アプリケーションプログラムの一例としては、ワードプロセッサ、データベースプログラム、ウェブブラウザー、開発ツール、描画、ペイント、画像編集プログラム、及びコミュニケーションプログラムを含む。
【0056】
タッチシステム100はまた、処理装置10に接続可能な表示デバイス30を含む。表示デバイス30は、例えばアクティブマトリックス、パッシブマトリックス等の液晶ディスプレイ(LCD)である。代わって、表示デバイス30は、ブラウン管(CRT)、プラズマディスプレイや電子インクを用いたディスプレイでも構成することができる。表示デバイス30は、ユーザと動作するオペレーションシステム又はアプリケーションプログラムとの間で、インターフェースを用いて容易性を与える、グラフィカル・ユーザ・インターフェース(GUI)を表示するために構成される。
【0057】
タッチシステム100はまた、表示デバイス30に貼り付けられ、そして処理装置10に接続可能な1又はそれ以上のタッチデバイス40を含む。タッチデバイス40は、容量センシング、抵抗センシング、弾性表面波センシング、圧力センシング、光センシング等のセンシング技術に基づくことができ、タッチシステム100は、ユーザの接触から入力を受け取るため、さらに処理装置10に情報を出力するために、構成することができる。タッチデバイス40は、タッチパネル41、及びタッチパネル41に接続されるタッチIC42を含む。タッチパネル41は、入力されたジェスチャーの接触情報、例えばタッチセンサの表面への接触の位置や大きさを取得するために構成される。タッチIC42は、ジェスチャー記憶装置421及び決定装置422を含む。
【0058】
ジェスチャー記憶装置421は、上述した所定の普遍的なジェスチャーを記憶するために構成される。
【0059】
決定装置422は、上述した接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定するために構成される。
【0060】
タッチIC42は、入力されたジェスチャーが上述した所定の普遍的なジェスチャーに一致するとき、処理装置10にイベント信号を出力するために構成される。
【0061】
処理装置10は、イベント信号を受け取り、アプリケーションプログラム22又はオペレーティングシステム21がイベント信号のデータに基づいて、イベント信号に応答して指定されたか否かを決定するために構成される。例えば、重心を算出することは、アプリケーションプログラム22又はオペレーティングシステム21が上述したイベント信号に応答して指定されたか否かを決定するためのものである。
【0062】
例として、アプリケーションプログラム22が指定されたとき、処理装置10は、アプリケーションプログラム22のイベントキュー(不図示)にイベント信号を含める。アプリケーションプログラム22は、イベントキューからイベント信号を取得するために、処理装置10によって制御され、そして、インターフェースに表示される、対応するジェスチャーコマンドセット24を生成する。ジェスチャーコマンドセット24は、ジェスチャーイベントに動作を関連付けたマップでも良く、コマンド(moves、rotations、spread/contract)の矢印によって示される、種々のGUI要素を含んでも良い。但し、ジェスチャーコマンドセットやGUI要素は一例であって、限定されないことを理解されるべきである。例えば、写真編集プログラムにおいて、対応するジェスチャーコマンドセット24は、メディアファイルを通じてのスクロール、写真の回転、写真のズームイン及びズームアウトのコマンドを含む。但し、初期要素と異なり、ユーザがそれらの要素を改変することもできることを理解すべきである。したがって、種々のアプリケーションプログラム22を扱うとき、ユーザは、複雑なジェスチャーを覚えることなしに、複数の関連するコマンドを実行するために普遍的なジェスチャーを実行することができる。
【0063】
上述したように、処理装置10はイベント信号のタイプ、領域又は位置に基づいてイベント信号に応答してオペレーションシステム21が指定されたことを決定し、オペレーションシステム21は、インターフェースに表示される、対応するジェスチャーコマンドセット24を生成するために、処理装置10によって制御される。
【0064】
入力されたジェスチャーが普遍的なジェスチャーに一致しない、又は普遍的なジェスチャーと一致する承認情報が有効でないと、タッチIC42は、通常の信号として処理装置10に接触情報を出力する。そして、接触情報に関連付けられたシステムコマンドは、オペレーションシステム21又はアプリケーションプログラム22によって実行される。
【0065】
本発明の特定の構造的特徴及び/又は方法の動作に関して開示した。しかし、添付の特許請求の範囲によって定義される本発明は、開示した構造的特徴や方法の動作に限定されない。また、当該特定の特徴及び動作は、請求項に係る発明を実行する単純な形式として開示されている。
<付記1>
タッチパネルの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定し、
前記入力されたジェスチャーが所定の普遍的なジェスチャーに一致すると、イベント信号に基づいて対応するジェスチャーコマンドセットを生成する、ジェスチャー認識方法。
<付記2>
前記普遍的なジェスチャーのグラブ(grab)は、少なくとも3本の指によって形成される、付記1に記載の方法。
【符号の説明】
【0066】
100 タッチシステム
10 処理装置
20 記憶ユニット
21 オペレーティングシステム(オペレーションシステム)
22 アプリケーションプログラム
24 ジェスチャーコマンドセット
30 表示デバイス
40 タッチデバイス
41 タッチパネル
42 タッチIC
421 ジェスチャー記憶装置
422 決定装置
M 重心
コンタクト

【特許請求の範囲】
【請求項1】
タッチパネルの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定し、
前記入力されたジェスチャーが所定の普遍的なジェスチャーに一致すると、イベント信号に基づいて対応するジェスチャーコマンドセットを生成する、ジェスチャー認識方法。
【請求項2】
前記イベント信号に応答してアプリケーションプログラムが指定されたか否かを決定する、請求項1に記載の方法。
【請求項3】
前記イベント信号に応答してアプリケーションプログラムが指定されたか否かを決定する際に、
前記アプリケーションプログラムのイベントキューに前記イベント信号を含め、
前記イベントキューから前記イベント信号を取得し、前記アプリケーションプログラムに対応するジェスチャーコマンドセットを表示する、請求項2に記載の方法。
【請求項4】
前記イベント信号に応答してアプリケーションプログラムが指定されていないと、オペレーティングシステムに対応するジェスチャーコマンドセットを表示する、請求項2又は3に記載の方法。
【請求項5】
前記接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定するステップにおいて、
最初の時間で、少なくとも3つのコンタクトが前記タッチパネルに存在するか否かを決定し、
前記タッチパネルへのコンタクトを決定する結果が該当する場合、第1の所定の期間内で、隣接するコンタクトを接続することによって形成される多角形の領域が時間に反比例しているか否かを決定し、
前記多角形の領域が時間に反比例する場合、入力されたジェスチャーが所定の普遍的なジェスチャーに一致することを特定する、請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記多角形の領域を決定するステップにおいて、
前記第1の所定の時間の間、全てのコンタクトの接触状態が維持されるか否かを決定し、
前記全てのコンタクトが接触していない、又は前記多角形の領域が時間に反比例しない場合、入力されたジェスチャーが所定の普遍的なジェスチャーに一致しないことを承認する、請求項5に記載の方法。
【請求項7】
前記接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定するステップにおいて、
最初の時間で、少なくとも3つのコンタクトが前記タッチパネルに存在するか否かを決定し、
前記タッチパネルへのコンタクトを決定する結果が該当する場合、第1の所定の時間内で、2つの隣接するコンタクトの間隔が時間に反比例するか否かを決定し、
前記2つの隣接するコンタクトの間隔が時間に反比例する場合、入力されたジェスチャーが所定の普遍的なジェスチャーに一致することを特定する、請求項1乃至4のいずれか1項に記載の方法。
【請求項8】
前記2つの隣接するコンタクトの間隔を決定するステップにおいて、
前記第1の所定の時間の間、全てのコンタクトの接触状態が維持されるか否かを決定し、
前記全てのコンタクトが接触していない、又は前記2つの隣接するコンタクトの間隔が時間に反比例しない場合、入力されたジェスチャーが所定の普遍的なジェスチャーに一致しないことを承認する、請求項7に記載の方法。
【請求項9】
前記アプリケーションプログラムを決定するステップにおいて、
前記コンタクトの重心を算出し、
前記重心が前記アプリケーションプログラムのウィンドウ領域内に配置されているか否かを決定し、
前記重心の決定結果が該当する場合、前記アプリケーションプログラムが前記イベント信号に応答し、
前記重心の決定結果が該当しない場合、オペレーティングシステムが前記イベント信号に応答する、請求項2乃至4のいずれか1項に記載の方法。
【請求項10】
前記重心は、座標(1)
【数2】

但し、各コンタクトPiの座標を(Xi,Yi)とし、i=1,2,3・・・nであって、n≧3である。
によって定義される、請求項9に記載の方法。
【請求項11】
前記接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定するステップにおいて、
入力されたジェスチャーが前記普遍的なジェスチャーに一致することを特定するステップの後に、前記第2の所定の時間内に、全てのコンタクトが消えたか否かを決定し、
前記全てのコンタクトが消えたとの決定結果が真実の場合、入力されたジェスチャーが前記普遍的なジェスチャーに一致することを承認し、
前記全てのコンタクトが消えたとの決定結果が真実でない場合、入力されたジェスチャーが前記普遍的なジェスチャーに一致しないことを承認する、請求項1乃至10のいずれか1項に記載の方法。
【請求項12】
入力されたジェスチャーが所定の普遍的なジェスチャーに一致しない場合、オペレーティングシステムが前記接触情報に関連付けられたシステムコマンドを生成する、請求項1乃至11のいずれか1項に記載の方法。
【請求項13】
タッチパネルと、
前記タッチパネルへの接触情報に基づいて、入力されたジェスチャーが所定の普遍的なジェスチャーに一致するか否かを決定するとき、イベント信号を出力するために構成されるタッチICと、
前記イベント信号に基づいて、対応するジェスチャーコマンドセットを生成するために、オペレーティングシステム又はアプリケーションプログラムを制御するために構成される処理装置と、
を含むタッチシステム。
【請求項14】
前記オペレーションシステム及び実行されるアプリケーションプログラムを記憶するために構成される記憶ユニットをさらに含む、請求項13に記載のシステム。
【請求項15】
前記処理装置は、前記イベント信号に応答して前記アプリケーションプログラムが指定されることを決定すると、前記処理装置は、前記アプリケーションプログラムのイベントキューに前記イベント信号を含め、前記アプリケーションプログラムは、前記アプリケーションプログラムに対応するジェスチャーコマンドセットを表示するために、前記イベントキューから前記イベント信号を取得する、請求項13又は14に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−25797(P2013−25797A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2012−145317(P2012−145317)
【出願日】平成24年6月28日(2012.6.28)
【出願人】(504272327)宸鴻光電科技股▲分▼有限公司 (30)
【氏名又は名称原語表記】TPK TOUCH SOLUTIONS INC.
【住所又は居所原語表記】6F,NO.13−18,Sec.6, Min Quan E.Rd.,Neihu Dist.,Taipei,Taiwan.
【Fターム(参考)】