(57)【要約】【課題】処理量を減らして、あらゆる表示装置の表示領域においてそれぞれ適したレイアウト配置が可能なように、文書画像の再構成を行う。【解決手段】変換処理部２２は、文字列行及び図表行の順序付けと文書画像の文書の記述方向とに従って、文書画像に含まれる各文字、図、及び／又は表の順序を記述した参照リストを生成する再配置処理部３６を備える。【選択図】図２
2015146122.tif 000002
【特許請求の範囲】
【請求項１】
文書を画像化した文書画像の再構成を行う変換処理装置において、
前記文書画像から文字、図、及び表をそれぞれ抽出し、前記文書画像における各行を文字から成る文字列行と図又は表から成る図表行とに分類し、かつ、前記文書画像における文書の記述方向を決定する行解析手段と、
前記文書のレイアウトに基づき、前記文字列行及び図表行の順序付けを行うレイアウト解析手段と、
前記文字列行及び図表行の順序付けと前記記述方向とに従って、前記文書画像に含まれる各文字、図、及び／又は表の順序を記述した参照リストを生成する参照リスト生成手段と、を備えたことを特徴とする変換処理装置。
【請求項２】
さらに、前記文字列行及び図表行それぞれについて、行の配置に基づいて連続する行同士を統合した行ブロックを生成することで、前記文字列行及び図表行を当該行ブロックに分類する行ブロック解析手段を備え、
前記レイアウト解析手段は、前記行ブロックの配置に基づいて、前記行ブロックを段組及び当該段組を構成するカラムに分類し、前記段組、カラム、行ブロック、文字列行及び図表行の配置を基に、前記文書全体における前記文字列行及び図表行の順序付けを行うと共に、前記文字列行の繋がりに基づいて前記文字列行及び図表行を段落に分類し、段落毎に前記文字列行及び図表行の順序付けを行い、
前記参照リスト生成手段は、前記段落毎の前記文字列行及び図表行の順序付けと前記記述方向とに従って、前記参照リストを生成する請求項１に記載の変換処理装置。
【請求項３】
前記レイアウト解析手段は、前記段落毎に、前記文字列行と前記図表行とを分けて順序付けを行うことを特徴とする請求項２に記載の変換処理装置。
【請求項４】
前記レイアウト解析手段は、前記文字列行より、注目行とその前後に隣接する文字列行である隣接行とを抽出し、前記注目行及び前記隣接行の位置関係に基づいて、前記注目行と当該注目行の前の隣接行との間で改行されているか否かを判定し、改行されている場合には、前記注目行を段落開始行に設定する段落解析手段を備える、ことを特徴とする請求項２又は３に記載の変換処理装置。
【請求項５】
前記参照リスト生成手段は、前記参照リストとして、前記文書画像をリフロー型表示が可能なファイル形式に変換したものを生成することを特徴とする請求項１から４のいずれか１項に記載の変換処理装置。
【請求項６】
前記行解析手段は、前記文書画像から個々の文字を抽出する際、行頭に配置されることが禁止された記号を、前記記述方向における１つ前の文字と統合した状態、かつ、行末に配置されることが禁止された記号を、前記記述方向における１つ後の文字に統合した状態で抽出することを特徴とする請求項１から５のいずれか１項に記載の変換処理装置。
【請求項７】
前記行解析手段は、前記文書画像が複数ページから構成されていると、当該複数ページの文書画像から分類される文字列行の少なくとも一部を用いて前記記述方向を決定し、当該決定した記述方向を前記複数ページに対して設定することを特徴とする請求項１から６のいずれか１項に記載の変換処理装置。
【請求項８】
前記行ブロック解析手段は、前記文書画像に前記記述方向と直交する方向の文字列行が存在する場合は、当該直交する方向の文字列行の行ブロックを図表行の行ブロックに置き換えることを特徴とする請求項２に記載の変換処理装置。
【請求項９】
請求項１から８の何れか１項に記載の変換処理装置と、
上記生成された参照リストを送信する送信装置と、を備えることを特徴とする情報処理装置。
【請求項１０】
請求項１から８のいずれか１項に記載の変換処理装置を動作させるためのプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像の再構成を行う変換処理装置、それを備えた情報処理装置、コンピュータプログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来、電子写真方式又はインクジェット方式等により画像形成を行う複写機又は複合機等の画像形成装置が広く普及している。また近年の複合機は高機能化が進められており、スキャナにより読み取った文書を文書画像データ（以下、文書画像）として保存し、保存した文書画像を管理する機能等が求められている。スキャナにより読み取った文書は画像データとして保存されるが、この画像データの形式は、フィックス型と呼ばれる固定の幅及び高さを持つファイル形式となっている。代表的なファイル形式として、例えば、ＰＤＦ（Portable Document Format）ファイルやＴＩＦＦ（Tagged Image File Format）ファイル等が挙げられる。これらのファイル形式の文書画像を、携帯電話、スマートフォンやタブレット等表示領域の小さな画像表示装置で表示すると、その表示領域に収まりきらず、垂直方向のスクロール操作と水平方向のスクロール操作の両方が必要となる場合がある。
【０００３】
文書画像を含む上記ファイル形式のデータを、上記のような表示領域の小さな画像表示装置で閲覧する場合、１行の文を読むために、先頭の文字から行の方向（行方向。文書画像の記述方向であり、横書きの文書であれば水平方向）にスクロールした後、末尾まで読んだら、次の行を読むために行方向と直交する方向（横書きの文書であれば垂直方向）にスクロールし、また行の先頭に戻るために再度行方向にスクロールする必要がある。このように、非常に操作が煩雑になる。例えば、表示領域の画素数に合わせて表示倍率を調整することにより、文書画像の幅を表示領域の幅に合わせて縮小表示することで、行方向のスクロール操作の省略が可能となるが、縮小処理を実施することで文書画像中の文字の可読性が低下してしまう問題がある。そこで、読み取られた文書画像を、フィックス型のファイルではなく、表示領域に合わせて折り返し表示することが可能なリフロー型のファイルとして提供することが望ましい。
【０００４】
リフロー型のファイルは固定の幅及び高さをもたず、画像表示装置の表示領域の範囲で行を自動的に折り返すことで、１行の文を表示領域からはみ出させることなく表示できる。よって、行方向にスクロールすることなく、行方向と直交する方向のスクロール操作のみで文書を読むことが可能となる。ＨＴＭＬ（Hyper Text Markup Language）や、スマートフォンやタブレット向けに展開されている電子書籍機能が提供するファイル形式は、リフロー型の表示が可能なファイル形式の例である。前記読み取られた文書画像をリフロー型のファイル形式に変換することにより、上記の可読性の問題は解決される。しかしながら、文書画像自体には文字や行のような文書レイアウトの情報は含まれていないため、文書画像中から個々の文字や、文字からなる行、図表、段組や段落等のそれぞれの要素を抽出し、適切に文書の読み順を解析しなければならない。
【０００５】
そこで、こうした文書画像から文書構造を解析して、各種表示装置に適したレイアウトに配置し直して出力する画像処理技術が相次いで開発されている。その中で、例えば、特許文献１には、文書画像からその画像内に含まれる文字を抽出して文字の並び順に従って配列し直すことにより、表示領域の横幅と同じ横幅を持つ文書画像を生成する画像表示装置が提案されている。この画像表示装置は、スキャナ等の画像読取装置から入力された文書画像から文書構造を認識し、表示領域からはみ出ることのないよう文字を配置し、疑似的にリフロー表示を可能とする。この画像表示装置では、表示領域と同じ横幅の文書画像を表示するため、一方向のスクロール操作のみで文書画像を閲覧することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１０８７５０号公報（２０１２年６月７日公開）
【特許文献２】特許５１５３８５７号（２０１２年１２月１４日登録）
【特許文献３】特開２００９−１９４７４０号（２００９年８月２７日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の画像表示装置は、入力された文書画像を該画像表示装置が備える表示領域と同じ横幅をもつ文書画像として生成することで、フィックス型の表示でありながら水平方向のスクロール操作を不要にする。このことで疑似的にリフロー型の表示を可能とするものであり、実際にリフロー型の文書ファイルと同様の逐次的に行の折り返し等の再配置を行うものではない。そのため、一度上記画像表示装置により生成された文書画像は、あくまでフィックス型の表示となる。そのため、表示領域が前記文書画像よりも大きな横幅に変更された場合、この大きな横幅の表示領域に合わせて文書画像を生成し直さない限りは、等倍表示では表示領域の左端もしくは右端に余白ができる。他方、表示領域が前記文書画像よりも小さな横幅に変更された場合、この小さな横幅の表示領域に収まり切らずにはみ出てしまい、左右方向のスクロール操作が必要となる。
【０００８】
また、閲覧に適した表示倍率はユーザ個人によって異なり、あるユーザにとって適切とされた表示倍率で生成された画像が別のユーザにとっては読みづらい場合がある。この場合、表示倍率を変更しようと、特許文献１に記載の画像表示装置にて生成された文書画像を拡大もしくは縮小すれば、文書画像の水平方向の画素数にも変更が生じ、画像表示装置が備える表示領域の横幅と一致しなくなる。従って、表示倍率を変更しても疑似的にリフロー表示を可能とするためには、変更の度に再配置による画像の生成処理が必要となり、処理に時間がかかる。よって、多くのユーザが共有する可能性のある画像表示装置では適切とは言い難い。
【０００９】
そこで、本発明は、上記問題に鑑みなされたものであり、処理量を減らして、あらゆる表示装置の表示領域（表示画面）においてそれぞれ適したレイアウト配置が可能なように、文書画像の再構成を行える変換処理装置等を提供することである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の一態様に係る変換処理装置は、文書を画像化した文書画像の再構成を行う変換処理装置において、前記文書画像から文字、図、及び表をそれぞれ抽出し、前記文書画像における各行を文字から成る文字列行と図又は表から成る図表行とに分類し、かつ、前記文書画像における文書の記述方向を決定する行解析手段と、前記文書のレイアウトに基づき、前記文字列行及び図表行の順序付けを行うレイアウト解析手段と、前記文字列行及び図表行の順序付けと前記記述方向とに従って、前記文書画像に含まれる各文字、図、及び／又は表の順序を記述した参照リストを生成する参照リスト生成手段と、を備える。
【発明の効果】
【００１１】
上記構成によると、上記参照リストを生成することで、処理量を減らして、あらゆる表示装置の表示領域（表示画面）にそれぞれ適したレイアウト配置が可能なように、文書画像の再構成を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る画像形成装置の機能的構成を示すブロック図である。
【図２】上記画像形成装置の有する画像処理装置が備える変換処理部の構成を示すブロック図である。
【図３】行頭禁則の文字の例と行末禁則の文字の例を示す図である。
【図４】横書きの文字列の例を示す図である。
【図５】文書画像の例を示す図である。
【図６】行に分類した上記文書画像の例を示す図である。
【図７】（ａ）は、２段組の横書きの文書の例、（ｂ）は、２段組の縦書きの文書の例を示す図である。
【図８】（ａ）〜（ｆ）は、２つの行の行間距離を説明する図である。
【図９】（ａ）は、行に分類した文書画像の例、（ｂ）は、（ａ）をさらに行ブロックに分類した文書画像の例を示す図である。
【図１０】行と行ブロックとに分類した文書画像の例を示す図である。
【図１１】上記変換処理部の有するレイアウト解析処理部の構成を示すブロック図である。
【図１２】（ａ）は、行ブロックに分類した文書画像の例、（ｂ）は、（ａ）をさらに段組に分類した文書画像の例、（ｃ）は、（ｂ）をさらにカラムに分類した文書画像の例を示す図である。
【図１３】２段組構成の文書画像の例を示す図である。
【図１４】行、行ブロック、段（カラム）、及び段組に分類した文書画像の例を示す図である。
【図１５】行順序リストの例を示す図である。
【図１６】行ブロック、カラム、及び段組についての情報を示す図である。
【図１７】文書構造ツリーの構造の例を示す図である。
【図１８】上記レイアウト解析処理部の有する段落解析処理部における改行判定処理の概要を示すイメージ図である。
【図１９】上記段落解析処理部の処理手順を示すフローチャートである。
【図２０】行ＩＤバッファの更新処理の概要を示すイメージ図である。
【図２１】初期化された文書構造ツリーの例を示す図である。
【図２２】更新された行順序リストの例を示す図である。
【図２３】行順序リストに従って生成された文書構造ツリーの構造の例を示す図である。
【図２４】段落に分類した文書画像の例を示す図である。
【図２５】上記変換処理部の有する再配置処理部の処理手順を示すフローチャートである。
【図２６】ＨＴＭＬ言語で記述されたファイルの例を示す図である。
【図２７】ファイル記述処理の処理手順を示すフローチャートである。
【図２８】ＣＳＳ形式で記述したスタイルシートの外部ファイルの例を示す図である。
【図２９】（ａ）は、ＣＳＳ形式で記述したスタイルシートの外部ファイルの例を示す図であり、ＨＴＭＬ言語で記述された参照リストの例を示す図である。
【図３０】本発明の別の実施形態に係る画像読取装置の機能的構成を示すブロック図である。
【図３１】上記画像処理装置の変形例のブロック図である。
【図３２】（ａ）及び（ｂ）は、表示装置での表示の例を示す図である。
【図３３】表示装置での表示の例を示す図である。
【図３４】表示装置での表示の例を示す図である。
【図３５】表示装置での表示の例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態について、図を参照に詳細に説明する。
【００１４】
〔実施の形態１：画像形成装置〕
以下の説明では、本発明に係る変換処理装置が変換処理部として画像処理装置の一部を成し、また、その画像処理装置が画像形成装置の一部を成す形態を例示する。
【００１５】
［１．画像形成装置］
図１は、実施の形態１に係る画像形成装置（情報処理装置）１００の機能的構成を示すブロック図である。画像形成装置１００は、コピー機能及びスキャナ機能等を有するデジタル複合機である。画像形成装置１００は、画像処理装置１、画像入力装置２、画像出力装置３、及び送信装置４を備えている。
【００１６】
画像入力装置２、画像処理装置１、画像出力装置３及び送信装置４には、操作パネル６が接続されている。操作パネル６は、ユーザが画像形成装置１００の動作モードを設定するための設定ボタン及びテンキー等の操作部（図示せず）と、液晶ディスプレイ等で構成される表示部（図示せず）とを備える。
【００１７】
画像形成装置１００で実行される各種処理は、図示しない制御部（ＣＰＵ（Central Processing Unit）あるいはＤＳＰ（Digital Signal Processor）等のプロセッサを含むコンピュータ）が制御する。画像形成装置１００の制御部は、図示しないネットワークカード及びＬＡＮケーブルを介して、ネットワークに接続されたコンピュータ及び他のデジタル複合機等とデータ通信を行う。
【００１８】
以下、画像形成装置１００の各部について詳述する。
【００１９】
画像入力装置２は、原稿から画像を光学的に読み取る。画像入力装置２は、例えばＣＣＤ（Charge Coupled Device）を有するカラースキャナよりなり、原稿からの反射光像を、ＣＣＤを用いてＲＧＢ（Ｒ：赤，Ｇ：緑，Ｂ：青）のアナログ信号として読み取り、画像処理装置１へ出力する。画像入力装置２は、スキャナでなくてもよく、例えばデジタルカメラ等であってもよい。
【００２０】
画像処理装置１は、画像入力装置２が読み取った画像データに処理を施し、処理を施した画像データを保存、あるいは、送信するために圧縮ファイルを生成する。
【００２１】
画像処理装置１は、画像入力装置２から入力されたＲＧＢのアナログ信号に対して、Ａ／Ｄ変換部１１、シェーディング補正部１２、原稿種別判別部１３、入力階調補正部１４、及び領域分離処理部１５にて各後述する画像処理を実行することによって、ＲＧＢのデジタル信号（以下、ＲＧＢ信号という）からなる画像データを生成する。
【００２２】
また、画像処理装置１は、領域分離処理部１５が出力したＲＧＢ信号に対して色補正部１６、黒色生成下色除去部１７、空間フィルタ処理部１８、出力階調補正部１９、及び階調再現処理部２０にて各後述する画像処理を実行することによって、ＣＭＹＫ（Ｃ：シアン，Ｍ：マゼンタ，Ｙ：イエロー，Ｋ：ブラック）のデジタル信号からなる画像データを生成して、ストリームとして画像出力装置３へ出力する。なお、画像出力装置３へ出力される前に、画像データが記憶部５に一旦記憶されてもよい。記憶部５は、不揮発性の記憶装置（例えばハードディスク）である。
【００２３】
画像出力装置３は、画像処理装置１が生成した画像データに基づいて画像を出力する。画像出力装置３は、画像処理装置１から入力された画像データに基づいて、熱転写、電子写真、又はインクジェット等の方式により、記録シート（例えば記録用紙等）上にカラー画像を形成（印刷）して出力する。
【００２４】
上記では、画像出力装置３はカラー画像を出力する構成とするが、記録シート上にモノクローム画像を形成して出力する構成であってもよい。この場合、画像処理装置１にて、カラー画像の画像データがモノクローム画像の画像データに変換されてから画像出力装置３へ出力される。
【００２５】
更にまた、画像処理装置１は、領域分離処理部が出力したＲＧＢ信号に対して圧縮処理部にて画像圧縮処理を実行することによって、圧縮されたカラー画像の画像データを有する圧縮ファイルを生成し、送信装置へ出力する。なお、送信装置へ出力される前に、圧縮ファイルが記憶部５に一旦記憶されてもよい。
【００２６】
画像処理装置１は、操作パネル６においてフォーマット変換モードが選択されている場合、領域分離処理部１５が出力したＲＧＢ信号に対して変換処理部２２にてフォーマット変換処理を実行することによって、後述のように、カラー画像が有する文書レイアウトを解析して文書構造ツリーを生成し、この文書構造ツリーを操作パネル６においてユーザが選択したフォーマットに変換して、送信装置４へ出力する。変換処理部２２は、本発明に係る変換処理装置として機能する。また、送信装置４へ出力される前に、変換されたファイルが記憶部５に一旦記憶されてもよい。また、画像入力装置２から入力される文書画像が複数ページにわたる場合、操作パネル６において指定したページのみ、後述のように、文書レイアウトを解析して文書の再構成を行うようにすることができる。例えば、表紙ページは再構成の対象とせず、そのままページ全体を画像として出力するといった方法も可能とする。
【００２７】
送信装置４は、画像処理装置が生成した圧縮ファイルを外部へ送信する。送信装置４は、図示しない公衆回線網、ＬＡＮ（Local Area Network）又はインターネット等の通信ネットワークに接続可能であり、ファクシミリ又は電子メール等の通信方法により、通信ネットワークを介して外部へ圧縮ファイルを送信する。例えば、操作パネル６においてscan to e-mailモードが選択されている場合、ネットワークカード、モデム等を用いてなる送信装置４は、圧縮ファイルをe-mailに添付し、設定された送信先へ送信する。
【００２８】
なお、ファクシミリ送信を行う場合は、画像形成装置１００の制御部が、モデムを用いてなる送信装置４にて、相手先との通信手続きを行い、送信可能な状態が確保されたときに、圧縮ファイルに対して圧縮形式の変更等の必要な処理を施してから、相手先に通信回線を介して順次送信する。
【００２９】
また、ファクシミリを受信する場合、画像形成装置１００の制御部は、送信装置４にて通信手続きを行いながら、相手先から送信されてくる圧縮ファイルを受信して、画像処理装置１に入力する。画像処理装置１では、受信した圧縮ファイルに対し、不図示の圧縮／伸張処理部で伸張処理が施される。圧縮ファイルを伸張することによって得られた画像データには、必要に応じて、不図示の処理部で回転処理及び／又は解像度変換処理等が施され、また、出力階調補正部１９で出力階調補正が施され、階調再現処理部２０で階調再現処理が施される。各種画像処理が施された画像データは、画像出力装置３へ出力され、画像出力装置３にて、記録シート上に画像が形成される。
【００３０】
［２．画像処理装置］
以下では、画像処理装置１の構成について、画像処理装置１における画像処理及びフォーマット変換処理を詳述しながら説明する。
【００３１】
Ａ／Ｄ変換部１１は、画像入力装置２から画像処理装置１へ入力されたＲＧＢのアナログ信号を受け付け、ＲＧＢのアナログ信号をＲＧＢのデジタル信号（即ちＲＧＢ信号）へ変換し、変換したＲＧＢ信号をシェーディング補正部１２へ出力する。
【００３２】
シェーディング補正部１２は、Ａ／Ｄ変換部１１から入力されたＲＧＢ信号に対して、画像入力装置２の照明系、結像系及び撮像系で生じる各種の歪みを取り除く処理を行う。次いで、シェーディング補正部１２は、歪みを取り除いたＲＧＢ信号を原稿種別判別部１３へ出力する。
【００３３】
原稿種別判別部１３では、シェーディング補正部１２から入力されたＲＧＢの反射率信号をＲＧＢ各色の濃度を示す濃度信号に変換し、文字、写真、又は印画紙等の原稿のモードを判別する原稿種別判別処理が実行される。原稿種別判別処理を、ユーザが操作パネル６を用いてマニュアル設定する場合、原稿種別判別部１３はシェーディング補正部１２から入力されたＲＧＢ信号をそのまま後段の入力階調補正部１４に出力する。原稿種別判別処理の処理結果は、後段の画像処理に反映される。
【００３４】
入力階調補正部１４は、ＲＧＢ信号に対して、カラーバランスの調整、下地濃度の除去、及びコントラストの調整等の画質調整処理を行う。入力階調補正部１４は、次に、処理を行ったＲＧＢ信号を領域分離処理部１５へ出力する。
【００３５】
領域分離処理部１５は、入力階調補正部１４から入力されたＲＧＢ信号が表す画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離する。また、領域分離処理部１５は、分離結果に基づき、各画素がいずれの領域に属しているかを示す領域識別信号を、黒色生成下色除去部１７、空間フィルタ処理部１８、階調再現処理部２０、及び圧縮処理部２１へ出力する。更に、領域分離処理部１５は、入力階調補正部１４から入力されたＲＧＢ信号を、そのまま後段の色補正部１６及び圧縮処理部２１へ出力する。
【００３６】
色補正部１６は、領域分離処理部１５から入力されたＲＧＢ信号をＣＭＹのデジタル信号（以下、ＣＭＹ信号という）へ変換し、色再現の忠実化実現のために、不要吸収成分を含むＣＭＹ色材の分光特性に基づいた色濁りをＣＭＹ信号から取り除く処理を行う。次いで、色補正部１６は、色補正後のＣＭＹ信号を黒色生成下色除去部１７へ出力する。
【００３７】
黒色生成下色除去部１７は、色補正部１６から入力されたＣＭＹ信号に基づき、ＣＭＹ信号から黒色（Ｋ）信号を生成する黒色生成処理と、ＣＭＹ信号から黒色生成で得たＫ信号を差し引いて新たなＣＭＹ信号を生成する処理とを行う。この結果、ＣＭＹ３色のデジタル信号は、ＣＭＹＫ４色のデジタル信号（以下、ＣＭＹＫ信号という）に変換される。次いで、黒色生成下色除去部１７は、ＣＭＹ信号を変換したＣＭＹＫ信号を空間フィルタ処理部１８へ出力する。
【００３８】
黒色生成処理の一例としては、一般に、スケルトン・ブラックによる黒色生成を行う方法が用いられる。この方法では、スケルトン・カーブの入出力特性をｙ＝ｆ（ｘ）、入力されるデータをＣ，Ｍ，Ｙ、出力されるデータをＣ'，Ｍ'，Ｙ'，Ｋ'、ＵＣＲ（Under Color Removal）率をα（０＜α＜１）とすると、黒色生成下色除去処理は、下記の式（１）〜式（４）で表わされる。
Ｋ'＝ｆ（ｍｉｎ（Ｃ，Ｍ，Ｙ））   ・・・（１）
Ｃ'＝Ｃ−αＫ'                    ・・・（２）
Ｍ'＝Ｍ−αＫ'                    ・・・（３）
Ｙ'＝Ｙ−αＫ'                    ・・・（４）
ここで、ＵＣＲ率α（０＜α＜１）とは、ＣＭＹが重なっている部分をＫに置き換えてＣＭＹをどの程度削減するかを示すものである。式（１）は、ＣＭＹの各信号強度の内の最も小さい信号強度に応じてＫ信号が生成されることを示している。
【００３９】
空間フィルタ処理部１８は、黒色生成下色除去部１７から入力されたＣＭＹＫ信号の画像データに対して、領域分離処理部１５から入力された領域識別信号に基づいてデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正することによって、画像のぼやけ又は粒状性劣化を改善する。例えば、領域分離処理部１５にて文字に分離された領域に対しては、空間フィルタ処理部１８は、文字の再現性を高めるために、高周波成分の強調量が大きいフィルタを用いて空間フィルタ処理を行う。また、領域分離処理部１５にて網点に分離された領域に対しては、空間フィルタ処理部１８は、入力網点成分を除去するためのローパス・フィルタ処理を行う。
【００４０】
次いで、空間フィルタ処理部１８は、処理後のＣＭＹＫ信号を出力階調補正部１９へ出力する。
【００４１】
出力階調補正部１９は、空間フィルタ処理部１８から入力されたＣＭＹＫ信号に対して、画像出力装置３の特性ある網点面積率に基づく出力階調補正処理を行い、出力階調補正処理後のＣＭＹＫ信号を階調再現処理部２０へ出力する。
【００４２】
階調再現処理部２０は、出力階調補正部１９から入力されたＣＭＹＫ信号に対して、領域分離処理部１５から入力された領域識別信号に基づいて、領域に応じた中間調処理を行う。例えば、領域分離処理部１５にて文字に分離された領域に対しては、階調再現処理部２０は、高域周波成分の再現に適した高解像度のスクリーンによる二値化又は多値化の処理を行う。また、領域分離処理部１５にて網点に分離された領域に対しては、階調再現処理部２０は、階調再現性を重視したスクリーンでの二値化又は多値化の処理を行う。次いで、階調再現処理部２０は、処理後の画像データを画像出力装置３へ出力する。
【００４３】
圧縮処理部２１は、領域分離処理部１５から入力された領域識別信号とＲＧＢ信号からなる画像データとに基づき、圧縮ファイルを生成する。圧縮処理部２１に入力される画像データは、マトリクス状に配置されている複数の画素で構成されている。この画像データは、前景レイヤと背景レイヤとに分離され、前景レイヤが更に２値画像に変換され、各２値画像が例えばＭＭＲ（Modified Modified READ）で可逆圧縮され、背景レイヤが例えばＪＰＥＧで非可逆圧縮される。最後に、可逆圧縮された２値画像及び非可逆圧縮された背景レイヤと、これらを伸張してカラー画像の画像データとなすための伸張情報とが一つのファイルにまとめられる。このファイルが圧縮ファイルである。また、この伸張情報としては、圧縮形式を示す情報、及びインデックス・カラー・テーブル（以下、ＩＣテーブルという）等が用いられる。画素毎に生成された領域識別信号の圧縮は、例えば、可逆圧縮方法であるＭＭＲ方式、ＭＲ（Modified READ）方式に基づいて行われる。
【００４４】
圧縮された画像データ（圧縮画像）は、一旦記憶部５に格納され、例えば、操作パネル６において、scan to e-mailモードが選択されている場合、送信装置４から、メールに添付されて、設定された送信先に送信される。
【００４５】
変換処理部２２は、入力画像に対してフォーマット変換処理を実行する。変換処理部２２の詳細について、以下で説明する。
【００４６】
［３．変換処理部］
図２は、変換処理部（変換処理装置）２２の構成を示すブロック図である。変換処理部２２は、行解析処理部（行解析手段）３１と、行ブロック解析処理部（行ブロック解析手段）３４と、レイアウト解析処理部（レイアウト解析手段）３５と、再配置処理部（参照リスト生成手段）３６と、を備える。以下では、文書を構成する個々の文字、図、表等を要素と呼ぶ。
【００４７】
行解析処理部３１は、入力された文書画像から各要素を抽出して、文字から構成される文字列の行と、図又は表から成る図表行に分類する。更に、文書の横書き、縦書きといった記述方向を示す文書第１方向を解析する。
【００４８】
行ブロック解析処理部３４は、行解析処理部３１で抽出された行を、少なくとも１つ以上有する行ブロックに統合する処理を行う。
【００４９】
レイアウト解析処理部３５は、行ブロック解析処理部３４で分類された行ブロック同士の位置関係から、段組構成を解析して文書全体の行の順序付けを行い、行の前後関係から改行位置を検出することで、文書を１つ以上の段落に分類し、段落毎に行の情報を格納した文書構造ツリーを生成する。詳細は後述する。文書構造ツリーの各段落は、文字列の行の順序の情報と、図表の順序の情報をそれぞれ分けて格納することで、図表の配置を段落内で修正できるようにする。
【００５０】
再配置処理部３６は、レイアウト解析処理部３５で生成された文書構造ツリーに従って、入力文書画像の文字、図、表の各要素を順序通り参照するための命令と、段落の開始及び終了を宣言するための命令を列記した参照リストを生成する。参照リストのフォーマットは特に固定されておらず、例えばＨＴＭＬ等マークアップ言語で記述した文書の形式として生成したものをファイル出力してもよい。
【００５１】
以下、変換処理部２２の各処理部について詳述する。
【００５２】
[４．行解析処理部］
＜４−１．行解析処理部の構成＞
行解析処理部３１は、入力された文書画像データ（入力文書画像）から各要素画像を抽出し、文字（文字画像）から成る行（文字列行）と、図（図画像）又は表（表画像）から成る行（図表行）とに分類する。行解析処理部３１は、文字列抽出処理部３２及び図表抽出処理部３３を備えて構成される。行解析処理部３１は、更に、文書の横書き又は縦書きといった記述方向を示す文書第１方向を解析する。
【００５３】
＜４−２．文字列抽出処理部＞
文字列抽出処理部３２は、入力画像データから個々の文字を検出し切り出し処理を行うと共に、文字が複数並べられて構成される文字列を抽出する処理を行う。個々の文字の検出手段は多数提案されており、例えば、特許文献２では、文書画像中の文字構成要素の領域、及び文字からなる文字列領域を検出する方法が提案されている。
【００５４】
特許文献２に記載の方法では、文書画像から前景画素を検出し、前景画素から特に文字を構成していると思われる画素の集合を囲む最小外接矩形を文字構成要素として抽出する。更に、上下左右の各方向における近隣の各文字構成要素の矩形同士の距離から文字列として連続する文字構成要素の関係にあるかを判定し、その連続する矩形の連続数から、文字列領域を特定する。このとき、左右方向における連続数が上下方向における連続数を上回る場合は横書きの文字列領域として、上下方向における連続数が左右方向における連続数を上回る場合は縦書きの文字列領域として、文字列の持つ方向（文字列の方向、記述方向）を同時に取得する。
【００５５】
本実施の形態では、一例として、特許文献２に記載の方法を利用して文字及び文字列を抽出するものとする。なお、文字及び文字列の抽出方法は、特許文献２に記載の方法に限らずほかの方法を用いることができる。例えば、光学式文字読取装置（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ；以下ＯＣＲ）で個々の文字や、文字列を検出してもよい。
【００５６】
＜４−３．図表抽出処理部＞
図表抽出処理部３３は、入力画像データから図（図領域）及び表（表領域）を検出し、切り出し処理を行うものである。図領域の検出手段は多数提案されており、例えば、特許文献３で挙げられる方法により図領域を特定することができる。特許文献３に記載の方法では、入力された画像の所定領域毎に画素値の出現頻度（即ち、ヒストグラム）を求めた場合に、図領域の一つである写真領域上の各画素では濃度変化が広範囲に及ぶヒストグラムが得られることを利用して、ヒストグラムのエントロピー（平均情報量）を算出し、エントロピーが高い領域を抽出することで精度よく写真領域を抽出することが可能となる。
【００５７】
また、表領域の検出手段も多数提案されており、本実施の形態では既知の方法により表領域を検出する。例えば、特許文献２では、文書画像データからラインとなる可能性のある候補画素を抽出し、前記候補画素が水平方向もしくは垂直方向に所定画素数以上連続する場合に前記連続する候補画素の集合をラインとして抽出し、前記抽出された水平方向及び垂直方向のラインの位置関係から、各ラインが表を構成する罫線であるか単一のラインであるかを判定し、同一の表を構成するラインの集合について、それら全てを囲む最小外接矩形を表領域として抽出する方法を挙げている。この方法を用いることができる。
【００５８】
なお、文字列抽出処理部３２で抽出した文字が、図表抽出処理部３３で抽出した図又は表として抽出した範囲と重複する場合、該抽出した文字をキャンセルする。特に、抽出された表には文字が含まれる可能性が高いが、表のサイズを表示領域の幅に合わせるためには表を構成する各列の幅を調整する必要がある。結果として、調整後の列幅に合わせて、表内の文字列は折り返し表示されて、かえって可読性を低下させる原因となるため、本実施の形態では、表として抽出された領域については、文字も含めたまま図表として切り取って表示することとする。
【００５９】
なお、画像処理装置１が備える領域分離処理部１５や圧縮処理部２１において、文字列抽出処理や図表抽出処理を実行する場合、領域分離処理部１５や圧縮処理部２１における処理過程で抽出される各種情報を変換処理部２２に入力して利用することができる。特に、特許文献２が提案する圧縮処理部を備えた画像処理装置では、圧縮処理部で抽出される文字列及び表の情報を変換処理部に入力したり、特許文献３が提案する領域分離処理部を備えた画像処理装置では、領域分離処理部で抽出される図領域の情報を変換処理部に入力したりすることで、変換処理部２２に同様の抽出処理を実行する処理部を備えることを回避し、回路規模を削減することができる。このように回路規模を削減した本実施の形態の画像処理装置１の変形例として画像処置装置１ｂを備えた、画像形成装置３００のブロック図を図３１に示す。画像処理装置１ｂは、画像処理装置１の圧縮処理部２１の代わりに特許文献２が提案する圧縮処理部２１ａ及び領域分離処理部１５の代わりに特許文献３が提案する領域分離処理部１５ａをともに備え、かつ、変換処理部２２の代わりに変換処理部２２ａを備える。変換処理部２２ａは、圧縮処理部２１ａから文字列情報及び表領域情報を入力し、領域分離処理部１５ａから図領域情報を入力して利用する。
【００６０】
＜４−４．行ＩＤの設定＞
行解析処理部３１は、さらに、以上のようにして抽出された文字列行、もしくは図表行に対して、その行であることを識別する重複しない番号として行ＩＤ（Identification）を設定する。１つの行ＩＤについて、その行ＩＤを有する行が２つ以上存在しなければ、必ずしも文書の順序に従って行ＩＤを割り振る必要は無い。行ＩＤの設定方法として、行ＩＤが「０」の場合を存在しない行であるとして無効行とし、例えば、各ページの文書画像において、読み取った原稿の左上を原点（０，０）とし、原点に対して、右方向をＸ座標、下方向をＹ座標となる座標系を採用し、行の範囲を表わす最も左上のＹ座標が小さい順に行ＩＤを連番で割り振る方法が挙げられる。なお、Ｙ座標が同じ行同士はＸ座標が小さい方の行を優先する。この方法を用いる場合、段組構成により必ずしも文書の読み順序通りに行ＩＤが割り振られる訳ではないが、横書き文書であれば行が上にあるほど順序が先である可能性が高いため、比較的文書の順序を反映した行ＩＤの割り振り方になると言える。行ＩＤの設定方法はこれに限らず、自由に選択することができる。
【００６１】
＜４−５．文書第１方向及び文書第２方向の決定＞
行解析処理部３１は、１ページの文書画像における全ての行について、文字列行か図表行かの分類が終わると、文字列の方向から、文書全体の方向を示す文書第１方向を決定する。文書第１方向は、横書きのとき水平となり、縦書きのとき垂直となる。文書第１方向は、取得した全ての文字列の持つ方向を分類し、その比率により決定する。文書第１方向を決定するための比率の算出方法の簡単な例として、単純に横書きもしくは縦書きの文字列の数をカウントして、その数の比率を算出する方法が挙げられる。この方法の場合、例えば横書きの行数と縦書きの行数を比較して、多い方の方向を文書第１方向として決定（設定）する。文書第１方向の決定は上記の方法に限らず様々な方法を採用することができる。
【００６２】
なお、算出した比率が所定閾値（例えば、０．７）以下である場合、文書には縦書きの行と横書きの行とが無視できない比率で混在しており文書全体の方向を一意に判別できないとして、以降の処理を中断することができる。
【００６３】
さらに、上記の方法によって文書第１方向を決定すると、文書第１方向に直交する方向として文書第２方向を決定（設定）する。すなわち、文書第１方向が水平（横書き）の場合、文書第２方向は垂直、文書第１方向が垂直（縦書き）の場合、文書第２方向は水平となる。
【００６４】
また、複数のページを入力とする場合、先に全てのページにおいて行の抽出を行い、一部のページ又は全部のページの行の情報から、全てのページで同一の文書第１方向を決定してもよい。前記一部のページの選択方法として、例えば、表紙や扉、挿絵や写真、付録、後付け等、本文とは異なるレイアウトが含まれている可能性が高いとして、事前に先頭ページと最終ページを除いてもよい。
【００６５】
＜４−６．記号（約物）の統合処理＞
なお、個々の文字の切り出しにおいて、以下に示すような記号（約物）の統合処理を追加することができる。記号には、例えば行頭に来ることが禁止とされる（行頭禁則）ものや、行末に来ることが禁止とされる（行末禁則）ものがあり、図３に示すような文字がその一部として挙げられる。切り出した個々の文字を表示した際、行の折り返しによりこれらのルールが守られず可読性が低下する場合がある。そこで、行頭禁則の記号については、１つ前の文字と統合し、行末禁則の記号については、１つ後の文字と統合することで、単独で行頭もしくは行末に来ることがなくなる。
【００６６】
各文字が、前記したルールを持つ記号であるかの判定方法は公知の方法を使用することができる。例えば、ＯＣＲ処理を利用して文字種を照合してもよいし、文字の大きさや、文字を構成する画素の特徴から判別してもよい。例えば句読点の場合、図４のように横書きなら行の下半分のみで構成され、また行の高さ（矢印で示された範囲）に比べて半分程度の幅を持つ場合、その文字が句読点である可能性が高いとして、１つ前の文字と統合してもよい。図４では横書きの例を示したが、縦書きの場合も同様に統合を行うことができる。半角英小文字と区別するため、行を構成する他の文字の高さや幅の傾向から和文、英文の判定を加え、和文の場合のみ句読点と判定するようにする等の処理を追加してもよい。例えば、和文ではひらがな、カタカナ及び漢字等の全角文字が文章の大半を占めており、行の上半分もしくは下半分のみで構成される文字が少なくなる傾向がある。また、半角文字に比べて、全角文字では行の高さに対して文字の横幅が半分より大きい文字の種類が多い。従って、（１）行を上下に分割する水平方向の直線をまたぎ、（２）文字の横幅が行の高さに所定係数（例えば０．６）を乗算した値以上である、文字数をカウントし、行を構成する文字数に対して前記（１）及び（２）を満たす文字数の割合が所定閾値（例えば０．５）以上である場合に、その行が和文であるとして判定する処理を適用することができる。和文、英文の判定方法はこの方法に限らず、他の方法により判定してもよい。また、縦書きの文書である場合は自動的に和文とみなしてもよい。ここで、句読点と、「ァ」等小さい和字との区別がつかない可能性もあるが、これらの小さい和字も行頭禁則であるため句読点と同様に統合しても問題無い。そのため、厳密に句読点専用の処理とする必要はない。また、全角文字でも、「Ｉ」や「１」等、余白を除けば横幅が小さな文字があり、さらに「＿」（アンダーライン）や、上付き文字、下付き文字等、上半分もしくは下半分のみで構成される文字が含まれる場合もある。逆に、半角英字でも、「Ｍ」や「Ｗ」等はフォントによって横幅が大きくなることもあるので、厳密に、和文と英文との判定を行うのが難しい場合がある。
【００６７】
＜４−７．処理例＞
行解析処理部３１が実行する処理の具体例として、図５に示す構造の文書画像（１ページ）に対して行解析処理を適用する場合について説明する。行解析処理部３１は、図６に示すように、その行の要素を全て含んだ最小サイズの外接矩形の範囲を各行の領域として分離し、それぞれの行に、行ＩＤを、外接矩形の左上の垂直座標（Ｙ座標）位置の順で割り当てる。図６に示す文書画像では、行ＩＤが１０５の行が図表の行であることを除いては、残りの行はいずれも横書きの文字列の行であり、縦書きの文字列の行は１つも含まれていない。そのため、行解析処理部３１は、この文書画像における文書第１方向は水平方向であると決定する。
【００６８】
［５．行ブロック解析処理部］
＜５−１．行ブロック解析処理部の処理＞
行ブロック解析処理部３４は、行解析処理部３１で分類された行を、行を少なくとも１つ以上有する行ブロックに統合する処理を行う。行ブロック解析処理部３４は、行解析処理部３１で分類された文字列行を、少なくとも１つ以上の文字列行から成る文字列の行ブロックに統合し、重複しない行ブロックＩＤを持つ新規行ブロックとして記憶部５に記憶（登録）する。図表行については、単一行で１つの行ブロックを構成するものとし、それぞれ重複しない行ブロックＩＤを持つ新規行ブロックとして登録する。
【００６９】
文字列の行ブロック統合処理について以下で詳細に説明する。初めに、行解析処理部３１で分類された行のうち文字列行のグループから、注目行Ｌ１を選択する。続いて、注目行Ｌ１に関して、前方及び後方（定義は、後述の（５−５）章を参照）に連続する文字列行を探索する。具体的には、文字列行のグループの、注目行Ｌ１とは異なる文字列行から、注目行Ｌ１の前方もしくは後方に連続する文字列行を最大１つずつ選択する。注目行Ｌ１の連続行の候補となる文字列行は注目行Ｌ１を除く全ての文字列行であり、連続行の候補となる条件については後述する。全ての文字列行について、前方及び後方に連続する文字列行を選択すると、連続する文字列行同士の繋がりから、前方及び後方の両方において連続する文字列行がなくなるまで１つの行ブロックとして分類、統合し、未割り当ての行ブロックＩＤを持つ新規行ブロックとして記憶部５に登録する。全ての文字列行がいずれかの行ブロックに登録されるまで処理を繰り返し、全ての文字列行についての登録が完了すると、行ブロック解析処理部３４は処理を終了する。
【００７０】
＜５−２．連続行の候補の判定＞
注目行Ｌ１とは別に選択された文字列行Ｌ２が、注目行Ｌ１の連続行の候補であるか否かを判定する方法について説明する。行Ｌ２が行Ｌ１の連続行の候補である条件として、少なくとも下記２つの条件を満たすものとする。
条件１：一方の行の先頭から末尾までの範囲において、もう一方の行の先頭もしくは末尾のうち少なくとも一方が存在する。
条件２：２つの行の行間変位量ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）が下記の式（５）を満たす。
ＴＨ＿ＭＩＮ＿ＬＳ≦ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）≦ＴＨ＿ＭＡＸ＿ＬＳ  ・・・（５）
（ＴＨ＿ＭＩＮ＿ＬＳ、ＴＨ＿ＭＡＸ＿ＬＳは、予め設定される閾値）
なお、条件１は、異なる段に属する行を連続行の候補として判定しないために用いる。条件２は、行間が広過ぎる又は狭過ぎる行を連続行の候補として判定しないために用いる。
【００７１】
図７の（ａ）は、２段組の横書きの文書の例、図７の（ｂ）は、２段組の縦書きの文書の例である。条件１を満たすために、行Ｌ１と行Ｌ２とは、文書第１方向で一部もしくは全部が重複している必要がある。例えば、図７の例の場合、行ａと行ｂ、行ｃと行ｄ、行ｅと行ｆ、行ｇと行ｈは、条件１を満たすため、これらの組合せは互いに連続行の候補となる。しかし、行ａと行ｄ、行ｅと行ｈ等の組合せでは条件１を満たさないため、これらの組合せは互いに連続行の候補とならない。
【００７２】
条件２で示す行Ｌ１と行Ｌ２との行間変位量ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）は、図８に示すように、横書きであれば行Ｌ１と行Ｌ２とのうち下側にある方の行の上端座標と、もう一方の行の下端座標との差分値（図８の（ａ）〜（ｃ）参照）、縦書きであれば行Ｌ１と行Ｌ２とのうち左にある方の行の右端座標ともう一方の行の左端座標との差分値（図８の（ｄ）〜（ｆ）参照）である。行Ｌ１と行Ｌ２とが重複しないとき、行間変位量ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）は２つの行の行間距離を示す。また、ＴＨ＿ＭＩＮ＿ＬＳ及びＴＨ＿ＭＡＸ＿ＬＳは、連続行同士の行間変位量として許容される差分値の最小値及び最大値を示す所定係数である。例えば、行Ｌ１の文字サイズに所定係数ｒ１（例えばｒ１＝０．１）を乗算したものを閾値ＴＨ＿ＭＩＮ＿ＬＳと設定し、所定係数ｒ２（ｒ２は正の数とする、例えばr2=1.5等）を乗算したものを閾値ＴＨ＿ＭＡＸ＿ＬＳとして設定する。閾値ＴＨ＿ＭＩＮ＿ＬＳ及び閾値ＴＨ＿ＭＡＸ＿ＬＳは、他の方法により設定されてもよく、例えば行Ｌ１と行Ｌ２の文字サイズの平均値に所定係数を乗算したものとしてもよい。また閾値ＴＨ＿ＭＩＮ＿ＬＳを正値に設定することで、重複のある２つの行同士を連続行として認めないようにすることができる。逆に閾値ＴＨ＿ＭＩＮ＿ＬＳを負値に設定することで、図８の（ｃ）及び（ｆ）のように、行Ｌ１と行Ｌ２とが多少重複する場合も許容することができる。なお、行間変位量ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）は、行Ｌ１と行Ｌ２とが重複する場合は０を与えるように定義することもできる。これは、次のような事前処理の性能不足を補う場合に用いられる。原稿の読み取りを行う際、原稿の傾きを十分補正しきれずに、ごくわずかな傾きが残っている場合、最小外接矩形で文字列を囲むと、文字自体は重複していなくても矩形同士が重複する場合が存在する。
【００７３】
＜５−３．条件の強化：インデントの範囲指定＞
また、連続行の候補を判定する条件を強化するために、上記条件１，２に加えて、別の条件を設定してもよい。例えば、次式（６）を満たすことを条件として追加することができる。
ｉｎｄｅｎｔ（Ｌ１,Ｌ２）≦ＴＨ＿ＩＮＤＥＮＴ  ・・・（６）
ここで、ｉｎｄｅｎｔ（Ｌ１，Ｌ２）は行Ｌ１の開始位置の文書第１方向成分と行Ｌ２の開始位置の文書第１方向成分の差の大きさであり、すなわちインデントの大きさを意味する。また、閾値ＴＨ＿ＩＮＤＥＮＴは行の先頭のインデントとして許容される距離を示す所定係数である。閾値ＴＨ＿ＩＮＤＥＮＴは、例えば行Ｌ１の文字サイズに所定係数α（αは正の数とする、例えばα＝１．５等）を乗算した値を与え、α文字以内のインデントを許容することができる。閾値ＴＨ＿ＩＮＤＥＮＴは他の方法により設定してもよく、例えば行Ｌ１と行Ｌ２の文字サイズの平均値に所定係数αを乗算したものとしてもよい。
【００７４】
＜５−４．条件の強化：行終了位置の差異の許容範囲指定＞
連続行の候補を判定する条件を強化する他の条件として、例えば次式（７）を満たすことを条件として追加することで、行の終了位置がある程度近い行同士を連続行の候補とすることができる。
｜Ｌ１ＭＡＸ１−Ｌ２ＭＡＸ１｜≦ＴＨ＿ＤＩＦＦ＿ＥＮＤＰＯＳ  ・・・（７）
ここで、Ｌ１ＭＡＸ１は行Ｌ１の文書第１方向成分の最大値、Ｌ２ＭＡＸ１は行Ｌ２の文書第１方向成分の最大値である。例えば、文書第１方向が水平方向（横書き）である場合、Ｌ１ＭＡＸ１及びＬ２ＭＡＸ１は、行Ｌ１及び行Ｌ２の右端のＸ座標を指す。また、閾値ＴＨ＿ＤＩＦＦ＿ＥＮＤＰＯＳは行の終了位置の差として許容される距離を示す所定係数である。例えば行Ｌ１の文字サイズの平均値に所定係数β（βは正の数とする、例えばβ＝０．５等）を乗算したものを閾値ＴＨ＿ＤＩＦＦ＿ＥＮＤＰＯＳとすることで、β文字以内のインデントを許容することになる。
【００７５】
＜５−５．前方又は後方の連続行の選択＞
行Ｌ１の連続行の候補として抽出された行から、行Ｌ１の前方で最も近い位置にある行、及び、後方で最も近い位置にある行を、それぞれ最大１つずつ選択する。なお、文書第１方向が水平方向（横書き）である場合、行Ｌ１より上にある行を前方の行、行Ｌ１より下にある行を後方の行とし、文書第１方向が垂直方向（縦書き）である場合、行Ｌ１より右にある行を前方の行、行Ｌ１より左にある行を後方の行とする。また、行の近さを表わす値として、例えば、前述の行間変位量ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）を使用し、ｌｉｎｅｓｐａｃｅ（Ｌ１，Ｌ２）が小さい程、行が近いとみなすことができる。なお前方、後方とも、連続行は最大で１つずつであり、必ずしも連続行が存在する必要はない。
【００７６】
＜５−６．行ブロックへの分類及び統合＞
以上のようにして、全ての文字列行について前方及び後方の連続行を選択すると、行ブロックへの分類、統合を行う。但し、複数の行から連続行として選択されるケースもあり得るため、相互に連続行であるとされていない行のペアについては、その間の連続関係を事前に解消しておく。例えば、文書画像が図９の（ａ）である場合、前方の連続行として行Ｌ３を選択する行は、行Ｌ４と行Ｌ５との２つ存在するが、行Ｌ５は行Ｌ３の後方の連続行として選択されていない。そのため、行Ｌ３と行Ｌ５との間の連続関係は解消される。同様にして行Ｌ４と行Ｌ６との間の連続関係も解消される。このことにより、図９の（ａ）に示すような例では、行Ｌ３及び行Ｌ４において注目行Ｌ１からの連続関係が断たれるため、注目行Ｌ１と同一の行ブロックとして分類できなくなるケースも起こり得る。しかし、図９の（ｂ）に示すように複数の行ブロックとして分類することができ、後段のレイアウト解析処理部３５における段組解析処理部３７で、同一の段組、及びその段組を構成する同一の段（カラム）として統合できるため、この時点でブロックが分かれてしまっても、問題とはならない。
【００７７】
行ブロックへの分類及び統合処理は、次のように行う。まず。行ブロックとして分類されていない文字列行のうち任意の行Ｌ１（注目行Ｌ１）について、まず、行Ｌ１を新規の行ブロックとして設定する。続いて、行Ｌ１から前後の連続行をたどり、行ブロックの範囲を拡大する。前方及び後方とも、連続行が無くなると、行ブロックの拡大を終了し、その行ブロックに含まれる先頭の行から順に行ＩＤを取得する。また、行ブロックの情報として、行ブロックに含まれる全ての行に外接する最小矩形の左上座標、幅及び高さ、並びに含まれる行数を取得する。以上のようにして得られた行の順序と各種情報とを持つ行ブロックを、既に登録済みの行ブロックと重複しないＩＤを持つ新規の行ブロックとして登録を行い、またその行ブロックに含まれる各行の所属行ブロックＩＤを更新する。このようにして行われる行ブロックへの分類及び統合処理を、全ての文字列行がいずれかの行ブロックに分類されるまで繰り返す。
【００７８】
＜５−７．同一の行ブロックに分類できる（連続行の候補とできる）行の条件＞
なお、文書第１方向の文字列行は文書第１方向の文字列行とのみ、文書第２方向の文字列行は文書第２方向の文字列行とのみ、行ブロックを構成する。すなわち、１つの行ブロックに、文書第１方向の文字列行と文書第２方向の文字列行とが混在することは無い。従って、注目行Ｌ１の連続行の候補を探索する際、注目行Ｌ１の文字列方向と異なる方向の文字列行は連続行の候補としない。
【００７９】
＜５−８．処理例＞
行ブロック解析処理部３４が実行する行ブロック解析処理を、具体例を用いて説明する。既に示した図６のように文書画像から検出された複数の行に対して行ブロック解析処理を適用すると、文書画像は、図１０のように行ブロックとして分類される。図１０に示す例では、行ブロックＢ３は、章の見出しの行であり、行ブロックＢ４に比べて文字が大きい。このように文字のサイズが大きく異なる２つの行同士を連続行の候補として選択しないような、連続行の候補の判定の条件を追加することも有効な手段である。
【００８０】
［６．レイアウト解析処理部］
＜６−１．レイアウト解析処理部の構成＞
図１１は、レイアウト解析処理部３５の詳細構成を示すブロック図である。レイアウト解析処理部３５は、前段の行ブロック解析処理部３４で分類された行ブロック同士の上下左右の位置関係から、行ブロック構成を解析し、文書画像中の文章（本文）の読み順を推定する処理を行うものであり、段組解析処理部３７、行順序付け処理部３８、段落解析処理部（段落解析手段）３９を備えて構成される。
【００８１】
＜６−２．段組解析処理部＞
段組解析処理部３７は、複数の行ブロックの上下及び左右の位置関係から、段組及び段組を構成する各段（カラム）を分類する段組解析処理を実行する。文書は文書第２方向に段組が配置され、各段組構成内で文書第１方向にカラムが配置されているものとして、ページ内の行ブロックの集合を、適切に境界線を設定して行ブロックをまたぐことなく分割して初期段組とする。そして、同一の初期段組に含まれる行ブロックの集合を、適切に境界線を設定して行ブロックをまたぐことなく分割して、該初期段組を構成する初期カラムとする。
【００８２】
境界線の設定方法は特に指定はなく、最も簡単な例として、初期段組の分類には文書第２方向と平行な直線を使用し、初期カラムの分類には文書第１方向と平行な直線を使用することが挙げられる。例えば、図１２の（ａ）のように横書きの文書画像から行ブロックの構造が解析された場合、図１２の（ｂ）のように行ブロックを初期段組に分類され、さらに初期段組は図１２の（ｃ）のようにそれぞれ初期カラムとして分類される。なお、図１２の（ｂ）及び（ｃ）では、段組間の境界線は実線で、カラム間の境界線は一点鎖線で示されている。
【００８３】
＜６−３．段組の分割禁止（同一段組として許容される行ブロック間距離の算出）＞
本来は同一段組であるが、偶然、行ブロックを分割することができるために複数の段組に分かれてしまうようなケースもまれに存在する。こうしたケースに対応するため、例えば連続する２つの行ブロック間の距離を算出し、その距離が所定値（例えば行ブロックの平均行間距離の２倍）以下の２つのブロック間には境界線を引くことを禁止する条件を追加することができる。図１３は、行ブロックＢ１０，Ｂ１１，Ｂ１２を左側のカラム、行ブロックＢ２０，Ｂ２１を右側のカラムとした２段組構成の例を示す。行ブロックＢ１０と行ブロックＢ１１との間、行ブロックＢ２０と行ブロックＢ２１との間が空いているため、行ブロックＢ１０と行ブロックＢ２０から成る２段組構成、及び、行ブロックＢ１１とＢ１２と行ブロックＢ２１とから成る２段組構成として分割してしまう恐れもある。しかし、行ブロックＢ２０の平均行間距離（２０）に対して、行ブロックＢ２０と行ブロックＢ２１とのブロック間距離（３０）が所定値（２０×２＝４０）以下であるとして、行ブロックＢ２０と行ブロックＢ２１との間に境界線を引くことを禁止することで、これらの行ブロックが２つの異なる段組に分かれることを防ぐことができる。
【００８４】
また、見出しによる広い行間に境界線が引かれてしまう場合に、以下のように行ブロックの分割を防ぐようにしてもよい。行ブロックが見出しであるかどうかの判定を行い、見出しである場合には、その行ブロックと、その直後の行ブロックとを分割禁止とする距離の所定値を変更する（例えば、所定係数１．５を乗算する）等の方法により、分割を防ぐことも可能である。行ブロックが見出しか否かの判定は、例えば、横書きの文書であれば、上又は下の行ブロックと比較して左右に所定値以上（第１閾値、例えば、各文字のサイズ（行の高さ）など）の余白が存在し、左の余白と右の余白の大きさの差が所定値以下（例えば、第１閾値×０．１など）である、つまり左詰めでなくセンタリングされており、また他の行ブロックより各文字のサイズ（行の高さ）が大きい場合に、その行ブロックが見出し行であるとして判定する方法が挙げられる。なお、他の条件と組み合わせて判定しても構わない。
【００８５】
なお、上記のような平均行間距離を基準とした所定値でも適切に分割できないような場合は、以下の［８．表示装置］にて説明するように、手動でレイアウトを修正できるようになっていてもよい。
【００８６】
＜６−４．位置関係以外の情報の活用＞
また、行ブロックの位置関係に加えて、行ブロックが持つ各種情報を利用して、段組及びカラムの分類（すなわち境界線の設定）を行うことができる。行ブロックが持つ各種情報の例として、行の長さや主要な文字のサイズ等が挙げられる。隣り合う行ブロック同士でこれらの情報が大きく異なる場合は同一の段組に分類することを避けるようにすることができるし、逆に位置が大きく離れた行ブロック同士でも、例えば同じカラム境界線を共有することができ、かつ類似する情報を持つ場合、同一段組として分類してもよい。
【００８７】
＜６−５．行ブロックが０個もしくは１個しかない場合＞
なお、段組解析処理部３７に入力されたページ画像が、ただ１つの行ブロックを持つ場合、そのページ画像は１段構成の文書であるとして、境界線の設定は行わない。また、該ページ画像が、１つも行ブロックを持たない場合（すなわち白紙ページの場合）も境界線の設定は行わない。
【００８８】
また、文書画像に文書第１方向の文字列行と文書第２方向の文字列行とが混在する場合は、文書第２方向の文字列行の行ブロックを図表行の行ブロックに置き換える。このことにより、文書第１方向に記述された文章の最中に、文書第２方向に記述された文章が混じることを防ぐことができる。
【００８９】
＜６−６．処理例＞
段組解析処理部３７が実行する処理の具体例として、例えば既に示した図１０に示す文書画像から検出された複数の行ブロックに対して段組解析処理を適用する場合について説明する。段組解析処理部３７は、図１０に示す文書画像を、図１４に示す段組及びカラム（淡いグレー地）に分類する。カラムＣ１及びカラムＣ２は、それぞれ１段構成の段組Ｇ１及び段組Ｇ２を成し、カラムＣ３及びカラムＣ４は２段組構成の段組Ｇ３における左右のカラムを成している。なお、図１４では、行（文字列行及び図表行）を直線、行ブロックを点線、カラムを一点鎖線で囲んでいる。
【００９０】
＜６−７．行順序付け処理部＞
行順序付け処理部３８は、段組、カラム、行ブロック、及び行の位置関係から文書全体における行の順序を解析し、行順序リストを生成する処理を、以下の（１）〜（９）に従って行う。
（１）同じ行ブロックに属する行同士については、横書き文書であれば上から下、縦書き文書であれば右から左の順に優先順位を設定する。ここでは、上記のように既に、行ブロックに分類する際に、その行ブロックに含まれる行についての順序の情報も取得しているため、この情報を利用する。
（２）同じカラムに属する行ブロック同士については、横書き文書であれば上から下、縦書き文書であれば右から左の順に優先順位を設定する。
（３）連続する２つの行ブロック間では、優先順位の高い方の行ブロックの末尾の行の次に、優先順位の低い方の行ブロックの先頭の行が優先されるように設定する。
（４）同じ段組に属するカラム同士については、横書き文書であれば左から右、縦書き文書であれば上から下の順に優先順位を設定する。
（５）連続する２つのカラム間では、優先順位の高い方のカラムの末尾の行ブロックの次に、優先順位の低い方のカラムの先頭の行ブロックが優先されるように設定する。
（６）同じページに属する段組については、横書き文書であれば上から下、縦書き文書であれば右から左の順に優先順位を設定する。
（７）連続する２つの段組間では、優先順位の高い方の段組の末尾のカラムの次に、優先順位の低い方の段組の先頭のカラムが優先されるように設定する。
（８）同じ文書画像ファイルに属するページ同士については、ページ番号の小さい順に優先順位が高くなるよう設定する。
（９）連続する２つのページ間では、優先順位の高いページの末尾の段組の次に、優先順位の低い方のページの先頭の段組が優先されるように設定する。
【００９１】
行順序付け処理部３８は、上記のルール（１）〜（９）に従って、ページの順序、段組の順序、カラムの順序、行ブロックの順序を決定し、それらにより行の順序付けを行う。順序付けされた行は、各行が属する行ブロック、カラム、段組及びページの順序を示す番号を保有すると共に、先頭から順に各行の行ＩＤを行順序リストに格納する。
行順序リストは、下記の規定（ａ）〜（ｃ）に従う形式であれば特に構造は問わない。
（ａ）上記順序付けルールに従って決定された順序通りに行を呼び出すことができる。
（ｂ）呼び出した行について、その座標情報や種類（文字列行か図表行か）等の各種情報を参照することができる。
（ｃ）呼び出した行について、段落情報（後述）を格納することができる。
【００９２】
＜６−８．処理例＞
行順序付け処理部３８が、上記の規定に従って、図１４の構成の文書画像について行順序リストを生成した例を、図１５に示す。行順序リストは、決定された順序の先頭から順に、行のＩＤと、行の情報として、所属する行ブロックＩＤ、行の種別（文字列行であるか図表行であるか）、及び行の範囲を示す外接矩形の左上座標及び右下座標、の情報とを格納し、さらに行毎に段落情報を格納している。なお、図１５の例では、改行が発生するときに、その行から新たな段落が始まるとして、段落情報を改行の有無を有る（Ｙｅｓ）か無し（Ｎｏ）かの２通りで示しており、事前に「Ｎｏ」で初期化している。図１６のように行ブロックの情報やカラムの情報、段組の情報を別途作成し、相互参照により各行及び各行ブロックが所属するカラム、段組、ページを参照できるようにしておくことで、冗長の少ない行順序リストを構成することができる。もちろん、行順序リスト単独で各行に関する情報を全て抽出できるようにしてもよい。
【００９３】
＜６−９．段落解析処理部＞
段落解析処理部３９は、各行の前後の位置関係等の情報から、その行の位置で改行が発生しているかどうかを判定し、文書画像中の各行を１つ以上の段落に分類する処理を行う。具体的には、行順序リストから複数の行を参照して段落の切れ目、すなわち改行位置を判定し（改行判定処理）、段落毎に行の順序を記述した文書構造ツリーを生成する（文書構造ツリー生成処理）。
【００９４】
ところで、文書中の図表は、必ずしも段落の切れ目に配置されるとは限らず、例えばページの端に挿入される場合が多く、それにより文章が図表を挟んで前後に分かれることがある。この順序のまま行を呼び出し、行を構成する要素（文字、図表）を挿入していくと、図表の挿入によって不自然に途切れた文章が出力されてしまう。そこで、本実施の形態では、段落毎に、文字列行と図表行とが混在した順序ではなく、文字列行の順序と図表行の順序をそれぞれ別に保有する文書構造ツリーを生成する。図１７は、文書構造ツリーの構造を示す図である。それにより、文書画像を構成する文字列のみの順序を把握しながら、その段落に係る図表を、段落の先頭や末尾等にまとめて配置できるようにする。
【００９５】
＜６−１０．改行判定処理＞
図１８は、段落解析処理部３９における、改行判定処理の概要を示すイメージ図である。改行判定処理は、判定の対象となる注目行と、注目行より前に順序づけられるＭ個の行と、注目行より後に順序づけられるＮ個の行と、のＭ＋Ｎ＋１個の行によって判定される。なお、図１８に示す例では、Ｍ＝Ｎ＝２としている。なお、改行判定の対象となる行、及びその前後の行は、いずれも文字列行である。本実施の形態では、Ｍ＋Ｎ＋１個の行ＩＤバッファＬ［０］，Ｌ［１］・・・，Ｌ［Ｍ＋Ｎ］を記憶部５に備え、行順序リストで参照されるＭ＋Ｎ＋１個の行ＩＤをそれぞれ格納することで、注目行と、注目行の前後の行との比較を行う。
【００９６】
以下、段落解析処理部３９の処理内容について詳細に説明する。図１９は、段落解析処理部３９の処理手順を示すフローチャートである。段落解析処理の開始にあたり、事前に初期化を済ませておく。具体的には、リスト参照番号をＬＮＯＷ＝１とし、行ＩＤバッファには全て無効行（０）を格納しておく。初期化が終わると、注目行にあたる行ＩＤバッファＬ［Ｍ］に、行ＩＤを選択して格納する（ステップＳ１、以下ではＳ１のように略す）。任意の行ＩＤバッファＬ［ｋ］（ｋ＝０，１，・・・，Ｍ＋Ｎ）の選択方法は以下の（１）〜（３）の通り行われる。
（１）行順序リストにおいて、第ＬＮＯＷ番目から順に、文字列行を探索する。
（２）最初に見つかった文字列行の行ＩＤを行ＩＤバッファＬ［ｋ］に格納し、そのときの行順序リストの位置（リスト番号）に１を加えた番号を新たなリスト参照番号ＬＮＯＷとして更新する。
（３）文字列行が見つからないまま行順序リストの末尾まで探索が終了した場合、行ＩＤバッファＬ［ｋ］には無効行（０）を格納する。
【００９７】
行Ｌ［Ｍ］の更新後、行Ｌ［Ｍ］が有効行（ゼロでない行ＩＤを持つ行）であるかどうかを判定し（Ｓ２）、有効行である場合（Ｓ２の判定がＹＥＳ）、Ｓ３に移る。一方、Ｌ［Ｍ］が無効行である場合（Ｓ２の判定がＮＯ）、入力した文書画像には文字列行が存在しない図表行のみの文書画像であるとして、文書構造ツリーの生成処理（後述）を実行する（Ｓ７）。
【００９８】
次に、注目行より後の行に当たる行ＩＤバッファＬ［Ｍ＋１］，・・・，Ｌ［Ｍ＋Ｎ］に、行ＩＤを選択して格納する（Ｓ３）。各バッファにおける行ＩＤの選択方法は上記と同様であるため省略する。続いて、注目行Ｌ［Ｍ］の改行判定を実行する（Ｓ４）。改行判定は、改行判定対象となる注目行Ｌ［Ｍ］と、注目行より前に位置する行Ｌ［０］，・・・，Ｌ［Ｍ−１］及び注目行より後に位置する行Ｌ［Ｍ＋１］，・・・，Ｌ［Ｍ＋Ｎ］からなる複数の行を用いた公知の方法で行うことができる。簡単な例として、改行判定対象のインデントの有無を確認する方法がある。行Ｌ［Ｍ］の開始位置が、他の行に比べて文書第１方向に正値のずれが生じている場合に、行Ｌ［Ｍ］はインデントを持ち、行Ｌ［Ｍ］の位置で改行がなされているとみなすことができる。また、改行判定対象行Ｌ［Ｍ］の１つ前の行Ｌ［Ｍ−１］が、他の行に比べて短い場合、行Ｌ［Ｍ］の位置で改行がなされているとみなすことができる。例えば、図１８（Ｍ＝Ｎ＝２）のような横書きの文字列行が存在している場合、注目行Ｌ［２］の開始位置が、他の行に比べて右側（横書きの場合の正方向）にずれており、また１行前の行Ｌ［１］が他の行に比べて短いという特徴を持っており、これらの結果から、注目行Ｌ［２］は総合的に改行位置であるとして判定され易くなる。なお、文書編集者の好み等により段落の先頭行でインデントが付加されない場合もあり、また１つ前の段落の最終行が必ずしも短くなるとは限らないため注意する。
【００９９】
他に改行位置であるかどうかの判定の例として、注目行の文字サイズが周辺の行に比べて大きく異なるかどうかを判定することで、見出し行のように文字サイズが大きくなっている行、また補足コメント等のように逆に文字サイズが小さくなっている行等で改行位置と判定することができる。また、周辺の連続する２つの行の行間距離に比べて、注目行とその１つ前の行との行間距離が大きくなっている場合に、１つ前の行で段落が終了している可能性が高くなる。上記挙げられた条件を例として、様々な条件を複合的に判定して、注目行における改行の有無を設定するのが好ましい。
【０１００】
行Ｌ［Ｍ］の改行判定の結果は、行順序リストのＬ［Ｍ］に該当する行情報に段落情報として反映させる。段落情報は段落の切れ目が判るものであれば何でもよく、最も簡単な例として、改行の有無をＹｅｓあるいはＮｏの２通りで示すだけでもよい。
【０１０１】
改行判定対象行Ｌ［Ｍ］の改行判定が終了すると、注目行の次の行Ｌ［Ｍ＋１］が有効行であるかどうかを判定し（Ｓ５）、Ｌ［Ｍ＋１］が有効行である場合（Ｓ５の判定がＹＥＳ）、行ＩＤバッファの更新を行い、次の行についての改行判定を行う準備をする（Ｓ６）。行ＩＤバッファの更新は、具体的には、図２０に示すように、Ｌ［０］＝Ｌ［１］，・・・，Ｌ［Ｍ＋Ｎ−１］＝Ｌ［Ｍ＋Ｎ］としてバッファを１つずつずらすとともに、バッファＬ［Ｍ＋Ｎ］を新たに行順序リストから選択する。バッファＬ［Ｍ＋Ｎ］の選択方法は前述の方法と同様であるため省略する。バッファの更新後、Ｓ４に戻り、更新された注目行Ｌ［Ｍ］について、改行判定を行う。これを、Ｓ５で判定がＮＯとなるまで反復する。Ｓ５の判定がＮＯとなると、全ての文字列行について改行判定が終了したことになり、文書構造ツリーの生成処理を実行する（Ｓ７）。
【０１０２】
＜６−１１．文書構造ツリー生成処理＞
段落解析処理部３９による文書構造ツリー生成処理は、段落情報を考慮した行順序リストに格納された段落情報に従って実行される。但し、文書構造ツリーは事前に、図２１に示すような１つの空の段落（第０段落）を持つ状態に初期化されているものとする。初期段落番号をＰＮＯＷ＝０として、行順序リストの先頭から順に行の情報を参照し、段落情報から該行が段落開始行と判定された場合（段落情報がＹＥＳ）のみ、ＰＮＯＷ＝ＰＮＯＷ＋１として段落番号の更新を行い、また文書構造ツリーに空の段落（第ＰＮＯＷ段落）を新たに追加する。そして、該行が文字列行である場合、文書構造ツリーの第ＰＮＯＷ段落が持つ文字列ツリーの末尾に該行の行ＩＤを追加する。一方、該行が図表行である場合、文書構造ツリーの第ＰＮＯＷ段落が持つ図表ツリーの末尾に該行の行ＩＤを追加する。これを行順序リストの各行について反復し、末尾まで探索が終了すると、文書構造ツリーの生成処理を終了する。なお、文字列行の改行位置から次の改行位置までが１つの段落となるので、図表行が段落の分類から漏れるということはない。そのため、ひと固まりの文字列行の後に図表行があり、その後新しい段落が始まる（改行が発生する）場合は、その図表行は１つ前の段落に含まれることになる。
【０１０３】
＜６−１２．処理例＞
段落解析処理部３９が実行する処理の具体例として、図６の構成の文書画像（図１５に示す初期の行順序リストを持つ）に段落解析処理部３９での処理を適用する場合について説明する。見出しに当たる行ＩＤ：１０１、行ＩＤ１０４、行ＩＤ：１２９の各行は、行の文字サイズや１つ前の行間距離等の条件から、改行位置と判定される。また行ＩＤ：１０６、行ＩＤ：１１２、行ＩＤ：１１９及び行ＩＤ：１３１の各行は、前後の複数の行に比べ、行の開始位置が文書第１方向において正方向にシフトしている、よってインデントが存在するとして、改行位置と判定される。行ＩＤ：１０２の行も、見出し行の行ＩＤ：１０１の次の行であることから、改行位置と判定することができる。従って、行ＩＤ：１０１、１０２、１０４、１０６、１１２、１２９、１３１、１１９の各行が改行位置として設定され、行順序リストの段落情報は、図２２のように更新される。
【０１０４】
例えば、行順序リストが図２２のように、段落情報として改行の有無（ＹｅｓもしくはＮｏ）が表されている場合、改行がある行から新しい段落が開始するとみなせるため、改行がある（Ｙｅｓ）場合に該行が段落開始行として判定することができる。また、段落が開始してから、次の改行位置が見つかるまでの行を同一の段落の範囲とみなす。更新された行順序リストの段落情報に従い、図６の文書画像を段落毎に分類すると、図２４に示すように分類することができる。図２４において、段落Ｒ７は、左下の３行の文字列行（行ＩＤ：１３１，１３３，１３５）から、右上の図表行（行ＩＤ：１０５）及び４行の文字列行（行ＩＤ：１１１，１１３，１１５，１１７）までを同一の段落の範囲としており、行ＩＤ：１３５と行ＩＤ：１１１との文字列行の間に改行位置は存在しないため、一続きの文章を構成することが可能となる。更に、この行順序リストに従って文書構造ツリーを生成すると、図２３に示すような文書構造ツリーを得ることができる。
【０１０５】
［７．再配置処理部］
＜７−１．再配置処理部の処理＞
再配置処理部３６は、レイアウト解析処理部３５で定義した順序に従って行を呼び出す。そして、呼び出した行が文字列行である場合は対応する文字列行の先頭から順に文字を呼び出し、呼び出した行が図表行である場合は対応する図又は表を呼び出して、各要素の参照情報（要素を呼び出すための情報）を順に記述する。更に、要素が改行位置が含まれる行の末尾の要素である場合は、改行命令を挿入して参照リストを生成する処理を行う。つまり、参照リストは、文字列行及び図表行の順序付けに従って、文書画像に含まれる各要素の順序が、文字列中の文字においては文書第１方向に沿って、記述されている。
ここで、参照リストは、ＨＴＭＬに代表されるようなマークアップ言語形式で記述することができる。以下では、ＨＴＭＬファイルとして記述する場合を例として、再配置処理部３６の詳細について説明する。
【０１０６】
図２５は、再配置処理部３６の処理手順を示すフローチャートである。以下、図２５に従って再配置処理部３６の処理内容を説明する。
【０１０７】
図２５に示すように、まず、ファイルのヘッダの記述を行う（Ｓ１１）。ファイルのヘッダは、そのファイルの各種情報を記述するものである。例えばＨＴＭＬファイルの場合、図２６に示すように、そのファイルがＨＴＭＬ言語で記述されていることの宣言（＜ＨＴＭＬ＞タグ）や、本文には記載しないファイルの情報、例えばスタイルの定義やページタイトル等の情報、コメント、本文の記述が開始することの宣言（＜ＢＯＤＹ＞タグ）等が含まれる。
【０１０８】
続いて、本文の記述を行う。ここでは、レイアウト解析処理部３５で生成した文書構造ツリーの第０段落を初期呼び出し位置として、呼び出し位置において文書構造ツリーから段落の情報が呼び出し可能であるかどうかを判定する（Ｓ１２）。呼び出し可能である場合（Ｓ１２の判定がＹＥＳ）、文書構造ツリーから段落を呼び出し、該段落が少なくとも１行以上の行を持つかどうか判定する（Ｓ１３）。該段落が少なくとも１行以上の行を持つ場合（Ｓ１３の判定がＹＥＳ）、該段落を構成する全ての行の情報を順次呼び出し、該行に含まれる要素を参照してファイルで表示するための記述を行うファイル記述処理を実行する（Ｓ１４）。他方、該段落が１つも行を持たない場合（Ｓ１３の判定がＮＯ）、呼び出し位置を次の段落に移し、Ｓ１２に戻る。
【０１０９】
図２７は、Ｓ１４でのファイル記述処理の処理手順を示すフローチャートである。呼び出した段落について、初めに、段落が開始することを宣言する段落開始宣言命令（後述の＜７−２＞の章を参照）を実行する（Ｓ２１）。その後、該段落が持つ文字列行を、文書構造ツリーの先頭から順次呼び出し、該行に含まれる文字要素を参照するための要素参照処理を実行する（Ｓ２２）。つまり、該行の先頭から順に要素（文字）を呼び出し、該要素の参照命令を実行する。具体的には、該行の先頭から順に要素を呼び出して、全ての要素に対して同様の処理を繰り返す。全ての要素に対して参照命令を終了すると、該行についての参照処理を終了し、次の文字列行を呼び出して同様の処理を繰り返す。以上の処理を、文書構造ツリーにおける該段落が持つ全ての文字列行（該段落の文字列行ツリーに含まれる全ての文字列行）に対して実行する。該段落の文字列行ツリーに含まれる全ての文字列行に対する要素参照処理を終えると、次に、図表行の要素参照処理を実行する（Ｓ２３）。図表行は１つの要素しか持たないため、各図表行について１回の参照命令を行うと、該段落の持つ次の図表行（該段落の図表行ツリーに含まれる次の図表行）を呼び出し、同様の参照処理を実行する。該段落の図表行ツリーに含まれる全ての図表行について参照命令を実行すると、最後に、該段落についてのファイル記述処理が終了することを宣言する段落終了宣言（後述の＜７−２＞の章を参照）を実行し（Ｓ２４）、ファイル記述処理（Ｓ１４）を終了する。
【０１１０】
図２５に戻り説明を続ける。Ｓ１４の後は、呼び出し位置を次の段落に更新し、Ｓ１２に戻る。
【０１１１】
以上の処理を、Ｓ１２の判定がＮＯになる、すなわち、文書構造ツリーの全ての段落に対するファイル記述処理を終了するまで反復する。Ｓ１２の判定がＮＯになると、フッタの記述を行う（Ｓ１５）。図２６に示すように、フッタには、ヘッダの記述において開始を宣言した事項（例えば、本文の記述や、ＨＴＭＬ言語の記述の開始等）の終了の宣言等が含まれる。フッタ部分の記述を終えるとファイルを保存し（Ｓ１６）、終了する。なお、当該ファイルは、再配置処理部３６から出力される。
【０１１２】
＜７−２．各命令の例＞
段落開始宣言命令の例として、例えば、段落タグ＜ｐ＞を挿入する方法が挙げられる。この場合、段落終了宣言命令は必ず段落タグ＜／ｐ＞を挿入する方法とする。また、別の方法として、段落開始宣言命令は特に何も行わず、段落終了宣言命令として改行タグ＜ｂｒ＞を挿入する方法も挙げられる。要素の参照命令は、例えば、出力ファイルに画像表示タグ＜ｉｍｇ＞を挿入して、該要素の切り取り画像ファイルのパスを指定して表示させる方法が挙げられる。また、図表要素の参照命令は文字要素の参照命令と同様としてもよいし、図表要素の場合のみ、改行タグ＜ｂｒ＞や表タグ＜ｔａｂｌｅ＞及び＜／ｔａｂｌｅ＞等の挿入処理と組み合わせることで、より視認性の高いレイアウトを構成することができる。
【０１１３】
＜７−３．図表を段落の先頭に配置修正したい場合＞
上記では、各段落において図表を本文の後に配置する場合の処理手順について説明した。反対に、図表を本文の前に配置したい場合は、図２７において、Ｓ２２とＳ２３とを入れ替えることで容易に実現できる。また、図表を、段落の末尾に配置、段落の先頭に配置、もしくは図表を表示しない（文字列のみ表示する）等の複数のモードから操作パネル６を通じてユーザが指定できるようにしてもよい。
【０１１４】
＜７−４．文書のスタイルの定義＞
上記命令のほか、スタイルシートを組み込むことで、文書のファイル書式を変更しても構わない。スタイルシートは、ＨＴＭＬ言語等で構造化された文書の見栄え、表示形式を効率的に制御する公知の手段である。これらの見栄え等の情報を「スタイル」と呼ぶ。スタイルシートは専用のコンピュータ言語で実現され、その例として、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）等が挙げられる。また、スタイルシートを定義する場所は大きく分けて３つある。それは、ヘッダ要素内（＜ｈｅａｄ＞〜＜/ｈｅａｄ＞間）にスタイル要素（＜ｓｔｙｌｅ＞〜＜/ｓｔｙｌｅ＞）を追加してスタイルを記述する方法、スタイルを記述した外部ファイルを用意して、参照リストのヘッダ要素内で前記外部ファイルを呼び出す方法、及び本文部分（＜ｂｏｄｙ＞〜＜/ｂｏｄｙ＞間）における各種タグにおいて、そのタグにのみ有効となるスタイルを記述する方法、である。これらの方法はただ１つに選択されるものではなく、複数の方法を組み合わせてスタイルシートを定義することもできる。本実施の形態では、公知の方法を利用するものとして以下では詳述をせず、簡単な記述例の紹介にとどめる。
【０１１５】
図２８は、ＣＳＳ形式で記述したスタイルシートの外部ファイルの例である。図中の範囲Ａでは、段落を定義するタグ＜ｐ＞のスタイルを定義しており、この例では各段落の先頭行に、１文字分のインデントを付加することが定義されている。これにより、段落開始宣言タグが呼び出された場合は常に１文字分のインデントを付加することができる。範囲Ｂと範囲Ｃでは、ともに画像を参照するタグ＜ｉｍｇ＞のスタイルを定義しているが、範囲Ｂではｇａｉｊｉというクラスに属する場合に限定したスタイルであり、範囲Ｃではｆｉｇというクラスに属する場合に限定したスタイルである。このように、同じタグに対しても、それぞれ固有のスタイルを持つ複数のクラスを定義して外部ファイルとして保存し（ここではｓｔｙｌｅ．ｃｓｓというファイル名をつけている）、図２９に示す例（ＨＴＭＬ言語で記述、一部のみ抜粋）のように、ヘッダ内で図２９（ａ）に示すような前記外部ファイル（図２８のものと同じ）を読み込み（図２９（ｂ）の行２９１）、各タグにおいて所望のスタイルを持つクラスを指定することで、局所的なスタイルの指定を行うことが可能となる。図２８及び図２９の例では、画像の参照時において、文字を表わす画像である場合に、ｉｍｇタグ内において、図２９（ｂ）の行２９２〜行２９５のようにｃｌａｓｓ＝”ｇａｉｊｉ”と記述することで、ｇａｉｊｉ（外字）クラスを指定し、図表を表わす画像である場合に行２９（ｂ）の行２９６のようにｃｌａｓｓ＝”ｆｉｇ”と記述することで、ｆｉｇ（図）クラスを指定しており、このように要素ごとに適切なスタイルを定義することで、より見栄えのよい文書を表現することが可能となる。
また、操作パネルでこれらのスタイルを選択して指定できるようにしてもよい。例えば、文書画像データから決定した文書第１方向とは別に、再配置する際の文書の方向を、操作パネルを通じてユーザが指定できるようにしてもよい。具体的には、ＨＴＭＬ言語形式のフォーマットにおいてＣＳＳ形式によりｈｔｍｌ｛ ｗｒｉｔｉｎｇ−ｍｏｄｅ： ｔｂ−ｒｌ；｝とスタイルシートを定義することで、本文全体の文書の行方向を上から下、更に行が右から始まり左に進む、すなわち縦書き表記が可能となる。従って、縦書きでのリフロー表示が選択された場合に、前記のようなスタイルシートの定義を追加するようにすることで、縦書き表示を実現できるようになる。なお、縦書き表記の実現方法は前記の方法以外の方法をとることができる。また、出力時の文書の方向として「自動モード」を準備し、行解析処理部３１で得られた文書第１方向と同じ方向で出力するように自動的に選択するようにすることもできる。
【０１１６】
＜７−５．他のファイル形式＞
本実施の形態の再配置処理部３６においては、入力された文書画像からＨＴＭＬファイルを出力する場合について述べたが、出力するファイルはＨＴＭＬファイルに限らず、リフロー型表示を実現するあらゆるファイル形式（例えば、ＸＭＬファイル、ＸＭＤＦファイル等）として出力することができる。
【０１１７】
本実施の形態では、以上のように、文書画像からその構造を解析し、行の順序を理解することで、行を順に参照し、さらにその行を構成する文字や図表を先頭から順に参照して行くことで、フィックス型の画像ファイルとして生成された文書画像であっても、リフロー型のファイルとして変換するための情報（参照ファイル）を得る。また、改行の有無を判定し、段落の範囲を定義することで、文書画像に行の折り返しがあっても、１つの段落内では改行をしないようにするほか、各段落に従属する図又は表の配置を、その段落の先頭や末尾にまとめて表示する等の修正をすることで、文字列と文字列の間に図又は表が挟まれていても、同一段落内とみなされていれば、そのまま図又は表を挟まずに配置するよう修正することにより、文章の連続性及び可読性を向上することができる。
【０１１８】
［８．表示装置］
＜８−２．表示装置での参照リストの使用＞
前記生成された参照リスト及び切り出した各要素の画像データは、本実施形態の画像形成装置１００が備える送信装置４から送信され、受信側の装置である表示装置（例えば、スマートフォンやタブレット等であってもよい）が備える閲覧プログラム（ビューア）を通じて閲覧することができる。参照リストが取るファイル形式によって最適な閲覧プログラムは異なり、例えば、参照リストとしてＨＴＭＬファイルの形式をとる場合、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）等、良く知られたウェブブラウザを用いて開くことで、容易にリフロー型の表示を実現することが可能となる。
【０１１９】
なお、特定のマークアップ言語形式のファイルに変換せず、各要素（文字・図表）を参照する順序と段落の開始宣言及び終了宣言等、再配置処理部３６で得られた文書構造を列記したテキストデータとして参照リストを生成することもできる。この参照リストは、例えば文書構造の解析結果として利用することも可能であるし、受信側の装置が備えるコンピュータプログラム（変換プログラム）等によって、所望のファイル形式に変換することも可能である。また、このようにファイル形式の変換を二段階とすることで、処理ステップ数の増加はあるものの、同じ文書画像データから複数のファイル形式への変換を行いたい場合に参照リストを共通で使用することが可能となるほか、前記変換プログラムにおいてレイアウト解析結果の手動による修正も可能となる。
【０１２０】
受信側の表示装置では、画像形成装置１００から送信される参照リストとして、表示装置の備えるビューアアプリケーションに適したファイル形式（ＨＴＭＬ等）に変換したものを受信すると、そのアプリケーションにおいてファイルを読み込むだけでリフロー変換を表示できるので、特別な処理はない。ただし、参照リストが特定のビューアと関連付けされていない、たとえば、最も単純な形式として座標情報等を列記しただけのようなものである場合、そのままではリフロー型の表示はできない。このような参照リストを受信した場合、再配置するための処理は必要となるが、公知の処理を利用することができる。
【０１２１】
また、表示装置の表示領域の表示幅に合わせて、参照リストが参照する文字は、折り返し部分が変更され、図や表については、表示幅に合わせて縮小又は拡大表示される。例えば、上記（７−４）で説明したように、図又は表にｆｉｇクラスを割り当て、ＨＴＭＬファイル形式で出力する場合、画像の幅（もしくは高さ）を表示装置の表示幅（もしくは高さ）に対する割合として設定することで、表示装置の表示幅や表示倍率が変更となった場合でも、そのときの表示幅（もしくは高さ）に合わせて自動調整させることが可能となる。
【０１２２】
上記のように表示装置の表示幅（横書きの場合）に対する割合として画像の幅を設定する方法の例として、たとえば、ｉｍｇタグの呼び出し時にｆｉｇクラスに属するもののみｉｍｇタグのサイズ属性として下記のようにパーセンテージを追加する、
＜ｉｍｇ ｃｌａｓｓ＝”ｆｉｇ”  ｓｒｃ＝”〜〜”ｗｉｄｔｈ＝”９０％”／＞  ・・・（８）
もしくはＣＳＳ形式でｆｉｇクラスのスタイルシートとして下記を追加する。
.ｆｉｇ｛ｗｉｄｔｈ：９０％；｝  ・・・（９）
等の方法がある。上記（８）又は（９）の方法はいずれも、表示幅に対して９０％のサイズが図又は表の幅として設定され、表示領域が変更された際には自動で変更後の表示幅の９０％を図又は表の幅として再設定する。（８）は、上記のサイズ属性の設定を追加したｉｍｇタグのみに適用される、すなわち個別に適用されるのに対し、（９）は、ｆｉｇクラスを割り当てた図表を一括で設定する点で異なる。もちろん、上記以外の公知の方法を利用することも可能である。
【０１２３】
＜８−２．図表の表示の別の例＞
上記（７−１）、（７−３）では、段落の最後又は最初に図表を表示する方法を開示したが、それらとは別に、図表を本文と同じファイル上に混在して表示せずに、画像へのリンク一覧（先頭の段落から順に図表を並べる）を別途作成し、そのリンク一覧からユーザが所望したときに選択した画像を個別に表示できるようにしてもよい。
【０１２４】
例えば、図３２の（ａ）及び（ｂ）に示すように、画像形成装置１００にて生成された参照リスト及び抽出した（切り出した）各要素の画像を受信する表示装置４００において、コンテンツを表示するコンテンツ表示領域４０１とユーザ操作を受け付ける操作領域４０２とを個別に備え、操作領域４０２に、本文と画像リンク一覧との表示を切り替える操作機能を実行する手段を備えることで、ユーザが所望するときに、コンテンツ表示領域に表示する内容を本文と図表とで切り替えるようにすることができる。
【０１２５】
また、図３３及び３４のように、表示装置４００において、コンテンツ表示領域４０１と操作領域４０２とを個別に備え、操作領域４０２に、リンク一覧の先頭から順に各画像へのリンクを表示し、選択できるように構成してもよい。リンクの表示の方法は、例えば、図３３のように符号（図１、図２、・・・等順序を認識できるものが望ましい）や、画像のサムネイル等を利用することができる。リンクを選択すると、選択したリンクに対応する図表を表示する。図表の表示方法は、例えば、コンテンツ表示領域４０１に表示する方法のほかに、図３５に示すように、コンテンツ表示領域４０１に重畳して図表表示領域４０３を生成し、図表表示領域４０３に該当する図表を表示する、いわゆるポップアップ形式を採用してもよい。
【０１２６】
上記のようにコンテンツ表示領域４０１と操作領域４０２とを備える場合、操作領域４０２は、コンテンツ表示領域４０１と必ずしも分離されている必要は無く、コンテンツ表示領域４０１に重畳して表示してもよく、また、操作領域４０２は常時表示せずに表示の命令が入力された場合にのみ画面上に表示するようにしてもよい。表示の命令の入力方法は、たとえば、表示装置４００が備えるタッチパネルのうち表示領域に該当する範囲において、一定時間以上、タッチ開始時点でのタッチ座標から一定距離以上離れることなくタッチパネルをタッチした状態を継続する（いわゆる長押し）等が挙げられる。
【０１２７】
なお、上記の方法自体は、図表の順序や対応する段落との関連付けの精度を向上するものでは無いが、図表の表示位置を固定せず、「（ほぼ）本文の順序通りに並んだ図表の一覧」からユーザ自身が選択して閲覧することで、対応する段落との関連付けが困難な複雑なレイアウトの文章を読み進める上での違和感を解消させることができる。
【０１２８】
〔実施の形態２：画像読取装置〕
実施の形態１では、本発明に係る変換処理装置を画像形成装置が有する画像処理装置に適用した構成について説明したが、これに限るものではない。そこで、本実施の形態では、本発明に係る変換処理装置を変換処理部として、フラットベッドスキャナ等の画像読取装置が有する画像処理装置に適用した例について説明する。
【０１２９】
なお、実施の形態１の説明に用いた図面に記載されている部材と同じ機能を有する部材については、以下の説明においても同じ符号を付記する。また、それらの各部材の詳細な説明はここでは繰り返さない。
【０１３０】
図３０は、実施の形態２に係る画像処理装置１ａを備える画像読取装置（情報処理装置）２００の構成を示すブロック図である。図３０に示すように、画像読取装置２００は、画像処理装置１ａ、画像入力装置２、送信装置４、記憶部５、及び操作パネル６を備えている。画像処理装置１ａは、Ａ／Ｄ変換部１１、シェーディング補正部１２、原稿種別判別部１３、入力階調補正部１４、領域分離処理部１５、圧縮処理部２１、及び変換処理部（変換処理装置）２２を備えている。当該変換処理部２２にて、実施の形態１にて説明したのと同様に、参照リストが生成される。
【０１３１】
画像読取装置２００で実行される各種処理は、画像読取装置２００に備えられる図示しない制御部（ＣＰＵ（Central Processing Unit）あるいはＤＳＰ（Digital Signal Processor）等のプロセッサを含むコンピュータ）により制御される。
【０１３２】
本実施の形態では、画像読取装置２００は、スキャナに限定されることはなく、例えば、デジタルスチルカメラ、書画カメラ、あるいは、カメラを搭載した電子機器類（例えば、携帯電話、スマートフォン、タブレット端末等）であってもよい。
【０１３３】
〔実施の形態３：ネットワークを経由した変換処理装置〕
上記では、本発明に係る変換処理装置を、画像形成装置１００あるいは画像読取装置２００が有する画像処理装置１、１ａに適用する例を示したが、これに限るものではない。本発明に係る変換処理装置を、例えばサーバ装置に適用してもよい。この場合のサーバ装置の構成の一例は、画像形成装置あるいは画像読取装置により画像読取及び各種画像処理が施された文書画像をネットワークを介して受信する受信装置と、実施の形態１にて説明した変換処理部２２での処理を実行する変換処理装置と、当該変換処理装置から出力されたファイル（文書画像及び参照リスト）をネットワークを介して送信する送信装置と、を備えたサーバ装置（情報処理装置）である。
【０１３４】
このようにサーバ装置を構成することにより、画像形成装置あるいは画像読取装置にて画像読取及び各種画像処理が施された文書画像を、ネットワークを経由して受信して、上記の変換処理部２２での処理を実行する変換処理装置により参照リストを生成し（フォーマット変換を適用し）、出力されたファイルをユーザの端末装置（例えば、スマートフォンやタブレット端末等）に送信する、という使い方が可能となる。また、このサーバ装置により、既に設置された画像形成装置あるいは画像読取装置を交換することなく、フォーマット変換機能を利用することが可能となる。また、フォーマット変換後のファイルをサーバ装置に記憶しておくことで、ユーザが望むときに変換後のファイルを受信して閲覧することも可能となる。
【０１３５】
なお、上記サーバ装置の受信装置が受信する文書画像は、画像形成装置や画像読取装置等にて生成された文書画像である必要は無い。例えばＷｏｒｄファイルやＰＤＦファイル等のように、構造化された文書ファイルを画像化したものを文書画像として受信してもよい。
【０１３６】
〔実施の形態４：記録媒体・プログラム〕
上記で説明した画像処理装置１，１ａ，１ｂ（特に、変換処理部２２，２２ａ）やサーバ装置（特に、変換処理装置）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１３７】
後者の場合、画像処理装置１，１ａ，１ｂやサーバ装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラム及び各種データがコンピュータ（又はＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）又は記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）等を備えている。そして、コンピュータ（又はＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１３８】
なお、上記した画像処理装置１，１ａ，１ｂ及び画像処理方法は、カラーの画像データを扱う構成としたが、これに限るものではなく、白黒の画像データを扱う構成であってもよい。
【０１３９】
本発明は上述した各実施の形態に限定されるものではなく、種々の変更が可能である。すなわち、本発明の要旨を逸脱しない範囲内において適宜変更した技術的手段を組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。
【０１４０】
〔まとめ〕
本発明の態様１に係る変換処理装置（変換処理部２２）は、文書を画像化した文書画像の再構成を行う変換処理装置において、前記文書画像から文字、図、及び表をそれぞれ抽出し、前記文書画像における各行を文字から成る文字列行と図又は表から成る図表行とに分類し、かつ、前記文書画像における文書の記述方向を決定する行解析手段（行解析処理部３１）と、前記文書のレイアウトに基づき、前記文字列行及び図表行の順序付けを行うレイアウト解析手段（レイアウト解析処理部３５）と、前記文字列行及び図表行の順序付けと前記記述方向とに従って、前記文書画像に含まれる各文字、図、及び／又は表の順序を記述した参照リストを生成する参照リスト生成手段（再配置処理部３６）と、を備える。
【０１４１】
上記構成によると、文書画像から個々の文字、図、及び表をそれぞれ抽出し、文書画像における各行を文字列行と図表行とに分類し、文書の記述方向を決定し、文書のレイアウトに基づき、文字列行及び図表行の順序付けを行う。そして、この順序付けと記述方向とに従って、文書画像に含まれる各文字、図、及び／又は表の順序を記述した参照リストを生成する。
【０１４２】
この参照リストは、文字列行及び図表行の順序付けと文書の記述方向とに従ったものであり、リフロー型のファイルとして変換するための情報である。参照リストとして、文書画像をリフロー型表示が可能なファイル形式に変換したものを生成することで、処理量を減らして、あらゆる表示装置の表示領域（表示画面）にそれぞれ適したレイアウト配置が可能となる。参照リストを用いることで、表示装置では、文書画像の文書の記述方向に垂直な方向のスクロール操作のみでの表示を実現することが可能となる。
【０１４３】
また、参照リストを、文書構造を列記したテキストデータとして参照リストを生成することで、閲覧用途でなく文書構造の解析用途とすることができる。加えて、出力されたテキスト形式の参照リストから更に所望のファイルフォーマットに変換することで、別のファイルフォーマットで出力したい場合に最初から処理をやり直さなくてもよくなる。
【０１４４】
本発明の態様２に係る変換処理装置は、態様１において、さらに、前記文字列行及び図表行それぞれについて、行の配置に基づいて連続する行同士を統合した行ブロックを生成することで、前記文字列行及び図表行を当該行ブロックに分類する行ブロック解析手段（行ブロック解析処理部３４）を備え、前記レイアウト解析手段は、前記行ブロックの配置に基づいて、前記行ブロックを段組及び当該段組を構成するカラムに分類し、前記段組、カラム、行ブロック、文字列行及び図表行の配置を基に、前記文書全体における前記文字列行及び図表行の順序付けを行うと共に、前記文字列行の繋がりに基づいて前記文字列行及び図表行を段落に分類し、段落毎に前記文字列行及び図表行の順序付けを行い、前記参照リスト生成手段は、前記段落毎の前記文字列行及び図表行の順序付けと前記記述方向とに従って、前記参照リストを生成する。
【０１４５】
上記構成によると、文字列行及び図表行を、行ブロック、段組、カラムに分類し、段組、カラム、行ブロック、文字列行及び図表行の配置を基に、文書全体における前記文字列行及び図表行の順序付けを行い、さらに、文字列行の繋がりに基づいて文字列行及び図表行を段落に分類し、段落毎に文字列行及び図表行の順序付けを行い、この段落毎の前記文字列行及び図表行の順序付けと前記記述方向とに従って、参照リストを生成する。段落を定義することで、文書画像に行の折り返しがあっても、１つの段落内では改行をしないようにするほか、各段落に従属する図又は表の配置を、その段落の先頭や末尾にまとめて表示する等の修正をすることで、文字列と文字列の間に図又は表が挟まれていても、同一段落内とみなされていれば、そのまま図又は表を挟まずに配置するよう修正することにより、文章の連続性及び可読性を向上することができる。
【０１４６】
本発明の態様３に係る変換処理装置は、上記態様２において、前記レイアウト解析手段は、前記段落毎に、前記文字列行と前記図表行とを分けて順序付けを行う。
【０１４７】
上記構成によると、段落毎に文字列行と図表行とを分けて順序付けを行うことで、図又は表の挿入により、文章が不自然に分離されるのを避けることができる。
【０１４８】
本発明の態様４に係る変換処理装置は、上記態様２又は３において、前記レイアウト解析手段は、前記文字列行より、注目行とその前後に隣接する文字列行である隣接行とを抽出し、前記注目行及び前記隣接行の位置関係に基づいて、前記注目行と当該注目行の前の隣接行との間で改行されているか否かを判定し、改行されている場合には、前記注目行を段落開始行に設定する段落解析手段（段落解析処理部３９）を備える。
【０１４９】
上記構成によると、上記のように注目行と当該注目行の前の隣接行との間で改行されているか否かを判定し、改行位置を基準に段落の範囲を定義することができる。よって、途中で図表が挟まれていても適切に改行位置を判定し、図表の位置を段落内で調整することが可能となる。
【０１５０】
本発明の態様５に係る変換処理装置は、上記態様１から４の何れか１つにおいて、前記参照リスト生成手段は、前記参照リストとして、前記文書画像をリフロー型表示が可能なファイル形式に変換したものを生成する。
【０１５１】
上記構成によると、参照リストとして、文書画像をリフロー型表示が可能なファイル形式に変換したものを生成することで、電子書籍に適したファイル形式での記述を行うことができる。よって、変換機能の提供が可能となる。そのため、参照リストを使用する表示装置にてリフロー型表示を行うことができ、ユーザは少ない処理ステップ数で簡単に閲覧できるようになる。
【０１５２】
本発明の態様６に係る変換処理装置は、上記態様１から５の何れか１つにおいて、前記行解析手段は、前記文書画像から個々の文字を抽出する際、行頭に配置されることが禁止された記号を、前記記述方向における１つ前の文字と統合した状態、かつ、行末に配置されることが禁止された記号を、前記記述方向における１つ後の文字に統合した状態で抽出する。
【０１５３】
上記構成により、行頭に配置されることが禁止された記号をその１つ前の文字と統合することで、行頭禁則の記号（句読点や終わりの括弧等）が行頭に来たり、行末に配置されることが禁止された記号をその１つ後の文字と統合することで、行末禁則の記号（始まりの括弧等）が行末に来たりすることを防ぐことができる。
【０１５４】
本発明の態様７に係る変換処理装置は、上記態様１から６の何れか１つにおいて、前記行解析手段は、前記文書画像が複数ページから構成されていると、当該複数ページの文書画像から分類される文字列行の少なくとも一部を用いて前記記述方向を決定し、当該決定した記述方向を前記複数ページに対して設定する。
【０１５５】
複数ページにまたがる文書画像において、挿絵やグラフ、写真等がページの大部分を占めてページ単位での記述方向の決定が困難となる場合がある。しかし、上記構成によると、ページ単位でなく、入力された文書画像の全ページにわたって解析を行う。そのため、上記のような判定の難しいページに対しても記述方向の決定（設定）が可能となる。ここで、「一部」とは、例えば、「特に文字数の多いページＴＯＰ３」、「表紙と最終ページを除いたページ」等であってもよい。このような場合、本文らしさを考慮した限定的な解析が可能となる。
【０１５６】
本発明の態様８に係る変換処理装置は、前記態様２において、前記行ブロック解析手段は、前記文書画像に前記記述方向と直交する方向の文字列行が存在する場合は、当該直交する方向の文字列行の行ブロックを図表行の行ブロックに置き換える。
【０１５７】
上記構成によると、ある方向（記述方向）に記述された文章中に、その方向と直交する方向に記述された文章が混在することを防ぐことができる。
【０１５８】
本発明の態様９に係る情報処理装置は、上記態様１から８の何れか１つに記載の変換処理装置と、上記生成された参照リストを送信する送信装置と、を備える。
【０１５９】
上記情報処理装置は、例えば、画像形成装置、画像読取装置、サーバ装置等であってもよい。また、画像読取装置は、スキャナ、デジタルスチルカメラ、書画カメラ、あるいは、カメラを搭載した電子機器類（例えば、携帯電話、スマートフォン、タブレット端末等）等であってもよい。上記情報処理装置が、例えば、画像形成装置である場合、読み込まれた画像データに変換処理を施して画像データを再構成し、アドレスを指定して再構成された画像データを受信側装置（例えば、タブレット端末等）に送信することにより、受信側装置にて、一方向（文書の記述方向と直交する方向）のスクロールのみで画像を閲覧することができる。
【０１６０】
なお、上記変換処理装置は、コンピュータによって実現してもよい。この場合には、コンピュータを上記各手段として動作させることにより上記変換処理装置をコンピュータにて実現させるプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【産業上の利用可能性】
【０１６１】
本発明は、文書画像の再構成を行う変換処理装置等に利用することができる。
【符号の説明】
【０１６２】
１，１ａ，１ｂ  画像処理装置
４      送信装置
２２，２２ａ  変換処理部（変換処理装置）
３１    行解析処理部（行解析手段）
３２    文字列抽出処理部
３３    図表抽出処理部
３４    行ブロック解析処理部（行ブロック解析手段）
３５    レイアウト解析処理部（レイアウト解析手段）
３６    再配置処理部（参照リスト生成手段）
３７    段組解析処理部
３８    順序付け処理部
３９    段落解析処理部（段落解析手段）
１００  画像形成装置（情報処理装置）
２００  画像読取装置（情報処理装置）
３００  画像形成装置（情報処理装置）
【図１】
2015146122.tif 000003
【図２】
2015146122.tif 000004
【図３】
2015146122.tif 000005
【図４】
2015146122.tif 000006
【図５】
2015146122.tif 000007
【図６】
2015146122.tif 000008
【図７】
2015146122.tif 000009
【図８】
2015146122.tif 000010
【図９】
2015146122.tif 000011
【図１０】
2015146122.tif 000012
【図１１】
2015146122.tif 000013
【図１２】
2015146122.tif 000014
【図１３】
2015146122.tif 000015
【図１４】
2015146122.tif 000016
【図１５】
2015146122.tif 000017
【図１６】
2015146122.tif 000018
【図１７】
2015146122.tif 000019
【図１８】
2015146122.tif 000020
【図１９】
2015146122.tif 000021
【図２０】
2015146122.tif 000022
【図２１】
2015146122.tif 000023
【図２２】
2015146122.tif 000024
【図２３】
2015146122.tif 000025
【図２４】
2015146122.tif 000026
【図２５】
2015146122.tif 000027
【図２６】
2015146122.tif 000028
【図２７】
2015146122.tif 000029
【図２８】
2015146122.tif 000030
【図２９】
2015146122.tif 000031
【図３０】
2015146122.tif 000032
【図３１】
2015146122.tif 000033
【図３２】
2015146122.tif 000034
【図３３】
2015146122.tif 000035
【図３４】
2015146122.tif 000036
【図３５】
2015146122.tif 000037