JP3885974B2 - 手書き認識システム及びその方法 - Google Patents
手書き認識システム及びその方法 Download PDFInfo
- Publication number
- JP3885974B2 JP3885974B2 JP16223195A JP16223195A JP3885974B2 JP 3885974 B2 JP3885974 B2 JP 3885974B2 JP 16223195 A JP16223195 A JP 16223195A JP 16223195 A JP16223195 A JP 16223195A JP 3885974 B2 JP3885974 B2 JP 3885974B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- information
- search
- data
- represented
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
- G06V30/2272—Character recognition characterised by the type of writing of cursive writing using stroke segmentation with lexical matching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Discrimination (AREA)
Description
【産業上の利用分野】
本発明はコンピュータにより実現する手書き認識システムに関するものである。
【0002】
【従来の技術】
手書き情報は、それをひとたびディジタル形態に変換すれば、コンピュータの入力として用いることができる。手書き情報は多数のメカニズムのうちのいずれかによって収集することができる。一般に、ユーザが保持するペン又はスタイラスの先端は、このペン先の位置を検出する検知メカニズムを具えているタブレット装置に接触して置かれる。ユーザが活字体風に書くか、又は普通に書く場合に生ずるような、タブレットに沿うペン先の移動によって、ペン先位置データのストリームが生成される。このデータは“x”と“y”の位置座標のアレイとすることができ、これは“インク”又は“インクデータ”と称することができる。手書き認識システムは、ユーザの手書き情報をワードプロセッシング(文書処理)の如き通常の任意のコンピュータアプリケーションに使用できるディジタル情報に変換する目的のために斯様なインクデータを処理する。
【0003】
手書き認識システムに対する設計上の考慮すべき事柄は主として速度及び精度である。手書き認識が向上しうる速度に影響を及ぼす要因の1つは、コンピュータ処理時間がどれだけ認識タスクに割当てられるかに関連している。例えば初期の認識システムは、インクデータの全てがユーザによって与えられるまでインクデータの処理を後まわしにしていた。このような方法は、コンピュータがインクデータを収集しているときに使用できた処理時間を有効に使用していなかった。
【0004】
手書き認識システムが、書かれた情報を対応するディジタル情報に変換する速度及び精度は、インクデータを処理する順番によって影響される。従来の幾つかのシステムでは、例えばインクデータを先ず処理して、タブレット上にて成した一連のペン移動によりどんな英数字を書いたのかを設定する。このような文字識別はセグメンテーション処理とも称される。その後、その有望な文字を、他の有望な文字の逐語的文脈にて意味があるものであるかどうかを決定すべく処理される。この後者の処理は文脈処理と称される。
【0005】
【発明が解決しようとする課題】
斯様な逐次セグメンテーション処理及び文脈処理に伴なう問題は、有望な文字の選択が文脈情報にアクセスすることなく行われることにある。さらに、セグメンテーション処理は、最も有望な文字を決定する手助けをするのに有利に使用できる文脈情報を参照することなく、限られた情報で行われる。従って、文脈処理が斯様な限られた情報に基づくセグメンテーション処理により決定される文字で開始するため、文脈処理の精度はそれ相当に損われている。
【0006】
本発明の目的は、アプリケーションの多数の革新により手書き認識の速度及び精度を向上する方法及びシステムを提供することにある。
【0007】
【課題を解決するための手段】
本発明は、手書き情報のストロークを表すデータを処理して、該データによって表される文字を識別するために:
ユーザによって与えられるデータであり、開始部と終了部とを有し、これらの間に処理すべき手書き情報が十分な量規定されるデータを受け取る工程と;
前記データの少なくとも一部分を、1つ以上のインクストロークを記述するデータアイテムに前処理する工程と;
前記1つ以上のインクストロークを記述している前記データアイテムを含んでいるデータの部分を一連のパッケージにアセンブルする工程と;
前記データの終了部を受け取る前に行なわれ、しかも、前記パッケージによって表される文字形状に関する情報と、前記パッケージによって表される文字の逐語的文脈に関する情報とを同時に考慮する工程を含み、前記一連のパッケージに対して、これらのパッケージによって表される蓋然的な文字結果セットを決定する工程と;
を含む手書き認識方法であって、
前記文字形状に関する情報が、一連の候補文字を決定すると共に、各候補文字に対して候補文字のコスト値を決定するために前記1つ以上のインクストロークを記述している前記データアイテムの少なくとも一部を含み、
前記文字の逐語的文脈に関する情報が、トリグラムコスト値を決定するために各候補文字と少なくとも 1 つの周りの候補文字の連続発生確率値を含み、
前記文字形状に関する情報と前記逐語的文脈に関する情報とを同時に考慮する工程が、候補文字のコスト値及び各候補文字のトリグラムコスト値を計算に用いて文字結果セットを決定する工程を含み;
前記文字結果セットを決定する工程が第1探索法を用いて複数の候補文字のうちから前記文字結果セットを探索することを含み;且つ
2つの探索法のうちの前記第1探索法が:
前記各パッケージに対して、それぞれ開始点と終了点とを有し、候補文字のストリングを表す少なくとも1つの経路を展開する工程;及び
各経路に対して、該経路が文字結果セットを含む確率値を反映する第1コスト値であって、前記パッケージによって表される文字形状に関する情報と、前記パッケージによって表される文字の逐語的文脈に関する情報とに基づいた第1コスト値を生成する工程;
を含み;且つ
前記2つの探索法のうちの第2の探索法が、当面の経路に対して、該経路の逐語的文脈に関する情報に基づいた第2コスト値を割当て、且つ前記第2の探索法が前記第1の探索法により展開された経路のうちの少なくとも幾つかの経路のそれぞれの開始点に向かって逆探索を行なって、前記文字結果セットを、前記第1と第2のコスト値の合成コスト値が最低の経路として識別することを特徴とする手書き認識方法にある。
【0008】
さらに、本発明によるシステム(以後単に“認識装置”とも称する)は、ユーザがタブレット上に書き始めるやいなやインクデータを処理し始める。従って、最終認識結果は、全てのインクデータが収集された後に極めて早く得られる。
【0009】
本発明の他の要点は、セグメンテーション及び文脈処理を統合して、認識処理全体の精度を著しく向上させることにある。この統合は、認識タスクをダイナミックプログラミングの課題としてモデル化し、且つインクデータのストリームから多数の仮説文字の経路(path)を構成することにより達成される。認識装置は多数の経路を探索して最適の経路(これはユーザがタブレット上に書いたものに整合しそうな文字のストリングである)を見つける。或る経路の各ノードはインクデータの個別部分を表す。各ノードには幾つかのモデル化構成要素によってそのノードに割当てられるコスト値の総量である確率又はコスト値が関連付けられる。モデル化構成要素のうちの幾つかのものはノードによって表される蓋然的文字に関するコスト値を供給する。他の構成要素はノード情報の文脈に関連するコスト値を提供する。従って、正しい単語又は文章構成の最高の確率又は推定値は、文脈及びセグメンテーション処理を同時に用いて作られる。このセグメンテーション/文脈統合処理は認識システムの精度を大いに向上させる。
【0010】
ダイナミックプログラミング経路探索(以後、単にDPP探索と称する)は本来ユーザが書き始めるやいなや開始する。この探索処理は認識処理における順方向パス(pass)としての働きをし、これは経路の第2逆方向パス探索処理と結びつけられる。この第2探索処理は、一旦全てのインクデータが収集されてから行われる。DPP探索は上述したモデル化構成要素によって与えられるコスト値に基づいて経路のコストを生成する。こうした経路コストはスタック−ベースト有限経路探索(以後SBP探索と称する)である第2探索用の推定値として用いられる。このSBP探索はDPP探索によって生成される推定値を使用し、且つシステム辞書を参照して、DPP探索経路推定値に、経路にて見つかった単語が辞書にある確率を加える。SBP探索によって総体的に最適な(最もありがちな)認識結果に達する。SBP探索は多数の蓋然的結果を発生し、且つランク付けすることができる。こうした結果は認識装置を呼出すアプリケーションに使用することができる。
【0011】
【実施例】
図1aは本発明による方法を実施しうるシステムを示す。電子ディジタル化タブレット20はケーブル24によってコンピュータ22に接続される。ユーザは紙に活字体を書くのとほぼ同様な方法でスタイラス又はペン26の先端をタブレット20のスクリーン28を横切って動かすことによりコンピュータに手書き情報を与える。一般に、タブレット20はユーザがスクリーン28に書くものをタブレットに表示する機構を具えている。
【0012】
タブレットにはスクリーン28の下側に導電性細条から成る通常の格子を設けることができる。ペン26は導電性の先端を有するプローブとして作用する。先端の位置は、ユーザがその先端をスクリーンに接触させると格子によって検出される。タブレットはペンの先端位置を表すデータをコンピュータが入手できるようにする。データは“x”と“y”の位置座標のストリーム形態とすることができる。
【0013】
様々なメカニズムのうちのいずれかを用いてペン位置を表すデータを供給しうることは明らかである。さらに、本発明を実施するのに用いられるタブレット及びコンピュータの構成要素は単一のハンド−ヘルドデバイスに組込むことができる。
【0014】
コンピュータに実行させるアプリケーション(適用業務)が、タブレットにおける手書き情報を入力として捜し求めるような場合に、コンピュータは、例えば毎秒200回の速度でx−y座標データをサンプルし、且つそのデータを既知の文字に相関付けることによりインクデータを処理するのに本発明による認識装置を呼出す。認識装置は、その結果をアプリケーションに供給する。なお、本発明の説明のために用いている“文字”とは英数字又は記号のことである。“認識タスク”とは或る特定の途切れない量の手書き情報に対して認識装置が行う手書き認識のことである。
【0015】
図2は本発明による認識装置の全体の機構及びこの認識装置を呼出して、認識タスクを実行させるアプリケーションとの関係を示す。認識装置はコンピュータオペレーティングシステムの構成要素である。この認識装置は予定した組みのアプリケーションプログラムインタフェース(APIs ) を介して呼出すことができる。好適な実施例では、認識装置のコンピュータプログラムアスペクトをCプログラミング言語で符号化すると共に3つの主要オブジェクトを介してアプリケーションと対話処理させる。この例ではオブジェクトをHRC,HMACRO及びHRCRESULTとし、これらを図2に参照番号30,32及び34にてそれぞれ示してある。
【0016】
HRCは認識装置と対話処理するためにアプリケーションによって用いられるルートオブジェクトである。このオブジェクトのライフスパンは1つの認識タスク分である。このオブジェクトはメンバ機能部を介して認識パラメータ及び認識装置に必要な他の情報(入力フラグ、言語コード、ガイド構造等)を設定するのに応答しうる。
【0017】
HMACROはアプリケーション指定ワードリストの如き文脈情報を認識装置に与えるためにアプリケーションによって作成されるオブジェクトである。
【0018】
HRCRESULTは認識装置に認識タスクの結果を供給させるオブジェクトである。アプリケーションはこれらの結果を得るためにこのオブジェクトを照会する。
【0019】
図2には認識タスクを実行するために認識装置によって用いられる幾つかのモジュールも図式的に示してある。特に認識装置はHRCオブジェクト30を介してアプリケーションによって与えられるインクデータを処理するためのエンジン(engine)モジュール40及び関連するモジュールを具えている。
【0020】
前処理モジュール42は、タブレットから受信してサンプルしたインクデータをろ波すると共に平滑化する。前処理モジュール42はサンプルしたインクデータから、このインクデータによってどの文字を表すことができるかについて仮説をたてるのに分類モジュール44にとって必要且つ十分な情報を抽出する。
【0021】
“ストローク”なる用語は、ペンの先端を、それが最初にスクリーンに接触する位置から、それがスクリーンから離れる位置までタブレットのスクリーン28を横切って動かした時に発生するデータを表すのに用いられることに注意すべきである。例えば、図1aのスクリーン28に現れている筆跡は4つのストロークを示し、その1つは“T”の垂直部分であり、第2ストロークは“T”の水平部分であり、第3ストロークは文字“h”であり、第4ストロークは文字“e”である。
【0022】
エンジンモジュール40はモジュール42からの前処理したデータを分類モジュール44に配信する。データはインクデータの個別シーケンス又は“フレーム”の群で配信される。分類モジュール44は各フレーム群に対して候補文字(情報)と称することのできる一組の仮説文字(情報)をエンジンモジュール40に戻す。各候補文字には、それがタブレット上にユーザにより書かれたものに対応する関連確率値が割当てられている。
【0023】
候補文字群はエンジンモジュール40によってジェスチャ(gesture)モジュール56、ホワイトスペースモジュール46、トリグラムモジュール48及び基底線/高さモジュール50に供給される。
【0024】
ジェスチャモジュール56は各候補文字をよく調べて、それが特定のシステム指定コマンドであるジェスチャを表すか、否かを決定する。例えば、ユーザが丸い“c”を書いた場合に、ジェスチャモジュールは書かれたものが予じめ定められたジェスチャであるか、否かに注意する。例えば、この丸い“c”はテキストの一部をコピーすべき旨を示す予定したジェスチャとすることができる。或るジェスチャが見つかる場合に、認識装置は直ちにHRCRESULTオブジェクト内にある識別ジェスチャでのアプリケーションの制御に戻る。
【0025】
ホワイトスペースモジュール46は、任意の2つの候補文字がホワイトスペースによって離間される確率を計算する。この情報はエンジンモジュール40に戻され、最良の結果を探索するのに用いられる。“最良の結果”とは認識タスクの完了時に認識装置によって戻される文字ストリングのことである。
【0026】
トリグラムモジュール48はエンジンモジュール40によってそれに与えられる3つの隣接する候補文字を読取って、言語におけるこれら3つの文字の発生確率値を供給する。例えば、隣接文字が“t”,“h”及び“e”の場合に、トリグラムモジュールは極めて高い確率値を戻すも、隣接する文字が“t”,“l”及び“e”の場合には比較的低い確率値を戻すことにる。この情報は最良の結果を探索するに当りエンジンモジュールにより用いられる。なお、ここで注意すべきことは、この本発明システムの好適実施例では、トリグラム(即ち、3つの連続する文字)を用いているが、このモジュールにはバイグラムの如き連続的に発生する任意数の文字を用いることもできることにある。
【0027】
基底線/高さモジュール50は隣接する文字の相対的な大きさを比較し、且つ例えば最初の文字が大文字である確率値をエンジンモジュールに戻す。
hマクロ(hmacro)モジュール52はHMACROオブジェクト32を介してアプリケーションにより与えられるワードリストの如き特定の文脈情報をエンジンモジュール40に与えるための機構である。例えば、アプリケーションは認識装置にコンピュータユーザの最終ネームを与えることができる。このネームはエンジンモジュールが引き受ける探索処理中ずっと考慮される。
【0028】
エンジンモジュールは、分類、ホワイトスペース、トリグラム、基底線/高さ及びhmacroの各モジュールから受取った情報で後述するように手書き認識タスクの最良結果を探索する。この探索処理により求められた1つ以上の最良結果は、結果モジュール60に与えられ、HRCRESULTオブジェクト34の照会時にアプリケーションによって得られる。
【0029】
認識装置の細部に戻り、且つ図2を参照するに、各手書き認識タスクに対するアプリケーションは、Creat(作成)HRC APIコールによりHRCオブジェトクトを作成する。このアプリケーションは認識装置にAdd Pen Input(追加ペン入力)HRC APIコールにより入力インクデータを供給する。アプリケーションは認識装置にProcess HRC API呼出しにより処理時間量も与える。
【0030】
処理時間がとれる(使用可能な)ときには(図3のステップ80参照)、認識装置が先ずエンジン(ENGINE)オブジェクト90を呼出す。しかし、当分はENGINEオブジェクトで処理する情報は準備されておらず、従って制御は直ちに認識装置の主プログラムに戻る(図6のステップ92参照)ものとする。次いで認識装置はステップ100にて(情報探索用の)SINFOにて示すオブジェクトを呼出す。このオブジェクトはエンジンモジュールの主要オブジェクトの1つである。図4のステップ101に示すように、SINFOオブジェクトは処理するインクデータがない場合には制御を認識装置の主プログラムに直ちに戻す。次に、インクデータが使用できる場合につき考察する。
【0031】
図4に102にて示す“インクデータ前処理”ステップは、インクデータがある場合には常に前述した前処理モジュール42によって実行される。この処理を図1bの図と共にさらに考察する。図1bはx−y座標データがタブレット20によって如何にして収集されるのかを示す図である。この図の文字“m”はユーザが書いたものである。タブレットからのx−y座標データは毎秒当り200回までサンプルされるから、図面の“m”で多数のデータ点が発生する。
【0032】
インクデータ前処理ステップ102は先ず、受取ったデータから図1bに点104にて示すような、ノイズとして特徴付けることのできる個所を除去する。次いで、多数のサンプルデータ座標値から限定量の基本x−yデータを抽出して、分類モジュール44及び他のモジュールが情報を有効に処理できるようにする。この基本データを抽出する1つの方法は、全インクストロークに沿って図1bに黒丸106にて示すような“極値”点に注目するやり方である。極値106はストロークの最上ピーク及び最低の谷を表す。この場合のストロークは“m”全体の文字である。
【0033】
複数の極値106が記録されていれば、これらの極値106間の幾つかの中間データ点(図1bに白丸にて示してある)をデータから抽出することができる。これらの抽出データ点はインクデータの基本特徴を表し、これらの抽出データ点はさらに処理するために格納しておく。この点に関し、インクデータの1つのストロークに対応する前処理したインクデータは“フレーム”として格納され、前処理したインクデータのストロークはいずれもフレームのアレイとして格納される。(以後、前処理したストロークをフレームと称する。)
【0034】
図4のステップ108に示すように、SINFOオブジェクト100が引き受ける次の処理は分類モジュール44によって分析するための入力データの多数の隣接フレームをパッケージすることである。この点に関し、“グリフ”(glyph)とは1つのフレーム又は数個のフレームを組合わせたものとする。グリフは分類モジュールへと送られ、これらのグリフがどんな文字を表すかが決定される。
【0035】
好適な実施に当っては、グリフを1個、2個、3個及び4個のフレームから成る別々の組合せに群別する。従って、4つのグリフから成る1つの群は各フレームに関連付けられる。例えば、図1cを参照するに、大文字の“E”を書いた場合には、4つの連続するストローク112,114,116及び118が用いられる。これら4つのストロークを表すx−yデータが前述したようにして一旦前処理されると、認識装置は各フレームに対して(ここでは例えば最終ストローク118に関連するフレームに対して)関連する1つの群のグリフをパッケージする(即ち、コンピュータメモリに整列させる)。ストローク118に対応するフレームに対して、関連するグリフ群は、フレーム118のデータだけを含むグリフ;フレーム118と、その直前のフレーム116のデータを含むグリフ;フレーム118,116及びその前のフレーム114のデータを含むグリフ;及びフレーム118,116,114及び112のデータを含むグリフを包含する。好適例では、ユーザが英語の文字に4つ以上のストロークを組み合わせない限り、グリフにアセンブルするフレームの最大数は4である。
【0036】
なお、上述した“フリー”の手書き入力の代わりとして、ペンとタブレットシステムは、スクリーン28上に“ボックス”を規定し、これらの各ボックス内にユーザが単一の英数字を入力させるようにすることもできる。このような場合には、SINFOオブジェクトによって実行させるグリフパッケージングによって、或る特定の入力ボックス内に含まれるフレームの全てを、分類モジュールによる分析のために単一グリフとして群別する必要がある。下記に説明すること以外に、アプリケーションはHRCオブジェクトの属性によりSINFOオブジェクトに斯様なタブレットシステムによって用いられるボックス又はガイド構造を表すデータを与える。以後説明する探索処理はボックス式か、又はフリー入力を用いるかに無関係に同じ方法にて実行される。
【0037】
フリー入力のインクデータの各フレームに関連する4つのグリフから成る群が一旦パッケージされると、ステップ120(図4)でのSINFO処理が分類モジュールを呼び出す。この分類モジュールは各フレームのグリフ群を調べて、どのグリフの形状が英数字に対応するかどうかを決定する。文字形状が見つかる場合に、分類モジュールは斯様な各グリフに対し1つ以上の有望な候補文字を戻す。こうした候補文字は仮説文字と称することができる。分類モジュールは、各候補文字に対して、その候補文字がユーザにより書かれたようなグリフにどの程度似ているかに関する確率値も供給する。形状認識装置と称することができる分類モジュールはy極値に基づく特徴部を用いる統計的根拠によるタイプのものである。
【0038】
例えば、図1cに示した4つのフレーム112,114,116及び118を含むグリフの場合に、分類モジュールは仮説文字である文字“E”を極めて高い出現確率で戻す(“E”が図に示すように正確に書かれているとする)。“E”のグリフが如何に注意深く形成されるかに応じて、低い確率値を有する“F”の如き他の形状も候補文字として戻される。
グリフ及び対応する仮説文字は関連する確率値と一緒に、後の使用のために探索処理中にSINFOオブジェクトのステップ122により格納される。
【0039】
目下使用できる全てのグリフに対するグリフ群の全てを分類モジュールにより分析した後に、図4のSINFOオブジェクトのステップ114にてホワイトスペースモジュールを呼び出す。このホワイトスペースモジュール46は所定の候補文字のx−yデータをその直前の候補文字のx−yデータと比較する。こうした2つの隣接する候補文字間のスペースの大きさが隣接文字間の一般的な間隔を表すしきい値以上である場合に、ホワイトスペースモジュールは、その候補文字に対して、文字間の間隔が高い確率を表す値を戻すようにする。図4のステップ126に示すように、各文字に関連するホワイトスペースの確率はエンジンモジュールにより使用するために格納する。前述したように、文字のホワイトスペースの確率は最良の認識結果を探索するのに考慮される。前述したような“ボックス”式の入力を用いる場合には、その入力フォーマットにより単語の境界が明瞭にされるから、ホワイトスペースモジュールは呼び出されない。
【0040】
SINFOオブジェクトが目下使用可能なインクデータの処理を完了すると、このオブジェクトは認識装置の主プログラムに制御を戻し、この場合にはジェスチャ(GESTURE)オブジェクト101(図3参照)が呼び出される。
【0041】
GESTUREオブジェクト(図5)は新着の受信ストローク(フレームとして格納されている)のうちのどれがジェスチャを含んでいるかを決定する。図5に示すように、GESTUREオブジェクトは連続するストロークの組(例えば、3つの連続ストローク)に対応する前処理したx−yデータを、前述した丸い“C”の如く、システムに規定してあるジェスチャの可能性に対応する作表データと比較する(図5のステップ130,132)。次いでGESTUREオブジェクトは、ユーザがジェスチャをまだ入力してある場合には、その旨の指示で主プログラムへと戻る。検出したジェスチャ情報はいずれもHRCRESULTオブジェクトに直ぐ入り、アプリケーションがそれを使用できるようにする。ジェスチャモジュールによって実行される処理が認識タスク処理には必要とされないことは明らかである。この点に関し、ジェスチャモジュールは、個別のシステム要件(ジェスチャ識別)を如何に簡単に本発明の認識システムに組み込んで認識装置を完成しうるかを実証している。
【0042】
ジェスチャが見つからない場合には、認識装置がステップ103(図3)にて、ENGINEオブジェクトを処理する情報がSINFOオブジェクトにより格納されているかどうかを調べる。このような情報が存在し、しかも処理時間がまだある(ステップ80)場合には、認識装置が再びENGINEオブジェクト(図6参照)を呼び出す。このオブジェクトはエンジンモジュールの他の主要なオブジェクトであり、これは上述した探索処理を実行して、認識タスクが最良結果に達するようにする。
【0043】
ENGINEオブジェクトは認識装置に与えられるインクデータに関する全ての情報を検索し、且つこうした情報を有意義な方法にて組み合わせて、ダイナミックプログラミング(DPP)探索及び前述したスタック−ベースト有限経路(SBP)探索により最良の結果、即ち最良推測値を生成する。
【0044】
データ(これはSINFOオブジェクトによって処理されたものを表すべく“探索情報”と称する)がENGINEオブジェクトによる処理に利用できる場合には(図6のステップ92)、DPPオブジェクト200(図6)がENGINEオブジェクトによって呼び出される。このDPPオブジェクトは1つの粒度、この場合には前処理したインクデータのフレームを処理して、ダイナミックプログラミング経路探索を拡張させるために呼び出される。
【0045】
図7を参照するに、ステップ202でのDPP探索は先ずフレーム(DPP探索目的にとっては、フレームは探索経路の層と見なされる)に対して、SINFOオブジェクト100につき前述したように、このフレーム用にパッケージされた全てのグリフを検索する。
【0046】
次のステップ204にてDPPはSINFO探索情報から、斯かるフレームのグリフ群が分類モジュールによって考慮された場合に、この分類モジュールによって戻された各仮説文字(探索処理では“シンボル”と称する)を検索する。従って、ステップ204は分類モジュールによって戻された或る所定の層に対する候補文字(“シンボル”)の全てを検索する。
ステップ206は、DPPオブジェクトが当面のフレーム、即ち層“i”に関連する斯様な各シンボルに対する探索経路のノードを確立する旨を指示する。
【0047】
後述するように、DPP探索オブジェクトは後に、以前の層における以前の全てのノードから現在の層における各ノードまでの最良の経路コストを計算する。従って、探索処理はデータを最初に受け取ってから、データを最後に受け取る方向へと順方向に進められる。しかし、好適な実施に当たっては、DPP探索及び後述するSBP探索オブジェクトによって、最低の経路コストを“最良”コストとして定めるようにするということに留意すべきである。従って、上述したモジュール(分類、トリグラム等)によって戻される確率値は、ENGINEオブジェクトにて、これらの確率値をそれらの関連する負の対数値に変換することにより最小コスト値に変換される。この結果、幾つかのモジュールによって戻される総合最小コスト値は、これらの負の対数値を加えることにより決定され、これにより、確率値が逓倍されて総合値に達する場合に生ずることのある計算上の無効性がなくなる。
【0048】
上述したようにダイナミックプログラミング探索経路コストを計算する前に、DPPオブジェクトは先ずステップ208にてhmacroモジュール52を呼出し、当面の層の全てのノードに至る経路が前述したHMACROオブジェクトによる主アプリケーションによって供給されるどのテンプレートにより許可されるかどうかを決定する。斯様な遷移妥当性が受け入れられる場合に、DPPオブジェクトはステップ209にて、当面のノード層の直前の層内に位置する各ノードに至るまでの経路コストを計算するようにして、経路情報(文字ストリング)及び各経路に対する総合最小コスト値を同時に検索する。
【0049】
次に説明する連続ステップによりDPP探索オブジェクトは、以前のノードまでの経路コストに当面のノードに関連するコスト値を加えることにより当面のノードまでの経路コスト(新コスト)を計算する。
特に、ステップ210にてDPPオブジェクトは当面のノードに対して、このノードを含んでいるシンボルに対して分類モジュールによって戻された文字最小コスト値αを検索する。
【0050】
ステップ212及び214は、当面の経路ノードに対して、トリグラムモジュール40からのトリグラム最小コスト値を表すコスト値βも検索されることを指示する。
当面のノードに対する基準線/高さコスト値γ(ステップ216,218)及び上述したホワイトスペースコスト値δ(ステップ220)も検索される。
【0051】
ステップ224では、以前の層ノードの各々から当面のノードまでの経路コスト(新コスト)を別々に求め、且つステップ226にて当面のノードまでの最低経路コストを、下記に詳述するようにSBP探索によって使用すべき(部分的)経路コスト推定値として格納する。
【0052】
或る特定層における全てのノードに対する最低コスト経路が一旦設定されたら(ステップ208〜226)、DPP検索の反復は終了する。次いでENGINEオブジェクトがステップ230(図6)にて、HRCオブジェクトを介するアプリケーションによって与えられるフラグがインクデータ入力の終了を知らせているかどうかを調べるチェックをする。前記フラグがインクデータ入力の終了を知らせていない場合には、ENGINEオブジェクトが認識装置のプログラムへの制御に戻り(図3)、これにより時間が許せば、ENGINE、SINFO及びジェスチャオブジェクトのステップを再び実行して、(1)ユーザがタブレット上に書き続けているようにインクデータがまだ使用可能である場合にはさらに探索情報を発生し、(2)新たに加わったインクデータにより作られるジェスチャを調べ、(3)1つ以上の層によるDPPオブジェクトのダイナミック探索経路を拡張する。上述した(1)については、ユーザが必ずしもタブレット上に書き終わらなくても、ダイナミック探索経路の処理及び構成が最終的に最良の結果を見い出すものとなることは明らかである。本発明はこのようにすることにより、最良結果の最終計算をかなり早くすることになる。
【0053】
ENGINEオブジェクトにより実行される当面の処理ステップ230に戻るに(図6)、インク入力データの終了がアプリケーションにより標識付けられている場合には、ENGINEオブジェクトがステップ234のSBP探索オブジェクトを呼び出して、上述したスタック−ベースト有限経路探索を実行して、1つ以上の最良結果を得るようにする。
【0054】
特に、図8を参照するに、SBP探索オブジェクトは先ずDPP経路(即ち、上述したようなDPPオブジェクトにより確立されるダイナミックプログラミング探索経路)の各端部に生ずるノードを検索する。ステップ302では、SBPオブジェクトは各ノード端部からDPP経路の開始点の方へと逆方向に経路探索を拡張する。SBPオブジェクトは、以前のノード拡張に対する各ノードにて、システム辞書及びいずれかのアプリケーション供給ワードリストを調べて、或るノードから他のノードへの遷移が、システム辞書又はワードリストを考慮して評価される各端部ノードから文字ストリングを生成するかどうかを決定する。
【0055】
ステップ304では、SBPオブジェクトが無効遷移に関連するノードに対するDPPの部分経路コスト(即ち、経路の開始点から当面のノードまでDPPオブジェクトにより計算した経路コスト)に辞書コストΔを加える。なお、割り当て辞書コストは比較的高いため、辞書コストを含む経路が最良結果をまねく見込みはない。同様に、1つ以上の割当て辞書コストを含む(ステップ304の結果として)経路が総体的に最良の結果をまねくことはさらに有り得ない。
【0056】
ここで注意すべきことは、SBP探索が辞書に頼る度合いは認識装置を呼び出すアプリケーションによって決めることができるという点にある。この点に関し、HRCオブジェクトの属性の1つには、SBP探索がシステム辞書に頼る度合いに影響を及ぼすアプリケーションにより設定される強制変数を含めることができる。例えば、HRCオブジェクトによりエンジンモジュールに与えられる極めて高い値の強制変数は、認識装置が辞書で見つからなかったワードを拒絶すべきとすることを指示する。従ってSBP探索には極めて高い辞書コストΔが割り当てられるから、斯様な経路は除去する。
【0057】
一旦辞書コストが全てのDPP経路に割当てられると、SBPオブジェクトは各端部ノードにて逆方向探索を開始し(ステップ306)、各端部ノードについて、文字コストα、トリグラムコストβ、基底線/高さコストγ、ホワイトスペースコストδ及び(割当てがあれば)辞書コストΔの総和を含む“実際の”コストを計算する(ステップ308)。これらのコストはDPP探索で前もって処理した際に各ノードに関連して格納してあるから、直ぐに使用することができ、前記各ノードはSBP探索により実行される逆方向探索の基礎となるものである。なお“SBPノード”とは、逆方向SBP探索によって考慮されるノードを称するのにも時々用いるものとする。
【0058】
当面のSBPノードに対する実際のコストを計算した後(現在の場合には、DPP探索経路の各端部ノードまでを考慮して)、SBP探索はステップ310にて当面のSBPノードと、各直前の(即ち開始点の方の)ノードとの間の全経路拡張のコストを計算する。逆方向経路拡張、即ち隣接ノードに対するSBPコストは、(1)当面のノードの“実際の”コスト(ステップ308)と、(2)隣接ノードまでのDPP部分経路コストとを含んでいる。
SBPオブジェクトのステップ312は当面のノードの各逆方向経路拡張に関連するSBPコストをスタックにセーブする。
【0059】
SBPオブジェクトのステップ314では、逆方向経路拡張がDPP経路の開始点(即ち、入力の開始点)に達したかどうかを確かめるチェックをする。それがノードである場合には、スタックに保持されている逆方向経路がソートされ、当面の選択した次のノードは“最良”、即ちSBPコストが最低の経路ということになる。この最良経路ノードに対して、図8のステップ308,310,312及び314にて述べた探索ステップが実行される。ステップ314で明らかなように、SBP探索は端部ノードの全てに対応する経路に対してステップ308,310及び312を実行する。これにより全ての探索が完了すると、SBP探索はステップ312でアセンブルしたソートスタックの内容によって表される最良結果を返送する。この最良結果は結果モジュールを経てHRCRESULTオブジェクトに与えられ、且つ呼出しアプリケーションによりアクセスすることができる。
【0060】
なお、SBP探索は1つ以上の“最良の”答えを出すように簡単に改造することもできる。この点に関し、ステップ308,310,312及び314を繰り返す探索は幾つかの低コスト経路に関連するノードをセーブする。このような結果はコストに従ってランク付けされ、アプリケーションに使用することができる。
【0061】
本発明は上述した例のみに限定されるものではなく、幾多の変更を加え得ること勿論である。例えば活字体で書いた入力につき説明したが、本発明による認識装置は、例えば前処理モジュールにて入力を複数ストロークに適当に分割することにより続け書き入力を容易に処理することもできる。このような前処理モジュールは認識装置の他のモジュールを何等変更する必要なく認識装置に組み込むか、又は“プラグ嵌め”することができる。
【0062】
本発明は種々様々なコンピュータシステムを用いて実施することができる。その1つは、マイクロソフト社のウィンドーズ3.1オペレーティングシステムを実行するインテル社の66MHz80486マイクロプロセッサを用いるパーソナルコンピュータとすることができる。
【0063】
上述した機能を行なわせるためにディジタルコンピュータにC言語のプログラミングで用いることのできる模範的なデータ構造及び機能を下記に示す。
【0064】
〔データ構造〕
SINFO
GLYPHSYMオブジェクトによるフレーム組によって生成される文字確率を格納する。種々のグリフ組合わせのホワイトスペースコストも格納する。これはHRCオブジェクトに含まれる主オブジェクトの1つである。
【0065】
GLYPHSYM
グリフに関連する文字仮説情報を格納する。形状認識装置によって戻される確率を格納する。
【0066】
ENGINE
DPP及びSBPオブジェクトを包含する。2つの探索オブジェクト間の探索エンジンプロセスをスケジュールするのに応答し得る。これはHRCオブジェクトに含まれる主オブジェクトの1つである。
【0067】
DPP
DPP探索処理についての情報を包含する。SBP探索によって使用すべき全てのノード及び経路評価を格納する。
【0068】
SBP
SBP探索処理についての情報を包含する。経路を含む現行探索用の優先待ち行列を格納する。代替結果を格納する。
【0069】
〔機能〕
〔GLYPHSYM機能〕
int:CSymGLYPHSYM(GLYPHSYM * glyphsym)
このグリフに関連するシンボル仮説数を戻す。DPP及びSBPモジュールによって呼び出される。
【0070】
SYM:SymAtGLYPHSYM(GLYPHSYM *glyphsym,int iSym)
このグリフに対するi番めのシンボル仮説を戻す。DPP及びSBPモジュールによって呼び出される。
【0071】
PROB:ProbAtGLYPHSYM(GLYPHSYM * glyphsym,int iSym)
このグリフに対するi番めのシンボル仮説のコストを戻す。DPP及びSBPモジュールによって呼び出される。
【0072】
GLYPH:GlyphGLYPHSYM(GLYPHSYM* glyphsym)
グリフそのものを戻す。DPP及びSBPモジュールによって呼び出される。
【0073】
〔SINFO機能〕
int:ProcessSINFO(SINFO* sinfo, BOOL fEndOfInk)
SINFOオブジェクトの1つの粒度を処理する。この処理中にSINFOオブジェクトは所定のインクデータに基づく妥当なGLYPHSYMオブジェクトを構成し、シンボル仮説用の形状認識装置を呼び出す。SINFOオブジェクトはボックス式(枠付き)認識用のセグメンテーションも実行する。これはHRCAPIコール中に呼び出される。
【0074】
BOOL:Set Guide SINFO (SINFO* sinfo, LPGUIDE lpguide, int n First)ガイド情報をセットする。HRCオブジェクトにより直接呼び出される。この機能はSet Guide HRC API コール中に呼び出される。
【0075】
BOOL:Set Alphabet SINFO (SINFO * sinfo, ALC alc LPBYTE rgbyte)
アルファベット情報をセットする。この機能はSet AlphabetHRC API コール中に呼び出される。
【0076】
BOOL:Get Box Results SINFO (SINFO* sinfo,int cAlt, int iSyv, LPBOXRESULTs lpboxresults)
認識装置に目下格納されているボックス結果を探索する。ボックス入力における iSyv 番めのシンボルに対する文字選択肢を検索する。この機能はGet Box Results HRC API コール中に呼び出される。
【0077】
GLYPHSYM:Glyphsym At SINFO (SINFO* sinfo,int iFrame, int cFrame)
次のような指定、即ちグリフの最終フレームの指標が iFrame であり;グリフにおけるフレーム数が cFrame である;を有するグリフを包含するるglyphsymオブジェクトを検索する。この機能は探索処理中探索エンジンオブジェクトによって呼び出される。
【0078】
〔ENGIN機能〕
int:ProcessENGINE(ENGINE* engine, BOOL fEnd Of Ink)
DPP及びSBP探索をする。先ず、新情報がSINFOオブジェクトに加えられているかどうかを確かめるチェックをする。もしそうであれば、Process DPPを呼出して、DPPオブジェクトにDPPを探索する時間を与える。そうでなければ、Process SBPを呼出して、SBPオブジェクトにSBP探索する時間を与える。Process ENGINEはProcess HRC APIコール中に呼び出される。
【0079】
BOOL:SetCoercionENGINE(ENGINE* engine, UINT u Coercion)
探索エンジンにおける強制型変換レベルを設定する。この機能はSet Coercion HRC APIコール中に呼び出させれる。
【0080】
BOOL:SetMacroENGINE(ENGINE * engine, HMACRO hmacro)
探索処理をするマイクロオブジェクトを設定する。マクロはテンプレート、ワードリスト又は辞書のいずれかとすることができる。これは探索処理中に使用するDPP及びSBPオブジェクトにまで伝播する。この機能はSet Macro HRC API コール中に呼び出される。
【0081】
int:CResult ENGLNE(ENGINE * engine)
探索により生成される結果数を戻す。この数はアプリケーションによって所望される最大結果数以下とするか、それに等しくする。この機能はGet Results HRCAPIコール中にに呼び出される。
【0082】
RESULT:Result At ENGLNE(ENGINE * engine, int index)
探索エンジンによって生成されるi番めの結果を戻す。結果オブジェクトはENGINEオブジェクトによって作られたり、壊されたりし、情報はRESULTクラスのメンバ機能部を介してアクセスされる。
【0083】
〔DPP機能〕
int:Process DPP (DPP* dpp)
DPP探索の1つの粒度を処理する。この機能は既存のノードを1つだけ拡張し、最良の部分結果を格納する。この機能はProcess ENGLNEコール中に呼び出される。
【0084】
int:CLayer DPP(DPP* dpp)
生成された層数をDPP探索の結果として戻す。これはフリー入力の場合に処理されるフレーム数に等しい。ボックス式入力の場合には、これは生成されるボックス数に等しい。この機能はSBPモジュールにて呼び出される。
【0085】
int:CFrame DPP(DPP* dpp)
処理したフレーム数を戻す。この機能はSBPモジュールにて呼び出される。
【0086】
COST:Get Estimate(DPP* dpp,int iLayer, SYM sym)
最良の経路コスト推定値をDPP探索の結果として戻す。iLayerはDPP探索層の指標である。Sym は特定層における終了記号であり、例えばGet Estimate DPP (dpp,3,(SYM) ‘a’は(フリー入力の場合に)4フレーム後に文字‘a’で終了する経路の最良の推定値を戻す。この機能は探索中にSBP文字によって呼び出される。
【0087】
〔SBP機能〕
int:Process SBP (SBP* sbp)
SBP探索の1つの粒度を処理する。この機能はProcess HRC API コール中に呼び出される。
【0088】
int:CResults SBP (SBP * sbp)
ENGINEモジュールによって目下呼び出されるSBP探索により生成される結果を戻す。
【0089】
BOOL:Set Rasult MaxSBP (SBP * sbp, int CMax)
SBP探索によって所望される最大結果を設定する。この機能はアプリケーションが探索による所望数の結果を設定する際に、Process HRC コール中に呼び出される。
【図面の簡単な説明】
【図1】(a)は手書き情報を表すデータを収集する機構を示す図である。
(b)は手書き文字に関連するデータ点を示す図である。
(c)は文字を形成すべく組合わせる一連のインクストロークを示す図である。
【図2】認識装置の主要構成要素と、この認識装置のサービスを求めることができるコンピュータアプリケーションとのインタラクションを示す図である。
【図3】認識装置によって引き受けられる全処理を示すフローチャートである。
【図4】認識装置の一部によって引き受けられ、アプリケーションによって与えられるインクデータに関連する所定情報を後に処理するために確立して格納するSINFOにて示すオブジェクトの処理を示すフローチャートである。
【図5】認識装置の一部によって引き受けられ、インクデータが特定のジェスチャを示すかどうかを検出するためのGESTUREにて示すオブジェクトの処理を示すフローチャートである。
【図6】認識装置の一部によって引き受けられ、最良の手書き認識結果を生成するための全探索処理を制御するENGINEにて示すオブジェクトの処理を示すフローチャートである。
【図7】2つの探索法の一方によって引き受けられ、認識装置によって用いられるDPPにて示すオブジェクトの処理を示すフローチャートである。
【図8】2つの探索法のうちの他方によって引き受けられ、認識装置によって用いられるSBPにて示すオブジェクトの処理を示すフローチャートである。
【符号の説明】
20 タブレット
22 コンピュータ
24 ケーブル
26 スタイラス
28 スクリーン
30 HRC(ルートオブジェクト)
32 HMACRO(文脈情報供給オブジェクト)
34 HRCRESULT(認識タスク結果供給オブジェクト)
40 エンジンモジュール
42 前処理モジュール
44 分類モジュール
46 ホワイトスペースモジュール
48 トリグラムモジュール
50 基底線/高さモジュール
52 hmacroモジュール
Claims (4)
- 手書き情報のストロークを表すデータを処理して、該データによって表される文字を識別するために:
ユーザによって与えられるデータであり、開始部と終了部とを有し、これらの間に処理すべき手書き情報が十分な量規定されるデータを受け取る工程と;
前記データの少なくとも一部分を、1つ以上のインクストロークを記述するデータアイテムに前処理する工程と;
前記1つ以上のインクストロークを記述している前記データアイテムを含んでいるデータの部分を一連のパッケージにアセンブルする工程と;
前記データの終了部を受け取る前に行なわれ、しかも、前記パッケージによって表される文字形状に関する情報と、前記パッケージによって表される文字の逐語的文脈に関する情報とを同時に考慮する工程を含み、前記一連のパッケージに対して、これらのパッケージによって表される蓋然的な文字結果セットを決定する工程と;
を含む手書き認識方法であって、
前記文字形状に関する情報が、一連の候補文字を決定すると共に、各候補文字に対して候補文字のコスト値を決定するために前記1つ以上のインクストロークを記述している前記データアイテムの少なくとも一部を含み、
前記文字の逐語的文脈に関する情報が、トリグラムコスト値を決定するために各候補文字と少なくとも1つの周りの候補文字の連続発生確率値を含み、
前記文字形状に関する情報と前記逐語的文脈に関する情報とを同時に考慮する工程が、候補文字のコスト値及び各候補文字のトリグラムコスト値を計算に用いて文字結果セットを決定する工程を含み;
前記文字結果セットを決定する工程が第1探索法を用いて複数の候補文字のうちから前記文字結果セットを探索することを含み;且つ
2つの探索法のうちの前記第1探索法が:
前記各パッケージに対して、それぞれ開始点と終了点とを有し、候補文字のストリングを表す少なくとも1つの経路を展開する工程;及び
各経路に対して、該経路が文字結果セットを含む確率値を反映する第1コスト値であって、前記パッケージによって表される文字形状に関する情報と、前記パッケージによって表される文字の逐語的文脈に関する情報とに基づいた第1コスト値を生成する工程;
を含み;且つ
前記2つの探索法のうちの第2の探索法が、当面の経路に対して、該経路の逐語的文脈に関する情報に基づいた第2コスト値を割当て、且つ前記第2の探索法が前記第1の探索法により展開された経路のうちの少なくとも幾つかの経路のそれぞれの開始点に向かって逆探索を行なって、前記文字結果セットを、前記第1と第2のコスト値の合成コスト値が最低の経路として識別することを特徴とする手書き認識方法。 - 前記第2の探索法が、経路によって表される文字ストリングが辞書に出現するかどうかに基づいて、当該経路に前記第2のコスト値を割当てることを特徴とする請求項1に記載の方法。
- 前記パッケージによって表される文字形状に関する情報と、前記パッケージによって表される文字の逐語的文脈に関する情報とを考慮する工程が、3つの隣接候補文字の発生尤度を考慮する工程を含むことを特徴とする請求項1に記載の方法。
- 前記パッケージによって表される文字形状に関する情報と、前記パッケージによって表される文字の逐語的文脈に関する情報とを考慮する工程が、候補文字の1つが大文字であるかどうかを確かめるために、隣接候補文字の相対的な大きさを比較する工程を含むことを特徴とする請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/269156 | 1994-06-29 | ||
US08/269,156 US6137908A (en) | 1994-06-29 | 1994-06-29 | Handwriting recognition system simultaneously considering shape and context information |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08106512A JPH08106512A (ja) | 1996-04-23 |
JP3885974B2 true JP3885974B2 (ja) | 2007-02-28 |
Family
ID=23026038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16223195A Expired - Fee Related JP3885974B2 (ja) | 1994-06-29 | 1995-06-28 | 手書き認識システム及びその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6137908A (ja) |
EP (1) | EP0690408B1 (ja) |
JP (1) | JP3885974B2 (ja) |
DE (1) | DE69520123T2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415281B1 (en) * | 1997-09-03 | 2002-07-02 | Bellsouth Corporation | Arranging records in a search result to be provided in response to a data inquiry of a database |
US6950534B2 (en) * | 1998-08-10 | 2005-09-27 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US20010008561A1 (en) | 1999-08-10 | 2001-07-19 | Paul George V. | Real-time object tracking system |
US6681031B2 (en) * | 1998-08-10 | 2004-01-20 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US7036094B1 (en) | 1998-08-10 | 2006-04-25 | Cybernet Systems Corporation | Behavior recognition system |
US20100008551A9 (en) * | 1998-08-18 | 2010-01-14 | Ilya Schiller | Using handwritten information |
US7268774B2 (en) | 1998-08-18 | 2007-09-11 | Candledragon, Inc. | Tracking motion of a writing instrument |
US6931153B2 (en) * | 2000-04-20 | 2005-08-16 | Matsushita Electric Industrial Co., Ltd. | Handwritten character recognition apparatus |
US6677932B1 (en) * | 2001-01-28 | 2004-01-13 | Finger Works, Inc. | System and method for recognizing touch typing under limited tactile feedback conditions |
US7257255B2 (en) * | 2001-11-21 | 2007-08-14 | Candledragon, Inc. | Capturing hand motion |
US7043079B2 (en) | 2002-04-25 | 2006-05-09 | Microsoft Corporation | “Don't care” pixel interpolation |
US7392472B2 (en) * | 2002-04-25 | 2008-06-24 | Microsoft Corporation | Layout analysis |
US7110596B2 (en) * | 2002-04-25 | 2006-09-19 | Microsoft Corporation | System and method facilitating document image compression utilizing a mask |
US7024039B2 (en) * | 2002-04-25 | 2006-04-04 | Microsoft Corporation | Block retouching |
US7120297B2 (en) * | 2002-04-25 | 2006-10-10 | Microsoft Corporation | Segmented layered image system |
US7263227B2 (en) * | 2002-04-25 | 2007-08-28 | Microsoft Corporation | Activity detector |
US7164797B2 (en) * | 2002-04-25 | 2007-01-16 | Microsoft Corporation | Clustering |
US7533338B2 (en) * | 2003-08-21 | 2009-05-12 | Microsoft Corporation | Electronic ink processing |
US7729538B2 (en) * | 2004-08-26 | 2010-06-01 | Microsoft Corporation | Spatial recognition and grouping of text and graphics |
US7574048B2 (en) * | 2004-09-03 | 2009-08-11 | Microsoft Corporation | Freeform digital ink annotation recognition |
EP1854048A1 (en) * | 2005-02-28 | 2007-11-14 | ZI Decuma AB | Recognition graph |
US7570816B2 (en) * | 2005-03-31 | 2009-08-04 | Microsoft Corporation | Systems and methods for detecting text |
US7526129B2 (en) * | 2005-06-23 | 2009-04-28 | Microsoft Corporation | Lifting ink annotations from paper |
US7755026B2 (en) | 2006-05-04 | 2010-07-13 | CandleDragon Inc. | Generating signals representative of sensed light that is associated with writing being done by a user |
EP3336765A1 (en) * | 2006-05-10 | 2018-06-20 | Nikon Corporation | Object recognition device, object recognition program, and image search service providing method |
US20080166175A1 (en) * | 2007-01-05 | 2008-07-10 | Candledragon, Inc. | Holding and Using an Electronic Pen and Paper |
US20080294652A1 (en) * | 2007-05-21 | 2008-11-27 | Microsoft Corporation | Personalized Identification Of System Resources |
KR101593598B1 (ko) * | 2009-04-03 | 2016-02-12 | 삼성전자주식회사 | 휴대단말에서 제스처를 이용한 기능 실행 방법 |
US9305245B2 (en) * | 2013-05-07 | 2016-04-05 | Xerox Corporation | Methods and systems for evaluating handwritten documents |
RU2013146529A (ru) * | 2013-10-17 | 2015-04-27 | ЭлЭсАй Корпорейшн | Распознавание динамического жеста руки с избирательным инициированием на основе обнаруженной скорости руки |
US11295121B2 (en) * | 2017-04-11 | 2022-04-05 | Microsoft Technology Licensing, Llc | Context-based shape extraction and interpretation from hand-drawn ink input |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3133266A (en) * | 1960-06-14 | 1964-05-12 | Bell Telephone Labor Inc | Automatic recognition of handwriting |
US5133023A (en) * | 1985-10-15 | 1992-07-21 | The Palantir Corporation | Means for resolving ambiguities in text based upon character context |
US4972496A (en) * | 1986-07-25 | 1990-11-20 | Grid Systems Corporation | Handwritten keyboardless entry computer system |
FR2604004B1 (fr) * | 1986-09-11 | 1990-05-11 | Anatex | Procede de reconnaissance d'ecriture manuscrite |
US5040226A (en) * | 1988-05-31 | 1991-08-13 | Trw Financial Systems, Inc. | Courtesy amount read and transaction balancing system |
US5029223A (en) * | 1990-02-02 | 1991-07-02 | International Business Machines Corporation | Constraint driven-on line recognition of handwritten characters and symbols |
US5267327A (en) * | 1990-03-30 | 1993-11-30 | Sony Corporation | Apparatus and method for registering the handwriting of a user so it can be translated into block characters |
CA2037173C (en) * | 1990-03-30 | 1996-01-09 | Hirofumi Kameyama | Character recognizing system |
US5151950A (en) * | 1990-10-31 | 1992-09-29 | Go Corporation | Method for recognizing handwritten characters using shape and context analysis |
US5285505A (en) * | 1991-03-11 | 1994-02-08 | International Business Machines Corporation | Method and apparatus for improving prototypes of similar characters in on-line handwriting recognition |
US5105468A (en) * | 1991-04-03 | 1992-04-14 | At&T Bell Laboratories | Time delay neural network for printed and cursive handwritten character recognition |
US5237628A (en) * | 1991-06-03 | 1993-08-17 | Nynex Corporation | System and method for automatic optical data entry |
US5287415A (en) * | 1991-10-24 | 1994-02-15 | International Business Machines Corporation | Elastic prototype averaging in online handwriting recognition |
US5247137A (en) * | 1991-10-25 | 1993-09-21 | Mark Epperson | Autonomous computer input device and marking instrument |
US5233547A (en) * | 1991-11-12 | 1993-08-03 | Ncr Corporation | Electronic checking account apparatus and method having a digitizer to receive information as a check is being written |
US5243149A (en) * | 1992-04-10 | 1993-09-07 | International Business Machines Corp. | Method and apparatus for improving the paper interface to computing systems |
US5287417A (en) * | 1992-09-10 | 1994-02-15 | Microsoft Corporation | Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment |
US5392363A (en) * | 1992-11-13 | 1995-02-21 | International Business Machines Corporation | On-line connected handwritten word recognition by a probabilistic method |
-
1994
- 1994-06-29 US US08/269,156 patent/US6137908A/en not_active Expired - Lifetime
-
1995
- 1995-06-27 DE DE69520123T patent/DE69520123T2/de not_active Expired - Lifetime
- 1995-06-27 EP EP95110030A patent/EP0690408B1/en not_active Expired - Lifetime
- 1995-06-28 JP JP16223195A patent/JP3885974B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69520123D1 (de) | 2001-03-29 |
DE69520123T2 (de) | 2001-09-13 |
EP0690408A2 (en) | 1996-01-03 |
JPH08106512A (ja) | 1996-04-23 |
EP0690408A3 (en) | 1997-01-22 |
US6137908A (en) | 2000-10-24 |
EP0690408B1 (en) | 2001-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3885974B2 (ja) | 手書き認識システム及びその方法 | |
EP1141941B1 (en) | Handwritten or spoken words recognition with neural networks | |
US6111985A (en) | Method and mechanism for providing partial results in full context handwriting recognition | |
Sriraghavendra et al. | Fréchet distance based approach for searching online handwritten documents | |
US5724449A (en) | Stroke syntax input device | |
US6513005B1 (en) | Method for correcting error characters in results of speech recognition and speech recognition system using the same | |
US6311152B1 (en) | System for chinese tokenization and named entity recognition | |
JP2726568B2 (ja) | 文字認識方法及び装置 | |
US5669007A (en) | Method and system for analyzing the logical structure of a document | |
US7756335B2 (en) | Handwriting recognition using a graph of segmentation candidates and dictionary search | |
US5923778A (en) | Hierarchical representation of reference database for an on-line Chinese character recognition system | |
IL196017A (en) | Two-tiered text recognition | |
Plamondon et al. | Online handwriting recognition | |
JP3216800B2 (ja) | 手書き文字認識方法 | |
Singh et al. | Recognition of online unconstrained handwritten Gurmukhi characters based on Finite State Automata | |
JP4466241B2 (ja) | 文書処理手法及び文書処理装置 | |
Indhu et al. | Multilingual online handwriting recognition system: an android app | |
JPH0689368A (ja) | 手書き文字認識のための特定ユーザ用プロトタイプ集合生成方法 | |
WO2006090404A1 (en) | System, method, and apparatus for accomodating variability in chunking the sub-word units of online handwriting | |
JPH10198766A (ja) | 文字認識装置及びその方法並びに記憶媒体 | |
Marukawa et al. | A post-processing method for handwritten Kanji name recognition using Furigana information | |
Srihari et al. | Unconstrained Handwritten Text Recognition | |
Toyokawa et al. | An on-line character recognition system for effective Japanese input | |
Srihari et al. | Written Language Input | |
Mahadevan | Robust vision through imperfect eyes: a system for processing city, state and zipcodes in handwritten addresses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040811 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050406 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050516 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050603 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20060803 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20060815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061116 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121201 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |