(57)【特許請求の範囲】
【請求項１】
文書画像情報より、表と、前記表に重畳された文書構成要素との検出を行う文書構成要素検出部と、
前記文書構成要素検出部が検出する水平方向のライン及び前記水平方向のラインの延長線から水平方向の基準線を設定し、前記文書構成要素検出部が検出する垂直方向のライン及び前記垂直方向のラインの延長線から垂直方向の基準線を設定し、２本の隣り合う前記水平方向の基準線及び２本の隣り合う前記垂直方向の基準線により構成される矩形を仮セルとして定義する分割処理部と、
前記仮セル上に前記文書構成要素を重畳して配置し、前記文書構成要素の各々が、少なくとも１つの仮セルからなる集合であり互いに重複しない矩形の結合セル候補のいずれか１つに含まれるように、全ての前記仮セルを前記結合セル候補に分類する第１分類処理部と、
前記仮セルの分類結果と、前記文書構成要素とを用いて、前記表を再構成する表構造情報を記述する表構造記述部と、
を備えることを特徴とする変換処理装置。
【請求項２】
前記結合セル候補が複数の前記仮セルを含む場合、当該複数の仮セルのうち、隣り合う２つの前記仮セル間の境界を、所定の判定基準により、分離または結合して、前記結合セル候補を、矩形で構成される仮セルの集合である少なくとも１つのセルブロックに分類する第２分類処理部
を備えることを特徴とする請求項１に記載の変換処理装置。
【請求項３】
前記分割処理部は更に、前記仮セルの各々について、前記水平方向のラインおよび前記垂直方向のラインから四辺の罫線の情報を取得し、
前記所定の判定基準は、前記第２分類処理部が、２つの隣接する前記仮セルの間に罫線が存在する場合、前記２つの隣接する仮セルを同一のセルブロックに含まないと判定する判定基準である
ことを特徴とする請求項２に記載の変換処理装置。
【請求項４】
前記表構造記述部は、前記仮セルの四辺の罫線の情報を用いて、前記表構造情報を記述する
ことを特徴とする請求項３に記載の変換処理装置。
【請求項５】
前記第２分類処理部は、
前記結合セル候補に含まれる前記仮セルのうち、隣り合う２つの前記仮セルの組について、前記仮セルの組の間に罫線が存在する前記仮セルの組を除いた上で、組となる２つの仮セル間を結合して同一の前記セルブロックに属するようにするか、結合せずにそれぞれ異なる前記セルブロックに属するように分離するかを選択し、結合しないことを選択した際に発生する不自然さを数値化した分離評価値を算出し、分離評価値の総和が最も小さくなり、かつ、前記仮セルの組を分離して得られる前記セルブロックの形状が矩形となる組合せに従って、前記結合セル候補を少なくとも１つの前記セルブロックに分類することを前記所定の判定基準とし、
前記分離評価値は、前記仮セルの組の境界をまたいで前記文書構成要素が検出されている場合、前記仮セルの組を分離した際に大きな値として算出されるように定められている
ことを特徴とする請求項２から４のいずれかに記載の変換処理装置。
【請求項６】
前記第２分類処理部は、
更に、前記仮セルの組を結合することを選択した際に発生する不自然さを数値化した結合評価値を算出し、前記分離評価値及び前記結合評価値の総和が最も小さくなり、かつ、前記仮セルの組を分離、あるいは、結合して得られる前記セルブロックの形状が矩形となる組合せに従って、前記結合セル候補を少なくとも１つの前記セルブロックに分類する
ことを特徴とする請求項５に記載の変換処理装置。
【請求項７】
前記分割処理部は、
前記仮セルの各々に含まれる画素のうち、前記基準線と前記文書構成要素を除いた画素の画素値の平均を算出して前記仮セルの背景色を示す値とし、
前記結合評価値は、
前記仮セルの組において、前記背景色を示す値の差が、前記背景色の異なる前記仮セル同士である可能性が高いことを示す所定条件を満たす場合に、前記仮セルの組における結合評価値が大きな値として算出されるように定められている
ことを特徴とする請求項６に記載の変換処理装置。
【請求項８】
前記第２分類処理部は、
前記結合セル候補に含まれるいずれの前記仮セルの組の間においても罫線が存在しない場合、当該結合セル候補についての前記分離評価値、または、前記結合評価値の算出を省略する
ことを特徴とする請求項６または７に記載の変換処理装置。
【請求項９】
前記分割処理部は、所定距離以下にある同一方向の基準線同士を１本の基準線として統合する
ことを特徴とする請求項１から８のいずれか一項に記載の変換処理装置。
【請求項１０】
前記分割処理部は、
前記仮セルにおいて、前記ラインのうち前記仮セルの辺と重複する範囲の長さの合計と、前記仮セルの辺の長さと、に基づいて、前記仮セルの辺に罫線が存在か否かを判定する
ことを特徴とする請求項１から９のいずれか１項に記載の変換処理装置。
【請求項１１】
前記第１分類処理部は、
前記文書構成要素が複数の前記仮セル上にまたがって配置される場合、前記文書構成要素を囲む最小の矩形を構成する前記仮セルの集合を初期結合セル候補として設定し、
前記初期結合セル候補同士が重複する場合は、重複する初期結合セル同士を含む最小の矩形を構成する仮セルの集合を結合セル候補として更新し、
全ての前記結合セル候補が互いに重複しないように前記更新を繰り返した後、いずれの前記結合セル候補にも含まれていない前記仮セルの各々を１つの前記結合セル候補とする
ことを特徴とする請求項１から１０のいずれか１項に記載の変換処理装置。
【請求項１２】
前記文書構成要素及び前記表構造情報を用いて、前記文書画像情報を、ユーザにより選択されたファイル形式のファイルに変換するファイル記述部
を備えることを特徴とする請求項１から１１のいずれか１項に記載の変換処理装置。
【請求項１３】
請求項１から１２のいずれか一項に記載の変換処理装置を備えることを特徴とする情報処理装置。
【請求項１４】
コンピュータを、
文書画像情報より、表と、前記表に重畳された文書構成要素との検出を行う文書構成要素検出手段、
前記文書構成要素検出手段が検出する水平方向のライン及び前記水平方向のラインの延長線から水平方向の基準線を設定し、前記文書構成要素検出手段が検出する垂直方向のライン及び前記垂直方向のラインの延長線から垂直方向の基準線を設定し、２本の隣り合う前記水平方向の基準線及び２本の隣り合う前記垂直方向の基準線により構成される矩形を仮セルとして定義する分割処理手段、
前記仮セル上に前記文書構成要素を重畳して配置し、前記文書構成要素の各々が、少なくとも１つの仮セルからなる集合であり互いに重複しない矩形の結合セル候補のいずれか１つに含まれるように、全ての前記仮セルを前記結合セル候補に分類する第１分類処理手段、
前記仮セルの分類結果と、前記文書構成要素とを用いて、前記表を再構成する表構造情報を記述する表構造記述手段、
として機能させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換処理装置、それを備えた情報処理装置、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来、電子写真方式又はインクジェット方式等により画像形成を行う複写機又は複合機等の画像形成装置が広く普及している。また、近年の複合機は高機能化が進められており、スキャナにより読み取った文書を文書画像データ（以下、文書画像情報、または文書画像ともいう）として保存し、保存した文書画像を管理する機能等が求められている。一般に、スキャナにより読み取った文書は、画像データとして保存されるため読み取った文書をそのまま再編集することはできない。これに対し、読み取った文書画像に含まれる文字や図表の情報を取得して再編集したいといった要望があり、更には、文書画像に含まれる文字や図、表などの構造を認識し、文書作成ソフトウェアや、表計算ソフトウェア、またはプレゼンテーションソフトウェアなどで作成、使用されるオフィス文書ファイルとして再構成する機能への需要が高まっている。
【０００３】
こうしたオフィス文書ファイルへの変換処理機能を支える技術として、文書画像に含まれる文字や図、写真、表などといった要素を抽出、解析する技術が必要となる。既に、光学文字認識（Optical Character Recognition; OCR）技術により、文書画像に含まれる文字画像を解析して文字コードなどの情報に変換する機能が多くのスキャナなどにも搭載されている。これにより、文書画像中の文字画像の集合を編集可能なテキストデータとして取得することは一般に行われている。また、文書画像中に含まれる図や写真、また表の領域を分離、抽出するといった機能も種々提案されている。また、紙媒体でしか保存されていない帳票を作り直したり、膨大な実験データを表計算ソフトに入力したりといった利用例を考えると、特に表の再構成の頻度は高いと考えられる。しかし、文書画像から手動で同様のレイアウトの文書を作成する場合、表を再構成する作業が、特に手間のかかる作業であり、表の再構成の自動化がますます重要となっている。
【０００４】
そこで、こうした表画像からセル構造を解析して、表を再構成するための技術が開発されている。たとえば、特許文献１に記載の技術では、四角形でないセル形状を持つ表画像において、表を格子化することで得られる基本セル同士の関係を判定し、隣接する基本セル間を隔てる罫線の有無に応じて結合判定を行うことで、表内の基本セル同士の結合関係を解析する画像処理装置を提案している。この画像処理装置では、罫線で隔てられていない基本セルの集合を１つのセルとみなして同一の識別子を割り当てることにより、たとえば、ＯＣＲ処理を同一の識別子を持つ基本セル単位で実行することで、同一のセル内に限定した文字認識が可能となるため、複数の文字列間の前後関係が把握し易いなどの利点がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５５７４２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術を利用し、隣接する基本セル間を隔てる罫線を検出して表の構造解析を行うと、四角形ではないセル形状が含まれるようになり、この場合、オフィス文書ファイルへの変換を行うことができないという問題がある。オフィス文書では、セルを結合すると矩形になるように構成されているためである。
【０００７】
そこで、本発明は、前記問題に鑑みなされたものであり、文書構成要素の配置を考慮してセルの結合関係を判定し、各文書構成要素が適切にセルに割り当てられ、最終的に結合されたセルが矩形となるようにセル同士の結合を行う変換処理装置、それを備えた情報処理装置、プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明の一態様は、文書画像情報より、表と、前記表に重畳された文書構成要素との検出を行う文書構成要素検出部と、前記文書構成要素検出部が検出する水平方向のライン及び前記水平方向のラインの延長線から水平方向の基準線を設定し、前記文書構成要素検出部が検出する垂直方向のライン及び前記垂直方向のラインの延長線から垂直方向の基準線を設定し、２本の隣り合う前記水平方向の基準線及び２本の隣り合う前記垂直方向の基準線により構成される矩形を仮セルとして定義する分割処理部と、前記仮セル上に前記文書構成要素を重畳して配置し、前記文書構成要素の各々が、少なくとも１つの仮セルからなる集合であり互いに重複しない矩形の結合セル候補のいずれか１つに含まれるように、全ての前記仮セルを前記結合セル候補に分類する第１分類処理部と、前記仮セルの分類結果と、前記文書構成要素とを用いて、前記表を再構成する表構造情報を記述する表構造記述部と、を備えることを特徴とする変換処理装置である。
【０００９】
また、本発明の一態様は、上記に記載の発明において、前記結合セル候補が複数の前記仮セルを含む場合、当該複数の仮セルのうち、隣り合う２つの前記仮セル間の境界を、所定の判定基準により、分離または結合して、前記結合セル候補を、矩形で構成される仮セルの集合である少なくとも１つのセルブロックに分類する第２分類処理部を備えることを特徴としてもよい。
【００１０】
また、本発明の一態様は、上記に記載の発明において、前記分割処理部は更に、前記仮セルの各々について、前記水平方向のラインおよび前記垂直方向のラインから四辺の罫線の情報を取得し、前記所定の判定基準は、前記第２分類処理部が、２つの隣接する前記仮セルの間に罫線が存在する場合、前記２つの隣接する仮セルを同一のセルブロックに含まないと判定する判定基準であることを特徴としてもよい。
【００１１】
また、本発明の一態様は、上記に記載の発明において、前記表構造記述部は、前記仮セルの四辺の罫線の情報を用いて、前記表構造情報を記述することを特徴としてもよい。
【００１２】
また、本発明の一態様は、上記に記載の発明において、前記第２分類処理部は、前記結合セル候補に含まれる前記仮セルのうち、隣り合う２つの前記仮セルの組について、前記仮セルの組の間に罫線が存在する前記仮セルの組を除いた上で、組となる２つの仮セル間を結合して同一の前記セルブロックに属するようにするか、結合せずにそれぞれ異なる前記セルブロックに属するように分離するかを選択し、結合しないことを選択した際に発生する不自然さを数値化した分離評価値を算出し、分離評価値の総和が最も小さくなり、かつ、前記仮セルの組を分離して得られる前記セルブロックの形状が矩形となる組合せに従って、前記結合セル候補を少なくとも１つの前記セルブロックに分類することを前記所定の判定基準とし、前記分離評価値は、前記仮セルの組の境界をまたいで前記文書構成要素が検出されている場合、前記仮セルの組を分離した際に大きな値として算出されるように定められていることを特徴としてもよい。
【００１３】
また、本発明の一態様は、上記に記載の発明において、前記第２分類処理部は、更に、前記仮セルの組を結合することを選択した際に発生する不自然さを数値化した結合評価値を算出し、前記分離評価値及び前記結合評価値の総和が最も小さくなり、かつ、前記仮セルの組を分離、あるいは、結合して得られる前記セルブロックの形状が矩形となる組合せに従って、前記結合セル候補を少なくとも１つの前記セルブロックに分類することを特徴としてもよい。
【００１４】
また、本発明の一態様は、上記に記載の発明において、前記分割処理部は、前記仮セルの各々に含まれる画素のうち、前記基準線と前記文書構成要素を除いた画素の画素値の平均を算出して前記仮セルの背景色を示す値とし、前記結合評価値は、前記仮セルの組において、前記背景色を示す値の差が、前記背景色の異なる前記仮セル同士である可能性が高いことを示す所定条件を満たす場合に、前記仮セルの組における結合評価値が大きな値として算出されるように定められていることを特徴としてもよい。
【００１５】
また、本発明の一態様は、上記に記載の発明において、前記第２分類処理部は、前記結合セル候補に含まれるいずれの前記仮セルの組の間においても罫線が存在しない場合、当該結合セル候補についての前記分離評価値、または、前記結合評価値の算出を省略することを特徴としてもよい。
【００１６】
また、本発明の一態様は、上記に記載の発明において、前記分割処理部は、所定距離以下にある同一方向の基準線同士を１本の基準線として統合することを特徴としてもよい。
【００１７】
また、本発明の一態様は、上記に記載の発明において、前記分割処理部は、前記仮セルにおいて、前記ラインのうち前記仮セルの辺と重複する範囲の長さの合計と、前記仮セルの辺の長さと、に基づいて、前記仮セルの辺に罫線が存在か否かを判定することを特徴としてもよい。
【００１８】
また、本発明の一態様は、上記に記載の発明において、前記第１分類処理部は、前記文書構成要素が複数の前記仮セル上にまたがって配置される場合、前記文書構成要素を囲む最小の矩形を構成する前記仮セルの集合を初期結合セル候補として設定し、前記初期結合セル候補同士が重複する場合は、重複する初期結合セル同士を含む最小の矩形を構成する仮セルの集合を結合セル候補として更新し、全ての前記結合セル候補が互いに重複しないように前記更新を繰り返した後、いずれの前記結合セル候補にも含まれていない前記仮セルの各々を１つの前記結合セル候補とすることを特徴としてもよい。
【００１９】
また、本発明の一態様は、上記に記載の発明において、前記文書構成要素及び前記表構造情報を用いて、前記文書画像情報を、ユーザにより選択されたファイル形式のファイルに変換するファイル記述部を備えることを特徴としてもよい。
【００２０】
また、本発明の一態様は、上記に記載の変換処理装置を備えることを特徴とする情報処理装置である。
【００２１】
また、本発明の一態様は、コンピュータを、文書画像情報より、表と、前記表に重畳された文書構成要素との検出を行う文書構成要素検出手段、前記文書構成要素検出手段が検出する水平方向のライン及び前記水平方向のラインの延長線から水平方向の基準線を設定し、前記文書構成要素検出手段が検出する垂直方向のライン及び前記垂直方向のラインの延長線から垂直方向の基準線を設定し、２本の隣り合う前記水平方向の基準線及び２本の隣り合う前記垂直方向の基準線により構成される矩形を仮セルとして定義する分割処理手段、前記仮セル上に前記文書構成要素を重畳して配置し、前記文書構成要素の各々が、少なくとも１つの仮セルからなる集合であり互いに重複しない矩形の結合セル候補のいずれか１つに含まれるように、全ての前記仮セルを前記結合セル候補に分類する第１分類処理手段、前記仮セルの分類結果と、前記文書構成要素とを用いて、前記表を再構成する表構造情報を記述する表構造記述手段、として機能させるためのプログラムである。
【００２２】
また、本発明の一態様は、上記に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２３】
この発明によれば、文書構成要素の配置を考慮してセルの結合関係を判定し、各文書構成要素が最も適切にセルに割り当てられ、最終的に結合されたセルが矩形となるようにセル同士の結合を行うことが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態１による画像形成装置の構成を示すブロック図である。
【図２】同実施の形態による変換処理部の構成を示すブロック図である。
【図３】同実施の形態による表構造化処理部の構成を示すブロック図である。
【図４】同実施の形態による表画像の一例を示す図である。
【図５】同実施の形態による基準線選択処理を説明するための図である。
【図６】同実施の形態による仮セル定義処理を説明するための図である。
【図７】同実施の形態による文書構成要素重畳処理を説明するための図である。
【図８】同実施の形態による結合セル候補抽出処理を説明するための図である。
【図９】同実施の形態による結合セル候補更新処理を説明するための図（その１）である。
【図１０】同実施の形態による結合セル候補更新処理を説明するための図（その２）である。
【図１１】同実施の形態による禁止パターン１を説明するための図である。
【図１２】同実施の形態による禁止パターン２を説明するための図である。
【図１３】同実施の形態による分離ペナルティを説明するための図（その１）である。
【図１４】同実施の形態による分離ペナルティを説明するための図（その２）である。
【図１５】同実施の形態による分離ペナルティを説明するための図（その３）である。
【図１６】同実施の形態による結合ペナルティを説明するための図（その１）である。
【図１７】同実施の形態による結合ペナルティを説明するための図（その２）である。
【図１８】同実施の形態による表構造記述部による処理を説明するための図である。
【図１９】同実施の形態によるセルブロックの結合情報を説明するための図である。
【図２０】同実施の形態によるセルブロックに格納される文書構成要素の情報を説明するための図である。
【図２１】同実施の形態による表構造情報の一例を示す図（その１）である。
【図２２】同実施の形態による表構造情報の一例を示す図（その２）である。
【図２３】Ｗｏｒｄファイルのファイル構造の一例を示す図である。
【図２４】マークアップ言語を用いて記述された表の一例を示す図である。
【図２５】同実施の形態による文字列の間に罫線が存在する場合の文字列の分離の処理を説明する図である。
【図２６】同実施の形態による文字列の間に境界が存在する場合の文字列の分離の処理を説明する図である。
【図２７】同実施の形態による文字列の間に境界が存在する場合に文字列を分離するか否かを判定する条件１を説明する図である。
【図２８】同実施の形態による文字列の間に境界が存在する場合に文字列を分離するか否かを判定する条件２を説明する図である。
【図２９】同実施の形態による文字列の間に境界が存在する場合に文字列を分離するか否かを判定する他の条件（その１）を説明する図である。
【図３０】同実施の形態による文字列の間に境界が存在する場合に文字列を分離するか否かを判定する他の条件（その２）を説明する図である。
【図３１】同実施の形態による文字列の間に境界が存在する場合に文字列を分離するか否かを判定する他の条件（その３）を説明する図である。
【図３２】同実施の形態による文字列の間に境界が存在する場合に傾きのある文字列を分離するか否かを判定する他の条件（その１）を説明する図である。
【図３３】同実施の形態による文字列の間に境界が存在する場合に傾きのある文字列を分離するか否かを判定する他の条件（その２）を説明する図である。
【図３４】本発明の実施の形態２による画像読取装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。本発明による実施形態では、文書画像情報から、Ｗｏｒｄなど各種オフィス用文書ファイル情報への変換（文書構造化）を行う際に、検出されたラインや文字などの情報から表のセル構造を解析し、より自然にセル同士の結合または分離を行う。
【００２６】
〔実施の形態１：画像形成装置〕
以下の説明では、本発明に係る変換処理装置が変換処理部３０として画像処理装置１の一部を成し、また、その画像処理装置１が画像形成装置１００の一部を成す形態を例示する。図１は、実施の形態１に係る画像形成装置１００（情報処理装置）の機能的構成を示すブロック図である。画像形成装置１００は、たとえば、コピー機能及びスキャナ機能等を有するデジタル複合機である。画像形成装置１００は、画像処理装置１、画像入力装置２、画像出力装置３、送信装置４、操作パネル５、及び記憶部６を備えている。
【００２７】
操作パネル５は、画像入力装置２、画像処理装置１、画像出力装置３及び送信装置４に接続されている。操作パネル５は、ユーザが画像形成装置１００の動作モードを設定するための設定ボタン及びテンキー等の操作部（不図示）と、液晶ディスプレイ等で構成される表示部（不図示）とを備える。
【００２８】
画像形成装置１００で実行される各種処理は、不図示の制御部（ＣＰＵ（Central Processing Unit）あるいはＤＳＰ（Digital Signal Processor）等のプロセッサを含むコンピュータ）が制御する。画像形成装置１００の制御部は、不図示のネットワークカード及びＬＡＮケーブルを介して、ネットワークに接続されたコンピュータ及び他のデジタル複合機等とデータ通信を行う。
【００２９】
以下、画像形成装置１００の各部について詳述する。画像入力装置２は、原稿から画像を光学的に読み取る。画像入力装置２は、たとえば、ＣＣＤ（Charge Coupled Device）を有するカラースキャナよりなり、原稿からの反射光像を、ＣＣＤを用いてＲＧＢ（Ｒ：赤，Ｇ：緑，Ｂ：青）のアナログ信号として読み取り、画像処理装置１へ出力する。画像入力装置２は、スキャナでなくてもよく、たとえば、デジタルカメラ等であってもよい。
【００３０】
画像処理装置１は、画像入力装置２が読み取った画像データに処理を施し、処理を施した画像データを保存、あるいは、送信するために圧縮ファイルを生成する。画像処理装置１は、画像入力装置２から入力されたＲＧＢのアナログ信号に対して、Ａ／Ｄ変換部１０、シェーディング補正部１１、原稿種別判別部１２、入力階調補正部１３、及び領域分離処理部１４により、各後述する画像処理を実行することによって、ＲＧＢのデジタル信号（以下、ＲＧＢ信号という）からなる画像データを生成する。
【００３１】
また、画像処理装置１は、領域分離処理部１４が出力したＲＧＢ信号に対して色補正部１５、黒生成下地除去部１６、空間フィルタ処理部１７、出力階調補正部１８、及び階調再現処理部１９により、各後述する画像処理を実行することによって、ＣＭＹＫ（Ｃ：シアン，Ｍ：マゼンタ，Ｙ：イエロー，Ｋ：ブラック）のデジタル信号からなる画像データを生成して、ストリームとして画像出力装置３へ出力する。なお、画像出力装置３へ出力される前に、画像データが、記憶部６に一旦記憶されてもよい。記憶部６は、たとえば、不揮発性の記憶装置（たとえば、ハードディスク）である。
【００３２】
画像出力装置３は、画像処理装置１が生成した画像データに基づいて画像を出力する。画像出力装置３は、画像処理装置１から入力された画像データに基づいて、熱転写、電子写真、又はインクジェット等の方式により、記録シート（たとえば、記録用紙等）上にカラー画像を形成（印刷）して出力する。なお、画像出力装置３はカラー画像を出力する構成に限られるものではなく、たとえば、記録シート上にモノクローム画像を形成して出力する構成であってもよい。この場合、画像処理装置１により、カラー画像の画像データがモノクローム画像の画像データに変換されてから画像出力装置３へ出力される。
【００３３】
更にまた、画像処理装置１において、領域分離処理部１４が出力したＲＧＢ信号に対して圧縮処理部２０が、画像圧縮処理を実行することによって、圧縮されたカラー画像の画像データを有する圧縮ファイルを生成し、送信装置４へ出力する。なお、送信装置４へ出力される前に、圧縮ファイルが記憶部６に一旦記憶されてもよい。
【００３４】
画像処理装置１の変換処理部３０は、操作パネル５においてフォーマット変換モードが選択されている場合、領域分離処理部１４が出力したＲＧＢ信号に対してフォーマット変換処理を実行する。このフォーマット変換処理により、変換処理部３０は、後述のように、カラー画像が有する文書レイアウトを解析して文書構造ツリーを生成し、この文書構造ツリーを操作パネル５においてユーザが選択したフォーマットに変換して、送信装置４へ出力する。なお、変換処理部３０は、本発明に係る変換処理装置として機能する機能部でもある。また、送信装置４へ出力される前に、変換されたファイルが記憶部６に一旦記憶されてもよい。
【００３５】
送信装置４は、画像処理装置１が生成した圧縮ファイルを外部へ送信する。送信装置４は、図示しない公衆回線網、ＬＡＮ（Local Area Network）又はインターネット等の通信ネットワークに接続可能であり、ファクシミリ又は電子メール等の通信方法により、通信ネットワークを介して外部へ圧縮ファイルを送信する。たとえば、操作パネル５において「scan to e-mail」モードが選択されている場合、ネットワークカード、モデム等を用いてなる送信装置４は、圧縮ファイルを電子メールに添付し、設定された送信先へ送信する。
【００３６】
なお、ファクシミリ送信を行う場合は、画像形成装置１００の制御部が、モデム等を用いてなる送信装置４により、相手先との通信手続きを行い、送信可能な状態が確保されたときに、圧縮ファイルに対して圧縮形式の変更等の必要な処理を施してから、相手先に通信回線を介して順次送信する。
また、ファクシミリを受信する場合、画像形成装置１００の制御部は、送信装置４により、通信手続きを行いながら、相手先から送信されてくる圧縮ファイルを受信して、画像処理装置１に入力する。
【００３７】
画像処理装置１では、受信した圧縮ファイルに対し、不図示の圧縮／伸張処理部で伸張処理が施される。圧縮ファイルを伸張することによって得られた画像データには、必要に応じて、不図示の処理部で回転処理及び／又は解像度変換処理等が施され、また、出力階調補正部１８で出力階調補正が施され、階調再現処理部１９で階調再現処理が施される。各種画像処理が施された画像データは、画像出力装置３へ出力され、画像出力装置３により、記録シート上に画像が形成される。
【００３８】
以下では、画像処理装置１の構成について、画像処理装置における画像処理及びフォーマット変換処理を詳述しながら説明する。Ａ／Ｄ変換部１０は、画像入力装置２から画像処理装置１へ入力されたＲＧＢのアナログ信号を受け付け、ＲＧＢのアナログ信号をＲＧＢのデジタル信号（即ちＲＧＢ信号）へ変換し、変換したＲＧＢ信号をシェーディング補正部１１へ出力する。
【００３９】
シェーディング補正部１１は、Ａ／Ｄ変換部１０から入力されたＲＧＢ信号に対して、画像入力装置２の照明系、結像系及び撮像系で生じる各種の歪みを取り除く処理を行う。次いで、シェーディング補正部１１は、歪みを取り除いたＲＧＢ信号を原稿種別判別部１２へ出力する。原稿種別判別部１２では、シェーディング補正部１１から入力されたＲＧＢの反射率信号をＲＧＢ各色の濃度を示す濃度信号に変換し、文字、印刷写真、又は写真（連続階調写真）等の原稿のモードを判別する原稿種別判別処理が実行される。原稿種別判別処理を、ユーザが操作パネル５を用いてマニュアル設定する場合、原稿種別判別部１２は、シェーディング補正部１１から入力されたＲＧＢ信号をそのまま後段の入力階調補正部１３に出力する。原稿種別判別処理の処理結果は、後段の画像処理に反映される。
【００４０】
入力階調補正部１３は、ＲＧＢ信号に対して、カラーバランスの調整、下地濃度の除去、及びコントラストの調整等の画質調整処理を行う。入力階調補正部１３は、次に、処理を行ったＲＧＢ信号を領域分離処理部１４へ出力する。領域分離処理部１４は、入力階調補正部１３から入力されたＲＧＢ信号が表す画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離する。また、領域分離処理部１４は、分離結果に基づき、各画素がいずれの領域に属しているかを示す領域識別信号を、黒生成下地除去部１６、空間フィルタ処理部１７、階調再現処理部１９、及び圧縮処理部２０へ出力する。更に、領域分離処理部１４は、入力階調補正部１３から入力されたＲＧＢ信号を、そのまま後段の色補正部１５及び圧縮処理部２０へ出力する。
【００４１】
色補正部１５は、領域分離処理部１４から入力されたＲＧＢ信号をＣＭＹのデジタル信号（以下、ＣＭＹ信号という）へ変換し、色再現の忠実化実現のために、不要吸収成分を含むＣＭＹ色材の分光特性に基づいた色濁りをＣＭＹ信号から取り除く処理を行う。次いで、色補正部１５は、色補正後のＣＭＹ信号を黒生成下地除去部１６へ出力する。黒生成下地除去部１６は、色補正部１５から入力されたＣＭＹ信号に基づき、ＣＭＹ信号から黒色（Ｋ）信号を生成する黒生成処理と、ＣＭＹ信号から黒生成処理で得たＫ信号を差し引いて新たなＣＭＹ信号を生成する処理とを行う。この結果、ＣＭＹ３色のデジタル信号は、ＣＭＹＫ４色のデジタル信号（以下、ＣＭＹＫ信号という）に変換される。次いで、黒生成下地除去部１６は、ＣＭＹ信号を変換したＣＭＹＫ信号を空間フィルタ処理部１７へ出力する。
【００４２】
黒生成処理の一例としては、一般に、スケルトン・ブラックによる黒生成を行う方法が用いられる。この方法では、スケルトン・カーブの入出力特性をｙ＝ｆ（ｘ）、入力されるデータをＣ，Ｍ，Ｙ、出力されるデータをＣ'，Ｍ'，Ｙ'，Ｋ'、ＵＣＲ（Under Color Removal）率をα（０＜α＜１）とすると、黒生成下地除去処理は、下記の式（１）〜式（４）で表わされる。
【００４３】
【数１】
0006607496.tif 000002
【００４４】
【数２】
0006607496.tif 000003
【００４５】
【数３】
0006607496.tif 000004
【００４６】
【数４】
0006607496.tif 000005
【００４７】
ここで、ＵＣＲ率α（０＜α＜１）とは、ＣＭＹが重なっている部分をＫに置き換えてＣＭＹをどの程度削減するかを示すものである。式（１）は、ＣＭＹの各信号強度の内の最も小さい信号強度に応じてＫ信号が生成されることを示している。
【００４８】
空間フィルタ処理部１７は、黒生成下地除去部１６から入力されたＣＭＹＫ信号の画像データに対して、領域分離処理部１４から入力された領域識別信号に基づいてデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正することによって、画像のぼやけ又は粒状性劣化を改善する。たとえば、領域分離処理部１４により文字に分離された領域に対しては、空間フィルタ処理部１７は、文字の再現性を高めるために、高周波成分の強調量が大きいフィルタを用いて空間フィルタ処理を行う。また、領域分離処理部１４により網点に分離された領域に対しては、空間フィルタ処理部１７は、入力網点成分を除去するためのローパス・フィルタ処理を行う。
【００４９】
次いで、空間フィルタ処理部１７は、処理後のＣＭＹＫ信号を出力階調補正部１８へ出力する。出力階調補正部１８は、空間フィルタ処理部１７から入力されたＣＭＹＫ信号に対して、画像出力装置３の特性に基づく出力階調補正処理を行い、出力階調補正処理後のＣＭＹＫ信号を階調再現処理部１９へ出力する。階調再現処理部１９は、出力階調補正部１８から入力されたＣＭＹＫ信号に対して、領域分離処理部１４から入力された領域識別信号に基づいて、中間調処理を行う。たとえば、領域分離処理部１４により文字に分離された領域に対しては、階調再現処理部１９は、高域周波成分の再現に適した高解像度のスクリーンによる二値化又は多値化の処理を行う。また、領域分離処理部１４により網点に分離された領域に対しては、階調再現処理部１９は、階調再現性を重視したスクリーンでの二値化又は多値化の処理を行う。次いで、階調再現処理部１９は、処理後の画像データを画像出力装置３へ出力する。
【００５０】
圧縮処理部２０は、領域分離処理部１４から入力された領域識別信号と、ＲＧＢ信号からなる画像データとに基づき、圧縮ファイルを生成する。圧縮処理部２０に入力される画像データは、マトリクス状に配置されている複数の画素で構成されている。この画像データは、前景レイヤと背景レイヤとに分離され、前景レイヤが更に二値画像に変換され、各二値画像がたとえばＭＭＲ（Modified Modified READ）で可逆圧縮され、背景レイヤがたとえば、ＪＰＥＧ(Joint Photographic Experts Group)で非可逆圧縮される。最後に、可逆圧縮された二値画像及び非可逆圧縮された背景レイヤと、これらを伸張してカラー画像の画像データとなすための伸張情報とが一つのファイルにまとめられる。このファイルが圧縮ファイルである。また、この伸張情報としては、圧縮形式を示す情報、及びインデックス・カラー・テーブル等が用いられる。画素毎に生成された領域識別信号の圧縮は、たとえば、可逆圧縮方法であるＭＭＲ方式、ＭＲ（Modified READ）方式に基づいて行われる。圧縮された画像データ（圧縮画像）は、一旦記憶部６に格納され、たとえば、操作パネル５において、「scan to e-mail」モードが選択されている場合、送信装置４から、電子メールに添付されて、設定された送信先に送信される。
【００５１】
（変換処理部の全体構成）
変換処理部３０は、入力された文書画像の情報（以下、入力画像の情報ともいう）に対してフォーマット変換処理を実行する。変換処理部３０の詳細について、以下で説明する。図２は、変換処理部３０の構成を示すブロック図である。変換処理部３０は、文書構成要素検出部３１と、表領域抽出処理部３２、表構造化処理部３３及びファイル記述部３４を備える。また、文書構成要素検出部３１は、文字抽出処理部３１１、図領域抽出処理部３１２、ライン抽出処理部３１３を備え、入力画像から、表と、表に重畳される文書構成要素、たとえば、文字、文字列、図、写真などを検出する。
【００５２】
文字抽出処理部３１１は、入力画像に含まれる文字画像を抽出し、その文字画像が示す文字の情報をＯＣＲ等により解析する。また、文字抽出処理部３１１は、各文字の並び方から、１つ以上の文字で構成される文字列を定義する（ここでは、１文字のものも文字列に含むこととする）。更に、文字抽出処理部３１１は、抽出された文字のサイズや文字の色などの属性を取得する。
【００５３】
図領域抽出処理部３１２は、入力画像に含まれる図や写真などの領域を抽出し、各領域の情報を取得する。図領域の情報として、少なくとも各図領域を囲む矩形の左上位置及びサイズ（幅、高さ）を含む。ライン抽出処理部３１３は、入力画像に含まれるラインを抽出し、各ラインの情報を取得する。ラインの情報は、少なくともラインの検出された位置（座標）や方向、長さ、幅及び色を含む。
【００５４】
表領域抽出処理部３２は、ライン抽出処理部３１３で抽出されたラインの情報から、互いに交差する水平方向のラインと垂直方向のラインからなる集合を表領域であるかどうかを判定する。表構造化処理部３３は、抽出された表領域において、表領域に含まれるラインや、表領域と重複する位置で抽出された文字や図などの文書構成要素を用いて表構造を解析し、表を構造化するための情報（表構造化情報）を取得する。ファイル記述部３４は、表構造の情報や文字、図などの文書構成要素、また表に含まれないライン等の情報から、入力画像と同様のレイアウトの文書構造となるように、指定されたファイル形式の記述方法に従ってファイルを記述する。
【００５５】
文字抽出処理部３１１、図領域抽出処理部３１２及びライン抽出処理部３１３は、特に前記の順序に従って実行する必要は無く、順序を入れ替えて、もしくは並列して実行することができる。また、文字抽出処理部３１１、図領域抽出処理部３１２、ライン抽出処理部３１３及び表領域抽出処理部３２は、公知の技術を利用することができる。
【００５６】
文字抽出処理部３１１は、公知のＯＣＲ技術により文字及び文字列の抽出を行うことができる。文字列の抽出手法としては、たとえば、表から文字列を抽出する手法（特願２０１４−１７４３４８に記載の技術）を利用することができる。当該手法では、まず、文字抽出処理部３１１が、ＯＣＲにより抽出した文字の文字矩形（外接矩形）を求める。文字抽出処理部３１１が、求めた各矩形に対し、近傍の矩形同士の距離を算出し、近い矩形同士を同じ文字列のグループとして統合する。このとき、近傍の矩形サイズと比較して、あまりにもサイズが違い過ぎており、かつ、近傍に似たような矩形が存在しない矩形については、非文字矩形として除去する。文字抽出処理部３１１は、各文字列グループの水平方向のサイズ、垂直方向のサイズを検出し、長い方を文字列の方向として設定する。水平方向のサイズと垂直方向のサイズが同じくらいの場合は、方向が判定できないので、文字列方向不定として設定する。文字抽出処理部３１１は、同じ方向の近傍文字列でサイズが近いもの、または文字列の開始位置や終了位置が近いもの同士でグループ分けを行って文字列領域とする。なお、文字抽出処理部３１１による、文字の抽出及び文字列の抽出は、ライン抽出処理部３１３の処理の前に行っても、後に行ってもよい。
【００５７】
図領域抽出処理部３１２は、たとえば、参考文献１（特開２００９−１９４７４０号公報）で挙げられる方法により図領域を特定することができる。参考文献１に記載の方法では、入力された画像の所定領域毎に画素値の出現頻度（即ち、ヒストグラム）を求めた場合に、図領域の一つである写真領域上の各画素では濃度変化が広範囲に及ぶヒストグラムが得られることを利用して、ヒストグラムのエントロピー（平均情報量）を算出し、エントロピーが高い領域を抽出することで精度よく写真領域を抽出することが可能となる。
【００５８】
ライン抽出処理部３１３及び表領域抽出処理部３２は、たとえば、参考文献２（特許第５１５３８５７号公報）で挙げられる方法によりライン及び表領域を抽出することができる。参考文献２に記載の方法では、文書画像データからラインとなる可能性のある候補画素を抽出し、前記候補画素が水平方向もしくは垂直方向に所定画素数以上連続する場合に、前記連続する候補画素の集合をラインとして抽出する。前記抽出された水平方向及び垂直方向のラインの位置関係から、各ラインが表を構成する罫線であるか単一のラインであるかを判定し、同一の表を構成するラインの集合について、それら全てを囲む最小外接矩形を表領域として抽出する。参考文献２に記載の方法では、ラインを構成する画素（ライン画素）を文書画像中から抽出しているため、ライン画素の画素値の平均値をラインの色として算出することも可能である。また、上記ライン画素の方向と直交する方向（水平方向のラインであれば垂直方向）に並ぶ画素数からラインの太さを算出することができ、たとえば、垂直方向に連続するライン画素の平均値をラインの太さとして算出することも可能である。
【００５９】
また、よく知られた方法により、点線や破線を検出することが可能であり、当該方法と、参考文献２に記載の方法と組み合わせることで、実線以外の線種のラインを検出することも可能である。たとえば、参考文献３（特開平７−２３０５２５号公報）の方法では、二値化された文書画像から、注目する罫線方向（水平または垂直方向）に連結する黒画素を抽出し、それぞれの連結画素を全て内包する矩形を抽出したとき、その大きさが所定の閾値以下である場合に点線要素とし、更に点線要素同士の間隔が所定閾値内である場合にそれらの点線要素同士を統合した矩形を、点線の罫線として検出することができる。
【００６０】
また、参考文献４（特開平４−６８４７７号公報）では、二値化された文書画像から黒画素の連結を追跡することで輪郭ベクトルを抽出する。そのうち実線の直線もしくは曲線を構成するものを除いた輪郭ベクトルで囲まれた領域の長軸及び短軸の長さの関係から破線候補としての領域を抽出し、得られた破線候補の相互関係を調べることで、同一の破線を構成する破線領域を抽出することができる。
【００６１】
なお、変換したいオフィス文書ファイルの種類によって、ファイル記述部３４が実行するファイルの記述方法（変換方法）は異なる。たとえば、Office Open XML（OOXML）の規格に準拠するオフィススイート（オフィス業務用ソフトウェアのセット）では、XML(Extensible Markup Language)で記述された文書群と、写真やイラストレーション、図形などのバイナリデータを圧縮により１つのファイルとして統合したものをオフィス文書ファイルとして使用する。これに対して、異なる種類のソフトウェア（たとえば、文書作成ソフトウェアとプレゼンテーションソフトウェア）の間ではファイルの記述方法は異なり、また、OOXMLと、異なる規格の文書形式（たとえば、OpenDocument Format）では、同じ種類のソフトウェアであってもファイルの記述方法は異なる。
【００６２】
従って、あらゆるファイル形式に容易に対応できるようにするため、表構造化処理部３３では、特定のファイル形式に限定されない表構造化情報を取得するようにし、ファイル記述部３４において、前記表構造化情報を用いて、指定されたファイル形式に合わせて表を構造化するようにする。このようにすることで、ユーザが、変換処理部３０の機能を有する変換処理装置を利用する際に、あるファイル形式で変換した結果を見た後に、異なるファイル形式に変換する場合も、表構造化処理部３３を最初から実行しなくても、既に得られている表構造化情報を再使用して容易に変換することが可能となる。表構造化処理部３３については後述する。
【００６３】
前記の通り、ファイル記述部３４は、指定されたファイル形式によって記述方法が異なるが、ファイル構造が公開されているファイル形式については、既に得られている表構造化情報や文書構成要素の情報等を用いて公知の方法により記述することができる。本実施形態では一例を述べるに留め、具体的な方法については省略する。
【００６４】
（表構造化処理部）
図３は、表構造化処理部３３（表構造化処理装置）の構成を示すブロック図である。表構造化処理部３３は、分割処理部３３１と、第１分類処理部３３２と、第２分類処理部３３３と、及び表構造記述部３３４とを備える。また、以下においても、上記と同様、文書を構成する個々の文字、図、写真等を文書構成要素という。
【００６５】
分割処理部３３１は、ライン抽出処理部３１３によって入力画像から検出されたラインから水平方向の基準線及び垂直方向の基準線を選択し、２本の隣り合う水平方向の基準線と、２本の隣り合う垂直方向の基準線からなる四角形をそれぞれ仮セルとして定義する。第１分類処理部３３２は、分割処理部３３１で定義された仮セルを、入力画像から検出された文書構成要素の情報をもとに、少なくとも１つ以上の仮セルからなる四角形の集合である結合セル候補として分類する。
【００６６】
第２分類処理部３３３は、第１分類処理部３３２で分類された結合セル候補ごとに、入力画像から検出された文書構成要素の情報をもとに、予め定められる判定基準に従って、結合セル候補に含まれる仮セルを、最も適切とされるセルブロックとして分類する。セルブロックは少なくとも１つ以上の仮セルからなる四角形の集合である。表構造記述部３３４は、第２分類処理部３３３で分類されたセルブロックの属性、及び予め検出されている文書構成要素の情報から、表構造を解析し、後段の変換処理において表を再構成するために参照すべき情報を記述する。以下では、表構造化処理部３３の各処理部について詳述する。
【００６７】
（分割処理部）
分割処理部３３１は、ライン抽出処理部３１３によって入力画像から検出された水平方向のライン及び垂直方向のラインから、各方向の基準線を選択する基準線選択処理と、２つの方向の基準線で囲まれる四角形を仮セルとして定義する仮セル定義処理とを行う。なお、以下では、図４に示すような表画像４００から、水平方向のライン及び垂直方向のラインが検出されている場合を例に挙げて説明する。
【００６８】
［基準線選択処理］
分割処理部３３１による基準線選択処理は、水平方向のラインから水平方向の基準線を選択し、垂直方向のラインから垂直方向の基準線を選択する。具体的には、各方向のラインの延長線を基準線とし、一部または全部重複する基準線同士、もしくは所定距離以内に集合する基準線同士を１本の基準線として統合する。前記所定距離は特に指定は無いが、たとえば、２本の基準線間の距離が１０画素以内にあるとき、２本の基準線は所定距離以内に集合するものとみなすようにしてもよい。
【００６９】
［基準線選択の例］
図５は、４本の検出された水平方向のラインがある場合における基準線の定義の例である。図５（ａ）のように水平ライン６０１〜６０４が抽出されている場合、図５（ｂ）のように各水平ラインの基準線６１１〜６１４が延長線として与えられる。図５（ｂ）において、水平ライン６０１の延長線（基準線６１１）は右上りの斜め縞模様の範囲として与えられ、水平ライン６０２の延長線（基準線６１２）は左上りの斜め縞模様の範囲として与えられ、水平ライン６０３及び水平ライン６０４の延長線（基準線６１３及び基準線６１４）はドット模様の範囲として与えられる。なお、基準線６１１の右上りの斜め縞模様と基準線６１２の左上りの斜め縞模様の重複する格子模様の範囲は、水平ライン６０１の延長線の範囲であり、かつ水平ライン６０２の延長線の範囲でもあることを意味する。また、水平ライン６０３と水平ライン６０４は、延長線が全部重複している。図５の例の場合、まず、基準線６１１と基準線６１２は一部重複しているため、同一の基準線として統合する（以下、当該基準線を基準線６１１’という）。また、基準線６１３と基準線６１４は全部重複しているため、同一の基準線として統合する（以下、当該基準線を基準線６１３’という）。基準線６１１’と基準線６１３’の距離を、基準線６１１’の下端から基準線６１３’の上端までの距離（画素数）とすると、前記距離が所定距離以上である場合、基準線６１１’と基準線６１３’は独立した基準線とし、前記距離が所定距離以内である場合、基準線６１１’と基準線６１３’を同一の基準線として統合する。
【００７０】
この基準線選択の処理により、列（行）として幅の狭い場合に、その列（行）を構成する平行する基準線同士を統合することで、たとえば２本のラインを二重線としてみなしたり、また事前のライン検出の精度が不足して１本のラインが２本の基準線に分かれてしまう場合でも１本の基準線として修正できるようにしたりすることが可能となる。特に、傾いた原稿のスキュー補正が十分でない場合、水平（または垂直）のラインが途切れて検出され、それらのラインが同一の延長線上に無い場合もある。それらを統合せずに別の基準線として扱うと、本来１行（１列）であるはずの部分が複数の行（列）に分かれるケースもあり、上記の構成により、所定距離以下の基準線同士を統合することは多少のズレやラインの途切れを許容する点でも有意な効果を奏する。
【００７１】
［仮セル定義処理］
図６は、分割処理部３３１による仮セル定義処理における処理の概要を示す図である。図６に示す破線は、図４の表画像４００から検出されている水平方向のライン及び垂直方向のラインをそれぞれ延長して得られた基準線である。仮セル定義処理は、隣り合う２本の水平方向の基準線及び隣り合う２本の垂直方向の基準線により構成されるそれぞれの四角形を仮セルとして定義する。仮セルにはそれぞれ異なるセルＩＤ（Identification）が割り当てられ、各セルの属性情報などを格納したセル情報リストと関連付けられる。セルＩＤは、たとえば、図６に示すように、表の左上の仮セルを１として左から右へ、また上から下へ大きくなるように割り当てる。
【００７２】
［四辺の罫線の定義］
また、仮セル定義処理では、各仮セルにおいて、四辺の罫線を定義する。ライン抽出処理部３１３によって検出されたラインが、２つの隣り合う仮セル間の境界と一部もしくは全部重複する場合、その境界における罫線の有無を判定する。仮セル間の境界における罫線の有無の判定方法として、たとえば、境界の辺の長さに対して、その境界と重複するラインの長さとの比率が所定値（たとえば、０．５程度の値）以上である場合、その境界の辺には、そのラインに応じた情報を持つ罫線を持つとして定義する。ラインに応じた情報として、たとえば、ラインの太さが挙げられる。ラインの太さは、検出されたラインの長さ方向と直交する方向の幅から算出することができる。また、ラインを構成する画素の色（画素値）から、罫線の色を定義してもよいし、ライン抽出処理部３１３において、ラインの線種を予め判定している場合、その線種の情報を罫線の情報として関連付けて記憶させてもよい。この仮セル定義処理により、ラインが一部または全部が辺と重複している場合に、罫線とみなすことで、複雑な形状のセルにおける罫線情報の設定を容易に行うことができる。
【００７３】
［仮セル単位の属性］
分割処理部３３１の処理として、各仮セルの属性を示す情報を取得する処理を追加してもよい。たとえば、仮セルの範囲に含まれる画素であって、検出されたライン及び検出された文字列や図を囲む範囲を除いた画素である背景画素における画素値の平均値を仮セルの背景色を示す値として算出してもよい。文書構成要素（文字列や図）を囲む範囲は、各文書構成要素を囲む最小矩形の内側としてもよいし、その最小矩形に若干のマージンを持たせた範囲としてもよい。また、ラインの有無に拘わらず、境界から所定画素（たとえば、２画素程度）を背景画素から除くようにしてもよい。なお、背景色を示す値は後段で定義されるセルブロック単位で保持するため、必ずしも分割処理部３３１で算出する必要は無いが、予め仮セル単位で算出し、後段の第２分類処理部３３３におけるセルブロック単位での算出の際に利用してもよい。また、第２分類処理部３３３において、仮セル単位の背景色を示す値を使用して仮セル間の結合の判定を行うようにすることも可能である。
【００７４】
（第１分類処理部）
第１分類処理部３３２は、分割処理部３３１で定義された仮セル上に、入力画像から検出された文書構成要素を、検出時の情報（大きさ、位置）に従って重ね合わせる文書構成要素重畳処理と、重ね合わせられた文書構成要素を含む最小の四角形を構成する仮セルの集合である結合セル候補を抽出する結合セル候補抽出処理と、抽出された結合セル候補のうち、互いに一部または全部が重複する結合セル候補の組が存在する場合に、それらの結合セル候補を１つに結合する結合セル候補更新処理とを行う。
【００７５】
［文書構成要素重畳処理］
図７は、文書構成要素重畳処理の例を示す図である。文書構成要素重畳処理は、検出された文書構成要素４０１〜４０９を、その大きさや位置に従って仮セル上に重ね合わせる（図７における文書構成要素４０１〜４０９の例は、全て文字列であり、以下、文字列４０１〜４０９ともいう）。文書構成要素４０１〜４０９が複数の文字を並べた文字列である場合、個々の文字を個別に重ね合わせるのでなく、文字列を１つの単位として重ね合わせる。
【００７６】
［結合セル候補抽出処理］
図８は、結合セル候補抽出処理の例を示す図である。結合セル候補抽出処理は、各文書構成要素４０１〜４０９を囲む最小の四角形を構成する仮セルの集合を探し、この集合を結合セル候補４１１〜４１９とする。全ての文書構成要素４０１〜４０９を重ね合わせた段階で、いずれの結合セル候補にも含まれない仮セルが存在する場合、図１０に示すように、その仮セルを単独で結合セル候補４３１〜４５０として定義する。
【００７７】
［結合セル候補更新処理］
図８に示すように、文書構成要素４０１〜４０９毎に結合セル候補を設定すると、たとえば、文書構成要素４０４，４０５に対応する結合セル候補４１４，４１５、または、文書構成要素４０７，４０８，４０９に対応する結合セル候補４１７，４１８，４１９のように、互いに一部または全部が重複する場合も起こり得る。結合セル候補更新処理では、互いに重複する結合セル候補の組、たとえば、結合セル候補４１４，４１５の組や、結合セル候補４１７，４１８，４１９の組を抽出し、各々の結合セル候補の組において、組ごとの結合セル候補を全て含む最小の四角形を構成する仮セルの集合を探し、この集合を新たに結合セル候補として更新する。更新する際に、結合セル候補更新処理において、更新される前の個々の結合セル候補は破棄される。なお、結合セル候補が、ほかの異なる結合セル候補と重複しない場合、その結合セル候補はそのまま維持される。
【００７８】
図９は、図８のように設定された結合セル候補４１１〜４１９に対して、結合セル候補更新処理を適用した結果を示す図である。図９には、互いに重複する結合セル候補４１４，４１５の集合を全て含む最小の四辺形となる結合セル候補４２０と、互いに重複する結合セル候補４１７，４１８，４１９の集合を全て含む最小の四角形となる結合セル候補４２１とが示されている。また、図１０は、図９のように設定された結合セル候補について、結合セル候補更新処理により、仮セルを最新の結合セル候補４１１〜４１３，４１６，４２０，４２１，４３１〜４５０に分類し直した結果を示す図である。
【００７９】
上記の結合セル候補抽出処理及び結合セル候補更新処理により、重複する結合セル候補同士を、その範囲だけでなく矩形の条件を維持したまま統合することができる。それにより、いずれの初期結合セル候補にも属していなかった空の仮セルを矩形の一部として統合した新たな結合セル候補の一部として分類することができ、文字等と重複していた仮セルの範囲のみによってセルの結合を行う必要が無くなり、より自然な形状の結合セルを作りだすことができる。また、最後に残った空の仮セルを単独で結合セル候補とすることで、見掛け上結合しなくても問題のないような仮セル同士の結合の判定ステップを省略することができる。
【００８０】
（第２分類処理部）
第２分類処理部３３３は、第１分類処理部３３２で設定された結合セル候補、たとえば、結合セル候補４１１〜４１３，４１６，４２０，４２１，４３１〜４５０（以下、任意の一つまたは複数の結合セル候補を示す場合、または、いずれか１つの代表する結合セル候補を示す場合、結合セル候補４１０という）から、予め定められる所定の判定基準に従って仮セル間の結合の妥当性を評価する。そして、第２分類処理部３３３は、評価結果に基づいて、結合セル候補４１０の各々を１つ以上のセルブロックとして再分類する。以下では、第２分類処理部３３３が実行する処理内容について詳述する。
【００８１】
所定の判定基準は、複数の仮セルからなる結合セル候補４１０において、２つの隣り合う仮セル同士を結合することの適切さを判定するために予め決められた基準である。２つの隣り合う仮セル間を結合した場合、及び結合しなかった（分離した）場合のペナルティを算出し、全ての隣り合う２つの仮セル間におけるペナルティの総和が最も小さくなるような仮セルの集合の組合せを選択し、この仮セルの集合それぞれを１つのセルブロックとして定義する。ペナルティについては後述する。
【００８２】
また、所定の判定基準には、複数の隣り合うセル間において、結合してはいけない、または、分離してはいけないパターンが存在する。これを禁止パターンと呼び、少なくとも以下の２つが挙げられる。
（禁止パターン１）隣り合う２つの仮セル間の境界を示す辺において罫線が指定されている（すなわち罫線で隔てられている）場合、この２つのセル間を結合してはいけない。
（禁止パターン２）結合セル候補に含まれる仮セルにおいて、結合関係にある仮セル同士の集合が四角形以外の形状となってはいけない。
【００８３】
図１１は、禁止パターン１に該当する仮セル同士の関係を説明する結合セル候補４１０ａの一例を示す図である。結合セル候補４１０ａは、３行×４列からなり、仮セル５０１，５０２を含む、１２個の仮セルを含んでいる。たとえば仮セル５０１と仮セル５０２は、境界が罫線で隔てられており禁止パターン１に該当するため、この２つの仮セルを結合するようなセルブロックの分類パターンは禁止とされる。
【００８４】
禁止パターン１により、罫線をまたいだ２つの仮セル間を同一のセルブロックとして分類しないことで、検出されたラインが罫線として再現され易くなる。すなわち、セルを結合してしまうと、その罫線が存在した境界が消失してしまい、セルの罫線として示すことができず、ラインオブジェクトとして上から重ね合わせる必要性が生じるが、禁止パターン１により、このような境界の消失を防ぐことができる。
【００８５】
図１２は、禁止パターン２に該当する仮セル同士の関係を説明する図である。図１２（ａ），（ｂ），（ｃ）の破線は、表構造における基準線を示し、破線に囲まれた四角形は仮セルを示す。なお、図１２（ａ），（ｂ），（ｃ）の破線部分にはラインが検出されていないものとする。すなわち、図１２は、四辺に罫線が引かれていない仮セルが水平方向及び垂直方向に２つずつ並んでいる様子を示している。図１２（ａ）は、４つの仮セルの境界における結合もしくは分離の選択を未だ行っていない状態を示し、図１２（ｂ）及び図１２（ｃ）は、仮セルの境界の一部（図中では実線が引かれ、その上に×が付されている境界５０３，５０４，５０５）において分離が選択されている状態を示す。図１２（ａ）の４つの仮セルは、その境界に罫線がないため禁止パターン１には該当しないが、たとえば、図１２（ｂ）及び図１２（ｃ）のように一部の境界５０３，５０４，５０５で分離を選択し、その他の境界で結合を選択すると、必ず四角形でないセルブロックが発生し、禁止パターン２に該当するため、図１２（ｂ）及び図１２（ｃ）のようなセルブロックの分類パターンは禁止とされる。なお、図１２（ｂ）及び図１２（ｃ）は、図１２（ａ）の４つの仮セル間における禁止パターン２に該当する組合せの一例であり、図１２（ａ）の４つの仮セル間における禁止パターン２に該当する組合せは他にも存在するが、ここでは省略する。
【００８６】
第２分類処理部３３３は、前記の禁止パターン１、禁止パターン２に該当するような結合及び分離の組合せを除いた全ての組合せについて、ペナルティの総和を算出し、ペナルティの総和が最小となるような組合せを選択する。そして、第２分類処理部３３３は、結合の関係にある隣り合う仮セル同士を同一のセルブロックに分類することで、結合セル候補４１０を１つ以上のセルブロックに分類する。これを各結合セル候補４１０について独立して実行し、全ての結合セル候補４１０に対してこの処理を適用することで、表を構成する全ての仮セルは、それぞれいずれか１つのセルブロックのみに分類されることとなる。なお、結合セル候補４１０が単一の仮セルで構成される場合は、分離ペナルティの算出を行わず、この仮セルをそのままセルブロックとして定義する。
【００８７】
なお、禁止パターンとして、前記の２つに加えて他の禁止パターンを定義することで、事前にペナルティの算出対象となる組合せを減らすことができる。他の禁止パターンは、どのようなパターンでもよく、たとえば、結合の関係にある仮セル同士の集合の中に、文字の並ぶ方向（文字列方向）が異なる文字列が混在するような場合、これを禁止パターンとするようにしてもよい。この場合、１つのセルブロックには同一の文字列方向の文字列のみが含まれるようにすることができる。
【００８８】
以下、ペナルティについて詳述する。ペナルティは、結合セル候補４１０の各々に含まれる仮セル同士の境界について結合または分離を選択して、結合セル候補４１０を構成する仮セルをセルブロックとして再分類した場合に発生する不自然さを数値化した評価値である。ペナルティが大きくなるほど、セルブロックの分類結果が不自然であることを示す。各境界において、分離を選択することで発生する不自然さを数値化したものをその境界の分離ペナルティと呼ぶ。分離ペナルティの算出方法は特に決まりはなく、自由に設定できる。算出方法の例をいくつか挙げる。
【００８９】
［第２分類処理部における分離ペナルティの算出手法例］
たとえば、文字列や図などの文字構成要素が境界上にまたがって配置される場合、これらの境界を分離すると、文字構成要素が複数のセルブロックに分かれてしまい、不自然になりがちである。そこで、たとえば文字列の場合、境界によって切り離される文字の数に応じた分離ペナルティを設定することで、不自然さを数値化することができる。前記のような分離ペナルティの算出方法の例として、その境界により切り離される文字数に係数（たとえば、１０程度の値）を乗じた値を与える方法が挙げられる。なお、前記切り離される文字数は、分離によって分かれた前方の文字列の文字数もしくは後方の文字列の文字数のうち小さい方とする。また、文字列の場合、境界上にまたがっている文字数を基準として分離ペナルティを与えてもよい。たとえば、境界にまたがっている文字数に係数（たとえば、５程度の値）を乗じた値を与える方法が挙げられる。
【００９０】
また、写真やイラストレーション、図形など（以下、これらを総称してグラフィックと）の場合、境界により左右（上下）に切り離されたグラフィックの面積のうち小さい方の面積に係数（たとえば、０．５程度の値）を乗じた値を与えてもよいし、単純に境界をまたぐグラフィックの数に係数（たとえば、５程度の値）を乗じた値を与えてもよい。なお、グラフィックは、文字に比べて、セルに含まれる情報として配置されるのでなく、見掛け上セルに含まれているだけで、実際には表領域の上に独立して貼り付けられているだけのケースが多い。そのため、グラフィックをまたぐ場合の分離ペナルティの算出は省略してもよいし、文字（列）が境界をまたぐ場合に比べて、グラフィックが境界をまたぐ場合の分離ペナルティは小さな値として算出されるようにしてもよい。
【００９１】
上述した分離ペナルティの算出方法は一例であり、異なる算出方法を用いてもよい。また、複数の算出方法を組み合わせても構わない。各結合セル候補において、含まれる全ての境界における結合もしくは分離の組合せが指定されると、分離を選択された境界における分離ペナルティの総和を算出し、それを結合セル候補の全体にわたるペナルティとしてもよい。
【００９２】
［第２分類処理部における分離ペナルティによるセルの結合／分離の具体例］
図１３は、３列×３段の仮セルからなる結合セル候補４１０ｂ上に文字列を配置した場合の例を示す図である。なお、左から順にＡ列、Ｂ列、Ｃ列と呼び、また上から順に１段、２段、３段と呼ぶ。またｘ列、ｙ段の仮セルを仮セルｘｙと呼び、仮セルｘｙと仮セルｘｙ’との間の境界を境界ｘｙ−ｘｙ’、仮セルｘｙと仮セルｘ’ｙとの間の境界を境界ｘｙ−ｘ’ｙと呼ぶ。図１３の例の場合、境界Ｃ１−Ｃ２，Ｃ２−Ｃ３，Ｂ２−Ｃ２及びＢ３−Ｃ３は罫線で隔てられているおり、禁止パターン１に従って結合不可能となるため、結合または分離の選択は、境界Ａ１−Ａ２，Ｂ１−Ｂ２，Ａ２−Ａ３，Ｂ２−Ｂ３，Ａ１−Ｂ１，Ｂ１−Ｃ１，Ａ２−Ｂ２及びＡ３−Ｂ３の８カ所について考えることとなる。
【００９３】
なお、単純に全ての境界で結合、または分離の選択をした場合の組合せは２８＝２５６通りであるが、たとえば、図１２（ｂ）で示したように、境界Ａ１−Ｂ１を分離するが、境界Ａ１−Ａ２、Ｂ１−Ｂ２及びＡ２−Ｂ２を結合する、という組合せは、四角形の形状として分割することができず、禁止パターン２に該当するため選択できないので、実際には２５６通りよりも少なくなる。
【００９４】
図１３の例において、境界Ｌを分離とした場合に、切り離される文字列の文字数の小さい方の文字数をＮ１、また境界Ｌ上にまたがっている文字数をＮ２として、境界Ｌにおける分離ペナルティＳ（Ｌ）をたとえば次式（５）のように設定することができる。
【００９５】
【数５】
0006607496.tif 000006
【００９６】
但し、ｋ１及びｋ２は所定の係数であり、どのような結合（または分離）方法を好むかによって自由に設定できる。ｋ１を大きくすることで（たとえば、ｋ１＝１０、ｋ２＝１）、横書き（縦書き）の文字列が左右（上下）に分割されることを抑えることを優先し、ｋ２を大きくすることで（たとえば、ｋ１＝１、ｋ２＝１０）、文字が多く配置されている境界で結合することが選択されやすくなるため、その文字が抽出された位置とできるだけ近い位置に配置し易くなる。
【００９７】
たとえば、図１３の境界Ａ１−Ｂ１の場合、文字列５０６についてみると、「分離ペナルティを算出する方法の」のうち、境界Ａ１−Ｂ１上には「テ」の１文字があり、切り離された文字列の小さい方は「分離ペナル」の５文字となる。また、文字列５０７についてみると、「具体例を示す図です。」のうち、境界Ａ１−Ｂ１上には、「す」の１文字があり、切り離された文字列の小さい方は、「図です。」の４文字となる。また、文字列５０８についてみると、「分離ペナルティを算出」のうち、境界Ａ１−Ｂ１上には、「テ」の１文字があり、切り離された文字列の小さい方は「ィを算出」の４文字となる。これを合計すると、Ｎ１＝１３、Ｎ２＝３となる。ｋ１＝１０、ｋ２＝１の場合、Ｓ（Ａ１−Ｂ１）＝１３３となり、ｋ１＝１、ｋ２＝１０の場合、Ｓ（Ａ１−Ｂ１）＝４３となる。同様に、他の７箇所の境界についても分離ペナルティを算出し、禁止パターンに該当しない組み合わせにおいて分離ペナルティの総和をとると、前者（ｋ１＝１０、ｋ２＝１）の場合、図１４のように符号５２１で示される境界Ａ１−Ａ２と符号５２２で示される境界Ｂ１−Ｂ２とを分離とし、残りを結合とする組み合わせのときに分離ペナルティの総和は、最小値１０となる。これに対して、後者（ｋ１＝１、ｋ２＝１０）の場合、図１５のように符号５２３で示される境界Ｂ１−Ｃ１のみを分離とし、残りを結合とする組み合わせのときに分離ペナルティの総和は、最小値１２となる。
【００９８】
所定の判断基準として、上記の分離ペナルティを適用することにより、結合あり、または、なし（分離）の選択の組合せからペナルティを算出し、それが最小となるような組合せに従うことで、折り返しが発生する行の数を減らす事、すなわち文字列方向に並ぶ仮セルの結合を優先するか、元の文書画像上で検出された位置からのズレを減らす事、すなわち行方向に並ぶ仮セルの結合を優先するかを調整することが可能となる。
【００９９】
［第２分類処理部における結合ペナルティの算出手法例］
前記では、各境界について分離を選択した場合の不自然さを数値化した分離ペナルティについて説明した。これに対して、境界を結合することで不自然さが発生する場合もある。図１６は、境界を結合することにより不自然さが発生する場合の例を示す図である。図１６に示される結合セル候補４１０ｃでは、横書きの文字列９０１，９０２，９０３が水平方向に並んで配置されており、境界９１０Ｘ及び境界９１０Ｙにおいて分離を選択しても文字列９０１，９０２，９０３において不自然さが発生することはない。これに対して、境界９１０Ｘ及び境界９１０Ｙの一方または双方において結合を選択した場合、内容が連続しない文字列、たとえば、境界９１０Ｘを結合した場合、文字列９０１と文字列９０２が１つのセルブロックに含まれることになり、文書画像が示すレイアウトの通りに文字列を配置することが難しくなる。そのため、境界９１０Ｘ及び境界９１０Ｙは結合しない方が望ましい場合もある。
【０１００】
そこで、結合を選択した場合の不自然さを数値化した結合ペナルティを算出するようにして、各結合セル候補において、含まれる全ての境界における結合もしくは分離の組合せが指定されると、結合を選択された境界における結合ペナルティの和と、分離を選択された境界における分離ペナルティの和とを加算した値をその結合セル候補の全体にわたるペナルティとしてもよい。これにより、分離ペナルティのみでは結合が多くなりがちの場合に、結合ペナルティも算出することで、段組のような特殊なレイアウトなど本来分離しておいた方が良いような境界を残すことが可能となる。結合ペナルティの算出方法は特に決まりはなく、自由に設定できる。算出方法の例を以下に挙げる。
【０１０１】
（結合ペナルティの算出方法例１）
たとえば、上述した図１６のように、複数の文字列９０１，９０２，９０３が、文字列方向に仮セルの境界を挟んで（つまり境界をまたがずに）並んで配置されている場合、その境界で結合を選択するとレイアウトとして不自然となり易い。そこで、結合により生成されるセルブロックの内部において、含まれる文字列同士の位置の関係から、不自然さを数値化する方法が挙げられる。具体的には、図１７に示すように、２つの文字列９０５、９０６が存在する場合、文字列９０５を囲む最小矩形の範囲を左上（Ｐ１，Ｑ１），右下（Ｐ２，Ｑ２）とする。このとき、セルブロック間において文字列９０５の方向成分の範囲（横書きならＸ成分がＰ１からＰ２の範囲、縦書きならＹ成分がＱ１からＱ２の範囲）が重複せず、文字列９０５の方向と直交する方向（行方向）の成分の範囲（横書きならＹ成分がＱ１からＱ２の範囲、縦書きならＸ成分がＰ１からＰ２の範囲）が一部または全部重複する他の文字列（図１７の例では、文字列９０６）を抽出し、その２つの文字列の間に含まれる境界の数をカウントする。前記の文字列の組について全てカウントし、その総和に所定係数（たとえば、２程度の値）を乗じた値を与える方法が挙げられる。
【０１０２】
（結合ペナルティの算出方法例２：背景色の比較）
また、分割処理部３３１において仮セル単位で背景色を示す値を算出している場合、隣り合う２つの仮セルの間で、背景色を示す値の差が所定条件を満たす場合、セル背景色の異なる仮セル同士である可能性が高いとして、結合ペナルティを大きく設定するようにすることができる。そうすることで、背景色の大きく異なるセル同士を結合することを防ぐことが可能となる。前記所定条件はどのような条件でもよい。たとえば、背景色を示す値がＲ，Ｇ，Ｂがそれぞれ０から２５５までの整数で表現される場合、一方の仮セルにおけるＲ成分、Ｇ成分及びＢ成分をそれぞれＲ１，Ｇ１，Ｂ１、もう一方の仮セルにおけるＲ成分、Ｇ成分及びＢ成分をそれぞれＲ２，Ｇ２，Ｂ２とする。このとき、前記所定条件として次式（６）を満たすかどうかを判定する方法が挙げられる。
【０１０３】
【数６】
0006607496.tif 000007
【０１０４】
なお、ｍａｘ｛Ａ，Ｂ，Ｃ｝はＡ，Ｂ，Ｃのうち最も大きな値を選択する関数であり、｜ｘ｜はｘの絶対値を表わす。またＴＨは閾値を表わし、たとえばＴＨ＝１６とするとき、式（６）は、各成分の差分絶対値のうち最も大きなものがＴＨ＝１６より大きい場合に所定条件を満たすとすることができる。
【０１０５】
なお、同一の結合セル候補において、図１６のように、同じ文字列方向の文字列が、文字列方向と同じ方向に並んで配置されることは珍しく、こうしたレイアウトの文章は、印刷される前の文書ファイルでも各セルに文字データとして格納されているのではなく、テキストオブジェクトなどによってセル上に重ね合わせて配置されている可能性も大きい。そのため、前記のような方法による結合ペナルティは算出しないか、または分離ペナルティよりも小さく設定し、極力結合を優先するようにすることが望ましい。ただし、図１６の先頭のタイトル行の文字列９０４のように、一部の文字列９０４だけが複数の仮セルをまたいでいるようなケースにおいて、できるだけ細分化しておくことで、後からセルの結合を解除する手間を減らしたい場合は、結合ペナルティを大きく設定してもよい。
【０１０６】
（表構造記述部）
表構造記述部３３４は、第２分類処理部３３３までに得られた表構造の情報や、表を構成する各セルブロックの情報、及び各セルブロックに含まれる文書構成要素の情報を収集または取得して集積された各種情報を用いて、後段の変換処理において所望のファイル形式に合わせて表を再構成するために参照すべき情報として記述する。以下では表構造記述部３３４が実行する処理内容について詳述する。
【０１０７】
上述したように、後段のファイル記述部３４において、指定されたファイル形式に合わせて表を容易に構造化できるようにするために、表構造記述部３３４では、特定のファイル形式に依らない表構造化情報を取得する。特定のファイル形式に依らない表構造情報として、少なくとも以下の情報を表ごとに取得する。
【０１０８】
（１）表が配置されるページ番号、またそのページにおける座標，
（２）表全体の幅及び高さ，
（３）表の列数及び行数、また各列の幅及び各行の高さ，
（４）各セルブロックの結合情報，
（５）各セルブロックに格納される文書構成要素の情報．
【０１０９】
表領域として抽出された範囲の左上座標を、その表のページにおける座標とし、表領域の横幅及び高さを、それぞれ表全体の幅及び高さとして取得することができる。また、表の水平方向の基準線の本数をＬＨ、垂直方向の基準線をＬＶとすると、表の列数はＬＶ−１，行数はＬＨ−１で与えられる。また各列の幅（各行の高さ）は、その列（行）を構成する２本の垂直方向（水平方向）の基準線間の距離から与えられる。基準線間の距離は、各基準線の中心を通る直線同士の距離とするのが望ましい。図１８は、太さの異なる罫線が同一の基準線を持つ場合において行の高さを算出する例を示す図である。水平方向の罫線７０１を上端、水平方向の罫線７０２及び罫線７０３を下端とする。罫線７０２と罫線７０３は太さが異なる。罫線７０１の基準線と、罫線７０２及び罫線７０３が共有する基準線とをそれぞれその中心を通る直線であらわすと、図中の点線（基準線の中心線７１１及び基準線の中心線７１２）となる。図１８に示す行の高さは、基準線の中心線７１１と基準線の中心線７１２との距離として算出する。
【０１１０】
（各セルブロックの結合情報）
各セルブロックの結合情報は、セルブロックの親となる仮セル（親セル）のＩＤ（親ＩＤ）と、親セルの位置と、セルブロックを構成する仮セルの結合数から成る。親セルは、セルブロックに含まれる仮セルのセルＩＤのうち最小のもの（すなわち、左上の仮セルのセルＩＤ）を選択する。また、親セルの位置は、親セルとなる仮セルが、属している表のうち何列目、また何行目に位置するかを取得する。またセルブロックを構成する仮セルの結合数は、セルブロック内の水平方向に並ぶ仮セルの数（水平結合数）と、垂直方向に並ぶ仮セルの数（垂直結合数）を取得する。
【０１１１】
たとえば、図１９に示す例の場合、セルブロック８０１には、仮セルＩＤが１，２，３の仮セルが含まれているため、親ＩＤは１であり、セルＩＤが１の親セルの位置は１列目かつ１行目、水平結合数は３、垂直結合数は１である。また、セルブロック８０４には仮セルＩＤが４，５，７，８の仮セルが含まれているため、親ＩＤは４であり、セルＩＤが４の親セルの位置は１列目かつ２行目、水平結合数は２、垂直結合数は２である。
【０１１２】
（各セルブロックに格納される文書構成要素の情報）
各セルブロック８１０に格納される文書構成要素の情報として、各のセルブロック８１０に含まれる文書構成要素を順に並べて格納する。たとえば、横書きの文字列において、複数の文書構成要素が水平方向に並ぶ場合にその文書構成要素同士を１行とみなし、先頭の行から行の文書構成要素を順に格納し、行の末尾の文書構成要素の格納が終わると次の行に移り、セルブロック８１０に含まれる全ての行について格納が終了するまで繰り返す。たとえば、図２０において、セルブロック８０１では、文字列４０１、グラフィック１０００、文字列４０２を１つの行とみなし、続いて、文字列４０３を１つの行として、その順番に格納する。なお、図２０のセルブロック８０２のように、文字列４０５と文字列４０５の間が空いている場合、その間の長さの大きさに応じて、空白文字（スペース）を文字列４０４の後に追加し、その後に文字列４０５を格納するようにしてもよい。たとえば、文字列４０４と文字列４０５の間がＳ画素空いており、文字列４０４の行の高さ（文字の高さ）がＨ画素である場合、ｆｌｏｏｒ（Ｓ÷Ｈ）文字分の空白文字を追加してもよい。ここで、ｆｌｏｏｒ（ｘ）は、ｘを超えない最大の整数である。なお、各セルブロック８１０の文書構成要素の方向は、文字列を含む場合はその文字列の方向に従い、文字列を含まない場合は予め指定された初期値として横書きであるとする。
【０１１３】
（複数のセルブロックにまたがる文書構成要素の格納先）
分離された境界上に位置する文書構成要素、すなわち複数のセルブロック８１０にまたがって位置する文書構成要素がどのセルブロック８１０に格納されるかの判定方法は特に決まりは無く、自由に設定することができる。たとえば、分離が選択された境界上に文字列がまたがっている場合、その境界線の方向と文字列の方向が同じであれば、その文字列を囲む最小矩形と、各セルブロック８１０との重複する面積を算出し、算出した面積が最も大きなセルブロック８１０を文字列が格納されるセルブロック８１０として選択するようにしてもよい。たとえば、図１３のような表構造において図１４のように分離を行うと、図１３の文字列のうち上から３行目の文字列５０８は、｛Ａ１，Ｂ１，Ｃ１｝で構成されるセルブロック（セルブロックＡ１：Ｃ１）と、｛Ａ２，Ｂ２，Ａ３，Ｂ３｝で構成されるセルブロックの２つのセルブロック（セルブロックＡ２：Ｂ３）にまたがるようになるが、前記文字列５０８は、セルブロックＡ１：Ｃ１で構成されるセルブロックと重複する面積の方が、セルブロックＡ２：Ｂ３よりも大きくなるため、セルブロックＡ１：Ｃ１を格納先として設定することになる。
【０１１４】
また、境界線と文字列の方向が直交する場合、（ルールＡ）前記文字列がまたがっている複数のセルブロック８１０のうち１つに、前記文字列を格納するようにしてもよいし、（ルールＢ）前記文字列を複数の部分文字列に分割して、複数のセルブロック８１０のうち一部または全部に、それぞれ異なる部分文字列を格納するようにしてもよい。
【０１１５】
前者（ルールＡ）の場合、境界線と文字列の方向が同じ場合の例と同様に重複する面積の大きいセルブロックに格納するようにしてもよい（ルールＡ−１）。
また、前記文字列を、構成する文字単位に分割してその文字を囲む最小矩形（最小文字矩形）を与え、セルブロック８１０毎に、一部または全部重複する最小文字矩形の数をカウントし、その数が最も多いセルブロック８１０を、前記文字列の格納先として判定してもよい（ルールＡ−２）。
【０１１６】
また、後者（ルールＢ）の場合、同様に前記文字列を構成する文字毎に最小文字矩形を与え、各最小文字矩形と重複する面積が最も大きいセルブロック８１０を、その文字の格納先として判定し、文字列の先頭の文字から順に格納先のセルブロック８１０を読み込み、格納先のセルブロックが同一の連続する文字を部分文字列として切り出すことで、部分文字列単位で格納先を設定する方法（ルールＢ−１）が挙げられる。
【０１１７】
たとえば、図１３のような表構造において、図１５のように分離を行うと、図１３の文字列のうち上から１行目の文字列５０６は、｛Ａ１，Ｂ１，Ａ２，Ｂ２，Ａ３，Ｂ３｝で構成されるセルブロック（セルブロックＡ１：Ｂ３）と、｛Ｃ１｝で構成されるセルブロックの２つのセルブロック（セルブロックＣ１）にまたがるようになる。前記文字列５０６を（ルールＡ−１）に従って格納先を設定する場合、前記文字列５０６は、セルブロックＡ１：Ｂ３と重複する面積の方が、セルブロックＣ１と重複する面積よりも大きくなるため、セルブロックＡ１：Ｂ３を格納先として設定することになる。（ルールＡ−２）に従って格納先を設定する場合も、前記文字列５０６は、セルブロックＡ１：Ｂ３と重複する文字の数が１３個、セルブロックＣ１と重複する文字の数が３個となるため（ここでは「方」の文字は双方のセルブロックでカウントされるものとしている）、セルブロックＡ１：Ｂ３を格納先として設定することになる。これに対して、（ルールＢ−１）に従って格納先を設定する場合、前記文字列は、重複する面積の大きさから、「分」から「る」までの１２文字はセルブロックＡ１：Ｂ３、「方」から「の」の３文字はセルブロックＣ１を格納先として選択し、前記文字列を、「分」から「る」までの１２文字と、「方」から「の」の３文字の２つの部分文字列に分割してそれぞれ格納する。なお、文字列を複数の部分文字列に分割する場合、文字列に与えられていた属性は部分文字列に継承される。
【０１１８】
表ごとに取得する表構造情報として、上記（１）〜（５）に加えて、セルブロックの属性を取得することができる。
各セルブロック８０１，８０４，８０６，８０９の属性は、少なくとも各セルブロック８０１，８０４，８０６，８０９を構成する四辺の罫線の情報を含む。前記罫線の情報は、各セルブロック８０１，８０４，８０６，８０９を構成する仮セルの四辺の罫線の情報から取得することができる。たとえば、セルブロック８０４の上辺の罫線は、セルブロック８０４を構成する仮セル（セルＩＤ４，５，７，８）のうち、上端に位置する仮セル（セルＩＤ４，５）の上辺の罫線の情報が全て同じ場合にその情報をセルブロック（セルＩＤ４，５）の上辺の罫線の情報として与え、１つでも異なる情報が含まれる場合はセルブロック８０４の上辺の罫線の情報を「不定」として与える。たとえば、セルブロック８０６，８０９のように、上端に位置する仮セルが１個の場合は、その仮セルの上辺の情報をそのままセルブロック８０６，８０９の上辺の情報として与える。前記の方法を、左辺、右辺、下辺についても同様に行う。
【０１１９】
また、各セルブロック８０１，８０４，８０６，８０９（以下、任意の一つまたは複数のセルブロックを示す場合、または、いずれか１つの代表するセルブロックを示す場合、セルブロック８１０という）の属性として、たとえば、セルブロック８１０の背景色を示す値を算出することができる。セルブロックの背景色を示す値は、各セルブロック８１０を構成する仮セルの範囲に含まれ、かつ検出されたラインと、検出された文字列や図を囲む範囲を除いた背景画素における画素値の平均値として算出してもよい。なお、分割処理部において仮セル単位での背景色を示す値を算出している場合、表構造記述部３３４では、以下のように次式（７）に基づいて背景色を示す値μＢを算出するようにしてもよい。
【０１２０】
【数７】
0006607496.tif 000008
【０１２１】
但し、式（７）において、Ｎはセルブロックに含まれる仮セルの個数、μｊはセルブロックに含まれるｊ番目の仮セルについて算出された背景色を示す値、ｎｊはセルブロックに含まれるｊ番目の仮セルの背景画素の画素数を示すものである。また、背景色はスカラー値もしくはベクトル値で表わされ、たとえば、文書画像がグレースケール画像である場合、背景色はグレースケール値を示すスカラー値で表わされ、ＲＧＢ画像である場合、背景色は、Ｒ成分、Ｇ成分及びＢ成分の３成分からなるベクトル値で表わされる。
【０１２２】
また、各セルブロック８１０に格納される文書構成要素の情報として、前記の情報に加えて、セルブロック８１０の文書構成要素の配置方法の情報を与えることができる。文書構成要素の配置方法は、文字列の方向を第１方向、行の方向を第２方向とする場合、第１方向に関する配置方法を行毎に設定し、第２方向に関する配置方法をセルブロック８１０毎に設定することができる。第１方向に関する配置方法は、たとえば、横書きの場合、各行がセルの左端に詰めて表示されるか（左詰めまたは左揃え）、セルの水平方向の中心になるように表示されるか（中央揃え）、または右端に詰めて表示されるか（右詰めまたは右揃え）が挙げられる。第２方向に関する配置方法は、たとえば、横書きの場合、文書構成要素がセルの上端に詰めて表示されるか（上詰めまたは上揃え）、セルの垂直方向の中心になるように表示されるか（上下中央揃え）、または下端に詰めて表示されるか（下詰めまたは下揃え）が挙げられる。なお、第１方向に関する配置方法は行単位でなく、セルブロックに含まれる全ての行で同一の配置方法として設定されるようにしてもよい。全ての行で同一の配置方法として設定する場合、全ての行、すなわち文書構成要素を囲む最小の矩形（最小矩形）を１つの行とみなして判定処理を行う。
【０１２３】
これらの配置方法の判定方法に特に決まりはなく、よく知られた方法を用いることができる。簡単な方法として、セルブロック８１０の重心を始点とし、行または最小矩形の重心を終点とする変位ベクトルを算出し、前記変位ベクトルの水平成分が閾値ＴＨ１から閾値ＴＨ２の間にある場合に中央揃え、閾値ＴＨ１より小さい場合に左揃え、閾値ＴＨ２より大きい場合に右揃えとする。また、前記変位ベクトルの垂直成分が閾値ＴＨ３から閾値ＴＨ４の間にある場合に上下中央揃え、閾値ＴＨ３より小さい場合に上揃え、閾値ＴＨ４より大きい場合に下揃えとする方法がある。閾値ＴＨ１，ＴＨ２は、それぞれ中央揃えとして判定するための下限値及び上限値を示す閾値であり、たとえば各セルブロックの横幅をＷとするとき、ＴＨ１＝−０．１Ｗ、ＴＨ２＝０．１Ｗとすることで、行または最小矩形の重心が、セルブロックの重心から水平方向に±１０％の範囲に収まっている場合に中央揃えとして許容するようにすることができる。また、閾値ＴＨ３，ＴＨ４は、それぞれ上下中央揃えとして判定するための下限値及び上限値を示す閾値であり、たとえば各セルブロックの高さをＨとするとき、ＴＨ３＝−０．１Ｈ、ＴＨ４＝０．１Ｈとすることで、最小矩形の重心が、セルブロックの重心から垂直方向に±１０％の範囲に収まっている場合に上下中央揃えとして許容するようにすることができる。
【０１２４】
これらの表構造情報の具体的な記述方法について特に決まりは無く、たとえば、図２１のようにツリー形状に参照できるように記述しておくと、ＸＭＬ形式のファイルフォーマットへの変換が容易になる。また、属性の種別ごとに別途リストなどを記述しておき、そのリストで指定されたＩＤを参照して情報を取得するようにすることで、同一の属性を何度も繰り返し記述することを避けることができる。たとえば、検出されたラインの情報を図２２のようにリストとして記述し、各ラインにＩＤ（ラインＩＤ）を割り振っておき、図２１のように記述されたツリー形状の表構造情報において、各セルブロック８１０の罫線の情報としてラインＩＤを記述することで、同一のラインを共有する複数のセルブロック間で同一の情報を何度も繰り返して記述する必要が無くなる。記述の順序は特に決まりは無いが、記述の対象となるセルブロックの順序は、親ＩＤの小さい順とし、表の左上から順に情報が記述されるようにすることが望ましい。なお、もちろん、図２１及び図２２に示された項目以外にも記述する情報を増やしてもよい。
【０１２５】
（ファイル記述部（一例））
ファイル記述部３４は、前段までに抽出された文字や図などの文書構成要素の情報、ラインの情報及び表構造情報を用いて、指定されたファイル形式への変換を行う。上述の通り、ファイル形式によって記述方法が異なり、各ファイル形式が準拠する規格の仕様書等に従って記述される。たとえば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社が提供する文書作成ソフトウェアである「Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ  ２０１０」（左記において、Ｍｉｃｒｏｓｏｆｔは登録商標）、またはその後継バージョン（以降、単純にＷｏｒｄと表記する）のファイル形式（ｄｏｃｘ）が採用するファイルフォーマットであるＯＯＸＭＬは、ＥＣＭＡ−３７６、及びＩＳＯ／ＩＥＣ  ２９５００として標準化されており、それらの仕様書に記載されたフォーマットに従って記述することでＷｏｒｄのファイルとして構造化することができる。ＥＣＭＡ−３７６として標準化されたフォーマットは、下記の参考文献５として公開されており、参考文献５に記載のフォーマットに従って記述する。以下では、文書画像中の特に表の構造化に係る部分の処理例を挙げ、詳細の記述方法については省略する。
「参考文献５：ECMA-376, 4th Edition Office Open XML File Formats、［平成２７年９月２１日検索］、インターネット(URL http://www.ecma-international.org/publications/standards/Ecma-376.htm)」
【０１２６】
図２３は、Ｗｏｒｄファイルのファイル構造（一部）の一例を示すツリー図である。Ｗｏｒｄファイルでは、図２３に示すような一連のフォルダ及びファイルをＺＩＰ圧縮し、ファイル拡張子をｄｏｃｘに置き換えることで１つのファイルとしている。図２３の１行目の/word/フォルダ以下に、文書を構造化するためのデータを記述したファイルや、文書画像中から抽出されたグラフィックを画像として保存した画像ファイルなどを格納する。たとえば、document.xmlファイルは、ドキュメント本文を構成する文字（列）やグラフィック、表などのオブジェクトを、その情報に従って、ＷｏｒｄＰｒｏｃｅｓｓｉｎｇＭＬと呼ばれるマークアップ言語を用いて記述される。たとえば表は、図２４に示すように、<w:tbl>を開始宣言、</w:tbl>を終了宣言とするタグの間に記述された情報（以下、この情報を記述１という）に従って、表を構造化する。記述１は、表全体にわたるプロパティなどの情報（以下、この情報を記述２という）と、各行を構造化するための情報（以下、この情報を記述３という）に分かれる。
【０１２７】
記述３は<w:tr>から</w:tr>の間に記述され、先頭の行から順に行数分反復する。記述３は、更に、行全体にわたるプロパティなどの情報（以下、この情報を記述４という）と、各セルを構造化するための情報（以下、この情報を記述５という）に分かれる。記述５は、<w:tc>から</w:tc>の間に記述され、先頭（左端）から順に列数分反復する。記述５は、更に、セルに関するプロパティなどの情報（以下、この情報を記述６という）と、各セルに格納される文書構成要素の集合である段落を構造化するための情報（以下、この情報を記述７という）に分かれる。記述７の<w:p>から</w:p>の間に記述される内容は１つの段落を示す。記述７は、更に、各段落に関するプロパティなどの情報（以下、この情報を記述８という）と、格納される文書構成要素を構造化するための情報（以下、この情報を記述９という）に分かれる。
【０１２８】
記述９の<w:r>から</w:r>の間に記述される内容は１つのランを示す。ラン毎に、プロパティなどの情報（以下、この情報を記述１０という）と文書構成要素を示すデータの情報（以下、この情報を記述１１という）を記述するため、プロパティなどの情報を共有する文書構成要素毎にランに分類する。すなわち、文字列の場合でも、文字色やサイズなどのプロパティが異なる場合はランを分ける。なお、図２４において、記述１１にあたる<w:t>から</w:t>の間の情報は文字（列）データを記述するものであり、画像を格納する場合は<w:drawing>から</w:drawing>の間に、格納する画像に関する情報を記述する。なお、画像ファイルは図２３の/word/mediaフォルダに格納され、/word/_rels/document.xml.relsにおいてファイル名と関連づけられたIDをdocument.xmlファイル内で参照することにより、対応するグラフィックを文書ファイル中に貼り付けることができる。図２３の各ファイルの詳細、及び具体的な各ファイルの記述方法については参考文献５などのフォーマット仕様書を参照されたい。
【０１２９】
なお、各種属性において算出過程を省略するなどにより適切な値が設定されていない場合は、その属性に関するプロパティの記述などを省略し、各種アプリケーションで設定される初期値を使用するようにしてもよい。たとえば、文字色の算出を省略した場合、黒色など予め決められた色を初期値として使うことができる。なお、セルブロックの四辺の罫線について、前述の通り「不定」として与えられている場合、そのセルの辺の罫線情報は設定しない。また、各行において、行を構成する全ての仮セルの上辺もしくは下辺の罫線が、同一のラインにより構成されている場合、セル単位でなく、行単位（図２４では記述４にあたる）で上辺もしくは下辺の罫線の情報を一括して設定するようにしてもよい。
【０１３０】
上記の実施の形態１の構成により、セルの結合、または、分離の判定を、四辺の罫線の有無だけでなく、文字列の位置も利用して段階的に行うため、文字列などの配置も考慮した表の再構成が可能となる。また、結合セル候補４１０及びセルブロック８１０はともに、四角形となることを前提としているため、オフィス用電子ファイルとして変換する際に１つの結合されたセルとして構造化することが容易となる。したがって、文書構成要素の配置を考慮してセルの結合関係を判定し、各文書構成要素が最も適切にセルに割り当てられ、最終的に結合されたセルが矩形となるようにセル同士の結合を行うことが可能となる。
【０１３１】
また、上記の実施の形態１の構成により、表構造記述部３３４とファイル記述部３４とを分けて備えることで、一旦情報を取得しておき、所望のファイル形式への変換は取得しておいた情報を参照して変換処理を行うといった方法をとることが可能となるため、ファイル形式を変更したい場合に毎回情報の取得からやり直す必要はないという利点がある。
また、上記の実施の形態１において、横書きの文字列を対象として構成及び処理の説明を行ったが、本発明の構成は、当該実施の形態に限られず、縦書きの文字列にも適用することが可能である。
【０１３２】
また、上記の実施の形態１の構成では、表画像として、たとえば、表計算のソフトウェアによって作成された文書を、画像として読み取ったものを前提としているが、本発明の構成は、当該実施の形態に限られない。たとえば、電子黒板等の上に表と、表枠に書き込まれる数字や文字等と、が手書きで書き込まれた場合に、手書きの数字や文字と、表枠の罫線を分離して検出し、さらに罫線のうち水平方向と垂直方向の罫線を検出することで、実施の形態１のように表を再構成する表構造情報を抽出することが可能となる。
【０１３３】
（変形例１）
上記の実施の形態１では、文書構成要素として、文字や、文字を複数並べて成る文字列、図、及び写真を含む場合について説明したが、図や写真については、表の各セルに格納されるのではなく、表オブジェクトの上に、グラフィックオブジェクトとして重ねて貼り付けられることも多い。したがって、上記の実施形態において、文書構成要素を文字と、文字を複数並べて成る文字列に限定して表構造情報を生成し、ファイル記述部では、表構造を記述して得られる表オブジェクトの上から重ね合わせる形で、予め検出されたグラフィックを貼りつけるようにしてもよい。
【０１３４】
（変形例２）
また、上記の実施の形態１では、第１分類処理部３３２で得られた全ての結合セル候補４１０に対して、第２分類処理部３３３ではペナルティを算出してセルブロック８１０を選択する方法を説明した。当該方法において、結合セル候補４１０に含まれる仮セル同士の間の境界全てについて、結合もしくは分離の選択の組合せのうち禁止パターンを除いた組合せ全てを考慮すると、場合によっては処理に膨大な時間がかかることもある。そこで、上記の実施形態において、事前に結合セル候補４１０を構成する仮セル全てを単一のセルブロック８１０として結合してもよいかどうかの判定処理を追加し、前記判定を満たす場合、以降のペナルティ算出を省略して、結合セル候補４１０に含まれる全ての仮セルをそのまま単一のセルブロックに分類するようにしてもよい。
【０１３５】
事前の判定処理は、たとえば、結合セル候補４１０を構成する全ての仮セルのうち、隣り合う２つの仮セル間のいずれの境界においても罫線が設定されていない場合（すなわち前述した禁止パターン１に該当する境界が存在しない場合）、結合セル候補４１０を構成する全ての仮セルを、単一のセルブロックとして分類する。これにより、罫線に関する禁止パターン１の判定基準を満たす場合、ペナルティによる結合または分離の選択を省略して全部結合してしまうことを許容することで、判定処理数を減らすことが可能となる。なお、事前の判定処理は、上記に限らず別の判定を行ってもよいし、複数の判定を組み合わせてもよい。
【０１３６】
（変形例３）
上記の実施の形態１では、たとえば、図１３に示すような結合セル候補４１０ｂが存在した場合、第２分類処理部３３３は、分離ペナルティを用いて、仮セルの境界上に重畳している文字列（たとえば、文字列５０６、または文字列５０８）を分割して、結合セル候補４１０ｂの内部が矩形によって分けられるようにする。図１３の例では、文字列５０６は、１つの文章を構成する文字列であり、文章の内容に沿った正しい文字列の抽出が行われている。これに対して、たとえば、図７の例において、文字列４０１（文字列その１）と文字列４０２（文字列その２）が、１つの文字列として抽出されているような場合、抽出した文字列が表の罫線によって分断されているため、本来、当該文字列は、２つの文字列４０１と文字列４０２として抽出されるべきであり、そうしておくことで、第２分類処理部３３３における分離ペナルティの処理数を削減することができる。
【０１３７】
文章のレイアウトによっては、文章の内容として、連続していないと思われる２つの文字列が、文字抽出処理部３１１によって、意図せず１つの文字列として抽出される場合もある。このような文字列は、予め分けておくのが望ましく、それにより、第２分類処理部３３３による分離ペナルティの処理を削減することが可能となる。以下に、このような、本来予め分けられて抽出されるべき文字列を分離する手法について説明する。
【０１３８】
図２５は、「文字列その１」という文字列が、文字抽出処理部３１１によって１つの文字列２０１によって検出され、また、ライン抽出処理部３１３によって、文字列２０１と重なるライン２５１が検出された例である。このような場合、第１分類処理部３３２において、文字列２０１を、ライン２５１において分離し、２つの文字列２０１−ａと文字列２０１−ｂに分ける処理を行う。図２５のように文字列２０１が横書きの場合は、これを分離する垂直方向のライン２５１が検出された場合に、分離が行われるが、縦書きの文字列の場合、これを分離する水平方向のラインが検出された場合に分離が行われる。なお、文字列とラインの角度は、必ずしも直角（９０度）でなくてもよく、ほぼ直角であってもよい。
【０１３９】
図２６は、文字抽出処理部３１１によって、２つの仮セル２８１，２８２にまたがって存在する文字列２０２が検出され、仮セル２８１，２８２の間の境界２６１に表の罫線としてのラインが存在しない場合の例である。この場合、第１分類処理部３３２は、文字列２０２を構成する複数の文字の情報を参照し、たとえば、以下の条件のいずれかを満たす場合、仮セル２８１，２８２の間に罫線が存在しない場合であっても、その境界２６１を基準に文字列２０２を２つに分離する。
【０１４０】
「条件１：境界上にまたがる文字が存在しない場合」
たとえば、文字列２０２に含まれる各文字において、図２７に示すように、文字２２１，２２２，２２５のように各文字を含む最小矩形が境界２６１と交差しない場合、文字列２０２を２つの文字列に分離する。また、たとえば、文字２２３のように、文字を含む最小矩形が、境界２６１と交差するが、垂直方向の境界２６１の場合、左端、または右端から所定範囲（たとえば、各文字の最小矩形の横幅の５％程度の範囲）以内で交差する場合、２つの文字列を構成すると判定して、文字列２０２を２つの文字列に分離する。なお、この例では、文字２２４については、境界２６１と所定範囲を超えて交差するため、文字列２０２が、文字２２４を含むようなとき、第１分類処理部３３２は、文字列２０２を分離しない。
【０１４１】
「条件２：境界を挟む文字の文字間隔が広い場合」
たとえば、第１分類処理部３３２は、文字列２０２に含まれる全ての隣り合う２つの文字の組について、その文字間の距離をそれぞれ算出する。文字間の距離は、たとえば、文字を含む最小矩形同士の距離として算出する。算出した文字の組のうち境界２６１を挟む文字、すなわち「に」と「ま」の文字の間隔である文字間距離Ｌ１を図２８に示すように選択する。また、第１分類処理部３３２は、その他の組の距離の平均値か、または、その他の組の距離の最大値を文字間距離Ｌ２として選択する。そして、第１分類処理部３３２は、文字間距離Ｌ１が、文字間距離Ｌ２に比べて所定倍率以上大きい場合、境界２６１を挟んで文字列２０２を２つに分離する。なお、所定倍率としては、その他の組の距離の平均値をＬ２とする場合、たとえば、１．５倍程度の値、その他の組の距離の最大値をＬ２とする場合、たとえば、１．２倍程度の値を適用することができる。
【０１４２】
なお、条件としては、他の条件であってもよく、たとえば、条件１に加えて、以下のような条件を組み合わせてもよい。図２９（ａ），（ｂ）に示すように、境界２６２，２６３のそれぞれに文字列２０３，２０４がまたがっている場合、文字列２０３，２０４をそれぞれ境界２６２，２６３の左側と右側とに分離する。分離することにより、図３０に示すように、文字列２０３は、部分文字列２０３−ａ，２０３−ｂに、文字列２０４は、部分文字列２０４−ａ，２０４−ｂにそれぞれ分けられる。このとき、左側の部分文字列と、右側の部分文字列との行方向のずれ量と、所定の基準値を比較して、たとえば、ずれ量が、所定の基準値以上の場合に、第１分類処理部３３２は、文字列２０３，２０４を分離する。
【０１４３】
図３０（ａ），（ｂ）に示す文字列２０３と文字列２０４については、第１分類処理部３３２が、たとえば、部分文字列２０３−ａと部分文字列２０３−ｂ、及び部分文字列２０４−ａと部分文字列２０４−ｂのそれぞれの部分文字列を含む最小矩形を特定し、特定した最小矩形の上辺と下辺の真中を通る中心線を求める。図３１（ａ），（ｂ）に示すように、部分文字列２０３−ａ，２０３−ｂについては、中心線２３１−ａ，２３１−ｂとして求め、部分文字列２０４−ａ，２０４−ｂについては、中心線２３２−ａ，２３２−ｂとして求める。そして、それぞれの中心線２３１−ａ，２３１−ｂ，２３２−ａ，２３２−ｂが、縦方向のＹ軸と交差する位置を各々の部分文字列２０３−ａ，２０３−ｂ，２０４−ａ，２０４−ｂの基準位置ｙ１，ｙ２，ｙ３，ｙ４として算出する。そして、第１分類処理部３３２は、ｙ１とｙ２の差、及びｙ３とｙ４の差の絶対値を、それぞれ部分文字列２０３−ａ，２０３−ｂ間の距離、部分文字列２０４−ａ，２０４−ｂの間の距離として求める。第１分類処理部３３２は、求めた距離と、所定基準値とを比較して、求めた距離が所定基準値以上の場合に、一方の部分文字列と他方の部分文字列が別の文字列であると判定して、文字列の分離を行う。たとえば、所定基準値が、ｙ１とｙ２の差の絶対値よりも大きく、ｙ３とｙ４の差の絶対値よりも小さい場合、文字列２０３については部分文字列２０３−ａと部分文字列２０３−ｂの距離が、所定基準値より小さいため、第１分類処理部３３２は、文字列２０３については分離しない。これに対して、文字列２０４については、部分文字列２０４−ａと部分文字列２０４−ｂの距離が、所定基準値より大きいため、第１分類処理部３３２は、文字列２０４については部分文字列２０４−ａと部分文字列２０４−ｂに分離する。
なお、所定基準値としては、たとえば、距離の算出元の２つの部分文字列の最小矩形の高さの小さい方を所定倍（たとえば、０．２５程度の値）の値としてもよい。また、部分文字列の間の距離を算出する際に、上辺と下辺の中心線ではなく、たとえば、英語等の場合、下辺を用いてもよい。
【０１４４】
また、他の条件の別の例として、図３２（ａ）に示すような、原稿を読み取る際に、原稿の傾きにより、左から右にかけて傾いている文字列２０５の場合、まず、第１分類処理部３３２は、図３２（ｂ）に示すように、文字列２０５を境界２６４で２つの部分文字列２０５−ａと部分文字列２０５−ｂに分離する。次に、第１分類処理部３３２は、各部分文字列２０５−ａ，２０５−ｂのいずれか一方の文字列方向線を求める。ここでは、部分文字列２０５−ａの文字列方向線２３２を求めたとする。第１分類処理部３３２は、求めた文字列方向線２３２を文字列方向に延長した場合、他方の部分文字列２０５−ｂと十分重複するか否かを判定する。判定の結果、十分重複しない場合、ずれ量が大きいとして、２つの部分文字列２０５−ａ，２０５−ｂを分離し、十分重複する場合に分離しないというようにすることもできる。
【０１４５】
具体的には、まず、第１分類処理部３３２は、図３３（ａ）のように部分文字列２０５−ａの先頭文字２２８と末尾文字２２９のそれぞれの最小矩形の重心２点を通る文字列方向線２３２を求める。なお、部分文字列が１文字の場合、横書きなら重心を通る水平ライン、縦書きなら重心を通る垂直ラインを用いるようにする。第１分類処理部３３２は、求めた文字列方向線２３２を延長して、他方の部分文字列２０５−ｂの領域に延長する。このとき、部分文字列２０５−ｂを含む最小矩形の左右の辺と交差し、さらに、上辺と下辺の中間に位置する水平ライン（中心線）とも交差する場合、すなわち図３３（ｂ）に示す交点２４１，２４２，２４３という交点が得られる場合は、第１分類処理部３３２は、十分に重複すると判定して、部分文字列２０５−ａと部分文字列２０５−ｂを分離しない。これに対して、交点２４１，２４２，２４３のいずれかが得られない場合、第１分類処理部３３２は、十分に重複しないと判定して、部分文字列２０５−ａと部分文字列２０５−ｂとに分離する。このようにすることで、原稿の傾きにより、文字列が傾いている場合、部分文字列とした２つの文字列の傾きが同様であれば、２つの部分文字列は１つの文章を構成するものとして分離しないようにすることができる。
【０１４６】
上記の変形例３のように、文字列を予め不自然でない範囲で分離しておくことで、第２分類処理部３３３による分離ペナルティを用いた、分離の処理を軽減することが可能となる。
なお、変形例１，２，３を含む実施の形態１、及び以下に記載する実施の形態２，３，４において、予め定める数値以上か否かの判定は、一例であり、予め定める数値の大きさによっては、予め定める数値を超えるか否かの判定であってもよく、また、予め定める数値以下か否かの判定についても、予め定める数値の大きさによっては、予め定める数値未満か否かの判定であってもよい。
【０１４７】
〔実施の形態２：画像読取装置〕
上記の実施の形態１では、本発明に係る変換処理装置を変換処理部３０として画像形成装置１００が有する画像処理装置１に適用した構成について説明したが、本発明の構成は、これに限るものではない。実施の形態２では、本発明に係る変換処理装置を変換処理部３０として、フラットベッドスキャナ等の画像読取装置１００ａが有する画像処理装置１ａに適用した例について説明する。なお、実施の形態１の説明に用いた図面に記載されている部材と同じ機能を有する部材については、以下の説明においても同じ符号を付記する。また、それらの各部材の詳細な説明はここでは繰り返さない。
【０１４８】
図３４は、実施の形態２に係る画像処理装置１ａを備える画像読取装置１００ａ（情報処理装置）の構成を示すブロック図である。図３４に示すように、画像読取装置１００ａは、画像処理装置１ａ、画像入力装置２、送信装置４、記憶部６、及び操作パネル５を備えている。画像処理装置１ａは、Ａ／Ｄ変換部１０、シェーディング補正部１１、原稿種別判別部１２、入力階調補正部１３、領域分離処理部１４、圧縮処理部２０、及び変換処理部３０（変換処理装置）を備えている。当該変換処理部３０により、実施の形態１において説明したのと同様に、指定されたファイル形式に変換されたファイルが出力される。画像読取装置１００ａで実行される各種処理は、画像読取装置１００ａに備えられる図示しない制御部（ＣＰＵ（Central Processing Unit）あるいはＤＳＰ（Digital Signal Processor）等のプロセッサを含むコンピュータ）により制御される。実施の形態２では、画像読取装置１００ａは、スキャナに限定されることはなく、たとえば、デジタルスチルカメラ、書画カメラ、あるいは、カメラを搭載した電子機器類（たとえば、携帯電話、スマートフォン、タブレット端末等）であってもよい。
【０１４９】
〔実施の形態３：ネットワークを経由した変換処理装置〕
実施の形態１及び２において、本発明に係る変換処理装置を変換処理部３０として、画像形成装置１００、または画像読取装置１００ａが有する画像処理装置１、１ａに適用する例を示したが、本発明の構成は、これに限るものではない。本発明に係る変換処理装置を、たとえばサーバ装置に適用してもよい。この場合のサーバ装置の構成の一例は、画像形成装置１００、または画像読取装置１００ａにより画像読取及び各種画像処理が施された文書画像をネットワークを介して受信する受信装置と、実施の形態１において説明した変換処理部３０での処理を実行する変換処理装置と、当該変換処理装置が備えるファイル記述部３４から出力された文書ファイルを、ネットワークを介して送信する送信装置と、を備えたサーバ装置（情報処理装置）である。このようにサーバ装置を構成することにより、画像形成装置１００、または画像読取装置１００ａにより画像読取及び各種画像処理が施された文書画像を、ネットワークを経由して受信して、前記の変換処理部３０での処理を実行する変換処理装置により文書ファイルを作成し、出力されたファイルをユーザの端末装置（たとえば、パーソナルコンピュータやタブレット端末等）に送信する、という使い方が可能となる。また、このサーバ装置により、既に設置された画像形成装置１００、または画像読取装置１００ａを交換することなく、フォーマット変換機能を利用することが可能となる。
【０１５０】
また、前記変換処理装置を、ファイル記述部３４を除いて構成し、文書を構造化するための各種情報を作成し、ネットワークを介して送信するようにしてもよい。この場合、ファイル記述部３４が実行する処理手段を、前記各種情報を受信した前記端末装置側が実行することで、文書の構造化に必要な各種情報の取得を何度も繰り返すことなく、所望のファイルへの変換をスムーズに実行することができるので、操作ミスにより誤ったファイル形式を指定してしまった場合や、指定したファイル形式の変換結果に満足できない場合などに、異なるファイル形式に変換し直すことが容易となる。
【０１５１】
〔実施の形態４：記録媒体・プログラム〕
実施の形態１、２、３における画像処理装置１、１ａ（特に、変換処理部３０）やサーバ装置（特に、変換処理装置）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。後者の場合、画像処理装置１、１ａやサーバ装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、前記プログラム及び各種データがコンピュータ（又はＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）又は記憶装置（これらを「記録媒体」と称する）、前記プログラムを展開するＲＡＭ（Random Access Memory）等を備えている。そして、コンピュータ（又はＣＰＵ）が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。なお、前記した画像処理装置１、１ａ及び画像処理方法は、カラーの画像データを扱う構成としたが、これに限るものではなく、白黒の画像データを扱う構成であってもよい。
【０１５２】
本発明は上述した各実施の形態に限定されるものではなく、種々の変更が可能である。すなわち、本発明の要旨を逸脱しない範囲内において適宜変更した技術的手段を組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１５３】
３０  変換処理部
３１  文書構成要素検出部
３２  表領域抽出処理部
３３  表構造化処理部
３４  ファイル記述部
３１１  文字抽出処理部
３１２  図領域抽出処理部
３１３  ライン抽出処理部
３３１  分割処理部
３３２  第１分類処理部
３３３  第２分類処理部
３３４  表構造記述部
【図１】
0006607496.tif 000009
【図２】
0006607496.tif 000010
【図３】
0006607496.tif 000011
【図４】
0006607496.tif 000012
【図５】
0006607496.tif 000013
【図６】
0006607496.tif 000014
【図７】
0006607496.tif 000015
【図８】
0006607496.tif 000016
【図９】
0006607496.tif 000017
【図１０】
0006607496.tif 000018
【図１１】
0006607496.tif 000019
【図１２】
0006607496.tif 000020
【図１３】
0006607496.tif 000021
【図１４】
0006607496.tif 000022
【図１５】
0006607496.tif 000023
【図１６】
0006607496.tif 000024
【図１７】
0006607496.tif 000025
【図１８】
0006607496.tif 000026
【図１９】
0006607496.tif 000027
【図２０】
0006607496.tif 000028
【図２１】
0006607496.tif 000029
【図２２】
0006607496.tif 000030
【図２３】
0006607496.tif 000031
【図２４】
0006607496.tif 000032
【図２５】
0006607496.tif 000033
【図２６】
0006607496.tif 000034
【図２７】
0006607496.tif 000035
【図２８】
0006607496.tif 000036
【図２９】
0006607496.tif 000037
【図３０】
0006607496.tif 000038
【図３１】
0006607496.tif 000039
【図３２】
0006607496.tif 000040
【図３３】
0006607496.tif 000041
【図３４】
0006607496.tif 000042