(57)【特許請求の範囲】
【請求項１】
入力された画像に含まれる合成文字を認識するための文字認識装置であって、
複数の文字それぞれを表わす複数の辞書パターンを予め記憶するための第１の記憶手段と、
所定の複数の合成方式それぞれに対応付けて、複数組の前記辞書パターンの組合せを予め記憶するための第２の記憶手段と、
前記入力された画像における１文字の文字領域を入力パターンとして切り出すための切り出し手段と、
前記入力パターンを構成する文字の合成方式が、前記複数の合成方式のうちのいずれであるかを判定するための判定手段と、
前記第２の記憶手段において、前記判定手段により判定された合成方式に対応付けられた辞書パターンの組合せに基づいて、２以上の辞書パターンを前記判定された合成方式に従って合成させるための合成手段と、
前記合成手段による合成後の合成辞書パターンごとに、前記入力パターンと照合するための合成照合手段と、
前記合成照合手段により照合された結果、前記入力パターンとの類似度が高い合成辞書パターンに基づく合成文字情報を出力する制御を行なうための出力制御手段と、
前記出力制御手段からの信号に応じた出力を行なうための出力手段とを備えた、文字認識装置。
【請求項２】
前記第２の記憶手段は、さらに、各前記合成方式ごとの、辞書パターンの合成の仕方を表わす合成方法を、前記合成方式に対応付けて記憶し、
前記合成手段は、前記判定された合成方式に対応付けられた合成方法に基づいて、前記２以上の辞書パターンを合成させる、請求項１に記載の文字認識装置。
【請求項３】
前記入力パターンと、前記複数の辞書パターンそれぞれとを照合して、類似度が最も高い辞書パターンである類似辞書パターンを抽出するための辞書照合手段をさらに備え、
前記判定手段は、前記辞書照合手段による照合の結果、前記類似辞書パターンの類似度が予め定められた閾値未満の場合にのみ前記入力パターンの合成方式を判定する、請求項２に記載の文字認識装置。
【請求項４】
前記合成照合手段は、複数の前記合成辞書パターンのうち類似度が最も高い合成辞書パターンを、特定パターンとして抽出する手段を含み、
前記出力制御手段は、前記合成文字情報として、前記特定パターンに含まれる辞書パターンを出力するための処理を行なう、請求項３に記載の文字認識装置。
【請求項５】
前記特定パターンの類似度と前記類似辞書パターンの類似度とを比較するための比較手段をさらに備え、
前記出力制御手段は、前記比較手段による比較の結果、前記特定パターンの類似度の方が、前記類似辞書パターンの類似度よりも高いと判断された場合に、前記特定パターンに含まれる辞書パターンを出力するための処理を行なう、請求項４に記載の文字認識装置。
【請求項６】
複数の文字それぞれを表わす複数の辞書パターン、および、所定の複数の合成方式それぞれに対応付けて、複数組の前記辞書パターンの組合せを予め記憶する記憶部と、出力部と、演算処理装置とを含む文字認識装置において、入力された画像に含まれる合成文字を認識するための文字認識方法であって、
前記演算処理装置が、前記入力された画像における１文字の文字領域を入力パターンとして切り出すステップと、
前記演算処理装置が、前記入力パターンを構成する文字の合成方式が、前記複数の合成方式のうちのいずれであるかを判定するステップと、
前記演算処理装置が、前記記憶部において、判定された合成方式に対応付けられた辞書パターンの組合せに基づいて、２以上の辞書パターンを前記判定された合成方式に従って合成させるステップと、
前記演算処理装置が、合成後の合成辞書パターンごとに、前記入力パターンと照合するステップと、
前記出力部が、前記入力パターンとの類似度が高い合成辞書パターンに基づく合成文字情報を出力するステップとを含む、文字認識方法。
【請求項７】
請求項６に記載の文字認識方法をコンピュータに実行させる、文字認識プログラム。
【請求項８】
請求項７に記載の文字認識プログラムを記録した、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置、文字認識方法、文字認識プログラムおよびコンピュータ読取り可能な記録媒体に関し、特に、記憶された辞書パターンと入力パターンとの照合を行なうことのできる文字認識装置、文字認識方法、文字認識プログラムおよびコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、光学式文字読取装置（以下「ＯＣＲ（Optical Character Reader）」と略す）などの文字認識装置において、パターンの照合により文字認識を行う方法が広く用いられている。ＯＣＲは、認識対象とする文書の光による濃淡情報から１文字画像を切出し、切り出された１文字の画像からパターン情報を抽出する。そして、抽出したパターン情報とあらかじめ登録されている複数の辞書パターン情報とを照合（比較）し、最も類似している辞書パターン情報の文字コードを認識結果として出力するものである。
【０００３】
このようなＯＣＲに予め登録される辞書パターンは、１つの文字種について最低１パターンが必要である。しかしながら、日本語は、ＪＩＳ第１水準とＪＩＳ第２水準とを併せると約６４００文字種あるため、辞書パターンの数が多くなる。したがって、従来のＯＣＲでは、入力パターンと辞書パターンとを照合する処理（以下「マッチング」という）に時間がかかっていた。
【０００４】
ところが、近年、技術が進むにつれ、ＯＣＲに入力される文書の中に、ひらがな、カタカナ、英数字、ＪＩＳ第１水準、ＪＩＳ第２水準の漢字以外にも、たとえば漢字１文字（全角１文字）分の印刷領域に複数の文字（数字、記号、図形等を含む）を配置して１つの意味を表す合成文字の使用頻度が増してきた。そのような合成文字としては、たとえば、全角１文字の領域に記載された“ミリ”，“センチ“，“メートル”，“平成”がある。また、○で囲まれた“１”などもある。
【０００５】
上述のような合成文字は、文字の組み合わせによって作成できるため、ＪＩＳコードにない無数のパターンの合成文字が作成可能である。
【０００６】
記憶媒体に、作成可能な全ての合成文字について標準パターン（辞書パターン）を記憶させることも考えられるが、日本語は文字数が多いため、あらゆる標準パターンを記憶媒体に記憶させておくと、さらにマッチングの時間を増大させることになる。そのため、一般のＯＣＲでは、一部の使用頻度の高い合成文字しか標準パターンに持てず、一部の合成文字しか認識することができなかった。
【０００７】
しかしながら、たとえば○で囲まれる文字（円枠と合成される文字）は、「問」（問い合わせの意味）、「秘」（秘密の意味）、「交」（交通手段の意味）のように、多様な文字が使用でき、かつ、紙面で目立つ。そのため、このような合成文字は、たとえば項目を表す記号として多く用いられている。
【０００８】
近年ではパンフレットやビジネス文書などにこれらの合成文字が多く印刷されるようになり、合成文字を認識できる文字認識装置が待たれている。
【０００９】
たとえば特許文献１には、このような合成文字を認識する技術が開示されている。当該文献において、「株式会社」等の合成文字は文字群としてとらえられ、文字認識装置には、あらかじめ認識したい文字群全てに対してそれらの文字群の特徴データがストアされる。そして、文字認識装置は、これら文字群特徴データと入力パターンとが類似していた場合に、垂直方向、水平方向に画像の濃淡度度合いを表すヒストグラムをとり、このヒストグラムに基づきそれぞれの文字パターンの切出しおよび特徴抽出を行なう。これにより、たとえば「株」，「式」，「会」，「社」というマッチング結果を得ることができる。
【００１０】
また、文字認識に関連して、非特許文献１において、画像から直線や円を抽出する方法が記載されている。
【特許文献１】特開平５−８９２７９号公報
【非特許文献１】石立  喬  著、“Hough変換による画像からの直線や円の検出”［online］、２００５年８月３０日、ＣｏｄｅＺｉｎｅ、［２００７年１０月５日検索］、インターネット＜ＵＲＬ：http://codezine.jp/a/article.aspx?aid=153，＞
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献１の技術では、あらかじめ認識したい合成文字すべてに対してそれらの特徴データつまり辞書パターンを装置にストアする必要がある。そのため、認識したい合成文字が増えると、その分、辞書パターンが増えることになる。
【００１２】
本発明は、上記のような問題を解決するためになされたものであって、その目的は、辞書パターンとして存在しない合成文字を認識することのできる文字認識装置、文字認識方法、文字認識プログラムおよびコンピュータ読取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
この発明のある局面に従う文字認識装置は、入力された画像に含まれる合成文字を認識するための文字認識装置であって、複数の文字それぞれを表わす複数の辞書パターンを予め記憶するための第１の記憶手段と、所定の複数の合成方式それぞれに対応付けて、複数組の辞書パターンの組合せを予め記憶するための第２の記憶手段と、入力された画像における１文字の文字領域を入力パターンとして切り出すための切り出し手段と、入力パターンを構成する文字の合成方式が、複数の合成方式のうちのいずれであるかを判定するための判定手段と、第２の記憶手段において、判定手段により判定された合成方式に対応付けられた辞書パターンの組合せに基づいて、２以上の辞書パターンを判定された合成方式に従って合成させるための合成手段と、合成手段による合成後の合成辞書パターンごとに、入力パターンと照合するための合成照合手段と、合成照合手段により照合された結果、入力パターンとの類似度が高い合成辞書パターンに基づく合成文字情報を出力する制御を行なうための出力制御手段と、出力制御手段からの信号に応じた出力を行なうための出力手段とを備える。
【００１４】
好ましくは、第２の記憶手段は、さらに、各合成方式ごとの、辞書パターンの合成の仕方を表わす合成方法を、合成方式に対応付けて記憶し、合成手段は、判定された合成方式に対応付けられた合成方法に基づいて、２以上の辞書パターンを合成させる。
【００１５】
好ましくは、入力パターンと、複数の辞書パターンそれぞれとを照合して、類似度が最も高い辞書パターンである類似辞書パターンを抽出するための辞書照合手段をさらに備え、判定手段は、辞書照合手段による照合の結果、類似辞書パターンの類似度が予め定められた閾値未満の場合にのみ入力パターンの合成方式を判定する。
【００１６】
好ましくは、合成照合手段は、複数の合成辞書パターンのうち類似度が最も高い合成辞書パターンを、特定パターンとして抽出する手段を含み、出力制御手段は、合成文字情報として、特定パターンに含まれる辞書パターンを出力するための処理を行なう。
【００１７】
好ましくは、特定パターンの類似度と類似辞書パターンの類似度とを比較するための比較手段をさらに備え、出力制御手段は、比較手段による比較の結果、特定パターンの類似度の方が、類似辞書パターンの類似度よりも高いと判断された場合に、特定パターンに含まれる辞書パターンを出力するための処理を行なう。
【００２５】
この発明のさらに他の局面に従う文字認識方法は、複数の文字それぞれを表わす複数の辞書パターン、および、所定の複数の合成方式それぞれに対応付けて、複数組の辞書パターンの組合せを予め記憶する記憶部と、出力部と、演算処理装置とを含む文字認識装置において、入力された画像に含まれる合成文字を認識するための文字認識方法であって、演算処理装置が、入力された画像における１文字の文字領域を入力パターンとして切り出すステップと、演算処理装置が、入力パターンを構成する文字の合成方式が、複数の合成方式のうちのいずれであるかを判定するステップと、演算処理装置が、記憶部において、判定された合成方式に対応付けられた辞書パターンの組合せに基づいて、２以上の辞書パターンを判定された合成方式に従って合成させるステップと、演算処理装置が、合成後の合成辞書パターンごとに、入力パターンと照合するステップと、出力部が、入力パターンとの類似度が高い合成辞書パターンに基づく合成文字情報を出力するステップとを含む。
【００２７】
この発明のさらに他の局面に従う文字認識プログラムは、上記記載の文字認識方法をコンピュータに実行させる。
【００２８】
この発明のさらに他の局面に従うコンピュータ読取り可能な記録媒体は、上記記載の文字認識プログラムを記録する。
【発明の効果】
【００２９】
本発明によると、辞書パターンとして存在しない合成文字を認識することができる。したがって、記憶すべき辞書パターンを増やさずに合成文字を認識することが可能となる。
【発明を実施するための最良の形態】
【００３０】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００３１】
［実施の形態１］
＜構成について＞
（ハードウェア構成）
はじめに、本発明の実施の形態１に係る文字認識装置１０００のハードウェア構成について説明する。文字認識装置１０００としては、代表的にＰＣ（Personal Computer）が採用されてよい。
【００３２】
図１は、本発明の実施の形態１に係る文字認識装置１０００のハードウェア構成を示すブロック図である。
【００３３】
図１を参照して、文字認識装置１０００は、各種演算処理を実行するためのＣＰＵ（Central Processing Unit）２１０と、ＣＰＵ２１０で実行されるプログラムや各種の情報を不揮発的に記憶するためのハードディスク部（ＨＤＤ：Hard Disk Drive）２１２と、各種データを一時的に記憶するためのメモリ部２１４と、ユーザからの指示の入力を受付けるための入力部２１１と、各種情報を表示するためのディスプレイ部２１３と、画像を入力するための画像読取部２１６と、光学媒体たとえばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）２１５ａに記憶されたデータやプログラムを読み出すためのＣＤ−ＲＯＭドライブ２１５と、外部機器との間でデータの授受を行なうための通信インターフェイス部２１７とを含む。また、上述の各部は、内部バス２１８を介して相互にデータを授受する。
【００３４】
画像読取部２１６は、たとえばスキャナ、あるいは、カメラを含む。
（機能構成）
次に、本実施の形態に係る文字認識装置１０００の機能構成について説明する。
【００３５】
図２は、本発明の実施の形態１に係る文字認識装置１０００の機能ブロック図である。
図２を参照して、文字認識装置１０００は、画像を取り込むための画像入力部１００１と、文字認識結果を出力するための出力部１００２と、各ハードウェアの動作を制御するとともに、各種演算処理を行なう制御部１００３と、辞書データ蓄積メモリ１０２０と、合成方式情報メモリ１０３０とを備える。
【００３６】
画像入力部１００１は、たとえば画像読取部２１６に対応する。なお、通信インターフェイス部２１７やＣＤ−ＲＯＭドライブ２１５などに対応してもよい。
【００３７】
出力部１００２は、たとえばディスプレイ部２１３に対応する。なお、通信インターフェイス部２１７やＣＤ−ＲＯＭドライブ２１５などに対応してもよい。
【００３８】
制御部１００３は、ＣＰＵ２１０に対応する。
辞書データ蓄積メモリ１０２０および合成方式情報メモリ１０３０は、たとえばハードディスク部２１２に対応する。なお、ＣＤ−ＲＯＭ２１５ａに対応し、ＣＤ−ＲＯＭドライブ２１５によって読み出されてもよい。
【００３９】
文字認識装置１０００は、画像入力部１００１により入力された画像における文字領域を入力パターンとして抽出し、入力パターンの合成方式が、所定の複数の合成方式のうちいずれであるかを判定する。また、判定された合成方式に従い２以上の辞書パターンを合成して合成辞書パターンを生成することができる。
【００４０】
本実施の形態において、各「辞書パターン」は、１つの文字を表わし、「文字」とは、ひらがな，カタカナ，アルファベットなどの本来の文字の他、“＃”，“○”などの記号、および、図形等をも含む。
【００４１】
また、「合成方式」とは、１つの文字領域に、複数の辞書パターンのうちの２以上の辞書パターンを合成する仕方を表わし、「所定の複数の合成方式」は、垂直組文字、水平組文字、かぎ型（Ｌ字，逆Ｌ字）組文字、円枠文字、多角形枠文字、分数文字のいずれかを含むものとする。垂直組文字は、１文字分の領域に、上下に２以上の文字が集約された文字、あるいは、斜めに２以上の文字が集約された文字をいう。水平組文字は、１文字分の領域に、左右に２以上の文字が集約された文字をいう。かぎ型組文字は、１文字分の領域を４つに分割した場合に１つの空白領域を含むように集約された文字をいう。円枠文字は、１以上の文字が円枠（○）で囲まれた合成文字（円枠と１以上の文字とが組み合わせられた文字）をいう。多角形枠文字は、１以上の文字が四角形などの多角形の枠で囲まれた合成文字（多角形枠と１以上の文字とが組み合わせられた文字）をいう。分数文字は、文字と文字との間に斜線（または水平線）が挟まれた文字（２以上の文字と直線とが組み合わせられた文字）をいう。
【００４２】
本実施の形態において、複数の合成方式は、これら６つの合成方式を含み、垂直組文字、水平組文字、かぎ型組文字、円枠文字、多角形枠（たとえば四角枠）文字および分数文字は、それぞれ、合成方式１〜６に対応するものとして説明する。
【００４３】
また、「合成文字」とは、いずれかの合成方式により２以上の辞書パターンが合成された文字パターンをいう。なお、本実施の形態において「合成する」とは、集約する、組合せる、重ね合わせる、とも捉えることができる。
【００４４】
辞書データ蓄積メモリ１０２０は、オリジナル辞書領域１０２１と、合成辞書領域１０２２とを含む。
【００４５】
オリジナル辞書領域１０２１には、予め、複数の辞書パターンが記憶されている。
合成辞書領域１０２２には、後述する合成処理が実行された場合に、合成辞書パターンが記憶される。したがって、出荷時には、何も記憶されていなくてよい。
【００４６】
合成方式情報メモリ１０３０は、文字セット対応テーブル１０３１と、合成方法対応テーブル１０３２とを含む。文字セット対応テーブル１０３１には、合成方式ごとの、辞書パターンの合成の仕方を表わす合成方法が、合成方式と対応付けられて予め記憶される。合成方法対応テーブル１０３２には、複数の合成方式それぞれに対応付けて、複数組の辞書パターンの組合せが予め記憶される。なお、これらのテーブルの内容例については、後述する。
【００４７】
制御部１００３は、切り出し部１００４と、特徴抽出部１００５と、第１マッチング部１００６と、合成方式判定部１００７と、辞書合成部１００８と、第２マッチング部１００９と、比較部１０１０と、出力制御部１０１１とを含む。
【００４８】
切り出し部１００４は、画像入力部１００１から入力された画像から文字領域（文字画像）を切り出す（抽出する）。切り出された文字領域は、入力パターンとして特徴抽出部１００５に出力される。
【００４９】
特徴抽出部１００５は、入力パターンごとの特徴を抽出する。抽出された入力パターンは、マッチング部１００６に出力される。
【００５０】
第１マッチング部１００６は、オリジナル辞書領域１０２１を検索して、入力パターンごとに、複数の辞書パターンそれぞれとマッチングを行なう。つまり、入力パターンの特徴と辞書パターンの特徴とのマッチングを行なう。そして、類似度が最も高い辞書パターンを、第１のマッチング結果として抽出する。
【００５１】
上記した切り出し部１００４、特徴抽出部１００５および第１マッチング部１００６の処理は、従来の手法により実現されてよい。
【００５２】
なお、第１のマッチング結果に対応する辞書パターンの類似度が、所定値以上であれば、当該入力パターンは、オリジナル辞書領域１０２１に記憶された文字の可能性が高い（合成文字ではない可能性が高い）と判定され、第１のマッチング結果が、出力制御部１０１１に出力されるものとする。
【００５３】
これに対し、上記類似度が、所定値未満であれば、当該入力パターンは、合成文字の可能性が高いと判定され、以降の処理が行なわれる。この場合、第１のマッチング結果に関する情報は、比較部１０１０に出力される。
【００５４】
合成方式判定部１００７は、上述の複数の合成方式のうち、入力パターンの合成方式を判定する。つまり、入力パターンを構成する文字の合成方式が判定される。判定された合成方式は、辞書合成部１００８に出力される。
【００５５】
辞書合成部１００８は、文字セット対応テーブル１０３１および合成方法対応テーブル１０３２に基づき、２以上の辞書パターンを合成して１以上の合成辞書パターンを生成する。生成された合成辞書パターンは、合成辞書領域１０２２に記録される。
【００５６】
第２マッチング部１００９は、合成辞書領域１０２２を参照して、合成辞書パターンごとに、入力パターンとのマッチングを行なう。また、第２マッチング部１００９は、合成辞書パターンごとの類似度を算出し、類似度が最も高い合成辞書パターンを、第２のマッチング結果として抽出する。抽出された第２のマッチング結果に関する情報は、比較部１０１０に出力される。
【００５７】
比較部１０１０は、第２のマッチング結果の類似度と、第１のマッチング結果の類似度とを比較して、前者の方が後者よりも高いか否かを判断する。なお、両者の類似度が同程度の値であれば、第１のマッチング結果を出力することが好ましい。したがって、比較部１０１０は、第２のマッチング結果の類似度が、第１のマッチング結果の類似度よりも所定の閾値以上高いか否かを判断することが好ましい。比較部１０１０は、比較の結果に応じて、第１のマッチング結果に関する情報、または、第２のマッチング結果に関する情報を出力制御部１０１１に出力する。
【００５８】
出力制御部１０１１は、マッチング結果の後処理を行なう。つまり、出力制御部１０１１は、第１または第２のマッチング結果に基づく文字情報を出力するための処理を行なう。これにより、出力部１００２は、第１または第２のマッチング結果に基づく文字情報を出力する。
【００５９】
なお、制御部１００３に含まれる各ブロックの動作は、たとえばハードディスク部２１２中に格納されたソフトウェアを実行することで実現されてもよいし、これらのブロックのうち少なくとも１つについては、ハードウェアで実現されてもよい。
【００６０】
また、文字認識装置１０００は、必ずしも画像入力部１００１を備えている必要はなく、画像を記憶する装置（たとえばハードディスク部２１２）を備えていればよい。その場合、記憶された画像に対して、上述のような処理が実行される。
【００６１】
＜動作について＞
次に、本発明の実施の形態１に係る文字認識装置１０００の動作について説明する。
【００６２】
図３は、本発明の実施の形態１に係る文字認識装置１０００が実行する文字認識処理を示すフローチャートである。図３のフローチャートに示す処理は、予めプログラムとしてハードディスク部２１２に格納されており、制御部１００３がこのプログラムを読み出して実行することにより、文字認識処理の機能が実現される。
【００６３】
図３を参照して、画像入力部１００１が、原稿などを読取り、文字画像を入力する（ステップＳ１０１）。
【００６４】
次に、切り出し部１００４は、入力された画像データから、文字を１文字のパターン（入力パターン）として矩形に切り出す（ステップＳ１０２）。特徴抽出部１００５は、切出された入力パターンの特徴を抽出する（ステップＳ１０３）。
【００６５】
第１マッチング部１００６は、オリジナル辞書領域１０２１を検索して入力パターンと辞書パターンとのマッチングを行なう（ステップＳ１０４）。そして、第１マッチング部１００６は、類似度が最も高い辞書パターン（以下「類似辞書パターン」という）を抽出し、その類似辞書パターンに関する情報を、第１のマッチング結果情報としてメモリ部２１４に一時的に記録する。第１のマッチング結果情報には、類似辞書パターンと、その類似度とが含まれる。
【００６６】
制御部１００３は、入力パターンと類似辞書パターンとの類似度が閾値Ｔｈ０以上でああるか否かを判断する（ステップＳ１０５）。「閾値Ｔｈ０」とは、入力パターンと辞書パターンとの類似度がマッチすると確定できる値を表わし、用途や類似度計算方法によって適切な値が設定されてよい。
【００６７】
具体的には、たとえば、一度、文字認識が行なわれた文書を編集するなどして再利用する場合には、文書を精度良く認識することが望まれる。したがって、そのような場合に、閾値Ｔｈ０は比較的低く設定されることが好ましい。これに対し、一度、文字認識が行なわれたテキストを検索用にＰＤＦ（Portable Document Format）に貼り付ける場合などには、合成文字を認識する必要性は低い。そのような場合には、閾値Ｔｈ０は比較的高く設定されることが好ましい。そうすることで、文字認識速度が速くなる。
【００６８】
類似度が閾値Ｔｈ０以上であれば（ステップＳ１０５においてＹＥＳ）、ステップＳ１１２に進む。一方、類似度が閾値Ｔｈ０未満であれば（ステップＳ１０５においてＮＯ）、合成方式判定処理が実行される（ステップＳ１０６）。合成方式判定処理については、図４に示したサブルーチンを用いて後述する。
【００６９】
合成方式判定処理が終わると、合成方式判定部１００７は、入力パターンを構成する文字がいずれかの合成方式に合致したか否かを判断する（ステップＳ１０７）。入力パターンが、どの合成方式とも判定されなかった場合は（ステップＳ１０７においてＮＯ）、ステップＳ１１２に進む。この場合、ステップＳ１１２において、ステップＳ１０４で抽出された第１のマッチング結果情報が出力バッファにセットされる。
【００７０】
一方、入力パターンがいずれかの合成パターンと判定された場合は（ステップＳ１０７においてＹＥＳ）、辞書合成部１００８は辞書合成処理を行なう（ステップＳ１０８）。辞書合成処理については、図１５に示すサブルーチンを用いて後述する。
【００７１】
辞書合成処理において１以上の合成辞書パターンが合成辞書領域１０２２に格納されると、第２マッチング部１００９は、合成辞書パターンと入力パターンとのマッチングを行なう（ステップＳ１０９）。第２マッチング部１００９は、合成辞書パターンごとに、入力パターンとの類似度を算出し、その類似度が最も高い合成辞書パターン（以下「特定パターン」という）を第２のマッチング結果情報として抽出する。
【００７２】
比較部１０１０は、第１のマッチング結果情報と第２のマッチング結果情報とを比較する（ステップＳ１１０）。つまり、特定パターン（合成辞書）との類似度が、類似辞書パターン（オリジナル辞書）との類似度よりも所定値以上高いか否かを判断する。特定パターンとの類似度の方が所定値以上高いと判断された場合（ステップＳ１１０においてＹＥＳ）、ステップＳ１１１に進む。一方、特定パターンとの類似度が所定値以上高くないと判断された場合（ステップＳ１１０においてＮＯ）、ステップＳ１１２に進む。
【００７３】
ステップＳ１１１において、第２のマッチング結果情報すなわち、特定パターンのマッチング結果が出力バッファにセットされる。つまり、出力バッファにセットされていた第１のマッチング結果情報に第２のマッチング結果情報が上書きされる。
【００７４】
ステップＳ１１２において、第１のマッチング結果情報すなわち、類似辞書パターンのマッチング結果が出力バッファにセットされる。
【００７５】
なお、出力バッファに記憶されるマッチング結果情報の具体例については、後述する。
ステップＳ１１１またはＳ１１２の処理が終わるとステップＳ１１４に進む。
【００７６】
ステップＳ１１４において、出力バッファの内容が入力パターンのマッチング結果として出力制御部１０１１に出力される。出力制御部１０１１は、入力されたマッチング結果を出力（表示）するための処理を行なう（ステップＳ１１５）。処理されたマッチング結果は、出力部１００２に出力（表示）される（ステップＳ１１６）。
【００７７】
以上で、文字認識処理は終了される。
本実施の形態によると、文字パターンが入力されると、まず、合成文字である可能性が高いかどうかが判定される。合成文字である可能性が高いと判定された場合に、判定された合成方式に基づき、既存の辞書パターンから合成辞書パターンが作成される。このように、合成文字である可能性が高い場合にのみ合成文字の認識処理を実行することで、文字認識の処理速度の低下を防止することができる。
【００７８】
また、既存の辞書パターンを組み合わせることにより合成辞書が作成されるため、予め、あらゆる合成文字の辞書パターンをオリジナル辞書領域１０２１に記憶する必要がない。
【００７９】
また、判定された合成方式に基づいて、辞書パターンが合成されるため、精度良く合成文字を認識することができる。
【００８０】
また、既存の辞書パターンの類似度と合成辞書パターンの類似度とを比較し、後者の方が高い場合にのみ、合成辞書パターンのマッチング結果を出力する。これにより、合成辞書パターンの類似度が辞書パターンの類似度よりも低いにもかかわらず、合成辞書パターンのマッチング結果が出力されてしまうことを防止することができる。
【００８１】
（合成方式判定処理について）
次に、図３のステップＳ１０８に示した合成方式判定処理について説明する。
【００８２】
図４は、合成方式判定処理を示すフローチャートである。
図４を参照して、入力パターンが入力されると（ステップＳ３０１）、まず、この入力パターンが合成方式１かどうかを判定するための合成方式１判定処理が実行される（ステップＳ３０２）。入力パターンが合成方式１と判定されれば（ステップＳ３０３においてＹＥＳ）、入力パターンは合成方式１だというフラグ（フラグ＝１）をたてる（ステップＳ３０４）。これに対し、入力パターンが合成方式１でないと判定された場合（ステップＳ３０３においてＮＯ）、ステップＳ３０５に進む。
【００８３】
ステップＳ３０５において、入力パターンが合成方式２かどうかを判定するための合成方式２判定処理が実行される。合成方式１の場合と同様に、入力パターンが合成方式２と判定されれば（ステップＳ３０６においてＹＥＳ）、入力パターンは合成方式２だというフラグ（フラグ＝２）を立てる（ステップＳ３０７）。これに対し、入力パターンが合成方式２でないと判定された場合（ステップＳ３０６においてＮＯ）、ステップＳ３０８に進む。
【００８４】
以降も同様に、ステップＳ３０８において、合成方式３判定処理が実行される。入力パターンが合成方式３と判定されれば（ステップＳ３０９においてＹＥＳ）、入力パターンは合成方式３だというフラグ（フラグ＝３）を立てる（ステップＳ３１０）。これに対し、入力パターンが合成方式３でないと判定された場合（ステップＳ３０９においてＮＯ）、ステップＳ３１１に進む。
【００８５】
また、ステップＳ３１１において、合成方式４判定処理が実行される。入力パターンが合成方式４と判定されれば（ステップＳ３１２においてＹＥＳ）、入力パターンは合成方式４だというフラグ（フラグ＝４）を立てる（ステップＳ３１３）。これに対し、入力パターンが合成方式４でないと判定された場合（ステップＳ３１２においてＮＯ）、ステップＳ３１４に進む。
【００８６】
また、ステップＳ３１４において、合成方式５判定処理が実行される。入力パターンが合成方式５と判定されれば（ステップＳ３１５においてＹＥＳ）、入力パターンは合成方式５だというフラグ（フラグ＝５）を立てる（ステップＳ３１６）。これに対し、入力パターンが合成方式５でないと判定された場合（ステップＳ３１５においてＮＯ）、ステップＳ３１７に進む。
【００８７】
さらに、ステップＳ３１７において、合成方式６判定処理が実行される。入力パターンが合成方式６と判定されれば（ステップＳ３１８においてＹＥＳ）、入力パターンは合成方式６だというフラグ（フラグ＝６）を立てる（ステップＳ３１９）。これに対し、入力パターンが合成方式６でないと判定された場合（ステップＳ３１８においてＮＯ）、いずれの合成方式にも該当しないことを表わすフラグ（フラグ＝０）を立てる（ステップＳ３２０）。
【００８８】
このように、全ての合成方式についての判定処理が終わると、処理はメインルーチンに戻される。
【００８９】
したがって、メインルーチンの上記ステップＳ１０７において、合成方式判定部１００７は、フラグの値が１〜６であるか否かに基づいて、入力パターンを構成する文字がいずれかの合成方式に合致したか否かを判断する。
【００９０】
なお、合成方式判定処理において、全ての合成方式の判定が実行されれば、判定順番は特に限定されるものではない。たとえば、任意の順番であってもよいし、判定順序を定義するルールを設定し、順序を変えられるようにしてもよい。ただし、処理の効率化の観点からは、合成方式として採用される可能性が高いものから順に判定されることが好ましい。
【００９１】
以下に、さらに、合成方式ごとの具体的な判定処理の例について説明する。
図５は、合成方式１（垂直組文字）判別処理を示すフローチャートである。
【００９２】
図５を参照して、入力パターンの画像情報が入力されると（ステップＳ４０１）、合成方式判定部１００７は、画像のＸ方向について黒画素数のヒストグラムを計算する（ステップＳ４０２）。
【００９３】
次に、合成方式判定部１００７は、黒画素数のヒストグラムの値が閾値Ｔｈ１より小さい箇所が、入力パターンの横幅の中点付近に１つか否かを判断する（ステップＳ４０３）。そうであった場合（ステップＳ４０３でＹＥＳ）、この入力パターンは、合成方式１だと判定する（ステップＳ４０４）。そうでなければ（ステップＳ４０３でＮＯ）、合成方式１ではないと判定し（ステップＳ４０５）、この処理を終了する。
【００９４】
このように、垂直組文字は、たとえば、入力パターンの垂直方向の分断の可否により判定可能である。
【００９５】
図６は、合成方式２（水平組文字）判別処理を示すフローチャートである。
図６を参照して、入力パターンの画像情報が入力されると（ステップＳ５０１）、合成方式判定部１００７は、画像のＹ方向について黒画素数のヒストグラムを計算する（ステップＳ５０２）。
【００９６】
次に、合成方式判定部１００７は、黒画素数のヒストグラムの値が閾値Ｔｈ２より小さい箇所が、入力パターンの高さの中点付近に１つか否かを判断する（ステップＳ５０３）。そうであった場合（ステップＳ５０３でＹＥＳ）、この入力パターンは合成方式２だと判定する（ステップＳ５０４）。そうでなければ（ステップＳ５０３でＮＯ）、合成方式２ではないと判定し（ステップＳ５０５）、この処理を終了する。
【００９７】
このように、水平組文字は、たとえば、入力パターンの水平方向の分断の可否により判定可能である。
【００９８】
図７は、合成方式３（かぎ型組文字）判別処理を示すフローチャートである。
図７を参照して、入力パターンの画像情報が入力されると（ステップＳ６０１）、合成方式判定部１００７は、画像を４つの領域に分割し、それぞれの領域の画素数をカウントする（ステップＳ６０２）。
【００９９】
図８に画像が４つの領域に分割された様子を示す。図８に示されるように、画像が水平垂直両方向に等しく４つの領域１，２，３，４に分割される。そして、それぞれの領域１，２，３，４の画素数がカウントされる。カウントされた値は、内部メモリに各領域に対応付けられて一時記録される。
【０１００】
図９は、図８に示した４つの領域それぞれの画素数の記録例を示す図である。図９を参照して、領域１，２，３，４の黒画素数は、それぞれ、２８０，２００，２７８，６０であることが示されている。
【０１０１】
次に、合成方式判定部１００７は、４つの領域の画素数が閾値Ｔｈ３より小さい領域が左下に１つあるか否かを判断する（ステップＳ６０３）。そのような領域が左下にあると判断された場合（ステップＳ６０３においてＹＥＳ）、ステップＳ６０５に進む。そのような領域が左下にないと判断された場合（ステップＳ６０３においてＮＯ）、ステップＳ６０４に進む。
【０１０２】
ステップＳ６０４において、合成方式判定部１００７は、４つの領域の画素数が閾値Ｔｈ３より小さい領域が右下に１つあるか否かを判断する。そのような領域が右下にあると判断された場合（ステップＳ６０４においてＹＥＳ）、ステップＳ６０５に進む。そのような領域が右下にないと判断された場合（ステップＳ６０４においてＮＯ）、ステップＳ６０６に進む。
【０１０３】
ステップＳ６０５において、合成方式判定部１００７は、入力された画像は、合成方式３と判定し、この処理を終了する。
【０１０４】
ステップＳ６０６において、合成方式判定部１００７は、入力された画像は、合成方式３でないと判定し、この処理を終了する。
【０１０５】
図８および図９に示した例では、領域４の画素数のみが閾値Ｔｈ３より小さくなり、合成方式３と判定される。
【０１０６】
なお、入力画像が合成方式３であるかを、閾値Ｔｈ３を用いて判定したが、このような判定方法に限定されない。たとえば、各領域の画素数が全体の画素数に占める割合などで、判定してもよい。
【０１０７】
このように、かぎ型組文字は、たとえば、入力パターンの空白部分の位置に基づいて判定可能である。
【０１０８】
図１０は、合成方式４（円枠文字）判別処理を示すフローチャートである。
図１０を参照して、入力パターンの画像情報が入力されると（ステップＳ７０１）、合成方式判定部１００７は、Hough変換あるいは回帰分析を行なう（ステップＳ７０２）。その結果、画像に円枠があるかどうかを判定する（ステップＳ７０３）。
【０１０９】
円枠があると判定された場合（ステップＳ７０３でＹＥＳ）、合成方式判定部１００７は、入力パターンは合成方式４と判定し（ステップＳ７０４）、処理を終了する。
【０１１０】
一方、円枠が存在しないと判断された場合（ステップＳ７０３でＮＯ）、入力パターンは合成方式４ではないと判定し（ステップＳ７０５）、処理を終了する。
【０１１１】
このように、円枠文字は、たとえば、入力パターンからの円枠の抽出の可否により判定可能である。
【０１１２】
図１１は、合成方式５（四角枠文字）判別処理を示すフローチャートである。
図１１を参照して、入力パターンの画像情報が入力されると（ステップＳ８０１）、合成方式判定部１００７は、画像の外接矩形における４つの辺の周辺領域に白画素がある数をカウントする（ステップＳ８０２）。外接矩形における４つの辺の周辺領域は、たとえば、図１２においてハッチングで示されている領域に相当する。
【０１１３】
次に、合成方式判定部１００７は、カウントした白画素数が閾値未満であるか否かを判断する（ステップＳ８０３）。この閾値は、たとえば、入力パターン画像の外接矩形の面積（外接矩形の高さと幅とを乗じた値）の一定割合であってよい。
【０１１４】
白画素数が閾値未満であると判断された場合（ステップＳ８０３においてＹＥＳ）、四角枠があると判別される。つまり、合成方式判定部１００７は、入力パターンは合成方式５と判定し（ステップＳ８０４）、処理を終了する。
【０１１５】
一方、白画素数が閾値以上であると判断された場合（ステップＳ８０３においてＮＯ）、四角枠がないと判別される。つまり、合成方式判定部１００７は、入力パターンは合成方式５ではないと判定し（ステップＳ８０５）、処理を終了する。
【０１１６】
このように、四角枠文字などの多角形枠文字は、たとえば、入力パターンからの多角形枠の抽出の可否により判定可能である。
【０１１７】
図１３は、合成方式６（分数文字）判別処理を示すフローチャートである。
図１３を参照して、入力パターンの画像情報が入力されると（ステップＳ９０１）、合成方式判定部１００７は、連結画素のラベリング処理を実行する（ステップＳ９０２）。
【０１１８】
次に、ラベリングの結果の基づき、画像の矩形の右上から左下に直線があるかどうかを判断する（ステップＳ９０３）。そのような直線があると判定された場合（ステップＳ９０３においてＹＥＳ）、入力パターンは合成方式６と判定し（ステップＳ９０４）、処理を終了する。
【０１１９】
一方、そのような直線がないと判定された場合（ステップＳ９０３においてＮＯ）、入力パターンは合成方式６ではないと判定し（ステップＳ９０５）、処理を終了する。
【０１２０】
上述の処理により、図１４に示されるような画像（１／４）は、分数と判定される。
このように、分数文字は、たとえば、入力パターンからの斜線の抽出の可否により判定可能である。
【０１２１】
なお、分数文字は、斜線を含む分数の合成文字として説明したが、水平線を含む分数文字（水平線の上下に数字が記載される形式の分数文字）であってもよい。このような分数文字は、たとえば、入力パターン（矩形）の中心に横方向の直線が抽出されたか否かで判定可能である。
【０１２２】
（辞書合成処理）
次に、図３のステップＳ１０８に示された辞書合成処理について説明する。
【０１２３】
図１５は、辞書合成処理を示すフローチャートである。
図１５を参照して、合成方式判定部１００７により判定された合成方式が入力されると（ステップＳ１００１）、辞書合成部１００８は、判定された合成方式に対応する文字セットを文字セット対応テーブル１０３１から読み出す（ステップＳ１００２）。
【０１２４】
その後、読み出された文字セットに含まれる文字の辞書パターンを、オリジナル辞書領域１０２１から読み出す（ステップＳ１００３）。また、合成方式に対応するパターン合成方法を、合成方法対応テーブル１０３２から読み出す（ステップＳ１００４）。
【０１２５】
次に、辞書合成部１００８は、読み出されたパターン合成方法に基づいて、文字セットの辞書パターンを合成する（ステップＳ１００５）。辞書合成部１００８は、合成された辞書パターンを、合成辞書として、辞書データ蓄積メモリ１０２０の合成辞書領域１０２２に格納する（ステップＳ１００６）。
【０１２６】
（データ構造例）
図１６は、文字セット対応テーブル１０３１の記憶内容の一例を示す図である。
【０１２７】
図１６を参照して、文字セット対応テーブル１０３１は、２つの項目、すなわち、合成方式の項目１０３１Ａと、合成対象となる文字セットの項目１０３１Ｂとを有しており、これらの項目が互いに対応付けられて記憶されている。たとえば合成方式１（垂直組文字）には、（平，成）、（昭，和）などの文字セットが対応付けられている。また、合成方式４（円枠文字）には、（○，問）、（○，月）などの文字セットが対応付けられて記憶されている。
【０１２８】
なお、文字セットの項目１０３１Ｂには、任意の文字種類のセットが格納されてもよい。たとえば、（カタカナ任意、カタカナ任意）、（数字任意、数字任意）、（アルファベット任意、アルファベット任意）などが格納されてよい。このように、すべてのカタカナの組み合わせ、すべての数字組み合わせ、すべてのアルファベットの組み合わせといった任意の文字種類のセットを記憶させておくことで、任意の文字種類の辞書パターンの作成を指定することも可能である。
【０１２９】
また、それぞれの合成方式１〜６に対応する文字セットは、認識対象とする文書の種類に応じて予め定めてもよい。たとえば、歴史書でない場合には、「平成」と「昭和」だけに絞ってもよいし、歴史書である場合には、さらに「神武」や「慶長」を含めてもよい。
【０１３０】
このような文字セットは、ユーザが予め定めたものであってもよい。
また、文字セットは、ＪＩＳコードのような体系的に定義されている文字コードだけでなく、図１７のように、「細長い○（楕円枠）」と「出」，「席」の２文字とを含む文字セットや、「爆発模様の枠」と「Ｏ」，「Ｋ」の２文字とを含む文字セットなどを記憶してもよい。あるいは、１つの文字領域を４つに分割してそれぞぞれの領域に４つの文字が含まれるような文字セット（たとえば「メートル」）を記憶してもよい。
【０１３１】
ただし、合成文字の要素となり得るＪＩＳコードにない細長い○や、爆発模様などは、外字コードと共に、オリジナル辞書領域１０２１に辞書パターンとして登録されている必要がある。なお、図１６には、上記したような楕円枠により文字が囲まれる方式を合成方式７、爆発模様枠により文字が囲まれる方式を合成方式８として、それぞれの合成方法についての文字セットも示されている。
【０１３２】
なお、合成方式７は、たとえば、合成方式４と同様に、Hough変換や回帰分析により楕円枠を抽出することで判定可能である。
【０１３３】
合成方式８は、たとえば、黒画素の連結を追跡することにより（分岐が無く、もとの所に戻る）、あるいは、線分の角度を測ることにより（鋭角と鈍角とを複数個有する）、爆発模様枠を抽出することで判定可能である。
【０１３４】
また、４つの文字が集約された合成文字は、次のようにして判定可能である。たとえば、入力パターンの画像が入力されると、画像のＸ方向について黒画素数のヒストグラムを取る処理と、画像のＹ方向について黒画素数のヒストグラムを取る処理とを行なう。そして、両方の処理について、黒画素数のヒストグラムの値が閾値Ｔｈ１より小さい箇所が、入力パターンの横幅あるいは縦幅の中点付近に１つか否かを判断することで判定される。
【０１３５】
図１８は、合成方法対応テーブル１０３２の記憶内容の一例を示す図である。
合成方法対応テーブル１０３２は、２つの項目、すなわち、合成方式を記憶する項目１０３２Ａと、合成方法を記憶する項目１０３２Ｂとを有しており、これらの項目が互いに対応付けられて記憶されている。以下、合成方式ごとの合成方法について簡単に説明する。
【０１３６】
合成方式１に対応する合成方法の項目１０３２Ｂには、２つの矩形が垂直に（上下に）並べられている。これにより、合成方式１の合成方法は、２つの文字を横に２行で（つまり、上下に）合成させる方法であることが示される。
【０１３７】
合成方式２に対応する合成方法の項目１０３２Ｂには、２つの矩形が水平に（左右に）並べられている。これにより、合成方式２の合成方法は、２つの文字を縦に２列で（つまり、左右に）合成させる方法であることが示される。
【０１３８】
合成方式３に対応する合成方法の項目１０３２Ｂには、３つの矩形がかぎ状に並べられている。つまり、４つの領域のうちの１つ（右下または左下）に空白部分がつくられている。これにより、合成方式３の合成方法は、３つの文字をかぎ状に合成させる方法であることが示される。
【０１３９】
合成方式４に対応する合成方法の項目１０３２Ｂには、１つの矩形と、その矩形を囲むように丸枠が配置されている。これにより、合成方式４の合成方法は、１つの文字と丸枠とを合成させる方法であることが示される。
【０１４０】
合成方式５に対応する合成方法の項目１０３２Ｂには、１つの矩形と、その矩形を囲むように四角枠が配置されている。これにより、合成方式５の合成方法は、１つの文字と四角枠とを合成させる方法であることが示される。
【０１４１】
合成方式６に対応する合成方法の項目１０３２Ｂには、２つの矩形が、斜線（／）を境にして分数形式になるよう配置されている。これにより、合成方式６の合成方法は、２つの文字と斜線とを合成させる方法であることが示される。
【０１４２】
なお、図１８には、上記したような楕円枠により文字が囲まれる方式を合成方式７、爆発模様枠により文字が囲まれる方式を合成方式８として、それぞれの合成方法についても示されている。
【０１４３】
合成方式７に対応する合成方法の項目１０３２Ｂには、楕円枠の中に２つの矩形が左右に並べられて（つまり、外側が○（楕円枠）で、その中を２分割した形式で）配置されている。これにより、合成方式７の合成方法は、２つの文字と楕円枠とを合成させる方法であることが示される。
【０１４４】
合成方式８に対応する合成方法の項目１０３２Ｂには、爆発模様枠の中に２つの矩形が左右に並べられて（つまり、外側が爆発模様枠で、その中を２分割した形式で）配置されている。これにより、合成方式８の合成方法は、２つの文字と爆発模様枠とを合成させる方法であることが示される。
【０１４５】
なお、ここでは、各合成方式に対応して１組の合成方法のみが記憶されることとしたが、２組以上の合成方法が記憶されてもよい。
【０１４６】
図１９は、出力バッファに蓄積されるマッチング結果情報のデータフォーマットの一例を示す図である。
【０１４７】
図１９を参照して、マッチング結果情報は、マッチング結果１１と、合成フラグ１２と、類似度１３とを含む。マッチング結果１１には、最終的に類似度が最も高いと判定された（複数の）文字、すなわち、類似辞書パターン、または、特定パターンに基づく文字が格納される。合成フラグ１２は、合成文字として判定されたか否かを示すためのフラグであり、合成文字として判定された場合に「１」が格納され、合成文字ではないと判定された場合に「０」が格納される。類似度１３は、マッチング結果１１に格納された文字の入力パターンとの類似度が格納される。
【０１４８】
＜具体例について＞
次に、図２０〜２２を参照して、本実施の形態における文字認識処理の具体例を説明する。
【０１４９】
図２０は、入力パターンが合成方式４（円枠文字）と判定された場合のマッチング処理例を示す図である。
【０１５０】
図２０には、入力パターン２１が円枠で囲まれた「問」である場合のマッチング処理例が示されている。したがって、入力パターン２１は、合成方式判定部１００７により合成方式４と判定されていることを前提とする。
【０１５１】
この場合、辞書合成部１００８により、文字セット対応テーブル１０３１のうち合成方式４に対応付けられた文字セットが読み出され（ステップＳ１００２）、読み出された文字セットに含まれる文字（○、問、月、交、地、英数字任意、漢数字）の辞書パターン（オリジナル辞書パターン）２２が、オリジナル辞書領域１０２１から読み出される（ステップＳ１００３）。また、合成方式４に対応するパターン合成方法が、合成方法対応テーブル１０３２から読み出される（ステップＳ１００４）。
【０１５２】
合成方式４のパターン合成方法は、（１つの）文字と円枠とを合成させる方法である。したがって、オリジナル辞書パターン２２のうちの「○」と他の文字とを合成させて複数の合成辞書パターン２３が生成され、合成辞書領域１０２２に格納される（ステップＳ１００５，Ｓ１００６）。
【０１５３】
その状態で、第２マッチング部１００９は、入力パターン２１と合成辞書パターン２３とのマッチングを行なう（ステップＳ１０９）。
【０１５４】
入力パターン２１の第１のマッチング結果情報の一例を、図２１（ａ）に示す。図２１（ａ）を参照して、合成前のマッチング結果の１位、すなわち類似辞書パターンは、“○で囲まれた「８」”であり、その類似度はたとえば３００００である。なお、この例における上記「閾値Ｔｈ０」（ステップＳ１０５）は、たとえば４００００〜４５０００程度であるものと仮定する。
【０１５５】
入力パターン２１の第２のマッチング結果情報の一例を、図２１（ｂ）に示す。図２１（ｂ）を参照して、合成後のマッチング結果の１位、すなわち特定パターンは、“○で囲まれた「問」”であり、その類似度はたとえば５２０００である。
【０１５６】
比較部１０１０により、類似辞書パターンである“○で囲まれた「８」”の類似度と、特定パターンである“○で囲まれた「問」”の類似度とが比較される。
【０１５７】
後者の方が前者よりも所定値以上高くないと判定された場合、つまり、入力パターン２１が合成文字ではないと判定された場合、第１のマッチング結果情報が、最終的に出力バッファに記憶される。第１のマッチング結果情報の内容例を図２２（ａ）に示す。
【０１５８】
図２２（ａ）に示されるように、マッチング結果１１には、“○で囲まれた「８」”で示される類似辞書パターンが格納される。合成フラグ１２には、合成文字ではないことを示す「０」が格納される。類似度１３には、入力パターンとの類似度「３００００」が格納される。
【０１５９】
これに対し、後者の方が前者よりも所定値以上高いと判定された場合、つまり、入力パターン２１が合成文字であると判定された場合、第２のマッチング結果情報が、最終的に出力バッファに記憶される。第２のマッチング結果情報の内容例を図２２（ｂ）に示す。
【０１６０】
図２２（ｂ）に示されるように、マッチング結果１１には、特定パターンを構成する２つの文字、すなわち、“○”で示される辞書パターンと、“問”で示される辞書パターンとがそれぞれ格納される。このように、特定パターンを構成する文字セットが別々に格納されるのは、このような合成文字がオリジナル辞書領域１０２１に存在しないため、合成文字として出力することができないことに基づく。合成フラグ１２には、文字ごとに、合成文字であることを示す「１」が格納される。類似度１３には、文字ごとに、入力パターンとの類似度「５２０００」が格納される。
【０１６１】
なお、当該具体例においては、上記「所定値」（ステップＳ１１０）はたとえば５０００程度であって、入力パターン２１は合成文字と判定されるものとする。したがって、図２２（ｂ）に示した第２のマッチング結果情報が出力バッファに記憶されるものとする（ステップＳ１１１）。
【０１６２】
また、出力制御部１０１１は、合成フラグ１２が「１」のデータが連続して存在していれば、マッチング結果１１に格納された文字（辞書パターン）に応じた出力を行なう。図２２（ｂ）のようなマッチング結果情報の場合、合成フラグ１２が「１」である文字「○」と「問」とが連続してマッチング結果情報に存在する。このような場合、出力制御部１０１１は、たとえば、「問」のみを出力する。これは、出力部１００２のコード体系に“○で囲まれた「問」”が存在しないためである。
【０１６３】
したがって、たとえば、合成フラグ１２が「１」である文字「平」と「成」とが連続してマッチング結果情報に存在する場合には、出力部１００２のコード体系に、全角１文字領域に「平成」が集約された文字パターンが存在すれば、入力パターンどおりの合成文字（全角１文字領域に「平成」）を出力する。なお、出力制御部１０１１が行なう処理については、本実施の形態では限定されない。
【０１６４】
［実施の形態２］
上記実施の形態１では、文字認識装置は、判定された合成方式に応じた合成辞書パターンを生成し、入力パターンと合成辞書パターンとのマッチングを行なうことで、入力パターンを構成する文字を認識するものであった。しかしながら、オリジナル辞書領域に格納されていない合成文字についての文字認識方法はこのような形態に限定されるものではない。
【０１６５】
実施の形態２では、判定された合成方式に応じて入力パターンを分割し、分割後の入力パターン（以下「分割入力パターン」という）と、オリジナル辞書パターンとのマッチングを行なうことで、入力パターンを構成する文字を認識する。
【０１６６】
以下に、実施の形態１との相違点について説明する。
＜構成について＞
本発明の実施の形態２に係る文字認識装置２０００のハードウェア構成については実施の形態１と同様である。
【０１６７】
図２３は、本発明の実施の形態２に係る文字認識装置２０００の機能ブロック図である。
【０１６８】
図２に示した文字認識装置１０００と比較すると、文字認識装置２０００の制御部２００３は、辞書合成部１００８に代えて、入力パターン分割部２００８を含む。また、実施の形態１における第２マッチング１００９および比較部１０１０は、それぞれ、第２マッチング部２００９および比較部２０１０に代わる。また、辞書データ蓄積メモリ１０２０＃に、合成辞書領域１０２２は含まれない。
【０１６９】
入力パターン分割部２００８は、合成方法対応テーブル１０３２を参照して、入力パターンを判定された合成方式に応じて分割する。分割入力パターンは、第２マッチング部２００９に出力される。
【０１７０】
第２マッチング部２００９は、文字セット対応テーブル１０３１に、判定された合成方式と対応付けられた文字セットに含まれる複数の辞書パターンを読み出し、分割入力パターンごとに、読み出した複数の辞書パターンとの類似度を算出する。そして、分割入力パターンごとの特定パターン（類似度が最も高い辞書パターン）を第２のマッチング結果情報として抽出する。さらに、第２マッチング部２００９は、特定パターンの類似度の統計値、たとえば平均値を算出する。抽出された第２のマッチング結果情報および類似度の平均値は、比較部２０１０に出力される。
【０１７１】
比較部２０１０は、上述の類似辞書パターンの類似度と、特定パターンの類似度の平均値とを比較する。比較の方法およびその後処理については、実施の形態１と同様である。
【０１７２】
＜動作について＞
図２４は、本発明の実施の形態２に係る文字認識装置２０００が実行する文字認識処理を示すフローチャートである。図２４のフローチャートに示す処理は、予めプログラムとしてハードディスク部２１２に格納されており、制御部１００３がこのプログラムを読み出して実行することにより、文字認識処理の機能が実現される。なお、図３に示したフローチャートと同じ処理については、同じステップ番号を付してある。したがって、これらの処理についての説明は繰返さない。
【０１７３】
実施の形態２では、実施の形態１のステップＳ１０８〜Ｓ１１２に代えて、ステップＳ２０８〜Ｓ２１２の処理が実行される。
【０１７４】
図２４を参照して、ステップＳ１０１〜Ｓ１０７の処理が終わると、入力パターン分割部２００８は、入力パターン分割処理を実行する（ステップＳ２０８）。入力パターン分割処理については、図２５を参照して説明する。
【０１７５】
図２５は、入力パターン分割処理を示すフローチャートである。
はじめに、合成方式判定部１００７により判定された合成方式が入力されると（ステップＳ１００１）、入力パターン分割部２００８は、判定された合成方式に対応する合成方法を、合成方法対応テーブル１０３２から読み出す（ステップＳ１１０２）。
【０１７６】
その後、読み出された合成方法に基づいて、入力パターン分割部２００８は、入力パターンを分割する（ステップＳ１１０３）。入力パターンが分割されると、処理はメインに戻される。分割後の各領域（文字に対応）は、分割入力パターンとして、第２マッチング部２００９に出力される。
【０１７７】
再び図２４を参照して、第２マッチング部２００９は、それぞれの分割入力パターンと辞書パターンとのマッチングを行なう（ステップＳ２０９）。マッチングの結果、分割入力パターンごとの類似度はたとえばメモリ部２１４に一時的に記録される。また、第２マッチング部２００９は、類似度の平均値を算出し、その値もメモリ部２１４に一時的に記録する。
【０１７８】
辞書パターンとのマッチングは、文字セット対応テーブル１０３１に定義されている、合成方式ごとの合成対象文字に対応する辞書パターンとのみマッチングを行なうものとする。なお、オリジナル辞書領域１０２１に含まれる全ての辞書パターンとマッチングを行ってもよい。その場合、文字セット対応テーブル１０３１は、合成方式情報メモリ１０３０に含まれなくてよい。
【０１７９】
比較部２０１０は、類似度の平均値と類似辞書パターンの類似度とを比較する（ステップＳ２１０）。つまり、分割入力パターンの類似度の平均値が、類辞書パターンの類似度よりも所定値以上高いか否かを判断する。
【０１８０】
平均値が所定値以上高いと判断された場合（ステップＳ２１０においてＹＥＳ）、分割入力パターンそれぞれのマッチング結果（第２のマッチング結果情報）を出力バッファにセットする（ステップＳ２１１）。一方、平均値が所定値未満であると判断された場合には（ステップＳ２１０においてＮＯ）、第１のマッチング結果情報が出力バッファにセットされる（ステップＳ２１２）。
【０１８１】
ステップＳ２１１またはステップＳ２１２の処理が終わると、実施の形態１と同様の処理（ステップＳ１１４〜Ｓ１１６）が実行される。
【０１８２】
本実施の形態によると、入力パターンが、判定された合成方式に基づいて分割されるため、予め、あらゆる合成文字の辞書パターンをオリジナル辞書領域１０２１に記憶する必要がない。
【０１８３】
また、既存の辞書パターンの類似度と分割入力パターンの類似度の平均値とを比較し、後者の方が高い場合にのみ、分割入力パターンのマッチング結果を出力する。これにより、分割入力パターンの類似度の平均値が辞書パターンの類似度よりも低いにもかかわらず、分割入力パターンのマッチング結果が出力されてしまうことを防止することができる。
【０１８４】
なお、本実施の形態では、分割入力パターンの類似度の平均値（統計値）と既存の辞書パターンの類似度とを比較することとした。しかしながら、たとえば、２以上の分割入力パターンの類似度それぞれと、既存の辞書パターンの類似度とを比較し、２以上の分割入力パターンの類似度のうち１つでも、既存の辞書パターンの類似度よりも低い場合には、既存の辞書パターン（類似辞書パターン）に関するマッチング結果を出力することとしてもよい。
【０１８５】
＜具体例について＞
図２６は、入力パターンが合成方式４と判定された場合の分割パターンの一例を示す図である。
【０１８６】
図２６には、入力パターン４１が円枠で囲まれた「問」である場合のマッチング処理例が示されている。したがって、入力パターン４１は、合成方式判定部１００７により合成方式４と判定されていることを前提とする。
【０１８７】
この場合、入力パターン分割部２００８により、合成方法対応テーブル１０３２に基づいて、入力パターン４１は２つの分割パターン４２ａ，４２ｂに分割される（ステップＳ１１０３）。つまり、分割パターン４２ａおよび４２ｂは、それぞれ、合成方法対応テーブル１０３２の定義に従い切り出された、円枠領域、および、その円枠領域に囲まれた領域に対応している。この場合、分割パターン４２ａの文字は「○」であり、分割パターン４２ｂの文字は「問」である。
【０１８８】
各分割パターン４２ａ，４２ｂは、オリジナル辞書領域１０２１に含まれる文字パターンとマッチングされ、それぞれの類似度の平均値が計算される（ステップＳ２０９）。
【０１８９】
入力パターン４１の第１マッチング部１００６によるマッチング結果の一例を、図２７（ａ）に示す。図２７（ａ）を参照して、分割前のマッチング結果の１位は、“○で囲まれた「８」”であり、その類似度はたとえば３００００である。
【０１９０】
入力パターン４１の第２マッチング部２００９によるマッチング結果の一例を、図２７（ｂ）に示す。図２７（ｂ）を参照して、分割パターン４２ａ（分割パターン１）のマッチング結果は、“○”であり、その類似度はたとえば５２０００である。また、分割パターン４２ｂ（分割パターン２）のマッチング結果は、“問”であり、その類似度はたとえば４８０００である。この場合の分割パターン１と分割パターン２との類似度の平均値は、５００００となる。
【０１９１】
比較部２０１０により、オリジナル辞書領域１０２１とのマッチング結果１位の文字である“○で囲まれた「８」”の類似度と、分割パターン４２ａ，４２ｂの類似度の平均値とが比較される。
【０１９２】
後者の方が前者よりも所定値以上高くないと判定された場合、つまり、入力パターン２１が合成文字ではないと判定された場合、オリジナル辞書領域１０２１とのマッチング結果１位の文字である“○で囲まれた「８」”についてのマッチング結果情報が出力バッファに記憶される。その場合のマッチング結果情報の一例を図２８（ａ）に示す。図２８（ａ）に示されるように、マッチング結果１１には、“○で囲まれた「８」”のオリジナル辞書パターンが格納される。合成フラグ１２には、「０」が格納される。類似度１３には、「３００００」が格納される。
【０１９３】
これに対し、後者の方が前者よりも所定値以上高いと判定された場合、つまり、入力パターン２１が合成文字であると判定された場合、２つの分割パターン“○”および“問”についてのマッチング結果情報が出力バッファに記憶される。その場合のマッチング結果情報の一例を図２８（ｂ）に示す。図２８（ｂ）に示されるように、マッチング結果１１には、“○”と“問”とが格納される。マッチング結果１１の文字パターンが“○”の行の合成フラグ１２および類似度１３には、それぞれ、「１」および「５２０００」が格納される。また、マッチング結果１１の文字パターンが“問”の行の合成フラグ１２および類似度１３には、それぞれ、「１」および「４８０００」が格納される。
【０１９４】
なお、当該具体例においても、上記「所定値」はたとえば５０００程度であることが好ましく、入力パターン２１は合成文字と判定されるものとする。したがって、図２８（ｂ）に示したマッチング結果情報が出力バッファに記憶されるものとする（ステップＳ２１１）。
【０１９５】
本発明の文字認識装置が行なう、文字認識方法を、プログラムとして提供することもできる。このようなプログラムは、ＣＤ−ＲＯＭなどの光学媒体や、メモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１９６】
なお、本発明にかかるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１９７】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０１９８】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【０１９９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２００】
【図１】本発明の各実施の形態に係る文字認識装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施の形態１に係る文字認識装置の機能ブロック図である。
【図３】本発明の実施の形態１に係る文字認識装置が実行する文字認識処理を示すフローチャートである。
【図４】合成方式判定処理を示すフローチャートである。
【図５】合成方式１（垂直組文字）判別処理を示すフローチャートである。
【図６】合成方式２（水平組文字）判別処理を示すフローチャートである。
【図７】合成方式３（かぎ型組文字）判別処理を示すフローチャートである。
【図８】合成方式３判別処理において画像が４つの領域に分割された様子を示す図である。
【図９】図８に示した４つの領域それぞれの画素数の記録例を示す図である。
【図１０】合成方式４（円枠文字）判別処理を示すフローチャートである。
【図１１】合成方式５（四角枠文字）判別処理を示すフローチャートである。
【図１２】外接矩形における４つの辺の周辺領域を示す図である。
【図１３】合成方式６（分数文字）判別処理を示すフローチャートである。
【図１４】合成方式６判別処理において判別される分数の一例を示す図である。
【図１５】辞書合成処理を示すフローチャートである。
【図１６】文字セット対応テーブルの記憶内容の一例を示す図である。
【図１７】合成方式１〜６以外の合成方式による合成文字の例を示す図である。
【図１８】合成方法対応テーブルの記憶内容の一例を示す図である。
【図１９】出力バッファに蓄積されるマッチング結果情報のデータフォーマットの一例を示す図である。
【図２０】本発明の実施の形態１において、入力パターンが合成方式４と判定された場合のマッチング処理例を示す図である。
【図２１】図２０に示す例におけるマッチング結果を示す図であり、（ａ）は、入力パターンの第１のマッチング結果情報の一例を示す図であり、（ｂ）は、入力パターンの第２のマッチング結果情報の一例を示す図である。
【図２２】図２０に示す例において、出力バッファに記憶されるマッチング結果情報を示す図であり、（ａ）は、第１のマッチング結果情報の内容例を示す図であり、（ｂ）は、第２のマッチング結果情報の内容例を示す図である。
【図２３】本発明の実施の形態２に係る文字認識装置の機能ブロック図である。
【図２４】本発明の実施の形態２に係る文字認識装置が実行する文字認識処理を示すフローチャートである。
【図２５】入力パターン分割処理を示すフローチャートである。
【図２６】入力パターンが合成方式４と判定された場合の分割パターンの一例を示す図である。
【図２７】図２６に示す例におけるマッチング結果を示す図であり、（ａ）は、入力パターンの第１のマッチング結果情報の一例を示す図であり、（ｂ）は、入力パターンの第２のマッチング結果情報の一例を示す図である。
【図２８】図２６に示す例において、出力バッファに記憶されるマッチング結果情報を示す図であり、（ａ）は、第１のマッチング結果情報の内容例を示す図であり、（ｂ）は、第２のマッチング結果情報の内容例を示す図である。
【符号の説明】
【０２０１】
１１  マッチング結果、１２  合成フラグ、１３  類似度、２１  入力パターン、２２  オリジナル辞書パターン、２３  合成辞書パターン、４１  入力パターン、４２ａ，４２ｂ  分割パターン、２１１  入力部、２１２  ハードディスク部、２１３  ディスプレイ部、２１４  メモリ部、２１５  ＣＤ−ＲＯＭドライブ、２１５ａ  ＣＤ−ＲＯＭ、２１６  画像読取部、２１７  通信インターフェイス部、２１８  内部バス、１０００，２０００  文字認識装置、１００１  画像入力部、１００２  出力部、１００３，２００３  制御部、１００４  切り出し部、１００５  特徴抽出部、１００６  第１マッチング部、１００７  合成方式判定部、１００８  辞書合成部、１００９，２００９  第２マッチング部、１０１０，２０１０  比較部、１０１１  出力制御部、１０２０  辞書データ蓄積メモリ、１０２１  オリジナル辞書領域、１０２２  合成辞書領域、１０３０  合成方式情報メモリ、１０３１  文字セット対応テーブル、１０３２  合成方法対応テーブル、２００８  入力パターン分割部。
【図１】
0004998953.tif 000002
【図２】
0004998953.tif 000003
【図３】
0004998953.tif 000004
【図４】
0004998953.tif 000005
【図５】
0004998953.tif 000006
【図６】
0004998953.tif 000007
【図７】
0004998953.tif 000008
【図８】
0004998953.tif 000009
【図９】
0004998953.tif 000010
【図１０】
0004998953.tif 000011
【図１１】
0004998953.tif 000012
【図１２】
0004998953.tif 000013
【図１３】
0004998953.tif 000014
【図１４】
0004998953.tif 000015
【図１５】
0004998953.tif 000016
【図１６】
0004998953.tif 000017
【図１７】
0004998953.tif 000018
【図１８】
0004998953.tif 000019
【図１９】
0004998953.tif 000020
【図２０】
0004998953.tif 000021
【図２１】
0004998953.tif 000022
【図２２】
0004998953.tif 000023
【図２３】
0004998953.tif 000024
【図２４】
0004998953.tif 000025
【図２５】
0004998953.tif 000026
【図２６】
0004998953.tif 000027
【図２７】
0004998953.tif 000028
【図２８】
0004998953.tif 000029