JPH11259655A - 画像処理方法及び装置 - Google Patents

画像処理方法及び装置

Info

Publication number
JPH11259655A
JPH11259655A JP11000239A JP23999A JPH11259655A JP H11259655 A JPH11259655 A JP H11259655A JP 11000239 A JP11000239 A JP 11000239A JP 23999 A JP23999 A JP 23999A JP H11259655 A JPH11259655 A JP H11259655A
Authority
JP
Japan
Prior art keywords
image
row
line
supercell
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11000239A
Other languages
English (en)
Other versions
JP4251586B2 (ja
Inventor
Shin-Ywan Wang
イン ワン シン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JPH11259655A publication Critical patent/JPH11259655A/ja
Application granted granted Critical
Publication of JP4251586B2 publication Critical patent/JP4251586B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 行、列、表格子線などのビットマップ表イメ
ージの内部特徴を正確に識別し表すためのシステムを提
供する。 【解決手段】 目に見える格子線及び目に見えない格子
線によって定義された行及び列を含み、表セルを含む表
イメージに対するブロック選択方法において、1つ又は
複数の表セルを含むスーパーセルを識別するステップで
あって、表セルの周囲にあり、目に見える格子線によっ
て境界されたトレースされた白色領域に基づいてスーパ
ーセルが識別されるステップ、それぞれの表セルを境界
する垂直及び水平格子線が目に見える格子線であるの
か、又は目に見えない格子線であるのかを判定するステ
ップ、及びそれぞれのスーパーセルを境界する垂直及び
水平格子線が目に見える格子線であるのか、又は目に見
えない格子線であるのかを判定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、表イメージ中の特
徴を識別して定義する画像処理方法及び装置に関するも
のである。
【0002】
【従来の技術】従来のページ分割システムは、文書イメ
ージに適用して、その文書イメージの特定の領域に含ま
れるデータの種類を識別するためのものである。この情
報を使用して、特定の領域中のデータを抽出し、この抽
出データに実施する処理の種類を決定する。
【0003】表イメージを含む文書については、表イメ
ージの中に位置するテキスト領域、又は表セルを、光学
式文字認識(OCR)処理を使用してASCII文字に
変換し、これらを、この表セルの位置に対応する情報と
ともにASCIIファイルに記憶することができる。し
かし従来のシステムは、表セルに対応する行及び列アド
レスを正確に決定することができない。従って、認識し
たASCII文字を、行及び列アドレス・データに基づ
くスプレッドシートに確実に入力することができない。
【0004】更に、従来のシステムによって生成された
データが不十分で、ビットマップ表イメージの内部特徴
を適切に再作成することができないことがよくある。例
えばこのようなデータは、解析した表イメージの垂直及
び水平格子線を反映しない。本明細書の定義によれば、
垂直及び水平格子線は表内のそれぞれの行及び列を定義
するものであり、目に見えるものであっても、又は目に
見えないものであってもよい。従って、従来のシステム
を使用してASCIIバージョンのビットマップ表を作
成することはできるが、このASCIIバージョンは、
表格子線を表すデータを含まない。従って、記憶したデ
ータを使用して、表の中の格子線のビットマップ・バー
ジョンを正確に再作成することはできない。更に、表セ
ルの中のテキストを編集したい場合、編集したテキスト
が格子線と交差し、これによって行/列境界を侵害する
かどうかを、従来のシステムが供給する情報に基づいて
判定することは難しい。
【0005】
【発明が解決しようとする課題】従って、行、列、表格
子線などのビットマップ表イメージの内部の特徴を正確
に識別し表すためのシステムが求められている。
【0006】本発明は上記従来例に鑑みてなされたもの
で、表イメージを含む画像データから、その表を定義す
る行、列、表格子線などの特徴を正確に取り出すことが
できる画像処理方法及び装置を提供することを目的とす
る。
【0007】また本発明の目的は、表セルに含まれるデ
ータを正確に抽出し、スプレッドシート・アプリケーシ
ョンに出力することができる画像処理方法及び装置を提
供することにある。
【0008】また更に本発明の目的は、既存の行及び列
に基づいて表にセルを簡単に追加することができる画像
処理方法及び装置を提供することにある。
【0009】
【課題を解決するための手段】本発明は、ビットマップ
表イメージ中のスーパーセルを識別することで前述の課
題に対処する。スーパーセルは、目に見える表格子線に
よって境界された表イメージの領域であり、1つ又は複
数の表セルを含む。有利には識別したスーパーセルの位
置及び大きさを使用して、表イメージの目に見える格子
線のビットマップ・イメージを復元することができる。
更に、表セルを取り囲むスーパーセルの大きさに参照す
ることによって、表セルのテキストを編集したときに編
集されたテキストが格子線を横切るかどうかを判定する
ことができる。
【0010】本発明の一態様によれば、目に見える格子
線及び目に見えない格子線によって定義された行及び列
に配置された表セルから成る表のビットマップ・イメー
ジにブロック選択処理を実行するシステムである。この
システムは、1つ又は複数の表セルを含むスーパーセル
を識別し、スーパーセルは、表セルの周囲にあって目に
見える格子線によって境界されたトレースされた白色領
域に基づいて識別され、それぞれの表セルを境界する垂
直及び水平格子線が目に見える格子線であるのか、又は
目に見えない格子線であるのかを判定し、それぞれのス
ーパーセルを境界する垂直及び水平格子線が目に見える
格子線であるのか、又は目に見えない格子線であるのか
を判定する。
【0011】前記態様によって本発明は、表イメージの
内部特徴を実質的に復元するのに使用できる情報を求め
る。表イメージ全体を正確に表現するため、求めた情報
を更に、ASCIIファイルの中に、又はASCIIフ
ァイルとともに記憶することができる。
【0012】他の態様では、1)表イメージの中の反転
テキスト領域を検出し、2)表イメージの中の接続構成
要素を反映するが、検出した前記領域の中の接続構成要
素は反映しない水平ヒストグラムを計算し、3)この水
平ヒストグラムに基づいて表イメージ中の行を定義し、
4)定義した行について、トレースされた白色領域及び
部分格子線の位置に基づいて行を再定義することによっ
て表イメージ中の行を識別する。
【0013】前記態様の結果、表セルを正確に識別し、
これらをスプレッドシートの適当な行に入力することが
できる。
【0014】関連態様では、1)表イメージの中の反転
テキスト領域を検出し、2)表イメージの中の接続構成
要素を反映するが、検出した前記領域の中の接続構成要
素は反映しない垂直ヒストグラムを計算し、3)この垂
直ヒストグラムに基づいて表イメージ中の列を定義し、
4)定義した列について、トレースされた白色領域及び
部分格子線の位置に基づいて行を再定義することによっ
て表イメージ中の列を識別する。
【0015】以上の態様によって、表セルに含まれるデ
ータを正確に抽出し、スプレッドシート・アプリケーシ
ョンに出力することができる。更に、既存の行及び列に
基づいて表にセルを簡単に追加することができる。
【0016】この短い概要は、本発明の性質を短時間で
理解できるように示したものである。本発明の好ましい
実施形態の以下の詳細な説明を添付図面ととともに参照
すれば、本発明の理解を更に完全なものとすることがで
きよう。
【0017】
【発明の実施の形態】図1は、本発明に基づくブロック
選択ベースの表解析システムを実施する代表的なコンピ
ュータ装置の外観を示す図である。
【0018】図1には、コンピュータ装置1が示されて
いる。コンピュータ装置1は、モノクロ又はカラーの表
示モニタ2を備え、これを使用してコンピュータ装置1
はユーザに対してイメージを表示する。コンピュータ装
置1は更に、データ・ファイル及びアプリケーション・
プログラム・ファイルを記憶するための固定ディスク・
ドライブ3、テキスト・データを入力したり表示画面2
上のオブジェクトを操作したりするためのキーボード
5、及び表示画面2上のオブジェクトを指したり操作し
たりするためのマウスなどのポインティング・デバイス
6を備える。
【0019】コンピュータ・システム1は更に、フロッ
ピー・ディスクに読取り及び書込みを行なうためのフロ
ッピー・ディスク・ドライブ4を含む。表イメージを含
む文書イメージ・ファイル及びコンピュータで実行可能
な本発明の実施の形態を具現化する処理ステップ等は、
固定ディスク3に記憶してもよいし、又はフロッピー・
ディスク・ドライブ4に挿入されたフロッピー・ディス
クに記憶してもよい。或は、文書イメージ・ファイル及
び/又はコンピュータで実行可能な処理ステップをCD
−ROMドライブ(図示せず)を介してアクセスしたC
D−ROMから獲得してもよい。
【0020】コンピュータ装置1は更に、ローカル・エ
リア・ネットワークとインタフェースするためのネット
ワーク・インタフェース10、及びファクシミリ・メッ
セージ及びその他のデータ・ファイルを送受するための
ファクシミリ/モデム・インタフェース11を備える。
文書イメージ・ファイル及びコンピュータで実行可能な
本発明を具現化する処理ステップには、ネットワーク・
インタフェース10を介してネットワーク上でアクセス
されてもよい。更に、ファクシミリ/モデム・インタフ
ェース11を使用して、イメージ及び/又はコンピュー
タで実行可能な処理ステップをワールド・ワイド・ウェ
ブ(以後WWWと称する)から取り出すこともできる。
【0021】固定ディスク3に記憶される、本実施の形
態に基づくブロック選択アプリケーションを含むアプリ
ケーションは、フロッピー・ディスク、CD−ROM、
ネットワーク・ドライブ、WWWなどのコンピュータ可
読媒体からダウンロードしてディスク3に記憶するのが
最も一般的である。
【0022】文書を走査してその文書のビットマップ・
イメージ・データをコンピュータ装置1に供給するスキ
ャナ7から文書イメージを入力してもよい。ビットマッ
プ表イメージ・データを含むビットマップ・イメージ・
データを固定ディスク3に記憶するときには圧縮フォー
マットで記憶してもよいし非圧縮フォーマットで記憶し
てもよい。
【0023】コンピュータ装置1によって処理された文
書イメージを出力するためにプリンタ9が提供される。
【0024】動作時、ウィンドウ機能オペレーティング
・システムの制御下で、本発明の実施の形態に基づくブ
ロック選択アプリケーションなどが記憶されたアプリケ
ーション・プログラムは選択的に起動され、記憶データ
を処理及び操作する。オペレータの命令及び記憶された
アプリケーション・プログラムに基づいて、スクリーン
2にイメージを表示するためのコマンド、及びプリンタ
9を使用して表示されたイメージを印刷するためのコマ
ンドが発行される。
【0025】図2は、コンピュータ装置1の内部構造を
示す詳細ブロック図である。図2に示すように、コンピ
ュータ装置1は、プログラムされたマイクロプロセッサ
などの、コンピュータ・バス21にインタフェースされ
た中央処理装置(CPU)20を含む。コンピュータ・
バス21には更に、スキャナ・インタフェース22、プ
リンタ・インタフェース23、ネットワーク・インタフ
ェース24、ファックス/モデム・インタフェース2
6、ディスプレイ・インタフェース27、キーボード・
インタフェース28、及びマウス・インタフェース29
がインタフェースされる。
【0026】CPU20がメモリ域にアクセスできるよ
うに、ランダム・アクセス・メモリ(RAM)などのメ
イン・メモリ30が、コンピュータ・バス21にインタ
フェースされる。具体的には、ディスク3に記憶されて
いるようなコンピュータで実行可能な処理ステップを実
行するときに、CPU20はそれらのステップを、ディ
スク3又はその他の記憶媒体からメイン・メモリ30に
ロードし、メイン・メモリ30から、これらの処理ステ
ップを実行する。
【0027】リード・オンリー・メモリ(ROM)31
は、ブートアップの際に使用する処理ステップなどのコ
ンピュータが実行可能な処理ステップ、又は例えばキー
ボード5の動作用の基本入出力システム(BIOS)シ
ーケンスを記憶するのに使用される。
【0028】図3は、本発明の実施の形態に基づくブロ
ック選択処理の方法を説明するフローチャートである。
図3に示した処理ステップは、ディスク3などのコンピ
ュータ可読媒体に記憶されたブロック選択アプリケーシ
ョンに基づいてCPU20によって実行されることが好
ましい。
【0029】図3の処理ステップは、全体として、文書
イメージを入力し、その文書イメージの中の接続した構
成要素を検出し、テキスト接続構成要素と非テキスト接
続構成要素とを分離し、非テキスト接続構成要素を分類
し、非テキスト構成要素の縁に沿った白色領域を識別
し、テキスト・ブロック及びテキスト行を作成し、入力
イメージのスキューを検出し、入力イメージを後処理す
るのに使用される。
【0030】図3に示す処理ステップは、表の中の反転
テキスト領域、即ち、周囲を黒色画素で取り囲まれた白
色画素によってテキストが構成されるテキスト領域を識
別し、付属するテキスト接続構成要素を識別し、表セル
のアドレス、ならびに表中の目に見える垂直及び/又は
水平格子線によって境界された表領域の中にあって、少
なくとも1つの表セルを含む領域であるスーパーセルの
アドレスを作成、計算し、目に見えるセル境界の存在を
調べ、本実施の形態に基づいて、表格子線の位置を決定
するのにも使用されることに留意されたい。この点に関
し、表中の格子線は、その表の中で識別されたそれぞれ
の行及び列を定義するものであり、目に見える格子線又
は目に見えない格子線である。
【0031】以下、詳しく説明する。図3のステップS
301では、文書イメージのビットマップ画素データを
コンピュータ・システム1に入力し、これをディスク3
に記憶する。この画素データが2値画素データ、即ち、
白黒のイメージ・データであることが好ましい。しか
し、イメージ・データが、いくつかのグレースケール・
レベルのうちの1つで画素が表されるハーフトーン・イ
メージ・データである場合、又は画素データが、画素の
カラー・データを符号化したマルチビット・ワードによ
ってそれぞれの画素が表されるカラー・イメージ・デー
タである場合には、非2値画素データを2値画素データ
に2値化するために閾値処理を実行しなければならな
い。
【0032】ステップS301の後にイメージの縮小を
実施してもよいことに留意されたい。このようなイメー
ジの縮小は後続の処理の速度を向上させるが、光学式文
字認識などの特徴を集中的な処理に悪影響を及ぼすこと
もある。
【0033】ステップS302では、入力した画素デー
タを解析し、文書イメージの中の接続構成要素を検出す
る。接続構成要素とは、白色画素に完全に囲まれた一群
の黒色画素である。検出した接続構成要素には、それぞ
れの接続構成要素についてその接続構成要素を境界する
最も小さな長方形を定義する長方形化、即ち、「ブロッ
ク化」を実施する。
【0034】ステップS304では、接続構成要素を、
テキスト接続構成要素と非テキスト接続構成要素に大ま
かに分類する。この分類は、接続構成要素を境界する長
方形のサイズに基づき、更に非テキスト接続構成要素が
テキスト接続構成要素よりも通常は大きいことに基づい
て実施される。
【0035】ステップS305では、ステップS304
で非テキスト接続構成要素として分類された接続構成要
素を更に解析して、それらが、ライン、ジョイント・ラ
イン、ピクチャ、ライン・アート、フレーム、表、不明
(即ち前記以外)のいずれであるかを判定する。
【0036】図4は、ステップS305に基づいて非テ
キスト接続構成要素を解析する方法を説明する流れ図で
ある。
【0037】図4に記載した非テキスト接続構成要素の
分類は、全般的に基準閾値(しきい値)に基づく。基準
閾値は数式化されており、解析する接続構成要素の大き
さ、幅などに基づいて動的に計算される。ステップS4
01では非テキスト接続構成要素を解析して、それがハ
ーフトーン(連続階調)ピクチャであるかどうかを判定
する。そうである場合にはステップS402に進み、
「ハーフトーン(連続階調)ピクチャ」副属性をその非
テキスト接続構成要素に割り当てる。
【0038】ステップS401で、非テキスト接続構成
要素がハーフトーン・ピクチャでないと判定された場合
にはステップS404に進み、その非テキスト接続構成
要素がフレームであるかどうかを判定する。そうである
場合にはステップS405に進み、「フレーム」副属性
をその非テキスト接続構成要素に割り当てる。ステップ
S404でそうではないと判定された場合にはステップ
S406に進み、非テキスト接続構成要素が水平線又は
垂直線であるかどうかを判定する。接続構成要素が水平
線又は垂直線であると判定された場合にはステップS4
07に進む。ステップS407では、「水平線」又は
「垂直線」副属性をこの非テキスト接続構成要素に割り
当てる。
【0039】ステップS409は、ステップS406
で、非テキスト接続構成要素が水平線でも垂直線でもな
いと判定された場合に実行される。ステップS409で
は、非テキスト接続構成要素が表であるかどうかを判定
する。簡単に言うと、非テキスト接続構成要素が表であ
るかどうかを判定するためには、接続構成要素の内部白
色領域を4方向にトレースする。内部白色領域とは、黒
色画素に完全に囲まれた白色画素の領域である。4つの
内部白色領域が見つかり、かつこれらの白色領域が水平
線及び垂直線によって閉じられているなど、これらの白
色領域の配置が表に類似の格子形である場合には、ステ
ップS410で、この非テキスト接続構成要素を表とし
て指定する。
【0040】表の内部のテキスト接続構成要素と非テキ
スト接続構成要素を識別し分類するために、ステップS
410では更に、識別した表の内部をステップS302
及びS304に基づいて再解析する。
【0041】ステップS409で非テキスト接続構成要
素が表ではないと判定された場合にはステップS412
に進み、非テキスト接続構成要素が斜線であるかどうか
を判定する。そうである場合にはステップS414で
「斜線」副属性を非テキスト接続構成要素に割り当て
る。
【0042】ステップS412で、斜線でないと判定さ
れた場合にはステップS415に進み、非テキスト接続
構成要素が、ライン・アート(line-art)・ピクチャ、
又はジョイント・ラインであるかどうかを判定する。非
テキスト接続構成要素がライン・アート・ピクチャでも
ジョイント・ラインでもない場合にはステップS416
に進み、「不明」属性を、この接続構成要素に割り当て
る。ライン・アート・ピクチャ又はジョイント・ライン
である場合にはステップS417に進み、非テキスト接
続構成要素がジョイント・ラインであるかどうかを判定
する。
【0043】非テキスト接続構成要素がジョイント・ラ
インでない場合にはステップS419で、この非テキス
ト接続構成要素をライン・アート・ピクチャに指定す
る。ステップS417で、非テキスト接続構成要素がジ
ョイント・ライン・ピクチャであると判定された場合に
はステップS420に進み、「ジョイント・ライン」副
属性をこの構成要素に割り当てる。次いでステップS4
21に進む。
【0044】ステップS402、S405、S407、
S410、S414、S416、S419からもステッ
プS421に進むことに留意されたい。このステップで
は、分類すべき非テキスト接続構成要素が残っているか
どうかを判定する。そうである場合にはステップS40
1に戻る。そうでなければ図3のステップS306に進
む。
【0045】ステップS306では、非テキスト接続構
成要素の縁に沿った目に見えない線を識別する。ステッ
プS306では例えば、目に見えない垂直線、即ち垂直
の白色画素の領域は2つのハーフトーン・ピクチャ接続
構成要素間に位置することがある。この目に見えない線
をステップS308で使用して、これらのピクチャ接続
構成要素の下に位置する複数のテキスト接続構成要素を
一緒にすべきか、又は別個の列ブロックに入れるべきか
を判定することができる。
【0046】ステップS306からステップS307に
進み、表領域の中の反転領域を識別する。反転領域は、
周囲を黒色画素に囲まれた白色画素から構成されたテキ
ストを含む領域である。本実施の形態に基づく後続の処
理では、その他の表の特徴の識別を妨害しないように表
領域の中の反転領域を無視する。反転領域の識別の詳細
については図6及び7に関して後で説明する。
【0047】ステップS307では更に、表領域の中の
水平及び垂直格子線に付属する接続構成要素を識別す
る。付属する接続構成要素の識別及び抽出については概
要を図8に関して後に説明する。こうして識別された付
属構成要素は、本発明の実施の形態に基づく表中のその
他の特徴の識別に使用される。
【0048】続いてステップS308に進み、ステップ
S304で分類したテキスト接続構成要素からテキスト
・ブロックを形成する。この点に関し、それぞれのテキ
スト接続構成要素の水平方向及び垂直方向に隣接したテ
キスト接続構成要素を、隣接したテキスト単位間の水平
及び垂直間隔の統計解析に基づいてテキスト・ブロック
にまとめる。次に、形成したテキスト・ブロックを解析
してテキスト行を形成する。
【0049】次にステップS309に進み、表として指
定された非テキスト接続構成要素を解析するための本発
明の実施の形態に基づく処理ステップを実行する。より
詳細には、表の中の行及び列を識別し、行及び列アドレ
スを表中のそれぞれの表セルに割り当てる。行及び列ア
ドレスの識別及び割当てについては図9ないし図14に
関して後に詳細に説明する。
【0050】ステップS309では更に、表の垂直及び
水平格子線の位置を計算する。これらの格子線は、識別
された行及び列を定義するものであり、目に見える格子
線及び目に見えない格子線がある。格子線計算について
は図15及び16に関して後に説明する。
【0051】ステップS309では更に、目に見える格
子線(即ち、連続する目に見える画素により構成される
線)によって境界され、少なくとも1つの表セルを含む
表領域に基づいてスーパーセルを定義する。行及び列ア
ドレスをスーパーセルに割り当て、それぞれのスーパー
セルを取り囲む目に見える格子線の境界を識別する。ス
ーパーセルの作成及び目に見える境界の識別については
図17及び18に関して後に説明する。
【0052】次にステップS310で、入力文書イメー
ジのスキューを検出し、スキューの角度が予め定めた最
大角度を超えた場合にはエラー・コードを出力して、文
書ページのスキューが大きすぎてブロック選択処理を遂
行することができないことをユーザに知らせる。
【0053】スキューが許容範囲内である場合にはステ
ップS311に進み、後処理を実行する。この後処理
は、文書イメージのブロック表現をよりコンパクトで
「クリーン」なものにするためのものであり、文字認
識、データ圧縮などの後段の特定の処理に適合するよう
に変更することができる。一般に後処理は、テキスト・
ブロックをその他のテキスト又は非テキスト・ブロック
と関連させることを含む。
【0054】この後処理手順は、ステップS310で求
めたページ・スキューによって決定すると有利である。
例えば、ページのスキューがわずかである場合にはテキ
スト・ブロック間のギャップははっきりしている。従っ
てブロックは積極的に結合される。一方、スキューが大
きいページでは境界する長方形がいくつかのテキスト領
域にかかりやすく、そのために長方形は消極的に結合さ
れる。後処理が終わるとブロック選択は終了となる。
【0055】図3の処理ステップを実行すると、文書イ
メージ中のデータの位置及び種類の詳細表現が得られ
る。その結果、図3の処理ステップを光学式文字認識シ
ステムとともに使用して、表の中のビットマップ・イメ
ージ・データで表された文字を認識し、これらの文字を
ASCII形式に変換し、表の決定された行及び列アド
レスに基づいて、これらのASCII文字を表計算プロ
グラムに入力することができる。更に図3の処理によっ
て、表格子線などの表の内部特徴を実質的に再現するの
に必要な情報を得ることができる。
【0056】図5は図3の流れ図のステップを、表の特
徴の解析に特に注意を払ってより詳細に説明した流れ図
である。この点に関し、ステップS501及びS502
は、図3のステップS301、S302、S304、S
305に対応する。具体的にはステップS501で文書
イメージを入力し、ステップS502で、文書イメージ
の中の接続構成要素を検出しブロック化する。
【0057】ステップS503では、ステップS304
及びS305に関して先に述べたとおり、表及び表の中
のテキスト・ブロックを識別する。次にステップS50
4で、後段のテキスト・ブロック形成に使用する表の縁
に沿った目に見えない線を識別する。
【0058】対象表の中の反転テキスト領域はステップ
S505で識別される。周囲を黒色画素に囲まれた白色
画素から構成されたテキストを含む領域である反転領域
は前述のとおり、本実施の形態に基づく後続の表処理中
には無視される領域である。図6(a)に、表40の中
にある反転領域42を示す。領域42の内部の斜線は黒
色画素の領域を表し、領域42の中に語「TITLE」
が形成されるように配置されている。図6(a)には更
に、先のステップS409に関して説明した表40の識
別の際に利用される白色領域が破線で示されている。
【0059】反転領域を識別するためのフローは図7の
ステップS701から始まり、このステップでは、表中
のそれぞれの画素行の中の白色境界対がまたぐ距離の合
計を表す水平ヒストグラムを計算する。この点に関し、
境界対とは、白色領域境界(図6(a)の破線)と特定
の画素行との交点によって決定される座標位置である。
図6(b)に、ステップS701から得られた表40に
対応するヒストグラム44を示す。
【0060】次いでステップS702に進む。ステップ
S702では、表40の大きさ及びヒストグラム44に
反映されたデータを使用して表40の最上部から始めて
それぞれの画素行を解析し、表中の画素行の中の白色境
界対間の距離の合計がその画素行がまたぐ合計距離の1
/2よりも小さいかどうかを判定する。Nを閾値とし
て、連続的に解析したN行の画素行について前述の条件
が満たされた場合にはステップS704に進む。
【0061】表40の場合、領域42中の行数はNより
も大きく、従ってフローはステップS704に進む。こ
のような行が連続するN行がない場合には図5のステッ
プS506に進む。
【0062】ステップS704では、ステップS702
で識別したN行の行の中のトレースされた白色領域を識
別する。これらの領域は、領域42の中に形成されたそ
れぞれの文字の内部に対応する。次にステップS706
で、識別されたそれぞれの白色領域のサイズを閾値サイ
ズと比較する。この閾値サイズは、テキスト文字又は小
さなイメージ・ノイズが、より大きな特徴から区別され
るように定義されることが好ましい。識別した白色領域
のサイズが閾値サイズよりも小さい場合にはステップS
707で、後続の表処理の際に、その白色領域を無視す
べきであると判定される。その結果この白色領域は、対
象表の中の白色領域を利用する後続の処理では考慮され
ない。次いでステップS709に進む。
【0063】ステップS706で、識別した白色領域の
サイズが閾値サイズに等しいか、又はこれより大きい場
合には、その白色領域は反転テキストに対応するもので
はないと判定され、フローはステップS709に進む。
【0064】ステップS709では、ステップS704
で識別した全ての白色領域を閾値サイズと比較したかど
うかを判定する。そうでない場合にはステップS706
に戻り、前述のとおりのステップをたどる。そうである
場合にはステップS710に進む。
【0065】次にステップS710で、表40の最後の
行を解析したかどうかを判定する。そうでない場合には
ステップS702に戻る。表40の全ての行を解析した
場合にはステップS506に進む。
【0066】ステップS506では、表の中の格子線に
付着した接続構成要素を識別して抽出する。
【0067】この点に関し図8に、全ての側面を目に見
える表格子線で囲まれた表50を示す。この表領域50
の中には、目に見えるその他の表格子線があり、黒色画
素に完全に囲まれたそれぞれの白色領域が破線で示され
ている。図8に示す通り、いくつかの目に見える格子線
はギャップを含む。このようなギャップは、不完全な印
刷、不完全な走査などに起因してしばしば生じる。これ
らのギャップは、付属した接続構成要素とも呼ぶ部分格
子線51、52及び53を定義する。トレースされた白
色領域54の点56と58が接近しているため接続構成
要素52が抽出される。即ち、接続構成要素52は、表
領域50の垂直及び水平格子線とは別個の接続構成要素
として識別される。接続構成要素51及び53も同様に
抽出される。抽出された付属する接続構成要素の使用に
ついては後に詳細に説明する。
【0068】図5に戻る。ステップS507ではステッ
プS308に関して説明したのと同様に、入力文書イメ
ージの中のそれぞれの表の外部に位置する接続構成要素
に基づいて、テキスト・ブロック及びテキスト行を形成
する。同様に、ステップS509では、それぞれの表の
内部に位置するテキスト接続構成要素に基づいてテキス
ト・ブロック及びテキスト行を形成する。ステップS5
07では、テキスト・ブロックを調べてテキスト・ブロ
ックの向きが垂直なのか、又は水平なのかを判定し、こ
の判定に基づいてテキスト行を形成するのが好ましい。
一方、ステップS509では水平テキスト行のみを形成
することが好ましい。
【0069】表の中に形成されたテキスト・ブロックを
以後、表セルと称する。この点に関しては前述のとお
り、表ブロックの中のその他のテキスト接続構成要素と
結合していないテキスト接続構成要素も本明細書では表
セルと呼ぶ。次にステップS510では、表の列を計算
し列アドレスを表セルに割り当てる。
【0070】図9A及び図9Bは、ステップS510の
プロセスを説明するための詳細フローチャートである。
図9A及び図9Bのフローチャートでは、表列を識別す
るのに表の垂直ヒストグラムを利用し、適正な列識別を
混乱させる可能性がある表題の領域を都合よく無視す
る。
【0071】この点に関しステップS901では、対象
表が5行以上のテキスト行を含むかどうかを判定する。
そうである場合には最上位のテキスト行を表題行である
とみなし、列識別時にはこれを無視する。
【0072】例えば、図10(a)に示す表60は、ス
テップS901で5行以上のテキスト行を含むと判定さ
れる。これに従ってステップS902に進む。ステップ
S902では、図10(b)の垂直ヒストグラム70の
ような垂直ヒストグラムを計算する。垂直ヒストグラム
70を計算するときには前述のとおり、表題とみなす最
上位のテキスト行61は無視する。ステップS901で
そうではないと判定された場合には直接にステップS9
04に進み、対象表のテキスト行を一切無視せずに垂直
ヒストグラムを計算する。
【0073】図10(a)に記載した垂直ヒストグラム
は、表60のそれぞれの画素列について、ステップS3
02及びS502に関して説明した表60の中のそれぞ
れの接続構成要素を境界する長方形(図示せず)がまた
ぐ垂直距離の合計を反映することに留意されたい。例え
ば、格子線64及び66などの水平及び垂直格子線は境
界する長方形によってブロック化されず、従って垂直ヒ
ストグラム70に反映されるデータには寄与しない。し
かし、ステップS506で識別され抽出された接続構成
要素は「ブロック化」され、従ってステップS904又
はステップS902に基づいて計算されるヒストグラム
に反映されることに留意されたい。例えば、付属する接
続構成要素68はヒストグラム70の部分71に反映さ
れる。
【0074】ステップS905では、計算したヒストグ
ラムの黒色画素が少ないことを反映した部分の距離P_
gap、P_gapの直後の、ヒストグラムの画素が比
較的多いことを反映した部分W、及びWの直後の、ヒス
トグラムの画素が少ないことを反映した部分N_gap
を、ヒストグラム70の左端の点を始点として計算す
る。例えば、P_gap、W及びN_gapは当初、ヒ
ストグラム70の領域72、74及び75にそれぞれ対
応する。次いで、それぞれのP_gap、W及びN_g
apの位置及び大きさに基づいて列を割り当てる。
【0075】ステップS906ないしS916(図9B
に示す)に従って表を左から右に解析する。この点に関
し、ステップS906ないしS916では、現在のWに
対応する表領域を現在の列に含めるべきか、又は現在の
Wを含む新規の列を定義すべきか、又は現在のWを無視
して新規の列を定義すべきかを判定する。
【0076】最初に、ステップS906で、Wが閾値よ
りも大きいかどうかを判定する。閾値は、小さなサイズ
のテキスト文字を反映したものであることが好ましい。
Wが閾値よりも大きい場合にはステップS907に進
み、P_gapが幅狭いかどうかを判定する。P_ga
pが幅広い場合にはステップS917に進み、Wを含む
新規の列を定義する。このWとP_gapの構成を図1
1(a)に示す。
【0077】ステップS907でP_gapが幅狭いと
判定された場合にはステップS909に進み、現在の列
の定義を延長してWを含める。この状況を図11(b)
に示す。次いでステップS905に戻る。
【0078】ステップS906で、Wが閾値に等しいか
又はこれより小さいと判定された場合にはステップS9
10に進み、P_gapが幅広いかどうかを判定する。
そうである場合にはステップS911に進み、Wが、表
50の接続構成要素52のような切断された接続構成要
素を反映したものであるかどうかを判定する。Wが、切
断接続構成要素を反映したものではない場合にはステッ
プS917に進み、Wを含む新規の列を定義する。図1
1(c)はこの状況を反映したものである。
【0079】ステップS911で、Wが、図11(d)
に示すような切断接続構成要素を反映したものであると
判定された場合には、現在の列の右端の境界を、P_g
apの左端のところで定義し、ステップS905に戻っ
て、新規のP_gap、W及びN_gapを定義する。
従って、ヒストグラムに反映されたこの切断接続構成要
素は定義されたどの列にも含まれない。
【0080】ステップS910に戻り、P_gapが幅
狭いと判定された場合にはステップS912に進む。ス
テップS912ではN_gapが幅広いかどうかを判定
する。そうでない場合にはステップS914に進み、現
在の列が対象表の最初の列であるかどうかを判定する。
そうである場合には先に説明したステップS917に進
む。このような状況が図11(e)に反映されている。
この状況では、現在の列がN_gapの始点で終わるよ
うに定義される。
【0081】ステップS914で、現在の列が対象表の
最初の列ではないと判定された場合にはステップS91
5に進み、現在の列を延長してWを含める。このような
状況を図11(f)に示す。フローはステップS905
に戻る。
【0082】ステップS912で、N_gapが幅広い
と判定された場合にはステップS916に進み、Wが、
切断接続構成要素を反映したものであるかどうかを判定
する。そうでない場合にはステップS915に進み、図
11(g)に示すWを現在の列に含める。ステップS9
16でそうであると判定された場合には、現在の列の右
端境界をP_gapの左端のところで定義し、ステップ
S905に戻って切断接続構成要素を無視する。この状
況を図11(h)に示す。
【0083】再び図9Aに戻り、ステップS917から
ステップS918に進む。この時点で、対象表を反映す
るヒストグラムの右端の部分に到達した場合にはステッ
プS920に進む。そうでない場合にはステップS90
5に戻る。
【0084】ステップS920に達したときには、対象
表の中にいくつかの列が定義されている。これらの列に
左から右に順番にアドレスを指定し、これらを、左右の
X座標境界に基づいて定義する。この点に関し図12
(a)及び図12(b)に、表76ならびに対応する列
の定義A及びBを示す。図12(b)に示すように、表
セル79があるために列Aは、2つの別個の列に分割し
なければならない状況にある。ステップS920及びS
921は、この状況に対処するためのものである。
【0085】ステップS920では、検出された白色領
域の左右の境界及び切断垂直格子線を調べて、定義され
た列境界の近くにこれらの特徴があるかどうかを判定す
る。そうである場合にはステップS922に進む。検出
された白色境界又は切断格子線が列境界の近くにない場
合にはステップS921に進み、白色境界又は切断格子
線を囲む新規の列を定義する。これに応じて全ての列ア
ドレスを更新する。
【0086】図12(c)に、ステップS921を実施
した後の表76の列定義を示す。白色領域78の右境界
は定義された列の境界とは離れているので、領域78の
右境界に隣接して新規の列Bを定義する。これに応じて
以前の列Bのアドレスは列Cに更新される。
【0087】次にステップS922で、表セルがまたぐ
列位置に対応する列アドレスをそれぞれの表セルに割り
当てる。場合によっては、割り当てられた列アドレスが
列アドレス範囲を含むことがある。例えば表セル77に
は列アドレスAが割り当てられるが、表セル79には列
アドレスA〜Bが割り当てられる。次いでステップS9
22からステップS511に進み、表の行を計算して、
表セルに行アドレスを割り当てる。
【0088】図13は、表行を計算し、行アドレスを表
セルに割り当てるためにステップS511で実行する処
理ステップを説明する詳細フローチャートである。フロ
ーはステップS1301から始まり、このステップで、
対象表の水平ヒストグラムを作成する。図14(a)
(b)に、対象表80及びステップS1301に基づい
て作成した水平ヒストグラム86を示す。水平ヒストグ
ラム86は、表80のそれぞれの画素行について、表8
0の中のそれぞれの接続構成要素を境界する長方形(図
示せず)がまたぐ水平距離を反映する。
【0089】この点に関し、ヒストグラム86のピーク
幅pw1は表セル81及び82を、ピーク幅pw2は表
セル83を、ピーク幅pw3は表セル84をそれぞれ反
映する。谷幅vw1は、ピーク幅pw1とピーク幅pw
2の間の領域を指し、谷幅vw2は、ピーク幅pw2と
ピーク幅pw3の間の領域を指す。
【0090】ステップS1302では、ヒストグラム8
6の最上位のピークを最初に調べる。具体的には、現在
行の最初のピーク幅pwが第1の閾値よりも大きいかど
うか、及び次の谷幅vwが第2の閾値よりも大きいかど
うかを判定する。第1の閾値は最小文字サイズを示すこ
とが好ましく、第2の閾値は最小行間隔を示すことが好
ましい。両方の条件を満たしている場合にはステップS
1304に進み、次に遭遇するピークに対応する新規の
行を定義する。ステップS1302で条件の1つを満た
していない場合にはステップS1305に進み、現在行
を延長して次に遭遇するピークを含める。いずれの場合
にもフローはステップS1304及びステップS130
5からステップS1306に進む。
【0091】ステップS1306では、水平ヒストグラ
ムのピークが他に存在するかどうかを判定する。そうで
ある場合にはステップS1302に戻る。そうでなけれ
ばステップS1307に進む。
【0092】ステップS1307では、表80の中の水
平な白色領域境界及び付属する水平格子線を識別する。
先に説明したステップS920ないしステップS922
と同様に、識別した白色境界又は格子線の近くに行境界
がない場合には新規の行を定義し、これに応じて行アド
レスを更新する。次いでステップS512に進む。
【0093】ステップS512では、垂直格子線及び水
平格子線の位置を計算する。図15は、ステップS51
2の処理ステップを詳細に説明するフローチャートであ
る。このフローはステップS1501から始まり、この
ステップS1501で、現在列及び隣接する列がそれぞ
れ、対応するトレースした白色領域に囲まれているかど
うかを判定する。そうである場合にはステップS150
2に進む。ステップS1502では、対応する白色領域
間の距離を求める。次にステップS1504で、ステッ
プS1502で求めた距離が閾値距離に等しいか又はこ
れよりも大きいと判定された場合にはステップS150
5に進み、垂直格子線の座標を計算する。ステップS1
504で、前記距離が閾値距離よりも小さいと判定され
た場合にはステップS1506に進み、垂直格子線の座
標を計算する。このときには、ステップS1505で使
用する式とは異なる式に基づいて計算することが望まし
い。
【0094】ステップS1501で、隣接する列に対応
する白色領域が存在しないと判定された場合にはステッ
プS1510に進み、ステップS1505及びステップ
S1506で使用する式とは異なる式を使用して垂直格
子線の座標を計算する。次いでステップS1511に進
み、列が他に存在するかどうかを判定する。そうである
場合にはステップS1501に戻る。そうでなければス
テップS1512に進む。
【0095】ステップS1512では対象表の水平格子
線を、ステップS1501ないしS1511で説明した
のと実質的に同じステップを使用して計算する。ただし
これらは90゜回転されている。
【0096】図16(a)(b)は、図15の流れ図を
説明するための2つの対象表を示す図である。
【0097】図16(a)を参照すると、表90は、X
座標C1L及びC1Rを境界とする列C1、及びX座標
C2L及びC2Rを境界とする列C2を含む。トレース
された白色領域91は列C1に対応し、境界b1を含
み、トレースされた白色領域92は列C2に対応し、境
界b2を含む。
【0098】これに応じてステップS1501では、隣
接する列C1及びC2に対応する白色領域がそれぞれ存
在するかどうかを判定する。ステップS1502では、
b1とb2の間の距離を求める。領域91及び92が、
共通のX座標を共有する領域を含む場合、例えば傾斜し
た垂直線が領域91と領域92を分離している場合に
は、境界b1を、領域91の右端のX座標として定義
し、境界b2を、領域92の左端のX座標として定義す
る。
【0099】ステップS1504で、b1とb2の間の
距離が大きいと判定された場合にはステップS1505
に進む。好ましい本実施の形態では、ステップS150
5で、列C1と列C2の間の垂直格子線の座標位置を、
式min(max(T,C1R),C2L)で求める。
ただし、この式でT=max(b1,b2)−1であ
る。
【0100】ステップS1504で、b1とb2の間の
距離が小さいと判定された場合にはステップS1506
に進み、min〔max((b1+b2)/2,C1
R),C2L〕に存在する垂直格子線の座標を計算す
る。
【0101】図16(b)に、列C3が、座標C3L及
びC3Rによって境界され、列C4が、座標C4L及び
C4Rによって境界された表95を示す。列C3は一方
の側しか目に見える格子線で境界されていないので、列
C3に対応する白色領域は存在しないことを理解された
い。従って、図15で説明した処理ステップを使用し
て、列C3及び列C4を隣接する列として調べると、ス
テップS1501の判定はノー(NO)となり、フローはス
テップS1510に進む。ステップS1510では、列
C3及び列C4に対応する垂直格子線の位置を、式mi
n(T,C4L)で求める。この式でT=max(C3
R,b4)−1である。
【0102】水平格子線に関してステップS1512を
実行した後ステップS514に進み、スーパーセルを識
別する。図17は、ステップS514に基づくスーパー
セルの識別を説明するための詳細フローチャートであ
る。この点に関してはステップS1701で、対象表の
中の黒色画素によって境界されたそれぞれの白色領域に
対応したスーパーセルを識別する。トレースされた白色
領域に囲まれていない表セルが存在する場合には、ステ
ップS1701で、その表セルと同じ位置及び大きさを
有する「模造(artificial)」スーパーセルも形成す
る。次にステップS1702で、それぞれの模造スーパ
ーセルを再フォーマットして、周囲の目に見える表格子
線又は目に見えない表格子線の大きさに近づける。次い
でステップS1704に進む。
【0103】ステップS1704では、それぞれのスー
パーセルの上下左右の境界を調べ、目に見える格子線が
これらの境界に隣接しているかどうかを判定する。ステ
ップS1705に進み、ステップS510及びS511
で計算した行及び列に基づいてスーパーセルに行アドレ
ス及び列アドレスを割り当てる。ステップS1705か
らステップS515に進む。
【0104】図18(a)(b)は、図17の流れ図を
説明するための対象表を示す図である。この点に関し
て、表100は、表セル101、102、104及び1
05を含む。表セル101は白色領域に囲まれていな
い。これは表セル101が、黒色画素に完全に囲まれた
領域の中に入っていないためである。しかし、表セル1
02、104及び105は白色領域106、107及び
109に囲まれている。
【0105】図17のフローチャートでは、ステップS
1701で、表100の中のそれぞれの白色領域に対応
するスーパーセルを最初に定義する。これに応じて、白
色領域106、107及び109に対応するスーパーセ
ルを定義する。これらのスーパーセル115、111及
び112を図18(b)に示す。前述のとおり表セル1
01にはこれを取り囲む白色領域がないので、表セル1
01と同一の座標を有する模造スーパーセルを定義す
る。
【0106】ステップS1702では、模造スーパーセ
ルを以下のアルゴリズムに従って再フォーマットし、模
造スーパーセルを取り囲んでいる目に見える表格子線又
は目に見えない表格子線に近づける。
【0107】上境界=min(上格子線(grid_line_to
p),テキスト・セル上端(text_cell_top)) 下境界=max(下格子線(grid_line_bottom),テキス
ト・セル下端(text_cell_bottom)); 左境界=min(左格子線(grid_line_left),テキスト
・セル左端(text_cell_left)) 右境界=max(右格子線(grid_line_right),テキス
ト・セル右端(text_cell_right)) この結果生じるスーパーセル114を図18(b)に示
す。
【0108】次にステップS1704で、それぞれのス
ーパーセルを調べ、スーパーセルの境界である目に見え
る格子線を識別する。例えば、スーパーセル114の右
及び下、スーパーセル115の上、右、左及び下、スー
パーセル112の上、右、左及び下、ならびに、スーパ
ーセル111の上、右、左及び下の目に見える格子線を
識別する。
【0109】部分的に目に見える格子線が特定のスーパ
ーセルの特定の側面の境界となっている場合には、ステ
ップS1704で、その部分格子線が、「完全」境界の
長さに対応する閾値長さよりも長いかどうかを判定する
ことに留意されたい。そうである場合にはステップS1
704で、その部分格子線が、特定のスーパーセルの特
定の側面を完全に境界していると判定される。
【0110】ステップS1704からステップS170
5に進み、行アドレス及び列アドレスを図18(b)の
それぞれのスーパーセルに割り当てる。図18(b)の
スーパーセルは、それらのそれぞれの表セルと同じ列位
置及び行位置を有する。従ってスーパーセル111、1
12、114及び115はそれぞれ、表セル104、1
05、101及び102の行アドレス及び列アドレスを
共有する。1つのスーパーセルがいくつかの行又は列に
またがる場合、そのスーパーセルのアドレスは、(1,
2−4)などというように行及び/又は列アドレス範囲
を含むことに留意されたい。次いでステップS515に
進む。
【0111】ステップS515では、適当であれば、行
及び/又は列アドレス範囲を有する表セルを分割する。
この点に関して、以上の処理ステップによって、複数の
表セルとして更に分類するほうが適当ないくつかの行又
は列にまたがる表セルが生じることがある。例として、
図19(a)、図19(b)及び図19(c)を含む図
19に、列アドレス範囲を有するいくつかの表セルを示
す。同様に図20に、行アドレス範囲を有する表セルを
示す。この点に関して図21A及び図21Bに、列アド
レス範囲及び行アドレス範囲を有する表セルを分割する
ステップをそれぞれ記載する。
【0112】列アドレス範囲を有する表セルを分割する
フローはステップS2101から始まる。ステップS2
101では、列アドレス範囲を有する表セルを識別す
る。次にステップS2102で、識別した表セルの垂直
ヒストグラムを計算する。この垂直ヒストグラムは、識
別した表セルの中のそれぞれの画素列について、その表
セルの中のそれぞれの接続構成要素を境界する長方形
(図示せず)がまたぐ垂直距離の合計を反映する。ステ
ップS2104に進み、その表セルの隣接する列と列の
間の空間に対応するヒストグラムの領域が黒色画素を反
映しているかどうかを判定する。黒色画素を反映してい
る場合にはステップS2105に進む。
【0113】ステップS2105では、それらの列間の
領域のヒストグラムが、閾値距離よりも大きな連続距離
の間、非ゼロであるかどうかを判定する。そうである場
合にはステップS2114に進み、対象表セルのアドレ
ス範囲内に他に列が存在するかどうかを判定する。この
ような状況を図19(a)に示す。図中のlは、ヒスト
グラムの列rと列(r+1)の間の連続する非ゼロ部分
を指す。他に列が存在する場合にはステップS2104
に戻る。
【0114】ステップS2114で他に列が存在しない
場合には、ステップS2115で、対象表が、列アドレ
ス範囲を有する表セルを他に含むかどうかを判定する。
そうである場合にはステップS2102に戻る。そうで
ない場合には図21BのステップS2116に進む。
【0115】図19(b)に、図21AのステップS2
105で連続する非ゼロ部分mが閾値よりも小さいと判
定される状況を示す。これに従ってステップS2106
に進み、別個の非ゼロ部分が、図19(b)の列sと
(s+1)の間にあるかどうかを判定する。そうでない
場合には、表セル116を、どちらも部分mを含まない
2つの新規の表セル、即ち列アドレスsを有する表セル
及び列アドレス(s+1)を有する表セルとして再定義
する。
【0116】ステップS2106で、別個の非ゼロ部分
が列sと列(s+1)の間にある場合にはステップS2
114に進み、前述の処理を続ける。
【0117】ステップS2104で、対象表セルの2つ
の列の間の領域が黒色画素を含まない場合にはステップ
S2110に進む。ステップS2110では、2つの列
の間の領域を、それぞれの列の中の黒色画素に遭遇する
までこれらの2つの列の内部に延長する。図19(c)
に示すように、表セル117の列tと列(t+1)の間
の領域nは黒色画素を含まない。従ってステップS21
10では、領域nを、表セル117の中の黒色画素に遭
遇するまで水平方向に両側に延長する。その結果生じる
領域をn’に示す。
【0118】ステップS2111では、領域n’などの
領域の長さが閾値よりも大きいかどうかを判定する。そ
うである場合には、ステップS2112で表セル117
を2つの表セルに分割し、ステップS2114に進む。
そうでない場合には直ちにステップS2114に進み、
最終的には図21BのステップS2116に進む。
【0119】図21Bの処理ステップは、行アドレス範
囲を有する表セルを本実施の形態に基づいて分割するの
に使用する。ステップS2116では、行アドレス範囲
を有する対象表セルを取り出す。次にステップS211
7で、行アドレス範囲の中の2つの行を調べ、これらの
行と行との間の距離、及びこれらの行の中間点を求め
る。これらの2つの量は、図20のrow_dist及
びmid_rowで表される。
【0120】図20では、表セルが、その行アドレス範
囲の中に行R1及び行R2を含む。行R1の上限は座標
R1Uによって定義され、下限は座標R1Lによって定
義される。同様に行R2の上限は座標R2Uによって定
義され、下限は座標R2Lによって定義される。図20
に示す通り、量mid_rowはR1LとR2Uの中間
点を指す。また、量row_distはR1LとR2U
の間の距離を指す。
【0121】次にステップS2119で、取り出した表
セルが、mid_rowの両側に連続したテキスト行を
含むかどうか、及びrow_distが閾値行サイズよ
りも大きいかどうかを判定する。そうである場合にはス
テップS2120に進み、対象表セルをmid_row
座標のところで2つのセルに切り離す。これらの2つの
セルのうちの一方は、その行アドレスに行R1を含み、
もう一方はその行アドレスに行R2を含む。次いでステ
ップS2121に進む。
【0122】ステップS2119でそうではないと判定
された場合もステップS2121に進み、対象表セルが
他に行を含むかどうかを判定する。そうである場合には
ステップS2117に戻る。そうでない場合にはステッ
プS2122に進み、対象表の中に、行アドレス範囲を
有する表セルが他にあるかどうかを判定する。そうであ
る場合にはステップS2116に戻る。そうでなければ
ステップS516に進み、ステップS510からステッ
プS515までの間に生じた偽の行及び列を削除する。
【0123】図22(a)(b)は、ステップS516
の処理ステップを説明するための図である。例えば符号
130は、図22(a)に示すように、列C5の右側の
境界を指す。右境界130は垂直格子線132と隣接し
ている。右列境界130と垂直格子線132の間に位置
する列C6の中には接続構成要素が存在しないので、境
界130を排除することによって列C6を削除する。こ
れに従って格子線132が、列C5の右端境界として新
しく定義される。
【0124】図22(b)に、ステップS516で列位
置が更新される第2の状況を示す。図22(b)に示す
ように、斜線134によって、左境界135と右境界1
36の間に列C9が定義されている。これに応じて境界
135及び136を、列C8及び列C10を新たに拡張
することによって生じるこれらの列の間の1本の境界
(図示せず)で置き換えることによって列C9を削除す
る。ステップS516からステップS517に進む。
【0125】ステップ517では、傾斜した表格子線に
起因する誤ったアドレス割当てを減らすために、スーパ
ーセルの行及び列アドレスを調整する。例として図23
に、傾斜した表格子線によって誤った行及び列アドレス
の割当てが生じた状況を示す。具体的には、傾斜した垂
直格子線140が、目に見えない格子線141によって
それぞれ右境界及び左境界のところで定義された列u及
び列(u+1)を横切っている。斜線140があるため
に、スーパーセル143ないし145は列アドレス範囲
(u−u+1)を有する。これは、セル143ないし1
45の中に含まれる黒色画素が全て列(u+1)の中に
存在するとしても同じである。
【0126】スーパーセルの列アドレスを更新して左端
の列を除外すべきかどうかを判定するために、ステップ
S517ではいくつかの基準を評価する。最初に、列
(u+1)の中にある対象スーパーセルの左境界が列u
の中に位置するかどうかを判定する。2番目に、左境界
と格子線141の間の距離が閾値よりも短いかどうかを
判定する。3番目に、このスーパーセルの中の接続構成
要素が全て格子線141の右側にあるかどうかを判定す
る。4番目に、対象スーパーセルの行アドレスのところ
の列uの中に別のスーパーセルがあるかどうかを判定す
る。これらの4つの基準を満たす場合には、対象スーパ
ーセルの定義から列uを削除し、対象スーパーセルの大
きさを再定義する。
【0127】図23の場合、スーパーセル143ないし
145は前記基準を満たす。その結果生じるスーパーセ
ル143ないし145の再定義を図24に示す。図24
には、スーパーセルの列アドレス範囲から右端列を削除
すべきかどうかを判定するのに使用する前記基準の修正
バージョンに基づいてスーパーセル148及び149を
再定義した結果も反映されている。
【0128】この修正基準によれば、最初に、列uの中
にある対象スーパーセルの右境界が列(u+1)の中に
位置するかどうかを判定する。2番目には、右境界と格
子線141の間の距離が閾値よりも短いかどうかを判定
する。3番目には、このスーパーセルの中の接続構成要
素が全て、格子線141の左側にあるかどうかを判定す
る。4番目には、対象スーパーセルの行アドレスのとこ
ろの列(u+1)の中に別のスーパーセルがあるかどう
かを判定する。これらの4つの基準を満たす場合には、
対象スーパーセルの定義から列(u+1)を削除し、対
象スーパーセルの大きさを再定義する。
【0129】前記基準を、図23及び24の後方に傾斜
した格子線140に対してだけではなく、前方に傾斜し
た格子線に対しても同様に適合させることができること
を理解されたい。この点に関し、前記基準と同様の基準
をステップS517で更に使用して、傾斜した水平線に
起因するスーパーセルの行アドレスも調整する。
【0130】ステップS517の後に、「スーパーセル
・ホール(super-cell hole)」が存在する場合にダミ
ーのスーパーセルを作成するか、又はスーパーセルを拡
張するためのステップS519を実行する。図26
(a)(b)は、「スーパーセル・ホール」が生じてい
る状況を示す例である。図26(a)に示すように、表
セル160の左側には目に見える格子線が存在しない。
従って図17の方法に関して先に説明したとおり、その
左及び下側が目に見えない格子線によって境界されたス
ーパーセルが作成される。白色領域163は黒色画素に
囲まれており、従って白色領域163に対応するスーパ
ーセル164がステップS1701で割り当てられてい
る。対照的に領域165は、黒色画素に完全に囲まれた
接続構成要素も白色領域も含まないので、領域165に
スーパーセルは割り当てられていない。
【0131】従って「スーパーセル・ホール」は、スー
パーセル162の下部境界と水平格子線161の間、及
び領域165に存在する。
【0132】図25に示す流れ図は、図26(a)に示
した状況に対処するためのものである。具体的には、フ
ローはステップS2501から始まり、このステップ
で、スーパーセルのそれぞれの境界を対応する目に見え
る格子線まで延長する。次いでステップS2504で、
スーパーセルのサイズ及び境界の情報を更新する。ステ
ップS2505では、対象表の左、右、上部及び下部の
縁を解析して領域165のような領域が存在するかどう
かを判定する。そうである場合にはステップS2506
で、このような領域を取り囲むダミーのスーパーセルを
作成する。次いでステップS520に進む。領域165
のような領域が存在しない場合にはステップS2505
から直接にステップS520に進む。
【0133】図25のステップを実行した後、スーパー
セル162は図26(b)に示すように延長されてい
る。図26(b)には、領域165に対応するダミーの
スーパーセル167も示されている。
【0134】図5に記載した処理に戻る。ステップS5
20は、「セル・ホール(cell hole)」が存在する場
合にダミー・セルを作成するためのステップを含む。図
27にセル・ホールを含む表を示す。具体的には、表1
70はスーパーセル172を含む。スーパーセル172
の中には表セル174、175及び176がある。表セ
ル174ないし176の行及び列アドレスならびにスー
パーセル172の大きさに基づくと、破線に示す位置1
77に表セルが欠落していることが判る。この位置をセ
ル・ホールと称する。これに応じてステップS520で
位置177にセルを定義する。
【0135】ステップS520で定義されたセルは当然
ながら接続構成要素を含まない。しかしこのようなセル
は、表の特徴を定義し迅速に再現するのに有用である。
更に、このようなセルがあることによって、表170を
表すファイルの位置177にデータを簡単に追加するこ
とができるようになる。これはこのファイルが、位置1
77のところに予め定義されたセルを含むためである。
【0136】図28(a)(b)は、ステップS521
に基づく目に見える表セル境界を有する表の例である。
具体的には図28(a)に、表セル181ないし186
を含む表180が示されている。更に、表セル181及
び182を含むスーパーセル187、及び表セル183
ないし186を含むスーパーセル188も示されてい
る。
【0137】ステップS521ではそれぞれの表セルを
調べ、その上、下、左、又は右が目に見える格子線によ
って境界されているかどうかを判定する。この点に関
し、表セル181はその上及び右側、表セル182はそ
の右及び下側、表セル183はその上及び左側、表セル
184はその左及び下側、表セル185はその下及び右
側、表セル186はその上及び右側がそれぞれ境界され
ている。判定した情報を、表セルの種類、表セルの行及
び列アドレス、ならびに表セルの位置及びサイズの定義
とともに記憶することができる。
【0138】図28(b)は、表セルを取り囲む目に見
える境界に関するデータの記憶を説明するための例であ
る。具体的には図28(b)に、表180のそれぞれの
表セルを表すマトリックスが示されている。図28
(a)に対応するこのマトリックスに示すように、図2
8(b)の円は、目に見えない表セル境界を示し、ダッ
シュ“−”、“|”は目に見える表セル境界を示す。図
28(b)に示したようなマトリックスに参照すること
によって、本実施の形態に基づいて解析した表の内部格
子線を迅速に再現することができる。
【0139】ステップS521からS522に進み、図
3のステップS310及びS311に関して先に説明し
たスキュー検出及び後処理を実行する。
【0140】図5のフローチャートよって判明した情報
は、対象表を表す階層木構造中に記憶されることが好ま
しいことに留意されたい。好ましい実施の形態では、ス
ーパーセルの行及び列アドレス、スーパーセルの座標、
スーパーセルに含まれる表セル、及びスーパーセルの目
に見える境界の存在についての情報を含むスーパーセル
に関するデータを、図29(a)のノード200など
の、その表ブロックを表すノードに記憶する。ノード2
00には、表座標、列及び行範囲、目に見える垂直及び
水平格子線の位置、ならびに目に見えない垂直及び水平
格子線の位置も記憶される。
【0141】ノード200から下って表セル・ノード2
02ないし204がある。これらの表セル・ノードは、
表セル座標、表セルの行及び列アドレス、目に見える表
セル境界の存在を表すデータを含み、周囲のスーパーセ
ルは、対象表セルを表すノードに記憶される。
【0142】図29(b)に、図29(a)の階層木の
代替表現を示す。図29(b)の階層木では、スーパー
セル・ノード205及び206が表ノード200から別
個に定義されており、これらの下には、対応するスーパ
ーセルに含まれる表セルを表すノードがある。図29
(b)の木構造では、スーパーセルの行及び列アドレ
ス、スーパーセルの座標、スーパーセルに含まれる表セ
ル、及びスーパーセルの目に見える境界の存在について
の情報を含む、スーパーセル・フレームに関するデータ
を含むのはノード200ではなくスーパーセル・ノード
205及び206であることに留意されたい。
【0143】本発明の実施の形態を、現時点で好ましい
実施形態であると考えられるものに関して説明してきた
が、本発明は、以上に記載したものに限定されるもので
ないことを理解されたい。本発明は、添付の請求の範囲
の趣旨及び範囲に含まれるさまざまな修正及び等価の構
成をカバーするものである。
【0144】
【発明の効果】以上説明したように本発明によれば、表
イメージを含む画像データから、その表を定義する行、
列、表格子線などの特徴を正確に取り出すことができ
る。
【0145】また本発明によれば、表セルに含まれるデ
ータを正確に抽出し、スプレッドシート・アプリケーシ
ョンに出力することができる。
【0146】また更に本発明によれば、既存の行及び列
に基づいて表にセルを簡単に追加することができるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るコンピュータ装置を
示す外観図である。
【図2】本実施の形態に係るコンピュータの内部構成を
示すブロック図である。
【図3】本実施の形態に係るブロック選択処理を説明す
るフローチャートである。
【図4】本実施の形態に係る非テキスト接続構成要素の
分類を説明するフローチャートである。
【図5】表イメージのブロック選択処理を特に対象とし
たフローチャートである。
【図6】反転領域を有する表と、そのヒストグラムを示
す図である。
【図7】本実施の形態に係る反転表領域の処理を説明す
るフローチャートである。
【図8】付属する接続構成要素の抽出を説明する表の部
分を示す図である。
【図9A】本実施の形態に係る表列計算を説明するフロ
ーチャートである。
【図9B】本実施の形態に係る表列計算を説明するフロ
ーチャートである。
【図10】本実施の形態の表列計算に使用する垂直ヒス
トグラムを説明する図である。
【図11】本実施の形態に係る表列計算の際に考えられ
るヒストグラム構成を示す図である。
【図12】本実施の形態に係る表列計算を説明する図で
ある。
【図13】本実施の形態に係る表行計算を説明するフロ
ーチャートである。
【図14】本実施の形態に係る表行計算を説明する図で
ある。
【図15】本実施の形態に基づいて垂直及び水平格子線
の位置決めをする方法を説明するフローチャートであ
る。
【図16】本実施の形態に係る垂直格子線計算を説明す
る図である。
【図17】本実施の形態に係るスーパーセルの作成を説
明するフローチャートである。
【図18】本実施の形態に係るスーパーセルの作成を説
明する図である。
【図19】本実施の形態に係る列分割の際に考えられる
垂直ヒストグラム構成を説明する図である。
【図20】本実施の形態に係る行分割を説明する表の部
分を説明する図である。
【図21A】本実施の形態に係る表セルの列分割を説明
するフローチャートである。
【図21B】本実施の形態に係る表セルの行分割を説明
するフローチャートである。
【図22】本実施の形態に係る列調整を説明する図であ
る。
【図23】傾斜格子線に基づく列アドレス調整を説明す
る表の部分を示す図である。
【図24】図23の表の部分に、本実施の形態に係る列
アドレス調整を実施したものを示す図である。
【図25】本実施の形態に係るダミー・スーパーセルの
作成を説明するフローチャートである。
【図26】本実施の形態に係るスーパーセル・ホール補
償を説明する図である。
【図27】本実施の形態に係るダミー・セルを示す図で
ある。
【図28】表セル、スーパーセル及び目に見える格子線
の関係を示す図である。
【図29】表イメージを表すデータを記憶する階層木構
造を示す図である。

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 目に見える格子線及び目に見えない格子
    線によって定義された行及び列を含み、表セルを含む表
    イメージにブロック選択処理を実行する画像処理方法で
    あって、 表セルの周囲にあり、目に見える格子線によって境界さ
    れたトレースされた白色領域に基づいて、1つ又は複数
    の表セルを含むスーパーセルを識別する識別ステップ
    と、 それぞれの表セルを境界する垂直及び水平格子線が目に
    見える格子線であるのか、又は目に見えない格子線であ
    るのかを判定するステップと、 それぞれのスーパーセルを境界する垂直及び水平格子線
    が目に見える格子線であるのか、又は目に見えない格子
    線であるのかを判定するステップと、を有することを特
    徴とする画像処理方法。
  2. 【請求項2】 前記表イメージの中の反転テキスト領域
    を検出するステップと、 前記表イメージの中の接続構成要素を反映し、前記反転
    テキスト領域の中の接続構成要素を反映しない垂直ヒス
    トグラムを計算するステップと、 前記垂直ヒストグラムに基づいて前記表イメージの中の
    列を定義するステップと、 定義した列について、トレースされた白色領域及び部分
    格子線の位置に基づいて列を再定義するステップと、を
    更に有することを特徴とする請求項1に記載の画像処理
    方法。
  3. 【請求項3】 前記反転テキスト領域を検出するステッ
    プは、 前記表イメージの中の白色画素を反映した前記イメージ
    の水平ヒストグラムを計算するステップと、 それぞれの行の境界画素間の距離の合計がその行の全長
    の1/2よりも小さい前記イメージ中の連続行を識別す
    るステップと、 前記連続行の中のトレースされた白色領域を検出するス
    テップと、 検出したトレースされた白色領域が反転テキストに対応
    するかどうかをトレースされた白色領域の大きさに基づ
    いて判定するステップと、 を有することを特徴とする請求項2に記載の画像処理方
    法。
  4. 【請求項4】 前記表イメージの中の反転テキスト領域
    を検出するステップと、 前記表イメージの中の接続構成要素を反映し、前記反転
    テキスト領域の中の接続構成要素を反映しない水平ヒス
    トグラムを計算するステップと、 前記水平ヒストグラムに基づいて前記表イメージの中の
    行を定義するステップ と、定義した行について、トレースされた白色領域及び
    部分格子線の位置に基づいて行を再定義するステップ
    と、を更に有することを特徴とする請求項1に記載の画
    像処理方法。
  5. 【請求項5】 前記反転テキスト領域を検出するステッ
    プは、 前記表イメージの中の白色画素を反映した前記イメージ
    の水平ヒストグラムを計算するステップと、 それぞれの行の境界画素間の距離の合計がその行の全長
    の1/2よりも小さい前記イメージ中の連続行を識別す
    るステップと、 前記連続行の中のトレースされた白色領域を検出するス
    テップと、 検出したトレースされた白色領域が反転テキストに対応
    するかどうかをトレースされた白色領域の大きさに基づ
    いて判定するステップと、を有することを特徴とする請
    求項4に記載の画像処理方法。
  6. 【請求項6】 前記識別ステップでは、第1の表セルが
    白色領域に囲まれていない場合に、前記第1の表セルの
    位置及び大きさに基づいて第1のスーパーセルを識別す
    ることを特徴とする請求項1に記載の画像処理方法。
  7. 【請求項7】 第2のスーパーセルの行及び列アドレス
    に表セルを含まない場合に、前記第2のスーパーセルの
    行及び列アドレスにダミーの表セルを識別するステップ
    を更に含むことを特徴とする請求項6に記載の画像処理
    方法。
  8. 【請求項8】 識別したスーパーセルに関するデータ
    を、前記表イメージの物理レイアウトを反映した階層木
    構造中に記憶するステップを更に含むことを特徴とする
    請求項7に記載の画像処理方法。
  9. 【請求項9】 隣接する列に対応するトレースされた白
    色領域間の距離を測定するステップと、 測定した距離に基づいて、前記隣接する列に対応する垂
    直格子線の位置を計算するステップと、を更に含むこと
    を特徴とする請求項1に記載の画像処理方法。
  10. 【請求項10】 前記表イメージが5行以上のテキスト
    行を含む場合に前記表イメージの最上位のテキスト行が
    無視されることを特徴とする、請求項9に記載の方法。
  11. 【請求項11】 目に見える格子線及び目に見えない格
    子線によって定義された行及び列を含み、表セルを含む
    表イメージにブロック選択処理を実行するコンピュータ
    で実行可能な処理ステップを記憶したコンピュータ可読
    媒体であって、 表セルの周囲にあり、目に見える格子線によって境界さ
    れたトレースされた白色領域に基づいて、1つ又は複数
    の表セルを含むスーパーセルを識別する識別ステップモ
    ジュールと、 それぞれの表セルを境界する垂直及び水平格子線が目に
    見える格子線であるのか、又は目に見えない格子線であ
    るのかを判定する判定ステップモジュールと、それぞれ
    のスーパーセルを境界する垂直及び水平格子線が目に見
    える格子線であるのか、又は目に見えない格子線である
    のかを判定する判定ステップモジュールと、を有するこ
    とを特徴とするコンピュータ可読媒体。
  12. 【請求項12】 前記表イメージの中の反転テキスト領
    域を検出する検出ステップモジュールと、 前記表イメージの中の接続構成要素を反映し、検出した
    前記反転テキスト領域の中の接続構成要素を反映しない
    垂直ヒストグラムを計算する計算ステップモジュール
    と、 前記垂直ヒストグラムに基づいて前記表イメージの中の
    列を定義する定義ステップモジュールと、 定義した列について、トレースされた白色領域及び部分
    格子線の位置に基づいて列を再定義する再定義ステップ
    モジュールと、を更に有することを特徴とする請求項1
    1に記載のコンピュータ可読媒体。
  13. 【請求項13】 検出ステップモジュールは、 前記表イメージの中の白色画素を反映した前記イメージ
    の水平ヒストグラムを計算する計算ステップモジュール
    と、 それぞれの行の境界画素間の距離の合計がその行の全長
    の1/2よりも小さい前記イメージ中の連続行を識別す
    る識別ステップモジュールと、 前記連続行の中のトレースされた白色領域を検出する検
    出ステップモジュールと、 検出したトレースされた白色領域が反転テキストに対応
    するかどうかを、トレースされた白色領域の大きさに基
    づいて判定する判定ステップモジュールと、を有するこ
    とを特徴とする請求項12に記載のコンピュータ可読媒
    体。
  14. 【請求項14】 前記表イメージの中の反転テキスト領
    域を検出する検出ステップモジュールと、 前記表イメージの中の接続構成要素を反映し、前記反転
    テキスト領域の中の接続構成要素を反映しない水平ヒス
    トグラムを計算する計算ステップモジュールと、 前記水平ヒストグラムに基づいて前記表イメージの中の
    行を定義する定義ステップモジュールと、 定義した行について、トレースされた白色領域及び部分
    格子線の位置に基づいて行を再定義する再定義ステップ
    モジュールと、を更に有することを特徴とする請求項1
    1に記載のコンピュータ可読媒体。
  15. 【請求項15】 前記反転テキスト領域を検出する前記
    検出ステップモジュールは、 前記表イメージの中の白色画素を反映した前記イメージ
    の水平ヒストグラムを計算する計算ステップモジュール
    と、 それぞれの行の境界画素間の距離の合計がその行の全長
    の1/2よりも小さい前記イメージ中の連続行を識別す
    る識別ステップモジュールと、 前記連続行の中のトレースされた白色領域を検出する検
    出ステップモジュールと、 検出したトレースされた白色領域が反転テキストに対応
    するかどうかをトレースされた白色領域の大きさに基づ
    いて判定する判定ステップモジュールと、を有すること
    を特徴とする請求項11に記載のコンピュータ可読媒
    体。
  16. 【請求項16】 前記識別ステップモジュールでは、第
    1の表セルが白色領域に囲まれていない場合に、第1の
    表セルの位置及び大きさに基づいて第1のスーパーセル
    を識別することを特徴とする請求項11に記載のコンピ
    ュータ可読媒体。
  17. 【請求項17】 更に、第2のスーパーセルの中の行及
    び列アドレスに表セルを含まない場合に、前記第2のス
    ーパーセルの行及び列アドレスにダミーの表セルを識別
    するステップモジュールを更に有することを特徴とする
    請求項16に記載のコンピュータ可読媒体。
  18. 【請求項18】 識別したスーパーセルに関するデータ
    を、前記表イメージの物理レイアウトを反映した階層木
    構造中に記憶する記憶ステップモジュールを更に含むこ
    とを特徴とする請求項17に記載のコンピュータ可読媒
    体。
  19. 【請求項19】 隣接する列に対応するトレースされた
    白色領域間の距離を測定する測定ステップモジュール
    と、 前記測定した距離に基づいて、前記隣接する列に対応す
    る垂直格子線の位置を計算する計算ステップモジュール
    と、を更に有することを特徴とする請求項11に記載の
    コンピュータ可読媒体。
  20. 【請求項20】 前記表イメージが5行以上のテキスト
    行を含む場合に前記表イメージの最上位のテキスト行が
    無視されることを特徴とする請求項19に記載のコンピ
    ュータ可読媒体。
  21. 【請求項21】 文書イメージを入力するステップと、 前記文書イメージの中の接続構成要素を検出するステッ
    プと、 表ブロックを、検出した接続構成要素及びその表ブロッ
    ク・イメージ中の白色領域に基づいて識別するステップ
    と、 前記表ブロック中の反転テキスト領域を識別するステッ
    プと、 前記表の中の付属する接続構成要素を識別するステップ
    と、 前記表ブロックの中にテキスト・ブロック及びテキスト
    行を形成するステップと、 前記表イメージ中の表行及び表列を計算するステップ
    と、 前記表ブロック中の表セルに行及び列アドレスを割り当
    てるステップと、 表の垂直及び水平格子線の位置を計算するステップと、 前記白色領域に基づいて、1つ又は複数の前記表セルを
    含むスーパーセルを定義するステップと、 それぞれのスーパーセルを境界する垂直及び水平格子線
    が目に見える格子線であるのか、又は目に見えない格子
    線であるのかを判定するステップと、 行又は列アドレス範囲を有する表セルを分割するステッ
    プと、 前記表ブロックの中に傾斜した目に見える格子線が存在
    する場合に行及び列アドレスを再定義するステップと、 前記表ブロック中のスーパーセル・ホールに基づいてス
    ーパーセルを定義するステップと、 前記表ブロック中のセル・ホールに基づいてダミーの表
    セルを定義するステップと、 それぞれの表セルを境界する垂直及び水平格子線が目に
    見える格子線であるのか、又は目に見えない格子線であ
    るのかを判定するステップと、を有することを特徴とす
    る文書イメージの解析方法。
  22. 【請求項22】 文書イメージを解析する、コンピュー
    タで実行可能な処理ステップを記憶したコンピュータ可
    読媒体であって、 文書イメージを入力する入力ステップモジュールと、 前記文書イメージの中の接続構成要素を検出する検出ス
    テップモジュールと、 表ブロックを、検出した接続構成要素及びその表ブロッ
    ク・イメージ中の白色領域に基づいて識別する識別ステ
    ップモジュールと、 前記表ブロック中の反転テキスト領域を識別する識別ス
    テップモジュールと、 前記表の中の付着された接続構成要素を識別する識別ス
    テップモジュールと、 前記表ブロックの中に、テキスト・ブロック及びテキス
    ト行を形成する形成ステップモジュールと、 前記表イメージ中の表行及び表列を計算する計算ステッ
    プモジュールと、 前記表ブロック中の表セルに行及び列アドレスを割り当
    てる割当てステップモジュールと、 表の垂直及び水平格子線の位置を計算する計算ステップ
    モジュールと、 前記白色領域に基づいて、1つ又は複数の前記表セルを
    含むスーパーセルを定義するステップモジュールと、 それぞれのスーパーセルを境界する垂直及び水平格子線
    が目に見える格子線であるのか、又は目に見えない格子
    線であるのかを判定する判定ステップモジュールと、 行又は列アドレス範囲を有する表セルを分割する分割ス
    テップモジュールと、 前記表ブロックの中に傾斜した目に見える格子線が存在
    する場合に、行及び列アドレスを再定義する再定義ステ
    ップモジュールと、 前記表ブロック中のスーパーセル・ホールに基づいてス
    ーパーセルを定義する定義ステップモジュールと、 前記表ブロック中のセル・ホールに基づいてダミーの表
    セルを定義する定義ステップモジュールと、 それぞれの表セルを境界する垂直及び水平格子線が目に
    見える格子線であるのか、又は目に見えない格子線であ
    るのかを判定する判定ステップモジュールと、を有する
    ことを特徴とするコンピュータ可読媒体。
  23. 【請求項23】 目に見える格子線及び目に見えない格
    子線によって定義された行及び列を含み、表セルを含む
    表イメージにブロック選択処理を実行する画像処理装置
    であって、 表セルの周囲にあり、目に見える格子線によって境界さ
    れたトレースされた白色領域に基づいて、1つ又は複数
    の表セルを含むスーパーセルを識別する識別手段と、 それぞれの表セルを境界する垂直及び水平格子線が目に
    見える格子線であるのか、又は目に見えない格子線であ
    るのかを判定する第1判定手段と、 それぞれのスーパーセルを境界する垂直及び水平格子線
    が目に見える格子線であるのか、又は目に見えない格子
    線であるのかを判定する第2判定手段と、を有すること
    を特徴とする画像処理装置。
  24. 【請求項24】 前記表イメージの中の反転テキスト領
    域を検出する検出手段と、 前記表イメージの中の接続構成要素を反映し、前記反転
    テキスト領域の中の接続構成要素を反映しない垂直ヒス
    トグラムを計算する計算手段と、 前記垂直ヒストグラムに基づいて前記表イメージの中の
    列を定義する列定義手段と、 定義した列について、トレースされた白色領域及び部分
    格子線の位置に基づいて列を再定義する列再定義手段
    と、を更に有することを特徴とする請求項23に記載の
    画像処理装置。
  25. 【請求項25】 前記検出手段は、 前記表イメージの中の白色画素を反映した前記イメージ
    の水平ヒストグラムを計算するヒストグラム計算手段
    と、 それぞれの行の境界画素間の距離の合計がその行の全長
    の1/2よりも小さい前記イメージ中の連続行を識別す
    る手段と、 前記連続行の中のトレースされた白色領域を検出する手
    段と、 検出したトレースされた白色領域が反転テキストに対応
    するかどうかをトレースされた白色領域の大きさに基づ
    いて判定する手段と、を有することを特徴とする請求項
    24に記載の画像処理装置。
  26. 【請求項26】 前記表イメージの中の反転テキスト領
    域を検出する検出手段と、 前記表イメージの中の接続構成要素を反映し、前記反転
    テキスト領域の中の接続構成要素を反映しない水平ヒス
    トグラムを計算する計算手段と、 前記水平ヒストグラムに基づいて前記表イメージの中の
    行を定義する行定義手段と、 定義した行について、トレースされた白色領域及び部分
    格子線の位置に基づいて行を再定義する行再定義手段
    と、 を更に有することを特徴とする請求項23に記載の画像
    処理装置。
  27. 【請求項27】 文書イメージの中の接続構成要素を検
    出する接続構成要素検出手段と、 表ブロックを、検出した接続構成要素及びその表ブロッ
    ク・イメージ中の白色領域に基づいて識別する表識別手
    段と、 前記表識別手段により識別された表ブロック中の反転テ
    キスト領域を識別する反転テキスト領域識別手段と、 前記表ブロックの中の付属する接続構成要素を識別する
    識別手段と、 前記表ブロックの中にテキスト・ブロック及びテキスト
    行を形成するテキスト形成手段と、 前記表ブロック中の表行及び表列を計算する行列計算手
    段と、 前記表ブロック中の表セルに行及び列アドレスを割り当
    てる行列割当て手段と、 表の垂直及び水平格子線の位置を計算する格子線位置計
    算手段と、 前記表識別手段により識別された前記白色領域に基づい
    て、1つ又は複数の前記表セルを含むスーパーセルを定
    義するスーパーセル定義手段と、 それぞれのスーパーセルを境界する垂直及び水平格子線
    が目に見える格子線であるのか、又は目に見えない格子
    線であるのかを判定する判定手段と、 行又は列アドレス範囲を有する表セルを分割する分割手
    段と、 前記表ブロックの中に傾斜した目に見える格子線が存在
    する場合に行及び列アドレスを再定義する再定義手段
    と、 前記表ブロック中のスーパーセル・ホールに基づいてス
    ーパーセルを定義する定義手段と、 前記表ブロック中のセル・ホールに基づいてダミーの表
    セルを定義する表セル定義手段と、 それぞれの表セルを境界する垂直及び水平格子線が目に
    見える格子線であるのか、又は目に見えない格子線であ
    るのかを判定する手段と、を有することを特徴とする画
    像処理装置。
JP00023999A 1998-01-05 1999-01-04 画像処理方法及び装置 Expired - Fee Related JP4251586B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/002684 1998-01-05
US09/002,684 US6173073B1 (en) 1998-01-05 1998-01-05 System for analyzing table images

Publications (2)

Publication Number Publication Date
JPH11259655A true JPH11259655A (ja) 1999-09-24
JP4251586B2 JP4251586B2 (ja) 2009-04-08

Family

ID=21701969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00023999A Expired - Fee Related JP4251586B2 (ja) 1998-01-05 1999-01-04 画像処理方法及び装置

Country Status (5)

Country Link
US (1) US6173073B1 (ja)
EP (1) EP0927950B1 (ja)
JP (1) JP4251586B2 (ja)
CN (1) CN1143239C (ja)
DE (1) DE69825856D1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099507B2 (en) * 1998-11-05 2006-08-29 Ricoh Company, Ltd Method and system for extracting title from document image
US6865720B1 (en) * 1999-03-23 2005-03-08 Canon Kabushiki Kaisha Apparatus and method for dividing document including table
US6757870B1 (en) * 2000-03-22 2004-06-29 Hewlett-Packard Development Company, L.P. Automatic table detection method and system
JP2002032770A (ja) * 2000-06-23 2002-01-31 Internatl Business Mach Corp <Ibm> 文書処理方法、文書処理システムおよび媒体
US6778700B2 (en) * 2001-03-14 2004-08-17 Electronics For Imaging, Inc. Method and apparatus for text detection
CA2391692C (en) 2002-07-15 2006-07-04 Allan Williams Computer database with adaptive storage space architecture
US20040066538A1 (en) * 2002-10-04 2004-04-08 Rozzi William A. Conversion of halftone bitmaps to continuous tone representations
US8095871B2 (en) * 2004-05-06 2012-01-10 Siemens Corporation System and method for GUI supported specifications for automating form field extraction with database mapping
US7668404B2 (en) * 2004-06-30 2010-02-23 Lexmark International, Inc. Method and system of deskewing an image using monochrome conversion to separate foreground from background
US7707488B2 (en) * 2006-02-09 2010-04-27 Microsoft Corporation Analyzing lines to detect tables in documents
JP4135752B2 (ja) * 2006-06-12 2008-08-20 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP4665933B2 (ja) * 2006-07-04 2011-04-06 セイコーエプソン株式会社 文書編集支援装置、プログラムおよび記憶媒体
US7801358B2 (en) * 2006-11-03 2010-09-21 Google Inc. Methods and systems for analyzing data in media material having layout
JP4988842B2 (ja) * 2007-06-28 2012-08-01 富士通株式会社 表データ生成プログラム、表データ生成方法および表データ生成装置
US8155442B2 (en) * 2008-02-04 2012-04-10 The Neat Company, Inc. Method and apparatus for modifying the histogram of an image
CN101551859B (zh) * 2008-03-31 2012-01-04 夏普株式会社 图像辨别装置及图像检索装置
US8144986B2 (en) * 2008-09-05 2012-03-27 The Neat Company, Inc. Method and apparatus for binarization threshold calculation
US8473467B2 (en) 2009-01-02 2013-06-25 Apple Inc. Content profiling to dynamically configure content processing
US8261180B2 (en) * 2009-04-28 2012-09-04 Lexmark International, Inc. Automatic forms processing systems and methods
US8214733B2 (en) * 2010-04-28 2012-07-03 Lexmark International, Inc. Automatic forms processing systems and methods
EP2460118B1 (en) * 2009-07-30 2013-05-29 OCE-Technologies B.V. Automatic table location in documents
US20110032266A1 (en) * 2009-08-07 2011-02-10 Delphi Technologies, Inc. Glare detection and mitigation method for a photo-sensitive display device
CN101866335B (zh) * 2010-06-14 2012-12-12 深圳市万兴软件有限公司 一种文档转换中的表格处理方法及装置
CN101984426B (zh) * 2010-10-21 2013-04-10 优视科技有限公司 用于对网页图片进行字符切分的方法及装置
US8380753B2 (en) 2011-01-18 2013-02-19 Apple Inc. Reconstruction of lists in a document
US8549399B2 (en) 2011-01-18 2013-10-01 Apple Inc. Identifying a selection of content in a structured document
US8731296B2 (en) * 2011-04-21 2014-05-20 Seiko Epson Corporation Contact text detection in scanned images
US9990347B2 (en) 2012-01-23 2018-06-05 Microsoft Technology Licensing, Llc Borderless table detection engine
WO2013110287A1 (en) 2012-01-23 2013-08-01 Microsoft Corporation Vector graphics classification engine
CN103377177B (zh) * 2012-04-27 2016-03-30 北大方正集团有限公司 一种数字版式文件中识别表格的方法及装置
US9953008B2 (en) 2013-01-18 2018-04-24 Microsoft Technology Licensing, Llc Grouping fixed format document elements to preserve graphical data semantics after reflow by manipulating a bounding box vertically and horizontally
US9047528B1 (en) * 2013-02-19 2015-06-02 Amazon Technologies, Inc. Identifying characters in grid-based text
US9399216B2 (en) 2013-12-30 2016-07-26 General Electric Company Fluid transport in microfluidic applications with sensors for detecting fluid presence and pressure
US10076751B2 (en) 2013-12-30 2018-09-18 General Electric Company Systems and methods for reagent storage
JP6435636B2 (ja) * 2014-05-15 2018-12-12 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN104050487B (zh) * 2014-06-06 2017-06-16 华东师范大学 一种基于布局信息分析的邮件图像方向辨别方法
US9235757B1 (en) * 2014-07-24 2016-01-12 Amazon Technologies, Inc. Fast text detection
CN105426834B (zh) * 2015-11-17 2019-02-22 中国传媒大学 一种基于投影特征与结构特征进行表格图像检测的方法
CN106446881B (zh) * 2016-07-29 2019-05-21 北京交通大学 从医疗化验单图像中提取化验结果信息的方法
CN106156761B (zh) * 2016-08-10 2020-01-10 北京交通大学 面向移动终端拍摄的图像表格检测与识别方法
US10242257B2 (en) * 2017-05-18 2019-03-26 Wipro Limited Methods and devices for extracting text from documents
US10410386B2 (en) * 2017-09-15 2019-09-10 Konica Minolta Laboratory U.S.A., Inc. Table cell validation
US11650970B2 (en) 2018-03-09 2023-05-16 International Business Machines Corporation Extracting structure and semantics from tabular data
CN108470021B (zh) * 2018-03-26 2022-06-03 阿博茨德(北京)科技有限公司 Pdf文档中表格的定位方法及装置
US11200413B2 (en) 2018-07-31 2021-12-14 International Business Machines Corporation Table recognition in portable document format documents
CA3139007A1 (en) * 2019-05-08 2020-11-12 Vrije Universiteit Brussel Computer implemented method for segmenting a binarized document
US20220335240A1 (en) * 2021-04-15 2022-10-20 Microsoft Technology Licensing, Llc Inferring Structure Information from Table Images
US11829701B1 (en) * 2022-06-30 2023-11-28 Accenture Global Solutions Limited Heuristics-based processing of electronic document contents

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185813A (en) 1988-01-19 1993-02-09 Kabushiki Kaisha Toshiba Document image processing apparatus
US5131053A (en) 1988-08-10 1992-07-14 Caere Corporation Optical character recognition method and apparatus
US5101448A (en) 1988-08-24 1992-03-31 Hitachi, Ltd. Method and apparatus for processing a document by utilizing an image
US5129012A (en) 1989-03-25 1992-07-07 Sony Corporation Detecting line segments and predetermined patterns in an optically scanned document
JP2812982B2 (ja) * 1989-04-05 1998-10-22 株式会社リコー 表認識方法
JP2940936B2 (ja) 1989-06-06 1999-08-25 株式会社リコー 表領域識別方法
US5448692A (en) * 1991-03-27 1995-09-05 Ricoh Company, Ltd. Digital image processing device involving processing of areas of image, based on respective contour line traces
JPH05250357A (ja) 1992-03-05 1993-09-28 Ricoh Co Ltd 画像読取修正装置および修正画像形成装置
US5335290A (en) 1992-04-06 1994-08-02 Ricoh Corporation Segmentation of text, picture and lines of a document image
US5680479A (en) 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
US5579414A (en) * 1992-10-19 1996-11-26 Fast; Bruce B. OCR image preprocessing method for image enhancement of scanned documents by reversing invert text
JP2789971B2 (ja) * 1992-10-27 1998-08-27 富士ゼロックス株式会社 表認識装置
US5485566A (en) 1993-10-29 1996-01-16 Xerox Corporation Method of finding columns in tabular documents
US5588072A (en) 1993-12-22 1996-12-24 Canon Kabushiki Kaisha Method and apparatus for selecting blocks of image data from image data having both horizontally- and vertically-oriented blocks
US5689342A (en) 1994-11-17 1997-11-18 Canon Kabushiki Kaisha Image processing method and apparatus which orders text areas which have been extracted from an image
US5661818A (en) 1995-01-27 1997-08-26 Eastman Kodak Company Method and system for detecting grids in a digital image
US5848186A (en) * 1995-08-11 1998-12-08 Canon Kabushiki Kaisha Feature extraction system for identifying text within a table image

Also Published As

Publication number Publication date
EP0927950B1 (en) 2004-08-25
JP4251586B2 (ja) 2009-04-08
CN1143239C (zh) 2004-03-24
CN1237745A (zh) 1999-12-08
DE69825856D1 (de) 2004-09-30
EP0927950A2 (en) 1999-07-07
US6173073B1 (en) 2001-01-09
EP0927950A3 (en) 2001-10-17

Similar Documents

Publication Publication Date Title
JPH11259655A (ja) 画像処理方法及び装置
JP3359095B2 (ja) 画像処理方法及び装置
US6512848B2 (en) Page analysis system
KR102403964B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 저장 매체
JP4577421B2 (ja) 画像処理装置及び画像処理プログラム
JP5663866B2 (ja) 情報処理装置及び情報処理プログラム
US7783108B2 (en) Document management method and apparatus
JPH08235349A (ja) ページ解析システム
JP2010020468A (ja) 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体
JP4655335B2 (ja) 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
JP4785655B2 (ja) 文書処理装置及び文書処理方法
US20090274369A1 (en) Image processing device, image processing method, program, and storage medium
JP5412903B2 (ja) 文書画像処理装置、文書画像処理方法および文書画像処理プログラム
US6360006B1 (en) Color block selection
JP2006221569A (ja) 文書処理システム、文書処理方法、プログラムおよび記憶媒体
JP5159588B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP5673277B2 (ja) 画像処理装置およびプログラム
JP3187895B2 (ja) 文字領域抽出方法
JP2002049890A (ja) 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
US10922538B2 (en) Information processing apparatus that determines whether a PDF file is searchable, and method and storage medium thereof
JP4738645B2 (ja) 網掛け領域検出装置、網掛け領域検出方法、プログラムおよび記憶媒体
JP4587167B2 (ja) 画像処理装置及び画像処理方法
KR100334624B1 (ko) 클러스터링기반문서영상분할방법
JP2009303149A (ja) 画像処理装置、画像処理方法及びコンピュータ制御プログラム
JP2019068406A (ja) 情報処理装置、方法、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051228

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20051228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080723

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090119

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees