(57)【要約】【課題】読み取った文書を正確に結合できる、より機能的なＯＣＲ入力装置を提供する。【解決手段】スキャナ入力した紙文書をＯＣＲ変換して文字認識した後、各文字の紙文書上でのＸ座標値を各文字に対応させて記憶する。また、文字幅や文字間隔もいっしょに格納する。１ページの紙文書のスキャナ入力が終わると、文字の照合のほか、文字のＸ座標値、文字幅等の照合結果を使って、各文字を格納する表を結合する。これにより、より正確に複数回に分けてスキャナ入力された紙文書を結合することができる。【選択図】      図１
2005004550.tif 000002
【特許請求の範囲】
【請求項１】
文書を画像データとして取り込むスキャナ手段と、
取り込まれた画像データから文字を認識する文字認識手段と、
該認識された文字の文書内の横方向の位置を検出する位置検出手段と、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納手段と、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合手段と、
を備えることを特徴とするＯＣＲ入力装置。
【請求項２】
更に、前記認識された文字の文字幅と文字間隔を検出する文字幅・文字間隔検出手段を備え、
該文字幅と文字間隔から、該認識された文字を見出し語、本文の語に分類し、出力することを特徴とする請求項１に記載のＯＣＲ入力装置。
【請求項３】
結合後の表と結合前の表とを使用して、文書の内、スキャナ手段によって画像データが取得されていない部分を検出し、取得されていない部分が存在する場合には、利用者に取得されていない部分の画像取得をするように促すメッセージを表示する表示手段を更に備えることを特徴とする請求項１に記載のＯＣＲ入力装置。
【請求項４】
文書を画像データとして取り込むスキャナステップと、
取り込まれた画像データから文字を認識する文字認識ステップと、
該認識された文字の文書内の横方向の位置を検出する位置検出手ステップと、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納ステップと、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合ステップと、を備えることを特徴とするＯＣＲ入力装置の文書結合方法を情報処理装置に実現させるプログラム。
【請求項５】
文書を画像データとして取り込むスキャナステップと、
取り込まれた画像データから文字を認識する文字認識ステップと、
該認識された文字の文書内の横方向の位置を検出する位置検出手ステップと、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納ステップと、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合ステップと、を備えることを特徴とするＯＣＲ入力装置の文書結合方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＯＣＲ入力システムにおいて、入力／変換した複数のテキストを結合する方式に関する。
【０００２】
【従来の技術】
従来のＯＣＲ装置では、スキャナ入力面より大きい紙面（新聞／雑誌／書籍等）を入力する場合、複数回に分けてスキャナ入力／ＯＣＲ処理を行い、その後、手作業で編集（テキストデータの結合）していた。マトリクス状の表にＯＣＲ変換した文字データを格納し、表の一部を文字識別パターンとして切り出して、同じパターンを持つ別の表と自動結合しようとした場合、文字フォントや文字サイズ等により文字識別パターンにズレが発生して正確に結合できない可能性があった。
【０００３】
入力元の紙面上には「見出し文」「本文」などが存在していたが、「見出し文」「本文」関係なく、全て同じ様にＯＣＲ変換していた。従来のＯＣＲ装置では、スキャナ入力面より大きい紙面（新聞／雑誌／書籍等）を入力する場合、全ての紙面部分を漏らすことなくスキャナ入力する必要があった。
【０００４】
従来の画像撮影と文字認識及びテキストの結合に関する技術としては、特許文献１及び特許文献２がある。特許文献１では、文字認識の精度を上げるために、文書を分割して読み取り、合成された結果のテキストデータを得る技術が記載されている。特許文献２では、分割して入力された文字を含む画像を先に文字認識することによって、画像のひずみを吸収し、その後に、合成された結果のテキストデータを得る技術が開示されている。
【０００５】
【特許文献１】
特開平７−２２０２５号公報
【特許文献２】
特開平１０−９１７２２号公報
【０００６】
【発明が解決しようとする課題】
入力範囲より大きい紙面をスキャナ入力／ＯＣＲ処理する場合、テキストデータを手作業で編集する手間がかかっていた。特に、携帯可能なＯＣＲ装置の場合は入力面が小さいことから、ＯＣＲ処理を何回も実施することになり、テキストデータを結合するための手間が大きくなっていた。視覚障害者が使用する点字翻訳機に上記ＯＣＲを利用した場合、テキストデータを正確に結合することが非常に困難であった。
【０００７】
見出しがある文章をＯＣＲ処理した場合、本文と区別がつかなくなる可能性があった。視覚障害者が使用する点字翻訳機に上記ＯＣＲを利用した場合、紙面から確認することができないため、本来の意味と異なる内容で理解してしまう可能性があった。
【０００８】
入力範囲より大きい紙面をスキャナ入力／ＯＣＲ処理する場合、紙面の一部に対してスキャナ入力漏れを発生させる可能性があり、スキャナ入力漏れが発生した場合、正確な文章にＯＣＲ変換することができなかった。視覚障害者が使用する点字翻訳機に上記ＯＣＲを利用した場合、確実に全ての紙面をスキャナ入力することが困難であった。
【０００９】
本発明の課題は、読み取った文書を正確に結合できる、より機能的なＯＣＲ入力装置を提供することである。
【００１０】
【課題を解決するための手段】
本発明のＯＣＲ入力装置は、文書を画像データとして取り込むスキャナ手段と、取り込まれた画像データから文字を認識する文字認識手段と、該認識された文字の文書内の横方向の位置を検出する位置検出手段と、該認識された文字と該文字の横方向の位置を対応させて表として格納する格納手段と、複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合手段とを備えることを特徴とする。
【００１１】
本発明によれば、文字の照合だけでなく、文字の文書内での横方向の位置も照合して、別々に取得された文書の文字データを格納する表を結合するようにしたので、別々に取得された文書の結合がより正確に行える。
【００１２】
【発明の実施の形態】
本発明の実施形態のＯＣＲ入力装置では、ＯＣＲ処理したテキストデータをマトリクス状に表に格納する際、文字だけでなくＸ座標値（スキャナ入力面の左端から相対的な位置）を設定する。文字列とＸ座標値の２つで文字識別パターンを構成する。複数回のスキャナ入力により作成された上記表の中から、文字識別パターンが合致する表が検索された場合、２つの表に存在する文字識別パターンのＸ座標値の差分を算出する。差分を片方の表全体のＸ座標値に加算することで複数の表のＸ座標値を合わせて、表結合を行う。
【００１３】
また、本発明の実施形態においては、ＯＣＲにて入力した文字のサイズから「大見出し」「見出し」「本文」に分類する。例えば、一番多く存在したフォントサイズを「本文」、一番大きな文字フォントサイズを「大見出し」、中間サイズを「小見出し」に分類する。結合表にテキストを格納する際、文字とＸ座標値に加えて、「大見出し」「見出し」「本文」を示す属性情報を格納する。
【００１４】
更に、本発明の実施形態においては、上記にて作成されたＸ座標値／文字サイズが格納されたマトリクス表から、スキャナ未入力領域を判定する。紙面を細分化したマトリクス状の表に対して、１行毎／１文字毎にＸ座標値と文字サイズを抽出して文字が表示されていた領域をチェックしていく。チェックされなかった部分は、スキャナ未入力領域として、利用者に対してエラーメッセージを出力する。
【００１５】
図１は、本発明の実施形態のＯＣＲ入力装置の原理構成を示す図である。
本発明の実施形態のＯＣＲ入力装置１０は、全ての機能が搭載され、かつ、小型化されたもので、例えば、視覚障害者向けの携帯可能な小型点字翻訳機などに搭載されたものである。しかし、本発明の原理を適用する場合には、ＯＣＲ入力装置は、必ずしもこのようなものではなくても良い。例えば、データを格納するデータベースを、撮像装置に接続されたコンピュータなどに設けてもよいし、以下でＯＣＲ入力装置１０が行うとする各処理を接続されたコンピュータで行うようにしてもよい。
【００１６】
まず、利用者１１は、紙文書などをスキャナ入力手段１２を用いて、画像データとして取り込む（１）。取り込まれた画像データは、ＯＣＲ変換手段１３において、文字認識される（２）。また、取り込まれた画像データは、Ｘ座標算出手段１４に送られ、各文字の横方向の位置座標（Ｘ座標）が算出される（３）。文字認識された結果と、各文字のＸ座標値は、スキャナ入力した情報（４）として、仮データベース１７に格納される。また、仮データベース１７のデータを基に、有効領域格納手段１６が、文字などが格納されている有効領域についての情報を得て、仮データベース１７に格納する（５）。
【００１７】
利用者１１は、全ての紙文書をスキャナ入力し終わると、ページ終了指示手段１８を使って、入力の終了を指示する（６）。すると、次に、表結合手段１９は、仮データベース１７からデータを取り出し、表形式にまとめられた、文字認識結果と、Ｘ座標値を用いて、複数回に分けてスキャナ入力された文書の結合を行う（７）。文書結合の結果は、本データベース２２に格納される。未入力領域判定手段２０は、本データベース２２から文書結合されたデータを取り出し、スキャナ入力し損ねた未入力領域を判定する（８）。未入力領域がある場合には、利用者１１にメッセージを示し、未入力領域の入力を促す。また、見出し判定手段２１は、本データベース２２から得られたデータを基に、どの文字が見出しであるかを判定する（９）。未入力領域の判定結果と、見出し判定の結果は、本データベース２２に格納される。
【００１８】
図２は、本発明の実施形態の全体の処理の流れを示すフローチャートである。
ステップＳ１０において、利用者が紙文書をスキャナ入力する。ステップＳ１１において、スキャナされたイメージデータから、文字認識（キャラクタ認識）をする。すなわち、イメージから文字部分を見つけ出し、文字部分から各行を１行ずつ抽出する。ステップＳ１２において、Ｘ座標値を抽出する。すなわち、ステップＳ１１の▲２▼で抽出された行から１文字ずつ抽出し、この際、各文字のＸ座標値を算出する。ステップＳ１３において、ＯＣＲ変換したキャラクタ情報を仮データベースに格納する。ステップＳ１４において、スキャナ入力した情報で文字が書かれていない領域の情報を仮データベースに格納する。
【００１９】
ステップＳ１５において、利用者からページ終了指示が行われたか否かを判断する。ステップＳ１５の判断がＮＯの場合には、ステップＳ１０に戻って、更に、スキャナ入力する。ステップＳ１５の判断がＹｅｓの場合には、ステップＳ１６において、仮データベースのデータを結合し、作成されたページを本データベースに格納する。ステップＳ１７において、未入力領域がないか判定する。ステップＳ１７の判断がＮＯの場合には、ステップＳ１０に戻って、未入力領域の入力を利用者に促す。ステップＳ１７の判断が、Ｙｅｓの場合には、ステップＳ１８において、見出し判定処理を行い、作成されたページを本データベースに格納する。
【００２０】
図３〜図９は、各データベースのデータレイアウトの例である。
図３は、仮データベースの文字テーブルの例である。このテーブルには、スキャナ入力番号、行番号、連番、フラグ、文字認識された各文字１〜が登録される。スキャナ入力番号は、何回目のスキャナ入力データ得られたデータか否かを示す。行番号は、各行を抽出した際に、上から順に行につけられた番号である。連番は、１行の文字データなどがテーブル上において、複数行に渡っている場合に、これを示すために使用する番号である。フラグは、各行を処理した場合に、処理が終了した行にその旨を示すためのしるしをつけるものである。文字１〜は、スキャナ入力された画像を文字認識した結果が格納される。
【００２１】
図４は、仮データベースのＸ座標値テーブルの例を示す図である。ここでは、スキャナ入力番号、行番号、連番、最小Ｘ座標値、最大Ｘ座標値、文字１〜のＸ座標値が格納される。スキャナ入力番号、行番号、連番は、前述の通りである。最小Ｘ座標値と最大Ｘ座標値は、取得された座標値の内の最大のＸ座標値と最小のＸ座標値を格納するものである。これは、有効領域を判断するために使用される。各文字に対応したＸ座標値は、各行から、各文字を抽出する際に算出されるものである。
【００２２】
図５は、仮データベースの文字幅テーブルの例を示す図である。スキャナ入力番号、行番号、連番は、前述した通りである。このテーブルでは、各文字に、文字の幅と文字間隔の大きさが登録される。
【００２３】
図６は、本データベースの文字テーブルの例を示す図である。ページ番号は、文書のページ番号である。行番号は、結合された後のテキストの行番号である。連番は、前述の通りである。文字１〜には、文字認識され、結合された文字が格納される。
【００２４】
図７は、本データベースのＸ座標値テーブルの例を示す図である。このテーブルは、仮データベースのものとほぼ同じであるが、テキストデータが合成された後のデータである点が異なる。
【００２５】
図８は、本データベースの文字幅テーブルの例を示す図である。このテーブルも仮データベースのものと同様であるが、テキストデータが合成された後のデータである点が異なる。
【００２６】
図９は、本データベースの未入力判定テーブルの例である。ページ番号、行番号、連番は前述の通りである。テーブルの右側には、文字単位ではなく、所定の長さ単位で、文字が存在するか否かを判断した結果が格納される。この結果、ある部分において、×が続く場合には、その部分は未入力部分であると判断する。
【００２７】
図１０〜図１８は、本発明の実施形態に沿った処理の流れをより詳細に説明する図である。
図１０において、利用者が紙文書をスキャナ入力する。図１０では、太線の部分がスキャナの入力面の大きさであるとしている。１回スキャナ入力するごとに、スキャナ入力数に１を加えて、スキャナ入力数を更新する。これは、スキャナ入力手段が行うものである。
【００２８】
図１１及び図１２は、ＯＣＲ変換手段の動作であり、図１１では、入力元の文書から図や表の部分を除いて、文字部分のみを見つけ出す。そして、図１２において、図１１で見つけ出した文字部分から、１行ずつ行を抽出する。
【００２９】
図１３及び図１４は、Ｘ座標値算出手段の動作であり、まず、図１３のように、抽出された行ごとに、図１３の点線のような線を先頭から移動させ、文字との交点をカウントする。交点が０の地点は文字と文字の間の部分になる。このようにして、文字を抽出する。次に、図１４のように、交点探査のために移動させた線のＸ座標値を取得する。
【００３０】
図１５は、仮データベース格納手段に格納される、各テーブルを示したものである。Ｘ座標値算出手段で抽出した文字を仮データベースの文字テーブルに、文字開始位置のＸ座標値を仮データベースのＸ座標値テーブルに格納する。また、文字開始Ｘ座標と文字終了Ｘ座標から文字幅と文字間隔を算出し、仮データベースの文字幅テーブルに格納する。
【００３１】
図１６及び図１７は、有効領域格納手段における処理を説明する図である。スキャナ入力面における文字情報部分以外の領域（図などが記述されていた領域）を有効領域とする。後で仮データベースのスキャナ入力毎の情報を結合する際、未入力領域を判断するために以下の処理を行う。
【００３２】
まず、仮データベースのＸ座標テーブルの全レコードから最小Ｘ座標値と最大Ｘ座標値を検索する。検索された最大Ｘ座放置を検出した行・文字を基に文字幅を加算する。すなわち、図１６の場合、７６＋４＝８０という計算をする。図１７では、仮データベースのＸ座標値テーブルの最小Ｘ座標値と最大Ｘ座標値を各レコードの最小Ｘ座標値、最大Ｘ座標値に格納する。
【００３３】
図１８は、ページ終了指示手段を説明する図である。利用者からページ終了指示が行われた場合は、表結合手段に移行する。ページ終了指示が行われない場合は、スキャナ終了手段にインターフェースおくし、２回目以降のスキャナ入力を行う。仮データベース格納手段でページを格納する際、文字テーブルとＸ座標値テーブルのスキャナ入力番号には、２以降の数値を設定する。
【００３４】
図１９〜図２１は、表結合手段の処理を説明するフローチャートである。
まず、ステップＳ２０において、仮データベースのスキャナ入力番号用変数Ｍを１に設定し、本データベースの行カウント用変数Ｎを１に設定し、未入力領域判定用変数ＮＧをＮＧに設定し、文書のページ数用の変数ＰＡＧＥを本データベースの最終レコードのページ番号＋１に設定する。
【００３５】
ステップＳ２１において、仮データベースの各テーブルのＭ＝１の全レコードを本データベースにコピーする。コピーした仮データベースの文字テーブルのフラグをＯＮにする。
【００３６】
ステップＳ２２において、本データベースの文字テーブルのページ番号＝ＰＡＧＥ、行番号＝Ｎの末尾より一定の長さの文字列を抽出し、この文字列を元に以降検索を行う。例えば、「発明の」を抽出したとする。
【００３７】
ステップＳ２３において、仮データベースの文字テーブルのフラグ≠ＯＮのレコードを先頭から読む。
ステップＳ２４において、ステップＳ２２の文字列が、ステップＳ２３のレコードから検索できたかを判断する。すなわち、文字列が同じ（「発明の」）であり、文字幅が同じである（「１４」＋「１４」＋「１４」）かを判断する。
【００３８】
ステップＳ２５において、ステップＳ２２の文字列のＸ座標と、検索された文字列のＸ座標の差分を変数Ｓに格納する。検索された文字列と同一スキャナ入力番号の全レコードのＸ座標に変数Ｓを加算する。例えば、「産登記」で検索した場合（Ｍ＝１、Ｎ＝３）、検索元の文字列のＸ座標値（４６、５８、７０）、検索された文字列のＸ座標値（２、１４、２６）となった場合、変数Ｓ＝４２−２＝４４（５８−１４でも７０−２６でも同じ結果）となる。
【００３９】
ステップＳ２６において、ステップＳ２２の文字列の行番号と、検索された文字列の行番号の差分を変数Ｔに格納する。検索された文字列と同一スキャナ入力番号の全レコードの行番号に変数Ｔを加算する。例えば、「産登記」で検索した場合（Ｍ＝１、Ｎ＝１）、検索元の文字列の行番号３、検索された文字列の行番号２となり、変数Ｔ＝３−２＝１となる。
【００４０】
ステップＳ２７において、検索元のテーブルと検索されたテーブルにおいて、同じ行番号かつ同じＸ座標値の文字列が同じか否かを判断する。ステップＳ２７の判断がＹｅｓの場合には、ステップＳ４０に進む。ステップＳ２７の判断がＮＯの場合には、ステップＳ２８に進む。
【００４１】
ステップＳ２８においては、検索された文字列を含むテーブルの全てのＸ座標値から、差分変数Ｓを減算する。また、同様に全ての行番号から、差分変数Ｔを減算する。すなわち、ステップＳ２５、Ｓ２６で実施した処理のキャンセルを行う。
【００４２】
ステップＳ２９においては、仮データベースの文字テーブルのフラグ≠ＯＮの次のレコードを読む。
ステップＳ３０においては、Ｎ＞仮データベースの文字テーブルの「スキャナ入力番号＝Ｍ」が最終行番号か否かを判断する。ステップＳ３０の判断がＮＯの場合には、ステップＳ２４に戻る。ステップＳ３０における判断がＹｅｓの場合には、ステップＳ３１において、本データベースの文字テーブルのページ番号＝ＰＡＧＥ、行番号＝Ｎの先頭より一定の長さの文字列を抽出し、この文字列を元に以降の検索を行う。例えば、「１．発」を抽出したとする。
【００４３】
ステップＳ３２では、仮データベースの文字テーブルのフラグ≠ＯＮのレコードを先頭から読み込む。
ステップＳ３３では、ステップＳ３１の文字列が、ステップＳ３２のレコードから検索できたか否かを判断する。すなわち、文字列が同じ（「１．発」）で、文字幅が同じ（「１４」＋「１４」＋「１４」）であるかを判断する。ステップＳ３３の判断が、ＮＯの場合には、ステップＳ３８に進み、ステップＳ３３の判断がＹｅｓの場合には、ステップＳ３４に進む。
【００４４】
ステップＳ３４においては、ステップＳ３１の文字列のＸ座標と、検索された文字列のＸ座標の差分を変数Ｓに格納する。検索された文字列と同一スキャナ入力番号の全レコードのＸ座標に変数Ｓを加算する。例えば、「産登記」で検索した場合（Ｍ＝１、Ｎ＝３）の場合、検索元の文字列の行番号が３、検索された文字列の行番号が２であり、変数Ｔ＝３−２＝１となる。
【００４５】
ステップＳ３６においては、検索元のテーブルと検索されたテーブルにおいて、同じ行番号かつ同じＸ座標値の文字列が同じか否かを判断する。ステップＳ３６の判断がＹｅｓの場合には、ステップＳ４０に進む。ステップＳ３６の判断がＮＯの場合には、ステップＳ３７において、検索された文字列を含むテーブルの全てのＸ座標値から、差分変数Ｓを減算する。また、同様に全ての行番号から、差分変数Ｔを減算する。すなわち、ステップＳ３４、Ｓ３５で実施した処理のキャンセルを行う。
【００４６】
ステップＳ３８において、仮データベースの文字テーブルのフラグ≠ＯＮの次のレコードを読み込む。
ステップＳ３９において、Ｎ＞仮データベースの文字テーブルのスキャナ入力番号＝Ｍが最終行番号であるか否かを判断する。ステップＳ３９の判断がＮＯの場合には、ステップＳ３３に戻る。ステップＳ３９の判断がＹｅｓの場合には、ステップＳ４６に進む。
【００４７】
ステップＳ４０においては、ＮＧフラグにＯＫを設定する。すなわち、検索元のテーブルは、他のテーブルと結合できたことを示す。
ステップＳ４１においては、ステップＳ２５、Ｓ２６、または、ステップＳ３４、Ｓ３５、で設定したＸ座標値と行番号を元に、検索された本データベースの該当レコードと仮データベースの該当レコードを合成した上で、本データベースを上書きする。
【００４８】
ステップＳ４２においては、仮データベースのテーブルの行番号に変数Ｔを加算し、仮データベースの最小Ｘ座標値、最大Ｘ座標値に変数Ｓを加算する。なお、これは、未入力領域判定処理において、再度仮データベースを使用するときのための処理である。
【００４９】
ステップＳ４３においては、仮データベースの最小Ｘ座標値、最大Ｘ座標値と、本データベースに格納されている最小Ｘ座標値、最大Ｘ座標値と比較する。両方の最小Ｘ座標値で小さい方、及び、両方の最大Ｘ座標値で大きい方を使って、本データベースの最小Ｘ座標値と最大Ｘ座標値を更新する。
【００５０】
ステップＳ４４において、Ｘ座標値、行番号に０より小さい数値になるレコードがある場合は、全レコードが０以上の数値になるように、全レコード中の最小値＋１の値を全レコードに加算する。また、対応する仮データベースのＸ座標値、行番号もあわせて更新する。
【００５１】
ステップＳ４５において、ステップＳ４１でコピーした仮データベースの文字テーブルのフラグにＯＮを設定する。そして、ステップＳ４７に進む。
ステップＳ３９の判断が、Ｙｅｓの場合には、ステップＳ４６に進み、ステップＳ４６において、ＮＧフラグ＝ＮＧか否かを判断する。ＮＧフラグは、検索元ページが結合できたかを示す。結合できなかった場合は、スキャナ入力回数が少ないと判断し、表結合手段を終了する。ステップＳ４６の判断がＮＯの場合には、ステップＳ４７に進む。ステップＳ４６における判断がＹｅｓの場合には、ステップＳ４９に進む。
【００５２】
ステップＳ４７では、Ｍに１を加える。また、Ｎに１をセットする。そして、ステップＳ４８において、Ｍ＞Ｌ（スキャナ入力数）か否かを判断する。ステップＳ４８の判断がＮＯの場合には、ステップＳ２２に戻る。ステップＳ４８の判断がＹｅｓの場合には、ステップＳ４９に進む。
【００５３】
ステップＳ４９においては、ＮＧフラグにＮＧが設定されている場合は、スキャナ入力をもっと多く実施する必要があるという内容のメッセージを出力して処理を終了する。
【００５４】
図２２は、表結合のイメージを示す図である。
同図においては、各テキストに対応する各表に文字テーブル、Ｘ座標値テーブル、文字幅テーブルを掲載し、二つの異なるスキャナ入力によって得られたテキストがどのように、１つのテキストに結合されるかを示している。
【００５５】
まず、同図左上と右上を結合する場合、両方の文字テーブルから一致する文字列「産登記」を抽出する。そして、これらのＸ座標値の差分を算出する。差分は４４となる。すなわち、左上のＸ座標のほうが右上のＸ座標より４４だけ大きいということがわかる。そこで、右上の表の全てのＸ座標値に４４を加える。このとき、最大Ｘ座標値や最小Ｘ座標値にも４４を加える。すると、右上の表と左上の表のＸ座標値が一致するようになり、文字の一致、文字幅の一致のほかに、文字のＸ座標の一致が得られるようになる。したがって、文字、文字幅、Ｘ座標の３つの値の一致を見て、表を結合する。
【００５６】
図２３は、未入力領域判定手段の動作を示すフローチャートである。
ステップＳ５５において、本データベースのＸ座標値テーブルより、ページ全体での最小Ｘ座標値と最大Ｘ座標値を抽出する。
【００５７】
ステップＳ５６において、未入力判定テーブルの１レコードのＸ座標範囲より、ステップＳ５５の最大Ｘ座標値が大きいか否かを判断する。ステップＳ５６における判断がＹｅｓの場合には、ステップＳ５８に進み、ステップＳ５５の最大Ｘ座標値を未入力判定テーブルレコードのＸ座標範囲で割る。小数点以下を切り上げて整数化する。この値を最大連番とし、ステップＳ５９に進む。ステップＳ５６における判断がＮＯの場合には、ステップＳ５７において、最大連番を１とする。そして、未入力判定テーブルの連番は常に１とし、ステップＳ５９に進む。
【００５８】
ステップＳ５９においては、ページ入力番号、行番号、連番（１〜最大連番）をキーにして、本データベース未入力判定テーブルのレコードを作成する。
ステップＳ６０においては、本データベースの未入力判定テーブルの全レコードに対して、対象領域外を意味するフラグを設定する。ここで、未入力領域の判断基準としては、
Ａ：本データベースのＸ座標値テーブルのページ全体での最小Ｘ座標値と最大Ｘ座標値で形成される閉領域部分とする。
Ｂ：仮データベースのＸ座標値テーブルの各行の最小Ｘ座標値、最大Ｘ座標値に含まれる部分には、未入力領域は含まれない。
【００５９】
ここで注意すべきは、本データベースのＸ座標値テーブルの各行における最小Ｘ座標値、最大Ｘ座標値で示す領域は未入力領域を含んでいるため、仮データベースの情報を使用する必要があるのである。
【００６０】
ステップＳ６１において、仮データベースのＸ座標値テーブルの行ごとに設定された最小Ｘ座標値、最大Ｘ座標値を元に、ステップＳ６０と同様に入力済みを意味するフラグを未入力テーブルに設定する。
【００６１】
ステップＳ６２においては、レコード中で連続している未入力領域について、該当文字幅より小さい未入力領域があるか否かを判断する。ステップＳ６２の判断がＹｅｓの場合には、ステップＳ６３に進み、該当文字幅より小さい未入力領域部分に、対象外であることを意味する「−」を設定して、ステップＳ６４に進む。ステップＳ６２の判断がＮＯの場合には、そのままステップＳ６４に進む。
【００６２】
ステップＳ６４においては、未入力領域が存在するか否かを判断する。
ステップＳ６４の判断がＹｅｓの場合には、ステップＳ６５において、利用者に警告メッセージを出力し、処理を終了する。ステップＳ６４の判断がＮＯの場合には、そのまま処理を終了する。
【００６３】
図２４〜図３２は、未入力領域判定処理を説明する図である。
図２４は、本データベースのＸ座標値テーブルと仮データベースのＸ座標値テーブルの例を示す図である。以下の説明は、この例に沿って説明する。
【００６４】
まず、未入力領域判定処理においては、本データベースのＸ座標値テーブルより、ページ全体での最小Ｘ座標値と最大Ｘ座標値を抽出する。したがって、最小Ｘ座標値は、１、最大Ｘ座標値は２０２となる。
【００６５】
次に、上記Ｘ座標値の範囲を元に、本データベースの未入力判定テーブルのページ入力番号、行番号、連番を図２５のように設定する。例えば、本データベースの未入力テーブルの１レコードは、１ｍｍ〜１２０ｍｍまでの１２０個の項目が設定されているとする。Ｘ座標範囲は１〜２１０ｍｍであるため、連番を使用して１２０ｍｍ以上のＸ座標に対応する。
【００６６】
次に、図２６のように、本データベースの未入力判定テーブルにおいて、２０２ｍｍ以上の範囲について、対象領域外を意味するフラグを設定する。例えば、「−」を設定する。
【００６７】
次に、仮データベースのＸ座標値テーブルの行ごとに設定された最小Ｘ座標値、最大Ｘ座標値を元に、入力済みを意味するフラグを未入力テーブルに設定する。例えば、図２７のように、スキャナ入力番号１の１行目は１〜８０ｍｍの範囲のため、該当する行に１〜８０ｍｍの範囲に「○」を設定する。仮データベースのＸ座標値テーブルの全レコード分上記処理を繰り返す。
【００６８】
上記処理を終えた状態を図２８に示す。
次に、図２９のように、各行の連続領域において、行の最終文字の文字幅より小さいものについては、その連続領域に「−」を設定する。この処理の結果が図３０の上の表である。ここで、網掛け部分が未入力領域である。未入力領域判定テーブルが図３０の上のようになっているとすると、スキャナ入力は以下のように行われていたことがわかる。図３０右下の斜線部分が未入力領域である。
【００６９】
図３１、及び、図３２において、利用者への警告イメージを示す。図３１は、視覚障害者に対する携帯可能な小型点字翻訳機のイメージであり、表面には、大見出し、小見出し、本文の点字がそれぞれ異なる領域に表示される。裏面は、スキャナ入力面である。
【００７０】
利用者への警告は、音声による通知と点字表示部分での通知が考えられる。音声による通知では、小型点字翻訳機から音声メッセージを出力し、利用者に通知する。未入力部分の位置については、携帯型小型翻訳機のサイズを元に、指示する。すなわち、仮データベースの文字テーブル等のテーブルの行数とスキャナ入力面の横幅から、携帯型小型翻訳機のサイズを決定する。例えば、縦７行、横８０ｍｍなどである。次に、本データベースの文字テーブルやＸ座標値テーブルから、ページの横幅／行数を抽出する。例えば、縦１３行、横２０２ｍｍなどである。次に、未入力領域部分を上記を元に利用者にわかりやすい表現に変換する。例えば、「ただいま入力したページに入力していない部分があると思われます。この状態の場合、正常に翻訳できない可能性があります。未入力部分は、ページ左上から本機を横幅１個分右、縦幅０個分下の部分です。」などと警告を発する。
【００７１】
点字表示部分での通知では、上記と同様にして、携帯型小型翻訳機のサイズを決定し、表面に、図３２に示す点のように、表示する。
図３３〜図３６は、見出し判定処理の説明をする図である。
【００７２】
図３３においては、処理のフローを示している。
ステップＳ７０において、本データベースの文字幅テーブルを読み込む。文字幅を元に、各文字を分類し、文字幅ごとに出現数をカウントする。ステップＳ７１においては、本データベースの文字幅テーブルにおいて、次に読み込むレコードは存在するか否かを判断する。ステップＳ７１の判断がＮＯの場合には、ステップＳ７２に進み、ステップＳ７１の判断がＹｅｓの場合には、ステップＳ７０に戻る。
【００７３】
ステップＳ７２においては、統計結果より、以下の判断を行う。
（１）一番多く存在する文字幅の文字を「本文」とする。
（２）（１）より小さな文字幅の文字も「本文」とする。
（３）一番大きな文字幅を「大見出し」とする。
（４）（１）より大きくて（３）より小さい文字幅の文字を「見出し」とする。
【００７４】
ステップＳ７３においては、本データベースの文字幅テーブルを読み込む。１行の中で一番大きな文字にあわせて「本文」「見出し」「大見出し」かを判定する。
【００７５】
ステップＳ７４において、本データベースの文字幅テーブルの「文字幅」に「本文」か「見出し」かを判定するフラグを設定し、「見出し」の場合には、「文字間」に「大見出し」「小見出し」を判定するフラグを設定する。
【００７６】
ステップＳ７５において、本データベースの文字幅テーブルにおいて、次に読み込むレコードは存在するか否かを判断する。ステップＳ７５の判断がＹｅｓの場合には、ステップＳ７３に戻る。ステップＳ７５の判断がＮＯの場合には、処理を終了する。
【００７７】
図３４は、本データベースの文字幅テーブルのイメージである。本データベースの文字幅テーブルの全レコードを読み込み、文字サイズの統計を取得する。本データベースの文字幅テーブルが図３４のように設定されていたとする。
【００７８】
上記ステップＳ７２の判断をして、再度、本データベースの文字幅テーブルの「文字幅」に「本文」か「見出し」かを判定するフラグを設定し、「見出し」の場合には、「文字間」に「大見出し」「小見出し」を判定するフラグを設定する。フラグを設定した様子を示す図が図３５である。
【００７９】
そして、図３６に示すように、大見出し、小見出し、本文を異なる領域に表示する。これにより、視覚障害者であっても、大見出しや小見出し、本分を明確に分けて、正確に文章を理解できるような点字表示を行うことのできる携帯型点字翻訳機を提供することができる。
（付記１）文書を画像データとして取り込むスキャナ手段と、
取り込まれた画像データから文字を認識する文字認識手段と、
該認識された文字の文書内の横方向の位置を検出する位置検出手段と、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納手段と、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合手段と、
を備えることを特徴とするＯＣＲ入力装置。
【００８０】
（付記２）更に、前記認識された文字の文字幅を検出する文字幅検出手段を備え、
前記表は、該認識された文字と、該文字の横方向の位置と、文字幅を対応させて、表に格納し、文字同士、及び、横方向位置の照合のほかに、文字幅も照合して、表を結合することを特徴とする付記１に記載のＯＣＲ入力装置。
【００８１】
（付記３）更に、前記認識された文字の文字幅と文字間隔を検出する文字幅・文字間隔検出手段を備え、
該文字幅と文字間隔から、該認識された文字を見出し語、本文の語に分類し、出力することを特徴とする付記１に記載のＯＣＲ入力装置。
【００８２】
（付記４）結合後の表と結合前の表とを使用して、文書の内、スキャナ手段によって画像データが取得されていない部分を検出し、取得されていない部分が存在する場合には、利用者に取得されていない部分の画像取得をするように促すメッセージを表示する表示手段を更に備えることを特徴とする付記１に記載のＯＣＲ入力装置。
【００８３】
（付記５）文書を画像データとして取り込むスキャナステップと、
取り込まれた画像データから文字を認識する文字認識ステップと、
該認識された文字の文書内の横方向の位置を検出する位置検出手ステップと、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納ステップと、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合ステップと、を備えることを特徴とするＯＣＲ入力装置の文書結合方法を情報処理装置に実現させるプログラム。
【００８４】
（付記６）更に、前記認識された文字の文字幅を検出する文字幅検出ステップを備え、
前記表は、該認識された文字と、該文字の横方向の位置と、文字幅を対応させて、表に格納し、文字同士、及び、横方向位置の照合のほかに、文字幅も照合して、表を結合することを特徴とする付記５に記載のプログラム。
【００８５】
（付記７）更に、前記認識された文字の文字幅と文字間隔を検出する文字幅・文字間隔検出ステップを備え、
該文字幅と文字間隔から、該認識された文字を見出し語、本文の語に分類し、出力することを特徴とする付記５に記載のプログラム。
【００８６】
（付記８）結合後の表と結合前の表とを使用して、文書の内、スキャナステップによって画像データが取得されていない部分を検出し、取得されていない部分が存在する場合には、利用者に取得されていない部分の画像取得をするように促すメッセージを表示する表示手段を更に備えることを特徴とする付記５に記載のプログラム。
【００８７】
（付記９）文書を画像データとして取り込むスキャナステップと、
取り込まれた画像データから文字を認識する文字認識ステップと、
該認識された文字の文書内の横方向の位置を検出する位置検出手ステップと、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納ステップと、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合ステップと、を備えることを特徴とするＯＣＲ入力装置の文書結合方法を情報処理装置に実現させるプログラムを記録した、情報処理装置読み取り可能な記録媒体。
【００８８】
（付記１０）文書を画像データとして取り込むスキャナステップと、
取り込まれた画像データから文字を認識する文字認識ステップと、
該認識された文字の文書内の横方向の位置を検出する位置検出手ステップと、
該認識された文字と該文字の横方向の位置を対応させて表として格納する格納ステップと、
複数回に分けて取り込まれた該文書の画像データに対応する各表を、文字同士の照合に加え、横方向位置の照合を行うことにより、結合する結合ステップと、を備えることを特徴とするＯＣＲ入力装置の文書結合方法。
【００８９】
【発明の効果】
入力元の文字フォントや文字サイズが異なっていても、複数回のスキャナ入力／ＯＣＲ変換に作成された文字情報を自動的に、かつ、正確に結合することができるようになる。視覚障害者が使用する携帯型点字翻訳機に採用した場合、他人から手助けしてもらうことなく、入力したテキストデータを即時的に点字翻訳できるようになる。
【００９０】
入力元文章の「大見出し」「小見出し」「本文」を自動的に、かつ正確に判別することができるようになる。視覚障害者が使用する携帯型点字翻訳機に採用した場合、他人から手助けしてもらうことなく正確な文章に点字翻訳でき、本来の内容で理解できるようになる。
【００９１】
紙面上のスキャナ未入力部分を自動的に判定することができるようになり、確実にＯＣＲ変換できるようになる。視覚障害者が使用する携帯型点字翻訳機に採用した場合、他人から手助けしてもらうことなく正確な文章に点字翻訳でき、本来の内容で理解できるようになる。
【図面の簡単な説明】
【図１】本発明の実施形態のＯＣＲ入力装置の原理構成を示す図である。
【図２】本発明の実施形態の全体の処理の流れを示すフローチャートである。
【図３】各データベースのデータレイアウトの例（その１）である。
【図４】各データベースのデータレイアウトの例（その２）である。
【図５】各データベースのデータレイアウトの例（その３）である。
【図６】各データベースのデータレイアウトの例（その４）である。
【図７】各データベースのデータレイアウトの例（その５）である。
【図８】各データベースのデータレイアウトの例（その６）である。
【図９】各データベースのデータレイアウトの例（その７）である。
【図１０】本発明の実施形態に沿った処理の流れをより詳細に説明する図である。
【図１１】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その１）である。
【図１２】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その２）である。
【図１３】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その３）である。
【図１４】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その４）である。
【図１５】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その５）である。
【図１６】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その６）である。
【図１７】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その７）である。
【図１８】本発明の実施形態に沿った処理の流れをより詳細に説明する図（その８）である。
【図１９】表結合手段の処理を説明するフローチャート（その１）である。
【図２０】表結合手段の処理を説明するフローチャート（その２）である。
【図２１】表結合手段の処理を説明するフローチャート（その３）である。
【図２２】表結合のイメージを示す図である。
【図２３】未入力領域判定手段の動作を示すフローチャートである。
【図２４】未入力領域判定処理を説明する図（その１）である。
【図２５】未入力領域判定処理を説明する図（その２）である。
【図２６】未入力領域判定処理を説明する図（その３）である。
【図２７】未入力領域判定処理を説明する図（その４）である。
【図２８】未入力領域判定処理を説明する図（その５）である。
【図２９】未入力領域判定処理を説明する図（その６）である。
【図３０】未入力領域判定処理を説明する図（その７）である。
【図３１】未入力領域判定処理を説明する図（その８）である。
【図３２】未入力領域判定処理を説明する図（その９）である。
【図３３】見出し判定処理の説明をする図（その１）である。
【図３４】見出し判定処理の説明をする図（その２）である。
【図３５】見出し判定処理の説明をする図（その３）である。
【図３６】見出し判定処理の説明をする図（その４）である。
【符号の説明】
１０      ＯＣＲ入力装置
１１      利用者
１２      スキャナ入力手段
１３      ＯＣＲ変換手段
１４      Ｘ座標算出手段
１６      有効領域格納手段
１７      仮データベース
１８      ページ終了指示手段
１９      表結合手段
２０      未入力領域判定手段
２１      見出し判定手段
２２      本データベース
【図１】
2005004550.tif 000003
【図２】
2005004550.tif 000004
【図３】
2005004550.tif 000005
【図４】
2005004550.tif 000006
【図５】
2005004550.tif 000007
【図６】
2005004550.tif 000008
【図７】
2005004550.tif 000009
【図８】
2005004550.tif 000010
【図９】
2005004550.tif 000011
【図１０】
2005004550.tif 000012
【図１１】
2005004550.tif 000013
【図１２】
2005004550.tif 000014
【図１３】
2005004550.tif 000015
【図１４】
2005004550.tif 000016
【図１５】
2005004550.tif 000017
【図１６】
2005004550.tif 000018
【図１７】
2005004550.tif 000019
【図１８】
2005004550.tif 000020
【図１９】
2005004550.tif 000021
【図２０】
2005004550.tif 000022
【図２１】
2005004550.tif 000023
【図２２】
2005004550.tif 000024
【図２３】
2005004550.tif 000025
【図２４】
2005004550.tif 000026
【図２５】
2005004550.tif 000027
【図２６】
2005004550.tif 000028
【図２７】
2005004550.tif 000029
【図２８】
2005004550.tif 000030
【図２９】
2005004550.tif 000031
【図３０】
2005004550.tif 000032
【図３１】
2005004550.tif 000033
【図３２】
2005004550.tif 000034
【図３３】
2005004550.tif 000035
【図３４】
2005004550.tif 000036
【図３５】
2005004550.tif 000037
【図３６】
2005004550.tif 000038