(57)【特許請求の範囲】
【請求項１】
ベクタ情報を有する電子ファイルを入力する入力部を有する情報処理装置において、
前記電子ファイルが有する前記ベクタ情報を読み込む読込手段と、
前記読込手段により読み込まれた前記ベクタ情報から、線分オブジェクトにおける線分パラメータ情報を抽出する第１の線分抽出手段と、
前記読込手段により読み込まれた前記ベクタ情報から、多角形オブジェクトにおける多角形パラメータ情報を抽出し、抽出した多角形パラメータ情報から該多角形を構成する線分の線分パラメータ情報を抽出する第２の線分抽出手段と、
前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報に基づいて、矩形パラメータ情報を抽出する矩形抽出手段と、
前記矩形抽出手段により抽出された矩形パラメータ情報により構成される矩形が、矩形を内包しない矩形である最小矩形であるか否かを判定する最小矩形判定手段と、
前記最小矩形判定手段により判定された最小矩形を出力する最小矩形出力手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分の基準線との傾度を取得する傾度取得手段を有し、
前記矩形抽出手段は、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報と、さらに前記傾度取得手段により取得され、抽出された線分パラメータに対応した前記傾度とに基づいて、直行する線分から形成される矩形の矩形パラメータ情報を抽出すること、
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報に基づいて構成される線分の傾度を取得する傾度取得手段と、
前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報と前記傾度取得手段により取得され、抽出された線分パラメータに対応した前記傾度とに基づいて、傾度が同一であって重なりをもつ２つの線分を連結し、連結した線分の線分パラメータ情報を取得する第３の線分抽出手段とを有し、
前記矩形抽出手段は、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出され、前記第３の線分抽出手段により連結された線分の線分パラメータ情報を除いた線分パラメータ情報と、さらに前記第３の線分抽出手段により抽出された線分パラメータ情報とに基づいて、矩形パラメータ情報を抽出すること、
を特徴とする請求項１記載の情報処理装置。
【請求項４】
前記第３の線分抽出手段は、さらに、傾度が同一であって線分と線分との距離が所定以下である２つの線分を連結すること、
を特徴とする請求項３記載の情報処理装置。
【請求項５】
前記読込手段により読み込まれた前記ベクタ情報から、文字オブジェクトにおける図形文字情報を抽出する図形文字抽出手段を有し、
前記図形文字抽出手段により抽出された図形文字情報により構成される図形文字を最小矩形とすること、
を特徴とする請求項１ないし４に記載の情報処理装置。
【請求項６】
前記図形文字は、「□」、「◇」、又は「○」であること、
を特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記最小矩形判定手段により判定された最小矩形の最小矩形パラメータ情報を矩形オブジェクトとして前記電子ファイルの有するベクタ情報に付加する付加手段と、
を有することを特徴とする請求項１ないし６に記載の情報処理装置。
【請求項８】
ベクタ情報を有する電子ファイルを入力する入力部を有する情報処理装置における情報処理方法において、
前記電子ファイルが有する前記ベクタ情報を読み込む読込手順と、
前記読込手順により読み込まれた前記ベクタ情報から、線分オブジェクトにおける線分パラメータ情報を抽出する第１の線分抽出手順と、
前記読込手順により読み込まれた前記ベクタ情報から、多角形オブジェクトにおける多角形パラメータ情報を抽出し、抽出した多角形パラメータ情報から該多角形を構成する線分の線分パラメータ情報を抽出する第２の線分抽出手順と、
前記第１の線分抽出手順及び前記第２の線分抽出手順により抽出された線分パラメータ情報に基づいて、矩形パラメータ情報を抽出する矩形抽出手順と、
前記矩形抽出手順により抽出された矩形パラメータ情報により構成される矩形が、矩形を内包しない矩形である最小矩形であるか否かを判定する最小矩形判定手順と、
前記最小矩形判定手順により判定された最小矩形を出力する最小矩形出力手順と、
を有することを特徴とする情報処理方法。
【請求項９】
前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分の基準線との傾度を取得する傾度取得手順を有し、
前記矩形抽出手順は、前記第１の線分抽出手順及び前記第２の線分抽出手順により抽出された線分パラメータ情報と、さらに前記傾度取得手段により取得され、抽出された線分パラメータに対応した前記傾度とに基づいて、直行する線分から形成される矩形の矩形パラメータ情報を抽出すること、
を特徴とする請求項８記載の情報処理方法。
【請求項１０】
前記第１の線分抽出手順及び前記第２の線分抽出手順により抽出された線分パラメータ情報に基づいて構成される線分の傾度を取得する傾度取得手順と、
前記第１の線分抽出手順及び前記第２の線分抽出手順により抽出された線分パラメータ情報と前記傾度取得手順により取得され、抽出された線分パラメータに対応した前記傾度とに基づいて、傾度が同一であって重なりをもつ２つの線分を連結し、連結した線分の線分パラメータ情報を取得する第３の線分抽出手順とを有し、
前記矩形抽出手順は、前記第１の線分抽出手順及び前記第２の線分抽出手順により抽出され、前記第３の線分抽出手順により連結された線分の線分パラメータ情報を除いた線分パラメータ情報と、さらに前記第３の線分抽出手順により抽出された線分パラメータ情報とに基づいて、矩形パラメータ情報を抽出すること、
を特徴とする請求項８記載の情報処理方法。
【請求項１１】
前記第３の線分抽出手順は、さらに、傾度が同一であって線分と線分との距離が所定以下である２つの線分を連結すること、
を特徴とする請求項１０記載の情報処理方法。
【請求項１２】
前記読込手順により読み込まれた前記ベクタ情報から、文字オブジェクトにおける図形文字情報を抽出する図形文字抽出手順を有し、
前記図形文字抽出手順により抽出された図形文字情報により構成される図形文字を最小矩形とすること、
を特徴とする請求項８ないし１１に記載の情報処理方法。
【請求項１３】
前記図形文字は、「□」、「◇」、又は「○」であること、
を特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記最小矩形判定手順により判定された最小矩形の最小矩形パラメータ情報を矩形オブジェクトとして前記電子ファイルの有するベクタ情報に付加する付加手順と、
を有することを特徴とする請求項８ないし１３に記載の情報処理方法。
【請求項１５】
請求項８ないし１４いずれか一項に記載の情報処理方法をコンピュータに実行させるための矩形抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理方法の分野に関する。
【背景技術】
【０００２】
紙ベースの帳票をスキャナなどで読み取り帳票上の各項目に対してＯＣＲ処理をするシステムでは、帳票の各フィールドの位置情報をシステム側で予め正確に把握していることが必要である。そのため、ユーザはシステムの画面上に帳票の画像イメージを表示し帳票の各フィールドのそれぞれ位置をなぞるなどして、システムに予め帳票のフィールド位置情報を登録するのが一般的である。
【０００３】
しかし、そのような作業は手間のかかるものである。特許文献１及び特許文献２においては、帳票の画像イメージに対して画像処理などにより、矩形情報を探索する方法が記載されている。これにより画像データをベースにして矩形（帳票の各フィールド）を自動抽出することができるようになる反面、特許文献１及び特許文献２に記載されている発明においても問題点が存在する。画像データをベースに処理するため、例えば、画像中に存在している文字を枠線と誤認識したり逆に枠線を文字と誤認識したり、帳票の背景に埋め込まれている背景画像や地紋のようなデータが埋めこまれている場合にそれらを枠線と誤認識してしまうといった問題が生じ、矩形抽出精度の低下が考えられる。また、枠線が破線で表現されている場合には、画像処理では破線を一本の線分として認識できず、矩形抽出漏れが発生することもある。さらに、帳票を画像化することは、画像のピクセル単位で扱うことであり離散的である。したがって、ある離散パラメータで離散化された空間は、別の離散化された空間とでは誤差が生じ得る。すなわち、画像データ化したときの条件と別の条件（異なる解像度でのスキャン、ＦＡＸ等での画像の受信）では矩形の座標に誤差が生じ、常に正確に読み取ることができない。
【０００４】
ところで、一般的に帳票はもともとMicrosoft(r) Word（登録商標）、Excel（登録商標）、Adobe(r) Acrobat（登録商標）などのアプリケーションソフトによって作成されていることが多い。そのような帳票の電子ファイルでは、どこが文字でどこが枠線かのような情報はベクタ情報として電子ファイル内に保持されている。電子ファイルの世界では枠線情報や文字情報というものは明確に区別が可能である。ベクタ情報は任意の離散パラメータにより誤差なく離散化することが可能であり、どのような環境で画像が生成されていても誤差なく矩形の読み取りができるものである。
【０００５】
特許文献３は、電子文書が有するベクタ情報から線分を抽出して、領域指定を行うことが記載されている。電子文書内のベクタ情報から垂直線分と水平線分に分解し、その線分を利用して画面内での領域を指定するものである。
【特許文献１】特第３５８６９１１号公報
【特許文献２】特第３００１９５０号公報
【特許文献３】特開２００５−１９０４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献３においては、ベクタ情報から線分を抽出して、領域指定や矩形の抽出を行っているものの、単純な線分や矩形のみを取り扱っておりベクタ情報に係る特有のケースについては、正確に領域の指定や矩形の抽出をすることができない。特有のケースとは例えば、実際の電子ファイルにおいて画面上では線分に見えるオブジェクトがベクタ情報では実は矩形描画指令として表されていたり、その逆の画面上では矩形に見えるオブジェクトがベクタ情報では線分描画指令として表されている場合である。また、これらから抽出した線分情報にも誤差が発生し、連結していると判定されなくなることもある。これらは、ベクタ情報であるがゆえに起こりうる問題であり、これらの問題を解決しなければ、精度の高い領域抽出を実現することはできない。
【０００７】
そこで本発明では上記のような問題に鑑みて、オリジナルの電子ファイルが持っているベクタ情報から、精度の高い矩形領域の抽出や領域指定を行う情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明に係る情報処理装置は、ベクタ情報を有する電子ファイルを入力する入力部を有する情報処理装置において、前記電子ファイルが有する前記ベクタ情報を読み込む読込手段と、前記読込手段により読み込まれた前記ベクタ情報から、線分オブジェクトにおける線分パラメータ情報を抽出する第１の線分抽出手段と、
前記読込手段により読み込まれた前記ベクタ情報から、多角形オブジェクトにおける多角形パラメータ情報を抽出し、抽出した多角形パラメータ情報から該多角形を構成する線分の線分パラメータ情報を抽出する第２の線分抽出手段と、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報に基づいて、矩形パラメータ情報を抽出する矩形抽出手段と、前記矩形抽出手段により抽出された矩形パラメータ情報により構成される矩形が、矩形を内包しない矩形である最小矩形であるか否かを判定する最小矩形判定手段と、前記最小矩形判定手段により判定された最小矩形を出力する最小矩形出力手段とを有することを特徴とする。
【０００９】
また、上記課題を解決するため、本発明に係る情報処理装置はさらに、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分の基準線との傾度を取得する傾度取得手段を有し、前記矩形抽出手段は、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報と、さらに前記傾度取得手段により取得され、抽出された線分パラメータに対応した前記傾度とに基づいて、直行する線分から形成される矩形の矩形パラメータ情報を抽出することを特徴とする。
【００１０】
また、上記課題を解決するため、本発明に係る情報処理装置はさらに、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報に基づいて構成される線分の傾度を取得する傾度取得手段と、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出された線分パラメータ情報と前記傾度取得手段により取得され、抽出された線分パラメータに対応した前記傾度とに基づいて、傾度が同一であって重なりをもつ２つの線分を連結し、連結した線分の線分パラメータ情報を取得する第３の線分抽出手段とを有し、前記矩形抽出手段は、前記第１の線分抽出手段及び前記第２の線分抽出手段により抽出され、前記第３の線分抽出手段により連結された線分の線分パラメータ情報を除いた線分パラメータ情報と、さらに前記第３の線分抽出手段により抽出された線分パラメータ情報とに基づいて、矩形パラメータ情報を抽出することを特徴とする。
【００１１】
また、上記課題を解決するため、前記第３の線分抽出手段は、さらに、傾度が同一であって線分と線分との距離が所定以下である２つの線分を連結することを特徴とする。
【００１２】
また、上記課題を解決するため、本発明に係る情報処理方法は、ベクタ情報を有する電子ファイルを入力する入力部を有する情報処理装置における情報処理方法において、前記電子ファイルが有する前記ベクタ情報を読み込む読込手順と、前記読込手順により読み込まれた前記ベクタ情報から、線分オブジェクトにおける線分パラメータ情報を抽出する第１の線分抽出手順と、前記読込手順により読み込まれた前記ベクタ情報から、多角形オブジェクトにおける多角形パラメータ情報を抽出し、抽出した多角形パラメータ情報から該多角形を構成する線分の線分パラメータ情報を抽出する第２の線分抽出手順と、前記第１の線分抽出手順及び前記第２の線分抽出手順により抽出された線分パラメータ情報に基づいて、矩形パラメータ情報を抽出する矩形抽出手順と、前記矩形抽出手順により抽出された矩形パラメータ情報により構成される矩形が、矩形を内包しない矩形である最小矩形であるか否かを判定する最小矩形判定手順と、前記最小矩形判定手順により判定された最小矩形を出力する最小矩形出力手順とを有することを特徴とする。
【００１３】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、オリジナルの電子ファイルが持っているベクタ情報から、精度の高い矩形領域の抽出や領域指定を行うことができる情報処理装置及び情報処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を各実施形態において図面を用いて説明する。
【００１６】
（ベクタ情報について）
本発明では電子ファイルが持っているベクタ情報から精度の高い矩形領域の抽出や領域指定を行う。そこで、本発明の理解を容易にするため、はじめにベクタ情報について簡単に説明を行う。
【００１７】
ベクタ情報とは、罫線のような直線な多角形、円などの幾何学図形を、その種類を表す符合と極点の座標や半径などのパラメータ列により表現するものである。Microsoft(r) Word（登録商標）、Excel（登録商標）、Adobe(r) Acrobat（登録商標）などの一般的なエディタで作成される電子ファイル（電子帳票）は、その文書情報をベクタ情報として持っている。これらの電子ファイルが持つベクタ情報には、文書中の枠線や罫線といった図形情報や文字列を表す文字情報、その他文書の背景画像や地紋といった情報もが含まれる。
【００１８】
図１は、PDF（Portable Document Format）で作成された帳票の一例である。これは、帳票の電子ファイルをＰＣ端末等の画面で表示、もしくは用紙等にプリントアウトした場合に相当する。ここで、PDF形式の電子ファイルでは、線分や矩形といった図形等をベクタ形式で表現することができる。
【００１９】
PDF形式の電子ファイルが持つベクタ情報について、図２に示す。PDF形式において作成された電子ファイルにおいて図形等がどのようにベクタ情報で表現されているかの例を表している。ベクタ情報は、ＢＴ２０１というテキストオブジェクト（文字情報）と、矩形２０２や線分２０３といった図形オブジェクト、およびこれらのパラメータから構成されている。ここでいう図形オブジェクトとはPDF形式のデータであれば、「re（矩形）」や「l（線分）」といったパス構築オペレータで表現されているオブジェクトの情報のことである。PDF形式の電子ファイルが持つこれらのベクタ情報により、図１に表されるような線分や矩形が表現される。
【００２０】
次に、このベクタで表現される図形特有の問題について説明する。図１においては、視覚的には２つの矩形と２本の線分とからなるものであるが、ベクタ情報においてはこれらの矩形や線分をベクタで表現する際にその表現方法が幾通りも存在してしまう。これについて、図３における図形の例を用いて説明する。図３は、同一の図形が様々な表現方法で表される例である。図３に示される図形は、ベクタ情報においてはＡ、Ｂ、Ｃ、Ｄの４パターンの表現方法によって表現され得る。Ａのケースでは、図形は２つの矩形の集合によって表されている（部分的に辺が重なっている部分が存在する）。Ｂのケースでは、図形は線分のみにより構成されている。また、Ｃのケースでは線分のように見えるものが実は細長い小さな矩形によって構成されている例である。当該図形を構成する要素を抽出する際には、Ａのケースにおいては２つの矩形が、Ｂのケースにおいては６本の線分が、Ｃのケースにおいては６つの矩形が抽出されることなる。また、Ｄのケースでは、矩形が３つからなる。これらの表現方法の違いは画像に変換してしまえば視覚的には区別がつかなくなる。電子文書中のベクタ情報として図形を扱おうとする際にはこのような点に注意が必要となってくる。即ち、見た目には同一に見える図形であっても、ベクタ情報においては全く別の図形である場合がある。
【００２１】
なお、実施の形態においてはPDF形式のファイルの例を用いて説明を行うが、この形式に限らずベクタ情報を取り扱うことのできる電子ファイル形式であれば同様に本発明を適用できる。
【００２２】
（本発明に係る情報処理装置）
次に、本発明に係る情報処理装置について、図４を用いて説明する。情報処理装置４０１は、ＣＰＵ４０２、メモリ４０３、記憶装置（HDD）４０４、操作部４０５、表示部４０６、入力部４０７、ネットワークアダプタ４０８等を有する一般的なコンピュータであって、一般的なＰＣ（Personal Computer）等でよい。情報処理装置４０１は外部記憶媒体やネットワークを介して電子ファイルを読み込むことができる。また、本発明の処理に係るプログラムは記憶装置４０４に記憶されており、メモリ４０３に格納されたのちＣＰＵ４０２にて実行処理される。
【００２３】
（本発明に係る機能の説明）
次に、情報処理装置が有する本発明に係る機能について、図５を用いて説明する。図５は、情報処理装置が有する機能を表すブロック図である。情報処理装置は本発明に係る機能として、読み込み部５０１、線分抽出部５０２、線分変換部５０３、傾度取得部５０４、矩形探索部５０５、最小矩形判定部５０６、及び最小矩形出力部５０７を有している。本発明に係る情報処理装置は、はじめに対象となる電子ファイル（PDFファイル等）を読み込み、記録されているベクタ情報（例えば、図２）を抽出する。そして、読み込まれたベクタ情報から線分情報を抽出する。抽出の際に、多角形は線分に変換してから抽出する。これは上述したようにベクタ情報特有の問題を解決するために、多角形は一度線分に分解して扱う。次に、抽出された線分からそれら線分を組み合わせて形成される矩形を抽出する。そして抽出された矩形から最小矩形を得て出力する構成をとるものである。図４における各処理部により、このような処理が行われる。
【００２４】
続いて、読み込み部５０１、線分抽出部５０２、線分変換部５０３、傾度取得部５０４、矩形探索部５０５、最小矩形判定部５０６、及び最小矩形出力部５０７について詳細に説明を行う。
【００２５】
（読み込み部）
はじめに、読み込み部５０１において、入力部から入力した対象となる電子ファイル（PDFファイル等）を読み込んで記録されているベクタ情報を抽出する。ベクタ情報については図２を用いて先に説明した通りである。
【００２６】
（線分抽出部）
次に、線分抽出部５０２は、読み込み部５０１により読み込まれたベクタ情報から、線分オブジェクトにおける線分パラメータ情報を抽出する。具体的に図２を用いて説明する。２０３は、ベクタ情報において、１つの線分に係る情報を表している。オブジェクトを表す「オペレータ」は、「l（線分）」である。これにより、このオブジェクトが線分であることがわかる。パラメータには線分に係る情報を持っている。２０３においては、線分のPDFファイル内の座標空間における開始点及び終了点のｘ座標及びｙ座標の情報が示されている。このパラメータから開始点（10,200）、終了点（110,200）からなる線分であることが特定される。線分抽出部５０２は、「オペレータ」において「l（線分）」オブジェクトのパラメータ（線分パラメータ情報）を抽出する。
【００２７】
（線分変換部）
線分変換部５０３は、読み込み部５０１において抽出されたベクタ情報から、多角形オブジェクトにおけるパラメータを抽出して、抽出した多角形を構成する線分のパラメータ情報を抽出する。読み込まれた多角形オブジェクトには、多角形（矩形を含む）や曲線など種類の異なる図形が混在しているので、それらを図形の最小単位である線分に分解して、その線分パラメータ情報を抽出する。分解は、上述したようにベクタ情報特有の問題を解決するため、多角形は一度線分に分解して扱う。
【００２８】
図３を例にあげて簡単に説明する。この多角形は、視覚的にはＤのように３つの矩形で成り立っているようにみえる。これをベクタ情報としてどのように構成されているかみると、Ｂのように６本の線分によって表現されていたとする。視覚的にはＤのようにみえても、実際ベクタ情報ではその通りにはなっていない。即ち、この例でベクタ情報を基に矩形を抽出した場合、ベクタ情報においては矩形がないと判断され、１つも矩形を抽出することができないことになる。そのためベクタ情報を用いて矩形を抽出する場合には、一度すべてを線分に分解してから矩形を抽出し、矩形を再構成するという作業が必要となってくる。
【００２９】
次に、分解について説明を行う。図２において２０２は、矩形オブジェクトreから、矩形を示している。パラメータには、１０（ｘ座標）、５０（ｙ座標）、１００（幅）、５０（高さ）を持つ。図６は、この矩形をパラメータを用いて座標空間に現したものである。この矩形を構成する４辺（上辺、下辺、左辺、右辺）から、４本の線分を抽出する。抽出した結果、４本の線分パラメータ情報を得る。矩形の下辺を例に取ると、オペレータ「l」、線分パラメータ情報は開始点のｘ座標＝１０、開始点のｙ座標＝５０、終了点のｘ座標＝１１０、終了点のｙ座標＝５０となる。このようにして、線分変換部５０３で多角形は線分に変換される。
【００３０】
（傾度取得部）
傾度取得部５０４は、線分抽出部５０２と線分変換部５０３で抽出された線分パラメータ情報により構成される線分の基準線との傾度を取得する。基準線は、PDFファイル内の座標空間におけるｘ軸等の基準となる線で、その基準線を基準とした線分の傾度を取得する。もちろん、この基準線はｘ軸でなくともその線を基準に線分の傾度さえ決まればよく任意の線でよい。線分の線分パラメータ情報を基に、その線分に対応した線分の傾度を取得する。図７は、基準線をｘ軸として線分ａ、線分ｂの傾度を取得する例を表した図である。線分ａは、ｘ軸に対して４５度の傾きを持ち、線分ｂは、１５０度の傾きを持つ。それぞれの線分について、傾度４５度、傾度１５０度を取得する。なお、この線分の傾度を取得する目的については後に説明する。
【００３１】
（矩形探索部）
次に、矩形探索部５０５について説明する。矩形探索部５０５は、線分抽出部５０２と線分変換部５０３において抽出された線分パラメータに基づいて、矩形の探索を行う。線分を組み合わせて、形成される矩形を探す処理を行う。これを図８のフローチャートを用いて説明する。
【００３２】
まず、ステップＳ８０１は、矩形探索に先立ち、抽出された線分パラメータ情報と傾度を用いて、線分をx軸に平行な集合Ａとy軸に平行な集合Ｂに分類する。図１０は、線分をx軸に平行な集合Ａとy軸に平行な集合Ｂに分類した線分の様子を示す。x軸に平行、y軸に平行ではなく、ある傾きの線分の集合とその線分に直行する線分の集合でもよい。ここでx軸に平行、y軸に平行な集合としたのは、一般的な帳票で使用される図形は、ｘ軸、ｙ軸に平行な線から構成される矩形（長方形）であるから、そのような矩形を抽出するに都合がよい集合としたものである。また、矩形は直角に交わる４本の線分によって構成されるため、直交する線分のみから矩形抽出処理を行い、不要な線分の組み合わせを排除して矩形の探索処理を効率化する。
【００３３】
また、ステップＳ８０２は、集合における任意の２本の線分（この２本の線分は互いに平行）を取り出し、それらが交点をもっているならば、連結させてできる新しい線分を元の２本の線分と置き換える。線分を連結させることで、処理に要する線分の数を減らし矩形の探索処理をさらに効率化することができる。図９は、線分の連結の例を表した図である。線分ａは、始点(10 , 20)、終点(20 ,20)である線分である。また、線分ｂは、始点(15 , 20)、終点(25 ,20)である線分である。この２つの線分は、ともにｙ軸に平行であるため同じ集合Ｂに分類されており、さらにｘｙ座標空間上において、交点（重なり）を有する。ゆえに、これらの線分は連結することができる。線分ｃは、線分と線分ｂを連結してできた線分である。この線分ｃを集合Ｂに追加し、集合Ｂから線分ａと線分ｂは削除される。また、線分ｄの扱いについても説明する。線分ｄは、線分ａと対比して、平行ではあるが交点を持たない。しかしながら、この２つの線分の距離は１であり（ｙ座標から算出）、ベクタ情報上は全く交点を持たない線分であっても、表示画面上もしくは印刷された用紙上において視覚的には交わりをもつ線分である。２つの線分の距離が１ではなく、0.5 、さらに0.01であればより顕著となる。即ち、ベクタ情報上は交点を持たない線分であっても、その線分間の距離が所定以下であれば視覚的には交点を持つものであるため（２つの線分が重なって見える）、このような２つの線分も連結の対象とするものである。よって、線分ａと線分ｄは連結されて線分ｃとして処理される。なお、この場合の距離とは、線分ｃと線分ｅの例が表すように、２つの線分から直角に線を引いた最短の距離をいう。線分ｆは、線分ｃに対して距離を持たないので連結の対象にならない。このように、処理対象の線分を減らすことができるだけでなく、ベクタ情報では交点を持たない線分であっても実質的に（視覚的に）交点を持つとされる線分を連結することで、帳票における項目欄に相当するような矩形の探索により柔軟に対応できる。
【００３４】
次に、矩形の探索を開始する。ステップＳ８０３は、x軸に平行な集合Ａとy軸に平行な集合Ｂから各２本ずつ取り出し、２本の線分のすべての組み合わせについて調べる。ステップＳ８０４において、４本の線分から交点が４つできれば、ステップ８０５で、その４つの交点を頂点とする矩形（矩形パラメータ情報）を得て矩形集合Ｒに追加する。なお、この矩形集合Ｒは、矩形探索部で抽出された矩形を格納しておく集合である。
【００３５】
図１０は、線分をx軸に平行な集合Ａとy軸に平行な集合Ｂに分類したものである。集合Ａ、集合Ｂから２本の線分を取り出す。図１１のように、座標空間上で交点が４つできればその４つの交点を頂点とする矩形（矩形パラメータ情報）を得る。ステップＳ８０６で、２本の線分のすべての組み合わせについて処理を終えれば、処理を終える。
【００３６】
なお、x軸とy軸に平行な線分のみを取り出し集合Ａ、Ｂに分類しているのは、処理の効率化のためであって、x軸とy軸に平行な辺を持つ矩形の抽出に限定するものではない。一般的な帳票で使用される図形は矩形（長方形）であることから、x軸とy軸に平行な辺を持つ矩形のみ探索すればよい。線分を角度ごとの集合ｘに分類し、それぞれの組み合わせで調べれば矩形の角度に限定されることはない。矩形だけでなくひし形等の図形（４つの角の角度がすべて９０度でない四角形）も抽出することができる。また、傾度を取得せずに線分の組み合わせから形成されるすべての矩形を調べてもよい。また、用途事情等により必要に応じて線分ｎ本の組み合わせを調べ、ｎ角形を抽出することもできる。
【００３７】
（最小矩形判定部）
次に、最小矩形判定部５０６ついて説明する。最小矩形の判定は、矩形集合Ｒに格納された矩形対象に行われる。矩形探索部において得られた矩形パラメータにより構成される矩形が、他の矩形を内包するかの判定を行うことで、その矩形が最小矩形であるか否かを判定する。最小矩形とは、その矩形内に他の矩形を含まない矩形である。内包しなければ最小矩形であるという情報を付加し、内包すれば最小矩形でないという情報を付加する。
【００３８】
ここで、他の矩形を内包するかの判定は次のように行われる。図１２は、矩形Ａが矩形Ｂを内包する例を示したものである。矩形Ａ（ｘ11 , y11）、（ｘ12 , y12）の角の座標と、矩形Ｂ（ｘ21 , y21）、（ｘ22 , y22）の角の座標とを比較し、ｘ11<ｘ21  、y11< y21  、ｘ12 >ｘ22  、y12> y22  のとき、矩形Ａは矩形Ｂを内包する。このように判断すると、矩形Ａは矩形Ｂを内包するので最小矩形ではなく、矩形Ｂは他に内包する矩形はないので最小矩形となる。最小矩形と判定された矩形には、例えば図１３のように「ｔｒｕｅ」といったフラグを立てる。最小矩形でない矩形については、「ｆａｌｓｅ」のフラグを立てる。
【００３９】
（最小矩形出力部）
最後に、最小矩形出力部５０７おいて、最小矩形判定部５０６で最小矩形と判定された矩形を出力・表示する。図１４は、「帳票設定ウインドウ」においての表示の一例を表したものである。「四角１」と「四角２」に係る矩形は最小矩形であるため表示されている。他の矩形の内包する矩形は最小矩形ではないので表示されない。
【００４０】
最小矩形出力部５０７は、ユーザが帳票からフィールド位置情報を設定する画面上の帳票の画像イメージに抽出された最小矩形情報を重畳して出力する。これにより、ユーザは抽出された最小矩形情報を使うことで簡単に帳票の設定を作成することができる。
【００４１】
なお、図１３において最小矩形と判定された矩形は、PDF形式のファイルのベクタ情報に付加することができる。付加にあっては、「オペレータ」においては「re」として付加され、あわせて当該矩形のパラメータ情報が付加される。この付加されたベクタ情報のみから最小矩形を特定できるので、上述したような再度の処理は不要となる。
【００４２】
（例外的な線分・矩形の取り扱い）
例外的な線分の取り扱いについて説明する。ベクタ情報における線分パラメータ情報に「線幅」を表すパラメータがある。この「線幅」の値が、例えば２０といったような非常に高い値である場合には、視覚的にはもはや線分というよりは矩形と捉えた方が適切な場合がある。そこで、線分の「線幅」が所定の値より大きい場合には、線分でなく矩形として取り扱う処理を行う。この処理は、線分抽出部において行われてもよいし、矩形探索部において矩形探索に先立っておこなわれてもよい。なお、この所定の値は、電子ファイルで定められた初期の線幅の値としてもよいし、設定によりユーザが指定してもよい。
【００４３】
次に、例外的な矩形の取り扱いについて説明する。矩形パラメータ情報の「高さ」を表すパラメータにおいて、この「高さ」の値が、例えば1、0.5といったような非常に小さい値である場合には、視覚的にはもはや矩形というよりは線分と捉えた方が適切な場合がある。そこで、矩形の「高さ」が所定の値より小さい場合には、矩形でなく線分として取り扱う処理を行う。この処理は、線分変換部において行われてもよいし、矩形探索部において矩形探索に先立っておこなわれてもよい。なお、この所定の値は、電子ファイルで定められた初期の高さの値としてもよいし、設定によりユーザが指定してもよい。
【００４４】
（図形文字の取り扱い）
いわゆる図形文字の取り扱いについて説明する。ここでいう図形文字とは、「□」、「◇」、又は「○」といったような図形を表す文字であって、帳票において一般的にチェックボックスの役目として使われるような文字のことである。図形文字は、文字の一種であるため、ベクタ情報においてはテキストオブジェクトとして表現されている。よって、図形文字を扱うにあたって「オペレータ」がＢＴ（テキストオブジェクト）に該当し、パラメータに図形文字を有するベクタ情報を取得する。取得された図形文字は最小矩形として扱う。例えば、図形文字である「□」は、他の矩形を内包することはないので、取得された図形文字はそのまま最小矩形とすることができる。なお、この処理は図形文字抽出部等を設け処理すればよい。これにより、ユーザは図形文字で表される領域も矩形として指定することができる。
【実施例】
【００４５】
本実施例では、図１５の例を用い具体的にこれまでの処理内容を踏まえて説明する。ａは、電子ファイルの帳票イメージを表しており、図形と文字（図形文字ではないとする）が描かれている。この図形はベクタ情報として、ｂに示すように、１つの矩形と３本の線分から構成されているものとする。
【００４６】
まず、３本の線分の線分パラメータ情報は線分抽出部５０２で抽出される。図形は線分変換部５０３で４本の線分に変換される。その結果、ｃに示すように、７本の線分が得られた。
【００４７】
次に、傾度取得部５０４において７本の線分の傾度が取得される。取得された傾度を基に、ｘ軸に平行な線分３本（集合Ａ）、ｙ軸に平行な線分４本（集合Ｂ）に分類する。なお、これらの線分には平行かつ重なりを持つ線分はないので、線分の連結は行われない。
【００４８】
矩形探索部５０５において、集合Ａ、集合Ｂからすべての２本の線分を組み合わせ矩形の探索を行う。探索の結果、ｄに示すように、５つの矩形が探索された。なお、実際は交点を４つ持つので矩形とされるが、ｄにおいては図の表現上、交点を持たせていない。
【００４９】
次に、最小矩形判定部５０６は、ｄで形成された５つの矩形について他の矩形を内包するか否かの判定を行う。その結果、ｅの通り他の矩形を内包しないｅ１、ｅ２、ｅ３が最小矩形とされた。ｆは、他の矩形を内包するため最小矩形とされない。
【００５０】
最小矩形出力部５０７は、ｇに表される「帳票設定ウインドウ」において、最小矩形と判定された３つの矩形を出力・表示する。ユーザは、この帳票の領域指定を行う。
【００５１】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５２】
【図１】帳票の一例を表す図である。
【図２】ベクタ情報の一例を表す図である。
【図３】図形がベクタ情報として表現される例を表した図である。
【図４】情報処理装置の構成図である。
【図５】本発明に係る機能を表すブロック図である。
【図６】ベクタ情報のパラメータで表現される矩形を表した図である。
【図７】傾度取得の様子を表す図の一例である。
【図８】矩形探索部の処理を表すフローチャートである。
【図９】線分を連結する様子を表す図の一例である。
【図１０】線分を集合に分類した一例を表す図である。
【図１１】線分が交点を持つ様子を表す図の一例である。
【図１２】矩形が矩形を内包する様子を表す図の一例である。
【図１３】最小矩形の判定結果を表す図の一例である。
【図１４】帳票設定ウインドウを示す図である。
【図１５】本発明に係る処理においての線分の態様を表した図の一例である。
【符号の説明】
【００５３】
５０１    読み込み部
５０２    線分抽出部
５０３    線分変換部
５０４    傾度取得部
５０５    矩形探索部
５０６    最小矩形判定部
５０７    最小矩形出力部
【図１】
0004739309.tif 000002
【図２】
0004739309.tif 000003
【図３】
0004739309.tif 000004
【図４】
0004739309.tif 000005
【図５】
0004739309.tif 000006
【図６】
0004739309.tif 000007
【図７】
0004739309.tif 000008
【図８】
0004739309.tif 000009
【図９】
0004739309.tif 000010
【図１０】
0004739309.tif 000011
【図１１】
0004739309.tif 000012
【図１２】
0004739309.tif 000013
【図１３】
0004739309.tif 000014
【図１４】
0004739309.tif 000015
【図１５】
0004739309.tif 000016