(57)【要約】【課題】光学文字認識処理における欠落行を的確に特定することが可能な技術を提供する。【解決手段】電子文書生成装置（外部端末５０等）は、スキャン画像２００から複数の行領域４００をそれぞれ抽出し、各行間領域に各識別用画像５００を配置して認識対象画像３００を生成する。外部端末５０は、認識対象画像３００をクラウドサーバ９０に送信し、全体処理結果７００をクラウドサーバ９０から受信する。外部端末５０は、全体処理結果７００において複数の処理後識別コード列７５０をそれぞれ識別し、全体処理結果７００における各処理後識別コード列７５０の位置を特定する。テキストデータ７００において、２つの処理後識別コード列７５０が連続して存在すると判定される場合、外部端末５０は、認識対象画像３００において、当該２つの処理後識別コード列７５０に対応する２つの行間領域の間に存在する行領域４００を、欠落行領域として特定する。【選択図】図４
2016091190.tif 000002
【特許請求の範囲】
【請求項１】
光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置であって、
原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、
前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、
前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、
を備え、
前記制御手段は、
前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、
前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、
前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする電子文書生成装置。
【請求項２】
請求項１に記載の電子文書生成装置において、
前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする電子文書生成装置。
【請求項３】
請求項１または請求項２に記載の電子文書生成装置において、
前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする電子文書生成装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の電子文書生成装置において、
前記認識対象画像において、各行間領域に配置される識別コード列と当該各行間領域のそれぞれ次の行間領域に配置される識別コード列とは、互いに異なることを特徴とする電子文書生成装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の電子文書生成装置において、
前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさをそれぞれ検出するとともに、前記離間方向における前記各識別用画像の大きさを前記各行間領域の大きさに応じてそれぞれ設定し、その大きさが設定された後の前記各識別用画像を前記各行間領域にそれぞれ配置して前記認識対象画像を生成することを特徴とする電子文書生成装置。
【請求項６】
請求項１ないし請求項４のいずれかに記載の電子文書生成装置において、
前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさが前記離間方向における前記各識別用画像の大きさよりも大きくなるように、前記各行間領域の大きさをそれぞれ変更し、その大きさが変更された後の前記各行間領域に前記各識別用画像をそれぞれ配置して前記認識対象画像を生成することを特徴とする電子文書生成装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の電子文書生成装置において、
前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、
をさらに備え、
前記送信手段は、前記指定入力が受け付けられると、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットがそれぞれ可視化された複数のコードセット画像を、前記処理対象画像として前記クラウドサーバにそれぞれ送信し、
前記受信手段は、前記クラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を前記クラウドサーバからそれぞれ受信し、
前記制御手段は、
前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットを最適コードセットとして決定し、
前記最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記認識対象画像を生成することを特徴とする電子文書生成装置。
【請求項８】
請求項１ないし請求項６のいずれかに記載の電子文書生成装置において、
複数のクラウドサーバの中から前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、
をさらに備え、
前記送信手段は、前記指定入力の受付に先立って、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットのそれぞれが可視化された複数のコードセット画像を、前記処理対象画像として前記複数のクラウドサーバにそれぞれ送信し、
前記受信手段は、前記複数のクラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を、前記複数のクラウドサーバから受信し、
前記制御手段は、
前記複数のクラウドサーバによる前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき前記複数のクラウドサーバのそれぞれにおける識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットである最適コードセットを、前記複数のクラウドサーバのそれぞれについて決定し、
前記指定入力が受け付けられると、前記クラウドサーバに対応する最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記クラウドサーバ向けの認識対象画像を生成することを特徴とする電子文書生成装置。
【請求項９】
光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置に内蔵されたコンピュータに、
ａ）原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するステップと、
ｂ）前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成するステップと、
ｃ）前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信するステップと、
ｄ）前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信するステップと、
ｅ）前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するステップと、
ｆ）前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定するステップと、
ｇ）前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定するステップと、
を実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムにおいて、
前記ステップｇ）においては、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域が前記欠落行領域として特定されることを特徴とするプログラム。
【請求項１１】
請求項９または請求項１０に記載のプログラムにおいて、
前記ステップｇ）においては、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域が前記欠落行領域として特定されることを特徴とするプログラム。
【請求項１２】
電子文書生成システムであって、
原稿のスキャン画像を生成する画像形成装置と、
クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する外部端末と、
を備え、
前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記外部端末に送信し、
前記画像形成装置は、
前記スキャン画像を前記外部端末に送信する通信手段、
を有し、
前記外部端末は、
前記画像形成装置から受信した前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、
前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、
前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、
を有し、
前記制御手段は、
前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、
前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、
前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする電子文書生成システム。
【請求項１３】
電子文書生成システムであって、
クラウドサーバと、
原稿のスキャン画像を生成するとともに、前記クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する画像形成装置と、
を備え、
前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記画像形成装置に送信し、
前記画像形成装置は、
前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、
前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、
前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、
を有し、
前記制御手段は、
前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、
前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、
前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする電子文書生成システム。
【請求項１４】
請求項１２または請求項１３に記載の電子文書生成システムにおいて、
前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする電子文書生成システム。
【請求項１５】
請求項１２ないし請求項１４のいずれかに記載の電子文書生成システムにおいて、
前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする電子文書生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書を生成する電子文書生成装置およびそれに関連する技術に関する。
【背景技術】
【０００２】
ＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））などの画像形成装置において、原稿をスキャンして電子文書を作成する技術が存在する。
【０００３】
このような技術においては、原稿のスキャン画像をそのまま取り込んで電子文書を生成するものの他、テキストデータ付き電子文書（次述）を生成するものも存在する（特許文献１等参照）。具体的には、原稿のスキャン画像（特に文字を示す画像）に対して光学文字認識処理（以下、ＯＣＲ（Optical Character Recognition）処理とも称する）が施され、当該スキャン画像内の文字のテキストデータが自動認識され、当該テキストデータが非表示状態で当該スキャン画像に重畳して埋め込まれる。このようにして、たとえば、透明テキスト付きＰＤＦ（Portable Document Format）（あるいはサーチャブルＰＤＦ）ファイルなどと呼ばれる所定形式の電子文書（テキストデータ付き電子文書）が生成される。
【０００４】
また、汎用的なＯＣＲ処理サービスをクラウドサーバを用いて提供する技術も存在する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−７３７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記技術を用いて以下のような動作を行うことが考えられる。たとえば、まず電子文書生成装置からクラウドサーバへとスキャン画像が送信され、スキャン画像全体に関するＯＣＲ処理がクラウドサーバで実行される。そして、ＯＣＲ処理結果（テキストデータ）がクラウドサーバから電子文書生成装置へと返信され、電子文書生成装置は、クラウドサーバから受信したテキストデータを元のスキャン画像に埋め込んで、テキストデータ付き電子文書（サーチャブルＰＤＦ（透明テキスト付きＰＤＦ）ファイル等）を生成する。なお、汎用ＯＣＲ処理サービスを利用することによれば、電子文書生成装置とは別の装置でＯＣＲ処理を行うことができるので、当該電子文書生成装置の処理負荷を低減することが可能である。
【０００７】
ここにおいて、このような汎用ＯＣＲ処理サービスにおいては、スキャン画像内の或る行の文字列全体に対するＯＣＲ処理が行われず、当該或る行の文字列全体のＯＣＲ処理結果が生成されないことがある。
【０００８】
たとえば、スキャン画像内の複数行の文字列のうち２行目の文字列全体に亘って下線が引かれている場合（あるいは蛍光ペン等により文字上に線が引かれている場合）には、当該２行目の文字列全体が、クラウドサーバにより文字領域として認識されないことがある。当該２行目の文字列全体が文字領域として認識されない場合には、当該２行目の文字列に対してはＯＣＲ処理が行われず、当該２行目の文字列に対するＯＣＲ処理結果がクラウドサーバにて生成されない。すなわち、当該２行目の文字列に対するＯＣＲ処理結果の欠落が発生する。
【０００９】
しかしながら、電子文書生成装置は、クラウドサーバから受信したテキストデータ（ＯＣＲ処理が施された行のＯＣＲ処理結果）のみに基づいて、ＯＣＲ処理においていずれの行が欠落しているかを特定することが困難である。その結果、電子文書においてスキャン画像内の文字画像とテキストデータとの位置ずれ等の問題が生じ得る。
【００１０】
そこで、本発明は、光学文字認識処理における欠落行を的確に特定することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、請求項１の発明は、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置であって、原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、を備え、前記制御手段は、前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする。
【００１２】
請求項２の発明は、請求項１の発明に係る電子文書生成装置において、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする。
【００１３】
請求項３の発明は、請求項１または請求項２の発明に係る電子文書生成装置において、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする。
【００１４】
請求項４の発明は、請求項１ないし請求項３のいずれかの発明に係る電子文書生成装置において、前記認識対象画像において、各行間領域に配置される識別コード列と当該各行間領域のそれぞれ次の行間領域に配置される識別コード列とは、互いに異なることを特徴とする。
【００１５】
請求項５の発明は、請求項１ないし請求項４のいずれかの発明に係る電子文書生成装置において、前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさをそれぞれ検出するとともに、前記離間方向における前記各識別用画像の大きさを前記各行間領域の大きさに応じてそれぞれ設定し、その大きさが設定された後の前記各識別用画像を前記各行間領域にそれぞれ配置して前記認識対象画像を生成することを特徴とする。
【００１６】
請求項６の発明は、請求項１ないし請求項４のいずれかの発明に係る電子文書生成装置において、前記制御手段は、前記複数の行領域の離間方向における各行間領域の大きさが前記離間方向における前記各識別用画像の大きさよりも大きくなるように、前記各行間領域の大きさをそれぞれ変更し、その大きさが変更された後の前記各行間領域に前記各識別用画像をそれぞれ配置して前記認識対象画像を生成することを特徴とする。
【００１７】
請求項７の発明は、請求項１ないし請求項６のいずれかの発明に係る電子文書生成装置において、前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、をさらに備え、前記送信手段は、前記指定入力が受け付けられると、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットがそれぞれ可視化された複数のコードセット画像を、前記処理対象画像として前記クラウドサーバにそれぞれ送信し、前記受信手段は、前記クラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を前記クラウドサーバからそれぞれ受信し、前記制御手段は、前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットを最適コードセットとして決定し、前記最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記認識対象画像を生成することを特徴とする。
【００１８】
請求項８の発明は、請求項１ないし請求項６のいずれかの発明に係る電子文書生成装置において、複数のクラウドサーバの中から前記クラウドサーバを指定する指定入力を受け付ける入力制御手段、をさらに備え、前記送信手段は、前記指定入力の受付に先立って、複数の識別コード列をそれぞれ有する複数の識別コードセットであって互いに異なる複数の識別コードセットのそれぞれが可視化された複数のコードセット画像を、前記処理対象画像として前記複数のクラウドサーバにそれぞれ送信し、前記受信手段は、前記複数のクラウドサーバにて前記複数のコードセット画像に対してそれぞれ実行された前記光学文字認識処理の処理結果を、前記複数のクラウドサーバから受信し、前記制御手段は、前記複数のクラウドサーバによる前記複数のコードセット画像に対する前記光学文字認識処理の処理結果のそれぞれに基づき前記複数のクラウドサーバのそれぞれにおける識別コードセット毎の認識率をそれぞれ求めるとともに、前記複数の識別コードセットのうち最も高い認識率を有する識別コードセットである最適コードセットを、前記複数のクラウドサーバのそれぞれについて決定し、前記指定入力が受け付けられると、前記クラウドサーバに対応する最適コードセットに含まれる各識別コード列をそれぞれ有する各識別用画像を前記複数の行間領域にそれぞれ配置して、前記クラウドサーバ向けの認識対象画像を生成することを特徴とする。
【００１９】
請求項９の発明は、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を処理依頼元装置に送信するクラウドサーバ、と連携して電子文書を生成する電子文書生成装置に内蔵されたコンピュータに、ａ）原稿のスキャン画像の文字領域から複数の行領域をそれぞれ抽出するステップと、ｂ）前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成するステップと、ｃ）前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信するステップと、ｄ）前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信するステップと、ｅ）前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するステップと、ｆ）前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定するステップと、ｇ）前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定するステップと、を実行させるためのプログラムであることを特徴とする。
【００２０】
請求項１０の発明は、請求項９の発明に係るプログラムにおいて、前記ステップｇ）においては、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域が前記欠落行領域として特定されることを特徴とする。
【００２１】
請求項１１の発明は、請求項９または請求項１０の発明に係るプログラムにおいて、前記ステップｇ）においては、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域が前記欠落行領域として特定されることを特徴とする。
【００２２】
請求項１２の発明は、電子文書生成システムであって、原稿のスキャン画像を生成する画像形成装置と、クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する外部端末と、を備え、前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記外部端末に送信し、前記画像形成装置は、前記スキャン画像を前記外部端末に送信する通信手段、を有し、前記外部端末は、前記画像形成装置から受信した前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、を有し、前記制御手段は、前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする。
【００２３】
請求項１３の発明は、電子文書生成システムであって、クラウドサーバと、原稿のスキャン画像を生成するとともに、前記クラウドサーバと連携し、前記スキャン画像に基づく電子文書を生成する画像形成装置と、を備え、前記クラウドサーバは、光学文字認識処理の処理対象画像に対して前記光学文字認識処理を実行するとともに前記処理対象画像に対する前記光学文字認識処理の処理結果を前記画像形成装置に送信し、前記画像形成装置は、前記スキャン画像の文字領域から複数の行領域をそれぞれ抽出するとともに、前記複数の行領域の相互間の複数の行間領域のそれぞれに、予め準備された識別コード列をそれぞれ有する各識別用画像を配置して、認識対象画像を生成する制御手段と、前記認識対象画像を前記処理対象画像として前記クラウドサーバに送信する送信手段と、前記クラウドサーバにおいて前記認識対象画像に対して実行された前記光学文字認識処理の処理結果である全体処理結果を、前記クラウドサーバから受信する受信手段と、を有し、前記制御手段は、前記複数の行間領域に配置される複数の識別用画像のそれぞれに含まれていた各識別コード列に基づいて、前記全体処理結果において、前記複数の識別用画像に対する文字認識処理の処理結果である複数の処理後識別コード列をそれぞれ識別するとともに、前記全体処理結果における前記複数の処理後識別コード列の位置をそれぞれ特定し、前記全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、前記認識対象画像において、前記２つの処理後識別コード列にそれぞれ対応する２つの行間領域の間に存在する行領域を、前記クラウドサーバによる文字認識処理における欠落行領域として特定することを特徴とする。
【００２４】
請求項１４の発明は、請求項１２または請求項１３の発明に係る電子文書生成システムにおいて、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの先頭の処理後識別コード列の直前にコードが存在しないと判定される場合、前記複数の行領域のうちの先頭の行領域を前記欠落行領域として特定することを特徴とする。
【００２５】
請求項１５の発明は、請求項１２ないし請求項１４のいずれかの発明に係る電子文書生成システムにおいて、前記制御手段は、前記全体処理結果において前記複数の処理後識別コード列のうちの末尾の処理後識別コード列の直後にコードが存在しないと判定される場合、前記複数の行領域のうちの末尾の行領域を前記欠落行領域として特定することを特徴とする。
【発明の効果】
【００２６】
請求項１ないし請求項１５に記載の発明によれば、スキャン画像から複数の行領域がそれぞれ抽出され、当該複数の行領域の相互間の各行間領域に各識別用画像が配置されて認識対象画像が生成される。そして、全体処理結果において２つの処理後識別コード列が連続して存在すると判定される場合、認識対象画像において、当該２つの処理後識別コード列に対応する２つの行間領域の間に存在する行領域が欠落行領域として特定される。したがって、光学文字認識処理における欠落行を的確に特定することが可能である。
【図面の簡単な説明】
【００２７】
【図１】電子文書生成システムを示す図である。
【図２】画像形成装置（ＭＦＰ）の機能ブロックを示す図である。
【図３】外部端末の概略構成を示す機能ブロック図である。
【図４】電子文書生成システムにおける動作の概略を示す図である。
【図５】電子文書生成システムにおける動作例を示すタイミングチャートである。
【図６】スキャン画像を示す図である。
【図７】各行領域と各行領域の座標位置とを示す図である。
【図８】認識対象画像を示す図である。
【図９】ＯＣＲ処理結果（テキストデータ）を示す図である。
【図１０】ＯＣＲ処理結果を示す図である。
【図１１】ＯＣＲ処理結果を示す図である。
【図１２】ＯＣＲ処理結果を示す図である。
【図１３】生成された電子文書（サーチャブルＰＤＦファイル）を示す図である。
【図１４】第２実施形態に係る各行領域の高さを示す図である。
【図１５】第２実施形態に係る認識対象画像を示す図である。
【図１６】第３実施形態に係る各行領域の高さを示す図である。
【図１７】第３実施形態に係る認識対象画像を示す図である。
【図１８】第４実施形態に係る電子文書生成システムにおける動作例を示すタイミングチャートである。
【図１９】コードセット画像を示す図である。
【図２０】コードセット画像を示す図である。
【図２１】コードセット画像を示す図である。
【図２２】第４実施形態に係る認識対象画像を示す図である。
【図２３】第５実施形態に係る電子文書生成システムを示す図である。
【図２４】第５実施形態に係る電子文書生成システムの概要を示す図である。
【図２５】第５実施形態に係る複数のクラウドサーバにおける識別コードセット毎の認識率を示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図面に基づいて説明する。
【００２９】
＜１．第１実施形態＞
＜１−１．構成概要＞
図１は、本発明に係る画像形成システム１を示す図である。図１に示すように、画像形成システム１は、画像形成装置１０と外部端末５０とクラウドサーバ９０とを備える。
【００３０】
画像形成装置１０と外部端末５０とクラウドサーバ９０とは、ネットワーク（通信ネットワーク）１０８を介して互いに接続される。ネットワーク１０８は、ＬＡＮ（Local Area Network）およびインターネットなどによって構成される。また、ネットワーク１０８に対する接続態様は、有線接続であってもよく、或いは無線接続であってもよい。たとえば、画像形成装置１０およびクラウドサーバ９０はネットワーク１０８に対して有線接続され、外部端末５０はネットワーク１０８に対して無線接続される。
【００３１】
クラウドサーバ９０は、画像形成装置１０とも外部端末５０とも異なる外部装置（外部サーバ）である。クラウドサーバ９０は、汎用的なＯＣＲ（Optical Character Recognition）処理サービスを提供するサーバである。当該汎用的なＯＣＲ処理サービスにおいて、クラウドサーバ９０は、ＯＣＲ処理の処理対象画像に対してＯＣＲ処理を実行し、当該処理対象画像に対するＯＣＲ処理結果（テキストデータ）を生成する。ただし、クラウドサーバ９０においては、或る行の文字列全体に亘って下線が引かれている場合（あるいは蛍光ペン（マーカーペン）等により文字上に線が引かれている場合）に、当該或る行全体が文字領域として認識されないことがある。換言すれば、当該或る行全体が「文字ではない領域（非文字領域（図形領域等））」としてクラウドサーバ９０により認識されることがある。当該或る行全体が文字領域として認識されない場合には、クラウドサーバ９０は、当該或る行の文字列全体に対してはＯＣＲ処理を実行しない（ＯＣＲ処理結果を生成しない）。
【００３２】
なお、このクラウドサーバ９０は、サーチャブルＰＤＦ（Portable Document Format）ファイルの生成処理サービスを提供しない。サーチャブルＰＤＦファイルは、後述するように、外部端末５０およびクラウドサーバ９０等が協働することによって生成される。
【００３３】
図４は、画像形成システム１における動作の概略を示す図である。
【００３４】
図４に示すように、この画像形成システム１においては、原稿のスキャン画像２００が画像形成装置１０によって生成され、当該スキャン画像２００が画像形成装置１０から外部端末５０に送信される。外部端末５０は、当該スキャン画像２００に対して後述の処理を施して認識対象画像３００を生成し、当該認識対象画像３００をクラウドサーバ９０に送信する。クラウドサーバ９０は、外部端末５０から受信した認識対象画像３００に対してＯＣＲ処理を施してテキストデータ７００をＯＣＲ処理結果として生成し、当該テキストデータ７００を外部端末５０（処理依頼元装置）に送信する。そして、外部端末５０は、クラウドサーバ９０から受信したテキストデータ７００に基づいて電子文書８００を生成する。当該電子文書８００は、テキストデータ付き電子文書（ここでは、サーチャブルＰＤＦファイル）として生成される。
【００３５】
なお、画像形成システム１は、電子文書を生成するシステムでもあることから、電子文書生成システムなどとも表現される。同様に、外部端末５０は「電子文書生成装置」であるとも表現される。
【００３６】
＜１−２．画像形成装置の構成＞
図２は、画像形成装置１０の機能ブロックを示す図である。ここでは、画像形成装置１０として、ＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））を例示する。
【００３７】
ＭＦＰ１０は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置（複合機とも称する）である。具体的には、ＭＦＰ１０は、図２の機能ブロック図に示すように、画像読取部２、印刷出力部３、通信部４、格納部５、操作部６およびコントローラ（制御部）９等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【００３８】
画像読取部２は、ＭＦＰ１０の所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ（スキャン画像とも称する）を生成する処理部である。
【００３９】
印刷出力部３は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【００４０】
通信部４は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部４は、ネットワーク１０８を介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、ＭＦＰ１０は、所望の相手先（たとえば、外部端末５０）と連携して各種のデータを授受することが可能である。通信部４は、各種データを送信する送信部４ａと各種データを受信する受信部４ｂとを有する。
【００４１】
格納部５は、ハードディスクドライブ（ＨＤＤ）等の記憶装置で構成される。
【００４２】
操作部６は、ＭＦＰ１０に対する操作入力を受け付ける操作入力部６ａと、各種情報の表示出力を行う表示部６ｂとを備えている。
【００４３】
このＭＦＰ１０においては、略板状の操作パネル部６ｃ（図１参照）が設けられている。また、操作パネル部６ｃは、その正面側にタッチパネル２５（図１参照）を有している。タッチパネル２５は、操作入力部６ａの一部としても機能するとともに、表示部６ｂの一部としても機能する。タッチパネル２５は、液晶表示パネルに各種センサ等が埋め込まれて構成され、各種情報を表示するとともに操作者からの各種の操作入力を受け付けることが可能である。
【００４４】
たとえば、タッチパネル２５においては、各種の操作画面（ボタン画像等を含む）が表示される。操作者は、タッチパネル２５の操作画面内に仮想的に配置されるボタンを押下することによって、ＭＦＰ１０の各種動作内容を設定するとともに動作指示を付与することができる。
【００４５】
コントローラ（制御部）９は、ＭＦＰ１０に内蔵され、ＭＦＰ１０を統括的に制御する制御装置である。コントローラ９は、ＣＰＵおよび各種の半導体メモリ（ＲＡＭおよびＲＯＭ）等を備えるコンピュータシステムとして構成される。コントローラ９は、ＣＰＵにおいて、ＲＯＭ（例えば、ＥＥＰＲＯＭ）内に格納されている所定のソフトウエアプログラム（以下、単にプログラムとも称する）を実行することによって、各種の処理部を実現する。なお、当該プログラム（詳細にはプログラムモジュール群）は、ＵＳＢメモリなどの可搬性の記録媒体、あるいはネットワーク１０８等を介してＭＦＰ１０にインストールされてもよい。
【００４６】
具体的には、図２に示すように、コントローラ９は、当該プログラムの実行により、通信制御部１１と入力制御部１２と表示制御部１３とを含む各種の処理部を実現する。
【００４７】
通信制御部１１は、他の装置（外部端末５０等）との間の通信動作を通信部４等と協働して制御する処理部である。たとえば、通信制御部１１は、スキャン画像２００等を外部端末５０に送信する。
【００４８】
入力制御部１２は、操作入力部６ａに対するユーザからの操作入力の受付動作等を制御する制御部である。
【００４９】
表示制御部１３は、表示部６ｂにおける表示動作を制御する処理部である。表示制御部１３は、たとえば、ＭＦＰ１０を操作するための操作画面をタッチパネル２５に表示させる。
【００５０】
＜１−３．外部端末の構成＞
次に外部端末５０の構成について説明する。
【００５１】
外部端末５０は、ＭＦＰ１０およびクラウドサーバ９０との間でのネットワーク通信が可能な情報入出力端末装置（情報端末あるいは通信端末とも称される）である。ここでは、外部端末５０として、タブレット型端末を例示する。ただし、これに限定されず、外部端末５０は、スマートフォンあるいはパーソナルコンピュータなどであってもよい。また、外部端末は、携帯式の装置（携帯情報端末等）（携帯端末）であってもよく、あるいは、据置型の装置であってもよい。
【００５２】
図３は外部端末５０の概略構成を示す機能ブロック図である。
【００５３】
外部端末５０は、図３の機能ブロック図に示すように、通信部５４、格納部５５、操作部５６およびコントローラ（制御部）５９等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【００５４】
通信部５４は、ネットワーク１０８を介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、外部端末５０は、所望の相手先（ＭＦＰ１０およびクラウドサーバ９０等）と連携して各種のデータを授受することが可能である。通信部５４は、各種データを送信する送信部５４ａと各種データを受信する受信部５４ｂとを有する。たとえば、受信部５４ｂは、スキャン画像２００（図６参照）をＭＦＰ１０から受信し、送信部５４ａは、認識対象画像３００（図８参照）（後述）等をクラウドサーバ９０に送信する。また、受信部５４ｂは、当該認識対象画像３００に対するＯＣＲ処理結果（テキストデータ）７００（図９参照）等をクラウドサーバ９０から受信する。
【００５５】
格納部５５は、不揮発性の半導体メモリ等の記憶装置で構成され、各種の情報を格納する。たとえば、格納部５５には、スキャン画像２００から抽出された複数の行領域４００（図７参照）のそれぞれの当該スキャン画像２００内における座標位置が格納される。
【００５６】
操作部５６は、外部端末５０に対する操作入力を受け付ける操作入力部５６ａと、各種情報の表示出力を行う表示部５６ｂとを備えている。この外部端末５０においては、液晶表示パネルに各種センサ等が埋め込まれて構成されたタッチパネル７５（図１参照）が設けられている。具体的には、図１に示すように、略板状の外部端末５０の正面側において、その周縁部（枠部）を除くほぼ全面にわたってタッチパネル７５が設けられている。換言すれば、タッチパネル７５は、操作入力部５６ａの一部としても機能するとともに、表示部５６ｂの一部としても機能する。
【００５７】
コントローラ（制御部）５９は、外部端末５０に内蔵され、外部端末５０を統括的に制御する制御装置である。コントローラ５９は、ＣＰＵおよび各種の半導体メモリ（ＲＡＭおよびＲＯＭ）等を備えるコンピュータシステムとして構成される。コントローラ５９は、ＣＰＵにおいて、記憶部（半導体メモリ等）内に格納されている所定のソフトウエアプログラム（以下、単にプログラムとも称する）を実行することによって、各種の処理部を実現する。なお、当該プログラム（詳細にはプログラムモジュール群）は、ＵＳＢメモリなどの可搬性の記録媒体、あるいはネットワーク１０８等を介して外部端末５０にインストールされるようにしてもよい。
【００５８】
具体的には、コントローラ５９は、当該プログラム等の実行により、通信制御部６１と入力制御部６２と表示制御部６３と抽出部６４と検出部６５と画像生成部６６と文書生成部６７と特定部６８とを含む各種の処理部を実現する。
【００５９】
通信制御部６１は、通信部５４等と協働して、ＭＦＰ１０およびクラウドサーバ９０等との通信動作を制御する処理部である。
【００６０】
入力制御部６２は、操作入力部５６ａに対するユーザからの操作入力の受付動作等を制御する制御部である。
【００６１】
表示制御部６３は、表示部５６ｂにおける表示動作を制御する処理部である。表示制御部６３は、たとえば、ＭＦＰ１０との連携処理を行うための操作画面をタッチパネル７５に表示する。
【００６２】
抽出部６４は、スキャン画像２００の文字領域２５０（図７参照）から複数の行領域４００をそれぞれ抽出する処理部である。
【００６３】
検出部６５は、複数の行領域４００のスキャン画像２００内における位置（座標位置）をそれぞれ検出する処理部である。
【００６４】
画像生成部６６は、複数の行領域４００の相互間の複数の行間領域のそれぞれに各識別用画像５００（図８参照）（後述）を配置して認識対象画像３００を生成する処理部である。
【００６５】
文書生成部６７は、電子文書８００（図１３参照）を生成する処理部である。文書生成部６７は、クラウドサーバ９０から受信したテキストデータ７００に係るコード列（文字列等）を複数の行領域４００（詳細には複数の行領域４００のスキャン画像２００内における検出位置）にそれぞれ配置して電子文書８００（サーチャブルＰＤＦファイル等）を生成する。
【００６６】
特定部６８は、クラウドサーバ９０による文字認識処理（ＯＣＲ処理）における欠落行領域を特定する処理部である。具体的には、特定部６８は、クラウドサーバ９０から受信したテキストデータ７００（図９参照）において複数の処理後識別コード列７５０（後述）をそれぞれ識別するとともに、テキストデータ７００における複数の処理後識別コード列７５０の位置をそれぞれ特定する。そして、テキストデータ７００において２つの処理後識別コード列７５０が連続して存在すると判定される場合、特定部６８は、認識対象画像３００において、当該２つの処理後識別コード列７５０にそれぞれに対応する２つの行間領域の間に存在する行領域４００を、欠落行領域として特定する。
【００６７】
＜１−４．動作＞
図４は、画像形成システム１における動作の概略を示す図である。
【００６８】
図４に示すように、この画像形成システム１において、外部端末５０は、スキャン画像２００から複数の行領域４００をそれぞれ抽出し、当該複数の行領域４００の相互間の複数の行間領域のそれぞれに各識別用画像５００を配置して認識対象画像３００を生成する。外部端末５０は当該認識対象画像３００をクラウドサーバ９０に送信し、クラウドサーバ９０は、当該認識対象画像３００に対してＯＣＲ処理を実行するとともにＯＣＲ処理結果（テキストデータ）７００を外部端末５０に送信する。外部端末５０は、各識別用画像５００のそれぞれに含まれていた各識別コード列６００（図８参照）（後述）に基づいて、テキストデータ７００において複数の処理後識別コード列７５０をそれぞれ識別するとともに、テキストデータ７００における複数の処理後識別コード列７５０の位置をそれぞれ特定する。そして、テキストデータ７００において２つの処理後識別コード列７５０が連続して存在すると判定される場合、外部端末５０は、認識対象画像３００において、当該２つの処理後識別コード列７５０にそれぞれ対応する２つの行間領域の間に存在する行領域４００を、欠落行領域として特定する。
【００６９】
＜スキャン画像生成等＞
まず、ユーザは、スキャン対象の原稿をＭＦＰ１０の原稿台（たとえば、自動給紙装置（ＡＤＦ：Auto Document Feeder ）あるいは原稿載置用ガラス面等）に載置し、外部端末５０の操作画面において電子文書８００の生成指示を外部端末５０に付与する。外部端末５０は、当該生成指示を受け付けると、当該生成指示に基づくスキャン画像生成指示をＭＦＰ１０に転送する。
【００７０】
電子文書８００の生成指示に際して、ユーザは、スキャン処理により最終的に生成される電子文書８００のファイル形式を指定する。ここでは、当該電子文書８００のファイル形式として、サーチャブルＰＤＦ（透明テキスト付きＰＤＦ）ファイルが指定される。なお、サーチャブルＰＤＦ（透明テキスト付きＰＤＦ）ファイルは、文字画像を有する画像レイヤと、当該文字画像に対する文字認識結果が非表示状態で埋め込まれたテキストレイヤとを有するＰＤＦ形式の電子文書である。
【００７１】
ＭＦＰ１０は、当該生成指示（スキャン画像生成指示等）を外部端末５０から受信すると、スキャン動作を開始し、ＭＦＰ１０の原稿台（ＡＤＦ等）に載置された原稿のスキャン画像２００（２０１）（図６参照）を生成する。なお、ここでは、図６に示すように、スキャン画像２０１（原稿）内の複数行（ここでは４行）の文字列のうち２行目の文字列の全体に亘って下線が引かれている。
【００７２】
そして、ＭＦＰ１０は、スキャン画像（詳細にはスキャン画像データ）２００（２０１）（図７参照）を外部端末５０に送信する。
【００７３】
＜認識対象画像生成処理およびＯＣＲ処理等＞
図５は、電子文書生成システム１における動作例を示すタイミングチャートである。外部端末５０（およびクラウドサーバ９０）は、スキャン画像２００（２０１）をＭＦＰ１０から受信すると、図５に示すような処理を実行する。
【００７４】
外部端末５０は、スキャン画像２００（２０１）をＭＦＰ１０から受信して取得する（ステップＳ１１）と、スキャン画像２００（２０１）（図７参照）の文字領域２５０から複数の行領域４００（４０１〜４０４）をそれぞれ抽出する（ステップＳ１２）。より詳細には、外部端末５０（抽出部６４）は、画像処理によって、スキャン画像２０１を文字領域２５０と非文字領域（空白領域等）２６０とに区分し、当該文字領域２５０から複数の行領域（１行単位の領域）４０１〜４０４をそれぞれ抽出する。
【００７５】
ステップＳ１２においては、さらに、外部端末５０（検出部６５）は、複数の行領域４００（４０１〜４０４）のスキャン画像２００（２０１）内における位置（座標位置）をそれぞれ検出し、各座標位置を格納部５５に格納する。ここでは、行領域４０１〜４０４の左上の点のスキャン画像２０１内における座標位置（座標値（Ｘ１，Ｙ１）〜（Ｘ４，Ｙ４））（図７参照）がそれぞれ検出され、行領域４０１〜４０４の座標位置が格納部５５にそれぞれ格納される。
【００７６】
そして、ステップＳ１３において、外部端末５０（画像生成部６６）は、複数の行領域４００（４０１〜４０４）の相互間の複数の行間領域のそれぞれに、各識別用画像５００（５０１〜５０３）を配置して認識対象画像３００（３０１）を生成する（図８参照）。各識別用画像５００（５０１〜５０３）は、予め準備された識別コード列６００（６０１〜６０３）（次述）をそれぞれ有する。
【００７７】
識別コード列６００は、各行間領域を識別するためのコード列である。この識別コード列６００は、複数の識別コード（文字（数字、アルファベット等）、記号等）で構成される。第１実施形態では、識別コード列６００は、所定数（ここでは１０個）の同一識別コードで構成される。また、各行間領域に配置される識別コード列６００と、当該各行間領域のそれぞれ次の行間領域に配置される識別コード列６００とは、互いに異なる。たとえば、図８に示すように、１行目の行領域４０１と２行目の行領域４０２との相互間の行間領域に配置される識別コード列６０１は、１０個の数字「１」で構成されている。また、２行目の行領域４０２と３行目の行領域４０３との相互間の行間領域に配置される識別コード列６０２は、１０個の数字「２」で構成されている。さらに、３行目の行領域４０３と４行目の行領域４０４との相互間の行間領域に配置される識別コード列６０３は、１０個の数字「３」で構成されている。このように、各行間領域に配置される識別コード列６００と、当該各行間領域のそれぞれ次の行間領域に配置される識別コード列６００とは、互いに異なる数字で構成されている。
【００７８】
これらの識別コード列６００（６０１〜６０３）を可視化（画像化）した各識別用画像５００（５０１〜５０３）が複数の行間領域に配置されて、認識対象画像３００（３０１）が生成される。
【００７９】
ステップＳ１３においては、さらに、各識別コード列６００と当該各識別コード列６００が配置された行間領域とを対応付ける配置情報が、格納部５５に格納される。この配置情報は、ｉ（ｉ＝１，...，Ｎ−１）番目の識別コード列６００が、ｉ（ｉ＝１，...，Ｎ）行目の行領域４００と（ｉ＋１）行目の行領域４００との相互間の行間領域に配置された旨、を示す情報である。なお、値Ｎは行領域数（ここでは値Ｎ＝４）である。認識対象画像３００において、ｉ番目の識別コード列６００が、ｉ行目の行領域４００と（ｉ＋１）行目の行領域４００との相互間の行間領域に配置されると、当該行間領域がｉ番目の識別コード列６００に対応する行間領域である旨の配置情報が格納部５５に格納される。
【００８０】
具体的には、認識対象画像３００において、１番目の識別コード列６０１が１行目の行領域４０１と２行目の行領域４０２との相互間の行間領域に配置されると、当該行間領域と１番目の識別コード列６０１とを対応付ける配置情報が格納される。同様にして、認識対象画像３００において、２番目の識別コード列６０２が２行目の行領域４０２と３行目の行領域４０３との相互間の行間領域に配置されると、当該行間領域と２番目の識別コード列６０２とを対応付ける配置情報が格納される。また、認識対象画像３００において、３番目の識別コード列６０３が３行目の行領域４０３と４行目の行領域４０４との相互間の行間領域に配置されると、当該行間領域と３番目の識別コード列６０３とを対応付ける配置情報が格納される。
【００８１】
このようにして、各識別コード列６００と当該各識別コード列６００が配置された行間領域とを対応付ける配置情報が、格納部５５に格納される。なお、この配置情報は、ステップＳ１７（後述）における行間領域の特定処理の際に利用される。
【００８２】
ステップＳ１３において認識対象画像３００（３０１）が生成されると、外部端末５０（送信部５４ａ）は、当該認識対象画像３００（３０１）をＯＣＲ処理の処理対象画像としてクラウドサーバ９０に送信する（ステップＳ１４）。なお、外部端末５０は、当該認識対象画像３００（３０１）の送信に伴って、当該認識対象画像３００（３０１）に対するＯＣＲ処理を開始すべき旨のＯＣＲ開始指令をもクラウドサーバ９０に送信する。
【００８３】
クラウドサーバ９０は、外部端末５０から認識対象画像３００（３０１）およびＯＣＲ開始指令を受信すると、認識対象画像３００（３０１）に対してＯＣＲ処理を実行し、テキストデータ７００（図９参照）をＯＣＲ処理結果として生成する（ステップＳ１５）。このテキストデータ７００（認識対象画像３００（３０１）に対するＯＣＲ処理結果）は、「全体処理結果」とも称される。なお、クラウドサーバ９０は、複数の行領域４００（４０１〜４０４）のみならず各識別用画像５００（５０１〜５０３）に対してもＯＣＲ処理を実行し、各識別用画像５００（５０１〜５０３）に対する文字認識処理の処理結果として複数の処理後識別コード列７５０（７５１〜７５３）をそれぞれ生成する。換言すれば、このテキストデータ（全体処理結果）７００には、各処理後識別コード列７５０（７５１〜７５３）が含まれる。また、ここでは、クラウドサーバ９０は、各文字認識結果のそれぞれの直後に改行コードを付さずにテキストデータ７００を生成する。
【００８４】
図９は、認識対象画像３００（３０１）に対するＯＣＲ処理結果（テキストデータ）７００を示す図である。全ての行領域４０１〜４０４に対してＯＣＲ処理が施される場合には、クラウドサーバ９０は、図９の上側に示すようなテキストデータ７００を生成する。具体的には、クラウドサーバ９０は、認識対象画像３０１（図８参照）における全ての行領域４００（４０１〜４０４）および全ての識別用画像５００（５０１〜５０３）に対してＯＣＲ処理をそれぞれ施し、テキストデータ（全体処理結果）７００（図９の上側参照）を生成する。
【００８５】
ここにおいて、行領域４０２においては、領域内の文字列の全体に亘って下線が引かれている（図８参照）。上述のように、クラウドサーバ９０は、このような行領域４０２を文字領域として認識せず、当該行領域４０２に対してＯＣＲ処理を実行しない（行領域４０２に対するＯＣＲ処理結果を生成しない）ことがある。行領域４０２に対してＯＣＲ処理が実行されない場合には、図９の下側に示すように、行領域４０２に対するＯＣＲ処理結果が欠落した状態のテキストデータ（全体処理結果）７０１がテキストデータ７００として生成される。
【００８６】
そして、クラウドサーバ９０は、当該テキストデータ７００（７０１）を外部端末５０（ＯＣＲ処理の処理依頼元装置）に送信する（ステップＳ１６）。
【００８７】
外部端末５０は、テキストデータ７００（７０１）をクラウドサーバ９０から受信すると、クラウドサーバ９０によるＯＣＲ処理（文字認識処理）における欠落行領域の存否等を判定する（ステップＳ１７）。
【００８８】
具体的には、特定部６８は、複数の行間領域に配置される複数の識別用画像５００（５０１〜５０３）のそれぞれに含まれていた（処理前の）各識別コード列６００（６０１〜６０３）に基づいて、テキストデータ（全体処理結果）７００（７０１）において、複数の処理後識別コード列７５０（７５１〜７５３）をそれぞれ識別する（図１２参照）。より詳細には、特定部６８は、全体処理結果７０１内の先頭コードから順次にコードを識別（認識）し、識別コード列６０１〜６０３（外部端末５０自身が認識対象画像３０１内に配置した識別コード列）に基づいて、全体処理結果７０１において処理後識別コード列７５１〜７５３をそれぞれ識別（認識）する。
【００８９】
なお、処理後識別コード列７５０を構成する識別コードの個数が（処理前の）識別コード列６００を構成する識別コードの個数（１０個）よりも若干（たとえば１つ）少ない場合であっても、特定部６８は、全体処理結果７００において処理後識別コード列７５０を識別（認識）することが可能である。換言すれば、識別コード列６００内の複数の識別コードのうちの若干数（たとえば１つ）の識別コードがＯＣＲ処理において認識されず、９個の識別コードで構成される処理後識別コード列７５０が文字認識結果として生成されたとしても、全体処理結果７００において、当該処理後識別コード列７５０が（他のコード列（当該処理後識別コード列７５０以外のコード列）とは区別されて）識別される。
【００９０】
特定部６８は、全体処理結果７００（７０１）において複数の処理後識別コード列７５０（７５１〜７５３）をそれぞれ識別するとともに、全体処理結果７００（７０１）における複数の処理後識別コード列７５０（７５１〜７５３）の位置をもそれぞれ特定する。
【００９１】
そして、特定部６８は、全体処理結果７００（７０１）において、クラウドサーバ９０によるＯＣＲ処理（文字認識処理）における欠落行領域が存在するか否か、を判定する。
【００９２】
具体的には、特定部６８は、全体処理結果７００（７０１）において、（近傍の）２つの処理後識別コード列７５０が連続して存在するか否か、を判定する。換言すれば、全体処理結果７００（７０１）において、ｉ（ｉ＝１，...，Ｎ−２）番目の処理後識別コード列７５０と、次の処理後識別コード列７５０（（ｉ＋１）番目の処理後識別コード列７５０）とが連続して存在するか否か、が判定される。なお、本願では、全体処理結果７００（７０１）において２つの処理後識別コード列７５０の間にコードが存在しない状態を、「２つの処理後識別コード列７５０が『連続して』存在する」と表現する。
【００９３】
全体処理結果７００（７０１）においてｉ番目および（ｉ＋１）番目の処理後識別コード列７５０が連続して存在する場合、特定部６８は、認識対象画像３００（３０１）において、当該２つの処理後識別コード列７５０にそれぞれ対応する２つの行間領域の間に存在する行領域４００を、欠落行領域として特定する。
【００９４】
詳細には、当該２つの行間領域を特定する「行間領域特定処理」が行われ、特定された２つの行間領域の間に存在する行領域４００が、欠落行領域として特定される。具体的には、まず、ｉ番目および（ｉ＋１）番目の処理後識別コード列７５０にそれぞれ対応するｉ番目および（ｉ＋１）番目の識別コード列６００が特定される。次に、ｉ番目および（ｉ＋１）番目の識別コード列６００にそれぞれ対応する２つの行間領域が、ステップＳ１３において格納されていた配置情報に基づき特定される。そして、認識対象画像３００（３０１）において当該２つの行間領域の間に存在する行領域４００が、欠落行領域として特定される。
【００９５】
一方、全体処理結果７００（７０１）においてｉ番目および（ｉ＋１）番目の処理後識別コード列７５０が連続していない場合、特定部６８は、認識対象画像３００（３０１）において、当該２つの処理後識別コード列７５０にそれぞれ対応する２つの行間領域の間に存在する行領域４００は欠落行領域ではない旨、を判定する。換言すれば、ｉ番目および（ｉ＋１）番目の処理後識別コード列７５０の間にコードが存在する場合、認識対象画像３００において、当該ｉ番目および（ｉ＋１）番目の処理後識別コード列７５０にそれぞれ対応する２つの行間領域の間に存在する行領域４００は欠落行領域ではない旨、が判定される。詳細には、当該２つの処理後識別コード列７５０に対して行間領域特定処理が行われ、特定された２つの行間領域の間に存在する行領域４００は欠落行領域ではない旨、が判定される。
【００９６】
ｉ番目および（ｉ＋１）番目の処理後識別コード列７５０の連続性に関する判定処理について、さらに詳細に説明する。
【００９７】
たとえば、図１２に示すように、全体処理結果７０１においては、１番目の処理後識別コード列７５１と２番目の処理後識別コード列７５２とが連続して存在している。そのため、全体処理結果７０１において当該２つの処理後識別コード列７５１，７５２が連続して存在する旨が判定される。この場合、認識対象画像３０１（図８参照）において、当該２つの処理後識別コード列７５１，７５２にそれぞれ対応する２つの行間領域の間に存在する行領域４０２が、欠落行領域として特定される。詳細には、まず、１番目の処理後識別コード列７５１に対応する１番目の識別コード列６０１が特定される。そして、認識対象画像３０１において当該１番目の識別コード列６０１が配置された行間領域として、１行目の行領域４０１と２行目の行領域４０２との相互間の行間領域が、配置情報に基づき特定される。次に、２番目の処理後識別コード列７５２に対応する２番目の識別コード列６０２が特定される。そして、認識対象画像３０１において当該２番目の識別コード列６０２が配置された行間領域として、２行目の行領域４０２と３行目の行領域４０３との相互間の行間領域が、配置情報に基づき特定される。２つの行間領域が配置情報に基づきそれぞれ特定されると、認識対象画像３０１において当該２つの行間領域の間に存在する行領域４０２が欠落行領域として特定される。
【００９８】
また、図１２に示すように、全体処理結果７０１において、２番目の処理後識別コード列７５２と３番目の処理後識別コード列７５３との間にはコード（文字認識結果）が存在している。この場合、認識対象画像３０１（図８参照）において、当該２番目および３番目の処理後識別コード列７５２，７５３にそれぞれ対応する行間領域の間に存在する行領域４０３は欠落行領域ではない旨、が判定される。なお、２番目および３番目の処理後識別コード列７５２，７５３にそれぞれ対応する行間領域の行間領域特定処理は、１番目および２番目の処理後識別コード列７５１，７５２にそれぞれ対応する行間領域の行間領域特定処理と同様にして行われる。
【００９９】
ここにおいて、複数の処理後識別コード列７５０（７５１〜７５３）のうちの先頭の処理後識別コード列７５１および末尾の処理後識別コード列７５３については、２つの処理後識別コード列の連続性に関する判定処理とは異なる判定処理（後述）も行われる。
【０１００】
具体的には、複数の処理後識別コード列７５０（７５１〜７５３）のうちの先頭の処理後識別コード列７５０（７５１）については、特定部６８は、全体処理結果７００（７０１）において当該先頭の処理後識別コード列７５０（７５１）の直前にコード（文字認識処理の処理結果）が存在するか否か、を判定する。
【０１０１】
全体処理結果７００（７０１）において当該先頭の処理後識別コード列７５０（７５１）の直前にコードが存在しない場合、特定部６８は、複数の行領域４００（４０１〜４０４）のうちの先頭の行領域４００（４０１）を欠落行領域として特定する。また、全体処理結果７００（７０１）において当該先頭の処理後識別コード列７５０（７５１）の直前にコードが存在する場合、特定部６８は、複数の行領域４００（４０１〜４０４）のうちの先頭の行領域４００（４０１）は欠落行領域ではない旨を判定する。
【０１０２】
ここでは、全体処理結果７０１（図１２参照）において先頭の処理後識別コード列７５１の直前にコードが存在する旨が判定される。この場合、複数の行領域４０１〜４０４のうちの先頭の行領域４０１（図８参照）は欠落行領域ではない旨、が判定される。
【０１０３】
また、複数の処理後識別コード列７５０（７５１〜７５３）のうちの末尾の処理後識別コード列７５３については、特定部６８は、全体処理結果７００（７０１）において当該末尾の処理後識別コード列７５０（７５３）の直後にコード（文字認識処理の処理結果）が存在するか否か、を判定する。
【０１０４】
全体処理結果７００（７０１）において当該処理後識別コード列７５０（７５３）の直後にコードが存在しないと判定される場合、特定部６８は、複数の行領域４００（４０１〜４０４）のうちの末尾の行領域４００（４０４）を欠落行領域として特定する。また、全体処理結果７００（７０１）において当該末尾の処理後識別コード列７５０（７５３）の直後にコードが存在する場合、特定部６８は、複数の行領域４００（４０１〜４０４）のうちの末尾の行領域４００（４０４）は欠落行領域ではない旨を判定する。
【０１０５】
ここでは、全体処理結果７０１（図１２参照）において末尾の処理後識別コード列７５３の直後にコードが存在する旨が判定される。この場合、複数の行領域４０１〜４０４のうちの末尾の行領域４０４（図８参照）は欠落行領域ではない旨、が判定される。
【０１０６】
このようにして、ステップＳ１７において欠落行領域の存否等が判定される。
【０１０７】
なお、仮に行領域４０１（複数の行領域４０１〜４０４のうちの先頭の行領域）に対する文字認識処理の処理結果が欠落している場合には、図１０のような全体処理結果７００（７０２）がクラウドサーバ９０にて生成される。図１０に示すように、当該全体処理結果７０２においては、先頭の処理後識別コード列７５１の直前にコードが存在していない（全体処理結果７０２内の先頭のコード列が処理後識別コード列７５１である）。この場合、全体処理結果７０２において複数の処理後識別コード列７５１〜７５３のうちの先頭の処理後識別コード列７５１の直前にコードが存在しない旨、が判定される。そして、複数の行領域４０１〜４０４のうちの先頭の行領域４０１（図８参照）が欠落行領域として特定される。
【０１０８】
また、仮に行領域４０４（複数の行領域４０１〜４０４のうちの末尾の行領域）に対する文字認識処理の処理結果が欠落している場合には、図１１のような全体処理結果７００（７０３）がクラウドサーバ９０にて生成される。図１１に示すように、当該全体処理結果７０３においては、末尾の処理後識別コード列７５３の直後にコードが存在していない（全体処理結果７０３内の末尾のコード列が処理後識別コード列７５３である）。この場合、全体処理結果７０３において複数の処理後識別コード列７５１〜７５３のうちの末尾の処理後識別コード列７５３の直後にコードが存在しない旨、が判定される。そして、複数の行領域４０１〜４０４のうちの末尾の行領域４０４（図８参照）が欠落行領域として特定される。
【０１０９】
ステップＳ１７の後、外部端末５０は、テキストデータ７００（７０１）に基づき電子文書８００（図１３参照）を生成する（ステップＳ１８）。
【０１１０】
具体的には、外部端末５０は、テキストデータ（全体処理結果）７００（７０１）から各処理後識別コード列７５０（７５１〜７５３）を除去したコード列４５０（図１２参照）を、スキャン画像２００（２０１）の文字領域２５０に対する文字認識結果として決定する。そして、文書生成部６７は、複数の行領域４００（４０１〜４０４）のスキャン画像２００（２０１）内の検出位置（座標位置）を格納部５５から抽出し、欠落行領域ではないと判定された行領域４００の検出位置に各コード列（各文字認識結果）４５０を配置する。
【０１１１】
各行領域４００（４０１〜４０４）への各コード列４５０等の配置について、先頭の行領域４０１から順に説明する。
【０１１２】
上述のように、先頭の行領域４０１は、欠落行領域ではないと判定された行領域である。当該先頭の行領域４０１の検出位置には、全体処理結果７０１において先頭の処理後識別コード列７５１の直前に存在するコード列４５０（４５１）が配置される。具体的には、文書生成部６７は、全体処理結果７０１（図１２参照）の中から、先頭の処理後識別コード列７５１の直前に存在するコード列４５０（４５１）を先頭の行領域４０１に対応する文字認識結果として抽出する。そして、文書生成部６７は、当該コード列４５０（４５１）を行領域４０１のスキャン画像２０１内の検出位置（Ｘ１，Ｙ１）（図７参照）に配置する。
【０１１３】
つぎに、２行目の行領域４０２は、欠落行領域として特定された行領域である。文書生成部６７は、欠落行領域として特定された行領域４０２のスキャン画像２０１内の検出位置（Ｘ２，Ｙ２）に空白領域８５０（図１３参照）を配置する。換言すれば、欠落行領域として特定された行領域４０２に対する文字認識結果の代わりに空白領域８５０が当該行領域４０２の検出位置（Ｘ２，Ｙ２）に配置される。
【０１１４】
また、３行目の行領域４０３は、欠落行領域ではないと判定された行領域である。文書生成部６７は、全体処理結果７０１（図１２参照）の中から、２個目の処理後識別コード列７５２と３個目の処理後識別コード列７５３との間に存在するコード列４５０（４５３）を、３行目の行領域４００（４０３）に対応する文字認識結果として抽出する。そして、当該コード列４５０（４５３）が行領域４０３のスキャン画像２０１内の検出位置（Ｘ３，Ｙ３）（図７参照）に配置される。
【０１１５】
末尾の行領域４０４も、欠落行領域ではないと判定された行領域である。文書生成部６７は、全体処理結果７０１の中から、末尾の処理後識別コード列７５３の直後に存在するコード列４５０（４５４）を４行目の行領域４００（４０４）に対応する文字認識結果として抽出する。そして、当該コード列４５０（４５４）が行領域４０４のスキャン画像２０１内の検出位置（Ｘ４，Ｙ４）（図７参照）に配置される。
【０１１６】
このようにして、各行領域４００の検出位置に各コード列４５０等が配置され、電子文書８００が生成される。
【０１１７】
以上のように、第１実施形態に係る動作においては、スキャン画像２０１から複数の行領域４０１〜４０４がそれぞれ抽出され、複数の行領域４０１〜４０４の相互間の各行間領域に各識別用画像５０１〜５０３が配置されて認識対象画像３０１が生成される。そして、全体処理結果７０１において２つの処理後識別コード列７５０（７５１，７５２）が連続して存在すると判定される場合、認識対象画像３０１において、当該２つの処理後識別コード列７５０（７５１，７５２）に対応する２つの行間領域の間に存在する行領域４００（４０２）が欠落行領域として特定される。したがって、外部端末５０は、ＯＣＲ処理における欠落行を的確に特定することが可能である。
【０１１８】
また、電子文書８００の生成に際して、欠落行領域として特定された行領域４０２のスキャン画像２０１内の検出位置（Ｘ２，Ｙ２）に空白領域８５０が配置される。これにより、次の行領域（行領域４０３）の文字認識結果が行領域４０２の文字画像上に配置されないので、スキャン画像２０１内の文字画像とテキストデータとの位置ずれが発生すること、を抑制することが可能である。
【０１１９】
なお、第１実施形態では、識別コード列６００が数字の識別コードで構成される態様を主に例示したが、これに限定されず、識別コード列６００がアルファベット等の識別コードで構成されるようにしてもよい。
【０１２０】
＜２．第２実施形態＞
第２実施形態は、第１実施形態の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１２１】
第１実施形態では、各識別用画像５００が一定の大きさを有し、認識対象画像３００において、当該各識別用画像５００が（そのまま）各行間領域にそれぞれ配置される態様を例示した。
【０１２２】
第２実施形態では、各識別用画像５００の大きさ（高さ）が各行間領域の大きさ（高さ）に応じてそれぞれ設定されるとともに、認識対象画像３００において、その大きさが設定された後の各識別用画像５００が各行間領域にそれぞれ配置される態様を例示する。
【０１２３】
この第２実施形態においても、第１実施形態と同様に図５の各処理がそれぞれ行われる。
【０１２４】
ただし、第２実施形態のステップＳ１３の処理内容が第１実施形態のステップＳ１３の処理内容とは異なる。
【０１２５】
図１４は、スキャン画像２０１内の行領域４００（４０１〜４０４）の離間方向における各行間領域の大きさ（高さ）Ｈ１０（Ｈ１１〜Ｈ１３）を示す図である。
【０１２６】
ステップＳ１３では、まず外部端末５０（画像生成部６６）は、各行間領域の大きさ（高さ）Ｈ１０（Ｈ１１〜Ｈ１３）を画像処理によってそれぞれ検出する。
【０１２７】
次に、画像生成部６６は、当該離間方向における各識別用画像５００（５０１〜５０３）の大きさ（高さ）を、当該各行間領域の大きさＨ１０（Ｈ１１〜Ｈ１３）に応じてそれぞれ設定する。たとえば、各行間領域の大きさＨ１０が一定程度以上に大きい場合には、当該各行間領域の大きさＨ１０に応じて、各識別用画像５００（５０１〜５０３）の大きさも大きく設定される。なお、ここでは、各識別用画像５００（５０１〜５０３）の大きさは、各行間領域の大きさＨ１０（Ｈ１１〜Ｈ１３）に対して所定の割合（１００％以下の割合（たとえば９０％））の大きさにそれぞれ設定される。
【０１２８】
そして、画像生成部６６は、図１５に示すように、その大きさが設定された後の各識別用画像５００（５０１〜５０３）を各行間領域にそれぞれ配置して認識対象画像３００（３０２）を生成する。
【０１２９】
なお、ステップＳ１３以外の処理は、上記第１実施形態と同様にして行われる。
【０１３０】
この第２実施形態においては、各行間領域に配置される各識別用画像５００の大きさ（高さ）が、当該各行間領域の大きさＨ１０に応じてそれぞれ設定される。そのため、各行間領域の大きさＨ１０が一定程度以上に大きい場合には、各識別用画像５００の大きさが、当該大きさＨ１０に応じて大きく設定される。また、一般的には、処理対象画像内の文字等の大きさが大きい程、クラウドサーバ９０によるＯＣＲ処理において当該文字等がより正確に認識される。したがって、各識別用画像５００に含まれる各識別コード列６００がＯＣＲ処理において正確に認識される可能性を向上することが可能である。
【０１３１】
なお、ここでは各識別用画像５００の大きさ（高さ）が各行間領域の大きさ（高さ）Ｈ１０に（常に）比例してそれぞれ設定される態様を例示したが、これに限定されない。たとえば、各識別用画像５００の大きさに上限値を設け、各識別用画像５００の大きさが当該上限値以上の大きさに設定されないようにしてもよい。各識別用画像５００の大きさに上限値を設けることによれば、各識別用画像５００の大きさが当該上限値以上の大きさに設定されることがないので、認識対象画像３００のファイル容量が一定程度以上に大きくなること、を防止することができる。その結果、外部端末５０とクラウドサーバ９０との間の通信負荷が増大すること、を抑制することが可能である。また、クラウドサーバ９０によっては、処理対象画像内の文字等の大きさが一定程度以上に大きくなると、ＯＣＲ処理における当該文字等の認識精度が低下することがある。各識別用画像５００の大きさに上限値を設けることによれば、各識別用画像５００の大きさが当該上限値以上の大きさに設定されることがないので、ＯＣＲ処理における当該文字等の認識精度が低下すること、を抑制することも可能である。
【０１３２】
＜３．第３実施形態＞
第３実施形態は、第１実施形態の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１３３】
第１実施形態では、複数の行領域４００の相互間の各行間領域の大きさ（高さ）が変更されることなく、各行間領域に各識別用画像５００がそれぞれ配置されて認識対象画像３００が生成される態様を例示した。
【０１３４】
この第３実施形態では、各行間領域の大きさ（高さ）が各識別用画像５００の大きさ（高さ）よりも大きくなるように当該各行間領域の大きさがそれぞれ変更され、変更後の各行間領域に各識別用画像５００がそれぞれ配置されて認識対象画像３００が生成される態様を例示する。なお、ここでは、各識別用画像５００は、所定の大きさ（たとえば各行領域４００の高さのうちの最大の高さと同じ高さ）Ｈ３０をそれぞれ有する。
【０１３５】
第３実施形態においても、第１実施形態と同様に図５の各処理がそれぞれ行われる。
【０１３６】
ただし、第３実施形態のステップＳ１３の処理内容が第１実施形態のステップＳ１３の処理内容とは異なる。
【０１３７】
ステップＳ１３では、まず、外部端末５０（画像生成部６６）は、スキャン画像２００内の行領域４００（４０１〜４０４）の離間方向における各行間領域の大きさ（高さ）Ｈ２０（Ｈ２１〜Ｈ２３）（図１６参照）を画像処理によってそれぞれ検出する。また、画像生成部６６は、各行領域４００（４０１〜４０４）のそれぞれの大きさをも画像処理によって検出し、各行領域４００の高さのうちの最大の高さ（ここでは行領域４０１の高さ）を各識別用画像５００（５０１〜５０３）の大きさＨ３０として設定する。
【０１３８】
次に、画像生成部６６は、各行間領域の大きさＨ２０（Ｈ２１〜Ｈ２３）が各識別用画像５００（５０１〜５０３）の大きさＨ３０よりも大きいか否か、を判定する。各行間領域の大きさＨ２０が各識別用画像５００の大きさＨ３０よりも小さい旨が判定されると、画像生成部６６は、各行間領域の大きさが当該離間方向における各識別用画像５００（５０１〜５０３）の大きさＨ３０よりも大きくなるように、各行間領域の大きさをそれぞれ変更（拡大）する。詳細には、各行間領域の大きさＨ２０（Ｈ２１〜Ｈ２３）が、各識別用画像５００（５０１〜５０３）の大きさＨ３０に対して所定の割合（１００％以上（たとえば１１０％））の大きさに設定される。
【０１３９】
そして、画像生成部６６は、図１７に示すように、その大きさが変更された後の各行間領域に各識別用画像５００（５０１〜５０３）をそれぞれ配置して認識対象画像３００（３０３）を生成する。
【０１４０】
また、各行間領域の大きさＨ２０が各識別用画像５００の大きさＨ３０よりも大きい旨が判定される場合には、画像生成部６６は、各行間領域の大きさを変更せずに、各行間領域に各識別用画像５００をそれぞれ配置して認識対象画像３００を生成する。
【０１４１】
なお、ステップＳ１３以外の処理は、上記第１実施形態と同様にして行われる。
【０１４２】
ここにおいて、各行間領域の大きさＨ２０が各識別用画像５００の大きさＨ３０よりも小さい場合に、各識別用画像５００が各行間領域にそのまま配置されると、認識対象画像３００において行領域４００と識別コード列６００とが重畳する。行領域４００と識別コード列６００とが重畳する場合には、認識対象画像３００内の文字列（詳細には重畳する行領域および識別コード列）がＯＣＲ処理にて誤認識される恐れがある。
【０１４３】
これに対して、この第３実施形態においては、各行間領域の大きさが各識別用画像５００の大きさＨ３０よりも大きくなるように当該各行間領域の大きさがそれぞれ変更（拡大）され、変更後の各行間領域に各識別用画像５００がそれぞれ配置される。したがって、行領域４００と識別コード列６００との重畳が回避されるので、認識対象画像３００内の文字列（詳細には重畳する行領域および識別コード列）がＯＣＲ処理にて誤認識されること、を抑制することが可能である。
【０１４４】
＜４．第４実施形態＞
第４実施形態は、第１実施形態の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１４５】
第４実施形態では、認識対象画像３００に対するＯＣＲ処理を実行させるクラウドサーバ９０が指定されると、複数の識別コードセット３５０（後述）の中から最適な識別コードセット３５０（最適コードセット）が決定される。そして、当該最適コードセットに含まれる各識別コード列６００をそれぞれ有する各識別用画像５００が各行間領域に配置されて認識対象画像３００が生成される。
【０１４６】
ここにおいて、クラウドサーバ９０がＯＣＲ処理特性を有し、コード種類（数字、アルファベット、記号等）によってＯＣＲ処理における認識率が大きく異なることがある。たとえば、アルファベットで構成された文字列に対するＯＣＲ処理の認識率が、記号で構成された文字列に対するＯＣＲ処理の認識率よりも比較的高いことがある。
【０１４７】
このような事情から、第４実施形態では、指定されたクラウドサーバ９０に対して最適な（ＯＣＲ処理特性に合った）識別コードセット３５０が決定される。
【０１４８】
図１８は、第４実施形態に係る電子文書生成システム１における動作例を示すタイミングチャートである。第４実施形態に係る電子文書生成システム１においては、図１８のステップＳ２１〜Ｓ２５の処理が図５のステップＳ１１の処理の直前に行われる。
【０１４９】
具体的には、外部端末５０（表示制御部１３および入力制御部６２）は、指定画面（不図示）（次述）をタッチパネル７５に表示し、当該指定画面において、所望のクラウドサーバ９０を指定する指定入力をユーザから受け付ける（ステップＳ２１）。この指定画面は、認識対象画像３００に対するＯＣＲ処理を実行させたいクラウドサーバ９０のＵＲＬ等の入力をユーザから受け付ける画面である。
【０１５０】
指定入力が受け付けられると、外部端末５０（送信部５４ａ）は、複数のコードセット画像３１０（図１９〜図２１参照）（次述）を、ＯＣＲ処理の処理対象画像（テスト画像）としてクラウドサーバ９０にそれぞれ送信する（ステップＳ２２）。
【０１５１】
図１９〜図２１は、コードセット画像３１０（３１１〜３１３）を示す図である。複数のコードセット画像３１０（３１１〜３１３）は、複数の識別コードセット３５０（３５１〜３５３）のそれぞれを可視化（画像化）したものである。この複数の識別コードセット３５０（３５１〜３５３）は、複数（ここでは４個）の識別コード列６００をそれぞれ有する。また、複数の識別コードセット３５０（３５１〜３５３）は互いに異なる。たとえば、図１９に示すように、識別コードセット３５１は、４個且つ「数字」の識別コード列６００（６０１〜６０４）を有する。また、図２０に示すように、識別コードセット３５２は、４個且つ「アルファベット」の識別コード列６００（６１１〜６１４）を有する。さらに、図２１に示すように、識別コードセット３５３は、４個且つ「記号」の識別コード列６００（６２１〜６２４）を有する。このように、複数の識別コードセット３５０（３５１〜３５３）は、互いに異なる種類（コード種類）の識別コード列６００をそれぞれ有する。
【０１５２】
クラウドサーバ９０は、複数のコードセット画像３１０（３１１〜３１３）をそれぞれ受信すると、各コードセット画像３１０（３１１〜３１３）に対してそれぞれＯＣＲ処理を実行し、識別コードセット３５０毎のＯＣＲ処理結果をそれぞれ生成する（ステップＳ２３）。そして、クラウドサーバ９０は、当該識別コードセット３５０毎のＯＣＲ処理結果を外部端末５０にそれぞれ送信する（ステップＳ２４）。
【０１５３】
外部端末５０は、複数のコードセット画像３１０（３１１〜３１３）に対するＯＣＲ処理結果をクラウドサーバ９０からそれぞれ受信すると、複数の識別コードセット３５０（３５１〜３５３）の中から最適コードセットを決定する（ステップＳ２５）。
【０１５４】
具体的には、画像生成部６６は、複数のコードセット画像３１０（３１１〜３１３）に対するＯＣＲ処理結果のそれぞれに基づき、識別コードセット３５０（３５１〜３５３）毎の認識率Ｒ１０をそれぞれ求める。そして、画像生成部６６は、複数の識別コードセット３５０のうち最も高い認識率Ｒ１０を有する識別コードセット３５０を最適コードセットとして決定する。換言すれば、複数の識別コードセット３５０のうち最も高い認識率Ｒ１０を有する識別コードセット３５０が、ユーザによって指定されたクラウドサーバ９０に対応する最適コードセットとして決定される。なお、認識率Ｒ１０は、識別コードセット３５０内に含まれる全コード数に対する、当該全コード数のうちＯＣＲ処理において正しく認識されたコードの個数の割合（比率）である。
【０１５５】
ここでは、識別コードセット３５１（図１９）に対するＯＣＲ処理の認識率Ｒ１０（Ｒ１１）は８０％であり、識別コードセット３５２（図２０）に対するＯＣＲ処理の認識率Ｒ１０（Ｒ１２）は９０％であり、識別コードセット３５３（図２１）に対するＯＣＲ処理の認識率Ｒ１０（Ｒ１３）は７０％であるとして求められる。そして、複数の識別コードセット３５１〜３５３のうち最も高い認識率Ｒ１０（Ｒ１２（＝９０％））を有する識別コードセット３５２が、最適コードセットとして決定される。
【０１５６】
ステップＳ２１〜Ｓ２５の処理が完了する（最適コードセットが決定される）と、図５のステップＳ１１，Ｓ１２を経て、ステップＳ１３において認識対象画像３００が、当該最適コードセットを用いて生成される。
【０１５７】
具体的には、最適コードセットとして決定された識別コードセット３５０（ここでは識別コードセット３５２（図２０参照））に含まれる各識別コード列６００（６１１〜６１３）が用いられた認識対象画像３００（３０４）（図２２参照）が生成される。より詳細には、最適コードセット（識別コードセット３５２）に含まれる各識別コード列（アルファベットで構成された識別コード列）６１１〜６１３をそれぞれ有する各識別用画像５１１〜５１３が各行領域４０１〜４０４の各行間領域にそれぞれ配置されて認識対象画像３０４が生成される。
【０１５８】
そして、ステップＳ１４において、当該認識対象画像３００（３０４）が、ユーザにより指定されたクラウドサーバ９０（９０Ｂ）に送信される。
【０１５９】
なお、ステップＳ１４以降は、図５のステップＳ１５〜Ｓ１８の処理と同様の処理が行われる。
【０１６０】
このように、第４実施形態においては、クラウドサーバ９０が指定されると、複数の識別コードセット３５０のうち最も高い認識率Ｒ１０（Ｒ１２）を有する識別コードセット３５０（３５２）が最適コードセットとして決定される。そして、当該最適コードセット３５０（３５２）に含まれる各識別コード列６００（６１１〜６１３）が認識対象画像３００（３０４）においてそれぞれ配置される。したがって、指定されたクラウドサーバ９０に対して最適な（最も高い認識率Ｒ１０を有する）識別コードセット３５０に基づく認識対象画像３００が生成されるので、認識対象画像３００内の各識別コード列６００がＯＣＲ処理においてより正確に認識される可能性を向上することが可能である。すなわち、クラウドサーバ９０のＯＣＲ処理特性に合った識別コードセット３５０を用いてＯＣＲ処理を行うことが可能である。
【０１６１】
また、クラウドサーバ９０が指定されると、その都度、指定されたクラウドサーバ９０に対する最適コードセットが決定される。そのため、ＯＣＲ処理を実行させるクラウドサーバ９０が予め登録されていない場合であっても、ユーザにより指定されたクラウドサーバ９０に対する最適な識別コードセット３５０を求めることが可能である。
【０１６２】
＜５．第５実施形態＞
第５実施形態は、第４実施形態の変形例である。以下では、第４実施形態との相違点を中心に説明する。
【０１６３】
第４実施形態では、ＯＣＲ処理を実行させるクラウドサーバ９０の指定に応答して、複数の識別コードセット３５０のうちの最適コードセットが決定される態様を例示した。
【０１６４】
この第５実施形態では、クラウドサーバ９０の指定に先立って、複数のクラウドサーバ９０毎の最適コードセットが事前に決定される態様を例示する。
【０１６５】
図２３は、第５実施形態に係る画像形成システム１を示す図である。第５実施形態では、ＭＦＰ１０と外部端末５０と３つのクラウドサーバ９０（９０Ａ〜９０Ｃ）のそれぞれとがネットワーク１０８を介して互いに接続されている。また、図２４は、第５実施形態に係る画像形成システム１の概要を示す図である。
【０１６６】
第５実施形態においても、第４実施形態と同様に図１８の各処理がそれぞれ行われる。
【０１６７】
ただし、第５実施形態においては、ステップＳ２２〜Ｓ２５の処理が、ステップＳ２１の処理に先立って（事前に）行われる。また、第５実施形態のステップＳ２２においては、複数のコードセット画像３１０が複数のクラウドサーバ９０に送信される点で、第４実施形態のステップＳ２２とは異なる。また、第５実施形態では、ステップＳ２３，Ｓ２４の処理が複数のクラウドサーバ９０においてそれぞれ実行される。また、第５実施形態のステップＳ２５では、クラウドサーバ９０毎の最適コードセットがそれぞれ決定される。
【０１６８】
まず、ステップＳ２２〜Ｓ２５の処理が、クラウドサーバ９０を指定する指定入力の受付に先立って予め行われる。
【０１６９】
具体的には、ステップＳ２２においては、複数のコードセット画像３１０（３１１〜３１３）（図１９〜図２１参照）が、ＯＣＲ処理の処理対象画像（テスト画像）として複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）にそれぞれ送信される（図２４参照）。
【０１７０】
そして、各クラウドサーバ９０（９０Ａ〜９０Ｃ）は、複数のコードセット画像３１０（３１１〜３１３）に対してＯＣＲ処理をそれぞれ実行し、各コードセット画像３１０（３１１〜３１３）に対するＯＣＲ処理結果をそれぞれ生成する（ステップＳ２３）。その後、各クラウドサーバ９０（９０Ａ〜９０Ｃ）は、識別コードセット３５０毎のＯＣＲ処理結果を外部端末５０にそれぞれ送信する（ステップＳ２４）（図２４参照）。
【０１７１】
外部端末５０は、識別コードセット３５０毎のＯＣＲ処理結果を各クラウドサーバ９０（９０Ａ〜９０Ｃ）からそれぞれ受信すると、クラウドサーバ９０毎の最適コードセットをそれぞれ決定する（ステップＳ２５）。
【０１７２】
具体的には、外部端末５０（画像生成部６６）は、複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）による複数のコードセット画像３１０（３１１〜３１３）に対するＯＣＲ処理結果のそれぞれに基づき、複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）のそれぞれにおける識別コードセット３５０（３５１〜３５３）毎の認識率Ｒ２０をそれぞれ求める。そして、画像生成部６６は、最適コードセット（複数の識別コードセット３５０（３５１〜３５３）のうち最も高い認識率Ｒ２０を有する識別コードセット３５０）を複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）のそれぞれについて決定する。
【０１７３】
図２５は、複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）のそれぞれにおける識別コードセット３５０毎の認識率Ｒ２０を示す図である。
【０１７４】
図２５に示すように、クラウドサーバ９０Ａにおける識別コードセット３５１に対する認識率Ｒ２１ａは９０％であり、クラウドサーバ９０Ａにおける識別コードセット３５２に対する認識率Ｒ２２ａは８０％であり、クラウドサーバ９０Ａにおける識別コードセット３５３に対する認識率Ｒ２３ａは７０％である。この場合、複数の識別コードセット３５１〜３５３のうち最も高い認識率Ｒ２０（Ｒ２１ａ）を有する識別コードセット３５１が、「クラウドサーバ９０Ａに対応する最適コードセット」として決定される。
【０１７５】
また、クラウドサーバ９０Ｂにおける識別コードセット３５１に対する認識率Ｒ２１ｂは７０％であり、クラウドサーバ９０Ｂにおける識別コードセット３５２に対する認識率Ｒ２２ｂは９０％であり、クラウドサーバ９０Ｂにおける識別コードセット３５３に対する認識率Ｒ２３ｂは８０％である。この場合、複数の識別コードセット３５１〜３５３のうち最も高い認識率Ｒ２０（Ｒ２２ｂ）を有する識別コードセット３５２が、「クラウドサーバ９０Ｂに対応する最適コードセット」として決定される。
【０１７６】
また、クラウドサーバ９０Ｃにおける識別コードセット３５１に対する認識率Ｒ２１ｃは８０％であり、クラウドサーバ９０Ｃにおける識別コードセット３５２に対する認識率Ｒ２２ｃは７０％であり、クラウドサーバ９０Ｃにおける識別コードセット３５３に対する認識率Ｒ２３ｃは９０％である。この場合、複数の識別コードセット３５１〜３５３のうち最も高い認識率Ｒ２０（Ｒ２３ｃ）を有する識別コードセット３５３が、「クラウドサーバ９０Ｃに対応する最適コードセット」として決定される。
【０１７７】
このように、外部端末５０（画像生成部６６）は、複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）のそれぞれにおける識別コードセット３５０毎の認識率Ｒ２０に基づき、クラウドサーバ９０毎の最適コードセットをそれぞれ決定する（ステップＳ２５）。そして、クラウドサーバ９０毎の最適コードセット（各クラウドサーバ９０に対応する最適コードセット）に関する情報が、格納部５５に格納される。
【０１７８】
その後、電子文書８００の生成に際して、複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）の中から所望のクラウドサーバ９０がユーザにより指定される（ステップＳ２１）と、ステップＳ１１，Ｓ１２（図５参照）の後、当該クラウドサーバ９０向けの認識対象画像３００が生成される（ステップＳ１３）。
【０１７９】
具体的には、外部端末５０（表示制御部１３および入力制御部６２）は、選択画面（不図示）（次述）をタッチパネル７５に表示し、当該選択画面において、所望のクラウドサーバ９０を指定する指定入力をユーザから受け付ける（ステップＳ２１）。この選択画面は、登録済の（ＯＣＲ処理を実行させるクラウドサーバ９０として予め登録されている）複数のクラウドサーバ９０（９０Ａ〜９０Ｃ）の一覧が表示された画面である。
【０１８０】
指定入力が受け付けられると、画像生成部６６は、指定されたクラウドサーバ９０（９０Ｂ）に対応する最適コードセットを格納部５５から抽出する。そして、画像生成部６６は、ユーザにより指定されたクラウドサーバ９０（９０Ｂ）向けの認識対象画像３００（３０４）を生成する。
【０１８１】
具体的には、ユーザにより指定されたクラウドサーバ９０Ｂに対応する最適コードセットは識別コードセット３５２（図２０参照）であり（図２５も参照）、当該識別コードセット３５２が格納部５５から抽出される。そして、図２２に示すように、当該クラウドサーバ９０Ｂに対応する最適コードセット（識別コードセット３５２）に含まれる各識別コード列６１１〜６１３をそれぞれ有する各識別用画像５１１〜５１３が複数の行間領域にそれぞれ配置され、クラウドサーバ９０Ｂ向けの認識対象画像３０４が生成される。
【０１８２】
そして、ステップＳ１４において、当該認識対象画像３００（３０４）が、ユーザにより指定されたクラウドサーバ９０（９０Ｂ）に送信される。
【０１８３】
なお、ステップＳ１４以降は、図５のステップＳ１５〜Ｓ１８の処理と同様の処理が行われる。
【０１８４】
このように、第５実施形態においては、指定入力の受付に先立って、クラウドサーバ９０毎の最適コードセットが事前に決定される。その後、クラウドサーバ９０（９０Ｂ）が指定されると、当該クラウドサーバ９０（９０Ｂ）に対応する最適コードセット（識別コードセット３５２）が抽出され、当該最適コードセットに含まれる各識別コード列６００が認識対象画像３００においてそれぞれ配置される。したがって、指定されたクラウドサーバ９０（９０Ｂ）に対して最適な（最も高い認識率Ｒ２０を有する）識別コードセット３５０に基づく認識対象画像３００が生成されるので、認識対象画像３００内の識別コード列６００がＯＣＲ処理においてより正確に認識される可能性を向上することが可能である。すなわち、クラウドサーバ９０のＯＣＲ処理特性に合った識別コードセット３５０を用いてＯＣＲ処理を行うことが可能である。
【０１８５】
また、指定入力が受け付けられる前にクラウドサーバ９０毎の最適コードセットが予めに求められるので、指定入力が受け付けられた後に、指定されたクラウドサーバ９０に対する最適コードセットを（その都度）求める場合と比べて、電子文書８００の生成処理をより早期に完了することが可能である。
【０１８６】
＜６．変形例等＞
以上、この発明の実施の形態について説明したが、この発明は上記内容のものに限定されるものではない。
【０１８７】
たとえば、上記各実施形態においては、識別コード列６００が複数且つ同一の識別コード（たとえば識別コード列６０１（図８参照）においては数字「１」のみ）で構成される態様を例示したが、これに限定されず、識別コード列６００は、複数且つ互いに異なる識別コード（たとえば「１２３４５...」）で構成されるようにしてもよい。また、複数種類の識別コードが組み合わされて（たとえば「１Ａ２Ｂ３Ｃ...」）識別コード列６００が構成されるようにしてもよい。
【０１８８】
また、上記各実施形態においては、各行間領域に配置される識別コード列６００と、当該各行間領域のそれぞれ次の行間領域に配置される識別コード列６００とが互いに異なる態様を例示したが、これに限定されない。たとえば、複数の識別コード列６００が全て同一のものであってもよい。すなわち、同一の識別コード列６００をそれぞれ有する識別用画像５００が各行間領域にそれぞれ配置されるようにしてもよい。
【０１８９】
また、上記各実施形態においては、クラウドサーバ９０は、各文字列に対するＯＣＲ処理結果のそれぞれの直後に改行コードを付さずにテキストデータ７００を生成する態様を例示したが、これに限定されない。たとえば、クラウドサーバ９０が、各文字列に対するＯＣＲ処理結果のそれぞれの直後に改行コードを付してテキストデータ７００を生成する態様であっても、本願発明の思想を適用することが可能である。なお、この場合、各識別用画像５００に対するＯＣＲ処理結果には改行コードがそれぞれ含まれ、改行コードを含む各ＯＣＲ処理結果が各処理後識別コード列７５０として取り扱われればよい。
【０１９０】
また、上記各実施形態等においては、欠落行領域の特定後における、当該欠落行領域に対する処理として、空白領域８５０が、当該欠落行領域として特定された行領域４００（たとえば行領域４０２）に配置される態様を例示したが、これに限定されない。たとえば、欠落行領域として特定された行領域４００（行領域４０２）に対して別のクラウドサーバ９０により施されたＯＣＲ処理結果が、欠落行領域として特定された行領域４００（行領域４０２）に配置されるようにしてもよい。
【０１９１】
具体的には、行領域４０２が欠落行領域として特定されると、当該行領域４０２が、別のクラウドサーバ９０（認識対象画像３００（行領域４０２）に対して既にＯＣＲ処理を施したクラウドサーバ９０とは異なるクラウドサーバ９０）に送信される。たとえば行領域４０２内の文字列全体に亘って下線が引かれている場合に、或るクラウドサーバ９０では、当該行領域４０２が文字領域として認識されなかったものの、別のクラウドサーバ９０では、当該行領域４０２が文字領域として認識されることがある。当該別のクラウドサーバ９０において行領域４０２が文字領域として認識されると、当該行領域４０２に対してＯＣＲ処理が施され、ＯＣＲ処理結果が生成される。そして、別のクラウドサーバ９０にて実行された行領域４０２に対するＯＣＲ処理結果が、行領域４０２の検出位置に配置される。
【０１９２】
また、上記各実施形態等においては、電子文書生成装置として外部端末５０を例示したが、これに限定されない。たとえば、ＭＦＰ１０が電子文書生成装置として各種の処理（図５のステップＳ１１〜Ｓ１４，Ｓ１７およびＳ１８の処理等）を行うようにしてもよい。すなわち、外部端末５０を用いずに、ＭＦＰ１０において認識対象画像３００が生成されるとともにＭＦＰ１０とクラウドサーバ９０との間で各種データの送受信動作等が行われ、ＭＦＰ１０によって電子文書８００が生成されるようにしてもよい。
【０１９３】
また、上記各実施形態等においては、各行領域が横書きの文字列（横方向に伸びる１行の文字列）で構成される態様を主に説明したが、これに限定されず、各行領域が縦書きの文字列（縦方向に伸びる１行（１列）の文字列）で構成される場合にも上記思想を適用することが可能である。
【符号の説明】
【０１９４】
１  画像形成システム（電子文書生成システム）
１０  ＭＦＰ（画像形成装置）
５０  外部端末
９０，９０Ａ〜９０Ｃ  クラウドサーバ
２００，２０１  スキャン画像
３００〜３０４  認識対象画像
３１０〜３１３  コードセット画像
３５０〜３５３  識別コードセット
４００〜４０４  行領域
５００〜５０３，５１１〜５１３  識別用画像
６００〜６０４，６１１〜６１４，６２１〜６２４  識別コード列
７００〜７０３  テキストデータ（全体処理結果）
７５０〜７５３  処理後識別コード列
８００  電子文書
【図１】
2016091190.tif 000003
【図２】
2016091190.tif 000004
【図３】
2016091190.tif 000005
【図４】
2016091190.tif 000006
【図５】
2016091190.tif 000007
【図６】
2016091190.tif 000008
【図７】
2016091190.tif 000009
【図８】
2016091190.tif 000010
【図９】
2016091190.tif 000011
【図１０】
2016091190.tif 000012
【図１１】
2016091190.tif 000013
【図１２】
2016091190.tif 000014
【図１３】
2016091190.tif 000015
【図１４】
2016091190.tif 000016
【図１５】
2016091190.tif 000017
【図１６】
2016091190.tif 000018
【図１７】
2016091190.tif 000019
【図１８】
2016091190.tif 000020
【図１９】
2016091190.tif 000021
【図２０】
2016091190.tif 000022
【図２１】
2016091190.tif 000023
【図２２】
2016091190.tif 000024
【図２３】
2016091190.tif 000025
【図２４】
2016091190.tif 000026
【図２５】
2016091190.tif 000027