(57)【特許請求の範囲】
【請求項１】
少なくとも１つのデバイスプロセッサと、
前記少なくとも１つのデバイスプロセッサによって実行されると、
ワードのシェイプライティングおよび個別の文字のラジアルエントリを実現するように構成されたキーボードを動作させることと、
第１の文字を対象にする前記キーボードへの入力を特定する入力データを取得することであって、前記入力が、前記第１の文字に関連付けられた補助文字を選択するように使用可能な特定方向に移動することと、
前記入力データを評価して、前記入力が、特定のワードをエントリするためのシェイプライティング入力であるか、または、前記補助文字をエントリするためのラジアルエントリ入力であるかについて曖昧性を除去することと、
前記入力が前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記第１の文字を含む前記特定のワードをエントリすることと、
前記入力が前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、前記第１の文字に関連付けらえた前記補助文字をエントリすることと、
を少なくとも１つのデバイスプロセッサに行わせる命令を格納した少なくとも１つのコンピュータ可読記憶媒体と、を備え、
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記第１の例において、前記入力データの観測長さに少なくとも基づいて、前記入力データが前記シェイプライティング入力であるとして曖昧性を除去することを少なくとも１つのデバイスプロセッサに行わせる、装置。
【請求項２】
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記第２の例において、前記入力データの前記観測長さに少なくとも基づいて、前記入力データが前記ラジアルエントリ入力であるとして曖昧性を除去することを少なくとも１つのデバイスプロセッサに行わせる、請求項１に記載の装置。
【請求項３】
少なくとも１つのデバイスプロセッサと、
前記少なくとも１つのデバイスプロセッサによって実行されると、
ワードのシェイプライティングおよび個別の文字のラジアルエントリを実現するように構成されたキーボードを動作させることと、
第１の文字を対象にする前記キーボードへの入力を特定する入力データを取得することであって、前記入力が、前記第１の文字に関連付けられた補助文字を選択するように使用可能な特定方向に移動することと、
前記入力データを評価して、前記入力が、特定のワードをエントリするためのシェイプライティング入力であるか、または、前記補助文字をエントリするためのラジアルエントリ入力であるかについて曖昧性を除去することと、
前記入力が前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記第１の文字を含む前記特定のワードをエントリすることと、
前記入力が前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、前記第１の文字に関連付けらえた前記補助文字をエントリすることと、
を少なくとも１つのデバイスプロセッサに行わせる命令を格納した少なくとも１つのコンピュータ可読記憶媒体と、を備え、
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記入力データの観測長さを閾値と比較することと、
前記入力データの前記観測長さが前記閾値を超えた場合に、前記入力データが前記シェイプライティング入力であると判定することと、
前記入力データの前記観測長さが前記閾値を下回る場合に、前記入力データが前記ラジアルエントリ入力であると判定することと、
を少なくとも１つのデバイスプロセッサに行わせる、装置。
【請求項４】
少なくとも１つのデバイスプロセッサと、
前記少なくとも１つのデバイスプロセッサによって実行されると、
ワードのシェイプライティングおよび個別の文字のラジアルエントリを実現するように構成されたキーボードを動作させることと、
第１の文字を対象にする前記キーボードへの入力を特定する入力データを取得することであって、前記入力が、前記第１の文字に関連付けられた補助文字を選択するように使用可能な特定方向に移動することと、
前記入力データを評価して、前記入力が、特定のワードをエントリするためのシェイプライティング入力であるか、または、前記補助文字をエントリするためのラジアルエントリ入力であるかについて曖昧性を除去することと、
前記入力が前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記第１の文字を含む前記特定のワードをエントリすることと、
前記入力が前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、前記第１の文字に関連付けらえた前記補助文字をエントリすることと、
を少なくとも１つのデバイスプロセッサに行わせる命令を格納した少なくとも１つのコンピュータ可読記憶媒体と、を備え、
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記入力データから、前記入力の観測圧力を決定することと、
前記入力の前記観測圧力に少なくとも基づいて、前記入力データの曖昧性を除去することと、
を少なくとも１つのデバイスプロセッサに行わせる、装置。
【請求項５】
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記観測圧力が前記キーボードへの実質的に柔らかいタッチを示す場合、前記入力データを前記シェイプライティング入力として指定することと、
前記観測圧力が前記キーボードへの実質的に強いタッチを示す場合、前記入力データを前記ラジアルエントリ入力として指定することと、
を少なくとも１つのデバイスプロセッサに行わせる、請求項４に記載の装置。
【請求項６】
少なくとも１つのデバイスプロセッサと、
前記少なくとも１つのデバイスプロセッサによって実行されると、
ワードのシェイプライティングおよび個別の文字のラジアルエントリを実現するように構成されたキーボードを動作させることと、
第１の文字を対象にする前記キーボードへの入力を特定する入力データを取得することであって、前記入力が、前記第１の文字に関連付けられた補助文字を選択するように使用可能な特定方向に移動することと、
前記入力データを評価して、前記入力が、特定のワードをエントリするためのシェイプライティング入力であるか、または、前記補助文字をエントリするためのラジアルエントリ入力であるかについて曖昧性を除去することと、
前記入力が前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記第１の文字を含む前記特定のワードをエントリすることと、
前記入力が前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、前記第１の文字に関連付けらえた前記補助文字をエントリすることと、
を少なくとも１つのデバイスプロセッサに行わせる命令を格納した少なくとも１つのコンピュータ可読記憶媒体と、を備え、
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記入力データから、前記入力の観測速度を決定することと、
前記入力の前記観測速度に少なくとも基づいて、前記入力データの曖昧性を除去することと、
を少なくとも１つのデバイスプロセッサに行わせる、装置。
【請求項７】
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記観測速度が閾値を下回る場合に、前記入力データを前記ラジアルエントリ入力として指定することと、
前記観測速度が前記閾値を超える場合に、前記入力データを前記シェイプライティング入力として指定することと、
を少なくとも１つのデバイスプロセッサに行わせる、請求項６に記載の装置。
【請求項８】
少なくとも１つのデバイスプロセッサと、
前記少なくとも１つのデバイスプロセッサによって実行されると、
ワードのシェイプライティングおよび個別の文字のラジアルエントリを実現するように構成されたキーボードを動作させることと、
第１の文字を対象にする前記キーボードへの入力を特定する入力データを取得することであって、前記入力が、前記第１の文字に関連付けられた補助文字を選択するように使用可能な特定方向に移動することと、
前記入力データを評価して、前記入力が、特定のワードをエントリするためのシェイプライティング入力であるか、または、前記補助文字をエントリするためのラジアルエントリ入力であるかについて曖昧性を除去することと、
前記入力が前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記第１の文字を含む前記特定のワードをエントリすることと、
前記入力が前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、前記第１の文字に関連付けらえた前記補助文字をエントリすることと、
を少なくとも１つのデバイスプロセッサに行わせる命令を格納した少なくとも１つのコンピュータ可読記憶媒体と、を備え、
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記入力データから、前記入力の観測加速度を決定することと、
前記入力の前記観測加速度に少なくとも基づいて、前記入力データの曖昧性を除去することと、
を少なくとも１つのデバイスプロセッサに行わせる、装置。
【請求項９】
前記命令が、前記少なくとも１つのデバイスプロセッサによって実行されると、
前記入力データを解析して、前記特定のワードを特定するシェイプライティング入力結果候補と、前記補助文字を特定するラジアルエントリ入力結果候補とを含む 処理値候補を提供することと、
前記入力データに応答して、前記特定のワードの第１の提案および前記補助文字の第２の提案を含む複数の提案を表示することと、
前記第１の例において、前記第１の提案の選択に応答して前記特定のワードをエントリすることと、
前記第２の例において、前記第２の提案の選択に応答して前記補助文字をエントリすることと、
を少なくとも１つのデバイスプロセッサに行わせる、請求項１から８のいずれか一項に記載の装置。
【請求項１０】
前記シェイプライティング入力が前記特定のワードの別の文字を通過し、前記別の文字は、前記第１の文字に対して、前記キーボード上の前記特定方向に位置付けられる、請求項１から８のいずれか一項に記載の装置。
【請求項１１】
コンピュータ機器によって実行される方法であって、
シェイプライティングおよびラジアルエントリを受け付けるキーボードから、前記キーボードに対して実行される現行のストロークが特定方向に移動したことを示す入力データを取得することと、
前記特定方向に移動するストロークを介して、共にキーボードにエントリされ得るシェイプライティング入力およびラジアルエントリ入力を特定することと、
前記現行のストロークの特徴に少なくとも基づいて、前記現行のストロークの曖昧性を除去して、前記現行のストロークが前記シェイプライティング入力または前記ラジアルエントリ入力であると判定することと、
前記現行のストロークが前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記シェイプライティング入力によって特定されるワードを前記コンピュータ機器にエントリすることと、
前記現行のストロークが前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、文字を前記コンピュータ機器にエントリすることと、を含み、
前記特徴が、前記現行のストロークの長さである、方法。
【請求項１２】
コンピュータ機器によって実行される方法であって、
シェイプライティングおよびラジアルエントリを受け付けるキーボードから、前記キーボードに対して実行される現行のストロークが特定方向に移動したことを示す入力データを取得することと、
前記特定方向に移動するストロークを介して、共にキーボードにエントリされ得るシェイプライティング入力およびラジアルエントリ入力を特定することと、
前記現行のストロークの特徴に少なくとも基づいて、前記現行のストロークの曖昧性を除去して、前記現行のストロークが前記シェイプライティング入力または前記ラジアルエントリ入力であると判定することと、
前記現行のストロークが前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記シェイプライティング入力によって特定されるワードを前記コンピュータ機器にエントリすることと、
前記現行のストロークが前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、文字を前記コンピュータ機器にエントリすることと、を含み、
前記特徴が、前記現行のストロークの速度である、方法。
【請求項１３】
コンピュータ機器によって実行される方法であって、
シェイプライティングおよびラジアルエントリを受け付けるキーボードから、前記キーボードに対して実行される現行のストロークが特定方向に移動したことを示す入力データを取得することと、
前記特定方向に移動するストロークを介して、共にキーボードにエントリされ得るシェイプライティング入力およびラジアルエントリ入力を特定することと、
前記現行のストロークの特徴に少なくとも基づいて、前記現行のストロークの曖昧性を除去して、前記現行のストロークが前記シェイプライティング入力または前記ラジアルエントリ入力であると判定することと、
前記現行のストロークが前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記シェイプライティング入力によって特定されるワードを前記コンピュータ機器にエントリすることと、
前記現行のストロークが前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、文字を前記コンピュータ機器にエントリすることと、を含み、
前記特徴が、前記現行のストローク中に印加される圧力である、方法。
【請求項１４】
コンピュータ機器によって実行される方法であって、
シェイプライティングおよびラジアルエントリを受け付けるキーボードから、前記キーボードに対して実行される現行のストロークが特定方向に移動したことを示す入力データを取得することと、
前記特定方向に移動するストロークを介して、共にキーボードにエントリされ得るシェイプライティング入力およびラジアルエントリ入力を特定することと、
前記現行のストロークの特徴に少なくとも基づいて、前記現行のストロークの曖昧性を除去して、前記現行のストロークが前記シェイプライティング入力または前記ラジアルエントリ入力であると判定することと、
前記現行のストロークが前記シェイプライティング入力であるとして曖昧性が除去される第１の例では、前記シェイプライティング入力によって特定されるワードを前記コンピュータ機器にエントリすることと、
前記現行のストロークが前記ラジアルエントリ入力であるとして曖昧性が除去される第２の例では、文字を前記コンピュータ機器にエントリすることと、を含み、
前記特徴が、前記現行のストロークが屈曲点を含むかどうかに関する、方法。
【請求項１５】
前記第１の例において、前記屈曲点を含む前記現行のストロークに少なくとも基づいて、前記現行のストロークを前記シェイプライティング入力であるとして曖昧性を除去することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記第２の例において、前記屈曲点を含まない前記現行のストロークに少なくとも基づいて、前記現行のストロークを前記ラジアルエントリであるとして曖昧性を除去することをさらに含む、請求項１５に記載の方法。
【請求項１７】
プロセッサと、
前記プロセッサに、
タッチされた時に特定の文字をエントリするためのキーを有するキーボードを提供することと、
前記キーボードへの現行の入力が前記キーに接触し、前記キーから離れる特定方向に移動することを示す入力データを前記キーボードから得ることと、
前記現行のストロークの特徴に少なくとも基づいて、前記入力データをシェイプライティング入力として処理するかどうかを判定することと、
前記現行の入力をシェイプライティング入力として処理しないように判定される第１の例において、前記現行の入力に応答して前記キーに関連付けられた補助文字をエントリすることと、
前記現行の入力を前記シェイプライティング入力として処理するように判定される第２の例において、前記現行の入力に応答して、前記キーに関連付けられた第１の文字を含むワードをエントリすることと、
を行わせる実行可能コードを格納したコンピュータ可読媒体と、を備え、
前記特徴が、前記現行のストロークの長さである、システム。
【請求項１８】
プロセッサと、
前記プロセッサに、
タッチされた時に特定の文字をエントリするためのキーを有するキーボードを提供することと、
前記キーボードへの現行の入力が前記キーに接触し、前記キーから離れる特定方向に移動することを示す入力データを前記キーボードから得ることと、
前記現行のストロークの特徴に少なくとも基づいて、前記入力データをシェイプライティング入力として処理するかどうかを判定することと、
前記現行の入力をシェイプライティング入力として処理しないように判定される第１の例において、前記現行の入力に応答して前記キーに関連付けられた補助文字をエントリすることと、
前記現行の入力を前記シェイプライティング入力として処理するように判定される第２の例において、前記現行の入力に応答して、前記キーに関連付けられた第１の文字を含むワードをエントリすることと、
を行わせる実行可能コードを格納したコンピュータ可読媒体と、を備え、
前記特徴が、前記現行のストロークの速度である、システム。
【請求項１９】
プロセッサと、
前記プロセッサに、
タッチされた時に特定の文字をエントリするためのキーを有するキーボードを提供することと、
前記キーボードへの現行の入力が前記キーに接触し、前記キーから離れる特定方向に移動することを示す入力データを前記キーボードから得ることと、
前記現行のストロークの特徴に少なくとも基づいて、前記入力データをシェイプライティング入力として処理するかどうかを判定することと、
前記現行の入力をシェイプライティング入力として処理しないように判定される第１の例において、前記現行の入力に応答して前記キーに関連付けられた補助文字をエントリすることと、
前記現行の入力を前記シェイプライティング入力として処理するように判定される第２の例において、前記現行の入力に応答して、前記キーに関連付けられた第１の文字を含むワードをエントリすることと、
を行わせる実行可能コードを格納したコンピュータ可読媒体と、を備え、
前記特徴が、前記現行のストローク中に印加される圧力である、システム。
【請求項２０】
プロセッサと、
前記プロセッサに、
タッチされた時に特定の文字をエントリするためのキーを有するキーボードを提供することと、
前記キーボードへの現行の入力が前記キーに接触し、前記キーから離れる特定方向に移動することを示す入力データを前記キーボードから得ることと、
前記現行のストロークの特徴に少なくとも基づいて、前記入力データをシェイプライティング入力として処理するかどうかを判定することと、
前記現行の入力をシェイプライティング入力として処理しないように判定される第１の例において、前記現行の入力に応答して前記キーに関連付けられた補助文字をエントリすることと、
前記現行の入力を前記シェイプライティング入力として処理するように判定される第２の例において、前記現行の入力に応答して、前記キーに関連付けられた第１の文字を含むワードをエントリすることと、
を行わせる実行可能コードを格納したコンピュータ可読媒体と、を備え、
前記特徴が、前記現行のストロークが屈曲点を含むかどうかに関する、システム。
【請求項２１】
前記第１の例において、前記屈曲点を含む前記現行のストロークに少なくとも基づいて、前記現行のストロークを前記シェイプライティング入力であるとして曖昧性を除去することをさらに含む、請求項２０に記載のシステム。
【請求項２２】
前記第２の例において、前記屈曲点を含まない前記現行のストロークに少なくとも基づいて、前記現行のストロークをラジアルエントリであるとして曖昧性を除去することをさらに含む、請求項２１に記載のシステム。
【請求項２３】
前記補助文字が、前記特定の文字の大文字バージョンである、請求項１７から２２のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  電子機器のユーザは、ますますモバイル機器およびタブレットを使用するようになっており、グラフィカルなタッチスクリーンキーボードおよび他のタッチセンサ式キーボードの使用が増えるとともに、これに対応して、ユーザは、効率的なテキスト入力技術を求めるようになっている。研究者は、非ＱＷＥＲＴＹキー配列から、１回のストロークでの全ワードシェイプライティング、キーを大幅に多重化するとともに言語モデルを介した曖昧な入力を解決する手法まで、タッチスクリーンタイピングを改善する多くの方策を追及してきた。
【０００２】
[0002]  このような技術は、相当な性能優位性をもたらし得るものの、技能習得の相当な投資をユーザが行った後に初めて、性能向上を実現可能となる場合が多くなり得る。このため、ユーザは、性能向上を実現するのに十分長くは、このような新しい技術への関心を保たない可能性がある。
【発明の概要】
【０００３】
[0003]  一般的な一態様によれば、装置は、シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボードを動作させるキーボードエンジンを備える。キーボード入力モジュールは、キーボードの少なくとも１つの入力センサから入力データを取得する。意図曖昧性除去エンジンは、キーボードのユーザのために、シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用を可能にする。
【０００４】
[0004]  別の態様によれば、入力データは、シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボードから取得されるようになっていてもよい。シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用は、入力データの曖昧性除去によってシェイプライティング入力とラジアルエントリ入力とを識別することにより、キーボードのユーザに対して提供されるようになっていてもよい。
【０００５】
[0005]  別の態様によれば、コンピュータプログラム製品は、シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボードから入力データを取得することと、入力データの曖昧性除去によってシェイプライティング入力とラジアルエントリ入力とを識別することにより、キーボードのユーザのために、シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用を提供することと、を少なくとも１つのデバイスプロセッサに行わせ得る実行可能コードを格納したコンピュータ可読記憶媒体を備えていてもよい。
【０００６】
[0006]  この発明の概要は、以下の発明を実施するための形態において詳述する簡易形態のさまざまな概念の選択を導入するためのものである。この発明の概要は、特許請求の範囲に係る主題の重要な特徴または本質的な特徴を特定するものでもなければ、特許請求の範囲に係る主題の範囲の制限に用いることを意図したものでもない。１つまたは複数の実施態様の詳細については、添付の図面および以下の説明に示す。他の特徴についても、当該説明および図面、ならびに特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【０００７】
【図１Ａ】[0007]例示的な仮想キーボードを示した図である。
【図１Ｂ】例示的な仮想キーボードを示した図である。
【図２】[0008]横方向ラジアルエントリジェスチャの一例を示した図である。
【図３】[0009]斜め方向ラジアルエントリジェスチャの一例を示した図である。
【図４】[0010]縦方向ラジアルエントリジェスチャの一例を示した図である。
【図５Ａ】[0011]例示的なラジアルメニューを示した図である。
【図５Ｂ】例示的なラジアルメニューを示した図である。
【図６Ａ】[0012]例示的なワード予測を示した図である。
【図６Ｂ】例示的なワード予測を示した図である。
【図７Ａ】[0013]例示的なシェイプライティングを示した図である。
【図７Ｂ】例示的なシェイプライティングを示した図である。
【図７Ｃ】例示的なシェイプライティングを示した図である。
【図８】[0014]ラジアルジェスチャ機能と関連付けられた例示的なラジアルジェスチャヘルプメニューを示した図である。
【図９】[0015]例示的なキーボードが取り付けられた例示的な機器を示した図である。
【図１０Ａ】[0016]例示的な意図曖昧性除去エンジンが使用可能な例示的な状態機械を示した図である。
【図１０Ｂ】例示的な意図曖昧性除去エンジンが使用可能な例示的な状態機械を示した図である。
【図１１】[0017]例示的なキーボードエンジンの例示的な論理を示した図である。
【図１２】[0018]キーボードエントリモードの曖昧性除去のための例示的な汎用システムを示したブロック図である。
【図１３Ａ】[0019]図１２のシステムの例示的な動作を示したフローチャートである。
【図１３Ｂ】図１２のシステムの例示的な動作を示したフローチャートである。
【図１３Ｃ】図１２のシステムの例示的な動作を示したフローチャートである。
【発明を実施するための形態】
【０００８】
Ｉ．序論
[0020]  スレート、タブレット、携帯電話、およびマルチタッチ電子白板上でのテキストエントリに用いるソフトキーボードの増強および革新は現在、研究およびイノベーションの盛んな分野である。
【０００９】
[0021]  テキストエントリ性能の向上または画面の同一箇所へのより多くのキー機能の適合を図る技術として、シングルまたはマルチタッチスワイプジェスチャによるタッチスクリーンキーボードの拡張がある。たとえば、このようにして、Ｓｐａｃｅ、Ｂａｃｋｓｐａｃｅ、Ｅｎｔｅｒ、およびＳｈｉｆｔ等のキーのストロークショートカットがラジアルジェスチャ（すなわち、仮想キーボードのキー上、キー近傍、もしくはキー間、またはいくつかの実施態様において、テキスト自体の直上のさまざまな位置を起点とする方向性ストローク）として、特定のキー（たとえば、Shift）上で呼び出し可能なラジアルメニューを介して、またはキーボードのほとんどのエリア（たとえば、Space、Backspace、およびEnter）上で採用されるようになっていてもよい。特に、この手法によれば、ジェスチャにより冗長となった対応するキーの潜在的な削除または省略も可能であるため、第２および第３の潜在的な仮想キーボードからの別の文字に対して、キーボードの空間が解放される。一例としては、２０１２年１０月３０日に出願された本願の所有者が所有する米国仮特許出願第６１／７２０，３３５号（代理人整理番号第３３６９８６．０１号）「Ｇｒａｐｈｉｃａｌ  Ｋｅｙｂｏａｒｄ  ｗｉｔｈ  Ｒａｄｉａｌ  Ｍｅｎｕｓ」および２０１２年１２月１９日に出願され、米国特許出願公開第２０１４／０１２３０４９号として公開された「Ｋｅｙｂｏａｒｄ  ｗｉｔｈ  Ｇｅｓｔｕｒｅ−Ｒｅｄｕｎｄａｎｔ  Ｋｅｙｓ  Ｒｅｍｏｖｅｄ」という名称の米国特許出願第１３／７２０，５２７号（代理人整理番号第３３６９８６．０２号）において、ラジアルメニューを備えるとともにジェスチャ冗長キーが省略されたストロークキーボードを提供するいくつかの技術が論じられている。
【００１０】
[0022]  さらに、このようなキー機能は、例示的なストロークまたは短ストロークジェスチャにより実装されていてもよい。一例としては、２０１２年１２月１２日に出願され、米国特許出願公開第２０１４／００７８０６３号として公開された「Ｇｅｓｔｕｒｅ−Ｉｎｉｔｉａｔｅｄ  Ｋｅｙｂｏａｒｄ  Ｆｕｎｃｔｉｏｎｓ」という名称の本願の所有者が所有する米国特許出願第１３／７１２，１１１号（代理人整理番号第３３７２２９．０２号）において、このようなキー機能を提供するいくつかの技術が論じられている。
【００１１】
[0023]  本明細書に記載の例示的な技術によれば、キーボードは、ラジアルストローク、ラジアルエントリモードジェスチャ、またはラジアルメニュージェスチャ等の直線状の短ストロークジェスチャとシェイプライティングとを組み合わせ可能である。本明細書に記載の例示的な技術によれば、キーボード上の任意の場所において、許可されたエントリモードのいずれも使用可能であり、また、ユーザからの入力を受け付けるように構成されたキーボード上の任意の位置において、モード間の曖昧性除去をシームレスにオンザフライで実現可能である。
【００１２】
[0024]  この背景において、「ジェスチャ」は、キーボード機器のタッチセンサ式表面に接する、またはそこからの指または他のキーボードエントリ物体（または、これらの任意の組み合わせもしくは副組み合わせ）の任意のタッチ、スライド、ホールド、またはリリースを表す可能性がある。さらに、「ジェスチャ」は、（たとえば、物理キーボードであれソフトキーボードであれ、キーボード上の中空あるいは仮想キーボードに対する）タッチを伴わないキーボード上で生じる指、手、または他のキーボードエントリ物体（または、これらの任意の組み合わせもしくは副組み合わせ）の任意の移動を表す可能性がある。さらに、「ジェスチャ」は、ディスプレイ上で始まり、入力物体の移動によってディスプレイ上を上昇する指、手、または他のキーボードエントリ物体の任意の移動を表す可能性がある（たとえば、デプスセンサ式ディスプレイによって、ラジアルメニュージェスチャは、ディスプレイ上で始まって、指によるジェスチャの実行により、ディスプレイ上を上昇可能であるため、指がディスプレイと接触し続ける同じ方向のジェスチャと識別可能である）。
【００１３】
[0025]  この背景での使用として、キーボード上の「シェイプライティング」は、キーボード上のストロークによって、指を持ち上げずにワードをスペリングすることを含む可能性がある。たとえば、シェイプライティングは、ストロークの形状およびストロークの屈曲点に基づいて、ジェスチャに近接するさまざまなキーを決定することにより（たとえば、「近接性」という所定の閾値に基づいて、屈曲点に十分近いキーを決定することにより、この「十分に近い」キーが入力としてエントリを意図されたものと判定することにより）解釈されるようになっていてもよい。たとえば、このようなジェスチャは、シェイプライティングにおいて、ワード全体のエントリに用いられるようになっていてもよい。たとえば、言語モデルの使用により、ストローク経路が対象ワードに対して一致するようになっていてもよい。
【００１４】
[0026]  たとえば、シェイプジェスチャは、使用頻度の高いワード（たとえば、「the」、「of」、または特定のユーザが高い頻度で使用する他のワード）に用いられるようになっていてもよく、ユーザがシェイプジェスチャを学習した場合には、テキストエントリにおいてより高い速度および効率性を提供できて都合が良い。たとえば、シェイプジェスチャは、低頻度のワード（すなわち、辞書中の任意のワード）にも同様に用いられるようになっていてもよい。たとえば、ユーザは、シェイプライティング技術を経験すると、発生頻度の低いワードのシェイプライティングをますます行う傾向を示し得る。
【００１５】
[0027]  この背景での使用として、「ラジアルストローク」または「ラジアルエントリ」ジェスチャは一般的に、最初のタッチに続く特定方向（たとえば、機器がその通常の使用位置に保持されている場合の上方、下方、左方、右方等）の移動により実行される相当短い直線状（すなわち、実質的に屈曲点がない実質的な直線状またはジェスチャに非直線状の角度が含まれる実質的な直線状）のストロークまたはジェスチャを表す可能性がある。
【００１６】
[0028]  また、この背景での使用として、「ラジアルストローク」または「ラジアルエントリ」ジェスチャは、より長いストロークを表す可能性がある。たとえば、このような長いストロークは、ラジアルメニューで用いられるようになっていてもよい（たとえば、反復バックスペースジェスチャとして解釈される長くて直線状の縦ストローク）。
【００１７】
[0029]  また、この背景での使用として、「ラジアルストローク」または「ラジアルエントリ」ジェスチャは、１つの屈曲点を伴う（たとえば、階層的な（ネストされた）ラジアルメニューを可能とする）ストロークを表す可能性がある。
【００１８】
[0030]  この背景での使用として、「意図（intent）」は、キーボードエントリにおけるユーザの意図を表す可能性がある。たとえば、ユーザは、キーボード上で「ｗ」キーから「ｅ」キーまで連続したジェスチャを使う場合、ワード「ｗｅ」のエントリを意図している可能性がある。この背景での使用として、「意図曖昧性除去（intention disambiguation）」は、キーボード上のエントリおよびキーボードエントリ入力を与えるエンティティ（たとえば、ユーザ）による意図としての入力の潜在的な意図的表現の曖昧性除去を表す可能性がある。
【００１９】
[0031]  本明細書に記載の例示的な技術によれば、キーボードは、例示的なキー（たとえば、ストロークショートカットと冗長であるため、ストロークショートカットに対応するキーボードから省略されている可能性があるキー）の単純なストロークショートカットおよび／または上述の機能、ならびに他のジェスチャを統合することを含むと同時に、「シェイプライティング」技術に対応していてもよい。たとえば、この統合により、例示的なストロークジェスチャの単純な性能優位性を完全なシェイプライティングスキルのより長期取得と組み合わせる混成手法が可能となり、（性能の天井が高くなる一方）ユーザの練習および学習に対するより大規模な投資によって、十分な利益を享受し得る。
【００２０】
[0032]  図１Ａは、Ｓｐａｃｅ、Ｂａｃｋｓｐａｃｅ、Ｓｈｉｆｔ、およびＥｎｔｅｒキーが省略された例示的なタッププラスジェスチャＱＷＥＲＴＹグラフィカルまたはプリントキーボード１００Ａを示している。たとえば、実際の完全な省略／除去の代替として、サイズの大幅な縮小および／または単一のキーへの統合すなわち実質的な省略を行った１つまたは複数のキーを有する。同様に、これは、タブまたはオプション上のように利用可能な（すべてのキーを備える）標準キーボードおよびユーザの選好により省略されたキーの一部または全部が別のタブまたはオプションであるキーボードを表していてもよい。この背景において、「削除（remove）」およびその変形である「省略（omit）」、「削除（removal）」、または「削除（removing）」等は、実際の省略（または、実質的な省略）を表す。
【００２１】
[0033]  図示のように、省略によって、数字／特殊文字が置き換えられていてもよく、たとえば、標準ＱＷＥＲＴＹキーボードの最上行（1から9および0といった数字のほか、それぞれのシフト文字）は、冗長キーの省略により解放された空間に設けられる。たとえば、「７」キー１０２は、それぞれ左上方、上方、および右上方のラジアルストロークによって利用可能なラジアルエントリ選択肢「＼」、「＆」、および「／」を有するものとして示している。たとえば、「７」キー１０２をタップすると、ユーザが「７」のエントリを意図しているものと推論される。ただし、「７」キー１０２をタッチした後、上方および左移動方向（ユーザ視点から上方かつ左方）の短ストローク（実質的に直線状の相当短いジェスチャ）があれば、ラジアルエントリジェスチャ（すなわち、ラジアルエントリストローク）として、ユーザが「＼」のエントリを意図しているものと推論される可能性がある。たとえば、キーごとのこれら付加的な文字は、対応するジェスチャを自然に直感で理解できる（たとえば、「＼」入力がユーザ視点から上方かつ左方のジェスチャを伴い、「/」入力がユーザ視点から上方かつ右方のジェスチャを伴う）ように、キー上に位置付けられていてもよい。また、「９」キーおよび「０」キーはそれぞれ、（「9」キー上の）開くストロークが（「0」キー上の）反対のタイプの閉じるストロークまたはジェスチャと直感的につながって、ラジアルエントリ入力が直感的に容易となるように、中括弧、括弧、および角括弧を含む。
【００２２】
[0034]  図１Ａに示すように、例示的なキーボード１００Ａにおいては、１つではなくて最大３つの補助文字（記号およびコマンド等を含む）がキーボードの基本キーに追加されることにより、ラジアルメニュージェスチャまたはストロークとして、キーごとの文字が最大４つとなっていてもよい。このため、たとえば、左上方、上方、および右上方という３つの上方ストロークの使用により、３つの補助文字の選択が識別されるようになっていてもよい。上方の文字（たとえば、アスタリスク「*」）は、通常、標準ＱＷＥＲＴＹキーボード上の関連する第１の文字（たとえば、文字の場合の小文字）と結合された文字であってもよく、他の２つのストローク選択文字の間に位置決めされて表示される。したがって、上方ストロークの一般的な方向は、選択した文字の位置に対応する（「8」キー１０６の場合は、左上方ストロークで左側のストロークシフト文字であるプラス「+」を選択し、右上方ストロークで右側のストロークシフト文字であるマイナス「-」を選択する）。他の実施態様においては、キー当たりのジェスチャ数が多く（または、少なく）なること（これにより、キー当たりの文字数および/またはコマンド数が多く（少なく）なる）および／またはキーボード上の任意の場所で開始可能なジェスチャ数が多くなることも考えられる。このため、第２のキーボードに切り替えてこれら別の入力を可能にすることが実質的に抑えられる（または、除去される）。
【００２３】
[0035]  たとえば、キーごとの付加的な文字は、視覚的に灰色として（または、他の視覚的支援により、付加的な文字を視覚的に目立たなくして）、タイプするユーザがより容易に可読性を認識できるようにしてもよい。たとえば、視認可能なキーボードでは、黒色（または、類似の暗さ）の背景色に、白色（または、類似の明るさ）の文字がキーに記されていてもよい。これにより、付加的な文字が「基本」キーの文字よりも目立たなく表示キーボード上に現れるようにして、ユーザの視覚的「分離」に役立つようにしてもよい。
【００２４】
[0036]  たとえば、追加キー（図示）の補助および第１の記号を採用すると、文字が第２のキーボードから第１のキーボードに移動する。たとえば、通常のＱＷＥＲＴＹキーボード上に現れる他の文字についても、右上部および右下部に現れるようになっていてもよい。Ｓｐａｃｅ、Ｅｎｔｅｒ、Ｓｈｉｆｔ、およびＢａｃｋｓｐａｃｅキーを省略することによって、このキーボードは、たとえば文字数がはるかに少ない他のキーボードのように、同じタッチセンサ式表面積かつ同じキーサイズ（または、キーごとに異なるサイズ）で、はるかに多くの文字を提供可能である。このメカニズムが提供するこれら共通文字への即時アクセスによって、テキストエントリ速度が大幅に向上するとともに、複雑性が抑えられる。
【００２５】
[0037]  図１Ａに示すように、キーボード１００Ａ上でのユーザ入力のエントリに際しては、選択肢提案リスト１０４の表示エリアの提供によって、状況に応じた選択肢（たとえば、ワードの選択肢、ジェスチャの選択肢等）の表示が行われるようになっていてもよい。たとえば、提案は、ユーザが入力をエントリする際に提供されるようになっていてもよい。たとえば、ユーザは、リストから選択肢を選択するようにしてもよく、これはさらに、選択可能な「取り消し」オプションを含んでいてもよい。たとえば、エディタにエントリされた受け付けワードは、選択肢提案リスト１０４において（たとえば、緑色に）色付けされて表示されることにより、他の選択肢提案から視覚的に識別されるようになっていてもよい。図示してはいないが、選択肢提案リスト１０４は、キーボード１００Ａの追加または代替として、別個のディスプレイに表示されるようになっていてもよい。たとえば、選択肢提案リスト１０４は、表示（たとえば、エントリ）テキストに近接して位置決めされた別個のウィンドウに表示されるようになっていてもよい。
【００２６】
[0038]  図１Ｂは、Ｓｐａｃｅ１１０、Ｂａｃｋｓｐａｃｅ１１２、Ｓｈｉｆｔ１１４、およびＥｎｔｅｒ１１６入力のキーを具備した例示的なＱＷＥＲＴＹグラフィカルまたはプリントキーボード１００Ｂを示している。たとえば、数字キーは通常、一般的な従来のキーボード上に設けられていてもよいが、キーボードの別の層に設けられ、キーボード層の切り替えによる数字キーへのアクセスを伴っていてもよい。
【００２７】
[0039]  図２は、例示的なタッププラスジェスチャグラフィカルまたはプリントキーボード１００上の例示的なジェスチャを示しており、ユーザの短いジェスチャのいくつかの例を矢印が表している。コンピュータ機器の当業者には当然のことながら、より複雑なジェスチャが検出・使用されるようになっていてもよいが、説明の簡素化のため、単純なストロークの形態のジェスチャを示している。たとえば、短ストロークであれば、ユーザは、一度学習したことを直感的かつ容易に思い出せる。いくつかの実施態様においては、ストロークまたはジェスチャの長さを考慮するようにしてもよい。たとえば、非常に短いストロークは、タップとして処理されるようになっていてもよい。別の例としては、このような推論にタップの力プロファイルが用いられるようになっていてもよい。たとえば、鋭い力開始プロファイルでのタッチは、タップを意図するものとして推論されるようになっていてもよく、より柔らかい開始プロファイルは、（たとえば、１ｋＨｚ前後の高いサンプリングレートを用いて、この圧力開始曲線を確実に検知することにより）意図的なスワイプ動作を示すものとして推論されるようになっていてもよい。
【００２８】
[0040]  たとえば、左方への直線状の短ストローク２０２は、Ｂａｃｋｓｐａｃｅとして処理されるようになっていてもよく、左方への直線状の長ストロークは、Ｄｅｌｅｔｅ  Ｐｒｅｖｉｏｕｓ  Ｗｏｒｄ（前のワードを削除）またはＳｅｌｅｃｔ  Ｐｒｅｖｉｏｕｓ  Ｗｏｒｄ（前のワードを選択）コマンドとして処理されるようになっていてもよい。たとえば、右方への直線状の短ストローク２０４は、Ｓｐａｃｅとして処理されるようになっていてもよい。また、いくつかの実施態様においては、ストロークまたはジェスチャの速度、加速度、および／または動的性質を考慮するようにしてもよい。
【００２９】
[0041]  図２においては、タップ（たとえば、接触および離昇）された任意のキーが他のタッチキーボード上のキーと同様に振る舞うようになっていてもよい。このため、タップによって、タップされたキーの文字または機能（表示キー上に表された記号による指定）が推論されるようになっていてもよい。これにより、例示的なキーボード１００において、「ａ」キーがタップされた場合は、小文字の「ａ」がユーザの意図するキーボード入力として推論される。
【００３０】
[0042]  本明細書に記載のいくつかの例示的な技術によれば、ジェスチャの使用により、動作を開始するようにしてもよく、たとえば、開始後のホールド動作によって、制御状態に入る。たとえば、左方ストローク２０２の離昇の場合は、Ｂａｃｋｓｐａｃｅと認識されるようになっていてもよく、同じストロークで、離昇の代わりにストローク終端点をホールドする場合は、オートリピートＢａｃｋｓｐａｃｅが開始するようになっていてもよい。たとえば、この点から左方への移動を使用し、オートリピートを高速化することができる。たとえば、右方への移動を使用し、オートリピートを低速にし、潜在的にオートリピートを無効にし、削除された文字を元に戻すことができる。たとえば、オートリピートＢａｃｋｓｐａｃｅは、特定のキーのみに限られることで（たとえば、ワードが通常、本文に数字を含まないことから、数字キーのみに限られることで）、他のシェイプライティングジェスチャとの実質的な曖昧性を回避するようにしてもよい。たとえば、多くのユーザは、Ｂａｃｋｓｐａｃｅ機能を使用する頻度が高いため、このような制限は、曖昧性除去において大いに役立つ可能性がある。
【００３１】
[0043]  本明細書に記載の例示的な技術によれば、ユーザがキーボード上のほぼ任意の場所をタッチして右方へのストロークを実行した場合は、ジェスチャ２０４に示すように、Ｓｐａｃｅ文字が推論されるようになっていてもよい。本明細書に記載の例示的な技術によれば、左方ストロークがＢａｃｋｓｐａｃｅを表していてもよい。したがって、たとえば、ユーザは、キーボード上の（ほぼ）任意の場所をタッチして左方へのストロークを実行した場合、Ｂａｃｋｓｐａｃｅを示している可能性があり、１つまたは複数の前のエントリ文字が削除されるようになっていてもよい。これをジェスチャ２０２に示している。たとえば、これらのジェスチャに対して、特定のキーが応答しないようになっていてもよい（たとえば、Ctrlキー等の画面縁部のキーは、それ自体のカスタムメニューを有していてもよい）。たとえば、これらのジェスチャは、通常のワードのタイプ時にユーザが自然にタッチする実質的に任意の場所で用いられるようになっていてもよいが、特定のゾーン（たとえば、縁部近傍または特定の制御物体上）は、他の目的のために確保されていてもよい。
【００３２】
[0044]  本明細書に記載の例示的な技術によれば、図３に示すように、左下方ストローク３０２によってＥｎｔｅｒ（または、Return）エントリが与えられるようになっていてもよい。このため、ユーザがキーボード上の任意の場所をタッチして左下方へのストロークを実行した場合は、「Ｅｎｔｅｒ」キーが推論されるようになっていてもよい。たとえば、所定の閾値角度によって、ユーザの意図を識別するようにしてもよく、たとえば、左方かつわずかに下方のストロークがＢａｃｋｓｐａｃｅまたはＥｎｔｅｒストロークのいずれにより近いかを識別するようにしてもよい。一実施態様においては、ジェスチャの一部または全部に関して、ジェスチャがキーボードの内側で開始されている限り、ユーザが表示キーボードの外側を解放可能である。図３に示すように、右上方ストローク３０４は、Ｅｓｃａｐｅエントリを与えるようにしてもよい。このため、ユーザがキーボード上の任意の場所をタッチして右上方へのストロークを実行した場合は、「Ｅｓｃａｐｅ」キーが推論されるようになっていてもよい。
【００３３】
[0045]  コンピュータ機器の当業者であれば、大きな対象であるキーボード上の任意の場所でＳｐａｃｅ、Ｂａｃｋｓｐａｃｅ、およびＥｎｔｅｒストロークが開始可能であり、それぞれの方向が容易に指定可能であるとともに強力なニーモニック値を有することから、これらは、閉ループの入念なキー押しではなく、開ループの弾道型動作（たとえば、弾道型ジェスチャは、微細な運動制御を要しない）を用いて指定されてもよいことが了解されるであろう。その結果、テキストエントリ速度を大幅に向上させる学習の容易な方法が提供可能であって都合が良い。
【００３４】
[0046]  図４において、直線状の上方ストロークジェスチャ４０２は、上方ストロークジェスチャが処理されて文字のシフト変換となる様子を示す。これにより、ユーザは、タップの代わりに上方ストロークを実行した場合、その文字のシフト変換が得られる。図４の例において、「ｐ」キーに接触した後、ジェスチャ４０２で示すように（指またはスタイラスをすぐに持ち上げる代わりに）上方ストローク４０２を行った場合は、（選択肢リストエリア１０２に示すように）大文字の「Ｐ」が得られる。たとえば、ジェスチャがキーのエリアの内側で開始されている限り、シフト動作の指は、キーの外側で解放されるようになっていてもよい（たとえば、指は、キーのエリア上で解放されてもよい）。図４は、選択肢リストエリア１０２の大文字「Ｐ」を示しているが、エントリ（たとえば、大文字）が選択肢リストエリア１０２に現れないようにすることも可能である。
【００３５】
[0047]  別の例としては、キーボード上の所定の開始エリアからの全体的な上方ジェスチャの使用により、（対象ジェスチャによって、特定文字のシフト文字を生成するのではなく）キーボード全体のシフト状態を確保するようにしてもよい。たとえば、これは、（他の機能を不用意に呼び出す可能性がある）最下行のキーからのジェスチャをユーザが要する場合、縁部でのジェスチャ検出に役立つ可能性がある。別の例として、１つではなく２つの指での（キーボード上の任意の場所を起点とする）上方ジェスチャは、ＳｈｉｆｔではなくＣａｐｓ  Ｌｏｃｋとして推論されるようになっていてもよい。さらに、２つの指を用いた下方ジェスチャは、初期状態を復元するものであってもよい。別の例として、２本指のジェスチャの代わりに、別の指をキーボードに接触させた状態の１本指ジェスチャは、類似の１本指ジェスチャと異なる意味を有するものと解釈されるようになっていてもよい。
【００３６】
[0048]  別の例としては、ラジアルメニューおよび／またはラジアルストロークにより、キーボード１００上のさまざまなキーに関して、より多くの選択肢が提供されるようになっていてもよい。たとえば、ユーザは、「Ｅ」キーをタップしてホールドするとともに、短い方向性ストロークまたはジェスチャにより利用可能な複数の文字を選択可能であってもよい。たとえば、図５Ａおよび図５Ｂに示すように、ラジアルメニュー５０２および／または５０４によって、「Ｅ」キーの短い方向性ストロークによるオプションを与えるようにしてもよい。たとえば、ラジアルメニュー５０２または５０４は、タッチ入力（または、ペン入力もしくは他の入力物体による入力）およびジェスチャそれぞれに対応するキーボード機能により認識できるさまざまなジェスチャのメニューを提供するようにしてもよい。これにより、ユーザは、入力に利用可能なキーボード機能を認識可能であり、ジェスチャによって、ユーザの潜在的な混乱を抑えつつ、さまざまな用途および／またはさまざまなキーでの実行において、異なるキーボード機能に対応可能である。図５Ａおよび図５Ｂに示すように、ラジアルメニュー５０２または５０４により、たとえば特定のキーに基づいて、メニューをユーザに提示可能であるが、ラジアルメニュー５０２または５０４は、入力の位置とは無関係に提示されるようになっていてもよい。たとえば、ラジアルメニュー５０２または５０４は、キーボードとの重畳表示、異なる表示機器への表示、および／またはキーボードを外した同じディスプレイへの表示等が可能である。たとえば、ラジアルメニュー５０２または５０４は、キーボード上の関連するキーに近接して（たとえば、キーを囲んで）表示されるようになっていてもよい。たとえば、ラジアルメニューは、ユーザにより理解され、必要に応じて、キーボード入力中は表示されないようになっていてもよい。
【００３７】
[0049]  ラジアルメニューの使用に際しては、視覚的支援を示す前のタイミングを含むようにキーボードエンジンが構成されていてもよい。たとえば、キーボードエンジンは、所定の閾値時間が経過するまで、ラジアルメニューの表示を開始しないようにしてもよい。
【００３８】
[0050]  また、キーボードエンジンは、（ユーザが依然として異なる動作を選択している可能性があるため）例示的なコマンドの結果の実行前にユーザが「解放」するまで待つように構成されていてもよい。たとえば、ユーザは、文字「ｅ」にタッチして上方へのストロークを行っているものの、これを解放しておらず、異なるものの選択を決定している場合、自身の軌跡を修正して、解放（および、実行）前に別の方向に向かって移動可能である。
【００３９】
[0051]  本明細書に記載の例示的な技術によれば、ストロークショートカットおよびシェイプライティングと一体的または独立的に、ワード予測が例示的なキーボードエンジンに組み込まれていてもよい。たとえば、潜在的に曖昧なシェイプライティングジェスチャの場合は、ストロークショートカットジェスチャが予測の選択肢として提供されていてもよい。たとえば、図６Ａおよび図６Ｂに示すように、右方への水平なストローク６０２としてワード「ｔｏ」がエントリされるようになっていてもよいが、ユーザが描くジェスチャの長さによっては、Ｓｐａｃｅの例示的なストロークショートカットと潜在的に混乱しやすい。たとえば、ワード予測エンジンが辞書を用いることにより、対象ワードの最も高い確率に従って、１つまたは複数のワード予測を決定するようにしてもよい。たとえば、ワード予測エンジンは、ｎグラム言語モデルを用いて、シェイプライティングジェスチャの解釈を補助するようにしてもよい。予測修正スペリングとして別個に、または、最高確率のワード予測と組み合わせて、別のスペリング修正が用いられるようになっていてもよい。さらに、ワード予測は、ユーザごとの個別化により、過去の使用および／または選択ワードのユーザプロファイル履歴を用いて、特定の履歴の最高確率ワード予測結果を予測するようにしてもよい。たとえば、辞書の使用により、入力シェイプライティングの意味を解釈するようにしてもよい。これにより、キーボードエンジンが使用する辞書にないワードのエントリのバックアップとして、離散テキストエントリが用いられるようになっていてもよい。
【００４０】
[0052]  この例においては、シェイプライティング認識装置が「ｔｏ」を対象ワードと推理するようにしてもよいが、選択肢提案リスト１０４における予測選択肢として曖昧性除去エンジンが（その他任意のワード予測選択肢と併せて）「（Space）」を提示することにより、ユーザが容易かつ都合良く、ジェスチャを所望の予測と主張して、ジェスチャの曖昧性を除去できるようにしてもよい。たとえば、ユーザは、リスト１０４から「ｔｏ」オプションを選択するようにしてもよい。図６Ｂに示すように、ジェスチャ６０２の経路およびタイミングを一時的に示す「彗星痕」を痕跡矢印６０４が示すようにしてもよい。たとえば、このような「彗星痕」は、キーボードエンジンにより入力として受け付けられるキーボード１００上のジェスチャの経路をユーザが視覚化するのに役立つ。
【００４１】
[0053]  別の例として、ＱＷＥＲＴＹキーボード上でユーザが「ｗ」キーから「ｅ」キーまでストロークを行った場合、このストロークは、「Ｓｐａｃｅ」キーのストロークショートカットジェスチャまたはワード「ｗｅ」のシェイプライティングストロークとして曖昧に解釈される可能性がある。本明細書に記載の例示的な技術によれば、ユーザが曖昧性を解決できるように、「ｗｅ」および「（Space）」の両者を含む予測選択肢を曖昧性除去エンジンが提供するようにしてもよい。
【００４２】
[0054]  本明細書に記載の例示的な技術によれば、選択肢提案リスト１０４は、ジェスチャの曖昧性を解決するのに役立つ可能性がある。たとえば、通常のワード代替リストは、代替ワードを提供可能であるが、本明細書に記載の例示的な技術は、ジェスチャを選択肢として明確に提供し得る。
【００４３】
[0055]  図７Ａ〜図７Ｃに示すように、シェイプライティングは、例示的なキーボード１００との併用により、ワード全体を１回のジェスチャでエントリするようにしてもよい。図７Ａの例に示すように、ユーザは、「ｒ」キーにタッチし、「ｅ」キーに向かって水平に左方ストロークすることでジェスチャ７０２を開始するようにしてもよい。この点でタッチが終了した場合は、（たとえば、上述の左方への直線状の短ストローク２０２で示したように）左方への水平な短いジェスチャまたはストロークがユーザの「Ｂａｃｋｓｐａｃｅ」エントリの意図として（曖昧に）解釈される可能性があることから、選択肢提案リスト１０４がこの点で「ｒｅ」および「（Backspace）」を表示することも可能である。図７Ｂに示すように、ジェスチャ７０２は、移動し続け、「ｅ」キーに達したら左下方に曲がり、「ｗ」キーのジェスチャ屈曲点を介して、「ａ」キーに向かう。この点でタッチが終了した場合は、（たとえば、上述の左下方ストローク３０２のように）短く、左下方への斜め方向の角度付きジェスチャまたはストロークがユーザの「Ｅｎｔｅｒ」エントリの意図として（曖昧に）解釈される可能性があることから、選択肢提案リスト１０４がこの点で「ｒｅａ」および「（Enter）」を表示することも考えられる。また、この点でタッチが終了した場合、選択肢提案リスト１０４は、現行のジェスチャに関して、（前の推論から）「ｒｅｗ」、「ｒａ」、「ｒｅ」、および「（Backspace）」等の他の潜在的な選択肢を表示する可能性もある。たとえば、この点でタッチが終了した場合は、ジェスチャがこの時点で異なる方向に曲がっていることから、「Ｂａｃｋｓｐａｃｅ」が意図されたわけではないと曖昧性除去エンジンが推論することも可能である。
【００４４】
[0056]  図７Ｃに示すように、ジェスチャ７０２は、移動し続け、「ａ」キーに達したら水平方向右方に曲がり、「ａ」キーのジェスチャ屈曲点を介して、「ｄ」キーに向かう。図７Ｃに示すように、（たとえば、上述の右方への直線状の短ストローク２０４で示したように）右方への水平な短い角度付きジェスチャまたはストロークがユーザの「Ｓｐａｃｅ」エントリの意図として（曖昧に）解釈される可能性があることから、選択肢提案リスト１０４は、この点で「ｒｅａｄ」および「（Space）」を表示するようにしてもよい。また、図示のように、選択肢提案リスト１０４は、現行のジェスチャに関して、「ｒａｄ」、「ｒｅａｄｉｎｇ」、「ｒｅａｄｅｒ」、「ｒｅａｄｙ」、および「ｒａｓ」等の他の潜在的な選択肢を表示するようにしてもよい。たとえば、ここでは、ジェスチャがこの時点で異なる方向に曲がっていることから、「Ｅｎｔｅｒ」が意図されたわけではないと曖昧性除去エンジンが推論するようにしてもよい。
【００４５】
[0057]  たとえば、曖昧性除去エンジンは、シェイプライティングと関連付けられた辞書中の辞書検索を介して、ユーザの意図を推論するようにしてもよい。たとえば、このような辞書を用いることにより、文字「ｒ」、「ｅ」、「ａ」、「ｄ」の順にキーを一時的に横切るシェイプライティングジェスチャの可能性の高い対象ワードとして、「ｒｅａｄ」、「ｒａｄ」、「ｒｅａｄｉｎｇ」、「ｒｅａｄｅｒ」、および「ｒｅａｄｙ」等のオプションをワード予測エンジンが提供するようにしてもよい。
【００４６】
[0058]  たとえば、キーボードのユーザに対するフィードバックとして、入力されたストロークのさまざまな態様を示し得る視覚的指標が提供されるようになっていてもよい。たとえば、ストロークの実行中の「彗星痕」の表示（たとえば、キーボード上の重畳表示）によって、実行時のキーボード上のストロークの開始点および一時的経路を視覚的かつグラフィカルに示すようにしてもよい。たとえば、このようなフィードバックは、ストロークの実行後も表示を継続することにより、別の入力を与える機会（たとえば、表示選択肢の選択、１つもしくは複数の現行表示選択肢の破棄、またはジェスチャ/ストローク入力の「取り消し」）をユーザに提供するようにしてもよい。たとえば、彗星痕は、ストロークの実行中、より新しいキーボード上のタッチ（または、「ヒット」）表示点でより濃く（および、より明るく）見えていてもよく、最近タッチされていなかったキーボード上の表示点（たとえば、完了へと向かうストロークのグラフィカルな一時的履歴を提供）ではより薄く（および、より暗く）見えていてもよい。たとえば、矢印式のストローク痕跡の使用により、（たとえば、実行中のストロークの方向を一時的に示す）ストロークのグラフィカルな一時的履歴を提供するようにしてもよい。たとえば、色も使って、ジェスチャが明確に解釈されたことを示すようにしてもよい（たとえば、ジェスチャが完了したら、彗星痕が緑色に変わることで「了解」を示し、赤色で「了解していないこと」を示す）。このように、ユーザには、例示的な曖昧性除去技術の一部として、ストローク／ジェスチャエントリにおける意図を確認するためのグラフィカル出力が与えられるようになっていてもよい。
【００４７】
[0059]  また、図面には明示していないが、色および陰影の使用により（たとえば、シフト文字を中灰色、数字自体をほぼ純白にする）、キーボード入力の現行状態を視覚的に容易に理解できるようにしてもよい。また、他の視覚的指標も同様に使用可能であり、たとえば、キーボードがシェイプライティングモードである場合は、キーがつながったものとして表示されるようになっていてもよい。コンピュータ機器の当業者であれば、任意の種類のグラフィカル技術の使用によって、キーボード入力の現行状態を視覚的に容易に理解できるようにしてもよいことが了解されるであろう。たとえば、ユーザがモードを感じられるように触覚を使用することおよび／またはユーザの指を案内するために触覚を使用することが可能である（たとえば、ラジアルメニューエントリとは対照的に、シェイプライティングエントリにおいて、指または入力物体がキーの境界と交差している場合に触感および/または別の触覚フィードバックを使用可能である）。さらには、触覚と併せて音声指示が用いられるようになっていてもよいし、触覚を用いずに音声指示が用いられるようになっていてもよい。
【００４８】
[0060]  本明細書に記載の例示的な技術によれば、上述のワード（または、他の記号）予測は、予測結果としてラジアルエントリストロークおよび／またはストロークショートカットを明示できる潜在的なシェイプライティング候補および短ストローク（または、ラジアルエントリ）選択肢の両者を含み得る予測選択肢のリストを提供するようにしてもよい。たとえば、このリストには、短ストローク（または、ラジアルエントリ）選択肢（たとえば、選択肢として挙げられたテキスト「（Space）」）を表す明示的なテキスト名および／またはグラフィカルオブジェクトを含んでいてもよい。たとえば、このような選択肢のリストは、予測選択肢のリストからの選択の形態の曖昧性除去入力を提供する機会をユーザに与えるようにしてもよい。本明細書に記載の例示的な技術によれば、予測結果は、ジェスチャがエントリされている場合に、キーボード上（キーボードの最上部）に表示されるようになっていてもよいし、キーボードに関連して表示されるようになっていてもよい。本明細書に記載の例示的な技術によれば、予測結果は、選択可能な「取り消し」選択と併せて（たとえば、グラフィカルで選択可能な「取り消し」記号および/または選択可能なテキストオプションとして）、キーボード上に表示されるようになっていてもよい。
【００４９】
[0061]  本明細書に記載の例示的な技術によれば、ユーザは、ラジアルエントリストロークを介して、選択肢の選択を選択肢提案リスト１０４に示すようにしてもよい。たとえば、ユーザは、（キー上またはキー外で）真っ直ぐな下方ストロークを与えることにより、キーボードの最上部でワード／ジェスチャ予測結果（存在する場合）を選択するようにしてもよい。これは、予測結果が存在しない場合、非操作として推論されるようになっていてもよい。たとえば、真っ直ぐな下方ストロークによって、リスト中の初期（第１）の選択肢を選択する。たとえば、右方に４５°屈曲した真っ直ぐな下方ストロークは、第２の選択肢の選択として推論されるようになっていてもよい。たとえば、右方に９０°屈曲した真っ直ぐな下方ストロークは、第３の選択肢の選択として推論されるようになっていてもよい。あるいは、ユーザは、表示されている選択肢提案上でのタップにより、これを選択するようにしてもよい。
【００５０】
[0062]  本明細書に記載の例示的な技術によれば、シェイプライティングによる予測選択の別の例示的な実施態様には、利用可能となってユーザが指または他の入力物体の速度を落とした場合（たとえば、ジェスチャの完了の可能性が最も高いことを意味する）にすぐ、ラジアルメニューを表示することを含む。たとえば、指の速度が低下した場合に、ラジアルメニューが指の位置に直接現れるようになっていてもよい。たとえば、（ワード全体の動作が実際には完了していないために）ここでユーザが再び加速した場合には、ラジアルメニュー中の中間提案がフェードアウトして、ユーザには、指が再び減速した場合の提案を含む別のラジアルメニューの表示が与えられるようになっていてもよい。たとえば、下方選択は、初期の予測結果であってもよい。この例示的なシナリオにおいては、下方への短ストロークによって、初期の予測結果を選択するようにしてもよい。
【００５１】
[0063]  本明細書に記載の例示的な技術によれば、一般的にエントリされるストロークショートカットとの潜在的な混乱を考慮して、特定の低頻度ワードがワード辞書から省略または削除されていてもよい。たとえば、ワード「ｉｇｇ」は、英語の辞書に（無視（ignore）または冷遇（snub）の俗語として）現れるが、現在は滅多に使用されないため、例示的な「Ｅｎｔｅｒ」ジェスチャ（たとえば、左下方へのストローク）との考え得る衝突を無視するため、例示的なシェイプライティング辞書から省略されていてもよいが、「ｉ」キーの近傍での開始が指定された場合は、このワードの形状認識を開始可能である。たとえば、ワード辞書は、直線状のラジアルメニューストロークと（低頻度の）シェイプライティングワードとの衝突を生じ得る低頻度用語を除外するようにしてもよい。たとえば、低頻度ワードについても極めて完全な辞書を有することが一般的には望ましいと考えられるが、これらのワードが錯認ストロークジェスチャとなる可能性が実質的に高い（たとえば、９０％前後の確率またはそれ以上）ものと判定された場合は、これらを省略するのがより望ましいことがある。
【００５２】
[0064]  本明細書に記載の例示的な技術によれば、キーボード上においては、タッチおよびペン入力の両方が用いられるようになっていてもよい。たとえば、タッチまたはペン様式の選択を使用し、シェイプライティング機能をストロークジェスチャ機能から分離してもよい。例示的な一技術によれば、ストロークジェスチャがタッチのみによって指定され、シェイプライティングジェスチャがペンのみによって指定されるようになっていてもよい。あるいは、ペンおよびタッチ入力が同等に処理されるようになっていてもよい。さらには、マウス入力の使用により、シェイプライティング入力をストロークジェスチャ入力から識別するようにしてもよい。また、コンピュータ機器の当業者には当然のことながら、（他の入力物体による）他の形態の入力も使用可能である。
【００５３】
[0065]  例示的な一技術によれば、指によるシェイプライティングを明示的に許可するため、タッチ限定モードが呼び出されるようになっていてもよい。
【００５４】
[0066]  図８は、ラジアルジェスチャ機能と関連付けられた例示的なラジアルジェスチャヘルプメニュー８０２を示した図である。たとえば、ユーザは、ラジアルジェスチャメニュー８０２の表示を開始するように指定された制御入力のエントリによって、ラジアルジェスチャメニュー８０２にアクセス可能である。たとえば、ラジアルジェスチャメニュー８０２は、ラジアルジェスチャメニュー８０２と関連付けられた少なくとも所定の時間閾値にわたって「タッチ・ホールド」エントリをユーザが実行した後、キーボード位置（たとえば、キー位置）からの「スライドアップ」メニューとして表示されるようになっていてもよい。図８に示すように、ユーザが「ｅ」キー上でこのような「タッチ・ホールド」エントリを実行した場合は、押下されたキー（たとえば、図８に示すように「ｅ」キー）上のエリアでユーザが視認し得る「スライドアップ」表示メニューとしてラジアルジェスチャメニュー８０２が提供されるようになっていてもよいため、ユーザは、指（または、キーボード入力に用いられる他の物体）によるオプションの妨げなく、ラジアルメニューオプションを視認可能である。さらに、たとえば、ラジアルジェスチャメニュー８０２は、半透明に表示されることにより、その表示下のキーの少なくとも一部を視認可能であってもよい。図８に示すように、ラジアルメニューは、左方ストロークがＢａｃｋｓｐａｃｅを表し、右方ストロークがＳｐａｃｅを表し、上方ストロークが大文字を表し、左下方ストロークがＥｎｔｅｒを表すのに役立つ可能性がある。したがって、たとえば、ユーザは、キーボード上の任意の場所をタッチしてこれらストロークのうちの１つを実行した場合、ラジアルジェスチャヘルプメニュー８０２に示すように、それぞれのキーボード入力を示している可能性がある。
【００５５】
[0067]  図９は、キーボード１００が取り付けられ、選択肢提案リスト１０４からユーザが「ｈｅｌｌｏ」選択肢を選択した後にワード「ｈｅｌｌｏ」をディスプレイ９０２（タッチディスプレイであってもよいし、非タッチディスプレイであってもよい）上に示す例示的な機器９０２を示している。図９に示すように、機器には、入出力構成要素９０４が備えられ、たとえばキーボード１００Ａから入力を取得するとともに、キーボード１００Ａに対して出力を与えるようになっていてもよい。図示してはいないが、選択肢提案リスト１０４は、キーボード１００Ａ上の追加または代替として、ディスプレイ９０２に表示されるようになっていてもよい。
【００５６】
[0068]  本明細書に記載の例示的な技術によれば、さまざまな入力ジェスチャの曖昧性除去の一部として、状態機械が用いられるようになっていてもよい。たとえば、ストロークデータまたはジェスチャデータのエントリを示すキーボード入力データを曖昧性除去エンジンが取得するようにしてもよい。たとえば、所定の閾値の使用により、ストロークデータがラジアルエントリ（たとえば、ストロークショートカット）に対応するかシェイプライティングストロークに対応するかを判定するようにしてもよい。たとえば、入力データ解釈モジュールによって、ストロークの長さのほか、ストロークの開始点および方向を決定するようにしてもよい。たとえば、ユーザが（現時点で）「タップ」モードにある場合は、キーのタッチ後、この最初にタッチしたキーから複数のキーだけ離れた別のキーへと向かう移動の後、エントリモードからシェイプライティングモードへの遷移がシームレスに提供されるようになっていてもよい。
【００５７】
[0069]  たとえば、ストロークの圧力プロファイル、結果的な運動プロファイルに基づいてタッチの種類、位置、および性質を推論するための３軸加速度計およびジャイロスコープ運動センサの痕跡、ならびに／または加速度計、ジャイロスコープ、および磁力計センサの測定値のセンサフュージョンに由来するごく一瞬の３次元（3D）配向等の他の基準も可能である。コンピュータ機器の当業者に当然のことながら、このようなセンサ信号に基づいてタッチ入力を精緻化する多くの方法または動作信号およびタッチ信号の組み合わせによりタッチの種類（たとえば、親指対人差し指入力）を推論してタッチ処理を調整もしくは改善する多くの方法が存在する。たとえば、これらの手段により、たとえば入力の曖昧性を除去する機械学習手法に使用できる付加的な特徴として、入力の種類を決定するようにしてもよい。
【００５８】
[0070]  たとえば、１つもしくは複数の屈曲点ならびに決定された各屈曲点におけるストロークの方向の変化と関連付けられた角度がストロークに含まれるかを入力データ解釈モジュールが判定するようにしてもよい。たとえば、屈曲点を有するストロークは、このストロークがシェイプライティングストロークとして意図されている旨の推定を引き起こすものであってもよい。この背景において、「屈曲点」は、ストロークがそのエントリ中に実質的な方向の変化を含む点を表す可能性がある。たとえば、屈曲点には、上に凹の円弧を下に凹の円弧から分離する曲線上の点を含んでいてもよく、この逆も可能である。ただし、シェイプライティングにおいては、屈曲点を含まず、移動が１方向のみのワードが存在する（たとえば、「we」、「to」、「all」、「rip」）。主としてシェイプライティング検出の入力と考えられるのは、移動経路における一連の画面点である。たとえば、状態機械は、現在（および、過去）のキーボードエントリモードを状態図中の状態として追跡するのに用いられるようになっていてもよい。たとえば、現在の状態が「シェイプライティング」モードを示している場合は、「シェイプライティング」モードにおいて次のキーボード入力が継続する可能性が高いと考えられる。このため、入力モードの履歴の使用により、後続（すなわち、次回）の入力におけるユーザの意図を推論するようにしてもよい。
【００５９】
[0071]  たとえば、モードは、次の入力で変更となってもよいし、キーに対するより大きな圧力の実質的な印加等の明確な入力で変更となってもよく、これは、キーボードエントリモードを変更しようとするユーザの意図としてキーボードエンジンにより解釈されるようになっていてもよい。別の例として、実質的に柔らかいタッチは、シェイプライティングモードの使用を意図しているものと解釈され、実質的に強い圧力のタッチは、シェイプライティングモード以外のジェスチャモードの使用を意図しているものと解釈されるようになっていてもよい。たとえば、（たとえば、感圧式キーボード上での）圧力の決定によって、入力の曖昧性を除去するようにしてもよい。
【００６０】
[0072]  たとえば、所定の閾値長さに対して観測長さを比較することにより、長さが長いほど実行されたストロークがシェイプライティングストロークとして意図されている可能性が高いものと判定されるようになっていてもよい。
【００６１】
[0073]  たとえば、入力データ解釈モジュールは、ストロークの実行の速度および／または加速度（たとえば、エントリの速度および/または加速度）を決定するようにしてもよい。たとえば、所定の閾値速度および／または加速度に対して観測速度および／または加速度を比較することにより、大きな速度および／または加速度で（たとえば、迅速、高速に）実行されたストロークが、ユーザが高頻度に使用するストロークショートカットまたはシェイプライティングジェスチャを示し得るものと判定されるようになっていてもよい。
【００６２】
[0074]  たとえば、キーボード上のタッチに対応する入力をキーボードエンジン入力モジュールが受け付けるようにしてもよい。また、キーボード上の位置、タッチで囲われたキーボード上の表面積等、タッチのさまざまな特性が決定されるようになっていてもよい。たとえば、キーボードエンジンは、最初のタッチをジェスチャの開始入力として解釈するようにしてもよい。たとえば、最初のタッチがジェスチャの最終動作である場合、このタッチは、キーボードの当該位置をユーザが「タップ」しようとする意図として解釈されるようになっていてもよく、入力は、たとえば「タップ」モードにおけるタッチ位置において実質的に位置付けられたキーの対象エントリとして解釈されるようになっていてもよい。
【００６３】
[0075]  たとえば、「タップ」もしくは「タイプ」モード、「シェイプライティング」モード、ならびに／または「ラジアルエントリ」入力エントリ等の状態を意図曖昧性除去エンジンが（たとえば、ユーザがキーボード入力をエントリする場合のキーボードエントリモードに対応する状態を追跡する状態機械と協働して）追跡するようにしてもよい。たとえば、現行のエントリ前の最終状態が「タップ」モードまたは「タイプ」モードであった場合、一時的な方向性ジェスチャが受け付けられなければ、次のキーボード入力も「タップ」モードまたは「タイプ」モードにあることが意図される可能性が高く、上記時点では、モードが異なる入力モード（たとえば、「シェイプライティング」モード）に変化する場合があり、これは、異なる状態（たとえば、「シェイプライティング」状態）への移動を決定する状態機械への入力と考え得る。たとえば、最終（現在）の状態が「シェイプライティング」モードの状態であった場合は、次のキーボード入力も「シェイプライティング」モードにあることが意図される可能性が高いと考えられる。たとえば、現在の入力モードは、キーボードエントリを続けるキーボードのユーザに（たとえば、キーボードもしくは機器ディスプレイ上のキーボードモード指標またはキーボードの色変更、キーボード上の１つもしくは複数のキーの異なる外見等の視覚的指標として）示されるようになっていてもよい。
【００６４】
[0076]  たとえば、最初のタッチに対して、この最初のタッチ位置と異なるキーボード上の位置へのキーボード上のジェスチャ移動が続く場合、キーボードエンジンは、ジェスチャを入力しようとするユーザの意図としてこのような移動を解釈するようにしてもよい。たとえば、移動が所定の閾値移動長さ（たとえば、２０画素）を超えた場合、キーボードエンジンは、シェイプライティングジェスチャを入力しようとするユーザの意図としてこのような移動を解釈するようにしてもよい。たとえば、所定の閾値移動長さは、キーボードのサイズ、ディスプレイのサイズおよび解像度によって決まる値ならびに／またはディスプレイが垂直、傾斜、または水平等のいずれであるかによって決まる値として決定されるようになっていてもよい。たとえば、キーボードの入力モジュールにより受け付けられた入力データは、移動の進行時に格納されていてもよいため、キーボードエンジンは、入力ジェスチャと関連付けられた一時的な移動に伴う一時的状態として入力を解釈するようにしてもよい。
【００６５】
[0077]  たとえば、キーボードエンジンは、最初の入力である「指の載置」から、「指の移動」という各段階を通って、「指の離昇」という最終入力までの入力ジェスチャ経路を解析するようにしてもよい。キーボードエンジンは、このような経路を用いてジェスチャを解釈するとともに、ユーザの１つまたは複数の潜在的な意図を決定するようにしてもよい。たとえば、キーボードエンジンは、入力の潜在的な曖昧性除去を決定することにより、ユーザの意図が短ストロークまたはラジアル入力の提供であったかシェイプライティング入力の提供であったかを判定するようにしてもよい。
【００６６】
[0078]  たとえば、意図曖昧性除去エンジンは、入力のさまざまな特性を利用して、さまざまなタッチおよび移動を特性化するようにしてもよい。たとえば、特性としては、移動の長さ（たとえば、「ユーザ入力はどれほど移動したか?」、「移動でどれほど多くの画素またはキーを通ったか?」）、移動の経路（たとえば、「ユーザ入力はどんな文字またはキーを通ったか?」、「ユーザ移動は１つまたは複数のどの方向を通ったか?」、「移動はどこを始点としてどこを終点としているか（どの経路をたどったか）?」、「経路の長さはどれほどか?」）、および特定の入力ジェスチャの完了に要した時間（たとえば、より多くの時間を使った場合は、シェイプライティングジェスチャの入力を意図している可能性がある）が挙げられる。さらに、意図曖昧性除去エンジンは、ストロークの動態（たとえば、加速、減速、加速等）を含む特性を利用するようにしてもよい。
【００６７】
[0079]  また、特性としては、ジェスチャ入力時の入力速度の加速度、メニューの確認に費やされたユーザの時間履歴、またはさまざまな種類の入力のエントリと関連付けられたユーザ履歴が挙げられる。たとえば、閾値に対する観測値の比較によって、曖昧性除去に役立つ可能性がある。たとえば、ユーザプロファイルの使用により、さまざまな種類のキーボード入力におけるユーザの過去の意図に関する情報を提供するようにしてもよい。さらに、特定の機能の短ストロークジェスチャが特定のキーに限られる可能性がある（たとえば、オートリピートBackspaceは、数字キーにのみ限られる可能性がある）ことから、特性としては、タッチによりジェスチャ入力を開始させたキーの決定が挙げられる。
【００６８】
[0080]  たとえば、所定の長さ閾値より小さいものとして移動の長さが決定された場合は、短いジェスチャを与えようとするユーザの意図として特定の移動が解釈されるようになっていてもよく、これは、ラジアル入力またはラジアルメニュー入力として解釈されるようになっていてもよい。別の例として、移動は、キーのラジアルエリアにおいて開始となった場合、ラジアルエリアの外側を通り、所定の閾値時間よりも長い時間にわたって継続した後、ユーザがシェイプライティングモードの使用を意図した（ラジアルエントリ入力でもタップモードでもない）ものとの推論がなされるようになっていてもよい。
【００６９】
[0081]  図１０Ａおよび図１０Ｂは、例示的な意図曖昧性除去エンジンが使用可能な例示的な状態機械を示している。図１０Ａに示すように、状態図の使用によって、例示的な状態機械の状態および遷移を示し得る。
【００７０】
[0082]  図１０Ａに示すように、ユーザは、タッチ開始状態１００２においてキーボードへの入力を始めるようにしてもよく、この時点においては、キーの記録（開始キー）１００４でキーが記録されるようになっていてもよい。ユーザは、タッチ移動１００６において指または他の入力物体を移動させてもよいが、この時点においては、得られた位置が（ジェスチャ経路への位置追加１００８で）ジェスチャ経路に追加されるようになっていてもよい、
【００７１】
[0083]  １０１０においては、開始キーが数字キーであるか、および経路が（たとえば、所定の閾値ジェスチャ経路長よりも）「十分に長い」かが判定される。ともに満たされる場合は、１０１２において「反復」キーが発せられる。
【００７２】
[0084]  １０１４においては、経路がキー幅の２倍（2×）よりも長いかが判定される。これが満たされる場合は、１０１６においてシェイプライティングモードが確保される。
【００７３】
[0085]  タッチ移動１００６は、タッチ終了１０１８に達して現行のタッチ動作が終端するまで繰り返される。
【００７４】
[0086]  図１０Ｂ（図１０Ａのタッチ終了１０１８から開始）に示すように、（たとえば、１０１６におけるシェイプライティングモードの確保による）シェイプライティングモード１０２０またはタップモード１０２２で処理が進む。
【００７５】
[0087]  タップモード１０２２において、１０２４では、経路に一致するラジアルジェスチャが存在するかが判定される。存在する場合は、ラジアルジェスチャのキーが１０２６で発せられる。経路に一致するラジアルジェスチャが存在しない場合は、タップされたキーが１０２８で発せられる。この背景において、「発する」は、キーボードエンジンからの情報の出力（たとえば、表示装置への情報の表示、記憶媒体への情報の格納、情報の印刷等）を表す可能性がある。
【００７６】
[0088]  システムがシェイプライティングモード１０２０である場合は、経路が空であるかが１０３０で判定される。１０３０において経路が空である場合は、１０３２にタップモードが確保され、タップされたキーが１０２８で発せられる。
【００７７】
[0089]  １０３０において経路が空でない場合は、一致するワードが存在するかが１０３４で判定される。存在する場合は、一致するワードが１０３６で発せられる。
【００７８】
[0090]  １０３４において一致するワードが存在する場合は、経路が直線状で長過ぎないか（たとえば、所定の閾値未満であるか）が１０３８で判定される。１０３８において「いいえ」の場合は、一致する「ベスト推測」ワードが存在するかが１０４０で判定される。１０４０において、一致する「ベスト推測」ワードが存在する場合は、そのワードが１０４２で提案される。１０４０において、一致する「ベスト推測」ワードが存在しない場合は、１０４４で失敗が推論される。この背景において、「失敗」は、供給された入力からユーザの意図を検出できなかったことを表す。
【００７９】
[0091]  １０３８において、経路が直線状で長過ぎないと判定された場合は、１０４６において、経路に一致するラジアルジェスチャが存在するかが判定される。存在する場合は、ラジアルジェスチャのキーが１０２６で発せられる。１０４６において、経路に一致するラジアルジェスチャが存在しないと判定された場合は、１０４４で失敗が推論される。この背景において、「失敗」は、供給された入力からユーザの意図を検出できなかったことを表す。
【００８０】
[0092]  本明細書に記載の例示的な技術によれば、特定のキー上での「タッチ・ホールド」入力によるラジアルメニューの要求によって、タッチされた「基本」文字と異なるさまざまな文字（または、機能）を取得するためにエントリ可能な方向性短ストロークを示すキー回りのグラフィカル表示を与えるようにしてもよい（たとえば、大文字、異なる言語、句読記号等であって、指定方向の短ストロークにより取得可能である）。本明細書に記載の例示的な技術によれば、ラジアルメニューは、最初は選択キーを囲むものとして表示されるが、その後、キーボード上を（たとえば、所定の時間閾値後に）上方にスライドして、ディスプレイがユーザの指（または、他のキーボードエントリ物体）により妨げられないようにしてもよい。グラフィカル表示がキーを囲んでいようと上方にスライドしていようと、指（または、他の入力物体）が解放されたら直ちに、その先がどうなるかをユーザが理解できるように、現在選択されている方向および文字の指標が表示されるようになっていてもよい。本明細書に記載の例示的な技術によれば、ユーザは、ラジアルメニューを要することなくストロークするラジアルメニュージェスチャをエントリするようにしてもよく、（たとえば、曖昧性除去エンジンによる）曖昧性除去技術の使用によって、ユーザのジェスチャの曖昧性を除去することにより、ラジアルジェスチャエントリとシェイプライティングジェスチャとを識別するようにしてもよい。
【００８１】
[0093]  図１１は、（本明細書において読みやすさを目的とした）キーボード１００への入力をたどる一般化セグメントを表し得るセグメント１１０４、１１０８、および１１１６としてのキーボードエンジン１１０２の単純化した一般化論理の一例を示しており、キーボードエンジンによる使用により、入力を解釈可能である。たとえば、図１１に示すように、「タッチ」という初期入力１１０６は、キーボード１００からの「タッチ」入力の受け付けの結果として決定され、「持ち上げ」移動の入力が続くようになっていてもよい。その後、「持ち上げ」という最終決定１１０７が推論されるようになっていてもよいが、この時点においては、ユーザがキーボード上の特定のキーを「タップ」することにより、論理セグメント１１０４に対応する入力としてこれを与える意図があったという解釈が推論されるようになっていてもよい。
【００８２】
[0094]  たとえば、「タッチ」という初期入力１１１０は、キーボード１００からの「タッチ」入力の受け付けの結果として決定され、１方向移動の入力が続くようになっていてもよい。その後、「選択肢」の推論１１１２がエントリされ、これに「持ち上げ」移動の入力が続くようになっていてもよい。たとえば、「選択肢」１１１２は、最初のキーとそれに続くストロークまたは最初のキーとそれに続く別のキーという連続を含んでいてもよい。その後、「持ち上げ」という最終決定１１１４が推論されるようになっていてもよいが、この時点においては、上述するとともにセグメント１１０８に対応する通り、ユーザが「ラジアルエントリ」または「シェイプライティング」エントリを提供する意図があったという解釈が推論されるようになっていてもよい。たとえば、本明細書において詳述する通り、例示的な曖昧性除去技術がその後利用されるようになっていてもよい。
【００８３】
[0095]  たとえば、「タッチ」という初期入力１１１８は、キーボード１００からの「タッチ」入力の受け付けの結果として決定され、１方向移動の入力が続くようになっていてもよい。その後、「選択肢」の推論１１２０がエントリされ、これに「方向変更」移動の入力が続くようになっていてもよい。たとえば、「選択肢」１１２０は、最初のキーとそれに続くストロークまたは最初のキーとそれに続く別のキーという連続を含んでいてもよい。シェイプライティングにおいては、屈曲点を含まず、移動が１方向のみのいくつかのワードが存在する。主としてシェイプライティング検出の入力と考えられるのは、移動経路における一連の画面点である。任意選択により、「屈曲点」の推論１１２２がエントリされ、これにさまざまな他の入力が続くようになっていてもよい。たとえば、屈曲点の解析により、入力ジェスチャの移動の方向変更の角度のほか、移動の速度および／もしくは加速度ならびにジェスチャ移動の他の属性を決定するようにしてもよい。最終的には、「持ち上げ」移動の入力が受け付けられるようになっていてもよい。その後、「持ち上げ」という最終決定１１２４がエントリされるようになっていてもよいが、この時点においては、上述するとともに論路セグメント１１１６に対応する通り、ユーザが「シェイプライティング」エントリを提供する意図があったという解釈が推論されるようになっていてもよい。
【００８４】
[0096]  ただし、移動が１方向のみのラジアルメニューのストロークは存在しない。たとえば、ラジアルメニューにおいて、ユーザは、上方にストロークした後、解放せずに左方への移動を決定して、Ｓｈｉｆｔの代わりにＢａｃｋｓｐａｃｅをエントリするようにしてもよい。また、シェイプライティングにおいては、屈曲点を含まず、移動が１方向のみのワードが存在する（たとえば、「we」、「to」、「all」、「rip」）。主としてシェイプライティング検出の入力と考えられるのは、移動経路における一連の画面点である。
【００８５】
[0097]  本明細書に記載の例示的な技術によれば、入力のさまざまな属性によって、シェイプライティングジェスチャがラジアルエントリ入力から識別されるようになっていてもよい。たとえば、ラジアルエントリ入力から識別されるように、シェイプライティングジェスチャの入力にユーザが用いる異なる圧力（たとえば、シェイプライティング用の柔らかいタッチ/ホバリング、ラジアルエントリ入力用のより強いタッチ/ホバリング）を曖昧性除去エンジンが決定するようにしてもよい。たとえば、タッチ圧力検知および／またはディスプレイ上の検知によって、このような異なる圧力を検出することにより、その入力がシェイプライティング入力またはラジアルエントリ入力のいずれを意図したものであるかを判定するようにしてもよい。
【００８６】
[0098]  たとえば、ペン検知およびタッチ検知に対応したキーボードの場合は、入力がシェイプライティング入力として意図されることをペン入力が示す一方、入力がストロークジェスチャとして意図されることをタッチ入力が示していてもよい。
【００８７】
[0099]  たとえば、マルチタッチ検知に対応したキーボードの場合は、入力に用いられる指の数によって、入力が識別されるようになっていてもよい。たとえば、２本指入力は、入力がシェイプライティング入力として意図されることを示すものと解釈される一方、１本指入力は、入力がストロークジェスチャとして意図されることを示すもの解釈されるようになっていてもよい。
【００８８】
[0100]  たとえば、曖昧性除去エンジンは、ユーザの技能レベルにも基づいて、シェイプライティングジェスチャとラジアルエントリ入力とを識別するようにしてもよい（たとえば、経験豊富なユーザは、入力物体または指を右方に移動させた後に下方に移動させて「Enter」ジェスチャを意図することはしないが、初心者は、このような入力に上記意図を持たせる可能性がある）。
【００８９】
[0101]  たとえば、曖昧性除去エンジンは、ユーザの好適な言語に基づいて、シェイプライティングジェスチャとラジアルエントリ入力とを識別するようにしてもよい。
【００９０】
[0102]  たとえば、曖昧性除去エンジンは、ストロークの動態（たとえば、加速度、速度、曲線等）に基づいて、シェイプライティングジェスチャとラジアルエントリ入力とを識別するようにしてもよい。たとえば、機械学習の使用により、これらの種類の入力特性の曖昧性除去に関して、曖昧性除去エンジンをトレーニングするようにしてもよい。
【００９１】
[0103]  たとえば、ユーザの把持を（たとえば、把持センサにより）検知する機器の場合、曖昧性除去エンジンは、ユーザによる機器の把持（たとえば、スレートケースの把持）に基づいて、シェイプライティングジェスチャとラジアルエントリ入力とを識別するようにしてもよい。
【００９２】
[0104]  本明細書に記載の例示的な技術によれば、「彗星痕」等のグラフィカル指標の表示によって、ユーザに対する一時的なジェスチャ経路のグラフィカル指標を提供するようにしてもよい。このため、本明細書に記載の例示的な技術によれば、右方へのフリックがＳｐａｃｅのエントリ意図を示しており、右方へのより長いストロークがＴａｂのエントリ意図を示していてもよい。あるいは、（たとえば、長いストロークの代わりに）フリックによって、（たとえば、任意のストローク方向の）シェイプライティングモードを開始するようにしてもよい。
【００９３】
[0105]  本明細書に記載の例示的な技術によれば、カーソル制御または挿入点移動モードへの遷移の意図として低速の閉ループ動作が推論される一方、直線状のストロークジェスチャおよび／またはシェイプライティングジェスチャを含み得る入力ジェスチャへの意図として高速の開ループ弾道型動作が推論されるようになっていてもよい。
【００９４】
[0106]  本明細書に記載の例示的な技術によれば、閉ループ微細位置決めモードにおいては、さまざまなカーソル（または、挿入点）配置制御機能が採用されるようになっていてもよく、以下のようなものが挙げられるが、これらに限定されない。
（１）移動距離に基づく絶対（ただし、間接的）配置。
（２）利得係数×移動距離に基づく比例（相対）配置。
（３）固定移動距離閾値までの比例または絶対制御。ただし、その移動閾値後は、異なる制御機能となる。たとえば、タイミングに基づくオートリピートを用いたタップ・ホールドがそのような機能の１つである。たとえば、別の機能としては、感圧式のオートリピートを用いたタップ・ホールドがある。オートリピートは、圧力の関数である。
（４）たとえばＷｉｎｄｏｗｓ  ＸＰ上のマウスポインタ動作に関して実現された弾道型制御と類似の様態での、指の移動距離および速度に基づく伝達関数を用いた比例制御。
（５）指の移動に基づく比例および絶対制御の混合。たとえば、このような制御の例示的な実施態様に関する記載は、ともに「Ｍａｎｕａｌ  ｃｏｎｔｒｏｌｌｅｄ  ｓｃｒｏｌｌｉｎｇ」という名称の本願の所有者が所有する米国特許第７，２０２，８５７号および米国特許第６，７０７，４４９号に見られる。たとえば、この手法の（タッチスクリーンに関する）基礎は、Ｈｉｎｃｋｌｅｙら、「Ｎｅｗ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｆｏｒ  ｔｈｅ  Ｔｏｕｃｈｓｃｒｅｅｎ  ｉｎ  ２Ｄ  ａｎｄ  ３Ｄ  Ｍｅｄｉｃａｌ  Ｉｍａｇｉｎｇ  Ｗｏｒｋｓｔａｔｉｏｎｓ」、Ｉｎ  Ｐｒｏｃ．１９９５  ＳＰＩＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｅｄｉｃａｌ  Ｉｍａｇｉｎｇ：Ｉｍａｇｅ  Ｄｉｓｐｌａｙ（SPIE Proceedings），Ｖｏｌ．２４３１，Ａｐｒｉｌ  ２７，１９９５，ｐｐ．５６１−５７０に概要が記載されている。
（６）たとえば画面上のキー押下または間接的な圧力もしくはタッチセンサ式キーボード上で感じられるキー押下によりもたらされる物理的な戻り止めに全部または一部がリンクした挿入点離散移動を基礎とする上記のいずれか（たとえば、Microsoft  Surfaceのタッチカバー）。
【００９５】
[0107]  米国特許第６，７０７，４４９号に記載の通り、キーボード上の移動（または、近接認知式キーボードの場合のキーボード上のジェスチャ）の検出における当該特許に記載のスクロールに関連しては、特定の状況における非常に小さな指（または、他の入力物体）の移動を無視するのが望ましいと考えられる。たとえば、キーボードのタッチセンサ式表面上のユーザの指（または、キーボードに近接するジェスチャ入力物体）による意図せぬわずかな移動は無視するのが望ましいと考えられる。これは、たとえばユーザがタッチセンサ式表面上（または、近接認知式キーボード上）のある場所に指をホールドする場合に指が絶対的に静止するように制御することが不可能な場合に好都合となり得る。また、これにより、センサ測定値のわずかな変動および／またはユーザの指の収縮に起因して表示画面上で文書が「浮遊」したりわずかに動いているように見えたりするのを防止可能である。ユーザの指がキーボードの表面に接触している場合（または、近接認知式キーボードにごく接近している場合）、システムは、ユーザがさまざまな移動閾値の組み合わせを用いて指を意図的に移動させているか否かを推論するようにしてもよい。ユーザが意図的に指を移動させているかに関する決定は、スクロールならびに／またはいくつかの状況における自動スクロールモードの開始および／もしくはユーザのデータに依存した自動スクロールモードの開始を凍結可能なジェスチャ等、複数の他の特性または認識ジェスチャの構成要素として用いられるようになっていてもよい。たとえば、この決定は、環境等の他のパラメータに依存していてもよい（たとえば、システムは、すべてのものが動くバスにユーザが乗っているために閾値が異なる可能性があることを検知してもよいし、スレートが平らなこと、ユーザの膝上から識別されること、または保持されていることなどを検知してもよい）。
【００９６】
[0108]  ユーザが初めてキーボードのタッチセンサ式表面にタッチした場合（または、入力物体を近接認知式キーボードに対してごく近接させた場合）は、検出時に、ユーザの指の位置がキーボード上で動いていないものと見なされる可能性がある。この移動していない状態は、初期状態と考えられる。移動している状態または移動していない状態は、フラグとして格納されるようになっていてもよいし、「移動」または「非移動」状態を生じるその他任意の方法で格納されるようになっていてもよい。任意選択による第１のタイムアウト期間において、指の移動が第１の閾値距離（たとえば、最初のタッチ点からの距離）および／または速度（および／または加速度）を超えていないものと判定された場合、指は依然として、キーボード上で動いていないものと見なされ、第１の閾値の継続か判定される。一方、第１のタイムアウト期間において、指の運動が第１の閾値を超えた場合、指は、動いている（「移動」状態）と見なされ、これに応じてフラグが設定されるようになっていてもよい。このフラグは、格納されるようになっていてもよい。第１の閾値は、距離として規定された場合、設定長さ（たとえば、ミリメートルまたはインチ、画素）、設定速度（たとえば、１秒当たりのミリメートル、１秒当たりの画素）、スクロール領域長の設定百分率、またはこれらの任意の組み合わせまたは副組み合わせとして規定されていてもよい。たとえば、第１の閾値は、キーボード入力エリアのスクロール領域長の約１％に設定されていてもよい。システムは、指の総移動が第２の閾値距離および／または速度未満となる第２のタイムアウトが過ぎるまで、指が動いているものと見なし続ける。
【００９７】
[0109]  たとえば、第１および第２のタイムアウトは、同じであってもよいし、異なっていてもよい。たとえば、第２のタイムアウトは、第１のタイムアウトの約２倍であってもよい（たとえば、第１のタイムアウトが約２００ミリ秒であってもよく、第２のタイムアウトが約４００ミリ秒であってもよい）。さらに、第２の閾値は、スクロール機器の長さの約０．５％であってもよい。第２の閾値は、第１の閾値よりも小さいが、第１の閾値と同じであってもよいし、第１の閾値より大きくてもよい。指の移動が第２の閾値未満である場合、指は同様に、動いていない（「非移動」状態）と見なされ、これに応じてフラグが設定されるようになっていてもよい。指の移動が第２の閾値を超えている場合、指は依然として、動いているものと見なされてもよく、別の遅延時間が決定された状態でプロセスが継続する。これらのステップの一部または全部は、順次の実行もしくは並列の実行、単一のステップとしての組み合わせ、ならびに／または別のサブステップへの別途細分化が可能である。以上では、２つの閾値を含んでいるが、コンピュータ機器の当業者であれば、任意数の閾値（たとえば、所望または必要に応じた数の閾値）を使用可能であることが了解されるであろう。
【００９８】
[0110]  ユーザがキーボードのタッチセンサ式表面から指を外す（あるいは、本明細書において「離昇」または「解放」と称する）場合、ユーザの指は無意識に、現在の位置に影響を及ぼしたり、現在の位置を妨害したりする可能性がある。この影響は、指の新しい位置のＦＩＦＯ（先入れ先出し）キューを維持することによって抑えられる。ＦＩＦＯキューは、システムによって、記憶装置および／またはメモリに格納されるようになっていてもよい。ユーザがキーボードのタッチセンサ式表面との接触を中断した場合、システムは、キューを逆方向に検索して、運動が厳密に（または、略）停止に至ったサンプルを探索するようにしてもよい。このようなサンプルが見つかった場合は、停止点で生じるように現在の位置が調整されるようになっていてもよい。これにより、ユーザの意図が停止と思われる場合は、このユーザの見掛けの意図に従って、位置が調整されることになる。
【００９９】
[0111]  一方、対象となる停止を示すキューにこのようなサンプルが見つからない場合または修正の量（距離）が（長さの距離および／または百分率で測定される）閾値量よりも大きい場合は、位置が調整されなくてもよい。大掛かりな修正を拒絶する理由として、ユーザがキーボードのタッチセンサ式表面から離れる場合は、指を比較的速く動かしている可能性が高いことが挙げられる。これは、珍しい現象ではない。指の妨害または障害は、離昇プロセスにおいて自然に抑えられるものと予想され得るためである。したがって、このような状況において位置を変えないのは、ユーザが素早い動作を意図しているために好都合となる可能性があり、当該動作を行わないのは、ユーザの意図に反する可能性がある。
【０１００】
[0112]  「スクロール」に関連して、米国特許第６，７０７，４４９号は、以下のように、指の圧力または接触面積等に基づく自動スクロールの速度決定を論じている。
【０１０１】
[0113]  ユーザの入力に対するスクロール速度のマッピングに関しては、多くのさまざまな機能が可能である。たとえば、システムは、指の速度、指の圧力／接触面積、ホールド長、タップ数、および／またはタップ頻度等のさまざまな因子に基づいて、固定スクロール速度および／または可変スクロール速度を用いるようにしてもよい。固定スクロール速度の使用の場合、この固定速度は、初期値を有すること、ユーザが選択すること、および／または文書を操作／編集するソフトウェアアプリケーションにより選択することが可能である。可変スクロール速度によれば、ユーザは、文書の走査時にスクロール速度を連続して調整することができる。スクロール速度を連続して調整可能であることから、より制御可能かつ予測可能なスクロールインターフェースが得られる。
【０１０２】
[0114]  たとえば、可変スクロール速度の使用は、スクロール機器のタッチセンサ式表面に対する指の圧力に基づいていてもよい。指の圧力は、直接的な測定および／または機器のタッチセンサ式表面上で測定される指の接触面積の関数とすることが可能である。このような実施態様においては、現行のスクロール動作に対する指の接触量の正規化および／または指の接触面積の指数変換を実行するアルゴリズムの使用により、低速および高速スクロール間で制御可能な範囲のスクロール速度を提供するようにしてもよい。たとえば、ユーザの指は異なるサイズを有し得るため、システムは、ユーザがディスプレイをタップする際に、タッチする指のサイズを自動的に測定するようにしてもよい。そして、スクロール速度は、２つのステップで計算されるようになっていてもよい。たとえば、機器のタッチセンサ式表面に対する指の圧力の各サンプルに関して、以下の可変Ｐが最初に計算されるようになっていてもよい。
Ｐ＝Ｋ３（（ｐ／ｐ０）−１）  （１）
ここで、Ｐは接触面積に基づく正規化圧力推定値、Ｋ３は利得係数、ｐは現在の圧力測定値、ｐ０は後述の最低速度点として選定される圧力である。
【０１０３】
[0115]  次に、式（１）の結果を用いて、現行サンプルの指の圧力に対するスクロール速度を計算するようにしてもよい。
ｄｙ／ｄｔ＝Ｋ４（ｅ（ｐ＋１）−ｅ＋１）  （２）
ここで、Ｋ４は利得係数、ｄｙ／ｄｔは結果として計算されるスクロール速度である（tは時間を表す）。このような式を用いることにより、文書のスクロール速度は、指の接触面積および／または圧力の非線形関数である。ｄｙ／ｄｔは、ゼロ未満の場合、ゼロに設定されるようになっていてもよい。さらに、ｄｙ／ｄｔは、閾値よりも大きい場合、当該閾値に設定されるようになっていてもよい。スクロール速度ｄｙ／ｄｔが文書のスクロールに適用される場合、（たとえば）スクロールダウンにはｄｙ／ｄｔの正の値が用いられ、スクロールアップに関してはｄｔ／ｄｔに負の値を乗じるようにしてもよい。
【０１０４】
[0116]  たとえば、システムは、機器のどの領域がタッチされているかを決定するようにしてもよく、タッチするアクティブ領域に応じて、異なる値の利得係数Ｋ３および／またはＫ４が反対方向の自動スクロールに用いられるようになっていてもよい。たとえば、自動スクロールアップおよび自動スクロールダウン領域は、異なる利得係数Ｋ３および／またはＫ４と関連付けられていてもよい。タッチセンサ式表面の特定の形状、スクロール領域を自動スクロール領域から分離し得る任意のベゼル等の仕切りの形状、およびスクロール領域から物理的に分離した領域で自動スクロールが生じるかに応じて、自動スクロールダウン領域と異なるユーザの指と自動スクロールアップ領域との間の接触量が決まるようになっていてもよい。たとえば、スクロールするストリップの通常の使用において、ユーザの指は、スクロールアップでアクティブ領域に接触する場合に、スクロールダウンでアクティブ領域に接触する場合とわずかに異なる角度となることが予想されるため、指を丸める場合よりも指を延ばす場合に、表面接触量が大きくなる可能性がある。したがって、利得係数Ｋ３および／またはＫ４の値は、この相違を補償するように設定されることで、自動スクロールアップと自動スクロールダウンとを互いに比較した場合に、同様の感覚および応答が得られるようにしてもよい。利得係数Ｋ４は、１秒当たりの画素数、１秒当たりのセンチメートル、または１秒当たりのテキスト行数等、スクロール速度の単位である。また、値ｄｙ／ｄｔは、Ｋ４と同じ単位であってもよい。
【０１０５】
[0117]  ｐ０の最低速度点の適当な値の選定については、ｐ０値の決定方法が複数可能であるため、後述する。たとえば、現行のユーザジェスチャ自体の動態の使用により、ユーザがスクロール速度を指定しようとする実時間でｐ０の値を決定するようにしてもよい。たとえば、最低速度点での機器のタッチセンサ式表面に対する指の圧力は、最初の接触後の任意選択による遅延に続いてサンプリングされるようになっていてもよい。この遅延は、およそ２００ミリ秒等、ユーザがタッチセンサ式表面と十分な初期接触を確立するのに十分な長さであってもよい。この遅延においては、指の圧力の現在値が継続的に測定され、ｐ０の予備推定値として用いられるようになっていてもよいため、ユーザは、最低限の知覚遅延でスクロールを開始することができる。
【０１０６】
[0118]  上記の代替または追加として、スクロール速度の最高閾値が与えられていてもよい。また、１つまたは複数の過去の圧力値ｐに基づき得る将来の予想圧力値ｐの範囲を表すスライディングウィンドウが用いられるようになっていてもよい。上述のｄｙ／ｄｔの演算の結果、速度が最高閾値よりも大きくなった場合は、現在の圧力値ｐが最高スクロール速度閾値となるように、圧力値の上方にウィンドウをスライドさせてｐ０の値を再度演算するようにしてもよい。一方、指の圧力がウィンドウの底部を下回った場合は、下方にウィンドウをスライドさせてｐ０の値を再度演算するようにしてもよい。機器が検知可能な圧力値の既知の範囲は、ウィンドウの初期最小および最大圧力の選定の基礎として用いられるようになっていてもよい。このようなスライディングウィンドウ法においては、後述の速度制限および／または圧力最大基準が用いられるようになっていてもよい。たとえば、このようなスライディングウィンドウ技術によれば、システムは、柔らかいタッチまたは小さな指の他のユーザと比較した場合の荒いタッチまたは大きな指のユーザ等のさまざまなユーザについて、自動的に自己校正可能である。
【０１０７】
[0119]  たとえば、速度制限は、ｐ０の最低速度点の選択の改善に利用可能である。上の式においては、速度制限を超えた場合に、制限を満たすべくｐ０の最低速度点が再計算されるように、最高および／または最低移動速度が与えられていてもよい。これには、ユーザのジェスチャおよび通常の読む速度に対して検知圧力を適応させる効果がある。また、多くのタッチセンサ式パッドでは、指の接触面積を実際に検知して指の圧力を決定するため、どれだけの「圧力」を印加可能かには実用上の制限があることが多い。このような通常の最大圧力値を把握することで、ｐ０の最低速度点の選定に役立てることができる。たとえば、ユーザが開始時に機器のタッチセンサ式表面を強く押した場合は、文書が直ちに高速でスクロールするようになっていてもよく、この場合、システムは、ユーザが接触面積をこれ以上増やせないことを把握している。
【０１０８】
[0120]  たとえば、異なる位置における異なる領域とのユーザの指の通常の接触面積は、変動することが予想されるため、圧力最大値または上の式のパラメータは、異なるアクティブ領域に対して異なり得る。言い換えると、異なる方向のスクロール速度は、機器のタッチセンサ式表面に印加される指の圧力の単位ごとに異なり得る。また、機器のタッチセンサ式表面上のタッチエリアに応じたパラメータの調整によって、圧力応答がより一貫して見えるようになる可能性がある。
【０１０９】
[0121]  コンピュータ機器の当業者には当然のことながら、スクロールに関して上述したような技術は、他の目的のジェスチャ等、他の背景でも適用可能である。
【０１１０】
[0122]  コンピュータ機器の当業者には当然のことながら、本明細書の記載の主旨から逸脱することなく、その他多くの種類のデータ入力特性を曖昧性除去に利用可能である。
【０１１１】
[0123]  コンピュータ機器の当業者には当然のことながら、本明細書の記載の主旨から逸脱することなく、本明細書に記載のキーボード入力の曖昧性除去を実現する多くの方法が存在し得る。
【０１１２】
ＩＩ．例示的な動作環境
[0124]  本明細書に記載の特徴は、本明細書の記載の主旨から逸脱することなく、コンピュータ機器の当業者が理解し得る多くのさまざまな方法で実現できる例示的な実施形態として提供される。このような特徴は、例示的な実施形態の特徴としてのみ解釈されるべきであり、上記の発明を実施するための形態にのみ限定されると解釈されるものではない。
【０１１３】
[0125]  本明細書において詳述する通り、図１２は、キーボードエントリモードの曖昧性除去のための汎用システム１２００のブロック図である。図示の汎用システム１２００は、本明細書に記載の例示的なシステムに備え得る種々例示的な機能を示すことを意図しているに過ぎず、さまざまなハードウェアおよび／またはソフトウェア構成における実施態様に関して何ら限定的なものではない。
【０１１４】
[0126]  たとえば、システム１２００は、少なくとも１つのプロセッサが実行する命令を格納したコンピュータ可読記憶媒体を備えたキーボードエンジン１２０６を含む装置を具備していてもよい。図１２に示すように、システム１２００は、少なくとも１つのプロセッサ１２０４を含む機器１２０２を具備していてもよい。
【０１１５】
[0127]  機器１２０２は、シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボード１２０８を動作可能なキーボードエンジン１２０６を具備していてもよい。たとえば、図１２では機器１２０２の外部に示しているが、機器１２０２がキーボード１２０８を具備（たとえば、収容）していてもよい。キーボードエンジン１２０６は、シェイプライティング入力およびラジアルエントリ入力を同時に受け付けて、ユーザが（たとえば、切り替えキーまたは機能によって）モードを明確に切り替えることなく、いずれの種類のエントリ（および、タップモード）もシームレスに利用できるようにキーボード１２０８を動作させるようにしてもよい。たとえば、キーボードエンジン１２０６は、タップモードまたはシェイプライティングモードにおいて、ラジアルジェスチャ入力に対応していてもよい。
【０１１６】
[0128]  たとえば、ユーザ入力の容易化のため、グラフィカルまたはプリントキーボード１２０８が与えられていてもよい。たとえば、キーボード１２０８は、タッチセンサ式表面（または、ジェスチャセンサ式エリア）全体のすべてまたはほぼすべてを占有していてもよく、このため、図示または本明細書に記載のキーボード描写はいずれも、そのさまざまな構成要素の如何なる物理的縮尺、サイズ、または配向を表すことも意図したものではない。タッチセンサ式エリア（または、ジェスチャセンサ式エリア）は、マルチタッチおよび／またはペンタッチ等、如何なる種類であってもよい。タッチセンサ式エリアは、プリントキーボードまたは近接認知式キーボード（物理的および／または仮想的）の下のタッチセンサ式画面または圧力／容量性センサ等であってもよい。さらに、キーボード１２０８と併せてマウス入力が用いられるようになっていてもよい。
【０１１７】
[0129]  コンピュータ機器の当業者であれば、本明細書の記載の主旨から逸脱することなく、多くの形態のキーボードが存在することが了解されるであろう。
【０１１８】
[0130]  例示的な一実施形態によれば、キーボードエンジン１２０６またはその１つもしくは複数の部分は、後述の通り、有形のコンピュータ可読記憶媒体に格納し得る実行可能命令を含んでいてもよい。例示的な一実施形態によれば、コンピュータ可読記憶媒体は、分散機器等、任意数の記憶装置および任意数の記憶媒体種を含んでいてもよい。
【０１１９】
[0131]  この背景において、「プロセッサ」には、処理システムと関連付けられた命令を処理するように構成された１つまたは複数のプロセッサを含む可能性がある。したがって、プロセッサには、命令を並列および／または分散して処理する１つまたは複数のプロセッサを含んでいてもよい。図１２においては、キーボードエンジン１２０６の外部にデバイスプロセッサ１２０４を図示しているが、コンピュータ機器の当業者には当然のことながら、デバイスプロセッサ１２０４は、単一の構成要素としての実装、キーボードエンジン１２０６の内部もしくは外部に位置付け可能な分散ユニットとしての実装、ならびに／またはその要素のいずれかとしての実装が可能である。
【０１２０】
[0132]  たとえば、システム１２０は、１つまたは複数のプロセッサ１２０４を具備していてもよい。たとえば、システム１２００は、１つまたは複数のプロセッサ１２０４により実行可能な命令であって、本明細書に記載のシステム１２００に含まれる種々例示的な構成要素と関連付けられた動作を少なくとも１つのコンピュータ装置（たとえば、コンピュータ機器）に行わせるように構成された、実行可能命令を格納した少なくとも１つの有形のコンピュータ可読記憶媒体を具備していてもよい。たとえば、１つまたは複数のプロセッサ１２０４は、少なくとも１つのコンピュータ装置（たとえば、コンピュータ機器）に備えられていてもよい。コンピュータ機器の当業者であれば、このような記載の主旨から逸脱することなく、本明細書の記載に従って構成可能なプロセッサおよびコンピュータ装置の多くの構成が存在することが了解されるであろう。
【０１２１】
[0133]  この背景において、「構成要素」または「エンジン」は、ハードウェアの支援により特定の動作を実行するように構成可能な実行可能命令またはハードウェアを表す可能性がある。このような命令は、命令のコンポーネント群に含まれていてもよいし、２つ以上の群に分散していてもよい。たとえば、第１の構成要素の動作と関連付けられたいくつかの命令は、第２の構成要素（または、より多くの構成要素）の動作と関連付けられた命令群に含まれていてもよい。たとえば、本明細書において、「構成要素」または「エンジン」は、単一のエンティティでの位置付けまたは複数のエンティティにわたる拡散もしくは分散が可能であるとともに、他の構成要素と関連付けられた命令および／またはハードウェアと重複し得る実行可能命令により実装可能な機能を構成した一種の演算エンティティを表す可能性がある。この背景において、「実行可能」命令は、１つまたは複数のハードウェア機器による実行に対して具体的に構成された命令を表し、本質的にはソフトウェアを表さない。
【０１２２】
[0134]  例示的な一実施形態によれば、キーボードエンジン１２０６は、１つまたは複数のユーザ機器との関連で実装されていてもよい。たとえば、キーボードエンジン１２０６は、以下に詳述する通り、１つまたは複数のサーバと通信するものであってもよい。
【０１２３】
[0135]  たとえば、エンティティリポジトリ１２１６が１つまたは複数のデータベースを具備し、データベースインターフェース構成要素１２１８を介してアクセスされるようになっていてもよい。コンピュータ機器の当業者には当然のことながら、さまざまな種類のデータベース構成（たとえば、関係型データベース、階層型データベース、分散型データベース）および非データベース構成等、本明細書に記載のリポジトリ情報を格納する多くの技術が存在する。
【０１２４】
[0136]  例示的な一実施形態によれば、キーボードエンジン１２０６は、たとえば当該キーボードエンジン１２０６の中間データを格納可能なメモリ１２２０を具備していてもよい。この背景において、「メモリ」には、データおよび／または命令を格納するように構成された１つまたは複数のメモリデバイスを含んでいてもよい。さらに、メモリ１２２０は、複数の分散型記憶装置に拡がっていてもよい。
【０１２５】
[0137]  例示的な一実施形態によれば、ユーザ１２２４とキーボードエンジン１２０６との間のやり取りをユーザインターフェース構成要素１２２２が管理するようにしてもよい。ユーザ１２２４は、ディスプレイ１２２８および他の入出力機器と関連付け可能な受信機１２２６と関連付けられていてもよい。たとえば、ディスプレイ１２２８は、内部機器バス通信または少なくとも１つのネットワーク接続を介して受信機１２２６と通信するように構成されていてもよい。たとえば、ディスプレイ１２２８は、受信機１２２６に直接接続されていてもよい。
【０１２６】
[0138]  例示的な一実施形態によれば、ディスプレイ１２２８は、平面型ディスプレイ、印刷型ディスプレイ、２次元ディスプレイ、３次元ディスプレイ、固定ディスプレイ、移動ディスプレイ、ユーザ（たとえば、ユーザ１２２４）とのやり取りのための触覚出力、音声出力、およびその他任意の形態の出力等の知覚型ディスプレイとして実装されていてもよい。
【０１２７】
[0139]  例示的な一実施形態によれば、キーボードエンジン１２０６は、キーボードエンジン１２０６と、少なくとも１つのネットワーク１２３２を介してキーボードエンジン１２０６と通信可能な他のエンティティとの間のネットワーク通信を管理可能なネットワーク通信構成要素１２３０を具備していてもよい。たとえば、ネットワーク１２３２としては、インターネット、少なくとも１つの無線ネットワーク、または少なくとも１つの有線ネットワークのうちの少なくとも１つが挙げられる。たとえば、ネットワーク１２３２としては、セルラーネットワーク、無線ネットワーク、またはキーボードエンジン１２０６に対するデータの送信に対応可能な任意の種類のネットワークが挙げられる。たとえば、ネットワーク通信構成要素１２３０は、キーボードエンジン１２０６と受信機１２２６との間のネットワーク通信を管理するようにしてもよい。たとえば、ネットワーク通信構成要素１２３０は、ユーザインターフェース構成要素１２２２と受信機１２２６との間のネットワーク通信を管理するようにしてもよい。たとえば、機器１２０２は、自己完結型であって、プロセッサ、ディスプレイ、ストレージ等のすべてが単一のハードウェアエンティティ（たとえば、タブレット、スレート等）に含まれていてもよい。たとえば、機器１２０２は、自己完結型のタッチスクリーン機器であってもよい。
【０１２８】
[0140]  キーボードエンジン１２０６は、キーボード１２０８の少なくとも１つの入力センサから入力データ１２４２を取得するキーボード入力モジュール１２４０を具備していてもよい。
【０１２９】
[0141]  意図曖昧性除去エンジン１２４４は、キーボード１２０８のユーザのために、シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用を可能にする。
【０１３０】
[0142]  たとえば、入力データ解釈モジュール１２４６が入力データ１２４２を解析して、シェイプライティング入力結果候補またはラジアルエントリ入力結果候補のうちの１つまたは複数を含む１つまたは複数の処理値候補１２４８を提供するようにしてもよい。
【０１３１】
[0143]  たとえば、意図曖昧性除去エンジン１２４４は、１つまたは複数の処理値候補１２４８に基づいて、複数の提案値１２５０を提供するようにしてもよい。
【０１３２】
[0144]  たとえば、複数の提案値１２５０がシェイプライティング入力結果候補およびラジアルエントリ入力結果候補を含んでいてもよく、キーボードエンジン１２０６は、提案値の表示を提供するキーボード出力モジュール１２５２であり、ラジアルエントリ入力結果候補の表示が、ラジアルエントリ入力結果候補と関連付けられたラジアルエントリ入力の推論を明確に示すグラフィカル指標を提供する、キーボード出力モジュール１２５２をさらに具備していてもよい。
【０１３３】
[0145]  たとえば、入力データ解釈モジュール１２４６は、入力データ１２４２を解析して、入力データがキーボードのラジアルエリアにおける短ストローク入力を示すキーボード入力を含むかを判定することにより、ラジアルエントリ入力結果候補を決定するようにしてもよい。
【０１３４】
[0146]  たとえば、低頻度で発生する用語と判定された低頻度用語のエントリを辞書１２５４が省略するようにしてもよく、入力データ解釈モジュール１２４６は、入力データを解析することにより、辞書１２５４を用いて、１つまたは複数の処理値候補１２４８を提供するようにしてもよい。
【０１３５】
[0147]  たとえば、シェイプライティングインタプリタ１２５６が入力データ１２４２を解析するとともに、入力データ１２４２を用いて、１つまたは複数のシェイプライティング結果候補１２５８を提供するようにしてもよい。
【０１３６】
[0148]  たとえば、ラジアルエントリインタプリタ１２６０が入力データ１２４２を解析するとともに、入力データを用いて、１つまたは複数のラジアルエントリ結果候補１２６２を提供するようにしてもよい。たとえば、ラジアルエントリインタプリタ１２６０は、ラジアルエントリ結果および／またはネスト化（たとえば、階層型、マルチレベル）ラジアルエントリ結果を提供するようにしてもよい（たとえば、ラジアルメニュー項目のうちの１つまたは複数がサブメニューを有していてもよい）。
【０１３７】
[0149]  たとえば、キーボードエンジン１２０６への入力のモードを状態機械１２６４が追跡するようにしてもよい。
【０１３８】
[0150]  たとえば、キーボード１２０８としては、圧力センサ式キーボード、タッチセンサ式キーボード、または近接認知式キーボードが挙げられる。
【０１３９】
[0151]  たとえば、キーボード１２０８としては、仮想キーボードが挙げられる。
【０１４０】
[0152]  たとえば、キーボード１２０８としては、タッチセンサ式キーを備えた低移動の機械式キーボードまたは純粋にタッチセンサ式のキーボードが挙げられる。
【０１４１】
[0153]  たとえば、キーボード１２０８としては、複数のキーが実質的に省略され、短ストローク入力機能で置き換えられたキーボードが挙げられる。
【０１４２】
[0154]  たとえば、グラフィカルまたはプリントキーボードが感圧式またはタッチセンサ式表面に設けられ、タップ入力およびジェスチャ入力を受け付けるようにしてもよい。たとえば、キーボード１２０８は、少なくとも１つのキーが省略または実質的に省略された削除または省略キー集合で構成されていてもよく、省略キー集合の各キーは、ジェスチャによりエントリ可能な文字、動作、またはコマンドコードに対応する。
【０１４３】
[0155]  たとえば、キーボード１２０８は、半透明であって、キーボード表示下の画面を十分に視認できるようにしたものであってもよい。
【０１４４】
[0156]  たとえば、キーボード１２０８は、アルファベットキーを含むが数字キーは含まない別のキーボードに対して、同サイズまたは実質的の同サイズのタッチセンサ式エリアにアルファベットキーおよび数字キーを具備していてもよい。また、キーボードおよび別のキーボードは、同サイズまたは実質的の同サイズのアルファベットキーを有する。キーボード１２０８は、ジェスチャ入力により冗長となる１つまたは複数のキーを省略して提供されていてもよい。また、キーボード１２０８は、その右側または左側に配置された通常の数字キーパッド配置の数字キーを具備していてもよい。このような配置は、キーボードが横長の画面配向で表示される場合（縦長配向の可能性は低い）に望ましいと考えられ、都合が良い。たとえば、キーボード１２０８のサイズは、表示装置のサイズおよび横長／縦長配向に応じて調整可能であってもよい。
【０１４５】
[0157]  たとえば、キーボード１２０８のキーとの相互作用に対応するデータが受け付けられるようになっていてもよく、少なくとも１つのキーが複数の文字（文字、数字、特殊文字、および/またはコマンドを含む）を表すようになっていてもよい。データにより、相互作用が第１のジェスチャを表すことが示されている場合は、第１の文字値が推論される。データにより、相互作用が（第１のジェスチャと異なる）第２のジェスチャを表すことが示されている場合は、第２の文字値が推論される。データにより、相互作用がタップを表すことが示されている場合は、キーにより表されるタップ関連の文字値が推論される。
【０１４６】
[0158]  本明細書に記載の種々例示的な技術は一般的に、キーボード上の特定のキーをジェスチャが置き換えるタッチセンサ式のグラフィカルまたはプリントキーボードを含んでいてもよい。たとえば、置き換えられたキーは、ジェスチャによって不要（あるいは、冗長）となる可能性がある。たとえば、別途冗長なキーの省略または削除によって、キーボード上の同じタッチセンサ式エリアにより多くのキーを提供すること、同じタッチセンサ式エリアにより大きなキーを提供すること、および／またはキーボードが占有するタッチセンサ式エリアの量を低減することが可能となり得る。
【０１４７】
[0159]  一例として、キーボード１２０８の任意のアルファベットキーをタップすることにより、キーと関連付けられた小文字が出力される一方、同じキーを起点とする上方ストロークによって、出力されている関連文字のシフト値（たとえば、大文字）が出力されることで、Ｓｈｉｆｔキーを別途タップする必要がなくなる。たとえば、キーボード１２０８上の任意の場所を起点とする右方へのストロークによって、Ｓｐａｃｅが出力されるようになっていてもよい。同様に、キーボード上の任意の場所を起点とする左方へのストロークによってＢａｃｋｓｐａｃｅが出力される一方、（たとえば、キーボード上の任意の場所を起点とする）左下方への傾斜によってＥｎｔｅｒが出力されるようになっていてもよい。たとえば、ストロークジェスチャは、英数字の中心クラスタ上で可能であってもよい。一方、１つまたは複数の周辺キー（たとえば、BackspaceもしくはCtrl等の特定キーまたはカーソル制御のための数字キーパッドもしくはタッチパッドエリア等の特定領域（存在する場合））には、たとえばタッチパッド開始領域からのカーソル制御の場合のようにジェスチャが一切ないことを含めて、異なるストロークジェスチャまたは一部のみ重複するストロークジェスチャが割り当てられていてもよい。これにより、ストロークメニューが空間的に多重化されていてもよい（たとえば、一部のキー、特定のキー集合、またはすべてのキーについて潜在的に異なっていてもよい）。また、キーボード１２０８の縁部近くのキーに関しては、空間不足で特定方向のジェスチャ（たとえば、右側がベゼルにごく接近して配置されたキーボードの場合の表面の右縁のキーからの右方ストローク）が不可能となり得るため、ユーザは、入力のエントリのため、より多くのジェスチャを中心（または、縁部の遠く）から開始するようにしてもよい。
【０１４８】
[0160]  さらに、いくつかの例示的な実施態様においては、上述のＳｐａｃｅ、Ｂａｃｋｓｐａｃｅ、Ｓｈｉｆｔ、およびＥｎｔｅｒストロークの追加または代替として、キーボードまたは個別のキーと関連付けられたラジアルメニュー上のシングルまたはマルチタッチストロークジェスチャにより、付加的なキー修飾子（Ctrl、Alt、Windowsキー（Startキー）、Right-Menuキー等）が利用可能であってもよい。
【０１４９】
[0161]  コンピュータ機器の当業者には当然のことながら、ソフトキーボード上で表されることがある一般的なユーザインターフェースコマンド（たとえば、フォーム入力のPrev/Nextフィールド、Goコマンド、Searchコマンド）等、他の非文字動作（Backspaceに限らず）の入力にも、ジェスチャを利用可能である。さらに、より豊富または多数の一般コマンド（Cut/Copy/Paste等）がジェスチャによりエントリされるようになっていてもよいし、マクロがジェスチャにより呼び出されるようになっていてもよい。本明細書に記載の通り、直感的なジェスチャ（たとえば、Spaceの場合の右ストローク）によって、ジェスチャの学習および記憶が容易となり得るため都合が良い。
【０１５０】
[0162]  本明細書に記載の通り、ジェスチャは一般的に、表示キーボードの上下左右（たとえば、東西南北またはN-S-E-W）方向に基づいていてもよい。ただし、方向軸は、特に親指を用いたジェスチャの場合、（反対の鏡像方向に）ある量だけ回転していてもよい。右手の親指で上方ジェスチャを意図しているユーザは、より右上方（たとえば、機器の現在の配向に応じてNE方向）または上方寄りの右上方（たとえば、北北東方向）へのジェスチャとなりがちなためである。同様に、左手の親指は、より左上方（たとえば、NW方向）または上方寄りの左上方（たとえば、北北西方向）へのジェスチャとなりがちである。さらに、機器の配向が補償されるようになっていてもよい。たとえば、ユーザが少し側方に機器を保持している場合、機器上ではその配向に応じて左上方または右上方のジェスチャとなるものの、シフトの実行継続の信号として、上方ジェスチャが用いられるようになっていてもよい。このような配向調整の決定では、１つまたは複数の慣性センサ（たとえば、加速度計、ジャイロスコープ、および／または磁力計を含む）および／または他の種類のセンサ（たとえば、視覚に基づくセンサ等）により決まるタブレットの配向を考慮するようにしてもよい。
【０１５１】
[0163]  この背景において、「グラフィカルな」キーボードは、たとえばタッチセンサ式表示面または近接認知式表面等の視認可能な「表面」に表示されることでその外見をプログラムにより変更可能なキーボードを表す可能性がある。この背景において、「プリント」キーボードは、たとえばテンプレートとして印刷、エンボス加工、物理的重畳がなされたキーボードもしくは貼付されたキーボードまたは感圧式表面もしくは近接認知式表面の一部等、外見をプログラムにより変更できない（たとえば、スレートまたはタブレットコンピュータ機器のカバーに組み付けられた）圧力センサ式等の表面と関連付けられたキーボードを表す可能性がある。当然のことながら、本明細書に記載のキーボードは一般的に、グラフィカルキーボードもしくはプリントキーボード、混成キーボード（たとえば、１つまたは複数のディスプレイおよび/またはタッチスクリーンが搭載されたプリントキーボード）、ならびに／または仮想キーボードを含んでいてもよい。
【０１５２】
[0164]  本明細書に記載の例示的な技術によれば、付加的なジェスチャにより、単一の表示キーで３つまたは４つ（または、それ以上）等の複数の文字を表すことが可能であってもより。この背景において、「文字」は、アルファベット、数字、記号、特殊文字、およびコマンド等、キーによってシステムにエントリ可能な任意の物を表す可能性がある。たとえば、「タップ」入力の場合は、１つのキーで１つの文字の入力が可能であってもよし、大略左上方のジェスチャ、大略真っ直ぐ上方のジェスチャ、および大略右上方のジェスチャ等の３つの識別された上方ジェスチャの場合は、３つの文字の入力が可能であってもよい。
【０１５３】
[0165]  たとえば、キー回りのラジアルエリアを有効にすることによって、ラジアルエリアに入力できるさまざまなジェスチャに応じて、さまざまな種類の入力を提供するようにしてもよい。一例として、キーを囲む（または、ごく近接する）エリアが幾何学的に配置された部分（たとえば、８つの部分）に分割されることで、これらさまざまな部分に対するジェスチャがさまざまに識別された意味（たとえば、さまざまなキーボード入力の提供）を有するものと理解されるようにしてもよい。さらに、キーを囲むエリアは、非常に大きくてもよい。
【０１５４】
[0166]  たとえば、ジェスチャが既存の別のジェスチャと同じであってもよく、これら２つの類似／同一ジェスチャがキーボード上の開始位置または表面境界（ベゼル）と交差するジェスチャ等によって識別されていてもよい。
【０１５５】
[0167]  また、本明細書に記載のジェスチャのうちの１つもしくは複数以外および／または追加の別のジェスチャが用いられるようになっていてもよい。また、ジェスチャは、必ずしもタッチセンサ式表面上ではなく、ＫＪＮＥＣＴ機器、赤外線近接センサ、非接触容量性センサ、またはその他類似の機器等で検知される「エア」ジェスチャであってもよい。たとえば、このような「エア」ジェスチャは、仮想キーボードと併用可能である。また、ユーザがディスプレイをタッチして（たとえば、ラジアルメニューの方向のうちの１つへと）ストロークすることによって始まるが、空中へも進行するジェスチャが存在していてもよく、これは、ディスプレイと接触し続ける同じジェスチャから識別可能である。別の例として、マウス入力が用いられるようになっていてもよい。
【０１５６】
[0168]  別の例として、本明細書においては指での入力を論じているが、プラスチックスティック／スタイラスもしくは容量性ペン等の機械的手段、またはバッテリ駆動もしくは誘導結合スタイラスが使用可能ないくつかの選択肢として考えられる。別の例として、他の物体を用いることにより、このような「エア」ジェスチャを与えるようにしてもよい。さらには、入力の精緻化（たとえば、キーに重ね合わされたジェスチャコマンドに対してホバリングフィードバックが受け付けられるようになっていてもよい）ならびに／またはペンもしくは指による相互作用（接触面積、ペンおよびタッチ用の異なるデジタイザの使用、デプスカメラを用いたペンとタッチとの識別、ならびに/またはペンとタッチとを識別可能な他の技術の使用により検出可能）が把握されているかに応じたストロークジェスチャへのさまざまな長さおよび／または精度の制約の適用が可能である。したがって、コンピュータ機器の当業者には当然のことながら、本明細書の記述は、本明細書に記載の如何なる特定の実施形態、態様、概念、構造、機能、または実施例にも制限されない。むしろ、本明細書に記載の実施形態、態様、概念、構造、機能、または実施例はいずれも、何ら限定的なものではなく、本発明は、一般的にコンピュータ、キーボード、およびジェスチャ技術において利益および利点をもたらし得るさまざまな方法で使用可能である。
【０１５７】
[0169]  コンピュータ機器の当業者には当然のことながら、本明細書の記載の主旨から逸脱することなく、多くのさまざまな技術を用いることによって、キーボードジェスチャ入力の曖昧性を除去するようにしてもよい。
【０１５８】
ＩＩＩ．フローチャートの説明
[0170]  本明細書に記載の特徴は、本明細書の記載の主旨から逸脱することなく、コンピュータ機器の当業者が理解し得る多くのさまざまな方法で実現できる例示的な実施形態として提供される。このような特徴は、例示的な実施形態の特徴としてのみ解釈されるべきであり、上記の発明を実施するための形態にのみ限定されると解釈されるものではない。
【０１５９】
[0171]  図１３Ａ〜図１３Ｃは、例示的な実施形態に係る、図１２のシステムの例示的な動作を示したフローチャートである。図１３Ａの例においては、シェイプライティング入力およびラジアルエントリ入力を受け付けるようにキーボードを動作させてもよい（１３０２）。
【０１６０】
[0172]  キーボードの少なくとも１つの入力センサから入力データを取得するようにしてもよい（１３０４）。
【０１６１】
[0173]  キーボードのユーザのために、シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用を可能にしてもよい（１３０６）。
【０１６２】
[0174]  たとえば、図１３Ｂの例においては、入力データを解析し、入力データを用いて、１つまたは複数のシェイプライティング入力結果候補を提供するようにしてもよい（１３０８）。
【０１６３】
[0175]  たとえば、入力データを解析し、入力データを用いて、ラジアルエントリ入力結果候補またはネスト化ラジアルエントリ入力結果のうちの１つまたは複数を提供するようにしてもよい（１３１０）。
【０１６４】
[0176]  たとえば、状態機械を介して、入力のモードを追跡するようにしてもよい（１３１２）。
【０１６５】
[0177]  たとえば、キーボードが、感圧式キーボードを含んでいてもよい（１３１４）。
【０１６６】
[0178]  たとえば、キーボードが、仮想キーボードを含んでいてもよい（１３１６）。
【０１６７】
[0179]  たとえば、キーボードが、当該キーボードから省略された従来キーボードのキーに対応する特定のテキストエントリ動作の短ストローク入力機能を含んでいてもよい（１３１８）。
【０１６８】
[0180]  たとえば、図１３Ｃの例においては、タッチ・ホールド入力に応答して、ラジアルジェスチャメニューの表示をキー位置からのスライドアップメニューとして開始するようにしてもよい（１３２０）。
【０１６９】
[0181]  たとえば、入力データを解析して、シェイプライティング入力結果候補またはラジアルエントリ入力結果候補のうちの１つまたは複数を含む１つまたは複数の処理値候補を提供するようにしてもよい（１３２２）。
【０１７０】
[0182]  たとえば、１つまたは複数の処理値候補に基づいて、複数の提案値を提供するようにしてもよい（１３２４）。
【０１７１】
[0183]  たとえば、複数の提案値が、シェイプライティング入力結果候補およびラジアルエントリ入力結果候補を含んでいてもよい（１３２６）。
【０１７２】
[0184]  たとえば、提案値の表示を提供し、ラジアルエントリ入力結果候補の表示が、ラジアルエントリ入力結果候補と関連付けられたラジアルエントリ入力の推論を明確に示すグラフィカル指標を提供するようにしてもよい（１３２８）。
【０１７３】
[0185]  たとえば、入力データを解析して、入力データが、キーボードのラジアルエリアにおいて短ストローク入力を示すキーボード入力ラジアルエントリ結果候補を判定することによって決定するようにしてもよい（１３３０）。
【０１７４】
[0186]  たとえば、入力データを解析して、低頻度で発生するとともに直線ラジアルメニューストロークとシェイプライティングワードとの間の相当な衝突確率で発生する用語と判定された低頻度用語のエントリを省略する辞書を用いることにより、１つまたは複数の処理値候補を提供するようにしてもよい（１３３２）。
【０１７５】
[0187]  コンピュータ機器の当業者であれば、本明細書の記載の主旨から逸脱することなく、入力キーボードジェスチャの曖昧性を除去する多くの方法が存在し得ることを了解されるであろう。
【０１７６】
ＩＶ．特定の実施形態の態様
[0188]  本明細書に記載の特徴は、本明細書の記載の主旨から逸脱することなく、コンピュータ機器の当業者が理解し得る多くのさまざまな方法で実現できる例示的な実施形態として提供される。このような特徴は、例示的な実施形態の特徴としてのみ解釈されるべきであり、上記の詳細な説明にのみ限定されると解釈されるものではない。
【０１７７】
[0189]  たとえば、システムは、少なくとも１つのデバイスプロセッサと、少なくとも１つのデバイスプロセッサのうちの少なくとも１つを介して、シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボードを動作させるキーボードエンジンとを含む装置を具備する。キーボードエンジンは、キーボードの少なくとも１つの入力センサから入力データを取得するキーボード入力モジュールと、キーボードのユーザのために、シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用を可能にする意図曖昧性除去エンジンとを具備する。
【０１７８】
[0190]  キーボードエンジンは、入力データを解析するとともに、シェイプライティング入力結果候補またはラジアルエントリ入力結果候補のうちの１つまたは複数を含む１つまたは複数の処理値候補を提供する入力データ解釈モジュールをさらに具備しており、意図曖昧性除去エンジンが、１つまたは複数の処理値候補に基づいて、複数の提案値を提供する。
【０１７９】
[0191]  複数の提案値は、シェイプライティング入力結果候補およびラジアルエントリ入力結果候補を含んでいてもよい。
【０１８０】
[0192]  キーボードエンジンは、提案値の表示を提供するキーボード出力モジュールであり、ラジアルエントリ入力結果候補の表示が、ラジアルエントリ入力結果候補と関連付けられたラジアルエントリ入力の推論を明確に示すグラフィカル指標を提供する、キーボード出力モジュールをさらに具備する。
【０１８１】
[0193]  入力データ解釈モジュールは、入力データを解析して、入力データがキーボードのラジアルエリアにおける短ストローク入力を示すキーボード入力を含むかを判定することにより、ラジアルエントリ入力結果候補を決定する。
【０１８２】
[0194]  この装置は、低頻度で発生するとともに直線ラジアルメニューストロークとシェイプライティングワードとの間の相当な衝突確率で発生する用語と判定された低頻度用語のエントリを省略する辞書であって、入力データ解釈モジュールが、入力データを解析することにより、当該辞書を用いて、１つまたは複数の処理値候補を提供する、辞書をさらに備える。
【０１８３】
[0195]  キーボードエンジンは、入力データを解析するとともに、入力データを用いて、１つまたは複数のシェイプライティング入力結果候補を提供するシェイプライティングインタプリタをさらに具備する。
【０１８４】
[0196]  キーボードエンジンは、入力データを解析するとともに、入力データを用いて、ラジアルエントリ入力結果候補またはネスト化ラジアルエントリ入力結果のうちの１つまたは複数を提供するラジアルエントリインタプリタをさらに具備する。
【０１８５】
[0197]  キーボードエンジンは、当該キーボードエンジンへの入力のモードを追跡する状態機械をさらに具備する。
【０１８６】
[0198]  キーボードは、圧力センサ式キーボードを含む。
【０１８７】
[0199]  キーボードは、仮想キーボードを含む。
【０１８８】
[0200]  キーボードは、当該キーボードから省略された従来キーボードのキーに対応する特定のテキストエントリ動作の短ストローク入力機能を含む。
【０１８９】
[0201]  シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボードからの入力データが取得される。
【０１９０】
[0202]  シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用は、入力データの曖昧性除去によってシェイプライティング入力とラジアルエントリ入力とを識別することにより、デバイスプロセッサを介して、キーボードのユーザに提供される。
【０１９１】
[0203]  入力データの解析により、シェイプライティング入力結果候補またはラジアルエントリ入力結果候補のうちの１つまたは複数を含む１つまたは複数の処理値候補を提供する。
【０１９２】
[0204]  １つまたは複数の処理値候補に基づいて、複数の提案値が提供される。
【０１９３】
[0205]  複数の提案値は、シェイプライティング入力結果候補およびラジアルエントリ入力結果候補を含んでいてもよい。
【０１９４】
[0206]  提案値の表示が開始され、ラジアルエントリ入力結果候補の表示が、ラジアルエントリ入力結果候補と関連付けられたラジアルエントリ入力の推論を明確に示すグラフィカル指標を提供する。
【０１９５】
[0207]  入力データの解析には、入力データを解析して、入力データがキーボードのラジアルエリアにおける短ストローク入力を示すキーボード入力を含むかを判定することにより、ラジアルエントリ入力結果候補を決定することを含む。
【０１９６】
[0208]  タッチ・ホールド入力に応答して、ラジアルジェスチャメニューの表示がキー位置からのスライドアップメニューとして開始される。
【０１９７】
[0209]  コンピュータプログラム製品は、シェイプライティング入力およびラジアルエントリ入力を受け付けるキーボードから入力データを取得することと、入力データの曖昧性除去によってシェイプライティング入力とラジアルエントリ入力とを識別することにより、キーボードのユーザのために、シェイプライティング入力およびラジアルエントリ入力の受け付けの同時使用を提供することと、を少なくとも１つのコンピューティング機器に行わせる実行可能コードを格納したコンピュータ可読記憶媒体を備える。
【０１９８】
[0210]  実行可能コードは、入力データを解析して、シェイプライティング入力結果候補またはラジアルエントリ入力結果候補のうちの１つまたは複数を含む１つまたは複数の処理値候補を提供することと、１つまたは複数の処理値候補に基づいて、複数の提案値を提供することと、を少なくとも１つのコンピュータ機器に行わせる。
【０１９９】
[0211]  長年にわたって、顧客のプライバシおよび機密性がコンピュータ環境における継続的な検討事項となっている。このため、入力キーボードジェスチャの曖昧性を除去する例示的な技術においては、このような技術と関連付けられた関連するアプリケーションまたはサービスに関する１つまたは複数の購買契約（たとえば、「利用規約」（TOS）契約）によって許可を得たユーザが提供するユーザ入力および／またはデータを使用するようにしてもよい。たとえば、ユーザは、自身の入力／データが送信されて機器に格納されることに同意するようにしてもよいが、送信および／または格納の行い方および維持可能な格納のレベルまたは期間（格納する場合）を各当事者が管理可能であることが（たとえば、ユーザが受け入れた契約により）明示されるようになっていてもよい。さらに、実際のユーザ情報のハッシュ化等によって、ユーザが使用する機器の識別に使用可能な識別子が難読化されていてもよい。任意の関連法域プライバシ法および規制に従って、任意のユーザ入力／データを取得可能であることが了解されるものとする。
【０２００】
[0212]  本明細書の記載のさまざまな技術の実施態様は、デジタル電子回路またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはこれらの組み合わせにて実装されていてもよい（たとえば、さまざまな機能を行う命令を実行するように構成された装置）。
【０２０１】
[0213]  実施態様は、信号（たとえば、純粋な伝搬信号等の純粋な信号）にて具現化されたコンピュータプログラムとして実装されていてもよい。本明細書において、このような実施態様は、後述の通り、本明細書において制限しない「コンピュータ可読伝達媒体」、「コンピュータ可読記憶媒体」、または「コンピュータ可読記憶装置」により実装と称する。
【０２０２】
[0214]  あるいは、実施態様は、コンピュータ装置（たとえば、データ処理装置、コンピュータ機器、プログラマブルプロセッサ、専用プロセッサもしくは機器、コンピュータ、または複数のコンピュータ）による実行またはコンピュータ装置の動作の制御を行う機械使用可能または機械可読記憶装置（たとえば、ユニバーサルシリアルバス（USB）記憶装置、テープ、ハードディスクドライブ、コンパクトディスク、デジタルビデオディスク（DVD）等の磁気媒体またはデジタル媒体）に具現化されたコンピュータプログラムによって実装されていてもよい。本明細書において、このような実施態様は、「コンピュータ可読記憶媒体」または「コンピュータ可読記憶装置」による実装と称する可能性があるため、純粋な伝搬信号等の純粋な信号の実施態様とは異なる（したがって、本明細書においては、上述の「コンピュータ可読伝達媒体」として制限することはない）。これにより、本明細書における「コンピュータ可読記憶媒体」または「コンピュータ可読記憶装置」の引用では、本質的に信号を表さない。
【０２０３】
[0215]  上述のコンピュータプログラム等のコンピュータプログラムは、コンパイラ型、インタプリタ型の言語、または機械言語等、任意の形態のプログラミング言語にて記述することができ、独立したプログラムまたはモジュール、コンポーネント、サブルーチン、もしくはコンピュータ環境での使用に適した他のユニット等、任意の形態で展開可能である。コンピュータプログラムは、機械使用可能または機械可読記憶装置（たとえば、コンピュータ可読媒体）上で実行可能コード（たとえば、実行可能命令）として具体的に具現化されていてもよい。上述の技術を実装可能なコンピュータプログラムは、１つのサイトまたは通信ネットワークにより相互接続された複数の分散サイトにおいて、１つまたは複数のコンピュータ上で実行されるように展開されていてもよい。
【０２０４】
[0216]  方法ステップは、コンピュータプログラムの実行によって入力データに対する動作および出力の生成を行う機能を実行する１つまたは複数のプログラマブルプロセッサにより実行されるようになっていてもよい。１つまたは複数のプログラマブルプロセッサは、命令の並列実行および／または分散構成配置による分散処理が可能である。また、本明細書に記載の例示的な機能は、１つまたは複数のハードウェア論理構成要素により実行されるようになっていてもよく、装置の少なくとも一部が１つまたは複数のハードウェア論理構成要素として実装されていてもよい。たとえば、使用できる例示的な種類のハードウェア論理構成要素としては、フィールドプログラマブルゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、特定プログラム向け標準製品（ASSP）、システムオンチップシステム（SOC）、コンプレックスプログラマブルロジックデバイス（CPLD）等が挙げられるが、これらに限定されない。
【０２０５】
[0217]  コンピュータプログラムの実行に適したプロセッサとしては、一例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方ならびに／または任意の種類のデジタルコンピュータの１つもしくは複数のプロセッサが挙げられる。一般的に、プロセッサは、リードオンリーメモリ、ランダムアクセスメモリ、または両方から命令およびデータを受け取る。コンピュータの要素としては、命令を実行する少なくとも１つのプロセッサと、命令およびデータを格納する１つまたは複数のメモリデバイスとが挙げられる。一般的に、コンピュータは、データの受信、送信、または両方のため、たとえば磁気ディスク、光磁気ディスク、または光ディスク等、データを格納する１つまたは複数の大容量記憶装置を具備していてもよいし、動作可能に結合されていてもよい。コンピュータプログラム命令およびデータの具現化に適した情報担体としては、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスクもしくはリムーバブルディスク等の磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスク等、あらゆる形態の不揮発性メモリが挙げられる。プロセッサおよびメモリは、専用論路回路で補完されていてもよいし、専用論路回路に組み込まれていてもよい。
【０２０６】
[0218]  ユーザとの相互作用を可能にするため、実施形態は、たとえば陰極線管（CRT）、液晶ディスプレイ（LCD）、発光ダイオード（LED）モニタ、またはプラスマモニタ等、ユーザに情報を表示する表示装置ならびにユーザがコンピュータに入力を与えられるキーボードおよびマウスもしくはトラックボール等のポインティングデバイスを有するコンピュータ上に実装されていてもよい。本明細書に記載の通り、タブレット、タッチスクリーン、スレート等が入力および表示に用いられるようになっていてもよい。同様に、ユーザとの相互作用を可能にする他の種類の機器も使用可能である。たとえば、ユーザに与えられるフィードバックとしては、たとえば視覚的フィードバック、聴覚的フィードバック、および／または触覚的フィードバック等、任意の形態の感知型フィードバックが可能である。たとえば、任意の形態の感知型出力によって出力が与えられるようになっていてもよく、視覚的出力（たとえば、視覚的ジェスチャ、ビデオ出力）、音声出力（たとえば、音声、機器サウンド）、触覚的出力（たとえば、タッチ、機器の移動）、温度、および／または匂い等が挙げられる（ただし、これらに限定されない）。
【０２０７】
[0219]  さらに、ユーザからの入力は、音響、発話、および／または触覚的入力等、任意の形態で受け付け可能である。本明細書に記載の通り、ペンまたは他の入力物体からの入力が受け付けられるようになっていてもよい。たとえば、任意の形態の感知型入力によって入力がユーザから受け付けられようになっていてもよく、視覚的入力（たとえば、ジェスチャ、ビデオ入力）、音声入力（たとえば、音声、機器サウンド）、触覚的入力（たとえば、タッチ、機器の移動）、温度、および／または匂い等が挙げられる（ただし、これらに限定されない）。
【０２０８】
[0220]  さらに、ユーザとのインターフェースにナチュラルユーザインターフェース（NUI）が用いられるようになっていてもよい。この背景において、「ＮＵＩ」は、マウス、キーボード、リモコン等の入力装置によって人工的な制約が与えられることなく、ユーザの機器との「自然」な相互作用を可能にする任意のインターフェース技術を表す可能性がある。
【０２０９】
[0221]  ＮＵＩ技術の例としては、音声認識、タッチおよびスタイラス認識、画面上および画面近くでジェスチャ認識、エアジェスチャ、頭部および眼の追跡、音声、視覚、タッチ、ジェスチャ、および人工知能に依拠したものが挙げられる。例示的なＮＵＩ技術としては、より自然なインターフェースを提供可能なタッチセンサ式ディスプレイ、音声認識、意図・目的理解、デプスカメラ（たとえば、ＫＩＮＥＣＴ、立体カメラシステム、赤外線カメラシステム、RGB（赤色、緑色、青色）カメラシステム、およびこれらの組み合わせ）を用いたモーションジェスチャ検出、加速度計／ジャイロスコープを用いたモーションジェスチャ検出、磁力計、顔認識、３Ｄディスプレイ、頭部・眼・視線追跡、没入型拡張仮想現実システム、ならびに電界検知電極を用いて脳の活動を検知する技術（たとえば、脳波記録法（EEG）および関連技術）等が挙げられるが、これらに限定されない。
【０２１０】
[0222]  実施態様は、たとえばデータサーバ等のバックエンド構成要素、アプリケーションサーバ等のミドルウェア構成要素、ユーザが実施態様と相互作用可能なグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ等のフロントエンド構成要素、またはこのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組み合わせを含むコンピュータシステムにて実装されていてもよい。構成要素は、たとえば通信ネットワーク等、任意の形態のデジタルデータ通信媒体によって相互接続されていてもよい。通信ネットワークの例としては、ローカルエリアネットワーク（LAN）およびインターネット等のワイドエリアネットワーク（WAN）が挙げられる。
【０２１１】
[0223]  以上、構造的特徴および／または方法論的動作に言語固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上記固有の特徴または動作に限定されないことが了解されるものとする。むしろ、上記固有の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示している。本明細書に記載の通り、上記実施態様の特定の特徴を示したが、当業者であれば、多くの改良、置換、変更、および同等物が想到されよう。したがって、上記実施形態の範囲に含まれるこのようなすべての改良および変更を添付の特許請求の範囲が網羅するものと了解されるべきである。
【図１Ａ】
0006655064.tif 000002
【図１Ｂ】
0006655064.tif 000003
【図２】
0006655064.tif 000004
【図３】
0006655064.tif 000005
【図４】
0006655064.tif 000006
【図５Ａ】
0006655064.tif 000007
【図５Ｂ】
0006655064.tif 000008
【図６Ａ】
0006655064.tif 000009
【図６Ｂ】
0006655064.tif 000010
【図７Ａ】
0006655064.tif 000011
【図７Ｂ】
0006655064.tif 000012
【図７Ｃ】
0006655064.tif 000013
【図８】
0006655064.tif 000014
【図９】
0006655064.tif 000015
【図１０Ａ】
0006655064.tif 000016
【図１０Ｂ】
0006655064.tif 000017
【図１１】
0006655064.tif 000018
【図１２】
0006655064.tif 000019
【図１３Ａ】
0006655064.tif 000020
【図１３Ｂ】
0006655064.tif 000021
【図１３Ｃ】
0006655064.tif 000022