(57)【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
ユーザデバイスにおいて、認識しようとする手書きテキストに対応するユーザ入力を受信するステップと、
前記手書きテキストの認識のために、前記手書きテキストの画像を、前記ユーザデバイスからサーバに転送するステップと、
前記ユーザデバイスにおいて、前記手書きテキストの前記画像に基づいて前記サーバによって決定される手書き文字列の指示情報を、前記サーバから受信するステップと、
前記手書き文字列を、第１の色を使用して前記ユーザデバイスのディスプレイに表示するステップと、
前記手書き文字列に基づいて前記サーバによってそれぞれ決定されるテキスト文字の指示情報を、別個の時間に前記サーバから受信するステップと、
前記指示情報がそれぞれ受信されると、前記テキスト文字を前記ディスプレイに表示するステップと、
前記テキスト文字の前記指示情報をそれぞれ受信したことに応答して、前記ディスプレイ上の前記手書き文字列を、前記第１の色から前記第１の色とは異なる第２の色に変更するステップと、
前記テキスト文字がすべて表示された後にだけ、前記ディスプレイ上から前記手書き文字列を除去するステップと
を有し、
前記手書き文字列は、前記テキスト文字が認識される前に別の手書き入力に対応する別のユーザ入力を受信すると縮小される、方法。
【請求項２】
コンピュータによって実施される方法であって、
ユーザデバイスにおいて、認識エンジンを使用して認識しようとする手書きテキストに対応するユーザ入力を受信するステップと、
前記ユーザデバイスにおいて、個々の手書き文字に分解された前記手書きテキストを含む、前記手書きテキストの画像を受信するステップと、
前記個々の手書き文字からなる手書き文字列を、第１指示子を使用して前記ユーザデバイスのディスプレイに表示するステップと、
前記ユーザデバイスにおいて、前記手書き文字列のうちの１つの手書き文字として認識されたテキスト文字の識別情報を受信するステップと、
前記テキスト文字を前記ディスプレイに表示するステップと、
前記ユーザデバイスにおいて、受信した前記識別情報に応答して、前記手書き文字列のうちの前記１つの手書き文字を、前記第１指示子を使用する表示から前記第１指示子とは異なる第２指示子を使用する表示に変更するステップと
を有し、
前記手書き文字列は、前記テキスト文字が認識される前に別の手書き入力に対応する別のユーザ入力を受信すると縮小される、方法。
【請求項３】
前記第１指示子が第１の色であり、
前記第２指示子が第２の色である、請求項２に記載の方法。
【請求項４】
前記ユーザデバイスにおいて、前記手書き文字列のうちの第２の手書き文字として認識された第２のテキスト文字の第２の識別情報を受信するステップと、
前記ユーザデバイスにおいて、受信した前記第２の識別情報に応答して、前記手書き文字列のうちの前記第２の手書き文字の表示を、前記第１指示子を使用する表示から前記第２指示子を使用する表示に変更するステップと
をさらに有する、請求項２に記載の方法。
【請求項５】
前記ユーザデバイスにおいて、前記テキスト文字及び前記第２のテキスト文字に基づいて、前記手書きテキストに対する候補語幹を決定するステップと、
前記候補語幹を前記ディスプレイに表示するステップと
をさらに有する、請求項４に記載の方法。
【請求項６】
前記ユーザデバイスにおいて、前記候補語幹の選択を示すユーザ入力を受信するステップと、
前記ユーザデバイスにおいて、前記候補語幹に基づいて、前記手書きテキストに対する候補語を決定するステップと、
前記候補語幹の前記選択を示すユーザ入力を受信したことに応答して、前記候補語を前記ディスプレイに表示するステップと
をさらに有する、請求項５に記載の方法。
【請求項７】
認識済みの前記手書きテキストの量を示すプログレスバーを前記ディスプレイに表示するステップをさらに有する、請求項２に記載の方法。
【請求項８】
前記量に対応するパーセンテージを前記ディスプレイに表示するステップをさらに有する、請求項７に記載の方法。
【請求項９】
前記手書き文字列に対して認識されたテキスト文字がすべて表示された後にだけ、前記手書き文字列のうちの少なくとも１つの手書き文字の表示を、前記ディスプレイ上から除去するステップをさらに有する、請求項２に記載の方法。
【請求項１０】
前記ディスプレイがタッチディスプレイであり、
前記ユーザ入力が前記タッチディスプレイを介して受信される入力である、請求項２に記載の方法。
【請求項１１】
前記ユーザデバイスにおいて、前記認識エンジンを使用して認識しようとする追加的な手書きテキストに対応する第２のユーザ入力を受信するステップと、
前記第２のユーザ入力に応答して、表示された前記手書き文字列のサイズを変更するステップと
をさらに有する、請求項２に記載の方法。
【請求項１２】
ディスプレイと、
前記ディスプレイに接続された少なくとも１つのプロセッサと、
実行可能なコンピュータプログラムコードを記録した非一時的なコンピュータ読み取り可能な記録媒体と
を具備し、
前記実行可能なコンピュータプログラムコードの実行は、前記少なくとも１つのプロセッサに、複数の手順を行わせ、
前記複数の手順は、
認識エンジンを使用して認識しようとする手書きテキストに対応するユーザ入力を受信する手順と、
個々の手書き文字に分解された前記手書きテキストを含む、前記手書きテキストの画像を受信する手順と、
前記個々の手書き文字からなる手書き文字列を、第１指示子を使用して前記ディスプレイに表示する手順と、
前記手書き文字列のうちの１つの手書き文字として認識されたテキスト文字の識別情報を受信する手順と、
前記テキスト文字を前記ディスプレイに表示する手順と、
受信した前記識別情報に応答して、前記手書き文字列のうちの前記１つの手書き文字を、前記第１指示子を使用する表示から前記第１指示子とは異なる第２指示子を使用する表示に変更する手順と
を含み、
前記手書き文字列は、前記テキスト文字が認識される前に別の手書き入力に対応する別のユーザ入力を受信すると縮小される、コンピューティングデバイス。
【請求項１３】
前記第１指示子が第１の色であり、
前記第２指示子が第２の色である、請求項１２に記載のコンピューティングデバイス。
【請求項１４】
前記複数の手順が、
前記手書き文字列のうちの第２の手書き文字として認識された第２のテキスト文字の第２の識別情報を受信する手順と、
受信した前記第２の識別情報に応答して、前記手書き文字列のうちの前記第２の手書き文字の表示を、前記第１指示子を使用する表示から前記第２指示子を使用する表示に変更する手順と
をさらに含む、請求項１２に記載のコンピューティングデバイス。
【請求項１５】
前記複数の手順が、
前記テキスト文字及び前記第２のテキスト文字に基づいて、前記手書きテキストに対する候補語幹を決定する手順と、
前記候補語幹を前記ディスプレイに表示する手順と
をさらに含む、請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記複数の手順が、
前記候補語幹の選択を示すユーザ入力を受信する手順と、
前記候補語幹に基づいて、前記手書きテキストに対する候補語を決定する手順と、
前記候補語幹の前記選択を示すユーザ入力を受信したことに応答して、前記候補語を前記ディスプレイに表示する手順と
をさらに含む、請求項１５に記載のコンピューティングデバイス。
【請求項１７】
前記複数の手順が、
認識済みの前記手書きテキストの量を示すプログレスバーを前記ディスプレイに表示する手順をさらに含む、請求項１２に記載のコンピューティングデバイス。
【請求項１８】
前記複数の手順が、
前記量に対応するパーセンテージを前記ディスプレイに表示する手順をさらに含む、請求項１７に記載のコンピューティングデバイス。
【請求項１９】
前記複数の手順が、
前記手書き文字列に対して認識されたテキスト文字がすべて表示された後にだけ、前記手書き文字列のうちの少なくとも１つの手書き文字の表示を、前記ディスプレイ上から除去する手順をさらに含む、請求項１２に記載のコンピューティングデバイス。
【請求項２０】
前記複数の手順が、
前記認識エンジンを使用して認識しようとする追加的な手書きテキストに対応する第２のユーザ入力を受信する手順と、
前記第２のユーザ入力に応答して、表示された前記手書き文字列のサイズを変更する手順と
をさらに含む、請求項１２に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１２年９月２６日付けで出願された米国特許出願第１３／６２６９６３号の優先権を主張するものである。上記米国出願のすべての開示内容が本明細書に援用される。
【０００２】
本開示は、ユーザデバイスに関し、詳細には、ユーザデバイスに入力される手書きテキストの認識に関する。
【背景技術】
【０００３】
ここで提供される背景技術の記載は、開示の背景を広く提供することを目的とする。発明者として挙げられている者の研究は、この背景技術のセクションに記載される限り、かつ出願時に従来技術とみなされ得ない記載の態様に限り、本開示に対する従来技術として明示的にも黙示的にも認識されない。
【０００４】
一般に、「ユーザデバイス（user device）」は、ユーザインタフェースと、ディスプレイと、プロセッサとを備えたコンピューティングデバイスを指す。例えば、ユーザデバイスは、デスクトップコンピュータであってよい。また、ユーザデバイスは、携帯電話器、タブレットコンピュータなどのモバイルユーザデバイスであってもよい。ユーザデバイスは、インターネット及び／又は携帯電話ネットワークなどのネットワークに選択的に接続し得る。ユーザは、キーボードなどのユーザインタフェース（又は「キャラクタレイアウト（character layout）」）を介して、ユーザデバイスに情報、例えば、テキストを入力し得る。
【０００５】
しかしながら、サイズ的な制約により、多くのユーザデバイス、例えば、モバイルユーザデバイスは、部分的なＱＷＥＲＴＹ配列ベースの物理的キーボードを有し得る。さらに又はあるいは、ユーザデバイスは、ユーザへの情報の表示と、ユーザからの入力の受信との両方を行うタッチディスプレイ、例えば、静電容量方式の感知ディスプレイを有し得る。例えば、これらのユーザデバイスは、部分的なＱＷＥＲＴＹ配列ベースのキーボードと同様のキャラクタレイアウトをユーザに対して表示し得る。
【発明の概要】
【課題を解決するための手段】
【０００６】
一態様において、コンピュータによって実施される第１の方法は、ユーザデバイスにおいて、認識しようとする手書きテキストに対応するユーザ入力を受信するステップと、手書きテキストの認識のために、手書きテキストの画像をユーザデバイスからサーバに転送するステップと、ユーザデバイスにおいて、手書き文字列の指示情報をサーバから受信するステップとを有する。手書き文字列は、手書きテキストの画像に基づいてサーバによって決定される。方法は、手書き文字列を第１の色を使用してユーザデバイスのディスプレイに表示するステップと、テキスト文字の指示情報を別個の時間にサーバから受信するステップとをさらに有する。テキスト文字は、手書き文字列に基づいてサーバによってそれぞれ決定される。方法は、指示情報がそれぞれ受信されると、テキスト文字をディスプレイに表示するステップと、テキスト文字の指示情報をそれぞれ受信したことに応答して、ディスプレイ上の手書き文字列の色を第１の色から第２の色に変更するステップと、テキスト文字がすべて表示された後にだけ、ディスプレイ上から手書き文字列の表示を除去するステップとをさらに有する。第１の色と第２の色とは互いに異なる。
【０００７】
一態様において、コンピュータによって実施される第２の方法は、ユーザデバイスにおいて、認識エンジンを使用して認識しようとする手書きテキストに対応するユーザ入力を受信するステップと、ユーザデバイスにおいて、手書きテキストの画像を受信するステップとを有する。画像は、個々の手書き文字に分解された手書きテキストを含む。第２の方法は、手書き文字列を第１指示子を使用してユーザデバイスのディスプレイに表示するステップと、ユーザデバイスにおいて、手書き文字列のうちの１つの手書き文字として認識されたテキスト文字の識別情報を受信するステップと、テキスト文字をディスプレイに表示するステップと、ユーザデバイスにおいて、受信した識別情報に応答して、手書き文字列のうちの１つの手書き文字の表示を第１指示子を使用する表示から第２指示子を使用する表示に変更するステップとをさらに有する。第１識別子と第２識別子とは互いに異なる。
【０００８】
別の態様において、第１指示子は第１の色であり、かつ第２指示子は第２の色である。
【０００９】
さらに別の態様において、第２の方法は、ユーザデバイスにおいて、手書き文字列のうちの第２の手書き文字として認識された第２のテキスト文字の第２の識別情報を受信するステップと、ユーザデバイスにおいて、受信した第２の識別情報に応答して、手書き文字列のうちの第２の手書き文字の表示を第１指示子を使用する表示から第２指示子を使用する表示に変更するステップとをさらに有する。
【００１０】
さらなる態様において、第２の方法は、ユーザデバイスにおいて、テキスト文字及び第２のテキスト文字に基づいて、手書きテキストに対する候補語幹を決定するステップと、候補語幹をディスプレイに表示するステップとをさらに有する。
【００１１】
よりさらなる態様において、第２の方法は、ユーザデバイスにおいて、候補語幹の選択を示すユーザ入力を受信するステップと、ユーザデバイスにおいて、候補語幹に基づいて、手書きテキストに対する候補語を決定するステップと、候補語幹の選択を示すユーザ入力を受信したことに応答して、候補語をディスプレイに表示するステップとをさらに有する。
【００１２】
別の態様において、第２の方法は、認識済みの手書きテキストの量を示すプログレスバーをディスプレイに表示するステップをさらに有する。
【００１３】
さらに別の態様において、第２の方法は、量に対応するパーセンテージをディスプレイに表示するステップをさらに有する。
【００１４】
さらなる態様において、第２の方法は、手書き文字列に対して認識されたテキスト文字がすべて表示された後にだけ、手書き文字列のうちの少なくとも１つの手書き文字の表示をディスプレイ上から除去するステップをさらに有する。
【００１５】
よりさらなる態様において、ディスプレイはタッチディスプレイであり、かつユーザ入力はタッチディスプレイを介して受信される。
【００１６】
別の態様において、第２の方法は、ユーザデバイスにおいて、認識エンジンを使用して認識しようとする追加的な手書きテキストに対応する第２のユーザ入力を受信するステップと、第２のユーザ入力に応答して、表示された手書き文字列のサイズを変更するステップとをさらに有する。
【００１７】
一態様において、ユーザデバイスは、ディスプレイと、プロセッサと、ユーザインタフェースモジュールとを具備する。ユーザインタフェースモジュールは、認識エンジンを使用して認識しようとする手書きテキストに対応するユーザ入力を受信する手順と、手書きテキストの画像を受信する手順とを実行する。画像は、個々の手書き文字に分解された手書きテキストを含む。ユーザインタフェースモジュールは、手書き文字列を第１指示子を使用してディスプレイに表示する手順と、手書き文字列のうちの１つの手書き文字として認識されたテキスト文字の識別情報を受信する手順と、テキスト文字をディスプレイに表示する手順と、受信した識別情報に応答して、手書き文字列のうちの１つの手書き文字の表示を第１指示子を使用する表示から第２指示子を使用する表示に変更する手順とをさらに実行する。第１識別子と第２識別子とは互いに異なる。
【００１８】
別の態様において、第１指示子は第１の色であり、かつ第２指示子は第２の色である。
【００１９】
さらに別の態様において、ユーザインタフェースモジュールは、手書き文字列のうちの第２の手書き文字として認識された第２のテキスト文字の第２の識別情報を受信する手順と、受信した第２の識別情報に応答して、手書き文字列のうちの第２の手書き文字の表示を第１指示子を使用する表示から第２指示子を使用する表示に変更する手順とをさらに実行する。
【００２０】
さらなる態様において、ユーザインタフェースモジュールは、テキスト文字及び第２のテキスト文字に基づいて、手書きテキストに対する候補語幹を決定する手順と、候補語幹をディスプレイに表示する手順とをさらに実行する。
【００２１】
よりさらなる態様において、ユーザインタフェースモジュールは、候補語幹の選択を示すユーザ入力を受信する手順と、候補語幹に基づいて、手書きテキストに対する候補語を決定する手順と、候補語幹の選択を示すユーザ入力を受信したことに応答して、候補語をディスプレイに表示する手順とをさらに実行する。
【００２２】
別の態様において、ユーザインタフェースモジュールは、認識済みの手書きテキストの量を示すプログレスバーをディスプレイに表示する手順をさらに実行する。
【００２３】
さらに別の態様において、ユーザインタフェースモジュールは、量に対応するパーセンテージをディスプレイに表示する手順をさらに実行する。
【００２４】
さらなる態様において、ユーザインタフェースモジュールは、手書き文字列に対して認識されたテキスト文字がすべて表示された後にだけ、手書き文字列のうちの少なくとも１つの手書き文字の表示をディスプレイ上から除去する手順をさらに実行する。
【００２５】
よりさらなる態様において、ディスプレイはタッチディスプレイであり、かつユーザ入力はタッチディスプレイを介して受信される。
【００２６】
別の態様において、ユーザインタフェースモジュールは、認識エンジンを使用して認識しようとする追加的な手書きテキストに対応する第２のユーザ入力を受信する手順と、第２のユーザ入力に応答して、表示された手書き文字列のサイズを変更する手順とをさらに実行する。
【００２７】
追加的な態様において、コンピューティングデバイスが開示される。コンピューティングデバイスは、非一時的なコンピュータ読み取り可能な記録媒体と、少なくとも１つのプロセッサとを含んでよい。非一時的なコンピュータ読み取り可能な記録媒体は、先に記載したコンピュータによって実施される方法、詳細には、手書き入力認識方法そのもののいずれか又はすべてを実行するための実行可能なコンピュータプログラムコードを含んでよく、かつ少なくとも１つのプロセッサは、実行可能なコンピュータプログラムコードを実行するように構成されてよい。
【００２８】
さらなる態様において、実行可能なコンピュータプログラム命令を記録した非一時的なコンピュータ読み取り可能な記録媒体が開示される。コンピュータプログラム命令は、先に記載したコンピュータによって実施される方法のいずれか又はすべてを実行するための命令を含んでよい。
【発明の効果】
【００２９】
本開示の適応可能なさらなる範囲は、以下に提供される詳細な説明から明らかとなろう。詳細な説明及び特定の例は、例示のみを目的としたものであって、開示の範囲を限定することを意図しないことに留意されたい。
本開示については、詳細な説明及び添付の図面からより完全な理解が得られよう。
【図面の簡単な説明】
【００３０】
【図１】本開示のいくつかの実施形態による、ユーザが例示的なユーザデバイスと対話する例を示す図である。
【図２】図１の例示的なユーザデバイスの機能的な構成図である。
【図３】図１のユーザデバイスのユーザインタフェースモジュールの例の機能的な構成図である。
【図４】本開示のいくつかの実施形態による、手書きテキストの認識の間のさまざまなタイミングのユーザディスプレイの例を示す図である。
【図５】本開示のいくつかの実施形態による、手書きテキストの認識の間のさまざまなタイミングのユーザディスプレイの例を示す図である。
【図６】本開示のいくつかの実施形態による、手書きテキストの認識の間のさまざまなタイミングのユーザディスプレイの例を示す図である。
【図７】本開示のいくつかの実施形態による、手書きテキストの認識の間のさまざまなタイミングのユーザディスプレイの例を示す図である。
【図８】本開示のいくつかの実施形態による、手書きテキストの認識の間のさまざまなタイミングのユーザディスプレイの例を示す図である。
【図９】本開示のいくつかの実施形態による、図１の例示的なユーザデバイス及び例示的なサーバの機能的な構成図である。
【図１０】本開示のいくつかの実施形態による、ユーザデバイスにおいて手書き入力の認識を実行する例示的な手法を示すフロー図である。
【図１１】本開示のいくつかの実施形態による、手書き入力の認識を実行するためにユーザデバイスによって実行され得る例示的な手法を示すフロー図である。
【図１２】本開示のいくつかの実施形態による、手書き入力の認識を実行する例示的な手法を示すフロー図である。
【発明を実施するための形態】
【００３１】
図１を参照すると、ユーザが例示的なユーザデバイス１００と対話する例が示されている。ユーザデバイス１００は、（図示されたように）携帯電話器、タブレットコンピュータ、ラップトップコンピュータ、又はデスクトップコンピュータなどの任意のコンピューティングデバイスであってよい。
【００３２】
ユーザデバイス１００は、ディスプレイ１０４を備える。例えば、ディスプレイ１０４は、図示されたようにタッチディスプレイであってよい。さらに又はあるいは、ユーザデバイス１００は、部分的なＱＷＥＲＴＹ配列ベースのキーボード（図示せず）などの物理的キャラクタレイアウトを備えてもよい。
【００３３】
タッチディスプレイ１０４は、情報を表示するとともに、ユーザ１０８からの入力を受信し得る。一例として、ユーザ１０８は、指１１２などの１本又は複数本の指を用いて、タッチディスプレイ１０４を介してユーザデバイス１００に情報を入力し得る。さらに又はあるいは、ユーザ１０８は、スタイラス、マウス、トラックボール等を使用して、タッチディスプレイ１０４を介してユーザデバイス１００に情報を入力してもよい。
【００３４】
ユーザデバイスは、広い分野で利用可能であり、したがって、世界中のさまざまな国で使用され得る。ユーザデバイスは、さまざまな機能を実行する。また、ユーザデバイスは、サーバとの接続を介するなどして、さまざまな機能の遠隔的な実行を容易にし得る。ユーザデバイス１００によって実行され得る又は遠隔的に実行され得る機能の一例としては、ユーザデバイス１００に入力される手書きテキストの認識がある。
【００３５】
ユーザは、指１１２などの１本又は複数本の指を使用して、認識のためにユーザデバイス１００に手書き入力を行える。さらに又はあるいは、ユーザ１０８は、スタイラス、マウス、トラックボール、ペン等を使用して、タッチディスプレイ１０４を介して、認識のためにユーザデバイス１００に手書き入力を提供してもよい。
【００３６】
一般に、手書き入力は、１つ又は複数のストローク、例えば、単一点又は連続する線を含み、それらは、個々に又は集合的に、ライティングシステムにおける１つ以上の文字（キャラクタ）を表す。「ストローク（stroke）」は、文字の一部分、１つ以上の完全な文字、語（ワード）若しくは語の一部分、複数の語からなる句（フレーズ）、又は完成された文（センテンス）を形成できる。認識エンジンは、手書き入力を個々の手書き文字に分解する。認識エンジンは、手書き文字に基づいて、テキスト文字をそれぞれ決定する。決定されたテキスト文字列は、ユーザに対して表示される。明細書中では、一度に単一の文字を認識するように説明されているが、本開示物は、一度に、１つの文字に満たないもの（文字の一部分）又は複数の単一文字を認識するように等しく適用可能であることに留意されたい。したがって、明細書中で、「文字（character）」を決定するための手書き入力の認識について説明するとき、用語「文字」は、単一の文字、（語、複数の語、句、文等を含む）複数の文字、及び１つの文字の一部分を包含することを意図していることに留意されたい。
【００３７】
手書き入力の認識は、ローカルで、クラウド上で（ネットワークを介してユーザデバイス１００に接続されたサーバで）、又はそれらの組合せによって実行できる。「サーバ（sever）」で実行されるものとして明細書中に記載される手法は、分散配置された２つ以上のサーバ又は並列サーバ配列で実行できることに留意されたい。したがって、明細書中で使用される用語「サーバ」は、単一のサーバ及び連携して動作する複数のサーバを包含することを意味していることに留意されたい。
【００３８】
ユーザデバイス１００は、タッチディスプレイ１０４に２つの表示部、すなわち、テキスト表示部と、手書き入力表示部とを生成する。手書き入力表示部において、ユーザデバイス１００は、現在のところ認識を行っている手書き入力と、まだ認識されていない任意の追加的な手書き入力とを表示する。テキスト表示部において、ユーザデバイス１００は、手書き語に対応するテキスト及び／又は以前に認識済みの手書き文字を表示する。
【００３９】
手書き入力の認識が実行されていることを意識しているときには特に、ユーザ１０８は、認識プロセスの進捗状況（プログレス）に興味を持ち得る。したがって、ユーザデバイス１００は、手書き入力の認識の進捗状況の１つ以上の視覚的指示子（インジケータ）を生成する。手書き入力の認識の進捗状況をユーザ１０８に通知するために、１つ以上の手法が利用されてよい。
【００４０】
１つの例示的な手法は、認識の進捗状況を示すために、パーセンテージ付き又は無しのプログレスバーを表示することを含む。別の例示的な手法は、手書き文字が認識されると、手書き入力の手書き文字として決定された文字を１つずつ表示することを含む。さらに別の例示的な手法は、既に認識済みの手書き入力の手書き文字をある色で表示し、まだ認識されていない手書き入力の手書き文字を別の色で表示することを含む。
【００４１】
手書き入力の認識が行われている間に、手書き入力によって示された手書き語の候補語幹（stem）と、１つ以上の候補語幹に対する候補完全語（whole word）とを認識できる。ユーザデバイス１００は、候補語幹をユーザ１０８に対して表示してよい。ユーザデバイス１００は、候補語幹に対して１つ以上の候補完全語が認識済みであるとき、候補語幹と共に候補語の指示子を表示してもよい。
【００４２】
ユーザは、候補語指示子と共に表示される候補語幹を選択できる。候補語幹が選択されたとき、ユーザデバイス１００は、候補語幹に対して識別された候補語を表示する。ユーザ１０８は、手書き入力の認識が完了するよりも前に、複数の候補語のうちの１つ又は複数の候補語幹のうちの１つを選択できる。これは、手書き入力のより高速な認識を実現し得る。
【００４３】
手書き入力の認識が行われている間に、ユーザが別の手書き入力を入力し始めると、ユーザデバイス１００は、現在のところ認識が行われている第１の手書き入力及びまだ認識されていない（複数の）手書き入力のサイズを変更してよい。また、ユーザデバイス１００は、手書き入力の認識が現在行われているとき及び／又は認識しようとする１つ以上の追加的な手書き入力が存在するとき、ユーザ１０８に対して認識保留中の指示子を表示してもよい。
【００４４】
図２を参照すると、ユーザデバイス１００の一例がより詳細に示されている。先に記載の通り、ユーザデバイス１００は、タッチディスプレイ１０４を備える。タッチディスプレイ１０４は、静電容量式感知ディスプレイなどの任意のタッチ感知ディスプレイデバイスを含んでよい。タッチディスプレイ１０４は、ユーザ１０８に情報を表示するとともに、ユーザ１０８によって入力された情報を受信する。先に記載の通り、さらに又はあるいは、ユーザデバイス１００は、ユーザ１０８からの入力を受信するための物理的キャラクタレイアウト、例えば、部分的なＱＷＥＲＴＹ配列ベースのキーボードを備えてもよい。さまざまな実施形態において、物理的キャラクタレイアウトは、「ソフトウェアキーボード（soft keyboard）」として、タッチディスプレイ１０４の一部分にレンダリングされてもよい。
【００４５】
ユーザデバイス１００は、ユーザインタフェースモジュール２００と、プロセッサ２０４と、通信モジュール２０８とをさらに備えてよい。ユーザデバイス１００は、メモリ及び電源などの追加的なコンピューティングコンポーネントを備えてもよく、かつユーザインタフェースモジュール２００及び通信モジュール２０８の機能は、プロセッサ２０４によって全体的又は部分的に実行されてよいことに留意されたい。したがって、明細書中で使用される用語「ユーザインタフェースモジュール２００」及び「通信モジュール２０８」は、記載した手法をユーザデバイス１００に実行させる命令を実行する、プロセッサ２０４などの１つ又は複数のプロセッサを含んでよい。
【００４６】
ユーザインタフェースモジュール２００は、ユーザデバイス１００のタッチディスプレイ１０４を介するユーザ１０８との通信をコントロールできる。ユーザインタフェースモジュール２００は、ユーザデバイス１００のタッチディスプレイ１０４を介して、さまざまな入力形態でユーザ１０８に提供されてよい。例えば、ユーザインタフェースモジュール２００は、ユーザデバイス１００のタッチディスプレイ１０４を介して、標準的なＱＷＥＲＴＹ配列キーボードの形式でユーザ１０８に提供されてよい。さらに又はあるいは、ユーザインタフェースモジュール２００は、認識のために手書き入力を入力するためのインタフェースとしてユーザ１０８に提供されてもよい。
【００４７】
手書き入力の認識は、ユーザデバイス１００においてローカルに実行されるか、遠隔サーバにおいて（「クラウド（cloud）上で」）実行されるか、又はそれらの組み合わせによって実行されてよい。ユーザインタフェースモジュール２００は、タッチディスプレイ１０４を介して、手書き入力に対して認識されたテキストを表示する。また、ユーザインタフェースモジュール２００は、タッチディスプレイ１０４上に、手書き入力の認識の進捗状況の１つ以上の視覚的指示子を表示する。
【００４８】
プロセッサ２０４は、ユーザデバイス１００の多くの動作をコントロールするとともに、ユーザインタフェースモジュール２００及び通信モジュール２０８の両方と通信を行い得る。例えば、プロセッサ２０４は、これらに限定されないが、ユーザデバイス１００のオペレーティングシステムのロード／コントロール、プログラム及び関数のロード／実行、通信モジュール２０８の通信パラメータのロード／設定、手書き入力認識パラメータのコントロール、及びメモリの格納／取出し動作のコントロールなどのタスクを実行してよい。単一のプロセッサ２０４が図示されているが、単一のプロセッサの代わりに、並列動作するか又は分散配置されて動作する複数の個々のプロセッサを利用できることに留意されたい。したがって、明細書中で使用される用語「（プロセッサ２０４などの）プロセッサ（processor）」は、記載した手法を実行するように動作する１つ以上のプロセッサを包含することを意味する。
【００４９】
通信モジュール２０８は、ユーザデバイス１００と他のデバイスらとの間の通信をコントロールする。一例として、通信モジュール２０８は、ユーザデバイス１００とユーザ１０８及び／又はインターネットに関連した他のユーザらとの間の通信のために提供されてよい。ユーザデバイス１００は、インターネット（以下、「ネットワーク２５０」と称する）、携帯電話（セルラー）ネットワーク２５４、衛星ネットワーク２５８、及び／又は他の任意の適切な通信媒体などのコンピューティングネットワーク２５０を介して通信を行ってよい。通信モジュール２０８は、有線及び無線の両方のネットワーク接続、無線周波数（ＲＦ）通信等のために構成されてもよい。
【００５０】
図３を参照すると、ユーザインタフェースモジュール２００の一例の機能的構成図が示されている。ユーザインタフェースモジュール２００は、認識エンジン３００と、ユーザインタフェース制御モジュール３０４と、認識データストア３０８とを含んでよい。明細書中では３つのモジュールと単一のデータストアとが示され、説明されるが、ユーザインタフェースモジュール２００は、他のメモリなどの追加的なコンピューティングコンポーネントを含んでもよい。
【００５１】
ユーザインタフェース制御モジュール３１２は、認識のためにユーザ１０８がユーザデバイス１００に手書き入力を行うために、タッチディスプレイ１０４上に手書き入力認識インタフェースを表示する。また、ユーザインタフェース制御モジュール３１２は、手書き入力に基づいて認識されたテキストがユーザ１０８に対して表示されるように動作する。
【００５２】
タッチディスプレイ１０４に表示される手書き入力認識インタフェース４００の一例が図４に示される。図３及び図４を参照すると、手書き入力認識インタフェース４００は、２つの部分、すなわち、手書き入力表示部４０４と、テキスト表示部４０８とを含んでよい。また、手書き入力認識インタフェース４００は、ユーザ１０８がスペース、リターン、句読点、記号等を入力可能な、ＱＷＥＲＴＹ配列ベースのキーボード、Ｔ９ベースのキーボード、又は他の適切なタイプのインタフェースなどの完全な又は部分的なキーボードを含んでもよい。図４の例では、手書き入力認識インタフェース４００は、ユーザ１０８がスペース、リターン、句読点、記号等を入力可能なインタフェースを備えずに、タッチディスプレイ１０４に表示されている。
【００５３】
ユーザ１０８は、タッチディスプレイ１０４上の任意の場所、又は手書き入力表示部４０４内などのタッチディスプレイ１０４のより狭い部分内で、認識のための手書き入力を行い得る。ユーザインタフェースモジュール２００は、ユーザ１０８によって手書き入力が行われると、リアルタイムで、手書き入力の認識の間に、又はその両方によって、手書き入力を表示してよい。リアルタイムは、入力と表示との間に許容可能な量の遅延を含んでよいことに留意されたい。
【００５４】
ユーザ１０８が手書き入力を提供すると、ユーザインタフェースモジュール２００は、手書き入力認識インタフェース４００の手書き入力表示部４０４内に手書き入力を表示してよい。図４の例では、手書き入力「ｈａｎｄ」が手書き入力表示部４０４内に表示される。ユーザ１０８は、筆記体又は（ブロック体とも称される）活字体を使用して手書き入力を提供できる。英語での手書き入力が説明され、示されているが、明細書に記載される認識及び表示の手法は、他の言語での手書き入力にも適用可能である。
【００５５】
手書き入力に対して認識されたテキストは、手書き入力認識インタフェース４００のテキスト表示部４０８でユーザ１０８に表示される。図４の例では、手書き入力のどの部分もまだ認識されていないので、テキスト表示部４０８にテキストは表示されない。
【００５６】
認識エンジン３００は、手書き入力を、１つ以上の手書き文字などのさまざまな部分に分解し得る。例えば、認識エンジン３００は、手書き入力「ｈａｎｄ」を、手書き入力を形成する４つの手書き文字に分解できる。さまざまな言語において、文字は、語に対応してよい。
【００５７】
認識エンジン３００は、認識データストア３０８に格納されたデータを使用して、手書き入力を手書き文字に分解してよい。ユーザインタフェース制御モジュール３０４は、１つ以上の手書き文字を使用して手書き入力の画像を表示するように、表示される内容を更新してよい。図５は、４つの手書き文字を使用して手書き入力表示部４０４に表示された手書き入力「ｈａｎｄ」の例示的な画像を示す。
【００５８】
認識データストア３０８に格納されたデータに基づき、認識エンジン３００は、手書き入力の手書き文字を１つずつ認識できる。換言すれば、認識エンジン３００は、一度に１つの手書き文字について、手書き文字に対するテキスト文字を決定し得る。いくつかの実施形態において、認識エンジン３００は、一度に、手書き入力の複数の手書き文字を認識してもよい。認識エンジン３００が手書き文字を認識する順序は、英語に対する左から右への認識など、論理的な読み取り順であってよい。
【００５９】
ユーザインタフェース制御モジュール３０４は、タッチディスプレイ１０４上の手書き文字の認識の進捗状況の視覚的指示子を生成する。視覚的指示子は、認識の進捗状況をタッチディスプレイ１０４介してユーザ１０８に視覚的に表示する１つ以上の機能の組合せを含んでよい。
【００６０】
例えば、ユーザインタフェース制御モジュール３０４は、タッチディスプレイ１０４にプログレスバーを表示し、手書き文字が決定されると、プログレスバーを更新してよい。プログレスバーは、完了した認識のパーセンテージについての数値的なパーセンテージ指示子を含んでよく、又は含まなくてもよい。
【００６１】
別の例において、ユーザインタフェース制御モジュール３０４は、テキスト文字が決定されたとき、テキスト表示部４０８内にそのテキスト文字を表示する。図５は、手書き入力「ｈａｎｄ」のうちの最初の２つの手書き文字から決定されたテキスト文字「ｈ」及び「ａ」が表示されている例である。テキスト文字が決定されたときにテキスト文字を追加表示することは、ユーザ１０８に、認識の進捗状況の視覚的指示を提供する。
【００６２】
さらに別の例において、ユーザインタフェース制御モジュール３０４は、手書き文字が認識されると、手書き入力の少なくとも一部分の色を変更する。この手法において、テキスト文字が決定済みの手書き文字は、第１の色で表示され、かつテキスト文字がまだ決定されていない手書き文字は、第１の色とは異なる第２の色で表示される。また、図５は、４つの手書き文字のうちの最初の２つの手書き文字が第１の色で表示され、一方、４つの手書き文字のうちの後の２つの手書き文字が第１の色とは異なる第２の色で表示されることを図示している。
【００６３】
図６は、４つの手書き文字に基づく決定の後に、テキスト文字「ｈ」、「ａ」、「ｎ」、及び「ｄ」がそれぞれ表示されることを図示している。また、図６は、４つの手書き文字に対するテキスト文字が決定済みであるので、手書き入力「ｈａｎｄ」の４つの手書き文字のすべてが第２の色で表示されることを図示している。手書き入力の手書き文字のすべてが認識され、かつ決定されたテキスト文字が表示された後に、ユーザインタフェース制御モジュール３０４は、表示されている手書き入力を除去してよい。
【００６４】
手書き入力が認識されると、認識エンジン３００は、手書き入力の候補語幹を識別してよい。また、認識エンジン３００は、手書き入力が認識された後に、手書き入力の候補語幹を識別してもよい。認識エンジン３００は、手書き入力に対して決定されたテキスト文字に基づいて候補語幹を決定してよい。語幹は、語の一部分、句、及び／又は文を指してよい。また、語幹は、接辞（affix）（例えば、接尾辞（suffix））を付けることができるすべての語を指してもよい。
【００６５】
例えば、図５において、手書き入力の最初の２つの手書き文字から文字「ｈ」及び「ａ」が認識されると、認識エンジン３００は、「ｈａ」、「ｈａｔ」、「Ｉｎａ」、「Ｉｒａ」等を含む候補語幹を決定し得る。ユーザインタフェース制御モジュール３０４は、タッチディスプレイ１０４に候補語幹を選択的に表示する。ユーザインタフェース制御モジュール３０４は、候補語幹が表示されるタッチディスプレイ１０４の領域中でユーザ１０８がタッチディスプレイ１０４に触れることに応答して、他の候補語幹を表示してもよい。
【００６６】
認識エンジン３００は、候補語幹に対して１つ以上の候補完全語が識別されたとき、候補語幹と共に候補語の指示子を表示してよい。例えば、図５及び図６の例において、１つ以上の候補完全語が識別された候補語幹と共に、候補語指示子「．．．」が表示される。一例として、候補語幹「ｈａ」に対して「ｈａｎｄｓ」などの１つ以上の完全語が識別されたので、図５の例では、候補語幹「ｈａ」は、候補語指示子「．．．」と共に表示される。
【００６７】
ユーザ１０８は、候補語指示子と共に表示される候補語幹を選択できる。ユーザ１０８は、例えば、候補語幹の周りに定義される範囲で又はその範囲の近辺でタッチディスプレイ１０４に触れることによって、候補語幹を選択できる。候補語幹が選択されるとき、ユーザインタフェース制御モジュール３０４は、選択された候補語幹に対して識別される候補完全語を表示する。例えば、ユーザインタフェース制御モジュール３０４は、図７の例において例示されるように、ユーザ１０８が候補語幹「ｈａｎ」を選択することに応答して、候補完全語「ｈａｎｄ」、「ｈａｎｄｓ」、「ｈａｎｄｅｄ」、及び「ｈａｎｄｌｅ」を表示し得る。ユーザインタフェース制御モジュール３０４は、ポップアップ若しくはドロップダウンメニューで又は他の適切な手法で、候補完全語を表示してよい。
【００６８】
ユーザ１０８は、手書き語の認識が完了する前に、複数の候補完全語のうちの１つを選択できる。これは、手書き入力のより高速な認識を可能にし得る。さらに、手書き語全体が認識された後であっても１つ以上の候補完全語が識別され得るので、速記手書き入力が使用され得る。例えば、図６の例では、手書き入力「ｈａｎｄ」が識別されており、テキスト表示部に表示されている。しかしながら、「ｈａｎｄ」は、候補語幹としても識別されており、１つ以上の候補完全語が、候補語幹「ｈａｎｄ」に対して識別されている。候補語幹「ｈａｎｄ」に基づいて識別され得る候補完全語の例としては、例えば、「ｈａｎｄｓ」、「ｈａｎｄｅｄ」、「ｈａｎｄｌｅ」がある。
【００６９】
ユーザ１０８が最初の手書き入力が認識される前に別の手書き入力の提供を開始した場合、ユーザインタフェース制御モジュール３０４は、最初の手書き入力を縮小してよい。図８は、手書き入力「ｈａｎｄ」の縮小版の一例である。
【００７０】
また、ユーザインタフェース制御モジュール３０４は、最初の手書き入力の認識が行われているとき及び／又は認識対象となる１つ以上の追加の手書き入力が存在するとき、ディスプレイのテキスト表示部内に認識保留中の指示子を表示してよい。例えば、ユーザインタフェース制御モジュール３０４は、図５から図７に示されるように、認識保留中指示子として「．．．」を表示してよく、又は１つ以上の手書き入力の認識が保留中であることを示す他の適切な指示子を表示してもよい。
【００７１】
図９を参照すると、別の例示的な手書き入力認識システムの機能的な構成図が示されている。先に記載の通り、手書き入力の認識は、遠隔サーバ５００によって完全に又は部分的に実行されてよい。ユーザインタフェースモジュール２００は、タッチディスプレイ１０４に入力される手書き入力のデジタル画像をキャプチャし得る。通信モジュール２０８は、デジタル画像を、ネットワーク５０２を介してサーバ５００に転送し得る。ネットワーク５０２は、例えば、ネットワーク２５０、セルラーネットワーク２５４、衛星ネットワーク２５８、又は他の適切なタイプのネットワークであってよい。サーバ５００は、通信モジュール５００と、入力決定モジュール５０８と、認識データストア５１２と、認識エンジン５１６とを含んでよい。サーバ５００は、１つ以上のプロセッサ、メモリ、電源、及び他の適切なコンピューティングコンポーネントなどの追加的なコンピューティングコンポーネントを含んでよいことに留意されたい。
【００７２】
サーバ５００は、通信モジュール５０４を介してデジタル画像を受信し得る。認識エンジン５０８は、デジタル画像を手書き文字に分解し得る。認識エンジン５０８は、例えば、認識データストア５１２に格納されたデータを使用して、手書き入力を手書き文字に分解してよい。サーバ５００は、ユーザデバイス１００がユーザ１０８に対して手書き文字を表示するために、手書き文字の１つ以上の画像をユーザデバイス１００に返送してよい。
【００７３】
認識エンジン５０８は、一度に１つずつ又は２つ以上、手書き文字に対する手書き文字を決定し得る。例えば、認識エンジン５０８は、認識データストア５１２に格納されたデータを使用して、手書き文字に対するテキスト文字を決定してよい。サーバ５００は、テキスト文字が決定されると、手書き文字に対するテキスト文字の指示子をユーザデバイス１００に転送できる。ユーザデバイス１００は、指示子に基づいて、テキスト文字を決定し、該テキスト文字を、タッチディスプレイ１０４を介してユーザ１０８に対して表示する。
【００７４】
また、ユーザデバイス１００は、タッチディスプレイ１０４を介して、先に記載した複数の視覚的指示子のうちの１つ以上の指示子などの、手書き入力の認識の進捗状況の１つ以上の視覚的指示子を表示する。ユーザデバイス１００は、テキスト文字に基づいて候補語幹及び候補完全語を決定し得る。例えば、ユーザデバイス１００は、ユーザデバイス１００のメモリ内に実装される辞書データストア（図示せず）を使用して、候補語幹及び候補完全語を決定してよい。
【００７５】
図１０を参照すると、ユーザデバイス１００における、手書き入力の認識及び手書き入力の進捗状況の表示の例示的手法６００が示されている。手法６００は、ユーザデバイス１００がタッチディスプレイ１０４を介してユーザ１０８から手書き入力を受信するステップ６０４から開始され得る。ステップ６０８において、ユーザデバイス１００は、手書き入力を１つ以上の手書き文字に分解する。ユーザデバイス１００は、ステップ６１２において、手書き入力を形成する手書き文字をタッチディスプレイ１０４に表示してよい。また、ユーザデバイス１００は、ステップ６１２において、手書き入力の認識の進捗状況を示す１つ以上の視覚的指示子を表示してもよい。
【００７６】
ユーザデバイス１００は、ステップ６１６において、１つ以上の手書き文字のうちの最初の１つに対するテキスト文字を決定する。ユーザデバイス１００は、例えば、手書き文字列のうちの最初の１つの手書き文字と、手書き文字に基づいてテキスト文字を決定するためのデータとに基づいて、テキスト文字を決定してよい。ステップ６２０において、ユーザデバイス１００は、手書き文字列のうちの最初の１つの手書き文字に対して決定されたテキスト文字を表示し、手書き入力の認識の進捗状況をユーザ１０８に示すために表示される１つ以上の視覚的指示子を更新する。
【００７７】
ステップ６２４において、ユーザデバイス１００は、１つ以上の手書き文字のうちの第２の手書き文字に対するテキスト文字を決定する。ユーザデバイス１００は、例えば、手書き文字列のうちの第２の手書き文字と、手書き文字に基づいてテキスト文字を決定するためのデータとに基づいて、テキスト文字を決定してよい。ステップ６２８において、ユーザデバイス１００は、手書き文字列のうちの第２の手書き文字に対して決定されたテキスト文字を表示し、手書き入力の認識の進捗状況をユーザ１０８に示すために表示される１つ以上の視覚的指示子を更新する。ユーザデバイス１００は、もしあれば、残りの手書き文字に対してテキスト文字を決定し、決定されたテキスト文字を表示し、表示された１つ以上の視覚的指示子を更新する動作を続けてよい。ステップ６３２において、すべての手書き文字が識別され、かつ決定されたテキスト文字が表示されると、ユーザデバイス１００は、手書き文字をタッチディスプレイ１０４から除去してよい。
【００７８】
図１１を参照すると、手書き入力の認識がサーバ５００で実行される場合に、ユーザデバイス１００によって実行され得る例示的な手法７００が示されている。手法は、ユーザデバイス１００がタッチディスプレイ１０４を介してユーザ１０８から手書き入力を受信するステップ７０４から開始され得る。ステップ７０８において、ユーザデバイス１００は、手書き入力の画像をキャプチャし得る。ユーザデバイス１００は、ステップ７１２において、手書き入力の認識のために、手書き入力の画像をサーバ５００に転送する。ステップ７１６において、ユーザデバイス１００は、サーバ５００によって分解された手書き入力の手書き文字の１つ以上の指示子を受信する。また、ユーザデバイス１００は、タッチディスプレイ１０４を介して手書き文字を表示してもよい。
【００７９】
ユーザデバイス１００は、ステップ７２０において、手書き入力の認識の進捗状況の１つ以上の視覚的指示子を表示する。ユーザデバイス１００は、ステップ７２４において、手書き入力の第１の手書き文字に対応するテキスト文字を受信する。ユーザデバイス１００は、ステップ７２８において、第１の手書き文字に対応するテキスト文字を表示し、認識の進捗状況の１つ以上の視覚的指示子を更新する。
【００８０】
ステップ７３２において、ユーザデバイス１００は、手書き入力の第２の手書き文字に対応するテキスト文字を受信する。ユーザデバイス１００は、ステップ７３６において、第２の手書き文字に対応するテキスト文字を表示し、認識の進捗状況の１つ以上の視覚的指示子を更新する。ユーザデバイス１００は、もしあれば、サーバ５００から残りの手書き文字に対応するテキスト文字を受信し、決定されたテキスト文字を表示し、それらが受信されたときに表示された１つ以上の視覚的指示子を更新する動作を続けてよい。ステップ７４０において、すべての手書き文字が識別されると、ユーザデバイス１００は、手書き入力の認識が完了したことを示す指示子をサーバ５００から受信してよい。ユーザデバイス１００は、ステップ７４４において、手書き文字をタッチディスプレイ１０４から手除去してよい。
【００８１】
図１２を参照すると、サーバ５００によって実行され得る例示的な手法８００が示されている。手法は、サーバ５００がユーザデバイス１００などのユーザデバイスから手書き入力の画像を受信するステップ８０４から開始され得る。サーバ５００は、ステップ８０８において、画像を１つ以上の手書き文字に分解する。サーバ５００は、ステップ８１２において、ユーザデバイスに手書き文字の１つ以上の指示子を転送する。
【００８２】
ステップ８１６において、サーバ５００は、１つ以上の手書き文字のうちの最初の１つの手書き文字に対応するテキスト文字を決定する。サーバ５００は、ステップ８２０において、最初の１つの手書き文字に対応するテキスト文字の指示子を転送する。ステップ８２４において、サーバ５００は、１つ以上の手書き文字のうちの第２の手書き文字に対応するテキスト文字を決定し得る。サーバ５００は、ステップ８２８において、第２の手書き文字に対応するテキスト文字の指示子を転送する。サーバ５００は、もしあれば、残りの手書き文字に対応するテキスト文字を決定し、それらが決定されると、テキスト文字の指示子を転送する動作を続けてよい。手書き文字列の各々に対してテキスト文字が決定されると、サーバ５００は、ステップ８３６において、ユーザデバイスに認識完了指示子を転送してよい。
【００８３】
この開示を完全なものとし、当業者らにその範囲が十分に伝わるよう、例示的な実施形態が提供された。本開示の実施形態の完全な理解を提供するために、特定のコンポーネント、デバイス、及び手法の例などの多くの特定の詳細が説明された。しかしながら、特定の詳細を採用しなくてもよいこと、例示的な実施形態がさまざまな形態で実装されてよいこと、及び開示の範囲を限定すると見なされてはならないことが当業者には明らかであろう。いくつかの例示的な実施形態において、既知の手順、既知のデバイス構成、及び既知の技術は、その詳細を記載していない。
【００８４】
明細書中で使用された用語は、例示的な実施形態を詳細に説明することだけを目的とするものであって、限定することを意図しない。明細書中で使用された単数形「１つの（a, an, the）」は、文脈中で明確に指定されない限り、複数形も包含することを意図している。用語「及び／又は（and/or）」は、列挙した関連する要素のうちの１つ以上の任意の又はすべての組合せを含む。用語「含む、備える、有する（comprise, comprising, including, having）」は、包括的に用いられ、したがって、記載した特徴、数量、ステップ、動作、要素、及び／又は構成要素の存在を明らかにするとともに、１つ以上の他の特徴の存在又は追加を排除しない。明細書中に記載された技術的なステップ、プロセス、及び動作は、実行の順序が特に規定されていない限り、それらが説明又は例示された特定の順序で実行される必要があると解釈してはならない。また、追加的な又は代替的なステップが採用されてよいことに留意されたい。
【００８５】
用語「第１の（first）」、「第２の（second）」、「第３の「third」」等がさまざまな要素、構成要素、部位、層、及び／又は区域を記載するために明細書中で使用されているが、これらの要素、構成要素、部位、層、及び／又は区域は、これらの用語によって限定されてはならない。これらの用語は、他の部位、層、又は区域から、ある要素、構成要素、部位、層、又は区域を区別するためだけに使用され得る。明細書中で使用されるとき、「第１」、「第２」などの用語及び他の数値的用語は、文脈中で明確に指定されていない限り、順序又は順番の意味を含まない。したがって、記載された第１の要素、構成要素、部位、層、又は区域は、例示的な実施形態の教示を逸脱しない限り、第２の要素、構成要素、部位、層、又は区域を指すことができる。
【００８６】
明細書中で使用された用語「モジュール」は、特定用途向け集積回路（ＡＳＩＣ）、電子回路、組合せ論理回路、利用者書込み可能ゲートアレイ（ＦＰＧＡ）、コードを実行する（共有、専用、又はグループ化）プロセッサ、若しくはプロセッサの分散配置ネットワークによって実行されるプロセス及びネットワーク化されたクラスタ又はデータセンタのストレージ、記載した機能を提供する他の適切なコンポーネント、又は、システムオンチップなどによるこれらのうちのいくつか又はすべての組合せ、を含むか又はその一部分となることを指してよい。用語「モジュール（module）」は、１つ以上のプロセッサによって実行されるコードを格納する（共有、専用、又はグループ化）メモリを含んでよい。
【００８７】
先に使用された用語「コード（code）」は、ソフトウェア、ファームウェア、バイトコード、及び／又はマイクロコードを含んでよく、プログラム、ルーチン、関数、クラス、及び／又はオブジェクトを指してよい。先に使用された用語「共有（shared）」は、複数のモジュールからのいくつかの又はすべてのコードが単一の（共有される）プロセッサを使用して実行され得ることを意味する。さらに、複数のモジュールからのいくつかの又はすべてのコードは、単一の（共有された）メモリによって格納されてよい。先に使用された用語「グループ（group）」は、単一のモジュールからのいくつかの又はすべてのコードが複数のプロセッサからなるグループを使用して実行され得ることを意味する。さらに、単一のモジュールからのいくつかの又はすべてのコードは、複数のメモリからなるグループを使用して格納されてよい。
【００８８】
明細書中に記載された手法は、１つ以上のプロセッサによって実行される１つ以上のコンピュータプログラムによって実装されてよい。コンピュータプログラムは、非一時的な有形のコンピュータ読み取り可能な記録媒体に格納されるプロセッサ実行可能な命令を含む。また、コンピュータプログラムは、格納済みのデータを含んでよい。非一時的な有形のコンピュータ読み取り可能な記録媒体の非限定的な例は、不揮発性メモリ、磁気ストレージ、及び光学ストレージである。
【００８９】
先の記載のうちのある部分は、情報操作のアルゴリズム及び記号的表現として明細書中に記載された手法を提示する。これらのアルゴリズム的記載及び表現は、データ処理の分野の他の当業者らにこれらの働きの本質を効果的に伝えるために、データ処理の分野の当業者らによって使用される手段である。これらの動作は、機能的又は論理的に記載されていても、コンピュータプログラムによって実装されることに留意されたい。さらにまた、これらの動作は、時には都合に合わせて、普遍性を欠くことなく、これらの動作の配置をモジュールと称したり、機能的な名称で呼ばれたりする。
【００９０】
先の記載において明らかであると特に明言した場合を除き、明細書の記載を通して、「処理する（processing）」、「演算する（computing）」、「算出する（calculating）」、「決定する（determining）」、又は「表示する（displaying）」などの用語を用いた説明は、コンピュータシステムのメモリ若しくはレジスタ、又は他の情報格納、送信、若しくは表示デバイス内で、物理的（電子的）量として表されるデータを操作し、変更する、コンピュータシステム又は同様の電子演算デバイスの動作及びプロセスを指すことに留意されたい。
【００９１】
記載された手法のうちのある態様は、アルゴリズムの形式で明細書中に記載されたプロセスステップ及び命令を含む。記載されたプロセスステップ及び命令は、ソフトウェア、ファームウェア、又はハードウェアとして実装でき、ソフトウェアで実装された場合、リアルタイムネットワークオペレーティングシステムによって使用されるさまざまなプラットフォーム内にダウンロードされ、そこで動作できることに留意されたい。
【００９２】
また、本開示は、明細書中の動作を実行するための装置に関する。この装置は、要求された目的のために特別に構成されてよく、又は、コンピュータによってアクセス可能なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムによって選択的に起動又は構成される汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、これらに限定されないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、特定用途向け集積回路（ＡＳＩＣ）、又は電子的命令を格納するために適し、コンピュータシステムバスに接続された任意のタイプの媒体などの、有形のコンピュータ読み取り可能な記憶媒体に格納されてよい。さらに、明細書中で言及されるコンピュータは、単一のプロセッサを含んでよく、又はコンピューティング能力を増大させるように設計されたマルチプロセッサを利用するアーキテクチャであってもよい。
【００９３】
明細書中に記載されたアルゴリズム及び動作は、任意の特定のコンピュータ又はその他の装置に固有のものではない。また、明細書中の教示に従って、さまざまな汎用システムがプログラムと共に使用されてよく、かつ、そのようなシステムは、より専門的な装置を構成して必要とされる技術的ステップを実行するために好都合であり得る。さまざまなそれらのシステムに必要とされる構成は、均等な変形例と共に、当業者らに明らかとなろう。さらに、本開示は、いかなる特定のプログラミング言語に準拠するものとして記載されていない。当然ながら、明細書に記載されたような本開示の教示物を実施するために、さまざまなプログラミング言語が使用されてよく、本発明の実施可能性及び最良の実施形態を開示するために、特定の言語への任意の準拠が提供される。
【００９４】
本開示は、多数のトポロジーを介する多様なコンピュータネットワークシステムに適合している。この分野において、大規模ネットワークの構築及び管理は、インターネットのようなネットワークを介して他のコンピュータ及びストレージデバイスに通信可能に接続された、複数のストレージデバイス及び複数のコンピュータを含む。
【００９５】
以上の実施形態の記載は、例示及び説明を目的として提供されたものである。そのような記載は、開示物を網羅すること又は限定することを意図しない。一般に、詳細な実施形態の個々の要素又は特徴は、そのような詳細な実施形態に限定されず、特に図示又は記載されていなくとも、応用可能であり、相互交換可能であり、選択された実施形態に使用可能である。また、同一物がさまざまに変更されてよい。そのような変形例は、開示物から逸脱するものとは見なされず、かつすべての修正例は、開示物の範囲内に包含される。
【符号の説明】
【００９６】
１００  ユーザデバイス
１０４  タッチディスプレイ
１０８  ユーザ
１１２  指
２００  ユーザインタフェースモジュール
２０４  プロセッサ
２０８  通信モジュール
２５０  ネットワーク
２５４  携帯電話（セルラー）ネットワーク
２５８  衛星ネットワーク
３００  認識エンジン
３０４  ユーザインタフェース制御モジュール
３０８  認識データベース
５００  サーバ
５０２  ネットワーク
５０４  通信モジュール
５０８  認識エンジン
５１２  認識データストア
【図１】
0006324969.tif 000002
【図２】
0006324969.tif 000003
【図３】
0006324969.tif 000004
【図４】
0006324969.tif 000005
【図５】
0006324969.tif 000006
【図６】
0006324969.tif 000007
【図７】
0006324969.tif 000008
【図８】
0006324969.tif 000009
【図９】
0006324969.tif 000010
【図１０】
0006324969.tif 000011
【図１１】
0006324969.tif 000012
【図１２】
0006324969.tif 000013