(57)【特許請求の範囲】
【請求項１】
文字パターンの座標点列データを入力として、その入力文字パターンに該当した文字コードを出力するオンライン文字認識装置において、
前記入力文字パターンを記述する際の各ストローク上の座標点列データを入力する入力手段と、
前記入力手段に入力された１ストローク上の座標点列データに含まれる時系列順に並んだ座標点を折れ線近似することで得た各直線部分をセグメントとし、その各セグメントの方向及び長さから得られる当該セグメントに関する特徴情報と各セグメントの端点である特徴点とを抽出する特徴抽出手段と、
文字を構成するセグメントに関する特徴情報及び特徴点を文字毎に格納した辞書を予め記憶する辞書記憶手段と、
前記辞書に記述された各文字の特徴情報と前記特徴抽出手段から抽出された特徴情報とに基づいて前記辞書内の各文字を構成するセグメントと前記入力文字パターンから得たセグメントとの対応付けを行い、セグメント対応付けの距離を算出する特徴点対応付け手段と、
前記辞書が指定する文字のストロークの始点と終点との組で構成される特徴点組に対応した前記入力文字パターンのストローク上の特徴点組によって決定される区間に含まれるストロークの形状及び方向から得られる当該ストロークに関する特徴情報を対応ストローク特徴として抽出する指定区間特徴抽出手段と、
前記指定区間特徴抽出手段によって抽出された対応ストローク特徴を前記辞書内の特徴情報と照合し、対応ストローク特徴の距離を算出する特徴照合手段と、
前記特徴照合手段で得られた候補文字コードを出力する出力手段と、
を有し、
前記特徴照合手段は、算出した対応ストローク特徴の距離及び前記特徴点対応付け手段によって算出されたセグメント対応付けの距離に基づいて前記辞書内の前記入力文字パターンに対応した文字を特定することを特徴とするオンライン文字認識装置。
【請求項２】
前記特徴抽出手段は、隣接したセグメントの向きが近似しているとき単一のセグメントとして結合することを特徴とする請求項１記載のオンライン文字認識装置。
【請求項３】
前記特徴点対応付け手段は、前記辞書内の文字の各ストロークの始点と終点に対し前記入力文字パターンの座標点をそれぞれ１つ対応付け、
前記指定区間特徴抽出手段は、前記始点に対応する前記入力文字パターンの特徴点と前記終点に対応する前記入力文字パターンの特徴点とを特徴点組とすることを特徴とする請求項１記載のオンライン文字認識装置。
【請求項４】
前記特徴照合手段は、前記辞書内の文字を特定する際、前記対応ストローク特徴の距離及び前記セグメント対応付けの距離に重み付けを行うことを特徴とする請求項１記載のオンライン文字認識装置。
【請求項５】
前記各セグメントに関する情報には、各セグメントの方向及び長さが含まれており、
前記特徴点対応付け手段は、前記特徴抽出手段が算出した各セグメントの方向及び長さに基づいて、対応付けした各セグメントのコストを算出し、そのコストに基づきセグメント対応付けの距離を算出することを特徴とする請求項１記載のオンライン文字認識装置。
【請求項６】
前記特徴点対応付け手段は、前記辞書中の文字を構成する部分として表出されるストロークに対応したセグメントと前記入力文字パターンを構成するストロークのうち表出しない部分に対応したセグメントとを対応付けないようにすることを特徴とする請求項５記載のオンライン文字認識装置。
【請求項７】
前記辞書記憶手段は、所定のセグメントに関する特徴情報に方向非依存情報を付加した辞書を記憶し、
前記特徴点対応付け手段は、方向非依存情報が付加されたセグメントに基づき算出されるコストを一定値とすることを特徴とする請求項５記載のオンライン文字認識装置。
【請求項８】
前記辞書内の文字を構成するセグメントのうち入力される文字パターンによって方向がばらつくものと考えられるセグメントに関する特徴情報に方向非依存情報を付加することを特徴とする請求項７記載のオンライン文字認識装置。
【請求項９】
前記特徴点対応付け手段は、方向非依存情報が付加されたセグメントに基づき算出されるコストを０とすることを特徴とする請求項７記載のオンライン文字認識装置。
【請求項１０】
前記特徴点対応付け手段は、方向非依存情報が付加されたセグメントに対応付けする前記入力文字パターンから得たセグメントの数の上限を設けることを特徴とする請求項７記載のオンライン文字認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ペンコンピュータ等で文字を手書きして入力するオンライン文字認識装置、特に続け字等に対する文字認識率の向上を図るオンライン文字認識装置に関する。
【０００２】
【従来の技術】
ペンとタブレットを入力手段とするペンコンピュータに文字コードを入力するための要素技術であるオンライン文字認識において、楷書で筆記された文字は、公知である基本ストローク方式（予め数種類のストロークの形状を基本ストロークとして定義し、文字を基本ストロークの組み合わせで表現する）やその他種々の認識方式により高精度な認識が可能である。しかし、続け字に対する認識性能は楷書に比べ十分でないのが現状である。このため、従来から続け字に対応したオンライン文字認識方式の研究が行われてきた。例えば、電子通信学会論文誌Ｊ６６−Ｄ  Ｎｏ．５、第５９３〜６００頁に記載された「選択的ストローク結合による画数・筆順に依存しないオンライン文字認識」がある。以下、これを従来例１とする。従来例１によると、入力パターンと辞書においてストローク（ペンダウンからペンアップまでの座標列の単位）数の少ない方のストロークをストローク数の多い方に１対１に対応付け、ストロークの多い方で対応付いていないストロークは、既に対応付いているストロークに選択的に結合し、結合後の辞書と入力パターンの座標点間の距離をＤＰ（Dynamic Programing)マッチングを用いて算出し、候補文字を出力することにより続け字認識を可能にしている。ＤＰマッチングについては、例えば「パターン認識」（船久保 登著：共立出版）の第６２頁より記述があるのでここでは詳しく言及しない。従来例１では座標点をＤＰマッチングの特徴に用いているが、この他には図１８に示す運筆に沿って等分割した座標点間の方向成分（方向コード）を用いる方法もある。
【０００３】
図１８では、入力パターンに対し運筆方向に沿ってストロークをあたかも一筆書きしているように全て繋げた状態にし、ストロークを適当な幅で等分割近似している。図１８のそれぞれの分割点間（ａ１，ａ２，ａ３，ａ４，・・・，ａ２１）の方向成分を、例えば図１９に示す８方向コードに近似し、この方向成分をＤＰマッチングの特徴に用いて続け字認識を行うことも可能である。
【０００４】
また、基本ストロークを用いた方法では、続け字に対応した辞書を作成して認識する方法、あるいはストロークの分離情報を辞書に持ち、入力パターンと辞書のストローク数が同一になるようにストロークを分解する方法がある。
【０００５】
例えば、基本ストロークを用いた従来例として、特公平２−１０４７３号がある。以下、これを従来例２とする。ここで、この従来例２について構成及び動作の説明をする。
【０００６】
図２０は、従来例２のオンライン文字認識装置の基本構成を示したブロック構成図である。図２０には、座標入力装置２１と、座標入力装置２１の出力を入力する基本線分識別回路２２と、基本線分識別回路２２の出力を入力して順次出力する線分コード送出回路２３と、線分コードバッファ２４と、判定回路２９が再認識とした場合、ストロークの線分を順次分解する線分分解回路２５と、制御回路２６と、線分コード送出回路２３の出力と辞書記憶部２８の出力を比較する比較回路２７と、比較回路２７の出力を入力して文字の同定を行う判定回路２９と、記憶している辞書データを比較回路２７に順次送出する辞書記憶部２８とが示されている。
【０００７】
座標入力装置２１から出力される座標点の時系列情報を供給された基本線分識別回路２２では、ストロークを折れ線近似し、それぞれの折れ線（セグメント）の方向成分を図１９に示す８方向コードで表す。次に、図２１に示す方向コード列と基本ストロークの対応表を用いて入力ストロークがどの基本ストロークに属するか決定する。
【０００８】
次に、図２２のパターンを用いて従来例２の動作を説明する。図２２では線１０１，１０２，１０３，１０４，１０５の順にストロークを記入している。各ストロークを折れ線近似し、８方向コードで筆順に沿って表すと｛（１），（６），（７），（１，７），（１）｝となる。これを図２１に示す基本ストローク表を用いて基本ストローク列｛（１），（３），（４），（７），（１）｝を得る。
【０００９】
図２２の文字パターンは、５画で記入しているので、比較回路２７で５画辞書と照合処理を行い、判定回路２９で候補文字判定を行う。その結果、辞書内の文字「石」と一致し、文字コードを出力する。
【００１０】
次に、図２３の続け字パターンで動作を説明する。図２３では線１０６，１０７，１０８，１０９の順に記入している。図２３の続け字パターンに対しては、同様に基本線分識別回路２２で基本ストローク列｛（１），（３），（４），（２１）｝を得る。画数が４であるので、比較回路２７は、４画辞書と比較する。この場合、判定回路２９は、辞書記憶部２８内に「石」の４画辞書が存在しないと文字を出力することができない。そこで、制御回路２６に戻り、線分分解回路２５を用いてストロークを順次分解する。分解ストロークと分解ルールは、予め辞書記憶部２８に登録してあり、ここでは、図２４に示すルールを用いて基本ストローク（２１）を（７），（１）に分割し、更に画数を５とする。この結果、入力パターンの基本ストローク列は｛（１），（３），（４），（７），（１）｝と修正され、比較回路２７は、辞書記憶部２８内の５画辞書と照合作業を行う。その結果、辞書内の文字「石」と一致し、判定回路２９は、結果を出力する。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来例１によると、続け字の認識が可能であるが、例えば、図２５に示したような辞書パターン（ａ）と入力パターン（ｂ）を照合する場合、図２５（ｃ）に示したように、位置ずれあるいは変形によって対応する座標点間の距離が大きくなり、その結果、辞書との距離が大きくなって誤読しやすいという問題点があった。
【００１２】
また、図１８に示すようにＤＰマッチングに用いる特徴に方向コードを用いると、続け字認識が可能なほか図２５に示したような位置ずれに対しては強くなるが、運筆方向が似ている文字同士、例えば、「伎」と「仮」、「却」と「劫」、あるいは「村」と「杖」等の文字を誤認識しやすい問題点があった。
【００１３】
また、字形がくずれて辞書との対応部分の方向差が大きい文字を認識する場合、入力パターンと辞書とのＤＰマッチングで得られるコスト値が字形の整ったパターンに比べ大きくなり、その結果、他の文字に誤読しやすいという問題点があった。
【００１４】
更に、例えば、図２６に示すような「はね」「おさえ」の成分を持つ文字（ａ）と「はね」「おさえ」の成分を持たない（つまり、対応する成分を持たない）辞書（ｂ）との整合の距離が大きくなり、誤読しやすいという問題点があった。これに対して、例えばストロークの始点、終点付近の折り返し成分（例えば連続する直線部の角度差が９０度以下である始点または終点の線分）の方向コードを無視する、あるいは重み付けをする等の方法が考えられるが、始点、終点付近の折り返し成分がノイズであるか、文字に必要な特徴であるかは文字を意識しないと判定できない。このため、ストロークの始点、終点付近の成分を単純に無視することができないといった問題点があった。
【００１５】
一方、基本ストローク等のストローク特徴を用いて認識する方法は、辞書と入力パターンの画数を一致させないと距離を計算できない問題点があり、続け字に対応するためには、予め続け字のパターンを辞書に登録するか、辞書の文字パターンで続けやすい部分を文字毎に記述する必要があった。すなわち、従来例２では、入力パターンの続けられたストロークの分解ルールが分解辞書に存在しないとストロークを分解できず、誤認識となる問題があった。これに対して全ての文字の様々な続け字ストロークに対処するには、莫大な辞書容量を必要とする問題点があった。
【００１６】
更に、例えば、分解辞書を使用せずに複数の方向コードを持つストロークに対し方向コード毎に分解する方法を用いて解決しようとしても、続け書きしたストローク部分には、本来ストロークとして表出する実ストローク以外に楷書では表出しない仮想ストロークを含む場合がある。図２７にこの例を示す。図２７の入力パターン（ａ）は、辞書（ｂ）に比べ、正しい画数では仮想ストロークとなる成分３０および３１を余計に持つ。このため、単に直線成分で分解した直線コード列は、実ストロークのみの特徴を持つ辞書とは必ずしも一致しないために、誤認識する場合があり、方向コードで単純に分割できないという問題点があった。
【００１７】
本発明は以上のような問題を解決するためになされたものであり、その目的は、入力文字パターン中の予期せぬ成分に起因する認識率の低下を防止し、また、続け字等に対する認識率の向上を図るオンライン文字認識装置を提供することにある。
【００１８】
【課題を解決するための手段】
以上のような目的を達成するために、第１の発明に係るオンライン文字認識装置は、文字パターンの座標点列データを入力として、その入力文字パターンに該当した文字コードを出力するオンライン文字認識装置において、前記入力文字パターンを記述する際の各ストローク上の座標点列データを入力する入力手段と、前記入力手段に入力された１ストローク上の座標点列データに含まれる時系列順に並んだ座標点を折れ線近似することで得た各直線部分をセグメントとし、その各セグメントの方向及び長さから得られる当該セグメントに関する特徴情報と各セグメントの端点である特徴点とを抽出する特徴抽出手段と、文字を構成するセグメントに関する特徴情報及び特徴点を文字毎に格納した辞書を予め記憶する辞書記憶手段と、前記辞書に記述された各文字の特徴情報と前記特徴抽出手段から抽出された特徴情報とに基づいて前記辞書内の各文字を構成するセグメントと前記入力文字パターンから得たセグメントとの対応付けを行い、セグメント対応付けの距離を算出する特徴点対応付け手段と、前記辞書が指定する文字のストロークの始点と終点との組で構成される特徴点組に対応した前記入力文字パターンのストローク上の特徴点組によって決定される区間に含まれるストロークの形状及び方向から得られる当該ストロークに関する特徴情報を対応ストローク特徴として抽出する指定区間特徴抽出手段と、前記指定区間特徴抽出手段によって抽出された対応ストローク特徴を前記辞書内の特徴情報と照合し、対応ストローク特徴の距離を算出する特徴照合手段と、前記特徴照合手段で得られた候補文字コードを出力する出力手段とを有し、前記特徴照合手段は、算出した対応ストローク特徴の距離及び前記特徴点対応付け手段によって算出されたセグメント対応付けの距離に基づいて前記辞書内の前記入力文字パターンに対応した文字を特定するものである。
【００１９】
第２の発明に係るオンライン文字認識装置は、第１の発明において、前記特徴抽出手段は、隣接したセグメントの向きが近似しているとき単一のセグメントとして結合するものである。
【００２０】
第３の発明に係るオンライン文字認識装置は、第１の発明において、前記特徴点対応付け手段は、前記辞書内の文字の各ストロークの始点と終点に対し前記入力文字パターンの座標点をそれぞれ１つ対応付け、前記指定区間特徴抽出手段は、前記始点に対応する前記入力文字パターンの特徴点と前記終点に対応する前記入力文字パターンの特徴点とを特徴点組とするものである。
【００２１】
第４の発明に係るオンライン文字認識装置は、第１の発明において、前記特徴照合手段は、前記辞書内の文字を特定する際、前記対応ストローク特徴の距離及び前記セグメント対応付けの距離に重み付けを行うものである。
【００２２】
第５の発明に係るオンライン文字認識装置は、第１の発明において、前記各セグメントに関する情報には、各セグメントの方向及び長さが含まれており、前記特徴点対応付け手段は、前記特徴抽出手段が算出した各セグメントの方向及び長さに基づいて、対応付けした各セグメントのコストを算出し、そのコストに基づきセグメント対応付けの距離を算出するものである。
【００２３】
第６の発明に係るオンライン文字認識装置は、第５の発明において、前記特徴点対応付け手段は、前記辞書中の文字を構成する部分として表出されるストロークに対応したセグメントと前記入力文字パターンを構成するストロークのうち表出しない部分に対応したセグメントとを対応付けないようにするものである。
【００２４】
第７の発明に係るオンライン文字認識装置は、第５の発明において、前記辞書記憶手段は、所定のセグメントに関する特徴情報に方向非依存情報を付加した辞書を記憶し、前記特徴点対応付け手段は、方向非依存情報が付加されたセグメントに基づき算出されるコストを一定値とするものである。
【００２５】
第８の発明に係るオンライン文字認識装置は、第７の発明において、前記辞書内の文字を構成するセグメントのうち入力される文字パターンによって方向がばらつくものと考えられるセグメントに関する特徴情報に方向非依存情報を付加するものである。
【００２６】
第９の発明に係るオンライン文字認識装置は、第７の発明において、前記特徴点対応付け手段は、方向非依存情報が付加されたセグメントに基づき算出されるコストを０とするものである。
【００２７】
第１０の発明に係るオンライン文字認識装置は、第７の発明において、前記特徴点対応付け手段は、方向非依存情報が付加されたセグメントに対応付けする前記入力文字パターンから得たセグメントの数の上限を設けるものである。
【００２８】
【発明の実施の形態】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２９】
実施の形態１．
図１は、本発明に係るオンライン文字認識装置の実施の形態１を示したブロック構成図である。本実施の形態におけるオンライン文字認識装置は、入力部１、特徴抽出部２、特徴点対応付け部３、指定区間特徴抽出部４、特徴照合部５、辞書記憶部６及び出力部７で構成される。入力部１は、入力手段として設けられ、ユーザがタブレット等にペンで入力した文字データ（入力文字パターン）を記述する際のストローク上の座標点列データを入力する。特徴抽出部２は、特徴抽出手段として設けられ、入力部１に入力された座標点列データに含まれる時系列順に並んだ座標点を折れ線近似することで得た各直線部分をセグメントとし、その各セグメントに関する特徴情報と各セグメントの端点である特徴点とを抽出する。特徴点対応付け部３は、特徴点対応付け手段として設けられ、辞書に記述された各文字の特徴情報と特徴抽出部２から抽出された特徴情報とに基づいて辞書内の各文字を構成するセグメントと入力文字パターンから得たセグメントとの対応付けを行い、セグメント対応付けの距離を算出する。指定区間特徴抽出部４は、指定区間特徴抽出手段として設けられ、辞書が指定するストローク上の特徴点組に対応した入力文字パターンのストローク上の特徴点組によって決定される区間の特徴情報を対応ストローク特徴として抽出する。特徴照合部５は、特徴照合手段として設けられ、指定区間特徴抽出部４によって抽出された対応ストローク特徴を辞書内の特徴情報と照合し、対応ストローク特徴の距離を算出する。辞書記憶部６は、辞書記憶手段として設けられ、前述した辞書を予め記憶する。本実施の形態における辞書には、文字を構成するセグメントに関する特徴情報及び特徴点が文字毎に格納されている。出力部７は、出力手段として設けられ、特徴照合部５で得られた候補文字コードを出力する。
【００３０】
図２は、辞書中の文字「家」に関する情報を表形式で示した図であり、図３は、辞書中の文字「琢」に関する情報を表形式で示した図である。辞書記憶部６が記憶する辞書に含まれる内容及び特徴は、文字コード、セグメントの特徴情報として方向コード及びセグメント長、ストロークの外接矩形幅、ストロークの外接矩形高さである。セグメントの方向コードとセグメント長は、ストローク以外に仮想ストロークに対しても保持する。なお、ストロークとは、ペンダウンからペンアップまでの座標列の単位をいうが、ここでは、このストロークを実ストローク、あるストロークの終点（ペンアップ位置）から次のストロークの始点（ペンダウン位置）を結ぶストロークを仮想ストロークということにする。実ストロークは、１ストロークにつき複数のセグメントを保持可能であるが、仮想ストロークは、１ストロークにつき１セグメントとする。複数のセグメントを持つストロークの始点から終点の方向を図２、図３でかっこ内に表示する。また、図２、図３には図示しないが、それぞれのセグメントが実ストロークであるか、仮想ストロークであるかを識別するストローク識別コードを保持する。
【００３１】
図４は、本実施の形態における文字認識処理のフローチャートであり、図５は、特徴抽出部２の処理を示したフローチャートである。図６（ａ）は、１６方向コードの例であり、図６（ｂ）は、ＤＰマッチングに用いる値を設定したテーブルを示した図である。なお、本実施の形態においては、辞書内の各文字を構成するセグメントと力文字パターンから得たセグメントとの対応付けをＤＰマッチングによって行うことにする。
【００３２】
次に、本実施の形態における認識処理の流れを図４のフローチャートに基づいて説明する。
【００３３】
まず、入力部１は、ユーザがタブレットにペンで記入した手書き文字データの時系列順に並んだ座標列を得る（ステップ１００）。次に、特徴抽出部２は、前処理、特徴抽出を行うが（ステップ１０１）、この処理の詳細について図５に示したフローチャートを用いて説明する。
【００３４】
特徴抽出部２は、入力座標列に対し連続する座標点間の距離を基準幅と比較し、距離が基準幅を超えない点の間引き処理を行う（ステップ２０１）。本実施の形態では、この間引き後の座標点から次の座標点すなわち時系列順に並んだ座標点を折れ線近似することで得た各直線部分をセグメントと呼ぶことにする。次に、セグメントの方向コードを抽出する（ステップ２０２）。セグメント方向コードは、実ストローク以外に仮想ストロークに対しても抽出する。ここでは、図６（ａ）に示す１６方向コードを用いて方向コード列を抽出する。そして、セグメントの結合処理を行う（ステップ２０３）。ここでは、隣接したセグメントの向きが近似している場合、具体的には隣り合うセグメント間の方向差が±１の場合、そのセグメント同士を結合し、結合したセグメント方向コードを再計算する。例えば、方向コード８のセグメントに続いて方向コード９のセグメントが現れた場合、これらのセグメントを結合して方向コード８の単一のセグメントとする。但し、仮想ストロークに対しては結合処理を実行しない。そして、結合後のセグメント長を算出する（ステップ２０４）。セグメント長は、間引き処理に用いた基準幅の何倍であるかで表記する。本実施の形態では、特徴情報としてセグメントの方向を表す方向コードと長さとを抽出する。以上の特徴抽出処理後の入力パターンを図７に示す。また、抽出した特徴を表形式で示したものを図８に示す。
【００３５】
次に、図４に戻り、特徴点対応付け部３は、辞書から文字データを１つ取り出す（ステップ１０２）。この例では、図２に示した「家」の辞書を取り出す。次に、特徴点対応付け部３は、入力パターンと辞書内の文字「家」間においてＤＰマッチングによるセグメントの対応付けを行う（ステップ１０３）。ＤＰマッチングは以下のように行う。
【００３６】
入力パターンのセグメントをSi = {si(1),si(2),..si(i),..si(I)}、辞書のセグメントをSd = {sd(1),sd(2),..sd(j),..sd(J)}とすると、
【数１】
0003657077.tif 000002
を実行する。以下、この式を数式１とする。なお、関数ｍｉｎは、最小値を求めるための関数である。ここで、
D[si(i+1)][sd(j+1)] = a[si(i+1),sd(j+1)] * (|si(i+1)| + |sd(j+1)|)
を用いる。以下、この式を数式２とする。数式１でd[i+1][j+1]は、始点からsi(i+1),sd(j+1)までの対応付けコストの累積を示す。数式２でD[si(i+1)][sd(j+1)]は、セグメントsi(i+1)とセグメントsd(j+1)の対応付けのコストを表す。a[si(i+1),sd(j+1)]は、セグメントsi(i+1)とセグメントsd(j+1)の方向差によって決まる値であり、ここでは図６（ｂ）に示す表の値を用いる。|si(i+1)|及び|sd(j+1)|は、セグメントsi(i+1),sd(j+1)のセグメント長である。また、ここでは図示しないが、最小値を与える対応付けの経路表も保持する。
【００３７】
数式１を漸化的に計算し、最終的に
dist dp= d[I][J] / (I+J)
を計算する。以下、この式を数式３とする。この数式３を辞書とのＤＰマッチングのコスト（セグメント対応付けの距離）とする。数式３内のdistは、ＤＰマッチングのコストを求めるための関数(distance)を意味する。なお、このＤＰマッチングは、上述した「パターン認識」（船久保 登著：共立出版）に記載されている方法を用いている。
【００３８】
ここで、続け字は、正しい画数で書かれた場合に比べ画数が減少しているので、正しい画数の文字辞書と続け字入力パターンのストロークおよびセグメント対応付けにおいて、入力パターンに対し辞書の成分が複数対応する場合がある。しかし、通常、辞書の実ストロークまたは実セグメントが入力パターンの仮想ストロークとなることはない。従って、辞書中の文字を構成する部分として表出されるストロークに対応したセグメントと入力文字パターンを構成するストロークのうち表出しない部分に対応したセグメントとを対応付けないようにする必要がある。そこで、セグメントのＤＰマッチングの際に入力パターンの仮想ストロークと辞書の実ストローク成分の計算時にはこれらセグメントが対応付かないようにD[si(i)][sd(j)]の値に大きなペナルティ距離を与え、これによって実際にはあり得ない対応付けを阻止する。これにより、続け字であっても文字の誤認をより確実に防止することができる。もちろん、他の方法を用いて上記セグメントが対応付かないようにしてもよい。
【００３９】
図２で示す「家」の辞書の特徴と図８に示す入力パターンの特徴の対応付けを数式１〜３及び図６を用いて計算すると、dist dp =682を得る。
【００４０】
次に、図４において、特徴点対応付け部３は、ステップ１０３で得た図示しないパスの表を用いて辞書ストロークの始点、終点に対応する入力パターンの座標点を得る（ステップ１０４）。図９に辞書内の文字「家」のストロークの始点、終点に対応する入力パターンの座標点を示す。続いて、指定区間特徴抽出部４は、入力パターンの対応点間の特徴抽出を行う（ステップ１０５）。ここでは、図９に示す「家」の各ストロークの始点、終点に対応する点の組を特徴点組とし、この特徴点組を構成する始点に対応する入力文字パターンの特徴点（始点）と当該終点に対応する入力文字パターンの特徴点（終点）とを入力文字パターンにおける特徴点組とする。そして、この入力文字パターンにおける特徴点組に挟まれる座標点列から、文字入力パターンの始点、終点間の外接矩形幅、外接矩形高さ、始点から終点への方向を求め、また、各特徴点組間の仮想ストローク（終点に対応する点から次のストロークの始点に対応する点へのベクトル）の方向および距離を求める。以降、これらの特徴を対応ストローク特徴と呼ぶことにする。その結果を図１０に示す。
【００４１】
次に、特徴照合部５は、辞書のストローク特徴と入力パターンの対応ストローク特徴の照合を行う（ステップ１０６）。対応ストローク特徴の照合は、例えば、（外接矩形幅の差）＋（外接矩形高さの差）＋（始点から終点への方向の差）＋（仮想ストロークの方向差）＋（仮想ストロークの長さ差）を用いて計算する。辞書に対応する仮想ストロークが入力パターンに存在しない場合は、その部分の計算は行わない。図２と図１０の特徴間で上記計算を行い、辞書「家」との対応ストローク特徴の距離dist st=93を得る。
【００４２】
次に、特徴照合部５は、照合する辞書が存在するかを判断する（ステップ１０７）。辞書内の他の文字が存在する場合は、ステップ１０２に戻り、次の文字との照合を行う。この場合は他の文字が存在し、図３の辞書「琢」と照合する。特徴点対応付け部３は、ステップ１０２およびステップ１０３を上記と同様の処理を行い、「琢」のＤＰマッチングのコストdist dp =674を得る。同様にして特徴点対応付け部３は、ステップ１０４を実行し、入力パターンが文字「琢」のストロークの始点、終点に対応する座標点を求める。この結果を図１１に示す。
【００４３】
次に、指定区間特徴抽出部４は、ステップ１０５を実行し、辞書「家」と同様に対応ストローク特徴を抽出する。その結果を図１２に示す。そして、特徴照合部５は、図１２に示すストローク特徴と図３の辞書を参照して計算し、ストローク特徴の距離dist st=223を得る。
【００４４】
以上の流れを参照する文字が辞書中になくなるまで続け、文字がなくなったら出力部７は、認識結果のソーティング作業を行う（ステップ１０８）。結果のソーティングは、
dist all =α×dist dp ＋ β×dist st    （α、βは重みの定数）
をそれぞれの辞書に対し求める。以下、この式を数式４とする。いま、α＝１、β＝１とすると、
dist all「家」 = 682  +93 = 775
ｄｉｓｔ  ａｌｌ「琢」 = 674 + 223 = 897
となる。dist allを昇順にソーティングすることによって「家」を第１候補文字に、「琢」を第２候補文字とする。最後に、出力部７は、候補文字「家」および「琢」を出力して終了する（ステップ１０９）。
【００４５】
上記処理を行った結果、「家」が最終的に認識結果となる。ＤＰマッチングのみの結果では「琢」が候補１位であるが、対応ストローク特徴を併用して候補文字を算出することによって正解を得ることができる。
【００４６】
以上のように、本実施の形態によれば、ＤＰマッチングと対応ストローク特徴を併用して認識処理を行うことにより、字形の崩れた続け字パターンに対し、続け字に対応した辞書データを保持しなくとも認識することができる。
【００４７】
なお、実施の形態１では、入力文字パターンを全ての辞書中の文字とマッチングを行っているが、少数の特徴を用いて大分類を行い、大分類結果に対してＤＰマッチングの計算を行い、対応ストローク特徴を計算することも可能である。また、上記例ではα＝１，β＝１としてＤＰマッチングと対応ストローク特徴の重み付けを等しくしたが、この値はこれに限ったものではない。また、最終的に距離を計算する式（数式４）は、ＤＰマッチングの結果と対応ストローク特徴の結果に重み付けをした値の和としたが、例えば対応ストローク特徴を用いてソーティングし、第１位候補文字の距離がある値より大きな場合、ＤＰマッチングの結果のみを用いてソーティングし直し、第１位を候補文字とするなど単なる係数としてでなく他の計算方法や条件を付加するなどして重み付けをして正解を得るようにすることも可能である。
【００４８】
更に、セグメントの対応付けは、ＤＰマッチングを用いていたが、ＤＰマッチングに限らず、弛緩法、その他の方法でもかまわない。また、対応ストローク特徴は、対応部分の幅、高さ、始点から終点への方向、仮想ストロークの幅、方向を用いて説明したが、この代わりに他の特徴、例えば基本ストロークを抽出してもよい。
【００４９】
実施の形態２．
次に、実施の形態１のＤＰマッチングにおいて、文字パターンの変動によるコストの上昇を抑制する方法を実施の形態１で用いた図６と、図１３、図１４、図１５及び図１６を用いて説明する。図１３は、変動の大きな部分を含む文字の例、図１４は、文字「木」のセグメント辞書の内容例、図１５は、図１３（ｄ）のセグメント特徴、そして、図１６は、方向非依存コードを用いた文字「木」のセグメント辞書をそれぞれ示した図である。
【００５０】
実施の形態１のように、セグメントの方向コード及びセグメント長を用いてＤＰマッチングを行う場合、個人によっては入力文字のあるストロークに「はね」をつける場合、あるいは文字パターンのあるストロークの終点と次のストロークの始点との距離が近い場合などに、セグメントまたは仮想ストロークの方向コードがかなり変動する場合がある。図１３（ａ）〜（ｃ）に示すような文字では、図中○内の部分の仮想ストロークの方向差は、１６方向コードを用いるとパターン間で８となり、ＤＰマッチングのコストを増加させる原因になる。また、図１３（ｄ）に示すように「はね」のあるパターンに対し、辞書に「はね」がない場合、ＤＰマッチングではコストが大きくなり、このようなストロークが同一文字中に多数存在すると結果として他の文字に誤読する場合がある。
【００５１】
本実施の形態においては、これを防止するために、予め方向の差が個人あるいは文字パターンによって大きく異なる部分は方向差を計算せず、ストロークの長さ情報だけを用いて計算するセグメントを設けることにより、この問題点を回避するようにしたことを特徴としている。
【００５２】
例えば、図１３（ｄ）のパターンのセグメントの方向コード列とセグメント長を図１５のように抽出し、「木」の辞書のセグメントの方向コード列とセグメント長を図１４のように示す。セグメント特徴のＤＰマッチングの際、入力パターンの仮想ストロークと辞書の実ストロークが対応することを禁止すると、図１４、図１５では、共に画数が４画と等しいのでそれぞれ筆順に従ってストロークを１対１に対応付けることとなる。つまり、図１５の入力ストロークの２画目の方向コード｛９，１３｝は、辞書の２画目の方向コード｛９｝と対応付けることとなり、入力パターンの２画目の「はね」の部分のセグメントと辞書との対応付けコストは、数式２および図６（ｂ）を用いて計算すると、コスト＝方向差４＊セグメント長さの和＝２０×（７＋１）＝１６０となる。
【００５３】
これに対し、方向コードの変動に対処した本実施の形態における特徴的な辞書の例を図１６に示す。本実施の形態においては、所定のセグメント、すなわち前述したように入力される文字パターンによっては個人差が出やすく「はね」等の方向がばらつくものと考えられ方向コードがかなり変動する場合のあるセグメントに関する特徴情報に方向非依存情報を付加するようにした。本実施の形態では、方向非依存情報として方向非依存コード番号を用いている。図６（ａ）の１６方向コードにおいて方向非依存方向コード番号を１７と仮想的に設け、図１６の２画目に保持する。方向コードが１７であるセグメントのセグメント計算は、方向差を０としてＤＰマッチングを行うように定義し、図１６の２画目のストロークと図１５の２画目のストロークのコスト計算を図１４の場合と同様にＤＰマッチングを計算し、数式５を用いて計算する。図１４の場合と同様に２画目の対応付けの結果、辞書｛９，１７｝と入力パターン｛９，１３｝に対し、｛９｝と｛９｝、｛１７｝と｛１３｝が対応付き、数式５での｛１７｝と｛１３｝のコスト計算は、方向差０×（１＋１）＝０となり、｛９｝と｛９｝のコスト計算０×（７＋７）＝０を加えるとストローク単位でのコストは、必ず一定した値０となる。このように方向非依存コードを用いることにより、図１４の辞書とのコスト１６０に比べＤＰマッチングにおけるコストが小さくなり、結果として辞書との距離が小さくなり、誤認識を防ぐことができる。
【００５４】
しかし、方向非依存コードとのＤＰマッチングを行う場合、対応付けが期待通りに行われない場合が存在する。これを図１７を用いて説明する。いま、図１７（ａ）の折れ線と図１７（ｂ）の辞書とのＤＰマッチングを行うものとする。図１７（ａ）は、５つのセグメント１１〜１５を有し、図１７（ｂ）は、２つのセグメント１６，１７を有するものとする。図６（ａ）を用いると、それぞれのセグメントの方向コードは、セグメント１１が９,セグメント１２が５,セグメント１３が９,セグメント１４が５,セグメント１５が９であり、また、セグメント１６は９、セグメント１７は、方向非依存コード１７とする。なお、セグメント長さは全て１とする。ここで、図１７（ａ）及び（ｂ）を数式１及び数式２を用いて対応付けを行う。はじめにセグメント１１とセグメント１６とを対応付け、そのコストは、方向差０×（１＋１）＝０である。次に、数式１でセグメント１２とセグメント１６は、方向差が４であるのでコストは図６（ｂ）と数式２から２０×（１＋１）＝４０、セグメント１１とセグメント１７は、方向非依存コードとの対応付けであるのでコスト０、セグメント１２とセグメント１７も方向非依存コードとの対応付けであるのでコスト０となり、最もコストの小さいセグメント１１とセグメント１７あるいはセグメント１２とセグメント１７が対応付く。同様に計算し、残りのセグメント１３，１４，１５は、全てセグメント１７と対応付き、コストもそれぞれ０となる。その結果、図１７（ａ）及び（ｂ）とのセグメント対応付けのコストは、数式３を用いて、０／（５＋２）＝０となる。
【００５５】
この結果は、図１７（ａ）及び（ｂ）が同一であることを意味し、間違った対応付けとなる。このような対応付けを許してしまうと、方向非依存コードを含むが全く形状の似ていない文字と認識されることがある。これを防止するために、本実施の形態においては、方向非依存コードが付加されたセグメントに対応付けする入力文字パターンから得たセグメントの数の上限を設けるようにした。
【００５６】
例えば、方向非依存コードとの対応付け上限数を１とすると、図１７（ａ）及び（ｂ）とのコストは、セグメント１１〜１５とセグメント１６が対応付き、セグメント１５とセグメント１７が対応付く。そのコストは、(セグメント１１とセグメント１６のコスト＝)０＋（セグメント１２とセグメント１６のコスト＝)４０＋（セグメント１３とセグメント１６のコスト＝）０＋（セグメント１４とセグメント１６のコスト＝）４０＋（セグメント１５とセグメント１６のコスト＝）０＋（セグメント１５とセグメント１７のコスト＝）０＝８０となって、先程のコスト０に比べて期待通りのコストを得る。
【００５７】
なお、上記実施の形態では、方向コードが１７であるセグメントに基づき算出されるコストを０となるようにその方向差を０として「はね」等のセグメントを無視するようにしたが、コストを０以外の一定値としたり、０とならないように方向差を設定するなど応用することも可能である。
【００５８】
なお、上記例では、ＤＰマッチングの対応点の計算式を数式１〜３を用いたが、これに限らず他の式を用いてもよい。
【００５９】
【発明の効果】
本発明によれば、誤認識しやすい続け字や、運筆方向が似ている文字同士に対して、セグメント対応付けと対応ストローク特徴とを併用して文字認識処理を行うことにより、より詳細な文字検定が可能となり、その結果、精度良く文字認識を行うことができる。また、同一の筆順では、文字のどの部分を続けても、１種類の辞書で認識可能であり、異なる続け字にそれぞれ対応する辞書を設ける必要がない。従って、例えば、字形の崩れた続け字パターンに対し、続け字に対応した辞書データを保持しなくとも認識することができるようになり、辞書作成の労力及び辞書容量の削減等付随した種々の効果をも奏することができる。
【００６０】
また、計算により最終的な文字認識をする際にセグメント対応付けと対応ストローク特徴の重み付けを設定できるようにしたので、より正確な文字認識処理を提供することができる。
【００６１】
また、辞書中の文字を構成する部分として表出されるストロークに対応したセグメントと入力文字パターンを構成するストロークのうち表出しない部分に対応したセグメントとを対応付けないようにしたので、続け字であっても文字の誤認をより確実に防止することができる。
【００６２】
また、方向非依存情報を付加した辞書を設けるようにしたので、セグメント対応付けの距離を算出する際、その計算結果が「はね」「おさえ」等の文字の部分的変動によって大きく変動しないようにすることができるため、結果としてより高精度な文字認識を行うことができる。
【００６３】
また、方向非依存情報が付加されたセグメントに対応付けられる入力文字パターンから得たセグメントの数の上限を設けるようにしたので、更に高精度な文字認識を行うことができる。
【図面の簡単な説明】
【図１】  本発明に係るオンライン文字認識装置の実施の形態１を示したブロック構成図である。
【図２】  実施の形態１において使用する辞書に格納された文字「家」に関する情報の内容例を示した図である。
【図３】  実施の形態１において使用する辞書に格納された文字「琢」に関する情報の内容例を示した図である。
【図４】  実施の形態１における文字認識処理を示したフローチャートである。
【図５】  実施の形態１における文字認識処理のうち特徴抽出部が行う処理を示したフローチャートである。
【図６】  （ａ）は実施の形態１において使用する１６方向コードの例を示した図であり、（ｂ）は、ＤＰマッチングに用いる値を設定したテーブルを示した図である。
【図７】  実施の形態１において入力パターンに対して特徴抽出処理を行った後のパターンを示した図である。
【図８】  実施の形態１において入力パターンに対して特徴抽出処理を行ったことにより抽出された特徴を表形式で示した図である。
【図９】  辞書内の文字「家」の始点、終点に対応する入力パターンの座標点を示した図である。
【図１０】  辞書内の文字「家」に対する入力パターンの対応ストローク特徴を示した図である。
【図１１】  辞書内の文字「琢」の始点、終点に対応する入力パターンの座標点を示した図である。
【図１２】  辞書内の文字「琢」に対する入力パターンの対応ストローク特徴を示した図である。
【図１３】  文字パターンによって変動が大きい部分の例を示した図である。
【図１４】  辞書内の文字「木」のセグメント辞書の内容例を示した図である。
【図１５】  図１３（ｄ）に示した文字「木」のセグメント特徴を示した図である。
【図１６】  方向非依存コードを用いた文字「木」のセグメント辞書を示した図である。
【図１７】  実施の形態２において方向非依存コードとの対応付け数の制限を説明するために用いる図である。
【図１８】  従来例１において方向コードを用いた認識方式の特徴を示した図である。
【図１９】  ８方向コードの例を示した図である。
【図２０】  従来例２のオンライン文字認識装置の基本構成を示したブロック構成図である。
【図２１】  方向コード列とストロークコードとの対応表を示した図である。
【図２２】  従来例２の動作を説明するために用いる文字「石」の入力パターンを示した図である。
【図２３】  従来例２の動作を説明するために用いる文字「石」の入力パターンを示した図である。
【図２４】  続け字ストロークの分解ルールを示した図である。
【図２５】  従来例１における距離計算時の位置ずれによる影響を示した図である。
【図２６】  「はね」「おさえ」を含む入力パターンと「はね」「おさえ」を含まない辞書の例を示した図である。
【図２７】  続け字によって仮想ストロークが表出する場合の例を示した図である。
【符号の説明】
１  入力部、２  特徴抽出部、３  特徴点対応付け部、４  指定区間特徴抽出部、５  特徴照合部、６  辞書記憶部、７  出力部。
【図１】
0003657077.tif 000003
【図２】
0003657077.tif 000004
【図３】
0003657077.tif 000005
【図４】
0003657077.tif 000006
【図５】
0003657077.tif 000007
【図６】
0003657077.tif 000008
【図７】
0003657077.tif 000009
【図８】
0003657077.tif 000010
【図９】
0003657077.tif 000011
【図１０】
0003657077.tif 000012
【図１１】
0003657077.tif 000013
【図１２】
0003657077.tif 000014
【図１３】
0003657077.tif 000015
【図１４】
0003657077.tif 000016
【図１５】
0003657077.tif 000017
【図１６】
0003657077.tif 000018
【図１７】
0003657077.tif 000019
【図１８】
0003657077.tif 000020
【図１９】
0003657077.tif 000021
【図２０】
0003657077.tif 000022
【図２１】
0003657077.tif 000023
【図２２】
0003657077.tif 000024
【図２３】
0003657077.tif 000025
【図２４】
0003657077.tif 000026
【図２５】
0003657077.tif 000027
【図２６】
0003657077.tif 000028
【図２７】
0003657077.tif 000029