JP7388411B2 - 情報処理システム、通信システム、情報処理方法 - Google Patents

情報処理システム、通信システム、情報処理方法 Download PDF

Info

Publication number
JP7388411B2
JP7388411B2 JP2021123442A JP2021123442A JP7388411B2 JP 7388411 B2 JP7388411 B2 JP 7388411B2 JP 2021123442 A JP2021123442 A JP 2021123442A JP 2021123442 A JP2021123442 A JP 2021123442A JP 7388411 B2 JP7388411 B2 JP 7388411B2
Authority
JP
Japan
Prior art keywords
information
application
area
information processing
unit
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.)
Active
Application number
JP2021123442A
Other languages
English (en)
Other versions
JP2023019008A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2021123442A priority Critical patent/JP7388411B2/ja
Publication of JP2023019008A publication Critical patent/JP2023019008A/ja
Application granted granted Critical
Publication of JP7388411B2 publication Critical patent/JP7388411B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、情報処理システム、通信システム、及び、情報処理方法に関する。
企業や団体など組織の日常業務では、経費精算書、請求書又は注文書などの帳票の処理が発生する場合が多い。組織内の担当者は、帳票から、取り扱い日付、案件番号、又は金額などを抽出したり、集計したりする業務を日々行っている。
このような帳票の電子化に関する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、原稿の読取画像において有彩色で塗りつぶされた領域を含む塗りつぶし領域と有彩色で囲まれた領域を含む囲み領域とを検出し、塗りつぶし領域を第1の処理用の領域とし、囲み領域を第2の処理用の領域として分類する技術が記載されている。
しかしながら、従来の技術では、情報処理システムが処理を開始してからエラーを検出するまでの処理が無駄になるという問題があった。例えば、情報処理システムが複数枚の帳票を処理する場合、ユーザは、一度に複数枚の帳票を機器でスキャンし画像データを情報処理システムに送信する。情報処理システムは、領域ごとに処理するため、指定された領域の数又は帳票の枚数が多いと、処理に時間がかかる。指定された領域の数又は帳票の枚数の数が多い状態でエラーが生じた場合、情報処理システムはエラーが生じるまで各領域を処理してからユーザにエラーを報知する。この場合、途中までの処理結果は無効になる。したがって、エラーが生じるまでの時間をユーザが費やしたにも関わらず、処理結果が得られず、ユーザが再度、同じ帳票を最初からスキャンする必要があった。
本発明は、上記課題に鑑み、処理を開始してからエラーを検出するまでの処理の無駄を低減する情報処理システムを提供することを目的とする。
上記課題に鑑み、本発明は、 原稿を読み取る第一の機器と通信する情報処理システムであって、 前記第一の機器へ送信したアプリ一覧画面に対する操作により選択されたアプリに対応付けられている設定ファイルから、前記原稿が有する領域に関する領域情報取得するアプリ管理部と、前記第一の機器から1ページ以上の原稿の画像データを受信する通信部と、前記原稿の1ページの前記領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、所定の条件を満たす場合、画像処理を実行する画像処理部と、を有する。
処理を開始してからエラーを検出するまでの処理の無駄を低減する情報処理システムを提供することができる。
通信システムが帳票から取得したデータでファイルを作成する処理又は動作を説明する図である。 本実施形態に係る通信システムの一例のシステム構成を示す図である。 情報処理システム及び端末装置の一例のハードウェア構成を示す図である。 画像形成装置の一例のハードウェア構成図である。 機器、端末装置、及び、情報処理システムの一例の機能構成を示す図である。 アプリ処理情報記憶部に記憶されているアプリ処理情報の一例を示す図である。 アプリが行う一連の処理を模式的に示す図である。 帳票における領域のマーキング方法を説明する図である。 領域情報の登録時に機器が表示する領域登録画面の一例を示す図である。 管理者が領域をマーキングした帳票から情報処理システムが領域情報を取得して、設定ファイルを作成する手順を示すシーケンス図の一例である。 画像データからの領域の検出を説明する図の一例である。 管理者が設定ファイルのF~K列へ情報を設定する手順を示すシーケンス図の一例である。 設定ファイルと帳票の対応を説明する図の一例である。 アプリと領域情報の対応付けに関して端末装置が表示する画面の一例である。 管理者がアプリと設定ファイルを対応づける処理を説明するシーケンス図の一例である。 機器が表示する画面の遷移例を示す図である。 外部サービスシステムに保存されたファイルを説明する図の一例である。 情報処理システムが機器から帳票の画像データを含むPDFファイルを受信し、領域からデータを取得するシーケンス図の一例である。 報知部がユーザの端末装置に送信する電子メールの画面例を示す図である。 履歴リスト画面を含む、機器が表示する画面の遷移例を示す図である。 端末装置が表示する外部サービスシステムのファイル一覧画面の一例を示す図である。 機器が表示する出力データ表示画面の一例を示す図である。 複数の帳票と、出力されたファイルを示す図の一例である。 情報処理システムが機器から帳票の画像データを含むPDFファイルを受信し、領域からデータを取得するシーケンス図の一例である(実施例2)。 ユーザが使用する端末装置に表示されるメール画面の一例を示す図である。
以下、本発明を実施するための形態の一例として、通信システムと、通信システムが行う情報処理方法について説明する。
<処理又は動作の概略>
企業や団体などの組織では、経費精算書、請求書又は注文書などの帳票の処理が発生する場合が多い。組織内の担当者は、帳票から日付、案件番号又は金額などを抽出したり、集計したりする業務を日々行っている。処理された帳票はファイリングの後、保管されるが、その保管スペースにもコストがかかる。徐々に帳票の電子化が進められているが、帳票のファイルに自動で付与されたファイル名を担当者がリネームする作業などにも手間がかかる。
請求処理や受発注を自動化するシステムやサービスは存在するが、高価なものが多いため、これらに投資できる中小企業は多くない。このため、やむを得ず人手を介してこの帳票の処理を行っているという現状がある。
本実施形態では、領域がマーキングされた帳票により事前に登録された領域情報に基づいて、情報処理システムが、日々発生する帳票の領域からデータを取得し、電子的なファイルとして出力することができる。
図1を参照して、通信システムが行う処理又は動作の概略を説明する。図1は、通信システム100が帳票から取得したデータでファイルを作成する処理又は動作を説明する図である。図1(a)は帳票における領域情報の設定を、図1(b)は領域情報を使用した帳票からのデータの取得を、それぞれ説明する図である。
(1) 通信システム100は外部サービスシステム40と連携することができる。通信システム100はアプリを介して外部サービスシステム40と連携する。通信システム100で動作するアプリを単に「アプリ」、外部サービスシステム40で動作するアプリを連携先アプリと呼ばれてもよく、この場合、アプリと連携先アプリの互いのアプリIDを対応付け、対応関係を通信システム100は記憶する。
(2) 通信システム100の管理者8は、組織内のユーザが日常的に使う帳票7を使用して、帳票7のどの領域のデータを取得すべきかを指定する。例えば、ユーザは、マーカーペンで帳票7の領域を塗り潰したり、囲んだりすればよい。機器20は領域がマーキングされた帳票7を読み取って生成した画像データを情報処理システム10へ送信する。なお、マーキングされる帳票7には項目に対し文字などが記入されていてもよいし、項目のみでもよいし、白紙でもよい。
(3) 情報処理システム10はマーカーペンで指定される領域の領域情報を設定ファイルに保存する。領域情報は、画像データにおける例えば矩形の領域の対角頂点の座標である。情報処理システム10は設定ファイルを外部サービスシステム40に保存する。
(4)-1 管理者は、端末装置30を外部サービスシステム40に接続させ、設定ファイルをダウンロードし、設定ファイルに帳票の言語や日時のフォーマット等を補完する。
(4)-2 また、管理者は端末装置30を情報処理システム10に接続させ、アプリのアプリIDと設定ファイルを対応づける操作を行う。管理者は任意の数のアプリIDと設定ファイルとを対応付けることができる。これにより、アプリの選択を受け付けるアイコンと画像処理が行われる領域情報が対応づけられる。
(5) 組織内のユーザ6が費用の精算などのために帳票7を組織に提出する場合、この帳票7に対応したアプリのアイコンを機器20(第一の機器の一例)で押下する。ユーザは複数の帳票名などからアプリを簡単に選べるようになっている。ユーザは必要事項を手書きした帳票、又は、プリントアウトした帳票を機器20に読み取らせる。機器20はアプリのアプリIDと帳票を読み取って生成した画像データ(例えばPDFファイル)を情報処理システム10へ送信する。
(6) 情報処理システム10はアプリIDで設定ファイルを特定し、外部サービスシステム40から取得した設定ファイルが有する領域情報の領域を画像データから取得する(例えば切り出す)。したがって、管理者が登録した帳票の領域が取得される。
(7) 情報処理システム10はこの領域にのみOCR(Optical Character Reader)処理を行い、データ化する。すなわち、領域に記載されたデータ(文字などの文字コード)が得られる。
(8) 情報処理システム10はデータを電子的なファイル(例えばCSV(Comma Separated Value)ファイル)に出力して、ファイルと画像データを、外部サービスシステム40に送信する。なお、情報処理システム10が連携先アプリのアプリIDを指定した場合は、連携先アプリを指定してファイルと画像データを送信できる。
(9) 外部サービスシステム40は管理者が指定したフォルダ(又はディレクトリ)に画像データとファイルを登録する。ファイルには精算に必要な情報が含まれているので、担当者は精算処理することができる。
<背景の補足>
上記の(5)~(7)で説明したように、ユーザが帳票を一度に複数枚スキャンさせる場合、ユーザが機器20のADF(Automatic Document Feeder)に複数枚の帳票をセットし、アプリのスタートボタンを押下する。機器20はスキャンを開始し、ADFのセンサがセットされた帳票がないことを検知するまでスキャンし、更に、情報処理システム10がこの全ての帳票にある指定された領域の全てに対しOCR処理を行う。
このような場合、マーカーで指定された領域や帳票の枚数が多いほどOCR処理の回数が多くなり、OCR処理に要する総時間が長くなることで、システムが専有されてしまう。このため、通常、1ジョブ(全帳票のスキャンから領域のOCRまで)においてOCR処理を行う領域の延べ数を一定数以下(例えば300か所)に制限することが行われている。
しかし、例えば、領域指定制限数が300に設定されていたとしても、領域の延べ数が300を超えるまではエラーが検出されない。つまり、機器20が帳票を一度に複数枚スキャンし、情報処理システム10が1枚目の帳票の最初にある指定された領域をOCR処理し、2番目をOCR処理し、以降、順番にOCR処理していく。情報処理システム10は、領域の延べ数が301番目の領域のOCR処理を開始したところで、領域指定制限数の300を超えていることを検出する。このように、領域指定制限数の300を超えたか否かの判断は、300回のOCR処理の終了後となる。また、300回分のOCRの処理結果は破棄される。
ユーザは300回のOCR処理が完了するまで待った後に、OCR処理が未完了となったことがわかるので、スキャン開始から300回のOCR処理までの無駄な時間を費やしたことになる。ユーザは、OCR処理の対象となる領域の延べ数を減らすために帳票の枚数を適当に減らしたうえで、再度、機器20のADFに複数枚の帳票をセットし、スタートボタンを押すことから実施する必要がある。なお、閾値の300回は一例に過ぎず、数十から数千など、閾値は管理者が設定できる。
また、情報処理システム10がOCR処理を有料の外部システムに要求する場合は、300回分の使用料が発生するにもかかわらず、処理結果が得られないという状況が生じる。
<情報処理システムの動作の概略>
そこで、本実施形態の情報処理システム10は、帳票のスキャンの直後に、領域の延べ数と閾値である領域指定制限数と比較する。マーカーペンで指定された領域の延べ数は、「1枚の帳票上で指定された領域の数」と「一度にスキャンする帳票の枚数」の掛け算で算出される。情報処理システム10は、領域の延べ数が領域指定制限数以下の場合に(所定の条件の一例)、OCR処理を開始する。情報処理システム10は、領域の延べ数が領域指定制限数より大きい場合に、すぐにエラーをユーザの端末装置(第二の機器の一例)や機器20に通知し、OCR処理を行わない。
こうすることで、情報処理システム10は、複数の帳票のスキャンが終了した後、早期に(領域指定制限数のOCR処理が終了するよりも早く)、ユーザに領域の延べ数が領域指定制限数を超えたことを通知できる。また、情報処理システム10は無駄になるOCR処理を実行しないので、処理を開始してからエラーを検出するまでの時間を低減できる。また、有料の外部システムに使用料が発生することも抑制できる。
<用語について>
本実施形態では、領域の延べ数が領域指定制限数以下であることを所定の条件とするが、所定の条件は、ページ数のみでもよい。例えば、閾値が100で、ページ数が101枚であれば、所定の条件を満たさないことが明らかである。
管理者とは通信システムの顧客側のシステム管理者等であり、一般ユーザのために通信システムに関する設定を行う者である。ユーザとは、顧客側の一般ユーザである。一般ユーザが管理者の作業を行ってもよいので、両者を区別しなくてもよい。
OCR(Optical Character Recognition/Reader)とは、手書き文字又はプリントアウトされた文字の形を感光素子によって電気信号に変換することによって、コンピュータが利用できるデジタルの文字コードに変換する技術をいう。文字認識処理、文字変換処理、電子化、などと称される場合もある。OCR処理で得られるデータは日本語、英語、数字、記号、図形など様々である。
帳票とは帳簿や伝票などの総称である。ユーザが記入するための空欄を設けた事務用紙ともいう。本実施形態では主に帳票について説明するが、機器20が読み取り可能なら原稿であればその名称は問わない。例えば、文書、書類、書面、レポート、新聞、雑誌なども処理の対象となる。なお、帳票は紙媒体にプリントアウトされない場合もある(機器20が帳票を読み取る必要がない場合がある)。
OCR処理の対象となる画像データの種類はどのようなものでもよいが、PDF、JPEG、PNG、TIFF、BMP、などがある。
本実施形態では「設定ファイル」は領域情報が設定されるファイルであり、「ファイル」はデータが出力されたファイルである。ファイルとは、コンピュータで管理されるデータの基本単位となる、データのまとまりである。
データを出力するとは、ユーザがデータを視覚で確認できるようにすることをいう。本実施形態では、データは例えばファイルに出力される。
<システム構成例>
まず、本実施形態に係る通信システム100のシステム構成について、図2を参照しながら説明する。図2は、本実施形態に係る通信システム100の一例のシステム構成を示す図である。
図2に示す通信システム100は、情報処理システム10と、機器20と、を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。通信システム100は外部システムである外部サービスシステム40と通信する。また、任意の端末装置30がネットワークN1,N2を介して、情報処理システム10と通信できる。
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つのアプリにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
機器20は、ユーザが使用する各種の電子機器である。機器20は、例えば、MFP(Multifunction Peripheral)等の画像処理装置、画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。機器20はネットワークN2に接続されている。ユーザは、機器20を用いて、情報処理システム10又は外部サービスシステム40の少なくとも一方が提供する各種のサービスを利用することができる。
なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。
端末装置30は、例えば、管理者又はユーザが使用するデスクトップPC(パーソナルコンピュータ)、ノート型PC、スマートフォン、タブレット端末等である。この他、端末装置30はWebブラウザが動作可能な装置であればよい。端末装置30はネットワークN2に接続されている。管理者又はユーザは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、連携先アプリ又はアプリの設定を行うことができる。
なお、説明の便宜上機器20と端末装置30を分けて説明するが、機器20及び端末装置30を含めて機器と呼ばれてもよい。
また、以降では、複数の端末装置30について、各々を区別するときは、「端末装置30」、「端末装置30」等と添え字を用いて記載する。
外部サービスシステム40は、ネットワークN1を介して連携先アプリの実行によるサービスを提供する一台以上の情報処理装置である。連携先アプリの実行によりデータの管理又は処理が行われ、データそのものや処理結果がサービスとなる。
外部サービスシステム40の一例には、例えば、クラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。本実施形態ではサービスの一例としてストレージサービスについて説明する。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム40」を外部サービスシステム40A、「外部サービスシステム40」を外部サービスシステム40B等と、記載する。
<ハードウェア構成例>
図3を参照して、本実施形態に係る通信システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
<<情報処理システム及び端末装置>>
図3は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図3に示されているように、情報処理システム10及び端末装置30はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、光学ドライブ514、メディアI/F516を備えている。
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光記憶媒体513に対する各種データの読み出し又は書き込みを制御する。なお、光記憶媒体はCD,DVD、Blu-Ray(登録商標)等である。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
<<機器>>
図4は、機器20の一例である画像形成装置のハードウェア構成図である。図4に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンタ部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906には、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースが接続されてよい。
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940aを備える。
操作パネル940は、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、画像形成装置は、操作パネル940のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。画像形成装置は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
<機能について>
次に、本実施形態に係る通信システム100の機能構成について、図5を参照しながら説明する。図5は、本実施形態に係る機器20、端末装置30、及び、情報処理システム10の一例の機能構成を示す図である。
<<機器>>
まず、機器20は、第二通信部21と、表示制御部22と、操作受付部23と、画像データ生成部24と、ファクシミリ処理部25と、電子メール処理部26とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。例えば、第二通信部21、表示制御部22及び操作受付部23はWebブラウザにより実現され、その他は個別のアプリケーション(ネイティブアプリ)により実現される。
第二通信部21は、情報処理システム10との間で各種の情報を送受信する。本実施形態では、第二通信部21は、アプリ一覧画面の画面情報等を情報処理システム10から受信し、帳票の画像データやアプリID等を情報処理システム10に送信する。
表示制御部22は各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部23は、パネル表示部940aに表示された各種画面におけるユーザの各種操作を受け付ける。
画像データ生成部24は、操作受付部23が選択を受け付けたアプリが画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。画像データ生成部24はスキャン機能である。画像データ生成部24は、画像データをPDFファイルに変換する。画像データ生成部24は、画像データを変換せずに画像データ(JPEG、TIFF、PNGなど)のままでもよい。ファクシミリ処理部25は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられているアプリの実行を情報処理システム10に要求する。なお、ファクシミリ処理部25は、ファクシミリの送信元(FAX番号)に対応したアプリを要求してもよい。
電子メール処理部26は電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられているアプリの実行を情報処理システム10に要求する。なお、電子メール処理部26は、電子メールの送信元(メールアドレス)に対応したアプリを要求してもよい。
<<端末装置>>
端末装置30は、第一通信部31と、表示制御部32と、操作受付部33とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、情報処理システム10と通信するための専用のソフトウェアでもよい。
第一通信部31は、情報処理システム10又は外部サービスシステム40との間で各種の情報を送受信する。本実施形態では各種の画面情報等を情報処理システム10又は外部サービスシステム40から受信し、管理者又はユーザが設定した情報を情報処理システム10又は外部サービスシステム40に送信する。
表示制御部32は各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33は、ディスプレイ506に表示された各種画面におけるユーザの各種操作を受け付ける。
<<情報処理システム>>
情報処理システム10は、アプリデータサービス部11、設定受付部12、認証サービス部14、Webサービス処理部15、入出力サービス部16、アプリ処理情報記憶部17、コンポーネント18、及び、通信部19を有する。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、図5では作図の都合上、1つの情報処理システム10が各機能部を有しているが、各機能部は複数の情報処理装置に分散して配置されてもよい。
通信部19は、端末装置30及び機器20との間で各種の情報を送受信する。設定受付部12は、端末装置30に設定サイトを提供し、設定サイトに対する設定を受け付ける。サイトとは、WebページやWebアプリをいう場合もあるし、端末装置30にWebページやWebアプリを提供するサーバ側のシステムをいう場合もある。設定受付部12は端末画面提供部42を有しており、端末画面提供部42はアプリの実行に必要な情報を管理者に設定させる初期画面、アプリ一覧画面、及び、対応付け画面等を提供する。なお、端末画面提供部42は、端末装置30からのHTTPリクエストに対しHTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により記述された画面情報を生成し、画面情報をHTTPレスポンスとして端末装置30に送信する。
アプリデータサービス部11はアプリデータ管理部41を有している。アプリデータ管理部41は、企業などの顧客により購入されたアプリのアプリデータ43を顧客ごとに管理する。アプリデータ43は、例えば、アプリと上記の領域情報を対応付ける。アプリデータ43はアプリデータ記憶部13に記憶される。なお、通信システム100から見た顧客などの組織をテナントという。
Webサービス処理部15は機器20に対し画面情報を提供したり、機器20からアプリの実行を受け付けたりする。Webサービス処理部15はアプリ実行部46と機器画面提供部47を有している。アプリ実行部46は機器20からのアプリの実行を受け付け、入出力処理部48に対しアプリの実行を要求する。機器画面提供部47は画面情報54を使って、アプリ一覧画面やアプリ画面の画面情報を機器20に提供する。
入出力サービス部16は認証サービス部14、アプリ処理情報記憶部17及びコンポーネント18を使用してデータの入出力を行う。入出力サービス部16は入出力処理部48、及び、アプリ管理部49を有している。入出力処理部48はアプリ実行部46から要求されたアプリを実行する。アプリの実行時、入出力処理部48は、アプリ処理情報53を参照しアプリに含まれる各処理をコンポーネント18に要求する。
アプリ管理部49は、アプリ処理情報記憶部17に記憶されている、アプリのアプリ処理情報53や画面情報54を管理する。アプリ処理情報53にはアプリがどの処理をどの順番で行うか(例えば、OCRの後に外部サービスシステム40に処理要求する等)が設定されている。画面情報54は各アプリのアイコン、アプリ一覧画面、及び各アプリ画面など、機器20が表示する画面の情報である。アプリ処理情報記憶部17にはアプリごとにアプリ処理情報53及び画面情報54が記憶されている。
認証サービス部14はユーザ(管理者を含む)、及び、機器20の認証に関する処理を行う。認証サービス部14はユーザ管理部44とデバイス管理部45を有している。ユーザ管理部44はユーザに関する情報を管理する。ユーザ管理部44は、例えば、ユーザ名やパスワード等の認証情報を保持する。また、認証情報には情報処理システム10のものと外部サービスシステム40のものとがある。デバイス管理部45は、テナントに対応付けられている機器20を管理する。つまり、テナントの識別情報と機器20を対応付けて管理しており、機器20が特定されるとテナントも特定される。
コンポーネント18は各処理を実際に行う個別の機能の総称である。コンポーネント18内の1つのブロックが1つの処理に対応する。コンポーネント18は例えば、認証処理部61、外部サービス処理部62、報知部63、PDF処理部64、領域検出部65、ファイル処理部66、OCR処理部68、及び、画像処理部69を有している。
認証処理部61は認証サービス部14に対して認証に関する処理を依頼するコンポーネント18である。外部サービス処理部62は、外部サービスシステム40に対して処理要求を依頼するコンポーネント18である。つまり、外部サービス処理部62は外部サービスシステム40と連携するための機能である。外部サービス処理部62は外部サービスシステム40の種類ごとに用意される。
PDF処理部64はPDFファイルに関する処理を行うものであり、例えばPDFファイルから画像データを取り出したり、透明テキスト付きのPDFファイルを作成したりする。機器20がPDFファイルの形式で画像データを送信するためである。
領域検出部65は、画像データからマーカーペンなどでマーキングされた矩形領域を検出し、矩形領域の座標(領域情報)を作成する。ファイル処理部66は、領域情報を含む設定ファイルを作成し、また、OCR処理結果(帳票の領域から取得されたデータ)を含むファイルを出力する。
画像処理部69は領域情報に基づいて、画像データから領域を特定する。画像処理部69は特定した領域を取得する(例えば切り出してよい)。OCR処理部68は、領域のみ及び画像データの全体にOCR処理を行う。なお、コンポーネント18は、図示する以外に、翻訳等のコンポーネントを有していてよい。
報知部63は、領域の延べ数が領域指定制限数より大きい場合、機器20又はユーザにアプリを実行できない旨(エラー)を報知する。
Figure 0007388411000001
表1は、アプリ処理情報記憶部17が保持するアプリ処理情報の一例を示す。アプリ処理情報記憶部17はテナントごとに購入されている(ライセンスがある)アプリのリストを記憶する。表1に示す情報はアプリ処理情報記憶部が記憶するリストに含まれるアプリうち、本実施形態で説明する受信した画像データの一部に画像処理を行うアプリの一覧で、アプリID、アプリ名、画面情報、アプリ処理情報、共有アプリ、及び、外部サービスシステム40の各項目を有している。アプリIDはアプリを識別する識別情報である。アプリ名は管理者が付与したアプリの名称である。また、アプリのアイコンや設定画面を機器20が表示する際に使用される画面情報54(HTML等で記述された)がアプリに対応付けられる。アプリには一連の処理の内容と順番(処理フロー)が定義されるので、各アプリにはアプリ処理情報53が対応付けられる。後述するように、複製されたアプリはフロー情報が同じになる。共有アプリとは、一般のアプリがユーザごとに利用権限が与えられるのに対し、共有アプリはテナントのユーザが共通に使えるアプリであることを示す。表1では経費精算書アプリが共有アプリである。各ユーザが共通に利用するためである。外部サービスシステム40の項目は各アプリが連携する外部サービスシステム40である。外部サービスシステム40と連携しないアプリも存在する。
アプリ管理部49は、管理者又はユーザがログインすると、機器IDが情報処理システム10に送信される。情報処理システム10はテナントを特定できる。情報処理システム10は、このテナントの管理者又はユーザに利用権限が認められているアプリの一覧をアプリ処理情報記憶部17から取得して機器20に提供する。また、アプリ管理部49は、アプリの一覧からアプリが指定されると、アプリに対応付けられている画面情報とアプリ処理情報を特定する。
Figure 0007388411000002
表2はユーザ管理部44が管理するユーザに関する情報の一例を示す。表2(a)はユーザに関する情報として、情報処理システム10におけるユーザID、ユーザ名、メールアドレス、パスワード、利用できるアプリ、及び、外部サービスシステム情報の各項目を有している。このユーザには管理者も含まれる。ユーザID、ユーザ名又はメールアドレスの少なくとも1つとパスワードは、ユーザが情報処理システム10にログインするための認証情報である。利用できるアプリはこのユーザに利用権限が与えられているアプリである。利用権限は、利用人数などを指定してライセンスを購入したアプリを管理者が各ユーザに割り当てることで与えられる。利用できるアプリには個人アプリと共有アプリがある。個人アプリも共有アプリも複数のユーザに使用されるが、個人アプリは個人のユーザの外部サービスの認証情報を使用し、共有アプリは複数のユーザが外部サービスに対し管理者の認証情報を使用する。表2(a)では、app004が共有アプリである。その他は個人アプリである。個人アプリの場合、ユーザごとに外部サービスシステムの認証情報の登録が必要である。外部サービスシステム情報はユーザが連携設定済みの外部サービスシステム40である。
なお、連携設定済みとは、ユーザが外部サービスシステム40との連携を希望し、外部サービスシステム40の認証情報でログインできることが確認できたことをいう。ユーザは設定サイトから外部サービスシステム40の認証情報を入力し、ログインできた場合に、表2(a)の外部サービスシステム情報に外部サービスシステムの識別情報が設定される。また、表2(b)に外部サービスシステム40の認証情報が登録される。
表2(b)は、各ユーザの外部サービスシステムに関する情報であり、ユーザID、外部サービスシステム40、ユーザID、及び、パスワードの各項目を有している。表2(b)にはユーザが連携設定した外部サービスシステム40の認証情報が登録される。外部サービスシステム40の認証情報はユーザが外部サービスシステム40にログインするための認証情報である。U002のユーザのように、外部サービスシステム40ごとに認証情報が異なっている場合もある。このため、通信システム100のユーザごとに、外部サービスシステム40の認証情報が関連付けられている。情報処理システム10は、機器20から取得した情報処理システム10のユーザID、パスワード等の認証情報に応じて、連携先の外部サービスシステム40の認証情報を特定する。
また、認証情報は外部サービスシステム40の認証情報、又は、外部サービスシステム40と連携するために必要な認証情報であればよく、ユーザIDやパスワード以外に、外部サービスシステム40との連携設定時に外部サービスシステム40から取得したトークン等でも良い。
表2(c)は、共有アプリ用の認証情報である。共有アプリの識別情報に外部サービスシステム40と認証情報が対応づけられている。共有アプリの認証情報は管理者のものが使用されるので、管理者の識別情報が登録される。
Figure 0007388411000003
表3は、アプリデータ記憶部13に記憶されているアプリデータ43の一例を示す。アプリデータ43は、アプリと設定ファイル(領域情報)を対応づける。対応付けは管理者が行う。
・applicationIdは、連携元のアプリIDである。
・applicationNameは、アプリのアプリ名である。
・fileIdは、情報処理システム10が作成した設定ファイルの識別情報である。
・fileNameは、情報処理システム10が作成した設定ファイルのファイル名である。設定ファイルは外部サービスシステム40に保存されるが、そのフォルダと共にファイル名が設定される。
・アップロード先フォルダは、設定ファイルが保存される外部サービスシステム40とそのフォルダパスである。例えばURLでもよい。
Figure 0007388411000004
表4は、外部サービスシステム40に記憶されている設定ファイル9の一例を示す。設定ファイル9は、OCR処理の対象となる領域情報を有するファイルである。設定ファイルは表形式(例えばCSV形式)になっており、各セルの位置が列番号と行番号で指定される。以下、A列~L列の項目について説明する。なお、設定ファイルの1行目にある項目名は、設定ファイルの作成時に情報処理システム10により設定される。
・IDは、領域情報の識別情報である。自動的に採番され、管理者やユーザが意識する必要はない。
・始点X座標、始点Y座標、終点X座標、終点Y座標は、領域情報である。領域情報は領域の位置情報である。4つの座標は、マーキングされた帳票の矩形領域の対角頂点を表す。1点の座標と幅と高さが指定されてもよい。座標の単位は例えばcm、ピクセルなどでよい。
以上の情報が、情報処理システム10が自動的に設定する情報となる。以下の情報は、管理者が入力する。
・フォーマットは、領域のデータ形式である。例えば、日付(YYYY/MM/DD)、数値(NUMERIC)などがある。データのフォーマットがわかるので、OCR処理部68がより高精度にOCR処理することができる。フォーマットはプルダウンメニューになっている。このように領域ごとにデータの種類が設定される。
・CSV列名は、領域に付与された名称である。帳票の場合は、矩形枠のタイトルなどが入力されるが、管理者が任意の値を入力できる。CSV列名はデータと共にファイルに出力される。
・CSV位置(列)は、領域から抽出されたデータを情報処理システム10がファイルのどの列に書き込むかを指定する。
・CSV位置(開始行)は、領域から抽出されたデータを情報処理システム10がファイルのどの行に書き込むかを指定する。行番号は帳票の読み取りのたびに大きくなるため、ファイルに1つもデータが記載されていない場合の「開始行」が設定される。例えば、最初の帳票から取得されたデータは2行目に設定されるが、2枚目の帳票から取得されたデータは3行目に設定される。これに対し列位置は固定でよい。
・OCR言語は、領域がどの言語で記述されているかが設定される。言語がわかるので、OCR処理部68がより高精度にOCR処理することができる。OCR言語はプルダウンメニューになっている。このように領域ごとにデータの種類が設定される。
・ファイル名に使う順序は、本実施形態では領域から取得されたデータが出力されるファイルのファイル名に使用される。ファイル名に使う順序は、情報処理システム10が出力するファイルのファイル名に使用されるデータの順番である。例えば、「書類名」が1番、「申請日」が2番の場合、ファイル名は各領域から取得されたデータ(経費精算書、20201010)により、「経費精算書_20201010.csv」となる。
<アプリ処理情報>
次に、図6を用いて、アプリ処理情報の詳細について説明する。図6は、アプリ処理情報記憶部17に記憶されているアプリ処理情報53の一例を示す図である。
図6に示すアプリ処理情報53は、機器20でスキャンして生成された画像データを「外部サービスシステムB」に処理要求するサービスを実現するための一連の処理に関する情報である。
アプリ処理情報53には、当該アプリ処理情報53の識別情報を示すフローID1201Aと、当該アプリ処理情報53の名称を示すフロー名1202Aと、一連の処理の処理内容を示すフロー詳細1203Aとが含まれる。フロー名1202Aはアプリの名称を兼ねている。
また、フロー詳細1203Aには、「外部サービスシステムB」に処理要求することを示す処理内容1223Aが含まれる。
処理内容1223Aでは、「外部サービスシステムB」と連携した処理を実行するコンポーネント18のコンポーネントID「ExService_B」、及び、パラメータ「file download」が指定されている。「ExService_B」は外部サービスシステムBのための外部サービス処理部62に相当する。「AppId」には連携先アプリIDが格納され(アプリと連携先アプリの対応は予め決まっている)、「Folder」にはファイルの保存先のフォルダ(アップロード先フォルダ)が格納される(管理者が設定したアップロード先フォルダが設定される)。これにより、情報処理システム10はスキャンされた画像データを「外部サービスシステムB」に保存することができる。
図6では、説明を簡単にするため、1つのコンポーネントのみ指定されているが、アプリ処理情報53には、アプリが行う一連の処理内容1223Aが処理(コンポーネント)の数だけ登録されている。
図7は、アプリが行う一連の処理を模式的に示す図である。図7(a)は設定ファイルの作成を行うアプリ(例えば、OCR領域指定アプリ)の一連の処理を示す。1つのブロックが処理内容1223Aに対応する。各処理の詳細は図10にて説明する。
図7(b)は帳票の領域からデータを出力するアプリ(例えば、経費精算書アプリ)の一連の処理を示す。1つのブロックが処理内容1223Aに対応する。各処理の詳細は図18にて説明するが、ここで概略を説明する。
S201:アプリ実行部46が全ての帳票のスキャンデータを取得する。
S202:外部サービス処理部62が表3のアプリデータに基づいて設定ファイルを取得する。
S203:アプリ実行部46は、設定ファイルから領域数A(例えば、表4ではA=3)を取得する。
S204:画像処理部69がスキャンデータを補正する。
S205:アプリ実行部46は、スキャンデータのページ数Bを取得する。
S206:アプリ実行部46は、A×Bで領域の延べ数を算出する。
S207:延べ数が領域指定制限数以下の場合、OCR処理部68が各領域にOCR処理を行う。
S208:延べ数が領域指定制限数より大きい場合、報知部63がエラーをユーザ又は機器20に報知する。この場合、アプリ実行部46は、処理を終了する。
S209:ファイル処理部66がOCRの処理結果をCSVファイルに出力する。
S210:外部サービス処理部62がCSVファイルを外部サービスシステム40に送信する。
S211:報知部63が成功通知をユーザに送信する。
このように、延べ数が領域指定制限数より大きい場合、OCR処理が行われず、報知部63がエラーをユーザ又は機器20に報知するので、処理を開始してからエラーを検出するまでの処理の無駄を低減できる。
<領域の指定、領域の取得、設定ファイルの作成>
次に、図8~図11を参照して、管理者による領域の指定、領域の取得、及び、設定ファイルの作成について説明する。
図8は、帳票における領域のマーキング方法を説明する図である。図8(a)では、白黒以外の(彩度がある)マーカーペンで色が付けられた色付着部601が形成されている。色付着部601の色は、予め決められた情報に相当する。すなわち、マーカーペンで塗られた色は予め定められている。
領域検出部65は白黒以外の画素を検出し、白黒以外の画素(色付着部601)の外接矩形を検出する。白黒以外のマーカーペンが使用されるのは、領域検出部65が領域を容易に検出できるようにするためであり、黒のマーカーペンが使用されてもよい。この場合、領域検出部65は、一定以上の高さと面積を有する黒画素の外接矩形を検出する。
また、図8(b)では白黒以外のマーカーペンで領域を囲む枠線602が形成されている。領域検出部65は白黒以外の画素を検出し、白黒以外の画素(枠線602)の外接矩形を検出する。
なお、領域のマーキング方法は図8に示す方法には限られない。例えば、二重線で領域が指定されてもよいし、所定の記号(%、$、#、△等)で囲まれた範囲で領域が指定されてもよい。
上記の予め決められた情報は、マーカーペンで塗られた色の情報以外に、OCR領域を示すものであれば、マーカーではない黒ペンなどによる丸や四角等の図形の情報等でも良い。この場合、ユーザは黒ペンで丸や四角を描きOCR領域を囲む。また、OCR領域は、マーカーペンの色で囲われた領域以外に、マーカーペンで塗りつぶされた領域等でもよい。
図9は、領域情報の登録時に機器20が表示する領域登録画面610の一例である。管理者は機器20から情報処理システム10にログインしてOCR領域指定アプリを選択する。領域登録画面610は、「OCRしたい領域を枠線で囲った原稿をセットして「スタート」を押してください」というメッセージ611、読み取り設定欄612、及び、スタートボタン613を有している。ユーザは原稿(帳票)をコンタクトガラスにセットして、スタートボタン613を押下する。ユーザは、必要に応じて読み取り設定欄612で読み取り条件(カラー/白黒、片面/両面、向き、解像度等)を設定してもよい。なお、カラー/白黒に関してはユーザが誤って白黒に設定しないように、カラーに固定されているとよい。
なお、図9の領域登録画面610から管理者が設定ファイルのファイル名を指定できるとよい。これは、外部サービスシステム40から設定ファイルを探しやすくするためである。また、設定ファイルの保存先のフォルダをユーザが設定できるとよい。
図10は、管理者が領域をマーキングした帳票から情報処理システム10が領域情報を取得して、設定ファイルを作成する手順を示すシーケンス図の一例である。
S1:管理者は機器20を操作して情報処理システム10にログインし、初期画面に表示されるアプリ一覧からOCR領域指定アプリを選択する。これにより、機器20の表示制御部22は領域登録画面610を表示する。管理者は領域をマーキングした帳票をコンタクトガラスに設置してスタートボタン613を押下する。画像データ生成部24は帳票の画像データを生成し、PDFファイルに変換する。
S2:機器20の第二通信部21は、OCR領域指定アプリの実行要求と共にPDFファイルを情報処理システム10に送信する。
S3:情報処理システム10の通信部19はPDFファイルを受信する。アプリ実行部46はOCR領域指定アプリのアプリIDを指定して実行を入出力処理部48に要求する。入出力処理部48はOCR領域指定アプリのアプリIDに対応づけられているアプリ処理情報53を参照して、アプリを実行する。まず、入出力処理部48はPDFファイルを指定してPDF処理部64に画像データの抽出を要求する。PDF処理部64はPDFファイルから帳票の画像データを抽出する。
S4:次に、入出力処理部48は画像データと共に、領域の取得を領域検出部65に要求する。領域検出部65は、画像データの色情報に基づいて画像データから領域を取得する。
図11は画像データからの領域の検出を説明する図である。図11(a)に示すように、マーカーペンで指定された色付着部601のRGB値は、白黒でない値を有している。黒のRGBは(0,0,0)、白のRGBは(255,255,255)なので、領域検出部65は例えば、(1,1,1)~(254,254,254)のRGBを有する色付着部601を検出する。なお、マーカーペンの色が決まっている場合は、開発者はRGBの範囲を色に応じて狭めることができ、より精度よく色付着部601を検出できる。例えば、帳票がカラーの場合でも、帳票にはない色のマーカーペンが使用されると、カラーの帳票から領域検出部65が色付着部601を検出できる。
図11(b)は検出された色付着部601を示す。領域検出部65は検出した色付着部601の外接矩形620を設定する。そして、領域検出部65は、外接矩形620の上下左右にマージンを設定し、マージンを含む領域621を決定する。図11(b)では、左右にa〔mm〕、上下にb〔mm〕が設定されている。マージンを設定するのは、機器20が帳票を読み取る場合に位置ずれなどを起こすためである。図11(b)の左上コーナー622の座標が領域情報の始点X座標と始点Y座標であり、右下コーナー623の座標が領域情報の終点X座標と終点Y座標(領域情報)である。
また、図11(c)に示すように、領域検出部65はRGBに基づいて検出された色付着部601の外側の枠線625を検出してもよい。領域検出部65は、色付着部601(外接矩形620)の垂直方向外側に向けて黒画素を探索し、黒画素が見つかった場合は黒画素をたどり、元の位置に戻った場合に、外側の枠線625を検出したと判断する。こうすることで、データが記入される最大の領域を検出でき、機器20が帳票を読み取る場合に位置ずれなどを起こしても画像処理部69がデータを特定しやすくなる。
なお、マーカーペンで特定される領域に対し領域検出部65がどのくらいマージンを設けるか等を、管理者が設定しておくことができる。
S5:次に、入出力処理部48は、マーカーペンで領域が指定された画像データを指定して外部サービス処理部62に外部サービスシステム40へのアップロードを要求する。
S6:外部サービス処理部62は、管理者の外部サービスシステム40における認証情報をユーザ管理部44から取得する。これにより、外部サービス処理部62は外部サービスシステム40にログインし、管理者のトップフォルダ(又は、管理者が指定したフォルダ)に画像データを保存する。領域登録画面610で管理者が設定ファイルのファイル名を指定した場合、外部サービス処理部62は同じファイル名を画像データのファイルに付与する。ファイル名が設定されていない場合、現在の日時などがファイル名となる。
S7:次に、入出力処理部48は、領域検出部65が検出した領域情報を指定し、ファイル処理部66に設定ファイルの作成を要求する。ファイル処理部66はIDを採番し、領域情報をCSVファイルの決まった列に配置して、設定ファイルを生成する。この時点では表4のA~E列に情報が入った状態となる。
S8:次に、入出力処理部48は、設定ファイルを指定して外部サービス処理部62に外部サービスシステム40へのアップロードを要求する。
S9:外部サービス処理部62は、外部サービスシステム40にログイン済みなので、管理者のトップフォルダ(又は、管理者が指定したフォルダ)に設定ファイルを保存する。領域登録画面610で管理者が設定ファイルのファイル名を指定した場合、外部サービス処理部62はこのファイル名を設定ファイルのファイルに付与する。ファイル名が設定されていない場合、現在の日時などがファイル名となる。画像データと設定ファイルのファイル名が同じなので、管理者は設定ファイルがどの画像データにより生成されたのかを容易に判断できる。
<設定ファイルへのその他の情報の登録>
図12、図13を参照して、設定ファイルへのF~K列への設定について説明する。図12は、管理者が設定ファイルのF~K列へ情報を設定する手順を示すシーケンス図の一例である。
S11:外部サービスシステム40に設定ファイルを登録した後、管理者は端末装置30を操作して端末装置30を外部サービスシステム40に接続させる。管理者は自分の認証情報を入力して、外部サービスシステム40にログインする。
S12:外部サービスシステム40はストレージサービスなので、管理者が登録したファイルの一覧を端末装置30に送信する。例えばトップフォルダにあるファイルの一覧が送信される。トップフォルダにない場合は、管理者が階層を指定する。ファイルの一覧の中に、管理者が機器20から登録した設定ファイルと画像データのファイルも含まれる。
S13:管理者は設定ファイルの内容を確認したり、F~K列への情報を設定したりするため、設定ファイルを選択する。端末装置30の操作受付部33は選択を受け付け、第一通信部31が設定ファイルのファイルIDを指定して設定ファイルを外部サービスシステム40に要求する。
S14:外部サービスシステム40の通信部19は設定ファイルの要求を受信し、設定ファイルを端末装置30に送信する。
S15:管理者は設定ファイルの内容を確認し、F~K列への情報を設定する。端末装置30の操作受付部33は設定を受け付ける。
S16:管理者が例えば、設定ファイルをアップロードする操作を行うと、第一通信部31はA~K列へ情報が設定された設定ファイルを情報処理システム10に送信する。
以上のようにして、外部サービスシステム40には設定ファイルが登録される。
図13は、設定ファイルと帳票の対応を説明する図である。表4にて説明したように、管理者は、フォーマット、CSV列名、CSV位置(列)、CSV位置(行)、OCR言語、及び、ファイル名に使う順序、を設定する。なお、管理者は、必ずしも全ての列を設定しなくてもよい。
図13の例では、ID=1の領域情報から取得されたデータはCSV列名の「書類名」と対応することが設定されている。「書類名」はファイル名の一番目に使用される。ID=2の領域情報から取得されたデータはCSV列名の「申請日」と対応することが設定されている。また、申請日のCSV位置が3列2行と設定されているので、ID=2の領域情報から取得されたデータはファイルの3列2行目に書き出される。更に「申請日」はファイル名の二番目に使用される。ID=3の領域情報から取得されたデータはCSV列名の「金額」と対応することが設定されている。また、金額のCSV位置が4列2行と設定されているので、ID=3の領域情報から取得されたデータはファイルの4列2行目に書き出される。
<アプリと領域情報の対応付け>
次に、図14、図15を参照して、アプリと領域情報の対応付けについて説明する。図14は、アプリと領域情報の対応付けに関して端末装置30が表示する画面の一例である。管理者は端末装置30を操作して、端末装置30を情報処理システム10と通信させる。
まず、図14(a)は管理者が情報処理システム10にログインすると表示される初期画面630である。管理者に認められている操作メニューが表示される。設定ファイルにアプリを対応づけるため、管理者がアプリ一覧を表示させるアイコン631を選択する。
表2に示したように、ユーザ管理部44ではユーザごとに利用できるアプリと外部サービスシステム情報が登録されているので、情報処理システム10は外部サービスシステム40ごとに管理者が利用できるアプリの一覧を端末装置30に提供できる。
図14(b)はアプリ一覧画面632の一例を示す。アプリ一覧画面632には管理者が利用できるアプリの一覧が表示される。管理者はアプリ一覧画面632から、外部サービスシステム40に登録した設定ファイルと対応付けるためのアプリ633(例えば、経費精算書アプリ)を選択する。操作受付部33がアプリ633の選択を受け付けることで、図14(c)に示す対応付け画面640が表示される。対応付け画面640は、外部サービスシステム選択欄641、アップロード先フォルダ欄642、及び、設定ファイル欄643を有している。
・外部サービスシステム選択欄641は、領域から取得されたデータを書き出すファイルの保存先の外部サービスシステム40を管理者が設定するための欄である。したがって、管理者はアプリに予め対応付けられている外部サービスシステム40を変更したり、新規に設定したりできる。
・アップロード先フォルダ欄642は、外部サービスシステム40において、領域から取得されたデータを書き出すファイルの保存先のフォルダを管理者が設定するための欄である。管理者がフォルダ選択ボタン642aを押下すると、外部サービスシステム40における管理者の認証情報で情報処理システム10が外部サービスシステム40にログインする。外部サービスシステム40においての管理者がアクセスできるトップフォルダが端末装置30に表示される。管理者は任意のフォルダを選択できる。
・設定ファイル欄643は、アプリと対応付ける設定ファイルを管理者が選択するための欄である。管理者が「ファイルを選択ボタン」644を押下すると、外部サービスシステム40における管理者の認証情報で情報処理システム10が外部サービスシステム40にログインする。外部サービスシステム40においての管理者がアクセスできるトップフォルダが端末装置30に表示される。トップフォルダ(又は管理者が設定したフォルダ)には、情報処理システム10が登録し、管理者が更新した設定ファイルが含まれる。トップフォルダに設定ファイルがない場合、管理者はトップフォルダの下位のフォルダから設定ファイルを探すことができる。
図15は、図14の画面を介して管理者がアプリと設定ファイルを対応づける処理を説明するシーケンス図の一例である。図15の処理は図14(a)の画面が表示された状態からスタートする。
S21:管理者は情報処理システム10にログインして、初期画面630からアプリ一覧を表示する操作を端末装置30に入力する。端末装置30の操作受付部33は操作を受け付け、第一通信部31がアプリ一覧を情報処理システム10に要求する。
S22:情報処理システム10の通信部19がアプリ一覧の要求を受信し、端末画面提供部42が管理者のユーザIDに対応づけられているアプリをユーザ管理部44から取得する。端末画面提供部42は、外部サービスシステム40ごとに管理者が利用できるアプリを含むアプリ一覧画面の画面情報を作成する。通信部19はアプリ一覧画面の画面情報を端末装置30に送信する。
S23:管理者が、設定ファイルを対応付けるアプリを選択する。端末装置30の操作受付部33が選択を受け付ける。この後、上記のように端末装置30は対応付け画面640を表示する。
S24:管理者は、対応付け画面640でファイルを選択ボタン644、を押下する。操作受付部33が押下を受け付け、対応付け画面640で設定されている外部サービスシステム40に保存されているファイル一覧の要求を第一通信部31が情報処理システム10に送信する。
S25:情報処理システム10の通信部19はファイル一覧の要求を受信し、アプリ実行部46が入出力処理部48に外部サービスシステム40を指定してファイル一覧を要求する。入出力処理部48は外部サービスシステム40に対応した外部サービス処理部62にファイル一覧を要求する。外部サービス処理部62は管理者の外部サービスシステム40(アプリに対応づけられているか、又は、対応付け画面でユーザが設定した)における認証情報をユーザ管理部44から取得し、外部サービスシステム40にファイル一覧の要求を送信する。
S26:外部サービスシステム40は管理者の認証情報に基づいて、管理者のログインを許可し、管理者に対応づけられているファイルの一覧を取得する。ファイルの一覧が端末装置30に送信される。なお、図15では、設定ファイルが保存された外部サービスシステム40と、領域から取得されたデータのファイルが保存される外部サービスシステム40が同じという前提だが両者は異なってもよい。この場合、管理者は設定ファイルを選択後、対応付け画面640で外部サービスシステム40を変更する。
S27:端末装置30の表示制御部32はファイルの一覧を表示する。管理者はアプリと対応づけられる設定ファイルを選択する。端末装置30の操作受付部33は選択を受け付ける。
S28:端末装置30の第一通信部31は設定ファイルの識別情報、アプリの識別情報、外部サービスシステム40、及び、アップロード先フォルダを指定して、設定ファイルとアプリの対応付け要求を情報処理システム10に送信する。
S29:情報処理システム10の通信部19は設定ファイルとアプリの対応付け要求を受信し、アプリデータ管理部41がアプリデータ43に設定ファイルとアプリを対応付けて登録する。すなわち、アプリデータ管理部41は、applicationId、applicationName、fileId、fileName、及びアップロード先フォルダを対応づけて登録する。なお、外部サービスシステム40はアプリ処理情報53に登録される。
以上により、アプリと設定ファイルが対応づけられた。以降、一般ユーザが機器20からアイコンを押下するだけで帳票の領域のデータをファイルに出力できる。
なお、図15では、対応付け画面640で管理者がアプリと領域情報を対応づける方法を説明したが、領域情報の登録時にアプリと領域情報の対応付けを行ってもよい。
この場合、例えば図9の領域登録画面610にアプリ名を入力するための欄が表示される。管理者は設定ファイルと対応づけたいアプリのアプリ名を入力する。情報処理システム10は設定ファイルを作成後、入力されたアプリ名のアプリと設定ファイルを対応づけることができる。つまり、管理者がアプリ名を設定して帳票を読み取らせれば、設定ファイルが生成され、連携元ファイルと設定ファイルとが対応づけられる。
<アプリと設定ファイルの対応付けを利用した帳票からのデータの取得>
アプリと設定ファイルの対応付けが完了した後は、ユーザが帳票を機器20に読み取らせることで、情報処理システム10が帳票からデータを取得できる。
図16、図17を参照して、帳票からのデータの取得について説明する。図16は、機器20が表示する画面の遷移例を示す図である。
(1) 図16(a)に示すように、ユーザはアプリ一覧画面を機器20に表示させる。例えば、経費を精算したい場合、ユーザは経費精算書アプリのアイコンを選択する。どの帳票がどのアプリに対応しているかはユーザが把握しているが、アプリのアイコン690に表示されるアプリ名と帳票(原稿)の名称が一致しているとよい。このアプリ名はアイコン名や設定名と呼ばれてもよい。すなわち、アイコン690には帳票の名称が含まれるとよい。更に、アイコン690には、帳票のサムネイルが含まれるとよい。ユーザが帳票に対応していないアイコンを選択することを抑制しやすくなる。あるいは、ユーザがアイコン690を押下すると帳票のサムネイルが表示されてもよい。ユーザはサムネイルを拡大表示したり部分表示したりしてアイコン690を確認できる。
また、アイコン690にはリンクが埋め込まれていてもよい。リンクは、例えばアプリIDを含むURLか、又は、情報処理システム側でアプリIDと対応付けられているURLを有する。アイコン690の押下で、機器20はURLに接続することで、アプリIDを情報処理システムに通知する。
またアイコン690が対応していない帳票をユーザが選択した場合、機器20がユーザに警告するとよい。例えば、機器20は読み取った帳票の画像データと、アイコン690に対応づけられている画像データを比較し、両者が異なる場合に、処理を継続するかどうかのメッセージなどを表示することでユーザに問い合わせる。画像データの比較は情報処理システム10が行ってもよい。なお、比較の方法としては、例えば、アイコン690に対応づけられている画像データで読み取った帳票の画像データを機器20又は情報処理システム10がパターンマッチングする方法がある。また、帳票にバーコードなどでアプリIDが印刷されている場合、このアプリIDとアイコン690に対応づけられているアプリIDを機器20又は情報処理システム10が比較する方法がある。
また、ユーザが選択するものがアイコンで、機器20が情報処理システム10に送信するのがアプリIDや設定番号等の文字列であってもよい。つまり選択される物自体はアプリID(識別情報)ではなくてもよい。
(2) 経費精算書を機器20がスキャンする場合、ユーザは経費精算書を用意する(図16(b))。経費精算書はユーザが手書きで用意してもよいし、機器20がプリントアウトしてもよい。ユーザ自身がプリントアウトしたものではなくてもよい(公的に発行される書類や、他社から送られてくる書類等)。
(3) ユーザが選択したアプリが画面情報54に基づいて図16(c)の画面を表示する。図16(c)の画面は図9と同じである。ユーザはプリントアウトされた経費精算書をコンタクトガラスにセットし、スタートボタン613を押下することで機器20に読み取らせる。
帳票の画像データが情報処理システム10に送信され、次述するような処理によりファイルが出力される。
図17は外部サービスシステム40に保存されたファイルを説明する図である。図17(a)は外部サービスシステム40のアップロード先フォルダの一例を示す。すなわち、管理者が図14で設定したアップロード先フォルダに情報処理システム10が出力したファイルが保存される。図17(a)の「My Drive>経費精算書置き場」のファイル階層は一例であり、管理者はアクセス権があるフォルダを指定できる。
図17(b)はアップロード先フォルダに保存される2つのファイルを示す。1回の読み取り操作で2つのファイルが生成される。
A.帳票の領域から取得されたデータが保存されるCSVファイル681が生成される。
B.帳票の画像データを含むPDFファイル682が生成される。
同じアプリが作成するCSVファイルは、1回の読み取り操作のたびに別々になる。ファイル名には申請日が含まれるので、ファイルが上書きされることはない。一方、同じアプリで取得されたデータは、読み取り操作のタイミングが異なっても、同一のCSVファイルに追加したい場合がある。この方法については後述する。こうすることで、庶務などの担当者は1つのCSVファイルにアクセスするだけで各社員のデータに対し精算等を行える。
<<機器が帳票をスキャンしない場合>>
図16の説明では、経費精算書を機器20がスキャンしていたが、情報処理システム10は帳票の画像データを端末装置30等から受信し、画像データの領域からデータを取得できる。この場合は、以下のようにして帳票の画像データを端末装置30が情報処理システム10に送信する。
・ ユーザが端末装置30で動作するワープロで経費精算書を表示させ、必要事項を入力する。したがって、必要事項は文字コードになっている。ユーザが端末装置30を情報処理システム10に接続して、ログインして、アプリ一覧を表示させる。端末装置30の画面は図16(a)の画面と同様になるので、ユーザが所望のアプリを選択する。情報処理システム10の機器画面提供部47は経費精算書を受付可能な画面情報を端末装置30に送信する。ユーザがこの画面で経費精算書の画像データが含まれるPDFファイル等を選択すると、端末装置30がPDFファイルを情報処理システム10に送信できる。
したがって、ユーザは帳票をプリントアウトしなくても情報処理システム10が帳票からデータを取得できる。この場合、後述する図18の処理における機器20の処理は端末装置30によって行われる。
<動作手順>
図18は、情報処理システム10が機器20から帳票の画像データを含むPDFファイルを受信し、領域からデータを取得するシーケンス図の一例である。
S41:帳票をプリントアウトしたユーザは機器20を操作して情報処理システム10における自分の認証情報を入力する。機器20の操作受付部23は認証情報の入力を受け付け、第二通信部21が認証情報を情報処理システム10に送信する。これにより、ユーザは情報処理システム10にログインする。ログインにより機器20の表示制御部22は、ユーザに利用権限が認められているアプリの一覧を表示する(図16(a))。ユーザは例えばプリントアウトした帳票の名称と一致するアプリ名のアプリを選択する。操作受付部23は選択を受け付ける。
S42:機器20の第二通信部21はアプリIDを指定してアプリ画面取得要求を情報処理システム10に送信する。
S43:情報処理システム10の通信部19はアプリ画面取得要求を受信し、機器画面提供部47がアプリ管理部49からアプリIDで特定されるアプリの画面情報54を取得する。アプリのアプリ画面の画面情報が機器20に送信される。これにより、機器20の表示制御部22はアプリ画面を表示する(図16(c))。
S44:ユーザはプリントアウトされた帳票をコンタクトガラスにセットし、スタートボタン613を押下する。
S45:機器20の操作受付部23は押下を受け付け、画像データ生成部24が全ての帳票の画像データを生成し、1帳票を1ページとする画像データをPDFファイルに変換する。
S46:機器20の第二通信部21はアプリのアプリIDとPDFファイル(スキャンデータ)を指定して、アプリの実行を情報処理システム10に要求する。
S47:情報処理システム10の通信部19はアプリの実行要求を受信し、アプリ実行部46がアプリの実行を開始する。アプリ実行部46はアプリIDを指定して入出力サービス部16にアプリの実行を要求する。入出力サービス部16はアプリ管理部49を介してアプリ処理情報53を取得する。これにより、アプリの処理フローが得られた。また、入出力処理部48はアプリデータ記憶部13からアプリIDに対応づけられたアプリデータ43を取得する。これにより、入出力処理部48は、アプリに対応づけられている設定ファイルを特定できる。
入出力処理部48はアプリデータ43とアプリ処理情報53に基づいて、設定ファイルの取得を外部サービス処理部62に要求する。
S48:外部サービス処理部62はアプリデータ43に登録されているfileNameの項目のファイルパス又はURLに接続し、設定ファイルを外部サービスシステム40から取得する。なお、外部サービス処理部62は、実行要求されたアプリが共有アプリでない場合はユーザの外部サービスシステム40における認証情報で外部サービスシステム40にログインする。実行要求されたアプリが共有アプリである場合、外部サービス処理部62は、管理者の外部サービスシステム40における認証情報で外部サービスシステム40にログインする。
S49:次に、入出力処理部48はアプリ処理情報53に基づいて、設定ファイルから領域情報を取得することをファイル処理部66に要求する。ファイル処理部66は設定ファイルの予め決まった行と列から全ての領域情報を取得し、入出力処理部48に返す。したがって、この領域情報の数が1ページの領域数Aである。
S50:次に、入出力処理部48は、画像データを含むPDFファイルの画像補正を画像処理部に要求する。この画像補正は、OCRのための傾き補正や天地補正等である。スキャンデータがカラーでスキャンされた場合、画像処理部は白黒への二値化処理を行う。一般に、OCRが前提のスキャンはモノクロで行われている。スキャンデータの補正はページ単位で実行されるので、入出力処理部48は、ページ数Bを得ることができる。なお、ページ数はステップS46~S51までの間にカウントされればよい。
S51:次に、アプリ実行部46は、設定ファイルに登録されている領域数とPDFファイルのページ数を乗じて、OCR処理される領域の延べ数が領域指定制限数より大きいか否かを判断する。OCR処理される領域の延べ数が領域指定制限数以下の場合、ステップS52~S54が実行される。
ステップS52~S54は領域の数だけ繰り返し実行される。
S52:次に、入出力処理部48はアプリ処理情報53に基づいて、画像データと領域情報を指定して、画像データからの領域の取得(切り取り)を画像処理部69に要求する。画像処理部69は画像データから領域情報で指定される領域を特定して取得し、領域の画像を入出力処理部48に返す。なお、画像処理部69は画像データから領域を取得(切り取り)しなくてもよい。この場合、OCR処理部68が領域情報で特定される画像データの領域にOCR処理を行えばよい。
S53:入出力処理部48はアプリ処理情報53に基づいて、領域の画像を指定して、領域のOCR処理をOCR処理部68に要求する。この時、入出力処理部48は設定ファイルから取得したフォーマットとOCR言語を領域に対応づけて指定するとよい。OCR処理部68はフォーマットとOCR言語に対応した認識エンジンで領域にOCR処理を行う。OCR処理部68はOCR処理結果(文字コードに変換されたテキストデータのファイルパス)を入出力処理部48に返す。
S54:入出力処理部48は、OCR処理結果を指定して、文字コードに変換されたOCR処理後のテキストデータをOCR処理部68から取得する。OCR処理部68は文字コードに変換された1領域分のテキストデータを入出力処理部48に返す。
なお、認識エンジンは、例えば文字の画像と文字コードがセットになった学習データを用いて両者の対応を学習し、画像からOCR処理結果(文字コード)を出力する識別機である。学習データが、日本語のみ、英語のみ、数値のみ、日付のみ、のように単純なほど、識別機の識別精度が向上する。一方、学習データに日本語、英語、数値及び日付の複数が混在すると、種々のデータの認識が可能になるが、識別精度が低下する傾向になる。したがって、OCR処理部68は、フォーマットとOCR言語に対応した認識エンジンを使用することで認識精度を向上できる。
ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり、コンピュータが,データ識別等の判断に必要なアルゴリズムを,事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、更に、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。また、認識エンジンは機械学習の学習効果によって生成されたものでなくてもよい。
S55:全ての領域のOCR処理が完了すると、次に、入出力処理部48はアプリ処理情報53に基づいて、領域から取得されたデータ、CSV列名、CSV位置、及び、ファイル名(設定ファイルから取得)を指定して、ファイル処理部66にデータを有するファイルの出力を要求する。ファイル処理部66は、CSV列名を列の先頭に書き込み、データをCSV位置で指定されるCSVファイルのセルに書き込み、OCR処理結果(CSVファイル)を入出力処理部48に返す。CSVファイルには指定されたファイル名が付与されている。なお、出力先のファイルの形式はCSVファイルに限らず、表形式のファイルであればよいし、テキストファイルでもよいし、その他のアプリケーションのファイルでもよい。
S56:次に、入出力処理部48はアプリ処理情報53に基づいて、OCR処理結果(CSVファイル)のアップロードを外部サービス処理部62に要求する。アップロード先フォルダはアプリデータ43に設定されている。
S57:外部サービス処理部62は外部サービスシステム40のアップロード先フォルダにCSVファイルを保存する。
S58:入出力処理部48は、報知部63にジョブの成功通知を電子メールで送信するよう要求する。報知部63は、ログインしているユーザのメールアドレスを特定し、このメールアドレスに成功通知を送信する。
S59:一方、OCR処理される領域の延べ数が領域指定制限数より大きい場合、ステップS59が実行される。まず、OCR処理は中止される。入出力処理部48は、報知部63にエラーは発生した旨を電子メールで送信するよう要求する。報知部63は、ログインしているユーザのメールアドレスを特定し、このメールアドレスにエラーが発生した旨を送信する。報知部63は、画像処理部がOCR領域に画像処理を開始する前にエラーを報知する。
なお、この後、PDF処理部64はOCR処理部68に要求して、PDFファイルにOCR処理を行い、OCR処理で生成された文字コードがPDFファイルに透明テキストとして設定されたPDFファイルを作成する。入出力処理部48はCSVファイルと同様に、テキスト付きPDFファイルのアップロードを外部サービス処理部62に登録する。
以上により、外部サービスシステム40のアップロード先フォルダに、CSVファイルと、CSVファイルとは別のPDFファイルが登録された。
図19は、報知部63がユーザの端末装置30に送信する電子メールの画面例を示す。電子メールなので、この画面は、件名201、送信元アドレス202、宛先アドレス203、及び、本文204を有している。件名201には、「データ集計に失敗しました」というメッセージが表示されるので、ユーザが何らかの対応が必要であることを把握できる。なお、このメッセージは領域の延べ数が領域指定制限数を超えたことを意味している。
また、本文204にはエラーコード205、ジョブID206、及び、実行日時207が表示されるので、ユーザはどのジョブがエラーになったかを把握できる。また、本文204には「領域数の上限を超えました。300領域以内になるようページを減らして再度実行してください。」というメッセージ208が表示される。ユーザは、次にどうすべきかを理解できる。
ユーザは帳票のスキャンを開始すると機器20を離れる場合が多いが、端末装置30があれば電子メールを読めるので、エラーに早期に気づくことができる。
また、図20に示すように、入出力処理部48が、機器20にエラーが発生した旨を送信してもよい。図20は、機器20が表示する画面の遷移例を示す。図20(a)は図16(c)と同じ画面である。図20(a)の画面は実行履歴ボタン213を有している。ユーザが実行履歴ボタン213を押下すると、図20(b)の履歴リスト画面210が表示される。履歴リスト画面210は、ジョブの実行履歴を表示する画面である。実行履歴には状態211という項目があり、状態211の項目にエラーが発生した旨が表示される。ユーザが詳細ボタン212を押下すると、図20(c)のエラー詳細画面220が表示される。
エラー詳細画面220は、開始日時221、終了日時222、状態223、エラーメッセージ224、及び、ジョブコード225を表示する。ユーザは開始日時等から自分のジョブがエラーになったことを把握できる。また、エラーメッセージ224に「領域数の上限を超えました。300領域以内になるようページを減らして再度実行してください。」が表示されるので、ユーザは、次に再スキャンすべきことを理解できる。
機器20がエラーメッセージを表示することで、ユーザは機器20を離れても機器20に戻った場合には、エラーに気づくことができる。また、機器20でなくユーザが使用する端末装置に通知してもよい。
<外部サービスシステムに登録されたCSVファイルとPDFファイルの表示>
企業の担当者が社員の経費などを計算する場合、端末装置30を操作して外部サービスシステム40に接続させる。担当者にはアップロード先フォルダが通知されているので、端末装置30でCSVファイルとPDFファイルを取得できる。
図21は、端末装置30が表示する外部サービスシステム40のファイル一覧画面670の一例である。図21(a)に示すように、アップロード先フォルダにPDFファイル671とCSVファイル672が保存されている。図21(b)は端末装置30が表示させたCSVファイル672の内容を示す。すなわち、図21(b)は帳票から出力されたデータである。図21(b)では2つの領域から取得されたデータが保存されている。各列には設定ファイルに設定されているCSV列名も設定されており、ユーザは各列が何のデータかを判断できる。
また、図22に示すように、機器20も処理結果を表示することが好ましい。図22は機器20が表示する出力データ表示画面691の一例である。出力データ表示画面691は、実行されたアプリ名692、及び、アプリが出力したファイルのリスト693を表示する。これらは情報処理システム10から機器20に送信される。CSVファイルにはCSVファイルの内容が含まれており、ユーザがCSVファイルを押下することで、帳票の領域から取得されCSVファイルに保存されたデータ694を機器20が表示することができる。
ファイル名やデータを確認したユーザは帳票が正しく処理されたかどうかを判断できる。
なお、図18では処理の対象となる画像データをPDFファイルとしたが、画像データは、JPEG、PNG、TIFF、BMP等、どのような形式の画像データでもよい。
<複数の帳票が読み取られた場合>
図23を参照して複数の帳票が一度の読み取り操作で読み取られた場合を説明する。図23は、複数の帳票と、出力されたファイルを示す図である。図23(a)に示すように、アプリの実行時に複数の帳票が1回の読み取り操作で読み取られた。1回の読み取り操作とは、スタートボタン613が1回だけ押下された場合をいう。機器20は複数の帳票を順番に読み取り、情報処理システム10は各帳票の画像データの同じ領域から複数のデータを取得する。
図23(b)は複数の帳票が一度の読み取り操作で読み取られた場合のCSVファイルを示す図である。1行目が1枚目の帳票から取得されたデータであり、2行目が2枚目の帳票から取得されたデータである。このように、複数の帳票の複数のデータが1つのCSVファイルにまとめられるので、担当者は集計やグラフ化がしやすくなる。
なお、複数の帳票が一度の読み取り操作で読み取られた場合、ファイル処理部66は設定ファイルのCSV位置(開始行)を1つずつインクリメントする。つまり、ファイル処理部66は、帳票ごとに下の行にデータを書き込めばよい。
複数の帳票が一度の読み取り操作で読み取られた場合、情報処理システム10が帳票の数だけのCSVファイルを出力することも可能である。
また、複数の帳票が複数回の読み取り操作で読み取られた場合(異なるタイミングで読み取られた場合)、情報処理システム10が1つの同じCSVファイルにデータを出力することも可能である。外部サービスシステム40がマージする場合と、情報処理システム10がマージする場合がある。
・外部サービスシステム40がマージする場合、外部サービス処理部62はCSVファイルのマージを外部サービスシステム40に要求する。アプリが同じならCSVファイルのファイル名に同じ文字列(例えば経費精算書)が含まれるので、外部サービス処理部62はファイル名を指定してCSVファイルのマージを要求できる。外部サービスシステム40はすでに保存済みのCSVファイルの同じ列番号に、マージが要求されたCSVファイルの同じ列番号のデータを追加する。
・情報処理システム10がマージする場合、外部サービス処理部62はファイル名を指定してCSVファイルを外部サービスシステム40からダウンロードする。外部サービス処理部62は取得したCSVファイルの同じ列番号に、新たに作成したCSVファイルの同じ列番号のデータを追加する。外部サービス処理部62はマージしたCSVファイルを外部サービスシステム40にアップロードする。
このように、情報処理システム10は受信した複数の画像データから同一の領域を取得し、OCR処理部68は、複数の画像データで同一の領域にOCR処理を行い、ファイル処理部66は、複数の画像データで同一の領域から生成された複数のデータを1つのファイルに出力することができる。
<主な効果>
以上説明したように、本実施形態の情報処理システム10は、複数の帳票のスキャンが終了した後、早期に(領域指定制限数のOCR処理が終了するよりも早く)、ユーザに延べ数が領域指定制限数を超えたことを通知できる。また、情報処理システム10は無駄になるOCR処理を実行しないので、処理を開始してからエラーを検出するまでの時間の無駄を低減できる。また、有料の外部システムに使用料が発生することも抑制できる。
実施例1では、領域の延べ数が領域指定制限数より多い場合、OCR処理を終了したが、実施例2では、領域指定制限数以下の領域にOCR処理を行う情報処理システム10について説明する。
本実施例においては、上記の実施例にて説明した図3,図4のハードウェア構成図、及び、図5に示した機能ブロック図を援用できるものとして説明する。
<動作手順>
図24は、情報処理システム10が機器20から帳票の画像データを含むPDFファイルを受信し、領域からデータを取得するシーケンス図の一例である。なお、図24の説明では主に図18との相違を説明する。
ステップS51において、アプリ実行部46は、領域の延べ数を算出し、延べ数が領域指定制限数より大きい場合、処理可能ページ数を算出する。
領域指定制限数÷設定ファイルに登録されている領域数=処理可能ページ数+余り
ステップS52~S54で、領域ごとにOCR処理が行われた後、ステップS54-2では、アプリ実行部46が処理可能ページ数分の領域のOCR処理が終了したか否かを判断する。ページ番号がOCR処理部68から帰ってくるわけではないので、アプリ実行部46は、処理可能ページ数が含む領域数まで処理が終わったか否かを判断する。
処理可能ページ数が含む領域数=設定ファイルに登録されている領域数×処理可能ページ数
アプリ実行部46は、処理可能ページ数が含む領域数まで処理が終わった場合、OCR処理を終了する。
以降は、ステップS55~S57のファイル出力等が実行される。
また、ステップS58は、領域の延べ数が領域指定制限数以下の場合は、報知部63が成功通知をユーザに送信する。
領域の延べ数が領域指定制限数より大きい場合、報知部63がエラーをユーザに報知するが、ユーザには処理可能ページ数まで処理した旨又はどのページから処理すればよいかの少なくも一方が通知される。したがって、ユーザはどのページから再度、スキャンすればよいか分かる。
図25は、ユーザが使用する端末装置30に表示されるメール画面の一例である。図25の説明では、主に図19との相違を説明する。図25のメール画面は、「11ページまではデータ集計できたので、次回は、12ページからスキャンして下さい。」というメッセージ209を有する。したがって、ユーザはどのページからスキャンすればよいか分かる。なお、本実施例においても機器20がエラーを報知することができる。
<主な効果>
以上説明したように、本実施形態の情報処理システム10は、領域の延べ数が領域指定制限数より大きくても処理可能ページ数までOCR処理できる。ユーザは、OCR処理されていないページのみを再度、スキャンすればよい。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では、情報処理システム10が、帳票の領域から取得されたデータをファイルに出力したが、ファイル化するのでなくメールで送信してもよいし、機器20に表示させてもよい。
また、本実施形態では、指定された領域の数又は帳票の枚数の数が多い状態場合にエラーを検知したが、エラーの内容はアプリの実行が中断されるようなエラーであればよい。
また、本実施形態では、情報処理システム10が指定された領域に対してOCR処理を行っているが、その他の画像処理(マスク処理や画像の抜出処理等)を行ってもよい。
また、図5などの構成例は、端末装置30、機器20、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置30、機器20、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
更に、情報処理システム10は、本実施形態で開示された処理ステップ、例えば図18等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、情報処理システム10が有する複数の情報処理装置によって実行され得る。また、情報処理システム10は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
10 情報処理システム
20 機器
30 端末装置
100 通信システム
特開2017-212575号公報

Claims (15)

  1. 原稿を読み取る第一の機器と通信する情報処理システムであって、
    前記第一の機器へ送信したアプリ一覧画面に対する操作により選択されたアプリに対応付けられている設定ファイルから、前記原稿が有する領域に関する領域情報取得するアプリ管理部と、
    前記第一の機器から1ページ以上の原稿の画像データを受信する通信部と、
    前記原稿の1ページの前記領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、所定の条件を満たす場合、画像処理を実行する画像処理部と、
    を有する情報処理システム。
  2. 前記原稿の1ページの領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、前記所定の条件を満たさないため、前記画像処理部が前記画像処理を実行しない場合、
    第二の機器に、画像処理を実行できない旨を報知する報知部を有することを特徴とする請求項1に記載の情報処理システム。
  3. 前記第一の機器と、前記第二の機器が同一であることを特徴とする請求項2に記載の情報処理システム。
  4. 前記画像処理は、OCR処理であることを特徴とする請求項2又は3のいずれか1項に記載の情報処理システム。
  5. 前記画像処理部は、前記領域情報に基づいて前記画像データからOCR領域を特定し、
    特定された前記OCR領域と前記画像データとに基づいて、前記OCR領域に対してOCR処理が行われたデータを出力するファイル処理部、を有し、
    前記報知部は、前記所定の条件として、前記領域情報の数と前記画像データのページ数に基づいて前記画像処理を実行できない旨を報知することを特徴とする請求項に記載の情報処理システム。
  6. 前記領域情報の数と前記画像データのページ数を乗じた値が閾値より大きい場合、前記画像処理部は前記画像処理を中止することを特徴とする請求項5に記載の情報処理システム。
  7. 前記報知部は、前記画像処理部が前記OCR領域に前記画像処理を開始する前に前記画像処理を実行できない旨を報知することを特徴とする請求項6に記載の情報処理システム。
  8. 前記領域情報の数と前記画像データのページ数を乗じた値が閾値より大きい場合、前記画像処理部は前記閾値を超えないページ数の前記画像データに前記画像処理を行うことを特徴とする請求項5に記載の情報処理システム。
  9. 前記報知部は、前記画像処理を行ったページ数の次のページからスキャンする旨を報知することを特徴とする請求項8に記載の情報処理システム。
  10. 原稿を読み取る第一の機器と情報処理システムとが通信する通信システムであって、
    前記情報処理システムは、
    前記第一の機器へ送信したアプリ一覧画面に対する操作により選択されたアプリに対応付けられている設定ファイルから、前記原稿が有する領域に関する領域情報取得するアプリ管理部と、
    前記第一の機器から1ページ以上の原稿の画像データを受信する通信部と、
    前記原稿の1ページの前記領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、所定の条件を満たす場合、画像処理を実行する画像処理部と、
    を有し、
    前記第一の機器は、
    前記アプリ一覧画面を表示し、前記アプリ一覧画面に対する操作を受け付ける通信システム。
  11. 前記原稿の1ページの前記領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、前記所定の条件を満たさないため、前記画像処理部が前記画像処理を実行しない場合、
    第二の機器に、画像処理を実行できない旨を報知する報知部を有することを特徴とする請求項10に記載の通信システム。
  12. 前記第一の機器と、前記第二の機器が同一であることを特徴とする請求項11に記載の通信システム。
  13. 原稿を読み取る第一の機器と通信する情報処理システムが行う情報処理方法であって、
    前記第一の機器へ送信したアプリ一覧画面に対する操作により選択されたアプリに対応付けられている設定ファイルから、前記原稿が有する領域に関する領域情報取得するステップと、
    前記第一の機器から1ページ以上の原稿の画像データを受信するステップと、
    前記原稿の1ページの前記領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、所定の条件を満たす場合、画像処理を実行するステップと、
    を有する情報処理方法。
  14. 前記原稿の1ページの領域情報の数と、受信した前記画像データのページ数から求めた領域の延べ数が、前記所定の条件を満たさないため、前記画像処理を実行しない場合、
    第二の機器に、画像処理を実行できない旨を報知する報知部を有することを特徴とする請求項13に記載の情報処理方法。
  15. 前記第一の機器と、前記第二の機器が同一であることを特徴とする請求項14に記載の情報処理方法。
JP2021123442A 2021-07-28 2021-07-28 情報処理システム、通信システム、情報処理方法 Active JP7388411B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021123442A JP7388411B2 (ja) 2021-07-28 2021-07-28 情報処理システム、通信システム、情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021123442A JP7388411B2 (ja) 2021-07-28 2021-07-28 情報処理システム、通信システム、情報処理方法

Publications (2)

Publication Number Publication Date
JP2023019008A JP2023019008A (ja) 2023-02-09
JP7388411B2 true JP7388411B2 (ja) 2023-11-29

Family

ID=85159553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021123442A Active JP7388411B2 (ja) 2021-07-28 2021-07-28 情報処理システム、通信システム、情報処理方法

Country Status (1)

Country Link
JP (1) JP7388411B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005014237A (ja) 2003-06-23 2005-01-20 Toshiba Corp 複写機における翻訳方法、プログラム及び外部翻訳機能部を有する複写機
JP2009026077A (ja) 2007-07-19 2009-02-05 Canon Inc 画像処理サーバ、画像処理方法、コンピュータプログラム、および記憶媒体
JP2020129226A (ja) 2019-02-07 2020-08-27 株式会社リコー 情報処理装置、情報処理システム、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005014237A (ja) 2003-06-23 2005-01-20 Toshiba Corp 複写機における翻訳方法、プログラム及び外部翻訳機能部を有する複写機
JP2009026077A (ja) 2007-07-19 2009-02-05 Canon Inc 画像処理サーバ、画像処理方法、コンピュータプログラム、および記憶媒体
JP2020129226A (ja) 2019-02-07 2020-08-27 株式会社リコー 情報処理装置、情報処理システム、及びプログラム

Also Published As

Publication number Publication date
JP2023019008A (ja) 2023-02-09

Similar Documents

Publication Publication Date Title
US11616884B2 (en) Image processing system for computerizing document, control method thereof, and storage medium
US12301771B2 (en) Image processing apparatus for inputting characters using touch panel, control method thereof and storage medium
US11252287B2 (en) Image processing apparatus that displays guidance for user operation, control method thereof and storage medium
US11393234B2 (en) Image processing system for computerizing document, control method thereof, and storage medium
US11252290B2 (en) Image processing apparatus, image processing method and storage medium
US11887391B2 (en) Information processing system, data output system, image processing method, and recording medium
US11265431B2 (en) Image processing apparatus for inputting characters using touch panel, control method thereof and storage medium
US20240161451A1 (en) Information processing system, processing method, and recording medium
US11575799B2 (en) Image processing apparatus for setting property including character strings and separators to scanned image, control method thereof and storage medium
US20240193975A1 (en) Image processing apparatus, image processing method, and storage medium
US11800032B2 (en) Apparatus, information processing method, and storage medium
US11831824B1 (en) Image processing apparatus, information processing apparatus, image processing system, image processing method, information processing method, and storage medium
JP7388411B2 (ja) 情報処理システム、通信システム、情報処理方法
US20230156138A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
US11533403B2 (en) Process executing system, information processing system, information processing method, and recording medium for detecting duplicate image data from a same output material
JP7677490B2 (ja) 画像処理システム、情報処理システム、画像処理方法、プログラム
JP7124859B2 (ja) データ出力システム、情報処理システム、データ出力方法、プログラム
JP7666451B2 (ja) データ出力システム、データ出力方法、プログラム
US20230368558A1 (en) Image processing apparatus, image processing method, and storage medium
JP7703902B2 (ja) データ出力システム、情報処理システム、情報処理方法、プログラム
US20240323306A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP2024134885A (ja) 情報処理システム、提示方法、プログラム
JP2024034740A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230714

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: 20231017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231030

R151 Written notification of patent or utility model registration

Ref document number: 7388411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151