マルチタッチ表面装置
【課題】手のコンフィギュレーションおよび動きを認識して、様々な入力動作を識別するために使用できる装置を提供する。
【解決手段】1つの硬質または軟質な表面4と、表面4上または近傍のタッチ対象物によってもたらされるキャパシタンスの変化を感知可能な電極走査ハードウェア6と、電極走査ハードウェア6からタッチ対象物のコンフィギュレーションおよび動きを解釈する接触部追跡及び識別10と、個々のタッチ対象物のコンフィギュレーションおよび動きに応答してホストコンピュータ22への信号を生成する処理手段12、14、16、18と、を有するマルチタッチ表面装置。
【解決手段】1つの硬質または軟質な表面4と、表面4上または近傍のタッチ対象物によってもたらされるキャパシタンスの変化を感知可能な電極走査ハードウェア6と、電極走査ハードウェア6からタッチ対象物のコンフィギュレーションおよび動きを解釈する接触部追跡及び識別10と、個々のタッチ対象物のコンフィギュレーションおよび動きに応答してホストコンピュータ22への信号を生成する処理手段12、14、16、18と、を有するマルチタッチ表面装置。
【発明の詳細な説明】
【技術分野】
【0001】
発明の背景
本出願は、1998年1月26日に出願された出願番号60/072,509の米国の仮特許出願、および1999年1月25日に出願された出願番号09236513号の米国の通常特許出願に基づいている。
A.発明の技術分野
本発明は、一般には、データを入力するための装置に関し、より詳しくは、本発明は、手操作入力を統合するマルチタッチ表面装置に関する。
【背景技術】
【0002】
B.関連技術の説明
今日では、コンピュータに対してデータおよびコマンドを手操作入力するための多くの手段が使用されているが、各々は、データ入力の特定種類によっては、かなり効率的で使いやすいものである。例えば、ペンまたはパック(pucks)を用いた描画タブレットは、描画、スケッチ、および迅速なコマンド表示行為(ジェスチャ)を行う上で優れている。スタイラスを用いた手書きは、署名(シグニチャ)、特殊記号、または短いテキストを要求する形式に記入するのに便利である。しかしながら、手書きは、タイプ入力や音声入力と比較して、長い文書に対しては手間どる。マウス、指さし(フィンガースティック)、およびタッチパッドは、カーソルの位置指定およびドラッグ&ドロップのようなグラフィックオブジェクト操作をする上で優れている。ローラ、サムホイールおよびトラックボールは、パニングおよびスクロールを行う上で優れている。多くのコンピュータユーザが1日のうちで直面する複数の仕事の多様性は、これら複数の技術の全てを必要としているが、ほとんどのユーザは、複数の入力装置に対して投資しないだろうし、別個独立した装置は、利便性および人間工学的な意味において、相容れないことが多い。例えば、描画タブレットは、グラフィックの専門家にとって必需品であるが、タイプ入力を行うときには、ペンを置くか、指と指との間に不自由な姿勢で挟んで保持しなければならないために、描画とタイプ入力との間の切り替えが不便である。したがって、安価であるうえ、通常の複数の手操作入力技術について簡便な統合を提供する手操作入力装置の技術について長きにわたる要望があった。
【0003】
音声認識は、ユーザの両手の入力負担を幾分か軽減する見込みがある刺激的な新技術である。しかしながら、音声も、全てのデータの種類についての入力に適切であるとはいえない。一般に、音声入力は、長いテキスト文書の書き取り(dictation)に対して最も適している。自然言語認識が十分に成熟し、非常に高水準な音声コマンドがコンピュータによって理解できるようになるまでは、音声は、コマンドやコントロールに対してキーボードのホットキーおよびマウスメニューを超える利点をほとんど有しない。さらに、音声がどんなに良く理解されるようになったとしても、明確な位置指定、描画、およびグラフィックオブジェクトの操作を音声コマンドによって行うことは困難である。したがって、音声入力を補う多機能型の手操作入力装置のための技術における要望は常に存在するであろう。
【0004】
標準的な入力装置の集合のタイプ入力、ポインティング、スクロール、および手書きといった能力を結びつける総括的な手操作入力装置は、装置の専門化を放棄するといった不可避の犠牲よりも重要であることとして、人間工学的、経済的、および生産性の観点からの利点を有していなければならない。総括的な手操作入力装置は、しっかりと統合するものであって、さらに異なる入力の種類をはっきりと区別できなければならない。このため、ユーザは、一の入力の動作状態から他の入力への切り替えの前に、ボタンの押圧、腕の移動、またはスタイラスの持ち上げといった明示のモード切り替え信号を与える必要がないという意味において、ユーザにとってモードレスであることは明らかである。疫学的(Epidemiological)な研究は、反復および加えられる力が、反復的な疲労障害を引き起こすことを増加させることを示唆する。不自由な姿勢、装置を動作させる力、無駄な動き、および繰り返し動作は、人間工学的な改善を図るために最小限化すべきである。さらに、作業負荷は、反復的な疲労を避けるために、全ての利用可能な筋肉の複数のグループに対して均一に分配されるべきである。
【0005】
複雑なマウスの位置指示動作手順を要求する複数のタスクをいくつかのグラフィック操作チャネルに割当てることによって、繰り返し動作を最小化することができる。スクロールバーやスライダーコントロールを認識し操作するというような通常のグラフィカルユーザインタフェース操作は、スクリーンコントロール上のカーソルを再配置するステップを行うことなく直接的にスクロールを行う特定の指操作に比べて効率性が低い。好ましくは、複数のグラフィック操作チャネルは、作業負荷を分配すべく、多くの複数の指および手の動作についての組合せに振り分けられるべきである。エッジスクロールを有するサーク(Cirque)(登録商標)のスマートキャットタッチパット(Smartcat touchpad)、埋め込まれたポインティングスティックを有するIBM(登録商標)のスクロールポイント(ScrollPoint)(商標)マウス、およびギリックらにより米国特許第5,530,455号に記載されるローラマウス(Roller Mouse)などの補助スクロール制御を有するタッチパッドおよびマウスは、この分野において小さな改良を示しているが、数多く頻繁に使用されたカーソル動作手順を省略するのに十分な直接的な操作チャネルは未だに得られない。さらに、S.ザイらは、「ポインティングとスクロールのためのデュアル ストリーム インプット」,CHI議事録 97年予稿集(1997年)(“Dual Stream Input for Pointing and Scrolling”, Proceedings of CHI ’97 Extended Abstracts (1997))において、同時パニング、ズーム、回転を防ぐ上で、2以上の自由度を一度に操作することはこれらの装置では非常にむずかしいことを見出した。
【0006】
過度の動作や繰り返しを減らすための他の一般的な方法は、ユーザが動作を止めたり指を持ち上げたりしない限り、ポインティングまたはスクロールの動作信号を自動的に継続することである。関連する技術手段は、このような動作の継続がなされる条件に応じて分類することができる。米国特許第4,734,685号において、ワタナベは、ポインティング装置の移動の距離および速さが閾値を超える場合に画像パニングを継続するようにしている。自動的なパニングは、ポインティング装置を反対方向へ戻すことにより停止するので、停止には更なる正確な移動を必要とする。ガレスピーらによる米国特許第5,543,591号においては、指を小さいタッチパッドの周囲のエッジ境界領域に入れると、動作の継続が生じる。継続する移動速度は一定であり、その方向はタッチパッドのセンターからエッジにある指へ向かう方向に一致する。継続モードは、指を境界領域から離すか、パッドから持ち上げると終了する。好ましくないことに、ユーザは、時々、カーソル動作の継続を意図しないにもかかわらず、パッドのエッジに指をおくため、予想外な動作の継続に惑わされることになる。ロガンらによる米国特許第5,327,161号は、同様に指が境界領域に入る際に、動作継続することを記述しているが、別のトラックボールエミュレーションモードでは、動作継続は、リフトオフする際の接線方向の指の速さおよび方向の関数とすることができる。動作の継続は、摩擦因子によって止まり、あるいは表面への次の接触部によって停止できる。好ましくないことに、素早く、ディスプレイ上の大きなターゲットに近づく(アプローチする)場合、ユーザは指をリフトオフする前にポインタを完全には静止しないため、リフトオフする際のタッチ速度は、動作継続についてのユーザの要望を正確に示さない。したがって、ユーザが本当にターゲットでポインタ動作を停止するつもりである場合には不意にアクティブとならないが、境界にある時には生じ、または指をリフトオフする間に十分な速度で移動している時には生じるといった動作継続方法を提供することは、当該分野においては進歩である。
【0007】
ポインティング装置に利用(アクセス)するために、手をタイプ入力位置から離す必要のないように、ポインティング装置をキーボードに埋め込む数多くの試みがなされてきた。これらとしては、フランツらによる米国特許第5,189,403号に記載される組み込み型のポインティングキー、「ポインティングのためのフォースツーモーション機能」,ヒューマン―コンピュータ インターラクション―インターラクト90,701〜06ページ(1990年)(”Force−to−Motion Functions for Pointing”, Human−Computer Interaction−INTERACT ´90, pp. 701−06(1990))でJ.ラトレッジおよびT.セルカーによって開示される組み込み型のポインティングスティック、およびサンティリによる米国特許第5,675,361号に記載される位置検出キーなどが挙げられる。それにもかかわらず、これらの装置の限られた移動範囲および解像度は、マウスより低いポインティング速度および精度しかない状態を導き、また、これにより、キーボード構造に機械的な複雑さが付加される。したがって、タイプ入力する手の位置から容易に利用可能であるより高い解像度、より広い移動範囲およびより多くの自由度を有するポインティング方法に対する必要性が当該分野にある。
【0008】
タッチスクリーンおよびタッチパッドは、クリックとして意図されるタッチ面上でのタッピングの際には、指先の接線方向の動きが殆ど生じないことを仮定することによって、ポインティング動作と、エミュレートされたボタンクリックすなわちキー押圧とを区別する。タッピングは、一般的に、表面に対して接線方向への指の動作要素を最小限化して、停止した指の位置から真直ぐ下へ降ろすという仮定は、上記方法に固有のものである。これは、表面が個別の複数のキー領域に分割されていない場合、または、ユーザがキーをたたく前に視覚による検索をおこなって各キーをゆっくり「選択してたたく」場合には、有効な仮定である。例えば、ガレスピーらによる米国特許第5,543,591号では、タッチパッドは、接線方向の全ての動作をカーソル移動としてホストコンピュータに送信する。しかしながら、指が着面した後、1つのタップと見なされるのに十分な程度に早期に離れる場合、および、累積された接線方向の動作が過剰でない場合には、いかなる送信動作も取り消され、代わりにマウスボタンクリックが送信される。この方法は、問題なく取り消されることができるポインティングなどのマウスのコマンドに対してのみ働き、ドラッギングや他の操作に対しては働かない。ロガンによる米国特許第5,666,113号では、約1/16インチ未満の接線方向移動を伴うタップは、小さなキーパッド上での複数のキーをアクティブにする一方、1/16インチを超える接線方向移動はカーソル制御モードをアクティブにする。双方の特許において、指を表面に長時間とどまらせると、カーソルモードが、初期設定(デフォルト)によって呼び出される。
【0009】
しかしながら、大きい複数のキー領域の配列に分割された表面での速いタッチタイプ入力は、関連分野の従来のフィルタリング技術が許容できる以上の接線方向の移動を表面に沿って生じさせる傾向をもつ。配列は、指に直接支配されない複数の行および列のキーを含んでいるので、ユーザは、キー領域の多くに触れるために、手を広げ、あるいは指を突き出さなければならない。指が宙にあるときの素早い伸張動作および突出動作が、表面に指が接触部する際にまだ残り、無視できない接線方向の指の動きを伝えてしまう。表面で測定される接線方向の動きが1/4インチとなるような斜め方向からのタップも容易に生じてしまう。この大きすぎる動きをフィルタリングし、すなわち抑制しようとする試みは、カーソルを鈍く、かつ感度が低いようにしてしまう。さらに、指が表面の一箇所に保持される場合には、ポインティングモードの代わりに、タイプ入力動作、すなわち自動的なキーの繰返しモードに入るようにすることが望ましい。伸張された指で押圧する間、指先の接線方向の移動は、強力なフィルタリングのない場合にカーソルの震えとして受け取られる。したがって、一本の指の接線方向移動よりも確固とした手のコンフィギュレーション(configuration)による合図(キュー)によって、同じ表面上でのキーイングとポインティングとを区別する方法に対する必要性は当該分野において存在する。
【0010】
人間工学的なタイプ入力システムは、キーをタップする力を最小限化し、指のタップと休止している手を容易に区別し、指を表面からの衝撃力から保護することを要求するものでなければならない。機械的およびメンブランのキーボードは、キースイッチのスプリング力に依存して、手をキー上で休ませているときの作動を防いでいる。これは、キー動作の力による疲労を軽減したいという要望と、休止中にキーへの手の全重量をかけてリラックスしたい人間工学的な要望との間に、相容れないトレードオフを生じさせる。タッチ面での力の最小限化は、膜の反発力または表面弾性波検出技術ではなく、指の圧力に依存しない、コンデンサ式、またはアクティブ形オプティカル検出を用いれば可能である。下記で議論されるこの関連する分野のタッチデバイスは、4本の指先、親指、および、おそらく複数のてのひら後部を含む手全体を表面上で休める場合に、取り違えてしまうだろう。したがって、休息している手や表面の緩衝に非厳密である無加力(zero−force)のコンデンサ検出に基づいたマルチタッチ表面タイプ入力システムに対する必要性が当該分野において長い間存在している。
【0011】
人間工学的なタイプ入力システムはまた、個々の手のサイズに適合し、タイプ入力スタイルのバリエーションに寛大であり、さらに自然な手の姿勢の範囲を維持することができねばならない。多くの人間工学的なキーボードが報告されてきたものの、機械的なキースイッチが膨大なコストをかけて位置変更されるのみである。例えば、米国特許第5,689,253号においてハーグリーブズらによって記載される凹形のキーウェルを有するキーボードは、ほとんどの手に良好にフィットするが、ただ一つの位置に両腕を固定しがちとなる。タッチ表面のキーレイアウトは、その変更によってユーザを混乱させない程度に、容易にモーフィングされ、移動され、あるいは任意に再設定されうる。しかしながら、このタッチ表面は、機械的な複数のキースイッチのエッジほど多くの接面方向の触覚的フィードバックを提供しないかもしれない。このように、個々の手の姿勢にフィットするようにキーのレイアウトを改造することができ、かつ、特定された触覚的フィードバックにより手が移動(drift)する場合にタイプ入力精度を維持できる表面タイプ入力認識装置に対する必要性が当該分野に存在する。
【0012】
スタイラスを使用する滑らかなタッチ表面上の手書きは当該分野において公知であるが、他の入力動作中には、スタイラスはどこかに置かれなければならないか、不自由な状態で保持されなければならず、タイプ入力およびポインティングとうまく統合しない。また、スタイラスの手書き動作を指先のポインティング動作と区別することは困難であるかもしれない。したがって、スタイラスを必要とせず、かつポインティング動作と間違われることのない、おおまかな手書き表示行為を行う方法に対する必要が当該分野にはある。
【0013】
上記で引用される入力区別の必要性の多くは、スライドする指の和音的(コード(chord)動作やグリップ等の様々な手のコンフィギュレーションや動作を識別するタッチ検出技術と合致する。多くの機械的なコードキーボードは複数の指からの同時の下方への動作を検出するように設計されてきたが、これらは広い範囲にわたる接面方向の指の動作を検出しない。関連技術は、個々の指を追跡するによってマウスまたはキーボードをエミュレートするコンデンサ型タッチパッドのいくつかの実例を示す。これらは、具体的には、複数行および複数列に配置される伸長された複数のワイヤ間のキャパシタンスを測定する。薄い誘電体が複数行および複数列の層間に介在している。指の存在は、前記電極近くの自己または相互キャパシタンスに変動を起こす。これらの技術の多くは特定の行および列におけるすべての対象物の近接値を一つの電極上で集約する射影式の(projective)列および行センサを使用するものであるので、S.リー、「ファースト マルティプル タッチ センシティブ 入力装置」、トロント大学 マスターシリーズ (1984年)(S. Lee, “A Fast Multiple−Touch−Sensitive Input Device”, University of Toronto Masters Thesis (1984))で論議されるように、2つ以上の対象物の位置を一義的に決定することができない。1つの行に置かれた指先の数をカウントするのがせいぜいであり、親指やてのひらが指先と同じ列に配置されると失敗してしまう。
【0014】
米国特許第5,565,658号および第5,305,017号では、ガーフェイドらは、一セットの複数電極をあるクロック周波数で駆動し、どれくらい多くの周波数が第二の電極セットにカップリングするかを検出することによって行および列電極間の相互のキャパシタンスを測定する。このような同期測定は駆動周波数でノイズを生じる傾向が非常にあるので、信号対雑音比(signal−to−noise ratio)を向上すべく、単一の行および列ではなく、複数の行または複数の列から構成される仮想電極を形成し、様々な相互キャパシタンスがゼロになるあるいは均衡がとれるまで電極の組合せを通してスキャンする。カップリングされた信号は各仮想電極の複数行と複数列との積にしたがって増加するが、ノイズはその加算値にしたがって増加するため、2より多い行および2より多い列から構成される仮想電極に関して、信号対雑音比(signal−to−noise ratio)の正味は増加する。しかしながら、複数の対象物を一義的に識別するためには、仮想電極のサイズを小さくしなければならないので、行および列の仮想電極の交差部分(intersection)は指の先端部、すなわち、約2行および2列以下である。また、信号対雑音比は、大きな範囲をカバーするために行および列の長さが増加するに従って低下してしまう。
【0015】
米国特許第5,543,591号、第5,543,590号および第5,495,07号において、ガレスピーらは、それぞれ、行および列の電極に関する電極−指の自己キャパシタンスを測定する。全電極キャパシタンスは、既知の時間内に既知の電荷量を注入または除去することによって生じる電極電圧の変化を測定することにより評価される。各電極がそれ自身のドライブ/センス回路を有する場合には、すべての電極を同時に測定することができる。全ての行および列の複数の電極信号から計算される重心は、単一の対象物に対して補間された垂直および水平位置を確立する。この方法は、通常、同期方法より高い信号対雑音比を有するが、信号対雑音比は行および列の長さが増大するにつれて、減少していく。信号対雑音比は、パッドより上に数ミリメーター浮かせている対象物を正確に位置付けるために特に重要である。この方法はこのような対象物を検出できるものの、その位置がパッドの中間付近であると報告する傾向があり、またはエッジ付近に浮いている対象物を検出しない。
【0016】
したがって、低い信号対雑音比、および、長い行および列の複数電極を有するタッチパッドにおける複数指の識別が不可能といった問題を有さないキャパシタンス検出装置に対する必要性が当該分野にはある。
【0017】
ボイエらによる米国特許第5,463,388号は、キーボードあるいはマウスの入力のいずれかに適用できるコンデンサ型検出システムを有するが、同時に双方のタイプの入力を統合する問題を考慮していない。彼らは配列されたユニットセルの複数電極を個別に検出できると言及するものの、そのキャパシタンス変換回路は各電極で経済的に模造されるにはあまりにも複雑であると考えられる。したがって、信号処理回路を遠隔制御するために複数電極に接続されている長いリードワイヤは、ノイズを拾い、指−電極自己キャパシタンス(finger−electrode self−capacitance)と比較して大きなキャパシタンスを有し、さらに、信号対雑音比を制限するであろう。また、彼らは、複数の指を追跡(tracking)するための独立した複数電極の重要性を認識していないか、すなわち、どのようにして、複数の指を独立した電極アレイ上で追跡するかについて言及していない。
【0018】
リーは、32行および64列で配列される7mm×4mmの金属電極を備えた初期のマルチタッチ電極アレイを作製した。「初期のマルチプル−タッチ−センシティブインプットデバイス(Fast Multiple−Touch−Sensitive Input Device FMTSID)」の全作動面積は12インチ×16インチであり、電極から指を絶縁するために0.075mmマイラー誘電体を備える。各電極は、行を充電させるためのラインに接続される一のダイオード、および列を放電させるためのラインに接続される第二のダイオードを有していた。電極のキャパシタンス変化は、単独に測定されるか、あるいは、矩形状の複数グループでは、1またはそれ以上の行ラインで電圧を上げて、これらの複数行で複数電極を選択的に充電し、選択された列の放電抵抗を介してグランドに放電するタイミングを計ることによって測定された。リーの設計は1電極に対して2つのダイオードを必要とするのみであるが、列のダイオードの逆バイアスキャパシタンスが同じ列の複数電極間で干渉(interference)を起こすことがLeeの設計の主な欠点である。
【0019】
上記で列挙されたすべての関連するキャパシタンス検出技術は、経済的な電極密度であって高ポインティング解像度を達成するために複数電極間で補間法を利用するものである。ボイエらおよびガレスピーらは、すべての行および列の電極の読みからの重心計算を論議している。しかしながら、複数指の検出のためには、重心計算は、一度に一本の指だけを含むように極大付近に慎重に限定されなければならない。リーは、極大を見出すために二分的な(bisective)検索技術を利用し、さらに各極大電極の8つの最も近い近傍電極だけに補間する。これは、小さな指先では良好に作動するが、親指やてのひらの接触部は9つを超える電極をカバーしてしまうかもしれない。したがって、それぞれ区別可能な手の接触部によってカバーされる複数電極を正確にグループ化するための改良された手段に対する必要性が当該分野において存在する。
【0020】
マルチ−タッチ表面検出の最大利点を享受するためには、ある一時期に表面と接触部する手の複数の部分を追跡し、識別するために複雑な近接画像処理を行うことが必要である。明度の変化やバックグランドにおける付着した複数の対象物によって整理され、近接画像は、パッシブ光学画像と比較して、肉体がどこで表面に触れているかを明確に示す。このようなに、近接画像のフィルタリングおよび分割段階は、S.アーマダ,「使用可能なリアルタイム3次元手追跡」 第28回アシドマーコンフアレインス予稿集 信号,システム,およびコンピュータ―Part2,vol.2,IEEE(1994年)(S. Ahmad, “A Usable Real−Time 3D Hand Tracker”, Proceedings of the 28th Asilomar Conference on Signals, Systems, and Computers − Part 2, Vol. 2, IEEE (1994) )、またはY.クイおよびJ.ワン,「手のサイン認識のための予測および照合に基づく学習を利用した手の分割」,1996年 IEEE コンピュータビジョンおよびパターン認識についてのコンピュータ学会コンフィデンス、予稿集第88〜93頁(1996年)(Y. Cui and J. Wang, “Hand Segmentation Using Learning−Based Prediction and Verification for Hand Sign Recognition”, Proceedings of the 1996 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp.88−93 (1996) )等の自由空間の手追跡に関するコンピュータビジョン法に比べてより簡単でかつより信頼性が高い。しかしながら、指関節間の中間部分やてのひら中央部などの手の複数部分は、手が表面に対して平らになっていない場合には、コンデンサ型の近接画像をまったく明示しない。指先とてのひらとの間のこれらの中間連結部分を含まない、全体的な手の構造が推定できるだけであり、手の接触部の識別は非常に困難である。このため、F.クエック「妨げのないゲスチュラルなインタラクション」 IEEE マルテ画像ア,vol.3,33〜47頁(1996年)(F. Quek, “Unencumbered Gestural Interaction”, IEEE Multimedia, vol.3, pp.36−47 (1996))などによる自由空間の手によるサインランゲージの認識に適用された光学フローおよび輪郭線追跡技術は、近接画像追跡の特別な問題を扱わない。
【0021】
シナプティクス社(Synaptics Corp.)は、硬質回路基板ではなく可撓性のあるマイラーフィルムで電極アレイを製作するのに成功した。これは、特別な製品の輪郭(contours)を一括成型(conforming)するには適しているが、大きな表面のための十分な指の緩衝材を提供するものではない。緩衝材がフィルムの下に配置された場合でさえ、フィルム、リード線および電極の伸縮性の欠如が圧縮材料によって得られる応答性(コンプライアンス)を制限する。ボイエらは、電極アレイの上面に圧縮材料を載せることによって指の衝撃を緩和することを示唆する。しかしながら、およそ1mm厚を超える絶縁体は、測定される指−電極キャパシタンスをかなり減らす。したがって、任意の厚さの緩衝材を通して指のキャパシタンスの影響を与えるための方法に対する必要性が当該分野において存在する。
【発明の概要】
【発明が解決しようとする課題】
【0022】
本発明の第一の目的は、タイプ入力、多自由度操作およびマルチ−タッチ表面での手書きなどの様々な種類の手操作入力を統合するシステムを提供することである。
【0023】
本発明の目的はまた、ユーザが学習しやすく、システムが認識しやすい、異なる手のコンフィギュレーションを通じて、タイプ入力、多自由度操作およびマルチ−タッチ表面での手書きなどの様々な手操作入力の種類を識別するシステムを提供することである。
【0024】
本発明のさらなる目的は、任意の大きさおよび解像度を有する2次元のセンサアレイが信号雑音比を減少させることなく作製できるように各電極付近に安価に備えられる改良されたキャパシタンス変換装置を提供することである。
【0025】
本発明のさらなる目的は、様々な手のコンフィギュレーションを識別できるような解像度を有する近接画像を得るのに必要な検出電極の数を最小限にする電子システムを提供することである。
【0026】
本発明のさらなる別の目的は、適合しやすく、また拡張された用途で快適かつ人間工学的であるように形状をつけられるマルチ−タッチ表面装置を提供することである。
【0027】
本発明のさらなる別の目的は、表面、すなわち平面上で手を休ませること、表面を正確にスライドすることを妨げることがない触覚キーおよび手位置のフィードバックを提供することである。
【0028】
本発明のさらなる目的は、様々な手のコンフィギュレーションを識別できるような解像度で、センサアレイに近接する人体表面の画像を提供できる電子システムを提供することである。
【0029】
本発明の他の目的は、様々な手のコンフィギュレーションを認識でき、様々な種類の入力動作を識別するために使用できるように、表面と接触する様々な手の部分を識別することである。
【0030】
本発明のさらなる他の目的は、2次元の電子文書のナビゲーションおよび操作を補助するために2以上の手の接触部の動きから並進自由度のみならず、回転および拡大縮小についても高い信頼性をもって抽出することである。
【0031】
本発明のさらなる目的は、3次元の環境のナビゲーションおよび操作を補助するために手の圧力差から傾斜および回転自由度を高い信頼性をもって抽出することである。
【課題を解決するための手段】
【0032】
本発明のさらなる目的および利点は、下記の説明中に記載されており、一部は説明から自明であり、または本発明の実施によって習得される。本発明の目的および利点は、特に添付の請求項で指摘される構成要素および組合せによって実現され、達成される。
【0033】
上記目的をさらに達成するために、タッチ対象物の様々なコンフィギュレーションおよび動きを検出して電子装置または電気機械装置への入力信号を生成するマルチタッチ表面装置であって、当該装置は、1つの硬質または軟質な表面と、前記表面に二次元に配列され、タッチ対象物の近接値の変化によってもたらされるキャパシタンスの変化を感知可能な検出装置と、前記検出装置のアレイからデジタル近接値画像を形成する走査手段と、前記近接値画像から背景オフセットを除去する校正手段と、前記近接値画像を作り上げるタッチ対象物のコンフィギュレーションおよび動きを解釈する認識手段と、個々のタッチ対象物のコンフィギュレーションおよび動きに応答して入力信号を生成する処理手段と、前記入力信号を前記電子装置または電気機械装置に送信する通信手段と、を有する、マルチタッチ表面装置である。
【0034】
また、本発明においては、前記マルチタッチ表面装置は表示装置の上に組み立てられまたは表示装置と統合される。
【0035】
また、本発明においては、前記表示装置は、1つの液晶ディスプレイ(LCD)または発光ポリマーダイオード(LPD)を有する。
【0036】
また、本発明においては、前記マルチタッチ表面装置は、手のコンフィギュレーションの視覚インディケータを含む。
【0037】
また、本発明においては、前記マルチタッチ表面装置は、手のコンフィギュレーションの音声生成装置を含む。
【0038】
また、本発明においては、前記タッチ対象物の前記画像は、前記複数の検出装置に対応した複数の画素からなる。
【0039】
また、本発明においては、前記認識手段は、前記画像を前記タッチ対象物に応じて1つ以上のグループに前記複数の画素を分ける。
【0040】
前記複数の検出装置は2次元アレイ状に配列されており、前記認識手段は2次元アレイ状の検出装置を参照して前記タッチ対象物の位置および動きを決定する。
【0041】
上述した一般的な説明および後述する詳細な説明は、例示および説明に役立つものであり、請求の範囲の発明を限定するものではないことは理解される。
【図面の簡単な説明】
【0042】
【図1】FIG.1は、統合された手操作入力装置のブロック図である。
【図2】FIG.2は、電圧増幅器を有する近接センサの略図である。
【図3】FIG.3は、集積化された電流増幅器を有する近接センサの略図である。
【図4】FIG.4は、電界効果トランジスタを備えた近接センサの略図である。
【図5】FIG.5は、近接センサの二次元アレイを与えるのに使用される際の近接センサの略図である。
【図6】FIG.6は、全ての複数のセンサが同じ増幅器を共有する際の近接センサの二次元アレイに関する具体的なアーキテクチャを示すブロック図である。
【図7】FIG.7は、近接センサの出力をデジタルコードに変換するために使用される回路のブロック図である。
【図8】FIG.8は、一行内の複数のセンサが同じ増幅器を共有する際の近接センサの二次元アレイに関する具体的なアーキテクチャを示すブロック図である。
【図9】FIG.9が、(複数列に配列される)一つのグループ内のすべての近接センサの出力ゲート制御を可能にするのに有用な回路の略図である。
【図10】FIG.10は、非導電性タッチ対象物により加えられる圧力に感受性のある二次元近接センサアレイの側面図である。
【図11】FIG.11は、空間的感度を失わずに可撓性のある表面を提供する二次元近接センサアレイの側面図である。
【図12】FIG.12は、導電性タッチ対象物の近接と非導電性タッチ対象物によって加えられる圧力の双方に感受性のある二次元近接センサアレイの側面図である。
【図13】FIG.13は、指を伸張して手を表面で平らにした近接画像例である。
【図14】FIG.14は、指先を表面で自然な状態にして手を部分的に閉じた近接画像例である。
【図15】FIG.15は、親指と人さし指を締め付けたペングリップ形態の手の近接画像例である。
【図16】FIG.16は、手の追跡および接触部識別システムのデータフロー図である。
【図17】FIG.17は、手の位置推定のフローチャートである。
【図18】FIG.18は、近接画像の分割のデータフローダイアグラムである。
【図19】FIG.19は、電極グループ構成の際の境界検索パターンの図である。
【図20】FIG.20Aは、両手を表面上のデフォルト位置にニュートラルに置いた場合の分割厳密領域の図であり、FIG.20Bは、両手を非対称の位置に置いた場合の分割厳密領域の図であり、FIG.20Cは、右手を表面の左半分を交差させ、かつ左手は表面から離した場合の分割厳密領域の図である。
【図21】FIG.21は、分割エッジテストのフローチャートである。
【図22】FIG.22は、持続型経路追跡のフローチャートである。
【図23】FIG.23は、手部分識別アルゴリズムのフローチャートである。
【図24】FIG.24は、手部分のアトラクター点付近で描かれるボロノイセル図(Voronoi cell diagram)である。
【図25】FIG.25Aは、接触部方向に対する右の親指、右の内側のてのひら、および左の外側のてのひらに関する方向重み付けファクターのプロットであり、FIG.25Bは、接触部サイズに対する親指のサイズファクターのプロットであり、FIG.25Cは、接触部の偏心に対する全接触部近接値の比に対するてのひらのサイズファクターのプロットであり、FIG.25Dは、接触部位とそれに最も近い接触部位間の距離に対するてのひらの分離ファクターのプロットである。
【図26】FIG.26は、親指の存在を検証するアルゴリズムのフローチャートである。
【図27】FIG.27は、別の手部分を識別するアルゴリズムのフローチャートである。
【図28】FIG.28は、ペングリップを検出するプロセスのフローチャートである。
【図29】FIG.29は、手を識別するアルゴリズムのフローチャートである。
【図30】FIG.30A〜Cは、表面接触部の固定された配列のための3種の異なる手の分割の推測を示すものである。
【図31】FIG.31Aは、水平方向の手の速度に対する手の握る方向ファクターのプロットであり、FIG.31Bは、最も外側の次の指に対する最も外側の指の垂直方向位置に対する左右像ファクターのプロットであり、FIG.31Cは、手内のてのひら接触部間の最大水平方向距離に対するてのひらの結合ファクターのプロットである。
【図32】FIG.32は、最も内側の指と最も内側の次の指との接触部間の角度に対する内側の指の角度ファクターのプロットであり、FIG.33は、右の親指と左の親指との間の推定距離に対する内側―手の分離ファクターのプロットである。
【図33】FIG.33は、右の親指と左の親指との間の推定距離に対する内側―手の分離ファクターのプロットである。
【図34】FIG.34は、手の動作要素抽出のフローチャートである。
【図35】FIG.35は、手を縮めるときの具体的な指の軌跡の図である。
【図36】FIG.36は、半径方向および角度方向の手の速度抽出のフローチャートである。
【図37】FIG.37は、並進方向の手の速度要素抽出を示すフローチャートである。
【図38】FIG.38は、差分をとった手の圧力抽出のフローチャートである。
【図39A】FIG.39Aは、指の同期検出ループのフローチャートである。
【図39B】FIG.39Bは、コードタップ検出のフローチャートである。
【図40A】FIG.40Aは、コード動作認識ループのフローチャートである。
【図40B】FIG.40Bは、コード動作イベント生成のフローチャートである。
【図41】FIG.41は、キーのレイアウトモーフィングのフローチャートである。
【図42】FIG.42は、キー押圧検出ループのフローチャートである。
【図43A】FIG.43Aは、キー押圧受容および伝送ループのフローチャートである。
【図43B】FIG.43Bは、タイプ的なエミュレーションのフローチャートである。
【発明を実施するための形態】
【0043】
好ましい実施態様の説明
ここで、本発明の好ましい実施態様について詳細に言及するが、下記実施形態は添付図面で詳細に説明される。可能な場合では、同じ参照番号は、同様のまたは類似の部分を意味するものとして図面にわたって使用される。
【0044】
FIG.1は、統合された手操作入力装置の全体のシステムブロック図である。マルチ−タッチ表面2に埋め込まれたセンサは、表面2への、平らにされた手4の全体、指先、親指、てのひら、および他の導電性タッチデバイス(これらがタッチ対象物である)の近接を検出する。好ましい実施態様によると、表面は両手4を快適に載せるのに十分大きく、前腕の回内運動を抑制するようにアーチ状になっている。
【0045】
別の実施態様によると、マルチ−タッチ表面2は、一方の手の動作に適応するのに十分な大きさであるが、肘掛けまたは衣服にフィットすることができるように可撓性を有していてもよい。
【0046】
電子スキャンハードウェア6は、制御およびセンサアレイの各近接センサからの読み込みを行う。校正モジュール8は、センサアレイの全体の走査(スキャン)によって未加工の近接画像を形成し、バックグランドのセンサオフセットを取り除く。バックグランドのセンサオフセットは、単純には、表面に接触部するものがない場合に取得される近接画像とすることができる。
【0047】
次に、オフセット修正された近接画像は、接触部追跡および識別モジュール10上に移される。そこでは、識別可能な手の複数の表面接触部に画像を分割し、連続する画像を通じた接触部が移動するにつれて、その接触部を追跡し、識別する。
【0048】
識別された接触部の経路は、手のコンフィギュレーションを識別し、検出された手の動作に応答するソフトウェアアルゴリズムを含んでいる、タイプ入力認識モジュール12と、指同期検出モジュール14と、動作要素抽出モジュール16と、ペングリップ検出モジュール17とに移される。
【0049】
タイプ入力認識モジュール12は、同じ手の他指の動作に多くは同期しない複数の指の素早い押圧およびリフトオフに反応する。各指のタップ位置に最も近くにあるキー領域を検出され、その最も近くにあるキー領域に関連キーシンボルまたはコマンドが通信インタフェースモジュール20へ転送される。
【0050】
指同期検出モジュール14は、複数の指のサブセットの同時の押圧および離しに対して一つの手の指動作をチェックする。このような同時の動作が検出されると、同期するサブセットに含まれる指のキーストローク処理を無視、すなわち、キャンセルするようにタイプ入力認識器に信号を送る。また、同期サブセットにおける指識別の組合せでは、コード動作認識器18に進む。
【0051】
動作要素抽出モジュール16は、手の移動、手首を中心とした手の回転、手を握り締めることによる手の大きさの変化、および手の傾きの違いなどといった、表面2上での容易に実施可能な手操作中における個々の指の動作制御の多自由度を計算する。
【0052】
コード動作認識器は、同期検出器14により識別された同期して動く複数の指のサブセットと、16で抽出される動作の方向および速度の双方とに依存するコードタップ(chord tap)または動作イベントを生み出す。次に、これらのイベントは、ホストの通信インタフェース20に送られる。
【0053】
ペングリップ検出モジュール17は、手がペンを握るようなコンフィギュレーションをとることを示す識別される手の接触部の特定配列をチェックする。このような配列を検出すると、ホストの通信インタフェース20への署名イベント(inking events)として指の握りの動作を転送する。これらの署名イベントは、描画若しくは署名を補うために、ホストコンピューターディスプレイにデジタル署名を行い、さらに、当該分野において既知の手書き認識ソフトウェアによって判断を行うこともできる。各々の上記モジュールの詳細な段階は以下にさらに記載する。
【0054】
ホスト通信インタフェースは、単一の時間列のタイプ入力認識器12およびコード動作認識器18の双方からの複数のイベントを維持し、イベントをホストコンピュータシステム22に送信する。インタフェース20およびホストコンピュータシステム22間の通信の方法は、ホストコンピュータの機能および処理力によって非常に広範に変化しうる。好ましい実施態様によると、通信は、アップルデスクトップバス(Apple Desktop Bus)、PS/2キーボード(PS/2 keyboard)およびPC用のマウスプロトコル、またはユニヴァーサルシリアルバス(Universal Serial Bus)(USB)などの工業上標準的なプロトコルを介したコンピュータケーブルで行うことができる。別の実施態様によれば、モジュール10〜18のソフトウェア処理をホストコンピュータ22内で行ってもよい。マルチ−タッチ表面装置は、近接センサアレイ6をスキャンし、近接画像8を形成し、さらにこれらを無線のネットワークでホストコンピュータに圧縮、送信するのに十分なハードウェアを含むだけでよい。さらに、ホスト通信インタフェース20は、ホストコンピュータ上でデバイスドライバの役割を果たし、ホストコンピュータシステム22上に存する他のアプリケーションへの入力として、近接画像認識プロセスの結果を伝達する。
【0055】
好ましい実施態様によると、ホストコンピュータシステムは、手および指4がグラフィックオブジェクトをディスプレイスクリーン上で操作できるように、ビジュアルディスプレイ装置24に出力する。しかしながら、他の実施形態では、ホストコンピュータは、オーディオディスプレイに出力し、あるいは、ロボットのような機械を制御することができる。
【0056】
「近接値」という用語は、指のようなタッチデバイスと表面2との間の距離または圧力に関してのみ使用することとし、隣接する指間の距離に関しては使用しないものとする。「水平」および「垂直」は、表面内のxおよびy軸方向を指す。また近接値測定は、前記表面に垂直なz軸方向への圧力として解釈される。「内側」方向は、与えられた手の親指へ向かう方向を意味し、「外側」方向は、与えられた手の小指に向かう方向を意味する。本説明のために、親指は、特記がなければ指とみなされるが、指先とはみなされない。「接触部」は、表面に触れ、現在の近接画像に表れている際の手の部分に対して、および、それを表すグループおよび経路データの構造に対して、一般的な用語として使用される。
【0057】
FIG.2は、導電性を持った電極33にタッチデバイス38が近接値に依存した電圧58を出力する装置の略図である。近接検出装置は、共通ノード48を持つように直接に相互接続された2つの電気的スイッチング手段30と31、入力ノード46、および出力ノード45とを有する。薄い誘電体材料32は、共通ノード48に電気的に接続された検出用の電極33を覆っている。略一定の電圧を供給する電源34は、基準グランドと入力ノード46との間に接続されている。2つの電気スイッチ30および31は、電源34から積分コンデンサ37にいたる電荷の流れをゲート制御する。積分コンデンサ37の両端の電圧は、ハイインピーダンスの電圧増幅器35により異なる電圧に変換される。積分コンデンサ37の電極は、電気スイッチ36を閉じることによって、積分コンデンサの両端の電圧がゼロになるまで、放電される。電気スイッチ30および31は、順番に開閉されるが、FIG.2に示されるように同時に開かれることはあるものの、決して同時には閉じられることはない。電気スイッチ30は、入力スイッチと称し、電気スイッチ31は、出力スイッチと称し、電気スイッチ36は短絡スイッチと称する。
【0058】
FIG.2に示される接近検出装置は、特有のシーケンスで電気スイッチ30、31および36を開閉することによって動作し、その後で、タッチデバイス38の近接値に依存して増幅器58から出力される電圧が記録される。センサの動作は、FIG.2に示されるように全てのスイッチが開いた状態で開始される。そして、短絡スイッチ36は、積分コンデンサ37に残っている電荷を低レベルに減らすために十分に長い間、閉じられる。そして、短絡スイッチ37が開かれる。入力スイッチ30は閉じられ、その結果、入力スイッチ30の両端の電圧がゼロになるまで、電源と共通ノード48の間に電荷が流される。電荷Qは、次式にしたがって、検出電極33上に蓄積することになる。
【0059】
【数1】
ここで、Vは電源34の電圧であり、eは、誘電体である検出電極の被覆32および当該被覆とタッチデバイス38間の空隙の誘電率であり、Dは、この誘電体領域の厚さであり、Aは、タッチデバイス38と検出電極33とのオーバーラップ領域の面積である。このように、検出電極33に蓄積される電荷量は、とりわけ、タッチデバイス38と検出電極33とのオーバーラップ領域の面積、およびタッチデバイスと検出電極33との間の距離に依存する。入力スイッチ30は、その両端電圧がゼロになるか、ゼロに近くなった後に、開かれる。入力スイッチ30が開かれた直後に、出力スイッチ31は、その両端電圧がゼロに近くなるまで閉じられる。出力スイッチ31を閉じることによって、検出電極33と積分コンデンサ37の間に電荷が流され、その結果、積分コンデンサ37の両端電圧の変化は、以下のようになる。
【0060】
【数2】
ここで、VCは、出力スイッチ31が閉じられる前の積分コンデンサ37の両端電圧であり、Cは積分コンデンサ37のキャパシタンスであり、AとDは、式1で示したように、入力スイッチ30が閉じられたときの値と同じである。上記のように入力30および出力31という複数のスイッチを複合的に切り替えることは、タッチデバイス38と検出電極33との近接値を反映した積分コンデンサ37の電圧を発生させる。
【0061】
FIG.3Aは、短絡トランジスタ36および電圧―電圧変換装置35が、それぞれ抵抗40および電流―電圧変換装置41に置き換えられている近接センサの概略図である。FIG.2に示されるコンデンサ37の積分機能は、近接センサのこのバリエーションでは、FIG.3Aに示されるコンデンサ39によって実行される。近接センサのこのバリエーションが、抵抗40の相対的な値に依存して、複合型の入力および出力スイッチからの出力より線形性が高い出力58を導くことは、当業者に明らかである。二者択一的に、抵抗器40は短絡スイッチ69(参照FIG.3B)に置き換えられることによって、線形性が改善される。FIG.3に示された回路は、FIG.2に示された回路よりも、線形な出力を形成することができるが、FIG.2の回路は一つの電源だけしか要求しないのに対して、FIG.3の回路は、一般的には、2つの電源を要求する。
【0062】
FIG.2に示される電気スイッチは、ディスクリート、集積型、薄膜型、厚膜型、ポリマー型、オプティカル型などの様々なトランジスタ技術によって実現できる。一つの装置がFIG.4に示されており、ここでは、電界効果トランジスタ(FET)が入力30、出力31、および短絡スイッチ36として使われている。FETは、ゲート端子(43、44および55)に印加される電圧によって、オンおよびオフが切り替えられる。本説明においては、ゲート電圧が論理1の場合には、FETはオンに切り替えられ、そのゲート電圧が論理0の場合には、オフに切り替えられるものとする。コントローラ42は、FIG.4Bに示すように時間の関数に応じてゲート電圧を印加するために使用される。この例では、3つのパルス対(43および44)のシーケンスが入力および出力トンジスタのゲートに印加される。パルス43と44との一対の各々は、式2に示された積分コンデンサ37の両端の電圧変化を生じさせる。入力43および出力44ゲートに印加されるパルス対の数は、所望する積分コンデンサ37の両端の電圧値に依存する。代表的な応用例では、その数は、1から数百の間パルス対である。
【0063】
FIG.5は、マルチタッチ表面システムにおける近接センサのアレイを有するシステムでの使用に適した近接センサ回路構成を示す。近接センサ47は、入力トランジスタ30と、出力トランジスタ31と、検出電極33と、検出電極33用の誘電体被覆32と、導電線43、44、45および46とから構成されている。近接センサ47が、密に詰め込まれるとともに同一の導電線を分け合うことができる二次元(2D)アレイを有することが可能なように導電線が配置されており、その結果、システムにおいて必要な線の数を減らす。FIG.6は、全ての近接センサの入力ノード46が相互に接続されるとともに電源34に接続されているシステムの例を示している。全ての近接センサの出力ノード45は、互いに接続されるとともに、1つの積分コンデンサ37、1つの短絡トランジスタ36、および1つの電圧―電圧増幅器35に接続されている。この装置において、一つの近接センサ47は、最初に入力ゲート43に対し、それから出力ゲート44に対して、論理1を一度に加えることによって、使用可能(イネーブル)にされる。一つの近接センサ47のゲート制御は、入力ゲートコントローラ50および出力ゲートコントローラ51によって、一つずつ行うことができる。例えば、右下の角部にある近接センサ47を使用可能にするために、入力ゲートコントローラ50は、導電線43a上へ一つの論理パルスを出力する。これに次いで、導電線44h上の一つの論理パルスが出力ゲートコントローラ51によって生成される。FIG.4Bに示されるようなこのパルスの繰り返しは、電荷を積分コンデンサ37に蓄積させ、対応する電圧を増幅器58の出力として発生させる。近接センサ47のアレイの全ては、このようにして一度に一つのセンサを使用可能にすることによって走査される。
【0064】
FIG.7Aは、近接センサ出力58を、コンピュータによって処理するのに適当なデジタルコードに変換するのに役立つ典型的な回路の概略図である。近接センサ出力58は、タッチデバイス(例えば、FIG.2の38を参照)が近くに存在しない場合であっても、典型的にはゼロにはならない。このゼロとならない信号は、近接センサの共通ノード48に存在する寄生または浮遊容量によるものであり、相対的に一定値をとる。センサ出力58をデジタルコードに変換する前に、このゼロではないバックグランド信号を除去することは望ましい。これは、格納されているバックグランド信号68の記録値をセンサ出力58から差し引くための差動アンプ64を用いることによってなされる。この結果の差分信号65は、K−ビットのコード66を生成するADC(アナログデジタル変換機)60によってデジタルコードに変換される。格納されているバックグランド信号は、まず、タッチデバイスが近くにない状態で近接センサ47(FIG.6)のアレイにおいてサンプリングすることで記録され、それぞれの近接センサ47毎に特定されたデジタルコードを格納している。各近接センサのバックグランド信号に対応する特定のコードは、メモリ装置63へのM−ビットのアドレス入力70によって選択され、DAC(デジタルアナログ変換機)61に入力される。
【0065】
FIG.6に示される近接センサ47の二次元(2D)アレイは、アレイ全体を走査する速度を改善するために、複数あるグループ毎に接続されることができる。これは、複数の近接センサの複数の列としてグループが割当てられているFIG.8に図示されている。この処理において、FIG.6のように、近接センサの入力ノードは、相互に接続されるとともに、電源34に接続される。出力ゲート44もまた同様に接続されることができる。しかしながら、入力ゲート43は、この場合は、全てが互いに接続されており、出力ノード45は、一つの行にある近接センサ47でのみ接続されるとともに、振り分けられた電圧増幅器35に接続される。この接続方法によれば、1つの列に含まれる全ての近接センサは、同時に使用可能となり、この結果、アレイを走査する時間をファクターNだけ軽減することができる、ここで、Nは、1つのグループあたりの近接センサの数である。出力58a〜hは、それぞれに振り分けられたFIG.7Aに示されるような変換回路に接続されるか、二者択一的に、各出力58a〜hは、FIG.7Bに示される回路を用いて一度に変換される。本図において、各グループ58a〜hからの各出力信号は、一つずつマルチプレクサ62により選択されて差動アンプ64の正入力側に加えられる。この後者の方法では、ADC60の変換時間がセンサイネーブル時間よりも早いことが仮定されており、この結果、センサアレイの走査において十分なスピードアップが実現される。
【0066】
FIG.9は、近接センサの出力ゲート44の制御に役立つ代表的な回路を示している。この回路は、3つの入力信号75,76,78、および2つの出力信号44,77から構成されている。ANDゲート79への入力の双方ともが論理1である場合、出力ゲート信号44は、論理1であり、そうでなければ、論理0のままである。入力信号76が論理1である場合に、入力信号78が論理0から論理1に変化するとき、ANDに入力される信号77は論理1となり、そうでなければ、論理0のままである。このような回路81の線形アレイは、FIG.8に示されるように近接センサの一つのグループを一度に使用可能とするために、端部と端部とが接続しておくことができる。
【0067】
FIG.10は、マルチタッチ表面に接触部する非導電性の接触部対象物(例えば、手袋をはめた指)によって与えられる圧力に対して感受性が高いシステムとすることができるマルチタッチ表面89用の被覆を示している。この被覆は、変形可能な誘電体タッチ層85、変形可能な電導層86、および、応答性に富む誘電体膜87を有している。タッチ表面85は、特定の応用に適するように、その上に記号のセットが印刷されており、この表面は、剥がしたり、異なる記号のセットを備えた他のものに置き換えたりすることができる。電導層86は、近接センサの電源34の基準グランドに電気的に接続88されている。タッチ対象物が、上表面85を押圧する場合には、タッチデバイスの下側にある電導面86が、近接センサの検出電極33に近づくように移動する。これは、検出電極33に蓄積されている電荷量の変化をもたらし、この結果、タッチ対象物の存在を検出することができる。蓄積されている電荷の量は、タッチ対象物によって加えられる圧力に依存する。より圧力が高くなると、式1に示されるようにより多くの電荷が蓄積される。
【0068】
より柔らかいマルチタッチデバイスのタッチ面を得るためには、さらに厚く、より応答性の高い誘電体被覆を使用することができる。しかしながら、誘電体の厚さが、増加するのにしたがって、空間的な分解能が低下するといったマルチタッチデバイスタッチ面の効果が助長される。応答性の高い異方性の導電性を備えた材料は、柔らかいタッチ面を提供しつつ、この好ましくない効果を防止するために使用することができる。FIG.11は、応答性の高い異方性電導材料90を薄い誘電体被覆85と検出電極33との間に配置した場合の被覆を示している。応答性の高い材料90の導電性方向が、主として垂直方向に向いている場合には、表面85上のタッチデバイスによって形成される画像は、検出電極33を大きく広げることなく並進され、この結果、応答性の高いタッチ面を提供しつつ、空間分解能を維持する。
【0069】
FIG.12は、近接値およびタッチデバイスの圧力の双方を検出するマルチタッチ表面の断面を示している。タッチ層85は、タッチデバイスを検出電極33から隔てる薄い誘電体である。近接値の検出は、この表面に対してなされる。電極33と、付加されるスイッチおよび導体とは、硬質の金属ベース92に取り付けられた応答性の高い材料89の上に形成される。金属ベース92は、近接センサの電源34の基準グランドに電気的に接続88されている。タッチデバイスがタッチ表面85を押圧する場合、検出電極33は、下方へ動き、硬質の金属ベース92に近づく。移動する距離は、加えられる圧力に依存し、この結果、上述したように、タッチデバイスによって加えられる圧力を検出することができる。
【0070】
近接画像が現れるような手の接触部の標準的な性質を説明するために、FIG.13〜15は、平行四辺形の電極のプロトタイプのアレイによって取得されたサンプル画像を含んでいる。各々の電極の陰影は、肉体が表面に近づいたり、手の押圧によって表面に対する圧力が加わったり、および、平行四辺形に対して完全に重なるのにしたがって、高くなる近接値の信号を示すように、濃淡づけをしている。手書きの認識のような一定の応用の場合には、これらのサンプル画像での電極サイズで示されるものよりも、さらに精密な電極アレイが明らかに要求されることから、これらの画像の解像度は、本発明の範囲を限定するためのものではないことに留意する。以下の説明において、一定の走査サイクル時間の間に一つの電極によって測定される近接値データは、その走査サイクルにおいて取得される近接画像の1つの「ピクセル」を構成する。
【0071】
FIG.13は、指を広げて表面に対して平らにされた右手を示している。遠く離れたところに、約120度位置がずれる傾向がある長円状の親指201がある。淵部の上方を横切ってアーチ状に配列された円柱状の複数のしみは、人さし指202、中指203、薬指204および小指205である。隣接する指の関節部分、すなわち基節骨209の肉体部は、指が完全に伸びきっている場合には、各指先の下方に表れる。内側207および外側206のてのひら後部は、画像の下方を横切っている非常に大きい接触部を生じさせる。てのひらがいっぱいに平らにされる場合、前側の肉状体(calluses)213が手の中央部分に認識できる。この画像は、全ての手の接触部分が、略卵型であるが、それらは圧力、サイズ、方向、離心率、およびお互いの間隔において異なることを示している。本画像は、一つの手の底部から表面に接触部可能な手の各部分の全てを含んでいるが、多くの実例では、これら部分のうちの一部のみが表面に接触部していることもあり、指が曲げ伸ばされることに応じて、指先部分は、てのひらに対して広い範囲で相対的に移動するかもしれない。
【0072】
FIG.14は、手が部分的に閉じられている他の極端な例を示している。親指201は、指先202〜208方向へ内転しており、指は曲げられているので、指先は、表面の接線方向に置かれる代わりに、通常下方にくる。骨端部の方が、肉付きのよい肉盛上り(pulp pad)よりも実際に表面に接触しているので、指先の接触部の高度および強さは幾分少なくなる。隣接する指先202〜205および親指201とは、互いに近接しているので、それらの間にわずかに近接した谷間部分201によって区別されるようになる。隣接する基節骨である指関節部分は、表面の上方の宙にういており、画像には表れず、てのひら前方の肉状体部分も表れない。指が曲がっている際にはてのひらの付け根の部分のみが表面にタッチできるため、てのひら後部206,207は、幾分短くなっているが、その両者の離れている距離は、変化しない。近接画像は、背景にある物体によって混乱しないことに注意する。光学画像と異なり、表面から数ミリメータ以内にある、導電性を持った対象物は全て示される。
【0073】
FIG.15は、ペングリップコンフィギュレーションをした右手の接近画像である。親指201および人差し指202は、あたかもペンを保持するように互いに締め付けられているが、この場合は、その代わりに表面にタッチしている。実際には、親指と人差し指は、ここでも、FIG.14に示される場合と同様に表れる。しかしながら、中指203、薬指204、および小指205は、握り拳を作るように丸くしており、その結果、指先に代わって、指の先端からの挙骨が実際に表れる。挙骨のもとで丸くした部分は、実際には、締め付けている親指201と人差し指202によりも下に配置され、てのひらの突起部206,207に近接する。また、挙骨は、FIG.14の曲がった指先よりも長く、FIG.13での平らにされた指先と同様のサイズで表れる。このようなサイズおよび配置の違いは、ペングリップコンフィギュレーションを、閉じられまたは開いた手のコンフィギュレーションから区別するためにペングリップ検出器17によって検出される。
【0074】
FIG.16は、接触部追跡および識別モジュール内でのデータフローを表している。画像分割プロセス241は、一番最近に走査された近接画像データ240を取得し、その画像を、FIG.13の手における複数部分を区別できるような対応する複数電極242のグループに分割する。推定されたハンドオフセットデータ252のフォードバックによって、部分的に決定された個々の画像領域に適用されるフィルタおよび分割のルールを個別に決定する。画像分割プロセス241は、各グループ内の複数電極の位置および近接値測定に対して1つの楕円形状をフィッティングすることによってパラメータ化したグループデータ構造242を出力する。
【0075】
経路追跡プロセス245は、パラメータ化された電極グループ242を先の画像から抽出された接触部経路データ構造243によって予測される継続性に調和させる。このような経路追跡が、先の画像からの接触部表現の連続性を確実にする。これは、個々の手の接触部の速度を測定したり、手の一部が表面から離れる場合に将来の画像から消えることを決定したりすることを可能とする。経路追跡プロセス245は、現在のグループ242から経路位置、速度、および接触部の幾何学的状態を更新するとともに、それらを接触部識別処理247,248へ伝える。上記目的のため、複数のグループおよび識別されていない経路は、それぞれGiおよびPiの形式のデータ構造名によって参照される、ここで、インデックスiは、ゼロのグループG0およびゼロの経路P0を除いて任意である。特別のグループおよび経路パラメータは、これらの構造名に下つき文字で表記し、画像走査サイクルは、括弧表示で表記する。そのため、例えばP2X〔n〕は、現在の近接画像における経路P2の水平方向の位置を表し、P2X〔n−1〕は、前回の近接画像における位置を表す。接触部識別システムは、手の識別プロセス247と指およびてのひらの識別プロセス248とに階層的に分離している。各接触部に対する識別、指およびてのひらの識別プロセス248は、各面の接触部を生じる手の部分を識別するために、最適化およびファジーパターン認識技術を結合して利用している。推定された手のオフセットのフィードバックは、手のコンフィギュレーションが明らかでなく、ほんの少しの接触部のみ表れている場合に、手の接触部を識別することに役立つ。
【0076】
手の識別プロセス247は、手の識別の範囲内で、より生体力学的な要素を生じさせる表面の接触部に対する、左手または右手の身元の割当てを見出すために、分離結合型最適化アルゴリズムを利用する。それは、手の指が表面からリフトオフされた後に最後に測定された手の位置を一時的に格納しておくことを第1の目的として、推定された手および指のオフセット252のフィードバックを受信する。そのとき、指が同じ領域にすぐに下ろし戻される場合には、前の手識別を受信することが適当であろう。
【0077】
識別プロセス247および248の出力は、手が存在する状態および指の指示が付加された接触部経路のセットである。表記上の目的のため、識別された経路は、識別不能あるいは指が存在しない場合用にF0、親指201用にF1、人差し指202用にF2、中指203用にF3、薬指204用にF4、小指用にF5、てのひら後部の外側部206用にF6、てのひら後部の内側部207用にF7、およびてのひらの肉状体208用にF8が参照される。特定の手の識別を表記するためには、この表記に対して左手ならL、右手ならRといった接頭語をつけることができ、例えば、RF2は、右手の人差し指の経路を表記している。特定の手の全体を参照する場合には、LHは左手を表し、RHは右手を表す。実際のアルゴリズム上は、左手の識別は、−1で表され、右手は+1で表されるので、垂直方向の軸に沿って対称に得られた測定値の左右像を入れ替えやすくなる。
【0078】
各々の手に対して、各ビットが特定の指の接面、接触部の継続、またはリフトオフを表したビットフィールドデータレジスタの一つのセットを保持することも便利である。ビットフィールド内のビットの位置が上述した手の各部の指標に対応する。かかるレジスタは、複数の指の中の特定のサブセットが接面されているか否かを決定するために瞬時にビットマスクを用いてテストを行うことができる。二者択一的に、それらは、特定の指のコード(複数の指の組合せ)に対応した入力イベントを見いだすためのルックアップテーブルに与えられることが可能である。このような指識別ビットフィールドは、主として同期検出器13において必要とされる。
【0079】
追跡および識別のサブシステム内での最後のプロセスは、識別と分割処理にバイアスを加えるフィードバックを提供するために上述された手位置推定装置251である。手位置推定装置は、手がタッチすることなく表面の上に浮いている(フローティング)場合にも、横方向の手位置について保存性のある推定252を提供しようとする。この場合、推定は、手が再び接面する場所の最良の推定を意味する。手の一部が表面にタッチするときに、推定は、現在、識別されている手の部分についての現在の位置測定結果と、より確実な、またはより確実性の少ない識別から既になされている推定とを結びつける。
【0080】
最も簡単ではあるが、精度の低い手位置測定結果を得る方法は、識別には関係なく、手が接触部している位置の全ての平均をとることである。仮に、手の複数部分201〜207の全てがFIG.13のように表面にタッチしているならば、複数の指やてのひら後部は、てのひらの中心の周りにリング状に形成されているため、結果として重心は、てのひらの中心が配置されている適切な推定値となるであろう。しかしながら、1つの手が接触部している場合にのみ、平均をとることが利用できることを考慮すべきである。
【0081】
この推定は、手の中心が、単一の接触部位置であることと仮定しているが、この接触部は右手親指から実際は4〜8cmも離れていることもあり、この接触部は、てのひら後部から実際は4〜6cmも高い場合もあるし、この単一の接触部位置は、中指から実際は4〜6cmも低い場合もある。
【0082】
FIG.17は、手位置推定器251内の詳細なステップを示している。これら複数のステップは、各々の手について個別に繰り返されねばならない。好ましい実施形態では、この処理は、手内の接触部識別(250)を利用して、それぞれの接触部毎に、手の部分の識別iに関して測定された接触部位置(FiX〔n〕,FiY〔n〕)と特定の指またはてのひら後部のデフォルト位置(FidefX〔n〕,FidefY〔n〕)との間のオフセットを計算する(254)。デフォルト位置は、好ましくは、手が、キーボードのホームキー列に載せてある場合のように、指が部分的に閉じられたニュートラルな姿勢にある場合の、指およびてのひらの位置に対応している。ステップ255は、測定された手のオフセット(HmoX〔n〕,HmoY〔n〕)を得るために、個別の接触部フセットの平均値を求める。
【0083】
【数3】
好ましくは、各指およびてのひら後部の重み付けFimow〔n〕は、近似的に、その測定されたトータルの近接値であり、すなわち、Fimow〔n〕=Fi〔n〕である。これは、近接値がゼロとなるような持ち上げられた指は、平均値に全く影響を与えず、通常の近接値よりも値が低い接触部であって測定された位置や識別の精度が低い場合は、影響を小さくすることを確実にする。さらに、てのひら後部がタッチしている場合、これらの大きなトータルの近接値は、平均に対して支配的にはたらく。てのひら後部は、非常にフレキシブルな指部に比べて、手の中心に対して相対的に移動せず、全体的な手の位置をさらに確実に指示するために、この方法には利点がある。手が表面にタッチしていない場合、すなわち、全ての近接値がゼロである場合、測定されたオフセットは、ゼロになるようにセットされている。これによって、フィルタ処理された低い手位置推定値は、デフォルトの手位置へと減衰する。
【0084】
接触部識別が正確である限り、この手位置測定方法は、手の中心から生じる単一の接触部を仮定することによって生じる大きなエラーを除去する。デフォルト位置から指を曲げることは、測定された重心を数センチメートルよりも大きく乱さない。しかしながら、この方法は、接触部を誤って認識した場合について適用可能であるものの、一つの手部分がタッチしている場合であれば、最高8cmもの重心測定誤差が生じてしまう。このように、現在の測定されたオフセットは、直接的には使用されない。しかしながら、単純な一次回帰フィルタを使用し、現在のオフセット推定(HeoX〔n〕,HeoY〔n〕)を形成して、先のオフセット要素(HeoX〔n−1〕,HeoY〔n−1〕)によって平均が算出される。
【0085】
ステップ256は、現在の接触部識別の信頼性に応じてフィルタポールHeoα〔n〕を調整する。指識別は、手の多くの部分が接触部するにしたがって、信頼性を蓄積していくので、簡単な識別の信頼性の測定は、手が最後に表面から離れてから後に手の指が接面している指の数をみることである。大きなトータル近接値を持つ接触部は、サイズおよび方向というような非常に明確な特徴を有するため、識別の信頼性を向上させる。このように、Heoα〔n〕は、概略的には、最大の指の数に対して、手の接触部の近接値の合計を加えたものに比例するようにセットされる。Hoα〔n〕は、もちろん、0と1との間を取るように正規化されていなければならず、さもなければ、フィルタは不安定になる。このように、接触部識別における信頼性が高い場合、すなわち、手の多くの部分がしっかりと表面にタッチしている場合、回帰フィルタは、現在のオフセット測定を助長する。しかしながら、手が持ち上げられてから後、1または2の接触部しか現れない場合には、このフィルタは、より信頼性のある識別に基づいていると考えられる前回のオフセット推定を重視する。
【0086】
フィルタリングされたオフセットは、最適な分割および手が再び接面するといった識別のために、手が表面の上に宙にある状態であっても、手の位置についての保存性を持つ推定を保持する。
【0087】
手が複数の処理の複合したシーケンスの途中でリフトオフされたが、瞬時に再び面上に降ろされた場合であれば、大きな確率で、リフトオフされた場所の近くに降ろされるであろう。しかしながら、動作シーケンスが終了した場合であれば、手は休止するためにニュートラルな姿勢、すなわちデフォルト位置へ戻るであろう。このため、ハンドが表面にタッチしていない間には、Hoα〔n〕は、十分に小さくなり、推定されるオフセットは、手がゆったりとデフォルト位置に戻るのと略同様の速度で徐々にゼロに減衰する。
【0088】
低い識別の信頼性によってHoα〔n〕が小さくなるときは、フィルタ追跡の遅延(ディレイ)は、一対の指が数センチメータまで素早く移動することに間にあう程度に十分に大きくなる。フィルタの目的は、接触部識別において疑わしい変化に対しては、ゆっくりと反応し、接触部の動きを追従させないことである。このような動作追跡遅延は、古いオフセット推定に対して画像間で測定された接触部動作を加えることによって問題なく除去することができる。ステップ257は、現在の接触部速度の平均値(HmvX〔n〕,HmvY〔n〕)から動作を取得する。
【0089】
【数4】
現在の接触部速度、(FivX〔n〕,FivY〔n〕)は、指の識別を独立して検出している経路追跡プロセス245から検索される。ステップ258は、以下のフィルタの式を計算することによって、推定された手のオフセット(HevX〔n〕,HevY〔n〕)を更新する。
【0090】
【数5】
最終的に、特定の複数の指の位置について同じように保存性を有する推定を提供するために、ステップ259では、個々の指のオフセット(FieoX〔n〕,FieoY〔n〕)が、識別された複数の接触部と、推定された手のオフセットよりも少ないそれらに対応するデフォルトの指位置との間の距離から計算される。各識別可能な接触部iに対して、オフセットは、以下のように計算される。
【0091】
【数6】
これらの指のオフセットは、ニュートラルな姿勢から指を屈曲や伸張した場合の偏差を反映する。ユーザが複数の指を、平らにされた手のコンフィギュレーションのように極端な構成で置いた場合には、これら指のオフセットの総絶対値は、平均的な成人と比較されるユーザの手のサイズおよび指の長さの指標として使用することができる。
【0092】
各手および指に対するパラメータ(HeoX〔n〕,HeoY〔n〕)および(FeoX〔n〕,FeoY〔n〕)は、次の近接画像の解析の際の分割および識別処理へフィードバックされる、推定された手および指のオフセットデータ252を構成する。他の処理が、絶対座標系での推定を必要とする場合には、それらは、単純に、供給されたオフセットをデフォルトの指位置に対して加えることができるが、多くの場合には、相対的なオフセット表現は、実際上、便利である。
【0093】
上記の手位置の推定手順は本発明の範囲内で、特に持ち上げられた位置の推定方法に関して、多くの改良をおこなうことができることは、当業者にとって明らかである。一つの改良は、手が持ち上げられている場合には、指数関数的に減衰させるのではなく、推定された手のオフセットを一定の速度で0に減衰していくことである。また、各手に対するオフセットの計算は、説明したように、それぞれ独立したものである。推定される左手の位置と推定される右手の位置との間に最小の水平方向の分離距離を挿入することは、一方の手が持ち上げられている間、右手が、ボードの反対側へスライドする際に、他の手の推定される位置が置き換えられるといった場合に、有利である。この場合、リフトオフされた手の推定位置は、全表面ではなく、表面の左側にあるデフォルトが強要される。右手がリフトオフされるとともに、左手がリフトオフされない場合であれば、以下のような式が、離れた右手の位置の強制的な推定を行うために適用される。
【0094】
【数7】
ここで、(LF1defX−RF1defX)は、左右の親指間のデフォルト距離であり、挿入される最小の水平方向分離距離であり、LHevX〔n〕は、現在の左手の推定されたオフセットである。
【0095】
FIG.18は、近接画像分割処理241内のデータフローを示している。ステップ262は、2次元ディフュージョンオペレータまたはガウシアンカーネルを通過させることによって現在の近接画像240の空間的に平滑化されたコピー263を形成する。ステップ264は、有効スレッショルドを上まわったフィルタリングされた近接値、および最も近い近傍のピクセルのフィルタリングされた近接値を持つ局所的に極大化したピクセル265に対して、平滑化された画像263を求める。平滑化(スムージング)は、一つの電極上に孤立したノイズスパイクが、有効スレッショルドを超える極大を生じさせる可能性を軽減し、極大を肉体部分として区別される接触部の周りに合併する。
【0096】
プロセス268は、接触部エッジのための極大の部分から外側へ検索することによって、各極大ピクセルの周りにある十分な近接値を備える電極のグループまたは複数のピクセルを構成する。FIG.19は、具体的な接触部の境界274に対する基本的な境界電極検索パターンを示す。この図において、電極あるいは画像ピクセルが、各々の矢印の先端に位置する。この検索は、極大ピクセル276で開始され、境界274が検出されるまで、その左側にある複数のピクセル277へ進む。境界にいたる直前のピクセル278は、エッジピクセルとしてマークされ、検索は、極大ピクセル276の右側にある279へと再開される。一旦、極大の行の左または右のエッジが発見されると、検索は、その上および下の行へ波及し、最も大きい近接値を備えた先の行のピクセルの列281において開始される。本実施形態が説明するように、ピクセルまたは電極のセットは、数学的な意味で接続されているが、矩形である必要はない。これは、隣接する接触部から電極を外したり含めたりすることなく、肉体の接触部の楕円型にフィットさせるグループが許容される。
【0097】
接触部が小さく、常に分離されている場合には、複数のエッジは、近接値の読込値がバックグランドレベルに低下しているか否かによって定めることができる。しかしながら、指先は、わずかな谷間部分、または浅い鞍点210によって分離されているだけである。隣接する指先を分割するために、これらの谷間部分の部分的な極小値を検出し、グループの境界として用いなければならない。一方、てのひら後部の大きな接触部は、接触部中の肉体の近接において小さく一様性のないがために、部分的な極小値を示すかもしれない。
【0098】
接触部のもとでの全ての電極が、一つのグループに収集されるべき場合、このような部分的な極小は、無視されねばならない。所定の手位置推定分割システムは、指先および親指が表れることが推定される画像の領域では厳密なエッジ検出ルールを適用することができ、てのひらが現れることが推定される画像の領域では非厳密なエッジ検出ルールを適用することができる。これは、隣接する指先が、単一のグループとして結合されてしまわず、各てのひら後部が、多数のグループに分解されてしまわないことを確実にする。
【0099】
FIG.18のステップ266は、前回の画像の解析から得られる手位置の推定を用いて、これらの分割領域の位置を規定する。FIG.20Aは、手がデフォルト位置にあって、両手に対する推定されたオフセットがゼロになる場合の厳密および非厳密な分割領域の範囲を示す。本図における+印252は、各々の手の各指およびてのひら後部の推定された位置を示している。下側の両隅にある矩形のアウトラインは、部分的な極小がほとんど無視される左284および右286の非厳密な分割領域を表している。残ったT型部分は、近接値の鞍点が接触部の境界として提供されなければならない厳密な分割領域282である。好ましい実施形態によれば、非厳密な分割領域は、矩形形状をしており、その内側の複数の境界部分285は、人差し指202が存在することが期待される列の僅かに内側に配置されており、その上側の複数の境界部分287は、各々の親指の推定された垂直レベルに配置されている。非厳密な領域の外側および下側の境界は、表面の外側の端部によって決定されている。手が表面から離れた後における推定された手のオフセットの減衰によって、非厳密が分割領域は、持ち上げられた手の位置を無視して、手が数秒間にわたって留まっていた後に示された位置へと戻る。FIG.20Bは、右手が左上方向に移動し、左手が左下方向に移動するにつれて、非厳密な領域が推定された手の位置252にどのように追従するかを示している。これは、手の位置の推定が正しいかぎり、てのひら、いわばてのひらのみが、非厳密な領域に入ることを確実にする。
【0100】
FIG.20Cは、左手が表面から離れた場合に、左側の非厳密な領域284は、表面全体から離れること、および右手が表面の左側へ移ったことを示している。これは、一つの手の指が、反対側の手の非厳密な領域に入ることを防止する。この効果は、複数の非厳密な領域間の最小水平方向隔離距離を挿入し、この複数の領域が余りに互いに近づきすぎないようにし、最も多くの表面接触部を持った手を、少ない接触部を持った手の推定された位置にまで広げることによって実現される。FIG.21は、電極が厳密または非厳密な領域のどちらにあるかに応じて検索された各電極におけるエッジテストの詳細なフローチャートである。判断ステップ290は、スムージングされていない電極の近接値が、バックグランドの近接値レベルよりも大きいか否かを判断する。大きくない場合は、分割領域または検索指示に関係なく、ステップ304でエッジ電極であると分類され、ステップ305では、検索は、他の方向で処理を繰り返すために生の極大値へリターンされる。スムージングされていない近接値が有意であれば、さらに、判断ステップ292が検索する電極が非厳密または厳密な領域のどちらにあるかを判断した結果に応じて隣接する電極のスムージングされた近接値についてテストを適用する。
【0101】
厳密な領域の検索が1つの行で水平方向に進行中であれば、判断ステップ306は、この電極に最も近くに隣接する電極を考慮して、その電極が水平方向または斜め方向の部分的な極小部にあるかに否かを判断する判断ステップ308に移行させる。隣接する指間の近接値の谷間部分が検出された場合には、電極は、エッジ314として分類され、検索は、他の方向305に向かって再開される。もし、そうでければ、検索は、その行にある隣の電極上で継続される302。もし、厳密な領域の検索が隣接する行へ垂直方向に進行中であれば、判断ステップ306は、この電極に最も近くに隣接する電極を考慮して、その電極が垂直方向の部分的な極小部分にあるか否かを判断する判断ステップ310に移行させる。指と親指との間の近接値の谷間部分が既に検出されていれば、その電極はエッジであると分類され312、異なる方向へ検索が再開される305。そうでなければ、検索は、隣の行で継続される302。もし、判断ステップ294が、非厳密な領域の検索が一つの行で水平方向に進行中であると判断する場合には、しわ(crease)またはてのひらの内側の後部と外側の後部との間の谷間部分を確認するために、厳密な水平方向の極小テストが行われる。通過するためには、判断ステップ296で確認されるように、電極は、極大が生じている地点から水平方向の距離が約2cmよりも大きくなければならない。判断ステップ298で確認されるように、電極は、長い谷部、すなわち、部分的に水平方向に極小な部分でなければならず、上または下の行、および行内で隣の最も近い隣接部分へ広げられる。電極がエッジと分類されるならば300、検索は他の方向へ再開される305。非厳密な領域内の全ての他の部分的な極小は無視され、そのため、検索はバックグランドレベルのエッジが電極まで到達するまで継続302される。
【0102】
極大間にある部分的な極小は境界として機能しないため、非厳密な分割領域では、グループは、十分にオーバーラップすることが可能である。端的には、オーバーラッピングする複数のグループは、てのひらのような大きな人体の接触部の部分であり、スムージングのされた後でさえも、複数の局在した極小を有している。1つのグループの検索が開始された極小電極が、さらに他のグループの要素である場合には、2つのグループは、オーバーラップすることは明らかである。識別可能な肉部の接触部毎に一つのグループのみを残りのシステムに掲示するために、FIG.18のステップ270は、パラメータ抽出の前に、オーバーラップした複数のグループを一つのグループに結合する。当業者は、前回の画像の高水準解析フィードバックは、分割プロセスを改良するために様々な択一的な方法において適用することが可能であり、いまだ本発明の範囲内にあることを理解できる。例えば、非厳密な領域における付加的な画像スムージングは、各てのひらの後部の接触部を、厳密な分割領域であれば、境界テストで経路するであろう一つの局在した極小にまとめることができる。あまりに強いスムージングは、指の複数ペアを。不意に、寛大なてのひらの領域に入れ、一つのグループに結合してしまう。一度、指のペアが接合されてしまえば、指の識別プロセス248は、指先が実際に一つのてのひら後部であるのかを区別する方法がなくなり、指識別プロセスは、正しい手の位置推定あるいは将来の画像の分割目的のために寛大な領域を調整することは不可能となる。
【0103】
手の位置の推定よりも詳細なフィードバックのフォームが、同様に利用されうる。例えば、基節骨(FIG.13の209)は、実際に指の部分であるが、垂直最小値試験310による指先より、分離したグループに分割される傾向がある。垂直の最小限の試験は、親指グループを、FIG.14の部分的に閉じた人差し指の先グループおよびFIG.15のペングリップの手のコンフィギュレーションから切り離すのに必要である。しかしながら、平らにされた指の近い方の密集部は、他の長い指を平らにすることなく、一つの長い指を平らにすることが非常にむずかしいという事実によって、カールされた指先を親指後方から区別することができる。この制約を利用して、平らにされた指フラグ267は、前の画像の人差し指から小指として識別される接触部のうちの少なくとも2つが通常より大きいときは、いつでもセットされて、指先が確かに平らになっていると示す。その時、判断ステップ310は、現在画像の処理を通して、局部的な最小値276の下の列の検索を通して直面される、最初の垂直の最小値を無視するために修正する。これは、指先グループにおいて含まれる基節骨を許すが、指先グループが親指または前部のてのひらと結合するのを妨げる。分割プロセスの最後のステップ272は、形状、サイズおよび位置パラメータを各々の電極グループから抽出することになっている。グループ位置は、手の接触部位置を反映して、指速さを決定するのに必要である。全グループ近接値、偏心および方向は、より高水準のモジュールによって、指、てのひら、および親指接触部を区別するのを助けるために使用される。
【0104】
提供されたGEは、グループG内の電極の一組であり、ezは、電極またはピクセルeの滑らかでない近接値であり、ex、およびeyはセンチメートル単位示した電極センターの表面の座標であり、グループ位置の基礎的なインジケータ、重み付けされた近接値中心、または重心が与えられ、グループ電極の位置および近接値から計算される。
【0105】
【数8】
全グループから近接値GEがグループの各々のピクセルの上の近接値を統合することに留意する。それは手の部分のサイズの両方に左右される。その理由は、大きい手の部分がより多くのピクセルを有するグループの原因となる傾向があり、手の部分の表面上に近接しまたは圧力をかける。
【0106】
最も多くのグループが凸面であるという理由から、形状は楕円パラメータによって、うまく近似される。手順に適合している楕円は、二次モーメントGxx、Gxy、Gyyの群共変性マトリックスGcuvの単位の変換を必要とする。
【0107】
【数9】
共分散マトリクスGcuvの固有値λ0およびλ1は、楕円軸長さおよび方向Gθを決定する。
【0108】
【数10】
ここで、Gθは範囲(0、180°)に、一義的に覆われている。
【0109】
便宜のために、より高いシステムレベルで指先とてのひらを区別し、長軸および短軸長さが、比率を通して偏心率G∈に変わる
【0110】
【数11】
長軸長さが常に短軸長さ以上であるので、偏心率が常に1以上であることに留意する。最終的に、代表的なカールされた指先が全近接値約1を有するために、全グループ近接値は経験的に再正規化される。
【0111】
【数12】
低解像度電極配列上の、全グループ近接値Gzは、フィットした楕円パラメータより確実な指圧力と同様に接触部サイズのインジケータである。したがって、近接画像が低解像度の場合、小さい接触部の方向および偏心率は測定された値よりむしろデフォルト値に設定され、全グループ近接値Gzは、接触部サイズの最初の基準として、長軸および短軸長さの代わりに使用される。
【0112】
FIG.22は、経路追跡プロセスのステップを示す。それは、同じ物理的な手の接触部に対応する連続した近接画像から、それらのグループを束縛する。各々の手の部分が最後の近接画像から移動したところを決定する。追跡プロセスは、現在グループが、既存の接触部経路とマッチングするか決めなければならない。一般に、同じ接触部から起こっているグループおよび経路は、お互いに他のグループおよび経路に近接している。また、横方向の指速さおよび加速度のバイオメカニカル制約が、指が画像間でどれくらい移動できるか限定する。したがって、画像がお互いの追跡半径として知られている距離内である場合を除き、グループおよび経路はマッチングしない。指間で代表的な横方向の分離が合理的画像走査速度のための追跡半径より大きいという理由から、タッチダウンおよびリフトオフは、タッチダウンが通常新しいグループに既存の経路の追跡半径の外側に現れるという事実によって、および、リフトオフはその追跡半径内でのグループ内で活動経路から離れることによって、簡単に検出される。高指速度での経路の不適当な中断を防ぐために、各々の経路の追跡半径Prirackは、その既存の速度および近接値に従属させることが可能である。
【0113】
第1ステップ320は、位置および速さが前の画像から測定した経路を使用している既存の軌跡に沿って、表面接触部の現在位置を予測する。指が突然、指示を開始または停止または変更するときを除いて、前の速さを位置予測に適用することは予測を改善する。このような高い加速度イベントが0加速度イベントよりたびたび発生しないという理由から、基礎速さ予測の利益は指加速度を通じて場合によっては不良予測より重要である。時間のステップn−1と既知の速さPvx〔n−1〕,Pvy〔n−1〕から経路Pの位置をPx〔n−1〕,Py〔n−1〕にし、経路継続する予測される速さは、下記式のときである。
【0114】
【数13】
前の画像において、活動経路の一組をPAとし、現在画像において作成されるセットされた電極グループをGにする。ステップ322は、電極グループGkのために、最も近い活動経路と記録されたそれまでの距離を見いだす。
【0115】
【数14】
正方形にされたユークリッドの距離が簡単に計算された距離測定基準であるところ、
【0116】
【数15】
ステップ324は、その時各々の活動経路PIのために、最も近い活動グループと記録されたそれまでの距離を見いだす。
【0117】
【数16】
ステップ326において、それらがお互いに最も近い場合、活動グループGkおよび経路PIは互いに対になれるだけである。すなわち、GkclosestPおよびPlclosestGはお互いを参照し、それらの間の距離は追跡半径未満である。以下の状態の全ては、保持しなければならない。
【0118】
【数17】
同じ指の反復的なタップの検出の補助ため、同じ位置の上のタップの間で経路割当ての継続を維持することは、役に立つ。これは、対になってないグループや、指のリフトオフによって最後から2番目などにより停止された経路を用いて、段階322−326を繰り返すによってステップ334により達成される。
【0119】
ステップ336において、いかなるグループでも、活動または最近活動でなくなった経路を持っている対にされなかった経路は、新しい経路が割当てられ、表面上への新しい指のタッチダウンをあらわす。ステップ344において、対にされることができないいかなる活動経路でもグループとともに停止され、表面からの手部分のリフトオフをあらわす。
【0120】
ステップ346は、その指定された経路に標準フィルタ技術を通して各々のグループの抽出されたパラメータを反映する。下記に示される式は、経路位置、Px〔n〕,Py〔n〕、Pz〔n〕、速さ(Px〔n〕,Py〔n〕)、および形状(Pθ〔n〕、Pε〔n〕)パラメータを対応するグループパラメータから更新するために単純な自動後退するフィルタを適用する。しかし、カルマン(Kalman)または有限インパルス応答フィルタはまた適切である。
【0121】
経路PがグループGによって、ちょうど今時間ステップnで始められた場合、すなわち、手部分がちょうどタッチダウンする場合、そのパラメータは、次のように初期化される。
【0122】
【数18】
他に、グループGが、時間ステップnに対する使用中の経路P〔n−1〕の継続である場合、
【0123】
【数19】
大きさPspeedおよび角度Pdirを速さベクトル(Pvx,Pvx)から計算することは、また、有効である。位置測定値の信頼性がかなり全近接値Pzについては増大するという理由から、低域フィルタ極Gαは規定未満の全近接値を有するグループのために減少する。したがって、信号が弱いときに、システムは多量に前に定められた経路速さに依存する。しかし、指がしっかりと強く表面に触れ、確実な信号のとき、システムは、完全に現在のグループ重心測定値に依存する。
【0124】
追跡モジュール内の次のプロセスは、接触部識別である。十分に複数の手のために大きい表面上の、各々の手の接触部は、環状のクラスタを形成する傾向があり、ユーザが反対の手の指をもつれさせることを避けるようにするため、クラスタが分離したままの傾向がある。その理由は、手クラスタ内の指の配置が、他の手クラスタ内配置と位置から独立しているためであり、接触部識別システムが階層的に分割されているからである。手識別プロセス247が、どのクラスタが各々の接触部に属するかを最初に決める。その時、クラスタ内で識別プロセス248は、各々の手ごとに、手クラスタ内の接触部の配置、他の手クラスタからの独立を分析する。その理由は、クラスタ内または指識別が、各々の手ごとに、いくつの手が表面上にフィットしているかにかかわらず作用するからであるので、まず、最初に説明する。下記の説明は、右手内の識別である。鏡面対称は、左手接触部を識別する前にいくらかのパラメータに適用されなければならない。
【0125】
FIG.23は、指識別プロセス248の好適な実施形態を示す。接触部が各々の手に特定されるために、この実施形態は、手部分アトラクタ点のテンプレートを接触部にマッチングさせようとする。各々のアトラクタ点は、個々の指またはてのひら後部に対応する識別を有している。接触部経路およびアトラクタの間をマッチングさせることは、基本的に1対1である。しかし、いくらかの手部分が表面に触れていない場合には、いくらかのアトラクタは、満たされていないままにする。すなわち、無効な経路または偽の経路に指定される。
【0126】
ステップ350は、指の姿勢が部分的にカールして、手が中間にあるとき、対応する指およびてのひらの位置に近いものにアトラクタ点の位置を初期化する。好ましくは、これらは、推定された手のオフセットにおいて用いられるのと同じデフォルト指位置(Fidefx,Fidefy)である。距離および角度をアトラクタ点の間で半分−閉じた手の姿勢からセットすることは、うまく多種多様な指屈曲および延長部分のために実行するアルゴリズムにマッチングさせることを認める。
【0127】
FIG.24の×印によって表示されるように、結果として生じるアトラクタ点は輪になって位置する傾向がある。アトラクタ点371−377の識別は、手部分201−207の識別に対応する。所定の手が左手である場合、アトラクタリングは示されている垂直軸に対してミラーリングしなければならない。FIG.24も、各々のアトラクタ点のまわりでヴォロノイセル(Voronoi cell)を形成しているライン部分380を含む。アトラクタのヴォロノイセル内のあらゆる点は、他のどのアトラクタよりもそのアトラクタに近接している。
【0128】
クラスタ内に一つの接触部だけがあり、その特徴が際立っていないときに、割当てアルゴリズムは、有効にその接触部を接触部が位置するヴォロノイセルのアトラクタ点に特定する。手クラスタ内に複数の表面接触部があるとき、それらが、同じヴォロノイセルにすべて位置でき、割当てアルゴリズムが全体の最適化を、すべての接触部位置を同時に考慮して実行する。
【0129】
別の実施形態は、他の手部分のための更なるアトラクタまたは異常な手のコンフィギュレーションのための選択肢アトラクタ配置を含むことができる。例えば、前部てのひらの接触部のためのアトラクタは、リングの中央に配置されることができるが、前部てのひらは、一般的に、手の残りが表面上へ平らにされる場合を除き、表面に触れない。前部てのひらのアトラクタは、通常のアトラクタが割当てられない状態にないときにだけ、接触部がそれらに割当てられるように、重み付けるべきである。
【0130】
最適なマッチング精度のために、リングは概略的に手クラスタに集中させておかれる。そこで、ステップ352が全てのアトラクタ点を、所定の手のために、手の推定されたオフセット位置によって変換する。最終的なアトラクタ位置(Ajx〔n〕,Ajy〔n〕)は、下記によって与えられる。
【0131】
【数20】
別の実施形態において、アトラクタリングがまた、手の回転およびサイズの推定、例えば指オフセットの推定によって、回転または拡大縮小されうるが、アトラクタリングがひどくゆがめることによって、間違って推定された指オフセットや識別エラーが、お互いに増強されないように注意しなければならない。
【0132】
一旦アトラクタテンプレートが適当であると、ステップ354は、各々の使用中の接触部経路Piから各々のアトラクタ点Ajまでの表面平面の距離から、正方形のマトリックス〔dij〕を構築する。アトラクタより少しの表面接触部がある場合、無効な経路POは、各々のアトラクタまでの距離がゼロであり、接触部がなくなることで起こる。いかなる距離測定基準も使用されることができるけれども、ユークリッドの距離の二乗、
【0133】
【数21】
が好ましい。その理由は、特に、任意の一対の接触部の間の角度が、それらの接触部に割当てられた一対のアトラクタの間の角度に近いように割当てられるからである。これは、指先がお互いに、特に表面に触れる間、交差を避けるバイオメカニカルな制約に対応する。
【0134】
ステップ356では、各々の接触部から選択されたアトラクタへの距離は、与えられた接触部の幾何学的な特徴が手部分から予想されるそれらにマッチングさせるかどうかに従って重み付けされ、アトラクタが再表示される。親指、およびてのひら後部が非常に際立った幾何学的特徴を示すという理由から、重み関数は親指、およびてのひら後部アトラクタのために計算されるとともに、指先アトラクタまでの距離は変化しない。好適な実施形態において、各々の重み関数は、およそFIG.25において、プロットされるようないくつかのファクターに対する特徴の関係で構成される。各々のファクターは、その特徴測定値が際立った情報を提供しないときに、1のデフォルト値をとるように設計されていて、測定された接触部特徴が所定の親指またはてのひら部分に、比類なく似ている場合、より大きい値をとり、測定された特徴が所定のアトラクタの手部分と一致していない場合、より小さい値をとる。ファクター関係は、ルックアップテーブル、区分的線形関数、多項式、三角関数、有理関数、またはこれらの任意の組合せとして、算出されて蓄えることができる。接触部とアトラクタとの間の特徴が一致する割当ては重み付けされた距離が小さいほど好ましいため、示されたファクター関係の逆数で、実際に重み付けされる(増加させる)。
【0135】
FIG.25Aは、右の親指、および、右の内側のてのひらの方向ファクター対、接触部のフィットした楕円の方向を示す。これらの手部分の方向は、約120°である傾向があり、一方、指先、および、外側のてのひら後部の接触部は通常非常に近接しているため垂直であり、(90°)、および、左の親指、および左の内側のてのひら後部の方向は、60°を平均とする。右の方向ファクターは、したがって、120°で最大値に近づく。それは、方向が識別に決定的でない0°90°、および、180°で1のデフォルト値に近づき、および反対側の親指またはてのひら後部の好ましい方向である60°で最小値となる。左の親指、および、内側のてのひら後部方向ファクターの対応する関係は、90°ひっくり返したものとなる。
【0136】
FIG.25Bは、およそ親指サイズファクターをプロットする。全近接値によって示されるように、親指サイズが2つのあるいは3つの時間に、代表的なカールされた指先のサイズをピークにさせる傾向があるという理由から、これらのサイズにおける親指サイズファクターはピークになる。てのひら後部と違って、親指接触部は、2つのまたは3つの時間より大きくデフォルト指先サイズであることができない。そして、親指ファクターの低下は、より大きいサイズのために取り消される。いかなる手部分でもそうすることができるという理由から、非常に軽く表面に触れて、またはちょうどタッチダウンのため動き出すときに小さく現れる。小さなサイズは際立たないので、サイズファクターは非常に小さい接触部のため、1のデフォルトになる。
【0137】
FIG.25Cは、およそてのひら後部サイズファクターをプロットする。より多くの圧力がてのひらに印加されるように、てのひら後部接触部は全く大きくなることができる。そして、それらがそうするように、かなり円形のままである。このように、てのひらファクターが際限なく増大できるのを除いて、てのひら後部サイズファクターは親指サイズファクターに非常に似ている。しかしながら、指先接触部は、指が平らにされるように、より高くなることによって、大きくなることができる。しかし、指幅が一定であるので、大きくなっている指先接触部ためフィットした楕円の偏心は高さに比例して増大する。大きいてのひらファクターを有することから平らにされた指を防ぐには、サイズ測定は、接触部偏心に対する全接触部近接値の比率に限定される。これは、てのひらのための少しの効果しか持たず、偏心が1の近くで残存する。しかし、平らにされた指先の高い近接値を無効にする。直接、フィットした楕円幅を使用することは低解像度電極配列のためにより正確でないけれども、上記の比率は、基本的に接触部幅を捕らえる。
【0138】
てのひら後部の他の重要な際立った特徴は、手首分析が接触部の重心を他の一つから、および指から数センチメートル切り離しておくということである。これは、親指、および指先にあてはまらない。そして、それは、フレキシブルな接合部を通してお互いに1センチメートルいないで移動させることができる。相互てのひら分離特徴は、所定の接触部の最も近い隣接する接触部を探索して、および、隣りまでの距離を測定することにより測定される。およそFIG.25Dにおいてプロットされるように、接触部とその最も近い隣りとの間で、分離が数センチメートル未満に減少するように、てのひら分離ファクターは速く低下する。所定の接触部(および、その最も近い隣り)はてのひら後部ではない。サイズおよび方向ファクターと異なり、それは、手の重さがフルにてのひらを圧縮するのと同じように、確実になるのみであり、てのひら分離ファクターは、特にてのひら後部と隣接した指先の一対を区別する際に役立つ。その理由は、それが平等に、より軽く、小さい接触部に作用するためである。
【0139】
一旦親指とてのひらの重み付けが距離マトリックスに作用すると、ステップ358は、各々のアトラクタとその割当てられた接触部との間の加重された距離の合計を最小にするアトラクタと接触部との間の1対1の割当てを検索する。表記のために、新しいマトリックス〔Cij〕に加重された距離を保持させる。
【0140】
【数22】
数学上、下記式を最小化する整数手部分識別{1,...,7}の順列{π1,...,π7}を見いだすように、最適化は、その時述べることができる。
【0141】
【数23】
そこで、Cijが接触部iからアトラクタjまでの重み付けされた距離であり、接触部iとアトラクタjは、πj≡7のときお互いに割当てを考慮される。この組合せの最適化の問題、より詳しくは数学において、割当て問題として知られていて、様々な周知の数学的な技術によって、能率的に解くことができる。例えば分岐限定法、局所化された組合せの探索、ハンガリー法、またはネットワークフロー解法。当業者が容認する、この組合せの最適化問題のタイプは、最適化が二重のパラメータの合計の最大化として再公式化される数学上等価な二重の表現を有する。アトラクタ接触部距離最小化の二重のものとしての上記の手部分識別方法の上記再公式化は、本発明の範囲内のままである。
【0142】
不必要な計算を避けるために、所定の接触部クラスタの手の割当てが手識別モジュール247によって評価されている仮の仮説だけである場合、判断ステップ360は現段階で指識別プロセスを終える。しかしながら、所定の手割当てが、最終的に仮説を選択した場合、さらに、プロセスは指識別を検査し、指カウントのような識別統計を編集する。
【0143】
全ての5本の指が表面に触れるとき、または親指、およびてのひら特徴が明確なときに、このアトラクタ割当て方法によって作り出される識別は非常に確実である。指先の接触部の水平座標をチェックすることによって、指先自身が誤って交換されないことを小さいものから順に簡単に検査される。しかしながら、2本から4本の指だけがさわるとき、まだ指は親指サイズまたは方向特徴を強く示していないため、最も内側の指接触部の割当てを、接触部が親指であるかどうか誤って示す。この場合、判断ステップ362は、最も内側の指接触部と他の指の間で更なる測定をとるために親指検証プロセス368を用いる。これらの更なる測定値が、最も内側の指接触部識別が誤りであることを強く示唆する場合、親指検証プロセスは、最も内側の指接触部の割当てを変更する。一旦指割当てが検証されると、ステップ364は、各々の手のなかの割当てについての統計値、例えば指先に触れる数、および指識別に触れるビットフィールドを編集する。これらの統計値は、他のモジュールのために識別結果の便利な集計を提供する。
【0144】
FIG.26は、親指検証モジュール内のステップを示す。最初に400は、いくつかの速さ、分離、および、指として認識される他の接触部に対して適切な指として識別される最も内側の接触部のための角度ファクターを計算する。これらの相互経路測定値が接触部識別順を前もって推定するという理由から、それらが、アトラクタ距離重み付けとして簡単に含まれることができなかった。その理由は、接触部の識別が、アトラクタ距離の最小化が完了するまでわからないからである。ファクターの下記の説明のために、FIを最も内側の指接触部とし、FNは、次の最も内側の指接触部とし、FOは最も外側の指接触部とする。
【0145】
親指と人さし指の間の分離は、指先間の分離よりしばしば大きい、しかし、指がいっぱいに伸ばしているとき、全ての分離は大きくなる傾向がある。したがって、内側の分離ファクター「inner_separation_fact」は、他の隣接する指先接触部の間の距離の平均「avg_separation」に対して、最も内側と次の最も内側の指接触部の間の距離の比率として規定される
【0146】
【数24】
ファクターは、親指あるいは人さし指が最も内側に触れる指であることに関係なく、平均未満の最も内側の分離が発生できるので、1より大きいために制限される。2つの指接触部だけがある場合に備えて、2−3cmのデフォルト平均分離が使用される。ファクターは、最も内側の接触部が実際には親指である場合1より大きくなる傾向があるが、最も内側の接触部が指先である場合、1近くのままである。
【0147】
親指は、指先が拳にカールするときを除いて、指先より前に、まれに移動し、最も内側と次の最も内側の指接触部の間の角度は、最も内側の指接触部が親指であるかどうかについて示すのを助けることができる。右手ついていえば、親指から人さし指へのベクトルの角度は、非常にしばしば60°であるが、親指が前進するとき0°になり、親指がてのひらに内転するとき120°になる。これは、FIG.32において内側の角度ファクターのプロットに反映されていて、そして、それは、60°でのピークになり、0°および120°の方で0に近づく。最も内側の指接触部が実際に人差し指の先である場合、最も内側と次の最も内側の接触部の間で測定された角度はおおよそ30°とマイナス60°の間であり、非常に小さい角度ファクターを作り出す。
【0148】
内側の分離および角度ファクターは、中立の親指姿勢の中で非常に区別される。しかし、ユーザが手の拡大縮小あるいは回転身ぶりを実行するとき、しばしば上記の引用された分離および角度範囲を上回る。例えば、反つねり身ぶりでは、親指は、人差し指の先または中指の先に対してはさんだところから動き出す、その後親指と指先はお互いから離れてスライドする。この結果、内側の分離ファクターは身ぶりの開始時に比較的小さくなる。同様に、親指と人差し指の角度は、また、まるでネジを回すように指が回転する手の回転身ぶりの最初のまたは最後で、内側の角度ファクターによって予想される範囲を上回ることができる。
【0149】
内側の分離と角度ファクターは、拡大および回転ファクターを有するファジーな論理和をとる。それは左右対称の指の拡大縮小または親指と指先の間の位置上の回転中心のために選択的な円弧であることを補償する。
【0150】
以下の近似式によって規定されるときに、拡大ファクターは、最も内側と最も外側の指接触部が、これらの2点間のベクトルに平行に、およそ同じ速度で、反対方向にスライドするとき、ピークになる。
【0151】
【数25】
ここで、∠(FI〔n〕、FO〔n〕)は指の間で角度である。
【0152】
【数26】
両方の指の並進動作は、同じ方向に、負ファクター値を作り出し、それは、0ために最大の動作によって制限される。両方の接触部の速度が高い場合にだけ、最も内側のおよび最も外側の速度の算術平均よりむしろ幾何学的なものを計算することは大きい拡大ファクターを作り出すことによって選択性を促進する。
【0153】
回転ファクターは、また、非常に選択的でなければならない。回転ファクターが最も内側と最も外側の指の間の角度の変化と単に比例している場合、それは、非対称な指動作、例えば最も外側の接触部が固定されている間に最も内側の指が下方へ並進して動き出すとき、誤って大きくなる。より選択的であるために、回転ファクターは、親指および指先との間の想像上の旋回軸について、回転対称を支持しなければならない。近似の回転ファクターの下記の式は、最も内側と最も外側の指が反対方向へ移動して、ピークになる。しかし、この場合、接触部は最も内側のと最も外側の指の間のベクトルを垂直方向へ動かす。
【0154】
【数27】
この回転ファクターを最大にする動作は、対抗する親指と他の指の間で実行するのは簡単であるが、2本の指先の間で実行するのが難しく、回転ファクターは親指の存在についての強い指標である。
【0155】
最終的に、ファジー論理式(ステップ402)は、これらの相互接触部ファクターを最も内側と次の最も内側の指接触部のための親指特徴ファクターと組み合わせる。好適な実施形態において、このファジー論理式は「combined_thumb_fact」の式をとる。
【0156】
【数28】
この式の特徴ファクター比率は、次に最も内側の接触部の現在の特徴に対して最も内側の接触部の特徴を比較することを試みる。特徴はすでに指先であることが知られている。最も内側の接触部がまた、指先である場合、その特徴は次に最も内側のものと同様であり、比率を1の近くのままにさせる原因となる。しかしながら、最も内側の接触部上の親指似た特徴は、比率を大きくさせる。したがって、結合した親指ファクターが高い閾値を上回る場合、判断ステップ404は、最も内側の指接触部が明確に親指であると決める。判断ステップ412が接触部がすでに親指アトラクタ412に割当てられないと決定する場合、ステップ414は、アトラクタリング上内側への接触部割当てを親指アトラクタへシフトさせる。一方、判断ステップ406が結合された親指ファクターが低い閾値未満であると決定する場合、最も内側の接触部は非常に明確に親指でない。したがって、判断ステップ408が、親指アトラクタに割当てられた接触部を見いだした場合、ステップ410は、最も内側の接触部割当てと、いかなる隣接の指接触部もアトラクタリング上外側への親指アトラクタを満たさない方へシフトする。「combined_thumb_fact」が、上下の閾値の間にある場合、または、既存の割当てが閾値決定に一致する場合、ステップ413は、割当てを変更しない。
【0157】
手の接触部の特徴および識別を促進するためにここで導かれる相互関係は、測定されることができて、および様々なとりうる方法で結合したが、発明の範囲内のままである。持ち上げることで反応しないパームレストを含むマルチタッチ表面装置の別の実施形態では、てのひら識別およびその必要なアトラクタ、およびファクターは除去される。幾何学的なパラメータは、手が平らにされる間、とられる個々のユーザの手のサイズの測定値ために、最適に適合することができる。しかしながら、基礎となるアトラクタ識別方法は、すでに指屈曲および延長部分による単一の人の指位置のバリエーションを許容する。それは手のサイズが大人の人の幅のバリエーションより大きくまたはより大きい。したがって、人の平均的な指およびてのひら後部近接のための親指およびてのひらサイズファクターの適合は、個々の指長さのためのアトラクタ位置の適合より重要であり、そして、それは、周辺的なの性能改良を加える。
【0158】
これらの特徴と手の接触部識別子への関係を含むための代替方法の他の実例として、FIG.27は、アトラクタテンプレートを含まない代替指識別実施形態を示す。指からの経路およびてのひら接触部を所定の手のなかで配列し430、ステップ432は、各々の接触部から他の接触部への距離の2次元のマトリックスを作成する。ステップ434において、ネットワークフロー最適化の理論から周知の最短路アルゴリズムが、その時全ての接触部経路を接続していて、各々一度通過している最も短いグラフサイクル見いだす。手の接触部がリングになって位置する傾向があるという理由から、この最も短いグラフサイクルは隣接の接触部を接続する傾向がある。そして、このように機能的な配列を定める。
【0159】
次のステップ438は、最も内側または最も外側のようなリング上の極端な位置で、接触部を選び、それが親指(判断ステップ440)か、てのひら(判断ステップ442)かを検査する。これは、親指検証プロセスおよびアトラクタ重み付けにおいて利用されるそれらために、類似している接触部特徴およびファジー論理式を使用して実行されることができる。最も内側の経路が親指である場合、ステップ444は、上の接触部が最有望な指先であると結論し、親指の下のリング内の接触部が、最有望なてのひらであると結論する。最も内側の経路がてのひら後部である場合(442)、ステップ446は、同じ垂直のレベルでの経路がてのひらである間、経路が最も内側のものよりかなり上にあれば指であるにちがいないと結論する。親指およびてのひら検査は、リング上の隣接する接触部のために、いずれかの親指またはてのひら接触部が見いだされるまで、最も内側のものへ繰り返される。一旦いかなる親指およびてのひら接触部でも識別されると、ステップ448は、リングおよび比較的高い垂直位置のそれぞれの配列によって、残っている指先接触部を識別する。
【0160】
この代替アルゴリズムが適切な位置への制約を押しつけるためにアトラクタテンプレートを含まないので、リングの他の接触部と適切に推定された手のオフセットのために、各々の接触部のためのファジーな検証関数は、適切な接触部の垂直位置の測定値を含む必要がある。アトラクタテンプレート実施形態は、この別の実施形態より好まれる。その理由は、アトラクタ実施形態が、指識別プロセスの中に、より手際よく接触部と推定された手のオフセットとの間の期待される角度を含むからである。
【0161】
手の識別は、マルチタッチ表面のために、同時に両手を適応させるのに十分大きく、かつ、手が自由に交差して、表面の両方の半分に対して中央を歩き回ることができるように、接合される表面の左右半分を有することを必要とする。手の識別の最も単純な方法は、接触部が最初に表面の左または右の半分のいずれにタッチダウンしたかどうかによって、各々の接触部へ手自身を割当てることになっている。しかしながら、手が中央(左右の半分にまたがること)にタッチダウンした場合、いくつかの手の接触部は、左手へ割当て、他を右手へ割当てて終了する。したがって、手の接触部の集まっている性質を考慮するより洗練された方法は、全ての接触部が同じ手から同じ識別を得ることが確実に適用されなければならない。一旦全ての表面接触部が最初に識別されると、経路追跡モジュールは、手のスライドとして表面の片側から他まで信頼できるように既存の識別を保持することができる。
【0162】
親指と内側のてのひら接触部方位、および適切な親指配置は、クラスタ位置から独立している唯一の接触部特徴である。それは、孤立した右手接触部のクラスタを左手接触部のクラスタから区別する。親指が表面を離れて持ち上げられる場合、右手接触部クラスタはほとんど左手クラスタから見分けがつかなくなるように見える。この場合、クラスタ識別は、クラスタがボードのどちら側から始まっているかによって大きく依存しなければならないが、最近、近くでリフトオフされた接触部のアイデンティティは、また有用であると判明する。例えば、右手が、右側から表面の中央へ移動して、リフトオフする場合、次の接触部は、中央へ移動している左手と右手の位置を変えることではなく、右手が再びタッチダウンしているように現われることである。手が最も最近中央近くにあることに従って、表面の左右半分の間の分割は右または左の方への移動する。したがってダイナミックである。手のオフセットは、一時的に、リフトオフの後、最後に知られている手の位置を保持すると推定することから、このようなダイナミックな分割は、推定された手の位置のため左手および右手アトラクタテンプレートの位置を結ぶことにより実現される。
【0163】
ユーザが、予期しない位置に手を突然置くことでによって、手識別システムをだますことができる場合はあるけれども、ユーザは、これらの場合に、システムを実際にだましたい場合もある。例えば、表面を使用することができる一つの手だけを有するユーザは、遠く表面の反対側の半分の上へ、反対側の手のコード入力する動作にアクセスするために故意に手を置く。したがって、手のクラスタがうまく表面の反対側の半分に、突然、タッチダウンするときに、その本当の識別に関係なく、それは問題なく反対側の半分の識別を与えられることができる。中央を横切りアーチ形にされた表面は、また、ユーザが厄介な前腕回内運動によって手を反対側へスライドさせるべき場合を妨げることができる。
【0164】
FIG.29は、手識別モジュール247内でのプロセスの詳細を示す。
【0165】
まず、判断ステップ450は、手認識アルゴリズムが、実際に、全ての経路近接値が安定したかどうか調べることにより実行される必要があるか否かを決定する。識別の安定度を最大にするために、新しい手の部分がタッチダウンするか、あるいは既存の接触部の曖昧さの特徴がより強くなるとき、手および指識別は、再評価されることのみ必要とする。初めの表面接触部の後数十ミリ秒間、肉体が表面に対して完全に押圧するまで、接触部サイズおよび方向の特徴は、信頼できない。したがって、判断ステップ450は、新しい接触部が現れる各々の近接画像に対し、および任意の新しい接触部のトータル近接値が増大し続ける次の近接画像に対し、手識別アルゴリズムを実行する。既存の接触部の近接値が安定し、新しい接触部が現われない画像に対して、経路追跡プロセス245により実行される経路継続は、以前の画像から計算される接触部識別を保持して延長する(ステップ452)のに十分である。
【0166】
手識別アルゴリズムが、現在画像に対し起動される場合、まず、ステップ453は、左右の手のアトラクタテンプレート(attractor template)を定義し、配置する。これらは、基本的に、両方の左右のリング(ring)が現在すぐに利用されなければならない以外は、手内識別において使用されるアトラクタテンプレート(FIG.24、ステップ352)と同じものでなければならない。お互いに対するリングのデフォルト配置は、FIG.20Aに示されるデフォルト左右手接触部位置に対応しなければならない。FIG.20Bにおいて、いいかげんな分割領域がその手にしたがうように、各々のリングは、その手の評価された位置にしたがうように移行する。個々のアトラクタポイントは、対応する評価された指オフセットによって、問題なく移行されることができる。したがって、左手Lおよび右手Hアトラクタリングに対しての、最終的なアトラクタ位置(Ajx〔n〕,Ajy〔n〕)は、以下のとおりである。
【0167】
【数29】
基本的に、手識別アルゴリズムは、一のリング対他のリングにおいて、接触部にアトラクタを割当てるコスト(cost)、各々の接触部およびその指定されたアトラクタとの間の加重距離の合計に従うコストを比較する。評価された手および指オフセットを有するアトラクタリングを調節することは、現在の手の割当てに似ている割当て仮説のための相対コストを低下させ、手が一時的に持ち上がるときでも、連続した近接画像にわたって識別を安定させるのに役立つ。
【0168】
次に、一セットの割当て仮説が、作り出され、比較されなければならない。賢明な仮説を作り出す最も効率的な方法は、水平方向に隣接する接触部との間に一つずつ、一セットの概略的に垂直方向の等高線(contour line)を定義することである。ステップ454は、これを、水平座標によって、全ての表面接触部を整理し、各組の隣接する水平座標の間の中途で垂直方向の等高線を定めることによって、行なう。FIG.30A−Cは、3つの異なった等高線475、および固定セットの接触部に対する組み合わされた割当て仮説の例を示している。各々の等高線は、パーティション(partition )としても知られている分離した仮説に対応しており、ここで、等高線の左476に対する全ての接触部は、左手からであり、等高線の右477に対する全ての接触部は、右手からである。等高線はまた、表面上の全ての接触部は同じ手からであるという仮説を取り扱うために、表面の左右の端部で必要である。一つの与えられた手上で、片手によって引き起こされ得るよりも多くの接触部を仮定する等高線は、直ちに除去される。
【0169】
垂直方向の等高線を介してパーティションを作り出すことは、一方の手の接触部は、反対側の手の接触部と水平方向にオーバーラップあるいは交差するという、全ての仮説を回避する。各々の手は、7つ以上の異なった接触部をもたらすことができることを考えれば、これは、数千から多くとも数万まで吟味する手識別交換の数を減らす。吟味するより少しの仮説を有することにより、各々のパーティションの評価はずっと洗練されることができ、そして必要ならば、計算機的に高価となる。
【0170】
最適サーチループが次に続く。その目的は、当該クラスタ(cluster)位置および各クラスタ内の接触部の配置が公知の解剖学的のおよびバイオメカニカルな制約を最も満たすように、等高線のいずれが接触部を2つの接触部クラスタのパーティションに分割するかを決定することである。最適化は、例えば最も左などの第1等高線ディバイダを選択し(ステップ456)、および等高線の左についての任意の接触部を左手に仮に割当て、残りを右手に割当てる(ステップ458)ことから始める。ステップ460は、指およびてのひら識別を各手内の接触部に割当てるように試みる、FIG.23の指識別アルゴリズムを起動する。判断ステップ360は、親指検証368の計算機的出費、およびこの仮の割当て仮説のための統計学的収集364を避ける。
【0171】
FIG.29に戻って、ステップ462は、パーティションのためのコストを計算する。このコストは、仮に識別された接触部がどれくらいうまく割当てられたアトラクタリングに適合したか、およびパーティションがどれくらいうまく手の間の分離制約を満足するかを評価することになっている。これは、親指およびてのひらアトラクタのための寸法および方向特徴を含む、指識別の式54のように、各手に対する、各々の仮に識別された接触部からその割当てられたアトラクタポイントまでの加重距離の合計を計算することによってなされる。この合計は、手のための基本的なテンプレートフィッティングコストを表示する。各々の手のコストは、それから、そのクラッチング(clutching)速度、利き手(handedness)およびてのひらの結合(cohesion)ファクターの逆数で、全体として重み付けされる。これらのファクターは、後述するが、加重アトラクタ距離によって下方強調される更なる制約を表示する。最終的に、重み付けされる左右の手のコストは合計され、手の分離ファクターの逆数によって調整され、パーティションのためのトータルコストを得る。
【0172】
判断ステップ464が、このトータルコストが今までのところ464で評価されたパーティションのトータルコストより低いと判断した場合、ステップ466は、最も低いものとしてのパーティションコストを記録し、分割している等高線を記録する。判断ステップ472は、全部のパーティションのコストが評価されるまで、各等高線470に対してこのプロセスを繰り返す。ステップ473は、実際の手パーティショニング473として、全体的に最も低いコストを有するパーティションを選び、全ての接触部経路の手識別は、それに応じて更新される。そして、ステップ474は、親指検証および統計学的収集プロセスが実際の手割当てを使用して実行されるように、手の中における指接触部識別プロセスを再び行なう
ユーザは、たびたび、例えば、右手が表面の右側でのスライドから離れて持ち上げられ、表面の中央にタッチダウンし、右の方へのスライドを再開する、クラッチング動作を実行する。したがって、手が表面の中央にタッチダウンし、一方の側部へスライドすることが検知されるとき、それは、多分その側部から来たであろう。およそFIG.31Aにおいてプロットされる手の速度ファクターは、手のクラスタの接触部が、ボードのクラスタの割当てられた側部の方へ移動しているとき、値がわずかに増大することによってこの現象を捕らえ、こうして手の基本的なコストを減少させる。そのファクターは、水平方向の速度の平均、および与えられたクラスタが割当てられる表面の当該側部の関数である。高速が必ずしもユーザの意志のより強い指示を与えるというわけではないので、そのファクターは、中ぐらいの速度で飽和する。
【0173】
親指が表面のあいまいな中間領域に置かれるとき、親指の方向ファクターは、親指がどちらの手からのものであるかを識別するのを助けるけれども、同じ手の他の指に対する親指の垂直方向位置はまた、利き手の強い指示を与える。親指は、指先より非常に低く位置されて置かれる傾向があるが、小指は、他の指先よりほんのわずかに低いだけの傾向がある。最外部の指先として識別される接触部が、次の最外部の指先接触部より数センチメートル以上低いとき、 FIG.31Bにおいて概略プロットされた利き手ファクターは、手のコストを押し上げることによってこの制約を利用する。そのような場合、クラスタ内の全ての接触部に対する仮の手割当ては、多分間違っているだろう。これは、手の中での識別アルゴリズムが、その接触部を間違ったアトラクタリングに適合させることになるので、おそらく低い小指は反対側の手の本当に低い親指であるように、指識別は逆になる。あいにく、限定された信頼が利き手ファクターにおいて配置され得る。小指は、親指ほど低く現われないけれども、外側のてのひら後部は可能であり、一方の手の親指および指先が、反対の手の指先および外側のてのひら後部と同じ接触部配置を有するという曖昧性を生み出す。この曖昧性は、利き手ファクターが、正確に識別された手のクラスタに対して誤って低くなるようにするので、利き手ファクターは、手の位置があいまいである表面の中央のクラスタに使用されるだけである。
【0174】
同じ手の小指と親指とが20cmにまで達するように指がいっぱいに伸ばされたとき、クラスタは全くまばらで大きくなるので、接触部クラスタを区別することは、挑戦することである。しかしながら、てのひらはほとんど割に伸びることができず、同じ手から、てのひらの後部と前部のてのひらがどのくらい離れるかにおいて、有用な制約を置く。いっぱいに伸ばした大人の手の全てのひら領域は、約10cm四方であるので、てのひら接触部重心は、約8cmより大きい領域にわたって散在されない。パーティションが、クラスタをなす反対側の手からの指を誤まって含むとき、クラスタ内での識別アルゴリズムは、反対側の手からてのひら後部およびてのひら前部アトラクタまで、余分な指を割当てる傾向がある。これによって、通常、クラスタのてのひらアトラクタに割当てられる接触部は、片手からの真のてのひら接触部のためのもっともらしいものより広く、表面を横切って散在する。このようなパーティションを処罰するため、てのひら結合ファクターは、急速に、仮定されたてのひら接触部が8cmより大きい領域にわたって散在する仮の手のクラスタに対して、下方に落ちる。したがって、その逆数は、手の基本的なコストを大幅に増大するであろう。FIG.31Cは、てのひら接触部間の水平方向距離に対するてのひら結合ファクターの値を示す。水平方向の広がりは、てのひら後部あるいはてのひら前部として識別される全ての接触部の最大および最小水平座標を見いだし、最大および最小間の差を取ることによって、能率的に測定されることができる。測定およびファクターの値のルックアップは、垂直方向距離のために繰り返され、水平および垂直方向のファクターは、最終的なてのひら結合ファクターを得るために乗法的に結合される。
【0175】
FIG.33は、手の間の分離ファクターの概略のプロットである。このファクターは、各々の手からの親指の評価されたあるいは実際の水平方向位置が近接またはオーバーラップする、パーティションのトータルコストを増大する。それは、対応するデフォルト指位置に関する、右手接触部の水平方向のオフセットの最小値を見いだすことにより測定される。同様に、対応するデフォルト指位置に関する、左手接触部の水平方向のオフセットの最大値が見いだされる。これらの手のオフセット極値の間の差が、親指の表面に触れるかまたはその上に浮くかする間に親指がその表面の同じ円柱の領域を重ねていることを示唆するのに十分小さい場合、分離ファクターは、非常に小さくなる。このようなオーバーラップは、プロットの負の親指分離に対応する同じクラスタについて相互に数センチメートル以内にある接触部の割当てを促進するために、分離ファクターは、徐々に数センチメートル以下の正の分離をもって開始しながら落とし始める。手の間の分離ファクターは、全ての表面接触部が同じ手に割当てられるパーティションに適用できず、この場合、そのデフォルト値を取る。
【0176】
この手識別プロセスの別の実施形態は、更なる制約ファクターを含むことができ、本発明の範囲内で適切に維持する。例えば、速度一致(coherence)ファクターが、全体として各クラスタが速度および方向の異なる平均値を有するけれども、クラスタ内の全ての指がほぼ同じ速度および方向でスライドする、パーティションを与えるために計算されることができる。
【0177】
新しい近接画像情報が既存の識別が間違っていることを示唆するときでも、既存の手識別を基礎として、コード動作認識装置あるいはタイピング認識装置によってなされる不可逆な判断は、時には手接触部の識別における遅い変化を防止する。これは、コード内のいくつかの指が反対側の手に帰されたと示すスライドの新しい画像情報にまだ適切に、元に戻せない入力事象を作り出すコードスライドの場合であるかもしれない。この場合、ユーザは、スライドを停止し、可能性のある入力エラーについて調べるよう警告され得るが、一方では、たとえ間違っていても、誤った入力事象に加えられるときに更なる予測できない効果を有する割当ての修正に切り替えるよりはむしろ、既存の識別を維持することが最もよい。したがって、コードスライドが一旦入力事象を作り出すと、既存の経路の識別はロックされるので、手識別アルゴリズムは次の新しい接触部の識別を交換することができるだけである。
【0178】
この手識別プロセスは、異なった形状のマルチタッチ表面に改変されることができ、本発明の範囲内に適切に留まる。表面が狭いために親指がお互いのスペースを侵略するか、または高いために一方の手が他方の上に位置し得るので、等高線は、まっすぐな垂直方向の線である必要はない。更なる等高線は、親指を重ねている候補のまわりに張ることができ、あるいは、それらは評価された手の位置間のベクトルに対する垂線であり得る。表面が複数のユーザのために十分大きい場合、更なるアトラクタリングは、各々の更なる手のために備えられなければならず、複数の分割等高線は、仮説ごとに表面を2つを超える部分に仕切るために必要であろう。一方の手のみに対し十分大きい表面上で、それは、どちらの手が表面に触れているかを決定するのにさらに必要であるかもしれない。それから、異なった等高線を仮定する代わりに、手識別モジュールは、左手アトラクタリングあるいは右手アトラクタリングが表面上で中央に置かれる、という仮説を評価するであろう。全ての側からのアクセスを許すために表面が柱脚に設けられる場合、手識別モジュールはまた、各々のアトラクタリングの種々の回転を仮定するであろう。
【0179】
アトラクタに基づく指識別システム248は、ペングリップの手のコンフィギュレーションを備える個々の手接触部を首尾よく識別する(FIG.15)。しかしながら、更なるステップが、ペングリップ内での固有の指配置と、閉じた手のコンフィギュレーション内での通常の配置とを区別する必要がある(FIG.14)。このペングリップ配置において、外側の指はてのひらの方へ下にカールするので、指関節は表面に触れ、人さし指は前に突出する。ペングリップ検出モジュール17は、この固有の配置を検出するために親指検証プロセスと同様のファジーパターン認識プロセスを用いる。
【0180】
ペングリップの手のコンフィギュレーションを介して手書き文字認識を備えた更なる問題は、内側のグリップしている指および時には全部の手が、ストローク間で拾われ、区別している指配置を一時的に消失させることである。したがって、ペングリップ認識プロセスは、グリップしている指のリフトオフ間で、手書モードにとどまるためのヒステリシスを有しなければならない。好適な実施形態においては、ヒステリシスは、実際の指が表面からリフトオフする間、結合されたファジー決定ファクターの時間的なフィルタリングによって、および指配置の測定において評価された指位置を使用することによって、得られる。評価された指位置は、一時的に、リフトオフの数秒後に、通常のアーチ型の指先位置の方へ戻って減衰する前に固有の突出している配置を維持するので、有効ヒステリシスを提供する。
【0181】
FIG.28は、ペングリップ検出モジュール17内でのステップを示す。判断ステップ485は、全てのペングリップの手の部分が表面に触れているかどうか決定する。そうでない場合、判断ステップ486は、ペングリップあるいは手書のモードがすでに使用中である場合だけ、ステップ487において評価された指およびてのひら位置が任意のリフトオフ部分に対して引き出されるようにする。そうでない場合、十分な表面接触部が無いためプロセスは外に出る。このように、評価された指位置は、手書モードを始めるのに使用されることができないが、それらは継続することができる。ステップ488は、表面に触れている指およびてのひら後部の測定された位置および寸法を引き出す。
【0182】
ステップ489は、外側の指の寸法、および外側の指接触部が通常の指先より大きくなっててのひら後部に近づくときにピークに達する、てのひら後部からの垂直方向の距離から、指関節ファクターを計算する。ステップ490は、人差し指先が指関節の前に更に突出するときにピークに達する内と外との指の垂直方向の座標間の差から、突出ファクターを計算する。ステップ491は、ファジー論理式で指関節および突出ファクターを結合し、そして、自己回帰の(autoregressive)あるいは移動している平均フィルタを通して、以前の結果を備えた結果を平均する。判断ステップ492は、フィルタさせられた式の結果が、更なるヒステリシスを提供するためにそれ自身可変的である閾値より上にある場合、ペングリップモードを続け、あるいは開始する。ペングリップモードの間、タイピング12およびコード動作認識18は、ペンをグリップしている手に対して不可能である。
【0183】
ペングリップモードにおいて、判断ステップ493は、内側のグリップしている指が実際に表面に触れているかどうか決定する。もしそうならば、ステップ495は、内側の指の経路パラメータから、インキング事象を作り出し、ホスト通信インタフェースの出力事象待行列に、追加する。インキング事象は、描画あるいは署名を捕獲するために「デジタルインク」をディスプレイ24に置くことができ、あるいは、手書き認識システムによって横取りされて意思表示あるいは言語記号として解読され得る。手書き認識システムは、公知技術である。
【0184】
内側の指が持ち上げられる場合、ステップ494は、スタイラス上昇事象をホスト通信インタフェースに送り、記号間のブレークの手書き認識システムに指示する。あるアプリケーションにおいて、ユーザは、「デジタルインク」または解読された記号がカーソルを配置することによりディスプレイに挿入されることになる位置を示す必要がある。マルチタッチ表面上で、ユーザは、ペングリップ構成を離して指コードをスライドさせることによりカーソルを移動できるけれども、ペングリップ構成から離れることなく、カーソルの配置を許すことが好ましい。これは、てのひら後部および外側の指関節のスライドから、カーソル配置事象を作り出すことによってサポートされ得る。通常のライティング動作がまた、てのひら後部および外側の指関節のスライドを含むので、内側の指が数百ミリ秒持ち上げられるまで、てのひら動作は無視されなければならない。
【0185】
ユーザが実際に伝導性のスタイラスを取り上げ、それで書こうと試みる場合、内側のグリップしている指は、ストロークの間表面に触れることよりむしろ、表面の上方からスタイラスを導いているので、手のコンフィギュレーションはわずかに変化する。前腕は、実際にスタイラスを保持するとき、よりあおむけになる傾向があるので、手が小指、薬指および外側のてのひら後部の側部に載っている間、内側のてのひら後部はまた、表面を離れたままである。外側のてのひら後部が小指に関し通常よりはるかに外方に位置するけれども、小指および薬指は、大きい指関節接触部が外側のてのひらの近くにカールされるように現れる。スタイラスの先端は、本質的に、識別のための人差し指先に取って代わり、指関節の垂直方向のレベルあるいはより上に残る。このように、ユーザがスタイラスで書くときに、ペングリップ検出器は、ホスト通信インタフェースに送信される人差し指先経路が、実際にスタイラスによってなされることを除いて、本質的に同じ方法で機能することができる。
【0186】
技術的に、各々の手は、結合された全ての指接合部における移動の24の自由度を有しているが、実用的な問題として、コードリンク機構の限界は、全ての接合部を独立して動かすことを困難にさせる。表面上の指接触部の測定は、表面に対し横方向(lateral)の動作において10の自由度、表面に対し個々の指先圧力あるいは近接値において5の自由度、および親指方向の1の自由度を与える。しかしながら、これらの自由度の多くは、範囲を限定しており、独立にアクセスするためには、一般ユーザから、不合理な捩れ(twisting)および器用さを必要とする。
【0187】
動作成分抽出モジュール16の目的は、2および3次元の普通のグラフィック操作タスクのために十分な自由度の、16の識別できる自由度から、抽出することである。2次元において、最も普通のタスクは、水平および垂直方向の動作、回転、ズームおよびサイズ変化である。3次元において、2つの更なる回転の自由度が、水平および垂直の軸のまわりで利用可能である。動作成分抽出器は、お互いに妨げることなく簡単で同時に実行され得る基本的な手動作から、これらの4−6の自由度を抜き出すように試みる。
【0188】
複数の自由度が同時にアクセスされ得るとき、それらは分離できるというよりはむしろ一体であると言うことができ、そして、動作を一時に単一の軸あるいは自由度に沿ってであるように制限するよりもむしろ、対角線動作を許容するので、一体的な入力装置は通常速い。4つの自由度だけが必要であるとき、基本的な動作は、全部の手の移行、指を一様に曲げあるいは伸ばすことによる手の拡大縮小(scaling)、およびジャーのふたを緩めるときのような手首についての、またはナットを緩めるときのような指間の、手の回転であり得る。これらの手の動作は、直観的に対置できる親指を含む動作を利用するので、実行するのが簡単なだけではなく、認知的に、対象回転およびサイズ設定のグラフィック操作タスクに対応する。それらの唯一の欠点は、これらの手の回転および拡大縮小の間の、全ての指の移行運動は、完全に取り消すというわけではなくて、所望の回転あるいは拡大縮小に加えて、ある方向における正味(net)移行に達するまでその代わりに加えることができる、ということである。自由度が一体ではあるが、意図されていない移行が不完全に実行される拡大縮小および回転を防ぐように、同時に実行される全ての動作を許容するために、動作抽出器は、移行がうまく非線形にお互いに対する速度にしたがうスケール速度成分をキャンセルする指を、優先して重み付けする。
【0189】
動作成分抽出器16内のプロセスは、FIG.34に示される。ステップ500は、まず、与えられた手のための識別された接触部経路250を取り込む。これらの経路は、横方向の速度および近接値を含み、動作計算において使用され、個々の動作成分計算の等級を下げる所定の指あるいはてのひらの動作が重視されないように、識別が必要とされる。
【0190】
次のステップ502は、指近接値が急速に変化するとき、更なるフィルタリングを横方向の接触部速度に適用する。これは、表面上の指のリフトオフおよびタッチダウンの間、たびたび指先の前面部分が、指先の背部の前にタッチダウンし、指先の背部の後でリフトオフし、指重心における正味の下方あるいは上方への側面方向の移行を起こすので、必要である。このような近接値に依存する移行は、細かい位置決め制御のために指先をゆっくりと転がすとき、良好な使用に当てられることが可能であるが、指リフトオフの間に、カーソルを選択された位置から離れさせる場合、それらはまた、ユーザを悩まし得る。これは、指の近接値における大きい変化に比例して、指の横方向の速度を一時的に小さくすることによって防止される。一つの指がリフトオフするときに手内の他の指が僅かに移動する傾向があるので、各々の指の速度の更なる縮小は、接触部している指の中での近接値における最大変化率に応答してなされる。あるいは、より明確な抑止は、指接触部高さの瞬間的な変化に比例した量を、横方向の指の速度から減ずることによって、得ることが可能である。これは、最初にリフトオフあるいは最後にタッチダウンする指先の背部のために、指のリフトオフによって起こされる横方向の指の速度の摂動が、接触部高さの変化に比例していると推定される。
【0191】
詳細なステップがFIG.36に示されるプロセス504は、半径方向(拡大縮小)および回転方向の動作から、極の速度成分を測定する。回転が親指の方向変化から抽出されない場合、少なくとも2本の接触部している指が、手の中での半径方向あるいは角度方向の速度を計算するのに必要である。親指動作は、他の指が相互に対するよりも、他の指と非常に独立しているので、これらの指のうちの1本が対置できる親指である場合、拡大縮小および回転はユーザにとって実行するのがより簡単であるが、測定方法は、親指なしで機能する。判断ステップ522が、2つより少ない指が表面に触れていると決定した場合、ステップ524は、手の半径方向および回転の速度をゼロに設定する。FIG.35は、収縮性のある手の拡大縮小の間の、各々の指の軌道を示す。親指201および小指205は、概略的に同じ速度で、大体反対方向に移動し、それで、動作の合計がゼロ正味移行のために相殺するが、しかし、動作の差は、大きい正味の拡大縮小に対して最大にされる。中央の指202−204もまた、中心点の方に移動するが、てのひら後部は静止したままであり、中央の指の曲げを補足しない。したがって、中央の指および他の指の動作の間の差は、通常、小指および親指動作の間の差より小さく、手の拡大縮小の間の中央の指の速度の合計は、正味垂直方向の移行になるまで加えられる。類似した現象は、回転が、てのひら前部に中心付けられるよりはむしろ、固定された前腕を有する手首に中心付けられる場合を除いて、手の回転の間に発生し、正味水平方向移行は、指のいかなる組合せからでも、動作の合計に現れる。
【0192】
指動作の差は、通常、親指および小指の間が最も大きいので、ステップ526は、手の拡大縮小および回転測定のために、最内および最外の接触部している指の現在および以前の位置を引き出すのみである。
【0193】
ステップ528は、それから、近似的に以下の式で、最内の指FIおよび最外の指FO間の距離変化から、手の拡大縮小の速度Hvsを計算する。
【0194】
【数30】
ここで、d{FI[n],FO[n]}は、指間の平方ユークリッド距離である。
【0195】
【数31】
最内あるいは最外の指のうちの1本が、以前の近接画像の間、触れていない場合、分離距離の変化は、ゼロであると推測される。同様に、ステップ530は、近似的に以下の式で、最内および最外の指間の角度変化から、手の回転の速度Hvrを計算する。
【0196】
【数32】
角度変化は、移行および拡大縮小成分と同じ単位に変換するために、現在の分離距離により増加される。これらの式は、手がまた全体として移行している場合であっても、手の動作の任意の回転および拡大縮小成分を捕らえ、こうして、回転および拡大縮小の自由度を移行に一体化させる。
【0197】
上記計算が、小指および親指、または最内および最外の指に制限されるという他の理由は、ユーザは、親指および小指が静止状態にある間に、中央の指、すなわち人差し指、中指および薬指での細かい移行操作をしたいかもしれないということである。中央の指および親指の間の距離あるいは角度の変化が、式66−68で平均化される場合、中央の指の移行によって、静止された親指あるいは小指に関して回転あるいは拡大縮小が発現するであろうから、このことはあり得ない。しかしながら、親指検証プロセスにおいて適用される式56−60は、指間の固定点についての対称的な回転および拡大縮小に敏感なだけである任意の著しい全体の手の移行が発生しているか、あるいは指動作が補足されていない場合、それらはゼロに近づく。ユーザが、回転あるいは拡大縮小意思表示する間、適切に最外の指を動かさない場合、ステップ531は、式56−60の形の近似式を使用して、親指と最外の指より他の任意の接触部している指との間の回転および拡大縮小の速度を計算する。結果として生じる速度は、移行動作が固定点を回転あるいは拡大縮小させてゼロとなる平均よりもむしろ、最大操作に対する式66−68の結果と好ましくは結合される。最終的に、判断ステップ532は、指リフトオフ前の動作の間、半径方向あるいは回転方向の減速に対するチェック534を命じる。半径方向あるいは回転方向の減速を検出する方法は、移行抽出の説明において詳述されるものと同じである。
【0198】
FIG.37は、FIG.34のプロセス506において参照される手の移行速度の測定の詳細を示す。手の移行速度を計算する最も簡単な方法は、単に各々の指の横方向の速度を平均することであろう。しかしながら、ユーザは、たとえいくつかが静止している場合でも、何本の指が動いているかにかかわらず常に、再表示する動作あるいは制御を期待する。さらに、ユーザが同時に手を拡大縮小あるいは回転させている場合、単純な平均は、キャンセルされない中央の指の動作によって起こされる、偽の正味移行に敏感である。
【0199】
したがって、好適な実施形態において、移行成分抽出器は、平均移行を計算する前に慎重に重みを各々の指に割当てる。ステップ540は、各々の指の移行重み付けFivwを、そのトータル接触部近接値、すなわちFivw〔n〕≒Fiz〔n〕に初期化する。これは、表面に触れていない指は平均をゼロ速度に薄めないことと、位置および速度測定がより確実でないかもしれないので軽く触れるだけの指はより少ない影響を有することと、を保証する。次のステップ544は、故意に移動している指のゲインを表示する制御が薄められないように、比較的静止している指の重み付けを減少させる。これは、最も急速に移動している指を見いだすことによってなされることができ、最大指速度としてその速度を記録し、指速度の最大速度によって割られたその速度に比例して、以下の式に近似的に示されるように、各々の指の移行重み付けを拡大縮小する。
【0200】
【数33】
ここで、パワーptwは、速度依存強度を調節する。なお、ステップ544は、例えばユーザが通常のカーソル動作ゲインモードと低ゲインモードとを求めるコンピューター支援設計のような、アプリケーションのためにスキップされ得る。より低いカーソル動作ゲインは、細かく、短い範囲の位置決めに役立ち、残りを静止させておく間に1または2の指だけを動かすことによってアクセスされ得るであろう。
【0201】
ステップ546は、手の拡大縮小および回転の間、中央の指に対して移行重み付けを減少させる。もっとも、親指および小指が静止している間、それは中央の指が移行操作を細かくすることを防止しない。下記の式は、回転が大きいとき中心移行重み付けを減少し、Kpolarthreshと比較して大きくなった速度を拡大縮小することによって、継ぎ目無く、これを達成する。
【0202】
【数34】
ここで、これらの式は、識別iが最内および最外の間のものである中央の指だけに適用される。なお、手の拡大縮小はあまり水平方向の移行の偏りを起こさないので、水平方向の移行重み付けFivwx〔n〕は、式70の手の拡大縮小の項目の欠如により示されるように、手の拡大縮小速度Hvs〔n〕によって影響される必要はない。最内および最外の指の移行重み付けは、極成分速度、すなわちFivwx〔n〕≒Fivwx〔n〕≒Fivw〔n〕およびFOvwx〔n〕≒FOvwx〔n〕≒FOvw〔n〕、によって、変化されない。ステップ548は、最終的に、指速度の加重平均から、手の移行速度ベクトル(Hvx〔n〕,Hvy〔n〕)を計算する。
【0203】
【数35】
【0204】
【数36】
移行計算の最後の部分は、ユーザがリフトオフ時にカーソル動作が停止することを願うかどうかを信頼できるように示す、リフトオフ前の指の横方向の減速に対してテストすることである。減速がリフトオフの前に検出されない場合、ユーザはカーソル動作をリフトオフの後で続けるつもりであるか、あるいは、ユーザは特別な「ワンショット」コマンドを起動するつもりかもしれない。判断ステップ550は、減速測定を妨げることからの指のリフトオフを伴うことができる、指重心の摂動を防ぐほどには指の近接値が急速に落ちていない間に、減速テストを起動する。ステップ551は、移動しているウィンドウ平均あるいは自己回帰のフィルタにより計算される、過去の平均移行速度に対しての、加速度率(percentage acceleration)あるいは現在の移行速度|(Hvx〔n〕,Hvy〔n〕)|の比率を計算する。判断ステップ552は、加速度率がある閾値より小さい場合、移行減速フラグをセット556する。この閾値が1より大きく設定される場合、ユーザは、ちょうどカーソル動作を続けるためのリフトオフの前に、指を速めていなければならない。閾値がちょうど1の下で設定される場合、ユーザがリフトオフの前に一定の横方向の速度を維持する限り、カーソル動作は信頼できるように続けられるであろうが、しかし、ユーザがディスプレイのターゲット範囲に近づける際にカーソルを遅くし始める場合、減速フラグが設定されるであろう。判断ステップ554はまた、現在の移行方向が過去の方向の平均と実質的に異なっている場合、減速フラグが設定されるようにすることができる。このような方向変化は、手動作軌道がカーブしていることを示しており、この場合、ユーザによって意図されたターゲットに方向を正確に決定することが非常に難しくなるので、カーソル動作はリフトオフの後に続けられない。減速も曲線状の軌道も検出されない場合、ステップ558は、移行減速フラグをクリアする。これにより、指が結果的にリフトオフし始める場合、カーソル動作の継続が可能となるであろう。なお、判断ステップ550は、リフトオフの間、移行減速フラグの状態が変化するのを防ぎ、それで、カーソル動作を続けるリフトオフの後の決定が、リフトオフが始まる前の減速フラグの状態に依存する。最終のステップ560は、自己回帰の、あるいは動いている手の移行速度ベクトルのウィンドウ平均を更新し、そして、それは、リフトオフの後の継続的なカーソル動作の速度になり得る。FIG.40について説明されるように、継続したカーソル動作シグナルの実際の生成は、コード動作認識装置18において生じる。
【0205】
なお、このカーソル動作継続方法は、関連技術における動作継続方法にわたるいくつかの利点を有している。動作を続けるという決定は、本来的に任意の速度範囲に対して正規化する、加速度率に依存するので、ユーザは、非常に低い速度を含む広範囲にわたる速度から、意図的に動作継続を起動できる。このように、ユーザは、直接スローモーション継続を起動して、読むことができる速度で文書をオートスクロールできる。これは、ユーザの動作が高い速度閾値を上回るとき動作を続けるだけの、米国特許第4,734,685号におけるワタナベの方法に当てはまらず、そして、ユーザが大きいターゲットに近づく際に減速するがリフトオフ前に完全に停止しないとき、低い指の速度が望ましくなく動作を続ける場合の、米国特許第5,327,161号におけるローガンらの方法にも当てはまらない。加速度率はまた、境界領域における指の位置よりも、明らかにユーザの意志を捕らえる。ギレスピーらの米国特許第5,543,591号で使用されているような境界領域における指の位置は、カーソルがちょうど指が境界に入るときにディスプレイ上の所望のターゲットに到達でき、さらに、指が動くためのスペースを使い果たすので、タッチパッド装置がターゲットを過ぎてカーソル動作を続けることから、あいまいである。本発明において、他方では、物理的なバリアをヒットすることのないセンサアレイのエッジを指がスライドできる場合、加速度率は1の近くで残留し、動作継続を分別よく起動する。しかし、指がセンサアレイのエッジで交差あるいは停止する前に減速する場合、カーソルは、望ましくは停止する。
【0206】
差分手圧力抽出プロセス508の詳細は、FIG.38に示される。圧力が骨の先端を通して硬い表面に垂直に印加されるとき、指先近接値は、急速に飽和する。表面自身があまり従順でない場合、指先圧力の最良のダイナミックレンジは、いっぱいに伸ばした指およびほとんど平らにされた手で得られ、それで、指先の下に圧縮可能な柔らかいパルプが表面に載せてある。判断ステップ562は、したがって、ステップ564で、チルトおよびロール(tilt and roll)手圧力成分がゼロに設定させられるようにし、そして、手がほとんど平らにされない場合、圧力抽出を止める。技術的に三脚のように配列される3つの同一直線上にない手接触部のみは、チルトおよびロール圧力を設定するのに必要であるけれども、手が平らであることのテスト562においては本来的に、手圧力測定の精度を最大にするように、大部分の5本の指およびてのひら後部が表面に接触部していることを確かめるための、指のカウントである。判断ステップ562はまた、表面上に全ての5本の指を配置する、つまり、表面上にてのひら後部を軽く触れ、最終的にてのひら後部を表面上に載せるような直観的な意思表示を備えた三次元の操作を明示的に可能とすることを、ユーザに要求し得る。判断ステップ566は、この開始シーケンスの終わりで全ての接触部の近接値が安定するとき、ステップ568に、各々の接触部経路に対して参照近接値を捕らえ、保存させるようにさせる。チルトおよびロール圧力成分は、このキャリブレーションが実行される間、センサアレイのスキャンサイクルに対して、再びゼロにセット564される。
【0207】
しかしながら、次のスキャンサイクルの間、ユーザは、前方により多くの圧力を指先に印加、あるいは後方により多くの圧力をてのひら後部に印加しながら、手を傾けることができ、あるいは、ユーザは小指および外側のてのひら後部の上に手を外方へ転がすことができ、あるいは内方へより多くの圧力を親指、人差し指および内側のてのひら後部に印することができる。ステップ570は、現在の接触部位置の重み付けされていない平均を計算することを進める。ステップ572は、表面にまだ触れている各々の手の部分に対して、以前に保存された参照近接値に対する現在近接値の比率を計算する。これらの比率を手の部分の偶然の持ち上げにより敏感にさせないようにするために、ステップ574は、1以上でそれらを切るので、近接値および圧力の増加のみがチルトおよびロール測定において登録する。他の平均接触部経路位置は、ステップ576において計算されるが、これは各々の経路に対する上記の計算された近接比率によって重み付けされる。ステップ578において得られる、これらの重み付けされた、および重み付けされていない接触部位置平均の間の差は、ベクトルを作り出し、その方向がロールあるいはチルトの方向を示し、その大きさがxおよびy軸についてのロールあるいはチルトの比率を制御し得る。
【0208】
重み付けされた、および重み付けされていない接触部位置平均は、現在接触部している指の位置、および接触部の圧力あるいは近接値の増加によって影響されるだけであるので、その方法は、指リフトオフに反応しない。近接値の絶対的変化よりむしろ、ステップ572における参照正規化された(reference−normalized)近接比率の計算は、大きいてのひら後部接触部が加重平均位置上の過度の影響を有することを防止する。
【0209】
現在の接触部位置だけが平均位置計算に使用されるので、ロールおよびチルトのベクトルは、横方向の運動が指圧力を乱さない限り、例えば手の移行あるいは回転などの横方向の運動から独立しており、このようにして、さらに完全を達成している。しかしながら、一般に指を曲げることは指先接触部範囲をかなり減少させ、こうして、指先圧力変化の推定を妨げるので、手の拡大縮小および差分手圧力は、同時に使用するのが難しい。これが重大な問題になるとき、トータルの手の圧力成分は、手の拡大縮小成分の代わりに、第6の自由度として使用されることができる。このトータルの圧力成分は、接触部近接比率の平均の1からの偏差に比例して、z軸に沿ったカーソル速度を発生させる。別の実施形態は、例えば、参照近接を載せている手の圧力の変化を遅くするように適合させること、および小さい値を有する圧力差ベクトルを無視するためのデッドゾーンフィルタ(dead zone filter)を適用することなどの、更なる増強を含む。
【0210】
結果ベクトルがお互いから独立しているように、極速度、移行速度、および手の圧力成分を測定するために取られる注意にもかかわらず、手の拡大縮小、回転あるいは移行の間の不均等な指動作が、主に他の中で動こうとする間に、一つの自由度の測定における小さな摂動をさらに発生し得る。FIG.34のステップ510および512において適用される非線形フィルタリングは、支配的な成分とほとんど静止された成分との間に残っている動作漏れを除去する。ステップ510において、各々の成分の速度は、その平均速度の、全成分の速度の最大値、支配的な成分の速度に対する比率によって、縮小される。
【0211】
【数37】
ここで、Hxyspeed〔n〕,Hsspeed〔n〕,およびHrspeed〔n〕は、移行速度、拡大縮小速度および回転速度の自己回帰平均であり、ここで、
【0212】
【数38】
であり、そして、pdsは、フィルタの強度を制御するものである。pdsが無限大の方へ調節されるとき、支配的な成分が選び出されて、支配的なものよりも小さい全ての成分はゼロの方へ向かい、作図アプリケーションにおいて周知の直交カーソル効果を作り出す。pdsがゼロの方へ調節されるとき、フィルタは効果を有しない。好ましくは、支配的なものよりかなり遅い成分が更に遅くされるように、pdsは中間に設定されるが、しかし、速度が支配的なものに近い成分は、かろうじて影響を受け、すぐに複数の自由度の対角線動作の可能性を維持する。自己回帰平均算出は、支配的な成分が遅くなって停止する間でさえ、長期にわたって支配的で他を抑制する、一つあるいは複数の成分を選び出すのに役立つ。
【0213】
ステップ512は、デッドゾーンフィルタとして知られる関連するフィルタ(related filter)を有する第2経路を受け取る。デッドゾーンフィルタは、速度閾値未満の入力速度のために“0”出力速度を作り出し、入力速度と閾値を上回る入力速度のための閾値との差に比例して出力速度を作り出す。好ましくは、速度閾値あるいはデッドゾーンの幅は、現在のコンポーネント速度の最大値の何分の一かに設定される。全ての速度成分は、この同じデッドゾーンの幅を利用してフィルタをかけられる。最終的な抽出されたコンポーネント速度は、コード動作認識モジュール18に転送される。コード動作認識モジュール18は、いかなる入力結果が動作から作り出されるべきかを決定する。
【0214】
FIG.39Aは、指同期検出モジュール14の細部を示す。後述する同期検出プロセスは、各々の手のために独立して繰り返される。ステップ600は、近接値マーカーとIDを手の現在の軌道のために取り出す。IDは、てのひらの軌道を無視して、同期された指の組合せを識別する。一方、近接値マーカーは、各々の接触部経路が押圧近接値閾値をはじめて上回る時間と、各接触部経路がトータルリフトオフの前にリリース近接値閾値をドロップする時間とを記録する。セグメンテーションサーチプロセス264によって本質的とみなされる最小近接値よりいくぶん高い近接値閾値を設定することは、より明確な指の押し離し時間を提供する。
【0215】
ステップ603は、ほぼ同じ時間に接触部する指のサブセット、およびほぼ同じ時間にリフトオフされた指のサブセットを探索する。これは、押圧近接値閾値と交差するように時間的に指示されたリストにおいて、各指の軌道と共にそれが押圧している時間を記録することによってされる。てのひらの一次機能が前腕をサポートすることであるという理由から、他の手によって押圧される検出を除いてタイプ入力認識装置12およびコード動作認識装置18によっててのひら動作内容が無視される。そして、てのひら後部によって押すことは、このリストおよび他の同期テストから排除される。2つの最近の指の押圧間の同期のために、リスト内の2つの最近の入力が比較される。それらの押圧時間の差がテンポラル閾値未満の場合、2つの指の押圧は、同期であるとみなされる。そうでない場合には、最近の指押圧は、非同期であるとみなされる。3本またはそれ以上で5本までの指の同期は、3本、4本あるいは5本の最近のリスト入力の押圧時間を比較することによって見いだされる。最近の入力の押圧時間が第n番目に最近の入力のテンポラリ閾値以内である場合、最近の指の押圧は、n番目に同期であることを示す。手を横切って接触部する場合の不正確を適応させるために、テンポラル閾値の絶対値は、同期を見つけるために検査された指の数に比例して僅かに増大する。同期を見出された最近の指の最大のセットは、同期したサブセットとして記録される。そして、このサブセットを含む指の識別のセットは、指識別ビットフィールドとして便利に格納される。その理由は、指がまだ残っているのに他の指が早く触れる場合、それらは同時に触れて、同期する押圧が、表面を現在触れている指のすべてを含むわけではないので、タームサブセットが、使用される。指離し時間の順序リストは、同じように別々に維持されて、探索される。同期された押圧サブセットにおいて包含されるまだ表面に触れている指を別の実施形態は必要とする。
【0216】
判断ステップ602は、同期化マーカーが前の画像スキャンサイクルからのペンディングであるかどうか調べる。そうでない場合には、判断ステップ604は、現在近接値画像においてサーチ603が新しく同期された押圧サブセットを見いだしたかどうか調べる。もしそうならば、ステップ606はテンポラル同期マーカーを新しい同期サブセット内で最も古い押圧に設定する。更なる指押圧は、このテンポラル同期マーカーの値に影響を及ぼすことのない将来のスキャンサイクルの間、サブセットに加えられる。同期に押す指が現在しない場合、判断ステップ605は、少なくとも3本の指がちょうど同時に離されたか否かを決定する。指のセットでタイピングをする間、少なくとも3つの指の同時離しは発生しない。しかし、休むために表面を離れて指を持ち上げるときに発生する。したがって、少なくとも3本の指を同時に離しが、離された指がキーを押圧するつもりでなかったことを確かに示し、同期を取って触れられた同じ指に関係なく、キー押圧キュー605から削除される。2本の指の離し同期化は、単独でタイプ入力の意志の確実なインジケータでなく、キー押しキューに対する効果を有しない。キー押しキューは、FIG.42〜43Bと共に後述する。
【0217】
一度、手のための押圧同期マーカーがペンディングされると、同期された指の押圧の数を調べる処理をさらに行い、同期された指が離れるのを待つ。判断ステップ608は、同期された押圧サブセットに少なくとも3本の指を見いだす場合、ユーザはこれらの指を用いたタイプ入力ができない。したがって、ステップ612は、直ちにキー押圧キューから少なくとも3つの同期押圧を削除する。このようにして、それらがホストに対するキーシンボル伝送を引き起こさない。そして、次の非同期押圧からのキーシンボルの伝送は、同期された指が離されるのを待つことを抑止されない。
【0218】
しかしながら、ステップ608において同期が2本の指の押圧にのみ関係する場合、ユーザが指の一対のコードをたたくつもりだったか、または、隣接する2つのキーをタイプするつもりで偶然に同時にキーの押圧が起こったのかを知ることは難しい。このような偶発的な同時押圧は、通常、2本の指の非同期な離しが続くが、指の対コードは、通常同期を取って離される。押圧が非同期キータップであるか、またはコードタップであるかの決定は、同期を調べられる指が離されるまで遅らせなければならない。一方、ステップ610は、可能な指コードまたはいかなる次の指押圧からのキーシンボルの伝送を防ぐために、キー押圧キュー上にホールドを配置する。キー伝送における長時間のバックアップを防ぐために、判断ステップ614は、両方の指が長い間に触れて残留する場合、キー押圧キューから同期する押圧を削除するステップ615を有することによって、最終的に、キューホールドを開放する。これは、押圧がキーをたたくつもりだったという憶測を中止するが、接触部の後すぐに指が持ち上げられなかった場合、その押圧はまたキータップでありそうもない。
【0219】
同期された指が持ち上げられていない場合、判断ステップ616は、次のスキャンサイクルの後、同期化マーカーのペンディングを残すので、更新された経路パラメータ600について同期の検査が続けられる。同期された指が持ち上げられている場合、判断ステップ618は、同期リリース検索603の助けを借りて、それらが非同期なように618を実行していることを見出し、ステップ622は、いかなる同期する指の対が2つのキーを押圧するつもりであったと仮定して、キー押圧キュー上のいかなるホールドも開放する。同期された指の押圧は、この点でキー押圧キューから削除されないけれども、押圧されたサブセットが2以上含む場合、それらはステップ612においてすでに削除されている。また、ステップ624は、テンポラル同期マーカーを削除し、このサブセットのために同期テストが実行されることをもはや必要としないことを示す。
【0220】
FIG.39Bへ続き、接触部の間同期する指を同時に持ち上げる場合、ステップ618は、それらがポジティブリリース同期検査に用意されているペアである場合には、それら、およびいかなるホールドもキー押圧キューから取り除く。さらに検査は、同期された指が更なるコードタップ状態を満たすかどうかを決定する。単一の指でタップするのと同様に、同期された指がコードタップとして資格を得た場合、それらがおよそ1秒の半分以上表面に保たれることはできない。これを、判断ステップ626は、最後に残っている同期された指のリリースと、テンポラル押圧同期マーカーとの間の時間を閾値で分けることによってテストする。判断ステップ628において、コードタップは、また、横方向の指動作の制限量を示し、ピークの指の速度の平均あるいは接触部以来動いた距離の平均が測定される。迅速なリリースと制限された横運動状態を満たさない場合、ステップ624は、同期された指がただ載せてある指またはコードスライドの一部分のいずれかであったという結果と共に同期マーカーを消去する。
【0221】
コードタップ状態が満たされる場合、ステップ630は、コードタップにおいて指の組合せに割当てられるマウスクリックあるいはキーボードコマンドのようないかなる入力事象も、同期されたサブセットビットフィールドを使用して調べる。全ての4本の指先を含むようなコードは、載せてあるコードとしてステップ634において保存される。この場合、判断ステップ632は、コードが関連する入力事象を有しないことを見出す。コードがタップ入力事象を有する場合、ステップ636は、ホスト通信インタフェース20の主な出力事象キューに、これらを追加する。最終的に、ステップ624は、与えられた手における今後の指同期の準備として同期マーカーを消去する。
【0222】
タイプ入力の際に偶然発生するコードタップのさらなる予防策として、ステップ634によって有効なキー押圧直後の最初のコードタップをコードスライドの間を除いて無視することは、判断ステップ632に役立つ。通常、ユーザはタイプ入力後、クリックの前にマウスカーソルを別の場所に移す必要があり、コードスライドの間に入ることを必要とする。タイプ入力の後、マウスカーソルが偶然すでに適当な場所に置かれていた場合、ユーザは、送信されるクリックのために2回指コードをタップしなくてはならない。しかし、これは、タイプ入力セッションの途中における意図されていないマウスボタンクリックによる偶発的なコードタップを引き起こすよりリスクが少ない。
【0223】
FIG.40Aは、コード動作認識モジュール18の詳細な処理手順を示す。後述するコード動作認識プロセスは、各手のためにそれぞれに繰り返される。ステップ650は、手の識別された経路250のパラメータおよび、動作抽出モジュール16からの手の抽出された動作コンポーネントを検索する。指コードのスライドがすでに始められていない場合、判断ステップ652はスライド開始検査654と656を命じる。タイプ入力の間、スライドとかすれる指タップを区別するために、判断ステップ654は、スライドモードを始めるためには手の少なくとも2つの指が表面に触れていることを必要とする。このルールには、直前のスライドコードが表面から離れた後、1、2秒以内で直前のスライドを再び始めることを単一の指に許すことのような例外がある。
【0224】
好適な実施形態において、ユーザは、スライドおよびそのコードの特定の両方を2つの方法で始めることができる。第1の方法では、ユーザは、まず表面より上に手を浮かし、できる限り非同期で表面上に何本かの指を配置し、そして、横にこれらの指のすべてを動かし始める。判断ステップ656は、すべての触れている指において有意な動作が認められる場合にだけ、スライドモードを始める。ステップ658は、有意な動作が認められる場合、接触部の同期に関係なく、指の触れている組合せからコードを選択する。この場合、すべての触れている指における動作のコヒーレント開始は、載せてある指をスライドと区別するのに十分であり、だからタッチダウンの同期は必要でない。また、複数の指が必要であるのを忘れ、表面にただ一本の指を配置してスライドすることによって、初心者ユーザは、誤ってスライドを始めようとする。非同期タッチダウンの許容差は、コードのために要求された残りの指をその後配置してスライドさせることによって、継目なくこれを修正することを許す。そのスライドコードは、ユーザにすべての指を持ち上げることを強制せず開始し、同期された指の接触部を用いてやり直す。
【0225】
第2の方法では、表面上は載せてある複数の指を用い、これらの指のサブセットを持ち上げて、コードを選ぶために同期をとって表面上でサブセットの後方に下ろして触れ、スライドを始めるために横にサブセットを動かし始める。判断ステップ656は、同期されたサブセットの全ての指に、有意な動作を認めるときに、実際にスライドモードを始める。このシーケンスの間、表面上に残留して載せてある指が、問題なく動き始めるかどうかに関係なく、この場合、選択されたコードは、すべての触れている指のセットからでなく、同期押圧サブセットにおける指の組合せによって、ステップ658で決定される。この第2方法は、スライドを始める前にユーザが表面から手全体を持ち上げる必要がないことで優れている。しかし、その代わりとして、載せる手の重さのほとんどを表面に残し、最も普通の指コードを識別するのに必要な2本のあるいは3本の指を持ち上げ、押圧する。
【0226】
載せてある指の位置における偶然のシフトのためのより大きい許容差を提供するために、判断ステップ656は、すべての関連した指が有意なスピードで動くこと、および、それらがほぼ同じスピードで動くことの両方を要求する。これは、指の速度の相乗平均を閾値で分けることによって、あるいは最も速い指の速度を閾値で分けることによって検査され、最も遅い指の速さが最速の指の速度の少なくとも最小限のフラクションであることを確かめる。一旦コードスライドが始められると、ステップ660は、少なくとも触れている指および同期されたサブセットのどちらも離されるまで、手によるキーあるいはコードタップの認識を使用禁止にする。
【0227】
一旦スライドが始まると、コード動作認識装置は、単に未加工のコンポーネント速度を指の識別の組合せと組にし、ホストに送信することができる。しかしながら、通常の入力装置のマウスおよびキー事象形式との逆互換性のために、FIG.40Bにおける動作事象生成の手順は、抽出されたいかなる自由度における動きを、選ばれたコードの識別による標準マウスおよびキーコマンド事象に変換する。このような動作変換をサポートするために、ステップ658は、同期サブセットにおいて触れている指および触れていない指の両方の識別のビットフィールドを利用して、ルックアップテーブルにおけるコードアクティビティ構成を見出す。異なる指の識別の組合せは、同じコードアクティビティ構成を参照できる。好適な実施形態において、すべての指は、同じコードアクティビティ構成を参照されて、親指以外の指先の同じ番号のものと組み合わされ、そして、スライドコードアクティビティは、親指が触れたか否かおよび親指以外の指が何本触れたかによって区別される。
【0228】
組合せよりむしろ指先の番号のコード動作に基づくことは、さらに、手ごとに最高7つのコードを提供するが、ユーザが記憶して、実行するのがより簡単なコードを作る。ユーザは、1本、2本あるいは3本の指先だけを必要としているコードにおいて使用される指先は、選んで、変更する自由を有する。このように自由を与えるので、ユーザは、当然薬指のような指が持ち上げられ中指と小指のような囲む指は触れさせなければならない組合せより、むしろ全ての触れる指先が隣接する組合せを選択する傾向がある。一つのコードタイプ入力調査は、他のコード2倍の速さで隣接されたすべての押圧された指先において、ユーザがこれらの指のコードをタップできることを見出す。
【0229】
各々のコードアクティビティ構成における事象は、スライス(slices)に組織される。各スライスは、抽出された自由度内で、速度と方向の個々の範囲で動作に応答して生成される事象を含む。例えば、マウスカーソルスライスは、いかなる移動速度および方向も割当てられることができる。しかしながら、テキストカーソル操作は4つのスライスを必要とし、各矢印キーのために1つ、そして、移動の狭い方向範囲において動作を集積化する。各スライスは、また、各自由度のために、動作感度およびいわゆるカーソル加速係数を含む。これらは、既存のホストコンピュータシステムによって期待された矢印キークリックまたはマウスクリックのような装置に、動作をディスクレタイズ(discretize)するために使用される。
【0230】
コード動作変換のステップ675は、処理のための与えられたコードアクティビティ構成の第1スライスを単に選択する。ステップ676は、スライスの動作感度および加速係数によって、抽出された速度コンポーネントの現在の値を基準化する。ステップ677は、基準化された速度コンポーネントを、スライスの定義された速度と方向の値域に、幾何学的に投影または制限する。マウスカーソルスライスの実例のために、これは、回転を止めること、および、ゼロに対してコンポーネントを基準化することを必要とする。矢印キースライスがなければ、移動速度ベクトルは、矢印と同じ方向に単位ベクトルポインティングの上へ投射される。ステップ678は、判断ステップ680が蓄積された動きの少なくとも1単位を定義するまで、スライスのアキュムレータにおいて、時間を超えて、各々の基準化されたおよび投射された分速度を集積化する。ステップ682は、スライスの好適なマウス、キー、または、三次元の入力事象フォーマットを調べ、累算された動作単位の数を事象に与える。そして、ステップ684は、ホスト通信インタフェース20の発信キューに、その事象を発送する。ステップ686は、送信された動作事象をアキュムレータから減じ、ステップ688は、他のスライスのアキュムレータを選択的に取り除く。スライスが手動作ごとに単一のキーコマンドを作り出すことを目的とする場合、判断ステップ689は、それをワンショットスライスであると決定して、ステップ690は、異なる方向を持ったスライスが介入するまで、スライスからの更なる事象生成を無効にする。与えられたスライスが最後のスライスである場合、判断ステップ692は、センサアレイの次のスキャンを待つためにステップ650に戻る。一方、ステップ694は、他のスライスの現在動作を集積化して変換し続ける。
【0231】
FIG.40Aに戻って、いくらかのアプリケーションのために、更なる指が触れるとき、あるいはコードにおける指の一つが持ち上がるときはいつでも、選択されたコードを変更することが望ましい。しかしながら、好適な実施形態では、選択されたコードは、非同期な指接触部アクティビティによって、スライド開始後変更されることができない。これは、所望の自由度の最高の精度を得るのに必要であるので、ユーザに更なる指を載せる自由あるいは持ち上げる自由を与える。例えば、指の対コードが親指を含まないとしても、ローテーションおよび基準化の自由度の十分な動作範囲に入るために、親指はスライド開始後すぐ下ろされる。実際、全ての持ち上げられたままの指は、いかなるコードの開始後でも、全部の手によって、操作を許すために下ろされることができる。同様に、1本を除く全ての指は持ち上げられるが、移動は続く。
【0232】
非同期な指接触部アクティビティが無視されるが、スライド開始以降、複数の指の同期された持ち上げおよび押圧は、新しい同期されたサブセットを構築し、選択されたコードを変更できる。好ましくは、これは、手が休止されるが指は表面上にまだ載せてある間だけ許可される。判断ステップ670は、新しいサブセットを検出して、判断ステップ656に類似している判断ステップ673における動作テストを始める。新しく同期されたサブセットの全ての指において、有意な動作が見いだされる場合、ステップ674は、スライドコードとして新しいサブセットを選択し、ステップ658とそっくりに新しいコードアクティビティ構成を調べる。このように、指の再同期は、ユーザに表面から手全体を持ち上げさせることなく、異なるアクティビティへ切替えることを許可する。速度コンポーネントの集積は再開するが、新しいコードアクティビティ構成から作り出される事象は多分異なる。
【0233】
コードアクティビティ構成が選択されたユーザに視覚あるいは聴覚のフィードバックを提供することは、有益である。これは、マルチ−タッチ表面の最上部を横切る列に5つの発光ダイオードを配置することによって、視覚的に達成することができる。なお、マルチ−タッチ表面は、当該表面上に使用される手ごとに一行有する。スライドモードを入力するときに、ステップ658は、選択されたコードの指の組合せに対応するこれらの光の組合せをONにする。ステップ674は、新しいコードアクティビティ構成に一致させるためにアクティブな光の組合せを変更する。ユーザは、新しいコードを選ばなければならない。そして、ステップ668はそれらをオフにする。類似した光は、ホストコンピュータディスプレイ24上にエミュレートされることができる。光は、また、ステップ636においてコードがタップされている間、検出した指の組合せを示すためにきらめくことができる。聴覚のフィードバックの実現は、光の組合せが、トーンあるいはトーンバースト方式の組合せに置き換えられる点以外で、類似している。
【0234】
判断ステップ664が開始の組合せから全ての指が離れたことを検出するまで、累積および事象生成の処理は、全てのアレイスキャンサイクルのために繰返される。判断ステップ666は、それから、主要な動作コンポーネントのプレリフトオフ(pre−liftoff)減速フラグを検査する。このフラグの状態は、移動が主要な場合、FIG.37に示す移動抽出のステップ556あるいはステップ558によって、または、極線抽出のステップ534で対応するフラグによって決定される。有意な減速があった場合、ステップ668は、単にコードスライドモードを出て、選択されたコードを空白に設定する。フラグがリフトオフの前に指の有意な減速を示さない場合、判断ステップ666は、選択されたコードのための動作継続モードを可能にする。このモードの間、ステップ667は、現在の速度の位置において、支配的なコンポーネントのプレリフトオフ加重平均(560)を、動作アキュムレータ(678)に加える。現在の速度は、表面に指が触れないので、多分0である。同期されたサブセットではない残留している指が持ち上げられ、またはより多くの指が新たに触れるまで、動作継続モードは停止しない。これは、判断ステップ664を誤りにするようにし、現在選択されたコードを持つ通常のスライドアクティビティを再開するようにする。動作継続モードの間、カーソルあるいはスクロールの速度が減衰しないが、ホストコンピュータは、カーソルがスクリーンのエッジまたはドキュメントの端部に到達する場合、動作継続モードがキャンセルされるように指示する信号を送信できる。同様に、動作継続の間、指が表面上に残留する場合、それらの移動はカーソルあるいはスクロールの速さを調節できる。
【0235】
好適な実施形態において、各手のためのコード動作認識装置は独立して機能し、各コードのための入力事象は、独立して構成されることができる。これは、システムが多くの異なる方法で手との間のタスクを割当てること、および双手による様々な操作をサポートすることを許す。例えば、マウスカーソル動作は両方の手の指先対コードに割当てられ、マウスボタンドラッグは両方の手の3つの指先コードに割当てられることが可能である。このようにして、表面の両半面上の各手を用いて、マウスポインタは、移動およびドラッグされることができる。最初のマウスクリックは、表面の両半面上において指先対のタップによって生成され、ダブルクリックは、表面上において3本の指先の単一のタップによって生成される。ウィンドウスクロールは、各々の手上の4本の指のスライドに割当てられる。
【0236】
これに対して、マウスカーソル操作は、右手および表面の右半分に上述のように割当てられ、対応するテキストカーソル操作が左手上のコードに割当てられる。たとえば、左の指先対の移動は、動作の方向に対応する矢印キーコマンドを生成し、3本の指先は、テキストの選択のためのシフト矢印の組合せを作り出す。
【0237】
自由度3以上の操作をサポートしているホストコンピュータシステムのために、左手コードは、ディスプレイ背景を上下左右、ズーム、および回転することを選択され、一方、右手の対応するコードは、前景オブジェクトを翻訳、リサイズおよび回転させることができる。選択されたコードを変更することなくコード動作を開始した後、いつでも親指が触れることができるので、これらのコードは親指を含む必要がない。それから、回転または拡大縮小を試みる場合、ユーザは、表面に親指を付け加えることを必要とする。
【0238】
始めに親指を含む指コードは、単発のコマンドジェスチャのために取っておかれる。単発のコマンドジェスチャは、動作の更なる単位が検出されるごとに伝送を繰り返すよりむしろ、コードのスライドごとに一回入力事象を生成するだけである。例えば、カット、コピーおよびペーストなどの普通の編集コマンドは、親指および反対の指先のピンチ手の拡大縮小(pinch hand scaling)、コードタップおよびアンチピンチ手の拡大縮小(anti−pinch hand scaling)に直観的に割当てられることが可能である。
【0239】
FIG.41は、タイプ入力認識モジュール12の一部である、キーレイアウトの定義およびモーフィングプロセス内での処理手順を示す。ステップ700は、システムスタートアップにおいて、ユーザあるいはメーカによって、事前に指定されたキーレイアウトを検索する。キーレイアウトは、一組のキー領域データ構造から構成されている。各領域は、領域が押圧された場合、ホストコンピュータに送信されるシンボルまたはコマンドと、表面上の領域の中心の位置を表す座標とを関連付ける。好適な実施形態において、英数字および句読記号を概略的に含むそれらのキー領域の配置は、普通の機械のキーボードであるクワーティ(QWERTY)あるいはドボルザーク(Dvorak)キーレイアウトに対応する。
【0240】
マルチ−タッチ表面装置のいくらかの実施形態において、手を載せる場所にキーレイアウトをスナップまたはモーフィングできることは便利である。これは、机全体を覆うような、標準キーボードまたはキーレイアウトより数倍大きいマルチ−タッチ表面に特に便利である。このような表面において、ある小さい固定域でキーレイアウトを取り付けることは、利用可能な表面領域全体の使用を抑制し、不便である。キーレイアウトの位置の変更について、ユーザにフィードバックを提供するために、マルチ−タッチ表面のこれらの実施形態におけるキーシンボルの位置は、表面上に不変に印刷されない。その代わりとして、キーシンボルの位置は、プログラムを作りなおして、近接値センサアレイと共にマルチ−タッチ表面に埋め込まれた発光ポリマ、液晶、または他の動的視覚表示手段によって、表面に表示される。
【0241】
このような装置を与えられて、ステップ702は、両方の手からの現在経路を検索し、レイアウトホーミングジェスチャとして知られることを待つ。判断ステップ704が、5本のすべての指が同期をとって表面にまさに置かれていることを手同期検出器の助けを借りて決定する場合、ステップ706は、表面上のどこに手があろうとも、同期された指先の下に位置する手のホームキー列のような、手に対するキーレイアウトをスナップすることを試みる。ステップ706は、手位置推定値からの測定された手オフセットを検索して、与えられた手により普通にタイプされたすべてのキー領域を、測定された手オフセットに比例して変換する。5本の指すべてが下ろされているとき、測定されたオフセットを間違わせる指誤認の虞がないので、フィルタをかけられたオフセットの測定値よりむしろ現在の測定値の表示が使用される。この手順は、ホームキー列の変換されていない位置が手のためのデフォルト指位置と同じであると仮定する。
【0242】
判断ステップ708は、指が、ニュートラルの状態、部分的に閉じた状態、伸ばしきったよりは閉じた状態、または、互いに締めつけた状態であるか否かを判断する。状態がニュートラルに近い場合、ステップ710は、各指によって通常タイプされるキーを更にオフセットする。そのキーは、ほとんどの部分において、測定された指オフセットによる指と同じ行にあるキーである。いくつかのレイアウトホーミングジェスチャ上のこれらの指オフセットのテンポラルフィルタリングは、ユーザの手の大きさに対するキーの行間の間隔を測定するのに役立つ。段の間の間隔は、行間の測定に比例して縮小される。
【0243】
載せてある手の現在位置とサイズを合わせるためモーフィングされた手のキーのためのキーレイアウトについて、ステップ712は、ユーザが彼の手の位置に対してスナップされたキーレイアウトを見るために、表面に表示されるシンボルの位置を更新する。この段階から、ユーザはタイプを開始でき、タイプ入力認識装置718は、モーフィングされたキー領域位置を使用して、押圧されたキー領域を決定する。ユーザが表面上のどこか他の場所でそれを動かすために他のホーミングジェスチャを実行するか、または、ユーザがしばらくの間両手を表面から離すまで、レイアウトは、上記方法でモーフィングされて残る。判断ステップ714は、最終的に、計測される時間を区切られるので、ステップ716は、他のユーザまたは使用セッションの準備のためにデフォルト位置にレイアウトをリセットすることができる。
【0244】
キーレイアウトが表面上に不変に印刷される、より小さいマルチ−タッチ表面にとって、キー領域の位置についてユーザ触覚フィードバックを与えることは、便利である。しかしながら、表面上に配置されるいかなる触覚のインジケータも、表面を滑らかにスライドすることを妨げないように慎重に設計されなければならない。例えば、普通の機械のキーボードキーキャップ上の浅いへこみを模倣する、各キーの中央付近に表面において作られた浅いへこみは、表面を横切る手のスライドに、でこぼこして振動させる影響を与える。このようなでこぼこの影響を最小限にするために、好適な実施形態において、マルチ−タッチ表面は、デフォルトの人差し指の指先位置からデフォルトの小指の指先位置まで走る単一の連続するへこみを、各々の手の指先のために備える。これは、QWERTYキーレイアウト上のホームキー列が右手のための「J」キーから「;」キー、および左手のための「A」キーから「F」キーに沿って、浅い、わずかにアーチ型の溝があることに対応する。同様に、親指はそれぞれ、デフォルト位置に単一の卵形の凹みを提供され、デフォルト親指方向に適合させるために垂直線からわずかに傾斜させられる。これらは、それぞれ、左右の親指のための「スペース」と「バックスペース」キー領域に対応することが好ましい。このような最小の凹みが、ユーザに表面を見下ろさせることなく、さらに、表面上の指コードスライドおよび操作をひどく途切れさせず、触覚的にユーザの手がキーレイアウトのホームキー列に戻るように導く。
【0245】
ホームキー列を離れたキー領域の位置は、他タイプの触覚インジケータによって、印付けられることができる。単純にキー領域で表面を粗くするのではうまく機能しない。指をすべらせるときに人間は簡単にテクスチャを識別するが、テクスチャ領域上の速いタップ中には多くのテクスチャを気付くことができない。タイプ入力を行っている状況において、ユーザは、指先によって、比較的突然のエッジだけあるいは突出だけを感じることができる。したがって、点字(Braille)のドットのような小さくふくらんだドットが、各キー領域の中央の表面上に形成される。ユーザは、指先からドットを感じ、タイプ入力打鍵の正確さのフィードバックを受信する。このフィードバックは、今後のキー押圧中に、指を修正する目的に使用される。単一の指スライドは、コード動作認識装置によって無視されるので、ユーザは、全く表面に注目することなく、個々のキー領域のドットの触覚による検索において、表面の周りで指をスライドすることもでき、それからドットを見出したときキー領域をタップすることができる。各ドットは、タッピング中感じるには十分大きいが、表面をコードが横切るのを妨げない大きさである。ドットがスライドすることを妨げるのに十分大きくない場合であっても、それらは、ドット付近の指先の肉を表面から上げることによって、近接値と指先重心測定をコラプト(corrupt)することができ、このように、局所的に下にある接近検出電極から肉を選別する。したがって、好適な実施形態において、表面誘電体より上の各ドットの部分は、伝導材質でできる。これは、上がる指先の肉と下にある電極との間の静電結合を利用する。
【0246】
FIG.42は、キー押圧検出ループにおける処理手順を示す。ステップ750は、現在の識別された経路データ250から、手の一部分の接触部または表面に起因して最近生成されたいかなる経路も検索する。判断ステップ752は、電流センサアレイスキャンの間、経路近接値が初めてキー押圧近接値閾値に到達したかどうか調べる。まだ近接値が閾値に到達していない場合、または、以前にそれをすでに上回った場合、次の最近の経路上のキー押圧検出を試すためにステップ750に戻る。経路がちょうどキー押圧近接値閾値と交差する場合、判断ステップ754は、接触部経路がてのひらよりむしろ指として識別されたかどうか調べる。表面上のどこにでもてのひらが停止する自由をユーザに与えるために、てのひらの押圧は、通常キー押圧を起こさず、したがって、無視されることになる。経路が指であると仮定して、判断ステップ756は、現在、識別された指を有する手がコードスライドジェスチャを実行するか、またはペングリップハンド構成を介して書き込みを実行しているかどうか調べる。FIG.40Aのステップ660において示されるように、これらのアクティビティが始まると、非同期の指の押圧は無視される。このような手アクティビティが進行中でないと仮定して、判断ステップ757は、指が少なくとも2つのセンサーアレイスキャンサイクルの間、表面に触れたこと、および指が触れる前の数スキャンサイクルの間、表面から離れたことを調べるデバウンステスト(debounce)続行する。指が持ち上がり、すばやく同じ点を越えて接触部された場合、経路追跡モジュール(FIG.22)は、ステップ334において指の古い経路を復活させることによって、そのようなリフトオフデバウンシング(debouncing)を容易にする。復活へ、古い経路による最後のリフトオフのタイムスタンプは、新たな接触部のタイムスタンプと比較されるために保存されなくてはならない。
【0247】
これらの検査の全部が通過される場合、ステップ758は、現在の経路位置(Px〔n〕、Py〔n〕)を調べ、ステップ760は、リフアレインス点が指先重心に最も近いキー領域を見いだす。判断ステップ762は、最も近い領域が指の合理的距離内であることを検査し、合理的距離内でない場合、指の押圧を無視させる。キー領域が指に近いと仮定して、ステップ764は、経路インデックス識別子および指識別と、最も近いキー領域と、指がキー押圧近接値閾値と交差するときに示すタイムスタンプとを含むキー押圧構成要素データ構造を生成する。ステップ766は、それからFIFOキー押圧キューの末尾に、このエレメントデータ構造を追加する。これが達成されて、処理は、他の指による接触部の処理、または待機のために、ステップ750に戻る。
【0248】
キー押圧キューは、指の接触部がキー押圧近接値閾値を過ぎるときに、それらを有効に順序づける。それは、このように各指のタップからのキーシンボルがホストに送られる順序を固定する。しかしながら、キー押圧キューにおいて、エレメントのキーシンボルは、一回のホストの伝送を保証されない。押圧する指の同期されたサブセットの一部分であるような多くの状態は、どれもホストに伝送される前に、キューから削除される。この意味において、キー押圧キューは、キー押圧候補キューとみなされる。互いに異なる指接触部およびリフトオフの順序リストは、同期検出器において各々の手のために別々に記憶され、キー押圧キューは、両手からの指接触部を含み、そして順序づける。
【0249】
FIG.43Aは、キー押圧受容および伝送のループにおける処理手順を示す。ステップ770は、キー押圧キューにおいて、先頭のエレメントを選択する。そのエレメントは、最も古い指接触部を表し、無効なキー押圧候補としてキューから削除されず、その関連するキーシンボルを伝送されもしなかったものである。判断ステップ772は、経路が指としてさらに識別されるかどうか調べる。キューにおいて待つ間、経路近接値はとても増大し得るので、識別システムは経路が実際てのひらの後部からであると決定する。この場合、ステップ778は、ホストに伝送することなくキー押圧エレメントを削除し、ステップ770は、次のエレメントの処理を進める。押圧が同じ手の他の指と同期をとって起こる場合、判断ステップ774も、エレメントを無効にする。このように、判断ステップ774は、同期検出プロセス(FIG.39)の消去コマンドステップ601、612、615、620を続行する。判断ステップ776は、横方向の指動作によってコードスライドの開始がまだ起こっていない場合であっても、接触部以降あまりに多くの横方向の指動作が発生した場合、キー押圧を無効にする。ユーザは、タイピングするのに表面に触れるので、数ミリメータの横方向の動作は、すばやくキーに到達するときにたびたび起こる、指先動作のそれを適応することが許されるからである。これは、マウスカーソル操作のための単一の指スライドとキーあるいはマウスボタンクリックエミュレーションのための単一の指タップを用いるタッチパッドにより許容されているよりもそれるタップ動作である。
【0250】
判断ステップ780は、その接触部がキー押圧エレメントを生成する指が以降表面から持ち上げられたかどうか調べる。もしそうならば、判断ステップ782は、通常のキータップとして条件を満たすのに十分な早さで持ち上げられたかどうか調べる。もしそうならば、ステップ784は関連するキーシンボルをホストに伝送し、ステップ778はキューの先頭からそれを削除する。キー押圧は、いつもリフトオフするとすぐにキューから削除される。しかし、それは、タップタイムアウトを越える時間の間、表面上に留まりさえするけれども、後述する制御キーとして、載せてある手の衝動的な押圧として、または、タイプマティック(typematic)押圧として、伝送をさらに引き起こす。
【0251】
キー押圧がホストに伝送されるときに、マルチ−タッチ表面装置あるいはホストコンピュータ上の音生成装置が、聞き取れるクリックあるいはビープ音をフィードバックとしてユーザに発することは便利である。キー押圧に応じての聞き取れるクリックとビープ音のフィードバックを生成することは、キースイッチ動作がほとんど無音であり、ユーザに対して力の閾値によって差異を感じさせない市販のタッチスクリーン、公衆電話、電気機器のコントロールパネルおよび機械のキーボードにおいて周知である。フィードバックは、マルチ−タッチ表面装置上において、キー押圧が送信されるたびに光として提供されてもよい。モディファイアキー押圧が付いてくるキー押圧は、より長いきらめきあるいは音を発生させ、キーシンボルがモディファイアを包含することを知らせるようにする。
【0252】
指がまだ持ち上げられていない場合、判断ステップ786は、その関連するキー領域が、<shift>、<ctrl>あるいは<alt>のようなモディファイア(modifier)であるかどうか調べる。もしそうならば、ステップ788は、先頭を削除することなく、キューの次のエレメントへ進む。処理は、次のエレメントが有効なキータップである場合、調べるためのステップ772にとどまる。次のエレメントがうまく伝送段階に到達する場合、ステップ784は、さらに押圧されたモディファイア領域のためにキューの先頭の方へ、戻ってスキャンする。それから、ステップ784は、以前のモディファイア領域の変更シンボルと共に次のエレメントのキーシンボルを伝送する。
【0253】
判断ステップ782は、キーを送信するために、表面上を指で触れること、および、数百ミリセカンド以内に指を持ち上げ離すことをユーザに要求する。このリフトオフタイミング要求条件は、機械のキースイッチの力による活性化閾値の代わりをする。一定の閾値以上の力を加えられて反応する機械のキースイッチのように、タイミング制約条件は、キー押圧を起動することなく、キー表面上に指を載せておく方法をユーザに提供する。同期検出器14は、キーシンボルを作り出すことなく指を表面上に載せておく他の方法を提供する。それは、少なくとも他の一本の指と同時に、指を接触部しなくてはならない方法である。しかしながら、時々、ユーザは、表面上に、先に主要な指先を同時に置き、次に、非同期で、少し後に小指を、そのさらに少し後に親指を追って置くことによって、手を載せる。これらの後者の押圧は、本質的に非同期で、同期検出器によって無効にされないが、二、三百ミリセカンド以内に持ち上げられない限り、判断ステップ782は、伝送することなくそれらを削除する。しかし、判断ステップ782が載せてある非同期の指の許容範囲を提供する間、指が速く離れること、すなわちクリスピータップが要求条件であり、キー生成を起こすための表面は、シンボルの長いシーケンスのタッピングの間、手を支えるためにほとんどの指を表面上に載せ続けることを非常に難しくする。これは、速いタイプ入力シーケンスの間、ユーザに彼らの手を上げて表面から離させ、表面より上にそれらを浮かさせる。ユーザの腕が結局疲れることを除いては、ユーザがシーケンス間に表面上に手を載せることを失敗する場合、これは許容範囲内であるタイプ入力姿勢である。
【0254】
表面より上に手の支持を助長しない代わりのタイプ入力姿勢を提供するために、判断ステップ790は、各押圧の後にすばやい指のリフトオフを要求しない第2のキー受容モードを可能にする。その代わりとして、ユーザは手の5本の全ての指を表面に載せて始めなければならない。それから、指が非同期で表面をリフトオフしキー領域上で押圧されるごとに、そのキー領域は次のリフトオフタイミングに関係なく伝送される。力が加えられるにつれて、指先の近接値をすぐに感知するぐらい表面が硬い場合、判断ステップ792は、指の近接値がどれくらい速くピークに達するか、近接値プロファイルの瞬間(impulsivity)を検査する。ある期間にわたって近接値プロファイルがそのピークへ非常にゆっくり増大する場合、キーは生成されない。ユーザがキーを作り出すつもりで、指を持ち上げるが、気が変わったような場合、キーを生成することなく上げた指を静かに下ろすことをユーザに許す。タッチ表面が圧縮できる場合、判断ステップ792は、楕円軸長さに対する測定された指先の近接値の比率から指の力をより直接的に推量できる。そして、穏やかな指押圧と故意の押圧とを区別するために、推定された力を閾値として使用することができる。キーを作り出すつもりのとき、ユーザは、通常古いキー領域でリフトオフした後すばやく新たなキー領域で押し下げるので、その瞬間(impulsivity)および力の閾値は、表面から指がリフトオフしてから時間とともに増加する。
【0255】
マルチ−タッチ表面上でタイプマティック(typematic)をエミュレートすることは、指を載せている力がキー領域において支持され保持する力と確かに区別されない場合、特別な問題を提示する。この場合、FIG.43Bのステップにより検出される特別な接触部タイミングシーケンスは、確実なタイプマティック(typematic)エミュレーションをサポートする。判断ステップ798がタイプマティック(typematic)がまだ始まっていないことを見いだすと仮定して、判断ステップ794は、処理されたキー押圧キューエレメントが表面上の最近の指接触部を表すかどうかを調べる。このエレメントによって表された接触部に続く指接触部がある場合、タイプマティック(typematic)は、このキューエレメントから決して始めることができない。その代わりとして、判断ステップ796は、エレメントの指が通常のタップタイムアウトより長くさわっていたかどうかを調べる。指が長い間接触部していた場合、ステップ778は、そのキー押圧エレメントを削除する。なぜなら、判断ステップ786がそれはモディファイアではないと判定し、判断ステップ794がそれは、決してタイプマティックを始めないと判定するからである。判断ステップ794がキー押圧エレメントが最近の接触部を表さないと判定する場合、判断ステップ796は、そのエレメントがタップタイムアウトを上回っていないことを示し、リフトオフまたは今後のセンサアレイスキャンのタイムアウトを待つために、処理がステップ770に戻される。これは、前のキー領域を指がリフトオフする前に、他の指によって新たなキー領域が押圧される、認識における重なりを指タップに許可する。しかしながら、このような一対の重なり合う指タップの押圧時間または離し時間は、共にコードタップとみなされないように、非同期でなくてはならない。
【0256】
指接触部が最近のものであると仮定して、判断ステップ800は、約1秒の半分と1秒との間のタイプマティック保持設定期間(typematic hold setup interval)内に指が接触部していたかどうかを調べる。そうでない場合には、指がリフトオフされ、または、センサアレイの将来のスキャンの間保持準備状態が満たされることを待つために、ステップ770に戻る。保持準備状態が満たされる(met)ときに、判断ステップ802は、キーを押圧する指を含む手のすべての他の指が0.5秒以上前から表面からリフトオフされたかどうかを調べる。それらがそうする場合、ステップ804は、与えられたキー押圧エレメントのためのタイプマティックを初期化する。判断ステップ800およびステップ802の組合せは、タイプマティックを目的として指が接触部するときに、表面上に手の他の指を載せることをユーザに許す。しかし、所望のタイプマティックの指の接触部の0.5秒以内に、他の指が表面からリフトオフしない限り、タイプマティックは、開始しない。そして、表面から他の指がリフトオフされた後少なくとも0.5秒の間、タイプマティックの指が表面に接触部を続けている前にも、タイプマティックは、開始しない。これらの厳しい状態が満たされる場合、キー押圧エレメントは、タイプマティックを開始せず、最終的には、指がリフトオフするときのタップタイムアウト782、または、その後の他の接触部があった場合のタップタイムアウト796によって削除される。
【0257】
ステップ804は、今後のスキャンサイクルの間、エレメントのためにタイプマティックがすでに始まったことを判断ステップ798に示すフラグを単に設定する。タイプマティックな初期化に、ステップ810は、初めてホストインターフェース通信キューにキーシンボルを、反対側の手によって維持されたいかなるモディファイアシンボルとともに送信する。ステップ812は、ステップ808によって今後の参照のために、キーシンボルが送信される時間を記録する。それから、処理は、次の接近画像スキャンを待つためにステップ770に戻る。
【0258】
指がリフトオフされるまで、または、他の指が非同期でタップされるまで、処理は、キーシンボルが再び送信されるかどうかを調べるために判断ステップ798を通過する。ステップ806は、指の近接値に反比例するためにシンボルの繰返し間隔を力学的に計算する。このように、キーは、指が表面上をよりしっかり押圧するように、または、指先のより大きい部分が表面に触れるように、より速く繰り返す。これは、リフトオフの間、指が離れるにつれて、繰り返し間隔がより長くなるので、ユーザが意図するより多く繰り返しを起こす機会を減らす。判断ステップ808は、最後のタイプマティックなシンボル送信時から動的な繰り返し間隔が経過したかどうかを調べ、必要なら、ステップ810において再びシンボルを送信し、ステップ812においてタイプマティックな送信タイムスタンプを更新する。
【0259】
ステップ804においてタイプマティックが開始した後およびタイプマティックが続く間、ユーザに表面上に他の指を載せなおさせることが望ましい。しかし、ユーザは、タッピングなしでそのようにしなくてはならない。まるで他のキーを打とうとするようにユーザが表面上を非同期で他の指をタップする場合、判断ステップ805は、タイプマティックを中止させ、そしてタイプマティックエレメントをステップ778において削除した。これが起こらない場合、判断ステップ782は、タイプマティックエレメントの指がリフトオフした時に、結局それの削除を引き起こす。
【0260】
上記したタイプ入力認識プロセスは、このように、マルチ−タッチ表面に、人間工学的に機械の標準キーボードのタイプ入力および手を載せる機能をエミュレートする。表面上のキレのよいタップまたは衝撃で瞬間的に作用する押圧は、指が離れるか、判断ステップ792がインパルスがピークに達したことを確認するとすぐにキーシンボルを生成し、ユーザに対するプロンプトフィードバックを確実にしている。表面上に載せることを目的とする複数の指は、それらが同期された指押圧または離しサブセットの一部であるか、または、それらが表面にかるく配置され1、2秒の間他の指とともにそこに留まる限り、キーを生成しない。一旦載せると、指は、持ち上がりタップすることができ、または、他の載せてある指を持ち上げる必要なくキーシンボルを生成するために表面上を衝撃で瞬間的に作用するように押圧することができる。キーでの衝撃的な押圧および区別できる力の維持すること、または、手の他の指が持ち上げられている間キー上で指を支えること、のいずれか一方によって、タイプマティックは開始される。複数の単一の指がキー領域をタップするようなそれらのかすめる動作は、多くのカーソル動作が2本以上の指の同期されたスライドによって開始されなくてはならないので、簡単に容認される。
【0261】
発明の他の実施形態は、ここで開示される明細書の考慮および本発明の慣例から当業者にとって明らかである。明細書および実施形態は単に典型例として考慮されることを目的としている。本発明の真の技術的思想は、特許請求の範囲に示される。
【技術分野】
【0001】
発明の背景
本出願は、1998年1月26日に出願された出願番号60/072,509の米国の仮特許出願、および1999年1月25日に出願された出願番号09236513号の米国の通常特許出願に基づいている。
A.発明の技術分野
本発明は、一般には、データを入力するための装置に関し、より詳しくは、本発明は、手操作入力を統合するマルチタッチ表面装置に関する。
【背景技術】
【0002】
B.関連技術の説明
今日では、コンピュータに対してデータおよびコマンドを手操作入力するための多くの手段が使用されているが、各々は、データ入力の特定種類によっては、かなり効率的で使いやすいものである。例えば、ペンまたはパック(pucks)を用いた描画タブレットは、描画、スケッチ、および迅速なコマンド表示行為(ジェスチャ)を行う上で優れている。スタイラスを用いた手書きは、署名(シグニチャ)、特殊記号、または短いテキストを要求する形式に記入するのに便利である。しかしながら、手書きは、タイプ入力や音声入力と比較して、長い文書に対しては手間どる。マウス、指さし(フィンガースティック)、およびタッチパッドは、カーソルの位置指定およびドラッグ&ドロップのようなグラフィックオブジェクト操作をする上で優れている。ローラ、サムホイールおよびトラックボールは、パニングおよびスクロールを行う上で優れている。多くのコンピュータユーザが1日のうちで直面する複数の仕事の多様性は、これら複数の技術の全てを必要としているが、ほとんどのユーザは、複数の入力装置に対して投資しないだろうし、別個独立した装置は、利便性および人間工学的な意味において、相容れないことが多い。例えば、描画タブレットは、グラフィックの専門家にとって必需品であるが、タイプ入力を行うときには、ペンを置くか、指と指との間に不自由な姿勢で挟んで保持しなければならないために、描画とタイプ入力との間の切り替えが不便である。したがって、安価であるうえ、通常の複数の手操作入力技術について簡便な統合を提供する手操作入力装置の技術について長きにわたる要望があった。
【0003】
音声認識は、ユーザの両手の入力負担を幾分か軽減する見込みがある刺激的な新技術である。しかしながら、音声も、全てのデータの種類についての入力に適切であるとはいえない。一般に、音声入力は、長いテキスト文書の書き取り(dictation)に対して最も適している。自然言語認識が十分に成熟し、非常に高水準な音声コマンドがコンピュータによって理解できるようになるまでは、音声は、コマンドやコントロールに対してキーボードのホットキーおよびマウスメニューを超える利点をほとんど有しない。さらに、音声がどんなに良く理解されるようになったとしても、明確な位置指定、描画、およびグラフィックオブジェクトの操作を音声コマンドによって行うことは困難である。したがって、音声入力を補う多機能型の手操作入力装置のための技術における要望は常に存在するであろう。
【0004】
標準的な入力装置の集合のタイプ入力、ポインティング、スクロール、および手書きといった能力を結びつける総括的な手操作入力装置は、装置の専門化を放棄するといった不可避の犠牲よりも重要であることとして、人間工学的、経済的、および生産性の観点からの利点を有していなければならない。総括的な手操作入力装置は、しっかりと統合するものであって、さらに異なる入力の種類をはっきりと区別できなければならない。このため、ユーザは、一の入力の動作状態から他の入力への切り替えの前に、ボタンの押圧、腕の移動、またはスタイラスの持ち上げといった明示のモード切り替え信号を与える必要がないという意味において、ユーザにとってモードレスであることは明らかである。疫学的(Epidemiological)な研究は、反復および加えられる力が、反復的な疲労障害を引き起こすことを増加させることを示唆する。不自由な姿勢、装置を動作させる力、無駄な動き、および繰り返し動作は、人間工学的な改善を図るために最小限化すべきである。さらに、作業負荷は、反復的な疲労を避けるために、全ての利用可能な筋肉の複数のグループに対して均一に分配されるべきである。
【0005】
複雑なマウスの位置指示動作手順を要求する複数のタスクをいくつかのグラフィック操作チャネルに割当てることによって、繰り返し動作を最小化することができる。スクロールバーやスライダーコントロールを認識し操作するというような通常のグラフィカルユーザインタフェース操作は、スクリーンコントロール上のカーソルを再配置するステップを行うことなく直接的にスクロールを行う特定の指操作に比べて効率性が低い。好ましくは、複数のグラフィック操作チャネルは、作業負荷を分配すべく、多くの複数の指および手の動作についての組合せに振り分けられるべきである。エッジスクロールを有するサーク(Cirque)(登録商標)のスマートキャットタッチパット(Smartcat touchpad)、埋め込まれたポインティングスティックを有するIBM(登録商標)のスクロールポイント(ScrollPoint)(商標)マウス、およびギリックらにより米国特許第5,530,455号に記載されるローラマウス(Roller Mouse)などの補助スクロール制御を有するタッチパッドおよびマウスは、この分野において小さな改良を示しているが、数多く頻繁に使用されたカーソル動作手順を省略するのに十分な直接的な操作チャネルは未だに得られない。さらに、S.ザイらは、「ポインティングとスクロールのためのデュアル ストリーム インプット」,CHI議事録 97年予稿集(1997年)(“Dual Stream Input for Pointing and Scrolling”, Proceedings of CHI ’97 Extended Abstracts (1997))において、同時パニング、ズーム、回転を防ぐ上で、2以上の自由度を一度に操作することはこれらの装置では非常にむずかしいことを見出した。
【0006】
過度の動作や繰り返しを減らすための他の一般的な方法は、ユーザが動作を止めたり指を持ち上げたりしない限り、ポインティングまたはスクロールの動作信号を自動的に継続することである。関連する技術手段は、このような動作の継続がなされる条件に応じて分類することができる。米国特許第4,734,685号において、ワタナベは、ポインティング装置の移動の距離および速さが閾値を超える場合に画像パニングを継続するようにしている。自動的なパニングは、ポインティング装置を反対方向へ戻すことにより停止するので、停止には更なる正確な移動を必要とする。ガレスピーらによる米国特許第5,543,591号においては、指を小さいタッチパッドの周囲のエッジ境界領域に入れると、動作の継続が生じる。継続する移動速度は一定であり、その方向はタッチパッドのセンターからエッジにある指へ向かう方向に一致する。継続モードは、指を境界領域から離すか、パッドから持ち上げると終了する。好ましくないことに、ユーザは、時々、カーソル動作の継続を意図しないにもかかわらず、パッドのエッジに指をおくため、予想外な動作の継続に惑わされることになる。ロガンらによる米国特許第5,327,161号は、同様に指が境界領域に入る際に、動作継続することを記述しているが、別のトラックボールエミュレーションモードでは、動作継続は、リフトオフする際の接線方向の指の速さおよび方向の関数とすることができる。動作の継続は、摩擦因子によって止まり、あるいは表面への次の接触部によって停止できる。好ましくないことに、素早く、ディスプレイ上の大きなターゲットに近づく(アプローチする)場合、ユーザは指をリフトオフする前にポインタを完全には静止しないため、リフトオフする際のタッチ速度は、動作継続についてのユーザの要望を正確に示さない。したがって、ユーザが本当にターゲットでポインタ動作を停止するつもりである場合には不意にアクティブとならないが、境界にある時には生じ、または指をリフトオフする間に十分な速度で移動している時には生じるといった動作継続方法を提供することは、当該分野においては進歩である。
【0007】
ポインティング装置に利用(アクセス)するために、手をタイプ入力位置から離す必要のないように、ポインティング装置をキーボードに埋め込む数多くの試みがなされてきた。これらとしては、フランツらによる米国特許第5,189,403号に記載される組み込み型のポインティングキー、「ポインティングのためのフォースツーモーション機能」,ヒューマン―コンピュータ インターラクション―インターラクト90,701〜06ページ(1990年)(”Force−to−Motion Functions for Pointing”, Human−Computer Interaction−INTERACT ´90, pp. 701−06(1990))でJ.ラトレッジおよびT.セルカーによって開示される組み込み型のポインティングスティック、およびサンティリによる米国特許第5,675,361号に記載される位置検出キーなどが挙げられる。それにもかかわらず、これらの装置の限られた移動範囲および解像度は、マウスより低いポインティング速度および精度しかない状態を導き、また、これにより、キーボード構造に機械的な複雑さが付加される。したがって、タイプ入力する手の位置から容易に利用可能であるより高い解像度、より広い移動範囲およびより多くの自由度を有するポインティング方法に対する必要性が当該分野にある。
【0008】
タッチスクリーンおよびタッチパッドは、クリックとして意図されるタッチ面上でのタッピングの際には、指先の接線方向の動きが殆ど生じないことを仮定することによって、ポインティング動作と、エミュレートされたボタンクリックすなわちキー押圧とを区別する。タッピングは、一般的に、表面に対して接線方向への指の動作要素を最小限化して、停止した指の位置から真直ぐ下へ降ろすという仮定は、上記方法に固有のものである。これは、表面が個別の複数のキー領域に分割されていない場合、または、ユーザがキーをたたく前に視覚による検索をおこなって各キーをゆっくり「選択してたたく」場合には、有効な仮定である。例えば、ガレスピーらによる米国特許第5,543,591号では、タッチパッドは、接線方向の全ての動作をカーソル移動としてホストコンピュータに送信する。しかしながら、指が着面した後、1つのタップと見なされるのに十分な程度に早期に離れる場合、および、累積された接線方向の動作が過剰でない場合には、いかなる送信動作も取り消され、代わりにマウスボタンクリックが送信される。この方法は、問題なく取り消されることができるポインティングなどのマウスのコマンドに対してのみ働き、ドラッギングや他の操作に対しては働かない。ロガンによる米国特許第5,666,113号では、約1/16インチ未満の接線方向移動を伴うタップは、小さなキーパッド上での複数のキーをアクティブにする一方、1/16インチを超える接線方向移動はカーソル制御モードをアクティブにする。双方の特許において、指を表面に長時間とどまらせると、カーソルモードが、初期設定(デフォルト)によって呼び出される。
【0009】
しかしながら、大きい複数のキー領域の配列に分割された表面での速いタッチタイプ入力は、関連分野の従来のフィルタリング技術が許容できる以上の接線方向の移動を表面に沿って生じさせる傾向をもつ。配列は、指に直接支配されない複数の行および列のキーを含んでいるので、ユーザは、キー領域の多くに触れるために、手を広げ、あるいは指を突き出さなければならない。指が宙にあるときの素早い伸張動作および突出動作が、表面に指が接触部する際にまだ残り、無視できない接線方向の指の動きを伝えてしまう。表面で測定される接線方向の動きが1/4インチとなるような斜め方向からのタップも容易に生じてしまう。この大きすぎる動きをフィルタリングし、すなわち抑制しようとする試みは、カーソルを鈍く、かつ感度が低いようにしてしまう。さらに、指が表面の一箇所に保持される場合には、ポインティングモードの代わりに、タイプ入力動作、すなわち自動的なキーの繰返しモードに入るようにすることが望ましい。伸張された指で押圧する間、指先の接線方向の移動は、強力なフィルタリングのない場合にカーソルの震えとして受け取られる。したがって、一本の指の接線方向移動よりも確固とした手のコンフィギュレーション(configuration)による合図(キュー)によって、同じ表面上でのキーイングとポインティングとを区別する方法に対する必要性は当該分野において存在する。
【0010】
人間工学的なタイプ入力システムは、キーをタップする力を最小限化し、指のタップと休止している手を容易に区別し、指を表面からの衝撃力から保護することを要求するものでなければならない。機械的およびメンブランのキーボードは、キースイッチのスプリング力に依存して、手をキー上で休ませているときの作動を防いでいる。これは、キー動作の力による疲労を軽減したいという要望と、休止中にキーへの手の全重量をかけてリラックスしたい人間工学的な要望との間に、相容れないトレードオフを生じさせる。タッチ面での力の最小限化は、膜の反発力または表面弾性波検出技術ではなく、指の圧力に依存しない、コンデンサ式、またはアクティブ形オプティカル検出を用いれば可能である。下記で議論されるこの関連する分野のタッチデバイスは、4本の指先、親指、および、おそらく複数のてのひら後部を含む手全体を表面上で休める場合に、取り違えてしまうだろう。したがって、休息している手や表面の緩衝に非厳密である無加力(zero−force)のコンデンサ検出に基づいたマルチタッチ表面タイプ入力システムに対する必要性が当該分野において長い間存在している。
【0011】
人間工学的なタイプ入力システムはまた、個々の手のサイズに適合し、タイプ入力スタイルのバリエーションに寛大であり、さらに自然な手の姿勢の範囲を維持することができねばならない。多くの人間工学的なキーボードが報告されてきたものの、機械的なキースイッチが膨大なコストをかけて位置変更されるのみである。例えば、米国特許第5,689,253号においてハーグリーブズらによって記載される凹形のキーウェルを有するキーボードは、ほとんどの手に良好にフィットするが、ただ一つの位置に両腕を固定しがちとなる。タッチ表面のキーレイアウトは、その変更によってユーザを混乱させない程度に、容易にモーフィングされ、移動され、あるいは任意に再設定されうる。しかしながら、このタッチ表面は、機械的な複数のキースイッチのエッジほど多くの接面方向の触覚的フィードバックを提供しないかもしれない。このように、個々の手の姿勢にフィットするようにキーのレイアウトを改造することができ、かつ、特定された触覚的フィードバックにより手が移動(drift)する場合にタイプ入力精度を維持できる表面タイプ入力認識装置に対する必要性が当該分野に存在する。
【0012】
スタイラスを使用する滑らかなタッチ表面上の手書きは当該分野において公知であるが、他の入力動作中には、スタイラスはどこかに置かれなければならないか、不自由な状態で保持されなければならず、タイプ入力およびポインティングとうまく統合しない。また、スタイラスの手書き動作を指先のポインティング動作と区別することは困難であるかもしれない。したがって、スタイラスを必要とせず、かつポインティング動作と間違われることのない、おおまかな手書き表示行為を行う方法に対する必要が当該分野にはある。
【0013】
上記で引用される入力区別の必要性の多くは、スライドする指の和音的(コード(chord)動作やグリップ等の様々な手のコンフィギュレーションや動作を識別するタッチ検出技術と合致する。多くの機械的なコードキーボードは複数の指からの同時の下方への動作を検出するように設計されてきたが、これらは広い範囲にわたる接面方向の指の動作を検出しない。関連技術は、個々の指を追跡するによってマウスまたはキーボードをエミュレートするコンデンサ型タッチパッドのいくつかの実例を示す。これらは、具体的には、複数行および複数列に配置される伸長された複数のワイヤ間のキャパシタンスを測定する。薄い誘電体が複数行および複数列の層間に介在している。指の存在は、前記電極近くの自己または相互キャパシタンスに変動を起こす。これらの技術の多くは特定の行および列におけるすべての対象物の近接値を一つの電極上で集約する射影式の(projective)列および行センサを使用するものであるので、S.リー、「ファースト マルティプル タッチ センシティブ 入力装置」、トロント大学 マスターシリーズ (1984年)(S. Lee, “A Fast Multiple−Touch−Sensitive Input Device”, University of Toronto Masters Thesis (1984))で論議されるように、2つ以上の対象物の位置を一義的に決定することができない。1つの行に置かれた指先の数をカウントするのがせいぜいであり、親指やてのひらが指先と同じ列に配置されると失敗してしまう。
【0014】
米国特許第5,565,658号および第5,305,017号では、ガーフェイドらは、一セットの複数電極をあるクロック周波数で駆動し、どれくらい多くの周波数が第二の電極セットにカップリングするかを検出することによって行および列電極間の相互のキャパシタンスを測定する。このような同期測定は駆動周波数でノイズを生じる傾向が非常にあるので、信号対雑音比(signal−to−noise ratio)を向上すべく、単一の行および列ではなく、複数の行または複数の列から構成される仮想電極を形成し、様々な相互キャパシタンスがゼロになるあるいは均衡がとれるまで電極の組合せを通してスキャンする。カップリングされた信号は各仮想電極の複数行と複数列との積にしたがって増加するが、ノイズはその加算値にしたがって増加するため、2より多い行および2より多い列から構成される仮想電極に関して、信号対雑音比(signal−to−noise ratio)の正味は増加する。しかしながら、複数の対象物を一義的に識別するためには、仮想電極のサイズを小さくしなければならないので、行および列の仮想電極の交差部分(intersection)は指の先端部、すなわち、約2行および2列以下である。また、信号対雑音比は、大きな範囲をカバーするために行および列の長さが増加するに従って低下してしまう。
【0015】
米国特許第5,543,591号、第5,543,590号および第5,495,07号において、ガレスピーらは、それぞれ、行および列の電極に関する電極−指の自己キャパシタンスを測定する。全電極キャパシタンスは、既知の時間内に既知の電荷量を注入または除去することによって生じる電極電圧の変化を測定することにより評価される。各電極がそれ自身のドライブ/センス回路を有する場合には、すべての電極を同時に測定することができる。全ての行および列の複数の電極信号から計算される重心は、単一の対象物に対して補間された垂直および水平位置を確立する。この方法は、通常、同期方法より高い信号対雑音比を有するが、信号対雑音比は行および列の長さが増大するにつれて、減少していく。信号対雑音比は、パッドより上に数ミリメーター浮かせている対象物を正確に位置付けるために特に重要である。この方法はこのような対象物を検出できるものの、その位置がパッドの中間付近であると報告する傾向があり、またはエッジ付近に浮いている対象物を検出しない。
【0016】
したがって、低い信号対雑音比、および、長い行および列の複数電極を有するタッチパッドにおける複数指の識別が不可能といった問題を有さないキャパシタンス検出装置に対する必要性が当該分野にはある。
【0017】
ボイエらによる米国特許第5,463,388号は、キーボードあるいはマウスの入力のいずれかに適用できるコンデンサ型検出システムを有するが、同時に双方のタイプの入力を統合する問題を考慮していない。彼らは配列されたユニットセルの複数電極を個別に検出できると言及するものの、そのキャパシタンス変換回路は各電極で経済的に模造されるにはあまりにも複雑であると考えられる。したがって、信号処理回路を遠隔制御するために複数電極に接続されている長いリードワイヤは、ノイズを拾い、指−電極自己キャパシタンス(finger−electrode self−capacitance)と比較して大きなキャパシタンスを有し、さらに、信号対雑音比を制限するであろう。また、彼らは、複数の指を追跡(tracking)するための独立した複数電極の重要性を認識していないか、すなわち、どのようにして、複数の指を独立した電極アレイ上で追跡するかについて言及していない。
【0018】
リーは、32行および64列で配列される7mm×4mmの金属電極を備えた初期のマルチタッチ電極アレイを作製した。「初期のマルチプル−タッチ−センシティブインプットデバイス(Fast Multiple−Touch−Sensitive Input Device FMTSID)」の全作動面積は12インチ×16インチであり、電極から指を絶縁するために0.075mmマイラー誘電体を備える。各電極は、行を充電させるためのラインに接続される一のダイオード、および列を放電させるためのラインに接続される第二のダイオードを有していた。電極のキャパシタンス変化は、単独に測定されるか、あるいは、矩形状の複数グループでは、1またはそれ以上の行ラインで電圧を上げて、これらの複数行で複数電極を選択的に充電し、選択された列の放電抵抗を介してグランドに放電するタイミングを計ることによって測定された。リーの設計は1電極に対して2つのダイオードを必要とするのみであるが、列のダイオードの逆バイアスキャパシタンスが同じ列の複数電極間で干渉(interference)を起こすことがLeeの設計の主な欠点である。
【0019】
上記で列挙されたすべての関連するキャパシタンス検出技術は、経済的な電極密度であって高ポインティング解像度を達成するために複数電極間で補間法を利用するものである。ボイエらおよびガレスピーらは、すべての行および列の電極の読みからの重心計算を論議している。しかしながら、複数指の検出のためには、重心計算は、一度に一本の指だけを含むように極大付近に慎重に限定されなければならない。リーは、極大を見出すために二分的な(bisective)検索技術を利用し、さらに各極大電極の8つの最も近い近傍電極だけに補間する。これは、小さな指先では良好に作動するが、親指やてのひらの接触部は9つを超える電極をカバーしてしまうかもしれない。したがって、それぞれ区別可能な手の接触部によってカバーされる複数電極を正確にグループ化するための改良された手段に対する必要性が当該分野において存在する。
【0020】
マルチ−タッチ表面検出の最大利点を享受するためには、ある一時期に表面と接触部する手の複数の部分を追跡し、識別するために複雑な近接画像処理を行うことが必要である。明度の変化やバックグランドにおける付着した複数の対象物によって整理され、近接画像は、パッシブ光学画像と比較して、肉体がどこで表面に触れているかを明確に示す。このようなに、近接画像のフィルタリングおよび分割段階は、S.アーマダ,「使用可能なリアルタイム3次元手追跡」 第28回アシドマーコンフアレインス予稿集 信号,システム,およびコンピュータ―Part2,vol.2,IEEE(1994年)(S. Ahmad, “A Usable Real−Time 3D Hand Tracker”, Proceedings of the 28th Asilomar Conference on Signals, Systems, and Computers − Part 2, Vol. 2, IEEE (1994) )、またはY.クイおよびJ.ワン,「手のサイン認識のための予測および照合に基づく学習を利用した手の分割」,1996年 IEEE コンピュータビジョンおよびパターン認識についてのコンピュータ学会コンフィデンス、予稿集第88〜93頁(1996年)(Y. Cui and J. Wang, “Hand Segmentation Using Learning−Based Prediction and Verification for Hand Sign Recognition”, Proceedings of the 1996 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp.88−93 (1996) )等の自由空間の手追跡に関するコンピュータビジョン法に比べてより簡単でかつより信頼性が高い。しかしながら、指関節間の中間部分やてのひら中央部などの手の複数部分は、手が表面に対して平らになっていない場合には、コンデンサ型の近接画像をまったく明示しない。指先とてのひらとの間のこれらの中間連結部分を含まない、全体的な手の構造が推定できるだけであり、手の接触部の識別は非常に困難である。このため、F.クエック「妨げのないゲスチュラルなインタラクション」 IEEE マルテ画像ア,vol.3,33〜47頁(1996年)(F. Quek, “Unencumbered Gestural Interaction”, IEEE Multimedia, vol.3, pp.36−47 (1996))などによる自由空間の手によるサインランゲージの認識に適用された光学フローおよび輪郭線追跡技術は、近接画像追跡の特別な問題を扱わない。
【0021】
シナプティクス社(Synaptics Corp.)は、硬質回路基板ではなく可撓性のあるマイラーフィルムで電極アレイを製作するのに成功した。これは、特別な製品の輪郭(contours)を一括成型(conforming)するには適しているが、大きな表面のための十分な指の緩衝材を提供するものではない。緩衝材がフィルムの下に配置された場合でさえ、フィルム、リード線および電極の伸縮性の欠如が圧縮材料によって得られる応答性(コンプライアンス)を制限する。ボイエらは、電極アレイの上面に圧縮材料を載せることによって指の衝撃を緩和することを示唆する。しかしながら、およそ1mm厚を超える絶縁体は、測定される指−電極キャパシタンスをかなり減らす。したがって、任意の厚さの緩衝材を通して指のキャパシタンスの影響を与えるための方法に対する必要性が当該分野において存在する。
【発明の概要】
【発明が解決しようとする課題】
【0022】
本発明の第一の目的は、タイプ入力、多自由度操作およびマルチ−タッチ表面での手書きなどの様々な種類の手操作入力を統合するシステムを提供することである。
【0023】
本発明の目的はまた、ユーザが学習しやすく、システムが認識しやすい、異なる手のコンフィギュレーションを通じて、タイプ入力、多自由度操作およびマルチ−タッチ表面での手書きなどの様々な手操作入力の種類を識別するシステムを提供することである。
【0024】
本発明のさらなる目的は、任意の大きさおよび解像度を有する2次元のセンサアレイが信号雑音比を減少させることなく作製できるように各電極付近に安価に備えられる改良されたキャパシタンス変換装置を提供することである。
【0025】
本発明のさらなる目的は、様々な手のコンフィギュレーションを識別できるような解像度を有する近接画像を得るのに必要な検出電極の数を最小限にする電子システムを提供することである。
【0026】
本発明のさらなる別の目的は、適合しやすく、また拡張された用途で快適かつ人間工学的であるように形状をつけられるマルチ−タッチ表面装置を提供することである。
【0027】
本発明のさらなる別の目的は、表面、すなわち平面上で手を休ませること、表面を正確にスライドすることを妨げることがない触覚キーおよび手位置のフィードバックを提供することである。
【0028】
本発明のさらなる目的は、様々な手のコンフィギュレーションを識別できるような解像度で、センサアレイに近接する人体表面の画像を提供できる電子システムを提供することである。
【0029】
本発明の他の目的は、様々な手のコンフィギュレーションを認識でき、様々な種類の入力動作を識別するために使用できるように、表面と接触する様々な手の部分を識別することである。
【0030】
本発明のさらなる他の目的は、2次元の電子文書のナビゲーションおよび操作を補助するために2以上の手の接触部の動きから並進自由度のみならず、回転および拡大縮小についても高い信頼性をもって抽出することである。
【0031】
本発明のさらなる目的は、3次元の環境のナビゲーションおよび操作を補助するために手の圧力差から傾斜および回転自由度を高い信頼性をもって抽出することである。
【課題を解決するための手段】
【0032】
本発明のさらなる目的および利点は、下記の説明中に記載されており、一部は説明から自明であり、または本発明の実施によって習得される。本発明の目的および利点は、特に添付の請求項で指摘される構成要素および組合せによって実現され、達成される。
【0033】
上記目的をさらに達成するために、タッチ対象物の様々なコンフィギュレーションおよび動きを検出して電子装置または電気機械装置への入力信号を生成するマルチタッチ表面装置であって、当該装置は、1つの硬質または軟質な表面と、前記表面に二次元に配列され、タッチ対象物の近接値の変化によってもたらされるキャパシタンスの変化を感知可能な検出装置と、前記検出装置のアレイからデジタル近接値画像を形成する走査手段と、前記近接値画像から背景オフセットを除去する校正手段と、前記近接値画像を作り上げるタッチ対象物のコンフィギュレーションおよび動きを解釈する認識手段と、個々のタッチ対象物のコンフィギュレーションおよび動きに応答して入力信号を生成する処理手段と、前記入力信号を前記電子装置または電気機械装置に送信する通信手段と、を有する、マルチタッチ表面装置である。
【0034】
また、本発明においては、前記マルチタッチ表面装置は表示装置の上に組み立てられまたは表示装置と統合される。
【0035】
また、本発明においては、前記表示装置は、1つの液晶ディスプレイ(LCD)または発光ポリマーダイオード(LPD)を有する。
【0036】
また、本発明においては、前記マルチタッチ表面装置は、手のコンフィギュレーションの視覚インディケータを含む。
【0037】
また、本発明においては、前記マルチタッチ表面装置は、手のコンフィギュレーションの音声生成装置を含む。
【0038】
また、本発明においては、前記タッチ対象物の前記画像は、前記複数の検出装置に対応した複数の画素からなる。
【0039】
また、本発明においては、前記認識手段は、前記画像を前記タッチ対象物に応じて1つ以上のグループに前記複数の画素を分ける。
【0040】
前記複数の検出装置は2次元アレイ状に配列されており、前記認識手段は2次元アレイ状の検出装置を参照して前記タッチ対象物の位置および動きを決定する。
【0041】
上述した一般的な説明および後述する詳細な説明は、例示および説明に役立つものであり、請求の範囲の発明を限定するものではないことは理解される。
【図面の簡単な説明】
【0042】
【図1】FIG.1は、統合された手操作入力装置のブロック図である。
【図2】FIG.2は、電圧増幅器を有する近接センサの略図である。
【図3】FIG.3は、集積化された電流増幅器を有する近接センサの略図である。
【図4】FIG.4は、電界効果トランジスタを備えた近接センサの略図である。
【図5】FIG.5は、近接センサの二次元アレイを与えるのに使用される際の近接センサの略図である。
【図6】FIG.6は、全ての複数のセンサが同じ増幅器を共有する際の近接センサの二次元アレイに関する具体的なアーキテクチャを示すブロック図である。
【図7】FIG.7は、近接センサの出力をデジタルコードに変換するために使用される回路のブロック図である。
【図8】FIG.8は、一行内の複数のセンサが同じ増幅器を共有する際の近接センサの二次元アレイに関する具体的なアーキテクチャを示すブロック図である。
【図9】FIG.9が、(複数列に配列される)一つのグループ内のすべての近接センサの出力ゲート制御を可能にするのに有用な回路の略図である。
【図10】FIG.10は、非導電性タッチ対象物により加えられる圧力に感受性のある二次元近接センサアレイの側面図である。
【図11】FIG.11は、空間的感度を失わずに可撓性のある表面を提供する二次元近接センサアレイの側面図である。
【図12】FIG.12は、導電性タッチ対象物の近接と非導電性タッチ対象物によって加えられる圧力の双方に感受性のある二次元近接センサアレイの側面図である。
【図13】FIG.13は、指を伸張して手を表面で平らにした近接画像例である。
【図14】FIG.14は、指先を表面で自然な状態にして手を部分的に閉じた近接画像例である。
【図15】FIG.15は、親指と人さし指を締め付けたペングリップ形態の手の近接画像例である。
【図16】FIG.16は、手の追跡および接触部識別システムのデータフロー図である。
【図17】FIG.17は、手の位置推定のフローチャートである。
【図18】FIG.18は、近接画像の分割のデータフローダイアグラムである。
【図19】FIG.19は、電極グループ構成の際の境界検索パターンの図である。
【図20】FIG.20Aは、両手を表面上のデフォルト位置にニュートラルに置いた場合の分割厳密領域の図であり、FIG.20Bは、両手を非対称の位置に置いた場合の分割厳密領域の図であり、FIG.20Cは、右手を表面の左半分を交差させ、かつ左手は表面から離した場合の分割厳密領域の図である。
【図21】FIG.21は、分割エッジテストのフローチャートである。
【図22】FIG.22は、持続型経路追跡のフローチャートである。
【図23】FIG.23は、手部分識別アルゴリズムのフローチャートである。
【図24】FIG.24は、手部分のアトラクター点付近で描かれるボロノイセル図(Voronoi cell diagram)である。
【図25】FIG.25Aは、接触部方向に対する右の親指、右の内側のてのひら、および左の外側のてのひらに関する方向重み付けファクターのプロットであり、FIG.25Bは、接触部サイズに対する親指のサイズファクターのプロットであり、FIG.25Cは、接触部の偏心に対する全接触部近接値の比に対するてのひらのサイズファクターのプロットであり、FIG.25Dは、接触部位とそれに最も近い接触部位間の距離に対するてのひらの分離ファクターのプロットである。
【図26】FIG.26は、親指の存在を検証するアルゴリズムのフローチャートである。
【図27】FIG.27は、別の手部分を識別するアルゴリズムのフローチャートである。
【図28】FIG.28は、ペングリップを検出するプロセスのフローチャートである。
【図29】FIG.29は、手を識別するアルゴリズムのフローチャートである。
【図30】FIG.30A〜Cは、表面接触部の固定された配列のための3種の異なる手の分割の推測を示すものである。
【図31】FIG.31Aは、水平方向の手の速度に対する手の握る方向ファクターのプロットであり、FIG.31Bは、最も外側の次の指に対する最も外側の指の垂直方向位置に対する左右像ファクターのプロットであり、FIG.31Cは、手内のてのひら接触部間の最大水平方向距離に対するてのひらの結合ファクターのプロットである。
【図32】FIG.32は、最も内側の指と最も内側の次の指との接触部間の角度に対する内側の指の角度ファクターのプロットであり、FIG.33は、右の親指と左の親指との間の推定距離に対する内側―手の分離ファクターのプロットである。
【図33】FIG.33は、右の親指と左の親指との間の推定距離に対する内側―手の分離ファクターのプロットである。
【図34】FIG.34は、手の動作要素抽出のフローチャートである。
【図35】FIG.35は、手を縮めるときの具体的な指の軌跡の図である。
【図36】FIG.36は、半径方向および角度方向の手の速度抽出のフローチャートである。
【図37】FIG.37は、並進方向の手の速度要素抽出を示すフローチャートである。
【図38】FIG.38は、差分をとった手の圧力抽出のフローチャートである。
【図39A】FIG.39Aは、指の同期検出ループのフローチャートである。
【図39B】FIG.39Bは、コードタップ検出のフローチャートである。
【図40A】FIG.40Aは、コード動作認識ループのフローチャートである。
【図40B】FIG.40Bは、コード動作イベント生成のフローチャートである。
【図41】FIG.41は、キーのレイアウトモーフィングのフローチャートである。
【図42】FIG.42は、キー押圧検出ループのフローチャートである。
【図43A】FIG.43Aは、キー押圧受容および伝送ループのフローチャートである。
【図43B】FIG.43Bは、タイプ的なエミュレーションのフローチャートである。
【発明を実施するための形態】
【0043】
好ましい実施態様の説明
ここで、本発明の好ましい実施態様について詳細に言及するが、下記実施形態は添付図面で詳細に説明される。可能な場合では、同じ参照番号は、同様のまたは類似の部分を意味するものとして図面にわたって使用される。
【0044】
FIG.1は、統合された手操作入力装置の全体のシステムブロック図である。マルチ−タッチ表面2に埋め込まれたセンサは、表面2への、平らにされた手4の全体、指先、親指、てのひら、および他の導電性タッチデバイス(これらがタッチ対象物である)の近接を検出する。好ましい実施態様によると、表面は両手4を快適に載せるのに十分大きく、前腕の回内運動を抑制するようにアーチ状になっている。
【0045】
別の実施態様によると、マルチ−タッチ表面2は、一方の手の動作に適応するのに十分な大きさであるが、肘掛けまたは衣服にフィットすることができるように可撓性を有していてもよい。
【0046】
電子スキャンハードウェア6は、制御およびセンサアレイの各近接センサからの読み込みを行う。校正モジュール8は、センサアレイの全体の走査(スキャン)によって未加工の近接画像を形成し、バックグランドのセンサオフセットを取り除く。バックグランドのセンサオフセットは、単純には、表面に接触部するものがない場合に取得される近接画像とすることができる。
【0047】
次に、オフセット修正された近接画像は、接触部追跡および識別モジュール10上に移される。そこでは、識別可能な手の複数の表面接触部に画像を分割し、連続する画像を通じた接触部が移動するにつれて、その接触部を追跡し、識別する。
【0048】
識別された接触部の経路は、手のコンフィギュレーションを識別し、検出された手の動作に応答するソフトウェアアルゴリズムを含んでいる、タイプ入力認識モジュール12と、指同期検出モジュール14と、動作要素抽出モジュール16と、ペングリップ検出モジュール17とに移される。
【0049】
タイプ入力認識モジュール12は、同じ手の他指の動作に多くは同期しない複数の指の素早い押圧およびリフトオフに反応する。各指のタップ位置に最も近くにあるキー領域を検出され、その最も近くにあるキー領域に関連キーシンボルまたはコマンドが通信インタフェースモジュール20へ転送される。
【0050】
指同期検出モジュール14は、複数の指のサブセットの同時の押圧および離しに対して一つの手の指動作をチェックする。このような同時の動作が検出されると、同期するサブセットに含まれる指のキーストローク処理を無視、すなわち、キャンセルするようにタイプ入力認識器に信号を送る。また、同期サブセットにおける指識別の組合せでは、コード動作認識器18に進む。
【0051】
動作要素抽出モジュール16は、手の移動、手首を中心とした手の回転、手を握り締めることによる手の大きさの変化、および手の傾きの違いなどといった、表面2上での容易に実施可能な手操作中における個々の指の動作制御の多自由度を計算する。
【0052】
コード動作認識器は、同期検出器14により識別された同期して動く複数の指のサブセットと、16で抽出される動作の方向および速度の双方とに依存するコードタップ(chord tap)または動作イベントを生み出す。次に、これらのイベントは、ホストの通信インタフェース20に送られる。
【0053】
ペングリップ検出モジュール17は、手がペンを握るようなコンフィギュレーションをとることを示す識別される手の接触部の特定配列をチェックする。このような配列を検出すると、ホストの通信インタフェース20への署名イベント(inking events)として指の握りの動作を転送する。これらの署名イベントは、描画若しくは署名を補うために、ホストコンピューターディスプレイにデジタル署名を行い、さらに、当該分野において既知の手書き認識ソフトウェアによって判断を行うこともできる。各々の上記モジュールの詳細な段階は以下にさらに記載する。
【0054】
ホスト通信インタフェースは、単一の時間列のタイプ入力認識器12およびコード動作認識器18の双方からの複数のイベントを維持し、イベントをホストコンピュータシステム22に送信する。インタフェース20およびホストコンピュータシステム22間の通信の方法は、ホストコンピュータの機能および処理力によって非常に広範に変化しうる。好ましい実施態様によると、通信は、アップルデスクトップバス(Apple Desktop Bus)、PS/2キーボード(PS/2 keyboard)およびPC用のマウスプロトコル、またはユニヴァーサルシリアルバス(Universal Serial Bus)(USB)などの工業上標準的なプロトコルを介したコンピュータケーブルで行うことができる。別の実施態様によれば、モジュール10〜18のソフトウェア処理をホストコンピュータ22内で行ってもよい。マルチ−タッチ表面装置は、近接センサアレイ6をスキャンし、近接画像8を形成し、さらにこれらを無線のネットワークでホストコンピュータに圧縮、送信するのに十分なハードウェアを含むだけでよい。さらに、ホスト通信インタフェース20は、ホストコンピュータ上でデバイスドライバの役割を果たし、ホストコンピュータシステム22上に存する他のアプリケーションへの入力として、近接画像認識プロセスの結果を伝達する。
【0055】
好ましい実施態様によると、ホストコンピュータシステムは、手および指4がグラフィックオブジェクトをディスプレイスクリーン上で操作できるように、ビジュアルディスプレイ装置24に出力する。しかしながら、他の実施形態では、ホストコンピュータは、オーディオディスプレイに出力し、あるいは、ロボットのような機械を制御することができる。
【0056】
「近接値」という用語は、指のようなタッチデバイスと表面2との間の距離または圧力に関してのみ使用することとし、隣接する指間の距離に関しては使用しないものとする。「水平」および「垂直」は、表面内のxおよびy軸方向を指す。また近接値測定は、前記表面に垂直なz軸方向への圧力として解釈される。「内側」方向は、与えられた手の親指へ向かう方向を意味し、「外側」方向は、与えられた手の小指に向かう方向を意味する。本説明のために、親指は、特記がなければ指とみなされるが、指先とはみなされない。「接触部」は、表面に触れ、現在の近接画像に表れている際の手の部分に対して、および、それを表すグループおよび経路データの構造に対して、一般的な用語として使用される。
【0057】
FIG.2は、導電性を持った電極33にタッチデバイス38が近接値に依存した電圧58を出力する装置の略図である。近接検出装置は、共通ノード48を持つように直接に相互接続された2つの電気的スイッチング手段30と31、入力ノード46、および出力ノード45とを有する。薄い誘電体材料32は、共通ノード48に電気的に接続された検出用の電極33を覆っている。略一定の電圧を供給する電源34は、基準グランドと入力ノード46との間に接続されている。2つの電気スイッチ30および31は、電源34から積分コンデンサ37にいたる電荷の流れをゲート制御する。積分コンデンサ37の両端の電圧は、ハイインピーダンスの電圧増幅器35により異なる電圧に変換される。積分コンデンサ37の電極は、電気スイッチ36を閉じることによって、積分コンデンサの両端の電圧がゼロになるまで、放電される。電気スイッチ30および31は、順番に開閉されるが、FIG.2に示されるように同時に開かれることはあるものの、決して同時には閉じられることはない。電気スイッチ30は、入力スイッチと称し、電気スイッチ31は、出力スイッチと称し、電気スイッチ36は短絡スイッチと称する。
【0058】
FIG.2に示される接近検出装置は、特有のシーケンスで電気スイッチ30、31および36を開閉することによって動作し、その後で、タッチデバイス38の近接値に依存して増幅器58から出力される電圧が記録される。センサの動作は、FIG.2に示されるように全てのスイッチが開いた状態で開始される。そして、短絡スイッチ36は、積分コンデンサ37に残っている電荷を低レベルに減らすために十分に長い間、閉じられる。そして、短絡スイッチ37が開かれる。入力スイッチ30は閉じられ、その結果、入力スイッチ30の両端の電圧がゼロになるまで、電源と共通ノード48の間に電荷が流される。電荷Qは、次式にしたがって、検出電極33上に蓄積することになる。
【0059】
【数1】
ここで、Vは電源34の電圧であり、eは、誘電体である検出電極の被覆32および当該被覆とタッチデバイス38間の空隙の誘電率であり、Dは、この誘電体領域の厚さであり、Aは、タッチデバイス38と検出電極33とのオーバーラップ領域の面積である。このように、検出電極33に蓄積される電荷量は、とりわけ、タッチデバイス38と検出電極33とのオーバーラップ領域の面積、およびタッチデバイスと検出電極33との間の距離に依存する。入力スイッチ30は、その両端電圧がゼロになるか、ゼロに近くなった後に、開かれる。入力スイッチ30が開かれた直後に、出力スイッチ31は、その両端電圧がゼロに近くなるまで閉じられる。出力スイッチ31を閉じることによって、検出電極33と積分コンデンサ37の間に電荷が流され、その結果、積分コンデンサ37の両端電圧の変化は、以下のようになる。
【0060】
【数2】
ここで、VCは、出力スイッチ31が閉じられる前の積分コンデンサ37の両端電圧であり、Cは積分コンデンサ37のキャパシタンスであり、AとDは、式1で示したように、入力スイッチ30が閉じられたときの値と同じである。上記のように入力30および出力31という複数のスイッチを複合的に切り替えることは、タッチデバイス38と検出電極33との近接値を反映した積分コンデンサ37の電圧を発生させる。
【0061】
FIG.3Aは、短絡トランジスタ36および電圧―電圧変換装置35が、それぞれ抵抗40および電流―電圧変換装置41に置き換えられている近接センサの概略図である。FIG.2に示されるコンデンサ37の積分機能は、近接センサのこのバリエーションでは、FIG.3Aに示されるコンデンサ39によって実行される。近接センサのこのバリエーションが、抵抗40の相対的な値に依存して、複合型の入力および出力スイッチからの出力より線形性が高い出力58を導くことは、当業者に明らかである。二者択一的に、抵抗器40は短絡スイッチ69(参照FIG.3B)に置き換えられることによって、線形性が改善される。FIG.3に示された回路は、FIG.2に示された回路よりも、線形な出力を形成することができるが、FIG.2の回路は一つの電源だけしか要求しないのに対して、FIG.3の回路は、一般的には、2つの電源を要求する。
【0062】
FIG.2に示される電気スイッチは、ディスクリート、集積型、薄膜型、厚膜型、ポリマー型、オプティカル型などの様々なトランジスタ技術によって実現できる。一つの装置がFIG.4に示されており、ここでは、電界効果トランジスタ(FET)が入力30、出力31、および短絡スイッチ36として使われている。FETは、ゲート端子(43、44および55)に印加される電圧によって、オンおよびオフが切り替えられる。本説明においては、ゲート電圧が論理1の場合には、FETはオンに切り替えられ、そのゲート電圧が論理0の場合には、オフに切り替えられるものとする。コントローラ42は、FIG.4Bに示すように時間の関数に応じてゲート電圧を印加するために使用される。この例では、3つのパルス対(43および44)のシーケンスが入力および出力トンジスタのゲートに印加される。パルス43と44との一対の各々は、式2に示された積分コンデンサ37の両端の電圧変化を生じさせる。入力43および出力44ゲートに印加されるパルス対の数は、所望する積分コンデンサ37の両端の電圧値に依存する。代表的な応用例では、その数は、1から数百の間パルス対である。
【0063】
FIG.5は、マルチタッチ表面システムにおける近接センサのアレイを有するシステムでの使用に適した近接センサ回路構成を示す。近接センサ47は、入力トランジスタ30と、出力トランジスタ31と、検出電極33と、検出電極33用の誘電体被覆32と、導電線43、44、45および46とから構成されている。近接センサ47が、密に詰め込まれるとともに同一の導電線を分け合うことができる二次元(2D)アレイを有することが可能なように導電線が配置されており、その結果、システムにおいて必要な線の数を減らす。FIG.6は、全ての近接センサの入力ノード46が相互に接続されるとともに電源34に接続されているシステムの例を示している。全ての近接センサの出力ノード45は、互いに接続されるとともに、1つの積分コンデンサ37、1つの短絡トランジスタ36、および1つの電圧―電圧増幅器35に接続されている。この装置において、一つの近接センサ47は、最初に入力ゲート43に対し、それから出力ゲート44に対して、論理1を一度に加えることによって、使用可能(イネーブル)にされる。一つの近接センサ47のゲート制御は、入力ゲートコントローラ50および出力ゲートコントローラ51によって、一つずつ行うことができる。例えば、右下の角部にある近接センサ47を使用可能にするために、入力ゲートコントローラ50は、導電線43a上へ一つの論理パルスを出力する。これに次いで、導電線44h上の一つの論理パルスが出力ゲートコントローラ51によって生成される。FIG.4Bに示されるようなこのパルスの繰り返しは、電荷を積分コンデンサ37に蓄積させ、対応する電圧を増幅器58の出力として発生させる。近接センサ47のアレイの全ては、このようにして一度に一つのセンサを使用可能にすることによって走査される。
【0064】
FIG.7Aは、近接センサ出力58を、コンピュータによって処理するのに適当なデジタルコードに変換するのに役立つ典型的な回路の概略図である。近接センサ出力58は、タッチデバイス(例えば、FIG.2の38を参照)が近くに存在しない場合であっても、典型的にはゼロにはならない。このゼロとならない信号は、近接センサの共通ノード48に存在する寄生または浮遊容量によるものであり、相対的に一定値をとる。センサ出力58をデジタルコードに変換する前に、このゼロではないバックグランド信号を除去することは望ましい。これは、格納されているバックグランド信号68の記録値をセンサ出力58から差し引くための差動アンプ64を用いることによってなされる。この結果の差分信号65は、K−ビットのコード66を生成するADC(アナログデジタル変換機)60によってデジタルコードに変換される。格納されているバックグランド信号は、まず、タッチデバイスが近くにない状態で近接センサ47(FIG.6)のアレイにおいてサンプリングすることで記録され、それぞれの近接センサ47毎に特定されたデジタルコードを格納している。各近接センサのバックグランド信号に対応する特定のコードは、メモリ装置63へのM−ビットのアドレス入力70によって選択され、DAC(デジタルアナログ変換機)61に入力される。
【0065】
FIG.6に示される近接センサ47の二次元(2D)アレイは、アレイ全体を走査する速度を改善するために、複数あるグループ毎に接続されることができる。これは、複数の近接センサの複数の列としてグループが割当てられているFIG.8に図示されている。この処理において、FIG.6のように、近接センサの入力ノードは、相互に接続されるとともに、電源34に接続される。出力ゲート44もまた同様に接続されることができる。しかしながら、入力ゲート43は、この場合は、全てが互いに接続されており、出力ノード45は、一つの行にある近接センサ47でのみ接続されるとともに、振り分けられた電圧増幅器35に接続される。この接続方法によれば、1つの列に含まれる全ての近接センサは、同時に使用可能となり、この結果、アレイを走査する時間をファクターNだけ軽減することができる、ここで、Nは、1つのグループあたりの近接センサの数である。出力58a〜hは、それぞれに振り分けられたFIG.7Aに示されるような変換回路に接続されるか、二者択一的に、各出力58a〜hは、FIG.7Bに示される回路を用いて一度に変換される。本図において、各グループ58a〜hからの各出力信号は、一つずつマルチプレクサ62により選択されて差動アンプ64の正入力側に加えられる。この後者の方法では、ADC60の変換時間がセンサイネーブル時間よりも早いことが仮定されており、この結果、センサアレイの走査において十分なスピードアップが実現される。
【0066】
FIG.9は、近接センサの出力ゲート44の制御に役立つ代表的な回路を示している。この回路は、3つの入力信号75,76,78、および2つの出力信号44,77から構成されている。ANDゲート79への入力の双方ともが論理1である場合、出力ゲート信号44は、論理1であり、そうでなければ、論理0のままである。入力信号76が論理1である場合に、入力信号78が論理0から論理1に変化するとき、ANDに入力される信号77は論理1となり、そうでなければ、論理0のままである。このような回路81の線形アレイは、FIG.8に示されるように近接センサの一つのグループを一度に使用可能とするために、端部と端部とが接続しておくことができる。
【0067】
FIG.10は、マルチタッチ表面に接触部する非導電性の接触部対象物(例えば、手袋をはめた指)によって与えられる圧力に対して感受性が高いシステムとすることができるマルチタッチ表面89用の被覆を示している。この被覆は、変形可能な誘電体タッチ層85、変形可能な電導層86、および、応答性に富む誘電体膜87を有している。タッチ表面85は、特定の応用に適するように、その上に記号のセットが印刷されており、この表面は、剥がしたり、異なる記号のセットを備えた他のものに置き換えたりすることができる。電導層86は、近接センサの電源34の基準グランドに電気的に接続88されている。タッチ対象物が、上表面85を押圧する場合には、タッチデバイスの下側にある電導面86が、近接センサの検出電極33に近づくように移動する。これは、検出電極33に蓄積されている電荷量の変化をもたらし、この結果、タッチ対象物の存在を検出することができる。蓄積されている電荷の量は、タッチ対象物によって加えられる圧力に依存する。より圧力が高くなると、式1に示されるようにより多くの電荷が蓄積される。
【0068】
より柔らかいマルチタッチデバイスのタッチ面を得るためには、さらに厚く、より応答性の高い誘電体被覆を使用することができる。しかしながら、誘電体の厚さが、増加するのにしたがって、空間的な分解能が低下するといったマルチタッチデバイスタッチ面の効果が助長される。応答性の高い異方性の導電性を備えた材料は、柔らかいタッチ面を提供しつつ、この好ましくない効果を防止するために使用することができる。FIG.11は、応答性の高い異方性電導材料90を薄い誘電体被覆85と検出電極33との間に配置した場合の被覆を示している。応答性の高い材料90の導電性方向が、主として垂直方向に向いている場合には、表面85上のタッチデバイスによって形成される画像は、検出電極33を大きく広げることなく並進され、この結果、応答性の高いタッチ面を提供しつつ、空間分解能を維持する。
【0069】
FIG.12は、近接値およびタッチデバイスの圧力の双方を検出するマルチタッチ表面の断面を示している。タッチ層85は、タッチデバイスを検出電極33から隔てる薄い誘電体である。近接値の検出は、この表面に対してなされる。電極33と、付加されるスイッチおよび導体とは、硬質の金属ベース92に取り付けられた応答性の高い材料89の上に形成される。金属ベース92は、近接センサの電源34の基準グランドに電気的に接続88されている。タッチデバイスがタッチ表面85を押圧する場合、検出電極33は、下方へ動き、硬質の金属ベース92に近づく。移動する距離は、加えられる圧力に依存し、この結果、上述したように、タッチデバイスによって加えられる圧力を検出することができる。
【0070】
近接画像が現れるような手の接触部の標準的な性質を説明するために、FIG.13〜15は、平行四辺形の電極のプロトタイプのアレイによって取得されたサンプル画像を含んでいる。各々の電極の陰影は、肉体が表面に近づいたり、手の押圧によって表面に対する圧力が加わったり、および、平行四辺形に対して完全に重なるのにしたがって、高くなる近接値の信号を示すように、濃淡づけをしている。手書きの認識のような一定の応用の場合には、これらのサンプル画像での電極サイズで示されるものよりも、さらに精密な電極アレイが明らかに要求されることから、これらの画像の解像度は、本発明の範囲を限定するためのものではないことに留意する。以下の説明において、一定の走査サイクル時間の間に一つの電極によって測定される近接値データは、その走査サイクルにおいて取得される近接画像の1つの「ピクセル」を構成する。
【0071】
FIG.13は、指を広げて表面に対して平らにされた右手を示している。遠く離れたところに、約120度位置がずれる傾向がある長円状の親指201がある。淵部の上方を横切ってアーチ状に配列された円柱状の複数のしみは、人さし指202、中指203、薬指204および小指205である。隣接する指の関節部分、すなわち基節骨209の肉体部は、指が完全に伸びきっている場合には、各指先の下方に表れる。内側207および外側206のてのひら後部は、画像の下方を横切っている非常に大きい接触部を生じさせる。てのひらがいっぱいに平らにされる場合、前側の肉状体(calluses)213が手の中央部分に認識できる。この画像は、全ての手の接触部分が、略卵型であるが、それらは圧力、サイズ、方向、離心率、およびお互いの間隔において異なることを示している。本画像は、一つの手の底部から表面に接触部可能な手の各部分の全てを含んでいるが、多くの実例では、これら部分のうちの一部のみが表面に接触部していることもあり、指が曲げ伸ばされることに応じて、指先部分は、てのひらに対して広い範囲で相対的に移動するかもしれない。
【0072】
FIG.14は、手が部分的に閉じられている他の極端な例を示している。親指201は、指先202〜208方向へ内転しており、指は曲げられているので、指先は、表面の接線方向に置かれる代わりに、通常下方にくる。骨端部の方が、肉付きのよい肉盛上り(pulp pad)よりも実際に表面に接触しているので、指先の接触部の高度および強さは幾分少なくなる。隣接する指先202〜205および親指201とは、互いに近接しているので、それらの間にわずかに近接した谷間部分201によって区別されるようになる。隣接する基節骨である指関節部分は、表面の上方の宙にういており、画像には表れず、てのひら前方の肉状体部分も表れない。指が曲がっている際にはてのひらの付け根の部分のみが表面にタッチできるため、てのひら後部206,207は、幾分短くなっているが、その両者の離れている距離は、変化しない。近接画像は、背景にある物体によって混乱しないことに注意する。光学画像と異なり、表面から数ミリメータ以内にある、導電性を持った対象物は全て示される。
【0073】
FIG.15は、ペングリップコンフィギュレーションをした右手の接近画像である。親指201および人差し指202は、あたかもペンを保持するように互いに締め付けられているが、この場合は、その代わりに表面にタッチしている。実際には、親指と人差し指は、ここでも、FIG.14に示される場合と同様に表れる。しかしながら、中指203、薬指204、および小指205は、握り拳を作るように丸くしており、その結果、指先に代わって、指の先端からの挙骨が実際に表れる。挙骨のもとで丸くした部分は、実際には、締め付けている親指201と人差し指202によりも下に配置され、てのひらの突起部206,207に近接する。また、挙骨は、FIG.14の曲がった指先よりも長く、FIG.13での平らにされた指先と同様のサイズで表れる。このようなサイズおよび配置の違いは、ペングリップコンフィギュレーションを、閉じられまたは開いた手のコンフィギュレーションから区別するためにペングリップ検出器17によって検出される。
【0074】
FIG.16は、接触部追跡および識別モジュール内でのデータフローを表している。画像分割プロセス241は、一番最近に走査された近接画像データ240を取得し、その画像を、FIG.13の手における複数部分を区別できるような対応する複数電極242のグループに分割する。推定されたハンドオフセットデータ252のフォードバックによって、部分的に決定された個々の画像領域に適用されるフィルタおよび分割のルールを個別に決定する。画像分割プロセス241は、各グループ内の複数電極の位置および近接値測定に対して1つの楕円形状をフィッティングすることによってパラメータ化したグループデータ構造242を出力する。
【0075】
経路追跡プロセス245は、パラメータ化された電極グループ242を先の画像から抽出された接触部経路データ構造243によって予測される継続性に調和させる。このような経路追跡が、先の画像からの接触部表現の連続性を確実にする。これは、個々の手の接触部の速度を測定したり、手の一部が表面から離れる場合に将来の画像から消えることを決定したりすることを可能とする。経路追跡プロセス245は、現在のグループ242から経路位置、速度、および接触部の幾何学的状態を更新するとともに、それらを接触部識別処理247,248へ伝える。上記目的のため、複数のグループおよび識別されていない経路は、それぞれGiおよびPiの形式のデータ構造名によって参照される、ここで、インデックスiは、ゼロのグループG0およびゼロの経路P0を除いて任意である。特別のグループおよび経路パラメータは、これらの構造名に下つき文字で表記し、画像走査サイクルは、括弧表示で表記する。そのため、例えばP2X〔n〕は、現在の近接画像における経路P2の水平方向の位置を表し、P2X〔n−1〕は、前回の近接画像における位置を表す。接触部識別システムは、手の識別プロセス247と指およびてのひらの識別プロセス248とに階層的に分離している。各接触部に対する識別、指およびてのひらの識別プロセス248は、各面の接触部を生じる手の部分を識別するために、最適化およびファジーパターン認識技術を結合して利用している。推定された手のオフセットのフィードバックは、手のコンフィギュレーションが明らかでなく、ほんの少しの接触部のみ表れている場合に、手の接触部を識別することに役立つ。
【0076】
手の識別プロセス247は、手の識別の範囲内で、より生体力学的な要素を生じさせる表面の接触部に対する、左手または右手の身元の割当てを見出すために、分離結合型最適化アルゴリズムを利用する。それは、手の指が表面からリフトオフされた後に最後に測定された手の位置を一時的に格納しておくことを第1の目的として、推定された手および指のオフセット252のフィードバックを受信する。そのとき、指が同じ領域にすぐに下ろし戻される場合には、前の手識別を受信することが適当であろう。
【0077】
識別プロセス247および248の出力は、手が存在する状態および指の指示が付加された接触部経路のセットである。表記上の目的のため、識別された経路は、識別不能あるいは指が存在しない場合用にF0、親指201用にF1、人差し指202用にF2、中指203用にF3、薬指204用にF4、小指用にF5、てのひら後部の外側部206用にF6、てのひら後部の内側部207用にF7、およびてのひらの肉状体208用にF8が参照される。特定の手の識別を表記するためには、この表記に対して左手ならL、右手ならRといった接頭語をつけることができ、例えば、RF2は、右手の人差し指の経路を表記している。特定の手の全体を参照する場合には、LHは左手を表し、RHは右手を表す。実際のアルゴリズム上は、左手の識別は、−1で表され、右手は+1で表されるので、垂直方向の軸に沿って対称に得られた測定値の左右像を入れ替えやすくなる。
【0078】
各々の手に対して、各ビットが特定の指の接面、接触部の継続、またはリフトオフを表したビットフィールドデータレジスタの一つのセットを保持することも便利である。ビットフィールド内のビットの位置が上述した手の各部の指標に対応する。かかるレジスタは、複数の指の中の特定のサブセットが接面されているか否かを決定するために瞬時にビットマスクを用いてテストを行うことができる。二者択一的に、それらは、特定の指のコード(複数の指の組合せ)に対応した入力イベントを見いだすためのルックアップテーブルに与えられることが可能である。このような指識別ビットフィールドは、主として同期検出器13において必要とされる。
【0079】
追跡および識別のサブシステム内での最後のプロセスは、識別と分割処理にバイアスを加えるフィードバックを提供するために上述された手位置推定装置251である。手位置推定装置は、手がタッチすることなく表面の上に浮いている(フローティング)場合にも、横方向の手位置について保存性のある推定252を提供しようとする。この場合、推定は、手が再び接面する場所の最良の推定を意味する。手の一部が表面にタッチするときに、推定は、現在、識別されている手の部分についての現在の位置測定結果と、より確実な、またはより確実性の少ない識別から既になされている推定とを結びつける。
【0080】
最も簡単ではあるが、精度の低い手位置測定結果を得る方法は、識別には関係なく、手が接触部している位置の全ての平均をとることである。仮に、手の複数部分201〜207の全てがFIG.13のように表面にタッチしているならば、複数の指やてのひら後部は、てのひらの中心の周りにリング状に形成されているため、結果として重心は、てのひらの中心が配置されている適切な推定値となるであろう。しかしながら、1つの手が接触部している場合にのみ、平均をとることが利用できることを考慮すべきである。
【0081】
この推定は、手の中心が、単一の接触部位置であることと仮定しているが、この接触部は右手親指から実際は4〜8cmも離れていることもあり、この接触部は、てのひら後部から実際は4〜6cmも高い場合もあるし、この単一の接触部位置は、中指から実際は4〜6cmも低い場合もある。
【0082】
FIG.17は、手位置推定器251内の詳細なステップを示している。これら複数のステップは、各々の手について個別に繰り返されねばならない。好ましい実施形態では、この処理は、手内の接触部識別(250)を利用して、それぞれの接触部毎に、手の部分の識別iに関して測定された接触部位置(FiX〔n〕,FiY〔n〕)と特定の指またはてのひら後部のデフォルト位置(FidefX〔n〕,FidefY〔n〕)との間のオフセットを計算する(254)。デフォルト位置は、好ましくは、手が、キーボードのホームキー列に載せてある場合のように、指が部分的に閉じられたニュートラルな姿勢にある場合の、指およびてのひらの位置に対応している。ステップ255は、測定された手のオフセット(HmoX〔n〕,HmoY〔n〕)を得るために、個別の接触部フセットの平均値を求める。
【0083】
【数3】
好ましくは、各指およびてのひら後部の重み付けFimow〔n〕は、近似的に、その測定されたトータルの近接値であり、すなわち、Fimow〔n〕=Fi〔n〕である。これは、近接値がゼロとなるような持ち上げられた指は、平均値に全く影響を与えず、通常の近接値よりも値が低い接触部であって測定された位置や識別の精度が低い場合は、影響を小さくすることを確実にする。さらに、てのひら後部がタッチしている場合、これらの大きなトータルの近接値は、平均に対して支配的にはたらく。てのひら後部は、非常にフレキシブルな指部に比べて、手の中心に対して相対的に移動せず、全体的な手の位置をさらに確実に指示するために、この方法には利点がある。手が表面にタッチしていない場合、すなわち、全ての近接値がゼロである場合、測定されたオフセットは、ゼロになるようにセットされている。これによって、フィルタ処理された低い手位置推定値は、デフォルトの手位置へと減衰する。
【0084】
接触部識別が正確である限り、この手位置測定方法は、手の中心から生じる単一の接触部を仮定することによって生じる大きなエラーを除去する。デフォルト位置から指を曲げることは、測定された重心を数センチメートルよりも大きく乱さない。しかしながら、この方法は、接触部を誤って認識した場合について適用可能であるものの、一つの手部分がタッチしている場合であれば、最高8cmもの重心測定誤差が生じてしまう。このように、現在の測定されたオフセットは、直接的には使用されない。しかしながら、単純な一次回帰フィルタを使用し、現在のオフセット推定(HeoX〔n〕,HeoY〔n〕)を形成して、先のオフセット要素(HeoX〔n−1〕,HeoY〔n−1〕)によって平均が算出される。
【0085】
ステップ256は、現在の接触部識別の信頼性に応じてフィルタポールHeoα〔n〕を調整する。指識別は、手の多くの部分が接触部するにしたがって、信頼性を蓄積していくので、簡単な識別の信頼性の測定は、手が最後に表面から離れてから後に手の指が接面している指の数をみることである。大きなトータル近接値を持つ接触部は、サイズおよび方向というような非常に明確な特徴を有するため、識別の信頼性を向上させる。このように、Heoα〔n〕は、概略的には、最大の指の数に対して、手の接触部の近接値の合計を加えたものに比例するようにセットされる。Hoα〔n〕は、もちろん、0と1との間を取るように正規化されていなければならず、さもなければ、フィルタは不安定になる。このように、接触部識別における信頼性が高い場合、すなわち、手の多くの部分がしっかりと表面にタッチしている場合、回帰フィルタは、現在のオフセット測定を助長する。しかしながら、手が持ち上げられてから後、1または2の接触部しか現れない場合には、このフィルタは、より信頼性のある識別に基づいていると考えられる前回のオフセット推定を重視する。
【0086】
フィルタリングされたオフセットは、最適な分割および手が再び接面するといった識別のために、手が表面の上に宙にある状態であっても、手の位置についての保存性を持つ推定を保持する。
【0087】
手が複数の処理の複合したシーケンスの途中でリフトオフされたが、瞬時に再び面上に降ろされた場合であれば、大きな確率で、リフトオフされた場所の近くに降ろされるであろう。しかしながら、動作シーケンスが終了した場合であれば、手は休止するためにニュートラルな姿勢、すなわちデフォルト位置へ戻るであろう。このため、ハンドが表面にタッチしていない間には、Hoα〔n〕は、十分に小さくなり、推定されるオフセットは、手がゆったりとデフォルト位置に戻るのと略同様の速度で徐々にゼロに減衰する。
【0088】
低い識別の信頼性によってHoα〔n〕が小さくなるときは、フィルタ追跡の遅延(ディレイ)は、一対の指が数センチメータまで素早く移動することに間にあう程度に十分に大きくなる。フィルタの目的は、接触部識別において疑わしい変化に対しては、ゆっくりと反応し、接触部の動きを追従させないことである。このような動作追跡遅延は、古いオフセット推定に対して画像間で測定された接触部動作を加えることによって問題なく除去することができる。ステップ257は、現在の接触部速度の平均値(HmvX〔n〕,HmvY〔n〕)から動作を取得する。
【0089】
【数4】
現在の接触部速度、(FivX〔n〕,FivY〔n〕)は、指の識別を独立して検出している経路追跡プロセス245から検索される。ステップ258は、以下のフィルタの式を計算することによって、推定された手のオフセット(HevX〔n〕,HevY〔n〕)を更新する。
【0090】
【数5】
最終的に、特定の複数の指の位置について同じように保存性を有する推定を提供するために、ステップ259では、個々の指のオフセット(FieoX〔n〕,FieoY〔n〕)が、識別された複数の接触部と、推定された手のオフセットよりも少ないそれらに対応するデフォルトの指位置との間の距離から計算される。各識別可能な接触部iに対して、オフセットは、以下のように計算される。
【0091】
【数6】
これらの指のオフセットは、ニュートラルな姿勢から指を屈曲や伸張した場合の偏差を反映する。ユーザが複数の指を、平らにされた手のコンフィギュレーションのように極端な構成で置いた場合には、これら指のオフセットの総絶対値は、平均的な成人と比較されるユーザの手のサイズおよび指の長さの指標として使用することができる。
【0092】
各手および指に対するパラメータ(HeoX〔n〕,HeoY〔n〕)および(FeoX〔n〕,FeoY〔n〕)は、次の近接画像の解析の際の分割および識別処理へフィードバックされる、推定された手および指のオフセットデータ252を構成する。他の処理が、絶対座標系での推定を必要とする場合には、それらは、単純に、供給されたオフセットをデフォルトの指位置に対して加えることができるが、多くの場合には、相対的なオフセット表現は、実際上、便利である。
【0093】
上記の手位置の推定手順は本発明の範囲内で、特に持ち上げられた位置の推定方法に関して、多くの改良をおこなうことができることは、当業者にとって明らかである。一つの改良は、手が持ち上げられている場合には、指数関数的に減衰させるのではなく、推定された手のオフセットを一定の速度で0に減衰していくことである。また、各手に対するオフセットの計算は、説明したように、それぞれ独立したものである。推定される左手の位置と推定される右手の位置との間に最小の水平方向の分離距離を挿入することは、一方の手が持ち上げられている間、右手が、ボードの反対側へスライドする際に、他の手の推定される位置が置き換えられるといった場合に、有利である。この場合、リフトオフされた手の推定位置は、全表面ではなく、表面の左側にあるデフォルトが強要される。右手がリフトオフされるとともに、左手がリフトオフされない場合であれば、以下のような式が、離れた右手の位置の強制的な推定を行うために適用される。
【0094】
【数7】
ここで、(LF1defX−RF1defX)は、左右の親指間のデフォルト距離であり、挿入される最小の水平方向分離距離であり、LHevX〔n〕は、現在の左手の推定されたオフセットである。
【0095】
FIG.18は、近接画像分割処理241内のデータフローを示している。ステップ262は、2次元ディフュージョンオペレータまたはガウシアンカーネルを通過させることによって現在の近接画像240の空間的に平滑化されたコピー263を形成する。ステップ264は、有効スレッショルドを上まわったフィルタリングされた近接値、および最も近い近傍のピクセルのフィルタリングされた近接値を持つ局所的に極大化したピクセル265に対して、平滑化された画像263を求める。平滑化(スムージング)は、一つの電極上に孤立したノイズスパイクが、有効スレッショルドを超える極大を生じさせる可能性を軽減し、極大を肉体部分として区別される接触部の周りに合併する。
【0096】
プロセス268は、接触部エッジのための極大の部分から外側へ検索することによって、各極大ピクセルの周りにある十分な近接値を備える電極のグループまたは複数のピクセルを構成する。FIG.19は、具体的な接触部の境界274に対する基本的な境界電極検索パターンを示す。この図において、電極あるいは画像ピクセルが、各々の矢印の先端に位置する。この検索は、極大ピクセル276で開始され、境界274が検出されるまで、その左側にある複数のピクセル277へ進む。境界にいたる直前のピクセル278は、エッジピクセルとしてマークされ、検索は、極大ピクセル276の右側にある279へと再開される。一旦、極大の行の左または右のエッジが発見されると、検索は、その上および下の行へ波及し、最も大きい近接値を備えた先の行のピクセルの列281において開始される。本実施形態が説明するように、ピクセルまたは電極のセットは、数学的な意味で接続されているが、矩形である必要はない。これは、隣接する接触部から電極を外したり含めたりすることなく、肉体の接触部の楕円型にフィットさせるグループが許容される。
【0097】
接触部が小さく、常に分離されている場合には、複数のエッジは、近接値の読込値がバックグランドレベルに低下しているか否かによって定めることができる。しかしながら、指先は、わずかな谷間部分、または浅い鞍点210によって分離されているだけである。隣接する指先を分割するために、これらの谷間部分の部分的な極小値を検出し、グループの境界として用いなければならない。一方、てのひら後部の大きな接触部は、接触部中の肉体の近接において小さく一様性のないがために、部分的な極小値を示すかもしれない。
【0098】
接触部のもとでの全ての電極が、一つのグループに収集されるべき場合、このような部分的な極小は、無視されねばならない。所定の手位置推定分割システムは、指先および親指が表れることが推定される画像の領域では厳密なエッジ検出ルールを適用することができ、てのひらが現れることが推定される画像の領域では非厳密なエッジ検出ルールを適用することができる。これは、隣接する指先が、単一のグループとして結合されてしまわず、各てのひら後部が、多数のグループに分解されてしまわないことを確実にする。
【0099】
FIG.18のステップ266は、前回の画像の解析から得られる手位置の推定を用いて、これらの分割領域の位置を規定する。FIG.20Aは、手がデフォルト位置にあって、両手に対する推定されたオフセットがゼロになる場合の厳密および非厳密な分割領域の範囲を示す。本図における+印252は、各々の手の各指およびてのひら後部の推定された位置を示している。下側の両隅にある矩形のアウトラインは、部分的な極小がほとんど無視される左284および右286の非厳密な分割領域を表している。残ったT型部分は、近接値の鞍点が接触部の境界として提供されなければならない厳密な分割領域282である。好ましい実施形態によれば、非厳密な分割領域は、矩形形状をしており、その内側の複数の境界部分285は、人差し指202が存在することが期待される列の僅かに内側に配置されており、その上側の複数の境界部分287は、各々の親指の推定された垂直レベルに配置されている。非厳密な領域の外側および下側の境界は、表面の外側の端部によって決定されている。手が表面から離れた後における推定された手のオフセットの減衰によって、非厳密が分割領域は、持ち上げられた手の位置を無視して、手が数秒間にわたって留まっていた後に示された位置へと戻る。FIG.20Bは、右手が左上方向に移動し、左手が左下方向に移動するにつれて、非厳密な領域が推定された手の位置252にどのように追従するかを示している。これは、手の位置の推定が正しいかぎり、てのひら、いわばてのひらのみが、非厳密な領域に入ることを確実にする。
【0100】
FIG.20Cは、左手が表面から離れた場合に、左側の非厳密な領域284は、表面全体から離れること、および右手が表面の左側へ移ったことを示している。これは、一つの手の指が、反対側の手の非厳密な領域に入ることを防止する。この効果は、複数の非厳密な領域間の最小水平方向隔離距離を挿入し、この複数の領域が余りに互いに近づきすぎないようにし、最も多くの表面接触部を持った手を、少ない接触部を持った手の推定された位置にまで広げることによって実現される。FIG.21は、電極が厳密または非厳密な領域のどちらにあるかに応じて検索された各電極におけるエッジテストの詳細なフローチャートである。判断ステップ290は、スムージングされていない電極の近接値が、バックグランドの近接値レベルよりも大きいか否かを判断する。大きくない場合は、分割領域または検索指示に関係なく、ステップ304でエッジ電極であると分類され、ステップ305では、検索は、他の方向で処理を繰り返すために生の極大値へリターンされる。スムージングされていない近接値が有意であれば、さらに、判断ステップ292が検索する電極が非厳密または厳密な領域のどちらにあるかを判断した結果に応じて隣接する電極のスムージングされた近接値についてテストを適用する。
【0101】
厳密な領域の検索が1つの行で水平方向に進行中であれば、判断ステップ306は、この電極に最も近くに隣接する電極を考慮して、その電極が水平方向または斜め方向の部分的な極小部にあるかに否かを判断する判断ステップ308に移行させる。隣接する指間の近接値の谷間部分が検出された場合には、電極は、エッジ314として分類され、検索は、他の方向305に向かって再開される。もし、そうでければ、検索は、その行にある隣の電極上で継続される302。もし、厳密な領域の検索が隣接する行へ垂直方向に進行中であれば、判断ステップ306は、この電極に最も近くに隣接する電極を考慮して、その電極が垂直方向の部分的な極小部分にあるか否かを判断する判断ステップ310に移行させる。指と親指との間の近接値の谷間部分が既に検出されていれば、その電極はエッジであると分類され312、異なる方向へ検索が再開される305。そうでなければ、検索は、隣の行で継続される302。もし、判断ステップ294が、非厳密な領域の検索が一つの行で水平方向に進行中であると判断する場合には、しわ(crease)またはてのひらの内側の後部と外側の後部との間の谷間部分を確認するために、厳密な水平方向の極小テストが行われる。通過するためには、判断ステップ296で確認されるように、電極は、極大が生じている地点から水平方向の距離が約2cmよりも大きくなければならない。判断ステップ298で確認されるように、電極は、長い谷部、すなわち、部分的に水平方向に極小な部分でなければならず、上または下の行、および行内で隣の最も近い隣接部分へ広げられる。電極がエッジと分類されるならば300、検索は他の方向へ再開される305。非厳密な領域内の全ての他の部分的な極小は無視され、そのため、検索はバックグランドレベルのエッジが電極まで到達するまで継続302される。
【0102】
極大間にある部分的な極小は境界として機能しないため、非厳密な分割領域では、グループは、十分にオーバーラップすることが可能である。端的には、オーバーラッピングする複数のグループは、てのひらのような大きな人体の接触部の部分であり、スムージングのされた後でさえも、複数の局在した極小を有している。1つのグループの検索が開始された極小電極が、さらに他のグループの要素である場合には、2つのグループは、オーバーラップすることは明らかである。識別可能な肉部の接触部毎に一つのグループのみを残りのシステムに掲示するために、FIG.18のステップ270は、パラメータ抽出の前に、オーバーラップした複数のグループを一つのグループに結合する。当業者は、前回の画像の高水準解析フィードバックは、分割プロセスを改良するために様々な択一的な方法において適用することが可能であり、いまだ本発明の範囲内にあることを理解できる。例えば、非厳密な領域における付加的な画像スムージングは、各てのひらの後部の接触部を、厳密な分割領域であれば、境界テストで経路するであろう一つの局在した極小にまとめることができる。あまりに強いスムージングは、指の複数ペアを。不意に、寛大なてのひらの領域に入れ、一つのグループに結合してしまう。一度、指のペアが接合されてしまえば、指の識別プロセス248は、指先が実際に一つのてのひら後部であるのかを区別する方法がなくなり、指識別プロセスは、正しい手の位置推定あるいは将来の画像の分割目的のために寛大な領域を調整することは不可能となる。
【0103】
手の位置の推定よりも詳細なフィードバックのフォームが、同様に利用されうる。例えば、基節骨(FIG.13の209)は、実際に指の部分であるが、垂直最小値試験310による指先より、分離したグループに分割される傾向がある。垂直の最小限の試験は、親指グループを、FIG.14の部分的に閉じた人差し指の先グループおよびFIG.15のペングリップの手のコンフィギュレーションから切り離すのに必要である。しかしながら、平らにされた指の近い方の密集部は、他の長い指を平らにすることなく、一つの長い指を平らにすることが非常にむずかしいという事実によって、カールされた指先を親指後方から区別することができる。この制約を利用して、平らにされた指フラグ267は、前の画像の人差し指から小指として識別される接触部のうちの少なくとも2つが通常より大きいときは、いつでもセットされて、指先が確かに平らになっていると示す。その時、判断ステップ310は、現在画像の処理を通して、局部的な最小値276の下の列の検索を通して直面される、最初の垂直の最小値を無視するために修正する。これは、指先グループにおいて含まれる基節骨を許すが、指先グループが親指または前部のてのひらと結合するのを妨げる。分割プロセスの最後のステップ272は、形状、サイズおよび位置パラメータを各々の電極グループから抽出することになっている。グループ位置は、手の接触部位置を反映して、指速さを決定するのに必要である。全グループ近接値、偏心および方向は、より高水準のモジュールによって、指、てのひら、および親指接触部を区別するのを助けるために使用される。
【0104】
提供されたGEは、グループG内の電極の一組であり、ezは、電極またはピクセルeの滑らかでない近接値であり、ex、およびeyはセンチメートル単位示した電極センターの表面の座標であり、グループ位置の基礎的なインジケータ、重み付けされた近接値中心、または重心が与えられ、グループ電極の位置および近接値から計算される。
【0105】
【数8】
全グループから近接値GEがグループの各々のピクセルの上の近接値を統合することに留意する。それは手の部分のサイズの両方に左右される。その理由は、大きい手の部分がより多くのピクセルを有するグループの原因となる傾向があり、手の部分の表面上に近接しまたは圧力をかける。
【0106】
最も多くのグループが凸面であるという理由から、形状は楕円パラメータによって、うまく近似される。手順に適合している楕円は、二次モーメントGxx、Gxy、Gyyの群共変性マトリックスGcuvの単位の変換を必要とする。
【0107】
【数9】
共分散マトリクスGcuvの固有値λ0およびλ1は、楕円軸長さおよび方向Gθを決定する。
【0108】
【数10】
ここで、Gθは範囲(0、180°)に、一義的に覆われている。
【0109】
便宜のために、より高いシステムレベルで指先とてのひらを区別し、長軸および短軸長さが、比率を通して偏心率G∈に変わる
【0110】
【数11】
長軸長さが常に短軸長さ以上であるので、偏心率が常に1以上であることに留意する。最終的に、代表的なカールされた指先が全近接値約1を有するために、全グループ近接値は経験的に再正規化される。
【0111】
【数12】
低解像度電極配列上の、全グループ近接値Gzは、フィットした楕円パラメータより確実な指圧力と同様に接触部サイズのインジケータである。したがって、近接画像が低解像度の場合、小さい接触部の方向および偏心率は測定された値よりむしろデフォルト値に設定され、全グループ近接値Gzは、接触部サイズの最初の基準として、長軸および短軸長さの代わりに使用される。
【0112】
FIG.22は、経路追跡プロセスのステップを示す。それは、同じ物理的な手の接触部に対応する連続した近接画像から、それらのグループを束縛する。各々の手の部分が最後の近接画像から移動したところを決定する。追跡プロセスは、現在グループが、既存の接触部経路とマッチングするか決めなければならない。一般に、同じ接触部から起こっているグループおよび経路は、お互いに他のグループおよび経路に近接している。また、横方向の指速さおよび加速度のバイオメカニカル制約が、指が画像間でどれくらい移動できるか限定する。したがって、画像がお互いの追跡半径として知られている距離内である場合を除き、グループおよび経路はマッチングしない。指間で代表的な横方向の分離が合理的画像走査速度のための追跡半径より大きいという理由から、タッチダウンおよびリフトオフは、タッチダウンが通常新しいグループに既存の経路の追跡半径の外側に現れるという事実によって、および、リフトオフはその追跡半径内でのグループ内で活動経路から離れることによって、簡単に検出される。高指速度での経路の不適当な中断を防ぐために、各々の経路の追跡半径Prirackは、その既存の速度および近接値に従属させることが可能である。
【0113】
第1ステップ320は、位置および速さが前の画像から測定した経路を使用している既存の軌跡に沿って、表面接触部の現在位置を予測する。指が突然、指示を開始または停止または変更するときを除いて、前の速さを位置予測に適用することは予測を改善する。このような高い加速度イベントが0加速度イベントよりたびたび発生しないという理由から、基礎速さ予測の利益は指加速度を通じて場合によっては不良予測より重要である。時間のステップn−1と既知の速さPvx〔n−1〕,Pvy〔n−1〕から経路Pの位置をPx〔n−1〕,Py〔n−1〕にし、経路継続する予測される速さは、下記式のときである。
【0114】
【数13】
前の画像において、活動経路の一組をPAとし、現在画像において作成されるセットされた電極グループをGにする。ステップ322は、電極グループGkのために、最も近い活動経路と記録されたそれまでの距離を見いだす。
【0115】
【数14】
正方形にされたユークリッドの距離が簡単に計算された距離測定基準であるところ、
【0116】
【数15】
ステップ324は、その時各々の活動経路PIのために、最も近い活動グループと記録されたそれまでの距離を見いだす。
【0117】
【数16】
ステップ326において、それらがお互いに最も近い場合、活動グループGkおよび経路PIは互いに対になれるだけである。すなわち、GkclosestPおよびPlclosestGはお互いを参照し、それらの間の距離は追跡半径未満である。以下の状態の全ては、保持しなければならない。
【0118】
【数17】
同じ指の反復的なタップの検出の補助ため、同じ位置の上のタップの間で経路割当ての継続を維持することは、役に立つ。これは、対になってないグループや、指のリフトオフによって最後から2番目などにより停止された経路を用いて、段階322−326を繰り返すによってステップ334により達成される。
【0119】
ステップ336において、いかなるグループでも、活動または最近活動でなくなった経路を持っている対にされなかった経路は、新しい経路が割当てられ、表面上への新しい指のタッチダウンをあらわす。ステップ344において、対にされることができないいかなる活動経路でもグループとともに停止され、表面からの手部分のリフトオフをあらわす。
【0120】
ステップ346は、その指定された経路に標準フィルタ技術を通して各々のグループの抽出されたパラメータを反映する。下記に示される式は、経路位置、Px〔n〕,Py〔n〕、Pz〔n〕、速さ(Px〔n〕,Py〔n〕)、および形状(Pθ〔n〕、Pε〔n〕)パラメータを対応するグループパラメータから更新するために単純な自動後退するフィルタを適用する。しかし、カルマン(Kalman)または有限インパルス応答フィルタはまた適切である。
【0121】
経路PがグループGによって、ちょうど今時間ステップnで始められた場合、すなわち、手部分がちょうどタッチダウンする場合、そのパラメータは、次のように初期化される。
【0122】
【数18】
他に、グループGが、時間ステップnに対する使用中の経路P〔n−1〕の継続である場合、
【0123】
【数19】
大きさPspeedおよび角度Pdirを速さベクトル(Pvx,Pvx)から計算することは、また、有効である。位置測定値の信頼性がかなり全近接値Pzについては増大するという理由から、低域フィルタ極Gαは規定未満の全近接値を有するグループのために減少する。したがって、信号が弱いときに、システムは多量に前に定められた経路速さに依存する。しかし、指がしっかりと強く表面に触れ、確実な信号のとき、システムは、完全に現在のグループ重心測定値に依存する。
【0124】
追跡モジュール内の次のプロセスは、接触部識別である。十分に複数の手のために大きい表面上の、各々の手の接触部は、環状のクラスタを形成する傾向があり、ユーザが反対の手の指をもつれさせることを避けるようにするため、クラスタが分離したままの傾向がある。その理由は、手クラスタ内の指の配置が、他の手クラスタ内配置と位置から独立しているためであり、接触部識別システムが階層的に分割されているからである。手識別プロセス247が、どのクラスタが各々の接触部に属するかを最初に決める。その時、クラスタ内で識別プロセス248は、各々の手ごとに、手クラスタ内の接触部の配置、他の手クラスタからの独立を分析する。その理由は、クラスタ内または指識別が、各々の手ごとに、いくつの手が表面上にフィットしているかにかかわらず作用するからであるので、まず、最初に説明する。下記の説明は、右手内の識別である。鏡面対称は、左手接触部を識別する前にいくらかのパラメータに適用されなければならない。
【0125】
FIG.23は、指識別プロセス248の好適な実施形態を示す。接触部が各々の手に特定されるために、この実施形態は、手部分アトラクタ点のテンプレートを接触部にマッチングさせようとする。各々のアトラクタ点は、個々の指またはてのひら後部に対応する識別を有している。接触部経路およびアトラクタの間をマッチングさせることは、基本的に1対1である。しかし、いくらかの手部分が表面に触れていない場合には、いくらかのアトラクタは、満たされていないままにする。すなわち、無効な経路または偽の経路に指定される。
【0126】
ステップ350は、指の姿勢が部分的にカールして、手が中間にあるとき、対応する指およびてのひらの位置に近いものにアトラクタ点の位置を初期化する。好ましくは、これらは、推定された手のオフセットにおいて用いられるのと同じデフォルト指位置(Fidefx,Fidefy)である。距離および角度をアトラクタ点の間で半分−閉じた手の姿勢からセットすることは、うまく多種多様な指屈曲および延長部分のために実行するアルゴリズムにマッチングさせることを認める。
【0127】
FIG.24の×印によって表示されるように、結果として生じるアトラクタ点は輪になって位置する傾向がある。アトラクタ点371−377の識別は、手部分201−207の識別に対応する。所定の手が左手である場合、アトラクタリングは示されている垂直軸に対してミラーリングしなければならない。FIG.24も、各々のアトラクタ点のまわりでヴォロノイセル(Voronoi cell)を形成しているライン部分380を含む。アトラクタのヴォロノイセル内のあらゆる点は、他のどのアトラクタよりもそのアトラクタに近接している。
【0128】
クラスタ内に一つの接触部だけがあり、その特徴が際立っていないときに、割当てアルゴリズムは、有効にその接触部を接触部が位置するヴォロノイセルのアトラクタ点に特定する。手クラスタ内に複数の表面接触部があるとき、それらが、同じヴォロノイセルにすべて位置でき、割当てアルゴリズムが全体の最適化を、すべての接触部位置を同時に考慮して実行する。
【0129】
別の実施形態は、他の手部分のための更なるアトラクタまたは異常な手のコンフィギュレーションのための選択肢アトラクタ配置を含むことができる。例えば、前部てのひらの接触部のためのアトラクタは、リングの中央に配置されることができるが、前部てのひらは、一般的に、手の残りが表面上へ平らにされる場合を除き、表面に触れない。前部てのひらのアトラクタは、通常のアトラクタが割当てられない状態にないときにだけ、接触部がそれらに割当てられるように、重み付けるべきである。
【0130】
最適なマッチング精度のために、リングは概略的に手クラスタに集中させておかれる。そこで、ステップ352が全てのアトラクタ点を、所定の手のために、手の推定されたオフセット位置によって変換する。最終的なアトラクタ位置(Ajx〔n〕,Ajy〔n〕)は、下記によって与えられる。
【0131】
【数20】
別の実施形態において、アトラクタリングがまた、手の回転およびサイズの推定、例えば指オフセットの推定によって、回転または拡大縮小されうるが、アトラクタリングがひどくゆがめることによって、間違って推定された指オフセットや識別エラーが、お互いに増強されないように注意しなければならない。
【0132】
一旦アトラクタテンプレートが適当であると、ステップ354は、各々の使用中の接触部経路Piから各々のアトラクタ点Ajまでの表面平面の距離から、正方形のマトリックス〔dij〕を構築する。アトラクタより少しの表面接触部がある場合、無効な経路POは、各々のアトラクタまでの距離がゼロであり、接触部がなくなることで起こる。いかなる距離測定基準も使用されることができるけれども、ユークリッドの距離の二乗、
【0133】
【数21】
が好ましい。その理由は、特に、任意の一対の接触部の間の角度が、それらの接触部に割当てられた一対のアトラクタの間の角度に近いように割当てられるからである。これは、指先がお互いに、特に表面に触れる間、交差を避けるバイオメカニカルな制約に対応する。
【0134】
ステップ356では、各々の接触部から選択されたアトラクタへの距離は、与えられた接触部の幾何学的な特徴が手部分から予想されるそれらにマッチングさせるかどうかに従って重み付けされ、アトラクタが再表示される。親指、およびてのひら後部が非常に際立った幾何学的特徴を示すという理由から、重み関数は親指、およびてのひら後部アトラクタのために計算されるとともに、指先アトラクタまでの距離は変化しない。好適な実施形態において、各々の重み関数は、およそFIG.25において、プロットされるようないくつかのファクターに対する特徴の関係で構成される。各々のファクターは、その特徴測定値が際立った情報を提供しないときに、1のデフォルト値をとるように設計されていて、測定された接触部特徴が所定の親指またはてのひら部分に、比類なく似ている場合、より大きい値をとり、測定された特徴が所定のアトラクタの手部分と一致していない場合、より小さい値をとる。ファクター関係は、ルックアップテーブル、区分的線形関数、多項式、三角関数、有理関数、またはこれらの任意の組合せとして、算出されて蓄えることができる。接触部とアトラクタとの間の特徴が一致する割当ては重み付けされた距離が小さいほど好ましいため、示されたファクター関係の逆数で、実際に重み付けされる(増加させる)。
【0135】
FIG.25Aは、右の親指、および、右の内側のてのひらの方向ファクター対、接触部のフィットした楕円の方向を示す。これらの手部分の方向は、約120°である傾向があり、一方、指先、および、外側のてのひら後部の接触部は通常非常に近接しているため垂直であり、(90°)、および、左の親指、および左の内側のてのひら後部の方向は、60°を平均とする。右の方向ファクターは、したがって、120°で最大値に近づく。それは、方向が識別に決定的でない0°90°、および、180°で1のデフォルト値に近づき、および反対側の親指またはてのひら後部の好ましい方向である60°で最小値となる。左の親指、および、内側のてのひら後部方向ファクターの対応する関係は、90°ひっくり返したものとなる。
【0136】
FIG.25Bは、およそ親指サイズファクターをプロットする。全近接値によって示されるように、親指サイズが2つのあるいは3つの時間に、代表的なカールされた指先のサイズをピークにさせる傾向があるという理由から、これらのサイズにおける親指サイズファクターはピークになる。てのひら後部と違って、親指接触部は、2つのまたは3つの時間より大きくデフォルト指先サイズであることができない。そして、親指ファクターの低下は、より大きいサイズのために取り消される。いかなる手部分でもそうすることができるという理由から、非常に軽く表面に触れて、またはちょうどタッチダウンのため動き出すときに小さく現れる。小さなサイズは際立たないので、サイズファクターは非常に小さい接触部のため、1のデフォルトになる。
【0137】
FIG.25Cは、およそてのひら後部サイズファクターをプロットする。より多くの圧力がてのひらに印加されるように、てのひら後部接触部は全く大きくなることができる。そして、それらがそうするように、かなり円形のままである。このように、てのひらファクターが際限なく増大できるのを除いて、てのひら後部サイズファクターは親指サイズファクターに非常に似ている。しかしながら、指先接触部は、指が平らにされるように、より高くなることによって、大きくなることができる。しかし、指幅が一定であるので、大きくなっている指先接触部ためフィットした楕円の偏心は高さに比例して増大する。大きいてのひらファクターを有することから平らにされた指を防ぐには、サイズ測定は、接触部偏心に対する全接触部近接値の比率に限定される。これは、てのひらのための少しの効果しか持たず、偏心が1の近くで残存する。しかし、平らにされた指先の高い近接値を無効にする。直接、フィットした楕円幅を使用することは低解像度電極配列のためにより正確でないけれども、上記の比率は、基本的に接触部幅を捕らえる。
【0138】
てのひら後部の他の重要な際立った特徴は、手首分析が接触部の重心を他の一つから、および指から数センチメートル切り離しておくということである。これは、親指、および指先にあてはまらない。そして、それは、フレキシブルな接合部を通してお互いに1センチメートルいないで移動させることができる。相互てのひら分離特徴は、所定の接触部の最も近い隣接する接触部を探索して、および、隣りまでの距離を測定することにより測定される。およそFIG.25Dにおいてプロットされるように、接触部とその最も近い隣りとの間で、分離が数センチメートル未満に減少するように、てのひら分離ファクターは速く低下する。所定の接触部(および、その最も近い隣り)はてのひら後部ではない。サイズおよび方向ファクターと異なり、それは、手の重さがフルにてのひらを圧縮するのと同じように、確実になるのみであり、てのひら分離ファクターは、特にてのひら後部と隣接した指先の一対を区別する際に役立つ。その理由は、それが平等に、より軽く、小さい接触部に作用するためである。
【0139】
一旦親指とてのひらの重み付けが距離マトリックスに作用すると、ステップ358は、各々のアトラクタとその割当てられた接触部との間の加重された距離の合計を最小にするアトラクタと接触部との間の1対1の割当てを検索する。表記のために、新しいマトリックス〔Cij〕に加重された距離を保持させる。
【0140】
【数22】
数学上、下記式を最小化する整数手部分識別{1,...,7}の順列{π1,...,π7}を見いだすように、最適化は、その時述べることができる。
【0141】
【数23】
そこで、Cijが接触部iからアトラクタjまでの重み付けされた距離であり、接触部iとアトラクタjは、πj≡7のときお互いに割当てを考慮される。この組合せの最適化の問題、より詳しくは数学において、割当て問題として知られていて、様々な周知の数学的な技術によって、能率的に解くことができる。例えば分岐限定法、局所化された組合せの探索、ハンガリー法、またはネットワークフロー解法。当業者が容認する、この組合せの最適化問題のタイプは、最適化が二重のパラメータの合計の最大化として再公式化される数学上等価な二重の表現を有する。アトラクタ接触部距離最小化の二重のものとしての上記の手部分識別方法の上記再公式化は、本発明の範囲内のままである。
【0142】
不必要な計算を避けるために、所定の接触部クラスタの手の割当てが手識別モジュール247によって評価されている仮の仮説だけである場合、判断ステップ360は現段階で指識別プロセスを終える。しかしながら、所定の手割当てが、最終的に仮説を選択した場合、さらに、プロセスは指識別を検査し、指カウントのような識別統計を編集する。
【0143】
全ての5本の指が表面に触れるとき、または親指、およびてのひら特徴が明確なときに、このアトラクタ割当て方法によって作り出される識別は非常に確実である。指先の接触部の水平座標をチェックすることによって、指先自身が誤って交換されないことを小さいものから順に簡単に検査される。しかしながら、2本から4本の指だけがさわるとき、まだ指は親指サイズまたは方向特徴を強く示していないため、最も内側の指接触部の割当てを、接触部が親指であるかどうか誤って示す。この場合、判断ステップ362は、最も内側の指接触部と他の指の間で更なる測定をとるために親指検証プロセス368を用いる。これらの更なる測定値が、最も内側の指接触部識別が誤りであることを強く示唆する場合、親指検証プロセスは、最も内側の指接触部の割当てを変更する。一旦指割当てが検証されると、ステップ364は、各々の手のなかの割当てについての統計値、例えば指先に触れる数、および指識別に触れるビットフィールドを編集する。これらの統計値は、他のモジュールのために識別結果の便利な集計を提供する。
【0144】
FIG.26は、親指検証モジュール内のステップを示す。最初に400は、いくつかの速さ、分離、および、指として認識される他の接触部に対して適切な指として識別される最も内側の接触部のための角度ファクターを計算する。これらの相互経路測定値が接触部識別順を前もって推定するという理由から、それらが、アトラクタ距離重み付けとして簡単に含まれることができなかった。その理由は、接触部の識別が、アトラクタ距離の最小化が完了するまでわからないからである。ファクターの下記の説明のために、FIを最も内側の指接触部とし、FNは、次の最も内側の指接触部とし、FOは最も外側の指接触部とする。
【0145】
親指と人さし指の間の分離は、指先間の分離よりしばしば大きい、しかし、指がいっぱいに伸ばしているとき、全ての分離は大きくなる傾向がある。したがって、内側の分離ファクター「inner_separation_fact」は、他の隣接する指先接触部の間の距離の平均「avg_separation」に対して、最も内側と次の最も内側の指接触部の間の距離の比率として規定される
【0146】
【数24】
ファクターは、親指あるいは人さし指が最も内側に触れる指であることに関係なく、平均未満の最も内側の分離が発生できるので、1より大きいために制限される。2つの指接触部だけがある場合に備えて、2−3cmのデフォルト平均分離が使用される。ファクターは、最も内側の接触部が実際には親指である場合1より大きくなる傾向があるが、最も内側の接触部が指先である場合、1近くのままである。
【0147】
親指は、指先が拳にカールするときを除いて、指先より前に、まれに移動し、最も内側と次の最も内側の指接触部の間の角度は、最も内側の指接触部が親指であるかどうかについて示すのを助けることができる。右手ついていえば、親指から人さし指へのベクトルの角度は、非常にしばしば60°であるが、親指が前進するとき0°になり、親指がてのひらに内転するとき120°になる。これは、FIG.32において内側の角度ファクターのプロットに反映されていて、そして、それは、60°でのピークになり、0°および120°の方で0に近づく。最も内側の指接触部が実際に人差し指の先である場合、最も内側と次の最も内側の接触部の間で測定された角度はおおよそ30°とマイナス60°の間であり、非常に小さい角度ファクターを作り出す。
【0148】
内側の分離および角度ファクターは、中立の親指姿勢の中で非常に区別される。しかし、ユーザが手の拡大縮小あるいは回転身ぶりを実行するとき、しばしば上記の引用された分離および角度範囲を上回る。例えば、反つねり身ぶりでは、親指は、人差し指の先または中指の先に対してはさんだところから動き出す、その後親指と指先はお互いから離れてスライドする。この結果、内側の分離ファクターは身ぶりの開始時に比較的小さくなる。同様に、親指と人差し指の角度は、また、まるでネジを回すように指が回転する手の回転身ぶりの最初のまたは最後で、内側の角度ファクターによって予想される範囲を上回ることができる。
【0149】
内側の分離と角度ファクターは、拡大および回転ファクターを有するファジーな論理和をとる。それは左右対称の指の拡大縮小または親指と指先の間の位置上の回転中心のために選択的な円弧であることを補償する。
【0150】
以下の近似式によって規定されるときに、拡大ファクターは、最も内側と最も外側の指接触部が、これらの2点間のベクトルに平行に、およそ同じ速度で、反対方向にスライドするとき、ピークになる。
【0151】
【数25】
ここで、∠(FI〔n〕、FO〔n〕)は指の間で角度である。
【0152】
【数26】
両方の指の並進動作は、同じ方向に、負ファクター値を作り出し、それは、0ために最大の動作によって制限される。両方の接触部の速度が高い場合にだけ、最も内側のおよび最も外側の速度の算術平均よりむしろ幾何学的なものを計算することは大きい拡大ファクターを作り出すことによって選択性を促進する。
【0153】
回転ファクターは、また、非常に選択的でなければならない。回転ファクターが最も内側と最も外側の指の間の角度の変化と単に比例している場合、それは、非対称な指動作、例えば最も外側の接触部が固定されている間に最も内側の指が下方へ並進して動き出すとき、誤って大きくなる。より選択的であるために、回転ファクターは、親指および指先との間の想像上の旋回軸について、回転対称を支持しなければならない。近似の回転ファクターの下記の式は、最も内側と最も外側の指が反対方向へ移動して、ピークになる。しかし、この場合、接触部は最も内側のと最も外側の指の間のベクトルを垂直方向へ動かす。
【0154】
【数27】
この回転ファクターを最大にする動作は、対抗する親指と他の指の間で実行するのは簡単であるが、2本の指先の間で実行するのが難しく、回転ファクターは親指の存在についての強い指標である。
【0155】
最終的に、ファジー論理式(ステップ402)は、これらの相互接触部ファクターを最も内側と次の最も内側の指接触部のための親指特徴ファクターと組み合わせる。好適な実施形態において、このファジー論理式は「combined_thumb_fact」の式をとる。
【0156】
【数28】
この式の特徴ファクター比率は、次に最も内側の接触部の現在の特徴に対して最も内側の接触部の特徴を比較することを試みる。特徴はすでに指先であることが知られている。最も内側の接触部がまた、指先である場合、その特徴は次に最も内側のものと同様であり、比率を1の近くのままにさせる原因となる。しかしながら、最も内側の接触部上の親指似た特徴は、比率を大きくさせる。したがって、結合した親指ファクターが高い閾値を上回る場合、判断ステップ404は、最も内側の指接触部が明確に親指であると決める。判断ステップ412が接触部がすでに親指アトラクタ412に割当てられないと決定する場合、ステップ414は、アトラクタリング上内側への接触部割当てを親指アトラクタへシフトさせる。一方、判断ステップ406が結合された親指ファクターが低い閾値未満であると決定する場合、最も内側の接触部は非常に明確に親指でない。したがって、判断ステップ408が、親指アトラクタに割当てられた接触部を見いだした場合、ステップ410は、最も内側の接触部割当てと、いかなる隣接の指接触部もアトラクタリング上外側への親指アトラクタを満たさない方へシフトする。「combined_thumb_fact」が、上下の閾値の間にある場合、または、既存の割当てが閾値決定に一致する場合、ステップ413は、割当てを変更しない。
【0157】
手の接触部の特徴および識別を促進するためにここで導かれる相互関係は、測定されることができて、および様々なとりうる方法で結合したが、発明の範囲内のままである。持ち上げることで反応しないパームレストを含むマルチタッチ表面装置の別の実施形態では、てのひら識別およびその必要なアトラクタ、およびファクターは除去される。幾何学的なパラメータは、手が平らにされる間、とられる個々のユーザの手のサイズの測定値ために、最適に適合することができる。しかしながら、基礎となるアトラクタ識別方法は、すでに指屈曲および延長部分による単一の人の指位置のバリエーションを許容する。それは手のサイズが大人の人の幅のバリエーションより大きくまたはより大きい。したがって、人の平均的な指およびてのひら後部近接のための親指およびてのひらサイズファクターの適合は、個々の指長さのためのアトラクタ位置の適合より重要であり、そして、それは、周辺的なの性能改良を加える。
【0158】
これらの特徴と手の接触部識別子への関係を含むための代替方法の他の実例として、FIG.27は、アトラクタテンプレートを含まない代替指識別実施形態を示す。指からの経路およびてのひら接触部を所定の手のなかで配列し430、ステップ432は、各々の接触部から他の接触部への距離の2次元のマトリックスを作成する。ステップ434において、ネットワークフロー最適化の理論から周知の最短路アルゴリズムが、その時全ての接触部経路を接続していて、各々一度通過している最も短いグラフサイクル見いだす。手の接触部がリングになって位置する傾向があるという理由から、この最も短いグラフサイクルは隣接の接触部を接続する傾向がある。そして、このように機能的な配列を定める。
【0159】
次のステップ438は、最も内側または最も外側のようなリング上の極端な位置で、接触部を選び、それが親指(判断ステップ440)か、てのひら(判断ステップ442)かを検査する。これは、親指検証プロセスおよびアトラクタ重み付けにおいて利用されるそれらために、類似している接触部特徴およびファジー論理式を使用して実行されることができる。最も内側の経路が親指である場合、ステップ444は、上の接触部が最有望な指先であると結論し、親指の下のリング内の接触部が、最有望なてのひらであると結論する。最も内側の経路がてのひら後部である場合(442)、ステップ446は、同じ垂直のレベルでの経路がてのひらである間、経路が最も内側のものよりかなり上にあれば指であるにちがいないと結論する。親指およびてのひら検査は、リング上の隣接する接触部のために、いずれかの親指またはてのひら接触部が見いだされるまで、最も内側のものへ繰り返される。一旦いかなる親指およびてのひら接触部でも識別されると、ステップ448は、リングおよび比較的高い垂直位置のそれぞれの配列によって、残っている指先接触部を識別する。
【0160】
この代替アルゴリズムが適切な位置への制約を押しつけるためにアトラクタテンプレートを含まないので、リングの他の接触部と適切に推定された手のオフセットのために、各々の接触部のためのファジーな検証関数は、適切な接触部の垂直位置の測定値を含む必要がある。アトラクタテンプレート実施形態は、この別の実施形態より好まれる。その理由は、アトラクタ実施形態が、指識別プロセスの中に、より手際よく接触部と推定された手のオフセットとの間の期待される角度を含むからである。
【0161】
手の識別は、マルチタッチ表面のために、同時に両手を適応させるのに十分大きく、かつ、手が自由に交差して、表面の両方の半分に対して中央を歩き回ることができるように、接合される表面の左右半分を有することを必要とする。手の識別の最も単純な方法は、接触部が最初に表面の左または右の半分のいずれにタッチダウンしたかどうかによって、各々の接触部へ手自身を割当てることになっている。しかしながら、手が中央(左右の半分にまたがること)にタッチダウンした場合、いくつかの手の接触部は、左手へ割当て、他を右手へ割当てて終了する。したがって、手の接触部の集まっている性質を考慮するより洗練された方法は、全ての接触部が同じ手から同じ識別を得ることが確実に適用されなければならない。一旦全ての表面接触部が最初に識別されると、経路追跡モジュールは、手のスライドとして表面の片側から他まで信頼できるように既存の識別を保持することができる。
【0162】
親指と内側のてのひら接触部方位、および適切な親指配置は、クラスタ位置から独立している唯一の接触部特徴である。それは、孤立した右手接触部のクラスタを左手接触部のクラスタから区別する。親指が表面を離れて持ち上げられる場合、右手接触部クラスタはほとんど左手クラスタから見分けがつかなくなるように見える。この場合、クラスタ識別は、クラスタがボードのどちら側から始まっているかによって大きく依存しなければならないが、最近、近くでリフトオフされた接触部のアイデンティティは、また有用であると判明する。例えば、右手が、右側から表面の中央へ移動して、リフトオフする場合、次の接触部は、中央へ移動している左手と右手の位置を変えることではなく、右手が再びタッチダウンしているように現われることである。手が最も最近中央近くにあることに従って、表面の左右半分の間の分割は右または左の方への移動する。したがってダイナミックである。手のオフセットは、一時的に、リフトオフの後、最後に知られている手の位置を保持すると推定することから、このようなダイナミックな分割は、推定された手の位置のため左手および右手アトラクタテンプレートの位置を結ぶことにより実現される。
【0163】
ユーザが、予期しない位置に手を突然置くことでによって、手識別システムをだますことができる場合はあるけれども、ユーザは、これらの場合に、システムを実際にだましたい場合もある。例えば、表面を使用することができる一つの手だけを有するユーザは、遠く表面の反対側の半分の上へ、反対側の手のコード入力する動作にアクセスするために故意に手を置く。したがって、手のクラスタがうまく表面の反対側の半分に、突然、タッチダウンするときに、その本当の識別に関係なく、それは問題なく反対側の半分の識別を与えられることができる。中央を横切りアーチ形にされた表面は、また、ユーザが厄介な前腕回内運動によって手を反対側へスライドさせるべき場合を妨げることができる。
【0164】
FIG.29は、手識別モジュール247内でのプロセスの詳細を示す。
【0165】
まず、判断ステップ450は、手認識アルゴリズムが、実際に、全ての経路近接値が安定したかどうか調べることにより実行される必要があるか否かを決定する。識別の安定度を最大にするために、新しい手の部分がタッチダウンするか、あるいは既存の接触部の曖昧さの特徴がより強くなるとき、手および指識別は、再評価されることのみ必要とする。初めの表面接触部の後数十ミリ秒間、肉体が表面に対して完全に押圧するまで、接触部サイズおよび方向の特徴は、信頼できない。したがって、判断ステップ450は、新しい接触部が現れる各々の近接画像に対し、および任意の新しい接触部のトータル近接値が増大し続ける次の近接画像に対し、手識別アルゴリズムを実行する。既存の接触部の近接値が安定し、新しい接触部が現われない画像に対して、経路追跡プロセス245により実行される経路継続は、以前の画像から計算される接触部識別を保持して延長する(ステップ452)のに十分である。
【0166】
手識別アルゴリズムが、現在画像に対し起動される場合、まず、ステップ453は、左右の手のアトラクタテンプレート(attractor template)を定義し、配置する。これらは、基本的に、両方の左右のリング(ring)が現在すぐに利用されなければならない以外は、手内識別において使用されるアトラクタテンプレート(FIG.24、ステップ352)と同じものでなければならない。お互いに対するリングのデフォルト配置は、FIG.20Aに示されるデフォルト左右手接触部位置に対応しなければならない。FIG.20Bにおいて、いいかげんな分割領域がその手にしたがうように、各々のリングは、その手の評価された位置にしたがうように移行する。個々のアトラクタポイントは、対応する評価された指オフセットによって、問題なく移行されることができる。したがって、左手Lおよび右手Hアトラクタリングに対しての、最終的なアトラクタ位置(Ajx〔n〕,Ajy〔n〕)は、以下のとおりである。
【0167】
【数29】
基本的に、手識別アルゴリズムは、一のリング対他のリングにおいて、接触部にアトラクタを割当てるコスト(cost)、各々の接触部およびその指定されたアトラクタとの間の加重距離の合計に従うコストを比較する。評価された手および指オフセットを有するアトラクタリングを調節することは、現在の手の割当てに似ている割当て仮説のための相対コストを低下させ、手が一時的に持ち上がるときでも、連続した近接画像にわたって識別を安定させるのに役立つ。
【0168】
次に、一セットの割当て仮説が、作り出され、比較されなければならない。賢明な仮説を作り出す最も効率的な方法は、水平方向に隣接する接触部との間に一つずつ、一セットの概略的に垂直方向の等高線(contour line)を定義することである。ステップ454は、これを、水平座標によって、全ての表面接触部を整理し、各組の隣接する水平座標の間の中途で垂直方向の等高線を定めることによって、行なう。FIG.30A−Cは、3つの異なった等高線475、および固定セットの接触部に対する組み合わされた割当て仮説の例を示している。各々の等高線は、パーティション(partition )としても知られている分離した仮説に対応しており、ここで、等高線の左476に対する全ての接触部は、左手からであり、等高線の右477に対する全ての接触部は、右手からである。等高線はまた、表面上の全ての接触部は同じ手からであるという仮説を取り扱うために、表面の左右の端部で必要である。一つの与えられた手上で、片手によって引き起こされ得るよりも多くの接触部を仮定する等高線は、直ちに除去される。
【0169】
垂直方向の等高線を介してパーティションを作り出すことは、一方の手の接触部は、反対側の手の接触部と水平方向にオーバーラップあるいは交差するという、全ての仮説を回避する。各々の手は、7つ以上の異なった接触部をもたらすことができることを考えれば、これは、数千から多くとも数万まで吟味する手識別交換の数を減らす。吟味するより少しの仮説を有することにより、各々のパーティションの評価はずっと洗練されることができ、そして必要ならば、計算機的に高価となる。
【0170】
最適サーチループが次に続く。その目的は、当該クラスタ(cluster)位置および各クラスタ内の接触部の配置が公知の解剖学的のおよびバイオメカニカルな制約を最も満たすように、等高線のいずれが接触部を2つの接触部クラスタのパーティションに分割するかを決定することである。最適化は、例えば最も左などの第1等高線ディバイダを選択し(ステップ456)、および等高線の左についての任意の接触部を左手に仮に割当て、残りを右手に割当てる(ステップ458)ことから始める。ステップ460は、指およびてのひら識別を各手内の接触部に割当てるように試みる、FIG.23の指識別アルゴリズムを起動する。判断ステップ360は、親指検証368の計算機的出費、およびこの仮の割当て仮説のための統計学的収集364を避ける。
【0171】
FIG.29に戻って、ステップ462は、パーティションのためのコストを計算する。このコストは、仮に識別された接触部がどれくらいうまく割当てられたアトラクタリングに適合したか、およびパーティションがどれくらいうまく手の間の分離制約を満足するかを評価することになっている。これは、親指およびてのひらアトラクタのための寸法および方向特徴を含む、指識別の式54のように、各手に対する、各々の仮に識別された接触部からその割当てられたアトラクタポイントまでの加重距離の合計を計算することによってなされる。この合計は、手のための基本的なテンプレートフィッティングコストを表示する。各々の手のコストは、それから、そのクラッチング(clutching)速度、利き手(handedness)およびてのひらの結合(cohesion)ファクターの逆数で、全体として重み付けされる。これらのファクターは、後述するが、加重アトラクタ距離によって下方強調される更なる制約を表示する。最終的に、重み付けされる左右の手のコストは合計され、手の分離ファクターの逆数によって調整され、パーティションのためのトータルコストを得る。
【0172】
判断ステップ464が、このトータルコストが今までのところ464で評価されたパーティションのトータルコストより低いと判断した場合、ステップ466は、最も低いものとしてのパーティションコストを記録し、分割している等高線を記録する。判断ステップ472は、全部のパーティションのコストが評価されるまで、各等高線470に対してこのプロセスを繰り返す。ステップ473は、実際の手パーティショニング473として、全体的に最も低いコストを有するパーティションを選び、全ての接触部経路の手識別は、それに応じて更新される。そして、ステップ474は、親指検証および統計学的収集プロセスが実際の手割当てを使用して実行されるように、手の中における指接触部識別プロセスを再び行なう
ユーザは、たびたび、例えば、右手が表面の右側でのスライドから離れて持ち上げられ、表面の中央にタッチダウンし、右の方へのスライドを再開する、クラッチング動作を実行する。したがって、手が表面の中央にタッチダウンし、一方の側部へスライドすることが検知されるとき、それは、多分その側部から来たであろう。およそFIG.31Aにおいてプロットされる手の速度ファクターは、手のクラスタの接触部が、ボードのクラスタの割当てられた側部の方へ移動しているとき、値がわずかに増大することによってこの現象を捕らえ、こうして手の基本的なコストを減少させる。そのファクターは、水平方向の速度の平均、および与えられたクラスタが割当てられる表面の当該側部の関数である。高速が必ずしもユーザの意志のより強い指示を与えるというわけではないので、そのファクターは、中ぐらいの速度で飽和する。
【0173】
親指が表面のあいまいな中間領域に置かれるとき、親指の方向ファクターは、親指がどちらの手からのものであるかを識別するのを助けるけれども、同じ手の他の指に対する親指の垂直方向位置はまた、利き手の強い指示を与える。親指は、指先より非常に低く位置されて置かれる傾向があるが、小指は、他の指先よりほんのわずかに低いだけの傾向がある。最外部の指先として識別される接触部が、次の最外部の指先接触部より数センチメートル以上低いとき、 FIG.31Bにおいて概略プロットされた利き手ファクターは、手のコストを押し上げることによってこの制約を利用する。そのような場合、クラスタ内の全ての接触部に対する仮の手割当ては、多分間違っているだろう。これは、手の中での識別アルゴリズムが、その接触部を間違ったアトラクタリングに適合させることになるので、おそらく低い小指は反対側の手の本当に低い親指であるように、指識別は逆になる。あいにく、限定された信頼が利き手ファクターにおいて配置され得る。小指は、親指ほど低く現われないけれども、外側のてのひら後部は可能であり、一方の手の親指および指先が、反対の手の指先および外側のてのひら後部と同じ接触部配置を有するという曖昧性を生み出す。この曖昧性は、利き手ファクターが、正確に識別された手のクラスタに対して誤って低くなるようにするので、利き手ファクターは、手の位置があいまいである表面の中央のクラスタに使用されるだけである。
【0174】
同じ手の小指と親指とが20cmにまで達するように指がいっぱいに伸ばされたとき、クラスタは全くまばらで大きくなるので、接触部クラスタを区別することは、挑戦することである。しかしながら、てのひらはほとんど割に伸びることができず、同じ手から、てのひらの後部と前部のてのひらがどのくらい離れるかにおいて、有用な制約を置く。いっぱいに伸ばした大人の手の全てのひら領域は、約10cm四方であるので、てのひら接触部重心は、約8cmより大きい領域にわたって散在されない。パーティションが、クラスタをなす反対側の手からの指を誤まって含むとき、クラスタ内での識別アルゴリズムは、反対側の手からてのひら後部およびてのひら前部アトラクタまで、余分な指を割当てる傾向がある。これによって、通常、クラスタのてのひらアトラクタに割当てられる接触部は、片手からの真のてのひら接触部のためのもっともらしいものより広く、表面を横切って散在する。このようなパーティションを処罰するため、てのひら結合ファクターは、急速に、仮定されたてのひら接触部が8cmより大きい領域にわたって散在する仮の手のクラスタに対して、下方に落ちる。したがって、その逆数は、手の基本的なコストを大幅に増大するであろう。FIG.31Cは、てのひら接触部間の水平方向距離に対するてのひら結合ファクターの値を示す。水平方向の広がりは、てのひら後部あるいはてのひら前部として識別される全ての接触部の最大および最小水平座標を見いだし、最大および最小間の差を取ることによって、能率的に測定されることができる。測定およびファクターの値のルックアップは、垂直方向距離のために繰り返され、水平および垂直方向のファクターは、最終的なてのひら結合ファクターを得るために乗法的に結合される。
【0175】
FIG.33は、手の間の分離ファクターの概略のプロットである。このファクターは、各々の手からの親指の評価されたあるいは実際の水平方向位置が近接またはオーバーラップする、パーティションのトータルコストを増大する。それは、対応するデフォルト指位置に関する、右手接触部の水平方向のオフセットの最小値を見いだすことにより測定される。同様に、対応するデフォルト指位置に関する、左手接触部の水平方向のオフセットの最大値が見いだされる。これらの手のオフセット極値の間の差が、親指の表面に触れるかまたはその上に浮くかする間に親指がその表面の同じ円柱の領域を重ねていることを示唆するのに十分小さい場合、分離ファクターは、非常に小さくなる。このようなオーバーラップは、プロットの負の親指分離に対応する同じクラスタについて相互に数センチメートル以内にある接触部の割当てを促進するために、分離ファクターは、徐々に数センチメートル以下の正の分離をもって開始しながら落とし始める。手の間の分離ファクターは、全ての表面接触部が同じ手に割当てられるパーティションに適用できず、この場合、そのデフォルト値を取る。
【0176】
この手識別プロセスの別の実施形態は、更なる制約ファクターを含むことができ、本発明の範囲内で適切に維持する。例えば、速度一致(coherence)ファクターが、全体として各クラスタが速度および方向の異なる平均値を有するけれども、クラスタ内の全ての指がほぼ同じ速度および方向でスライドする、パーティションを与えるために計算されることができる。
【0177】
新しい近接画像情報が既存の識別が間違っていることを示唆するときでも、既存の手識別を基礎として、コード動作認識装置あるいはタイピング認識装置によってなされる不可逆な判断は、時には手接触部の識別における遅い変化を防止する。これは、コード内のいくつかの指が反対側の手に帰されたと示すスライドの新しい画像情報にまだ適切に、元に戻せない入力事象を作り出すコードスライドの場合であるかもしれない。この場合、ユーザは、スライドを停止し、可能性のある入力エラーについて調べるよう警告され得るが、一方では、たとえ間違っていても、誤った入力事象に加えられるときに更なる予測できない効果を有する割当ての修正に切り替えるよりはむしろ、既存の識別を維持することが最もよい。したがって、コードスライドが一旦入力事象を作り出すと、既存の経路の識別はロックされるので、手識別アルゴリズムは次の新しい接触部の識別を交換することができるだけである。
【0178】
この手識別プロセスは、異なった形状のマルチタッチ表面に改変されることができ、本発明の範囲内に適切に留まる。表面が狭いために親指がお互いのスペースを侵略するか、または高いために一方の手が他方の上に位置し得るので、等高線は、まっすぐな垂直方向の線である必要はない。更なる等高線は、親指を重ねている候補のまわりに張ることができ、あるいは、それらは評価された手の位置間のベクトルに対する垂線であり得る。表面が複数のユーザのために十分大きい場合、更なるアトラクタリングは、各々の更なる手のために備えられなければならず、複数の分割等高線は、仮説ごとに表面を2つを超える部分に仕切るために必要であろう。一方の手のみに対し十分大きい表面上で、それは、どちらの手が表面に触れているかを決定するのにさらに必要であるかもしれない。それから、異なった等高線を仮定する代わりに、手識別モジュールは、左手アトラクタリングあるいは右手アトラクタリングが表面上で中央に置かれる、という仮説を評価するであろう。全ての側からのアクセスを許すために表面が柱脚に設けられる場合、手識別モジュールはまた、各々のアトラクタリングの種々の回転を仮定するであろう。
【0179】
アトラクタに基づく指識別システム248は、ペングリップの手のコンフィギュレーションを備える個々の手接触部を首尾よく識別する(FIG.15)。しかしながら、更なるステップが、ペングリップ内での固有の指配置と、閉じた手のコンフィギュレーション内での通常の配置とを区別する必要がある(FIG.14)。このペングリップ配置において、外側の指はてのひらの方へ下にカールするので、指関節は表面に触れ、人さし指は前に突出する。ペングリップ検出モジュール17は、この固有の配置を検出するために親指検証プロセスと同様のファジーパターン認識プロセスを用いる。
【0180】
ペングリップの手のコンフィギュレーションを介して手書き文字認識を備えた更なる問題は、内側のグリップしている指および時には全部の手が、ストローク間で拾われ、区別している指配置を一時的に消失させることである。したがって、ペングリップ認識プロセスは、グリップしている指のリフトオフ間で、手書モードにとどまるためのヒステリシスを有しなければならない。好適な実施形態においては、ヒステリシスは、実際の指が表面からリフトオフする間、結合されたファジー決定ファクターの時間的なフィルタリングによって、および指配置の測定において評価された指位置を使用することによって、得られる。評価された指位置は、一時的に、リフトオフの数秒後に、通常のアーチ型の指先位置の方へ戻って減衰する前に固有の突出している配置を維持するので、有効ヒステリシスを提供する。
【0181】
FIG.28は、ペングリップ検出モジュール17内でのステップを示す。判断ステップ485は、全てのペングリップの手の部分が表面に触れているかどうか決定する。そうでない場合、判断ステップ486は、ペングリップあるいは手書のモードがすでに使用中である場合だけ、ステップ487において評価された指およびてのひら位置が任意のリフトオフ部分に対して引き出されるようにする。そうでない場合、十分な表面接触部が無いためプロセスは外に出る。このように、評価された指位置は、手書モードを始めるのに使用されることができないが、それらは継続することができる。ステップ488は、表面に触れている指およびてのひら後部の測定された位置および寸法を引き出す。
【0182】
ステップ489は、外側の指の寸法、および外側の指接触部が通常の指先より大きくなっててのひら後部に近づくときにピークに達する、てのひら後部からの垂直方向の距離から、指関節ファクターを計算する。ステップ490は、人差し指先が指関節の前に更に突出するときにピークに達する内と外との指の垂直方向の座標間の差から、突出ファクターを計算する。ステップ491は、ファジー論理式で指関節および突出ファクターを結合し、そして、自己回帰の(autoregressive)あるいは移動している平均フィルタを通して、以前の結果を備えた結果を平均する。判断ステップ492は、フィルタさせられた式の結果が、更なるヒステリシスを提供するためにそれ自身可変的である閾値より上にある場合、ペングリップモードを続け、あるいは開始する。ペングリップモードの間、タイピング12およびコード動作認識18は、ペンをグリップしている手に対して不可能である。
【0183】
ペングリップモードにおいて、判断ステップ493は、内側のグリップしている指が実際に表面に触れているかどうか決定する。もしそうならば、ステップ495は、内側の指の経路パラメータから、インキング事象を作り出し、ホスト通信インタフェースの出力事象待行列に、追加する。インキング事象は、描画あるいは署名を捕獲するために「デジタルインク」をディスプレイ24に置くことができ、あるいは、手書き認識システムによって横取りされて意思表示あるいは言語記号として解読され得る。手書き認識システムは、公知技術である。
【0184】
内側の指が持ち上げられる場合、ステップ494は、スタイラス上昇事象をホスト通信インタフェースに送り、記号間のブレークの手書き認識システムに指示する。あるアプリケーションにおいて、ユーザは、「デジタルインク」または解読された記号がカーソルを配置することによりディスプレイに挿入されることになる位置を示す必要がある。マルチタッチ表面上で、ユーザは、ペングリップ構成を離して指コードをスライドさせることによりカーソルを移動できるけれども、ペングリップ構成から離れることなく、カーソルの配置を許すことが好ましい。これは、てのひら後部および外側の指関節のスライドから、カーソル配置事象を作り出すことによってサポートされ得る。通常のライティング動作がまた、てのひら後部および外側の指関節のスライドを含むので、内側の指が数百ミリ秒持ち上げられるまで、てのひら動作は無視されなければならない。
【0185】
ユーザが実際に伝導性のスタイラスを取り上げ、それで書こうと試みる場合、内側のグリップしている指は、ストロークの間表面に触れることよりむしろ、表面の上方からスタイラスを導いているので、手のコンフィギュレーションはわずかに変化する。前腕は、実際にスタイラスを保持するとき、よりあおむけになる傾向があるので、手が小指、薬指および外側のてのひら後部の側部に載っている間、内側のてのひら後部はまた、表面を離れたままである。外側のてのひら後部が小指に関し通常よりはるかに外方に位置するけれども、小指および薬指は、大きい指関節接触部が外側のてのひらの近くにカールされるように現れる。スタイラスの先端は、本質的に、識別のための人差し指先に取って代わり、指関節の垂直方向のレベルあるいはより上に残る。このように、ユーザがスタイラスで書くときに、ペングリップ検出器は、ホスト通信インタフェースに送信される人差し指先経路が、実際にスタイラスによってなされることを除いて、本質的に同じ方法で機能することができる。
【0186】
技術的に、各々の手は、結合された全ての指接合部における移動の24の自由度を有しているが、実用的な問題として、コードリンク機構の限界は、全ての接合部を独立して動かすことを困難にさせる。表面上の指接触部の測定は、表面に対し横方向(lateral)の動作において10の自由度、表面に対し個々の指先圧力あるいは近接値において5の自由度、および親指方向の1の自由度を与える。しかしながら、これらの自由度の多くは、範囲を限定しており、独立にアクセスするためには、一般ユーザから、不合理な捩れ(twisting)および器用さを必要とする。
【0187】
動作成分抽出モジュール16の目的は、2および3次元の普通のグラフィック操作タスクのために十分な自由度の、16の識別できる自由度から、抽出することである。2次元において、最も普通のタスクは、水平および垂直方向の動作、回転、ズームおよびサイズ変化である。3次元において、2つの更なる回転の自由度が、水平および垂直の軸のまわりで利用可能である。動作成分抽出器は、お互いに妨げることなく簡単で同時に実行され得る基本的な手動作から、これらの4−6の自由度を抜き出すように試みる。
【0188】
複数の自由度が同時にアクセスされ得るとき、それらは分離できるというよりはむしろ一体であると言うことができ、そして、動作を一時に単一の軸あるいは自由度に沿ってであるように制限するよりもむしろ、対角線動作を許容するので、一体的な入力装置は通常速い。4つの自由度だけが必要であるとき、基本的な動作は、全部の手の移行、指を一様に曲げあるいは伸ばすことによる手の拡大縮小(scaling)、およびジャーのふたを緩めるときのような手首についての、またはナットを緩めるときのような指間の、手の回転であり得る。これらの手の動作は、直観的に対置できる親指を含む動作を利用するので、実行するのが簡単なだけではなく、認知的に、対象回転およびサイズ設定のグラフィック操作タスクに対応する。それらの唯一の欠点は、これらの手の回転および拡大縮小の間の、全ての指の移行運動は、完全に取り消すというわけではなくて、所望の回転あるいは拡大縮小に加えて、ある方向における正味(net)移行に達するまでその代わりに加えることができる、ということである。自由度が一体ではあるが、意図されていない移行が不完全に実行される拡大縮小および回転を防ぐように、同時に実行される全ての動作を許容するために、動作抽出器は、移行がうまく非線形にお互いに対する速度にしたがうスケール速度成分をキャンセルする指を、優先して重み付けする。
【0189】
動作成分抽出器16内のプロセスは、FIG.34に示される。ステップ500は、まず、与えられた手のための識別された接触部経路250を取り込む。これらの経路は、横方向の速度および近接値を含み、動作計算において使用され、個々の動作成分計算の等級を下げる所定の指あるいはてのひらの動作が重視されないように、識別が必要とされる。
【0190】
次のステップ502は、指近接値が急速に変化するとき、更なるフィルタリングを横方向の接触部速度に適用する。これは、表面上の指のリフトオフおよびタッチダウンの間、たびたび指先の前面部分が、指先の背部の前にタッチダウンし、指先の背部の後でリフトオフし、指重心における正味の下方あるいは上方への側面方向の移行を起こすので、必要である。このような近接値に依存する移行は、細かい位置決め制御のために指先をゆっくりと転がすとき、良好な使用に当てられることが可能であるが、指リフトオフの間に、カーソルを選択された位置から離れさせる場合、それらはまた、ユーザを悩まし得る。これは、指の近接値における大きい変化に比例して、指の横方向の速度を一時的に小さくすることによって防止される。一つの指がリフトオフするときに手内の他の指が僅かに移動する傾向があるので、各々の指の速度の更なる縮小は、接触部している指の中での近接値における最大変化率に応答してなされる。あるいは、より明確な抑止は、指接触部高さの瞬間的な変化に比例した量を、横方向の指の速度から減ずることによって、得ることが可能である。これは、最初にリフトオフあるいは最後にタッチダウンする指先の背部のために、指のリフトオフによって起こされる横方向の指の速度の摂動が、接触部高さの変化に比例していると推定される。
【0191】
詳細なステップがFIG.36に示されるプロセス504は、半径方向(拡大縮小)および回転方向の動作から、極の速度成分を測定する。回転が親指の方向変化から抽出されない場合、少なくとも2本の接触部している指が、手の中での半径方向あるいは角度方向の速度を計算するのに必要である。親指動作は、他の指が相互に対するよりも、他の指と非常に独立しているので、これらの指のうちの1本が対置できる親指である場合、拡大縮小および回転はユーザにとって実行するのがより簡単であるが、測定方法は、親指なしで機能する。判断ステップ522が、2つより少ない指が表面に触れていると決定した場合、ステップ524は、手の半径方向および回転の速度をゼロに設定する。FIG.35は、収縮性のある手の拡大縮小の間の、各々の指の軌道を示す。親指201および小指205は、概略的に同じ速度で、大体反対方向に移動し、それで、動作の合計がゼロ正味移行のために相殺するが、しかし、動作の差は、大きい正味の拡大縮小に対して最大にされる。中央の指202−204もまた、中心点の方に移動するが、てのひら後部は静止したままであり、中央の指の曲げを補足しない。したがって、中央の指および他の指の動作の間の差は、通常、小指および親指動作の間の差より小さく、手の拡大縮小の間の中央の指の速度の合計は、正味垂直方向の移行になるまで加えられる。類似した現象は、回転が、てのひら前部に中心付けられるよりはむしろ、固定された前腕を有する手首に中心付けられる場合を除いて、手の回転の間に発生し、正味水平方向移行は、指のいかなる組合せからでも、動作の合計に現れる。
【0192】
指動作の差は、通常、親指および小指の間が最も大きいので、ステップ526は、手の拡大縮小および回転測定のために、最内および最外の接触部している指の現在および以前の位置を引き出すのみである。
【0193】
ステップ528は、それから、近似的に以下の式で、最内の指FIおよび最外の指FO間の距離変化から、手の拡大縮小の速度Hvsを計算する。
【0194】
【数30】
ここで、d{FI[n],FO[n]}は、指間の平方ユークリッド距離である。
【0195】
【数31】
最内あるいは最外の指のうちの1本が、以前の近接画像の間、触れていない場合、分離距離の変化は、ゼロであると推測される。同様に、ステップ530は、近似的に以下の式で、最内および最外の指間の角度変化から、手の回転の速度Hvrを計算する。
【0196】
【数32】
角度変化は、移行および拡大縮小成分と同じ単位に変換するために、現在の分離距離により増加される。これらの式は、手がまた全体として移行している場合であっても、手の動作の任意の回転および拡大縮小成分を捕らえ、こうして、回転および拡大縮小の自由度を移行に一体化させる。
【0197】
上記計算が、小指および親指、または最内および最外の指に制限されるという他の理由は、ユーザは、親指および小指が静止状態にある間に、中央の指、すなわち人差し指、中指および薬指での細かい移行操作をしたいかもしれないということである。中央の指および親指の間の距離あるいは角度の変化が、式66−68で平均化される場合、中央の指の移行によって、静止された親指あるいは小指に関して回転あるいは拡大縮小が発現するであろうから、このことはあり得ない。しかしながら、親指検証プロセスにおいて適用される式56−60は、指間の固定点についての対称的な回転および拡大縮小に敏感なだけである任意の著しい全体の手の移行が発生しているか、あるいは指動作が補足されていない場合、それらはゼロに近づく。ユーザが、回転あるいは拡大縮小意思表示する間、適切に最外の指を動かさない場合、ステップ531は、式56−60の形の近似式を使用して、親指と最外の指より他の任意の接触部している指との間の回転および拡大縮小の速度を計算する。結果として生じる速度は、移行動作が固定点を回転あるいは拡大縮小させてゼロとなる平均よりもむしろ、最大操作に対する式66−68の結果と好ましくは結合される。最終的に、判断ステップ532は、指リフトオフ前の動作の間、半径方向あるいは回転方向の減速に対するチェック534を命じる。半径方向あるいは回転方向の減速を検出する方法は、移行抽出の説明において詳述されるものと同じである。
【0198】
FIG.37は、FIG.34のプロセス506において参照される手の移行速度の測定の詳細を示す。手の移行速度を計算する最も簡単な方法は、単に各々の指の横方向の速度を平均することであろう。しかしながら、ユーザは、たとえいくつかが静止している場合でも、何本の指が動いているかにかかわらず常に、再表示する動作あるいは制御を期待する。さらに、ユーザが同時に手を拡大縮小あるいは回転させている場合、単純な平均は、キャンセルされない中央の指の動作によって起こされる、偽の正味移行に敏感である。
【0199】
したがって、好適な実施形態において、移行成分抽出器は、平均移行を計算する前に慎重に重みを各々の指に割当てる。ステップ540は、各々の指の移行重み付けFivwを、そのトータル接触部近接値、すなわちFivw〔n〕≒Fiz〔n〕に初期化する。これは、表面に触れていない指は平均をゼロ速度に薄めないことと、位置および速度測定がより確実でないかもしれないので軽く触れるだけの指はより少ない影響を有することと、を保証する。次のステップ544は、故意に移動している指のゲインを表示する制御が薄められないように、比較的静止している指の重み付けを減少させる。これは、最も急速に移動している指を見いだすことによってなされることができ、最大指速度としてその速度を記録し、指速度の最大速度によって割られたその速度に比例して、以下の式に近似的に示されるように、各々の指の移行重み付けを拡大縮小する。
【0200】
【数33】
ここで、パワーptwは、速度依存強度を調節する。なお、ステップ544は、例えばユーザが通常のカーソル動作ゲインモードと低ゲインモードとを求めるコンピューター支援設計のような、アプリケーションのためにスキップされ得る。より低いカーソル動作ゲインは、細かく、短い範囲の位置決めに役立ち、残りを静止させておく間に1または2の指だけを動かすことによってアクセスされ得るであろう。
【0201】
ステップ546は、手の拡大縮小および回転の間、中央の指に対して移行重み付けを減少させる。もっとも、親指および小指が静止している間、それは中央の指が移行操作を細かくすることを防止しない。下記の式は、回転が大きいとき中心移行重み付けを減少し、Kpolarthreshと比較して大きくなった速度を拡大縮小することによって、継ぎ目無く、これを達成する。
【0202】
【数34】
ここで、これらの式は、識別iが最内および最外の間のものである中央の指だけに適用される。なお、手の拡大縮小はあまり水平方向の移行の偏りを起こさないので、水平方向の移行重み付けFivwx〔n〕は、式70の手の拡大縮小の項目の欠如により示されるように、手の拡大縮小速度Hvs〔n〕によって影響される必要はない。最内および最外の指の移行重み付けは、極成分速度、すなわちFivwx〔n〕≒Fivwx〔n〕≒Fivw〔n〕およびFOvwx〔n〕≒FOvwx〔n〕≒FOvw〔n〕、によって、変化されない。ステップ548は、最終的に、指速度の加重平均から、手の移行速度ベクトル(Hvx〔n〕,Hvy〔n〕)を計算する。
【0203】
【数35】
【0204】
【数36】
移行計算の最後の部分は、ユーザがリフトオフ時にカーソル動作が停止することを願うかどうかを信頼できるように示す、リフトオフ前の指の横方向の減速に対してテストすることである。減速がリフトオフの前に検出されない場合、ユーザはカーソル動作をリフトオフの後で続けるつもりであるか、あるいは、ユーザは特別な「ワンショット」コマンドを起動するつもりかもしれない。判断ステップ550は、減速測定を妨げることからの指のリフトオフを伴うことができる、指重心の摂動を防ぐほどには指の近接値が急速に落ちていない間に、減速テストを起動する。ステップ551は、移動しているウィンドウ平均あるいは自己回帰のフィルタにより計算される、過去の平均移行速度に対しての、加速度率(percentage acceleration)あるいは現在の移行速度|(Hvx〔n〕,Hvy〔n〕)|の比率を計算する。判断ステップ552は、加速度率がある閾値より小さい場合、移行減速フラグをセット556する。この閾値が1より大きく設定される場合、ユーザは、ちょうどカーソル動作を続けるためのリフトオフの前に、指を速めていなければならない。閾値がちょうど1の下で設定される場合、ユーザがリフトオフの前に一定の横方向の速度を維持する限り、カーソル動作は信頼できるように続けられるであろうが、しかし、ユーザがディスプレイのターゲット範囲に近づける際にカーソルを遅くし始める場合、減速フラグが設定されるであろう。判断ステップ554はまた、現在の移行方向が過去の方向の平均と実質的に異なっている場合、減速フラグが設定されるようにすることができる。このような方向変化は、手動作軌道がカーブしていることを示しており、この場合、ユーザによって意図されたターゲットに方向を正確に決定することが非常に難しくなるので、カーソル動作はリフトオフの後に続けられない。減速も曲線状の軌道も検出されない場合、ステップ558は、移行減速フラグをクリアする。これにより、指が結果的にリフトオフし始める場合、カーソル動作の継続が可能となるであろう。なお、判断ステップ550は、リフトオフの間、移行減速フラグの状態が変化するのを防ぎ、それで、カーソル動作を続けるリフトオフの後の決定が、リフトオフが始まる前の減速フラグの状態に依存する。最終のステップ560は、自己回帰の、あるいは動いている手の移行速度ベクトルのウィンドウ平均を更新し、そして、それは、リフトオフの後の継続的なカーソル動作の速度になり得る。FIG.40について説明されるように、継続したカーソル動作シグナルの実際の生成は、コード動作認識装置18において生じる。
【0205】
なお、このカーソル動作継続方法は、関連技術における動作継続方法にわたるいくつかの利点を有している。動作を続けるという決定は、本来的に任意の速度範囲に対して正規化する、加速度率に依存するので、ユーザは、非常に低い速度を含む広範囲にわたる速度から、意図的に動作継続を起動できる。このように、ユーザは、直接スローモーション継続を起動して、読むことができる速度で文書をオートスクロールできる。これは、ユーザの動作が高い速度閾値を上回るとき動作を続けるだけの、米国特許第4,734,685号におけるワタナベの方法に当てはまらず、そして、ユーザが大きいターゲットに近づく際に減速するがリフトオフ前に完全に停止しないとき、低い指の速度が望ましくなく動作を続ける場合の、米国特許第5,327,161号におけるローガンらの方法にも当てはまらない。加速度率はまた、境界領域における指の位置よりも、明らかにユーザの意志を捕らえる。ギレスピーらの米国特許第5,543,591号で使用されているような境界領域における指の位置は、カーソルがちょうど指が境界に入るときにディスプレイ上の所望のターゲットに到達でき、さらに、指が動くためのスペースを使い果たすので、タッチパッド装置がターゲットを過ぎてカーソル動作を続けることから、あいまいである。本発明において、他方では、物理的なバリアをヒットすることのないセンサアレイのエッジを指がスライドできる場合、加速度率は1の近くで残留し、動作継続を分別よく起動する。しかし、指がセンサアレイのエッジで交差あるいは停止する前に減速する場合、カーソルは、望ましくは停止する。
【0206】
差分手圧力抽出プロセス508の詳細は、FIG.38に示される。圧力が骨の先端を通して硬い表面に垂直に印加されるとき、指先近接値は、急速に飽和する。表面自身があまり従順でない場合、指先圧力の最良のダイナミックレンジは、いっぱいに伸ばした指およびほとんど平らにされた手で得られ、それで、指先の下に圧縮可能な柔らかいパルプが表面に載せてある。判断ステップ562は、したがって、ステップ564で、チルトおよびロール(tilt and roll)手圧力成分がゼロに設定させられるようにし、そして、手がほとんど平らにされない場合、圧力抽出を止める。技術的に三脚のように配列される3つの同一直線上にない手接触部のみは、チルトおよびロール圧力を設定するのに必要であるけれども、手が平らであることのテスト562においては本来的に、手圧力測定の精度を最大にするように、大部分の5本の指およびてのひら後部が表面に接触部していることを確かめるための、指のカウントである。判断ステップ562はまた、表面上に全ての5本の指を配置する、つまり、表面上にてのひら後部を軽く触れ、最終的にてのひら後部を表面上に載せるような直観的な意思表示を備えた三次元の操作を明示的に可能とすることを、ユーザに要求し得る。判断ステップ566は、この開始シーケンスの終わりで全ての接触部の近接値が安定するとき、ステップ568に、各々の接触部経路に対して参照近接値を捕らえ、保存させるようにさせる。チルトおよびロール圧力成分は、このキャリブレーションが実行される間、センサアレイのスキャンサイクルに対して、再びゼロにセット564される。
【0207】
しかしながら、次のスキャンサイクルの間、ユーザは、前方により多くの圧力を指先に印加、あるいは後方により多くの圧力をてのひら後部に印加しながら、手を傾けることができ、あるいは、ユーザは小指および外側のてのひら後部の上に手を外方へ転がすことができ、あるいは内方へより多くの圧力を親指、人差し指および内側のてのひら後部に印することができる。ステップ570は、現在の接触部位置の重み付けされていない平均を計算することを進める。ステップ572は、表面にまだ触れている各々の手の部分に対して、以前に保存された参照近接値に対する現在近接値の比率を計算する。これらの比率を手の部分の偶然の持ち上げにより敏感にさせないようにするために、ステップ574は、1以上でそれらを切るので、近接値および圧力の増加のみがチルトおよびロール測定において登録する。他の平均接触部経路位置は、ステップ576において計算されるが、これは各々の経路に対する上記の計算された近接比率によって重み付けされる。ステップ578において得られる、これらの重み付けされた、および重み付けされていない接触部位置平均の間の差は、ベクトルを作り出し、その方向がロールあるいはチルトの方向を示し、その大きさがxおよびy軸についてのロールあるいはチルトの比率を制御し得る。
【0208】
重み付けされた、および重み付けされていない接触部位置平均は、現在接触部している指の位置、および接触部の圧力あるいは近接値の増加によって影響されるだけであるので、その方法は、指リフトオフに反応しない。近接値の絶対的変化よりむしろ、ステップ572における参照正規化された(reference−normalized)近接比率の計算は、大きいてのひら後部接触部が加重平均位置上の過度の影響を有することを防止する。
【0209】
現在の接触部位置だけが平均位置計算に使用されるので、ロールおよびチルトのベクトルは、横方向の運動が指圧力を乱さない限り、例えば手の移行あるいは回転などの横方向の運動から独立しており、このようにして、さらに完全を達成している。しかしながら、一般に指を曲げることは指先接触部範囲をかなり減少させ、こうして、指先圧力変化の推定を妨げるので、手の拡大縮小および差分手圧力は、同時に使用するのが難しい。これが重大な問題になるとき、トータルの手の圧力成分は、手の拡大縮小成分の代わりに、第6の自由度として使用されることができる。このトータルの圧力成分は、接触部近接比率の平均の1からの偏差に比例して、z軸に沿ったカーソル速度を発生させる。別の実施形態は、例えば、参照近接を載せている手の圧力の変化を遅くするように適合させること、および小さい値を有する圧力差ベクトルを無視するためのデッドゾーンフィルタ(dead zone filter)を適用することなどの、更なる増強を含む。
【0210】
結果ベクトルがお互いから独立しているように、極速度、移行速度、および手の圧力成分を測定するために取られる注意にもかかわらず、手の拡大縮小、回転あるいは移行の間の不均等な指動作が、主に他の中で動こうとする間に、一つの自由度の測定における小さな摂動をさらに発生し得る。FIG.34のステップ510および512において適用される非線形フィルタリングは、支配的な成分とほとんど静止された成分との間に残っている動作漏れを除去する。ステップ510において、各々の成分の速度は、その平均速度の、全成分の速度の最大値、支配的な成分の速度に対する比率によって、縮小される。
【0211】
【数37】
ここで、Hxyspeed〔n〕,Hsspeed〔n〕,およびHrspeed〔n〕は、移行速度、拡大縮小速度および回転速度の自己回帰平均であり、ここで、
【0212】
【数38】
であり、そして、pdsは、フィルタの強度を制御するものである。pdsが無限大の方へ調節されるとき、支配的な成分が選び出されて、支配的なものよりも小さい全ての成分はゼロの方へ向かい、作図アプリケーションにおいて周知の直交カーソル効果を作り出す。pdsがゼロの方へ調節されるとき、フィルタは効果を有しない。好ましくは、支配的なものよりかなり遅い成分が更に遅くされるように、pdsは中間に設定されるが、しかし、速度が支配的なものに近い成分は、かろうじて影響を受け、すぐに複数の自由度の対角線動作の可能性を維持する。自己回帰平均算出は、支配的な成分が遅くなって停止する間でさえ、長期にわたって支配的で他を抑制する、一つあるいは複数の成分を選び出すのに役立つ。
【0213】
ステップ512は、デッドゾーンフィルタとして知られる関連するフィルタ(related filter)を有する第2経路を受け取る。デッドゾーンフィルタは、速度閾値未満の入力速度のために“0”出力速度を作り出し、入力速度と閾値を上回る入力速度のための閾値との差に比例して出力速度を作り出す。好ましくは、速度閾値あるいはデッドゾーンの幅は、現在のコンポーネント速度の最大値の何分の一かに設定される。全ての速度成分は、この同じデッドゾーンの幅を利用してフィルタをかけられる。最終的な抽出されたコンポーネント速度は、コード動作認識モジュール18に転送される。コード動作認識モジュール18は、いかなる入力結果が動作から作り出されるべきかを決定する。
【0214】
FIG.39Aは、指同期検出モジュール14の細部を示す。後述する同期検出プロセスは、各々の手のために独立して繰り返される。ステップ600は、近接値マーカーとIDを手の現在の軌道のために取り出す。IDは、てのひらの軌道を無視して、同期された指の組合せを識別する。一方、近接値マーカーは、各々の接触部経路が押圧近接値閾値をはじめて上回る時間と、各接触部経路がトータルリフトオフの前にリリース近接値閾値をドロップする時間とを記録する。セグメンテーションサーチプロセス264によって本質的とみなされる最小近接値よりいくぶん高い近接値閾値を設定することは、より明確な指の押し離し時間を提供する。
【0215】
ステップ603は、ほぼ同じ時間に接触部する指のサブセット、およびほぼ同じ時間にリフトオフされた指のサブセットを探索する。これは、押圧近接値閾値と交差するように時間的に指示されたリストにおいて、各指の軌道と共にそれが押圧している時間を記録することによってされる。てのひらの一次機能が前腕をサポートすることであるという理由から、他の手によって押圧される検出を除いてタイプ入力認識装置12およびコード動作認識装置18によっててのひら動作内容が無視される。そして、てのひら後部によって押すことは、このリストおよび他の同期テストから排除される。2つの最近の指の押圧間の同期のために、リスト内の2つの最近の入力が比較される。それらの押圧時間の差がテンポラル閾値未満の場合、2つの指の押圧は、同期であるとみなされる。そうでない場合には、最近の指押圧は、非同期であるとみなされる。3本またはそれ以上で5本までの指の同期は、3本、4本あるいは5本の最近のリスト入力の押圧時間を比較することによって見いだされる。最近の入力の押圧時間が第n番目に最近の入力のテンポラリ閾値以内である場合、最近の指の押圧は、n番目に同期であることを示す。手を横切って接触部する場合の不正確を適応させるために、テンポラル閾値の絶対値は、同期を見つけるために検査された指の数に比例して僅かに増大する。同期を見出された最近の指の最大のセットは、同期したサブセットとして記録される。そして、このサブセットを含む指の識別のセットは、指識別ビットフィールドとして便利に格納される。その理由は、指がまだ残っているのに他の指が早く触れる場合、それらは同時に触れて、同期する押圧が、表面を現在触れている指のすべてを含むわけではないので、タームサブセットが、使用される。指離し時間の順序リストは、同じように別々に維持されて、探索される。同期された押圧サブセットにおいて包含されるまだ表面に触れている指を別の実施形態は必要とする。
【0216】
判断ステップ602は、同期化マーカーが前の画像スキャンサイクルからのペンディングであるかどうか調べる。そうでない場合には、判断ステップ604は、現在近接値画像においてサーチ603が新しく同期された押圧サブセットを見いだしたかどうか調べる。もしそうならば、ステップ606はテンポラル同期マーカーを新しい同期サブセット内で最も古い押圧に設定する。更なる指押圧は、このテンポラル同期マーカーの値に影響を及ぼすことのない将来のスキャンサイクルの間、サブセットに加えられる。同期に押す指が現在しない場合、判断ステップ605は、少なくとも3本の指がちょうど同時に離されたか否かを決定する。指のセットでタイピングをする間、少なくとも3つの指の同時離しは発生しない。しかし、休むために表面を離れて指を持ち上げるときに発生する。したがって、少なくとも3本の指を同時に離しが、離された指がキーを押圧するつもりでなかったことを確かに示し、同期を取って触れられた同じ指に関係なく、キー押圧キュー605から削除される。2本の指の離し同期化は、単独でタイプ入力の意志の確実なインジケータでなく、キー押しキューに対する効果を有しない。キー押しキューは、FIG.42〜43Bと共に後述する。
【0217】
一度、手のための押圧同期マーカーがペンディングされると、同期された指の押圧の数を調べる処理をさらに行い、同期された指が離れるのを待つ。判断ステップ608は、同期された押圧サブセットに少なくとも3本の指を見いだす場合、ユーザはこれらの指を用いたタイプ入力ができない。したがって、ステップ612は、直ちにキー押圧キューから少なくとも3つの同期押圧を削除する。このようにして、それらがホストに対するキーシンボル伝送を引き起こさない。そして、次の非同期押圧からのキーシンボルの伝送は、同期された指が離されるのを待つことを抑止されない。
【0218】
しかしながら、ステップ608において同期が2本の指の押圧にのみ関係する場合、ユーザが指の一対のコードをたたくつもりだったか、または、隣接する2つのキーをタイプするつもりで偶然に同時にキーの押圧が起こったのかを知ることは難しい。このような偶発的な同時押圧は、通常、2本の指の非同期な離しが続くが、指の対コードは、通常同期を取って離される。押圧が非同期キータップであるか、またはコードタップであるかの決定は、同期を調べられる指が離されるまで遅らせなければならない。一方、ステップ610は、可能な指コードまたはいかなる次の指押圧からのキーシンボルの伝送を防ぐために、キー押圧キュー上にホールドを配置する。キー伝送における長時間のバックアップを防ぐために、判断ステップ614は、両方の指が長い間に触れて残留する場合、キー押圧キューから同期する押圧を削除するステップ615を有することによって、最終的に、キューホールドを開放する。これは、押圧がキーをたたくつもりだったという憶測を中止するが、接触部の後すぐに指が持ち上げられなかった場合、その押圧はまたキータップでありそうもない。
【0219】
同期された指が持ち上げられていない場合、判断ステップ616は、次のスキャンサイクルの後、同期化マーカーのペンディングを残すので、更新された経路パラメータ600について同期の検査が続けられる。同期された指が持ち上げられている場合、判断ステップ618は、同期リリース検索603の助けを借りて、それらが非同期なように618を実行していることを見出し、ステップ622は、いかなる同期する指の対が2つのキーを押圧するつもりであったと仮定して、キー押圧キュー上のいかなるホールドも開放する。同期された指の押圧は、この点でキー押圧キューから削除されないけれども、押圧されたサブセットが2以上含む場合、それらはステップ612においてすでに削除されている。また、ステップ624は、テンポラル同期マーカーを削除し、このサブセットのために同期テストが実行されることをもはや必要としないことを示す。
【0220】
FIG.39Bへ続き、接触部の間同期する指を同時に持ち上げる場合、ステップ618は、それらがポジティブリリース同期検査に用意されているペアである場合には、それら、およびいかなるホールドもキー押圧キューから取り除く。さらに検査は、同期された指が更なるコードタップ状態を満たすかどうかを決定する。単一の指でタップするのと同様に、同期された指がコードタップとして資格を得た場合、それらがおよそ1秒の半分以上表面に保たれることはできない。これを、判断ステップ626は、最後に残っている同期された指のリリースと、テンポラル押圧同期マーカーとの間の時間を閾値で分けることによってテストする。判断ステップ628において、コードタップは、また、横方向の指動作の制限量を示し、ピークの指の速度の平均あるいは接触部以来動いた距離の平均が測定される。迅速なリリースと制限された横運動状態を満たさない場合、ステップ624は、同期された指がただ載せてある指またはコードスライドの一部分のいずれかであったという結果と共に同期マーカーを消去する。
【0221】
コードタップ状態が満たされる場合、ステップ630は、コードタップにおいて指の組合せに割当てられるマウスクリックあるいはキーボードコマンドのようないかなる入力事象も、同期されたサブセットビットフィールドを使用して調べる。全ての4本の指先を含むようなコードは、載せてあるコードとしてステップ634において保存される。この場合、判断ステップ632は、コードが関連する入力事象を有しないことを見出す。コードがタップ入力事象を有する場合、ステップ636は、ホスト通信インタフェース20の主な出力事象キューに、これらを追加する。最終的に、ステップ624は、与えられた手における今後の指同期の準備として同期マーカーを消去する。
【0222】
タイプ入力の際に偶然発生するコードタップのさらなる予防策として、ステップ634によって有効なキー押圧直後の最初のコードタップをコードスライドの間を除いて無視することは、判断ステップ632に役立つ。通常、ユーザはタイプ入力後、クリックの前にマウスカーソルを別の場所に移す必要があり、コードスライドの間に入ることを必要とする。タイプ入力の後、マウスカーソルが偶然すでに適当な場所に置かれていた場合、ユーザは、送信されるクリックのために2回指コードをタップしなくてはならない。しかし、これは、タイプ入力セッションの途中における意図されていないマウスボタンクリックによる偶発的なコードタップを引き起こすよりリスクが少ない。
【0223】
FIG.40Aは、コード動作認識モジュール18の詳細な処理手順を示す。後述するコード動作認識プロセスは、各手のためにそれぞれに繰り返される。ステップ650は、手の識別された経路250のパラメータおよび、動作抽出モジュール16からの手の抽出された動作コンポーネントを検索する。指コードのスライドがすでに始められていない場合、判断ステップ652はスライド開始検査654と656を命じる。タイプ入力の間、スライドとかすれる指タップを区別するために、判断ステップ654は、スライドモードを始めるためには手の少なくとも2つの指が表面に触れていることを必要とする。このルールには、直前のスライドコードが表面から離れた後、1、2秒以内で直前のスライドを再び始めることを単一の指に許すことのような例外がある。
【0224】
好適な実施形態において、ユーザは、スライドおよびそのコードの特定の両方を2つの方法で始めることができる。第1の方法では、ユーザは、まず表面より上に手を浮かし、できる限り非同期で表面上に何本かの指を配置し、そして、横にこれらの指のすべてを動かし始める。判断ステップ656は、すべての触れている指において有意な動作が認められる場合にだけ、スライドモードを始める。ステップ658は、有意な動作が認められる場合、接触部の同期に関係なく、指の触れている組合せからコードを選択する。この場合、すべての触れている指における動作のコヒーレント開始は、載せてある指をスライドと区別するのに十分であり、だからタッチダウンの同期は必要でない。また、複数の指が必要であるのを忘れ、表面にただ一本の指を配置してスライドすることによって、初心者ユーザは、誤ってスライドを始めようとする。非同期タッチダウンの許容差は、コードのために要求された残りの指をその後配置してスライドさせることによって、継目なくこれを修正することを許す。そのスライドコードは、ユーザにすべての指を持ち上げることを強制せず開始し、同期された指の接触部を用いてやり直す。
【0225】
第2の方法では、表面上は載せてある複数の指を用い、これらの指のサブセットを持ち上げて、コードを選ぶために同期をとって表面上でサブセットの後方に下ろして触れ、スライドを始めるために横にサブセットを動かし始める。判断ステップ656は、同期されたサブセットの全ての指に、有意な動作を認めるときに、実際にスライドモードを始める。このシーケンスの間、表面上に残留して載せてある指が、問題なく動き始めるかどうかに関係なく、この場合、選択されたコードは、すべての触れている指のセットからでなく、同期押圧サブセットにおける指の組合せによって、ステップ658で決定される。この第2方法は、スライドを始める前にユーザが表面から手全体を持ち上げる必要がないことで優れている。しかし、その代わりとして、載せる手の重さのほとんどを表面に残し、最も普通の指コードを識別するのに必要な2本のあるいは3本の指を持ち上げ、押圧する。
【0226】
載せてある指の位置における偶然のシフトのためのより大きい許容差を提供するために、判断ステップ656は、すべての関連した指が有意なスピードで動くこと、および、それらがほぼ同じスピードで動くことの両方を要求する。これは、指の速度の相乗平均を閾値で分けることによって、あるいは最も速い指の速度を閾値で分けることによって検査され、最も遅い指の速さが最速の指の速度の少なくとも最小限のフラクションであることを確かめる。一旦コードスライドが始められると、ステップ660は、少なくとも触れている指および同期されたサブセットのどちらも離されるまで、手によるキーあるいはコードタップの認識を使用禁止にする。
【0227】
一旦スライドが始まると、コード動作認識装置は、単に未加工のコンポーネント速度を指の識別の組合せと組にし、ホストに送信することができる。しかしながら、通常の入力装置のマウスおよびキー事象形式との逆互換性のために、FIG.40Bにおける動作事象生成の手順は、抽出されたいかなる自由度における動きを、選ばれたコードの識別による標準マウスおよびキーコマンド事象に変換する。このような動作変換をサポートするために、ステップ658は、同期サブセットにおいて触れている指および触れていない指の両方の識別のビットフィールドを利用して、ルックアップテーブルにおけるコードアクティビティ構成を見出す。異なる指の識別の組合せは、同じコードアクティビティ構成を参照できる。好適な実施形態において、すべての指は、同じコードアクティビティ構成を参照されて、親指以外の指先の同じ番号のものと組み合わされ、そして、スライドコードアクティビティは、親指が触れたか否かおよび親指以外の指が何本触れたかによって区別される。
【0228】
組合せよりむしろ指先の番号のコード動作に基づくことは、さらに、手ごとに最高7つのコードを提供するが、ユーザが記憶して、実行するのがより簡単なコードを作る。ユーザは、1本、2本あるいは3本の指先だけを必要としているコードにおいて使用される指先は、選んで、変更する自由を有する。このように自由を与えるので、ユーザは、当然薬指のような指が持ち上げられ中指と小指のような囲む指は触れさせなければならない組合せより、むしろ全ての触れる指先が隣接する組合せを選択する傾向がある。一つのコードタイプ入力調査は、他のコード2倍の速さで隣接されたすべての押圧された指先において、ユーザがこれらの指のコードをタップできることを見出す。
【0229】
各々のコードアクティビティ構成における事象は、スライス(slices)に組織される。各スライスは、抽出された自由度内で、速度と方向の個々の範囲で動作に応答して生成される事象を含む。例えば、マウスカーソルスライスは、いかなる移動速度および方向も割当てられることができる。しかしながら、テキストカーソル操作は4つのスライスを必要とし、各矢印キーのために1つ、そして、移動の狭い方向範囲において動作を集積化する。各スライスは、また、各自由度のために、動作感度およびいわゆるカーソル加速係数を含む。これらは、既存のホストコンピュータシステムによって期待された矢印キークリックまたはマウスクリックのような装置に、動作をディスクレタイズ(discretize)するために使用される。
【0230】
コード動作変換のステップ675は、処理のための与えられたコードアクティビティ構成の第1スライスを単に選択する。ステップ676は、スライスの動作感度および加速係数によって、抽出された速度コンポーネントの現在の値を基準化する。ステップ677は、基準化された速度コンポーネントを、スライスの定義された速度と方向の値域に、幾何学的に投影または制限する。マウスカーソルスライスの実例のために、これは、回転を止めること、および、ゼロに対してコンポーネントを基準化することを必要とする。矢印キースライスがなければ、移動速度ベクトルは、矢印と同じ方向に単位ベクトルポインティングの上へ投射される。ステップ678は、判断ステップ680が蓄積された動きの少なくとも1単位を定義するまで、スライスのアキュムレータにおいて、時間を超えて、各々の基準化されたおよび投射された分速度を集積化する。ステップ682は、スライスの好適なマウス、キー、または、三次元の入力事象フォーマットを調べ、累算された動作単位の数を事象に与える。そして、ステップ684は、ホスト通信インタフェース20の発信キューに、その事象を発送する。ステップ686は、送信された動作事象をアキュムレータから減じ、ステップ688は、他のスライスのアキュムレータを選択的に取り除く。スライスが手動作ごとに単一のキーコマンドを作り出すことを目的とする場合、判断ステップ689は、それをワンショットスライスであると決定して、ステップ690は、異なる方向を持ったスライスが介入するまで、スライスからの更なる事象生成を無効にする。与えられたスライスが最後のスライスである場合、判断ステップ692は、センサアレイの次のスキャンを待つためにステップ650に戻る。一方、ステップ694は、他のスライスの現在動作を集積化して変換し続ける。
【0231】
FIG.40Aに戻って、いくらかのアプリケーションのために、更なる指が触れるとき、あるいはコードにおける指の一つが持ち上がるときはいつでも、選択されたコードを変更することが望ましい。しかしながら、好適な実施形態では、選択されたコードは、非同期な指接触部アクティビティによって、スライド開始後変更されることができない。これは、所望の自由度の最高の精度を得るのに必要であるので、ユーザに更なる指を載せる自由あるいは持ち上げる自由を与える。例えば、指の対コードが親指を含まないとしても、ローテーションおよび基準化の自由度の十分な動作範囲に入るために、親指はスライド開始後すぐ下ろされる。実際、全ての持ち上げられたままの指は、いかなるコードの開始後でも、全部の手によって、操作を許すために下ろされることができる。同様に、1本を除く全ての指は持ち上げられるが、移動は続く。
【0232】
非同期な指接触部アクティビティが無視されるが、スライド開始以降、複数の指の同期された持ち上げおよび押圧は、新しい同期されたサブセットを構築し、選択されたコードを変更できる。好ましくは、これは、手が休止されるが指は表面上にまだ載せてある間だけ許可される。判断ステップ670は、新しいサブセットを検出して、判断ステップ656に類似している判断ステップ673における動作テストを始める。新しく同期されたサブセットの全ての指において、有意な動作が見いだされる場合、ステップ674は、スライドコードとして新しいサブセットを選択し、ステップ658とそっくりに新しいコードアクティビティ構成を調べる。このように、指の再同期は、ユーザに表面から手全体を持ち上げさせることなく、異なるアクティビティへ切替えることを許可する。速度コンポーネントの集積は再開するが、新しいコードアクティビティ構成から作り出される事象は多分異なる。
【0233】
コードアクティビティ構成が選択されたユーザに視覚あるいは聴覚のフィードバックを提供することは、有益である。これは、マルチ−タッチ表面の最上部を横切る列に5つの発光ダイオードを配置することによって、視覚的に達成することができる。なお、マルチ−タッチ表面は、当該表面上に使用される手ごとに一行有する。スライドモードを入力するときに、ステップ658は、選択されたコードの指の組合せに対応するこれらの光の組合せをONにする。ステップ674は、新しいコードアクティビティ構成に一致させるためにアクティブな光の組合せを変更する。ユーザは、新しいコードを選ばなければならない。そして、ステップ668はそれらをオフにする。類似した光は、ホストコンピュータディスプレイ24上にエミュレートされることができる。光は、また、ステップ636においてコードがタップされている間、検出した指の組合せを示すためにきらめくことができる。聴覚のフィードバックの実現は、光の組合せが、トーンあるいはトーンバースト方式の組合せに置き換えられる点以外で、類似している。
【0234】
判断ステップ664が開始の組合せから全ての指が離れたことを検出するまで、累積および事象生成の処理は、全てのアレイスキャンサイクルのために繰返される。判断ステップ666は、それから、主要な動作コンポーネントのプレリフトオフ(pre−liftoff)減速フラグを検査する。このフラグの状態は、移動が主要な場合、FIG.37に示す移動抽出のステップ556あるいはステップ558によって、または、極線抽出のステップ534で対応するフラグによって決定される。有意な減速があった場合、ステップ668は、単にコードスライドモードを出て、選択されたコードを空白に設定する。フラグがリフトオフの前に指の有意な減速を示さない場合、判断ステップ666は、選択されたコードのための動作継続モードを可能にする。このモードの間、ステップ667は、現在の速度の位置において、支配的なコンポーネントのプレリフトオフ加重平均(560)を、動作アキュムレータ(678)に加える。現在の速度は、表面に指が触れないので、多分0である。同期されたサブセットではない残留している指が持ち上げられ、またはより多くの指が新たに触れるまで、動作継続モードは停止しない。これは、判断ステップ664を誤りにするようにし、現在選択されたコードを持つ通常のスライドアクティビティを再開するようにする。動作継続モードの間、カーソルあるいはスクロールの速度が減衰しないが、ホストコンピュータは、カーソルがスクリーンのエッジまたはドキュメントの端部に到達する場合、動作継続モードがキャンセルされるように指示する信号を送信できる。同様に、動作継続の間、指が表面上に残留する場合、それらの移動はカーソルあるいはスクロールの速さを調節できる。
【0235】
好適な実施形態において、各手のためのコード動作認識装置は独立して機能し、各コードのための入力事象は、独立して構成されることができる。これは、システムが多くの異なる方法で手との間のタスクを割当てること、および双手による様々な操作をサポートすることを許す。例えば、マウスカーソル動作は両方の手の指先対コードに割当てられ、マウスボタンドラッグは両方の手の3つの指先コードに割当てられることが可能である。このようにして、表面の両半面上の各手を用いて、マウスポインタは、移動およびドラッグされることができる。最初のマウスクリックは、表面の両半面上において指先対のタップによって生成され、ダブルクリックは、表面上において3本の指先の単一のタップによって生成される。ウィンドウスクロールは、各々の手上の4本の指のスライドに割当てられる。
【0236】
これに対して、マウスカーソル操作は、右手および表面の右半分に上述のように割当てられ、対応するテキストカーソル操作が左手上のコードに割当てられる。たとえば、左の指先対の移動は、動作の方向に対応する矢印キーコマンドを生成し、3本の指先は、テキストの選択のためのシフト矢印の組合せを作り出す。
【0237】
自由度3以上の操作をサポートしているホストコンピュータシステムのために、左手コードは、ディスプレイ背景を上下左右、ズーム、および回転することを選択され、一方、右手の対応するコードは、前景オブジェクトを翻訳、リサイズおよび回転させることができる。選択されたコードを変更することなくコード動作を開始した後、いつでも親指が触れることができるので、これらのコードは親指を含む必要がない。それから、回転または拡大縮小を試みる場合、ユーザは、表面に親指を付け加えることを必要とする。
【0238】
始めに親指を含む指コードは、単発のコマンドジェスチャのために取っておかれる。単発のコマンドジェスチャは、動作の更なる単位が検出されるごとに伝送を繰り返すよりむしろ、コードのスライドごとに一回入力事象を生成するだけである。例えば、カット、コピーおよびペーストなどの普通の編集コマンドは、親指および反対の指先のピンチ手の拡大縮小(pinch hand scaling)、コードタップおよびアンチピンチ手の拡大縮小(anti−pinch hand scaling)に直観的に割当てられることが可能である。
【0239】
FIG.41は、タイプ入力認識モジュール12の一部である、キーレイアウトの定義およびモーフィングプロセス内での処理手順を示す。ステップ700は、システムスタートアップにおいて、ユーザあるいはメーカによって、事前に指定されたキーレイアウトを検索する。キーレイアウトは、一組のキー領域データ構造から構成されている。各領域は、領域が押圧された場合、ホストコンピュータに送信されるシンボルまたはコマンドと、表面上の領域の中心の位置を表す座標とを関連付ける。好適な実施形態において、英数字および句読記号を概略的に含むそれらのキー領域の配置は、普通の機械のキーボードであるクワーティ(QWERTY)あるいはドボルザーク(Dvorak)キーレイアウトに対応する。
【0240】
マルチ−タッチ表面装置のいくらかの実施形態において、手を載せる場所にキーレイアウトをスナップまたはモーフィングできることは便利である。これは、机全体を覆うような、標準キーボードまたはキーレイアウトより数倍大きいマルチ−タッチ表面に特に便利である。このような表面において、ある小さい固定域でキーレイアウトを取り付けることは、利用可能な表面領域全体の使用を抑制し、不便である。キーレイアウトの位置の変更について、ユーザにフィードバックを提供するために、マルチ−タッチ表面のこれらの実施形態におけるキーシンボルの位置は、表面上に不変に印刷されない。その代わりとして、キーシンボルの位置は、プログラムを作りなおして、近接値センサアレイと共にマルチ−タッチ表面に埋め込まれた発光ポリマ、液晶、または他の動的視覚表示手段によって、表面に表示される。
【0241】
このような装置を与えられて、ステップ702は、両方の手からの現在経路を検索し、レイアウトホーミングジェスチャとして知られることを待つ。判断ステップ704が、5本のすべての指が同期をとって表面にまさに置かれていることを手同期検出器の助けを借りて決定する場合、ステップ706は、表面上のどこに手があろうとも、同期された指先の下に位置する手のホームキー列のような、手に対するキーレイアウトをスナップすることを試みる。ステップ706は、手位置推定値からの測定された手オフセットを検索して、与えられた手により普通にタイプされたすべてのキー領域を、測定された手オフセットに比例して変換する。5本の指すべてが下ろされているとき、測定されたオフセットを間違わせる指誤認の虞がないので、フィルタをかけられたオフセットの測定値よりむしろ現在の測定値の表示が使用される。この手順は、ホームキー列の変換されていない位置が手のためのデフォルト指位置と同じであると仮定する。
【0242】
判断ステップ708は、指が、ニュートラルの状態、部分的に閉じた状態、伸ばしきったよりは閉じた状態、または、互いに締めつけた状態であるか否かを判断する。状態がニュートラルに近い場合、ステップ710は、各指によって通常タイプされるキーを更にオフセットする。そのキーは、ほとんどの部分において、測定された指オフセットによる指と同じ行にあるキーである。いくつかのレイアウトホーミングジェスチャ上のこれらの指オフセットのテンポラルフィルタリングは、ユーザの手の大きさに対するキーの行間の間隔を測定するのに役立つ。段の間の間隔は、行間の測定に比例して縮小される。
【0243】
載せてある手の現在位置とサイズを合わせるためモーフィングされた手のキーのためのキーレイアウトについて、ステップ712は、ユーザが彼の手の位置に対してスナップされたキーレイアウトを見るために、表面に表示されるシンボルの位置を更新する。この段階から、ユーザはタイプを開始でき、タイプ入力認識装置718は、モーフィングされたキー領域位置を使用して、押圧されたキー領域を決定する。ユーザが表面上のどこか他の場所でそれを動かすために他のホーミングジェスチャを実行するか、または、ユーザがしばらくの間両手を表面から離すまで、レイアウトは、上記方法でモーフィングされて残る。判断ステップ714は、最終的に、計測される時間を区切られるので、ステップ716は、他のユーザまたは使用セッションの準備のためにデフォルト位置にレイアウトをリセットすることができる。
【0244】
キーレイアウトが表面上に不変に印刷される、より小さいマルチ−タッチ表面にとって、キー領域の位置についてユーザ触覚フィードバックを与えることは、便利である。しかしながら、表面上に配置されるいかなる触覚のインジケータも、表面を滑らかにスライドすることを妨げないように慎重に設計されなければならない。例えば、普通の機械のキーボードキーキャップ上の浅いへこみを模倣する、各キーの中央付近に表面において作られた浅いへこみは、表面を横切る手のスライドに、でこぼこして振動させる影響を与える。このようなでこぼこの影響を最小限にするために、好適な実施形態において、マルチ−タッチ表面は、デフォルトの人差し指の指先位置からデフォルトの小指の指先位置まで走る単一の連続するへこみを、各々の手の指先のために備える。これは、QWERTYキーレイアウト上のホームキー列が右手のための「J」キーから「;」キー、および左手のための「A」キーから「F」キーに沿って、浅い、わずかにアーチ型の溝があることに対応する。同様に、親指はそれぞれ、デフォルト位置に単一の卵形の凹みを提供され、デフォルト親指方向に適合させるために垂直線からわずかに傾斜させられる。これらは、それぞれ、左右の親指のための「スペース」と「バックスペース」キー領域に対応することが好ましい。このような最小の凹みが、ユーザに表面を見下ろさせることなく、さらに、表面上の指コードスライドおよび操作をひどく途切れさせず、触覚的にユーザの手がキーレイアウトのホームキー列に戻るように導く。
【0245】
ホームキー列を離れたキー領域の位置は、他タイプの触覚インジケータによって、印付けられることができる。単純にキー領域で表面を粗くするのではうまく機能しない。指をすべらせるときに人間は簡単にテクスチャを識別するが、テクスチャ領域上の速いタップ中には多くのテクスチャを気付くことができない。タイプ入力を行っている状況において、ユーザは、指先によって、比較的突然のエッジだけあるいは突出だけを感じることができる。したがって、点字(Braille)のドットのような小さくふくらんだドットが、各キー領域の中央の表面上に形成される。ユーザは、指先からドットを感じ、タイプ入力打鍵の正確さのフィードバックを受信する。このフィードバックは、今後のキー押圧中に、指を修正する目的に使用される。単一の指スライドは、コード動作認識装置によって無視されるので、ユーザは、全く表面に注目することなく、個々のキー領域のドットの触覚による検索において、表面の周りで指をスライドすることもでき、それからドットを見出したときキー領域をタップすることができる。各ドットは、タッピング中感じるには十分大きいが、表面をコードが横切るのを妨げない大きさである。ドットがスライドすることを妨げるのに十分大きくない場合であっても、それらは、ドット付近の指先の肉を表面から上げることによって、近接値と指先重心測定をコラプト(corrupt)することができ、このように、局所的に下にある接近検出電極から肉を選別する。したがって、好適な実施形態において、表面誘電体より上の各ドットの部分は、伝導材質でできる。これは、上がる指先の肉と下にある電極との間の静電結合を利用する。
【0246】
FIG.42は、キー押圧検出ループにおける処理手順を示す。ステップ750は、現在の識別された経路データ250から、手の一部分の接触部または表面に起因して最近生成されたいかなる経路も検索する。判断ステップ752は、電流センサアレイスキャンの間、経路近接値が初めてキー押圧近接値閾値に到達したかどうか調べる。まだ近接値が閾値に到達していない場合、または、以前にそれをすでに上回った場合、次の最近の経路上のキー押圧検出を試すためにステップ750に戻る。経路がちょうどキー押圧近接値閾値と交差する場合、判断ステップ754は、接触部経路がてのひらよりむしろ指として識別されたかどうか調べる。表面上のどこにでもてのひらが停止する自由をユーザに与えるために、てのひらの押圧は、通常キー押圧を起こさず、したがって、無視されることになる。経路が指であると仮定して、判断ステップ756は、現在、識別された指を有する手がコードスライドジェスチャを実行するか、またはペングリップハンド構成を介して書き込みを実行しているかどうか調べる。FIG.40Aのステップ660において示されるように、これらのアクティビティが始まると、非同期の指の押圧は無視される。このような手アクティビティが進行中でないと仮定して、判断ステップ757は、指が少なくとも2つのセンサーアレイスキャンサイクルの間、表面に触れたこと、および指が触れる前の数スキャンサイクルの間、表面から離れたことを調べるデバウンステスト(debounce)続行する。指が持ち上がり、すばやく同じ点を越えて接触部された場合、経路追跡モジュール(FIG.22)は、ステップ334において指の古い経路を復活させることによって、そのようなリフトオフデバウンシング(debouncing)を容易にする。復活へ、古い経路による最後のリフトオフのタイムスタンプは、新たな接触部のタイムスタンプと比較されるために保存されなくてはならない。
【0247】
これらの検査の全部が通過される場合、ステップ758は、現在の経路位置(Px〔n〕、Py〔n〕)を調べ、ステップ760は、リフアレインス点が指先重心に最も近いキー領域を見いだす。判断ステップ762は、最も近い領域が指の合理的距離内であることを検査し、合理的距離内でない場合、指の押圧を無視させる。キー領域が指に近いと仮定して、ステップ764は、経路インデックス識別子および指識別と、最も近いキー領域と、指がキー押圧近接値閾値と交差するときに示すタイムスタンプとを含むキー押圧構成要素データ構造を生成する。ステップ766は、それからFIFOキー押圧キューの末尾に、このエレメントデータ構造を追加する。これが達成されて、処理は、他の指による接触部の処理、または待機のために、ステップ750に戻る。
【0248】
キー押圧キューは、指の接触部がキー押圧近接値閾値を過ぎるときに、それらを有効に順序づける。それは、このように各指のタップからのキーシンボルがホストに送られる順序を固定する。しかしながら、キー押圧キューにおいて、エレメントのキーシンボルは、一回のホストの伝送を保証されない。押圧する指の同期されたサブセットの一部分であるような多くの状態は、どれもホストに伝送される前に、キューから削除される。この意味において、キー押圧キューは、キー押圧候補キューとみなされる。互いに異なる指接触部およびリフトオフの順序リストは、同期検出器において各々の手のために別々に記憶され、キー押圧キューは、両手からの指接触部を含み、そして順序づける。
【0249】
FIG.43Aは、キー押圧受容および伝送のループにおける処理手順を示す。ステップ770は、キー押圧キューにおいて、先頭のエレメントを選択する。そのエレメントは、最も古い指接触部を表し、無効なキー押圧候補としてキューから削除されず、その関連するキーシンボルを伝送されもしなかったものである。判断ステップ772は、経路が指としてさらに識別されるかどうか調べる。キューにおいて待つ間、経路近接値はとても増大し得るので、識別システムは経路が実際てのひらの後部からであると決定する。この場合、ステップ778は、ホストに伝送することなくキー押圧エレメントを削除し、ステップ770は、次のエレメントの処理を進める。押圧が同じ手の他の指と同期をとって起こる場合、判断ステップ774も、エレメントを無効にする。このように、判断ステップ774は、同期検出プロセス(FIG.39)の消去コマンドステップ601、612、615、620を続行する。判断ステップ776は、横方向の指動作によってコードスライドの開始がまだ起こっていない場合であっても、接触部以降あまりに多くの横方向の指動作が発生した場合、キー押圧を無効にする。ユーザは、タイピングするのに表面に触れるので、数ミリメータの横方向の動作は、すばやくキーに到達するときにたびたび起こる、指先動作のそれを適応することが許されるからである。これは、マウスカーソル操作のための単一の指スライドとキーあるいはマウスボタンクリックエミュレーションのための単一の指タップを用いるタッチパッドにより許容されているよりもそれるタップ動作である。
【0250】
判断ステップ780は、その接触部がキー押圧エレメントを生成する指が以降表面から持ち上げられたかどうか調べる。もしそうならば、判断ステップ782は、通常のキータップとして条件を満たすのに十分な早さで持ち上げられたかどうか調べる。もしそうならば、ステップ784は関連するキーシンボルをホストに伝送し、ステップ778はキューの先頭からそれを削除する。キー押圧は、いつもリフトオフするとすぐにキューから削除される。しかし、それは、タップタイムアウトを越える時間の間、表面上に留まりさえするけれども、後述する制御キーとして、載せてある手の衝動的な押圧として、または、タイプマティック(typematic)押圧として、伝送をさらに引き起こす。
【0251】
キー押圧がホストに伝送されるときに、マルチ−タッチ表面装置あるいはホストコンピュータ上の音生成装置が、聞き取れるクリックあるいはビープ音をフィードバックとしてユーザに発することは便利である。キー押圧に応じての聞き取れるクリックとビープ音のフィードバックを生成することは、キースイッチ動作がほとんど無音であり、ユーザに対して力の閾値によって差異を感じさせない市販のタッチスクリーン、公衆電話、電気機器のコントロールパネルおよび機械のキーボードにおいて周知である。フィードバックは、マルチ−タッチ表面装置上において、キー押圧が送信されるたびに光として提供されてもよい。モディファイアキー押圧が付いてくるキー押圧は、より長いきらめきあるいは音を発生させ、キーシンボルがモディファイアを包含することを知らせるようにする。
【0252】
指がまだ持ち上げられていない場合、判断ステップ786は、その関連するキー領域が、<shift>、<ctrl>あるいは<alt>のようなモディファイア(modifier)であるかどうか調べる。もしそうならば、ステップ788は、先頭を削除することなく、キューの次のエレメントへ進む。処理は、次のエレメントが有効なキータップである場合、調べるためのステップ772にとどまる。次のエレメントがうまく伝送段階に到達する場合、ステップ784は、さらに押圧されたモディファイア領域のためにキューの先頭の方へ、戻ってスキャンする。それから、ステップ784は、以前のモディファイア領域の変更シンボルと共に次のエレメントのキーシンボルを伝送する。
【0253】
判断ステップ782は、キーを送信するために、表面上を指で触れること、および、数百ミリセカンド以内に指を持ち上げ離すことをユーザに要求する。このリフトオフタイミング要求条件は、機械のキースイッチの力による活性化閾値の代わりをする。一定の閾値以上の力を加えられて反応する機械のキースイッチのように、タイミング制約条件は、キー押圧を起動することなく、キー表面上に指を載せておく方法をユーザに提供する。同期検出器14は、キーシンボルを作り出すことなく指を表面上に載せておく他の方法を提供する。それは、少なくとも他の一本の指と同時に、指を接触部しなくてはならない方法である。しかしながら、時々、ユーザは、表面上に、先に主要な指先を同時に置き、次に、非同期で、少し後に小指を、そのさらに少し後に親指を追って置くことによって、手を載せる。これらの後者の押圧は、本質的に非同期で、同期検出器によって無効にされないが、二、三百ミリセカンド以内に持ち上げられない限り、判断ステップ782は、伝送することなくそれらを削除する。しかし、判断ステップ782が載せてある非同期の指の許容範囲を提供する間、指が速く離れること、すなわちクリスピータップが要求条件であり、キー生成を起こすための表面は、シンボルの長いシーケンスのタッピングの間、手を支えるためにほとんどの指を表面上に載せ続けることを非常に難しくする。これは、速いタイプ入力シーケンスの間、ユーザに彼らの手を上げて表面から離させ、表面より上にそれらを浮かさせる。ユーザの腕が結局疲れることを除いては、ユーザがシーケンス間に表面上に手を載せることを失敗する場合、これは許容範囲内であるタイプ入力姿勢である。
【0254】
表面より上に手の支持を助長しない代わりのタイプ入力姿勢を提供するために、判断ステップ790は、各押圧の後にすばやい指のリフトオフを要求しない第2のキー受容モードを可能にする。その代わりとして、ユーザは手の5本の全ての指を表面に載せて始めなければならない。それから、指が非同期で表面をリフトオフしキー領域上で押圧されるごとに、そのキー領域は次のリフトオフタイミングに関係なく伝送される。力が加えられるにつれて、指先の近接値をすぐに感知するぐらい表面が硬い場合、判断ステップ792は、指の近接値がどれくらい速くピークに達するか、近接値プロファイルの瞬間(impulsivity)を検査する。ある期間にわたって近接値プロファイルがそのピークへ非常にゆっくり増大する場合、キーは生成されない。ユーザがキーを作り出すつもりで、指を持ち上げるが、気が変わったような場合、キーを生成することなく上げた指を静かに下ろすことをユーザに許す。タッチ表面が圧縮できる場合、判断ステップ792は、楕円軸長さに対する測定された指先の近接値の比率から指の力をより直接的に推量できる。そして、穏やかな指押圧と故意の押圧とを区別するために、推定された力を閾値として使用することができる。キーを作り出すつもりのとき、ユーザは、通常古いキー領域でリフトオフした後すばやく新たなキー領域で押し下げるので、その瞬間(impulsivity)および力の閾値は、表面から指がリフトオフしてから時間とともに増加する。
【0255】
マルチ−タッチ表面上でタイプマティック(typematic)をエミュレートすることは、指を載せている力がキー領域において支持され保持する力と確かに区別されない場合、特別な問題を提示する。この場合、FIG.43Bのステップにより検出される特別な接触部タイミングシーケンスは、確実なタイプマティック(typematic)エミュレーションをサポートする。判断ステップ798がタイプマティック(typematic)がまだ始まっていないことを見いだすと仮定して、判断ステップ794は、処理されたキー押圧キューエレメントが表面上の最近の指接触部を表すかどうかを調べる。このエレメントによって表された接触部に続く指接触部がある場合、タイプマティック(typematic)は、このキューエレメントから決して始めることができない。その代わりとして、判断ステップ796は、エレメントの指が通常のタップタイムアウトより長くさわっていたかどうかを調べる。指が長い間接触部していた場合、ステップ778は、そのキー押圧エレメントを削除する。なぜなら、判断ステップ786がそれはモディファイアではないと判定し、判断ステップ794がそれは、決してタイプマティックを始めないと判定するからである。判断ステップ794がキー押圧エレメントが最近の接触部を表さないと判定する場合、判断ステップ796は、そのエレメントがタップタイムアウトを上回っていないことを示し、リフトオフまたは今後のセンサアレイスキャンのタイムアウトを待つために、処理がステップ770に戻される。これは、前のキー領域を指がリフトオフする前に、他の指によって新たなキー領域が押圧される、認識における重なりを指タップに許可する。しかしながら、このような一対の重なり合う指タップの押圧時間または離し時間は、共にコードタップとみなされないように、非同期でなくてはならない。
【0256】
指接触部が最近のものであると仮定して、判断ステップ800は、約1秒の半分と1秒との間のタイプマティック保持設定期間(typematic hold setup interval)内に指が接触部していたかどうかを調べる。そうでない場合には、指がリフトオフされ、または、センサアレイの将来のスキャンの間保持準備状態が満たされることを待つために、ステップ770に戻る。保持準備状態が満たされる(met)ときに、判断ステップ802は、キーを押圧する指を含む手のすべての他の指が0.5秒以上前から表面からリフトオフされたかどうかを調べる。それらがそうする場合、ステップ804は、与えられたキー押圧エレメントのためのタイプマティックを初期化する。判断ステップ800およびステップ802の組合せは、タイプマティックを目的として指が接触部するときに、表面上に手の他の指を載せることをユーザに許す。しかし、所望のタイプマティックの指の接触部の0.5秒以内に、他の指が表面からリフトオフしない限り、タイプマティックは、開始しない。そして、表面から他の指がリフトオフされた後少なくとも0.5秒の間、タイプマティックの指が表面に接触部を続けている前にも、タイプマティックは、開始しない。これらの厳しい状態が満たされる場合、キー押圧エレメントは、タイプマティックを開始せず、最終的には、指がリフトオフするときのタップタイムアウト782、または、その後の他の接触部があった場合のタップタイムアウト796によって削除される。
【0257】
ステップ804は、今後のスキャンサイクルの間、エレメントのためにタイプマティックがすでに始まったことを判断ステップ798に示すフラグを単に設定する。タイプマティックな初期化に、ステップ810は、初めてホストインターフェース通信キューにキーシンボルを、反対側の手によって維持されたいかなるモディファイアシンボルとともに送信する。ステップ812は、ステップ808によって今後の参照のために、キーシンボルが送信される時間を記録する。それから、処理は、次の接近画像スキャンを待つためにステップ770に戻る。
【0258】
指がリフトオフされるまで、または、他の指が非同期でタップされるまで、処理は、キーシンボルが再び送信されるかどうかを調べるために判断ステップ798を通過する。ステップ806は、指の近接値に反比例するためにシンボルの繰返し間隔を力学的に計算する。このように、キーは、指が表面上をよりしっかり押圧するように、または、指先のより大きい部分が表面に触れるように、より速く繰り返す。これは、リフトオフの間、指が離れるにつれて、繰り返し間隔がより長くなるので、ユーザが意図するより多く繰り返しを起こす機会を減らす。判断ステップ808は、最後のタイプマティックなシンボル送信時から動的な繰り返し間隔が経過したかどうかを調べ、必要なら、ステップ810において再びシンボルを送信し、ステップ812においてタイプマティックな送信タイムスタンプを更新する。
【0259】
ステップ804においてタイプマティックが開始した後およびタイプマティックが続く間、ユーザに表面上に他の指を載せなおさせることが望ましい。しかし、ユーザは、タッピングなしでそのようにしなくてはならない。まるで他のキーを打とうとするようにユーザが表面上を非同期で他の指をタップする場合、判断ステップ805は、タイプマティックを中止させ、そしてタイプマティックエレメントをステップ778において削除した。これが起こらない場合、判断ステップ782は、タイプマティックエレメントの指がリフトオフした時に、結局それの削除を引き起こす。
【0260】
上記したタイプ入力認識プロセスは、このように、マルチ−タッチ表面に、人間工学的に機械の標準キーボードのタイプ入力および手を載せる機能をエミュレートする。表面上のキレのよいタップまたは衝撃で瞬間的に作用する押圧は、指が離れるか、判断ステップ792がインパルスがピークに達したことを確認するとすぐにキーシンボルを生成し、ユーザに対するプロンプトフィードバックを確実にしている。表面上に載せることを目的とする複数の指は、それらが同期された指押圧または離しサブセットの一部であるか、または、それらが表面にかるく配置され1、2秒の間他の指とともにそこに留まる限り、キーを生成しない。一旦載せると、指は、持ち上がりタップすることができ、または、他の載せてある指を持ち上げる必要なくキーシンボルを生成するために表面上を衝撃で瞬間的に作用するように押圧することができる。キーでの衝撃的な押圧および区別できる力の維持すること、または、手の他の指が持ち上げられている間キー上で指を支えること、のいずれか一方によって、タイプマティックは開始される。複数の単一の指がキー領域をタップするようなそれらのかすめる動作は、多くのカーソル動作が2本以上の指の同期されたスライドによって開始されなくてはならないので、簡単に容認される。
【0261】
発明の他の実施形態は、ここで開示される明細書の考慮および本発明の慣例から当業者にとって明らかである。明細書および実施形態は単に典型例として考慮されることを目的としている。本発明の真の技術的思想は、特許請求の範囲に示される。
【特許請求の範囲】
【請求項1】
タッチ対象物の様々なコンフィギュレーションおよび動きを検出して電子装置または電気機械装置への入力信号を生成するマルチタッチ表面装置であって、
当該装置は、
1つの硬質または軟質な表面と、
前記表面に2次元に配列され、タッチ対象物の近接値の変化によってもたらされるキャパシタンスの変化を感知可能な検出装置と、
前記検出装置のアレイからデジタル近接値画像を形成する走査手段と、
前記近接値画像から背景オフセットを除去する校正手段と、
前記近接値画像を作り上げるタッチ対象物のコンフィギュレーションおよび動きを解釈する認識手段と、
個々のタッチ対象物のコンフィギュレーションおよび動きに応答して入力信号を生成する処理手段と、
前記入力信号を前記電子装置または電気機械装置に送信する通信手段と、
を有する、マルチタッチ表面装置。
【請求項2】
前記マルチタッチ表面装置は表示装置の上に組み立てられまたは表示装置と統合される、請求項1記載のマルチタッチ表面装置。
【請求項3】
前記表示装置は、1つの液晶ディスプレイ(LCD)または発光ポリマーダイオード(LPD)を有する、請求項4記載のマルチタッチ表面装置。
【請求項4】
前記マルチタッチ表面装置は、手のコンフィギュレーションの視覚インディケータを含む、請求項1記載のマルチタッチ表面装置。
【請求項5】
前記マルチタッチ表面装置は、手のコンフィギュレーションの音声生成装置を含む、請求項1記載のマルチタッチ表面装置。
【請求項6】
前記タッチ対象物の前記画像は、前記複数の検出装置に対応した複数の画素からなる、請求項1または2記載のマルチタッチ表面装置。
【請求項7】
前記認識手段は、前記画像を前記タッチ対象物に応じて1つ以上のグループに前記複数の画素を分ける、請求項6記載のマルチタッチ表面装置。
【請求項8】
前記複数の検出装置は2次元アレイ状に配列されており、前記認識手段は2次元アレイ状の検出装置を参照して前記タッチ対象物の位置および動きを決定する、請求項1または2記載のマルチタッチ表面装置。
【請求項1】
タッチ対象物の様々なコンフィギュレーションおよび動きを検出して電子装置または電気機械装置への入力信号を生成するマルチタッチ表面装置であって、
当該装置は、
1つの硬質または軟質な表面と、
前記表面に2次元に配列され、タッチ対象物の近接値の変化によってもたらされるキャパシタンスの変化を感知可能な検出装置と、
前記検出装置のアレイからデジタル近接値画像を形成する走査手段と、
前記近接値画像から背景オフセットを除去する校正手段と、
前記近接値画像を作り上げるタッチ対象物のコンフィギュレーションおよび動きを解釈する認識手段と、
個々のタッチ対象物のコンフィギュレーションおよび動きに応答して入力信号を生成する処理手段と、
前記入力信号を前記電子装置または電気機械装置に送信する通信手段と、
を有する、マルチタッチ表面装置。
【請求項2】
前記マルチタッチ表面装置は表示装置の上に組み立てられまたは表示装置と統合される、請求項1記載のマルチタッチ表面装置。
【請求項3】
前記表示装置は、1つの液晶ディスプレイ(LCD)または発光ポリマーダイオード(LPD)を有する、請求項4記載のマルチタッチ表面装置。
【請求項4】
前記マルチタッチ表面装置は、手のコンフィギュレーションの視覚インディケータを含む、請求項1記載のマルチタッチ表面装置。
【請求項5】
前記マルチタッチ表面装置は、手のコンフィギュレーションの音声生成装置を含む、請求項1記載のマルチタッチ表面装置。
【請求項6】
前記タッチ対象物の前記画像は、前記複数の検出装置に対応した複数の画素からなる、請求項1または2記載のマルチタッチ表面装置。
【請求項7】
前記認識手段は、前記画像を前記タッチ対象物に応じて1つ以上のグループに前記複数の画素を分ける、請求項6記載のマルチタッチ表面装置。
【請求項8】
前記複数の検出装置は2次元アレイ状に配列されており、前記認識手段は2次元アレイ状の検出装置を参照して前記タッチ対象物の位置および動きを決定する、請求項1または2記載のマルチタッチ表面装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39A】
【図39B】
【図40A】
【図40B】
【図41】
【図42】
【図43A】
【図43B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39A】
【図39B】
【図40A】
【図40B】
【図41】
【図42】
【図43A】
【図43B】
【公開番号】特開2012−146345(P2012−146345A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2012−108828(P2012−108828)
【出願日】平成24年5月10日(2012.5.10)
【分割の表示】特願2007−98879(P2007−98879)の分割
【原出願日】平成11年1月25日(1999.1.25)
【出願人】(500345249)
【出願人】(500345250)
【Fターム(参考)】
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願日】平成24年5月10日(2012.5.10)
【分割の表示】特願2007−98879(P2007−98879)の分割
【原出願日】平成11年1月25日(1999.1.25)
【出願人】(500345249)
【出願人】(500345250)
【Fターム(参考)】
[ Back to top ]