(57)【特許請求の範囲】
【請求項１】
ビットマップ画像内の連結成分に基づいて、該ビットマップ画像から複数の領域と前記複数の領域間の論理的関係を示す階層ツリー構造とを取得する取得工程と、
前記取得工程において取得された階層ツリー構造に基づいて、前記複数の領域各々が非テキスト領域の子領域となるテキスト領域であるかどうかを判別する領域分析工程と、
前記領域分析工程において、前記非テキスト領域の子領域となるテキスト領域ではないと判別された領域の画像ファイルまたは光学的文字認識結果を生成し、前記生成された画像ファイルへの参照情報または光学的文字認識結果をデータ要素として得るデータ取得工程と、
前記領域分析工程において前記非テキスト領域の子領域となるテキスト領域ではないと判別された領域をレイアウト分析対象とし、該領域に対して、水平方向及び垂直方向のいずれか一つの方向に関してグループ化を行う場合に、該グループ化により含まれる領域を囲む最小矩形が他の領域とオーバラップするか否かを判断し、オーバラップしないと判断された場合に当該方向のグループ化を行って少なくとも２つの領域を含むグループを形成し、該グループ化の完了後に、他の方向に関してグループ化を行う場合に、該グループ化により含まれる領域を囲む最小矩形が他の領域とオーバラップするか否かを判断し、オーバラップしないと判断された場合に当該方向のグループ化を行ってグループを形成し、さらに、前記既に形成されたグループを包含するさらに大きなグループを形成しながら、前記複数の領域全てが単一のグループにグループ化されるまで、前記水平方向に関するグループ化と前記垂直方向に関するグループ化とを交互に行うことにより、入れ子になった複数のグループを形成し、前記複数の領域と前記複数のグループ夫々との位置関係を座標データとして示すレイアウトデータを生成し、また前記レイアウトデータを上から下に読み込み、前記複数の領域の順序を決定するレイアウト分析工程と、
前記レイアウトデータを参照し、前記複数の領域各々に対して、現在の領域の位置、現在の領域と以前の領域、次の領域、グループとの位置関係、現在の領域とグループとの親子関係、現在の領域と以前の領域とのグループ化の有無に基づいて、テーブルを定義するためのタグ並びに改行を定義するためのタグと段落を定義するためのタグを含むＨＴＭＬコードを特定し、前記ＨＴＭＬコードを前記複数の領域それぞれに対応するデータ要素間に挿入することによりＨＴＭＬファイルを生成する生成工程とを有することを特徴とするファイル生成方法。
【請求項２】
前記取得工程において取得した領域が非テキスト中間調画像であった場合に、前記ビットマップ画像における当該領域内の画像から画像ファイルを生成して格納する格納工程をさらに有し、
前記データ要素は、前記格納工程において格納された画像ファイルへの参照情報であることを特徴とする請求項１に記載のファイル生成方法。
【請求項３】
前記取得工程において取得した領域がテキスト領域である場合、光学的文字認識処理を行って前記光学的文字認識結果を得る文字認識工程をさらに有し、
前記データ要素は、前記文字認識工程において得られた光学的文字認識結果であることを特徴とする請求項１に記載のファイル生成方法。
【請求項４】
ビットマップ画像内の連結成分に基づいて、該ビットマップ画像から複数の領域と前記複数の領域間の論理的関係を示す階層ツリー構造とを取得する取得手段と、
前記取得手段により取得された階層ツリー構造に基づいて、前記複数の領域各々が非テキスト領域の子領域となるテキスト領域であるかどうかを判別する領域分析手段と、
前記領域分析手段により前記非テキスト領域の子領域となるテキスト領域ではないと判別された領域の画像ファイルまたは光学的文字認識結果を生成し、前記生成された画像ファイルへの参照情報または光学的文字認識結果をデータ要素として得るデータ取得手段と、
前記領域分析手段により前記非テキスト領域の子領域となるテキスト領域ではないと判別された領域をレイアウト分析対象とし、該領域に対して、水平方向及び垂直方向のいずれか一つの方向に関してグループ化を行う場合に、該グループ化により含まれる領域を囲む最小矩形が他の領域とオーバラップするか否かを判断し、オーバラップしないと判断された場合に当該方向のグループ化を行って少なくとも２つの領域を含むグループを形成し、該グループ化の完了後に、他の方向に関してグループ化を行う場合に、該グループ化により含まれる領域を囲む最小矩形が他の領域とオーバラップするか否かを判断し、オーバラップしないと判断された場合に当該方向のグループ化を行ってグループを形成し、さらに、前記既に形成されたグループを包含するさらに大きなグループを形成しながら、前記複数の領域全てが単一のグループにグループ化されるまで、前記水平方向に関するグループ化と前記垂直方向に関するグループ化とを交互に行うことにより、入れ子になった複数のグループを形成し、前記複数の領域と前記複数のグループ夫々との位置関係を座標データとして示すレイアウトデータを生成し、また前記レイアウトデータを上から下に読み込み、前記複数の領域の順序を決定するレイアウト分析手段と、
前記レイアウトデータを参照し、前記複数の領域各々に対して、現在の領域の位置、現在の領域と以前の領域、次の領域、グループとの位置関係、現在の領域とグループとの親子関係、現在の領域と以前の領域とのグループ化の有無に基づいて、テーブルを定義するためのタグ並びに改行を定義するためのタグと段落を定義するためのタグを含むＨＴＭＬコードを特定し、前記ＨＴＭＬコードを、前記複数の領域それぞれに対応するデータ要素間に挿入することによりＨＴＭＬファイルを生成する生成手段とを有することを特徴とするファイル生成装置。
【請求項５】
ビットマップ画像内の連結成分に基づいて、該ビットマップ画像から複数の領域と前記複数の領域間の論理的関係を示す階層ツリー構造とを取得する取得工程と、
前記取得工程において取得された階層ツリー構造に基づいて、前記複数の領域各々が非テキスト領域の子領域となるテキスト領域であるかどうかを判別する領域分析工程と、
前記領域分析工程において、前記非テキスト領域の子領域となるテキスト領域ではないと判別された領域の画像ファイルまたは光学的文字認識結果を生成し、前記生成された画像ファイルへの参照情報または光学的文字認識結果をデータ要素として得るデータ取得工程と、
前記領域分析工程において前記非テキスト領域の子領域となるテキスト領域ではないと判別された領域をレイアウト分析対象とし、該領域に対して、水平方向及び垂直方向のいずれか一つの方向に関してグループ化を行う場合に、該グループ化により含まれる領域を囲む最小矩形が他の領域とオーバラップするか否かを判断し、オーバラップしないと判断された場合に当該方向のグループ化を行って少なくとも２つの領域を含むグループを形成し、該グループ化の完了後に、他の方向に関してグループ化を行う場合に、該グループ化により含まれる領域を囲む最小矩形が他の領域とオーバラップするか否かを判断し、オーバラップしないと判断された場合に当該方向のグループ化を行ってグループを形成し、さらに、前記既に形成されたグループを包含するさらに大きなグループを形成しながら、前記複数の領域全てが単一のグループにグループ化されるまで、前記水平方向に関するグループ化と前記垂直方向に関するグループ化とを交互に行うことにより、入れ子になった複数のグループを形成し、前記複数の領域と前記複数のグループ夫々との位置関係を座標データとして示すレイアウトデータを生成し、また前記レイアウトデータを上から下に読み込み、前記複数の領域の順序を決定するレイアウト分析工程と、
前記レイアウトデータを参照し、前記複数の領域各々に対して、現在の領域の位置、現在の領域と以前の領域、次の領域、グループとの位置関係、現在の領域とグループとの親子関係、現在の領域と以前の領域とのグループ化の有無に基づいて、テーブルを定義するためのタグ並びに改行を定義するためのタグと段落を定義するためのタグを含むＨＴＭＬコードを特定し、前記ＨＴＭＬコードを前記複数の領域それぞれに対応するデータ要素間に挿入することによりＨＴＭＬファイルを生成する生成工程との各工程をコンピュータに実行させるためのコンピュータ読取可能な処理プログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はファイル生成方法及びその装置に関し、特に、入力ビットマップ画像に基づくＨＴＭＬファイルの生成装置に関し、さらに詳しくはスキャンされて読み込まれた文書イメージに基づき、入力ビットマップ画像の原稿のレイアウトを正確に再生するＷｅｂページを生成するために用いられるＨＴＭＬファイルの自動生成装置に関するものである。
【０００２】
【従来の技術】
近年、インターネットの人気は急速に高まっている。この成長の１つの理由として、ＨＴＭＬ（HyperText Makeup Language）が広く用いられていることがある。これは、文書の体裁や文書のレイアウトやハイパーリンク仕様を記述するための言語である。ＨＴＭＬはテキスト、画像、その他のサポートされるメディアの構造と内容とを記述するシンタックスを定義する。その言語は、また、文書と他のインターネット資源との間をハイパーテキストリンクや他のハイパーリンクを介して接続する備えを提供する。ＨＴＭＬを用いて、ビットマップ画像、グラフィクス画像、種々のスタイルやサイズのテキストに加えて、Ｗｅｂページを見る人が簡単にそのページの他の地点や、異なるサーバによって提供された完全に異なるＷｅｂページにさえもジャンプできるようなハイパーリンクを含むＷｅｂページが創成できる。
【０００３】
ひとたび、サーバを介してＨＴＭＬがＷＷＷ（ワールドワイドウェッブWorld Wide Web）上で利用可能になったなら、そのＷＷＷに接続したどんなクライアントも自分のブラウザの適当なフィールドにただページアドレスをタイプインするだけでそのページにアクセスできる。そのアドレスが入力された後、ブラウザはサーバに対して、テキスト、図形やビットマップ画像ファイルへのリファレンスを含むＨＴＭＬファイルや全ページのフォーマットやハイパーリンク情報を送信するよう要求する。ＨＴＭＬファイルが受信されると、ブラウザは自動的に識別されたソースからＨＴＭＬファイルで参照されている図形やビットマップ画像を要求する。
【０００４】
ＨＴＭＬファイルとダウンロードされたイメージファイルを表示するために、ブラウザはＨＴＭＬファイルに組み込まれているＨＴＭＬ命令に頼ることになる。これらの命令を“タグ（tag）”と呼ぶ。そのタグはページの特徴や要素を表わし、ブラウザに特定のタイプのフォーマッティングのような種々の機能を実行させる。ＨＴＭＬタグはそのシンタクスによってＨＴＭＬファイル内で識別される。即ち、そのタグは左カッコ“＜”と右カッコ“＞”とによって囲まれ、例えば、“＜Ｐ＞”のようになる。この場合、左カッコ“＜”はＨＴＭＬタグの始まりを示し、“Ｐ”はタグそのもの（ここではタグは新しいテキストの段落を示す）を示し、右カッコ“＞”はタグの終了を表わす。しばしば、タグはペアとなって特別な機能の始まりと終わりとを示す。その始まりのタグでは（ヘッディングや、ボールド（太文字）など）の特徴が開始されるようにし、その終わりのタグではその特徴が終了するようにする。終わりのタグは、通常、始まりのタグの名前の初めにスラッシュ（／）をつけるようにしている。例えば、＜ｓｔｒｏｎｇ＞と＜／ｓｔｒｏｎｇ＞とで囲まれるテキストの場合、他のテキストと比べてその囲まれたテキストは強調して表示される。タグの付加的な言葉は属性であり、それはしばしば、等号（＝）に続く値を伴っている。等号（＝）はさらにタグの動作を定義したり、変形したりする。
【０００５】
ＨＴＭＬ３．０は、許されるタグやタグのネスティングを定義する現在の事実上のＷＷＷ標準である。約１００の異なるタグが許されており、定義される。
【０００６】
【発明が解決しようとする課題】
しかしながら、ＨＴＭＬの複雑さや、やっかいな用法についての要求のために、視覚的にアピールでき、かつ、有用なＷｅｂページを作成するために、 Ｗｅｂ設計者は多くの努力をはらっている。例えば、ある組織が良質の販売資料をもっており、それと同一のものをＷｅｂページ上に再生したいと考えていると仮定しよう。この簡単と思えるタスクでさえも、その書かれた資料のレイアウトや体裁を再生するためには、専門家がかなりの時間をかけ手づくり的にＨＴＭＬ命令を記述しまとめあげることが要求されるのが普通である。
【０００７】
書かれた文書からＨＴＭＬファイルをまとめあげるジョブを自動化するいくつかのシステムが提案されている。Xerox Text Bridge ProやCaere Omni Page Proは、書かれた文書をスキャンして、そのスキャンして読み込まれたに基づいてＨＴＭＬファイルを生成するシステムの例である。ＨＴＭＬファイルの生成においてこれらのシステムのできないことは、正確に元々の書かれた文書のレイアウトや表や画像を表現することである。特に、主要な問題は、オリジナル文書が複数の欄（カラム）をもっている場合、或は、もっと一般的に言うと各領域が水平的に近接している場合における自動的なＨＴＭＬファイルの生成にあった。２つの画像ブロックに関して用いられるとき、“水平的に近接している”という用語は、２つのブロックの垂直方向の領域がオーバラップする、或は、等価的には両方のブロックを横切る水平ラインが見出されるという状態を意味する。同様に、２つの画像ブロックに関して用いられるとき、“垂直的に近接している”という用語は、２つのブロックの水平方向の領域がオーバラップする、或は、等価的には両方のブロックを横切る垂直ラインが見出されるという状態を意味する。
【０００８】
このようなシステムに付随する問題の典型的な例を図１〜図２に図示する。図１は、ＨＴＭＬフォーマットに変換されるオリジナルのプリント文書を示している。図１に示されるように、そのオリジナル文書は、種々の特徴の中でも、左上端にタイトル１を、右上端にサブタイトル２を、テキスト欄４、５、６を、左下端に絵７を、右下端に脚注９をもっている。
【０００９】
図２は、ビットマップ画像をＨＴＭＬに変換する現存するシステムによって生成されたＨＴＭＬファイルに基づいて、ＷｅｂブラウザによってＷｅｂページ２０がどのようにディスプレイ２３に表示されるかを示している。図１に示した要素に対応する図２における各要素には、図１に対すると同様に番号が付されている。従って、現存するシステムによって処理後、タイトル１がタイトル１１として再生される。しかし、サブタイトル２は、右上端には再生されず、かわりに左上端に要素１２として、タイトル１１の真下に再生される。同様に、オリジナル文書のテキストが欄となっている構成も全て除去されてしまい、絵１７が左下端に位置するかわりに、そのページの全幅を占めるようになり、テキストのラインの間に挟まれたようになる。最後に、脚注１９は、右下端に位置する代わりに左下端に再生される。
【００１０】
このような比較から、商用で利用されているシステムはオリジナル文書の多くのレイアウトやスタイルを表わす要素を捉えることができないことが分かる。他の利用可能な知られたシステムにしても、重要なレイアウトの特徴を捉えられないことがよくある。従って、ＨＴＭＬの複雑でやっかいな性質が原因となる問題は、商用で利用されているシステムでは適切に扱われているとは言えない。
【００１１】
【課題を解決するための手段】
本発明は上記従来例に鑑みてなされたもので、ビットマップ画像に基づいてＨＴＭＬファイルを自動的に生成し、そのＨＴＭＬファイルによって元々のビットマップ画像のレイアウト情報を保存したＷｅｂページを表示できるようにした手段を提供することによって上述した問題を扱うことを目的とする。特に、本発明に従えば、複数の欄をもつレイアウトも、その欄を表示するためのＨＴＭＬ“テーブルタグ”を用いるＨＴＭＬファイル自動生成によって忠実に保存される。
【００１２】
本発明を１つの角度から見れば、ビットマップ画像に基づくＨＴＭＬファイルが以下のように生成される。即ち、ビットマップ画像の別々の２つの垂直方向の欄における２つの水平的に近接したブロックを取得し、 ＨＴＭＬファイルを生成するが、そのとき、これらのブロックが、ＨＴＭＬタグテーブルの１つの欄におけるデータ要素としてタグが付けられたテーブルセル内に置かれるようにする。
【００１３】
また本発明の別の角度から見ると、ビットマップ画像に基づくＨＴＭＬファイルが以下のように生成される。即ち、まず、ビットマップ画像を分割して、画像ブロックを作る。その後、これらブロック各々がビットマップ画像のどこに位置するかを決定する。次に、ブロック間の位置関係が、その相対位置に基づいて認識される。最後に、ＨＴＭＬファイルが生成される。そのＨＴＭＬファイルにおいて、ブロックにはＨＴＭＬタグテーブルの１つの欄におけるデータ要素としてタグが付けられるが、これらのタグは認識された位置関係に従って決定される。
【００１４】
ここでは、本発明の特徴についてすぐに理解できるように簡単に要約した。しかし、本発明についてのより完全な形での理解は、添付図面を参照しながら本発明の好適な実施形態についての説明から得られる。
【００１５】
【発明の実施の形態】
以下添付図面を参照して本発明の好適な実施の形態について詳細に説明する。
【００１６】
図３は、本発明を適用したコンピュータワークステーションの外観を示す図である。図３に示されるワークステーション３０は、マッキントッシュやＩＢＭ  ＰＣやマイクロソフトウィンドウズのようなウィンドウ環境を備えたＰＣコンパチブルのコンピュータのようなものである。ワークステーション３０には、カラーモニタのようなディスプレイ画面３１、ユーザ命令を投入するためのキーボード３２、画面３１に表示された対象物（オブジェクト）を指示したり操作するマウスのようなポインティングデバイス３４が備えられている。ワークステーション３０にはデータファイルを格納するコンピュータディスク３５のような大容量記憶装置が含まれている。スキャナ３７は、入力する印刷文書からビットマップ画像を生成するために備えられている。
【００１７】
図４はワークステーション３０の詳細な内部構成を示すブロック図である。図４に示されているように、ワークステーション３０はコンピュータバス４２とインタフェースをもつ中央処理装置（ＣＰＵ）４１を含んでいる。また、コンピュータバス４２にインタフェースをもつものとして、スキャナインタフェース４４、ディスプレイインタフェース４５、キーボードインタフェース４６、マウスインタフェース４７、メインメモリ４９、固定ディスク３５がある。固定ディスク３５はマイクロソフトウィンドウズのようなウィンドウオペレーティングシステム、種々のウィンドウアプリケーション、本発明に従いビットマップ画像に基づいてＨＴＭＬファイルを生成するＨＴＭＬ変換プログラム、以前に走査して読み込まれたビットマップ画像、以前に生成されたＨＴＭＬファイル、ＨＴＭＬファイルを表示するためのＷｅｂブラウザを格納する。メインメモリ４９はコンピュータバス４２とインタフェースをもち、ＣＰＵ４１によって用いられるようにランダムアクセスメモリ（ＲＡＭ）を備えている。一方、ＣＰＵ４１はＨＴＭＬ変換プログラムなどのような格納された処理プログラムを実行する。即ち、ＣＰＵ４１はディスク３５からメインメモリ４９にこれらの処理プログラムをロードし、メインメモリ４９に常駐しない格納された処理プログラムを実行する。
【００１８】
［ＨＴＭＬ生成］
図５はディスク３５に格納され、本発明に従いビットマップ画像に基づいてＨＴＭＬファイルを生成する処理プログラムのステップで構成されるフローチャートである。図５に従って簡単にその処理ステップを説明すると次の通りである。まず、スキャニング或は抽出によってビットマップ画像を取得し（ステップＳ５０１）、これをブロックへと分割する（ステップＳ５０２）。各ブロックの位置が決定され、各ブロックが分析されて、ＨＴＭＬファイルへの挿入ために準備がなされ（ステップＳ５０４）、レイアウト分析がなされ、ビットマップ画像上での相対的な位置に基づいて各ブロック間のレイアウト関係を識別する（ステップＳ５０５）。このレイアウト関係に基づいて、ブロックタイプが各ブロックについて決定され（ステップＳ５０６）、各ブロックについての列（カラム）方向のスパンと行（ロー）方向のスパンとが決定され（ステップＳ５０７）、もし必要ならブロックの順序が並び換えられ（ステップＳ５０９）、各ブロックについてのブロックタイプと列方向と行方向のスパン情報とに基づいてＨＴＭＬファイルが生成される（ステップＳ５１０）。
【００１９】
［ビットマップ画像取得］
さらに詳しく説明すると、ステップＳ５０１ではビットマップ画像が取得される。これは、通常は、印刷文書をスキャナ３７を用いて走査することによりなされる。しかし、そのビットマップ画像をディスク３５に格納されたファイルから、或は、他の何らかの方法により抽出しても良い。
【００２０】
［ブロック認識及び分割］
ステップＳ５０２は、画像データにおけるブロックが自動的に抽出される処理工程と、その画像に関するブロックの位置が自動的に識別される処理工程とを有している。１つの“ブロック”は画像データの論理的に関係があるグループであり、例えば、テキスト画像データの連続する段落の領域や、タイトルの部分の画像データを有する領域や、図形画像データ、線画画像データ、絵画画像データ、表画像データのようなテキスト画像データ以外の画像データを有する領域などである。ブロックとその位置の自動検出と識別に加えて、ステップＳ５０２に従うブロック分割によって、階層ツリー構造のデータが生成されることが好適である。これによって、各ブロックの他のブロックに関する論理的な関係が認識される。例えば、テキスト画像データがしばしばテキスト画像データ以外の画像データ（これを“非テキスト画像データ”という）の中に見出される。例えば、ラインアートグラフィックの中にテキストラベルが存在するような場合である。そのような場合、テキストラベルは、階層構造ツリーにおいて、そのグラフィックを含む親ブロックの子ノードとして認識される。このような階層ツリー構造のデータは次の処理ステップにおいて各ブロックの関係を決定するのに有用である。
【００２１】
適切なブロック分割技術は種々の文献に説明されているし、また、１９９２年４月２４日に米国に出願番号第０７／８７３０１２号として出願された係属中の“文字認識方法及び装置(Method And Apparatus For Character Recognition)”という特許出願や、１９９４年１１月１０日に米国に出願番号第０８／３３８７８１号として出願された係属中の“ページ分析システム(Page Analysis System)”という特許出願にも説明されている。これら２つの特許出願の内容は、ここで十分に説明されているかのように参照され組み込まれる。一般的に言って、画像中の個々の画素データを分析しその画像の連結された成分を識別し、その連結された成分を分析し接続された成分がテキスト成分であるか或は非テキスト成分であるかを決定し、その後、その連結された成分をブロックにグループ化することによって、そのようなブロック分割技術は実行される。テキストブロックと非テキストブロックはそれから解析され、各ブロックの属性を決定する。例えば、テキストブロックの場合、ブロックは解析されてそれらがタイトルであるか、ただの平易なテキストであるか、図の表題であるか等を判断する。非テキストブロックの場合、ブロックは解析され、それらがラインアート画像であるか、中間調画像であるか、カラー画像であるか、表形式となったデータであるか等を判断する。同時に、親子のノード関係を通して画像データ中のテキストブロックと非テキストブロックとの関係を表わすように階層ツリーが生成される。
【００２２】
図６は、ステップＳ５０２に従うブロック分割の結果を図示したものである。図６に示されているように、図１に示したオリジナル画像データに関して、第１のブロック５１（ＢＬＫ１）は図１のタイトルデータの第１行に対応する。同様に、第２のブロック５２（ＢＬＫ２）は図１のタイトルデータの第２行に対応する。第５のブロック５５（ＢＬＫ５）はサブタイトル第１行に対応する。第８のブロック５８（ＢＬＫ８）はその論文の見出しの大文字“Ｓ”に対応し、一方、第９のブロック５９（ＢＬＫ９）はその論文の見出しのテキストの残りの部分に対応する。ブロック５３（ＢＬＫ１０、ＢＬＫ１１、ＢＬＫ１４、ＢＬＫ１５）はその論文自身のテキストに対応する。ブロック５４（ＢＬＫ１２）は論文の中間調画像に対応し、一方、ブロック５６（ＢＬＫ１３）はその画像の見出しテキストに対応する。図６に示される他のブロックは上述の説明からすぐに理解できる意味をもっている。
【００２３】
図７は属性データと階層ツリー構造のデータを含んだ、各ブロックに関する格納データを説明する図である。特に、図７に示されているように、各ブロックに関し、ブロックデータ１５０が格納され、そのブロックデータは少なくとも、ブロック番号識別子１５１と、座標情報（ブロックを囲む矩形の左上端と右下端の座標のような情報）１５２と、そのブロックがテキストであるか或は非テキストであるかを示した情報をブロック分割中に決定される他の情報とともに収容する属性データ１５３と、そのブロックについての親ノードと子ノードとを指示するポインタを含む階層ツリー構造１５４とを含む。
【００２４】
ステップＳ５０２のブロック分割の最後で、上述のことを要約すると次のようになる。画像データは分析され、自動的に論理的に関係のある画像データのブロックを検出し、それらブロックの位置を自動的に識別する。さらに、ブロックから別のブロックへの論理的な関係を示す階層ツリー構造が各ブロックに関して生成格納される。
【００２５】
［ブロック分析］
ステップＳ５０４におけるブロック分析は、ステップＳ５０２において識別された各ブロックが分析され、文書レイアウトに影響を与えるかどうかを決定する処理工程と、もし影響を与えるブロックであればＨＴＭＬファイル生成のために必要な情報を抽出する処理工程とを有している。
【００２６】
特に、ステップＳ５０２において識別された各ブロックに関し、ステップＳ５０４に従うブロック分析では、階層ツリーを調べそのブロックが非テキストブロックの子ブロックではないテキストブロックであるかどうかを判断することによって、文書レイアウトに影響を与えるかどうかを判断する。このテストの目的は、続く処理から非テキストブロック内にあるテキストブロックを除去することである。なぜなら、そのようなテキストブロックは文書レイアウトに影響を与えることはないからである。例えば、ラインアートグラフィクス内のテキストラベルは文書レイアウトに影響を与えることはなく、むしろ、文書レイアウトに影響を与えるのはそのヒストグラムである。従って、ステップＳ５０２において生成された階層ツリーを調べることにより、文書レイアウトに影響を与えるブロックとそうではないブロックとを区別することが可能となる。
【００２７】
一方、線画、中間調画像、表形式データのような非テキストブロックは文書のレイアウトに影響を与えると推定され、従って、ステップＳ５０４におけるさらなる分析の対象となる。
【００２８】
図６の例から、そこに示されている全てのブロックは文書レイアウトに影響を与えるものであることが理解されよう。従って、さらなる処理から除去されるブロックはない。例えば、文書画像が１画像或は１テーブル内にテキストデータを含んだ場合には、このようなことはない。こうした場合には、そうしたテキストデータを含むブロックは、さらなる処理からは除去される。なぜなら、そのようなテキストデータは文書レイアウトに影響を与えることはなく、むしろその画像ブロックが文書レイアウトに影響を与える。
【００２９】
その後、文書レイアウトに影響を与えるものとして識別された全てのブロックはＨＴＭＬファイル生成の準備のため、画像属性データ１５３に従って処理される。即ち、画像属性データ１５３が中間調画像のような非テキストデータとしてそのブロックを識別したなら、ステップＳ５０４におけるブロック分析ではその画像のために適切な画像ファイルを生成する。好適には、その画像ファイルは、．ＧＩＦ或はＪＰＥＧフォーマットのような一般に用いられているＷｅｂブラウザのフォーマットで格納されると良い。これに対して、テキストタイプのブロックについては光学的な文字認識解析が施され、ＨＴＭＬファイル生成において後で用いるためにＡＣＳＩＩキャラクタコードのようなコンピュータ可読コードのファイルを得、また、各テキストブロックにおけるテキスト行数を決定する。
【００３０】
図８はステップＳ５０４におけるブロック分析の出力を説明する図である。特に、図８に示されているように、文書レイアウトに影響を与える各ブロックについて、少なくとも、ブロック番号１６１、座標データ１６２、図７の属性データ１５３と同じデータである属性データ１６３、子ノードの情報が除去されているかもしれないこと以外は図７の階層ツリーデータ１５４と同じである階層ツリーデータ１６４、ブロック分析結果１６５を含むデータ１６０が格納される。ブロック分析結果１６５は、例えば、属性データ１６３がそのブロックが非テキストデータであることを示す場合には画像ファイル名を含むかもしれないし、或は、属性データ１６３がそのブロックがテキストタイプのブロックであることを示す場合には光学的文字認識結果と各テキストブロックにおけるテキスト行数とを含むかもしれない。
【００３１】
要約すると、ステップＳ５０４に従うブロック分析による結果として、文書レイアウトに影響を与えるブロックが認識され、これらブロック各々について画像ファイル或は光学的文字認識結果が得られる。
【００３２】
［レイアウト分析］
図５のステップＳ５０５は、ステップＳ５０４で認識されたブロックが分析され文書についてのレイアウトデータを備える処理を実行する工程を有している。これらの処理のステップは、図９に図示されている。一般に言って、図９の各処理ステップは、垂直方向に並んだブロックのペア或はグループ化されたブロックの可能性のある組み合わせ各々をテストして、ペアのブロックを取り囲む最小の矩形が他のいづれかのブロックとオーバラップするかどうかを判断し、もし、その組み合わせがオーバラップしないなら、そのペアは結合されて単一のグループとなる。同様に、水平方向に並んだブロックのペア或はグループ化されたブロックの可能性のある組み合わせ各々をテストして、その組み合わせが他のいづれかのブロックとオーバラップするかどうかを判断し、もし、オーバラップがないなら、そのペアは結合されて水平方向にグループ化する。大抵の英語文書は垂直方向にレイアウトして調整されるので、最初に垂直方向の組み合わせがテストされる。従って、ある日本語文書のように、文書が水平方向にレイアウトして調整されると考えられる場合、水平方向のグループ化が最初にテストされるほうが良い。垂直方向のグループ化をテストし、次に水平方向のグループ化をテストする処理は、さらなるグループ化ができなくなり、全文書が結合され１つのグループになり、レイアウトデータが完成するまで繰り返される。
【００３３】
図９を図１の文書に基づく図１０の図示した例との関連でさらに詳しく説明する。従って、ステップＳ９０１では、２つの垂直方向に並んだ“グループ”の組み合わせがまずテストされる。グループ化は個々のブロックのグループ化であるか、前に結合され１つのグループとなったブロックのグループ化である。垂直方向に並んだグループ化は、垂直方向に位置が異なるもののグループ化である。従って、座標データ１６２に基づいて測定され、垂直方向に位置が異ならないグループ化はこのステップＳ９０１ではテストされない。
【００３４】
そのような組み合わせの第１の例が図１０Ａ（１）に図示されている。図１０Ａ（１）に示されているように、ブロックＢＬＫ１とＢＬＫ２とは垂直方向には異なる位置にあるという意味で垂直方向に並んでいる。破線１７１はこれら２つのブロックの回りを取り囲む矩形を表わしている。ステップＳ９０２でテストされるのはこの矩形によって表わされる組み合わせである。図示する目的で、矩形とその矩形によって取り囲まれるブロックとの間には小さなギャップがある。しかしながら、実際のグループ化による境界はこれらのブロックの境界と一般には一致している。
【００３５】
即ち、ステップＳ９０２は垂直方向に並んだグループ化されたものの組み合わせが他のグループとオーバラップしているかどうかを判断するためにテストを行なう。組み合わせを作るとき、その組み合わせが他のブロック或はグループの全て或は一部を含んでいるなら、その組み合わせは他のグループとオーバラップしている。もし、その組み合わせが他のグループとオーバラップしていないなら、処理フローはステップＳ９０３に分岐し、そのグループ化を垂直方向にさらに進める。これに対して、その組み合わせが他のグループとオーバラップするなら、処理は直接ステップＳ９０４に進み、テストを必要とするこれ以上の垂直方向の組み合わせがあるかどうかを判断する。これ以上の垂直方向の組み合わせがテストを必要とすれば、処理はステップＳ９０１に戻り、全ての垂直方向に並んだグループが適切にテストされるまで、処理を繰り返す。
【００３６】
従って、図１０Ａ（１）に戻って説明をすると、矩形１７１は他のグループとオーバラップはしていないので（ステップＳ９０２）、ブロックＢＬＫ１とＢＬＫ２とは垂直方向に結合され、１つの垂直グループとなる（ステップＳ９０３）。これは、図１０Ａ（２）に図示されており、ブロックＢＬＫ１とＢＬＫ２の組み合わせを１つの垂直グループ（ＶＲＴ）に描いているレイアウトデータを示している。
【００３７】
さて、図１０Ｂ（１）において、さらなる垂直方向の組み合わせが存在するので（ステップＳ９０４）、これらの垂直方向の組み合わせがテストされる。従って、図１０Ｂ（１）では、ブロックを取り囲む矩形１７２は、ブロックＢＬＫ１とＢＬＫ２とから構成される垂直グループと垂直方向に並んだブロックＢＬＫ３との組み合わせを表わしている。その組み合わせは他のグループとはオーバラップしないので、その組み合わせは、図１０Ｂ（２）に示されているように垂直方向に結合されて、新たなグループとなる。
【００３８】
図１０Ｃ（１）において、ブロックＢＬＫ４はテストされない。なぜなら、座標データ１６３に基づいて、これは垂直方向に並んだグループ化とはならないことが分かるからである。むしろ、テストされる次のブロックはＢＬＫ５である。なぜなら、これは垂直方向に並んだグループ化となるからである。この組み合わせを示す矩形は破線１７３で図示されている。ここから分かるように、その組み合わせにはブロックＢＬＫ４を含む。従って、その組み合わせは他のグループとオーバラップし、垂直方向の組み合わせはなされない。従って、図１０Ｃ（２）に示されているように、レイアウトには変化がない。
【００３９】
すぐに理解されることであるが、文書の他のブロックとの組み合わせを行なってみると、ブロックＢＬＫ１、ＢＬＫ２、ＢＬＫ３による垂直グループと他のグループとの組み合わせは、他の何らかのグループとのオーバラップが発生する。従って、ステップＳ９０１での各テストがなされるとき、ステップＳ９０２では、その組み合わせは何らかの他のグループとのオーバラップがあると判断し、このグループについてはこれ以上の垂直方向への結合はなされない。
【００４０】
さて、図１０Ｄ（１）において、次の許されるブロック或はグループ、ここではブロックＢＬＫ４と垂直方向へのグループ化の組み合わせがなされる。ブロックＢＬＫ４とブロックＢＬＫ５との組み合わせを示す、これらを取り囲む矩形１７４は明らかにブロックＢＬＫ３とのオーバラップが存在することを示している。従って、その組み合わせは他のグループとオーバラップするので、垂直方向の組み合わせは行われず、そのグループ化には図１０Ｄ（２）のレイアウトデータに示されているように変化がない。同様に、ブロックＢＬＫ４との他のブロックとの組み合わせもオーバラップがあり、さらなる垂直方向への結合はなされないことが理解できよう。
【００４１】
さて、図１０Ｅ（１）において、ブロックＢＬＫ５と垂直方向に並んだグループとの組み合わせがテストされる。破線１７５はブロックＢＬＫ５とＢＬＫ６との組み合わせに関し、これらを取り囲む矩形を表わしている。この場合、他のグループとのオーバラップは存在しないので、図１０Ｅ（２）のレイアウトデータに図示されているように、ブロックＢＬＫ５とＢＬＫ６とは垂直方向に結合される。
【００４２】
同様に、図１０Ｆ（１）において、ブロックＢＬＫ５とＢＬＫ６とのグループはブロックＢＬＫ７との組み合わせが、これらを取り囲む矩形１７６で図示されているように、テストされる。その組み合わせも他のグループとはオーバラップしないので、その組み合わせは垂直方向に結合され、レイアウトデータは図１０Ｆ（２）に図示されたようになる。
【００４３】
グループ化についての垂直方向の組み合わせをテストする処理は、テストできる許される垂直方向の組み合わせがこれ以上なくなるまで続く。このテストに関連して、さらなるグループ化は、ブロックＢＬＫ１２とＢＬＫ１３の組み合わせと、ブロックＢＬＫ１４とＢＬＫ１５の組み合わせだけであることが分かる。この状態は図１０Ｇ（１）と図１０Ｇ（２）とに図示されている。
【００４４】
テストのためのさらなる垂直方向の組み合わせがなくなったので、処理フローはステップＳ９０５に進み、類似の組み合わせと、その組み合わせについてのテストが水平方向に関してなされる。従って、ステップＳ９０５は２つの水平方向に並んだグループの組み合わせをテストし、ステップＳ９０６はその組み合わせが他のグループとオーバラップするかどうかを判断し、ステップＳ９０７はステップＳ９０６がその組み合わせが他のグループとはオーバラップしないことを判断した場合にそのグループを水平方向に組み合わせ、さらにステップＳ９０８ではテストを必要とするこれ以上の水平方向の組み合わせがあるかどうかを判断する。
【００４５】
即ち、図１０Ｈ（１）に戻って説明すると、ブロックＢＬＫ１とＢＬＫ２とＢＬＫ３とのグループは水平方向に並んだブロックＢＬＫ４との組み合わせについてテストされる。図１０Ｈ（１）に見られるように、ブロックを取り囲む矩形１７７は他のグループとはオーバラップしておらず、従って、そのグループ化がなされる。これは図１０Ｈ（２）のレイアウトデータに図示されている。
【００４６】
ブロックＢＬＫ１〜ＢＬＫ４から構成される新しい水平グループに関し、これ以外のテストはなされない。なぜなら、これ以上のブロックもブロックのグループも水平方向には並んでいないからである。同様に、ブロックＢＬＫ５〜ＢＬＫ７から構成される垂直グループについて、水平方向に並んだブロックもブロックのグループもなく、従って、これらのブロックについてのテストはなされない。
【００４７】
従って、水平方向に並んだグループの組み合わせについてテストされる新たなブロックはブロックＢＬＫ８であり、その組み合わせの第１のものはブロックＢＬＫ９との組み合わせである。これらを取り囲む矩形１７８が他のブロックとはオーバラップしていないので、水平方向への結合が、図１０Ｉ（２）のレイアウトデータに図示されているようになされる。
【００４８】
ブロックＢＬＫ８とＢＬＫ９との新たなグループは、ブロックＢＬＫ１０との組み合わせがテストされない。なぜなら、ブロックＢＬＫ１０は水平方向に並んではいないからである。ブロックＢＬＫ１１は水平方向に並んでいる。しかしながら、図１０Ｊ（１）に示されているように、その２つの水平方向の組み合わせはブロックＢＬＫ１０とオーバラップするので、グループ化の結合はなされない。従って、グループは図１０Ｊ（２）のレイアウトデータが示されるように変化はない。
【００４９】
水平方向に並んだグループの全ての他の組み合わせも、他のブロック及び／或はグループとのオーバラップがある。従って、ステップＳ９０５において形成され、ステップＳ９０６においてテストされてもさらなる水平方向の結合はない。
【００５０】
それから、処理フローはステップＳ９０９に進み、画像における全てのブロックが１つの全体的なブロックへと組み込まれたかどうかを判断する。ブロックが１つの全体グループへとグループ化されずに残っている限り、ステップＳ９０１〜Ｓ９０８の処理ステップが、全てのブロックが１つのグループに含まれるまで反復される。
【００５１】
従って、図１０Ｋ（１）に関して示されているように、ブロックＢＬＫ１〜ＢＬＫ４を含む水平グループは、矩形１７９で図示されているように、ブロックＢＬＫ５〜ＢＬＫ７を含む垂直グループとの関連でテストされる。この場合、ブロックのオーバラップはないので、図１０Ｋ（２）のレイアウトデータで図示されているように、垂直方向への結合がなされる。
【００５２】
同様に、図１０Ｌ（１）において、ブロックＢＬＫ８とＢＬＫ９を含む水平グループがブロックＢＬＫ１０に関してテストされる。この様子はこれらを取り囲む矩形１８０によって図示されている。この場合、オーバラップはないので、図１０Ｌ（２）のレイアウトデータに図示されているように、垂直方向のグループ化がなされる。
【００５３】
ステップＳ９０１〜Ｓ９０４の反復処理において、オーバラップのないさらなる垂直方向の結合はない。従って、さらなる垂直方向の組み合わせによるグループ化はなされない。
【００５４】
図１０Ｍ（１）は、ステップＳ９０５〜Ｓ９０８の水平方向に関する反復処理において、もう１つのさらなる水平方向へのグループ化がなされることを示している。このことは、矩形１８１によって図示されている。従って、図１０Ｍ（１）に示されているようにグループ化があり、そのことは図１０Ｍ（２）のレイアウトデータに示されている。
【００５５】
ステップＳ９０１〜Ｓ９０８によって、構成されるさらなる垂直方向及び水平方向の反復処理がなされ、その結果、最終的な状態は図１０Ｎ（１）と図１０Ｎ（２）に示されるようになる。ここで、文書は１つの全体的なグループへと調整され、この場合には文書全体を取り囲むのが垂直グループであることが分かるであろう。このようなレイアウト分析は、各ブロック及び複数ブロックで構成されるグループ各々について、これらを取り囲む矩形を識別する座標データの格納とレイアウトデータの格納によって終了する。この場合、さらに各ブロックの幅や高さのデータを格納することが好ましい。図１の文書に関して格納されるレイアウトデータは以下に示す例のように再生される。
【００５６】
VRT: (l, t, r, b, w, h) = (48, 72, 2247, 3167, 2200, 3096)
VRT: (l, t, r, b, w, h) = (48, 72, 2247, 763, 2200, 692)
HOZ: (l, t, r, b, w, h) = (52, 72, 2247, 423, 2196, 352)
VRT: (l, t, r, b, w, h) = (52, 72, 1311, 415, 1260, 344)
BLK1: (l, t, r, b, w, h) = (52, 72, 1311, 187, 1260, 116)
BLK2: (l, t, r, b, w, h) = (56, 192, 827, 295, 772, 104)
BLK3: (l, t, r, b, w, h) = (52, 316, 679, 415, 628, 100)
BLK4: (l, t, r, b, w, h) = (1520, 380, 2247, 423, 728, 44)
VRT: (l, t, r, b, w, h) = (48, 524, 2247, 763, 2200, 240)
BLK5: (l, t, r, b, w, h) = (52, 524, 2247, 587, 2196, 64)
BLK6: (l, t, r, b, w, h) = (48, 612, 2247, 675, 2200, 64)
BLK7: (l, t, r, b, w, h) = (52, 696, 2091, 763, 2040, 68)
HOZ: (l, t, r, b, w, h) = (48, 896, 2247, 3167, 2200, 2272)
VRT: (l, t, r, b, w, h) = (48, 896, 1487, 3159, 1440, 2264)
HOZ: (l, t, r, b, w, h) = (48, 896, 1487, 1819, 1440, 924)
VRT: (l, t, r, b, w, h) = (48, 896, 727, 1815, 680, 920)
HOZ: (l, t, r, b, w, h) = (56, 896, 551, 1059, 496, 164)
BLK8: (l, t, r, b, w, h) = (56, 908, 131, 1035, 76, 128)
BLK9: (l, t, r, b, w, h) = (144, 896, 551, 1059, 408, 164)
BLK10: (l, t, r, b, w, h) = (48, 1084, 727, 1815, 680, 732)
BLK11: (l, t, r, b, w, h) = (812, 900, 1487, 1819, 676, 920)
VRT: (l, t, r, b, w, h) = (48, 1888, 1487, 3159, 1440, 1272)
BLK12: (l, t, r, b, w, h) = (48, 1888, 1487, 2919, 1440, 1032)
BLK13: (l, t, r, b, w, h) = (48, 2940, 1427, 3159, 1380, 220)
VRT: (l, t, r, b, w, h) = (1568, 904, 2247, 3167, 680, 2264)
BLK14: (l, t, r, b, w, h) = (1572, 904, 2247, 2499, 676, 1596)
BLK15: (l, t, r, b, w, h) = (1568, 2524, 2247, 3167, 680, 644)
ここで、“ｌ”、“ｔ”、“ｒ”、“ｂ”は、左、上、右、下のブロック座標を表わし、また、“ｗ”、“ｈ”は対応するブロックの幅と高さとを表わす。
【００５７】
また、このステップにおいて、ブロックの順序はレイアウトデータを上から下に読み込んだときにおけるブロックの順序に従って決定される。従って、この例におけるブロックの順序は、BLK1,BLK2, BLK3, BLK4, BLK5, BLK6, BLK7, BLK8, BLK9,BLK10, BLK11, BLK12, BLK13, BLK14, BLK15である。
【００５８】
［ブロックタイプ決定］
図５に示されるステップＳ５０６について、図１１を参照してさらに詳細に説明する。一般に図１１Ａによれば、各ブロックについてタイプが、一連のテストを連続的に実行し、テストをまず通過したときにそのブロックタイプを指定するか（その指定はどのテストを通過したかに依存する）、或は、いづれのテストも通過しなかった場合にデフォルトのブロックタイプを指定することによって、決定される。
【００５９】
即ち、ステップＳ１１０１において、現在のブロックが遭遇した最初のブロックであるかどうかを決定する。また、現在のブロックが水平ブロックにおいてツリー構造のどこかに含まれているかどうかも決定し、もし、そうであれば、それが最上位レベルの水平グループの下で最初のブロックであるかどうかを決定する。前記の質問のいづれかに肯定的な答えがなされたなら、ステップＳ１１０２においてそのブロックは“シングルカラム（single column）”に指定される。もし、そうでなければ処理はステップＳ１１０４に進む。
【００６０】
ステップＳ１１０４では、４パートテストがなされる。まず、以前のブロックが非テキスト画像であるかどうかを判断する。第２に、以前のブロックの左端が現在のブロックの左端の左にあるかどうかを判断する。これらのテストについて説明するために、“現在(current)”のブロックとは目下タイプが決められてようとしているブロックのことであり、“以前(previous)”のブロックとはステップＳ５０５において識別された順序リストにおける現在(current)のブロックのすぐ前のブロックのことである。
【００６１】
ステップＳ１１０４のテストの第３のパートは、現在のブロックの右端が次のブロックの左端に近接しているかどうかを判断する。好適な実施形態では、このパートに対する返答は、２つのブロック間の距離が全画像（即ち、全ブロックを含む）の幅の０．０１倍未満であるときのみ、イエス“ｙｅｓ”（肯定的な答え）となる。第４番目に、現在のブロックと次のブロックの幅の合計が固定の閾値未満であるかどうかを判断する。この好適な実施形態では、その閾値は全画像の幅の０．６倍に等しい値である。上述のこれらのテストの各々について肯定的な答えが与えられたなら、ステップＳ１１０５において、そのブロックは“コンバインカラム（combined column）”に指定される。もし、そうでなければ処理はステップＳ１１０６に進む。
【００６２】
ステップＳ１１０６では、３パートテストが実行される。第１のパートでは、以前のブロックの左端が現在のブロックの左端の左にあるかどうかが判断される。第２のパートでは、以前のブロックが水平方向に現在のブロックから分離されているかどうか、即ち、以前のブロックの右端と現在のブロックの左端との間の水平方向の距離がゼロではないかどうかを判断する。第３のパートでは、現在のブロックが少なくとも水平グループの第２の子であるかどうかを判断する。この最後のパートでは、現在のブロックが水平グループの一部であるかどうか、そして、現在のブロックが水平方向にグループ化された要素に隠れて、階層チャートにおいて少なくとも第２番目にリストされているかどうか、例えば、（或は、水平グループの少なくとも第２の子であるグループにおいて第１のブロックであるかどうか）を判断する。上述のテストに関し各々について肯定的な答えが与えられたなら、ステップＳ１１０７において、そのブロックは“マルチプルカラム(multiple column)”に指定される。そうでなければ、処理はステップＳ１１０９に進む。
【００６３】
ステップＳ１１０９において、３パートテストが行われる。第１に、以前のブロックの上端が垂直方向に現在のブロックの上端より上にあるかどうか、即ち、以前のブロックの上端のｙ座標の値が、現在のブロックの上端のｙ座標の値より大きいかどうかを判断する。第２に、現在のブロックと次のブロックとは垂直方向に分離しているかどうか、即ち、以前のブロックの下端と現在のブロックの上端との間の垂直方向の距離がゼロではないかどうかを判断する。第３に、現在のブロックは水平グループにおけるツリー構造のどこかに含まれているかどうか、或は、現在のブロックが以前のブロックと垂直方向にグループ化されているかどうかを判断する。上述のテストの全てのパートについて肯定的な答えが与えられたなら、ステップＳ１１１０においてそのブロックは“ジョイントカラム(joint column)”に指定される。そうでなければ、ステップＳ１１１１において、そのブロックは“シングルカラム（single column）”に指定される。
【００６４】
次に、図１１Ａに示された処理ステップをこれまでに説明した例に適用して説明する。具体的には、ＢＬＫ１が最初のブロックになる。それゆえに、ステップＳ１１０１及びＳ１１０２において、そのブロックは“シングルカラム（single column）”に指定される。
【００６５】
ＢＬＫ２は最初のブロックでもなければ、その最上位レベルの水平グループの下での第１のブロックでもない。それで、ステップＳ１１０１で特定されるテストでは肯定的な答え（ｙｅｓ）とはならず、ステップＳ１１０４において特定されるテストが行われる。この場合、ＢＬＫ１が非テキスト画像ではないため、その第１のパートのテストの答えは否定的なものとなり、次に、ステップＳ１１０６で説明したテストが適用される。ここで、以前のブロックの左端が現在のブロックの左端の左にはないため、そのテストの第１のパートでの答えが否定的なもの（ＮＯ）となる。従って、ステップＳ１１０９で説明したテストが次に適用される。ここで、ＢＬＫ１の上端はＢＬＫ２の上端より上にあり、垂直方向の分離がＢＬＫ１の下端とＢＬＫ２の上端との間には存在し、ＢＬＫ２は垂直方向にＢＬＫ１とグループ化される。従って、ステップＳ１１０９でのテストは肯定的なものとなり、ＢＬＫ２は“ジョイントカラム(joint column)”に指定される。
【００６６】
ＢＬＫ３についての分析はＢＬＫ２についてのそれと同一であり、従って、ＢＬＫ３もまた“ジョイントカラム(joint column)”に指定される。
【００６７】
ＢＬＫ４は最初のブロックでもなければ、その最上位レベルの水平グループの下での第１のブロックでもなく、また、ＢＬＫ３は非テキスト画像でもない。それで、ステップＳ１１０１とステップＳ１１０４におけるテストでは肯定的な答えが得られず、ステップＳ１１０６におけるテストが適用される。ここで、ＢＬＫ３の左端がＢＬＫ４の左端の左にあるので、ＢＬＫ３の右端とＢＬＫ４の左端との間に水平方向の分離が存在する。そして、前述したレイアウトデータを参照すると、ＢＬＫ４は水平グループの第２の子であることが分かる。具体的には、ＢＬＫ４は、ブロックＢＬＫ１、２、３によって構成される垂直グループと水平方向にグループ化される。さらにその上、ＢＬＫ４はレイアウトデータにおいてその垂直グループの下になるように示されている。従って、ステップＳ１１０６でのテストは肯定的なものとなり、ＢＬＫ４は“マルチプルカラム(multiple column)”に指定される。
【００６８】
ＢＬＫ５は最初のブロックでもなければ、その最上位レベルの水平グループの下での第１のブロックでもなく、また、ＢＬＫ４は非テキスト画像でもない。それで、処理はステップＳ１１０６に進む。ＢＬＫ４の左端がＢＬＫ５の左端の左にはないので、このテストでは肯定的な答えは得られない。ステップＳ１１０９におけるテストに関して、ＢＬＫ４の上端はＢＬＫ５の上端より上にあり、これら２つのブロック間には垂直方向の分離が存在する。しかしながら、ＢＬＫ５は水平グループの下にはなく、ＢＬＫ４と垂直方向にグループ化されてもいない。従って、このテストもまた肯定的な答えが得られない。従って、ＢＬＫ５は“シングルカラム(single column)”に指定される。
【００６９】
ブロックＢＬＫ６とＢＬＫ７との分析はＢＬＫ２と同じようになされ、従って、そのようなブロック各々は“ジョイントカラム(joint column)”に指定される。
【００７０】
ＢＬＫ８は最初のブロックではないが、その最上位レベルの水平グループの下での第１のブロックである。従って、ＢＬＫ８は“シングルカラム(single column)”に指定される。
【００７１】
ＢＬＫ９は最初のブロックでもなければ、その最上位レベルの水平グループの下での第１のブロックでもない。しかしながら、ステップＳ１１０４において、以前のブロックは非テキスト画像であり、その以前のブロックの左端は現在のブロックの左端の左にあり、これら２つのブロックは水平方向に近接しており、これら２つのブロックの幅の合計は全画像の幅の０．６０倍未満である。従って、ＢＬＫ９は“コンバインカラム（combined column）”に指定される。
【００７２】
同様に、ＢＬＫ１０、ＢＬＫ１２、ＢＬＫ１３、ＢＬＫ１５は、ステップＳ１１０９におけるテストで肯定的な答えが得られるので、“ジョイントコラム(joint column)”に指定される。ＢＬＫ１１とＢＬＫ１４とは、ステップＳ１１０６におけるテストで肯定的な答えが得られるので、“マルチプルカラム(multiple column)”に指定される。
【００７３】
従って、ブロック各々は、以下に説明されているようにタイプの指定がなされる。
【００７４】
BLK1: (SINGLE_COL)
BLK2: (JOINT_COL)
BLK3: (JOINT_COL)
BLK4: (MULTIPLE_COL)
BLK5: (SINGLE_COL)
BLK6: (JOINT_COL)
BLK7: (JOINT_COL)
BLK8: (SINGLE_COL)
BLK9: (COMBINED_COL)
BLK10: (JOINT_COL)
BLK11: (MULTIPLE_COL)
BLK12: (JOINT_COL)
BLK13: (JOINT_COL)
BLK14: (MULTIPLE_COL)
BLK15: (JOINT_COL)
これらの分類は、図１２に図示されている。
【００７５】
［列方向（Column）スパンと行方向（Row）スパンの決定］
ステップＳ５０７について、ここでは詳述する。列方向スパンと行方向スパンをもつブロックは、ステップＳ５０５において生成されるレイアウト分析において結合された欄を指定されている曾孫を含まない入れ子になった水平方向−垂直方向−水平方向（親−子−孫）構造を見出すことによって、その位置が確認される。以下の検討を容易にするために、レイアウト分析における各要素は、ツリー構造の用語を用いて、入れ子になった水平方向−垂直方向−水平方向（親−子−孫）の起源となる階層構造における上位レベルの水平グループに相対的に参照される。
【００７６】
一旦、“コンバインカラム（combined column）”の曾孫をもたない入れ子になった水平方向−垂直方向−水平方向の階層構造が確認されたなら、次のような列方向スパンと行方向スパンの決定に処理は進む。列（column）方向スパン番号が、水平方向の孫の子の番号であるように定められる。列（column）方向スパン番号が割当てられるブロックは、水平方向に兄弟をもつ水平方向ではない最初の孫であるか、或は、その親が水平方向の兄弟をもつ最初の曾孫であるように選択される。行（row）方向スパン番号が、水平方向の孫の子の番号＋１であるように定められる。行（row）方向スパン番号が割当てられるブロックは、垂直方向ではない最初の子であるか、或は、水平方向の兄弟をもたない最初の孫であるように選択される。もし、あるグループがその列（column）方向スパン番号或は行（row）方向スパン番号に割当てられるように選択されたなら、その割り当てはそのグループの最初のブロックに渡される。
【００７７】
上記の処理は例を用いて説明するのが最良である。図１に示された文書についてのレイアウト分析の構造的な部分が下記のように再生される。ここで、ブロックやグループには番号（番号１０１を初めとして）が付され、参照し易くしている。
【００７８】
101  VRT
102    VRT
103      HOZ
104        VRT
105          BLK1
106          BLK2
107          BLK3
108        BLK4
109      VRT
110        BLK5
111        BLK6
112        BLK7
113    HOZ
114      VRT
115        HOZ
116          VRT
117            HOZ
118              BLK8
119              BLK9
120            BLK10
121          BLK11
122        VRT
123          BLK12
124          BLK13
125      VRT
126        BLK14
127        BLK15
【００７９】
水平方向−垂直方向−水平方向（親−子−孫）の階層構造の番号１１５〜１１７は、コンバインカラム（combined column）指定（ＢＬＫ９）を伴う曾孫をもっている。レイアウト分析において、コンバインカラム（combined column）の曾孫をもたないただの水平方向−垂直方向−水平方向の階層構造は番号１１３〜１１５によって構成される。水平方向の孫には番号１１５が付されており、その子は１１６と１２１である。それ故に、その列（column）方向スパン番号は“２”である。水平グループ１１３の孫は、水平グループ１１５と垂直グループ１２２である。ＢＬＫ１２（番号１２３）は第１の曾孫であり、その親（番号１２２）は水平方向の兄弟（番号１１５）をもっているので、ＢＬＫ１２に列（column）方向スパン番号が割り当てられる。
【００８０】
行（row）方向スパンに関して、たった１つの水平方向の孫、即ち、グループ１１５がある。それゆえ、行（row）方向スパン番号は“２”に等しくなる。ＢＬＫ１４は水平方向の兄弟をもたない第１の孫であるため、ＢＬＫ１４に行（row）方向スパン番号が割り当てられる。
【００８１】
その結果、ＢＬＫ１２は列（column）方向スパン番号“２”が割り当てられ、ＢＬＫ１４は、行（row）方向スパン番号“２”が割り当てられる。
【００８２】
［ブロックの順序並び換え］
ステップＳ５０９について、図１１Ｂを参照して説明する。図１１Ｂに示されているように、２つの一般的な状態が発生し得る。つまり、ステップＳ５０５において得られたブロック順序が再調整され、ＨＴＭＬがテーブルデータを処理する方法（即ち、行毎に１つ１つ順番に下方向に）を組み込む。行夫々で、行（row）方向スパンブロックが列（column）方向スパンの右にかつ水平方向に隣接する。
【００８３】
図１１Ｂにおいて、ブロックが次のように、即ち、ブロック１４１〜１４４において、列（column）方向スパンブロック（COLUMN SPAN）１４３の上端の上方に行（row）方向スパンブロック（ROW SPAN）１４４の上端があるように配列され、ステップＳ５０５でそのグループのブロックが１４１、１４２、１４３、１４４の順序になっている場合に、最初の場合が存在する。この場合、ブロック１４３と１４４の順序が入れ替えられ、その結果、最終的な順序は１４１、１４２、１４４、１４３となる。
【００８４】
同様に、ブロックが次のように、即ち、ブロック１４６〜１４９において、ブロック１４７、１４８の上端の上方に行（row）方向スパンブロック（ROW SPAN）１４９の上端があるように配列され、ステップＳ５０５でそのグループのブロックが１４６、１４７、１４８、１４９の順序になっている場合に、第２の場合が存在する。この場合、ブロック１４９の順序が、ブロック１４７の前に置かれるように動かされ、その結果、最終的な順序は１４６、１４９、１４７、１４８となる。
【００８５】
前述したのは単に２つの一般的な場合を例示しただけである。ブロックの番号は変化し、示されるブロックは１個以上のブロックを表現していることもある。この順序入れ替えの核となる要素は、次の通りである。即ち、（１）列（column）方向スパンブロックの右側でかつ水平方向に近接した行（row）方向スパンブロックの存在、（２）その列（column）方向スパンブロックは、その行（row）方向スパンブロックが広がる第１或は第２の行（row）にあるかどうかである。更にその上、前記の説明は行（row）方向スパンが２つの行である２つの場合に関したものであるが、その概念は２つ以上の行方向スパンに容易に拡張できる。
【００８６】
上述のことを、図１に示した文書に関連する例に適用すると、行の切断がＢＬＫ１０とＢＬＫ１２との間で発生し、別の切断がＢＬＫ１２の後でも発生する。従って、これは、上述の第１の場合、即ち、ブロック１４１に等価なＢＬＫ１０、ブロック１４２に等価なＢＬＫ１１、ＢＬＫ１２（列（column）方向スパンブロック）、合体するとブロック１４３に等価なＢＬＫ１３、ＢＬＫ１４（行（row）方向スパンブロック）、合体するとブロック１４４に等価なＢＬＫ１５であるような例、を呈示していることになる。従って、ＢＬＫ１４とＢＬＫ１５は、ＢＬＫ１２とＢＬＫ１３の前に順番がくるように動かされる。従って、最終的な順序は、ＢＬＫ１、ＢＬＫ２、ＢＬＫ３、ＢＬＫ４、ＢＬＫ５、ＢＬＫ６、ＢＬＫ７、ＢＬＫ８、ＢＬＫ９、ＢＬＫ１０、ＢＬＫ１１、ＢＬＫ１４、ＢＬＫ１５、ＢＬＫ１２、ＢＬＫ１３である。
【００８７】
［ＨＴＭＬフォーマッティング］
ここでは、図５に示すステップＳ５１０について、図１３Ａ〜図１３Ｄを参照して詳細に説明する。図１３に従えば、一般にはまずＨＴＭＬヘッダが挿入される。それから、各ブロックに関し、異なるセットの処理ステップが各ブロックタイプに割り当てられ、ステップＳ５０６において決定されたブロックタイプに従って、処理が実行される。最後には、全てのブロックについて処理が終了した後、エンド−オブ−ファイル（End Of File）コードが挿入される。
【００８８】
即ち、ステップＳ１３０１では、次のＨＴＭＬヘッダコードが挿入される。"<HTML><HEAD><TITLE>title</TITLE></HEAD><BODY><BODYGCOLOR="#FFFFFF"><CENTER>"である。ここで、"title"はファイルのタイトルである。
【００８９】
ステップＳ１３０２では、第１のブロックが選択される。
【００９０】
ステップＳ１３０４では、現在のブロックについてのブロックタイプがシングルカラムであるかどうかが判断される。もし、そうであれば（シングルカラムであれば）、シングルカラムの処理が図１３Ｂに示されたステップに従って、ステップＳ１３０５において実行される。それから、処理はステップＳ１３１３に進む。これに対して、もし、そうでなければ（シングルカラムでなければ）、処理はステップＳ１３０６に進む。
【００９１】
ステップＳ１３０６では、ブロックタイプがマルチプルカラムであるかどうかが判断される。もしそうであれば（マルチプルカラムであれば）、図１３Ｃに示すステップに従って、マルチプルカラム処理がステップＳ１３０７において実行され、その後、処理はステップＳ１３１３に進む。これに対して、もし、そうでなければ（マルチプルカラムでなければ）、処理はステップＳ１３０９に進む。
【００９２】
ステップＳ１３０９では、ブロックタイプがジョイントカラムであるかどうかが判断される。もしそうであれば（ジョイントカラムであれば）、図１３Ｄに示すステップに従って、ジョイントカラム処理がステップＳ１３１０において実行され、その後、処理はステップＳ１３１３に進む。これに対して、もし、そうでなければ（ジョイントカラムでなければ）、ブロックタイプはコンバインカラムであるにちがいない。コンバインカラムについて付加的なコードは挿入されないので、処理はただすぐにステップＳ１３１３に進む。
【００９３】
ステップＳ１３１３では、そのブロックがＨＴＭＬファイルに挿入される。通常、（テキストブロックに関して）そのブロックの内容がＨＴＭＬファイルに挿入されるか、（グラフィックス及びビットマップ画像に関して）関係するデータを含むファイルへの参照情報が挿入される。
【００９４】
さて、ステップＳ１３１１では、現在のブロックが最後のブロックであるかどうかを判断する。それが最後のブロックでなければ、次のブロックがステップＳ１３１２において選択され、処理はステップＳ１３０４に進む。これに対して、現在のブロックが最後のブロックであれば、ステップＳ１３１４において次のエンド−オブ−ファイル（End Of File）ＨＴＭＬコード"</TABLE></CENTER></BODY></HTML>"が挿入される。
【００９５】
次に、ステップＳ１３０５におけるシングルカラム処理について、図１３Ｂを参照して詳細に説明する。具体的には、ステップＳ１３１５において、そのファイルが現在テーブルにあるかどうかを判断する。もし、そのファイルがあれば、ステップＳ１３１６において、エンドＨＴＭＬコード ("</TABLE>")が挿入され、処理はステップＳ１３１７に進む。これに対して、そのファイルがなければ、そのコードを挿入することなく処理はステップＳ１３１７に進む。
【００９６】
ステップＳ１３１７では、次のテーブル定義コード"<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=7 WIDTH=w>"がファイルに挿入される。ここで、 BORDER，CELLSPACING，CELLPADDING及びWIDTHは、 <TABLE> タグの属性であり、“ｗ”は全画像の幅を７２倍し、その画像のＤＰＩ（ドット／インチ）の値によって割られたものに等しい。
【００９７】
ステップＳ１３１９では、そのブロックについての行（row）方向スパン（これはステップＳ５０７において決定される）が“１”より大きいかどうかが判断される。もし、大きいなら、次のコード"<TR><TD VALIGN=TOP ROWSPAN=n>"がＨＴＭＬファイルに挿入される。ここで、“ｎ”はステップＳ５０７において決定された行（row）方向スパン数である。これに対して、そのスパンが“１”以下であれば、ステップＳ１３２１において、列（column）方向スパンが“１”より大きいかどうかが判断される。もし、大きいなら、ステップＳ１３２２において、次のＨＴＭＬコード"<TR><TD VALIGN=TOP COLSPAN=m>"がＨＴＭＬファイルに挿入される。ここで、“ｍ”はステップＳ５０７において決定された列（column）方向スパン数である。これに対して、そのスパンが“１”以下であれば、ステップＳ１３２４において、次のコード"<TR><TD VALIGN=TOP>"がＨＴＭＬファイルに挿入される。
【００９８】
次に、ステップＳ１３０７のマルチプルカラム処理について、図１３Ｃを参照して詳細に説明する。具体的には、まず、ステップＳ１３２５において、行（row）方向スパンが“１”より大きいかどうかが判断される。もし、大きいなら、次のＨＴＭＬコード"<TD VALIGN=TOP ROWSPAN=n>"が挿入される。これに対して、“１”以下であれば、ステップＳ１３２７において、現在のブロックについての列（column）方向スパンが“１”より大きいかどうかが判断される。もし、大きいなら、ステップＳ１３２９において、次のＨＴＭＬコード"<TD VALIGN=TOP COLSPAN=m>"がＨＴＭＬファイルに挿入される。これに対して、“１”以下であれば、ステップＳ１３３０において、次のＨＴＭＬコード"<TD  VALIGN=TOP>"が挿入される。
【００９９】
次に、ステップＳ１３１０のジョイントカラム処理について、図１３Ｄを参照して詳細に説明する。具体的には、まず、ステップＳ１３３１において、現在のブロックの行（row）方向スパンが“１”より大きいかどうかが判断される。もし、大きいなら、ステップＳ１３３２において、次のＨＴＭＬコード"<TR><TD VALIGN=TOP ROWSPAN=n>"が挿入される。これに対して、“１”以下であれば、ステップＳ１３３４において、現在のブロックのついての列（column）方向スパンが“１”より大きいかどうかが判断される。もし、大きいなら、ステップＳ１３３５において、次のＨＴＭＬコード"<TR><TD VALIGN=TOP COLSPAN=m>"が挿入される。これに対して、“１”以下であれば、ステップＳ１３３６において、そのブロックのライン数（これはステップＳ５０４において決定される）が“１”であるかどうかが判断される。もし、それが“１”であれば、ステップＳ１３３７において、次のＨＴＭＬコード""が挿入される。これに対して、“１”でなければ、処理はステップＳ１３３９において、次のＨＴＭＬコード"<Ｐ>"が挿入される。
【０１００】
ステップＳ５１０が今や現在の例に適用される。まず、ＨＴＭＬヘッダがステップＳ１３０１に示されているように挿入される。次に、ブロック１〜１５までの各々が連続的に処理され、ＨＴＭＬファイルの本体部を構成する。
【０１０１】
具体的に言うと、ＢＬＫ１は行（row）方向スパンや列（column）方向スパンのないシングルカラムである。従って、ＨＴＭＬコードはステップＳ１３１７とＳ１３２４において指定される。そのコードの挿入直後、ＢＬＫ１（或はそれについての参照情報）がＨＴＭＬファイルに挿入される。ＢＬＫ２は行（row）方向スパンや列（column）方向スパンのないジョイントカラムであり、１行のテキストを含んでいる。従って、コードが挿入され、その後にすぐにＢＬＫ２が続く。ＢＬＫ３はＢＬＫ２と同じ分類をもつので、同じＨＴＭＬコードが先行する。ＢＬＫ４は行（row）方向スパンや列（column）方向スパンのないマルチプルカラムである。従って、ＨＴＭＬコードはステップＳ１３３０によって指定される。
【０１０２】
このように処理を進め、処理がコンバインカラムＢＬＫ９に達する。従って、どんなコードもＢＬＫ９には先行しない。さらに処理が進み、行（row）方向スパンが“２”のマルチプルカラムであるＢＬＫ１４に達する。従って、そのＨＴＭＬコードはステップＳ１３２６によって指定される。同様に、ＢＬＫ１２は列（column）方向スパンが“２”のマルチプルカラムである。従って、そのＨＴＭＬコードはステップＳ１３３５によって指定される。
【０１０３】
全てのプロックについての処理が完了したとき、ステップＳ１３１４において特定されるエンド−オブ−ファイル（ＥＯＦ）のコードが挿入され、ＨＴＭＬファイルが完成する。その結果得られるコードを以下に説明する。
【０１０４】
0003976847.tif 000002
0003976847.tif 000003
【０１０５】
図１４は上記ＨＴＭＬコードに従って生成されたＷｅｂページの体裁を示している。図１４から分かるように、タイトル２０１は正しく左上隅に置かれ、論文の種類２０２は右上隅に近接して置かれる。欄２０４、２０５、２０６はそのまま残り、オリジナル文書のレイアウトに非常に似た体裁となっている。また、フッタ２０９は右下隅にあり、絵２０７は欄２０６の左側で、かつ、欄２０４、２０５の下の左下隅にある。
【０１０６】
従って、生成されたＨＴＭＬファイルは、オリジナル文書に呈示されたレイアウトに非常に似たページを生成するために用いることができる。
【０１０７】
本発明は特定の図示して説明した実施形態を用いて説明した。しかしながら、本発明は上述の実施形態やその変形例によって限定されるものではなく、本明細書に記載の特許請求の範囲によつてのみ限定される本発明の範囲から逸脱することなく様々な変更や様々な態様が可能であることは当業者には明らかである。
【０１０８】
【発明の効果】
以上説明したように本発明によれば、ビットマップ画像に基づいてそのレイアウトの特徴を捉えてＨＴＭＬファイルを自動的に生成し、そのＨＴＭＬファイルによって元々のビットマップ画像のレイアウトのようにＷｅｂページを表示できるという効果がある。
【０１０９】
【図面の簡単な説明】
【図１】オリジナルの印刷文書を示す図である。
【図２】商用システムによって生成されたＨＴＭＬファイルに基づいてＷｅｂブラウザを用いて表示したＨＴＭＬページを示す図である。
【図３】ワークステーションの外観斜視図である。
【図４】図３に示されたワークステーションの構成を示すブロック図である。
【図５】ビットマップ画像に基づくＨＴＭＬファイルを生成する方法を示すフローチャートである。
【図６】図１に示した印刷文書に関して実行されたブロック選択分析の出力を示す図である。
【図７】ブロック分割分析によって出力されたデータを説明する図である。
【図８】ブロック分析によって出力されたデータを説明する図である。
【図９】レイアウト分析とブロック分析に基づくレイアウトデータの生成を説明するフローチャートである。
【図１０Ａ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｂ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｃ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｄ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｅ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｆ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｇ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｈ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｉ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｊ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｋ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｌ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｍ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１０Ｎ】図６に示した各ブロックについてのレイアウト分析の繰り返し処理とその処理に対応したレイアウトデータの生成を説明する図である。
【図１１Ａ】本発明に従うブロックタイプの認識を示すフローチャートである。
【図１１Ｂ】ブロックの並び換えが必要な２つの場合を示す図である。
【図１２】レイアウトデータに基づくブロックタイプ決定の出力を説明するブロック図である。
【図１３Ａ】ビットマップ画像の各ブロックについてのＨＴＭＬ命令の生成を示すフローチャートである。
【図１３Ｂ】ビットマップ画像の各ブロックについてのＨＴＭＬ命令の生成を示すフローチャートである。
【図１３Ｃ】ビットマップ画像の各ブロックについてのＨＴＭＬ命令の生成を示すフローチャートである。
【図１３Ｄ】ビットマップ画像の各ブロックについてのＨＴＭＬ命令の生成を示すフローチャートである。
【図１４】本発明に従って自動的に生成されたＨＴＭＬ文書に基づいて、Ｗｅｂブラウザを用いて表示したＨＴＭＬページを示す図である。
【符号の説明】
３０  ワークステーション
３１  ディスプレイ画面
３２  キーボード
３４  ポインティングデバイス
３５  コンピュータ（固定）ディスク
３７  スキャナ
４１  ＣＰＵ
４２  コンピュータバス
４４  スキャナインタフェース
４５  ディスプレイインタフェース
４６  キーボードインタフェース
４７  マウスインタフェース
４９  メインメモリ
【図１】
0003976847.tif 000004
【図２】
0003976847.tif 000005
【図３】
0003976847.tif 000006
【図４】
0003976847.tif 000007
【図５】
0003976847.tif 000008
【図６】
0003976847.tif 000009
【図７】
0003976847.tif 000010
【図８】
0003976847.tif 000011
【図９】
0003976847.tif 000012
【図１０Ａ】
0003976847.tif 000013
【図１０Ｂ】
0003976847.tif 000014
【図１０Ｃ】
0003976847.tif 000015
【図１０Ｄ】
0003976847.tif 000016
【図１０Ｅ】
0003976847.tif 000017
【図１０Ｆ】
0003976847.tif 000018
【図１０Ｇ】
0003976847.tif 000019
【図１０Ｈ】
0003976847.tif 000020
【図１０Ｉ】
0003976847.tif 000021
【図１０Ｊ】
0003976847.tif 000022
【図１０Ｋ】
0003976847.tif 000023
【図１０Ｌ】
0003976847.tif 000024
【図１０Ｍ】
0003976847.tif 000025
【図１０Ｎ】
0003976847.tif 000026
【図１１Ａ】
0003976847.tif 000027
【図１１Ｂ】
0003976847.tif 000028
【図１２】
0003976847.tif 000029
【図１３Ａ】
0003976847.tif 000030
【図１３Ｂ】
0003976847.tif 000031
【図１３Ｃ】
0003976847.tif 000032
【図１３Ｄ】
0003976847.tif 000033
【図１４】
0003976847.tif 000034