(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-06
(45)【発行日】2024-12-16
(54)【発明の名称】情報処理装置、情報処理システム、その制御方法及びプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20241209BHJP
G06V 30/10 20220101ALI20241209BHJP
【FI】
H04N1/00 C
G06V30/10
(21)【出願番号】P 2020209197
(22)【出願日】2020-12-17
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】伊藤 啓介
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2012-204906(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
H04N 1/32
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
今回のスキャン画像に対する文字認識処理の実行によって得られた文字列を取得する取得手段と、
前記取得された文字列が、過去にスキャンされた他の画像に対して行われた文字認識処理によって取得された過去の文字列と一致し、かつ、ユーザによって一定回数以上承認された場合、前記取得された文字列に基づいてプロパティが自動的に設定された前記今回のスキャン画像のファイルを自動送信する自動送信手段と、
を備え、
前記自動送信手段は、
前記取得された文字列が前記過去にスキャンされた他の画像に対して実行された文字認識処理によって取得された前記過去の文字列と一致しない場合、前記今回のスキャン画像のファイルを自動送信せず、
前記取得された文字列が前記過去にスキャンされた他の画像に対して実行された文字認識処理において取得された前記過去の文字列と一致しても、前記過去の文字列がユーザによって一定回数以上承認されなかった場合、前記今回のスキャン画像のファイルを自動送信しない、
ことを特徴とする画像処理装置。
【請求項2】
前記今回のスキャン画像
に対する解析処理により特定される、当該スキャン画像に対応する帳票の種別が
、前記過去にスキャンされた他の画像
に対する解析処理により特定される、当該他のスキャン画像に対応する帳票の種別と一致し、かつ、前記取得された文字列が、前記過去にスキャンされた他の画像に対して実行された文字認識処理において取得された前記過去の文字列と一致し、かつ、ユーザにより一定回数以上承認された場合、前記自動送信手段は、前記取得された文字列に基づいてプロパティが自動設定された前記今回のスキャン画像のファイルを自動送信する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記取得された文字列が前記過去にスキャンされた他の画像に対して実行された文字認識処理によって取得された前記過去の文字列と一致しない場合、前記今回のスキャン画像のプロパティを設定するための設定画面を表示する表示手段を、さらに、備え、
前記過去の文字列が一定回数以上ユーザによって承認されなかった場合、前記取得されたが前記過去にスキャンされた他の画像に対して行われた文字認識処理によって取得された文字列と一致しても、前記表示手段は、前記今回のスキャン画像のプロパティを設定するための設定画面を表示し、前記取得された文字列を前記プロパティの初期文字列として前記設定画面に表示する、
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記プロパティは、前記今回のスキャン画像のファイルのファイル名である、
ことを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
請求項1乃至4の何れか1項に記載の画像処理装置と、
前記ファイルの前記プロパティに使用される前記文字列を表示する表示部を備える装置と、
前記自動送信された前記ファイルを受信するサーバ装置と、を備える、
ことを特徴とする画像処理システム。
【請求項6】
コンピュータを、請求項1乃至4のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【請求項7】
今回のスキャン画像に対する文字認識処理の実行によって得られた文字列を取得するステップと、
前記取得された文字列が、過去にスキャンされた他の画像に対して行われた文字認識処理によって取得された過去の文字列と一致し、かつ、ユーザによって一定回数以上承認された場合、前記取得された文字列に基づいてプロパティが自動的に設定された前記今回のスキャン画像のファイルを自動的に送信するステップと、
前記取得された文字列が前記過去にスキャンされた他の画像に対して実行された文字認識処理によって取得された前記過去の文字列と一致しない場合、前記今回のスキャン画像のファイルを、自動送信せず、
前記取得された文字列が、前記過去にスキャンされた他の画像に対して実行された文字認識処理において取得された前記過去の文字列と一致しても、前記過去の文字列がユーザによって一定回数以上承認されなかった場合、前記今回のスキャン画像のファイルを自動送信しないステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書ファイルにプロパティを設定するための技術に関するものである。
【背景技術】
【0002】
従来、紙帳票等の文書をスキャンしてファイル化して、ネットワーク上のストレージサーバにて保存・管理する手法が広く利用されている。ネットワーク上のストレージサーバに文書ファイルとして保存・管理するには、ファイル名等のプロパティの設定が必要になる。例えばファイル名を設定する方法として、文書のスキャン画像を文字認識処理して文字情報を抽出し、得られた文字情報の中からファイル名として用いる文字列を選択する方法がある。
【0003】
また、ユーザがファイル名の設定で使用した文字列の文字領域情報を文書の種別毎に保存・蓄積しておくことも行われている。そして、文書フォームの特徴が過去に保存された文書と一致する場合に、当該過去の文書で使用された文字列を、ファイル名に使用するための文字列として自動で提案することも行われている。この場合において、過去にファイル名の設定に使用された文字列が誤っていると、誤った文字列が提案されてしまう。
【0004】
この点、特許文献1には、文字認識処理した文字列の確からしさを表す指標として確信度を用いる技術であって、文字認識処理された文字列の確信度が高くても、ユーザに確認や訂正を促す技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1の技術では、ユーザに確認や訂正を行わせることで文字列の確からしいことを担保しようとしているが、ユーザ自身が修正ミスや確認ミスをすることも考えられる。そうなると、ユーザ自身の修正ミス等により誤った文字列がファイル名等に設定されることになる。
【0007】
本開示の技術は、上記問題点に鑑みてなされたものであり、文書ファイルのプロパティに用いる文字列としてより間違いの少ない文字列を、ユーザがより簡便に設定できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本開示に係る画像処理装置は、文書のスキャン画像に対する文字認識処理の結果を用いて文書ファイルのプロパティを設定するための画像処理装置であって、今回生成する文書ファイルに係るスキャン画像に対して文字認識処理を行って文字列を取得する取得手段と、前記取得手段が取得した文字列が、過去に生成された文書ファイルに係るスキャン画像に対する文字認識処理において得られた文字列であってユーザが一定回数以上承認した文字列である場合、前記取得手段が取得した文字列を、前記今回生成する文書ファイルのプロパティに使用する文字列として自動で設定する設定手段とを備えたことを特徴とする。
【発明の効果】
【0009】
本開示の技術によれば、文書ファイルのプロパティに用いる文字列としてより間違いの少ない文字列を、ユーザがより簡便に設定することができる。
【図面の簡単な説明】
【0010】
【
図3】MFP連携サーバ及びストレージサーバのハードウェア構成図。
【
図6A】メインメニューのUI画面の一例を示す図。
【
図8】本システムにおける解析処理の結果を示すデータ構造の一例を示す図。
【
図11】本システムにおける画像処理部が行う文字認識処理の詳細を示すフローチャート。
【
図12】本システムにおける画像処理部が行う自動送信判定処理の詳細を示すフローチャート。
【
図13】本システムにおける画像処理部が行うファイル名設定情報保存処理の詳細を示すフローチャート。
【
図14】実施形態2における画像処理部が行う自動送信判定処理の詳細を示すフローチャート。
【
図15】実施形態3における画像処理部が行うファイル名設定情報保存処理の詳細を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0012】
[実施形態1]
<システム構成>
図1は、本実施形態に係る、画像処理システムの全体構成を示す図である。画像処理システムは、MFP(Multifunction Peripheral)110と、インターネット上でクラウドサービスを提供するサーバ装置120及び130とを含む。MFP110は、インターネットを介してサーバ装置120及び130と通信可能に接続されている。
【0013】
MFP110は、スキャン機能を有する情報処理装置の一例である。MFP110は、スキャン機能に加え印刷機能やBOX保存機能といった複数の機能を有する複合機である。サーバ装置120及び130は、共にクラウドサービスを提供する情報処理装置の一例である。本実施形態のサーバ装置120は、MFP110から受け取ったスキャン画像に対し画像解析を行ったり、別のサービスを提供するサーバ装置130に対しMFP110からのリクエストを転送したりするクラウドサービスを提供する。以下、サーバ装置120が提供するクラウドサービスを「MFP連携サービス」と呼ぶこととする。サーバ装置130は、インターネットを介して送られてきたファイルを保存したり、クライアントPC(不示図)などのウェブブラウザからの要求に応じて保存ファイルを提供したりするクラウドサービス(以下、「ストレージサービス」と呼ぶ。)を提供する。本実施形態では、MFP連携サービスを提供するサーバ装置120を「MFP連携サーバ」と呼び、ストレージサービスを提供するサーバ装置130を「ストレージサーバ」と呼ぶこととする。
【0014】
図1に示す画像処理システムの構成は一例であって、これに限定されない。例えば、MFP連携サーバ120の機能をMFP110が兼ね備えていてもよい。また、MFP連携サーバ120はインターネット上ではなくLAN(Local Area Network)経由でMFP110と接続されていてもよい。また、ストレージサーバ130を、メール配信サービスを行うメールサーバに置き換えて、文書のスキャン画像をメールに添付し送信する場面に適用してもよい。
【0015】
<MFPのハードウェア構成>
図2は、MFP110のハードウェア構成を示すブロック図である。MFP110は、制御部210、操作部220、プリンタ部221、スキャナ部222、モデム223で構成される。制御部210は、以下の各部211~219で構成され、MFP110全体の動作を制御する。CPU211は、ROM212に記憶された様々な制御プログラム(後述のソフトウェア構成図で示す各種機能に対応するプログラム)を読み出して実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施例では1つのCPU211が1つのメモリ(RAM213又はHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAM又はHDDを協働させて各処理を実行してもよい。HDD214は、画像データや各種プログラムを記憶する大容量記憶部である。操作部I/F215は、操作部220と制御部210とを接続するインタフェースである。操作部220には、タッチパネルやキーボードなどが備えられており、ユーザによる操作/入力/指示を受け付ける。なお、タッチパネルへのタッチ操作には、人の指による操作やタッチペンによる操作が含まれる。プリンタI/F216は、プリンタ部221と制御部210とを接続するインタフェースである。印刷用の画像データはプリンタI/F216を介して制御部210からプリンタ部221へ転送され、紙等の記録媒体上に印刷される。スキャナI/F217は、スキャナ部222と制御部210とを接続するインタフェースである。スキャナ部222は、不図示の原稿台やADF(Auto Document Feeder)にセットされた原稿を光学的に読み取ってスキャン画像データを生成し、スキャナI/F217を介して制御部210に入力する。スキャナ部222で生成されたスキャン画像データは、プリンタ部221にて印刷したり(コピー出力)、HDD214に保存したり、LANを介してMFP連携サーバ120等の外部装置にファイル送信したりすることができる。モデムI/F218は、モデム223と制御部210とを接続するインタフェースである。モデム223は、PSTN上のファクシミリ装置(不図示)との間で画像データをファクシミリ通信する。ネットワークI/F219は、制御部210(MFP110)をLANに接続するインタフェースである。MFP110は、ネットワークI/F219を用いて、スキャン画像データをMFP連携サーバ120に送信したり、MFP連携サーバ120から各種データを受信したりする。以上説明したMFP110のハードウェア構成は一例であり、必要に応じてその他の構成を備えるものであってもよいし、一部の構成を有していなくてもよい。
【0016】
<サーバ装置のハードウェア構成>
図3は、MFP連携サーバ120及びストレージサーバ130のハードウェア構成を示すブロック図である。MFP連携サーバ120とストレージサーバ130は共通のハードウェア構成を有し、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315で構成される。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークI/F315は、制御部310をインターネットに接続するインタフェースである。MFP連携サーバ120及びストレージサーバ130は、ネットワークI/F315を介して他の装置(MFP110など)から様々な処理のリクエストを受け、当該リクエストに応じた処理結果を返す。
【0017】
<画像処理システムのソフトウェア構成>
図4は、本実施形態に係る、画像処理システムのソフトウェア構成を示すブロック図である。以下、画像処理システムを構成するMFP110及び、MFP連携サーバ120及びストレージサーバ130それぞれの役割に対応したソフトウェア構成を、順に説明する。なお、以下では、各装置が有する諸機能のうち、文書をスキャンして電子化(ファイル化)し、ストレージサーバ130に保存を行うまでの処理に関わる機能に絞って説明を行うものとする。
【0018】
≪MFPのソフトウェア構成≫
MFP110の機能モジュールは、ネイティブ機能モジュール410とアディショナル機能モジュール420の2つに大別される。ネイティブ機能モジュール410はMFP110に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール420はMFP110に追加的にインストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。なお、MFP110には図示しない他の追加アプリケーションがインストールされていてもよい。
【0019】
ネイティブ機能モジュール410は、スキャン実行部411及びスキャン画像管理部412を有する。また、アディショナル機能モジュール420は、表示制御部421、スキャン制御部422、連携サービスリクエスト部423、画像処理部(不示図)を有する。
【0020】
表示制御部421は、操作部220のタッチパネルに、各種のユーザ操作を受け付けるためのUI(User Interface)画面を表示する。各種のユーザ操作には、例えば、MFP連携サーバ120へアクセスするためのログイン認証情報の入力、スキャン設定、スキャンの開始指示、ファイル名設定、ファイルの保存指示などがある。
【0021】
スキャン制御部422は、UI画面でなされたユーザ操作(例えば、後述の「スキャン開始」ボタン701の押下)に応じて、スキャン設定の情報と共にスキャン実行部411に対しスキャン処理の実行を指示する。スキャン実行部411は、スキャン制御部422からのスキャン処理の実行指示に従い、スキャナI/F217を介してスキャナ222に文書の読み取り動作を実行させ、スキャン画像データを生成する。生成したスキャン画像データは、スキャン画像管理部412によってHDD214に保存される。この際、保存されたスキャン画像データを一意に示すスキャン画像識別子の情報が、スキャン制御部422へ通知される。スキャン画像識別子は、MFP110においてスキャンした画像をユニークに識別するための番号や記号、アルファベットなどである。スキャン制御部422は、例えばファイル化する対象のスキャン画像データを上記のスキャン画像識別子を使ってスキャン画像管理部412から取得する。そして、ファイル化のために必要な処理のリクエストをMFP連携サーバ120に対して行うよう、連携サービスリクエスト部423に対して指示する。
【0022】
連携サービスリクエスト部423は、MFP連携サーバ120に対して各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には、例えば、ログイン認証、スキャン画像の解析、スキャン画像データの送信などが含まれる。MFP連携サーバ120とのやり取りにはRESTやSOAPなどの通信プロトコルが使用される。
【0023】
画像処理部(不示図)は、スキャン画像データに対し所定の画像処理を行って、表示制御部421が表示するUI画面で用いられる画像を生成する。所定の画像処理の詳細については後述する。
【0024】
なお、MFP110とは異なる装置(不図示のクライアントPCなど)が、上述のアディショナル機能モジュール420を備えていてもよい。すなわち、MFP110にて得たスキャン画像の解析リクエストや解析結果に基づくファイル名の設定等を、クライアントPCで行うようなシステム構成でも構わない。
【0025】
≪サーバ装置のソフトウェア構成≫
まず、MFP連携サーバ120のソフトウェア構成について説明する。MFP連携サーバ120は、リクエスト制御部431、画像処理部432、クラウドストレージアクセス部433、ファイル生成部434、表示制御部435を有する。リクエスト制御部431は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部432、クラウドストレージアクセス部433、ファイル生成部434に対し所定の処理の実行を指示する。
【0026】
画像処理部432は、MFP110から送られてくるスキャン画像データに対して、文字領域の検出処理、文字認識処理(OCR処理)、類似文書の判定処理、自動送信判定の処理といった解析処理の他、回転や傾き補正といった画像加工処理を行う。
【0027】
なお、以下では、スキャン画像から検出される文字領域を「文字領域」と呼ぶ。また、対象となる文書として、見積書や請求書といった帳票を例に説明を行うこととし、そのスキャン画像を「帳票画像」と呼ぶ。クラウドストレージアクセス部433は、ストレージサーバ130に対する処理のリクエストを行う。クラウドサービスでは、RESTやSOAPなどのプロトコルを用いてストレージサーバにファイルを保存したり、保存したファイルを取得したりするための様々なインタフェースを公開している。クラウドストレージアクセス部433は、公開されたインタフェースを使用して、ストレージサーバ130に対するリクエストを行う。ファイル生成部434は、リクエスト制御部431からの指示を受けて、スキャン画像を含む文書ファイルを生成する。その際、当該スキャン画像に含まれる文字列について文字認識処理した結果に基づくファイル名を設定する。表示制御部435は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、登録されているユーザ情報を確認したり、スキャン設定を変更したりできる。
【0028】
次に、ストレージサーバ130のソフトウェア構成について説明する。ストレージサーバ130は、リクエスト制御部(不示図)、ファイル管理部(不示図)、表示制御部(不示図)を有する。リクエスト制御部(不示図)は、外部装置からのリクエストを受信できる状態で待機しており、本実施形態においてはMFP連携サーバ120からのリクエストに応じて、受信したファイルの保存や保存ファイルの読み出しをファイル管理部(不示図)に指示する。そして、リクエストに応じたレスポンスをMFP連携サーバ120に返す。表示制御部(不示図)は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、保存ファイルを確認したり取得したりすることができる。
【0029】
<全体の処理の流れ>
図5は、MFP110で文書(例えば、見積書等の帳票)をスキャンし、得られたスキャン画像(例えば、帳票画像)をファイル化してストレージサーバに保存する際の、装置間の処理の流れを示すシーケンス図である。なお、
図5のシーケンス図は、スキャン画像をファイル化する際に付与されるファイル名を設定する場合の説明となっているが、ファイル名の他、フォルダパスやメタデータといったプロパティ全般に適用可能である。
【0030】
図6Aは、MFP110の起動時に表示されるメインメニューのUI画面(以下、「メイン画面」と呼ぶ。)の一例を示す図である。文書をスキャンしてファイル化し、クラウドストレージサービスの利用に必要な専用のアプリケーションをMFP110にインストールすることで、メイン画面600上に「スキャンしてクラウドストレージに保存」ボタン601が表示されるようになる。そして、ユーザがメイン画面600内に表示されたメニューボタンの中から「スキャンしてクラウドストレージに保存」ボタン601を押下すると、
図5のシーケンス図で示される一連の処理が開始する。
【0031】
以下、
図5のシーケンス図に沿って、装置間のやり取りを時系列に説明する。なお、以下の説明において記号「S」はステップを表す。
【0032】
S501において、MFP110は、MFP連携サーバ120にアクセスするためのログイン認証の情報を入力するUI画面(以下、「ログイン画面」と呼ぶ。)を操作部220に表示する。操作部220に表示されるログイン画面610の一例を
図6Bに示す。
図6Bに示したように、ログイン画面610には、「ログイン」ボタン611、ID入力欄612及びパスワード入力欄613が含まれる。
【0033】
S502において、ユーザが、予め登録されているユーザIDとパスワードとを、ログイン画面610上のID入力欄612及びパスワード入力欄613にそれぞれ入力し「ログイン」ボタン611を押下すると、ログイン認証のリクエストがMFP連携サーバ120に送信される。
【0034】
S503において、ログイン認証のリクエストを受けたMFP連携サーバ120は、当該リクエストに含まれるユーザIDとパスワードを用いて認証処理を行う。認証処理の結果、正規のユーザであることが確認されれば、MFP連携サーバ120は、アクセストークンをMFP110に返す。以後、MFP110からMFP連携サーバ120に対して行う各種リクエストの際にこのアクセストークンを一緒に送ることで、ログイン中のユーザが特定される。本実施形態では、MFP連携サーバ120へのログインの完了によって、ストレージサーバ130へのログインも同時に完了するものとする。このためにユーザは、インターネット上のPC(不図示)のウェブブラウザ等を介して、MFP連携サービスを利用するためのユーザIDとストレージサービスを利用するためのユーザIDとの紐付けを予め行っておく。これにより、MFP連携サーバ120へのログイン認証に成功すれば同時にストレージサーバ130へのログイン認証も完了し、ストレージサーバ130にログインするための操作を省略できる。そして、MFP連携サーバ120においては、自装置にログインしたユーザからのストレージサービスに関するリクエストにも対応可能となる。なお、ログイン認証の方法は一般的に公知な手法(Basic認証、Digest認証、OAuthを用いた認可等)を用いて行えばよい。
【0035】
S504において、ログインが完了すると、MFP110では、スキャン設定用のUI画面(以下、「スキャン設定画面」と呼ぶ。)が操作部220に表示される。
図7にスキャン設定画面の一例を示す。スキャン設定画面700には、「スキャン開始」ボタン701、カラー設定欄702、解像度設定欄703が存在する。「スキャン開始」ボタン701は、原稿台にセットした文書(本実施形態では見積書や請求書といった帳票を想定)に対するスキャン処理の開始を指示するためのボタンである。カラー設定欄702では、スキャン時のカラーモードを設定する。例えばフルカラーやモノクロといった選択肢の中から指定できるようになっている。解像度設定欄703では、スキャン時の解像度を設定する。例えば600dpiや1200dpiといった選択肢の中から指定できるようになっている。なお、カラーモードと解像度は設定項目の一例であって、これらすべてが存在しなくてもよいし、これら以外の設定項目が存在してもよい。また、カラーモードや解像度に関する選択肢を、ストレージサービスの要求する設定値のみに限定したりしてもよい。ログイン中のユーザは、このようなスキャン設定画面700を介してスキャン処理についての詳細な条件設定を行なう。
【0036】
S505において、スキャン設定を終えたログイン中のユーザが、MFP110の原稿台にスキャン対象の文書をセットし、「スキャン開始」ボタン701を押下するとスキャンが実行される。これにより、紙文書を電子化したスキャン画像データが生成される。
【0037】
S506において、スキャンの完了後、MFP110は、当該スキャンをすることによって得られた画像を含むデータであるスキャン画像データを、そのスキャン画像データを解析するためのリクエストである解析リクエストと共にMFP連携サーバ120に送信する。
【0038】
S507において、スキャン画像の解析リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が画像処理部432に対し、解析処理(S508~S511)の実行を指示する。その際、リクエスト制御部431は、受信した解析リクエストを一意に特定可能なリクエストID(“processId”)をMFP110に返す。
【0039】
S508において、解析処理の実行指示を受けた画像処理部432は、解析リクエストに係るスキャン画像に対する解析処理を実行する。この解析処理では、まず、解析処理の対象となるスキャン画像(以下、「対象画像」と呼ぶ。)内に存在する文字領域を検出する処理(文字領域検出処理)を行う。文字領域の検出は、例えば、ある閾値で2値化を行った画像から文字と推測される矩形領域を抽出する方法等、既知の方法を適用すればよい。
【0040】
S509において、画像処理部432は、画像解析の対象となる紙文書の画像データが以前に電子化された紙文書の画像と類似しているかどうかを学習データと照合して判定する処理を行う。例えば、画像解析の対象となる紙文書の例として、見積書等の帳票が挙げられる。また、画像解析の対象となる帳票の画像データが以前に電子化された帳票の画像と類似しているかどうかを学習データと照合して判定する処理のことを、以下、適宜、「類似帳票判定」と呼ぶ。この類似帳票判定では、対象画像内に存在する領域であり且つ、後述の文字認識処理の対象となる文字列が含まれる領域である文字領域(以下、適宜、「文字領域」と呼ぶ。)が当該対象画像内のどこにそれぞれ位置するかを示す情報である配置情報が用いられる。具体的には、今回生成する対象帳票画像の配置情報と、学習データに蓄積された過去の帳票画像の配置情報とを比較し、文字領域の配置が同一又は類似であるかどうかを判定する。これは、文字領域の配置が同一又は類似の関係にあれば、それらは同一の文書フォーム(帳票フォーム)を用いて作成された同種の帳票であると推測できることに基づいている。この類似帳票判定で使用する過去の帳票画像の配置情報は、後述の「学習処理」によって学習データとして蓄積される。なお、本実施形態では、文字領域の配置の一致度合いのみに基づき帳票の類否判定を行っているが、例えば、後述するOCR処理の結果から帳票の種別(見積書、請求書等)を特定し、得られた種別の情報を加味して類否判定を行ってもよい。
【0041】
S510において、画像処理部432は、文字領域検出処理によって見つかった各文字領域に対して、文字認識処理を実行する。S510における画像処理部432の文字認識処理については、
図11を用いて後述する。
【0042】
S511において、画像処理部432は、今回生成する対象画像の文書ファイルを自動送信の対象にしてもよいか否かの判定処理(以下、「自動送信判定処理」と呼ぶ。)を実行する。自動送信判定処理については、
図12を用いて後述する。
【0043】
S512において、MFP110は、上記解析処理が行われている間、上述のリクエストIDを使用して、MFP連携サーバ120に対して定期的(例えば数百ミリ秒から数ミリ秒程度毎)に解析処理状況の確認を行う(S512~S513)。この確認は、MFP連携サーバ120から解析処理が完了したことを表す情報を含むレスポンスが取得できるまで繰り返し実行される。MFP連携サーバ120のリクエスト制御部431は、解析処理状況の確認をするためのリクエストを受けるとリクエストIDに対応する解析処理の進行状況を確認し、解析処理が完了していない場合は解析処理中であるステータスを表す処理中レスポンスを返す。他方、解析処理が完了していた場合は、完了レスポンスを返す。これらレスポンスの“status”には現在の処理状況を示す文字列が入る。具体的には、MFP連携サーバ120で処理が行われている最中である場合(処理中レスポンス)には“processing”が入り、処理が完了している場合(完了レスポンス)には“completed”が入る。なお、処理が失敗した場合の“failed”など、他のステータスを表す文字列が入ることもある。また、完了レスポンスには、画像解析結果の格納先を示すURLなどの情報も含まれる。そして、MFP110は、上記解析処理の完了レスポンスを取得すると、当該完了レスポンスに含まれる、画像解析結果の格納先を示すURLを用いて、解析処理の結果を取得するためのリクエストを、MFP連携サーバ120に対して送信する。MFP連携サーバ120のリクエスト制御部431は、当該リクエストを受信すると、解析処理の結果を含む情報(結果情報)をMFP110に返信する。この際の結果情報には、対象画像について文字領域判定の結果、類似帳票判定の結果、文字認識処理の結果、自動送信判定処理の結果が含まれる。
【0044】
図8は、解析処理の結果を示すデータ構造の一例を示す図である。“enabledAutoTransmission”には、対象画像がS511の自動送信判定処理により、ユーザの確認や学習を行わずにストレージサーバ130への送信の可否を示す値(「true」や「false」)が格納される。クライアントPC(不示図)は、この値を参照することに基づいて、対象帳票を自動でストレージサーバ130に送信するか否かを決定する。“matched”には、S509において、対象画像に係る帳票と類似する種別である帳票をスキャンして得られたスキャン画像である類似帳票が見つかったかどうかを示す値が格納される。“formId”には、類似する帳票があった場合はその帳票を一意に示す値が格納される。他方、類似する帳票がなかった場合には新たな値が発行され、当該新たな値が格納される。“matchingScore”には、類似する帳票があった場合にどの程度類似していたかを示す値が格納される。“matchingScore”は過去にスキャンした画像の配置情報と今回スキャンした画像の配置情報とが一致する度合いを0~1までの実数値で表す。そして、当該実数値が大きいほど、今回スキャンした画像は、過去にスキャンした画像に類似しているということになる。“rectInfoArray”には、類似する帳票に対して以前にユーザがファイル名を設定したときに使用した文字領域に対応する、今回の解析対象の画像の文字領域を示す情報が格納される。例えば、画像を以前にスキャンして「見積書」と「下丸子株式会社」を使用してファイル名を設定し入力結果学習したとする。その後、新規の画像をスキャンして前記スキャン画像と類似帳票判定を行った結果、類似帳票だと判定された場合、“rectInfoArray”以下には、入力した情報が自動入力対象の情報として格納される。まず、入力結果学習でMFP連携サーバ120のHDD314に保存された情報から以前に設定した「見積書」と「下丸子株式会社」の文字領域の座標情報と一部が重なる文字領域を特定する。すると、一部が重なる文字領域の座標情報と文字とが“rectInfoArray”の後述する“text”に格納される。“key”には、自動入力に使用する文字領域を一意に示す値が格納される。“score”には、文字認識処理に対する結果の確からしさを表す指標である確信度を表す値が格納される。確信度は0~1までの実数値で表される。当該実数値が大きいほど、文字認識処理の結果が確からしいという意味になる。“region”には、文字領域の座標情報とその文字認識した結果抽出した文字が格納される。“rect”は抽出した文字領域一つの座標を示す。“x”は領域の左上のX座標、“y”は領域の左上のY座標、“width”は領域のX方向のピクセル数、“height”は領域のY方向のピクセル数を示す。“text”は“rect”の文字領域を文字認識処理して文字認識を行った結果、抽出された文字を示す。“metadataArray”には、ファイル名を自動入力するためのファイル名に使用する文字領域の順番と区切り文字がどこに入るかを示す情報が格納される。ファイル名以外にもメタデータなどのプロパティを含む情報が設定されている場合は“rectInfoArray”や“metadataArray”に必要な情報が追加される。“key”には、スキャン文書に設定する設定値を一意に示す値が格納される。“keyType”には、“key”の設定値の種別を示す値が格納される。ファイル名に使用する場合は、“key”が“filename”で“keyType”が“filename”となる。“value”には、“key”の値に使用する文字領域と区切り文字の情報が格納される。
図8の例では“rectInfoArray”の中の“fileRegion0”の“key”を持つ領域、区切り文字、“fileRegion1”の“key”を持つ領域の順番でファイル名を自動入力されることになる。
【0045】
そして、自動送信判定処理の結果が「自動送信不可」であった場合、ユーザに確認や修正等を促すため、後述するS515~S518の処理を実行する。他方、自動送信判定処理の結果が「自動送信可能」であった場合には、後述するS515~S518の処理を実行することなくS520に進み、対象画像の文書ファイルが自動生成されてストレージサーバ130に対して自動送信される(S521)。文書ファイルの自動生成の際には、文字認識処理で得られた文字列がそのファイル名に使用される。
【0046】
自動送信判定処理の結果が「自動送信不可」であった場合、S515において、MFP110は、S514で取得した結果情報を使用してファイル名を設定するためのファイル名設定画面900(
図9参照)を表示する。ファイル名設定画面900のファイル名入力欄901には、予め最も確からしいと判定された文字列(初期文字列)が入力されている。つまり、累積承認回数を満たさず自動送信されないことになった場合は、そのときの確定文字列を使用した暫定的なファイル名がユーザに提示されることになる。ここで、ファイル名入力欄901に表示された文字列について誤りがない場合、ユーザは、その文字列をファイル名として承認するために「OK」ボタン902を押下する。他方、その文字列について誤りがある場合、ユーザは、誤りを手入力で適宜修正した上で「OK」ボタン902を押下することになる。
【0047】
上記「OK」ボタン902が押下されたことを検知すると、S516において、MFP110は、送信確認画面1000(
図10参照)を操作部220に表示する。そして、MFP110は、ユーザによって「送信」ボタン1001が押下されたことを検知すると、ファイル名設定情報を保存するためのリクエストをMFP連携サーバ120に対して送信する。ここで、確定文字列の修正が行われなかった場合のファイル名設定情報には、文字認識処理された結果、最も確からしい文字列としてファイル名入力欄901に表示された文字列が含まれる。また、確定文字列の修正が行われた場合のファイル名設定情報には、その文字列の文字領域情報、その文字列が記載されていた帳票の種別に関する情報が含まれる。そして、確定文字列の修正が行われた場合のファイル名設定情報には、その修正前後の文字列の情報をさらに含むことになる。
【0048】
S517において、MFP連携サーバ120のリクエスト制御部431は、ファイル名設定情報をMFP110から受信した場合、画像処理部432に対して当該ファイル名設定情報の保存を指示する。
【0049】
S518において、画像処理部432は、リクエスト制御部431からの上記保存指示を受けて、ファイル名設定情報を保存するための処理を実行する。なお、ファイル名設定情報を保存するための処理の詳細は後述する。
【0050】
S518aにおいて、画像処理部432は、ファイル名設定情報保存処理が完了したことを表すステータス情報を含む情報をリクエスト制御部431に渡す。S518bにおいて、リクエスト制御部431は、画像処理部432からファイル名設定情報の保存が完了したことを表すステータス情報を含む情報を取得すると、その事実を表すステータス情報を含むレスポンスをMFP110に対して送信する。
【0051】
S519において、MFP110は、S518におけるリクエスト制御部431からのレスポンスを取得すると、当該レスポンスに含まれる情報に基づいて、ファイルを生成するためのリクエスト(ファイル生成リクエスト)をMFP連携サーバ120に送信する。MFP連携サーバ120のリクエスト制御部431は、ファイル生成リクエストを受信すると、ファイル生成処理を開始するとともに、ファイル生成リクエストを正常に受けたことを表す情報を含むレスポンスをMFP110に返す。MFP110は、リクエスト制御部431からの当該レスポンスを受けると処理を終了し、S504のスキャン設定画面表示に戻る。
【0052】
S520において、MFP連携サーバ120では、事前に登録されたスキャン設定からファイルフォーマットの情報を取得し、当該ファイルフォーマットに従って対象画像がファイル化(生成)される。この場合において、自動送信される文書ファイルには、過去のファイル化処理において使用された(すなわち、ユーザによって承認された)文字列であって累積承認回数を満たした文字列がファイル名として自動で設定されることになる。一方、ユーザによる明示の指示に従って送信される場合の文書ファイルには、当該ユーザがファイル名設定画面に提示された文字列に対して適宜修正を行い、最終確認を行ったファイル名が設定されることになる。
【0053】
S521において、リクエスト制御部431は、生成されたファイルをストレージサーバ130に送信する。そして、S522において、ストレージサーバ130は、MFP連携サーバ120から送信されたファイルを受信すると、当該ファイルの受信が完了したステータスを表すレスポンスをMFP連携サーバ120に返す。
【0054】
以上が、画像処理システム全体の処理の大まかな流れである。なお、
図5のシーケンス図では、MFP110がMFP連携サーバ120とやり取りを行う内容となっているが、画像解析の結果取得、UI画面(例えば、メイン画面600等)の表示、学習指示等は、クライアントPC(不図示)等で行なう構成でもよい。
【0055】
<文字認識処理>
S510の文字認識処理について、
図11を用いて説明する。
図11は、MFP連携サーバ120が画像処理部432で行う文字認識処理の流れを示すフローチャートである。本フローチャートによる処理は、MFP連携サーバ120が有するROM312やHDD314に記憶されたプログラムコードがRAM313に展開され、CPU311によって実行される。
【0056】
S1101において、画像処理部432は、S508の文字領域解析処理で取得された文字領域に対して文字認識処理を実行する。
【0057】
続くS1102、S1103は、文字認識処理の対象になった文字領域から認識された文字毎に行われる処理である。
【0058】
S1102において、画像処理部432は、S1101の文字認識処理の結果として得られた文字の確からしさを表す指標である確信度が、予め設定された閾値より低いか否かを判定する。文字認識処理では、予め様々な文字についての特徴量(パターン)が登録された辞書データを用いて、入力文字と特徴量が一致する文字を辞書データの中から見つけることにより特定の文字を認識する。したがって、特徴量が一致する割合が高いほど、文字認識結果が正しい(特定された文字が正解である可能性が高い)ことになる。そして、文字に掠れや潰れがあるほど、この一致率は低下する傾向にある。そこで、文字認識結果における特徴量の一致率を確信度とし、当該確信度の値が低ければ文字の置き換え候補を作成すべき文字であると判断する。一方、当該確信度の値が高ければ文字の置き換え候補を作成する必要がない文字であると判断する。なお、この確信度は、使用するOCRエンジンに依存する。このため、使用するOCRエンジンから実験的に求めた基準となる確信度の値(例えば、95%以上といった所定の閾値)を予め設定しておき、S1101で得られた文字認識結果の信頼度と閾値との比較処理によって、信頼度が高いかどうかの判定を行う。例えば、画像処理部432は、95%以上といった閾値を予め設定しておく。そして、S1101で得られた文字列「見積書」における「見」に対する文字認識結果の信頼度(例えば、
図8の“score”1.0,)と閾値(95%以上)との比較処理によって、確信度が高いかどうかの判定を行う。この場合、「見」に対する文字認識結果の信頼度は、“score”1.0,(すなわち、100%)であり、閾値(95%以上)を超えているので、文字認識結果に対する信頼度(すなわち、確信度)が高いと判定される。文字認識結果の確信度が閾値未満の場合、S1103に進む。他方、文字認識結果の確信度が閾値以上の場合、S1104に進む。
【0059】
S1103において、画像処理部432は、文字認識結果の確信度が低いと判定された文字について、置き換え候補文字を作成する。例えば、認識された文字が、数字の「1」であった場合において、文字認識結果の確信度が低い場合は、アルファベットの小文字の「l」や大文字の「I」などの形状が類似する他の文字を、置き換え候補文字とする。この場合、文字認識処理にて認識されている文字と、その字形が類似する文字については、予め、公知の機械学習機能を用いて学習してあるものとする。
【0060】
S1104以降の処理は、文字認識処理の対象になった文字領域毎に行われる処理である。
【0061】
S1104において、画像処理部432は、S1103で作成した置き換え候補文字を利用して、文字領域から得られた文字列の修正候補文字列を作成する。例えば、当初に得られた文字列が数字の「1」が混ざった「Sales 1nvоice」であった場合、アルファベット大文字の「I」に変更した「Sales Invоice」のような修正候補文字列が作成されることになる。また、当該数字部分を、アルファベット小文字の「l」に変更した「Sales lnvоice」のような修正候補文字列が作成されることもある。
【0062】
S1105において、画像処理部432は、S1104にて作成した修正候補文字列ごとにスコアを算出する。その際には、予め保持している単語辞書を利用し、文字の並びが辞書の中に存在する単語と一致する場合に、高いスコアを与える。例えば、「Sales 1nvоice」という文字列については、「Sales」は単語辞書に存在する単語と一致するが、「1nvоice」は一致しない。このとき、2単語中1単語のみ、単語辞書に存在する単語と一致するので、スコアは100×1/2=50となる。また、「Sales Invоice」については、「Sales」も「Invоice」も、単語辞書に存在する単語と一致するため、スコアは100×2/2=100となる。
【0063】
画像処理部432が修正候補文字列ごとにスコアを算出する例として、「Sales Invоice」の文字列についてスコアを算出する例を示したが、画像処理部432が修正候補文字列ごとにスコアを算出する例はこの例に限られない。例えば、「下丸子 株式会社」の文字列について、「下丸子」の文字列のみが文字認識処理され、「株式会社」の文字列については、全く認識されていない場合、「下丸子」は単語辞書に存在する単語と一致するため、スコアは100×1/1=100となる。そして、後述するS1106において、「下丸子」の文字列が、文字列認識結果として確定される。しかしながら、このような場合であっても、後述するS1203又はS1204の判定で否定的な判定結果となる可能性が高く、更にはユーザが目視で確認するため、「下丸子」の文字列が、自動送信の対象となる可能性は低い。
【0064】
S1106において、画像処理部432は、S1105で算出されたスコアが最も高い修正候補文字列を、最終的な文字列認識結果として確定する。以下、このようにして確定した文字列を「確定文字列」と呼ぶ。
【0065】
以上が、文字認識処理の内容である。
【0066】
<自動送信判定処理>
S510の文字認識処理に続いて実行される、S511の自動送信判定処理について、
図12を用いて説明する。
図12は、自動送信判定処理の流れを示すフローチャートである。本フローチャートによる処理は、MFP連携サーバ120が有する記憶手段であるROM312やHDD314に記憶されたプログラムコードがRAM313に展開され、CPU311によって実行される。自動送信判定処理の前提として、ストレージ保存済みの文書ファイルのファイル名に使用された上記確定文字列に関する情報(以下、「過去データ」と呼ぶ。)が、後述のファイル名設定情報の保存処理によって、MFP連携サーバ120のHDD314に保持されているものとする。例えば、ストレージ保存の対象となった文書ファイルのファイル名に確定文字列として抽出された「見積書」が含まれていたとする。この場合、「見積書」の文字列をファイル名として使用することが、ユーザが承認したものと見做して当該確定文字列を「承認文字列」として決定する。そして、確定文字列を承認文字列として決定する度にその回数をカウントし、当該カウント数を累積承認回数として、その承認文字列と紐付けて更新・保持しておく。
【0067】
S1201において、画像処理部432は、当該文字認識処理によって得られた確定文字列のうち、注目する確定文字列(以下、注目確定文字列と呼ぶ。)の情報を取得する。例えば、画像処理部432は、MFP連携サーバ120のHDD314に保存された後述する
図8の“text”を参照し、「見積書」と「下丸子株式会社」のうち「見積書」を注目する確定文字列として取得する。
【0068】
S1202において、画像処理部432は、上述の過去データを参照して、注目確定文字列に最も類似する承認文字列の情報を取得する。例えば保存された過去データに、承認文字列として「見積書」の文字列が存在すれば当該「見積書」の文字列が取得されることになる。
【0069】
S1203において、画像処理部432は、S1201で取得した注目確定文字列とS1202で取得した承認文字列が一致するかどうかのマッチング判定を行う。ここで説明される「一致」とは、一部一致を含まない概念である。判定の結果、注目確定文字列と承認文字列が一致する場合、S1204に進む。他方、注目確定文字列と承認文字列が一致しない場合、S1206に進む。
【0070】
S1204において、画像処理部432は、上述の過去データを参照して、注目確定文字列に一致する承認文字列の累積承認回数が所定の回数以上(一定回数以上)であるか否かを判定する。ここで、所定の回数については、ユーザが、ファイルの誤送信を抑制したい程度に応じて適宜設定すればよい。例えば、ユーザがファイルの自動送信をすることについて誤送信の抑制よりも利便性を重要視している場合は、所定回数をより少ない回数(例えば3回など)設定することが考えられる。一方、ユーザが誤送信を極力抑制したいと考えている場合は、所定回数をより多い回数(例えば10回など)と設定することが考えられる。判定の結果、承認文字列の累積承認回数が所定回数以上の場合、S1205に進む。他方、累積承認回数が所定回数未満の場合、S1206に進む。
【0071】
S1205において、画像処理部432は、注目確定文字列に関し、自動送信可能であることを示す暫定情報を設定する。この暫定情報としては、例えば自動送信可能であることを2値で表すフラグ(例えば「自動送信可」の場合に“1”を「自動送信不可」の場合に“0”を付与)などが考えられる。
【0072】
S1206において、画像処理部432は、注目確定文字列に関し、自動送信不可能であることを示す暫定情報として、例えば上述のフラグを設定する。
【0073】
S1207において、画像処理部432は、未処理の確定文字列があるかどうかを確認する。未処理の確定文字列が残っている場合には、S1201の処理に戻って次の注目する確定文字列を決定して同様の処理を繰り返す。すべての確定文字列についての処理が完了していれば、S1208に進む。
【0074】
S1208において、画像処理部432は、対象画像に含まれるすべての確定文字列に対し付与された上述の暫定情報に基づいて、解析処理の対象画像について自動送信可能であるかを決定する。例えば、すべての確定文字列に対し「自動送信可」の暫定情報が設定されていれば、当該対象画像を自動送信可能と決定するといった具合である。或いは、「自動送信可」の暫定情報が付与された確定文字列の割合が一定以上であれば自動送信可能と決定してもよい。この決定を行うと、画像処理部432は処理を終了する。
【0075】
以上が、自動送信判定処理の内容である。
【0076】
<ファイル名設定情報の保存処理>
続いて、自動送信不可と判定された場合に実行される、ファイル名設定情報の保存処理(S518)について説明する。
図13は、MFP連携サーバ120の画像処理部432が、ファイル名設定情報の保存処理の流れを示すフローチャートである。本フローチャートによる処理は、ROM312やHDD314に記憶されたプログラムコードがRAM313に展開され、CPU311によって実行される。また、本フローチャートによる処理は、MFP連携サーバ120の画像処理部432がリクエスト制御部431からファイル名設定情報保存の指示を受けた後に実行される処理である。
【0077】
S1301において、画像処理部432は、リクエスト制御部431からファイル名設定情報を取得する。ファイル名設定情報には、S516で述べた通り、ファイル名に使用された確定文字列に加え、対象画像における文字領域や帳票種別等の情報が含まれる。ここで、文字領域と帳票種別の情報はそれぞれ、
図8に示したデータ構造における“rect”と“formId”に対応する情報である。例えば、文字列が「見積書」である場合、画像処理部432は、「見積書」についての文字領域を表す“x:60,y:290,width:48,height:15”の情報と、その帳票種別を表す“aaaaaaaa-ffff-49ab-acf8-55558888eeee”の情報が取得される。なお、S1302以降の各ステップは、確定文字列の単位で実行される。
【0078】
S1302において、画像処理部432は、S1301で取得したファイル名設定情報に含まれる確定文字列に対する修正の有無を示す情報に基づいて、確定文字列に対してユーザが修正を行ったか否かを判定する。ユーザがUI画面(例えば、操作部220に表示されるソフトキーボード)を操作して、誤認識された確定文字列を正しい文字列に修正することが想定される。また、当該修正には、例えば今回生成されるファイル名に使用する文字領域を、初期ファイル名で使用されている文字領域と異なるものにしたり、区切り文字を追加したり或いは削除したりすることが含まれる。
【0079】
そして、上記判定は、結果情報に含まれる“metadataArray”の“value”の値と、今回のスキャン画像に対するファイル名設定を行った後のファイル名入力欄901への入力情報との比較により行う。比較の結果、差異があれば初期ファイル名に対して修正がなされたと判断してS1303へ進み、一致していれば初期ファイル名に対して変更がなされていないと判断してS1304に進む。例えば、本来“Invoice”と文字認識処理されるべき文字列についてアルファベットの大文字の“I”ではなく、小文字の“l”と誤認識され“lnvoice”とファイル名入力欄901に表示されていたため、ユーザが修正を行っていたとする。この場合、確定文字列である“Invoice”の“I”について修正が行われたことを示す情報がファイル名設定情報には含まれていることから、これに基づいて、確定文字列についての修正があったと判定されることになる。ユーザが文字列を修正していればS1303へ進み、修正していなければS1304へ進む。
【0080】
S1303において、画像処理部432は、修正前の文字列(すなわち、文字認識処理において誤認識された文字列)及び修正後の確定文字列を、その文字領域の情報と紐付けて保存する。例えば、修正前の文字列が、アルファベットの小文字の“l”が含まれる“lnvoice”であり、修正後の確定文字列が、正しくアルファベットの大文字の“I”が含まれる“Invoice”であったとする。この場合、画像処理部432は、修正前の“lnvoice”と修正後の“Invoice”とが関連付けられ、その文字領域の情報と共に「過去データ」として記憶部に保存する。
【0081】
S1304において、画像処理部432は、確定文字列をその文字領域の情報と紐付けて保存する。さらに、画像処理部432は、当該確定文字列について、承認文字列として登録されているかどうかをチェックし、未登録であれば累積承認回数「1」をカウントし、既登録であれば現在のカウント値をインクリメント(+1)する。
【0082】
以上が、ファイル名設定情報の保存処理の内容である。
【0083】
以上説明したように本実施形態によれば、ファイル化対象画像のOCR処理の結果が、過去にファイル名等に一定回数以上使用された実績がある場合に、そのファイル名の候補として自動的に設定される。
【0084】
具体的には、累積承認回数を満たして自動送信されることになった場合は、そのときの確定文字列がファイル名に使用される。
【0085】
また、累積承認回数を満たさず自動送信されないことになった場合は、そのときの確定文字列を使用した暫定的なファイル名がユーザに提示されることとなる。
【0086】
<変形例>
自動送信の可否を決定するにあたり、類似帳票判定の結果を利用してもよい。例えば、確定文字列と承認文字列とが一致し、且つ確定文字列に係る帳票種別と承認文字列に係る帳票種別とが同一であれば、確定文字列は、より確からしい可能性が高いといえる。そこで、ユーザによって承認された確定文字列を保存する際に、その文字列が記載された帳票の種別を表す情報についても併せて保存するようにする。そして、確定文字列と承認文字列とを比較する場合は、確定文字列の帳票種別と承認文字列の帳票種別とについても比較し、両者が一致する場合にのみ累積承認回数に基づく自動送信可否の判定を行うようにしてもよい。
【0087】
[実施形態2]
実施形態1においては、過去に承認されたことがない文字列又は承認されたことはあっても、その承認回数が所定の回数より少ない文字列は、自動送信の対象としないことで、誤ったファイル名が設定されたファイルが自動送信されることを抑制した。この場合、仮に文字列を構成する文字の全てについて、文字認識処理された結果の確信度が「1」に近い値(例えば「0.9」以上)であり、且つユーザが修正しなかった文字列についても、所定の回数以上承認されない場合は、自動送信の対象にならない。それにより、文字列の確信度が高いにも関わらず、ユーザに承認の手間を煩わせてしまうという問題があるため、本実施形態2ではその問題を解決する。
【0088】
ここで、本実施形態2における、自動送信判定処理の詳細について、
図14を用いて説明する。本フローチャートによる処理は、ROM312やHDD314に記憶されたプログラムコードがRAM313に展開され、CPU311によって実行される。なお、本実施形態2のシステム構成、及び処理手順は、実施形態1で説明したものと同一であるため、その説明を省略し、異なる箇所のみを説明する。
【0089】
S1401及びS1402は、実施形態1の
図12のフローにおけるS1201及びS1203と同一であるため、説明を省略する。
【0090】
S1403では、S1203と同様に、画像処理部432は、注目確定文字列と承認文字列が一致するかどうかのマッチング判定を行う。注目確定文字列と承認文字列が一致する場合、S1404に進む。一方、目確定文字列と承認文字列が一致しない場合、S1406に進む。
【0091】
S1404では、S1204と同様に、画像処理部432は、注目確定文字列に一致する承認文字列の累積承認回数が所定の回数以上であるか否かを判定する。累積承認回数が所定の回数以上である場合、S1406に進む。一方、累積承認回数が所定の回数未満である場合、S1405に進む。
【0092】
S1405において、画像処理部432は、注目確定文字列を構成する全ての文字に関して、確信度が予め設定された閾値以上であるか否か判定する。なお、ここでの確信度については、実行済みの
図11のフローにおいて算出済みの確信度を用いればよい。例えば、注目確定文字列が「見積書」であった場合、「見」、「積」、「書」の3つそれぞれの文字に関して、その確信度が予め設定された閾値以上であるか否か判定する。この場合の確信度の閾値については、ユーザが、ファイルの誤送信を抑制したい程度に応じて適宜設定すればよい。例えば、ユーザがファイルの自動送信をすることについて誤送信の抑制よりも利便性を重要視している場合は、確信度の閾値をより小さい値(例えば0.6など)設定することが考えられる。一方、ユーザが誤送信を極力抑制したいと考えている場合は、確信度の閾値をより大きい値(例えば0.9など)と設定することが考えられる。そして、注目確定文字列を構成する全ての文字について確信度が閾値以上であれば、当該注目確定文字列について自動送信可能と判断する。或いは、注目確定文字列を構成する文字のうち確信度が閾値以上と判定された文字の割合が一定以上であれば自動送信可と判断するようにしてもよい。判定の結果、注目確定文字列について自動送信可能と判定された場合はS1406に進む。他方、注目確定文字列について自動送信不可と判定された場合はS1407に進む。
【0093】
S1406では、S1205と同様に、画像処理部432は、注目確定文字列に関し、自動送信可能であることを示す暫定情報を設定する。また、確信度が閾値以上である場合、確信度が閾値以上であることを表す情報を別途設定してもよい。確信度が閾値以上であることを表す情報の例として、「∞」が挙げられるが、確信度が閾値以上であることを表す情報の例はこれに限られない。
【0094】
確信度が閾値以上であることを表す情報を別途設定する場合、累積承認回数に関する情報に代えて、当該情報を設定してもよいし、累積承認回数に関する情報と併せて、当該情報を設定してもよい。
【0095】
S1407は、
図12のフローにおけるS1206に対応し、特に異なるところはないので説明を省略する。
【0096】
S1408及びS1409についても、
図12のフローにおけるS1207及びS1208にそれぞれ対応し、特に異なるところはないので説明を省略する。
【0097】
以上が、本実施形態2に係る自動送信判定処理の内容である。
【0098】
以上説明したように本実施形態2によれば、確定文字列の承認回数が所定回数未満の場合であっても、確信度の閾値が所定値以上であれば、自動送信可能であることを示す暫定情報が設定される。これにより、実施形態1と比較して、自動送信の対象となる文書ファイルが増えることになりユーザが承認を行う手間を省くことができる。
【0099】
[実施形態3]
実施形態1及び実施形態2においては、ある文字列の累積承認回数が所定の回数以上である場合に文書ファイルを自動送信可能と判定していた。ところで、ユーザの中には、
図9のファイル名入力欄901に表示された文字列を頻繁に修正するユーザもいれば、殆ど修正しないユーザもいる。文字列を頻繁に修正するユーザは、文字列を殆ど修正しないユーザに比べると修正ミスをしてしまうリスクが高く、その結果、誤った文字列が承認されてしまう可能性も高いといえる。そうなると、誤った文字列をファイル名等に使用して自動送信されてしまうことに繋がる。そこで、本実施形態では、ユーザ毎の修正頻度に応じて、ファイルを自動送信するための基準である累積承認回数を変更する。具体的には、文字列を頻繁に修正するユーザについては、当該ユーザによって承認された文字列をファイル名に用いて自動送信するために必要な累積承認回数を増やすようにする。
【0100】
なお、本実施形態2のシステム構成、及び処理手順は、実施形態1で説明したものと同一であるため、その説明を省略し、異なる箇所のみを説明する。
【0101】
<ファイル名設定情報保存処理>
ここで、本実施形態における、MFP連携サーバ120が画像処理部432で行うファイル名設定情報保存処理の詳細について、
図15を用いて説明する。本フローチャートによる処理は、ROM312やHDD314に記憶されたプログラムコードがRAM313に展開され、CPU311によって実行される。以下の説明では、確定文字列の累積修正回数をカウントしたり、確定文字列の修正頻度を算出したりする処理の対象となるユーザを「対象ユーザ」と呼ぶこととする。また、「過去データ」は、当該文書ファイルを作成した対象ユーザ毎に集計されて、記憶手段に保持されているものとする。具体的には、どの文字列を何回修正したかを示す回数の情報、どの文字列を何回修正しなかったかを示す回数の情報、文書ファイルを保存するに際しての確定文字列を修正する頻度の情報が、ユーザ毎に保持されている。
【0102】
S1501において、画像処理部432は、リクエスト制御部431からファイル名設定情報を取得する。本実施形態で取得するファイル名設定情報には、ファイル名に使用された文字列やその文字領域といった情報に加え、対象ユーザを特定するユーザIDの情報、及び当該対象ユーザによる確定文字列に対する修正の有無に関する情報が含まれる。
【0103】
S1502において、画像処理部432は、対象ユーザについての「過去データ」を取得する。なお、S1503以降の各ステップは、確定文字列の単位で実行される。
【0104】
S1503において、画像処理部432は、確定文字列に対して対象ユーザが修正を行ったか否かを判定する。なお、ここでの判定の詳細については、実施形態1の
図13のフローにおけるS1302と同一であるため、説明を省略する。対象ユーザが確定文字列を修正した場合、S1504に進む。一方、対象ユーザが確定文字列を修正していない場合、S1508に進む。
【0105】
対象ユーザが確定文字列を修正した場合、S1504において、画像処理部432は、対象ユーザが確定文字列を修正したことを表す情報を取得することに基づいて、当該対象ユーザが確定文字列を修正した回数の累積値(累積修正回数)を更新する。さらに、画像処理部432は、当該確定文字列の修正履歴について、登録されているかどうかをチェックし、未登録であれば累積修正回数「1」をカウントし、既登録であれば現在の累積修正回数をインクリメント(+1)する。S1505において、画像処理部432は、確定文字列についての累積修正回数に基づいて、当該確定文字列が対象ユーザによって修正される頻度(以下、「修正頻度」と呼ぶ。)を算出する。S1506において、画像処理部432は、算出された修正頻度に基づいて、当該対象ユーザによって修正された確定文字列をファイル名に用いて自動送信するために必要な累積承認回数を算出する。S1507は、
図13のフローにおけるS1303に対応し、特に異なるところはないので説明を省略する。
【0106】
対象ユーザが確定文字列を修正していない場合、S1508において、画像処理部432は、S1505と同様に、修正頻度を算出する。そして、S1509において、画像処理部432は、S1506と同様に、閾値としての累積承認回数を算出する。
【0107】
S1510において、画像処理部432は、対象ユーザ毎に累積承認回数等の情報を保存する。すなわち、ファイル名設定情報として、各確定文字列について新たに算出・設定された累積承認回数と対象ユーザを識別する情報(ユーザID)とを紐付けて保存する。
【0108】
以上が、本実施形態に係るファイル名設定情報保存処理の流れである。
【0109】
<適用例>
ここで、対象ユーザが確定文字列を修正した場合におけるS1504以下の処理について、具体例を用いて説明する。
【0110】
例えば、過去に実行されたファイル名設定情報保存処理において、ユーザAが、文字列“Invoice”を19回使用し、そのうちの9回修正を行っていたとする。そして、20回目のファイル名設定情報保存処理において、当該ユーザAが文字列“Invoice”を修正したとする。そうすると、ユーザAに関し、文字列“Invoice”についての累積修正回数がインクリメントされて、10回に更新される(S1504)。この場合におけるユーザAの修正頻度は、例えば以下の式(1)で求めることができる(S1505)。
【0111】
「累積修正回数/(累積修正回数+修正しなかった回数)=修正頻度」 ・・・式(1)
いま、上記式(1)からユーザAの修正頻度は、(10回)/(10回)+(10回))=0.5となる。
【0112】
そして、上記式(1)によって算出された修正頻度に基づいて、確定文字列“Invoice”をファイル名に用いて自動送信するために必要な累積承認回数が算出される(S1506)。この場合の算出には、例えば以下の式(2)を用いればよい。
【0113】
「(修正頻度)×10+(予め設定した累積承認回数)=新たな累積承認回数」・・・式(2)
ここで、上記式(2)における“×10”は、小数で表される修正頻度を整数にするための定数である。なお、修正頻度が小数点第二位以下まで続いてしまう場合は、小数点第二位以下を切り捨てればよい。
【0114】
いま、予め設定した累積承認回数が5回であったとする。そうすると、修正頻度が0.5の場合の新たな累積承認回数は、(0.5)×10+(5回)=10回となる。ここで、上記式(2)に基づいて算出された承認回数が整数とならなかった場合、小数点以下については、切り捨ててよい。なお、上記式(2)から明らかなように、「新たな累積承認回数」は「予め設定した累積承認回数」を下回ることはない。つまり、「予め設定した累積承認回数」は、確定文字列をファイル名に用いて自動送信するために必要となる承認回数の下限値として機能する。なお、ここでは、累積承認回数を増やす場合の変更について説明したが、これに限定されない。例えば、下限値よりも大きな値を「予め設定した累積承認回数」の初期値として設定しておき、文字列を殆ど修正しないユーザについては、当該ユーザによって承認された文字列についての累積承認回数を減らすような変更を行ってもよい。
【0115】
以上のとおり本実施形態によれば、ユーザの修正頻度に応じた適切な閾値としての累積承認回数を設定することが可能になる。
【0116】
(その他の実施形態)
本開示の技術は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0117】
110 MFP
120 MFP連携サーバ
130 ストレージサーバ
220 操作部
431 リクエスト制御部
432 画像処理部
433 クラウドストレージアクセス部
434 ファイル生成部
435 表示制御部