(57)【特許請求の範囲】
【請求項１】
少なくともプロセッサ、メモリ及びタッチスクリーンを有するコンピュータ・システムが、複数の移動可能な仮想ポインティング・デバイスを生成する方法であって、
ａ）前記タッチスクリーン上に配置される少なくとも２つの手を検出するステップと、
ｂ）前記タッチスクリーン上に位置決めされる各手の少なくとも一部の下に、前記仮想ポインティング・デバイスを生成するステップと、
ｃ）第１の手がもはや前記タッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはや前記タッチスクリーン上に位置決めされていないか否かを判断するステップと、
ｄ）２つ以上の前記手が同時に前記タッチスクリーン上に位置決めされていないことに応答して、少なくとも１つの前記手が前記タッチスクリーン上に再配置されることの検出により前記再配置された手の手形を測定し、当該測定結果に基づいて、前記位置決めされていない２つ以上の手に対応するユーザ・ファイルを探索して前記再配置された手に属する前記仮想ポインティング・デバイスを決定するステップと、
を含む、方法。
【請求項２】
前記ステップａ）が、前記手から熱、圧力、または音を検出するステップを含む、
請求項１記載の方法。
【請求項３】
少なくともプロセッサ、メモリ及びタッチスクリーンを有し、複数の移動可能な仮想ポインティング・デバイスを生成するコンピュータ・システムであって、
ａ）前記タッチスクリーン上に配置される少なくとも２つの手を検出する手段と、
ｂ）前記タッチスクリーン上に位置決めされる各手の少なくとも一部の下に、前記仮想ポインティング・デバイスを生成する手段と、
ｃ）第１の手がもはや前記タッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはや前記タッチスクリーン上に位置決めされていないか否かを判断する手段と、
ｄ）２つ以上の前記手が同時に前記タッチスクリーン上に位置決めされていないことに応答して、少なくとも１つの前記手が前記タッチスクリーン上に再配置されることの検出により前記再配置された手の手形を測定し、当該測定結果に基づいて、前記位置決めされていない２つ以上の手に対応するユーザ・ファイルを探索して前記再配置された手に属する前記仮想ポインティング・デバイスを決定する手段と、
を含む、コンピュータ・システム。
【請求項４】
コンピュータ読出し可能プログラム・コード手段を埋め込むコンピュータ使用可能媒体を含む装置であって、前記コンピュータ読出し可能プログラム・コード手段が、
少なくともタッチスクリーンを有するコンピュータ・システムに、前記タッチスクリーン上に配置される少なくとも２つの手を検出するように指示するコンピュータ読出し可能プログラム・コード手段と、
前記コンピュータ・システムに、前記タッチスクリーン上に位置決めされる各手の少なくとも一部の下に、前記仮想ポインティング・デバイスを生成するように指示するコンピュータ読出し可能プログラム・コード手段と、
前記コンピュータ・システムに、第１の手がもはや前記タッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはや前記タッチスクリーン上に位置決めされていないか否かを判断するように指示するコンピュータ読出し可能プログラム・コード手段と、
前記コンピュータ・システムに、２つ以上の前記手が同時に前記タッチスクリーン上に位置決めされていないことに応答して、及び少なくとも１つの前記手が前記タッチスクリーン上に再配置されることの検出により前記再配置された手の手形を測定し、当該測定結果に基づいて、前記位置決めされていない２つ以上の手に対応するユーザ・ファイルを探索して前記再配置された手に属する前記仮想ポインティング・デバイスを決定するように指示するコンピュータ読出し可能プログラム・コード手段と、
を含む、装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はポインティング・デバイス及びポインタに関し、特に、タッチ画面システムにおいて使用されるポインティング・デバイスに関する。
【０００２】
従来、ユーザは”マウス”を用いて、コンピュータ・システムのデスクトップ及びオペレーティング・システムと対話する。マウスはワイヤーまたは赤外線信号によりコンピュータ・システムに接続される特殊なハードウェア入力装置である。通常、マウスはその上部に１つ以上の押しボタンと、その底部にローラを有し、ローラがコンピュータ・システムに隣接する表面に沿って回転するように設計される。ユーザがマウスのローラをこの表面上で移動するとき、コンピュータ・システムの表示装置上に位置決めされるマウス・ポインタがマウスのローラの移動を追跡する。ユーザがポインタをオブジェクト上などの所望の位置に位置決めすると、ユーザはマウスがプログラムされる仕様に依存して、マウス押しボタンの１つをクリックし、そのオブジェクトを呼び出したり開いたりする。
【０００３】
ユーザは、マウス及びマウス・ポインタの操作を個別化すなわちカストマイズしてもよい。幾つのかの従来のオペレーティング・システムにより保守されるカストマイズ化メニューを通じて、ユーザは例えば、第１のマウス・ボタンの単一のクリックを第１の機能の呼び出しに割当て、第２のマウス・ボタンの単一のクリックを第２の機能の呼び出しに割当てるようにカストマイズし得る。更に、ユーザは表示画面上のマウス・ポインタの外観をカストマイズし得る。例えばあるユーザはマウス・ポインタとして小さな矢印を好み、別のユーザは大きな点滅する矢印を好み得る。同様に、あるユーザは高速のマウス・ポインタ（すなわちマウスのローラの小さな動きがマウス・ポインタの大きな移動を生じる）を好むのに対して、他のユーザはゆっくりしたマウス・ポインタを好んだりする。この機構は、マウス・ポインタの”感度”として参照される。
【０００４】
これらのタイプのマウス及びマウス・ポインタの振舞いは、各個々のユーザに対してカストマイズされ得る。しかしながら、ほとんどのオペレーティング・システムはシステム上の１ユーザに対してのみ、カストマイズ化を提供する。従ってマルチユーザ・システムでは、ユーザは以前の設定からマウスを再度カストマイズしなければならない。このためには通常、ユーザはボタンの振舞いを特定の機能にマップするマウス設定ファイルまたはローカル・データベースを編集する。Ｘ１１などの幾つかのシステムは、これを行うための特殊な初期（ｉｎｉｔ）ファイルを有する。
【０００５】
従来のマウスは特定の欠点及び制限を被る。例えばマウスが無骨で、サイズが固定されているために、非常に小さな手または非常に大きな手の者にはマウスが適切に適合せず、コンピュータ・システムに永久的に接続されずに無駄になってしまったり、或いはユーザが特定のマウスの振舞いを知ることが要求されたりする（例えば、どのマウス・ボタンを何回クリックすれば、ある機能を呼び出せるかなど）。従って、多くの顧客（カストマ）指向のシステム（例えばＡＴＭマシン）及びマルチユーザ・システムはマウスを使用しない。むしろ、マルチユーザ・システムの傾向はタッチ画面を使用することである。
【０００６】
従来のタッチ画面はユーザの指またはポインティング・デバイスが、従来のマウス及びマウス・ポインタを置換することを可能にする。従来のタッチ画面は、例えば熱感応、音感応、圧力感応または動き感応グリッド／検出器を用いて、タッチ画面上に配置される手、指、またはオブジェクトを検出する。しかしながら、従来のタッチ画面は特定の制限及び欠点を被る。例えばマウス・ポインタと異なり、指は大きさが様々であり、従ってデスクトップは大きな指にも対応するために、連続的なオブジェクト・アイコン及びテキストを大きく離して配置しなければならない。またユーザは、従来のマウス及びマウス・ポインタにおいて見い出されるような、カストマイズ化機構を選択することができない。
【０００７】
なお、本願は、米国特許出願第６５４４８６号、同第６５４４８７号、同第６５４４８４号、同第６６４０３８号、同第６６４０３７号、同第６６４０３６号、同第６７２５１８号、同第６７２５１９号、同第６７２５２１号に関連するものである。
【０００８】
【発明が解決しようとする課題】
従って、タッチ画面技術を使用する上で、オブジェクト・アイコン及びテキストを互いに接近して配置することを可能にし、ポインティング・デバイス及びポインタのユーザ・カストマイズ化を可能にする、新たなポインティング・デバイスが待望される。
【０００９】
【課題を解決するための手段】
本発明によれば、少なくともプロセッサ、メモリ及びタッチスクリーンを有するコンピュータ・システムに複数の移動可能な仮想ポインティング・デバイスを生成するように指示する方法及び装置が提供される。本方法は、タッチスクリーン上に配置される少なくとも２つの手を検出するステップと、タッチスクリーン上に位置決めされる各手の少なくとも一部の下に仮想ポインティング・デバイスを生成するステップと、第１の手がもはやタッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはやタッチスクリーン上に位置決めされていないか否かを判断するステップと、２つ以上の手が同時にタッチスクリーン上に位置決めされていないことに応答して、少なくとも１つの手がタッチスクリーン上に再配置されることの検出により、再配置された手に属する仮想ポインティング・デバイスを決定するステップとを含む。
【００１０】
【発明の実施の形態】
好適な実施例は、図１に示されるコンピュータ・システム１００などの、タッチ画面を使用する任意の好適なハードウェア構成、またはラップトップまたはノートパッド・コンピュータ・システムにおいて実現され得る。コンピュータ・システム１００は標準のマイクロプロセッサなどの、任意の好適な中央処理装置１０、及びシステム・バス１２により相互接続される任意の数の他のオブジェクトを含む。説明の都合上、コンピュータ・システム１００は読出し専用メモリ（ＲＯＭ）１６、ランダム・アクセス・メモリ（ＲＡＭ）１４、及びＩ／Ｏアダプタ１８を介してシステム・バス１２に接続される周辺メモリ装置（例えばディスクまたはテープ・ドライブ２０）などのメモリを含む。コンピュータ・システム１００は更に、システム・バス１２を従来のタッチ画面表示装置３８に接続するタッチ画面表示アダプタ３６を含む。また、ユーザ・インタフェース・アダプタ２２が、システム・バス１２をキーボード２４、スピーカ２８、マウス２６、及びタッチパッド（図示せず）などの他のユーザ制御に接続する。
【００１１】
当業者には、如何に従来のタッチ画面が作用し、如何に従来のタッチ画面デバイス・ドライバがオペレーティング・システムと通信し、また如何にユーザがタッチ画面を用いてグラフィカル・ユーザ・インタフェース内でオブジェクトの操作を開始するかが容易に理解されよう。例えばタッチ画面技術は、コンピュータ画面を覆う柔軟な皮膜の内側に配置される電子センサ、赤外線信号のグリッド、或いはガラスまたはプラスチックを通じる反射音波の変化をセンスすることによるタッチの検出方法を含む。現タッチ画面技術の使用により、ユーザはタッチ画面に触れることによりプルダウン・メニューの表示を開始することができ、続いてプルダウン・メニューに沿って指を下方にドラッグすることにより、そのメニュー内のオブジェクトを選択することができる。
【００１２】
好適な実施例のグラフィカル・ユーザ・インタフェース（ＧＵＩ）及びオペレーティング・システム（ＯＳ）は、コンピュータ読出し可能媒体内に存在して、タッチ画面デバイス・ドライバを含む。タッチ画面デバイス・ドライバは１人以上のユーザがタッチ画面表示装置上に表示されたオブジェクト・アイコン及びテキストの操作を開始することを可能にする。任意の好適なコンピュータ読出し可能媒体がＧＵＩ及びオペレーティング・システムを保存し得る。こうした媒体には、ＲＯＭ１６、ＲＡＭ１４、ディスク及び（または）テープ・ドライブ２０（例えば磁気ディスケット、磁気テープ、ＣＤ−ＲＯＭ、光ディスク、または他の好適な記憶媒体など）が含まれる。
【００１３】
好適な実施例では、ＣＯＳＥ（商標）（共通オペレーティング・システム環境）デスクトップＧＵＩが、ユーザとＡＩＸ（商標）オペレーティング・システムとをインタフェースする。ＧＵＩはオペレーティング・システム内に組み込まれ、埋め込まれているものと見なされる。代わりに任意の好適なオペレーティング・システム及びデスクトップ環境が使用され得る。他のＧＵＩ及び（または）オペレーティング・システムの例には、Ｘ１１（商標）（Ｘウィンドウ）グラフィカル・ユーザ・インタフェース、サン社のソラリス（商標）・オペレーティング・システム、及びマイクロソフト社のウィンドウズ９５（商標）オペレーティング・システムが含まれる。ＧＵＩ及びオペレーティング・システムは、単にＣＰＵ１０に命令及び指令するだけであるが、ここでは説明の都合上、ＧＵＩ及びオペレーティング・システムが、次の機構及び機能を実行するように述べられる。
【００１４】
図２を参照すると、タッチ画面２００が任意の従来の好適なタッチ画面を含み、これは例えば掌及び指紋の熱、圧力または音に感応する。この図では、ユーザは右手（図示せず）をタッチ画面２００上に置いている。任意の好適なタッチ画面技術が使用され得るが、説明の都合上、好適な実施例は音のパターンを検出するタッチ画面を使用するように述べられる。ユーザが彼（または彼女）の手をタッチ画面上に置いたことに応答して、タッチ画面２００はユーザの手の音パターンを検出する。これには掌紋領域２１０、親指指紋領域２１５、及び指紋領域２２０、２３０、２３５、２４０、及び領域２８０からの音が含まれる。或いは、手の一部だけ（例えば指だけ）、及び（または）特定のオブジェクト（例えばスタイラス）が手形の検出に代用され得る。更に、複数の手またはオブジェクトが一度に検出され得る。
【００１５】
タッチ画面２００が、図２に示されるのと類似の１つ以上の手または指のパターンを検出するとＯＳがユーザを識別しようとする。そのために、ＯＳは掌紋領域２１０から各指紋領域２１５、２２０、２３０及び２４０までの距離を掌紋領域２１０のＸ、Ｙ座標、並びに掌紋領域２１０のＸ、Ｙ限界と一緒に測定する。ＯＳは掌紋領域２１０の最左端と最上点との交差点を第１の基準点２５５として定義する。ＯＳは親指の指紋２１５から第１の基準点までの最長距離を測定する。同様にＯＳは指紋領域２２０及び２３０から、第１の基準点２５５までのそれぞれの最長距離を測定する。
【００１６】
同様に、ＯＳは掌紋領域２１０の最右端と最上点との交差点を第２の基準点２６０として定義し、それにより指紋領域２４０から第２の基準点２６０までの最長距離が決定される。最後にＯＳは掌紋領域２１０のＸ、Ｙ座標、それぞれ２６５及び２７０を測定する。更に精度を上げるために各指紋のサイズが測定され得る。
【００１７】
次に、ＯＳは、新たに決定された測定と、あらゆる既存の測定との一致の検出のために、メモリに記憶されるユーザ・ファイル・データベース（図示せず）を探索し、手形に対応して記憶される人物が存在するか否かを判断する。特に、ＯＳは４つの距離測定値及び掌紋２１０のＸ、Ｙ座標を、ユーザ・ファイル・データベースに記憶されるあらゆる既存の測定値と比較する。しかしながら、当業者には、本発明の範囲及び趣旨から逸脱すること無しに、特定のユーザ（またはユーザのオブジェクト）の手形（またはオブジェクトの跡）を識別する様々な手段が存在することが理解されよう。図では、掌紋領域２１０の幅だけが一致が存在するか否かを判断するために使用され得る。
【００１８】
ＯＳが一致がユーザ定義済み（またはデフォルト指定）の受諾可能な公差内であると見い出すと、ＯＳはユーザ・ファイルから定義済みのカストマイズ化機構を読出し、そのカストマイズ化機構を用いて、タッチスクリーン２００上に位置決めされた手（または手の一部）の下に仮想ポインティング・デバイスを生成する。更に、当業者には、例えば仮想ポインティング・デバイスの隣に表示されるユーザＩＤラベル、或いは仮想ポインティング・デバイスの特定の色陰影により、ユーザ一致の確認が達成されることが理解できよう。従って、例えばユーザの親指の下のタッチスクリーン２００の領域（すなわち親指の指紋領域２１５）、指の下の領域（すなわち指紋領域２２０、２３０、２３５及び２４０）、及び掌の下の領域（すなわち掌紋領域２１０）が”活動化”され、これらの”活動化”領域上でのユーザの指、親指及び（または）掌の特定の定義された動きが特定の機能を呼び出すことになる。しかしながら、ＯＳが手形を認識しない場合、ＯＳはデフォルト指定の機能セットを用いて、手またはその一部の下に、デフォルト指定の仮想ポインティング・デバイスを生成するか、ユーザがカストマイズされた仮想ポインティング・デバイスを生成する。
【００１９】
図５は、如何にユーザが仮想ポインティング・デバイスを移動し操作するかを示す。ユーザが彼（または彼女）の手を実質的にタッチ画面２００に接したまま、手をタッチ画面上でスライドするとき、ＯＳはタッチ画面上で移動するユーザの手の位置を検出し、それに応答して仮想ポインティング・デバイスの”活動化”領域を、手（または手の一部）の下の領域として連続的に再定義する。従って、仮想ポインティング・デバイスがユーザの手の移動と共に、及びそれに追従して移動する。例えば”活動化”領域が、タッチ画面画素座標［Ｘ１、Ｙ１、Ｘ２、Ｙ２、Ｘ３、Ｙ３及びＸ４、Ｙ４］（図示せず）内に含まれる領域として最初に定義され、ユーザが指をその領域からタッチ画面画素座標［Ｘ５、Ｙ５、Ｘ６、Ｙ６、Ｘ７、Ｙ７及びＸ８、Ｙ８］に移動する場合、”活動化”領域はこれらの新たな座標に移動する。
【００２０】
ＯＳは、ポインタ２５０が仮想ポインティング・デバイスとロック・ステップの関係で移動するようにポインタ２５０を仮想ポインティング・デバイスの活動領域の近く（この場合、指紋領域２３０の上方）に位置決めする。従って、ユーザは例えば仮想ポインティング・デバイス、従ってポインタ２５０を移動することができ、ポインタ２５０が所望のオブジェクト・アイコン上に位置決めされる。或いはユーザは単に彼の手を持ち上げ、それを所望の位置に配置してもよい。それによりＯＳは、ユーザの手の下の新たな位置に仮想ポインティング・デバイスを再生する。
【００２１】
ユーザは仮想ポインティング・デバイスをユーザの指、親指及び（または）掌の移動を介して操作する。例証的にユーザは”フォーカス機能”２４５を呼び出し、それによりポインタ２５０の下に位置決めされるオブジェクト・アイコンがフォーカスを獲得する。これはユーザが彼の親指を持ち上げ、次に親指を親指の指紋領域２１５に所定時間（例えば２秒）以内に再配置することにより、達成される（”シングル・クリック”として参照される）。同様にユーザは彼の第３の指（薬指）を持ち上げ、第３の指紋領域２３５上に所定時間以内に再配置することにより、”ペースト”機能を呼び出すことができる。
【００２２】
指、掌及び親指の各々の振舞い及び関連機能／コマンドは、特定の機能を呼び出すために特殊に定義され、また後に再定義され得る（以降で詳述される）。ＯＳは各指紋／親指の指紋領域上にダイアログを表示し、指の振舞い（”（１）”はシングル・クリックを表す；”（２）”はダブル・クリックを表すなど）及び対応する機能／コマンド（例えばフォーカス２４５、オープン２５７、解除されるまでの選択２５９、ペースト２６１及びデフォルト指定メニュー２６２）を示す。
【００２３】
デフォルト指定機能／コマンド、指の振舞い及びポインタは、好適な実施例では次のように定義される。親指の指紋領域２１５上での親指のシングル・クリックは、ＯＳにポインタ２５０下に配置される任意のオブジェクト・アイコンまたはテキスト上でフォーカス機能２４５を呼び出すように指示する。指紋領域２２０上での指のシングル・クリック、または親指の指紋領域２１５のダブル・クリックは、ＯＳにポインタ２５０下に配置される任意のオブジェクト・アイコンまたはテキスト上でオープン機能２４５を呼び出すように指示する。指紋領域２３０上でのシングル・クリックは、ポインタ２５０下に配置される任意のオブジェクト・アイコンまたはテキスト上で、解除されるまでの選択機能２５９を呼び出す。また指紋領域２３５上でのシングル・クリックは、ポインタ２５０下に配置される任意のオブジェクト・アイコンまたはテキスト上でペースト機能２６１を呼び出す。最後に、指紋領域２４０上でのシングル・クリックは、デフォルト指定メニュー機能２６３を呼び出す。デフォルト指定ポインタ２５０は矢印形状であり、指紋領域２３０の近傍に位置決めされる。しかしながら、当業者には、デフォルト指定機能、ポインタ位置及び（または）指の振舞い（例えば複数クリック）の任意の組み合わせが、デフォルト指定の仮想ポインティング・デバイスを定義するために使用され得ることが容易に理解されよう。更に、２つ以上の指の同時シングル・クリック（または多重クリック）が機能／コマンドを含み得る。
【００２４】
図３は、好適な実施例を実現するための詳細論理を含むフローチャートである。３０２で、タッチスクリーン２００が手形（またはオブジェクト）または手形の一部から、音、熱、圧力などを検出する。３０６で、ＯＳが手形を読取り、図２に示される前述の測定を計算する。３１０で、ＯＳはデータベース内のユーザ・ファイルを探索し、手形測定を追跡する。３１２で、ＯＳは１０％のデフォルト指定の公差（これは後にユーザにより変更され得る）内のあらゆる既存の手形測定を突き止め、３２０で、ＯＳはユーザ・ファイル内の全ての情報を読出す。そして３２２で、ユーザ・ファイル内で見い出される定義済みの特性にもとづき、ユーザの手（または手の一部）の下のタッチスクリーン上に、仮想ポインティング・デバイスを描く。更に将来的にオブジェクト及び（または）テキストが仮想ポインティング・デバイスにより選択されていれば、それらが仮想ポインティング・デバイスに対するそれらの以前の位置に関連する位置に描画される。３３３で、ＯＳはユーザ一致が正しいことの確認を要求する。ユーザが仮想ポインティング・デバイスの使用を継続する場合、ＯＳはこの使用を確認として解釈する。ＯＳは仮想ポインティング・デバイスの隣にユーザＩＤラベルを表示するか、或いは仮想ポインティング・デバイスを特定の色陰影として表示してもよい。それ以外では誤ったユーザが仮定され、制御は３１０に戻り、ＯＳは別の可能な一致を求めて、データベースを探索する。
【００２５】
３２４では、ＯＳは４秒以上、一貫して異例な振舞いまたは未定義の振舞いが存在するか否かを判断する。こうした振舞いには、例えば指紋、親指の指紋の検出の失敗、またはタッチスクリーン上で手形が検出されない場合が含まれる。ＯＳが異例な振舞いを検出する場合、ＯＳは３２６で作業事象ループ（図９参照）を実行し、制御が３２４に復帰する。図９を参照すると、９０２で、ＯＳはタッチスクリーンを横断する手の任意の動きが発生したか否かを判断し、発生した場合、９０４で、ＯＳは仮想ポインティング・デバイスを手の動きに従い移動する。９０６で、ＯＳは機能／コマンドを呼び出すための指または親指の動きが発生したか否かを判断し、発生した場合、９０８で、ＯＳはポインタの下に配置される任意のオブジェクト／テキストに対してその機能／コマンドを呼び出す。その後、制御が３２４に復帰する。
【００２６】
図３の３２４を参照すると、ＯＳが特定の時間長（例えば４秒間）の異例の振舞いまたは未定義の振舞いを検出する場合、３２８で、ＯＳは掌がタッチスクリーン上に留まったまま、全ての指がタッチスクリーンから持ち上げられたか否かを判断する。或いは当業者には、”全ての指が持ち上げられた”ことを示す標識として、多くの他の標識が代用され得ることが理解されよう。例えば、指の組み合わせが持ち上げられたか否かを判断したり、指紋がタッチスクリーンに接したまま、掌が持ち上げられたか否かを判断したりしてもよい。ＯＳが全ての指がタッチスクリーンから持ち上げられたと判断すると、３３０で、ＯＳはメイン・メニュー６００を表示し（図６参照）、ユーザに仮想ポインティング・デバイスの任意の再カストマイズ化を提供するように促す。３４４で、ＯＳは３３０で実行されたあらゆる変更に従い、新たな仮想ポインティング・デバイスを表示し、制御が３２４に戻る。
【００２７】
３２８に戻り、掌がタッチスクリーンに接したまま、指が持ち上げられたことが検出されなかった場合、３４２で制御が図８に移行する。図８を参照すると、８１０で、ＯＳは手全体（またはオブジェクト）がタッチスクリーンから持ち上げられたか否かを判断する。手全体がタッチスクリーンから持ち上げられずに、指、親指及び（または）掌の組み合わせ（その振舞いが対応する定義済み機能を有さない）が持ち上げられるなどして、異例の振舞いまたは未定義の振舞いが発生した場合、制御は８１４に移行し、ＯＳはユーザ・ファイルにもとづき手の下に仮想ポインティング・デバイスを再描画する。これはユーザに直前の手／指の振舞いが定義済み機能を有さないことを示す。手全体がタッチスクリーンから持ち上げられた場合、８１１で、ＯＳは仮想ポインティング・デバイスをタッチスクリーン上の現位置に、所定期間（例えば５秒間）、明白な不活発状態（ｈｉｂｅｒｎａｔｅｄ  ｓｔａｔｅ）で表示し続ける。これは、指紋及び掌紋領域がタッチスクリーン上の半透明領域として見られることを意味する。仮想ポインティング・デバイスが明らかに不活発状態であるとき、機能はそれが活動化されるまで（すなわち不活発状態から脱出されるまで）呼び出されない。８１２で、ＯＳは手がタッチスクリーン上に５秒以内に再配置されたか否かを判断し、手の除去を検出する。手がタッチスクリーン上に５秒以内に再配置されなかった場合、制御は８２６に移行する。しかしながら、ＯＳが手がタッチスクリーン上に５秒以内に再配置されたことを検出する場合、８１６で、ＯＳは複数の仮想ポインティング・デバイスが同時に使用されているか否かを判断し、使用されている場合、タッチスクリーンに手が再配置されたときに、複数のユーザが現在彼（または彼女）の手をタッチスクリーンから持ち上げたか否かを判断する。否定の場合、８１４で制御は図３の３２２に移行し、ＯＳはユーザ・ファイルにより識別される仮想ポインティング・デバイスを活動化し、それを再配置された手の下に移動する。更に、手が持ち上げられたときに、任意のオブジェクト及び（または）テキストが仮想ポインティング・デバイスにより選択された場合、それらが仮想ポインティング・デバイスに対してそれらの以前の位置に関連する位置に再描画される。
【００２８】
複数のユーザが同時にタッチスクリーンから手を持ち上げた場合、８２０で、ＯＳは再配置された手の手形を読出し、図２に示される前述の測定を計算する。８２２で、ＯＳは検出された持ち上げられた手に測定が一致する仮想ポインティング・デバイスのユーザ・ファイルを探索する。一致が見い出されない場合、８２３で、ＯＳは検出された持ち上げられた手を有する仮想ポインティング・デバイスの１つのユーザ識別を求めて、ユーザ・ファイル・データベースを探索する。ＯＳは次にダイアログ（図示せず）を表示し、ユーザに彼（または彼女）がユーザ識別により識別されるユーザか否かを尋ねる。８２５で、ユーザが彼（または彼女）がユーザ識別により識別されるユーザであることを示すと、８２７で、制御が図３の３２２に移行し、ＯＳはユーザ・ファイルにより識別される仮想ポインティング・デバイスを再配置された手の下に移動する。そして、任意のオブジェクト及び（または）テキストが仮想ポインティング・デバイスにより選択されていれば、それらが仮想ポインティング・デバイスに対してそれらの以前の位置に関連する位置に再描画される。しかしながら、８２５で、ユーザがユーザ識別がユーザを識別しないことを示す場合、ＯＳはその識別が検出された持ち上げられた手を有する仮想ポインティング・デバイスの最後のユーザ・ファイルか否かを判断する。否定の場合、制御は８２３に戻り、ＯＳは検出された持ち上げられた手を有する仮想ポインティング・デバイスの次のユーザ・ファイルを探索する。このプロセスはユーザとユーザ識別との一致、従って検出された持ち上げられた手を有する対応する仮想ポインティング・デバイスが見い出されるまで、繰り返される。ＯＳが最後のユーザ・ファイルを探索し、一致が見い出されなかった場合、８３９で、制御は図３の３１０に移行し、ＯＳはユーザの手を求めて全てのユーザ・ファイルを探索する。
【００２９】
８１２に戻り、手がタッチスクリーン上に５秒以内に再配置されなかった場合、８２６で、ＯＳは仮想ポインティング・デバイスを明白な不活発状態で表示し続け、８２８で、ダイアログ（図示せず）により、ユーザに終了を希望するか否かを尋ねる。ユーザが終了を希望する場合、制御は８３０に移行し、ＯＳは仮想ポインティング・デバイスを表示から除去する。ユーザが終了を希望しない場合、８３２で、ＯＳはマウスを”隠れ不活発（ｈｉｄｄｅｎ  ｈｉｂｅｒｎａｔｉｏｎ）”状態にする。これはタッチスクリーン上に明白な不活発状態で（すなわち半透明に）表示されるマウス画像が時間と共に消去し始めたことを意味するが、ユーザが次にタッチスクリーンに触れるとき、マウス画像は即時活動化され得る。従って、ＯＳは仮想ポインティング・デバイスを明白な不活発状態（例えば半透明形式の表示）から、隠れ不活発状態に変換する。ユーザ指定時間（例えば３０分）の経過後、ＯＳはこの時間遅延を仮想ポインティング・デバイスがもはや必要とされないことを意味するものとして解釈する。８３６で、ＯＳが３０分以内に手がタッチスクリーン上に配置されたことを検出すると、８４０で、ＯＳは仮想ポインティング・デバイスを隠れ不活発状態から戻し、それを手の下に再描画し、制御が図３の３２４に復帰する。それ以外では、８３８で、ＯＳは現在隠れ不活発状態の仮想ポインティング・デバイスをメモリ（例えばＲＡＭ）から除去する。
【００３０】
図３の３１２に戻り、ＯＳはタッチスクリーン上に置かれ測定された手と、既存のユーザ・ファイルとの間に一致が見い出されたか否かを判断する。ＯＳが問題の手形と近似する手形測定を有する複数のユーザ・ファイルを検出する場合、３１６でＯＳはタッチスクリーン上のドロップ・ダウン・メニュー（図示せず）内に、最も近い一致を有するユーザを表示する。３１８でＯＳはユーザが（彼の他方の手を用いて、）ドロップ・ダウン・メニューからユーザ識別の一致または不一致を選択するのを待機する。一致が発生した場合、制御が前述の３２０に移行される。一致が発生しなかった場合、制御は３１４に移行され、ＯＳはタッチスクリーン上にメニュー（図５の５１０参照）を表示し、ユーザにカストマイズされた仮想ポインティング・デバイスの生成を希望するか否かを尋ねる。ユーザがカストマイズされた仮想ポインティング・デバイスの生成を希望しない場合、ＯＳはユーザに彼（または彼女）の手をタッチスクリーン上に置くように促し、それに応答して、ＯＳはユーザの手の下に図５に示されるような、前述のデフォルト指定の指／掌の振舞い及び指紋機能を有する総称的（ｇｅｎｅｒｉｃ）仮想ポインティング・デバイスを生成する。制御は３２４に移行する。
【００３１】
ユーザがカストマイズされた仮想ポインティング・デバイスの生成を希望する場合、３３２で、ＯＳはユーザ・ファイルをオープンする。３３４で、ＯＳは指紋及び掌紋のサイズをユーザ・ファイルに記憶する。３３６で、ＯＳは第１の基準点（図２に関連して上述）と、最初の３つの指の各指紋の最も遠い点との距離を計算する。更に、ＯＳは第２の基準点を計算し、そこから第４の指紋までの距離を計算する。３３８で、ＯＳはユーザにユーザ識別を催促し、メイン・メニュー６００を表示することにより、ユーザに仮想ポインティング・デバイス形状、ポインタ位置、振舞い及び感度、並びに指紋機能（これらについては図６に関連して後述する）などの、仮想ポインティング・デバイス特性を入力するように促す。３４０で、ＯＳは全ての情報をユーザ・ファイルに記憶する。制御が３２２に移行し、ＯＳはユーザ・ファイルに記憶される情報にもとづき、手（または手の一部）の下に、仮想ポインティング・デバイスを描画する。
【００３２】
３２４で、ＯＳは任意の異例な振舞いが発生したか否かを判断する。発生した場合、３２８で、ＯＳは手の全ての指がタッチ画面から持ち上げられたか否かを判断する。肯定の場合、３３０で、ＯＳは図６に示されるようなメイン・メニュー６００を表示し、ユーザに仮想ポインティング・デバイスの任意のカストマイズ化を提供するように促す。
【００３３】
図６を参照すると、ＯＳがメイン・メニュー６００を表示した後、ユーザは彼（または彼女）の手をタッチ画面から取り除く。ユーザが形状ボタン６２０を選択する場合、”形状”メニュー（図７の７００参照）が現れ、ユーザが仮想ポインティング・デバイスの形状を定義／再定義することを可能にする。図７の形状メニュー７００を参照すると、ＯＳは幾つかの任意選択をユーザに表示する。例えばユーザは”指専用”の仮想ポインティング・デバイス（図４参照）を選択することができ、この場合、仮想ポインティング・デバイスを移動するために指だけがタッチ画面に接する必要がある。或いは、掌及び親指専用の仮想ポインティング・デバイスを選択することも可能であり、この場合、仮想ポインティング・デバイスを移動するために、親指及び掌だけがタッチ画面に接する必要がある。後者の場合、指の動きは機能に割当てられない。更に、”親指と１つの指”または”掌”の仮想ポインティング・デバイスが生成され得る。しかしながら、ＯＳは掌をタッチ画面に接したまま、全ての指を持ち上げるとき、メイン・メニュー６００（図６参照）を呼び出すので、ユーザが掌を含まない新たな仮想ポインティング・デバイスを定義する場合、ユーザは後に、その特殊な仮想ポインティング・デバイスの機能を再プログラムすることができない。むしろ、ユーザは新たなデバイスを生成するための総称的仮想ポインティング・デバイスから開始する必要がある。或いは、本発明の範囲から逸脱すること無しに、メイン・メニュー６００を活動化するための異なる技術が使用され得る。
【００３４】
ユーザはデフォルト指定の精度公差を１０％から、多数の事前にプログラム済みの値に変更してもよい。そのために、ユーザは精度ボタン７０２を押下し、それに応答してユーザ選択用に幾つかの値（例えば４％、８％、２０％）のドロップ・ダウン・リスト（図示せず）が現れる。ユーザはボタン７０４を押下することにより、全ての選択を入力／保管する。それに応答して、図６に示されるメイン・メニュー６００が再度現れる。
【００３５】
図６を参照すると、ユーザが機能定義ボタン６２５を選択する場合、ユーザが指紋／掌紋領域の機能を定義／再定義することを可能にする”機能定義”メニューが現れる。特に、図７の機能定義メニュー７３０は、ユーザが適切な指の隣の関連ボタンを押下することにより、各指紋及び親指の指紋領域の機能を変更することを可能にする。例えばユーザがボタン７３２を押下すると、これはユーザが第２の指である中指（すなわち指紋領域２３０）の機能を変更することを希望することを示す。それに応答してＯＳはメモリに記憶される定義済みの機能のドロップ・ダウン・リスト７４０を表示する。ユーザがオープン機能７４２を選択すると、それに応答してＯＳは別のドロップ・ダウン・リスト７４６を表示する。ユーザは機能を呼び出すために中指のダブル・クリック７４４を選択している。ユーザは次に保管ボタン７４８を押下し、エントリをユーザ・ファイルに保管する。それに応答して図６に示されるメイン・メニュー６００が現れる。しかしながら当業者には、本実施例の範囲及び趣旨から逸脱すること無しに、指の振舞い及び指紋領域の機能の他の変更も可能であることが容易に理解されよう。
【００３６】
図６を参照して、ユーザがポインタ定義ボタン６３０を選択する場合、”ポインタ定義”メニューが現れ、ユーザが仮想ポインティング・デバイス上のポインタの形状、感度及び位置を定義／再定義することを可能にする。図７のポインタ定義メニュー７６０を参照すると、ユーザはポインタに関する多数の選択を有する。例えばユーザは小さい、中間の、または大きい矢印及び（または）点滅する矢印を選択することができる。ユーザはまた、小さなまたは大きなポインタ感度及び仮想ポインティング・デバイスに関するポインタの位置を選択することができる。例えばポインタは第３の指（薬指）上（デフォルト指定位置）、若しくは第１の指（人差し指）上、または掌の下に位置決めされ得る。しかしながら、当業者には、本実施例の範囲及び趣旨から逸脱すること無しに、ポインタの振舞いの様々な変更が可能であることが容易に理解されよう。ユーザは保管ボタン７６２を押下してエントリを保管し、それに応答してメイン・メニュー６００が現れる。
【００３７】
最後に、図６において、ユーザは保管／終了ボタン６３５を押下することにより、保管及び終了するための任意選択をまた取り消しボタン６１５を押下することにより全ての変更を取り消し、デフォルト指定の仮想ポインティング・デバイスに復帰する任意選択を有する。
【００３８】
図４を参照すると、第２の実施例では、ＯＳが定義済みの標準のサイズの指紋領域４２０、４３０、４３５及び４４０、並びにポインタ４５０を、非活動状態（”明白な不活発状態”としても参照される）の仮想ポインティング・デバイスとして表示する。仮想ポインティング・デバイスの指紋領域が半透明状態に表示され、従ってオブジェクト・アイコンがそれを透過して見える。仮想ポインティング・デバイスを活動化するためにユーザは１つ以上の指をタッチスクリーン４００上の指紋領域４２０、４３０、４３５または４４０上に配置する。活動化されるとＯＳは各指紋領域にデフォルト指定の機能を割当てる（例えば各指紋領域上に、デフォルト指定機能が表示される）。
【００３９】
１つ以上の指紋領域上に指が配置されたことの検出に応答して、ＯＳは指紋領域のサイズを指紋領域上に配置された指のサイズに変更する。従って、例えば、指が指紋領域よりも小さいと、その指紋領域が指のサイズに縮小される。逆に、指が指紋領域よりも大きいと、指紋領域が指のサイズに拡大される。
【００４０】
或いは、ＯＳが１つ以上の半透明の指紋領域４２０、４３０、４３５及び４４０上で、音パターン（または熱、圧力など）を検出する場合、ＯＳは指が配置された仮想ポインティング・デバイスのそれらの領域だけを活動化する。この場合、ＯＳは指が配置された各指紋領域に、デフォルト指定の機能（例えば各指紋領域上に表示されるデフォルト指定機能）を割当てる。しかしながら、指を配置されない指紋領域は活動化されず、それらは活動化されるまで、デフォルト指定の機能を割当てられない。各指紋領域はいつでも活動化され得る。
【００４１】
ユーザが彼（または彼女）の指をタッチ画面４００上でスライドするとき、ＯＳはユーザの移動する指の下のタッチ画面画素座標を検出し、それに応答して、仮想ポインティング・デバイスの”活動化”領域を、指の下のタッチ画面領域として連続的に再定義する。従って、仮想ポインティング・デバイスはユーザの指の動きと一緒にそれに追従して移動する。しかしながら、全ての指紋領域が直ちに活動化されなくてもよく、全ての指紋領域が１つのオブジェクトとして一緒に移動する。
【００４２】
ＯＳは、ポインタ４５０が仮想ポインティング・デバイスの動きに追従して移動するように、ポインタ４５０を指紋領域４２０の近くに位置決めする。従って、ユーザは例えばポインタ４５０が所望のオブジェクト・アイコン上に位置決めされるように、仮想ポインティング・デバイスを移動することができる。或いは、ユーザは単に彼の手を持ち上げ、それを所望の位置に配置してもよく、それによりＯＳが仮想ポインティング・デバイスをユーザの指の下の新たな位置に再生する。更に、手が持ち上げられたときに、仮想ポインティング・デバイスにより選択された任意のオブジェクトまたはテキストが新たな位置に再描画される。
【００４３】
この例では、ユーザは仮想ポインティング・デバイスのその領域を活動化するために、彼（または彼女）の第１の指（人差し指）を指紋領域４２０上に配置している。ユーザが仮想ポインティング・デバイスの指紋領域間の距離を再設定することを希望する場合、ユーザは単に別の指を１つずつ、各表示される指紋領域上に配置し（それによりそれらを活動化する）、各指を適当に外側または内側に、或いは上方または下方にスライドすることにより、仮想ポインティング・デバイスの指紋領域間の距離をカストマイズすればよい。このように、ユーザは仮想ポインティング・デバイスの形状／サイズを、彼（または彼女）の指の形状／サイズにカストマイズする。しかしながら、ユーザは仮想ポインティング・デバイスを使用する度に、その形状／サイズを積極的にカストマイズしなければならない。
【００４４】
ユーザがポインタ４５０を所望のオブジェクト・アイコン４２２上に位置決めすると、ユーザは例えば、指紋領域４２０上で彼の第１の指（人差し指）をシングル・クリックして、フォーカスをオブジェクト・アイコン４２２に移す。しかしながら、この実施例では、総称的機能だけ（または前述の確立された機能）が使用され得る。
【００４５】
以上、本発明は特定の実施例に関連して述べられてきたが、当業者には、本発明の趣旨及び範囲から逸脱すること無しに、その形態及び詳細における他の変更が可能であることが理解されよう。
【００４６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４７】
（１）少なくともプロセッサ、メモリ及びタッチスクリーンを有するコンピュータ・システムに、複数の移動可能な仮想ポインティング・デバイスを生成するように指示する方法であって、
ａ）前記タッチスクリーン上に配置される少なくとも２つの手を検出するステップと、
ｂ）前記タッチスクリーン上に位置決めされる各手の少なくとも一部の下に、前記仮想ポインティング・デバイスを生成するステップと、
ｃ）第１の手がもはや前記タッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはや前記タッチスクリーン上に位置決めされていないか否かを判断するステップと、
ｄ）２つ以上の前記手が同時に前記タッチスクリーン上に位置決めされていないことに応答して、少なくとも１つの前記手が前記タッチスクリーン上に再配置されることの検出により、前記再配置された手に属する前記仮想ポインティング・デバイスを決定するステップと、
を含む、方法。
（２）前記ステップａ）が、前記手から熱、圧力、または音を検出するステップを含む、
前記（１）記載の方法。
（３）少なくともプロセッサ、メモリ及びタッチスクリーンを有し、複数の移動可能な仮想ポインティング・デバイスを生成するコンピュータ・システムあって、
ａ）前記タッチスクリーン上に配置される少なくとも２つの手を検出する手段と、
ｂ）前記タッチスクリーン上に位置決めされる各手の少なくとも一部の下に、前記仮想ポインティング・デバイスを生成する手段と、
ｃ）第１の手がもはや前記タッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはや前記タッチスクリーン上に位置決めされていないか否かを判断する手段と、
ｄ）２つ以上の前記手が同時に前記タッチスクリーン上に位置決めされていないことに応答して、少なくとも１つの前記手が前記タッチスクリーン上に再配置されることの検出により、前記再配置された手に属する前記仮想ポインティング・デバイスを決定する手段と、
を含む、コンピュータ・システム。
（４）コンピュータ読出し可能プログラム・コード手段を埋め込むコンピュータ使用可能媒体を含む装置であって、前記コンピュータ読出し可能プログラム・コード手段が、
少なくともタッチスクリーンを有するコンピュータ・システムに、前記タッチスクリーン上に配置される少なくとも２つの手を検出するように指示するコンピュータ読出し可能プログラム・コード手段と、
前記コンピュータ・システムに、前記タッチスクリーン上に位置決めされる各手の少なくとも一部の下に、前記仮想ポインティング・デバイスを生成するように指示するコンピュータ読出し可能プログラム・コード手段と、
前記コンピュータ・システムに、第１の手がもはや前記タッチスクリーン上に位置決めされていないことの検出に応答して、他の少なくとも１つの手がもはや前記タッチスクリーン上に位置決めされていないか否かを判断するように指示するコンピュータ読出し可能プログラム・コード手段と、
前記コンピュータ・システムに、２つ以上の前記手が同時に前記タッチスクリーン上に位置決めされていないことに応答して、及び少なくとも１つの前記手が前記タッチスクリーン上に再配置されることの検出により、前記再配置された手に属する前記仮想ポインティング・デバイスを決定するように指示する手段と、
を含む、装置。
【図面の簡単な説明】
【図１】本発明と共に使用される従来のハードウェア構成を示す図である。
【図２】本発明による仮想ポインティング・デバイスを示す図である。
【図３】本発明に従いステップを実行する詳細論理をフローチャート形式で示す図である。
【図４】図２に示される仮想ポインティング・デバイスの変形を示す図である。
【図５】図２に示される仮想ポインティング・デバイスの別の態様を示す図である。
【図６】本発明による仮想ポインティング・デバイスの特性を定義するメニューを示す図である。
【図７】本発明による形状メニュー、機能定義メニュー、及びポインタ定義メニューを示す図である。
【図８】本発明に従いステップを実行する詳細論理をフローチャート形式で示す図である。
【図９】本発明に従いステップを実行する詳細論理をフローチャート形式で示す図である。
【符号の説明】
１０  中央処理装置
１２  システム・バス
１４  ランダム・アクセス・メモリ（ＲＡＭ）
１６  読出し専用メモリ（ＲＯＭ）
１８  Ｉ／Ｏアダプタ
２０  ディスクまたはテープ・ドライブ
２２  ユーザ・インタフェース・アダプタ
２４  キーボード
２６  マウス
２８  スピーカ
３６  タッチ画面表示アダプタ
３８  タッチ画面表示装置
１００  コンピュータ・システム
２００、４００  タッチ画面
２１０  掌紋領域
２１５  親指指紋領域
２２０、２３０、２３５、２４０、４１５、４２０、４３０、４３５、４４０  指紋領域
２４５  フォーカス機能
２５０、４５０  ポインタ
２５５  第１の基準点
２５７  オープン
２５９  解除まで選択
２６０  第２の基準点
２６１  ペースト
２６２  デフォルト指定メニュー
２６５  Ｘ座標
２７０  Ｙ座標
２８０  領域
４２２  オブジェクト・アイコン
６００  メイン・メニュー
６１５  取り消し
６２０  形状ボタン
６２５  機能定義ボタン
６３０  ポインタ定義ボタン
６３５  保管／終了ボタン
７００  形状メニュー
７０２  精度ボタン
７０４  ボタン
７３０  機能定義ボタン
７３２  ボタン
７４０、７４６  ドロップ・ダウン・リスト
７４２  オープン機能
７４４  ダブル・クリック
７４８、７６２  保管ボタン
７６０  ポインタ定義メニュー
【図１】
0003589381.tif 000002
【図２】
0003589381.tif 000003
【図３】
0003589381.tif 000004
【図４】
0003589381.tif 000005
【図５】
0003589381.tif 000006
【図６】
0003589381.tif 000007
【図７】
0003589381.tif 000008
【図８】
0003589381.tif 000009
【図９】
0003589381.tif 000010