(57)【特許請求の範囲】
【請求項１】
数式を含む文書イメージの文字認識を行う文字認識手段と、
数式を含む行内に属する文字毎に、当該文字の文字認識結果とその位置情報とを用いて、当該文字をアセンダーおよびディセンダーの双方を持たない文字類であると想定した場合におけるその外接矩形の上端位置および下端位置を示す中心部座標を算出し、その算出した複数の文字それぞれの中心部座標のヒストグラムに基づき、最も出現頻度の高い上端位置および下端位置それぞれの座標を、前記行の中心帯を為す中心帯座標として決定する中心帯座標決定手段と、
前記行内の各文字の外接矩形と前記中心帯座標決定手段によって決定された中心帯座標との上下関係に基づき、前記各文字毎に添え字構造の判定を行う添え字判定手段であって、外接矩形が前記行の中心帯を完全に含むかあるいはその中心帯に完全に含まれる場合には当該文字を水平位置文字として判定し、外接矩形が前記行の中心帯に対し上側に位置する場合には当該文字を上付添え字文字として判定し、外接矩形が前記行の中心帯に対して下側に位置する場合には当該文字を下付添え字文字として判定する添え字判定手段とを具備することを特徴とする数式認識装置。
【請求項２】
前記数式を含む文書イメージ内のテキスト領域に含まれる各文字の文字サイズとその文字認識結果とに基づいて、前記文書イメージ内におけるテキスト文字に関する、アセンダーサイズ、ディセンダーサイズ、アセンダーとディセンダーを除外した中心部のサイズ、アセンダーおよびディセンダーの双方を持つ文字類であると想定した場合におけるその文字高さを示す正規化サイズ、を含む文字サイズ情報を検出する文字サイズ検出手段をさらに具備し、
前記中心帯座標決定手段は、
数式を含む行内に属する各文字毎に、その文字認識結果に基づいて判定される当該文字の該当する文字類と、その外接矩形の上端位置および下端位置と、前記文字サイズ検出手段によって検出された前記文書イメージ内におけるテキスト文字の文字サイズ情報とに基づいて、当該文字の前記中心部座標を算出することを特徴とする請求項１記載の数式認識装置。
【請求項３】
前記中心帯座標決定手段は、
前記数式を含む行内に属する各文字毎に、当該文字がアセンダーおよびディセンダーの双方を持つ文字類であると想定した場合におけるその文字高さを示す正規化サイズを算出する手段と、
前記数式を含む行内に属する文字の内、その正規化サイズが前記文字サイズ検出手段によって算出されたテキスト文字の正規化サイズに比し所定量以上異なる文字を、前記中心部座標のヒストグラムの作成対象から除外する手段とをさらに含むことを特徴とする請求項１記載の数式認識装置。
【請求項４】
前記中心帯座標決定手段は、
前記数式を含む行内に分数線が存在する場合、その分数線の上下の文字を、前記中心部座標のヒストグラムの作成対象から除外する手段をさらに含むことを特徴とする請求項１または３記載の数式認識装置。
【請求項５】
前記文書イメージ内に分数式が存在する場合、前記中心帯決定手段は各分数式の分子分母領域毎にその中心帯座標を決定し、前記添え字判定手段は前記分子分母領域の各文字毎に添え字構造の判定を行うことを特徴とする請求項１記載の数式認識装置。
【請求項６】
数式を含む文書イメージの文字認識を行う文字認識ステップと、
数式を含む行内に属する文字毎に、当該文字の文字認識結果とその位置情報とを用いて、当該文字をアセンダーおよびディセンダーの双方を持たない文字類であると想定した場合におけるその外接矩形の上端位置および下端位置を示す中心部座標を算出し、その算出した複数の文字それぞれの中心部座標のヒストグラムに基づき、最も出現頻度の高い上端位置および下端位置それぞれの座標を、前記行の中心帯を為す中心帯座標として決定する中心帯座標決定ステップと、
前記行内の各文字の外接矩形と前記中心帯座標決定手段によって決定された中心帯座標との上下関係に基づき、前記各文字毎に添え字構造の判定を行う添え字判定ステップであって、外接矩形が前記行の中心帯を完全に含むかあるいはその中心帯に完全に含まれる場合には当該文字を水平位置文字として判定し、外接矩形が前記行の中心帯に対し上側に位置する場合には当該文字を上付添え字文字として判定し、外接矩形が前記行の中心帯に対して下側に位置する場合には当該文字を下付添え字文字として判定する添え字判定ステップとを具備することを特徴とする数式認識方法。
【請求項７】
前記数式を含む文書イメージ内のテキスト領域に含まれる各文字の文字サイズとその文字認識結果とに基づいて、前記文書イメージ内におけるテキスト文字に関する、アセンダーサイズ、ディセンダーサイズ、アセンダーとディセンダーを除外した中心部のサイズ、アセンダーおよびディセンダーの双方を持つ文字類であると想定した場合におけるその文字高さを示す正規化サイズ、を含む文字サイズ情報を検出する文字サイズ検出ステップをさらに具備し、
前記中心帯座標決定ステップは、
数式を含む行内に属する各文字毎に、その文字認識結果に基づいて判定される当該文字の該当する文字類と、その外接矩形の上端位置および下端位置と、前記文字サイズ検出手段によって検出された前記文書イメージ内におけるテキスト文字の文字サイズ情報とに基づいて、当該文字の前記中心部座標を算出することを特徴とする請求項６記載の数式認識方法。
【請求項８】
前記中心帯座標決定ステップは、
前記数式を含む行内に属する各文字毎に、当該文字がアセンダーおよびディセンダーの双方を持つ文字類であると想定した場合におけるその文字高さを示す正規化サイズを算出するステップと、
前記数式を含む行内に属する文字の内、その正規化サイズが前記文字サイズ検出ステップによって算出されたテキスト文字の正規化サイズに比し所定量以上異なる文字を、前記中心部座標のヒストグラムの作成対象から除外するステップとをさらに含むことを特徴とする請求項６記載の数式認識方法。
【請求項９】
前記中心帯座標決定ステップは、
前記数式を含む行内に分数線が存在する場合、その分数線の上下の文字を、前記中心部座標のヒストグラムの作成対象から除外するステップをさらに含むことを特徴とする請求項６または８記載の数式認識方法。
【請求項１０】
前記文書イメージ内に分数式が存在する場合、前記中心帯決定ステップは各分数式の分子分母領域毎にその中心帯座標を決定し、前記添え字判定ステップは前記分子分母領域の各文字毎に添え字構造の判定を行うことを特徴とする請求項６記載の数式認識方法。
【請求項１１】
数式認識をコンピュータに実行させるプログラムであって、
数式を含む文書イメージの文字認識を行う文字認識手順と、
数式を含む行内に属する文字毎に、当該文字の文字認識結果とその位置情報とを用いて、当該文字をアセンダーおよびディセンダーの双方を持たない文字類であると想定した場合におけるその外接矩形の上端位置および下端位置を示す中心部座標を算出し、その算出した複数の文字それぞれの中心部座標のヒストグラムに基づき、最も出現頻度の高い上端位置および下端位置それぞれの座標を、前記行の中心帯を為す中心帯座標として決定する中心帯座標決定手順と、
前記行内の各文字の外接矩形と前記中心帯座標決定手段によって決定された中心帯座標との上下関係に基づき、前記各文字毎に添え字構造の判定を行う添え字判定手順であって、外接矩形が前記行の中心帯を完全に含むかあるいはその中心帯に完全に含まれる場合には当該文字を水平位置文字として判定し、外接矩形が前記行の中心帯に対し上側に位置する場合には当該文字を上付添え字文字として判定し、外接矩形が前記行の中心帯に対して下側に位置する場合には当該文字を下付添え字文字として判定する添え字判定手順とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は文書イメージ中に含まれる数式を認識するための数式認識装置および数式認識方法に関する。
【０００２】
【従来の技術】
従来より、印刷文書の数式構文を認識するための数式認識手法がいくつか提案されている。数式を構成する文字は１次元的に並んでいるわけではなく、添え字やべき乗、分数線の上下など、２次元的な並びとなっている。よって、数式認識においては、添え字、水平の関係を判定する技術が重要となる。
【０００３】
ここで、数式「a+b」において「a」と「+」、「+」と「b」のように隣り合った文字間の関係を水平の関係、また、数式「Ａ２」の「Ａ」と「２」のように一方の文字の右(左)上にもう一方の文字がある場合を上付き添え字の関係、数式「Ａ２」の「Ａ」と「２」のように一方の文字の右(左)下にもう一方の文字がある場合を下付き添え字の関係と呼ぶことにする。
【０００４】
印刷文書の数式構文を認識する手法としては、文字認識の結果を使って数式の先頭から順に添え字、水平の関係を決めていく方法が知られている。この手法は例えば以下に示す文献[1][2][3]に報告されている。
【０００５】
文献[1]  岡本正行、トワキョンド  ムサフィリ  ハシム、“周辺分布特徴を用いた数式構造認識”、信学論、J78-D-II、No.2、pp366-370(1995-2)
文献[2]  岡本正行、東  裕之「記号レイアウトに注目した数式構造認識」、信学論、J-78D-II、No.3、pp474-482(1995-3)
文献[3]  中山優幸、福田亮治、鈴木昌和、玉利文和：「数学記号の特徴を用いた数式の水平分割による数式構造解析」、信学技報  PRMU2002-202(2001-03) pp.15-22
しかし、これら文献の手法では「文字の誤認識がない」または「すべて訂正されている」ことを前提としている。このため、文字の誤認識が発生すると、数式構文解析に誤りが生じる。また、最近では、誤認識の影響を考慮した方法として、仮想リンクネットワークを用いた方法(文献[4])も本発明者らによって提案されている。
【０００６】
文献[4]  江藤裕子、笹井真樹、鈴木昌和、“仮想リンクネットワークを用いた数式構文認識”、信学技報、PRMU2002-202(2001-03) pp.7-14
しかし、添え字、水平の判定にはやはり、文字認識の結果を使っているため特殊なフォントの文字が含まれた数式の構文解析をする際には、誤ることが多い。
【０００７】
具体的に述べると、文献[4]の手法では文字認識結果とその候補文字を使って数式認識を行う。前後の文字間の候補文字の組み合わせをも考慮し、文書イメージ上における前後の文字の相対的な大きさと位置関係を見ながら、水平の関係、添え字関係の中で最も妥当性の高い関係を決定していく仕組みになっている。この場合、前後の文字それぞれの文字認識結果を用いて、それら文字間の本来の文字サイズの関係が調べられる。そして前後の文字間の本来の文字サイズの関係を基準に、文書イメージ上における実際の文字間の相対的な大きさと位置関係が判定される。
【０００８】
このため、例えば図１０に示すように、通常フォントであれば同じ文字サイズ同士の文字である「Ｉ」と、「６」、「５」が連続する文字列において、文字「Ｉ」として、文字サイズが小さな特殊フォント文字が使用されているような場合には、水平の関係である「Ｉ」と「６５」が例えば上付添え字の関係にあると誤認識され、「Ｉ６５」という認識結果が得られてしまう場合がある。もし先頭の文字「Ｉ」の文字認識結果の候補文字に例えば「ａ」（または「ｃ」,「ｅ」）のように小さいサイズの文字があれば、その文字は後続する「６」、「５」よりも本来文字サイズが小さい文字であることから、上付添え字の関係にあるとの誤認識の発生は防ぐことが可能となるものの、「ａ６５」という誤認識が生じることになる。
【０００９】
【発明が解決しようとする課題】
上述のように、従来では、数式認識手法が文字認識結果に依存していたので、文字認識結果の誤りや特殊フォントに起因する数式構文解析の誤りを防ぐことができなかった。数式構造解析においては、文字の誤認識や特殊フォントによる影響を最も受けるのは添え字構造の判定であり、その添え字構造の判定のミスが全体の数式構造解析を大きく崩してしまうことになる。
【００１０】
本発明は上述の事情を考慮してなされたものであり、文字認識結果の誤りや特殊フォント文字による影響を受けにくい数式構造解析を実現することが可能な数式認識装置および数式認識方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上述の課題を解決するため、本発明の数式認識装置は、数式を含む文書イメージの文字認識を行う文字認識手段と、数式を含む行内に属する複数の文字それぞれの中心部座標を各文字の文字認識結果とその位置情報とを用いて算出し、その算出した複数の文字それぞれの中心部座標のヒストグラムに基づき前記行の中心帯を為す中心帯座標を決定する中心帯座標決定手段と、前記行内の各文字の外接矩形と前記中心帯座標決定手段によって決定された中心帯座標との上下関係に基づき、前記各文字毎に添え字構造の判定を行う添え字判定手段とを具備することを特徴とする。
【００１２】
この数式認識装置においては、まず、文書イメージ上における数式を含む各行を対象に、その行内に属する複数の文字それぞれの中心部座標が算出される。この場合、各文字の中心部座標は、その文字の文字認識結果と位置情報とを用いて算出される。これにより、文字類の違いによらずに正しい中心部座標を求めることが出来る。そして、その算出された複数の文字それぞれの中心部座標のヒストグラムに基づいて、当該行の中心帯を為す中心帯座標が決定される。これにより、複数の文字それぞれの中心部座標の統計的な値を基にその行の中心帯座標が定められることになるので、個々の文字の中心部座標の値が文字認識結果の誤りや特殊フォントによって影響されても、各行毎にその中心帯座標を正しく得ることが出来る。
【００１３】
そして、添え字判定では、個々の文字の文字認識結果は一切使用されず、行内の各文字の外接矩形と行の中心帯座標との上下関係に基づいて各文字毎に添え字構造の判定が行われ、それが水平文字、上付添え字、下付添え字のいずれであるかが決定されて行く。よって、文字認識結果の誤りや特殊なフォントが混ざった数式でも、それらの影響を受けずに安定した数式認識を行うことが可能となる。
【００１４】
各文字の中心部座標としては、当該各文字をアセンダーおよびディセンダーの双方を持たない文字類であると想定した場合におけるその外接矩形の上端位置および下端位置を用いることが好ましい。これにより、例えば「ａ」，「ｃ」,「ｅ」のようにアセンダーとディセンダーの双方を持たない小文字類の外接矩形（アセンダーとディセンダーとの間に存在する中間部）の上端位置と下端位置の座標を行の中心帯として定めることが出来る。この場合、水平位置文字については、その外接矩形はアセンダーとディセンダーとの間の中間部に対応する行の中心帯を完全に含むか、あるいはその中心帯に完全に含まれるのに対し、上付添え字文字の外接矩形は行の中心帯に対し上側に位置し、また下付添え字文字の外接矩形は行の中心帯に対して下側に位置することになる。よって、最終的な添え字判定では、個別の文字毎にその文字認識結果を用いてその大きさや中心位置などを求めることなく、各文字の外接矩形と行の中心帯座標との位置関係を考慮するのみで添え字構造を判定することが可能となる。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。
図１は本発明の一実施形態に係る文字認識システムの構成が示されている。この文字認識（ＯＣＲ）システム１１は、例えば数学書などに代表されるような数式を含む印刷文書の認識を行うためのものであり、印刷文書をスキャナ装置１０を用いて読み取り、その文書内のテキストおよび数式それぞれについての認識処理を行って、数式データとテキストデータとを含む電子化文書データを認識結果として出力する。読み取り対象の文書は印刷文書のみならず、既にイメージデータ化された数式混じりの文書イメージについても読み取り対象となる。
【００１６】
このＯＣＲシステム１１はコンピュータ上で実行されるソフトウェアとして実現されており、その機能モジュールとして、図示のように、レイアウト解析部１１１、文字認識部１１２、数式／テキスト領域分割部１１３、数式認識部１１４、および出力部１１５を有している。
【００１７】
認識処理は、１）文書イメージのスキャン、２）レイアウト解析処理、３）文字認識処理、４）数式／テキスト領域分割処理、５）数式認識処理、６）出力処理、の順で行われる。本実施形態では、特に数式認識処理の実現方法に特徴を有している。
【００１８】
数式認識部１１４による数式認識処理では、分数（−）、根号（√）、上下限式（Σ，lim ）の処理や、アクセント記号(~,^,)の処理、添え字かどうかの判定などが行われる。分数、根号、上下限式、アクセント等の処理は文字認識結果の影響を受けることが少ないので、上記各文献[1]〜[4]の手法で十分に精度良く行うことが出来る。したがって、以下では、数式認識部１１４による添え字構造の判定方法について説明することとする。
【００１９】
数式認識部１１４は、文字認識結果の誤りや特殊フォント文字による影響を受けずに添え字構造の判定を行うために、行中心帯検出部２０１、および添え字判定部２０２を有している。行中心帯検出部２０１は、数式を含む各行毎に、その行の中心帯を為す中心帯座標を検出するための行中心帯検出処理を実行する。各行の中心帯は、その行内に属する複数の英数文字それぞれの中心部座標の統計的な値を基に定められる。数式認識部１１４による行中心帯検出処理では、まず、数式を含む行内に属する複数の文字それぞれの中心部座標が算出される。この場合、文字類の違いによらずに正しい中心部座標を求めるために、各文字の中心部座標は、その文字の文字認識結果と位置情報とを用いて算出される。そして、その算出された複数の文字それぞれの中心部座標のヒストグラムに基づいて、当該行の中心帯を為す中心帯座標が決定される。
【００２０】
添え字判定部２０２は、各文字毎にそれが水平文字、上付添え字、下付添え字のいずれに該当するものであるかを判定するための添え字判定処理を行う。この添え字判定処理では、個々の文字の文字認識結果は一切使用されず、行内の各文字の外接矩形と行の中心帯座標との上下関係に基づいて各文字毎に添え字構造の判定が行われる。
【００２１】
このように、同一行内に属する複数の文字それぞれの文字認識結果はそれら文字の中心部座標を求めるためにのみ使用し、文字毎の個別の添え字判定では、文字認識結果を使わずに、複数の文字それぞれの中心部座標の統計的な値を基に定めた行中心帯座標と各文字の外接矩形との位置関係のみが考慮される。
【００２２】
次に、図２のフローチャートを参照して、具体的な処理の流れについて説明する。
先ず、数式を含む印刷文書をスキャナ装置１０で読み取ることにより、数式を含む文書のページイメージが得られる。このページイメージを対象に以下の処理が行われる。まず、ステップＳ１０１にてレイアウト解析・文字認識処理が実行される。ここでは、最初にレイアウト解析部１１１によるレイアウト解析が行われ、入力されたページイメージ（原画像）が、例えば、タイトル領域、本文領域、ヘッダ／フッタ領域、図領域、表領域などに分割される。通常、数学書などのページイメージにおいては、図３に示すように、その本文領域内にはテキストと数式が混在した文章が多数含まれている。そして、タイトル領域、本文領域、ヘッダ／フッタ領域などの文章領域に対して文字認識部１１２による文字認識処理が行われる。この文字認識処理では、ヒストグラムなどに基づく行の切り分けおよび文字の切り出し、そして１文字単位での文字認識が行われる。この後、ステップＳ１０２にて数式／テキスト領域分割部１１３による数式／テキスト領域分割処理が実行される。
【００２３】
数式／テキスト領域分割処理では、文字認識結果を用いることにより本文領域に含まれる各単語毎にそれがテキスト（Ｔｅｘｔ）であるか、数式（Ｍａｔｈ）であるかが判別される。これにより、図３に示されているように、原画像上の本文領域に含まれる単語それぞれがテキスト領域（Ｔｅｘｔ）と数式領域（Ｍａｔｈ）とに分けられる。例えば、特定の記号や英数字を含む単語であるか否かによって数式／テキスト領域の判定を行ったり、あるいは、全ての単語種別毎にそれがテキストである可能性と数式である可能性をそれぞれ示す評価値を予め用意しておき、その評価値と各単語の文字認識結果とを用いて数式／テキスト領域の判定を行っても良い。
【００２４】
次に、数式認識部１１４により数式構造認識処理（ステップＳ１０３〜Ｓ１０５）が行われる。この数式構造認識処理では、上述したように、分数、根号、上下限式の処理や、アクセント記号の処理、添え字かどうかの判定などが行われる。本実施形態にいては、添え字構造の判定は以下の３段階で行う。
【００２５】
１．  本文文字サイズ検出処理（図４の x, y, z, NSize の取得）
２．  行の中心部の検出
３．  添字の決定
＜ステップＳ１０３：  本文文字サイズ検出＞
この処理では、本文領域内に含まれるテキスト文字の文字サイズが検出される。具体的には、本文領域内のテキスト領域中の各英数字を対象に文字サイズ検出処理を行うことにより、テキスト領域に含まれるテキスト文字に関する文字サイズとして、アセンダーサイズ（図４の x ）、ディセンダーサイズ（図４の z ）、アセンダーとディセンダーを除外した中心部（アセンダーとディセンダーの間に存在する部分）のサイズ（図４の y ）、アセンダーおよびディセンダーの双方を持つ文字類であると想定した場合におけるその文字高さを示す正規化サイズ（図４の NSize ）が求められる。
【００２６】
図４の x,y,z はアルファベット４線上における英数文字の位置に基づいて定められるものである。すなわち、アルファベット４線上において、上側の２線間に挟まれたアセンダー部のサイズ（高さ）が図４の x となり、中央の２線間に挟まれた中心部のサイズ（高さ）が図４の y となり、そして下側の２線間に挟まれたディセンダー部のサイズ（高さ）が図４の z となる。
【００２７】
本文文字サイズ検出処理では、まず、ページイメージ（原画像）上の本文領域内におけるテキスト領域中に存在する全ての英数字(ギリシャ文字はのぞく)を対象に、その文字認識結果と原画像上の文字サイズ（外接矩形(図５)の高さ）とを基に、アセンダーを持つ文字類（数字や大文字、b, d, h など）と、ディセンダーを持つ文字類（ g, p, q, y など）と、アセンダーおよびディセンダーのどちらも持たない小文字類（ a, c, e など）と、アセンダーおよびディセンダーの双方を持つ文字類（イタリック体のｆなど）とに分けて、外接矩形の高さのヒストグラムをとる。
【００２８】
アセンダーおよびディセンダーのどちらも持たない文字に関する外接矩形の高さのヒストグラムの最大ピーク値を本文テキスト文字の y とする。次に、アセンダーをもつ文字の外接矩形の高さのヒストグラムおよびディセンダーをもつ文字の外接矩形の高さのヒストグラムそれぞれから最大ピークを求め、先に求めた y の値を引いたものをそれぞれ本文テキスト文字の x, ｚ とする。
【００２９】
以上の処理で、本文領域で用いられているテキスト文字、つまり本文文字の x,y,z を求めることができる。x,y,zの合計値がNSize となる。ギリシャ文字にも x,y,z の区別はあるが、印刷によっては同じページに印刷された英数字の x,y,z と大きくサイズが異なる場合があるのでこの処理の対象としない。
【００３０】
＜ステップＳ１０４：  行の中心部の検出＞
上述した行中心帯座標の検出処理は、本文領域中における数式を含む各行毎に行われる。まず、数式を含む行内に属する各文字毎に、その文字認識の結果と文字外接矩形の位置情報を基に、その文字の中心部座標(図５の y1,y2)を求める。各文字の y1,y2 は、当該各文字をアセンダーおよびディセンダーの双方を持たない文字類であると想定した場合におけるその外接矩形の上端および下端それぞれの y 座標を示す。つまり、アルファベット４線上における中央の２線で挟まれた中央部の上端のy座標が y1 であり、下端のy座標が y2 である。y2 は当該文字のベースライン位置を示している。
【００３１】
これら y1,y2 は、ページイメージ（原画像）上における各文字の外接矩形の上端、下端のy座標をそれぞれ ys,ye とすると、ステップＳ１０３で求めた x,y,z を用いて、以下の式で求めることができる。また、あとで使用する文字の正規化サイズ( x,y,z部を含んだサイズ。図３のNSize)を求めるための式もあわせて示す。
【００３２】
・アセンダーおよびディセンダーのどちらも持たない文字類の場合
y1  =  ys
y2  =  ye
NSize = (ye-ys)*(x+y+z)/y
NSize は、アセンダーおよびディセンダーの双方を持つ文字類であると想定した場合におけるその文字高さを示す正規化サイズであるので、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、(x+y+z)/yを乗じることによって求められる。
【００３３】
・アセンダーを持つ文字類の場合
y1  =  ys  +  (ye-ys)*x/(x+y)
y2  =  ye
NSize = (ye-ys)*(x+y+z)/(x+y)
y1 は、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、本文文字に関するアセンダー部(x)と中央部(y)との合計サイズ(x+y)に対するアセンダー部(x)の占める比率（x/(x+y)）を乗じ、それを外接矩形の上端の y 座標（ys）に加算することにより求められる。NSize は、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、(x+y+z)/(x+y)を乗じることによって求められる。
【００３４】
・ディセンダーを持つ文字類
y1  =  ys
y2  =  ys + (ye-ys)*y/(y+z)
NSize = (ye-ys)*(x+y+z)/(y+z)
y2 は、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、本文文字に関する中央部(y)とディセンダー部(z)の合計サイズ(y+z)に対する中央部(y)の占める比率（y/(y+z)）を乗じ、それを外接矩形の上端の y 座標（ys）に加算することにより求められる。NSize は、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、(x+y+z)/(y+z)を乗じることによって求められる。
【００３５】
・アセンダーおよびディセンダーの双方を持つ文字類の場合
y1  =  ys + (ye-ys)*x/(x+y+z)
y2  =  ys + (ye-ys)*(x+y)/(x+y+z)
NSize = ye-ys
y1 は、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、本文文字に関するアセンダー部（x）と中央部(y)とディセンダー部(z)の合計サイズ(x+y+z)に対するアセンダー部（x）の占める比率（x/(x+y+z)）を乗じ、それを外接矩形の上端の y 座標（ys）に加算することにより求められる。また y2 は、実際のイメージ上における外接矩形の文字高さ(ye-ys)に、本文文字に関するアセンダー部（x）と中央部(y)とディセンダー部(z)の合計サイズ(x+y+z)に対する、アセンダー部（x）と中央部(y)の合計サイズ(x+y)の占める比率（(x+y)/(x+y+z)）を乗じ、それを外接矩形の上端の y 座標（ys）に加算することにより、求められる。
【００３６】
各文字毎に求めた y1,y2 の値から y1,y2 それぞれに関するヒストグラムを作成する。そして、y1,y2 それぞれに関するヒストグラムに基づき、最も出現頻度の高い y1,y2 の値がその行の中心帯座標 y1,y2 として定められる。図６には、数式を含む行１内に含まれる文字それぞれの y1 のヒストグラムの例が示されている。ヒストグラムの最大ピークは y＝103 であるので、行１の y1 はy＝103 であると定められる。
【００３７】
ここで重要な点は、複数文字分の y1,y2 のヒストグラムを用いることにより１行の中に誤認識文字が含まれていたとしても、その行の中心帯座標 y1,y2 としては正しい値が得られるということである。中心帯座標y1とy2の間の領域が、その行の中心帯となる。この中心帯はその行内の複数の文字それぞれの中心部が実際に存在している領域である。また、中心帯に傾きがある場合には、各行の左の部分と右の部分でそれぞれ中心帯座標 y1,y2 を求めて平均を取り、傾き補正を掛けることで中心帯座標の傾きによるずれを補正することが出来る。
【００３８】
なお、実際には、 y1,y2 それぞれに関するヒストグラムの作成に際しては、NSize が本文文字の NSize に比し所定量以上異なる文字（たとえば１割以上小さい文字、１割以上大きい文字）は、ヒストグラムの作成対象から除外される。通常、添え字文字はベースライン上の文字よりも小さいので、添え字文字の y1,y2の値をヒストグラムの作成対象から除外することで、各行の y1,y2 を正しく求めることが可能となる。さらに、数式を含む行内に分数線が存在する場合には、その分数線の上下の文字（分母分子領域内の文字）も、ヒストグラムの作成対象から除外される。
【００３９】
このような除外処理も含めた行中心帯座標検出処理の具体的な手順の一例を図７に示す。ここでは、本文領域中における数式を含む各行毎に以下の処理が実行される。まず、対象となる行内の各文字（英数字）の NSize が上記した式に基づいて求められ（ステップＳ２０１）、その NSize が本文文字の NSize に比べ極端に大きい文字または小さい文字（具体的には、上述したように本文文字の NSize よりも１割以上小さい文字または１割以上大きい文字）は行中心帯座標の検出処理対象から除外される（ステップＳ２０２）。次いで、当該行内に分数線が存在するかどうかが文字認識結果に基づいて判定され、その分数線の上下の文字（分母分子領域内の文字）が行中心帯座標の検出処理対象から除外される（ステップＳ２０３）。この後、残りの各文字それぞれの中心部座標 y1,y2 が上記した式に基づいて求められ（ステップＳ２０４）、各文字毎に算出された中心部座標 y1,y2 それぞれのヒストグラムが作成される（ステップＳ２０５）。そして、y1,y2 それぞれのヒストグラムのピーク値がその行の y1,y2 として定められる（ステップＳ２０６）。以上の処理を数式領域を含む行毎に再帰的に繰り返し実行することにより、数式領域を含む行それぞれについての y1,y2 が求められる。
【００４０】
＜ステップＳ１０５：  添え字の決定＞
図２のステップＳ１０５では、添え字構造を判定するための添字判定処理が実行される。この添字判定処理では、判定対象となっている行内の各文字毎に、その文字の外接矩形とその行の中心帯座標 y1,y2 との上下関係に基づき、各文字毎に添え字構造の判定が行われる。具体的な手順を図８のフローチャートを参照して説明する。
【００４１】
まず、各文字についてその外接矩形がその行の中心帯（y1 と y2 の間の部分）をほぼ完全に含むものであるかどうかが判別される（ステップＳ３０１）。例えば、図９において、判定対象となっている行内の先頭から４番目の文字＃４（「ｙ」）と７番目の文字＃７（「ｆ」）はその外接矩形が行の中心帯を完全に含んでいるので、４番目の文字＃４「ｙ」と７番目の文字＃７「ｆ」はそれぞれベースライン上に存在する水平文字であると判定される（ステップＳ３０３）。この場合、各文字の文字認識結果については一切考慮されず、文書イメージ上における文字（黒連結成分）の外接矩形の上端および下端それぞれｙ座標の値と、行の中心帯座標 y1,y2 の値のみで判定が行われる。
【００４２】
次に、各文字についてその外接矩形がその行の中心帯の間にほぼ完全に含まれるか否かが判別される（ステップＳ３０２）。例えば、図９において、先頭の文字＃１「ｃ」、２番目の文字＃２「ｘ」、６番目の文字＃６「＋」はその外接矩形が中心帯の間に完全に含まれているので、ベースライン上に存在する水平文字であると判定される（ステップＳ３０３）。
【００４３】
外接矩形がその行の中心帯をほぼ完全に含むものである文字、または行の中心帯内にほぼ完全に含まれる文字のどちらにも該当しない文字については、その外接矩形が、行の中心帯に対して上側に位置するか、下側に位置するかが判別され（ステップＳ３０４）、その判別結果に基づいて上付き添え字と下付き添え字のいずれであるかが判定される（ステップＳ３０５，Ｓ３０６）。例えば図９において、先頭から３番目の文字＃３「２」、５番目の文字＃５「３」は外接矩形が中心帯の上側に位置しているので上付き添え字であると判定され（ステップＳ３０５）、８番目の文字＃８「ｘ」は外接矩形が中心帯の下側に位置しているので下付き添え字であると判定される（ステップＳ３０６）。
【００４４】
このように、文字認識結果は使用されず、各文字の外接矩形と行の中心帯座標 y1,y2 との上下関係のみに基づいて添え字構造の判定が行われる。このことによって、従来法では誤って添え字であると判断されていた図１０に示すような特殊フォントの文字を含む場合も正しく判定することができる。すなわち、従来法では「Ｉ」、「６」、「５」がそれぞれ正しく文字認識されても「Ｉ６５」という誤った数式構造の認識結果となったが、本実施形態の方法では、「Ｉ」、「６」、「５」がそれぞれ水平文字であると判定されるので、「Ｉ」、「６」、「５」がそれぞれ正しく文字認識されたならば、「Ｉ６５」という水平位置関係の数式構造として正しく認識される。もし文字認識に誤りがあったとしても、水平位置関係の数式構造であると認識される。
【００４５】
特殊フォント文字を含む文字列から成る数式は様々考えられるが、どの場合においてもその特殊フォント文字による数式構造の誤認識を防止することが出来る。
【００４６】
次に、分母分子領域に対する数式構造の認識について説明する。
行中心帯を求め、その行中心帯と各文字の外接矩形との上下関係に基づいて添え字判定を行うという本実施形態の方法は、分母分子領域の文字列に対しても同様にして適用することが出来る。すなわち、本文領域内に分数式が存在する場合には、図１１に示すように、その分母領域の文字列から成る行と、分子領域の文字列から成る行の各々について、行中心帯座標 y1,y2 が求められる。そして、分母分子の各行毎に添え字判定が行われる。手順を図８のフローチャートに示す。
【００４７】
分数式が存在する場合（ステップＳ４０１のＹＥＳ）、まず、その分数線の下側の分母領域の英数文字それぞれの中央部座標 y1,y2 のヒストグラムが作成され、それらy1,y2 のヒストグラムに基づいて分母領域の行の中心帯座標 y1,y2 が決定される（ステップＳ４０２）。そして、分母領域の各文字の外接矩形と分母領域の行の中心帯座標 y1,y2 との位置関係によって、分母領域の各文字毎に添え字判定が行われる（ステップＳ４０３）。次いで、分数線の上側の分子領域の英数文字それぞれの中央部座標 y1,y2 のヒストグラムが作成され、それら y1,y2 のヒストグラムに基づいて分子領域の行の中心帯座標 y1,y2 が決定される（ステップＳ４０４）。そして、分子領域の各文字の外接矩形と分子領域の行の中心帯座標 y1,y2 との位置関係によって、分子領域の各文字毎に添え字判定が行われる（ステップＳ４０５）。
【００４８】
以上の処理を本文領域中の全ての分数線を対象に再帰的に繰り返し行うことにより、全ての分数式の分母分子領域の添え字構造を判定することが出来る。
【００４９】
以上説明したように、本実施形態によれば、同一行内に属する複数の文字それぞれの文字認識結果はそれら文字の中心部座標を求めるためにのみ使用し、文字毎の個別の添え字判定では、文字認識結果を使わずに、同一行内に属する複数の文字それぞれの中心部座標の統計的な値を基に定めた行中心帯座標と各文字の外接矩形との位置関係のみを考慮することにより、文字認識結果の誤りや特殊なフォントが混ざった数式でも、それらの影響を受けずに安定した数式認識を行うことが可能となる。
【００５０】
なお、数式認識部１１４を含む本実施形態のＯＣＲシステム１１の機能はすべてソフトウェアによって実現できるので、上述の各処理手順をコンピュータに実行させるプログラムを用意し、それをコンピュータ読み取り可能な記憶媒体に記憶すると共に、その記憶媒体を通じてコンピュータに導入して実行するだけで、本実施形態と同様の効果を容易に得ることができる。
【００５１】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００５２】
【発明の効果】
以上詳述した如く本発明によれば、文字認識結果の誤りや特殊フォント文字による影響を受けにくい数式構造解析を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るＯＣＲシステムの機能構成を示すブロック図。
【図２】同実施形態における数式検出方法の手順を示すフローチャート。
【図３】同実施形態における数式／テキスト分割処理で文書イメージを単語毎に数式／テキスト領域に分割する様子を示す図。
【図４】同実施形態における本文文字サイズを説明するための図。
【図５】同実施形態における各文字の外接矩形の中心部座標を説明するための図。
【図６】同実施形態において同一行内の複数文字それぞれの中心部座標から作成されるヒストグラムの一例を示す。
【図７】同実施形態で用いられる行中心帯検出処理の手順を説明するためのフローチャート。
【図８】同実施形態で用いられる添え字判定処理の手順を説明するためのフローチャート。
【図９】同実施形態における添え字判定処理の原理を示す図。
【図１０】同実施形態の数式認識による数式構造認識結果の一例を示す図。
【図１１】同実施形態の数式認識を分数式に適用した場合の様子を示す図。
【図１２】同実施形態の数式認識を分数式に適用した場合の処理手順の一例を示すフローチャート。
【符号の説明】
１１…ＯＣＲシステム
１１１…レイアウト解析部
１１２…文字認識部
１１３…数式／テキスト領域分割部
１１４…数式認識部
２０１…行中心帯検出部
２０２…添字判定部
【図１】
0004181327.tif 000002
【図２】
0004181327.tif 000003
【図３】
0004181327.tif 000004
【図４】
0004181327.tif 000005
【図５】
0004181327.tif 000006
【図６】
0004181327.tif 000007
【図７】
0004181327.tif 000008
【図８】
0004181327.tif 000009
【図９】
0004181327.tif 000010
【図１０】
0004181327.tif 000011
【図１１】
0004181327.tif 000012
【図１２】
0004181327.tif 000013