以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における会計システム1000のブロック図である。
会計システム1000は、情報処理装置1、1以上の顧客端末2、1以上の伝票編集端末3を備える。情報処理装置1、1以上の顧客端末2、および1以上の伝票編集端末3は、情報の通信が可能となるよう、ネットワークや通信回線により接続されている。なお、図1では、説明の便宜上、顧客端末2が一つである場合を例に挙げて説明しているが、顧客端末2は複数でも良い。伝票編集端末3についても同様である。
情報処理装置1は、領収書画像格納部101、領収書画像受信部102、領収書画像蓄積部103、伝票情報格納部104、レコード生成部105、対応付与部106、伝票情報取得部107、受信部108、仕訳情報格納部109、仕訳情報取得部110、出力部111を備える。
顧客端末2は、領収書画像受付部201、顧客識別情報受付部202、送信部203を備える。
伝票編集端末3は、端末受信部301、表示部302、入力受付部303、端末送信部304を備える。
情報処理装置1は、例えば、サーバ装置である。情報処理装置1は、例えば、コンピュータ等で実現可能である。
領収書画像格納部101には、領収書の画像である1または2以上の領収書画像が格納される。一の領収書画像は、通常、一の画像ファイルを構成している。ここでの領収書とは、例えば、金銭授受の証拠となりうる書面である。ここでの領収書は、領収書という文言の入った書面や、取引明細書、引落明細書、領収、受領等の文言の入った書面等であってもよい。また、いわゆるレシートも領収書と考えても良い。また、領収書の控えも、ここでは、実質的に領収書と考えても良い。また、上記のような文言の入ったWEB上の取引画面や、電子メールのプリントアウト等も領収書と考えてもよい。また、切符や、入場券、搭乗券等の券やその半券等も領収書と考えてもよい。また、クレジットカード等の支払明細書等も領収書と考えても良い。領収書には、通常、日付、金額、単価、数量、代金受取人名、代金支払者名(宛名)等の情報が記載されている。領収書は、例えば、紙等の物理的な媒体に、上記のような情報が、印刷(印字)あるいはペン等で記載されたものである。領収書画像とは、領収書をデジタルカメラ等で撮影した画像や、スキャナ等でスキャンした画像である。また、WEB上で行われた取引による領収書に相当する画面のスクリーンショットや、領収書に相当する内容の記載された電子文書等であっても良い。また、上述したような切符等の券やその半券を撮影した画像であっても良い。ここでの領収書は、日本の税法上の領収書としての要件を満たしているものであることが好ましいが、必ずしも満たしていなくても良い。
領収書画像は、カラー画像であっても良いし、グレースケール画像や白黒画像であっても良い。また、カラー画像やグレースケール画像の場合、階調数(ビット数)は問わない。また、領収書画像の解像度は高解像度、例えば200dpi以上であることが好ましいが、200ppi以下の低解像度であっても良い。ただし、領収書の内容が肉眼で読み取れる解像度、あるいは、OCR処理で文字認識が可能な解像度であることが好ましい。領収書画像は、財務省令の国税庁告示に定められた要件を満たす画像、具体的には、解像度が200dpi以上、24ビットカラー(RGB各色が、8ビットの256階調)以上であることがより好ましい。
領収書画像格納部101に格納される一の領収書画像は、通常、一枚の領収書の画像だけが含まれるが、複数枚の領収書の画像を含んでも良い。また、一の領収書には、複数の購入対象を購入したことを示す情報が記載されていても良い。購入対象とは、例えば、購入の対象となった商品やサービスを示す情報である。領収書には、例えば、購入対象を示す情報が1以上記載されている。購入対象を示す情報とは、例えば、購入対象となった商品やサービスの識別情報(例えば、商品名やサービス名)や、商品やサービスの内容や分類やカテゴリー等を示す情報である。
領収書画像格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
領収書画像受信部102は、領収書画像を受信する。領収書画像受信部102は、例えば、顧客端末2から送信される領収書画像を受信する。領収書画像受信部102が受信する一の領収書画像は、複数枚の領収書の画像を含むものであっても良い。
また、領収書画像受信部102は、例えば、領収書画像と、顧客を識別する情報である顧客識別情報とを、顧客端末2等から受信してもよい。顧客識別情報は、顧客を識別可能な情報であればどのような情報であってもよく、例えば、顧客名であっても良いし、企業番号等の顧客に割り当てられたコード等であっても良い。また、顧客識別情報は、顧客のメールアドレスや、顧客の電話番号、ファクシミリ番号等であっても良い。
また、領収書画像受信部102は、例えば、受信した領収書画像について後述するレコード生成部105がどのような種類の伝票情報レコードを取得するかを指定する情報を有していても良い。伝票情報レコード等については後述する。
領収書画像受信部102が、どのような手段等を介して送信されてきた領収書画像や、顧客識別情報を受信しても良い。例えば、領収書画像受信部102は、インターネット等を介してHTTPやFTP等のプロトコルで送信された領収書画像や、顧客識別情報を受信しても良い。また、電子メール等に添付された領収書画像や、顧客識別情報を受信しても良い。また、ファクシミリ等で送信された領収書画像や、顧客識別情報を受信しても良い。なお、電子メールやファクシミリ等で送信された領収書画像を受信する場合、受信した領収書画像に添付されている送信元のメールアドレスや、送信元のファクシミリ番号等を、顧客識別情報として取得しても良い。
領収書画像受信部102は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。領収書画像受信部102は、通信デバイスを含むと考えても、含まないと考えても良い。
領収書画像蓄積部103は、領収書画像受信部102が受信した領収書画像を、領収書画像格納部101に蓄積する。また、領収書画像受信部102が、領収書画像と、顧客識別情報とを受信する場合においては、領収書画像蓄積部103は、領収書画像受信部102が受信した領収書画像を、領収書画像受信部102が受信した顧客識別情報と対応付けて領収書画像格納部101や、図示しない記憶媒体等の格納部に蓄積するようにしても良い。また、領収書画像蓄積部103は、受信した領収書画像等に、例えば、画像の識別情報や、領収書の識別情報等を付与して蓄積するようにしてもよい。これらの識別情報は、例えば予め指定されたルール(例えば、昇順の連番を付与するルール等)により生成される識別情報である。
また、領収書画像受信部102が受信した一の領収書画像が、複数の領収書の画像を含む場合、領収書画像蓄積部103は、領収書画像受信部102が受信した複数の領収書の画像を含む領収書画像から、各領収書毎に領収書画像を取得して(例えば、切り出して)、取得した複数の領収書画像を領収書画像格納部101に蓄積するようにしてもよい。なお、複数の書面の画像が含まれる一の画像内において、複数の書面の画像の領域等をそれぞれ検出し、検出した各領域の画像を取得する技術は、スキャナ等の技術として公知の技術であるので、ここでは詳細な説明は省略する。
領収書画像蓄積部103は、通常、MPUやメモリ等から実現され得る。領収書画像蓄積部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
伝票情報格納部104には、1または2以上の伝票情報レコードが格納される。伝票情報レコードは、伝票情報が格納されるレコードである。伝票情報レコードは、伝票情報に含まれる1または2以上の値が格納される1または2以上の項目を有していても良い。伝票情報格納部104に格納される少なくとも1以上の伝票情報レコードに格納される伝票情報は、領収書画像に関する伝票の情報である。領収書画像に関する伝票の情報とは、領収書画像が示す領収書に関する伝票の情報と考えても良い。領収書画像に関する伝票の情報とは、例えば、領収書画像が示す領収書に記載された情報を含む伝票の情報である。
なお、伝票情報格納部104に格納される伝票情報レコードは、伝票情報が格納され得るレコードであれば良く、伝票情報が格納されていても良いし、伝票情報が格納されていなくても良い。また、伝票情報の値の代わりに、値がないことを示す値であるデフォルト値等が格納されていても良い。また、伝票情報レコードは、伝票情報が格納されうる空のレコードや、伝票情報の入れ物と考えても良い。
伝票情報とは、伝票に入力される情報である。伝票とは、企業等の法人等において、金銭の出入や取引内容などを記入する一定の様式を備えた紙片である。伝票は、例えば、取引に関する責任を明らかにし、後日の証拠ともなるものである。伝票には、入金伝票、出金伝票、振替伝票、仕入伝票、売上伝票、会計伝票、受発注伝票、契約伝票、入出庫管理伝票、作業管理伝票、保証書など様々な用途の伝票がある。領収書画像に関する伝票の情報とは、領収書画像が示す領収書に関連した伝票の情報と考えても良い。例えば、領収書を元に作成される伝票であり、例えば、出金伝票等の情報である。
伝票情報格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
レコード生成部105は、領収書画像受信部102が受信した領収書画像に対応する伝票情報が格納される伝票情報レコードを自動生成し、自動生成した伝票情報レコードを伝票情報格納部104に蓄積する。レコードとは、リレーショナルデータベース等のデータベースのレコードであることが好適であるが、データ構造は問わない。レコードが1以上のデータの集合と考えても良い。レコード生成部105は、例えば、伝票情報が格納されていない空の伝票レコードを自動生成しても良い。また、伝票情報のうちの領収書に記載されている情報が入力される項目の値が空である伝票レコードを自動生成しても良い。また、項目の値を空とする代わりに、デフォルト値が格納された伝票レコードを自動生成しても良い。ここでの項目とは、フィールドや属性等とも呼ばれる。伝票情報レコードを自動生成するということは、伝票情報レコードを新規に生成することと考えても良い。
例えば、レコード生成部105は、領収書画像が示す1以上の領収書毎に、伝票情報レコードを生成する。例えば、領収書画像受信部102が受信した一の領収書画像が一の領収書だけを示す場合、この領収書画像に対して一の伝票情報レコードを生成する。
また、領収書画像受信部102が受信した一の領収書画像が複数の領収書を示す場合、レコード生成部105は、領収書画像受信部102が受信した複数の領収書の画像を含む領収書画像から領収書画像蓄積部103が各領収書毎に取得した各領収書画像について伝票情報レコードを生成する。あるいは領収書画像蓄積部103が各領収書毎に検出した各領収書の領域ごとに伝票情報レコードを生成する。
また、例えば、レコード生成部105は、領収書画像が示す1または2以上の購入対象毎に、伝票情報レコードを生成する。例えば、領収書画像受信部102が受信した領収書画像が示す1または2以上の各領収書が、複数の購入対象を示す場合、各領収書の各購入対象毎に、伝票情報レコードを生成する。
具体例を挙げると、レコード生成部105は、領収書画像受信部102が受信した領収書画像に対して画像認識処理を行い、領収書画像に含まれる1以上の購入対象を検出する。そして、検出した各購入対象毎に、伝票情報レコードを自動生成し、伝票情報格納部104に蓄積する。この場合の領収書画像受信部102が受信した領収書画像は、領収書画像受信部102が受信した領収書画像から領収書画像蓄積部103が取得した領収書画像等と考えても良い。ここでの画像処理とは、例えば、OCR(Optical character recognition)処理である。レコード生成部105は、領収書画像に対してOCR処理を行うことにより取得した文字列から、例えば、手がかり句等を用いた検索やパターンマッチング等を行うことで、購入対象を検出する。なお、OCR処理等を行う前に、領収書画像の傾き補正や、輝度補正等を行うようにしても良い。画像の傾き補整や輝度補正等はスキャナ等の技術において公知であるので、ここでは詳細な説明は省略する。
購入対象を検出するということは、例えば、1以上の購入対象を示す情報(例えば、購入対象名等の購入対象識別情報)を検出することでもよい。また、購入対象を検出するということは、1以上の購入対象を特定する情報を検出することでも良い。例えば、レコード生成部105は、領収書画像に対してOCR処理を行うことにより取得した文字列から、金額を示す文字列(例えば円マークで始まる数字列や、円で終わる数字列等)を検出し、この金額を示す文字列を含む各行を、各購入対象として検出してもよい。例えば、金額を示す文字列を含む行が3つ検出された場合、3つの購入対象をそれぞれ検出したと考えても良い。また、この場合、検出した各金額を示す文字列が、各購入対象に対応する金額と考えて良い。あるいは、金額を示す文字列を含む各行と同じ行の、金額を示す文字列の前方等にスペース等を隔てて配置された文字列を、購入対象を示す情報として検出しても良い。そして、ここで検出した各行について伝票情報レコードを生成することで、レコード生成部105は、一の領収書の各購入対象毎に伝票情報レコードを生成することができる。
レコード生成部105が生成する伝票情報レコードの種類は、例えば、上述した領収書画像受信部102が受信した情報等により指定されていてもよい。伝票情報レコードの種類とは、伝票情報レコードに格納される伝票情報の種類と考えても良い。伝票情報レコードの種類は、例えば、売上伝票の伝票情報レコードや、出金伝票の伝票情報レコード等である。なお、レコード生成部105は、一の領収書画像に対して2以上の種類の伝票情報レコードを生成しても良い。
レコード生成部105が伝票情報レコードを生成するタイミング等は問わない。例えば、レコード生成部105は、領収書画像受信部102が領収書画像を受信した場合や、領収書画像蓄積部103が領収書画像を蓄積する前後等に、領収書画像について伝票情報レコードを生成する。
レコード生成部105は、通常、MPUやメモリ等から実現され得る。レコード生成部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
対応付与部106は、領収書画像格納部101に格納された領収書画像と、この領収書画像に関する伝票情報が格納される伝票情報レコードとを対応付ける。領収書画像と伝票情報レコードとを対応付けるということは、例えば、伝票情報レコードのポインタと、対応する領収書画像のポインタとを対応付けて管理する情報を、領収書画像格納部101や伝票情報格納部104に蓄積することである。また、例えば、領収書画像(または領収書画像の識別情報)と、この領収書画像に対応付けられる伝票情報レコードの識別情報と、を一のレコードの情報として有する対応付けを管理するための情報等を、領収書画像格納部101や伝票情報格納部104に蓄積することである。また、領収書画像と伝票情報レコードとを対応付けるということは、例えば、伝票情報レコードに、対応する領収書画像のポインタを付加することや、領収書画像を管理するレコードに、対応する伝票情報レコードのポインタを付加することである。伝票情報レコードの一の項目の値(フィールド値、属性値)等として、対応する領収書画像や、その識別情報を蓄積することであっても良いし、領収書画像を管理するレコードの一の項目の値として、対応する伝票情報レコードの識別情報を蓄積することであってもよい。また、領収書画像蓄積部103が領収書画像を蓄積する際に、蓄積先をこの領収書画像に対応する伝票情報レコード内の予め指定された項目に指示することを、領収書画像と伝票情報レコードとを対応付けることと考えても良い。
対応付与部106は、領収書画像と伝票情報レコードとの対応付けを自動で行うようにしても良い。例えば、対応付与部106は、領収書画像受信部102が受信した領収書画像についてレコード生成部105が生成した伝票情報レコードと、領収書画像格納部101に格納されたこの伝票情報レコードに対応する領収書画像(即ち、上記の領収書画像受信部102が受信した領収書画像)とを対応付けるようにしてもよい。ただし、領収書画像と伝票情報との対応付けは、図示しない受付部等が受け付けた顧客等の指示に応じて、手動で行っても負い。
また、対応付与部106は、例えば、領収書画像蓄積部103が複数の領収書の画像を含む領収書画像から各領収書毎に取得して蓄積する各領収書画像と、この各領収書画像についてレコード生成部105が生成した各伝票情報レコードとを対応付けるようにしてもよい。
また、対応付与部106は、例えば、一の領収書画像について検出した1または2以上の購入対象のそれぞれについてレコード生成部105が生成した各伝票情報レコードと、領収書画像格納部101に格納された上記の一の領収書画像とを対応付けるようにしてもよい。
また、対応付与部106は、例えば、領収書画像蓄積部103が蓄積した複数の領収書の画像を含む領収書画像と、レコード生成部105がこの領収書画像が示す複数の領収書毎に生成した各伝票情報レコードとを対応付けても良い。
また、対応付与部106は、後述する受信部108が受信する顧客端末2や伝票編集端末3等の外部からの指示等に応じて、領収書画像と、この領収書画像についてレコード生成部105が生成した伝票情報レコードとの対応付けを手動で行うようにしてもよい。
対応付与部106は、通常、MPUやメモリ等から実現され得る。対応付与部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
伝票情報取得部107は、領収書画像受信部102が受信した領収書画像に対して画像認識処理を行い、画像認識処理の結果を用いて、この領収書画像についての伝票情報を取得する。そして、取得した伝票情報を、レコード生成部105が生成したこの領収書画像に対応する伝票情報レコードに蓄積する。領収書画像についての伝票情報は、領収書画像が示す領収書についての伝票情報と考えても良い。伝票情報取得部107が行う画像認識処理は、例えば、領収書画像に記載されている文字についてのOCR処理である。また、画像認識処理は、領収書画像の色や形状を取得する処理であっても良い。また、これらの処理の2以上の組合せであっても良い。領収書画像に記載されているバーコードを読み出す処理等であっても良い。
例えば、伝票情報取得部107は、領収書画像に対して画像処理を行うことで得られた情報から、日付や、購入対象、数量、単価、金額、代金受取人名、代金支払者名(宛名)等の伝票情報を構成する1以上の情報を取得する。例えば、伝票情報取得部107は、領収書画像に対してOCR処理を行うことにより取得された文字列のデータ(テキストデータ)から、例えば、手がかり句等を用いて、日付や、購入対象を示す情報、金額、代金受取人名、代金支払者名(宛名)等の伝票情報を構成する1以上の情報を取得する。例えば、OCR処理で得られた文字列から、「日付」という文字列を含む行から、この文字列以降の文字列を日付の情報として取得する。また、OCR処理で得られた文字列から、円マークで始まる数字列や、円という文字で終わる数字列を検出し、検出した数字列を金額(領収した金額)として取得する。また、金額を含む文字列と同じ行の、この金額を含む文字列の前に配置されている文字列を購入対象として取得する。ここでの購入対象を示す情報は、例えば、伝票の「摘要」と呼ばれる項目に入力される情報と考えてもよい。また、伝票情報取得部107は、「但し」という文字列と「として」という文字列の間に含まれる文字列を購入対象を示す情報として取得しても良い。また、「様」という文字列を含む行の、「様」以外の文字列を、代金支払者名(宛名)として取得しても良い。また、代金支払者名以外の、「会社」という文字列を含む行の文字列を、代金受取人名として取得してもよい。
また、領収書の形状や色を認識した結果と、予め図示しない記憶媒体等に格納された形状や色とのマッチング処理を行い、マッチング率が予め指定された閾値以上である場合に、この予め格納されている形状と対応付けられた購入対象の情報を取得するようにしても良い。例えば、予め、バスや電車等の切符の形状や色と、購入対象を示す情報である「バス」や「電車」等の情報とを対応付けて図示しない記憶媒体等に蓄積しておくようにし、例えば、領収書画像の形状や色と、予め「電車」という購入対象を示す情報と対応付けられている形状方や色とが一致するか否かのマッチング処理を行い、マッチング率が予め指定された閾値以上である場合に、この領収書画像に対応する購入対象として「電車」という情報を取得するようにしても良い。なお、形状や色のマッチングを判断する際には、形状や色の特徴量等の比較を行うようにしても良い。なお、画像のマッチング処理等は公知の技術であるのでここでは詳細な説明は省略する。
また、領収書画像が示す領収書に、代金受取人名と対応付けられたバーコードが記載されている場合、領収書画像から、このバーコードを読み出して、このバーコードが示す代金受取人名を取得するようにしても良い。なお、バーコードに対応付けられた情報を読み出す処理等は公知の技術であるので、ここでは詳細な説明は省略する。
また、伝票情報取得部107は、画像認識処理により取得した購入対象を示す情報から、後述する仕訳情報取得部110と同様の処理を行うことで、購入対象に対応する勘定科目を取得し、この勘定科目を、伝票情報の一の項目の情報として、伝票情報レコードに蓄積するようにしても良い。
なお、ここでの伝票情報を取得する処理は、一例であり、伝票情報取得部107は、どのように、伝票情報を構成する情報を取得するようにしても良い。
なお、一の領収書画像に複数の購入対象が含まれる場合、例えば、一の領収書画像から取得する日付や、代金受取人名等の情報を、各購入対象を示す情報および各購入対象に対応する金額等と組合せた伝票情報を、各購入対象毎に取得するようにして、個別に購入対象レコードに蓄積するようにすればよい。
伝票情報取得部107は、上記のようにして取得した伝票情報を、例えば、レコード生成部105が生成した1以上の項目の値が空やデフォルト値である伝票情報レコードに蓄積する。なお、既に情報が格納されている購入対象レコードに伝票情報を蓄積する際には、伝票情報で、購入対象レコードに蓄積されている情報を上書きするようにしてもよいし、置換するようにしてもよい。
なお、伝票情報取得部107は、後述する受信部108が後述する伝票編集端末3等から受信した伝票情報を構成する情報を取得し、伝票情報レコードに蓄積するようにしてもよい。この場合、伝票情報を蓄積する伝票情報レコードを指定する情報等を更に受信し、この情報が指定する伝票情報レコードに伝票情報を蓄積するようにしても良い。
また、既に伝票情報が格納されている伝票情報レコードに対する伝票情報の一部を受信部108が伝票編集端末3等から受信し、伝票情報取得部107は、この伝票情報の一部を取得する。そして、伝票情報取得部107が、この取得した伝票情報の一部を用いて既存の伝票情報レコードの一部を上書き、あるいは置換するようにしても良い。この場合の伝票情報の蓄積は、伝票情報レコードを編集する処理と考えても良い。
また、既に伝票情報が格納されている伝票情報レコードに対する伝票情報の一部を削除する指示等を、受信部108が受信した場合に、伝票情報取得部107は、既存の伝票情報レコードから、受信部108が受信した伝票情報の一部に対応する情報を削除するようにしても良い。この場合の伝票情報の削除は、伝票情報レコードを編集する処理と考えても良い。
伝票情報取得部107は、通常、MPUやメモリ等から実現され得る。伝票情報取得部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
受信部108は、領収書画像蓄積部103に格納された領収書画像と、この領収書画像と対応付けられた伝票情報レコードとの送信を要求する指示を受信する。受信部108は、このような送信を要求する指示を、例えば、後述する伝票編集端末3等から受信する。
また、受信部108は、伝票情報レコードを編集するための情報を受信しても良い。例えば、伝票情報レコードに伝票情報と新規に蓄積するための情報や、伝票情報レコードに蓄積されている伝票情報を更新したり、削除したりすることを指示する情報を受信しても良い。例えば、受信部108は、伝票情報レコードに蓄積するための伝票情報を構成する1または2以上の情報を、後述する伝票編集端末3等から受信する。更に、受信部108は、この伝票情報を構成する情報を、伝票情報レコードに蓄積する指示を受け付けても良い。また、受信部108は、この伝票情報を構成する情報の蓄積先となる伝票情報レコードを指定する情報を受け付けてもよい。受信部108が受信する伝票情報を構成する情報は、伝票情報の一部の情報であっても良い。編集する情報を受け付けた場合、例えば、上述したような伝票情報取得部107等により、指定された伝票情報レコードに、伝票情報を構成する情報が蓄積される。
また、受信部108は、上記と同様に、仕訳情報の送信を要求する情報や、仕訳情報を編集したりするための仕訳情報を構成する1以上の情報を、後述する伝票編集端末3等から受信しても良い。仕訳情報については後述する。なお、仕訳情報の編集は、例えば、この仕訳情報を構成する1以上の情報を用いて、仕訳情報取得部110が、伝票情報取得部107と同様に行うようにすればよい。
なお、受信部108は、領収書画像受信部102が領収書画像の受信を行うためのインターフェース画面の情報(図示せず)等の送信を要求する情報を、後述する顧客端末2等から受信しても良い。
受信部108は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。受信部108は、通信デバイスを含むと考えても、含まないと考えても良い。
仕訳情報格納部109には、領収書画像が示す取引を仕訳した情報である仕訳情報が格納される。領収書画像が示す取引とは、ここでは、領収書画像が示す領収書が示す取引である。あるいは、この領収書に含まれる1または2以上の各購入対象に対応する取引であっても良い。仕訳とは、取引を貸借の勘定科目に分類することである。具体的には、領収書画像が示す取引を、借方要素と、貸方要素とに分類し、各要素に付与する勘定科目と、金額とを決定し、その結果を記録することである。仕訳情報は、領収書画像が示す取引を仕訳することにより得られる情報である。例えば、上述した領収書画像が示す購入対象に対応する借方要素の勘定科目およびその金額と、貸方要素の勘定科目及びその金額とを有する情報である。仕訳情報が有する勘定科目とは、勘定科目を示す情報、例えば勘定科目名や勘定科目を示すコード等である。仕訳情報は、例えば、借方についての勘定科目および金額と、貸方についての勘定科目及び金額との情報を有している。勘定科目は相手科目とも呼ばれる。また、日付(例えば、仕訳情報に対応する伝票情報に含まれる日付)等の情報を有していても良い。仕訳情報は、更に、領収書画像を送信した顧客の、企業内等において属する属性情報(例えば、部や課等の部門名等)を仕訳情報の一の項目のデータとして有していても良い。また、仕訳情報は、勘定科目の内訳となる補助科目等を有していても良い。
仕訳情報格納部109は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
仕訳情報取得部110は、領収書画像受信部102が受信した領収書画像に対して伝票情報取得部107が画像認識処理を行って取得した情報から、この領収書画像が示す領収書が示す購入対象に関する情報を取得する。そして、購入対象に対応する勘定科目の情報を取得し、購入対象に関する情報を用いて勘定科目の情報を有する仕訳情報を取得し、仕訳情報格納部109に蓄積する。伝票情報取得部107が画像認識処理を行って取得した情報とは、例えば、OCR処理の結果により得られたテキスト情報等であっても良いし、上述したような伝票情報であっても良い。購入対象に関する情報とは、例えば、領収書画像が示す購入対象を示す情報や、購入対象に対応する金額(例えば、購入対象の購入に支払われた金額)や、代金支払者名(宛名)や、日付等である。仕訳情報取得部110は、例えば、伝票情報取得部107が画像認識処理を行って取得した情報から購入対象を示す情報を取得する。そして、仕訳情報取得部107は、予め図示しない記憶媒体等に蓄積されている購入対象を示す情報と勘定科目とを対応付けて有する複数の情報から、上記で取得した購入対象を示す情報に対応する勘定科目を検索により取得する。仕訳情報取得部110は、借方についての勘定科目と、貸方についての勘定科目とをそれぞれ取得することが好ましいが、一方のみを取得しても良い。また、領収書について取得される仕訳情報としては、通常、貸方の勘定科目が「現金」となることが多いため、貸方の勘定科目としてデフォルトで「現金」という値を取得するようにしても良い。購入対象を示す情報と勘定科目とを対応付けて有する情報とは、例えば、購入対象を示す情報「ガソリン代」と、勘定科目「旅費交通費」とを有する情報や、購入対象を示す情報「ボールペン」と、勘定科目「消耗品費」とを有する情報である。なお、購入対象を示す情報と勘定科目とを対応付けて有する複数の情報の代わりに、購入対象を示す情報と借方の勘定科目とを対応付けて有する複数の情報と、購入対象を示す情報と貸方の勘定科目とを対応付けて有する複数の情報を予め用意しておくようにして、これらの情報をそれぞれ用いて、画像認識処理の結果から取得した購入対象を示す情報に対応する借方についての勘定科目と、貸方についての勘定科目とをそれぞれ取得するようにしてもよい。また、仕訳情報取得部110は、例えば、伝票情報取得部107が画像認識処理を行って取得した情報に含まれる金額を、借方についての勘定科目に対応する金額と、貸方についての勘定科目に対応する金額としてそれぞれ取得する。そして、仕訳情報取得部110は、取得した借方についての勘定科目およびその金額と、貸方についての勘定科目およびその金額とを有する仕訳情報を、仕訳情報格納部109に蓄積する。また、仕訳情報は、伝票情報取得部107が画像認識処理を行って取得した情報に含まれる日付等の情報を更に有する仕訳情報を蓄積するようにしても良い。
また、例えば、領収書画像受信部102が、上述した顧客識別情報とともに、ユーザの属性情報を受信して、この属性情報を領収書画像と対応付けて領収書画像格納部101や図示しない記憶媒体等に蓄積するようにし、仕訳情報取得部110が、一の伝票情報から仕訳情報を取得する際に、この伝票情報に対応付けられた領収書画像に対応する属性情報を読み出して、この属性情報を有する仕訳情報を仕訳情報格納部109に蓄積するようにしても良い。あるいは、顧客識別情報と属性情報とを対応付けて有する複数の情報を、図示しない記憶媒体等に蓄積しておくようにして、この情報から、一の伝票情報に対応する顧客識別情報に対応する属性情報を検索により取得して、この属性情報を有する仕訳情報を仕訳情報格納部109に蓄積するようにしても良い。
仕訳情報取得部110は、通常、MPUやメモリ等から実現され得る。仕訳情報取得部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部111は、領収書画像格納部101に格納されている1または2以上の領収書画像と、これらの各領収書画像に対応付けられた伝票情報格納部104に格納されている伝票情報レコードとを出力する。領収書画像と伝票情報レコードとの出力は同時でなくてもよい。例えば、受信部108が受け付けた1以上の領収書画像とこの領収書画像に対応する伝票情報レコードとの送信を要求する情報に応じて、この要求する情報の送信元である伝票編集端末3や他の装置等に、要求された領収書画像と、この領収書画像に対応する伝票情報レコードとを送信する。出力部111は、例えば、伝票情報レコードの種類等に応じて予め用意されたテンプレート等に、領収書画像と伝票情報レコードと配置したものを出力しても良い。更に、出力部111が出力する情報は、出力する伝票情報レコードに対する伝票情報の1以上の項目の情報を受け付けるための入力インターフェース画面の情報を含んでいても良い。なお、出力部111は、領収書画像と伝票情報レコードとのいずれか一方だけを出力するようにしても良い。
なお、出力部111は、領収書画像受信部102が領収書画像の受信を行うためのインターフェース画面の情報(図示せず)等を、受信部108が受信したこれらの情報の送信を要求する情報の送信元である顧客端末2等に送信しても良い。
また、出力部111は、上記の領収書画像等と同様に、仕訳情報格納部109に格納されている仕訳情報や、この仕訳情報に対する編集(例えば、情報入力や削除等)指示を受け付けるための入力インターフェース画面等を伝票編集端末3等に出力するようにしても良い。
ここでの出力とは、通常は、外部の装置への送信である。ただし、ディスプレイへの表示、プロジェクターを用いた投影、プリンタによる印刷、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡等でもよい。
出力部111は、通信手段や、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部111は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
顧客端末2は、例えば、コンピュータ等の情報処理端末や、携帯電話や、いわゆるスマートフォンや、タブレット型端末等の、携帯型の情報通信端末等である。顧客端末2は、カメラ等を備えたものや、スキャナ等と接続可能なものであることが好ましい。
撮像部200は、1または2以上の領収書を撮影して領収書画像を取得する。撮像部200や、例えば、カメラやスキャナ等の撮像デバイスを含むと考えても、含まないと考えても良い。撮像部200は、撮像デバイスのドライバーソフト、または撮像デバイスのドライバーソフトと撮像デバイスとで実現され得る。
領収書画像受付部201は、領収書画像を受け付ける。ここでの受付とは、他の処理部等が出力する領収書画像の受け付けや、他の装置等から送信される領収書画像の受信や、記録媒体等に蓄積されている領収書画像の読み出し等である。ここでは、一例として、領収書画像受付部201が、例えば、撮像部200が取得した領収書画像を受け付ける場合について説明する。なお、領収書画像受付部201が、撮像部200の取得した領収書画像を受け付けない場合、撮像部200は省略しても良い。
領収書画像受付部201は、領収書画像の入力を受け付ける入力手段や、領収書画像を受信する受信手段や、領収書画像を記録媒体等から読み出す読出手段等のデバイスを含むと考えても含まないと考えても良い。領収書画像受付部201は、入力手段のデバイスドライバーや、受信手段のデバイスドライバーや、読出手段のデバイスドライバー等で実現され得る。
顧客識別情報受付部202は、顧客識別情報を受け付ける。顧客識別情報は、例えば顧客名や、顧客コード、社員番号、メールアドレス、電話番号等である。顧客識別情報受付部202は、領収書画像を送信する顧客の顧客識別情報を受け付ける。ここでの顧客識別情報の受付は、顧客端末2へのログインの際に入力されたユーザID(ユーザアカウント等)の読出であっても良い。また、顧客識別情報受付部202は、更に、顧客の属性情報を受け付けても良い。なお、この顧客の属性情報は、顧客識別情報の一部を構成していても良く、この場合、顧客識別情報の受付が顧客の属性情報の受け付けも兼用していると考えても良い。顧客識別情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。顧客識別情報受付部202は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
送信部203は、領収書画像受付部201が受け付けた領収書画像を情報処理装置1に送信する。送信部203は、例えば、領収書画像を、顧客識別情報受付部202が受け付けた顧客識別情報、または、顧客識別情報および属性情報と対応付けて情報処理装置1に送信する。
送信部203は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。送信部203は、通信デバイスを含むと考えても、含まないと考えても良い。
なお、顧客端末2は、領収書画像の送信を行うためのインターフェース画面の情報の送信を要求する情報を受け付ける受付部(図示せず)や、情報処理装置1から送信される領収書画像の送信を行うためのインターフェース画面を受信する受信部(図示せず)や、このインターフェース画面を表示する表示部(図示せず)と、領収書画像の送信の指示等を受け付ける送信指示受付部(図示せず)等を備えていても良い。この場合、例えば、この送信を要求する情報の受け付けに応じて、送信部203がインターフェース画面の送信を要求する情報を情報処理装置1に送信する。
伝票編集端末3は、例えば、伝票を作成するユーザ、例えば、税理士や会計士等が利用する端末である。伝票編集端末3は、例えば、コンピュータ等の情報処理端末や、携帯電話や、いわゆるスマートフォンや、タブレット型端末等の、携帯型の情報通信端末等である。
端末受信部301は、情報処理装置1から送信される1または2以上の領収書画像と、これら領収書画像に対応付けられた伝票情報レコードとを受信する。受信する情報は、更に、この伝票情報レコードに対する伝票情報の1以上の項目の情報を受け付けるための入力インターフェース画面の情報を含んでいても良い。
また、端末受信部301は、情報処理装置1から送信される仕訳情報を受信しても良い。
端末受信部301は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。端末受信部301は、通信デバイスを含むと考えても、含まないと考えても良い。
表示部302は、端末受信部301が受信した1または2以上の領収書画像と、これらの領収書画像に対応付けられた伝票情報レコードとをモニタ等のディスプレイデバイス等に表示する。表示部302は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部302は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
入力受付部303は、伝票情報の少なくとも一部を構成する情報の入力を受け付ける。例えば、入力受付部303は、表示部302が表示する伝票情報レコードの少なくとも一部として蓄積される情報の入力を受け付ける。ここで受け付ける情報は、例えば、表示部302が表示する領収書画像に対応する伝票情報の少なくとも一部を構成する情報と考えても良い。
入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部303は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部304は、入力受付部303が受け付けた伝票情報の少なくとも一部を構成する情報を、情報処理装置1に送信する。端末送信部304は、更に、この情報を格納する伝票情報レコードを指定する情報や、この情報を伝票情報レコードに蓄積する指示等を情報処理装置1に送信するようにしても良い。
端末送信部304は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。端末送信部304は、通信デバイスを含むと考えても、含まないと考えても良い。
次に、会計システム1000の情報処理装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)領収書画像受信部102は、領収書画像と、顧客識別情報とを受信したか否かを判断する。領収書画像受信部102は、これらに加えて、更に、顧客の属性情報(例えば、顧客の属する部門名等の情報)を受信してもよい。受信した場合、ステップS102に進み、受信していない場合、ステップS118に進む。
(ステップS102)領収書画像蓄積部103は、ステップS101で受け付けた領収書画像から、領収書毎の1以上の領域を検出する。
(ステップS103)領収書画像蓄積部103は、ステップS102で検出した領収書毎の領域の画像を、それぞれ領収書画像として取得し、ステップS101で受け付けた顧客識別情報や、属性情報と対応付けて領収書画像格納部101に蓄積する。なお、取得した各領収書画像には、予め指定されたルール等に従って生成したファイル名等の識別情報を対応付けて蓄積するようにしても良い。
(ステップS104)レコード生成部105は、カウンターmの値に1を代入する。
(ステップS105)レコード生成部105は、ステップS103で蓄積した領収書画像のうちのm番目の領収書画像を読み出し、この領収書画像に画像認識処理を行う。例えば、OCR処理を行う。
(ステップS106)レコード生成部105は、ステップS105による領収書画像に対する画像認識処理の結果を利用して、領収書画像が示す領収書について1以上の購入対象を検出する。例えば、OCRで取得した文字列から、手がかり句や、文字の配列パターン等を検出することで、1以上の購入対象を示す情報や、各購入対象と特定可能な情報(例えば、購入対象毎に対応した金額等)を検出する。
(ステップS107)レコード生成部105は、カウンターnの値に1を代入する。
(ステップS108)レコード生成部105は、ステップS106で検出した購入対象のうちの一番目の購入対象について、伝票情報レコードを生成する。例えば、領収書から取得した内容を入力するための1以上の項目の値が空欄であるレコードを生成する。そして、生成した伝票情報レコードを、伝票情報格納部104に蓄積する。
(ステップS109)対応付与部106は、m番目の領収書画像と、直前のステップS108で取得した伝票情報レコードとを対応付ける。例えば、伝票情報レコードの一の項目のデータとして、m番目の領収書画像の識別情報(例えばファイル名)を蓄積しても良いし、m番目の領収書画像の識別情報と、直前のステップS108で取得した伝票情報レコードに付与した識別情報と対応付けて有する管理情報を、領収書画像格納部101や、伝票情報格納部104や、図示しない記憶媒体等に蓄積するようにしても良い。
(ステップS110)伝票情報取得部107は、m番目の購入対象について伝票情報を取得する。例えば、ステップS105で実行した画像認識処理の結果からm番目の購入対象を示す情報や、その金額、日付等の伝票情報を構成する予め指定された情報を取得する。なお、どのような情報を、伝票情報を構成する情報として取得するかを指定する情報は、例えば、図示しない記憶媒体等に予め蓄積しておくようにすればよい。また、取得できなかった項目の情報は、空や、デフォルト値等としておくようにすればよい。
(ステップS111)伝票情報取得部107は、ステップS110で取得した伝票情報を、直前のステップS108で取得した伝票情報レコードに蓄積する。
(ステップS112)仕訳情報取得部110は、m番目の購入対象について仕訳を行い、仕訳情報を取得する。例えば、ステップS105で実行した画像認識処理の結果からm番目の購入対象を示す情報を取得し、このm番目の購入対象を示す情報に対応する借方の勘定科目を、購入対象と、借方の勘定科目とを対応付けて有する情報から検索等により取得する。また、貸方の勘定科目として、予め指定されている「現金」という勘定科目を取得する。また、例えば、ステップS105で行った画像認識処理の結果から、m番目の購入対象に対応する金額を、借方および貸方の勘定科目に対応する金額として取得する。このようにして、借方の勘定科目とその金額と、借方の勘定科目とその金額とを有する仕訳情報を取得する。なお、ステップS101で受け付けた属性情報を、仕訳情報の属性情報として取得しても良い。
(ステップS113)仕訳情報取得部110は、ステップS112で取得した仕訳情報を、仕訳情報格納部109に蓄積する。
(ステップS114)レコード生成部105は、カウンターnの値を1インクリメントする。
(ステップS115)レコード生成部105は、ステップS106で検出した購入対象に、n番目の購入対象があるか否かを判断する。ある場合、ステップS108に戻り、ない場合、ステップS116に進む。
(ステップS116)レコード生成部105は、カウンターmの値を1インクリメントする。
(ステップS117)レコード生成部105は、ステップS103で蓄積した領収書画像に、m番目の領収書画像があるか否かを判断する。ある場合、ステップS105に戻り、ない場合、ステップS101に戻る。
(ステップS118)受信部108は、1以上の領収書画像と、この領収書画像に対応する伝票情報レコードとを出力する指示を示す情報を受信したか否かを判断する。また、更に、顧客識別情報を指定する情報を含む情報を受信したか否かを判断するようにしてもよい。受信した場合、ステップS119に進み、受信していない場合、ステップS120に進む。
(ステップS119)出力部111は、ステップS118で受信した指示に応じて、1以上の領収書画像と、この領収書画像に対応する伝票情報レコードとを出力する。また、ステップS118で受信した指示が、顧客識別情報を含む場合、この顧客識別情報に対応付けられた1以上の領収書画像と、この領収書画像に対応する伝票情報レコードとを出力するようにしても良い。ここでの出力は、伝票編集端末3等への送信であっても良いし、他の装置への送信であっても良いし、図示しない記憶媒体(例えば、可搬性を有する記録媒体)等への蓄積であっても良い。そして、ステップS101に戻る。
(ステップS120)受信部108は、仕訳情報を出力する指示を示す情報を受信したか否かを判断する。受信した場合、ステップS121に進み、受信していない場合、ステップS122に進む。
(ステップS121)出力部111は、ステップS120で受信した指示に応じて、仕訳情報格納部109に格納されている仕訳情報を出力する。ここでの出力は、伝票編集端末3等への送信であっても良いし、他の装置への送信であっても良いし、図示しない記憶媒体(例えば、可搬性を有する記録媒体)等への蓄積であっても良い。そして、ステップS101に戻る。
(ステップS122)受信部108は、伝票情報レコードを編集するための情報を受信したか否かを判断する。受信した場合、ステップS122に進み、受信していない場合、ステップS123に進む。
(ステップS123)伝票情報取得部107は、ステップS122で受信した伝票情報レコードを編集するための情報を用いて、伝票情報レコードを編集する。例えば、編集対象となる編集情報レコードを読み出して編集を行い、編集後の伝票情報レコードで伝票情報格納部104に格納されている編集前のレコードを上書きする。そして、ステップS101に戻る。
(ステップS124)受信部108は、仕訳情報を編集するための情報を受信したか否かを判断する。受信した場合、ステップS125に進み、受信していない場合、ステップS101に戻る。
(ステップS125)仕訳情報取得部110は、ステップS124で受信した仕訳情報を編集するための情報を用いて、仕訳情報を編集する。例えば、編集対象となる仕訳情報(例えば、仕訳情報の一のレコード等)を読み出して編集を行い、編集後の仕訳情報で仕訳情報格納部109に格納されている編集前の仕訳情報を上書きする。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、顧客端末2の動作について一例を挙げて、簡単に説明する。例えば、撮像部200が、1以上の領収書を撮影して、領収書画像を取得すると、領収書画像受付部201は、撮像部200が取得した領収書画像を受け付ける。また、顧客識別情報受付部202は、領収書画像を送信する顧客の顧客識別情報を受け付ける。そして、送信部203は、領収書画像受付部201が受け付けた領収書画像と顧客識別情報受付部202が受け付けた顧客識別情報とを情報処理装置1に送信する。なお、顧客識別情報とともに、顧客の属性情報を受け付けるようにしても良い。
以下、伝票編集端末3の動作について一例を挙げて簡単に説明する。例えば、入力受付部303が、情報処理装置1に格納されている領収書画像とこの領収書画像に対応する伝票情報レコードとの送信を要求する指示等を受け付けると、端末送信部304は、この領収書画像と、この領収書画像に対応付けられた伝票情報レコードの送信を要求する情報を情報処理装置1に送信する。端末受信部301は、この要求する情報に応じて情報処理装置1から送信される領収書画像と伝票情報レコードとを受信し、受信した領収書画像と伝票情報レコードとを表示部302がモニタ等に表示する。また、ユーザが、表示された領収書画像をみて、伝票情報レコードを編集するための情報を入力すると、入力受付部303が入力された情報を受け付け、伝票情報レコードを編集するための情報(例えば、編集指示や、編集により格納される情報等)を端末送信部304が情報処理装置1に送信する。
また、入力受付部303が、情報処理装置1に格納されている仕訳情報の送信を要求する指示等を受け付けると、端末送信部304は、この仕訳情報の送信を要求する情報を情報処理装置1に送信する。端末受信部301は、この要求する情報に応じて情報処理装置1から送信される仕訳情報を受信し、受信した仕訳情報を表示部302がモニタ等に表示する。また、ユーザが、表示された仕訳情報をみて、仕訳情報を編集するための情報を入力すると、入力受付部303が入力された情報を受け付け、仕訳情報を編集するための情報(例えば、編集指示や、編集により格納される情報等)を端末送信部304が情報処理装置1に送信する。
以下、本実施の形態における会計システム1000の具体的な動作について説明する。会計システム1000の概念図は図3である。ここでは、情報処理装置1がサーバ装置、顧客端末2がいわゆるスマートフォンと呼ばれる情報通信端末、伝票編集端末3がコンピュータであり、それぞれが、例えば、インターネット等の有線や無線のネットワークで接続されている場合について説明する。図3においては、顧客端末2が1台である場合を示しているが、顧客端末2は複数であっても良い。伝票編集端末3についても同様である。顧客端末2の撮像部200は、ここでは、撮像デバイスとしてデジタルカメラ(図示せず)を有しているものとする。また、ここでは、顧客端末2は、表示デバイスであるモニタ20と、このモニタ20に様々なメニュー画面や、インターフェース画面等を表示するための表示部(図示せず)等を備えているものとする。
まず、顧客端末2の顧客Aが、モニタ20に入力インターフェース等を表示させ、顧客Aの顧客識別情報である「12001」と、顧客Aの属性情報である顧客Aが属する部署名「第一営業部」を入力すると、顧客識別情報受付部202は、入力された顧客識別情報「12001」と、属性情報「第一営業部」とを受け付ける。
次に、顧客Aが顧客端末2のデジタルカメラを用いて、横に並べた二枚の領収書を撮影すると、撮像部200は、デジタルカメラで撮影した二枚の領収書の画像を含む一の領収書画像を取得する。
図4は、撮像部200が取得した領収書画像50を示す図である。
顧客Aが、撮像部200が取得した領収書画像を、情報処理装置1への送信対象となる領収書画像として指定する指示を、図示しない受付部等を介して顧客端末2に与えると、領収書画像受付部201は、撮像部200が取得した図4に示す領収書画像を受け付ける。
顧客Aが、領収書画像受付部201が受け付けた領収書画像を、顧客Aが属する企業の情報処理装置1に送信する指示を、図示しない受付部等を介して顧客端末2に与えると、送信部203は、領収書画像受付部201が受け付けた図4に示す領収書画像と、顧客識別情報受付部202が受け付けた顧客識別情報「12001」および属性情報「第一営業部」とを情報処理装置1に送信する。
領収書画像受信部102は、顧客端末2から送信される図4に示した領収書画像と、顧客識別情報「12001」と、属性情報「第一営業部」とを受信する。
領収書画像蓄積部103は、領収書画像受信部102が受信した領収書画像から、1以上の領収書の領域を検出する。例えば、領収書画像を構成する各画素の輝度の差等から、領収書画像内の背景画像を検出して、背景画像で囲まれた1以上の領域を検出する。
図5は、領収書画像蓄積部103が検出した1以上の領収書の領域を示す図である。図において、点線で示された領域61および領域62が、領収書の領域として検出された二つの領域を示す。
領収書画像蓄積部103は、図5で検出された各領収書の領域の画像を切り出し、切り出した各画像を、領収書画像として、上記で受信した顧客識別情報「12001」および属性情報「第一営業部」と対応付けて、それぞれ領収書画像格納部101に蓄積する。また、領収書画像蓄積部103は、蓄積する各領収書画像に、予め指定されたルールに従ってファイル名を付与する。予め指定されたルールは、例えば、蓄積日の日付と、蓄積する順番を表す2桁の連番とを組合せたファイル名を付与するというルールである。蓄積日の日付は「7月23日」であったとする。この日付は、例えば、図示しない時計等から取得する。例えば、図5の領域61に対応する領収書画像には、「072301」というファイル名が、また、領域62に対応する領収書画像には、「072302」というファイル名が、それぞれ付与され、領収書画像格納部101に蓄積されたとする。また、ここでは、蓄積日も領収書画像と対応付けて蓄積する。
図6は、領収書画像格納部101に格納された領収書画像と、顧客識別情報と、属性情報との対応付けを管理する領収書画像管理情報である。領収書画像管理情報は、例えば、領収書画像格納部101内に格納される。領収書画像管理情報は、「ファイル名」、「顧客ID」、「部門」、「蓄積日」という項目を有している。「ファイル名」は、「領収書画像」のファイル名である。「顧客ID」は、領収書画像受信部102が受信した顧客識別情報である。「部門」は、領収書画像受信部102が受信した属性情報である。ここでは、既に、上記以外の他の領収書画像が領収書画像格納部101に格納され、領収書画像管理情報で管理されているものとする。「蓄積日」は、領収書画像が蓄積された日付を示す。
レコード生成部105は、領収書画像蓄積部103が、領収書画像受信部102が受信した領収書画像から取得して領収書画像格納部101に蓄積した領収書画像のうちの1番目の領収書画像を、領収書画像格納部101から読み出す。ここでの順番はどのような順番であっても良い。ここでは、ファイル名が「072301」である領収書画像(以下、領収書画像「072301」と称す。かかることは、他のファイル名の領収書画像についても同様である。)を読み出す。そして、読み出した領収書画像「072301」に対して、OCR処理を行い、領収書画像「072301」が示す領収書に記載された文字列で構成されるテキストデータを取得する。
図7は、レコード生成部105がOCR処理により取得したテキストデータを示す図である。なお、図において、四角は、スペースを示すものとする。
レコード生成部105は、図7に示したテキストデータについて、購入対象を検出する処理を行う。ここでは、各購入対象に対応付けられた各金額を検出する。まず、円記号「¥」の後に続く数字列を金額として検出する。ここでは、数字列として「160」だけが検出されたため、レコード生成部105は、領収書画像「072301」からは、1つの購入対象だけを検出したと判断する。なお、検出された金額が複数の場合については後述する。
次に、レコード生成部105は、検出した購入対象のうちの1番目の購入対象(上記で検出した金額「160」に対応する購入対象)について、伝票情報レコードを生成する。
図8は、伝票情報格納部104に格納された伝票情報を管理する伝票情報管理情報の一例を示す図である。この伝票情報管理情報の各レコード(行)が、ここでは、伝票情報レコードであるとする。伝票情報管理情報(言い換えれば、各伝票情報レコード)は、「ID」、「ファイル名」、「購入対象」、「金額」、「日付」、「代金受取人名」という項目を有している。「ID」は、伝票情報レコードの識別情報である。「ファイル名」は伝票情報レコードに対応する領収書画像のファイル名である。「購入対象」は、購入対象を示す情報である。「金額」は、購入対象に対応する代金の金額である。「日付」は領収書の日付、「代金受取人名」は、購入対象に対応する代金受取人名である。「作成日」は、レコードが作成された日付を示す。レコード生成部105が上記の一番目の購入対象について作成したレコード(行)は、「ID」が「1501」であるレコードであるとし、作成されたレコードの「ファイル名」と「作成日」以外の各項目の値が空であるとする。「ファイル名」は、伝票情報レコードの生成対象となる領収書画像のファイル名である「072301」であるとする。また、「作成日」は、「2012/7/23(2012年7月23日)」であるとする。
つぎに、伝票情報取得部107は、レコード生成部105が生成した「ID」が「1501」であるレコードに蓄積する伝票情報の取得を行う。まず、伝票情報取得部107は、図7に示したOCR処理により得られたテキストデータにおいて、購入対象が複数検出されたか否かを判断する。ここでは、上述したように1つしか検出されていないため、伝票情報取得部107は、このOCR処理により得られたテキストデータ全体において、購入対象を示す情報を検出する処理を行う。
まず、伝票情報取得部107は、円記号「¥」を検出し、検出した円記号の前に配置されている同じ行の連続した文字列を取得する。連続した文字列とは、スペースや、改行コードや、句読点等で区切られていない文字列であるとする。ここでは「ご利用金額」という文字列を取得する。次に、取得した文字列に、「金額」または「合計」のいずれかと一致する文字列が含まれるか否かを判断する。ここでは「金額」という文字列と一致する文字列が含まれるため、伝票情報取得部107は、この文字列「ご利用金額」が購入対象を示す情報でないと判断する。このため、伝票情報取得部107は、図7に示したOCR処理により得られたテキストデータにおいて、「購入商品」、「品目」、「代」または「料」という文字列を検索する。ここでは、「購入商品」という文字列が検出される。このため、伝票情報取得部107は、検出された文字列と同じ行の、検出された文字列を含む文字列に対して、スペース等を隔てて配置される連続した1以上の文字列を、購入対象を示す情報として取得する。取得する。ここでは、「購入商品」という文字列を含む行から、「乗車券」という文字列を購入対象を示す文字列として取得し、図8に示した伝票情報管理情報の「ID」が「1501」であるレコードの「購入対象」の値として蓄積する。
また、伝票情報取得部107は、円記号の後に配列される数字列「160」を、図7に示したOCR処理により得られたテキストデータから取得して、図8に示した伝票情報管理情報の「ID」が「1501」であるレコードの「金額」の値として蓄積する。
また、図7に示したOCR処理により得られたテキストデータから、数字と、「年」と、数字と、「月」と、数字と、「日」とで構成されている文字列を検出し、検出した文字列に含まれる数字を「/」で繋げた値である「2012/7/20」を、図8に示した伝票情報管理情報の「ID」が「1501」であるレコードの「日付」の値として蓄積する。また、図7に示したOCR処理により得られたテキストデータから、数字と、「年」と、数字と、「月」と、数字と、「日」とが配列されて構成されている文字列を検出し、検出した文字列に含まれる数字を「/」で繋げた値である「2012/7/20」を、図8に示した伝票情報管理情報の「ID」が「1501」であるレコードの「日付」の値として蓄積する。
また、図7に示したOCR処理により得られたテキストデータから、「会社」、「店」、「法人」等の文字列を含む連続した文字列であって、その後端が「様」でない、もしくはその後に「様」という文字が続かない文字列を検出し、検出した文字列である「ABC鉄道株式会社」を、図8に示した伝票情報管理情報の「ID」が「1501」であるレコードの「代金受取人名」の値として蓄積する。
これにより、伝票情報取得部107は、領収書画像「072301」の1番目の購入対象について伝票情報を取得して、対応する伝票情報レコードに、この取得した伝票情報を蓄積したこととなる。
図9は、伝票情報取得部107が伝票情報を蓄積した伝票情報レコードを示す図である。
次に、仕訳情報取得部110は、領収書画像「072301」の1番目の購入対象について、仕訳情報を取得する処理を行う。
図10は、仕訳情報格納部109に格納される仕訳情報を管理する仕訳情報管理情報である。仕訳情報管理情報は、「ファイル名」、「借方勘定科目」、「借方金額」、「借方部門」、「貸方勘定科目」、「貸方金額」、「貸方部門」という項目を有している。「ファイル名」は、仕訳情報の取得対象となる領収書画像のファイル名である。「借方勘定項目」は、借方の勘定科目である。「借方金額」は借方の勘定科目に対応する金額である。「借方部門」は借方の勘定科目に対応する顧客の属性情報(ここでは一例として部署名)である。「貸方勘定項目」は貸方の勘定科目、「貸方金額」は貸方の勘定科目に対応する金額、「貸方部門」は貸方の勘定科目に対応する顧客の属性情報である。ここでは、既に他の仕訳情報のレコードが格納されているものとする。
まず、伝票情報取得部107は、仕訳情報管理情報に、一のレコード(行)を追加する。ここで追加するレコードは、例えば、「ファイル名」以外の各項目の値が空であるレコードである。つまり、領収書画像が示す領収書に記載された情報を入力するための項目が空であるレコードを追加(生成)する。「ファイル名」は、仕訳情報の生成対象となる領収書画像のファイル名である「072301」であるとする。
次に、伝票情報取得部107は、伝票情報取得部107と同様の処理を行って、図7に示した領収書画像「072301」にOCR処理を行うことにより得られたテキストデータから、1番目の購入対象について、購入対象を示す情報である「乗車券」を取得する。
次に、仕訳情報取得部110は、この購入対象を示す情報「乗車券」に対応する借方の勘定科目を取得する。
図11は、購入対象を示す情報と、借方の勘定科目との対応関係を管理する借方勘定科目管理情報である。借方勘定科目管理情報は、「購入対象」と「借方勘定科目」という項目を有している。「購入対象」は、購入対象を示す情報である。「借方勘定科目」は借方の勘定科目を示す。
仕訳情報取得部110は、図11に示した借方勘定科目管理情報から、「購入対象」の値が「乗車券」と一致するレコード(行)を検出し、検出したレコードの「借方勘定科目」の値を、借方の勘定科目の値として取得する。ここでは、「旅費交通費」という値を借方の勘定科目の値として取得する。そして、仕訳情報取得部110は、取得した借方の勘定科目の値「旅費交通費」を、上記で新たに生成した仕訳情報管理情報のレコードの「借方勘定科目」の値として蓄積する。また、上記で新たに生成した仕訳情報管理情報のレコードの「ファイル名」の値として領収書画像「072301」のファイル名「072301」を蓄積する。また、「借方金額」および「貸方金額」の値として、伝票情報取得部107と同様の処理により取得した金額の値である「160」を蓄積する。また、「借方部門」および「貸方部門」として、図5に示した領収書画像管理情報から検索等によりこの領収書画像のファイル名「072301」に対応する属性情報として取得した「第一営業部」を蓄積する。また、「貸方勘定科目」の値としてデフォルトで指定されている「現金」が蓄積される。これにより、図12に示すような仕訳情報のレコードが仕訳情報格納部109に格納されることとなる。
レコード生成部105が領収書画像「072301」について検出した購入対象が1つであるため、この領収書画像「072301」についての伝票情報および仕訳情報を取得する処理を終了する。
次に、レコード生成部105は、領収書画像蓄積部103が、領収書画像受信部102が受信した領収書画像から取得して領収書画像格納部101に蓄積した領収書画像のうちの2番目の領収書画像である領収書画像「072302」を読み出す。そして、読み出した領収書画像「072302」に対して、OCR処理を行い、領収書画像「072302」が示す領収書に記載された文字列で構成されるテキストデータを取得する。
図13は、レコード生成部105がOCR処理により取得したテキストデータを示す図である。なお、図において、四角は、スペースを示すものとする。
レコード生成部105は、図13に示したテキストデータについて、購入対象を検出する処理を行う。ここでは、まず、円記号「¥」の後に続く連続した数字列を検出する。ここでは、数字列として4つの数字列が検出される。このため、レコード生成部105は、円記号の前の連続した文字列を検出し、検出した文字列の中から、「合計」、「小計」、および「計」のいずれも含まない文字列を検出する。ここでは、これらの文字を含まない文字列として、「ボールペン」、「ノート」、「マーカー」の3つの文字列が検出されたとする。このため、レコード生成部105は、領収書画像「072302」からは、3つの購入対象を検出したと判断する。
次に、レコード生成部105は、検出した3つの購入対象のうちの1番目の購入対象について、伝票情報レコードを生成する。ここでは、1番目の購入対象を、仮に「ボールペン」という文字列に対応する購入対象としたとする。なお、どの購入対象をどの順番にするかは問わない。
ここでは、図9に示した伝票情報管理情報に対して、新たに、「ID」が「1502」であるレコードが作成される。作成されたレコードは「ファイル名」と「作成日」以外の各項目の値が空であるとする。「ファイル名」は、伝票情報レコードの生成対象となる領収書画像のファイル名である「072302」であるとする。また、「作成日」は、「2012/7/23」であるとする。
つぎに、伝票情報取得部107は、レコード生成部105が生成した「ID」が「1502」であるレコードに蓄積する伝票情報の取得を行う。まず、伝票情報取得部107は、図13に示したOCR処理により得られたテキストデータにおいて、購入対象が複数検出されたか否かを判断する。ここでは、上述したように複数検出されているため、伝票情報取得部107は、1番目の購入対象についての伝票情報を取得する。
まず、伝票情報取得部107は、上記で検出した「ボールペン」という文字列を1番目の購入対象を示す情報として取得する。そして、この文字列「ボールペン」を、伝票情報管理情報に作成された「ID」が「1502」であるレコードの「購入対象」の値として蓄積する。
次に、伝票情報取得部107は、図13に示したOCR処理により得られたテキストデータから、上記で検出した「ボールペン」と同じ行の文字列から、円記号「¥」を検出し、検出した円記号の後に配置されている同じ行の連続した数字列「100」を取得し、伝票情報管理情報に作成された「ID」が「1502」であるレコードの「金額」の値として蓄積する。
次に、伝票情報取得部107は、領収書画像「072302」についての処理について説明した処理と同様の処理により、図13に示したテキストデータの中から、日付「2012/7/20」と、代金受取人名「EFG文具店」とを取得し、伝票情報管理情報に作成された「ID」が「1502」であるレコードの「日付」、および「代金受取人名」のそれぞれの値として蓄積する。
図14は、このようにして伝票情報レコードが追加された伝票情報管理情報を示す図である。
次に、仕訳情報取得部110は、領収書画像「072302」の1番目の購入対象について、仕訳情報を取得する処理を行う。
まず、伝票情報取得部107は、仕訳情報管理情報に、一のレコード(行)を追加する。ここで追加するレコードは、例えば、「ファイル名」以外の各項目の値が空であるレコードである。「ファイル名」は、仕訳情報の生成対象となる領収書画像のファイル名である「072302」であるとする。
次に、伝票情報取得部107は、伝票情報取得部107と同様に、1番目の購入対象を示す情報である「ボールペン」を取得する。
仕訳情報取得部110は、図11に示した借方勘定科目管理情報から、「購入対象」の値が「ボールペン」と一致するレコード(行)を検出し、検出したレコードの「借方勘定科目」の値である「消耗品」という値を借方の勘定科目の値として取得する。そして、仕訳情報取得部110は、取得した借方の勘定科目の値「消耗品」を、上記で新たに生成した仕訳情報管理情報のレコードの「借方勘定科目」の値として蓄積する。また、上記で新たに生成した仕訳情報管理情報のレコードの「ファイル名」の値として領収書画像「072302」のファイル名「072302」を蓄積する。また、「借方金額」および「貸方金額」の値として、伝票情報取得部107と同様の処理により取得した金額の値である「100」を蓄積する。また、「借方部門」および「貸方部門」として、図5に示した領収書画像管理情報から検索等によりこの領収書画像のファイル名「072302」に対応する属性情報として取得した「第一営業部」を蓄積する。また、「貸方勘定科目」の値としてデフォルトで指定されている「現金」が蓄積される。これにより、図15に示すような仕訳情報のレコードが仕訳情報格納部109に格納されることとなる。
レコード生成部105が領収書画像「072302」について検出した購入対象が3つであるため、2番目の購入対象である「ノート」と、3番目の購入対象である「マーカー」についても、上記と同様の伝票情報と仕訳情報とを取得する処理を行う。この結果として得られた伝票情報管理情報を図16に示す。また、この結果として得られた仕訳情報管理情報を図17に示す。
以上のようにして、領収書画像受信部102が受信した領収書画像から取得された2つの領収書画像についての伝票情報と、仕訳情報とを自動取得する処理が終了する。
ここで、例えば、情報処理装置1に蓄積された伝票情報や仕訳情報等を管理する会計士等が、伝票編集端末3の入力受付部303に、情報処理装置1に「2012年7月23日」に蓄積された領収書画像と、この領収書画像に対応する伝票情報を出力させるための指示を入力し、この指示を、端末送信部304から情報処理装置1に送信させたとする。
情報処理装置1の受信部108が、伝票編集端末3から送信された上記の指示を受信すると、出力部111は、図6に示した領収書画像管理情報から、「蓄積日」が「2012/7/23」であるレコードを検出し、検出したレコードに含まれる「ファイル名」の値である「072301」と、「072302」とを取得し、各ファイル名が示す領収書画像を領収書画像格納部101から読み出す。また、出力部111は、伝票情報格納部104から、「ファイル名」の値が「072301」である伝票情報レコードと、「ファイル名」の値が「072302」である伝票情報レコードとをそれぞれ読み出す。そして、読み出した各伝票情報レコードを、同じファイル名と対応付けられた領収書画像とともに、図示しない記憶媒体等に予め用意されているテンプレート等に配置する。そして、出力部111は、配置して得られた各領収書画像と、各領収書画像に対応する伝票情報レコードとを有する情報を、伝票編集端末3に送信する。
伝票編集端末3の端末受信部301が、情報処理装置1の出力部111が送信する領収書画像と、伝票情報レコードとをテンプレートに配置した情報を受信すると、表示部302は、この受信した情報をモニタ(図示せず)等に表示する。
図18は、領収書画像と伝票情報レコードとの表示例を示す図である。なお、ここでは、領収書画像と伝票情報レコードとを表示する場合について説明したが、領収書画像と伝票情報レコードとのいずれか一方だけを表示するようにしてもよい。また、このような表示は、伝票編集端末3以外の装置等により行うようにしてもよい。また、更に、伝票編集端末3から顧客識別情報を送信して、送信した顧客識別情報に対応した伝票情報等だけを、情報処理装置1に出力(例えば、送信)させるようにしても良い。
ここで、例えば、会計士等が、伝票情報レコードに誤り等を発見し、その誤りを修正するために、モニタに表示されている伝票情報レコードの、誤りを発見した箇所を、キーボード等を用いて編集する操作を行ったとする。例えば、誤りを発見した箇所を、正しい値で上書きしたとする。入力受付部303は、入力された値等を受け付ける。そして、編集した伝票情報レコードで情報処理装置1に格納されている伝票情報を更新する指示等を伝票編集端末3に入力したとすると、端末送信部304は、編集された伝票情報レコードの「ID」の値と、編集により変更された箇所(例えば項目名)と、変更された値とを有する編集指示を、情報処理装置1に送信する。
情報処理装置1の受信部108が、端末送信部304から送信される編集された編集指示を受け付けると、伝票情報取得部107は、この編集指示が示す「ID」が示す伝票情報レコードの、変更された箇所を示す情報が示す箇所(例えば、項目)を、変更された値が示す値で修正、例えば、上書きする。これにより、伝票情報レコードを、伝票編集端末3から編集することが可能となる。なお、伝票情報レコードに空の項目等がある場合に、伝票編集端末3に表示される領収書画像を参考にして、伝票編集端末3からネットワーク等を介してこの空欄の項目に値を入力することも、ここでは編集と考えても良い。
また、例えば、会計士等が、伝票編集端末3の入力受付部303に、日付が「2012年7月20日」である領収書画像に対応する仕訳情報を出力させるための指示を入力し、この指示を、端末送信部304から情報処理装置1に送信させたとする。
情報処理装置1の受信部108が、伝票編集端末3から送信された上記の指示を受信すると、出力部111は、図17に示した仕訳情報管理情報から、「日付」が「2012/7/20」であるレコードを検出し、検出した仕訳情報のレコードを読み出す。そして、読み出した仕訳情報のレコードを、図示しない記憶媒体等に予め用意されているテンプレート等に配置し、伝票編集端末3に送信する。
伝票編集端末3の端末受信部301が、情報処理装置1の出力部111が送信する仕訳情報をテンプレートに配置した情報を受信すると、表示部302は、この受信した情報をモニタ(図示せず)等に表示する。
図19は、仕訳情報の表示例を示す図である。なお、このような仕訳情報の表示は、伝票編集端末3以外の装置等により行うようにしてもよい。また、更に、伝票編集端末3から顧客識別情報を送信して、送信した顧客識別情報に対応した仕訳情報等だけを、情報処理装置1に出力(例えば、送信)させるようにしても良い。
また、上記の伝票情報レコードの場合と同様に、伝票編集端末3が、表示されている仕訳情報について編集する操作等を受け付けるようにし、この編集の操作が示す編集内容を含む編集を指示する情報が情報処理装置1に送信され、この編集内容に沿って、情報処理装置1に格納されている仕訳情報が編集されるようにしても良い。
以上、本実施の形態によれば、領収書の画像を、情報処理装置1に送信することにより、伝票情報のレコードが生成される。これにより、領収書に関連した情報の伝票入力を適切かつ効率的に行うことが可能となり、領収書に関連する情報を適切に管理することができる。例えば、領収書についての伝票情報を、この伝票情報が入力されるレコードに対応付けられた領収書画像を参照して伝票編集端末3から入力(編集)することができる。これにより、例えば、領収書からの伝票情報の入力を、領収書の提出者以外が容易に行うことが可能となり、例えば、領収書からの伝票情報の入力を外部委託することも容易に可能となる。また、領収書画像から画像認識処理により自動取得した伝票情報を、この領収書画像と対応付けられた伝票情報のレコードに蓄積することができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、領収書の画像である領収書画像が格納される領収書画像格納部と、領収書画像に関する伝票の情報である伝票情報が格納されるレコードである伝票情報レコードが格納される伝票情報格納部と、にアクセス可能なコンピュータを、領収書画像を受信する領収書画像受信部と、領収書画像受信部が受信した領収書画像を、領収書画像格納部に蓄積する領収書画像蓄積部と、領収書画像格納部に格納された領収書画像と、領収書画像に関する伝票情報が格納される伝票情報レコードとを対応付ける対応付与部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図20は、上記プログラムを実行して、上記実施の形態による情報処理装置や、顧客端末2や、伝票編集端末3を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図20において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図21は、コンピュータシステム900の内部構成を示す図である。図21において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。