JP4320868B2 - Character reader - Google Patents

Character reader Download PDF

Info

Publication number
JP4320868B2
JP4320868B2 JP28083999A JP28083999A JP4320868B2 JP 4320868 B2 JP4320868 B2 JP 4320868B2 JP 28083999 A JP28083999 A JP 28083999A JP 28083999 A JP28083999 A JP 28083999A JP 4320868 B2 JP4320868 B2 JP 4320868B2
Authority
JP
Japan
Prior art keywords
character
line
characters
overlap
edited
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
Application number
JP28083999A
Other languages
Japanese (ja)
Other versions
JP2001101343A (en
Inventor
和弘 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP28083999A priority Critical patent/JP4320868B2/en
Publication of JP2001101343A publication Critical patent/JP2001101343A/en
Application granted granted Critical
Publication of JP4320868B2 publication Critical patent/JP4320868B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、文字読取装置に関する。特に、文字切り出しアルゴリズムが異なる複数の文字切り出し部、およびまたは、文字認識アルゴリズムが異なる複数の文字認識部を具えた文字読取装置によって得られる文字の認識結果から複合的に判断して文字の最終的な認識結果を出力する文字読取装置に関するものである。
【0002】
【従来の技術】
従来の文字読取装置として、例えば特開平8−263591号公報に開示された装置がある。
【0003】
この文字読取装置では、先ず、図23に示したように、文書画像中の文字画像毎で始点Pを見つけ、そして、この始点Pから文字の輪郭を辿ることにより、文字を切り出す。なお、図23においてLは、1行分の領域を示す(図24において同じ。)。
【0004】
この文字読取装置によれば、アルゴリズムの異なる文字認識手法(以下、第1および第2の文字認識手法という。)が用いられる。すなわち、切り出された文字には2つの文字認識手法が適用される。この文字読取装置は、このとき得られる2つの文字認識結果を複合的に判断して最終的な認識結果を出力できる。
【0005】
【発明が解決しようとする課題】
しかしながら、上記の文字読取装置を用いるときには、図24(A)に示すように、文字がかすれているため文字が分離されてしまった場合、図24(B)に示すように、文書画像に本来の文字以外にノイズ(ゴミ)が含まれてしまった場合、または、図24(C)に示すように、隣り合う文字と文字とが接触すると見なされた場合、若しくは、図24(D)に示すように、例えば漢字の「小」や平仮名の「い」のようにそもそも文字を構成する部品が分離している文字の場合等において、文字切り出しが正確に行えないことがあった。そのため、誤認識が生じ易いという問題点があった。以下、詳細に説明する。
【0006】
先ず、図24(A)は、文字列「for」中の文字「r」の一部がかすれているため、文字「r」が2文字に分離した文字画像の例を示す図である。この場合、3文字が切り出されて文字認識されるのが理想であるが、上述の従来技術では誤って4文字が切り出される。誤って切り出された文字に第1および第2の文字認識手法を適用して候補文字をそれぞれ得て、これら候補文字から認識結果を決定しても、誤った認識結果しか得られない。
【0007】
また、図24(B)は「for」という文字列の他にノイズ(ごみ)「・」が含まれた文書画像の例を示す。この場合、ノイズを除去(無視)して3文字として切り出されて文字認識されるのが理想であるが、上述の従来技術では、ノイズ「・」を含む4文字として切り出されてしまう。そのため、ノイズ「・」も認識結果として得られてしまう。
【0008】
また、図24(C)は、「for」という文字列中の文字「o」と文字「r」とが接触すると見なされた文書画像の例を示す。この場合、文字「o」と文字「r」とを分離して3文字として切り出されるのが理想であるが、上述の従来技術では、2文字として切り出されてしまう。誤って切り出された文字に互いに異なる第1および第2の文字認識手法を適用して候補文字をそれぞれ得て、これら候補文字から認識結果を決定しても、誤った認識結果しか得られない。
【0009】
また、図24(D)は、文字「小」や文字「い」のように文字を構成する部品が分離している文字を含む文字列「小さい」の文書画像の例を示す。この場合、「小」、「さ」、「い」の3文字として切り出されて認識されるのが理想であるが、上述の従来技術では、「ノ」、「|」、・・の6文字として誤って切り出されてしまう。誤って切り出された文字に第1および第2の文字認識手法を適用して候補文字をそれぞれ得て、これら候補文字から認識結果を決定しても、誤った認識結果しか得られない。
【0010】
以上のように、従来の文字読取装置は、アルゴリズムが異なる複数の文字認識手法それぞれにより文字を認識したのち、これら各手法による認識結果について複合的に判定して最終的な認識結果を決定する。一般的に言うと、各種の文字認識手法は、それぞれ長所と短所を持つ。そのため、1つの文字認識手法では、正読率を向上させるにも、誤読率を低減させるにも(以下、これらを「文字認識率を高める」と略記する。)限界がある。しかしながら、このように複数の文字認識手法を併用することで、互いの短所を補完して文字認識率を高めることができる。
【0011】
また、同様なことが文字切り出し手法について当てはまる。すなわち、文字切り出し手法としては様々な手法があるが、それぞれ長所と短所がある。1つの文字切り出し手法では、文字認識率を高めるにも限界がある。そこで、アルゴリズムが異なる複数の文字切り出し手法それぞれで文字を切り出し、これら切り出した文字を認識して認識結果を得て、これら認識結果から複合的に判断して最終的な認識結果を決める手法も考えられる。このようにアルゴリズムが異なる複数の文字切り出し手法を併用する考えを導入した場合、例えば、図24を用いて説明した上記の問題点も軽減できると考えられる。
【0012】
従って、アルゴリズムが異なる複数の文字切出し手法を併用し複合的に文字を認識する文字読取装置や、アルゴリズムの異なる複数の文字認識手法を併用して複合的に文字を認識する文字読取装置において、文字認識率をより高める技術が望まれる。
【0013】
【課題を解決するための手段】
そこで、この発明の文字読取装置は、N個の文字切出し部と、文字認識部と、複合判定部とを具える。これらN個の文字切出し部は、文字切り出しアルゴリズムを異ならせてある。この文字認識部は、N個の文字切出し部が文字読取対象の画像データから切り出す文字を、それぞれ認識し認識結果を出力する。そして、複合判定部は、N個の文字切出し部がそれぞれ切り出した文字中に、互いに文字位置が対応する文字が在るか否かを判定し、対応すると判定された文字については、対応する文字それぞれの文字認識部での各認識結果から複合的に判定して最終的な認識結果を決める。なお、この構成は、この出願に係る発明者等の先願である特願平10−202506号(未公開)として出願されている。
【0014】
一方、この出願に係る発明は、以上のような構成(以下第1の構成と称する。)を有する文字読取装置であって、特に前述の複合判定部を次のように構成したものである。
【0015】
すなわち、この複合判定部は、文字位置の対応判定前に、同一の文字切出し部でそれぞれ切り出された文字および他の文字が重なり合っているか否かを判定し、重なり合う場合には当該文字および当該他の文字のそれぞれの文字位置の編集を行う。
【0016】
以上の構成を有するこの発明の文字読取装置によれば、2以上の文字切出し部が切り出した文字のうちの、文字位置が対応する文字についてのみ、複合的な認識を行う。なお、互いに文字位置が対応している文字とは、2以上の文字切り出し部が同じように切り出した文字であるといえるので、正規な文字である蓋然性が高い。従って、正規な文字である蓋然性が高い文字に対して、複合的な認識を行えるので、文字認識率を高めることができる。
【0017】
しかも、この発明の複合判定部は、文字位置の対応判定前に、同一の文字切出し部で切り出された文字間の重なりがあるかどうかについて判定し、重なっている場合には、それぞれの文字位置を編集する。よって、次のような作用効果が得られる。
【0018】
すなわち、詳細は後述するが、第1の構成によれば、文字読取対象の画像データにおいて文字間に重なりがある場合には、切り出された文字も重なり合うことが多い。そのため、文字位置の対応判定を行うときに文字位置の対応関係を正確に判定できないことがあった。その結果、文字間に重なりがある媒体については文字認識率が低下してしまう。
【0019】
このような文字間の重なりは、媒体(帳票)が手書きである場合、文字枠内に個々の文字が収まっていない場合、イタリック文字等の斜体文字で記された場合などに顕著となる。
【0020】
しかしながら、上述のように、切り出された文字のうち互いに重なり合う文字について文字位置を編集しておくと、文字位置の対応判定を精度良く行える。そのため、上述のような文字間の重なりが顕著な媒体に対しても、文字認識率を高めることができる。
【0021】
【発明の実施の形態】
以下、図面を参照してこの発明の文字読取装置の実施の形態について説明する。しかしながら、説明に用いる各図はこの発明を理解出来る程度に概略的に示してあるにすぎない。また、各図において、同様な構成成分については同一の番号を付して示し、その重複する説明を省略することがある。
【0022】
1.第1の実施の形態
図1は、第1の実施の形態の文字読取装置100の構成を示すブロック図である。
【0023】
この文字読取装置100は、スキャナ110、イメージメモリ111、文字領域設定部120、第1文字認識エンジン130、第2文字認識エンジン140および複合判定部160を具える。
【0024】
なお、スキャナ110、イメージメモリ111および文字領域設定部120の一部または全部が、この文字読取装置100に含まれるものではなく外部装置に含まれる場合があっても良い(以下の他の実施の形態において同じ。)。
【0025】
スキャナ110は、媒体(帳票)を光学的に走査してこの媒体上の画像データ(以下、イメージデータと称することもある。)を読み取る。
【0026】
イメージメモリ111は、スキャナ110が読み取ったイメージデータを、格納する。
【0027】
文字領域設定部120は、イメージメモリ111に格納されたイメージデータに対して文字領域(複数の文字が記載されている領域であって、読取対象となる領域)を設定、若しくはイメージデータ中から文字領域を抽出する。
【0028】
文字領域を設定する方法としては、例えば、イメージデータをディスプレイ等(図示せず)に表示し、この表示に対してオペレータが文字領域を設定する方法がある。ただし、これに限られない。また、イメージデータ中から文字領域を抽出する方法としては、例えば、この出願の出願人に係る特開平3−126181号に開示された方法がある。ただし、これに限られない。
【0029】
第1文字認識エンジン130は、この実施の形態の場合、第1行切出し部131と、第1文字切出し部132と、第1文字認識部133とで構成される。
【0030】
第1行切出し部131は、イメージデータの、文字領域設定部120によって設定若しくは抽出された文字領域から、第1の行切り出し手法によって行を切り出す。
【0031】
第1文字切出し部132は、第1行切出し部131が切り出した行から、第1の文字切り出し手法によって文字を切り出す。
【0032】
第1文字認識部133は、第1文字切出し部132が切り出した文字の位置情報に基づいて、イメージデータから文字パタンを抽出し、さらに第1の文字認識手法によって文字を認識する。
【0033】
一方、第2文字認識エンジン140は、この実施の形態の場合、第2行切出し部141と、第2文字切出し部142と、第2文字認識部143とで構成される。
【0034】
第2行切出し部141は、イメージデータの、文字領域設定部120によって設定若しくは抽出された文字領域から、第2の行切り出し手法によって行を切り出す。
【0035】
第2文字切出し部142は、第2行切出し部141が切り出した行から、第2の文字切り出し手法によって文字を切り出す。
【0036】
第2文字認識部143は、第2文字切出し部142が切り出した文字の位置情報に基づいて、イメージデータから文字パタンを抽出し、さらに第2の文字認識手法によって文字を認識する。
【0037】
なお、第1の文字切り出し手法および第2の文字切り出し手法は、互いにアルゴリズムが異なる任意の文字切り出し手法とする。例えば特願平6−261882号(特開平8−101885号)に開示のように、文字に外接する枠を検出して、その枠から文字ピッチを推定し、このピッチに基づいて文字を切り出す手法や、特開平8−263591号公報に開示のように、文字の輪郭を辿って文字を切り出す手法など、種々の手法を用いることができる。ただし、これらに限られない。
【0038】
また、第1の行切り出し手法と第2の行切り出し手法とは、任意好適な方法で良い。然も、第1の行切り出し手法と第2の行切り出し手法とが、同じ場合があっても良い。行切り出し手法としては、例えば、特願平9−218913号に開示の手法、特開平8−263591号公報に開示の手法など、種々の手法を用いることができる。ただし、これに限られない。
【0039】
また、第1の文字認識手法と第2の文字認識手法とは、任意好適な方法で良い。然も、第1の文字認識手法と第2の文字認識手法とが同じ場合があっても良い。文字認識手法としては、例えば、特公昭60−38756号に開示の手法、特開平8−263591号公報に開示の手法など、種々の手法を用いることができる。ただし、これらに限られない。
【0040】
複合判定部160は、詳細は後述するが、第1文字認識エンジン130によって得られた認識結果(以下、第1の認識結果)と、第2文字認識エンジン140によって得られた認識結果(以下、第2の認識結果)とに基づいて、最終的な文字認識結果を決める。
【0041】
この複合判定部160は、複合文字編集部190と、複合文字位置判定部170と、複合文字認識部180とで構成される。
【0042】
この複合文字編集部190は、この実施の形態の場合、第1行内文字編集部191と、第2行内文字編集部192とで構成される。
【0043】
第1行内文字編集部191は、第1文字切出し部132で切り出された文字および他の文字が同一行内で重なり合っているか否かを判定する。重なり合う場合には当該文字および当該他の文字のそれぞれの文字位置を編集する。
【0044】
第2行内文字編集部192は、第2文字切出し部142で切り出された文字および他の文字が同一行内で重なり合っているか否かを判定する。重なり合う場合には当該文字および当該他の文字のそれぞれの文字位置を編集する。
【0045】
複合文字位置判定部170は、第1行内文字編集部191で文字位置が編集された文字を含む第1文字切出し部132で切り出された文字と、第2行内文字編集部192で文字位置が編集された文字を含む第2文字切出し部142で切り出された文字とのそれぞれの文字について、文字位置が対応する文字を調べ、かつ、対応する文字それぞれの認識結果を、第1文字認識部133および第2文字認識部143が認識した認識結果の中から抽出し、それを複合文字認識部180に出力する。
【0046】
図2は、文字位置の説明に供する図である。以下、図2を参照して、文字位置につき説明する。図2に示すように、イメージデータの左上を原点とし、横方向をX方向、縦方向をY方向とした場合、第1文字切出し部132が切り出した文字の座標は、左上(xs1、ys1)、右下(xe1、ye1)で表すことができる。これら(xs1、ys1)および(xe1、ye1)で囲まれる領域201を、例えば、第1文字切出し部132が切り出した文字の文字位置とする。同様に、(xs2、ys2)および(xe2、ye2)で囲まれる領域202を、例えば、第2文字切出し部142が切り出した文字の文字位置とする。なお、図2は、以下において、注目する文字、行或いは領域若しくはその他の媒体内領域の相対的位置関係を説明するために用いられることもある。そのため、各領域201や202は、第1文字切出し部132および第2文字切出し部142が切り出した文字のみを示すものではない。
【0047】
この複合文字位置判定部170は、この実施の形態の場合、文字位置対応判定部171と、対応文字抽出部172とで構成される。
【0048】
そして、複合文字位置判定部170の文字位置対応判定部171は、第1文字切出し部132で切り出されかつ互いに重なり合う文字については第1行内文字編集部191で位置が編集された文字の文字位置と、第2文字切出し部142で切り出されかつ互いに重なり合う文字については第2行内文字編集部192で位置が編集された文字の文字位置とから、第1および第2文字認識エンジン130、140間で文字位置が対応する文字を判定する。なお、この実施の形態では、第1の認識結果の文字位置と、第2の認識結果の文字位置とから、第1および第2文字認識エンジン130および140がそれぞれ切り出したのち、第1および第2行内文字編集部191および192がそれぞれ位置編集を済ませた文字間で文字位置が対応するか否かを判定する。文字位置が対応するか否かの判定の方法については、後の動作説明において説明する。
【0049】
また、複合文字位置判定部170の対応文字抽出部172は、文字位置対応判定部171によって対応すると判定した文字中の、各文字認識エンジン間で文字位置が1対1で対応する文字それぞれの認識結果を、各文字認識エンジンの認識結果中から抽出し、それらを複合文字認識部180に出力する。
【0050】
複合文字認識部180は、第1文字認識エンジン130で認識した認識結果および第2文字認識エンジン140で認識した認識結果中の、文字位置が対応する文字の認識結果から複合的に判定して最終的な認識結果を決める。ただし、文字認識エンジン間で文字位置が対応する文字が無かった文字については、これに限られないが、例えば、リジェクトを出力する。
【0051】
なお、複合的に判定して最終的な認識結果を決める方法は任意好適な方法で良い。例えば、第1および第2文字認識エンジンがそれぞれ切り出しかつ文字認識して得た認識結果中の文字位置が対応すると判定された文字についての、第1の候補文字同士が同じであった場合に、この第1の候補文字を最終的な認識結果と決める方法を挙げることができる。または、この出願人にかかる特願平10−97237号で提案している方法を挙げることができる。特願平10−97237号で提案している方法とは、複数の文字認識部が認識結果として文字コードおよび字形情報を出力する構成とし、最終的な認識結果はこれら文字コードおよび字形情報に基づいて決定するという方法である。
【0052】
次に、この文字読取装置100の理解を深めるためにこの装置100の動作につき説明する。なお、ここでは図1〜図9を主に参照して説明する。
【0053】
図3は、第1および第2文字切出し部132および142の動作の説明に供する図である。図4は、第1および第2行内文字編集部191および192の動作を示すフローチャートである。図5は、第1および第2行内文字編集部191および192の文字位置を編集した結果の説明に供する図である。図6は、文字位置対応判定部171の動作を示すフローチャートである。図7は、文字位置対応判定部において、文字位置が対応しているか否かの判定条件の例の説明に供する図である。図8は、文字位置対応判定の結果の説明に供する図である。図9は、対応文字抽出部172の動作を示すフローチャートである。
【0054】
なお、既に説明したように、媒体(帳票)が手書きである場合、文字枠内に個々の文字が収まっていない場合、イタリック文字等の斜体文字で記された場合などでは切り出された文字同士が互いに重なってしまうことがあるため、文字位置の対応判定は困難となる。この点を特に説明するために、この図3では媒体が手書きである場合を示す。
【0055】
この文字読取装置100では、先ず、スキャナ110により媒体(図示せず)を走査し、この媒体のイメジデータを取り込む。取り込んだイメージデータをイメージメモリ111に格納する。
【0056】
イメージメモリ111に格納したイメージデータに対して、文字領域設定部120は、読み取りたい領域(文字領域)を設定する。
【0057】
図3(A)は、文字読取対象のパタン例301を示した図である。ここでは、「小さい」という文字列にごみ(不要なノイズ)「.」が付いてしまったパタンを、文字読取対象のパタン例301としてある。
【0058】
続いて、この文字読取対象のパタン例301に対して、第1行切出し部131は行の切り出しを行い、第1文字切出し部132は、第1行切出し部131が切り出した行に対して、文字の切り出しを行う。
【0059】
図3(B)は、これら第1行切出し部131および第1文字切出し部132によって切り出された文字を示した図である。図3(B)において、Lは切り出された行を示し、矩形枠は切り出された文字を示す(図3(C)において同じ。)。この図3(B)の場合、ノイズ「.」を除く、「小」、「さ」・・・という4文字が切り出されている。
【0060】
また、この文字読取対象のパタン例301に対して、第2行切出し部141は行の切り出しを行い、第2文字切出し部142は、第2行切出し部141が切り出した行に対して、文字の切り出しを行う。
【0061】
図3(C)は、これら第2行切出し部141および第2文字切出し部142によって切り出された文字を示した図である。この場合、「ノ」、「|」・・・「・」という6文字が切り出されている。
【0062】
次に、第1行切出し部131および第1文字切出し部132によって切り出された各文字は、第1文字認識部133でそれぞれ文字認識される。また、第2行切出し部141および第2文字切出し部142によって切り出された各文字は、第2文字認識部143でそれぞれ文字認識される。
【0063】
続いて、第1行切出し部131および第1文字切出し部132によって切り出された各文字のうち互いに重なり合う文字は、第1行内文字編集部191で、文字位置が編集される。また、第2行切出し部141および第2文字切出し部142によって切り出された各文字のうち互いに重なり合う文字は、第2行内文字編集部192で、文字位置が編集される。
【0064】
その後、文字位置が編集された文字を含む第1行切り出し部131および第1文字切出し部132によって切り出された各文字と、文字位置が編集された文字を含む第2行切出し部141および第2文字切出し部142によって切り出された各文字とに対して、文字位置対応判定部171は、文字位置が対応する文字があるか否かを判定する。
【0065】
なお、この実施の形態では、第1文字認識エンジン130の認識結果は第1行内文字編集部191に出力され、第2文字認識エンジン140の認識結果は第2の行内文字編集部192に出力される。第1行内文字編集部191および第2行内文字編集部192は、各文字認識エンジンから入力された文字が同一行内の他の文字と重なり合うか否かを判定し、重なり合う文字の各文字位置の編集を行う。
【0066】
ここで、図3、図4および図5を参照して、第1の行内文字編集部191および第2行内文字編集部192における文字位置の編集につき詳細に説明する。
【0067】
前述したように、第1文字切出し部132で切り出された各文字(ここでは4文字である。)は、図3(B)に示すように図2で言うx方向において、重なり合っている。また、第2文字切出し部142で切り出された文字(ここでは6文字である。)は、図3(C)に示すように互いに重なり合っている。
【0068】
このように切り出された各文字に対して、後述するような文字位置対応判定を行った場合には、例えば第1文字認識エンジンで認識された文字「さ」と文字位置が対応するのは、第2文字認識エンジンで認識された文字「、」、文字「さ」および文字「い」の3つの文字と判定される場合がある。よって、このとき文字「さ」は正しく認識されないため、文字認識率は低下する。
【0069】
この発明では、このような文字認識率の低下を抑制するため、文字位置の対応を判定する前に、次のように文字位置を編集する。
【0070】
ただし、この実施の形態では、第1行内文字編集部191および第2行内文字編集部192は、それぞれ文字認識エンジン毎に処理を行うが、これらは同様の処理動作を行うもので良い。
【0071】
第1行内文字編集部191および第2行内文字編集部192が、同一行内における文字の文字位置の編集を開始する(図4の401)。なお、第2行内文字編集部192は以下に説明する第1行内文字編集部191と同様に動作するため、その説明を省略する。
【0072】
先ず、第1行内文字編集部191は、第1行切出し部131で切り出された行の行ID(行切出し部が切り出した行のうち何番目の行であるかを示す番号)を示す変数iに1を代入して初期化したのち(図4の402)、第1文字切出し部132で切り出された文字の文字ID(文字切出し部が切り出した文字のうち何番目の文字であるかを示す番号)を示す変数jに1を代入して初期化する(図4の403)。そして、注目するj番目の文字以外の他の文字の文字IDを示す変数kに、j+1を代入して初期化する(図4の404)。
【0073】
各変数を初期化したのち、第1行内文字編集部191は着目するj番目の文字と、他のk番目の文字とが互いに重なっているか否かを判定する(図4の405)。この重なり判定は、例えば、次のようにして行う。
【0074】
j番目の文字およびk番目の文字の重なり判定においては、媒体が横書きの場合、各文字の文字位置が次の条件式を満たすときに重なりがあると判定できる。
【0075】
図2に示すように、j番目の文字の文字位置を、左上(xs1、ys1)、右下(xe1、ye1)で囲まれる領域201とし、k番目の文字の文字位置を、(xs2、ys2)および(xe2、ye2)で囲まれる領域202とする。このとき、各文字位置の座標が、重なり判定条件式:(((xs1−P41)≦xe2)かつ((xe1+P42)≧xs2)・・・(1) を満たす場合に、各文字は重なりがあると判定できる。ただし、式中P41およびP42は、任意の値を示す。また、媒体が縦書きの場合、j番目の文字およびk番目の文字の重なり判定においては、重なり判定条件式:((ys1−P51)≦ye2)かつ((ye1+P52)≧ys2))・・・(2) を満たす場合に、各文字は重なりがあると判定できる。ただし、式中P51およびP52は、任意の値を示す。
【0076】
このように、文字の重なり判定においては横書き或いは縦書きのいずれの場合にも、同一行内において少なくとも当該行に沿った方向で見たときの各文字の文字位置が互いに重なり合っているときに、これらの文字は互いに重なり合うと判定しても良い。したがって、この場合、平面パタンで見たときには切り出した文字の文字位置が互いに重なり合わなくとも、行に沿った方向で見たときには重なり合うと判定する。また、重なり判定の手法はこれに限られない。
【0077】
続いて、第1行内文字編集部191は、互いに重なり合う(図4の406)と判定されたj番目およびk番目の文字の各文字位置を編集する(図4の407)。このとき、例えば次のように、各文字の文字位置を編集する。
【0078】
媒体が横書きであって条件式(1) が満たされている場合、xs=MAX(xs1、xs2)およびxe=MIN(xe1、xe2)とおく。そして、xs=xs1である場合にはxs1に(xe+P43)を代入し、xs=xs2である場合にはxs2に(xe+P43)を代入する。また、xe=xe1である場合にはxe1に(xs−P44)を代入し、xe=xe2である場合にはxe2に(xs−P44)を代入する。なお、式中、MAX(A、B)は、Aの値とBの値のうち大きい方の値をとり、MIN(A、B)は、Aの値とBの値のうち小さい方の値をとる(ただし、A=Bの場合にはその値をとる)。
【0079】
また、媒体が縦書きであって条件式(2) が満たされている場合、ys=MAX(ys1、ys2)およびye=MIN(ye1、ye2)とおく。そして、ys=ys1である場合にはys1に(ye+P53)を代入し、ys=ys2である場合にはys2に(ye+P53)を代入する。また、ye=ye1である場合にはye1に(ys−P54)を代入し、ye=ye2である場合にはye2に(ys−P54)を代入する。
【0080】
図3に示すように、j番目の文字の右側の辺のX座標xe1は、k番目の文字の左側の辺のX座標xs2よりも大きいため、条件式(1) を満たす。また、xs=xs2およびxe=xe1であるから、xs1に(xe+P43)を代入し、xe1に(xs−P44)を代入する。よって、j番目の文字の右側の辺のX座標は、(xs2−P44)となり、k番目の文字の左側の辺のX座標は、(xe1+P43)となる。また、定数P41〜P44の値を変更することにより、両文字の重なりを判断し或いは両文字の文字位置を編集するマージンを調節できる。
【0081】
j番目の文字に対する文字位置の編集は、k=j+1からk=n(ただし、nは行内文字数である。)まで繰り返し行われる。すなわち、j番目の文字とすべてのk番目の文字との文字位置の編集が終了したか否かを判定し(図4の408)、終了していない場合には、kにk+1を代入して(図4の411)、文字位置の編集を行う。
【0082】
そして、すべてのj番目の文字について、j番目の文字の文字位置およびk番目の文字の各文字位置の編集が終了したか否かを判定し(図4の409)、終了していない場合には、jに(j+1)を代入して(図4の412)、(j+1)番目の文字について各文字位置を編集する。
【0083】
i番目の行内の文字すべてについて文字位置の編集が終了すると、iに(i+1)を代入して(図4の413)、(i+1)番目の行について文字位置を編集する。また、媒体のすべての行について文字位置の編集が終了すると判定したときには(図4の410)、行内文字編集を終了する(図4の414)。
【0084】
図5(A)および(B)には、それぞれ、図3(B)および図3(C)の各文字に対して、上述のように文字位置を編集した状態を示してある。図5に示すように、各文字の文字位置(図中、太線で示す矩形の領域)は、他の文字の文字位置と重なり合わない程度に離間した位置となるように、編集されている。
【0085】
この図示例の文字位置の編集では、文字切り出し部で切り出された領域を示す文字位置が互いに重なり合わない状態となるように、各文字位置の領域を縮小させることにより、文字位置を編集している。
【0086】
なお、以上のように複合文字編集部で文字位置が編集された文字を含む文字切り出し部で切り出された文字を、「位置編集済み文字」と称することがある。
【0087】
続いて、図6〜図9を参照して文字位置対応判定部171の動作につき説明する。
【0088】
なお、この実施の形態では、第1文字認識エンジン130を、基準エンジンと仮定して、以下、「基エンジン」と称する。基エンジンが切り出した各文字が、それぞれ基準文字になる。また、基エンジン以外の他の文字認識エンジン(この第1の実施の形態では第2文字認識エンジン140)を、以下、「他エンジン」と称する。従って、この実施の形態では、第1文字切出し部132が基準の文字切出し部に相当し、この第1文字切出し部132が切り出す文字それぞれが基準文字に相当する。
【0089】
先ず、文字位置対応判定部171が処理を開始すると(図6の601)、文字位置対応判定部171は、第1行内文字編集部191で編集された文字を含む第1文字認識エンジン130で切り出された文字の文字位置の情報を、基エンジンの文字位置の情報と定め、一方、第2行内文字編集部192で編集された文字を含む第2文字認識エンジン140で切り出された文字の文字位置の情報を、他エンジンの文字位置の情報と定める。
【0090】
なお、文字切出し部で切り出されて複合判定部へ出力される文字の文字位置の情報は、文字の認識結果に付加されて利用されても良い。したがって、このとき、この発明でいう文字の文字位置とは、認識結果に含まれる情報と見なせる。
【0091】
また、この文字位置対応判定部171は、基エンジンと他エンジンとの対応文字IDおよび対応文字数を格納するバッファを有する構成としてある。
【0092】
次に、この文字位置対応判定部171では、対応文字IDおよび対応文字数を格納するバッファに0を入力することで、このバッファを初期化する(図6の602)。
【0093】
続いて、基エンジンが切り出した文字の文字ID(基エンジンが切り出した文字中の何番目かを示す番号)を示す変数iに1を代入して初期化したのち(図6の603)、他エンジンが切り出した文字の文字ID(他エンジンが切り出した文字中の何番目かを示す番号)を示す変数jに1を代入して初期化する(図6の604)。
【0094】
次に、基エンジンのi番目の位置編集済み文字と、他エンジンのj番目の位置編集済み文字との各文字位置の対応関係の判定を行う(図6の605)。ここで文字位置とは、図2を用いて説明した概念である。また、文字位置が対応するか否かの判定は、例えば、以下のように行う。
【0095】
図7は、対応判定を説明する図であり、対応関係の存否の判断条件を示す図である。ここでは、その1〜その4の4つの判断条件を示してある。これら4つの条件の何れか1つを満たした場合、文字位置の対応関係があると判定することができる。もちろん、この発明を実施するに当たり、その1〜その4のいずれか1つのみを判断基準として固定しても良いし、2つを判断条件として用いてそのうちの1つを満たしたら対応関係があると判定するようにしても良いし、3つを判断条件として用いてそのうちの1つを満たしたら対応関係があると判定するようにしても良い。また、判断条件は、これら4つに限られない。
【0096】
その1の条件式は、(((xs1−P1)≦xe2)かつ((xe1+P2)≧xs2)かつ((ys1−P3)≦ye2)かつ((ye1+P4)≧ys2))・・・(3) である。ただし、式中P1〜P4は、任意の値を示す。
【0097】
この条件式(3) であって、P1〜P4の値をそれぞれ0とした条件式によれば、基エンジンの位置編集済み文字と、他エンジンの位置編集済み文字とが、少しでも重なっている状態を検出できる。すなわち、両文字が少しでも重なった状態で対応関係を持つことを判定できる。また、P1〜P4の値を変更することにより、両文字が重なったと判断するマージンを調整できる。
【0098】
また、その2の条件式は、(((xs1≧(xs2−P5))かつ(xe1≦(xe2+P6))かつ(ys1≧(ys2−P7))かつ(ye1≦(ye2+P8)))もしくは((xs2≧(xs1−P9))かつ(xe2≦(xe1+P10))かつ(ys2≧(ys1−P11))かつ(ye2≦(ye1+P12))))・・・(4) である。ただし、式中P5〜P12は、任意の値を示す。
【0099】
この条件式(4) であって、P5〜P12の値をそれぞれ0とした条件式によれば、基エンジンの位置編集済み文字の文字位置が他エンジンの位置編集済み文字の文字位置に含まれる状態、若しくは、その逆の状態を検出できる。すなわち、一方の文字位置が他方の文字位置に含まれる状態で対応関係をもつことを判定できる。また、P5〜P12の値を変更することにより、一方の文字位置が他方の文字位置に包含される判断のマージンを調整できる。
【0100】
また、その3の条件式は、(((xs1≧(xs2−P13))かつ(xe1≦(xe2+P14))かつ((ys1−P15)≦ye2)かつ((ye1+P16)≧ys2))もしくは((xs2≧(xs1−P17))かつ(xe2≦(xe1+P18))かつ((ys1−P19)≦ye2)かつ((ye1+P20)≧ys2)))・・・(5) である。ただし、式中P13〜P20は、任意の値を示す。
【0101】
この条件式(5) であって、P13〜P20の値をそれぞれ0とした条件式によれば、基エンジンの位置編集済み文字の文字位置が他エンジンの位置編集済み文字の文字位置にY方向(文字の縦方向)において少しでも重なっており、かつ、基エンジンの位置編集済み文字の文字位置が他エンジンの位置編集済み文字の文字位置にX方向(文字の横方向)について含まれている状態を、検出できる。若しくは、他エンジンの位置編集済み文字の文字位置が基エンジンの位置編集済み文字の文字位置にY方向(文字の縦方向)において少しでも重なっており、かつ、他エンジンの位置編集済み文字の文字位置が基エンジンの位置編集済み文字の文字位置にX方向(文字の横方向)について含まれている状態を検出できる。すなわち、一方の文字位置が他方の文字位置に対し、y方向で一部重なりX方向で含まれる状態で対応関係をもつことを判定できる。また、P13〜P20の値を変更することにより、一方の文字位置が他方の文字位置にy方向で重なるという判断と、X方向で含まれるという判断とのマージンをそれぞれ調整できる。
【0102】
なお、上記のその3の条件は、文字が横書きの場合の条件である。すなわち、第1の方向を文字の縦方向および横方向のうちの縦方向と考え、および、第2の方向を横方向と考えた例である。また、文字が縦書きの場合は、上記(3) 式中のx、yを入れ換えた条件式を用いれば良い。
【0103】
また、その4の条件式は、(((MAX(xe1、xe2)−MIN(xs1、xs2))×(MAX(ye1、ye2)−MIN(ys1、ys2))×P21)≧((xe1−xs1)×(ye1−ys1)))もしくは(((MAX(xe1、xe2)−MIN(xs1、xs2))×(MAX(ye1、ye2)−MIN(ys1、ys2))×P22)≧((xe2−xs2)×(ye2−ys2)))・・・(6) である。また、P21、P22は、任意の値を示す。
【0104】
この条件式(6) によれば、基エンジンの位置編集済み文字と他エンジンの位置編集済み文字との重なっている部分の面積が、基エンジンの位置編集済み文字の文字位置の面積と比較してある程度の割合(P21に依存する。)にあるか、或いは、他エンジンの位置編集済み文字の文字位置の面積と比較してある程度の割合(P22に依存する。)にあるかを、検出することができる。すなわち、両文字が重なった部分の面積が、これら文字の何れか一方の文字の面積に対して、ある割合の状態で対応関係を持つことを判定できる。また、P21、P22の値を変更することにより、上記の割合に関する判断のマージンをそれぞれ調整できる。
【0105】
図8(A)および(B)は、上記の如く対応関係を判断した結果を説明する図である。すなわち、基エンジンの位置編集済み文字のうちi番目の文字と、他エンジンの位置編集済み文字のうちj番目の文字との文字位置の対応判定を行った結果を説明する図である。
【0106】
対応関係があるか否かの判定において(図6の606)、対応関係があった場合は、基エンジンのi番目の位置編集済み文字の対応文字IDの欄に、これと対応する文字であって他エンジンの位置編集済み文字の文字IDをセットする。さらに、基エンジンのi番目の位置編集済み文字の対応文字数の欄に、これと対応する文字であって他エンジンの位置編集済み文字の文字数をセットする。さらに、他エンジンのj番目の文字の対応文字IDの欄に、これと対応する文字であって基エンジンの位置編集済み文字の文字IDをセットする。さらに、他エンジンのj番目の文字の対応文字数の欄に、これと対応する文字であって基エンジンの位置編集済み文字の文字数をセットする(図6の607)。
【0107】
すなわち、具体的にいえば、図8(A)の例では、基エンジンの位置編集済み文字の1番目の文字801は、他エンジンの位置編集済み文字の1〜3番目までの各文字811〜813と、文字位置が対応する。そのため、図8(B)に示すように、基エンジンの1番目の位置編集済み文字の対応文字IDの欄に、他エンジンの位置編集済み文字のうち対応する文字の文字IDとして1、2および3をセットする。さらに、基エンジンの1番目の文字の対応文字数の欄に、他エンジンの位置編集済み文字のうち対応する文字の文字数として3をセットする。また、他エンジンの1、2および3番目の各文字の対応文字IDの欄に、基エンジンの位置編集済み文字のうち対応する文字の文字IDとして1をそれぞれをセットする。さらに、他エンジンの1、2および3番目の文字の対応文字数の欄に、基エンジンの位置編集済み文字のうち対応する文字の文字数として1をそれぞれセットする。
【0108】
さらに、図8(A)の例では、基エンジンの位置編集済み文字の2番目の文字802は、他エンジンの位置編集済み文字の4番目の文字814と、文字位置が対応する。また、基エンジンの位置編集済み文字の3番目の文字803は、他エンジンの位置編集済み文字の5番目の文字815と、文字位置が対応する。また、基エンジンの位置編集済み文字の4番目の文字804は、他エンジンの位置編集済み文字の5番目の文字815と、文字位置が対応する。ただし、他エンジンの位置編集済み文字の第6番目の文字816と文字位置が対応する文字は、基エンジンの位置編集済み文字中に存在しない。
【0109】
対応関係を持つ各文字802〜804、814〜815について、文字801について説明したのと同様な手法で、対応文字IDおよび対応文字数に関する情報欄に、情報をセットする(図6の608〜611および図8(B)参照)。
【0110】
基エンジンの位置編集済み文字と他エンジンの位置編集済み文字との間における文字位置についての対応関係の判定が終了すると(図6の612)、次に、対応文字抽出部172による処理が以下のように行われる。この処理について、図9を参照して説明する。
【0111】
対応文字抽出部172は、処理を開始すると(図9の901)、先ず、基エンジンの文字IDを示す変数iに1を代入して初期化する(図9の902)。次に、基エンジンのi番目の位置編集済み文字の対応文字数(すなわち、他エンジン側に対応文字がいくつあるかを示す数)を取得し(図9の903)、この取得した対応文字数が1か否かを判定する(図9の904)。対応文字数が1であった場合、基エンジンのi番目の位置編集済み文字の対応文字ID(すなわち、他エンジン側の文字の番号)を取得する(図9の905)。次に、この取得した対応文字IDで指定される他エンジンにおける文字の、対応文字数(すなわち基エンジン側に対応文字がいくつかあるかを示す数)を取得する(図9の906)。この取得した対応文字数が1か否かを判定する(図9の907)。対応文字数が1であった場合、この文字の対応文字ID(すなわち、基エンジン側の文字の番号)を取得する(図9の908)。この取得した対応文字IDが基エンジンの文字IDを示すiと一致しているならば(図9の909)、基エンジンのi番目の位置編集済み文字の認識結果と、このi番目の位置編集済み文字の対応文字IDで指定される他エンジン側の文字の認識結果とを取得する(図9の910)。基エンジンが切り出した文字数分の対応文字抽出が済んだか否かを判断し(図9の911)、済んでいなければ、基エンジンの文字IDであるiを+1して、処理903から繰り返す(図9の912)。
【0112】
この図9を参照して説明した一連の処理によれば、基エンジンの位置編集済み文字に対して、他エンジン側に文字位置が対応する文字が1つ在った場合(すなわち1対1で対応する文字があった場合)、基エンジン側の当該文字および他エンジン側の当該文字それぞれの認識結果をそれぞれ抽出することができる。
【0113】
詳細は後述するが、この抽出した認識結果を用いて、複合文字認識部180は、複合的な認識を行い最終的な認識結果を決める。
【0114】
また、処理904や処理907において、対応文字数が1でないと判定された場合、または、処理909において対応文字IDがiでなかった場合は、基エンジンが切り出した文字数分の対応文字抽出が済んだか否かを判断し(図9の911)、済んでいなければ、基エンジンの文字IDを+1して、処理903から繰り返す(図9の912)。
【0115】
ただし、図9を参照して説明した一連の処理において、処理908および処理909は無くても良い。なぜなら、処理907で対応文字数が1と判定されたならば、処理908で取得した対応文字IDは基エンジンの文字番号を示すiと必ず一致するからである。
【0116】
図8を用いて説明したような文字位置対応関係を持つ「小さい」という認識対象パタンに対して上記の対応文字抽出部172による処理を実施した場合、基エンジンの位置編集済み文字中の第2番目の文字802、すなわち「さ」と、他エンジンの位置編集済み文字中の4番目の文字814、すなわち「さ」とが、1対1に対応する文字になる。そのため、これら「さ」の文字の認識結果のみが抽出されて、複合文字認識部180に出力されることになる。
【0117】
なお、基エンジンおよび他エンジンの各文字認識部が出力する候補文字の数は、文字認識手法に応じた任意の数と出来る。すなわち、基エンジンおよび他エンジンの各文字認識部が、1個の候補文字を挙げる場合、複数個の候補文字を挙げる場合いずれもあり得る。
【0118】
複合文字認識部180は、これら1対1の対応関係にある文字それぞれの認識結果について、各認識結果を複合的に判定して最終的な認識結果を出力する。
【0119】
複合的に認識をする際の判断基準は特に限定されない。装置構成の説明において説明したように、例えば、第1および第2文字認識エンジンがそれぞれ切り出しかつ文字認識して得た認識結果中の編集された文字位置が対応すると判定された場合であって、それぞれの第1の候補文字同士が同じであった場合に、この第1の候補文字を最終的な認識結果と決める方法を挙げることができる。または、この出願人にかかる特願平10−97237号で提案している方法を挙げることができる。特願平10−97237号で提案している方法とは、複数の文字認識部が認識結果として文字コードおよび字形情報(字形情報以外の他のパラメータの場合があっても良い。)を出力する構成とし、最終的な認識結果はこれら文字コードおよび字形情報(或いは他のパラメータ)に基づいて決定するという方法である。
【0120】
この第1の実施の形態の文字読取装置によれば、読取対象の文字列を第1文字切出し部および第2文字切出し部で切り出した後に、それぞれの文字切出し部で切り出された文字が同一行内で互いに重なり合うか否かを判定したのち、重なり合う文字の文字位置を編集し、各文字切出し部の位置編集済み文字の間で文字位置が1対1で対応する文字についてのみ、複合的な認識処理を行える。アルゴリズムが異なる第1および第2文字切出し部が切り出した文字であって、文字位置が1対1で対応する文字は、正常な文字である蓋然性(確率)が高い。逆に言えば、図24(A)を用いて説明したような、かすれに起因する非文字部分、図24(B)を用いて説明したような、ノイズ部分、図24(C)を用いて説明したような複数文字が接触により合体した部分、図24(D)を用いて説明したような、文字を構成する部品中の分離部分は、各文字切出し部により同様に切り出される確率は低いと考えられる。そのため、上記分離部分は、各文字切出し部間で文字位置の1対1対応が生じにくいと考えられるので、複合文字認識部に送られる確率が低くなる。そのため、複合文字認識での文字認識率を高めることができる。
【0121】
また、この第1の実施の形態の文字読取装置は、特に、行内文字編集部を具える。この行内文字編集部は、各文字切出し部が切り出した文字について行内の文字が重なっているか否かを判定し、重なっている場合には重なり合う文字の各文字位置を編集する。そのため、この文字読取装置によれば、行内の文字同士が重なって切り出された場合でも、文字位置が1対1で対応するか否かを正確に判定できる。
【0122】
例えば、このような行内文字編集部を有しない場合には、図3(B)および図3(C)のごとく切り出された文字について、文字位置の対応判定を行うことになる。そのため、文字位置の対応判定条件によっては、この第1文字認識エンジンの文字「さ」と、第2文字認識エンジンの文字「、」、文字「さ」および文字「い」の3つの文字とが対応すると判定されてしまう場合がある。しかしながら、上述のごとく、文字位置の対応判定前に文字位置を編集しておくと、このような誤判定を低減することができる。
【0123】
なお、上述の実施の形態では、横書き1行で表された行を処理対象パタンの例として説明したが、縦書きの場合、また、複数行から文字を切り出す場合、また、別々の行に存在する文字の場合も、この発明は適用でき、同様な効果が得られる(以下の各実施の形態において同じ。)。
【0124】
また、この実施の形態では、同一の文字切出し部でそれぞれ切り出された文字および他の文字が重なり合っているか否かを判定し、重なり合う場合にはこれらの文字位置を編集した。言うまでもなく、このように重なりを判定し文字位置を編集することは、同一行内の文字についてのみに限られず、任意の配置形態の文字に対して行うことができる。
【0125】
2.第2の実施の形態
上述の第1の実施の形態の文字読取装置100は、2つの文字認識エンジンを具える装置であった。すなわち、先ず、読取対象の文字領域や行に対して、アルゴリズムが異なる第1および第2文字切出し部によりそれぞれ文字を切り出し、次に、各文字切出し部が切り出した文字について行内の文字同士の重なりを判定して重なり合う文字のそれぞれの文字位置を編集し、その後、第1および第2文字認識エンジンの位置編集済み文字間で文字位置が1対1で対応する文字について、対応する文字それぞれの認識結果から複合的に判定して最終的な認識結果を決める装置であった。しかし、この発明の文字読取装置は、3以上の文字切出し部を具える場合にも勿論適用することができる。この第2の実施の形態はその例である。
【0126】
図10は、この第2の実施の形態の文字読取装置1000の構成を示すブロック図である。以下、第1の実施の形態の文字読取装置100との相違点について主に説明する。
【0127】
この第2の実施の形態の文字読取装置1000は、第1および第2文字認識エンジン130、140の他にさらに、第N文字認識エンジン1010を具える。ただし、Nは3以上の整数である。従って、N=3であれば、第3文字認識エンジンをさらに具え、N=4であれば、第3および第4文字認識エンジンをさらに具える。
【0128】
この第N文字認識エンジン1010は、第N行切り出し部1011、第N文字切出し部1012および第N文字認識部1013で構成される。
【0129】
ただし、文字切出し部を3個以上持つ場合、各文字切出し部の文字切り出しアルゴリズムが全て異なる必要は必ずしもない。すなわち、3以上の文字切出し部は、文字切り出しアルゴリズムが異なる少なくとも2種類の文字切出し部(例えば、3つの文字切出し部の例で考えれば、第1文字切出し部が第1の文字切り出しアルゴリズムのもの、第2および第3文字切出し部が第2の文字切り出しアルゴリズムのものという具合)で構成してあれば良い。なぜなら、文字読取装置が文字認識アルゴリズムが異なる3以上の文字認識部を具える場合、これら文字認識部に対応する3以上の文字切出し部は、文字切り出しアルゴリズムが異なる少なくとも2種類の文字切出し部で構成してあれば、本発明の効果が得られるためである。
【0130】
また、第N行切出し部1011および第N文字認識部1013それぞれは、他のエンジンの行切出し部131、141および文字認識部133、143に対し、行切り出しアルゴリズムおよび文字認識アルゴリズムが同じでも、異なっても良い。
【0131】
さらに、この第2の実施の形態の文字読取装置1000では、複合判定部1020の構成を、第1の実施の形態とは異ならせてある。具体的には、複合判定部1020を、第1の実施の形態とは構成が異なる複合文字編集部1090と、第1の実施の形態とは構成が異なる複合文字位置判定部1030と、第1の実施の形態と同様な複合文字認識部180とで構成してある。
【0132】
第2の実施の形態の複合文字編集部1090の、第1の実施の形態との相違点は、複合文字編集部1090をN個の行内文字編集部すなわち第1、第2および第N行内文字編集部191、192および1093で構成した点である。なお、第N行内文字編集部1093は、第1および第2行内文字編集部191および192と同様に、第N文字認識エンジン1010から入力された文字が同一行内の文字と重なり合うか否かを判定し、重なり合う文字の各文字位置の編集を行う。そのため、その説明については省略する。
【0133】
複合文字位置判定部1030の、第1の実施の形態との相違点は、文字位置対応判定部を第1〜第N−1文字位置対応判定部1031〜1032で構成した点と、対応文字抽出部として、第1〜第N−1文字位置対応判定部から対応文字を抽出する対応文字抽出部1033で構成した点である。ただし、Nは、第1〜第N文字切出し部132〜1012でいう値である。
【0134】
第1〜第N−1文字位置対応判定部1031〜1032それぞれは、2つの文字認識エンジンのそれぞれの位置編集済み文字間に、文字位置が対応する文字が在るか否かを判定する。具体的には、例えば、次のような判定を行う。
【0135】
すなわち、基エンジンを第1文字認識エンジン130とする場合なら、第1文字位置対応判定部1031は、第1文字認識エンジン130の位置編集済み文字と第2文字認識エンジン140の位置編集済み文字との間で、文字位置が対応する文字がどれかを判定する。第2文字位置対応判定部(図示せず)は、第1文字認識エンジン130の位置編集済み文字と第3文字認識エンジン(図示せず)の位置編集済み文字との間で、文字位置が対応する文字がどれかを判定する。第N−1文字位置対応判定部1032は、第1認識エンジン130の位置編集済み文字と第N文字認識エンジン1010の位置編集済み文字との間で、文字位置が対応する文字がどれかを判定する。
【0136】
第1〜第N−1文字位置対応判定部1031〜1032のそれぞれは、文字位置の対応関係を見るエンジンが上述のように異なること以外は、第1の実施の形態で説明した文字位置対応判定部171と同様な処理(図6〜図8を参照して説明した処理)を実施するもので実現できるので、その説明を省略する。
【0137】
続いて、この第2の実施の形態の文字読取装置1000の動作につき説明する。ただし、第1の実施の形態で説明したものについては説明を省略する。よって、ここでは対応文字抽出部1033につき主に説明する。
【0138】
対応文字抽出部1033は、第1〜第N−1文字位置対応判定部によって対応すると判定された文字から文字位置が1対1で対応する文字を抽出して、複合文字認識部180に出力する。この対応文字抽出部1033の動作について、以下、説明する。
【0139】
図11は対応文字抽出部1033の動作を説明する図である。対応文字抽出部1033は処理を開始すると(図11の1101)、先ず基エンジン(この例では第1文字認識エンジン)の文字IDを示す変数iに1を代入して初期化する(図11の1102)。また、第1〜第N−1文字位置対応判定部のうちどの判定部の判定結果であるかを示す変数nに1を代入して初期化する(図11の1103)。
【0140】
次に、第n文字位置対応判定部の結果中の、基エンジンのi番目の位置編集済み文字の対応文字数(すなわち、他エンジンの位置編集済み文字にこれと対応する文字がいくつあるかを示す数)を、取得する(図11の1104)。次に、この取得した対応文字数が1か否かを判定する(図11の1105)。
【0141】
この対応文字数が1であった場合、このi番目の文字の対応文字ID(すなわ、他エンジンの位置編集済み文字の番号)を、取得する(図11の1106)。
【0142】
次に、第n文字位置対応判定部の結果中の、処理1106で取得した対応文字IDで指定される文字(すなわち、他エンジン中の特定の位置編集済み文字)の対応文字数(すなわち、基エンジン側の位置編集済み文字に対応文字がいくつあるかを示す数)を取得する(図11の1107)。
【0143】
次に、この取得した対応文字数が1か否かを判定する(図11の1108)。
【0144】
次に、全ての文字位置対応判定部の結果について1対1に対応する文字の特定が済んだか否かを判定する(図11の1109)。すなわち、この実施の形態の文字読取装置は第1〜第N−1まで文字位置対応判定部を具えているので、どの文字位置対応判定部の判定結果であるかを示す変数であるnが、n=N−1となったか否かを、判定する。
【0145】
n≠N−1であった場合、すなわち、第N−1文字位置対応判定部まで対応文字抽出が済んでいない場合、上記変数nにn+1を代入し(図11の1112)、処理1104に戻る。
【0146】
一方、n=N−1となった場合、基エンジンのi番目の文字(基準文字)の認識結果と、他エンジンの、前記基準文字に文字位置が1対1で対応する文字の認識結果とをそれぞれ取得する(図11の1110)。
【0147】
処理1105で対応文字数が1でなかった場合、処理1108で対応文字数が1でなかった場合、および、処理1110が済んだ場合のいずれかの場合には、次に、基エンジンの各位置編集済み文字に対して対応文字抽出の処理が終了したか否かを判定する(図11の1111)。終了している場合は、対応文字抽出を終了し(図11の1114)、終了していない場合は、基エンジンの位置編集済み文字の文字IDを示す変数iにi+1を代入し(図11の1113)、処理1103に戻る。
【0148】
対応文字抽出が終了した場合、複合文字認識部180は、対応文字抽出部1033から出力される認識結果から複合的に判定して最終的な認識結果を出力する。この複合的な認識を行う際の判断基準は、例えば、第1の実施の形態で説明したものと同様で良い。また、この第2の実施の形態の場合、3以上の文字認識エンジンからそれぞれ候補文字(典型的には文字コード)が得られるので、3個以上の文字コードの中で最も出現頻度の高い文字コード(多数決で決まる文字コード)を最終的な認識結果とする場合があっても良い。
【0149】
なお、文字認識エンジン間で文字位置が対応する文字が無かった文字については、これに限られないが、例えばリジェクトを出力する。
【0150】
この第2の実施の形態の文字読取装置1000によれば、第1の実施の形態と同様な効果が得られる。然も、3以上の文字切出し部それぞれが切り出した文字であって、すべての文字切出し部間で文字位置が1対1に対応する文字についてのみ、対応する文字それぞれの認識結果から複合的に判定して最終的な認識結果を決めることができる。したがって、文字認識率を高めることができる。
【0151】
3.第3の実施の形態
上述の第1および第2の実施の形態の各文字読取装置100および1000は、文字位置の対応判定前に、複数の文字切出し部のそれぞれが切り出した文字中に、同一行内で重なり合う文字があるか否かを判定し、重なり合う場合にはその文字の文字位置を編集する点に着目した装置であった。一方、この第3の実施の形態の文字読取装置では、この同一行内における文字の重なり判定前に、文字切出し部で切り出された文字と、この文字の属する行とは異なる行に属する文字とが重なり合っているか否かを判定し、かつ、重なり合う場合にはこれらの文字の文字位置を編集する。
【0152】
図12は、第3の実施の形態の文字読取装置1200の構成を示すブロック図である。ここでは、第3の実施の形態の思想を第2の実施の形態の文字読取装置に適用した例を示してあるため、第2の実施の形態の文字読取装置との相違点について主に説明する。なお、この第3の実施の形態の思想を第1の実施の形態の文字読取装置に適用しても良い。
【0153】
この第3の実施の形態の文字読取装置1200は、第2の実施の形態の文字読取装置と同様に、第1、第2および第N文字認識エンジン130、140および1010を具える。
【0154】
この文字読取装置1200は、第2の実施の形態の文字読取装置とはそれぞれ異なる構成の複合判定部1210を具える。
【0155】
すなわち、この複合判定部1210では、各文字認識エンジン130、140および1010でそれぞれ切り出された文字が、同一行内の文字と重なっているか否かを判定するのみならず、他の行に属する文字と重なっているか否かも判定する。そして、重なり合う場合にはそれらの文字の文字位置を編集する。その後、第2の実施の形態と同様の処理を行うことにより、複合的に最終的な認識結果を得る。
【0156】
これを実現するため、この複合判定部1210は、第2の実施の形態とは異なる構成の複合文字編集部1290を具える。
【0157】
この複合文字編集部1290は、第1、第2および第N行内文字編集部191、192および1093の各前段に第1、第2および第N行外文字編集部1291、1292および1293を具える。この第1、第2および第N行内文字編集部191、192および1093については、第2の実施の形態のものと同様であるので、説明を省略する。
【0158】
また、複合判定部1210のその他の構成すなわち複合文字位置判定部1030および複合文字認識部180については、第2の実施の形態の構成と同様であるので、説明を省略する。
【0159】
この第1、第2および第N行外文字編集部1291、1292および1293は、各文字認識エンジン130、140および1010で切り出された文字と、この文字の属する行とは異なる行に属する文字とが、互いに重なり合っているか否かを判定する。そして、重なり合う場合には当該各文字の文字位置を編集する。
【0160】
続いて、第3の実施の形態の文字読取装置1200の動作につき説明する。ただし、第2の実施の形態にて説明したものについては説明を省略する。よって、以下では、行外文字編集部につき主に説明する。
【0161】
図13は、行外文字編集部の動作を示すフローチャートである。ただし、第1、第2および第N行外文字編集部1291、1292および1293は、それぞれ文字認識エンジン毎に処理を行うが、これらは同様の処理動作を行うもので良い。
【0162】
第1、第2および第N行外文字編集部1291、1292および1293が処理を開始する(図13の1301)。なお、第2および第N行外文字編集部1292および1293は、以下に説明する第1行外文字編集部と同様に動作するため、その説明を省略する。
【0163】
先ず、第1行外文字編集部1291は、第1行切出し部131で切り出された行の行IDを示す変数iに1を代入して初期化したのち(図13の1302)、この行とは異なる行の行IDを示す変数jにi+1を代入して初期化する(図13の1303)。
【0164】
各変数を初期化したのち、第1行外文字編集部1291は、i番目の行が、j番目の行と重なっているか否かを判定する(図13の1304)。
【0165】
なお、この行の重なり判定は必ず行うべき処理ではない。しかしながら、着目する文字と、この文字の属する行とは異なる行に属するすべての文字とについて重なりを判定したのでは、判定に長時間を要する。そのため、特に、異なる行における文字位置の重なり判定前に、当該異なる行の重なり判定を行っている。これにより、異なる行における文字位置の重なり判定を短時間で行うことができる。この行の重なり判定は、例えば以下のように行う。
【0166】
例えば、媒体が横書きの場合には、i番目の行を図2の領域201とし、j番目の行を図2の領域202と見なす。このとき、各行位置の座標が、重なり判定条件式:((ys1−P61)≦ye2)かつ((ye1−P62)≧ys2)・・・(7) を満たす場合に、各行は重なり合うと判定できる。ただし、P61およびP62は、任意の値を示す。また、媒体が縦書きの場合には、j番目の行およびk番目の行の重なり判定においては、重なり判定条件式:(((xs1−P63)≦xe2)かつ((xe1+P64)≧xs2)・・・(8) を満たす場合に、各行は重なり合うと判定できる。ただし、P63およびP64は、任意の値を示す。
【0167】
以上のように重なっているか否かを判定し(図13の1305)、i番目の行とj番目の行が重なっていない場合には、そのまま後述の処理1313に移行する。
【0168】
重なっている場合には、i番目の行の各文字の文字IDを示す変数kに1を代入して初期化すると共に(図13の1306)、j番目の行の各文字の文字IDを示す変数mに1を代入して初期化する(図13の1307)。
【0169】
続いて、i番目の行に属するk番目の文字と、j番目の行に属する文字とが互いに重なっているか否かを判定する(図13の1308)。例えば、この重なりの判定においては、媒体が横書きの場合、重なり判定条件式:((ys1−P65)≦ye2)かつ((ye1−P66)≧ys2)・・・(9) を満たす場合に、各文字は重なり合うと判定できる。ただし、P65およびP66は、任意の値を示す。また、媒体が縦書きの場合には、重なり判定条件式:(((xs1−P67)≦xe2)かつ((xe1+P68)≧xs2)・・・(10)を満たす場合に、各文字は重なり合うと判定できる。ただし、P67およびP68は、任意の値を示す。
【0170】
以上のように文字が重なっているか否かを判定し(図13の1309)、i番目の行に属するk番目の文字と、j番目の行に属するm番目の文字とが重なっていない場合には、そのまま後述の処理1311に移行する。
【0171】
重なっている場合には、i番目の行に属するk番目の文字と、j番目の行に属するm番目の文字とのそれぞれの文字位置を編集する(図13の1310)。
【0172】
図14は、第1行外文字編集部で文字位置を編集した結果の説明に供する図である。図14(A)に示されている媒体の文字列パタン「小さい」および「大きい」は、第1文字認識エンジン130で文字毎に切り出される。その結果、図14(B)に示すように、行L1に属する各文字「小」、「さ」、・・の4文字が切り出されて、行L2に属する各文字「大」、「き」、「い」の3文字が切り出されたとする。
【0173】
図14(B)では、切り出された文字のうち、文字「小」については行外の文字と重なりがないため、文字位置を編集しない。また、文字「さ」については行外の文字「大」と重なり合うため、文字位置を編集する。この文字位置の編集は、例えば以下のように行う。
【0174】
媒体が横書きであって条件式(9) を満たして重なりがあると判定されたとき、ys=MAX(ys1、ys2)とし、ye=MIN(ye1、ye2)とする。ys=ys1である場合にはys1に(ye+P641)を代入し、ys=ys2である場合にはys2に(ye+P642)を代入することにより文字位置を編集する。また、ye=ye1である場合には、ye1に(ys−P631)を代入し、ye=ye2である場合には、ye2に(ys−P632)を代入することにより文字位置を編集する。
【0175】
また、媒体が縦書きであって条件式(10)を満たして重なりがあると判定されたとき、xs=MAX(xs1、xs2)とし、xe=MIN(xe1、xe2)とする。xs=xs1である場合にはxs2に(xe+P681)を代入し、xs=xs2である場合にはxs1に(xe+P682)を代入することにより文字位置を編集する。また、xe=xe1である場合には、xe1に(xs−P671)を代入し、xe=xe2である場合には、xe2に(xs−P672)を代入することにより文字位置を編集する。
【0176】
その後、着目するi番目の行に属するk番目の文字と、j番目の行に属するm番目の文字との重なり判定が終了したかどうかを判定する(図13の1311)。これが終了したと判定された場合には、i番目の行内の文字すべてが終了したかどうかを判定する(図13の1312)。これが終了したと判定された場合には、j番目の行のすべてが終了したかどうかを判定する(図13の1313)。これが終了したと判定された場合には、着目するi番目の行すべてが終了したかどうかを判定する(図13の1314)。これが終了したと判定された場合には、行外文字編集の処理を終了する(図13の1319)。
【0177】
なお、処理1309において重なりなしと判定した場合には、処理1311を次に行う。処理1311において終了しないと判定した場合には、mにm+1を代入したのち(図13の1315)、処理1308を行う。処理1312において終了しないと判定した場合には、kにk+1を代入したのち(図13の1316)、処理1307を行う。処理1313において終了しないと判定した場合には、jにj+1を代入したのち(図13の1317)、処理1304を行う。処理1314において終了しないと判定した場合には、iにi+1を代入したのち(図13の1318)、処理1303を行う。
【0178】
図14(C)は、第1行外文字編集部における編集結果を示す図である。図14(C)に示すように、例えば、第1行外文字編集部は、切り出された文字であって異なる行に属する文字「さ」および文字「大」について重なり合うと判定しそれらの文字位置を編集する。各文字の文字位置(図中、太線で示す矩形の領域)は、他の行に属する文字の文字位置と互いに重なり合わない程度に離間した位置となるように、編集されている。
【0179】
また、この実施の形態の複合文字編集部1290では、異なる行における文字位置の編集を行ったのち、第2の実施の形態と同様に同一行内における文字位置の編集を行う。また、そののち、第2の実施の形態と同様に、複合文字位置判定部1030および複合文字認識部180が最終的な文字の認識結果を決める。
【0180】
この第3の実施の形態の文字読取装置1200によれば、各文字切出し部で切り出された文字が、この文字の属する行とは異なる行に属する文字と重なっているか否かを判定できる。そして、重なっている場合にはそれらの文字の文字位置を編集できる。
【0181】
そのため、この文字読取装置では、行内の文字同士が重なって切り出された場合でも、第1の実施の形態と同様に、文字位置が1対1で対応するか否かを正確に判定できる。しかも、行外の文字との文字位置の編集を行ったのち、第1或いは第2の実施の形態にて説明したような同一行内における文字位置の編集を行うと、文字位置の対応を、第1或いは第2の実施の形態よりも更に正確に判定できる。したがって、更に、文字認識率を高めることができる。
【0182】
4.第4の実施の形態
上述の第3の実施の形態の文字読取装置1200は、この同一行内における文字の重なり判定前に、切り出された文字と、この文字の属する行とは異なる行に属する文字とが重なり合っているか否かを判定し、かつ、重なり合う場合にはこれらの文字の文字位置を編集する点に着目した装置であった。一方、この第4の実施の形態での文字読取装置では、同一行内での文字の重なり判定前に、文字切出し部で切り出された文字と、行切出し部でそれぞれ切り出された行であって当該文字の属する行とは異なる行とが重なり合っているか否かを判定し、かつ、重なり合う場合には当該文字の文字位置を編集する。
【0183】
この第4の実施の形態の装置1500は、文字切り出し処理の中間処理として行単位の切り出しが行われる場合(一般にはこれが多い)の、この行切り出し情報をも利用する点に特徴を持つ装置である。
【0184】
図15は、第4の実施の形態の文字読取装置1500の構成を示すブロック図である。ここでは、第4の実施の形態の思想を第2の実施の形態の文字読取装置に適用した例を示してあるため、第2の実施の形態の文字読取装置との相違点について主に説明する。なお、この第4の実施の形態の思想を第1の実施の形態の文字読取装置に適用しても良い。
【0185】
この第4の実施の形態の文字読取装置1500は、第2の実施の形態の文字読取装置と同様に、第1、第2および第N文字認識エンジン130、140および1010を具える。
【0186】
この文字読取装置1500は、第2の実施の形態の文字読取装置とはそれぞれ異なる構成の複合判定部1510を具える。
【0187】
すなわち、この複合判定部1510では、各文字認識エンジン130、140および1010でそれぞれ切り出された文字が、同一行内の文字と重なっているか否かを判定するのみならず、他の行と重なっているか否かも判定する。そして、重なり合う場合にはその重なる文字の文字位置を編集する。その後、第2の実施の形態と同様の処理を行うことにより、複合的に最終的な認識結果を得る。
【0188】
これを実現するため、この複合判定部1510は、第2の実施の形態とは異なる構成の複合文字編集部1590を具える。
【0189】
また、各文字認識エンジン130、140および1010は、それぞれ文字切出し部の各前段に個々に設けられた行切出し部を具える。そのため、各行切出し部131、141および1011は、媒体の領域から行を切り出すと共に、その切り出した行の行位置の情報を生成する。この行位置の情報に基づいて、以下に示すような重なり判定を行うことができる。
【0190】
この複合文字編集部1590は、第1、第2および第N行内文字編集部191、192および1093の各前段に第1、第2および第N対行文字編集部1591、1592および1593を具える。この第1、第2および第N行内文字編集部191、192および1093については、第2の実施の形態のものと同様であるので、説明を省略する。
【0191】
また、複合判定部1510のその他の構成すなわち複合文字位置判定部1030および複合文字認識部180については、第2の実施の形態の構成と同様であるので、説明を省略する。
【0192】
この第1、第2および第N対行文字編集部1591、1592および1593は、各文字認識エンジン130、140および1010で切り出された文字と、この文字の属する行とは異なる行とが、互いに重なり合っているか否かを判定する。そして、重なり合う場合にはその重なる文字の文字位置を編集する。
【0193】
続いて、第4の実施の形態の文字読取装置1500の動作につき説明する。ただし、第2の実施の形態にて説明したものについては説明を省略する。よって、以下では、対行文字編集部につき主に説明する。
【0194】
図16は、対行文字編集部の動作を示すフローチャートである。ただし、第1、第2および第N対行文字編集部1591、1592および1593は、それぞれ文字認識エンジン毎に処理を行うが、これらは同様の処理動作を行うもので良い。
【0195】
第1、第2および第N対行文字編集部1591、1592および1593が処理を開始する(図16の1601)。なお、第2および第N対行文字編集部1592および1593は、以下に説明する第1対行文字編集部と同様に動作するため、その説明を省略する。
【0196】
先ず、第1対行文字編集部1591は、第1行切出し部131で切り出された行の行IDを示す変数iに1を代入して初期化したのち(図16の1602)、この行とは異なる行の行IDを示す変数jにi+1を代入して初期化する(図16の1603)。
【0197】
各変数を初期化したのち、第1対行文字編集部1591は、i番目の行が、j番目の行と重なっているか否かを判定する(図16の1604)。
【0198】
なお、この行の重なり判定は必ず行うべき処理ではない。しかしながら、着目する文字と、この文字の属する行とは異なるすべての行とについて重なりを判定したのでは、判定に長時間を要する。そのため、特に、着目する行に含まれる文字の文字位置と、それ以外の行の行位置との重なり判定前に、着目する行およびそれ以外の行の行位置の重なり判定を行っている。これにより、文字および行の重なり判定を短時間で行うことができる。なお、この行の重なり判定については、例えば次のように行う。
【0199】
例えば、媒体が横書きの場合には、i番目の行を図2の領域201とし、j番目の行を図2の領域202と見なす。このとき、各行位置の座標が、重なり判定条件式:((ys1−P51)≦ye2)かつ((ye2+P52)≧ys2)・・・(11)を満たす場合に、各行は重なり合うと判定できる。ただし、P51およびP52は、任意の値を示す。また、媒体が縦書きの場合には、j番目の行およびk番目の行の重なり判定においては、重なり判定条件式:(((xs1−P53)≦xe2)かつ((xe1+P54)≧xs2)・・・(12)を満たす場合に、各行は重なり合うと判定できる。ただし、P53およびP54は、任意の値を示す。
【0200】
以上のように、行が重なっているか否かを判定し(図16の1605)、i番目の行とj番目の行が重なっていない場合には、そのまま後述の処理1607に移行する。
【0201】
重なっている場合には、j番目の行の行位置に対してi番目の行に属する文字の文字位置を編集すると共に、i番目の行の行位置に対してj番目の行に属する文字の文字位置を編集する(図16の1606)。このとき、例えば、i番目の行に属する文字は、j番目の行と重なり合わないように文字位置が編集されると共に、j番目の行に属する文字は、i番目の行と重なり合わないように文字位置が編集される。この文字位置の編集は、例えば次のように行う。
【0202】
ここで媒体が横書きの場合には、i番目の行に属するk番目の文字の文字位置が、左上(xs(k)、ys(k))および右下(xe(k)、ye(k))で表されるとする。また、i番目の行の行位置はys1およびye1であり、j番目の行の行位置はys2およびye2であるから、ys=MAX(ys1、ys2)とし、ye=MIN(ye1、ye2)とする。このとき、ys≦ys(k)≦yeを満たすならば、ys(k)に(ye+P55)を代入し、ys≦ye(k)≦yeを満たすならば、ye(k)に(ys−P56)を代入する。また、j番目の行の文字位置に対しても、同様に文字位置を編集する。また、媒体が縦書きの場合には、横書きの場合にy軸に対して文字位置を編集したところを、x軸に対して文字位置を編集すればよい。
【0203】
以上のように文字および行が重なっているか否かを判定し、重なっている場合にはその文字位置を編集する(図16の1606)。
【0204】
i番目の行内すべての文字およびj番目の行の重なり判定と、j番目の行すべての文字およびi番目の行の重なり判定とが、すべてのjについて終了したか否かを判定する。終了していない場合にはjにj+1を代入して(図16の1609)、処理1604を行う。終了した場合には、すべてのiについて終了したか否かを判定する。終了していない場合にはiにi+1を代入して(図16の1610)、処理1603を行う。すべてのiについて終了すると、対行文字編集を終了する(図16の1611)。
【0205】
図17は、第1対行文字編集部で文字位置を編集した結果の説明に供する図である。図17(A)は、図14(A)に示すものと同じ文字列パタンについて、それぞれ行と文字との位置編集がなされる前の状態を示し、図17(B)は、行と文字との位置編集がなされた後の状態を示す。
【0206】
図17(B)では、切り出された文字のうち、文字「小」については行L2と重なりがないため、文字位置を編集しない。また、文字「さ」については行L2と重なり合うため、文字位置を編集する。各文字の文字位置(図中、太線で示す矩形の領域)は、各文字の属する行とは異なる行の行位置と重なり合わない程度に離間した位置となるように、編集されている。
【0207】
また、この実施の形態の複合文字編集部1590では、異なる行における文字位置の編集を行ったのち、第2の実施の形態と同様に同一行内における文字位置の編集を行う。また、そののち、第2の実施の形態と同様に、複合文字位置判定部および複合文字認識部が最終的な文字の認識結果を決める。
【0208】
この第4の実施の形態の文字読取装置1500によれば、各文字切出し部で切り出された文字が、この文字の属する行とは異なる行と重なっているか否かを判定できる。そして、重なっている場合にはその文字の文字位置を編集できる。
【0209】
そのため、この文字読取装置では、行内の文字同士が重なって切り出された場合でも、第1の実施の形態と同様に、文字位置が1対1で対応するか否かを正確に判定できる。しかも、行外の文字との文字位置の編集を行ったのち、第1或いは第2の実施の形態にて説明したような同一行内における文字位置の編集を行うと、文字位置の対応を、第1或いは第2の実施の形態よりも更に正確に判定できる。したがって、更に、文字認識率を高めることができる。また、第4の実施の形態の文字読取装置は、他の行内の文字すべてについて重なり判定を行う第3の実施の形態の文字読取装置と比較して、より速く文字位置を編集することができる。
【0210】
5.第5の実施の形態
次に、第5の実施の形態の文字読取装置について説明する。図18は第5の実施の形態の文字読取装置1800の構成を示すブロック図である。
【0211】
この第5の実施の形態の装置1800は、第4の実施の形態と同様に行単位の切り出しを行い、この行切り出し情報を利用する点に特徴をもつ装置である。
【0212】
すなわち、N個の文字認識エンジン130、140、1010(もちろん、文字認識エンジンが2個の場合があっても良い。)間で文字位置が対応する文字を検出するという本発明の特徴的な処理を行う前に、先ず、N個の文字認識エンジンが文字読取対象のデータからそれぞれ切り出した行の位置の情報を得て、この情報によりその後の処理を行うか否かを判断する機能を付加した装置である。
【0213】
そのため、この第5の実施の形態の文字読取装置1800は、これまでの実施の形態とは異なる構成の複合判定部1810を具える。
【0214】
すなわち、この複合判定部1810は、複合行位置判定部1820と、複合文字位置判定部1830と、複合文字認識部180と、複合行/文字編集部1890とを具える。
【0215】
なお、行切出し部で切り出されて複合判定部へ出力される行の行位置の情報は、文字の認識結果に付加されて利用されても良い。したがって、このとき、この発明で言う行の行位置とは、認識結果に含まれる情報と見なせる。そこで以下の説明では、行の位置を、認識結果中の行の位置と称することもある。
【0216】
この複合行/文字編集部1890は、第1、第2および第N行内文字編集部191、192および1093の各前段に第1、第2および第N領域内行編集部1891、1892および1893を具える。
【0217】
この第1、第2および第N行内文字編集部191、192および1093については、第2の実施の形態のものと同様であるので、説明を省略する。
【0218】
この第1、第2および第N領域内行編集部1891、1892および1893は、各行切出し部131、141および1011でそれぞれ切り出された行および他の行が重なり合っているか否かを判定し、重なり合う場合には当該行および他の行のそれぞれの行位置を編集する。
【0219】
なお、このように領域内行編集部で行位置が編集された文字を含む行切出し部で切り出された行を、「位置編集済み行」と称することがある。
【0220】
複合行位置判定部1820は、位置編集済みの行の行位置の情報に基づいて、位置編集済み行の行中に、互いに行位置が対応する行があるか否かを判定する。なお、詳細は後述の動作説明にて述べるが、複合行位置判定部1820では互いに行位置が対応するか否かが判定され、この行位置が対応すると判定された行について、同一行内での文字位置の重なりを判定すると共に必要に応じて文字位置を編集し、この位置編集済みの文字に対して文字位置の対応を判定する。
【0221】
典型的に言うと、例えば、行位置が対応すると判定された行のみについて、このような文字位置の対応判定等を行う。
【0222】
複合文字位置判定部1830は、例えば第2の実施の形態にて説明した複合文字位置判定部1030で構成することができる。
【0223】
ここで、第5の実施の形態の文字読取装置1800の動作につき説明する。なお、この文字読取装置1800の、第1〜第4の実施の形態の装置との相違点は、既に説明したように、特に、複合行/文字編集部1890の第1、第2および第N領域内行編集部1891、1892および1893と、複合行位置判定部1820とにあるので、動作の説明もこの部分について主に行う。
【0224】
図19は、領域内行編集部の動作を示すフローチャートである。ただし、第1、第2および第N領域内行編集部1891、1892および1893は、それぞれ文字認識エンジン毎に処理を行うが、これらは同様の処理動作を行うもので良い。
【0225】
第1、第2および第N領域内行編集部1891、1892および1893が処理を開始する(図19の1901)。なお、第2および第N領域内行編集部1892および1893は、以下に説明する第1領域内行編集部と同様に動作するため、その説明を省略する。
【0226】
第1領域内行編集部1891が処理を開始する(図19の1901)。この第1領域内行編集部1891に第1文字認識エンジン130によって得られた文字の認識結果によって読みとられた文字の認識結果が入力される。
【0227】
先ず、第1領域内行編集部1891は、第1行切出し部131で切り出された行の行IDを示す変数iに1を代入して初期化したのち(図19の1902)、この行とは異なる行の行IDを示す変数jにi+1を代入して初期化する(図19の1903)。
【0228】
各変数を初期化したのち、第1領域内行編集部1891は、i番目の行が、j番目の行と重なっているか否かを判定する(図19の1904)。この重なり判定は、次のように行う。
【0229】
例えば、媒体が横書きの場合には、i番目の行を図2の領域201とし、j番目の行を図2の領域202と見なす。このとき、各行位置の座標が、重なり判定条件式:((ys1−P71)≦ye2)かつ((ye2+P72)≧ys2)・・・(13)を満たす場合に、各行は重なり合うと判定できる。ただし、P71およびP72は、任意の値を示す。また、媒体が縦書きの場合には、j番目の行およびk番目の行の重なり判定においては、重なり判定条件式:(((xs1−P73)≦xe2)かつ((xe1+P74)≧xs2)・・・(14)を満たす場合に、各行は重なり合うと判定できる。ただし、P73およびP74は、任意の値を示す。
【0230】
以上のように、行が重なっているか否かを判定し(図19の1905)、i番目の行とj番目の行が重なっていない場合には、そのまま後述の処理1907に移行する。
【0231】
重なっている場合には、j番目の行の行位置を編集すると共に、i番目の行の行位置を編集する(図19の1906)。例えば、この行位置の編集は以下のように行う。
【0232】
媒体が横書きの場合であって条件式(13)を満たす場合には、ys=MAX(ys1、ys2)とし、ye=MIN(ye1、ye2)とする。このとき、ys=ys1ならばys1に(ye+P73)を代入し、ys=ys2ならばys2に(ys−P74)を代入する。また、ye=ye1ならばye1に(ys−P75)を代入し、ye=ye2ならばye2に(ys−P76)を代入する。また、媒体が縦書きの場合には、横書きの場合にy軸に対して文字位置を編集したところを、x軸に対して文字位置を編集すればよい。
【0233】
続いて、i番目の行とj番目の行との重なり判定が、すべてのjについて終了したか否かを判定する(図19の1907)。終了していない場合にはjにj+1を代入して(図19の1909)、処理1904を行う。終了した場合には、全てのiについて終了したか否かを判定する(図19の1908)。終了していない場合にはiにi+1を代入して(図19の1910)、処理1903を行う。すべてのiについて終了すると、領域内行編集を終了する(図19の1911)。
【0234】
図20は、領域内編集部で行位置を編集した結果の説明に供する図である。図20(A)は、図14(A)に示すものと同じ文字列パタンを含む行について、行位置の編集がなされる前の状態を示し、図20(B)は、各行の位置編集がなされた後の状態を示す。図中、太い破線は、行位置が編集された行を示す。
【0235】
図20(A)に示すように第1行切出し部131で切り出された行L1およびL2は、互いに重なりあう。そのため、第1領域内行編集部1891は、行L1およびL2の行位置を編集する。このとき、図20(B)に示すように、行L1および行L2の行位置は、少なくとも互いに重なり合わない程度に離間した位置(位置編集済み行L1aおよび位置編集済み行L2a参照)となるように、編集される。
【0236】
以上のように、各領域内行編集部1891、1892および1893での処理が終了すると、第5の実施の形態の文字読取装置1800では、各行内文字編集部191、192および1093が同一行内での文字位置の編集を行う。しかる後、複合行位置判定部1820が、各行切出し部で切り出された位置編集済み行中に、互いに行位置が対応する行があるか否かを判定する。言い換えれば、複合行位置判定部1820は、各文字認識エンジンの認識結果中の、行の位置の情報に基づいて、各文字認識エンジンの位置編集済み行の間で、互いに行位置が対応する行があるか否かを判定する。この判定は、例えば以下に示すように、第2の実施の形態にて説明した複合文字位置判定部1030での文字位置の情報に代えて行位置の情報を用いることにより行う。
【0237】
また、この行位置は、例えば図2を参照して説明した文字位置の概念を行位置に適用した概念として考えてもよい。このとき、行位置が対応するか否かの判定条件は、例えば、図7を用いて説明した各条件の中の1または複数を用いることができる。
【0238】
ただし、予め文字の並び(横/縦)や行の並び(縦/横)が明らかな場合は、判定部1820および判定部1830の第1〜第N−1行位置対応判定部および第1〜第N−1文字位置対応判定部(いずれも図示せず。これらの概念は、図12中の1231、1232である。)の判定条件を、他の好適な条件、これに限られないが、例えば以下に図21を参照して説明する条件に変更することで、当該判定処理の処理速度が速くなる。
【0239】
なお、以下に述べる文字の並びや行の並びとは、横書きの文書の場合は、文字の並びは横で行の並びは縦の意味であり、縦書きの文書の場合は、文字の並びは縦で行の並びは横の意味である。
【0240】
図21(A)は、文字が横書き、すなわち、文字の並びが横方向で行の並びが縦方向と、予め分かっている場合の、行位置の対応判定に用いて好適な条件を説明する図である。図21(B)は、同じく文字が横書きと予め分かっている場合の、文字位置の対応判定に用いて好適な条件を説明する図である。
【0241】
図21(A)では行位置の対応判定条件として3通りを示し、図21(B)では文字位置の対応条件として3通りを示しているが、この限りでない。
【0242】
図21(A)中の、その1の条件は、(((ys1−P23)≦ye2)かつ((ye1+P24)≧ys2))・・・(15)である。ただし、P23およびP24は任意の値を示す。
【0243】
この条件式(15)であってP23およびP24がそれぞれ0である条件式は、基エンジンの位置編集済み行の行位置と、他エンジンの位置編集済み行の行位置とが縦方向(Y方向、図2参照)において少しでも重なっている場合に行位置が対応していると判断できる条件式である。このとき、P23およびP24の値を変更することにより、行位置同士の重なりを判断するマージンを調整できる。
【0244】
図21(A)中の、その2の条件は、(((ys1≧(ys2−P25))かつ(ye1≦(ye2+P26)))若しくは((ys2≧(ys1−P27))かつ(ye2≦(ye1+P28)))・・・(16)である。ただし、P25〜P28は任意の値を示す。
【0245】
この条件式(16)であってP25〜P28がそれぞれ0である条件式は、基エンジンの位置編集済み行の行位置が、他エンジンの位置編集済み行の行位置にY方向において全て含まれている場合、若しくは、他エンジンの位置編集済み行の行位置が、基エンジンの位置編集済み行の行位置にY方向において全て含まれている場合に、行位置が対応していると判断できる条件式である。このとき、P25〜P28の値を変更することにより、行位置同士の包含関係を判断するマージンを調整できる。
【0246】
図21(A)中の、その3の条件は、(((MAX(ye1、ye2)−MIN(ys1、ys2))×P29)≧(ye1−ys1))若しくは(((MAX(ye1、ye2)−MIN(ys1、ys2))×P30)≧(ye2−ys2)))・・・(17)である。ただし、P29およびP30は任意の値を示す。
【0247】
この条件式(17)は、Y方向において基エンジンの位置編集済み行の行位置と、他エンジンの位置編集済み行の行位置とが互いに重なり合う部分の高さが、基エンジンの位置編集済み行の行位置のY方向の高さと比較してある程度(P29に依存する。)の割合の場合に、行位置が対応していると判断できる条件式、若しくは、Y方向において基エンジンの位置編集済み行の行位置と、他エンジンの位置編集済み行の行位置とが互いに重なり合う部分の高さが、他エンジンの位置編集済み行の行位置のY方向の高さと比較してある程度(P30に依存する。)の割合の場合に、行位置が対応していると判断できる条件式である。
【0248】
図21(B)中の、その1の条件は、(((xs1−P31)≦xe2)かつ((xe1+P32)≧xs2))・・・(18)である。ただし、P31およびP32は任意の値を示す。
【0249】
この条件式(18)であってP31およびP32がそれぞれ0である条件式は、基エンジンの位置編集済み文字の文字位置と、他エンジンの位置編集済み文字の文字位置とが、横方向(X方向、図2参照)において少しでも重なっている場合に文字位置が対応していると判断出来る条件式である。このとき、P25〜P28の値を変更することにより、文字位置同士の対応関係を判断するマージンを調整できる。
【0250】
図21(B)中の、その2の条件は、(((xs1≧(xs2−P33))かつ(xe1≦(xe2+P34)))若しくは((xs2≧(xs1−P35))かつ(xe2≦(xe1+P36)))・・・(19)である。ただし、P33およびP34は任意の値を示す。
【0251】
この条件式(19)であってP33〜P36がそれぞれ0である条件式は、基エンジンの位置編集済み文字の文字位置が、他エンジンの位置編集済み文字の文字位置にX方向において全て含まれている場合、若しくは、他エンジンの位置編集済み文字の文字位置が基エンジンの位置編集済み文字の文字位置にX方向において全て含まれている場合に、文字位置が対応していると判断出来る条件式である。このとき、P33〜P36の値を変更することにより、文字位置同士の包含関係を判断するマージンを調整できる。
【0252】
図21(B)中の、その3の条件は、(((MAX(xe1、xe2)−MIN(xs1、xs2))×P37)≧(xe1−xs1))若しくは((MAX(xe1、xe2)−MIN(xs1、xs2))×P38)≧(xe2−xs2)))・・・(20)である。ただし、P37およびP38は任意の値を示す。
【0253】
この条件式(20)は、X方向において基エンジンの位置編集済み文字の文字位置と、他エンジンの位置編集済み文字の文字位置とが重なり合う部分の幅が、基エンジンの位置編集済み文字の文字位置のX方向の幅と比較してある程度(P37に依存する。)の割合の場合に、文字位置が対応していると判断出来る条件式、若しくは、X方向において基エンジンの位置編集済み文字の文字位置と、他エンジンの位置編集済み文字の文字位置とが重なり合う部分の高さが、他エンジンの位置編集済み文字の文字位置のX方向の幅と比較してある程度(P38に依存する。)の割合の場合に、文字位置が対応していると判断出来る条件式である。
【0254】
上述の説明では予め文字が横書きと分かっている場合の好適な判定条件例を説明したが、文字が縦書き、すなわち、文字の並びが縦方向で行の並びが横方向と、予め分かっている場合については、上述した行の対応関係の判定と文字の対応関係の判定を入れ換える。すなわち、文字が縦書きの場合は、行の対応関係の判定をX方向について行い、文字の対応関係の判定をY方向について行えば良い。
【0255】
N個の文字認識エンジンの位置編集済み行の間で、対応する行が無かった場合は、例えば、リジェクトを出力する。もちろん、これに限られない。
【0256】
一方、N個の文字認識エンジンの位置編集済み行中に各文字認識エンジン間で互いに対応すると判定された行について、次に、複合文字位置判定部1830による処理が行われる。
【0257】
この複合文字位置判定部1830では、上述の各実施の形態にて説明したような文字位置の対応判定を行う。例えば、この文字位置の対応判定は、各文字認識エンジンの位置編集済み行のうち、1対1に対応すると判定された行についてのみ行っても良い。
【0258】
以上説明したように、この第5の実施の形態の文字読取装置1800によれば、N個の行切出し部でそれぞれ切り出された行および他の行が重なり合っているか否かを判定し、重なり合う場合にはこの行および他の行のそれぞれの行位置を編集する。そして、行位置の編集が済んだ行の行位置の情報に基づいて、行位置の編集が済んだ行中に、互いに行位置が対応する行があるか否かを判定する。このとき対応すると判定した行同士についてのみ文字位置の対応判定を行う。
【0259】
そのため、特に複数行からなる読取対象パタンを文字認識する際に、対応関係の無い行同士について、文字位置が対応する文字が在るか否かの判定が行われることがなくなるので、より処理速度が速くかつ文字認識率が高い文字読取装置を実現できる。
【0260】
図22は、第3、第4或いは第5の実施の形態の文字読取装置の利用形態を説明する図である。図22(A)に示す文字切り出し結果では、行方向に沿って正しく文字列パタンが切り出されている。一方、図22(B)に示す文字切り出し結果では、帳票の傾き等によって、行方向に対して傾いた文字列パタンが切り出されている。すなわち、この図22(B)の場合には、切り出された文字がこの文字の属する行とは異なる行に重なっているため、複合的な文字認識を正しく行えない場合がある。しかしながら、第3、第4或いは第5の実施の形態の文字読取装置によれば、文字位置の対応判定を正しく行えるため、正確に文字を認識できる。
【0261】
上述においては、この発明の文字読取装置のいくつかの実施の形態について説明した。しかしこの発明は上述した実施の形態に何ら限定されるものではなく、多くの変形または変更を加えることができる。
【0262】
たとえば、上述した各実施の形態では、各エンジン間で、位置編集済み文字の文字位置が対応する文字があるか、または、位置編集済み行の行位置が対応する行があるかというように、文字や行に着目した対応関係を判定していた。これらに加えて、行よりさらに広い任意の領域に着目し、このような領域が各エンジン間で対応しているかどうかを判定しこれに基づいて処理を行う場合があっても良い。また、このような領域に対しても、同一行切出し部で切り出される領域が互いに重なりあうか否かを判定し、重なり合う場合には各領域の位置を編集しても良い。具体的には次のような構成となる。
【0263】
すなわち、画像データから、行よりさらに広い任意の領域を切り出す領域切出し部を複数具えると共に、領域の重なりを判定し、編集しかつ対応判定する複合判定部を具えていればよい。この複合判定部は、第5の実施の形態では行に対して、行位置の重なり判定、行位置の編集および行の対応判定を行った処理と同様の処理を、領域に対しても行える構成であればよい。
【0264】
すなわち、この複合判定部は、複数の領域切出し部でそれぞれ切り出された領域と他の領域とが重なり合っているか否かを判定し、重なり合う場合には当該領域および他の領域のそれぞれの領域位置を編集し、領域位置の編集が済んだ領域の領域位置の情報に基づいて、領域位置の編集が済んだ領域中に、互いに領域位置が対応する領域があるか否かを判定し、かつ、対応すると判定した領域それぞれについて文字位置の対応判定を行う複合判定部として良い。
【0265】
こうすれば、各エンジンが抽出する行より広い任意の領域が互いに重なり合わないようにこの領域の位置を編集できる。そして、この編集後の領域のうち、文字位置が対応する文字が含まている確率が高い領域同士に対して、文字位置が対応する文字が在るか否かの処理を行える。なお、行よりさらに広い任意の領域についての対応関係を調べて対応関係があるとされた領域に対し、次に、行位置についての対応関係を調べる処理を実施し、その後、文字位置が対応する文字が在るか否かの処理を行うという具合に、段階的な処理を行う場合があっても良い。
【0266】
また、各実施の形態で説明した処理の手順はこの発明の範囲の一例にすぎず、他の好適な処理手順に変更することができる。
【0267】
【発明の効果】
上述した説明から明らかなようにこの発明の文字読取装置によれば、アルゴリズムが異なる複数の文字切出し部がそれぞれ切り出した文字の認識結果を用いて複合的な認識を行う際に、文字切出し部間で文字位置が対応する文字の認識結果を用いて複合的な認識を行える。また、アルゴリズムが異なる複数の文字認識部それぞれの認識結果を用いて複合的な認識を行う際に、文字認識部間で文字位置が対応する文字の認識結果を用いて複合的な認識を行える。
【0268】
そのため、各文字切出し部(各文字認識部)が同様な文字として切り出した文字同士について複合的な認識を行える。
【0269】
しかも、このような文字位置の対応判定前に、同一の文字切出し部で切り出された文字が重なっているか否かを判定する。そして重なっている場合には、その文字の位置を編集する。そのため、上述の文字位置の対応判定を正確に行える。
【0270】
したがって、アルゴリズムが異なる複数の文字切り出し手法を併用し複合的な文字認識をする文字読取装置や、アルゴリズムが異なる複数の文字認識手法を併用し複合的な文字認識をする文字読取装置において、文字認識率をより高めることができる。
【図面の簡単な説明】
【図1】第1の実施の形態の文字読取装置のブロック図である。
【図2】文字位置(または行位置)の説明に供する図である。
【図3】文字切出し部の動作の説明に供する図である。
【図4】行内文字編集部の動作を示すフローチャートである。
【図5】文字位置の編集結果の説明に供する図である。
【図6】文字位置対応判定部の動作を示すフローチャートである。
【図7】文字位置対応判定部の判定条件を説明する図である。
【図8】文字位置対応判定の結果を説明する図である。
【図9】対応文字抽出部の動作を示すフローチャートである。
【図10】第2の実施の形態の文字読取装置のブロック図である。
【図11】第2の実施の形態の対応文字抽出部の動作を示すフローチャートである。
【図12】第3の実施の形態の文字読取装置のブロック図である。
【図13】第3の実施の形態の行外文字編集部の動作を示すフローチャートである。
【図14】行外文字編集部における文字位置の編集結果の説明に供する図である。
【図15】第4の実施の形態の文字読取装置のブロック図である。
【図16】第4の実施の形態の対行文字編集部の動作を示すフローチャートである。
【図17】対行文字編集部における文字位置の編集結果の説明に供する図である。
【図18】第5の実施の形態の文字読取装置のブロック図である。
【図19】第5の実施の形態の領域内行編集部の動作を示すフローチャートである。
【図20】領域内行編集部における行位置の編集の説明に供する図である。
【図21】第5の実施の形態の説明図であり、文字が横書きと予め分かっている場合の対応関係を判定する好ましい条件例を説明する図である。
【図22】第3、第4或いは第5の実施の形態の文字読取装置の利用形態を説明する図である。
【図23】従来技術を説明する図である。
【図24】従来技術の問題点を説明する図である。
【符号の説明】
100:第1の実施の形態の文字読取装置
132、142:文字切出し部
133、143:文字認識部
160:複合判定部
1000:第2の実施の形態の文字読取装置
1012:第N文字切出し部
1013:第N文字認識部
1020:複合判定部
1200:第3の実施の形態の文字読取装置
1210:複合判定部
1500:第4の実施の形態の文字読取装置
1510:複合判定部
1800:第5の実施の形態の文字読取装置
1810:複合判定部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a character reader. In particular, the final character determination is performed based on a combination of character recognition results obtained by a character reader having a plurality of character segmentation units with different character segmentation algorithms and / or a plurality of character recognition units with different character recognition algorithms. The present invention relates to a character reader that outputs a simple recognition result.
[0002]
[Prior art]
As a conventional character reading device, for example, there is a device disclosed in JP-A-8-263591.
[0003]
In this character reading apparatus, first, as shown in FIG. 23, a starting point P is found for each character image in the document image, and the character is cut out by tracing the outline of the character from the starting point P. Note that L in FIG. 23 indicates an area for one row (the same in FIG. 24).
[0004]
According to this character reading apparatus, character recognition methods (hereinafter referred to as first and second character recognition methods) having different algorithms are used. That is, two character recognition methods are applied to the cut out characters. This character reading device can determine the two character recognition results obtained at this time in combination and output the final recognition result.
[0005]
[Problems to be solved by the invention]
However, when the above character reader is used, as shown in FIG. 24 (A), if the characters are separated because they are faint, as shown in FIG. When noise (dust) is included in addition to the characters in FIG. 24, or when it is considered that the adjacent characters are in contact with each other as shown in FIG. 24C, or in FIG. As shown, for example, in the case of a character in which parts constituting the character are separated, such as “small” of kanji or “i” of hiragana, character extraction may not be performed accurately. Therefore, there is a problem that erroneous recognition is likely to occur. Details will be described below.
[0006]
First, FIG. 24A is a diagram illustrating an example of a character image in which the character “r” is separated into two characters because a part of the character “r” in the character string “for” is faint. In this case, it is ideal that three characters are cut out and recognized, but in the above-described conventional technique, four characters are cut out by mistake. Even if candidate characters are obtained by applying the first and second character recognition methods to characters cut out in error and the recognition result is determined from these candidate characters, only an incorrect recognition result can be obtained.
[0007]
FIG. 24B shows an example of a document image including noise (garbage) “•” in addition to the character string “for”. In this case, it is ideal that the noise is removed (ignored) and cut out as three characters to be recognized. However, in the above-described conventional technique, four characters including noise “•” are cut out. Therefore, noise “·” is also obtained as a recognition result.
[0008]
FIG. 24C shows an example of a document image in which the character “o” and the character “r” in the character string “for” are considered to be in contact with each other. In this case, it is ideal that the character “o” and the character “r” are separated and cut out as three characters, but in the above-described conventional technique, the characters are cut out as two characters. Even if candidate characters are obtained by applying different first and second character recognition methods to the character that is cut out in error, and the recognition result is determined from these candidate characters, only an incorrect recognition result can be obtained.
[0009]
FIG. 24D shows an example of a document image of a character string “small” including characters separated from parts constituting the character, such as a character “small” and a character “I”. In this case, it is ideal that the three characters “small”, “sa”, and “i” are cut out and recognized. However, in the above-described prior art, the six characters “no”, “|”,. Will be cut out by mistake. Even if candidate characters are obtained by applying the first and second character recognition methods to characters cut out in error and the recognition result is determined from these candidate characters, only an incorrect recognition result can be obtained.
[0010]
As described above, the conventional character reader recognizes a character by each of a plurality of character recognition methods with different algorithms, and then determines the final recognition result by making a combined determination of the recognition results by these methods. Generally speaking, various character recognition methods have advantages and disadvantages. For this reason, one character recognition method has limitations in improving the correct reading rate and reducing the misreading rate (hereinafter abbreviated as “increasing the character recognition rate”). However, by using a plurality of character recognition methods in combination, it is possible to complement each other's disadvantages and increase the character recognition rate.
[0011]
The same applies to the character segmentation technique. In other words, there are various methods for character segmentation, but each has advantages and disadvantages. One character segmentation technique has a limit in increasing the character recognition rate. Therefore, a method is also considered in which characters are cut out by each of a plurality of character cutout methods with different algorithms, the cutout characters are recognized, recognition results are obtained, and the final recognition results are determined based on a combination of these recognition results. It is done. When the idea of using a plurality of character segmentation methods with different algorithms in this way is introduced, for example, it is considered that the above-described problems described using FIG. 24 can be reduced.
[0012]
Therefore, in a character reader that uses a plurality of character cutting methods with different algorithms in combination to recognize characters in combination, or a character reader that uses a plurality of character recognition methods in different algorithms to recognize characters in combination, A technique for further increasing the recognition rate is desired.
[0013]
[Means for Solving the Problems]
Therefore, the character reading device of the present invention includes N character cutout units, a character recognition unit, and a composite determination unit. These N character cutout portions have different character cutout algorithms. The character recognition unit recognizes each character extracted from the image data to be read by the N character extraction units and outputs a recognition result. Then, the composite determination unit determines whether or not there is a character corresponding to the character position among the characters extracted by the N character extraction units, and for the character determined to correspond, the corresponding character A final recognition result is determined by making a composite determination from each recognition result in each character recognition unit. This configuration has been filed as Japanese Patent Application No. 10-202506 (unpublished) which is the prior application of the inventors of the present application.
[0014]
On the other hand, the invention according to this application is a character reading apparatus having the above-described configuration (hereinafter referred to as a first configuration), and in particular, the above-described composite determination unit is configured as follows.
[0015]
That is, the composite determination unit determines whether or not the character cut out by the same character cutout unit and another character overlap each other before determining the correspondence of the character position. Edit each character position of.
[0016]
According to the character reading device of the present invention having the above-described configuration, complex recognition is performed only on the character corresponding to the character position among the characters cut out by two or more character cutout units. Note that the characters whose character positions correspond to each other can be said to be characters that have been cut out in the same way by two or more character cutout portions, and thus are highly likely to be regular characters. Therefore, since complex recognition can be performed for a character that has a high probability of being a regular character, the character recognition rate can be increased.
[0017]
In addition, the composite determination unit of the present invention determines whether or not there is an overlap between characters cut out by the same character cutout unit before determining the correspondence of the character positions. Edit. Therefore, the following effects can be obtained.
[0018]
That is, although details will be described later, according to the first configuration, when there is an overlap between characters in the image data to be read, the extracted characters often overlap. For this reason, there is a case where the correspondence between character positions cannot be accurately determined when the correspondence between character positions is determined. As a result, the character recognition rate decreases for media with overlapping characters.
[0019]
Such overlap between characters becomes prominent when the medium (form) is handwritten, when individual characters do not fit in the character frame, or when written in italic characters such as italic characters.
[0020]
However, as described above, if the character positions of the cut out characters are overlapped with each other, the character position correspondence determination can be performed with high accuracy. Therefore, the character recognition rate can be increased even for a medium in which the overlap between characters is significant as described above.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of a character reader according to the present invention will be described below with reference to the drawings. However, the drawings used in the description are merely schematically shown so that the present invention can be understood. Moreover, in each figure, it attaches and shows the same number about the same structural component, The duplicate description may be abbreviate | omitted.
[0022]
1. First embodiment
FIG. 1 is a block diagram illustrating a configuration of a character reading device 100 according to the first embodiment.
[0023]
The character reading apparatus 100 includes a scanner 110, an image memory 111, a character area setting unit 120, a first character recognition engine 130, a second character recognition engine 140, and a composite determination unit 160.
[0024]
Note that some or all of the scanner 110, the image memory 111, and the character area setting unit 120 may be included in an external device instead of being included in the character reading device 100 (the other embodiments described below). Same in form).
[0025]
The scanner 110 optically scans a medium (form) and reads image data on the medium (hereinafter also referred to as image data).
[0026]
The image memory 111 stores image data read by the scanner 110.
[0027]
The character area setting unit 120 sets a character area (an area in which a plurality of characters are written and is an object to be read) for the image data stored in the image memory 111, or a character area from the image data. Extract regions.
[0028]
As a method for setting a character area, for example, there is a method in which image data is displayed on a display or the like (not shown), and an operator sets a character area for this display. However, it is not limited to this. As a method for extracting a character region from image data, for example, there is a method disclosed in Japanese Patent Laid-Open No. 3-126181 related to the applicant of this application. However, it is not limited to this.
[0029]
In this embodiment, the first character recognition engine 130 includes a first line cutout unit 131, a first character cutout unit 132, and a first character recognition unit 133.
[0030]
The first line cutout unit 131 cuts out a line from the character area set or extracted by the character area setting unit 120 in the image data by the first line cutout method.
[0031]
The first character cutout unit 132 cuts out characters from the line cut out by the first line cutout unit 131 by the first character cutout method.
[0032]
The first character recognition unit 133 extracts a character pattern from the image data based on the character position information cut out by the first character cutout unit 132, and further recognizes the character by the first character recognition method.
[0033]
On the other hand, in the case of this embodiment, the second character recognition engine 140 includes a second line cutout unit 141, a second character cutout unit 142, and a second character recognition unit 143.
[0034]
The second line cutout unit 141 cuts out a line from the character region set or extracted by the character region setting unit 120 in the image data by the second line cutout method.
[0035]
The second character cutout unit 142 cuts out characters from the line cut out by the second line cutout unit 141 by the second character cutout method.
[0036]
The second character recognition unit 143 extracts a character pattern from the image data based on the character position information cut out by the second character cutout unit 142, and further recognizes the character by the second character recognition method.
[0037]
Note that the first character cutout method and the second character cutout method are arbitrary character cutout methods having different algorithms. For example, as disclosed in Japanese Patent Application No. Hei 6-261882 (JP-A-8-101858), a method of detecting a frame circumscribing a character, estimating a character pitch from the frame, and cutting out the character based on the pitch As disclosed in JP-A-8-263591, various methods such as a method of cutting out a character by tracing the outline of the character can be used. However, it is not limited to these.
[0038]
The first row cutout method and the second row cutout method may be any suitable method. Of course, the first row cutout method and the second row cutout method may be the same. As the line cutout method, for example, various methods such as the method disclosed in Japanese Patent Application No. 9-218913 and the method disclosed in Japanese Patent Application Laid-Open No. 8-26391 can be used. However, it is not limited to this.
[0039]
The first character recognition method and the second character recognition method may be any suitable method. Of course, the first character recognition method and the second character recognition method may be the same. As a character recognition method, for example, various methods such as a method disclosed in Japanese Patent Publication No. 60-38756 and a method disclosed in Japanese Patent Laid-Open No. 8-263591 can be used. However, it is not limited to these.
[0040]
The composite determination unit 160 will be described in detail later, but the recognition result obtained by the first character recognition engine 130 (hereinafter referred to as the first recognition result) and the recognition result obtained by the second character recognition engine 140 (hereinafter referred to as the following). The final character recognition result is determined based on the second recognition result.
[0041]
The composite determination unit 160 includes a composite character editing unit 190, a composite character position determination unit 170, and a composite character recognition unit 180.
[0042]
In this embodiment, the composite character editing unit 190 includes a first in-line character editing unit 191 and a second in-line character editing unit 192.
[0043]
The first in-line character editing unit 191 determines whether the character extracted by the first character extraction unit 132 and other characters overlap in the same line. If they overlap, the character positions of the character and other characters are edited.
[0044]
The second in-line character editing unit 192 determines whether the character extracted by the second character extraction unit 142 and other characters overlap in the same line. If they overlap, the character positions of the character and other characters are edited.
[0045]
The composite character position determination unit 170 edits the character extracted by the first character extraction unit 132 including the character whose character position has been edited by the first in-line character editing unit 191 and the character position by the second in-line character editing unit 192. For each character with the character cut out by the second character cutout unit 142 including the cut-out character, the character corresponding to the character position is examined, and the recognition result of each corresponding character is obtained as the first character recognition unit 133 and The second character recognition unit 143 extracts the recognition result and outputs it to the composite character recognition unit 180.
[0046]
FIG. 2 is a diagram for explaining the character positions. Hereinafter, character positions will be described with reference to FIG. As shown in FIG. 2, when the upper left of the image data is the origin, the horizontal direction is the X direction, and the vertical direction is the Y direction, the coordinates of the characters cut out by the first character cutout unit 132 are the upper left (xs1, ys1). , Lower right (xe1, ye1). An area 201 surrounded by (xs1, ys1) and (xe1, ye1) is set as a character position of the character cut out by the first character cutout unit 132, for example. Similarly, a region 202 surrounded by (xs2, ys2) and (xe2, ye2) is set as a character position of a character cut out by the second character cutout unit 142, for example. In the following, FIG. 2 may be used to describe the relative positional relationship between the character, line, or region of interest, or other areas in the medium. Therefore, the areas 201 and 202 do not indicate only the characters cut out by the first character cutout unit 132 and the second character cutout unit 142.
[0047]
In the case of this embodiment, the composite character position determination unit 170 includes a character position correspondence determination unit 171 and a corresponding character extraction unit 172.
[0048]
The character position correspondence determination unit 171 of the composite character position determination unit 170 then determines the character position of the character whose position is edited by the first in-line character editing unit 191 for the characters cut out by the first character cutout unit 132 and overlapped with each other. For the characters cut out by the second character cutout unit 142 and overlapped with each other, the character position between the first and second character recognition engines 130 and 140 is determined from the character position of the character whose position is edited in the second inline character editing unit 192. The character corresponding to the position is determined. In this embodiment, the first and second character recognition engines 130 and 140 cut out the first recognition result and the second recognition result character position from the first recognition result character position and the second recognition result character position, respectively. The two-line character editing units 191 and 192 determine whether or not the character positions correspond between the characters whose position has been edited. A method for determining whether or not the character position corresponds will be described later in the explanation of the operation.
[0049]
In addition, the corresponding character extraction unit 172 of the composite character position determination unit 170 recognizes each character whose character position corresponds one-to-one between the character recognition engines in the character determined to be supported by the character position correspondence determination unit 171. The results are extracted from the recognition results of each character recognition engine, and are output to the composite character recognition unit 180.
[0050]
The composite character recognition unit 180 makes a composite determination from the recognition result recognized by the first character recognition engine 130 and the recognition result recognized by the second character recognition engine 140 based on the recognition result of the character corresponding to the character position. Specific recognition results. However, for a character for which there is no character corresponding to the character position between the character recognition engines, for example, a rejection is output.
[0051]
Note that any suitable method may be used as a method of determining the final recognition result by making a combined determination. For example, when the first candidate characters are the same for the characters determined to correspond to the character positions in the recognition results obtained by the first and second character recognition engines respectively cut out and character recognized, A method of determining the first candidate character as a final recognition result can be mentioned. Alternatively, the method proposed in Japanese Patent Application No. 10-97237 relating to this applicant can be mentioned. The method proposed in Japanese Patent Application No. 10-97237 is a configuration in which a plurality of character recognition units output character codes and character shape information as recognition results, and the final recognition results are based on these character codes and character shape information. It is a method of determining.
[0052]
Next, in order to deepen the understanding of the character reading apparatus 100, the operation of the apparatus 100 will be described. Here, description will be made mainly with reference to FIGS.
[0053]
FIG. 3 is a diagram for explaining the operation of the first and second character cutout units 132 and 142. FIG. 4 is a flowchart showing the operation of the first and second inline character editing units 191 and 192. FIG. 5 is a diagram for explaining the result of editing the character positions of the first and second in-line character editing units 191 and 192. FIG. 6 is a flowchart showing the operation of the character position correspondence determination unit 171. FIG. 7 is a diagram for explaining an example of a determination condition as to whether or not a character position corresponds in the character position correspondence determination unit. FIG. 8 is a diagram for explaining the result of the character position correspondence determination. FIG. 9 is a flowchart showing the operation of the corresponding character extraction unit 172.
[0054]
As already explained, when the medium (form) is handwritten, when individual characters are not within the character frame, or when italic characters such as italic characters are written, Since they may overlap each other, it is difficult to determine correspondence between character positions. In order to specifically explain this point, FIG. 3 shows a case where the medium is handwritten.
[0055]
In this character reading apparatus 100, first, a medium (not shown) is scanned by the scanner 110, and image data of this medium is captured. The captured image data is stored in the image memory 111.
[0056]
For the image data stored in the image memory 111, the character area setting unit 120 sets an area (character area) to be read.
[0057]
FIG. 3A is a diagram showing an example pattern 301 for character reading. Here, a pattern in which dust (unnecessary noise) “.” Is attached to a character string “small” is used as a character reading target pattern example 301.
[0058]
Subsequently, for the example pattern 301 to be read, the first line cutout unit 131 cuts out the line, and the first character cutout unit 132 cuts out the line cut out by the first line cutout unit 131. Cut out characters.
[0059]
FIG. 3B is a diagram illustrating characters cut out by the first line cutout unit 131 and the first character cutout unit 132. In FIG. 3B, L indicates a cut out line, and a rectangular frame indicates a cut out character (the same applies to FIG. 3C). In the case of FIG. 3B, four characters “small”, “sa”,..., Excluding the noise “.”, Are cut out.
[0060]
In addition, the second line cutout unit 141 cuts out the line for the example character pattern 301 to be read, and the second character cutout unit 142 cuts the character into the line cut out by the second line cutout unit 141. Cut out.
[0061]
FIG. 3C is a diagram illustrating characters cut out by the second line cutout unit 141 and the second character cutout unit 142. In this case, six characters “No”, “|”.
[0062]
Next, each character cut out by the first line cutout part 131 and the first character cutout part 132 is recognized by the first character recognition part 133. Each character cut out by the second line cutout unit 141 and the second character cutout unit 142 is recognized by the second character recognition unit 143.
[0063]
Subsequently, among the characters cut out by the first line cutout unit 131 and the first character cutout unit 132, the character positions of the characters that overlap each other are edited by the first line character editing unit 191. In addition, among the characters cut out by the second line cutout unit 141 and the second character cutout unit 142, the character positions of the characters that overlap each other are edited by the second line character editing unit 192.
[0064]
After that, each character cut out by the first line cutout unit 131 and the first character cutout unit 132 including the character whose character position is edited, and the second line cutout unit 141 and the second line including the character whose character position is edited. For each character cut out by the character cutout unit 142, the character position correspondence determination unit 171 determines whether there is a character corresponding to the character position.
[0065]
In this embodiment, the recognition result of the first character recognition engine 130 is output to the first in-line character editing unit 191, and the recognition result of the second character recognition engine 140 is output to the second in-line character editing unit 192. The The first in-line character editing unit 191 and the second in-line character editing unit 192 determine whether or not a character input from each character recognition engine overlaps with another character in the same line, and edit each character position of the overlapping character. I do.
[0066]
Here, with reference to FIG. 3, FIG. 4, and FIG. 5, the editing of the character position in the first in-line character editing unit 191 and the second in-line character editing unit 192 will be described in detail.
[0067]
As described above, each character (four characters here) cut out by the first character cutting unit 132 is overlapped in the x direction shown in FIG. 2 as shown in FIG. Further, the characters cut out by the second character cutout unit 142 (here, 6 characters) overlap each other as shown in FIG.
[0068]
When character position correspondence determination as will be described later is performed for each of the characters thus cut out, for example, the character “sa” recognized by the first character recognition engine corresponds to the character position. There are cases where it is determined that there are three characters “,”, “sa” and “i” recognized by the second character recognition engine. Therefore, at this time, the character “sa” is not correctly recognized, and the character recognition rate is lowered.
[0069]
In the present invention, in order to suppress such a decrease in the character recognition rate, the character position is edited as follows before determining the correspondence of the character position.
[0070]
However, in this embodiment, the first in-line character editing unit 191 and the second in-line character editing unit 192 perform processing for each character recognition engine, but these may perform similar processing operations.
[0071]
The first in-line character editing unit 191 and the second in-line character editing unit 192 start editing the character position of the character in the same line (401 in FIG. 4). Since the second in-line character editing unit 192 operates in the same manner as the first in-line character editing unit 191 described below, the description thereof is omitted.
[0072]
First, the first in-line character editing unit 191 sets a variable i indicating the row ID of the line cut out by the first line cut-out unit 131 (the number indicating the number of lines among the lines cut out by the line cut-out unit). After substituting 1 for initialization (402 in FIG. 4), the character ID of the character cut out by the first character cutout unit 132 (which indicates the number of the character cut out by the character cutout unit) (1) is initialized by substituting 1 into a variable j indicating (number). Then, initialization is performed by substituting j + 1 for a variable k indicating a character ID of a character other than the jth character of interest (404 in FIG. 4).
[0073]
After initializing each variable, the first in-line character editing unit 191 determines whether or not the j-th character of interest and the other k-th character overlap each other (405 in FIG. 4). This overlap determination is performed as follows, for example.
[0074]
In the overlap determination of the jth character and the kth character, when the medium is horizontally written, it can be determined that there is an overlap when the character position of each character satisfies the following conditional expression.
[0075]
As shown in FIG. 2, the character position of the jth character is defined as an area 201 surrounded by the upper left (xs1, ys1) and lower right (xe1, ye1), and the character position of the kth character is defined as (xs2, ys2). ) And (xe2, ye2). At this time, when the coordinates of each character position satisfy the overlap determination conditional expression: (((xs1−P41) ≦ xe2) and ((xe1 + P42) ≧ xs2) (1), each character has an overlap. However, in the equation, P41 and P42 indicate arbitrary values, and when the medium is vertically written, in the overlap determination of the jth character and the kth character, the overlap determination conditional expression: (( If ys1−P51) ≦ ye2) and ((ye1 + P52) ≧ ys2)) (2) are satisfied, it can be determined that each character has an overlap. However, P51 and P52 in the formula indicate arbitrary values.
[0076]
As described above, in character overlap determination, in both horizontal writing and vertical writing, when character positions of characters in the same line are at least viewed in the direction along the line, these characters overlap each other. May be determined to overlap each other. Therefore, in this case, it is determined that the character positions of the cut out characters do not overlap each other when viewed in a plane pattern, but overlap when viewed in the direction along the line. Further, the method for determining overlap is not limited to this.
[0077]
Subsequently, the first in-line character editing unit 191 edits each character position of the j-th and k-th characters determined to overlap each other (406 in FIG. 4) (407 in FIG. 4). At this time, for example, the character position of each character is edited as follows.
[0078]
When the medium is horizontally written and conditional expression (1) is satisfied, xs = MAX (xs1, xs2) and xe = MIN (xe1, xe2) are set. When xs = xs1, (xe + P43) is substituted for xs1, and when xs = xs2, (xe + P43) is substituted for xs2. When xe = xe1, (xs−P44) is substituted for xe1, and when xe = xe2, (xs−P44) is substituted for xe2. In the formula, MAX (A, B) takes the larger value of A and B, and MIN (A, B) means the smaller value of A and B. (However, when A = B, the value is taken.)
[0079]
If the medium is vertically written and conditional expression (2) is satisfied, ys = MAX (ys1, ys2) and ye = MIN (ye1, ye2) are set. When ys = ys1, (ye + P53) is substituted for ys1, and when ys = ys2, (ye + P53) is substituted for ys2. When ye = ye1, (ys−P54) is substituted for ye1, and when ye = ye2, (ys−P54) is substituted for ye2.
[0080]
As shown in FIG. 3, since the X coordinate xe1 of the right side of the jth character is larger than the X coordinate xs2 of the left side of the kth character, the conditional expression (1) is satisfied. Since xs = xs2 and xe = xe1, (xe + P43) is substituted for xs1, and (xs−P44) is substituted for xe1. Therefore, the X coordinate of the right side of the jth character is (xs2-P44), and the X coordinate of the left side of the kth character is (xe1 + P43). Further, by changing the values of the constants P41 to P44, it is possible to determine the overlapping of both characters or adjust the margin for editing the character positions of both characters.
[0081]
The editing of the character position for the jth character is repeatedly performed from k = j + 1 to k = n (where n is the number of characters in the line). That is, it is determined whether or not the editing of the character positions of the jth character and all the kth characters has been completed (408 in FIG. 4), and if not, k + 1 is substituted for k. (411 in FIG. 4), the character position is edited.
[0082]
Then, for all the j-th characters, it is determined whether or not the editing of the character position of the j-th character and each character position of the k-th character is completed (409 in FIG. 4). Substitutes (j + 1) for j (412 in FIG. 4), and edits each character position for the (j + 1) th character.
[0083]
When editing of character positions for all the characters in the i-th line is completed, (i + 1) is substituted for i (413 in FIG. 4), and the character position is edited for the (i + 1) -th line. If it is determined that the editing of the character position is completed for all the lines of the medium (410 in FIG. 4), the in-line character editing is terminated (414 in FIG. 4).
[0084]
FIGS. 5A and 5B show a state in which the character positions are edited as described above for the characters in FIGS. 3B and 3C, respectively. As shown in FIG. 5, the character position of each character (rectangular area indicated by a thick line in the figure) is edited so that it is spaced apart from the character position of other characters.
[0085]
In the editing of the character position in this illustrated example, the character position is edited by reducing the area of each character position so that the character positions indicating the areas cut out by the character cutout unit do not overlap each other. Yes.
[0086]
The character cut out by the character cutout unit including the character whose character position has been edited by the composite character editing unit as described above may be referred to as “position edited character”.
[0087]
Next, the operation of the character position correspondence determination unit 171 will be described with reference to FIGS.
[0088]
In this embodiment, the first character recognition engine 130 is hereinafter referred to as a “base engine” on the assumption that it is a reference engine. Each character cut out by the base engine becomes a reference character. Further, a character recognition engine other than the base engine (the second character recognition engine 140 in the first embodiment) is hereinafter referred to as “another engine”. Therefore, in this embodiment, the first character cutout portion 132 corresponds to a reference character cutout portion, and each character cut out by the first character cutout portion 132 corresponds to a reference character.
[0089]
First, when the character position correspondence determining unit 171 starts processing (601 in FIG. 6), the character position correspondence determining unit 171 is cut out by the first character recognition engine 130 including the character edited by the first in-line character editing unit 191. The character position information of the selected character is defined as the character position information of the base engine, while the character position of the character cut out by the second character recognition engine 140 including the character edited by the second in-line character editing unit 192 Is defined as information on the character positions of other engines.
[0090]
Note that the character position information of the character cut out by the character cutout unit and output to the composite determination unit may be used by being added to the character recognition result. Accordingly, at this time, the character position of the character referred to in the present invention can be regarded as information included in the recognition result.
[0091]
The character position correspondence determination unit 171 includes a buffer that stores the correspondence character IDs and the number of correspondence characters between the base engine and the other engines.
[0092]
Next, the character position correspondence determining unit 171 initializes this buffer by inputting 0 into the buffer for storing the corresponding character ID and the number of corresponding characters (602 in FIG. 6).
[0093]
Subsequently, after initializing by assigning 1 to a variable i indicating the character ID of the character cut out by the base engine (number indicating the number of the character cut out by the base engine) (603 in FIG. 6), etc. Initialization is performed by substituting 1 into a variable j indicating a character ID of a character cut out by the engine (a number indicating the number among characters cut out by other engines) (604 in FIG. 6).
[0094]
Next, the correspondence relationship between the character positions of the i-th position edited character of the base engine and the j-th position edited character of the other engine is determined (605 in FIG. 6). Here, the character position is the concept described with reference to FIG. Further, for example, the determination as to whether or not the character position corresponds is performed as follows.
[0095]
FIG. 7 is a diagram for explaining the correspondence determination, and is a diagram showing the determination condition for the existence of the correspondence relationship. Here, four determination conditions of 1 to 4 are shown. When any one of these four conditions is satisfied, it can be determined that there is a correspondence between character positions. Of course, in carrying out the present invention, only one of the 1 to 4 may be fixed as a determination criterion, and there is a correspondence relationship when one of the two is satisfied as a determination condition. Alternatively, it may be determined that there is a correspondence if one of them is satisfied by using three as determination conditions. Further, the determination conditions are not limited to these four.
[0096]
The first conditional expression is (((xs1−P1) ≦ xe2) and ((xe1 + P2) ≧ xs2) and ((ys1−P3) ≦ ye2) and ((ye1 + P4) ≧ ys2)) (3) It is. However, P1-P4 in a formula shows arbitrary values.
[0097]
According to this conditional expression (3), in which the values of P1 to P4 are set to 0, the position-edited characters of the base engine and the position-edited characters of other engines are slightly overlapped. The state can be detected. That is, it can be determined that there is a correspondence in a state where both characters overlap even a little. Further, by changing the values of P1 to P4, it is possible to adjust the margin for determining that both characters overlap.
[0098]
The second conditional expression is (((xs1 ≧ (xs2−P5)) and (xe1 ≦ (xe2 + P6)) and (ys1 ≧ (ys2−P7)) and (ye1 ≦ (ye2 + P8))) or (( xs2 ≧ (xs1−P9)) and (xe2 ≦ (xe1 + P10)) and (ys2 ≧ (ys1−P11)) and (ye2 ≦ (ye1 + P12))))) (4) However, P5-P12 in a formula shows arbitrary values.
[0099]
According to the conditional expression (4), in which the values of P5 to P12 are 0, the character position of the position edited character of the base engine is included in the character position of the position edited character of the other engine. The state or the opposite state can be detected. That is, it can be determined that there is a correspondence in a state where one character position is included in the other character position. Also, by changing the values of P5 to P12, it is possible to adjust the margin for determination that one character position is included in the other character position.
[0100]
The three conditional expressions are (((xs1 ≧ (xs2−P13)) and (xe1 ≦ (xe2 + P14)) and ((ys1−P15) ≦ ye2) and ((ye1 + P16) ≧ ys2)) or (( xs2 ≧ (xs1−P17)) and (xe2 ≦ (xe1 + P18)) and ((ys1−P19) ≦ ye2) and ((ye1 + P20) ≧ ys2))) (5) However, P13-P20 in a formula shows arbitrary values.
[0101]
According to this conditional expression (5), in which the values of P13 to P20 are 0, the character position of the position-edited character of the base engine is in the Y direction to the character position of the position-edited character of the other engine. The character position of the edited character in the base engine is included in the character position of the edited character in the other engine in the X direction (the horizontal direction of the character). The state can be detected. Or, the character position of the position edited character of the other engine overlaps the character position of the base engine position edited character in the Y direction (the vertical direction of the character) even slightly, and the character of the position edited character of the other engine It is possible to detect a state where the position is included in the character position of the position-edited character of the base engine in the X direction (character horizontal direction). That is, it can be determined that one character position has a corresponding relationship with the other character position in a state where the character position partially overlaps in the y direction and is included in the X direction. In addition, by changing the values of P13 to P20, it is possible to adjust the margin between the determination that one character position overlaps the other character position in the y direction and the determination that the character position is included in the X direction.
[0102]
Note that the above third condition is a condition when the character is written horizontally. That is, this is an example in which the first direction is considered as the vertical direction of the vertical and horizontal directions of the character, and the second direction is considered as the horizontal direction. When the character is written vertically, a conditional expression in which x and y in the above expression (3) are exchanged may be used.
[0103]
The fourth conditional expression is (((MAX (xe1, xe2) −MIN (xs1, xs2)) × (MAX (ye1, ye2) −MIN (ys1, ys2)) × P21) ≧ ((xe1− xs1) × (ye1-ys1))) or (((MAX (xe1, xe2) −MIN (xs1, xs2)) × (MAX (ye1, ye2) −MIN (ys1, ys2)) × P22) ≧ (( xe2-xs2) × (ye2-ys2))) (6) P21 and P22 represent arbitrary values.
[0104]
According to this conditional expression (6), the area of the portion where the position edited character of the base engine and the position edited character of the other engine overlap is compared with the area of the character position of the position edited character of the base engine. Or a certain ratio (depending on P21) or a certain ratio (depending on P22) compared to the area of the character position of the position edited character of another engine. be able to. That is, it can be determined that the area of the portion where both characters overlap has a corresponding relationship with the area of any one of these characters. In addition, by changing the values of P21 and P22, it is possible to adjust the margins of judgment regarding the above ratios.
[0105]
8A and 8B are diagrams for explaining the result of determining the correspondence as described above. That is, it is a diagram for explaining the result of determining the correspondence between the i-th character among the position-edited characters of the base engine and the j-th character among the position-edited characters of the other engines.
[0106]
In the determination of whether or not there is a correspondence relationship (606 in FIG. 6), if there is a correspondence relationship, the corresponding character ID column of the i-th position edited character of the base engine is a character corresponding thereto. To set the character ID of the position edited character of the other engine. Further, the number of characters corresponding to the position-edited character of the other engine and the position-edited character of the other engine is set in the column of the number of characters corresponding to the i-th position-edited character of the base engine. Further, the character ID of the character corresponding to the jth character of the other engine and the character edited for the position of the base engine is set in the column of the corresponding character ID of the jth character of the other engine. Further, the number of characters corresponding to this and the position-edited characters of the base engine is set in the column of the number of characters corresponding to the j-th character of the other engine (607 in FIG. 6).
[0107]
Specifically, in the example of FIG. 8A, the first character 801 of the position edited character of the base engine is the first to third characters 811 to 3 of the position edited character of the other engine. 813 corresponds to the character position. Therefore, as shown in FIG. 8B, the corresponding character ID of the first position edited character of the base engine is set to 1, 2, and as the character ID of the corresponding character among the position edited characters of the other engine. Set 3 Furthermore, 3 is set as the number of characters of the corresponding character among the position-edited characters of the other engines in the field of the number of characters corresponding to the first character of the base engine. Also, 1 is set as the character ID of the corresponding character among the position-edited characters of the base engine in the corresponding character ID columns of the first, second and third characters of the other engines. Furthermore, 1 is set as the number of characters of the corresponding character among the position-edited characters of the base engine in the column of the number of characters corresponding to the first, second and third characters of the other engines.
[0108]
Further, in the example of FIG. 8A, the second character 802 of the base engine position edited character corresponds to the fourth character 814 of the other engine position edited character. Further, the third character 803 of the base engine position edited character corresponds to the fifth character 815 of the position edited character of the other engine in the character position. The fourth character 804 of the base engine position-edited character corresponds to the character position of the fifth character 815 of the other engine position-edited character. However, the character whose character position corresponds to the sixth character 816 of the position edited character of the other engine does not exist in the position edited character of the base engine.
[0109]
For each of the characters 802 to 804 and 814 to 815 having the correspondence relationship, information is set in the information column regarding the corresponding character ID and the number of corresponding characters in the same manner as described for the character 801 (608 to 611 in FIG. 6 and (See FIG. 8B).
[0110]
When the determination of the correspondence relationship between the position edited characters of the base engine and the position edited characters of the other engine is completed (612 in FIG. 6), the processing by the corresponding character extraction unit 172 is as follows. To be done. This process will be described with reference to FIG.
[0111]
When the process starts (901 in FIG. 9), the corresponding character extraction unit 172 first initializes by substituting 1 into the variable i indicating the character ID of the base engine (902 in FIG. 9). Next, the number of characters corresponding to the i-th position edited character of the base engine (that is, the number indicating the number of characters corresponding to the other engine side) is acquired (903 in FIG. 9), and the acquired number of corresponding characters is 1. Is determined (904 in FIG. 9). When the number of corresponding characters is 1, the corresponding character ID of the i-th position edited character of the base engine (that is, the character number on the other engine side) is acquired (905 in FIG. 9). Next, the number of corresponding characters in the other engine specified by the acquired corresponding character ID (that is, a number indicating whether there are some corresponding characters on the base engine side) is acquired (906 in FIG. 9). It is determined whether or not the acquired number of corresponding characters is 1 (907 in FIG. 9). When the number of corresponding characters is 1, the corresponding character ID of this character (that is, the character number on the base engine side) is acquired (908 in FIG. 9). If the acquired corresponding character ID matches i indicating the character ID of the base engine (909 in FIG. 9), the recognition result of the i-th position edited character of the base engine and the i-th position edit The recognition result of the character on the other engine side specified by the corresponding character ID of the completed character is acquired (910 in FIG. 9). It is determined whether corresponding character extraction for the number of characters cut out by the base engine has been completed (911 in FIG. 9). If not, i is incremented by 1 as the character ID of the base engine, and the processing is repeated from step 903 ( 912 of FIG.
[0112]
According to the series of processing described with reference to FIG. 9, when there is one character corresponding to the character position on the other engine side with respect to the position-edited character of the base engine (that is, one-to-one). When there is a corresponding character), the recognition results of the character on the base engine side and the character on the other engine side can be extracted.
[0113]
Although details will be described later, using this extracted recognition result, the composite character recognition unit 180 performs composite recognition and determines a final recognition result.
[0114]
If it is determined that the number of corresponding characters is not 1 in the processing 904 or the processing 907, or if the corresponding character ID is not i in the processing 909, have the corresponding characters extracted by the number of characters extracted by the base engine been completed? It is determined whether or not (911 in FIG. 9), and if not completed, the character ID of the base engine is incremented by 1 and the processing is repeated from step 903 (912 in FIG. 9).
[0115]
However, the process 908 and the process 909 may not be included in the series of processes described with reference to FIG. This is because if the number of corresponding characters is determined to be 1 in the process 907, the corresponding character ID acquired in the process 908 always matches i indicating the character number of the base engine.
[0116]
When the processing by the corresponding character extraction unit 172 described above is performed on the recognition target pattern “small” having the character position correspondence as described with reference to FIG. 8, the second in the position-edited characters of the base engine. The first character 802, that is, “sa”, and the fourth character 814 in the position-edited characters of other engines, that is, “sa”, have a one-to-one correspondence. Therefore, only the recognition result of these “sa” characters is extracted and output to the composite character recognition unit 180.
[0117]
Note that the number of candidate characters output by the character recognition units of the base engine and other engines can be any number according to the character recognition technique. In other words, each character recognition unit of the base engine and the other engine may list a single candidate character or a plurality of candidate characters.
[0118]
The composite character recognizing unit 180 compositely determines each recognition result for each recognition result of the characters having a one-to-one correspondence, and outputs a final recognition result.
[0119]
There are no particular limitations on the criteria for performing complex recognition. As described in the description of the device configuration, for example, when it is determined that the edited character position in the recognition result obtained by the first and second character recognition engines respectively cut out and recognized by the character corresponds, A method of determining the first candidate character as the final recognition result when the first candidate characters are the same can be cited. Alternatively, the method proposed in Japanese Patent Application No. 10-97237 relating to this applicant can be mentioned. In the method proposed in Japanese Patent Application No. 10-97237, a plurality of character recognition units output character codes and character shape information (may be other parameters than character shape information) as recognition results. The final recognition result is determined based on the character code and the character shape information (or other parameters).
[0120]
According to the character reading device of the first embodiment, after the character string to be read is cut out by the first character cutout unit and the second character cutout unit, the characters cut out by the respective character cutout units are within the same line. After determining whether or not they overlap with each other, edit the character positions of the overlapping characters, and composite recognition processing only for the characters whose character positions correspond one-to-one between the position-edited characters of each character cutout part Can be done. Characters that are cut out by the first and second character cutout portions having different algorithms and that correspond to each other in character positions have a high probability (probability) of being normal characters. In other words, a non-character portion caused by blurring as described with reference to FIG. 24A, a noise portion as described with reference to FIG. 24B, and FIG. 24C. A portion in which a plurality of characters are combined by contact, a separation portion in a part constituting a character as described with reference to FIG. 24D has a low probability of being similarly cut out by each character cutout portion. Conceivable. For this reason, it is considered that the one-to-one correspondence of the character positions between the character cutout portions is unlikely to occur between the character cutout portions, so that the probability of being sent to the composite character recognition portion is low. Therefore, the character recognition rate in composite character recognition can be increased.
[0121]
The character reading device according to the first embodiment particularly includes an in-line character editing unit. The in-line character editing unit determines whether or not the characters in the line overlap each other with respect to the characters cut out by the character cut-out units. If they overlap, the character positions of the overlapping characters are edited. Therefore, according to this character reading device, even when characters in a line overlap and are cut out, it can be accurately determined whether or not the character positions correspond one-to-one.
[0122]
For example, when such an in-line character editing unit is not provided, the character position correspondence determination is performed for the characters cut out as shown in FIGS. 3 (B) and 3 (C). Therefore, depending on the character position correspondence determination condition, the character “sa” of the first character recognition engine and the characters “,”, “sa” and “i” of the second character recognition engine are It may be determined that it corresponds. However, as described above, if the character position is edited before the character position correspondence determination, such erroneous determination can be reduced.
[0123]
In the above-described embodiment, a line represented by one horizontal line has been described as an example of a pattern to be processed. However, in the case of vertical writing, when characters are cut out from a plurality of lines, they exist in separate lines. The present invention can also be applied to the characters to be applied, and similar effects can be obtained (the same applies to the following embodiments).
[0124]
Further, in this embodiment, it is determined whether or not the character cut out by the same character cutout portion and other characters overlap each other, and when they overlap, the character positions are edited. Needless to say, the determination of overlapping and the editing of character positions in this way are not limited to characters in the same line, and can be performed on characters in any arrangement form.
[0125]
2. Second embodiment
The character reading device 100 according to the first embodiment described above is a device including two character recognition engines. That is, first, characters are cut out by the first and second character cutout units having different algorithms for the character area or line to be read, and then the characters in the line overlap for the characters cut out by the character cutout units. And then editing each character position of the overlapping characters, and then recognizing each of the corresponding characters with respect to the character corresponding to the character position having a one-to-one correspondence between the position-edited characters of the first and second character recognition engines. It was a device that determined the final recognition result by making multiple judgments from the results. However, the character reading device of the present invention can of course be applied to a case where three or more character cutout portions are provided. This second embodiment is an example.
[0126]
FIG. 10 is a block diagram showing the configuration of the character reading apparatus 1000 according to the second embodiment. Hereinafter, differences from the character reading device 100 according to the first embodiment will be mainly described.
[0127]
The character reading apparatus 1000 according to the second embodiment further includes an Nth character recognition engine 1010 in addition to the first and second character recognition engines 130 and 140. However, N is an integer greater than or equal to 3. Therefore, if N = 3, further includes a third character recognition engine, and if N = 4, further includes third and fourth character recognition engines.
[0128]
The Nth character recognition engine 1010 includes an Nth line cutout unit 1011, an Nth character cutout unit 1012, and an Nth character recognition unit 1013.
[0129]
However, when three or more character cutout portions are provided, it is not always necessary that the character cutout algorithms of the character cutout portions are all different. That is, the three or more character cutout portions are at least two types of character cutout portions having different character cutout algorithms (for example, in the case of three character cutout portions, the first character cutout portion is of the first character cutout algorithm). The second and third character cutout portions may be configured by the second character cutout algorithm). This is because when the character reader includes three or more character recognition units having different character recognition algorithms, the three or more character cutout units corresponding to these character recognition units are at least two types of character cutout units having different character cutout algorithms. This is because the effect of the present invention can be obtained if it is configured.
[0130]
In addition, the Nth line cutout unit 1011 and the Nth character recognition unit 1013 are different from the line cutout units 131 and 141 and the character recognition units 133 and 143 of other engines even though the line cutout algorithm and the character recognition algorithm are the same. May be.
[0131]
Further, in the character reading apparatus 1000 of the second embodiment, the configuration of the composite determination unit 1020 is different from that of the first embodiment. Specifically, the composite determination unit 1020 includes a composite character editing unit 1090 having a configuration different from that of the first embodiment, a composite character position determination unit 1030 having a configuration different from that of the first embodiment, and the first It is comprised with the composite character recognition part 180 similar to the embodiment of.
[0132]
The difference between the composite character editing unit 1090 of the second embodiment and the first exemplary embodiment is that the composite character editing unit 1090 is changed to N in-line character editing units, that is, the first, second, and Nth in-line characters. This is a point constituted by the editing units 191, 192 and 1093. Note that the Nth in-line character editing unit 1093 determines whether or not the characters input from the Nth character recognition engine 1010 overlap with the characters in the same line, similarly to the first and second in-line character editing units 191 and 192. Then, each character position of the overlapping character is edited. Therefore, the description is omitted.
[0133]
The difference between the composite character position determination unit 1030 and the first embodiment is that the character position correspondence determination unit is composed of the first to (N-1) th character position correspondence determination units 1031 to 1032 and the corresponding character extraction. As a part, it is the point comprised with the corresponding character extraction part 1033 which extracts a corresponding character from the 1st-N-1th character position corresponding | compatible determination part. However, N is a value referred to in the first to Nth character cutout parts 132 to 1012.
[0134]
Each of the first to (N-1) th character position correspondence determination units 1031 to 1032 determines whether there is a character corresponding to the character position between the position-edited characters of the two character recognition engines. Specifically, for example, the following determination is performed.
[0135]
That is, when the base engine is the first character recognition engine 130, the first character position correspondence determination unit 1031 includes the position-edited characters of the first character recognition engine 130 and the position-edited characters of the second character recognition engine 140. The character corresponding to the character position is determined. The second character position correspondence determination unit (not shown) corresponds to the character position between the position edited character of the first character recognition engine 130 and the position edited character of the third character recognition engine (not shown). Determine which character to use. The N-1th character position correspondence determination unit 1032 determines which character corresponds to the character position between the position edited character of the first recognition engine 130 and the position edited character of the Nth character recognition engine 1010. To do.
[0136]
Each of the first to (N-1) th character position correspondence determination units 1031 to 1032 is the character position correspondence determination described in the first embodiment, except that the engine for viewing the correspondence relationship between the character positions is different as described above. Since the processing similar to that of the unit 171 (the processing described with reference to FIGS. 6 to 8) can be implemented, the description thereof is omitted.
[0137]
Next, the operation of the character reading apparatus 1000 according to the second embodiment will be described. However, description of what has been described in the first embodiment will be omitted. Therefore, here, the corresponding character extraction unit 1033 will be mainly described.
[0138]
Corresponding character extraction unit 1033 extracts characters corresponding to character positions on a one-to-one basis from the characters determined to correspond by first to (N-1) -th character position correspondence determination units, and outputs the extracted characters to composite character recognition unit 180. . The operation of the corresponding character extraction unit 1033 will be described below.
[0139]
FIG. 11 is a diagram for explaining the operation of the corresponding character extraction unit 1033. When the corresponding character extraction unit 1033 starts processing (1101 in FIG. 11), first, the variable character extraction unit 1033 is initialized by substituting 1 into a variable i indicating the character ID of the base engine (the first character recognition engine in this example) (FIG. 11). 1102). In addition, 1 is substituted into a variable n indicating which determination unit is the determination result of the first to (N-1) th character position correspondence determination units (1103 in FIG. 11).
[0140]
Next, the number of characters corresponding to the i-th position-edited character of the base engine in the result of the n-th character position correspondence determination unit (that is, how many characters corresponding to the position-edited characters of other engines are present) is shown. (Number) is acquired (1104 in FIG. 11). Next, it is determined whether or not the acquired number of corresponding characters is 1 (1105 in FIG. 11).
[0141]
When the number of corresponding characters is 1, the corresponding character ID of the i-th character (namely, the number of the position edited character of the other engine) is acquired (1106 in FIG. 11).
[0142]
Next, in the result of the n-th character position correspondence determination unit, the number of corresponding characters (that is, the base engine) of the character specified by the corresponding character ID acquired in process 1106 (that is, the specific position-edited character in another engine). The number indicating the number of corresponding characters in the position-edited character on the side) is acquired (1107 in FIG. 11).
[0143]
Next, it is determined whether or not the acquired number of corresponding characters is 1 (1108 in FIG. 11).
[0144]
Next, it is determined whether or not the character corresponding to one-to-one has been specified for the results of all the character position correspondence determination units (1109 in FIG. 11). That is, since the character reader of this embodiment includes the first to (N-1) th character position correspondence determination units, n, which is a variable indicating which character position correspondence determination unit is the determination result, It is determined whether or not n = N-1.
[0145]
If n ≠ N−1, that is, if the corresponding character extraction has not been completed up to the N−1th character position correspondence determination unit, n + 1 is substituted for the variable n (1112 in FIG. 11), and the processing returns to processing 1104. .
[0146]
On the other hand, when n = N−1, the recognition result of the i-th character (reference character) of the base engine and the recognition result of the character corresponding to the reference character in a one-to-one correspondence with the reference character Are respectively acquired (1110 in FIG. 11).
[0147]
In the case where the number of corresponding characters is not 1 in the processing 1105, the number of corresponding characters is not 1 in the processing 1108, or the processing 1110 is completed, each position of the base engine has been edited. It is determined whether or not the corresponding character extraction processing has been completed for the character (1111 in FIG. 11). If completed, the corresponding character extraction is terminated (1114 in FIG. 11). If not completed, i + 1 is substituted into the variable i indicating the character ID of the position-edited character of the base engine (in FIG. 11). 1113), and returns to the processing 1103.
[0148]
When the corresponding character extraction is completed, the composite character recognition unit 180 makes a composite determination from the recognition results output from the corresponding character extraction unit 1033 and outputs the final recognition result. The determination criteria for performing this complex recognition may be the same as those described in the first embodiment, for example. In the case of the second embodiment, candidate characters (typically character codes) are obtained from three or more character recognition engines, respectively. Therefore, the character having the highest appearance frequency among the three or more character codes. There may be a case where a code (a character code determined by majority vote) is used as a final recognition result.
[0149]
In addition, although it is not restricted to this about the character with which the character corresponding to a character position did not correspond between character recognition engines, a rejection is output, for example.
[0150]
According to the character reader 1000 of the second embodiment, the same effect as that of the first embodiment can be obtained. However, only three or more character cutouts are cut out from each character, and the character positions corresponding to one-to-one among all the character cutouts are determined in combination from the recognition results of the corresponding characters. Thus, the final recognition result can be determined. Therefore, the character recognition rate can be increased.
[0151]
3. Third embodiment
In each of the character reading devices 100 and 1000 according to the first and second embodiments described above, there is an overlapping character in the same line in the characters extracted by each of the plurality of character extraction units before determining the correspondence of the character positions. It is an apparatus that pays attention to the point of editing whether or not the character position of the character is edited. On the other hand, in the character reading device of the third embodiment, before the character overlap determination in the same line, the character cut out by the character cutout unit and the character belonging to a line different from the line to which the character belongs are included. It is determined whether or not they overlap, and if they overlap, the character positions of these characters are edited.
[0152]
FIG. 12 is a block diagram illustrating a configuration of a character reading device 1200 according to the third embodiment. Here, an example in which the idea of the third embodiment is applied to the character reading device of the second embodiment is shown, and therefore, differences from the character reading device of the second embodiment are mainly described. To do. Note that the idea of the third embodiment may be applied to the character reading device of the first embodiment.
[0153]
The character reader 1200 according to the third embodiment includes first, second, and Nth character recognition engines 130, 140, and 1010, similarly to the character reader according to the second embodiment.
[0154]
The character reading device 1200 includes a composite determination unit 1210 having a configuration different from that of the character reading device according to the second embodiment.
[0155]
That is, the composite determination unit 1210 not only determines whether or not the characters cut out by the character recognition engines 130, 140, and 1010 overlap the characters in the same line, but also the characters belonging to other lines. It is also determined whether or not they overlap. If they overlap, the character positions of those characters are edited. Thereafter, the same recognition process as in the second embodiment is performed to obtain a final recognition result in a composite manner.
[0156]
In order to realize this, the composite determination unit 1210 includes a composite character editing unit 1290 having a configuration different from that of the second embodiment.
[0157]
The composite character editing unit 1290 includes first, second, and Nth out-of-line character editing units 1291, 1292, and 1293 at the preceding stage of the first, second, and Nth in-line character editing units 191, 192, and 1093, respectively. . Since the first, second, and Nth in-line character editing units 191, 192, and 1093 are the same as those in the second embodiment, the description thereof is omitted.
[0158]
The other components of the composite determination unit 1210, that is, the composite character position determination unit 1030 and the composite character recognition unit 180 are the same as those in the second embodiment, and thus the description thereof is omitted.
[0159]
The first, second, and Nth out-of-line character editing units 1291, 1292, and 1293 are configured to detect characters extracted by the character recognition engines 130, 140, and 1010 and characters belonging to a line different from the line to which the character belongs. Determine whether or not they overlap each other. If they overlap, the character position of each character is edited.
[0160]
Next, the operation of the character reading device 1200 according to the third embodiment will be described. However, description of what has been described in the second embodiment will be omitted. Therefore, hereinafter, the out-of-line character editing unit will be mainly described.
[0161]
FIG. 13 is a flowchart showing the operation of the out-of-line character editing unit. However, the first, second, and Nth out-of-line character editing units 1291, 1292, and 1293 perform processing for each character recognition engine, but these may perform similar processing operations.
[0162]
The first, second, and Nth out-of-line character editing units 1291, 1292, and 1293 start processing (1301 in FIG. 13). Note that the second and Nth out-of-line character editing units 1292 and 1293 operate in the same manner as the first out-of-line character editing unit described below, and a description thereof will be omitted.
[0163]
First, the first out-of-line character editing unit 1291 initializes by substituting 1 for a variable i indicating the line ID of the line cut out by the first line cut-out unit 131 (1302 in FIG. 13), and Is initialized by assigning i + 1 to a variable j indicating the row ID of a different row (1303 in FIG. 13).
[0164]
After initializing each variable, the first out-of-line character editing unit 1291 determines whether or not the i-th line overlaps the j-th line (1304 in FIG. 13).
[0165]
Note that this line overlap determination is not necessarily performed. However, if the overlap is determined for the character of interest and all the characters belonging to a line different from the line to which the character belongs, the determination takes a long time. Therefore, in particular, before the character position overlap determination in different lines, the overlap determination of the different lines is performed. Thereby, it is possible to determine the overlap of character positions in different lines in a short time. This line overlap determination is performed as follows, for example.
[0166]
For example, when the medium is horizontally written, the i-th row is regarded as the area 201 in FIG. 2, and the j-th line is regarded as the area 202 in FIG. At this time, it can be determined that the rows overlap if the coordinates of each row position satisfy the overlap determination conditional expression: ((ys1-P61) ≦ ye2) and ((ye1-P62) ≧ ys2) (7) . However, P61 and P62 show arbitrary values. Further, when the medium is vertically written, in the overlap determination between the jth row and the kth row, the overlap determination conditional expressions: (((xs1−P63) ≦ xe2) and ((xe1 + P64) ≧ xs2). If it satisfies (8), it can be determined that the lines overlap, but P63 and P64 indicate arbitrary values.
[0167]
As described above, it is determined whether or not they overlap (1305 in FIG. 13). If the i-th row and the j-th row do not overlap, the processing proceeds to the processing 1313 described later.
[0168]
If they overlap, the variable k indicating the character ID of each character in the i-th row is initialized by substituting 1 (1306 in FIG. 13), and the character ID of each character in the j-th row is indicated. The variable m is initialized by substituting 1 (1307 in FIG. 13).
[0169]
Subsequently, it is determined whether or not the k-th character belonging to the i-th row and the character belonging to the j-th row overlap each other (1308 in FIG. 13). For example, in this overlap determination, when the medium is horizontal writing, the overlap determination conditional expression: ((ys1-P65) ≦ ye2) and ((ye1-P66) ≧ ys2) (9) is satisfied. Each character can be determined to overlap. However, P65 and P66 show arbitrary values. In addition, when the medium is vertically written, if the overlapping judgment conditional expression: (((xs1−P67) ≦ xe2) and ((xe1 + P68) ≧ xs2) (10) is satisfied, the characters overlap. However, P67 and P68 indicate arbitrary values.
[0170]
As described above, it is determined whether or not the characters overlap (1309 in FIG. 13), and the k-th character belonging to the i-th row and the m-th character belonging to the j-th row do not overlap. Shifts directly to processing 1311 described later.
[0171]
If they overlap, the character positions of the k-th character belonging to the i-th row and the m-th character belonging to the j-th row are edited (1310 in FIG. 13).
[0172]
FIG. 14 is a diagram for explaining the result of editing the character position by the first out-of-line character editing unit. The character string patterns “small” and “large” of the medium shown in FIG. 14A are cut out for each character by the first character recognition engine 130. As a result, as shown in FIG. 14B, the four characters “small”, “sa”,... Belonging to the row L1 are cut out, and the characters “large”, “ki” belonging to the row L2 are cut out. , Suppose that three characters “I” are cut out.
[0173]
In FIG. 14B, among the cut out characters, the character “small” does not overlap with the character outside the line, so the character position is not edited. Since the character “sa” overlaps with the “outside” character “large”, the character position is edited. This character position editing is performed as follows, for example.
[0174]
When it is determined that the medium is horizontally written and satisfies the conditional expression (9) and there is an overlap, ys = MAX (ys1, ys2) and ye = MIN (ye1, ye2). When ys = ys1, (ye + P641) is substituted into ys1, and when ys = ys2, the character position is edited by substituting (ye + P642) into ys2. If ye = ye1, (ys-P631) is substituted for ye1, and if ye = ye2, the character position is edited by substituting (ys-P632) for ye2.
[0175]
When it is determined that the medium is vertically written and satisfies the conditional expression (10) and has an overlap, xs = MAX (xs1, xs2) and xe = MIN (xe1, xe2). When xs = xs1, (xe + P681) is substituted into xs2, and when xs = xs2, the character position is edited by substituting (xe + P682) into xs1. If xe = xe1, (xs-P671) is substituted for xe1, and if xe = xe2, the character position is edited by substituting (xs-P672) for xe2.
[0176]
Thereafter, it is determined whether or not the overlap determination between the k-th character belonging to the i-th row of interest and the m-th character belonging to the j-th row is completed (1311 in FIG. 13). If it is determined that this has been completed, it is determined whether all the characters in the i-th line have been completed (1312 in FIG. 13). If it is determined that this has been completed, it is determined whether or not all of the jth row has been completed (1313 in FIG. 13). If it is determined that this has been completed, it is determined whether or not all the i-th row of interest has been completed (1314 in FIG. 13). If it is determined that this has ended, the out-of-line character editing process ends (1319 in FIG. 13).
[0177]
If it is determined in step 1309 that there is no overlap, step 1311 is performed next. If it is determined in the process 1311 that the process is not ended, m + 1 is substituted for m (1315 in FIG. 13), and then the process 1308 is performed. If it is determined in step 1312 that the process will not end, k + 1 is substituted for k (1316 in FIG. 13), and then step 1307 is performed. If it is determined in the process 1313 that the process is not ended, j + 1 is substituted for j (1317 in FIG. 13), and then the process 1304 is performed. If it is determined in process 1314 that the process is not ended, i + 1 is substituted for i (1318 in FIG. 13), and then process 1303 is performed.
[0178]
FIG. 14C is a diagram illustrating an editing result in the first out-of-line character editing unit. As shown in FIG. 14C, for example, the first out-of-line character editing unit determines that the character “sa” and the character “large” that are cut out characters and belong to different lines overlap, and their character positions Edit. The character position of each character (rectangular area indicated by a thick line in the figure) is edited so that it is spaced apart from the character positions of characters belonging to other lines so as not to overlap each other.
[0179]
The composite character editing unit 1290 of this embodiment edits character positions in different lines, and then edits character positions in the same line as in the second embodiment. After that, as in the second embodiment, the composite character position determination unit 1030 and the composite character recognition unit 180 determine the final character recognition result.
[0180]
According to the character reading device 1200 of the third embodiment, it is possible to determine whether or not the character cut out by each character cutout unit overlaps a character belonging to a line different from the line to which the character belongs. If they overlap, the character positions of those characters can be edited.
[0181]
Therefore, in this character reading device, even when characters in a line overlap and are cut out, it is possible to accurately determine whether or not the character positions correspond one-to-one as in the first embodiment. Moreover, after editing the character position with the character outside the line, when editing the character position within the same line as described in the first or second embodiment, The determination can be made more accurately than in the first or second embodiment. Therefore, the character recognition rate can be further increased.
[0182]
4). Fourth embodiment
The character reading device 1200 according to the third embodiment described above determines whether or not the extracted character and a character belonging to a line different from the line to which the character belongs overlap before the character overlap determination in the same line. This is an apparatus that focuses on the point of determining whether or not the character positions of these characters are edited when they overlap. On the other hand, in the character reading device according to the fourth embodiment, the character cut out by the character cutout unit and the line cut out by the line cutout unit before the character overlap determination in the same line, It is determined whether a line different from the line to which the character belongs overlaps, and if it overlaps, the character position of the character is edited.
[0183]
The device 1500 of the fourth embodiment is a device characterized in that this line cutout information is also used when line-by-line cutout is performed as an intermediate process of character cutout processing (generally this is often the case). is there.
[0184]
FIG. 15 is a block diagram illustrating a configuration of a character reading device 1500 according to the fourth embodiment. Here, an example in which the idea of the fourth embodiment is applied to the character reading device of the second embodiment is shown, and therefore, differences from the character reading device of the second embodiment are mainly described. To do. Note that the idea of the fourth embodiment may be applied to the character reading device of the first embodiment.
[0185]
The character reading device 1500 according to the fourth embodiment includes first, second, and Nth character recognition engines 130, 140, and 1010, similarly to the character reading device according to the second embodiment.
[0186]
The character reading device 1500 includes a composite determination unit 1510 having a configuration different from that of the character reading device according to the second embodiment.
[0187]
That is, the composite determination unit 1510 not only determines whether or not the characters cut out by the character recognition engines 130, 140, and 1010 overlap with characters in the same line, but also overlaps with other lines. Also determine whether or not. If they overlap, the character position of the overlapping characters is edited. Thereafter, the same recognition process as in the second embodiment is performed to obtain a final recognition result in a composite manner.
[0188]
In order to realize this, the composite determination unit 1510 includes a composite character editing unit 1590 having a configuration different from that of the second embodiment.
[0189]
Each of the character recognition engines 130, 140, and 1010 includes a line cutout unit that is individually provided at each preceding stage of the character cutout unit. Therefore, each of the line cutout units 131, 141, and 1011 cuts out a line from the medium area and generates information on the line position of the cut out line. Based on this row position information, the following overlap determination can be performed.
[0190]
The composite character editing unit 1590 includes first, second, and Nth line character editing units 1591, 1592, and 1593 in the preceding stage of the first, second, and Nth in-line character editing units 191, 192, and 1093, respectively. . Since the first, second, and Nth in-line character editing units 191, 192, and 1093 are the same as those in the second embodiment, the description thereof is omitted.
[0191]
Further, other configurations of the composite determination unit 1510, that is, the composite character position determination unit 1030 and the composite character recognition unit 180 are the same as those in the second embodiment, and thus description thereof is omitted.
[0192]
The first, second, and Nth line character editing units 1591, 1592, and 1593 are configured such that a character extracted by each character recognition engine 130, 140, and 1010 and a line that is different from the line to which the character belongs belong to each other. It is determined whether or not they overlap. If they overlap, the character position of the overlapping characters is edited.
[0193]
Next, the operation of the character reading device 1500 according to the fourth embodiment will be described. However, description of what has been described in the second embodiment will be omitted. Therefore, in the following, the anti-line character editing unit will be mainly described.
[0194]
FIG. 16 is a flowchart illustrating the operation of the line character editing unit. However, the first, second, and Nth line character editing units 1591, 1592, and 1593 perform processing for each character recognition engine, but these may perform similar processing operations.
[0195]
The first, second, and Nth line character editing units 1591, 1592, and 1593 start processing (1601 in FIG. 16). Note that the second and Nth line character editing units 1592 and 1593 operate in the same manner as the first line character editing unit described below, and a description thereof will be omitted.
[0196]
First, the first line-character editing unit 1591 initializes the variable i indicating 1 by substituting 1 into the variable i indicating the line ID of the line extracted by the first line extraction unit 131 (1602 in FIG. 16). Is initialized by assigning i + 1 to a variable j indicating a row ID of a different row (1603 in FIG. 16).
[0197]
After initializing each variable, the first line character editing unit 1591 determines whether or not the i-th line overlaps the j-th line (1604 in FIG. 16).
[0198]
Note that this line overlap determination is not necessarily performed. However, if the overlap is determined for the character of interest and all the lines different from the line to which the character belongs, it takes a long time for the determination. For this reason, in particular, before the overlap determination between the character position of the character included in the target line and the line position of the other line, the overlap determination of the line position of the target line and the other lines is performed. As a result, it is possible to determine the overlap of characters and lines in a short time. Note that this line overlap determination is performed, for example, as follows.
[0199]
For example, when the medium is horizontally written, the i-th row is regarded as the area 201 in FIG. 2, and the j-th line is regarded as the area 202 in FIG. At this time, it can be determined that the rows overlap if the coordinates of each row position satisfy the overlap determination conditional expression: ((ys1−P51) ≦ ye2) and ((ye2 + P52) ≧ ys2) (11). However, P51 and P52 show arbitrary values. Further, when the medium is vertically written, in the overlap determination of the jth row and the kth row, the overlap determination conditional expressions: (((xs1−P53) ≦ xe2) and ((xe1 + P54) ≧ xs2). When it satisfies (12), it can be determined that the rows overlap each other, but P53 and P54 indicate arbitrary values.
[0200]
As described above, it is determined whether or not the lines overlap (1605 in FIG. 16). If the i-th line and the j-th line do not overlap, the process proceeds to a process 1607 described later.
[0201]
If they overlap, the character position of the character belonging to the i-th line is edited with respect to the line position of the j-th line, and the character belonging to the j-th line is edited with respect to the line position of the i-th line. The character position is edited (1606 in FIG. 16). At this time, for example, the character position is edited so that characters belonging to the i-th line do not overlap with the j-th line, and characters belonging to the j-th line do not overlap with the i-th line. The character position is edited. The character position is edited as follows, for example.
[0202]
Here, when the medium is horizontally written, the character position of the kth character belonging to the i-th row is the upper left (xs (k), ys (k)) and lower right (xe (k), ye (k)). ). Since the row position of the i-th row is ys1 and ye1, and the row position of the j-th row is ys2 and ye2, ys = MAX (ys1, ys2) and ye = MIN (ye1, ye2) To do. At this time, if ys ≦ ys (k) ≦ ye is satisfied, (ye + P55) is substituted for ys (k), and if ys ≦ ye (k) ≦ ye is satisfied, (ys−P56) is satisfied for ye (k). ). Similarly, the character position is edited with respect to the character position of the jth line. Further, when the medium is vertically written, the character position may be edited with respect to the x-axis when the character position is edited with respect to the y-axis when the medium is horizontally written.
[0203]
As described above, it is determined whether or not characters and lines overlap. If they overlap, the character position is edited (1606 in FIG. 16).
[0204]
It is determined whether or not the overlap determination for all the characters in the i-th row and the j-th row and the overlap determination for all the characters in the j-th row and the i-th row have been completed for all j. If not completed, j + 1 is substituted for j (1609 in FIG. 16), and processing 1604 is performed. If it has been completed, it is determined whether or not all i have been completed. If not completed, i + 1 is substituted for i (1610 in FIG. 16), and processing 1603 is performed. When all i are finished, the line character editing is finished (1611 in FIG. 16).
[0205]
FIG. 17 is a diagram for explaining the result of editing the character position by the first line-character editing unit. FIG. 17A shows a state before the position editing of the line and the character is performed for the same character string pattern as that shown in FIG. 14A, and FIG. This shows the state after the position edit of.
[0206]
In FIG. 17B, among the cut out characters, the character “small” does not overlap with the line L2, so the character position is not edited. Since the character “sa” overlaps with the line L2, the character position is edited. The character position of each character (rectangular area indicated by a bold line in the drawing) is edited so that it is spaced apart from the line position of a line different from the line to which each character belongs.
[0207]
The composite character editing unit 1590 of this embodiment edits character positions in different lines and then edits character positions in the same line as in the second embodiment. After that, as in the second embodiment, the composite character position determination unit and the composite character recognition unit determine the final character recognition result.
[0208]
According to the character reading device 1500 of the fourth embodiment, it is possible to determine whether or not the character cut out by each character cutout unit overlaps a line different from the line to which the character belongs. If they overlap, the character position of the character can be edited.
[0209]
Therefore, in this character reading device, even when characters in a line overlap and are cut out, it is possible to accurately determine whether or not the character positions correspond one-to-one as in the first embodiment. Moreover, after editing the character position with the character outside the line, when editing the character position within the same line as described in the first or second embodiment, The determination can be made more accurately than in the first or second embodiment. Therefore, the character recognition rate can be further increased. In addition, the character reading device according to the fourth embodiment can edit the character position faster than the character reading device according to the third embodiment that performs overlap determination for all characters in other lines. .
[0210]
5. Fifth embodiment
Next, a character reading apparatus according to a fifth embodiment will be described. FIG. 18 is a block diagram illustrating a configuration of a character reading device 1800 according to the fifth embodiment.
[0211]
The apparatus 1800 according to the fifth embodiment is characterized by performing line-by-line cutout and using this line cutout information as in the fourth embodiment.
[0212]
That is, the characteristic processing of the present invention is to detect a character corresponding to a character position among N character recognition engines 130, 140, 1010 (of course, there may be two character recognition engines). First, N character recognition engines first obtained information on the positions of the lines cut out from the data to be read, and added a function to determine whether or not to perform subsequent processing based on this information. Device.
[0213]
Therefore, the character reading device 1800 of the fifth embodiment includes a composite determination unit 1810 having a configuration different from that of the previous embodiments.
[0214]
That is, the composite determination unit 1810 includes a composite line position determination unit 1820, a composite character position determination unit 1830, a composite character recognition unit 180, and a composite line / character editing unit 1890.
[0215]
Note that the information on the line position of the line cut out by the line cut-out unit and output to the composite determination unit may be used by being added to the character recognition result. Therefore, at this time, the line position of the line referred to in the present invention can be regarded as information included in the recognition result. Therefore, in the following description, the position of the line may be referred to as the position of the line in the recognition result.
[0216]
This composite line / character editing unit 1890 includes first, second, and Nth in-line editing units 1891, 1892, and 1893, respectively, preceding each of the first, second, and Nth in-line character editing units 191, 192, and 1093. Yeah.
[0217]
Since the first, second, and Nth in-line character editing units 191, 192, and 1093 are the same as those in the second embodiment, the description thereof is omitted.
[0218]
The first, second, and Nth in-region line editing units 1891, 1892, and 1893 determine whether or not the lines extracted by the respective line extraction units 131, 141, and 1011 and other lines overlap each other. Edit the line position of the line and other lines.
[0219]
Note that the line cut by the line cutout unit including the character whose line position has been edited by the in-region line editing unit may be referred to as a “position edited line”.
[0220]
The composite row position determination unit 1820 determines whether or not there are rows corresponding to each other in the row of the position-edited row based on the information on the row position of the row whose position has been edited. Although details will be described later in the explanation of the operation, the composite line position determination unit 1820 determines whether or not the line positions correspond to each other, and the characters in the same line are determined for the lines determined to correspond to each other. The position overlap is determined, the character position is edited as necessary, and the correspondence of the character position to the character whose position has been edited is determined.
[0221]
Typically speaking, for example, such character position correspondence determination is performed only on the line determined to correspond to the line position.
[0222]
The composite character position determination unit 1830 can be configured by the composite character position determination unit 1030 described in the second embodiment, for example.
[0223]
Here, the operation of the character reader 1800 of the fifth embodiment will be described. Note that the difference between this character reading device 1800 and the devices of the first to fourth embodiments is, in particular, the first, second and Nth of the composite line / character editing unit 1890 as already described. Since the in-region line editing units 1891, 1892, and 1893 and the composite row position determining unit 1820 are provided, the operation will be mainly described in this part.
[0224]
FIG. 19 is a flowchart showing the operation of the in-region line editing unit. The first, second, and Nth in-line editing units 1891, 1892, and 1893 perform processing for each character recognition engine, but they may perform similar processing operations.
[0225]
The first, second, and Nth in-line editing units 1891, 1892, and 1893 start processing (1901 in FIG. 19). Note that the second and Nth in-line editing units 1892 and 1893 operate in the same manner as the first in-line editing unit described below, and a description thereof will be omitted.
[0226]
The in-line editing unit 1891 in the first area starts processing (1901 in FIG. 19). The character recognition result read by the character recognition result obtained by the first character recognition engine 130 is input to the in-line editing unit 1891 in the first area.
[0227]
First, the line editing unit 1891 in the first area initializes by substituting 1 for a variable i indicating the line ID of the line cut out by the first line cut-out unit 131 (1902 in FIG. 19). Initialization is performed by assigning i + 1 to a variable j indicating the row ID of a different row (1903 in FIG. 19).
[0228]
After initializing each variable, the first area in-line editing unit 1891 determines whether or not the i-th line overlaps the j-th line (1904 in FIG. 19). This overlap determination is performed as follows.
[0229]
For example, when the medium is horizontally written, the i-th row is regarded as the area 201 in FIG. 2, and the j-th line is regarded as the area 202 in FIG. At this time, it can be determined that the rows overlap if the coordinates of each row position satisfy the overlap determination conditional expression: ((ys1−P71) ≦ ye2) and ((ye2 + P72) ≧ ys2) (13). However, P71 and P72 show arbitrary values. Further, when the medium is vertically written, in the overlap determination of the jth row and the kth row, the overlap determination conditional expressions: (((xs1−P73) ≦ xe2) and ((xe1 + P74) ≧ xs2). If it satisfies (14), it can be determined that the rows overlap, but P73 and P74 indicate arbitrary values.
[0230]
As described above, it is determined whether or not the lines overlap (1905 in FIG. 19). If the i-th line and the j-th line do not overlap, the process proceeds to a process 1907 described later.
[0231]
If they overlap, the line position of the j-th line is edited and the line position of the i-th line is edited (1906 in FIG. 19). For example, this line position is edited as follows.
[0232]
When the medium is horizontally written and satisfies the conditional expression (13), ys = MAX (ys1, ys2) and ye = MIN (ye1, ye2). At this time, if ys = ys1, (ye + P73) is substituted for ys1, and if ys = ys2, (ys-P74) is substituted for ys2. If ye = ye1, (ys-P75) is substituted for ye1, and if ye = ye2, (ys-P76) is substituted for ye2. Further, when the medium is vertically written, the character position may be edited with respect to the x-axis when the character position is edited with respect to the y-axis when the medium is horizontally written.
[0233]
Subsequently, it is determined whether or not the overlap determination between the i-th row and the j-th row has been completed for all j (1907 in FIG. 19). If not completed, j + 1 is substituted for j (1909 in FIG. 19), and processing 1904 is performed. If it has been completed, it is determined whether or not all i have been completed (1908 in FIG. 19). If not completed, i + 1 is substituted for i (1910 in FIG. 19), and processing 1903 is performed. When all i are finished, the in-area line editing is finished (1911 in FIG. 19).
[0234]
FIG. 20 is a diagram for explaining the result of editing the row position by the in-region editing unit. 20A shows a state before the line position is edited for a line including the same character string pattern as that shown in FIG. 14A, and FIG. 20B shows the position edit of each line. Shows the state after being done. In the figure, a thick broken line indicates a line whose line position has been edited.
[0235]
As shown in FIG. 20A, the rows L1 and L2 cut out by the first row cutout unit 131 overlap each other. Therefore, the first area in-line editing unit 1891 edits the line positions of the lines L1 and L2. At this time, as shown in FIG. 20B, the row positions of the rows L1 and L2 are at least spaced apart so as not to overlap each other (see the position-edited row L1a and the position-edited row L2a). Edited.
[0236]
As described above, when the processes in the in-region line editing units 1891, 1892, and 1893 are completed, the in-line character editing units 191, 192, and 1093 are performed in the same line in the character reader 1800 of the fifth embodiment. Edit the character position. Thereafter, the composite line position determination unit 1820 determines whether or not there are lines corresponding to the line positions in the position-edited lines extracted by the line extraction units. In other words, the composite line position determination unit 1820 has lines whose line positions correspond to each other among the position-edited lines of the character recognition engines based on the line position information in the recognition results of the character recognition engines. It is determined whether or not there is. This determination is performed by using line position information instead of the character position information in the composite character position determination unit 1030 described in the second embodiment, for example, as described below.
[0237]
The line position may be considered as a concept in which the concept of the character position described with reference to FIG. 2 is applied to the line position, for example. At this time, for example, one or more of the conditions described with reference to FIG. 7 can be used as the determination condition as to whether or not the row position corresponds.
[0238]
However, if the arrangement of characters (horizontal / vertical) or the arrangement of lines (vertical / horizontal) is clear in advance, the determination unit 1820 and the determination unit 1830 determine the first to (N-1) -th line position correspondence determination units and the first to first items. The determination condition of the N-1 character position correspondence determination unit (both not shown; these concepts are 1231, 1232 in FIG. 12) is not limited to other suitable conditions, For example, by changing to a condition described below with reference to FIG. 21, the processing speed of the determination process is increased.
[0239]
In the case of a horizontally written document, the character sequence or line sequence described below means that the character sequence is horizontal and the line sequence is vertical, and in the case of a vertical document, the character sequence is Vertical and line order means horizontal.
[0240]
FIG. 21A is a diagram for explaining a preferable condition used for determining the correspondence between line positions when the characters are written horizontally, that is, when the character arrangement is in the horizontal direction and the line arrangement is in the vertical direction. It is. FIG. 21B is a diagram for explaining a preferable condition used for determination of correspondence between character positions when the character is known in advance as horizontal writing.
[0241]
Although FIG. 21A shows three types of correspondence determination conditions for line positions, and FIG. 21B shows three types of correspondence conditions for character positions, this is not restrictive.
[0242]
The first condition in FIG. 21A is (((ys1-P23) ≦ ye2) and ((ye1 + P24) ≧ ys2)) (15). However, P23 and P24 show arbitrary values.
[0243]
In this conditional expression (15), where P23 and P24 are 0, the line position of the position-edited line of the base engine and the line position of the position-edited line of the other engine are in the vertical direction (Y direction). , See FIG. 2), it is a conditional expression that can determine that the row position corresponds if it overlaps even a little. At this time, the margin for determining the overlap between the row positions can be adjusted by changing the values of P23 and P24.
[0244]
The second condition in FIG. 21A is (((ys1 ≧ (ys2-P25)) and (ye1 ≦ (ye2 + P26))) or ((ys2 ≧ (ys1-P27)) and (ye2 ≦ ( ye1 + P28))) (16), where P25 to P28 represent arbitrary values.
[0245]
In this conditional expression (16), where P25 to P28 are 0, the line position of the position-edited line of the base engine is all included in the line direction of the position-edited line of the other engine in the Y direction. If the position of the edited line of the other engine is included in the line position of the edited position of the base engine in the Y direction, it can be determined that the line position corresponds. Conditional expression. At this time, the margin for judging the inclusion relationship between the row positions can be adjusted by changing the values of P25 to P28.
[0246]
In FIG. 21A, the third condition is (((MAX (ye1, ye2) −MIN (ys1, ys2)) × P29) ≧ (ye1-ys1)) or (((MAX (ye1, ye2)). ) -MIN (ys1, ys2)) × P30) ≧ (ye2-ys2))) (17). However, P29 and P30 show arbitrary values.
[0247]
Conditional expression (17) indicates that the height of the portion where the line position of the position edited line of the base engine and the line position of the position edited line of the other engine overlap each other in the Y direction is the position edited line of the base engine. The conditional expression that can determine that the row position corresponds to a certain level (depending on P29) compared to the height of the row position in the Y direction, or the position of the base engine already edited in the Y direction The height of the portion where the line position of the line and the line position of the position-edited line of the other engine overlap each other is somewhat higher than the height of the line position of the position-edited line of the other engine in the Y direction (depends on P30). In this case, the conditional expression can determine that the line position corresponds.
[0248]
The first condition in FIG. 21B is (((xs1−P31) ≦ xe2) and ((xe1 + P32) ≧ xs2)) (18). However, P31 and P32 show arbitrary values.
[0249]
In this conditional expression (18), where P31 and P32 are each 0, the character position of the position-edited character of the base engine and the character position of the position-edited character of the other engine are in the horizontal direction (X This is a conditional expression that can be determined that the character positions correspond to each other when they overlap even a little in the direction (see FIG. 2). At this time, the margin for judging the correspondence between character positions can be adjusted by changing the values of P25 to P28.
[0250]
The second condition in FIG. 21B is (((xs1 ≧ (xs2−P33)) and (xe1 ≦ (xe2 + P34))) or ((xs2 ≧ (xs1−P35)) and (xe2 ≦ ( xe1 + P36))) (19) where P33 and P34 are arbitrary values.
[0251]
In this conditional expression (19), each of P33 to P36 is 0, and the character positions of the base engine position edited characters are all included in the X position in the character positions of other engine position edited characters. Or if the character position of the position edited character of the other engine is all included in the X direction in the character position of the base engine position edited character, it can be determined that the character position corresponds. It is a formula. At this time, the margin for judging the inclusion relationship between character positions can be adjusted by changing the values of P33 to P36.
[0252]
The condition 3 in FIG. 21B is (((MAX (xe1, xe2) −MIN (xs1, xs2)) × P37) ≧ (xe1−xs1)) or ((MAX (xe1, xe2)) −MIN (xs1, xs2)) × P38) ≧ (xe2−xs2))) (20). However, P37 and P38 show arbitrary values.
[0253]
This conditional expression (20) indicates that the width of the portion where the character position of the position edited character of the base engine and the character position of the position edited character of the other engine overlap in the X direction is the character of the position edited character of the base engine. Conditional expression that can determine that the character position corresponds to a certain degree (depending on P37) compared to the width of the position in the X direction, or the position-edited character of the base engine in the X direction The height of the portion where the character position and the character position of the position-edited character of the other engine overlap is somewhat compared with the width of the character position of the position-edited character of the other engine in the X direction (depends on P38). This is a conditional expression that can be determined that the character positions correspond to each other.
[0254]
In the above description, an example of a suitable determination condition when the character is known as horizontal writing has been described in advance. However, the character is written vertically, that is, the character arrangement is known in the vertical direction and the line arrangement is known in the horizontal direction. As for the case, the determination of the line correspondence described above and the determination of the character correspondence are exchanged. That is, when the character is vertically written, the line correspondence may be determined in the X direction and the character correspondence may be determined in the Y direction.
[0255]
If there is no corresponding line among the position-edited lines of the N character recognition engines, for example, a reject is output. Of course, it is not limited to this.
[0256]
On the other hand, the composite character position determination unit 1830 performs processing on lines determined to correspond to each other among the character recognition engines in the position-edited lines of the N character recognition engines.
[0257]
This composite character position determination unit 1830 performs character position correspondence determination as described in the above embodiments. For example, this character position correspondence determination may be performed only for the line determined to correspond one-to-one among the position edited lines of each character recognition engine.
[0258]
As described above, according to the character reading device 1800 of the fifth embodiment, it is determined whether or not the lines cut out by the N line cutout sections and other lines overlap each other, and overlapped. Edit the line position of this line and other lines. Then, based on the information on the line position of the line whose line position has been edited, it is determined whether or not there is a line whose line position corresponds to each other in the line whose line position has been edited. At this time, the character position correspondence is determined only for the lines determined to correspond.
[0259]
For this reason, particularly when character recognition is performed on a pattern to be read consisting of a plurality of lines, it is no longer necessary to determine whether or not there is a character corresponding to the character position between the lines having no corresponding relationship. It is possible to realize a character reader that is fast and has a high character recognition rate.
[0260]
FIG. 22 is a diagram for explaining a usage mode of the character reading device according to the third, fourth, or fifth embodiment. In the character cutout result shown in FIG. 22A, the character string pattern is cut out correctly along the row direction. On the other hand, in the character cutout result shown in FIG. 22B, a character string pattern tilted with respect to the line direction is cut out due to the inclination of the form or the like. In other words, in the case of FIG. 22B, the extracted character overlaps with a line different from the line to which the character belongs, and thus composite character recognition may not be performed correctly. However, according to the character reading device of the third, fourth, or fifth embodiment, it is possible to correctly recognize the characters because the correspondence between the character positions can be correctly determined.
[0261]
In the above description, several embodiments of the character reading device of the present invention have been described. However, the present invention is not limited to the above-described embodiment, and many variations or modifications can be added.
[0262]
For example, in each of the above-described embodiments, whether there is a character corresponding to the character position of the position-edited character among the engines, or whether there is a line corresponding to the line position of the position-edited line, Correspondence was determined by focusing on characters and lines. In addition to these, attention may be paid to an arbitrary area wider than a line, and it may be determined whether or not such an area corresponds between the engines, and processing may be performed based on this. In addition, even for such an area, it may be determined whether or not the areas cut out by the same line cutout unit overlap each other, and if they overlap, the position of each area may be edited. Specifically, the configuration is as follows.
[0263]
That is, it is only necessary to have a plurality of area cutout sections that cut out an arbitrary area wider than the line from the image data, and to include a composite determination section that determines overlapping of areas, edits, and determines correspondence. In the fifth embodiment, the composite determination unit can perform the same processing for the region as the processing for performing the overlapping determination of the row position, the editing of the row position, and the determination of the correspondence of the row. If it is.
[0264]
That is, the composite determination unit determines whether or not the region cut out by the plurality of region cutout units and another region overlap each other, and in the case of overlapping, the region position of the region and the other region is determined. Based on the information on the area position of the area that has been edited and the area position has been edited, it is determined whether there is an area that corresponds to the area position among the areas that have been edited. Then, it is good as a compound judgment part which performs correspondence judgment of a character position about each judged field.
[0265]
In this way, the position of this area can be edited so that arbitrary areas wider than the lines extracted by the engines do not overlap each other. In the edited area, it is possible to process whether or not there is a character corresponding to the character position for areas having a high probability that the character corresponding to the character position is included. It should be noted that the processing for checking the correspondence relationship for the line position is performed on the region determined to have the correspondence relationship by checking the correspondence relationship for an arbitrary area wider than the line, and then the character position corresponds. There may be a case where stepwise processing is performed, such as processing whether or not there is a character.
[0266]
The processing procedure described in each embodiment is merely an example of the scope of the present invention, and can be changed to another suitable processing procedure.
[0267]
【The invention's effect】
As is apparent from the above description, according to the character reading device of the present invention, when performing multiple recognition using the recognition results of the characters cut out by a plurality of character cut-out portions with different algorithms, the character cut-out portions Thus, multiple recognition can be performed using the recognition result of the character corresponding to the character position. Further, when performing complex recognition using the recognition results of a plurality of character recognition units having different algorithms, complex recognition can be performed using the recognition results of characters corresponding to character positions between the character recognition units.
[0268]
For this reason, it is possible to perform complex recognition on characters cut out by the character cutout units (each character recognition unit) as similar characters.
[0269]
In addition, before such character position correspondence determination, it is determined whether or not the characters cut out by the same character cutout unit overlap. If they overlap, the character position is edited. Therefore, the above-described character position correspondence determination can be performed accurately.
[0270]
Therefore, character recognition in character readers that perform multiple character recognition using a combination of multiple character extraction methods with different algorithms, or character readers that combine multiple character recognition methods with different algorithms The rate can be increased further.
[Brief description of the drawings]
FIG. 1 is a block diagram of a character reading apparatus according to a first embodiment.
FIG. 2 is a diagram for explaining a character position (or line position);
FIG. 3 is a diagram for explaining an operation of a character cutout unit;
FIG. 4 is a flowchart showing the operation of the in-line character editing unit.
FIG. 5 is a diagram for explaining editing results of character positions;
FIG. 6 is a flowchart showing an operation of a character position correspondence determination unit.
FIG. 7 is a diagram illustrating determination conditions of a character position correspondence determination unit.
FIG. 8 is a diagram for explaining a result of character position correspondence determination;
FIG. 9 is a flowchart showing the operation of the corresponding character extraction unit.
FIG. 10 is a block diagram of a character reading device according to a second embodiment.
FIG. 11 is a flowchart illustrating an operation of a corresponding character extraction unit according to the second embodiment.
FIG. 12 is a block diagram of a character reading apparatus according to a third embodiment.
FIG. 13 is a flowchart illustrating the operation of the out-of-line character editing unit according to the third embodiment.
FIG. 14 is a diagram for explaining an editing result of a character position in an out-of-line character editing unit.
FIG. 15 is a block diagram of a character reading device according to a fourth embodiment.
FIG. 16 is a flowchart illustrating an operation of the line-to-line character editing unit according to the fourth embodiment.
FIG. 17 is a diagram for explaining the editing result of the character position in the line character editing unit.
FIG. 18 is a block diagram of a character reading device according to a fifth embodiment.
FIG. 19 is a flowchart illustrating the operation of the in-region line editing unit according to the fifth embodiment.
FIG. 20 is a diagram for explaining the editing of the line position in the in-area line editing unit.
FIG. 21 is an explanatory diagram of the fifth embodiment, and is a diagram illustrating an example of preferable conditions for determining a correspondence relationship when a character is known in advance as horizontal writing;
FIG. 22 is a diagram illustrating a usage form of the character reading device according to the third, fourth, or fifth embodiment.
FIG. 23 is a diagram illustrating a conventional technique.
FIG. 24 is a diagram for explaining a problem of a conventional technique.
[Explanation of symbols]
100: Character reader according to the first embodiment
132, 142: Character cutout part
133, 143: Character recognition unit
160: Composite determination unit
1000: Character reader according to the second embodiment
1012: Nth character cutout part
1013: Nth character recognition unit
1020: Composite determination unit
1200: Character reading apparatus according to the third embodiment
1210: Composite determination unit
1500: Character reading device according to the fourth embodiment
1510: Composite determination unit
1800: Character reader of the fifth embodiment
1810: Composite determination unit

Claims (11)

文字切り出しアルゴリズムが異なるN個の文字切出し部と(但し、Nは2以上の整数)、
これらN個の文字切出し部が文字読取対象の画像データから切り出す文字を、それぞれ認識し認識結果を出力する文字認識部と、
前記N個の文字切出し部がそれぞれ切り出した文字中に、互いに文字位置が対応する文字があるか否かを判定し、対応すると判定された文字については、対応する文字それぞれの前記文字認識部での各認識結果から複合的に判定して最終的な認識結果を決める、複合判定部と
を具え、および、
前記複合判定部は、前記文字位置が対応するか否かを判定する前に、同一の前記文字切出し部でそれぞれ切り出された文字および他の文字が重なり合っているか否かを判定し、重なり合う場合には、当該文字の文字位置が、当該他の文字の文字位置と重なり合わない、離間した位置となるように、当該文字および当該他の文字のそれぞれの文字位置を編集すること
を特徴とする文字読取装置。
N character cutout portions having different character cutout algorithms (where N is an integer of 2 or more),
A character recognition unit that recognizes each of the characters extracted from the image data to be read by the N character extraction units and outputs a recognition result;
It is determined whether or not there is a character whose character position corresponds to each other among the characters cut out by the N character cutout portions, and the characters that are determined to correspond to each other are determined by the character recognition portion of each corresponding character. A composite determination unit for determining the final recognition result in a composite manner from each recognition result of
Before determining whether or not the character position corresponds, the composite determination unit determines whether or not the character cut out by the same character cutout unit and another character overlap each other, and Is a character characterized by editing the character position of the character and the other character so that the character position of the character does not overlap with the character position of the other character. Reader.
請求項1に記載の文字読取装置において、
前記重なり合っているか否かの判定では、同一行内で重なり合っているか否かを判定すること
を特徴とする文字読取装置。
The character reader according to claim 1,
The character reader according to claim 1, wherein the determination as to whether or not they overlap overlaps whether or not they overlap within the same line.
請求項2に記載の文字読取装置において、
前記複合判定部は、前記同一行内での文字の重なりを判定する前に、前記切り出された文字と、当該文字の属する行とは異なる行に属する文字とが重なり合っているか否かを判定し、かつ、重なり合う場合には、当該文字の文字位置が、当該文字の属する行とは異なる行に属する文字の文字位置と互いに重なり合わない、離間した位置となるように、当該各文字の文字位置を編集すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The composite determination unit determines whether or not the extracted character and a character belonging to a line different from the line to which the character belongs overlap before determining the overlap of characters in the same line, In the case of overlapping, the character position of each character is set so that the character position of the character does not overlap with the character position of the character belonging to a line different from the line to which the character belongs. A character reader characterized by editing.
請求項2に記載の文字読取装置において、
該文字読取装置は、前記N個の文字切出し部の各前段に個々に設けられた行切出し部を具え、および、
前記複合判定部は、前記同一行内での文字の重なりを判定する前に、前記切り出された文字と、前記行切出し部でそれぞれ切り出された行であって当該文字の属する行とは異なる行とが重なり合っているか否かを判定し、かつ、重なり合う場合には、当該文字の文字位置が、当該文字の属する行とは異なる行に属する文字の文字位置と互いに重なり合わない、離間した位置となるように、当該文字の文字位置を編集すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The character reading device includes a line cutout unit provided individually at each preceding stage of the N character cutout units, and
The composite determination unit, before determining the overlap of characters in the same line, the extracted character and a line that is respectively extracted by the line extraction unit and different from the line to which the character belongs If they overlap, the character position of the character is separated from the character position of a character belonging to a line different from the line to which the character belongs. Thus, the character reading apparatus characterized by editing the character position of the character.
請求項2に記載の文字読取装置において、
該文字読取装置は、前記N個の文字切り出し部の各前段に個々に設けられた行切出し部を具え、および、
前記複合判定部は、前記同一行内での文字の重なりを判定する前に、前記N個の行切出し部でそれぞれ切り出された行および他の行が重なり合っているか否かを判定し、重なり合う場合には当該行および他の行のそれぞれの行位置を編集し、該行位置の編集が済んだ行の行位置の情報に基づいて、該行位置の編集が済んだ行中に、互いに行位置が対応する行があるか否かを判定し、かつ、対応すると判定した行それぞれについて、前記文字位置が対応するか否かを判定すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The character reading device includes a line cutout unit individually provided at each preceding stage of the N character cutout units, and
The composite determination unit determines whether or not the lines extracted by the N line extraction units and other lines overlap each other before determining the overlap of characters in the same line. Edits the respective line positions of the line and the other lines, and based on the line position information of the line where the line position has been edited, the line positions of the lines where the line position has been edited are mutually different. It is determined whether there exists a corresponding line, and it is determined whether each said character position respond | corresponds about each line determined to correspond.
請求項2に記載の文字読取装置において、
該文字読取装置は、前記画像データから、行よりさらに広い任意の領域をそれぞれ切り出す複数の領域切出し部を具え、
前記複合判定部は、前記同一行内での前記文字の重なりを判定する前に、前記複数の領域切出し部でそれぞれ切り出された領域および他の領域が重なり合っているか否かを判定し、重なり合う場合には当該領域および他の領域のそれぞれの領域位置を編集し、該領域位置の編集が済んだ領域の領域位置の情報に基づいて、該領域位置の編集が済んだ領域中に、互いに領域位置が対応する領域があるか否かを判定し、かつ、対応すると判定した領域それぞれについて、前記文字位置が対応するか否かを判定すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The character reading device includes a plurality of area cutout units that cut out arbitrary areas wider than lines from the image data,
The composite determination unit determines whether or not the regions cut out by the plurality of region cut-out units and other regions overlap before determining overlap of the characters in the same line. Edits the position of each of the area and the other areas, and the area positions of the areas that have been edited based on the information on the area positions of the areas that have been edited. A character reading device that determines whether or not there is a corresponding region and determines whether or not the character position corresponds to each of the regions determined to correspond.
請求項2に記載の文字読取装置において、
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の文字位置同士が、マージンを許容する場合も含めて、少しでも重なっている場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The composite determination unit determines that the character position corresponds when the character positions of the characters to be determined whether or not the character positions correspond to each other, including a case where a margin is allowed. The character reader characterized by determining.
請求項2に記載の文字読取装置において、
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の一方の文字の文字位置が、マージンを許容する場合も含めて、他方の文字の文字位置に含まれている場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The composite determination unit includes a character position of one character of the character to be determined whether or not the character position corresponds to the character position of the other character, including a case where a margin is allowed. A character reading device that determines that the character position corresponds to the character position.
請求項2に記載の文字読取装置において、
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の文字位置同士が文字の縦方向および横方向のうちの第1の方向において、マージンを許容する場合も含めて、少しでも重なっており、かつ、文字の縦方向および横方向のうちの第2の方向においてどちらか一方の文字の文字位置が、マージンを許容する場合も含めて、他方の文字の文字位置に含まれる場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。
The character reader according to claim 2,
The composite determination unit includes a case where the character positions of the characters to be determined whether or not the character positions correspond to each other allow a margin in the first direction among the vertical and horizontal directions of the characters. The character position of the other character, including the case where the character position of either one of the characters overlaps even a little and the margin of the character position of one of the characters in the second direction of the character is allowed. A character reading device that determines that the character position corresponds to the character position.
請求項2に記載の文字読取装置において、
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の文字位置同士が重なっている面積が、これら文字の一方の文字の面積に対して、マージンを許容する場合も含めて、ある割合範囲の場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。
The character reader according to claim 2,
In the case where the area where the character positions of the characters to be determined determine whether or not the character positions correspond to each other allows a margin with respect to the area of one of the characters. A character reading device that determines that a character position corresponds to a certain ratio range.
請求項5に記載の文字読取装置において、
前記複合判定部は、
文字が横書きの場合、
前記行位置が対応するか否かの判定をしようとする行の、行位置同士が行の縦方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の行の行位置が他方の行の行位置に、マージンを許容する場合も含めて、行の縦方向で含まれるか、或いは、行位置同士の行の縦方向で重なっている部分の高さが行の縦方向の高さに対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、行位置が対応すると判定し、そして、
前記文字位置が対応するか否かの判定をしようとする文字の、文字位置同士が文字の横方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の文字の文字位置が文字の横方向で、マージンを許容する場合も含めて、他方の文字の文字位置に含まれるか、或いは、文字位置同士の横方向で重なっている部分の幅がいずれかの文字の横方向の幅に対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、文字位置が対応すると判定する、複合判定部であって、および、
文字が縦書きの場合、
前記行位置が対応するか否かの判定をしようとする行の、行位置同士が行の横方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の行の行位置が他方の行の行位置に、マージンを許容する場合も含めて、行の横方向で含まれるか、或いは、行位置同士の行の横方向で重なっている部分の幅が行の横方向の幅に対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、行位置が対応すると判定し、そして、
前記文字位置が対応するか否かの判定をしようとする文字の、文字位置同士が文字の縦方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の文字の文字位置が文字の縦方向で、マージンを許容する場合も含めて、他方の文字の文字位置に含まれるか、或いは、文字位置同士の縦方向で重なっている部分の幅がいずれかの文字の縦方向の高さに対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、文字位置が対応すると判定する、
複合判定部であること
を特徴とする文字読取装置。
The character reader according to claim 5,
The composite determination unit
If the text is horizontal,
The rows of the rows to be determined whether or not the row positions correspond to each other are overlapped even slightly, including the case where the row positions are in the vertical direction of the rows and a margin is allowed. The position of the other row is included in the vertical direction of the row, including the case where a margin is allowed, or the height of the overlapping portion in the vertical direction of the rows between the row positions is the vertical length of the row. It is determined that the line position corresponds to the height in the direction, including the case where the margin is allowed, and the line position corresponds to any of the certain range.
Characters for which the character position is to be determined whether or not the character positions overlap with each other even if the character positions are in the horizontal direction of the character and allow margins. Even if the position is in the horizontal direction of the character and the margin is allowed, it is included in the character position of the other character, or the width of the overlapping portion of the character positions in the horizontal direction is A composite determination unit that determines that a character position corresponds to a width in a direction, including a case where a margin is allowed, and that is in a certain ratio range; and
If the text is vertical,
The rows of the rows to be determined whether or not the row positions correspond to each other, even if the row positions are in the horizontal direction of the rows, and even if margins are allowed, they overlap even a little. The position is included in the horizontal direction of the line, including the case where the margin is allowed in the line position of the other line, or the width of the overlapping part in the horizontal direction of the line between the line positions is the horizontal direction of the line It is determined that the line position corresponds to the width of, depending on whether it is within a certain range, including the case where margin is allowed, and
Characters for which the character position is to be determined whether or not the character position overlaps even a little, including the case where the character positions are in the vertical direction of the character and allow margin Including the case where the position is the vertical direction of the character and the margin is allowed, the width of the part that is included in the character position of the other character or overlaps in the vertical direction between the character positions is It is determined that the character position corresponds to the height in the direction, depending on whether it is within a certain range, including the case where a margin is allowed.
A character reading device which is a composite determination unit.
JP28083999A 1999-09-30 1999-09-30 Character reader Expired - Fee Related JP4320868B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28083999A JP4320868B2 (en) 1999-09-30 1999-09-30 Character reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28083999A JP4320868B2 (en) 1999-09-30 1999-09-30 Character reader

Publications (2)

Publication Number Publication Date
JP2001101343A JP2001101343A (en) 2001-04-13
JP4320868B2 true JP4320868B2 (en) 2009-08-26

Family

ID=17630714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28083999A Expired - Fee Related JP4320868B2 (en) 1999-09-30 1999-09-30 Character reader

Country Status (1)

Country Link
JP (1) JP4320868B2 (en)

Also Published As

Publication number Publication date
JP2001101343A (en) 2001-04-13

Similar Documents

Publication Publication Date Title
JP2951814B2 (en) Image extraction method
CA1299292C (en) Character recognition algorithm
EP0163377B1 (en) Pattern recognition system
US7088873B2 (en) Bit-mapped image multi-stage analysis method
US6567545B1 (en) Format recognition method, apparatus and storage medium
JP4320868B2 (en) Character reader
JPH08320914A (en) Table recognition method and device
JP4194309B2 (en) Document direction estimation method and document direction estimation program
US5894525A (en) Method and system for simultaneously recognizing contextually related input fields for a mutually consistent interpretation
JP3276555B2 (en) Format recognition device and character reader
JP2003030654A (en) Pattern identification device, pattern identification method and program for pattern identification
JP3091278B2 (en) Document recognition method
JPH11316797A (en) Method and device for discriminating area of document image
JP4580520B2 (en) Character recognition method and character recognition apparatus
JPH0713994A (en) Character recognizing device
JP2000036006A (en) Character reader and character segmenting device
JPH11120291A (en) Pattern recognition system
CN115830607A (en) Text recognition method and device based on artificial intelligence, computer equipment and medium
JPH02264385A (en) Pattern segmenting method
JPH04267494A (en) Character segmenting method and character recognizing device
JPH05266250A (en) Character string detector
JPH06131501A (en) Optical character reader
JPH06187450A (en) Pattern recognizing method and device therefor
JPH05114047A (en) Device for segmenting character
JPH01259476A (en) Character reader

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090326

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: 20090512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090525

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: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees