(57)【特許請求の範囲】
【請求項１】
カラー画像データ中の文字画像データを文字コードデータに変換する文字認識処理装置において、
カラー画像データ中の文字画像データを抽出する文字画像データ抽出部と、
前記文字画像データ抽出部により抽出された文字画像データに対応するカラー画像データ中の色変化の有無を検出する色変化検出部と、
色変化検出部により色変化が検出されない文字画像データを文字コードデータに変換する変換部と
を有する文字認識処理装置。
【請求項２】
前記色変化検出部は、色空間を用いて前記カラー画像データの色変化を検出することを特徴とする請求項１記載の文字認識処理装置。
【請求項３】
前記色空間は、Ｌａｂ色空間であることを特徴とする請求項１記載の文字認識処理装置。
【請求項４】
前記色空間は、ＲＧＢ色空間であることを特徴とする請求項１記載の文字認識処理装置。
【請求項５】
カラー画像データ中の文字画像データを抽出するステップと、
前記抽出された文字画像データ中の色変化の有無を検出するステップと、
色変化が無い文字画像データを文字コードデータに変換するステップと
からなり、画像データ中の文字画像データを文字コードデータに変換する文字認識処理方法。
【請求項６】
前記色変化の有無を検出するステップは、色空間を用いて前記カラー画像データの色変化を検出することを特徴とする請求項５記載の文字認識処理方法。
【請求項７】
コンピュータに、
カラー画像データ中の文字画像データを抽出するステップと、
前記抽出された文字画像データ対応するカラー画像データ中の色変化の有無を検出するステップと、
色変化が無い文字画像データを文字コードデータに変換するステップと
を実行させるための文字認識処理プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項８】
前記色変化の有無を検出するステップは、色空間を用いて前記カラー画像データの色変化を検出することを特徴とする請求項７記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データ中の文字画像データを文字コードデータに変換する文字認識に関する。
【０００２】
【従来の技術】
従来の文字認識（ＯＣＲ）装置による文字認識技術では、テキスト画像のみで構成される条件の良い原稿では９９.５％以上の認識率が得られていた。
【０００３】
【発明が解決しようとする課題】
しかし、原稿に絵柄、写真などの画像を含んでいる場合には、絵柄の一部、写真の一部（特にエッジ部）を誤って文字と認識してしまうことがあり、認識率も大きく低下する。特に、文字と絵柄または文字と写真が近接している場合に、絵柄、写真の一部を文字として認識してしまうことがあった。
【０００４】
本発明の目的は、文字を含む画像において文字の誤認識を防止できる文字認識処理のための装置、方法及び記録媒体を提供することである。
【０００５】
【課題を解決するための手段】
本発明に係る文書認識処理装置は、カラー画像データ中の文字画像データを文字コードデータに変換する文字認識処理装置において、カラー画像データ中の文字画像データを抽出する文字画像データ抽出部と、前記文字画像データ抽出部により抽出された文字画像データに対応するカラー画像データ中の色変化の有無を検出する色変化検出部と、前記色変化検出部により色変化が検出されない文字画像データを文字コードデータに変換する変換部とを有する。
【０００６】
また、本発明に係る認識処理方法は、カラー画像データ中の文字画像データを抽出するステップと、前記抽出された文字画像データ中の色変化の有無を検出するステップと、色変化が無い文字画像データを文字コードデータに変換するステップとからなる。
【０００７】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、コンピュータに、カラー画像データ中の文字画像データを抽出するステップと、前記抽出された文字画像データに対応するカラー画像データ中の色変化の有無を検出するステップと、色変化が無い文字画像データを文字コードデータに変換するステップとを実行させるための文字認識処理プログラムを記録する。
【０００８】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施の形態を説明する。なお、図面において、同じ参照記号は同一または同等のものを示す。
図１は、発明の１実施形態におけるシステム構成を示す。ネットワーク１００に、文字認識機能を有する文字認識処理装置としてコンピュータ２００、画像出力装置としてプリンタ３００、画像入力装置としてスキャナ４００などが接続されている。本実施形態では、コンピュータ２００が文字認識機能を有するが、文字認識機能を画像出力装置または画像入力装置に持たせてもよい。また、画像出力装置は、プリンタに限らずディスプレイであってもよい。さらに、画像入力装置は、スキャナに限らず、デジタルカメラ、フィルムスキャナなどのデジタル入力機器であってもよい。
【０００９】
コンピュータ２００には、文書認識処理部２１０と、スキャナドライバ２３０、プリンタドライバ２４０などの周辺機器を制御するソフトが搭載されている。例えばスキャナドライバ２３０を用いて、コンピュータ２００上の画面からスキャナ４００の読み取り条件の設定や読み取り開始が指示できる。コンピュータ２００の画面上には、原稿を読み取って文字認識処理を行い、ファイルに出力するという一連の操作を指示するためのスキャン＆ファイルボタンや、文字認識処理に続けてプリント処理を行うという一連の操作を指示するためのスキャン＆プリント指示が表示されるようになっている。
【００１０】
文書認識処理部２１０では、画像データ中の文字画像データを抽出し、抽出された文字画像データ中の色変化が検出されなければ、文字画像データを文字コードデータに変換する。色変化のある文字画像データは文字コードデータに変換しない。さらに説明すると、文字認識部２１２は、読み取って得られた画像データから文字画像データを認識して、コード化判定部２１６の判定結果に基いて文字画像データを文字コードデータに変換して出力する。文字色検出部２１４は、文字認識部２１２で認識した文字画像データの色変化を検出する。コード化判定部２１６は、文字認識部２１２から出力された文字認識の確からしさのデータと文字色検出部２１４から出力された色変化データに基いて、文字画像データを文字コードに変換するか否かを決定する。ビットマップ文字作成部２１８は、変換されなかった文字画像データを表示するためのビットマップ形式による文字画像データを作成し、出力ファイル変換部２２０は、認識した画像データを指定されたファイル形式のデータに変換する。
【００１１】
図２は、文字部に絵が埋め込まれた原稿の１例を示し、図３は、その原稿の文字認識結果の例を示す。文字部に絵が埋め込まれた原稿を処理する場合、文字認識部２１２から出力されたコードデータには、文中の絵の一部を文字と誤認識して出力された文字が含まれている。これらの文字の認識の確からしさ情報は、文中の文字とほとんど変わらない場合がかなりの頻度で発生し、確からしさの情報からだけでは誤認識文字を十分除外できない。そこで、画像データから文字を認識して出力する画像認識装置において、認識した文字の色を検出し、文字認識の確からしさを判断する１つの項目として用いる。認識した文字の色を検出して所定の場合にこれらの文字をコード化しないという処理にすることにより、誤認識の確率を下げることができる。所定の場合とは、たとえば、１つの文字内で色が変化している場合や、１つの単語内で色が変化している場合である。これにより、図３の処理結果では、全ての誤認識文字が除去できた。文字認識処理は、モノクロ２値画像で行われているので、色情報を利用して誤認識文字を除外することは、誤った文字コードを出力しないための方法として有効である。
【００１２】
以下、文書認識処理の流れを順に説明する。図４に文書認識処理部２１０の処理全体のフローを示す。まず、スキャンされた多値ＲＧＢ画像データを、Ｌａｂ色空間に変換し（Ｓ１０）、個々のスキャナ４００に依存しないように、デバイスインディベンデントな色空間で判別処理を行うようにする。次に、文字認識部２１２に入力する画像データを作成するＯＣＲ前処理を行う（Ｓ１２）。次の文字認識（Ｓ１４）では、モノクロ２値画像データから特徴量を抽出して文字認識を行うので、ＯＣＲ前処理では、Ｌａｂで表示されたカラー画像データから、文字が黒、背景が白のモノクロ２値画像データを作成する。ここでは、下地部のレベルと文字部のレベルを検出する方法を用いて、白地に書かれた色文字や色地に書かれた黒文字なども十分文字として認識できるよう２値化する。なお、もとの多値カラー画像データ(Ｌａｂデータ)は別に保存しておく。ＯＣＲ前処理では、他に、孤立点などのノイズ除去、原稿の傾き補正処理、つぶれ文字やかすれ文字の補正なども行う。
【００１３】
次に、ＯＣＲ前処理で得られたモノクロ２値画像について文字認識処理が行われる（Ｓ１４）。この処理は、図１の文字認識部２１２に対応する。この文字認識処理では、文字部、単語、文字の切り出しが行われた後、各文字について文字コード、フォントタイプ、フォントサイズなどとともに、認識の確からしさのデータと、認識した文字ごとの位置データも出力される。認識の確からしさのデータは、各文字の特徴量と辞書パターンとの一致の度合いに基づき、１０段階の数値で表されている。文字ごとの位置データとは、図５に示すような、文字の外接矩形の座標のことである。画像データの左上を座標の原点とする。
【００１４】
次に、認識された文字の色が１文字づつ検出される（Ｓ１６）。この処理は、図１の文字色検出部２１４に対応する。ＯＣＲ前処理ではモノクロ２値データを作成しているが、もとの多値カラー画像データ(Ｌａｂデータ)は別に保存されており、そのカラー画像データから文字の色を検出する。
【００１５】
この文字色検出処理を、さらに説明すると、まず、図６に示す３×３最大値フィルターを用いて、文字認識のための入力モノクロ２値画像について近傍３×３画素の最大値をとるフィルター処理を行う。これにより、文字部分を収縮させる。これは、文字のエッジ部の影響を除去するためである。こうして２値画像を収縮処理した画像と、文字認識により得られた文字外接矩形とのＡＮＤをとり、その画像の画素についての平均データを求めてその文字の色とする。即ち、ｊ番目の文字のＬａｂ空間で表したカラー画像データをＣjとすると、
【数１】
0004631133.tif 000002
ここに、Ｎはｊ番目の文字の画素数である。
【００１６】
次に、文字のコード化を行うか否かを判定する（S１８）。ここで、１つの文字内で色が変化した場合には、その文字は文字以外の画像を誤認識したものとみなし、コード化は行わない。１つの文字内で色が変化したか否かの判定は、収縮処理した文字の外接矩形を図７に破線で示すように４つに分割し、それぞれの領域でのＬａｂ値の平均を求めて比較することにより行う。４つの領域の平均Ｌａｂ値が一定値以上異なる場合は、色が変化したと判別される。４つの領域でのＬａｂ値をＣj1〜Ｃj4とすると、
Ｃj1＝(Ｌj1,ａj1,ｂj1)
Ｃj2＝(Ｌj2,ａj2,ｂj2)
Ｃj3＝(Ｌj3,ａj3,ｂj3)
Ｃj4＝(Ｌj4,ａj4,ｂj4)
で表される。次の条件
|Ｌjn−Ｌjm｜≧ｋ１ または
|ａjn−ａjm｜≧ｋ２ または
|ｂjn−ｂjm｜≧ｋ３
（ここに、ｎ＝１,２,３,４、ｍ＝１,２,３,４であり、ｋ１、ｋ２、ｋ３は定数である）を満たす場合、色が変化したと判別される。前述の１文字の平均画像データＣjは、実際は、これら４つの領域ごとの平均値を先に求め、再度その４つの値を平均して求められる。
【００１７】
また、単語も文字認識（Ｓ１４）において切り出されるので、単語切り出し結果を基に、単語の単位で色が変化しているか否かを調べる。１つの単語内で、色が変化している場合には、その単語は、文字以外の画像を誤認識したものとみなして、コード化を行わない。単語内で色が変化したかどうかの判別は、カラー画像データＣjの各Ｌａｂの値を比較することにより、判別する。即ち、ｓ番目からｅ番目の文字からなる１単語が切り出されたとき、
|Ｌj+1−Ｌj｜≧ｋ４  または
|ａj+1−ａj｜≧ｋ５  または
|ｂj+1−ｂj｜≧ｋ６
（ここに、ｓ≦ｊ≦ｅ−１であり、ｋ４、ｋ５、ｋ６は定数である）の条件を満たす場合、その単語内の文字のコード化を行わない。このように、認識された文字について１文字ずつ文字の色が検出され、カラー文字がコード化される。そして、各文字の色を検出する際に、色の変化を調べることにより、文字以外の誤認識を除外する。
【００１８】
一方、これとは別に文字認識処理において文字認識の確からしさの情報も得られている。この確からしさの値は、１０段階で出力され、値が大きいと認識の確からしさが高いことを意味する。ここでは、文字認識処理の認識の確からしさが７レベル以下である場合にも、同様に文字のコード化を行わない。コード化しない文字については、その文字の外接矩形の領域を、もとの画像データから１文字づつ切り出し、ビットマップで表された文字として出力する（Ｓ２０）。
【００１９】
最後に、認識された文字コード、ビットマップ画像データおよびビットマップ文字データを指定された出力ファイル形式でページ内に配置して、ファイルに保存する（Ｓ２２）。スキャン＆プリント指示で文字認識処理を行っている場合であれば、続けてプリント処理を行う。
【００２０】
図８は、上述の文字色検出（Ｓ１６)からビットマップ処理（Ｓ２０）までの処理フローを示す。図８により上述の処理をより具体的に説明すると、まず、文字の順番を表わすｊを０として（Ｓ１００）、処理を開始する。ｊ番目の文字について、１文字の４領域の画像データから色を検出する（Ｓ１０２）。次に、１文字内で色が変化しているか否かを判断する（Ｓ１０４）。変化している場合は、文字のコード化を取りやめる（Ｓ１０６）。そして、ｊをインクリメントして（Ｓ１０８）、全文字のコード化が終了していない場合は（Ｓ１１０でＮＯ）、ステップＳ１０２に戻り、次の文字を処理する。１文字内で色が変化していない場合は（Ｓ１０４でＮＯ）、その１文字の色を検出する（Ｓ１１２）。次に、文字認識処理の確からしさのレベルが７以下であれば（Ｓ１１４でＮＯ）、ビットマップで表された文字を作成する（Ｓ１１６）。次に、単語の終りであるか否かを判断し（Ｓ１１８）、終りであればただちにステップＳ１０８に進み、次の文字を処理する。単語の終りでなければ、次に、１単語内で色が変化しているか否かを判断する（Ｓ１２０）。１単語内で色が変化している場合は、その１単語のコード化を取りやめ（Ｓ１２２）、１単語内のビットマップ文字を破棄する（Ｓ１２４）。そして、ステップＳ１０８に進み、次の文字を処理する。
【００２１】
以上の処理で、確実に認識された文字はコード化して出力し、誤認識している可能性のある文字についてはビットマップで文字を表し、さらに、文字の色情報を利用して、文字以外の画像部分が誤認識された文字を除外する精度を向上できる。
【００２２】
なお、この実施形態では、カラー画像データをＬａｂで表しているが、ＲＧＢ等の他の色空間で上述の処理をしてもかまわない。
また、この実施形態では、文字を認識して、認識した文字の色を検出し、1つの文字または単語内で色が変化した場合に誤認識文字と判別するという文書認識処理をコンピュータ２００で行っている。しかし、同じ処理をスキャナ４００で行ってコンピュータ２００、プリンタ３００などに送信するシステム、スキャナ４００から直接プリンタ３００に画像データを送信してプリンタ３００で同様の処理を行うシステム、カラーコピーとして画像入力から印字出力までの処理を複写機の内部ですべて行うシステムなども、基本的に処理は同じである。
【００２３】
【発明の効果】
モノクロ２値画像で処理される文字認識処理において、認識した文字の色情報を利用して所定の場合に誤認識文字を除外するので、文字に隣接した画像などが誤認識されて誤った文字コードが出力されることを防ぐことができる。
【図面の簡単な説明】
【図１】  システム構成の図
【図２】  文字部に絵が埋め込まれたような原稿の図
【図３】  文字認識結果の処理を説明するための図
【図４】  文字認識処理の全体のフローチャート
【図５】  文字の位置データの図
【図６】  最大値フィルターの図
【図７】  文字除去の処理を示す図
【図８】  文字色認識からビットマップ文字作成までのフローチャート
【符号の説明】
２００  コンピュータ、    ２１０  文字認識処理部、    ３００  プリンタ、    ４００  スキャナ。
【図１】
0004631133.tif 000003
【図２】
0004631133.tif 000004
【図３】
0004631133.tif 000005
【図４】
0004631133.tif 000006
【図５】
0004631133.tif 000007
【図６】
0004631133.tif 000008
【図７】
0004631133.tif 000009
【図８】
0004631133.tif 000010