JPH08106512A - 手書き認識システム及びその方法 - Google Patents

手書き認識システム及びその方法

Info

Publication number
JPH08106512A
JPH08106512A JP7162231A JP16223195A JPH08106512A JP H08106512 A JPH08106512 A JP H08106512A JP 7162231 A JP7162231 A JP 7162231A JP 16223195 A JP16223195 A JP 16223195A JP H08106512 A JPH08106512 A JP H08106512A
Authority
JP
Japan
Prior art keywords
search
character
information
path
data
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.)
Granted
Application number
JP7162231A
Other languages
English (en)
Other versions
JP3885974B2 (ja
Inventor
Sung Sik Rhee
シク リー サン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JPH08106512A publication Critical patent/JPH08106512A/ja
Application granted granted Critical
Publication of JP3885974B2 publication Critical patent/JP3885974B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • G06V30/2272Character 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)

Abstract

(57)【要約】 【目的】 コンピュータにより実現する手書き認識シス
テムの速度及び精度を、セグメンテーション及び文脈処
理の統合を含む幾つかの新方式によって高める。 【構成】 ユーザがインクデータを供給している間に認
識処理を開始する。システムは全ての入力が一旦受信さ
れると迅速に認識結果を出す。1つ以上の結果をシステ
ムにより戻すことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータにより実現
する手書き認識システムに関するものである。
【0002】
【従来の技術】手書き情報は、それをひとたびディジタ
ル形態に変換すれば、コンピュータの入力として用いる
ことができる。手書き情報は多数のメカニズムのうちの
いずれかによって収集することができる。一般に、ユー
ザが保持するペン又はスタイラスの先端は、このペン先
の位置を検出する検知メカニズムを具えているタブレッ
ト装置に接触して置かれる。ユーザが活字体風に書く
か、又は普通に書く場合に生ずるような、タブレットに
沿うペン先の移動によって、ペン先位置データのストリ
ームが生成される。このデータは“x”と“y”の位置
座標のアレイとすることができ、これは“インク”又は
“インクデータ”と称することができる。手書き認識シ
ステムは、ユーザの手書き情報をワードプロセッシング
(文書処理)の如き通常の任意のコンピュータアプリケ
ーションに使用できるディジタル情報に変換する目的の
ために斯様なインクデータを処理する。
【0003】手書き認識システムに対する設計上の考慮
すべき事柄は主として速度及び精度である。手書き認識
が向上しうる速度に影響を及ぼす要因の1つは、コンピ
ュータ処理時間がどれだけ認識タスクに割当てられるか
に関連している。例えば初期の認識システムは、インク
データの全てがユーザによって与えられるまでインクデ
ータの処理を後まわしにしていた。このような方法は、
コンピュータがインクデータを収集しているときに使用
できた処理時間を有効に使用していなかった。
【0004】手書き認識システムが、書かれた情報を対
応するディジタル情報に変換する速度及び精度は、イン
クデータを処理する順番によって影響される。従来の幾
つかのシステムでは、例えばインクデータを先ず、どの
英数字がタブレット上にて成された一連のペン移動によ
りおそらく形成されるのかを決定すべく処理している。
このような文字識別はセグメンテーション処理とも称さ
れる。その後、こうしたありそうな文字は、他のありそ
うな文字の逐語的文脈にて意味があるものであるかどう
かを決定すべく処理される。この後者の処理は文脈処理
と称される。
【0005】
【発明が解決しようとする課題】斯様な逐次セグメンテ
ーション処理及び文脈処理に伴なう問題は、ありがちな
文字の選択が文脈情報にアクセスすることなく行われる
ことにある。さらに、セグメンテーション処理は、最も
ありがちな文字を決定する手助けをするのに有利に使用
できる文脈情報を参照することなく、限られた情報で行
われる。従って、文脈処理が斯様な限られた情報に基づ
くセグメンテーション処理により決定される文字で開始
するため、文脈処理の精度はそれ相当に損われている。
【0006】本発明の目的は、アプリケーションの多数
の革新により手書き認識の速度及び精度を向上する方法
及びシステムを提供することにある。
【0007】
【課題を解決するための手段】本発明は、手書き情報の
ストロークを表すデータを処理して、そのデータによっ
て表される文字を識別する手書き認識方法において、当
該方法が:前記データを、このデータの複数部分を包含
するパッケージのシーケンスにアセンブルす工程と;前
記パッケージのシーケンスに対して、そのシーケンスに
よって表される文字結果セットを決定する工程であっ
て、前記パッケージによって表される文字形状に関する
情報と、前記パッケージによって表される文字の逐語的
文脈に関する情報とを同時に考慮する工程を含む文字結
果セット決定工程と;を具えていることを特徴とする。
【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つの主要オブジェクトを介してアプリケーション
と対話処理させる。この例ではオブタジェクトをHR
C,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コールによりH
RCオブジェトクトを作成する。このアプリケーション
は認識装置にAdd PenInput(追加ペン入
力)HRC APIコールにより入力インクデータを供
給する。アプリケーションは認識装置にProcess
HRC API呼出しにより処理時間量も与える。
【0030】処理時間がとれる(使用可能な)ときには
(図3のステップ80参照)、認識装置が先ずエンジン
(ENGINE)オブジェクト90を呼出す。しかし、
当分はENGINEオブジェクトを処理する情報は準備
されておらず、従って制御は直ちに認識装置の主プログ
ラムに戻る(図6のステップ92参照)ものとする。次
いで認識装置はステップ100にて(情報探索用の)S
INFOにて示すオブジェクトを呼出す。このオブジェ
クトはエンジンモジュールの主要オブジェクトの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に示すように、SI
NFOオブジェクト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オブジェクトの属性によりSI
NFOオブジェクトに斯様なタブレットシステムによっ
て用いられるボックス又はガイド構造を表すデータを与
える。以後説明する探索処理はボックス式か、又はフリ
ー入力を用いるかに無関係に同じ方法にて実行される。
【0037】フリー入力のインクデータの各フレームに
関連する4つのグリフから成る群が一旦パッケージされ
ると、ステップ120(図4)でのSINFO処理が分
類モジュールを呼び出す。この分類モジュールは各フレ
ームのグリフ群を調べて、どのグリフの形状が英数字に
対応するかどうかを決定する。文字形状が見つかる場合
に、分類モジュールは斯様な各グリフに対し1つ以上の
適当な候補文字を戻す。こうした候補文字は仮説文字と
称することができる。分類モジュールは、各候補文字に
対して、その候補文字がユーザにより書かれたようなグ
リフにどの程度似ているかに関する確率値も供給する。
形状認識装置と称することができる分類モジュールはy
極値に基づく特徴部を用いる統計的根拠によるタイプの
ものである。
【0038】例えば、図1cに示した4つのフレーム1
12,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でのD
PP探索は先ずフレーム(DPP探索目的にとっては、
フレームは探索経路の層と見なされる)に対して、SI
NFOオブジェクト100につき前述したように、この
フレーム用にパッケージされた全てのグリフを検索す
る。
【0046】次のステップ204にてDPPはSINF
O探索情報から、斯かるフレームのグリフ群が分類モジ
ュールによって考慮された場合に、この分類モジュール
によって戻された各仮説文字(探索処理では“シンボ
ル”と称する)を検索する。従って、ステップ204は
分類モジュールによって戻された或る所定の層に対する
候補文字(“シンボル”)の全てを検索する。ステップ
206は、DPPオブジェクトが当面のフレーム、即ち
層“i”に関連する斯様な各シンボルに対する探索経路
のノードを確立する旨を指示する。
【0047】後述するように、DPP探索オブジェクト
は後に、以前の層における以前の全てのノードから現在
の層における各ノードまでの最良の経路コストを計算す
る。従って、探索処理はデータを最初に受け取ってか
ら、データを最後に受け取る方向へと順方向に進められ
る。しかし、好適な実施に当たっては、DPP探索及び
後述するSBP探索オブジェクトによって、最低の経路
コストを“最良”コストとして定めるようにするという
ことに留意すべきである。従って、上述したモジュール
(分類、トリグラム等)によって戻される確率値は、E
NGINEオブジェクトにて、これらの確率値をそれら
の関連する負の対数値に変換することにより最小コスト
値に変換される。この結果、幾つかのモジュールによっ
て戻される総合最小コスト値は、これらの負の対数値を
加えることにより決定され、これにより、確率値が逓倍
されて総合値に達する場合に生ずることのある計算上の
無効性がなくなる。
【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検索の反復は終了する。次いでENG
INEオブジェクトがステップ230(図6)にて、H
RCオブジェクトを介するアプリケーションによって与
えられるフラグがインクデータ入力の終了を知らせてい
るかどうかを調べるチェックをする。前記フラグがイン
クデータ入力の終了を知らせていない場合には、ENG
INEオブジェクトが認識装置のプログラムへの制御に
戻り(図3)、これにより時間が許せば、ENGIN
E、SINFO及びジェスチャオブジェクトのステップ
を再び実行して、(1)ユーザがタブレット上に書き続
けているようにインクデータがまだ使用可能である場合
にはさらに探索情報を発生し、(2)新たに加わったイ
ンクデータにより作られるジェスチャを調べ、(3)1
つ以上の層によるDPPオブジェクトのダイナミック探
索経路を拡張する。上述した(1)については、ユーザ
が必ずしもタブレット上に書き終わらなくても、ダイナ
ミック探索経路の処理及び構成が最終的に最良の結果を
見い出すものとなることは明らかである。本発明はこの
ようにすることにより、最良結果の最終計算をかなり早
くすることになる。
【0053】ENGINEオブジェクトにより実行され
る当面の処理ステップ230に戻るに(図6)、インク
入力データの終了がアプリケーションにより標識付けら
れている場合には、ENGINEオブジェクトがステッ
プ234のSBP探索オブジェクトを呼び出して、上述
したスタック−ベースト有限経路探索を実行して、1つ
以上の最良結果を得るようにする。
【0054】特に、図8を参照するに、SBP探索オブ
ジェクトは先ずDPP経路(即ち、上述したようなDP
Pオブジェクトにより確立されるダイナミックプログラ
ミング探索経路)の各端部に生ずるノードを検索する。
ステップ302では、SBPオブジェクトは各ノード端
部からDPP経路の開始点の方へと逆方向に経路探索を
拡張する。SBPオブジェクトは、以前のノード拡張に
対する各ノードにて、システム辞書及びいずれかのアプ
リケーション供給ワードリストを調べて、或るノードか
ら他のノードへの遷移が、システム辞書又はワードリス
トを考慮して評価される各端部ノードから文字ストリン
グを生成するかどうかを決定する。
【0055】ステップ304では、SBPオブジェクト
が無効遷移に関連するノードに対するDPPの部分経路
コスト(即ち、経路の開始点から当面のノードまでDP
Pオブジェクトにより計算した経路コスト)に辞書コス
トΔを加える。なお、割り当て辞書コストは比較的高い
ため、辞書コストを含む経路が最良結果をまねく見込み
はない。同様に、1つ以上の割当て辞書コストを含む
(ステップ304の結果として)経路が総体的に最良の
結果をまねくことはさらに有り得ない。
【0056】ここで注意すべきことは、SBP探索が辞
書に頼る度合いは認識装置を呼び出すアプリケーション
によって決めることができるという点にある。この点に
関し、HRCオブジェクトの属性の1つには、SBP探
索がシステム辞書に頼る度合いに影響を及ぼすアプリケ
ーションにより設定される強制変数を含めることができ
る。例えば、HRCオブジェクトによりエンジンモジュ
ールに与えられる極めて高い値の強制変数は、認識装置
が辞書で見つからなかったワードを拒絶すべきとするこ
とを指示する。従ってSBP探索には極めて高い辞書コ
ストΔが割り当てられるから、斯様な経路は除去する。
【0057】一旦辞書コストが全てのDPP経路に割当
てられると、SBPオブジェクトは各端部ノードにて逆
方向探索を開始し(ステップ306)、各端部ノードに
ついて、文字コストα、トリグラムコストβ、基底線/
高さコストγ、ホワイトスペースコストδ及び(割当て
があれば)辞書コストΔの総和を含む“実際の”コスト
を計算する(ステップ308)。これらのコストはDP
P探索で前もって処理した際に各ノードに関連して格納
してあるから、直ぐに使用することができ、前記各ノー
ドはSBP探索により実行される逆方向探索の基礎とな
るものである。なお“SBPノード”とは、逆方向SB
P探索によって考慮されるノードを称するのにも時々用
いるものとする。
【0058】当面のSBPノードに対する実際のコスト
を計算した後(現在の場合には、DPP探索経路の各端
部ノードまでを考慮して)、SBP探索はステップ31
0にて当面のSBPノードと、各直前の(即ち開始点の
方の)ノードとの間の全経路拡張のコストを計算する。
逆方向経路拡張、即ち隣接ノードに対するSBPコスト
は、(1)当面のノードの“実際の”コスト(ステップ
308)と、(2)隣接ノードまでのDPP部分経路コ
ストとを含んでいる。SBPオブジェクトのステップ3
12は当面のノードの各逆方向経路拡張に関連するSB
Pコストをスタックにセーブする。
【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 *glyphs
ym,int iSym) このグリフに対するi番めのシンボル仮説を戻す。DP
P及びSBPモジュールによって呼び出される。
【0071】PROB:ProbAtGLYPHSYM(GLYPHSYM * gl
yphsym,int iSym) このグリフに対するi番めのシンボル仮説のコストを戻
す。DPP及びSBPモジュールによって呼び出され
る。
【0072】GLYPH:GlyphGLYPHSYM(GLYPHSYM* gl
yphsym) グリフそのものを戻す。DPP及びSBPモジュールに
よって呼び出される。
【0073】〔SINFO機能〕 int:ProcessSINFO(SINFO* sinfo, BOOL fEndOfInk) SINFOオブジェクトの1つの粒度を処理する。この
処理中にSINFOオブジェクトは所定のインクデータ
に基づく妥当なGLYPHSYMオブジェクトを構成
し、シンボル仮説用の形状認識装置を呼び出す。SIN
FOオブジェクトはボックス式(枠付き)認識用のセグ
メンテーションも実行する。これはHRCAPIコール
中に呼び出される。
【0074】BOOL:Set Guide SINFO (SINFO* sinf
o, LPGUIDE lpguide, int n First) ガイド情報をセットする。HRCオブジェクトにより直
接呼び出される。この機能はSet Guide HRC API コール
中に呼び出される。
【0075】BOOL:Set Alphabet SINFO (SINFO *
sinfo, ALC alc LPBYTE rgbyte) アルファベット情報をセットする。この機能はSet Alph
abetHRC API コール中に呼び出される。
【0076】BOOL:Get Box Results SINFO (SINFO
* sinfo,int cAlt, int iSyv, LPBOXRESULTs lpboxresu
lts) 認識装置に目下格納されているボックス結果を探索す
る。ボックス入力における iSyv 番めのシンボルに対す
る文字選択肢を検索する。この機能はGet Box Results
HRC API コール中に呼び出される。
【0077】GLYPHSYM:Glyphsym At SINFO (S
INFO* sinfo,int iFrame, int cFrame) 次のような指定、即ちグリフの最終フレームの指標が i
Frame であり;グリフにおけるフレーム数が cFrame で
ある;を有するグリフを包含するるglyphsymオブジェク
トを検索する。この機能は探索処理中探索エンジンオブ
ジェクトによって呼び出される。
【0078】〔ENGIN機能〕 int:ProcessENGINE(ENGINE* engine, BOOL fEnd Of
Ink) DPP及びSBP探索をする。先ず、新情報がSINF
Oオブジェクトに加えられているかどうかを確かめるチ
ェックをする。もしそうであれば、Process DPPを呼
出して、DPPオブジェクトにDPPを探索する時間を
与える。そうでなければ、Process SBPを呼出して、
SBPオブジェクトにSBP探索する時間を与える。Pr
ocess ENGINEはProcess HRC APIコール中に呼び
出される。
【0079】BOOL:SetCoercionENGINE(ENGINE* en
gine, UINT u Coercion) 探索エンジンにおける強制型変換レベルを設定する。こ
の機能はSet CoercionHRC APIコール中に呼び出させれ
る。
【0080】BOOL:SetMacroENGINE(ENGINE * engi
ne, HMACRO hmacro) 探索処理をするマイクロオブジェクトを設定する。マク
ロはテンプレート、ワードリスト又は辞書のいずれかと
することができる。これは探索処理中に使用するDPP
及びSBPオブジェクトにまで伝播する。この機能はSe
t Macro HRC API コール中に呼び出される。
【0081】int:CResult ENGLNE(ENGINE * engin
e) 探索により生成される結果数を戻す。この数はアプリケ
ーションによって所望される最大結果数以下とするか、
それに等しくする。この機能は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 iL
ayer, SYM sym) 最良の経路コスト推定値をDPP探索の結果として戻
す。iLayerはDPP探索層の指標である。Sym は特定層
における終了記号であり、例えばGet Estimate DPP (dp
p,3,(SYM) ‘a’は(フリー入力の場合に)4フレーム
後に文字‘a’で終了する経路の最良の推定値を戻す。
この機能は探索中にSBP文字によって呼び出される。
【0087】〔SBP機能〕 int:Process SBP (SBP* sbp) SBP探索の1つの粒度を処理する。この機能はProces
s HRC API コール中に呼び出される。
【0088】int:CResults SBP (SBP * sbp) ENGINEモジュールによって目下呼び出されるSBP探索
により生成される結果を戻す。
【0089】BOOL:Set Rasult MaxSBP (SBP * sb
p, int CMax) SBP探索によって所望される最大結果を設定する。こ
の機能はアプリケーションが探索による所望数の結果を
設定する際に、Process HRC コール中に呼び出される。
【図面の簡単な説明】
【図1】(a)は手書き情報を表すデータを収集する機
構を示す図である。(b)は手書き文字に関連するデー
タ点を示す図である。(c)は文字を形成すべく組合わ
せる一連のインクストロークを示す図である。
【図2】認識装置の主要構成要素と、この認識装置のサ
ービスを求めることができるコンピュータアプリケーシ
ョンとのインタラクションを示す図である。
【図3】認識装置によって引き受けられる全処理を示す
フローチャートである。
【図4】認識装置の一部によって引き受けられ、アプリ
ケーションによって与えられるインクデータに関連する
所定情報を後に処理するために確立して格納するSIN
FOにて示すオブジェクトの処理を示すフローチャート
である。
【図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 (20)

    【特許請求の範囲】
  1. 【請求項1】 手書き情報のストロークを表すデータを
    処理して、そのデータによって表される文字を識別する
    手書き認識方法において、当該方法が:前記データを、
    このデータの複数部分を包含するパッケージのシーケン
    スにアセンブルす工程と;前記パッケージのシーケンス
    に対して、そのシーケンスによって表される文字結果セ
    ットを決定する工程であって、前記パッケージによって
    表される文字形状に関する情報と、前記パッケージによ
    って表される文字の逐語的文脈に関する情報とを同時に
    考慮する工程を含む文字結果セット決定工程と;を具え
    ていることを特徴とする手書き認識方法。
  2. 【請求項2】 前記文字結果セット決定工程が、2つの
    異なる探索法を組合せることにより複数の候補文字のう
    ちから前記文字結果セットを探索する工程を含むことを
    特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記2つの探索法が、前記パッケージに
    よって表される文字形状に関する情報と、前記パッケー
    ジによって表される文字の逐語的文脈に関する情報とを
    考慮することにより探索することを特徴とする請求項2
    に記載の方法。
  4. 【請求項4】 前記2つの探索法のうちの第1の探索法
    が:前記パッケージのシーケンスに対して、各々が候補
    文字のストリングを表す多数の経路を開発する工程と;
    各経路に対して、その経路が文字結果セットを含む確率
    を反映する第1コスト値であって、前記パッケージによ
    って表される文字形状に関する情報と、前記パッケージ
    によって表される文字の逐語的文脈に関する情報とに基
    づく第1コスト値を生成する工程と;を具えていること
    を特徴とする請求項2に記載の方法。
  5. 【請求項5】 前記2つの探索法のうちの第2の探索法
    が、当面の経路の逐語的文脈に関する情報に基づいて第
    2コスト値を当面の経路に割当て、且つ前記第2の探索
    法が前記第1の探索法によって開発される経路のうちの
    少なくとも幾つかの経路を探索して、前記文字結果セッ
    トを前記第1と第2の統合コスト値が最低の経路として
    識別することを特徴とする請求項4に記載の方法。
  6. 【請求項6】 前記第2の探索法が、経路によって表さ
    れる文字ストリングが辞書に出現するかどうかに基づい
    て第2コスト値を当面の経路に割当てることを特徴とす
    る請求項5に記載の方法。
  7. 【請求項7】 前記パッケージによって表される文字形
    状に関する情報と、前記パッケージによって表される文
    字の逐語的文脈に関する情報とを考慮する工程が、2つ
    の隣接する候補文字間のスペースの大きさが、隣接候補
    文字間のスペースを表す所定量以上であるか、否かを考
    慮する工程を含むことを特徴とする請求項2に記載の方
    法。
  8. 【請求項8】 前記パッケージによって表される文字形
    状に関する情報と、前記パッケージによって表される文
    字の逐語的文脈に関する情報とを考慮する工程が、3つ
    の隣接候補文字の発生可能性を考慮する工程を含むこと
    を特徴とする請求項2に記載の方法。
  9. 【請求項9】 前記パッケージによって表される文字形
    状に関する情報と、前記パッケージによって表される文
    字の逐語的文脈に関する情報とを考慮する工程が、候補
    文字の1つが大文字であるかどうかを確定するために隣
    接候補文字の相対的な大きさを比較する工程を含むこと
    を特徴とする請求項2に記載の方法。
  10. 【請求項10】 ユーザによって与えられる手書き情報
    を表すデータが開始部分と終了部分を有しており、これ
    ら2つの部分間に処理すべき手書き情報が十分な量含ま
    れ、且つ前記2つの探索法のうちの一方の探索処理が、
    前記データの終了部分がユーザにより与えられる前に開
    始することを特徴とする請求項4に記載の方法。
  11. 【請求項11】 ユーザによって与えられる手書き情報
    を表すデータが開始部分と終了部分を有しており、これ
    ら2つの部分間に処理すべき手書き情報が十分な量含ま
    れ、且つ前記2つの探索法のうちの一方の探索処理が、
    前記データの開始部分がユーザにより与えられるや開始
    することを特徴とする請求項4に記載の方法。
  12. 【請求項12】 タブレット等の上におけるスタイラス
    先端の移動を表す受信データストリームを処理する方法
    が:前記データストリームを複数の逐次フレームに分割
    する工程と;入力データのフレームを1つ以上のパッケ
    ージに組合せる工程と;1つ以上の仮説文字を前記パッ
    ケージの少なくとも数個に割当てる工程と;多数の仮説
    文字の経路を構成する工程と;経路に含まれる仮説文字
    の形状及び逐語的文脈に基づいて経路値を割当てる工程
    と;データストリームの開始点から終了点までの経路を
    探索し最高値を有する経路を見つける探索工程と;を具
    えていることを特徴とする受信データストリーム処理方
    法。
  13. 【請求項13】 前記探索工程が、前記データが受信さ
    れる方向に経路を構成すると共に探索し、且つその経路
    に最高値を割当てる第1パスを含むことを特徴とする請
    求項12に記載の方法。
  14. 【請求項14】 前記探索工程が、データが受信された
    方向とは反対方向に経路を探索する第2パスを含み、且
    つ第1パスによって割当てられた値を第2パスに向ける
    のに用いることを特徴とする請求項13に記載の方法。
  15. 【請求項15】 インクデータストリームの終了点が受
    信される前に前記第1パスを開始する工程も具えている
    ことを特徴とする請求項13に記載の方法。
  16. 【請求項16】 認識タスクの結果を供給する手書き認
    識システムが:手書き情報のストロークを表すインクデ
    ータを収集する入力手段と;前記インクデータに基づい
    て仮説文字を供給する分類手段と;前記仮説文字の形状
    及び逐語的内容をほぼ同時に考慮することにより認識タ
    スクの結果を選択する探索手段と;を具えていることを
    特徴とする手書き認識システム。
  17. 【請求項17】 前記探索手段が、前記収集したインク
    データをダイナミックプログラミング経路としてモデル
    化する第1探索手段を含むことを特徴とする請求項16
    に記載のシステム。
  18. 【請求項18】 前記探索手段が前記第1探索手段によ
    ってモデル化した経路を探索する第2探索手段を含むこ
    とを特徴とする請求項17に記載のシステム。
  19. 【請求項19】 前記経路が仮説文字に対応するノード
    で確立されるようにしたことを特徴とする請求項17に
    記載のシステム。
  20. 【請求項20】 前記探索手段が1つ以上の結果を探索
    するようにしたことを特徴とする請求項16に記載のシ
    ステム。
JP16223195A 1994-06-29 1995-06-28 手書き認識システム及びその方法 Expired - Fee Related JP3885974B2 (ja)

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 true JPH08106512A (ja) 1996-04-23
JP3885974B2 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)

* Cited by examiner, † Cited by third party
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
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6950534B2 (en) * 1998-08-10 2005-09-27 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
US6681031B2 (en) * 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
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
US7120297B2 (en) * 2002-04-25 2006-10-10 Microsoft Corporation Segmented layered image system
US7024039B2 (en) * 2002-04-25 2006-04-04 Microsoft Corporation Block retouching
US7043079B2 (en) 2002-04-25 2006-05-09 Microsoft Corporation “Don't care” pixel interpolation
US7164797B2 (en) * 2002-04-25 2007-01-16 Microsoft Corporation Clustering
US7263227B2 (en) * 2002-04-25 2007-08-28 Microsoft Corporation Activity detector
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
JP4571867B2 (ja) * 2003-08-21 2010-10-27 マイクロソフト コーポレーション 電子インク処理
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
WO2007129474A1 (ja) * 2006-05-10 2007-11-15 Nikon Corporation 被写体認識装置、被写体認識プログラム、および画像検索サービス提供方法
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)

* Cited by examiner, † Cited by third party
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
CA2037173C (en) * 1990-03-30 1996-01-09 Hirofumi Kameyama Character recognizing system
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
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

Also Published As

Publication number Publication date
EP0690408A2 (en) 1996-01-03
DE69520123T2 (de) 2001-09-13
JP3885974B2 (ja) 2007-02-28
EP0690408B1 (en) 2001-02-21
EP0690408A3 (en) 1997-01-22
US6137908A (en) 2000-10-24
DE69520123D1 (de) 2001-03-29

Similar Documents

Publication Publication Date Title
JPH08106512A (ja) 手書き認識システム及びその方法
EP1141941B1 (en) Handwritten or spoken words recognition with neural networks
JP4350109B2 (ja) 走査された及びリアルタイムの手書き文字の識別を行う文字認識システム
US7496547B2 (en) Handwriting recognition using a comparative neural network
EP2047409B1 (en) Two tiered text recognition
Smithies et al. A handwriting-based equation editor
US6311152B1 (en) System for chinese tokenization and named entity recognition
US6041137A (en) Radical definition and dictionary creation for a handwriting recognition system
US5923778A (en) Hierarchical representation of reference database for an on-line Chinese character recognition system
US20060274943A1 (en) Personalized implicit and explicit character shape adaptation and recognition
CA2313968A1 (en) A method for correcting the error characters in the result of speech recognition and the speech recognition system using the same
JP2009543204A (ja) 手書き記号の認識方法及び装置
JP2007188512A (ja) 文字認識方法、文字認識プログラム及び文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3216800B2 (ja) 手書き文字認識方法
JP2010061403A (ja) 文字列認識装置及び方法、並びにプログラム
JP2004133565A (ja) インターネットを利用した文字認識の後処理装置
JP2002063548A (ja) 手書き文字認識方法
US6320985B1 (en) Apparatus and method for augmenting data in handwriting recognition system
JPH0610829B2 (ja) 手書き文字認識方法
Sun et al. Adaptive online multi-stroke sketch recognition based on hidden markov model
US6523031B1 (en) Method for obtaining structured information exists in special data format from a natural language text by aggregation
Oudot et al. An activation-verification model for on-line texts recognition
Mao et al. Stochastic language models for automatic acquisition of lexicons from printed bilingual dictionaries
Reul An Intelligent Semi-Automatic Workflow for Optical Character Recognition of Historical Printings
Ma et al. Parsing and tagging of bilingual dictionaries

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