(57)【特許請求の範囲】
【請求項１】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、
前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、
前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも１つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、
を具備し、
前記仮決定手段は、
前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第４判定を行い、
前記第４判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、
前記第４判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定する文書認識装置。
【請求項２】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、
前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、
前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも１つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、を具備し、
前記仮決定手段は、更に、仮決定のルビ種別である仮ルビ種別を決定し、
前記仮ルビ種別は、「モノルビ」及び「グループルビ」を含み、
前記本決定手段は、
前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記仮親文字列に含まれる全ての文字について、前記ルビ一致判定が「一致」であるか否かの判定である第１判定を行い、
前記第１判定において「真」と判定した場合、前記仮親文字列を前記本親文字列として決定し、
前記第１判定において「偽」と判定した場合、及び、前記行間文字列の前記仮ルビ種別が「グループルビ」の場合、前記仮親文字列に含まれる先頭文字から連続する少なくとも１文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第２判定を行い、
前記第２判定において「真」と判定した場合、前記第２判定において「一致」と判定された文字のみを前記本親文字列として決定し、
前記第２判定において「偽」と判定した場合、前記仮親文字列に含まれる２文字目から連続する少なくとも１文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第３判定を行い、
前記第３判定において「真」と判定した場合、前記第３判定において「一致」と判定された文字のみを前記本親文字列として決定し、
前記第３判定において「偽」と判定した場合、前記仮親文字列を前記本親文字列として決定する文書認識装置。
【請求項３】
前記本決定手段は、更に、本決定のルビ種別である本ルビ種別を決定し、
前記本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含み、
前記本決定手段は、
前記第１判定において「真」と判定した場合、前記本ルビ種別を「モノルビ」と決定し、
前記第２判定において「真」と判定した場合、及び、前記第３判定において「真」と判定した場合、前記本ルビ種別を「モノルビ化可能なグループルビ」と決定し、
前記第３判定において「偽」と判定した場合、前記本ルビ種別を「当て字のグループルビ」と決定する
請求項２に記載の文書認識装置。
【請求項４】
前記文字認識手段による認識結果、前記本親文字列、及び前記本ルビ種別を出力する出力手段、
を更に具備し、
前記出力手段は、前記本ルビ種別が「モノルビ化可能なグループルビ」の場合には、前記本親文字列に含まれる文字ごとに、モノルビ化したルビを付加して出力する
請求項３に記載の文書認識装置。
【請求項５】
前記仮決定手段は、
前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第４判定を行い、
前記第４判定において「真」と判定した場合、前記行間文字列に含まれる全ての文字が、前記仮親文字列に含まれる２つの文字に跨らないか否かの判定である第５判定を行い、
前記第５判定において「真」と判定した場合、前記仮ルビ種別を「モノルビ」と決定し、
前記第４判定において「偽」と判定した場合、及び、前記第５判定において「偽」と判定した場合、前記仮ルビ種別を「グループルビ」と決定する
請求項２に記載の文書認識装置。
【請求項６】
前記本ルビ種別は、更に、「圏点」を含み、
前記本決定手段は、
前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記第１判定の前に、前記文字認識手段による前記行間文字列の認識結果が「圏点」を示すものか否かの判定である第６判定を行う
請求項３又は請求項４に記載の文書認識装置。
【請求項７】
前記入力画像に対してレイアウト解析を行って前記文章領域を抽出し、更に、前記行間領域に対してレイアウト解析を行って前記行間文字列を抽出するレイアウト解析手段、
を更に具備する請求項１乃至請求項６のいずれかに記載の文書認識装置。
【請求項８】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識方法であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段を具備するコンピュータが、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップと、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定ステップと、
前記本文行領域及び前記行間領域の文字を認識する文字認識ステップと、
前記文字認識ステップによる前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも１つと、前記文字認識ステップによる前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定ステップと、
を実行し、
前記仮決定ステップは、
前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第４判定を行い、
前記第４判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、
前記第４判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定する文書認識方法。
【請求項９】
コンピュータを請求項１乃至請求項７のいずれかに記載の文書認識装置として機能させる為のプログラム。
【請求項１０】
コンピュータを請求項１乃至請求項７のいずれかに記載の文書認識装置として機能させる為のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、紙媒体の文書から光学的に読み取った画像を入力画像とし、文書を認識する文書認識装置等に関するものである。特に、本発明は、ルビを含む文書を認識する文書認識装置等に関するものである。
【背景技術】
【０００２】
入力された文書画像から文章領域を抽出する従来手法としては、大きく分けて２つの手法がある。
第１の手法は、特許文献１の従来技術として記載されている手法である（特許文献１の[０００２]、[０００３]、図７参照）。横書きの文書画像を例にして説明する。まず行方向に第１射影（黒画素の分布を示す。）を取り、行の高さを得る。次に、第１射影と垂直方向に第２射影（黒画素の分布を示す。）を取り、行の長さ及び画像ブロック(ドット分布の外接矩形等)を抽出する。次に、各画像ブロックの幅の平均等から、基準文字サイズを求める。そして、先に得られた複数の画像ブロックを結合したときに、その幅が基準文字サイズになる場合にはそれらの画像ブロックを結合して１文字分の文字矩形領域として決定する。また、画像ブロックが基準文字サイズの整数倍になっていれば、それを基準文字サイズで整数等分して１文字分の文字矩形領域を決定する。
第２の手法は、特許文献２の従来技術として記載されている手法である（特許文献２の[０００２]参照）。まず、入力文字列画像から図形としてまとまりのある黒画素の連結パターンを抽出し、抽出された各々のパターンについて、その外接矩形を求める。次に、これらの矩形を１つの行を構成する要素と判断する統合規則（例えば、矩形相互の水平、垂直方向の距離が所定範囲内にあれば統合する。）に従い統合し、得られる行矩形により行の切り出しを行っている。
【０００３】
しかし、認識対象となる文書が日本語文書であり、本文を構成している文字にルビが付与されていた場合、上記の従来手法を用いただけでは、文字認識結果の精度が落ちるという問題がある。
尚、ルビは、「モノルビ」と「グループルビ」の２種類に分けることができる。親文字が「漢字」、ルビが「フリガナ」の場合を例に説明すると、「モノルビ」とは、漢字１文字ごと振られるルビであり、「グループルビ」とは、単語単位に振られるルビである。また、「モノルビ」の特別な場合として、「圏点」（傍点、ルビ点とも言う。）がある。「圏点」は、注意すべき所を示すために、文章中の文字のわきに付ける小さな点などである。また、「グループルビ」の特別な場合として、「当て字」（宛字、借り字とも言う。）がある。「当て字」は、日本語を漢字で書く場合に、漢字の音や訓を、その字の意味に関係なく当てるものである。
【０００４】
第１の手法の場合、本文文字にルビ文字が連結されて文字矩形領域が切り出され、文字認識が正しく行われないという問題がある。また、ルビ文字のみの文字矩形領域が切り出されても、ルビ文字の認識結果が本文文字の認識結果に挿入されてしまうという問題がある。
第２の手法の場合、ルビが存在する行（ルビ行）が、本文行と同様に切り出され、ルビ行の文字認識結果が本文行の文字認識結果と混ざって出力されてしまうという問題がある。また、第２の手法では、行を構成する文字の文字間や大きさがほぼ均等であることを前提条件としている。ところが、ある本文行内において、ルビが付与されている異なる親文字同士が極端に離れている場合は、ルビ行を構成する文字の文字間が大きく開くことになり、前提条件を満たさない。その結果、統合規則に反し、ルビ行として切り出されないという問題もある。
【０００５】
このような問題を解決する手法として、特許文献１〜３に記載されている手法が提案されている。
特許文献１に記載の手法では、通常の射影処理によって行切り出しが正常に行えなかった文字矩形領域に対し、文字サイズを利用して行と行間の境界位置を割り出し、ルビ文字領域と本文文字領域を分割し、それぞれの文字認識結果を対応付けて出力させる。
また、特許文献２に記載の手法では、基準行を特定し、基準行の行高の１／２以下の行高である行を「ルビ行」と特定し、ルビ行と本文行の文字認識結果を別々に出力させる。
また、特許文献３に記載の手法では、名刺の氏名（＝親文字）にふられるルビのように、文字行内において個々の親文字が極端に離れていたとしても、ルビ文字の領域を連結して１つのルビ文字列領域として抽出し、このルビ文字列領域に近接し、かつこのルビ文字列領域の長辺の長さによって区切られる文字列領域を親文字の文字列として特定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３８８００９１号公報
【特許文献２】特許第４１６２１９５号公報
【特許文献３】特許第３８３７１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の手法では、ルビの対象となる親文字を正しく特定できるとは限らないという課題がある。例えば、ルビ文字列が親文字列よりも長く、ルビが親文字ではない文字にまでかかっている場合や、グループルビのように複数の文字全体に均等にルビを付与した場合（例えば、漢字２文字に対してルビ３文字の場合）などでは、対象となる親文字を正しく特定できない可能性がある。
また、特許文献２では、そもそも親文字を特定することに言及しておらず、特許文献１と同様の課題がある。
また、特許文献３の手法は名刺に対するものであり、一般の日本語文書（教科書、実用書、小説など）に対してそのまま適用できるものではない。更に、特許文献３の手法では、文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていたとしても、全てグループルビとして出力されてしまうため、ルビ種別情報が失われてしまうという課題もある。つまり、教科書や低年齢向けの教材等、教育的配慮の為にモノルビが使用される場合、その認識結果を全て修正する必要があり、手間がかかる。
【０００８】
ところで、現状の電子書籍は、リフロー型とノンリフロー型に分類できる。リフロー型の電子書籍の場合、それを閲覧する電子書籍用端末の画面サイズやユーザによるフォントサイズ等の設定に依存して動的に文中における改行位置が変化する。つまり、フォントサイズを大きくすれば１行当たりの文字数が減り、フォントサイズを小さくすれば１行当たりの文字数が増える。
文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、グループルビのままでは、改行によるルビ区切り位置の決定を自動処理することができない。つまり、ルビ区切り位置の決定を自動処理させるためには、内部的にモノルビとしての情報を保持しておく必要がある。
【０００９】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、ルビ文字の対象となる親文字を正しく特定することができる文書認識装置等を提供することである。また、ルビ文字の認識結果にルビ種別情報を付加することができる文書認識装置等を提供することである。
【課題を解決するための手段】
【００１０】
前述した目的を達成するために第１の発明は、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも１つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、を具備し、前記仮決定手段は、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第４判定を行い、前記第４判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、前記第４判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定する文書認識装置である。
第１の発明によって、ルビ文字の対象となる親文字を正しく特定することができる。
【００１１】
第２の発明は、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも１つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、を具備し、前記仮決定手段は、更に、仮決定のルビ種別である仮ルビ種別を決定し、前記仮ルビ種別は、「モノルビ」及び「グループルビ」を含み、前記本決定手段は、前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記仮親文字列に含まれる全ての文字について、前記ルビ一致判定が「一致」であるか否かの判定である第１判定を行い、前記第１判定において「真」と判定した場合、前記仮親文字列を前記本親文字列として決定し、前記第１判定において「偽」と判定した場合、及び、前記行間文字列の前記仮ルビ種別が「グループルビ」の場合、前記仮親文字列に含まれる先頭文字から連続する少なくとも１文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第２判定を行い、前記第２判定において「真」と判定した場合、前記第２判定において「一致」と判定された文字のみを前記本親文字列として決定し、前記第２判定において「偽」と判定した場合、前記仮親文字列に含まれる２文字目から連続する少なくとも１文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第３判定を行い、前記第３判定において「真」と判定した場合、前記第３判定において「一致」と判定された文字のみを前記本親文字列として決定し、前記第３判定において「偽」と判定した場合、前記仮親文字列を前記本親文字列として決定する文書認識装置である。
第２の発明によって、グループルビや親文字よりも長いルビが付与されていても、親文字を正しく特定できる。
【００１２】
また、前記本決定手段は、更に、本決定のルビ種別である本ルビ種別を決定し、前記本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含み、前記本決定手段は、前記第１判定において「真」と判定した場合、前記本ルビ種別を「モノルビ」と決定し、前記第２判定において「真」と判定した場合、及び、前記第３判定において「真」と判定した場合、前記本ルビ種別を「モノルビ化可能なグループルビ」と決定し、前記第３判定において「偽」と判定した場合、前記本ルビ種別を「当て字のグループルビ」と決定することが望ましい。
これによって、ルビ文字の認識結果にルビ種別情報を付加することができる。例えば、文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていた場合、そのルビ種別情報を失うことがない。
【００１３】
また、前記文字認識手段による認識結果、前記本親文字列、及び前記本ルビ種別を出力する出力手段、を更に具備し、前記出力手段は、前記本ルビ種別が「モノルビ化可能なグループルビ」の場合には、前記本親文字列に含まれる文字ごとに、モノルビ化したルビを付加して出力することが望ましい。
これによって、文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、ルビ区切り位置の決定を自動処理させるための内部的な情報を出力することができる。つまり、リフロー型電子書籍において、ルビ区切り位置の決定を自動処理させることができる。
【００１５】
また、前記仮決定手段は、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第４判定を行い、前記第４判定において「真」と判定した場合、前記行間文字列に含まれる全ての文字が、前記仮親文字列に含まれる２つの文字に跨らないか否かの判定である第５判定を行い、前記第５判定において「真」と判定した場合、前記仮ルビ種別を「モノルビ」と決定し、前記第４判定において「偽」と判定した場合、及び、前記第５判定において「偽」と判定した場合、前記仮ルビ種別を「グループルビ」と決定することが望ましい。
これによって、行間文字列に対する仮のルビ種別を決定することができる。
【００１６】
また、前記本ルビ種別は、更に、「圏点」を含み、前記本決定手段は、前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記第１判定の前に、前記文字認識手段による前記行間文字列の認識結果が「圏点」を示すものか否かの判定である第６判定を行うことが望ましい。
これによって、「圏点」を正しく認識し、仮決定手段による処理の前に除外することができ、仮決定手段による処理の精度が向上する。
【００１７】
また、前記入力画像に対してレイアウト解析を行って前記文章領域を抽出し、更に、前記行間領域に対してレイアウト解析を行って前記行間文字列を抽出するレイアウト解析手段、を更に具備することが望ましい。
これによって、入力画像の入力から認識結果等の出力まで一貫して、文書認識装置による自動処理を実現することができる。
【００１８】
第３の発明は、ルビを含む文書の画像を入力画像とし、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識方法であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段を具備するコンピュータが、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップと、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定ステップと、前記本文行領域及び前記行間領域の文字を認識する文字認識ステップと、前記文字認識ステップによる前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも１つと、前記文字認識ステップによる前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定ステップと、を実行し、前記仮決定ステップは、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第４判定を行い、
前記第４判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、前記第４判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定する文書認識方法である。
第３の発明によって、ルビ文字の対象となる親文字を正しく特定することができる。
【００１９】
第４の発明は、コンピュータを第１、第２の発明の文書認識装置として機能させる為のプログラムである。
第４の発明を汎用のコンピュータにインストールすることによって、第１、第２の発明の文書認識装置を得ることができる。
【００２０】
第５の発明は、コンピュータを第１、第２の発明の文書認識装置として機能させる為のプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
第５の発明によって、第４の発明のプログラムを配布することができる。
【発明の効果】
【００２１】
本発明により、ルビ文字の対象となる親文字を正しく特定することができる文書認識装置等を提供することができる。また、ルビ文字の認識結果にルビ種別情報を付加することができる文書認識装置等を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】文書認識装置１のハードウエア構成図
【図２】文書認識装置１のソフトウエア構成図
【図３】フリガナ辞書３１の一例を示す図
【図４】入力画像３２の一例を示す図
【図５】文字矩形領域４１を説明する図
【図６】本文行領域４２、行間領域４３及び行間文字列４４を説明する図
【図７】仮決定手段２４の処理の流れを示すフローチャート
【図８】包含文字列４５を説明する図
【図９】被包含文字列４６を説明する図
【図１０】仮ルビ種別が「モノルビ」の行間文字列４４の一例を示す図
【図１１】仮ルビ種別が「グループルビ」の行間文字列４４の一例を示す図
【図１２】本決定手段２６の処理の流れを示すフローチャート
【図１３】第１の例を示す図
【図１４】第１の例の一時記憶データ５１を示す図
【図１５】第１の例の属性情報５２を示す図
【図１６】第２の例を示す図
【図１７】第２の例の一時記憶データ５１を示す図
【図１８】第２の例の属性情報５２を示す図
【発明を実施するための形態】
【００２３】
本発明の実施形態では、本発明の技術的思想を分かり易く説明する為、以下の条件を満たす入力画像（＝紙媒体等の文書から光学的に読み取った画像）を前提とする。
・文字領域（本文の１文字単位の領域）は、略正方形である。
・文字列領域（本文の１行単位の領域）は、略四角形である。
・文字列領域に含まれる文字の大きさは、殆どが同一とする。
・文字列領域中の文字の配置は、直線的である。
・文字列領域中の隣接する文字同士は、極めて近接している。
・文字列領域中の文字の間隔は、一定である。
尚、本発明の技術的思想は、上記の前提を満たす入力画像に限定されるわけではない。上記の前提を満たさない入力画像であっても、公知の技術によって上記の前提が満たされる画像に変換するか、又は必要に応じて一部の処理を設計変更することによって、本発明は適用可能である。
【００２４】
また、本発明の実施形態では、縦書きの日本語文書を例にして説明する。当然ながら、本発明は、横書きの日本語文書、並びに、横書き及び縦書きの外国語文書（日本語以外の文書）にも適用可能である。
【００２５】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
図１は、文書認識装置１のハードウエア構成図である。尚、図１のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２６】
文書認識装置１は、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部１７等が、バス１８を介して接続される。
【００２７】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２８】
ＣＰＵは、記憶部１２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、文書認識装置１が行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部１２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１１が各種処理を行う為に使用するワークエリアを備える。
【００２９】
記憶部１２は、ＨＤＤ（ハードディスクドライブ）であり、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００３０】
メディア入出力部１３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）等のメディア入出力装置を有する。
通信制御部１４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【００３１】
入力部１５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部１５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部１６は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００３２】
周辺機器Ｉ／Ｆ（インタフェース）部１７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１７を介してコンピュータは周辺機器（イメージスキャナ、複合機等）とのデータの送受信を行う。周辺機器Ｉ／Ｆ部１７は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３３】
図２は、文書認識装置１のソフトウエア構成図である。図２に示すように、文書認識装置１は、記憶手段２１、レイアウト解析手段２２、領域分別手段２３、仮決定手段２４、文字認識手段２５、本決定手段２６、出力手段２７等を備える。
文書認識装置１の記憶部１２は、記憶手段２１として機能する。尚、外部記憶装置が記憶手段２１として機能しても良い。
また、文書認識装置１の制御部１１は、図２に示すレイアウト解析手段２２〜出力手段２７として機能する。
【００３４】
記憶手段２１は、フリガナ辞書３１を記憶する。
図３は、フリガナ辞書３１の一例を示す図である。図３に示すように、フリガナ辞書３１は、「漢字」（１文字分）を主キーとし、フリガナ候補となる候補１〜候補４等が対応付けられている。
図３では、例えば、漢字「誕」に対して、候補１「タン」、候補２「う（まれる）」、候補３「いつわ（る）」が対応付けられている。
【００３５】
フリガナ辞書３１は、親文字に対するルビ候補を示す「ルビ辞書」の一例である。ルビ辞書としては、他にも、歴史的仮名遣い、中国語のピン音、その他の外国語（日本語以外の言語）の発音、用語の通称や略称など、様々なものが考えられる。
【００３６】
レイアウト解析手段２２は、入力画像に対してレイアウト解析処理を行って文章領域を抽出する。また、レイアウト解析手段２２は、入力画像を一部切り出した画像に対してレイアウト解析処理を行って所望の文字列を抽出する。レイアウト解析処理については、公知の技術を適用すれば良く、本発明では特に限定しない。
【００３７】
図４は、入力画像３２の一例を示す図である。入力画像３２は、例えば、日本語文書（教科書、実用書、小説など）の１ページ分がイメージスキャナ等によって光学的に読み取られた画像である。入力画像３２には、文章領域３３、図表領域３４等が含まれる。文章領域３３は、文章が配置されている領域である。図表領域３４は、図、表、写真などが配置されている領域である。
レイアウト解析手段２２は、入力画像３２に対してレイアウト解析処理を行い、文章領域３３と図表領域３４とに分割し、文章領域３３を抽出する。
【００３８】
領域分別手段２３は、入力画像３２の文章領域３３に対して領域分別処理を行い、本文行領域と行間領域とに分別する。本文行領域は、本文の文字列が配置されている領域である。行間領域は、２つの本文行の間の領域であり、ルビの文字列が配置されている領域である。
【００３９】
図５、図６を参照しながら、領域分別処理の一例について説明する。
図５は、文字矩形領域４１を説明する図である。図６は、本文行領域４２、行間領域４３及び行間文字列４４を説明する図である。
【００４０】
領域分別手段２３は、文章領域３３に含まれる「みなし行」の切り出しを行う。「みなし行」の切り出しの段階では、本文とルビが区別されていない。
次に、領域分別手段２３は、切り出された「みなし行」に含まれる「みなし文字」の切り出しを行う。「みなし文字」の切り出しの段階では、本文文字とルビ文字が区別されていない。より詳細には、領域分別手段２３は、図５に示すように、１文字分を含む文字矩形領域４１を抽出し、文字矩形領域４１の上端部及び下端部のｙ座標［ｙＡｓ、ｙＡｅ］を取得し、ＲＡＭ等に保存する。尚、横書きの文章であれば、領域分別手段２３は、文字矩形領域４１の左端部及び右端部のｘ座標を取得する。
【００４１】
次に、領域分別手段２３は、「みなし行」における全ての「みなし文字」の［ｙＡｓ、ｙＡｅ］についての標準的な値に基づいて、「みなし文字サイズ」を決定する。
次に、領域分別手段２３は、「みなし文字サイズ」に基づく「みなし行高」を決定し、この「みなし行高」を横幅（横書きの文章であれば、縦幅）とする領域を本文行領域４２とする。
また、領域分別手段２３は、本文行領域４２同士の間の領域を行間領域４３とする。尚、領域分別手段２３は、文章領域３３の中で最も右端の本文行領域４２（横書きの文章であれば、最も上端の本文行領域４２）については、その右側の領域（横書きの文章であれば、その上側の領域）も、行間領域４３とする。
そして、領域分別手段２３は、本文行領域４２と、その右側（縦書きの文章であれば、その上側）に位置する行間領域４３とを対応付けて、ＲＡＭ等に記憶する。
【００４２】
前述した領域分別処理の一例によれば、「行（本文及びルビを含む。）」の行高が、行間に付与されるルビの分だけ広く取られている文書であっても、本文だけの行高を正確に特定することができる。そして、前述したように、本文行領域４２と行間領域４３とに分別することができる。
【００４３】
仮決定手段２４は、行間文字列（＝行間領域の文字列）を抽出し、行間文字列ごとに、本文行領域の文字列の中から、仮親文字列（＝仮決定の親文字列）を決定する。
図６には、行間文字列４４の一例が図示されている。図６に示すように、行間領域４３は、１又は複数の行間文字列４４を含む場合もあるし、行間文字列４４を１つも含まない場合もある。例えば、仮決定手段２４が、レイアウト解析手段２２に行間領域４３を受け渡すと、レイアウト解析手段２２が、行間領域４３に対してレイアウト解析処理を行って行間文字列４４を特定し、仮決定手段２４に行間文字列４４を返す。
また、仮決定手段２４は、仮ルビ種別（＝仮決定のルビ種別）も決定する。仮ルビ種別は、「モノルビ」及び「グループルビ」を含む。
仮決定手段２４の詳細は、図７等を参照しながら後述する。
【００４４】
文字認識手段２５は、文字認識処理を行う。文字認識処理は、１文字分の画像を入力データとし、入力データに含まれる文字構成画素の集まりから、文字コードを判定する。入力データは、例えば、白と黒の２値画像であり、黒画素が文字構成画素であることが多い。文字認識処理については、公知の技術を適用すれば良く、本発明では特に限定しない。
【００４５】
本決定手段２６は、文字認識手段２５による仮親文字列の認識結果を参照キーとしてフリガナ辞書３１（ルビ辞書）を参照することによって得られるルビ候補の少なくとも１つと、文字認識手段２５による行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、ルビ一致判定の結果に基づいて、仮親文字列を本親文字列（＝本決定の親文字列）として決定する、或いは、仮親文字列に含まれる一部の文字（例えば、先頭文字から連続する１文字以上の文字列及び／又は最終文字まで連続する１文字以上の文字）を除いた残りの文字列を本親文字列として決定する。
また、本決定手段２６は、本ルビ種別（＝本決定のルビ種別）も決定する。本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含む。本ルビ種別は、更に「圏点」を含んでも良い。
本決定手段２６の詳細は、図１２等を参照しながら後述する。
【００４６】
出力手段２７は、文字認識手段２５による認識結果、本親文字列、及び本ルビ種別をファイル等に出力する。特に、出力手段２７は、本ルビ種別が「モノルビ化可能なグループルビ」の場合には、本親文字列に含まれる文字ごとに、モノルビ化したルビを属性情報として付加して出力する。
【００４７】
文書認識装置１による文書認識方法は、少なくとも、以下のステップを含む。
（１）入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップ。
（２）行間領域の文字列である行間文字列を抽出し、行間文字列ごとに、本文行領域の文字列の中から仮親文字列を決定する仮決定ステップ。
（３）本文行領域及び行間領域の文字を認識する文字認識ステップ。
（４）文字認識ステップによる仮親文字列の認識結果を参照キーとしてルビ辞書を参照することによって得られるルビ候補の少なくとも１つと、文字認識ステップによる行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、ルビ一致判定の結果に基づいて、仮親文字列を本親文字列として決定する、或いは、仮親文字列に含まれる一部の文字を除いた残りの文字列を本親文字列として決定する本決定ステップ。
【００４８】
図７〜図１１を参照しながら、仮決定手段２４の詳細について説明する。
図７は、仮決定手段２４の処理の流れを示すフローチャートである。図７では、１つの行間文字列４４に対する一連の処理を図示している。制御部１１は、抽出された行間文字列４４ごとに、図７のフローチャートを実行する。
【００４９】
制御部１１は、行間文字列４４の開始位置、終了位置[ｙｓ、ｙｅ]を取得する（Ｓ１）。[ｙｓ、ｙｅ]は、図５に図示されている［ｙＡｓ、ｙＡｅ］と同様、行間文字列４４の上端部及び下端部のｙ座標である。
【００５０】
次に、制御部１１は、[ｙｓ、ｙｅ]⊆［ｙＡｓ、ｙＢｅ］となる包含文字列［Ａ・・・Ｂ］が存在するか否か確認する（Ｓ２）。包含文字列［Ａ・・・Ｂ］とは、本文行領域４２の文字列の中で、行間文字列４４の開始位置から終了位置までを包含する最小文字数の文字列である。
【００５１】
図８は、包含文字列４５を説明する図である。
図８では、行間文字列４４は、［Ｃ・・・Ｄ］である。本文行領域４２の文字列の中で行間文字列４４の開始位置から終了位置までを包含する最小文字数の文字列は、文字列［Ａ・・・Ｂ］であるから、制御部１１は、文字列［Ａ・・・Ｂ］を包含文字列４５とする。
【００５２】
図７の説明に戻る。
制御部１１は、Ｓ２の判定が「真」の場合（Ｓ２のＹｅｓ）、包含文字列［Ａ・・・Ｂ］を仮親文字列とする（Ｓ３）。
一方、制御部１１は、Ｓ２の判定が「偽」の場合（Ｓ２のＮｏ）、［ｙＡｓ、ｙＢｅ］⊂[ｙｓ、ｙｅ]となる被包含文字列［Ａ・・・Ｂ］を仮親文字列とする（Ｓ４）。被包含文字列［Ａ・・・Ｂ］とは、本文行領域４２の文字列の中で、行間文字列４４の開始位置から終了位置までに包含される最大文字数の文字列である。
【００５３】
図９は、被包含文字列４６を説明する図である。
図９では、行間文字列４４は、［Ｃ・・・Ｄ］である。本文行領域４２の文字列の中で、行間文字列４４の開始位置から終了位置までに包含される最大文字数の文字列は、文字列［Ａ・・・Ｂ］であるから、制御部１１は、文字列［Ａ・・・Ｂ］を被包含文字列４６とする。
【００５４】
図７の説明に戻る。
制御部１１は、Ｓ３の処理の後、行間文字列４４の全ての文字が、仮親文字列の２つの文字に跨らないか否かを確認する（Ｓ５）。
制御部１１は、行間文字列４４の全ての文字が、仮親文字列の２つの文字に跨らないと判定した場合、つまり、Ｓ５の判定が「真」の場合（Ｓ５のＹｅｓ）、仮ルビ種別を「モノルビ（圏点を含む。）」とする（Ｓ６）。
一方、制御部１１は、行間文字列４４のいずれかの文字が、仮親文字列の２つの文字に跨ると判定した場合、つまり、Ｓ５の判定が「偽」の場合（Ｓ５のＮｏ）、仮ルビ種別を「グループルビ」とする（Ｓ７）。また、制御部１１は、Ｓ４の処理の後も、仮ルビ種別を「グループルビ」とする（Ｓ７）。
【００５５】
図１０は、仮ルビ種別が「モノルビ」の行間文字列４４の一例を示す図である。
図１０では、仮親文字列４７は、「漢字」である。また、行間文字列４４は、「かんじ」である。行間文字列４４の「か」及び「ん」は、仮親文字列４７の１文字目「漢」の開始位置から終了位置までに含まれ、仮親文字列４７の２文字目「字」に跨っていない。また、行間文字列４４の「じ」は、仮親文字列４７の２文字目「字」の開始位置から終了位置までに含まれ、仮親文字列４７の１文字目「漢」に跨っていない。従って、制御部１１は、図１０に示す行間文字列４４の仮ルビ種別を「モノルビ」とする。
【００５６】
図１１は、仮ルビ種別が「グループルビ」の行間文字列４４の一例を示す図である。
図１１では、仮親文字列４７は、「漢字」である。また、行間文字列４４は、「かんじ」である。行間文字列４４の「か」は、仮親文字列４７の１文字目「漢」の開始位置から終了位置までに含まれ、仮親文字列４７の２文字目「字」に跨っていない。また、行間文字列４４の「じ」は、仮親文字列４７の２文字目「字」の開始位置から終了位置までに含まれ、仮親文字列４７の１文字目「漢」に跨っていない。一方、行間文字列４４の「ん」は、仮親文字列４７の１文字目「漢」と、仮親文字列４７の２文字目「字」とに跨っている。従って、制御部１１は、図１０に示す行間文字列４４の仮ルビ種別を「グループルビ」とする。
【００５７】
以上、図７に示す仮決定手段２４による処理では、行間文字列４４に対して、仮親文字列４７及び仮ルビ種別が仮決定される。仮決定手段２４は、行間文字列４４ごとに、仮親文字列４７及び仮ルビ種別をＲＡＭ等に記憶する。
【００５８】
図１２を参照しながら、本決定手段２６の詳細について説明する。
図１２は、本決定手段２６の処理の流れを示すフローチャートである。図１２では、１つの行間文字列４４に対する一連の処理を図示している。制御部１１は、抽出された行間文字列４４ごとに、図１２のフローチャートを実行する。
【００５９】
図１２に示す処理の概要は、次の通りである。本決定手段２６は、仮決定手段２４及び文字認識手段２５の結果に基づいて、行間文字列４４を圏点、モノルビ、グループルビ等に判別するとともに、親文字との対応付けを本決定する。ルビと認識された場合には、本決定手段２６は、フリガナ辞書３１を参照し、親文字とルビ文字の対応が正しいか否か確認し、間違っている場合は対応関係を修正する。
本決定手段２６によって、長いルビ文字列であって、本来対応する親文字以外の文字にもかかってしまっている場合においても、対象となる親文字の特定が可能となる。更に、グループルビについて、当て字なのか、それともモノルビ化可能か、について判定することができる。
尚、グループルビと判断される場合には、本決定手段２６は、対応する親文字列とグループルビの対応を「単語辞書」として記憶手段２１等に登録するようにしても良い。これによって、文書内に同様の単語とルビが出現した場合、「単語辞書」を参照することによって、より効率良くルビの対応を特定することができる。
【００６０】
以下では、図１２に示す処理の詳細について説明する。
制御部１１は、行間文字列４４の仮ルビ種別が「モノルビ」か否か確認する（Ｓ１１）。
制御部１１は、Ｓ１１の判定が「真」の場合（Ｓ１１のＹｅｓ）、Ｓ１２に進む。また、制御部１１は、Ｓ１１の判定が「偽」の場合（Ｓ１１のＮｏ）、Ｓ１６に進む。
【００６１】
Ｓ１２では、制御部１１は、文字認識手段２５による行間文字列４４の認識結果が「圏点」か否か確認する。尚、Ｓ１２の判定において「圏点」か否かを判別出来ない場合、制御部１１は、行間文字列４４の認識結果が全て同一の記号であるか否かを確認するようにしても良い。
制御部１１は、認識結果が「圏点」の場合、つまり、Ｓ１２の判定が「真」の場合（Ｓ１２のＹｅｓ）、本親文字列＝仮親文字列、本ルビ種別＝「圏点」とし、処理を終了する（Ｓ１３）。
一方、制御部１１は、認識結果が「圏点」ではない場合、つまり、Ｓ１２の判定が「偽」の場合（Ｓ１２のＮｏ）、Ｓ１４に進む。
【００６２】
Ｓ１４では、制御部１１は、仮親文字列４７に含まれる全ての文字についてルビ一致判定を行い、全てのルビ一致判定が「一致」であるか否か確認する。ルビ一致判定では、制御部１１は、文字認識手段２５による仮親文字列４７の認識結果を参照キーとしてフリガナ辞書３１を参照することによって得られるフリガナ候補の少なくとも１つと、文字認識手段２５による行間文字列４４の認識結果が一致するか否かの判定を行う。
制御部１１は、Ｓ１４の判定が「真」の場合（Ｓ１４のＹｅｓ）、本親文字列＝仮親文字列、本ルビ種別＝「モノルビ」とし、処理を終了する（Ｓ１５）。
一方、制御部１１は、Ｓ１４の判定が「偽」の場合（Ｓ１４のＮｏ）、Ｓ１６に進む。
【００６３】
Ｓ１６では、制御部１１は、仮親文字列４７に含まれる先頭文字から連続する１文字以上についてルビ一致判定を行い、先頭文字から連続する１文字以上のルビ一致判定が「一致」であるか否か確認する。
制御部１１は、Ｓ１６の判定が「真」の場合（Ｓ１６のＹｅｓ）、本親文字列＝一致と判定された文字のみ、本ルビ種別＝「モノルビ化可能なグループルビ」とし、処理を終了する（Ｓ１７）。
一方、制御部１１は、Ｓ１６の判定が「偽」の場合（Ｓ１６のＮｏ）、Ｓ１８に進む。
【００６４】
Ｓ１８では、制御部１１は、仮親文字列４７に含まれる２文字目から連続する１文字以上についてルビ一致判定を行い、２文字目から連続する１文字以上のルビ一致判定が「一致」であるか否か確認する。
制御部１１は、Ｓ１８の判定が「真」の場合（Ｓ１８のＹｅｓ）、本親文字列＝一致と判定された文字のみ、本ルビ種別＝「モノルビ化可能なグループルビ」とし、処理を終了する（Ｓ１７）。
一方、制御部１１は、Ｓ１８の判定が「偽」の場合（Ｓ１８のＮｏ）、本親文字列＝仮親文字列、本ルビ種別＝「当て字のグループルビ」とし、処理を終了する（Ｓ１９）。
【００６５】
以上、図１２に示す本決定手段２６による処理では、行間文字列４４に対して、本親文字列及び本ルビ種別が本決定される。本決定手段２６は、行間文字列４４ごとに、本親文字列及び本ルビ種別をＲＡＭ等に記憶する。
【００６６】
次に、図１３〜図１５を参照しながら、文書認識装置１による処理の一例である第１の例について説明する。
図１３は、第１の例を示す図、図１４は、第１の例の一時記憶データ５１を示す図、図１５は、第１の例の属性情報５２を示す図である。
【００６７】
第１の例では、図１３に示すように、行間文字列４４が「たんじょうび」、仮親文字列４７が「誕生日」である。
制御部１１は、図７に示す処理の後、図１４に示すように、行間文字列４４ごとに、一時記憶データ５１をＲＡＭ等に記憶する。図７に示す処理が終了した時点では、一時記憶データ５１に「行間文字列」、「仮親文字列」、「仮ルビ種別」が記憶されている。
「仮ルビ種別」が“モノルビ”（圏点ではない。）であるから、制御部１１は、Ｓ１４のルビ一致判定を行う（図１２のＳ１１、Ｓ１２参照）。
【００６８】
第１の例に対するＳ１４のルビ一致判定を説明する。
制御部１１は、仮親文字列４７の｛誕｝を参照キーとして図３に示すフリガナ辞書３１を参照する。参照結果として、フリガナ候補「タン」が得られる。これは、行間文字列４４の｛／た／ん｝と一致することから、ルビ一致判定は「一致」となる。
次に、制御部１１は、仮親文字列４７の｛生｝を参照キーとして図３に示すフリガナ辞書３１を参照する。参照結果として得られるフリガナ候補「セイ」、「ショウ」、「い（きる）」、「なま」等のいずれも、行間文字列４４の｛／じ／ょ｝と一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部１１は、Ｓ１４の判定を「偽」とする。
【００６９】
次に、第１の例に対するＳ１６のルビ一致判定を説明する。Ｓ１６では、仮ルビ種別が「モノルビ」であっても、親文字の１文字分に対するルビ文字の対応関係を無視して、フリガナ辞書３１を参照する。
制御部１１は、仮親文字列４７の｛誕｝を参照キーとして図３に示すフリガナ辞書３１を参照する。参照結果として、フリガナ候補「タン」が得られる。これは、行間文字列４４の｛／た／ん｝と一致することから、ルビ一致判定は「一致」となる。
次に、制御部１１は、仮親文字列４７の｛生｝を参照キーとして図３に示すフリガナ辞書３１を参照する。参照結果として、フリガナ候補「ショウ」が得られる。制御部１１は、行間文字列４４の｛／じ｝以降を１文字ずつ増やして、フリガナ候補「ショウ」と一致するか否か確認していく。つまり、制御部１１は、｛／じ｝→｛／じ／ょ｝→｛／じ／ょ／う｝→｛／じ／ょ／う／び｝の順に、フリガナ候補「ショウ」と一致するか否か確認する。行間文字列４４の｛／じ／ょ／う｝とフリガナ候補「ショウ」が一致することから、ルビ一致判定は「一致」となる。
次に、制御部１１は、仮親文字列４７の｛日｝を参照キーとして図３に示すフリガナ辞書３１を参照する。参照結果として、フリガナ候補「ひ」が得られる。これは、行間文字列４４の｛／び｝と一致することから、ルビ一致判定は「一致」となる。
そして、制御部１１は、Ｓ１６の判定を「真」とする。
【００７０】
制御部１１は、図１２に示す処理の中で、図１４に示す一時記憶データ５１を更新する。図１２に示す処理では、一時記憶データ５１の「Ｓ１４のルビ一致判定」、「Ｓ１６のルビ一致判定」が更新される。
第１の例では、Ｓ１６のルビ一致判定が全て「一致」であるから、制御部１１は、本親文字列＝「誕生日」、本ルビ種別＝「モノルビ化可能なグループルビ」とする（図１２のＳ１７参照）。
【００７１】
制御部１１は、出力手段２７として、文字認識手段２５による認識結果とともに、図１５に示す属性情報５２を出力する。
属性情報５２は、例えば、「本文文字」、「本文文字の位置」、「ルビ有無」、「位置から判断されるルビ」、「モノルビ化したルビ」などのデータを含む。
「本文文字」は、本文行領域４２に含まれる文字である。「本文文字の位置」は、例えば、「本文文字」の文字矩形領域４１の左上座標及び右下座標である。「ルビ有無」は、「本文文字」を含む単語に対応付けられるルビの有無であり、ルビが有る場合には本ルビ種別である。「位置から判断されるルビ」は、「本文文字」の文字矩形領域４１の位置から判断されるルビである。「モノルビ化したルビ」は、図１２に示すＳ１６又はＳ１８のルビ一致判定において、一致と判定された文字である。
【００７２】
第１の例では、本文文字が「誕」、「生」、「日」の３つである。
本文文字が「誕」に対しては、「本文文字の位置」が“（ｘ１、ｙ１）、（ｘ２、ｙ２）”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“たん”、「モノルビ化したルビ」が“たん”である。
本文文字が「生」に対しては、「本文文字の位置」が“（ｘ３、ｙ３）、（ｘ４、ｙ４）”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“じょ”、「モノルビ化したルビ」が“じょう”である。
本文文字が「日」に対しては、「本文文字の位置」が“（ｘ５、ｙ５）、（ｘ６、ｙ６）”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“うび”、「モノルビ化したルビ」が“び”である。
【００７３】
第１の例のように、本ルビ種別＝「モノルビ化可能なグループルビ」と判断されたルビ文字列については、リフロー型電子書籍において、親文字が行末及び行頭に跨る場合、モノルビに変更して表示させることが可能となる。
【００７４】
次に、図１６〜図１８を参照しながら、文書認識装置１による処理の一例である第２の例について説明する。
図１６は、第２の例を示す図、図１７は、第２の例の一時記憶データ５１を示す図、図１８は、第２の例の属性情報５２を示す図である。
【００７５】
第２の例では、図１６に示すように、行間文字列４４が「こすもす」、仮親文字列４７が「秋桜」である。
制御部１１は、図７に示す処理の後、図１４に示すように、行間文字列４４ごとに、一時記憶データ５１をＲＡＭ等に記憶する。図７に示す処理が終了した時点では、一時記憶データ５１に「行間文字列」、「仮親文字列」、「仮ルビ種別」が記憶されている。
「仮ルビ種別」が“モノルビ”であるから、制御部１１は、Ｓ１４のルビ一致判定を行う（図１２のＳ１１、Ｓ１２参照）。
【００７６】
第２の例に対するＳ１４のルビ一致判定を説明する。
制御部１１は、仮親文字列４７の｛秋｝を参照キーとしてフリガナ辞書３１を参照し、参照結果としてフリガナ候補を得る。参照結果として得られるフリガナ候補のいずれも、行間文字列４４の｛／こ／す｝と一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部１１は、Ｓ１４の判定を「偽」とする。
【００７７】
次に、第２の例に対するＳ１６のルビ一致判定を説明する。
制御部１１は、仮親文字列４７の｛秋｝を参照キーとしてフリガナ辞書３１を参照し、参照結果としてフリガナ候補を得る。制御部１１は、行間文字列４４の｛／こ｝以降を１文字ずつ増やして、フリガナ候補と一致するか否か確認していく。つまり、制御部１１は、｛／こ｝→｛／こ／す｝→｛／こ／す／も｝→｛／こ／す／も／す｝の順に、フリガナ候補と一致するか否か確認する。行間文字列４４とフリガナ候補はいずれも一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部１１は、Ｓ１４の判定を「偽」とする。
【００７８】
次に、第２の例に対するＳ１８のルビ一致判定を説明する。
制御部１１は、仮親文字列４７の｛桜｝を参照キーとしてフリガナ辞書３１を参照し、参照結果としてフリガナ候補を得る。制御部１１は、行間文字列４４の｛／こ｝以降を１文字ずつ増やして、フリガナ候補と一致するか否か確認していく。つまり、制御部１１は、｛／こ｝→｛／こ／す｝→｛／こ／す／も｝→｛／こ／す／も／す｝の順に、フリガナ候補と一致するか否か確認する。行間文字列４４とフリガナ候補はいずれも一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部１１は、Ｓ１８の判定を「偽」とする。
【００７９】
制御部１１は、図１２に示す処理の中で、図１４に示す一時記憶データ５１を更新する。図１２に示す処理では、一時記憶データ５１の「Ｓ１４のルビ一致判定」、「Ｓ１６のルビ一致判定」、「Ｓ１８のルビ一致判定」が更新される。
第２の例では、Ｓ１８の判定が「偽」であるから、制御部１１は、本親文字列＝「秋桜」、本ルビ種別＝「当て字のグループルビ」とする。
【００８０】
制御部１１は、出力手段２７として、文字認識手段２５による認識結果とともに、図１８に示す属性情報５２を出力する。
第２の例では、本文文字が「秋」、「桜」の２つである。
本文文字が「秋」に対しては、「本文文字の位置」が“（ｘ７、ｙ７）、（ｘ８、ｙ８）”、「ルビ有無」が“当て字のグループルビ”、「位置から判断されるルビ」が“こす”、「モノルビ化したルビ」が“−”（なし）である。
本文文字が「桜」に対しては、「本文文字の位置」が“（ｘ９、ｙ９）、（ｘ１０、ｙ１０）”、「ルビ有無」が“当て字のグループルビ”、「位置から判断されるルビ」が“もす”、「モノルビ化したルビ」が“−”（なし）である。
【００８１】
第２の例のように、本ルビ種別＝「当て字のグループルビ」と判断されたルビ文字列については、リフロー型電子書籍において、親文字が行末及び行頭に跨る場合、文字数の比に応じてルビ文字列も分割して表示させると良い。
【００８２】
第１の例及び第２の例からも分かるように、本発明は以下の効果を奏する。
（１）一般の日本語文書（教科書、実用書、小説など）を含む様々な文書において、ルビの対象となる親文字を正しく特定できる。特に、グループルビや親文字よりも長いルビが付与されていても、親文字を正しく特定できる。
（２）文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていた場合、そのルビ種別情報を失うことなく、属性情報として出力することができる。つまり、教科書や低年齢向けの教材等、教育的配慮の為にモノルビが使用される場合、その認識結果を手作業によって修正する必要がない。
（３）文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、ルビ区切り位置の決定を自動処理させるための内部的な情報を、属性情報として出力することができる。つまり、リフロー型電子書籍において、ルビ区切り位置の決定を自動処理させることができる。
【００８３】
以上、添付図面を参照しながら、本発明に係る文書認識装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００８４】
１………文書認識装置
２１………記憶手段
２２………レイアウト解析手段
２３………領域分別手段
２４………仮決定手段
２５………文字認識手段
２６………本決定手段
２７………出力手段
３１………フリガナ辞書
３２………入力画像
３３………文章領域
３４………図表領域
４１………文字矩形領域
４２………本文行領域
４３………行間領域
４４………行間文字列
４５………包含文字列
４６………被包含文字列
４７………仮親文字列
５１………一時記憶データ
５２………属性情報
【図１】
0005790082.tif 000002
【図２】
0005790082.tif 000003
【図３】
0005790082.tif 000004
【図４】
0005790082.tif 000005
【図５】
0005790082.tif 000006
【図６】
0005790082.tif 000007
【図７】
0005790082.tif 000008
【図８】
0005790082.tif 000009
【図９】
0005790082.tif 000010
【図１０】
0005790082.tif 000011
【図１１】
0005790082.tif 000012
【図１２】
0005790082.tif 000013
【図１３】
0005790082.tif 000014
【図１４】
0005790082.tif 000015
【図１５】
0005790082.tif 000016
【図１６】
0005790082.tif 000017
【図１７】
0005790082.tif 000018
【図１８】
0005790082.tif 000019