(57)【要約】【課題】本文行に対するルビ・脚注行といった、本文行群と別に扱いたい行を検出する場合に、対象ルビ行が原稿上のどこに在っても（前提条件を置かずに）検出可能とし、検出結果を利用し文字列の切出し精度の向上を図る。【解決手段】文字外接矩形統合法により対象文字列から切出された全行矩形の一つを基準行として選択し、基準行の高さの半分を閾値として各切出し行がルビ行であるか、否（本文行）かを行高さにより判定する。基準行の選択処理は、図６（Ａ）の認識処理の対象となる複数の行Ｓ１〜Ｓ５に、行幅、行高さに対するメンバシップ関数：同図の（Ｂ）（Ｃ）を適用し、各評価値の和を算出し、その和が最大値Ｖｍａｘとなる行を選択する。ルビ行であるか、否かの判定結果により、ルビ行の行データを削除するか、或いは判定結果を添付した行データを後段の認識処理部に出力する。【選択図】　　　　図６
2004094292.tif 000002
【特許請求の範囲】
【請求項１】
処理対象として入力された複数行の文字列画像から文字行を切り出す文字行切り出し手段と、切り出された文字行に含まれる文字を認識する手段を有する文字認識装置であって、前記文字行切り出し手段は、文字列画像から文字行単位と見なせる各文字列に外接する行矩形を切り出す行切り出し手段と、切り出された行の中から所定の規則を適用することにより基準行を選択する手段と、選択された基準行の有する形状値に基づいて、切り出された各々の行が一つの認識対象群に属する行であるか、否かを判定する認識対象属性判定手段と、判定結果を用いて切り出された行を出力する手段を備えることを特徴とする文字認識装置。
【請求項２】
請求項１に記載された文字認識装置において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された行矩形の幅、高さ、位置の少なくとも一つに適用することを特徴とする文字認識装置。
【請求項３】
請求項１又は２に記載された文字認識装置において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された前記行矩形の中から最も広い幅を持つ行に定めることを特徴とする文字認識装置。
【請求項４】
請求項１乃至３のいずれかに記載された文字認識装置において、前記認識対象属性判定手段が、基準行と高さを比較して低い行を一つの認識対象群に属する行ではないと判定する手段を有することを特徴とする文字認識装置。
【請求項５】
請求項１乃至４のいずれかに記載された文字認識装置において、前記認識対象属性判定手段が、基準行の高さと比較して上下の行との間隔が広い行を一つの認識対象群に属する行であると判定する手段を有することを特徴とする文字認識装置。
【請求項６】
請求項１乃至５のいずれかに記載された文字認識装置において、前記認識対象属性判定手段が、一つの認識対象群に属する行を本文行とし、一つの認識対象群に属さない行をルビ行と判定する条件を備えることを特徴とする文字認識装置。
【請求項７】
請求項１乃至６のいずれかに記載された文字認識装置において、前記文字行切り出し手段は、前記認識対象属性判定手段により一つの認識対象群に属する行ではないと判定された行の出力を行わないようにすることを特徴とする文字認識装置。
【請求項８】
請求項１乃至６のいずれかに記載された文字認識装置において、前記文字行切り出し手段は、前記認識対象属性判定手段により一つの認識対象群に属する行ではないと判定された行を判定結果を示す情報を付与して出力することを特徴とする文字認識装置。
【請求項９】
処理対象として入力された複数行の文字列画像から文字行を切り出す文字行切り出しステップと、切り出された文字行に含まれる文字を認識するステップを含む文字認識方法であって、前記文字行切り出しステップは、文字列画像から文字行単位と見なせる各文字列に外接する行矩形を切り出す行切り出しステップと、切り出された行の中から所定の規則を適用することにより基準行を選択するステップと、選択された基準行の有する形状値に基づいて、切り出された各々の行が一つの認識対象群に属する行であるか、否かを判定する認識対象属性判定ステップと、判定結果を用いて切り出された行を出力するステップを備えたことを特徴とする文字認識方法。
【請求項１０】
請求項９に記載された文字認識方法において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された行矩形の幅、高さ、位置の少なくとも一つに適用することを特徴とする文字認識方法。
【請求項１１】
請求項９又は１０に記載された文字認識方法において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された前記行矩形の中から最も広い幅を持つ行に定めることを特徴とする文字認識方法。
【請求項１２】
請求項９乃至１１のいずれかに記載された文字認識方法において、前記認識対象属性判定ステップが、基準行と高さを比較して低い行を一つの認識対象群に属する行ではないと判定するステップを有することを特徴とする文字認識方法。
【請求項１３】
請求項９乃至１２のいずれかに記載された文字認識方法において、前記認識対象属性判定ステップが、基準行の高さと比較して上下の行との間隔が広い行を一つの認識対象群に属する行であると判定するステップを有することを特徴とする文字認識方法。
【請求項１４】
請求項９乃至１３のいずれかに記載された文字認識方法において、前記認識対象属性判定ステップが、一つの認識対象群に属する行を本文行とし、一つの認識対象群に属さない行をルビ行と判定する条件を備えることを特徴とする文字認識方法。
【請求項１５】
請求項９乃至１４のいずれかに記載された文字認識方法において、前記文字行切り出しステップは、前記認識対象属性判定ステップにより一つの認識対象群に属する行ではないと判定された行の出力を行わないようにすることを特徴とする文字認識方法。
【請求項１６】
請求項９乃至１４のいずれかに記載された文字認識方法において、前記文字行切り出しステップは、前記認識対象属性判定ステップにより一つの認識対象群に属する行ではないと判定された行を判定結果を示す情報を付与して出力することを特徴とする文字認識方法。
【請求項１７】
請求項９乃至１６のいずれかに記載された文字認識方法の各処理ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＯＣＲ（光学的文字読み取り装置）等に利用される文字認識処理に関し、より特定すると、文書原稿から読み取った文字列画像をもとに文字認識の対象となる文字候補を抽出する処理の前段で用いられる文字行の切り出しにおいて、文字行の中、例えば、本文行に対するルビ行のように一つの認識対象群から除外したい行を検出し、検出結果を用いて利用する文字行を出力することを可能にする手段を有する文字認識装置、文字認識方法及び該方法の実行に用いるプログラムに関する。
【０００２】
【従来の技術】
従来のＯＣＲ（光学的文字読み取り装置）においては、スキャナーにより文書原稿から読み取った画像に基づいて原稿に記された文字を認識する処理を行っている。この処理を行う際に、読み取った画像に含まれる文字列画像をもとに文字認識の対象となる文字候補を抽出するために文字単位の切り出しを行うが、その手順として、複数行の文字列画像から文字行を切り出す処理を前段で行う。この行切り出しは、認識対象を規定することになるので、認識の精度を保証するために適正な切り出しが必要になる。
文字行の切り出しにおいて、従来から知られている方法は、いわば“外接矩形統合法”と呼ぶべき方法である。この方法は、まず、入力文字列画像から図形としてまとまりのある黒画素の連結パターンを抽出し、抽出された各々のパターンについて、その外接矩形を求め、次に、これらの矩形を一つの行を構成する要素と判断する統合規則（例えば、矩形相互の水平、垂直方向の距離が所定範囲内にあれば統合）に従い統合し、得られる行矩形により行の切り出しを行っている（特許２８９５１２２号、参照）。
【０００３】
この“外接矩形統合法”による行の切り出しの際、対象とする原稿中に本文を構成する通常の文字行にルビ等の注に相当する行が付加されている場合に、これまではルビ行等も通常の行と同様に切り出されるのが普通であった。
ところで、近年の文字認識装置においては、パターンマッチング法により得られた文字認識結果に対して、何らかの言語処理による修正を施して、文書としてもっともらしい形態を持つ認識結果を最終的に出力する場合が多い。このような言語処理を施すにあたって、ルビ行が通常の行と同じように切り出されてしまうと、ルビ行の前後で文章的なつながりが無くなるため、言語処理による修正の精度が大きく低下する。
例えば、図９に示すようなルビ行が付加された画像が入力された場合に、ルビ行を通常の行と同様に切り出した場合、言語処理には「本日は晴天なりあしたどんてん明日は曇天なり」という文章が対象になるので、正しい言語処理が行えず、文字認識装置の認識性能の低下につながってしまう。
【０００４】
【発明が解決しようとする課題】
そこで、本文にルビが混入することがないように、特開平８−１０１８８６（文字認識装置）では、ルビ行を取り除く方法を提案している。特開平８−１０１８８６に示されている方法では、除去の対象となるルビ文字行が行間に書き加えられたものであり、従って最終行は本文行であるという前提をおいて、最終行を基準として最終行から一つ前の文字行と、先頭行に向けて逆順にルビ行の検出を行っている。しかしながら、この前提条件は常に成り立つものではなく、最終行が必ずしも通常の行であるとは限らない。例えば、脚注などが存在する原稿においては、最終行にルビと同程度の大きさの文字が配置される場合もある。従って、特開平８−１０１８８６は、一つの認識対象群（本文行群）から除外したい、或いは別に扱いたいルビや脚注といった行が、最終行にある場合に対応して、これらの行の検出をすることができない。
このように、従来技術は、ルビや脚注の入った原稿の文字列認識（切り出し）精度向上に対する要求に十分に応えるものではない、という問題を抱えている。
本発明は、処理対象として入力された複数行の文字列画像から文字行を切り出し、切り出した文字行に含まれる文字を対象に文字認識を行う際に必要とされる各文字行の切り出し処理における上述の従来技術の問題に鑑みてなされたものであり、その目的は、本文行に対するルビ行や脚注行といった行のように、一つの認識対象群（本文行群）として扱いたくない、或いは一つの認識対象群（本文行群）とは別に扱いたい行を検出する場合に、対象とする行が原稿上のどの文字行に在っても（特開平８−１０１８８６のような前提条件を置かずに、無条件で）検出ができるようにし、検出結果を利用することにより、文字列認識（切り出し）精度向上を図ることを可能にする文字認識装置、文字認識方法及び該文字認識方法の実行に用いるプログラムを提供することにある。
【０００５】
【課題を解決するための手段】
請求項１の発明は、処理対象として入力された複数行の文字列画像から文字行を切り出す文字行切り出し手段と、切り出された文字行に含まれる文字を認識する手段を有する文字認識装置であって、前記文字行切り出し手段は、文字列画像から文字行単位と見なせる各文字列に外接する行矩形を切り出す行切り出し手段と、切り出された行の中から所定の規則を適用することにより基準行を選択する手段と、選択された基準行の有する形状値に基づいて、切り出された各々の行が一つの認識対象群に属する行であるか、否かを判定する認識対象属性判定手段と、判定結果を用いて切り出された行を出力する手段を備えることを特徴とする文字認識装置である。
【０００６】
請求項２の発明は、請求項１に記載された文字認識装置において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された行矩形の幅、高さ、位置の少なくとも一つに適用することを特徴とするものである。
【０００７】
請求項３の発明は、請求項１又は２に記載された文字認識装置において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された前記行矩形の中から最も広い幅を持つ行に定めることを特徴とするものである。
【０００８】
請求項４の発明は、請求項１乃至３のいずれかに記載された文字認識装置において、前記認識対象属性判定手段が、基準行と高さを比較して低い行を一つの認識対象群に属する行ではないと判定する手段を有することを特徴とするものである。
【０００９】
請求項５の発明は、請求項１乃至４のいずれかに記載された文字認識装置において、前記認識対象属性判定手段が、基準行の高さと比較して上下の行との間隔が広い行を一つの認識対象群に属する行であると判定する手段を有することを特徴とするものである。
【００１０】
請求項６の発明は、請求項１乃至５のいずれかに記載された文字認識装置において、前記認識対象属性判定手段が、一つの認識対象群に属する行を本文行とし、一つの認識対象群に属さない行をルビ行と判定する条件を備えることを特徴とするものである。
【００１１】
請求項７の発明は、請求項１乃至６のいずれかに記載された文字認識装置において、前記文字行切り出し手段は、前記認識対象属性判定手段により一つの認識対象群に属する行ではないと判定された行を判定結果を示す情報を付与して出力することを特徴とするものである。
【００１２】
請求項８の発明は、請求項１乃至６のいずれかに記載された文字認識装置において、前記文字行切り出し手段は、前記認識対象属性判定手段により一つの認識対象群に属する行ではないと判定された行の出力を判定結果を示す情報を付与して行うことを特徴とするものである。
【００１３】
請求項９の発明は、処理対象として入力された複数行の文字列画像から文字行を切り出す文字行切り出しステップと、切り出された文字行に含まれる文字を認識するステップを含む文字認識方法であって、前記文字行切り出しステップは、文字列画像から文字行単位と見なせる各文字列に外接する行矩形を切り出す行切り出しステップと、切り出された行の中から所定の規則を適用することにより基準行を選択するステップと、選択された基準行の有する形状値に基づいて、切り出された各々の行が一つの認識対象群に属する行であるか、否かを判定する認識対象属性判定ステップと、判定結果を用いて切り出された行を出力するステップを備えたことを特徴とする文字認識方法である。
【００１４】
請求項１０の発明は、請求項９に記載された文字認識方法において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された行矩形の幅、高さ、位置の少なくとも一つに適用することを特徴とする方法である。
【００１５】
請求項１１の発明は、請求項９又は１０に記載された文字認識方法において、前記基準行を選択するための所定の規則を、行切り出し手段により切り出された前記行矩形の中から最も広い幅を持つ行に定めることを特徴とする方法である。
【００１６】
請求項１２の発明は、請求項９乃至１１のいずれかに記載された文字認識方法において、前記認識対象属性判定ステップが、基準行と高さを比較して低い行を一つの認識対象群に属する行ではないと判定するステップを有することを特徴とするである。
【００１７】
請求項１３の発明は、請求項９乃至１２のいずれかに記載された文字認識方法において、前記認識対象属性判定ステップが、基準行の高さと比較して上下の行との間隔が広い行を一つの認識対象群に属する行であると判定するステップを有することを特徴とする方法である。
【００１８】
請求項１４の発明は、請求項９乃至１３のいずれかに記載された文字認識方法において、前記認識対象属性判定ステップが、一つの認識対象群に属する行を本文行とし、一つの認識対象群に属さない行をルビ行と判定する条件を備えることを特徴とする方法である。
【００１９】
請求項１５の発明は、請求項９乃至１４のいずれかに記載された文字認識方法において、前記文字行切り出しステップは、前記認識対象属性判定ステップにより一つの認識対象群に属する行ではないと判定された行の出力を行わないようにすることを特徴とする方法である。
【００２０】
請求項１６の発明は、請求項９乃至１４のいずれかに記載された文字認識方法において、前記文字行切り出しステップは、前記認識対象属性判定ステップにより一つの認識対象群に属する行ではないと判定された行を判定結果を示す情報を付与して出力することを特徴とする方法である。
【００２１】
請求項１７の発明は、請求項９乃至１６のいずれかに記載された文字認識方法の各処理ステップをコンピュータに実行させるためのプログラムである。
【００２２】
【発明の実施の形態】
本発明が構成要件とする、文字列認識（切り出し）精度の向上を図るための文字行データの出力手段は、処理対象として入力された複数行の文字列画像に含まれる文字行の中、本文行に対するルビ行や脚注行といった行のように、一つの認識対象群（本文行群）として扱いたくない、或いは一つの認識対象群（本文行群）とは別に扱いたい行（以下、単に「ルビ行」という）を検出し、本文行、ルビ行それぞれの文字行データとして区別し、出力することを可能にし、そのための手段（手順）を提供するものである。
以下に示す本発明の各実施形態では、複数行の文字列画像に含まれる文字行全部の行切り出しを行い、その中から本文行、ルビ行それぞれを検出可能とする。その検出手順は、切り出された全行の中から所定の規則に従い基準行（標準的な本文行とみなせる行）を抽出し、抽出された基準行の有する形状値に基づいて、切り出された各々の行が本文行に属する行であるか、否（即ち、ルビ行）かを判定し、その判定結果を用いて、切り出された行データの出力を行うという手順による。
図１は、各実施形態の実施に共通に用いる処理装置（システム）の構成を示すブロック図である。
図１を参照すると、１は例えばスキャナ等の原稿画像を読み取り、その画像を入力する画像入力部、３は入力された複数行の文字列画像に含まれる文字行全部の行切り出しを行う文字行切り出し部、５は切り出された各々の行が一つの認識対象群（本文行群）に属する行であるか、否か、その属性を判定する文字行判定部、７は判定結果を用いて、切り出された文字行データを出力する行出力部である。
なお、以下の各実施形態には、本発明を特徴付ける文字行データの出力に関する手順を中心に実施に係わる形態を例示する。従って、図１に示すブロック図にも、文字認識装置のうちの、行切り出しに係わる部分のみを示し、その他の構成部分については省略し、文字認識処理全体、即ち、対象画像の入力から最終的に文字認識の最適解を得るまでの手順（手段）全体の説明をしないが、文字認識処理全体については、文字認識に必要な基本的な手順として従前から知られている手順を適用することにより、その実施が可能である。
【００２３】
「実施形態１」
本実施形態は、図１に示した処理システムにより実行される文字行データの出力（検出）処理に係わるものである。ここに示す文字行データの出力処理は、基準行（標準の文字行とみなせる行）を選択する規則として、最大行幅を用い、また、選択・抽出された基準行の有する形状値としての高さに基づいて、切り出された各々の行が本文行に属する行であるか、ルビ行か、その属性を判定し、ルビ行と判定された行については行データを削除して、切り出された行データの出力を行うという手順による処理プロセスの実施形態を示す。
図２は、本実施形態の文字行データの出力処理のフローチャートを示す。
図２を参照すると、本実施形態フローでは、先ず、画像入力部１により認識対象となる複数行の文字列画像を文字行切り出し部３に入力する（Ｓ１１）。なお、この入力の際、画像と共に、認識対象領域のデータを与えても良い。認識対象領域が与えられた場合には、与えられた領域内のみを行切り出しの対象とすればよい。
次に、文字行切り出し部３は、従来提案されている手法を適用して文字行を切り出す（Ｓ１２）。文字行の切り出しには、射影を用いる方法などさまざまな手法が提案されているが、ここでは、上記「従来の技術」の項に示した“外接矩形統合法”を用いるものとする。例えば、特許２８９５１２２号に示す手法で行切り出しを行った場合、統合により得られる行矩形の座標と、行内の矩形（統合の基になる黒画素連結成分の外接矩形）の座標が文字行切り出し部３から出力され、文字行判定部５に送られる。なお、このステップで切り出した行に関する全ての行データを記憶部２に格納する。
【００２４】
次に、行切り出し結果を受け取る文字行判定部５は、切り出された各々の行が本文行に属する行であるか、否か（即ち、ルビ行であるか）を判定する。この手順として、先ず、文字行切り出し部３から送られてきた全ての切り出し行の中から、一つの基準行を選択し、これを判定の基準として定める。基準行の選択にあたっては、行矩形の座標を用いて全ての行矩形のうち、その幅の最も広い行を基準行とする（Ｓ１３）。この基準行の定め方によると、通常、ルビ行の幅がルビを付与されている本文行の幅より広くなることは無いので、この基準で選択すれば、標準的な本文行とみなせる行が選択され、ルビ行が選択されることは無い。
基準行を定めた後、判定に用いる基準値を設定するための手順として、基準行として定めた最大行幅を持つ行の高さ値：Ｓｈを取得し、取得した行高さ値の半分：Ｓｈ／２を判定の基準値として設定する（Ｓ１４）。
次いで、各切り出し行の判定は、各行の高さ：ＨがＳｈ／２より低い行をルビ行と判定し、それ以外を本文行と判定する。また、本実施形態では、ルビ行と判定した行データを削除するという処理を行う。従って、この処理の手順としては、各行の高さＨがＳｈ／２より低い行であるか、否かを判定し（Ｓ１５）、Ｓｈ／２より低い行である場合には（Ｓ１５−ＹＥＳ）、このルビ行のデータを先に記憶部２に格納した行データから削除する（Ｓ１６）。なお、このルビ行判定・行データ削除処理は、各切り出し行毎に全部の行について、判定を行うので、ステップＳ１５，Ｓ１６の処理は、行数分繰り返し実行する。
ルビ行判定・行データ削除処理を各切り出し行に適用した後、ルビ行データが削除され、それ以外の本文行にあたる行の行矩形、行内矩形の情報を含む行データを行出力部７を通じて、文字認識処理を行うための後段の処理部へ出力し（Ｓ１７）、この処理を終了する。
【００２５】
「実施形態２」
本実施形態は、図１に示した処理システムにより実行される文字行データの出力（検出）処理に係わるものである。ここに示す文字行データの出力処理は、基準行（標準の文字行とみなせる行）を選択する規則として、行幅と行高さを変数とするメンバシップ関数を導入し、この関数により基準行としての評価値を算出する。
図５は、メンバシップ関数の一例を示す線図であり、図４は、メンバシップ関数を設定するためのパラメータに用いる切り出し行矩形の形状値を説明する図である。
このメンバシップ関数は、下記（１）、（２）の条件、
（１）　行幅が広いほど評価値が高い。
（２）　行高さが低いほど評価値が高い。
に従った設定とする。
ここでは、上記（１）を満足する関数として、図５（Ａ）の例に示すように、最大行幅：ＭａｘＷの評価値を最大値：１とする一次関数を用いる。
また、上記（２）を満足する関数として、図５（Ｂ）の例に示すように、最大行高さ：ＭａｘＨの評価値を最小値：０とする一次関数を用いる。ただし、行高さについては誤って線分のみの行やノイズのみの微小行を選択しないように、又、ルビ行が基準行として選択されないように、所定のしきい値：Ｔｈｉｇｎｏｒｅより小さい場合には評価値が“０”となるようにしている。また、メンバシップ関数の連続性を考慮して、最大行高さＭａｘＨの半分の高さＭａｘＨ／２で評価値を最大値：１としている。
このメンバシップ関数を用いて、対象となる行各々の評価値を算出する。評価値の算出方法は、ここでは、行高さのメンバシップ関数から求まる評価値と、行幅のメンバシップ関数から求まる評価値の和を各行の評価値とし、評価値最大の行を基準行として選択する（後述の図３に示す処理フローの説明、参照）。
また、選択・抽出された基準行の有する形状値としての高さに基づいて、切り出された各々の行が本文行に属する行であるか、ルビ行か、その属性を判定し、ルビ行と判定された行については行データを削除して、切り出された行データの出力を行うという手順により、文字行データの出力処理プロセスを実行する。
【００２６】
図３は、本実施形態の文字行データの出力処理のフローチャートを示す。
図３を参照すると、本実施形態フローでは、先ず、画像入力部１により認識対象となる複数行の文字列画像を文字行切り出し部３に入力する（Ｓ２１）。なお、この入力の際、画像と共に、認識対象領域のデータを与えても良い。認識対象領域が与えられた場合には、与えられた領域内のみを行切り出しの対象とすればよい。
次に、文字行切り出し部３は、文字行を切り出しを行う（Ｓ２２）。文字行の切り出しの手法は、上記した「実施形態１」に示したと同様に、“外接矩形統合法”を適用することにより実施する。文字行の切り出し結果として得られる行矩形の座標と、行内の矩形（統合の基になる黒画素連結成分の外接矩形）の座標は、文字行切り出し部３から出力され、文字行判定部５に送られる。なお、このステップで切り出した行に関する全ての行データを記憶部２に格納する。
次に、行切り出し結果を受け取る文字行判定部５は、切り出された各々の行が本文行に属する行であるか、否か（即ち、ルビ行であるか）を判定する。この手順として、先ず、文字行切り出し部３から送られてきた全ての切り出し行の中から、一つの基準行を選択し、これを判定の基準として定める。
基準行の選択にあたっては、上記したメンバシップ関数を適用して評価値を求め、評価値最大の行を基準行として選択する。
【００２７】
図６は、この基準行の選択処理を説明するための図である。同図の（Ａ）は認識処理の対象となる複数の行Ｓ１〜Ｓ５を示し、同図の（Ｂ）、（Ｃ）は上記で説明した方法（図４，５参照）により設定されたメンバシップ関数、及び（Ａ）に示した対象行へのメンバシップ関数の適用時の操作状態を示す。
基準行の選択処理の手順としては、まず、メンバシップ関数を設定する（Ｓ２３）。このために、認識処理の対象となる複数の行Ｓ１〜Ｓ５の中から最大行幅ＭａｘＷ及び最大行高さＭａｘＨを抽出する（図６（Ａ）参照）。抽出した最大行幅ＭａｘＷをパラメータとして行幅に対するメンバシップ関数（図６（Ｂ）参照）を設定し、抽出した最大行高さＭａｘＨをパラメータとして行高さに対するメンバシップ関数（図６（Ｃ）参照）を設定する。
この後、設定されたメンバシップ関数を用いて、対象となる行各々の評価値：メンバシップ値Ｖを算出し、その最大値Ｖｍａｘをとる行を基準行として選択する。従って、まず、Ｖｍａｘ＝０として、この処理における初期条件を設定する（Ｓ２４）。
次いで、対象となる複数の行Ｓ１〜Ｓ５の各行にメンバシップ関数を適用してメンバシップ値Ｖを算出する（Ｓ２５）。対象となる複数の行Ｓ１〜Ｓ５の各行の行幅値、行高さ値それぞれに対し、図６の（Ｂ）、（Ｃ）の例に示すように、関数に従ったメンバシップ値を得るが、ここでは行幅値、行高さ値それぞれに対するメンバシップ値の和を算出し、最終的に求めるメンバシップ値Ｖとする。
さらに、最大値Ｖｍａｘとなる行を選択するので、各行毎に順次求められるメンバシップ値Ｖを、これまでに求めた行の最大値Ｖｍａｘと比較し（Ｓ２６）、その結果により、即ち最大値Ｖｍａｘが変更される場合（Ｓ２６−ＹＥＳ）、変更後の最大値Ｖｍａｘの行データ（後段で利用する最大行幅を持つ行の高さ値：Ｓｈ）を更新する（Ｓ２７）。この基準行の選択処理は、各切り出し行毎にＳ１〜Ｓ５全部の行について、判定を行うので、ステップＳ２５〜Ｓ２７の処理は、行数分繰り返し実行する。
【００２８】
基準行の選択処理により基準行を定めた後、切り出された各々の行が本文行に属する行であるか、否か（即ち、ルビ行であるか）を判定する。判定に用いる基準値は、前段のステップＳ２７で取得しておいた基準行が持つ行データとしての行高さ値Ｓｈを用い、この行高さ値の半分：Ｓｈ／２を判定の基準値として設定する。
各切り出し行の判定は、各行の高さ：ＨがＳｈ／２より低い行をルビ行と判定し、それ以外を本文行と判定する。また、本実施形態では、ルビ行と判定した行データを削除するという処理を行う。従って、この処理の手順としては、各行の高さＨがＳｈ／２より低い行であるか、否かを判定し（Ｓ２８）、Ｓｈ／２より低い行である場合には（Ｓ２８−ＹＥＳ）、このルビ行のデータを先に記憶部２に格納した行データから削除する（Ｓ２９）。なお、このルビ行判定・行データ削除処理は、各切り出し行毎に全部の行について、判定を行うので、ステップＳ２８，Ｓ２９の処理は、行数分繰り返し実行する。
ルビ行判定・行データ削除処理を各切り出し行に適用した後、ルビ行データが削除され、それ以外の本文行にあたる行の行矩形、行内矩形の情報を含む行データを行出力部７を通じて、文字認識処理を行うための後段の処理部へ出力し（Ｓ３０）、この処理を終了する。
【００２９】
「実施形態３」
本実施形態は、図１に示した処理システムにより実行される文字行データの出力（検出）処理に係わるものである。ここに示す文字行データの出力処理は、上記した「実施形態２」の改良に係わるものである。改良点は、ルビ行の過検出を抑制することを可能とするものであり、ルビ行と同様の行矩形の高さ（上記の各実施形態に即していうと、Ｈ＜Ｓｈ／２となる高さ）を有する行に属するものの中に、ルビ行ではなく、本文行と見なした方が適当である、即ちルビ行として削除すると悪影響が生じる場合があり、このような行高さによるチェックで過検出となる行を、本文行として扱うことができるようにする処理を付加する。このための手段として、行高さのチェックでルビ行と判定されても、基準行の高さと比較して前後の行との間隔が広い場合、つまりルビ行と明らかに判定ができない場合（なお、本来のルビ行やノイズ行などでは、前後の行との間隔が非常に狭くなる場合が殆どなので、この条件を追加してもルビ行の検出には影響がない）には、本文行と見なし、ルビ行としての扱いをするものから除外する処理手段を用いる。
なお、基準行（標準の文字行とみなせる行）を選択する規則として、行幅と行高さを変数とするメンバシップ関数を導入し、この関数により基準行としての評価値を算出するという点では、「実施形態２」と変わりがない。
【００３０】
図７は、本実施形態の文字行データの出力処理のフローチャートを示す。
図７を参照すると、本実施形態フローでは、メンバシップ関数による評価により基準行を選択し、基準行が持つ行高さ値Ｓｈを、ルビ行判定の基準値として設定するまでのステップＳ３１〜Ｓ３７の処理手順は、上記した「実施形態２」の手順（図３のステップＳ２１〜Ｓ２７）と同様に実施する。従って、上記した「実施形態２」のステップＳ２１〜Ｓ２７の処理手順の説明を参照することとし、ここでは、この処理手順の記述を省略する。
メンバシップ関数による評価値が最大となる行を基準行とする基準行選択処理（Ｓ３５〜３７）により基準行を定めた後、切り出された各々の行が本文行に属する行であるか、否か、その属性を判定する。本実施形態では、行高さによるルビ行の判定と、ルビ行の過検出を補正するために行う前後（或いは上下）の行との間隔による判定の２段階でこの判定を行う。
ここでは、行高さによるルビ行の判定に用いる基準値は、前段のステップＳ３７で取得しておいた基準行が持つ行データとしての行高さ値Ｓｈを用い、この行高さ値の半分：Ｓｈ／２を判定の基準値として設定し、各行の高さ：ＨがＳｈ／２より低い行をルビ行と判定する。また、前後の行との間隔による判定は、基準行の高さＳｈと比較して前後の行との間隔（前行との間隔＋次行との間隔）：Ｂの方が広い場合に、本文行と見なすようにする。
２段階の各切り出し行の判定の結果により、本文行或いは本文行と見なされた行の行データを出力し、それ以外のルビ行と判定した行データを削除するという処理を行う。
【００３１】
従って、この処理フローにおける手順としては、まず、各行の前後の行との間隔（前行との間隔＋次行との間隔）Ｂを算出する（Ｓ３８）。
次いで、各行の高さＨが基準行の高さの半分Ｓｈ／２より低い行であるか、否かを判定し（Ｓ３９）、Ｓｈ／２より低い行である場合には（Ｓ２８−ＹＥＳ）、さらにステップＳ３８で算出した前後の行との間隔Ｂが基準行の高さＳｈより広いか、否かを判定する（Ｓ４０）。
ここで、前後の行との間隔Ｂが基準行の高さＳｈより狭い場合（Ｓ４０−ＹＥＳ）、過検出のないルビ行と判定されるので、この行のデータを先に記憶部２に格納した行データから削除する（Ｓ４１）。なお、このルビ行判定・行データ削除処理は、各切り出し行毎に全部の行について、判定を行うので、ステップＳ３８〜Ｓ４１の処理は、行数分繰り返し実行する。
ルビ行判定・行データ削除処理を各切り出し行に適用した後、過検出のないルビ行と判定されたルビ行データが削除され、それ以外の本文行或いは本文行と見なされた行の行矩形、行内矩形の情報を含む行データを行出力部７を通じて、文字認識処理を行うための後段の処理部へ出力し（Ｓ４２）、この処理を終了する。
【００３２】
「実施形態４」
本実施形態は、図１に示した処理システムにより実行される文字行データの出力（検出）処理に係わるものである。ここに示す文字行データの出力処理は、上記した「実施形態３」を改変するものである。改変する点は、「実施形態３」では、過検出を抑制して、明らかなルビ行の判定を行い、判定されたルビ行について行データを削除する処理を行っているが、このルビ行についてのデータ削除を行わずに、本文行とは別系統のデータとして、後段の文字認識処理に用いることを可能にするための出力処理を行うようにした点にある。
このルビ行の出力処理は、ルビ行であることを示す情報を追加して、行出力部７を通じて後段の処理へ行データを出力する。後段の処理では、追加されたルビ行であることを示す情報により、ルビ行を無視して言語処理等の後処理を行うことが可能になる。その上、その処理とは別に、各ルビ行を独立に処理して認識結果を得、最終的に本文行の認識結果と合成して文字認識装置の処理結果として出力することも可能になる。出力は、ＲＴＦなどルビに対応したフォーマットで、ルビの部分も含めた認識結果を出力する等、利用に適した形態による方法を採用すればよい。
【００３３】
図８は、本実施形態の文字行データの出力処理のフローチャートを示す。
図８を参照すると、本実施形態フローでは、メンバシップ関数による評価により基準行を選択し、基準行が持つ行高さ値Ｓｈを、ルビ行判定の基準値として設定し、前後の行との間隔Ｂを求めて過検出を抑制して、明らかなルビ行の判定を行うまでのステップＳ５１〜Ｓ６０の処理手順は、上記した「実施形態３」の手順（図７のステップＳ３１〜Ｓ４０）と同様に実施する。従って、上記した「実施形態３」のステップＳ３１〜Ｓ４０の処理手順の説明を参照することとし、ここでは、この処理手順の記述を省略する。
ステップＳ５９に至るまでの処理を経てルビ行と判定された行に対し、前後の行との間隔Ｂが基準行の高さＳｈより狭いか、否かの判定を行い（Ｓ６０）、前後の行との間隔Ｂが基準行の高さＳｈより狭ければ、明らかな（過検出のない）ルビ行と判定される（Ｓ６０−ＹＥＳ）。ここで、明らかなルビ行であると判定された切り出し行に対して、上記「実施形態３」におけるように行データの削除をしないで、明らかなルビ行であるとした判定結果を行データ（行の行矩形、行内矩形の情報を含む）に追加する（Ｓ６１）。
ルビ行判定・行データ追加処理を各切り出し行に適用した後、明らかなルビ行と判定されたルビ行について、判定結果の情報が追加され、又、明らかなルビ行以外の本文行或いは本文行と見なされた行については、本来の行矩形、行内矩形の情報を含む行データを行出力部７を通じて、文字認識処理を行うための後段の処理部へ出力し（Ｓ６２）、この処理を終了する。
【００３４】
「実施形態５」
本実施形態は、本発明に係わる文字認識装置の他の実施形態を示すものである。
上記した「実施形態１」〜「実施形態４」に示した文字行データの出力処理手順を含む処理を実行する手段として、汎用のコンピュータを利用して構成される装置を例示するものである。
汎用のコンピュータにより実施するものであるから、構成要素として、スキャナ、キーボード、マウス等の入力装置に対する入力部Ｉ／Ｆ、ＣＰＵ、記憶装置、ハードディスクドライブ等の補助記憶装置、ディスプレイ等への出力装置への出力Ｉ／Ｆ、リムーバブルな記憶媒体のドライブ、リムーバブルな記憶媒体、ネットワークを介して他機と通信するためのコントローラなど通常のコンピュータが備える構成要素を備え、これらをバス接続して装置（システム）を構成する。
また、記憶装置、ハードディスクドライブ等の補助記憶装置、ドライブが用いる記憶媒体の一部には、本発明に係わる文字列認識（切り出し）機能を実現するための、上記「実施形態１」〜「実施形態４」に示した文字行データの出力処理手順を含む文字認識方法に示した各処理手順を実行するためのプログラム（ソフトウェア）が記録されている。
処理対象の文字列画像は、スキャナー等の入力装置による原稿読み取りで入力され、例えばハードディスクなどに格納されているものである。ＣＰＵは、記憶手段が有する記録媒体から上記した処理手順を実現するプログラムを読み出し、プログラムに従う処理を対象文字列画像に実行し、その処理結果等をディスプレイに出力する。
なお、本発明に係わる文字認識装置を、ネットワークコントローラによりネットワークを介して、外部の装置と接続して、機能の一部をネットワーク上に持つような形態で実施してもよい。
【００３５】
【発明の効果】
（１）　請求項１〜３，９〜１１の発明に対応する効果
切り出された行の中から所定の規則を適用することにより基準行を選択し、選択された基準行の有する形状値に基づいて、切り出された各々の行が一つの認識対象群に属する行であるか、否かを判定し、判定結果を用いて切り出された行を出力するようにしたことにより、一つの認識対象群として扱いたくない、或いは区別して扱いたい行を検出する場合に、対象行が原稿上のどこに在っても（従来例として示した特開平８−１０１８８６のような前提条件を置かずに、無条件で）検出でき、検出結果を利用して、削除処理をするか、或いはそれぞれを別系統で処理するかにより認識対象となる文字列の切り出し精度の向上、延いては文字認識精度の向上を図ることを可能にする。
また、切り出された行矩形の幅、高さ、位置の少なくとも一つに対し、所定の規則を適用して基準行を選択するようにし、特に行矩形の中から最も広い幅を持つ行を基準行に選択するようにしたので、どのような文字行よりなる原稿に対しても目的に適合する基準行を容易に選択することが可能になる。
（２）　請求項４〜６，１２〜１４の発明に対応する効果
上記（１）の効果に加えて、基準行と高さを比較して低い行を一つの認識対象群に属する行ではないと判定する閾値を設定するようにし、特にその閾値を本文行とルビ行を判定する値に設定するようにしたので、目的とする行の峻別（本文行とルビ行）を容易に実現することが可能になる。また、判定の際に、基準行の高さと比較して上下の行との間隔が広い行に対するチェックをかけるようにしたので、ルビ行の過検出を補正することが可能になる。
【００３６】
（３）　請求項７，１５の発明に対応する効果
上記（１）、（２）の効果に加えて、一つの認識対象群に属する行ではないと判定された行データの出力を行わないようにしたことにより、この行データが一つの認識対象群に雑音として混入することか無く、文字列の切り出し精度の向上、延いては文字認識精度の向上を図ることが可能になる。
（４）　請求項８，１６の発明に対応する効果
上記（１）、（２）の効果に加えて、一つの認識対象群に属する行ではないと判定された行データを判定結果を示す情報を付与して出力するようにしたので、追加された判定結果を示す情報により、一方の行データを無視して言語処理等の後処理を行うことが可能で、文字列の切り出し精度の向上、延いては文字認識精度の向上を図ることが可能になり、さらに、それぞれグループごとに独立に処理して認識結果を得、最終的に本文行の認識結果と合成して文字認識装置の処理結果として出力することも可能になる。
（５）　請求項１７の発明に対応する効果
請求項９乃至１６に記載された文字認識方法の各処理ステップを実行するためのプログラムを汎用のコンピュータに搭載することにより、上記（１）〜（４）の効果を容易に具現化することが可能になる。
【図面の簡単な説明】
【図１】本発明に係わる文字列認識（切り出し）処理システムの構成を示すブロック図である。
【図２】「実施形態１」に係わる文字行データの出力処理のフローチャートを示す。
【図３】「実施形態２」に係わる文字行データの出力処理のフローチャートを示す。
【図４】基準行を求めるためのメンバシップ関数を設定するためのパラメータを説明する図である。
【図５】図４のパラメータを用いて設定されたメンバシップ関数の一例を示す線図である。
【図６】メンバシップ値による基準行の選択処理を説明するための図である。
【図７】「実施形態３」に係わる文字行データの出力処理のフローチャートを示す。
【図８】「実施形態４」に係わる文字行データの出力処理のフローチャートを示す。
【図９】ルビ行が付加された画像の一例を示す。
【符号の説明】
１…画像入力部、　　　　　　　　２…記憶部、
３…文字行切り出し部、　　　　　５…文字行判定部、
７…行出力部。
【図１】
2004094292.tif 000003
【図２】
2004094292.tif 000004
【図３】
2004094292.tif 000005
【図４】
2004094292.tif 000006
【図５】
2004094292.tif 000007
【図６】
2004094292.tif 000008
【図７】
2004094292.tif 000009
【図８】
2004094292.tif 000010
【図９】
2004094292.tif 000011