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