(57)【特許請求の範囲】
【請求項１】
タッチ面に画像を表示するステップと、
異なる位置から前記タッチ面を見渡す複数のデジタルカメラによって取得された画像を処理することによって、前記タッチ面へのポインタの接触を検出するステップと、
ポインタの検出された各接触ごとに、ポインタ識別フィールドとポインタ位置パラメータとポインタ先端パラメータとを有するポインタ情報パケットを生成するステップと、
前記ポインタ情報パケットを調べてポインタの接触の間の間隔がしきい値距離を超えているかどうかを判断し、前記間隔が前記しきい値距離を超えている場合にポインタの各接触を別個のユーザ入力と指定し、前記間隔が前記しきい値距離以内である場合には、単一のユーザ入力と指定し、さらに、ポインタの種別と相対的なポインタの動きとに基づき、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが前記ポインタ情報パケット内に発生されたかどうかを判断することによって、ジェスチャを表す引き続く複数のポインタの接触を認識するステップと、
ジェスチャを表す引き続く複数のポインタの接触が発生したときに、表示されている画像を前記認識されたジェスチャにしたがって更新するステップと、
を有するジェスチャ認識方法。
【請求項２】
ジェスチャを表す引き続く複数のポインタの接触は、前記タッチ面への引き続く複数の指の接触と前記タッチ面への引き続く複数の物体の接触との一方を含む、請求項１に記載の方法。
【請求項３】
ジェスチャを表す引き続く複数のポインタの接触は、前記タッチ面への指の接触及び前記タッチ面への物体の接触を含む、請求項１に記載の方法。
【請求項４】
ジェスチャを表す引き続く複数のポインタの接触は、前記タッチ面への引き続く複数の指の接触と、前記タッチ面への指の接触及び前記タッチ面への物体の接触と、前記タッチ面への引き続く複数の物体の接触との少なくとも１つを含む、請求項１に記載の方法。
【請求項５】
タッチ面に近接した位置にある複数のポインタを検出し、前記複数のポインタが既知のジェスチャを実行するために使用されているかどうかを判断するステップと、
検出された各ポインタごとに、ポインタ識別フィールドとポインタ位置パラメータとポインタ先端パラメータとを有するポインタ情報パケットを生成するステップと、
前記ポインタ情報パケットを調べてポインタの接触の間の間隔がしきい値距離を超えているかどうかを判断し、前記間隔が前記しきい値距離を超えている場合にポインタの各接触を別個のユーザ入力と指定し、前記間隔が前記しきい値距離以内である場合には、単一のユーザ入力と指定し、さらに、ポインタの種別と相対的なポインタの動きとに基づき、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが前記ポインタ情報パケット内に発生されたかどうかを判断することによって、ジェスチャを表す引き続く複数のポインタの接触を認識するステップと、
前記複数のポインタが前記ジェスチャを実行するために使用されている場合には、前記ジェスチャに関連するコマンドを実行するステップと、
を有するジェスチャ認識方法。
【請求項６】
入力領域内の複数のポインタの動きをほぼ同時に検出可能な対話形システムにおける入力検出方法であって、
前記入力領域に見える画像を取り込むステップと、
前記画像を解析して前記入力領域内の複数のポインタを検出するステップと、
複数のポインタが検出されたときに、検出された各ポインタごとに、ポインタ識別フィールドとポインタ位置パラメータとポインタ先端パラメータとを有するポインタ情報パケットを生成するステップと、
前記ポインタ情報パケットを調べてポインタの接触の間の間隔がしきい値距離を超えているかどうかを判断し、前記間隔が前記しきい値距離を超えている場合にポインタの各接触を別個のユーザ入力と指定し、前記間隔が前記しきい値距離以内である場合には、単一のユーザ入力と指定し、さらに、ポインタの種別と相対的なポインタの動きとに基づき、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが前記ポインタ情報パケット内に発生されたかどうかを判断することによって、ジェスチャを表す引き続く複数のポインタの接触を認識するステップと、
前記ジェスチャが認識された場合には、認識された入力ジェスチャに対応するコマンドを実行するステップと、
を有する方法。
【請求項７】
少なくとも１つのポインタによって接触されるタッチ面と、
前記タッチ面にわたってほぼ見通せる視野を有する少なくとも１つの撮像デバイスと、
前記少なくとも１つの撮像デバイスと通信して前記少なくとも１つの撮像デバイスによって取得された画像を解析し、ポインタの接触がなされた前記タッチ面上の位置を決定し、ポインタの検出された各接触ごとに、ポインタ識別フィールドとポインタ位置パラメータとポインタ先端パラメータとを有するポインタ情報パケットを生成し、前記ポインタ情報パケットを調べてポインタの接触の間の間隔がしきい値距離を超えているかどうかを判断し、前記間隔が前記しきい値距離を超えている場合にポインタの各接触を別個のユーザ入力と指定し、前記間隔が前記しきい値距離以内である場合には、単一のユーザ入力と指定し、さらに、ポインタの種別と相対的なポインタの動きとに基づき、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが前記ポインタ情報パケット内に発生されたかどうかを判断することによって、ジェスチャを表す引き続く複数のポインタの接触を認識し、前記ジェスチャが認識された場合に前記ジェスチャに関連するコマンドを実行する、少なくとも１つのプロセッサと、
を有するタッチシステム。
【請求項８】
ユーザ入力を発生させるために１つまたは２つ以上のポインタが動かされる入力領域を視野内に有する少なくとも１つの撮像デバイスと、
前記少なくとも１つの撮像デバイスと通信して前記少なくとも１つの撮像デバイスによって取得された各画像を解析し、前記入力領域へのポインタの動作を判断し、検出された各ポインタごとに、ポインタ識別フィールドとポインタ位置パラメータとポインタ先端パラメータとを有するポインタ情報パケットを生成し、前記ポインタ情報パケットを調べてポインタの接触の間の間隔がしきい値距離を超えているかどうかを判断し、前記間隔が前記しきい値距離を超えている場合にポインタの各接触を別個のユーザ入力と指定し、前記間隔が前記しきい値距離以内である場合には、単一のユーザ入力と指定し、さらに、ポインタの種別と相対的なポインタの動きとに基づき、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが前記ポインタ情報パケット内に発生されたかどうかを判断することによって、ジェスチャを表す引き続く複数のポインタの接触を認識し、前記ジェスチャが認識された場合に前記ジェスチャに対応するコマンドを実行する、プロセッサと、
を有する対話型入力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してタッチシステムに関し、特に、ジェスチャ認識方法及びそれを組み込んだタッチシステムに関する。
【背景技術】
【０００２】
タッチシステムは、この技術分野ではよく知られていて、通常、ユーザ入力を発生させるためにポインタを使用して接触がなされるタッチ面を備えたタッチスクリーンを含んでいる。タッチ面とのポインタの接触が検出され、そのポインタの接触は、接触がなされた接触面の領域に応じて、それに対応する出力を発生するのに使用される。基本的に２つの一般的な形態のタッチシステムが利用可能であり、それらは、大きく「能動的な(active)」タッチシステムと「受動的な(passive)」タッチシステムとに分類できる。
【０００３】
能動的なタッチシステムでは、ユーザは、通常、何らかの内蔵電源の形態、一般的にはバッテリを必要とする特殊なポインタでタッチ面に接触して、ユーザ入力を発生させることができる。その特殊なポインタは、タッチ面を付勢する赤外光、可視光、超音波周波数、電磁波周波数等のような信号を放射する。
【０００４】
受動的なタッチシステムでは、ユーザは、受動的なポインタでタッチ面に接触することでユーザ入力を発生させることができ、タッチ面を付勢するのに特殊なポインタを使用する必要がない。ポインタは、指、円柱形の用具、またはタッチ面上の関心ある所定の領域と接触するのに使用できる任意の適切な物体でもよい。
【０００５】
受動的なタッチシステムは、タッチ面と接触するポインタとして、ユーザの指を始めとする任意の好適なポインティングデバイスを使用できるという点で、能動的なタッチシステムに優る利点を備えている。その結果、ユーザ入力を容易に発生させることができる。さらに、受動的なタッチシステムでは特殊な能動ポインタは必要ないので、ユーザにとって、バッテリの電力レベル、ポインタの破損、盗難、または置き忘れは、重要な問題にはならない。
【０００６】
例えば、本発明の譲受人であるスマートテクノロジー社(SMART technologies Inc.)に譲渡された、２０００年７月５日出願の米国特許出願第０９／６１０，１４８号、２００１年７月５日に出願され２００２年１月１０日にＷＯ０２／０３３１６として公開された特許協力条約に基づく国際出願ＰＣＴ／ＣＡ０１／００９８０（特許文献１）は、コンピュータ生成画像が表示される受動的なタッチ面を含むタッチスクリーンを有するカメラベースのタッチシステムを開示している。長方形のベゼルまたはフレームがタッチ面を囲み、その複数のコーナー（角）部で複数のディジタルカメラを支持している。複数のディジタルカメラは、タッチ面を包含してその全面を見通す重複した視野を有している。ディジタルカメラは、異なった位置からタッチ面全面を見通した画像を取得し、画像データを生成する。ディジタルカメラで取得された画像データは、ディジタルカメラに関連したデジタルシグナルプロセッサで処理され、取り込まれた画像データ中にポインタが存在するかどうかが判断される。取り込まれた画像データにポインタが存在することが確認されると、デジタルシグナルプロセッサは、ポインタ情報パケット（ＰＩＰ；pointer information packet）を発生し、ＰＩＰをマスタコントローラに出力する。各ＰＩＰは、ヘッダ部、データ部、及びチェックサムを含んでいる。データ部は、複数のポインタの追跡を可能にするためのポインタ識別子を格納するポインタＩＤフィールドを含んでいる。データ部は、ポインタｘ位置を特定するポインタ位置パラメータと、ポインタｚ位置を特定するポインタ先端パラメータも含んでいる。接触状態フィールドは、ポインタがタッチ面と接しているかどうかを示す値を格納し、タッチ面から浮き上がっているポインタの検出を可能にする。
【０００７】
マスタコントローラは、ＰＩＰを受領すると、三角測量法を使用してＰＩＰを処理し、取り込まれた画像中の各ポインタのタッチ面に対する位置を（ｘ，ｙ）座標系で決定する。このように、取り込まれた画像に応答してＰＩＰが発生されるので、タッチ面上でのポインタの位置及び動きを追跡することができる。マスタコントローラで生成されたポインタ位置データは、１つまたは２つ以上のアプリケーションプログラムを実行しているコンピュータに送出される。コンピュータは、ポインタ位置データを使用して、タッチ面に表示された、コンピュータ生成画像を更新する。したがって、タッチ面へのポインタの接触及びタッチ面上でのポインタの動きは、文字または図形として記録されるか、またはコンピュータで実行されるアプリケーションプログラムの実行を制御するのに使用することができる。
【０００８】
上記説明から理解できるように、ベゼルのコーナに配置された複数のディジタルカメラが画像データを取り込むのに使用されるので、タッチシステムは、複数のポインタがいつタッチ面に接触し、タッチ面を横切って動いたかを決定できる。これは当然、単一のポインタのみを追跡できるアナログ抵抗タッチシステムと比較して、拡張された機能を備えている。拡張機能は、上記のカメラベースのタッチシステムによって提供されるが、現在までこの拡張機能は、十分には活用されていない。
【特許文献１】ＷＯ０２／０３３１６（特表２００４−５０２２６１）
【特許文献２】米国特許公開ＵＳ２００４／０１４９８９２
【特許文献３】米国特許公開ＵＳ２００４／０１７９００１
【特許文献４】米国特許公開ＵＳ２００４／００９５３１８
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、本発明の目的は、新規なジェスチャ認識方法、及びそれを組み込んだタッチシステムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、
タッチ面に画像を表示するステップと、
前記タッチ面へのポインタの接触を検出するとともに、前記ポインタの接触を調べてジェスチャを表す複数のポインタの接触を認識するステップと、
ジェスチャを表す複数のポインタの接触が発生したときに、表示されている画像を前記ジェスチャに従って更新するステップと、
を有するジェスチャ認識方法が提供される。
【００１１】
ジェスチャを表す複数のポインタの接触は、タッチ面への複数の指の接触と、タッチ面への指の接触及びタッチ面への物体の接触と、タッチ面への複数の物体の接触とを含む。
【００１２】
一態様において、ジェスチャは、右クリックイベントであって、表示されているアプリケーション上への第１のポインタの接触と、第１のポインタの接触からしきい値距離内で、かつ第１のポインタの接触が維持されている間に発生する引き続く第２のポインタの接触とによって表される。他の態様では、ジェスチャは、スクロールイベントであって、タッチ面への同時のポインタの接触で表される。
【００１３】
本発明の他の態様によれば、タッチ面に近接した位置にある複数のポインタを検出し、前記複数のポインタが既知のジェスチャを実行するために使用されているかどうかを判断するステップと、
前記複数のポインタが既知のジェスチャを実行するために使用されている場合には、前記ジェスチャに関連するコマンドを実行するステップと、
を有するジェスチャ認識方法が提供される。
【００１４】
検出中、タッチ面へのポインタの接触、またはタッチ面の上方でのタッチ面に近接したポインタの浮上(Hover)が検出されて、既知のジェスチャが実行されているかどうかを判断し、特に、それぞれが異なったコマンドに関連した多くの既知のジェスチャの１つが実行されているかどうかを判断することが好ましい。好ましい実施態様において、タッチ面に対する複数のポインタの動き及び／またはポインタの種類が、実行されているジェスチャを決定する。
【００１５】
本発明のさらに他の態様によれば、入力領域内の複数のポインタの動きをほぼ同時に検出可能な対話形システムにおける入力検出方法であって、
ほぼ前記入力領域にわたって見える像を取り込むステップと、
前記画像を解析して前記入力領域内の複数のポインタを検出するステップと、
複数のポインタが検出されたときに、前記複数のポインタに関連するデータを調べて、そのデータが入力ジェスチャを表しているかどうかを判断するステップと、
データが入力ジェスチャを表している場合には、認識された入力ジェスチャに対応するコマンドを実行するステップと、
を有する方法が提供される。
【００１６】
本発明のまたさらに他の態様によれば、
少なくとも１つのポインタによって接触されるタッチ面と、
前記タッチ面にわたってほぼ見通せる視野を有する少なくとも１つの撮像デバイスと、
前記タッチ面が複数のポインタによって接触されたときに、前記少なくとも１つの撮像デバイスと通信して前記少なくとも１つの撮像デバイスによって取得された画像を解析し、ポインタの接触がなされた前記タッチ面上の位置を決定するとともに、前記複数のポインタの接触を調べて前記複数のポインタの接触がジェスチャを表すかどうかを判断し、前記複数のポインタの接触がジェスチャを表している場合には、前記ジェスチャに関連するコマンドを実行する少なくとも１つのプロセッサと、
を有するタッチシステムが提供される。
【００１７】
本発明のまたさらに他の態様によれば、
ユーザ入力を発生させるために１つまたは２つ以上のポインタが動かされる入力領域を視野内に有する少なくとも１つの撮像デバイスと、
前記少なくとも１つの撮像デバイスと通信して前記少なくとも１つの撮像デバイスによって取得された各画像を解析し、前記入力領域へのポインタの動作を判断するとともに、前記入力領域内の複数のポインタの動作がジェスチャを表すときを判断し、前記複数のポインタの動作がジェスチャを表したときに前記ジェスチャに対応するコマンドを実行する前記少なくとも１つのプロセッサと、
を有する対話型入力システムが提供される。
【００１８】
本発明のまたさらに他の態様によれば、対話型タッチシステムにおいて右クリックマウスイベントをシミュレートする方法であって、
左クリックマウスイベントを示す、表示されたアプリケーション上のタッチ面への第１のポインタの接触を検出するステップと、
前記第１のポインタの接触後のしきい値期間内であって、かつ前記第１のポインタの接触からしきい値距離内で発生する前記タッチ面への第２のポインタの接触を検出するステップと、
前記検出された第２のポインタの接触に応答して右クリックマウスイベントを発生するステップと、
を有する方法が提供される。
【００１９】
本発明は、タッチ面への複数のポインタの接触、及び／またはタッチ面上での動きによって表されるジェスチャが検出され、それに対応するコマンドが生成されるので、拡張されたタッチシステムの機能を提供できるという利点を備えている。
【発明を実施するための最良の形態】
【００２０】
次に、添付の図面を参照して、本発明の実施形態をさらに詳細に説明する。
【００２１】
ここで図１を参照して、本発明に基づくカメラベースのタッチシステムが示されており、それは参照番号５０によって一般的に特定されている。カメラベースのタッチシステム５０は、本発明の譲受人であるスマートテクノロジー社に譲渡された、ＰＣＴ出願番号ＷＯ０２／０３３１６に開示されたものと類似であり、その内容は、参照によってここに組み込まれている。理解できるように、タッチシステム５０は、デジタルシグナルプロセッサ（ＤＳＰ；digital signal processor）ベースのマスタコントローラ５４に接続されたタッチスクリーン５２を含む。マスタコントローラ５４は、コンピュータ５６にも接続されている。コンピュータ５６は、１つまたは２つ以上のアプリケーションプログラムを実行し、タッチスクリーン５２に表示されるコンピュータ生成画像出力を送出する。タッチシステム５２の座標系が、コンピュータの座標系にマッピングされる。タッチスクリーン５２上でのポインタの浮上またはタッチスクリーン５２へのポインタの接触、及びタッチスクリーン５２の上方またはタッチスクリーン５２上でのポインタの動きが、文字または図形として記録でき、またはコンピュータ５６によって実行されるアプリケーションプログラムの実行を制御するのに使用できるように、タッチスクリーン５２、マスタコントローラ５４及びコンピュータ５６は、閉ループを形成している。
【００２２】
図２にタッチスクリーン５２をさらに理解しやすく示している。本実施形態のタッチスクリーン５２は、プラズマディスプレイ５８のような高解像度表示装置を含み、その前面がタッチ面６０を形成している。タッチ面６０は、表示装置に接続されている照明されたベゼルまたはフレーム６２によって縁取りされている。照明されたベゼル６２は、２００３年１月３０日に出願された米国特許出願番号第１０／３５４，１６８号（特許文献２）に開示されている種類のものであり、プラズマディスプレイ５８の側面に接続された細長いサイドフレームアセンブリ６４を含んでいる。各サイドフレームアセンブリ６４は、タッチ面６０の全面に赤外線の背面照明を投射する光源（図示されない）を収容している。サイドフレームアセンブリ６４の端は、ＤＳＰベースのＣＭＯＳディジタルカメラ７０を収納しているコーナ部分６８によって結合されている。各ディジタルカメラ７０は、その視野がタッチ面６０を包含してタッチ面６０の全面を見られるように、そのそれぞれのコーナ部分６８内に取り付けられている。
【００２３】
動作中、ディジタルカメラ７０は、タッチ面６０の画像を取得し、画像データを発生する。取得された画像データは、ディジタルカメラ７０に関連するデジタルシグナルプロセッサによって処理され、取り込まれた画像にポインタが存在するかどうかを判断する。１つまたは２つ以上のポインタが、取得された画像データに存在していることが判断されると、ディジタルカメラ７０のデジタルシグナルプロセッサは、ポインタ情報パケット（ＰＩＰ）を発生させ、そのＰＩＰをデジタルシグナルプロセッサ（ＤＳＰ）ベースのマスタコントローラ５４に送出する。各ＰＩＰは、ヘッダ部、データ部、及びチェックサムを含んでいる。データ部は、複数のポインタの追跡を可能にするためのポインタ識別子を格納するポインタＩＤフィールドを含んでいる。データ部は、ポインタｘ位置を特定するポインタ位置パラメータと、ポインタｚ位置を特定するポインタ先端パラメータも含んでいる。接触状態フィールドは、ポインタがタッチ面６０と接しているかどうかを示す値を格納し、浮上したポインタの検出を可能にしている。
【００２４】
マスタコントローラ５４は、ＰＩＰを受領すると、三角測量法を使用してＰＩＰを処理し、取り込まれた画像中の各ポインタのタッチ面６０に対する位置を（ｘ，ｙ）座標系で決定する。このように、取り込まれた画像に応答してＰＩＰが生成されるので、タッチ面６０の上方のポインタの位置及び動きを追跡することができる。画像データが１つまたは２つ以上のポインタの存在を検出するのに処理されるので、ポインタは、例えばユーザの指、円柱形の用具、受動または能動ペンツールまたは削除ツール、または他の適切な物体のような任意の適切な形態をとることができる。画像データがディジタルカメラ７０によって取得され、マスタコントローラ５４によって処理される方法の詳細は、２００１年７月５日に出願され２００２年１月１０日にＷＯ０２／０３３１６として公開された特許協力条約に基づく国際出願ＰＣＴ／ＣＡ０１／００９８０に記載されていて、その内容は、参照によってここに組み込まれている。したがって、その詳細についてはここではこれ以上説明しない。
【００２５】
マスタコントローラ５４は、各ポインタがタッチ面６０に近接及び／または接触し、タッチ面６０上を動くにつれ、発生したポインタデータを、タッチ面に対する各ポインタの位置を特定するコンピュータ５６に出力する。コンピュータ５６に読み込まれたドライバが、ポインタデータを受領し、ポインタデータを調べ、ジェスチャライブラリに格納されている既知の入力ジェスチャに応じたポインタデータが発生されたかどうかを判断する。特に、ドライバは、ポインタデータを調べて、取り込まれた画像中での複数のポインタの存在を検出し、次に、複数のポインタの特質を調べて、例えば右クリックジェスチャ、スクロールジェスチャ、回転ジェスチャ等のような既知のジェスチャが実行されたかどうかを判断する。ジェスチャが実行されている場合には、ドライバは、判断されたジェスチャに関連するコマンド（イベント）を発生し、コンピュータ５６によって実行されているアクティブなアプリケーションプログラムにコマンドを送出する。
【００２６】
ここで図３ａから図４ｆを参照して、タッチシステムで認識可能なジェスチャの具体例、及び認識されたジェスチャに応答して実行される発生動作を示す。
【００２７】
直観的右クリックジェスチャ：
図３ａから図３ｄに、直観的な(inuitive)右クリックジェスチャを示す。ユーザがタッチ面に表示されたアプリケーション上のタッチ面６０に指で接触すると、ドライバはその接触を左クリックマウスイベントと認識し、アプリケーションに左クリックマウスイベントを導入する。ユーザが、１本の指で接触を維持ながら、次に他の指でタッチ面６０と接触し、後の接触が最初の接触の右側でかつ近接している場合には、ドライバは、第２のタッチ面接触を右クリックジェスチャと認識し、アプリケーションに右クリックイベントを導入する。右クリックイベントに応答して、アプリケーションは、ドロップダウンメニュ（不図示）を開いて表示する。これによって、ユーザがマウスを使用して右クリック動作を起動したときに実行された動作と同じように、手ジェスチャを使用して右クリック動作を起動することができることが理解されるであろう。図３ａから図３ｄは、同一の手の２本の指を使用して実行される直観的な右クリックジェスチャを示しているが、異なった手の指を使用しても右クリックジェスチャを実行できることは理解されるだろう。
【００２８】
上／下及び左／右にスクロールするジェスチャ：
図４ａから図４ｅは、上（アップ）／下（ダウン）及び左（レフト）／右（ライト）スクロールジェスチャを示している。ユーザが、タッチ面に表示されているアプリケーションウィンドウ上のタッチ面６０に１対の指で同時に接触し、かつその一対の指がほぼ水平方向に近接した間隔で置かれた場合、ドライバは、その同時の指の接触をスクロールジェスチャと認識し、アプリケーションにスクロールイベントを導入する。指の次の縦方向の動きに応答してドライバからアプリケーションに送出されたポインタ位置データは、アプリケーションでスクロールアップ（上へスクロール）またはスクロールダウン（下へスクロール）コマンドのいずれかとして解釈される。アプリケーションは、スクロールアップまたはスクロールダウンコマンドに応答して、アプリケーションウィンドウ内に示された情報を縦方向動きの方向に動かす。指の引き続く水平方向の動きに応答してドライバからアプリケーションに送出されるポインタ位置データは、アプリケーションによって、横方向のスクロールコマンドとして解釈される。アプリケーションは、横方向のスクロールコマンドに応答して、アプリケーションウィンドウ内に表示された情報を水平方向の動きに対応した側へ動かす。図４ａから図４ｆは、同一の手の２本の指を使用して実行されているスクロールジェスチャを示しているが、異なった手の指を使用してもスクロールジェスチャを実行できることは理解されるだろう。
【００２９】
図示していないが、多くの他のジェスチャを、ドライバによって認識され、コンピュータ５６によって実行されているアプリケーションを制御するコマンドを発生するのに使用することができる。ここで、このような他のジェスチャの具体例を説明する。
【００３０】
ページアップ／ダウンジェスチャ：
ユーザが、タッチ面に表示されているアプリケーションウィンドウ上のタッチ面６０に３本の指で同時に接触し、かつその３本の指がほぼ水平方向に近接した間隔で置かれた場合、ドライバは、その同時の指の接触をページジェスチャと認識し、アプリケーションにページイベントを導入する。指の引き続く縦方向の動きに応答してドライバからアプリケーションに送出されたポインタ位置データは、縦方向の動きに応じてアプリケーションでページアップ（前頁）またはページダウン（次頁）コマンドとして解釈される。アプリケーションは、ページアップまたはページダウンコマンドに応答して、ウィンドウ内に表示された情報を適切な方向に動かす。
【００３１】
回転ジェスチャ：
ユーザが一方の指でアプリケーションウィンドウ内に表示されたオブジェクトの上のタッチ面６０に接触し、次に他方の指でタッチ面に接触し、一方の指でタッチ面との接触を維持しながら弓形に他方の指を動かすと、ドライバは、第２の指の弓形の動きを回転ジェスチャとして認識する。ドライバは、次に、回転コマンドをアプリケーションに導入し、アプリケーションに、第１の指によって定められた接触点のまわりを、弓形の方向でかつ弧線の経路と等しい量だけオブジェクトを回転させる。
【００３２】
ズームジェスチャ：
ユーザがアプリケーションウィンドウ上のタッチ面６０に１対の近接した間隔の指で同時に接触して、指の間の距離をほぼ水平方向に拡大させると、ドライバは指の動きをズームアウトジェスチャとして認識する。ドライバは、次に、ズームアウトコマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウに表示された情報の大きさを拡大させる。ユーザがアプリケーションウィンドウ上のタッチ面６０に１対の離れた間隔の指で同時に接触して、指を互いの方向に向かってほぼ水平方向に動かすと、ドライバは、指の動きをズームインジェスチャと認識する。ドライバは、次にズームインコマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウに示された情報の大きさを縮小させる。
【００３３】
あるいは、ズームアウト及びズームインコマンドは、他のジェスチャで表現することもできる。例えば、ユーザがアプリケーションウィンドウ上に一緒に束ねられた指を持つわしづかみ状の手でタッチ面６０と接触して、指を外方向に広げることによって手を広げると、ドライバは、指の動きをズームアウトジェスチャとして認識する。
【００３４】
ユーザがアプリケーションウィンドウ上に広げられた指を持つほぼフラットな手でタッチ面６０と接触し、指を内方向につかむことによって手を縮めてそれらを一緒に束ねると、ドライバは、指の動きをズームインジェスチャとして認識する。
【００３５】
拡大ジェスチャ：
ユーザがアプリケーションウィンドウ上のタッチ面６０に１対の近接した間隔の指で同時に接触して、指の間の距離をほぼ対角線方向に拡大すると、ドライバは、指の動きをウィンドウサイズ拡大ジェスチャとして認識する。ドライバは、次にウィンドウサイズ拡大コマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウの大きさを拡大させる。ユーザがアプリケーションウィンドウ上のタッチ面６０に１対の離れた間隔の指で同時に接触して、指を互いの方向に向かってほぼ対角線方向に動かすと、ドライバは、指の動きをウィンドウサイズ縮小ジェスチャとして認識する。ドライバは、次にウィンドウサイズ縮小コマンドをアプリケーションに導入して、アプリケーションにアプリケーションウィンドウの大きさを縮小させる。
【００３６】
アイコン選択及びオープンジェスチャ：
ユーザがアイコン上のタッチ面６０に２本の近接した間隔の指で同時に接触すると、ドライバは、その指の接触をダブルクリックジェスチャとして認識する。ドライバは、次にオープンアプリケーションコマンドを発生し、コンピュータ５６上で動作しているデスクトップアプリケーションに、選択されたアプリケーションをオープンさせる。
【００３７】
オブジェクト／ウィンドウ移動ジェスチャ：
ユーザがタッチ面６０の上方で、かつアプリケーションウィンドウ内に表示されたオブジェクトの上方で１対の近接した間隔の指を動かすと、ドライバは、浮上している指の動きをオブジェクト平行移動(translate)ジェスチャとして認識する。ドライバは、次に、アプリケーションにオブジェクト平行移動コマンドを導入し、アプリケーションに、指が動かされた方向でかつその距離と等しい量だけ表示されたオブジェクトを平行移動させる。
【００３８】
ユーザがタッチ面６０の上方で、かつアプリケーションウィンドウの上方で３つの近接した間隔の指を動かすと、ドライバは浮上した指の動きをウィンドウ平行移動ジェスチャとして認識する。ドライバは、次にウィンドウ平行移動コマンドを発生し、コンピュータ５６上で動作しているデスクトップアプリケーションに、指が動かされた方向でかつその距離と等しい量だけアプリケーションウィンドウを平行移動させる。
【００３９】
上記のジェスチャは、複数の指の接触または浮上に応答して認識されるように説明したが、ジェスチャを実行するのに他の物体が使用された場合にも、同一のジェスチャを認識することができる。例えば、ジェスチャを実行するのに複数のペンツールを使用でき、またはその代わりに、ジェスチャを実行するのに１本の指と１つのペンツールを使用することができる。
【００４０】
異なったポインタ特性を使用して、認識されたジェスチャの機能を拡張することもできる。例えば、スクロールジェスチャの場合には、表示された情報がスクロールされる速さを決めるのに、ポインタがタッチ面６０と接触する角度を利用することができる。急角度でタッチ面６０と接触するポインタは、遅いスクロール速度を表しているのに対し、浅い角度でタッチ面６０と接触するポインタは、高速のスクロール速度を表していてもよい。
【００４１】
２００３年３月１１日に出願された同時係属中の米国特許出願番号第１０／３８４，７８３号（特許文献３）に記載されているように、タッチシステムが、タッチ面６０と接触するのに使用されるポインタの種類の違いを区別することができる場合、及び／または２００２年１１月１５日に出願された同時係属中の米国特許出願番号第１０／２９４，９１７号（特許文献４）に記載されているように、ポインタの特性を判断することができる場合には、そしてこれらの内容は、参照によってここに組み込まれているが、異なった機能を、異なったポインタを使用して実行される類似のジェスチャに割り当てることができる。例えば、上記の回転ジェスチャの場合には、アプリケーションウィンドウ内のオブジェクトに最初に接触する指及び弧線を描くペンツールを使用して同一のジェスチャが実行されると、ドライバは、指の接触とペンの動きを、回転ジェスチャよりむしろパターン塗りつぶしジェスチャとして認識する。指の接触とそれに引き続いた近接した間隔で置かれたペンツールの接触とは、スクロールジェスチャではなく円を描くジェスチャを表し、指の接触とそれに引き続く近接した間隔で置かれた削除ツール(eraser)の接触が、ページ消去ジェスチャを表すこともできる。上記説明から理解できるように、タッチ面６０に近づけられた複数のポインタの違いが識別できるということは、識別可能な個別のポインタのみを使用して同一のジェスチャを実行することによってもたらされる機能を著しく向上させる。
【００４２】
ポインタデータを調べてポインタデータが既知のジェスチャに応答して発生されているかどうかを判断するものとしてドライバを説明したが、コンピュータによって実行されているアクティブなアプリケーションがジェスチャを認識する能力を有する場合には、ポインタデータをジェスチャ認識のためにアクティブなアプリケーションに送出できることを当業者は理解できるであろう。
【００４３】
所望であれば、タッチ面６０を複数の領域に分割して、ユーザ入力間の曖昧さを発生させることなく、複数のユーザが同時にタッチ面と対話できるようにすることも可能である。この場合、しきい値の距離より大きいタッチ面への複数の接触またはタッチ面上の複数の浮上は、複数のユーザ入力として処理される。しきい値の距離内にあるタッチ面への複数の接触またはタッチ面上の複数の浮上は、単一のユーザによってなされた複数の接触として処理され、その複数の接触がジェスチャを表すかどうかを判断するために調べられる。
【００４４】
本発明の好ましい実施形態を説明したが、添付の請求項に定める本発明の精神及び範囲から逸脱することなく、変形及び修正がなされ得ることは当業者には十分に理解されるであろう。
【図面の簡単な説明】
【００４５】
【図１】本発明に基づくカメラベースのタッチシステムの概要図である。
【図２】図１のタッチシステムの一部を形成するタッチスクリーンの正面図である。
【図３ａ】右クリック入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図３ｂ】右クリック入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図３ｃ】右クリック入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図３ｄ】右クリック入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図４ａ】上／下及び左／右スクロールの入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図４ｂ】上／下及び左／右スクロールの入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図４ｃ】上／下及び左／右スクロールの入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図４ｄ】上／下及び左／右スクロールの入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図４ｅ】上／下及び左／右スクロールの入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図４ｆ】上／下及び左／右スクロールの入力ジェスチャを示す、図２のタッチスクリーンの前面斜視図である。
【図１】
0004846997.tif 000002
【図２】
0004846997.tif 000003
【図３ａ】
0004846997.tif 000004
【図３ｂ】
0004846997.tif 000005
【図３ｃ】
0004846997.tif 000006
【図３ｄ】
0004846997.tif 000007
【図４ａ】
0004846997.tif 000008
【図４ｂ】
0004846997.tif 000009
【図４ｃ】
0004846997.tif 000010
【図４ｄ】
0004846997.tif 000011
【図４ｅ】
0004846997.tif 000012
【図４ｆ】
0004846997.tif 000013