(57)【特許請求の範囲】
【請求項１】
プログラムされた命令を記憶するように構成されているメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
遠隔に位置するコンピューティングデバイスの入力選択デバイスを複数のゾーンに分割することであって、各ゾーンは、１つ以上のキーを含む、ことと、
連続的に選択されたゾーンの一連のユーザ指示を受信することであって、前記ゾーンは、前記一連のユーザ指示を受信する前に定義される、ことと、
前記選択されたゾーンの各々に関連付けられている１つ以上のキーの全てが選択されていると見なすことと、
一連の連続的に選択された１つ以上のキーを遠隔データベース記憶場所に伝送することと、
一連の選択されたキーに従って入力された１つまたは複数の意図されたユーザの言葉を決定するためのアルゴリズムに、前記一連の連続的に選択された１つ以上のキーを入力することと、
前記決定された１つまたは複数の意図されたユーザの言葉を、前記遠隔に位置するコンピューティングデバイスに伝送することと、
前記決定された１つまたは複数の意図されたユーザの言葉のうちの１つの選択のユーザ指示を受信することと
によるデータ入力の方法を、前記遠隔に位置するコンピューティングデバイスにおいて行うために、前記プログラムされた命令を実行するように構成されている、
コンピュータシステム。
【請求項２】
データ伝送の方法であって、
複数のゾーンレイアウト定義を定義するステップであって、各ゾーンレイアウト定義は、ゾーン定義識別子によって識別され、各ゾーン定義は、入力選択デバイスを複数のゾーンに分割し、各ゾーンは、各ゾーンに関連付けられている１つの出力キーを含み、前記ゾーンのうちの少なくとも１つのゾーンは、他のゾーンと重複しない、ステップと、
前記ゾーンレイアウト定義のうちの１つを選択するステップと、
複数の入力文字を受信するステップであって、各入力文字は、前記選択されたゾーンレイアウト定義によって定義される前記複数のゾーンのうちの少なくとも１つに関連付けられている、ステップと、
前記ゾーンの各々に含まれるゾーン出力キーを含む一連のゾーン出力キーを出力するステップであって、前記ゾーンの各々は、前記選択されたゾーンレイアウト定義に従って定義されるように、前記複数の入力文字の各々に関連付けられている、ステップと
を含む、方法。
【請求項３】
前記複数の入力文字を受信する前に、各ゾーン定義の指示が表示される、請求項２に記載の方法。
【請求項４】
一連のプログラム命令を記憶するように構成されているメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
入力選択デバイスを複数のゾーンに分割することであって、各ゾーンは、少なくとも１つのゾーン出力キーに対応する２つ以上の入力キーを含む、ことと、
複数の入力を受信することであって、各入力は、前記複数のゾーンのうちの１つにおけるキーの選択に関連付けられており、各ゾーンは、一連のユーザ指示を受信する前に定義され、前記ゾーンのうちの少なくとも１つのゾーンは、他のゾーンと重複しない、ことと、
受信された前記複数の入力の各々に対応する複数のゾーン出力キーを出力することと
によるデータ伝送の方法を行うために、前記プログラム命令を実行するように構成されている、
コンピュータシステム。
【請求項５】
プログラムされた命令を記憶するように構成されているメモリと、
プロセッサ電子機器と、
を含み、
前記プロセッサ電子機器は、
入力される第１のテキストを示す第１のモダリティにおける第１の入力および入力される第２のテキストを示す第２のモダリティにおける第２の入力を少なくとも含むユーザからの入力を受信することであって、前記第１のテキストおよび前記第２のテキストは重複する、ことと、
前記入力される第１のテキストと前記入力される第２のテキストとの重複に対応する１つ以上の言葉の選択を決定するために、２つ以上のモダリティの各々における前記入力を分析することと、
前記２つ以上のモダリティの各々から決定される前記言葉の選択を使用して、前記入力される第１のテキストと前記入力される第２のテキストとの重複に対応する言葉を選択する、ことと
によるユーザからテキスト入力を受信する方法を行うために、前記プログラムされた命令を実行するように構成されている、
コンピュータシステム。
【請求項６】
前記命令は、前記２つ以上のモダリティの各々から決定される前記言葉の選択を、前記入力されるテキストに対応する言葉を選択するために前記ユーザに提示するために、前記プロセッサ電子機器によって実行可能である、請求項５に記載のコンピュータシステム。
【請求項７】
コンピュータは、キーボードとマイクロホンとを含み、前記命令は、前記キーボード上の入力および前記マイクロホンによって受信される音声入力を介して、前記ユーザから入力を受信するために、プロセッサによって実行可能である、請求項５に記載のコンピュータシステム。
【請求項８】
コンピュータは、触覚入力とマイクロホンとを含み、前記命令は、前記触覚入力上の入力および前記マイクロホンによって受信される音声入力を介して、前記ユーザから入力を受信するために、プロセッサによって実行可能である、請求項５に記載のコンピュータシステム。
【請求項９】
前記命令は、プロセッサに、前記ユーザによって講じられた最近の措置を決定させ、前記ユーザによって講じられた最近の措置に対応する言葉の選択を選択させる、請求項５に記載のコンピュータシステム。
【請求項１０】
前記命令は、プロセッサに、前記ユーザの場所を決定させ、前記ユーザの場所に対応する言葉の選択を選択させる、請求項５に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本願は、同一人に譲渡された以下の出願を基礎とする優先権を主張する。これらの出願は、その全体が参照により本明細書に引用される：米国仮特許出願第６１／３１３，４５４号（２０１０年３月１２日出願、名称「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｔｅｘｔ  Ｉｎｐｕｔ」、（代理人事件番号７１００７．８０４５））、米国仮特許出願第６１／３１３，８６４号（２０１０年３月１５日出願、名称「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｔｅｘｔ  Ｉｎｐｕｔ」、（代理人事件番号７１００７．８０４７））、米国仮特許出願第６１／３１３，４２３号（２０１０年３月１２日出願、名称「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｅｃｕｒｅ  Ｄａｔａ  Ｔｒａｎｓｍｉｓｓｉｏｎ」、（代理人事件番号７１００７．８０４４））、および米国仮特許出願第６１／３１６，７９９号（２０１０年３月２３日出願、名称「Ｍｕｌｔｉｍｏｄａｌ  Ｔｅｘｔ  Ｉｎｐｕｔ  Ｓｙｓｔｅｍ，  Ｓｕｃｈ  ａｓ  ｆｏｒ  Ｕｓｅ  ｗｉｔｈ  Ｔｏｕｃｈ  ｓｃｒｅｅｎｓ  ｏｎ  Ｍｏｂｉｌｅ  Ｐｈｏｎｅｓ」、（代理人事件番号７１００７．８０３６））。
【０００２】
本願は、同一人に譲渡された以下のものにも関連する。これらの出願は、参照により本明細書に引用される：米国特許第６，３０７，５４９号（名称「ＲＥＤＵＣＥＤ  ＫＥＹＢＯＡＲＤ  ＤＩＳＡＭＢＩＧＵＡＴＩＯＮ  ＳＹＳＴＥＭ」）、米国特許出願第１１／３７９，００６号（２００６年４月１７日出願、特許出願公開第２００６／０２７４０５１号、名称「ＶＩＲＴＵＡＬ  ＫＥＹＢＯＡＲＤ  ＳＹＳＴＥＭＳ  ＷＩＴＨ  ＡＵＴＯＭＡＴＩＣ  ＣＯＲＲＥＣＴＩＯＮ」）、米国特許出願第１１／３７９，００６号（２００７年３月２９日出願、名称「ＤＩＳＡＭＢＩＧＵＡＴＩＯＮ  ＯＦ  ＩＣＯＮＳ  ＡＮＤ  ＯＴＨＥＲ  ＭＥＤＩＡ  ＩＮ  ＴＥＸＴ−ＢＡＳＥＤ  ＡＰＰＬＩＣＡＴＩＯＮＳ」）、米国仮特許出願第６１／３１３，５６４号（３／１２／１０出願）。
【背景技術】
【０００３】
ユーザは、多くの種類のキーボードを含む、種々の入力デバイスを使用して、コンピュータおよび他のデータ処理システムにテキストを入力する。ほとんどの標準キーボードは、タイピストの両手に適応するよう大きいが、これはあまり携帯用ではないデバイスにつながる。ラップトップコンピュータは、時には一部のユーザにとってのタイピング効率を犠牲にして、キーボードのサイズを縮小しようとしてきた。
【０００４】
携帯電話、スマートフォン、および同等物等のあるモバイルデバイスは、そのようなデバイスでよく見られる形状因子を維持するために、さらに小さいキーボードを必要とする。いくつかの電話は、ユーザがボタンを作動させるために親指を使用し得る、キーボード上の各キーを区別するように、物理的なボタンを伴う小型キーパッドを含む。他のデバイスは、同様のサイズのキーボードを表示するタッチスクリーンを使用する。これらのより小さいキーボードの両方は、文字が読み難く、より遅い、および／または間違いを起こしやすいテキスト入力を提供し得る。
【０００５】
タッチスクリーンデバイスがますます人気になってきているが、消費者は、Ｅメール、テキストメッセージング、インスタントメッセージング、および他の活動等のために、テキストを入力するより簡単な方法を要求し続けている。しかしながら、これらのタッチスクリーンキーボードは、小型キーパッド対応物よりも多くの問題を抱える場合がある。そのようなキーボードのタッチスクリーン上のソフトキーは、入力エラーならびに他の問題につながり得る、低触覚フィードバックをユーザに提供する。
【発明の概要】
【課題を解決するための手段】
【０００６】
ここで、開示された技術の種々の実施例を説明する。以下の説明は、これらの実施例を徹底的に理解し、説明を可能にするために具体的詳細を提供する。しかしながら、当業者であれば、これらの詳細の多くがなくても、開示された技術が実践され得ることを理解するであろう。同様に、当業者であれば、開示された技術が、本明細書で詳細に説明されていない多くの他の明白な特徴を含み得ることも理解するであろう。加えて、関連説明を不必要に曖昧にすることを回避するように、いくつかの周知の構造または機能が、以下で詳細に図示または説明されないこともある。
【０００７】
以下で使用される用語は、たとえ開示された技術のある具体的実施例の詳細な説明と併せて使用されていても、その最も広い妥当な方式で解釈されるものである。実際に、ある用語は、以下で強調さえされ得るが、制限された方式で解釈されることを目的としている任意の用語は、この発明を実施するための形態の項の中等で、明白かつ具体的に定義される。
例えば、本発明は以下の項目を提供する。
（項目１）
データ入力の方法であって、
ユーザのマイクロジェスチャを含む第１のユーザ入力を受信するステップであって、前記マイクロジェスチャは、少なくとも第１の入力選択および第２の入力選択を示し、前記少なくとも第１の入力選択および第２の入力選択は、言葉全体未満を表す、ステップと、
前記第１のユーザ入力に基づいて、１つ以上の可能な言葉の提案を決定するステップと、
前記可能な言葉の提案を前記ユーザに提供するステップと
を含む、方法。
（項目２）
前記第１の入力選択から前記第２の入力選択へのジェスチャの中に屈曲があるかどうかを決定するステップをさらに含む、項目１に記載の方法。
（項目３）
屈曲が前記ジェスチャの中にあると決定された場合に、中間入力選択が前記ユーザによって意図されていることを決定するステップをさらに含む、項目２に記載の方法。
（項目４）
前記第１の入力選択からの前記ユーザ入力の移動の方向を決定するステップをさらに含む、項目１に記載の方法。
（項目５）
決定されたユーザ移動の方向に少なくとも部分的に基づいて、中間入力選択が前記ユーザによって意図されていることを決定するステップをさらに含む、項目４に記載の方法。
（項目６）
前記第１のユーザ入力は、モバイルデバイスのタッチスクリーンキーボード上で受信される、項目１に記載の方法。
（項目７）
前記第１のユーザ入力は、コンピューティングデバイスのタッチスクリーンキーボード上で受信される、項目１に記載の方法。
（項目８）
前記第１のユーザ入力は、テレビのセットトップボックスで受信され、前記第１のユーザ入力は、遠隔制御ポインタを採用して行われる、項目１に記載の方法。
（項目９）
データ入力の方法であって、
ユーザのマイクロジェスチャを含む第１のユーザ入力を受信するステップであって、前記マイクロジェスチャは、少なくとも第１の入力選択および第２の入力選択を示し、前記少なくとも第１の入力選択および第２の入力選択は、言葉全体未満を表す、ステップと、
前記第１のユーザ入力に基づいて、１つ以上の可能な言葉の提案を決定するステップと、
前記可能な言葉の提案を前記ユーザに提供するステップと、
ユーザのマイクロジェスチャを含む第２のユーザ入力を受信するステップであって、前記ユーザのマイクロジェスチャは、少なくとも第３の入力選択および第４の入力選択を示す、ステップと、
前記第１のユーザ入力および前記第２のユーザ入力に基づいて、１つ以上の可能な言葉の提案を決定するステップと、
前記可能な言葉の提案を前記ユーザに提供するステップと
を含む、方法。
（項目１０）
プログラムされた命令を記憶するためのメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
ユーザのマイクロジェスチャを含む第１のユーザ入力を受信することであって、前記マイクロジェスチャは、少なくとも第１の入力選択および第２の入力選択を示し、前記少なくとも第１の入力選択および第２の入力選択は、言葉全体未満を表す、ことと、
前記第１のユーザ入力に基づいて、１つ以上の可能な言葉の提案を決定することと、
前記可能な言葉の提案を前記ユーザに提供することと、
によるデータ入力の方法を行うために、前記命令を実行するように構成されている、
コンピュータシステム。
（項目１１）
遠隔に位置するコンピューティングデバイスにおけるデータ入力の方法であって、
前記遠隔に位置するコンピューティングデバイスの入力選択デバイスを複数のゾーンに分割するステップであって、各ゾーンは、１つ以上のキーを含む、ステップと、
連続的に選択されたゾーンの一連のユーザ指示を受信するステップと、
前記選択されたゾーンの各々に関連付けられている１つ以上のキーの全てが選択されていると見なすステップと、
一連の連続的に選択された１つ以上のキーを遠隔データベース記憶場所に伝送するステップと、
一連の選択されたキーに従って入力された１つまたは複数の意図されたユーザの言葉を決定するためのアルゴリズムに、前記一連の連続的に選択された１つ以上のキーを入力するステップと、
決定された１つまたは複数の意図されたユーザの言葉を、前記遠隔に位置するコンピューティングデバイスに伝送するステップと、
前記決定された１つまたは複数の意図されたユーザの言葉のうちの１つの選択のユーザ指示を受信するステップと
を含む、方法。
（項目１２）
前記１つまたは複数の意図されたユーザの言葉を決定するための前記アルゴリズムに従って、前記遠隔に位置するコンピューティングデバイスの１つ以上の特性を考慮するステップをさらに含む、項目１１に記載の方法。
（項目１３）
前記１つ以上の特性は、前記遠隔に位置するコンピューティングデバイスを採用するユーザの識別を含む、項目１２に記載の方法。
（項目１４）
前記１つ以上の特性は、前記遠隔に位置するコンピューティングデバイスのユーザに従った過去のテキスト入力選択の指示を含む、項目１２に記載の方法。
（項目１５）
前記アルゴリズムに従って、より最近の過去に行われたテキスト入力選択は、より遠い過去に行われたテキスト入力選択よりも重く加重される、項目１４に記載の方法。
（項目１６）
前記１つ以上の特性は、前記遠隔に位置するコンピューティングデバイスのユーザが関連付けられているグループを含む、項目１２に記載の方法。
（項目１７）
前記１つ以上の特性は、前記グループに従った過去のテキスト入力選択の指示をさらに含む、項目１６に記載の方法。
（項目１８）
前記アルゴリズムに従って、より最近の過去に、かつより頻繁に行われたテキスト入力選択は、より遠い過去に、かつ低頻度で行われたテキスト入力選択よりも重く加重される、項目１４に記載の方法。
（項目１９）
プログラムされた命令を記憶するように構成されているメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
遠隔に位置するコンピューティングデバイスの入力選択デバイスを複数のゾーンに分割することであって、各ゾーンは、１つ以上のキーを含む、ことと、
連続的に選択されたゾーンの一連のユーザ指示を受信することと、
前記選択されたゾーンの各々に関連付けられている１つ以上のキーの全てが選択されていると見なすことと、
一連の連続的に選択された１つ以上のキーを遠隔データベース記憶場所に伝送することと、
一連の選択されたキーに従って入力された１つまたは複数の意図されたユーザの言葉を決定するためのアルゴリズムに、前記一連の連続的に選択された１つ以上のキーを入力することと、
決定された１つまたは複数の意図されたユーザの言葉を、前記遠隔に位置するコンピューティングデバイスに伝送することと、
前記決定された１つまたは複数の意図されたユーザの言葉のうちの１つの選択のユーザ指示を受信することと
によるデータ入力の方法を、前記遠隔に位置するコンピューティングデバイスにおいて行うために、前記プログラムされた命令を実行するように構成されている、
コンピュータシステム。
（項目２０）
データ伝送の方法であって、
入力選択デバイスを複数のゾーンに分割するステップであって、各ゾーンは、少なくとも１つのゾーン出力キーに対応する２つ以上の入力キーを含む、ステップと、
複数の入力を受信するステップであって、各入力は、前記複数のゾーンのうちの１つにおけるキーの選択に関連付けられている、ステップと、
受信された前記複数の入力の各々に対応する複数のゾーン出力キーを出力するステップと
を含む、方法。
（項目２１）
前記複数の入力文字は、パスワードを含む、項目２０に記載の方法。
（項目２２）
前記複数のゾーンの構成は、ゾーン定義を含む、項目２０に記載の方法。
（項目２３）
前記ゾーン定義は、前記ゾーン出力キーとともに出力される、項目２０に記載の方法。
（項目２４）
データ伝送の方法であって、
複数のゾーンレイアウト定義を定義するステップであって、各ゾーンレイアウト定義は、ゾーン定義識別子によって識別され、各ゾーン定義は、入力選択デバイスを複数のゾーンに分割し、各ゾーンは、各ゾーンに関連付けられている１つの出力キーを含む、ステップと、
前記ゾーンレイアウト定義のうちの１つを選択するステップと、
複数の入力文字を受信するステップであって、各入力文字は、選択されたゾーンレイアウト定義によって定義される前記複数のゾーンのうちの少なくとも１つに関連付けられている、ステップと、
前記ゾーンの各々に含まれるゾーン出力キーを含む一連のゾーン出力キーを出力するステップであって、前記ゾーンの各々は、前記選択されたゾーンレイアウト定義に従って定義されるように、前記複数の入力文字の各々に関連付けられている、ステップと
を含む、方法。
（項目２５）
前記選択されたゾーンレイアウト定義に対する前記ゾーン定義識別子を出力するステップをさらに含む、項目２４に記載の方法。
（項目２６）
前記ゾーン定義識別子および一連のゾーン出力キーを受信デバイスに伝送するステップをさらに含む、項目２５に記載の方法。
（項目２７）
伝送されたゾーン定義識別子および一連のゾーン出力キーを前記受信デバイスにおいて受信するステップと、
前記伝送された一連のゾーン出力キーに関連付けられている期待される一連のゾーン出力キーを決定するために、前記複数のゾーンレイアウト定義のうちの既定の１つに対して所定の一連の文字を適用するステップであって、前記複数のゾーンレイアウト定義のうちの既定の１つは、前記伝送されたゾーン定義識別子に関連付けられている、ステップと、
前記伝送された一連のゾーン出力キーを前記期待される一連のゾーン出力キーと比較することにより、前記伝送された一連のゾーン出力キーと前記期待される一連のゾーン出力キーとの間の合致を決定するステップと
をさらに含む、項目２６に記載の方法。
（項目２８）
パスワードは、前記伝送された一連のゾーン出力キーが、前記期待される一連のゾーン出力キーと合致する場合に容認される、項目２７に記載の方法。
（項目２９）
データ伝送の方法であって、
複数のゾーンレイアウト定義を定義するステップであって、各ゾーンレイアウト定義は、入力選択デバイスを複数のゾーンに分割し、各ゾーンは、各ゾーンに関連付けられている１つの出力キーを含む、ステップと、
既定の選択方法に従って前記ゾーンレイアウト定義のうちの１つを選択するステップと、
複数の入力文字を受信するステップであって、各入力文字は、前記選択されたゾーンレイアウト定義によって定義される前記複数のゾーンのうちの少なくとも１つに関連付けられている、ステップと、
前記ゾーンの各々に含まれるゾーン出力キーを含む一連のゾーン出力キーを受信デバイスに出力するステップであって、前記ゾーンの各々は、前記選択されたゾーンレイアウト定義に従って定義されるように、前記複数の入力文字の各々に関連付けられている、ステップと
出力された一連のゾーン出力キーを受信デバイスで受信するステップと、
前記既定の選択方法に従って前記ゾーンレイアウト定義のうちの１つを選択するステップと、
前記出力された一連のゾーン出力キーに関連付けられている期待される一連のゾーン出力キーを決定するために、前記選択されたゾーンレイアウト定義に対して所定の一連の文字を適用するステップと、
前記出力された一連のゾーン出力キーを前記期待される一連のゾーン出力キーと比較することにより、前記出力された一連のゾーン出力キーと前記期待される一連のゾーン出力キーとの間の合致を決定するステップと
を含む、方法。
（項目３０）
前記ゾーンレイアウト定義は、既定数のゾーン定義を通して順序付けることによって選択される、項目２９に記載の方法。
（項目３１）
前記ゾーンレイアウト定義は、１つ以上の所定の係数への既定のアルゴリズムの適用によって選択される、項目２９に記載の方法。
（項目３２）
ゾーンレイアウト定義における各ゾーンは、隣接する一群のキーを含む、項目２９に記載の方法。
（項目３３）
ゾーンレイアウト定義における少なくとも１つのゾーンは、非隣接キーを含む、項目２９に記載の方法。
（項目３４）
ゾーンの中の１つのキーが選択されると、前記ゾーンに関連付けられているキーの全ては、選択されたものとして示される、項目２９に記載の方法。
（項目３５）
特定の選択された入力キーを含むゾーンに関連付けられている前記ゾーン出力キーは、前記ゾーンの中の他のキーとは異なって示される、項目２９に記載の方法。
（項目３６）
前記ゾーンは、ＱＷＥＲＴＹキーボードレイアウトから定義される、項目２９に記載の方法。
（項目３７）
少なくとも１つのキーが、複数のゾーンに関連付けられている、項目２９に記載の方法。
（項目３８）
パスワードは、前記出力された一連のゾーン出力キーが、前記期待される一連のゾーン出力キーと合致する場合に容認される、項目２９に記載の方法。
（項目３９）
ユーザは、前記パスワードの容認を通知される、項目２９に記載の方法。
（項目４０）
一連のプログラム命令を記憶するように構成されているメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
入力選択デバイスを複数のゾーンに分割することであって、各ゾーンは、少なくとも１つのゾーン出力キーに対応する２つ以上の入力キーを含む、ことと、
複数の入力を受信することであって、各入力は、前記複数のゾーンのうちの１つにおけるキーの選択に関連付けられている、ことと、
受信された前記複数の入力の各々に対応する複数のゾーン出力キーを出力することと
によるデータ伝送の方法を行うために、前記プログラム命令を実行するように構成されている、
コンピュータシステム。
（項目４１）
プログラムされた命令を記憶するように構成されているメモリと、
プロセッサ電子機器と、
を含み、
前記プロセッサ電子機器は、
２つ以上の異なるモダリティでユーザから入力を受信することであって、前記入力は、入力されたテキストを示す、ことと、
前記入力されたテキストに対応する１つ以上の言葉の選択を決定するために、前記２つ以上のモダリティの各々における前記入力を分析することと、
前記２つ以上のモダリティの各々から決定される前記言葉の選択を使用して、前記入力されたテキストに対応する言葉を選択する、ことと
によるユーザからテキスト入力を受信する方法を行うために、前記プログラムされた命令を実行するように構成されている、
コンピュータシステム。
（項目４２）
前記命令は、前記２つ以上のモダリティの各々から選択される前記言葉の選択を、前記入力されたテキストに対応する言葉を選択する前記ユーザに提示するために、前記プロセッサ電子機器によって実行可能である、項目４１に記載のコンピュータシステム。
（項目４３）
前記コンピュータは、キーボードとマイクロホンとを含み、前記命令は、前記キーボード上の入力および前記マイクロホンによって受信される音声入力を介して、前記ユーザから入力を受信するために、前記プロセッサによって実行可能である、項目４１に記載のコンピュータシステム。
（項目４４）
前記コンピュータは、触覚入力とマイクロホンとを含み、前記命令は、前記触覚入力上の入力および前記マイクロホンによって受信される音声入力を介して、前記ユーザから入力を受信するために、前記プロセッサによって実行可能である、項目４１に記載のコンピュータシステム。
（項目４５）
前記メモリは、キーボード上の入力からテキストへのマッピングを記憶している、項目４１に記載のコンピュータシステム。
（項目４６）
前記メモリは、前記ユーザによって入力されるテキストに対応する可能性が高い言葉のデータベースを記憶し、前記データベースは、前記データベースの中の言葉が、前記ユーザによってどの程度頻繁に選択されたかを記録している、項目４１に記載のコンピュータシステム。
（項目４７）
前記メモリは、前記ユーザによって入力されるテキストに対応する可能性が高い言葉のデータベースを記憶し、前記データベースは、前記データベースの中の言葉が、前記ユーザによってどの程度最近に選択されたかを記録している、項目４１に記載のコンピュータシステム。
（項目４８）
前記命令は、前記プロセッサに、前記ユーザによって講じられた最近の措置を決定させ、前記ユーザによって講じられた最近の措置に対応する言葉の選択を選択させる、項目４１に記載のコンピュータシステム。
（項目４９）
前記ユーザによって講じられた最近の措置は、使用されたプログラム、閲覧された文書、訪問されたインターネットサイト、および／または体験された音声／ビデオコンテンツのうちの１つ以上を含む、項目４８に記載のコンピュータシステム。
（項目５０）
前記命令は、前記プロセッサに、前記ユーザの場所を決定させ、前記ユーザの場所に対応する言葉の選択を選択させる、項目４１に記載のコンピュータシステム。
【図面の簡単な説明】
【０００８】
【図１】図１は、１つ以上の遠隔に位置するデバイスと集中企業サーバとの間の通信インターフェースのグラフィック表現である。
【図２】図２は、開示された技術の実施形態による、言葉の選択を作成する過程のフローチャートである。
【図３】図３は、開示された技術の実施形態による、種々の提案された言葉の選択を含むキーボードを描写する。
【図４】図４は、開示された技術の実施形態による、テキストを入力する方法を図示する。
【図５Ａ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｂ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｃ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｄ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｅ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｆ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｇ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｈ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図５Ｉ】図５Ａから５Ｉは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。
【図６】図６は、開示された技術の側面を採用し得る、好適なコンピュータシステムを図示するブロック図である。
【図７Ａ】図７Ａは、デバイスへのユーザ入力に基づいて言葉の選択リストを作成するための過程を図示する、フローチャートである。
【図７Ｂ】図７Ｂは、特別な機能の処理を図示するフローチャートである。
【図８Ａ】図８Ａは、入力データから、入力特徴、文字セット、および近接性加重セットを決定する過程を図示する、フロー図である。
【図８Ｂ】図８Ｂは、入力特徴に対する文字セットおよび適切な加重を識別する過程を図示する、フロー図である。
【図８Ｃ】図８Ｃから８Ｆは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。
【図８Ｄ】図８Ｃから８Ｆは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。
【図８Ｅ】図８Ｃから８Ｆは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。
【図８Ｆ】図８Ｃから８Ｆは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。
【図９Ａ】図９Ａは、言葉の選択リストを生成する過程を図示するフロー図である。
【図９Ｂ】図９Ｂは、言葉に対する合致測定基準を計算するための過程を図示するフロー図である。
【図１０】図１０は、開示された技術の実施形態に従って構築される、ゾーン出力キーと、選択されたゾーンとを含む、表示されたキーボードのグラフィック表現である。
【図１１】図１１は、開示された技術の実施形態による、ユーザによるパスワードの入力を描写するフローチャートである。
【図１２】図１２は、開示された技術の実施形態による、受信デバイスにおけるパスワードの受信を描写するフローチャート図である。
【図１３】図１３は、開示された技術の実施形態による、ＱＷＥＲＴＹキーボード上のゾーン出力キーへの数字キーパッドのマッピングを描写する。
【図１４Ａ】図１４Ａおよび１４Ｂは、開示された技術の実施形態による、ポインティングデバイスを採用するゾーンの選択を描写する。
【図１４Ｂ】図１４Ａおよび１４Ｂは、開示された技術の実施形態による、ポインティングデバイスを採用するゾーンの選択を描写する。
【図１５】図１５は、開示された技術による、縮小ゾーン構成を描写する。
【図１６】図１６は、開示された技術の代替実施形態による、代替的なゾーン定義スキームを描写する。
【発明を実施するための形態】
【０００９】
（Ｉ．企業／クラウド環境）
以下でさらに詳細に説明されるように、本明細書で説明される技術は、ユーザが、テキストをデバイスに、具体的にはモバイルデバイスに入力することができる、速度および精度を増加させるためのシステムおよび方法に関する。１つの環境によれば、ユーザによるテキストの入力時に、そのようなテキスト入力を表すデータは、インターネット、無線通信システム、または遠隔集中サーバへの他の適切なデータ伝送方法を介して、集中場所に伝送される。
【００１０】
図１を最初に参照すると、開示された技術による第１の実施形態が示されている。図１では、１つ以上の遠隔に位置するデバイスが示されている。デバイスは、携帯電話、スマートフォン、ネットブック、またはラップトップコンピュータ、あるいは同等物を含む。これらのデバイスのそれぞれは、好ましくは、当業者に周知であるように、標準インターネット接続または他の専用無線あるいは有線通信システム等の通信システムが提供される。したがって、遠隔デバイスのうちの１つ以上で講じられた措置または入力されたデータは、適宜に集中企業サーバに伝達される。そのような同期通信は、例えば、Ｅメールが送信または受信される時に、企業Ｅメール受信箱または送信箱を更新することを含み得る。従来、これらの遠隔デバイスのそれぞれは、デバイス上で全ての主要機能を果たし、上述のように、Ｅメールのユーザ等の企業サーバと情報を同期させる。
【００１１】
開示された技術の一実施形態によれば、遠隔に位置するデバイスのうちの１つ以上での実装に以前は限定されていた、ある機能が、企業サーバに移転され、したがって、企業システムの全てのユーザに、より同様のユーザ体験を提供する。特に、上述のように、遠隔に位置するデバイスのうちの１つ以上にテキストを入力する場合に、典型的には、テキスト修正ならびにテキスト入力の言葉の自動提案および自動記入に関する、全ての機能性が、遠隔に位置するデバイス上で保持された情報に従って行われる。したがって、そのような選択で使用されるデータおよび同等物の更新に関係する問題、特に、Ｅメールアドレス等の企業規模で潜在的に頻繁に更新される情報と関連する問題が存在する。したがって、Ｅメールアドレスリストが、企業ユーザのグループ全体にわたる特定の企業について更新された場合、そのような更新は、遠隔に位置するデバイスのうちの１つ以上に伝送されないことがある。企業が十分に大きい場合、Ｅメールリスト全体をそのような遠隔デバイスにダウンロードすることが実践可能ではない場合がある。したがって、遠隔デバイスは、限定数のテキスト入力を有するローカルキャッシュを維持し、典型的には、そのような入力は、ローカルに維持されたアドレスリスト等に従って決定される。Ｅメールアドレスが、特定の指示された個人について見出されない場合、ユーザは、遠隔サーバ上でＥメールアドレスを検索するというオプションを提供され得るが、この過程は、ユーザによって行われる付加的なステップを必要とする。さらに、個別企業ユーザのユーザ体験へのそのようなシステムの自動統合はない。さらに、企業サーバ上に記憶された情報へのアクセスを求める前に、ユーザがテキスト入力を完了しなければならないので、そのようなシステムは、エラートレラントなテキスト入力（ｅｒｒｏｒ  ｔｏｌｅｒａｎｔ  ｔｅｘｔ  ｅｎｔｒｙ）を採用しないことがある。したがって、従来、言葉の完全な辞書が遠隔に位置するデバイス上で利用可能ではない場合に、そのようなシステムがユーザの意図を決定するためのテキスト入力に役立つための方法がなかった。
【００１２】
したがって、開示された技術によれば、集中データベース場所から提案されたテキスト入力情報を選択するために、そのようなエラートレラントなテキスト入力を使用しながら、遠隔デバイスレベルでエラートレラントなテキスト入力技法を採用する方法および装置が提供される。
【００１３】
例えば、開示された技術の一実施形態では、それぞれが１つ以上のキーを含む、好ましくは９つ、または他の適切な数のゾーンをユーザに提供することによって、エラートレラントなテキスト入力がユーザに提供される。ゾーンが選択される場合に、ゾーンを構成する既定数のキーも選択される。革新的ソフトウェアは、各個別キーが選択されることを必要とするよりもむしろ、ゾーン選択シーケンスに基づいて、所望の選択された言葉を決定することが可能であり得る。そのようなゾーンテキスト入力方法の一実施例のより詳細な説明は、ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＴＥＸＴ  ＥＮＴＲＹと題された、２００９年７月１０日出願の米国特許出願第１２／５００，６７５号で説明されており、その内容は、参照することにより本明細書に組み込まれる。
【００１４】
開示された技術の他の実施形態では、そのようなゾーンキー入力は、そのようなゾーンの指示をユーザに提供することなく、背景で行われ得る。したがって、ユーザが、タイプする時に可能な限り正確となるように促され得る一方で、多大な精度は必要ではない。その内容が参照することにより本明細書に組み込まれる、「Ａ  ＰＲＯＢＡＢＩＬＩＴＹ−ＢＡＳＥＤ  ＡＰＰＲＯＡＣＨ  ＴＯ  ＲＥＣＯＧＮＩＴＩＯＮ  ＯＦ  ＵＳＥＲ−ＥＮＴＥＲＥＤ  ＤＡＴＡ」と題された２００７年６月１４日出願のＭａｔｔｈｅｗ  Ｃｅｃｉｌらへの同時譲渡米国特許出願第１２／１８６，４２５号で説明されているもの等の他のエラートレラントなテキスト入力システムもまた、採用され得る。開示された技術のなおもさらなる実施形態では、より従来的なテキスト入力システム、および他の公知の予測テキスト入力システムが採用され得る。
【００１５】
さらに、開示された技術の側面によれば、開示された技術の特定の実施形態では、エラートレラントなテキスト入力システムが、上記で参照される米国特許出願第１２／５００，６７５号で説明されているように提供され得る。したがって、遠隔に位置するデバイス上に位置する完全な言葉の辞書を有することなく、説明されたゾーン入力テキストシステムが、そのような遠隔に位置するデバイス上で採用され得る。そのようなエラートレラントなテキスト入力システムはまた、ユーザに表示されない方式でゾーン定義を維持し得る。最終的に、他のエラートレラントなテキスト入力システムもまた、本開示された技術に従って採用され得る。
【００１６】
次に図２を参照すると、ユーザは、最初に、ステップ２１０で、特定の遠隔に位置するコンピューティングデバイスに付随する提供されたテキスト入力システムに従って、テキストを入力する。本開示された技術の好ましい実施形態では、ユーザが、１２／５００，６７５出願のゾーン入力システムの使用、または任意の他のエラートレラントなテキスト入力システムを通して、１つ以上のキーを入力する際に、初期テキスト入力処理ステップが行われ、ユーザによって意図され得る、可能な文字シーケンスを決定し始める。したがって、辞書検索はこの時に行われないが、むしろ遠隔に位置するコンピューティングデバイス上でローカルに行われ、テキスト入力に関係する情報が、辞書検索において後で使用されるために決定される。
【００１７】
その後、ステップ２３０では、予測テキスト入力情報を企業サーバに伝送することによって、辞書検索または他のデータベース検索のうちの１つ以上が行われる。重要なことには、それは、単に伝送される入力されたテキストキーではないが、むしろ、初期エラートレラントなテキスト入力処理に従って決定されているような、そのようなデータが伝送される。開示された技術の好ましい実施形態によれば、ユーザによって入力される各キーについて、選択されたキーを伴うゾーンの中にあることが定義された全ての他のキーが、これらのゾーンが固定されるか動的であるか、ユーザに利用可能であるか否かにかかわらず、開示された技術に従って、さらなる処理のために企業サーバに伝送される。そのようにして、１つ以上の遠隔デバイスのうちのいずれかで入力される受信された予測テキスト入力情報を、任意の数の一貫して維持された企業規模のデータベースに適用することができる。
【００１８】
図３は、キーがいくつかのゾーンの中にあるように分割される、キーボード１００を示す。したがって、第１２／５００，６７５号出願のエラートレラントなテキスト入力システムで説明される開示された技術によれば、特定のゾーンを示す１つ以上のキーがキーボード１００から選択される度に、選択されたキーによって表されるゾーンの中のキーの全てが、予測テキストアルゴリズムに渡される。一実施形態では、各ゾーンの中で選択されたキーによって表される言葉の候補がローカルで決定され、企業サーバに伝送される。別の実施形態では、ユーザによって選択されるゾーンのリストが、可能な言葉の候補のリストを決定するように企業サーバに送信される。可能な言葉のリストは、ユーザへの可能な言葉の選択の１つ以上の提案を決定するために、企業サーバによって分析され、１つ以上の提案は、３１０において図３で示されるように、遠隔に位置するデバイスの画面上に表示される。これらの言葉の選択３３０は、選択されたキーのゾーンに関連付けられている各入力キーの全てを考慮して、入力されたキーシーケンスに基づく。３２０では、ユーザによって選択される一連のキーが示される。言葉の選択３４０は、企業サーバ上に位置する１つ以上の適用可能なデータベースから決定されるような、ユーザによって意図されていると決定される、最も可能性が高い、または最もよく見られる言葉を描写する。企業サーバによる、これらの言葉の提案の決定時に、それらは、遠隔に位置するデバイスに返送され、図２のステップ２４０でのユーザによる選択のために図３に示されるようにユーザに表示される。
【００１９】
ステップ２５０で、提案された言葉を選択することにより、入力された言葉を選択された提案と置換する。言葉のうちのいずれも選択されない場合、処理は図２のステップ２１０に戻り、そこでさらなるテキスト入力がユーザから受信される。そのような付加的なテキスト入力時に、上述のステップが再び行われ、したがって、ユーザ選択のために潜在的に異なる言葉を提供するか、またはユーザのために選択を絞り込む。ユーザによって提示された言葉のうちの１つが選択されると、そのような選択された言葉が遠隔に位置するコンピューティングデバイスに入力され、ユーザによる別のテキストシーケンスの入力まで処理が終了する。
【００２０】
開示された技術の代替実施形態では、特定の辞書の決定されたサイズに基づいて、遠隔デバイスにおける処理を加速するために、ユーザによるテキスト入力の開始前に、辞書を遠隔デバイスにダウンロードすることが有益であることが認められ得る。したがって、書式等の中の特定のフィールドへの入力が少数の可能な入力に限定される場合において、ユーザによるフィールドの入力時にそのような辞書をダウンロードすることは、単一のデータ転送のみが採用されることを可能にし得る。同様に、ユーザがいくつかのフィールドを伴う書式等を訪問している場合、特定の書式の中のフィールドのそれぞれのための辞書が、事前に、または書式の第１のフィールドの入力時にダウンロードされ得る。当然ながら、任意の特定のフィールドが非常に大型の辞書を有することが分かった場合、企業サーバ上のこの辞書へのアクセスが、上述のように提供され得る。
【００２１】
ユーザは、言葉をその辞書に追加するようにシステムを訓練することができ、または言葉が入力された事前設定された回数後に、自動的に言葉を追加するようにシステムを設定することができる。したがって、開示された技術によれば、企業規模のプラットフォームで辞書を修正することができるだけでなく、遠隔に位置するコンピューティングデバイスを採用する特定のユーザによるテキストの入力が、任意の企業ユーザによる後続の使用のために、データベースまたは辞書へのそのようなテキスト入力の追加をもたらし得る。当然ながら、ローカルデータベースも、全体として企業に利用可能となる必要がないテキスト入力のために維持され得る。
【００２２】
例示的な予測テキストアルゴリズムが、上記で参照される米国特許出願第１２／１８６，４２５号で描写されている。本開示された技術に従って利用される、そのようなアルゴリズムは、開示された技術の予測テキスト要件に対処する。遠隔に位置するコンピューティングデバイスのうちの１つ以上の上でユーザに提供されるユーザインターフェースが、文字（または１つ以上の選択されたゾーンに関連付けられている文字列）を企業の場所におけるアルゴリズムに提供し、アルゴリズムは、その一組の文字を解釈し、１つ以上の提案された言葉の選択の形態で、企業サーバからの結果を遠隔に位置するコンピューティングデバイスにおけるユーザインターフェースに返信する。代替として、企業サーバは、言葉の選択を適正に解析できないという指示を返信し、それにより、ユーザがまだ今のところ十分な文字を入力していないことを示し得る。
【００２３】
一実施形態では、特定の個別ユーザに従った、または完全な一組の企業ユーザの集合的体験に従った、ユーザコンテキスト、履歴、または同等物が、そのような提案された言葉の選択に役立つために採用され得る。加えて、説明された予測テキストアルゴリズムが採用され得る一方で、本開示された技術は、任意の適切なテキスト解析または予測テキストアルゴリズムとともに使用され得る。
【００２４】
確率行列を使用して、予測テキストアルゴリズムは、押された各文字について、ユーザが、左側、右側、上側、または下側の文字、または上記で説明されるように示されたゾーンの中の他の文字を意味した可能性があることを知る。いったんアルゴリズムが、（選択されたキーに関連付けられているキーに基づいて）どの文字がありそうかを知ると、次いで、アルゴリズムは、上記で参照される第‘４２５号出願でより完全に説明されるように、複数の企業ユーザにアクセス可能であるような企業サーバの場所で好ましくは提供される、辞書に対して検索を実行する。起こり得る文字列に合致する任意の言葉が指定され、次いで、好ましくは、文字間の距離、頻度、確率、およびユーザ意図を示し得る任意の数の他の特性に基づいて採点され得る。
【００２５】
システムはまた、より高い選択の確率を、特定のユーザの頻繁に使用されているパターンに、または企業環境内のユーザの特定のグループに与えることを経時的に採用し得る。したがって、たとえ特定のユーザが共通集中企業辞書またはデータベースから言葉を選択していても、予測機構がそのユーザのために個人化され得る。そのような個人化は、既定の先行期間中の特定のユーザによる言葉の選択の頻度に基づいて、選択を提供することを含み得る。したがって、ユーザが特定の言葉を多く使用するほど、それが再び選択され得る可能性が高くなり、それがユーザに提案される可能性が高くなる。この個人化は、ユーザが集中型の企業規模のＥメールリストからＥメールアドレスを入力している時等の状況で、特に有用であり得る。特定のユーザがＥメールを１人以上の特定の受信者に送信する際に、これらの受信者の名前は、将来ユーザによって入力される可能性が高い。さらに、そのような個人化は、１人の個人に限定される必要はない。むしろ、特定のＥメールアドレスの入力が、人々のグループ等について蓄積され得、したがって、部門等が、Ｅメールアドレスの好ましいリストを生成することを可能にする。この選択はまた、テキスト入力システムに従って選択され得る、標準の言葉または他のシーケンスに適用され得る。そのような個人化は、ごく最近または最も頻繁に選択される言葉またはＥメールアドレスが最初にユーザに提供され、その時以前に、または低頻度で選択された言葉がその後に続く、加重選択システムを提供し得る。
【００２６】
別の実施形態では、ユーザ辞書の個人化は、よくまたは最近ユーザによって選択された言葉に限定されない。辞書はまた、ユーザの最近の挙動に基づいてカスタマイズされ得る。ユーザが特定の話題に専念したウェブページについてインターネットを検索している場合、これらのウェブページからの言葉を、よく起こり得る選択として分類し、辞書に追加することができる。例えば、ユーザが、食品および料理に関連付けられているウェブページを遠隔デバイス上で閲覧している場合、ユーザが「ｄ  ｉ  ｓ  ｅ  ｒ  ｔ」というキーを入力すると、言葉検索アルゴリズムが、「ｄｅｓｅｒｔ」という言葉の前に「ｄｅｓｓｅｒｔ」という言葉を提案するために最近の履歴を使用する。同様に、時間的および地理的配慮を、テキスト選択アルゴリズムによって使用することができる。例えば、遠隔デバイスのＧＰＳ場所を検出し、企業サーバに送信することができる。ユーザが山の中に位置することが分かっている場合、テキスト予測アルゴリズムは、「ｈｏｗ  ｉｓ  ｔｈｅ  ｓｎｏｒ？」というテキスト入力が、「Ｈｏｗ  ｉｓ  ｔｈｅ  ｓｈｏｗ？」ではなく「Ｈｏｗ  ｉｓ  ｔｈｅ  ｓｎｏｗ？」となるべきであると提案するように訓練される。
【００２７】
この実施形態では、辞書をカスタマイズするため、または最近の挙動に基づいてユーザにとって起こり得る言葉の選択に役立つために、最近の閲覧履歴、現在の場所、読んだＥメール、ＧＰＳの場所等に関する情報が、企業サーバに送信され、ユーザに関連付けられているファイルの中で維持される。
【００２８】
図３で見ることができるように、表示されたキーボードは、完全ＱＷＥＲＴＹキーボードを表すが、任意の他の所望の構成を備え得る。そのようなキーボードは、仮想キーボード、またはテキスト入力のために提供される１つ以上の文字に関連付けられているハードキーを含む物理的キーボードを備え得る。開示された技術は、概して、そのようなキーボードを参照するものとして説明されているが、任意の数の入力デバイス、機構、またはスキームが採用され得る。開示された技術は、同様に、９または１２キー数字パッドまたは４方向キーを伴う従来の携帯電話上でのテキスト入力に適用可能である。開示された技術は、Ａｐｐｌｅ  Ｉｐｏｄ（登録商標）デバイス上で提供されるもの等のスクロール型ホイールの使用に適用可能であり得る。そのような状況では、スクロールホイールに沿った移動が、ゾーン選択の円に沿った移動をもたらすように、円形構成でゾーンを定義することが有益であり得る。
【００２９】
開示された技術はまた、スクローリングデバイスを使用する、またはそうでなければ、１つだけ、あるいは２つの方向指示キーを含む、モバイルまたは他のデバイスに適用され得る。スクローリングデバイス、または１つあるいは２つの方向キーを用いて、方向キーをスクロールまたは利用すると、ユーザが所定のゾーンのそれぞれを通して進められ、現在選択されているゾーンをハイライトする、または別様に示すように、所定のゾーンが、好ましくは、おそらく左右、次いで、上下等の所定のシーケンスによって提供される。スクローリングデバイスを押すこと、または他の選択の方法は、ユーザがゾーンを選択することを可能にし、次いで、スクローリングは、選択のために次のゾーンへ移動するために採用される。
【００３０】
開示された技術はさらに、ユーザが投影キーボードに触れる場所を種々の感知機構が決定する、投影キーボードに適用され得る。そのような感知の精度は、おそらく決定し難いため、ユーザがより少数のより大きいゾーンから選択することを可能にすることが、極めて有益となる。
【００３１】
（ＩＩ．マイクロジェスチャ入力）
開示された技術の別の側面によれば、エラートレラントな予測テキストアルゴリズムを活用する、高速テキスト入力システムおよび方法が提供される。ユーザは、慣れたＱＷＥＲＴＹキーボード(または他の一般的なキーボードレイアウト)を採用し、言葉全体未満を含む、２つまたは３つの文字のより短いマイクロジェスチャを入力することができる。より短い言葉を、１つのそのようなマイクロジェスチャで入力することができる一方で、より長い言葉は、２つ以上のマイクロジェスチャを使用し得る。したがって、以下で説明されるテキスト入力システムは、以前のシステムの少なくとも１つの主要な欠点を克服し、すなわち、ユーザが指を持ち上げることなく、意図した言葉の入力全体を入力するという要件を克服し、したがって、意図した言葉全体の単一のトレースを提供する。
【００３２】
一実施形態によれば、テキスト入力システムは、各マイクロジェスチャの開始および終了場所に留意する。さらに、屈曲がユーザによって入力されたマイクロジェスチャで検出された場合、第３の中間文字が意図されたことが決定される。いくつかの異なる方法が、意図した中間文字を決定するために使用され得る。第１に、マイクロジェスチャの屈曲の場所が決定され得る。第２に、開始および終点入力が与えられた場合、いくつかの可能な次の文字のテキスト入力の間で選択するのに役立つように、開始位置から移動させられた方向がテキスト解析アルゴリズムに提供され得る。代替として、そのような屈曲の存在の認識が決定され、したがって、中間文字が意図されたことを示す。次いで、テキスト解析アルゴリズムは、より従来的なテキスト入力システムにおいて欠落している文字に遭遇したかのように、付加的な助けなしで、そのような文字を決定することを支援し得る。
【００３３】
いったん第１のマイクロジェスチャが決定されると、選択された文字がテキスト選択アルゴリズムに入力され、言葉の提案等が、より従来的な形式でユーザに提供される。いずれの言葉も選択されない場合、次のキーのタップ、または次のマイクロジェスチャが、同じより長い言葉のテキスト入力の一部であると決定される。
【００３４】
一実施形態では、ユーザが、持ち上げ、入力されるそれぞれの意図した文字を押す代わりに、キーボード上のいくつかの文字の間で指をスライドする。より便利であり、連続して指を持ち上げて各キーを押すことが必要とされる場合に、ユーザが間違ったキーをタップする場合がある、従来のタップ入力システムと比較して、テキスト入力エラーの可能性を低減するため、一部のユーザは、各文字を個別にタップする代わりに、隣接する文字へのそのようなスライドを好むと決定されている。さらに、ユーザは、任意の種類の反復のストレスの問題を回避することができ、より迅速にテキストを入力することが可能であり得る。
【００３５】
より小さい、典型的には可動式のタッチスクリーンデバイスを使用する場合に、ユーザは、概して、より従来的な通常のラップトップ／ＰＣキーボードのように、全ての指の代わりに、１本または２本の指を使用してタイプすることが分かっている。１本だけ／２本の指の使用は、指の疲労をもたらし、ユーザがタッチスクリーンデバイス上でタイプするのを思いとどまらせ得る。入力される各文字のために、指を持ち上げて配置するという必要な行為はしばしば、手根管症候群等の反復性のストレス障害に関連付けられている。開示された技術の実施形態によれば、ユーザは、指をスライドしていくつかの文字を入力する、または所望に応じて特定の文字の入力をタップするオプションを有する。したがって、従来のテキスト入力システムのようにタップすること、または上記で記載される従来技術の特許で記述されるような言葉全体に対する文字をトレースすることを必要とするよりもむしろ、ユーザは、好みの通りにテキストを入力するオプションおよび融通性を有する。そのような選好は、特定の入力デバイス、入力されている特定の言葉等に基づき得る。最終的に、ユーザは、最も融通性のあるオプションが提供され、利便性に基づいて、マイクロジェスチャ、タップすること、または両方の組み合わせで入力することを選択することができる。
【００３６】
マイクロジェスチャは、ユーザが単一のマイクロジェスチャで一度に２つまたは３つの文字を選択することを可能にする。そのようなマイクロジェスチャの１つのさらなる利益は、予測テキストアルゴリズムが対応する言葉を提案し始める前に、ユーザが言葉の完全経路を精神的または身体的にトレースする必要がないことである。より長い言葉の経路をトレースすることは、紛らわしく、困難となり得る。ユーザは、言葉のどの文字をすでに入力したかを忘れる傾向があり、スペルミスをする傾向がある。長い言葉の経路をトレースすることはまた、精神的および／または身体的な疲労をもたらす場合がある。さらに、言葉全体をトレースする経路を受信する装置は、入力データを処理する前に、その言葉の完成を待たなければならないので、そのようなテキスト入力の自動完了、または可能な意図した言葉の入力の提案を提供することが可能ではない。したがって、ユーザは、言葉全体の完全追跡を完了しなければならず、その時初めて、システムが言葉の提案を提供することができる。
【００３７】
開示された技術のマイクロジェスチャ入力システムはまた、アルファベットが単一のキーボードに適合せず、したがって、代替／ファンクション／シフトキーボードから文字を得ることを必要とする、言語のテキストまたは言葉を入力するためにも有用である。
【００３８】
しかしながら、各マイクロジェスチャの完了時に、開示された技術の一実施形態によるシステムは、入力を自動完了させることができる。そのような自動完了を使用する能力は、ユーザが部分的な言葉のみを入力し、提供される提案から選択することを可能にする。ユーザがしばしば、単に第１のマイクロジェスチャを入力した後に、所望の入力された言葉を選択することができるようになるので、これは、ユーザ体験を増進し、より高速のテキスト入力に役立ち、言葉全体の追跡を必要とする従来技術のシステムとくらべてさらに向上する。このようにして、開示された技術による予測テキストアルゴリズムは、滑動すること、またはタップすることに対してエラートレラントな入力をサポートする。ユーザは、テキストを入力するのが雑となり得て、所望の言葉を得るために正確な文字入力を提供する必要がない。事実上、マイクロジェスチャ入力で選択される文字は、従来のテキスト入力システムでタップされたかのようにテキスト解析アルゴリズムによって見なされる。したがって、既存のテキスト解析アルゴリズムを活用することができ、はるかに単純かつ融通性のあるシステムがユーザに提供される。したがって、欠落した、および／または正しくない文字を受信することができ、システムは依然として、ユーザによる正しく意図されたテキスト入力を決定することができる。
【００３９】
滑動の使用を通してテキスト入力のための文字を選択することにより、ユーザが、図４の実施例によって示されるような言葉の全てよりも少ない文字の経路をトレースすることを可能にする。この実施例によれば、ユーザが言葉ＩＮＰＵＴを入力することに関心があると仮定される。従来、ユーザは、５つのキーのそれぞれをタップする。５つのキーの全てをタップした場合、言葉の入力がユーザに提示される。
【００４０】
しかしながら、開示された技術の実施形態によれば、ユーザは、５つの文字のそれぞれをタップする必要がなく、実際に、所望の文字を入力するために１つ以上のマイクロジェスチャ滑動を採用し得る。開示された技術にしたがって、言葉ＩＮＰＵＴを入力するためのいくつかの異なるシ−ケンスがある。
【００４１】
図４に示されるように、ユーザは、「ｉ−ｎ−ｐ」の上で指を滑らせ、「ｕ」、「ｔ」という文字をタップすることができる。上記の図で示されるように、ユーザは、「ｉ」においてマイクロジェスチャ滑動を開始し、次いで、「ｎ」へと滑らせ、「ｐ」においてマイクロジェスチャ滑動を終了する。その後、「ｕ」および「ｔ」という文字が、完全な言葉を入力するようにタップされる。以下の代替的な入力順はまた、テキスト予測アルゴリズムによって言葉ＩＮＰＵＴを認識させる。
【００４２】
「ｉ−ｎ−ｐ」を滑らせ、「ｕ−ｔ」を滑らせる。
【００４３】
「ｉ」、「ｎ」をタップし、「ｐ−ｕ−ｔ」を滑らせる。
【００４４】
「ｉ」、「ｎ」、「ｐ」をタップし、「ｕ−ｔ」を滑らせる。
【００４５】
ユーザ体験をさらに容易にするために、ユーザによって入力される任意の滑動またはタップは、十分なフィードバックをユーザに提供して、何が入力されたかを決定するために、ある期間にわたって表示上で維持され得る。しかしながら、上述のように、滑動入力のそのような維持は、ユーザだけに有用であり、好ましくは、ユーザ入力を決定することで役割を果たさなくてもよい（当然ながら、開示された技術の代替実施形態では、テキスト入力を決定するために、そのような滑動場所を使用することが可能となる）。したがって、図４に示されるトレースは、ユーザがデバイス上で観察し得る経路を示すが、内部で、開示された技術によるテキスト予測アルゴリズムは、好ましくは異なり、ユーザによって入力された滑動の最初および最後の文字を追跡するのみである。中間文字は、該当する場合、滑動の最初および最後の文字の間の移動方向に関連付けられているベクトルを使用して、またはあまり好ましくないが、ユーザによって入力される滑動における屈曲の近似場所を使用して解読される。したがって、開示された技術によれば、本発明のアルゴリズムは、特定の最初の滑動と、該当する場合、中間文字とともに、最初および最後の文字入力を使用することによって、データベースから言葉を見出そうとする。滑動における屈曲の決定、または３文字グライダを仮定したワイルドカード文字の使用に基づいて、テキスト予測アルゴリズムが結果を返す。次いで、中間文字がユーザによって描かれるようなベクトル方向を満たさない言葉をフィルタにかけるように、さらなる計算が行われ得る。
【００４６】
以下の実施例は、そのような滑動およびベクトルアルゴリズムの使用をさらに描写する。ユーザが「ｔ−ｈ−ｅ」という経路をトレースする場合、「ｈ」は、「ｔ」の下側および右側にある。アルゴリズムの最初の通過は、「ｔｉｅ」、「ｔｏｅ」、および「ｔｈｅ」のような言葉を返す。最初の文字「ｔ」を入力した後の移動のベクトルを見ると、ユーザが「ｈ」という文字に向かって下方に移動したと決定することができる。「ｏ」および「ｉ」の両方は、「ｔ」という文字の右側にあるため、アルゴリズムが見出す、より近いオプションがあるので、破棄される（またはより低い値の選択としてユーザに提供される）。潜在的な提案の選択「ｔｈｅ」からの「ｈ」という文字は、入力のベクトル近接性をより密接に満たし、したがって、好ましくは中間文字として選択される。さらに、エラートレラントなテキスト入力が提供され得、したがって、ユーザは、「ｒ−ｊ−ｗ」をトレースし、依然として提案された言葉として「ｔｈｅ」を得ることができる。「ｊ」という文字は、「ｒ」という文字の下方および右側に位置し、「ｈ」という文字は、「ｔ」という文字の下方および右側に位置する。両方のベクトルがごく接近しているため、「ｈ」という文字が中間文字として選択される。
【００４７】
ここで、ベクトル方向の説明が記載され、その内容全体が参照することにより本明細書に組み込まれる、「ＤＡＴＡ  ＥＮＴＲＹ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＯＦ  ＥＮＴＥＲＩＮＧ  ＤＡＴＡ」と題された２００７年６月１４日出願のＳｈａｒａｎらへの米国特許出願第１２／０９１，７００号でより完全に説明されている。開示された技術は、平行移動、すなわち、ユーザによって連続的に作動させられる時の別のキーに対する１つのキーの方向に関して、ユーザ入力を有利に符号化する。
【００４８】
平行移動は、好ましくは、一組の既定の主要な方向内でコード化され、これらは、２つの連続キー作動の間でとられることができる全ての可能な方向の削減された組である。削減された組の一実施例は、「上」、「下」、「左」、および「右」といった４つの方向となる。したがって、とられた実際の方向に従って各平行移動を登録するよりもむしろ、システムは、好ましくは、削減された組のうちの１つを割り当てる。例えば、２つの作動の間の実際の移動方向が垂直から１０°外れている場合、平行移動は、例えば、「上」に割り当てられ、これは、主要な方向のうち実際の１０°の先頭方位に最も近い。
【００４９】
全ての平行移動方向が、例えば、「上」、「下」、「左」、および「右」への縮小グループ内で分類されるように、無限数から少数へ可能な方向を削減することは、多くの異種の平行方向が、同じ主要方向を割り当てられることを意味する。例えば、真っ直ぐ上の方向に対して最大±４４°の方位を伴う全ての移動には、「上」という同じ主要方向を割り当てることができる。また、これは、キーボード上の多くの異なる点で起こる同じ垂直運動を全て単純に「上」によって表すことができるように、同じ実際の方位を伴う平行移動を含むが、完全に異なる始点を伴う。
【００５０】
本開示された技術のマイクロジェスチャテキスト入力システムに従って使用するための例示的な予測テキストアルゴリズムは、上記で参照される米国特許出願第１２／１８６，４２５号で説明されている。本開示された技術に従って利用される、そのようなアルゴリズムは、開示された技術の予測テキスト要件に対処する。ユーザインターフェースは、アルゴリズムに文字（または特定のジャンパ点およびゾーンに関連付けられている文字列）を渡し、アルゴリズムは、その文字（または複数の文字）を解釈し、１つ以上の提案された言葉の選択の形態でユーザインターフェースに結果を返し、または、言葉の選択を適正に解析できないという指示を返し、それにより、ユーザがまだ今のところ十分な文字を入力していないことを示し得る。当然ながら、ユーザコンテキスト、履歴、または同等物が、そのような提案された言葉の選択に役立つために採用され得る。加えて、説明された予測テキストアルゴリズムが採用され得る一方で、本開示された技術は、任意の適切なテキスト解析または予測テキストアルゴリズムとともに使用され得る。ジャンプ点をいくつかの異なる入力と関連付けることができ、これらの入力を互に区別し、ユーザによる意図した入力を選択するために使用することができる限り、開示された技術が採用され得る。
【００５１】
したがって、確率行列を使用して、アルゴリズムは、押された各文字について、ユーザが、左側、右側、上側、または下側の文字、または上記で説明されるような技術に従って示されたゾーンの中の他の文字を意味した可能性があることを知る。いったんアルゴリズムが、（選択されたジャンパ点に関連付けられているキー、または代替として、ユーザ意図の動的または他の決定に基づいて）どの文字があり得るか、すなわち、たとえ所定のゾーンが提供されていなくても、どの文字をユーザが意図した可能性が高いかを知ると、次いで、アルゴリズムは、上記で参照される第‘４２５号出願でより完全に説明されるように、辞書に対して検索を実行する。起こり得る文字列に合致する任意の言葉が指定され、次いで、好ましくは、ユーザ意図を示し得る、文字間の距離、頻度、確率、および任意の数の他の特性に基づいて採点され得る。システムはまた、より高い選択の確率を、特定のユーザの頻繁に使用されているパターンに与えることを経時的に採用することができる。したがって、予測機構が特定のユーザのために個人化され得る。
【００５２】
加えて、開示された技術に従って、ユーザ意図を決定することに役立つために、提案されたシステムの予測アルゴリズムは、従来の辞書に依存することに加えて、入力がＥメール、チャット、検索、または同等物のためのものであるかどうか、またはテキスト入力が特定のテレビ番組中に、または音楽アプリケーションが楽曲を演奏している間に行われているかどうかを決定すること等の、特定のテキスト入力のコンテキストを決定することによって、ユーザ意図をさらに決定しようとし得る。ユーザが異なる言葉および／または他の言語の違いを使用する可能性が高い程度に、そのようなコンテキスト決定は、予測テキストアルゴリズムの精度に役立ち得る。アルゴリズムはまた、予測の信頼性を向上させるように、ユーザの連絡先リストおよび同等物等の１つ以上のデータベースのコンテンツである、記憶されたコンテンツからの情報に関する情報を受信し得る。そのようなコンテキストは、テキスト入力に使用されているデバイス内で記憶されるか、またはインターネットあるいは他の利用可能なネットワーク上でアクセス可能なデータベースに遠隔で記憶され得る。次いで、言葉のリストは、そのスコアに基づいて仕分けられ、ユーザインターフェースに返される。したがって、開示された技術は、ユーザ意図につき、曖昧ではない入力の中へ近似入力をマップするために、入力言語または可能な入力機能性における冗長性を使用する。加えて、ユーザ入力を決定する場合に、デバイス特徴および機能性が考慮され得、したがって、そのような入力を決定する場合に、デバイス制限を考慮する。
【００５３】
本開示された技術は、一実施形態では、第‘４２５号出願の予測テキストアルゴリズムを採用して説明されているが、他のテキスト解析アルゴリズムを使用することが可能である。１つのそのような代替的なテキスト入力システムは、その内容全体が参照することにより本明細書に組み込まれる、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＴＥＸＴ  ＩＮＰＵＴ」と題された２００９年７月１０日出願のＳｈａｒａｎらへの米国特許出願第１２／５００，６７６号で説明されている。第‘６７６号出願は、キーボードを複数のゾーンに分割し、次いで、特定のゾーンの中の任意のテキスト入力がゾーンの中の文字の全ての選択であると見なすためのシステムおよび方法を説明する。したがって、ユーザは、テキストを入力する時にあまり正確ではないことが可能である。このシステムは、上記で説明されるマイクロジェスチャ入力方法と併せて使用され得、したがって、それぞれの決定された始点、終点、および任意のベクトル方向または屈曲決定は、意図した文字を含む、示されたゾーンのみを必要とし、したがって、ユーザにとってのテキスト入力の困難をさらに緩和する。
【００５４】
加えて、開示された技術は、表示またはタッチスクリーンキーボードと接触を行うユーザについて説明されているが、接触を必要としないが、ユーザが特定のキー等に近接して指等を引くと、テキスト入力を可能にする場合がある、キーボードに等しく適用可能となる。マイクロジェスチャは、キーボードより上での最終キーへの指の移動を含み得、それは、ユーザが指を除去する時に入力されたと見なされる場合がある。したがって、処理は、上記で説明されるシステムおよび方法に従って進み得るが、キー選択および入力のための接触よりもむしろ、近接性の検出に依存する。
【００５５】
開示された技術の方法およびシステムのための主要な使用は、小型モバイルデバイス、またはカメラ、携帯情報端末、ネットブック、および同等物等の他の小型電子デバイス用であり得るが、そのような入力システムは、例えば、リモートコントロール、あるいはＷｉｉ（登録商標）コントローラまたは同等物等の他の入力デバイスを使用した、セットトップボックスまたはテレビ上での入力のために、等しく適用可能であり得る。したがって、ユーザは、キー（またはゾーン）を指し示し、選択ボタンを押下し、ユーザが、（所望に応じて）第２の文字を通して、選択ボタンの解放によって示されるマイクロジェスチャの第３の最後の文字へインジケータを移動させながらボタンを長押しすることによって、入力を開始し得る。第‘６７６号出願におけるゾーン入力システムおよびそのようなリモートコントロールを採用する入力のより完全な説明は、参照することにより以前に本明細書に組み込まれている。実際に、本開示された技術は、リモートコントロール、Ｗｉｉ（登録商標）リモート、手ぶり、または他の入力技法を含むが、それらに限定されない、第‘６７６号出願で記述される任意の入力スキームまたは技術に適用可能であり得ることが検討される。
【００５６】
（ＩＩＩ．好適なユーザインターフェース）
図５Ａは、マルチモーダルユーザ入力（例えば、タップ、トレース、ホバー、他の触覚入力および／または非触覚入力の混合）を受信し、言葉を出力するために好適なユーザインターフェースを図示する。本明細書で説明されるユーザインターフェースは、携帯電話、携帯情報端末、携帯用オーディオシステム、ラップトップコンピュータ（ウルトラモバイルパーソナルコンピュータを含む）、デスクトップコンピュータ、他のコンピュータシステム、ビデオゲームシステム、テレビ、ならびに無数の他の消費者および業務用電子システムまたは器具（例えば、冷蔵庫、キオスク等を含む）を含むが、それらに限定されない、ユーザ入力を言葉に変換することが望ましい任意のシステムの一部を形成し得る。
【００５７】
ユーザインターフェースは、（例えば、指先による、またはスタイラスによる）ユーザからの触覚入力および視覚出力の両方を促進する、タッチスクリーンまたは同様の表示を含む。例証的な軸によって示されるように、表示上の各点は、独自のＸ−Ｙ座標によって表され得る。加えて、図５Ａに示されていないが、ユーザインターフェースは、タッチスクリーン内のシステム加速度計および／または圧力センサからの入力、音声入力、視覚入力等を含む、他の入力を受信し得る。加えて、ユーザインターフェースは、視覚出力、音声出力、触覚出力等を含む、他の出力を生じ得る。
【００５８】
図５Ａに示されるサンプル表示（および他の描写された表示）は、無線モバイルデバイス用であり、信号強度、無線通信事業者名、時間、バッテリ強度等の、あるシステム情報を提供する、上水平部分５０２を含む。上水平部分５０２より下側には、描写された表示の中ではＥメールアプリケーションである、アプリケーション用のいくつかの情報および入力ボタンを含む、アプリケーションバー５０４がある。テキスト表示部分または出力領域５０６は、例えば、アプリケーションプログラムと関連付けられ得、ユーザによるテキスト入力を表示する。言葉の提案部分または言葉の選択領域５０８（以下で説明される）は、ユーザ入力に基づいて提案された言葉をユーザに表示する。
【００５９】
ユーザインターフェース表示は、仮想キーボードを表示し、その仮想キーボードからの文字選択を示す触覚ユーザ入力を受信するように構成される、仮想ソフトキーのキーボード領域５１０を下部に含む。示されるように、仮想キーボードは、表示上に特定のレイアウトで配置された複数の規定された領域を有する。各規定された領域は、キーを囲む。特殊機能キーを除いて、仮想キーボードの中の各キーは、本明細書でより詳細に説明されるように、１つ以上の文字に関連付けられている。本明細書で使用される場合、「文字」という用語は、アルファベット文字（アクセント等の発音区別符を伴う、または伴わない）、数字、日本語の仮名、韓国語の字母、および中国語の注音を含む、音声構成要素または言葉の従属構成要素を表す文字または記号、または略語、チャットスラング、顔文字、ユーザＩＤ、あるいはＵＲＬに含まれる数字および句読点等の別の言語および非言語的文字を含み得る。仮想キーボードの中の特殊機能キーは、テキスト情報の入力に関係する特殊機能の実施（例えば、文字の大文字化、文字の削除）に関連付けられている。特殊機能キーは、シフトキー、削除キー、（例えば、数字および記号文字のより高速の入力に好適なキーボードレイアウトを選択するための）数字入力キー、（例えば、異なる文字セットをサポートする異なるキーボードレイアウトおよび／または仮想キーボードを選択するための）マルチキーボード選択キー、リターンキー、およびスペースキーを含み得るが、それらに限定されない。
【００６０】
ユーザは、一連の文字の選択を示すために、本明細書でより詳細に説明されるように、異なる種類の触覚入力を仮想キーボード領域５１０に提供し得る。ユーザは、一組の触覚入力が、ユーザインターフェース表示に（または別の出力時に）示される出力領域５０６の中で特定の意図した言葉の形成を集合的にもたらすことを意図し得る。明確にするために、文脈が明確に他に要求しない限り、本明細書で使用されるような「言葉」という用語は、文字列、語幹、接頭辞、接尾辞、語句、文、省略、チャットスラング、顔文字、ユーザＩＤ、ＵＲＬ、または表示文字列、顔文字あるいはアイコンを含むが、それらに限定されない、任意の種類の言語的オブジェクトを表す。
【００６１】
システム介入がないと、例えば、（１）ユーザが触覚入力におろそか、または不正確である場合、（２）ユーザが言葉のスペルミスをする場合、（３）（例えば、発音区別符が必要とされる場合、または仮想キーボードが図１Ｈに示されるもの等の半ＱＷＥＲＴＹまたは１２キーレイアウトを有する場合に）特定の文字を選択するために複数のキーストロークが必要とされる場合、（４）意図した言葉が特に長い場合、および／または（５）他の理由の場合に、仮想キーボードへのユーザの生の触覚入力が、意図した言葉とは異なる、意図しない言葉を出力領域に追加させる場合がある。これらの要因のうちのいずれかが、意図した言葉のユーザの入力を遅延させる場合がある。
【００６２】
したがって、向上したユーザ体験を促進するために、開示されたユーザインターフェースは、仮想キーボード領域５１０（およびタッチセンサ式ディスプレイの他の領域および／または他の入力）から受信されたユーザ入力を、本明細書で開示される曖昧性除去モジュール等の曖昧性システムまたはモジュールに提供し得る。曖昧性除去モジュールは、論理的な様式でランク別に順序付けられるか、または別様に組織化され得る、提案された言葉の選択のリスト（「言葉の選択リスト」）を生成するように、受信したユーザ入力を分析する。次いで、ユーザインターフェースは、（例えば、順序付けられた、またはグループ化された様式で）言葉の選択リスト領域５０８の中の曖昧性除去モジュールによって生成される言葉の選択リストの一部を表示し得る。言葉の選択リスト領域内で、１つ以上のデフォルト言葉が、ハイライトされ（例えば、図５Ａに示されるような「ａｒｅ」）、および／または出力領域中で表示され得る。ユーザは、（例えば、言葉の選択リスト領域内で触覚入力を提供することによって、スペースバー等の特殊キーまたはその付近で表示上のポイントを押下することによって、または選択を示す他の入力を提供することによって）意図した言葉を示すように、言葉の選択領域の中で表示される言葉を選択し得る。ユーザは、代替として、言葉を選択する前に（例えば、言葉の選択領域内でスクロールまたはスワイプすることによって）言葉の選択リスト領域の中の言葉の選択リストからさらなる結果をレビューし得る。ユーザが言葉の選択リストから選択を示した後、次いで、ユーザインターフェースは、選択された言葉を出力領域５０６に追加し得る（またはそうでなければ、選択された言葉を出力する）。
【００６３】
ユーザインターフェース表示は、主にタッチセンサ式タッチスクリーンとして本明細書で説明されているが、当業者であれば、本明細書で説明されるユーザインターフェースおよび曖昧性除去システムおよび方法は、レーザ投影キーボード、筋肉感知キーボード、ファブリックキーボード、運動感受性ビデオシステム（Ｎｉｎｔｅｎｄｏ  Ｗｉｉ（登録商標）等）、仮想現実システム等を代わりに使用して実装され得ることを理解するであろう。なぜなら、これらのシステムは、仮想キーボードを表示し、ユーザ動作を、タッチスクリーンの触覚入力と類似している表示キーボード内の一情報に変換することが可能であるからである。
【００６４】
（ユーザ入力のモード）
図５Ｂ−Ｇは、図５Ａに示される好適なユーザインターフェースによって受信され、ユーザインターフェース内で表示される言葉の選択リストを生じるように曖昧性除去システムによって分析される、種々の種類のユーザ入力を図示する。簡単にするために、タッチスクリーンディスプレイへの触覚ユーザ入力は、ユーザが指先で表示を押下することと併せて本明細書で説明される。しかしながら、当業者であれば、ユーザが、任意の好適な手段、例えば、指、スタイラス、または任意の他の好適な入力ツールによって、タッチスクリーンを押下し得ることを理解するであろう。
【００６５】
（タップ入力）
図５Ｂは、どのようにしてユーザインターフェースが一連のタップを受信し、それに応じて言葉の選択リストを出力し得るかを図示する。タップは、ユーザが指を持ち上げる前に局所的な点でタッチスクリーンを短く押下することから成る。図５Ｂの実施例では、ユーザインターフェースは、一連の３つのタップを受信する（時間（Ｔ）＝１では「Ａ」キーの付近、Ｔ＝３では「Ｄ」キーの上、およびＴ＝４では「Ｅ」キーの上）。この実施例では、これら３つのタップ特徴を使用して、曖昧性除去モジュールが、「ａｒｅ」というデフォルトの選択を含む、言葉の選択リストを生じる。英語では、ユーザが「ａｄｅ」という言葉の代わりに「ａｒｅ」という言葉を作成することを意図しやすいため、このデフォルトの選択は、どのようにして曖昧性除去モジュールが明白なユーザエラーを訂正し得るかを例証する。
【００６６】
（トレース入力）
図５Ｃは、どのようにしてユーザインターフェースがユーザからトレース入力を受信し、それに応じて言葉の選択リストを出力し得るかを図示する。トレースを入力するために、ユーザは、タッチスクリーンディスプレイ上で指を押下または配置し、表示を継続的に押下しながら、画面から指を最終的に持ち上げる前に、指で表示内に線をトレースする。本明細書でより詳細に説明されるように、トレース入力はさらに、コーナーおよびセグメントといった、少なくとも２つの異なる種類の別個の特徴に分けられ得る。本明細書でより詳細に説明されるように、「コーナー特徴」は、ユーザが、（１）トレースの開始時に画面を最初に押下すること、（２）トレースの終了時に画面から指を持ち上げて離すこと、および／または（３）トレース中に突然方向を変更することを含むが、それらに限定されない、トレース中の異なる種類の事象の発生時に生じる。次いで、各対のコーナーは、２つのコーナーの間のユーザのトレース経路に沿って及ぶセグメント特徴の境界を定める。
【００６７】
図５Ｃに示される実施例では、ユーザが、キーボード領域５１０の中の「Ｋ」キー付近で、画面上で指を押下することによって、Ｔ＝１から始まるトレースを入力し、「Ｐ」および「Ｏ」キー付近の点へ上向きに指をなぞり、仮想キーボードの最上列を横断して横断して移動することによって、その点付近で方向を突然変更し、最終的に、Ｔ＝３で、「Ｗ」キー付近の点で画面から指を持ち上げる。３つのドットによって示されるように、この単一の連続トレースは、３つの明確に異なるコーナー（コーナー１、コーナー２、コーナー３）および２つのセグメント特徴（コーナー１および２の間に延在するセグメント１、ならびにコーナー２および３の間に延在するセグメント２）に分けられ得る。図５Ｃに示されるように、５つの抽出された入力特徴（３つのコーナーおよび２つのセグメント）を使用して、曖昧性除去モジュールは、ユーザインターフェースを介してユーザに表示される、「ｈｏｗ」というデフォルトの言葉を含む、言葉の選択リストを生じ得る。
【００６８】
（ホバー）
図５Ｄは、どのようにしてユーザインターフェースがユーザからホバー入力特徴を受信し得るかを図示する。ホバー特徴は、点の付近で指を一時停止すること、点の周りで指を小刻みに動かすこと、回すこと、またはスクリブルすること、トレース中に点の付近で減速すること、（例えば、感圧タッチスクリーンディスプレイによって検出されるように）点において付加的な圧力を提供すること、トレース中に同時に別の指で第２のタップを提供すること等を含み得る、特定の方式で、ユーザが表示内の点に特に重点を置く、任意のユーザ入力を備え得る。例えば、図５Ｄに示されるように、図５Ｃに関して以前に説明されたトレース中に、ユーザは、時間窓Ｔ＝［２：５］中にそこに残存することによって、「Ｔ」キー付近の点でホバー特徴を入力し得る。図５Ｄは、トレース特徴と併せて起こるホバー特徴を示すが、ホバー特徴は他の場合に（例えば、タップ特徴と併せて、例えば、タップ押下が閾値持続時間を超えて延びる場合）起こり得る。
【００６９】
（マルチモーダル入力：複数の触覚特徴）
本明細書で説明されるユーザインターフェースは、（例えば、２つのタップが続く、３つのトレースが続くトレースを入力すること等）ユーザが任意の順番で異なる種類の入力特徴を入力することを可能にする。さらに、ユーザインターフェースは、第１の特徴（例えば、トレース）を入力した後に、ユーザが一時停止し、次いで、入力（例えば、第２のトレースを入力すること、またはタップを入力すること）を再開することを可能にする。一時停止後、曖昧性除去モジュールは、言葉の選択リストを生成するために、一時停止前および一時停止後に検出される両方の入力特徴を利用し得る。
【００７０】
図５Ｅは、どのようにしてユーザインターフェースが、異なる種類の触覚入力を含むユーザから入力を受信し、それに応じて、複数の入力特徴の全てを使用して生成される言葉の選択リストを表示するかを図示する。図５Ｅの実施例では、Ｔ＝［１：３］から、ユーザは、言葉の選択リストの中で表示されている「ｈｏｗ」というデフォルトの言葉をもたらす線を描くことによって、図５Ｃに示されるのと同じ入力を提供する。次いで、ユーザは、Ｔ＝７まで一時停止し、そして「Ｅ」および「Ｒ」キーの間をタップする（これは更新された言葉の選択リストの表示をもたらし得る）。ユーザは、Ｔ＝９まで一時停止し、再び、Ｔ＝１０において「Ｆ」および「Ｒ」キー付近で終了する新しいトレースを「Ｖ」キー付近で開始する。このトレースの終わりに、入力特徴の全て（すなわち、第１のトレース（３つのコーナーおよび２つのセグメントから成る）、タップ、および第２のトレース（２つのコーナーおよび１つのセグメントから成る）の全体を使用して、曖昧性除去モジュールは、ユーザインターフェースで表示されるデフォルトの言葉が「ｈｏｗｅｖｅｒ」であるように、言葉の選択リストを更新する。
【００７１】
（マルチモーダル入力：触覚入力特徴および音声入力）
図５Ｆ−Ｇによって図示されるように、本明細書で説明されるユーザインターフェースはまた、ユーザが相補的に複数の触覚入力および音声入力を混合することも可能にする。そのような実施例では、ユーザインターフェースおよび／または曖昧性除去モジュールはさらに、言葉および／または言葉の選択リストの中への音声入力を解析する、および／または音声入力の曖昧性を排除するように構成される、音声認識モジュールを備え得る。第１の実施例として、ユーザインターフェースは、触覚ユーザ入力によって最初に生成された言葉の選択リストから言葉を選択するために、ユーザが音声入力を提供することを可能にし得る。図５Ｆに示される実施例では、時間Ｔ＝［１：１０］中に、ユーザは、「ｈｏｗｅｖｅｒ」というデフォルトの言葉、ならびに「ｈｏｗｄｙ」という言葉を含む、言葉の選択リストの表示をもたらす、複数の触覚特徴を入力することによって、図５Ｅで説明されるのと同じ入力を提供する。時間Ｔ＝１１で、ユーザは、（例えば、ユーザインターフェースを提供または携持するデバイスに連結されるマイクロホンに向かって話し掛けることによって）その選択を示すユーザインターフェースへの音声入力を生じるために、大きな声で「ｈｏｗｄｙ」と言うことによって、後者の言葉を選択する意向を示す。
【００７２】
別の実施例として、ユーザインターフェースは、ユーザが、触覚入力（例えば、トレース入力）を介して、言葉の選択リストから言葉を選択することを可能にし得、言葉の選択リストは、音声入力（例えば、音声認識ソフトウェアを使用して生成された言葉の選択リスト）、自由形式の手書き入力（例えば、手書き認識ソフトウェアを使用して生成された言葉の選択リスト）、または別の入力モードによって生成されている。図５Ｇの実施例では、ユーザは、「Ｉ  ａｍ  ｕｓｉｎｇ  ｖｏｉｃｅ  ｒｅｃｏｇｎｉｔｉｏｎ  ｓｏｆｔｗａｒｅ  ｔｏ  ｅｎｔｅｒ  ｔｅｘｔ  ｉｎｉｔｉａｌｌｙ  ａｎｄ  ｕｓｉｎｇ  ｔｒａｃｉｎｇ  ｔｏ  ｃｏｒｒｅｃｔ  ｍｉｓｔａｋｅｓ（最初にテキストを入力するために音声認識ソフトウェアを使用し、間違いを訂正するためにトレーシングを使用しています）」と大きな声で述べることによって、時間Ｔ＝１で入力を開始する。音声入力に応じて、（例えば、音声認識モジュールを使用する）ユーザインターフェースが、出力領域５０６の中にユーザの文のテキストバージョンを生成するが、誤りのある第４の言葉（「ｒｅｃｏｎｎａｉｓｓａｎｃｅ」）を伴う。誤りを訂正するために、ユーザは、時間Ｔ２で、キーボード領域５１０での触覚入力（例えば、タップ）を介して誤りのある言葉を選択する。ユーザインターフェースは、随意で、音声認識モジュールによって生成される、ｒｅｃｏｎｎａｉｓｓａｎｃｅ、ｒｅｃｏｇｎｉｚａｂｌｅ、およびｒｅｃｏｇｎｉｔｉｏｎという音声学的に同様の言葉から成る言葉の選択リストを言葉の選択領域５０８の中で表示し得る。次いで、ユーザは、以前に説明されたように、仮想キーボードを使用して、正しい言葉（「ｒｅｃｏｇｎｉｔｉｏｎ」）をトレースする。どの言葉の選択が最も良く合致するかを決定するようにトレースを分析することによって、システムは、ユーザの意図した言葉を認識し、間違いを訂正することができる。システムのマルチモーダル性質は、発話、タップすること、手書き、発話等の任意の特定のモダリティを使用して入力された言葉を選択／再選択および訂正できることを意味する。いくつかのモダリティでは、曖昧さの性質は、代替的選択として１つより多くの言葉（語句セグメント）を有する単一の言葉をもたらす場合があり、または１つより多くの言葉でできている部分は、より短い代替的選択を有することができる。実施例としては、ユーザが「Ｄｏ  ｌｉｔｔｌｅ」と口に出す時に、それが「Ｄｏ  Ｌｉｔｔｌｅ」および「Ｄｏ  ｌｅｔ  ａ」という代替案とともに「Ｄｏｏｌｉｔｔｌｅ」として認識される場合がある。
【００７３】
上記の実施例は、ユーザインターフェースが相補的に複数の種類の曖昧性除去を混合するためのより一般的な能力を実証する。これらの実施例では、曖昧性除去の第１のモダリティ（例えば、テキストの曖昧性除去または音声の曖昧性除去）が、第１の言葉の選択リスト（例えば、Ｎ個の最良リスト）を生成し、その構成要素は、共通の特性を共有する（例えば、キーボード上の同様の文字配置または音声の類似性）。次に、第２の種類のユーザ入力の曖昧性を排除する場合、第２の入力の曖昧性を排除するように検索されなければならない一組の可能な言葉（例えば、検索される「辞書」）は、第１の言葉の選択リスト（例えば、Ｎ個の最良リスト）の構成要素に限定される。
【００７４】
（代替的なキーボードレイアウトおよび他の特徴）
図５Ａの好適なユーザインターフェースは、各キーと併せて、多くても単一の文字を表示する、完全ＱＷＥＲＴＹ仮想キーボードを示す。しかしながら、本明細書で説明される入力、出力、および曖昧性除去機能性の全て（タップすること、トレースすること、ホバーすること、マルチモーダル入力等）は、単一のキーが２つ以上の文字と併せて表示されるキーボードレイアウトを含む、任意の種類のキーボードレイアウトを利用するユーザインターフェースを用いて好適に実装され得る。例えば、図５Ｈは、４×３構成で配置された１２個の主要キーおよび側方の２個の付加的なファンクションキー（スペースキーおよび削除キー）を伴う仮想キーボードを含む、ユーザインターフェースを示す。そのようなレイアウトでは、主要キーの大部分が、１〜４個の異なる文字と併せて表示される。同様の１２キーレイアウトを使用する従来のシステムでは、ユーザは、典型的には、ある文字を示すために複数のキーストロークを利用しなければならない（例えば、従来のシステムでは、４回の反復キーストロークまたはキーの持続押下が、「ｉ」という文字を示すために必要とされ得る）。対照的に、図５Ｈに示されるように、本明細書で説明される曖昧性除去方法は、ユーザが、数回だけのトレースおよび１回のタップで、「ｉｍｍｉｎｅｎｔ」という意図した言葉を含む言葉リストを生成することを可能にする。ユーザインターフェースでは、複数の入力特徴（例えば、４回の連続タップまたは「４ＧＨＩ」キーの上での長いホバー）は、「ｉ」という意図した言葉の最初の文字を選択するために必要とされない。
【００７５】
同様に、従来のシステムと違って、本明細書で説明されるシステムでは、仮想キーボード上で視覚的に表示されないことがあるアクセントのある文字（または他の代替的な文字）を選択するために、反復または長期ユーザ入力特徴（例えば、複数の入力タップまたはホバー）が必要とされない。例として、従来のシステムでは、図５Ａに示されるもの等のＱＷＥＲＴＹキーボードレイアウト上でアクセントのある文字
【００７６】
【化１】
0005642809.tif 000002
を選択するために、ユーザは、いくつかのキーストロークを実行する必要があり得、そのうちの１つが「Ｅ」キーを含む。対照的に、本明細書で説明される曖昧性除去方法は、ユーザが、「Ｅ」キーに関係するユーザインターフェースへの１つだけの入力特徴（例えば、単一のタップまたはコーナー）を用いて、アクセントのある文字
【００７７】
【化２】
0005642809.tif 000003
を有する言葉を含む、言葉リストを生成することを可能にする。単一のキーにマップされた複数の類似の文字を有することに加えて、本明細書で説明される曖昧性除去方法はまた、番号が最上列で文字の代替として現れる、キーボードレイアウトを用いて実装され得る。
【００７８】
加えて、本明細書で説明されるユーザインターフェースは、反復文字および／または反復キーストロークを示すためのユーザからの反復または追加の入力特徴を必要としない。例えば、図５Ａに示される完全ＱＷＥＲＴＹユーザインターフェースを使用して、「ｍｏｏｎｌｉｇｈｔ」という意図した言葉を効率的に入力するために、ユーザは、意図した言葉の中の反復した「ｏｏ」の発生にもかかわらず、生成された言葉リストの中で意図した言葉を生じるために、「Ｏ」キーの付近で１つの触覚特徴を入力する必要しかない。別の実施例として、図５Ｈのインターフェースを使用して「ｈｉｓ」という言葉を効率的に入力するために、ユーザは、単一の入力特徴（例えば、単一のタップまたはコーナー）を介して、「４ＧＨＩ」ボタンの選択を示す必要しかない。なぜなら、同じキーが意図した言葉の中の第１の文字（「ｈ」）および第２の文字（「ｉ」）の両方に利用されるからである。
【００７９】
（コンテキスト駆動型トレーシング）
図５Ｉは、より効率的なテキスト入力を提供するために、どのようにしてコンテキスト情報が使用され得るかという実施例を図示する。図５Ｉでは、ユーザが、連絡先アプリケーションプログラム内で連絡先の名前を検索している。友達の名前を入力するために、ユーザは３コーナーのトレースを描く。このトレース入力の曖昧性を排除する場合に、曖昧性除去モジュール２１３は、その言葉の参照を、ユーザの連絡先リストの中の言葉（例えば、大抵は適正な名詞）のみを含む辞書に限定し得る。さらに、曖昧性除去モジュールは、言葉の選択リストをランク付けするために、およびデフォルト名を提案するために、トレース合致以上のものを使用し得る。例えば、曖昧性除去モジュールは、連絡先アプリケーションプログラム、Ｅメールプログラム、または全てのアプリケーションプログラムにおいて、ユーザが頻繁に入力またはアクセスする名前を昇格させ得る。例証するために、図５Ｉに示されるトレースは「Ｄ」で始まり、「Ａ」で曲がって「Ｎ」という文字で終わり、「ＤＡＮ」という一般的な名前を形成するが、ユーザが「ＤＡＮ」よりもはるかに高い頻度および／または新近性で「ＤＡＶＩＤ」という名前を入力している場合、曖昧性除去モジュールは、依然としてその名前を昇格させ得る。
【００８０】
図５Ａ−５Ｉは、仮想キーボードに関係するタップ、トレース、ホバー、およびマルチモーダル入力等の触覚入力を強調しているが、当業者であれば、本明細書で説明される曖昧性除去システムおよび方法はまた、マルチタッチ入力（例えば、タッチスクリーン上の２本以上の指）、加速度計入力（例えば、より大型のシステムの過速度を示す入力）、手書き／ジェスチャ入力（例えば、自由形式触覚入力）、および／または入力ボタンからの信号を含む、他の種類のユーザ入力を利用し得ることを理解するであろう。
【００８１】
（好適なシステムおよび曖昧性除去モジュール）
図６および以下の論議は、開示された技術を実装することができる、好適なコンピュータ環境の簡潔な一般説明を提供する。必須ではないが、開示された技術の側面は、汎用データ処理デバイス、例えば、サーバコンピュータ、無線デバイス、またはパーソナルコンピュータによって実行されるルーチン等のコンピュータ実行可能命令の一般文脈で説明される。当業者であれば、開示された技術の側面は、インターネット家電、手持ち式デバイス（携帯情報端末（ＰＤＡ）を含む）、装着型コンピュータ、あらゆる種類のセルラーまたは携帯電話（ボイスオーバーＩＰ（ＶｏＩＰ）電話を含む）、ダム端末、メディアプレーヤ、ゲームデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費者電子機器、セットトップボックス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、および同等物を含む、他の通信、データ処理、またはコンピュータシステム構成を用いて実践できることを理解するであろう。実際に、「コンピュータ」、「サーバ」、「ホスト」、「ホストシステム」、および同等物といった用語は、概して、本明細書で交換可能に使用され、上記のデバイスおよびシステムのうちのいずれか、ならびに任意のデータプロセッサを指す。
【００８２】
開示された技術の側面は、本明細書で詳細に説明されるコンピュータ実行可能命令のうちの１つ以上を実施するように特定的にプログラム、構成、または構築される、専用コンピュータまたはデータプロセッサで具現化することができる。ある機能等の開示された技術の側面は、単一のデバイス上で独占的に実施されるものとして説明されるが、開示された技術はまた、機能またはモジュールが、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、またはインターネット等の通信ネットワークを通して結び付けられる、異種の処理デバイス間で共有される、分散環境で実践することもできる。分散コンピュータ環境では、プログラムモジュールは、ローカルおよび遠隔メモリ記憶デバイスの両方に位置し得る。
【００８３】
一実施形態では、開示された技術は、非一過性のコンピュータ可読媒体またはコンピュータ可読メモリに記憶される、一連のプログラム命令として実装される。命令は、本明細書で説明される機能を果たすようにプロセッサ電子機器によって実行される。
【００８４】
開示された技術の側面は、磁気または光学的可読コンピュータディスク、配線で接続された、または事前にプログラムされたチップ（例えば、ＥＥＰＲＯＭ半導体チップ）、ナノ技術メモリ、生物学的メモリ、または他のデータ記憶媒体を含む、有形コンピュータ可読媒体上に記憶または分配され得る。代替として、開示された技術の側面の下のコンピュータ実装命令、データ構造、画面表示、および他のデータは、インターネット上または他のネットワーク（無線ネットワークを含む）上で、ある期間にわたって伝搬媒体（例えば、電磁波、音波等）上の伝搬信号上で分配され得、または任意のアナログあるいはデジタルネットワーク（パケット交換型、回路交換型、または他のスキーム）上で提供され得る。
【００８５】
図６は、本明細書で説明されるユーザインターフェースを提供するために曖昧性除去モジュール６１３が動作し得る、好適なデータ処理またはコンピュータシステム６００を図示する。コンピュータシステムは、タッチスクリーンディスプレイ６０３、他の入力デバイス６０８、音声出力構成要素６０４、他の出力デバイス６０６、１つ以上のプロセッサまたは中央処理ユニット（ＣＰＵ）６０１、および少なくとも１つのメモリ６１０を含み、そのいくつかまたは全ては、筐体（図示せず）内で携持または収納され得る。代替案として、またはＣＰＵに加えて、コンピュータシステム６００は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他の論理／データ処理回路を含み得る。
【００８６】
入力および出力構成要素は、グローバルポジショニングシステム（ＧＰＳ）、デジタルカメラ、無線ＬＡＮ（ＷｉＦｉ）インターフェース、運動センサ、加速度計、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、外部ＵＳＢまたは同様のポート、ヘッドホンまたはヘッドセットジャックアダプタ、投写型ディスプレイ、触覚出力デバイス（例えば、振動器）、ならびに他の構成要素または通信要素を含み得る。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェースは、音声入力を受信するためだけでなく、音声出力を提供するためにも、無線ヘッドセット等の外部無線通信構成要素と通信し得る。１つの実装では、コンピュータシステム６００は、携帯電話であり、それにより、システムはまた、無線通信を可能にするようにＣＰＵ６０１に連結される１つ以上の無線装置も含む。
【００８７】
システムの出力モダリティは、テキスト音声変換、音声、振動、触覚、視覚等の出力を含み得る。例えば、システムは、「振動」または「音」のフィードバックを追加することによって、どの入力特徴、文字、および／または字が認識されているかをユーザに知らせることができる。同様に、システムは、抽出される特徴およびその決定に関与する不確実性のレベルのより詳細な理解をユーザに提供することができる。
【００８８】
メモリ６１０はさらに、オペレーティングシステム６１１、曖昧性除去モジュール６１３、および１つ以上のアプリケーションプログラム（アプリケーションプログラム１からＮ６１４−６１６として示される）を備え得る。アプリケーションプログラムは、文書処理プログラム、スライド表示または画像作成プログラム、Ｅメールプログラム、ＳＭＳ／ＭＭＳメッセージングプログラム、インスタントメッセージングプログラム、または他のテキストベースの通信あるいはテキストベースの文書作成プログラムを含むことができる。
【００８９】
曖昧性除去モジュール６１３は、タッチスクリーン６０３を用いたユーザの入力に関係するデータを含む、オペレーティングシステムからのユーザ入力データを受信し、アプリケーションプログラムに提供し得る、ユーザによって選択された言葉を識別するために、受信した入力データを使用し得る。例えば、曖昧性除去モジュール６１３は、指を下に向けた事象（ユーザがタッチスクリーン上の点を押下する時）、指を動かす事象（例えば、ユーザが画面を押下しながら指を動かす時）、および指を上に向けた事象（例えば、ユーザがタッチスクリーンから指を持ち上げる時）というオペレーティングシステム６１１からの一連の通知を受信し得る。（本明細書では指を使用するものとして概して説明されているが、ユーザは、タッチスクリーンに触れる、またはそれを作動させるためにスタイラス等のどんなものでも使用し得る。）受信した通知のそれぞれは、時系列の位置データ、例えば、タッチスクリーン６０３へのユーザの触覚入力を反映する、タイムスタンプｔを伴う一組のＸ−Ｙ座標（ｘ，ｙ）（すなわち、座標（ｘ，ｙ，ｔ））を含み得る。加えて、タッチスクリーン６０３が圧力センサを含む場合、受信した通知は、時系列の位置および圧力データ、例えば、印加された圧力ｐを含む、タッチスクリーン６０３へのユーザの触覚入力を反映する、一組の座標（ｘ，ｙ，ｔ，ｐ）を含み得る。オペレーティングシステム６１１はまた、マルチタッチ入力（例えば、タッチスクリーンに同時に接触する第２の指を表す、付加的な同時座標セット（ｘ，ｙ，ｔ））、音声入力（例えば、声の入力）、視覚入力、加速度計入力、場所データ、センサデータ等を含む、他の種類の入力を曖昧性除去モジュール６１３に提供し得る。
【００９０】
曖昧性除去モジュールは、加えて、その言葉の識別を促進するために、オペレーティングシステムおよび／またはアプリケーションプログラムから動的コンテキストデータを受信し、処理し得る。コンテキスト情報は、ユーザの意図を曖昧性除去モジュールに知らせるのに役立ち得る任意の情報であり、本明細書でさらに詳細に説明されるように、文または言葉のペアのコンテキスト、言語コンテキスト、アプリケーション特有のコンテキスト（例えば、データフィールド／タグ）、ユーザ特有のコンテキスト、場所、時刻等の情報を含み得る。例えば、モジュールは、ユーザによって選択された最後の言葉、他の文レベルのコンテキスト、利用された仮想キーボードレイアウト、言葉が入力される入力フィールドの種類（例えば、「連絡先」フィールド）、場所データ（例えば、コンピュータシステムがＧＰＳ受信機、または場所データへのアクセスを含む場合）、ユーザ用のカレンダーデータ、および／または、識別された言葉を利用し得る、使用された、または使用されているコンテキストデータまたはアプリケーション等のコンテキスト情報を受信し得る。別の実施例として、曖昧性除去モジュールは、別の入力モードから「Ｎ個の最良」リストを受信し得る。Ｎ個の最良リストは、固定サイズ（例えば、Ｎ）で上限を定められ得る提案された言葉のランク別に順序付けられたリストである。一実施例として、Ｎ個の最良リストは、発話認識プログラム（例えば、異形同音異義語のリスト）または手書き認識プログラムから生成される言葉のリスト等の、別の種類の曖昧性除去アプリケーションプログラムまたはモジュールから生成され得る。なおも別の実施例として、ユーザが以前のＥメールに応答するためにテキストを入力している場合、曖昧性除去モジュールは、以前のＥメールで使用された言葉のリストを受信し得る。
【００９１】
曖昧性除去モジュールは、文字選択サブモジュール６１８と、言葉リスト選択サブモジュール６２０と、キーボードマッピングデータベース６２２と、語彙モジュール６２４と、ユーザコンテキストデータベース６２６と、アプリケーションコンテキストデータベース６２８と、曖昧性除去パラメータデータベース６３０とを含み得る。別個のモジュールとして描写されているが、単一のモジュール、プログラム、またはルーチンが、モジュールのうちの２つ以上を組み込み得る。
【００９２】
文字選択サブモジュール６１８は、受信したユーザ入力または入力データを分析して、入力特徴（または「複数の入力特徴」）、例えば、タップ、コーナー、セグメント、ホバー、または他の特徴を抽出するように構成される。文字選択サブモジュール６１８はさらに、言語非依存型キーボードマッピングデータベース６２２を使用して、抽出された入力特徴を分析し、順序付けられた一組の特徴オブジェクト（例えば、スペルされている言葉に対するランク別に順序付けられた一組の文字）を含む入力シーケンスを生じるように構成される。入力シーケンスの中の各特徴オブジェクトは、複数の仮想キーボードまたはキーレイアウトのうちの１つに対する対応するキーに関連付けられている一組の文字、一組の近接性加重、および１つ以上の特徴の種類に関連付けられている。近接性加重は、ユーザが特定の入力特徴（例えば、タップ、コーナー、セグメント、またはホバー）を介して特定のキーストロークを達成することを意図した可能性を反映する。この可能性は、入力特徴の場所と仮想キーボード上のキーの場所との間の近接性に基づき得る。その動作中に、文字選択サブモジュールは、曖昧性除去パラメータデータベースから読み出されるパラメータ、方針、および選好を利用し得る。文字選択サブモジュール６１８の側面についてのさらなる詳細は、「ＶＩＲＴＵＡＬ  ＫＥＹＢＯＡＲＤ  ＳＹＳＴＥＭＳ  ＷＩＴＨ  ＡＵＴＯＭＡＴＩＣ  ＣＯＲＲＥＣＴＩＯＮ」と題され、参照することにより本明細書に組み込まれる出願人の米国特許出願公開第２００６／０２７４０５１号で見出され得る。
【００９３】
キーボードマッピングデータベース６２２は、ユーザが特定の入力特徴を入力することによって特定のキーストロークを達成することを意図した可能性を、文字選択サブモジュール６１８が評価することを可能にする。システムによって利用され、タッチスクリーン上でユーザに表示される仮想キーレイアウトの各種類については、完全ＱＷＥＲＴＹ（例えば、２８キー、３２キー、またはそれ以上）、１４キー半ＱＷＥＲＴＹキーボード、１２キー「数字」キーパッド等である。キーボードマッピングデータベース６２２は、タッチスクリーンディスプレイ上の特定の規定された領域または点に特定のキーをマップする、および逆も同様である、領域とキーのマッピングを提供する。例えば、完全２８キーＱＷＥＲＴＹキーレイアウトでは、領域・キーマッピングは、一組の４つの表示点｛（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）｝を使用して「Ｅキー」を規定し得る。別の実施例として、図５Ｈに示されるもの等の４×３の１２キーレイアウトでは、領域・キーマッピングが、一組の４つの点｛（ｘ１１，ｙ１１），（ｘ２２，ｙ２２），（ｘ３３，ｙ３３），（ｘ４４，ｙ４４）｝を使用して「５ＪＫＬ」キーを規定し得る。当然ながら、仮想キーボードに対する円およびその仮想キーボードに対する対応する文字へのマップ（円が交差していてもよい）を規定するために、ｘ−ｙ中心場所および半径等の他のマッピングが可能である。
【００９４】
加えて、システムによって利用される各種類の文字レイアウト（例えば、アメリカ英語完全ＱＷＥＲＴＹ文字レイアウト対フランス語完全ＡＺＥＲＴＹ文字レイアウト）について、キーボードマッピングデータベースは、特定のキー（例えば、「Ｅキー」）を１つ以上の文字に（または特殊機能キーについては、特定の機能に）マップし、および、逆に、文字を特定のキーにマップするキー・文字マッピングを提供する。キー・文字マッピングは、１対多数の関係を表してもよく、特定のキーは、タッチスクリーンのユーザに仮想キーボード上で表示されない文字を含む、１つより多くの文字に関連付けられている。例えば、完全ＱＷＥＲＴＹキーレイアウトに関係するキー・文字マッピングでは、「Ｅキー」は、
【００９５】
【化３】
0005642809.tif 000004
といった文字のうちの２つ以上にマップされ得る。別の実施例として、図５Ｈに示されるもののような１２キーレイアウトに関係するキー・文字マッピングでは、「５ＪＫＬ」キーは、５、％、Ｊ、ｊ、Ｋ、ｋ、Ｌ、ｌといった文字にマップされ得る。単一の領域・キーマッピングは、例えば、単一の仮想キーボードレイアウトを介して、より容易な他言語入力を可能にするように、１つより多くのキー・文字マッピングに関係し得る。ユーザ入力の曖昧性を排除するためのキーボードマッピングデータベース６２２の使用は、本明細書でさらに詳細に説明される。
【００９６】
加えて、キーは、ユーザが標準ラテン−１ベースのキーボードを使用して外来文字を入力することを可能にする、ローマ字化、音訳、または転写入力を形成するように組み合わさり得る。ユーザは、標準ラテン−１ベースのキーボードを使用して言葉の聞こえ方で言葉をタイプすることができ、音訳がその国字で言葉を生じる。例えば、「ｓｅｒｏｄｉｊａ」とタイプすることにより、
【００９７】
【化４】
0005642809.tif 000005
というロシア語の言葉をもたらす。１つ以上のラテン−１文字が、１つ以上のロシア語文字を形成するように組み合わさることができる。これらのマッピングは、種々の方法で、状態機械を使用して、または他の一般的に使用されている方法で、実装することができる。この翻訳または音訳層は、確率として実装されるマッピングまたは付加的なサブモジュールの層を追加する。１対１のマッピングがある場合、実装は単純である。複数の解釈がある場合に、各マッピングには確率値を割り当てることができる。例えば、ヒンズー語では、文字が１つより多くの有効なマッピングを有し得る。例えば、文字
【００９８】
【化５】
0005642809.tif 000006
は、ｉ、ｙｉ、ｅｅ、およびｙｉといったマッピングを有する。同様に、文字
【００９９】
【化６】
0005642809.tif 000007
は、ｉおよびｙｉにマップする。ここで記述されるコンテキストまたは他のパラメータは、ユーザへのオプションの表示されたリストの曖昧性をさらに排除するため、またはリストを順序付けるために使用され得る。
【０１００】
言葉リスト選択サブモジュール６２０は、文字選択サブモジュールによって生成される入力シーケンスを受信するように構成される。言葉リスト選択サブモジュール６２０は、図５Ａ−５Ｉで示されるもの等のランク別に順序付けられた、または別様に構築された言葉の選択リストを生成するために、種々の他の入力を使用して入力シーケンスを分析し得る。言葉リスト選択サブモジュール６２０が使用し得る、他の入力は、語彙モジュール６２４からのデータ、曖昧性除去パラメータデータベース６３０から読み出されたパラメータ、受信した動的コンテキストデータ、ならびにユーザコンテキストデータベース６２６およびアプリケーションコンテキストデータベース６２８から読み出されたコンテキストデータを含み得る。言葉リスト選択サブモジュール６２０は、本明細書でさらに詳細に説明される。
【０１０１】
言葉選択を促進するために、語彙モジュール６２４は、一組の言葉または言葉の論理グループを定義する１つ以上の辞書を提供する。例えば、「アメリカ英語」辞書が、英語を話すアメリカ人による一般的な使用で言葉の論理グループを定義し得る一方で、「アメリカ英語Ｍｓｇ」辞書は、テキストおよびマルチメディアメッセージ（例えば、ＳＭＳ、ＭＭＳ、または同様のメッセージ）で英語を話すアメリカ人によって一般的に使用されている言葉の論理グループ（顔文字を含む）を定義し得る。語彙モジュール６２４はまた、（例えば、特定の言語内の）言葉および／または特定のコンテキストの特定の論理グループ内の静的または動的頻度情報等の付加的な言語情報を提供し得る。例えば、付加的な言語情報は、正式および／または会話の文章の中の言葉の発生頻度、ある１つまたは複数の先行の言葉に続く時の言葉の発生頻度、周辺の文の適正または共通文法、左幹または右幹（または接頭辞あるいは接尾辞）として利用されている言葉の頻度等のうちの１つ以上を含み得る、言語モデルに従った頻度情報を含み得る。頻度に加えて、推移確率には特定の推移が割り当てられ得、１部類の接頭辞を、起こり得る語幹または１つ以上の部類の接尾辞を伴う語幹と結び付ける一方で、不正な言葉を形成する辞書の中の他の言葉を伴う接頭辞を拒絶する。例えば、言葉（ｗｏｒｄ  ｗｏｒｋ）は、しばしば有効な言葉を形成する、−ｅｒ、−ｅｒｓ、−ｉｎｇ、−ｓ、および−ｅｄという接尾辞を伴う高い推移確率を有し得る。
【０１０２】
曖昧性除去モジュールは、ユーザがキーボード構成を変更した場合に、その辞書を変更する必要がないことに留意されたい。さらに、キーボードマッピングデータベース６２２を使用することによって、曖昧性除去モジュールは、キーボードレイアウトにかかわらず、任意のシステム内で利用され得る。
【０１０３】
曖昧性除去パラメータデータベース６３０は、相互作用または入力特徴抽出、文字の選択、および／または言葉の選択を行うためのパラメータ、方針、および選好を記憶し得る。例えば、曖昧性除去パラメータデータベースは、距離関数、近接性測定基準、合致測定基準、および後処理ステップの選択および適用に役立つ、パラメータおよび方針を含み得、その全ては本明細書で説明される。
【０１０４】
向上した文字および／または言葉の選択を促進するために、ユーザコンテキストデータベース６２６およびアプリケーションコンテキストデータベース６２８は、コンテキスト情報を文字選択サブモジュール６１８および／または言葉リスト選択サブモジュール６２０に提供して、その処理を通知し得る。これらのサブモジュールはまた、アプリケーションプログラムおよび／またはオペレーティングシステムから動的コンテキスト情報を受信し得る。テキストの入力、代替案からの選択、コンテキスト情報、および複数のモダリティが、曖昧性除去モジュールによって管理される。システムは、本明細書で記述されるようなユーザの意図を決定するために、ユーザからの入力、アプリケーションのコンテキスト、外部センサおよびコンテキストリソースおよび曖昧性除去、ならびに訂正アプローチを使用し得る。ユーザの意図の理解に基づいて、システムは、アプリケーションのコンテキストおよび状態を維持し、入力の構成、および複数の入力モダリティにわたる同期化を管理する。ビジネスロジックと連動することによって、システムは、ユーザに提示されるマルチモーダル出力を生じることができる。相互作用、ビジネスロジック、ならびにコンテキストおよび状態は、相互作用スクリプト、またはより複雑な状態機械（Ｓｔａｔｅ  Ｃｈａｒｔ  ＸＭＬまたはＳＣＸＭＬ）あるいはＸＨＴＭＬ＋Ｖｏｉｃｅ  ＰｒｏｆｉｌｅまたはＳＡＬＴ等のユーザインターフェースの制御に使用される言語を通して管理され得る。
【０１０５】
ユーザコンテキストデータベース６２６は、ユーザによって利用された以前の言葉、ユーザによって入力された言葉の頻度、およびユーザによって採用された一般的な語句等の、ユーザの以前の文字および／または言葉の選択挙動に関する任意の履歴情報を含み得る。ユーザコンテキスト情報の他の実施例は、ユーザによって入力された言葉のペア、特定のアプリケーション（例えば、テキストメッセージング対Ｅメール）におけるユーザの独自の語彙、システムにテキストを入力している間のユーザの「粗雑さ」のレベル（文字領域のサイズを増加させる）等を含む。加えて、ユーザコンテキスト情報は、どれだけ頻繁にユーザが特定の言語から言葉を選択するか、またはどの言語をユーザが主に使用するかを反映し得る。例えば、システムがバイリンガルのユーザ用にフランス語および英語の辞書の両方を使用する場合、ユーザコンテキストデータベース６２６は、ユーザの「主要言語」を決定するために、ユーザが英語の言葉と対比してフランス語の言葉を選択する相対的頻度を追跡してもよく、次いで、その辞書からの言葉が、他の辞書からの言葉よりも優先されるか、または最初に提示され得る。
【０１０６】
代替として、または加えて、いくらかのユーザコンテキスト情報が、語彙モジュール６２４におけるユーザ特有の辞書および／または他のデータの構造で反映され得る。加えて、または代替として、ユーザコンテキストデータベース６２６はまた、曖昧性除去パラメータデータベース２３０に記憶されたデフォルトの曖昧性除去パラメータに優先し得る、ユーザ特有の方針およびパラメータを提供し得る。
【０１０７】
アプリケーションコンテキストデータベース６２８は、曖昧性除去モジュール６１３が、特定のアプリケーションプログラム内の文字または言葉の選択に関係する履歴情報にアクセスすることを可能にし得る。アプリケーションコンテキストデータベース６２８はまた、曖昧性除去パラメータデータベース６３０に記憶されたデフォルトの曖昧性除去パラメータに優先し得る、アプリケーション特有の辞書および／またはアプリケーション特有の方針およびパラメータを提供し得る。コンテキストはまた、情報が入力されるはずであるテキストフィールドに由来することもできる。実施例として、いくつかの実装では、曖昧性除去モジュールは、特定の言葉の入力と関連付けられ得るアプリケーション特有のフィールド、タグ、またはラベルを定義する、特定の種類のアプリケーションプログラムと統合するように設計され得る。実施例として、書式のテキストフィールド（「名前」または「Ｅメール」）が、コンテキスト情報を提供するために利用することができるラベルであり得る。次いで、アプリケーションコンテキストデータベース６２８は、付加的なコンテキスト情報を提供するように、ユーザの履歴上の言葉の入力をアプリケーション特有のフィールドと相関させ得る。システムは、アプリケーションコンテキストデータベースの中で、どのようにしてフィールド情報および他のコンテキスト情報が言葉の選択中に利用され得るかを反映する、アプリケーション特有のフィールドおよび規則（例えば、文法規則、合致測定基準、および／または後処理規則）を定義し得る。これらの規則は、特定のフィールドに対する言葉の提案が、どのような言葉をユーザが他のフィールドに入力したかに依存し得ることさえ特定し得る。
【０１０８】
システムは、フィールドの意図したテキスト情報（名前、電話番号、日付、Ｅメールアドレス、パスワード）を曖昧性除去モジュールに知らせ、および／または情報を説明する文法をそれに提供する。例えば、州、郵便番号、および都市が入力されることを要求する書式は、他のフィールドのコンテキストおよびコンテンツに基づいて、適切な文法を提供することが可能であるアプローチを用いるであろう。州が「ＷＡ」である場合、都市の文法は、ワシントン州内の実際の都市によって制約され、郵便番号も同様に制約される。都市および州が入力された時に、郵便番号の範囲が再び制約される。フィールドと文法との間の複雑な相互作用は、そのような「書式」の中のデータの入力を単純化することができる。代替として、システムは、しばしば使用されているテキストフィールドに対するコンテキストを習得することができる。
【０１０９】
このコンテキスト情報の使用を例証するために、どのような言葉をユーザが特定のフィールドに入力したかを曖昧性除去モジュールが留意し得る場合の書式記入の実施例を考慮する。例証すると、注文書で、ユーザが、仕事用ＥメールをＥメールフィールドに入力し、次いで、曖昧性除去モジュールは、配送先フィールドが勤務先住所を含むことを予測する。対照的に、ユーザが個人用ＥメールアドレスをＥメールフィールドに入力する場合、曖昧性除去モジュールは、配送先フィールドの中で自宅住所を予測する。
【０１１０】
他のコンテキスト情報は、時刻、場所、カレンダー入力、ユーザ設定、アプリケーション設定、およびシステム設定等の環境パラメータを含む。
【０１１１】
別個のデータベースとして示されているが、本明細書で説明されるデータベースのうちの２つ以上が組み合わせら、任意のデータ構造または論理的構成で実装され得る。
【０１１２】
文字選択サブモジュール６１８および／または言葉リスト選択サブモジュール６２０は、ユーザの現在の挙動に関する通知を提供することによって、ユーザコンテキストデータベース６２６および／またはアプリケーションコンテキストデータベース２２８を更新し得る。例えば、言葉リスト選択サブモジュール６２０は、ユーザが言葉選択リストから言葉を選択する場合に、情報をこれらのデータベースに返し得る。
【０１１３】
加えて、以前に説明されているように、曖昧性除去モジュール６１３はまた、オペレーティングシステムおよび／またはアプリケーションプログラムから付加的な動的コンテキストデータを受信し得る。図示されていないが、曖昧性除去モジュールは、加えて、本明細書で説明されるように、発話または音声入力の曖昧性を排除するように構成される、音声認識ソフトウェアを備え得る。
【０１１４】
（好適な曖昧性除去方法）
本明細書で説明されるフロー図は、データの全ての機能または交換を示すわけではないが、代わりに、システム下で交換されるコマンドおよびデータの理解を提供する。当業者であれば、コマンドおよびデータのいくつかの機能または交換が、繰り返され、変更され、省略され、または補足され得、示されていない他の（あまり重要ではない）側面が容易に実装され得ることを認識するであろう。さらに、過程ステップ、方法ステップ、ブロック、アルゴリズム、または同等物は、特定の順番で説明され得るが、そのような過程、方法、ブロック、およびアルゴリズムは、代替的な順番で機能するように構成され得る。言い換えれば、本明細書で説明されるいずれの順序または順番も、ステップまたはブロックがその順番で実施されるという要件を必ずしも示すわけではない。本明細書で説明される過程および方法のステップまたはブロックは、実用的である任意の順番で実施され得、いくつかのステップが同時に実施され得る。
【０１１５】
図７Ａは、言葉の選択リストからの言葉の選択を可能にするために、マルチモーダルユーザ入力に対応し得る、一連のユーザ入力データの曖昧性を排除するための過程７００を示す。過程７００は、曖昧性除去モジュール６１３によって行われ、曖昧性除去モジュール６１３がブロック７３０へ進む前に入力データを待って受信する時である、ブロック７１０から始まる。典型的には、曖昧性除去モジュール６１３は、オペレーティングシステムからの１つ以上のユーザ入力通知または入力事象の形態で入力データを受信するが、アプリケーションプログラム等の他の過程からも入力データを受信し得る。例えば、ブロック７１０において、曖昧性除去モジュールは、オペレーティングシステムから、指を下に向けた通知、指を動かす通知、および／または指を上に向けた通知を待って受信し得、そのそれぞれは、一組の（ｘ，ｙ，ｔ）または（ｘ，ｙ，ｔ，ｐ）座標を伴い、ｘは、表示上のユーザの指のｘ位置であり、ｙは、ユーザの指のｙ位置であり、ｔは、これらの入力の時間またはクロック参照であり、ｐは、（感圧画面用の）随意的な圧力測定である。曖昧性除去モジュール６１３はまた、音声入力、加速度計入力、外部センサデータ、場所情報等の他の形態の入力データを待ち得る。示されていないが、ブロック７１０では、曖昧性除去モジュール６１３は、例えば、オペレーティングシステムおよび／またはアプリケーションプログラムから、付加的な動的コンテキストデータを受信し得る。例えば、それは、ユーザがテキストを入力しているアプリケーションプログラムの種類またはコンテキスト（例えば、ユーザがタイプしているフィールドの種類、例えば、日付フィールド対名前フィールド）に関する情報を受信し得る。
【０１１６】
曖昧性除去モジュールがユーザ入力データを待って受信する期間は異なり得る。例えば、１つの実装では、曖昧性除去モジュールは、ブロック７３０に進む前に、（１）指を下に向けた通知、（２）次の指を上に向けた通知、および（３）これら最初の２つの通知の間に起こる、指を動かす通知の全てに対応する、通知のグループ全体を受信し得る。いくつかの他の実装では、ブロック７１０において、曖昧性除去モジュール６１３は、ユーザ入力データの中の他の種類の論理グループ化を識別するように、受信ユーザ入力データを連続的に分析し、論理グループがその全体で受信された場合のみブロック７３０へ進み得る。例えば、ブロック７１０では、曖昧性除去モジュールは、（例えば、それぞれブロック８０２およびブロック７３０において本明細書で説明される技法を使用して）入力特徴（例えば、タップ、コーナー、ホバー等）または特殊機能が発生したかどうか、および単一の入力特徴または特殊機能に対応する入力データの論理グループが検出された時を決定するために、通知が着信するにつれて受信した通知を連続的に分析し、次いで、その論理グループの処理は、ブロック７３０で進められ得る。
【０１１７】
決定ブロック７３０では、曖昧性除去モジュールは、曖昧性除去モジュールが、言葉の選択、文字の削除、または特殊機能キー（例えば、シフト、キャプスロック、キーボード選択キー等）に関係する機能等の特殊機能を実施するべきであるという入力をユーザが提供したかどうかを決定する。図７Ａに示されるように、特殊機能が指示された場合、処理はブロック７８０へ進み、そこで、曖昧性除去モジュールは、過程がブロック７４０へ進む前に、（本明細書で説明される）図７Ｂに示される過程に従って特殊機能を果たす。入力データが特殊機能を指示しない場合、過程はブロック７４０へ直接進む。
【０１１８】
ブロック７４０では、曖昧性除去モジュールは、該当する場合、どのような入力特徴（例えば、タップ、コーナー、セグメント、ホバー、音声入力等）が受信した入力データによって示されるかを識別するために、文字選択サブモジュール６１８を利用する。さらに、ブロック７４０では、曖昧性除去モジュールは、それぞれの識別された入力特徴に対する特徴オブジェクトを生成するために、文字選択サブモジュールを利用する。特徴オブジェクトは、文字セット、一組の特徴種類、および近接性加重セットを含む。文字選択サブモジュールは、図８Ａ−８Ｂに示される過程に従って、これらのタスクを行い得る。
【０１１９】
ブロック７４０中に、文字選択サブモジュールはまた、１つ以上の特徴種類を使用して、それぞれの識別された入力特徴を特性化し得る。例えば、文字選択サブモジュールは、タップ、コーナー、セグメント、ホバー等として各入力特徴を特性化し得る。加えて、文字選択サブモジュールはまた、識別された入力特徴が「意図的な入力特徴」（または「意図的な特徴」）であるかどうかを決定し得る。意図的な入力特徴は、他の種類の入力特徴と比較して、ユーザによる意図したキーストロークに対応する可能性が高いと思われる入力特徴である。特徴が意図的な入力特徴ではない場合は、代わりに「付随的な入力特徴」（または「付随的な特徴」）として特性化され得る。言葉の候補を入力特徴と合致させる時に、意図的な入力特徴は、本明細書で説明されるように、付随的な入力特徴とは異なって扱われ得る（例えば、より高く加重される）。
【０１２０】
例証すると、いくつかの実装では、全てのタップおよび全てのコーナーが、ユーザの入力挙動の明確に異なる突然の変化を示すので、曖昧性除去モジュールは、これらの特徴を意図的な入力特徴として扱う。別の例証として、曖昧性除去モジュールは、全てのタップ、コーナー、およびホバーを「意図的な」入力特徴として扱い得る。曖昧性除去モジュールはさらに、本明細書で説明される他の要因を採用することによって、どの入力特徴が意図的または付随的として特性化されるかを精緻化し得る。入力特徴の特性化は、図８Ａに関して本明細書でさらに詳細に説明されている。いくつかの実装では、曖昧性除去モジュールは、区別をつけずに、全ての入力特徴を意図的として扱い得る。
【０１２１】
ブロック７５０では、曖昧性除去モジュールは、推定入力長変数（Ｌ）を増分して、該当する場合、ブロック７４０で識別された新しい意図的な入力特徴の数を反映し得る。本明細書で説明されるように、曖昧性除去モジュールは、ブロック３７０で言葉の選択リストを生成する場合に、辞書を事前にフィルタにかけるために、または他の目的で、推定入力長Ｌを後で使用し得る。同様に、ブロック７５０では、曖昧性除去モジュールは、加えて、入力シーケンスの構成を反映する他の変数（例えば、入力シーケンスに存在するセグメント特徴の数を反映する変数）を更新し得る。
【０１２２】
ブロック７６０では、曖昧性除去モジュールは、任意の新たに生成された特徴オブジェクトを入力シーケンスに付加する。入力シーケンスは、ユーザが最後に言葉を選択してから作成された、順序付けられた一組の全ての入力特徴オブジェクトを反映する。入力シーケンスの中の種々の特徴オブジェクトは、時間に基づいて順序付けられる。
【０１２３】
ブロック７７０では、曖昧性除去モジュールは、現在の入力シーケンスを使用して言葉の選択リストを作成するために、および（例えば、タッチスクリーンディスプレイ上の言葉の選択リスト領域を介して）このリストをユーザに出力するために、言葉リスト選択サブモジュール６１８を利用する。このようにして、曖昧性除去モジュールは、意図した言葉を選択する機会をユーザに与える。言葉の選択リストの作成は、図９Ａおよび９Ｂに関して本明細書でより詳細に説明される。
【０１２４】
システムの１つの変化形では、ユーザが言葉の選択リストの中の言葉を選択する場合、システムは、選択された言葉から始まる言葉のみを示すことによって応答し得る。言葉に加えて、選択リストはまた、言葉によって表されるオブジェクトを含み得る。例えば、ｌｏｖｅという言葉が、それに関連付けられているハートの形状のアイコンを有し得る。加えて、連絡先辞書等の異なる語彙またはプロバイダから読み出される言葉が、選択された時に付加的なオプションを提供し得る。例えば、ユーザが、連絡先辞書の中の名前に合致する名前を入力した場合、ユーザは、電話番号、運転方向、Ｅメールアドレス、または機械可読形式（ｖＣａｒｄ等）で連絡先を表すオブジェクトを含む、任意の他の関連オブジェクトを追加することを選択し得る。他の言葉が、キーワード、電話番号、潜在的なカレンダー入力等を認識し得る、「認識装置」に送信され得る。ユーザが「Ｌｅｔ’ｓ  ｍｅｅｔ  ｆｏｒ  Ｌｕｎｃｈ  ａｔ  Ｊｏｅｙ’ｓ（Ｊｏｅｙの家で昼食に集まりましょう）」とタイプした時に、認識装置は、カレンダーに追加する、Ｊｏｅｙの家に電話する、予約をする、方向を挿入する等の動作を追加することができる。ユーザが任意の動作を選択する場合に、システムは、完了時にユーザをテキスト入力の活動に戻す、活動を開始し得る。そのような活動は、ユーザ履歴、ユーザ選好を含む、ユーザの意図に関して活動がより良好に知らされるのに役立ち得る、任意の関連コンテキストパラメータを伴って開始され得る。別の実施例では、ユーザは、楽曲をＥメールに追加することを希望し得る。曲名、アーティスト、アルバム、またはｍｐ３、楽曲等のキーワードさえもタイプすることによって、ユーザは、ユーザがオブジェクトを継ぎ目なく添付することを可能にする活動を開始し得る。随意で、活動の開始を引き起こすように選択された言葉は、自動的に削除され得る。
【０１２５】
図７Ｂは、ユーザ入力データによって示される特殊機能を果たすための過程７１５を示す。過程７１５は、どのような種類の特殊機能がユーザの入力データによって示されたかを曖昧性除去モジュールが識別する時である、ブロック７８２から始まる。そうするために、曖昧性除去モジュールは、特殊機能キー、言葉の選択リスト領域、および／またはメニューボタン等の他の活動領域への触覚ユーザ入力の近接性を分析し、音声コマンド入力の発話認識分析を行い、（例えば、スワイプ、マルチタッチ動作を検出するための）他の触覚ジェスチャまたは物理的ジェスチャ（例えば、デバイスを振ること）を分析し、および／または入力の種類を特殊機能にマップするために曖昧性除去パラメータデータベースにおける探索を行い得る。
【０１２６】
決定ブロック７８４では、曖昧性除去モジュールは、ユーザが（例えば、言葉の選択リストから）言葉を選択したことを入力データが示すかどうかを決定する。言葉のユーザ選択は、ユーザが特殊キー（例えば、スペースバー、タブキー、エンターキー等）の付近または上でタップする、トレースする、またはホバーした場合に、またはユーザが言葉の選択リスト領域の中の言葉の上または付近でタップする、トレースする、またはホバーする場合に、例えば、（以前に説明されているような）発声選択を介して起こり得る。当然ながら、ユーザは、デバイスを振ること、入力ボタンを押すこと等による、任意の他の好適な方法によって言葉を選択し得る。
【０１２７】
一実施例では、曖昧性除去モジュール６１３は、ユーザが１つの個別の言葉を終了して別の言葉を始める意向であることを、ユーザの入力が示すかどうかを決定するために、ユーザによって利用される入力特徴の種類を分析することによって、「自動間隔」機能性を提供し得る。いくつかの実装では、曖昧性除去モジュール６１３は、入力シーケンスの中の２つの連続トレース（すなわち、介入するトレースまたはホバーのような別の種類の入力特徴を伴わない）を、ユーザが（１）入力シーケンスの中の最後のトレースおよび他の以前の特徴に対して決定されたデフォルトの言葉を選択すること、および（２）第２のトレースから始まる新しい言葉を始めることを意図した指示として解釈する。したがって、決定ブロック７８４では、曖昧性除去モジュールは、最後の２つの入力特徴がトレースであったかどうかを決定し得る。そうであった場合、システムは、（１）最後のデフォルトの言葉のユーザの選択を処理するためにブロック７９２へと進み、（２）新しい入力シーケンスの中の第１の特徴として第２のトレースの構成要素（すなわち、そのコーナーおよびセグメント）を用いて過程７００を再開し得る。そうでなければ、システムは、単に過程７００を継続し得る。当然ながら、決定ブロック７８４における自動間隔を試験するために、任意の他の好適な特徴の組み合わせを利用することができる。より一般的に、曖昧性除去モジュール６１３は、入力シーケンス内の特定の特徴構成の発生時に、自動間隔を実施し、曖昧性除去パラメータデータベース６３０の中の曖昧性除去パラメータおよび選好を使用して、トリガ構成が設定され得る。
【０１２８】
加えて、ある言語（例えば、複合言語）またはコンテキスト（例えば、ＵＲＬ入力）について、自動間隔特徴は、無効にされ得、または異なる様式で実装され得る。例えば、２つの連続トレース（または異なるトリガ条件）が検出された場合、システムは、（１）最後のデフォルトの言葉のユーザの選択を処理するためにブロック７９２へと進み、および（２）新しい入力シーケンスの中の第１の特徴として第２のトレースの構成要素（すなわち、そのコーナーおよびセグメント）を用いて過程７００を再開し、新しい言葉が選択された時に、最後のデフォルトの言葉および新しい言葉が複合されるべきであると示すフラグを設定し得る。
【０１２９】
ユーザが言葉を選択したことを入力データが示す場合、処理はブロック７９２へと進み、そこで、曖昧性除去モジュールは、選択された言葉を処理し、そうでなければ、処理はブロック７８６へ直接進む。ブロック７９２では、曖昧性除去モジュールは、選択された言葉を所望に出力に（例えば、現在実行しているアプリケーションプログラムに関連付けられているウィンドウの出力領域に）出力する。この出力の性質は、コンテキスト（例えば、センテンスコンテキスト）、フラグ、パラメータ、または他の要因の影響を受ける場合がある。例えば、文中の直前の言葉が複合言語の共通左幹であり、現在選択されている言葉が同じ複合言語の共通右幹である場合、曖昧性除去モジュールは、現在選択されている言葉の前にスペースを挿入するかどうか、または新たに選択された言葉を直前の言葉に複合するかどうかを決定し得る。そのような決定を行うために、曖昧性除去モジュールは、語彙モジュール６２４および／またはグラマーモジュールからの言語情報を利用し得る。別の実施例として、曖昧性除去モジュールは、ユーザがＵＲＬを入力していることをコンテキスト（例えば、「ｇｏｏｇｌｅ．ｃｏｍ」という以前の入力）から推測することができる場合に、言葉の間のスペースを排除することができる。
【０１３０】
加えて、ブロック７９２では、曖昧性除去モジュールは、選択を反映するように語彙モジュールを更新し得る。例えば、曖昧性除去モジュールは、選択された言葉に関係する頻度および新近性情報を更新し、および／またはユーザが同じ言葉を数回入力するまで、ユーザが作成した言葉をユーザ特有の辞書または一時的な辞書に追加し得る。これは、ユーザデータベースへの不要な言葉の付随的な追加を回避する。システムは、さらなるユーザ介入なしで、辞書へのそのような付随的な追加を除去するように、言葉の以降の編集を気に留めてもよい。加えて、ユーザは、言葉の長押し等の特定の動作を通して、ユーザが生成した言葉がユーザ辞書に即時に追加されるべきであると示し得る。言葉に加えて、システムはまた、（例えば、本明細書で記述されるように言葉のペアを用いて）将来の予測をさらに向上させるように、選好の１つ／複数の言葉等の言葉のテキストのコンテキストに関する情報を含み得る。
【０１３１】
別の実施例として、曖昧性除去モジュールは、（例えば、システムがＥメール対テキストメッセージング用の異なるユーザ辞書を維持する場合）アプリケーションおよびユーザの両方に依存性である辞書を更新し得る。さらに別の実施例として、曖昧性除去モジュールは、ユーザによって利用される言葉のペアに関する情報を用いてユーザコンテキストデータベース６２６を更新するために、入力された以前の言葉を読み出し得る。例えば、ユーザが「ｓｃｈｏｏｌ  ｂｏｏｋ」という言葉のペアを頻繁に使用し、現在の入力では以前の言葉が「ｓｃｈｏｏｌ」であった場合、「ｂｏｏｋ」という言葉が、より高い確率を受け取り、言葉の選択リスト内で昇格され得る。別の実施例として、いくつかの実装では、曖昧性除去モジュールは、例えば、選択された言葉を適用可能なフィールドラベルと関連付けることによって、アプリケーションコンテキストデータベース６２８を更新し得る。
【０１３２】
加えて、ブロック７９２では、曖昧性除去モジュールは、その将来の挙動を調整するために、現在および／または履歴上の受信した入力データ、現在および／または履歴上の入力シーケンス、ならびに現在および／または履歴上の選択された言葉を分析し得る。例えば、曖昧性除去モジュールは、どのようにユーザがユーザインターフェースにデータを入力するかにおける任意の傾向を識別することができる（どのようしてシステムが一組の同様のユーザ入力に基づいてユーザのパターンまたは習慣を習得することができる）かどうかを決定するために、ユーザの選択された言葉に対応するキーの場所を、入力シーケンスの中の検出された特徴の場所と比較し得る。傾向が識別された場合、曖昧性除去モジュールは、任意の観察された傾向を反映するように、ユーザ特定または他の曖昧性除去パラメータを更新し得る。実施例として、ユーザが常にコーナーにおいて文字を通り過ぎる、または文字に達しない（またはある場合においてそうする）場合、ユーザが、余分な強調を明確に提供しようとして、または繰り返しの文字を示そうとして、タップ中にわずかに小刻みに動かす場合、ユーザが、典型的には、意図したキーストロークを示すためにセグメントの途中で一時停止する場合等に、曖昧性除去モジュールが、その文字選択パラメータを調整し得る。別の具体的実施例として、曖昧性除去モジュールは、ユーザが入力においてどれだけ特に正確または不正確であるかを反映するように、適用可能な距離関数および／または近接性測定基準パラメータ（例えば、本明細書で説明されるように、コーナーの長円形を生成するために使用されるもの）を調整し得る。多くの場合において、曖昧性除去モジュールは、フィードバックループを採用し、モジュールは、ユーザが言葉のリストから選択した同じ言葉に関連付けられている一連のユーザ入力を記憶し、これらの入力を比較し、後続の言葉のリスト上の言葉の順序付けられたリスト、入力への加重の曖昧性除去等に調整を行う。両手でキーボードを握る時に複数の指を通した入力と対比して、システムが1本の指の入力（デバイスを片手で握る時の親指等）を検出する場合に、異なる適合モデルが存在し得る。加えて、モデルは、ユーザの速度、環境光の可用性等の他のコンテキストパラメータを考慮することができる。
【０１３３】
別の実施例として、曖昧性除去モジュールは、ユーザが好ましい言語を明示的に設定する必要がないように、ユーザが特定の言語から言葉を選択する頻度を決定することによって、ユーザの主要または好ましい言語を決定するように選択された言葉を分析し得る。
【０１３４】
加えて、ブロック７９２では、曖昧性除去モジュールはまた、特定のアプリケーションプログラム（例えば、テキストメッセージプログラム）および／または特定のアプリケーションフィールド（例えば、「名前」フィールド）のコンテキストにおける言葉または語句の頻度または新近性を反映するように、アプリケーションコンテキストデータベースを更新し得る。適切であれば、パスワードフィールド等の選択されたフィールドは、覚えられ得るが、ユーザが秘密のパスコード、ジェスチャ、シェイク、発話コマンドを入力し、種々のコンテキストパラメータに依存し得る期間にわたって、これらの極秘の言葉を含む保護メモリ、ボールト、または場所をロック解除するまで、読み取られることから保護することができる。例えば、デバイスが「スリープ」モードまたは「スクリーンセーバ」モードになった時に、ボールトが自動ロックし得る。ボールトの挙動は、必要であれば、または場合によって、ユーザによって定義され得る。さらに、ユーザは、種々の「人格」または身なりを定義していてもよく、明示的あるいは暗示的起動に基づいて、ユーザ名、パスワード、および他の極秘データが変化し得る。例えば、勤務時間中に、人格が「仕事」となる一方で、勤務時間後または週末の間に、人格は「娯楽」または「自宅」または「家族」となり得、システムの異なる辞書、データベース、および選好が、人格に応じて使用される。
【０１３５】
最終的に、ブロック７９２では、曖昧性除去モジュールは、入力シーケンスを消去し、図７Ａに示されるように新しい過程７００を再開し得る。
【０１３６】
ブロック７８６では、曖昧性除去モジュールは、入力データが文字の削除を示すかどうかを決定する。例えば、曖昧性除去モジュールは、削除特殊機能キーが押下された（または辿られた）かどうか、またはユーザがデバイスを振ったか、または削除ジェスチャを別様に行ったかどうかを決定し得る。削除事象が検出された場合、処理はブロック７８８の前にブロック７９４および７９６へ進む。そうでなければ、処理はブロック７８８へ直接進む。ブロック７９４では、曖昧性除去モジュールは、入力リストから１つ以上の特徴オブジェクトを除去する。典型的には、削除キーの単一の押下（例えば、タップ）またはトレースについては、曖昧性除去モジュールは、入力シーケンスから、最後の意図的な特徴オブジェクトおよび任意の後続の付随的な特徴オブジェクトを除去し得る。しかしながら、曖昧性除去モジュールは、入力シーケンスから特徴オブジェクトの異なる一部を除去してもよく、ブロック３９４で除去される特徴の数、性質、および順番は、受信される入力データの正確な性質（例えば、「１つ削除する」キーまたはジェスチャの代わりに「全て削除する」キーまたはジェスチャが利用されたかどうか、ユーザの削除ジェスチャまたは入力が、特定の特徴が削除されるべきであると示したかどうか等）に依存し得る。ブロック７９４では、曖昧性除去モジュールは、加えて、推定入力長変数Ｌを減少させて、入力シーケンスからの１つ以上の意図的な特徴オブジェクトの削除を反映し得る。ブロック７９６では、曖昧性除去モジュールは、更新された入力シーケンスを使用して新しい言葉リストを作成し、（例えば、図９Ａで説明されるように）この新しいリストをユーザに出力する。
【０１３７】
ブロック７８８では、曖昧性除去モジュールは、言葉の選択リストを生成する場合に、どのようにして曖昧性除去モジュールが文字および／または言葉の候補を選択するべきかに関係する特殊機能を入力データが示すかどうかを決定する。例えば、曖昧性除去モジュールは、ユーザが、シフトキー、キャプスロックキー、キーボード選択キー、またはどのようにして曖昧性除去モジュールが文字および／または言葉を選択するべきかを修正する同様のキーをタップまたはトレースしたかどうかを決定し得る。別の実施例では、キーボードは、ユーザがシステムコマンドを迅速に入力することを可能にする、「コマンド」キーを含み得る。例えば、コマンドキー上で「ＣＯＰＹ」という言葉をトレースすること、またはコマンドキーからトレースし、次いで、キーボード上でＣＯＰＹという言葉をトレースすることによって、ユーザは、選択されたテキストをコピーすることができる。同様に、ＣＴＲＬキーが、ＣＴＲＬ−Ａ「全てを選択」、コピーおよびペーストするためのＣＴＲＬ−Ｃ／Ｖ、テキストを入力するためのＣＴＲＬ−Ｅ等といった、一般的に使用されている機能をマップするために使用することができる。加えて、ユーザは、コマンドおよびショートカットを定義することが可能であり得る。別の実施例では、曖昧性除去モジュールは、他の入力手段を介して（例えば、オフキーボードをトレースすることによって（例えば、表示されていない文字を示すことが所望される）、振ること、なでること、または他の身体的ジェスチャによって、または音声コマンドによって）ユーザが同様の意図を示したかどうかを決定し得る。特殊機能が示された場合、曖昧性除去モジュールは、例えば、文字決定フラグ（大文字化フラグ、領域・キーマッピング選択フラグ、キー・文字マッピング選択フラグ、および／または発音区別符フラグ等）、あるいは言葉決定フラグ（大文字化フラグ等）を調整することによって、入力シーケンスのコンテンツを調整することによって、および／または任意の他の好適な措置を講じることによって、ブロック７９８において適切な応答措置を講じる。
【０１３８】
ブロック７９０では、曖昧性除去モジュールは、入力データが別の機能を示すかどうかを決定する。例えば、曖昧性除去モジュールは、ユーザがメニューボタンをタップしたことを決定し得る。別の機能が示された場合、ブロック７９９では、曖昧性除去モジュールは、過程３１５が戻る前に他の示された機能を果たすために必要とされる好適なステップを講じる。そうでなければ、過程７１５は即時に戻る。
【０１３９】
図８Ａは、該当する場合、どのような入力特徴が受信した入力データによって示されているかを識別し、それぞれの識別された入力特徴に対する特徴オブジェクトを生成するための過程８００を図示する。過程はまた、各入力特徴を特性化し、入力特徴と関連付ける文字セットを選択し、その文字セットに関連付けられている近接性加重セット、またはセットの中の各文字の対応する加重を決定する。
【０１４０】
過程８００は、ブロック８０２から始まり、そこで、文字選択サブモジュールが、未加工入力データ（例えば、時系列の指を下に向けた、指を動かす、および指を上に向けた通知、または位置測定に関連付けられている事象）を処理して、存在する入力特徴の種類および識別された入力特徴の場所を識別する。各入力特徴を識別するために、文字選択サブモジュールは、ユーザの指の単一の押下に対応する入力データのグループ、すなわち、指を下に向けた事象、任意の数の指を動かす事象、および指を上に向けた事象で始まる、時系列の入力データを分析し得る。次いで、文字選択サブモジュールは、関連時系列の位置／圧力データＸ−Ｙ＝｛ｘ（ｔ），ｙ（ｔ）、随意で、ｐ（ｔ）｝から運動および／または圧力測定基準を決定するために、このグループを分析し得る。例えば、文字選択サブモジュールは、押下の合計時間、移動した合計距離（例えば、Ｘ−Ｙで反映される線分の全てを合計することによる）、（ｘ（ｔ），ｙ（ｔ））の範囲またはそれらの何らかの組み合わせ、押下中の正味の圧力差等の一次値を計算し得る。別の実施例として、文字選択サブモジュールは、トレースに沿ったユーザの指の速度を決定すること、またはコーナー、変曲点（例えば、二次導関数を使用する）、および／または他の関心点を識別するために使用され得る、周知の幾何学的分析アルゴリズムを実施すること等の、高次および／または時間依存性計算を行い得る。
【０１４１】
決定ブロック８０５では、文字選択サブモジュールは、入力データがタップ特徴を示すかどうかを決定する。タップ特徴を識別するために、文字選択サブモジュールは、合計押下時間が閾値タップ時間値に該当する、および／または時間系列中の移動の全範囲も閾値タップ距離値に該当するかどうかを単に決定し得る。これらの条件が満たされた場合、文字選択サブモジュールは、タップ特徴の場所として利用するように、好適な場所（例えば、押下ウィンドウ中に見られる最初、平均、または最終の（ｘ，ｙ）座標）を識別し得る。しかしながら、文字選択サブモジュールは、タップを識別する、タップを他の種類の特徴と区別する、および／またはタップの場所を決定するために、任意の他の好適な方法を適用し得る。例えば、文字選択サブモジュールが、低圧力タップを無視し得る。
【０１４２】
タップが決定ブロック８０５で決定された場合、処理は次にブロック８５０で継続し、そこで、文字選択サブモジュールは、タップを特性化する、タップに関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、タップに対する特徴オブジェクトを生成する。典型的には、文字選択サブモジュールは、タップ特徴を以前に説明されているような意図的な特徴として特性化するが、曖昧性除去パラメータによって決定付けられる、ある状況（例えば、低圧力タップ）下では、文字選択サブモジュールは、代わりに、タップを付随的な特徴として特性化し得る。加えて、文字選択サブモジュールは、タップ特徴を「指を下に向けた」および「指を上に向けた事象」の両方として特性化し得る。関連文字セットを識別し、検出されたタップ特徴に対する近接性加重を計算するための好適な方法は、図８Ｂおよび８Ｃに関して本明細書でさらに詳細に説明されている。
【０１４３】
ブロック８１０では、文字選択サブモジュールは、入力データがコーナー特徴を含むかどうかを決定する。文字選択サブモジュールは、単純に、トレースのＸ−Ｙセットの最初および最後の構成要素またはデータ点を利用することによって、トレースの開始コーナーおよび終了コーナーを検出し得る。トレースの途中のコーナー特徴を識別するために、文字選択サブモジュールは、ユーザの方向の突然の変化を検出するように任意の好適な曲率分析方法を利用し得る。一実施例として、文字選択サブモジュールは、中心点が他の２つの点を接続する線からの閾値距離以上になるかどうかを決定するために、トレース上の一連の座標（例えば、３つの連続点）を繰り返し評価し得る。もしそうでなければ、評価は、トレース上の次の一組の点について繰り返す。もしそうであれば、中心点は、コーナー場所として識別される。次いで、この過程は、コーナーを見出すように反復される。別の実施例として、トレースの途中のコーナー特徴を識別するために、文字選択サブモジュールは、トレースに沿って圧力、速度、および／または加速度挙動を評価し得る。しかしながら、文字選択サブモジュールは、コーナーを識別する、コーナーを他の種類の特徴と区別する、および／またはコーナーの場所を決定するために、任意の他の好適な方法を適用し得る。
【０１４４】
コーナーが決定ブロック８０５で決定された場合、処理は次にブロック８６０で継続し、そこで、文字選択サブモジュールは、コーナーを特性化する、コーナーに関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、コーナーに対する特徴オブジェクトを生成する。典型的には、文字選択サブモジュールは、コーナー特徴を以前に説明されているような意図的な特徴として特性化するが、曖昧性除去パラメータによって決定付けられる、ある状況（例えば、低圧力コーナーまたはより低い曲率を伴うトレースの途中のコーナー）下では、文字選択サブモジュールは、代わりに、コーナーを付随的な特徴として特性化し得る。加えて、文字選択サブモジュールは、開始コーナー特徴を、指を下に向けた特徴として特性化し、終了コーナー特徴を、指を上に向けた特徴として特性化し得る。関連文字セットを識別し、検出されたコーナー特徴に対する近接性加重を計算するための好適な方法は、図８Ｂおよび８Ｄに関して本明細書でさらに詳細に説明されている。
【０１４５】
決定ブロック８２０では、文字選択サブモジュールは、セグメント特徴が入力データの中で検出されるかどうかを決定する。文字選択サブモジュールは、セグメントを検出し、単純に、２つの隣接するコーナー（再度、「コーナー」はトレースの終点を含むことができる）の間に位置するＸ−Ｙトレースデータを選択することによって、セグメント特徴に対する場所データを選択し得る。サブモジュールはまた、トレースが、２つの特徴の間の潜在的なセグメントを示すように仮想キーボード上のキーの領域よりも大きいかどうかを決定し得る。しかしながら、文字選択サブモジュールは、セグメントを識別する、セグメントを他の種類の特徴と区別する、および／またはセグメントの場所を決定するために、任意の他の好適な方法を適用し得る。
【０１４６】
セグメントが決定ブロック８２０で決定された場合、処理は次にブロック８７０で継続し、そこで、文字選択サブモジュールは、セグメントを特性化する、セグメントに関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、セグメントに対する特徴オブジェクトを生成する。典型的には、文字選択サブモジュールは、曖昧性除去パラメータによって他に決定付けられない限り、セグメント特徴を付随的な特徴として特性化する。関連文字セットを識別し、検出されたセグメント特徴に対する近接性加重を計算するための好適な方法は、図８Ｂおよび８Ｅに関して本明細書でさらに詳細に説明されている。
【０１４７】
決定ブロック８３０では、文字選択サブモジュールは、別の種類の特徴が入力データの中で検出されるかどうかを決定する。例えば、文字選択サブモジュールは、Ｘ−Ｙトレース中に発生した任意のホバーリングまたは異常局所圧力を識別し得る。文字サブモジュールが検出し得る他の特徴の実施例は、（例えば、文字を選択するための）口頭のコマンド、トレース中に画面をタップする第２の指、曲率の適度の変化、および曲率の一定の変化（例えば、旋回運動を示唆する）を含む。別の種類の特徴が検出された場合、処理は次にブロック８８０で継続し、そこで、文字選択サブモジュールは、特徴を特性化する、特徴に関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、特徴に対する特徴オブジェクトを生成する。文字選択サブモジュールは、特徴が、特的のキーストロークを達成するというユーザの意図の明確な発現である場合、識別された特徴を意図的な特徴として特性化し得る。例えば、明確に話した文字は、意図的な特徴として特性化され得る。
【０１４８】
過程８００中に、文字選択サブモジュールは、種々のユーザ特有の曖昧性除去パラメータを評価することによって、ユーザの入力スタイルにおける既知の特性または傾向を相殺するように、入力特徴の場所を調整し得る。例えば、文字選択サブモジュールは、ユーザがキーの右側をタップする傾向を有する場合、タップ特徴の位置を、その実際の検出された場所の左側に調整し得る。
【０１４９】
図８Ｂは、文字セットを識別し、入力特徴に対する関連近接性加重を計算するための過程８９０を示す。過程８９０は、ブロック８０３から始まり、そこで、文字選択サブモジュールは、特定の特徴の種類に使用されるべきである適用可能な距離関数および近接性測定基準を識別するために、曖昧性除去パラメータを利用する。「距離関数」は、特定の入力特徴の場所と仮想キーボードの中の特定のキーの場所との間の分離を反映する、距離スコアを導出する方法を提供する。「近接性測定基準」は、近接性加重を導出する方法を提供する。「近接性加重」は、特定の入力特徴の場所と仮想キーボードの中の特定の対応するキーの場所との間の分離に基づいて、ユーザが入力特徴による特定のキーストロークを示すことを意図した可能性または確率を反映する。以下で説明される図８Ｃ−８Ｅは、利用され得る、種々の種類の距離関数および近接性測定基準を図示する。しかしながら、当業者であれば、任意の好適な距離関数および近接性測定基準が採用され得ることを理解するであろう。
【０１５０】
ブロック８０６では、文字選択サブモジュールは、ユーザに表示され、ユーザによって利用されている仮想キーボードのキーレイアウト（例えば、１２キー、２８キー等）を反映する、キーボードマッピングデータベース６２２から領域・キーマッピングをロードする。
【０１５１】
次いで、ブロック８０９から始まって、文字選択サブモジュールは、領域・キーマッピングにおいて各キーに対するループを行う。ループは、ブロック８１２から始まり、そこで、文字選択サブモジュールは、典型的には、言語非依存性マッピングである、領域・キーマッピングを使用することによって、キーの場所を決定する。次に、ブロック８１５では、文字選択サブモジュールは、図８Ｃ−８Ｅに関して本明細書でさらに詳細に説明されるように、キーの場所および入力特徴の場所を使用して、適用可能な距離関数を評価することによって、キーの距離スコアを計算する。決定ブロック８１８では、文字選択サブモジュールは、キーがさらなる分析に値するように入力特徴に十分近いかどうかを決定し、そうするために、サブモジュールは、閾値に対して距離スコアを評価し得る。キーが十分に近くない場合、ループはブロック８１２から始まって繰り返す。そうでなければ、過程はブロック８２４へと進み、そこで、文字選択サブモジュールは、図８Ｃ−８Ｅに関して本明細書でさらに詳細に説明されるように、キーの場所、入力特徴の場所、および／または距離スコアを使用して、適用可能な近接性測定基準を評価することによって、キーの近接性加重を評価する。
【０１５２】
ブロック８２７では、文字選択サブモジュールは、キーに関連付けられている全ての文字、仮想キーボード上でユーザに表示されないことがある文字（例えば、アクセントのある文字）さえも識別するために、１つ以上のキー・文字マッッピングを使用する。サブモジュールは、種々のフラグ（例えば、キーボード選択フラグ）、動的コンテキスト情報（例えば、オペレーティングシステムから受信されるユーザの言語設定）、ユーザ選好、および／または曖昧性除去パラメータを評価することによって、ブロック８２７でどのキー・文字マッピングを使用するかを決定し得る。例えば、サブモジュールは、ユーザインターフェースがフランス語文字レイアウトを伴う完全ＱＷＥＲＴＹキーボードを有するという指示を受信し、好適なキー・文字マッピングを選択するために、この情報を使用し得る。文字選択サブモジュールは、（例えば、異なる画面上文字レイアウトを切り替えることなく、連続的にテキストを入力することを希望し得る、他言語ユーザに適応するために）このブロックで１つより多くのキー・文字マッピングを利用し得る。
【０１５３】
ブロック８３３では、文字選択サブモジュールは、ブロック８２７で識別された各文字を特徴オブジェクトの文字セットに追加し、各識別された文字を計算されたキー近接性加重と関連づける。ブロック８３６では、文字選択サブモジュールは、領域・キーマッピングにおいて、処理するべきさらなるキーがあるかどうかを決定する。もしそうであれば、ループは、ブロック８１２から始まって繰り返し、そうでなければ、過程８９０が戻る。
【０１５４】
図８Ｃは、タップ特徴とともに好適に採用され得る、好適な距離関数および／または近接性測定基準を概念的に図示する。図８Ｃは、仮想表示ＱＷＥＲＴＹキーボードの「Ｅ」キー上のデータ点（「Ｘ」で示される）に位置するタップ特徴８８２を示す。いくつかの実装では、距離関数および近接性測定基準の両方は、区分的階段関数である。一実施例では、キーの任意の部分（または代替として、キーの全体）が半径Ｒの円８８１の範囲に入る場合に、キーに対する距離スコアは０であり、Ｒは、少なくとも部分的に、曖昧性除去パラメータ（例えば、ユーザの入力を反映するように調整され得るパラメータ、および平均キーサイズおよび／または平均キー分離等のキーボードレイアウトに関係するパラメータを含む）を使用して決定され得る。この実施例では、距離関数は、半径の外側にある全ての他のキーに対して最大値を有する。この実施例では、示されたタップ８８２について、Ａ、Ｗ、Ｓ、Ｅ、Ｄ、Ｒ（およびおそらくＴ）キーは、０距離値（または他の最小値）を有し、全ての他のキーは、最大距離値を有する。別の実施例では、キーに対する距離スコアは、タップ点８８２が直接キーの上にある場合は０（または最小値）であり、キーのいくらか（または代替として全体）が半径Ｒの円８８１の範囲に入る場合は中間値であり、円４８８１の外側の全ての他のキーについては最大値である。この実施例では、図８Ｃに示されるタップ８８２については、Ｅキーは、ゼロ距離スコアを有し、Ａ、Ｗ、Ｓ、Ｄ、Ｒ（およびおそらくＴ）キーは、中間値を有し、全ての他のキーは、最大値を有する。さらに別の実施例では、キーに対する距離関数は、タップ特徴８８２からキーの上または中の点（例えば、その重心、その周辺上の最近点等）までのデカルト距離である。これらの実施例では、キーに対する近接性測定基準は、距離関数の最大値（または別の最大値）からキーの距離スコアを引いたものとして定義され得る。しかしながら、当業者であれば、任意の他の好適な高次距離関数および／または近接性測定基準が採用され得、近接性測定基準がキーの距離スコアを直接採用しないことがあることを認識するであろう。タップ特徴について説明される技法はまた、他の指を置いたおよび／または指を離した特徴（例えば、トレースを開始または終了するコーナー特徴）に好適に採用され得る。
【０１５５】
図８Ｄは、コーナー特徴とともに好適に採用され得、非終端コーナー特徴に特に適する好適な距離関数および／または近接性測定基準を概念的に図示する。トレース中に、ユーザがコーナー８８３に接近するにつれて、ユーザが意図したコーナーキーを通り過ぎる、および／またはそれに達しない傾向があり得る。ユーザが所与のトレース中に通り過ぎるか達しないかどうかは、ユーザの掌性、キーボードの形状および／またはレイアウト、トレースの方向、ユーザがコーナーに接近する際の速度または加速度、ユーザの手の形状、ユーザがコーナーキー（手によって妨害される場合がある）に接近する際にキーボードレイアウトを視覚的に識別するユーザの能力、コーナーにおけるトレースの曲率の程度、および他の要因の関数であり得る。これらの関数はまた、どのようにしてユーザが通り過ぎるか、または達しないか（例えば、ｘ方向、ｙ方向に通り過ぎるかどうか、どれだけの距離を通り過ぎるか等）に細かく影響を及ぼし得る。
【０１５６】
図８Ｄは、どのようにして距離関数および／または近接性測定基準が、意図したキーをユーザが通り過ぎる、またはそれに達しないことを補償し得るかを概念的に図示する。図８Ｄは、図８Ｃに関して以前に説明されている区分的距離関数に類似している区分的距離関数を実装するために、内部コーナー特徴８８３における楕円形８８４または長円領域（または同様の非対称形状）がどのようにして使用され得るかを示す。領域の正確な形状および配向は、前述の要因によって引き起こされる超過距離または距離不足補正するように選択され得る。例えば、１つの実装では、楕円形８８４の主軸８８８は、ユーザの指がコーナー８８３に到達する直前、コーナーに到達する時、またはコーナーを曲がった直後のユーザの指の速度ベクトルと平行に選択され得る。加えて、主軸８８８の長さは、これらの点のうちの１つにおける速度ベクトルの規模に比例して増加するように、および／または以前に説明されている要因（例えば、ユーザの粗雑さ）を別様に反映するように選択され得る。同様に、短軸８８９の長さは、以前に説明されている要因を反映するように選択され得る。
【０１５７】
図８Ｆに示されるように、それぞれ、その独自の主軸および短軸を有する、２つの半長円を含む、卵形等の異なる種類の非対称形状もまた、使用され得る。２つの主軸の方向ならびに絶対および／相対的長さは、ユーザの指の速度（規模および方向の両方）、ユーザの掌性、ユーザの粗雑さ、および／または以前に説明されている他の要因の関数であり得る。１つの実装では、半楕円形の主軸は、ユーザの指がコーナーに到達する直前、コーナーに到達する時、またはコーナーを曲がった直後のユーザの指の速度ベクトルと平行に選択され得る。軸は、部分的に、ユーザの掌性および移動方向に依存している不明瞭な視界を補正するように選択され得る。例えば、右に移動する右利きのユーザは、（例えば、同じ方向に移動する左利きのユーザほど）指の右側のキーがよく見えず、それは、コーナーの右側のキーを打つ意図を判断する際に増大した不正確性を引き起こす。図８Ｆに示される実施例では、卵形は、ユーザが左下から接近する際に、右利きのユーザのいくつかのキーのより不明瞭な視界を補うように、キーボードの右側でより長い。卵形の中の２つの半長円の短軸はまた、以前に説明された要因を反映するように選択され得、２つの半長円は、異なる長さの短軸を有してくもよく、長いほうの軸が上記の実施例では右側に位置する。
【０１５８】
図８Ｃに関して以前に説明された方法と同様に、非対称形状（例えば、図８Ｆの楕円形８８４または卵形）の範囲に（完全または部分的に）入るキーは、非対称形状の外側の形状よりも低い距離スコア（および／または高い近接性加重）が割り当てられ得る。別の実施例として、コーナー点８８３がキーの上にある場合、そのキーは、最小距離スコアが割り当てら、非対称形状内のキーは、中間距離スコアが割り当てられ、非対称形状の外側のキーは、最大距離スコアが割り当てられ得る。さらに別の実施例では、キーに対する距離関数は、コーナー特徴４８３からキーの上または中の点（例えば、その重心、その周辺上の最近点等）までのデカルト距離である。また、キーに対する近接性加重は、最大可能距離スコアからキーの距離スコアを差し引くことによって調整され得る。
【０１５９】
図８Ｄは、コーナー特徴に対する区分的距離関数および近接性測定基準を主に説明している。しかしながら、任意の他の好適な高次距離関数および／または近接性測定基準が採用され得（超過距離または距離不足要因を補正する高次距離関数および／または近接性測定基準）、近接性測定基準は、キーの距離スコアを直接採用する必要がない。
【０１６０】
図８Ｅは、セグメント特徴とともに好適に採用され得る、距離関数および／または近接性測定基準を概念的に図示する。ここで、区分的距離関数および／または近接性測定基準は、セグメント特徴８８６のトレース線からの特定の垂直距離の範囲に入る全ての点によって規定される、不整形領域８８５を使用して定義され得る。領域を規定するために利用される最大距離は、少なくとも部分的に（例えば、ユーザの入力スタイルおよび習慣を反映するように調整され得るパラメータを含む）曖昧性除去パラメータを使用して決定され得る。第１の実施例では、部分的に（または代替として全体的に）不整形領域８８５の範囲に入る全てのキーは、最小距離スコア（および／または最大近接性加重）を受け、全ての他のキーは、最大距離スコア（および／または最小近接性加重）を受け得る。第２の実施例では、セグメント特徴８８６によって直接交差されるキーは、最小距離スコア（および／または最大近接性スコア）を受容してもよく、部分的に（または代替として全体的に）領域の範囲に入る他のキーは、中間距離スコア（および／または最大近接性スコア）を受け、全ての他のキーは、最大距離スコア（および／または最小近接性スコア）を受け得る。当業者であれば、トレース線までのキーの垂直距離を利用する高次関数および測定基準を含む、任意の他の好適な高次および／または近接性測定基準が採用され得ることを認識するであろう。
【０１６１】
図９Ａは、特徴オブジェクトの入力シーケンスを使用して、言葉の選択リストを作成するための過程９００を示す。過程９００は、ブロック９０５から始まり、そこで、言葉リスト選択サブモジュールは、適用可能な曖昧性除去パラメータ；ユーザコンテキストデータベースおよびアプリケーションコンテキストデータベースから読み出される半静的コンテキストデータ、およびオペレーティングシステムおよび／またはアプリケーションプログラムから読み出される動的コンテキストデータを含む、コンテキストデータ；ならびに、例えば、語彙モジュール、ユーザコンテキストデータベース、および／またはアプリケーションコンテキストデータベースからの頻度データを含む言語データをロードまたは受信する。ブロック５１０では、言葉リスト選択サブモジュール（略して「言葉サブモジュール」）は、コンテキストデータ、曖昧性除去パラメータ、および／または任意のフラグ（例えば、言語選択フラグ）を使用して、語彙サブモジュールから適用可能な辞書をロードする。例えば、使用される辞書は、曖昧性除去モジュールの出力を受信するアプリケーションプログラムの種類に基づいて選択され得る。別の実施例として、使用される辞書は、音声認識ソフトウェアを使用してユーザの発話を分析することによって、または別のユーザ入力モードを分析することによって生成され得る。例えば、辞書は、音声認識ソフトウェア、手書き認識ソフトウェア等によって生成されるＮ個の最良リストであり得る。
【０１６２】
ブロック９１５では、言葉サブモジュールは、言葉のサブグループを生成するように、入力シーケンスの何らかの部分、推定入力長Ｌ、および／またはコンテキストを使用して、辞書を事前にフィルタにかけ得る。第１の実施例として、言葉サブモジュールは、言葉が最初の「指を上に向けた」特徴および／または最後の「指を下に向けた」特徴（以前に説明されている）に合致するかどうかに基づいて、辞書を事前にフィルタにかけ得る。なぜなら、これらの特徴がおそらく、特定器のキーストロークを達成するユーザの意図の最も強い指示を提供するからである。第２の実施例として、言葉サブモジュールは、推定入力長Ｌに基づいて、辞書を事前にフィルタにかけ得る。例えば、言葉サブモジュールは、Ｘを引いたＬよりも短い、あらゆる言葉を除外し得、Ｘは、曖昧性除去パラメータを使用して決定される。第３の実施例として、言葉サブモジュールは、音声認識ソフトウェアによって生成される言葉のリストに対して事象を事前にフィルタにかけ得る。第４の実施例として、ユーザが名前フィールドにタイプしていることを動的コンテキストが示す場合、適正な名詞のみを含むように辞書をフィルタにかけ得る。当然ながら、言葉サブモジュールは、これらのフィルタリング技法の組み合わせを使用し得る。
【０１６３】
ブロック９２０では、言葉サブモジュールは、言語データ、コンテキスト、言葉の長さ、および／または任意の他の好適な要因に基づいて、サブグループの中の次の言葉を選択する。例えば、言葉サブモジュールは、使用の頻度に基づいてサブグループを仕分け、その順番でこれらの言葉を提示し得る。
【０１６４】
ブロック９２５では、言葉サブモジュールは、入力シーケンス、コンテキスト、言葉の長さ、および言語データを使用して、合致測定基準を評価することによって、選択された言葉に対する合致スコアを決定する。合致測定基準を使用して合致スコアを決定するための好適な方法が、図９Ｂに示されている。
【０１６５】
決定ブロック９３０では、言葉サブモジュールは、言葉が、曖昧性除去パラメータを使用して決定される最小閾値を超える合致スコアを有するかどうかを決定し得る。もしそうであれば、過程がブロック９４０へ進む前に、言葉がブロック９３５で言葉の選択リストに追加される。そうでなければ、処理はブロック９４０へ直接進む。言葉サブモジュールは、十分に合致しない言葉を排除し、固定または最小サイズの言葉リストを提供し得る。代替として、ブロック９３０は、言葉サブモジュールから排除され得る。
【０１６６】
ブロック９４０では、言葉サブモジュールは、サブグループの中に、処理すべきさらなる言葉があるかどうかを決定する。該当する場合、処理は、別の言葉が評価され得るようにブロック９２０に戻る。
【０１６７】
そうでなければ、過程はブロック９４５へと進み、言葉の選択リストは、後処理される。例えば、言葉サブモジュールは、スコアを合致させることによって、および／または最高合致スコアを有する１つ以上のデフォルト言葉を選択することによって、リストを仕分けてもよい。別の実施例として、仕分けた後に、言葉サブモジュールは、向上したユーザ閲覧挙動を促進するように、論理的な様式で言葉の順序付けをグループ化または調整し得る。例えば、言葉サブモジュールは、同じ語根（例えば、「ｉｎｔｅｒｅｓｔ」、「ｉｎｔｅｒｅｓｔｉｎｇ」、および「ｉｎｔｅｒｅｓｔｉｎｇｌｙ」）を有する言葉をともにグループ化して、ユーザが言葉の選択リストをより迅速にスキャンすることを可能にするように、リストを再配置し得る。さらに別の実施例として、リストを調整するため、例えば、リストの中の特定の言葉を昇格または降格させるため、および／またはリストの順番を別様に調整するために、動的または静的コンテキストデータがブロック９５０で利用され得る。例えば、ユーザが以前に同じアプリケーションプログラムで特定の言葉を利用した場合、その言葉が昇格され得る。別の実施例として、言葉サブモジュールは、組み込まれた句読点を有する言葉よりも、句読点で終わる言葉を昇格し得る。さらに別の実施例として、１つより多くの言語の辞書が、言葉のリストを生成するために利用された場合、または曖昧性除去モジュールが（例えば、バイリンガルユーザに適応するように）バイリンガル統合を別様に提供している場合、後処理は、ユーザの主要言語の中の言葉を昇格し、および／またはユーザの二次言語の中の言葉を降格させ得る。ユーザの「主要言語」は、言語パラメータまたはフラグによって、および／またはユーザコンテキストデータベース６２６からのユーザコンテキストデータによって決定され得る。
【０１６８】
後処理のなおも別の実施例として、曖昧性除去モジュールは、アプリケーション特有のフィールド情報および／またはアプリケーションコンテキストデータベースから読み出された規則または文法に基づいて、特定の言葉を昇格または降格させ得る。
【０１６９】
後処理の別の実施例では、曖昧性除去モジュールは、ユーザが、「ｐｏｄｃａｓｔ」のような新語、または一般的ではない固有の名詞等の、標準辞書に記載されていない、または見られない場合がある言葉を利用しようとしているかどうかを決定し得る。言語の中の特定の文字列に基づいて、ユーザが辞書に現れない「記載されていない」言葉を入力しようとしている場合があるかどうかを決定した場合、記載されていない言葉をデフォルトの言葉にし、代替的な提案として言葉の選択リストを提供する。そうでなければ、デフォルトの言葉として辞書から選択されたスコアの高い言葉を利用し得る。
【０１７０】
図示すると、ユーザが「ｐｏｄｃａｓｔ」という文字をはっきりとタップする場合、文字列（「ｐｏ」、「ｃａ」、および「ｓｔ」等の組み合わせ）が英語で頻繁に見られるため、それが標準英語辞書の中にない場合があるという事実にもかかわらず、曖昧性除去モジュールは、デフォルトの言葉として「ｐｏｄｃａｓｔ」を維持し得る。一方で、ユーザが「Ｐｆｓｘ」という文字をはっきりとタップする場合、「ｐｆ」、「ｆｓ」、および「ｓｘ」の組み合わせが全て、英語であまり頻繁に見られないため、曖昧性除去モジュールは、ユーザがスペルミスをした（または雑にタイプした）と仮定してもよく、「ｐｆｓｘ」をデフォルトの言葉として選択しない。代わりに、曖昧性除去モジュールは、ブロック９０５−９４０中に見出される、高い合致スコアを伴う辞書の言葉を選択する。
【０１７１】
この決定を行うために、曖昧性除去モジュールは最初に、入力シーケンスの中の各意図的な特徴（例えば、タップ）について、最良の近接性スコアを有する関連文字を選択することによって、「ストロークシーケンス」を生成し得る。次に、曖昧性除去モジュールは、構成スコアを導出するために、所与の言語（または言語の他の論理グループ）の中の種々の文字列（例えば、文字のバイグラム、３グラム、４グラム、・・・ｎグラム等）の確率または頻度を提供する、語彙モジュール６２４内の表またはデータベースを使用することによって、ストロークシーケンスの構成を評価し得る。構成スコアは、バイグラム等の種々の確率／頻度の産物、または種々の確率／頻度の別の高次関数であり得る。構成スコアが閾値を超えた場合、曖昧性除去モジュールは、デフォルトの言葉としてストロークシーケンスを使用し得る。いくつかの実装では、ストロークシーケンスは、入力シーケンスの異なる一部（例えば、コーナーではなくタップ特徴のみ）を使用して定義され得る。
【０１７２】
ブロック９５０では、言葉の選択リストは、例えば、ディスプレイ上の言葉の選択リスト領域を介して、または別様に、ユーザに出力される。代替として、言葉の選択リストおよび／またはデフォルトの言葉は、言葉を選択するためにユーザ介入を必要としない別の過程（例えば、アプリケーションプログラム）を提供し得る。
【０１７３】
図９Ｂは、合致測定基準を使用して、言葉に対する合致スコアを計算するための１つの好適な過程９９０を示す。任意の合致測定基準またはアルゴリズムが、合致スコアを生成するために利用され得、開示された技術は、以下で説明される特定の実施例に限定されない。
【０１７４】
過程９９０は、言葉サブモジュールが、言葉の合致スコアを、１という統一値であり得る、デフォルトのスコアに設定する時である、ブロック９７２から始まる。次いで、言葉の中の各文字に対するループが、ブロック９７４で示されるように始まる。ブロック９７５では、言葉サブモジュールは、入力シーケンスの中の次の意図的な入力特徴に対応する文字セットおよび関連近接性加重セットを読み出すか、または、これが文字ループの第１の反復である場合は、入力シーケンスの中の第１の意図的な入力特徴に対応する文字セットおよび関連近接性加重セットを読み出す。例えば、言葉サブモジュールは、入力シーケンスの中の次のタップまたはコーナー特徴に関連付けられている文字セットおよび近接性加重を読み出す。
【０１７５】
ブロック９７６では、言葉サブモジュールは、文字に対する近接性加重を識別する。そうするために、サブモジュールは、文字が読み出された文字セットに現れるかどうかを決定し、もしそうであれば、文字に関連付けられている、読み出された近接性加重を使用する。文字が読み出された文字セットに現れない場合、サブモジュールは、曖昧性除去モジュールによって特定されるデフォルトの近接性加重（例えば、低加重）を使用し、ループ９７４を終了し、またはデフォルトの合致スコア（例えば、０のスコアまたは他のデフォルトの合致スコア）を返すことによって過程９９０を終了し得る。
【０１７６】
ブロック９７８では、言葉サブモジュールは、文字に対する識別された近接性加重を反映するように、合致スコアを調整する。一実施例では、サブモジュールは、それに読み出された近接性加重を掛けることによって、合致スコアを調整する。しかしながら、合致スコアは、読み出された合致スコアを反映するように任意の方式で調整され得る。例えば、以前の合致スコアと読み出された近接性加重とは、単純加算、加重合計、乗算、除算、および高次関数等を含む、任意の好適な関数によって組み合わせられ得る。
【０１７７】
決定ブロック９７９では、言葉サブモジュールは、言葉の中にこれ以上処理すべき文字があるかどうか、および入力シーケンスの中にさらに多くの意図的な特徴があるかどうかを試験する。両方の条件が満たされた場合、文字ループは、ブロック９７５から始まって繰り返す。そうでなければ、過程はブロック９８０へと進む。
【０１７８】
ブロック９８０では、言葉サブモジュールは、コンテキストデータおよび／または言語データ（例えば、使用頻度）を反映するように合致スコアを調整する。一実装では、言葉サブモジュールは、使用頻度によって合致スコアを増減する。別の実施例として、言葉サブモジュールは、コンテキストデータに基づいて合致スコアを増加させ、例えば、ユーザが同じ種類のデータフィールドおよび／または同じアプリケーションで同じ言葉を利用した場合に、合致スコアが増加させられ得る。さらに別の実施例として、言葉が起こり得る可能性が高い、または低いことを、周辺の文のコンテキスト（例えば、ユーザによって入力された以前の言葉）が示唆する場合、合致スコアは上方または下方に調整され得る。これらの実施例は、包括的となることを目的としていない。以前の合致スコアは、どのようにしてコンテキストおよび／または使用頻度が、言葉がユーザの意図した入力であった可能性を増加または減少させるかを反映する、任意の好適な方式で（例えば、高次関数を介して）調整され得る。
【０１７９】
ブロック９８２では、公知の編集距離技法を利用することによって、言葉サブモジュールは、入力シーケンスの意図的な特徴において反映される文字列に合致するために必要とされる編集の種類を決定する。例えば、言葉サブモジュールは、一連の意図的な特徴において反映される一連の文字に合致するように、どのような文字が言葉に追加される必要があるか、またはどのような文字が言葉から除去される必要があるかを決定し得る。
【０１８０】
必要とされる編集の種類を決定する場合に、言葉サブモジュールは、入力シーケンスの中の意図的な特徴に対して言葉の最初の部分を合致させようとするのみであり得る。例えば、言葉サブモジュールは、言葉の中の第Ｌ番目の文字の後に起こる不一致を無視し得る。Ｌは、推定入力長である。代替として、カットオフ点をＬ−１、Ｌ＋２、Ｌ＋３等として選択することができる。このようにして、言葉サブモジュールは、ユーザの最初の入力への良好な最初の合致を有するより長い言葉が返される見込みを向上させる。
【０１８１】
ブロック９８４では、必要とされる各編集について、言葉サブモジュールは、入力シーケンスにおいて反映される特徴の種類および近接性加重を含む、推定入力長および入力シーケンスに基づいて、編集罰則を決定する。本明細書で利用されるように、「低罰則」は、同様の編集について標準編集コスト関数によって評価される、標準またはデフォルトの罰則よりも低いものである。
【０１８２】
第１の実施例として、言葉サブモジュールは、言葉の最初の部分の後に必要とされる文字の変化について、ゼロまたは低罰則を割り当て得る。例えば、言葉の中の第Ｌ番目の位置の後に必要とされる文字の変化について評価される、ゼロまたは低罰則がないことがある。この技法は、同様に、ユーザの最初の入力への良好な最初の合致を有する、より長い言葉が返される見込みを向上させる。
【０１８３】
第２の実施例として、言葉サブモジュールは、意図的および付随的な特徴の両方を含む、完全入力シーケンスによって反映される文字を伴う文字の追加または削除について、ゼロまたは低罰則を割り当て得る。例えば、言葉と意図的な特徴の入力シーケンスとの間の唯一の違いが、第３および第４の意図的な特徴の間の欠落している「Ｅ」である場合、言葉サブモジュールは、「Ｅ」という文字が、入力シーケンスの中の第３および第４の意図的な特徴の間にある付随的な特徴（例えば、セグメント）に関連付けられている文字セットに現れるならば、ゼロまたは低罰則を割り当て得る。いくつかの実装では、評価される罰則は、欠落している文字に関連付けられている近接性加重の関数であり得る。例示すると、以前の実施例に戻って、欠落している「Ｅ」を提供するセグメント特徴が、Ｅキーの中心を直接通過する（すなわち、Ｅという文字に対する近接性加重が、その可能な限り最大の値に近い）場合、評価される罰則は、セグメントがＥキーからさらに遠く離れる場合よりも低くてもよい。これらの状況で編集罰則を低減または排除することによって、言葉サブモジュールは、単純に文字を通してトレースすることによって、ユーザが文字の選択を示すことを可能にする。
【０１８４】
第３の実施例として、言葉サブモジュールは、文字を繰り返すこと、またはキーストロークを繰り返すことによって引き起こされる、文字の追加または削除について、ゼロまたは低罰則を割り当て得る。別の言い方をすれば、１つ以上の入力特徴のみが文の中で（１回以上）繰り返された場合、言葉が入力シーケンスに合致するならば、評価される罰則がないか、または低罰則がある。これらの状況で編集罰則を低減または排除することによって、言葉サブモジュールは、ユーザが、削減された数の入力特徴を用いて、繰り返しの文字または繰り返しのキーストロークを有する言葉の選択を示すことを可能にする。低罰則が評価される場合、それは、繰り返される必要がある入力特徴の種類（例えば、意図的対付随的）、各特徴が繰り返される必要がある回数、および／または繰り返された入力特徴に関連付けられている近接性測定基準の関数であり得る。例示すると、言葉が「ＷＥＥＤ」であり、言葉と意図的な特徴の入力シーケンスとの間の唯一の違いが、第２の「Ｅ」が第２および第３の意図的な特徴の間で欠落していることである場合、言葉サブモジュールは、ゼロまたは低罰則を割り当て得る。
【０１８５】
第４の実施例として、言葉リスト選択サブモジュールは、句読点および／または同様の記号の追加または削除を反映する文字の変化について、ゼロまたは低罰則を割り当て得る。
【０１８６】
ブロック９８６では、言葉サブモジュールは、あらゆる計算された罰則を反映するように、合致コストを調整する。場合によっては、罰則は、合致スコアから差し引かれる。しかしながら、他の実装では、高次調整が利用され得る。次いで、過程９９０は戻る。
【０１８７】
（ＩＶ．セキュリティシステムへの適用）
開示された技術の別の側面によれば、ユーザがＱＷＥＲＴＹキーボード（または他の一般的なキーボードレイアウト）の熟知を活用することを可能にする、パスワードまたは他のテキスト入力システムおよび方法が提供される。
【０１８８】
このパスワードまたは他のテキスト入力は、それぞれ、ゾーン出力キーの役割を果たす、明確に異なるキーを主体としている、好ましくは９つ、または他の適切な数の規定されたゾーンをユーザに提供することによって達成される。ユーザが特定のゾーンから１つのキーを選択する場合に、選択されたゾーンのゾーン出力キーは、選択されたものとして見なされる。したがって、ユーザは、標準的に標準キーボード上でパスワードを入力することができる一方で、ゾーン定義に応じて、一連のゾーン出力キーは、入力パスワードを表す出力となる。受信デバイスが、入力パスワードに対応する一連の出力キーを生成する時に使用されるゾーン定義を認識している場合、受信デバイスは一連の出力キーを解読し、適正なパスワードが入力されたかどうかを決定することができる。
【０１８９】
複数のゾーン定義が利用可能であり得る。したがって、ゾーン定義識別子および一連のゾーン出力キーを伝送することによって、複数のゾーン定義およびそれらに関連付けられている識別子を認識している受信デバイスは、パスワードのセキュリティを維持しながら、伝送を適正に解釈することができる。
【０１９０】
加えて、ゾーン定義は、互に隣接しているキーを必ずしも含む必要はない。非隣接ゾーンを規定することによって、ユーザは、キー入力においてより正確でなければならないが、ハッカーまたは他の窃盗犯がコードを解く困難が多大に増加させられ得、可能な利用可能なゾーン定義の数も同様に、多大に増加させられる。
【０１９１】
加えて、パスワード文字のテキスト入力に標準キーボードのみを使用するよりもむしろ、文字は、ジョイスティック、４または８方向キーパッド（ＴＶのリモートコントロール、電話、および携帯電話で見られるもの等）上での指向性入力、そのようなリモートコントロールまたは他の利用可能な数字キーパッド上の数字キーの種々の組み合わせ、またはＮｉｎｔｅｎｄｏ（登録商標）Ｗｉｉ（登録商標）リモートあるいは他の棒状入力デバイス、身体運動入力解決法、あるいは同等物等の、そのようなリモートコントロールまたは他のデバイスの指示機能性を使用して、入力され得る。そのような非従来型の入力デバイスを使用する場合に、ユーザは、入力される所望のキーの方向にジョイスティックまたは他のデバイスを動かし得る。この運動を行う時に、キーの間で動くよりもむしろ、セレクタはキーの隣接するゾーンの間を動き、セレクタが動いたゾーンに含まれる全てのキーが選択され、そのゾーンに関連付けられているゾーン出力キーがさらに線引きされ得る。したがって、キーが選択されることが所望される場合、所望のキーを含むゾーンへ移動するために、ジョイスティック等が使用され得る。そのようなゾーンの選択によって、関連ゾーン出力キーは、出力された一連の文字の一部として提示され得る。一例として、ユーザがパスワードの一部として「Ｒ」という文字を選択することを希望する場合、Ｒ、Ｔ、Ｙ、Ｕ、およびＩという文字を含むゾーンへの移動、ゾーン出力キーとしてＹを使用すること、およびそのようなゾーンの選択は、「Ｙ」という文字を出力ストリームの一部として出力させる。コード化されたパスワード伝送を提供することに加えて、ユーザは、ゾーンの数の間で選択する必要しかなく、特定のゾーンの中の任意のキーの選択が、パスワードデータストリームの一部として出力される同じゾーン出力キーをもたらすという点で、各個別キーを選択するほど正確である必要はない。
【０１９２】
開示された技術はまた、任意のキーボード構成、および言語、および任意の他の記号グループ化に適用可能であり得る。さらに、入力デバイスに割り当てられたゾーンは、ユーザに可視的である必要はなく、むしろ、背景で伝送されるデータを暗号化するように働くのみである。
【０１９３】
最初に図１０を参照すると、開示された技術による第１の実施形態が示されている。図１０では、概して１０００で指定されるキーボードには、複数のキー１１１０が提供される。この描写された実施形態では、２６文字ＱＷＥＲＴＹキーボードが示されている。２６英文字アルファベットの他の配置、他の言語で使用するための任意の他の文字セットの配置、数字および／または文字の任意の組み合わせ、または任意の種類の記号の任意の他の所望の組み合わせを含むが、それらに限定されない、他のキーボード構成が利用可能であることが、当業者によって理解されるべきである。既定数のこれらのキー１１１０はまた、ゾーン出力キー１１２０としても指定される。描写した実施形態では、９つのそのようなゾーン出力キーがあるが、任意の所望の数が採用され得る。各ゾーン出力キー１１２０は、それに関連付けられている１つ以上の文字キーを含む、ゾーンに関連付けられている。一例として図１０でさらに示されるように、１２０ａとして指定される「Ｅ」キーは、「Ｅ」キーを含むゾーンに対するゾーン出力キーを表し、他の文字キー「Ｑ」、「Ｗ」、「Ｒ」、および「Ｔ」は、１１１０ａで集合的に指定される。したがって、ユーザがこのゾーン（１１１０ａまたは１１２０ａ）の中の５つのキーのうちのいずれか１つを選択することに関心を持っている時はいつでも、ゾーン出力キー「Ｅ」は、選択されたパスワードまたは他のテキストを表す出力データストリームの一部を構成するように、選択された出力キーとなる。各ゾーン出力キーが所定の一意の組のキー１１１０と関連付けられ得ることが予期される一方で、重複するゾーンを有し、実際に、１つ以上のゾーンの中で１つ以上のキー１１１０を含むことが可能である。
【０１９４】
さらに、利用可能な記号キーの全て、この場合は文字が、少なくとも１つのゾーンに含まれることが想定されるが、このような場合である必要はない。実際に、直接ユーザ選択を必要として、１つまたは複数の任意の特定のキーがそのまま残され得る。そのような構成は、めったに使用されないキー、または特別な重要性があるキーに望ましいことがある。
【０１９５】
図１０を参照して、この描写から理解することができるように、キー入力を選択する場合に、ユーザがそれほど正確である必要はなく、この特定の描写した実施形態では、より従来的な２６文字よりもむしろ、選択するのに９つのゾーンしか持たないので、ユーザ体験は容易にされる。図１０で描写されるような特定の実施形態では、ユーザインターフェースは、８方向移動、および中央ホーム位置を伴うジョイスティックを利用する場合があり、各利用可能位置は、ゾーン出力に対応する。代替として、９数字キーパッドを伴うリモートコントロールまたは他のデバイスが採用され得、各数字は、ゾーン出力キーのうちの１つに対応する。当然ながら、より少ない方向移動を伴うジョイスティック、またはより多い、同じ、あるいはより少ない自由度を伴うトラックボールを含む、他の構成要素が採用され得、したがって、ユーザがゾーンの間で方向的に移動することを可能にする。より少ないハードウェアおよび習得を必要とする一方で、移動が隣接するゾーンの間で飛ぶことに限定され得るので、そのような構成は、１つのゾーンから、入力キーボード上で遠隔に位置する別のゾーンへ移動する場合に、２回以上飛ぶことを必要とし得る。代替として、各文字入力後に、カーソルまたは他のポインタが「ホーム」または他の指定されたゾーンあるいは場所に戻る、シナリオを提供することが可能であり得る。この特徴には、その利益および欠点があり、各テキスト入力のための既知の始点を提供するが、二重文字のための複数の移動を必要とする等である。
【０１９６】
上述のように、８方向ジョイスティックを採用する場合に、ユーザは、ジョイスティックの移動を通してゾーンの間を移動することができる。２つ以上のスキームが可能である。コントローラの第１の有効な移動は、上、下、左、右、右上、左上、右下、および左下であり得る。これらの８つの明確に異なる移動は、ゾーンからゾーンへ移動して、ユーザがキーボード上のゾーン出力キーの間で迅速に移動することを可能にする。同様のスキームが、あまり多用途ではない４方向ジョイスティックとともに採用され得る。しかしながら、利用可能な対角移動がないと、１つのゾーンから別のゾーンへ移動するために、より多く飛ぶことが必要であり得る。第２のスキームでは、８方向キーのそれぞれ、およびある「中立」位置がそれぞれ、ゾーンに対応し、１つのゾーンから別のゾーンへナビゲートする必要なく、ユーザがゾーンのそれぞれに直接アクセスすることを可能にする。代替として、例えば、９キー数字パッドが提供される時に、各数字は、特定のゾーンに対応し得る。
【０１９７】
対応する場所に基づいて、これらのキーが種々のゾーンに割り当てられることが最も一般的なオプションがあるが、開示された技術の代替実施形態では、ユーザが、いくつかのゾーンのうちの１つを単純に選択するよりもむしろ、実際にパスワードキーを入力している場合に、ゾーンの場所がユーザ体験に影響を及ぼしそうにないが、利用可能な複数のゾーン構成が、入力パスワードのセキュリティの保護に役立つため、任意の隣接または非隣接方式でゾーンを構成することが可能である。これらの入力状況のうちのいずれにおいても、ゾーンがユーザに可視的であることは必要ではない。むしろ、ユーザは、キーボード上で通常通りパスワードを入力するように促され得る。背景処理が、（以下で説明されるように）ゾーン定義を割り当て、伝送へのデータ出力を準備し得る。
【０１９８】
次に図１１を参照して、開示された技術の実施形態に従って使用されるステップを説明する。最初に、ステップ１２１０では、ゾーン定義が決定されなければならない。したがって、キーボードのキーが、既定数のゾーンに割り当てられる。これらのゾーンは、隣接していても隣接していなくてもよい。異なる可能なゾーン構成の実施例は、図１０に加えて、図１５（ゾーン１６１０ａ−ｄ参照）および１６で見ることができる。例えば、図１５に示されるような４つのゾーンの使用は、４つのゾーンの間で選択する必要しかないため、ユーザにとってより容易な入力体験をもたらすことに留意されたい。しかしながら、システムは、異なるパスワードが、異なる一連のゾーン出力キーを生成する可能性が高いように、より長いパスワードがそのような状況で利用されることを要求し得る。当然ながら、他の構成が採用され得る。開示された技術によれば、複数のそのようなゾーン構成が定義され得、したがって、装置は、ステップ１２１０で、所定のゾーンレイアウト定義のうちの１つから選択し得る。
【０１９９】
いったんゾーン定義が選択されると、ユーザは、パスワードを構成する文字を入力し始め得る。そのような入力文字は、ステップ１２１５で受信される。ステップ１２２０では、ユーザによって選択されるキーを含むゾーンに関連付けられている、ゾーン出力キーが、入力文字に関連付けられている出力文字として定義される。次いで、この出力文字は、伝送される最終出力データストリームに第１の文字として提供される。次いで、処理はステップ１２２５に移動し、そこで、全ての入力文字が受信されたかどうかが問い合わせられる。この問い合わせが否定で答えられ、したがって、所望の入力文字の全てが受信されたわけではないと決定された場合、制御はステップ１２１５に戻り、次の入力文字が受信される。
【０２００】
しかしながら、ステップ１２２５における問い合わせが肯定で答えられ、したがって、全ての所望の入力文字が受信されたと決定された場合、制御はステップ１２３０に移動し、そこで、入力パスワードを表す、利用されたゾーン定義および生成された出力データが、受信デバイスに伝送される。次いで、処理はステップ１２３５で終了する。実施形態は、出力データストリームとともにゾーンレイアウト定義を伝送することを説明しているが、そのようなゾーンレイアウト定義は別々に伝送され得る。そのようなゾーンレイアウト定義は、好ましくは、ゾーンの完全な一覧を備えないが、むしろ、ゾーン定義指標を備え、したがって、受信デバイスが複数の所定のゾーンレイアウト定義のうちの１つから選択することを可能にすることが想定される。そのようにして、そのような別様に無意味な指標のみが伝送され、したがって、ゾーンレイアウトを明かさず、システムのセキュリティを増大させない。さらに、いずれのゾーン定義も伝送されず、伝送および受信デバイスが同期化され、既定の方式で、既定数のゾーンレイアウト定義を単純に繰り返すことが可能である。さらに、伝送および受信デバイスが同じアルゴリズムを処理して、パスワードの生成および解釈の両方に同じゾーンレイアウト定義を利用することができる限り、方程式、アルゴリズム、および同等物を入力して、複数のゾーンレイアウト定義から選択するために、任意の他の指標等を使用することが可能であり得る。
【０２０１】
次に図１２を参照すると、受信デバイスは、最初に、伝送されたゾーンレイアウト定義を受信する（または採用する正しいゾーンレイアウト定義を決定するために上述の方法のうちの１つを使用する）。次いで、処理はステップ１３１５に移動し、そこで、受信デバイスは、入力パスワードを表す出力データストリームを含む、伝送されたデータストリームの第１の文字を受信する。次いで、この受信した文字は、予期されるパスワード文字を含むゾーンのゾーン出力キーと比較される。ステップ１３２５では、これらの文字が合致しないと決定された場合、処理はステップ１３４０で終了する。これらの文字が合致すると決定された場合、処理はステップ１３３０に移動し、そこで、全てのパスワード文字が受信されたかどうかが決定される。パスワード文字の全てが受信されていない場合、処理はステップ１３１５に戻り、次のパスワード文字を受信する。
【０２０２】
ステップ１３３０で、パスワード文字の全てが受信されたと決定された場合、処理はステップ１３３５に移動し、そこで、システムは有効なパスワードが入力されたことを認識し、ユーザはそのように通知される。次いで、処理はステップ１３４０で終了する。したがって、図１１および１２で表示されるチャートによれば、伝送デバイスおよび受信デバイスのシステムは、それぞれの実際のパスワード文字を実際に伝送することなく、一方から他方へのユーザパスワードを確認することができる。
【０２０３】
開示された技術の代替実施形態では、ユーザによる２回のパスワード入力時に、システムが２つの異なるゾーン定義に対するゾーン指示を伝送し、たとえキー自体であっても、受信側における選択されたキーの特定の通知を可能にするような方式で、キーボードを分割する２つの連続ゾーン定義を提供することが可能であり得る。例えば、「Ａ」という文字が、最初にゾーン１と関連付けられ、次いで、第２のゾーン定義では、ゾーン４と関連付けられている、以前はゾーン１の中にあった唯一の文字である場合、２つの連続パスワードの中の第１の文字に対するＺ１、Ｚ４のシーケンスは、たとえこの文字が決して伝送されなくても、「Ａ」という文字の保証された決定をもたらす。したがって、このパスワードスキームの複数の反復の使用を通して、さらなる精度を達成することができる。
【０２０４】
従来の９キーのキーパッドを採用する、開示された技術の実施形態が図１３に示されている。図１３に示されるように、ゾーン出力キー１１２０、１１２０ａ、ならびに図１０で描写される表示と同様に、それらに関連付けられているキー１１０ａが示されている。加えて、ゾーン出力キー１１２０、１１２０ａへのその各キー１４１５のマッピングを示す、従来のリモートコントロール、電話、または同等物上に含まれてもよいもの等の、キー構成１４１０が示されている。そのようなマッピングは、関係の接続引き出し線１４２０、色、形状、または任意の他の所望の指標によって示され得る。したがって、いくつかのゾーンが定義された場合、ユーザは、パスワードの中の所望の文字のそれぞれを含むゾーンに関連付けられている、数字キーを選択することによって、そのようなキーパッドを使用してパスワードを入力することが可能であり得る。
【０２０５】
開示された技術の付加的な実施形態では、ゾーン選択を示すために、上記で説明されるように遠隔デバイス上で指示を行うよりもむしろ、例えば、ＮＩＮＴＥＮＤＯ（登録商標）Ｗｉｉ（登録商標）コントローラ、ユーザ入力を決定する身体運動感知、または同等物とともに利用されるリモートコントローラ等のポインティングデバイスを採用することが可能であり得る。したがって、ユーザが表示された仮想キーボードにおいてそのようなコントローラを指し示すか、または別様にゾーン選択を示すと、コントローラによって指し示されたゾーンがハイライトされるか、または別様に指定されているものとして示される。ユーザは、リモート上の指標を押すことによって、または当業者に公知であるような他の方法によって、そのようなゾーンを選択することができる。開示された技術に従ったゾーンの使用は、各個別キーを選択する能力が、そのような構成では困難な場合があるという点で、そのような状況で特に有用である。精度が困難な場合がある。しかしながら、本開示された技術によれば、ユーザは、例えば、９つのゾーンのうちの１つの間で選択する必要しかなく、したがって、この選択する能力を、ユーザにとってはるかに容易にする。したがって、ユーザはおそらく、はるかに高速かつ容易に、文字選択を進めることが可能となる。
【０２０６】
図１４Ａおよび１４Ｂに示されるように、そのようなポインタデバイスを利用することは、所望のゾーンの容易な選択を可能にする。図１４Ａは、図１０で選択されるもの等のゾーン１５１０の選択を描写する。図１４Ｂでは、以前に選択されたゾーンの右側の２つのゾーンである、ゾーン１５２０が、指定および選択されている。ユーザは、単純にポインティングデバイスを方向転換することによって、そのような指定および選択を行うことができる。好ましくは、指標５３０が、ポインティングデバイスの現在の位置を特定するのに役立つように表示上にとどまる。
【０２０７】
１つの表示されたゾーンから別のゾーンへ移動する遠隔ポインティングデバイスの視覚指示を提供することに加えて、開示された技術の代替実施形態では、移動および選択の付加的な非視覚指示を提供するように、触覚または他の触覚応答もユーザに提供される。したがって、ユーザが第２のゾーンを指定するようにポインティングデバイスを移動させると、振動または他の非言語的指標がユーザに提供され得る。したがって、図１４Ａと１４Ｂとの間の移動のように、ユーザが２つのゾーンでポイントを移動させた場合、ゾーン間の境界を越える度に１回、そのような触覚応答がユーザに２回提供され得る。そのような触覚応答はまた、修正され得、したがって、異なるゾーンに対する異なる応答を提供する。したがって、各ゾーンは、異なる触覚シグネチャーを有してもよく、または次の選択において選択されたゾーンとなる可能性が最も高いと解析アルゴリズムによって決定されるゾーンは、他のゾーンとは異なる触覚指標が提供され得る。ゾーンは、そのような触覚指標を含む、任意の他の方式で区別され得る。
【０２０８】
もう一度図１０を参照すると、特定のゾーンの中の文字がユーザインターフェース上で選択された時に、左側および右側および／または上側および下側の既定数の隣接するキーが、選択されたキーとともにハイライトされ、したがって、ゾーン出力キーに関連付けられているゾーンを構成する。このハイライトは、選択されたゾーンをユーザに知らせる。好ましくは、指定されたゾーンに関連付けられているゾーン出力キーはさらに、出力データストリームの一部となるキーとして線引きされる。また、上述のように、ゾーンがユーザに表示されない場合、上記で説明されるように、たとえ背景でゾーン出力キーが入力ゾーンに基づいて出力されていても、特定のキーの選択は、表示の変化をもたらさない。
【０２０９】
上述のように、表示された仮想キーボードは、完全ＱＷＥＲＴＹキーボードを表すが、任意の他の所望の構成を備え得る。ゾーン出力キーは、好ましくは、キーボード上の異なる色でハイライトされ得、または何らかの他の際立った特性を使用して指定され得る。入力デバイスが特定のゾーン出力キーに対応するゾーンに進むために使用される時、特定のゾーンの選択でグループ化される一組の文字についての視覚フィードバックをユーザに提供するように、ゾーンの中の他の文字も好ましくはハイライトされる。
【０２１０】
開示された技術は、パスワードの伝送に関して説明されているが、開示された技術の特徴は、より冗長な暗号化されたデータ伝送に提供され得る。
【０２１１】
（結論）
文脈が明確に他に要求しない限り、説明および請求項の全体を通して、「備える」、「〜を備える」、および同等物等の言葉は、排他的または網羅的な意味とは対照的に、包含的な意味で、つまり、「〜を含むが、それに限定されない」という意味で解釈されるものである。本明細書で使用される場合、「接続された」、「連結された」、またはそれらの任意の変化形は、２つ以上の要素の間の直接または間接的である、任意の接続または連結を意味し、要素間の連結または接続は、物理的、論理的、またはそれらの組み合わせとなり得る。加えて、「本明細書で」、「上記で」、「以下で」という言葉、および同様の趣旨の言葉は、本願で使用される時に、本願の任意の特定の部分ではなく、全体として本願を参照する。文脈が許可する場合、単数または複数を使用した、上記の発明を実施するための形態での言葉はまた、それぞれ複数または単数を含み得る。「または」という言葉は、２つ以上の項目のリストを参照して、リストの中の項目のうちのいずれか、リストの中の項目の全て、およびリストの中の項目の任意の組み合わせといった、言葉の解釈の全てを対象とする。
【０２１２】
開示された技術の実施例の上記の発明を実施するための形態は、網羅的となること、または開示された技術を上記で開示される正確な形態に限定することを目的としていない。例証的な目的で、開示された技術の具体的実施例が上記で説明されているが、当業者であれば認識するように、種々の同等の修正が開示された技術の範囲内で可能である。例えば、過程またはブロックが所与の順番で提示されているが、代替的な実装が、ステップを有するルーチンを行ってもよく、または異なる順番でブロックを有するシステムを採用してもよく、いくつかの過程またはブロックが、代替案または副結合を提供するように、削除され、移動させられ、追加され、細分され、組み合わせられ、および／または修正され得る。これらの過程またはブロックのそれぞれは、種々の異なる方法で実装され得る。また、過程またはブロックは時折、順次に実施されるものとして示されるが、これらの過程またはブロックは代わりに、並行して実施または実装され得、または異なる時に実施され得る。さらに、本明細書で記述される任意の具体的な数字は実施例にすぎず、代替的な実装は、異なる値または範囲を採用し得る。
【０２１３】
本明細書で提供される開示された技術の教示は、必ずしも上記で説明されるシステムではなく、他のシステムに適用することができる。上記で説明される種々の実施例の要素および行為は、開示された技術のさらなる実装を提供するように組み合わせることができる。開示された技術のいくつかの代替的な実装は、上述の実装に対する付加的な要素を含み得るだけではなく、より少ない要素を含み得る。
【０２１４】
添付の出願書類に記載され得る、いずれかを含む、上述の任意の特許および出願ならびに他の参考文献は、参照することにより本明細書に組み込まれる。必要であれば、開示された技術のさらなる実装を提供するために、上記で説明される種々の参考文献のシステム、機能、および概念を採用するように、開示された技術の側面を修正することができる。
【０２１５】
上記の発明を実施するための形態を踏まえて、これらおよび他の変更を開示された技術に行うことができる。上記の説明は、開示された技術のある実施例を説明し、検討される最良の様態を説明するが、どれほど詳細に上記が文中に現れようと、開示された技術は多くの方法で実践することができる。システムの詳細は、その具体的実装においてかなり変化し得る一方で、本明細書で開示される技術によって依然として包含される。上述のように、開示された技術のある特徴または側面を説明する時に使用される特定の用語は、その用語が関連付けられる開示された技術の任意の具体的な特性、特徴、または側面に制限されるように、用語が本明細書で再定義されていることを暗示すると解釈されるべきではない。一般に、以下の請求項で使用される用語は、上記の発明を実施するための形態の項が、そのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される具体的実施例に限定すると解釈されるべきではない。
【図１】
0005642809.tif 000008
【図２】
0005642809.tif 000009
【図３】
0005642809.tif 000010
【図４】
0005642809.tif 000011
【図５Ａ】
0005642809.tif 000012
【図５Ｂ】
0005642809.tif 000013
【図５Ｃ】
0005642809.tif 000014
【図５Ｄ】
0005642809.tif 000015
【図５Ｅ】
0005642809.tif 000016
【図５Ｆ】
0005642809.tif 000017
【図５Ｇ】
0005642809.tif 000018
【図５Ｈ】
0005642809.tif 000019
【図５Ｉ】
0005642809.tif 000020
【図６】
0005642809.tif 000021
【図７Ａ】
0005642809.tif 000022
【図７Ｂ】
0005642809.tif 000023
【図８Ａ】
0005642809.tif 000024
【図８Ｂ】
0005642809.tif 000025
【図８Ｃ】
0005642809.tif 000026
【図８Ｄ】
0005642809.tif 000027
【図８Ｅ】
0005642809.tif 000028
【図８Ｆ】
0005642809.tif 000029
【図９Ａ】
0005642809.tif 000030
【図９Ｂ】
0005642809.tif 000031
【図１０】
0005642809.tif 000032
【図１１】
0005642809.tif 000033
【図１２】
0005642809.tif 000034
【図１３】
0005642809.tif 000035
【図１４Ａ】
0005642809.tif 000036
【図１４Ｂ】
0005642809.tif 000037
【図１５】
0005642809.tif 000038
【図１６】
0005642809.tif 000039