(57)【特許請求の範囲】
【請求項１】
表イメージを解析する画像処理方法であって、
第１識別手段が、表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第１識別ステップと、
第２識別手段が、可視の格子線と前記表イメージの縁に沿った不可視の格子線との少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第２識別ステップと、
第１判定手段が、前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第１判定ステップと、
第２判定手段が、前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第２判定ステップと、
第３判定手段が、前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第３判定ステップと、
保存手段が、前記第１識別ステップで識別された表セルと、前記第２識別ステップで識別されたスーパーセルと、前記第１及び第２判定ステップで判定された可視及び不可視の格子線と、前記第３判定ステップで判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存ステップと、を有し、
前記第３判定ステップは、
反転テキスト判別手段が、前記表イメージの反転テキスト領域を判別する反転テキスト判別ステップと、
垂直ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算ステップと、
第１割り当て手段が、前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第１割り当てステップと、
水平ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算ステップと、
第２割り当て手段が、前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第２割り当てステップと、
第３割り当て手段が、前記第１及び第２割り当てステップで割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第３割り当てステップと、を含むことを特徴とする画像処理方法。
【請求項２】
前記保存ステップで保存される前記表イメージのデータは、階層木構造のデータであることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記反転テキスト判別ステップでは、前記垂直及び水平ヒストグラムに基づいて白色領域が所定の閾値より小さいか否か判別し、前記白色領域が前記閾値より小さいと判定した領域を反転テキスト領域として判別することを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記表イメージに含まれる複数のテキスト・ブロックに基づいて識別された表セルの行及び列アドレスと、前記可視の格子線と前記表イメージの縁に沿った不可視の格子線とに基づいて識別されたスーパーセルの大きさとに基づいて、欠落している表セルを判別し、当該欠落していると判別された位置に新たに表セルを作成する作成ステップを、更に含むことを特徴とする請求項１に記載の画像処理方法。
【請求項５】
表イメージを解析する画像処理装置であって、
表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第１識別手段と、
可視の格子線と前記表イメージの縁に沿った不可視の格子線の少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第２識別手段と、
前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第１判定手段と、
前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第２判定手段と、
前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第３判定手段と、
前記第１識別手段で識別された表セルと、前記第２識別手段で識別されたスーパーセルと、前記第１及び第２判定手段で判定された可視及び不可視の格子線と、前記第３判定手段で判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存手段と、を有し、
前記第３判定手段は、
前記表イメージの反転テキスト領域を判別する反転テキスト判別手段と、
前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算手段と、
前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第１割り当て手段と、
前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算手段と、
前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第２割り当て手段と、
前記第１及び第２割り当て手段で割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第３割り当て手段と、を含むことを特徴とする画像処理装置。
【請求項６】
コンピュータで実行可能な処理ステップを記憶したコンピュータ可読媒体であって、
前記処理ステップは、
第１識別手段が、表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第１識別ステップと、
第２識別手段が、可視の格子線と前記表イメージの縁に沿った不可視の格子線との少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第２識別ステップと、
第１判定手段が、前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第１判定ステップと、
第２判定手段が、前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第２判定ステップと、
第３判定手段が、前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第３判定ステップと、
保存手段が、前記第１識別ステップで識別された表セルと、前記第２識別ステップで識別されたスーパーセルと、前記第１及び第２判定ステップで判定された可視及び不可視の格子線と、前記第３判定ステップで判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存ステップと、を有し、
前記第３判定ステップは、
反転テキスト判別手段が、前記表イメージの反転テキスト領域を判別する反転テキスト判別ステップと、
垂直ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算ステップと、
第１割り当て手段が、前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第１割り当てステップと、
水平ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算ステップと、
第２割り当て手段が、前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第２割り当てステップと、
第３割り当て手段が、前記第１及び第２割り当てステップで割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第３割り当てステップの各ステップを含むことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表イメージ中の特徴を識別して定義する画像処理方法及び装置に関するものである。
【０００２】
【従来の技術】
従来のページ分割システムは、文書イメージに適用して、その文書イメージの特定の領域に含まれるデータの種類を識別するためのものである。この情報を使用して、特定の領域中のデータを抽出し、この抽出データに実施する処理の種類を決定する。
【０００３】
表イメージを含む文書については、表イメージの中に位置するテキスト領域、又は表セルを、光学式文字認識（ＯＣＲ）処理を使用してＡＳＣＩＩ文字に変換し、これらを、この表セルの位置に対応する情報とともにＡＳＣＩＩファイルに記憶することができる。しかし従来のシステムは、表セルに対応する行及び列アドレスを正確に決定することができない。従って、認識したＡＳＣＩＩ文字を、行及び列アドレス・データに基づくスプレッドシートに確実に入力することができない。
【０００４】
更に、従来のシステムによって生成されたデータが不十分で、ビットマップ表イメージの内部特徴を適切に再作成することができないことがよくある。例えばこのようなデータは、解析した表イメージの垂直及び水平格子線を反映しない。本明細書の定義によれば、垂直及び水平格子線は表内のそれぞれの行及び列を定義するものであり、目に見えるものであっても、又は目に見えないものであってもよい。従って、従来のシステムを使用してＡＳＣＩＩバージョンのビットマップ表を作成することはできるが、このＡＳＣＩＩバージョンは、表格子線を表すデータを含まない。従って、記憶したデータを使用して、表の中の格子線のビットマップ・バージョンを正確に再作成することはできない。更に、表セルの中のテキストを編集したい場合、編集したテキストが格子線と交差し、これによって行／列境界を侵害するかどうかを、従来のシステムが供給する情報に基づいて判定することは難しい。
【０００５】
【発明が解決しようとする課題】
従って、行、列、表格子線などのビットマップ表イメージの内部の特徴を正確に識別し表すためのシステムが求められている。
【０００６】
本発明は上記従来例に鑑みてなされたもので、表イメージを含む画像データから、その表を定義する行、列、表格子線などの特徴を正確に取り出すことができる画像処理方法及び装置を提供することを目的とする。
【０００７】
また本発明の目的は、表セルに含まれるデータを正確に抽出し、スプレッドシート・アプリケーションに出力することができる画像処理方法及び装置を提供することにある。
【０００８】
また更に本発明の目的は、既存の行及び列に基づいて表にセルを簡単に追加することができる画像処理方法及び装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明の画像処理方法は、以下のような工程を有する。
表イメージを解析する画像処理方法であって、
第１識別手段が、表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第１識別ステップと、
第２識別手段が、可視の格子線と前記表イメージの縁に沿った不可視の格子線との少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第２識別ステップと、
第１判定手段が、前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第１判定ステップと、
第２判定手段が、前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第２判定ステップと、
第３判定手段が、前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第３判定ステップと、
保存手段が、前記第１識別ステップで識別された表セルと、前記第２識別ステップで識別されたスーパーセルと、前記第１及び第２判定ステップで判定された可視及び不可視の格子線と、前記第３判定ステップで判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存ステップと、を有し、
前記第３判定ステップは、
反転テキスト判別手段が、前記表イメージの反転テキスト領域を判別する反転テキスト判別ステップと、
垂直ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算ステップと、
第１割り当て手段が、前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第１割り当てステップと、
水平ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算ステップと、
第２割り当て手段が、前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第２割り当てステップと、
第３割り当て手段が、前記第１及び第２割り当てステップで割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第３割り当てステップと、を含むことを特徴とする。
【００１０】
また本発明の一態様に係る画像処理装置によれば、
表イメージを解析する画像処理装置であって、
表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第１識別手段と、
可視の格子線と前記表イメージの縁に沿った不可視の格子線の少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第２識別手段と、
前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第１判定手段と、
前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第２判定手段と、
前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第３判定手段と、
前記第１識別手段で識別された表セルと、前記第２識別手段で識別されたスーパーセルと、前記第１及び第２判定手段で判定された可視及び不可視の格子線と、前記第３判定手段で判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存手段と、を有し、
前記第３判定手段は、
前記表イメージの反転テキスト領域を判別する反転テキスト判別手段と、
前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算手段と、
前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第１割り当て手段と、
前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算手段と、
前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第２割り当て手段と、
前記第１及び第２割り当て手段で割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第３割り当て手段と、を含むことを特徴とする。
【００１１】
前記態様によって本発明は、表イメージの内部特徴を実質的に復元するのに使用できる情報を求める。表イメージ全体を正確に表現するため、求めた情報を更に、ＡＳＣＩＩファイルの中に、又はＡＳＣＩＩファイルとともに記憶することができる。
【００１３】
前記態様の結果、表セルを正確に識別し、これらをスプレッドシートの適当な行に入力することができる。
【００１５】
以上の態様によって、表セルに含まれるデータを正確に抽出し、スプレッドシート・アプリケーションに出力することができる。更に、既存の行及び列に基づいて表にセルを簡単に追加することができる。
【００１６】
この短い概要は、本発明の性質を短時間で理解できるように示したものである。本発明の好ましい実施形態の以下の詳細な説明を添付図面ととともに参照すれば、本発明の理解を更に完全なものとすることができよう。
【００１７】
【発明の実施の形態】
図１は、本発明に基づくブロック選択ベースの表解析システムを実施する代表的なコンピュータ装置の外観を示す図である。
【００１８】
図１には、コンピュータ装置１が示されている。コンピュータ装置１は、モノクロ又はカラーの表示モニタ２を備え、これを使用してコンピュータ装置１はユーザに対してイメージを表示する。コンピュータ装置１は更に、データ・ファイル及びアプリケーション・プログラム・ファイルを記憶するための固定ディスク・ドライブ３、テキスト・データを入力したり表示画面２上のオブジェクトを操作したりするためのキーボード５、及び表示画面２上のオブジェクトを指したり操作したりするためのマウスなどのポインティング・デバイス６を備える。
【００１９】
コンピュータ・システム１は更に、フロッピー・ディスクに読取り及び書込みを行なうためのフロッピー・ディスク・ドライブ４を含む。表イメージを含む文書イメージ・ファイル及びコンピュータで実行可能な本発明の実施の形態を具現化する処理ステップ等は、固定ディスク３に記憶してもよいし、又はフロッピー・ディスク・ドライブ４に挿入されたフロッピー・ディスクに記憶してもよい。或は、文書イメージ・ファイル及び／又はコンピュータで実行可能な処理ステップをＣＤ−ＲＯＭドライブ（図示せず）を介してアクセスしたＣＤ−ＲＯＭから獲得してもよい。
【００２０】
コンピュータ装置１は更に、ローカル・エリア・ネットワークとインタフェースするためのネットワーク・インタフェース１０、及びファクシミリ・メッセージ及びその他のデータ・ファイルを送受するためのファクシミリ／モデム・インタフェース１１を備える。文書イメージ・ファイル及びコンピュータで実行可能な本発明を具現化する処理ステップには、ネットワーク・インタフェース１０を介してネットワーク上でアクセスされてもよい。更に、ファクシミリ／モデム・インタフェース１１を使用して、イメージ及び／又はコンピュータで実行可能な処理ステップをワールド・ワイド・ウェブ（以後ＷＷＷと称する）から取り出すこともできる。
【００２１】
固定ディスク３に記憶される、本実施の形態に基づくブロック選択アプリケーションを含むアプリケーションは、フロッピー・ディスク、ＣＤ−ＲＯＭ、ネットワーク・ドライブ、ＷＷＷなどのコンピュータ可読媒体からダウンロードしてディスク３に記憶するのが最も一般的である。
【００２２】
文書を走査してその文書のビットマップ・イメージ・データをコンピュータ装置１に供給するスキャナ７から文書イメージを入力してもよい。ビットマップ表イメージ・データを含むビットマップ・イメージ・データを固定ディスク３に記憶するときには圧縮フォーマットで記憶してもよいし非圧縮フォーマットで記憶してもよい。
【００２３】
コンピュータ装置１によって処理された文書イメージを出力するためにプリンタ９が提供される。
【００２４】
動作時、ウィンドウ機能オペレーティング・システムの制御下で、本発明の実施の形態に基づくブロック選択アプリケーションなどが記憶されたアプリケーション・プログラムは選択的に起動され、記憶データを処理及び操作する。オペレータの命令及び記憶されたアプリケーション・プログラムに基づいて、スクリーン２にイメージを表示するためのコマンド、及びプリンタ９を使用して表示されたイメージを印刷するためのコマンドが発行される。
【００２５】
図２は、コンピュータ装置１の内部構造を示す詳細ブロック図である。図２に示すように、コンピュータ装置１は、プログラムされたマイクロプロセッサなどの、コンピュータ・バス２１にインタフェースされた中央処理装置（ＣＰＵ）２０を含む。コンピュータ・バス２１には更に、スキャナ・インタフェース２２、プリンタ・インタフェース２３、ネットワーク・インタフェース２４、ファックス／モデム・インタフェース２６、ディスプレイ・インタフェース２７、キーボード・インタフェース２８、及びマウス・インタフェース２９がインタフェースされる。
【００２６】
ＣＰＵ２０がメモリ域にアクセスできるように、ランダム・アクセス・メモリ（ＲＡＭ）などのメイン・メモリ３０が、コンピュータ・バス２１にインタフェースされる。具体的には、ディスク３に記憶されているようなコンピュータで実行可能な処理ステップを実行するときに、ＣＰＵ２０はそれらのステップを、ディスク３又はその他の記憶媒体からメイン・メモリ３０にロードし、メイン・メモリ３０から、これらの処理ステップを実行する。
【００２７】
リード・オンリー・メモリ（ＲＯＭ）３１は、ブートアップの際に使用する処理ステップなどのコンピュータが実行可能な処理ステップ、又は例えばキーボード５の動作用の基本入出力システム（ＢＩＯＳ）シーケンスを記憶するのに使用される。
【００２８】
図３は、本発明の実施の形態に基づくブロック選択処理の方法を説明するフローチャートである。図３に示した処理ステップは、ディスク３などのコンピュータ可読媒体に記憶されたブロック選択アプリケーションに基づいてＣＰＵ２０によって実行されることが好ましい。
【００２９】
図３の処理ステップは、全体として、文書イメージを入力し、その文書イメージの中の接続した構成要素を検出し、テキスト接続構成要素と非テキスト接続構成要素とを分離し、非テキスト接続構成要素を分類し、非テキスト構成要素の縁に沿った白色領域を識別し、テキスト・ブロック及びテキスト行を作成し、入力イメージのスキューを検出し、入力イメージを後処理するのに使用される。
【００３０】
図３に示す処理ステップは、表の中の反転テキスト領域、即ち、周囲を黒色画素で取り囲まれた白色画素によってテキストが構成されるテキスト領域を識別し、付属するテキスト接続構成要素を識別し、表セルのアドレス、ならびに表中の目に見える垂直及び／又は水平格子線によって境界された表領域の中にあって、少なくとも１つの表セルを含む領域であるスーパーセルのアドレスを作成、計算し、目に見えるセル境界の存在を調べ、本実施の形態に基づいて、表格子線の位置を決定するのにも使用されることに留意されたい。この点に関し、表中の格子線は、その表の中で識別されたそれぞれの行及び列を定義するものであり、目に見える格子線又は目に見えない格子線である。
【００３１】
以下、詳しく説明する。図３のステップＳ３０１では、文書イメージのビットマップ画素データをコンピュータ・システム１に入力し、これをディスク３に記憶する。この画素データが２値画素データ、即ち、白黒のイメージ・データであることが好ましい。しかし、イメージ・データが、いくつかのグレースケール・レベルのうちの１つで画素が表されるハーフトーン・イメージ・データである場合、又は画素データが、画素のカラー・データを符号化したマルチビット・ワードによってそれぞれの画素が表されるカラー・イメージ・データである場合には、非２値画素データを２値画素データに２値化するために閾値処理を実行しなければならない。
【００３２】
ステップＳ３０１の後にイメージの縮小を実施してもよいことに留意されたい。このようなイメージの縮小は後続の処理の速度を向上させるが、光学式文字認識などの特徴を集中的な処理に悪影響を及ぼすこともある。
【００３３】
ステップＳ３０２では、入力した画素データを解析し、文書イメージの中の接続構成要素を検出する。接続構成要素とは、白色画素に完全に囲まれた一群の黒色画素である。検出した接続構成要素には、それぞれの接続構成要素についてその接続構成要素を境界する最も小さな長方形を定義する長方形化、即ち、「ブロック化」を実施する。
【００３４】
ステップＳ３０４では、接続構成要素を、テキスト接続構成要素と非テキスト接続構成要素に大まかに分類する。この分類は、接続構成要素を境界する長方形のサイズに基づき、更に非テキスト接続構成要素がテキスト接続構成要素よりも通常は大きいことに基づいて実施される。
【００３５】
ステップＳ３０５では、ステップＳ３０４で非テキスト接続構成要素として分類された接続構成要素を更に解析して、それらが、ライン、ジョイント・ライン、ピクチャ、ライン・アート、フレーム、表、不明（即ち前記以外）のいずれであるかを判定する。
【００３６】
図４は、ステップＳ３０５に基づいて非テキスト接続構成要素を解析する方法を説明する流れ図である。
【００３７】
図４に記載した非テキスト接続構成要素の分類は、全般的に基準閾値（しきい値）に基づく。基準閾値は数式化されており、解析する接続構成要素の大きさ、幅などに基づいて動的に計算される。ステップＳ４０１では非テキスト接続構成要素を解析して、それがハーフトーン（連続階調）ピクチャであるかどうかを判定する。そうである場合にはステップＳ４０２に進み、「ハーフトーン（連続階調）ピクチャ」副属性をその非テキスト接続構成要素に割り当てる。
【００３８】
ステップＳ４０１で、非テキスト接続構成要素がハーフトーン・ピクチャでないと判定された場合にはステップＳ４０４に進み、その非テキスト接続構成要素がフレームであるかどうかを判定する。そうである場合にはステップＳ４０５に進み、「フレーム」副属性をその非テキスト接続構成要素に割り当てる。ステップＳ４０４でそうではないと判定された場合にはステップＳ４０６に進み、非テキスト接続構成要素が水平線又は垂直線であるかどうかを判定する。接続構成要素が水平線又は垂直線であると判定された場合にはステップＳ４０７に進む。ステップＳ４０７では、「水平線」又は「垂直線」副属性をこの非テキスト接続構成要素に割り当てる。
【００３９】
ステップＳ４０９は、ステップＳ４０６で、非テキスト接続構成要素が水平線でも垂直線でもないと判定された場合に実行される。ステップＳ４０９では、非テキスト接続構成要素が表であるかどうかを判定する。簡単に言うと、非テキスト接続構成要素が表であるかどうかを判定するためには、接続構成要素の内部白色領域を４方向にトレースする。内部白色領域とは、黒色画素に完全に囲まれた白色画素の領域である。４つの内部白色領域が見つかり、かつこれらの白色領域が水平線及び垂直線によって閉じられているなど、これらの白色領域の配置が表に類似の格子形である場合には、ステップＳ４１０で、この非テキスト接続構成要素を表として指定する。
【００４０】
表の内部のテキスト接続構成要素と非テキスト接続構成要素を識別し分類するために、ステップＳ４１０では更に、識別した表の内部をステップＳ３０２及びＳ３０４に基づいて再解析する。
【００４１】
ステップＳ４０９で非テキスト接続構成要素が表ではないと判定された場合にはステップＳ４１２に進み、非テキスト接続構成要素が斜線であるかどうかを判定する。そうである場合にはステップＳ４１４で「斜線」副属性を非テキスト接続構成要素に割り当てる。
【００４２】
ステップＳ４１２で、斜線でないと判定された場合にはステップＳ４１５に進み、非テキスト接続構成要素が、ライン・アート（line-art）・ピクチャ、又はジョイント・ラインであるかどうかを判定する。非テキスト接続構成要素がライン・アート・ピクチャでもジョイント・ラインでもない場合にはステップＳ４１６に進み、「不明」属性を、この接続構成要素に割り当てる。ライン・アート・ピクチャ又はジョイント・ラインである場合にはステップＳ４１７に進み、非テキスト接続構成要素がジョイント・ラインであるかどうかを判定する。
【００４３】
非テキスト接続構成要素がジョイント・ラインでない場合にはステップＳ４１９で、この非テキスト接続構成要素をライン・アート・ピクチャに指定する。ステップＳ４１７で、非テキスト接続構成要素がジョイント・ライン・ピクチャであると判定された場合にはステップＳ４２０に進み、「ジョイント・ライン」副属性をこの構成要素に割り当てる。次いでステップＳ４２１に進む。
【００４４】
ステップＳ４０２、Ｓ４０５、Ｓ４０７、Ｓ４１０、Ｓ４１４、Ｓ４１６、Ｓ４１９からもステップＳ４２１に進むことに留意されたい。このステップでは、分類すべき非テキスト接続構成要素が残っているかどうかを判定する。そうである場合にはステップＳ４０１に戻る。そうでなければ図３のステップＳ３０６に進む。
【００４５】
ステップＳ３０６では、非テキスト接続構成要素の縁に沿った目に見えない線を識別する。ステップＳ３０６では例えば、目に見えない垂直線、即ち垂直の白色画素の領域は２つのハーフトーン・ピクチャ接続構成要素間に位置することがある。この目に見えない線をステップＳ３０８で使用して、これらのピクチャ接続構成要素の下に位置する複数のテキスト接続構成要素を一緒にすべきか、又は別個の列ブロックに入れるべきかを判定することができる。
【００４６】
ステップＳ３０６からステップＳ３０７に進み、表領域の中の反転領域を識別する。反転領域は、周囲を黒色画素に囲まれた白色画素から構成されたテキストを含む領域である。本実施の形態に基づく後続の処理では、その他の表の特徴の識別を妨害しないように表領域の中の反転領域を無視する。反転領域の識別の詳細については図６及び７に関して後で説明する。
【００４７】
ステップＳ３０７では更に、表領域の中の水平及び垂直格子線に付属する接続構成要素を識別する。付属する接続構成要素の識別及び抽出については概要を図８に関して後に説明する。こうして識別された付属構成要素は、本発明の実施の形態に基づく表中のその他の特徴の識別に使用される。
【００４８】
続いてステップＳ３０８に進み、ステップＳ３０４で分類したテキスト接続構成要素からテキスト・ブロックを形成する。この点に関し、それぞれのテキスト接続構成要素の水平方向及び垂直方向に隣接したテキスト接続構成要素を、隣接したテキスト単位間の水平及び垂直間隔の統計解析に基づいてテキスト・ブロックにまとめる。次に、形成したテキスト・ブロックを解析してテキスト行を形成する。
【００４９】
次にステップＳ３０９に進み、表として指定された非テキスト接続構成要素を解析するための本発明の実施の形態に基づく処理ステップを実行する。より詳細には、表の中の行及び列を識別し、行及び列アドレスを表中のそれぞれの表セルに割り当てる。行及び列アドレスの識別及び割当てについては図９ないし図１４に関して後に詳細に説明する。
【００５０】
ステップＳ３０９では更に、表の垂直及び水平格子線の位置を計算する。これらの格子線は、識別された行及び列を定義するものであり、目に見える格子線及び目に見えない格子線がある。格子線計算については図１５及び１６に関して後に説明する。
【００５１】
ステップＳ３０９では更に、目に見える格子線（即ち、連続する目に見える画素により構成される線）によって境界され、少なくとも１つの表セルを含む表領域に基づいてスーパーセルを定義する。行及び列アドレスをスーパーセルに割り当て、それぞれのスーパーセルを取り囲む目に見える格子線の境界を識別する。スーパーセルの作成及び目に見える境界の識別については図１７及び１８に関して後に説明する。
【００５２】
次にステップＳ３１０で、入力文書イメージのスキューを検出し、スキューの角度が予め定めた最大角度を超えた場合にはエラー・コードを出力して、文書ページのスキューが大きすぎてブロック選択処理を遂行することができないことをユーザに知らせる。
【００５３】
スキューが許容範囲内である場合にはステップＳ３１１に進み、後処理を実行する。この後処理は、文書イメージのブロック表現をよりコンパクトで「クリーン」なものにするためのものであり、文字認識、データ圧縮などの後段の特定の処理に適合するように変更することができる。一般に後処理は、テキスト・ブロックをその他のテキスト又は非テキスト・ブロックと関連させることを含む。
【００５４】
この後処理手順は、ステップＳ３１０で求めたページ・スキューによって決定すると有利である。例えば、ページのスキューがわずかである場合にはテキスト・ブロック間のギャップははっきりしている。従ってブロックは積極的に結合される。一方、スキューが大きいページでは境界する長方形がいくつかのテキスト領域にかかりやすく、そのために長方形は消極的に結合される。後処理が終わるとブロック選択は終了となる。
【００５５】
図３の処理ステップを実行すると、文書イメージ中のデータの位置及び種類の詳細表現が得られる。その結果、図３の処理ステップを光学式文字認識システムとともに使用して、表の中のビットマップ・イメージ・データで表された文字を認識し、これらの文字をＡＳＣＩＩ形式に変換し、表の決定された行及び列アドレスに基づいて、これらのＡＳＣＩＩ文字を表計算プログラムに入力することができる。更に図３の処理によって、表格子線などの表の内部特徴を実質的に再現するのに必要な情報を得ることができる。
【００５６】
図５は図３の流れ図のステップを、表の特徴の解析に特に注意を払ってより詳細に説明した流れ図である。この点に関し、ステップＳ５０１及びＳ５０２は、図３のステップＳ３０１、Ｓ３０２、Ｓ３０４、Ｓ３０５に対応する。具体的にはステップＳ５０１で文書イメージを入力し、ステップＳ５０２で、文書イメージの中の接続構成要素を検出しブロック化する。
【００５７】
ステップＳ５０３では、ステップＳ３０４及びＳ３０５に関して先に述べたとおり、表及び表の中のテキスト・ブロックを識別する。次にステップＳ５０４で、後段のテキスト・ブロック形成に使用する表の縁に沿った目に見えない線を識別する。
【００５８】
対象表の中の反転テキスト領域はステップＳ５０５で識別される。周囲を黒色画素に囲まれた白色画素から構成されたテキストを含む領域である反転領域は前述のとおり、本実施の形態に基づく後続の表処理中には無視される領域である。図６（ａ）に、表４０の中にある反転領域４２を示す。領域４２の内部の斜線は黒色画素の領域を表し、領域４２の中に語「ＴＩＴＬＥ」が形成されるように配置されている。図６（ａ）には更に、先のステップＳ４０９に関して説明した表４０の識別の際に利用される白色領域が破線で示されている。
【００５９】
反転領域を識別するためのフローは図７のステップＳ７０１から始まり、このステップでは、表中のそれぞれの画素行の中の白色境界対がまたぐ距離の合計を表す水平ヒストグラムを計算する。この点に関し、境界対とは、白色領域境界（図６（ａ）の破線）と特定の画素行との交点によって決定される座標位置である。図６（ｂ）に、ステップＳ７０１から得られた表４０に対応するヒストグラム４４を示す。
【００６０】
次いでステップＳ７０２に進む。ステップＳ７０２では、表４０の大きさ及びヒストグラム４４に反映されたデータを使用して表４０の最上部から始めてそれぞれの画素行を解析し、表中の画素行の中の白色境界対間の距離の合計がその画素行がまたぐ合計距離の１／２よりも小さいかどうかを判定する。Ｎを閾値として、連続的に解析したＮ行の画素行について前述の条件が満たされた場合にはステップＳ７０４に進む。
【００６１】
表４０の場合、領域４２中の行数はＮよりも大きく、従ってフローはステップＳ７０４に進む。このような行が連続するＮ行がない場合には図５のステップＳ５０６に進む。
【００６２】
ステップＳ７０４では、ステップＳ７０２で識別した行の中のトレースされた白色領域を識別する。これらの領域は、領域４２の中に形成されたそれぞれの文字の内部に対応する。次にステップＳ７０６で、識別されたそれぞれの白色領域のサイズを閾値サイズと比較する。この閾値サイズは、テキスト文字又は小さなイメージ・ノイズが、より大きな特徴から区別されるように定義されることが好ましい。識別した白色領域のサイズが閾値サイズよりも小さい場合にはステップＳ７０７で、後続の表処理の際に、その白色領域を無視すべきであると判定される。その結果この白色領域は、対象表の中の白色領域を利用する後続の処理では考慮されない。次いでステップＳ７０９に進む。
【００６３】
ステップＳ７０６で、識別した白色領域のサイズが閾値サイズに等しいか、又はこれより大きい場合には、その白色領域は反転テキストに対応するものではないと判定され、フローはステップＳ７０９に進む。
【００６４】
ステップＳ７０９では、ステップＳ７０４で識別した全ての白色領域を閾値サイズと比較したかどうかを判定する。そうでない場合にはステップＳ７０６に戻り、前述のとおりのステップをたどる。そうである場合にはステップＳ７１０に進む。
【００６５】
次にステップＳ７１０で、表４０の最後の行を解析したかどうかを判定する。そうでない場合にはステップＳ７０２に戻る。表４０の全ての行を解析した場合にはステップＳ５０６に進む。
【００６６】
ステップＳ５０６では、表の中の格子線に付着した接続構成要素を識別して抽出する。
【００６７】
この点に関し図８に、全ての側面を目に見える表格子線で囲まれた表５０を示す。この表領域５０の中には、目に見えるその他の表格子線があり、黒色画素に完全に囲まれたそれぞれの白色領域が破線で示されている。図８に示す通り、いくつかの目に見える格子線はギャップを含む。このようなギャップは、不完全な印刷、不完全な走査などに起因してしばしば生じる。これらのギャップは、付属した接続構成要素とも呼ぶ部分格子線５１、５２及び５３を定義する。トレースされた白色領域５４の点５６と５８が接近しているため接続構成要素５２が抽出される。即ち、接続構成要素５２は、表領域５０の垂直及び水平格子線とは別個の接続構成要素として識別される。接続構成要素５１及び５３も同様に抽出される。抽出された付属する接続構成要素の使用については後に詳細に説明する。
【００６８】
図５に戻る。ステップＳ５０７ではステップＳ３０８に関して説明したのと同様に、入力文書イメージの中のそれぞれの表の外部に位置する接続構成要素に基づいて、テキスト・ブロック及びテキスト行を形成する。同様に、ステップＳ５０９では、それぞれの表の内部に位置するテキスト接続構成要素に基づいてテキスト・ブロック及びテキスト行を形成する。ステップＳ５０７では、テキスト・ブロックを調べてテキスト・ブロックの向きが垂直なのか、又は水平なのかを判定し、この判定に基づいてテキスト行を形成するのが好ましい。一方、ステップＳ５０９では水平テキスト行のみを形成することが好ましい。
【００６９】
表の中に形成されたテキスト・ブロックを以後、表セルと称する。この点に関しては前述のとおり、表ブロックの中のその他のテキスト接続構成要素と結合していないテキスト接続構成要素も本明細書では表セルと呼ぶ。次にステップＳ５１０では、表の列を計算し列アドレスを表セルに割り当てる。
【００７０】
図９Ａ及び図９Ｂは、ステップＳ５１０のプロセスを説明するための詳細フローチャートである。図９Ａ及び図９Ｂのフローチャートでは、表列を識別するのに表の垂直ヒストグラムを利用し、適正な列識別を混乱させる可能性がある表題の領域を都合よく無視する。
【００７１】
この点に関しステップＳ９０１では、対象表が５行以上のテキスト行を含むかどうかを判定する。そうである場合には最上位のテキスト行を表題行であるとみなし、列識別時にはこれを無視する。
【００７２】
例えば、図１０（ａ）に示す表６０は、ステップＳ９０１で５行以上のテキスト行を含むと判定される。これに従ってステップＳ９０２に進む。ステップＳ９０２では、図１０（ｂ）の垂直ヒストグラム７０のような垂直ヒストグラムを計算する。垂直ヒストグラム７０を計算するときには前述のとおり、表題とみなす最上位のテキスト行６１は無視する。ステップＳ９０１でそうではないと判定された場合には直接にステップＳ９０４に進み、対象表のテキスト行を一切無視せずに垂直ヒストグラムを計算する。
【００７３】
図１０（ａ）に記載した垂直ヒストグラムは、表６０のそれぞれの画素列について、ステップＳ３０２及びＳ５０２に関して説明した表６０の中のそれぞれの接続構成要素を境界する長方形（図示せず）がまたぐ垂直距離の合計を反映することに留意されたい。例えば、格子線６４及び６６などの水平及び垂直格子線は境界する長方形によってブロック化されず、従って垂直ヒストグラム７０に反映されるデータには寄与しない。しかし、ステップＳ５０６で識別され抽出された接続構成要素は「ブロック化」され、従ってステップＳ９０４又はステップＳ９０２に基づいて計算されるヒストグラムに反映されることに留意されたい。例えば、付属する接続構成要素６８はヒストグラム７０の部分７１に反映される。
【００７４】
ステップＳ９０５では、計算したヒストグラムの黒色画素が少ないことを反映した部分の距離Ｐ＿ｇａｐ、Ｐ＿ｇａｐの直後の、ヒストグラムの画素が比較的多いことを反映した部分Ｗ、及びＷの直後の、ヒストグラムの画素が少ないことを反映した部分Ｎ＿ｇａｐを、ヒストグラム７０の左端の点を始点として計算する。例えば、Ｐ＿ｇａｐ、Ｗ及びＮ＿ｇａｐは当初、ヒストグラム７０の領域７２、７４及び７５にそれぞれ対応する。次いで、それぞれのＰ＿ｇａｐ、Ｗ及びＮ＿ｇａｐの位置及び大きさに基づいて列を割り当てる。
【００７５】
ステップＳ９０６ないしＳ９１６（図９Ｂに示す）に従って表を左から右に解析する。この点に関し、ステップＳ９０６ないしＳ９１６では、現在のＷに対応する表領域を現在の列に含めるべきか、又は現在のＷを含む新規の列を定義すべきか、又は現在のＷを無視して新規の列を定義すべきかを判定する。
【００７６】
最初に、ステップＳ９０６で、Ｗが閾値よりも大きいかどうかを判定する。閾値は、小さなサイズのテキスト文字を反映したものであることが好ましい。Ｗが閾値よりも大きい場合にはステップＳ９０７に進み、Ｐ＿ｇａｐが幅狭いかどうかを判定する。Ｐ＿ｇａｐが幅広い場合にはステップＳ９１７に進み、Ｗを含む新規の列を定義する。このＷとＰ＿ｇａｐの構成を図１１（ａ）に示す。
【００７７】
ステップＳ９０７でＰ＿ｇａｐが幅狭いと判定された場合にはステップＳ９０９に進み、現在の列の定義を延長してＷを含める。この状況を図１１（ｂ）に示す。次いでステップＳ９０５に戻る。
【００７８】
ステップＳ９０６で、Ｗが閾値に等しいか又はこれより小さいと判定された場合にはステップＳ９１０に進み、Ｐ＿ｇａｐが幅広いかどうかを判定する。そうである場合にはステップＳ９１１に進み、Ｗが、表５０の接続構成要素５２のような切断された接続構成要素を反映したものであるかどうかを判定する。Ｗが、切断接続構成要素を反映したものではない場合にはステップＳ９１７に進み、Ｗを含む新規の列を定義する。図１１（ｃ）はこの状況を反映したものである。
【００７９】
ステップＳ９１１で、Ｗが、図１１（ｄ）に示すような切断接続構成要素を反映したものであると判定された場合には、現在の列の右端の境界を、Ｐ＿ｇａｐの左端のところで定義し、ステップＳ９０５に戻って、新規のＰ＿ｇａｐ、Ｗ及びＮ＿ｇａｐを定義する。従って、ヒストグラムに反映されたこの切断接続構成要素は定義されたどの列にも含まれない。
【００８０】
ステップＳ９１０に戻り、Ｐ＿ｇａｐが幅狭いと判定された場合にはステップＳ９１２に進む。ステップＳ９１２ではＮ＿ｇａｐが幅広いかどうかを判定する。そうでない場合にはステップＳ９１４に進み、現在の列が対象表の最初の列であるかどうかを判定する。そうである場合には先に説明したステップＳ９１７に進む。このような状況が図１１（ｅ）に反映されている。この状況では、現在の列がＮ＿ｇａｐの始点で終わるように定義される。
【００８１】
ステップＳ９１４で、現在の列が対象表の最初の列ではないと判定された場合にはステップＳ９１５に進み、現在の列を延長してＷを含める。このような状況を図１１（ｆ）に示す。フローはステップＳ９０５に戻る。
【００８２】
ステップＳ９１２で、Ｎ＿ｇａｐが幅広いと判定された場合にはステップＳ９１６に進み、Ｗが、切断接続構成要素を反映したものであるかどうかを判定する。そうでない場合にはステップＳ９１５に進み、図１１（ｇ）に示すＷを現在の列に含める。ステップＳ９１６でそうであると判定された場合には、現在の列の右端境界をＰ＿ｇａｐの左端のところで定義し、ステップＳ９０５に戻って切断接続構成要素を無視する。この状況を図１１（ｈ）に示す。
【００８３】
再び図９Ａに戻り、ステップＳ９１７からステップＳ９１８に進む。この時点で、対象表を反映するヒストグラムの右端の部分に到達した場合にはステップＳ９２０に進む。そうでない場合にはステップＳ９０５に戻る。
【００８４】
ステップＳ９２０に達したときには、対象表の中にいくつかの列が定義されている。これらの列に左から右に順番にアドレスを指定し、これらを、左右のＸ座標境界に基づいて定義する。この点に関し図１２（ａ）及び図１２（ｂ）に、表７６ならびに対応する列の定義Ａ及びＢを示す。図１２（ｂ）に示すように、表セル７９があるために列Ａは、２つの別個の列に分割しなければならない状況にある。ステップＳ９２０及びＳ９２１は、この状況に対処するためのものである。
【００８５】
ステップＳ９２０では、検出された白色領域の左右の境界及び切断垂直格子線を調べて、定義された列境界の近くにこれらの特徴があるかどうかを判定する。そうである場合にはステップＳ９２２に進む。検出された白色境界又は切断格子線が列境界の近くにない場合にはステップＳ９２１に進み、白色境界又は切断格子線を囲む新規の列を定義する。これに応じて全ての列アドレスを更新する。
【００８６】
図１２（ｃ）に、ステップＳ９２１を実施した後の表７６の列定義を示す。 白色領域７８の右境界は定義された列の境界とは離れているので、領域７８の右境界に隣接して新規の列Ｂを定義する。これに応じて以前の列Ｂのアドレスは列Ｃに更新される。
【００８７】
次にステップＳ９２２で、表セルがまたぐ列位置に対応する列アドレスをそれぞれの表セルに割り当てる。場合によっては、割り当てられた列アドレスが列アドレス範囲を含むことがある。例えば表セル７７には列アドレスＡが割り当てられるが、表セル７９には列アドレスＡ〜Ｂが割り当てられる。次いでステップＳ９２２からステップＳ５１１に進み、表の行を計算して、表セルに行アドレスを割り当てる。
【００８８】
図１３は、表行を計算し、行アドレスを表セルに割り当てるためにステップＳ５１１で実行する処理ステップを説明する詳細フローチャートである。フローはステップＳ１３０１から始まり、このステップで、対象表の水平ヒストグラムを作成する。図１４（ａ）（ｂ）に、対象表８０及びステップＳ１３０１に基づいて作成した水平ヒストグラム８６を示す。水平ヒストグラム８６は、表８０のそれぞれの画素行について、表８０の中のそれぞれの接続構成要素を境界する長方形（図示せず）がまたぐ水平距離を反映する。
【００８９】
この点に関し、ヒストグラム８６のピーク幅ｐｗ１は表セル８１及び８２を、ピーク幅ｐｗ２は表セル８３を、ピーク幅ｐｗ３は表セル８４をそれぞれ反映する。谷幅ｖｗ１は、ピーク幅ｐｗ１とピーク幅ｐｗ２の間の領域を指し、谷幅ｖｗ２は、ピーク幅ｐｗ２とピーク幅ｐｗ３の間の領域を指す。
【００９０】
ステップＳ１３０２では、ヒストグラム８６の最上位のピークを最初に調べる。具体的には、現在行の最初のピーク幅ｐｗが第１の閾値よりも大きいかどうか、及び次の谷幅ｖｗが第２の閾値よりも大きいかどうかを判定する。第１の閾値は最小文字サイズを示すことが好ましく、第２の閾値は最小行間隔を示すことが好ましい。両方の条件を満たしている場合にはステップＳ１３０４に進み、次に遭遇するピークに対応する新規の行を定義する。ステップＳ１３０２で条件の１つを満たしていない場合にはステップＳ１３０５に進み、現在行を延長して次に遭遇するピークを含める。いずれの場合にもフローはステップＳ１３０４及びステップＳ１３０５からステップＳ１３０６に進む。
【００９１】
ステップＳ１３０６では、水平ヒストグラムのピークが他に存在するかどうかを判定する。そうである場合にはステップＳ１３０２に戻る。そうでなければステップＳ１３０７に進む。
【００９２】
ステップＳ１３０７では、表８０の中の水平な白色領域境界及び付属する水平格子線を識別する。先に説明したステップＳ９２０ないしステップＳ９２２と同様に、識別した白色境界又は格子線の近くに行境界がない場合には新規の行を定義し、これに応じて行アドレスを更新する。次いでステップＳ５１２に進む。
【００９３】
ステップＳ５１２では、垂直格子線及び水平格子線の位置を計算する。図１５は、ステップＳ５１２の処理ステップを詳細に説明するフローチャートである。このフローはステップＳ１５０１から始まり、このステップＳ１５０１で、現在列及び隣接する列がそれぞれ、対応するトレースした白色領域に囲まれているかどうかを判定する。そうである場合にはステップＳ１５０２に進む。ステップＳ１５０２では、対応する白色領域間の距離を求める。次にステップＳ１５０４で、ステップＳ１５０２で求めた距離が閾値距離に等しいか又はこれよりも大きいと判定された場合にはステップＳ１５０５に進み、垂直格子線の座標を計算する。ステップＳ１５０４で、前記距離が閾値距離よりも小さいと判定された場合にはステップＳ１５０６に進み、垂直格子線の座標を計算する。このときには、ステップＳ１５０５で使用する式とは異なる式に基づいて計算することが望ましい。
【００９４】
ステップＳ１５０１で、隣接する列に対応する白色領域が存在しないと判定された場合にはステップＳ１５１０に進み、ステップＳ１５０５及びステップＳ１５０６で使用する式とは異なる式を使用して垂直格子線の座標を計算する。次いでステップＳ１５１１に進み、列が他に存在するかどうかを判定する。そうである場合にはステップＳ１５０１に戻る。そうでなければステップＳ１５１２に進む。
【００９５】
ステップＳ１５１２では対象表の水平格子線を、ステップＳ１５０１ないしＳ１５１１で説明したのと実質的に同じステップを使用して計算する。ただしこれらは９０゜回転されている。
【００９６】
図１６（ａ）（ｂ）は、図１５の流れ図を説明するための２つの対象表を示す図である。
【００９７】
図１６（ａ）を参照すると、表９０は、Ｘ座標Ｃ１Ｌ及びＣ１Ｒを境界とする列Ｃ１、及びＸ座標Ｃ２Ｌ及びＣ２Ｒを境界とする列Ｃ２を含む。トレースされた白色領域９１は列Ｃ１に対応し、境界ｂ１を含み、トレースされた白色領域９２は列Ｃ２に対応し、境界ｂ２を含む。
【００９８】
これに応じてステップＳ１５０１では、隣接する列Ｃ１及びＣ２に対応する白色領域がそれぞれ存在するかどうかを判定する。ステップＳ１５０２では、ｂ１とｂ２の間の距離を求める。領域９１及び９２が、共通のＸ座標を共有する領域を含む場合、例えば傾斜した垂直線が領域９１と領域９２を分離している場合には、境界ｂ１を、領域９１の右端のＸ座標として定義し、境界ｂ２を、領域９２の左端のＸ座標として定義する。
【００９９】
ステップＳ１５０４で、ｂ１とｂ２の間の距離が大きいと判定された場合にはステップＳ１５０５に進む。好ましい本実施の形態では、ステップＳ１５０５で、列Ｃ１と列Ｃ２の間の垂直格子線の座標位置を、式ｍｉｎ（ｍａｘ（Ｔ，Ｃ１Ｒ），Ｃ２Ｌ）で求める。ただし、この式でＴ＝ｍａｘ（ｂ１，ｂ２）−１である。
【０１００】
ステップＳ１５０４で、ｂ１とｂ２の間の距離が小さいと判定された場合にはステップＳ１５０６に進み、ｍｉｎ〔ｍａｘ（（ｂ１＋ｂ２）／２，Ｃ１Ｒ），Ｃ２Ｌ〕に存在する垂直格子線の座標を計算する。
【０１０１】
図１６（ｂ）に、列Ｃ３が、座標Ｃ３Ｌ及びＣ３Ｒによって境界され、列Ｃ４が、座標Ｃ４Ｌ及びＣ４Ｒによって境界された表９５を示す。列Ｃ３は一方の側しか目に見える格子線で境界されていないので、列Ｃ３に対応する白色領域は存在しないことを理解されたい。従って、図１５で説明した処理ステップを使用して、列Ｃ３及び列Ｃ４を隣接する列として調べると、ステップＳ１５０１の判定はノー(NO)となり、フローはステップＳ１５１０に進む。ステップＳ１５１０では、列Ｃ３及び列Ｃ４に対応する垂直格子線の位置を、式ｍｉｎ（Ｔ，Ｃ４Ｌ）で求める。この式でＴ＝ｍａｘ（Ｃ３Ｒ，ｂ４）−１である。
【０１０２】
水平格子線に関してステップＳ１５１２を実行した後ステップＳ５１４に進み、スーパーセルを識別する。図１７は、ステップＳ５１４に基づくスーパーセルの識別を説明するための詳細フローチャートである。この点に関してはステップＳ１７０１で、対象表の中の黒色画素によって境界されたそれぞれの白色領域に対応したスーパーセルを識別する。トレースされた白色領域に囲まれていない表セルが存在する場合には、ステップＳ１７０１で、その表セルと同じ位置及び大きさを有する「模造（artificial）」スーパーセルも形成する。次にステップＳ１７０２で、それぞれの模造スーパーセルを再フォーマットして、周囲の目に見える表格子線又は目に見えない表格子線の大きさに近づける。次いでステップＳ１７０４に進む。
【０１０３】
ステップＳ１７０４では、それぞれのスーパーセルの上下左右の境界を調べ、目に見える格子線がこれらの境界に隣接しているかどうかを判定する。ステップＳ１７０５に進み、ステップＳ５１０及びＳ５１１で計算した行及び列に基づいてスーパーセルに行アドレス及び列アドレスを割り当てる。ステップＳ１７０５からステップＳ５１５に進む。
【０１０４】
図１８（ａ）（ｂ）は、図１７の流れ図を説明するための対象表を示す図である。この点に関して、表１００は、表セル１０１、１０２、１０４及び１０５を含む。表セル１０１は白色領域に囲まれていない。これは表セル１０１が、黒色画素に完全に囲まれた領域の中に入っていないためである。しかし、表セル１０２、１０４及び１０５は白色領域１０６、１０７及び１０９に囲まれている。
【０１０５】
図１７のフローチャートでは、ステップＳ１７０１で、表１００の中のそれぞれの白色領域に対応するスーパーセルを最初に定義する。これに応じて、白色領域１０６、１０７及び１０９に対応するスーパーセルを定義する。これらのスーパーセル１１５、１１１及び１１２を図１８（ｂ）に示す。前述のとおり表セル１０１にはこれを取り囲む白色領域がないので、表セル１０１と同一の座標を有する模造スーパーセルを定義する。
【０１０６】
ステップＳ１７０２では、模造スーパーセルを以下のアルゴリズムに従って再フォーマットし、模造スーパーセルを取り囲んでいる目に見える表格子線又は目に見えない表格子線に近づける。
【０１０７】
上境界＝ｍｉｎ（上格子線(grid_line_top)，テキスト・セル上端(text_cell_top)）
下境界＝ｍａｘ（下格子線(grid_line_bottom)，テキスト・セル下端(text_cell_bottom)）；
左境界＝ｍｉｎ（左格子線(grid_line_left)，テキスト・セル左端(text_cell_left)）
右境界＝ｍａｘ（右格子線(grid_line_right)，テキスト・セル右端(text_cell_right)）
この結果生じるスーパーセル１１４を図１８（ｂ）に示す。
【０１０８】
次にステップＳ１７０４で、それぞれのスーパーセルを調べ、スーパーセルの境界である目に見える格子線を識別する。例えば、スーパーセル１１４の右及び下、スーパーセル１１５の上、右、左及び下、スーパーセル１１２の上、右、左及び下、ならびに、スーパーセル１１１の上、右、左及び下の目に見える格子線を識別する。
【０１０９】
部分的に目に見える格子線が特定のスーパーセルの特定の側面の境界となっている場合には、ステップＳ１７０４で、その部分格子線が、「完全」境界の長さに対応する閾値長さよりも長いかどうかを判定することに留意されたい。そうである場合にはステップＳ１７０４で、その部分格子線が、特定のスーパーセルの特定の側面を完全に境界していると判定される。
【０１１０】
ステップＳ１７０４からステップＳ１７０５に進み、行アドレス及び列アドレスを図１８（ｂ）のそれぞれのスーパーセルに割り当てる。図１８（ｂ）のスーパーセルは、それらのそれぞれの表セルと同じ列位置及び行位置を有する。従ってスーパーセル１１１、１１２、１１４及び１１５はそれぞれ、表セル１０４、１０５、１０１及び１０２の行アドレス及び列アドレスを共有する。１つのスーパーセルがいくつかの行又は列にまたがる場合、そのスーパーセルのアドレスは、（１，２−４）などというように行及び／又は列アドレス範囲を含むことに留意されたい。次いでステップＳ５１５に進む。
【０１１１】
ステップＳ５１５では、適当であれば、行及び／又は列アドレス範囲を有する表セルを分割する。この点に関して、以上の処理ステップによって、複数の表セルとして更に分類するほうが適当ないくつかの行又は列にまたがる表セルが生じることがある。例として、図１９（ａ）、図１９（ｂ）及び図１９（ｃ）を含む図１９に、列アドレス範囲を有するいくつかの表セルを示す。同様に図２０に、行アドレス範囲を有する表セルを示す。この点に関して図２１Ａ及び図２１Ｂに、列アドレス範囲及び行アドレス範囲を有する表セルを分割するステップをそれぞれ記載する。
【０１１２】
列アドレス範囲を有する表セルを分割するフローはステップＳ２１０１から始まる。ステップＳ２１０１では、列アドレス範囲を有する表セルを識別する。次にステップＳ２１０２で、識別した表セルの垂直ヒストグラムを計算する。この垂直ヒストグラムは、識別した表セルの中のそれぞれの画素列について、その表セルの中のそれぞれの接続構成要素を境界する長方形（図示せず）がまたぐ垂直距離の合計を反映する。ステップＳ２１０４に進み、その表セルの隣接する列と列の間の空間に対応するヒストグラムの領域が黒色画素を反映しているかどうかを判定する。黒色画素を反映している場合にはステップＳ２１０５に進む。
【０１１３】
ステップＳ２１０５では、それらの列間の領域のヒストグラムが、閾値距離よりも大きな連続距離の間、非ゼロであるかどうかを判定する。そうである場合にはステップＳ２１１４に進み、対象表セルのアドレス範囲内に他に列が存在するかどうかを判定する。このような状況を図１９（ａ）に示す。図中のｌは、ヒストグラムの列ｒと列（ｒ＋１）の間の連続する非ゼロ部分を指す。他に列が存在する場合にはステップＳ２１０４に戻る。
【０１１４】
ステップＳ２１１４で他に列が存在しない場合には、ステップＳ２１１５で、対象表が、列アドレス範囲を有する表セルを他に含むかどうかを判定する。そうである場合にはステップＳ２１０２に戻る。そうでない場合には図２１ＢのステップＳ２１１６に進む。
【０１１５】
図１９（ｂ）に、図２１ＡのステップＳ２１０５で連続する非ゼロ部分ｍが閾値よりも小さいと判定される状況を示す。これに従ってステップＳ２１０６に進み、別個の非ゼロ部分が、図１９（ｂ）の列ｓと（ｓ＋１）の間にあるかどうかを判定する。そうでない場合には、表セル１１６を、どちらも部分ｍを含まない２つの新規の表セル、即ち列アドレスｓを有する表セル及び列アドレス（ｓ＋１）を有する表セルとして再定義する。
【０１１６】
ステップＳ２１０６で、別個の非ゼロ部分が列ｓと列（ｓ＋１）の間にある場合にはステップＳ２１１４に進み、前述の処理を続ける。
【０１１７】
ステップＳ２１０４で、対象表セルの２つの列の間の領域が黒色画素を含まない場合にはステップＳ２１１０に進む。ステップＳ２１１０では、２つの列の間の領域を、それぞれの列の中の黒色画素に遭遇するまでこれらの２つの列の内部に延長する。図１９（ｃ）に示すように、表セル１１７の列ｔと列（ｔ＋１）の間の領域ｎは黒色画素を含まない。従ってステップＳ２１１０では、領域ｎを、表セル１１７の中の黒色画素に遭遇するまで水平方向に両側に延長する。その結果生じる領域をｎ’に示す。
【０１１８】
ステップＳ２１１１では、領域ｎ’などの領域の長さが閾値よりも大きいかどうかを判定する。そうである場合には、ステップＳ２１１２で表セル１１７を２つの表セルに分割し、ステップＳ２１１４に進む。そうでない場合には直ちにステップＳ２１１４に進み、最終的には図２１ＢのステップＳ２１１６に進む。
【０１１９】
図２１Ｂの処理ステップは、行アドレス範囲を有する表セルを本実施の形態に基づいて分割するのに使用する。ステップＳ２１１６では、行アドレス範囲を有する対象表セルを取り出す。次にステップＳ２１１７で、行アドレス範囲の中の２つの行を調べ、これらの行と行との間の距離、及びこれらの行の中間点を求める。これらの２つの量は、図２０のｒｏｗ＿ｄｉｓｔ及びｍｉｄ＿ｒｏｗで表される。
【０１２０】
図２０では、表セルが、その行アドレス範囲の中に行Ｒ１及び行Ｒ２を含む。行Ｒ１の上限は座標Ｒ１Ｕによって定義され、下限は座標Ｒ１Ｌによって定義される。同様に行Ｒ２の上限は座標Ｒ２Ｕによって定義され、下限は座標Ｒ２Ｌによって定義される。図２０に示す通り、量ｍｉｄ＿ｒｏｗはＲ１ＬとＲ２Ｕの中間点を指す。また、量ｒｏｗ＿ｄｉｓｔはＲ１ＬとＲ２Ｕの間の距離を指す。
【０１２１】
次にステップＳ２１１９で、取り出した表セルが、ｍｉｄ＿ｒｏｗの両側に連続したテキスト行を含むかどうか、及びｒｏｗ＿ｄｉｓｔが閾値行サイズよりも大きいかどうかを判定する。そうである場合にはステップＳ２１２０に進み、対象表セルをｍｉｄ＿ｒｏｗ座標のところで２つのセルに切り離す。これらの２つのセルのうちの一方は、その行アドレスに行Ｒ１を含み、もう一方はその行アドレスに行Ｒ２を含む。次いでステップＳ２１２１に進む。
【０１２２】
ステップＳ２１１９でそうではないと判定された場合もステップＳ２１２１に進み、対象表セルが他に行を含むかどうかを判定する。そうである場合にはステップＳ２１１７に戻る。そうでない場合にはステップＳ２１２２に進み、対象表の中に、行アドレス範囲を有する表セルが他にあるかどうかを判定する。そうである場合にはステップＳ２１１６に戻る。そうでなければステップＳ５１６に進み、ステップＳ５１０からステップＳ５１５までの間に生じた偽の行及び列を削除する。
【０１２３】
図２２（ａ）（ｂ）は、ステップＳ５１６の処理ステップを説明するための図である。例えば符号１３０は、図２２（ａ）に示すように、列Ｃ５の右側の境界を指す。右境界１３０は垂直格子線１３２と隣接している。右列境界１３０と垂直格子線１３２の間に位置する列Ｃ６の中には接続構成要素が存在しないので、境界１３０を排除することによって列Ｃ６を削除する。これに従って格子線１３２が、列Ｃ５の右端境界として新しく定義される。
【０１２４】
図２２（ｂ）に、ステップＳ５１６で列位置が更新される第２の状況を示す。図２２（ｂ）に示すように、斜線１３４によって、左境界１３５と右境界１３６の間に列Ｃ９が定義されている。これに応じて境界１３５及び１３６を、列Ｃ８及び列Ｃ１０を新たに拡張することによって生じるこれらの列の間の１本の境界（図示せず）で置き換えることによって列Ｃ９を削除する。ステップＳ５１６からステップＳ５１７に進む。
【０１２５】
ステップ５１７では、傾斜した表格子線に起因する誤ったアドレス割当てを減らすために、スーパーセルの行及び列アドレスを調整する。例として図２３に、傾斜した表格子線によって誤った行及び列アドレスの割当てが生じた状況を示す。具体的には、傾斜した垂直格子線１４０が、目に見えない格子線１４１によってそれぞれ右境界及び左境界のところで定義された列ｕ及び列（ｕ＋１）を横切っている。斜線１４０があるために、スーパーセル１４３ないし１４５は列アドレス範囲（ｕ−ｕ＋１）を有する。これは、セル１４３ないし１４５の中に含まれる黒色画素が全て列（ｕ＋１）の中に存在するとしても同じである。
【０１２６】
スーパーセルの列アドレスを更新して左端の列を除外すべきかどうかを判定するために、ステップＳ５１７ではいくつかの基準を評価する。最初に、列（ｕ＋１）の中にある対象スーパーセルの左境界が列ｕの中に位置するかどうかを判定する。２番目に、左境界と格子線１４１の間の距離が閾値よりも短いかどうかを判定する。３番目に、このスーパーセルの中の接続構成要素が全て格子線１４１の右側にあるかどうかを判定する。４番目に、対象スーパーセルの行アドレスのところの列ｕの中に別のスーパーセルがあるかどうかを判定する。これらの４つの基準を満たす場合には、対象スーパーセルの定義から列ｕを削除し、対象スーパーセルの大きさを再定義する。
【０１２７】
図２３の場合、スーパーセル１４３ないし１４５は前記基準を満たす。その結果生じるスーパーセル１４３ないし１４５の再定義を図２４に示す。図２４には、スーパーセルの列アドレス範囲から右端列を削除すべきかどうかを判定するのに使用する前記基準の修正バージョンに基づいてスーパーセル１４８及び１４９を再定義した結果も反映されている。
【０１２８】
この修正基準によれば、最初に、列ｕの中にある対象スーパーセルの右境界が列（ｕ＋１）の中に位置するかどうかを判定する。２番目には、右境界と格子線１４１の間の距離が閾値よりも短いかどうかを判定する。３番目には、このスーパーセルの中の接続構成要素が全て、格子線１４１の左側にあるかどうかを判定する。４番目には、対象スーパーセルの行アドレスのところの列（ｕ＋１）の中に別のスーパーセルがあるかどうかを判定する。これらの４つの基準を満たす場合には、対象スーパーセルの定義から列（ｕ＋１）を削除し、対象スーパーセルの大きさを再定義する。
【０１２９】
前記基準を、図２３及び２４の後方に傾斜した格子線１４０に対してだけではなく、前方に傾斜した格子線に対しても同様に適合させることができることを理解されたい。この点に関し、前記基準と同様の基準をステップＳ５１７で更に使用して、傾斜した水平線に起因するスーパーセルの行アドレスも調整する。
【０１３０】
ステップＳ５１７の後に、「スーパーセル・ホール（super-cell hole）」が存在する場合にダミーのスーパーセルを作成するか、又はスーパーセルを拡張するためのステップＳ５１９を実行する。図２６（ａ）（ｂ）は、「スーパーセル・ホール」が生じている状況を示す例である。図２６（ａ）に示すように、表セル１６０の左側には目に見える格子線が存在しない。従って図１７の方法に関して先に説明したとおり、その左及び下側が目に見えない格子線によって境界されたスーパーセルが作成される。白色領域１６３は黒色画素に囲まれており、従って白色領域１６３に対応するスーパーセル１６４がステップＳ１７０１で割り当てられている。対照的に領域１６５は、黒色画素に完全に囲まれた接続構成要素も白色領域も含まないので、領域１６５にスーパーセルは割り当てられていない。
【０１３１】
従って「スーパーセル・ホール」は、スーパーセル１６２の下部境界と水平格子線１６１の間、及び領域１６５に存在する。
【０１３２】
図２５に示す流れ図は、図２６（ａ）に示した状況に対処するためのものである。具体的には、フローはステップＳ２５０１から始まり、このステップで、スーパーセルのそれぞれの境界を対応する目に見える格子線まで延長する。次いでステップＳ２５０４で、スーパーセルのサイズ及び境界の情報を更新する。ステップＳ２５０５では、対象表の左、右、上部及び下部の縁を解析して領域１６５のような領域が存在するかどうかを判定する。そうである場合にはステップＳ２５０６で、このような領域を取り囲むダミーのスーパーセルを作成する。次いでステップＳ５２０に進む。領域１６５のような領域が存在しない場合にはステップＳ２５０５から直接にステップＳ５２０に進む。
【０１３３】
図２５のステップを実行した後、スーパーセル１６２は図２６（ｂ）に示すように延長されている。図２６（ｂ）には、領域１６５に対応するダミーのスーパーセル１６７も示されている。
【０１３４】
図５に記載した処理に戻る。ステップＳ５２０は、「セル・ホール（cell hole）」が存在する場合にダミー・セルを作成するためのステップを含む。図２７にセル・ホールを含む表を示す。具体的には、表１７０はスーパーセル１７２を含む。スーパーセル１７２の中には表セル１７４、１７５及び１７６がある。表セル１７４ないし１７６の行及び列アドレスならびにスーパーセル１７２の大きさに基づくと、破線に示す位置１７７に表セルが欠落していることが判る。この位置をセル・ホールと称する。これに応じてステップＳ５２０で位置１７７にセルを定義する。
【０１３５】
ステップＳ５２０で定義されたセルは当然ながら接続構成要素を含まない。しかしこのようなセルは、表の特徴を定義し迅速に再現するのに有用である。更に、このようなセルがあることによって、表１７０を表すファイルの位置１７７にデータを簡単に追加することができるようになる。これはこのファイルが、位置１７７のところに予め定義されたセルを含むためである。
【０１３６】
図２８（ａ）（ｂ）は、ステップＳ５２１に基づく目に見える表セル境界を有する表の例である。具体的には図２８（ａ）に、表セル１８１ないし１８６を含む表１８０が示されている。更に、表セル１８１及び１８２を含むスーパーセル１８７、及び表セル１８３ないし１８６を含むスーパーセル１８８も示されている。
【０１３７】
ステップＳ５２１ではそれぞれの表セルを調べ、その上、下、左、又は右が目に見える格子線によって境界されているかどうかを判定する。この点に関し、表セル１８１はその上及び右側、表セル１８２はその右及び下側、表セル１８３はその上及び左側、表セル１８４はその左及び下側、表セル１８５はその下及び右側、表セル１８６はその上及び右側がそれぞれ境界されている。判定した情報を、表セルの種類、表セルの行及び列アドレス、ならびに表セルの位置及びサイズの定義とともに記憶することができる。
【０１３８】
図２８（ｂ）は、表セルを取り囲む目に見える境界に関するデータの記憶を説明するための例である。具体的には図２８（ｂ）に、表１８０のそれぞれの表セルを表すマトリックスが示されている。図２８（ａ）に対応するこのマトリックスに示すように、図２８（ｂ）の円は、目に見えない表セル境界を示し、ダッシュ“−”、“｜”は目に見える表セル境界を示す。図２８（ｂ）に示したようなマトリックスに参照することによって、本実施の形態に基づいて解析した表の内部格子線を迅速に再現することができる。
【０１３９】
ステップＳ５２１からＳ５２２に進み、図３のステップＳ３１０及びＳ３１１に関して先に説明したスキュー検出及び後処理を実行する。
【０１４０】
図５のフローチャートよって判明した情報は、対象表を表す階層木構造中に記憶されることが好ましいことに留意されたい。好ましい実施の形態では、スーパーセルの行及び列アドレス、スーパーセルの座標、スーパーセルに含まれる表セル、及びスーパーセルの目に見える境界の存在についての情報を含むスーパーセルに関するデータを、図２９（ａ）のノード２００などの、その表ブロックを表すノードに記憶する。ノード２００には、表座標、列及び行範囲、目に見える垂直及び水平格子線の位置、ならびに目に見えない垂直及び水平格子線の位置も記憶される。
【０１４１】
ノード２００から下って表セル・ノード２０２ないし２０４がある。これらの表セル・ノードは、表セル座標、表セルの行及び列アドレス、目に見える表セル境界の存在を表すデータを含み、周囲のスーパーセルは、対象表セルを表すノードに記憶される。
【０１４２】
図２９（ｂ）に、図２９（ａ）の階層木の代替表現を示す。図２９（ｂ）の階層木では、スーパーセル・ノード２０５及び２０６が表ノード２００から別個に定義されており、これらの下には、対応するスーパーセルに含まれる表セルを表すノードがある。図２９（ｂ）の木構造では、スーパーセルの行及び列アドレス、スーパーセルの座標、スーパーセルに含まれる表セル、及びスーパーセルの目に見える境界の存在についての情報を含む、スーパーセル・フレームに関するデータを含むのはノード２００ではなくスーパーセル・ノード２０５及び２０６であることに留意されたい。
【０１４３】
本発明の実施の形態を、現時点で好ましい実施形態であると考えられるものに関して説明してきたが、本発明は、以上に記載したものに限定されるものでないことを理解されたい。本発明は、添付の請求の範囲の趣旨及び範囲に含まれるさまざまな修正及び等価の構成をカバーするものである。
【０１４４】
【発明の効果】
以上説明したように本発明によれば、表イメージを含む画像データから、その表を定義する行、列、表格子線などの特徴を正確に取り出すことができる。
【０１４５】
また本発明によれば、表セルに含まれるデータを正確に抽出し、スプレッドシート・アプリケーションに出力することができる。
【０１４６】
また更に本発明によれば、既存の行及び列に基づいて表にセルを簡単に追加することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るコンピュータ装置を示す外観図である。
【図２】本実施の形態に係るコンピュータの内部構成を示すブロック図である。
【図３】本実施の形態に係るブロック選択処理を説明するフローチャートである。
【図４】本実施の形態に係る非テキスト接続構成要素の分類を説明するフローチャートである。
【図５】表イメージのブロック選択処理を特に対象としたフローチャートである。
【図６】反転領域を有する表と、そのヒストグラムを示す図である。
【図７】本実施の形態に係る反転表領域の処理を説明するフローチャートである。
【図８】付属する接続構成要素の抽出を説明する表の部分を示す図である。
【図９Ａ】本実施の形態に係る表列計算を説明するフローチャートである。
【図９Ｂ】本実施の形態に係る表列計算を説明するフローチャートである。
【図１０】本実施の形態の表列計算に使用する垂直ヒストグラムを説明する図である。
【図１１】本実施の形態に係る表列計算の際に考えられるヒストグラム構成を示す図である。
【図１２】本実施の形態に係る表列計算を説明する図である。
【図１３】本実施の形態に係る表行計算を説明するフローチャートである。
【図１４】本実施の形態に係る表行計算を説明する図である。
【図１５】本実施の形態に基づいて垂直及び水平格子線の位置決めをする方法を説明するフローチャートである。
【図１６】本実施の形態に係る垂直格子線計算を説明する図である。
【図１７】本実施の形態に係るスーパーセルの作成を説明するフローチャートである。
【図１８】本実施の形態に係るスーパーセルの作成を説明する図である。
【図１９】本実施の形態に係る列分割の際に考えられる垂直ヒストグラム構成を説明する図である。
【図２０】本実施の形態に係る行分割を説明する表の部分を説明する図である。
【図２１Ａ】本実施の形態に係る表セルの列分割を説明するフローチャートである。
【図２１Ｂ】本実施の形態に係る表セルの行分割を説明するフローチャートである。
【図２２】本実施の形態に係る列調整を説明する図である。
【図２３】傾斜格子線に基づく列アドレス調整を説明する表の部分を示す図である。
【図２４】図２３の表の部分に、本実施の形態に係る列アドレス調整を実施したものを示す図である。
【図２５】本実施の形態に係るダミー・スーパーセルの作成を説明するフローチャートである。
【図２６】本実施の形態に係るスーパーセル・ホール補償を説明する図である。
【図２７】本実施の形態に係るダミー・セルを示す図である。
【図２８】表セル、スーパーセル及び目に見える格子線の関係を示す図である。
【図２９】表イメージを表すデータを記憶する階層木構造を示す図である。
【図１】
0004251586.tif 000002
【図２】
0004251586.tif 000003
【図３】
0004251586.tif 000004
【図４】
0004251586.tif 000005
【図５】
0004251586.tif 000006
【図６】
0004251586.tif 000007
【図７】
0004251586.tif 000008
【図８】
0004251586.tif 000009
【図９Ａ】
0004251586.tif 000010
【図９Ｂ】
0004251586.tif 000011
【図１０】
0004251586.tif 000012
【図１１】
0004251586.tif 000013
【図１２】
0004251586.tif 000014
【図１３】
0004251586.tif 000015
【図１４】
0004251586.tif 000016
【図１５】
0004251586.tif 000017
【図１６】
0004251586.tif 000018
【図１７】
0004251586.tif 000019
【図１８】
0004251586.tif 000020
【図１９】
0004251586.tif 000021
【図２０】
0004251586.tif 000022
【図２１Ａ】
0004251586.tif 000023
【図２１Ｂ】
0004251586.tif 000024
【図２２】
0004251586.tif 000025
【図２３】
0004251586.tif 000026
【図２４】
0004251586.tif 000027
【図２５】
0004251586.tif 000028
【図２６】
0004251586.tif 000029
【図２７】
0004251586.tif 000030
【図２８】
0004251586.tif 000031
【図２９】
0004251586.tif 000032