JP3780023B2 - 文字認識装置及びその方法 - Google Patents
文字認識装置及びその方法 Download PDFInfo
- Publication number
- JP3780023B2 JP3780023B2 JP00384296A JP384296A JP3780023B2 JP 3780023 B2 JP3780023 B2 JP 3780023B2 JP 00384296 A JP00384296 A JP 00384296A JP 384296 A JP384296 A JP 384296A JP 3780023 B2 JP3780023 B2 JP 3780023B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- strokes
- pattern
- specific pattern
- recognition
- 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
Landscapes
- Character Discrimination (AREA)
Description
【発明の属する技術分野】
本発明は、文字入力領域の文字枠に入力される文字を認識する文字認識装置及びその方法に関するものである。
【0002】
【従来の技術】
従来のオンライン手書き文字認識装置は、ユーザが入力する手書き文字の文字パターンを予め装置内に認識辞書として用意されている標準文字の文字パターンと比較し、類似度の高い標準文字の文字パターンの文字コードを認識結果として出力するものである。通常、文字を入力する際には、文字入力板と呼ばれる記入エリアが設けられており、ユーザが入力する手書き文字を装置に取り込むためのインタフェースアプリケーションが備えられている。
【0003】
手書きオンライン手書き文字認識装置内での文字認識処理は、1文字毎にユーザが入力する文字を認識し、その認識結果を出力する方式で構成されていることが多いが、一方で、書き手となるユーザには文章等の複数の文字を入力したい場合が生じる。この場合、装置では、これらの複数の文字を構成する文字ストロークから文字の区切りを検出し、1文字分の文字ストロークを確定させた後、認識処理を行っていた。また、全く自由に(大きさ、位置の制限によらない)書かれた複数の文字から、それぞれの文字を検出するための文字の区切り方法がいくつか提案されているが、いずれの方法も実用レベルには至っておらず、その認識精度は低いものであった。
【0004】
上述の認識精度を向上させるために、既に市販されているMicrosoft社のWindows for Pens(商標)、Go社のPenPoint(商標)等の入力ペンを用いて文字を入力するOSに用いられる文字入力板では、各文字の区切りをガイドする複数の文字枠(長方形矩形)を設け、文字枠毎に1つの文字を記入するものであった。この場合、文字枠毎に文字を認識すれば良いので、複数の文字が入力されても精度良く文字認識をすることができた。更に、この複数の文字枠を用いた文字入力板は、文字の区切り方法を容易にするだけでなく、同形状異字種における大文字小文字判別にも応用されていた。
【0005】
また、このような文字枠付き文字入力板では、文字が入力された文字枠内に認識結果の文字を表示した。更には、文字入力板において、認識対象文字種の設定や、出力モードの設定を行うことで、ユーザの要求に従って、認識処理の制御が可能となっていた。例えば、全角文字/半角文字のいずれかで文字を出力する指定を行うことにより、認識結果の文字フォントを全角文字、あるいは半角文字で出力することができた。
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来のオンライン手書き文字認識装置文字では、以下のような問題点があった。つまり、例えば、「10」のような複数の数字の文字群や、「(図」のように括弧等と他の文字を一緒にした文字群を、ユーザは1つの文字枠に一緒にして記入してしまう場合がある。この場合、1つの文字枠に記入されたすべての文字の文字ストロークは、1つの文字として認識を行うため誤った文字認識を行ってしまうという問題点があった。このような例は他にも存在し、特に数字や記号等を含む文字に多く見られる。
【0007】
また、我々が日常、文章を書く際の日本文書特有の書式によっても、同様の問題点が生じていた。例えば、句読点等の記号を行頭に出現させない習慣がある。そのため、行頭に出現しそうな場合は行末に他の文字と連結して記入するというものであり、学校教育等においても指導されている。
更には、文字入力板に関し、1つの文字枠に記入できる文字数が1文字のみという制限が、文章を記入するユーザには一般的な習慣や、あるいは個人特有の書式といった日常の記入方法とは異なる作法を強いられ、文字を入力する操作の操作性を低下させるという問題点があった。
【0008】
本発明は上記の問題点に鑑みてなされたものであり、複数の文字枠からなる文字入力板の文字枠に複数の文字を記入しても、これら複数の文字をそれぞれ認識することができる文字認識装置及びその方法を提供することを目的としている。
また、複数の文字枠からなる文字入力板の文字枠に1文字を記入する制限をなくし、文字を入力する操作の操作性を向上することができる文字認識装置及びその方法を提供することを目的としている。
【0009】
【発明が解決しようとする課題】
上記の目的を達成するための本発明による文字認識装置は以下の構成を備える。即ち、
文字枠に入力されるストロークで構成されるパターンを文字認識する文字認識装置であって、
少なくとも1つ以上の特定パターンに関する情報を記憶する記憶手段と、
1つの文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶手段に記憶されている特定パターンであるか否かを判定する判定手段と、
前記判定手段によって前記特定パターンであると判定された場合、当該特定パターンであると判定された当該最初のn本のストローク或いは最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識し、一方、前記判定手段によって前記特定パターンでないと判定された場合、前記読み出された複数のストロークで構成されるパターンを用いて文字認識する認識手段と、
前記判定手段によって前記特定パターンであると判定された場合は、前記判定手段によって判定された特定パターンと前記認識手段による前記除外後のストロークで構成されるパターンの文字認識結果とを出力し、一方、前記判定手段によって前記特定パターンでないと判定された場合は、前記認識手段による前記読み出された複数のストロークで構成されるパターンの文字認識結果を出力する出力手段と
を備える。
【0010】
また、好ましくは、前記記憶手段は、前記特定パターンを構成する文字コードと該特定パターンを構成するストロークの許容ストローク数と該特定パターンが記入されるべき入力順の位置を示す情報とを記憶する。
【0011】
また、好ましくは、前記判定手段は、前記記憶手段に記憶される特定パターンを構成するストロークの許容ストローク数nと該特定パターンが記入されるべき入力順の位置を示す情報に基づいて、前記読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶手段に記憶されている特定パターンであるか否かを判定する。
また、好ましくは、前記特定パターンは、少なくとも記号や句読点を含む。
また、好ましくは、前記文字枠が行末の文字枠である場合、前記判定手段は、当該文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最後のn本のストロークで構成されるパターンが、前記記憶手段に記憶されている特定パターンであるか否かを判定し、
前記判定手段により特定パターンであると判定された場合、前記認識手段は、当該特定パターンであると判定された当該最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識して、前記出力手段は、前記除外後のストロークで構成されるパターンの文字認識結果と前記判定手段によって判定された特定パターンとを出力する。
【0012】
上記の目的を達成するための本発明による文字認識方法は以下の構成を備える。即ち、
文字枠に入力されるストロークで構成されるパターンを文字認識する文字認識方法であって、
少なくとも1つ以上の特定パターンに関する情報を記憶媒体に記憶する記憶工程と、
1つの文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶工程で記憶媒体に記憶されている特定パターンであるか否かを判定する判定工程と、
前記判定工程によって前記特定パターンであると判定された場合、当該特定パターンであると判定された当該最初のn本のストローク或いは最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識し、一方、前記判定工程によって前記特定パターンでないと判定された場合、前記読み出された複数のストロークで構成されるパターンを用いて文字認識する認識工程と、
前記判定工程によって前記特定パターンであると判定された場合は、前記判定工程によって判定された特定パターンと前記認識工程による前記除外後のストロークで構成されるパターンの文字認識結果とを出力し、一方、前記判定工程によって前記特定パターンでないと判定された場合は、前記認識工程による前記読み出された複数のストロークで構成されるパターンの文字認識結果を出力する出力工程と
を備える。
【0013】
また、好ましくは、前記記憶工程は、前記特定パターンを構成する文字コードと該特定パターンを構成するストロークの許容ストローク数と該特定パターンが記入されるべき入力順の位置を示す情報とを記憶媒体に記憶する。
また、好ましくは、前記判定工程は、前記記憶工程で記憶媒体に記憶される特定パターンを構成するストロークの許容ストローク数nと該特定パターンが記入されるべき入力順の位置を示す情報に基づいて、前記読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶工程で記憶媒体に記憶されている特定パターンであるか否かを判定する。
【0014】
また、好ましくは、前記特定パターンは、少なくとも記号や句読点を含む。
また、好ましくは、前記文字枠が行末の文字枠である場合、前記判定工程は、当該文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最後のn本のストロークで構成されるパターンが、前記記憶工程で記憶媒体に記憶されている特定パターンであるか否かを判定し、
前記判定工程により特定パターンであると判定された場合、前記認識工程は、当該特定パターンであると判定された当該最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識して、前記出力工程は、前記除外後のストロークで構成されるパターンの文字認識結果と前記判定工程によって判定された特定パターンとを出力する。
【0016】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施の形態を詳細に説明する。
<実施の形態1>
図1は実施の形態1のオンライン手書き文字認識装置の概略構成を示すブロック図である。
【0017】
図1において、200はCPUであり、ROM201に記憶された制御プログラム(文字認識処理等)やデータ等に従って装置全体を制御する。また、後述するフローチャートの制御プログラムもROM201に格納される。202はRAMであり、CPU200のワークエリアとして使用されると共に、入力された文字ストロークデータ等を記憶する。203はディジタイザ等の座標入力部で、この座標入力部203上で入力ペン204等の入力手段を用いて描かれた文字パターン等の座標データが、入力データとしてRAM202に格納される。また、座標入力部203には、文字を入力するための複数の文字枠からなる文字入力板203a(図3参照)を有している。205は表示部を制御するための表示コントローラ、206はCRTや液晶等で構成される表示部である。207はフロッピーディスクやハードディスク等とのインターフェイスを制御するDC(ドライブコントローラ)であり、208はフロッピーディスクやハードディスク等の外部メモリである。
【0018】
尚、座標入力部203は、例えば、透明電極で構成されており、表示部206と重ね合わせた構成となっている。そして、CPU200は、入力ペン204が座標入力部203を指示している(以下、ペンドラッグと呼ぶ)期間内に入力される座標位置を検出する。そして、その検出された座標位置に対応して表示部206上にドットを表示する。これによって、あたかも、ペンで紙に文字や図形を書いたような動作が、表示部206上で実行される。209は装置を構成する各要素を接続するためのシステムバスである。
【0019】
次に、実施の形態1で実行される処理の機能構成について、図2を用いて説明する。
尚、CPU200の制御によって、ROM201に格納された実施の形態1で説明される処理を実行するための制御プログラムをRAM202に読み込むことで、その処理が実行される。
【0020】
図2は実施の形態1のオンライン文字認識装置の機能構成を示すブロック図である。
以下、各機能構成と、各機能によって実行される処理について説明する。
まず、文字入力部100(CPU200、座標入力部203、文字入力板203a、入力ペン204、表示部206に対応する)より入力された各文字枠に記入される複数の文字ストロークは、文字ストローク記憶部103に記憶される。この文字ストロークは、座標入力部203から送られるペンダウン(入力ペン204の入力開始を示す)信号からペンアップ(入力ペン204の入力終了を示す)信号までの間に送られた複数の座標群から成っている。そして、文字ストローク記憶部103に格納されている複数の文字ストロークを用いて、文字枠位置検出部106では、入力された文字ストロークが、文字入力板203aのどの文字枠に記入されたかを検出する。
【0021】
尚、この文字枠位置検出方法は、文字ストロークの始点座標が含まれる文字枠位置としてもよく、また、文字枠をはずれて記入された場合を想定して、文字ストローク全体の重心座標が含まれる文字枠としてもよい。いずれの場合も文字枠を構成する矩形の頂点座標が、装置内に記憶されていれば検出可能である。
文字抽出部104では、複数の文字ストロークの中に特定文字情報テーブル105に設定されている特定文字の文字ストロークが含まれているかどうかを判断する。また、文字抽出部104には、文字枠に記入された文字ストロークのストローク数j(jは正の整数)をカウントするカウンタ104a、後述する文字ストロークの最小ストローク数kをカウントするカウンタ104bが構成される。
【0022】
尚、文字抽出部104において、文字枠内に特定文字が存在しないと判断された場合は、その文字枠に記入されているすべての文字ストロークを1文字としてして認識する。認識された文字ストロークを、認識部101に送り、文字認識処理を実行させる。一方、文字枠内に特定文字が存在すると判断された場合は、その文字枠に記入されている特定文字の文字ストロークと特定文字以外の文字ストロークとして認識する。認識されたそれぞれの文字ストロークを、認識部101に送り、文字認識処理を実行させる。
【0023】
尚、特定文字とは、括弧や句読点等の他の文字と一緒になって、1つの文字枠に記入されることがある文字(以下、特定文字と呼ぶ)のことである。
特定文字情報テーブル105には、特定文字の文字コードやその他の付加情報が格納されており、外部メモリ208にファイルとして存在している。このファイルの内容は、変更可能であり、ファイルの読込/書込が許可されている。
【0024】
認識部101において、得られた認識結果は結果出力部102のバッファメモリ102aに転送される。転送された認識結果は、認識結果として適当であると判断された複数の文字コードと、その文字コードの付加情報として認識処理で生成された演算値が認識候補として含まれている。結果出力部102は、第一位の認識候補の文字コードが表す文字フォントを表示部206に表示する。
【0025】
尚、文字フォントの表示はユーザが筆跡入力した文字枠に表示することが可能で、その際には、入力された文字筆跡を消去して表示すれば良い。また、第一位の認識候補結果に限らず、下位の認識候補を表示する構成にしても良い。
次に、上述の文字抽出部104が起動されるまでの処理について、図3と図4のフローチャートを用いて詳細に説明する。
【0026】
図3は実施の形態1のオンライン文字認識装置の文字入力板を示す図である。図3に示される文字入力板203aは、座標入力部203の一部または全部に構成され、複数の文字を入力するための文字枠が備えられている。
図3では、文字枠の中に「説明する(図8」が、手書きで記入されている様子を示している。また、各文字枠左上に記載されている数字は文字枠位置番号である。
【0027】
図4は実施の形態1の文字抽出部104が起動されるまでの処理フロー示すフローチャートである。
ステップS400で、文字ストローク記憶部103に記憶されている文字ストロークを読み出し、文字枠位置検出部106に送る。ステップS401で、文字枠位置検出部106によって、文字ストロークと対応する文字入力板203aの文字枠位置を決定し、その位置番号を文字ストロークの付加情報として対応付ける。
【0028】
ステップS402で、読み出した文字ストロークに付加されている文字枠位置番号が、直前に読み出された文字ストロークの文字枠位置番号と異なるかどうかを判定する。同じである場合(ステップS402でNO)、ステップS400に戻り、引き続き、次のストロークを読み出す。異なっている場合(ステップS402でYES)、ステップS403に進む。
【0029】
ステップS403で、直前に読み出された文字ストロークの文字枠位置番号に該当する複数の文字ストロークを、文字ストローク記憶部103から読み出し文字抽出部104に送る。
上述の図4のフローチャートで説明した処理が実行された後、文字抽出部104が起動され、以下、図5のフローチャートに示すような処理が実行される。
【0030】
図5は実施の形態1の文字抽出部104で実行される処理フローを示すフローチャートである。
ステップS500で、外部メモリ208に格納されている特定文字情報テーブル105をオープンする。図8を用いて、特定文字情報テーブル105の構成を説明する。
【0031】
図8は実施の形態1の特定文字情報テーブル105の構成を示す図である。
例えば、図に示すように特定文字情報テーブル105には、特定文字の文字コードの文字コード情報を複数格納する「文字コード」欄が構成される。また、「文字コード」欄に格納される特定文字の文字コードに対し、実際に書かれる画数の許容範囲のストローク数の最小と最大を格納する「最大ストローク数」欄と、「最小ストローク数」欄からなる「許容範囲ストローク数」欄が構成される。更に、「文字コード」欄に格納される特定文字の文字コードに対し、その文字コードが他の文字の前に書かれるか、後ろに書かれるかを示す情報を格納する「場所」欄が構成される(図に示すように、前の場合「前」、後ろの場合「後」と記述される)。
【0032】
ステップS501で、文字抽出部104に送られてきた文字ストロークのストローク数jをカウンタ104aにセットする。ステップS502で、特定文字情報テーブル105から任意の文字コード情報を読み出す。ステップS503で、特定文字情報テーブル105より読み出されていない特定文字の文字コード情報があるか否かを判定する。読み出されていない特定文字の文字コード情報がある場合(ステップS503でYES)、ステップS504に進む。一方、読み出されていない特定文字の文字コード情報がない場合(ステップS504でNO)、ステップS510に進む。
【0033】
ステップS504で、読み出された文字コード情報に対応する最小ストローク数kがカウンタ104bにセットされる。ステップS505で、カウンタ104bにセットされた値kが読み出された文字コード情報に対応する最大ストローク数よりも大きい否かを判定する。カウンタ104bにセットされた値kが読み出された文字コード情報に対応する最大ストローク数よりも大きい場合(ステップS505でYES)、ステップS501に戻る。一方、カウンタ104bにセットされた値kが読み出された文字コード情報に対応する最大ストローク数よりも小さい場合(ステップS505でNO)、ステップS506に進む。
【0034】
ステップS506で、カウンタ104bにセットされた値kがカウンタ104aにセットされた値jよりも大きい否かを判定する。カウンタ104bにセットされた値kがカウンタ104aにセットされた値jよりも大きい場合(ステップS506でYES)、ステップS501に戻る。一方、カウンタ104bにセットされた値kがカウンタ104aにセットされた値jよりも小さい場合(ステップS506でNO)、ステップS507に進む。
【0035】
ステップS507で、読み出された文字コード情報に対応する「場所」欄に記載されている内容に応じて特殊認識処理を行う。以下、特殊認識処理の詳細を図6のフローチャートを用いて説明する。
図6は実施の形態1の特殊認識処理の処理フローを示すフローチャートである。
【0036】
ステップS600で、読み出された文字コード情報に対応する特定文字情報テーブル105に記載されている「場所」欄を参照し、その文字コード情報に対応する特定文字の書かれる場所が、「前」であるか「後」であるかを判定する。他の文字より「後」の場合、ステップS601に進む。一方、他の文字より「前」の場合、ステップS602に進む。
【0037】
ステップS601で、送られてきたストロークに対し、j−k+1番目の文字ストロークからj番目までの文字ストロークによって特定文字が構成されるものとして、認識部101に送り、特定文字の文字認識処理を行う。
ステップS602で、送られてきたストロークに対し、1番目の文字ストロークからk番目の文字ストロークによって特定文字が構成されるものとして、認識部101に送り、文字認識処理を行う。
【0038】
尚、特定文字が構成されるものとした複数の文字ストロークを認識部101に送る際、文字枠のサイズ情報も合わせて送る。このようにすることで、例えば、「(」の特定文字のように「<」や「{」等の類似する特定文字が存在して、その特定文字「(」の文字ストロークのみでは詳細に特定文字を判別できない場合でも、その文字枠のサイズ情報によって与えられる文字枠の位置と文字ストロークの位置の相対的な位置によって、類似文字間の識別の精度を向上させることができる。
【0039】
再び、図5のフローチャートの説明に戻る。
ステップS507で、特殊認識処理が実行された後、ステップS508で、認識部101から得られる文字認識結果は、図9に示すような構成でバッファメモリ102aに保存格納される。
図9は実施の形態1のバッファメモリ102aに格納される文字認識結果の構成を示す図である。
【0040】
図9の「文字コード」欄は、図8に示される同文字種の文字コード情報が記載されている。「使用ストローク数」欄には、記載されている数値をnとすると、最初のn本、あるいは最後のn本の文字ストロークを用いて認識処理した結果が「認識結果コード」欄と「認識結果スコア」欄に記載される。「認識スコア」欄の数値は、認識結果の信頼度を示す数値であり、数値が大きいほど認識結果の信頼性が高いことを表している。また、「認識結果コード」欄には、認識された文字コード情報が格納される。更に、図8に示されるように「最小ストローク数」と「最大ストローク数」が異なる場合の文字コード情報に対しては、その「最小ストローク数」と「最大ストローク数」間の各ストローク数毎において実行された文字認識の認識結果が格納されることになる(例えば、図9の文字コード情報「(0x2156)等である)。
【0041】
ステップS509で、カウンタ104aの値kを+1インクリメントする。
以上の処理を、特定文字情報テーブル105に格納されているすべての文字コード情報について実行すると、ステップS510に進む。
ステップS510で、バッファメモリ102aに格納された認識結果に対し、結果出力処理を行う。以下、結果出力処理の詳細を図7のフローチャートを用いて説明する。
【0042】
図7は実施の形態1の結果出力処理の処理フローを示すフローチャートである。
まず、ステップS700で、文字枠に記入された文字の中に特定文字が存在しているか否かを判定する。文字枠に記入された文字の中に特定文字が存在する場合(ステップS700でYES)、ステップS703に進む。一方、文字枠に記入された文字の中に特定文字が存在しない場合(ステップS700でNO)、ステップS701に進む。
【0043】
尚、特定文字が存在しているか否かの判定方法は、例えば、図9の認識結果の「文字コード」欄と「認識結果コード」欄に格納されている文字コード情報が等しく、かつ「認識結果スコア」欄が設定された所定の閾値以上である場合に、特定文字が存在するものとする。また、閾値の値は予め実験システム等を用いて、認識処理における認識スコアと正解率の関係を用いて統計的に算出される。
【0044】
例えば、図9に示される認識結果によれば、上記の条件に該当するのは「(」であり、文字枠に記入された文字には、「(」が他の文字と共に書かれていたことになる。
ステップS703で、文字枠に記入された文字によって構成されるすべての文字ストロークの中から、特定文字の文字ストロークとして書かれたものを除き(図3の例では、最初の文字ストロークを取り除く)残りの文字ストロークを1文字として認識部101にて、文字認識処理を行う。この際、文字枠に特定文字のみが記入されていた場合には、残りの文字ストロークは無いので認識処理させる必要性は当然ない。
【0045】
ステップS704で、認識結果を表示部206に表示する順番を決定するために、特定文字の文字コード情報に対応する特定文字情報テーブル105に記載されている「場所」欄を参照し、その文字コード情報に対応する特定文字の書かれる場所が、「前」であるか「後」であるかを判定する。他の文字より「後」の場合、ステップS705に進む。一方、他の文字より「前」の場合、ステップS707に進む。
【0046】
ステップS705で、ステップS703にて得られた文字の認識結果を最初に結果表示部102に送り、ステップS706で、続いてステップS700にて得られた特定文字を送る。
ステップS707で、ステップS700にて得られた特定文字を結果表示部102に送り、ステップS708で、続いてステップS703にて得られた文字の認識結果を送る。
【0047】
一方、ステップS701で、文字枠に記入された文字を構成するすべての文字ストロークを認識部101にて、文字認識処理を行う。ステップS702で、その認識結果を結果出力部102に送る。
以上の処理をすべての文字枠に対して行うことで処理が完了する。
図3に示される記入例の場合、ステップS700より、ステップS703へ進むのは、文字枠位置番号4の文字枠であり、記入されている文字からは、「(」が特定文字、その他の文字として「図」が得られる。そして、図3に示される手書きの「説明する(図8」は、図10に示すような認識結果として、表示部206に表示される。
【0048】
尚、実施の形態1で用いた特定文字情報テーブル105の内容は、図8に示される内容に限定されない。例えば、ユーザが数字等の追加の変更を行えるような構成にすることも容易に可能である。また、GUI等のインタフェース画面を表示部206に表示して、特定文字情報テーブル105内の各欄を設定する構成にすることもできる。
【0049】
以上説明したように、実施の形態1によれば、文字入力板203aに構成される文字枠毎に、特定文字と文字の識別処理を行うので、1つの文字枠に特定文字と文字の文字群が記入された場合でも、それぞれを認識しその認識結果を出力することができる。また、ユーザは、1つの文字枠に記入できる文字数が1文字であるという絶対的な制限を考慮することなく、1つの文字枠に特定文字と文字が組み合わさる複数の文字群を記入することが可能となる。その結果、文字を記入する操作が容易になる。
【0050】
更に、文字枠内に複数の文字を記入しても、これらの文字を分離して認識、結果表示することができ、ユーザは文章などを文字入力板に記入する際に、日常習慣に即した記入法で入力できるようになる。
<実施の形態2>
実施の形態1では、文字入力板のすべての文字枠に関して、文字と特定文字の識別処理を実行していたが、実施の形態2では、文字入力板の所定の文字枠に対して文字抽出部による文字と特定文字の識別処理を行う。ここでは、所定の文字枠として、行末の文字枠に記入される文字と禁則文字の識別処理を例に挙げて説明する。
【0051】
尚、実施の形態2のオンライン手書き文字認識装置の概略構成は、実施の形態1の図1と同様の構成を有するものとし、その詳細な説明は省略する。また、文字入力板の構成も実施の形態1と同様の構成を有するものとし、その詳細な説明は省略する。
実施の形態2で実行される処理の機能構成について、図11を用いて説明する。
【0052】
尚、CPU200の制御によって、ROM201に格納された実施の形態2で説明される処理を実行するための制御プログラムをRAM202に読み込むことで、その処理が実行される。
図11は実施の形態2のオンライン文字認識装置の機能構成を示すブロック図である。
【0053】
以下、各機能構成と、各機能によって実行される処理について説明する。
まず、文字入力部1100(CPU200、座標入力部203、文字入力板203a、入力ペン204、表示部206に対応する)より入力された各文字枠に記入される複数の文字ストロークは、文字ストローク記憶部1103に記憶される。この文字ストロークは、座標入力部203から送られるペンダウン(入力ペン204の入力開始を示す)信号からペンアップ(入力ペン204の入力終了を示す)信号までの間に送られた複数の座標群から成っている。そして、文字ストローク記憶部1103に格納されている複数の文字ストロークを用いて、文字枠位置検出部1106では、入力された文字ストロークが、文字入力板203aのどの文字枠に記入されたかを検出する。また、文字枠位置検出部1106で検出された文字枠の位置が、文字抽出部起動文字枠1107(例えば、文字入力板の文字枠の位置が行頭文字枠、行末文字枠等の所定の文字枠)である場合は、文字ストローク記憶部1103に格納されている複数の文字ストロークの中から、該当する文字枠の文字ストロークをすべて文字抽出部1104に送る。
【0054】
尚、この文字枠位置検出方法は、文字ストロークの始点座標が含まれる文字枠位置としてもよく、また、文字枠をはずれて記入された場合を想定して、文字ストローク全体の重心座標が含まれる文字枠としてもよい。いずれの場合も文字枠を構成する矩形の頂点座標が、装置内に記憶されていれば検出可能である。
文字抽出部1104では、複数の文字ストロークの中に禁則文字情報テーブル1105に設定されている禁則文字の文字ストロークが含まれているかどうかを判断する。また、文字抽出部1104には、文字枠に記入された文字ストロークのストローク数j(jは正の整数)をカウントするカウンタ1104a、後述する文字ストロークの最小ストローク数kをカウントするカウンタ1104bが構成される。
【0055】
尚、文字抽出部1104において、文字枠内に禁則文字が存在しないと判断された場合は、その文字枠に記入されているすべての文字ストロークを1文字としてして認識する。認識された文字ストロークを、認識部1101に送り、文字認識処理を実行させる。一方、文字枠内に禁則文字が存在すると判断された場合は、その文字枠に記入されている禁則文字の文字ストロークと禁則文字以外の文字ストロークとして認識する。認識されたそれぞれの文字ストロークを、認識部1101に送り、文字認識処理を実行させる。
【0056】
尚、禁則文字とは、実施の形態1で説明した特定文字の中で、特に、行頭あるいは行末に文法上記入することがない句読点等の文字(以下、禁則文字と呼ぶ)のことである。
禁則文字情報テーブル1105には、禁則文字の文字コードやその他の付加情報が格納されており、外部メモリ208にファイルとして存在している。このファイルの内容は、変更可能であり、ファイルの読込/書込が許可されている。
【0057】
認識部1101において、得られた認識結果は結果出力部1102のバッファメモリ1102aに転送される。転送された認識結果は、認識結果として適当であると判断された複数の文字コードと、その文字コードの付加情報として認識処理で生成された演算値が認識候補として含まれている。結果出力部1102は、第一位の認識候補の文字コードが表す文字フォントを表示部206に表示する。
【0058】
尚、文字フォントの表示はユーザが筆跡入力した文字枠に表示することが可能で、その際には、入力された文字筆跡を消去して表示すれば良い。また、第一位の認識候補結果に限らず、下位の認識候補を表示する構成にしても良い。
次に、上述の文字抽出部起動文字枠1107が「行末文字枠」と設定された場合(つまり、行頭に記入されることがない禁則文字が記入された場合)に、文字抽出部1104が起動されるまでの処理について、図12と図13のフローチャートを用いて詳細に説明する。
【0059】
図12は実施の形態1のオンライン文字認識装置の文字入力板を示す図である。
図12では、文字枠の中に「サンプルです。」が、手書きで記入されている様子を示している。また、各文字枠左上に記載されている数字は文字枠位置番号である。
【0060】
図13は実施の形態2の文字抽出部1104が起動されるまでの処理フロー示すフローチャートである。
ステップS1300で、文字ストローク記憶部1103に記憶されている文字ストロークを読み出し、文字枠位置検出部1106に送る。ステップS1301で、文字枠位置検出部1106によって、文字ストロークと対応する文字入力板203aの文字枠位置を決定し、その位置番号を文字ストロークの付加情報として対応付ける。
【0061】
ステップS1302で、読み出した文字ストロークに付加されている文字枠位置番号が、直前に読み出された文字ストロークの文字枠位置番号と異なるかどうかを判定する。同じである場合(ステップS1302でNO)、ステップS1300に戻り、引き続き、次のストロークを読み出す。異なっている場合(ステップS1302でYES)、ステップS1303に進む。
【0062】
ステップS1303で、直前に読み出された文字ストロークの文字枠位置番号に該当する複数の文字ストロークを、文字ストローク記憶部103から読み出す。
ステップS1304で、その文字枠位置番号が行末文字枠(図12の文字入力板203aの場合、5、11、17、また、文字入力板の行数が3行以上ある場合は、6n+5(nは正の整数)で表せられる文字枠位置番号の文字枠)であるか否かを判定する。行末文字枠であると判定されない場合(ステップS1304でNO)、ステップS1305に進む。一方、行末文字枠であると判定さらた場合(ステップS1304でYES)、ステップS1306に進む。
ステップS1305で、複数の文字ストロークを1文字を構成する文字ストロークとして認識部1101に送出する。ステップS1306で、複数の文字ストロークを文字抽出部1104に送出する。
【0063】
上述の図13のフローチャートで説明したステップS1306の処理が実行された後、文字抽出部1104が起動され、以下、図14のフローチャートに示すような処理が実行される。
図14は実施の形態2の文字抽出部1104で実行される処理フローを示すフローチャートである。
【0064】
ステップS1400で、外部メモリ208に格納されている禁則文字情報テーブル1105をオープンする。図15を用いて、禁則文字情報テーブル105の構成を説明する。
図15は実施の形態2の禁則文字情報テーブル1105の構成を示す図である。
【0065】
例えば、図に示すように禁則文字情報テーブル1105には、禁則文字の文字コードの文字コード情報を複数格納する「文字コード」欄が構成される。また、「文字コード」欄に格納される禁則文字の文字コードに対し、実際に書かれる画数の許容範囲のストローク数の最小と最大を格納する「最大ストローク数」欄と、「最小ストローク数」欄からなる「許容範囲ストローク数」欄が構成される。
【0066】
ステップS1401で、文字抽出部1104に送られてきた文字ストロークのストローク数jをカウンタ1104aにセットする。ステップS1402で、禁則文字情報テーブル1105から任意の文字コード情報を読み出す。ステップS1403で、禁則文字情報テーブル1105より読み出されていない禁則文字の文字コード情報があるか否かを判定する。読み出されていない禁則文字の文字コード情報がある場合(ステップS1403でYES)、ステップS1404に進む。一方、読み出されていない禁則文字の文字コード情報がない場合(ステップS1404でNO)、ステップS1410に進む。
【0067】
ステップS1404で、読み出された文字コード情報に対応する最小ストローク数kがカウンタ1104bにセットされる。ステップS1405で、カウンタ1104bにセットされた値kが読み出された文字コード情報に対応する最大ストローク数よりも大きい否かを判定する。カウンタ1104bにセットされた値kが読み出された文字コード情報に対応する最大ストローク数よりも大きい場合(ステップS1405でYES)、ステップS1401に戻る。一方、カウンタ1104bにセットされた値kが読み出された文字コード情報に対応する最大ストローク数よりも小さい場合(ステップS1405でNO)、ステップS1406に進む。
【0068】
ステップS1406で、カウンタ1104bにセットされた値kがカウンタ1104aにセットされた値jよりも大きい否かを判定する。カウンタ1104bにセットされた値kがカウンタ1104aにセットされた値jよりも大きい場合(ステップS1406でYES)、ステップS1401に戻る。一方、カウンタ1104bにセットされた値kがカウンタ1104aにセットされた値jよりも小さい場合(ステップS1406でNO)、ステップS1407に進む。
【0069】
ステップS1407で、送られてきたストロークに対し、j−k+1番目の文字ストロークからj番目までの文字ストロークによって禁則文字が構成されるものとして、認識部1101に送り、禁則文字の文字認識処理を行う。
尚、禁則文字が構成されるものとした複数の文字ストロークを認識部1101に送る際、文字枠のサイズ情報も合わせて送る。このようにすることで、例えば、「。」の禁則文字のように「O」や「o」等の類似する文字が存在して、その禁則文字「。」の文字ストロークのみでは詳細に禁則文字を判別できない場合でも、その文字枠のサイズ情報によって与えられる文字枠の位置と文字ストロークの位置の相対的な位置によって、類似文字間の識別の精度を向上させることができる。
【0070】
ステップS1408で、認識部1101から得られる文字認識結果は、図16に示すような構成でバッファメモリ1102aに保存格納される。
図16は実施の形態2のバッファメモリ1102aに格納される文字認識結果の構成を示す図である。
図16の「文字コード」欄は、図15に示される同文字種の文字コード情報が記載されている。「使用ストローク数」欄には、記載されている数値をnとすると、最初のn本、あるいは最後のn本の文字ストロークを用いて認識処理した結果が「認識結果コード」欄と「認識結果スコア」欄に記載される。「認識スコア」欄の数値は、認識結果の信頼度を示す数値であり、数値が大きいほど認識結果の信頼性が高いことを表している。また、「認識結果コード」欄には、認識された文字コード情報が格納される。更に、図15に示されるように「最小ストローク数」と「最大ストローク数」が異なる場合の文字コード情報に対しては、その「最小ストローク数」と「最大ストローク数」間の各ストローク数毎において実行された文字認識の認識結果が格納されることになる(例えば、図15の文字コード情報」(0x2157)等である)。
【0071】
ステップS1409で、カウンタ1104aの値kを+1インクリメントする。
以上の処理を、禁則文字情報テーブル1105に格納されているすべての文字コード情報について実行すると、ステップS1410に進む。
ステップS1410で、文字枠に記入された文字の中に禁則文字が存在しているか否かを判定する。文字枠に記入された文字の中に禁則文字が存在する場合(ステップS1410でYES)、ステップS1403に進む。一方、文字枠に記入された文字の中に禁則文字が存在しない場合(ステップS1410でNO)、ステップS1411に進む。
【0072】
尚、禁則文字が存在しているか否かの判定方法は、例えば、図16の認識結果の「文字コード」欄と「認識結果コード」欄に格納されている文字コード情報が等しく、かつ「認識結果スコア」欄が設定された所定の閾値以上である場合に、特定文字が存在するものとする。また、閾値の値は予め実験システム等を用いて、認識処理における認識スコアと正解率の関係を用いて統計的に算出される。
【0073】
例えば、図16に示される認識結果によれば、上記の条件に該当するのは「。」であり、文字枠に記入された文字には、「。」が他の文字と共に書かれていたことになる。
ステップS1413で、文字枠に記入された文字によって構成されるすべての文字ストロークの中から、禁則文字の文字ストロークとして書かれたものを除き(図12の例では、最後の文字ストロークを取り除く)残りの文字ストロークを1文字として認識部1101にて、文字認識処理を行う。この際、文字枠に禁則文字のみが記入されていた場合には、残りの文字ストロークは無いので認識処理させる必要性は当然ない。
【0074】
ステップS1414で、得られた文字の認識結果を最初に結果出力部1102に送り、ステップS1415で、続いて得られた禁則文字を送る。
一方、ステップS1411で、文字枠に記入された文字を構成するすべての文字ストロークを認識部1101にて、文字認識処理を行う。ステップS1412で、その認識結果を結果出力部1102に送る。
【0075】
以上の処理をすべての文字枠に対して行うことで処理が完了する。
図12に示される記入例の場合、ステップS1410より、ステップS1413へ進むのは、文字枠位置番号5の文字枠であり、記入されている文字からは、「。」が禁則文字、その他の文字として「す」が得られる。そして、図12に示される手書きの「サンプルです。」は、図17に示すような認識結果として、表示部206に表示される。
【0076】
尚、図14のフローチャートに示される文字抽出部1104の処理動作手順は、これに限らない。最終的に、禁則文字に使われている文字ストローク数とその文字コードが判断できれば、いかなる処理手順で実行することができる。また、実施の形態2では、禁則文字の例として行頭に記入されることがないない禁則文字の場合の処理について説明したが、行末に記入されることがない禁則文字であっても良い。また、所定の位置の文字枠に依存した禁則文字が存在するのであれば、どの場所においても同様の処理手順によって、処理を実行することができることは明らかである。
【0077】
更に、禁則文字情報テーブル1105の内容は、図15に示される内容に限定されない。例えば、ユーザが数字等の追加の変更を行えるような構成にすることも容易に可能である。また、GUI等のインタフェース画面を表示部206に表示して、禁則文字情報テーブル1105内の各欄を設定する構成にすることもできる。
【0078】
以上説明したように、実施の形態2によれば、文字入力板203aに構成される行末の文字枠に、禁則文字と文字の識別処理を行うので、行末の文字枠に禁則文字と文字の文字群が記入された場合でも、それぞれを認識しその認識結果を出力することができる。また、ユーザは、1つの文字枠に記入できる文字数が1文字であるという絶対的な制限を考慮することなく、1つの行末の文字枠に禁則文字と文字が組み合わさる複数の文字群を記入することが可能となる。その結果、文字を記入する操作が容易になる。
【0079】
また、行頭に記入されることがない禁則文字を行末の文字と共に記入するような一般的な日本文章書式においても、文字枠を有する文字入力板203aを使用することが可能であり、原稿用紙書式のような文字入力板の実現が可能となる。更に、行末等の特定の文字枠のみに処理が成されるので、処理負荷も軽減され、実用的となる。
【0080】
<実施の形態3>
実施の形態1では特定文字情報テーブルに、その特定文字の文字コードと画数許容範囲の欄を設けることにより、1つの文字枠内に記入された特定文字と文字の識別を実現し、1つの文字枠内に記入された特定文字と文字の文字認識を可能とした。また、実施の形態2では禁則文字情報テーブルに、その禁則文字の文字コードと画数許容範囲の欄を設けることにより、1つの文字枠内に記入された禁則文字と文字の識別を実現し、1つの文字枠内に記入された禁則文字と文字の文字認識を可能とした。
【0081】
実施の形態3では、特に、1つの文字枠内に記入された禁則文字と文字の文字認識の方法として、1つの文字を構成する複数の文字ストロークをいくつかの部分パターンに分類し、その分類パターンの組み合わせで文字認識を行う部分パターン認識処理を用いて文字認識を行う。
尚、実施の形態3のオンライン手書き文字認識装置の概略構成は、実施の形態1の図1と同様の構成を有するものとし、その詳細な説明は省略する。また、文字入力板の構成も実施の形態1と同様の構成を有するものとし、その詳細な説明は省略する。
【0082】
実施の形態3で実行される処理の機能構成について、図18を用いて説明する。
尚、CPU200の制御によって、ROM201に格納された実施の形態3で説明される処理を実行するための制御プログラムをRAM202に読み込むことで、その処理が実行される。
【0083】
図18は実施の形態3のオンライン文字認識装置の機能構成を示すブロック図である。
以下、各機能構成と、各機能によって実行される処理について説明する。
まず、文字入力部1800(CPU200、座標入力部203、文字入力板203a、入力ペン204、表示部206に対応する)より入力された各文字枠に記入される複数の文字ストロークは、文字ストローク記憶部1803に記憶される。この文字ストロークは、座標入力部203から送られるペンダウン(入力ペン204の入力開始を示す)信号からペンアップ(入力ペン204の入力終了を示す)信号までの間に送られた複数の座標群から成っている。そして、文字ストローク記憶部1803に格納されている複数の文字ストロークを用いて、文字枠位置検出部1806では、入力された文字ストロークが、文字入力板203aのどの文字枠に記入されたかを検出する。
【0084】
尚、この文字枠位置検出方法は、文字ストロークの始点座標が含まれる文字枠位置としてもよく、また、文字枠をはずれて記入された場合を想定して、文字ストローク全体の重心座標が含まれる文字枠としてもよい。いずれの場合も文字枠を構成する矩形の頂点座標が、装置内に記憶されていれば検出可能である。
部分パターン認識部1801では、複数の文字ストロークからなる文字に関し、その一部を構成するいくつかの文字ストロークの部分パターンに分類し、この部分パターンの組み合わせによって認識結果を得る。一般に、部分パターン認識では外部メモリ208、あるいはROM201に部分パターン辞書と呼ばれる文字の一部を構成する文字ストロークの部分パターンコードと文字を構成するための部分パターンコード集合と、文字がどの部分パターンから構成されているかを示す構成辞書を所有している。
【0085】
禁則文字情報テーブル1805には、禁則文字の文字コードやその他の付加情報が格納されており、外部メモリ208にファイルとして存在している。このファイルの内容は、変更可能であり、ファイルの読込/書込が許可されている。
尚、禁則文字とは、実施の形態1で説明した特定文字の中で、特に、行頭あるいは行末に文法上記入することがない句読点等の文字(以下、禁則文字と呼ぶ)のことである。また、禁則文字情報テーブル1805の構成は図15に示される禁則情報テーブルと同様の構成であるとする。
【0086】
認識結果制御部1804は、部分パターン認識部1801より得られる認識結果を考慮し、禁則文字情報テーブル1805と照らし合わせて、結果出力部1802に送る認識結果文字の個数を制御する。また、得られた認識結果は結果出力部1102のバッファメモリ1102aに転送される。転送された認識結果は、認識結果として適当であると判断された複数の文字コードと、文字コードの付加情報として認識処理にて生成された演算値が認識候補として含まれている。結果出力部1802は、第一位の認識候補の文字コードが表す文字フォントを文字認識装置の表示部206に表示する。
【0087】
尚、文字フォントの表示はユーザが筆跡入力した文字枠に表示することが可能で、その際には、入力された文字筆跡を消去して表示すれば良い。また、第一位の認識候補結果に限らず、下位の認識候補を表示する構成にしても良い。
次に、実施の形態2と同様に、文字入力板203aの行末の文字枠に行頭にされることがない禁則文字を含んで文字が記入された場合、例えば、図12に示される文字入力板の文字枠位置番号5の行末文字枠に「す。」が記入された場合に実施の形態3で実行される動作手順を図19のフローチャートを用いて詳細に説明する。
【0088】
図19は実施の形態3の処理フローを示すフローチャートである。
尚、ステップS1903、ステップS1904で条件に合わなかった場合は、ステップS1902における処理が不適であり、行末には1文字の筆跡しか存在していなかったと判断されるため、ステップS1905へと進む。ここで、ステップS1900〜ステップS1902、ステップS1906は部分パターン認識部1801で処理し、ステップS1903〜1905、ステップS1907は認識結果制御部1804で処理する。
【0089】
ステップS1900で、読み出された文字ストロークを用いて複数の部分パターンを抽出する。この抽出方法は、部分パターン辞書に収められている標準的な文字ストロークの部分パターンの書き方と文字枠に記入された文字の文字ストロークとの間で、ユークリッド距離比較演算する。そして、標準的な文字ストロークの部分パターン毎に演算値が算出され、演算値が少ない(標準的の文字の文字ストロークの位置と文字枠に記入された文字の文字ストロークの位置の相対的な位置の距離が短い)程、該当する部分パターンが記入された文字に含まれている可能性が高いと判断する。まず、1回目の処理によって、第一の部分パターン候補群が得られる。また、第一の部分パターン候補群それぞれは、文字の一部である。更に、第1の部分パターンに用いられた文字ストロークを除いた残りの文字ストロークを用いて、再度、上述の処理によって部分パターンを抽出し、繰り返し処理することで第2、第3、…、第n(nは正の整数)の部分パターン候補群の探索を行う。
【0090】
ステップS1901で、記入された文字の文字枠の位置が行末であるか否かを判定する。行末でない場合(ステップS1901でNO)、ステップS1906に進む。一方、行末である場合(ステップS1901でYES)、ステップS1902に進む。
ステップS1906で、抽出した第1〜第nまでの部分パターンすべてが構成パターンとなるような文字を探索を構成辞書を用いて行い、探索によって得られる結果を文字認識結果として文字を作成する。ステップS1907で、文字認識結果を結果出力部1802へ送る。
【0091】
一方、ステップS1902では、第1〜第nの部分パターンすべてを用い、それぞれの部分パターンが重複しないようにして部分パターンを組み合わせ、2文字を作成する。
尚、この組み合わせ方法は、入力された文字ストロークの順番を考慮して、連続した部分パターンから組み合わせるように作成する。例えば、3つの部分パターンが抽出されたとすると、(第1の部分パターン+第2の部分パターン)から成る文字と(第3の部分パターン)からなる文字に分け、(第1の部分パターン+第3の部分パターン)から成る文字と(第2の部分パターン)から成る文字の組み合わせは作成しな。また、この2文字の組み合わせが複数できる場合は、各2文字の組み合わせ認識スコア(すなわち、構成する部分パターンの距離比較演算値)の合計が最小となる組を選択する。
【0092】
ステップS1903で、この2文字のそれぞれの認識スコアが予め定められた所定の閾値以上であるか否かを判定する。所定の閾値でない場合(ステップS1903でNO)、ステップS1906に進む。一方、所定の閾値である場合(ステップS1903でYES)、ステップS1904に進む。
ステップS1904で、2文字のうちいずれかが、禁則文字情報テーブル1805に格納されている禁則文字の文字コード情報であるか否かを判定する。禁則文字の文字コード情報がない場合(ステップS1904でNO)、ステップS1906に進む。一方、禁則文字の文字コード情報がある場合(ステップS1904でYES)、ステップS1905に進む。
【0093】
ステップS1905で、認識結果として得られた2文字を結果出力部1802へ送る。
尚、実施の形態3では、実施の形態2と同様に、行末の文字枠に記入された禁則文字と文字の識別における処理について説明したが、これに限らない。例えば、実施の形態1のように、特定文字の文字コードをもつ特定文字情報テーブルを用意し、すべての文字枠について部分パターン認識による特定文字抽出も行えることは明らかである。
【0094】
以上説明したように、実施の形態3によれば、文字認識の認識方法として、文字を構成する文字ストロークの一部の部分パターンを組み合わせて文字認識を行うパターン認識処理を用いることで、標準文字を構成する文字ストロークの一部の部分パターン群を外部メモリ208に記憶させるだけで、文字認識を行うことができる。その結果、標準文字を構成する各文字の文字ストロークをすべて外部メモリ208に記憶させる必要がなくなるため、外部メモリ208の記憶容量を節約することができる。
【0095】
尚、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0096】
この場合、記憶媒体から読出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0097】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0098】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0099】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図20のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。
すなわち、少なくとも「記憶モジュール」、「判定モジュール」、「抽出モジュール」および「認識モジュール」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【0100】
尚、「記憶モジュール」は、少なくとも1つ以上のパターンを記憶媒体に記憶する。「判定モジュール」は、文字枠に入力されたパターンの中に、記憶媒体に記憶されているパターンが含まれているか否かを判定する。「抽出モジュール」は、記憶媒体に記憶されているパターンが含まれていると判定された場合、該パターンを抽出する。「認識モジュール」は、文字枠に入力されたパターンより、抽出したパターンを除外して得られるパターンから文字を認識する。
【0101】
【発明の効果】
以上の説明からも明らかなように、本発明によれば、複数の文字枠からなる文字入力板の文字枠に複数の文字を記入しても、これら複数の文字をそれぞれ認識することができる文字認識装置及びその方法を提供できる。
また、複数の文字枠からなる文字入力板の文字枠に1文字を記入する制限をなくし、文字を入力する操作の操作性を向上することができる文字認識装置及びその方法を提供できる。
【0102】
更に、既存の文字入力板のGUI部分は変更することなく上述の効果を得ることができるので、特殊な文字入力板を別途用意する必要性がない。
【図面の簡単な説明】
【図1】実施の形態1のオンライン手書き文字認識装置の構成を示すブロック図である。
【図2】実施の形態1のオンライン手書き文字認識装置の機能構成を示すブロック図である。
【図3】実施の形態1のオンライン手書き文字認識装置の文字入力板を示す図である。
【図4】実施の形態1の文字抽出部104が起動されるまでの処理フロー示すフローチャートである。
【図5】実施の形態1の文字抽出部104で実行される処理フローを示すフローチャートである。
【図6】実施の形態1の特殊認識処理の処理フローを示すフローチャートである。
【図7】実施の形態1の結果出力処理の処理フローを示すフローチャートである。
【図8】実施の形態1の特定文字情報テーブル105の構成を示す図である。
【図9】実施の形態1のバッファメモリ102aに格納される文字認識結果の構成を示す図である。
【図10】実施の形態1の図3に示される手書き文字の認識処理結果を示す図である。
【図11】実施の形態2のオンライン手書き文字認識装置の機能構成を示すブロック図である。
【図12】実施の形態2のオンライン手書き文字認識装置の文字入力板を示す図である。
【図13】実施の形態2の文字抽出部1104が起動されるまでの処理フロー示すフローチャートである。
【図14】実施の形態2の文字抽出部1104で実行される処理フローを示すフローチャートである。
【図15】実施の形態2の禁則文字情報テーブル1105の構成を示す図である。
【図16】実施の形態2のバッファメモリ1102aに格納される文字認識結果の構成を示す図である。
【図17】実施の形態2の図12に示される手書き文字の認識処理結果を示す図である。
【図18】実施の形態3のオンライン手書き文字認識装置の機能構成を示すブロック図である。
【図19】実施の形態3のの処理フローを示すフローチャートである。
【図20】本発明で実行される処理フローのプログラムを記憶させたFDのメモリマップの構造を示す図である。
【符号の説明】
200 CPU
201 ROM
202 RAM
203 座標入力部
203a 文字入力板
204 入力ペン
205 表示コントローラ
206 表示部
207 DC
208 外部メモリ
Claims (10)
- 文字枠に入力されるストロークで構成されるパターンを文字認識する文字認識装置であって、
少なくとも1つ以上の特定パターンに関する情報を記憶する記憶手段と、
1つの文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶手段に記憶されている特定パターンであるか否かを判定する判定手段と、
前記判定手段によって前記特定パターンであると判定された場合、当該特定パターンであると判定された当該最初のn本のストローク或いは最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識し、一方、前記判定手段によって前記特定パターンでないと判定された場合、前記読み出された複数のストロークで構成されるパターンを用いて文字認識する認識手段と、
前記判定手段によって前記特定パターンであると判定された場合は、前記判定手段によって判定された特定パターンと前記認識手段による前記除外後のストロークで構成されるパターンの文字認識結果とを出力し、一方、前記判定手段によって前記特定パターンでないと判定された場合は、前記認識手段による前記読み出された複数のストロークで構成されるパターンの文字認識結果を出力する出力手段と
を備えることを特徴とする文字認識装置。 - 前記記憶手段は、前記特定パターンを構成する文字コードと該特定パターンを構成するストロークの許容ストローク数と該特定パターンが記入されるべき入力順の位置を示す情報とを記憶する
ことを特徴とする請求項1に記載の文字認識装置。 - 前記判定手段は、前記記憶手段に記憶される特定パターンを構成するストロークの許容ストローク数nと該特定パターンが記入されるべき入力順の位置を示す情報に基づいて、前記読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶手段に記憶されている特定パターンであるか否かを判定する
ことを特徴とする請求項2に記載の文字認識装置。 - 前記特定パターンは、少なくとも記号や句読点を含む
ことを特徴とする請求項1に記載の文字認識装置。 - 前記文字枠が行末の文字枠である場合、前記判定手段は、当該文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最後のn本のストロークで構成されるパターンが、前記記憶手段に記憶されている特定パターンであるか否かを判定し、
前記判定手段により特定パターンであると判定された場合、前記認識手段は、当該特定パターンであると判定された当該最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識して、前記出力手段は、前記除外後のストロークで構成されるパターンの文字認識結果と前記判定手段によって判定された特定パターンとを出力する
ことを特徴とする請求項1に記載の文字認識装置。 - 文字枠に入力されるストロークで構成されるパターンを文字認識する文字認識方法であって、
少なくとも1つ以上の特定パターンに関する情報を記憶媒体に記憶する記憶工程と、
1つの文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶工程で記憶媒体に記憶されている特定パターンであるか否かを判定する判定工程と、
前記判定工程によって前記特定パターンであると判定された場合、当該特定パターンで あると判定された当該最初のn本のストローク或いは最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識し、一方、前記判定工程によって前記特定パターンでないと判定された場合、前記読み出された複数のストロークで構成されるパターンを用いて文字認識する認識工程と、
前記判定工程によって前記特定パターンであると判定された場合は、前記判定工程によって判定された特定パターンと前記認識工程による前記除外後のストロークで構成されるパターンの文字認識結果とを出力し、一方、前記判定工程によって前記特定パターンでないと判定された場合は、前記認識工程による前記読み出された複数のストロークで構成されるパターンの文字認識結果を出力する出力工程と
を備えることを特徴とする文字認識方法。 - 前記記憶工程は、前記特定パターンを構成する文字コードと該特定パターンを構成するストロークの許容ストローク数と該特定パターンが記入されるべき入力順の位置を示す情報とを記憶媒体に記憶する
ことを特徴とする請求項6に記載の文字認識方法。 - 前記判定工程は、前記記憶工程で記憶媒体に記憶される特定パターンを構成するストロークの許容ストローク数nと該特定パターンが記入されるべき入力順の位置を示す情報に基づいて、前記読み出された複数のストロークのうち、最初のn本のストロークで構成されるパターン或いは最後のn本のストロークで構成されるパターンが、前記記憶工程で記憶媒体に記憶されている特定パターンであるか否かを判定する
ことを特徴とする請求項7に記載の文字認識方法。 - 前記特定パターンは、少なくとも記号や句読点を含む
ことを特徴とする請求項6に記載の文字認識方法。 - 前記文字枠が行末の文字枠である場合、前記判定工程は、当該文字枠に入力された複数のストロークを読み出し、当該読み出された複数のストロークのうち、最後のn本のストロークで構成されるパターンが、前記記憶工程で記憶媒体に記憶されている特定パターンであるか否かを判定し、
前記判定工程により特定パターンであると判定された場合、前記認識工程は、当該特定パターンであると判定された当該最後のn本のストロークを前記読み出された複数のストロークから除外して、当該除外後のストロークで構成されるパターンを用いて文字認識して、前記出力工程は、前記除外後のストロークで構成されるパターンの文字認識結果と前記判定工程によって判定された特定パターンとを出力する
ことを特徴とする請求項6に記載の文字認識方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00384296A JP3780023B2 (ja) | 1996-01-12 | 1996-01-12 | 文字認識装置及びその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00384296A JP3780023B2 (ja) | 1996-01-12 | 1996-01-12 | 文字認識装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09190501A JPH09190501A (ja) | 1997-07-22 |
JP3780023B2 true JP3780023B2 (ja) | 2006-05-31 |
Family
ID=11568449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00384296A Expired - Fee Related JP3780023B2 (ja) | 1996-01-12 | 1996-01-12 | 文字認識装置及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3780023B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084101A (ja) * | 2011-10-07 | 2013-05-09 | Panasonic Corp | 文字入力装置、文字入力方法、および文字入力プログラム |
-
1996
- 1996-01-12 JP JP00384296A patent/JP3780023B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09190501A (ja) | 1997-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353997B1 (en) | Freeform annotation transcription | |
US7409089B2 (en) | Writing guide for a free-form document editor | |
US6600834B1 (en) | Handwriting information processing system with character segmentation user interface | |
KR100412317B1 (ko) | 문자인식/수정방법및장치 | |
US20090245654A1 (en) | Method And Tool For Recognizing A Hand-Drawn Table | |
JP3780023B2 (ja) | 文字認識装置及びその方法 | |
US8428358B2 (en) | Radical-base classification of East Asian handwriting | |
JPH08263587A (ja) | 文書入力方法および文書入力装置 | |
JP3187913B2 (ja) | 文書処理装置 | |
JP5455364B2 (ja) | 情報処理装置及び軌跡データ認識方法 | |
CN116324910A (zh) | 用于执行设备上图像到文本转换的方法和系统 | |
US20160034569A1 (en) | Search device | |
US7680334B2 (en) | Presenting recognised handwritten symbols | |
JPS62159291A (ja) | 文章入力装置 | |
JP3167799B2 (ja) | オンライン手書き文字認識装置 | |
JP4101345B2 (ja) | 文字認識装置 | |
US6636636B1 (en) | Character recognizing apparatus, method, and storage medium | |
JPH06266899A (ja) | 手書き入力システム | |
JP3075808B2 (ja) | 文書処理装置 | |
JP2991909B2 (ja) | 文書処理装置および文書処理方法 | |
JP3507720B2 (ja) | オンライン手書き文字認識装置及びコンピュータ読み取り可能な記録媒体 | |
JPS62190565A (ja) | 手書き図形清書装置 | |
JP3177045B2 (ja) | オンライン文字認識装置 | |
JP3266687B2 (ja) | マーク認識方法 | |
JP2904849B2 (ja) | 文字認識装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050902 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060306 |
|
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: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140310 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |