JP4646300B2 - 繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体 - Google Patents

繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP4646300B2
JP4646300B2 JP2005133390A JP2005133390A JP4646300B2 JP 4646300 B2 JP4646300 B2 JP 4646300B2 JP 2005133390 A JP2005133390 A JP 2005133390A JP 2005133390 A JP2005133390 A JP 2005133390A JP 4646300 B2 JP4646300 B2 JP 4646300B2
Authority
JP
Japan
Prior art keywords
line
group
information
row
lines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005133390A
Other languages
English (en)
Other versions
JP2006309611A5 (ja
JP2006309611A (ja
Inventor
慎也 奥野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Marketing Japan Inc
Original Assignee
Canon Marketing Japan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Marketing Japan Inc filed Critical Canon Marketing Japan Inc
Priority to JP2005133390A priority Critical patent/JP4646300B2/ja
Publication of JP2006309611A publication Critical patent/JP2006309611A/ja
Publication of JP2006309611A5 publication Critical patent/JP2006309611A5/ja
Application granted granted Critical
Publication of JP4646300B2 publication Critical patent/JP4646300B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体に関する。
一般に、電子帳票システムでは、複数行にまたがった明細があり、その明細の繰り返しにより表現されている電子帳票を検索する機能を有する。図36を参照しながら、複数行にまたがった明細に対する検索について説明する。図36は、複数行にまたがった明細の繰り返しによる電子帳票の例である。この帳票例では3行によって構成される明細が繰り返されている。
この明細検索機能では、利用者が複数行の明細内の特定行に明細検索領域を設定した後、検索条件を設定し、検索処理を実行することにより、繰り返された個別の明細においても該当する検索領域を対象に検索を行い、条件に合致する明細領域を探索する機能である。
しかし、その明細検索領域を利用者が設定する際には、図36にある明細区切り線363の様に、事前にその電子帳票における繰り返し明細領域が、明細単位に分割されている必要がある。この様に、明細単位に区切り線によって、分割されている時に、利用者によって明細検索領域が一つ設定されると、図36にあるように各明細において、設定された明細検索領域と同じ相対位置を持つ検索領域(顧客名の領域)が検索対象として有効となる。
前述した通り、この明細検索領域を設定するには、事前に明細区切り線によって、繰り返し明細領域が分割されている必要がある。電子帳票システムにおいて、明細区切り線によって分割した明細のイメージを表示装置に表示する為には、具体的には、その電子帳票における繰り返し明細の領域の上限と下限座標と、その繰り返しが何行ずつのブロックで繰り返されているかの情報を事前に電子帳票システムが認識している必要がある。図36における上限、下限座標は、横線361、362の座標である。すなわち、横線361〜横線362までの間が、繰り返し明細の領域である。
これらの情報を基に電子帳票システムが、明細領域とその繰り返しているイメージ(区切り線)を表示画面上に表現し、それに対し利用者が明細上の特定行に検索領域の設定を行う。
一般に、電子帳票システムは特定の電子フォーム生成システムで生成された電子フォームのみを格納するだけでなく、多種多様なシステムで生成された電子帳票を格納する仕組みを持つ。
よって、電子帳票システムが保存している電子帳票データには、その電子帳票が何行ずつの繰り返し明細であるか、また、どの領域のデータが明細として繰り返し表現とされているか、などの情報は保持していない。そこで、従来の電子帳票システムでは、このような複数行明細の繰り返し帳票を検索する際、事前に利用者によって、繰り返し明細領域の最上限座標、および最下限座標、また何行ずつの繰り返しであるか、の3つの情報を手動で設定する必要があった。
そこで、この利用者による設定を簡略化する為に、図37に示すように、表示画面上へ繰り返し明細領域の上限と下限を指定する為に2つの表示上のオブジェクト「上限ルーラ」371及び「下限ルーラ」372を設けていた。ここで、「上限ルーラ」371及び「下限ルーラ」372は、表示画面上の左端付近に位置し、電子帳票を表示した初期状態では、適当な位置に配置されるが、利用者がポインティングデバイスなどを使用して、それぞれ画面上を上下に移動させて位置を決定する。また、何行ずつの繰り返しであるかを利用者に入力させるための、図38に示すように「明細行数入力画面」381を表示することで、繰り返し行数に関する情報を得ていた。
利用者は、図37で示すように上限ルーラ371及び下限ルーラ372をポインティングデバイスなどにより上下に移動させ、繰り返し明細領域の上限と下限を設定する。その後、図38で示す、「明細行数入力画面」381に対し、一つの明細が何行で構成されているかを入力することによって、電子帳票システムへ情報を渡していた。これにより、電子帳票システムにおいて、特定キーワードによる明細検索処理が可能となる。
検索を行う技術として、上記以外に、複数の不連続な分割領域にまたがって存在する段組形式の帳票データから、指定された検索条件を満たすデータ行を効率良く検索する技術が開示されている(例えば、特許文献1参照。)。
特開2000−099518号公報
しかしながら、利用者による「明細行数入力画面」381への行数入力には、表示画面上に表示されている帳票を実際に人間の目で見て、その帳票が何行単位の明細による繰り返しがされているのかを判断した後に入力する必要があるが、実際の電子帳票データでは、一つの明細内において、表示する必要のない項目に対しては、空白データが一つの行として埋め込まれている場合などがあり、視覚的に判断した行数と実際の行数が異なっている場合などがある。そのような場合には、誤った行数によって電子帳票システムが繰り返し明細のイメージを生成し、画面上に表示されるため、利用者はそのイメージを見ることで、入力した行数が誤っていたことを悟り、再度入力からやり直す必要があり、手間がかかるという問題がある。
また、図37に示したような上限、下限座標の指定方法では、利用者が正確な領域を指定する為に「上限ルーラ」371、「下限ルーラ」372の配置を調整するには、画像表示装置上のピクセルサイズに相当する位置精度が要求される場合があるという問題もある。
なお、特許文献1記載の技術は、段組グループは人為的に入力するものであり、段組明細が何行単位で構成されているかを特定する処理については開示されていない。
本発明は上記の課題を解決するためになされたものであり、電子帳票内の繰り返し明細の領域における明細が何行単位で構成されているかを特定する処理を自動で行うことを目的とする。
本発明は、帳票イメージ上に配置される行群の繰り返し単位を決定する繰り返し行決定装置であって、前記帳票イメージ上でテキストが配置されるフィールドの定義情報であるフィールド定義情報に含まれる位置情報に基づいて、前記帳票イメージ上の同じ行にテキストを配置するフィールドを、行毎に抽出する抽出手段と、前記抽出手段で抽出されたフィールドにより構成される行毎に、行を構成するフィールドの数及び前記フィールドに配置されるテキストの書誌情報を用いて、行毎の特徴をパターン分けするパターン分け手段と、前記パターン分け手でパターン分けさた各行が前記帳票イメージ上に配置される配順に従って、パターン分けされた行の配置傾向から、同じ配置傾向をもつ行群の繰り返し単位を決定する決定手段と、を有することを特徴とする。
本発明は、抽出手段と、パターン分け手段と、決定手段とを備える、帳票イメージ上に配置される行群の繰り返し単位を決定する繰り返し行決定装置における繰り返し行決定方法であって、前記抽出手段が、前記帳票イメージ上でテキストが配置されるフィールドの定義情報であるフィールド定義情報に含まれる位置情報に基づいて、前記帳票イメージ上の同じ行にテキストを配置するフィールドを、行毎に抽出する抽出ステップと、前記パターン分け手段が、前記抽出ステップで抽出されたフィールドにより構成される行毎に、行を構成するフィールドの数及び前記フィールドに配置されるテキストの書誌情報を用いて、行毎の特徴をパターン分けするパターン分けステップと、前記決定手段が、前記パターン分けステップでパターン分けさた各行が前記帳票イメージ上に配置される配順に従って、パターン分けされた行の配置傾向から、同じ配置傾向をもつ行群の繰り返し単位を決定する決定ステップと、を有することを特徴とする。
また、本発明は、プログラム及び記録媒体としてもよい。
本発明によれば、電子帳票内の繰り返し明細の領域における明細が何行単位で構成されているかを特定する処理を自動で行うことができる。
以下、図面を用いて本発明の実施形態について説明する。
まず、本発明の一実施形態による電子帳票サーバと、その電子帳票サーバにアクセスして電子帳票を閲覧する機能と帳票解析機能を有する利用者端末(解析装置)とから構成される電子帳票システムの概略構成について説明する。
(電子帳票システム構成、ハードウェアの説明)
図1は、本発明の一実施形態に係る利用者端末(解析装置)を含む電子帳票システムの構成を示す図である。本実施形態に係る電子帳票システムは、電子帳票を参照するための複数の利用者端末13(図1では、一つの利用者端末のみを表記)と、帳票データの集中管理を行なう電子帳票サーバ12とを通信ネットワークによって接続されることにより構築される。
個々の利用者端末13は、電子帳票の参照および検索を行なうビューアを有している。ビューアは、図1の構成のうち、帳票画像再現部132、検索領域入力部134、検索式入力部135、検索結果表示部133、及び帳票解析処理部138により構成される。電子帳票サーバ12は、印字用データ記憶部122、帳票データ変換部123、帳票データ記憶部124、検索実行部125を備える。利用者端末13及び電子帳票サーバ12は、LAN等のネットワークを介して通信を行なうための機能として、上記構成以外にもそれぞれに通信部131、121、126を備える。
ここで、電子帳票サーバ12における各構成について説明する。電子帳票サーバ12は、印字用データ記憶部122において、ホストコンピュータなど外部のコンピュータシステム11が作成した印字用データを記憶する。帳票データ変換部124は、印字用データ記憶部122に記憶されている印刷用データを電子帳票システム固有の帳票データに変換する。
帳票データ記憶部124は、利用者端末13の表示装置136上に帳票の印刷画像を再現するために必要な帳票データを格納する。なお、印字用データ記憶部122及び帳票データ記憶部124は、ハードディスク等の記録媒体内の一部の記憶領域に相当する構成である。検索実行部125は、利用者端末13から入力された検索領域および検索式に従い帳票データ記憶部124に格納されている帳票データを検索し、検索結果を出力する。
次に、利用者端末13の構成について説明する。帳票画像再現部132は、通信部131が受信した帳票データを表示装置136に表示して帳票の印刷画像を再現する。検索領域入力部134は、利用者が表示装置135上に再現された帳票画像から選択された検索の対象としたい領域を入力するための入力画面を表示装置136に表示し、検索の対象としたい領域の指定入力を受け付ける。検索式入力部135は、利用者が検索の対象とした領域から目的の印字テキストを得るための検索式(検索条件)を入力する入力画面を表示装置136に表示し、検索式の入力を受け付ける。検索領域入力部134及び検索式入力部135が受け付けた領域の指定に関する情報(領域情報)及び検索式に関する情報(検索式情報)を、通信部131は、電子帳票サーバ12へ送信する。検索結果表示部133は、通信部131が受信した検索結果を表示装置136上に一覧表示させる。
帳票解析処理部138は、帳票画像再現部132が表示装置136に表示中の帳票や指定された帳票に対して明細認識処理(帳票解析処理)を行う。ここで、明細認識処理とは、電子帳票内の繰り返し明細の領域(主に上限、下限)を特定し、その領域における明細が何行単位で構成されているかを特定する処理である。帳票解析処理部138は、帳票内の文字列、位置情報、書式情報を含むテキストデータから各行毎の特徴を抽出して上記明細認識処理を行う。尚、帳票解析処理部138は、利用者が操作メニューより当追加機能である明細認識機能を実行することで、起動する機能である。なお、本発明の実施形態においては、利用者端末13が帳票解析処理部138を有する構成としているが、電子帳票サーバ12が帳票解析処理部138を有する構成としても本発明を実施することができる。
ところで、一般的に電子帳票は、フォームデータとテキストデータによって構成される。この内、フォームデータ内には罫線データを保持しているが、罫線データは帳票によっては存在しない場合もある。また、テキストデータは必ず存在し、文字列、位置情報、書式情報などによって構成される。一般に罫線データを持つ繰り返し明細帳票では、可読性を良くする為に、繰り返し明細の領域全体を囲む罫線があるようにデザインされ、表を表現することが多い。
しかし、罫線データが存在するからと言って、一つ分の明細領域(繰り返し単位)毎に罫線が引かれているとは限らない。例えば、一つ分の明細行数に関わらず毎行ずつ罫線が引かれている場合もある。また、表の上端と下端のみに罫線が引かれている場合もある。また、複数行にまたがる一つの明細内のテキストデータは、例えば図16の各矩形枠に示すようにフィールド配列の集まりである。個々のフィールドは、例えば図17に示すように、文字列、位置情報、書式情報を含むフィールド情報を有する。尚、図16及び図17については、詳細を後述する。
繰り返し明細帳票における一つの複数行明細内では、明細内での行ごとに異なる意味を持つデータを表現する必要があるため、行ごとに存在するフィールド情報が持つ特徴が異なることが多い。しかし、繰り返される個々の明細同士ではフィールド情報は同じ特徴を持っている。これらのことより、帳票解析処理部138は、繰り返し明細領域の上限、下限座標の間において、罫線データを解析し、上限及び下限となる水平線分を抽出する。一方で、個々の明細が何行ごとの繰り返しであるかを判断する場合には、罫線データではなく、帳票解析処理部138は、フィールドの配置特徴や書式等を解析し判断する。
図2は、本実施形態における電子帳票サーバ12及び利用者端末13のハードウェア構成を示す図である。電子帳票サーバ12及び利用者端末13は、CPU21、RAM(ランダムアクセスメモリ)22、ROM23、ハードディスクドライブ(HDD)24、記録媒体ドライブ25、ネットワークインタフェースカード(NIC)29、ポインティングデバイス(PD)28、キーボード(K/B)27、ビデオアダプタ26を備え、これらがシステムバスを介して互いに接続されている。
CPU21は、オペレーションシステム(OS)のプログラムやアプリケーションプログラムに基づいて四則演算や比較演算等の各種の演算及びハードウェアの制御を行うものである。RAM22は、ハードディスクドライブ(HDD)24、ROM23、記録媒体(例えば、CD−ROM,DVD,FD)等の記憶装置に記録されているOSやアプリケーションプログラム等を一時的に記憶するものであり、これらRAM22に記憶されたプログラムはCPU21の制御の下に実行される。
ROM23には、OSと協働して外部記憶装置等への入出力を司るいわゆるBIOS等が記憶される。ハードディスクドライブ(HDD)24には、OS、顧客担当手配方法を実行するためのプログラム等が記憶されている。記録媒体ドライブ25は、CD−ROM、DVD−ROM、CD−R等の記録媒体に記録されているアプリケーションプログラム等からのデータ読み取り等に用いる。
ネットワークインタフェースカード(NIC)29は、CPU21によって制御されるOSの通信プログラムと協働してネットワークを介した外部との通信を行う。キーボード(K/B)27やポインティングデバイス(例えばマウス)28は、情報処理装置への指示を入力するために用いられる。ビデオアダプタ26は、図2には示していない画像表示装置(例えば、表示装置136)に表示する画像を形成するために用いられる。
なお、図1における帳票データ変換部123、検索実行部125、帳票画像再現部132、検索結果表示部133、検索領域入力部134及び検索式入力部135は夫々、HDD24、ROM23、他の記録媒体等から必要に応じて上記処理部を実現するためのプログラムがRAM22にロードされ、CPU21によって実行されることで実現される機能である。印字用データ記憶部122は、帳票サーバ122のHDD24等の記録媒体に相当する構成である。尚、この記録媒体は、電子帳票サーバ12の外部に接続した構成としてもよい。また、通信部121、126、131は、NIC29に相当する構成である。
図3は、本実施形態の利用者端末13の動作(電子帳票サーバ12に帳票解析処理部138を持たせた場合は、電子帳票サーバ12の動作)と、利用者が繰り返し明細帳票を検索する際の手順を示すフローチャートである。まず、利用者が、操作メニューより当追加機能である明細認識機能の実行を指示する(ステップS31)。これにより、利用者端末13は、明細認識処理実行の指示を検知する(ステップS32)。
明細認識処理の実行指示を検知した利用者端末13において帳票解析処理部138が起動し、帳票解析処理部138は、表示中の帳票に対して罫線データ及びテキストデータを解析し、繰り返し明細の構成を認識する(ステップS33)。本実施形態の帳票解析処理部138は、繰り返し明細構成の認識処理により、帳票表示画面上における繰り返し明細の領域の上限座標及び下限座標、また一つの明細が何行で構成されているかを識別する。更に、帳票解析処理部138は、次のステップS34において、繰り返し明細を表すイメージを表示する為の、各明細を区切る区切り線の座標を特定する。
次に、帳票解析処理部138は、認識された繰り返し明細情報により、利用者端末13の表示装置136に表示されている帳票画面上に、図36に示すような、繰り返し明細を表すイメージを表示する(ステップS34)。次に、表示された繰り返し明細イメージを元に、利用者が検索領域の設定を行う。具体的には、図36に示すように、顧客名の文字列及び備考における担当者名の文字列を含む領域を検索領域に設定したとする。これにより、検索領域入力部134は、この検索領域の入力を受け付ける(ステップS35)。
利用者はその後、文字列等の検索条件を設定し、繰り返し明細検索処理の実行を指示する。これにより、検索式入力部135は、設定された検索条件を受け付け通信部131へ出力し、通信部131がその検索条件を電子帳票サーバ12へ送信する(ステップS36)。電子帳票サーバ12の検索実行部125は、通信部126が受信した検索条件を基に検索処理を行い、検索結果を利用者端末13へ戻す。これにより、利用者端末13の検索結果表示部133は、通信部131が受信した検索結果を表示装置136に表示する。
次に、本実施形態の特徴である、図3におけるステップS33の明細認識処理について更に詳しく説明する。図4は、図3に示したステップS33の明細認識処理の詳細を示す図である。図4に示すように、まず、ステップS41において、帳票解析処理部138は、罫線データ解析処理を行う。この罫線データ解析処理では、前述したフォームデータ内に、一般にベクタ形式と呼ばれる図形描画命令の集まりで表現されているフォーム情報の中から、罫線データとして、水平線分のみを抽出し、また接する水平線分に対しては連結処理を行う。この処理によって、集められた水平線分の集合を同じ長さの、同じ左右位置を持つグループに分ける。そのグループを罫線グループと呼ぶ。この罫線グループは同じ左右位置を持っている為、罫線グループの集合は四角形の領域を表す。この領域の面積を用いて、この電子帳票の繰り返し明細領域の位置を特定する。尚、ステップS41の処理は、後に詳しく説明する。
次に、ステップS42において、帳票解析処理部138は、テキストデータ解析処理を行う。このテキストデータ解析処理では、前述したテキストデータから、図16に矩形枠で示したフィールドと呼ばれる単位毎に、文字列、配置情報、書式情報を読み込み、フィールド集合を生成する。その後、一般的な電子帳票では、行の概念での検索処理を実現する為に、フィールド集合をその位置情報から行毎にグループ化する。そのグループ化された行に対して、行の特徴を分析し、各行の特徴を示す行特徴情報を抽出する処理を実行する。尚、ステップS42の処理は、後に詳しく説明する。
次に、ステップS43において、帳票解析処理部138は、明細情報生成処理を行う。この明細情報生成処理では、ステップS41とステップS42によって、解析された罫線情報と行特徴情報を用いて、明細情報を識別する。具体的には、電子帳票の表示画面上においての繰り返し明細領域の上限、下限座標、ならびに一つの明細が何行で構成されているかを解析する。その後、解析された情報である明細情報(解析情報)を出力する。この時、利用者端末13上の表示画面へ繰り返し明細のイメージを表示する為の座標情報を生成する。尚、ステップS43の処理は、後に詳しく説明する。
次に、図5を参照しながら、図4におけるステップS41の処理を詳細に説明する。
図5は、図4のステップS41における罫線データ解析処理の流れを説明しているフローチャートである。罫線データ解析処理では、帳票解析処理部138は、まずフォームデータを、メモリ上に読み込む(ステップS51)。実際にはメモリ上に、フォームを描画する為のベクタ命令の列が読み込まれている。尚、ベクタ命令とは、罫線のような直線や多角形、円などの幾何学図形を、その種類を表す符号と、極点の座標や半径などのパラメータ列により表現するものである。そのため、図形を点(ラスタ)の集合として表現するラスタ形式と比べ、一般的に少ない情報量で幾何学図形を表現することができ、出力デバイスの解像度に対する依存性が低いという特徴を有する。フォームデータには、このようなベクタ形式の図形描画命令が複数含まれ、例えば、線を表す描画命令の集まりによって、帳票中の罫線が表現されている。
次に、帳票解析処理部138は、メモリ上に置かれたフォームを描画する為のベクタ命令の列から、水平線分を持つデータを抽出する。抽出された水平線分に対しては、その線同士が座標系において、接する線分である場合には、線分の連結処理を実施する(ステップS52)
このステップS52において、抽出される水平線分の例を図6に基づいて説明する。
図6は、複数の罫線を含む帳票例を示す図である。図6の帳票の場合には、合計14本の水平線分が抽出されることになる。実際には、水平線分の情報として、図7に示すような水平線分の座標情報を抽出してメモリ上に保持することになる。また、複数の水平線分の情報をメモリ上に保持するために、図7の情報を配列で保持する。
ここで、フォームデータ中の水平線分を持つデータについて解説する。水平線分を持つデータは、線を表す図形描画命令だけではない。例えば、四角形などの多角形においても、その図形は線分の集合によって成り立っている為、その多角形を形成する線分の中には、水平線分が含まれている可能性がある。よって、帳票解析処理部138は、フォームデータから水平線分の抽出処理においては、線および多角形を対象に線分の抽出を実施する。例えば、表の外枠は四角形で表されている場合などがある。ここで、水平というのは、その線分の始点と終点が同じ上下座標を持っていることが条件であるということは言うまでもない。尚、場合によっては、完全に水平な水平線分以外にも、多少斜めにずれている線分を水平線分として抽出するようにしてもよい。この場合には、例えば線分の始点と終点のズレが所定の許容範囲内であるか否かなどで判断する。
次に、図5のステップS53における罫線データグループ化処理を、図8を参照しながら説明する。図8は、図5のステップS53における罫線データグループ化処理を示すフロー図である。ここで、罫線データグループ化処理とは、簡単に表現すると同じX座標(横方向の線分の始点と終点の座標)を持つ同じ長さの水平線分同士をグループにまとめる処理である。
まず、帳票解析処理部138は、メモリ上に罫線グループ配列を生成する(ステップS601)。この配列は、初期段階では要素は0個であり、格納される要素は図9に示す様に、罫線グループ1、罫線グループ2、…という情報を格納する。この罫線グループについては、後述する。次に、帳票解析処理部138は、ステップS52でメモリ上に保持した水平線分配列の要素数分のループ処理を開始する(ステップS602)。次に、帳票解析処理部138は、水平線分配列より、先頭から順に一つずつ水平線分の情報(図7)を読み込む(ステップS603)。
次に、帳票解析処理部138は、ステップS603で読み込んだ水平線分の左端X座標(始点)と右端X座標(終点)とが一致する情報をもつ罫線グループが、罫線グループ配列に存在するか否かを判定する(ステップS604)。ここで、X座標の一致を判断する際には、多少の誤差は吸収して、一致の判断を行うようにしてもよい。また、図9に示した罫線グループは、例えば図10に示す情報を保持する。図10に示すように、罫線グループとして、左端X座標と右端X座標、各水平線分の配列を保持している。つまり、同じ左端・右端X座標を持つ水平線分の集合を保持する為の情報である。このステップS604の判定処理で、一致する罫線グループが存在した場合にはステップS607へ、存在しなかった場合には、ステップS605へ進む。
ステップS604の判定で、一致する罫線グループが存在しないと判定した場合には、帳票解析処理部138は、新規に罫線グループを生成し、判定対象であった水平線分の左端X座標と右端X座標の値を新規罫線グループへ設定し、水平線分を罫線グループへ追加する(ステップS605)。次に、帳票解析処理部138は、新規生成した罫線グループを図9に示す罫線グループ配列へ追加し、メモリ上に保持する(ステップS606)。ステップS606の後、ステップS608の処理へ移る。
また、ステップS604の判定で、一致する罫線グループが存在すると判定した場合には、帳票解析処理部138は、該当する罫線グループへ水平線分の情報を追加する(ステップS607)。次に、ステップS608において、帳票解析処理部138は、ループ(繰り返し)終端処理として、ステップS52でメモリ上に保持したすべての水平線分に対して処理を終えたか否かを判断する。ここで、全ての水平線分に対する処理を終えた判断した場合には、ループ処理を終え、ステップS609へ移行する。また、全ての水平線分に対する処理を終えていないと判断した場合には、ステップS603へ移行し、ループ処理を継続する。
以降のステップS609からステップS613の処理において、帳票解析処理部138は、生成された罫線グループ配列の中から、水平線分を一つしか持たない罫線グループを排除する処理を行う。以上に示した図8の処理によって、帳票解析処理部138は、同一のX座標を持つ水平線分同士のグループ化を実現している。すなわち、垂直方向の始点及び終点の並びが揃っている水平線分のグループ化を実現している。例えば、この図8の処理を、図6に示すような罫線情報を持つ帳票に対して実行した場合には、ステップS601〜S608までの処理で、図6に示すように1本の水平線分を含む罫線グループ602、5本の水平線分を含む罫線グループ603、及び8本の水平線分を含む罫線グループ604の3つの罫線グループが生成される。そして、図8のステップS609〜S613の処理により、罫線グループ602が排除され、罫線グループ603及び604が罫線グループ配列に保持される。
次に、図5に示したステップS54の対象罫線判定処理について図11を参照しながら説明する。
この対象罫線判定処理は、ステップS53の処理にて生成された罫線グループ配列の中から、繰り返し明細を囲む罫線グループを選別する処理である。帳票解析処理部138は、この選別処理に、罫線グループで保持する水平線分数に関する情報と水平線分が含まれる表示画面上の領域の面積に関する情報を用いる。
図11に示すように、まず、帳票解析処理部138は、対象罫線グループ保存領域Gを確保する(ステップS701)。この領域Gは、この対象罫線判定処理で選別された罫線グループに関する情報を保存する為のメモリ上の領域であり、図10と同じデータを保持する。次に、帳票解析処理部138は、メモリ上に一時領域Aを確保する(ステップS702)。一時領域Aは、図12に示すように、水平線分数・罫線面積・罫線グループを関連付けて一時的に保存するデータ構成となる。
次に、ステップS53でメモリ上に構成した、図9に示す罫線グループ配列の要素数分のループ処理を開始する(ステップS703)。このループの終端はステップS710であり、要素をすべて処理するまでループ処理する。まず、帳票解析処理部138は、罫線グループ配列より、先頭から順に一つずつ罫線グループ(図10)を取り出す(ステップS704)。
次に、帳票解析処理部138は、ステップS704で取り出した罫線グループより、水平線分数と罫線面積に関する情報を取得する(ステップS705)。ここで、水平線分数とは、罫線グループで保持している水平線分の個数である。また、罫線面積とは、罫線グループが表示画面上に占める面積である。図13は、罫線グループが2つ存在する場合の水平線分数及び罫線面積の一例を示す図である。図13において、罫線グループ1は、水平線分が5本存在する。また、それぞれの水平線分の左端X座標は、100であり、右端X座標は200である。これらの水平線分の中で、一番上部に配置される線分のY座標100と一番下部に配置される線分のY座標150である。以上の数値より罫線面積は
(200−100)×(150−100)=5000
で算出される。又、同様に罫線グループ2では、水平線分が8本存在し、同様の計算によって96000と算出される。
図11のステップS706、S707、及びS708の判定は、ステップS705において取得した水平線分数及び算出した罫線面積を使用して、この罫線グループがこの帳票における繰り返し明細部分の罫線グループであるか否かを判定する処理である。この判定処理では、罫線面積が一番優先される。すなわち、帳票解析処理部138は、この罫線面積が一番大きい罫線グループを繰り返し明細部分であるとして採用する。また、帳票解析処理部138は、1つの帳票内に罫線面積が同じ罫線グループが複数存在する場合には、水平線分数が多いものを優先する。面積又は水平線分数を判断基準とすることで帳票の中から適切に明細部分を抽出することが可能となる。
尚、ステップS704〜S709のループ処理時には、帳票解析処理部138は、罫線グループを順次処理する上で、それまでに最適と判断した罫線グループを一時的に保持し、ステップS704で取り出した罫線グループとの比較対象とする為に、一時領域Aを用いている。
ステップS710にてループ処理を抜けると、一時領域Aに罫線グループが設定されているか否かを判定する(ステップS711)。この時の一時領域Aは、空であるときがあるがそれは、この帳票に繰り返し明細を囲うような罫線が無い場合である。よって、一時領域Aに罫線グループが設定されている場合のみ、ステップS701で生成した対象罫線グループ保存領域Gに、一時領域Aに保持している罫線グループ(対象罫線グループ)の情報を設定する(ステップS712)。
図13における帳票例では、帳票解析処理部138は、罫線グループ2の方が罫線グループ1よりも罫線面積が広い為、罫線グループ2に関する情報を対象罫線グループ保存領域Gに格納する。本実施形態では、対象罫線グループを決定する際の要素として、水平線分の本数よりも面積を優先して取り扱っている。これは帳票によっては、図14に示す帳票605における罫線グループ607の様に、表の外周のみを線分で囲っている場合があるからである。このような場合であっても、罫線面積を最優先に判断することによって、帳票解析処理部138は、図14における罫線グループ606ではなく、罫線グループ607を対象罫線グループとして決定することができる。
次に、図15を参照しながら、図4におけるステップS42のテキストデータ解析処理について詳細に説明する。図15は、図4におけるステップS42のテキストデータ解析処理の流れを示すフローチャートである。図15に示すように、帳票解析処理部138は、テキストデータ解析処理として、電子帳票の構成要素であるフォームデータとテキストデータのうち、テキストデータから、文字列、配置情報、書式情報を読み込み、フィールドと呼ばれる単位にまとめて、フィールドの集合(フィールド配列)を生成する(ステップS81〜S84)。
ここで、図16を参照し、フィールドについて解説する。
図16は、図36で説明した帳票例から、フォームデータ(罫線)を取り除いたテキストデータのみの概念図である。図16の帳票イメージ161では、フィールドを分かりやすく表現する為に、矩形枠で表現している。尚、本実施形態においてフィールドと呼んでいるのは、図16の矩形枠で囲った部分である。一つのフィールドには、文字列、配置座標、文字列の書式(フォントの種類やサイズなど)が定義されている。一般的な電子帳票設計ツールでは、このようなフィールドを配置することによって、帳票が設計されている。図17は、帳票イメージ161中の丸で囲んだフィールドの情報であるフィールド情報例を示す図である。図17に示すように、フィールド情報には、フィールドの範囲(図16の矩形枠)を示す位置情報と、フィールド内に含まれる文字列の情報と、書式情報が含まれている。すなわち、図15のステップS84において、帳票解析処理部138は、図17のようなフィールド情報をメモリ上に生成し、フィールド配列を生成する。
次に、ステップS85において、帳票解析処理部138は、生成されたフィールドを同じ行ごとのグループにまとめて行情報生成処理を行う。この時、各フィールドの上下位置座標を比較し、同じ上下位置を持つフィールドを同じ行として取り扱い、メモリ上に行配列を生成する。図18は、図16の帳票イメージ161に含まれる各フィールドを、行単位でまとめる処理の概念を示す図である。図18に示すように、行配列枠181により各フィールドを行単位でまとめている。また、図19は、行配列枠181に関する情報である行情報の一例を示す図である。図19に示すように、行情報には、各行に含まれるフィールド数及び各行に含まれるフィールドを特定するフィールド識別情報が含まれる。尚、フィールド識別情報により図17のフィールド情報を特定できる。また、図19の行情報に含まれるフィールド識別情報の代わりに、図17のフィールド情報を埋め込んでもよい。
尚、ステップS85における各フィールドの上下位置の確認は、座標比較することで行っているが、同一行と判断するフィールドの座標は、多少の誤差を吸収するように実装されてもよい。例えば、複数のフィールドが行方向で重なっていれば多少はみ出しているフィールドがあっても、同一行と判断する。
次に、ステップS86において、帳票解析処理部138は、ステップS85において生成済みの行配列枠181に含まれる各フィールドを解析して各行ごとの特徴を抽出し(行特徴分析処理)、行パターン配列を生成する。この行パターン配列は、各行がどの特徴(パターン)を持っているかを保持する配列である。
次に、図20を参照しながら、ステップS86の行特徴分析処理及び行パターン配列生成の処理について詳しく説明する。まず、帳票解析処理部138は、図20のフロー内でのみ使用する一時領域に行特徴パターンテーブルを生成する(ステップS901)。この行特徴パターンテーブルの1要素は、図21に示すように、行特徴パターンの詳細情報(図22)と、当該行特徴パターンに割り当てられた番号とから構成されるデータ構成である。図21は、行特徴パターンテーブルの1要素のデータ構成例を示す図である。また、図22は、行特徴パターンのデータ構成例を示す図である。図22に示すように、行特徴パターンには、フィールド数、各フィールドの左端X座標、及び各フィールドの書式情報が含まれる。
次に、帳票解析処理部138は、行パターン配列を生成する(ステップS902)。この行パターン配列は、以降の処理全体で使用する情報となる。この行パターン配列は、図23で示すように、行番号とパターンNo.の対応を示す情報であり、各行がどのパターンを持つかの情報である。
次に、図15のステップS85で生成された行配列を順に読み込んでのループ処理を行う(ステップS903〜S911)。まず、ステップS904において、帳票解析処理部138は、行配列の先頭から順に1つの図19に示す行情報を読み込む。次に、ステップS905において、帳票解析処理部138は、読み込まれた1行分の行情報を基に、その行の特徴を抽出する処理を行う。前述したように、この1行分の情報は、図19(及び図19から参照される図17)のような情報を保持している。それらの情報より、帳票解析処理部138は、以下の3つの特徴となる情報を抽出する。
1.一行に含まれるフィールド数。
2.各フィールドの左端X座標。
3.各フィールドの書式情報(フォント名、サイズ等)。
図19に示すように、行情報にはフィールド数が保持されているので、帳票解析処理部138は、その値を取得する。また、各フィールドのフィールド情報は図17のように保持されているので、帳票解析処理部138は、図17における左上X座標と書式情報を取得することにより、上記特徴となる情報を抽出し、図23の例で示すように行特徴パターンとしてメモリ上に保持する(ステップS905)。図23の例では、フィールド数が3つ、3つのフィールドの左端X座標がそれぞれ、100,200,500であり、3つのフィールドの書式情報がそれぞれ、明朝8point,ゴシック10point、ゴシック8pointであることを示している。
次に、帳票解析処理部138は、抽出された行特徴パターンと全く同じ行特徴パターンが、図21に示す行特徴パターンテーブルに存在するか否かを判定する(ステップS906)。もちろん、初期状態では存在しない。存在しなかった場合は、帳票解析処理部138は、新たな行特徴パターンとして、一意な番号(パターンNo.)を割り当て、行特徴パターンテーブルに追加する(ステップS907、S908)。ここでの一意な番号とは、行特徴パターンテーブル内に、登録されていないパターンNo.であれば何でも構わない。
また、ステップS906にて、帳票解析処理部138は、行特徴パターンテーブルに同一の行特徴パターンが存在した時には、そのパターンNo.を取得する(ステップS909)。次に、帳票解析処理部138は、ステップS902にて生成した行パターン配列に、現在処理している行番号とパターンNo.を1要素として追加する(ステップS910)。この要素は、図23に示すようなデータ構造である。ステップS911はステップS903で開始したループの終端であり、行配列の全要素に対して処理するまでループ処理を継続する。以上の処理により帳票解析処理部138は、行パターン配列を生成する。この行パターン配列は、図4のステップS42におけるテキストデータ解析処理の最終出力となる。
尚、上記図20の処理によって、帳票解析処理部138は、行パターン配列を生成するが、この配列は図23で示す様に、行におけるパターンNo.しか保持していない。これは、以降の処理で各行がどのような特徴を持っているかは必要なく、行特徴パターンの分布のみが必要とされるからである。
次に、図4のステップS43における明細情報生成処理について説明する。ステップS43において、帳票解析処理部138は、ステップS41及びS42によって解析された罫線情報(対象罫線グループの情報)と行特徴情報(行パターン配列)を用いて、実際に電子帳票の繰り返し明細情報を生成する。図24は、図4におけるステップS43の明細情報生成処理の詳細を示すフローチャートである。
図24に示すフローチャートでは本実施形態の主な特徴となる処理が3点存在する。それは、罫線が存在しない電子帳票であっても、擬似的な罫線を生成する処理(ステップS1002)と、行特徴の出現パターンより、繰り返し明細情報を特定する処理(ステップS1005)と、行特徴の出現パターンに際立った傾向がなく、ステップS1005による特定に失敗した場合でも、罫線と含まれる行数により、繰り返し明細情報を特定する処理(ステップS1007)である。これらの主な特徴となる処理を行うことにより、より確実な繰り返し明細情報を特定することができる。
尚、罫線が存在し、行特徴の出現パターンも特出した傾向(=信頼性のある行パターン配列を得やすい傾向)のある通常のケースでは、ステップS1002とステップS1007は実行されない。これらのステップは、例外的な帳票であっても正常に繰り返し明細情報の生成を可能とするためのリカバリ処理である。
図24において、まず、帳票解析処理部138は、対象罫線グループ保存領域Gに罫線グループが保存されているか否かを判定する(ステップS1001)。一般の電子帳票では、罫線のない帳票も珍しくない。または、罫線が存在しても図16に示したような表を成す罫線が存在しない帳票の場合には、対象罫線グループ保存領域Gに罫線グループが保存されていないケースとなる。
対象罫線グループ保存領域Gに罫線グループが設定されていない場合には、帳票解析処理部138は、擬似罫線グループ生成処理を実行する(ステップS1002)。この処理によって、罫線の存在しない帳票であっても以降の処理を実行することを可能にしている。この処理は以降で詳細に説明する。
対象罫線グループ保存領域Gに罫線グループが設定されている場合、およびステップS1002によって対象罫線グループ保存領域Gに罫線グループが設定された後には、帳票解析処理部138は、その罫線グループの情報を読み込む(ステップS1003)。ここでの対象罫線グループ保存領域G上の罫線グループの情報は、図10に示した通りのデータ構成である。
次に、帳票解析処理部138は、罫線グループ情報が保持している水平線分の情報(図7)の中から、最上部に位置する線分と最下部に位置する線分のY座標をそれぞれ取得する(ステップS1004)。次に、帳票解析処理部138は、この最上部、最下部に位置する線分のY座標と、先述の処理での行パターン配列等の情報により、行特徴の出現パターンを解析し、繰り返し明細の行数を判定する(ステップS1005)。この処理は、以降で詳細に説明する。
尚、ステップS1005においては、必ずしも繰り返し明細が特定されるとは限らない。例えば、行特徴がどの行も同じであったり、行特徴の出現パターンに規則性がなかったりする場合もある。このような繰り返し明細の行数が特定されなかった場合には、ステップS1007へ移行し、繰り返し明細の行数が特定された場合には、ステップS1009へ移行する(ステップS1006)。
ステップS1007において、帳票解析処理部138は、ステップS1005で繰り返し明細の行数が特定できなかった場合の救済措置として、罫線(水平線分)の本数とその罫線で囲まれる領域に存在する行数によって、繰り返し明細の行数を特定する(ステップS1007)。このステップS1007の処理は、以降で詳細に説明する。
また、ステップS1007において繰り返し明細の行数が特定された場合には、帳票解析処理部138は、ステップS1009へ移行するが、ここでも行数が特定できなかった場合には、ステップS1011へ移行する(ステップS1008)。ステップS1011においては、帳票解析処理部138は、繰り返し明細行数が特定不能であると利用者へ伝える。
ステップS1009において、帳票解析処理部138は、この電子帳票における繰り返し明細の情報を確定する。明細範囲の上限Y座標には、ステップS1004で取得した最上部の水平線分Y座標以下で初めに出現するテキストデータ行の上限座標を採用する。具体例として図25を示す。図25は、本実施形態における処理対象となる帳票例を示す図である。図25の横線251の座標が上記「最上部の水平線分Y座標」の座標である。また、横線252の座標が上記「下限座標」となる。そして、横線251の一つ下の横線253が上記「初めに出現するテキストデータ行の上限座標」となる。
図25に示すように、ステップS1004で取得した「最上部の水平線分251のY座標」は、繰り返し明細の上限座標としては、不適切である。この図25の例では、表のヘッダ部分に、取引先・住所・備考の文字列が含まれている。一般的な電子帳票では、このような表のヘッダ部のカラムに表示させる文字列は、先述のフォームデータ内に埋め込まれているため、行配列内のフィールドでは取り扱っていない。よって、上限座標を特定する場合に、最上部の水平線分251のY座標より下で初めに出現するテキストデータ行(図25での行番号4)の上端の横線253のY座標を「上限座標」として使用することにより、適切な繰り返し明細領域の上限座標を決定している。
一方、明細範囲の下限Y座標は、ステップS1004で取得した最下部の水平線分Y座標を用いる。これは、一連の処理を実施したページにおいて、表の一番下の明細領域までテキストデータが埋め込まれていない場合にも対応する為に、表の一番下の水平線分Y座標を使用する。図25の例では、表の一番下の明細領域にはデータは配置されていないが、表の一番下となる水平線分252のY座標を下限座標に用いることにより、適切な下限座標を決定している。
また、繰り返し明細の行数は、前述のステップS1005の処理にて特定された行数値を使用する。図25の例では、繰り返し明細の行数を4行としている。
次に、ステップS1010において、帳票解析処理部138は、確定した繰り返し明細情報より、図36で説明したような明細区切り線イメージを利用者端末13の表示装置136に表示させるための座標情報を生成している。この処理は既存の処理を使用することによって実現している。
さて、ここでステップS1005とステップS1007の2回の判定処理を実施しても、繰り返し明細の行数が特定できなかった場合には、利用者端末13の表示装置136に明細認識ができなかった旨を伝えるメッセージ画面を表示する(ステップS1011)。図26は、メッセージ画面の例を示す図である。
次に、図27および図28を参照しながら、図24におけるステップS1002の擬似罫線グループ生成処理について説明する。図27は、図24におけるステップS1002の擬似罫線グループ生成処理の詳細を示すフローチャートである。帳票解析処理部138は、この擬似罫線グループ生成処理を、先述した様に水平な罫線の無い、又は表をきれいに囲むような罫線のない帳票の場合(=対象罫線グループが無い場合)に実行する。
ここでは、図28に示す帳票例と併せて、図27のフローチャートを説明する。
図28は、罫線の存在しない帳票の例である。図28において文字列を囲む矩形枠は、フィールドを示し、また、罫線の様に見える横長の矩形枠は、複数のフィールドを横方向に束ねる行を示しており、実際の罫線ではない。すなわち、図28の帳票には実際には罫線が全く無い。また、図28において右端に記載している数値は、この帳票における行パターン配列の内容を示すものであり、行番号と行特徴パターンNo.を記載している。
行パターン配列から、仮に図28の帳票に罫線が存在した場合には、行番号4〜23を囲う表のような罫線があることが特定できる。よって、その領域を範囲とする罫線グループを擬似的に生成すればよい。
まず、図27のステップS1101において、帳票解析処理部138は、このフローチャートの処理で使用する以下の情報を格納するためのメモリ上の一時領域を生成、初期化している。但し、下記「範囲内出現パターン集合X」は、数値の集合を格納できるメモリ上の一時領域となる。
・最多パターンNo.
・最多パターン先頭行番号
・最多パターン末尾行番号
・上端行番号A
・下端行番号B
・範囲内出現パターン集合X
次に、帳票解析処理部138は、図15のステップS86で生成した行パターン配列を読み込む(ステップS1102)。次に、帳票解析処理部138は、行パターン配列内の要素を走査し、一番出現頻度の多い行特徴パターンNo.を取得し、最多パターンNo.に格納する(ステップS1103)。この図28の例では、パターンNo.5が一番出現頻度の多いパターンNo.となる。
次に、帳票解析処理部138は、行パターン配列内の要素を走査し、最多パターンNo.の存在する行番号範囲を取得し、最多パターン先頭行番号と最多パターン末尾行番号へ格納する。図28の例では、パターンNo.5は、行番号5〜22の範囲に出現する為、それぞれ5と22を格納することとなる。
ステップS1105〜S1108において、帳票解析処理部138は、行パターン配列の要素数分のループ処理を行い、最多パターン先頭行番号と最多パターン末尾行番号の間の行に位置するパターンNo.を取得する。つまり、ここで繰り返し明細として使用されていると考えられる行特徴パターンを識別している。図28の例では、パターンNo.4、5、6の3つが出現する為、範囲内出現パターン集合Xに上記3つのパターンNo.が格納されることになる。
次に、帳票解析処理部138は、ステップS1109〜S1115において、行パターン配列の要素数分のループ処理を行い、範囲内出現パターン集合Xに格納されているパターンNo.を持つ行の最上部行と最下部行を求める。行パターン配列から行番号順に取り出すことにより、上端行番号Aと下端行番号Bに最上部行と最下部行の行番号を設定している。図28の例では、パターンNo.4、5、6が一番上部で出現する行は、4行目であり、また一番下部で出現する行は、23行目である為、上端行番号Aには4、下端行番号Bには23が格納されることとなる。ここまでのステップで、繰り返し明細の対象となるであろう行番号の範囲が特定される。
次に、帳票解析処理部138は、ステップS1116〜S1120において、図24のステップS1003にて、元々罫線グループ情報が存在する時と同様に処理が実行できるように、罫線グループ情報を擬似的に生成する。具体的には、帳票解析処理部138は、上端行番号Aと下端行番号Bに格納してある行番号より、行の座標を取得し、上端行の上に配置される水平線分と、下端行の下に配置される水平線分を行の座標から生成する(ステップS1116〜S1119)。最後に、帳票解析処理部138は、これら二つの水平線分データを保持する罫線グループを生成することによって、擬似的に罫線での枠イメージを生成する(ステップS1120)。
次に、図29および図28を参照しながら、図24におけるステップS1005の行特徴出現パターン解析処理について説明する。図29は、図24におけるステップS1005の行特徴出現パターン解析処理の詳細を示すフローチャートである。この行特徴出現パターン解析処理は、罫線グループにより特定された表と考えられる領域において、行特徴の出現パターンを見つけ出し、繰り返し明細の行数を特定する処理である。
大まかな処理の流れは、行ごとのパターンの格納済みである行パターン配列に対し、繰り返し明細がN行であると仮定して、パターンの出現に不整合が無いかを検証する。Nは2行から開始し、不整合があれば3行、4行と検証する繰り返し明細行数を増やし、整合性のある繰り返し明細行数を特定する。
まず、帳票解析処理部138は、この処理において一時的に使用する以下の領域をメモリ上に確保する(ステップS1201)。
・開始行番号S
・終了行番号E
・繰り返し行数N
・評価基準行番号B
・評価行番号R
上記はいずれも数値を格納可能なメモリ上の領域である。
次に、帳票解析処理部138は、図24のステップS1004で取得した罫線グループの最上部線分と最下部線分のY座標を取得する(ステップS1202)。次に、帳票解析処理部138は、行配列に格納されている各行の座標より、ステップS1202で取得した最上部Y座標と最下部Y座標に収まっている行番号の範囲を取得し、一時領域の開始行番号S、終了行番号Eへそれぞれ格納する(ステップS1203)。ここで、図28の例では行番号4が開始行番号Sへ、行番号23が終了行番号Eへそれぞれ格納する。
次に、行パターン配列に対し、開始行番号Sと終了行番号Eの間において、2つ以上のパターンが出現するかを判定する(ステップS1204)。ここで、範囲内に行特徴パターンが1つしか出現しない場合には、行特徴パターンの出現傾向が取得できないため、本フローチャートによる処理では、繰り返し明細の行数を特定することができないため、帳票解析処理部138は、ステップS1216へ処理を進めて、行数の特定不能となる。又、2つ以上のパターンが出現する場合には、帳票解析処理部138は、ステップS1205へ処理を進める。図28の例では、開始行S(4行目)から終了行E(23行目)の間に、3つの行特徴パターンが出現するので、帳票解析処理部138は、ステップS1205へ移行する。
ステップS1205において、帳票解析処理部138は、一時領域の繰り返し行数Nへ2を代入している。これは、繰り返し明細の行数の検証を2行目から順に進めていくための初期化である(ステップS1205)。次に、ステップS1206において、帳票解析処理部138は、繰り返し明細行数が特定不能であるか否かの判定処理を行う。ここで判定式は以下となっており、この式が成り立たない場合に特定不能と判定する。
(開始行番号S+(繰り返し行数N×2))≦(終了行番号E+1)
これは、開始行番号Sと終了行番号Eの間に明細が2回以上繰り返せない繰り返し行数NまでNが達してしまった場合に、特定不能となる式である。
図28の例では、
(4+(N×2))≦(23+1)
となり、Nが11に達した場合には、特定不能となるが、実際にこの例ではNが11まで達することはない(ステップS1206)。次に、ステップS1207において、帳票解析処理部138は、開始行番号Sを評価基準行番号Bと評価行番号Rへ代入する(ステップS1207)。この処理は、Nが更新される毎に1度実行される。
次のステップS1208〜ステップS1213の処理が、N行に対する検査の中心的な処理である。
ここで、ステップS1208において
開始行番号S+繰り返し行数N>B
が不成立となった場合に、その時検査していた繰り返し行数Nが、この帳票の繰り返し明細の行数として特定される。
また、ステップS1213における評価基準行番号Bと評価行番号Rにおける行のパターンが同一かどうかの比較において、一致しない結果となった場合には、現在評価中であった繰り返し行数Nが不整合とみなされ、ステップS1215において、Nに1加算され、新たな繰り返し明細行数候補が検証される仕組みとなる。
図28においても一時変数Nが2の状態から検証を開始する。
この場合は、繰り返し明細が2行で不整合がないかを終了行番号Eまで検査することとなる。この場合のNを2とした場合の一番上部の明細を図30の太枠302に示す。Nを2として、検査を進めた場合、まず4行目と6行目が同じパターンNo.であるかがステップS1213で判定されるが、符号301に示すように同じではないので、ステップS1215において、Nに1加算され、繰り返し行数Nを3行としての検査に移行する。
次に、Nを3とした場合の一番上部の明細を、図31の太枠312に示す。この場合においても、まず4行目と7行目が同じパターンNo.であるかがステップS1213で判定されるが、符号311に示すように同じではないので次はNを4としての検査に移行する。
次に、Nを4とした場合の一番上部の明細を、図32の太枠322に示す。この場合は、まず4行目と8行目が同じパターンNo.であるかがステップS1213で判定される。ここで、符号321に示すように同じパターンNo.であるので、ステップS1210へ処理が移行し、評価行番号RにNが加算される。ここでは、評価行番号Rに現在の繰り返し行数Nの4が加算され、12となる。次は4行目と12行目が同じパターンであるかが判定される。この様にRに順々に4を加算した行が4行目と同じパターンであるかの判定を繰り返し、Rが24に達した時、ステップS1211によって、評価行番号Rが終了行番号Eを超えることになる。
この時点で4行毎の繰り返し明細と考えた時の第一行目、図32でいう4行目部分は終了行まで整合性が確認されたことになる。つまり、4,8,12,16,20行目が同じパターンNo.で構成されていることが確認されたことになる。
図33は、行パターン配列におけるパターン出現傾向の評価例を示す図である。上記R=20行目の次はR=24行目となるので、帳票解析処理部138は、評価基準行番号Bについては検査が終了したと判断し(ステップS1211のNO)、ステップS1214に移行して、Bに1を加算し、ステップS1208へ移行する。Bに1が加算されたことによって、ここではB=5となる。
ここで、ステップS1208の判定では、4+4>5となり、成立しているので、処理は続行される。図33に示すように同様にN=4、B=5での検証を繰り返し、次にB=6、7での検証もクリアする。評価基準行番号Bが7の場合のステップS1211において、評価行番号Rが終了行番号Eを超えた時に、ステップS1214においてBが8と加算される。その段階で、ステップS1208へ移行した場合に、4+4>8となり、不成立となり、ステップS1217へ移行し、帳票解析処理部138は、この図28の例の場合はN=4行であるので、繰り返し明細行を4行と特定する。
以上に説明したように、繰り返し明細の行数を2行から初めて、整合性の確認される行数まで順に確認し、繰り返し明細行数を特定する。また、行特徴パターンの出現に傾向が見られない場合には、ステップS1206においてNOと判断されて、ステップS1216に移行し、特定不能となる。以上に示したように、本実施形態における利用者端末13は、電子帳票内の繰り返し明細の領域(主に上限、下限)を特定し、その領域における明細が何行単位で構成されているかを特定する処理を自動で行うことができる。
従来のシステムでは人間の目で見て繰り返し明細行数を判断し設定する場合には、内部的にスペース文字や空文字のような目に見えない行を判断することが出来ない為、実際の電子帳票内部で取り扱う行数と異なることがあり処理が失敗し、再試行する必要があることを問題点としたが、本実施形態の行特徴出現パターン解析処理によって、内部的にスペース文字や空文字のような目に見えない行に対しても、行特徴の出現パターン処理を実施することにより、自動で繰り返し明細行数を特定することができる。
次に、図35を参照しながら、図24におけるステップS1007の罫線の本数とその罫線で囲まれる領域に存在する行数によって、繰り返し明細の行数を特定する処理を説明する。この処理は、図29での処理で繰り返し明細の行数が特定できなかった場合の処理である。
図35において、帳票解析処理部138は、ステップ1301〜1310までの処理として、対象罫線グループ保存領域Gに格納されている罫線グループの表現する領域内に存在する最上部行番号と最下部行番号を座標より単純に取得している。次に、ステップS1311において、帳票解析処理部138は、罫線グループで囲まれる行の最上部行と最下部行の間に何本罫線(水平線分)が存在するかをカウントしている。これは言い換えれば、対象となる明細の集合を何本の罫線で区切っているかを求めている処理である。
次に、ステップS1312において、帳票解析処理部138は、下記の判定式により繰り返し明細の行数を特定している。
(罫線グループ領域内の行数)÷(仕切り罫線数+1)=繰り返し明細行数
例えば、図34の例では、罫線グループ領域内に4〜23行目の様に20行存在し、仕切っている罫線数は4本である。よって、判定式に適用すると20÷(4+1)=4となり、繰り返し明細行数が4行と特定される。
以上、図29と図35において、繰り返し明細の行数を特定する処理の説明を記したが、図29の処理ではテキストデータの特徴に着目した行数の特定処理であることに対して、図35の処理は罫線の配置に着目した繰り返し明細行数の特定処理である。ここで、図35の処理は図29の処理で行数を特定できなかった場合の救済措置と位置付けているが、これは電子帳票におけるフォームデータとテキストデータの重要度に由来している。
先に述べたように、電子帳票においてフォームデータは、帳票の見栄えを良くするために用いられているもので、必ずしも明細単位に罫線が配置されているとは限らない。よって、この用にテキストデータを第一に考えて繰り返し明細の行数を特定することが重要なのである。
ここまでに説明したように、本実施形態の利用者端末13は、罫線を含む画像データから識別された繰り返し明細領域上の水平線分の情報と、文字列、位置情報、書式情報を含むテキストデータから各行毎の特徴を識別した情報より、電子帳票上の繰り返し明細の領域と明細が構成される行数を特定することができるので、従来のように利用者が繰り返し明細領域の上限、下限座標を指定したり、明細行数を判断して入力する必要がなく、誤りの無い設定を簡便に行うことが可能となる。
尚、上記実施形態は飽くまでも本発明の一適用例であり、当然、その他の実施形態をとることが出来る。例えば、上記実施形態では、繰り返し明細の情報を利用者端末13が識別することで、利用者の明細領域設定の手順を助けるものであったが、帳票の繰り返し明細の情報を識別することによって、電子帳票に一ページ内に複数の種類の繰り返し明細があった場合でも、その複数の明細を取り扱って検索処理等を行うことも可能である。
また、上述した実施形態における帳票解析処理部138の機能を実現するソフトウェアのプログラムを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し実行する実施形態であってもよい。この場合、記録媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は-本発明を構成することになる。
上記記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが記録媒体から読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明の一実施形態に係る利用者端末(解析装置)を含む電子帳票システムの構成を示す図である。 本実施形態における電子帳票サーバ12及び利用者端末13のハードウェア構成を示す図である。 本実施形態の利用者端末13の動作と、利用者が繰り返し明細帳票を検索する際の手順を示すフローチャートである。 本実施形態の明細認識処理を示すフローチャートである。 本実施形態の罫線データ解析処理を示すフローチャートである。 本実施形態における電子帳票の罫線の一例を示す図である。 本実施形態におけるメモリ上に持つ水平線分のデータの一例を示す図である。 本実施形態の罫線データグループ化処理を示すフローチャートである。 本実施形態におけるメモリ上の罫線グループ配列の一例を示す図である。 本実施形態におけるメモリ上に持つ罫線グループのデータの一例を示す図である。 本実施形態の対象罫線判定処理を示すフローチャートである。 本実施形態におけるメモリ上の一時領域Aのデータの一例を示す図である。 本実施形態の罫線グループのイメージの一例を示す図である。 本実施形態における電子帳票の罫線の一例を示す図である。 本実施形態のテキストデータ解析処理を示すフローチャートである。 本実施形態におけるフィールド情報の一例を示す図である。 本実施形態におけるメモリ上のフィールド情報のデータの一例を示す図である。 本実施形態における行イメージの一例を示す図である。 本実施形態におけるメモリ上の行の一例を示す図である。 本実施形態の行特徴分析処理を示すフローチャートである。 本実施形態におけるメモリ上の行特徴パターンテーブルの要素の一例を示す図である。 本実施形態におけるメモリ上の行特徴パターンの一例を示す図である。 本実施形態におけるメモリ上の行パターン配列の要素の一例を示す図である。 本実施形態の明細情報生成処理を示すフローチャートである。 本実施形態における繰り返し明細情報特定における電子帳票の一例を示す図である。 本実施形態において、繰り返し明細行数が特定できなかった場合に表示するメッセージの一例を示す図である。 本実施形態の擬似罫線グループ生成を示すフローチャートである。 本実施形態において、帳票サンプルにおける行パターン配列の一例および、生成される擬似罫線の一例を示す図である。 本実施形態の行特徴出現パターン解析処理を示すフローチャートである。 本実施形態において、帳票サンプルにおける行パターン配列の一例を示す図である。 本実施形態において、帳票サンプルにおける行パターン配列の一例を示す図である。 本実施形態において、帳票サンプルにおける行パターン配列の一例を示す図である。 本実施形態において、行パターン配列においてパターンの出現傾向を確認する一例を示す図である。 本実施形態において、帳票サンプルにおける罫線からの繰り返し明細行数特定の一例を示す図である。 本実施形態の罫線と行数による繰り返し行数解析処理を示すフローチャートである。 帳票表示画面における繰り返し明細の一例を示す図である。 従来の帳票表示画面における上限・下限ルーラを示す図である。 従来の実施形態における繰り返し明細行数入力画面を示す図である。
符号の説明
11 外部コンピュータシステム
12 電子帳票サーバ
13 利用者端末
121、126、131 通信部
122 印字用データ記憶部
123 帳票データ変換部
124 帳票データ記憶部
125 検索実行部
132 帳票画像再現部
133 検索結果表示部
134 検索領域入力部
135 検索式入力部
136 表示装置
137 キーボード
138 帳票解析処理部
21 CPU
22 RAM
23 ROM
24 HDD(ハードディスクドライブ)
25 記録媒体ドライブ
26 ビデオアダプタ
27 K/B(キーボード)
28 マウス
29 NIC(ネットワークインタフェースカード)

Claims (8)

  1. 帳票イメージ上に配置される行群の繰り返し単位を決定する繰り返し行決定装置であって、
    前記帳票イメージ上でテキストが配置されるフィールドの定義情報であるフィールド定義情報に含まれる位置情報に基づいて、前記帳票イメージ上の同じ行にテキストを配置するフィールドを、行毎に抽出する抽出手段と、
    前記抽出手段で抽出されたフィールドにより構成される行毎に、行を構成するフィールドの数及び前記フィールドに配置されるテキストの書誌情報を用いて、行毎の特徴をパターン分けするパターン分け手段と、
    記パターン分け手でパターン分けさた各行が前記帳票イメージ上に配置される配順に従って、パターン分けされた行の配置傾向から、同じ配置傾向をもつ行群の繰り返し単位を決定する決定手段と、
    を有することを特徴とする繰り返し行決定装置。
  2. 前記決定手段で決定された繰り返し単位を一まとまりとする行群に対する検索要求を受け付ける受付手段と、
    前記受付手段で受け付けられた検索要求に基づいて、前記一まとまりの行群毎に検索する検索手段と、
    を更に有することを特徴とする請求項1に記載の繰り返し行決定装置。
  3. 前記帳票イメージ上の罫線の配置に関する情報である罫線情報を用いて、同じ左右位置をもつ水平線分群を一つのグループにまとめ、前記グループに含まれる水平線分群の上限座標および下限座標の間に含まれる範囲を、前記決定手段で前記行群の繰り返し単位を決定する際に配置傾向を分析する範囲として選択する選択手段を更に有することを特徴とする請求項1または2に記載の繰り返し行決定装置。
  4. 前記選択手段は、同じ左右位置をもつ水平線分群をまとめたグループが複数ある場合、それぞれのグループに含まれる水平線分群により構成される前記帳票イメージ上の面積を基準として一つのグループを特定し、前記特定したグループに含まれる水平線分群の上限座標および下限座標の間に含まれる範囲を、前記決定手段で前記行群の繰り返し単位を決定する際に配置傾向を分析する範囲として選択することを特徴とする請求項3に記載の繰り返し行決定装置。
  5. 前記帳票イメージ上に罫線がない場合、前記パターン分け手段でパターン分けされた各行の前記帳票イメージ上における配置頻度、および前記各行に含まれる前記フィールドの位置情報を用いて、前記決定手段で前記行群の繰り返し単位を決定する際に配置傾向を分析する範囲を特定する第一の仮想罫線および第二の仮想罫線を生成する生成手段を更に有し、
    前記選択手段は、前記生成手段により生成された仮想罫線の上限座標および下限座標の間に含まれる範囲を、前記決定手段で前記行群の繰り返し単位を決定する際に配置傾向を分析する範囲として選択することを特徴とする請求項3又は4に記載の繰り返し行決定装置。
  6. 抽出手段と、パターン分け手段と、決定手段とを備える、帳票イメージ上に配置される行群の繰り返し単位を決定する繰り返し行決定装置における繰り返し行決定方法であって、
    前記抽出手段が、前記帳票イメージ上でテキストが配置されるフィールドの定義情報であるフィールド定義情報に含まれる位置情報に基づいて、前記帳票イメージ上の同じ行にテキストを配置するフィールドを、行毎に抽出する抽出ステップと、
    前記パターン分け手段が、前記抽出ステップで抽出されたフィールドにより構成される行毎に、行を構成するフィールドの数及び前記フィールドに配置されるテキストの書誌情報を用いて、行毎の特徴をパターン分けするパターン分けステップと、
    前記決定手段が、前記パターン分けステップでパターン分けされた各行が前記帳票イメージ上に配置される配置順に従って、パターン分けされた行の配置傾向から、同じ配置傾向をもつ行群の繰り返し単位を決定する決定ステップと、
    を有することを特徴とする繰り返し行決定方法。
  7. 帳票イメージ上に配置される行群の繰り返し単位を決定するコンピュータを、
    前記帳票イメージ上でテキストが配置されるフィールドの定義情報であるフィールド定義情報に含まれる位置情報に基づいて、前記帳票イメージ上の同じ行にテキストを配置するフィールドを、行毎に抽出する抽出手段と、
    前記抽出手段で抽出されたフィールドにより構成される行毎に、行を構成するフィールドの数及び前記フィールドに配置されるテキストの書誌情報を用いて、行毎の特徴をパターン分けするパターン分け手段と、
    前記パターン分け手段でパターン分けされた各行が前記帳票イメージ上に配置される配置順に従って、パターン分けされた行の配置傾向から、同じ配置傾向をもつ行群の繰り返し単位を決定する決定手段と、
    して機能させることを特徴とするプログラム。
  8. 請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005133390A 2005-04-28 2005-04-28 繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体 Expired - Fee Related JP4646300B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005133390A JP4646300B2 (ja) 2005-04-28 2005-04-28 繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005133390A JP4646300B2 (ja) 2005-04-28 2005-04-28 繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体

Publications (3)

Publication Number Publication Date
JP2006309611A JP2006309611A (ja) 2006-11-09
JP2006309611A5 JP2006309611A5 (ja) 2008-05-29
JP4646300B2 true JP4646300B2 (ja) 2011-03-09

Family

ID=37476406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005133390A Expired - Fee Related JP4646300B2 (ja) 2005-04-28 2005-04-28 繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP4646300B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243144A (ja) * 2007-03-29 2008-10-09 Toray Eng Co Ltd 帳票レイアウトデータ作成方法及び印刷システム
JP7486112B2 (ja) * 2019-06-21 2024-05-17 辻・本郷税理士法人 会計支援装置、会計支援プログラム及び会計支援方法
JP6869394B1 (ja) * 2020-03-23 2021-05-12 三菱電機Itソリューションズ株式会社 検証装置、検証方法、及び、検証プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165275A (ja) * 1986-01-17 1987-07-21 Hitachi Ltd 文書画像フアイル装置
JPH08249419A (ja) * 1995-03-10 1996-09-27 Fuji Xerox Co Ltd 表領域判定装置
JPH10134143A (ja) * 1996-10-30 1998-05-22 Fujitsu Ltd 文字抽出装置
JPH10307888A (ja) * 1997-05-09 1998-11-17 Ricoh Co Ltd 表処理方法、装置および記録媒体
JPH11161736A (ja) * 1997-12-01 1999-06-18 Fujitsu Ltd 文字認識方法
JP2000207184A (ja) * 1999-01-12 2000-07-28 Fujitsu Ltd プログラムソ―ス記述再標準化装置
JP2002251589A (ja) * 2000-12-22 2002-09-06 Bsp Inc グラフ生成支援プログラムおよびそのプログラムが記録された記録媒体並びにグラフ自動生成方法およびシステム
JP2005100079A (ja) * 2003-09-25 2005-04-14 Casio Comput Co Ltd 帳票データ入力装置およびプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165275A (ja) * 1986-01-17 1987-07-21 Hitachi Ltd 文書画像フアイル装置
JPH08249419A (ja) * 1995-03-10 1996-09-27 Fuji Xerox Co Ltd 表領域判定装置
JPH10134143A (ja) * 1996-10-30 1998-05-22 Fujitsu Ltd 文字抽出装置
JPH10307888A (ja) * 1997-05-09 1998-11-17 Ricoh Co Ltd 表処理方法、装置および記録媒体
JPH11161736A (ja) * 1997-12-01 1999-06-18 Fujitsu Ltd 文字認識方法
JP2000207184A (ja) * 1999-01-12 2000-07-28 Fujitsu Ltd プログラムソ―ス記述再標準化装置
JP2002251589A (ja) * 2000-12-22 2002-09-06 Bsp Inc グラフ生成支援プログラムおよびそのプログラムが記録された記録媒体並びにグラフ自動生成方法およびシステム
JP2005100079A (ja) * 2003-09-25 2005-04-14 Casio Comput Co Ltd 帳票データ入力装置およびプログラム

Also Published As

Publication number Publication date
JP2006309611A (ja) 2006-11-09

Similar Documents

Publication Publication Date Title
JP3425408B2 (ja) 文書読取装置
JP4926004B2 (ja) 文書処理装置、文書処理方法及び文書処理プログラム
JP5040925B2 (ja) 情報抽出規則作成支援システム、情報抽出規則作成支援方法及び情報抽出規則作成支援プログラム
EP1698988A1 (en) Image processing apparatus and its method
CN103838566A (zh) 信息处理装置和信息处理方法
JP5141560B2 (ja) 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
US5557789A (en) Text retrieval method and apparatus based on a handwritten keyword
JP2009238217A (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
CN103995816B (zh) 信息处理设备和信息处理方法
US20170132484A1 (en) Two Step Mathematical Expression Search
JP4991407B2 (ja) 情報処理装置、その制御プログラムおよび該制御プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに制御方法
JP5247311B2 (ja) 電子文書処理装置および電子文書処理方法
JP2009211432A (ja) 文書認識プログラム、文書認識装置、および文書認識方法
JP2008077454A (ja) タイトル抽出装置、画像読取装置、タイトル抽出方法、及びタイトル抽出プログラム
JP4646300B2 (ja) 繰り返し行決定装置、繰り返し行決定方法、プログラム及び記録媒体
JP2006065477A (ja) 文字認識装置
CN114118070A (zh) 文档目录生成方法及装置、电子设备和介质
JP2018055256A (ja) 情報処理装置、情報処理方法及びプログラム
JPH1139315A (ja) フォーマットされた文書を順序付けされたワードリストへ変換する方法
KR20050061620A (ko) 문서편집 소프트웨어의 수식 편집기 및 그 편집방법
JP7383882B2 (ja) 情報処理装置、及び情報処理プログラム
JP7160432B2 (ja) 画像処理装置、画像処理方法、プログラム
JP4213558B2 (ja) 文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置
JP5428316B2 (ja) 識別子短縮表示プログラム,識別子短縮表示装置および識別子短縮表示方法
WO2014170965A1 (ja) 文書処理方法、文書処理装置および文書処理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4646300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141217

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees