説明

重なり合うテキストのユーザ入力についての文字認識

【課題】コンピュータ装置に入力される、少なくとも部分的に互いの上に重ねて書かれる手書きの文字を、コンピュータ装置により認識する。
【解決手段】手書きの文字は、1つまたは複数のストロークで構成することができる。文字入力の間にタイムアウトを待つ必要なしに、かつ、別の文字について入力する前に、文字が完成したことを示すボタンを選択するかまたは別の入力を与える必要なしに、グラフィカルユーザインタフェースのほぼ同じ領域の上に(すなわち、互いの上に)、ユーザは文字または単語の一部を書くことができる。文字が少なくとも部分的に認識されると、ユーザ入力に対応する、スクリーン上に表示されているグラフの表示を変更してもよい。そうした変更は、グラフの表示を退色させることか、またはグラフの表示の大きさもしくは場所を変えることを含んでもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、重なり合うテキストのユーザ入力についての文字認識に関する。
【背景技術】
【0002】
携帯電話や、携帯情報端末(PDA)、デスクトップコンピュータ、シグネチャパッド、タブレットコンピュータ、または他の携帯型装置などのコンピュータ装置と、ユーザがタッチセンシティブな入力装置、例えばタッチセンシティブなスクリーンを介して対話することがよくある。典型的なタッチセンシティブなスクリーン(概して、本明細書では「タッチスクリーン」という)により、例えばスタイラスまたは指を用いて、ユーザはスクリーン上に筆記によりテキストを入力することが可能になる。タッチスクリーン(特により小さな装置のもの)には、書き込む領域が限られているものがある。典型的な文字認識ソフトウェアは、書かれた文字をそれらが単一のストロークで描かれたものと再定義することにより、ある文字を別の文字と区別するので、2番目の文字を書く前にユーザがタイムアウト期間を待つ必要があるか、または文字間で横にずらすことを用いる必要がある。
【発明の概要】
【0003】
ある例では、文字を認識するための方法が提供される。その方法は、コンピュータ装置のタッチベースのインタフェースでストローク列に関するタッチベースの入力を受け付けるステップであって、タッチベースのインタフェースの第1の領域にストローク列の第1の部分集合が対応し、第1の領域と少なくとも部分的に重なり合うタッチベースのインタフェースの第2の領域にストローク列の第2の部分集合が対応するステップを含む。その方法は、コンピュータ装置に連結された出力装置上にストローク列の第1の部分集合のグラフ表示を表示するステップと、第1の文字がストローク列の第1の部分集合にほぼ適合する信頼レベルであって、少なくとも第1の信頼しきい値のレベルである信頼レベルを判断するステップとをさらに含む。また、その方法は、信頼レベルに基づいて、ストローク列の第1の部分集合のグラフ表示を変更するステップと、コンピュータ装置上で動作する、タッチベースの入力からの文字を処理するように設計されているアプリケーションにより処理するために、信頼レベルが少なくとも第2の信頼しきい値のレベルであるときに第1の文字を提供するステップとを含む。
【0004】
別の例では、プログラム可能なプロセッサにある動作を実行させる指示を含む、コンピュータ読取り可能な有形の媒体が提供される。その指示は、コンピュータ装置のタッチベースのインタフェースでストローク列に関するタッチベースの入力を受け付けるステップであって、タッチベースのインタフェースの第1のグラフ領域にストローク列の第1の部分集合が対応し、第1のグラフ領域と少なくとも部分的に重なり合うタッチベースのインタフェースの第2のグラフ領域にストローク列の第2の部分集合が対応するステップを含んでもよい。また、その指示は、コンピュータ装置に連結された出力装置上にストローク列の第1の部分集合のグラフ表示を表示するステップと、少なくとも第1の信頼しきい値により、ストローク列の第1の部分集合が第1の文字に対応すると判断するステップとを含んでもよい。また、その指示は、ストローク列の第1の部分集合が第1の文字に対応するという判断に基づいて、ストローク列の第1の部分集合のグラフ表示を変更するステップを含んでもよい。その指示は、コンピュータ装置上で動作する、タッチベースの入力からの文字を処理するように設計されているアプリケーションにより処理するために、第1の文字を提供するステップを含んでもよい。
【0005】
さらに別の例では、1つまたは複数のプロセッサを含むコンピュータ装置が提供される。テキストの情報に関するストローク列の、タッチベースのユーザ入力を受け付ける入力装置であって、ストローク列が、入力装置の第1の領域に対応するストロークの第1の部分集合、およびストロークの第1の部分集合と少なくとも部分的に重なり合う入力装置の第2の領域に対応するストロークの第2の部分集合を含む入力装置を、そのコンピュータ装置はさらに含んでもよい。ストローク列のどのストロークがストローク列の第1の部分集合に含まれるかを判断し、ストローク列の第1の部分集合が第1の文字に対応すると判断するための手段を、そのコンピュータ装置はさらに含んでもよい。ストローク列の第1の部分集合のグラフ表示を表示する出力装置であって、ストローク列の第1の部分集合が第1の文字に対応するという判断に基づいてグラフ表示を変更する出力装置を、そのコンピュータ装置はさらに含み、出力装置が第1の文字をさらに出力してもよい。
【0006】
本開示の1つまたは複数の態様の詳細を、添付の図面と以下の明細書で述べる。本開示の他の特徴、目的および利点は、明細書、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0007】
【図1】本開示の1つまたは複数の態様による、1つまたは複数のアプリケーションを実行しユーザ入力を受け付けることができるコンピュータ装置の例を示すブロック図である。
【図2】本開示の1つまたは複数の態様による、図1に示したコンピュータ装置の一例のさらなる詳細を示すブロック図である。
【図3】本開示の1つまたは複数の態様による、タッチ入力に対応する文字を認識するためにコンピュータ装置により実行することができる例示的な方法を示すフローチャートである。
【図4】本開示の1つまたは複数の態様による文字認識モジュールを実行するコンピュータ装置により認識することができる、タッチベースの入力のストローク列の一例を示す概念図である。
【図5A】本開示の1つまたは複数の態様による文字認識モジュールにより解析することができる、ユーザにより入力されたストローク列の一例を示す概念図である。
【図5B】本開示の1つまたは複数の態様による文字認識モジュールにより解析することができる、ユーザにより入力されたストローク列の一例を示す概念図である。
【図5C】本開示の1つまたは複数の態様による文字認識モジュールにより解析することができる、ユーザにより入力されたストローク列の一例を示す概念図である。
【図5D】本開示の1つまたは複数の態様による文字認識モジュールにより解析することができる、ユーザにより入力されたストローク列の一例を示す概念図である。
【発明を実施するための形態】
【0008】
通例に従って、本明細書に記載する色々な特徴は一律の縮尺に従わずに描いており、本開示に関連する特徴を強調するために描いている。図面と本文の全体を通して、同様の参照文字は同様の要素を示す。
【0009】
本開示の技法により、少なくとも部分的に互いの上に重ねて書かれた手書きの文字を、コンピュータ装置が認識することが可能になる。コンピュータ装置のユーザが、入力(例えば、タッチ入力)を介して、1つまたは複数のストロークで構成される手書きの文字を入力する。文字は、これらに限定されないが、字、数、または他の記号などの、情報を伝えるいかなるマーキングでもよい。
【0010】
文字入力の間にタイムアウトを待つ必要なしに、かつ、別の文字について入力する前に、文字が完成したことを示すボタンを選択するかまたは別の入力を与える必要なしに、スクリーンのほぼ同じ領域の上に(すなわち、互いの上に)、ユーザは、文字または単語の一部を連続的に書くことができる。ユーザ入力に対応するグラフの表示(本明細書で「インク」という)をスクリーン上に表示してもよい。
【0011】
コンピュータ装置は、文字を互いに自動的に分離する文字認識モジュールを有してもよい。潜在的に認識された文字は、その潜在的に認識された文字がユーザ入力に対応する精度のレベルを示す信頼レベルを有してもよい。第1の信頼しきい値より高い信頼レベルで文字が認識されたら、ユーザ入力から文字が認識されたことを示すプロパティで、その認識された文字に対応するユーザ入力のグラフ表示を表示してもよい(例えば、少なくとも一部を退色させる)。第2の信頼しきい値より高い信頼レベルで文字が認識されたら、別のアプリケーションにより用いるために、認識モジュールは、その入力に対応する文字を生成、識別、または提供してもよい。第2の信頼レベルより高い信頼レベルで文字が認識されたときは、認識された文字のグラフ表示を表示部から除去してもよい。いくつかの例では、コンピュータ装置は、テキストとして認識された文字を表示する。本明細書に記載する技法は、個々の文字以外の、例えば単語または文ごとでも適用することができる。
【0012】
図1は、本開示の1つまたは複数の態様による、1つまたは複数のアプリケーション(例えば、テキストエントリアプリケーション8)を実行し、ユーザ入力18を受け付けることができるコンピュータ装置2の例を示すブロック図である。いくつかの例では、コンピュータ装置2は、携帯型のコンピュータ装置(例えば、携帯電話や、ネットブック、ラップトップ、携帯情報端末(PDA)、タブレット装置)、もしくは据置き型のコンピュータ(例えば、デスクトップコンピュータ)でもよいし、それらを含んでもよいし、またはそれらの一部でもよいし、あるいは、シグネチャパッドなどの別のコンピュータ装置でもよい。有線ネットワークまたは無線ネットワークといったネットワークにコンピュータ装置2を接続してもよい。コンピュータ装置2の一例を、以下で述べる図2でより十分に記載する。
【0013】
コンピュータ装置2は、例えば身振りを検出するなどの、ユーザ14からのユーザ入力18を受け付けることが可能な、プレゼンスセンシティブ(presence−sensitive)な装置などの入出力(「I/O」)装置12を含んでもよい。ある例では、I/O装置12は、ユーザ14からのユーザ入力18を受け付けることが可能なタッチセンシティブな装置(例えば、タッチスクリーンや、トラックパッド、トラックポイントなど)であり、ユーザ入力18はタッチ入力である。ある例では、I/O装置12は、I/O装置12上でタッチされた位置の座標に対応する1つまたは複数の信号を生成してもよい。これらの信号は、コンピュータ装置2の構成要素(例えば、図1のテキストエントリアプリケーション8や、図2のプロセッサ30またはオペレーティングシステム44)への情報として供給してもよい。また、I/O装置12は、ユーザ14に情報を表示するか、またはその他の方法(例えば、聴覚)で情報を出力してもよい。例えば、I/O装置12は、文字22またはカーソル24を表示してもよい。他の例では、I/O装置12は、映像または他のグラフ情報を表示してもよい。I/O装置12は多数の形態の出力情報をユーザ14に提供することができ、それらについて図2でさらに述べる。
【0014】
いくつかの例では、I/O装置12は、タッチベースのインタフェース4と表示装置20を含んでもよい。いくつかの例では、タッチベースのインタフェース4と表示装置20は、単一の装置、例えばタッチスクリーンに一体化してもよい。別の例では、タッチベースのインタフェース4と表示装置20は別個の装置でもよく、例えば、タッチベースのインタフェース4はタッチパッドまたはトラックポイントで、表示装置20は液晶ディスプレイ(「LCD」)でもよい。
【0015】
ユーザ14は、I/O装置12上でユーザ入力18を行うことにより、I/O装置12(例えば、タッチセンシティブなスクリーン)と対話することができる。例えば、ユーザ14は、I/O装置12上にユーザ入力18を手書きすることができる。ユーザ14が筆跡を入力するとき、ユーザ入力18は、活字体、筆記体、またはいかなる他の筆記の形態でもよい。
【0016】
ユーザ入力18は、ユーザ14が行う1つまたは複数の身振りを含んでもよい。ユーザ14は、1つまたは複数の指かまたはスタイラス15などの別の道具をI/O装置12と接触させることによりユーザ入力18を行ってもよく、I/O装置12はタッチセンシティブなスクリーンでもよい。スタイラス15は、ユーザ14がタッチベースのインタフェース4に手書きするのを手助けするいかなる装置でもよい。ある例では、ユーザ14は、タッチベースのインタフェース4に接触させながら1つまたは複数の指を動かしてもよい。ユーザ入力18は、手書きであり自然言語からの文字に関連したものでもよい。自然言語からの文字は、独立して、または他の文字との組合せで意味を伝えることが可能な数、字、記号、もしくは他のしるしを含んでもよい。ある例では、1組の文字が自然言語からの複数の文字を含む。
【0017】
例えば、ユーザ14は、1つまたは複数のストロークでタッチベースのインタフェース4に手書きしてもよい。本明細書で用いるときは、ストロークとは、タッチベースのインタフェース4により受け付けられる、途切れのない単一の動きのいかなる部分でもよい。説明のために、本明細書では、ストロークが単一の動きまたは単一の文字の場合について大半を記載するが、ストロークは動きの全体でもよく、または全体の動きの断片もしくは一部分でもよく、文字の一部、文字全体、もしくは1つより多くの文字でもよいことが理解されよう。図1の例では、ユーザ14はタッチベースのインタフェース4に「Hello」の単語を手書きし始める。そうするために、ユーザ14はタッチベースのインタフェース4を介してストローク列19−1〜19−4を手書きするであろう。ユーザ14は、「H」の左側に対応する縦の線について第1のストローク19−1を手書きし、次いで、「H」の横の棒について第2のストローク19−2を書き始める。ユーザ14は、もう1つの縦の線である第3のストローク19−3を書くことにより「H」を完成させる。次に、ユーザ14は、「Hello」の中の「el」についてストローク19−4を筆記する。「e」はストローク19−4の第1の部分に対応し、「l」はストローク19−4の第2の部分に対応する。
【0018】
I/O装置12は、ユーザ入力モジュール6に伝送されるユーザ入力18に対応する信号を生成してもよい。ユーザ入力モジュール6は、ユーザ14から受け付けたユーザ入力18を処理してもよい。場合によっては、ユーザ入力モジュール6は、例えば使うのにより便利な形態にユーザ入力18を変換するなどの、ユーザ入力18に対する追加の処理を行ってもよい。いくつかの例では、ユーザ入力モジュール6は、ユーザ入力18のグラフ表示を表示する信号を表示装置20に供給する。例えば、ユーザ14がタッチベースのインタフェース4にストローク19−1〜19−4を筆記するときに、表示装置20はユーザ入力18に対応するインクを表示する。場合によっては、ユーザ入力モジュール6は、ユーザ入力18に対応する信号を、テキストエントリアプリケーション8などのアプリケーションか、またはコンピュータ装置2内の別の構成要素に伝送してもよい。テキストエントリアプリケーション8は、例えば、ワード処理アプリケーションや、インターネットブラウザ、テキストのユーザ入力で制御することができるアプリケーションなどの、テキストのユーザ入力を受け入れるいかなるアプリケーションでもよい。いくつかの例では、ユーザ入力モジュール6は、ユーザ入力18の持続時間か、または1つのストロークを受け付けてから別のストロークを受け付ける間のいかなる持続時間を判断してもよい。例えば、入力モジュール6は、例えば単一の文字と単語を区別するために、2つのストロークの間の期間を測定してもよい。
【0019】
いくつかの例では、テキストエントリアプリケーション8は文字認識モジュール10を含んでもよい。文字認識モジュール10は、ユーザ入力18に対応する信号に対して認識動作を行うことができる。認識動作により、少なくともユーザ入力18の一部分に対応する文字(例えば文字22)を判断することができる。ある例では、いずれかの部分のユーザ入力18が1つまたは複数の文字に対応するかどうかを判断するために、認識動作によりユーザ入力18を解析してもよい。文字認識モジュール10は、ユーザ入力18の一部分に対する潜在的な文字の適合相手に、スコアまたはランク付けを割り振ってもよい。スコアまたはランク付けは、ストロークまたはストローク列が特定の文字に対応することがどれくらい確からしいかの尺度である。文字認識モジュール10は、スコアまたはランク付けだけでなく他の因子にも少なくとも部分的に基づいて、潜在的な文字の適合相手から文字を選択してもよい。ある例では、文字認識モジュール10は、ユーザ入力18の一部分に対応する文字を、選択されたしきい値レベルよりその文字のスコアが上であるときに選択してもよい。いくつかの例では、文字認識モジュール10は、ユーザ入力モジュール6のうちのいくつかの、またはすべての機能を実行することができる。いくつかの例示的な文字認識の方法を、本明細書で記載する。他の例では、文字認識モジュール10は、いかなる方法を付加的に行ってもよく、または今知られているかもしくは後に開発される他の文字認識動作および方法のいかなる特徴を有してもよい。本明細書に記載する技法は、概して文字に着目して述べるが、単語、文、または文字の他のまとまりにも適用することができる。例えば、文字認識モジュール10は、他の単語または文字と部分的に重なり合う1つまたは複数の単語を認識してもよい。
【0020】
例えば、文字認識モジュール10は、ユーザ入力18を解析するときに、参照データベース11にアクセスしてもよい。参照データベース11は、文字の表、辞書、および/または文法リファレンスを含んでもよい。例えば、文字認識モジュール10は、ユーザ入力18に少なくとも部分的に基づいて、参照データベース11内で照合を行ってもよく、その際、参照データベース11は、文字と1つまたは複数のストロークとをマッピングする表を含む。別の例では、文字認識モジュール10は、参照データベース11内で潜在的な単語の照合を行って、以前に認識された文字に対するその文字の関係に少なくとも部分的に基づいて、文字を認識するのを手助けしてもよい。例えば、文字認識モジュール10が以前に5つの文字O、R、A、NおよびGを認識したならば、「ORANGE」とつづる6番目の文字に先行する「ORANG」に基づいて、その6番目の文字が字Eである確率がより高い。したがって、文字認識モジュール10は、他の文字に関するランクより、6番目の文字に関してその字Eに高いランクを与えてもよい。同様に、文字認識モジュール10は、参照データベース11内の文法リファレンスを用いて、文法規則に少なくとも部分的に基づいて文字または単語をランク付けしてもよい。文字認識モジュール10は、そのストロークの部分集合と別の文字の関係(例えば、ストロークの部分集合が、単語内の次の字であるかまたは文の次の単語である)に基づいて、ストロークの部分集合の文字をさらに判断してもよい。
【0021】
図1の例では、文字認識モジュール10は、字「H」に対応する認識された入力26として示したストローク19−1〜19−3を認識している。文字認識モジュール10は、認識された入力26に対応する信号を生成し、それをテキストエントリアプリケーション8またはコンピュータ装置2内の別の構成要素もしくはモジュールに供給してもよい。例えば、文字認識モジュール10は、テキストエントリアプリケーション8に、ユーザ14が字「H」を入力したことを示す信号を供給してもよい。テキストエントリアプリケーション8またはコンピュータ装置2によりさらに処理するために、テキストエントリアプリケーション8は字「H」に対応する信号を生成してもよい。ある例では、テキストエントリアプリケーション8は、認識された入力26を表示装置20上に表示する。例えば、表示装置20は、認識された入力26を表す文字22を、カーソル24の場所に表示してもよい。また、文字22が加えられたことに起因して、カーソル24または他の任意のテキストが位置を変えてもよい。
【0022】
別の例では、文字認識モジュール10は、I/O装置12に指示して、以前に表示された入力26の任意のグラフ表示を中止および/または修正させる。すなわち、文字認識モジュール10がユーザ入力18の部分を認識したら、表示装置20は、認識された入力26に対応するインクを変更してもよい。例えば、認識された入力26に対応するインクを退色させてもよい。別の例では、表示装置20は、認識された入力26を、異なる場所に、異なる色で、異なるフォントで表示してもよく、または、フォントの質(例えば、太字や、下線、イタリック)もしくは大きさを変えてもよく、または、認識された入力26が認識されたらインクのいかなる他の属性を変更してもよい(例えば、認識された入力26を輪郭として表示する)。他の例では、ストロークが正確に認識されたという信頼レベルに少なくとも部分的に基づいて表示装置20をクリアするために、より古いストロークを時間とともにゆっくり退色させるか、横にずらすか、大きさを変えるか、またはその他の方法で変えてもよい。ある例では、少なくとも第2のしきい値レベルより高い信頼レベルで認識されたストロークは、表示装置20から完全に退色する。
【0023】
図1に示した例では、文字認識モジュール10は、別の部分のユーザ入力18、すなわち、認識されていない入力28をまだ認識していない。表示装置20は、認識されていない入力28のグラフ表示を(例えば、インクで)表示してもよい。ある例では、表示装置20は、認識された入力26とは異なる様式のインク(例えば、異なる色や、異なる線の太さ、異なる透明度など)で、認識されていない入力28を表示してもよい。認識されていない入力28を少なくとも第1のしきい値の信頼レベルにより文字認識モジュール10が認識したら、認識された入力26が表示されたときに、表示装置20は認識されていない入力28を表示してもよい。
【0024】
ある例では、コンピュータ装置2は、グラフ領域が限られたタッチベースのインタフェース4をもつ携帯型の装置である。本明細書に記載する技法により、ユーザ14は、ユーザ入力を手書きするためにより効率的にタッチベースのインタフェース4を用いることが可能になる。他の例では、コンピュータ装置2はデスクトップマシンである。そうした例では、ユーザ14は、例えばウェブページのフィールドに入力するために、筆跡を入力することができる。
【0025】
図2は、図1に示したコンピュータ装置2の一例のさらなる詳細を示すブロック図である。図2は、コンピュータ装置2のある特定の例だけを示しており、他の例ではコンピュータ装置2の多くの他の実施形態を用いることができる。
【0026】
図2の具体例に示すように、コンピュータ装置2は、1つまたは複数のプロセッサ30と、メモリ32と、ネットワークインタフェース34と、1つまたは複数の記憶装置36と、1つまたは複数の入力装置38と、1つまたは複数の出力装置40と、1つまたは複数の電池または他の電源42とを含む。コンピュータ装置2はオペレーティングシステム44も含み、オペレーティングシステム44は、コンピュータ装置2により実行可能なユーザ入力モジュール6を含んでもよい。コンピュータ装置2は、1つまたは複数のアプリケーション46と、テキストエントリアプリケーション8とを含んでもよく、テキストエントリアプリケーション8は、コンピュータ装置2により実行可能な文字認識モジュール10を含んでもよい。オペレーティングシステム44、アプリケーション46およびテキストエントリアプリケーション8も、コンピュータ装置2により実行可能である。構成要素30、32、34、36、38、40、42、44、46、6、8および10のそれぞれは、構成要素間で通信するために、(物理的に、通信可能なように、かつ/または適切に作用するように)相互に接続してもよい。
【0027】
プロセッサ30は、コンピュータ装置2で実行するための機能を実現しかつ/または指示を処理するように構成してもよい。プロセッサ30は、メモリ32に蓄積された指示または記憶装置36に蓄積された指示を処理することができる。
【0028】
メモリ32は、動作中にコンピュータ装置2内に情報を蓄積するように構成してもよい。いくつかの例では、一時的でないかまたは有形のコンピュータ読取り可能な記憶媒体として、メモリ32を記載することができる。いくつかの例では、メモリ32は一時的なメモリであり、これはメモリ32の主な目的が長期間の記憶ではないことを意味する。また、いくつかの例では、揮発性メモリとしてメモリ32を記載することができ、これは、コンピュータの電源を切ったときに、蓄積された内容をメモリ32が維持しないことを意味する。揮発性メモリの例には、ランダムアクセスメモリ(RAM)や、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、当技術分野で知られている他の形態の揮発性メモリが含まれる。いくつかの例では、メモリ32を用いて、プロセッサ30により実行するためのプログラム指示を蓄積してもよい。コンピュータ装置2上で動くソフトウェアまたはアプリケーション(例えば、1つまたは複数のアプリケーション46)によりメモリ32を用いて、プログラムの実行中に一時的に情報を蓄積してもよい。
【0029】
記憶装置36も、1つまたは複数の一時的でないかまたは有形のコンピュータ読取り可能な記憶媒体を含んでもよい。メモリ32より大量の情報を蓄積するように、記憶装置36を構成してもよい。さらに、情報を長期間記憶するように、記憶装置36を構成してもよい。いくつかの例では、記憶装置36は不揮発性の記憶要素を含んでもよい。そうした不揮発性の記憶要素の例は、磁気ハードディスクや、光ディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、または電気的にプログラム可能なメモリ(EPROM)もしくは電気的に消去可能かつプログラム可能なメモリ(EEPROM)の形態を含んでもよい。
【0030】
コンピュータ装置2は、ネットワークインタフェース34も含む。コンピュータ装置2は、ネットワークインタフェース34を利用して、1つまたは複数の無線ネットワークなどの1つまたは複数のネットワークを介し、外部装置と通信してもよい。ネットワークインタフェース34は、イーサネット(登録商標)カード、光送受信器、無線周波数送受信器、または情報を送受信することができる他の任意の種類の装置などの、ネットワークインタフェースカードでもよい。そうしたネットワークインタフェースの例は、携帯型のコンピュータ装置での無線通信の、ブルートゥース(登録商標)や、3G、WiFi(登録商標)だけでなく、USBを含んでもよい。そうした無線ネットワークの例は、WiFi(登録商標)や、ブルートゥース(登録商標)、3Gを含んでもよい。いくつかの例では、コンピュータ装置2は、ネットワークインタフェース34を利用して、サーバや、携帯電話、または他のネットワーク接続されたコンピュータ装置などの外部装置(図示せず)と無線通信してもよい。
【0031】
コンピュータ装置2は、1つまたは複数の入力装置38も含んでもよい。触覚、音声または映像の入力を介してユーザから入力を受け付けるように、入力装置38を構成してもよい。入力装置38の例は、タッチセンシティブなスクリーンや、マウス、キーボード、音声応答システム、映像カメラ、またはユーザからの命令を検出するためのいかなる他の種類の装置を含んでもよい。
【0032】
コンピュータ装置2、例えばI/O装置12は、1つまたは複数の出力装置40も含んでもよい。触覚、音声または映像の出力を用いて出力をユーザに提供するように、出力装置40を構成してもよい。出力装置40は、タッチセンシティブなスクリーンや、サウンドカード、ビデオグラフィックスアダプタカード、または人間もしくは機械が理解できる適切な形態に信号を変換するためのいかなる他の種類の装置を含んでもよい。出力装置40の別の例は、スピーカや、ブラウン管(CRT)モニタ、液晶ディスプレイ(LCD)、またはユーザに出力を提供することができるいかなる他の種類の装置を含んでもよい。
【0033】
コンピュータ装置2は、1つまたは複数の電池または電源42を含んでもよく、それらは充電可能でありコンピュータ装置2に電力を供給することができる。1つまたは複数の電源42は、ニッケル・カドミウムや、リチウム・イオン、またはいかなる他の適当な材料でできた電池でもよい。1つまたは複数の電源42は充電可能でもよく、かつ/または装置2が電源接続を介して電力を供給することができる。
【0034】
コンピュータ装置2はオペレーティングシステム44を含んでもよい。オペレーティングシステム44は、コンピュータ装置2の構成要素の動作を制御することができる。例えば、オペレーティングシステム44により、アプリケーション46またはテキストエントリアプリケーション8がプロセッサ30、メモリ32、ネットワークインタフェース34、記憶装置36、入力装置38、出力装置40および電池42と対話するのを容易にすることができる。
【0035】
オペレーティングシステム44は、ユーザ入力モジュール6を付加的に含んでもよい。ユーザ入力モジュール6は、オペレーティングシステム44の一部として実行してもよい。他の場合には、コンピュータ装置2によりユーザ入力モジュール6を実装または実行してもよい。ユーザ入力モジュール6は、入力(例えば、1つまたは複数の入力装置38を介してユーザ14から受け付けたユーザ入力18)を処理することができる。あるいは、ユーザ入力モジュール6は、プロセッサ30や、メモリ32、ネットワークインタフェース34、記憶装置36、1つまたは複数の出力装置40、電池42またはオペレーティングシステム44などの構成要素からの入力を受け付けてもよい。場合によっては、ユーザ入力モジュール6は、ユーザ入力18に対して追加の処理を行ってもよい。他の場合には、ユーザ入力モジュール6は、アプリケーション(例えば、アプリケーション46またはテキストエントリアプリケーション8)に、またはコンピュータ装置2内の他の構成要素に、入力を伝送してもよい。
【0036】
いかなるアプリケーション(例えば、コンピュータ装置2内に実装される、またはコンピュータ装置2により実行されるアプリケーション46またはテキストエントリアプリケーション8)も、コンピュータ装置2の構成要素(例えば、プロセッサ30、メモリ32、ネットワークインタフェース34、および/または記憶装置36)内に実装もしくはそれらの中に含めることができ、それらにより動作可能であり、それらにより実行でき、かつ/または、適切に作用するように/通信可能なようにそれらに連結することができる。ある例では、文字認識モジュール10は、コンピュータ装置2から物理的に分かれたサーバ上で実行され、ネットワークインタフェース34を介してネットワーク接続によりコンピュータ装置2に接続される。
【0037】
図3は、本開示の1つまたは複数の態様による、タッチ入力に対応する文字を認識するためにコンピュータ装置により実行することができる例示的な方法50を示すフローチャートである。例えば、図1または図2に示したコンピュータ装置2により、方法50を行うことができる。
【0038】
方法50は、コンピュータ装置のタッチベースのインタフェースでストローク列に関するタッチベースの入力を受け付けるステップであって、タッチベースのインタフェースの第1のグラフ領域にストローク列の第1の部分集合が対応し、第1のグラフ領域と少なくとも部分的に重なり合うタッチベースのインタフェースの第2のグラフ領域にストローク列の第2の部分集合が対応するステップ(52)を含む。これらのストロークについては、図4および図5に関して以下でより詳細に述べる。方法50は、コンピュータ装置に連結された出力装置上にストローク列の第1の部分集合のグラフ表示を表示するステップ(53)をさらに含む。
【0039】
方法50は、第1の文字がストローク列の第1の部分集合にほぼ適合する信頼レベルであって、少なくとも第1の信頼しきい値のレベルである信頼レベルを判断するステップ(54)をさらに含む。例えば、文字認識モジュール10は、ストローク列の第1の部分集合を解析して、ストロークの第1の部分集合が潜在的な文字に対応するかどうかを判断してもよい。文字認識モジュール10は、ストロークの第1の部分集合を、例えば参照データベース11に蓄積された1組の文字と比較してもよく、それぞれの文字または文字の組の部分集合に対し、その文字がどれくらいの確からしさでストロークの第1の部分集合に適合するかに少なくとも部分的に基づいて、ランクまたはスコアを割り振ってもよい。そのランクまたはスコアは、信頼レベルに関連付けられる。
【0040】
ある例では、文字認識モジュール10は、第1の文字との一致の尺度を判断してもよい。例えば、第1の文字の形状がストロークの第1の部分集合の形状にほぼ適合するときは、一致度について、あまり一致していない文字に対し、第1の文字を相対的に高くランク付けまたはスコア付けしてもよい。第2の文字の形状がストロークの第1の部分集合の形状にほぼ適合するのではないときは、一致度について、第2の文字を高くランク付けまたはスコア付けしなくてもよい。この例では、ストロークの第1の部分集合に潜在的に適合するものとして、第1の文字に、第2の文字より高いランク付けまたはスコアを与えてもよい。
【0041】
方法50は、信頼レベルに基づいて、ストローク列の第1の部分集合のグラフ表示を調整する(例えば、グラフ表示を部分的に退色させる)ステップ(56)をさらに含んでもよい。ある例では、信頼レベルがより大きいことに基づいて、ストローク列の第1の部分集合のグラフ表示をより広い範囲で調整してもよい。別の例では、第1の文字がストローク列の第1の部分集合に対応する信頼レベルが第1の信頼しきい値と少なくとも等しいか、またはそれより高くなるまで、グラフ表示を退色させなくてもよい。ある例では、信頼レベルに基づいてグラフ表示を退色させることにより、さらなるユーザ入力のために出力装置をクリアする手助けとなる。ある例では、退色させることを単語レベルで行ってもよく、例えば、単語全体をグループとして退色させてもよい。いくつかの例では、タイムアウト期間に基づいて退色させる(例えば、エントリの後、特定の時間でストロークを退色させる)ように決定してもよい。いくつかの例では、第1のストロークの後にしきい値の数のストロークが入力されたら、第1のストロークを退色させてもよい。
【0042】
また、方法50は、コンピュータ装置上で動作する、タッチベースの入力からの文字を処理するように設計されているアプリケーションにより処理するために、信頼レベルが少なくとも第2の信頼しきい値のレベルであるときに第1の文字を提供するステップ(58)を含んでもよい。ある例では、第2の信頼しきい値は、第1のストローク列が第1の文字に対応することを示す選択されたしきい値である。ある例では、第2の信頼しきい値は、第1の信頼しきい値より高い精度を示してもよい。別の例では、第2の信頼しきい値は、第1の信頼しきい値とほぼ等しくてもよい。
【0043】
ユーザ入力18を認識するために文字認識モジュール10が用いることができる他の因子には、2つのストローク間の縦の間隔(例えば、第1の方向における2つのストローク間の距離)や、2つのストローク間の横の間隔(例えば、第1の方向に直交する第2の方向における2つのストローク間の距離)、ストロークの横もしくは縦の位置(例えば、タッチスクリーン上のどこにストロークが位置するか)、ストロークの交差(例えば、あるストロークが別のストロークとどこで交差するか)、ストロークの部分集合におけるストロークの数、ストロークが入力された時間的な順序、単一のストローク中の異なる文字の組合せ、以前に認識された文字や単語もしくは文、または、文字認識に用いられる他の任意の適当な因子が含まれる。さらに、ストロークのセグメント化は、上記で列挙したどの因子に基づいてもよい。例えば、ユーザ14がタッチベースのインタフェース4の第1の側で筆記を始め、その反対側に到達し、次いで第1の側で再び筆記を始めたときは、第1の側でのストロークの重なり合いを文字間のセグメント化で示してもよい。
【0044】
文字認識モジュール10は、任意の個数の前述の因子に少なくとも部分的に基づいて、文字を選択してもよい。ある例では、文字認識モジュール10は、それぞれの因子に重みを割り振ってもよく、その因子の加重平均に少なくとも部分的に基づいて文字を選択してもよい。ある例では、文字認識モジュール10またはコンピュータ装置2内の他のアプリケーションは、最小誤り率学習(minimum error rate training)(「MERT」)を用いて、特定の因子の重みを割り振るかまたは修正してもよい。MERTは、システムの性能を測定するための自動化された評価基準を学習中に直接最適化できるように、線形モデルで割り振られた重みを推定するのに用いられる方法である。言い換えると、ユーザ14がコンピュータ装置2を用いるときに、コンピュータ装置2は、MERTを用いて、ユーザ14の筆跡を認識する精度を改善してもよい。ある例では、ストロークを、その信頼レベルに基づいて部分的に退色させることにより、ユーザ14が文字認識モジュール10に学習させるのを手助けしてもよい。いくつかの例では、コンピュータ装置2の学習モード中に、MERT技法をコンピュータ装置2に適用する。他の例では、ユーザ14がユーザ入力18を入力するときに、MERT技法を適用する。文字認識モジュール10により認識された文字に対してユーザ14が行う任意の訂正を用いて、文字認識モジュール10の精度を改善してもよい。
【0045】
文字が認識されたら、方法50は、コンピュータ装置上で動作する、タッチベースの入力からの文字を処理するように設計されているアプリケーションにより処理するために、第1の文字を識別または提供してもよい(58)。例えば、文字認識モジュール10は、テキストエントリアプリケーション8により処理する(例えば、カーソル24で第1の文字を表示する)ために、第1の文字に対応する信号を生成する。別の例では、テキストエントリアプリケーション8は、制御入力として、第1の文字に対応する信号を用いてもよい。
【0046】
図4は、本開示の1つまたは複数の態様による文字認識モジュールを実行するコンピュータ装置により認識することができる、タッチベースの入力のストローク列19−1〜19−4の一例を示す概念図である。例えば、コンピュータ装置2のタッチスクリーン60を用いて、ユーザ14がストローク列19−1〜19−4を手書きした。タッチスクリーン60は、ストローク列19−1〜19−4のグラフ表示を表示してもよい。
【0047】
ストローク列19−1〜19−4は、ストローク19−1からストローク19−4まで、時間順で入力されたようである。図4に示すように、ストローク列の第1の部分集合として、すなわち、ストローク19−1〜19−3として、タッチスクリーン60の第1のグラフ領域62−1に、ユーザ14は字「H」を書いたようである。ユーザ14は、ストローク列の第1の部分集合の上に重ねて筆記を続けることができ、例えば、ストローク19−4がストローク19−3と重なり合う。ストローク19−4はタッチスクリーン60の第2のグラフ領域62−2に書かれ、第2のグラフ領域62−2は第1のグラフ領域62−1と重なり合う。文字認識モジュール10は、少なくとも文字の一部分が互いに重なり合うにもかかわらず、ユーザ14により入力された文字を認識することができる。これにより、ユーザ14は、以前に書かれたストロークを文字認識モジュール10が認識するのを待つことなく、タッチスクリーン60の領域を再び用いることが可能になる。
【0048】
文字認識モジュール10は、表示装置20に指示して、正確な判断をする確率に少なくとも部分的に基づきストロークの部分集合の表示を変更する(例えば、ストロークの部分集合の表示を退色させる)ようにしてもよい。例えば、より確からしくストロークの部分集合が正確に認識されるほど、インク表示の影をより明るくする。ある例では、ランク付けまたはスコアがしきい値信頼レベルより高い文字にストロークの部分集合が対応すると文字認識モジュール10が判断したら、表示装置20は、それらのストロークの表示をやめる(例えば、認識された文字に対応するストロークを完全に退色させてもよい)。
【0049】
また、文字認識モジュール10は、認識されていない入力28などの単一のストロークの中で、2つ以上の文字を検出してもよい。ユーザ入力18が文字間でつながっているとき(例えば、筆記体で手書きされているとき)は、文字認識モジュール10はある文字と別の文字の境界を判断してもよい。例えば、文字認識モジュール10は、本明細書に記載した技法に少なくとも部分的に基づいて、ストローク19−4内の「e」と「l」を区別してもよい。
【0050】
図5A〜図5Dは、本開示の1つまたは複数の態様による文字認識モジュールにより解析することができる、ユーザにより入力されたストローク列70の一例を示す概念図である。図5A〜図5Dに示した例では、ストローク70−1〜70−9を含むストローク列70の形で、ユーザ14が「Hello」を書いた。図5A〜図5Dでは、分かりやすくするためにストローク70を横にずらして示しているが、ストローク70−1〜70−9のうちのいくつかを他のストローク70−1〜70−9の上に書いてもよい(すなわち、いくつかのストローク70−1〜70−9が重なり合ってもよい)ことが理解されよう。
【0051】
ある例では、文字認識モジュール10は、ユーザ14がどの文字を入力することを意図していたかを判断するために、ストローク列70の様々な部分集合を考慮してもよい。例えば、ユーザ14は、タッチベースのインタフェース4を介してコンピュータ装置2に時間順でストローク列70を入力する。図5A〜図5Dは、どのストロークがストロークの第1の部分集合内のものかを、その部分集合の中のストロークから文字が認識されるまで時間順の異なるストロークの部分集合を調べることに少なくとも部分的に基づいて、文字認識モジュール10が判断できるやり方の一例を示す。
【0052】
図5Aでは、文字認識モジュール10は、それぞれのストローク70−1〜70−9を個別に考慮してもよい。すなわち、ストローク列70の1つの部分集合は、単一のストロークを含む。文字認識モジュール10は、それぞれのストローク70−1〜70−9を見て、文字に対するそれぞれのおおよその適合に関してスコアを割り振ってもよい。例えば、文字認識モジュール10は、字「L」および「I」の大文字と小文字ならびに数1の中で、ストローク70−1、70−3、70−7および70−8にほぼ適合するものを見つけてもよい。そうした例では、ユーザ入力18が先に全く認識されていなくても、文字認識モジュール10は、ストローク列70−1〜70−9に少なくとも部分的に基づいて、潜在的に適合するものにスコアまたはランクを割り振ってもよい。以前に認識された文字がある例では、文字認識モジュール10は、以前に認識された文字に少なくとも部分的に基づいて、付加的にスコアを割り振ってもよい。
【0053】
その上、例えば、文字認識モジュール10は、ストローク70−2、70−5および70−6を場合によってはダッシュ「−」または下線「_」であるとみなし、それに応じてこれらの潜在的な結果をランク付けしてもよい。しかしながら、ストローク70−6の縦の配置が相対的に高いため、いくつかの例では、文字認識モジュール10は「_」に相対的に低いスコアを与えてもよい。ストローク70−4は大文字の字「L」とほぼ適合しており、高いランク付けを割り振ってもよい。同様に、ストローク70−9は、大文字もしくは小文字の字「O」または数「0」の可能性がある。
【0054】
文字認識モジュール10は、1つまたはいかなる文字にそれらが正確に適合する可能性に基づいて(例えば、以前のまたは後続するストロークの部分集合や、縦の位置、大きさなどに基づいて)、これらの潜在的な適合相手にランク付けまたはスコア付けをしてもよい。高いランク付けは、その文字が意図された文字であることが基準線または平均より確からしいことを示すランク付けでもよい。比較的に、低いランク付けは、その文字が意図された文字であることが基準線または平均より確からしくないことを示すランク付けでもよい。
【0055】
また、文字認識モジュール10は、図5Bのように2つのストロークをもつストローク70の部分集合を考慮してもよい。いくつかの例では、ストローク70の部分集合は、連続するストローク(すなわち、時間順に隣接して起こったストローク)を含む。他の例では、ストローク70の部分集合は、連続していないストロークを含む(例えば、ユーザ14は単語の他の字を仕上げた後で「i」に点を打つかも知れないため、字「I」に対応するストロークの部分集合は連続していない可能性がある)。説明のために、図5A〜図5Dは、連続するストロークを含むストローク70の部分集合を示す。
【0056】
文字認識モジュール10は、ストロークの部分集合におけるそれぞれのストロークの組合せを単一の文字とみなすこともある。例えば、図5Bでは、ストローク70−2および70−3ならびに70−3および70−4を含むストローク70の部分集合は、場合によっては字「t」または記号「+」の可能性があり、文字認識モジュール10によりランク付けまたはスコア付けしてもよい。あるストローク70の部分集合、例えば、70−3および70−4ならびに70−7および70−8は、潜在的に適合するものがないかも知れない。そうした例では、それらのストロークの部分集合には低いランク付けもしくはスコアを割り振るか、または全く割り振らない。
【0057】
図5Cは、3つの連続するストロークを含むストロークの部分集合の例を示す。この例では、文字認識モジュール10は、ストローク70−1〜70−3を潜在的に字「H」であると認識する。この認識は、ストロークの部分集合を文字のデータベースと比較することに基づいてもよいし、または別のやり方で行ってもよい。したがって、このストロークの部分集合に対し、字「H」に高いスコアまたはランク付けを与えてもよい。同様に、ストローク70−4〜70−6は字「E」に対応し、それに応じてスコア付けまたはランク付けしてもよい。ストロークの部分集合が「E」であろうと文字認識モジュール10が判断したら、文字認識モジュール10は、その情報を用いて、以前にランク付けまたはスコア付けした文字を再びランク付けまたはスコア付けしてもよい。例えば、「E」が検出されたら、文字認識モジュール10は「H」により高いランク付けまたはスコアを与えてもよい。文字認識モジュール10は「he」で始まる単語を列挙した辞書を含むデータベースを調べることができるため、文字認識モジュール10は、「H」のランク付けを高くしてもよい。
【0058】
同様に、図5Dは、ストローク70の部分集合が4つの連続するストロークを含む例を示す。いくつかの例では、文字認識モジュール10は、文字であると考えられるストロークの数のしきい値を有してもよい。図5Dの例では、文字認識モジュール10は、ストロークの数のしきい値レベルを4つに設定してもよい。これは、部分集合内のストロークの数が増えると、部分集合が特定の文字に適合する可能性が低くなるからであろう。この例では、文字認識モジュール10はランク付けが高い文字の適合を全く見つけられないかも知れない。
【0059】
文字認識モジュール10は、ユーザ14の入力を認識する際に、いくつかの、またはすべてのストロークの部分集合と、それらに対応する適合相手のランク付けまたはスコアとを考慮してもよい。例えば、色々な因子に基づいて、文字認識モジュール10は、部分集合を互いに、かつ部分集合内の潜在的な文字の適合相手と比較してもよい。いくつかの例では、文字認識モジュール10は、少なくとも最大個数まで潜在的に適合する組を保持する(例えば、文字認識モジュール10は、それぞれのストロークの部分集合について、最も確からしい20個の潜在的に適合する組を蓄積する)。他の例では、潜在的に適合する組の最大個数は別の数でもよい。
【0060】
ある例では、文字認識モジュール10は、特定の文字についての様々な部分集合のスコアまたはランク付けを比較し、選択されたしきい値レベルよりスコアが高いその部分集合または文字について最も高いスコアをもつ文字を、適合する文字として選択してもよい。別の例では、文字認識モジュール10は、辞書または文法リファレンスにアクセスして、決定された文字列に少なくとも部分的に基づき単語を識別および/または示唆してもよい。ある例では、文字認識モジュール10は、図5A〜図5Dでのユーザ入力18が単語「Hello」であると判断する。
【0061】
本明細書に記載した技法は、少なくとも部分的には、ハードウェアや、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施することができる。例えば、本明細書に記載した実施形態の色々な態様は、1つまたは複数のマイクロプロセッサや、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、ユーザにより書込み可能なゲートアレイ(FPGA)、または他の任意の等価な、集積もしくは個々の論理回路構成、さらにはそうした構成要素の任意の組合せを含む、1つまたは複数のプロセッサ内で実施することができる。「プロセッサ」または「処理回路構成」の用語は、一般に、前述の任意の論理回路構成(単独の、もしくは他の論理回路構成と組み合わせたもの)または他の任意の等価な回路構成を表すことができる。ハードウェアを含む制御部によっても、本開示の1つまたは複数の技法を実行することができる。
【0062】
そうしたハードウェア、ソフトウェアおよびファームウェアを同じ装置または別個の装置の中で実施して、本明細書に記載した色々な技法をサポートすることができる。加えて、本明細書に記載した任意のユニット、モジュールまたは構成要素は、分離しているが相互に運用可能な論理装置として、一緒にまたは別々に実施することができる。モジュールまたはユニットとしての様々な特徴の記述は、様々な機能上の態様を強調することを意図しており、必ずしもそうしたモジュールまたはユニットが別個のハードウェア、ファームウェアまたはソフトウェアの構成要素により実現されることを意味するものではない。むしろ、1つまたは複数のモジュールまたはユニットに付随する機能は、別個のハードウェア、ファームウェアもしくはソフトウェアの構成要素により実行することができ、または共通もしくは別個のハードウェア、ファームウェアもしくはソフトウェアの構成要素の中に一体化することもできる。
【0063】
本明細書に記載した技法は、指示がコード化されるコンピュータ読取り可能な記憶媒体を含む製造物の中に具体化、すなわちコード化することもできる。コンピュータ読取り可能な記憶媒体に含まれるかまたはコード化された指示が1つまたは複数のプロセッサにより実行されるときなどに、コード化されたコンピュータ読取り可能な記憶媒体を含む製造物に埋め込まれるかまたはコード化された指示により、1つまたは複数のプログラム可能なプロセッサまたは他のプロセッサに、本明細書に記載した1つまたは複数の技法を実行させることができる。コンピュータ読取り可能な記憶媒体は、ランダムアクセスメモリ(RAM)や、読出し専用メモリ(ROM)、プログラム可能な読出し専用メモリ(PROM)、消去可能かつプログラム可能な読出し専用メモリ(EPROM)、電子的に消去可能かつプログラム可能な読出し専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、コンパクトディスクROM(CD−ROM)、フロッピー(登録商標)ディスク、カセット、磁気媒体、光媒体、または他のコンピュータ読取り可能な媒体を含んでもよい。いくつかの例では、1つの製造物が1つまたは複数のコンピュータ読取り可能な記憶媒体を含んでもよい。
【0064】
いくつかの例では、コンピュータ読取り可能な記憶媒体が、一時的でないかまたは有形の媒体を含んでもよい。「一時的でない」という用語は、記憶媒体が搬送波または伝搬信号では具体化されないことを意味する。ある例では、一時的でない記憶媒体により、(例えば、RAMまたはキャッシュ内の)経時変化し得るデータを蓄積してもよい。
【0065】
本開示の色々な態様を記載してきた。本明細書に記載した例の態様または特徴は、別の例で記載した他の任意の態様または特徴と組み合わせてもよい。これらのおよび他の実施形態は、添付の特許請求の範囲内である。

【特許請求の範囲】
【請求項1】
文字を認識するための方法であって、
コンピュータ装置のタッチベースのインタフェースでストローク列に関するタッチベースの入力を受け付けるステップであって、前記タッチベースのインタフェースの第1の領域に前記ストローク列の第1の部分集合が対応し、前記第1の領域と少なくとも部分的に重なり合う前記タッチベースのインタフェースの第2の領域に前記ストローク列の第2の部分集合が対応するステップと、
前記コンピュータ装置に連結された出力装置上に前記ストローク列の前記第1の部分集合のグラフ表示を表示するステップと、
第1の文字が前記ストローク列の前記第1の部分集合にほぼ適合する信頼レベルであって、少なくとも第1の信頼しきい値のレベルである信頼レベルを判断するステップと、
前記信頼レベルに基づいて、前記ストローク列の前記第1の部分集合の前記グラフ表示を変更するステップと、
前記コンピュータ装置上で動作する、タッチベースの入力からの文字を処理するように設計されているアプリケーションにより処理するために、前記信頼レベルが少なくとも第2の信頼しきい値のレベルであるときに前記第1の文字を提供するステップと
を含む方法。
【請求項2】
前記ストローク列の前記第1の部分集合の前記グラフ表示を変更するステップが、
前記信頼レベルが少なくとも前記第2の信頼しきい値のレベルであるときに、前記ストローク列の前記第1の部分集合の前記グラフ表示を中止するステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1の文字が前記ストローク列の前記第1の部分集合にほぼ適合する前記信頼レベルを判断するステップが、
前記ストローク列の前記第1の部分集合のグラフ表示を1組の文字のうちの1つまたは複数の文字と比較するステップと、
少なくとも、前記グラフ表示を前記1つまたは複数の文字と比較することに基づいて前記1つまたは複数の文字をランク付けするステップであって、前記ランクが前記信頼レベルに関連付けられているステップと、
前記ランクに少なくとも部分的に基づいて、前記1つまたは複数の文字を前記第1の文字として選択するステップと
をさらに含む、請求項1に記載の方法。
【請求項4】
ランク付けするステップが、前記グラフ表示がどのくらい密接に前記1つまたは複数の文字に適合しているかに少なくとも部分的に基づいている、請求項3に記載の方法。
【請求項5】
前記第1の部分集合の前記グラフ表示を1つまたは複数の文字と比較するステップが、
前記ストローク列の前記第1の部分集合の少なくとも1つのプロパティを前記1つまたは複数の文字の対応するプロパティと比較するステップ
をさらに含み、
前記少なくとも1つのプロパティが、前記第1の部分集合の前記グラフ表示と前記1つまたは複数の文字との間で一致すること、ストロークの縦の間隔、ストロークの横の間隔、ストロークの交差、ストロークの大きさ、およびストロークの数のうちの1つを含む、請求項3に記載の方法。
【請求項6】
少なくとも前記比較に基づいて前記1つまたは複数の文字をランク付けするステップが、
前記少なくとも1つのプロパティと少なくとも第2のプロパティの加重平均を算出するステップであって、前記1つまたは複数のプロパティに加えられる重みが最小誤り率学習を用いて決定されるステップ
をさらに含む、請求項5に記載の方法。
【請求項7】
前記ストローク列の前記第2の部分集合が第2の文字に対応すると判断するステップと、
前記アプリケーションにより処理するために前記第2の文字を生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
テキスト表示部内の第1の場所に、前記第1の文字を表示するステップと、
前記テキスト表示部内の第2の場所であって前記第1の文字と前記第2の文字の関係に部分的に基づく第2の場所に、前記第2の文字を表示するステップと
をさらに含む、請求項7に記載の方法。
【請求項9】
前記第1の領域が第2の領域とほぼ同じである、請求項1に記載の方法。
【請求項10】
前記第1の文字が前記ストローク列の前記第1の部分集合にほぼ適合する前記信頼レベルを判断するステップが、
少なくとも、前記ストローク列の少なくとも1つのストロークが前記タッチベースのインタフェースでいつ受け付けられたかに基づいて、前記ストローク列を時間順に整列させるステップと、
少なくとも第1のストロークを選択し、少なくとも前記第1のストロークを1つまたは複数の文字と比較するステップと、
前記第1のストロークと前記1つまたは複数の文字の間で比較することに少なくとも部分的に基づいて、前記1つまたは複数の文字をランク付けするステップと
をさらに含む、請求項1に記載の方法。
【請求項11】
少なくとも前記1つまたは複数の文字の前記ランク付けに基づいて、前記1つまたは複数の文字から前記第1の文字を選択するステップ
をさらに含む、請求項10に記載の方法。
【請求項12】
少なくとも前記第1のストロークおよび前記第1のストロークに連続する少なくとも第2のストロークを選択し、前記第1および第2のストロークの組合せを前記1つまたは複数の文字と比較するステップと、
少なくとも、前記1つまたは複数の文字を前記第1および第2のストロークの前記組合せと比較することに基づいて、前記1つまたは複数の文字をランク付けするステップと
をさらに含む、請求項10に記載の方法。
【請求項13】
前記第1のストロークに対応する少なくとも1つのランク付けを、前記第1および第2のストロークの前記組合せに対応する少なくとも1つのランク付けと比較するステップと、
前記比較に少なくとも部分的に基づいて、少なくとも前記第1のストロークまたは前記第1および第2のストロークの前記組合せのうちの一方を、前記ストローク列の前記部分集合であると選択するステップと
をさらに含む、請求項12に記載の方法。
【請求項14】
前記第1の文字が前記ストローク列の前記第1の部分集合にほぼ適合する前記信頼レベルを判断するステップが、
決定された文字に少なくとも部分的に基づいて前記第1の文字をランク付けするステップであって、前記ランク付けが前記信頼レベルに関連付けられているステップと、
選択されたしきい値レベルより前記ランク付けが上であるときに前記第1の文字を選択するステップと
をさらに含む、請求項1に記載の方法。
【請求項15】
以前に決定された文字に少なくとも部分的に基づいて前記第1の文字をランク付けするステップが、
前記第1の文字と前記決定された文字の組合せを言語リファレンスと突き合わせるステップと、
前記言語リファレンスにて見つけられた、前記第1の文字と前記以前に決定された文字との前記組合せにほぼ適合するものに少なくとも部分的に基づいて、前記第1の文字にランク付けを与えるステップと
をさらに含む、請求項14に記載の方法。
【請求項16】
前記タッチベースのインタフェース内での前記ストロークの縦の位置、前記ストロークがいつ受け付けられたかに関するタイミング情報、前記ストローク間の縦の間隔、および前記ストローク間の横の間隔に少なくとも部分的に基づいて、前記ストローク列のどのストロークが前記ストローク列の前記第1の部分集合に含まれるかを判断するステップ
をさらに含む、請求項1に記載の方法。
【請求項17】
ストロークの前記第1の部分集合がしきい値レベル以下の数のストロークを含む、請求項16に記載の方法。
【請求項18】
前記ストローク列の前記第1の部分集合の前記グラフ表示を変更するステップが、
前記ストローク列の前記第1の部分集合の前記グラフ表示を退色させるステップ
をさらに含む、請求項1に記載の方法。
【請求項19】
コンピュータ装置のタッチベースのインタフェースでストローク列に関するタッチベースの入力を受け付けるステップであって、前記タッチベースのインタフェースの第1のグラフ領域に前記ストローク列の第1の部分集合が対応し、前記第1のグラフ領域と少なくとも部分的に重なり合う前記タッチベースのインタフェースの第2のグラフ領域に前記ストローク列の第2の部分集合が対応するステップと、
前記コンピュータ装置に連結された出力装置上に前記ストローク列の前記第1の部分集合のグラフ表示を表示するステップと、
少なくとも第1の信頼しきい値により、前記ストローク列の前記第1の部分集合が第1の文字に対応すると判断するステップと、
前記ストローク列の前記第1の部分集合が前記第1の文字に対応するという前記判断に基づいて、前記ストローク列の前記第1の部分集合の前記グラフ表示を変更するステップと、
前記コンピュータ装置上で動作する、タッチベースの入力からの文字を処理するように設計されているアプリケーションにより処理するために、前記第1の文字を提供するステップと
を含む動作をプログラム可能なプロセッサに実行させる指示を含む、コンピュータ読取り可能な有形の媒体。
【請求項20】
1つまたは複数のプロセッサと、
テキストの情報に関するストローク列の、タッチベースのユーザ入力を受け付ける入力装置であって、前記ストローク列が、前記入力装置の第1の領域に対応するストロークの第1の部分集合、およびストロークの前記第1の部分集合と少なくとも部分的に重なり合う前記入力装置の第2の領域に対応するストロークの第2の部分集合を含む入力装置と、
前記ストローク列のどのストロークが前記ストローク列の前記第1の部分集合に含まれるかを判断し、前記ストローク列の前記第1の部分集合が第1の文字に対応すると判断するための手段と、
前記ストローク列の前記第1の部分集合のグラフ表示を表示する出力装置であって、前記ストローク列の前記第1の部分集合が前記第1の文字に対応するという前記判断に基づいて前記グラフ表示を変更する出力装置と
を含み、
前記出力装置が前記第1の文字をさらに出力するコンピュータ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate