(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189109
(43)【公開日】2022-12-22
(54)【発明の名称】画像処理装置、画像処理方法およびプログラム
(51)【国際特許分類】
G06F 40/131 20200101AFI20221215BHJP
H04N 1/00 20060101ALI20221215BHJP
G06V 30/413 20220101ALI20221215BHJP
G06V 30/412 20220101ALI20221215BHJP
【FI】
G06F40/131
H04N1/00 567L
G06K9/20 340L
G06K9/20 340C
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021097497
(22)【出願日】2021-06-10
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】中村 峻
【テーマコード(参考)】
5B029
5B109
5C062
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC26
5B029CC27
5B029CC28
5B029CC29
5B109NA03
5B109NC02
5B109NE01
5C062AA05
5C062AB02
5C062AB20
5C062AB23
5C062AB40
5C062AB42
5C062AC02
5C062AC05
5C062AC22
5C062AC58
5C062AF07
5C062AF13
(57)【要約】
【課題】処理コストを抑えながらも、複数の文書を連続でスキャンして得られたスキャン画像における文書単位の区切りを判別する。
【解決手段】複数の文書をページ単位で連続してスキャンして得られたスキャン画像についてページ単位でレイアウトを解析し、解析結果に基づき、スキャン画像の各ページについて、当該スキャン画像の1ページ目との類似度を算出する。算出した類似度に基づき、スキャン画像から、前記複数の文書の各文書における先頭ページ候補を抽出し、抽出した先頭ページ候補に対して文字認識を行う。文字認識結果に基づき、各文書の区切りを判定する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
複数の文書をページ単位で連続してスキャンして得られたスキャン画像についてページ単位でレイアウトを解析する解析手段と、
前記解析手段による解析結果に基づき、前記スキャン画像の各ページについて、当該スキャン画像の1ページ目との類似度を算出する算出手段と、
前記算出手段により算出した類似度に基づき、前記スキャン画像から、前記複数の文書の各文書における先頭ページ候補を抽出する抽出手段と、
前記抽出手段により抽出した前記先頭ページ候補に対して文字認識を行う文字認識手段と、
前記文字認識手段による文字認識結果に基づき、前記各文書の区切りを判定する判定手段と、
を有する、ことを特徴とする画像処理装置。
【請求項2】
前記判定手段は、前記各文書の区切りとして、前記各文書の先頭ページを判定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記抽出手段は、前記各文書の先頭ページ候補として、前記類似度が所定の閾値を超えるページと、前記スキャン画像における1ページ目とを抽出する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記判定手段が実行した過去の判定結果に基づき確定した前記先頭ページを示す履歴情報を登録する登録手段をさらに有し、
前記判定手段は、前記文字認識手段による文字認識結果と前記登録手段により登録された前記履歴情報とに基づき、前記各文書の先頭ページを判定する
ことを特徴とする請求項2または3に記載の画像処理装置。
【請求項5】
前記抽出手段により抽出した前記各文書における先頭ページ候補と、前記確定した前記先頭ページとの間の不適合率を算出する第二の算出手段を有し、
前記判定手段は、前記第二の算出手段により算出された不適合率が所定の値より小さい場合には、前記文字認識手段による文字認識を行わせず、前記先頭ページ候補を前記先頭ページとして判定する
ことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記不適合率は、前記先頭ページ候補と、前記先頭ページとから得られる排他的論理和を、前記先頭ページ候補の総数で除した値である
ことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記履歴情報は、さらに、前記判定手段による先頭ページの判定に用いられた文字列の文字領域を示す領域情報を含み、
前記文字認識手段は、前記領域情報に基づき、前記先頭ページの判定に用いられた文字列の文字領域に対してのみ文字認識を行う
ことを特徴とする請求項4から6の何れか一項に記載の画像処理装置。
【請求項8】
前記判定手段により判定した各文書の先頭ページに応じて前記スキャン画像を文書単位の区切りで分割する分割手段を有する
ことを特徴とする請求項1から7の何れか一項に記載の画像処理装置。
【請求項9】
前記分割手段により前記スキャン画像を前記文書単位の区切りで分割したファイルを管理する管理手段を有する、ことを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記判定手段による判定結果を含む画面を表示する表示手段をさらに有する
ことを特徴とする請求項8または9に記載の画像処理装置。
【請求項11】
前記判定手段による判定結果を含む画面では、前記文書単位の区切り位置がユーザ操作によって調整可能となっている
ことを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記表示手段は、前記スキャン画像を前記文書単位の区切りで分割したファイルに対してファイル名を設定する設定画面を表示する
ことを特徴とする請求項10または11に記載の画像処理装置。
【請求項13】
複数の文書をページ単位で連続してスキャンして得られたスキャン画像についてページ単位でレイアウトを解析する解析ステップと、
前記解析ステップによる解析結果に基づき、前記スキャン画像の各ページについて、当該スキャン画像の1ページ目との類似度を算出する算出ステップと、
前記算出ステップにて算出した類似度に基づき、前記スキャン画像から、前記複数の文書の各文書における先頭ページ候補を抽出する抽出ステップと、
前記抽出ステップにて抽出した前記先頭ページ候補に対して文字認識を行う文字認識ステップと、
前記文字認識ステップによる文字認識結果に基づき、前記各文書の区切りを判定する判定ステップと、
を含む、ことを特徴とする画像処理方法。
【請求項14】
コンピュータを、請求項1から12の何れか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、複数の文書を連続してスキャンして得られたスキャン画像における文書単位の区切りを判別する技術に関する。
【背景技術】
【0002】
文書の管理手法として、紙帳票などの文書をスキャナで読み取って得られたスキャン画像を所定フォーマットのファイルに変換し、ネットワーク上のストレージサーバに送信して保存する手法が広く利用されている。
【0003】
そのような手法が利用されるユースケースとして、複数の帳票等を連続スキャンして得られたスキャン画像を帳票単位の区切りで分割してファイル化し、ストレージサーバに保存することがある。このように文書単位でファイル化する際には、複数の帳票等を連続スキャンして得られたスキャン画像を文書単位で分離する必要がある。この点、特許文献1は、複数の文書を読み込んで得られた文書画像に対して文字認識処理および解析処理を行い、この処理結果を用いて文書区切り情報を抽出する技術を開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1の技術では、文書画像の全ページに対して文字認識処理および解析処理を行う必要があるため、多大な処理コストを要した。
【0006】
本開示は、上記の問題に鑑みてなされたものであり、処理コストを抑えながらも、複数の文書を連続でスキャンして得られたスキャン画像における文書単位の区切りを判別する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る画像処理装置は、複数の文書をページ単位で連続してスキャンして得られたスキャン画像についてページ単位でレイアウトを解析する解析手段と、前記解析手段による解析結果に基づき、前記スキャン画像の各ページについて、当該スキャン画像の1ページ目との類似度を算出する算出手段と、前記算出手段により算出した類似度に基づき、前記スキャン画像から、前記複数の文書の各文書における先頭ページ候補を抽出する抽出手段と、前記抽出手段により抽出した前記先頭ページ候補に対して文字認識を行う文字認識手段と、前記文字認識手段による文字認識結果に基づき、前記各文書の区切りを判定する判定手段と、を有することを特徴とする。
【発明の効果】
【0008】
本開示によれば、処理コストを抑えながらも、複数の文書を連続でスキャンして得られたスキャン画像における文書単位の区切りを判別することができる。
【図面の簡単な説明】
【0009】
【
図1】画像処理システムの全体構成を示す図である。
【
図2】MFPのハードウェア構成例を示す図である。
【
図3】クライアントPC、MFP連携サーバ及びストレージサーバのハードウェア構成例を示す図である。
【
図4】画像処理システムのソフトウェア構成例を示す図である。
【
図5】画像処理システム全体の処理の流れを示すシーケンス図である。
【
図7】分割ページ確定画面例およびファイル名設定画面例を示す図である。
【
図8】画像解析処理の流れを示すフローチャートである。
【
図9】文書先頭ページ候補抽出処理の詳細な流れを示すフローチャートである。
【
図10】文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【
図11】OCR結果による文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【
図12】画像処理システム全体の処理の流れを示すシーケンス図である。
【
図14】文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【
図15】履歴によるOCR要否判定処理の詳細な流れを示すフローチャートである。
【
図16】OCR結果による文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【
図17】文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本開示の技術を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る本開示の技術を限定するものでなく、また以下の実施の形態で説明されている特徴の組み合わせの全てが本開示の技術の解決手段に必須のものとは限らない。
【0011】
[第一の実施形態]
<画像処理システムの概要>
図1は、本実施形態に係る画像処理システムの全体構成を示す図である。画像処理システム100は、MFP(Multi-Function Peripheral)110、クライアントPC(Personal Computer)111、MFP連携サーバ120およびストレージサーバ130を含む。MFP110及びクライアントPC111は、LAN(Local Area Network)経由でインターネット上の各種サービスを提供するサーバに対して通信可能に接続されている。
【0012】
MFP110は、スキャン機能を有する画像処理装置の一例である。MFP110は、スキャン機能に加え印刷機能やBOX保存機能といった複数の機能を有する複合機である。クライアントPC111はMFP連携サーバ120に対して依頼したサービスの提供を受けるアプリケーションがインストールされたコンピュータの一例である。サーバ装置120および130は、共にクラウドサービスを提供する画像処置装置の一例である。本実施形態のサーバ装置120は、MFP110から受け取ったスキャン画像に対し画像解析を行い自サーバ上に保存したり、別のサービスを提供するサーバ装置130に対しMFP110からのリクエストを転送したりするサービスを提供する。以下、サーバ装置120が提供するクラウドサービスを「MFP連携サービス」と呼ぶこととする。サーバ装置130は、インターネットを介して送られてきたファイルを保存したり、モバイル端末(不図示)などのウェブブラウザからの要求に応じて保存ファイルを提供したりするクラウドサービス(以下、「ストレージサービス」と呼ぶ)を提供する。本実施形態では、MFP連携サービスを提供するサーバ装置120を「MFP連携サーバ」と呼び、ストレージサービスを提供するサーバ装置130を「ストレージサーバ」と呼ぶこととする。
【0013】
本実施形態の画像処理システム100は、MFP110、クライアントPC111、MFP連携サーバ120およびストレージサーバ130からなる構成としているがこれに限定されない。例えば、クライアントPC111やMFP連携サーバ120の機能をMFP110が兼ね備えてもよい。また、MFP連携サーバ120はインターネット上ではなくLAN経由でMFP110やクライアントPC111と接続されていてもよい。また、ストレージサーバ130を、メール配信サービスを行うメールサーバに置き換えて、文書のスキャン画像をメールに添付し送信する場面に適用してもよい。
【0014】
<MFPのハードウェア構成>
図2は、MFP110のハードウェア構成例を示す図である。MFP110は、制御部210、操作部220、プリンタ221、スキャナ222、モデム223を有する。制御部210は、以下の各部211-219を有し、MFP110全体の動作を制御する。CPU211は、中央処理装置であり、ROM(Read Only Memory)212に記憶された制御プログラム(後述のソフトウェア構成図で示す各種機能に対応するプログラム)を読み出して実行する。RAM(Random Access Memory)213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施形態では1つのCPU211が1つのメモリ(RAM213またはHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAMまたはHDDを協働させて各処理を実行してもよい。HDD(Hard Disk Drive)214は、画像データや各種プログラムを記憶する大容量記憶部である。操作部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に入力する。MFP110は、スキャナ222で生成された画像データをプリンタ221から印刷出力(コピー)する他、ファイル送信またはメール送信することができる。モデムI/F218は、モデム223と制御部210とを接続するインタフェースである。モデム223は、PSTN(Public Switched Telephone Networks)上のファクシミリ装置との間で画像データをファクシミリ通信する。ネットワークI/F219は、制御部210(MFP110)をLANに接続するインタフェースである。MFP110は、ネットワークI/F219を用いてインターネット上の各サービスに画像データや情報を送信したり、各種情報を受信したりする。
【0015】
<クライアントPC、サーバ装置のハードウェア構成>
図3は、クライアントPC111、MFP連携サーバ120及びストレージサーバ130のハードウェア構成例を示す図である。クライアントPC111、MFP連携サーバ120及びストレージサーバ130は共通のハードウェア構成を有し、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315で構成される。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークI/F315は、制御部310をインターネットに接続するインタフェースである。MFP連携サーバ120及びストレージサーバ130は、ネットワークI/F315を介して他の装置(MFP110等)から様々な処理のリスエストを受け、当該クリエストに応じた処理結果を返す。
【0016】
<画像処理システムのソフトウェア構成>
図4は、本実施形態に係る画像処理システム100のソフトウェア構成例を示すブロック図であり、
図4(a)に画像処理システム100の全体を示し、
図4(b)にMFP連携サーバ120の画像処理部432の詳細を示す。以下、画像処理システム100を構成するMFP110、MFP連携サーバ120及びストレージサーバ130それぞれの役割に対応したソフトウェア構成を順に説明する。なお、以下では各装置が有する諸機能のうち、文書をスキャンして電子化(ファイル化)し、ストレージサーバ130に保存を行うまでの処理に関わる機能に絞って説明を行うものとする。
【0017】
<MFPのソフトウェア構成>
MFP110の機能モジュールは、ネイティブ機能モジュール410とアディショナル機能モジュール420の2つに大別される。ネイティブ機能モジュール410はMFP110に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール420はMFP110に追加的にインストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。なお、MFP110には図示しない他の追加アプリケーションがインストールされていてもよい。
【0018】
ネイティブ機能モジュール410は、スキャン実行部411およびスキャン画像管理部412を有する。アディショナル機能モジュール420は、表示制御部421、スキャン指示部422、連携サービスリクエスト部423、画像処理部424を有する。
【0019】
表示制御部421は、操作部220のタッチパネル機能を有する液晶表示部に、各種のユーザ操作を受け付けるユーザインターフェース画面(UI画面)を表示する。各種のユーザ操作には、例えば、MFP連携サーバ120へのアクセスに用いられるログイン認証情報の入力、スキャン設定、スキャン開始指示、分割ページ確定指示、ファイル名の入力、ファイル名設定指示、ファイルの保存指示などがある。
【0020】
スキャン指示部422は、UI画面でなされたユーザ操作(例えば「スキャン開始」ボタンの押下)に応じて、スキャン設定の情報と共にスキャン実行部411に対しスキャン処理の実行を指示する。スキャン実行部411は、スキャン指示部422からのスキャン処理の実行指示に従い、スキャナI/F217を介してスキャナ222に文書の読み取り動作を実行させ、原稿台ガラスに置かれた原稿(紙文書)を読み取ることでスキャン画像データを生成する。生成したスキャン画像データは、スキャン画像管理部412によってHDD214に保存される。この際、保存されたスキャン画像データを一意に示すスキャン画像識別子の情報が、スキャン指示部422へ通知される。スキャン画像識別子は、MFP110においてスキャンした画像をユニークに識別する番号や記号、アルファベットなどである。スキャン指示部422は、例えばファイル化する対象のスキャン画像データを上記のスキャン画像識別子を使ってスキャン画像管理部412から取得する。そして、ファイル化のために必要な処理のリクエストをMFP連携サーバ120に対して行うよう、連携サービスリクエスト部423に対して指示する。
【0021】
連携サービスリクエスト部423は、MFP連携サーバ120に対して各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には、例えば、ログイン認証、スキャン画像の解析、スキャン画像データの送信等が含まれる。MFP連携サーバ120とのやり取りにはREST(Representational State Transfer)やSOAP(Simple Object Access Protocol)等のプロトコルが使用される。MFP連携サーバ120とのやり取りはこれに限定されず、その他の通信手段を用いてもよい。画像処理部424は、スキャン画像データに対して所定の処理を行って、表示制御部421が表示するUI画面で用いられる画像を生成する。
【0022】
<サーバ装置のソフトウェア構成>
まず、MFP連携サーバ120のソフトウェア構成について説明する。MFP連携サーバ120は、リクエスト制御部431、画像処理部432、ストレージサーバアクセス部433、データ管理部434、表示制御部435を有する。リクエスト制御部431は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部432、ストレージサーバアクセス部433、データ管理部434に対し所定の処理を実行する。
【0023】
画像処理部432は、MFP110から送られてくるスキャン画像に対して、文字領域の検出処理、文字認識処理、類似文書(帳票)の判定処理(
図8から
図10を用いて後述する)といった解析処理、回転や傾き補正といった画像加工処理を行う。画像処理部432は、
図4(b)に示すように、画像補正部451、文字領域検出部452、OCR(OCR:Optical Character Recognition)処理部(文字認識部)453を有する。画像処理部432は、文書先頭ページ候補抽出部461、文書先頭ページ判定部471をさらに有する。文書先頭ページ候補抽出部461は、レイアウト解析部462、類似度算出部463を有する。文書先頭ページ判定部471は、不適合率算出部472、分割判定利用フラグ設定部473を有する。画像処理部432が有する各機能部の処理の詳細については、全体の処理の説明の中で随時行う。なお、各機能部は、他の機能部の一部の機能を担ってもよい。
【0024】
ストレージサーバアクセス部433は、ストレージサーバ130に対する処理のリクエストを行う。クラウドサービスでは、RESTやSOAP等のプロトコルを用いてストレージサーバにファイルを保存したり、保存したファイルを取得したりする様々なインタフェースを公開している。ストレージサーバアクセス部433は、公開されたストレージサーバのインタフェースを使用して、ストレージサーバ130に対するリクエストを行う。データ管理部434は、MFP連携サーバ120で管理するユーザ情報、画像解析結果、各種設定データ等を保持・管理する。
【0025】
表示制御部435は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、MFP連携サーバ120に登録されているユーザ情報を確認したり、スキャン設定を変更したりできる。
【0026】
次に、ストレージサーバ130のソフトウェア構成について説明する。ストレージサーバ130は、リクエスト制御部441、ファイル管理部442、表示制御部443を有する。リクエスト制御部441は、外部装置からのリクエストを受信できる状態で待機しており、本実施形態においてはMFP連携サーバ120からのリクエストに応じて、受信したファイルの保存や保存ファイルの読み出しをファイル管理部442に指示する。そして、リクエストに応じたレスポンスをMFP連携サーバ120に返す。表示制御部443は、インターネット経由で接続されたPCやモバイル端末(不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、ストレージサーバ130に登録されている保存ファイルを確認したり取得したりできる。
【0027】
なお、
図4(a)を用いてMFP110がアディショナル機能モジュール420を有する構成例について説明したが、本実施形態はこの構成に限定されない。例えば、クライアントPC111がアディショナル機能モジュール420の機能を含んでいても構わない。すなわち、MFP110にて得たスキャン画像の解析リクエストや解析結果に基づく各文書における文書先頭ページの確定やファイル名の設定等を、クライアントPC111で行うようなシステム構成でも構わない。
【0028】
クライアントPC111にて各文書における文書先頭ページの確定やファイル名の設定等を行う場合、これら処理を行うためのプログラム(モジュール)は、クライアントPC111に予めインストールしておく構成でもよい。ただし、これに限定されず、例えば、クライアントPC111が備える汎用のウェブブラウザを利用して、文書先頭ページの確定等を行うためのウェブアプリケーションをMFP連携サーバ120から取得して実行する構成でもよい。
【0029】
<画像処理システム全体の処理の流れ>
図5は、MFP110にて複数の文書をページ単位で連続してスキャンし、得られたスキャン画像をファイル化してストレージサーバ130に保存(送信)する際の、各装置間の処理の流れを示すシーケンス図である。ここでは、各装置間のやり取りを中心に説明する。なお、
図5のシーケンス図ではMFP110がMFP連携サーバ120とやり取りを行う場合の説明となっているが、後述する解析結果取得、画面の表示等はMFP110でなくクライアントPC111が実行する構成でも構わない。
【0030】
MFP110は、通常の状態では提供する各機能を実施するためのボタンを並べたメイン画面をタッチパネル上に表示する。
【0031】
MFP110にスキャン画像をストレージサーバ130に送信するための追加アプリケーション(以降、スキャンアプリと呼ぶ)をインストールすることで、アプリケーションの機能を使用するボタンがMFP110のメイン画面に表示される。メイン画面に表示されたボタンがユーザ操作によって押下されると、スキャン画像をストレージサーバ130に送信するための画面が表示され、
図5のシーケンス図で示される一連の処理が開始する。以下、
図5のシーケンス図に沿って、装置間のやり取りを時系列に説明する。なお、以下の説明において記号「S」はステップを表す。
【0032】
S501では、スキャンアプリが実行されることで、MFP110は、MFP連携サーバ120にアクセスするためのログイン認証の情報を入力するUI画面(ログイン画面)を操作部220に表示する。
【0033】
S502では、ユーザが、予め登録されているユーザIDとパスワードを、ログイン画面上の入力欄にそれぞれ入力しログインボタンを押下すると、ログイン認証のリクエストが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】
ログインが完了すると、MFP110は、スキャン設定用のUI画面(以下、「スキャン設定画面」と表記)を操作部220に表示する(S504)。ユーザが、スキャン設定画面を介して、スキャン処理についての詳細な条件設定を行い、原稿台ガラスまたはADFにスキャン対象である複数の紙文書をセットし、「スキャン開始」ボタンを押下すると、スキャンが実行される(S505)。これにより、複数の紙文書を電子化したスキャン画像データ(スキャン画像)が生成される。スキャンの完了後、MFP110は、スキャンによって得られたスキャン画像データを、その解析リクエストと共にMFP連携サーバ120に送信する(S506)。
【0036】
スキャン画像の解析リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が画像処理部432に対し、画像解析処理の実行を指示する(S507)。その際、リクエスト制御部431は、受信した解析リクエストを一意に特定可能な識別子であるリクエストID(”processId”)をMFP110に返す。一方、解析処理の実行指示を受けた画像処理部432は、スキャン画像データに対する解析処理を実行する(S508)。
【0037】
画像解析処理では、まず、S506にてMFP110より受信したスキャン画像データに対して、S508にて各文書の文書先頭ページ候補を抽出し、抽出した文書先頭ページ候補に対して詳細な解析を行う。そして、解析結果を基づき、各文書の区切り位置を判定するための各文書の文書先頭ページを確定する。S508の解析処理の詳細については、
図8から
図10を用いて後述する。なお、スキャン画像は、スキャン画像群ともいう。
【0038】
上記画像解析処理が行われている間、MFP110は、上述のリクエストIDを使用して、MFP連携サーバ120に対して定期的(例えば数百ミリ秒から数ミリ秒程度毎等)に処理状況の問い合わせを行う(S509~S509’)。この問い合わせは、MFP連携サーバ120からの解析処理の完了レスポンス(S510)が取得できるまで繰り返し実行される。MFP連携サーバ120は、処理状況の問い合わせを受けると、リクエストIDに対応する画像解析処理の進行状況を確認し、完了していない場合は処理中を表すレスポンスを返す。また、完了していた場合は完了を表すレスポンスを返す。このレスポンスの”status”には現在の処理状況を示す文字列、具体的には、MFP連携サーバ120で処理が行われている最中である場合には”processing”が入り、処理が完了している場合には”completed”が入る。なお、処理が失敗した場合の”failed”など、他のステータスの文字列が入ることもある。また、処理完了時(statusがcompletedの場合)のレスポンスには、ステータス情報に加え、スキャン画像を解析した解析結果情報、スキャン設定情報等が含まれる。
【0039】
処理完了レスポンスを受信した後、MFP110は、当該レスポンスに含まれる、画像解析結果の格納先を示すURLを用いて、画像解析処理結果の取得を、MFP連携サーバ120に対してリクエストする(S511)。リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が解析処理の結果情報をMFP110に返す。
【0040】
そして、MFP110は、S511のリクエストで取得した解析処理の結果情報を使用して、スキャン画像群における各文書の分割ページを確定するためのUI画面(以下、「分割ページ確定画面」と表記)を表示する(S512)。表示された分割ページ確定画面での処理の詳細については、
図7(a)を用いて後述する。
【0041】
分割ページ確定画面710(
図7(a))にてスキャン画像群に対し各文書の区切り位置が必要に応じてユーザ操作で再指定された状態で、「OK」ボタン717が押下されると、スキャン画像において、各文書の区切りとなる位置が確定されることとなる。
【0042】
そして、MFP110は、S512の処理で確定した位置で区切られた各ファイルのファイル名を設定するためのUI画面(以下、「ファイル名設定画面」と表記)を表示する(S513)。表示されたファイル名設定画面での処理の詳細については、
図7(b)を用いて後述する。ファイル名設定画面720(
図7(b)にて各ファイルのファイル名が入力された状態で、「OK」ボタン727が押下されると、各ファイルのファイル名が設定されることとなる。
【0043】
そして、S512にて確定された各文書の区切りとなる位置やS513にて設定されたファイル名などに関する情報がMFP連携サーバ120に送られる(S514)。MFP連携サーバ120はリクエストを受信すると、MFP110より受信した情報に基づきファイル生成処理を開始するとともにリクエストを正常に受けたことをMFP110に返す。MFP110は送信のレスポンスを受けると処理を終了し、S504のスキャン設定画面表示に戻る。
【0044】
一方、MFP連携サーバ120では、事前に登録されたスキャン設定からストレージサーバ130に送信するファイルフォーマットの情報を取得し、当該ファイルフォーマットに従ってスキャン画像からファイルを生成する(S515)。この際、生成されたファイルにはS513で設定されたファイル名が付されることになる。こうして生成されたスキャン画像ファイルは、ストレージサーバ130に送信され、保存される(S516)。スキャン画像ファイルを受信したストレージサーバ130は、MFP連携サーバ120のリクエスト制御部431にスキャン画像ファイルの送信完了のレスポンスを返す。
【0045】
以上が、画像処理システム全体の処理の流れである。
【0046】
図6は、複数の文書をページ単位で連続してスキャンして得られたスキャン画像群例を示す図である。MFP110によりS505の処理にて生成されたスキャン画像群は、「スキャン画像群におけるページ順」に示すように、6ページで構成されており、1、2、3、4、5、6の順番となっているものとする。6ページで構成されるスキャン画像群は、3つの文書のスキャン画像からなる。3つの文書は、それぞれ文書A、文書B、文書Cであるとする。スキャン画像群におけるページ順が2番、3番、5番のページ画像はスキャン画像群におけるページ順が1番のページ画像とレイアウトが類似している。以降、スキャン画像群におけるページ順が1番のページ画像を「スキャン先頭ページ」と呼称し、スキャン画像群に含まれるある文書内の1ページ目を「文書先頭ページ」と呼称し区別することにする。
図6の例では、スキャン画像群におけるページ順が1のページ画像がスキャン先頭ページかつ文書先頭ページであり、2番、5番のページ画像が文書先頭ページであるということになる。スキャン先頭ページとレイアウトが類似しているページ画像に記載された内容を見ると、それぞれ文書の識別子を表す「文書ID」と、文書中のページ番号を表す「P.」が記載されている。スキャン先頭ページの「文書ID」の値は1、「P.」の値は1である。スキャン画像群におけるページ番号が2番、3番、5番のページについては、この順に「文書ID」の値は2、2、3であり、また「P.」の値は1、2、1である。一般的に同一の文書中では文書の識別子は同一であり、文書内のページ番号は連番もしくは文書内のページ順に大きくなっていくものと認めることができる。また、スキャン先頭ページは、スキャン画像群に含まれる1つないし複数の文書のうちの1つの文書の文書先頭ページである可能性が高いと認めることができる。また、スキャン画像群に含まれる1つないし複数の文書の文書先頭ページは、スキャン先頭ページと類似していることが多いという前提に立つものである。本実施形態では、これらの前提のもとでスキャン画像群に含まれる1つないし複数の文書を文書単位で適切に分割する(判別する)ための手法を提案する。
【0047】
分割ページ確定画面での処理の詳細について、図を用いて説明する。
図7は、MFP110のタッチパネルに表示されるUI画面例を示す図であり、
図7(a)にS512にて表示される分割ページ確定画面例を示し、
図7(b)に、S513にて表示されるファイル名設定画面例を示す。分割ページ確定画面およびファイル名設定画面の表示箇所は、これに限定されず、クライアントPC111であってもよい。
図7(a)に示すように、分割ページ確定画面710には、スキャン及び画像解析処理が完了して得られた、ストレージサーバ130に送信する前のスキャン画像群の全てのページが表示される。すなわち、分割ページ確定画面710には、スキャン画像群のサムネイル画像711及びサムネイル画像711に対応するページ番号712が、スキャン画像群のページ数分だけ表示される。さらに、分割ページ確定画面710には、S508の画像処理で判定された、スキャン画像群における各文書の区切り位置がユーザによって確認可能に表示される。ただし、当該各文書の区切り位置は、ユーザ操作によって修正可能となっている。すなわち、分割ページ確定画面710には、S508の画像処理で判定された各文書の区切り位置を示す文書区切り線713が表示され、文書区切り線713を例えばドラッグするなどのユーザ操作によって各文書の区切り入りを修正可能となっている。分割ページ確定画面710には、文書区切り位置を確定するためのボタンである「OK」ボタン717が表示され、ユーザ操作によって押下されると、分割ページ確定画面710で設定された文書の区切り位置が文書の区切り情報として確定することになる。
【0048】
ファイル名設定画面での処理の詳細について、
図7(b)を用いて説明する。
図7(b)に示すように、ファイル名設定画面720には、分割ページ確定画面710と同様、スキャン画像群のサムネイル画像721及びサムネイル画像721に対応するページ番号722が、スキャン画像群のページ数分だけ表示される。さらに、ファイル名設定画面720には、S508の画像処理で判定された各文書の区切り位置を示す文書区切り線723と、文書区切り線723で区切られた文書単位でファイル名を設定するためのファイル名設定欄724とが表示される。また、ファイル名設定画面720には、ファイル名を設定するための「OK」ボタン727が表示される。例えばタップなどのユーザ操作でファイル名設定欄724が選択されると、キーボードなどのファイル名を入力するための入力用UI画面(不図示)が表示され、入力用UI画面を介して文字列が入力されると、入力文字列がファイル名設定欄724に表示される。そして、このような操作が各ファイルに対して実行された後、「OK」ボタン727がユーザ操作によって押下されると、次の処理が行われる。すなわち、上述のスキャン画像群における各文書の区切り位置およびファイル名などに関する情報が、MFP連携サーバ120へ送信される。
【0049】
<画像解析処理>
続いて、上述のS508にてMFP連携サーバ120の画像処理部432が実行する画像解析処理について、図を用いて説明する。
図8は、画像解析処理の流れを示すフローチャートである。
【0050】
S801では、画像処理部432(画像補正部451)は、複数の文書をページ単位で連続してスキャンして得られたスキャン画像群に対して画像補正を行う。画像補正部451は、スキャン画像群の傾きなどを補正する処理を実行する。なお、スキャン画像群の傾きなどを補正する処理には、公知の技術が用いられる。
【0051】
S802では、画像処理部432(文書先頭ページ候補抽出部461)は、画像補正後のスキャン画像群に対して、複数の文書の各文書における先頭ページ候補を抽出する文書先頭ページ候補抽出処理を実行する。この文書先頭ページ候補抽出処理の詳細な流れについて、図を用いて後述する。
【0052】
S803では、画像処理部432(文書先頭ページ判定部471)は、S802にて抽出した先頭ページ候補に対して、文書先頭ページを判定する処理を行う。文書先頭ページ判定処理の詳細な流れについては、図を用いて後述する。
【0053】
S803の処理を完了すると、
図8に示すフローを終える。
【0054】
<文書先頭ページ候補抽出処理>
続いて、上述のS802にて画像処理部432が実行する文書先頭ページ候補抽出処理について、図を用いて説明する。
図9は、文書先頭ページ候補抽出処理の詳細な流れを示すフローチャートである。
【0055】
S901では、MFP連携サーバ120の画像処理部432(文書先頭ページ候補抽出部461)は、S506においてMFP110より受信したスキャン画像群のうち、スキャン先頭ページから順に、未処理のページに対応するページ画像を取得する。
【0056】
S902では、MFP連携サーバ120の画像処理部432(レイアウト解析部462)は、S901で取得したページ画像に対して、レイアウト解析を実施する。レイアウト解析の具体的手法は限定されないが、ここでは一例としてページ画像内に存在する文字領域の解析を行うことによって行うものとして説明を進める。レイアウト解析部462は、例えば、現在の処理対象であるページ画像に対して文字領域の検出処理を実行するよう文字領域検出部452に指示して文字領域を検出する処理を実行させる。そして、レイアウト解析部462は、文字領域検出処理後のページ画像のヒストグラムを抽出したり、画素の塊を抽出したりして、文字領域や図形領域など、ページ画像のレイアウトを解析する。すなわち、S902では、レイアウト解析部462は、スキャン画像群(スキャン画像)についてページ単位でレイアウトを解析するといえる。なお、S902では、画像処理部432(レイアウト解析部462)は、文字領域検出部452を制御する制御部として機能するともいえる。
【0057】
S903では、画像処理部432は、S902の処理で得たレイアウト解析結果を、レイアウト解析情報としてデータ管理部434に保存する。
【0058】
S904では、画像処理部432は、S902でレイアウト解析を実施したページ画像がスキャン先頭ページであるか否かを判定する。スキャン先頭ページであるとの判定結果を得た場合(S904のYES)、処理がS907に移行される。他方、S902でレイアウト解析を実施したページ画像が文書の2ページ目以降のページ画像であり、スキャン先頭ページではないとの判定結果を得た場合(S904のNO)、処理がS905に移行される。
【0059】
S905では、画像処理部432(類似度算出部463)は、先ず、1ページ目(スキャン先頭ページ)の画像に対応し、S902の処理で得たレイアウト解析結果をデータ管理部434より取得する。そして、画像処理部432(類似度算出部463)は、取得したレイアウト解析結果と、現在の処理対象であるページ画像に対するレイアウト解析結果とを比較し、比較結果を基に類似度を導出する。類似度の導出について、具体的な方法は限定しないが、ここでは一例としてレイアウト解析結果として得られた画像内に存在する文字領域を示す座標群のそれぞれについて、各領域の重なり面積を類似度として導出するものとする。
【0060】
S906では、画像処理部432(文書先頭ページ候補抽出部461)は、S905にて算出した類似度が所定の閾値を超えるか否かにより、現在の処理対象であるページ画像が1ページ目(スキャン先頭ページ)の画像と類似しているか否かを判定する。類似度が所定の閾値を超え、現在の処理対象であるページ画像が1ページ目の画像と類似しているとの判定結果を得た場合(S906のYES)、処理がS907に移行される。他方、類似度が所定の閾値を超えず、現在の処理対象であるページ画像が1ページ目の画像と類似していないとの判定結果を得た場合(S906のNO)、処理がS908に移行される。
【0061】
S907では、画像処理部432(文書先頭ページ候補抽出部461)は、現在の処理対象であるページ画像を文書先頭ページ候補として登録する。すなわち、S907では、画像処理部432は、S905で算出した類似度に基づき、スキャン画像から、複数の文書の各文書における文書先頭ページ候補を抽出しているといえる。
【0062】
S908では、画像処理部432は、現在の処理対象であるページ画像を処理済みとして登録する。これらS907、S908による登録処理は、例えば、下記の表1に示すようなページ管理リストをデータ管理部434に保持することで行ってもよい。表1に示すページ管理リストでは、スキャン画像群に対するページ番号と、各ページに対する文書先頭ページ候補抽出処理の処理状況と、文書先頭ページ候補か否かを示すフラグ情報とが管理されている。さらに、ページ管理リストでは、各ページに対する文書先頭ページ判定処理の処理状況と、文書先頭ページか否かを示すフラグ情報も管理されている。
【0063】
ページ管理リストには、文書先頭ページ候補フラグの値として、S907の処理により文書先頭ページ候補として登録されたページ番号(ページ画像)に対しては「1」が付され、それ以外のページ番号(ページ画像)に対しては「0」が付されることになる。すなわち、S907の処理がスキップされて文書先頭ページ候補として登録されていないページ番号に対しては文書先頭ページ候補フラグの値として「0」が付されることになる。また、ページ管理リストには、文書先頭ページ候補抽出処理の処理状況の値として、S908の処理により処理済みページとして登録されたページ番号(ページ画像)に対しては「完了」が付されることになる。それ以外のページ番号(ページ画像)に対しては「未処理」が付されることになる。すなわち、未処理であり、S908の処理が行われていないページ番号に対しては、文書先頭ページ候補抽出処理の処理状況の値として「未処理」が付されることになる。
【0064】
さらに、ページ管理リストには、
図10を用いて後述する文書先頭ページ判定処理の処理状況及びその結果登録された文書先頭ページフラグも管理されており、ページ番号に対して文書先頭ページ候補処理の場合と同様な値が付される。すなわち、ページ管理リストには、文書先頭ページフラグの値として、文書先頭ページとして登録されたページ番号(ページ画像)に対しては「1」が付され、それ以外のページ番号(ページ画像)に対しては「0」が付されることになる。すなわち、文書先頭ページとして登録されていないページ番号に対しては文書先頭ページフラグの値として「0」が付されることになる。また、ページ管理リストには、文書先頭ページ判定処理の処理状況の値として、処理済みページとして登録されたページ番号(ページ画像)に対しては「完了」が付されることになる。それ以外のページ番号(ページ画像)に対しては「未処理」が付されることになる。
【0065】
表1の例では、9ページで構成されるスキャン画像群のうち、3ページ目まで
図9に示す文書先頭ページ候補抽出処理が完了しており、そのうち1ページ目及び3ページ目が文書先頭ページ候補として抽出されたことを示している。
【0066】
【0067】
図9の説明に戻る。S909では、画像処理部432は、表1に示されたページ管理リストから、現在処理していたページの次のページが存在するか否かを判定する。次のページが存在するとの判定結果を得た場合(S909のYES)、処理がS901に戻され、次のページのページ画像に対して、S901からS909の一連の処理が実行される。他方、次のページが存在しないとの判定結果を得た場合(S909のNO)、
図9に示すフローを終える。
【0068】
以上、
図9を用いて説明したフローを実行することにより、S505において生成された複数ページで構成されるスキャン画像群から、複数の文書の各文書における先頭ページ候補が抽出されることになる。
【0069】
<文書先頭ページ判定処理>
続いて、上述のS803にて画像処理部432が実行する文書先頭ページ判定処理について、図を用いて説明する。
図10は、文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【0070】
S1001では、MFP連携サーバ120の画像処理部432は、表1に示したページ管理リストをデータ管理部434より取得し、文書先頭ページ判定処理状況が「未処理」であるもののうち、ページ番号の最も小さいページに対応する管理データを取得する。
【0071】
S1002では、画像処理部432(文書先頭ページ判定部471)は、S1001で取得した管理データのうち、文書先頭ページ候補フラグを参照することで、現在の処理対象であるページ番号が文書先頭ページ候補であるか否かを判定する。文書先頭ページ候補フラグが「0」であり、現在の処理対象であるページ番号が文書先頭ページ候補ではないとの判定結果を得た場合(S1002のNO)、処理がS1009に移行される。他方、文書先頭ページ候補フラグが「1」であり、現在の処理対象であるページ番号が文書先頭ページ候補であるとの判定結果を得た場合(S1002のYES)、処理がS1003に移行される。
【0072】
S1003では、画像処理部432(文書先頭ページ判定部471)は、ページ管理リストを参照し、現在の処理対象であるページ番号の1つ前のページ番号が存在するか否かを判定する。現在の処理対象であるページ番号の1つ前のページ番号が存在するとの判定結果を得た場合(S1003のYES)、処理がS1004に移行される。他方、現在の処理対象であるページ番号の1つ前のページ番号が存在しないとの判定結果を得た場合(S1003のNO)、処理がS1008に移行される。
【0073】
S1004では、画像処理部432(文書先頭ページ判定部471)は、ページ管理リストを参照し、現在の処理対象であるページ番号の1つ前のページ番号に対して付された文書先頭ページ候補フラグの値を取得する。
【0074】
S1005では、画像処理部432(文書先頭ページ判定部471)は、S1004で取得した、現在の処理対象であるページ番号の1つ前のページ番号に対して付された文書先頭ページ候補フラグの値が「1」であるか否かを判定する。現在の処理対象であるページ番号の1つ前のページ番号に対して付された文書先頭ページ候補フラグの値が「1」であるとの判定結果を得た場合(S1005のYES)、処理がS1006に移行される。他方、現在の処理対象であるページ番号の1つ前のページ番号に対して付された文書先頭ページ候補フラグの値が「0」でるとの判定結果を得た場合(S1005のNO)、処理がS1008に移行される。
【0075】
S1006では、画像処理部432(文書先頭ページ判定部471)は、現在の処理対象であるページ番号のページ画像に対してOCR処理を実行するようOCR処理部453に指示してS902の処理で検出した文字領域に対して文字認識処理を実行させる。なお、S1006では、画像処理部432(文書先頭ページ判定部471)は、OCR処理部453を制御する制御部として機能するともいえる。
【0076】
S1006にてOCR処理を実行して得られたOCR処理結果(文字認識結果)について、下記の表2を用いて説明する。表2は、OCR処理結果例を示す表である。OCR処理結果には、文字認識処理対象となる文字領域について、領域番号と、X座標と、Y座標と、幅と、高さと、領域内文字列とが含まれる。なお、各文字領域の領域番号、座標(X座標、Y座標)、幅、高さは、S902にて画像処理部432(文字領域検出部452)によって取得される。「X座標」は文字領域の左上隅のX座標、「Y座標」は文字領域の左上隅のY座標、「幅」は文字領域のX(幅)方向のピクセル数、「高さ」は文字領域のY(高さ)方向のピクセル数を示す。
【0077】
【0078】
S1007では、画像処理部432(文書先頭ページ判定部471)は、S1006の処理で得たOCR結果(文字認識結果)に基づき、現在の処理対象であるページ画像が文書先頭ページであるか否かの判定を行う。本実施形態では、S1006で取得した現在の処理対象のページ画像のOCR結果と、1つ前のページ番号のページ画像のOCR結果とを比較することで判定を行う。なお、判定の方法は、これに限定されず、ページ画像のOCR結果を用いたものであればよい。
【0079】
<OCR結果による文書先頭ページ判定処理>
続いて、上述のS1007にて画像処理部432(文書先頭ページ判定部471)が実行する、OCR結果による文書先頭ページ判定処理について、図を用いて説明する。
図11は、OCR結果による文書先頭ページ判定処理の詳細な流れを示すフローチャートである。
【0080】
S1101では、画像処理部432は、S1006で取得した、現在の処理対象であるページ画像に対するOCR結果を取得する。S1101で取得されるOCR結果は、例えば、表2に示されるOCR処理結果であるとする。
【0081】
S1102では、画像処理部432は、データ管理部434より、現在の処理対象であるページ画像の1つ前のページ画像のOCR結果を取得する。S1102の処理で画像処理部432が取得した1つ前のページ画像のOCR結果は、例えば、下記の表3に示されるOCR結果であるとする。表3に示されるOCR結果は、表2に示されるOCR結果と比較すると、領域番号1~5では領域内文字列(OCR文字列)が一致するが、領域番号6及び7では領域内文字列(OCR文字列)が異なるとする。
【0082】
S1103では、画像処理部432は、S1101で取得した現在の処理対象であるページ画像に対するOCR結果のうち、未取得の領域内文字列(OCR文字列)のうち小さい領域番号に対応する領域内文字列(OCR文字列)を取得する。画像処理部432は、例えば、表2に示されるOCR結果では、まず領域番号1に対応する領域内文字列(OCR文字列)である「見積書」を取得する。なお、処理が後述するS1105に移行した場合には、領域番号をインクリメントして次の領域番号に対応する領域内文字列(OCR文字列)がS1103に戻されたときに取得される、という処理手順となる。
【0083】
【0084】
S1104では、画像処理部432は、S1103で取得した領域内文字列(OCR文字列)が後述する同一文書判定ルールに含まれるか否かを判定する。
【0085】
同一文書判定ルールについて、下記の表を用いて説明する。下記の表4は、S1104の判定処理で用いるために予め設定された同一文書判定ルール例を示す表である。同一文書判定ルールには、ルールの識別子であるルールIDと、同一文書判定処理に用いられる文字列である判定トークンと、各判定トークンに対して判定の際に同一文書と判定するために適用する条件を示す判定条件とが設定されている。判定条件は、判定トークンごとに「連続」または「同一」の値が設定されており、この値に応じて後述するS1110の同一文書判定処理における判定条件が規定される。より具体的には、判定条件が「連続」であった場合には、判定に用いる2つの領域内文字列(OCR文字列)の間に連続の関係にあるか否かに基づく判定を行う。判定条件が「同一」であった場合には、2つの領域内文字列(OCR文字列)が同一であるか否かに基づく判定を行う。例えば、2つの領域内文字列(OCR文字列)「Page 1」「Page 2」があった場合、両方の領域内文字列の間で値が連続であると認められるため、判定条件が「連続」であった場合には同一文書であると判定される。別の例として、2つの領域内文字列(OCR文字列)「文書番号 A-123」「文書番号 A-123」があった場合、両方の領域内文字列は同一であると認められるため、判定条件が「同一」であった場合には同一文書であると判定される。
【0086】
【0087】
S1104の判定処理が、例えば、表4に示される判定トークンのうち、領域内文字列(OCR文字列)に含まれるものがあるか否かで行われる。例えば、表2に示されるOCR結果のうち、領域番号4に対応する領域内文字列「見積番号: R12-3456」は、表4に示すルールID7に対応する判定トークン「見積番号」が含まれており、それ以外の領域内文字列は含まれていないと判定される。領域内文字列(OCR文字列)に含まれる判定トークンが存在するとの判定結果を得た場合(S1104のYES)、処理がS1107に移行される。他方、領域内文字列(OCR文字列)に含まれる判定トークンが存在しないとの判定結果を得た場合(S1104のNO)、処理がS1105に移行される。
【0088】
S1105では、画像処理部432は、S1103で取得した領域内文字列(OCR文字列)の領域番号から1だけインクリメントした領域番号に対応する次の領域内文字列(OCR文字列)が存在するか否かを判定する。次の領域番号に対応する領域内文字列が存在するとの判定結果を得た場合(S1105のYES)、処理がS1103に戻され、インクリメントした領域番号(次の領域番号)に対応する領域内文字列(OCR文字列)に対してS1103の処理が行われる。他方、次の領域番号に対応する領域内文字列(OCR文字列)が存在しないとの判定結果を得た場合(S1105のNO)、処理がS1106に移行される。
【0089】
S1107では、画像処理部432は、S1104にて領域内文字列(OCR文字列)に含まれると判定された判定トークンに対応する判定条件を取得する。画像処理部432は、例えば、上述した、表2に示されるOCR結果の領域番号4に対応する領域内文字列(OCR文字列)「見積番号: R12-3456」に対する判定条件として、表4に示されるルールID7に対応する判定条件である「同一」を取得する。
【0090】
S1108では、画像処理部432は、S1102で取得した、現在の処理対象の1つ前のページ画像に対するOCR結果の中にも、S1104で同一文書判定ルールに含まれると判定された判定トークンを含む領域内文字列が存在するか否かを判定する。すなわち、画像処理部432は、1つ前のページ画像に対するOCR結果も同一文書判定ルールに適合するか否かを判定する。1つ前のページ画像に対するOCR結果も同一文書判定ルールに適合しないとの判定結果を得た場合(S1108のNO)、処理がS1106に移行される。1つ前のページ画像に対するOCR結果が同一文書判定ルールに適合するとの判定結果を得た場合(S1108のYES)、処理がS1109に移行される。
【0091】
S1109では、画像処理部432は、1つ前のページ画像に対するOCR結果から同一文書ルールに含まれていると判定したOCR文字列を取得する。例えば、ルールID7に対応する判定トークン「見積番号」が、表3に示されるOCR結果の領域番号4に対応するOCR文字列「見積番号: R12-3456」に含まれる。そのため、この例では、S1108にてYESと判定されて処理がS1109に移行され、S1109にてOCR文字列として「見積番号: R12-3456」が取得されることになる。
【0092】
S1110では、画像処理部432は、次に示すOCR文字列および同一文書判定条件を用いて、現在のページ画像と1つ前のページ画像が同一文書か否かを判定する。すなわち、判定は、S1103で取得した現在のページ画像に対するOCR文字列、S1107で取得した同一文書判定条件、およびS1109で取得した1つ前のページ画像に対するOCR文字列を用いて行われる。判定の方法は、表4を用いて先述した手順で行う。同一文書であるとの判定結果を得た場合(S1110のYES)、処理がS1111に移行される。同一文書でないとの判定結果を得た場合(S1110のNO)、処理がS1106に移行される。
【0093】
S1106では、画像処理部432は、現在のページ画像が文書先頭ページであると判定し、現在のページ画像が文書先頭ページあるとして登録する。他方、S1111では、画像処理部432は、現在のページ画像が文書先頭ページでないと判定し、現在のページ画像を文書先頭ページではないとして登録する。より具体的に、S1106の処理では、表1に示されたページ管理リストのうち、「文書先頭ページフラグ」の値に「1」が登録されることになる。また、S1111の処理では、表1に示されたページ管理リストのうち、「文書先頭ページフラグ」の値に「0」が登録されることになる。
【0094】
なお、S1106の処理、またはS1111の処理が完了すると、
図11に示すフローを終える。
【0095】
図10の説明に戻る。S1008では、画像処理部432は、現在のページ画像が文書先頭ページであると判定し、上述のS1106と同様、現在のページ画像が文書先頭ページあるとして登録する。より具体的に、S1008の処理では、表1に示されたページ管理リストのうち、「文書先頭ページフラグ」の値に「1」が登録されることになる。
【0096】
S1009では、画像処理部432は、上述のS909と同様、現在の処理対象のページの次のページが存在するか否かを判定する。次のページが存在するとの判定結果を得た場合(S1009のYES)、処理がS1001に移行され、次のページのページ画像に対して、S1001からS1009の一連の処理が実行される。他方、次のページが存在しないとの判定結果を得た場合(S1009のNO)、
図10に示すフローを終える。
【0097】
以上
図8から
図11に示されるフローによりS508の画像解析処理を完了し、画像処理部432は、解析処理結果(解析情報)をリクエスト制御部431に返す。リクエスト制御部431に返す解析処理結果には、表1を用いて説明したページ管理リストが含まれる。例えば、解析処理結果(解析情報)の一部として最終的に下記の表5に示されるページ管理リストが含まれるとする。表5では、まず、上述の先頭候補ページ判定処理(S508の処理)にて、ページ番号1、3、4、5、7の各ページが文書先頭ページ候補としてレイアウト解析処理により抽出される。続いて、上述の文書先頭ページ判定処理(S508の処理)にて、それら文書先頭ページ候補それぞれに対してOCR処理を行って得たOCR結果を用いて詳細な判定を行った結果、ページ番号1、3、5、7が各文書の文書先頭ページとして判定される。S512では、この処理結果を受けて、文書先頭ページフラグの値が「0」から「1」に変わるページ境界に文書区切り線713が描画された状態で分割ページ確定画面710が表示される。
【0098】
【0099】
以上説明した通り、本実施形態によれば、複数のページで構成される複数の文書をページ単位で連続してスキャンして得られたスキャン画像群における文書単位の区切りを判別する処理について、次に示すように行えるようになる。すなわち、レイアウト解析によりスキャン先頭ページと類似したページに対してのみOCR処理を用いた詳細な解析を行うことができるようになる。これにより、文書単位の区切り(分割位置)の自動判定に関する精度を維持しつつ、OCR処理が行われるページ数を最小限に抑えられ、処理に要する時間を短縮することから、ユーザにとっての応答性を向上させることができる。すなわち、処理コストを抑えながらも、複数の文書を連続でスキャンして得られたスキャン画像における文書単位の区切りを判別することができる。
【0100】
[第二の実施形態]
本実施形態では、ユーザによる分割ページ確定履歴を利用する態様について、図を用いて説明する。なお、本実施形態では、第一の実施形態と同一の構成や処理手順についてはその説明を省略し、差異のある箇所について説明する。
【0101】
<画像処理システム全体の処理の流れ>
まず、本実施形態に係る画像処理システム全体の処理の流れについて、図を用いて説明する。
図12は、MFP110にて複数の文書をページ単位で連続してスキャンし、得られたスキャン画像をファイル化してストレージサーバ130に保存(送信)する際の、各装置間の処理の流れを示すシーケンス図である。ここでは、各装置間のやり取りを中心に説明する。なお、
図12のシーケンス図ではMFP110がMFP連携サーバ120とやり取りを行う場合の説明となっているが、後述する解析結果取得、画面の表示等はMFP110でなくクライアントPC111が実行する構成でも構わない。
【0102】
S1201では、MFP連携サーバ120のリクエスト制御部431は、S512にてユーザによって確定されたスキャン画像群の分割結果の登録を画像処理部432に依頼する。登録を依頼する情報は、例えば、S512にて最終的に分割結果が確定した際のページ管理リストと、該スキャン画像群の1ページ目のページ画像に対するS902の処理によるレイアウト解析結果とが紐づいたデータ(以下、分割確定データと称す)である。例えば、S512で表示された分割ページ確定画面が
図7(a)に示された状態の画面であるとし、この状態から、ユーザ操作によって、
図13に示すように、分割ページが修正された状態となり、「OK」ボタン717の押下により分割が確定されたとする。具体的には、ユーザ操作によって、3ページ目と4ページ目の間に文書区切り線1301が追加された状態となるとする。その結果、スキャン画像群に対するページ管理リストは下記の表6に示すように、ページ番号4に対応する文書先頭ページフラグが「0」から「1」に変更されることになる。S1201で登録依頼する分割確定データにおけるページ管理リストは、このようにS512を経てユーザにより確定した際のものとなる。
図13に示される分割ページ確定画面710では、文書区切り線がユーザ操作によって調整可能となっている。
【0103】
【0104】
図12の説明に戻る。S1202では、画像処理部432は、データ管理部434に登録されている分割履歴データに、S1201でリクエスト制御部431より依頼された分割確定データを履歴情報として追加する。分割履歴データは、複数のスキャン画像群それぞれに対する分割確定データを集積したデータである。なお、分割履歴データがデータ管理部434に登録されていない場合には、S1201でリクエスト制御部431より依頼された分割確定データがデータ管理部434に登録されることになる。
【0105】
次に、以上のようにして登録される分割履歴データを用いる文書先頭ページ判定処理について説明する。
【0106】
<文書先頭ページ判定処理>
図14は、本実施形態に係る文書先頭ページ判定処理の詳細な流れを示すフローチャートである。本フローは、
図8におけるS803の処理に相当する。
【0107】
S1401では、MFP連携サーバ120の画像処理部432は、上述した分割履歴データを用いて、文書先頭ページの判定にOCR処理を実施する必要があるか否かを判定するための処理を実行する。
【0108】
<履歴によるOCR要否判定処理>
履歴によるOCR要否判定処理について、図を用いて説明する。
図15は、S1401の履歴によるOCR要否判定処理の詳細な流れを示すフローチャートである。
【0109】
S1501では、MFP連携サーバ120の画像処理部432は、S903でデータ管理部434に保存されたスキャン先頭ページに対応するレイアウト解析結果(レイアウト解析データ)を取得する。続くS1502では、画像処理部432は、データ管理部434に保存された分割履歴データから、S1501で取得したレイアウト解析データと類似するレイアウト解析データを検索して取得する。
【0110】
S1503では、画像処理部432(不適合率算出部472)は、S1502で取得した複数の分割履歴データに含まれるページ管理リストを連結した連結リストを作成する。そして、画像処理部432(不適合率算出部472)は、作成した連結リストに記載された文書先頭ページ候補フラグと文書先頭ページフラグの値とから、両フラグ値の不適合率を算出する。不適合率の算出方法は、これに限定されない。算出方法として、例えば、まず上述の連結リストにおける文書先頭ページ候補フラグと文書先頭ページフラグとの排他的論理和を各ページに対して取り、排他的論理和の総和を文書先頭ページ候補フラグの総和(総数)で除した値を不適合率として算出する。具体的な算出例として、S1503の処理の過程で下記の表7に示されるような連結リスト及び排他的論理和が得られた場合、(文書先頭ページ候補フラグの総和)=5、(排他的論理和の総和)=1となるので、不適合率は1/5となる。このような不適合率を算出することで、分割履歴データから文書先頭ページ候補と、S512にてユーザ操作で確定された文書先頭ページとの不適合の度合いを示す指標を得ることができる。そのため、不適合率の算出方法は、これに限定されず、前記指標を算出できればよい。
【0111】
【0112】
S1504では、画像処理部432は、S1503で上述のように算出された不適合率が予め定められた一定値より大きいか否かを判定する。一定値として、例えば、1/2(50%)としてよいが、これに限定されない。不適合率が一定値より大きいとの判定結果を得た場合(S1504のYES)、処理がS1505に移行される。他方、不適合率が一定値以下であるとの判定結果を得た場合(S1504のNO)、処理がS1506に移行される。
【0113】
S1505では、画像処理部432は、スキャン画像群の分割判定にはOCR処理を行う必要があると判定する。S1506では、画像処理部432は、スキャン画像群の分割判定にはOCR処理を行う必要がないと判定する。S1505またはS1506の処理が完了すると、
図15に示すフローを終える。
【0114】
図14の説明に戻る。S1402では、画像処理部432は、S1401の判定処理の結果に基づき、スキャン画像群に対するOCR処理を行う必要があるか否かを判定する。OCR処理を行う必要があると判定結果を得た場合(S1402のYES)、処理がS1001に移行される。他方、OCR処理を行う必要が無いとの判定結果を得た場合(S1402のNO)、処理がS1403に移行される。
【0115】
S1403では、画像処理部432は、
図9の処理を経て得られた文書先頭ページ候補フラグの値をそのまま各ページの文書先頭ページフラグとして設定する。なお、S1403の処理が完了すると、
図14に示すフローを終える。
【0116】
以上説明したように、本実施形態によれば、ユーザによって確定された分割履歴データから、文書先頭ページ候補と確定された文書先頭ページとの間の乖離が小さい場合、OCR処理を行うことなく確度の高い分割結果をユーザに提示することができる。これにより、分割履歴データを用いない場合と比べて、処理に要する時間がさらに短縮されることから、ユーザにとって応答性をさらに向上させることができる。
【0117】
[第三の実施形態]
本実施形態では、文書先頭ページの判定において、OCR処理を行う必要があるとなった場合でも、必要最小限の領域に対してのみOCR処理を実施する態様について、図を用いて説明する。なお、本実施形態では、第一及び第二の実施形態と同一の構成や処理手順についてはその説明を省略し、差異のある箇所について説明する。
【0118】
本実施形態では、上述の分割確定データのうち、スキャン画像群の1ページ目の画像に対するS902によるレイアウト解析結果に、「分割判定利用フラグ」(領域情報)の値が追加される。本実施形態における分割確定データに含まれるレイアウト解析結果例について、下記の表を用い説明する。下記の表8は、本実施形態における分割確定データに含まれるレイアウト解析結果例を示す表である。分割確定データに含まれるレイアウト解析結果では、領域番号4に対応する分割判定利用フラグの値が「1」、それ以外の領域番号に対応する分割判定利用フラグの値は「0」として登録されている。本実施形態における分割判定利用フラグの値の設定方法、及び利用方法については詳細な処理手順の説明と併せて後述する。なお、表8には領域内文字列の値が付されているが、説明の明瞭さのために便宜的に付しているものであって、必ずしも付されていなくてもよい。
【0119】
【0120】
<OCR結果による文書先頭ページ判定処理>
続いて、本実施形態におけるS1007にて画像処理部432(文書先頭ページ判定部471)が実行する、OCR結果による文書先頭ページ判定処理について、図を用いて説明する。
図16は、OCR結果による文書先頭ページ判定処理の詳細な流れを示すフローチャートである。本フローチャートは、MFP連携サーバ120によって実施される。
【0121】
S1601では、画像処理部432(分割判定利用フラグ設定部473)は、S1104において、同一文書判定ルールに含まれていると判定された判定トークンを含む領域内文字列(OCR文字列)が存在する領域の分割判定利用フラグを「1」に設定する。すなわち、第一の実施形態で例示したのと同じく表2に示される各領域をもつレイアウト解析結果が得られており、かつ同一文書判定ルールが表4を用いて説明したものと同じであるとする。この場合、S1104にて同一文書判定ルールに含まれていると判定された判定トークンを含む領域内文字列(OCR文字列)が存在する領域は領域番号4に対応する領域である。そのため、S1601にて領域番号4に対応する領域に対して分割判定利用フラグに「1」が付され、レイアウト解析データは表8で示される状態となる。以上のように設定された分割判定利用フラグを含むレイアウト解析データは、S508の画像解析結果としてリクエスト制御部431を経由してMFP110に送信される。そして、S512、S513、S514,S1201、S1202を経て分割履歴データとしてデータ管理部434に保存される。
【0122】
<文書先頭ページ判定処理>
図17は、本実施形態に係る文書先頭ページ判定処理の詳細な流れを示すフローチャートである。本フローは、
図8におけるS803の処理に相当する。
【0123】
S1701では、MFP連携サーバ120の画像処理部432は、データ管理部434に保存された分割履歴データから、現在の処理対象であるスキャン画像群の1ページ目とレイアウトが類似するレイアウト解析データを取得する。なお、分割履歴データは、S1202にて登録されたデータである。
【0124】
S1702では、画像処理部432は、S1701で取得した分割履歴データのレイアウト解析データにて、分割判定利用フラグに「1」が設定されている領域が存在するか否かを判定する。分割判定利用フラグに「1」が設定されている領域が存在するとの判定結果を得た場合(S1702のYES)、処理がS1703に移行される。他方、分割判定利用フラグに「1」が設定されている領域が存在しないとの判定結果を得た場合(S1702のNO)、処理がS1006に移行される。
【0125】
S1703では、画像処理部432(文書先頭ページ判定部471)は、S1701で取得したレイアウト解析データで分割判定利用フラグに「1」が設定されている領域に対してのみOCR処理を実行するようOCR処理部453に指示する。OCR処理部453がS1701で取得したレイアウト解析データで分割判定利用フラグに「1」が設定されている領域に対してのみOCR処理を実行する。S1703では、画像処理部432(文書先頭ページ判定部471)は、OCR処理部453を制御する制御部として機能するともいえる。なお、S1703の処理が完了すると、処理がS1007に移行される。
【0126】
以上説明した通り、本実施形態によれば、過去にS1007の文書先頭ページ判定で利用された領域に対してのみOCR処理を行うことができる。これにより、スキャン画像群(ページ画像)で検出した全ての文字領域に対してOCR処理を行う必要がある文書先頭ページ判定処理と比べて、文書先頭ページ判定処理に要する時間をさらに削減することができる。
【0127】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0128】
120 MFP連携サーバ
432 画像処理部