JP3817281B2 - Information processing apparatus and method - Google Patents
Information processing apparatus and method Download PDFInfo
- Publication number
- JP3817281B2 JP3817281B2 JP19523395A JP19523395A JP3817281B2 JP 3817281 B2 JP3817281 B2 JP 3817281B2 JP 19523395 A JP19523395 A JP 19523395A JP 19523395 A JP19523395 A JP 19523395A JP 3817281 B2 JP3817281 B2 JP 3817281B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- stroke
- vector
- feature
- comparison
- 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
【0001】
【発明の属する技術分野】
本発明は情報処理装置及び方法、詳しくは、入力された手書きストロークから、当該ストロークを構成する点データ群の中の特徴点を抽出し、当該特徴点に基づく情報を下位の処理に渡す情報処理装置及び方法に関するものである。
【0002】
【従来の技術】
従来、入力された筆跡を文字認識して、文字コードに変換する文字認識方法には数々の手法が考案されている。その手法の中にベクトルマッチング方式と呼ばれるものがある。この手法は以下のとおりである。
【0003】
まず、入力された筆跡に対し、ペンダウン情報とペンアップ情報によって区切られた座標点列を1ストロークと呼び、そのストロークをベクトル化してストロークベクトルとして表現する。次に、複数のストロークベクトルの個々について、予め認識辞書に納められている標準ストロークベクトルと比較し、相違度を計算する。さらに、認識辞書には文字を構成するいくつかの標準ベクトルが定義されており、この定義された標準ストロークベクトル集合を参照して、入力されたストロークベクトル集合との一致度を計算して最も類似していると判断される文字を認識結果として出力するというものである。
【0004】
ここで、ストロークをベクトル化する方法は、一般的に、入力された座標点を始点から終点までつないでストローク化した後、ストローク線分全体をn分割することによりn本のベクトルを作成している。このベクトル列がストローク特徴として抽出されている。n分割の方法はストロークの全長をnで割り、ストロークを等距離間隔で分割するものであった。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来例のような、オンライン手書き文字認識方法ではストロークの全長をn等分した距離を元に分割点を決定していたが、類似文字、例えば「る」と「ろ」、「ぬ」と「め」のようにストロークの最終点近辺にその文字の特徴がある場合、単なる等距離間隔の分割では精度の良い分割ができず、その分割点によるベクトル列も類似文字間で識別が困難であるという問題点があった。
【0006】
【課題を解決するための手段】
本発明は上記問題点に鑑みなされたものであり、入力された手書きストローク情報から、当該ストロークの精度良い特徴情報を抽出して下位の処理に渡す情報処理装置及び方法を提供しようとするものである。
【0007】
この課題を解決するため、例えば本発明の情報処理装置は以下に示す構成を備える。すなわち、
所定の入力装置より入力された手書きストロークから、当該ストロークを構成する点データ群P(0), …, P(k)から特徴点を抽出し、当該特徴点に基づく情報を下位の処理に渡す情報処理装置であって、
前記入力装置より入力された手書きストローク情報である点データP(0)、…、P(k)を記憶するストローク記憶手段と、
該ストローク記憶手段に記憶された点データにおいて、
前記点データの起点P(i)(初期値i=0)、
参照点P(i+1+j)(初期値j=1)とし、
起点P(i)とP(i+1)で定められるベクトルを基準ベクトル、P(i+1)と前記参照点P(i+1+j)で定められるベクトルを参照ベクトルと定義したとき、
前記基準ベクトルと参照ベクトルとの成す角度θと所定閾値とを比較する比較手段と、
該比較手段の比較結果、前記角度θが所定閾値以下である場合には、点P(i+j)を削除対象に設定すると共に、前記変数jを“1”だけ増加させて前記比較手段を再実行し、
前記比較手段の比較結果、前記角度θが所定閾値を越えた場合、点P(i+j)を特徴点として判断し、その際の変数jに基づいて前記変数iを更新すると共に、前記変数jを“1”で再初期化し、前記比較手段を再実行する第1の制御手段と、
前記第1の制御手段で得られた特徴点の個数が、注目ストロークに関してn個の連続したベクトル列を特定し得る数になったか否かを判別する判別手段と、
該判別手段によって、n個の連続したベクトル列を特定し得る数より少ないと判別した場合は、前記所定閾値を減じた後、前記第1の制御手段による処理を再度実行する第2の制御手段とを備える。
【0009】
また、この場合には、更に、前記判別手段によって、連続したベクトルの数が前記n個を越えたと判別された場合は、前記第1の制御手段で得られた特徴点のうち、前記角度θの大きいものから上位n+1個の特徴点データを抽出する抽出手段を備えることが望ましい。これによって常にn本のベクトルデータを抽出できるようになる。
【0010】
また、下位処理は、文字認識処理であることが望ましい。これによって、文字認識率を向上させることが可能になる。
【0011】
【発明の実施の形態】
以下、添付図面にしたがって本発明にかかる実施形態の例を詳細に説明する。
【0012】
<第1の実施形態>
図1は本第1の実施形態におけるオンライン手書き文字認識装置の機能構成を示すブロック図である。図示において、101は座標入力ペンを操作することで座標を入力するダブレット、ディジタイザ等の座標入力装置であり、本実施形態では、入力された文字データを獲得する文字入力部である。102はストローク格納部で、101の文字入力部にて得られた座標点を用いて、ペンダウン情報とペンアップ情報の間の座標点集合を一本のストロークとして格納する。103は特徴抽出部であって、ストローク格納部102中のストロークデータの中から特徴点となるデータを抽出する。また、104は特徴点消去部であり、特徴点抽出部104で得られた特徴点データからn個のベクトルを構成するためのn+1個の点データを生成するため、不要なデータを消去する特徴点消去部である。105はベクトル化部であって、特徴点消去部105から得られたn+1個の点データに基づきn個のベクトルデータを生成する。以上の如く、文字入力部101でもって1文字分の手書き文字を入力した場合、ペンダウンからペンアップまでのストローク情報が順次取り出され、ベクトル化部105には、各ストロークに対するn本のベクトルが格納される。
【0013】
106は認識部であり、ベクトル化部105から各ストロークに対するベクトルデータを入力し、認識辞書部108に納められている基本ベクトルとの間で比較演算処理して文字認識する。107は、認識部106から出力された認識結果(文字コード)を出力する結果出力部である。尚、文字認識処理では、通常、最も確からしい候補を第1候補とし、次いで第2候補、第3候補、…として出力する。本実施形態でもこれに準拠する。
【0014】
上記構成における特徴抽出部103の処理内容を図2、図3のフローチャートを用いて説明する。
【0015】
図2は記入されたストローク(ペンダウンとペンアップの間の筆跡)の図であり、構成する座標点を図示している。座標点P0は始点、座標点Pkは終点となる。従って座標点の個数は全部でk+1個になる。
【0016】
図3はストロークの特徴点を抽出する処理内容を示すフローチャートである。尚、以下の説明で、点Pnから点P(n+1)に向かうベクトルをV(PnP(n+1))として表わす。
【0017】
まず、ステップS301にて開始点カウンタiを0にセットする。ステップS302にて対象点カウンタjを1にセットする。そして、ステップS303では、変数i,jの合計値がk以下であるか否か、すなわち、本処理が終了したか否かを判断する。否の場合には、以下のステップS304に進む。
【0018】
ステップS304では、ベクトルV(PiP(i+1))とベクトルV(P(i+1)P(i+1+j))の成す角度θが予め設定された閾値角度θt以下であるか否かを判断する。θ≦θtであれば、ステップS305に進み、座標点P(i+j)を削除対象点としてマーキングし、ステップS306では対象点カウンタjをインクリメントして次の座標点の削除チェックを行うためにステップS303に戻る。
【0019】
以下、この処理を繰り返していくが、この期間中、2つのベクトルのなす角度θとθtの関係が、θ>θt、という関係になっていると判断した場合には、ステップS307に進み、変数iを“i+1+j”で更新し、ステップS302に戻る。
【0020】
さて、ステップS305にて全ての座標点のチェックを終了すると、本処理は完了する。この処理終了後、マーキングされた座標点は、角度変化の少ない連続している座標点であるので、この点群を削除して残されたものは角度の大きい部分の座標点となる。尚、始点P0と終点Pkは共に特徴点とみなすこととする。また、尚、上記処理における閾値角度θtはパラメータ化されており、可変である。理由は後述する。
【0021】
上記処理内容を図4に従ってより詳しく説明する。今、点Piを基点とし、j=1の場合を想定する。この場合、2つのベクトルは、
V(PiP(i+1))、V(P(i+1)P(i+2))
となる。
【0022】
これら2つのベクトルのなす角度θ1が閾値角度θt以下であるとした場合、2つ目のベクトルV(P(i+1)P(i+2))の終点P(i+2)の1つ手前の点P(i+1)は削除対象として設定される。この結果、変数jが1つインクリメントされるので(j=2となる)、次に、
V(PiP(i+1))、V(P(i+1)P(i+3))
のなす角度θ2と閾値角度θtと比較されることになる。ここでθ2も閾値角度θt以下である場合には、点P(i+2)が削除対象として設定され、変数jがインクリメントされる(j=3)。この結果、次の2つのベクトルのなし角度θ3と閾値角度θtとが比較される。すなわち、
V(PiP(i+1))、V(P(i+1)P(i+4))
このθ3が閾値角度θtより大きい場合には、点P(i+3)は特徴点(特異点)として設定される。
【0023】
以上の結果、θ1,θ2が共に閾値角度θt以下であって、θ3が閾値角度θtより大きい場合、点P(i+1),P(i+2)が削除対象として設定されることになる。すなわち、ストロークを構成している各座標点の並びの曲がり具合が小さい場合には、それぞれの点が削除対象として設定されることになる。
【0024】
尚、ステップS307では、変数iを“i+1+j”で更新し、ステップS302で変数jを“1”で初期化するので、点Piは図4における点“P(i+4)”の位置に移動し、そこから上述した処理が繰り返し実行されることになる。
【0025】
さて、ストロークをn分割するためには(1ストロークからn個のベクトルを抽出するためには)、特徴点の個数はn+1個必要になる。ところが、上記の処理を行った場合には、閾値角度θtや注目しているストロークに依存して得られる個数が不定であり、一律にn+1の点を得ることができない。そこで、本実施形態では、上記図3の処理を行う場合の閾値θtを可変にし、それでもって適当な数の特徴点を抽出するようにした。この処理を図5のフローチャートに従って説明する。
【0026】
先ず、ステップS501では特徴抽出処理で用いた閾値角度θtに初期値として180°にセットする。ステップS502では、設定されている閾値角度θtを用いて図3で説明した特徴抽出処理を行う。
【0027】
この後、処理はステップS503に進んで、ステップS502で得られた特徴点の個数をチェックし、n+1個以上の特徴点数になったか否かを判断する。ここで、抽出された特徴点の個数がn+1に満たない場合には、ステップS504に進み、閾値角度θtを所定角度(例えば1°)減じ、ステップS502に戻る。
【0028】
以下、閾値角度θtを順次減じ、特徴点抽出部103による処理を行うと、得られる特徴点の数は増えていき、ついにはn+1個以上の特徴点が得られることになる。このとき、処理はステップS503からステップS505に進み、得られた特徴点データを特徴点消去部104に出力し、本処理を終える。
【0029】
次に、特徴点消去部145の処理動作を図6のフローチャートを用いて説明する。
【0030】
先に説明した様に、特徴点抽出部103からは、少なくともn+1個の特徴点が出力される(n+1個以上のの特徴点が得られる)。しかし、注目ストロークからn個のベクトルを抽出する場合、特徴点がn+1個より多い場合には、その分の特徴点を除去することが望まれる。そこで、特徴点消去部104では、図6に示すフローチャートに従って処理することで、余分な特徴点を消去した。
【0031】
先ず、ステップS601では特徴点の個数チェックを行い、特徴点の個数がn+1個となった時点で終了する。特徴点の個数がn+1個より多い場合は、ステップS602にて、隣接する特徴点の角度変化が最も少ない点は特徴点から外す処理を行う。この処理は特徴点抽出処理で用いている手法を利用しても良い。
【0032】
以上の結果、特徴点消去部104からは、ストロークデータで表される軌跡の曲率が大きい付近の点は最終的に残り、曲率が小さい部分の点は消去され、最終的にn個のベクトルデータを生成するためのデータのみが生成される。
【0033】
次に、ベクトル化部105の処理動作を図7のフローチャートに従って説明する。
【0034】
ステップS701にてカウンタiを“0”で初期化する。次いで、ステップS702ではn+1個の特徴点すべてに対してベクトル処理したかどうかのチェックをしている。このチェック結果が否の場合には、以下のステップS703〜705の処理を行う。
【0035】
先ず、ステップS703では隣接する特徴点2点を通る直線の方向ベクトルを求める。方向ベクトルは図8に示す8方向ベクトルとする。求められた方向ベクトルはステップS704でベクトル値として保存される。ステップS705にて次の特徴点に移る処理を行ない、ステップS02に戻る。
【0036】
こうして、全ての特徴点に対してベクトル値が求められると、ステップS706にてn本のベクトル値が生成される。
【0037】
文字認識部106は1つの文字入力に対する全ストロークの入力が完了した段階で、ベクトル化部105から送られてきた全ベクトルデータに基づき文字認識処理を行なう。すなわち、入力した各ストロークのベクトルデータと辞書部108内の標準的なベクトルデータとを比較し、最も類似するとされる文字から順番に第1候補、第2候補、…とし、最終結果として結果出力部107に送る。
【0038】
尚、説明が前後するが、入力されたストロークデータを構成している時系列な座標データがほぼ直線上に並んでいる場合(例えば直線もしくはそれに近い線を手書き入力した場合)、両端点は特徴点として処理されるものの、中間に位置する点の中では特徴点を特定することが難しい。しかし、ベクトル化部105から出力される注目ストロークに対するベクトルデータ(図8参照)としては、同じベクトルコードが連続するものとなるわけであるから、どの点を特徴点としても結果は同じである。従って、図5の処理では、1つの閾値角度θt(ほとんど0°に近い値)で一挙に多くの特徴点が抽出され、図6の処理に渡されるがステップS602では同じ角度のものが複数あった場合には、単純にいずれか1つを特徴点として決定すれば対処できるので、何等問題はない。
【0039】
また、上記実施形態において、結果出力部107は、文字認識結果として、下位の処理部に渡す処理を行う。下位の処理としては、例えば文書処理等がある。要は、文字認識処理して得られた結果に基づいて処理するものであれば如何なるものであっても良い。
【0040】
以上説明した様に、曲がりの程度が大きい、或いは曲がりの程度が大きい部分を有するストロークのデータ(座標データ群)については、その曲率が大きい付近の座標データを積極的に有効な点として処理するので、例えば平かなの「る」と入力した場合には最後の部分はもとより、ベクトルの向きが大きい部分に関しては確実に保持されるので、手書き文字の精度良い特徴ベクトルを常に得ることができ、結果として認識率を上げることが可能になる。
【0041】
なお、本実施形態では、特徴抽出処理にベクトル角度を用いて特徴点を抽出したが、角度に限らず、ある一定距離内の座標点を消去して座標点を間引く処理を使用、併用してもかまわない。
【0042】
<第2の実施の形態>
上述した実施形態(第1の実施形態)ではストロークの特徴を抽出する抽出処理を用いてn分割する手法を説明したが、本第2の実施形態ではストローク内のある範囲内における座標点密度を計算し、この密度に応じて分割数を変化させてn分割する手法を説明する。
【0043】
図9は本第2の実施形態におけるオンライン手書き文字認識方法の機能構成を示すブロック図である。図9において901、902、906、907、908はそれぞれ、図1の101、102、106、107、108とほぼ同等の処理をするので、その動作の説明は省略する。
【0044】
異なるのは、点密度計算部903を新たに設けた点である。以下、この点密度計算部903の処理内容を図10のフローチャートに従って説明する。
【0045】
まず、ステップS1001では、ストロークの全長を計算する。ストロークの全長算出はストロークを構成する隣接座標二点間のユークリッド距離を求め、始点座標から開始して終点座標まで加算していくことで得られる。そっして、求まった全長をn等分し、その値をlとする。
【0046】
ステップS1002でストローク上に長さlを持つ座標点をマッピングし、この座標点をn分割点Pi(0≦i≦n+1)と呼ぶことにする。ここで言う、「ストローク上」とは座標点を結んでできる直線のことを指している(図11参照)。
【0047】
次にステップS1003で第1のn分割点Piと第2のn分割点Pi+1(0≦i≦n+1)の区間をRj(0<=j<=n)とし、区間Rj内の座標点数をカウントする。カウントされた座標点数が点密度となる。いま、あるストロークの場合の4分割(nが4)の分割の様子と、区間別の点密度を図12、図13で示す。
【0048】
次に分割点決定部904の動作を図14を用いて説明する。
【0049】
先ず、ステップS1401にて、点密度計算部で得られた各区間から点密度(全体の点数に対する区間の点数)が最大のものを探し出す。ステップS1402で、その区間の点密度が予め定められたしきい値より大きければステップS1403に進み、閾値以下の場合はその処理を終える。
【0050】
さて、処理がステップS1403に進んだ場合には、点密度が閾値以下になるように再分割する。例えば、その区間の長さを求めて2等分し、新たな区間を作成して区間の点密度をそれぞれ算出する。点密度の算出方法は点密度算出部と同様の処理とする。この処理で分割数が増えたので(n+1個の区間が発生したので)、ステップS1404では点密度が最小の区間を探し出し、ステップS1405でそれに隣接する区間(両側にある場合には、点密度の低い区間)と合併する。また、合併した両区間を元々分割していたn分割点は削除する。これによって、再び注目ストロークはn分割状態に戻す。また、合併後の点密度は両区間の点密度平均を算出して求める。以下、このような動作を繰り返し、処理が終了すると、新しく生成されたn分割点が求まる。そして、分割点の両端にある点座標をベクトルとして有効な座標データとして出力する。この結果、人間が無意識にストロークの方向が変化する部分で筆記速度が遅くなり、その部分で多くの座標点が検出されることに対処し、精度良く分割することが可能になる。これ以降、求まったn分割点を用いてベクトル化し、第1の実施形態と同様の処理を行う。
【0051】
<第3の実施の形態>
上記第1、第2の実施形態では、図1或いは図9に示す構成を有する装置で実現させたが、本発明はこれに限るものではなく、プログラムでもって実現させても良い。
【0052】
図15に第3の実施形態における装置のブロック構成を示す。図示において、1は装置全体の制御を司るCPU、2はブートプログラム等を記憶しているROM、3はCPU1が処理するプログラムやデータを記憶するRAMである。4は座標入力板であって、5は座標入力板4上で操作者による不図示の入力ペンでなぞった座標を検出する座標検出部である。尚、入力ペンには、座標入力板4に対して押下したか否かを検出するためのスイッチが設けられており、このスイッチの押下状況はCPU1に出力されるようになっている。6は、座標入力板4の下面に設けられた液晶表示器(LCD)であって、7は液晶表示器6の駆動を制御するLCDドライバである。
【0053】
ここで、CPU1は、ペンダウンを検出している間に、座標検出部5から順次入力される点座標データを線分で結ぶようLCDドライバ7を制御することで、あたかも紙上に文字を書くかのごとく、LCD6にはその筆跡を表示することが可能になっている。
【0054】
8は例えばフロッピーディスクやハードディスク装置等の外部記憶装置であって、オペレーティングシステム、各種アプリケーションプログラムをはじめ、本実施形態にかかる文字認識処理にかかるプログラムを記憶している。そして、認識処理するときに参照される文字認識辞書や認識結果(文字コード)を記憶する領域も確保されている。
【0055】
上記構成において、CPU1は文字認識を行う場合には、文字認識にかかるプログラムをRAM3にロードし、そのロードしたプログラムに従って文字認識処理を行うことになる。
【0056】
外部記憶装置8に記憶されている文字認識プログラムの例を図16に示す。尚、図示では記憶媒体160を示しており、上記実施形態における外部記憶装置8に適合するものであるが、具体的には、フロッピーディスク、ハードディスク、CD−ROM等情報を記憶する媒体であれば如何なる物であっても良いのは勿論である。
【0057】
図示において、161は、入力したストロークの点データ群のベクトル方向の変化の度合を検出する検出モジュールであり、162は、検出されたベクトル方向の変化が所定の閾値と比較する比較モジュール、163は比較結果によりベクトル方向の変化が前記閾値以上の場合、当該ベクトルを構成する一部の点データを有効とし、所定変化以下の場合には当該ベクトルを構成する点データを構成する一部の点データを除去する制御モジュールである。
【0058】
ここで、更に、記憶媒体には、更に、制御モジュールで得られた有効な点データの個数が、注目ストロークに関してn個の連続したベクトル列を特定し得るだけの数になったか否かを判別する判別モジュールと、n個の連続したベクトル列を特定し得るだけの数が得られないと判別した場合、閾値を調整して、検出モジュール、比較モジュール、及び制御モジュールを再度実行する第2の制御モジュールを備えることが望ましい。
【0059】
また、更に、記憶媒体は、第2の制御モジュールでもって調整された閾値に基づいて得られた有効な点データの数がn+1個以上あると判別モジュールが判別した場合、得られた特徴点のベクトル変化の大きいものから上位のn+1個の点データを抽出するモジュールを備えることが望ましい。
【0060】
また、更に、下位処理として文字認識処理モジュールを備えることが望ましい。
【0061】
以上の記憶媒体160は第1の実施形態に対応するものであるが、第2の実施形態に適応するものであれば、入力したストロークの点データ群の密度分布を検出する点密度検出モジュールと、得られた点密度の高低に基づいて区画を設定する区画設定モジュール、設定された各区画の両端点を特徴点として抽出する抽出モジュールを備えることになるのは、上記例からすれな容易に想到できよう。
【0062】
この場合、点密度検出モジュールには、入力されたストロークの時系列の点座標データで表されるストローク長をn等分する分割モジュールと、分割した各区画に含まれる座標点の個数を計数する計数モジュールとを含むことが望ましい。
【0063】
また、区画設定モジュールには、点密度検出モジュールで検出された各区画のうちの最大点密度と所定密度とを比較する比較モジュールと、最大点密度が所定密度以上であるとした場合、当該最大点密度の区画を、当該区画長で2等分することでn+1個の区画を生成する第1の区画補正モジュールと、生成されたn+1個の区画のうち、最低点密度の区画とその隣接する区画とを結合してn個の区画を再設定すると共に比較モジュールを再度実行する第2の区画補正モジュールを備えることが望ましい。
【0064】
また、この場合にも、文字認識装置として機能させるためには、下位処理としての文字認識モジュールを備えることが望ましい。
【0065】
以上説明した様に、本実施形態によれば、オンライン手書き文字を認識する場合に、入力されたストロークデータから精度の良いベクトルデータを抽出することが可能になる。
【0066】
尚、実施形態では、文字入力部を介して直接手書き情報が入力されるものとして説明したが、手書き情報を記憶した記憶媒体から、或いは、通信を介して手書き情報を入力しても良いので、上記実施形態に限定されるものではない。
【0067】
また、上記第3実施形態で説明した様に、本発明は、入力したストローク情報から特徴点を抽出して、その特徴点に対応する情報を下位の処理に渡す技術に関するものであり、下位処理としてはどのようなものであっても構わない。しかしながら、下位処理として文字認識処理を採用した場合には、その認識率を向上させることが可能なので、文字認識処理に適応するのが望ましい。
【0068】
また、上記の如く、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明はシステム或は装置にプログラムを供給することによって実施される場合にも適用できることは言うまでもない。この場合、本発明にかかるプログラムを格納した記憶媒体が、本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステム或は装置に読み出すことによって、そのシステム或は装置が、予め定められたし方で動作する。
【0069】
【発明の効果】
以上説明したように本発明によれば、入力された手書きストローク情報から、当該ストロークの精度良い特徴情報を抽出して下位の処理に渡すことが可能になる。
【0070】
【図面の簡単な説明】
【図1】本実施形態におけるオンライン手書き文字認識方法の機能構成を示すブロック図である。
【図2】本実施形態における記入されたストロークの例を示す図である。
【図3】第1の実施形態における特徴抽出処理を示すフローチャートである。
【図4】特徴抽出処理の原理を説明するための図である。
【図5】第1の実施形態における特徴点数の制御を示すフローチャートである。
【図6】第1の実施形態における特徴点消去部の動作を示すフローチャートである。
【図7】本実施形態におけるベクトル化部の動作を示すフローチャートである。
【図8】本実施形態における方向ベクトルを示す図である。
【図9】第2の実施形態におけるオンライン手書き文字認識装置の機能ブロック図である。
【図10】第2の実施形態における点密度計算部の動作を示すフローチャートである。
【図11】第2の実施形態におけるn分割点を示す図である。
【図12】第2の実施形態におけるストローク分割の様子を示す図である。
【図13】第2の実施形態におけるストローク分割後の点密度を示す図である。
【図14】第2の実施形態における分割点決定部の動作を示すフローチャートである。
【図15】第3の実施形態における具体的な装置構成を示すブロック図である。
【図16】第3の実施形態における記憶媒体に記憶されているプログラムモジュールを示す図である。
【符号の説明】
101、901 文字入力部
102、902 ストローク格納部
103 特徴抽出部
104 特徴点消去部
105、905 ベクトル化部
106、906 認識部
107、907 結果出力部
108、908 辞書部
903 点密度計算部
904 分割点決定部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus and method, and more specifically, information processing that extracts a feature point in a point data group constituting the stroke from an input handwritten stroke and passes information based on the feature point to a lower-level process The present invention relates to an apparatus and a method.
[0002]
[Prior art]
Conventionally, a number of methods have been devised for character recognition methods for recognizing input handwriting and converting it into character codes. Some of these methods are called vector matching methods. This method is as follows.
[0003]
First, a coordinate point sequence delimited by pen-down information and pen-up information is called one stroke for the input handwriting, and the stroke is vectorized and expressed as a stroke vector. Next, each of the plurality of stroke vectors is compared with a standard stroke vector stored in advance in the recognition dictionary, and the degree of difference is calculated. In addition, the recognition dictionary defines several standard vectors that make up the character. By referring to the defined standard stroke vector set, the degree of coincidence with the input stroke vector set is calculated, and the most similar A character that is determined to be a character is output as a recognition result.
[0004]
Here, the method of vectorizing the stroke is generally to create an n number of vectors by dividing the entire stroke line segment into n after connecting the input coordinate points from the start point to the end point to make the stroke. Yes. This vector sequence is extracted as a stroke feature. The n-division method divides the entire length of the stroke by n and divides the stroke at equidistant intervals.
[0005]
[Problems to be solved by the invention]
However, in the conventional handwritten character recognition method as in the above-described conventional example, the division point is determined based on the distance obtained by dividing the total length of the stroke by n, but similar characters such as “RU”, “RO”, “N” If the character of the character is near the final point of the stroke, such as There was a problem that it was difficult.
[0006]
[Means for Solving the Problems]
The present invention has been made in view of the above problems, and it is an object of the present invention to provide an information processing apparatus and method that extract accurate feature information of a stroke from input handwritten stroke information and pass it to lower processing. is there.
[0007]
In order to solve this problem, for example, an information processing apparatus of the present invention has the following configuration. That is,
A feature point is extracted from a point data group P (0),..., P (k) constituting the stroke from a handwritten stroke input from a predetermined input device, and information based on the feature point is passed to a lower-level process. An information processing apparatus,
Stroke storage means for storing point data P (0),..., P (k) which is handwritten stroke information input from the input device;
In the point data stored in the stroke storage means,
Starting point P (i) of the point data (initial value i = 0),
Reference point P (i + 1 + j) (initial value j = 1)
When a vector defined by the starting points P (i) and P (i + 1) is defined as a reference vector, and a vector defined by P (i + 1) and the reference point P (i + 1 + j) is defined as a reference vector,
A comparison means for comparing an angle θ between the reference vector and the reference vector with a predetermined threshold;
If the angle θ is equal to or smaller than a predetermined threshold as a result of comparison by the comparison means, the point P (i + j) is set as a deletion target, and the variable j is increased by “1” and the comparison means is re-executed. And
As a result of comparison by the comparison means, when the angle θ exceeds a predetermined threshold value, the point P (i + j) is determined as a feature point, the variable i is updated based on the variable j at that time, and the variable j is "1" re-initialized, a first control means for re-executing said comparing means,
Discriminating means for discriminating whether or not the number of feature points obtained by the first control means has reached a number that can specify n consecutive vector sequences with respect to the target stroke;
A second control unit that executes the process by the first control unit again after reducing the predetermined threshold when the determination unit determines that the number of n consecutive vector sequences is less than the number that can be specified; With .
[0009]
In this case, when the number of consecutive vectors exceeds the n, the angle θ among the feature points obtained by the first control unit is further determined. It is desirable to provide an extraction means for extracting the top n + 1 feature point data from the one with the largest. As a result, n vector data can always be extracted.
[0010]
Further, it is desirable that the lower-order process is a character recognition process. As a result, the character recognition rate can be improved.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0012]
<First Embodiment>
FIG. 1 is a block diagram showing a functional configuration of the online handwritten character recognition apparatus according to the first embodiment. In the figure,
[0013]
A
[0014]
The processing contents of the
[0015]
FIG. 2 is a diagram of the strokes that have been entered (handwriting between pen-down and pen-up), and illustrates the coordinate points that make up the stroke. The coordinate point P0 is the start point, and the coordinate point Pk is the end point. Accordingly, the total number of coordinate points is k + 1.
[0016]
FIG. 3 is a flowchart showing processing contents for extracting feature points of a stroke. In the following description, a vector from the point Pn to the point P (n + 1) is represented as V (PnP (n + 1)).
[0017]
First, the start point counter i is set to 0 in step S301. In step S302, the target point counter j is set to 1. In step S303, it is determined whether or not the total value of the variables i and j is equal to or less than k, that is, whether or not the present process is completed. If not, the process proceeds to the following step S304.
[0018]
In step S304, whether or not the angle θ formed by the vector V (PiP (i + 1)) and the vector V (P (i + 1) P (i + 1 + j)) is equal to or smaller than a preset threshold angle θt. Determine whether. If θ ≦ θt, the process proceeds to step S305, where the coordinate point P (i + j) is marked as a deletion target point. In step S306, the target point counter j is incremented to check the deletion of the next coordinate point. Return to.
[0019]
Hereinafter, this process is repeated. If it is determined that the relationship between the angles θ and θt formed by the two vectors is such that θ> θt during this period, the process proceeds to step S307, and the variable i is updated with “i + 1 + j”, and the process returns to step S302.
[0020]
Now, when all the coordinate points have been checked in step S305, this processing is completed. After this processing is completed, the marked coordinate points are continuous coordinate points with little change in angle, and what remains after deleting this point group becomes the coordinate point of the portion with a large angle. Note that both the start point P0 and the end point Pk are regarded as feature points. The threshold angle θt in the above process is parameterized and is variable. The reason will be described later.
[0021]
The processing contents will be described in more detail with reference to FIG. Assume that the point Pi is the base point and j = 1. In this case, the two vectors are
V (PiP (i + 1)), V (P (i + 1) P (i + 2))
It becomes.
[0022]
If the angle θ1 formed by these two vectors is less than or equal to the threshold angle θt, one of the end points P (i + 2) of the second vector V (P (i + 1) P (i + 2)) The previous point P (i + 1) is set as a deletion target. As a result, the variable j is incremented by 1 (j = 2).
V (PiP (i + 1)), V (P (i + 1) P (i + 3))
Is compared with the threshold angle θt. Here, when θ2 is also equal to or smaller than the threshold angle θt, the point P (i + 2) is set as a deletion target, and the variable j is incremented (j = 3). As a result, the nose angle θ3 of the next two vectors is compared with the threshold angle θt. That is,
V (PiP (i + 1)), V (P (i + 1) P (i + 4))
When this θ3 is larger than the threshold angle θt, the point P (i + 3) is set as a feature point (singular point).
[0023]
As a result, when both θ1 and θ2 are equal to or smaller than the threshold angle θt and θ3 is larger than the threshold angle θt, the points P (i + 1) and P (i + 2) are set as deletion targets. . In other words, when the degree of bending of the coordinate points constituting the stroke is small, each point is set as a deletion target.
[0024]
In step S307, the variable i is updated with “i + 1 + j”, and in step S302, the variable j is initialized with “1”. Therefore, the point Pi moves to the position of the point “P (i + 4)” in FIG. Then, the processing described above is repeatedly executed from there.
[0025]
In order to divide a stroke into n (to extract n vectors from one stroke), the number of feature points is n + 1. However, when the above processing is performed, the number obtained depending on the threshold angle θt and the stroke of interest is indefinite, and n + 1 points cannot be obtained uniformly. Therefore, in the present embodiment, the threshold value θt when performing the processing of FIG. 3 is made variable so that an appropriate number of feature points can be extracted. This process will be described with reference to the flowchart of FIG.
[0026]
First, in step S501, the threshold angle θt used in the feature extraction process is set to 180 ° as an initial value. In step S502, the feature extraction process described with reference to FIG. 3 is performed using the set threshold angle θt.
[0027]
Thereafter, the process proceeds to step S503, where the number of feature points obtained in step S502 is checked to determine whether or not the number of feature points is n + 1 or more. If the number of extracted feature points is less than n + 1, the process proceeds to step S504, the threshold angle θt is decreased by a predetermined angle (for example, 1 °), and the process returns to step S502.
[0028]
Hereinafter, when the threshold angle θt is sequentially decreased and the processing by the feature
[0029]
Next, the processing operation of the feature point erasing unit 145 will be described with reference to the flowchart of FIG.
[0030]
As described above, at least n + 1 feature points are output from the feature point extraction unit 103 (n + 1 or more feature points are obtained). However, when n vectors are extracted from the target stroke, if there are more than n + 1 feature points, it is desirable to remove the corresponding feature points. Therefore, the feature
[0031]
First, in step S601, the number of feature points is checked, and the process ends when the number of feature points reaches n + 1. If the number of feature points is greater than n + 1, in step S602, processing is performed to remove the point with the smallest angle change between adjacent feature points from the feature point. This process may use the technique used in the feature point extraction process.
[0032]
As a result of the above, from the feature
[0033]
Next, the processing operation of the
[0034]
In step S701, the counter i is initialized to “0”. In step S702, it is checked whether vector processing has been performed for all n + 1 feature points. If this check result is negative, the following steps S703 to S705 are performed.
[0035]
First, in step S703, a direction vector of a straight line passing through two adjacent feature points is obtained. The direction vector is an eight-direction vector shown in FIG. The obtained direction vector is stored as a vector value in step S704. In step S705, a process for moving to the next feature point is performed, and the process returns to step S02.
[0036]
When vector values are obtained for all feature points in this way, n vector values are generated in step S706.
[0037]
The
[0038]
In addition, although explanation is mixed, when the time series coordinate data which constitutes the input stroke data are arranged almost on a straight line (for example, when a straight line or a line close to it is input by handwriting), both end points are features. Although it is processed as a point, it is difficult to specify a feature point among points located in the middle. However, as the vector data (see FIG. 8) for the target stroke output from the
[0039]
In the above embodiment, the
[0040]
As described above, with respect to stroke data (coordinate data group) having a portion with a large degree of bending or a portion with a large degree of bending, the coordinate data in the vicinity where the curvature is large is positively processed as an effective point. So, for example, if you input a flat “RU”, you can always get a feature vector with good accuracy of handwritten characters, because the last part, as well as the part where the vector direction is large, will be held reliably. As a result, the recognition rate can be increased.
[0041]
In the present embodiment, feature points are extracted using vector angles for feature extraction processing. However, the present invention is not limited to angles, and it is used in combination with a process of erasing coordinate points within a certain distance and thinning out coordinate points. It doesn't matter.
[0042]
<Second Embodiment>
In the above-described embodiment (first embodiment), the method of performing n-division using the extraction process for extracting the feature of the stroke has been described. However, in the second embodiment, the coordinate point density within a certain range in the stroke is calculated. A method of calculating and dividing n by changing the number of divisions according to the density will be described.
[0043]
FIG. 9 is a block diagram showing a functional configuration of the online handwritten character recognition method in the second embodiment. In FIG. 9, 901, 902, 906, 907, and 908 perform substantially the same processing as 101, 102, 106, 107, and 108 in FIG.
[0044]
The difference is that a point
[0045]
First, in step S1001, the total length of the stroke is calculated. The total length of the stroke can be obtained by calculating the Euclidean distance between two adjacent coordinates constituting the stroke, and starting from the start point coordinates and adding to the end point coordinates. Then, the obtained total length is equally divided into n, and the value is set to l.
[0046]
In step S1002, a coordinate point having a length l on the stroke is mapped, and this coordinate point is called an n-divided point Pi (0 ≦ i ≦ n + 1). Here, “on the stroke” refers to a straight line formed by connecting coordinate points (see FIG. 11).
[0047]
Next, in step S1003, the interval between the first n dividing point Pi and the second n dividing point Pi + 1 (0 ≦ i ≦ n + 1) is Rj (0 <= j <= n), and the number of coordinate points in the interval Rj is set. Count. The number of coordinate points counted is the point density. FIG. 12 and FIG. 13 show a state of division into four (n is 4) and a point density for each section for a certain stroke.
[0048]
Next, the operation of the dividing
[0049]
First, in step S1401, the section having the maximum point density (the number of sections in the section relative to the total number of points) is searched from each section obtained by the point density calculation unit. If it is determined in step S1402 that the point density of the section is larger than a predetermined threshold value, the process proceeds to step S1403.
[0050]
If the process proceeds to step S1403, the image is re-divided so that the point density is equal to or less than the threshold value. For example, the length of the section is obtained and divided into two equal parts, a new section is created, and the point density of each section is calculated. The point density calculation method is the same as that of the point density calculation unit. Since the number of divisions has increased in this process (because n + 1 sections have occurred), in step S1404, a section having the smallest point density is searched for, and in step S1405, a section adjacent to it (if there is a point density on both sides) Merged with lower section). In addition, the n division points that originally divided the merged sections are deleted. As a result, the target stroke is returned to the n-division state again. The point density after the merger is obtained by calculating the point density average of both sections. Hereinafter, when such an operation is repeated and the process is completed, a newly generated n-division point is obtained. Then, the point coordinates at both ends of the dividing point are output as effective coordinate data as a vector. As a result, it is possible to cope with the fact that the writing speed is slowed at a portion where the direction of the stroke is unconsciously changed by humans, and that many coordinate points are detected at that portion, so that the division can be performed with high accuracy. Thereafter, vectorization is performed using the obtained n division points, and the same processing as in the first embodiment is performed.
[0051]
<Third Embodiment>
In the first and second embodiments, the present invention is realized by the apparatus having the configuration shown in FIG. 1 or FIG. 9, but the present invention is not limited to this, and may be realized by a program.
[0052]
FIG. 15 shows a block configuration of an apparatus according to the third embodiment. In the figure, 1 is a CPU that controls the entire apparatus, 2 is a ROM that stores a boot program and the like, and 3 is a RAM that stores programs and data processed by the
[0053]
Here, the
[0054]
[0055]
In the above configuration, when the character recognition is performed, the
[0056]
An example of a character recognition program stored in the
[0057]
In the figure, 161 is a detection module that detects the degree of change in the vector direction of the point data group of the input stroke, 162 is a comparison module that compares the detected change in vector direction with a predetermined threshold, and 163 If the change in the vector direction is greater than or equal to the threshold value as a result of the comparison, some point data constituting the vector is valid. It is a control module that removes.
[0058]
Here, the storage medium further determines whether or not the number of effective point data obtained by the control module has become a number that can specify n consecutive vector sequences with respect to the target stroke. A determination module and a second module that adjusts the threshold and executes the detection module, the comparison module, and the control module again when it is determined that a number sufficient to identify n consecutive vector sequences cannot be obtained. It is desirable to have a control module.
[0059]
Further, when the determination module determines that the number of effective point data obtained based on the threshold value adjusted by the second control module is n + 1 or more, the storage medium has the obtained feature points. It is desirable to provide a module that extracts the upper n + 1 point data from those having a large vector change.
[0060]
Furthermore, it is desirable to provide a character recognition processing module as a lower level process.
[0061]
The
[0062]
In this case, the point density detection module counts the number of coordinate points included in each divided section, and a division module that equally divides the stroke length represented by the time-series point coordinate data of the input stroke. And a counting module.
[0063]
The partition setting module includes a comparison module that compares the maximum point density of each partition detected by the point density detection module with a predetermined density, and the maximum point density when the maximum point density is equal to or higher than the predetermined density. A first partition correction module that generates n + 1 partitions by dividing the point density partition into two by the partition length, and the lowest point density partition of the generated n + 1 partitions and the adjacent one. It is desirable to have a second partition correction module that combines the partitions to reset n partitions and run the comparison module again.
[0064]
Also in this case, in order to function as a character recognition device, it is desirable to include a character recognition module as a low-order process.
[0065]
As described above, according to this embodiment, when recognizing online handwritten characters, it is possible to extract highly accurate vector data from the input stroke data.
[0066]
In the embodiment, the handwritten information is directly input via the character input unit. However, the handwritten information may be input from a storage medium storing the handwritten information or via communication. The present invention is not limited to the above embodiment.
[0067]
Further, as described in the third embodiment, the present invention relates to a technique for extracting a feature point from input stroke information and passing information corresponding to the feature point to a lower-level process. As long as it does not matter. However, when character recognition processing is adopted as the lower-level processing, the recognition rate can be improved, so it is desirable to adapt to character recognition processing.
[0068]
As described above, the present invention may be applied to a system constituted by a plurality of devices or an apparatus constituted by one device. Needless to say, the present invention can also be applied to a case where the present invention is implemented by supplying a program to a system or apparatus. In this case, the storage medium storing the program according to the present invention constitutes the present invention. Then, by reading the program from the storage medium to the system or apparatus, the system or apparatus operates in a predetermined manner.
[0069]
【The invention's effect】
As described above, according to the present invention, it is possible to extract feature information with high accuracy of the stroke from the input handwritten stroke information and pass it to a lower-level process.
[0070]
[Brief description of the drawings]
FIG. 1 is a block diagram showing a functional configuration of an online handwritten character recognition method in the present embodiment.
FIG. 2 is a diagram showing an example of strokes written in the present embodiment.
FIG. 3 is a flowchart showing a feature extraction process in the first embodiment.
FIG. 4 is a diagram for explaining the principle of feature extraction processing;
FIG. 5 is a flowchart showing control of the number of feature points in the first embodiment.
FIG. 6 is a flowchart showing an operation of a feature point erasing unit in the first embodiment.
FIG. 7 is a flowchart showing the operation of the vectorization unit in the present embodiment.
FIG. 8 is a diagram showing direction vectors in the present embodiment.
FIG. 9 is a functional block diagram of an on-line handwritten character recognition apparatus according to the second embodiment.
FIG. 10 is a flowchart illustrating an operation of a point density calculation unit according to the second embodiment.
FIG. 11 is a diagram illustrating n division points according to the second embodiment.
FIG. 12 is a diagram showing a state of stroke division in the second embodiment.
FIG. 13 is a diagram showing a point density after stroke division in the second embodiment.
FIG. 14 is a flowchart illustrating an operation of a division point determination unit according to the second embodiment.
FIG. 15 is a block diagram showing a specific device configuration according to the third embodiment.
FIG. 16 is a diagram showing program modules stored in a storage medium according to the third embodiment.
[Explanation of symbols]
101, 901
Claims (6)
前記入力装置より入力された手書きストローク情報である点データP(0)、…、P(k)を記憶するストローク記憶手段と、
該ストローク記憶手段に記憶された点データにおいて、
前記点データの起点P(i)(初期値i=0)、
参照点P(i+1+j)(初期値j=1)とし、
起点P(i)とP(i+1)で定められるベクトルを基準ベクトル、P(i+1)と前記参照点P(i+1+j)で定められるベクトルを参照ベクトルと定義したとき、
前記基準ベクトルと参照ベクトルとの成す角度θと所定閾値とを比較する比較手段と、
該比較手段の比較結果、前記角度θが所定閾値以下である場合には、点P(i+j)を削除対象に設定すると共に、前記変数jを“1”だけ増加させて前記比較手段を再実行し、
前記比較手段の比較結果、前記角度θが所定閾値を越えた場合、点P(i+j)を特徴点として判断し、その際の変数jに基づいて前記変数iを更新すると共に、前記変数jを“1”で再初期化し、前記比較手段を再実行する第1の制御手段と、
前記第1の制御手段で得られた特徴点の個数が、注目ストロークに関してn個の連続したベクトル列を特定し得る数になったか否かを判別する判別手段と、
該判別手段によって、n個の連続したベクトル列を特定し得る数より少ないと判別した場合は、前記所定閾値を減じた後、前記第1の制御手段による処理を再度実行する第2の制御手段と
を備えることを特徴とする情報処理装置。A feature point is extracted from a point data group P (0),..., P (k) constituting the stroke from a handwritten stroke input from a predetermined input device, and information based on the feature point is passed to a lower-level process. An information processing apparatus,
Stroke storage means for storing point data P (0),..., P (k) which is handwritten stroke information input from the input device;
In the point data stored in the stroke storage means,
Starting point P (i) of the point data (initial value i = 0),
Reference point P (i + 1 + j) (initial value j = 1)
When a vector defined by the starting points P (i) and P (i + 1) is defined as a reference vector, and a vector defined by P (i + 1) and the reference point P (i + 1 + j) is defined as a reference vector,
A comparison means for comparing an angle θ between the reference vector and the reference vector with a predetermined threshold;
If the angle θ is equal to or smaller than a predetermined threshold as a result of comparison by the comparison means, the point P (i + j) is set as a deletion target, and the variable j is increased by “1” and the comparison means is re-executed. And
As a result of comparison by the comparison means, when the angle θ exceeds a predetermined threshold value, the point P (i + j) is determined as a feature point, the variable i is updated based on the variable j at that time, and the variable j is "1" re-initialized, a first control means for re-executing said comparing means,
Discriminating means for discriminating whether or not the number of feature points obtained by the first control means has reached a number that can specify n consecutive vector sequences with respect to the target stroke;
A second control unit that executes the process by the first control unit again after reducing the predetermined threshold when the determination unit determines that the number of n consecutive vector sequences is less than the number that can be specified; the information processing apparatus characterized in that it comprises and.
前記入力装置より入力された手書きストローク情報である点データP(0)、…、P(k)をストローク記憶手段に格納する格納工程と、
該ストローク記憶手段に記憶された点データにおいて、
前記点データの起点をP(i)(初期値i=0)、
参照点をP(i+1+j)(初期値j=1)とし、
起点P(i)とP(i+1)で定められるベクトルを基準ベクトル、P(i+1)と前記参照点P(i+1+j)で定められるベクトルを参照ベクトルと定義したとき、
前記基準ベクトルと参照ベクトルとの成す角度θと所定閾値とを比較する比較工程と、
該比較工程の比較結果、前記角度θが所定閾値以下である場合には、点P(i+j)を削除対象に設定すると共に、前記変数jを“1”だけ増加させて前記比較工程を再実行し、
前記比較工程の比較結果、前記角度θが所定閾値を越えた場合、点P(i+j)を特徴点として判断し、その際の変数jに基づいて前記変数iを更新すると共に、前記変数jを“1”で再初期化し、前記比較工程を再実行する第1の制御工程と、
前記第1の制御工程で得られた特徴点の個数が、注目ストロークに関してn個の連続したベクトル列を特定し得る数になったか否かを判別する判別工程と、
該判別工程によって、n個の連続したベクトル列を特定し得る数より少ないと判別した場合は、前記所定閾値を減じた後、前記第1の制御手段による処理を再度実行する第2の制御工程と
を備えることを特徴とする情報処理方法。A feature point is extracted from a point data group P (0),..., P (k) constituting the stroke from a handwritten stroke input from a predetermined input device, and information based on the feature point is passed to a lower-level process. An information processing method,
A step of storing point data P (0),..., P (k), which is handwritten stroke information input from the input device, in a stroke storage means;
In the point data stored in the stroke storage means,
The starting point of the point data is P (i) (initial value i = 0),
The reference point is P (i + 1 + j) (initial value j = 1),
When a vector defined by the starting points P (i) and P (i + 1) is defined as a reference vector, and a vector defined by P (i + 1) and the reference point P (i + 1 + j) is defined as a reference vector,
A comparison step of comparing an angle θ formed by the reference vector and the reference vector with a predetermined threshold;
When the comparison result of the comparison step shows that the angle θ is equal to or smaller than a predetermined threshold, the point P (i + j) is set as a deletion target, and the variable j is increased by “1” and the comparison step is re-executed. And
As a result of the comparison in the comparison step, when the angle θ exceeds a predetermined threshold value, the point P (i + j) is determined as a feature point, the variable i is updated based on the variable j at that time, and the variable j is "1" re-initialized, a first control step of re-executing said comparing step,
A discriminating step for discriminating whether or not the number of feature points obtained in the first control step has reached a number that can identify n consecutive vector sequences with respect to the target stroke;
A second control step of executing the processing by the first control means again after subtracting the predetermined threshold when it is determined by the determination step that the number of n consecutive vector sequences is less than the number that can be specified; an information processing method characterized in that it comprises and.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19523395A JP3817281B2 (en) | 1995-07-31 | 1995-07-31 | Information processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19523395A JP3817281B2 (en) | 1995-07-31 | 1995-07-31 | Information processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0944599A JPH0944599A (en) | 1997-02-14 |
JP3817281B2 true JP3817281B2 (en) | 2006-09-06 |
Family
ID=16337704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19523395A Expired - Fee Related JP3817281B2 (en) | 1995-07-31 | 1995-07-31 | Information processing apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3817281B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009042970A (en) * | 2007-08-08 | 2009-02-26 | Dainippon Printing Co Ltd | Terminal apparatus, program and electronic pen processing system |
MX2016009800A (en) * | 2014-01-27 | 2017-01-23 | Tactual Labs Co | Decimation strategies for input event processing. |
-
1995
- 1995-07-31 JP JP19523395A patent/JP3817281B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0944599A (en) | 1997-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7302099B2 (en) | Stroke segmentation for template-based cursive handwriting recognition | |
JP5071914B2 (en) | Recognition graph | |
JP3176023B2 (en) | Handwriting input collation method and apparatus | |
US5854855A (en) | Method and system using meta-classes and polynomial discriminant functions for handwriting recognition | |
US7437001B2 (en) | Method and device for recognition of a handwritten pattern | |
US5841902A (en) | System and method for unconstrained on-line alpha-numerical handwriting recognition | |
US7630551B2 (en) | Method and system for line extraction in digital ink | |
US5768417A (en) | Method and system for velocity-based handwriting recognition | |
US7369702B2 (en) | Template-based cursive handwriting recognition | |
CA2481828C (en) | System and method for detecting a hand-drawn object in ink input | |
WO2006091155A1 (en) | Segmentation-based recognition | |
CN111492407A (en) | System and method for drawing beautification | |
Chiang et al. | Recognizing arbitrarily connected and superimposed handwritten numerals in intangible writing interfaces | |
JP2015099566A (en) | Feature calculation device, method and program | |
JP3817281B2 (en) | Information processing apparatus and method | |
CN115311674A (en) | Handwriting processing method and device, electronic equipment and readable storage medium | |
Nguyen et al. | Semi-incremental recognition of on-line handwritten Japanese text | |
JP3977473B2 (en) | Handwritten character recognition method and handwritten character recognition apparatus | |
JPH09319828A (en) | On-line character recognition device | |
JP3419251B2 (en) | Character recognition device and character recognition method | |
JP2785438B2 (en) | Character recognition method | |
JP3146046B2 (en) | Online character recognition device | |
JP2658137B2 (en) | Character recognition method | |
JP3290097B2 (en) | Stroke determination method and determination device | |
KR940001048B1 (en) | On-line hand written character recognition method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050812 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060317 |
|
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: 20060602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060612 |
|
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: 20090616 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |