文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラム
【課題】チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りを文字認識装置によりチェックする。
【解決手段】本発明の文字認識装置3は、二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された帳票のイメージを入力する帳票イメージ入力部28と、入力された帳票のイメージを基に文字認識を行う文字認識処理部30と、文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部33と、生成された第1及び第2の誤りチェック情報を照合して文字認識結果の誤りをチェックする文字認識結果検証部34と、をソフトウェアにより実現する。
【解決手段】本発明の文字認識装置3は、二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された帳票のイメージを入力する帳票イメージ入力部28と、入力された帳票のイメージを基に文字認識を行う文字認識処理部30と、文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部33と、生成された第1及び第2の誤りチェック情報を照合して文字認識結果の誤りをチェックする文字認識結果検証部34と、をソフトウェアにより実現する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票などの用紙に対し印字又は印字した文字の文字認識を行うための装置やプログラムに関する。
【背景技術】
【0002】
従来、光学的文字読取装置による文字認識処理の誤りのチェックには、例えば文字認識対象の文字列中に1桁あるいは複数桁追加して印字される、いわゆるチェックデジットなどが利用されている(例えば、特許文献1参照)。
【0003】
このチェックデジットは、文字認識対象とされる例えば数字列の各桁の数値などを基に一定の規則に従った演算を行うことで得られる答えである。したがって、文字認識された上記数字列の各数値を基に得られた演算結果とチェックデジットとの一致/不一致を確認することで、文字認識結果の誤りの有無を検証することができる。
【特許文献1】特開平7−246764号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記した従来のチェック方法は、チェックデジットとして機能する文字を文字列中に1桁以上追加する必要があるため、チェックデジットを含めることを前提としないコード体系の文字列(例えば日付などを表わす文字列)が対象となる場合や、データ処理系の制約で文字列の桁数を増加できない場合などにおいて課題を抱えている。
【0005】
そこで本発明は、上記課題を解決するためになされたもので、チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りをチェックすることができる文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明に係る文字認識装置は、少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部と、前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部と、を具備することを特徴とする。
【0007】
本発明では、文字認識の行われた各文字の例えば文字コードごとに予め対応付けられている数値などから得られる第1の誤り検証情報と、文字認識の行われた文字列中の例えば複数の所定の文字の印字態様ごとに予め対応付けられている数値などから得られる第2の誤り検証情報とに基づいて、文字認識結果の検証を行うので、チェックデジットを埋め込むための専用の桁を文字列中に設ける(追加する)ことなしに、文字認識結果の誤りをチェックすることができる。
【0008】
ここで、上述した印字態様の種別は、印字された文字の例えば高さ方向の位置ずれ、文字列のピッチ方向の位置ずれ、文字の印字色や印字濃度、文字の書体(文字フォント)などによって判別される。
【0009】
また、本発明の印字装置は、用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部と、を具備することを特徴とする。
【発明の効果】
【0010】
本発明によれば、チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りをチェックすることができる文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラムを提供することが可能である。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施するための最良の形態を図面に基づき説明する。
[第1の実施の形態]
図1は、本発明の第1の実施形態に係る文字処理システム1のハードウェアの構成を示すブロック図である。また、図2は、この文字処理システム1の備える印字装置2がソフトウェアで実現する構成部分を機能的に示すブロック図である。さらに、図3は、図1の文字処理システム1が備える文字認識装置3がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図4は、帳票35上の文字配列基準線35dから所定の文字の印字位置を高さ方向にずらした文字列36aを利用する文字認識結果の誤りチェックについて説明するための図である。
【0012】
すなわち、図1及び図4に示すように、この実施形態の文字処理システム1は、インタフェース21を介してイメージスキャナ22が接続された文字認識装置3と、印字装置2とから構成される。イメージスキャナ22は、文字列36aが印字された用紙としての帳票35の紙面上のイメージ(画像)を光学的に読み取り、読み取った帳票イメージ(帳票35のイメージデータ)を出力する。
【0013】
印字装置2は、図1に示すように、CPU5、表示部6、入力操作部10、外部記憶装置9、メインメモリ7、印字ヘッド駆動部11、印字ヘッド12を備える。表示部6は、CRTモニタや液晶ディスプレイなどにより構成されており、ユーザに対し各種情報を可視的に表示する。入力操作部10は、マウスやタブレットなどのポインティングデバイスやキーボードなどによって構成されており、印字装置本体に対し各種の指示を与えるための入力装置である。印字ヘッド駆動部11は、印字ヘッド12を駆動するためのドライバ回路である。
【0014】
また、印字装置2は、いわゆるカラープリンタであって、赤色、青色、緑色などの色彩の異なる複数の印字色の中から選択した印字色で印字を行うことが可能である。さらに、印字装置2は、印字濃度の設定機能を有し、例えば256階調(8ビット)や65536階調(16ビット)のグレースケールで黒色(灰色)の印字文字の濃度を表現する。また、印字装置2が備えるHDDなどの外部記憶装置9には、オペレーティングシステムや、後に詳述する印字プログラム8のプログラム本体が予めインストールされている。
【0015】
一方、文字認識装置3は、図1に示すように、CPU15、入力操作部20、外部記憶装置19、表示部16、メインメモリ17を備える。表示部16は、ユーザに対し各種情報を可視的に表示するためのデバイスであって、CRTモニタや液晶ディスプレイなどにより構成されている。入力操作部20は、文字認識装置本体に対して各種の指示を入力するための構成部分であり、ポインティングデバイスやキーボードなどによって実現されている。また、HDDなどが適用された外部記憶装置19には、オペレーティングシステムや、後述する文字認識プログラム18のプログラム本体が予めインストールされている。
【0016】
ここで、文字認識プログラム18について説明する。図1及び図3に示すように、メインメモリ17上で実行されるこの文字認識プログラム18は、外部記憶装置19やCPU15と協働しつつ、印字位置判別部32を有するチェック情報生成部33、帳票イメージ入力部28、文字認識処理部30、文字認識結果検証部34、辞書29及び演算規則定義部31をソフトウェアとして実現する。なお、上述した帳票イメージ入力部28、文字認識処理部30、チェック情報生成部33、文字認識結果検証部34は、各種の電子部品を組み合わせて構成したハードウェアにより実現されるものであってもよい。
【0017】
帳票イメージ入力部28は、図3及び図4に示すように、イメージスキャナ22で読み取られた帳票35のイメージの入力を行う(入力を受け付ける)。また、このように紙面上のイメージが入力される帳票35には、図4に示すように、少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列36aが印字されている。文字認識処理部30は、帳票イメージ入力部28に入力された帳票イメージを基に文字認識を行う。つまり、文字認識処理部30は、帳票イメージ中の文字列36aを一文字ごとのイメージとして切り出し(文字抽出処理を行い)、切り出した一文字ごとの文字イメージ(文字画像)の文字認識を行う。
【0018】
辞書29は、例えば外部記憶装置19などにデータベースとして構築されており、上記の文字認識を行う際に文字認識処理部30により参照される。また、辞書29内には、複数の文字イメージと複数の文字コード(character code)とが互いの対応関係を表す情報と共に記憶されている。すなわち、文字認識処理部30は、上記文字列36a中から切り出した一文字ごとの文字イメージと辞書29内の文字イメージとのマッチングを複合類似度法や部分空間法などを用いて行い、辞書29内の一致した文字イメージに対応する文字コードを文字認識結果として出力する。詳細には、文字認識処理部30は、文字列36aを構成する各文字の文字コード(文字コードデータ)を、文字ごとの並び位置(配列順序)を表す情報と対応付けてチェック情報生成部33側に出力する。
【0019】
チェック情報生成部33は、文字認識処理部30により文字認識された文字列36aの各文字の文字コードを基に得られる第1の誤りチェック情報と文字認識処理部30により文字認識された文字列36a中の所定の文字ごとの印字態様を基に得られる第2の誤りチェック情報とを生成する。演算規則定義部31は、上記した一対の誤りチェック情報を生成する際にチェック情報生成部33によって参照される。
【0020】
詳述すると、演算規則定義部31には、まず、第1の誤りチェック情報を得るために、複数の文字コードとこれらの文字コードごとに対応付けられる数値との対応関係を示す情報が記憶されている。つまり、演算規則定義部31では、文字(数字)の『0』を示す文字コード(例えばSJIS:0x824f)と数値『0』とが対応付けられ、また、文字の『1』を示す文字コード(例えばSJIS:0x8250)と数値『1』とが対応付けられている。さらに、演算規則定義部31では、同様に、文字の『2』、『3』…『9』を示す文字コードと数値『2』、『3』…『9』とがそれぞれ対応付けられている。
【0021】
また、演算規則定義部31は、文字列36aを構成する各桁の文字の文字コードに対応付けられた各桁の数値を加算し、この合計値を『10』で除算したときの余り(1桁の整数)を第1の誤りチェック情報として生成するための第1の演算規則を記憶している。したがって、冗長データとして得られる第1の誤りチェック情報は、『0』〜『9』の1桁の10進数で表される。本実施形態では、図4に示すように、『345678』の6桁の文字列36aが例示されている。ここで、チェック情報生成部33は、文字認識された文字列36a中の各文字の文字コードごとに予め対応付けられている数値から第1の演算規則に従って求めた演算結果を第1の誤りチェック情報として生成する。すなわち、チェック情報生成部33は、演算規則定義部31を参照しつつ、『3+4+5+6+7+8=33』を『10』で割った演算結果である余り『3』を第1の誤りチェック情報として生成(算出)する。このようにして算出された第1の誤りチェック情報は、冗長データとして一時的にメインメモリ17に記憶される。
【0022】
なお、本実施形態においては、文字列36aとして数字列を例示しているが、数字と英字が混在する文字列や英字のみで構成される文字列から、上記の第1の誤りチェック情報を生成できるようにしてもよい。つまり例えば、英字(アルファベット)の『A』、『B』、『C』…を示す文字コード(例えばSJIS:0x8260,0x8261,0x8262,…)と数値『11』、『12』、『13』…などとを対応付けて演算規則定義部31に記憶させておくことで、英字を含む文字列から第1の誤りチェック情報を得ることができる。また、英字や数字以外の文字を示す文字コードと所定の数値とを対応付けて演算規則定義部31に記憶させておき、英字や数字以外の文字を含む文字列から第1の誤りチェック情報を得るようにしてもよい。これにより、上記した方法で得られる第1の誤りチェック情報と後述する第2の誤りチェック情報とを比較照合することで、様々な種類の文字からなる文字列を対象とした文字認識の誤りチェックを実現できる。
【0023】
また、演算規則定義部31には、第2の誤りチェック情報を得るために、帳票35上に文字列36aとして印字される文字単位の印字態様とこれらの印字態様ごとに対応付けられる数値との対応関係を表す情報が記憶されている。ここで、本実施形態のチェック情報生成部33が有する印字位置判別部32は、図4に示すように、文字列36aを構成する文字の高さ方向(文字列の列なるx軸方向と直交するy軸方向)において、文字配列基準線35dに対し、文字が下ずれ(下寄り)であるか又は上ずれ(上寄り)であるかによって印字態様を判別(特定)する。つまり、演算規則定義部31では、印字態様の『下ずれ』と2進数の属性を付与された数値『0』とが対応付けられ、また印字態様の『上ずれ』と2進数の属性を持つ数値『1』とが対応付けられている。なお、上記した文字コードに対応付けられている数値の『0』、『1』には、10進数の属性が付与されている。
【0024】
また、演算規則定義部31には、文字列36aを構成する複数の文字のうちで、印字態様の検出(判別)を行うべき所定の文字の並び位置(配列位置)が、例えば桁番号などで定義されている。ここで、上述した第1の誤りチェック情報として算出され得る10進数の『0』〜『9』は、4桁の2進数である『0000』〜『1001』により表現することができる。本実施形態では、6桁の文字列36a中の先頭の桁と最後尾(末尾)の桁の文字に挟まれる所定の桁の複数の文字、すなわち、先頭から数えて2桁目〜4桁目の文字の印字態様が検出されるように、例えば桁番号2〜4が演算規則定義部31に記憶されている。また、演算規則定義部31は、文字列36a中の2桁目〜4桁目の文字ごとの印字態様に対応させて、各桁が『0』又は『1』で表される4桁の2進数を求めると共に、この4桁の2進数を10進数に変換した1桁の数値を第2の誤りチェック情報として生成するための第2の演算規則を記憶している。
【0025】
詳述すると、図4に示す例では、6桁の文字列36a中の2桁目〜4桁目の『4567』が印字態様の検出対象となる。ここで、2桁目、3桁目の文字『4』、『5』の印字態様は『下ずれ』であり、4桁目、5桁目の文字『6』、『7』の印字態様は『上ずれ』である。したがって、印字態様の並びは『下下上上』となり、これを4桁の2進数で表わすと「0011」となる。チェック情報生成部33は、文字認識された複数の所定の文字の印字態様ごとに予め対応付けられている数値から第2の演算規則に従って求めた演算結果を第2の誤りチェック情報として生成する。つまり、チェック情報生成部33は、演算規則定義部31を参照しつつ、2桁目〜4桁目の各文字の印字態様から2進数『0011』を求め、これを10進数に変換した演算結果としての『3』を第2の誤りチェック情報37aとして生成(算出)する。このようにして算出された第2の誤りチェック情報37aは、チェックデジットとして一時的にメインメモリ17に記憶される。
【0026】
なお、図4に示す例で文字認識処理部30による文字認識結果に誤り(誤認)があって、例えば文字認識結果が『345078』となった場合、『3+4+5+0+7+8=27』を『10』で除算した余りである第1のチェック情報の数値『7』は、2進数『0011』を10進数に変換して得られる第2のチェック情報としての数値『3』と整合がとれない。これにより、文字認識結果の誤りを検出することが可能となる。
【0027】
ここで、印字態様の『下ずれ』、『上ずれ』を判別するための文字配列基準線35d(文字配列基準位置)の設定方法について、図4に加え、図5及び図6に基づき説明を行う。前記の図5は、帳票35のイメージの端縁35a、35bの位置を基に文字配列基準線35dを設定した例を示すものであり、また、図6は、帳票35上に予め記された文字記入枠のイメージ上の位置を基準に文字配列基準線35dを設定した例を示すものである。
【0028】
印字位置判別部32を有するチェック情報生成部33は、帳票イメージ入力部28により入力された帳票イメージ上において文字列36aのイメージの基準位置となる文字配列基準位置を文字配列基準線35dとして設定すると共に、設定したこの文字配列基準線35dに対する文字イメージの位置ずれを基に印字態様を判別(特定)する。具体的には、チェック情報生成部33は、帳票35のイメージ上の文字の高さ方向における所定位置に文字配列基準線35dを設定すると共に、この文字配列基準線35dに対しての文字イメージの高さ方向の位置ずれを基に印字態様を判別する。
【0029】
また、図4の例では、チェック情報生成部33は、帳票イメージ上で列なる文字列36a中の所定の並び位置にある少なくとも二つ以上の文字イメージの位置を基に文字配列基準線35dを設定する。すなわち、印字位置判別部32は、図4に示すように、文字列36a中の先頭の桁の文字(文字イメージ)『3』の中心位置と最後尾の桁の文字(文字イメージ)『8』の中心位置とを仮想的な座標系において求める。この場合、文字『3』、『8』の例えば外形画像に内接する(外形画像が収まる)矩形の重心位置を文字『3』、『8』の中心位置(中心座標位置)として求める。さらに、印字位置判別部32は、文字『3』及び『8』の二つの中心位置どうしを直線的に通過する上記文字配列基準線35dを形成する。
【0030】
また一方で、印字位置判別部32は、図4に示すように、例えば帳票35のイメージの所定の角部(端縁35a)を共有する二つの辺部のうちの一方の辺部(端縁35b)を基準にx方向の座標軸を求め、前記角部(端縁35a)を共有し上記一方の辺部と直交する他方の辺部(端縁35c)を基準にy方向の座標軸を求め、仮想的なxy座標軸を形成する。
【0031】
さらに、印字位置判別部32は、文字配列基準線35dの直上の座標を文字配列基準位置として認識し、文字(文字イメージ)『4』、『5』のように、文字の中心位置(文字の外形画像に内接する矩形の重心位置)のy座標値が、文字配列基準線35dのy座標値よりも、y軸の負の方向に所定のしきい値以上シフトしている場合、その文字を『下ずれ』の印字態様として判別する。また、印字位置判別部32は、文字(文字イメージ)『6』、『7』のように、文字の中心位置のy座標値が、文字配列基準線35dのy座標値よりも、y軸の正の方向に所定のしきい値以上シフトしている場合、その文字を『上ずれ』の印字態様として判別する。
【0032】
ここで、図4に例示した文字配列基準線35dの設定方法に代えて、図5に示す手法で文字配列基準線35dを求めてもよい。すなわち、印字位置判別部32は、図5に示すように、x方向の座標軸を定めた一方の辺部(端縁35b)を、長さy1分だけy座標値を負の方向にオフセットした位置に文字配列基準線35dを設定するものであってもよい。また、図6に示すように、例えば帳票35上に予め文字記入枠35eが記されている場合、印字位置判別部32は、この文字記入枠35eのx軸方向に延びる一対の辺部から、相対する側の辺部側に各々等しい長さy2分だけy座標値をオフセットした位置(つまり、文字記入枠35eにおけるy軸方向の中心位置)に文字配列基準線35dを設定するものであってもよい。
【0033】
上記の図5、図6に示す例では、文字配列基準線35dを得るために文字の印字位置を利用していないので、文字列を構成する桁数が少ない場合、つまり例えば文字列の全桁数が4桁であっても、この4つの文字ごとの『上ずれ』、『下ずれ』の印字態様から第2の誤りチェック情報を得ることができる。また一方で、図4に示したように、文字列36a中の所定の文字(図4に例では、先頭の桁と末尾の桁の文字)の印字位置に基づいて文字配列基準線(文字配列基準位置)35dを求める場合、帳票35上における印字すべき所定位置に対し、例えば文字列全体の印字位置が多少ずれたとしても、文字列36aを構成する個々の文字どうしの相対的な印字位置の関係が大きく変動しないので、上述した『上ずれ』、『下ずれ』の印字態様の判別精度を実質的に向上させることができる。
【0034】
また、例えば文字列の桁数が多く、文字列中に『−』(ハイフン)が含まれる場合、ハイフンの印字位置を『上ずれ』、『下ずれ』の印字態様を判別するための文字配列基準位置として設定できるようにチェック情報生成部33(印字位置判別部32)を構成してもよい。この場合、文字の高さ方向に対して相対的にハイフンの印字位置をずらすだけで、文字の印字態様を定めることができるので、印字処理が容易になると共に、印字される文字列の視覚的な体裁(外観)を改善しつつ第2のチェック情報(の基礎データ)を文字列中に埋め込むことができる。また、図4〜図6では、文字列が6桁の場合について例示しているが、文字列が6桁を超える場合には、印字態様を判別するための4桁分の文字を除く、二つ以上の全ての桁の文字の中心位置を、文字配列基準線35dを設定するための情報として利用してもよい。これにより、文字配列基準位置(文字配列基準線35d)を、より高い精度で設定することができる。
【0035】
また、図3に示すように、文字認識結果検証部34は、チェック情報生成部33により、冗長データとして生成された第1の誤りチェック情報と、チェックデジットとして生成された第2の誤りチェック情報と、をメインメモリ17から読み出し、これらの第1及び第2の誤りチェック情報に基づいて文字認識処理部30による文字認識結果の誤りの有無(文字認識結果の正当性の有無)を検証する。すなわち、文字認識結果検証部34は、図4に示すように、文字認識処理部30により文字認識された文字列36a中の全ての桁の文字の文字コードを基に得られた第1の誤りチェック情報と、文字認識処理部30により文字認識された文字列36aのうちで予め決められた並び位置にある複数の文字、すなわち2桁目〜4桁目の文字の印字態様(文字の上ずれ/下ずれ)を基に得られた第2の誤りチェック情報と、を比較照合し、互いが一致するか否かを判定する。
【0036】
さらに、文字認識結果検証部34は、第1及び第2のチェック情報どうしが一致した場合、例えば表示部16を通じて文字認識結果の正当性を示す可視情報を表示させる。また、文字認識結果検証部34は、第1及び第2のチェック情報どうしが一致しない場合、例えば表示部16を通じて文字認識結果に誤りがある旨を可視情報として表示させる。
【0037】
次に、印字装置2の印字プログラム8について説明する。図1及び図2に示すように、メインメモリ7上で実行されるこの印字プログラム8は、外部記憶装置9やCPU5と協働しつつ、印字位置設定部25を有する印字用イメージ生成部26、印字データ入力部23、演算規則定義部24、及び印字制御部27をソフトウェアとして実現する。なお、上述した印字データ入力部23、印字用イメージ生成部26、印字制御部27などは、各種の電子部品を組み合わせて構成したハードウェアにより実現されるものであってもよい。
【0038】
印字データ入力部23は、図2及び図4に示すように、帳票35上に印字すべき文字列36aの文字ごとの文字コード及び各文字の配列順序(並び位置)を表す情報を少なくとも含む印字データの入力を行う(入力を受け付ける)。
【0039】
演算規則定義部24は、図4に示す帳票35上に印字すべき文字列36aの印字用イメージを生成する際に印字用イメージ生成部26によって参照される。また、演算規則定義部24には、文字認識装置3の上述した演算規則定義部31が記憶する情報と同一内容の情報が記憶されている。印字用イメージ生成部26は、印字データ入力部23により入力された印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列36aの印字用イメージを生成する。
【0040】
すなわち、印字用イメージ生成部26は、印字データ入力部23により入力された印字データを演算規則定義部24を参照しつつ解釈し、演算規則定義部24内の第1の演算規則に従い、上述した第1の誤りチェック情報に対応する基礎データを算出する。具体的には、印字用イメージ生成部26は、文字列36aを構成する各桁の文字の文字コードに対応付けられた各桁の数値を加算しこの加算した合計値を『10』で除算したときの余りを求める。つまり、図4に例示するように、帳票35上に印字すべき文字列が『345678』といった6桁の文字列36aである場合、印字用イメージ生成部26は、演算規則定義部24を参照しつつ、『3+4+5+6+7+8=33』を『10』で割った余り『3』を上記基礎データとして算出する。
【0041】
また一方で、印字位置設定部25を有する印字用イメージ生成部26は、帳票35上に印字すべき文字列36aの基準位置となる文字配列基準線(文字配列基準位置)35dを設定すると共に、設定したこの文字配列基準線35dに対する文字の位置ずれを基に、印字態様を差別化した文字イメージを生成する。具体的には、印字用イメージ生成部26は、帳票35上に印字すべき文字の高さ方向における所定位置を文字配列基準線35dとして設定すると共に、文字配列基準線35dに対する文字の高さ方向の位置ずれを基に、印字態様を差別化した文字イメージを生成する。また、図4の例では、印字用イメージ生成部26は、帳票35上に印字すべき文字列36a中の所定の並び位置にある少なくとも二つ以上の文字の印字位置を基に文字配列基準線35dを設定する。
【0042】
すなわち、印字位置設定部25は、図4に加え、図5及び図6に例示した手法で上記した文字配列基準線(文字配列基準位置)35dを得るために、印字すべき文字列36a中の先頭の桁の文字『3』と最後尾の桁の文字『8』とのそれぞれの文字の中心位置を直線的に通過する文字配列基準線35dを仮想的な座標上に設定する。さらに、印字位置設定部25は、印字データから求めた第1の誤りチェック情報に対応する上述した基礎データ及び演算規則定義部24の内容に基づいて、印字すべき文字列中の所定の並び位置(所定の桁)に配列される複数の文字の印字態様を文字ごとに設定(選択)する。
【0043】
また、印字用イメージ生成部26は、基礎データとして算出された10進数の『3』を4桁の2進数『0011』に変換する。ここで、演算規則定義部24では、2進数の属性を付与された数値『0』に対応する印字態様が『下ずれ』、2進数の属性を付与された数値『1』に対応する印字態様が『上ずれ』として定義されている。したがって、印字位置設定部25は、図4に示すように、6桁の文字列36a中の2桁目〜4桁目の『4567』の印字態様の並びを『下下上上』に設定する。これにより、印字用イメージ生成部26は、各桁の文字が図4〜図6に例示した印字態様(印字位置)を持つ文字列36aの印字用イメージを生成する。
【0044】
印字制御部27は、印字用イメージ生成部26により生成された印字用イメージに対応させて印字ヘッド12の動作を制御する。つまり、印字制御部27は、図4〜図6に示すように、各桁の文字ごとに印字態様(印字位置)が設定された文字列36aが帳票35上に印字されるように、生成された印字用イメージに基づき、印字ヘッド12の動作を印字ヘッド駆動部11を介して制御する。
【0045】
次に、このように構成された文字処理システム1が行う処理を主に図7及び図8に基づき説明する。ここで、図7は、印字装置2の印字プログラム8が主体となって行う処理を示すフローチャートである。また、図8は、文字認識装置3の文字認識プログラム18が主体となって行う処理を示すフローチャートである。
【0046】
まず、印字装置2の印字プログラム8が主体となって行う処理について説明する。図7に示すように、帳票35上に印字すべき文字列36aの印字要求が生じた場合(S[ステップ]1)、印字データ入力部23は、文字列36aの各桁の文字ごとの文字コード及び各文字の配列順序(並び位置)を表す情報を持つ印字データを入力する(S2)。次に、印字用イメージ生成部26は、印字データ入力部23が入力した印字データから、上述した第1の誤りチェック情報に対応する基礎データ(図4の例では数値3)を算出する(S3)。
【0047】
次に、印字用イメージ生成部26の印字位置設定部25は、上記基礎データ及び演算規則定義部24の内容に基づいて、印字すべき文字列の印字位置を文字単位に設定する(S4)。これにより、印字用イメージ生成部26は、各桁の文字が図4〜図6に例示した印字態様(印字位置)を有する文字列36aの印字用イメージを生成する(S5)。さらに、印字制御部27は、図4〜図6に示すように、各桁の文字ごとに印字位置の設定された文字列36aが帳票35上に印字されるように、生成された印字用イメージに基づき、印字ヘッド12の動作を印字ヘッド駆動部11を介して制御する(S6)。
【0048】
次に、文字認識装置3の文字認識プログラム18が主体となって行う処理について説明する。図8に示すように、文字認識処理の要求が生じた場合(S11)、帳票イメージ入力部28は、イメージスキャナ22を通じて読み取られた帳票35のイメージを入力する(S12)。続いて、文字認識処理部30は、帳票イメージ入力部28に入力された帳票イメージ中の文字列36aを一文字ごとの文字イメージとして切り出し、切り出した一文字ごとの文字イメージの文字認識を実行する。具体的には、文字認識処理部30は、文字列36aを構成する各文字の文字コードを、文字ごとの並び位置を表す情報と対応付けてチェック情報生成部33側に出力する(S13)。
【0049】
次いで、チェック情報生成部33は、文字認識された各文字の文字コードを基に第1の誤りチェック情報を算出する(S14)。詳細には、チェック情報生成部33は、演算規則定義部31内の第1の演算規則に従い、各文字の文字コードに予め対応付けられた各桁の数値を基に演算を行って第1の誤りチェック情報(図4の例で、文字認識が正しく行われていれば数値3)を生成する。また、チェック情報生成部33が有する印字位置判別部32は、文字配列基準線35dを求めた後、文字列36a中の所定の桁(2桁目〜4桁目の)の文字の印字位置(上ずれ/下ずれ)を文字配列基準線35dを基準に判別する(S15)。
【0050】
さらに、チェック情報生成部33は、所定の文字ごとの印字位置(印字態様)として埋め込まれている上記基礎データを再構成し、第2の誤りチェック情報を得る(S16)。詳細には、チェック情報生成部33は、演算規則定義部31内の第2の演算規則に従い、文字ごとの印字位置(印字態様)に予め対応付けられた数値を基に演算を行って第2の誤りチェック情報(図4の例では数値3)を生成する。
【0051】
次に、文字認識結果検証部34は、チェック情報生成部33により生成された第1の誤りチェック情報と第2の誤りチェック情報とを比較照合し(S17)、文字認識処理部30による文字認識の誤りの有無をチェックする。ここで、第1及び第2の誤りチェック情報が一致した場合(S18のYES)、文字認識結果検証部34は、例えば表示部16を通じて文字認識結果の正当性を示す可視情報を表示させ、ユーザ側にこの旨を報知する(S19)。一方、第1及び第2の誤りチェック情報が不一致の場合(S18のNO)、文字認識結果検証部34は、例えば表示部16を通じて文字認識結果に誤りがある旨を可視情報として表示させ、ユーザに対して報知を行う(S20)。
【0052】
既述したように、本実施形態に係る文字処理システム1によれば、文字認識の行われた各文字の文字コードごとに予め対応付けられている数値から得られる第1の誤り検証情報と、文字認識の行われた文字列中の複数の所定の文字の印字態様ごとに予め対応付けられている数値から得られる第2の誤り検証情報とを比較照合することで、文字認識の誤りの有無をチェックすることができる。すなわち、文字の印字位置から上記の比較照合に必要な片方の誤りチェック情報(第2の誤りチェック情報)が得られる文字処理システム1によれば、例えばチェックデジットを埋め込むための専用の桁を文字列中に設けることなしに、文字認識結果の誤りを検証することができる。
【0053】
なお、本実施形態では、文字列の列なる方向に延びる文字配列基準線35d(文字配列基準位置)と直交する文字の高さ方向の位置ずれを基に、印字態様の判別を行うものであったが、これに代えて、図9に示すように文字列36bのピッチ方向の位置ずれに基づいて印字態様を判別できるように、印字位置判別部(チェック情報生成部)を構成してもよい。ここで、図9は、文字配列基準線35gを基準として所定の文字の印字位置をピッチ方向にずらした文字列36bを利用する文字認識の誤りチェックについて説明するための図である。
【0054】
すなわち、同図9に示すように、この場合の文字認識プログラムにより実現される印字位置判別部(チェック情報生成部)は、帳票35のイメージ上の文字列36b中のピッチ方向における所定位置に文字配列基準線(文字配列基準位置)35gを設定すると共に、この文字配列基準線35gに対しての文字イメージのピッチ方向の位置ずれを基に印字態様を判別(特定)する。すなわち、この場合の印字位置判別部は、図4〜図6に例示した方法で得られる上記文字配列基準線35dに対して平行で、且つ線分の長さが文字列36b中の先頭の桁の文字(文字イメージ)『3』の中心位置と最後尾の桁の文字(文字イメージ)『8』の中心位置との間の離間距離に等しい分割用基本線35fをまず求める。さらに、印字位置判別部は、文字認識対象の文字列36bの桁数を一桁減算した数で分割用基本線35fを文字列36bのピッチ方向に等分割(5分割)し、この場合の各分割点(4箇所)及び分割用基本線35fの両端(2個所)から、当該分割用基本線35fと直交するy軸方向へ、それぞれ延びる6本の文字配列基準線35gを求める。
【0055】
さらに、この場合の印字位置判別部は、文字列36bの各桁に各々対応する6本の文字配列基準線35gの直上の座標位置を文字配列基準位置として認識する。つまり、印字位置判別部は、文字(文字イメージ)『4』、『5』のように、各桁の文字ごとに各々対応する文字配列基準線35gのx座標値よりも、文字の中心位置(文字の外形画像に内接する矩形の重心位置)のx座標値が、x軸の負の方向に所定のしきい値以上シフトしている場合、その文字を『左ずれ(左寄り)』の印字態様として判別する。また、印字位置判別部は、文字(文字イメージ)『6』、『7』のように、各桁の文字ごとに各々対応する文字配列基準線35gのx座標値よりも、文字の中心位置のx座標値が、x軸の正の方向に所定のしきい値以上シフトしている場合、その文字を『右ずれ(右寄り)』の印字態様として判別する。
【0056】
さらに、演算規則定義部において、印字態様の『左ずれ』と2進数の属性を付与した数値『0』との対応付け、及び印字態様の『右ずれ』と2進数の属性を持つ数値『1』との対応付けを定義しておくことで、チェック情報生成部は、文字列36b中の2桁目〜4桁目の文字『4567』の印字態様から2進数『0011』を求め、これを10進数に変換した『3』を第2の誤りチェック情報として生成することができる。
【0057】
また、この場合、印字プログラムにて実現される印字位置設定部を持つ印字用イメージ生成部は、帳票35上に印字すべき文字列36bのピッチ方向における所定位置を文字配列基準線(文字配列基準位置)35gに設定すると共に、文字配列基準線35gに対する文字のピッチ方向の位置ずれを基に、印字態様を差別化した文字イメージを生成する。つまり、この場合の印字用イメージ生成部は、図9に示すように、帳票35上に印字すべき6桁の文字列36b中の2桁目〜4桁目の『4567』の印字態様(印字位置)の並びを『左左右右』に設定した印字用イメージを生成する。
【0058】
[第2の実施の形態]
次に、本発明の第2の実施形態を図10〜図14に基づき説明する。ここで、図10は、第2の実施形態に係る文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図11は、第2の実施形態に係る文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図12は、この実施形態で適用される文字列を構成するための二種類の文字フォント38a、38bを示す図であり、図13は、図12の二種類の文字フォント38a、38bからなる文字列36cを利用した文字認識の誤りチェックについて説明するための図である。また、図14は、図12の文字フォント38a、38bと異なる他の種類の文字フォント38c〜38hを示す図である。なお、これら図10〜図14において、図1〜図9に示した第1の実施形態で適用されていたものと同一の構成要素については、同一の符号を付与しその説明を省略する。
【0059】
この実施形態に係る文字処理システムは、印字装置2及び文字認識装置3のメインメモリ7、17上で実行される印字プログラム及び文字認識プログラムが、第1の実施形態の文字処理システム1の印字プログラム及び文字認識プログラムと異なる。すなわち、この実施形態の印字装置上で動作する印字プログラムは、第1の実施形態の印字位置設定部25を有する印字用イメージ生成部26及び演算規則定義部24に代えて、図10に示すように、文字フォント設定部42を有する印字用イメージ生成部43及び演算規則定義部41を、外部記憶装置9やCPU5と協働しつつソフトウェアとして実現する。一方、この実施形態の文字認識装置上で動作する文字認識プログラムは、第1の実施形態の印字位置判別部32を有するチェック情報生成部33及び演算規則定義部31に代えて、図11に示すように、文字フォント判別部46を有するチェック情報生成部47及び演算規則定義部45を、外部記憶装置9やCPU5と協働しつつソフトウェアとして実現する。
【0060】
図11に示すように、この実施形態に係る文字認識プログラムの演算規則定義部45には、第1の誤りチェック情報を得るために、第1の実施形態と同様に、文字の『0』、『1』、…『9』を示す文字コード(例えばSJIS:0x824f,0x8250…など)と数値『0』、『1』…『9』とがそれぞれ対応付けられたかたちで記憶されている。また、演算規則定義部45には、第1の実施形態の演算規則定義部31に記憶されていたものと同一の第1の演算規則が記憶されている。
【0061】
また、この実施形態の文字フォント判別部46を有するチェック情報生成部47は、帳票35上のイメージ上の文字の書体(文字フォント)を基に印字態様の判別を行う。つまり、演算規則定義部45には、図12及び図13に示すように、第2の誤りチェック情報を得るために、帳票35上に文字列36cとして印字される文字単位の文字フォント(印字態様)38a、38bと、これらの文字フォントごとに対応付けられる数値との対応関係を表す情報が記憶されている。つまり、演算規則定義部45では、印字態様としての書体が明朝体で表される『文字フォントA』38aと2進数の属性を付与された数値『0』とが対応付けられ、また印字態様としての書体がゴシック体で表される『文字フォントB』38bと2進数の属性を持つ数値『1』とが対応付けられている。
【0062】
ここで、本実施形態の辞書29内には、『文字フォントA』38a及び『文字フォントB』38bにそれぞれ対応する少なくとも2種類分の書体の文字イメージが記憶されている。文字フォント判別部46は、文字認識処理部30と協働しつつ、辞書29内の文字イメージと、文字列36c中から切り出した一文字ごとの文字イメージとのパターンマッチングを複合類似度法や部分空間法などを用いて行い文字フォントを判別する。また、本実施形態では、図13に示すように、『56927』の5桁の文字列36cが例示されている。すなわち、チェック情報生成部47は、演算規則定義部45を参照しつつ、『5+6+9+2+7=29』を『10』で割った演算結果である余り『9』を第1の誤りチェック情報として生成(算出)する。
【0063】
また、演算規則定義部45には、5桁の文字列36cを構成する複数の文字のうちで、印字態様の検出(判別)を行うべき所定の文字の並び位置(配列位置)が、例えば桁番号などで定義されている。本実施形態では、先頭から数えて1桁目〜5桁目の全ての桁の文字の文字フォント(印字態様)が検出対象となるように、例えば桁番号1〜5が演算規則定義部45に記憶されている。ここで、上述した第1の誤りチェック情報として算出され得る10進数の『0』〜『9』は、5桁の2進数である『00000』〜『01001』により表現することができる。また、演算規則定義部45は、文字列36c中の1桁目〜5桁目の文字ごとの文字フォントに対応させて、各桁が『0』又は『1』で表される5桁の2進数を求めると共に、この5桁の2進数を10進数に変換した1桁の数値を第2の誤りチェック情報として生成するための第2の演算規則を記憶している。
【0064】
詳述すると、図13に示す例では、文字列36cを構成する5桁全ての文字『56927』が印字態様の検出対象となる。ここで、先頭から数えて1桁目、3桁目、4桁目の文字『5』、『9』、『2』の印字態様は『文字フォントA』38aであり、2桁目、5桁目の文字『6』、『7』の印字態様は『文字フォントB』38bである。したがって、文字フォント(印字態様)38a、38bの並びは『ABAAB』となり、これを5桁の2進数で表わすと『01001』となる。つまり、チェック情報生成部47は、演算規則定義部45を参照しつつ、文字列36cを構成する全ての桁の文字の書体から2進数『01001』を求め、これを10進数に変換した演算結果としての『9』を第2の誤りチェック情報37bとして生成(算出)する。これにより、文字認識結果検証部34は、図13に示すように、文字認識された文字列36c中の全ての桁の文字の文字コードを基に得られた第1の誤りチェック情報(数値9)と、全ての桁の文字の文字フォントの判別結果を基に得られた第2の誤りチェック情報(数値9)と、が一致するか否かで文字認識結果の誤り(正当性)の有無を検証する。
【0065】
なお、図13に示す例において、文字認識結果(文字コードの検出)に誤りがあって例えばこの結果が『56827』となった場合、『5+6+8+2+7+8=28』を『10』で割った余りである第1のチェック情報は『8』となり、上記の正しい第2のチェック情報『9』と整合がとれず、文字認識結果の誤りを検出することが可能となる。また一方で、文字フォントの検出(判別)に誤りがあって例えばこの結果が『ABBAB』となった場合、これを5桁の2進数で表わすと『01101』となり、これを10進数に変換した第2のチェック情報である『13』は、上記の正しい第1の誤りチェック情報『9』と整合がとれず、文字認識処理における不具合を検出することが可能となる。
【0066】
一方、図11に示すように、この実施形態に係る印字プログラムの演算規則定義部41には、上述した文字認識プログラムの演算規則定義部24が記憶する情報と同一内容の情報が記憶されている。すなわち、印字用イメージ生成部43は、印字データ入力部23により入力された印字データを演算規則定義部41を参照しつつ解釈し、演算規則定義部41内の第1の演算規則に従い、上述した第1の誤りチェック情報に対応する基礎データ(図13の例では数値9)を算出する。
【0067】
さらに、文字フォント設定部42を有する印字用イメージ生成部43は、書体(文字フォント)の違いを基に印字態様を差別化した文字イメージを生成する。つまり、文字フォント設定部42は、印字データから求めた第1の誤りチェック情報に対応する上述した基礎データ及び演算規則定義部41の内容に基づいて、帳票35上に印字すべき文字列36c中の所定の並び位置に配列される複数の文字(本実施形態では全ての桁の文字)の文字フォント(印字態様)を文字ごとに設定(選択)する。
【0068】
具体的には、印字用イメージ生成部43は、基礎データとして算出された10進数の『9』を5桁の2進数『01001』に変換する。ここで、演算規則定義部41では、2進数の属性を付与された数値『0』に対応する印字態様が『文字フォントA』38a、2進数の属性を付与された数値『1』に対応する印字態様が『文字フォントB』38bとして定義されている。したがって、文字フォント設定部42は、図13に示すように、文字列36cを構成する1桁目〜5桁目の文字フォント(印字態様)38a、38bの並びを『ABAAB』に設定する。これにより、印字用イメージ生成部43は、各桁の文字が図13に例示した文字フォント(印字態様)を持つ文字列36cの印字用イメージを生成する。
【0069】
このように本実施形態に係る文字処理システムによれば、文字認識された文字列36c中の全ての桁の文字の文字コードを基に得られた第1の誤りチェック情報と、文字認識された文字列36c中の全ての桁の文字の文字フォント38a、38bを基に得られた第2の誤りチェック情報と、を比較照合して文字認識結果の検証を行うので、チェックデジットを埋め込むための専用の桁を文字列36c中に設けることなしに、文字認識結果の誤りをチェックすることができる。
【0070】
なお、本実施形態では、書体が明朝体で表される『文字フォントA』38aと書体がゴシック体で表される『文字フォントB』38bとを判別し、これを基に第2の誤りチェック情報を得るようにしていたが、これに代えて、図14に例示する文字フォントを本発明に適用してもよい。すなわち、同図14に示すように、書体が中抜き文字(白抜き文字)で表される文字フォント38cとこの中抜きの部分を塗りつぶした文字フォント38dとを適用し、文字フォントの中抜きの有/無を判別(及び設定)できるように文字フォント判別部46(及び文字フォント設定部42)を構成してもよい。また、これに代えて、アンダーバーの有る文字フォント38eとアンダーバーの無い文字フォント38fとを利用し、本発明を実現してもよいし、また、これに代えて、イタリック体の文字フォント38gと非イタリック体の文字フォント38hとを適用し本発明を構成することもできる。
【0071】
また、上述した文字フォント設定部42及び文字フォント判別部46に代えて、図15に示すように、文字列中の印字色を文字ごとに設定(選択)可能な印字色設定部を備えることで、印字色の違いにより印字態様を差別化した文字イメージを生成する印字用イメージ生成部と、イメージカラーを読み込み可能なカラースキャナを用い、文字列の印字色を文字ごとに判別可能(図15中の例えば紺色などの暗い色彩のカラー文字39aと例えば黄色などの明るい色彩のカラー文字39bとを判別可能)な印字色判別部を備えることで、帳票のイメージ上の文字の書体を基に印字態様の判別を行えるチェック情報生成部と、を有する文字処理システムを構成してもよい。
【0072】
また、これに代えて、印字すべき文字列の印字濃度(グレースケールの濃度)を文字ごとに設定(選択)可能な印字濃度設定部を備えることで、印字濃度の違いを基に印字態様を差別化した文字イメージを生成する印字用イメージ生成部と、ヒストグラム計算などによって文字列の印字濃度を文字ごとに判別可能な印字濃度判別部を備えることで、帳票のイメージ上の文字の書体を基に印字態様の判別を行えるチェック情報生成部と、を有する文字処理システムを構成してもよい。
【0073】
以上、本発明を第1、第2の実施形態により具体的に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述した実施形態では、図1に示したように文字処理システム1が、個別の印字装置2及び文字認識装置3により構成されていたが、これに代えて、図16に示すように、上記の印字装置2及び文字認識装置3がハードウェアとして一つになった文字認識機能付きの印字装置(文字処理システム)50などによっても本発明を実現することができる。
【0074】
さらに、第1の実施形態では、文字の印字位置の下ずれ/上ずれ(又は左ずれ/右ずれ)による2種類の印字態様を適用し、また、第2の実施形態では、互いに異なる文字フォント(又は印字色若しくは印字濃度)による2種類の印字態様を適用していたが、これに代えて、3種類以上の多段階の印字位置のずれを設定可能及び判別可能とすることや、また、3種類以上の文字フォント(又は3種類以上の印字色若しくは印字濃度)を設定可能及び判別可能とすることで、3種類以上の印字態様を第2の誤りチェック情報の生成に利用できるようにしてもよい。つまり、この場合、文字認識対象の文字列中に、より多くの情報を埋め込むことができるので、文字認識の誤り検出にのみならず、文字認識の誤り訂正を行うことなどが可能となる。
【0075】
また、上記の第1、第2の実施形態では、第1の誤りチェック情報と第2の誤りチェック情報とを比較照合した一致/不一致の結果から文字認識結果の誤りの有無をチェックすることとしたが、本発明はこれに限定されるものではない。例えば、第1の誤りチェック情報と第2の誤りチェック情報の各数値の差、偶数/奇数の関係、その他の種々の条件によって、文字認識結果の誤りの有無をチェックできるように、各文字コードにそれぞれ割り当てる数値、及び各印字態様にそれぞれ割り当てる数値を選定することとしてもよい。すなわち、第1の誤りチェック情報と第2の誤りチェック情報との互いの数値の相対的な関係などに基づいて、文字認識結果の誤りの有無をチェックするようにしてもよい。
【図面の簡単な説明】
【0076】
【図1】本発明の第1の実施形態に係る文字処理システムのハードウェアの構成を示すブロック図。
【図2】図1の文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図3】図1の文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図4】帳票上の文字配列基準線から所定の文字の印字位置を高さ方向にずらした文字列を利用する文字認識結果の誤りチェックについて説明するための図。
【図5】図4の文字配列基準線を帳票イメージの端縁の位置を基準に設定した例を示す図。
【図6】図4の文字配列基準線を、帳票上に予め記された文字記入枠のイメージ上の位置を基準に設定した例を示す図。
【図7】図1の文字処理システムが備えた印字装置の印字プログラムが主体となって行う処理を示すフローチャート。
【図8】図1の文字処理システムが備えた文字認識装置の文字認識プログラムが主体となって行う処理を示すフローチャート。
【図9】文字配列基準線を基準として所定の文字の印字位置をピッチ方向にずらした文字列を利用する文字認識の誤りチェックについて説明するための図。
【図10】本発明の第2の実施形態に係る文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図11】本発明の第2の実施形態に係る文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図12】第2の実施形態で適用される文字列を構成するための二種類の文字フォントを示す図。
【図13】図12の二種類の文字フォントからなる文字列を利用した文字認識の誤りチェックについて説明するための図。
【図14】図12の文字フォントと異なる他の種類の文字フォントを示す図。
【図15】第2の実施形態の変形例として、文字列を構成するための印字色の異なる二種類のカラー文字を示す図。
【図16】本発明が適用された文字認識機能を備える印字装置を示すブロック図。
【符号の説明】
【0077】
1…文字処理システム、2,50…印字装置、3…文字認識装置、7,17…メインメモリ、8…印字プログラム、12…印字ヘッド、18…文字認識プログラム、22…イメージスキャナ、23…印字データ入力部、24,31,41,45…演算規則定義部、25…印字位置設定部、26,43…印字用イメージ生成部、27…印字制御部、28…帳票イメージ入力部、29…辞書、30…文字認識処理部、32…印字位置判別部、33,47…チェック情報生成部、34…文字認識結果検証部、35…帳票、35a〜35c…帳票の縁部、35d,35g…文字配列基準線、35e…文字記入枠、35f…分割用基本線、36a,36b,36c…文字列、37a,37b…第2の誤りチェック情報、42…文字フォント設定部、46…文字フォント判別部、38a〜38h…文字フォント、39a,39b…カラー文字。
【技術分野】
【0001】
本発明は、帳票などの用紙に対し印字又は印字した文字の文字認識を行うための装置やプログラムに関する。
【背景技術】
【0002】
従来、光学的文字読取装置による文字認識処理の誤りのチェックには、例えば文字認識対象の文字列中に1桁あるいは複数桁追加して印字される、いわゆるチェックデジットなどが利用されている(例えば、特許文献1参照)。
【0003】
このチェックデジットは、文字認識対象とされる例えば数字列の各桁の数値などを基に一定の規則に従った演算を行うことで得られる答えである。したがって、文字認識された上記数字列の各数値を基に得られた演算結果とチェックデジットとの一致/不一致を確認することで、文字認識結果の誤りの有無を検証することができる。
【特許文献1】特開平7−246764号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記した従来のチェック方法は、チェックデジットとして機能する文字を文字列中に1桁以上追加する必要があるため、チェックデジットを含めることを前提としないコード体系の文字列(例えば日付などを表わす文字列)が対象となる場合や、データ処理系の制約で文字列の桁数を増加できない場合などにおいて課題を抱えている。
【0005】
そこで本発明は、上記課題を解決するためになされたもので、チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りをチェックすることができる文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明に係る文字認識装置は、少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部と、前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部と、を具備することを特徴とする。
【0007】
本発明では、文字認識の行われた各文字の例えば文字コードごとに予め対応付けられている数値などから得られる第1の誤り検証情報と、文字認識の行われた文字列中の例えば複数の所定の文字の印字態様ごとに予め対応付けられている数値などから得られる第2の誤り検証情報とに基づいて、文字認識結果の検証を行うので、チェックデジットを埋め込むための専用の桁を文字列中に設ける(追加する)ことなしに、文字認識結果の誤りをチェックすることができる。
【0008】
ここで、上述した印字態様の種別は、印字された文字の例えば高さ方向の位置ずれ、文字列のピッチ方向の位置ずれ、文字の印字色や印字濃度、文字の書体(文字フォント)などによって判別される。
【0009】
また、本発明の印字装置は、用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部と、を具備することを特徴とする。
【発明の効果】
【0010】
本発明によれば、チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りをチェックすることができる文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラムを提供することが可能である。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施するための最良の形態を図面に基づき説明する。
[第1の実施の形態]
図1は、本発明の第1の実施形態に係る文字処理システム1のハードウェアの構成を示すブロック図である。また、図2は、この文字処理システム1の備える印字装置2がソフトウェアで実現する構成部分を機能的に示すブロック図である。さらに、図3は、図1の文字処理システム1が備える文字認識装置3がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図4は、帳票35上の文字配列基準線35dから所定の文字の印字位置を高さ方向にずらした文字列36aを利用する文字認識結果の誤りチェックについて説明するための図である。
【0012】
すなわち、図1及び図4に示すように、この実施形態の文字処理システム1は、インタフェース21を介してイメージスキャナ22が接続された文字認識装置3と、印字装置2とから構成される。イメージスキャナ22は、文字列36aが印字された用紙としての帳票35の紙面上のイメージ(画像)を光学的に読み取り、読み取った帳票イメージ(帳票35のイメージデータ)を出力する。
【0013】
印字装置2は、図1に示すように、CPU5、表示部6、入力操作部10、外部記憶装置9、メインメモリ7、印字ヘッド駆動部11、印字ヘッド12を備える。表示部6は、CRTモニタや液晶ディスプレイなどにより構成されており、ユーザに対し各種情報を可視的に表示する。入力操作部10は、マウスやタブレットなどのポインティングデバイスやキーボードなどによって構成されており、印字装置本体に対し各種の指示を与えるための入力装置である。印字ヘッド駆動部11は、印字ヘッド12を駆動するためのドライバ回路である。
【0014】
また、印字装置2は、いわゆるカラープリンタであって、赤色、青色、緑色などの色彩の異なる複数の印字色の中から選択した印字色で印字を行うことが可能である。さらに、印字装置2は、印字濃度の設定機能を有し、例えば256階調(8ビット)や65536階調(16ビット)のグレースケールで黒色(灰色)の印字文字の濃度を表現する。また、印字装置2が備えるHDDなどの外部記憶装置9には、オペレーティングシステムや、後に詳述する印字プログラム8のプログラム本体が予めインストールされている。
【0015】
一方、文字認識装置3は、図1に示すように、CPU15、入力操作部20、外部記憶装置19、表示部16、メインメモリ17を備える。表示部16は、ユーザに対し各種情報を可視的に表示するためのデバイスであって、CRTモニタや液晶ディスプレイなどにより構成されている。入力操作部20は、文字認識装置本体に対して各種の指示を入力するための構成部分であり、ポインティングデバイスやキーボードなどによって実現されている。また、HDDなどが適用された外部記憶装置19には、オペレーティングシステムや、後述する文字認識プログラム18のプログラム本体が予めインストールされている。
【0016】
ここで、文字認識プログラム18について説明する。図1及び図3に示すように、メインメモリ17上で実行されるこの文字認識プログラム18は、外部記憶装置19やCPU15と協働しつつ、印字位置判別部32を有するチェック情報生成部33、帳票イメージ入力部28、文字認識処理部30、文字認識結果検証部34、辞書29及び演算規則定義部31をソフトウェアとして実現する。なお、上述した帳票イメージ入力部28、文字認識処理部30、チェック情報生成部33、文字認識結果検証部34は、各種の電子部品を組み合わせて構成したハードウェアにより実現されるものであってもよい。
【0017】
帳票イメージ入力部28は、図3及び図4に示すように、イメージスキャナ22で読み取られた帳票35のイメージの入力を行う(入力を受け付ける)。また、このように紙面上のイメージが入力される帳票35には、図4に示すように、少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列36aが印字されている。文字認識処理部30は、帳票イメージ入力部28に入力された帳票イメージを基に文字認識を行う。つまり、文字認識処理部30は、帳票イメージ中の文字列36aを一文字ごとのイメージとして切り出し(文字抽出処理を行い)、切り出した一文字ごとの文字イメージ(文字画像)の文字認識を行う。
【0018】
辞書29は、例えば外部記憶装置19などにデータベースとして構築されており、上記の文字認識を行う際に文字認識処理部30により参照される。また、辞書29内には、複数の文字イメージと複数の文字コード(character code)とが互いの対応関係を表す情報と共に記憶されている。すなわち、文字認識処理部30は、上記文字列36a中から切り出した一文字ごとの文字イメージと辞書29内の文字イメージとのマッチングを複合類似度法や部分空間法などを用いて行い、辞書29内の一致した文字イメージに対応する文字コードを文字認識結果として出力する。詳細には、文字認識処理部30は、文字列36aを構成する各文字の文字コード(文字コードデータ)を、文字ごとの並び位置(配列順序)を表す情報と対応付けてチェック情報生成部33側に出力する。
【0019】
チェック情報生成部33は、文字認識処理部30により文字認識された文字列36aの各文字の文字コードを基に得られる第1の誤りチェック情報と文字認識処理部30により文字認識された文字列36a中の所定の文字ごとの印字態様を基に得られる第2の誤りチェック情報とを生成する。演算規則定義部31は、上記した一対の誤りチェック情報を生成する際にチェック情報生成部33によって参照される。
【0020】
詳述すると、演算規則定義部31には、まず、第1の誤りチェック情報を得るために、複数の文字コードとこれらの文字コードごとに対応付けられる数値との対応関係を示す情報が記憶されている。つまり、演算規則定義部31では、文字(数字)の『0』を示す文字コード(例えばSJIS:0x824f)と数値『0』とが対応付けられ、また、文字の『1』を示す文字コード(例えばSJIS:0x8250)と数値『1』とが対応付けられている。さらに、演算規則定義部31では、同様に、文字の『2』、『3』…『9』を示す文字コードと数値『2』、『3』…『9』とがそれぞれ対応付けられている。
【0021】
また、演算規則定義部31は、文字列36aを構成する各桁の文字の文字コードに対応付けられた各桁の数値を加算し、この合計値を『10』で除算したときの余り(1桁の整数)を第1の誤りチェック情報として生成するための第1の演算規則を記憶している。したがって、冗長データとして得られる第1の誤りチェック情報は、『0』〜『9』の1桁の10進数で表される。本実施形態では、図4に示すように、『345678』の6桁の文字列36aが例示されている。ここで、チェック情報生成部33は、文字認識された文字列36a中の各文字の文字コードごとに予め対応付けられている数値から第1の演算規則に従って求めた演算結果を第1の誤りチェック情報として生成する。すなわち、チェック情報生成部33は、演算規則定義部31を参照しつつ、『3+4+5+6+7+8=33』を『10』で割った演算結果である余り『3』を第1の誤りチェック情報として生成(算出)する。このようにして算出された第1の誤りチェック情報は、冗長データとして一時的にメインメモリ17に記憶される。
【0022】
なお、本実施形態においては、文字列36aとして数字列を例示しているが、数字と英字が混在する文字列や英字のみで構成される文字列から、上記の第1の誤りチェック情報を生成できるようにしてもよい。つまり例えば、英字(アルファベット)の『A』、『B』、『C』…を示す文字コード(例えばSJIS:0x8260,0x8261,0x8262,…)と数値『11』、『12』、『13』…などとを対応付けて演算規則定義部31に記憶させておくことで、英字を含む文字列から第1の誤りチェック情報を得ることができる。また、英字や数字以外の文字を示す文字コードと所定の数値とを対応付けて演算規則定義部31に記憶させておき、英字や数字以外の文字を含む文字列から第1の誤りチェック情報を得るようにしてもよい。これにより、上記した方法で得られる第1の誤りチェック情報と後述する第2の誤りチェック情報とを比較照合することで、様々な種類の文字からなる文字列を対象とした文字認識の誤りチェックを実現できる。
【0023】
また、演算規則定義部31には、第2の誤りチェック情報を得るために、帳票35上に文字列36aとして印字される文字単位の印字態様とこれらの印字態様ごとに対応付けられる数値との対応関係を表す情報が記憶されている。ここで、本実施形態のチェック情報生成部33が有する印字位置判別部32は、図4に示すように、文字列36aを構成する文字の高さ方向(文字列の列なるx軸方向と直交するy軸方向)において、文字配列基準線35dに対し、文字が下ずれ(下寄り)であるか又は上ずれ(上寄り)であるかによって印字態様を判別(特定)する。つまり、演算規則定義部31では、印字態様の『下ずれ』と2進数の属性を付与された数値『0』とが対応付けられ、また印字態様の『上ずれ』と2進数の属性を持つ数値『1』とが対応付けられている。なお、上記した文字コードに対応付けられている数値の『0』、『1』には、10進数の属性が付与されている。
【0024】
また、演算規則定義部31には、文字列36aを構成する複数の文字のうちで、印字態様の検出(判別)を行うべき所定の文字の並び位置(配列位置)が、例えば桁番号などで定義されている。ここで、上述した第1の誤りチェック情報として算出され得る10進数の『0』〜『9』は、4桁の2進数である『0000』〜『1001』により表現することができる。本実施形態では、6桁の文字列36a中の先頭の桁と最後尾(末尾)の桁の文字に挟まれる所定の桁の複数の文字、すなわち、先頭から数えて2桁目〜4桁目の文字の印字態様が検出されるように、例えば桁番号2〜4が演算規則定義部31に記憶されている。また、演算規則定義部31は、文字列36a中の2桁目〜4桁目の文字ごとの印字態様に対応させて、各桁が『0』又は『1』で表される4桁の2進数を求めると共に、この4桁の2進数を10進数に変換した1桁の数値を第2の誤りチェック情報として生成するための第2の演算規則を記憶している。
【0025】
詳述すると、図4に示す例では、6桁の文字列36a中の2桁目〜4桁目の『4567』が印字態様の検出対象となる。ここで、2桁目、3桁目の文字『4』、『5』の印字態様は『下ずれ』であり、4桁目、5桁目の文字『6』、『7』の印字態様は『上ずれ』である。したがって、印字態様の並びは『下下上上』となり、これを4桁の2進数で表わすと「0011」となる。チェック情報生成部33は、文字認識された複数の所定の文字の印字態様ごとに予め対応付けられている数値から第2の演算規則に従って求めた演算結果を第2の誤りチェック情報として生成する。つまり、チェック情報生成部33は、演算規則定義部31を参照しつつ、2桁目〜4桁目の各文字の印字態様から2進数『0011』を求め、これを10進数に変換した演算結果としての『3』を第2の誤りチェック情報37aとして生成(算出)する。このようにして算出された第2の誤りチェック情報37aは、チェックデジットとして一時的にメインメモリ17に記憶される。
【0026】
なお、図4に示す例で文字認識処理部30による文字認識結果に誤り(誤認)があって、例えば文字認識結果が『345078』となった場合、『3+4+5+0+7+8=27』を『10』で除算した余りである第1のチェック情報の数値『7』は、2進数『0011』を10進数に変換して得られる第2のチェック情報としての数値『3』と整合がとれない。これにより、文字認識結果の誤りを検出することが可能となる。
【0027】
ここで、印字態様の『下ずれ』、『上ずれ』を判別するための文字配列基準線35d(文字配列基準位置)の設定方法について、図4に加え、図5及び図6に基づき説明を行う。前記の図5は、帳票35のイメージの端縁35a、35bの位置を基に文字配列基準線35dを設定した例を示すものであり、また、図6は、帳票35上に予め記された文字記入枠のイメージ上の位置を基準に文字配列基準線35dを設定した例を示すものである。
【0028】
印字位置判別部32を有するチェック情報生成部33は、帳票イメージ入力部28により入力された帳票イメージ上において文字列36aのイメージの基準位置となる文字配列基準位置を文字配列基準線35dとして設定すると共に、設定したこの文字配列基準線35dに対する文字イメージの位置ずれを基に印字態様を判別(特定)する。具体的には、チェック情報生成部33は、帳票35のイメージ上の文字の高さ方向における所定位置に文字配列基準線35dを設定すると共に、この文字配列基準線35dに対しての文字イメージの高さ方向の位置ずれを基に印字態様を判別する。
【0029】
また、図4の例では、チェック情報生成部33は、帳票イメージ上で列なる文字列36a中の所定の並び位置にある少なくとも二つ以上の文字イメージの位置を基に文字配列基準線35dを設定する。すなわち、印字位置判別部32は、図4に示すように、文字列36a中の先頭の桁の文字(文字イメージ)『3』の中心位置と最後尾の桁の文字(文字イメージ)『8』の中心位置とを仮想的な座標系において求める。この場合、文字『3』、『8』の例えば外形画像に内接する(外形画像が収まる)矩形の重心位置を文字『3』、『8』の中心位置(中心座標位置)として求める。さらに、印字位置判別部32は、文字『3』及び『8』の二つの中心位置どうしを直線的に通過する上記文字配列基準線35dを形成する。
【0030】
また一方で、印字位置判別部32は、図4に示すように、例えば帳票35のイメージの所定の角部(端縁35a)を共有する二つの辺部のうちの一方の辺部(端縁35b)を基準にx方向の座標軸を求め、前記角部(端縁35a)を共有し上記一方の辺部と直交する他方の辺部(端縁35c)を基準にy方向の座標軸を求め、仮想的なxy座標軸を形成する。
【0031】
さらに、印字位置判別部32は、文字配列基準線35dの直上の座標を文字配列基準位置として認識し、文字(文字イメージ)『4』、『5』のように、文字の中心位置(文字の外形画像に内接する矩形の重心位置)のy座標値が、文字配列基準線35dのy座標値よりも、y軸の負の方向に所定のしきい値以上シフトしている場合、その文字を『下ずれ』の印字態様として判別する。また、印字位置判別部32は、文字(文字イメージ)『6』、『7』のように、文字の中心位置のy座標値が、文字配列基準線35dのy座標値よりも、y軸の正の方向に所定のしきい値以上シフトしている場合、その文字を『上ずれ』の印字態様として判別する。
【0032】
ここで、図4に例示した文字配列基準線35dの設定方法に代えて、図5に示す手法で文字配列基準線35dを求めてもよい。すなわち、印字位置判別部32は、図5に示すように、x方向の座標軸を定めた一方の辺部(端縁35b)を、長さy1分だけy座標値を負の方向にオフセットした位置に文字配列基準線35dを設定するものであってもよい。また、図6に示すように、例えば帳票35上に予め文字記入枠35eが記されている場合、印字位置判別部32は、この文字記入枠35eのx軸方向に延びる一対の辺部から、相対する側の辺部側に各々等しい長さy2分だけy座標値をオフセットした位置(つまり、文字記入枠35eにおけるy軸方向の中心位置)に文字配列基準線35dを設定するものであってもよい。
【0033】
上記の図5、図6に示す例では、文字配列基準線35dを得るために文字の印字位置を利用していないので、文字列を構成する桁数が少ない場合、つまり例えば文字列の全桁数が4桁であっても、この4つの文字ごとの『上ずれ』、『下ずれ』の印字態様から第2の誤りチェック情報を得ることができる。また一方で、図4に示したように、文字列36a中の所定の文字(図4に例では、先頭の桁と末尾の桁の文字)の印字位置に基づいて文字配列基準線(文字配列基準位置)35dを求める場合、帳票35上における印字すべき所定位置に対し、例えば文字列全体の印字位置が多少ずれたとしても、文字列36aを構成する個々の文字どうしの相対的な印字位置の関係が大きく変動しないので、上述した『上ずれ』、『下ずれ』の印字態様の判別精度を実質的に向上させることができる。
【0034】
また、例えば文字列の桁数が多く、文字列中に『−』(ハイフン)が含まれる場合、ハイフンの印字位置を『上ずれ』、『下ずれ』の印字態様を判別するための文字配列基準位置として設定できるようにチェック情報生成部33(印字位置判別部32)を構成してもよい。この場合、文字の高さ方向に対して相対的にハイフンの印字位置をずらすだけで、文字の印字態様を定めることができるので、印字処理が容易になると共に、印字される文字列の視覚的な体裁(外観)を改善しつつ第2のチェック情報(の基礎データ)を文字列中に埋め込むことができる。また、図4〜図6では、文字列が6桁の場合について例示しているが、文字列が6桁を超える場合には、印字態様を判別するための4桁分の文字を除く、二つ以上の全ての桁の文字の中心位置を、文字配列基準線35dを設定するための情報として利用してもよい。これにより、文字配列基準位置(文字配列基準線35d)を、より高い精度で設定することができる。
【0035】
また、図3に示すように、文字認識結果検証部34は、チェック情報生成部33により、冗長データとして生成された第1の誤りチェック情報と、チェックデジットとして生成された第2の誤りチェック情報と、をメインメモリ17から読み出し、これらの第1及び第2の誤りチェック情報に基づいて文字認識処理部30による文字認識結果の誤りの有無(文字認識結果の正当性の有無)を検証する。すなわち、文字認識結果検証部34は、図4に示すように、文字認識処理部30により文字認識された文字列36a中の全ての桁の文字の文字コードを基に得られた第1の誤りチェック情報と、文字認識処理部30により文字認識された文字列36aのうちで予め決められた並び位置にある複数の文字、すなわち2桁目〜4桁目の文字の印字態様(文字の上ずれ/下ずれ)を基に得られた第2の誤りチェック情報と、を比較照合し、互いが一致するか否かを判定する。
【0036】
さらに、文字認識結果検証部34は、第1及び第2のチェック情報どうしが一致した場合、例えば表示部16を通じて文字認識結果の正当性を示す可視情報を表示させる。また、文字認識結果検証部34は、第1及び第2のチェック情報どうしが一致しない場合、例えば表示部16を通じて文字認識結果に誤りがある旨を可視情報として表示させる。
【0037】
次に、印字装置2の印字プログラム8について説明する。図1及び図2に示すように、メインメモリ7上で実行されるこの印字プログラム8は、外部記憶装置9やCPU5と協働しつつ、印字位置設定部25を有する印字用イメージ生成部26、印字データ入力部23、演算規則定義部24、及び印字制御部27をソフトウェアとして実現する。なお、上述した印字データ入力部23、印字用イメージ生成部26、印字制御部27などは、各種の電子部品を組み合わせて構成したハードウェアにより実現されるものであってもよい。
【0038】
印字データ入力部23は、図2及び図4に示すように、帳票35上に印字すべき文字列36aの文字ごとの文字コード及び各文字の配列順序(並び位置)を表す情報を少なくとも含む印字データの入力を行う(入力を受け付ける)。
【0039】
演算規則定義部24は、図4に示す帳票35上に印字すべき文字列36aの印字用イメージを生成する際に印字用イメージ生成部26によって参照される。また、演算規則定義部24には、文字認識装置3の上述した演算規則定義部31が記憶する情報と同一内容の情報が記憶されている。印字用イメージ生成部26は、印字データ入力部23により入力された印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列36aの印字用イメージを生成する。
【0040】
すなわち、印字用イメージ生成部26は、印字データ入力部23により入力された印字データを演算規則定義部24を参照しつつ解釈し、演算規則定義部24内の第1の演算規則に従い、上述した第1の誤りチェック情報に対応する基礎データを算出する。具体的には、印字用イメージ生成部26は、文字列36aを構成する各桁の文字の文字コードに対応付けられた各桁の数値を加算しこの加算した合計値を『10』で除算したときの余りを求める。つまり、図4に例示するように、帳票35上に印字すべき文字列が『345678』といった6桁の文字列36aである場合、印字用イメージ生成部26は、演算規則定義部24を参照しつつ、『3+4+5+6+7+8=33』を『10』で割った余り『3』を上記基礎データとして算出する。
【0041】
また一方で、印字位置設定部25を有する印字用イメージ生成部26は、帳票35上に印字すべき文字列36aの基準位置となる文字配列基準線(文字配列基準位置)35dを設定すると共に、設定したこの文字配列基準線35dに対する文字の位置ずれを基に、印字態様を差別化した文字イメージを生成する。具体的には、印字用イメージ生成部26は、帳票35上に印字すべき文字の高さ方向における所定位置を文字配列基準線35dとして設定すると共に、文字配列基準線35dに対する文字の高さ方向の位置ずれを基に、印字態様を差別化した文字イメージを生成する。また、図4の例では、印字用イメージ生成部26は、帳票35上に印字すべき文字列36a中の所定の並び位置にある少なくとも二つ以上の文字の印字位置を基に文字配列基準線35dを設定する。
【0042】
すなわち、印字位置設定部25は、図4に加え、図5及び図6に例示した手法で上記した文字配列基準線(文字配列基準位置)35dを得るために、印字すべき文字列36a中の先頭の桁の文字『3』と最後尾の桁の文字『8』とのそれぞれの文字の中心位置を直線的に通過する文字配列基準線35dを仮想的な座標上に設定する。さらに、印字位置設定部25は、印字データから求めた第1の誤りチェック情報に対応する上述した基礎データ及び演算規則定義部24の内容に基づいて、印字すべき文字列中の所定の並び位置(所定の桁)に配列される複数の文字の印字態様を文字ごとに設定(選択)する。
【0043】
また、印字用イメージ生成部26は、基礎データとして算出された10進数の『3』を4桁の2進数『0011』に変換する。ここで、演算規則定義部24では、2進数の属性を付与された数値『0』に対応する印字態様が『下ずれ』、2進数の属性を付与された数値『1』に対応する印字態様が『上ずれ』として定義されている。したがって、印字位置設定部25は、図4に示すように、6桁の文字列36a中の2桁目〜4桁目の『4567』の印字態様の並びを『下下上上』に設定する。これにより、印字用イメージ生成部26は、各桁の文字が図4〜図6に例示した印字態様(印字位置)を持つ文字列36aの印字用イメージを生成する。
【0044】
印字制御部27は、印字用イメージ生成部26により生成された印字用イメージに対応させて印字ヘッド12の動作を制御する。つまり、印字制御部27は、図4〜図6に示すように、各桁の文字ごとに印字態様(印字位置)が設定された文字列36aが帳票35上に印字されるように、生成された印字用イメージに基づき、印字ヘッド12の動作を印字ヘッド駆動部11を介して制御する。
【0045】
次に、このように構成された文字処理システム1が行う処理を主に図7及び図8に基づき説明する。ここで、図7は、印字装置2の印字プログラム8が主体となって行う処理を示すフローチャートである。また、図8は、文字認識装置3の文字認識プログラム18が主体となって行う処理を示すフローチャートである。
【0046】
まず、印字装置2の印字プログラム8が主体となって行う処理について説明する。図7に示すように、帳票35上に印字すべき文字列36aの印字要求が生じた場合(S[ステップ]1)、印字データ入力部23は、文字列36aの各桁の文字ごとの文字コード及び各文字の配列順序(並び位置)を表す情報を持つ印字データを入力する(S2)。次に、印字用イメージ生成部26は、印字データ入力部23が入力した印字データから、上述した第1の誤りチェック情報に対応する基礎データ(図4の例では数値3)を算出する(S3)。
【0047】
次に、印字用イメージ生成部26の印字位置設定部25は、上記基礎データ及び演算規則定義部24の内容に基づいて、印字すべき文字列の印字位置を文字単位に設定する(S4)。これにより、印字用イメージ生成部26は、各桁の文字が図4〜図6に例示した印字態様(印字位置)を有する文字列36aの印字用イメージを生成する(S5)。さらに、印字制御部27は、図4〜図6に示すように、各桁の文字ごとに印字位置の設定された文字列36aが帳票35上に印字されるように、生成された印字用イメージに基づき、印字ヘッド12の動作を印字ヘッド駆動部11を介して制御する(S6)。
【0048】
次に、文字認識装置3の文字認識プログラム18が主体となって行う処理について説明する。図8に示すように、文字認識処理の要求が生じた場合(S11)、帳票イメージ入力部28は、イメージスキャナ22を通じて読み取られた帳票35のイメージを入力する(S12)。続いて、文字認識処理部30は、帳票イメージ入力部28に入力された帳票イメージ中の文字列36aを一文字ごとの文字イメージとして切り出し、切り出した一文字ごとの文字イメージの文字認識を実行する。具体的には、文字認識処理部30は、文字列36aを構成する各文字の文字コードを、文字ごとの並び位置を表す情報と対応付けてチェック情報生成部33側に出力する(S13)。
【0049】
次いで、チェック情報生成部33は、文字認識された各文字の文字コードを基に第1の誤りチェック情報を算出する(S14)。詳細には、チェック情報生成部33は、演算規則定義部31内の第1の演算規則に従い、各文字の文字コードに予め対応付けられた各桁の数値を基に演算を行って第1の誤りチェック情報(図4の例で、文字認識が正しく行われていれば数値3)を生成する。また、チェック情報生成部33が有する印字位置判別部32は、文字配列基準線35dを求めた後、文字列36a中の所定の桁(2桁目〜4桁目の)の文字の印字位置(上ずれ/下ずれ)を文字配列基準線35dを基準に判別する(S15)。
【0050】
さらに、チェック情報生成部33は、所定の文字ごとの印字位置(印字態様)として埋め込まれている上記基礎データを再構成し、第2の誤りチェック情報を得る(S16)。詳細には、チェック情報生成部33は、演算規則定義部31内の第2の演算規則に従い、文字ごとの印字位置(印字態様)に予め対応付けられた数値を基に演算を行って第2の誤りチェック情報(図4の例では数値3)を生成する。
【0051】
次に、文字認識結果検証部34は、チェック情報生成部33により生成された第1の誤りチェック情報と第2の誤りチェック情報とを比較照合し(S17)、文字認識処理部30による文字認識の誤りの有無をチェックする。ここで、第1及び第2の誤りチェック情報が一致した場合(S18のYES)、文字認識結果検証部34は、例えば表示部16を通じて文字認識結果の正当性を示す可視情報を表示させ、ユーザ側にこの旨を報知する(S19)。一方、第1及び第2の誤りチェック情報が不一致の場合(S18のNO)、文字認識結果検証部34は、例えば表示部16を通じて文字認識結果に誤りがある旨を可視情報として表示させ、ユーザに対して報知を行う(S20)。
【0052】
既述したように、本実施形態に係る文字処理システム1によれば、文字認識の行われた各文字の文字コードごとに予め対応付けられている数値から得られる第1の誤り検証情報と、文字認識の行われた文字列中の複数の所定の文字の印字態様ごとに予め対応付けられている数値から得られる第2の誤り検証情報とを比較照合することで、文字認識の誤りの有無をチェックすることができる。すなわち、文字の印字位置から上記の比較照合に必要な片方の誤りチェック情報(第2の誤りチェック情報)が得られる文字処理システム1によれば、例えばチェックデジットを埋め込むための専用の桁を文字列中に設けることなしに、文字認識結果の誤りを検証することができる。
【0053】
なお、本実施形態では、文字列の列なる方向に延びる文字配列基準線35d(文字配列基準位置)と直交する文字の高さ方向の位置ずれを基に、印字態様の判別を行うものであったが、これに代えて、図9に示すように文字列36bのピッチ方向の位置ずれに基づいて印字態様を判別できるように、印字位置判別部(チェック情報生成部)を構成してもよい。ここで、図9は、文字配列基準線35gを基準として所定の文字の印字位置をピッチ方向にずらした文字列36bを利用する文字認識の誤りチェックについて説明するための図である。
【0054】
すなわち、同図9に示すように、この場合の文字認識プログラムにより実現される印字位置判別部(チェック情報生成部)は、帳票35のイメージ上の文字列36b中のピッチ方向における所定位置に文字配列基準線(文字配列基準位置)35gを設定すると共に、この文字配列基準線35gに対しての文字イメージのピッチ方向の位置ずれを基に印字態様を判別(特定)する。すなわち、この場合の印字位置判別部は、図4〜図6に例示した方法で得られる上記文字配列基準線35dに対して平行で、且つ線分の長さが文字列36b中の先頭の桁の文字(文字イメージ)『3』の中心位置と最後尾の桁の文字(文字イメージ)『8』の中心位置との間の離間距離に等しい分割用基本線35fをまず求める。さらに、印字位置判別部は、文字認識対象の文字列36bの桁数を一桁減算した数で分割用基本線35fを文字列36bのピッチ方向に等分割(5分割)し、この場合の各分割点(4箇所)及び分割用基本線35fの両端(2個所)から、当該分割用基本線35fと直交するy軸方向へ、それぞれ延びる6本の文字配列基準線35gを求める。
【0055】
さらに、この場合の印字位置判別部は、文字列36bの各桁に各々対応する6本の文字配列基準線35gの直上の座標位置を文字配列基準位置として認識する。つまり、印字位置判別部は、文字(文字イメージ)『4』、『5』のように、各桁の文字ごとに各々対応する文字配列基準線35gのx座標値よりも、文字の中心位置(文字の外形画像に内接する矩形の重心位置)のx座標値が、x軸の負の方向に所定のしきい値以上シフトしている場合、その文字を『左ずれ(左寄り)』の印字態様として判別する。また、印字位置判別部は、文字(文字イメージ)『6』、『7』のように、各桁の文字ごとに各々対応する文字配列基準線35gのx座標値よりも、文字の中心位置のx座標値が、x軸の正の方向に所定のしきい値以上シフトしている場合、その文字を『右ずれ(右寄り)』の印字態様として判別する。
【0056】
さらに、演算規則定義部において、印字態様の『左ずれ』と2進数の属性を付与した数値『0』との対応付け、及び印字態様の『右ずれ』と2進数の属性を持つ数値『1』との対応付けを定義しておくことで、チェック情報生成部は、文字列36b中の2桁目〜4桁目の文字『4567』の印字態様から2進数『0011』を求め、これを10進数に変換した『3』を第2の誤りチェック情報として生成することができる。
【0057】
また、この場合、印字プログラムにて実現される印字位置設定部を持つ印字用イメージ生成部は、帳票35上に印字すべき文字列36bのピッチ方向における所定位置を文字配列基準線(文字配列基準位置)35gに設定すると共に、文字配列基準線35gに対する文字のピッチ方向の位置ずれを基に、印字態様を差別化した文字イメージを生成する。つまり、この場合の印字用イメージ生成部は、図9に示すように、帳票35上に印字すべき6桁の文字列36b中の2桁目〜4桁目の『4567』の印字態様(印字位置)の並びを『左左右右』に設定した印字用イメージを生成する。
【0058】
[第2の実施の形態]
次に、本発明の第2の実施形態を図10〜図14に基づき説明する。ここで、図10は、第2の実施形態に係る文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図11は、第2の実施形態に係る文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図12は、この実施形態で適用される文字列を構成するための二種類の文字フォント38a、38bを示す図であり、図13は、図12の二種類の文字フォント38a、38bからなる文字列36cを利用した文字認識の誤りチェックについて説明するための図である。また、図14は、図12の文字フォント38a、38bと異なる他の種類の文字フォント38c〜38hを示す図である。なお、これら図10〜図14において、図1〜図9に示した第1の実施形態で適用されていたものと同一の構成要素については、同一の符号を付与しその説明を省略する。
【0059】
この実施形態に係る文字処理システムは、印字装置2及び文字認識装置3のメインメモリ7、17上で実行される印字プログラム及び文字認識プログラムが、第1の実施形態の文字処理システム1の印字プログラム及び文字認識プログラムと異なる。すなわち、この実施形態の印字装置上で動作する印字プログラムは、第1の実施形態の印字位置設定部25を有する印字用イメージ生成部26及び演算規則定義部24に代えて、図10に示すように、文字フォント設定部42を有する印字用イメージ生成部43及び演算規則定義部41を、外部記憶装置9やCPU5と協働しつつソフトウェアとして実現する。一方、この実施形態の文字認識装置上で動作する文字認識プログラムは、第1の実施形態の印字位置判別部32を有するチェック情報生成部33及び演算規則定義部31に代えて、図11に示すように、文字フォント判別部46を有するチェック情報生成部47及び演算規則定義部45を、外部記憶装置9やCPU5と協働しつつソフトウェアとして実現する。
【0060】
図11に示すように、この実施形態に係る文字認識プログラムの演算規則定義部45には、第1の誤りチェック情報を得るために、第1の実施形態と同様に、文字の『0』、『1』、…『9』を示す文字コード(例えばSJIS:0x824f,0x8250…など)と数値『0』、『1』…『9』とがそれぞれ対応付けられたかたちで記憶されている。また、演算規則定義部45には、第1の実施形態の演算規則定義部31に記憶されていたものと同一の第1の演算規則が記憶されている。
【0061】
また、この実施形態の文字フォント判別部46を有するチェック情報生成部47は、帳票35上のイメージ上の文字の書体(文字フォント)を基に印字態様の判別を行う。つまり、演算規則定義部45には、図12及び図13に示すように、第2の誤りチェック情報を得るために、帳票35上に文字列36cとして印字される文字単位の文字フォント(印字態様)38a、38bと、これらの文字フォントごとに対応付けられる数値との対応関係を表す情報が記憶されている。つまり、演算規則定義部45では、印字態様としての書体が明朝体で表される『文字フォントA』38aと2進数の属性を付与された数値『0』とが対応付けられ、また印字態様としての書体がゴシック体で表される『文字フォントB』38bと2進数の属性を持つ数値『1』とが対応付けられている。
【0062】
ここで、本実施形態の辞書29内には、『文字フォントA』38a及び『文字フォントB』38bにそれぞれ対応する少なくとも2種類分の書体の文字イメージが記憶されている。文字フォント判別部46は、文字認識処理部30と協働しつつ、辞書29内の文字イメージと、文字列36c中から切り出した一文字ごとの文字イメージとのパターンマッチングを複合類似度法や部分空間法などを用いて行い文字フォントを判別する。また、本実施形態では、図13に示すように、『56927』の5桁の文字列36cが例示されている。すなわち、チェック情報生成部47は、演算規則定義部45を参照しつつ、『5+6+9+2+7=29』を『10』で割った演算結果である余り『9』を第1の誤りチェック情報として生成(算出)する。
【0063】
また、演算規則定義部45には、5桁の文字列36cを構成する複数の文字のうちで、印字態様の検出(判別)を行うべき所定の文字の並び位置(配列位置)が、例えば桁番号などで定義されている。本実施形態では、先頭から数えて1桁目〜5桁目の全ての桁の文字の文字フォント(印字態様)が検出対象となるように、例えば桁番号1〜5が演算規則定義部45に記憶されている。ここで、上述した第1の誤りチェック情報として算出され得る10進数の『0』〜『9』は、5桁の2進数である『00000』〜『01001』により表現することができる。また、演算規則定義部45は、文字列36c中の1桁目〜5桁目の文字ごとの文字フォントに対応させて、各桁が『0』又は『1』で表される5桁の2進数を求めると共に、この5桁の2進数を10進数に変換した1桁の数値を第2の誤りチェック情報として生成するための第2の演算規則を記憶している。
【0064】
詳述すると、図13に示す例では、文字列36cを構成する5桁全ての文字『56927』が印字態様の検出対象となる。ここで、先頭から数えて1桁目、3桁目、4桁目の文字『5』、『9』、『2』の印字態様は『文字フォントA』38aであり、2桁目、5桁目の文字『6』、『7』の印字態様は『文字フォントB』38bである。したがって、文字フォント(印字態様)38a、38bの並びは『ABAAB』となり、これを5桁の2進数で表わすと『01001』となる。つまり、チェック情報生成部47は、演算規則定義部45を参照しつつ、文字列36cを構成する全ての桁の文字の書体から2進数『01001』を求め、これを10進数に変換した演算結果としての『9』を第2の誤りチェック情報37bとして生成(算出)する。これにより、文字認識結果検証部34は、図13に示すように、文字認識された文字列36c中の全ての桁の文字の文字コードを基に得られた第1の誤りチェック情報(数値9)と、全ての桁の文字の文字フォントの判別結果を基に得られた第2の誤りチェック情報(数値9)と、が一致するか否かで文字認識結果の誤り(正当性)の有無を検証する。
【0065】
なお、図13に示す例において、文字認識結果(文字コードの検出)に誤りがあって例えばこの結果が『56827』となった場合、『5+6+8+2+7+8=28』を『10』で割った余りである第1のチェック情報は『8』となり、上記の正しい第2のチェック情報『9』と整合がとれず、文字認識結果の誤りを検出することが可能となる。また一方で、文字フォントの検出(判別)に誤りがあって例えばこの結果が『ABBAB』となった場合、これを5桁の2進数で表わすと『01101』となり、これを10進数に変換した第2のチェック情報である『13』は、上記の正しい第1の誤りチェック情報『9』と整合がとれず、文字認識処理における不具合を検出することが可能となる。
【0066】
一方、図11に示すように、この実施形態に係る印字プログラムの演算規則定義部41には、上述した文字認識プログラムの演算規則定義部24が記憶する情報と同一内容の情報が記憶されている。すなわち、印字用イメージ生成部43は、印字データ入力部23により入力された印字データを演算規則定義部41を参照しつつ解釈し、演算規則定義部41内の第1の演算規則に従い、上述した第1の誤りチェック情報に対応する基礎データ(図13の例では数値9)を算出する。
【0067】
さらに、文字フォント設定部42を有する印字用イメージ生成部43は、書体(文字フォント)の違いを基に印字態様を差別化した文字イメージを生成する。つまり、文字フォント設定部42は、印字データから求めた第1の誤りチェック情報に対応する上述した基礎データ及び演算規則定義部41の内容に基づいて、帳票35上に印字すべき文字列36c中の所定の並び位置に配列される複数の文字(本実施形態では全ての桁の文字)の文字フォント(印字態様)を文字ごとに設定(選択)する。
【0068】
具体的には、印字用イメージ生成部43は、基礎データとして算出された10進数の『9』を5桁の2進数『01001』に変換する。ここで、演算規則定義部41では、2進数の属性を付与された数値『0』に対応する印字態様が『文字フォントA』38a、2進数の属性を付与された数値『1』に対応する印字態様が『文字フォントB』38bとして定義されている。したがって、文字フォント設定部42は、図13に示すように、文字列36cを構成する1桁目〜5桁目の文字フォント(印字態様)38a、38bの並びを『ABAAB』に設定する。これにより、印字用イメージ生成部43は、各桁の文字が図13に例示した文字フォント(印字態様)を持つ文字列36cの印字用イメージを生成する。
【0069】
このように本実施形態に係る文字処理システムによれば、文字認識された文字列36c中の全ての桁の文字の文字コードを基に得られた第1の誤りチェック情報と、文字認識された文字列36c中の全ての桁の文字の文字フォント38a、38bを基に得られた第2の誤りチェック情報と、を比較照合して文字認識結果の検証を行うので、チェックデジットを埋め込むための専用の桁を文字列36c中に設けることなしに、文字認識結果の誤りをチェックすることができる。
【0070】
なお、本実施形態では、書体が明朝体で表される『文字フォントA』38aと書体がゴシック体で表される『文字フォントB』38bとを判別し、これを基に第2の誤りチェック情報を得るようにしていたが、これに代えて、図14に例示する文字フォントを本発明に適用してもよい。すなわち、同図14に示すように、書体が中抜き文字(白抜き文字)で表される文字フォント38cとこの中抜きの部分を塗りつぶした文字フォント38dとを適用し、文字フォントの中抜きの有/無を判別(及び設定)できるように文字フォント判別部46(及び文字フォント設定部42)を構成してもよい。また、これに代えて、アンダーバーの有る文字フォント38eとアンダーバーの無い文字フォント38fとを利用し、本発明を実現してもよいし、また、これに代えて、イタリック体の文字フォント38gと非イタリック体の文字フォント38hとを適用し本発明を構成することもできる。
【0071】
また、上述した文字フォント設定部42及び文字フォント判別部46に代えて、図15に示すように、文字列中の印字色を文字ごとに設定(選択)可能な印字色設定部を備えることで、印字色の違いにより印字態様を差別化した文字イメージを生成する印字用イメージ生成部と、イメージカラーを読み込み可能なカラースキャナを用い、文字列の印字色を文字ごとに判別可能(図15中の例えば紺色などの暗い色彩のカラー文字39aと例えば黄色などの明るい色彩のカラー文字39bとを判別可能)な印字色判別部を備えることで、帳票のイメージ上の文字の書体を基に印字態様の判別を行えるチェック情報生成部と、を有する文字処理システムを構成してもよい。
【0072】
また、これに代えて、印字すべき文字列の印字濃度(グレースケールの濃度)を文字ごとに設定(選択)可能な印字濃度設定部を備えることで、印字濃度の違いを基に印字態様を差別化した文字イメージを生成する印字用イメージ生成部と、ヒストグラム計算などによって文字列の印字濃度を文字ごとに判別可能な印字濃度判別部を備えることで、帳票のイメージ上の文字の書体を基に印字態様の判別を行えるチェック情報生成部と、を有する文字処理システムを構成してもよい。
【0073】
以上、本発明を第1、第2の実施形態により具体的に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述した実施形態では、図1に示したように文字処理システム1が、個別の印字装置2及び文字認識装置3により構成されていたが、これに代えて、図16に示すように、上記の印字装置2及び文字認識装置3がハードウェアとして一つになった文字認識機能付きの印字装置(文字処理システム)50などによっても本発明を実現することができる。
【0074】
さらに、第1の実施形態では、文字の印字位置の下ずれ/上ずれ(又は左ずれ/右ずれ)による2種類の印字態様を適用し、また、第2の実施形態では、互いに異なる文字フォント(又は印字色若しくは印字濃度)による2種類の印字態様を適用していたが、これに代えて、3種類以上の多段階の印字位置のずれを設定可能及び判別可能とすることや、また、3種類以上の文字フォント(又は3種類以上の印字色若しくは印字濃度)を設定可能及び判別可能とすることで、3種類以上の印字態様を第2の誤りチェック情報の生成に利用できるようにしてもよい。つまり、この場合、文字認識対象の文字列中に、より多くの情報を埋め込むことができるので、文字認識の誤り検出にのみならず、文字認識の誤り訂正を行うことなどが可能となる。
【0075】
また、上記の第1、第2の実施形態では、第1の誤りチェック情報と第2の誤りチェック情報とを比較照合した一致/不一致の結果から文字認識結果の誤りの有無をチェックすることとしたが、本発明はこれに限定されるものではない。例えば、第1の誤りチェック情報と第2の誤りチェック情報の各数値の差、偶数/奇数の関係、その他の種々の条件によって、文字認識結果の誤りの有無をチェックできるように、各文字コードにそれぞれ割り当てる数値、及び各印字態様にそれぞれ割り当てる数値を選定することとしてもよい。すなわち、第1の誤りチェック情報と第2の誤りチェック情報との互いの数値の相対的な関係などに基づいて、文字認識結果の誤りの有無をチェックするようにしてもよい。
【図面の簡単な説明】
【0076】
【図1】本発明の第1の実施形態に係る文字処理システムのハードウェアの構成を示すブロック図。
【図2】図1の文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図3】図1の文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図4】帳票上の文字配列基準線から所定の文字の印字位置を高さ方向にずらした文字列を利用する文字認識結果の誤りチェックについて説明するための図。
【図5】図4の文字配列基準線を帳票イメージの端縁の位置を基準に設定した例を示す図。
【図6】図4の文字配列基準線を、帳票上に予め記された文字記入枠のイメージ上の位置を基準に設定した例を示す図。
【図7】図1の文字処理システムが備えた印字装置の印字プログラムが主体となって行う処理を示すフローチャート。
【図8】図1の文字処理システムが備えた文字認識装置の文字認識プログラムが主体となって行う処理を示すフローチャート。
【図9】文字配列基準線を基準として所定の文字の印字位置をピッチ方向にずらした文字列を利用する文字認識の誤りチェックについて説明するための図。
【図10】本発明の第2の実施形態に係る文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図11】本発明の第2の実施形態に係る文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図12】第2の実施形態で適用される文字列を構成するための二種類の文字フォントを示す図。
【図13】図12の二種類の文字フォントからなる文字列を利用した文字認識の誤りチェックについて説明するための図。
【図14】図12の文字フォントと異なる他の種類の文字フォントを示す図。
【図15】第2の実施形態の変形例として、文字列を構成するための印字色の異なる二種類のカラー文字を示す図。
【図16】本発明が適用された文字認識機能を備える印字装置を示すブロック図。
【符号の説明】
【0077】
1…文字処理システム、2,50…印字装置、3…文字認識装置、7,17…メインメモリ、8…印字プログラム、12…印字ヘッド、18…文字認識プログラム、22…イメージスキャナ、23…印字データ入力部、24,31,41,45…演算規則定義部、25…印字位置設定部、26,43…印字用イメージ生成部、27…印字制御部、28…帳票イメージ入力部、29…辞書、30…文字認識処理部、32…印字位置判別部、33,47…チェック情報生成部、34…文字認識結果検証部、35…帳票、35a〜35c…帳票の縁部、35d,35g…文字配列基準線、35e…文字記入枠、35f…分割用基本線、36a,36b,36c…文字列、37a,37b…第2の誤りチェック情報、42…文字フォント設定部、46…文字フォント判別部、38a〜38h…文字フォント、39a,39b…カラー文字。
【特許請求の範囲】
【請求項1】
少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、
前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、
前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部と、
前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部と、
を具備することを特徴とする文字認識装置。
【請求項2】
前記チェック情報生成部は、前記文字認識された各文字の文字コードごとに予め対応付けられている数値から第1の演算規則に従って求めた演算結果を前記第1の誤りチェック情報として生成すると共に、前記文字認識された複数の所定の文字の印字態様ごとに予め対応付けられている数値から第2の演算規則に従って求めた演算結果を前記第2の誤りチェック情報として生成し、
前記文字認識結果検証部は、前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報を照合して、前記文字認識処理部による文字認識結果の誤りの有無を検証することを特徴とする請求項1記載の文字認識装置。
【請求項3】
前記チェック情報生成部は、前記イメージ入力部により入力された前記用紙のイメージ上において文字列のイメージの基準位置となる文字配列基準位置を設定すると共に、設定したこの文字配列基準位置に対する文字イメージの位置ずれを基に前記印字態様を判別することを特徴とする請求項1又は2記載の文字認識装置。
【請求項4】
前記チェック情報生成部は、前記用紙のイメージ上の文字の高さ方向若しくは前記用紙のイメージ上の前記文字列のピッチ方向における所定位置を前記文字配列基準位置として設定すると共に、方向の対応する一方の文字配列基準位置に対しての文字イメージの高さ方向の位置ずれ若しくは前記文字イメージのピッチ方向の位置ずれを基に前記印字態様を判別することを特徴とする請求項3記載の文字認識装置。
【請求項5】
前記チェック情報生成部は、前記用紙のイメージ上で列なる前記文字列中の所定の並び位置にある少なくとも二つ以上の文字イメージの位置を基に前記文字配列基準位置を設定することを特徴とする請求項3又は4記載の文字認識装置。
【請求項6】
前記チェック情報生成部は、前記用紙のイメージの端縁の位置若しくは前記用紙上に予め記された文字記入枠のイメージ上の位置を基準に前記文字配列基準位置を設定することを特徴とする請求項3記載の文字認識装置。
【請求項7】
前記チェック情報生成部は、前記用紙のイメージ上の文字の書体、印字色又は印字濃度を基に前記印字態様の判別を行うことを特徴とする請求項1又は2記載の文字認識装置。
【請求項8】
用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、
前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、
前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部と、
を具備することを特徴とする印字装置。
【請求項9】
前記印字用イメージ生成部は、前記用紙上に印字すべき文字列の基準位置となる文字配列基準位置を設定すると共に、設定したこの文字配列基準位置に対する文字の位置ずれを基に、前記印字態様を差別化した文字イメージを生成することを特徴とする請求項8記載の印字装置。
【請求項10】
前記印字用イメージ生成部は、前記用紙上に印字すべき文字の高さ方向若しくは前記用紙上に印字すべき文字列のピッチ方向における所定位置を前記文字配列基準位置として設定すると共に、方向の対応した一方の文字配列基準位置に対する文字の高さ方向の位置ずれ若しくは文字のピッチ方向の位置ずれを基に、前記印字態様を差別化した文字イメージを生成することを特徴とする請求項9記載の印字装置。
【請求項11】
前記印字用イメージ生成部は、前記用紙上に印字すべき前記文字列中の所定の並び位置にある少なくとも二つ以上の文字の印字位置を基に前記文字配列基準位置を設定することを特徴とする請求項9又は10記載の印字装置。
【請求項12】
前記印字用イメージ生成部は、前記用紙の端縁の位置若しくは前記用紙上に予め記された文字記入枠の位置を基準に前記文字配列基準位置を設定することを特徴とする請求項9記載の印字装置。
【請求項13】
前記印字用イメージ生成部は、書体、印字色又は印字濃度の違いによって前記印字態様を差別化した文字イメージを生成することを特徴とする請求項8記載の印字装置。
【請求項14】
請求項1ないし7のいずれか1項に記載の文字認識装置と請求項8ないし13のいずれか1項に記載の印字装置とを備えることを特徴とする文字処理システム。
【請求項15】
少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、
前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、
前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部と、
前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部、
としてコンピュータを機能させることを特徴とする文字認識プログラム。
【請求項16】
用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、
前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、
前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部、
としてコンピュータを機能させることを特徴とする印字プログラム。
【請求項1】
少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、
前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、
前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部と、
前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部と、
を具備することを特徴とする文字認識装置。
【請求項2】
前記チェック情報生成部は、前記文字認識された各文字の文字コードごとに予め対応付けられている数値から第1の演算規則に従って求めた演算結果を前記第1の誤りチェック情報として生成すると共に、前記文字認識された複数の所定の文字の印字態様ごとに予め対応付けられている数値から第2の演算規則に従って求めた演算結果を前記第2の誤りチェック情報として生成し、
前記文字認識結果検証部は、前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報を照合して、前記文字認識処理部による文字認識結果の誤りの有無を検証することを特徴とする請求項1記載の文字認識装置。
【請求項3】
前記チェック情報生成部は、前記イメージ入力部により入力された前記用紙のイメージ上において文字列のイメージの基準位置となる文字配列基準位置を設定すると共に、設定したこの文字配列基準位置に対する文字イメージの位置ずれを基に前記印字態様を判別することを特徴とする請求項1又は2記載の文字認識装置。
【請求項4】
前記チェック情報生成部は、前記用紙のイメージ上の文字の高さ方向若しくは前記用紙のイメージ上の前記文字列のピッチ方向における所定位置を前記文字配列基準位置として設定すると共に、方向の対応する一方の文字配列基準位置に対しての文字イメージの高さ方向の位置ずれ若しくは前記文字イメージのピッチ方向の位置ずれを基に前記印字態様を判別することを特徴とする請求項3記載の文字認識装置。
【請求項5】
前記チェック情報生成部は、前記用紙のイメージ上で列なる前記文字列中の所定の並び位置にある少なくとも二つ以上の文字イメージの位置を基に前記文字配列基準位置を設定することを特徴とする請求項3又は4記載の文字認識装置。
【請求項6】
前記チェック情報生成部は、前記用紙のイメージの端縁の位置若しくは前記用紙上に予め記された文字記入枠のイメージ上の位置を基準に前記文字配列基準位置を設定することを特徴とする請求項3記載の文字認識装置。
【請求項7】
前記チェック情報生成部は、前記用紙のイメージ上の文字の書体、印字色又は印字濃度を基に前記印字態様の判別を行うことを特徴とする請求項1又は2記載の文字認識装置。
【請求項8】
用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、
前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、
前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部と、
を具備することを特徴とする印字装置。
【請求項9】
前記印字用イメージ生成部は、前記用紙上に印字すべき文字列の基準位置となる文字配列基準位置を設定すると共に、設定したこの文字配列基準位置に対する文字の位置ずれを基に、前記印字態様を差別化した文字イメージを生成することを特徴とする請求項8記載の印字装置。
【請求項10】
前記印字用イメージ生成部は、前記用紙上に印字すべき文字の高さ方向若しくは前記用紙上に印字すべき文字列のピッチ方向における所定位置を前記文字配列基準位置として設定すると共に、方向の対応した一方の文字配列基準位置に対する文字の高さ方向の位置ずれ若しくは文字のピッチ方向の位置ずれを基に、前記印字態様を差別化した文字イメージを生成することを特徴とする請求項9記載の印字装置。
【請求項11】
前記印字用イメージ生成部は、前記用紙上に印字すべき前記文字列中の所定の並び位置にある少なくとも二つ以上の文字の印字位置を基に前記文字配列基準位置を設定することを特徴とする請求項9又は10記載の印字装置。
【請求項12】
前記印字用イメージ生成部は、前記用紙の端縁の位置若しくは前記用紙上に予め記された文字記入枠の位置を基準に前記文字配列基準位置を設定することを特徴とする請求項9記載の印字装置。
【請求項13】
前記印字用イメージ生成部は、書体、印字色又は印字濃度の違いによって前記印字態様を差別化した文字イメージを生成することを特徴とする請求項8記載の印字装置。
【請求項14】
請求項1ないし7のいずれか1項に記載の文字認識装置と請求項8ないし13のいずれか1項に記載の印字装置とを備えることを特徴とする文字処理システム。
【請求項15】
少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、
前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、
前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第1の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第2の誤りチェック情報とを生成するチェック情報生成部と、
前記チェック情報生成部により生成された前記第1及び第2の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部、
としてコンピュータを機能させることを特徴とする文字認識プログラム。
【請求項16】
用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、
前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、
前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部、
としてコンピュータを機能させることを特徴とする印字プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−141378(P2008−141378A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2006−324299(P2006−324299)
【出願日】平成18年11月30日(2006.11.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願日】平成18年11月30日(2006.11.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
[ Back to top ]