(57)【特許請求の範囲】
【請求項１】
表を含む文書の画像データから、各オブジェクトの位置の情報を含む領域データを抽出する領域抽出手段と、
前記抽出された領域データのうち表オブジェクトに関する領域データを解析し、表オブジェクトそれぞれの構造を示す表構造情報を抽出する表構造解析手段と、
前記表オブジェクトに対して文字認識処理を実行することにより、前記表オブジェクト内の各セルについての文字認識結果を得る文字認識手段と、
前記各オブジェクトの領域データと前記表構造情報と前記文字認識結果とを用いて、前記文書におけるオブジェクトのレイアウトを再現するための表示用シートと、表の編集をするための表毎の編集用シートとを生成するシート生成手段と、
前記表示用シートと前記編集用シートとを関連付けた電子文書を生成する電子文書生成手段と、
を備え、
前記シート生成手段で生成される前記編集用シートは、前記表構造情報に基づいて前記表オブジェクトそれぞれの構造を前記編集用シートにおける表のセルの構造を用いて記述し且つ前記文字認識結果を前記編集用シートにおける表のセルに記述したシートであり、
前記シート生成手段で生成される前記表示用シートは、前記編集用シートにおける表をレンダリングすることにより生成される描画オブジェクトを取得して、当該取得した描画オブジェクトを、前記表オブジェクトの位置に対応する前記表示用シートにおける位置に配置する命令が記述されたシートであり、
前記表示用シート上に配置される描画オブジェクトは、前記編集用シートにおける表が編集された場合、当該編集後の前記編集用シートにおける表をレンダリングして生成される描画オブジェクトによって更新される、
ことを特徴とする装置。
【請求項２】
前記シート生成手段は、所定の生成条件を満たすかどうかによって前記編集用シートを生成するかどうかを判断する判断手段をさらに有することを特徴とする請求項１に記載の装置。
【請求項３】
前記所定の生成条件は、前記文書に対する表の傾き、セルの背景の色、表と他のオブジェクトとの位置関係及び表同士の位置関係のいずれかに関する条件であることを特徴とする請求項２に記載の装置。
【請求項４】
前記領域データには、前記各オブジェクトの位置の情報に加えて、更に、前記各オブジェクトのサイズ及び傾きのうち少なくとも１つの情報が含まれ、
前記表構造情報には、行／列構造、セルの座標、罫線の色、及び罫線の種類のうち少なくとも１つの情報が含まれる
ことを特徴とする請求項１乃至３のいずれか１項に記載の装置。
【請求項５】
前記電子文書は、ＸＭＬフォーマットであることを特徴とする請求項１乃至４のいずれか１項に記載の装置。
【請求項６】
前記編集用シートにおける表に対して実行可能な編集は、表に対する行または列の挿入と、表に対する行または列の削除と、表のセル内のテキストの編集とを含み、
前記表示用シート上に配置される描画オブジェクトは、前記編集用シートにおける表が編集された場合、当該編集後の前記編集用シートにおける表をレンダリングして生成される描画オブジェクトによって更新されることを特徴とする請求項１乃至５のいずれか１項に記載の装置。
【請求項７】
領域抽出手段が、表を含む文書の画像データから、各オブジェクトの位置の情報を含む領域データを抽出するステップと、
表構造解析手段が、前記抽出された領域データのうち表オブジェクトに関する領域データを解析し、表オブジェクトそれぞれの構造を示す表構造情報を抽出するステップと、
文字認識手段が、前記表オブジェクトに対して文字認識処理を実行することにより、前記表オブジェクト内の各セルについての文字認識結果を得るステップと、
シート生成手段が、前記各オブジェクトの領域データと前記表構造情報と前記文字認識結果とを用いて、前記文書におけるオブジェクトのレイアウトを再現するための表示用シートと、表の編集をするための表毎の編集用シートとを生成するステップと、
電子文書生成手段が、前記表示用シートと前記編集用シートとを関連付けた電子文書を生成するステップと、
を含み、
前記シート生成ステップで生成される前記編集用シートは、前記表構造情報に基づいて前記表オブジェクトそれぞれの構造を前記編集用シートにおける表のセルの構造を用いて記述し且つ前記文字認識結果を前記編集用シートにおける表のセルに記述したシートであり、
前記シート生成ステップで生成される前記表示用シートは、前記編集用シートにおける表をレンダリングすることにより生成される描画オブジェクトを取得して、当該取得した描画オブジェクトを、前記表オブジェクトの位置に対応する前記表示用シートにおける位置に配置する命令が記述されたシートであり、
前記表示用シート上に配置される描画オブジェクトは、前記編集用シートにおける表が編集された場合、当該編集後の前記編集用シートにおける表をレンダリングして生成される描画オブジェクトによって更新される、
ことを特徴とする文書を電子化する方法。
【請求項８】
コンピュータを、
表を含む文書の画像データから、各オブジェクトの位置の情報を含む領域データを抽出する領域抽出手段と、
前記抽出された領域データのうち表オブジェクトに関する領域データを解析し、表オブジェクトそれぞれの構造を示す表構造情報を抽出する表構造解析手段と、
前記表オブジェクトに対して文字認識処理を実行することにより、前記表オブジェクト内の各セルについての文字認識結果を得る文字認識手段と、
前記各オブジェクトの領域データと前記表構造情報と前記文字認識結果とを用いて、前記文書におけるオブジェクトのレイアウトを再現するための表示用シートと、表の編集をするための表毎の編集用シートとを生成するシート生成手段と、
前記表示用シートと前記編集用シートとを関連付けた電子文書を生成する電子文書生成手段
として機能させるためのコンピュータプログラムであって、
前記シート生成手段で生成される前記編集用シートは、前記表構造情報に基づいて前記表オブジェクトそれぞれの構造を前記編集用シートにおける表のセルの構造を用いて記述し且つ前記文字認識結果を前記編集用シートにおける表のセルに記述したシートであり、
前記シート生成手段で生成される前記表示用シートは、前記編集用シートにおける表をレンダリングすることにより生成される描画オブジェクトを取得して、当該取得した描画オブジェクトを、前記表オブジェクトの位置に対応する前記表示用シートにおける位置に配置する命令が記述されたシートであり、
前記表示用シート上に配置される描画オブジェクトは、前記編集用シートにおける表が編集された場合、当該編集後の前記編集用シートにおける表をレンダリングして生成される描画オブジェクトによって更新される、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は紙文書を電子化するための装置及び方法に関する。
【背景技術】
【０００２】
近年、インターネットに代表されるようなネットワークの広がりにより、文書が電子的に配布される機会も増えたが、文書が未だに紙に印刷された状態で配布されることも多い。そこで、紙文書しか手元に存在しない場合でも、文書の内容を再利用可能なデータとして得られるようにするための技術が従来から考えられている。
【０００３】
たとえば、紙文書をスキャナ等で読み取り、得られた画像データを端末からサーバに送信し、サーバ上で認識、再利用可能なフォーマットに変換して端末に戻す技術がある(特許文献１参照)。
【０００４】
また、文書の画像データを種類別の領域に分け、領域毎に個別に出力できるようにする技術がある(特許文献２参照)。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１６７５３２号公報
【特許文献２】特開２００５−３４６１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
紙文書をスキャンすることにより生成された文書画像（画像データ）を電子文書化する時、ユーザが利用したいデータの形式は目的や用途によって異なる。いずれにせよ、多くのユーザにとって利用しやすい状態で電子文書化されることが望まれる。
【０００７】
たとえば、文書中に表が含まれる場合において、列や行の挿入、削除といった編集操作を表に対して行いたいユーザにとっては、表オブジェクトとして編集可能な状態で電子文書化されることが望ましい。一方、そのまま再度印刷して紙文書として使いたいユーザにとっては、表の罫線のレイアウト等のビジュアル情報をできる限り忠実に再現した状態で電子文書化されることが望ましい。
【０００８】
しかし、電子文書のフォーマットの仕様によっては、文書画像中の表を表オブジェクトに変換する際、表構造や罫線レイアウトをそのまま再現できない場合がある。
【０００９】
また、表のビジュアル情報を再現する為に、表をベクトルオブジェクトとして描画する方法の場合には、列や行の挿入・削除といった編集操作をすることができなくなってしまう。
【００１０】
また、表の構造を参照しながら表のセル内の数値を用いて計算等を行う場合は、表計算アプリケーションで扱うフォーマット（セルの行列構造により表構造を表現するフォーマット）で再現するのが望ましい。しかし、セルの行列構造により表構造を表現するフォーマットにおいて、同一ページ（シート）内に複数の表がある場合には、一方の表に対する編集操作が他方へ意図しない影響を与えてしまうこともある。
【００１１】
図１３の（Ａ）は、表１３１１と表１３１２の計２つの表が同一シート上に存在する様子を示している。表計算アプリケーションなどではセルの境界が罫線位置になるので、セルの結合などをおこなって２つの表を再現している。このとき、シート編集ウィンドウ１３１０に対して、セル１３１３の右横に新しい列を追加する操作を行った結果を示すのが図１３の（Ｂ）である。表１３１１のセル１３１３の右横に新たな列１３２１が挿入されているが、表１３１２にも同時に意図しない列１３２２までもが挿入されたことがわかる。この他、列の削除やセル幅の変更などの操作の場合も、一方の表に対して編集操作を行えば、他方の表に対しても意図しない影響が出てしまう。
【００１２】
これまでは、上述したような問題を生じさせることなく、ユーザの様々な要求を同時に満たすことが可能な紙文書の電子化は困難であった。
【課題を解決するための手段】
【００１３】
本発明に係る装置は、表を含む文書の画像データから、各オブジェクトの位置の情報を含む領域データを抽出する領域抽出手段と、前記抽出された領域データのうち表オブジェクトに関する領域データを解析し、表オブジェクトそれぞれの構造を示す表構造情報を抽出する表構造解析手段と、前記表オブジェクトに対して文字認識処理を実行することにより、前記表オブジェクト内の各セルについての文字認識結果を得る文字認識手段と、前記各オブジェクトの領域データと前記表構造情報と前記文字認識結果とを用いて、前記文書におけるオブジェクトのレイアウトを再現するための表示用シートと、表の編集をするための表毎の編集用シートとを生成するシート生成手段と、前記表示用シートと前記編集用シートとを関連付けた電子文書を生成する電子文書生成手段と、を備え、前記シート生成手段で生成される前記編集用シートは、前記表構造情報に基づいて前記表オブジェクトそれぞれの構造を前記編集用シートにおける表のセルの構造を用いて記述し且つ前記文字認識結果を前記編集用シートにおける表のセルに記述したシートであり、前記シート生成手段で生成される前記表示用シートは、前記編集用シートにおける表をレンダリングすることにより生成される描画オブジェクトを取得して、当該取得した描画オブジェクトを、前記表オブジェクトの位置に対応する前記表示用シートにおける位置に配置する命令が記述されたシートであり、前記表示用シート上に配置される描画オブジェクトは、前記編集用シートにおける表が編集された場合、当該編集後の前記編集用シートにおける表をレンダリングして生成される描画オブジェクトによって更新される、ことを特徴とする。
【発明の効果】
【００１４】
本発明に係る電子文書（ワークブックドキュメント）は、編集用シートと印刷表示シートとで構成される。これにより、表を含む文書について、文書のレイアウトを忠実に再現しつつ、表編集の利便性も確保することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１に係るシステム構成の一例を示す図である。
【図２】実施形態１の動作を説明する機能ブロック図である。
【図３】表オブジェクトに関する情報を、ツリー構造で表した図である。
【図４】シート生成部における処理の流れを説明するフローチャートである。
【図５】スキャナで読み取られた文書画像の一例である。
【図６】表領域情報と表構造情報の一例を示す図である。
【図７】文字認識処理を行った結果の一例を示した図である。
【図８】表示用シートの一例を示す図である。
【図９】編集用シートの一例を示す図である。
【図１０】ワークブックドキュメントの一例を示す図である。
【図１１】表示・編集用プログラムによって表示用シートを表示した場合の一例を示した図である。
【図１２】表示・編集用プログラムによって編集用シートを表示した場合の一例を示した図である。
【図１３】従来技術を説明するための図である。
【図１４】文書画像の一例である。
【図１５】編集用シートと表示用シートが、表示・編集プログラムによって表示された様子を示した図である。
【図１６】実施形態２に係るシート生成部における処理の流れを説明するフローチャートである。
【図１７】判断テーブルの一例を示す図である。
【図１８】文書画像の一例を示す図である。
【発明を実施するための形態】
【００１６】
<実施形態１>
図１は、本実施形態に係るシステム構成の一例を示す図である。
【００１７】
１００は、画像処理装置である。
【００１８】
１０１は、紙文書を読み取って文書画像（画像データ）を得るための、読取手段としてのスキャナである。
【００１９】
１０２は、ＣＰＵであり、得られた画像データに本発明の各種処理を施すための電子化処理プログラムを実行する。
【００２０】
１０３は、メモリであり、ＣＰＵ１０２が電子化処理プログラムを実行する際のワークメモリやデータの一時保存などに利用される。
【００２１】
１０４は、電子化処理プログラムやデータを格納するハードディスクである。
【００２２】
１０５は、外部装置とデータの入出力を行うためのネットワークＩ／Ｆである。
【００２３】
１１０は、ネットワーク（ＬＡＮ）である。
【００２４】
１２０は、パーソナルコンピュータ（ＰＣ）である。画像処理装置１００とはＬＡＮ１１０を介して接続される。
【００２５】
１２１は、画像処理装置１００で生成された電子文書を、ＰＣ１２０のディスプレイ上に表示し、ユーザによって編集することを可能にする表示・編集プロラグムである。
【００２６】
図２は本実施形態の動作を説明する機能ブロック図である。
【００２７】
図２に示されている各部は、ＣＰＵ１０２が電子化処理プログラムを実行することによって実現されるものとするが、その一部又は全部を電気回路で構成するようにしても構わない。
【００２８】
２００は、紙文書をスキャナ１０１で読み取ることにより得られた画像データである。
【００２９】
２１０は、この入力された画像データ２００に電子化処理を行う電子化処理部である。
【００３０】
２２０は、電子化処理部２１０によって生成されたワークブックドキュメントである。なお、本明細書において「ワークブックドキュメント」とは、ＰＣ１２０内の表示・編集プログラム１２１によって表示・編集が可能な電子文書であり、複数のシートによって構成される。本明細書における表示・編集プログラム１２１は表計算アプリケーションである。シートは、セルと呼ばれる行列の最小単位で構成される表構造と、その他の自由に配置可能なオブジェクト（フローティングオブジェクト）とによって表レイアウトを表現可能な電子データである。なお、本実施形態において説明するワークブックドキュメントは、ＸＭＬ（Extensible Markup Language）フォーマットで記述される。もちろん、ＸＭＬフォーマットは一例であり、アプリケーション固有のバイナリ形式のフォーマットでも良い。
【００３１】
２１１〜２１５の各ブロックは、電子化処理部２１０で実行される各機能を模式的に独立の構成要素として示したものである。
【００３２】
２１１は、入力された文書画像（画像データ）を解析して、表、文字、自然画像などのオブジェクトの種類別に領域を分け、オブジェクト毎に領域データを抽出する領域抽出部である。領域データには、オブジェクトの種類情報の他、当該オブジェクトの位置、サイズ及び傾きなどの情報が含まれる。なお、説明の便宜上、表オブジェクトの領域データについては「表領域データ」、文字オブジェクトの領域データについては「文字領域データ」といったように略して呼ぶこととする。
【００３３】
２１２は、領域抽出部２１１で抽出された表領域データについて表構造の解析を行い、表構造情報を抽出・生成する表構造解析部である。
【００３４】
２１３は、文字領域データについて文字認識を行い、文字コードデータを含む文字認識情報を生成する文字認識部である。
【００３５】
図３は、上述の領域抽出処理、表構造解析処理及び文字認識処理によって得られる表オブジェクトに関する情報を、ツリー構造で表した図である。表に関する情報は、まず、表領域情報と表構造情報の２つに大別される。
【００３６】
表領域情報は、領域抽出処理により得られる。表領域情報はさらに、表の外枠を形成する矩形についての、座標情報、サイズ情報及び傾き情報に分けられる。座標情報は、文書画像の左上を原点（０，０）とした場合の、表の外枠を形成する矩形の左上位置を座標で示したものである。横軸方向位置ｘと縦軸方向位置ｙからなる座標（ｘ，ｙ）で表される。サイズ情報は、表の外枠を形成する矩形の大きさを示すものであり、幅ｗと高さｈで表された情報（ｗ，ｈ）からなる。傾き情報は、文書の縦方向に対して表の縦方向の線分がどれだけ傾いているかを示す情報であり、度（°）で表される。
【００３７】
表構造情報は、表構造解析処理により得られる。表構造情報は、行と列によって切り分けられた、表の最小単位であるセルに関する情報（セル情報）の集合である。セル情報は、さらに、文字コードデータ、行列座標情報、矩形情報、背景情報、及び罫線情報などに分けられる。行列座標情報は、列ｃ(column)と行ｒ(row)によってセルの位置を示す情報（ｃ，ｒ）からなる。矩形情報は、表の外枠を形成する矩形の左上を原点（０，０）とした場合のセルの左上位置を示す情報（横軸方向位置ｘ、縦軸方向位置ｙ）とセルのサイズを示す情報（幅ｗ、高さｈ）の組合せ（ｘ，ｙ−ｗ，ｈ）からなる。背景情報は、セルの背景の色や模様などに関する情報である。罫線情報は、セルの線分の色や線種（たとえば、実線、点線、太線、細線、二重線）などを示す情報である。
【００３８】
上述した表領域情報に相当する領域情報が他のオブジェクトについても存在し（例えば、文字領域情報など）、同様のツリー構造により管理・格納される。なお、ツリー構造は表に関する情報を管理するための一手法であり、同様の情報が別の手法によって管理・格納されても良い。
【００３９】
２１４は、オブジェクト別に得られた領域データに基づき、表示用シート２２１及び編集用シート２２２を生成するシート生成部である。
【００４０】
２１５は、シート生成部２１４で生成されたシートから電子文書としてのワークブックドキュメント２２０を生成するワークブックドキュメント生成部である。ワークブックドキュメント２２０は、ワークブックドキュメント内のページ単位である表示用シート２２１及び編集用シート２２２によって構成される。ＰＣ１２０内の表示・編集プログラム１２１によって、ワークブックドキュメント２２０の表示や編集を行うことができる。
【００４１】
表示用シート２２１は、文書画像を、ＰＣ１２０のディスプレイ上に表示したり、不図示のプリンタで印刷したりする際に用いられる電子データである。文書画像内のオブジェクトのレイアウトを重視し、そのままの状態で表示等するために用いるシートであるから‘‘表示用シート’’と呼ぶ。
【００４２】
編集用シート２２２は、文書画像に含まれる表に対して、列を追加したり行を削除したりといった編集操作をする際に用いるための電子データである。文書画像内の表を編集するために用いるシートであるから‘‘編集用シート’’と呼ぶ。
【００４３】
以下、電子文書生成部２１０の各機能（各処理部）の具体的な処理内容等について、詳細に説明する。
【００４４】
＜領域抽出部＞
スキャナ１０１を介して得られた画像データは、まず、領域抽出部２１１において、オブジェクト別の領域に分けられ、オブジェクト毎の領域データが抽出される。抽出は、例えばＵＳＰ５６８０４７８号公報記載のような公知の方法が適用可能である。この公報記載の方法の場合、画像データから黒画素及び白画素の集合を抽出し、その形状、大きさ、集合状態等から、文字、絵や図、表、自然画像、枠、線といった種類に分類されたオブジェクト別の領域が抽出される。なお、画像データから表を抽出する方法としては、例えば入力画像データに対しハフ変換等を行って線分情報を抽出する方法も存在し、この場合には文書に対して傾きのある表の検出も可能である。
【００４５】
領域の抽出の際には、当該オブジェクトの位置（レイアウト）、サイズ及び傾きなどの情報も併せて抽出される。表オブジェクトの例で言えば、上述した表領域情報、つまり、表の外枠を形成する矩形の座標情報やサイズ情報に加え、文書に対して表がどの程度傾いているかを示す傾き情報が、併せて抽出される。すなわち、領域データには、オブジェクトの種類と、その位置、サイズ、傾きなどの情報が含まれる。
【００４６】
図５の５００は、スキャナ１０１で読み取られた文書画像の一例であり、５０１は文字領域として抽出された領域、５０２及び５０３は表領域として抽出された領域をそれぞれ示している。
【００４７】
そして、図６の６０１は、表領域５０２及び５０３について併せて抽出された表領域情報を示している。表領域５０２に関しては、表の外枠を形成する矩形の左上位置の座標情報（９０，５５０）、当該矩形の幅と高さで表されるサイズ情報（２２００，５７０）が示されている。さらに、表領域５０２の縦方向の線分は文書画像５００の縦方向と平行であるので、傾き情報として「０°」が示されている。表領域５０３に関しては、表の外枠を形成する矩形の左上位置の座標情報（４２０，１６３０）、当該矩形の幅と高さで表されるサイズ情報（１３５０，５４０）が示されている。同じく傾き情報についても「０°」が示されている。
【００４８】
＜表構造解析部＞
オブジェクト別の領域データの抽出が完了すると、次に、表構造解析部２１２において、表領域データの解析が行われ、表の行／列構造、セルの座標、罫線の色や種類などの表構造情報が抽出される。表領域データを解析し、表構造情報を抽出する方法に関しては、例えば特開２００４−０８６４３６号公報に記載の方法等が存在する。この方法の場合、まず、表領域内部の白画素塊の境界近傍において２方向のエッジを求め、求められた２方向のエッジそれぞれから求めたエッジヒストグラムに基づいて部分罫線情報を取得する。そして、取得した部分罫線情報に基づいて、表領域の罫線情報を取得することで表構造の解析を行う。
【００４９】
図６の６０２は、表領域５０２及び５０３について抽出された表構造情報を示している。表領域５０２については、当該表領域の外枠を形成する矩形の左上を原点（０，０）とした場合の、１行１列目に配されたセルの矩形の左上位置の座標（０，０）とサイズ（５８０，１９０）が示されている。さらに、背景情報として（なし）及び罫線情報として（黒、実線）が示されている。そして、同様の情報が、３行３列目のセルの分まで（計９セル分）示されている。表領域５０３に関しても、１行１列目に配されたセルの矩形の左上位置の座標（０，０）とサイズ（６００，１８０）が示されており、背景情報として（なし）及び罫線情報として（黒、実線）が示されている。そして、同様の情報が、３行２列目のセルの分まで（計６セル分）示されている。
【００５０】
＜文字認識部＞
表構造の解析を終えると、文字認識部２１３において、文字領域データ及び表領域データ内のセル範囲に対し文字認識処理が実行される。文字認識処理には公知の文字認識技術を用いることができる。以下、文字領域データに対する文字認識の場合を例に説明する。
【００５１】
まず、文字領域データについて、縦書きか横書きかの判断、すなわち、行方向の判断を行う。この判断手法としては、画像データを二値化し、縦横の射影をとって射影分散の低い方を行方向と判定する方法等がある。
【００５２】
次に、文字領域データを文字１つ１つの画像データへと分割する。具体的には、二値画像の行方向への射影を用いて切断すべき行間を発見することでまず行毎の画像データ（行画像データ）に分割する。そして、行と垂直方向への射影を用いて切断すべき文字間を発見することで、行画像データを文字１つ１つの画像データ（文字画像データ）へと分割する。
【００５３】
続いて、分割された文字画像データ１つ１つから特徴を取り出し、予め全文字種分の特徴を保存した辞書を用いて一番特徴の近いものを検索する。そうして検索された最も特徴の近い文字種の文字コードが、当該文字画像データの文字認識結果となる。
【００５４】
さらに、１つ１つの文字画像データにおいて文字を認識する際に当該文字の大きさ情報も同時に取得し、文字領域データ内に存在するすべての文字の大きさの平均値を算出する。これにより、文字領域データ毎の文字サイズ情報を算出する。このようにして得られた文字コードデータと文字サイズ情報とを合わせて文字領域データについての文字認識情報を生成する。
【００５５】
また、同様の処理が表領域データ内のセル範囲に対して、表を構成するセル毎に実行される。もっとも、領域抽出部２１１にて、抽出された表領域データからさらに表中の文字について文字領域データを取得していた場合には、当該取得された文字領域データについて文字認識処理を行えばよい。
【００５６】
図７は、図５に示す３つの領域５０１〜５０３の画像データに対して文字認識処理を行った結果を示したものである。
【００５７】
文字領域５０１については、認識結果として文字列‘‘Members List’’と、文字領域５０１の外枠を形成する矩形の位置及びサイズ情報（１７０，１２０−１０５０）及び文字サイズ情報（１８０）が示されている。
【００５８】
また、表領域５０２については、１列１行目のセルについて文字列‘‘Name’’と、文字サイズ情報４５Pixelが示されている。同様に２列１行目のセルについて文字列‘‘Email’’、３列１行目のセルについて文字列‘‘Group’’、１列２行目のセルについて文字列‘‘Maruko Taro’’、２列２行目のセルについて文字列‘‘marukot@xxx.co.jp’’が示されている。また、３列２行目のセルについて文字列‘‘A’’、１列３行目のセルについて文字列‘‘Kosugi Ichiro’’、２列３行目のセルについて文字列‘‘kosugii@xxx.co.jp’’、３列３行目のセルについて文字列‘‘B’’が示されている。さらに、表領域５０３の１列１行目のセルについて文字列‘‘Group’’、２列１行目のセルについて文字列‘‘Leader’’、１列２行目のセルについて文字列‘‘A’’、２列２行目のセルについて文字列‘‘Maruko Taro’’が示されている。また、３列１行目のセルについて文字列‘‘B’’、３列２行目のセルについて文字列‘‘Kosugi Ichiro’’が示されている。そして、表領域５０２及び５０３の各セルから抽出された上記文字列の文字サイズ情報として４５（pixel）が示されている。
【００５９】
＜シート生成部＞
文字認識処理が終了すると、シート生成部２１４において、表示用シート２２１及び編集用シート２２２の生成処理が行われる。
【００６０】
シート生成部２１４における処理の流れを説明する前に、シートに記述される各要素について詳しく説明する。必要に応じて、図８及び図９を参照されたい。
【００６１】
シートフォーマットのルート要素であるSheet要素は、セルの情報を格納するTable要素と、シート上に自由配置可能なフローティングオブジェクトの情報を格納するShapes要素から構成される。Sheet要素のName属性はシート名を表す。
【００６２】
Shapes子要素のText要素は、文字列情報を扱う要素である。シートの左上を原点（０，０）とした場合の描画左上位置を示すｘ属性とｙ属性、文字の大きさを指定するfontSize属性、及び表示される文字を特定する文字情報からなる。Shapes子要素のImage要素は、イメージオブジェクトを扱う要素で、シートの左上を原点（０，０）とした場合の描画左上位置を示すｘ属性とｙ属性、及びイメージオブジェクトの内容としての画像データが格納される。
【００６３】
Table要素は、列の情報を格納するColumn要素、行の情報を格納するRow要素から構成される。Column要素は、列番号を表すc属性と、列幅を表すwidth属性からなる。Row要素は、行番号を表すr属性と、高さを表すheight属性と、子要素Cellから構成される。
【００６４】
Cell要素は、シート上の１セルに対応する。Cell要素は、どの列(Column要素)に対応するセルかを表すc属性、値の属性を表すtype属性、フォントサイズを表すfontSize属性、セルの値を表すvalue属性及び罫線色を表すborderColor属性から構成される。
【００６５】
続いて、図４のフローチャートを用いてシート生成部２１４における処理の流れを詳細に説明する。
【００６６】
まず、ステップ４０１において、シート生成部２１４は、表以外のオブジェクトを記述した表示用シートを生成する。具体的には、文字や自然画像などのオブジェクトを、セルレイヤーとは別のレイヤーに自由配置可能なフローティングオブジェクトとして表現することで文書におけるオブジェクトのレイアウトを再現したシートを生成する。
【００６７】
図８の（Ａ）は、図５に示す文書画像５００中の文字領域５０１の文字オブジェクトが記述された表示用シートの例である。シート名として‘‘ViewSheet’’、文字領域の矩形の位置及びサイズ情報として、x=‘‘170’’、y=‘‘120’’、fontSize=‘‘180’’、内容として‘‘Member List’’、で特定される文字列のtext要素を持つことが分かる。
【００６８】
なお、文書画像５００の場合には、表以外のオブジェクトは文字オブジェクトしか存在しないが、他にイメージや、図形、自然画像などのオブジェクトが存在する場合には、同様に表示用シートへ記述される。
【００６９】
次に、ステップ４０２において、シート生成部２１４は、表オブジェクトについて編集用シートを生成する。すなわち、表構造情報を記述したシートを表毎（表オブジェクト単位）に生成する。この場合において、処理対象となる表オブジェクトが複数存在する場合には、編集用シートを、任意の順番で順次生成してもよいし、すべての表オブジェクトについて並列処理により生成しても良い。
【００７０】
図９は、編集用シートの例であり、（Ａ）は表領域５０２の表オブジェクト、（Ｂ）は表領域５０３の表オブジェクトについての編集用シートである。例えば、図９の（Ａ）の場合、シート名が‘‘TableEditSheet1’’で、表領域５０２を構成する３行３列のセルについて、サイズや罫線などの情報をセル書式で、文字認識結果をセル値として表現していることが分かる。図９の（Ｂ）についても同様に、シート名が‘‘TableEditSheet2’’で、表領域５０３を構成する３行２列のセルについて、サイズや罫線などの情報をセル書式で、文字認識結果をセル値として表現している。
【００７１】
そして、ステップ４０３において、すべての表オブジェクトに対して編集用シートが生成されたかどうかが判定され、すべての表オブジェクトについて編集用シートの生成が完了すればＳ４０４へ進む。
【００７２】
ステップ４０４において、シート生成部２１４は、ステップ４０２で生成された各編集用シート上の表を参照した描画オブジェクトを生成し、これをステップ４０１で生成された表示用シート上に参照情報として追記する。ここで、描画オブジェクトは、編集用シート上の指定した範囲をレンダリングすることによって得られる。レンダリング元である編集用シート上の表が編集された場合には、参照先である表示用シート上の画像オブジェクトの内容も、当該編集後の内容に併せて更新されることになる。
【００７３】
図８の（Ｂ）は、文字領域５０１の表示用シート（図８の（Ａ））に対して、表領域５０２及び５０３の編集用シート（図９の（Ａ）及び（Ｂ）を参照した描画オブジェクト８０１が追記された表示用シートの例である。ここでは画像データを示すImage要素の内容はScript要素となっており、本実施形態での説明のために作られた仮想的なScript言語が記述されている。
「ThisWorkbook.Sheet(‘‘TableName’’).getRenderImage()」は、同一Workbookドキュメント内のTableNameシートの描画イメージを取得する命令である。これにより、２個の編集用シート(TableEditSheet1、TableEditShee2)の描画イメージを表示用シート上に配置している。
【００７４】
＜ワークブックドキュメント生成部＞
シート生成部２１４におけるシートの生成処理が終了すると、ワークブックドキュメント生成部２１５において、生成されたシートに基づきワークブックドキュメントが生成される。すなわち、表示用シートと編集用シートとが関連付けられた、Workbook要素、Sheets要素及びSheet要素からなる１の電子文書を生成する。
【００７５】
ここで、各要素について説明する。ルート要素であるWorkbook要素は、自身を構成するシートの情報を記述したSheets要素から構成される。そして、Sheets要素は、Sheet要素から構成され、Sheet要素はref属性を用いて表示用シート又は編集用シートを参照している。
【００７６】
図１０は、ワークブックドキュメントの一例である。このワークブックドキュメントは、ref属性値にファイル名‘‘ViewSheet.xml’’、‘‘TableEditSheet1.xml’’及び‘‘TableEditSheet2.xml’’がそれぞれ格納されている。このことから、図１０のワークブックドキュメントが、追記処理が施された表示用シート（図８の（Ｂ））と２つの編集用シート（図９の（Ａ）及び（Ｂ））とによって構成されていることが理解される。
【００７７】
以上のようにして、スキャナ１０１における読み取り対象であった紙文書について、電子文書としてのワークブックドキュメントが生成される。
【００７８】
図１１は、追記処理が施された表示用シート（図８の（Ｂ）が、表示・編集プログラム１２１によってＰＣ１２０のディスプレイ上に表示された様子を示している。１１０１は表示ウィンドウであり、１１０２はシート編集ウィンドウである。
【００７９】
シート編集ウィンドウ１１０２内の自由位置に配置されている表画像１１０３及び１１０４は、それぞれ図９の（Ａ）及び（Ｂ）の編集用シートに対応する描画イメージであり、表の位置や罫線の位置がセルとは無関係に表示されている。
【００８０】
図１２は、編集用シート（図９の（Ａ）及び（Ｂ））が、表示・編集プログラム１２１によってＰＣ１２０のディスプレイ上に表示された様子を示している。図１２の（Ａ）では、「Table.1」のタブ１２０１がアクティブになっており、表領域５０２に対応する編集用シート（図９の（Ａ））がシート編集ウィンドウ１１０２に表示されている。同様に、図１２の（Ｂ）では、「Table.2」のタブ１２０２がアクティブになっており、表領域５０３に対応する編集用シート（図９の（Ｂ））がシート編集ウィンドウ１１０２に表示されている。表示用シートの場合とは異なり、表の位置や罫線の位置がセルの矩形と整合した状態で表示されている。
【００８１】
この画面において、表示された表に対して行や列の挿入、削除、またセル内のテキスト編集などを行えば、当該編集された内容が図１１に示される表示用シートにも即座に反映される。
【００８２】
上述のとおり、本発明によって生成される電子文書としてのワークブックドキュメントでは、表の実データが、表単位の編集用シート上に表現される。そのため、同一ページ内に表が複数存在する場合でも、他の表に影響を与えることなく（すなわち、図１３の（Ｂ）に示されたような事態を生じさせることなく）表の編集が可能となる。
【００８３】
さらに、図１４に示す文書画像１４００が入力された場合の処理について説明する。
【００８４】
文書画像１４００上の表領域１４０１は、文書の縦方向に対して時計回り方向に約１５度傾いている。このように表が傾いている場合、従来技術では、表を、行列構造を持った表オブジェクトとしてではなく、行列構造を持たない図形オブジェクトなどとして表現するしかなかった。
【００８５】
しかし、本発明では、このような場合にも表オブジェクトして表現することが可能である。
【００８６】
文書画像１４００に対して本発明を適用して得られた編集用シートと追記処理が施された表示用シートが、表示・編集プログラムによって表示された様子をそれぞれ図１５の（Ａ）及び（Ｂ）に示す。
【００８７】
図１５の（Ｂ）から明らかなように、表示用シート上では、表は約１５度傾いたままであり、文書画像１４００の概観をそのまま保っている。一方、図１５の（Ａ）の編集用シートでは表の実データが行列構造により表現され、表に対する編集操作が可能となっている。さらに、表示用シート上の表は、描画オブジェクトとして編集用シートから参照されているため、表を回転させるなどの操作も可能となる。
【００８８】
以上説明したように、本実施形態に係る画像処理装置によれば、文書に含まれた表に対する編集性と文書全体のレイアウトの正確な再現とを両立させながら、紙文書を電子文書化することができる。
【００８９】
<実施形態２>
実施形態１では、スキャナ１０１を介して入力された文書画像中に表領域が存在した場合、全ての表について編集用シートを生成していた。しかし、表の編集を企図して電子文書化する場合であっても、文書画像内の一部の表については編集不要という場合もあり得る。そこで、編集用シートを必要な場合にのみ生成する実施態様について、実施形態２として説明する。
【００９０】
図１６は、本実施形態に係るシート生成部２１４における処理の流れを示したフローチャートである。以下、このフローチャートに沿って詳細に説明するが、実施形態１に係る図４のフローチャートと共通する部分については簡略化ないしは省略し、ここでは差異点を中心に説明する。
【００９１】
まず、ステップ１６０１において、シート生成部２１４は、表以外のオブジェクトを記述した表示用シートを生成する。これは、ステップ４０１と同様である。
【００９２】
次に、ステップ１６０２において、シート生成部２１４は、表オブジェクトについて、編集用シートを生成するかどうかを判断する。具体的には、編集用シートの所定の生成条件が記された判断テーブルを用いて、表オブジェクトが当該生成条件を満たすかどうかが判断される。生成条件を満たすと判断されればステップ１６０４に進み、生成条件を満たさないと判断されればステップ１６０３に進む。
【００９３】
図１７は、判断テーブルの一例を示した図である。図１７に示す判断テーブルの場合、ワークブックドキュメントの仕様、他のオブジェクトとの位置関係、及び他の表との位置関係、の大きく３つの観点から、編集用シートを生成するかどうかが判断されることになる。
【００９４】
ワークブックドキュメントの仕様に関する条件では、さらに、傾きとセル背景の要素に分けられる。「傾き」は、文書に対する表の傾きが０度，９０度，１８０度，２７０度以外の時に編集用シートを生成するという条件である。すなわち、文書に対して表が直角以外の角度（例えば、３０度）で傾いている場合に、編集用シートが生成されることになる。「セル背景」は、セルの背景が、単色以外の時に編集用シートを生成するという条件である。つまり、セルの背景色が複数の色で構成されている場合に、編集用シートが生成されることになる。
【００９５】
他のオブジェクトとの位置関係に関する条件は、表オブジェクトの領域の全部又は一部と表以外のオブジェクトとが重なる場合には、編集用シートを生成するという条件である。
【００９６】
他の表との位置関係に関する条件は、複数の表が存在するときに、表同士の位置関係が、行方向又は列方向のいずれかにおいて重なりが生じる場合に編集用シートを生成するという条件である。すなわち、一方の表に対する行や列の挿入・削除等の操作が他方の表に影響を及ぼし得るような位置関係に表がレイアウトされている場合に編集用シートが生成されることになる。
【００９７】
なお、上述した判断テーブルの生成条件は一例であり、他にも様々な条件を設定し得る。例えば、上下に配置された表の縦方向罫線のＸ座標が一致しない場合や、左右に配置された表の横方向罫線のＹ座標が一致しない場合には、編集用シートを生成するといった条件が考えられる。さらに、２つ以上の表が存在する場合には必ず編集用シートを生成するという条件にしてもよい。判断テーブルにおける生成条件は、電子化された文書の使用目的や用途に合せユーザが任意に設定すればよい。
【００９８】
ステップ１６０３において、シート生成部２１４は、Ｓ１６０１で生成した表示用シート上に、表をフローティングオブジェクトとして追記する。追記が終わると、ステップ１６０５に進む。
【００９９】
一方、ステップ１６０４において、シート生成部２１４は、表オブジェクトについて編集用シートを生成する。具体的な内容は、ステップ４０２と同様である。編集用シートの生成が終了するとステップ１６０５に進む。
【０１００】
そして、ステップ１６０５において、すべての表オブジェクトについて表示用シートへの追記又は編集用シートの生成が完了したかどうかが判定され、完了と判定されればステップ１６０６へと進む。
【０１０１】
ステップ１６０６において、シート生成部２１４は、ステップ１６０５で生成された編集用シート上の表を参照した描画オブジェクトを生成し、これをステップ１６０３で生成された表示用シート上に追記する。このステップもステップ４０４と同様である。
【０１０２】
以下、図１７の判断テーブルを用いて本実施形態の処理を適用した具体例を説明する。
【０１０３】
まず、図１８に示した文書画像１８００の場合を例に説明する。図１８の文書画像１８００には、上下左右にずれて配置された２つの表（１８０１と１８０２）が存在している。
【０１０４】
まず、実施形態１の場合と同様、領域抽出部２１１において、表領域１８０１及び１８０２について、表オブジェクトとしての領域データが抽出される。そして、表領域１８０１については、位置情報として（１１０，６００）、サイズ情報として（１１００，  ５００）、傾き０度の各情報が抽出されている。同様に表領域１８０２については、位置情報として（１３５０，１４００）、サイズ情報として（１０００，５５０）、傾き０度が抽出されている。
【０１０５】
続いて、表構造解析部２１２において、それぞれの表領域データに対して解析が行われる。ここでは、セルの背景色の情報として「RGB#FFF（白）」が、すべてのセルについて抽出されている。
【０１０６】
そして、図１７の判断テーブルを用いて、編集用シートの生成の有無が判断される。まず、表領域１８０１、１８０２は共に傾きは存在せず、セル背景はいずれも単色であるため、ワークブックドキュメントの仕様に関する編集用シートの生成条件は満たさない。また、表以外のオブジェクトも存在しないため、他のオブジェクトとの位置関係に関する生成条件も満たさない。さらに、２つの表の位置関係は、Ｘ軸とＹ軸の双方の方向において重なりは生じていないので、他の表との位置関係に関する生成条件も満たさない。
【０１０７】
よって、編集用シートの生成は行われず、２つの表の追記が表示用シートに対して行われた後、シート生成部２１４の処理を終了する。
【０１０８】
その結果、表示用シートのみで構成されたワークブックドキュメントが生成されることになる。
【０１０９】
次に、図１４に示した文書画像１４００の場合を例に説明する。
【０１１０】
まず、領域抽出部２１１において、表領域１４０１について、表オブジェクトとしての領域データが抽出され、同時に傾き１５度の傾き情報が抽出される。
【０１１１】
表構造解析部２１２における解析が行われた後、図１７の判断テーブルを用いて、編集用シートの生成の有無が判断される。ここで、表領域１４０１は、１５度の傾きが存在するため、ワークブックドキュメントの仕様に関する編集用シートの生成条件を満たすことになる。
【０１１２】
よって、編集用シートの生成が行われ、その後、生成された編集用シート上の表を参照した描画オブジェクトが表示用シート上に追記されて、シート生成部２１４の処理は終了する。
【０１１３】
その結果、表示用シートと編集用シートとで構成されたワークブックドキュメントが生成されることになる。
以上説明したように、本実施形態によれば、編集用シートの生成の有無を予め定めた条件によって判断することで、無用な編集用シートの生成を抑制することができる。これにより、ユーザのニーズにきめ細かに対応し得る紙文書の電子文書化が可能となる。
【０１１４】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１１５】
１００  画像処理装置
１１０  ＬＡＮ
２１０  電子文書生成部
【図１】
0005465015.tif 000002
【図２】
0005465015.tif 000003
【図３】
0005465015.tif 000004
【図４】
0005465015.tif 000005
【図５】
0005465015.tif 000006
【図６】
0005465015.tif 000007
【図７】
0005465015.tif 000008
【図８】
0005465015.tif 000009
【図９】
0005465015.tif 000010
【図１０】
0005465015.tif 000011
【図１１】
0005465015.tif 000012
【図１２】
0005465015.tif 000013
【図１３】
0005465015.tif 000014
【図１４】
0005465015.tif 000015
【図１５】
0005465015.tif 000016
【図１６】
0005465015.tif 000017
【図１７】
0005465015.tif 000018
【図１８】
0005465015.tif 000019