[go: up one dir, main page]

JP2016091190A - 電子文書生成装置、プログラムおよび電子文書生成システム - Google Patents

電子文書生成装置、プログラムおよび電子文書生成システム Download PDF

Info

Publication number
JP2016091190A
JP2016091190A JP2014223045A JP2014223045A JP2016091190A JP 2016091190 A JP2016091190 A JP 2016091190A JP 2014223045 A JP2014223045 A JP 2014223045A JP 2014223045 A JP2014223045 A JP 2014223045A JP 2016091190 A JP2016091190 A JP 2016091190A
Authority
JP
Japan
Prior art keywords
processing
identification code
cloud server
line
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014223045A
Other languages
English (en)
Inventor
鈴木 浩之
Hiroyuki Suzuki
浩之 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014223045A priority Critical patent/JP2016091190A/ja
Publication of JP2016091190A publication Critical patent/JP2016091190A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Character Input (AREA)

Abstract

【課題】光学文字認識処理における欠落行を的確に特定することが可能な技術を提供する。【解決手段】電子文書生成装置(外部端末50等)は、スキャン画像200から複数の行領域400をそれぞれ抽出し、各行間領域に各識別用画像500を配置して認識対象画像300を生成する。外部端末50は、認識対象画像300をクラウドサーバ90に送信し、全体処理結果700をクラウドサーバ90から受信する。外部端末50は、全体処理結果700において複数の処理後識別コード列750をそれぞれ識別し、全体処理結果700における各処理後識別コード列750の位置を特定する。テキストデータ700において、2つの処理後識別コード列750が連続して存在すると判定される場合、外部端末50は、認識対象画像300において、当該2つの処理後識別コード列750に対応する2つの行間領域の間に存在する行領域400を、欠落行領域として特定する。【選択図】図4

Description

本発明は、電子文書を生成する電子文書生成装置およびそれに関連する技術に関する。
MFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))などの画像形成装置において、原稿をスキャンして電子文書を作成する技術が存在する。
このような技術においては、原稿のスキャン画像をそのまま取り込んで電子文書を生成するものの他、テキストデータ付き電子文書(次述)を生成するものも存在する(特許文献1等参照)。具体的には、原稿のスキャン画像(特に文字を示す画像)に対して光学文字認識処理(以下、OCR(Optical Character Recognition)処理とも称する)が施され、当該スキャン画像内の文字のテキストデータが自動認識され、当該テキストデータが非表示状態で当該スキャン画像に重畳して埋め込まれる。このようにして、たとえば、透明テキスト付きPDF(Portable Document Format)(あるいはサーチャブルPDF)ファイルなどと呼ばれる所定形式の電子文書(テキストデータ付き電子文書)が生成される。
また、汎用的なOCR処理サービスをクラウドサーバを用いて提供する技術も存在する。
特開2012−73749号公報
ところで、上記技術を用いて以下のような動作を行うことが考えられる。たとえば、まず電子文書生成装置からクラウドサーバへとスキャン画像が送信され、スキャン画像全体に関するOCR処理がクラウドサーバで実行される。そして、OCR処理結果(テキストデータ)がクラウドサーバから電子文書生成装置へと返信され、電子文書生成装置は、クラウドサーバから受信したテキストデータを元のスキャン画像に埋め込んで、テキストデータ付き電子文書(サーチャブルPDF(透明テキスト付きPDF)ファイル等)を生成する。なお、汎用OCR処理サービスを利用することによれば、電子文書生成装置とは別の装置でOCR処理を行うことができるので、当該電子文書生成装置の処理負荷を低減することが可能である。
ここにおいて、このような汎用OCR処理サービスにおいては、スキャン画像内の或る行の文字列全体に対するOCR処理が行われず、当該或る行の文字列全体のOCR処理結果が生成されないことがある。
たとえば、スキャン画像内の複数行の文字列のうち2行目の文字列全体に亘って下線が引かれている場合(あるいは蛍光ペン等により文字上に線が引かれている場合)には、当該2行目の文字列全体が、クラウドサーバにより文字領域として認識されないことがある。当該2行目の文字列全体が文字領域として認識されない場合には、当該2行目の文字列に対してはOCR処理が行われず、当該2行目の文字列に対するOCR処理結果がクラウドサーバにて生成されない。すなわち、当該2行目の文字列に対するOCR処理結果の欠落が発生する。
しかしながら、電子文書生成装置は、クラウドサーバから受信したテキストデータ(OCR処理が施された行のOCR処理結果)のみに基づいて、OCR処理においていずれの行が欠落しているかを特定することが困難である。その結果、電子文書においてスキャン画像内の文字画像とテキストデータとの位置ずれ等の問題が生じ得る。
そこで、本発明は、光学文字認識処理における欠落行を的確に特定することが可能な技術を提供することを課題とする。
上記課題を解決すべく、請求項1の発明は、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置であって、原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、を備え、前記制御手段は、前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする。
請求項2の発明は、請求項1の発明に係る電子文書生成装置において、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする。
請求項3の発明は、請求項1または請求項2の発明に係る電子文書生成装置において、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする。
請求項4の発明は、請求項1ないし請求項3のいずれかの発明に係る電子文書生成装置において、前記認識対象画像において、各行間領域に配置される識別コード列と当該各行間領域のそれぞれ次の行間領域に配置される識別コード列とは、互いに異なることを特徴とする。
請求項5の発明は、請求項1ないし請求項4のいずれかの発明に係る電子文書生成装置において、前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさをそれぞれ検出するとともに、前記離間方向における前記各識別用画像の大きさを前記各行間領域の大きさに応じてそれぞれ設定し、その大きさが設定された後の前記各識別用画像を前記各行間領域にそれぞれ配置して前記認識対象画像を生成することを特徴とする。
請求項6の発明は、請求項1ないし請求項4のいずれかの発明に係る電子文書生成装置において、前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさが前記離間方向における前記各識別用画像の大きさよりも大きくなるように、前記各行間領域の大きさをそれぞれ変更し、その大きさが変更された後の前記各行間領域に前記各識別用画像をそれぞれ配置して前記認識対象画像を生成することを特徴とする。
請求項7の発明は、請求項1ないし請求項6のいずれかの発明に係る電子文書生成装置において、前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、をさらに備え、前記送信手段は、前記指定入力が受け付けられると、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットがそれぞれ可視化された複数のコードセット画像を、前記処理対象画像として前記クラウドサーバにそれぞれ送信し、前記受信手段は、前記クラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を前記クラウドサーバからそれぞれ受信し、前記制御手段は、前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットを最適コードセットとして決定し、前記最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記認識対象画像を生成することを特徴とする。
請求項8の発明は、請求項1ないし請求項6のいずれかの発明に係る電子文書生成装置において、複数のクラウドサーバの中から前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、をさらに備え、前記送信手段は、前記指定入力の受付に先立って、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットのそれぞれが可視化された複数のコードセット画像を、前記処理対象画像として前記複数のクラウドサーバにそれぞれ送信し、前記受信手段は、前記複数のクラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を、前記複数のクラウドサーバから受信し、前記制御手段は、前記複数のクラウドサーバによる前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき前記複数のクラウドサーバのそれぞれにおける識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットである最適コードセットを、前記複数のクラウドサーバのそれぞれについて決定し、前記指定入力が受け付けられると、前記クラウドサーバに対応する最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記クラウドサーバ向けの認識対象画像を生成することを特徴とする。
請求項9の発明は、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置に内蔵されたコンピュータに、a)原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するステップと、b)前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成するステップと、c)前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信するステップと、d)前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信するステップと、e)前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するステップと、f)前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定するステップと、g)前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定するステップと、を実行させるためのプログラムであることを特徴とする。
請求項10の発明は、請求項9の発明に係るプログラムにおいて、前記ステップg)においては、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域が前記欠落行領域として特定されることを特徴とする。
請求項11の発明は、請求項9または請求項10の発明に係るプログラムにおいて、前記ステップg)においては、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域が前記欠落行領域として特定されることを特徴とする。
請求項12の発明は、電子文書生成システムであって、原稿のスキャン画像を生成する画像形成装置と、クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する外部端末と、を備え、前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記外部端末に送信し、前記画像形成装置は、前記スキャン画像を前記外部端末に送信する通信手段、を有し、前記外部端末は、前記画像形成装置から受信した前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、を有し、前記制御手段は、前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする。
請求項13の発明は、電子文書生成システムであって、クラウドサーバと、原稿のスキャン画像を生成するとともに、前記クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する画像形成装置と、を備え、前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記画像形成装置に送信し、前記画像形成装置は、前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、を有し、前記制御手段は、前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする。
請求項14の発明は、請求項12または請求項13の発明に係る電子文書生成システムにおいて、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする。
請求項15の発明は、請求項12ないし請求項14のいずれかの発明に係る電子文書生成システムにおいて、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする。
請求項1ないし請求項15に記載の発明によれば、スキャン画像から複数の行領域がそれぞれ抽出され、当該複数の行領域の相互間の各行間領域に各識別用画像が配置されて認識対象画像が生成される。そして、全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、認識対象画像において、当該2つの処理後識別コード列に対応する2つの行間領域の間に存在する行領域が欠落行領域として特定される。したがって、光学文字認識処理における欠落行を的確に特定することが可能である。
電子文書生成システムを示す図である。 画像形成装置(MFP)の機能ブロックを示す図である。 外部端末の概略構成を示す機能ブロック図である。 電子文書生成システムにおける動作の概略を示す図である。 電子文書生成システムにおける動作例を示すタイミングチャートである。 スキャン画像を示す図である。 各行領域と各行領域の座標位置とを示す図である。 認識対象画像を示す図である。 OCR処理結果(テキストデータ)を示す図である。 OCR処理結果を示す図である。 OCR処理結果を示す図である。 OCR処理結果を示す図である。 生成された電子文書(サーチャブルPDFファイル)を示す図である。 第2実施形態に係る各行領域の高さを示す図である。 第2実施形態に係る認識対象画像を示す図である。 第3実施形態に係る各行領域の高さを示す図である。 第3実施形態に係る認識対象画像を示す図である。 第4実施形態に係る電子文書生成システムにおける動作例を示すタイミングチャートである。 コードセット画像を示す図である。 コードセット画像を示す図である。 コードセット画像を示す図である。 第4実施形態に係る認識対象画像を示す図である。 第5実施形態に係る電子文書生成システムを示す図である。 第5実施形態に係る電子文書生成システムの概要を示す図である。 第5実施形態に係る複数のクラウドサーバにおける識別コードセット毎の認識率を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
<1.第1実施形態>
<1−1.構成概要>
図1は、本発明に係る画像形成システム1を示す図である。図1に示すように、画像形成システム1は、画像形成装置10と外部端末50とクラウドサーバ90とを備える。
画像形成装置10と外部端末50とクラウドサーバ90とは、ネットワーク(通信ネットワーク)108を介して互いに接続される。ネットワーク108は、LAN(Local Area Network)およびインターネットなどによって構成される。また、ネットワーク108に対する接続態様は、有線接続であってもよく、或いは無線接続であってもよい。たとえば、画像形成装置10およびクラウドサーバ90はネットワーク108に対して有線接続され、外部端末50はネットワーク108に対して無線接続される。
クラウドサーバ90は、画像形成装置10とも外部端末50とも異なる外部装置(外部サーバ)である。クラウドサーバ90は、汎用的なOCR(Optical Character Recognition)処理サービスを提供するサーバである。当該汎用的なOCR処理サービスにおいて、クラウドサーバ90は、OCR処理の処理対象画像に対してOCR処理を実行し、当該処理対象画像に対するOCR処理結果(テキストデータ)を生成する。ただし、クラウドサーバ90においては、或る行の文字列全体に亘って下線が引かれている場合(あるいは蛍光ペン(マーカーペン)等により文字上に線が引かれている場合)に、当該或る行全体が文字領域として認識されないことがある。換言すれば、当該或る行全体が「文字ではない領域(非文字領域(図形領域等))」としてクラウドサーバ90により認識されることがある。当該或る行全体が文字領域として認識されない場合には、クラウドサーバ90は、当該或る行の文字列全体に対してはOCR処理を実行しない(OCR処理結果を生成しない)。
なお、このクラウドサーバ90は、サーチャブルPDF(Portable Document Format)ファイルの生成処理サービスを提供しない。サーチャブルPDFファイルは、後述するように、外部端末50およびクラウドサーバ90等が協働することによって生成される。
図4は、画像形成システム1における動作の概略を示す図である。
図4に示すように、この画像形成システム1においては、原稿のスキャン画像200が画像形成装置10によって生成され、当該スキャン画像200が画像形成装置10から外部端末50に送信される。外部端末50は、当該スキャン画像200に対して後述の処理を施して認識対象画像300を生成し、当該認識対象画像300をクラウドサーバ90に送信する。クラウドサーバ90は、外部端末50から受信した認識対象画像300に対してOCR処理を施してテキストデータ700をOCR処理結果として生成し、当該テキストデータ700を外部端末50(処理依頼元装置)に送信する。そして、外部端末50は、クラウドサーバ90から受信したテキストデータ700に基づいて電子文書800を生成する。当該電子文書800は、テキストデータ付き電子文書(ここでは、サーチャブルPDFファイル)として生成される。
なお、画像形成システム1は、電子文書を生成するシステムでもあることから、電子文書生成システムなどとも表現される。同様に、外部端末50は「電子文書生成装置」であるとも表現される。
<1−2.画像形成装置の構成>
図2は、画像形成装置10の機能ブロックを示す図である。ここでは、画像形成装置10として、MFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))を例示する。
MFP10は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置(複合機とも称する)である。具体的には、MFP10は、図2の機能ブロック図に示すように、画像読取部2、印刷出力部3、通信部4、格納部5、操作部6およびコントローラ(制御部)9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
画像読取部2は、MFP10の所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ(スキャン画像とも称する)を生成する処理部である。
印刷出力部3は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、ネットワーク108を介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、MFP10は、所望の相手先(たとえば、外部端末50)と連携して各種のデータを授受することが可能である。通信部4は、各種データを送信する送信部4aと各種データを受信する受信部4bとを有する。
格納部5は、ハードディスクドライブ(HDD)等の記憶装置で構成される。
操作部6は、MFP10に対する操作入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。
このMFP10においては、略板状の操作パネル部6c(図1参照)が設けられている。また、操作パネル部6cは、その正面側にタッチパネル25(図1参照)を有している。タッチパネル25は、操作入力部6aの一部としても機能するとともに、表示部6bの一部としても機能する。タッチパネル25は、液晶表示パネルに各種センサ等が埋め込まれて構成され、各種情報を表示するとともに操作者からの各種の操作入力を受け付けることが可能である。
たとえば、タッチパネル25においては、各種の操作画面(ボタン画像等を含む)が表示される。操作者は、タッチパネル25の操作画面内に仮想的に配置されるボタンを押下することによって、MFP10の各種動作内容を設定するとともに動作指示を付与することができる。
コントローラ(制御部)9は、MFP10に内蔵され、MFP10を統括的に制御する制御装置である。コントローラ9は、CPUおよび各種の半導体メモリ(RAMおよびROM)等を備えるコンピュータシステムとして構成される。コントローラ9は、CPUにおいて、ROM(例えば、EEPROM)内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を実行することによって、各種の処理部を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体、あるいはネットワーク108等を介してMFP10にインストールされてもよい。
具体的には、図2に示すように、コントローラ9は、当該プログラムの実行により、通信制御部11と入力制御部12と表示制御部13とを含む各種の処理部を実現する。
通信制御部11は、他の装置(外部端末50等)との間の通信動作を通信部4等と協働して制御する処理部である。たとえば、通信制御部11は、スキャン画像200等を外部端末50に送信する。
入力制御部12は、操作入力部6aに対するユーザからの操作入力の受付動作等を制御する制御部である。
表示制御部13は、表示部6bにおける表示動作を制御する処理部である。表示制御部13は、たとえば、MFP10を操作するための操作画面をタッチパネル25に表示させる。
<1−3.外部端末の構成>
次に外部端末50の構成について説明する。
外部端末50は、MFP10およびクラウドサーバ90との間でのネットワーク通信が可能な情報入出力端末装置(情報端末あるいは通信端末とも称される)である。ここでは、外部端末50として、タブレット型端末を例示する。ただし、これに限定されず、外部端末50は、スマートフォンあるいはパーソナルコンピュータなどであってもよい。また、外部端末は、携帯式の装置(携帯情報端末等)(携帯端末)であってもよく、あるいは、据置型の装置であってもよい。
図3は外部端末50の概略構成を示す機能ブロック図である。
外部端末50は、図3の機能ブロック図に示すように、通信部54、格納部55、操作部56およびコントローラ(制御部)59等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
通信部54は、ネットワーク108を介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、外部端末50は、所望の相手先(MFP10およびクラウドサーバ90等)と連携して各種のデータを授受することが可能である。通信部54は、各種データを送信する送信部54aと各種データを受信する受信部54bとを有する。たとえば、受信部54bは、スキャン画像200(図6参照)をMFP10から受信し、送信部54aは、認識対象画像300(図8参照)(後述)等をクラウドサーバ90に送信する。また、受信部54bは、当該認識対象画像300に対するOCR処理結果(テキストデータ)700(図9参照)等をクラウドサーバ90から受信する。
格納部55は、不揮発性の半導体メモリ等の記憶装置で構成され、各種の情報を格納する。たとえば、格納部55には、スキャン画像200から抽出された複数の行領域400(図7参照)のそれぞれの当該スキャン画像200内における座標位置が格納される。
操作部56は、外部端末50に対する操作入力を受け付ける操作入力部56aと、各種情報の表示出力を行う表示部56bとを備えている。この外部端末50においては、液晶表示パネルに各種センサ等が埋め込まれて構成されたタッチパネル75(図1参照)が設けられている。具体的には、図1に示すように、略板状の外部端末50の正面側において、その周縁部(枠部)を除くほぼ全面にわたってタッチパネル75が設けられている。換言すれば、タッチパネル75は、操作入力部56aの一部としても機能するとともに、表示部56bの一部としても機能する。
コントローラ(制御部)59は、外部端末50に内蔵され、外部端末50を統括的に制御する制御装置である。コントローラ59は、CPUおよび各種の半導体メモリ(RAMおよびROM)等を備えるコンピュータシステムとして構成される。コントローラ59は、CPUにおいて、記憶部(半導体メモリ等)内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を実行することによって、各種の処理部を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体、あるいはネットワーク108等を介して外部端末50にインストールされるようにしてもよい。
具体的には、コントローラ59は、当該プログラム等の実行により、通信制御部61と入力制御部62と表示制御部63と抽出部64と検出部65と画像生成部66と文書生成部67と特定部68とを含む各種の処理部を実現する。
通信制御部61は、通信部54等と協働して、MFP10およびクラウドサーバ90等との通信動作を制御する処理部である。
入力制御部62は、操作入力部56aに対するユーザからの操作入力の受付動作等を制御する制御部である。
表示制御部63は、表示部56bにおける表示動作を制御する処理部である。表示制御部63は、たとえば、MFP10との連携処理を行うための操作画面をタッチパネル75に表示する。
抽出部64は、スキャン画像200の文字領域250(図7参照)から複数の行領域400をそれぞれ抽出する処理部である。
検出部65は、複数の行領域400のスキャン画像200内における位置(座標位置)をそれぞれ検出する処理部である。
画像生成部66は、複数の行領域400の相互間の複数の行間領域のそれぞれに各識別用画像500(図8参照)(後述)を配置して認識対象画像300を生成する処理部である。
文書生成部67は、電子文書800(図13参照)を生成する処理部である。文書生成部67は、クラウドサーバ90から受信したテキストデータ700に係るコード列(文字列等)を複数の行領域400(詳細には複数の行領域400のスキャン画像200内における検出位置)にそれぞれ配置して電子文書800(サーチャブルPDFファイル等)を生成する。
特定部68は、クラウドサーバ90による文字認識処理(OCR処理)における欠落行領域を特定する処理部である。具体的には、特定部68は、クラウドサーバ90から受信したテキストデータ700(図9参照)において複数の処理後識別コード列750(後述)をそれぞれ識別するとともに、テキストデータ700における複数の処理後識別コード列750の位置をそれぞれ特定する。そして、テキストデータ700において2つの処理後識別コード列750が連続して存在すると判定される場合、特定部68は、認識対象画像300において、当該2つの処理後識別コード列750にそれぞれに対応する2つの行間領域の間に存在する行領域400を、欠落行領域として特定する。
<1−4.動作>
図4は、画像形成システム1における動作の概略を示す図である。
図4に示すように、この画像形成システム1において、外部端末50は、スキャン画像200から複数の行領域400をそれぞれ抽出し、当該複数の行領域400の相互間の複数の行間領域のそれぞれに各識別用画像500を配置して認識対象画像300を生成する。外部端末50は当該認識対象画像300をクラウドサーバ90に送信し、クラウドサーバ90は、当該認識対象画像300に対してOCR処理を実行するとともにOCR処理結果(テキストデータ)700を外部端末50に送信する。外部端末50は、各識別用画像500のそれぞれに含まれていた各識別コード列600(図8参照)(後述)に基づいて、テキストデータ700において複数の処理後識別コード列750をそれぞれ識別するとともに、テキストデータ700における複数の処理後識別コード列750の位置をそれぞれ特定する。そして、テキストデータ700において2つの処理後識別コード列750が連続して存在すると判定される場合、外部端末50は、認識対象画像300において、当該2つの処理後識別コード列750にそれぞれ対応する2つの行間領域の間に存在する行領域400を、欠落行領域として特定する。
<スキャン画像生成等>
まず、ユーザは、スキャン対象の原稿をMFP10の原稿台(たとえば、自動給紙装置(ADF:Auto Document Feeder )あるいは原稿載置用ガラス面等)に載置し、外部端末50の操作画面において電子文書800の生成指示を外部端末50に付与する。外部端末50は、当該生成指示を受け付けると、当該生成指示に基づくスキャン画像生成指示をMFP10に転送する。
電子文書800の生成指示に際して、ユーザは、スキャン処理により最終的に生成される電子文書800のファイル形式を指定する。ここでは、当該電子文書800のファイル形式として、サーチャブルPDF(透明テキスト付きPDF)ファイルが指定される。なお、サーチャブルPDF(透明テキスト付きPDF)ファイルは、文字画像を有する画像レイヤと、当該文字画像に対する文字認識結果が非表示状態で埋め込まれたテキストレイヤとを有するPDF形式の電子文書である。
MFP10は、当該生成指示(スキャン画像生成指示等)を外部端末50から受信すると、スキャン動作を開始し、MFP10の原稿台(ADF等)に載置された原稿のスキャン画像200(201)(図6参照)を生成する。なお、ここでは、図6に示すように、スキャン画像201(原稿)内の複数行(ここでは4行)の文字列のうち2行目の文字列の全体に亘って下線が引かれている。
そして、MFP10は、スキャン画像(詳細にはスキャン画像データ)200(201)(図7参照)を外部端末50に送信する。
<認識対象画像生成処理およびOCR処理等>
図5は、電子文書生成システム1における動作例を示すタイミングチャートである。外部端末50(およびクラウドサーバ90)は、スキャン画像200(201)をMFP10から受信すると、図5に示すような処理を実行する。
外部端末50は、スキャン画像200(201)をMFP10から受信して取得する(ステップS11)と、スキャン画像200(201)(図7参照)の文字領域250から複数の行領域400(401〜404)をそれぞれ抽出する(ステップS12)。より詳細には、外部端末50(抽出部64)は、画像処理によって、スキャン画像201を文字領域250と非文字領域(空白領域等)260とに区分し、当該文字領域250から複数の行領域(1行単位の領域)401〜404をそれぞれ抽出する。
ステップS12においては、さらに、外部端末50(検出部65)は、複数の行領域400(401〜404)のスキャン画像200(201)内における位置(座標位置)をそれぞれ検出し、各座標位置を格納部55に格納する。ここでは、行領域401〜404の左上の点のスキャン画像201内における座標位置(座標値(X1,Y1)〜(X4,Y4))(図7参照)がそれぞれ検出され、行領域401〜404の座標位置が格納部55にそれぞれ格納される。
そして、ステップS13において、外部端末50(画像生成部66)は、複数の行領域400(401〜404)の相互間の複数の行間領域のそれぞれに、各識別用画像500(501〜503)を配置して認識対象画像300(301)を生成する(図8参照)。各識別用画像500(501〜503)は、予め準備された識別コード列600(601〜603)(次述)をそれぞれ有する。
識別コード列600は、各行間領域を識別するためのコード列である。この識別コード列600は、複数の識別コード(文字(数字、アルファベット等)、記号等)で構成される。第1実施形態では、識別コード列600は、所定数(ここでは10個)の同一識別コードで構成される。また、各行間領域に配置される識別コード列600と、当該各行間領域のそれぞれ次の行間領域に配置される識別コード列600とは、互いに異なる。たとえば、図8に示すように、1行目の行領域401と2行目の行領域402との相互間の行間領域に配置される識別コード列601は、10個の数字「1」で構成されている。また、2行目の行領域402と3行目の行領域403との相互間の行間領域に配置される識別コード列602は、10個の数字「2」で構成されている。さらに、3行目の行領域403と4行目の行領域404との相互間の行間領域に配置される識別コード列603は、10個の数字「3」で構成されている。このように、各行間領域に配置される識別コード列600と、当該各行間領域のそれぞれ次の行間領域に配置される識別コード列600とは、互いに異なる数字で構成されている。
これらの識別コード列600(601〜603)を可視化(画像化)した各識別用画像500(501〜503)が複数の行間領域に配置されて、認識対象画像300(301)が生成される。
ステップS13においては、さらに、各識別コード列600と当該各識別コード列600が配置された行間領域とを対応付ける配置情報が、格納部55に格納される。この配置情報は、i(i=1,...,N−1)番目の識別コード列600が、i(i=1,...,N)行目の行領域400と(i+1)行目の行領域400との相互間の行間領域に配置された旨、を示す情報である。なお、値Nは行領域数(ここでは値N=4)である。認識対象画像300において、i番目の識別コード列600が、i行目の行領域400と(i+1)行目の行領域400との相互間の行間領域に配置されると、当該行間領域がi番目の識別コード列600に対応する行間領域である旨の配置情報が格納部55に格納される。
具体的には、認識対象画像300において、1番目の識別コード列601が1行目の行領域401と2行目の行領域402との相互間の行間領域に配置されると、当該行間領域と1番目の識別コード列601とを対応付ける配置情報が格納される。同様にして、認識対象画像300において、2番目の識別コード列602が2行目の行領域402と3行目の行領域403との相互間の行間領域に配置されると、当該行間領域と2番目の識別コード列602とを対応付ける配置情報が格納される。また、認識対象画像300において、3番目の識別コード列603が3行目の行領域403と4行目の行領域404との相互間の行間領域に配置されると、当該行間領域と3番目の識別コード列603とを対応付ける配置情報が格納される。
このようにして、各識別コード列600と当該各識別コード列600が配置された行間領域とを対応付ける配置情報が、格納部55に格納される。なお、この配置情報は、ステップS17(後述)における行間領域の特定処理の際に利用される。
ステップS13において認識対象画像300(301)が生成されると、外部端末50(送信部54a)は、当該認識対象画像300(301)をOCR処理の処理対象画像としてクラウドサーバ90に送信する(ステップS14)。なお、外部端末50は、当該認識対象画像300(301)の送信に伴って、当該認識対象画像300(301)に対するOCR処理を開始すべき旨のOCR開始指令をもクラウドサーバ90に送信する。
クラウドサーバ90は、外部端末50から認識対象画像300(301)およびOCR開始指令を受信すると、認識対象画像300(301)に対してOCR処理を実行し、テキストデータ700(図9参照)をOCR処理結果として生成する(ステップS15)。このテキストデータ700(認識対象画像300(301)に対するOCR処理結果)は、「全体処理結果」とも称される。なお、クラウドサーバ90は、複数の行領域400(401〜404)のみならず各識別用画像500(501〜503)に対してもOCR処理を実行し、各識別用画像500(501〜503)に対する文字認識処理の処理結果として複数の処理後識別コード列750(751〜753)をそれぞれ生成する。換言すれば、このテキストデータ(全体処理結果)700には、各処理後識別コード列750(751〜753)が含まれる。また、ここでは、クラウドサーバ90は、各文字認識結果のそれぞれの直後に改行コードを付さずにテキストデータ700を生成する。
図9は、認識対象画像300(301)に対するOCR処理結果(テキストデータ)700を示す図である。全ての行領域401〜404に対してOCR処理が施される場合には、クラウドサーバ90は、図9の上側に示すようなテキストデータ700を生成する。具体的には、クラウドサーバ90は、認識対象画像301(図8参照)における全ての行領域400(401〜404)および全ての識別用画像500(501〜503)に対してOCR処理をそれぞれ施し、テキストデータ(全体処理結果)700(図9の上側参照)を生成する。
ここにおいて、行領域402においては、領域内の文字列の全体に亘って下線が引かれている(図8参照)。上述のように、クラウドサーバ90は、このような行領域402を文字領域として認識せず、当該行領域402に対してOCR処理を実行しない(行領域402に対するOCR処理結果を生成しない)ことがある。行領域402に対してOCR処理が実行されない場合には、図9の下側に示すように、行領域402に対するOCR処理結果が欠落した状態のテキストデータ(全体処理結果)701がテキストデータ700として生成される。
そして、クラウドサーバ90は、当該テキストデータ700(701)を外部端末50(OCR処理の処理依頼元装置)に送信する(ステップS16)。
外部端末50は、テキストデータ700(701)をクラウドサーバ90から受信すると、クラウドサーバ90によるOCR処理(文字認識処理)における欠落行領域の存否等を判定する(ステップS17)。
具体的には、特定部68は、複数の行間領域に配置される複数の識別用画像500(501〜503)のそれぞれに含まれていた(処理前の)各識別コード列600(601〜603)に基づいて、テキストデータ(全体処理結果)700(701)において、複数の処理後識別コード列750(751〜753)をそれぞれ識別する(図12参照)。より詳細には、特定部68は、全体処理結果701内の先頭コードから順次にコードを識別(認識)し、識別コード列601〜603(外部端末50自身が認識対象画像301内に配置した識別コード列)に基づいて、全体処理結果701において処理後識別コード列751〜753をそれぞれ識別(認識)する。
なお、処理後識別コード列750を構成する識別コードの個数が(処理前の)識別コード列600を構成する識別コードの個数(10個)よりも若干(たとえば1つ)少ない場合であっても、特定部68は、全体処理結果700において処理後識別コード列750を識別(認識)することが可能である。換言すれば、識別コード列600内の複数の識別コードのうちの若干数(たとえば1つ)の識別コードがOCR処理において認識されず、9個の識別コードで構成される処理後識別コード列750が文字認識結果として生成されたとしても、全体処理結果700において、当該処理後識別コード列750が(他のコード列(当該処理後識別コード列750以外のコード列)とは区別されて)識別される。
特定部68は、全体処理結果700(701)において複数の処理後識別コード列750(751〜753)をそれぞれ識別するとともに、全体処理結果700(701)における複数の処理後識別コード列750(751〜753)の位置をもそれぞれ特定する。
そして、特定部68は、全体処理結果700(701)において、クラウドサーバ90によるOCR処理(文字認識処理)における欠落行領域が存在するか否か、を判定する。
具体的には、特定部68は、全体処理結果700(701)において、(近傍の)2つの処理後識別コード列750が連続して存在するか否か、を判定する。換言すれば、全体処理結果700(701)において、i(i=1,...,N−2)番目の処理後識別コード列750と、次の処理後識別コード列750((i+1)番目の処理後識別コード列750)とが連続して存在するか否か、が判定される。なお、本願では、全体処理結果700(701)において2つの処理後識別コード列750の間にコードが存在しない状態を、「2つの処理後識別コード列750が『連続して』存在する」と表現する。
全体処理結果700(701)においてi番目および(i+1)番目の処理後識別コード列750が連続して存在する場合、特定部68は、認識対象画像300(301)において、当該2つの処理後識別コード列750にそれぞれ対応する2つの行間領域の間に存在する行領域400を、欠落行領域として特定する。
詳細には、当該2つの行間領域を特定する「行間領域特定処理」が行われ、特定された2つの行間領域の間に存在する行領域400が、欠落行領域として特定される。具体的には、まず、i番目および(i+1)番目の処理後識別コード列750にそれぞれ対応するi番目および(i+1)番目の識別コード列600が特定される。次に、i番目および(i+1)番目の識別コード列600にそれぞれ対応する2つの行間領域が、ステップS13において格納されていた配置情報に基づき特定される。そして、認識対象画像300(301)において当該2つの行間領域の間に存在する行領域400が、欠落行領域として特定される。
一方、全体処理結果700(701)においてi番目および(i+1)番目の処理後識別コード列750が連続していない場合、特定部68は、認識対象画像300(301)において、当該2つの処理後識別コード列750にそれぞれ対応する2つの行間領域の間に存在する行領域400は欠落行領域ではない旨、を判定する。換言すれば、i番目および(i+1)番目の処理後識別コード列750の間にコードが存在する場合、認識対象画像300において、当該i番目および(i+1)番目の処理後識別コード列750にそれぞれ対応する2つの行間領域の間に存在する行領域400は欠落行領域ではない旨、が判定される。詳細には、当該2つの処理後識別コード列750に対して行間領域特定処理が行われ、特定された2つの行間領域の間に存在する行領域400は欠落行領域ではない旨、が判定される。
i番目および(i+1)番目の処理後識別コード列750の連続性に関する判定処理について、さらに詳細に説明する。
たとえば、図12に示すように、全体処理結果701においては、1番目の処理後識別コード列751と2番目の処理後識別コード列752とが連続して存在している。そのため、全体処理結果701において当該2つの処理後識別コード列751,752が連続して存在する旨が判定される。この場合、認識対象画像301(図8参照)において、当該2つの処理後識別コード列751,752にそれぞれ対応する2つの行間領域の間に存在する行領域402が、欠落行領域として特定される。詳細には、まず、1番目の処理後識別コード列751に対応する1番目の識別コード列601が特定される。そして、認識対象画像301において当該1番目の識別コード列601が配置された行間領域として、1行目の行領域401と2行目の行領域402との相互間の行間領域が、配置情報に基づき特定される。次に、2番目の処理後識別コード列752に対応する2番目の識別コード列602が特定される。そして、認識対象画像301において当該2番目の識別コード列602が配置された行間領域として、2行目の行領域402と3行目の行領域403との相互間の行間領域が、配置情報に基づき特定される。2つの行間領域が配置情報に基づきそれぞれ特定されると、認識対象画像301において当該2つの行間領域の間に存在する行領域402が欠落行領域として特定される。
また、図12に示すように、全体処理結果701において、2番目の処理後識別コード列752と3番目の処理後識別コード列753との間にはコード(文字認識結果)が存在している。この場合、認識対象画像301(図8参照)において、当該2番目および3番目の処理後識別コード列752,753にそれぞれ対応する行間領域の間に存在する行領域403は欠落行領域ではない旨、が判定される。なお、2番目および3番目の処理後識別コード列752,753にそれぞれ対応する行間領域の行間領域特定処理は、1番目および2番目の処理後識別コード列751,752にそれぞれ対応する行間領域の行間領域特定処理と同様にして行われる。
ここにおいて、複数の処理後識別コード列750(751〜753)のうちの先頭の処理後識別コード列751および末尾の処理後識別コード列753については、2つの処理後識別コード列の連続性に関する判定処理とは異なる判定処理(後述)も行われる。
具体的には、複数の処理後識別コード列750(751〜753)のうちの先頭の処理後識別コード列750(751)については、特定部68は、全体処理結果700(701)において当該先頭の処理後識別コード列750(751)の直前にコード(文字認識処理の処理結果)が存在するか否か、を判定する。
全体処理結果700(701)において当該先頭の処理後識別コード列750(751)の直前にコードが存在しない場合、特定部68は、複数の行領域400(401〜404)のうちの先頭の行領域400(401)を欠落行領域として特定する。また、全体処理結果700(701)において当該先頭の処理後識別コード列750(751)の直前にコードが存在する場合、特定部68は、複数の行領域400(401〜404)のうちの先頭の行領域400(401)は欠落行領域ではない旨を判定する。
ここでは、全体処理結果701(図12参照)において先頭の処理後識別コード列751の直前にコードが存在する旨が判定される。この場合、複数の行領域401〜404のうちの先頭の行領域401(図8参照)は欠落行領域ではない旨、が判定される。
また、複数の処理後識別コード列750(751〜753)のうちの末尾の処理後識別コード列753については、特定部68は、全体処理結果700(701)において当該末尾の処理後識別コード列750(753)の直後にコード(文字認識処理の処理結果)が存在するか否か、を判定する。
全体処理結果700(701)において当該処理後識別コード列750(753)の直後にコードが存在しないと判定される場合、特定部68は、複数の行領域400(401〜404)のうちの末尾の行領域400(404)を欠落行領域として特定する。また、全体処理結果700(701)において当該末尾の処理後識別コード列750(753)の直後にコードが存在する場合、特定部68は、複数の行領域400(401〜404)のうちの末尾の行領域400(404)は欠落行領域ではない旨を判定する。
ここでは、全体処理結果701(図12参照)において末尾の処理後識別コード列753の直後にコードが存在する旨が判定される。この場合、複数の行領域401〜404のうちの末尾の行領域404(図8参照)は欠落行領域ではない旨、が判定される。
このようにして、ステップS17において欠落行領域の存否等が判定される。
なお、仮に行領域401(複数の行領域401〜404のうちの先頭の行領域)に対する文字認識処理の処理結果が欠落している場合には、図10のような全体処理結果700(702)がクラウドサーバ90にて生成される。図10に示すように、当該全体処理結果702においては、先頭の処理後識別コード列751の直前にコードが存在していない(全体処理結果702内の先頭のコード列が処理後識別コード列751である)。この場合、全体処理結果702において複数の処理後識別コード列751〜753のうちの先頭の処理後識別コード列751の直前にコードが存在しない旨、が判定される。そして、複数の行領域401〜404のうちの先頭の行領域401(図8参照)が欠落行領域として特定される。
また、仮に行領域404(複数の行領域401〜404のうちの末尾の行領域)に対する文字認識処理の処理結果が欠落している場合には、図11のような全体処理結果700(703)がクラウドサーバ90にて生成される。図11に示すように、当該全体処理結果703においては、末尾の処理後識別コード列753の直後にコードが存在していない(全体処理結果703内の末尾のコード列が処理後識別コード列753である)。この場合、全体処理結果703において複数の処理後識別コード列751〜753のうちの末尾の処理後識別コード列753の直後にコードが存在しない旨、が判定される。そして、複数の行領域401〜404のうちの末尾の行領域404(図8参照)が欠落行領域として特定される。
ステップS17の後、外部端末50は、テキストデータ700(701)に基づき電子文書800(図13参照)を生成する(ステップS18)。
具体的には、外部端末50は、テキストデータ(全体処理結果)700(701)から各処理後識別コード列750(751〜753)を除去したコード列450(図12参照)を、スキャン画像200(201)の文字領域250に対する文字認識結果として決定する。そして、文書生成部67は、複数の行領域400(401〜404)のスキャン画像200(201)内の検出位置(座標位置)を格納部55から抽出し、欠落行領域ではないと判定された行領域400の検出位置に各コード列(各文字認識結果)450を配置する。
各行領域400(401〜404)への各コード列450等の配置について、先頭の行領域401から順に説明する。
上述のように、先頭の行領域401は、欠落行領域ではないと判定された行領域である。当該先頭の行領域401の検出位置には、全体処理結果701において先頭の処理後識別コード列751の直前に存在するコード列450(451)が配置される。具体的には、文書生成部67は、全体処理結果701(図12参照)の中から、先頭の処理後識別コード列751の直前に存在するコード列450(451)を先頭の行領域401に対応する文字認識結果として抽出する。そして、文書生成部67は、当該コード列450(451)を行領域401のスキャン画像201内の検出位置(X1,Y1)(図7参照)に配置する。
つぎに、2行目の行領域402は、欠落行領域として特定された行領域である。文書生成部67は、欠落行領域として特定された行領域402のスキャン画像201内の検出位置(X2,Y2)に空白領域850(図13参照)を配置する。換言すれば、欠落行領域として特定された行領域402に対する文字認識結果の代わりに空白領域850が当該行領域402の検出位置(X2,Y2)に配置される。
また、3行目の行領域403は、欠落行領域ではないと判定された行領域である。文書生成部67は、全体処理結果701(図12参照)の中から、2個目の処理後識別コード列752と3個目の処理後識別コード列753との間に存在するコード列450(453)を、3行目の行領域400(403)に対応する文字認識結果として抽出する。そして、当該コード列450(453)が行領域403のスキャン画像201内の検出位置(X3,Y3)(図7参照)に配置される。
末尾の行領域404も、欠落行領域ではないと判定された行領域である。文書生成部67は、全体処理結果701の中から、末尾の処理後識別コード列753の直後に存在するコード列450(454)を4行目の行領域400(404)に対応する文字認識結果として抽出する。そして、当該コード列450(454)が行領域404のスキャン画像201内の検出位置(X4,Y4)(図7参照)に配置される。
このようにして、各行領域400の検出位置に各コード列450等が配置され、電子文書800が生成される。
以上のように、第1実施形態に係る動作においては、スキャン画像201から複数の行領域401〜404がそれぞれ抽出され、複数の行領域401〜404の相互間の各行間領域に各識別用画像501〜503が配置されて認識対象画像301が生成される。そして、全体処理結果701において2つの処理後識別コード列750(751,752)が連続して存在すると判定される場合、認識対象画像301において、当該2つの処理後識別コード列750(751,752)に対応する2つの行間領域の間に存在する行領域400(402)が欠落行領域として特定される。したがって、外部端末50は、OCR処理における欠落行を的確に特定することが可能である。
また、電子文書800の生成に際して、欠落行領域として特定された行領域402のスキャン画像201内の検出位置(X2,Y2)に空白領域850が配置される。これにより、次の行領域(行領域403)の文字認識結果が行領域402の文字画像上に配置されないので、スキャン画像201内の文字画像とテキストデータとの位置ずれが発生すること、を抑制することが可能である。
なお、第1実施形態では、識別コード列600が数字の識別コードで構成される態様を主に例示したが、これに限定されず、識別コード列600がアルファベット等の識別コードで構成されるようにしてもよい。
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
第1実施形態では、各識別用画像500が一定の大きさを有し、認識対象画像300において、当該各識別用画像500が(そのまま)各行間領域にそれぞれ配置される態様を例示した。
第2実施形態では、各識別用画像500の大きさ(高さ)が各行間領域の大きさ(高さ)に応じてそれぞれ設定されるとともに、認識対象画像300において、その大きさが設定された後の各識別用画像500が各行間領域にそれぞれ配置される態様を例示する。
この第2実施形態においても、第1実施形態と同様に図5の各処理がそれぞれ行われる。
ただし、第2実施形態のステップS13の処理内容が第1実施形態のステップS13の処理内容とは異なる。
図14は、スキャン画像201内の行領域400(401〜404)の離間方向における各行間領域の大きさ(高さ)H10(H11〜H13)を示す図である。
ステップS13では、まず外部端末50(画像生成部66)は、各行間領域の大きさ(高さ)H10(H11〜H13)を画像処理によってそれぞれ検出する。
次に、画像生成部66は、当該離間方向における各識別用画像500(501〜503)の大きさ(高さ)を、当該各行間領域の大きさH10(H11〜H13)に応じてそれぞれ設定する。たとえば、各行間領域の大きさH10が一定程度以上に大きい場合には、当該各行間領域の大きさH10に応じて、各識別用画像500(501〜503)の大きさも大きく設定される。なお、ここでは、各識別用画像500(501〜503)の大きさは、各行間領域の大きさH10(H11〜H13)に対して所定の割合(100%以下の割合(たとえば90%))の大きさにそれぞれ設定される。
そして、画像生成部66は、図15に示すように、その大きさが設定された後の各識別用画像500(501〜503)を各行間領域にそれぞれ配置して認識対象画像300(302)を生成する。
なお、ステップS13以外の処理は、上記第1実施形態と同様にして行われる。
この第2実施形態においては、各行間領域に配置される各識別用画像500の大きさ(高さ)が、当該各行間領域の大きさH10に応じてそれぞれ設定される。そのため、各行間領域の大きさH10が一定程度以上に大きい場合には、各識別用画像500の大きさが、当該大きさH10に応じて大きく設定される。また、一般的には、処理対象画像内の文字等の大きさが大きい程、クラウドサーバ90によるOCR処理において当該文字等がより正確に認識される。したがって、各識別用画像500に含まれる各識別コード列600がOCR処理において正確に認識される可能性を向上することが可能である。
なお、ここでは各識別用画像500の大きさ(高さ)が各行間領域の大きさ(高さ)H10に(常に)比例してそれぞれ設定される態様を例示したが、これに限定されない。たとえば、各識別用画像500の大きさに上限値を設け、各識別用画像500の大きさが当該上限値以上の大きさに設定されないようにしてもよい。各識別用画像500の大きさに上限値を設けることによれば、各識別用画像500の大きさが当該上限値以上の大きさに設定されることがないので、認識対象画像300のファイル容量が一定程度以上に大きくなること、を防止することができる。その結果、外部端末50とクラウドサーバ90との間の通信負荷が増大すること、を抑制することが可能である。また、クラウドサーバ90によっては、処理対象画像内の文字等の大きさが一定程度以上に大きくなると、OCR処理における当該文字等の認識精度が低下することがある。各識別用画像500の大きさに上限値を設けることによれば、各識別用画像500の大きさが当該上限値以上の大きさに設定されることがないので、OCR処理における当該文字等の認識精度が低下すること、を抑制することも可能である。
<3.第3実施形態>
第3実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
第1実施形態では、複数の行領域400の相互間の各行間領域の大きさ(高さ)が変更されることなく、各行間領域に各識別用画像500がそれぞれ配置されて認識対象画像300が生成される態様を例示した。
この第3実施形態では、各行間領域の大きさ(高さ)が各識別用画像500の大きさ(高さ)よりも大きくなるように当該各行間領域の大きさがそれぞれ変更され、変更後の各行間領域に各識別用画像500がそれぞれ配置されて認識対象画像300が生成される態様を例示する。なお、ここでは、各識別用画像500は、所定の大きさ(たとえば各行領域400の高さのうちの最大の高さと同じ高さ)H30をそれぞれ有する。
第3実施形態においても、第1実施形態と同様に図5の各処理がそれぞれ行われる。
ただし、第3実施形態のステップS13の処理内容が第1実施形態のステップS13の処理内容とは異なる。
ステップS13では、まず、外部端末50(画像生成部66)は、スキャン画像200内の行領域400(401〜404)の離間方向における各行間領域の大きさ(高さ)H20(H21〜H23)(図16参照)を画像処理によってそれぞれ検出する。また、画像生成部66は、各行領域400(401〜404)のそれぞれの大きさをも画像処理によって検出し、各行領域400の高さのうちの最大の高さ(ここでは行領域401の高さ)を各識別用画像500(501〜503)の大きさH30として設定する。
次に、画像生成部66は、各行間領域の大きさH20(H21〜H23)が各識別用画像500(501〜503)の大きさH30よりも大きいか否か、を判定する。各行間領域の大きさH20が各識別用画像500の大きさH30よりも小さい旨が判定されると、画像生成部66は、各行間領域の大きさが当該離間方向における各識別用画像500(501〜503)の大きさH30よりも大きくなるように、各行間領域の大きさをそれぞれ変更(拡大)する。詳細には、各行間領域の大きさH20(H21〜H23)が、各識別用画像500(501〜503)の大きさH30に対して所定の割合(100%以上(たとえば110%))の大きさに設定される。
そして、画像生成部66は、図17に示すように、その大きさが変更された後の各行間領域に各識別用画像500(501〜503)をそれぞれ配置して認識対象画像300(303)を生成する。
また、各行間領域の大きさH20が各識別用画像500の大きさH30よりも大きい旨が判定される場合には、画像生成部66は、各行間領域の大きさを変更せずに、各行間領域に各識別用画像500をそれぞれ配置して認識対象画像300を生成する。
なお、ステップS13以外の処理は、上記第1実施形態と同様にして行われる。
ここにおいて、各行間領域の大きさH20が各識別用画像500の大きさH30よりも小さい場合に、各識別用画像500が各行間領域にそのまま配置されると、認識対象画像300において行領域400と識別コード列600とが重畳する。行領域400と識別コード列600とが重畳する場合には、認識対象画像300内の文字列(詳細には重畳する行領域および識別コード列)がOCR処理にて誤認識される恐れがある。
これに対して、この第3実施形態においては、各行間領域の大きさが各識別用画像500の大きさH30よりも大きくなるように当該各行間領域の大きさがそれぞれ変更(拡大)され、変更後の各行間領域に各識別用画像500がそれぞれ配置される。したがって、行領域400と識別コード列600との重畳が回避されるので、認識対象画像300内の文字列(詳細には重畳する行領域および識別コード列)がOCR処理にて誤認識されること、を抑制することが可能である。
<4.第4実施形態>
第4実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
第4実施形態では、認識対象画像300に対するOCR処理を実行させるクラウドサーバ90が指定されると、複数の識別コードセット350(後述)の中から最適な識別コードセット350(最適コードセット)が決定される。そして、当該最適コードセットに含まれる各識別コード列600をそれぞれ有する各識別用画像500が各行間領域に配置されて認識対象画像300が生成される。
ここにおいて、クラウドサーバ90がOCR処理特性を有し、コード種類(数字、アルファベット、記号等)によってOCR処理における認識率が大きく異なることがある。たとえば、アルファベットで構成された文字列に対するOCR処理の認識率が、記号で構成された文字列に対するOCR処理の認識率よりも比較的高いことがある。
このような事情から、第4実施形態では、指定されたクラウドサーバ90に対して最適な(OCR処理特性に合った)識別コードセット350が決定される。
図18は、第4実施形態に係る電子文書生成システム1における動作例を示すタイミングチャートである。第4実施形態に係る電子文書生成システム1においては、図18のステップS21〜S25の処理が図5のステップS11の処理の直前に行われる。
具体的には、外部端末50(表示制御部13および入力制御部62)は、指定画面(不図示)(次述)をタッチパネル75に表示し、当該指定画面において、所望のクラウドサーバ90を指定する指定入力をユーザから受け付ける(ステップS21)。この指定画面は、認識対象画像300に対するOCR処理を実行させたいクラウドサーバ90のURL等の入力をユーザから受け付ける画面である。
指定入力が受け付けられると、外部端末50(送信部54a)は、複数のコードセット画像310(図19〜図21参照)(次述)を、OCR処理の処理対象画像(テスト画像)としてクラウドサーバ90にそれぞれ送信する(ステップS22)。
図19〜図21は、コードセット画像310(311〜313)を示す図である。複数のコードセット画像310(311〜313)は、複数の識別コードセット350(351〜353)のそれぞれを可視化(画像化)したものである。この複数の識別コードセット350(351〜353)は、複数(ここでは4個)の識別コード列600をそれぞれ有する。また、複数の識別コードセット350(351〜353)は互いに異なる。たとえば、図19に示すように、識別コードセット351は、4個且つ「数字」の識別コード列600(601〜604)を有する。また、図20に示すように、識別コードセット352は、4個且つ「アルファベット」の識別コード列600(611〜614)を有する。さらに、図21に示すように、識別コードセット353は、4個且つ「記号」の識別コード列600(621〜624)を有する。このように、複数の識別コードセット350(351〜353)は、互いに異なる種類(コード種類)の識別コード列600をそれぞれ有する。
クラウドサーバ90は、複数のコードセット画像310(311〜313)をそれぞれ受信すると、各コードセット画像310(311〜313)に対してそれぞれOCR処理を実行し、識別コードセット350毎のOCR処理結果をそれぞれ生成する(ステップS23)。そして、クラウドサーバ90は、当該識別コードセット350毎のOCR処理結果を外部端末50にそれぞれ送信する(ステップS24)。
外部端末50は、複数のコードセット画像310(311〜313)に対するOCR処理結果をクラウドサーバ90からそれぞれ受信すると、複数の識別コードセット350(351〜353)の中から最適コードセットを決定する(ステップS25)。
具体的には、画像生成部66は、複数のコードセット画像310(311〜313)に対するOCR処理結果のそれぞれに基づき、識別コードセット350(351〜353)毎の認識率R10をそれぞれ求める。そして、画像生成部66は、複数の識別コードセット350のうち最も高い認識率R10を有する識別コードセット350を最適コードセットとして決定する。換言すれば、複数の識別コードセット350のうち最も高い認識率R10を有する識別コードセット350が、ユーザによって指定されたクラウドサーバ90に対応する最適コードセットとして決定される。なお、認識率R10は、識別コードセット350内に含まれる全コード数に対する、当該全コード数のうちOCR処理において正しく認識されたコードの個数の割合(比率)である。
ここでは、識別コードセット351(図19)に対するOCR処理の認識率R10(R11)は80%であり、識別コードセット352(図20)に対するOCR処理の認識率R10(R12)は90%であり、識別コードセット353(図21)に対するOCR処理の認識率R10(R13)は70%であるとして求められる。そして、複数の識別コードセット351〜353のうち最も高い認識率R10(R12(=90%))を有する識別コードセット352が、最適コードセットとして決定される。
ステップS21〜S25の処理が完了する(最適コードセットが決定される)と、図5のステップS11,S12を経て、ステップS13において認識対象画像300が、当該最適コードセットを用いて生成される。
具体的には、最適コードセットとして決定された識別コードセット350(ここでは識別コードセット352(図20参照))に含まれる各識別コード列600(611〜613)が用いられた認識対象画像300(304)(図22参照)が生成される。より詳細には、最適コードセット(識別コードセット352)に含まれる各識別コード列(アルファベットで構成された識別コード列)611〜613をそれぞれ有する各識別用画像511〜513が各行領域401〜404の各行間領域にそれぞれ配置されて認識対象画像304が生成される。
そして、ステップS14において、当該認識対象画像300(304)が、ユーザにより指定されたクラウドサーバ90(90B)に送信される。
なお、ステップS14以降は、図5のステップS15〜S18の処理と同様の処理が行われる。
このように、第4実施形態においては、クラウドサーバ90が指定されると、複数の識別コードセット350のうち最も高い認識率R10(R12)を有する識別コードセット350(352)が最適コードセットとして決定される。そして、当該最適コードセット350(352)に含まれる各識別コード列600(611〜613)が認識対象画像300(304)においてそれぞれ配置される。したがって、指定されたクラウドサーバ90に対して最適な(最も高い認識率R10を有する)識別コードセット350に基づく認識対象画像300が生成されるので、認識対象画像300内の各識別コード列600がOCR処理においてより正確に認識される可能性を向上することが可能である。すなわち、クラウドサーバ90のOCR処理特性に合った識別コードセット350を用いてOCR処理を行うことが可能である。
また、クラウドサーバ90が指定されると、その都度、指定されたクラウドサーバ90に対する最適コードセットが決定される。そのため、OCR処理を実行させるクラウドサーバ90が予め登録されていない場合であっても、ユーザにより指定されたクラウドサーバ90に対する最適な識別コードセット350を求めることが可能である。
<5.第5実施形態>
第5実施形態は、第4実施形態の変形例である。以下では、第4実施形態との相違点を中心に説明する。
第4実施形態では、OCR処理を実行させるクラウドサーバ90の指定に応答して、複数の識別コードセット350のうちの最適コードセットが決定される態様を例示した。
この第5実施形態では、クラウドサーバ90の指定に先立って、複数のクラウドサーバ90毎の最適コードセットが事前に決定される態様を例示する。
図23は、第5実施形態に係る画像形成システム1を示す図である。第5実施形態では、MFP10と外部端末50と3つのクラウドサーバ90(90A〜90C)のそれぞれとがネットワーク108を介して互いに接続されている。また、図24は、第5実施形態に係る画像形成システム1の概要を示す図である。
第5実施形態においても、第4実施形態と同様に図18の各処理がそれぞれ行われる。
ただし、第5実施形態においては、ステップS22〜S25の処理が、ステップS21の処理に先立って(事前に)行われる。また、第5実施形態のステップS22においては、複数のコードセット画像310が複数のクラウドサーバ90に送信される点で、第4実施形態のステップS22とは異なる。また、第5実施形態では、ステップS23,S24の処理が複数のクラウドサーバ90においてそれぞれ実行される。また、第5実施形態のステップS25では、クラウドサーバ90毎の最適コードセットがそれぞれ決定される。
まず、ステップS22〜S25の処理が、クラウドサーバ90を指定する指定入力の受付に先立って予め行われる。
具体的には、ステップS22においては、複数のコードセット画像310(311〜313)(図19〜図21参照)が、OCR処理の処理対象画像(テスト画像)として複数のクラウドサーバ90(90A〜90C)にそれぞれ送信される(図24参照)。
そして、各クラウドサーバ90(90A〜90C)は、複数のコードセット画像310(311〜313)に対してOCR処理をそれぞれ実行し、各コードセット画像310(311〜313)に対するOCR処理結果をそれぞれ生成する(ステップS23)。その後、各クラウドサーバ90(90A〜90C)は、識別コードセット350毎のOCR処理結果を外部端末50にそれぞれ送信する(ステップS24)(図24参照)。
外部端末50は、識別コードセット350毎のOCR処理結果を各クラウドサーバ90(90A〜90C)からそれぞれ受信すると、クラウドサーバ90毎の最適コードセットをそれぞれ決定する(ステップS25)。
具体的には、外部端末50(画像生成部66)は、複数のクラウドサーバ90(90A〜90C)による複数のコードセット画像310(311〜313)に対するOCR処理結果のそれぞれに基づき、複数のクラウドサーバ90(90A〜90C)のそれぞれにおける識別コードセット350(351〜353)毎の認識率R20をそれぞれ求める。そして、画像生成部66は、最適コードセット(複数の識別コードセット350(351〜353)のうち最も高い認識率R20を有する識別コードセット350)を複数のクラウドサーバ90(90A〜90C)のそれぞれについて決定する。
図25は、複数のクラウドサーバ90(90A〜90C)のそれぞれにおける識別コードセット350毎の認識率R20を示す図である。
図25に示すように、クラウドサーバ90Aにおける識別コードセット351に対する認識率R21aは90%であり、クラウドサーバ90Aにおける識別コードセット352に対する認識率R22aは80%であり、クラウドサーバ90Aにおける識別コードセット353に対する認識率R23aは70%である。この場合、複数の識別コードセット351〜353のうち最も高い認識率R20(R21a)を有する識別コードセット351が、「クラウドサーバ90Aに対応する最適コードセット」として決定される。
また、クラウドサーバ90Bにおける識別コードセット351に対する認識率R21bは70%であり、クラウドサーバ90Bにおける識別コードセット352に対する認識率R22bは90%であり、クラウドサーバ90Bにおける識別コードセット353に対する認識率R23bは80%である。この場合、複数の識別コードセット351〜353のうち最も高い認識率R20(R22b)を有する識別コードセット352が、「クラウドサーバ90Bに対応する最適コードセット」として決定される。
また、クラウドサーバ90Cにおける識別コードセット351に対する認識率R21cは80%であり、クラウドサーバ90Cにおける識別コードセット352に対する認識率R22cは70%であり、クラウドサーバ90Cにおける識別コードセット353に対する認識率R23cは90%である。この場合、複数の識別コードセット351〜353のうち最も高い認識率R20(R23c)を有する識別コードセット353が、「クラウドサーバ90Cに対応する最適コードセット」として決定される。
このように、外部端末50(画像生成部66)は、複数のクラウドサーバ90(90A〜90C)のそれぞれにおける識別コードセット350毎の認識率R20に基づき、クラウドサーバ90毎の最適コードセットをそれぞれ決定する(ステップS25)。そして、クラウドサーバ90毎の最適コードセット(各クラウドサーバ90に対応する最適コードセット)に関する情報が、格納部55に格納される。
その後、電子文書800の生成に際して、複数のクラウドサーバ90(90A〜90C)の中から所望のクラウドサーバ90がユーザにより指定される(ステップS21)と、ステップS11,S12(図5参照)の後、当該クラウドサーバ90向けの認識対象画像300が生成される(ステップS13)。
具体的には、外部端末50(表示制御部13および入力制御部62)は、選択画面(不図示)(次述)をタッチパネル75に表示し、当該選択画面において、所望のクラウドサーバ90を指定する指定入力をユーザから受け付ける(ステップS21)。この選択画面は、登録済の(OCR処理を実行させるクラウドサーバ90として予め登録されている)複数のクラウドサーバ90(90A〜90C)の一覧が表示された画面である。
指定入力が受け付けられると、画像生成部66は、指定されたクラウドサーバ90(90B)に対応する最適コードセットを格納部55から抽出する。そして、画像生成部66は、ユーザにより指定されたクラウドサーバ90(90B)向けの認識対象画像300(304)を生成する。
具体的には、ユーザにより指定されたクラウドサーバ90Bに対応する最適コードセットは識別コードセット352(図20参照)であり(図25も参照)、当該識別コードセット352が格納部55から抽出される。そして、図22に示すように、当該クラウドサーバ90Bに対応する最適コードセット(識別コードセット352)に含まれる各識別コード列611〜613をそれぞれ有する各識別用画像511〜513が複数の行間領域にそれぞれ配置され、クラウドサーバ90B向けの認識対象画像304が生成される。
そして、ステップS14において、当該認識対象画像300(304)が、ユーザにより指定されたクラウドサーバ90(90B)に送信される。
なお、ステップS14以降は、図5のステップS15〜S18の処理と同様の処理が行われる。
このように、第5実施形態においては、指定入力の受付に先立って、クラウドサーバ90毎の最適コードセットが事前に決定される。その後、クラウドサーバ90(90B)が指定されると、当該クラウドサーバ90(90B)に対応する最適コードセット(識別コードセット352)が抽出され、当該最適コードセットに含まれる各識別コード列600が認識対象画像300においてそれぞれ配置される。したがって、指定されたクラウドサーバ90(90B)に対して最適な(最も高い認識率R20を有する)識別コードセット350に基づく認識対象画像300が生成されるので、認識対象画像300内の識別コード列600がOCR処理においてより正確に認識される可能性を向上することが可能である。すなわち、クラウドサーバ90のOCR処理特性に合った識別コードセット350を用いてOCR処理を行うことが可能である。
また、指定入力が受け付けられる前にクラウドサーバ90毎の最適コードセットが予めに求められるので、指定入力が受け付けられた後に、指定されたクラウドサーバ90に対する最適コードセットを(その都度)求める場合と比べて、電子文書800の生成処理をより早期に完了することが可能である。
<6.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記内容のものに限定されるものではない。
たとえば、上記各実施形態においては、識別コード列600が複数且つ同一の識別コード(たとえば識別コード列601(図8参照)においては数字「1」のみ)で構成される態様を例示したが、これに限定されず、識別コード列600は、複数且つ互いに異なる識別コード(たとえば「12345...」)で構成されるようにしてもよい。また、複数種類の識別コードが組み合わされて(たとえば「1A2B3C...」)識別コード列600が構成されるようにしてもよい。
また、上記各実施形態においては、各行間領域に配置される識別コード列600と、当該各行間領域のそれぞれ次の行間領域に配置される識別コード列600とが互いに異なる態様を例示したが、これに限定されない。たとえば、複数の識別コード列600が全て同一のものであってもよい。すなわち、同一の識別コード列600をそれぞれ有する識別用画像500が各行間領域にそれぞれ配置されるようにしてもよい。
また、上記各実施形態においては、クラウドサーバ90は、各文字列に対するOCR処理結果のそれぞれの直後に改行コードを付さずにテキストデータ700を生成する態様を例示したが、これに限定されない。たとえば、クラウドサーバ90が、各文字列に対するOCR処理結果のそれぞれの直後に改行コードを付してテキストデータ700を生成する態様であっても、本願発明の思想を適用することが可能である。なお、この場合、各識別用画像500に対するOCR処理結果には改行コードがそれぞれ含まれ、改行コードを含む各OCR処理結果が各処理後識別コード列750として取り扱われればよい。
また、上記各実施形態等においては、欠落行領域の特定後における、当該欠落行領域に対する処理として、空白領域850が、当該欠落行領域として特定された行領域400(たとえば行領域402)に配置される態様を例示したが、これに限定されない。たとえば、欠落行領域として特定された行領域400(行領域402)に対して別のクラウドサーバ90により施されたOCR処理結果が、欠落行領域として特定された行領域400(行領域402)に配置されるようにしてもよい。
具体的には、行領域402が欠落行領域として特定されると、当該行領域402が、別のクラウドサーバ90(認識対象画像300(行領域402)に対して既にOCR処理を施したクラウドサーバ90とは異なるクラウドサーバ90)に送信される。たとえば行領域402内の文字列全体に亘って下線が引かれている場合に、或るクラウドサーバ90では、当該行領域402が文字領域として認識されなかったものの、別のクラウドサーバ90では、当該行領域402が文字領域として認識されることがある。当該別のクラウドサーバ90において行領域402が文字領域として認識されると、当該行領域402に対してOCR処理が施され、OCR処理結果が生成される。そして、別のクラウドサーバ90にて実行された行領域402に対するOCR処理結果が、行領域402の検出位置に配置される。
また、上記各実施形態等においては、電子文書生成装置として外部端末50を例示したが、これに限定されない。たとえば、MFP10が電子文書生成装置として各種の処理(図5のステップS11〜S14,S17およびS18の処理等)を行うようにしてもよい。すなわち、外部端末50を用いずに、MFP10において認識対象画像300が生成されるとともにMFP10とクラウドサーバ90との間で各種データの送受信動作等が行われ、MFP10によって電子文書800が生成されるようにしてもよい。
また、上記各実施形態等においては、各行領域が横書きの文字列(横方向に伸びる1行の文字列)で構成される態様を主に説明したが、これに限定されず、各行領域が縦書きの文字列(縦方向に伸びる1行(1列)の文字列)で構成される場合にも上記思想を適用することが可能である。
1 画像形成システム(電子文書生成システム)
10 MFP(画像形成装置)
50 外部端末
90,90A〜90C クラウドサーバ
200,201 スキャン画像
300〜304 認識対象画像
310〜313 コードセット画像
350〜353 識別コードセット
400〜404 行領域
500〜503,511〜513 識別用画像
600〜604,611〜614,621〜624 識別コード列
700〜703 テキストデータ(全体処理結果)
750〜753 処理後識別コード列
800 電子文書

Claims (15)

  1. 光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置であって、
    原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、
    前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、
    前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、
    を備え、
    前記制御手段は、
    前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、
    前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、
    前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする電子文書生成装置。
  2. 請求項1に記載の電子文書生成装置において、
    前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする電子文書生成装置。
  3. 請求項1または請求項2に記載の電子文書生成装置において、
    前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする電子文書生成装置。
  4. 請求項1ないし請求項3のいずれかに記載の電子文書生成装置において、
    前記認識対象画像において、各行間領域に配置される識別コード列と当該各行間領域のそれぞれ次の行間領域に配置される識別コード列とは、互いに異なることを特徴とする電子文書生成装置。
  5. 請求項1ないし請求項4のいずれかに記載の電子文書生成装置において、
    前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさをそれぞれ検出するとともに、前記離間方向における前記各識別用画像の大きさを前記各行間領域の大きさに応じてそれぞれ設定し、その大きさが設定された後の前記各識別用画像を前記各行間領域にそれぞれ配置して前記認識対象画像を生成することを特徴とする電子文書生成装置。
  6. 請求項1ないし請求項4のいずれかに記載の電子文書生成装置において、
    前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさが前記離間方向における前記各識別用画像の大きさよりも大きくなるように、前記各行間領域の大きさをそれぞれ変更し、その大きさが変更された後の前記各行間領域に前記各識別用画像をそれぞれ配置して前記認識対象画像を生成することを特徴とする電子文書生成装置。
  7. 請求項1ないし請求項6のいずれかに記載の電子文書生成装置において、
    前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、
    をさらに備え、
    前記送信手段は、前記指定入力が受け付けられると、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットがそれぞれ可視化された複数のコードセット画像を、前記処理対象画像として前記クラウドサーバにそれぞれ送信し、
    前記受信手段は、前記クラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を前記クラウドサーバからそれぞれ受信し、
    前記制御手段は、
    前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットを最適コードセットとして決定し、
    前記最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記認識対象画像を生成することを特徴とする電子文書生成装置。
  8. 請求項1ないし請求項6のいずれかに記載の電子文書生成装置において、
    複数のクラウドサーバの中から前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、
    をさらに備え、
    前記送信手段は、前記指定入力の受付に先立って、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットのそれぞれが可視化された複数のコードセット画像を、前記処理対象画像として前記複数のクラウドサーバにそれぞれ送信し、
    前記受信手段は、前記複数のクラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を、前記複数のクラウドサーバから受信し、
    前記制御手段は、
    前記複数のクラウドサーバによる前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき前記複数のクラウドサーバのそれぞれにおける識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットである最適コードセットを、前記複数のクラウドサーバのそれぞれについて決定し、
    前記指定入力が受け付けられると、前記クラウドサーバに対応する最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記クラウドサーバ向けの認識対象画像を生成することを特徴とする電子文書生成装置。
  9. 光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置に内蔵されたコンピュータに、
    a)原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するステップと、
    b)前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成するステップと、
    c)前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信するステップと、
    d)前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信するステップと、
    e)前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するステップと、
    f)前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定するステップと、
    g)前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定するステップと、
    を実行させるためのプログラム。
  10. 請求項9に記載のプログラムにおいて、
    前記ステップg)においては、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域が前記欠落行領域として特定されることを特徴とするプログラム。
  11. 請求項9または請求項10に記載のプログラムにおいて、
    前記ステップg)においては、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域が前記欠落行領域として特定されることを特徴とするプログラム。
  12. 電子文書生成システムであって、
    原稿のスキャン画像を生成する画像形成装置と、
    クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する外部端末と、
    を備え、
    前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記外部端末に送信し、
    前記画像形成装置は、
    前記スキャン画像を前記外部端末に送信する通信手段、
    を有し、
    前記外部端末は、
    前記画像形成装置から受信した前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、
    前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、
    前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、
    を有し、
    前記制御手段は、
    前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、
    前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、
    前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする電子文書生成システム。
  13. 電子文書生成システムであって、
    クラウドサーバと、
    原稿のスキャン画像を生成するとともに、前記クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する画像形成装置と、
    を備え、
    前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記画像形成装置に送信し、
    前記画像形成装置は、
    前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、
    前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、
    前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、
    を有し、
    前記制御手段は、
    前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、
    前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、
    前記全体処理結果において2つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記2つの処理後識別コード列にそれぞれ対応する2つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする電子文書生成システム。
  14. 請求項12または請求項13に記載の電子文書生成システムにおいて、
    前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする電子文書生成システム。
  15. 請求項12ないし請求項14のいずれかに記載の電子文書生成システムにおいて、
    前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする電子文書生成システム。
JP2014223045A 2014-10-31 2014-10-31 電子文書生成装置、プログラムおよび電子文書生成システム Pending JP2016091190A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014223045A JP2016091190A (ja) 2014-10-31 2014-10-31 電子文書生成装置、プログラムおよび電子文書生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014223045A JP2016091190A (ja) 2014-10-31 2014-10-31 電子文書生成装置、プログラムおよび電子文書生成システム

Publications (1)

Publication Number Publication Date
JP2016091190A true JP2016091190A (ja) 2016-05-23

Family

ID=56018639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014223045A Pending JP2016091190A (ja) 2014-10-31 2014-10-31 電子文書生成装置、プログラムおよび電子文書生成システム

Country Status (1)

Country Link
JP (1) JP2016091190A (ja)

Similar Documents

Publication Publication Date Title
JP6090269B2 (ja) 電子文書生成装置、プログラムおよび電子文書生成システム
JP6119689B2 (ja) 電子文書生成システム、電子文書生成装置およびプログラム
US20160119506A1 (en) Information processing system and information processing method
US9473669B2 (en) Electronic document generation system, electronic document generation apparatus, and recording medium
JP6066108B2 (ja) 電子文書生成システムおよびプログラム
US11144189B2 (en) Determination and relocation of movement targets based on a drag-and-drop operation of a thumbnail across document areas
JP7262993B2 (ja) 画像処理システム、画像処理方法、画像処理装置
JP6762722B2 (ja) 情報処理装置、制御方法、及びプログラム
US8606049B2 (en) Image management apparatus, image management method, and storage medium
JP2014011696A (ja) 画像処理装置およびコンピュータプログラム
JP2009055406A (ja) 多機能入出力装置及びその制御方法、並びに多機能入出力装置制御プログラム及び記録媒体
JP2010213121A (ja) 画像処理装置、システム及び画像処理方法
JP2019159633A (ja) 画像処理装置、画像処理方法および画像処理プログラム
US9471841B2 (en) Electronic document generation system, image forming apparatus and program
JP6458351B2 (ja) 電子文書生成システム、画像形成装置、通信端末およびプログラム
JP6879131B2 (ja) スキャンシステム、情報処理装置、及び、スキャナドライバ
JP2017116974A (ja) 画像処理装置および画像処理プログラム
JP2016091190A (ja) 電子文書生成装置、プログラムおよび電子文書生成システム
JP6058042B2 (ja) 画像処理装置
JP6260290B2 (ja) 画像形成システム、画像形成装置、遠隔操作装置およびプログラム
US8970875B2 (en) Image forming apparatus and method for producing e-book contents
JP7400227B2 (ja) プログラム
JP6413450B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP2007194713A (ja) 画像処理装置、画像処理システム、画像処理方法およびプログラム
JP2016131292A (ja) 画像処理システム、画像処理装置およびプログラム