ジェスチャ認識方法及びそれを組み込んだタッチシステム
【課題】新規なジェスチャ認識方法と、それを組み込んだタッチシステムを提供する。
【解決手段】ジェスチャ認識方法は、タッチ面に近接した位置にある複数のポインタを検出し、複数のポインタが既知のジェスチャを実行するのに使用されているかどうかを判断することを含む。複数のポインタが、既知のジェスチャを実行するのに使用されているときには、ジェスチャに関連するコマンドが実行される。ジェスチャ認識方法を組み込んだタッチシステムも提供される。
【解決手段】ジェスチャ認識方法は、タッチ面に近接した位置にある複数のポインタを検出し、複数のポインタが既知のジェスチャを実行するのに使用されているかどうかを判断することを含む。複数のポインタが、既知のジェスチャを実行するのに使用されているときには、ジェスチャに関連するコマンドが実行される。ジェスチャ認識方法を組み込んだタッチシステムも提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してタッチシステムに関し、特に、ジェスチャ認識方法及びそれを組み込んだタッチシステムに関する。
【背景技術】
【0002】
タッチシステムは、この技術分野ではよく知られていて、通常、ユーザ入力を発生させるためにポインタを使用して接触がなされるタッチ面を備えたタッチスクリーンを含んでいる。タッチ面とのポインタの接触が検出され、そのポインタの接触は、接触がなされた接触面の領域に応じて、それに対応する出力を発生するのに使用される。基本的に2つの一般的な形態のタッチシステムが利用可能であり、それらは、大きく「能動的な(active)」タッチシステムと「受動的な(passive)」タッチシステムとに分類できる。
【0003】
能動的なタッチシステムでは、ユーザは、通常、何らかの内蔵電源の形態、一般的にはバッテリを必要とする特殊なポインタでタッチ面に接触して、ユーザ入力を発生させることができる。その特殊なポインタは、タッチ面を付勢する赤外光、可視光、超音波周波数、電磁波周波数等のような信号を放射する。
【0004】
受動的なタッチシステムでは、ユーザは、受動的なポインタでタッチ面に接触することでユーザ入力を発生させることができ、タッチ面を付勢するのに特殊なポインタを使用する必要がない。ポインタは、指、円柱形の用具、またはタッチ面上の関心ある所定の領域と接触するのに使用できる任意の適切な物体でもよい。
【0005】
受動的なタッチシステムは、タッチ面と接触するポインタとして、ユーザの指を始めとする任意の好適なポインティングデバイスを使用できるという点で、能動的なタッチシステムに優る利点を備えている。その結果、ユーザ入力を容易に発生させることができる。さらに、受動的なタッチシステムでは特殊な能動ポインタは必要ないので、ユーザにとって、バッテリの電力レベル、ポインタの破損、盗難、または置き忘れは、重要な問題にはならない。
【0006】
例えば、本発明の譲受人であるスマートテクノロジー社(SMART technologies Inc.)に譲渡された、2000年7月5日出願の米国特許出願第09/610,148号、2001年7月5日に出願され2002年1月10日にWO02/03316として公開された特許協力条約に基づく国際出願PCT/CA01/00980(特許文献1)は、コンピュータ生成画像が表示される受動的なタッチ面を含むタッチスクリーンを有するカメラベースのタッチシステムを開示している。長方形のベゼルまたはフレームがタッチ面を囲み、その複数のコーナー(角)部で複数のディジタルカメラを支持している。複数のディジタルカメラは、タッチ面を包含してその全面を見通す重複した視野を有している。ディジタルカメラは、異なった位置からタッチ面全面を見通した画像を取得し、画像データを生成する。ディジタルカメラで取得された画像データは、ディジタルカメラに関連したデジタルシグナルプロセッサで処理され、取り込まれた画像データ中にポインタが存在するかどうかが判断される。取り込まれた画像データにポインタが存在することが確認されると、デジタルシグナルプロセッサは、ポインタ情報パケット(PIP;pointer information packet)を発生し、PIPをマスタコントローラに出力する。各PIPは、ヘッダ部、データ部、及びチェックサムを含んでいる。データ部は、複数のポインタの追跡を可能にするためのポインタ識別子を格納するポインタIDフィールドを含んでいる。データ部は、ポインタx位置を特定するポインタ位置パラメータと、ポインタz位置を特定するポインタ先端パラメータも含んでいる。接触状態フィールドは、ポインタがタッチ面と接しているかどうかを示す値を格納し、タッチ面から浮き上がっているポインタの検出を可能にする。
【0007】
マスタコントローラは、PIPを受領すると、三角測量法を使用してPIPを処理し、取り込まれた画像中の各ポインタのタッチ面に対する位置を(x,y)座標系で決定する。このように、取り込まれた画像に応答してPIPが発生されるので、タッチ面上でのポインタの位置及び動きを追跡することができる。マスタコントローラで生成されたポインタ位置データは、1つまたは2つ以上のアプリケーションプログラムを実行しているコンピュータに送出される。コンピュータは、ポインタ位置データを使用して、タッチ面に表示された、コンピュータ生成画像を更新する。したがって、タッチ面へのポインタの接触及びタッチ面上でのポインタの動きは、文字または図形として記録されるか、またはコンピュータで実行されるアプリケーションプログラムの実行を制御するのに使用することができる。
【0008】
上記説明から理解できるように、ベゼルのコーナに配置された複数のディジタルカメラが画像データを取り込むのに使用されるので、タッチシステムは、複数のポインタがいつタッチ面に接触し、タッチ面を横切って動いたかを決定できる。これは当然、単一のポインタのみを追跡できるアナログ抵抗タッチシステムと比較して、拡張された機能を備えている。拡張機能は、上記のカメラベースのタッチシステムによって提供されるが、現在までこの拡張機能は、十分には活用されていない。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】WO02/03316(特表2004−502261)
【特許文献2】米国特許公開US2004/0149892
【特許文献3】米国特許公開US2004/0179001
【特許文献4】米国特許公開US2004/0095318
【発明の概要】
【発明が解決しようとする課題】
【0010】
したがって、本発明の目的は、新規なジェスチャ認識方法、及びそれを組み込んだタッチシステムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の一態様によれば、
タッチ面に画像を表示するステップと、
前記タッチ面へのポインタの接触を検出するとともに、前記ポインタの接触を調べてジェスチャを表す複数のポインタの接触を認識するステップと、
ジェスチャを表す複数のポインタの接触が発生したときに、表示されている画像を前記ジェスチャに従って更新するステップと、
を有するジェスチャ認識方法が提供される。
【0012】
ジェスチャを表す複数のポインタの接触は、タッチ面への複数の指の接触と、タッチ面への指の接触及びタッチ面への物体の接触と、タッチ面への複数の物体の接触とを含む。
【0013】
一態様において、ジェスチャは、右クリックイベントであって、表示されているアプリケーション上への第1のポインタの接触と、第1のポインタの接触からしきい値距離内で、かつ第1のポインタの接触が維持されている間に発生する引き続く第2のポインタの接触とによって表される。他の態様では、ジェスチャは、スクロールイベントであって、タッチ面への同時のポインタの接触で表される。
【0014】
本発明の他の態様によれば、タッチ面に近接した位置にある複数のポインタを検出し、前記複数のポインタが既知のジェスチャを実行するために使用されているかどうかを判断するステップと、
前記複数のポインタが既知のジェスチャを実行するために使用されている場合には、前記ジェスチャに関連するコマンドを実行するステップと、
を有するジェスチャ認識方法が提供される。
【0015】
検出中、タッチ面へのポインタの接触、またはタッチ面の上方でのタッチ面に近接したポインタの浮上(Hover)が検出されて、既知のジェスチャが実行されているかどうかを判断し、特に、それぞれが異なったコマンドに関連した多くの既知のジェスチャの1つが実行されているかどうかを判断することが好ましい。好ましい実施態様において、タッチ面に対する複数のポインタの動き及び/またはポインタの種類が、実行されているジェスチャを決定する。
【0016】
本発明のさらに他の態様によれば、入力領域内の複数のポインタの動きをほぼ同時に検出可能な対話形システムにおける入力検出方法であって、
ほぼ前記入力領域にわたって見える像を取り込むステップと、
前記画像を解析して前記入力領域内の複数のポインタを検出するステップと、
複数のポインタが検出されたときに、前記複数のポインタに関連するデータを調べて、そのデータが入力ジェスチャを表しているかどうかを判断するステップと、
データが入力ジェスチャを表している場合には、認識された入力ジェスチャに対応するコマンドを実行するステップと、
を有する方法が提供される。
【0017】
本発明のまたさらに他の態様によれば、
少なくとも1つのポインタによって接触されるタッチ面と、
前記タッチ面にわたってほぼ見通せる視野を有する少なくとも1つの撮像デバイスと、
前記タッチ面が複数のポインタによって接触されたときに、前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された画像を解析し、ポインタの接触がなされた前記タッチ面上の位置を決定するとともに、前記複数のポインタの接触を調べて前記複数のポインタの接触がジェスチャを表すかどうかを判断し、前記複数のポインタの接触がジェスチャを表している場合には、前記ジェスチャに関連するコマンドを実行する少なくとも1つのプロセッサと、
を有するタッチシステムが提供される。
【0018】
本発明のまたさらに他の態様によれば、
ユーザ入力を発生させるために1つまたは2つ以上のポインタが動かされる入力領域を視野内に有する少なくとも1つの撮像デバイスと、
前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された各画像を解析し、前記入力領域へのポインタの動作を判断するとともに、前記入力領域内の複数のポインタの動作がジェスチャを表すときを判断し、前記複数のポインタの動作がジェスチャを表したときに前記ジェスチャに対応するコマンドを実行する前記少なくとも1つのプロセッサと、
を有する対話型入力システムが提供される。
【0019】
本発明のまたさらに他の態様によれば、対話型タッチシステムにおいて右クリックマウスイベントをシミュレートする方法であって、
左クリックマウスイベントを示す、表示されたアプリケーション上のタッチ面への第1のポインタの接触を検出するステップと、
前記第1のポインタの接触後のしきい値期間内であって、かつ前記第1のポインタの接触からしきい値距離内で発生する前記タッチ面への第2のポインタの接触を検出するステップと、
前記検出された第2のポインタの接触に応答して右クリックマウスイベントを発生するステップと、
を有する方法が提供される。
【0020】
本発明は、タッチ面への複数のポインタの接触、及び/またはタッチ面上での動きによって表されるジェスチャが検出され、それに対応するコマンドが生成されるので、拡張されたタッチシステムの機能を提供できるという利点を備えている。
【図面の簡単な説明】
【0021】
【図1】本発明に基づくカメラベースのタッチシステムの概要図である。
【図2】図1のタッチシステムの一部を形成するタッチスクリーンの正面図である。
【図3a】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図3b】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図3c】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図3d】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4a】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4b】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4c】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4d】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4e】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4f】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【発明を実施するための形態】
【0022】
次に、添付の図面を参照して、本発明の実施形態をさらに詳細に説明する。
【0023】
ここで図1を参照して、本発明に基づくカメラベースのタッチシステムが示されており、それは参照番号50によって一般的に特定されている。カメラベースのタッチシステム50は、本発明の譲受人であるスマートテクノロジー社に譲渡された、PCT出願番号WO02/03316(特許文献1)に開示されたものと類似であり、その内容は、参照によってここに組み込まれている。理解できるように、タッチシステム50は、デジタルシグナルプロセッサ(DSP;digital signal processor)ベースのマスタコントローラ54に接続されたタッチスクリーン52を含む。マスタコントローラ54は、コンピュータ56にも接続されている。コンピュータ56は、1つまたは2つ以上のアプリケーションプログラムを実行し、タッチスクリーン52に表示されるコンピュータ生成画像出力を送出する。タッチシステム52の座標系が、コンピュータの座標系にマッピングされる。タッチスクリーン52上でのポインタの浮上またはタッチスクリーン52へのポインタの接触、及びタッチスクリーン52の上方またはタッチスクリーン52上でのポインタの動きが、文字または図形として記録でき、またはコンピュータ56によって実行されるアプリケーションプログラムの実行を制御するのに使用できるように、タッチスクリーン52、マスタコントローラ54及びコンピュータ56は、閉ループを形成している。
【0024】
図2にタッチスクリーン52をさらに理解しやすく示している。本実施形態のタッチスクリーン52は、プラズマディスプレイ58のような高解像度表示装置を含み、その前面がタッチ面60を形成している。タッチ面60は、表示装置に接続されている照明されたベゼルまたはフレーム62によって縁取りされている。照明されたベゼル62は、2003年1月30日に出願された米国特許出願番号第10/354,168号(特許文献2)に開示されている種類のものであり、プラズマディスプレイ58の側面に接続された細長いサイドフレームアセンブリ64を含んでいる。各サイドフレームアセンブリ64は、タッチ面60の全面に赤外線の背面照明を投射する光源(図示されない)を収容している。サイドフレームアセンブリ64の端は、DSPベースのCMOSディジタルカメラ70を収納しているコーナ部分68によって結合されている。各ディジタルカメラ70は、その視野がタッチ面60を包含してタッチ面60の全面を見られるように、そのそれぞれのコーナ部分68内に取り付けられている。
【0025】
動作中、ディジタルカメラ70は、タッチ面60の画像を取得し、画像データを発生する。取得された画像データは、ディジタルカメラ70に関連するデジタルシグナルプロセッサによって処理され、取り込まれた画像にポインタが存在するかどうかを判断する。1つまたは2つ以上のポインタが、取得された画像データに存在していることが判断されると、ディジタルカメラ70のデジタルシグナルプロセッサは、ポインタ情報パケット(PIP)を発生させ、そのPIPをデジタルシグナルプロセッサ(DSP)ベースのマスタコントローラ54に送出する。各PIPは、ヘッダ部、データ部、及びチェックサムを含んでいる。データ部は、複数のポインタの追跡を可能にするためのポインタ識別子を格納するポインタIDフィールドを含んでいる。データ部は、ポインタx位置を特定するポインタ位置パラメータと、ポインタz位置を特定するポインタ先端パラメータも含んでいる。接触状態フィールドは、ポインタがタッチ面60と接しているかどうかを示す値を格納し、浮上したポインタの検出を可能にしている。
【0026】
マスタコントローラ54は、PIPを受領すると、三角測量法を使用してPIPを処理し、取り込まれた画像中の各ポインタのタッチ面60に対する位置を(x,y)座標系で決定する。このように、取り込まれた画像に応答してPIPが生成されるので、タッチ面60の上方のポインタの位置及び動きを追跡することができる。画像データが1つまたは2つ以上のポインタの存在を検出するのに処理されるので、ポインタは、例えばユーザの指、円柱形の用具、受動または能動ペンツールまたは削除ツール、または他の適切な物体のような任意の適切な形態をとることができる。画像データがディジタルカメラ70によって取得され、マスタコントローラ54によって処理される方法の詳細は、2001年7月5日に出願され2002年1月10日にWO02/03316として公開された特許協力条約に基づく国際出願PCT/CA01/00980(特許文献1)に記載されていて、その内容は、参照によってここに組み込まれている。したがって、その詳細についてはここではこれ以上説明しない。
【0027】
マスタコントローラ54は、各ポインタがタッチ面60に近接及び/または接触し、タッチ面60上を動くにつれ、発生したポインタデータを、タッチ面に対する各ポインタの位置を特定するコンピュータ56に出力する。コンピュータ56に読み込まれたドライバが、ポインタデータを受領し、ポインタデータを調べ、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが発生されたかどうかを判断する。特に、ドライバは、ポインタデータを調べて、取り込まれた画像中での複数のポインタの存在を検出し、次に、複数のポインタの特質を調べて、例えば右クリックジェスチャ、スクロールジェスチャ、回転ジェスチャ等のような既知のジェスチャが実行されたかどうかを判断する。ジェスチャが実行されている場合には、ドライバは、判断されたジェスチャに関連するコマンド(イベント)を発生し、コンピュータ56によって実行されているアクティブなアプリケーションプログラムにコマンドを送出する。
【0028】
ここで図3aから図4fを参照して、タッチシステムで認識可能なジェスチャの具体例、及び認識されたジェスチャに応答して実行される発生動作を示す。
【0029】
直観的右クリックジェスチャ:
図3aから図3dに、直観的な(inuitive)右クリックジェスチャを示す。ユーザがタッチ面に表示されたアプリケーション上のタッチ面60に指で接触すると、ドライバはその接触を左クリックマウスイベントと認識し、アプリケーションに左クリックマウスイベントを導入する。ユーザが、1本の指で接触を維持ながら、次に他の指でタッチ面60と接触し、後の接触が最初の接触の右側でかつ近接している場合には、ドライバは、第2のタッチ面接触を右クリックジェスチャと認識し、アプリケーションに右クリックイベントを導入する。右クリックイベントに応答して、アプリケーションは、ドロップダウンメニュ(不図示)を開いて表示する。これによって、ユーザがマウスを使用して右クリック動作を起動したときに実行された動作と同じように、手ジェスチャを使用して右クリック動作を起動することができることが理解されるであろう。図3aから図3dは、同一の手の2本の指を使用して実行される直観的な右クリックジェスチャを示しているが、異なった手の指を使用しても右クリックジェスチャを実行できることは理解されるだろう。
【0030】
上/下及び左/右にスクロールするジェスチャ:
図4aから図4eは、上(アップ)/下(ダウン)及び左(レフト)/右(ライト)スクロールジェスチャを示している。ユーザが、タッチ面に表示されているアプリケーションウィンドウ上のタッチ面60に1対の指で同時に接触し、かつその一対の指がほぼ水平方向に近接した間隔で置かれた場合、ドライバは、その同時の指の接触をスクロールジェスチャと認識し、アプリケーションにスクロールイベントを導入する。指の次の縦方向の動きに応答してドライバからアプリケーションに送出されたポインタ位置データは、アプリケーションでスクロールアップ(上へスクロール)またはスクロールダウン(下へスクロール)コマンドのいずれかとして解釈される。アプリケーションは、スクロールアップまたはスクロールダウンコマンドに応答して、アプリケーションウィンドウ内に示された情報を縦方向動きの方向に動かす。指の引き続く水平方向の動きに応答してドライバからアプリケーションに送出されるポインタ位置データは、アプリケーションによって、横方向のスクロールコマンドとして解釈される。アプリケーションは、横方向のスクロールコマンドに応答して、アプリケーションウィンドウ内に表示された情報を水平方向の動きに対応した側へ動かす。図4aから図4fは、同一の手の2本の指を使用して実行されているスクロールジェスチャを示しているが、異なった手の指を使用してもスクロールジェスチャを実行できることは理解されるだろう。
【0031】
図示していないが、多くの他のジェスチャを、ドライバによって認識され、コンピュータ56によって実行されているアプリケーションを制御するコマンドを発生するのに使用することができる。ここで、このような他のジェスチャの具体例を説明する。
【0032】
ページアップ/ダウンジェスチャ:
ユーザが、タッチ面に表示されているアプリケーションウィンドウ上のタッチ面60に3本の指で同時に接触し、かつその3本の指がほぼ水平方向に近接した間隔で置かれた場合、ドライバは、その同時の指の接触をページジェスチャと認識し、アプリケーションにページイベントを導入する。指の引き続く縦方向の動きに応答してドライバからアプリケーションに送出されたポインタ位置データは、縦方向の動きに応じてアプリケーションでページアップ(前頁)またはページダウン(次頁)コマンドとして解釈される。アプリケーションは、ページアップまたはページダウンコマンドに応答して、ウィンドウ内に表示された情報を適切な方向に動かす。
【0033】
回転ジェスチャ:
ユーザが一方の指でアプリケーションウィンドウ内に表示されたオブジェクトの上のタッチ面60に接触し、次に他方の指でタッチ面に接触し、一方の指でタッチ面との接触を維持しながら弓形に他方の指を動かすと、ドライバは、第2の指の弓形の動きを回転ジェスチャとして認識する。ドライバは、次に、回転コマンドをアプリケーションに導入し、アプリケーションに、第1の指によって定められた接触点のまわりを、弓形の方向でかつ弧線の経路と等しい量だけオブジェクトを回転させる。
【0034】
ズームジェスチャ:
ユーザがアプリケーションウィンドウ上のタッチ面60に1対の近接した間隔の指で同時に接触して、指の間の距離をほぼ水平方向に拡大させると、ドライバは指の動きをズームアウトジェスチャとして認識する。ドライバは、次に、ズームアウトコマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウに表示された情報の大きさを拡大させる。ユーザがアプリケーションウィンドウ上のタッチ面60に1対の離れた間隔の指で同時に接触して、指を互いの方向に向かってほぼ水平方向に動かすと、ドライバは、指の動きをズームインジェスチャと認識する。ドライバは、次にズームインコマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウに示された情報の大きさを縮小させる。
【0035】
あるいは、ズームアウト及びズームインコマンドは、他のジェスチャで表現することもできる。例えば、ユーザがアプリケーションウィンドウ上に一緒に束ねられた指を持つわしづかみ状の手でタッチ面60と接触して、指を外方向に広げることによって手を広げると、ドライバは、指の動きをズームアウトジェスチャとして認識する。
【0036】
ユーザがアプリケーションウィンドウ上に広げられた指を持つほぼフラットな手でタッチ面60と接触し、指を内方向につかむことによって手を縮めてそれらを一緒に束ねると、ドライバは、指の動きをズームインジェスチャとして認識する。
【0037】
拡大ジェスチャ:
ユーザがアプリケーションウィンドウ上のタッチ面60に1対の近接した間隔の指で同時に接触して、指の間の距離をほぼ対角線方向に拡大すると、ドライバは、指の動きをウィンドウサイズ拡大ジェスチャとして認識する。ドライバは、次にウィンドウサイズ拡大コマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウの大きさを拡大させる。ユーザがアプリケーションウィンドウ上のタッチ面60に1対の離れた間隔の指で同時に接触して、指を互いの方向に向かってほぼ対角線方向に動かすと、ドライバは、指の動きをウィンドウサイズ縮小ジェスチャとして認識する。ドライバは、次にウィンドウサイズ縮小コマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウの大きさを縮小させる。
【0038】
アイコン選択及びオープンジェスチャ:
ユーザがアイコン上のタッチ面60に2本の近接した間隔の指で同時に接触すると、ドライバは、その指の接触をダブルクリックジェスチャとして認識する。ドライバは、次にオープンアプリケーションコマンドを発生し、コンピュータ56上で動作しているデスクトップアプリケーションに、選択されたアプリケーションをオープンさせる。
【0039】
オブジェクト/ウィンドウ移動ジェスチャ:
ユーザがタッチ面60の上方で、かつアプリケーションウィンドウ内に表示されたオブジェクトの上方で1対の近接した間隔の指を動かすと、ドライバは、浮上している指の動きをオブジェクト平行移動(translate)ジェスチャとして認識する。ドライバは、次に、アプリケーションにオブジェクト平行移動コマンドを導入し、アプリケーションに、指が動かされた方向でかつその距離と等しい量だけ表示されたオブジェクトを平行移動させる。
【0040】
ユーザがタッチ面60の上方で、かつアプリケーションウィンドウの上方で3つの近接した間隔の指を動かすと、ドライバは浮上した指の動きをウィンドウ平行移動ジェスチャとして認識する。ドライバは、次にウィンドウ平行移動コマンドを発生し、コンピュータ56上で動作しているデスクトップアプリケーションに、指が動かされた方向でかつその距離と等しい量だけアプリケーションウィンドウを平行移動させる。
【0041】
上記のジェスチャは、複数の指の接触または浮上に応答して認識されるように説明したが、ジェスチャを実行するのに他の物体が使用された場合にも、同一のジェスチャを認識することができる。例えば、ジェスチャを実行するのに複数のペンツールを使用でき、またはその代わりに、ジェスチャを実行するのに1本の指と1つのペンツールを使用することができる。
【0042】
異なったポインタ特性を使用して、認識されたジェスチャの機能を拡張することもできる。例えば、スクロールジェスチャの場合には、表示された情報がスクロールされる速さを決めるのに、ポインタがタッチ面60と接触する角度を利用することができる。急角度でタッチ面60と接触するポインタは、遅いスクロール速度を表しているのに対し、浅い角度でタッチ面60と接触するポインタは、高速のスクロール速度を表していてもよい。
【0043】
2003年3月11日に出願された同時係属中の米国特許出願番号第10/384,783号(特許文献3)に記載されているように、タッチシステムが、タッチ面60と接触するのに使用されるポインタの種類の違いを区別することができる場合、及び/または2002年11月15日に出願された同時係属中の米国特許出願番号第10/294、917号(特許文献4)に記載されているように、ポインタの特性を判断することができる場合には、そしてこれらの内容は、参照によってここに組み込まれているが、異なった機能を、異なったポインタを使用して実行される類似のジェスチャに割り当てることができる。例えば、上記の回転ジェスチャの場合には、アプリケーションウィンドウ内のオブジェクトに最初に接触する指及び弧線を描くペンツールを使用して同一のジェスチャが実行されると、ドライバは、指の接触とペンの動きを、回転ジェスチャよりむしろパターン塗りつぶしジェスチャとして認識する。指の接触とそれに引き続いた近接した間隔で置かれたペンツールの接触とは、スクロールジェスチャではなく円を描くジェスチャを表し、指の接触とそれに引き続く近接した間隔で置かれた削除ツール(eraser)の接触が、ページ消去ジェスチャを表すこともできる。上記説明から理解できるように、タッチ面60に近づけられた複数のポインタの違いが識別できるということは、識別可能な個別のポインタのみを使用して同一のジェスチャを実行することによってもたらされる機能を著しく向上させる。
【0044】
ポインタデータを調べてポインタデータが既知のジェスチャに応答して発生されているかどうかを判断するものとしてドライバを説明したが、コンピュータによって実行されているアクティブなアプリケーションがジェスチャを認識する能力を有する場合には、ポインタデータをジェスチャ認識のためにアクティブなアプリケーションに送出できることを当業者は理解できるであろう。
【0045】
所望であれば、タッチ面60を複数の領域に分割して、ユーザ入力間の曖昧さを発生させることなく、複数のユーザが同時にタッチ面と対話できるようにすることも可能である。この場合、しきい値の距離より大きいタッチ面への複数の接触またはタッチ面上の複数の浮上は、複数のユーザ入力として処理される。しきい値の距離内にあるタッチ面への複数の接触またはタッチ面上の複数の浮上は、単一のユーザによってなされた複数の接触として処理され、その複数の接触がジェスチャを表すかどうかを判断するために調べられる。
【0046】
本発明の好ましい実施形態を説明したが、添付の請求項に定める本発明の精神及び範囲から逸脱することなく、変形及び修正がなされ得ることは当業者には十分に理解されるであろう。
【技術分野】
【0001】
本発明は、概してタッチシステムに関し、特に、ジェスチャ認識方法及びそれを組み込んだタッチシステムに関する。
【背景技術】
【0002】
タッチシステムは、この技術分野ではよく知られていて、通常、ユーザ入力を発生させるためにポインタを使用して接触がなされるタッチ面を備えたタッチスクリーンを含んでいる。タッチ面とのポインタの接触が検出され、そのポインタの接触は、接触がなされた接触面の領域に応じて、それに対応する出力を発生するのに使用される。基本的に2つの一般的な形態のタッチシステムが利用可能であり、それらは、大きく「能動的な(active)」タッチシステムと「受動的な(passive)」タッチシステムとに分類できる。
【0003】
能動的なタッチシステムでは、ユーザは、通常、何らかの内蔵電源の形態、一般的にはバッテリを必要とする特殊なポインタでタッチ面に接触して、ユーザ入力を発生させることができる。その特殊なポインタは、タッチ面を付勢する赤外光、可視光、超音波周波数、電磁波周波数等のような信号を放射する。
【0004】
受動的なタッチシステムでは、ユーザは、受動的なポインタでタッチ面に接触することでユーザ入力を発生させることができ、タッチ面を付勢するのに特殊なポインタを使用する必要がない。ポインタは、指、円柱形の用具、またはタッチ面上の関心ある所定の領域と接触するのに使用できる任意の適切な物体でもよい。
【0005】
受動的なタッチシステムは、タッチ面と接触するポインタとして、ユーザの指を始めとする任意の好適なポインティングデバイスを使用できるという点で、能動的なタッチシステムに優る利点を備えている。その結果、ユーザ入力を容易に発生させることができる。さらに、受動的なタッチシステムでは特殊な能動ポインタは必要ないので、ユーザにとって、バッテリの電力レベル、ポインタの破損、盗難、または置き忘れは、重要な問題にはならない。
【0006】
例えば、本発明の譲受人であるスマートテクノロジー社(SMART technologies Inc.)に譲渡された、2000年7月5日出願の米国特許出願第09/610,148号、2001年7月5日に出願され2002年1月10日にWO02/03316として公開された特許協力条約に基づく国際出願PCT/CA01/00980(特許文献1)は、コンピュータ生成画像が表示される受動的なタッチ面を含むタッチスクリーンを有するカメラベースのタッチシステムを開示している。長方形のベゼルまたはフレームがタッチ面を囲み、その複数のコーナー(角)部で複数のディジタルカメラを支持している。複数のディジタルカメラは、タッチ面を包含してその全面を見通す重複した視野を有している。ディジタルカメラは、異なった位置からタッチ面全面を見通した画像を取得し、画像データを生成する。ディジタルカメラで取得された画像データは、ディジタルカメラに関連したデジタルシグナルプロセッサで処理され、取り込まれた画像データ中にポインタが存在するかどうかが判断される。取り込まれた画像データにポインタが存在することが確認されると、デジタルシグナルプロセッサは、ポインタ情報パケット(PIP;pointer information packet)を発生し、PIPをマスタコントローラに出力する。各PIPは、ヘッダ部、データ部、及びチェックサムを含んでいる。データ部は、複数のポインタの追跡を可能にするためのポインタ識別子を格納するポインタIDフィールドを含んでいる。データ部は、ポインタx位置を特定するポインタ位置パラメータと、ポインタz位置を特定するポインタ先端パラメータも含んでいる。接触状態フィールドは、ポインタがタッチ面と接しているかどうかを示す値を格納し、タッチ面から浮き上がっているポインタの検出を可能にする。
【0007】
マスタコントローラは、PIPを受領すると、三角測量法を使用してPIPを処理し、取り込まれた画像中の各ポインタのタッチ面に対する位置を(x,y)座標系で決定する。このように、取り込まれた画像に応答してPIPが発生されるので、タッチ面上でのポインタの位置及び動きを追跡することができる。マスタコントローラで生成されたポインタ位置データは、1つまたは2つ以上のアプリケーションプログラムを実行しているコンピュータに送出される。コンピュータは、ポインタ位置データを使用して、タッチ面に表示された、コンピュータ生成画像を更新する。したがって、タッチ面へのポインタの接触及びタッチ面上でのポインタの動きは、文字または図形として記録されるか、またはコンピュータで実行されるアプリケーションプログラムの実行を制御するのに使用することができる。
【0008】
上記説明から理解できるように、ベゼルのコーナに配置された複数のディジタルカメラが画像データを取り込むのに使用されるので、タッチシステムは、複数のポインタがいつタッチ面に接触し、タッチ面を横切って動いたかを決定できる。これは当然、単一のポインタのみを追跡できるアナログ抵抗タッチシステムと比較して、拡張された機能を備えている。拡張機能は、上記のカメラベースのタッチシステムによって提供されるが、現在までこの拡張機能は、十分には活用されていない。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】WO02/03316(特表2004−502261)
【特許文献2】米国特許公開US2004/0149892
【特許文献3】米国特許公開US2004/0179001
【特許文献4】米国特許公開US2004/0095318
【発明の概要】
【発明が解決しようとする課題】
【0010】
したがって、本発明の目的は、新規なジェスチャ認識方法、及びそれを組み込んだタッチシステムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の一態様によれば、
タッチ面に画像を表示するステップと、
前記タッチ面へのポインタの接触を検出するとともに、前記ポインタの接触を調べてジェスチャを表す複数のポインタの接触を認識するステップと、
ジェスチャを表す複数のポインタの接触が発生したときに、表示されている画像を前記ジェスチャに従って更新するステップと、
を有するジェスチャ認識方法が提供される。
【0012】
ジェスチャを表す複数のポインタの接触は、タッチ面への複数の指の接触と、タッチ面への指の接触及びタッチ面への物体の接触と、タッチ面への複数の物体の接触とを含む。
【0013】
一態様において、ジェスチャは、右クリックイベントであって、表示されているアプリケーション上への第1のポインタの接触と、第1のポインタの接触からしきい値距離内で、かつ第1のポインタの接触が維持されている間に発生する引き続く第2のポインタの接触とによって表される。他の態様では、ジェスチャは、スクロールイベントであって、タッチ面への同時のポインタの接触で表される。
【0014】
本発明の他の態様によれば、タッチ面に近接した位置にある複数のポインタを検出し、前記複数のポインタが既知のジェスチャを実行するために使用されているかどうかを判断するステップと、
前記複数のポインタが既知のジェスチャを実行するために使用されている場合には、前記ジェスチャに関連するコマンドを実行するステップと、
を有するジェスチャ認識方法が提供される。
【0015】
検出中、タッチ面へのポインタの接触、またはタッチ面の上方でのタッチ面に近接したポインタの浮上(Hover)が検出されて、既知のジェスチャが実行されているかどうかを判断し、特に、それぞれが異なったコマンドに関連した多くの既知のジェスチャの1つが実行されているかどうかを判断することが好ましい。好ましい実施態様において、タッチ面に対する複数のポインタの動き及び/またはポインタの種類が、実行されているジェスチャを決定する。
【0016】
本発明のさらに他の態様によれば、入力領域内の複数のポインタの動きをほぼ同時に検出可能な対話形システムにおける入力検出方法であって、
ほぼ前記入力領域にわたって見える像を取り込むステップと、
前記画像を解析して前記入力領域内の複数のポインタを検出するステップと、
複数のポインタが検出されたときに、前記複数のポインタに関連するデータを調べて、そのデータが入力ジェスチャを表しているかどうかを判断するステップと、
データが入力ジェスチャを表している場合には、認識された入力ジェスチャに対応するコマンドを実行するステップと、
を有する方法が提供される。
【0017】
本発明のまたさらに他の態様によれば、
少なくとも1つのポインタによって接触されるタッチ面と、
前記タッチ面にわたってほぼ見通せる視野を有する少なくとも1つの撮像デバイスと、
前記タッチ面が複数のポインタによって接触されたときに、前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された画像を解析し、ポインタの接触がなされた前記タッチ面上の位置を決定するとともに、前記複数のポインタの接触を調べて前記複数のポインタの接触がジェスチャを表すかどうかを判断し、前記複数のポインタの接触がジェスチャを表している場合には、前記ジェスチャに関連するコマンドを実行する少なくとも1つのプロセッサと、
を有するタッチシステムが提供される。
【0018】
本発明のまたさらに他の態様によれば、
ユーザ入力を発生させるために1つまたは2つ以上のポインタが動かされる入力領域を視野内に有する少なくとも1つの撮像デバイスと、
前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された各画像を解析し、前記入力領域へのポインタの動作を判断するとともに、前記入力領域内の複数のポインタの動作がジェスチャを表すときを判断し、前記複数のポインタの動作がジェスチャを表したときに前記ジェスチャに対応するコマンドを実行する前記少なくとも1つのプロセッサと、
を有する対話型入力システムが提供される。
【0019】
本発明のまたさらに他の態様によれば、対話型タッチシステムにおいて右クリックマウスイベントをシミュレートする方法であって、
左クリックマウスイベントを示す、表示されたアプリケーション上のタッチ面への第1のポインタの接触を検出するステップと、
前記第1のポインタの接触後のしきい値期間内であって、かつ前記第1のポインタの接触からしきい値距離内で発生する前記タッチ面への第2のポインタの接触を検出するステップと、
前記検出された第2のポインタの接触に応答して右クリックマウスイベントを発生するステップと、
を有する方法が提供される。
【0020】
本発明は、タッチ面への複数のポインタの接触、及び/またはタッチ面上での動きによって表されるジェスチャが検出され、それに対応するコマンドが生成されるので、拡張されたタッチシステムの機能を提供できるという利点を備えている。
【図面の簡単な説明】
【0021】
【図1】本発明に基づくカメラベースのタッチシステムの概要図である。
【図2】図1のタッチシステムの一部を形成するタッチスクリーンの正面図である。
【図3a】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図3b】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図3c】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図3d】右クリック入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4a】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4b】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4c】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4d】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4e】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【図4f】上/下及び左/右スクロールの入力ジェスチャを示す、図2のタッチスクリーンの前面斜視図である。
【発明を実施するための形態】
【0022】
次に、添付の図面を参照して、本発明の実施形態をさらに詳細に説明する。
【0023】
ここで図1を参照して、本発明に基づくカメラベースのタッチシステムが示されており、それは参照番号50によって一般的に特定されている。カメラベースのタッチシステム50は、本発明の譲受人であるスマートテクノロジー社に譲渡された、PCT出願番号WO02/03316(特許文献1)に開示されたものと類似であり、その内容は、参照によってここに組み込まれている。理解できるように、タッチシステム50は、デジタルシグナルプロセッサ(DSP;digital signal processor)ベースのマスタコントローラ54に接続されたタッチスクリーン52を含む。マスタコントローラ54は、コンピュータ56にも接続されている。コンピュータ56は、1つまたは2つ以上のアプリケーションプログラムを実行し、タッチスクリーン52に表示されるコンピュータ生成画像出力を送出する。タッチシステム52の座標系が、コンピュータの座標系にマッピングされる。タッチスクリーン52上でのポインタの浮上またはタッチスクリーン52へのポインタの接触、及びタッチスクリーン52の上方またはタッチスクリーン52上でのポインタの動きが、文字または図形として記録でき、またはコンピュータ56によって実行されるアプリケーションプログラムの実行を制御するのに使用できるように、タッチスクリーン52、マスタコントローラ54及びコンピュータ56は、閉ループを形成している。
【0024】
図2にタッチスクリーン52をさらに理解しやすく示している。本実施形態のタッチスクリーン52は、プラズマディスプレイ58のような高解像度表示装置を含み、その前面がタッチ面60を形成している。タッチ面60は、表示装置に接続されている照明されたベゼルまたはフレーム62によって縁取りされている。照明されたベゼル62は、2003年1月30日に出願された米国特許出願番号第10/354,168号(特許文献2)に開示されている種類のものであり、プラズマディスプレイ58の側面に接続された細長いサイドフレームアセンブリ64を含んでいる。各サイドフレームアセンブリ64は、タッチ面60の全面に赤外線の背面照明を投射する光源(図示されない)を収容している。サイドフレームアセンブリ64の端は、DSPベースのCMOSディジタルカメラ70を収納しているコーナ部分68によって結合されている。各ディジタルカメラ70は、その視野がタッチ面60を包含してタッチ面60の全面を見られるように、そのそれぞれのコーナ部分68内に取り付けられている。
【0025】
動作中、ディジタルカメラ70は、タッチ面60の画像を取得し、画像データを発生する。取得された画像データは、ディジタルカメラ70に関連するデジタルシグナルプロセッサによって処理され、取り込まれた画像にポインタが存在するかどうかを判断する。1つまたは2つ以上のポインタが、取得された画像データに存在していることが判断されると、ディジタルカメラ70のデジタルシグナルプロセッサは、ポインタ情報パケット(PIP)を発生させ、そのPIPをデジタルシグナルプロセッサ(DSP)ベースのマスタコントローラ54に送出する。各PIPは、ヘッダ部、データ部、及びチェックサムを含んでいる。データ部は、複数のポインタの追跡を可能にするためのポインタ識別子を格納するポインタIDフィールドを含んでいる。データ部は、ポインタx位置を特定するポインタ位置パラメータと、ポインタz位置を特定するポインタ先端パラメータも含んでいる。接触状態フィールドは、ポインタがタッチ面60と接しているかどうかを示す値を格納し、浮上したポインタの検出を可能にしている。
【0026】
マスタコントローラ54は、PIPを受領すると、三角測量法を使用してPIPを処理し、取り込まれた画像中の各ポインタのタッチ面60に対する位置を(x,y)座標系で決定する。このように、取り込まれた画像に応答してPIPが生成されるので、タッチ面60の上方のポインタの位置及び動きを追跡することができる。画像データが1つまたは2つ以上のポインタの存在を検出するのに処理されるので、ポインタは、例えばユーザの指、円柱形の用具、受動または能動ペンツールまたは削除ツール、または他の適切な物体のような任意の適切な形態をとることができる。画像データがディジタルカメラ70によって取得され、マスタコントローラ54によって処理される方法の詳細は、2001年7月5日に出願され2002年1月10日にWO02/03316として公開された特許協力条約に基づく国際出願PCT/CA01/00980(特許文献1)に記載されていて、その内容は、参照によってここに組み込まれている。したがって、その詳細についてはここではこれ以上説明しない。
【0027】
マスタコントローラ54は、各ポインタがタッチ面60に近接及び/または接触し、タッチ面60上を動くにつれ、発生したポインタデータを、タッチ面に対する各ポインタの位置を特定するコンピュータ56に出力する。コンピュータ56に読み込まれたドライバが、ポインタデータを受領し、ポインタデータを調べ、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが発生されたかどうかを判断する。特に、ドライバは、ポインタデータを調べて、取り込まれた画像中での複数のポインタの存在を検出し、次に、複数のポインタの特質を調べて、例えば右クリックジェスチャ、スクロールジェスチャ、回転ジェスチャ等のような既知のジェスチャが実行されたかどうかを判断する。ジェスチャが実行されている場合には、ドライバは、判断されたジェスチャに関連するコマンド(イベント)を発生し、コンピュータ56によって実行されているアクティブなアプリケーションプログラムにコマンドを送出する。
【0028】
ここで図3aから図4fを参照して、タッチシステムで認識可能なジェスチャの具体例、及び認識されたジェスチャに応答して実行される発生動作を示す。
【0029】
直観的右クリックジェスチャ:
図3aから図3dに、直観的な(inuitive)右クリックジェスチャを示す。ユーザがタッチ面に表示されたアプリケーション上のタッチ面60に指で接触すると、ドライバはその接触を左クリックマウスイベントと認識し、アプリケーションに左クリックマウスイベントを導入する。ユーザが、1本の指で接触を維持ながら、次に他の指でタッチ面60と接触し、後の接触が最初の接触の右側でかつ近接している場合には、ドライバは、第2のタッチ面接触を右クリックジェスチャと認識し、アプリケーションに右クリックイベントを導入する。右クリックイベントに応答して、アプリケーションは、ドロップダウンメニュ(不図示)を開いて表示する。これによって、ユーザがマウスを使用して右クリック動作を起動したときに実行された動作と同じように、手ジェスチャを使用して右クリック動作を起動することができることが理解されるであろう。図3aから図3dは、同一の手の2本の指を使用して実行される直観的な右クリックジェスチャを示しているが、異なった手の指を使用しても右クリックジェスチャを実行できることは理解されるだろう。
【0030】
上/下及び左/右にスクロールするジェスチャ:
図4aから図4eは、上(アップ)/下(ダウン)及び左(レフト)/右(ライト)スクロールジェスチャを示している。ユーザが、タッチ面に表示されているアプリケーションウィンドウ上のタッチ面60に1対の指で同時に接触し、かつその一対の指がほぼ水平方向に近接した間隔で置かれた場合、ドライバは、その同時の指の接触をスクロールジェスチャと認識し、アプリケーションにスクロールイベントを導入する。指の次の縦方向の動きに応答してドライバからアプリケーションに送出されたポインタ位置データは、アプリケーションでスクロールアップ(上へスクロール)またはスクロールダウン(下へスクロール)コマンドのいずれかとして解釈される。アプリケーションは、スクロールアップまたはスクロールダウンコマンドに応答して、アプリケーションウィンドウ内に示された情報を縦方向動きの方向に動かす。指の引き続く水平方向の動きに応答してドライバからアプリケーションに送出されるポインタ位置データは、アプリケーションによって、横方向のスクロールコマンドとして解釈される。アプリケーションは、横方向のスクロールコマンドに応答して、アプリケーションウィンドウ内に表示された情報を水平方向の動きに対応した側へ動かす。図4aから図4fは、同一の手の2本の指を使用して実行されているスクロールジェスチャを示しているが、異なった手の指を使用してもスクロールジェスチャを実行できることは理解されるだろう。
【0031】
図示していないが、多くの他のジェスチャを、ドライバによって認識され、コンピュータ56によって実行されているアプリケーションを制御するコマンドを発生するのに使用することができる。ここで、このような他のジェスチャの具体例を説明する。
【0032】
ページアップ/ダウンジェスチャ:
ユーザが、タッチ面に表示されているアプリケーションウィンドウ上のタッチ面60に3本の指で同時に接触し、かつその3本の指がほぼ水平方向に近接した間隔で置かれた場合、ドライバは、その同時の指の接触をページジェスチャと認識し、アプリケーションにページイベントを導入する。指の引き続く縦方向の動きに応答してドライバからアプリケーションに送出されたポインタ位置データは、縦方向の動きに応じてアプリケーションでページアップ(前頁)またはページダウン(次頁)コマンドとして解釈される。アプリケーションは、ページアップまたはページダウンコマンドに応答して、ウィンドウ内に表示された情報を適切な方向に動かす。
【0033】
回転ジェスチャ:
ユーザが一方の指でアプリケーションウィンドウ内に表示されたオブジェクトの上のタッチ面60に接触し、次に他方の指でタッチ面に接触し、一方の指でタッチ面との接触を維持しながら弓形に他方の指を動かすと、ドライバは、第2の指の弓形の動きを回転ジェスチャとして認識する。ドライバは、次に、回転コマンドをアプリケーションに導入し、アプリケーションに、第1の指によって定められた接触点のまわりを、弓形の方向でかつ弧線の経路と等しい量だけオブジェクトを回転させる。
【0034】
ズームジェスチャ:
ユーザがアプリケーションウィンドウ上のタッチ面60に1対の近接した間隔の指で同時に接触して、指の間の距離をほぼ水平方向に拡大させると、ドライバは指の動きをズームアウトジェスチャとして認識する。ドライバは、次に、ズームアウトコマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウに表示された情報の大きさを拡大させる。ユーザがアプリケーションウィンドウ上のタッチ面60に1対の離れた間隔の指で同時に接触して、指を互いの方向に向かってほぼ水平方向に動かすと、ドライバは、指の動きをズームインジェスチャと認識する。ドライバは、次にズームインコマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウに示された情報の大きさを縮小させる。
【0035】
あるいは、ズームアウト及びズームインコマンドは、他のジェスチャで表現することもできる。例えば、ユーザがアプリケーションウィンドウ上に一緒に束ねられた指を持つわしづかみ状の手でタッチ面60と接触して、指を外方向に広げることによって手を広げると、ドライバは、指の動きをズームアウトジェスチャとして認識する。
【0036】
ユーザがアプリケーションウィンドウ上に広げられた指を持つほぼフラットな手でタッチ面60と接触し、指を内方向につかむことによって手を縮めてそれらを一緒に束ねると、ドライバは、指の動きをズームインジェスチャとして認識する。
【0037】
拡大ジェスチャ:
ユーザがアプリケーションウィンドウ上のタッチ面60に1対の近接した間隔の指で同時に接触して、指の間の距離をほぼ対角線方向に拡大すると、ドライバは、指の動きをウィンドウサイズ拡大ジェスチャとして認識する。ドライバは、次にウィンドウサイズ拡大コマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウの大きさを拡大させる。ユーザがアプリケーションウィンドウ上のタッチ面60に1対の離れた間隔の指で同時に接触して、指を互いの方向に向かってほぼ対角線方向に動かすと、ドライバは、指の動きをウィンドウサイズ縮小ジェスチャとして認識する。ドライバは、次にウィンドウサイズ縮小コマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウの大きさを縮小させる。
【0038】
アイコン選択及びオープンジェスチャ:
ユーザがアイコン上のタッチ面60に2本の近接した間隔の指で同時に接触すると、ドライバは、その指の接触をダブルクリックジェスチャとして認識する。ドライバは、次にオープンアプリケーションコマンドを発生し、コンピュータ56上で動作しているデスクトップアプリケーションに、選択されたアプリケーションをオープンさせる。
【0039】
オブジェクト/ウィンドウ移動ジェスチャ:
ユーザがタッチ面60の上方で、かつアプリケーションウィンドウ内に表示されたオブジェクトの上方で1対の近接した間隔の指を動かすと、ドライバは、浮上している指の動きをオブジェクト平行移動(translate)ジェスチャとして認識する。ドライバは、次に、アプリケーションにオブジェクト平行移動コマンドを導入し、アプリケーションに、指が動かされた方向でかつその距離と等しい量だけ表示されたオブジェクトを平行移動させる。
【0040】
ユーザがタッチ面60の上方で、かつアプリケーションウィンドウの上方で3つの近接した間隔の指を動かすと、ドライバは浮上した指の動きをウィンドウ平行移動ジェスチャとして認識する。ドライバは、次にウィンドウ平行移動コマンドを発生し、コンピュータ56上で動作しているデスクトップアプリケーションに、指が動かされた方向でかつその距離と等しい量だけアプリケーションウィンドウを平行移動させる。
【0041】
上記のジェスチャは、複数の指の接触または浮上に応答して認識されるように説明したが、ジェスチャを実行するのに他の物体が使用された場合にも、同一のジェスチャを認識することができる。例えば、ジェスチャを実行するのに複数のペンツールを使用でき、またはその代わりに、ジェスチャを実行するのに1本の指と1つのペンツールを使用することができる。
【0042】
異なったポインタ特性を使用して、認識されたジェスチャの機能を拡張することもできる。例えば、スクロールジェスチャの場合には、表示された情報がスクロールされる速さを決めるのに、ポインタがタッチ面60と接触する角度を利用することができる。急角度でタッチ面60と接触するポインタは、遅いスクロール速度を表しているのに対し、浅い角度でタッチ面60と接触するポインタは、高速のスクロール速度を表していてもよい。
【0043】
2003年3月11日に出願された同時係属中の米国特許出願番号第10/384,783号(特許文献3)に記載されているように、タッチシステムが、タッチ面60と接触するのに使用されるポインタの種類の違いを区別することができる場合、及び/または2002年11月15日に出願された同時係属中の米国特許出願番号第10/294、917号(特許文献4)に記載されているように、ポインタの特性を判断することができる場合には、そしてこれらの内容は、参照によってここに組み込まれているが、異なった機能を、異なったポインタを使用して実行される類似のジェスチャに割り当てることができる。例えば、上記の回転ジェスチャの場合には、アプリケーションウィンドウ内のオブジェクトに最初に接触する指及び弧線を描くペンツールを使用して同一のジェスチャが実行されると、ドライバは、指の接触とペンの動きを、回転ジェスチャよりむしろパターン塗りつぶしジェスチャとして認識する。指の接触とそれに引き続いた近接した間隔で置かれたペンツールの接触とは、スクロールジェスチャではなく円を描くジェスチャを表し、指の接触とそれに引き続く近接した間隔で置かれた削除ツール(eraser)の接触が、ページ消去ジェスチャを表すこともできる。上記説明から理解できるように、タッチ面60に近づけられた複数のポインタの違いが識別できるということは、識別可能な個別のポインタのみを使用して同一のジェスチャを実行することによってもたらされる機能を著しく向上させる。
【0044】
ポインタデータを調べてポインタデータが既知のジェスチャに応答して発生されているかどうかを判断するものとしてドライバを説明したが、コンピュータによって実行されているアクティブなアプリケーションがジェスチャを認識する能力を有する場合には、ポインタデータをジェスチャ認識のためにアクティブなアプリケーションに送出できることを当業者は理解できるであろう。
【0045】
所望であれば、タッチ面60を複数の領域に分割して、ユーザ入力間の曖昧さを発生させることなく、複数のユーザが同時にタッチ面と対話できるようにすることも可能である。この場合、しきい値の距離より大きいタッチ面への複数の接触またはタッチ面上の複数の浮上は、複数のユーザ入力として処理される。しきい値の距離内にあるタッチ面への複数の接触またはタッチ面上の複数の浮上は、単一のユーザによってなされた複数の接触として処理され、その複数の接触がジェスチャを表すかどうかを判断するために調べられる。
【0046】
本発明の好ましい実施形態を説明したが、添付の請求項に定める本発明の精神及び範囲から逸脱することなく、変形及び修正がなされ得ることは当業者には十分に理解されるであろう。
【特許請求の範囲】
【請求項1】
タッチ面に画像を表示するステップと、
前記タッチ面へのポインタの接触を検出するとともに、前記ポインタの接触を調べてジェスチャを表す複数のポインタの接触を認識するステップと、
ジェスチャを表す複数のポインタの接触が発生したときに、表示されている画像を前記ジェスチャにしたがって更新するステップと、
を有するジェスチャ認識方法。
【請求項2】
ジェスチャを表す複数のポインタの接触は、前記タッチ面への複数の指の接触を含む、請求項1に記載の方法。
【請求項3】
ジェスチャを表す複数のポインタの接触は、前記タッチ面への指の接触及び前記タッチ面への物体の接触を含む、請求項1に記載の方法。
【請求項4】
ジェスチャを表す複数のポインタの接触は、前記のタッチ面への複数の物体の接触を含む、請求項1に記載の方法。
【請求項5】
ジェスチャを表す複数のポインタの接触は、前記タッチ面への複数の指の接触と、前記タッチ面への指の接触及び前記タッチ面への物体の接触と、前記タッチ面への複数の物体の接触との少なくとの1つを含む、請求項1に記載の方法。
【請求項6】
前記ジェスチャは、右クリックイベントを表す請求項1に記載の方法。
【請求項7】
前記右クリックイベントは、表示されたアプリケーションへの第1のポインタの接触と、前記第1のポインタの接触に引き続く前記第1のポインタの接触に隣接した第2のポインタの接触とによって表される、請求項6に記載の方法。
【請求項8】
前記右クリックイベントは、表示されたアプリケーションへの第1のポインタの接触と、前記第1のポインタの接触からしきい値距離内で、かつ前記第1のポインタの接触が維持されている間に発生する引き続く第2のポインタの接触とによって表される、請求項6に記載の方法。
【請求項9】
前記ジェスチャは、前記タッチ面への同時に発生するポインタの接触によって表される、請求項1に記載の方法。
【請求項10】
前記同時のポインタの接触は、前記タッチ面への同時の指の接触である、請求項9に記載の方法。
【請求項11】
前記タッチ面への前記同時のポインタの接触は、スクロールイベントを表すとともに、前記タッチ面への接触の後に続く前記タッチ面上でのポインタの移動方向が、スクロールの方向を決定する、請求項9に記載の方法。
【請求項12】
タッチ面に近接した位置にある複数のポインタを検出し、前記複数のポインタが既知のジェスチャを実行するために使用されているかどうかを判断するステップと、
前記複数のポインタが既知のジェスチャを実行するために使用されている場合には、前記ジェスチャに関連するコマンドを実行するステップと、
を有するジェスチャ認識方法。
【請求項13】
前記検出中、前記タッチ面へのポインタの接触、または前記タッチ面に近接したポインタの浮上が検出されて、既知のジェスチャが実行されているかどうかを判断する、請求項12に記載の方法。
【請求項14】
前記複数のポインタは、複数の指と、少なくとも1本の指及び少なくとも1つの物体と、前記タッチ面に近接した複数の物体とを含む、請求項13に記載の方法。
【請求項15】
前記検出中、複数のポインタは、それぞれが異なったコマンドに関連した多くの既知のジェスチャの1つが実行されているかどうかを判断するために調べられる、請求項13に記載の方法。
【請求項16】
タッチ面に対する複数のポインタの動きが、実行されているジェスチャを決定する、請求項15に記載の方法。
【請求項17】
ポインタの種類が、実行されているジェスチャを決定する、請求項15に記載の方法。
【請求項18】
タッチ面に対する複数のポインタの動き及びポインタの種類が、実行されているジェスチャを決定する、請求項15に記載の方法。
【請求項19】
入力領域内の複数のポインタの動きをほぼ同時に検出可能な対話形システムにおける入力検出方法であって、
ほぼ前記入力領域にわたって見える画像を取り込むステップと、
前記画像を解析して前記入力領域内の複数のポインタを検出するステップと、
複数のポインタが検出されたときに、前記複数のポインタに関連するデータを調べて、そのデータが入力ジェスチャを表しているかどうかを判断するステップと、
データが入力ジェスチャを表している場合には、認識された入力ジェスチャに対応するコマンドを実行するステップと、
を有する方法。
【請求項20】
少なくとも1つのポインタによって接触されるタッチ面と、
前記タッチ面にわたってほぼ見通せる視野を有する少なくとも1つの撮像デバイスと、
前記タッチ面が複数のポインタによって接触されたときに、前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された画像を解析し、ポインタの接触がなされた前記タッチ面上の位置を決定するとともに、前記複数のポインタの接触を調べて前記複数のポインタの接触がジェスチャを表すかどうかを判断し、前記複数のポインタの接触がジェスチャを表している場合には、前記ジェスチャに関連するコマンドを実行する少なくとも1つのプロセッサと、
を有するタッチシステム。
【請求項21】
第1のポインタの接触に隣接した次の第2のポインタの接触によって後続される前記第1のポインタの接触が、ジェスチャを表す、請求項20に記載のタッチシステム。
【請求項22】
少なくとも2つの同時のポインタの接触がジェスチャを表す、請求項20に記載のタッチシステム。
【請求項23】
各ジェスチャは、指定された複数のポインタの動作によって表される、請求項20に記載のタッチシステム。
【請求項24】
各ジェスチャは、さらにポインタの種類によって表される、請求項23に記載のタッチシステム。
【請求項25】
ユーザ入力を発生させるために1つまたは2つ以上のポインタが動かされる入力領域を視野内に有する少なくとも1つの撮像デバイスと、
前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された各画像を解析し、前記入力領域へのポインタの動作を判断するとともに、前記入力領域内の複数のポインタの動作がジェスチャを表すときを判断し、前記複数のポインタの動作がジェスチャを表したときに前記ジェスチャに対応するコマンドを実行する前記少なくとも1つのプロセッサと、
を有する対話型入力システム。
【請求項26】
各ジェスチャは、さらにポインタの種類によって表される、請求項25に記載の対話型入力システム。
【請求項27】
対話型タッチシステムにおいて右クリックマウスイベントをシミュレートする方法であって、
左クリックマウスイベントを表すタッチ面への第1のポインタの接触を検出するステップと、
前記タッチ面への次の第2のポインタの接触が、前記第1のポインタの接触からしきい値距離内で発生するときを検出するステップと、
前記検出された第2のポインタの接触に応答して右クリックマウスイベントを発生するステップと、
を有する方法。
【請求項28】
前記右クリックマウスイベントを発生させるためには、前記第1のポインタの接触中に、前記第2のポインタの接触も必ず発生しなければならない、請求項27に記載の方法。
【請求項29】
前記右クリックマウスイベントを発生させるためには、前記第1のポインタの接触の右側で前記第2のポインタの接触も必ず発生しなければならない、請求項28に記載の方法。
【請求項1】
タッチ面に画像を表示するステップと、
前記タッチ面へのポインタの接触を検出するとともに、前記ポインタの接触を調べてジェスチャを表す複数のポインタの接触を認識するステップと、
ジェスチャを表す複数のポインタの接触が発生したときに、表示されている画像を前記ジェスチャにしたがって更新するステップと、
を有するジェスチャ認識方法。
【請求項2】
ジェスチャを表す複数のポインタの接触は、前記タッチ面への複数の指の接触を含む、請求項1に記載の方法。
【請求項3】
ジェスチャを表す複数のポインタの接触は、前記タッチ面への指の接触及び前記タッチ面への物体の接触を含む、請求項1に記載の方法。
【請求項4】
ジェスチャを表す複数のポインタの接触は、前記のタッチ面への複数の物体の接触を含む、請求項1に記載の方法。
【請求項5】
ジェスチャを表す複数のポインタの接触は、前記タッチ面への複数の指の接触と、前記タッチ面への指の接触及び前記タッチ面への物体の接触と、前記タッチ面への複数の物体の接触との少なくとの1つを含む、請求項1に記載の方法。
【請求項6】
前記ジェスチャは、右クリックイベントを表す請求項1に記載の方法。
【請求項7】
前記右クリックイベントは、表示されたアプリケーションへの第1のポインタの接触と、前記第1のポインタの接触に引き続く前記第1のポインタの接触に隣接した第2のポインタの接触とによって表される、請求項6に記載の方法。
【請求項8】
前記右クリックイベントは、表示されたアプリケーションへの第1のポインタの接触と、前記第1のポインタの接触からしきい値距離内で、かつ前記第1のポインタの接触が維持されている間に発生する引き続く第2のポインタの接触とによって表される、請求項6に記載の方法。
【請求項9】
前記ジェスチャは、前記タッチ面への同時に発生するポインタの接触によって表される、請求項1に記載の方法。
【請求項10】
前記同時のポインタの接触は、前記タッチ面への同時の指の接触である、請求項9に記載の方法。
【請求項11】
前記タッチ面への前記同時のポインタの接触は、スクロールイベントを表すとともに、前記タッチ面への接触の後に続く前記タッチ面上でのポインタの移動方向が、スクロールの方向を決定する、請求項9に記載の方法。
【請求項12】
タッチ面に近接した位置にある複数のポインタを検出し、前記複数のポインタが既知のジェスチャを実行するために使用されているかどうかを判断するステップと、
前記複数のポインタが既知のジェスチャを実行するために使用されている場合には、前記ジェスチャに関連するコマンドを実行するステップと、
を有するジェスチャ認識方法。
【請求項13】
前記検出中、前記タッチ面へのポインタの接触、または前記タッチ面に近接したポインタの浮上が検出されて、既知のジェスチャが実行されているかどうかを判断する、請求項12に記載の方法。
【請求項14】
前記複数のポインタは、複数の指と、少なくとも1本の指及び少なくとも1つの物体と、前記タッチ面に近接した複数の物体とを含む、請求項13に記載の方法。
【請求項15】
前記検出中、複数のポインタは、それぞれが異なったコマンドに関連した多くの既知のジェスチャの1つが実行されているかどうかを判断するために調べられる、請求項13に記載の方法。
【請求項16】
タッチ面に対する複数のポインタの動きが、実行されているジェスチャを決定する、請求項15に記載の方法。
【請求項17】
ポインタの種類が、実行されているジェスチャを決定する、請求項15に記載の方法。
【請求項18】
タッチ面に対する複数のポインタの動き及びポインタの種類が、実行されているジェスチャを決定する、請求項15に記載の方法。
【請求項19】
入力領域内の複数のポインタの動きをほぼ同時に検出可能な対話形システムにおける入力検出方法であって、
ほぼ前記入力領域にわたって見える画像を取り込むステップと、
前記画像を解析して前記入力領域内の複数のポインタを検出するステップと、
複数のポインタが検出されたときに、前記複数のポインタに関連するデータを調べて、そのデータが入力ジェスチャを表しているかどうかを判断するステップと、
データが入力ジェスチャを表している場合には、認識された入力ジェスチャに対応するコマンドを実行するステップと、
を有する方法。
【請求項20】
少なくとも1つのポインタによって接触されるタッチ面と、
前記タッチ面にわたってほぼ見通せる視野を有する少なくとも1つの撮像デバイスと、
前記タッチ面が複数のポインタによって接触されたときに、前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された画像を解析し、ポインタの接触がなされた前記タッチ面上の位置を決定するとともに、前記複数のポインタの接触を調べて前記複数のポインタの接触がジェスチャを表すかどうかを判断し、前記複数のポインタの接触がジェスチャを表している場合には、前記ジェスチャに関連するコマンドを実行する少なくとも1つのプロセッサと、
を有するタッチシステム。
【請求項21】
第1のポインタの接触に隣接した次の第2のポインタの接触によって後続される前記第1のポインタの接触が、ジェスチャを表す、請求項20に記載のタッチシステム。
【請求項22】
少なくとも2つの同時のポインタの接触がジェスチャを表す、請求項20に記載のタッチシステム。
【請求項23】
各ジェスチャは、指定された複数のポインタの動作によって表される、請求項20に記載のタッチシステム。
【請求項24】
各ジェスチャは、さらにポインタの種類によって表される、請求項23に記載のタッチシステム。
【請求項25】
ユーザ入力を発生させるために1つまたは2つ以上のポインタが動かされる入力領域を視野内に有する少なくとも1つの撮像デバイスと、
前記少なくとも1つの撮像デバイスと通信して前記少なくとも1つの撮像デバイスによって取得された各画像を解析し、前記入力領域へのポインタの動作を判断するとともに、前記入力領域内の複数のポインタの動作がジェスチャを表すときを判断し、前記複数のポインタの動作がジェスチャを表したときに前記ジェスチャに対応するコマンドを実行する前記少なくとも1つのプロセッサと、
を有する対話型入力システム。
【請求項26】
各ジェスチャは、さらにポインタの種類によって表される、請求項25に記載の対話型入力システム。
【請求項27】
対話型タッチシステムにおいて右クリックマウスイベントをシミュレートする方法であって、
左クリックマウスイベントを表すタッチ面への第1のポインタの接触を検出するステップと、
前記タッチ面への次の第2のポインタの接触が、前記第1のポインタの接触からしきい値距離内で発生するときを検出するステップと、
前記検出された第2のポインタの接触に応答して右クリックマウスイベントを発生するステップと、
を有する方法。
【請求項28】
前記右クリックマウスイベントを発生させるためには、前記第1のポインタの接触中に、前記第2のポインタの接触も必ず発生しなければならない、請求項27に記載の方法。
【請求項29】
前記右クリックマウスイベントを発生させるためには、前記第1のポインタの接触の右側で前記第2のポインタの接触も必ず発生しなければならない、請求項28に記載の方法。
【図1】
【図2】
【図3a】
【図3b】
【図3c】
【図3d】
【図4a】
【図4b】
【図4c】
【図4d】
【図4e】
【図4f】
【図2】
【図3a】
【図3b】
【図3c】
【図3d】
【図4a】
【図4b】
【図4c】
【図4d】
【図4e】
【図4f】
【公開番号】特開2009−146435(P2009−146435A)
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願番号】特願2009−23842(P2009−23842)
【出願日】平成21年2月4日(2009.2.4)
【分割の表示】特願2004−269153(P2004−269153)の分割
【原出願日】平成16年9月16日(2004.9.16)
【出願人】(592221263)スマート テクノロジーズ ユーエルシー (15)
【氏名又は名称原語表記】SMART TECHNOLOGIES ULC
【Fターム(参考)】
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願日】平成21年2月4日(2009.2.4)
【分割の表示】特願2004−269153(P2004−269153)の分割
【原出願日】平成16年9月16日(2004.9.16)
【出願人】(592221263)スマート テクノロジーズ ユーエルシー (15)
【氏名又は名称原語表記】SMART TECHNOLOGIES ULC
【Fターム(参考)】
[ Back to top ]