(57)【特許請求の範囲】
【請求項１】
装置であって、
ディスプレイと、
前記ディスプレイへ結合された複数のタッチセンサであって、前記複数のタッチセンサは前記ディスプレイとの感知ユーザ接触に基づき複数の感知信号を生成するよう構成される、前記複数のタッチセンサと、複数のモーションセンサであって、前記複数のモーションセンサは筐体の感知振動に基づき複数の運動信号を生成するよう構成される、前記複数のモーションセンサとの、少なくとも一方のセンサと、
前記ディスプレイ、前記複数のタッチセンサ、および前記複数のモーションセンサと信号通信するプロセッサであって、
前記複数の生成された感知信号の少なくとも１つの感知信号または前記複数の生成された運動信号の少なくとも１つの運動信号に基づきホーム列規定イベントを検出し、
オンスクリーンキーボードの複数のキーの各位置が前記複数の生成された感知信号の少なくとも１つの感知信号または前記複数の生成された運動信号の少なくとも１つの運動信号が検出された位置に基づいており、且つ、各位置が前記複数のキーの第１のキーの第１の位置を含む、前記複数のキーを有する前記オンスクリーンキーボードを、前記ホーム列規定イベントの検出に応じて生成し且つ提示し、
前記第１の位置と近接した第２の位置の各感知信号または運動信号に従って、前記第１のキーに対するキー作動イベントを検出し、
少なくとも部分的な前記第１の位置と前記第２の位置の差異に基づき前記オンスクリーンキーボードの前記複数のキーの少なくとも１つのキーの各位置を修正するよう構成される、前記プロセッサと、
前記ディスプレイ、前記複数のタッチセンサ、前記複数のモーションセンサ、および前記プロセッサを収容するよう構成された筐体とを、備える、装置。
【請求項２】
前記プロセッサは、２つ以上の生成された感知信号が所定の時間にわたってアクティブと判断されるときに前記ホーム列規定イベントの存在を判断する、請求項１に記載の装置。
【請求項３】
前記プロセッサは、
前記２つ以上の生成された感知信号の各位置の判断に基づき前記オンスクリーンキーボードの複数のキーのホーム列キーの各位置を判断し、且つ
前記複数のホーム列キーの少なくとも１つのホーム列キーの各位置の判断に基づき前記オンスクリーンキーボードの複数のキーの非ホーム列キーの各位置を判断するよう、構成される、請求項２に記載の装置。
【請求項４】
前記プロセッサは、
前記２つ以上の生成された感知信号の各位置の判断に基づき前記オンスクリーンキーボードの複数のキーのホーム列キーの各サイズを判断し、且つ
前記複数のホーム列キーの少なくとも１つのホーム列キーの各位置の判断に基づき前記オンスクリーンキーボードの複数のキーの非ホーム列キーの各サイズを判断するよう、構成される、請求項２に記載の装置。
【請求項５】
前記プロセッサは、
前記２つ以上の生成された感知信号の各位置の判断に基づき前記オンスクリーンキーボードの複数のキーのホーム列キーの各向きを判断し、且つ
前記複数のホーム列キーの少なくとも１つのホーム列キーの各位置の判断に基づき前記オンスクリーンキーボードの複数のキーの非ホーム列キーの各向きを判断するよう、構成される、請求項２に記載の装置。
【請求項６】
前記筐体は１つ以上の周波数で振動を生成するよう構成された振動装置をさらに備え、
前記プロセッサは、前記ホーム列規定イベントに基づき前記振動装置を所定の周波数で作動させるよう構成される、請求項１に記載の装置。
【請求項７】
前記筐体は１つ以上の周波数で振動を生成するよう構成された振動装置をさらに備え、
前記プロセッサは、
前記オンスクリーンキーボードを静的動作モードに設定し、
感知信号に基づき少なくとも１本のユーザの指に対する第３の位置を判断し、且つ
前記第３の位置が前記オンスクリーンキーボードの複数のキーの少なくとも１つのホームキーから閾距離内にある場合に前記振動装置で所定周波数の振動を生成させるよう、構成される、請求項１に記載の装置。
【請求項８】
前記振動装置は、前記第３の位置の、前記少なくとも１つホームキーからの、距離に基づき、前記振動の強度を変えるよう、構成される、請求項７に記載の装置。
【請求項９】
前記筐体は１つ以上の周波数で音響信号を生成するよう構成された音響装置をさらに備え、前記プロセッサは、
前記オンスクリーンキーボードを静的動作モードに設定し、
感知信号に基づき少なくとも１本のユーザの指に対する第３の位置を判断し、且つ
前記第３の位置が前記オンスクリーンキーボードの複数のキーの少なくとも１つのホームキーから閾距離内にある場合に前記音響装置で所定周波数の音響信号を生成させるよう、構成される、請求項１に記載の装置。
【請求項１０】
前記音響装置は、前記第３の位置の、前記少なくとも１つのホームキーからの、距離に基づき、前記音響信号の強度を変えるよう、構成される、請求項９に記載の装置。
【請求項１１】
前記プロセッサは、
前記ディスプレイとの連続ユーザ指接触に対応する複数の感知信号を周期的に受信し、
前記複数の受信された周期感知信号が、前記オンスクリーンキーボードの生成および提示のときに使用される前記複数の感知信号の各位置からの漂動を指示するか否かを判断し、且つ
前記ディスプレイで、前記オンスクリーンキーボードの複数のキーの少なくとも１つのキーを、前記少なくとも１つのキーの指示された漂動に基づき、移動させるよう、構成される、請求項１に記載の装置。
【請求項１２】
出力装置をさらに備え、前記プロセッサは、
前記複数の周期的に受信される感知信号が、ユーザ指接触漂動が前記ディスプレイの端部の閾距離内であることを指示するか否かを判断し、且つ
ユーザ指接触漂動が前記閾距離内であると判断された場合に前記出力装置へ信号を出力するよう、構成される、請求項１１に記載の装置。
【請求項１３】
前記プロセッサは、
前記複数の感知信号または前記複数の運動信号に基づきユーザタイピング行為を感知し、且つ
所定時間にわたって前記ユーザタイピング行為が感知されない場合に、半透明または不可視の少なくとも一方となるよう前記オンスクリーンキーボードを変化させるよう、構成される、請求項１に記載の装置。
【請求項１４】
前記プロセッサは、前記オンスクリーンキーボードが半透明または不可視の少なくとも一方になった後にユーザタイピング行為が感知された場合に、前記オンスクリーンキーボードを少なくとも透明度の低い状態で出現させるよう、構成される、請求項１３に記載の装置。
【請求項１５】
前記プロセッサは、
１つ以上の前のキー作動に基づき、作動される見込みが最も高い少なくとも１つの次のキーを判断し、且つ
前記判断された見込みが最も高い少なくとも１つの次のキーを一意に表示するよう、構成される、請求項１に記載の装置。
【請求項１６】
前記プロセッサは、
複数の検出された感知信号に基づき前記オンスクリーンキーボードの複数のキーの複数のホーム列キーからの１つ以上のユーザ指の相対的運動を判断し、且つ
複数の検出された運動信号と前記判断された相対的運動とに基づきキー作動イベントを生成するよう、構成される、請求項１に記載の装置。
【請求項１７】
前記プロセッサは、
複数の検出された感知信号と前記複数の検出された運動信号の少なくとも一部分に基づき１つ以上の候補キーを生成し、且つ
統計的確率モデルを使用し検出された１つ以上の候補キーを絞り込むことによりキー作動イベントを生成するよう、構成される、請求項１に記載の装置。
【請求項１８】
前記プロセッサは、
統計的確率モデルと少なくとも１つの前のキー作動イベントとに基づき少なくとも１つのキーのサイズ値を判断し、且つ
前記少なくとも１つのキーの前記判断されたサイズ値に基づき前記オンスクリーンキーボードの複数のキーの各位置を変化させるよう、構成される、請求項１７に記載の装置。
【請求項１９】
前記プロセッサは、
感知される第１のユーザ行為に基づき前記オンスクリーンキーボードをアクティブ状態で不可視とし、且つ
感知される第２のユーザ行為に基づき前記オンスクリーンキーボードを非アクティブ状態で不可視とするよう、構成される、請求項１に記載の装置。
【請求項２０】
少なくとも１つの運動信号は前記筐体を基準とする位置に関連し、
前記プロセッサは、前記少なくとも１つの運動信号が検出され、且つ感知信号が検出されない場合に、前記筐体を基準とする前記位置に基づき機能を特定するよう、構成される、請求項１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント作動を引き起こさずユーザが手または指を表面に載置できる滑らかなタッチ感応表面に関する。より具体的に、タッチ表面はテキストやコマンドを入力するため使用されるオンスクリーンキーボードを提示するダイナミックディスプレイである。
【背景技術】
【０００２】
人から機械へテキストやデータを入力する主要な手段としての現代のキーボードの起源は、１９世紀の初期タイプライタにまで遡る。コンピュータの開発にともない、テキストやデータを入力する主要な手段として使用するタイプライタキーボードを改良することは自然な発展であった。タイプライタとその後のコンピュータキーボードにおけるキーの実装は機械的実装から電気的実装に進化し、最終的には電子的実装へと進化したが、キー自体のサイズと配置と機械的性質は殆ど変わっていない。
【０００３】
コンピュータは「デスクトップ」構成から「ラップトップ」、「ノートブック」、「ネットブック」、または「ポータブル」として知られる、よりポータブルな構成へと進化した。ラップトップコンピュータには通常、装置の一部として機械式キーボードが一体化されている。この種の一体型キーボードには、デスクトップコンピュータとともに通常使用される単独型キーボードにサイズと感触が似ているという利点がある。ただし、キーボードを組み込むことにより、ポータブルコンピュータはディスプレイとキーボードという２つの部分を有する。殆どのポータブルコンピュータ機種は「折り畳み」設計を採用しており、キーボード部分は基部を形成し、ディスプレイ部分は蓋を形成している。ポータブルコンピュータにキーボードが存在することで、ポータブルコンピュータのサイズは本来あるべきサイズのほぼ２倍になる。
【０００４】
過去１０年間に「タブレット」コンピュータと一般的に呼ばれる新しいポータブル計算装置の形が登場している。通常、この種のポータブル計算装置は一体化キーボードを持たない代わりに、主要なヒューマン・コンピュータ・インターフェイス手段としてタッチに専ら依存する。多くの人々は、日常生活に浸透しているタブレットとゆくゆくは「タッチ表面」が将来的に人が「コンピュータ」とやり取りする標準的手段になると考えている。
【０００５】
この新しいタッチ中心コンピューティングのパラダイムには多くの利点があるが、１つの顕著な短所はキーボードの不在である。タッチスクリーンコンピュータには外付け周辺キーボードを通常接続できるが、外付け周辺キーボードは装置の趣旨にそぐわないものであり、従来のラップトップコンピュータを凌ぐタッチスクリーンコンピュータの利点が打ち消されてしまう。
【０００６】
計算装置の進化はタッチ方式ユーザインターフェイスを目指しており、キーボードの着想の自然な進化として、キーボードはコンピュータディスプレイの仮想世界に組み込まれるようになった。
【０００７】
Ａｕｅｒらは米国特許第４，７２５，６９４号で、模擬キーボードの１つ以上の画像がコンピュータのタッチ感応画面に表示され、模擬キーのタッチに応じてしかるべき制御信号が生成されるシステムを説明している。このコンセプトのその後の改良版では、キーボードの画像が画面の専用部分を占有するのではなく、コンピュータで実行する他のアプリケーションの上に表示され浮動する。ユーザはカーソルポインタを重ねることにより、または指またはスタイラスを使用しタッチスクリーンを介してキーに直接タッチすることにより、この「オンスクリーンキーボード」または「仮想キーボード」を操作する。
【０００８】
オンスクリーンキーボードは、例えばＡｕｅｒによって説明されたオンスクリーンキーボードは、一部の公共情報キオスク、個人用デジタル補助装置（ＰＤＡ）、スマートフォン、タブレット、物理的キーボードを収容できないほど小さい他の手持ち型コンピュータ等、標準キーボードを欠く装置で主に使用されている。オンスクリーンキーボードは、肉体的な問題があって従来の電気機械式キーボードを使えない人々にもしばしば利用されている。
【０００９】
ＰＤＡやスマートフォンのような小さいタッチスクリーン装置には、従来のタッチタイピング法により複数の指を使ってオンスクリーンキーボードでタイプすることができるにあたって十分な画面サイズがない。その結果、多数の発明は従来のキーボードレイアウトより必要な物理的スペースが小さい代替テキスト入力方法の提供に努めてきた。
【００１０】
Ｇｒｏｖｅｒらは米国特許第５，８１８，４３７号で、各キーに複数の文字を割り当てることによって必要な個別のキー数を減らすシステムを説明している。これによりキーの数は減り、画面上に占めるスペースは小さくなる。このほかに、同様にオンスクリーンキーボードのサイズを縮小すること、および／または小さい画面でテキストの入力を容易にすること、を目指す他の発明は、Ｌｅｅの米国特許第６，２９２，１７９号、Ｋａｅｈｌｅｒの米国特許第５，１２８，６７２号、Ｖａｒｇａｓの米国特許第５，７４８，５１２号、Ｎｉｅｍｅｉｅｒの米国特許５，５４７，４８２号、Ｖａｎ  Ｋｌｅｅｃｋの米国特許第６，００８，７９９号、およびＰｅｒｌｉｎの米国特許第６，０３１，５２５号を含む。
【００１１】
これらの発明には小さいオンスクリーンキーボードでテキストを入力する上で様々な利点があるが、従来のキーボードでの標準「１０指」タイピングに匹敵する速度でテキストを入力することはできない。
【００１２】
タイピング速度を加速するため、Ｒｏｂｉｎｓｏｎらは米国特許第７，２７７，０８８号で、曖昧排除アルゴリズムにより、ユーザがオンスクリーンキーボードのキーで語の各文字をさほど正確に選ばなくてもよくするシステムを説明している。さほど正確でなくてもよいため、ユーザは速くタイプできる。
【００１３】
Ｋｕｓｈｌｅｒらは米国特許第７，０９８，８９６号で、１本の指（またはスタイラス）でテキストを入力できるシステムを説明している。このシステムでユーザは所望の語の最初の文字を表すキーに指を下し、タッチ表面に接触したまま語の続きの各文字のキーへ指をスライドさせる。これには、文字ごとにオンスクリーンキーボードで指を上げ下げする動作を解消してテキスト入力を加速するという利点がある。曖昧排除アルゴリズムによりユーザはさほど正確に文字を選ばなくてもよく、速度はさらに加速する。
【００１４】
スマートフォンで最速タイピングの世界記録を設定するため、Ｋｕｓｈｌｅｒらによって説明された技術を実用化したＳｗｙｐｅ（登録商標）が使用された。新記録達成者は規定の語句を毎分６１語の速度で入力した。注目に値する速度だが、これは１指入力によるものであり、１０指タイピングで可能な最高速度を大きく下回る。
【００１５】
別のアプローチでは音声認識システムを使用し、発声によりテキストを入力する。この技術は最近大幅に進歩したが、たとえ１００％正確に機能したとしても、ユーザが発声によるテキスト入力を望まない場合は多々ある（可聴範囲内で他人への配慮やプライバシーが求められる場合等）。したがって、ある種のキーボードの理論的枠組みでテキストを入力する代替方法は引き続き求められる。
【００１６】
１０指タイピングが可能な大きいタッチスクリーンの場合は、従来のキーボードで習得されたタイピングスタイルにほぼ匹敵する迅速なテキスト入力方法を見つけることが望まれる。それには３つの重要課題がある。第１に、１０指オンスクリーンキーボードに要求される比較的大きいディスプレイ面積を克服しなければならない。第２に、機械式キーボードで一般的な触覚フィードバックの欠如を克服しなければならない。第３に、ユーザが従来の電気機械式キーボードで通常やるようにオンスクリーンキーボードの「ホーム列（home-row）」位置に指を載置できるようにしなければならない。
【００１７】
Ｍａｒｓｄｅｎらは米国特許出願第２００９／００７３１２８号で、ユーザがタッチ感応表面に指を載置することを可能にすることにより、また互いに相関的に機能するタッチセンサと振動センサを使用し目的とするキー押下を検出することにより、問題を克服している。ただしこの方法では、キーボードのキーが固定位置にあり、ポータブル装置のダイナミックディスプレイでかなりのスペースを占める。また、キーの位置が固定されているため、ユーザは指が正しい場所をタップしていることを確認するため注意を払わなければならない。キーのぎざぎざ等の触覚マーカは、ユーザがキーを見ずに感じるのに役立つ。ただし、タッチスクリーン装置に触覚マーカを配置することは実際的でない。
【００１８】
従来の電気機械式キーボードは長年にわたり「ホーム列」のコンセプトを採用してきた。ホーム列とは、ユーザがタイピングに取り掛かるときに指を向け載置するキーである。このコンセプトは特に、キーを見ずに１０本の指でタイプすることを習得したユーザにとって重要である。ホーム列に置くことにより（ホーム列上の特定のキーに見られる専用「マーカ」を使用することを含む）、ユーザは所望の文字、記号、数字、または機能をタイプするにあたって指をどこへ動かすべきかを知る。このためユーザは指を見ずに速やかにタイプでき、作文に集中できる。
【００１９】
今日の社会におけるコンピュータ、ｅメール、およびテキストメッセージングの普及により、（タイピング授業の対象者が秘書の仕事を目指す人々に限られていた）一世代前より「タッチタイパー」の割合は増加した。事実、現在ではしばしば幼い子どもの教育課程の早期にキーボード技能が指導されている。１０指（「タッチ」）タイピングは今なお最も速く最も確実な周知の作文方法である。
【発明の概要】
【００２０】
本発明は、ユーザがタッチ感応画面に表示されたオンスクリーンキーボードのキーに指を載置することを可能にし、且つオンスクリーンキーボードの位置、向き、形、およびサイズを動的に規定する、システムおよび方法を提供する。ユーザがキーに指を置くため注意を払うのではなく（通常は前記キーの触覚マーカを頼りに指を置く）、システムはユーザの指が既に載置されている場所へオンスクリーンキーボードの位置を動的に移動させる。
【００２１】
本発明の一態様において、プロセスは「ホーム列規定イベント」を定義する。ホーム列規定イベントはユーザによって遂行される行為であり、これをもとにシステムはオンスクリーンキーボードのホーム列の位置を再規定する。この位置はユーザの行為に基づき動的に設定される。
【００２２】
本発明の別の態様において、ホーム列規定イベントは、ユーザが所定の時間（例えば１秒）にわたり両手の全４本の指をタッチ感応表面に同時に載置することと、定義される。
【００２３】
本発明のさらに別の態様において、ホーム列規定イベントは、ユーザがタッチ感応表面で両手の全４本の指をダブルタップし、２回目のタップの後に指を表面に載置することと、定義される。
【００２４】
本発明のさらに別の態様において、ホーム列規定イベントは、ユーザが両手の全４本の指をタッチ感応表面に同時に載置し、その後瞬間的に指を押し付けることと、定義される。
【００２５】
これらの行為（ならびに他の行為）はユーザによって開始され、ユーザの指がホーム列載置位置にあることをシステムに伝える。その後、本発明のシステムはオンスクリーンキーボードを適当な方向に向ける。尚、ホーム列のキーは必ずしも連続線上に並ぶわけではない（殆どの電気機械式キーボードでホーム列のキーは連続線上に並ぶ）。ホーム列の各キーの位置は、タッチセンサによって感知されるホーム列規定イベントのときのユーザの８本の指の配置によって規定され、「ホーム列載置キー」ではないキーの位置は推定される。したがってホーム列は、それぞれの手の配置に応じて２つの別々の線に沿って並ぶことがあり、２つの曲線を形成することさえある。
【００２６】
この方法で、本発明のシステムは、ユーザがタッチ感応ディスプレイ表面に指を下して載置することと、ユーザが仮想キーをタップすることによってタイプしようとすることとを、区別する必要がある。かかる方法はＭａｒｓｄｅｎの米国特許出願第２００９／００７３１２８号で説明されている。
【００２７】
ホーム列規定イベントが起こるとシステムは様々な方法でユーザにフィードバックを提供する。本発明の一態様において、システムはユーザの指の下にオンスクリーンキーボードを表示することによって視覚的なフィードバックを提供する。本発明の別の態様において、システムは可聴合図を提供する。本発明のさらに別の態様において、システムはタッチスクリーンを瞬間的に振動させる。
【００２８】
本発明の一態様において、オンスクリーンキーボードは、ユーザの選好に従い、タイピングが行われている間は連続的に可視状態を保つ。あるいは、オンスクリーンキーボードはホーム列規定イベントの後に透明になる。本発明の別の態様において、オンスクリーンキーボードは半透明となり、ユーザはキーボードを通して下の画面内容を見ることができる。
【００２９】
本発明のさらに別の態様において、オンスクリーンキーボードはユーザがタイプしているときに可視状態と不可視状態を繰り返す。ユーザが「隠れた」オンスクリーンキーボードをタップするたびにオンスクリーンキーボードは一時的に現れ、ユーザ設定可能時間後に徐々に消える。
【００３０】
本発明のさらに別の態様では、特定のキーだけがキーストロークの後に可視となる。一時的に可視となるキーは、直前のテキスト入力作業の後に続く見込みが最も高いキーである（システムに蓄積された語および文字データベースに基づき判断）。
【００３１】
本発明のさらに別の態様では、ホーム列位置に指を載置しているユーザが載置している指で表面を押すと、オンスクリーンキーボードが一時的に可視となる。
【００３２】
本発明のさらに別の態様では、ユーザがタッチセンサ領域の外側の囲いの端でダブルタップやトリプルタップ等の所定の動作を行うと、オンスクリーンキーボードが可視となる。
【００３３】
本発明の一態様において、ホーム列載置キーはそれぞれの手の４本の指が載置される８個のキーと定義される。本発明のさらに別の態様では、全８本の指を使用しないユーザに対処するため、載置キーは８個のキーより少なくてよい。
【００３４】
本発明の別の態様において、システムは、意図された方向での特定の指の動きに従って意図されたキーを絞り込む。例えばユーザは薬指を上げ、やや下に動かし、タップする。ユーザの指の動きが十分でなく隣接キーの仮想位置に達しなかったとしても、ユーザは載置位置から設定可能な閾距離で指を動かし、隣接キーの方向にタップしたのだから、ユーザの意図は明らかに隣接キーを選ぶことであった。この例では隣接キーでタップが行われなかったとしても、システムは隣接キーを選択する。
【００３５】
本発明の別の態様において、システムは直前のテキストに基づき各キーが選択される確率を調整する。ユーザがタップする見込みが最も高いキーを判断するため、この確率は以前の段落で説明したタップ位置アルゴリズムとともに使用される。
【００３６】
本発明のさらに別の態様において、システムはオンスクリーンキーボードでタイプする「ユーザの漂動（drift）」を自動的に計上する。各キーの感触がないため、ユーザの手はタイピングのときに僅かにずれやすい。システムは、意図されたキーの中心をユーザがタップした実際の位置と比較することによってこの挙動を追跡する。連続するキーイベントのスペースで一貫した漂動が検出されると、システムはその漂動に対処するためキーの位置をずらす。この場合もやはり、ユーザがキーの位置に注意を払うのではなく、システムはユーザの指が既に置かれている場所にキーを移動させる。
【００３７】
ユーザが遠く漂動しタッチ感応領域から外れると、システムは可聴、可視、および／または振動合図によりユーザに警告する。
【００３８】
本発明の別の態様において、方法およびシステムはポータブル計算装置の表面、タッチセンサ境界外で、ユーザのタップを監視する。例えばユーザは、スペースバー作動を指示するため装置の囲いの端をタップするかもしれない。他のタップイベントと同様、システムはタッチセンサと振動センサからの信号を相関してタップ位置を判断する。タッチセンサによって信号の不在が検出されると、システムはそのイベントを「外部タップ」（すなわち装置の表面、タッチセンサ境界外でのタップ）として認識する。外部タップは囲いにおけるその位置に応じて一意な振動波形を生成する。これらの波形の特性はデータベースに蓄積され、外部タップの凡その位置を一意に識別するため使用される。識別された外部タップはキーボード機能（スペース、バックスペース等）に割り当てることができる。
【００３９】
下記図面を参照し本発明の好適な例と代替例を以下に詳細に説明する。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に従い形成された例示的システムを示すブロック図である。
【図２Ａ】図１に示すシステムによって遂行される例示的プロセスのフローチャートを示す。
【図２Ｂ】図１に示すシステムによって遂行される例示的プロセスのフローチャートを示す。
【図２Ｃ】図１に示すシステムによって遂行される例示的プロセスのフローチャートを示す。
【図２Ｄ】図１に示すシステムによって遂行される例示的プロセスのフローチャートを示す。
【図２Ｅ】図１に示すシステムによって遂行される例示的プロセスのフローチャートを示す。
【図２Ｆ】図１に示すシステムによって遂行される例示的プロセスのフローチャートを示す。
【図３Ａ】本発明の一実施形態に従い形成された平面仮想キーボードを備えるタブレット装置の概略図である。
【図３Ｂ】本発明の実施形態に従って形成されたキーボード表示を示す。
【図３Ｃ】本発明の実施形態に従って形成されたキーボード表示を示す。
【発明を実施するための形態】
【００４１】
図１は、英数字入力のための適応型オンスクリーンキーボードユーザインターフェイスを提供する例示的装置１００のブロック図である。装置１００は、ＣＰＵ（プロセッサ）１１０へ入力を提供する１つ以上のタッチセンサ１２０を含む。タッチセンサ１２０は、表面がタッチされるときにプロセッサ１１０に接触イベントを通知する。一実施形態において、タッチセンサ１２０またはプロセッサ１１０はハードウェアコントローラを含み、ハードウェアコントローラはタッチセンサ１２０によって生成される原信号を解釈し、公知の通信プロトコルを使用し使用可能なデータポートを通じてプロセッサ１１０へ情報を伝達する。装置１００は１つ以上の振動センサ１３０を含み、振動センサ１３０は、タッチセンサ１２０と同様に、表面がタップされるときにプロセッサ１１０へ信号を伝達する。プロセッサ１１０は、センサ１２０、１３０から受信する信号に基づきディスプレイ１４０（タッチ表面）上に提示されるキーボード画像を生成する。ユーザにしかるべき聴覚信号を案内として送るため（例えばエラー信号）、プロセッサ１１０にはスピーカ１５０も結合されている。ユーザにしかるべき触覚フィードバックを提供するため（例えばエラー信号）、プロセッサ１１０にはバイブレータ１５５も結合されている。プロセッサ１１０はメモリ１６０とデータ通信し、メモリ１６０は、一時ストレージおよび／または永久ストレージの組み合わせ、読取専用および書込可能メモリ（ランダムアクセスメモリまたはＲＡＭ）、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードドライブ、フロッピディスク等の書込可能不揮発性メモリ、その他を含む。メモリ１６０はプログラムメモリ１７０を含み、プログラムメモリ１７０は、オペレーティングシステム１７１、適応型オンスクリーンキーボード（「ＯＳＫ」）ソフトウェアコンポーネント１７２、他の何らかのアプリケーションプログラム１７３等、あらゆるプログラムおよびソフトウェアを含む。メモリ１６０はデータメモリ１８０をも含み、データメモリ１８０は語データベース１８１と、ユーザオプションおよび選好の記録１８２と、装置１００の何らかの素子に必要な他の何らかのデータ１８３とを、含む。
【００４２】
センサ１２０、１３０からの信号に基づきプロセッサ１１０によってホーム列イベントが検出されると、プロセッサ１１０はディスプレイ１４０上でユーザの指の下に仮想オンスクリーンキーボードを配置する。ユーザがタイプするにつれ、プロセッサ１１０はキー作動ごとにユーザの指の配置とタップされた位置を絶えず監視し、オンスクリーンキーボードをユーザがタイプする場所に位置付けるため、各キー（およびキーボード全体）の位置、向き、およびサイズを調整する。これにより、オンスクリーンキーボードの当初の位置からのユーザの指の「漂動」または動きを計上することできる。ユーザが一方向に遠く漂動しタッチセンサ領域の端に達すると、プロセッサ１１０は可聴および／または触覚警告を出力する。
【００４３】
ユーザは随時、ホーム列規定イベント（上記）を開始することによってオンスクリーンキーボードの位置を手動で再割り当てできる。
【００４４】
一実施形態では、ユーザが「ホームキー」（典型的英語キーボードのＦおよびＪキー）と一般的に呼ばれるキーの上に人さし指を置くと、バイブレータ１５５により触覚フィードバックが提供される。一実施形態では、ユーザがキーの上に指を置くと左と右で若干異なる振動数を使用し瞬時の振動が発せられる。このようにしてユーザはプロセッサ１１０がオンスクリーンキーボードの位置を動的に変更することを選ばない場合に、手を固定ホーム列位置に戻すことを選ぶことができる。別の実施形態において、これらの振動の強さは固定ホーム列のホームキーに対する指の位置に応じて変化できる。
【００４５】
装置１００は、ユーザが指や仮想キーボードを見ずにタイプすることを可能にする。したがって、キーボードは常に見えなくてもよいということになる。このため貴重な画面スペースを別の目的に使用できる。
【００４６】
一実施形態では、可視、部分的に可視、不可視、または半透明の状態でキーボードの外観が変化する。ホーム列規定イベントが発生すると、またはユーザが設定可能な閾時間にわたってタイプせず指を載置すると、フルキーボードが現れる。ユーザがタイプし始めるとキーボードは徐々に消え、ホーム列規定イベント、タイピングを休止すること、４本の指を同時に押すこと、または一意に識別できる他の何らかのジェスチャを含み、ただしこれらに限定されない、行為のいずれか１つを、ユーザが遂行するまで、不可視となる。別の実施形態において、キーボードは徐々に消え完全に不可視となるのではなく、半透明になるため、ユーザはキーの場所を見分けることができるばかりでなく、オンスクリーンキーボードの「下」にある画面内容を見ることもできる。
【００４７】
一実施形態において、キーボードは、タップされたキーと、タップされたキーを取り囲むキーを、一時的に「照らす」、またはタップされたキーからの距離に比例して半透明に表示する。これによりキーボードのタップされた領域は短時間明るくなる。
【００４８】
一実施形態において、キーボードは、次に選択される確率が最も高いキーがその確率に比例して発光することにより、「部分的に」可視となる。ユーザがあるキーをタップすると直ちに、その後に続く見込みのある別のキーが可視または半可視となる。選択される見込みが高いキーは視認されやすくなり、そうでないキーは視認されづらくなる。このようにしてキーボードは最も見込みのある次のキーにユーザを「案内」する。
【００４９】
一実施形態では、ユーザがタッチ感応表面を取り囲む囲いの外縁でタップジェスチャ（例えば素早く連続するダブルまたはトリプルタップ）を行うことにより、オンスクリーンキーボードは一時的に可視となる。
【００５０】
ユーザは、ユーザインターフェイスプログラムの選好設定を通じて様々なオンスクリーンキーボード視覚表示モードを選択できる。
【００５１】
図２Ａ−Ｆは装置１００によって遂行される例示的プロセスを示す。図２Ａ−Ｆに示すフローチャートは例示の目的で使用され、本発明のソフトウェアを完全に詳述するものではない。
【００５２】
図２Ａは、ＯＳＫソフトウェアコンポーネント１７２から提供される命令に基づきプロセッサ１００によって実行されるプロセス２００を示す。ブロック２０６でプロセス２００が最初に開始されるときには、最小載置時間、指タッチ数閾値、漂動距離閾値、キー閾値等の様々なシステム変数が初期化される。ブロック２０８で、プロセッサ２５０はタッチスクリーンの領域内で接触が起きたことを通知されるまで待つ。その後ブロック２１０では、センサ１２０、１３０の１つ以上からの信号に基づきホーム列検出が行われる。ホーム列検出については図２Ｂでより詳細に説明する。ブロック２１２では、これから表示される仮想キーボードのキーの位置がセンサ信号に基づき判断される。キー位置判断については図２Ｃでより詳細に説明する。次にブロック２１６でキー作動が処理される（詳細については図２ＤおよびＥを参照されたい）。ブロック２１８では、ユーザの指の漂動がセンサ信号に基づき検出される。その後ブロック２２０では、ブロック２１０−２１８で下された判断の少なくとも１つに基づきディスプレイ１４０に仮想キーボードが提示される。ユーザが８本の指を外し、その後タッチスクリーンに触れると、プロセス２００が繰り返される。
【００５３】
図２Ｂはホーム列検出プロセス２１０を示す。決定ブロック２３４で、プロセス２１０はユーザが最小時間（すなわち最小載置閾値）にわたってタッチスクリーン上に指を載置したか否かを判断する。決定ブロック２３６で、プロセス２１０は適当数の指がタッチ表面上に載置されることにより、ホーム列規定イベントが始まるか否かを判断する。ブロック２３４または２３６で条件が満たされない場合、プロセス２１０はオンスクリーンキーボードの位置を変えずに終了する。
【００５４】
指の載置時間と指数の条件が満たされる場合、プロセッサ１１０は載置されている指の位置を判断する。ブロック２４０を参照されたい。その後、ブロック２４２でＫｅｙＳｐａｃｅＩｎｄｅｘ（「ＫＳＩ」）値が判断される。ＫＳＩは、ユーザの指のサイズと間隔に合わせてオンスクリーンキーボードをカスタマイズするために使用される。
【００５５】
ＫＳＩは同じユーザであってもホーム列規定イベントのたびに変化することがある。一実施形態では、それぞれの手の全４本の指がタッチ表面に載置されるとホーム列規定イベントが始まる。この場合、ＫＳＩは次式によって与えられる。
【００５６】
ＫＳＩ＝（平均載置キー間隔）／（モデル化公称間隔）＝［（ａ＋ｂ＋ｃ）／３］／Ａ＝（ａ＋ｂ＋ｃ）／３Ａ
ここで、
Ａ＝キー間のモデル化公称距離（通常１９ｍｍ）
ａ＝載置キー１と載置キー２との間の測定距離
ｂ＝載置キー２と載置キー３との間の距離
ｃ＝載置キー３と載置キー４との間の距離
ホーム列規定イベントの開始に使用される載置指が４本に満たない場合は、ＫＳＩ式を相応に調整できる（データベースに蓄積された１セットのユーザ選好で規定）。ＫＳＩは以降のプロセスで使用される。
【００５７】
標準オンスクリーンキーボードのデータモデルはシステムのメモリに蓄積される。このデータモデルでオンスクリーンキーボードレイアウトは２つの部分に、すなわち右手で通常タイプされるキーと、左手で通常タイプされるキーとに、分割される。さらに、各キーは、その特定のキーをタイプする見込みが最も高い指によって載置されているホーム列載置キーに関係付けられる（「関係載置キー」と定義）。データモデルでは各キーの位置がその関係載置キーからの相対的測定値として規定される。
【００５８】
各キーの位置を判断する例示的式は次の通りである。
【００５９】
キー（ｘ’，ｙ’）＝キーモデル（ｘ＊ＫＳＩ，ｙ＊ＫＳＩ）
ここで、
ｘ＝関係載置キー（ＲＲＫ）の中心からの公称蓄積ｘ距離
ｙ＝ＲＲＫの中心からの公称蓄積ｙ距離
２つ以上のキーの修正キー位置が重なり合うことはあり得る。この場合、重なり合うキーのサイズは重なり合いがなくなるまで縮小される。
【００６０】
Ｘ−Ｙ軸の向きは載置キーごとに別々に判断される。左右のセクタごとに、セクタ内の載置キーに曲線が適合される。次に、各キーのＸ−Ｙ軸は、キーの中心で曲線に対し正接（ｘ軸）および直交・正接（ｙ軸）となるよう向けられる。
【００６１】
図２Ｃはキー位置割当プロセス２１２を示す。プロセス２１２はキーボードの各キーごとに繰り返される。ブロック２５２では、［ＲｅｓｔｉｎｇＫｅｙ，Δｘ，Δｙ］の形で関連載置キー位置を基準とする予め蓄積された各キーの位置がデータベース１８１から引き出される。例えば、文字「Ｒ」を表すキーは載置キーＬ１（通常は文字「Ｆ」）に関連し、Ｌ１の左上に位置する。したがって、そのデータセットは［Ｌ１，−５，１９］（ミリメートル単位）となる。各キーにつき同様のデータがデータベース１８１から引き出される。ブロック２５４では、データベースから引き出されたオフセットにＫＳＩを乗算することによって各キーにつき新しい相対オフセットが計算される。ブロック２５８では、ブロック２５４で求めた新しいオフセットを関連載置キーの絶対位置に加えることによって各キーの絶対座標が求められる。決定ブロック２６０で、プロセス２１２はキーが重なり合っているか否かを検査し、重なり合っている場合は、重なり合いをなくすためブロック２６２でキーのサイズと位置が調整される。その後、プロセス２１２はプロセス２００へ復帰する。
【００６２】
図２Ｄはキー作動処理プロセス２１６を示す。これにより実際のキーイベントが判断され、出力される。プロセス２１６は、有効なタッチ・タップ・イベントが発生したか否かを検査する決定ブロック２７０で始まる。これは、Ｍａｒｓｄｅｎらの米国特許出願第２００９／００７３１２８号で詳しく説明されているように、タッチセンサ１２０と振動センサ１３０との相関により判断される。ブロック２７２では、キー採点アルゴリズムを適用することによって候補キーが採点される。次いで、得点が最も高いキーはブロック２７４で出力され、プロセス２１６は復帰する。
【００６３】
図２Ｅは、図２Ｄのブロック２７２からのキー採点アルゴリズムのプロセスを示す。ブロック２８０では、ユーザのタップがどこで行われたかを判断し、近接するキーを「候補キー」として規定するため、タッチセンサ１２０と振動センサ１３０によって受信される信号が相関される。（タップが行われたキーのみならず）タップ領域を取り囲むキーを検討することにより、プロセッサ１１０はユーザのタイピングスタイルの曖昧さを計上する。決定ブロック２８２で、プロセス２７２はユーザがタイプするため載置キーから指を動かしたか否かを検査する。尚、典型的なタイピングスタイルでは、たとえ１０本の指でタッチするタイピストでさえ全４本の指を常時絶えず載置するわけではない。したがって、正しいキーがタイプされるため載置キーで変化が起こることは前提条件ではない。ただし、候補キーの近くで載置キーの状態に変化が生じる場合は（またはこれが候補キーそのものである場合は）、ブロック２８４で説明するように、かかる変化から有用な情報を得ることができる。ブロック２８４では、状態変化が検出されたタップの近くにある載置キーと、ブロック２８０で計算されたタップの位置との間で、仮想線が計算される。仮想線はタップ位置を越えて延出する。ブロック２８４では、投影された線が通過するキーが判断され、プロセッサ１１０はそれらのキーの得点を相応に増加させる。このようにしてタップ位置が所望のキーの真上でなくても、そのキーの方向での相対的動きはそのキーに相関される。ブロック２８８で、プロセッサ１１０はタイプされた先行の語および文字をデータメモリ１８１に蓄積された言語データに比較し、考慮に入れる。これは、文字対統計的頻度（letter-pair statistical frequency）、部分一致予測（partial-match prediction）、語間予測（inter-word prediction）、語内予測（intra-word prediction）等、公知の曖昧排除法（disambiguation method）を含む。それぞれの候補キーにはしかるべき得点が割り当てられる。ブロック２９０では、ユーザの意図する選択の最高計算確率を表す最高得点を持つ候補キーが判断され、プロセス２７２は復帰する。
【００６４】
図２Ｆは、ユーザがタイプするときに意図せず手を動かす（「漂動」）場合に対処する漂動検出プロセス２１８を示す。ブロック３００で、プロセス２１８は実際のタップ位置を表示された目的キーの現在の中心に比較し、ＸおよびＹ座標の差をΔＸおよびΔＹとして蓄積する。ブロック３０２では、これらの差が以前のキーストロークからの以前の累計に加えられる。決定ブロック３０４で、プロセッサ１１０はいずれかの方向での累積差が「ＤｒｉｆｔＴｈｒｅｓｈｏｌｄ」（データメモリ１８２に蓄積されたユーザ選好またはデフォルトデータから規定）と呼ばれる予め蓄積された変数を超過するか否かを検査する。閾値を超過する場合、プロセッサ１１０はブロック３０８で最後の位置規定イベント以降の全ΔＸおよびΔＹの平均によりキーボード全体の位置を移動させる。累積差がキーボード全体のＤｒｉｆｔＴｈｒｅｓｈｏｌｄを超過しない場合は、ブロック３１６で選択された個々のキーにつき同様の計算が行われる。ブロック３１８で、プロセッサ１１０はブロック３１６の後に個々のキーの累積差がユーザ規定キー閾値を超過するか否かを検査し、超過する場合はブロック３２０でその位置を調整する。キー閾値は、関連キーの現在位置に比較したタップ位置の許容誤差である。キー閾値を超過した場合、関連キーは移動される。ブロック３０８の後、ブロック３１８の決定がいいえの場合、またはブロック３２０の後、プロセッサ１１０はブロック３１０で、新しい位置が他のキーと重なり合うか否かを、またキーボード全体がタッチセンサの境界内にとどまっているか否かを、検査する。いずれかの検査で衝突がある場合はブロック３１２で「ベストフィット」アルゴリズムにより衝突が是正され、終了する。衝突が見つからない場合、プロセス２１８は復帰する。
【００６５】
本発明の方法によりユーザはオンスクリーンキーボードが見えない状態でもタイプできるが、ユーザがキーを見たくなるときもある。例えば、ユーザが所望の文字に対応するキーがどれなのか分からない場合、または特定の文字が独立した数字および／または記号層にある場合である。別のユーザは各文字の位置を丸暗記してタイプできない場合もある。このような、および他の理由から、装置の画面上にオンスクリーンキーボードを見えるように提示することは重要である。
【００６６】
蓄積されたユーザの選好に従い、オンスクリーンキーボードはタイピングが行われている最中にも連続的に可視状態を保つことができる。あるいは、オンスクリーンキーボードはホーム列規定イベントの後に透明になる。一実施形態において、オンスクリーンキーボードは半透明となり、ユーザはキーボードを通して下の画面内容を見ることができる。
【００６７】
キーボードが不可視に設定される場合は、他の内容を全画面で表示できる。ボタン等の他のアクティブなユーザインターフェイス要素が不可視のオンスクリーンキーボードの下に位置する場合がある。この場合、装置１００はそのような要素に向けられたユーザの入力を傍受し、オンスクリーンキーボードを可視にし、それが実際に存在することをユーザに知らせる。そしてユーザは、キーボード上の該当するキーを押すことによってキーボードを「片付ける」ことにすることができる。尚、キーボードを片付けることはキーボードを不可視にすることと同じではない。キーボードを片付けることとは、タッチスクリーン装置で一般的に行われるように、画面からキーボードを「最小化」することを意味する。
【００６８】
一実施形態において、オンスクリーンキーボードはユーザがタイプしているときに可視状態と不可視状態を繰り返す。ユーザが「隠れた」オンスクリーンキーボードをタップするたびにオンスクリーンキーボードは一時的に現れ、ユーザ設定可能時間後に徐々に消える。
【００６９】
一実施形態では、特定のキーだけが各キーストローク後に可視となる。一時的に可視となるキーは、直前のテキスト入力作業の後に続く見込みが最も高いキーである（システムに蓄積された語および文字データベースに基づき判断）。
【００７０】
一実施形態では、ホーム列位置に指を載置しているユーザが載置している指で表面を押すと、タッチセンサ１２０によって感知される変化に基づき、オンスクリーンキーボードが一時的に可視となる。
【００７１】
一実施形態では、ユーザがタッチセンサ領域の外側の囲いの端でダブルタップやトリプルタップ等の所定の動作を行うと、オンスクリーンキーボードが可視となる。
【００７２】
オンスクリーンキーボードは通常、出現するように設定された場合に、一般的には挿入キャラット（または類似する標識）によって視覚的に表示されるテキスト挿入条件が存在するときに（オペレーティングシステム１７１によって指示）、出現する。
【００７３】
一実施形態では、ＦおよびＪホーム列キーで一般的に使用される触覚マーカが触覚フィードバック（タッチスクリーンで発生する振動等）によって模擬される。触覚フィードバックは、ユーザがそれらのキーに指を載置したときに提供される。このようにしてユーザはキーボードを同じ画面上の位置に静止させることを選ぶ場合に、タッチだけで（見ずに）手の正しい配置を確認できる。
【００７４】
キーボードの精度を高めるため統計的言語モデルが使用される。タッチ／タップイベントによるキーの選択が曖昧な場合はプロセッサ１１０が統計モデルを呼び出し、ユーザが目的とする見込みが最も高いキーを提供する。
【００７５】
本発明では所望のキーについての永続的決定をその場で下さなければならないため、この「曖昧排除」は他のテキスト入力システムで使われている他の方法と異なる。語の選択をユーザに向けて表示し出力を修正するためのエンド・オブ・ワード・デリニエーション（end-of-word delineation）はない。代わりに、ユーザがキーをタップするたびに決定を下さなければならず、キー作動を目的のアプリケーションプログラム（すなわちテキスト入力プログラム）へ送らなければならない。
【００７６】
部分一致文字予測（partial-match letter prediction）、現在語予測（current-word prediction）、次語予測（next-word prediction）、接続次語予測（conjunctive next-word prediction）等、数通りの統計的分析法を使用できる。以降の節ではこれらを詳しく説明する。
【００７７】
部分一致による予測
この場合に有用な周知のアルゴリズムは、データ圧縮のため当初発明された部分一致による予測（ＰＰＭ）である。キーボードに応用されたＰＰＭアルゴリズムは、既に出来した（長さｋ）の文字列から最も見込みの高い次の文字を予測するために使われる。計算時間および資源は値ｋとともに指数関数的に増大する。したがって、まずまずの曖昧排除結果をもたらす最も低いｋ値を使用するべきである。
【００７８】
一例としてｋ＝２とする。本発明のプロセスは入力された過去の２文字に注目し、タイプされる見込みが最も高い次の文字の確率をデータベースから比較する。例えば下記の下線が引かれた文字は、見込みが最も高い次の文字を予測するために使われる。
【００７９】
Ａｎ
Ａｎ  
Ａｎ  ｅ
Ａｎ  ｅｘ
Ａｎ  ｅｘａ
Ａｎ  ｅｘａｍ
Ａｎ  ｅｘａｍｐ
Ａｎ  ｅｘａｍｐｌ
Ａｎ  ｅｘａｍｐｌｅ
このアルゴリズムで可能性のあるキーの合計数Ａに必要なデータ蓄積量は次の通りである。
【００８０】
Ａｋ＋１
典型的なオンスクリーンキーボードの場合、このプロセスは１ＭＢ未満のデータを消費する。
【００８１】
各言語につき統計モデルが構築される（ｋは小さい値）。共通根を持つ言語で表は類似することがある。また、モデルはユーザがテキストを入力するにつれ動的に更新する。こうしてシステムはユーザのタイピングパターンを学習し、時間が経つにつれより正確にタイピングパターンを予測する。
【００８２】
言語異形はオペレーティングシステムのコントロールパネルを通じて設定される言語別辞書の形で提供される。コントロールパネルはシステムロケールから現在のユーザの言語を識別し、適切な予測辞書を選択する。辞書は、新語識別と共通語使用採点を提供する連続的に実行する「ｓｙｓｔｒａｙ」アプリケーションを使用して照会される。
【００８３】
一実施形態では、意図されるキー作動を絞り込むため、ある言語で一般的に使用される語からなるデータベースが使用される。アルゴリズムはこれまでにタイプされた文字を語データベースに単に比較し、データベースでの一致に基づき最も見込みのある次の文字を予測する。
【００８４】
例えばユーザが「Ｈｅｌ」とタイプしたとする。語データベースで起こりうる一致は次の通りである。
【００８５】
Ｈｅｌｌｏ（５０）
Ｈｅｌｐ（２０）
Ｈｅｌｌ（１５）
Ｈｅｌｉｃｏｐｔｅｒ（１０）
Ｈｅｌｌａｃｉｏｕｓ（５）
各語の横の数字は１００で正規化された使用「頻度」を表す。（便宜上、この例の合計頻度は１００になるが、通常はそうならない）。
【００８６】
「Ｈｅｌ」の後に続く見込みが最も高い候補文字は次の通りである。
【００８７】
Ｌ（７０）−語「Ｈｅｌｌｏ」、「Ｈｅｌｌ」、および「Ｈｅｌｌａｃｉｏｕｓ」で加算された確率
Ｐ（２０）
Ｉ（２０）
この例は、文字Ｌ、Ｐ、およびＩが互いに近接している点がとりわけ有用である。ユーザは数通りのキー（例えばＩ、Ｏ、Ｐ、またはＬ）に近い位置をタップする可能性がある。語予測を加えることにより選択は大幅に絞り込まれる。この例で最も見込みのある次の文字は明らかに「Ｌ」である。
【００８８】
尚、この語予測アルゴリズム実装はオンスクリーンキーボードに従来使われているものと異なる。なぜならこれは実際には語予測システムではなく、語データベースを使用する文字予測システムだからである。
【００８９】
一実施形態では、選択される見込みが最も高いキーをさらに絞り込むため語対が使用される。簡素な語予測では現在の語の最初の文字を絞り込むための文脈がない。これは完全に曖昧である。（この曖昧排除はその語の２番目以降の文字で若干低減される。）ある語の最初の数文字の曖昧性は、現在の語の直前に入力された語を考慮に入れることにより大幅に低減される。これは「次語予測」と呼ばれる。
【００９０】
例えば入力された語が「Ｃｌｅａｎｋｅｙｓ」だったなら、データベースに蓄積された一般的な次の語は下記の通りである。
【００９１】
Ｋｅｙｂｏａｒｄ（８０）
Ｉｎｃ．（２０）
Ｉｓ（２０）
Ｗｉｌｌ（１５）
Ｍａｋｅｓ（１０）
Ｔｏｕｃｈ（５）
ユーザが次の語の先頭としてＩキーとＫキーの間を曖昧にタップする場合、次語予測アルゴリズムは絞り込みを支援する（この場合は「Ｋ」が勝つ）。
【００９２】
ロジックでは、タイプされた以前の語を検討するコンセプトは、タイプされた以前のｋ個の語まで展開されるものと決めてもよい。例えばｋ＝２の場合、システムはデータベース内の全ての語につき第２度次語（次の次の語）を有するデータベースを蓄積する。換言すると、２つの前の語の組み合わせに注目し、後に続く見込みが最も高い語を判断する。ただし、これはスペースと計算能力の点でたちまち不利となる。組み合わせの殆どは出来しないため、そのように多くの組み合わせを蓄積することは実際的でなく、有益でもない。
【００９３】
ただし、検討に値する大きな例外がある。非常に多数の次語候補を持つ語である。接続詞や冠詞として知られる品詞がこれに該当する。
【００９４】
英語で最も使われる７つの接続詞は次の通りである。
【００９５】
ａｎｄ、ｂｕｔ、ｏｒ、ｆｏｒ、ｙｅｔ、ｓｏ、ｎｏｒ。
【００９６】
英語の冠詞は次の通りである。
【００９７】
ｔｈｅ、ａ、ａｎ。
【００９８】
これらの１０語を特別扱いすることにより、システムは第１文字予測を改善する。
【００９９】
ｋｉｃｋ  ｔｈｅ＿という句を検討する。
【０１００】
データベース内の全ての名詞は冠詞「ｔｈｅ」にとって最も見込みのある次語候補となるため、次語予測アルゴリズムから得られるメリットは殆どない。ただし、冠詞「ｔｈｅ」の前の「ｋｉｃｋ」の文脈が記憶されるなら、有意義な次次語選択が達成される。具体的には「ｋｉｃｋ＿ｔｈｅ」という新しい「語」がデータベースに蓄積される。この新しい要素の次語候補は次の通りである。
【０１０１】
Ｂａｌｌ（５０）
Ｂｕｃｋｅｔ（２０）
Ｈａｂｉｔ（１５）
Ｃａｎ（１０）
Ｔｉｒｅｓ（５）
したがって、句「ｋｉｃｋ＿ｔｈｅ＿」の後に続く見込みが最も高い次の文字が文字「Ｂ」であると確信を持って予測できる。
【０１０２】
接続詞または冠詞と組み合わされた状態で見つかる語は、それらの品詞と組み合わされて新しい語要素を形成する。
【０１０３】
ここで説明する文字単位予測システムと語本位予測システムとの顕著な違いは、文字ごとに予測の方向を動的に変える能力にある。例えば、ある特定のキーについて推測を誤り、その後に所望の語が明らかとなる場合、アルゴリズムは間違った文字について行った選択を破棄し、新たに判断された目的の語に基づき残りの文字に予測を適用する。
【０１０４】
例：
【表１】
0005782133.tif 000002
【０１０５】
語が進むにつれ、最初の文字「Ｂ」が「Ｈ」であるべきだったことが明らかとなる（これらの文字はｑｗｅｒｔｙキーボードレイアウトで互いに近いため間違えやすい）。その最初の文字を完全に確定し、「Ｂ」から始まる語だけを検討するのではなく、システムは２番目の文字を予測するにあたって別の候補も検討する。したがって、後続のキーの最初の文字としてＢ、Ｈ、およびＧが検討される。誤りは波及せず、ユーザは潜在的に多数の訂正を行う代わりに１回の訂正を行うだけでよい。
【０１０６】
入力される新たなキーごとに、当該キーに近接するキーと他の曖昧な候補が後続の文字を判断する際の可能性として検討される。
【０１０７】
ユーザが誤りを犯しバックスペースを使ってこれを訂正すると、システムはそのデータをアルゴリズムに投入し、相応に調整を行うことができる。
【０１０８】
例えば、ユーザがキーボードの中央であるキーを曖昧に入力すると、採点アルゴリズムは可能性のある候補として「Ｈ」、「Ｊ」、および「Ｎ」を指示する。これらの３文字の得点は許容範囲内であり、最高得点が取られる。例えば、アルゴリズムは文字「Ｊ」を最も見込みがある候補として返し、キーボードはこれを出力するとする。この直後、ユーザは＜バックスペース＞と「Ｈ」を明確にタイプし、誤りを訂正する。
【０１０９】
この情報は採点アルゴリズムにフィードバックされ、採点アルゴリズムは、曖昧なキーが当初入力されたときに「Ｊ」より高く「Ｈ」を採点したサブアルゴリズムがどれなのかを調べる。それらのアルゴリズムの重みは増加されるため、同じ曖昧な入力が再び起こるなら文字「Ｈ」が選択される。このようにユーザの訂正に直接基づいてフィードバックループが提供される。
【０１１０】
勿論、アルゴリズムのためではなくユーザ自身がタイピングの誤りを犯すこともある。アルゴリズムはユーザがタイプしたものを正確に出力する。したがって、ユーザ訂正フィードバックループを開始するべきか否かを判断するときには注意を払わなければならない。通常これは問題のキーが曖昧だったときにのみ起こる。
【０１１１】
ユーザ設定可能オプションにより、キーボードは明らかに間違っていた語を訂正するためバックスペースと新たな文字を発行できる。上の例で、論理にかなった語選択が「ｈａｂｉｔ」のみであると予測器が判断すると、キーボードはバックスペースを発行し、「ｂ」を「ｈ」に変更し、後続の文字を再発行する（場合によっては語を完成させる）。
【０１１２】
キーの曖昧排除には多数の要因が関与し、全てのアルゴリズムはキーの立候補を増加させる可能性がある。このアプローチは採点と呼ばれる。全てのアルゴリズムは重み付けされ、合計される。ユーザのタイピングスタイルおよび環境に合わせて採点アルゴリズムを調整するため、重み付けは動的に変更される。
【０１１３】
図３Ａは、タッチ感応ディスプレイ３５２が前面に組み込まれた典型的な手持ち型タブレットコンピュータ３５０と本発明の一実施形態に従って設計および使用されるキーボード３５４の概略図を示す。本発明に従って使用されるキーボード３５４はテキストを生成し、生成されたテキストはテキスト表示領域３５８のテキスト挿入位置３６０に出力される。本願における用語「キーボード」は、タッチ感応ディスプレイに提示されるキーボードを含む、タッチおよびタップ感応表面で実現されるキーボードを指す。キーボード３５４は、殆どのキーボードに見られる標準「ＱＷＥＲＴＹ」配置に概ね配置された個々のキーでユーザによって選ばれる各言語のアルファベット文字を表示する。
【０１１４】
一実施形態において、キーボード（ならびに個々のキー）の向き、位置、およびサイズは、ユーザの入力挙動に従って適応的に変更される。ユーザが特定の方法でタッチ表面３５２に指を載置すると、システムは載置している指によって決まる位置へキーボード３５４を移動させる。ユーザはキーボード３５４であるキーを作動させようとするときに、指を上げ、認識できる力で表面３５２を叩くことにより、所望のキーを「タップ」する。タッチセンサ領域３５２の外側の領域３６２、３６４で行われるユーザのタップは振動センサによって検出され、スペースバー等のキーボード機能に割り当てることもできる。
【０１１５】
タッチセンサ信号の不在は実際には値ゼロの信号であり、タップ（または振動）センサと相関され、タップ位置を一意に識別するために使用できる。一実施形態において、領域３６２、３６４で示される領域等、タッチセンサ領域３５２の外側の特定の領域の振動信号は一意であり、システムによってデータベースに蓄積される。タップイベントとともにタッチ信号の不在が発生すると、システムはタップの振動特性をデータベースに蓄積された振動特性に比較し、外部タップの位置を判断する。一実施形態において、下外側境界領域３６２はスペース機能に割り当てられ、右外側境界領域３６４はバックスペース機能に割り当てられる。
【０１１６】
図３Ｂは例示的仮想オンスクリーンキーボード３７０の概略図である。キーボード３７０は２つの半分に、すなわち左半分３７２と右半分３７４（ユーザの左および右手に相関）とに、分割されている。２つの独立した半分３７２、３７４は互いに揃っていない。ユーザの指が通常載置される８個のキー３７８は、それらのキーに通常使われる指に応じて太字のラベルで表示されている（例えばＬ１は左手の人さし指を表し、Ｌ４は左手の小指を表す）。他の非ホーム列キーは、従来のタッチタイピング手法でそれらのキーのタイピングに通常使われる指を示すラベルで表示されている。ただし、図３Ｂに示す指配置を使用しないタイピングスタイルも多数あり、ラベルが専ら説明の目的で使われていることに注意されたい。
【０１１７】
キーボードの左半分３７２では従来の電気機械式キーボードのように全てのキーが水平の列に並べられている。一実施形態では、右半分３７４に見られるように、ホーム列キーがユーザの４本の指の通常の載置位置により良好に適合するため円弧に沿って分散されている。非ホーム列キーも同様にホーム列載置キーに対する相対位置に従って分散されている。一実施形態では、各キーのサイズもユーザがキーを選ぶ統計的見込みに従って変化できる（見込みが高いほどキーは大きい）。
【０１１８】
図３Ｃは、本発明の一実施形態に従って傾いた仮想オンスクリーンキーボード３８４の概略図である。ユーザは、典型的手持ち型タブレットコンピュータ３９４のタッチ感応表面３９２で手３９０をユーザが望む任意の位置および向きに載置できる。この場合、手は通常より離れており、装置３９４の直線端に対し傾いている。ユーザは「ホーム列規定イベント」を指示する行為を開始する。「ホーム列規定イベント」は、全８本の指を短いユーザ規定可能時間にわたり載置すること、表面３９２で全８本の指を同時にダブルタップしてから表面３９２に載置すること、または表面３９２に載置した全８本の指を同時に押し付けること、を含み、ただしこれらに限定されない。別の実施形態では、ホーム列規定イベントを開始するにあたって全８本の指は必要とされない。例えば中指がない人は、その手の３本の指だけでホーム列規定イベントを開始できる。ユーザはタブレットコンピュータ３９４で手２９０を斜めに載置しているため、コンピュータ２９４のプロセッサは仮想オンスクリーンキーボード３８４を生成し斜めに表示している。
【０１１９】
排他的な所有権または特権を請求する本発明の実施形態は次のように定義される。
【図１】
0005782133.tif 000003
【図２Ａ】
0005782133.tif 000004
【図２Ｂ】
0005782133.tif 000005
【図２Ｃ】
0005782133.tif 000006
【図２Ｄ】
0005782133.tif 000007
【図２Ｅ】
0005782133.tif 000008
【図２Ｆ】
0005782133.tif 000009
【図３Ａ】
0005782133.tif 000010
【図３Ｂ】
0005782133.tif 000011
【図３Ｃ】
0005782133.tif 000012