〔実施の形態1〕
本発明の一実施の形態について、図面を用いて以下に説明する。図1は、本発明の実施の形態1に係る文字認識データ処理システム100の概略構成を示す図である。文字認識データ処理システム100は、文字認識データ処理装置20と、ペン型装置30と、画像形成装置40とを含んでいる。
文字認識データ処理装置20は、パーソナルコンピュータ(PC)により構成されており、オペレーティングシステムを実現するプログラムやアプリケーションプログラムを記憶している。文字認識データ処理装置20は、LAN(Local Area Network)などのネットワーク50を介して画像形成装置40と通信を行う。文字認識データ処理装置20は、無線通信によりペン型装置30から手書き文字等の情報を取得する。なお、文字認識データ処理装置20は、ネットワーク50を介してペン型装置30から情報を取得する構成であってもよく、また、USB(Universal Serial Bus)の規格に準拠したコネクタを有し、このコネクタに接続されるペン型装置30から、手書き文字等の情報を取得する構成であってもよい。
画像形成装置40は、紙などの記録媒体に電子写真方式で画像を形成する。画像形成装置40は、ネットワーク50を介して文字認識データ処理装置20と通信を行い、文字認識データ処理装置20から送信される情報に基づいて紙に画像を形成する。本実施の形態では、画像形成装置40は、電子写真方式により紙に画像を形成する構成を例に挙げるが、画像を形成する方式は電子写真方式に限定されるものではなく他の方式であってもよい。
ペン型装置30は、画像形成装置40により画像が形成された紙(媒体)にインク等によって文字や図などの追記を行うための書込装置である。ペン型装置30は、文字認識データ処理装置20と通信を行う機能、紙に記録された情報を読み取り、読み取った情報を記憶する機能、記憶した情報を文字認識データ処理装置20へ送信する機能等を有している。すなわち、ペン型装置30は、いわゆる電子ペン(デジタルペンともいう。)としての機能を有している。
(文字認識データ処理装置20の概略構成)
図2は、文字認識データ処理装置20の概略構成を示すブロック図である。図2に示すように、文字認識データ処理装置20は、操作受付部3、入力領域検出取得部4、記入領域生成部5、出力部6、データ反映部7、文字認識部8、記入領域取得部9、手書きデータ情報(追記情報)受信部10、及び記憶部11を含んでいる。記憶部11は、入力領域記憶部1及び記入領域記憶部2を含んでいる。以下、各部の概略を説明する。
操作受付部3は、ユーザがキーボードやマウス等の操作端末(図示せず)を操作して文字認識データ処理装置20に与えた命令を受け付ける。ユーザが操作端末を操作することにより、文字認識データ処理装置20に対する各種指示や情報の入力及び各種設定が行われる。例えば、ユーザは、文字認識データ処理装置20の外部に設けられた表示部(図示せず)に表示された複数の帳票データ(文書フォーマット)から、マウスを操作して所望の帳票データを選択する。操作受付部3は、マウスから、ユーザが所望の帳票データを選択した旨の命令を受け取る。文書フォーマットは、PC上で加工及び編集が可能な電子データである。具体的には例えば、エクセルデータ、ワードデータ、PDF、XPSなどの文書データや、JPEG、TIFFなどの画像データ等をいう。
入力領域検出取得部4は、ユーザが選択した文書フォーマット(電子データ)からデータ入力領域を検出する。データ入力領域は、ユーザが操作端末を操作してPC上でデータを入力する予定(候補)の領域である。1個の文書フォーマットには、1個または複数個のデータ入力領域が存在する。例えば、文書フォーマットがエクセルデータである場合は、セル、テキストボックス、チェックボックス等がデータ入力領域となる。また、入力領域検出取得部4は、検出したデータ入力領域に対応するデータ入力領域情報を入力領域記憶部1へ送信する。入力領域記憶部1には、各データ入力領域に対応する複数個のデータ入力領域情報が記憶されている。また、入力領域検出取得部4は、ユーザが選択した文書フォーマットに対応するデータ入力領域情報が入力領域記憶部1に記憶されている場合は、入力領域記憶部1から該データ入力領域情報を取得する。入力領域検出取得部4の具体的な構成は後述する。
記入領域生成部5は、入力領域検出取得部4が検出または取得したデータ入力領域に基づき、記入領域を生成する。記入領域は、データ入力領域の位置情報を含んでいる。具体的には、記入領域は、出力(印刷)された媒体(例えば紙)上の位置に関する情報、すなわち、セルアドレス、テキストボックスID、行列情報、文書フォーマットの電子データ上の座標等を含んでいる。各データ入力領域と各記入領域とは、1対1で対応付けられている。また、記入領域生成部5は、生成した記入領域に対応する記入領域情報を記入領域記憶部2へ送信する。記入領域記憶部2には、各記入領域に対応する複数個の記入領域情報それぞれが、各データ入力領域に対応付けられて記憶されている。また、記入領域生成部5は、ユーザが選択した文書フォーマットに対応する記入領域情報が記入領域記憶部2に記憶されている場合は、記入領域記憶部2から該記入領域情報を取得する。記入領域生成部5の具体的な構成は後述する。
出力部6は、文書フォーマットの画像形成を画像形成装置40に指示する。また、出力部6は、紙に形成するコード画像を生成する。コード画像は、例えば特開2008−9833号公報に開示されているコードパターンを画像化したものであり、紙の全面に複数行複数列で形成される画像である。1個のコード画像は、二次元に配列された複数のドットで構成されており、紙文書のページIDと、コード画像が配置されている紙面上の座標を示す位置情報等のデジタルコードとが埋め込まれている。ページIDと、記入領域生成部5により生成された各記入領域情報とは対応付けられている。なお、ページIDによって作業中のページを特定することができ、またページIDによって作業中のページを含む文書フォーマットを特定することができる。また、コード画像は、複数のドットが二次元で配置されているものであれば、特開2008−9833号公報に開示されているものに限定されず、例えばData Matrix、Code One、Maxi Code、QR codeなど他のコード画像であってもよい。また、コード画像の配置は、紙の全面に規則的に配置されていれば複数行複数列のマトリクス状ではなく他の配置であってもよい。
出力部6は、文書フォーマットが表す画像にコード画像を複数行複数列で重畳し、コード画像が重畳された画像を表すイメージデータを生成する。出力部6は、生成したイメージデータを画像形成装置40へ送信する。
手書きデータ情報受信部10は、ペン型装置30から手書きデータ情報(追記情報)を受信する。具体的には、手書きデータ情報受信部10は、ペン型装置30が読み取った、ページIDと、ペン型装置30により記入された線(ストローク)の位置(座標)情報とを、ペン型装置30から取得する。
記入領域取得部9は、手書きデータ情報受信部10からページIDを受け取り、記入領域記憶部2から該ページIDに対応する記入領域情報を取得する。
文字認識部8は、媒体(紙)上の手書きデータの文字認識処理を行う。文字認識部8は、手書きデータ情報(追記情報)をテキストデータとして認識する。
データ反映部7は、文字認識部8が文字認識した手書きデータを、記入領域に予め対応付けられているデータ入力領域に反映させる。手書きデータが複数個存在する場合は、全ての手書きデータが、対応する各データ入力領域に反映される。具体的には、データ反映部7は、記入領域に対応するデータ入力領域に、テキストデータ、アノテーション、またはテキスト画像等を入力(反映)する。以下、文書フォーマットのデータ入力領域に手書きデータが反映されたデータを、「反映データ」と称す。
文字認識データ処理装置20の上記各部の構成により、ユーザが選択した電子データ(例えば帳票データ)において、帳票データ上の所定の記入欄に、ユーザが紙(帳票)の記入欄に手書きした文字等がデータとして反映(記入)される。
(ペン型装置30の構成)
図3は、ペン型装置30の概略構成を示すブロック図である。ペン型装置30は、従来周知の電子ペンを適用することができる。ここでは、電子ペンの一構成例について説明する。
制御部301は、CPU、ROM、RAMを備えたマイクロコンピュータを有しており、ペン型装置30の各部を制御する。芯309は、紙に追記を行う追記手段の一例である。芯309は、インクを有しており、先端から紙へインクを供給する。圧力センサ310は、芯309の末端に接触するように配置されている。芯309が紙文書に接触すると、芯309の末端から圧力センサ310に力が加わる。圧力センサ310は、力が加わったことを検知すると、力が加わったことを示す信号を制御部301へ出力する。
発光部302は、赤外光を照射する発光ダイオードを有しており、赤外光を紙文書の表面に照射する。発光部302は、制御部301に接続されており、制御部301により赤外の照射/非照射が制御される。
画像取得部303は、CMOS(Complementary Metal Oxide Semiconductor Image Sensor)イメージセンサと、発光部302から照射されて紙文書の表面で反射した光をCMOSイメージセンサに案内するレンズとを備えている。CMOSイメージセンサは、芯309の先端付近で反射されレンズで案内された赤外光を電気信号に変換し、紙文書の表面の画像を表す信号を画像処理部304へ出力する。
画像処理部304は、画像取得部303から出力された信号が表す画像に画像処理を施し、画像処理が施された画像からコード画像を検出する。また、画像処理部304は、検出したコード画像を表すデジタルデータを、データ処理部305へ出力する。
ここで、画像取得部303と画像処理部304とにより、記録媒体からコード画像を取得するため、画像取得部303と画像処理部304は、記録媒体に形成されているコード画像を取得する画像取得手段ということができる。
データ処理部305は、コード画像をデコードするデコード手段の一例である。データ処理部305は、画像処理部304から出力されたデジタルデータが表すコード画像についてデコード処理を行い、該コード画像に含まれているページID及び位置情報を取得する。また、データ処理部305は、制御部301に接続されており、取得したページID及び位置情報を制御部301へ出力する。
通信部306は制御部301に接続されている。通信部306は、無線により文字認識データ処理装置20と通信を行い、制御部301から出力された情報を文字認識データ処理装置20へ送信する。なお、通信部306は、ネットワーク50を介して文字認識データ処理装置20と通信を行い、上記情報を文字認識データ処理装置20へ送信してもよい。また、通信部306は、USBの規格に準拠したコネクタを備えており、このコネクタを介して文字認識データ処理装置20と通信を行い、上記情報を文字認識データ処理装置20へ送信してもよい。
不揮発性メモリ307は、制御部301に接続されており、制御部301からアクセスされる。不揮発性メモリ307は、制御部301から送られるページID及び位置情報を、ペン型装置30で追記された線を示す情報(ストローク情報)として記憶する。
電源部308は、二次電池を有しており、ペン型装置30の各部に電力を供給する。
(文字認識データ処理装置20の各部の具体的構成)
入力領域検出取得部4の具体的な構成について説明する。入力領域検出取得部4は、文書フォーマット(電子データ)を構成している情報に基づいてデータ入力領域を検出する。以下、例を挙げて説明する。
図4は、文書フォーマットがイメージデータである場合を示している。図4の(a)は文書フォーマットを示し、(b)は検出されたデータ入力領域を示している。入力領域検出取得部4は、文書フォーマットのイメージデータ(図4の(a))において罫線で閉じられた1個の領域(周囲が囲まれた領域)を1個のデータ入力領域として検出する。図4の(b)に示すように、8個のデータ入力領域(点線で囲まれた領域)が検出されている。図5は、文書フォーマットがエクセルデータ等のスプレッドシートである場合を示している。図5の(a)は文書フォーマットを示し、(b)は検出されたデータ入力領域を示している。入力領域検出取得部4は、文書フォーマットのスプレッドシートにおいて1個のセルを1個のデータ入力領域として検出する。図5の(b)に示すように、17個のデータ入力領域(点線で囲まれた領域)が検出されている。図6は、文書フォーマットがワードデータ等のOffice文書である場合を示している。図6の(a)は文書フォーマットを示し、(b)は検出されたデータ入力領域を示している。入力領域検出取得部4は、文書フォーマットのOffice文書において1個のテキストボックスを1個のデータ入力領域として検出する。図6の(b)に示すように、7個のデータ入力領域(点線で囲まれた領域)が検出されている。
入力領域検出取得部4は、文書フォーマット上のテキストデータに基づいてデータ入力領域を検出してもよい。具体的には、文書フォーマット上の特定の文字、例えば「年」、「月」、「日」、「時」、「分」の前側をデータ入力領域として検出する。また、「/」(スラッシュ)の両側、「:」(コロン)の両側、「( )」(括弧)の内側をデータ入力領域として検出する。データ入力領域とすべき領域が罫線で囲まれておらず1個のデータ入力領域の範囲が定まらない場合は、データ入力領域の範囲を、周辺の罫線・文字・スペースなど文書フォーマットを構成している情報を使用して定義付けしてもよい。例えば、データ入力領域の幅を「文字から文字まで」と定義し、高さを「文字の2倍程度」と定義する。これにより、1個のデータ入力領域の範囲が定まる。また、データ入力領域に入力されるデータの属性を、文書フォーマット上に存在するその他の文字情報を使用して定義付けしてもよい。例えば「年」、「月」、「日」、「時」、「分」の前側のデータ入力領域に入力されるデータを「数字」と定義する。
また、入力領域検出取得部4は、ユーザにより予め設定された定義情報に従って、データ入力領域を検出してもよい。具体的には、文書フォーマット上の特定の文字をユーザが予め定義し、この定義情報に従ってデータ入力領域を検出する。例えば、ユーザが、「○(丸囲み)の中」や「→(矢印)の前後」等を、データ入力領域として検出するように予め定義する。
なお、入力領域検出取得部4は、文書フォーマットを構成している情報と、ユーザにより予め設定された定義情報との双方に従って、前記データ入力領域を検出する構成とすることができることは言うまでもない。
図7は、データ入力領域とすべき領域が罫線で囲まれていない場合の文書フォーマットを示している。図7の(a)は文書フォーマットを示し、(b)は検出されたデータ入力領域を示している。図7の(b)に示すように、11個のデータ入力領域(点線で囲まれた領域)が検出されている。
入力領域検出取得部4は、検出したデータ入力領域に対応するデータ入力領域情報を入力領域記憶部1へ送信する。図8は、図7に対応するデータ入力領域情報を示すテーブルである。図8の(a)に示すように、各データ入力領域には入力領域ID(1,2,3,…,11)が付され、図8の(b)に示すテーブルにおいて、入力領域ID毎に、「位置」、「サイズ」及び「テキスト入力の可否(○または×)」の情報が対応付けられる。ユーザが予め定義付けしたデータの属性情報を「文字認識設定」項目として対応付けてもよい。入力領域記憶部1には、図8の(b)に示すテーブルが記憶される。なお、入力領域記憶部1には、文書フォーマットに含まれる複数のデータ入力領域の集合であるデータ入力領域群と、該文書フォーマットのページIDとが対応付けられている。例えば、データ入力領域(1)〜(11)を含むデータ入力領域群を「I」、文書フォーマットのページIDを「A」とした場合、データ入力領域群「I」とページID「A」とが対応付けられている。
入力領域検出取得部4は、ユーザが選択した文書フォーマットに対応するデータ入力領域情報を示すテーブルが入力領域記憶部1に記憶されていた場合は、入力領域記憶部1から当該データ入力領域情報を取得する。具体的には、入力領域検出取得部4は、元となる電子文書(文書フォーマット)を一意に特定するIDに基づき、対応するテーブルを参照して当該データ入力領域情報を取得する。例えば、現在作業中のページIDが「A」であった場合は、入力領域検出取得部4は、ページID「A」に対応するテーブル(例えば図8の(b))を参照してデータ入力領域情報を取得する。
記入領域生成部5の具体的な構成について説明する。記入領域生成部5は、入力領域検出取得部4が検出または取得したデータ入力領域情報に基づき、記入領域を生成する。以下、例を挙げて説明する。図9の(a)は、図8の(a)に示すデータ入力領域を示し、図9の(b)は生成された記入領域を示している。具体的には、記入領域生成部5は、図9の(a)に示すデータ入力領域を、元の電子文書の座標系から、出力(印刷)される媒体(例えば紙)の座標系に座標変換して、図9の(c)に示すテーブルを生成する。図9の(c)に示すテーブルにおいて、各記入領域ID(a,b,c,…,k)は、図8の(b)に示すデータ入力領域情報を示すテーブルの各入力領域ID(1,2,3,…,11)に対応している。例えば、記入領域ID「a」に対応する入力領域ID「1」の「セルA2」は、「100,0」に座標変換され、記入領域ID「b」に対応する入力領域ID「2」の「セルA4」は、「200,0」に座標変換される。これにより、1個の文書フォーマット内において、各データ入力領域と各記入領域とが対応付けられる。記入領域生成部5は、生成した記入領域に対応する記入領域情報を記入領域記憶部2へ送信する。記入領域記憶部2には、図9の(c)に示すテーブルが記憶される。なお、記入領域記憶部2には、複数の記入領域の集合である記入領域群と、該文書フォーマットのページIDとが対応付けられている。例えば、記入領域(a)〜(k)を含む記入領域群を「X」、文書フォーマットのページIDを「A」とした場合、記入領域群「X」とページID「A」とが対応付けられている。
入力領域検出取得部4及び記入領域生成部5の構成によれば、生成されたデータ入力領域情報及び記入領域情報は互いに対応付けられて記憶部11に記憶される。そのため、文書フォーマットに対応するデータ入力領域情報が入力領域記憶部1に記憶されている場合は、該文書フォーマットに対応する記入領域情報が、該データ入力領域情報と対応付けられて記入領域記憶部2に記憶されていることになる。
また、記入領域生成部5は、文書フォーマットに対応する記入領域情報が記入領域記憶部2に記憶されていた場合は、記入領域を生成する処理を行わない。記入領域生成部5は、記入領域記憶部2内の記入領域情報の有無を、例えばページIDにより判定する。
記入領域取得部9は、手書きデータ情報受信部10が取得したページIDに対応する記入領域情報を記入領域記憶部2から取得する。例えば、記入領域取得部9は、ページID「A」に対応するテーブル(図9の(c)参照)を取得する。
文字認識部8は、ユーザによりペン型装置30で紙文書(媒体)に追記された線(ストローク)を、テキストデータとして認識する。
データ反映部7は、文字認識部8が文字認識した手書きデータ(追記情報)を、記入領域に予め対応付けられているデータ入力領域に反映させる。データ反映部7は、図10に示すように、元の文書フォーマットがOffice文書等であって、データ入力領域がテキスト入力機能を有する場合は、テキストデータをデータ入力領域に入力する。また、データ反映部7は、図11に示すように、元の文書フォーマットがpdf形式や画像データ等であって、データ入力領域がテキスト入力機能を有していない場合は、記入領域の位置・サイズに基づき、アノテーションを重畳またはテキスト画像を貼り付ける。
文字認識データ処理装置20は、データ入力領域と記入領域とを対応付ける領域定義処理と、手書き文字(追記情報)をデータ入力領域に反映させる文字反映処理とを実行する。領域定義処理は、操作受付部3、入力領域検出取得部4、記入領域生成部5、出力部6により実行される。文字反映処理は、データ反映部7、文字認識部8、記入領域取得部9、手書きデータ情報受信部10により実行される。なお、領域定義処理及び文字反映処理を行う各部の機能は、各手段として記憶部11に記憶されたプログラムを制御部(図示せず)が実行することにより実現される。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ
、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信手段を介して提供することもできる。以下では、各処理についてフローチャートを用いて説明する。
(領域定義処理)
図12は、領域定義処理の内容を示すフローチャートである。
最初に、操作受付部3がユーザの操作(文書フォーマットの選択操作)を受け付ける(ステップS1)。ここでは、ユーザが、エクセル形式の帳票データDAを選択したものとする。
次に、入力領域検出取得部4は、帳票データDAに対応するデータ入力領域情報(例えば図8の(b)に示すテーブル)が入力領域記憶部1に記憶されているか否かを、ページIDに基づき判定する(ステップS2)。帳票データDAに対応するデータ入力領域情報が入力領域記憶部1に記憶されている場合は(ステップS2にてYES)、入力領域検出取得部4は、当該データ入力領域情報を入力領域記憶部1から取得する(ステップS3)。
一方、帳票データDAに対応するデータ入力領域情報が入力領域記憶部1に記憶されていない場合は(ステップS2にてNO)、入力領域検出取得部4は、帳票データDAからデータ入力領域を検出し(ステップS4)、検出したデータ入力領域に対応するデータ入力領域情報を入力領域記憶部1へ送信する(ステップS5)。
なお、データ入力領域情報が入力領域記憶部1に記憶されている場合(ステップS2にてYES)でも、新たにデータ入力領域が追加・削除・編集された場合は、新たに検出処理を行う。この場合の検出処理は、入力領域記憶部1に記憶されているデータ入力領域情報に対応する電子データと、追加・削除・編集後のデータ入力領域情報に対応する電子データとの差分を検出すればよい。
ステップS3にてデータ入力領域情報が入力領域記憶部1から取得されると、記入領域生成部5は、記入領域記憶部2に記憶されている、帳票データDAの記入領域に対応する記入領域情報(例えば図9の(c)に示すテーブル)を取得する(ステップS6)。
一方、ステップS4及びS5にてデータ入力領域が検出され、対応するデータ入力領域情報が入力領域記憶部1へ送信されると、記入領域生成部5は、検出されたデータ入力領域情報に基づき、帳票データDAの記入領域を生成する(ステップS7)。そして、記入領域生成部5は、生成した帳票データDAの記入領域に対応する記入領域情報を記入領域記憶部2へ送信する(ステップS8)。
(文字反映処理)
図13は、文字反映処理の内容を示すフローチャートである。
最初に、手書きデータ情報受信部10は、ユーザが紙に手書きした文字αを含む手書きデータ情報(追記情報)をペン型装置30から受信する(ステップS11)。
次に、記入領域取得部9は、手書きデータ情報受信部10から、手書きデータ情報に含まれる帳票データDAに対応するページIDを受け取り、記入領域記憶部2から、該ページIDに対応する帳票データDAに対応する記入領域情報(例えば図9の(c)に示すテーブル)を取得する(ステップS12)。
次に、文字認識部8は、紙上の手書きデータの文字認識処理を行う(ステップS13)。最後に、データ反映部7は、文字認識部8が文字認識した手書きデータを、記入領域に予め対応付けられているデータ入力領域に反映させる(ステップS14)。
以上の説明では、文字認識データ処理装置20は、電子ペンとしての機能を有するペン型装置30からストローク情報を取得する構成について説明したが、本実施の形態に係る文字認識データ処理装置20は、これに限定されない。例えば、文字認識データ処理装置20の手書きデータ情報受信部10がスキャン機能を有していてもよい。この場合、ペン型装置30を通常の筆記具とし、画像形成装置40から出力された普通紙にユーザが手書きし、これを手書きデータ情報受信部10がスキャン機能で読み取ることにより、手書きデータ情報(追記情報)をスキャン画像として取得する。そして、文字認識データ処理装置20は、スキャン画像に対して周知の画像処理を行うことにより手書き文字を認識し、認識した手書き文字を、記入領域に予め対応付けられているデータ入力領域に反映させる。
〔実施の形態2〕
本発明の他の実施の形態について、図面を用いて以下に説明する。なお、説明の便宜上、実施の形態1において示した部材と同一の機能を有する部材には同一の符号を付し、その説明を省略する。また、実施の形態1において定義した用語については特に断らない限り本実施の形態においてもその定義に則って用いるものとする。
図1には、本発明の実施の形態2に係る文字認識データ処理システム110の概略構成を示している。文字認識データ処理システム110は、文字認識データ処理装置21と、ペン型装置30と、画像形成装置40とを含んでいる。図14は、文字認識データ処理装置21の概略構成を示すブロック図である。図21に示すように、文字認識データ処理装置21は、実施の形態1に係る文字認識データ処理装置20に、入力領域編集部12及び補正値算出部13が追加されている。
入力領域編集部12は、入力領域検出取得部4により自動的に検出または取得されたデータ入力領域の他に、ユーザの操作により選択された領域をデータ入力領域として追加または削除する。また、入力領域編集部12は、データ入力領域に対してユーザが設定した文字認識に関する設定情報(文字、数字等)、データ処理に関する設定情報(計算式、マクロ処理等)に基づき、データ入力領域を編集する。図15の(a)は、入力領域検出取得部4により自動的に検出または取得されたデータ入力領域(点線で囲まれた領域)を示し、図15の(b)は、ユーザにより選択され追加されたデータ入力領域(太点線で囲まれた領域)を示している。また、図15の(b)では、ユーザにより選択されたデータ入力領域(「名前」、「住所」、「メモ」欄)が削除されている。図16の(a)は、入力領域検出取得部4により自動的に検出または取得されたデータ入力領域(点線で囲まれた領域)を示し、図16の(b)は、図15の(b)においてユーザにより文字認識に関する設定(「数字」、「曜日」、「氏名」、「住所」)が行われた状態を示している。入力領域編集部12は、追加、削除したデータ入力領域に対応するデータ入力領域情報を、入力領域検出取得部4を介して入力領域記憶部1へ送信する。
補正値算出部13は、「倍率」、「回転」、「位置」等の項目の出力設定が変更された場合や、電子データ上の座標と手書きを行う紙文書上での座標に変換誤差が生じる場合に、検出または取得されたデータ入力領域に対する補正値を算出する。具体的には、補正値算出部13は、手書きを行う出力文書に形式(「倍率」、「回転」、「位置」等)が対応している出力用比較データを生成し、文書フォーマットと出力用比較データとを比較して、倍率、回転、位置の誤差を検出する。そして、検出された誤差に基づいて補正値を算出する。なお、出力用比較データは、出力(印刷)される紙文書と外観上同じ形式を示すものであるが、実際には出力されない比較用のデータであり、文書フォーマットを出力用に座標変換することにより生成される。
記入領域生成部5は、入力領域検出取得部4により検出または取得されたデータ入力領域と、入力領域編集部12により追加等されたデータ入力領域とを、補正値算出部13により算出された補正値を用いて補正し、記入領域を生成する。記入領域生成部5は、生成した記入領域に対応する記入領域情報を記入領域記憶部2へ送信する。また、記入領域生成部5は、後述するデータ入力領域群、記入領域群、及び出力設定が対応付けられた情報を記憶部11へ送信する。
補正値算出部13及び記入領域生成部5の具体的な構成について説明する。図17の(a)及び図18の(a)は、エクセル形式の文書フォーマットを示し、図17の(b)及び図18の(b)は、この文書フォーマットに対応する出力用比較データを示している。なお、図17の(b)は、ユーザによる出力設定の変更がなされていない場合、すなわち、倍率:100%、回転:変更なし、位置:変更なし、の場合を示しており、図18の(b)は、ユーザによる出力設定の変更がなされた場合、すなわち、倍率:115%、回転:変更なし、位置:水平・垂直中央合わせ、の場合を示している。
図17の(a)及び図18の(a)では、左上端部の座標が(0,0)であり右下端部の座標が(800,300)の場合を示している。これに対して、図17の(b)では、出力設定に変更がないにもかかわらず出力用比較データへの座標変換により、左上端部の座標が(0,0)、右下端部の座標が(790,295)となっている。すなわち、右下端部の座標に変換誤差が生じている。この場合、補正値算出部13は、座標位置及びサイズの補正値を算出し、位置補正値を(0,0)、サイズ補正値を(0.985,0.97)に設定する。図18の(b)では、ユーザにより出力設定が変更(倍率:115%、回転:変更なし、位置:水平・垂直中央合わせ)された結果、出力用比較データへの座標変換により、左上端部の座標が(20,350)、右下端部の座標が(860,650)となっている。この場合、補正値算出部13は、座標位置及びサイズの補正値を算出し、位置補正値を(20,350)、サイズ補正値を(1.105,1.08)に設定する
記入領域生成部5は、入力領域検出取得部4により検出または取得されたデータ入力領域と、入力領域編集部12により追加等されたデータ入力領域とを、補正値算出部13により算出された補正値を用いて補正し、記入領域を生成する。図19の(a)は入力領域編集部12による編集後のデータ入力領域(点線で囲まれた領域)を示し、(b)はデータ入力領域に対応するデータ入力領域情報を示すテーブルを示している。図20の(a)は、図19の(b)に示すデータ入力領域情報に基づき生成された記入領域に対応する記入領域情報を示すテーブル(補正前テーブル)である。図20の(b)は、補正値算出部13により算出された補正値を用いて図20の(a)に示す記入領域情報(補正前テーブル)を補正した場合のテーブル(補正後テーブル)である。ここでは、記入領域生成部5は、各記入領域の「位置」及び「サイズ」を、位置補正値(+20,+350)及びサイズ補正値(×1.105,×1.08)に基づき補正する。記入領域生成部5は、図20の(b)に示す補正後の記入領域情報(補正後テーブル)を記入領域記憶部2へ送信する。
図21の(a)は、補正前の記入領域情報(補正前テーブル)に対応する記入領域を示し、(b)は、補正後の記入領域情報(補正後テーブル)に対応する記入領域を示している。図21の(b)に示すように、記入領域は、ユーザの出力設定に応じて適切に出力文書上に対応付けられる。
なお、記入領域生成部5は、図20の(a)に示す補正前テーブルを介さず、図19の(b)に示すデータ入力領域情報に基づき直接、図20の(b)に示す補正後テーブルを生成してもよい。
また、記入領域生成部5は、記入領域情報としてさらに、出力設定、データ入力領域群、及び記入領域群が対応付けられた出力設定テーブルを記憶部11へ送信する。データ入力領域群は、文書フォーマットに含まれる複数のデータ入力領域の集合であり、記入領域群は、複数の記入領域の集合である。図22には、出力設定テーブルの一例を示している。例えば、ページID「A」において、出力設定が「倍率:115%、回転:変更なし、位置:水平・垂直中央合わせ」の場合、データ入力領域群「I」と記入領域群「Z」が対応付けられている。ここでは、データ入力領域群「I」は、図19に示すデータ入力領域(1)〜(11)を含み、記入領域群「Z」は、図20に示す記入領域(a)〜(k)を含んでいる。図22の出力設定テーブルに示すように、同一のデータ入力領域群(つまり、手書き対象領域が同一)であっても、出力設定が互いに異なる場合は、それぞれの出力設定に対応した記入領域群が対応付けられる。このように、記憶部11には、図22に示す出力設定テーブルにおける対応関係が記憶されており、この出力設定テーブルにおいて、データ入力領域情報を示すテーブルと、記入領域情報を示すテーブル(補正後テーブル)とが対応付けられている。
また、記入領域生成部5は、文書フォーマットに対応する記入領域情報が記入領域記憶部2に記憶されていた場合は、記入領域を生成する処理を行わない。記入領域生成部5は、記入領域記憶部2内の補正後テーブルの有無を、例えばページIDにより判定する。
文字認識データ処理装置21は、実施の形態1に係る文字認識データ処理装置20と同様、領域定義処理と文字反映処理とを実行する。文字認識データ処理装置21では、領域定義処理は、操作受付部3、入力領域検出取得部4、入力領域編集部12、補正値算出部13、記入領域生成部5、出力部6により実行される。文字反映処理は、データ反映部7、文字認識部8、記入領域取得部9、手書きデータ情報受信部10により実行される。以下では、各処理についてフローチャートを用いて説明する。なお、実施の形態1に係る文字認識データ処理装置20の処理と重複する部分は省略する。
(領域定義処理)
図23は、領域定義処理の内容を示すフローチャートである。
最初に、操作受付部3がユーザの操作(文書フォーマットの選択操作)を受け付ける(ステップS21)。ここでは、ユーザが、エクセル形式の帳票データDAを選択したものとする。
次に、入力領域検出取得部4は、帳票データDAに対応するデータ入力領域情報(例えば図19の(b)に示すテーブル)が入力領域記憶部1に記憶されているか否かを、ページIDに基づき判定する(ステップS22)。なお、入力領域記憶部1に記憶されているデータ入力領域情報は、ユーザの操作により、データ入力領域が追加または削除された情報、文字認識に関する設定情報やデータ処理に関する設定情報に基づきデータ入力領域が編集された情報である。以下では、データ入力領域が編集された情報を、編集済データ入力領域情報と称す。
帳票データDAに対応する編集済データ入力領域情報が入力領域記憶部1に記憶されている場合は(ステップS22にてYES)、入力領域検出取得部4は、当該編集済データ入力領域情報を入力領域記憶部1から取得する(ステップS23)。
一方、帳票データDAに対応する編集済データ入力領域情報が入力領域記憶部1に記憶されていない場合は(ステップS22にてNO)、入力領域検出取得部4は、帳票データDAからデータ入力領域を検出する(ステップS24)。次に、入力領域編集部12は、入力領域検出取得部4が検出したデータ入力領域をユーザの操作に基づき編集し(ステップS25)、編集済データ入力領域情報を入力領域記憶部1へ送信する(ステップS26)。
なお、編集済データ入力領域情報が入力領域記憶部1に記憶されている場合(ステップS22にてYES)でも、新たにデータ入力領域が追加・削除・編集された場合は、新たに検出処理行う。この場合の検出処理は、入力領域記憶部1に記憶されている編集済データ入力領域情報に対応する電子データと、追加・削除・編集後のデータ入力領域情報に対応する電子データとの差分を検出すればよい。
ステップS23にて編集済データ入力領域情報が入力領域記憶部1から取得されると、記入領域生成部5は、記入領域記憶部2に記憶されている、帳票データDAの記入領域に対応する記入領域情報(例えば図20の(c)に示すテーブル)を取得する(ステップS27)。記入領域記憶部2に記憶されている記入領域情報は、ユーザにより設定された出力設定情報に基づき記入領域が補正された情報である。以下では、記入領域が補正された情報を、補正済記入領域情報と称す。
一方、ステップS24〜S26にてデータ入力領域が検出され、編集された編集済データ入力領域情報が入力領域記憶部1へ送信されると、記入領域生成部5は、編集済データ入力領域情報に基づき、帳票データDAの補正済記入領域を生成する(ステップS28)。そして、記入領域生成部5は、生成した帳票データDAの記入領域に対応する補正済記入領域情報を記入領域記憶部2へ送信する(ステップS29)。
(文字反映処理)
文字反映処理は、記入領域取得部9が、記入領域記憶部2からページIDに対応する帳票データDAに対応する補正済記入領域情報(補正後テーブル)を取得する処理以外の処理は、実施の形態1に係る文字認識データ処理装置20の処理(図13参照)と同一である。
上記構成によれば、ユーザは、手書きを行う文書の元となる電子データ(文書フォーマット)を指定し、出力(印刷)された文書(紙媒体)に手書きするだけで、手書きデータの認識結果が反映された電子データ(反映データ)が生成される。図24には、元の電子データが指定されてから反映データが生成されるまでの流れを模式的に示している。なお、図24の(b)では、ユーザにより複数パターンの出力設定(倍率、回転、位置)が行われた場合の出力文書を示している。また、上記構成によれば、記入領域に罫線がない場合や、記入領域にデータを差し込んで文書上に出力する場合でも、出力設定(倍率、回転、位置合わせ)に応じて電子データ(反映データ)が生成される。図25の(a)には、罫線がない記入領域に日付情報(追加領域)を追加した状態を示し、図25の(b)には、ユーザにより複数パターンの出力設定(倍率、回転、位置)が行われた場合の記入領域のイメージを示している。