(57)【特許請求の範囲】
【請求項１】
表の画像に含まれる罫線を抽出する罫線抽出手段と、
前記表の画像に含まれる文字列を囲む矩形領域を、項の矩形領域として抽出する項領域抽出手段と、
前記罫線抽出手段で抽出された罫線と、前記項領域抽出手段で抽出された項の矩形領域間の空白部とに基づいて、当該表の列及び行の境界位置を決定する解析手段と、
前記表の画像に重ねて、前記解析手段で得られた項の矩形領域を示す枠と、前記解析手段で決定した前記表の列及び行の境界位置を表す境界線とを、同時に表示する表構造表示手段と、
前記表構造表示手段によって表示された前記項の矩形領域を示す枠に対する、ユーザからの修正指示を受け付ける指示手段とを備える表認識装置であって、
前記指示手段で受け付けた修正指示に基づいて前記項の矩形領域を示す枠が修正されるたびに、前記解析手段は、当該修正された項の矩形領域の空白部と前記罫線抽出手段で抽出された罫線とに基づいて、当該表の列及び行の境界位置を再度決定し、更に、前記表構造表示手段は、前記表の画像に重ねて、当該修正された項の矩形領域を示す枠と、前記解析手段で再度決定された当該表の列及び行の境界位置を表す境界線とを、同時に再度表示するものであり、
前記表認識装置は、前記修正指示に基づいて修正した後の前記項の矩形領域内に含まれる文字について文字認識を行い、当該文字認識結果と前記解析手段で再度決定された境界位置とに基づいて表形式データを生成する生成手段を更に備えることを特徴とする表認識装置。
【請求項２】
前記項領域抽出手段は、前記表の画像に含まれる黒画素の外接矩形を文字又は文字の一部として検出し、所定値以下の距離にある前記外接矩形同士を統合していくことにより、前記項の矩形領域を抽出することを特徴とする請求項１に記載の表認識装置。
【請求項３】
前記指示手段で受け付ける修正指示は、前記項の矩形領域を示す枠に対する、統合指示と分離指示と範囲の修正指示とのうちの少なくともいずれかであることを特徴とする請求項１または２に記載の表認識装置。
【請求項４】
前記範囲の修正指示は、前記項の矩形領域を示す枠を、当該表示されている境界線を越えて広げることにより行われることを特徴とする請求項３に記載の表認識装置。
【請求項５】
情報処理装置による表認識方法であって、
罫線抽出手段が、表の画像に含まれる罫線を抽出する罫線抽出工程と、
項領域抽出手段が、前記表の画像に含まれる文字列を囲む矩形領域を、項の矩形領域として抽出する項領域抽出工程と、
解析手段が、前記罫線抽出工程で抽出された罫線と、前記項領域抽出工程で抽出された項の矩形領域間の空白部とに基づいて、当該表の列及び行の境界位置を決定する解析工程と、
表構造表示手段が、前記表の画像に重ねて、前記解析手段で得られた項の矩形領域を示す枠と、前記解析手段で決定した前記表の列及び行の境界位置を表す境界線とを、同時に表示する表構造表示工程と、
指示手段が、前記表構造表示工程によって表示された前記項の矩形領域を示す枠に対する、ユーザからの修正指示を受け付ける指示工程とを有する表認識方法であって、
前記指示工程で受け付けた修正指示に基づいて前記項の矩形領域を示す枠が修正されるたびに、前記解析工程では、当該修正された項の矩形領域の空白部と前記罫線抽出工程で抽出された罫線とに基づいて、当該表の列及び行の境界位置を再度決定し、更に、前記表構造表示工程では、前記表の画像に重ねて、当該修正された項の矩形領域を示す枠と、前記解析工程で再度決定された当該表の列及び行の境界位置を表す境界線とを、同時に再度表示し、
前記表認識方法は、生成手段が、前記修正指示に基づいて修正した後の前記項の矩形領域内に含まれる文字について文字認識を行い、当該文字認識結果と前記解析工程で再度決定された境界位置とに基づいて表形式データを生成する生成工程を更に有することを特徴とする表認識方法。
【請求項６】
前記項領域抽出工程では、前記表の画像に含まれる黒画素の外接矩形を文字又は文字の一部として検出し、所定値以下の距離にある前記外接矩形同士を統合していくことにより、前記項の矩形領域を抽出することを特徴とする請求項５に記載の表認識方法。
【請求項７】
前記指示工程で受け付ける修正指示は、前記項の矩形領域を示す枠に対する、統合指示と分離指示と範囲の修正指示とのうちの少なくともいずれかであることを特徴とする請求項５または６に記載の表認識方法。
【請求項８】
前記範囲の修正指示は、前記項の矩形領域を示す枠を、当該表示されている境界線を越えて広げることにより行われることを特徴とする請求項７に記載の表認識方法。
【請求項９】
コンピュータに、表の画像情報に基づいて表形式のデータを生成させるための制御プログラムを格納した記憶媒体であって、前記コンピュータを、
表の画像に含まれる罫線を抽出する罫線抽出手段と、
前記表の画像に含まれる文字列を囲む矩形領域を、項の矩形領域として抽出する項領域抽出手段と、
前記罫線抽出手段で抽出された罫線と、前記項領域抽出手段で抽出された項の矩形領域間の空白部とに基づいて、当該表の列及び行の境界位置を決定する解析手段と、
前記表の画像に重ねて、前記解析手段で得られた項の矩形領域を示す枠と、前記解析手段で決定した前記表の列及び行の境界位置を表す境界線とを、同時に表示する表構造表示手段と、
前記表構造表示手段によって表示された前記項の矩形領域を示す枠に対する、ユーザからの修正指示を受け付ける指示手段とを備える表認識装置であって、
前記指示手段による修正指示に基づいて前記項の矩形領域を示す枠が修正されるたびに、前記解析手段は、当該修正された項の矩形領域の空白部と前記罫線抽出手段で抽出された罫線とに基づいて、当該表の列及び行の境界位置を再度決定し、更に、前記表構造表示手段は、前記表の画像に重ねて、当該修正された項の矩形領域を示す枠と、前記解析手段で再度決定された当該表の列及び行の境界位置を表す境界線とを、同時に再度表示するものであり、
前記表認識装置は、前記修正指示に基づいて修正した後の前記項の矩形領域内に含まれる文字について文字認識を行い、当該文字認識結果と前記解析手段で再度決定された境界位置とに基づいて表形式データを生成する生成手段を更に備える表認識装置として機能させるための制御プログラムを記憶したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＯＣＲ（光学的文字認識）を用いて表形式の紙面文書を電子的な表形式データに変換する表認識装置及び方法に関するものである。
【０００２】
【従来の技術】
ＯＣＲ（光学的文字認識）を用いて表形式の紙面文書を電子的なデータにするという表認識処理は、それまで紙面上に存在していた表の情報をデータベース化することを可能とするものであり、表等の利用の域を大きく広げるために重要な技術である。
【０００３】
ここで表認識とは、表の構造の解析、および表の要素である項の文字認識の２つからなる処理である。文字の意味的な集合であり表の要素をなす「項」の、行・列の連なりからなる２次元の構造でなりたっているものが「表」であると考えると、表構造の解析とは、表が何行・何列で構成されているのかということ、および表中の文字がそれぞれどの項に属し、その項は表の行列でどの範囲に存在するかを求める作業に等しい。
【０００４】
従来の表認識装置では、表構造の解析を自動的に行っているが、対象とする表の形式は限定されていた。例えば、項が全て罫線で区切られており、罫線抽出をするだけで表の構造が直ちに解るようになっている表、或いは、項間の罫線が省略されていても、各項は格子状に規則正しく並んでおり、文字の並びから構造が類推できる表など、いずれも構造を得るのが容易な表に限られていた。
【０００５】
【発明が解決しようとする課題】
しかし、表のレイアウトは作成者の好み、意図によって様々である。特に項間の罫線に省略のある表において、複数行及び複数列にまたがる項、空欄の項、および複数の行からなる一つの項などが混在する場合、文字の配置のみからその構造を常に正確に得ることは非常に困難である。雛型を利用したり、文字認識結果を考慮するなどして、人間の思考プロセスに近い構造解析を実現しようという試みもあるが、それでもすべての表に対し１００％正しい構造を自動的に解析することは不可能と言える。
【０００６】
従って、表認識装置のユーザは、自動解析された表の構造に対し必要に応じてその修正を行うことで、意図通りの表データを得ている。この修正作業がいかに効率よく行えるかによって表認識装置の価値は大きく左右される。
【０００７】
本発明は上記の問題に鑑みてなされたものであり、自動解析の結果として得られた表構造に対して、「項」の修正を容易に行うことを可能とし、効率良く表構造の修正作業を行うことができる環境を提供することを目的とする。
【０００８】
また、本発明の他の目的は、ユーザが行った修正作業に基づく表構造の変化をリアルタイムに表示することにより、さらに効率良く表構造の修正作業を行うことができる環境を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様による表認識装置は例えば以下の構成を備える。すなわち、
表の画像に含まれる罫線を抽出する罫線抽出手段と、
前記表の画像に含まれる文字列を囲む矩形領域を、項の矩形領域として抽出する項領域抽出手段と、
前記罫線抽出手段で抽出された罫線と、前記項領域抽出手段で抽出された項の矩形領域間の空白部とに基づいて、当該表の列及び行の境界位置を決定する解析手段と、
前記表の画像に重ねて、前記解析手段で得られた項の矩形領域を示す枠と、前記解析手段で決定した前記表の列及び行の境界位置を表す境界線とを、同時に表示する表構造表示手段と、
前記表構造表示手段によって表示された前記項の矩形領域を示す枠に対する、ユーザからの修正指示を受け付ける指示手段とを備える表認識装置であって、
前記指示手段で受け付けた修正指示に基づいて前記項の矩形領域を示す枠が修正されるたびに、前記解析手段は、当該修正された項の矩形領域の空白部と前記罫線抽出手段で抽出された罫線とに基づいて、当該表の列及び行の境界位置を再度決定し、更に、前記表構造表示手段は、前記表の画像に重ねて、当該修正された項の矩形領域を示す枠と、前記解析手段で再度決定された当該表の列及び行の境界位置を表す境界線とを、同時に再度表示するものであり、
前記表認識装置は、前記修正指示に基づいて修正した後の前記項の矩形領域内に含まれる文字について文字認識を行い、当該文字認識結果と前記解析手段で再度決定された境界位置とに基づいて表形式データを生成する生成手段を更に備える。
【００１０】
また、上記の目的を達成するための本発明の他の態様による表認識方法は例えば以下の工程を備える。すなわち、
情報処理装置による表認識方法であって、
罫線抽出手段が、表の画像に含まれる罫線を抽出する罫線抽出工程と、
項領域抽出手段が、前記表の画像に含まれる文字列を囲む矩形領域を、項の矩形領域として抽出する項領域抽出工程と、
解析手段が、前記罫線抽出工程で抽出された罫線と、前記項領域抽出工程で抽出された項の矩形領域間の空白部とに基づいて、当該表の列及び行の境界位置を決定する解析工程と、
表構造表示手段が、前記表の画像に重ねて、前記解析手段で得られた項の矩形領域を示す枠と、前記解析手段で決定した前記表の列及び行の境界位置を表す境界線とを、同時に表示する表構造表示工程と、
指示手段が、前記表構造表示工程によって表示された前記項の矩形領域を示す枠に対する、ユーザからの修正指示を受け付ける指示工程とを有する表認識方法であって、
前記指示工程で受け付けた修正指示に基づいて前記項の矩形領域を示す枠が修正されるたびに、前記解析工程では、当該修正された項の矩形領域の空白部と前記罫線抽出工程で抽出された罫線とに基づいて、当該表の列及び行の境界位置を再度決定し、更に、前記表構造表示工程では、前記表の画像に重ねて、当該修正された項の矩形領域を示す枠と、前記解析工程で再度決定された当該表の列及び行の境界位置を表す境界線とを、同時に再度表示し、
前記表認識方法は、生成手段が、前記修正指示に基づいて修正した後の前記項の矩形領域内に含まれる文字について文字認識を行い、当該文字認識結果と前記解析工程で再度決定された境界位置とに基づいて表形式データを生成する生成工程を更に有する。
【００１１】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１２】
図１は本実施形態における表認識装置の概略の構成を示すブロック図である。図１に示されるように、本実施形態では、パーソナルコンピュータを用いて表認識装置を実現する場合を説明する。
【００１３】
図１において、１１はＣＰＵであり、ＲＯＭ１２或いはＲＡＭ１３に格納された制御プログラムに従って、本装置ににおける各種制御を実現する。１２はＲＯＭであり、本装置の立ち上げ時のブートプログラムや各種データを格納する。１３はＲＡＭであり、ＣＰＵ１１によって実行される制御プログラムを格納するための領域や、ＣＰＵ１１が各種制御を実行する際の作業領域を提供する。１４は外部記憶装置であり、ハードディスクやフロッピーディスクで構成される。外部記憶装置１４に格納された制御プログラムは、必要に応じてＲＡＭ１３にロードされ、ＣＰＵ１１によって実行される。
【００１４】
１５はディスプレイであり、ＣＰＵ１１の制御により各種表示を行う。１６は入力装置であり、キーボードや、マウス等のポインティングデバイス（以下、マウスという）により構成される。１７は周辺装置用のインターフェースであり、本実施形態では画像読み込みのためのスキャナ１８が接続される。１９は上述の各構成を相互に通信可能に接続するバスである。
【００１５】
図２は本実施形態による表認識装置の機能構成を示すブロック図である。図２において、１０１は画像の表領域を設定する表領域設定部、１０２は表画像から罫線を抽出する罫線抽出部、１０３は表画像から文字列の矩形を抽出する文字列抽出部、１０４は表の項の矩形と罫線から表の構造を解析する表構造解析部、１０５は文字認識を行う文字認識部、１０６は解析された表構造と文字認識結果を表データとして出力する表データ出力部である。１０７はディスプレイ部であり、表画像および表構造解析結果の情報をディスプレイ１５上に表示する。１０８は操作部であり、ユーザが表領域の設定や表の項のエディットするのにマウス、キーボードなどの入力装置１６を介して指示された操作入力を処理する。
【００１６】
なお、図２に示される上記の機能は、外部記憶装置１４からＲＡＭ１３にロードされた、後述の図３のフローチャートで示される制御を実現するための制御プログラムをＣＰＵ１１が実行することで構成されるものである。
【００１７】
次に、図３を用いて本実施形態の表認識装置の動作を説明する。図３は本実施形態の表認識処理を説明するフローチャートである。
【００１８】
まず、ステップＳ２０１において、表領域設定部１０１により、入力された画像に対して表領域を設定する。例えば、スキャナ１８より読み取った文書画像から表部分を抽出する。本例では、ユーザがディスプレイに表示された文書画像上で、マウスを用いて表を囲む矩形を指定することで表領域の設定を行うものとする。なお、公知の自動文書領域分割技術を用いた領域分割結果を用いて自動的に表領域の設定を行ってもよい。またあらかじめ表に限定された画像であれば画像全体を表領域とすればよい。
【００１９】
次に、ステップＳ２０２では、罫線抽出部１０２が設定された表領域中から表の罫線を抽出する。表罫線は画像上に連続する黒画素を検出して求めることができる。なお、このような罫線の抽出技術は公知であるので、詳細な説明は省略する。
【００２０】
次に、ステップＳ２０３では、文字列抽出部１０３が表中の文字列を抽出する。具体的には、画像上で文字列を囲む矩形の座標を抽出する。これは、連結する黒画素の外接矩形を文字または文字の一部とし、それぞれ近傍に存在する矩形どうしを結合した矩形を文字列と看倣して得られる。一般に項となる文字列をなす文字どうしは左右に接近していることが多いので、１文字の予想される平均文字高さに相当する距離以内にある左右に並んだ矩形を統合していき、１つの項とする。ここで文字高さを用いるのは、「文字幅」が文字種により大きく異なるのに対して「文字高さ」は比較的安定しているためであるのと、隣り合う文字はくっつきやすいが文字行同士がくっつくケースは少なく、「文字高さ」のほうが基準値として安定に抽出できるからである。
【００２１】
図４は表画像の一例を示す図である。また、図５は図４に示した表画像に対する文字列の抽出結果を図示す図である。図４に示した表画像に対して上述の文字列抽出部１０３による文字列抽出を行った結果、図５に示される如く矩形領域が得られる。なお、ここで抽出された文字列は、意味的なまとまりである表の項とは必ずしも一対一に対応しない可能性があるが、これに続く以下の処理は、この文字列の矩形の集合を項の矩形の集合の初期値として看倣して行われる。
【００２２】
ステップＳ２０４では、表構造解析部１０４が、上述の処理で得られた罫線と項の集合を用いて、表の構造解析を行う。表の構造解析とは、表が何行、何列の項で構成されているか、および各項がその行列上でどの位置を示すか（何行何列目か）を決定することである。
【００２３】
以下に、本実施形態で採用する行、列の求め方を説明する。表は罫線および項の間の空白によって縦方向の列、横方向の行にそれぞれ分けられる。すなわち表の行や列を求めることは、罫線および項の間の空白からなる境界の位置の集合を求めることに等しい。以下、表の境界を求める手順について図６及び図７を参照して説明する。
【００２４】
まず、列境界の集合Ｘを求める手順を説明する。図６は、図５に示した文字列抽出結果に関して、列境界位置の候補抽出を行った状態を示す図である。列境界を求めるには、まず、表中の縦罫線の位置のｘ座標を抽出し、Ｌ＝ｌ1，…，ｌjとする。また、左右に隣りあう２つの項の矩形の端間の中点（以下、項間位置という）を境界とし、すべての隣りあう２矩形間に対してそのｘ座標を求めたものの集合をＷ＝ｗ1，…，ｗkとする。図６では３つの縦罫線位置（ｌ1、ｌ2、ｌ3）と、４つの項間位置（ｗ1〜ｗ4）が検出されており、これらが列境界の候補となる。
【００２５】
次に、Ｌ，Ｗの和集合をソートした集合をＢとする。このＢの中で、隣りあう座標値で近傍のものは統合し、その中間の座標値一つにする。ただし、罫線の座標は移動しない、すなわちｌpとｗqを統合するときは必ずｌpの座標値を残し、かつ罫線同士での統合は行わない。
【００２６】
以上により求めた境界座標の集合を、列境界の集合Ｘ＝Ｘ0，…，Ｘmとする。同様にして横罫線と上下に隣りあう矩形間の境界から求めた、行境界の集合Ｙ＝Ｙ0，…，Ｙnとする。これらより、表の行数をｍ、列数をｎとする。図７は、以上のようにして列境界及び行境界を求めた結果を示す図である。
【００２７】
次に、図５において抽出された各項が、図７のごとく決定された表の行、列上でどの範囲を占めるかについて、以下のようにして求める。
【００２８】
実座標上で、その矩形の４つの頂点が（ｘ0，ｙ0）、（ｘ1，ｙ0）、（ｘ1，ｙ1）、（ｘ0，ｙ1）である（以下、このような矩形を（ｘ0，ｙ0）〜（ｘ1，ｙ1）の矩形という）項に対し、行、列境界の座標値がつくる４点のうち、その項を囲んでかつ最小となる４点が、
（Ｘi，Ｙj）〜（Ｘk，Ｙl）
となるとき、その項の行列上での位置は
（ｉ＋１，ｊ＋１）〜（ｋ，ｌ）
となる。
【００２９】
以上のようにして、表構造の解析を終えると、ステップＳ２０５において、ディスプレイ部１０７がその構造解析結果をディスプレイ１５に表示する。ディスプレイ１５上には、表の原画像に重ねて、上記処理で抽出した項の矩形、および行、列の境界線が描画される。
【００３０】
ただし、このとき複数の行あるいは列にまたがる項があった場合、その内部の境界線分は表示しないことにする。すなわち、境界の座標（Ｘp，Ｙq）と（Ｘp，Ｙr）の間の縦線をＶpq-pr、境界の座標（Ｘp，Ｙq）と（Ｘs，Ｙq）の間の横線をＶpq-sqと書くとき
（ｉ，ｊ）〜（ｋ，ｌ）の項に対して、
ｉ＜ｋのとき、Ｖpj-pl（ｐ＝ｉ，…，ｋ−１）
ｊ＜ｌのとき、Ｈiq-kq（ｐ＝ｊ，…，ｌ−１）
にあたる線分は描画しない。
【００３１】
図８は上記アルゴリズムによる境界線の表示結果の一例を示す図である。図８に示されるように，境界を跨ぐ項があった場合でも、各項の行列内で占める範囲が境界によって囲まれた矩形で示されるので、表の構造が容易に把握できる。
【００３２】
さて、表の項とは表の要素をなす意味的なまとまった文字の集合である。一方、ステップＳ２０３で抽出された文字列の矩形は単に隣りあう文字の集合であるので、両者は一対一には対応しないことがある。そこで、以下のステップＳ２０６、Ｓ２０７では、その修正のための手段をユーザに提供する。
【００３３】
ステップＳ２０６にて、ユーザはディスプレイに表示される項および境界線で示された表の構造が、ユーザの意図する表構造と合致しているかどうかを判断する。例えば、図９のような表に対し、正しい構造が解析されていれば、ディスプレイへの表示は図１０のようになる。これに対して、図１１は、項と看做された矩形が不正であった等の理由によって表構造の解析結果が誤っている場合の表示例を示す図である。
【００３４】
解析結果の表構造がユーザの意図している表構造と合致していないと判断された場合は、ステップＳ２０７にてユーザによる項の修正を可能とする。修正はディスプレイ画面上にて、表の画像に重ねて表示されている項の矩形枠に対し、マウスやキーボードを用いて行われる。それぞれの矩形枠は矩形枠上でマウスをクリックすることにより選択状態になり、選択状態になった枠は変形、移動、削除ができる、また新規に矩形枠を作成することもできる。以下に、表の構造を修正する主な作業を３つ挙げて説明する。
【００３５】
▲１▼項の統合
これは、図１２の（ａ）で示されるように、本来は一つの項をなすべき２つ以上の文字列がそれぞれ別の項になってしまっている状態の修正である。これらをマウス操作によって統合して一つにする操作をユーザに提供する。例えば、それらの分離された項の枠を選択状態にし、統合を指示するキーを押すことで、２つの矩形を内包する一つの矩形が生成されて元の矩形は消滅させる（図１２の（ｂ））という操作である。もしくは、そのような統合指示はマウス操作によるプルダウンメニューの項目として実現されてもよいことは明らかである。
【００３６】
▲２▼項の分離
これは、図１３の（ａ）で示されるように、本来は２つ以上の別の項が一つの項になってしまっている状態の修正である。この場合ユーザは項を変形して本来２つの項の片方の矩形に一致させ、その後枠の新規作成によりもう一つの項を作成する（図１３の（ｂ））。
【００３７】
▲３▼項の範囲の修正
これは、図１４の（ａ）で示されるように、項と文字列の対応は正しいが項の表の構造の行列中で占める位置が正しくない状態の修正である。ユーザは現在引かれている境界線を越えて、本来項が占める範囲いっぱいまで項の枠を広げることで修正が行われる（図１４の（ｂ））。
【００３８】
以上のような枠の更新作業の１手順ごと、すなわち、ユーザが枠を操作するマウスのドラッグを離したり、削除を行ったりする度に、ステップＳ２０４へ戻り、更新が行われた項に対して表構造の解析が行われる。そして、ステップＳ２０５において、直ちにその解析結果である構造の表示が行われる。このため、ユーザは自身が行う項の枠の修正により表構造がどのように解析されたかを直ちに知ることができる。
【００３９】
以上のようにして表構造の修正を行った結果、ディスプレイに表示された表の構造がユーザの意図する構造と合致したとユーザによって判断されると、その旨の操作入力により表の構造が確定され、ステップＳ２０８、Ｓ２０９によるデータ出力の処理に移る。
【００４０】
まず、ステップＳ２０８では、文字認識部１０５が表の各項に対応する表画像中の文字について公知の文字認識技術を実行し、それらを文字コードに変換する。そして、ステップＳ２０９において、上述の処理によって確定された表の構造と、表の項の文字コードから、表形式のデータが作成されて出力される。表形式のデータの例として、図９に示した表に対するＨＴＭＬ形式データの出力例を図１５に示す。
【００４１】
以上述べたように、本実施形態によれば、表の構造を解析して表データを出力する表認識装置において、自動処理では解析が困難或いは不可能な表に対してユーザが修正を効率的に行うことができ、ユーザの意図通りの表データを容易に得ることができる。
【００４２】
［他の実施形態］
上述した実施形態においては、表画像から文字列抽出により得られた矩形を項の初期値としてディスプレイに表示し、表示された項の矩形に対してユーザが変形、移動、削除を行うことで表構造の修正を行った。しかしながら、ユーザによる修正の方法はこれに限られるものではない。その変形の一例として、例えば、文字列抽出で得られた文字列矩形とは別に、項を指定するための矩形をディスプレイに表示し、ユーザがこれを修正するようにしてもよい。
【００４３】
図１６は、他の実施形態による表構造の修正を説明する図であり、文字列の矩形と項の矩形を併せてディスプレイに表示した例で得ある。１の太線の矩形が文字列の矩形を示し、２の点線の矩形が項の矩形を示す。マウス操作により、両者をそれぞれに変形、移動、削除を行うことができる。このようにすることで、第一の実施形態で説明した図１４のような項の変形を行う場合、項の矩形（図１６の点線で示された矩形）だけを広げればよく、文字認識すべき文字列の矩形はそのままの形で保たれる。このため、拡大した部分にノイズが含まれていても文字認識には影響を与えずに済む。
【００４４】
以上のように、他の実施形態によれば、ユーザが表構造の修正を効率よく行え、ユーザの意図した通りの表データが容易に得られる効果を奏するとともに、項の変形による文字認識への影響が低減される。
【００４５】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００４６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００４７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５１】
【発明の効果】
以上説明したように、本発明によれば、自動解析の結果として得られた表構造に対して、「項」の修正を容易に行うことが可能となり、効率良く表構造の修正作業を行うことができる。そして、その結果ユーザは意図した通りの表データを容易に得ることができる。
【００５２】
また、本発明によれば、ユーザが行った修正作業に基づく表構造の変化をリアルタイムに表示することにより、さらに効率良く修正作業を行うことができる。
【００５３】
【図面の簡単な説明】
【図１】本実施形態における表認識装置の概略の構成を示すブロック図である。
【図２】本実施形態による表認識装置の機能構成を示すブロック図である。
【図３】本実施形態の表認識処理を説明するフローチャートである。
【図４】表画像の一例を示す図である。
【図５】図４に示した表画像に対する文字列の抽出結果を図示す図である。
【図６】図５に示した文字列抽出結果に関して、列境界位置の候補抽出を行った状態を示す図である。
【図７】列境界及び行境界を求めた結果を示す図である。
【図８】境界線の表示結果の一例を示す図である。
【図９】表画像の他の例を示す図である。
【図１０】図９に示された表画像について項が正しく認識された場合の解析結果の表示例を示す図である。
【図１１】図９に示された表画像について、表構造の解析結果が誤っている場合の表示例を示す図である。
【図１２】表構造の修正の一例としての項の統合を説明する図である。
【図１３】表構造の修正の一例としての項の分離を説明する図である。
【図１４】表構造の修正の一例としての項の範囲の変更を説明する図である。
【図１５】図９に示した表に対応する表形式データの出力例を示す図である。
【図１６】他の実施形態による表構造の修正を説明する図である。
【図１】
0004235286.tif 000002
【図２】
0004235286.tif 000003
【図３】
0004235286.tif 000004
【図４】
0004235286.tif 000005
【図５】
0004235286.tif 000006
【図６】
0004235286.tif 000007
【図７】
0004235286.tif 000008
【図８】
0004235286.tif 000009
【図９】
0004235286.tif 000010
【図１０】
0004235286.tif 000011
【図１１】
0004235286.tif 000012
【図１２】
0004235286.tif 000013
【図１３】
0004235286.tif 000014
【図１４】
0004235286.tif 000015
【図１５】
0004235286.tif 000016
【図１６】
0004235286.tif 000017