(57)【要約】【課題】チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りを文字認識装置によりチェックする。【解決手段】本発明の文字認識装置３は、二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された帳票のイメージを入力する帳票イメージ入力部２８と、入力された帳票のイメージを基に文字認識を行う文字認識処理部３０と、文字認識された各文字の文字コードを基に得られる第１の誤りチェック情報と文字認識された文字列中の所定の文字の印字態様を基に得られる第２の誤りチェック情報とを生成するチェック情報生成部３３と、生成された第１及び第２の誤りチェック情報を照合して文字認識結果の誤りをチェックする文字認識結果検証部３４と、をソフトウェアにより実現する。【選択図】図３
2008141378.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、
前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、
前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第１の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第２の誤りチェック情報とを生成するチェック情報生成部と、
前記チェック情報生成部により生成された前記第１及び第２の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部と、
を具備することを特徴とする文字認識装置。
【請求項２】
前記チェック情報生成部は、前記文字認識された各文字の文字コードごとに予め対応付けられている数値から第１の演算規則に従って求めた演算結果を前記第１の誤りチェック情報として生成すると共に、前記文字認識された複数の所定の文字の印字態様ごとに予め対応付けられている数値から第２の演算規則に従って求めた演算結果を前記第２の誤りチェック情報として生成し、
前記文字認識結果検証部は、前記チェック情報生成部により生成された前記第１及び第２の誤りチェック情報を照合して、前記文字認識処理部による文字認識結果の誤りの有無を検証することを特徴とする請求項１記載の文字認識装置。
【請求項３】
前記チェック情報生成部は、前記イメージ入力部により入力された前記用紙のイメージ上において文字列のイメージの基準位置となる文字配列基準位置を設定すると共に、設定したこの文字配列基準位置に対する文字イメージの位置ずれを基に前記印字態様を判別することを特徴とする請求項１又は２記載の文字認識装置。
【請求項４】
前記チェック情報生成部は、前記用紙のイメージ上の文字の高さ方向若しくは前記用紙のイメージ上の前記文字列のピッチ方向における所定位置を前記文字配列基準位置として設定すると共に、方向の対応する一方の文字配列基準位置に対しての文字イメージの高さ方向の位置ずれ若しくは前記文字イメージのピッチ方向の位置ずれを基に前記印字態様を判別することを特徴とする請求項３記載の文字認識装置。
【請求項５】
前記チェック情報生成部は、前記用紙のイメージ上で列なる前記文字列中の所定の並び位置にある少なくとも二つ以上の文字イメージの位置を基に前記文字配列基準位置を設定することを特徴とする請求項３又は４記載の文字認識装置。
【請求項６】
前記チェック情報生成部は、前記用紙のイメージの端縁の位置若しくは前記用紙上に予め記された文字記入枠のイメージ上の位置を基準に前記文字配列基準位置を設定することを特徴とする請求項３記載の文字認識装置。
【請求項７】
前記チェック情報生成部は、前記用紙のイメージ上の文字の書体、印字色又は印字濃度を基に前記印字態様の判別を行うことを特徴とする請求項１又は２記載の文字認識装置。
【請求項８】
用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、
前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、
前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部と、
を具備することを特徴とする印字装置。
【請求項９】
前記印字用イメージ生成部は、前記用紙上に印字すべき文字列の基準位置となる文字配列基準位置を設定すると共に、設定したこの文字配列基準位置に対する文字の位置ずれを基に、前記印字態様を差別化した文字イメージを生成することを特徴とする請求項８記載の印字装置。
【請求項１０】
前記印字用イメージ生成部は、前記用紙上に印字すべき文字の高さ方向若しくは前記用紙上に印字すべき文字列のピッチ方向における所定位置を前記文字配列基準位置として設定すると共に、方向の対応した一方の文字配列基準位置に対する文字の高さ方向の位置ずれ若しくは文字のピッチ方向の位置ずれを基に、前記印字態様を差別化した文字イメージを生成することを特徴とする請求項９記載の印字装置。
【請求項１１】
前記印字用イメージ生成部は、前記用紙上に印字すべき前記文字列中の所定の並び位置にある少なくとも二つ以上の文字の印字位置を基に前記文字配列基準位置を設定することを特徴とする請求項９又は１０記載の印字装置。
【請求項１２】
前記印字用イメージ生成部は、前記用紙の端縁の位置若しくは前記用紙上に予め記された文字記入枠の位置を基準に前記文字配列基準位置を設定することを特徴とする請求項９記載の印字装置。
【請求項１３】
前記印字用イメージ生成部は、書体、印字色又は印字濃度の違いによって前記印字態様を差別化した文字イメージを生成することを特徴とする請求項８記載の印字装置。
【請求項１４】
請求項１ないし７のいずれか１項に記載の文字認識装置と請求項８ないし１３のいずれか１項に記載の印字装置とを備えることを特徴とする文字処理システム。
【請求項１５】
少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、
前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、
前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第１の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第２の誤りチェック情報とを生成するチェック情報生成部と、
前記チェック情報生成部により生成された前記第１及び第２の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部、
としてコンピュータを機能させることを特徴とする文字認識プログラム。
【請求項１６】
用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、
前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、
前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部、
としてコンピュータを機能させることを特徴とする印字プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票などの用紙に対し印字又は印字した文字の文字認識を行うための装置やプログラムに関する。
【背景技術】
【０００２】
従来、光学的文字読取装置による文字認識処理の誤りのチェックには、例えば文字認識対象の文字列中に１桁あるいは複数桁追加して印字される、いわゆるチェックデジットなどが利用されている（例えば、特許文献１参照）。
【０００３】
このチェックデジットは、文字認識対象とされる例えば数字列の各桁の数値などを基に一定の規則に従った演算を行うことで得られる答えである。したがって、文字認識された上記数字列の各数値を基に得られた演算結果とチェックデジットとの一致／不一致を確認することで、文字認識結果の誤りの有無を検証することができる。
【特許文献１】特開平７−２４６７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来のチェック方法は、チェックデジットとして機能する文字を文字列中に１桁以上追加する必要があるため、チェックデジットを含めることを前提としないコード体系の文字列（例えば日付などを表わす文字列）が対象となる場合や、データ処理系の制約で文字列の桁数を増加できない場合などにおいて課題を抱えている。
【０００５】
そこで本発明は、上記課題を解決するためになされたもので、チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りをチェックすることができる文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る文字認識装置は、少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列が印字された用紙のイメージを入力するイメージ入力部と、前記イメージ入力部により入力された前記イメージを基に文字認識を行う文字認識処理部と、前記文字認識処理部により文字認識された各文字の文字コードを基に得られる第１の誤りチェック情報と前記文字認識された文字列中の所定の文字の印字態様を基に得られる第２の誤りチェック情報とを生成するチェック情報生成部と、前記チェック情報生成部により生成された前記第１及び第２の誤りチェック情報に基づいて、前記文字認識処理部による文字認識結果を検証する文字認識結果検証部と、を具備することを特徴とする。
【０００７】
本発明では、文字認識の行われた各文字の例えば文字コードごとに予め対応付けられている数値などから得られる第１の誤り検証情報と、文字認識の行われた文字列中の例えば複数の所定の文字の印字態様ごとに予め対応付けられている数値などから得られる第２の誤り検証情報とに基づいて、文字認識結果の検証を行うので、チェックデジットを埋め込むための専用の桁を文字列中に設ける（追加する）ことなしに、文字認識結果の誤りをチェックすることができる。
【０００８】
ここで、上述した印字態様の種別は、印字された文字の例えば高さ方向の位置ずれ、文字列のピッチ方向の位置ずれ、文字の印字色や印字濃度、文字の書体（文字フォント）などによって判別される。
【０００９】
また、本発明の印字装置は、用紙上に印字すべき文字列の各文字に対応する文字コード及び前記各文字の配列順序を表す情報を少なくとも含む印字データを入力する印字データ入力部と、前記印字データ入力部により入力された前記印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列の印字用イメージを生成する印字用イメージ生成部と、前記印字用イメージ生成部により生成された前記印字用イメージに対応させて印字ヘッドの動作を制御する印字制御部と、を具備することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、チェックデジットを埋め込むための桁を文字列中に設けることなく、文字認識結果の誤りをチェックすることができる文字認識装置、印字装置、文字処理システム、文字認識プログラム及び印字プログラムを提供することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を図面に基づき説明する。
［第１の実施の形態］
図１は、本発明の第１の実施形態に係る文字処理システム１のハードウェアの構成を示すブロック図である。また、図２は、この文字処理システム１の備える印字装置２がソフトウェアで実現する構成部分を機能的に示すブロック図である。さらに、図３は、図１の文字処理システム１が備える文字認識装置３がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図４は、帳票３５上の文字配列基準線３５ｄから所定の文字の印字位置を高さ方向にずらした文字列３６ａを利用する文字認識結果の誤りチェックについて説明するための図である。
【００１２】
すなわち、図１及び図４に示すように、この実施形態の文字処理システム１は、インタフェース２１を介してイメージスキャナ２２が接続された文字認識装置３と、印字装置２とから構成される。イメージスキャナ２２は、文字列３６ａが印字された用紙としての帳票３５の紙面上のイメージ（画像）を光学的に読み取り、読み取った帳票イメージ（帳票３５のイメージデータ）を出力する。
【００１３】
印字装置２は、図１に示すように、ＣＰＵ５、表示部６、入力操作部１０、外部記憶装置９、メインメモリ７、印字ヘッド駆動部１１、印字ヘッド１２を備える。表示部６は、ＣＲＴモニタや液晶ディスプレイなどにより構成されており、ユーザに対し各種情報を可視的に表示する。入力操作部１０は、マウスやタブレットなどのポインティングデバイスやキーボードなどによって構成されており、印字装置本体に対し各種の指示を与えるための入力装置である。印字ヘッド駆動部１１は、印字ヘッド１２を駆動するためのドライバ回路である。
【００１４】
また、印字装置２は、いわゆるカラープリンタであって、赤色、青色、緑色などの色彩の異なる複数の印字色の中から選択した印字色で印字を行うことが可能である。さらに、印字装置２は、印字濃度の設定機能を有し、例えば２５６階調（８ビット）や６５５３６階調（１６ビット）のグレースケールで黒色（灰色）の印字文字の濃度を表現する。また、印字装置２が備えるＨＤＤなどの外部記憶装置９には、オペレーティングシステムや、後に詳述する印字プログラム８のプログラム本体が予めインストールされている。
【００１５】
一方、文字認識装置３は、図１に示すように、ＣＰＵ１５、入力操作部２０、外部記憶装置１９、表示部１６、メインメモリ１７を備える。表示部１６は、ユーザに対し各種情報を可視的に表示するためのデバイスであって、ＣＲＴモニタや液晶ディスプレイなどにより構成されている。入力操作部２０は、文字認識装置本体に対して各種の指示を入力するための構成部分であり、ポインティングデバイスやキーボードなどによって実現されている。また、ＨＤＤなどが適用された外部記憶装置１９には、オペレーティングシステムや、後述する文字認識プログラム１８のプログラム本体が予めインストールされている。
【００１６】
ここで、文字認識プログラム１８について説明する。図１及び図３に示すように、メインメモリ１７上で実行されるこの文字認識プログラム１８は、外部記憶装置１９やＣＰＵ１５と協働しつつ、印字位置判別部３２を有するチェック情報生成部３３、帳票イメージ入力部２８、文字認識処理部３０、文字認識結果検証部３４、辞書２９及び演算規則定義部３１をソフトウェアとして実現する。なお、上述した帳票イメージ入力部２８、文字認識処理部３０、チェック情報生成部３３、文字認識結果検証部３４は、各種の電子部品を組み合わせて構成したハードウェアにより実現されるものであってもよい。
【００１７】
帳票イメージ入力部２８は、図３及び図４に示すように、イメージスキャナ２２で読み取られた帳票３５のイメージの入力を行う（入力を受け付ける）。また、このように紙面上のイメージが入力される帳票３５には、図４に示すように、少なくとも二種類以上の印字態様の中から文字ごとに選択された印字態様を持つ文字列３６ａが印字されている。文字認識処理部３０は、帳票イメージ入力部２８に入力された帳票イメージを基に文字認識を行う。つまり、文字認識処理部３０は、帳票イメージ中の文字列３６ａを一文字ごとのイメージとして切り出し（文字抽出処理を行い）、切り出した一文字ごとの文字イメージ（文字画像）の文字認識を行う。
【００１８】
辞書２９は、例えば外部記憶装置１９などにデータベースとして構築されており、上記の文字認識を行う際に文字認識処理部３０により参照される。また、辞書２９内には、複数の文字イメージと複数の文字コード（character code）とが互いの対応関係を表す情報と共に記憶されている。すなわち、文字認識処理部３０は、上記文字列３６ａ中から切り出した一文字ごとの文字イメージと辞書２９内の文字イメージとのマッチングを複合類似度法や部分空間法などを用いて行い、辞書２９内の一致した文字イメージに対応する文字コードを文字認識結果として出力する。詳細には、文字認識処理部３０は、文字列３６ａを構成する各文字の文字コード（文字コードデータ）を、文字ごとの並び位置（配列順序）を表す情報と対応付けてチェック情報生成部３３側に出力する。
【００１９】
チェック情報生成部３３は、文字認識処理部３０により文字認識された文字列３６ａの各文字の文字コードを基に得られる第１の誤りチェック情報と文字認識処理部３０により文字認識された文字列３６ａ中の所定の文字ごとの印字態様を基に得られる第２の誤りチェック情報とを生成する。演算規則定義部３１は、上記した一対の誤りチェック情報を生成する際にチェック情報生成部３３によって参照される。
【００２０】
詳述すると、演算規則定義部３１には、まず、第１の誤りチェック情報を得るために、複数の文字コードとこれらの文字コードごとに対応付けられる数値との対応関係を示す情報が記憶されている。つまり、演算規則定義部３１では、文字（数字）の『０』を示す文字コード（例えばSJIS:0x824f）と数値『０』とが対応付けられ、また、文字の『１』を示す文字コード（例えばSJIS:0x8250）と数値『１』とが対応付けられている。さらに、演算規則定義部３１では、同様に、文字の『２』、『３』…『９』を示す文字コードと数値『２』、『３』…『９』とがそれぞれ対応付けられている。
【００２１】
また、演算規則定義部３１は、文字列３６ａを構成する各桁の文字の文字コードに対応付けられた各桁の数値を加算し、この合計値を『１０』で除算したときの余り（１桁の整数）を第１の誤りチェック情報として生成するための第１の演算規則を記憶している。したがって、冗長データとして得られる第１の誤りチェック情報は、『０』〜『９』の１桁の１０進数で表される。本実施形態では、図４に示すように、『３４５６７８』の６桁の文字列３６ａが例示されている。ここで、チェック情報生成部３３は、文字認識された文字列３６ａ中の各文字の文字コードごとに予め対応付けられている数値から第１の演算規則に従って求めた演算結果を第１の誤りチェック情報として生成する。すなわち、チェック情報生成部３３は、演算規則定義部３１を参照しつつ、『３＋４＋５＋６＋７＋８＝３３』を『１０』で割った演算結果である余り『３』を第１の誤りチェック情報として生成（算出）する。このようにして算出された第１の誤りチェック情報は、冗長データとして一時的にメインメモリ１７に記憶される。
【００２２】
なお、本実施形態においては、文字列３６ａとして数字列を例示しているが、数字と英字が混在する文字列や英字のみで構成される文字列から、上記の第１の誤りチェック情報を生成できるようにしてもよい。つまり例えば、英字（アルファベット）の『Ａ』、『Ｂ』、『Ｃ』…を示す文字コード（例えばSJIS:0x8260,0x8261,0x8262,…）と数値『１１』、『１２』、『１３』…などとを対応付けて演算規則定義部３１に記憶させておくことで、英字を含む文字列から第１の誤りチェック情報を得ることができる。また、英字や数字以外の文字を示す文字コードと所定の数値とを対応付けて演算規則定義部３１に記憶させておき、英字や数字以外の文字を含む文字列から第１の誤りチェック情報を得るようにしてもよい。これにより、上記した方法で得られる第１の誤りチェック情報と後述する第２の誤りチェック情報とを比較照合することで、様々な種類の文字からなる文字列を対象とした文字認識の誤りチェックを実現できる。
【００２３】
また、演算規則定義部３１には、第２の誤りチェック情報を得るために、帳票３５上に文字列３６ａとして印字される文字単位の印字態様とこれらの印字態様ごとに対応付けられる数値との対応関係を表す情報が記憶されている。ここで、本実施形態のチェック情報生成部３３が有する印字位置判別部３２は、図４に示すように、文字列３６ａを構成する文字の高さ方向（文字列の列なるｘ軸方向と直交するｙ軸方向）において、文字配列基準線３５ｄに対し、文字が下ずれ（下寄り）であるか又は上ずれ（上寄り）であるかによって印字態様を判別（特定）する。つまり、演算規則定義部３１では、印字態様の『下ずれ』と２進数の属性を付与された数値『０』とが対応付けられ、また印字態様の『上ずれ』と２進数の属性を持つ数値『１』とが対応付けられている。なお、上記した文字コードに対応付けられている数値の『０』、『１』には、１０進数の属性が付与されている。
【００２４】
また、演算規則定義部３１には、文字列３６ａを構成する複数の文字のうちで、印字態様の検出（判別）を行うべき所定の文字の並び位置（配列位置）が、例えば桁番号などで定義されている。ここで、上述した第１の誤りチェック情報として算出され得る１０進数の『０』〜『９』は、４桁の２進数である『００００』〜『１００１』により表現することができる。本実施形態では、６桁の文字列３６ａ中の先頭の桁と最後尾（末尾）の桁の文字に挟まれる所定の桁の複数の文字、すなわち、先頭から数えて２桁目〜４桁目の文字の印字態様が検出されるように、例えば桁番号２〜４が演算規則定義部３１に記憶されている。また、演算規則定義部３１は、文字列３６ａ中の２桁目〜４桁目の文字ごとの印字態様に対応させて、各桁が『０』又は『１』で表される４桁の２進数を求めると共に、この４桁の２進数を１０進数に変換した１桁の数値を第２の誤りチェック情報として生成するための第２の演算規則を記憶している。
【００２５】
詳述すると、図４に示す例では、６桁の文字列３６ａ中の２桁目〜４桁目の『４５６７』が印字態様の検出対象となる。ここで、２桁目、３桁目の文字『４』、『５』の印字態様は『下ずれ』であり、４桁目、５桁目の文字『６』、『７』の印字態様は『上ずれ』である。したがって、印字態様の並びは『下下上上』となり、これを４桁の２進数で表わすと「００１１」となる。チェック情報生成部３３は、文字認識された複数の所定の文字の印字態様ごとに予め対応付けられている数値から第２の演算規則に従って求めた演算結果を第２の誤りチェック情報として生成する。つまり、チェック情報生成部３３は、演算規則定義部３１を参照しつつ、２桁目〜４桁目の各文字の印字態様から２進数『００１１』を求め、これを１０進数に変換した演算結果としての『３』を第２の誤りチェック情報３７ａとして生成（算出）する。このようにして算出された第２の誤りチェック情報３７ａは、チェックデジットとして一時的にメインメモリ１７に記憶される。
【００２６】
なお、図４に示す例で文字認識処理部３０による文字認識結果に誤り（誤認）があって、例えば文字認識結果が『３４５０７８』となった場合、『３＋４＋５＋０＋７＋８＝２７』を『１０』で除算した余りである第１のチェック情報の数値『７』は、２進数『００１１』を１０進数に変換して得られる第２のチェック情報としての数値『３』と整合がとれない。これにより、文字認識結果の誤りを検出することが可能となる。
【００２７】
ここで、印字態様の『下ずれ』、『上ずれ』を判別するための文字配列基準線３５ｄ（文字配列基準位置）の設定方法について、図４に加え、図５及び図６に基づき説明を行う。前記の図５は、帳票３５のイメージの端縁３５ａ、３５ｂの位置を基に文字配列基準線３５ｄを設定した例を示すものであり、また、図６は、帳票３５上に予め記された文字記入枠のイメージ上の位置を基準に文字配列基準線３５ｄを設定した例を示すものである。
【００２８】
印字位置判別部３２を有するチェック情報生成部３３は、帳票イメージ入力部２８により入力された帳票イメージ上において文字列３６ａのイメージの基準位置となる文字配列基準位置を文字配列基準線３５ｄとして設定すると共に、設定したこの文字配列基準線３５ｄに対する文字イメージの位置ずれを基に印字態様を判別（特定）する。具体的には、チェック情報生成部３３は、帳票３５のイメージ上の文字の高さ方向における所定位置に文字配列基準線３５ｄを設定すると共に、この文字配列基準線３５ｄに対しての文字イメージの高さ方向の位置ずれを基に印字態様を判別する。
【００２９】
また、図４の例では、チェック情報生成部３３は、帳票イメージ上で列なる文字列３６ａ中の所定の並び位置にある少なくとも二つ以上の文字イメージの位置を基に文字配列基準線３５ｄを設定する。すなわち、印字位置判別部３２は、図４に示すように、文字列３６ａ中の先頭の桁の文字（文字イメージ）『３』の中心位置と最後尾の桁の文字（文字イメージ）『８』の中心位置とを仮想的な座標系において求める。この場合、文字『３』、『８』の例えば外形画像に内接する（外形画像が収まる）矩形の重心位置を文字『３』、『８』の中心位置（中心座標位置）として求める。さらに、印字位置判別部３２は、文字『３』及び『８』の二つの中心位置どうしを直線的に通過する上記文字配列基準線３５ｄを形成する。
【００３０】
また一方で、印字位置判別部３２は、図４に示すように、例えば帳票３５のイメージの所定の角部（端縁３５ａ）を共有する二つの辺部のうちの一方の辺部（端縁３５ｂ）を基準にｘ方向の座標軸を求め、前記角部（端縁３５ａ）を共有し上記一方の辺部と直交する他方の辺部（端縁３５ｃ）を基準にｙ方向の座標軸を求め、仮想的なｘｙ座標軸を形成する。
【００３１】
さらに、印字位置判別部３２は、文字配列基準線３５ｄの直上の座標を文字配列基準位置として認識し、文字（文字イメージ）『４』、『５』のように、文字の中心位置（文字の外形画像に内接する矩形の重心位置）のｙ座標値が、文字配列基準線３５ｄのｙ座標値よりも、ｙ軸の負の方向に所定のしきい値以上シフトしている場合、その文字を『下ずれ』の印字態様として判別する。また、印字位置判別部３２は、文字（文字イメージ）『６』、『７』のように、文字の中心位置のｙ座標値が、文字配列基準線３５ｄのｙ座標値よりも、ｙ軸の正の方向に所定のしきい値以上シフトしている場合、その文字を『上ずれ』の印字態様として判別する。
【００３２】
ここで、図４に例示した文字配列基準線３５ｄの設定方法に代えて、図５に示す手法で文字配列基準線３５ｄを求めてもよい。すなわち、印字位置判別部３２は、図５に示すように、ｘ方向の座標軸を定めた一方の辺部（端縁３５ｂ）を、長さｙ1分だけｙ座標値を負の方向にオフセットした位置に文字配列基準線３５ｄを設定するものであってもよい。また、図６に示すように、例えば帳票３５上に予め文字記入枠３５ｅが記されている場合、印字位置判別部３２は、この文字記入枠３５ｅのｘ軸方向に延びる一対の辺部から、相対する側の辺部側に各々等しい長さｙ2分だけｙ座標値をオフセットした位置（つまり、文字記入枠３５ｅにおけるｙ軸方向の中心位置）に文字配列基準線３５ｄを設定するものであってもよい。
【００３３】
上記の図５、図６に示す例では、文字配列基準線３５ｄを得るために文字の印字位置を利用していないので、文字列を構成する桁数が少ない場合、つまり例えば文字列の全桁数が４桁であっても、この４つの文字ごとの『上ずれ』、『下ずれ』の印字態様から第２の誤りチェック情報を得ることができる。また一方で、図４に示したように、文字列３６ａ中の所定の文字（図４に例では、先頭の桁と末尾の桁の文字）の印字位置に基づいて文字配列基準線（文字配列基準位置）３５ｄを求める場合、帳票３５上における印字すべき所定位置に対し、例えば文字列全体の印字位置が多少ずれたとしても、文字列３６ａを構成する個々の文字どうしの相対的な印字位置の関係が大きく変動しないので、上述した『上ずれ』、『下ずれ』の印字態様の判別精度を実質的に向上させることができる。
【００３４】
また、例えば文字列の桁数が多く、文字列中に『−』（ハイフン）が含まれる場合、ハイフンの印字位置を『上ずれ』、『下ずれ』の印字態様を判別するための文字配列基準位置として設定できるようにチェック情報生成部３３（印字位置判別部３２）を構成してもよい。この場合、文字の高さ方向に対して相対的にハイフンの印字位置をずらすだけで、文字の印字態様を定めることができるので、印字処理が容易になると共に、印字される文字列の視覚的な体裁（外観）を改善しつつ第２のチェック情報（の基礎データ）を文字列中に埋め込むことができる。また、図４〜図６では、文字列が６桁の場合について例示しているが、文字列が６桁を超える場合には、印字態様を判別するための４桁分の文字を除く、二つ以上の全ての桁の文字の中心位置を、文字配列基準線３５ｄを設定するための情報として利用してもよい。これにより、文字配列基準位置（文字配列基準線３５ｄ）を、より高い精度で設定することができる。
【００３５】
また、図３に示すように、文字認識結果検証部３４は、チェック情報生成部３３により、冗長データとして生成された第１の誤りチェック情報と、チェックデジットとして生成された第２の誤りチェック情報と、をメインメモリ１７から読み出し、これらの第１及び第２の誤りチェック情報に基づいて文字認識処理部３０による文字認識結果の誤りの有無（文字認識結果の正当性の有無）を検証する。すなわち、文字認識結果検証部３４は、図４に示すように、文字認識処理部３０により文字認識された文字列３６ａ中の全ての桁の文字の文字コードを基に得られた第１の誤りチェック情報と、文字認識処理部３０により文字認識された文字列３６ａのうちで予め決められた並び位置にある複数の文字、すなわち２桁目〜４桁目の文字の印字態様（文字の上ずれ／下ずれ）を基に得られた第２の誤りチェック情報と、を比較照合し、互いが一致するか否かを判定する。
【００３６】
さらに、文字認識結果検証部３４は、第１及び第２のチェック情報どうしが一致した場合、例えば表示部１６を通じて文字認識結果の正当性を示す可視情報を表示させる。また、文字認識結果検証部３４は、第１及び第２のチェック情報どうしが一致しない場合、例えば表示部１６を通じて文字認識結果に誤りがある旨を可視情報として表示させる。
【００３７】
次に、印字装置２の印字プログラム８について説明する。図１及び図２に示すように、メインメモリ７上で実行されるこの印字プログラム８は、外部記憶装置９やＣＰＵ５と協働しつつ、印字位置設定部２５を有する印字用イメージ生成部２６、印字データ入力部２３、演算規則定義部２４、及び印字制御部２７をソフトウェアとして実現する。なお、上述した印字データ入力部２３、印字用イメージ生成部２６、印字制御部２７などは、各種の電子部品を組み合わせて構成したハードウェアにより実現されるものであってもよい。
【００３８】
印字データ入力部２３は、図２及び図４に示すように、帳票３５上に印字すべき文字列３６ａの文字ごとの文字コード及び各文字の配列順序（並び位置）を表す情報を少なくとも含む印字データの入力を行う（入力を受け付ける）。
【００３９】
演算規則定義部２４は、図４に示す帳票３５上に印字すべき文字列３６ａの印字用イメージを生成する際に印字用イメージ生成部２６によって参照される。また、演算規則定義部２４には、文字認識装置３の上述した演算規則定義部３１が記憶する情報と同一内容の情報が記憶されている。印字用イメージ生成部２６は、印字データ入力部２３により入力された印字データに基づいて、少なくとも二種類以上の印字態様の中から文字ごとに印字態様を選択することにより、文字認識結果の検証に用いる情報を埋め込んだ文字列３６ａの印字用イメージを生成する。
【００４０】
すなわち、印字用イメージ生成部２６は、印字データ入力部２３により入力された印字データを演算規則定義部２４を参照しつつ解釈し、演算規則定義部２４内の第１の演算規則に従い、上述した第１の誤りチェック情報に対応する基礎データを算出する。具体的には、印字用イメージ生成部２６は、文字列３６ａを構成する各桁の文字の文字コードに対応付けられた各桁の数値を加算しこの加算した合計値を『１０』で除算したときの余りを求める。つまり、図４に例示するように、帳票３５上に印字すべき文字列が『３４５６７８』といった６桁の文字列３６ａである場合、印字用イメージ生成部２６は、演算規則定義部２４を参照しつつ、『３＋４＋５＋６＋７＋８＝３３』を『１０』で割った余り『３』を上記基礎データとして算出する。
【００４１】
また一方で、印字位置設定部２５を有する印字用イメージ生成部２６は、帳票３５上に印字すべき文字列３６ａの基準位置となる文字配列基準線（文字配列基準位置）３５ｄを設定すると共に、設定したこの文字配列基準線３５ｄに対する文字の位置ずれを基に、印字態様を差別化した文字イメージを生成する。具体的には、印字用イメージ生成部２６は、帳票３５上に印字すべき文字の高さ方向における所定位置を文字配列基準線３５ｄとして設定すると共に、文字配列基準線３５ｄに対する文字の高さ方向の位置ずれを基に、印字態様を差別化した文字イメージを生成する。また、図４の例では、印字用イメージ生成部２６は、帳票３５上に印字すべき文字列３６ａ中の所定の並び位置にある少なくとも二つ以上の文字の印字位置を基に文字配列基準線３５ｄを設定する。
【００４２】
すなわち、印字位置設定部２５は、図４に加え、図５及び図６に例示した手法で上記した文字配列基準線（文字配列基準位置）３５ｄを得るために、印字すべき文字列３６ａ中の先頭の桁の文字『３』と最後尾の桁の文字『８』とのそれぞれの文字の中心位置を直線的に通過する文字配列基準線３５ｄを仮想的な座標上に設定する。さらに、印字位置設定部２５は、印字データから求めた第１の誤りチェック情報に対応する上述した基礎データ及び演算規則定義部２４の内容に基づいて、印字すべき文字列中の所定の並び位置（所定の桁）に配列される複数の文字の印字態様を文字ごとに設定（選択）する。
【００４３】
また、印字用イメージ生成部２６は、基礎データとして算出された１０進数の『３』を４桁の２進数『００１１』に変換する。ここで、演算規則定義部２４では、２進数の属性を付与された数値『０』に対応する印字態様が『下ずれ』、２進数の属性を付与された数値『１』に対応する印字態様が『上ずれ』として定義されている。したがって、印字位置設定部２５は、図４に示すように、６桁の文字列３６ａ中の２桁目〜４桁目の『４５６７』の印字態様の並びを『下下上上』に設定する。これにより、印字用イメージ生成部２６は、各桁の文字が図４〜図６に例示した印字態様（印字位置）を持つ文字列３６ａの印字用イメージを生成する。
【００４４】
印字制御部２７は、印字用イメージ生成部２６により生成された印字用イメージに対応させて印字ヘッド１２の動作を制御する。つまり、印字制御部２７は、図４〜図６に示すように、各桁の文字ごとに印字態様（印字位置）が設定された文字列３６ａが帳票３５上に印字されるように、生成された印字用イメージに基づき、印字ヘッド１２の動作を印字ヘッド駆動部１１を介して制御する。
【００４５】
次に、このように構成された文字処理システム１が行う処理を主に図７及び図８に基づき説明する。ここで、図７は、印字装置２の印字プログラム８が主体となって行う処理を示すフローチャートである。また、図８は、文字認識装置３の文字認識プログラム１８が主体となって行う処理を示すフローチャートである。
【００４６】
まず、印字装置２の印字プログラム８が主体となって行う処理について説明する。図７に示すように、帳票３５上に印字すべき文字列３６ａの印字要求が生じた場合（Ｓ［ステップ］１）、印字データ入力部２３は、文字列３６ａの各桁の文字ごとの文字コード及び各文字の配列順序（並び位置）を表す情報を持つ印字データを入力する（Ｓ２）。次に、印字用イメージ生成部２６は、印字データ入力部２３が入力した印字データから、上述した第１の誤りチェック情報に対応する基礎データ（図４の例では数値３）を算出する（Ｓ３）。
【００４７】
次に、印字用イメージ生成部２６の印字位置設定部２５は、上記基礎データ及び演算規則定義部２４の内容に基づいて、印字すべき文字列の印字位置を文字単位に設定する（Ｓ４）。これにより、印字用イメージ生成部２６は、各桁の文字が図４〜図６に例示した印字態様（印字位置）を有する文字列３６ａの印字用イメージを生成する（Ｓ５）。さらに、印字制御部２７は、図４〜図６に示すように、各桁の文字ごとに印字位置の設定された文字列３６ａが帳票３５上に印字されるように、生成された印字用イメージに基づき、印字ヘッド１２の動作を印字ヘッド駆動部１１を介して制御する（Ｓ６）。
【００４８】
次に、文字認識装置３の文字認識プログラム１８が主体となって行う処理について説明する。図８に示すように、文字認識処理の要求が生じた場合（Ｓ１１）、帳票イメージ入力部２８は、イメージスキャナ２２を通じて読み取られた帳票３５のイメージを入力する（Ｓ１２）。続いて、文字認識処理部３０は、帳票イメージ入力部２８に入力された帳票イメージ中の文字列３６ａを一文字ごとの文字イメージとして切り出し、切り出した一文字ごとの文字イメージの文字認識を実行する。具体的には、文字認識処理部３０は、文字列３６ａを構成する各文字の文字コードを、文字ごとの並び位置を表す情報と対応付けてチェック情報生成部３３側に出力する（Ｓ１３）。
【００４９】
次いで、チェック情報生成部３３は、文字認識された各文字の文字コードを基に第１の誤りチェック情報を算出する（Ｓ１４）。詳細には、チェック情報生成部３３は、演算規則定義部３１内の第１の演算規則に従い、各文字の文字コードに予め対応付けられた各桁の数値を基に演算を行って第１の誤りチェック情報（図４の例で、文字認識が正しく行われていれば数値３）を生成する。また、チェック情報生成部３３が有する印字位置判別部３２は、文字配列基準線３５ｄを求めた後、文字列３６ａ中の所定の桁（２桁目〜４桁目の）の文字の印字位置（上ずれ／下ずれ）を文字配列基準線３５ｄを基準に判別する（Ｓ１５）。
【００５０】
さらに、チェック情報生成部３３は、所定の文字ごとの印字位置（印字態様）として埋め込まれている上記基礎データを再構成し、第２の誤りチェック情報を得る（Ｓ１６）。詳細には、チェック情報生成部３３は、演算規則定義部３１内の第２の演算規則に従い、文字ごとの印字位置（印字態様）に予め対応付けられた数値を基に演算を行って第２の誤りチェック情報（図４の例では数値３）を生成する。
【００５１】
次に、文字認識結果検証部３４は、チェック情報生成部３３により生成された第１の誤りチェック情報と第２の誤りチェック情報とを比較照合し（Ｓ１７）、文字認識処理部３０による文字認識の誤りの有無をチェックする。ここで、第１及び第２の誤りチェック情報が一致した場合（Ｓ１８のＹＥＳ）、文字認識結果検証部３４は、例えば表示部１６を通じて文字認識結果の正当性を示す可視情報を表示させ、ユーザ側にこの旨を報知する（Ｓ１９）。一方、第１及び第２の誤りチェック情報が不一致の場合（Ｓ１８のＮＯ）、文字認識結果検証部３４は、例えば表示部１６を通じて文字認識結果に誤りがある旨を可視情報として表示させ、ユーザに対して報知を行う（Ｓ２０）。
【００５２】
既述したように、本実施形態に係る文字処理システム１によれば、文字認識の行われた各文字の文字コードごとに予め対応付けられている数値から得られる第１の誤り検証情報と、文字認識の行われた文字列中の複数の所定の文字の印字態様ごとに予め対応付けられている数値から得られる第２の誤り検証情報とを比較照合することで、文字認識の誤りの有無をチェックすることができる。すなわち、文字の印字位置から上記の比較照合に必要な片方の誤りチェック情報（第２の誤りチェック情報）が得られる文字処理システム１によれば、例えばチェックデジットを埋め込むための専用の桁を文字列中に設けることなしに、文字認識結果の誤りを検証することができる。
【００５３】
なお、本実施形態では、文字列の列なる方向に延びる文字配列基準線３５ｄ（文字配列基準位置）と直交する文字の高さ方向の位置ずれを基に、印字態様の判別を行うものであったが、これに代えて、図９に示すように文字列３６ｂのピッチ方向の位置ずれに基づいて印字態様を判別できるように、印字位置判別部（チェック情報生成部）を構成してもよい。ここで、図９は、文字配列基準線３５ｇを基準として所定の文字の印字位置をピッチ方向にずらした文字列３６ｂを利用する文字認識の誤りチェックについて説明するための図である。
【００５４】
すなわち、同図９に示すように、この場合の文字認識プログラムにより実現される印字位置判別部（チェック情報生成部）は、帳票３５のイメージ上の文字列３６ｂ中のピッチ方向における所定位置に文字配列基準線（文字配列基準位置）３５ｇを設定すると共に、この文字配列基準線３５ｇに対しての文字イメージのピッチ方向の位置ずれを基に印字態様を判別（特定）する。すなわち、この場合の印字位置判別部は、図４〜図６に例示した方法で得られる上記文字配列基準線３５ｄに対して平行で、且つ線分の長さが文字列３６ｂ中の先頭の桁の文字（文字イメージ）『３』の中心位置と最後尾の桁の文字（文字イメージ）『８』の中心位置との間の離間距離に等しい分割用基本線３５ｆをまず求める。さらに、印字位置判別部は、文字認識対象の文字列３６ｂの桁数を一桁減算した数で分割用基本線３５ｆを文字列３６ｂのピッチ方向に等分割（５分割）し、この場合の各分割点（４箇所）及び分割用基本線３５ｆの両端（２個所）から、当該分割用基本線３５ｆと直交するｙ軸方向へ、それぞれ延びる６本の文字配列基準線３５ｇを求める。
【００５５】
さらに、この場合の印字位置判別部は、文字列３６ｂの各桁に各々対応する６本の文字配列基準線３５ｇの直上の座標位置を文字配列基準位置として認識する。つまり、印字位置判別部は、文字（文字イメージ）『４』、『５』のように、各桁の文字ごとに各々対応する文字配列基準線３５ｇのｘ座標値よりも、文字の中心位置（文字の外形画像に内接する矩形の重心位置）のｘ座標値が、ｘ軸の負の方向に所定のしきい値以上シフトしている場合、その文字を『左ずれ（左寄り）』の印字態様として判別する。また、印字位置判別部は、文字（文字イメージ）『６』、『７』のように、各桁の文字ごとに各々対応する文字配列基準線３５ｇのｘ座標値よりも、文字の中心位置のｘ座標値が、ｘ軸の正の方向に所定のしきい値以上シフトしている場合、その文字を『右ずれ（右寄り）』の印字態様として判別する。
【００５６】
さらに、演算規則定義部において、印字態様の『左ずれ』と２進数の属性を付与した数値『０』との対応付け、及び印字態様の『右ずれ』と２進数の属性を持つ数値『１』との対応付けを定義しておくことで、チェック情報生成部は、文字列３６ｂ中の２桁目〜４桁目の文字『４５６７』の印字態様から２進数『００１１』を求め、これを１０進数に変換した『３』を第２の誤りチェック情報として生成することができる。
【００５７】
また、この場合、印字プログラムにて実現される印字位置設定部を持つ印字用イメージ生成部は、帳票３５上に印字すべき文字列３６ｂのピッチ方向における所定位置を文字配列基準線（文字配列基準位置）３５ｇに設定すると共に、文字配列基準線３５ｇに対する文字のピッチ方向の位置ずれを基に、印字態様を差別化した文字イメージを生成する。つまり、この場合の印字用イメージ生成部は、図９に示すように、帳票３５上に印字すべき６桁の文字列３６ｂ中の２桁目〜４桁目の『４５６７』の印字態様（印字位置）の並びを『左左右右』に設定した印字用イメージを生成する。
【００５８】
［第２の実施の形態］
次に、本発明の第２の実施形態を図１０〜図１４に基づき説明する。ここで、図１０は、第２の実施形態に係る文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図１１は、第２の実施形態に係る文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図である。また、図１２は、この実施形態で適用される文字列を構成するための二種類の文字フォント３８ａ、３８ｂを示す図であり、図１３は、図１２の二種類の文字フォント３８ａ、３８ｂからなる文字列３６ｃを利用した文字認識の誤りチェックについて説明するための図である。また、図１４は、図１２の文字フォント３８ａ、３８ｂと異なる他の種類の文字フォント３８ｃ〜３８ｈを示す図である。なお、これら図１０〜図１４において、図１〜図９に示した第１の実施形態で適用されていたものと同一の構成要素については、同一の符号を付与しその説明を省略する。
【００５９】
この実施形態に係る文字処理システムは、印字装置２及び文字認識装置３のメインメモリ７、１７上で実行される印字プログラム及び文字認識プログラムが、第１の実施形態の文字処理システム１の印字プログラム及び文字認識プログラムと異なる。すなわち、この実施形態の印字装置上で動作する印字プログラムは、第１の実施形態の印字位置設定部２５を有する印字用イメージ生成部２６及び演算規則定義部２４に代えて、図１０に示すように、文字フォント設定部４２を有する印字用イメージ生成部４３及び演算規則定義部４１を、外部記憶装置９やＣＰＵ５と協働しつつソフトウェアとして実現する。一方、この実施形態の文字認識装置上で動作する文字認識プログラムは、第１の実施形態の印字位置判別部３２を有するチェック情報生成部３３及び演算規則定義部３１に代えて、図１１に示すように、文字フォント判別部４６を有するチェック情報生成部４７及び演算規則定義部４５を、外部記憶装置９やＣＰＵ５と協働しつつソフトウェアとして実現する。
【００６０】
図１１に示すように、この実施形態に係る文字認識プログラムの演算規則定義部４５には、第１の誤りチェック情報を得るために、第１の実施形態と同様に、文字の『０』、『１』、…『９』を示す文字コード（例えばSJIS:0x824f，0x8250…など）と数値『０』、『１』…『９』とがそれぞれ対応付けられたかたちで記憶されている。また、演算規則定義部４５には、第１の実施形態の演算規則定義部３１に記憶されていたものと同一の第１の演算規則が記憶されている。
【００６１】
また、この実施形態の文字フォント判別部４６を有するチェック情報生成部４７は、帳票３５上のイメージ上の文字の書体（文字フォント）を基に印字態様の判別を行う。つまり、演算規則定義部４５には、図１２及び図１３に示すように、第２の誤りチェック情報を得るために、帳票３５上に文字列３６ｃとして印字される文字単位の文字フォント（印字態様）３８ａ、３８ｂと、これらの文字フォントごとに対応付けられる数値との対応関係を表す情報が記憶されている。つまり、演算規則定義部４５では、印字態様としての書体が明朝体で表される『文字フォントＡ』３８ａと２進数の属性を付与された数値『０』とが対応付けられ、また印字態様としての書体がゴシック体で表される『文字フォントＢ』３８ｂと２進数の属性を持つ数値『１』とが対応付けられている。
【００６２】
ここで、本実施形態の辞書２９内には、『文字フォントＡ』３８ａ及び『文字フォントＢ』３８ｂにそれぞれ対応する少なくとも２種類分の書体の文字イメージが記憶されている。文字フォント判別部４６は、文字認識処理部３０と協働しつつ、辞書２９内の文字イメージと、文字列３６ｃ中から切り出した一文字ごとの文字イメージとのパターンマッチングを複合類似度法や部分空間法などを用いて行い文字フォントを判別する。また、本実施形態では、図１３に示すように、『５６９２７』の５桁の文字列３６ｃが例示されている。すなわち、チェック情報生成部４７は、演算規則定義部４５を参照しつつ、『５＋６＋９＋２＋７＝２９』を『１０』で割った演算結果である余り『９』を第１の誤りチェック情報として生成（算出）する。
【００６３】
また、演算規則定義部４５には、５桁の文字列３６ｃを構成する複数の文字のうちで、印字態様の検出（判別）を行うべき所定の文字の並び位置（配列位置）が、例えば桁番号などで定義されている。本実施形態では、先頭から数えて１桁目〜５桁目の全ての桁の文字の文字フォント（印字態様）が検出対象となるように、例えば桁番号１〜５が演算規則定義部４５に記憶されている。ここで、上述した第１の誤りチェック情報として算出され得る１０進数の『０』〜『９』は、５桁の２進数である『０００００』〜『０１００１』により表現することができる。また、演算規則定義部４５は、文字列３６ｃ中の１桁目〜５桁目の文字ごとの文字フォントに対応させて、各桁が『０』又は『１』で表される５桁の２進数を求めると共に、この５桁の２進数を１０進数に変換した１桁の数値を第２の誤りチェック情報として生成するための第２の演算規則を記憶している。
【００６４】
詳述すると、図１３に示す例では、文字列３６ｃを構成する５桁全ての文字『５６９２７』が印字態様の検出対象となる。ここで、先頭から数えて１桁目、３桁目、４桁目の文字『５』、『９』、『２』の印字態様は『文字フォントＡ』３８ａであり、２桁目、５桁目の文字『６』、『７』の印字態様は『文字フォントＢ』３８ｂである。したがって、文字フォント（印字態様）３８ａ、３８ｂの並びは『ＡＢＡＡＢ』となり、これを５桁の２進数で表わすと『０１００１』となる。つまり、チェック情報生成部４７は、演算規則定義部４５を参照しつつ、文字列３６ｃを構成する全ての桁の文字の書体から２進数『０１００１』を求め、これを１０進数に変換した演算結果としての『９』を第２の誤りチェック情報３７ｂとして生成（算出）する。これにより、文字認識結果検証部３４は、図１３に示すように、文字認識された文字列３６ｃ中の全ての桁の文字の文字コードを基に得られた第１の誤りチェック情報（数値９）と、全ての桁の文字の文字フォントの判別結果を基に得られた第２の誤りチェック情報（数値９）と、が一致するか否かで文字認識結果の誤り（正当性）の有無を検証する。
【００６５】
なお、図１３に示す例において、文字認識結果（文字コードの検出）に誤りがあって例えばこの結果が『５６８２７』となった場合、『５＋６＋８＋２＋７＋８＝２８』を『１０』で割った余りである第１のチェック情報は『８』となり、上記の正しい第２のチェック情報『９』と整合がとれず、文字認識結果の誤りを検出することが可能となる。また一方で、文字フォントの検出（判別）に誤りがあって例えばこの結果が『ＡＢＢＡＢ』となった場合、これを５桁の２進数で表わすと『０１１０１』となり、これを１０進数に変換した第２のチェック情報である『１３』は、上記の正しい第１の誤りチェック情報『９』と整合がとれず、文字認識処理における不具合を検出することが可能となる。
【００６６】
一方、図１１に示すように、この実施形態に係る印字プログラムの演算規則定義部４１には、上述した文字認識プログラムの演算規則定義部２４が記憶する情報と同一内容の情報が記憶されている。すなわち、印字用イメージ生成部４３は、印字データ入力部２３により入力された印字データを演算規則定義部４１を参照しつつ解釈し、演算規則定義部４１内の第１の演算規則に従い、上述した第１の誤りチェック情報に対応する基礎データ（図１３の例では数値９）を算出する。
【００６７】
さらに、文字フォント設定部４２を有する印字用イメージ生成部４３は、書体（文字フォント）の違いを基に印字態様を差別化した文字イメージを生成する。つまり、文字フォント設定部４２は、印字データから求めた第１の誤りチェック情報に対応する上述した基礎データ及び演算規則定義部４１の内容に基づいて、帳票３５上に印字すべき文字列３６ｃ中の所定の並び位置に配列される複数の文字（本実施形態では全ての桁の文字）の文字フォント（印字態様）を文字ごとに設定（選択）する。
【００６８】
具体的には、印字用イメージ生成部４３は、基礎データとして算出された１０進数の『９』を５桁の２進数『０１００１』に変換する。ここで、演算規則定義部４１では、２進数の属性を付与された数値『０』に対応する印字態様が『文字フォントＡ』３８ａ、２進数の属性を付与された数値『１』に対応する印字態様が『文字フォントＢ』３８ｂとして定義されている。したがって、文字フォント設定部４２は、図１３に示すように、文字列３６ｃを構成する１桁目〜５桁目の文字フォント（印字態様）３８ａ、３８ｂの並びを『ＡＢＡＡＢ』に設定する。これにより、印字用イメージ生成部４３は、各桁の文字が図１３に例示した文字フォント（印字態様）を持つ文字列３６ｃの印字用イメージを生成する。
【００６９】
このように本実施形態に係る文字処理システムによれば、文字認識された文字列３６ｃ中の全ての桁の文字の文字コードを基に得られた第１の誤りチェック情報と、文字認識された文字列３６ｃ中の全ての桁の文字の文字フォント３８ａ、３８ｂを基に得られた第２の誤りチェック情報と、を比較照合して文字認識結果の検証を行うので、チェックデジットを埋め込むための専用の桁を文字列３６ｃ中に設けることなしに、文字認識結果の誤りをチェックすることができる。
【００７０】
なお、本実施形態では、書体が明朝体で表される『文字フォントＡ』３８ａと書体がゴシック体で表される『文字フォントＢ』３８ｂとを判別し、これを基に第２の誤りチェック情報を得るようにしていたが、これに代えて、図１４に例示する文字フォントを本発明に適用してもよい。すなわち、同図１４に示すように、書体が中抜き文字（白抜き文字）で表される文字フォント３８ｃとこの中抜きの部分を塗りつぶした文字フォント３８ｄとを適用し、文字フォントの中抜きの有／無を判別（及び設定）できるように文字フォント判別部４６（及び文字フォント設定部４２）を構成してもよい。また、これに代えて、アンダーバーの有る文字フォント３８ｅとアンダーバーの無い文字フォント３８ｆとを利用し、本発明を実現してもよいし、また、これに代えて、イタリック体の文字フォント３８ｇと非イタリック体の文字フォント３８ｈとを適用し本発明を構成することもできる。
【００７１】
また、上述した文字フォント設定部４２及び文字フォント判別部４６に代えて、図１５に示すように、文字列中の印字色を文字ごとに設定（選択）可能な印字色設定部を備えることで、印字色の違いにより印字態様を差別化した文字イメージを生成する印字用イメージ生成部と、イメージカラーを読み込み可能なカラースキャナを用い、文字列の印字色を文字ごとに判別可能（図１５中の例えば紺色などの暗い色彩のカラー文字３９ａと例えば黄色などの明るい色彩のカラー文字３９ｂとを判別可能）な印字色判別部を備えることで、帳票のイメージ上の文字の書体を基に印字態様の判別を行えるチェック情報生成部と、を有する文字処理システムを構成してもよい。
【００７２】
また、これに代えて、印字すべき文字列の印字濃度（グレースケールの濃度）を文字ごとに設定（選択）可能な印字濃度設定部を備えることで、印字濃度の違いを基に印字態様を差別化した文字イメージを生成する印字用イメージ生成部と、ヒストグラム計算などによって文字列の印字濃度を文字ごとに判別可能な印字濃度判別部を備えることで、帳票のイメージ上の文字の書体を基に印字態様の判別を行えるチェック情報生成部と、を有する文字処理システムを構成してもよい。
【００７３】
以上、本発明を第１、第２の実施形態により具体的に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述した実施形態では、図１に示したように文字処理システム１が、個別の印字装置２及び文字認識装置３により構成されていたが、これに代えて、図１６に示すように、上記の印字装置２及び文字認識装置３がハードウェアとして一つになった文字認識機能付きの印字装置（文字処理システム）５０などによっても本発明を実現することができる。
【００７４】
さらに、第１の実施形態では、文字の印字位置の下ずれ／上ずれ（又は左ずれ／右ずれ）による２種類の印字態様を適用し、また、第２の実施形態では、互いに異なる文字フォント（又は印字色若しくは印字濃度）による２種類の印字態様を適用していたが、これに代えて、３種類以上の多段階の印字位置のずれを設定可能及び判別可能とすることや、また、３種類以上の文字フォント（又は３種類以上の印字色若しくは印字濃度）を設定可能及び判別可能とすることで、３種類以上の印字態様を第２の誤りチェック情報の生成に利用できるようにしてもよい。つまり、この場合、文字認識対象の文字列中に、より多くの情報を埋め込むことができるので、文字認識の誤り検出にのみならず、文字認識の誤り訂正を行うことなどが可能となる。
【００７５】
また、上記の第１、第２の実施形態では、第１の誤りチェック情報と第２の誤りチェック情報とを比較照合した一致／不一致の結果から文字認識結果の誤りの有無をチェックすることとしたが、本発明はこれに限定されるものではない。例えば、第１の誤りチェック情報と第２の誤りチェック情報の各数値の差、偶数／奇数の関係、その他の種々の条件によって、文字認識結果の誤りの有無をチェックできるように、各文字コードにそれぞれ割り当てる数値、及び各印字態様にそれぞれ割り当てる数値を選定することとしてもよい。すなわち、第１の誤りチェック情報と第２の誤りチェック情報との互いの数値の相対的な関係などに基づいて、文字認識結果の誤りの有無をチェックするようにしてもよい。
【図面の簡単な説明】
【００７６】
【図１】本発明の第１の実施形態に係る文字処理システムのハードウェアの構成を示すブロック図。
【図２】図１の文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図３】図１の文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図４】帳票上の文字配列基準線から所定の文字の印字位置を高さ方向にずらした文字列を利用する文字認識結果の誤りチェックについて説明するための図。
【図５】図４の文字配列基準線を帳票イメージの端縁の位置を基準に設定した例を示す図。
【図６】図４の文字配列基準線を、帳票上に予め記された文字記入枠のイメージ上の位置を基準に設定した例を示す図。
【図７】図１の文字処理システムが備えた印字装置の印字プログラムが主体となって行う処理を示すフローチャート。
【図８】図１の文字処理システムが備えた文字認識装置の文字認識プログラムが主体となって行う処理を示すフローチャート。
【図９】文字配列基準線を基準として所定の文字の印字位置をピッチ方向にずらした文字列を利用する文字認識の誤りチェックについて説明するための図。
【図１０】本発明の第２の実施形態に係る文字処理システムの備える印字装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図１１】本発明の第２の実施形態に係る文字処理システムの備える文字認識装置がソフトウェアで実現する構成部分を機能的に示すブロック図。
【図１２】第２の実施形態で適用される文字列を構成するための二種類の文字フォントを示す図。
【図１３】図１２の二種類の文字フォントからなる文字列を利用した文字認識の誤りチェックについて説明するための図。
【図１４】図１２の文字フォントと異なる他の種類の文字フォントを示す図。
【図１５】第２の実施形態の変形例として、文字列を構成するための印字色の異なる二種類のカラー文字を示す図。
【図１６】本発明が適用された文字認識機能を備える印字装置を示すブロック図。
【符号の説明】
【００７７】
１…文字処理システム、２，５０…印字装置、３…文字認識装置、７，１７…メインメモリ、８…印字プログラム、１２…印字ヘッド、１８…文字認識プログラム、２２…イメージスキャナ、２３…印字データ入力部、２４，３１，４１，４５…演算規則定義部、２５…印字位置設定部、２６，４３…印字用イメージ生成部、２７…印字制御部、２８…帳票イメージ入力部、２９…辞書、３０…文字認識処理部、３２…印字位置判別部、３３，４７…チェック情報生成部、３４…文字認識結果検証部、３５…帳票、３５ａ〜３５ｃ…帳票の縁部、３５ｄ，３５ｇ…文字配列基準線、３５ｅ…文字記入枠、３５ｆ…分割用基本線、３６ａ，３６ｂ，３６ｃ…文字列、３７ａ，３７ｂ…第２の誤りチェック情報、４２…文字フォント設定部、４６…文字フォント判別部、３８ａ〜３８ｈ…文字フォント、３９ａ，３９ｂ…カラー文字。
【図１】
2008141378.tif 000003
【図２】
2008141378.tif 000004
【図３】
2008141378.tif 000005
【図４】
2008141378.tif 000006
【図５】
2008141378.tif 000007
【図６】
2008141378.tif 000008
【図７】
2008141378.tif 000009
【図８】
2008141378.tif 000010
【図９】
2008141378.tif 000011
【図１０】
2008141378.tif 000012
【図１１】
2008141378.tif 000013
【図１２】
2008141378.tif 000014
【図１３】
2008141378.tif 000015
【図１４】
2008141378.tif 000016
【図１５】
2008141378.tif 000017
【図１６】
2008141378.tif 000018