(57)【要約】【課題】帳票文書画像などから自動抽出された罫線やセルを容易に修正できるようにする。【解決手段】本表データ処理方法は、複数のセルを含む表の画像から複数の候補セルを生成し、当該候補セルの特定の組み合わせを抽出して初期的な表を出力するステップと、初期的な表においてユーザから当該初期的な表に含まれる特定の候補セルの指定を誤りセルの指定として受け付けるステップと、指定された上記誤りセルの少なくとも一部を置換可能な候補セルを上記候補セルの特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成ステップと、記憶装置に格納された候補集合をユーザに提示して、候補集合に含まれるいずれかの候補セルの選択を促す提示ステップとを含む。このようにユーザの手間を削減できれば業務効率が改善する。【選択図】図１
2008046812.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルを含む表の画像から複数の候補セルを生成し、当該候補セルの特定の組み合わせを抽出して初期的な表を出力するステップと、
前記初期的な表においてユーザから当該初期的な表に含まれる特定の候補セルの指定を誤りセルの指定として受け付けるステップと、
指定された前記誤りセルの少なくとも一部を置換可能な候補セルを前記候補セルの特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成ステップと、
前記記憶装置に格納された前記候補集合をユーザに提示して、前記候補集合に含まれるいずれかの候補セルの選択を促す提示ステップと、
を含み、コンピュータにより実行される表データ処理方法。
【請求項２】
前記候補集合に含まれる前記候補セルのそれぞれにつき、当該候補セルと同時に選択されるべき関連候補セルを特定する関連候補セル特定ステップ
を含み、
前記提示ステップが、
前記候補集合に含まれる前記候補セル及び当該候補セルの関連候補セルを提示するステップ
を含む請求項１記載の表データ処理方法。
【請求項３】
ユーザから前記候補集合に含まれるいずれかの候補セルの選択を次候補セルの選択として受け付けるステップと、
選択された前記次候補セルの次に選択されるべき第３の候補セルを特定し、当該第３の候補セルのデータを前記記憶装置に格納する第３候補セル特定ステップと、
前記記憶装置に格納された前記第３の候補セルをユーザに提示するステップと、
を含む請求項１記載の表データ処理方法。
【請求項４】
請求項１乃至３のいずれか１つ記載の表データ処理方法をコンピュータに実行させるためのプログラム。
【請求項５】
複数のセルを含む表の画像から複数の候補セルを生成し、当該候補セルの特定の組み合わせを抽出して初期的な表を出力する手段と、
前記初期的な表においてユーザから当該初期的な表に含まれる特定の候補セルの指定を誤りセルの指定として受け付ける手段と、
指定された前記誤りセルの少なくとも一部を置換可能な候補セルを前記候補セルの特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成手段と、
前記記憶装置に格納された前記候補集合をユーザに提示して、前記候補集合に含まれるいずれかの候補セルの選択を促す提示手段と、
を有する表データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、罫線や罫線で囲まれた領域であるセルで構成される表の画像から当該表を認識する技術に関し、より詳しくは自動的に認識された罫線やセルの修正のための技術に関する。
【背景技術】
【０００２】
近年、業務の電子化に伴い多くの電子文書が利用されるようになっている。これまで紙文書で運用されてきた業務を電子化したり、紙で配布された文書を電子文書に変換したりするための技術としてＯＣＲ（optical character reader／optical character recognition）などの文書画像認識技術の重要性が増している。特に帳票文書などにおいて文書中に含まれる表を認識する技術は特に重要である。
【０００３】
表は縦横の罫線で構成されていることが多い。表の構造を認識する表認識技術では、表中の罫線や、罫線に囲まれたセルの位置やサイズを認識する技術が開発されてきた。
【０００４】
罫線抽出は、例えば文書画像の画素の縦横のランに基づいて罫線を抽出する方法がある（例えば、特開平１−２１７５８３号公報）。画像入力手段はスキャナ等で文書イメージを取得する。縦横のラン抽出手段は、縦方向又は横方向に黒画素が一定長以上連続している領域をラン領域として抽出する。縦横のラン統合手段は、抽出されたラン領域の中で近傍にあるものを統合して一つの罫線領域とする。最後に、抽出された罫線領域を罫線データ構造に格納する。
【０００５】
また、特開平７−２８９３９号公報では、入力した表画像が多少傾いても、正確に表部分のベクトル化ができるようにするための技術が開示されている。具体的には、表画像から表部分をベクトル化する装置に、表画像から、線分を水平／垂直方向の線分に分け、水平軸には垂直方向の線分のみを投影し、垂直軸には水平方向の線分のみを投影して罫線の投影像を求める投影部を設ける。また、罫線の投影像と同じ幅の直線を、メモリ上に水平／垂直方向から引き、それをマスク画像として生成するマスク画像生成部と、マスク画像に従って罫線を探索し、表部分をベクトル化する罫線探索部を設ける。そして、罫線探索部が、マスク画像から直線の交点を抽出し、抽出した交点間の距離に対する画素数の比率から、交点間の罫線の存在を決定する。
【０００６】
セル抽出手法には、主に罫線に囲まれた矩形領域を抽出するものと、罫線が交差した位置である交点を抽出し、交点の位置関係に基づいてセル領域を抽出する方法とが存在する。罫線に囲まれた矩形領域を抽出する方法は、例えば、「複雑な構造を持つ表の認識に関する基礎検討」児島、清末、秋山、情報処理学会全国大会 第３７回後期 6W-8 pp.1660-1661 (1988.10)（以下、非特許文献１と呼ぶ）、「多種帳票文書の構造認識」駱、渡辺、杉江、電子情報通信学会論文誌 D-II, Vol.J76-D-II, No.10, pp.2165-2176 (1993.10)（以下、非特許文献２と呼ぶ）など開示されている。さらに、特開平９−５０５２７号公報も類似の原理を用いている。
【０００７】
非特許文献２によるセル抽出手法は、以下のとおりである。すなわち、セル抽出を行う表の領域を対象領域と定め、対象領域の端から端へ達する横罫線で対象領域を分割する。分割した領域毎に、今度は縦に分割する。同様に横と縦の分割を順に行い、分割できなくなるまで続ける。そうすれば、セルが抽出されることとなる。
【０００８】
また、罫線が交差した交点に基づいてセル領域を抽出する方法は様々な文献に開示されている。例えば、特開平８−２１２２９２号公報、特開平９−１３８８３７号公報、特開平１０−４０３３３号公報、特開平８−２２１５０６号公報などがある。その基本的な手順は、セルの左上を始点としてセル内部を右回りに辿り、始点に戻って来た経路がセルの領域を表すというものである。
【０００９】
上で述べたような表認識技術により抽出された罫線やセルは誤りを含む場合がある。特に劣化した画像中の表を認識した場合は誤りが多数存在することが考えられる。そこで、表認識の精度を向上させて誤りを減らそうというアプローチと、ユーザによる誤り訂正の操作性を向上させようというアプローチにより、表認識誤りの悪影響を低減させようという試みが存在する。
【００１０】
誤りを低減させる試みの１つには、罫線やセルの抽出結果をその時点では確定せずに複数の候補を生成し、最後に最適な候補の集合を選び出すという手法が提案されている。例えば、「複数セル候補の組み合わせ探索に基づく帳票画像からのセル抽出」田中、武部、藤本、電子情報通信学会技術報告PRMU2005-185 (2006.2)（以下、非特許文献３と呼ぶ）には、以下のような技術が開示されている。すなわち、表罫線が交差する交点の情報を用いてセル領域の候補を複数抽出し、組み合わせ探索によって最適なセル集合を求めるものである。本技術では、曖昧な交点には複数の候補を用意し、複数のセル候補を生成することによって交点誤りの影響の低減を実現している。
【００１１】
一方で、誤り罫線やセルをユーザが修正する方法は、従来は誤った部分を削除してユーザが正しい罫線やセルを改めて入力したり、誤った罫線やセルの形状をユーザ操作により変形して正しい結果を生成するという方法が用いられていた。例えば、誤りセル１０００をユーザがカーソル１００１を用いて指定して（図２４（ａ）)削除し(図２４（ｂ））、その後で欠けた部分の罫線やセルをユーザが自ら描画して修正する（図２４（ｃ）及び（ｄ））。また、複数のセルを描画しなければならない場合は、それだけ修正の手間がかかる。このような編集操作には、例えばセルや罫線の削除や挿入、形状の変形などいくつかの操作が存在する。
【００１２】
また、特開平６−６０２２２号公報には、以下のような技術が開示されている。すなわち、帳票にかかる画像デ―タに対してセパレータ候補を抽出し、このセパレータ候補の情報を画像データとともに表示させ、使用者は、キーボードなどを使ってのセパレータ候補の編集操作は画像データイメージが表示されている画面を見ながら修正をしたり、新たにセパレータを追加したりして選定を行なった後に書式データベースに登録する。これにより、データベースに登録されるセパレータ情報の登録ミス、情報の抜けを防止できるとともに、必要により情報の追加も行うことができるようになる。また、その後に、帳票を認識させるような場合に、書式データベースに登録されたセパレータ情報を参照させるようにすることで文字認識を簡単に行うことができるとともに、その認識精度を高めることもできる。但し、セルや罫線の候補を提示して選択させるような構成ではない。
【００１３】
さらに、日本特許第２６８７９０２号公報には、文書を量子化画像データとして入力する文書画像入力部と、文書画像入力部から入力された文書画像を格納する文書画像記憶部と、文書画像に対し図表分離、表解析、段組分離、線分分離、行分離、文字分離を施し、レイアウト情報を抽出するレイアウト解析部と、レイアウト解析部において得られるレイアウト情報のうち、表項目を構成する罫線の輪郭の形状を用いて表項目分離誤りである可能性が高い部分を判別し、文字ピッチ、文字幅を用いた検証により線分分離誤りを判別し、また、行ピッチ、行幅を用いた検証により行分離誤りを判別し、それぞれに、誤りの種類を示すレイアウト誤りフラグを付加するレイアウト誤り候補検出部と、レイアウト誤りフラグが付加されたレイアウト情報を格納するレイアウト情報記憶部と、レイアウト解析部において得られた文字画像を認識し、文字コードを得る文字認識部と、文字認識部で得られた文字コードを格納する文字情報記憶部と、ユーザからのオペレーションを入力する修正指示入力部と、表項目分離誤りに対するレイアウト候補として領域分割方向と領域分割数、線分分離誤りに対するレイアウト候補として線分の方向、および、行分離誤りに対するレイアウト候補として文字列の方向をあらかじめ格納し、レイアウト情報記憶部と文書画像記憶部と文字情報記憶部との各々の出力を入力し、レイアウト誤りフラグに対応するレイアウト候補と文書画像および文字コードを表示情報として出力し、修正指示入力部の出力に従いレイアウト候補の中から正しいレイアウト候補を選択して再解析情報として出力し、また、修正指示入力部の出力に従い誤りのある文字コードを修正する修正処理部と、修正処理部で指定された再解析情報に基づいて、レイアウト解析部に対してレイアウト解析処理の再実行を起動する再解析制御部と、修正処理部から出力された表示情報を表示する画像表示部とを備える文書画像認識装置が開示されている。但し、セルの形状を直感的に選択できるようにするようなインターフェースは開示されていない。
【００１４】
また、特開２００１−１１８０３０号公報には、帳票の項目名定義作業を簡単化し、作業に要する時間を短縮するための技術が開示されている。具体的には、書類の画像から当該書類の書式を構成する複数の可変項目フィールドを抽出し、抽出した可変項目フィールドをオペレータに表示して一つの可変項目フィールドをオペレータに指示させ、その可変項目フィールドと特定関係にある固定項目フィールドの候補を画像上の特徴から抽出し、抽出した固定項目フィールドをオペレータに表示して一つまたは複数の固定項目フィールドをオペレータに指示させ、可変項目フィールドおよび固定項目フィールドの対応情報を記憶し、その対応情報を用いて書式データを編集する。これによって、項目名を簡単に短時間で定義できると共に１つの領域または可変項目フィールドに複数の項目名がある場合にも対応可能となる、というものである。本公報には、セルの形状を直感的に選択できるようにするようなインターフェースは開示されていない。
【００１５】
さらに、特開２００１−１０９８８８号公報には、画像の品質に対応した罫線抽出処理を行うことを可能とする罫線抽出技術が開示されている。具体的には、画像入力手段により入力画像が取得され、異なる解像度の画像生成手段で低解像度画像、高解像度画像が作成される。罫線候補領域抽出手段は、生成された低解像度画像を用いて罫線候補領域を抽出する。画像の品質評価手段は、抽出された罫線候補領域内の画素を探索することにより、画像の品質を評価し、品質に応じた処理方法または閾値を選択する手段は、画像の品質評価手段で評価された結果に基づいて、画像品質に適応した処理方法、または閾値の選択を行う。部分処理毎に適した画像解像度を選択する手段は、画像品質に基づいて、処理対象とする画像を選択する。以上の手段を経て、罫線抽出手段における適切な処理方法、閾値、処理対象画像が選択され、罫線が抽出される。本公報についても、セルの形状を直感的に選択できるようにするインターフェースは開示されていない。
【００１６】
また、特開平１１−２１９４４２号公報には、帳票の記入内容によって出力画像を変更し、編集出力する文書編集出力装置が開示されている。具体的には、文書画像と文書レイアウト規則とを照合することにより文書構造を解析する文書構造解析手段と、文書レイアウト規則を記憶する文書レイアウト規則記憶手段と、文書構造解析の結果得られる文書部分画像を記憶する入力画像データ記憶手段と、文書レイアウト規則に従い、文書部分画像内のコード化が可能なものに対してコード化を行う画像情報コード化手段と、画像情報コード化手段で得られるコード情報及び入力画像データ記憶手段に格納された文書部分画像の内容に応じて出力画像の内容を決定する出力規則を記憶する出力規則記憶手段と、出力規則を用いて出力内容を決定する出力情報決定手段と、出力情報決定手段から出力された文書内容を入力として出力画像を生成する編集出力手段を備える。本公報についても、セルの形状を直感的に選択できるようにするインターフェースは開示されていない。
【特許文献１】特開平１−２１７５８３号公報
【特許文献２】特開平７−２８９３９号公報
【特許文献３】特開平９−５０５２７号公報
【特許文献４】特開平８−２１２２９２号公報
【特許文献５】特開平９−１３８８３７号公報
【特許文献６】特開平１０−４０３３３号公報
【特許文献７】特開平８−２２１５０６号公報
【特許文献８】特開平６−６０２２２号公報
【特許文献９】日本特許第２６８７９０２号公報
【特許文献１０】特開２００１−１１８０３０号公報
【特許文献１１】特開２００１−１０９８８８号公報
【特許文献１２】特開平１１−２１９４４２号公報
【非特許文献１】「複雑な構造を持つ表の認識に関する基礎検討」児島、清末、秋山、情報処理学会全国大会 第３７回後期 6W-8 pp.1660-1661 (1988.10)
【非特許文献２】「多種帳票文書の構造認識」駱、渡辺、杉江、電子情報通信学会論文誌 D-II, Vol.J76-D-II, No.10, pp.2165-2176 (1993.10)
【非特許文献３】「複数セル候補の組み合わせ探索に基づく帳票画像からのセル抽出」田中、武部、藤本、電子情報通信学会技術報告PRMU2005-185 (2006.2)
【発明の開示】
【発明が解決しようとする課題】
【００１７】
以上のように、帳票文書画像から抽出した罫線やセルに基づいて帳票フォーマットの設計を行う帳票設計支援装置において罫線やセルを自動抽出した結果が誤っていた場合、ユーザが誤った部分を指定して削除し、再描画したり変形したりといった編集操作を行う必要があった。このような編集操作による誤り訂正は、複数回の描画が必要な場合もあり、またユーザが細かな座標位置まで注意深く意識しなければならないなど、ユーザにとって大きな負担となっていた。
【００１８】
従って、本発明の目的は、帳票文書画像などから自動抽出された罫線やセルを容易に修正できるようにするための支援技術を提供することである。
【００１９】
さらに、本発明の他の目的は、帳票文書画像などから自動抽出された罫線やセルを修正する際の手間を削減するための技術を提供することである。
【課題を解決するための手段】
【００２０】
本発明の第１の態様に係る表データ処理方法は、複数のセルを含む表の画像から複数の候補セルを生成し、当該候補セルの特定の組み合わせを抽出して初期的な表を出力するステップと、初期的な表においてユーザから当該初期的な表に含まれる特定の候補セルの指定を誤りセルの指定として受け付けるステップと、指定された上記誤りセルの少なくとも一部を置換可能な候補セルを上記候補セルの特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成ステップと、記憶装置に格納された候補集合をユーザに提示して、候補集合に含まれるいずれかの候補セルの選択を促す提示ステップとを含む。
【００２１】
このようにすればユーザは候補集合に含まれるいずれかの候補セルを選択すればよいので、修正が容易になる。また、わざわざ座標を気にしつつ描画する必要なくなり、修正の手間も省ける。また、業務効率化も図られる。
【００２２】
また、本発明の第１の態様に係る表データ処理方法は、候補集合に含まれる候補セルのそれぞれにつき、当該候補セルと同時に選択されるべき関連候補セルを特定する関連候補セル特定ステップを含むようにしてもよい。その場合、上で述べた提示ステップが、候補集合に含まれる候補セル及び当該候補セルの関連候補セルを提示するステップを含むようにしてもよい。このようにすることによってより修正が簡便になる。
【００２３】
さらに、ユーザから候補集合に含まれるいずれかの候補セルの選択を次候補セルの選択として受け付けるステップと、選択された上記次候補セルの次に選択されるべき第３の候補セルを特定し、当該第３の候補セルのデータを記憶装置に格納する第３候補セル特定ステップと、記憶装置に格納された第３の候補セルをユーザに提示するステップとを含むようにしてもよい。このように連続的に修正を行うことができれば、修正の手間を削減することができるようになる。
【００２４】
また、上で述べた関連候補セル特定ステップが、候補集合に含まれる候補セルのそれぞれにつき、当該候補セルと誤りセルとで重複しない、誤りセルの部分である非重複部分を特定するステップと、候補集合に含まれる候補セルのそれぞれにつき、非重複部分を含む、上記候補セルの特定の組み合わせ以外の候補セルを、関連候補セルとして特定するステップとを含むようにしてもよい。
【００２５】
さらに、上で述べた第３候補セル特定ステップが、選択された上記次候補セルを採用し誤りセルを除外することによって生ずる初期的な表における空白を擬似誤りセルとして選択するステップと、擬似誤りセルを誤りセルとして上で述べた候補集合生成ステップ以降のステップを実行するステップとを含むようにしてもよい。
【００２６】
さらに、上で述べた表は、候補セルの最小単位である格子ブロックに分割される場合もある。このような場合には、複数の候補セルの各々について、当該候補セルを構成する格子ブロックの識別データと、上記表を構成するセルであるか否かを表すデータとが格子データ格納部に格納されている場合もある。そして、上で述べた候補集合生成ステップが、指定された上記誤りセルを構成する格子ブロックを格子データ格納部から特定するステップと、格子データ格納部から、特定された上記格子ブロックを含む候補セルを、上記候補セルの特定の組み合わせ以外から抽出するステップとを含むようにしてもよい。格子ブロックを導入することによって、処理が簡略化され、高速化される。
【００２７】
また、格子ブロック及び格子データ格納部を導入する場合には、上で述べた関連候補セル特定ステップが、格子データ格納部から特定される候補セルを構成する格子ブロックと、誤りセルを構成する格子ブロックとを比較することによって、候補集合に含まれる候補セルの各々について、当該候補セルと前記誤りセルとで重複せず且つ誤りセルに含まれる格子ブロックである非重複格子ブロックを特定するステップと、候補集合に含まれる候補セルの各々について、非重複格子ブロックを含む、上記候補セルの特定の組み合わせ以外の候補セルを、格子データ格納部から関連候補セルとして特定するステップとを含むようにしてもよい。
【００２８】
さらに、格子ブロック及び格子データ格納部を導入する場合には、上で述べた候補集合生成ステップが、格子データ格納部において、指定された上記誤りセルに対して上記表を構成するセルから除外するようにデータを登録するステップと、指定された上記誤りセルを構成する格子ブロックを格子データ格納部から特定するステップと、特定された上記格子ブロックを含む候補セルを、格子データ格納部において誤りセルを除き上記表を構成するセルではないとされる候補セルから、候補集合に含まれる候補セルとして抽出するステップとを含むようにしてもよい。また、上で述べた第３候補セル特定ステップが、格子データ格納部において、選択された上記次候補セルを上記表を構成するセルとして登録するステップと、格子データ格納部において、選択された上記次候補セルを除き上記表を構成するセルとして登録されている候補セルのうち、誤りセルを構成する格子ブロックを含む候補セルを特定し、上記表を構成するセルから除外するようにデータを登録するステップと、格子データ格納部において、上記表を構成するセルとして登録されている候補セルのいずれにも採用されていない格子ブロックを擬似誤りセルとして特定するステップと、擬似誤りセルを誤りセルとして上で述べた候補集合生成ステップ以降のステップを実行するステップとを含むようにしてもよい。
【００２９】
以上述べた構成では、セルについて説明したが罫線についても同様である。すなわち、本発明の第２の態様に係る表データ処理方法は、複数の罫線を含む表の画像から複数の候補罫線を生成し、当該候補罫線の特定の組み合わせを抽出して初期的な表を出力するステップと、初期的な表においてユーザから当該初期的な表に含まれる特定の候補罫線の指定を誤り罫線の指定として受け付けるステップと、指定された上記誤り罫線の少なくとも一部を置換可能な候補罫線を上記候補罫線の特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成ステップと、記憶装置に格納された候補集合をユーザに提示して、候補集合に含まれるいずれかの候補罫線の選択を促す提示ステップとを含む。
【００３０】
本発明にかかる方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００３１】
本発明によれば、帳票文書画像などから自動抽出された罫線やセルを容易に修正できるようになる。
【００３２】
本発明の他の側面によれば、帳票文書画像などから自動抽出された罫線やセルを修正する際の手間を削減することができるようになる。
【発明を実施するための最良の形態】
【００３３】
図１に、本発明の実施の形態に係る帳票設計支援装置に係る機能ブロック図を示す。本実施の形態における帳票設計支援装置１００は、表などを含む文書を光学的に読み込むスキャナなどの装置である画像入力部１と、画像入力部１が読み取った画像データを格納する画像データ格納部３と、読み取った画像データから表を構成するセルを自動的に認識する処理を実施するセル認識処理部５と、セル認識処理部５により生成された格子テーブルなどのデータを格納する格子データ格納部７と、格子データ格納部７に格納されているデータを用いて認識結果を表示装置に表示する表認識結果表示部１９と、表認識結果表示部１９によって表示された認識結果に含まれる候補セルについてユーザによる誤りセルの指定を受け付ける誤りセル入力部１１と、格子データ格納部７に格納されているデータを用いてユーザに対して提示すべき候補セルを特定する処理を実施する候補生成部９と、候補生成部９により特定された候補セルのデータなどを格納する候補データ格納部１３と、候補データ格納部１３に格納されたデータを用いてユーザに提示すべき候補セル等を表示装置に表示する候補表示部１５と、ユーザによる候補選択入力を受け付け、格子データ格納部７に格納されたデータを更新すると共に、候補表示部１５や表認識表示部１９と連携する候補選択入力部１７とを有する。
【００３４】
候補生成部９は、次候補生成部９１と、関連候補生成部９３と、連続候補生成部９５との少なくともいずれかを含む。
【００３５】
次に、図１に示した帳票設計支援装置１００の処理を図２乃至図２２を用いて説明する。まず、画像入力部１は、表などを含む帳票文書などを光学的に読み取り、当該帳票文書を含む画像を生成して画像データ格納部３に格納する。帳票文書を含む画像のファイルを他の記憶装置から取得したり、ネットワークを介して他のコンピュータから取得するようにしてもよい。例えば、図３（ａ）のような画像が取得されるものとする。なお、図３（ａ）において点線で表示されている部分は、罫線が存在するか否かが曖昧な部分（例えば罫線がかすれて半分程度しか残っていない部分など）を表している。
【００３６】
次に、セル認識処理部５は、画像データ格納部３に格納されている画像データから、例えば非特許文献３（若しくは特願２００６−３１５８１）に開示されているアルゴリズムに従って格子データを生成し、格子データ格納部７に格納する（ステップＳ１）。具体的には、表を構成する縦横の罫線を抽出し、図３（ｂ）に示すように、各罫線の格子点（交点及び例えば同方向の罫線に存在する交点を写像した点）の座標を特定すると共に、各格子点に識別子を付与する。座標は、予め定められた点（例えば左上の格子点）を原点とした場合の座標である。格子点の識別子については、例えば左上の格子点を１として、縦方向に通番で格子点に番号を付し、横方向にも通番で格子点に番号を付す。そうすると、例えば図４に示すようなデータが格子データ格納部７に格納される。すなわち、格子点毎に座標値が格納される。
【００３７】
なお、これ以降は、罫線の長さの情報は無くとも、図４に示したテーブルで格子点の座標を得ることができるので、図３（ｃ）に示すように、各セルの縦横長さが均等な状態を想定すればよい。また、図３（ｂ）及び図３（ｃ）において、セルを構成する可能性のある最も小さい候補セルを格子ブロックと呼ぶものとする。図３（ｂ）及び図３（ｃ）においては、格子ブロックａ乃至ｄが存在する。さらに、例えば図３（ｃ）に示すように、座標値に基づき、格子ブロックａには格子インデックス（１，１）、格子ブロックｂには格子インデックス（１，２）、格子ブロックｃには格子インデックス（２，１）、格子ブロックｄには格子インデックス（２，２）が付与される。格子ブロックを用いることによって、座標の比較処理などを最小限に押さえることができ、処理を簡略化・高速化させることができるようになる。
【００３８】
次に、セル認識処理部５は、上記アルゴリズムに従って候補セル集合を生成する（ステップＳ３）。例えば罫線の確からしさなどから、図３（ｄ）の例では、格子ブロックａから構成される候補セル（１）、格子ブロックｂから構成される候補セル（２）、格子ブロックｂ乃至ｄから構成される候補セル（３）、格子ブロックｃ及びｄから構成される候補セル（４）が、特定される。但し、この段階では、罫線などから候補セルを特定して、候補セルと格子ブロックとの対応関係は特定されていないものとする。
【００３９】
そして、セル認識処理部５は、各候補セルを構成する格子ブロックを特定し、格子テーブルを生成して格子データ格納部７に格納する（ステップＳ５）。具体的には、各候補セルの頂点座標と格子データ格納部７に格納されている格子点座標（図４）とを比較し、各候補セルの各頂点について最も近い格子点を対応付け、セルの頂点と格子点との対応関係に基づき、各候補セルが包含する格子ブロックを特定し、登録する。
【００４０】
例えば、図５に示すような格子テーブルが格子データ格納部７に格納される。図５の例では、候補セルの採否を表す採用フラグの列と、候補セル番号の列と、候補セルの座標の列と、候補セルを構成する格子インデックスの列とを含む。この段階では、採用フラグについては全てオフにセットされている。座標については、基本的には左上の頂点（又は格子点）の座標と右下の頂点（又は格子点）の座標とが登録される。候補セル（３）の場合には、２つの領域に分けて左上の頂点及び右下の頂点の座標を登録してもよいし、全ての頂点の座標を登録するようにしてもよい。
【００４１】
さらに、セル認識処理部５は、上記アルゴリズムに従って、表を完成させる、候補セルの組み合わせの候補を抽出すると共に、その中から最も確からしい、候補セルの最適組み合わせを特定し、格子データ格納部７の格子テーブルに登録する（ステップＳ７）。例えば図３（ｅ）の例では、候補セル（１）と候補セル（３）との組み合わせと、候補セル（１）と候補セル（２）と候補セル（４）との組み合わせとが候補として抽出される。そして、これらの中から最も確からしい候補が図３（ｅ）の右側であると特定される。そうすると、格子データ格納部７の格子テーブルにおいて、候補セル（１）と候補セル（２）と候補セル（４）との採用フラグがオンにセットされる。図５の例では、第１行目、第２行目、第４行目の採用フラグがオンにセットされる。
【００４２】
そうすると、表認識結果表示部１９は、格子データ格納部７に格納されている格子テーブルのデータを用いて、候補セルの最適組み合わせを表認識結果として表示装置に表示する（ステップＳ９）。例えば、図３（ｆ）に示すような表示がなされるようになる。
【００４３】
そして、ユーザによって予め定められたキーや表示画面に表示されている所定のボタンなどがクリックされると、候補セル修正処理を実施するようになる（ステップＳ１１）。例えば、例えば図３（ｆ）に示されるような表が表示されている場合に、ユーザによりいずれかの候補セルが誤りセルとして選択された場合に、ステップＳ１１を実行するようにしてもよい。
【００４４】
ステップＳ１１の処理については、次候補生成部９１を用いた場合、関連候補生成部９３を用いた場合、連続候補生成部９５を用いた場合で異なるので、それぞれについて説明する。
【００４５】
（１）次候補生成部９１を用いた場合
次候補生成部９１を用いた場合の処理について図６乃至図１２を用いて説明する。ユーザは、表示装置に表示された、認識結果である初期的な表を見て、誤認識が無いか確認する。そして誤認識が存在している場合には、入力装置（例えばマウスやペン）を用いて、誤認識に係るセルを指定する。帳票設計支援装置１００の誤りセル入力部１１は、ユーザからの誤りセルの選択入力を受け付け（ステップＳ２１）、誤りセルのデータを候補生成部９に出力する。
【００４６】
例えば、図７に示すような表を含む画像を処理する例を説明する。点線は、罫線のかすれを示している。このような場合には、上で述べた処理において、図８に示すような格子ブロック群（インデックス（１，１）乃至（１，４）、（２，１）乃至（２，４））が認識され、図９に示すような格子テーブルが形成される。格子テーブルの形式は図５に示したものと同様である。図９のような格子テーブルに従えば、表認識結果表示部１９は、図１０（ａ）に示すような表示を行う。但し、この段階では誤りセルを意味する強調表示（ハッチング）はまだなされない。ユーザが誤りセルを指定すると、誤りセルが強調表示され、当該誤りセルのデータが次候補生成部９１に出力される。
【００４７】
候補生成部９の次候補生成部９１は、誤りセルのデータを受信すると、格子データ格納部７内の格子テーブルにおいて誤りセルを不採用に変更する（ステップＳ２３）。なお、誤りセルの候補セル番号（図１０（ａ）の例では候補セル番号（２））などについては例えばメインメモリに保持しておく。また、次候補生成部９１は、格子データ格納部７内の格子テーブルから、誤りセルを構成する格子ブロックのインデックスを特定する（ステップＳ２５）。誤りセルのレコードにおいて格子インデックスの列のデータを読み出す。図９の例では、候補セル番号（２）が誤りセルなので、インデックス（１，２）及び（１，３）が特定される。
【００４８】
次に、候補生成部９は、誤りセルを除く不採用候補セルの中から誤りセルを構成するいずれかの格子ブロックを含む候補セルを次候補セルとして選択する（ステップＳ２７）。図９の例では、格子ブロックのインデックス（１，２）又は（１，３）を含む候補セルを選択することになるので、図１０（ｂ）に示すように、候補セル番号（６）、（７）、（８）、（９）が選択される。
【００４９】
但し、（６）を選択した場合には、（７）が選択されることになり、（７）を選択すると、（６）が選択されることになるので、（７）については除外する場合もある。すなわち、誤りセルを構成する格子ブロックが２つの場合、そのいずれかの格子ブロックのみを次候補セルとして選択するようにしてもよい。また、候補セルの尤度が保持されている場合には、尤度が低い候補セルを除外したり、他のルール（例えば他の候補セルとの関係で互いに相補的な関係にある候補セルはいずれかのみを選択するルールなど）によって除外するようにしてもよい。
【００５０】
そして、次候補生成部９１は、次候補セルのデータ（候補セル番号及び座標のデータなど）を候補データ格納部１３に格納する。
【００５１】
候補表示部１５は、次候補セルを表示装置に提示する（ステップＳ２９）。次候補セルの提示方法は、例えば図１１（ａ）及び（ｂ）に示すように、次候補セルを所定の順番で表示するような方式であってもよい。すなわち、ＮＧボタンがクリックされると、次の次候補セルが表示される。全ての次候補セルが表示し終わった場合には最初の次候補セルを表示すればよい。一方、全ての次候補セルを、他の表示欄等において提示するようにして、いずれかを選択させる方式を採用してもよい。この際、次候補セルの形状のみではなく、例えば縮小表示された表全体を提示するようにしてもよい。ユーザは、表示された次候補セルのうち適切と考えるものを選択する。
【００５２】
候補選択入力部１７は、ユーザから次候補セルの選択入力を受け付け、当該次候補セルの候補セル番号から、格子データ格納部７内の格子テーブルにおいて採用フラグをオンにセットする（ステップＳ３１）。そして、候補選択入力部１７は、表認識結果表示部１９に対し、格子データ格納部７に格納されているデータを基に表示をリフレッシュするように指示する。表認識結果表示部１９は、候補選択入力部１７からの指示に従って、格子データ格納部７に格納されているデータを用いて表示を更新する（ステップＳ３３）。
【００５３】
以上のような処理を実施することによって、ユーザは正しいセルを座標を気にしつつ描画する必要はなく、次候補セルを選択するだけで済む。すなわち、容易に修正を行うことができ、ユーザの手間を削減することができるようになる。
【００５４】
なお、ステップＳ２７については、図１２に示すような処理を行う。すなわち、格子データ格納部７内の格子テーブルにおいて、未処理の不採用候補セルを特定する（ステップＳ４１）。すなわち、採用フラグがオフにセットされている候補セルを１つ特定する。そして、特定された不採用候補セルが、ステップＳ２５で特定されており且つ誤りセルを構成する格子ブロックと完全に同じ格子ブロックで構成されているか判断する（ステップＳ４３）。すなわち、誤りセルは不採用候補セルとなるので、ステップＳ４３で誤りセルを次候補セルとして提示しないようにするものである。不採用候補セルが、誤りセルを構成する格子ブロックと完全に同じ格子ブロックで構成されている場合にはステップＳ４９に移行する。
【００５５】
一方、不採用セルが、誤りセルを構成する格子ブロックと完全に同じ格子ブロックで構成されているとは言えない場合には、特定された不採用候補セルが、誤りセルと一部同じ格子ブロックを含むか判断する（ステップＳ４５）。誤りセルと同じ格子ブロックを全く含まない場合には、誤りセルを置換できるような候補セルではないので、ステップＳ４９に移行する。一方、特定された不採用候補セルが、誤りセルと一部同じ格子ブロックを含む場合には、当該不採用候補セルを次候補セルとして特定する（ステップＳ４７）。
【００５６】
そして、全ての不採用候補セルについて処理したか判断し（ステップＳ４９）、未処理の不採用候補セルが存在している場合にはステップＳ４１に戻り、全ての不採用候補セルについて処理が完了した場合には元の処理に戻る。
【００５７】
（２）関連候補生成部９３を用いた場合
次に関連候補生成部９３を用いた場合の処理を図１３乃至図１６を用いて説明する。次候補生成部９１の処理では、１つの誤りセルの選択につき、１つの候補セルしか修正できないが、実際には１つ誤りセルが存在すると、その影響は他の候補セルにも及ぶ場合が多い。ここでは、同時に２つ以上の候補セルを組み合わせて関連候補として提示する。関連候補は、（ａ）組み合わせ中のいずれの候補セルも、誤りセル及び当該組み合わせのコアとなる次候補セルと完全一致せず、（ｂ）組み合わせた候補セル同士には重なりが無く、（ｃ）組み合わせた候補セルと次候補セルを合わせると誤りセルを埋めるというものである。
【００５８】
まず、ユーザは、表示装置に表示された、認識結果である初期的な表を見て、誤認識が無いか確認する。そして誤認識が存在している場合には、入力装置（例えばマウスやペン）を用いて、誤認識に係るセルを指定する。帳票設計支援装置１００の誤りセル入力部１１は、ユーザからの誤りセルの選択入力を受け付け（ステップＳ５１）、誤りセルのデータを候補生成部９に出力する。ここでも、図７に示すような表を含む画像を処理する例を説明する。同様に、上で述べた処理において、図８に示すような格子ブロック群が認識され、図９に示すような格子テーブルが形成されるものとする。そうすると、表認識結果表示部１９は、図１４（ａ）に示すような表示を行う。但し、この段階では誤りセルを意味する強調表示（ハッチング）はまだなされない。ユーザが誤りセルを指定すると、誤りセルが強調表示され、当該誤りセルのデータが関連候補生成部９３に出力される。
【００５９】
候補生成部９の関連候補生成部９３は、誤りセルのデータを受信すると、格子データ格納部７内の格子テーブルにおいて誤りセルを不採用に変更する（ステップＳ５３）。なお、誤りセルの候補セル番号（図１４（ａ）の例では候補セル（２））などについては例えばメインメモリに保持しておく。また、関連候補生成部９３は、格子データ格納部７内の格子テーブルから、誤りセルを構成する格子ブロックのインデックスを特定する（ステップＳ５５）。誤りセルのレコードにおいて格子インデックスの列のデータを読み出す。図９の例では、候補セル番号（２）が誤りセルなので、インデックス（１，２）及び（１，３）が特定される。
【００６０】
次に、関連候補生成部９３は、誤りセルを除く不採用候補セルの中から誤りセルを構成するいずれかの格子ブロックを含む候補セルを次候補セルとして選択する（ステップＳ５７）。図９の例では、格子ブロックのインデックス（１，２）又は（１，３）を含む候補セルを選択することになるので、候補セル（６）、（７）、（８）、（９）が選択される。なお、具体的には図１２の処理を実施する。
【００６１】
また、関連候補生成部９３は、各次候補セルについて、誤りセルと共有する（すなわち誤りセルと共通する）格子ブロックのインデックスを特定し、例えばメインメモリなどの記憶装置に格納する（ステップＳ５９）。図９の例では、候補セル（６）については格子ブロック（１，２）が特定され、候補セル（７）については格子ブロック（１，３）が特定され、候補セル（８）については格子ブロック（１，３）が特定され、候補セル（９）については（１，２）が特定される。
【００６２】
さらに、関連候補生成部９３は、各次候補セルについて、誤りセルから、ステップＳ５９で特定された格子ブロックを除外した後の格子ブロックのインデックスを残余格子ブロックとして抽出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ６１）。候補セル（６）については格子ブロック（１，３）が特定され、候補セル（７）については格子ブロック（１，２）が特定され、候補セル（８）については格子ブロック（１，２）が特定され、候補セル（９）については（１，３）が特定される。
【００６３】
そして、関連候補生成部９３は、誤りセルを除き不採用の候補セルから、各次候補セルについて、残余格子ブロックを含み且つ当該次候補セルとは異なる候補セルを関連候補セルとして特定し、次候補セルと関連候補セルとの組み合わせを関連候補として、候補データ格納部１３に登録する（ステップＳ６３）。
【００６４】
候補セル（６）については、格子ブロック（１，３）を含む候補セル（７）及び候補セル（８）が特定される。すなわち、候補セル（６）と（７）との組み合わせである関連候補と、候補セル（６）と（８）との組み合わせである関連候補とが構成され、これらの候補セル番号及び座標データなどが候補データ格納部１３に格納される。
【００６５】
候補セル（７）については、格子ブロック（１，２）を含む候補セル（６）及び候補セル（９）が特定される。すなわち、候補セル（７）及び（６）との組み合わせである関連候補と、候補セル（７）及び（９）との組み合わせである関連候補とが構成され、これらの候補セル番号及び座標データなどが候補データ格納部１３に格納される。
【００６６】
候補セル（８）については、格子ブロック（１，２）を含む候補セル（６）及び候補セル（９）が特定される。すなわち、候補セル（８）及び（６）との組み合わせである関連候補と、候補セル（８）及び（９）との組み合わせである関連候補とが構成され、これらの候補セル番号及び座標データなどが候補データ格納部１３に格納される。
【００６７】
候補セル（９）については、格子ブロック（１，３）を含む候補セル（７）及び候補セル（８）が特定される。すなわち、候補セル（９）及び（７）との組み合わせである関連候補と、候補セル（９）及び（８）との組み合わせである関連候補とが構成され、これらの候補セル番号及び座標データなどが候補データ格納部１３に格納される。
【００６８】
これらをまとめると図１４（ｂ）に示すように８つの関連候補が生成されたことになる。図１４（ｂ）でハッチングが付されている候補セルが次候補セルである。但し、次候補セルと関連候補セルとの組み合わせとしては、図１４（ｂ）に示されているように重複があるので実質４つの関連候補しかない。
【００６９】
処理は端子Ａを介して図１５の処理に移行して、関連候補生成部９３は、上で述べたように、関連候補の中で同一の格子ブロックの組み合わせを抽出して、存在する場合にはそれらをマージする処理を実施する（ステップＳ６５）。具体的には、候補データ格納部１３において、重複する関連候補セルのデータを１つを残して残りを削除する。
【００７０】
そして候補表示部１５は、関連候補を表示装置に提示する（ステップＳ６７）。関連候補の提示方法は、例えば図１６（ａ）及び（ｂ）に示すように、関連候補を所定の順番で表示するような方式であってもよい。すなわち、ＮＧボタンがクリックされると、次の関連候補が表示される。全ての関連候補が表示し終わった場合には最初の関連候補を表示すればよい。一方、全ての関連候補を、他の表示欄において提示するようにして、いずれかを選択させる方式を採用してもよい。この際、関連候補の形状のみではなく、例えば縮小表示された表全体を提示するようにしてもよい。ユーザは、表示された関連候補のうち適切と考えるものを選択する。
【００７１】
候補選択入力部１７は、ユーザから関連候補の選択入力を受け付け、当該関連候補の候補セル番号から、格子データ格納部７内の格子テーブルにおいて採用フラグをオンにセットする（ステップＳ６９）。そして、候補選択入力部１７は、表認識結果表示部１９に対し、格子データ格納部７に格納されているデータを基に表示をリフレッシュするように指示する。表認識結果表示部１９は、候補選択入力部１７からの指示に従って、格子データ格納部７に格納されているデータを用いて表示を更新する（ステップＳ７１）。
【００７２】
以上のような処理を実施することによって、ユーザは関連候補を選択するだけで済むようになる。２つ以上の候補セルが一度に設定できるので、よりユーザの手間が削減されている。
【００７３】
（３）連続候補生成部９５を用いた場合
次に連続候補生成部９５を用いた場合の処理を図１７乃至図２２を用いて説明する。連続候補生成部９５の処理では、１つの誤りセルの選択につき、１つの候補セルしか修正できないが、実際には１つ誤りセルが存在すると、その影響は他の候補セルにも及ぶ場合が多い。ここでは、連続的に誤りセルを指定できるようにして、その都度次候補セルを提示することで、ユーザビリティ及び効率を向上させるものである。
【００７４】
まず、ユーザは、表示装置に表示された、認識結果である初期的な表を見て、誤認識が無いか確認する。そして誤認識が存在している場合には、入力装置（例えばマウスやペン）を用いて、誤認識に係るセルを指定する。帳票設計支援装置１００の誤りセル入力部１１は、ユーザからの誤りセルの選択入力を受け付け（ステップＳ８１）、誤りセルのデータを候補生成部９に出力する。ここでも、図７に示すような表を含む画像を処理する例を説明する。同様に、上で述べた処理において、図８に示すような格子ブロック群が認識され、図９に示すような格子テーブルが形成されるものとする。そうすると、表認識結果表示部１９は、図１８（ａ）に示すような表示を行う。但し、この段階では誤りセルを意味する強調表示（ハッチング）はまだなされない。ユーザが誤りセルを指定すると、誤りセルが強調表示され、当該誤りセルのデータが連続候補生成部９５に出力される。
【００７５】
候補生成部９の連続候補生成部９５は、誤りセルのデータを受信すると、格子データ格納部７内の格子テーブルにおいて誤りセルを不採用に変更する（ステップＳ８３）。なお、誤りセルの候補セル番号（図１８（ａ）の例では候補セル番号（２））などについては例えばメインメモリに保持しておく。また、連続候補生成部９５は、格子データ格納部７内の格子テーブルから、誤りセルを構成する格子ブロックのインデックスを特定する（ステップＳ８５）。誤りセルのレコードにおいて格子インデックスの列のデータを読み出す。図９の例では、候補セル番号（２）が誤りセルなので、（１，２）及び（１，３）が特定される。
【００７６】
次に、連続候補生成部９５は、誤りセルを除く不採用候補セルの中から誤りセルを構成するいずれかの格子ブロックを含む候補セルを次候補セルとして選択する（ステップＳ８７）。図９の例では、格子ブロックのインデックス（１，２）又は（１，３）を含む候補セルを選択することになるので、候補セル（６）、（７）、（８）、（９）が選択される。なお、具体的には図１２の処理を実施する。
【００７７】
そして、連続候補生成部９５は、次候補セルのデータ（候補セル番号及び座標のデータなど）を候補データ格納部１３に格納する。
【００７８】
候補表示部１５は、次候補セルを表示装置に提示する（ステップＳ８９）。次候補セルの提示方法は、例えば図１１（ａ）及び（ｂ）に示すように、次候補セルを所定の順番で表示するような方式であってもよい。一方、全ての次候補セルを、他の表示欄において提示するようにして、いずれかを選択させる方式を採用してもよい。ユーザは、表示された次候補セルのうち適切と考えるものを選択する。
【００７９】
候補選択入力部１７は、ユーザから次候補セルの選択入力を受け付け、当該次候補セルの候補セル番号から、格子データ格納部７内の格子テーブルにおいて採用フラグをオンにセットする（ステップＳ９１）。また、表認識結果表示部１９は、候補選択入力部１７からの指示に応じて、格子データ格納部７内の格子テーブルに従って、表示を更新する（ステップＳ９２）。
【００８０】
次に、連続候補生成部９５は、格子データ格納部７の更新に応じて、選択された次候補セル（今回採用フラグがオンにセットされた候補セル）を構成する格子ブロックのインデックスを、格子テーブルから特定し、例えばメインメモリなどの記憶装置に格納する（ステップＳ９３）。候補セル（６）が選択されれば格子ブロック（１，２）が特定され、候補セル（７）が選択されれば格子ブロック（１，３）が特定され、候補セル（８）が特定されれば格子ブロック（１，３）及び（１，４）が特定され、候補セル（９）が特定されれば格子ブロック（１，２）及び（２，２）が特定される。ここでは、図１８（ｂ）に示されているように、候補セル（９）が選択されたものとすると、格子ブロック（１，２）及び（２，２）が特定され、メインメモリなどの記憶装置に格納される。
【００８１】
処理は端子Ｂを介して図１９の処理に移行し、連続候補生成部９５は、格子データ格納部７内の格子テーブルにおいて、選択された次候補セルを除く採用候補セルの中から、選択された次候補セルを構成するいずれかの格子ブロックを含む候補セルを抽出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ９５）。図９の例では、候補セル（５）が抽出される。但し、場合によっては存在しない場合もある。
【００８２】
そして、連続候補生成部９５は、ステップＳ９５で候補セルが抽出できたか判断する（ステップＳ９７）。抽出できなければステップＳ１０１に移行する。一方、抽出された候補セルが存在すれば、格子テーブルにおいて、当該抽出された候補セルを不採用に変更する（ステップＳ９９）。ここで不採用に変更された候補セルのセル番号も例えばメインメモリなどの記憶装置に格納しておく。上の例では候補セル（５）の採用フラグがオフにセットされる。これは、図１８（ｃ）に示すように、新たに採用となった次候補セルと重なる候補セルを削除する処理である。
【００８３】
その後、連続候補生成部９５は、全ての格子ブロックから、採用となっていない格子ブロックのインデックスを抽出する（ステップＳ１０１）。ステップＳ１０１の段階で格子テーブルは図２０に示したような状態となっており、採用候補セルの格子ブロックは、（１，１）、（１，２）、（１，４）、（２，１）、（２，２）となり、全体の格子ブロック（１，１）乃至（１，４）及び（２，１）乃至（２，４）から、採用となっていない格子ブロックは、（１，３）、（２，３）及び（２，４）であることが特定される。
【００８４】
そして、連続候補生成部９５は、採用となっていない格子ブロックがステップＳ１０１で抽出できたか判断する（ステップＳ１０３）。もし、採用となっていない格子ブロックが存在しない場合には、全ての格子ブロックが候補セルによって埋められているので、元の処理に戻る。
【００８５】
一方、採用となっていない格子ブロックが存在する場合には、ステップＳ１０１で特定された全ての格子ブロックを擬似誤りセルとして特定し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１０５）。そして端子Ｃを介してステップＳ８７に戻り、擬似誤りセルを、ユーザにより指定された誤りセルとして処理を実施する。なお、ユーザによって指定された誤りセルは二度と採用されないので、ステップＳ８７では必ず除外対象に入れる。さらに、ステップＳ９９で不採用に設定された候補セルについても提示するのは不適切であるから、ステップＳ８７では必ず除外対象に入れる。
【００８６】
図２０の例では、図１８（ｄ）でハッチングが付された部分が擬似誤りセルとして特定される。従って、次のステップＳ８７では、（１，３）、（２，３）及び（２，４）のいずれかを含む不採用の候補セルを特定すると、候補セル（７）、候補セル（８）、候補セル（１０）が次候補セルとして特定される。すなわち、図１８（ｅ）に示すように候補セルが３種類提示されるようになる。提示の仕方はステップＳ８９で述べたとおりである。
【００８７】
このような処理を行うことによって、誤りセルを指定することによって生ずる他の誤りセルを順次修正することができるようになり、ユーザの修正作業が簡便且つ容易になる。さらに、業務効率も改善される。
【００８８】
以上表におけるセルの修正について説明したが、本実施の形態は、表を構成する罫線の修正にも適用することができる。具体的には、図２１に示すような格子テーブルを用いる。すなわち、採用フラグの列と、罫線番号の列と、座標（始点及び終点）の列と、始点インデックス（格子点の識別子）の列と、終点インデックスの列とが設けられている。このように、格子ブロックのインデックスではなく、始点及び終点の格子点の識別子（インデックス）で特定する。罫線の場合でも、格子ブロックを単位格子点間の罫線であるとして処理すれば、同様の処理で対処できる。
【００８９】
また、罫線の場合も、図２２（ａ）に示すように、ユーザが誤り罫線を指定すると、図２２（ｂ）に示すように、罫線候補が表示される。図２２（ｂ）の例では、全ての候補（候補Ａ乃至Ｃ）を一度に表示する例を示している。罫線の場合には、表示スペースに余裕があるので、一度に表示してもあまり問題とならない場合が多いが、１つずつ罫線候補を提示するようにしてもよい。ユーザが例えば罫線候補Ｂを指定すれば、図２２（ｃ）に示すように、罫線が置換されるようになる。
【００９０】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、画面例は一例にすぎず、様々な形態に変更可能である。すなわち、ＯＫボタンやＮＧボタンを用いなくとも、所定のキーを押すことによって次候補を表示させるようにしてもよいし、エンターキーで確定されるようにすることも可能である。
【００９１】
また、図１に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成を表すものではない。
【００９２】
さらに、帳票設計支援装置１００は、図２３のようなコンピュータ装置であって、メモリ２５０１（記憶装置）とＣＰＵ２５０３（処理装置）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００９３】
（付記１）
複数のセルを含む表の画像から複数の候補セルを生成し、当該候補セルの特定の組み合わせを抽出して初期的な表を出力するステップと、
前記初期的な表においてユーザから当該初期的な表に含まれる特定の候補セルの指定を誤りセルの指定として受け付けるステップと、
指定された前記誤りセルの少なくとも一部を置換可能な候補セルを前記候補セルの特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成ステップと、
前記記憶装置に格納された前記候補集合をユーザに提示して、前記候補集合に含まれるいずれかの候補セルの選択を促す提示ステップと、
を含み、コンピュータにより実行される表データ処理方法。
【００９４】
（付記２）
前記候補集合に含まれる前記候補セルのそれぞれにつき、当該候補セルと同時に選択されるべき関連候補セルを特定する関連候補セル特定ステップ
を含み、
前記提示ステップが、
前記候補集合に含まれる前記候補セル及び当該候補セルの関連候補セルを提示するステップ
を含む付記１記載の表データ処理方法。
【００９５】
（付記３）
ユーザから前記候補集合に含まれるいずれかの候補セルの選択を次候補セルの選択として受け付けるステップと、
選択された前記次候補セルの次に選択されるべき第３の候補セルを特定し、当該第３の候補セルのデータを前記記憶装置に格納する第３候補セル特定ステップと、
前記記憶装置に格納された前記第３の候補セルをユーザに提示するステップと、
を含む付記１記載の表データ処理方法。
【００９６】
（付記４）
前記関連候補セル特定ステップが、
前記候補集合に含まれる前記候補セルのそれぞれにつき、当該候補セルと前記誤りセルとで重複しない、前記誤りセルの部分である非重複部分を特定するステップと、
前記候補集合に含まれる前記候補セルのそれぞれにつき、前記非重複部分を含む、前記候補セルの特定の組み合わせ以外の候補セルを、前記関連候補セルとして特定するステップと、
を含む付記２記載の表データ処理方法。
【００９７】
（付記５）
前記第３候補セル特定ステップが、
選択された前記次候補セルを採用し前記誤りセルを除外することによって生ずる前記初期的な表における空白を擬似誤りセルとして選択するステップと、
前記擬似誤りセルを前記誤りセルとして前記候補集合生成ステップ以降のステップを実行するステップと、
を含む付記３記載の表データ処理方法。
【００９８】
（付記６）
前記表は、前記候補セルの最小単位である格子ブロックに分割されており、
前記複数の候補セルの各々について、当該候補セルを構成する格子ブロックの識別データと、前記表を構成するセルであるか否かを表すデータとが格子データ格納部に格納されており、
前記候補集合生成ステップが、
指定された前記誤りセルを構成する格子ブロックを前記格子データ格納部から特定するステップと、
前記格子データ格納部から、特定された前記格子ブロックを含む候補セルを、前記候補セルの特定の組み合わせ以外から抽出するステップと、
を含む付記１記載の表データ処理方法。
【００９９】
（付記７）
前記表は、前記候補セルの最小単位である格子ブロックに分割されており、
前記複数の候補セルの各々について、当該候補セルを構成する格子ブロックの識別データと、前記表を構成するセルであるか否かを表すデータとが格子データ格納部に格納されており、
前記候補集合生成ステップが、
指定された前記誤りセルを構成する格子ブロックを前記格子データ格納部から特定するステップと、
前記格子データ格納部から、特定された前記格子ブロックを含む候補セルを、前記候補セルの特定の組み合わせ以外から前記候補集合に含まれる候補セルとして抽出するステップと、
を含み、
前記関連候補セル特定ステップが、
前記格子データ格納部から特定される前記候補セルを構成する格子ブロックと、前記誤りセルを構成する格子ブロックとを比較することによって、前記候補集合に含まれる候補セルの各々について、当該候補セルと前記誤りセルとで重複せず且つ前記誤りセルに含まれる格子ブロックである非重複格子ブロックを特定するステップと、
前記候補集合に含まれる候補セルの各々について、前記非重複格子ブロックを含む、前記候補セルの特定の組み合わせ以外の候補セルを、前記格子データ格納部から前記関連候補セルとして特定するステップと、
を含む付記２記載の表データ処理方法。
【０１００】
（付記８）
前記表は、前記候補セルの最小単位である格子ブロックに分割されており、
前記複数の候補セルの各々について、当該候補セルを構成する格子ブロックの識別データと、前記表を構成するセルであるか否かを表すデータとが格子データ格納部に格納されており、
前記候補集合生成ステップが、
前記格子データ格納部において、指定された前記誤りセルに対して前記表を構成するセルから除外するようにデータを登録するステップと、
指定された前記誤りセルを構成する格子ブロックを前記格子データ格納部から特定するステップと、
特定された前記格子ブロックを含む候補セルを、前記格子データ格納部において前記誤りセルを除き前記表を構成するセルではないとされる候補セルから、前記候補集合に含まれる候補セルとして抽出するステップと、
を含み、
前記第３候補セル特定ステップが、
前記格子データ格納部において、選択された前記次候補セルを前記表を構成するセルとして登録するステップと、
前記格子データ格納部において、選択された前記次候補セルを除き前記表を構成するセルとして登録されている候補セルのうち、前記誤りセルを構成する格子ブロックを含む候補セルを特定し、前記表を構成するセルから除外するようにデータを登録するステップと、
前記格子データ格納部において、前記表を構成するセルとして登録されている候補セルのいずれにも採用されていない格子ブロックを擬似誤りセルとして特定するステップと、
前記擬似誤りセルを前記誤りセルとして前記候補集合生成ステップ以降のステップを実行するステップと、
を含む付記３記載の表データ処理方法。
【０１０１】
（付記９）
複数の罫線を含む表の画像から複数の候補罫線を生成し、当該候補罫線の特定の組み合わせを抽出して初期的な表を出力するステップと、
前記初期的な表においてユーザから当該初期的な表に含まれる特定の候補罫線の指定を誤り罫線の指定として受け付けるステップと、
指定された前記誤り罫線の少なくとも一部を置換可能な候補罫線を前記候補罫線の特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成ステップと、
前記記憶装置に格納された前記候補集合をユーザに提示して、前記候補集合に含まれるいずれかの候補罫線の選択を促す提示ステップと、
を含み、コンピュータにより実行される表データ処理方法。
【０１０２】
（付記１０）
前記候補集合に含まれる前記候補罫線のそれぞれにつき、当該候補罫線と同時に選択されるべき関連候補罫線を特定するステップ
を含み、
前記提示ステップが、
前記候補集合に含まれる前記候補罫線及び当該候補罫線の関連候補罫線を提示するステップ
を含む付記９記載の表データ処理方法。
【０１０３】
（付記１１）
ユーザから前記候補集合に含まれるいずれかの候補罫線の選択を次候補罫線の選択として受け付けるステップと、
選択された前記次候補罫線の次に選択されるべき第３の候補罫線を特定し、当該第３の候補罫線のデータを前記記憶装置に格納するステップと、
前記記憶装置に格納された前記第３の候補罫線をユーザに提示するステップと、
を含む付記９記載の表データ処理方法。
【０１０４】
（付記１２）
付記１乃至１１のいずれか１つ記載の表データ処理方法をコンピュータに実行させるためのプログラム。
【０１０５】
（付記１３）
複数のセルを含む表の画像から複数の候補セルを生成し、当該候補セルの特定の組み合わせを抽出して初期的な表を出力する手段と、
前記初期的な表においてユーザから当該初期的な表に含まれる特定の候補セルの指定を誤りセルの指定として受け付ける手段と、
指定された前記誤りセルの少なくとも一部を置換可能な候補セルを前記候補セルの特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成手段と、
前記記憶装置に格納された前記候補集合をユーザに提示して、前記候補集合に含まれるいずれかの候補セルの選択を促す提示手段と、
を有する表データ処理装置。
【０１０６】
（付記１４）
複数の罫線を含む表の画像から複数の候補罫線を生成し、当該候補罫線の特定の組み合わせを抽出して初期的な表を出力する手段と、
前記初期的な表においてユーザから当該初期的な表に含まれる特定の候補罫線の指定を誤り罫線の指定として受け付ける手段と、
指定された前記誤り罫線の少なくとも一部を置換可能な候補罫線を前記候補罫線の特定の組み合わせ以外から選択して候補集合を生成し、当該候補集合のデータを記憶装置に格納する候補集合生成手段と、
前記記憶装置に格納された前記候補集合をユーザに提示して、前記候補集合に含まれるいずれかの候補罫線の選択を促す提示手段と、
を有する表データ処理装置。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施の形態における帳票設計支援装置の機能ブロック図である。
【図２】本発明の実施の形態におけるメインの処理フローを示す図である。
【図３】（ａ）乃至（ｆ）は、メインの処理フローの前処理を説明するための図である。
【図４】格子データ格納部に格納されるデータの一例を示す図である。
【図５】格子テーブルに格納されるデータの一例を示す図である。
【図６】次候補生成部による第１候補セル修正処理の処理フローを示す図である。
【図７】入力画像の一例を示す図である。
【図８】格子ブロック及びインデックスを説明するための図である。
【図９】格子テーブルに格納されるデータの一例を示す図である。
【図１０】（ａ）及び（ｂ）は、第１候補セル修正処理の処理の概要を説明するための図である。
【図１１】（ａ）及び（ｂ）は、第１候補セル修正処理における画面例を示す図である。
【図１２】次候補セル特定処理の処理フローを示す図である。
【図１３】関連候補生成部による第２候補セル修正処理の処理フローを示す図である。
【図１４】（ａ）及び（ｂ）は、第２候補セル修正処理の処理の概要を説明するための図である。
【図１５】関連候補生成部による第２候補セル修正処理の処理フローを示す図である。
【図１６】（ａ）及び（ｂ）は、第２候補セル修正処理における画面例を示す図である。
【図１７】連続候補生成部による第３候補セル修正処理の処理フローを示す図である。
【図１８】（ａ）乃至（ｅ）は、連続候補生成部を用いた場合の処理の概要を示す図である。
【図１９】連続候補生成部による第３候補セル修正処理の処理フローを示す図である。
【図２０】格子テーブルに格納されるデータの他の例を示す図である。
【図２１】罫線の場合における格子テーブルの一例を示す図である。
【図２２】（ａ）乃至（ｃ）は、罫線の場合における処理の概要を説明するための図である。
【図２３】コンピュータの機能ブロック図である。
【図２４】（ａ）乃至（ｄ）は、従来技術を説明するための図である。
【符号の説明】
【０１０８】
１  画像入力部    ３  画像データ格納部    ５  セル認識処理部
７  格子データ格納部    ９  候補生成部  １１  誤りセル入力部
１３  候補データ格納部    １５  候補表示部    １７  候補選択入力部
１９  表認識結果表示部
９１  次候補生成部    ９３  関連候補生成部    ９５  連続候補生成部
【図１】
2008046812.tif 000003
【図２】
2008046812.tif 000004
【図３】
2008046812.tif 000005
【図４】
2008046812.tif 000006
【図５】
2008046812.tif 000007
【図６】
2008046812.tif 000008
【図７】
2008046812.tif 000009
【図８】
2008046812.tif 000010
【図９】
2008046812.tif 000011
【図１０】
2008046812.tif 000012
【図１１】
2008046812.tif 000013
【図１２】
2008046812.tif 000014
【図１３】
2008046812.tif 000015
【図１４】
2008046812.tif 000016
【図１５】
2008046812.tif 000017
【図１６】
2008046812.tif 000018
【図１７】
2008046812.tif 000019
【図１８】
2008046812.tif 000020
【図１９】
2008046812.tif 000021
【図２０】
2008046812.tif 000022
【図２１】
2008046812.tif 000023
【図２２】
2008046812.tif 000024
【図２３】
2008046812.tif 000025
【図２４】
2008046812.tif 000026