JP4320868B2 - Character reader - Google Patents
Character reader Download PDFInfo
- 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
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
[0023]
The
[0024]
Note that some or all of the
[0025]
The
[0026]
The
[0027]
The character
[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
[0030]
The first
[0031]
The first
[0032]
The first
[0033]
On the other hand, in the case of this embodiment, the second
[0034]
The second
[0035]
The second
[0036]
The second
[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
[0041]
The
[0042]
In this embodiment, the composite
[0043]
The first in-line
[0044]
The second in-line
[0045]
The composite character
[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
[0047]
In the case of this embodiment, the composite character
[0048]
The character position
[0049]
In addition, the corresponding
[0050]
The composite
[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
[0053]
FIG. 3 is a diagram for explaining the operation of the first and second
[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
[0056]
For the image data stored in the
[0057]
FIG. 3A is a diagram showing an
[0058]
Subsequently, for the
[0059]
FIG. 3B is a diagram illustrating characters cut out by the first
[0060]
In addition, the second
[0061]
FIG. 3C is a diagram illustrating characters cut out by the second
[0062]
Next, each character cut out by the first
[0063]
Subsequently, among the characters cut out by the first
[0064]
After that, each character cut out by the first
[0065]
In this embodiment, the recognition result of the first
[0066]
Here, with reference to FIG. 3, FIG. 4, and FIG. 5, the editing of the character position in the first in-line
[0067]
As described above, each character (four characters here) cut out by the first
[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
[0071]
The first in-line
[0072]
First, the first in-line
[0073]
After initializing each variable, the first in-line
[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
[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
[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
[0088]
In this embodiment, the first
[0089]
First, when the character position
[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
[0092]
Next, the character position
[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
[0108]
Further, in the example of FIG. 8A, the
[0109]
For each of the
[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
[0111]
When the process starts (901 in FIG. 9), the corresponding
[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
[0114]
If it is determined that the number of corresponding characters is not 1 in the
[0115]
However, the
[0116]
When the processing by the corresponding
[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
[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
[0126]
FIG. 10 is a block diagram showing the configuration of the
[0127]
The
[0128]
The Nth
[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
[0131]
Further, in the
[0132]
The difference between the composite
[0133]
The difference between the composite character
[0134]
Each of the first to (N-1) th character position
[0135]
That is, when the base engine is the first
[0136]
Each of the first to (N-1) th character position
[0137]
Next, the operation of the
[0138]
Corresponding
[0139]
FIG. 11 is a diagram for explaining the operation of the corresponding
[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
[0148]
When the corresponding character extraction is completed, the composite
[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
[0151]
3. Third embodiment
In each of the
[0152]
FIG. 12 is a block diagram illustrating a configuration of a
[0153]
The
[0154]
The
[0155]
That is, the
[0156]
In order to realize this, the
[0157]
The composite
[0158]
The other components of the
[0159]
The first, second, and Nth out-of-line
[0160]
Next, the operation of the
[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
[0162]
The first, second, and Nth out-of-line
[0163]
First, the first out-of-line
[0164]
After initializing each variable, the first out-of-line
[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
[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
[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
[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,
[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
[0180]
According to the
[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
[0183]
The
[0184]
FIG. 15 is a block diagram illustrating a configuration of a
[0185]
The
[0186]
The
[0187]
That is, the
[0188]
In order to realize this, the
[0189]
Each of the
[0190]
The composite
[0191]
Further, other configurations of the
[0192]
The first, second, and Nth line
[0193]
Next, the operation of the
[0194]
FIG. 16 is a flowchart illustrating the operation of the line character editing unit. However, the first, second, and Nth line
[0195]
The first, second, and Nth line
[0196]
First, the first line-
[0197]
After initializing each variable, the first line
[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
[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
[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
[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
[0208]
According to the
[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
[0211]
The
[0212]
That is, the characteristic processing of the present invention is to detect a character corresponding to a character position among N
[0213]
Therefore, the
[0214]
That is, the
[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 /
[0217]
Since the first, second, and Nth in-line
[0218]
The first, second, and Nth in-region
[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
[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
[0223]
Here, the operation of the
[0224]
FIG. 19 is a flowchart showing the operation of the in-region line editing unit. The first, second, and Nth in-
[0225]
The first, second, and Nth in-
[0226]
The in-
[0227]
First, the
[0228]
After initializing each variable, the first area in-
[0229]
For example, when the medium is horizontally written, the i-th row is regarded as the
[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
[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
[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
[0236]
As described above, when the processes in the in-region
[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
[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
[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
[0257]
This composite character
[0258]
As described above, according to the
[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個の文字切出し部がそれぞれ切り出した文字中に、互いに文字位置が対応する文字があるか否かを判定し、対応すると判定された文字については、対応する文字それぞれの前記文字認識部での各認識結果から複合的に判定して最終的な認識結果を決める、複合判定部と
を具え、および、
前記複合判定部は、前記文字位置が対応するか否かを判定する前に、同一の前記文字切出し部でそれぞれ切り出された文字および他の文字が重なり合っているか否かを判定し、重なり合う場合には、当該文字の文字位置が、当該他の文字の文字位置と重なり合わない、離間した位置となるように、当該文字および当該他の文字のそれぞれの文字位置を編集すること
を特徴とする文字読取装置。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.
前記重なり合っているか否かの判定では、同一行内で重なり合っているか否かを判定すること
を特徴とする文字読取装置。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.
前記複合判定部は、前記同一行内での文字の重なりを判定する前に、前記切り出された文字と、当該文字の属する行とは異なる行に属する文字とが重なり合っているか否かを判定し、かつ、重なり合う場合には、当該文字の文字位置が、当該文字の属する行とは異なる行に属する文字の文字位置と互いに重なり合わない、離間した位置となるように、当該各文字の文字位置を編集すること
を特徴とする文字読取装置。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.
該文字読取装置は、前記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.
該文字読取装置は、前記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.
該文字読取装置は、前記画像データから、行よりさらに広い任意の領域をそれぞれ切り出す複数の領域切出し部を具え、
前記複合判定部は、前記同一行内での前記文字の重なりを判定する前に、前記複数の領域切出し部でそれぞれ切り出された領域および他の領域が重なり合っているか否かを判定し、重なり合う場合には当該領域および他の領域のそれぞれの領域位置を編集し、該領域位置の編集が済んだ領域の領域位置の情報に基づいて、該領域位置の編集が済んだ領域中に、互いに領域位置が対応する領域があるか否かを判定し、かつ、対応すると判定した領域それぞれについて、前記文字位置が対応するか否かを判定すること
を特徴とする文字読取装置。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.
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の文字位置同士が、マージンを許容する場合も含めて、少しでも重なっている場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。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.
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の一方の文字の文字位置が、マージンを許容する場合も含めて、他方の文字の文字位置に含まれている場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。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.
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の文字位置同士が文字の縦方向および横方向のうちの第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.
前記複合判定部は、前記文字位置が対応するか否かの判定をしようとする文字の文字位置同士が重なっている面積が、これら文字の一方の文字の面積に対して、マージンを許容する場合も含めて、ある割合範囲の場合に、文字位置が対応すると判定すること
を特徴とする文字読取装置。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.
前記複合判定部は、
文字が横書きの場合、
前記行位置が対応するか否かの判定をしようとする行の、行位置同士が行の縦方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の行の行位置が他方の行の行位置に、マージンを許容する場合も含めて、行の縦方向で含まれるか、或いは、行位置同士の行の縦方向で重なっている部分の高さが行の縦方向の高さに対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、行位置が対応すると判定し、そして、
前記文字位置が対応するか否かの判定をしようとする文字の、文字位置同士が文字の横方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の文字の文字位置が文字の横方向で、マージンを許容する場合も含めて、他方の文字の文字位置に含まれるか、或いは、文字位置同士の横方向で重なっている部分の幅がいずれかの文字の横方向の幅に対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、文字位置が対応すると判定する、複合判定部であって、および、
文字が縦書きの場合、
前記行位置が対応するか否かの判定をしようとする行の、行位置同士が行の横方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の行の行位置が他方の行の行位置に、マージンを許容する場合も含めて、行の横方向で含まれるか、或いは、行位置同士の行の横方向で重なっている部分の幅が行の横方向の幅に対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、行位置が対応すると判定し、そして、
前記文字位置が対応するか否かの判定をしようとする文字の、文字位置同士が文字の縦方向で、マージンを許容する場合も含めて、少しでも重なっているか、いずれか一方の文字の文字位置が文字の縦方向で、マージンを許容する場合も含めて、他方の文字の文字位置に含まれるか、或いは、文字位置同士の縦方向で重なっている部分の幅がいずれかの文字の縦方向の高さに対して、マージンを許容する場合も含めて、ある割合範囲にあるかの何れかによって、文字位置が対応すると判定する、
複合判定部であること
を特徴とする文字読取装置。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.
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) |
-
1999
- 1999-09-30 JP JP28083999A patent/JP4320868B2/en not_active Expired - Fee Related
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 |