(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】メタデータを設定するための設定方法、プログラム、装置
(51)【国際特許分類】
G06V 30/12 20220101AFI20240227BHJP
G06Q 40/00 20230101ALI20240227BHJP
G06V 30/412 20220101ALI20240227BHJP
H04N 1/00 20060101ALI20240227BHJP
【FI】
G06V30/12 J
G06Q40/00
G06V30/412
H04N1/00 127A
(21)【出願番号】P 2019182961
(22)【出願日】2019-10-03
【審査請求日】2022-09-30
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】中村 峻
(72)【発明者】
【氏名】奥田 拓洋
【審査官】新井 則和
(56)【参考文献】
【文献】特開平11-353411(JP,A)
【文献】米国特許出願公開第2014/0258838(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/12
G06Q 40/00
G06V 30/412
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
スキャン画像と、複数のキーと、前記複数のキーそれぞれに対応するバリューの入力欄とを含む画面を表示する表示ステップと、
前記複数のキーのうちの1つのキーがユーザにより選択された場合、当該選択されたキーに対して規定されているバリューのデータ形式に基づいて、当該データ形式に適合する文字列を含む文字列領域を候補として、前記画面内の前記スキャン画像上で識別表示する識別表示ステップと、
前記候補として識別表示された文字列領域のうちの1つが前記ユーザにより選択された場合、当該選択された文字列領域の文字認識結果を、前記選択されたキーに対応するバリューの入力欄に設定する設定ステップと、
を有することを特徴とする設定方法。
【請求項2】
前記表示ステップでは、前記複数のキーと各キーに対応するバリューのデータ形式とを規定したメタデータテンプレートに基づいて、前記スキャン画像と、前記メタデータテンプレートで規定されている前記複数のキーと、前記複数のキーそれぞれに対応するバリューの入力欄とを含む画面を表示し、
前記識別表示ステップでは、前記複数のキーのうちの1つのキーが前記ユーザにより選択された場合、前記メタデータテンプレートで規定されている当該選択されたキーに対応するバリューのデータ形式に基づいて、当該データ形式に適合する文字列を含む文字列領域を前記候補として、前記画面内の前記スキャン画像上で識別表示することを特徴とする
請求項1に記載の設定方法。
【請求項3】
ユーザにより所定の指示が為された場合に、前記画面内の前記バリューの入力欄に設定されている文字認識結果を、前記スキャン画像のメタデータとして保存するステップを、さらに有することを特徴とする請求項1または2に記載の設定方法。
【請求項4】
前記バリューのデータ形式は、任意の文字列であることを示すテキスト型と、日付形式の文字列であること示す日付型と、数字や金額で構成される文字列であることを示す数値型と、のうちの少なくともいずれかを含むことを特徴とする請求項1乃至3のいずれか1項に記載の設定方法。
【請求項5】
前記バリューのデータ形式は、ユーザにより所定の選択肢の中から選択されるデータであることを示す選択型を更に含み、
前記設定ステップでは、前記画面内に表示された前記複数のキーの中から前記ユーザにより選択された前記1つのキーに対して規定されているバリューのデータ形式が前記選択型であった場合、前記所定の選択肢の中から所望の選択肢を前記ユーザに選択させ、当該選択された選択肢を、当該選択されたキーに対応するバリューの入力欄に設定する、ことを特徴とする請求項4に記載の設定方法。
【請求項6】
前記メタデータテンプレートは、複数のキーと各キーに対応するバリューのデータ形式とを予め規定した複数のメタデータテンプレートの中から、前記ユーザの指示により選択されたメタデータテンプレートである、ことを特徴とする請求項2に記載の設定方法。
【請求項7】
前記識別表示ステップでは、前記画面内に表示された前記複数のキーのうちの1つのキーがユーザにより選択された場合、前記ユーザの指示により選択されたメタデータテンプレートにおいて当該選択されたキーに対して規定されているバリューのデータ形式に基づいて、当該データ形式に適合する文字列を含む文字列領域を前記候補として、前記画面内の前記スキャン画像上で識別表示することを特徴とする請求項6に記載の設定方法。
【請求項8】
前記識別表示ステップでは、前記画面内に表示された前記複数のキーのうちの1つのキーがユーザにより選択された場合、前記ユーザの指示により選択されたメタデータテンプレートにおいて当該選択されたキーに対して規定されているバリューのデータ形式に基づいて、当該データ形式の一致率が閾値以上である文字列を含む文字列領域を前記候補として、前記画面内の前記スキャン画像上で識別表示することを特徴とする請求項6に記載の設定方法。
【請求項9】
前記メタデータテンプレートは、原稿のスキャンを開始する前にユーザにより選択された画像データ種別に基づいて、複数のキーと各キーに対応するバリューのデータ形式とを予め規定した複数のメタデータテンプレートの中から選択されたメタデータテンプレートである、ことを特徴とする請求項2に記載の設定方法。
【請求項10】
前記設定ステップでは、前記候補として識別表示された文字列領域の中の1つが前記ユーザにより選択された場合、当該選択された文字列領域の文字認識結果を、前記選択されたキーに対応するバリューの入力欄に設定するとともに、当該選択された文字列領域を前記スキャン画像上で選択済みの文字列領域として識別表示する、ことを特徴とする請求項1に記載の設定方法。
【請求項11】
請求項1乃至10のいずれか1項に記載の設定方法の各ステップを、コンピュータに実行させるためのプログラム。
【請求項12】
スキャン画像と、複数のキーと、前記複数のキーそれぞれに対応するバリューの入力欄とを含む画面を表示し、
前記複数のキーのうちの1つのキーがユーザにより選択された場合、当該選択されたキーに対して規定されているバリューのデータ形式に基づいて、当該データ形式に適合する文字列を含む文字列領域を候補として、前記画面内の前記スキャン画像上で識別表示し、
前記候補として識別表示された文字列領域のうちの1つが前記ユーザにより選択された場合、当該選択された文字列領域の文字認識結果を、前記選択されたキーに対応するバリューの入力欄に設定する装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキャンした画像データから抽出した文字情報を用いて、当該画像データに対してメタデータを設定する技術に関する。
【背景技術】
【0002】
従来、文書をスキャンして得た画像データに対して、文字認識(OCR:Optical Character Recognition)処理を行うことで、当該文書に記載されている文字列をデジタルデータとして抽出する技術が存在する。また、画像データ内の文字列、背景などの要素ごとの領域ブロックに分割して画像データの構造を認識する技術が存在する。
【0003】
また、画像処理装置は、スキャンして得た画像データに、後続のシステムにて利用するための付加情報(メタデータ)を付与してから、後続のシステムに送信することがある。どのようなメタデータを付与するかは、送信先システムに応じて異なる。例えば、領収書などの帳票をスキャンして会計システムに送信する場合には、金額などの会計処理に必要となる情報について文字認識処理を行ってメタデータとして、帳票画像データに付与して送信することがある。
【0004】
特許文献1には、領収書イメージ上の価格データの位置を判定して、ユーザ選択可能な位置をプレビュー画像上に強調表示し、ユーザによる選択を促す技術を開示している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術によれば、帳票の画像データにメタデータとして付加する価格データを、ユーザが画像データに含まれる文字列ブロックから簡単に選択して付与することができる。
【0007】
一方で、帳票の使用目的によっては、価格データ以外のデータがメタデータとして必要となる場合があるが、特許文献1に記載の技術では、価格データ以外のメタデータを、ユーザが画像データ上で簡単に選択して設定することができないという問題がある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の設定方法は、スキャン画像と、複数のキーと、前記複数のキーそれぞれに対応するバリューの入力欄とを含む画面を表示する表示ステップと、前記複数のキーのうちの1つのキーがユーザにより選択された場合、当該選択されたキーに対して規定されているバリューのデータ形式に基づいて、当該データ形式に適合する文字列を含む文字列領域を候補として、前記画面内の前記スキャン画像上で識別表示する識別表示ステップと、前記候補として識別表示された文字列領域のうちの1つが前記ユーザにより選択された場合、当該選択された文字列領域の文字認識結果を、前記選択されたキーに対応するバリューの入力欄に設定する設定ステップと、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、メタデータのキーに対応する適切なデータ形式のバリューを、スキャン画像データに含まれる文字列ブロックからユーザが簡単に選択できるようになる。
【図面の簡単な説明】
【0010】
【
図3】画像処理システムを構成するサーバの構成例を示す図である。
【
図4】画像形成装置の操作部の構成例を示す図である。
【
図5】画像処理システムの全体処理手順を説明するフローチャートである。
【
図6】画像処理サーバの実行する処理手順を説明するフローチャートである。
【
図7】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図8】画像形成装置の実行する処理手順を説明するフローチャートである。
【
図9】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図10】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図11】画像形成装置の実行する処理手順を説明するフローチャートである。
【
図12】画像形成装置の実行する処理手順を説明するフローチャートである。
【
図13】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図14】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図15】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図16】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図17】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図18】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図19】画像形成装置の実行する処理手順を説明するフローチャートである。
【
図20】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図21】画像処理システムの全体処理手順を説明するフローチャートである。
【
図22】画像形成装置の実行する処理手順を説明するフローチャートである。
【
図23】画像形成装置の操作部に表示する画面の一例を示す図である。
【
図24】画像処理サーバの実行する処理手順を説明するフローチャートである。
【
図25】画像形成装置の実行する処理手順を説明するフローチャートである。
【
図26】画像形成装置の操作部に表示する画面の一例を示す図である。
【発明を実施するための形態】
【0011】
(実施例1)
図1は、画像形成システムの構成の一例を表す図である。画像形成システムは、画像形成装置101、102と、情報処理端末103、104と、画像処理サーバ105と、ストレージサーバ107とが、ネットワーク106により相互に接続されて、通信可能である。
【0012】
図1では、画像形成装置101、102が2つである場合を例に挙げて示すが、画像形成装置の数は任意(1つ以上)である。以下では、画像形成装置101、102を代表して画像形成装置101の構成について説明し、画像形成装置102についての詳細な説明を省略する。尚、ネットワーク106は、LAN(Local Area Network)、Internet等、画像形成システム内の装置が相互に通信できるものであればよい。
【0013】
画像形成装置101は、情報処理端末103、104から画像データの印刷依頼(印刷データ)を受信して印刷することや、画像形成装置101に備わるスキャナで画像データを読み取ることや、スキャナで読み取られた画像データを印刷することが可能である。また、画像形成装置101は、情報処理端末103、104から受信した印刷データを保存したり、画像形成装置101のスキャナで読み取られた画像を情報処理端末103、104に送信したりすることが可能である。更に、画像形成装置101は、画像処理サーバ105に画像データを送信して画像処理の依頼をしたり、ストレージサーバ107に格納されている文書を印刷したりすることが可能である。また、画像形成装置101は、この他にも、MFP(Multifunction Peripheral)等の公知の画像形成装置が有する機能を実現することが可能である。
【0014】
画像処理サーバ105は、画像形成装置101から依頼された画像処理を実行し、その結果生成された画像データをストレージサーバ107に送信し、保存を依頼することが可能である。
図1では画像処理サーバ105およびストレージサーバ107がそれぞれ1つずつであるシステム構成を例に挙げて示すが、それぞれのサーバ数は任意(1つ以上)である。またそれぞれのサーバは用途に応じた異なる役割を持っていても良い。また、本構成において、画像処理サーバ105およびストレージサーバ107はクラウド、すなわちInternet上に配置されていてもよい。
【0015】
図2は、画像形成装置101のハードウェア構成の一例を表す図である。画像形成装置101は、コントローラ201、プリンタ202、スキャナ203、および操作部204を有する。コントローラ201は、CPU211、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、および拡張I/F218を有する。CPU211は、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、および拡張I/F218とデータを授受することが可能である。また、CPU211は、HDD213から読み出した命令(プログラム)をRAM212に展開し、RAM212に展開した命令を実行する。
【0016】
HDD213には、CPU211で実行可能な命令(プログラム)、画像形成装置101で使用する設定値、およびユーザから依頼された処理に関するデータ等を記憶しておくことが可能である。RAM212は、CPU211がHDD213から読み出した命令を一時的に格納するための領域である。またRAM212は、命令の実行に必要な各種のデータを記憶しておくことも可能である。たとえば画像処理では、入稿されたデータをRAM212に展開することで処理を行うことが可能である。
【0017】
ネットワークI/F214は、画像形成システム内の装置とネットワーク通信を行うためのインターフェイスである。ネットワークI/F214は、データ受信を行ったことをCPU211に伝達することや、RAM212上のデータをネットワーク106に送信することが可能である。プリンタI/F215は、CPU211から送信された印刷データをプリンタ202に送信することや、プリンタ202から受信したプリンタの状態をCPU211に伝達することが可能である。スキャナI/F216は、CPU211から送信された画像読み取り指示をスキャナ203に送信し、スキャナ203から受信した画像データをCPU211に伝達することや、スキャナ203から受信した状態をCPU211に伝達することが可能である。操作部I/F217は、操作部204から入力されたユーザからの指示をCPU211に伝達することや、ユーザが操作するための画面情報を操作部204に伝達することが可能である。拡張I/F218は、画像形成装置101に外部機器を接続することを可能とするインターフェイスである。拡張I/F218は、例えば、USB(Universal Serial Bus)形式のインターフェイスを具備する。画像形成装置101は、USBメモリ等の外部記憶装置が拡張I/F218に接続されることにより、当該外部記憶装置に記憶されているデータの読み取りおよび当該外部記憶装置に対するデータの書き込みを行うことが可能である。
【0018】
プリンタ202は、プリンタI/F215から受信した画像データを用紙に印刷することや、プリンタ202の状態をプリンタI/F215に伝達することが可能なユニットである。スキャナ203は、スキャナI/F216から受信した画像読み取り指示に従って、原稿台やADFに置かれた用紙に表示されている情報を読み取ってデジタル化してスキャナI/F216に伝達することが可能なユニットである。また、スキャナ203は、原稿台の状態をスキャナI/F216に伝達することが可能である。操作部204は、画像形成装置101に対して各種の指示を行うための操作をユーザに行わせるためのインターフェイスである。例えば、操作部204は、タッチパネルを有する液晶画面を具備し、ユーザに操作画面を提供すると共に、ユーザからの操作を受け付ける。なお操作部204の詳細は後述する。
【0019】
図3(a)は、画像処理サーバ105の構成図である。画像処理サーバ105は、CPU301、RAM302、HDD303、ネットワークI/F304から構成される。CPU301は、装置全体の制御を司り、RAM302、HDD303、及びネットワークI/F304とのデータの授受を制御可能である。また、CPU301はHDD303から読みだした制御プログラム(命令)をRAM302に展開し、RAM302に記憶されている命令を実行する。画像処理サーバ105は、画像形成装置101よりネットワークI/F304を通じて受信した画像データに対する画像処理を実施することが可能である。画像処理サーバ105で実施可能な画像処理として、画像データに対するOCR(Optical Character Recognition)処理や、画像データ内の文字列、背景などの要素ごとの領域ブロックに分割するブロック分割処理を含むよう構成されている。
【0020】
図3(b)は、ストレージサーバ107の構成図である。画像処理サーバ107は、CPU311、RAM312、HDD313、ネットワークI/F314から構成される。CPU311は、装置全体の制御を司り、RAM312、HDD313、及びネットワークI/F314とのデータの授受を制御可能である。また、CPU311はHDD313から読みだした制御プログラム(命令)をRAM312に展開し、RAM312に記憶されている命令を実行する。HDD313には、画像処理サーバ105からネットワークI/F304を介して受信した画像データを蓄積することが可能である。また、ストレージサーバ107は、受信した画像データに対して、メタデータテンプレートおよびメタデータテンプレートに紐づくメタデータを付与して、HDD313に保存することが可能である。ここでメタデータテンプレートとは、画像データに対して付与するメタデータのキー種別とバリュー型(バリューのデータ形式)とを規定する定義のことを指し、帳票の使用目的ごとに予め設定しておくことが可能である。また表1および表2は、画像データに対して設定可能なメタデータテンプレートの例を示すマトリクスである。
【0021】
【0022】
【0023】
表1において、2種類のメタデータテンプレートと、それぞれのメタデータの内容の構成の一例を示す。表1の例では使用目的として「会計」と「法務」の2種類に関するメタデータテンプレートが定義されている。メタデータテンプレートごとに、異なるメタデータのキー種別を設定することが可能である。たとえば表1の例では、メタデータテンプレートとして「会計」が設定されている場合、メタデータのキー種別として「案件番号」「納期」「合計金額」「書類種別」を設定することが可能である。一方で、メタデータテンプレートとして「法務」が設定されている場合、メタデータのキー種別として「案件番号」「依頼主」「日付」を設定することが可能である。以下ではメタデータテンプレートとして「会計」を設定された場合を一例として説明する。帳票画像に付与されるメタデータには、メタデータキーとメタデータバリューが含まれる。帳票画像に付与されるメタデータキーには、メタデータの項目名を設定することが可能であり、メタデータテンプレートで定義されたキー種別が設定される。また、メタデータバリューには、そのメタデータキーに対応する値を帳票画像から抽出して設定することが可能である。なお、メタデータバリューに対しては、メタデータテンプレートに基づき型(データ形式)が定義されており、そのバリュー型に応じたデータが設定される。なお、バリュー型の種類としては、テキスト型、日付型、数値型、選択型が存在する。テキスト型は任意の文字列であることを示し、日付型は日付形式の文字列であることを示し、数値型は数字や金額で構成される文字列であることを示し、選択型はユーザにより所定の選択肢の中から選択されるデータであることを示す。
【0024】
表1の例では、「会計」のメタデータテンプレートを使用した場合、「案件番号」というメタデータキーが存在し、その対応するメタデータバリューにはテキスト型の値を設定可能である。そして、表1の例では、ある帳票画像を処理対象としたとき、その帳票画像から「ABC-123」という値を抽出して当該帳票画像に設定した状態を示している。
【0025】
更に、「会計」のメタデータテンプレートには、「納期」というメタデータキーが存在し、メタデータバリューには日付型の値を設定可能である。日付型とは、たとえば「2015年10月25日」を表現する際に、「2015-10-25」や「2015/10/25」や「平成27年10月25日」など正規化された表現でのみ入力可能な型である。なお、日付型は日付を正規化している表現方法であれば上記例以外でもかまわない。
【0026】
更に、「会計」のメタデータテンプレートには、「合計金額」というメタデータキーが存在し、メタデータバリューには数値型の値を設定可能である。数値型とは、数値のみを入力することが可能である。表1の例では、「合計金額」に対してというメタデータキーに対して、「47875000」という値を帳票画像から抽出して設定している。なお、数値型のメタデータバリューに対しては、数値以外の文字列を追加することはできない。
【0027】
更に、「会計」のメタデータテンプレートには「書類種別」というメタデータキーが存在し、メタデータバリューには選択型の値を設定可能である。表1の例においては、「書類種別」のメタデータキーに対するメタデータバリューの選択肢として、表2の値の中から選択可能であるとする。この例では、「書類種別」に対して、「見積書」「納品書」「注文書」の値のみを設定することが可能である。メタデータキーにおいて選択型を設定する際は、あらかじめユーザや管理者などがサーバ105に対して、個別のメタデータキーに対して選択肢のメタデータバリューを設定しておく必要がある。
【0028】
また、「法律」のメタデータテンプレートにおいては、メタデータキー「案件番号」「依頼主」「日付」のそれぞれに対して、バリュー型として「数値型」「テキスト型」「日付型」が設定されており、表1の例では、ある帳票画像から抽出したメタデータバリューとして、「123456」「川崎太郎」「2017/12/22」を設定した状態を示している。
【0029】
このように、ストレージサーバ107のHDD313に格納した画像データに対し、メタデータテンプレートの定義に基づいてメタデータの付与を行うことができる。そして、ユーザは、サーバに対しメタデータキーを指定して検索することが可能となる。たとえば、表1の例においては、「会計」のメタデータテンプレートで検索を行ったり、「会計」のメタデータテンプレートで、かつ「書類種別」が「注文書」を指定して検索を行ったりすることなどが可能となる。よって、画像データを検索する際に、所望のメタデータキーで制限をかけた上で検索できるため、より精度を上げて検索することが可能となる。
【0030】
また、ストレージサーバ107のHDD313に格納した画像データに対し、メタデータを付与することで、後続のシステムとの連携もスムーズに行うことが可能となる。たとえば、ある会計システムに原稿画像データを登録する際、原稿画像に関する会計情報を入力する必要がある。このとき、原稿画像に会計情報がメタデータとして付与されていなければ、オペレータが原稿画像の記載内容を見て会計情報を入力する必要が生じてしまう。本実施例では、ストレージサーバに画像データをアップロードする際に、後続のシステムで必要となるメタデータを予め付与しておくことが可能となり、ストレージサーバからそのまま会計システムに転送して登録することが可能となり、転記作業の効率化を行うことが可能となる。
【0031】
図4は画像形成装置101の操作部204の一例を表した図である。操作部204はタッチパネル画面401と設定キー402、キャンセルキー404、開始キー403で構成されている。ユーザはタッチパネル画面401および設定キー402を用いて、各ジョブの設定を行い、開始キー403の押下によりジョブを開始する。なお一度開始したジョブはキャンセルキー404を押下することでジョブ中に中止することが可能である。ここで示すジョブとは、たとえばコピージョブや、ネットワークI/F214を介してスキャンした画像データを画像処理サーバ106に送信することなどが挙げられる。
【0032】
以下では、画像形成装置101を用いてスキャンした文書の画像データに対して、メタデータテンプレートで規定されたメタデータを付与してストレージサーバ107に送信する、一連の処理フローについて図面を用いて説明する。
【0033】
図5は、本実施例のシステム全体の処理フローを説明するフローチャートである。ステップS501~S502、S511~S517で示す処理は画像形成装置101によって実施される処理であり、処理に係るプログラムはHDD213に格納されており、CPU211によってRAM212に読み出されて実行される。また、ステップS503~S510で示す処理は画像処理サーバ105によって実行される処理であり、処理に係るプログラムはHDD303に格納されており、CPU301によってRAM302に読み出されて実行される。さらに、ステップS506~S507、S518~S519で示す処理はストレージサーバ107によって実行される処理であり、処理に係るプログラムはHDD313に格納されており、CPU311によってRAM312に読み出されて実行される。
【0034】
まず、CPU211は、開始キー403の押下などによる原稿のスキャン指示を受信すると、スキャナ203に対してスキャン指示を行い、スキャナ203で生成されたスキャン画像データを取得する(S501)。続いて、CPU211は、S501にて取得した画像データを、ネットワークI/F214を介して画像処理サーバ105に送信する(S502)。
【0035】
画像処理サーバ105のCPU301は、画像形成装置101から画像データをネットワークI/F304を介して受信すると(S503)、当該受信した画像データにメタデータを付与する際に必要となるデータを生成するための画像処理を実施する(S504)。
図6は、S504で画像処理サーバ105によって実行される画像処理の詳細フローを説明する図である。
図6のフローチャートで示す処理に係るプログラムは、画像処理サーバ105のHDD303に格納されており、CPU301によってRAM302によって読み出されて実行される。
【0036】
CPU301は、S503にて受信した画像データのうち、1ページ分の画像データを読み込む(S601)。続いて、CPU301は、S601で読み込んだ1ページ分の画像データに対して、ブロック分割処理を実施する(S602)。ここでブロック分割処理とは、画像データの記載内容(帳票構造)を解析し、画像データに含まれる背景領域と文字列領域とを分割する処理のことを指す。ブロック分割処理の結果は、分割された領域の属性、すなわち該当領域が背景領域か文字列領域かの情報と、画像データ上における各領域の位置情報とが関連付けられてHDD303に記憶される。本実施例では、画像データ上における各領域は矩形で表現され、各領域の位置情報は各領域の左上点の座標と、矩形の幅の大きさと、矩形の高さとの組で表現される。以後、ブロック分割処理により得られた、各文字列領域の矩形領域を「ブロック」と呼称する。なお、ブロック分割処理により得られる分割領域の形状は、矩形であることに限定されるものではなく、分割領域の各々が一意に表現される限りにおいて、任意の形状で領域を規定するようにしても構わない。
【0037】
続いてCPU301は、S602にてHDD303に記憶されたブロック分割結果を読み出し、そのうち、分割領域の属性が文字列である領域の各々についてOCR処理を実施し、文字列領域内に含まれる文字列の文字コードを取得する(S603)。CPU301は、S603で取得した各文字列領域の文字コード情報と、S602で得た文字列領域の位置情報と、さらにS601で読み込んだページ画像データとを関連付けてHDD303に記憶する(S604)。次に、CPU301は、S503にて受信した画像データのうち、S601~S604を実施していないページ画像データが存在するか否かを判定する(S605)。そのようなページ画像データが存在していた場合(S605がNOの場合)、残るページ画像データの数だけS601~S604の処理を繰り返し、存在しなかった場合(S605がYESの場合)、本フローを終了する。以上の手順で画像処理サーバ105における画像処理を実施することで、画像形成装置101から受信した原稿の各ページ画像データについて、画像データに含まれる文字列の情報と、各文字列領域の位置情報とを関連付けて取得することができる。
【0038】
図5のフローの説明に戻る。
図6を用いて説明したS504の処理を実施したCPU301は、ネットワークI/F304を通じて、ストレージサーバ107にメタデータテンプレートの取得要求を行う(S505)。ストレージサーバ107のCPU311は、ネットワークI/F314を介して、画像処理サーバ105からのメタデータテンプレートの取得要求を受信すると(S506)、HDD313に予め記憶されているメタデータテンプレートを画像処理サーバ105に送信する(S507)。本実施例では、表1及び表2で示したメタデータテンプレートが画像処理サーバ105に送信されるものとする。
【0039】
画像処理サーバ105のCPU301は、ネットワークI/F304を通じてメタデータテンプレートをストレージサーバ107から受信し、HDD303に記憶する(S508)。続いてCPU301は、スキャン画像データに対するメタデータを付与する際にユーザからの指示を受けるための画面の描画データを生成する(S509)。当該生成された画面の描画データは、画像形成装置101のタッチパネル401上に表示される画面のデータである。本実施例では、描画データはHTML(Hyper Text Markup Language)などのWebページ記述言語により記述されたページ記述データと、JavaScript(登録商標)等のスクリプト言語で記述されたスクリプトデータとを含んでいる。ページ記述データにはさらに、S503で受信した画像データと、S504で生成した画像処理結果データと、S508でストレージサーバ107より受信したメタデータテンプレートとが静的データとして含まれている。またスクリプトデータには、ページ記述データに含まれる静的データと画像形成装置101の操作部204にて入力されるユーザからの指示とに応じた画面表示の制御手順が含まれている。これらのデータを用いた画像形成装置101における具体的な画面表示の制御手順は後述する。
【0040】
画像処理サーバ105のCPU301は、続いてネットワークI/F304を通じて、当該生成した描画データを画像形成装置101に送信する(S510)。
【0041】
画像形成装置101のCPU211は、画像処理サーバ105から送信された描画データをネットワークI/F214を介して受信する(S511)。続いてCPU211は、受信した描画データに含まれる静的データに基づき、タッチパネル401上に画面を描画する(S512)。S512で描画される画面は、スキャン画像のページ毎にどのメタデータテンプレートを使用するかを、画像形成装置101のユーザに指定させて決定するための画面であるため、以下では、メタデータテンプレート決定画面と呼称する。
【0042】
図7は、S512においてタッチパネル401上に表示されるメタデータテンプレート決定画面701の例を示す図である。メタデータテンプレート決定画面701は、プレビュー表示部702と、ページ数表示部703と、選択メタデータテンプレート表示部704と、ドロップダウンリストボタン705と、ページ遷移指示部706とから構成される。プレビュー表示部702は、スキャン画像をページ単位で表示する。ページ数表示部703は、プレビュー表示部702に現在表示されているページ画像が何ページ目であるかを表示する。
図7の例では、2ページのスキャン画像データのうち1ページ目を表示中であることを示している。選択メタデータテンプレート表示部704は、表示しているページ画像に対して、現在選択されているメタデータテンプレートが何であるかを表示する。
図7の例では、ユーザからの指示を受ける前の状態を示しており、プレビュー表示部702に表示しているページ画像に対して、まだメタデータテンプレートが選択されていないことを示している。ドロップダウンリストボタン705は、その押下により、表示しているページ画像に対して選択可能なメタデータテンプレートをリスト表示するボタンである。ドロップダウンリストボタン705の押下時の画面表示例は後述により説明する。ページ遷移指示部706は、S501で生成されたスキャン画像データのページ間の表示遷移をユーザが指示するためのボタンを表示している。本例では2ページのスキャン画像データのうちの1ページ目を表示しているため、次ページへ遷移するためのボタンのみが表示されている。また、最終ページである2ページ目においてはストレージサーバ107へ画像データとメタデータとの送信を指示するボタンを表示するなど、ページ毎に動的に表示内容を切替えられる構成となっている。
【0043】
次に、CPU211は、画像形成装置101のユーザによる操作に基づき、メタデータテンプレート決定画面内に表示しているページ画像に関連付けるメタデータテンプレートを決定する処理を行う(S513)。
【0044】
図8は、S513におけるメタデータテンプレート決定処理の詳細手順を説明するためのフローチャートである。本フローの処理に係るプログラムは、S511で受信したデータに含まれており、CPU211によってRAM212に読み出されて実行される。
【0045】
CPU211は、
図7で説明したメタデータテンプレート決定画面において、ドロップダウンリストボタン705がユーザによって押下されたか否かを判定する(S801)。判定の結果、押下されていなかった場合(S801がNOの場合)、押されるまでS801の判定を行う。一方、押下された場合(S801がYESの場合)、CPU211はS511で受信したデータに静的データとして含まれている複数のメタデータテンプレートの一覧を読み出す(S802)。さらに、CPU211は続いて、S802で読み出した複数のメタデータテンプレートの一覧をタッチパネル401上にリスト表示する(S803)。
【0046】
図9は、CPU211がS803を実行した際にタッチパネル401上に表示される画面の例を示す図である。CPU211は、
図7を用いて説明したメタデータテンプレート決定画面701上に、S802で読み出されたメタデータテンプレートをメタデータテンプレート選択候補リスト901として表示する。本例では、CPU211が、画面データには表1に示したメタデータテンプレートが含まれているので、メタデータテンプレート選択候補リスト901には「会計」及び「法律」が表示される。ユーザは、このメタデータテンプレート選択候補リスト901の中から、メタデータテンプレート決定画面701上に表示されているページ画像に関連付けるメタデータテンプレートをタッチして選択することができる。
【0047】
図8の説明に戻り、CPU211は、タッチパネル401がユーザによってタッチされたか否かを判定する(S804)。タッチされていない場合(S804がNOの場合)、CPU211は再びS804の処理を実施し、タッチされた場合(S804がYESの場合)、CPU211はタッチされた箇所がメタデータテンプレート選択候補リスト901であるかを判定する(S805)。S805の判定の結果、タッチされた箇所がメタデータテンプレート選択候補リスト901でなかった場合(S805がNOの場合)、表示していたメタデータテンプレート選択候補リスト901を非表示にし、
図7で説明した画面を再び表示し(S806)、S801の処理に戻る。一方、タッチされた箇所がメタデータテンプレート選択候補リスト901であった場合(S805がYESの場合)には、CPU211は、メタデータテンプレート選択候補リスト901の中からユーザによって選択されたメタデータテンプレートを選択対象として設定し(S807)、タッチパネル401上に画面を描画して(S808)、本フローの処理を終了する。S808で描画される画面は、画像形成装置101のユーザが、スキャン画像のページに対し、S807にて設定されたメタデータテンプレートに基づいて、メタデータを設定するための画面であるため、メタデータ設定画面と呼称する。
【0048】
図10(a)は、S808にてCPU211がタッチパネル401上に描画するメタデータ設定画面1001の例を示す図である。メタデータ設定画面1001は、
図7で説明したメタデータテンプレート決定画面701にメタデータ設定部1002が追加で表示された画面となる。メタデータ設定部1002は、メタデータキー表示部1003と、メタデータバリュー画像表示部1004と、メタデータバリュー入力フォーム(バリュー入力欄)1005とで構成されている。
【0049】
メタデータキー表示部1003は、S807で選択・設定されたメタデータテンプレートに応じて、S511で受信したデータに含まれるスクリプトデータに基づき動的に切り替わる構成となっている。
図10(a)の例では、スキャン画像の1ページ目の画像に対して「会計」のメタデータテンプレートが設定されたので、表1で示した「会計」のメタデータテンプレートに紐づくメタデータキーである「案件番号」「納期」「合計金額」「書類種別」がボタン表示されている。なお、画像形成装置101のユーザが上述したメタデータテンプレート選択候補リスト901において他のメタデータテンプレートを選択した場合には、当該選択されたメタデータテンプレートに対応するメタデータキーが表示されるよう動的に切り替わる構成となっている。
【0050】
メタデータバリュー画像表示部1004は、後述する処理手順によりプレビュー表示部702に表示されたブロックのうち、ユーザにより選択されたブロック部分の画像を拡大して表示する領域である。メタデータバリュー画像表示部1004に表示された画像を確認することで、ユーザはメタデータキーの値として設定するメタデータバリューが正しいかの確認を行うことができる。メタデータバリュー入力フォーム1005は、後述する処理手順により、対応するメタデータキーに紐づくメタデータバリューを設定するための入力欄である。
【0051】
図5のフローチャートの説明に戻ると、S513のメタデータテンプレート決定処理が終了すると、画像形成装置101のCPU211は、メタデータ設定処理を実行する(S514)。
【0052】
図11は、S514のメタデータテンプレート決定処理の詳細手順を示すフローチャートである。本フローの処理に係るプログラムは、S511で受信したデータに含まれており、CPU211によってRAM212に読み出されて実行される。
【0053】
まず、CPU211は、メタデータ設定画面1001のうち、メタデータキー表示部1003に表示されているメタデータキーのいずれかのボタンが押下されたか否かを判定する(S1101)。判定の結果、押下されていない場合(S1101がNOの場合)、CPU211はS1101の判定を続ける。一方、押下された場合(S1101がYESの場合)には、押下されたボタンに対応するメタデータキーの型情報を、704で選択中のメタデータテンプレートの情報から読み出す(S1102)。CPU211は続いて、S1102で取得したメタデータキーの型情報に応じた候補ブロック表示処理を実行する(S1103)。
【0054】
図12は、S1103の詳細な処理手順を説明するフローチャートである。本フローの処理に係るプログラムはS511で受信したデータに含まれており、CPU211によってRAM212に読み出されて実行される。
【0055】
まず、CPU211は、S504の画像処理結果として描画データに含まれている、ページ画像データ中の1つのブロック(1つの文字列領域)に関するブロック情報とそのブロックに対応するOCR結果情報(文字認識結果情報)を処理対象として取得する(S1201)。CPU211は続いて、S1102で取得したメタデータキーの型情報を判定する(S1202)。
【0056】
S1202において、型情報が「テキスト型」であると判定された場合、CPU211はS1201で取得したブロック情報に含まれる位置情報に基づき、プレビュー表示部702上の該当位置に候補ブロックとして矩形表示する(S1203)。候補ブロックの表示例は図面を用いて後述する。
【0057】
S1202において、型情報が「日付型」であると判定された場合、CPU211はS1201で取得したブロック情報に含まれるOCR結果情報が日付の正規表現形式に合致しているか否かを判定する(S1204)。合致すると判定した場合はS1203に進んで当該ブロックを候補ブロックとして矩形表示し、合致しないと判定した場合はS1207の処理に進む。S1204の判定に用いる日付の正規表現形式は、S511で受信した描画データにスクリプトデータとして含まれている。またその具体的な表現形式は、例えば「^¥d{4}-¥d{1,2}-¥d{1,2}$」や「^¥d{4}/¥d{1,2}/¥d{1,2}$」や「^平成¥d{2}年¥d{1,2}月¥d{1,2}日$」といった正規表現による日付の表現形式を想定するが、一般に認知され得る日付の表現形式に含まれる限りにおいて、その表現形式は問わない。これらの正規表現形式に従い、CPU211は、OCR結果情報が「2018-11-28」や「1979/11/05」や「平成27年10月25日」といった日付の形式であるブロックのみを候補ブロックとして、前述したS1203の処理によりプレビュー表示部702上の該当位置に矩形表示する。候補ブロックの表示例は図面を用いて後述する。
【0058】
S1202において、型情報が「数値型」であると判定された場合、CPU211はS1201で取得したブロック情報に含まれるOCR結果情報が数値の正規表現形式に合致しているか否かを判定する(S1205)。合致すると判定した場合はS1203に進んで当該ブロックを候補ブロックとして矩形表示し、合致しないと判定した場合はS1207の処理に進む。S1205の判定に用いる数値の正規表現形式は、S511で受信した描画データにスクリプトデータとして含まれている。またその具体的な表現形式は、例えば「^[0-9]*$」や「^ ¥d{1,3}(,¥d{3})*$」といった正規表現による数値の表現形式を想定するが、一般に認知され得る数値の表現形式に含まれる限りにおいて、その表現形式は問わない。上記のような正規表現形式に従い、CPU211は、OCR結果情報が「123456」や「246000」や「143,000,000」といった数値の形式であるブロックのみを候補ブロックとして、前述したS1203の処理によりプレビュー表示部702のスキャン画像上の該当位置に矩形枠で識別表示する。候補ブロックの表示例は図面を用いて後述する。
【0059】
S1202において、型情報が「選択型」であると判定された場合、CPU211は表2を用いて示したような、メタデータバリューの選択候補をメタデータバリュー入力フォーム1005上にリスト表示する(S1206)。リストの表示例は図面を用いて後述する。S1206を実行した場合、本フローを終了する。
【0060】
S1203を実行した後、CPU211は、S504の画像処理結果として描画データに含まれている、ページ画像データ中のブロック情報のうち、S1201にて未だ処理対象にしていないブロック情報が存在するか否かを判定する(S1207)。取得していないブロックが存在する場合(S1207がYESの場合)、CPU211はS1201に戻って次のブロックを処理対象とし、すべてのブロックを処理済みである場合(S1207がNOの場合)、本フローを終了する。
【0061】
図12を用いて説明したフローが終了すると、CPU211により実行される処理は
図11のフローに戻る。CPU211は続いて、メタデータキーに対応するメタデータバリューの設定候補としてS1203で表示されたブロック、またはS1206で表示されたリスト上の選択候補がユーザによって選択されたか否かを判定する(S1104)。判定の結果、選択されなかった場合(S1104がNOの場合)には、CPU211はユーザによりメタデータバリューの入力欄に対して直接入力指示があったか否かを判定する(S1108)。ここでメタデータバリューの直接入力とは、S1203で表示された選択候補ブロックにユーザ所望の文字列のブロックが存在しない場合や、選択されたメタデータキーの型情報に対応する候補ブロックが存在しなかった場合に、ユーザが所望のメタデータバリューを、操作部204を用いて直接入力することを指す。またメタデータバリュー直接入力指示とは、例えばメタデータバリュー入力フォーム1005内の領域(例えばメタデータキー「案件番号」に対応する入力フォーム1007)をタッチすることでもよいし、それ以外の方法で行われるのでもよい。そのようなユーザによるメタデータバリューの直接入力指示がない場合(S1108がNOの場合)、CPU211は再びS1104の処理を実行する。一方、ユーザによるメタデータバリューの直接入力指示があった場合(S1108がYESの場合)、CPU211は、メタデータバリューの直接入力用の画面をタッチパネル401上に表示する(S1109)。
【0062】
図10(b)は、S1109にてタッチパネル401上に表示される画面の一例を示す図である。
図10(a)で表示した画面に重ねる形で、ソフトウェアキーボード1008が表示される。ユーザは、ソフトウェアキーボード1008を操作することで、S1101で選択されたメタデータキーに対応するメタデータバリューを直接キーボード入力することができる。メタデータバリューの直接入力が完了したら、ユーザは「OK」ボタン1009を押下することでその旨をCPU211に通知することができる。S1110において、CPU211は、ユーザによる直接入力完了の通知を受信したか否かを判定する。通知を受信していない場合(S1110がNOの場合)、CPU211は再びS1110の処理を続ける。一方、通知を受信した場合(S1110がYESの場合)、CPU211はユーザにより直接入力された文字列をメタデータバリュー入力フォーム1005内の指定された入力フォーム(例えば1007)に設定する(S1111)。続くステップS1106の説明は後述する。
【0063】
S1104の処理の説明に戻る。S1104の判定の結果、メタデータバリューの設定候補としてS1203で表示された候補ブロック、またはS1206で表示されたリスト上の選択候補がユーザによって選択された場合(S1104がYESの場合)、CPU211は選択されたメタデータバリューの設定候補のブロックのOCR結果情報またはリスト上の選択候補に対応する文字列情報を取得し、メタデータバリュー入力フォーム1005の該当する入力欄(例えば1007)に設定する(S1105)。続いてCPU211は、S1105で設定したメタデータバリューを反映した画面を描画する(S1106)。S1106で描画される画面例は、図面を用いて後述する。
【0064】
続いてCPU211は、メタデータキー表示部1003に表示されている全てのメタデータキーに対応するメタデータバリューが設定されているか否かを判定する(S1107)。判定の結果、メタデータバリューの設定されていないメタデータキーが存在する場合(S1107がNOの場合)、CPU211は再びS1101の処理を実行する。一方、全てのメタデータキーについてメタデータバリューが設定されている場合(S1107がYESの場合)、本フローによるメタデータ設定処理を終了する。
【0065】
図11を用いて説明したフローが終了すると、CPU211により実行される処理は
図5のフローに戻る。メタデータ設定処理を終了したCPU211は、ユーザからのページ遷移指示があるか否かを判定する(S515)。ここでページ遷移指示とは、ページ遷移指示部706にあるボタンがユーザによって押下されることを指す。
【0066】
S515の判定の結果、ページ遷移指示がなかった場合(S515がNOの場合)、CPU211はS515の処理を続ける。一方、指示があった場合(S515がYESの場合)、CPU211は現在のページ画像がスキャン画像データの最終ページであるか否かを判定する(S516)。
【0067】
S516の判定の結果、最終ページでなかった場合(S516がNOの場合)、CPU211はスキャン画像データのうち、次にメタデータテンプレート及びメタデータを設定するページ画像について、S512の処理を再度実行する。一方、最終ページであった場合(S516がYESの場合)、CPU211は、ネットワークI/F214を介して、スキャン画像データと、S513及びS514により各ページに付加したメタデータとを併せてストレージサーバ107に送信して登録する(S517)。なお、本実施例では、ユーザによりページ遷移指示が為されたときに最終ページであった場合に、スキャン画像データの各ページに対して設定したメタデータをストレージサーバに送信するものとしたが、メタデータ送信指示の手法はこれに限るものではない。例えば、メタデータ送信指示用のボタンを更に設け、スキャン画像データの各ページに対してメタデータを設定した後に、ユーザからメタデータ送信の指示が為された時点で、メタデータをストレージサーバに送信するようにしてもよい。
【0068】
ストレージサーバ107のCPU311は、S517で送信された画像データとメタデータとをネットワークI/F314を介して受信し(S518)、HDD313に保存し(S519)、
図5のシステム全体の処理フローを終了する。S519によりページ画像データとメタデータとが紐づけられてストレージサーバ107上に保存されることで、ストレージサーバ107のユーザが、メタデータキーとメタデータバリューを用いてストレージサーバ107上のページ画像データを検索することができるようになる。
【0069】
以上説明した処理手順により、画像形成装置101のユーザにとって簡便にスキャン画像データの各ページ画像データにメタデータを付加することができるようになることを、具体例や図面を用いて説明する。
【0070】
いま、S501~S513の処理により、
図10(a)で示した画面が表示された状態であるとする。そして、
図10(a)の画面において、画像形成装置101のユーザによりメタデータキーが「案件番号」のボタンが押下したとする。すると、S1101にてボタン押下が検出され、S1102においてその型情報として表1に基づき「テキスト型」が取得される。続き、型情報が「テキスト型」であることに基づき、S1201~S1203及びS1207の処理が、
図10(a)に示すページ画像データ中のブロックの数だけ繰り返し実行される。その結果表示される画面は
図13(a)のようになる。「テキスト型」のメタデータキーはどのような文字列でもメタデータバリューとして設定できるため、図に示すようにページ画像上の全てのブロックが選択候補となる。
【0071】
ここで、S1104において、ユーザによってブロック1302が選択されたとする。このとき、S1105、S1106によりメタデータバリューが設定された表示画面は
図13(b)のようになる。
図13(b)に示すように、ブロック1302に対応する文字列「ABC-123」がメタデータキー「案件番号」に対応するメタデータバリュー入力フォーム1305に設定され、また選択されたブロック1302の画像が抽出されて、1304に拡大表示される。このように表示することで、メタデータバリュー入力フォーム1305に設定されたメタデータバリューが画像データの該当ブロックに実際に記載されている文字列と相違ないかをユーザが確認することができる。
【0072】
続いて、S1107の処理を経て、S1101においてメタデータキー「納期」のボタンが押下されたとする。メタデータキー「納期」は「日付型」であるから、S1102、S1201、S1202、S1204の順で処理が実行され、ページ画像データのうち日付の正規表現形式に合致すると判断されたブロックに対してのみS1203が実施される。その結果表示される画面は
図14(a)のようになる。プレビュー表示部702に表示されているページ画像データのうち、ブロック1402(文字列が「平成27年11月1日」)とブロック1403(文字列が「平成27年10月25日」)のみメタデータバリュー候補ブロックとして矩形表示される。ここで、S1104において、ユーザによってブロック1403が選択されたとする。このとき、S1105、S1106によりメタデータバリューが設定された表示画面は
図14(b)のようになる。
図14(b)に示すように、ブロック1403に対応する文字列「平成27年10月25日」がメタデータキー「納期」に対応するメタデータバリュー入力フォーム1406に設定され、また選択されたブロック1403の画像が抽出されて、1405に拡大表示される。
【0073】
次に、S1107の処理を経て、S1101においてメタデータキー「合計金額」のボタンが押下されたとする。メタデータキー「合計金額」は「数値型」であるから、S1102、S1201、S1202、S1205の順で処理が実行され、ページ画像データのうち数値の正規表現形式に合致すると判断されたブロックに対してのみS1203が実施される。その結果表示される画面は
図15(a)のようになる。プレビュー表示部702に表示されているページ画像データのうち、文字列が数値で構成されるブロックのみメタデータバリュー候補ブロックとして矩形表示される。ここで、S1104において、ユーザによってブロック1502(文字列が「4,875,000」)が選択されたとする。このとき、S1105、S1106によりメタデータバリューが設定された表示画面は
図15(b)のようになる。
図15(b)に示すように、ブロック1502に対応する数値で構成された文字列「4875000」がメタデータキー「合計金額」に対応するメタデータバリュー入力フォーム1505に設定され、また選択されたブロック1502の画像が抽出されて1504に拡大表示される。なお、本実施例では、カンマなどの区切り文字付きの数値で記述されている数値データ(「4,875,000」などの金額データ)は、OCR結果がメタデータバリュー入力フォームに入力されるときに、区切り文字(カンマ)が省略されて入力されるものとする。ただし、これに限るものではなく、カンマ等の区切り文字付きで処理可能なシステムであれば、区切り文字も含めてメタデータバリュー入力フォームに入力するようにしもてよい。
【0074】
さらに、S1107の処理を経て、S1101においてメタデータキー「書類種別」のボタンが押下されたとする。メタデータキー「書類種別」は「選択型」であるから、S1102、S1201、S1202、S1206の順で処理が実行され、メタデータバリュー選択候補リストがメタデータバリュー入力フォーム上に表示される。その結果表示される画面は
図16(a)のようになる。
図16(a)に示すように、メタデータバリュー入力フォーム1603の下に、リスト形式で表2に示した書類種別選択肢である「見積書」「納品書」「注文書」を要素とするリストが表示される。ここで、S1104において、ユーザによって要素1604(値が「注文書」)が選択されたとする。このとき、S1105、S1106によりメタデータバリューが設定された表示画面は
図16(b)のようになる。
図16(b)に示すように、要素1604に対応する文字列「注文書」がメタデータキー「書類種別」に対応するメタデータバリュー入力フォーム1603に設定される。
【0075】
以上により、1ページ目のページ画像データに対するS514の処理が終了する。続いて、S515において、ユーザによりページ遷移指示部706の「次へ」ボタンが押下されたとする。続くS516において、メタデータ設定対象となるページ画像が2ページ目に遷移し、S512を経て2ページ目のページ画像に対するS513のメタデータテンプレート決定処理が実行される。ここで、ユーザによってメタデータテンプレート選択候補リスト901から「法律」のメタデータテンプレートが選択されたとする。このときS513の処理の結果表示される画面は
図17のようになる。
図10(a)を用いて説明した1ページ目のページ画面データに対応するメタデータ設定画面1001と概ね同様であるが、表1を用いて示した「法律」メタデータテンプレートに対応するメタデータキーである「案件番号」「依頼主」「日付」がメタデータキー表示部1003に新たに表示される。また、ページ数表示部703のページ番号が2ページ目に更新され、ページ遷移指示部706上に表示されるボタンが「戻る」「サーバに送信」に更新されている。「戻る」ボタンは1ページ前のページ画像データ、すなわち1ページ目のページ画像データに再度遷移することを指示するボタンであり、「サーバに送信」はスキャン画像とメタデータをストレージサーバ107に送信することを指示するボタンである。
【0076】
いま、
図17に示した画面が表示された状態で、S1101においてユーザによりメタデータキー「案件番号」のボタン1702が押下されたとする。1ページ目のページ画像とは異なり、「法律」メタデータテンプレートにおける「案件番号」の型は「数値型」であるため、S1102、S1201、S1202、S1205の順で処理が実行され、ページ画像データのうち数値の正規表現形式に合致するブロックに対してのみS1203が実施される。その結果表示される画面は
図18(a)のようになる。プレビュー表示部702に表示されているページ画像データのうち、文字列が数値で構成されるブロックのみメタデータバリュー候補ブロックとして矩形表示される。ここで、S1104において、ユーザによってブロック1802(文字列が「12349876」)が選択されたとする。このとき、S1105、S1106によりメタデータバリューが設定された表示画面は
図18(b)のようになる。
図18(b)に示すように、ブロック1802に対応する数値で構成された文字列「12349876」がメタデータキー「案件番号」に対応するメタデータバリュー入力フォーム1804に設定され、また選択されたブロック1802の画像が1803に抜粋表示される。以降の処理手順は、1ページ目の画像データと同様の手順となるため、説明を省略する。
【0077】
以上説明したように、本実施例によれば、スキャン画像データのページ毎に設定されたメタデータテンプレートの各メタデータキーに設定された型情報に応じて、メタデータバリューの選択候補とする対象ブロックやリストが動的に絞り込まれて表示される。したがって、ユーザがメタデータを付加する際の操作性・利便性が向上する。
【0078】
(実施例2)
実施例2では、日付型や数値型などのメタデータキーの選択に応じて候補ブロックを表示する際に、OCR処理で誤認識した文字がある可能性も考慮して、候補ブロックを表示する例について説明する。なお、本実施例2の説明にあたり、実施例1と重複する構成や処理手順には同一の付番で示し、それらの詳細説明は省略する。
【0079】
図19は、
図11のS1103に関して、実施例2における詳細な処理手順を説明するフローチャートである。本フローの処理に係るプログラムはS511で受信したデータに含まれており、CPU211によってRAM212に読み出されて実行される。
【0080】
CPU211は、実施例1と同様に、ページ画像データ中の1つのブロック(1つの文字列領域)に関するブロック情報とそのブロックに対応するOCR結果情報を処理対象として取得する(S1201)。続いて、CPU211は、実施例1と同様に、S1102で取得したメタデータキーの型情報を判定する(S1202)。S1202の判定にて、画像形成装置101のユーザによって選択されたメタデータキーの型情報が「日付型」もしくは「数値型」であった場合に、実施例1とは異なる手順で処理を実施する。それぞれ説明する。
【0081】
S1202の判定にてメタデータキーの型情報が「日付型」と判定された場合、CPU211はS1201で取得したブロック情報に含まれるOCR結果情報が日付の正規表現形式に完全に一致しているか否かを判定する(S1204)。一致すると判定した場合はS1203に進んで当該ブロックを候補ブロックとして矩形表示し、完全には一致しないと判定した場合はS1901の処理に進む。S1901において、CPU211は、S1201で取得したブロックのOCR結果情報と日付の正規表現との一致率を算出する。ブロックのOCR結果情報と日付の正規表現との一致率の算出方法の一例として、日付の正規表現形式に対して、OCR結果情報による文字列が文字数でどれだけの比率で一致しているかを算出する。なお、一致率は、一致する文字数の割合に限るものではなく、他の指標を用いても構わない。
【0082】
S1902において、CPU211は、S1901で算出した一致率が、予め定められた閾値以上であるか否かを判定する。ここで閾値は、HDD213に予め記憶された値であってもよいし、ユーザが画像形成装置101の設定により指定するのでもよく、値を決定する方法は問わない。S1902の判定の結果、一致率が閾値以上であった場合(S1902がYESの場合)、CPU211はS1203に進んで当該ブロックを候補ブロックとして矩形表示する。一方、一致率が閾値より小さかった場合(S1902がNOの場合)、CPU211はS1207の処理に進む。
【0083】
S1202の判定にてメタデータキーの型情報が「数値型」であると判定された場合、CPU211はS1201で取得したブロック情報に含まれるOCR結果情報が数値の正規表現形式に合致しているか否かを判定する(S1205)。一致すると判定した場合はS1203に進んで当該ブロックを候補ブロックとして矩形表示し、完全には一致しないと判定した場合はS1903の処理に進む。S1903において、CPU211は、S1201で取得したブロック情報に含まれるOCR結果情報と数値の正規表現との一致率を算出する。ブロックのOCR結果情報と数値の正規表現との一致率の算出方法の一例としては、数値の正規表現形式に対して、OCR結果情報による文字列が文字数でどれだけの比率で一致しているかを算出する。なお、一致率は、一致する文字数の割合に限るものではなく、他の指標を用いても構わない。
【0084】
S1904において、CPU211は、S1903で算出した一致率が、予め定められた閾値以上であるか否かを判定する。ここで閾値は、HDD213に予め記憶された値であってもよいし、ユーザが画像形成装置101の設定により指定するのでもよく、値を決定する方法は問わない。S1904の判定の結果、一致率が閾値以上であった場合(S1904がYESの場合)、CPU211はS1203に進んで当該ブロックを候補ブロックに適合するものとして矩形表示する。一方、一致率が閾値より小さかった場合(S1904がNOの場合)、CPU211はS1207の処理に進む。
【0085】
図20は、1ページ目のページ画像データに対し、S1101においてメタデータキー「合計金額」のボタンが押下された場合について説明する画面例である。メタデータキー「合計金額」は「数値型」であるから、S1102、S1201、S1202、S1205の順で処理が実行される。
図20の例において、ブロック1502に対するOCR結果に誤認識した文字が含まれており、「4875O00」と認識されたとする。ブロック1502に対してS1205の判定がCPU211により行われた結果、OCR結果が数値の正規表現に完全一致しないため、S1903に進む。CPUは、S1903において、OCR結果と数値の正規表現との間の一致率を算出すると、(数値の正規表現を満たすと判定された文字数)/(OCR結果の全文字数)=6/7≒0.86となる。続くS1904において、いま、閾値となる一致率は0.80に設定されていたとすると、S1903において算出した一致率が閾値以上であるため、ブロック1502はメタデータバリュー候補ブロックとしてS1203において表示される。
【0086】
実施例2によれば、画像処理サーバ105で実施されるブロック毎のOCR結果の一部に誤認識した文字が含まれている場合でも、ユーザの選択したメタデータキーの型に合致する可能性が高いブロックをメタデータバリュー候補ブロックとして表示することができるようになる。
【0087】
S1104において、そのようにして表示された候補ブロックの中から、OCR結果の一部に誤認識を含むブロックをユーザが選択した場合、メタデータバリュー入力フォーム1005上に当該選択されたブロックのOCR結果が表示される。表示されるOCR結果には誤認識された文字が一部含まれているが、ユーザがその文字を指定して訂正操作するだけで適切なメタデータを設定できるようになる。
【0088】
なお、本実施例2のさらなる変形例として、S1904において一致率が閾値以上であると判定されてS1903で候補ブロックとして表示され、S1104においてその候補ブロックが選択された場合には、当該選択されたブロックに対して、OCR結果が数値のみに限定されたOCR処理を再度実行し、その再OCR結果をメタデータバリュー入力フォーム上に表示するようにしてもよい。このように字種を数値に限定して再OCR処理を行うことにより、数値型の正しい文字認識結果が得られる可能性が高くなり、ユーザによる訂正操作が必要となる頻度をさらに下げるようにすることも可能である。なお、S1902において一致率が閾値以上であると判定された候補ブロックについても、同様に、当該候補ブロックが選択された際に、日付に関連する字種に限定して再度OCR処理を実行するように構成すれば、正しい文字認識結果がメタデータバリュー入力フォームに表示される可能性が高くなる。
【0089】
(実施例3)
実施例3では、使用するメタデータテンプレートの決定方法について、これまで説明したものとは異なる方法を用いることでより簡便にメタデータテンプレートを決定できるようになることを、図面を用いて説明する。なお、本実施例の説明にあたり、実施例1、2と重複する構成や処理手順には同一の付番で示し、それらの詳細説明は省略する。
【0090】
図21は、先の実施例にて
図1を用いて示したシステム構成における、本実施例のシステム全体の処理フローを説明するフローチャートである。ステップS2101、S501、S2102、S511、S2106、S514~S517で示す処理は画像形成装置101によって実施される処理であり、処理に係るプログラムはHDD213に格納されており、CPU211によってRAM212に読み出されて実行される。また、ステップS2103、S504、S2104~S2105、S510で示す処理は画像処理サーバ105によって実行される処理であり、処理に係るプログラムはHDD303に格納されており、CPU301によってRAM302に読み出されて実行される。さらに、ステップS518~S519で示す処理はストレージサーバ107によって実行される処理であり、処理に係るプログラムはHDD313に格納されており、CPU311によってRAM312に読み出されて実行される。
【0091】
S2101において、CPU211は、画像データ種別を決定するための処理を行う。画像データ種別(原稿の種別)は、画像形成装置101を用いてスキャンを実施する対象とする原稿に対応するメタデータテンプレートを指定するための情報として利用される。すなわち、S2101によって決定した画像データ種別に応じて、設定対象とするメタデータテンプレートを切り替える。具体的な画像データ種別や処理手順の詳細は、後述する。
【0092】
図22は、S2101の画像データ種別決定処理の詳細な処理手順を説明するフローチャートである。本フローの処理に係るプログラムはHDD213に格納されており、CPU211によってRAM212に読み出されて実行される。
【0093】
まず、CPU211は、画像データ種別を選択するための画面をタッチパネル401上に描画する(S2201)。
【0094】
図23は、S2201においてタッチパネル401上に描画される画面例を示す図である。
図23の例では、画像データ種別として「会計」と「法務」を指定するための選択ボタン2301~2302と、画像データ種別を指定しない旨を示す「種別なし」の選択ボタン2303とがタッチパネル401上に表示されている。
【0095】
図22の説明に戻り、CPU211は、
図23を用いて説明した画像データ種別選択画面に表示された選択ボタン2301~2303のいずれかがユーザによって押下されたか否かを判定する(S2202)。判定の結果、押下されていなかった場合(S2202がNOの場合)、ユーザによっていずれかのボタンが押下されるまで、CPU211はS2202の処理を行う。一方、押下された場合(S2202がYESの場合)、CPU211は押下されたボタンに対応する画像データ種別をRAM212もしくはHDD213に記憶(S2203)し、
図22に示すフローチャートを終了する。
【0096】
以下では、S2202においてユーザによって「会計」に対応する画像データ種別選択ボタン2301が押下された場合を例として、続く処理手順を説明する。
【0097】
図21の説明に戻り、CPU211は、原稿のスキャン処理を実施(S501)し、生成した画像データとS2203にて記憶した画像データ種別とを、ネットワークI/F214を介して画像処理サーバ105に送信する(S2102)。画像処理サーバ105のCPU301は、S2102にて画像形成装置101から画像データと、対応する画像データ種別とをネットワークI/F304を介して受信すると(S2103)、当該受信した画像データに対してS504の画像処理を実施する。そして、CPU301は、S2103で受信した画像データ種別に基づいて、メタデータテンプレート決定処理を実施する(S2104)。
【0098】
図24は、S2104のメタデータテンプレート決定処理の詳細な処理手順を説明するフローチャートである。本フローの処理に係るプログラムはHDD303に格納されており、CPU301によってRAM302に読み出されて実行される。
【0099】
S2401において、CPU301は、S2103にて受信した画像データ種別を取得する。
【0100】
S2402において、CPU301は、HDD303から表1で示したメタデータテンプレートを読み込み、S2401にて取得した画像データ種別に対応するメタデータテンプレートが存在するか否かを判定する。なお、実施例3における画像処理サーバ105は、表1および表2を用いて示したメタデータテンプレートとメタデータとの組み合わせをHDD303に予め記憶しているものとするが、これに限るものではなく、この時点でストレージサーバ107からメタデータテンプレートを取得するようにしてもよい。判定の結果、画像データ種別に対応するメタデータテンプレートが存在した場合(S2402がYESの場合)、S2403において、そのメタデータテンプレートをS2103において受信したスキャン画像データに適用すると決定する。一方、画像データ種別に対応するメタデータテンプレートが存在しなかった場合(S2402がNOの場合)、S2103において受信したスキャン画像データにメタデータテンプレートを付与しないことを決定する(S2404)。
図23の画面において、画像データ種別として「会計」が選択されていた場合、「会計」のメタデータテンプレートが表1に存在するため、当該メタデータテンプレートをスキャン画像データに適用することを決定する。なお、
図23の画面において「種別なし」のボタン2303が選択された場合には、S2402の判定はNOとなる。
【0101】
図21の説明に戻る。S2105において、CPU301は、スキャン画像データに対するメタデータを付与する際にユーザからの指示を受けるための画面の描画データを生成する。当該生成された画面の描画データは、画像形成装置101のタッチパネル401上に表示される画面のデータである。本実施例では、描画データはHTML(Hyper Text Markup Language)などのWebページ記述言語により記述されたページ記述データと、JavaScript(登録商標)等のスクリプト言語で記述されたスクリプトデータとを含んでいる。ページ記述データには、S2103で受信した画像データと、S504で生成した画像処理結果データと、S2104で決定したメタデータテンプレートとが静的データとして含まれている。またスクリプトデータには、ページ記述データに含まれる静的データと画像形成装置101の操作部204にて入力されるユーザからの指示とに応じた画面表示の制御手順が含まれている。S2105にて生成された描画データは、S510において、画像形成装置101に送信される。画像処理装置101のCPU211は、S511において受信した描画データに含まれる静的データに基づき、タッチパネル401上に画面を描画する(S2106)。S2106においてタッチパネル401上に描画される画面は、「会計」のメタデータテンプレートが予め選択された状態で表示される画面となり、実施例1の
図13(a)と同様の画面が表示される。
図21のS514~S519の処理は、実施例1において説明した処理手順と同様であるので詳細説明は省略する。
【0102】
実施例3によれば、スキャン開始前に画像データ種別(原稿種別)をユーザに指定させることにより、当該画像データ種別に応じたメタデータテンプレートが選択されることになる。例えば、同一の画像データ種別の原稿をまとめてスキャンする場合に、一括して同一のメタデータテンプレートを設定することができるようになり、メタデータテンプレートの設定をより簡便にすることができるようになる。
【0103】
(実施例4)
実施例4では、
図5のS514のメタデータ設定処理の変形例として、ユーザによりメタデータバリューとして選択済みのブロックを識別表示できるようにした例について説明する。なお、本実施例の説明にあたり、実施例1と重複する構成や処理手順には同一の付番で示し、それらの詳細説明は省略する。
【0104】
図25は、メタデータ設定処理(S514)に関する、本実施例4における詳細な処理手順を説明するフローチャートである。本フローの処理に係るプログラムはS511で受信したデータに含まれており、CPU211によってRAM212に読み出されて実行される。
【0105】
まず、CPU211は、ユーザによってメタデータキーが選択されたと判定すると(S1101)、当該選択されたメタデータキーの型情報を取得する(S1102)。
【0106】
続いて、CPU211は、S1102において取得した型情報に応じた、候補ブロックの決定処理を実施する(S1103)。実施例1では、
図12のS1203、および、
図13(a)、
図14(a)、
図15(a)に示したように、候補ブロックを矩形枠で囲んで表示したが、本実施例4では、矩形枠に限るものではなく、その他の識別方法でも構わない。例えば、矩形枠を点滅表示させるものであってもよいし、点線枠で囲んで表示してもよいし、背景色の色を変更して表示するものであってもよい。例えば、
図26(a)に示すように、メタデータ設定画面において、「日付」型である「納期」キー1404が押下された場合に、日付型の候補ブロックである「平成27年10月25日」(2701)および「平成27年11月1日」(2702)は、矩形枠での表示ではなく、点滅表示や点線表示などで表示されるように制御される。
【0107】
そして、
図25のS1104において、バリュー候補ブロックのうち、候補ブロック2701がユーザによって選択されたとすると、CPU211は、S1105において、ブロック2701に対応する文字列「平成27年10月25日」を「納期」キーに対応するメタデータバリューとして設定する。さらに、S2501において、CPU211は、当該選択されたブロック2701を、半透明の所定の色で塗りつぶすことで、メタデータバリューとして選択済みのブロックであることを識別できるように強調表示する。この選択されたブロックの強調表示は、S1103の候補ブロックの表示方法とは異なる方法で強調表示するものとする。例えば、S1103で表示される候補ブロックの背景色が、薄い色(例えば薄い黄色)で強調表示され、S2501で表示される選択済みブロックの背景色が、濃い色(例えば、濃い青色)で強調表示されるものとする。
図27(b)は、S1104において選択されたブロックが、S2501において強調表示された画面の表示例を示す図である。ブロック2701が、半透明の所定の色で塗りつぶすことで強調表示されている。
【0108】
実施例4によれば、既にメタデータキーのバリューとして選択済みのブロックを識別できるように表示することができ、ユーザにとっての視認性を向上させることができるようになる。
【0109】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。