文字認識装置、文字認識方法及び文字データ
【課題】高精度かつ高速に文字を認識できる文字認識装置、文字認識方法及び文字認識のための文字データを提供すること。
【解決手段】光学的に走査された原稿の画像データから文字を認識する文字認識装置において、文字のフォントを判別するフォント判別手段21と、文字の大きさを判別する文字サイズ判別手段22と、文字のフォント及び文字の大きさ対応づけて格納された文字を認識するための文字データ5と、フォント判別手段により判別されたフォントと文字サイズ判別手段により判別された文字の大きさに基づき文字データを参照して文字の文字コードを決定する文字識別手段24とを有することを特徴とする。
【解決手段】光学的に走査された原稿の画像データから文字を認識する文字認識装置において、文字のフォントを判別するフォント判別手段21と、文字の大きさを判別する文字サイズ判別手段22と、文字のフォント及び文字の大きさ対応づけて格納された文字を認識するための文字データ5と、フォント判別手段により判別されたフォントと文字サイズ判別手段により判別された文字の大きさに基づき文字データを参照して文字の文字コードを決定する文字識別手段24とを有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光学的に走査された原稿の画像データから文字を認識する文字認識装置、文字認識方法又は文字認識のための文字データに関する。
【背景技術】
【0002】
ワープロ等で作成された文字が印刷された原稿を、コンピュータ等の情報処理装置で扱えるようにデジタル化する文字認識の技術が提案されている。文字認識技術では、原稿をイメージスキャナ等で読み込んで文字を認識し、文字を英数字、ひらがな又は漢字などの文字コードに変換して保存する。
【0003】
従来の文字認識装置においては、複数の代表的なフォント(ゴシック系、明朝系、セリフ系、サンセリフ系、モノスペース系)の特徴量を平均化して文字の識別に用いる文字パターンの識別辞書を作成していた。しかしながら、特徴量が平均化された文字パターンでは識別力に限界がある。
【0004】
このため、フォント毎に識別辞書を用意する文字認識の技術が提案されている(例えば、特許文献1参照。)。かかる技術では、パソコン等に組み込まれたフォントを検出し、フォント毎の各文字について標準パターンを作成し登録する。文字認識する場合は、登録された標準パターンを用いてスキャナ等で読み込まれた画像データから文字を認識する。
【0005】
また、スキャナ装置等で読み込まれた画像データにおける文字の形状に関する特徴量を抽出し、あらかじめ用意したフォント種類毎の特徴量との類似度を計算し、類似度に基づいてフォントの種類を識別する技術が提案されている(例えば、特許文献2参照。)。かかる技術では、フォントの種類に応じてあらかじめ文字の輪郭線情報が用意されているため、フォントが判明すれば、文字の輪郭線情報に基づいて画像データの文字形状の修正を行い格納あるいは表示することができる。したがって、文字認識を行わずにフォントの種類のみを識別することで、文字の誤認識を避けることができる。
【特許文献1】特開2002−27935号公報
【特許文献2】特開平8−123904号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば、特許文献1の文字認識方法では、フォント毎に標準パターンを登録しても文字を識別するための特徴量が不確定であるため識別精度が十分でない。特許文献1では特徴量として、文字線の傾き、ループの数、線幅、文字面積等が挙げられているが、いずれも文字を特定するには十分でない。また、認識率を向上させるため特徴量を増やせば認識速度が低下してしまう。
【0007】
また、引用文献2では輪郭情報として文字を保存するので紙原稿と同じ形状のまま文字を取得できるが、取得した文字情報は文字コードでないためワープロソフトウェア等で再加工する場合の扱いが困難である。
【0008】
本発明は、上記の問題に鑑み、高精度かつ高速に文字を認識できる文字認識装置、文字認識方法及び文字認識のための文字データを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記問題に鑑み、本発明は、光学的に走査された原稿の画像データから文字を認識する文字認識装置において、文字のフォントを判別するフォント判別手段と、文字の大きさを判別する文字サイズ判別手段と、文字のフォント及び文字の大きさ対応づけて格納された文字を認識するための文字データと、フォント判別手段により判別されたフォントと文字サイズ判別手段により判別された文字の大きさに基づき文字データを参照して文字の文字コードを決定する文字識別手段と、を有することを特徴とする。
【0010】
本発明によれば、文字を認識するための文字データを文字の大きさとフォント毎に用意するため、高精度に文字を認識することができる。
【0011】
また、本発明の一形態において、文字データは、文字のビットマップデータを所定数の画素に区切った場合に、当該文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したものであることを特徴とする。
【0012】
本発明によれば、文字の各方向から黒画素の現れる数を記録した文字データを用いることで、文字全体を読み込まなくても文字の認識を開始でき、高速に文字を認識できる。
【0013】
また、本発明の一形態において、文字データは、文字のビットマップデータを所定数の画素に区切った場合に、各画素毎に白画素又は黒画素の情報を有する画素文字データである、ことを特徴とする。
【0014】
本発明によれば、画素毎に白画素又は黒画素かを判定して文字を認識するので、高精度に文字を認識できる。また、文字全体を読み込まなくても文字の認識を開始でき、高速に文字を認識できる。
【0015】
また、本発明の一形態において、文字データは、文字のビットマップデータを所定数の画素に区切った場合に複数の2画素間の寸法を有する、ことを特徴とする。
【0016】
本発明によれば、文字の2画素間の寸法に基づき文字を認識するので、高精度に文字を認識できる。
【0017】
また、本発明の一形態において、原稿の傾き角を判別する傾き角判別手段を有し、文字識別手段は、傾き判別手段により判別された傾き角に応じて画素文字データを傾かせて文字を認識することを特徴とする。
【0018】
本発明によれば、原稿の傾き角を判別し画素文字データも傾かせるので、文字全体を読み込まなくても文字の認識を開始でき、高速に文字を認識できる。
【0019】
また、本発明の一形態において、フォントデータから生成された文字のビットマップデータに基づき前記文字データを作成する文字データ作成手段を有し、文字データ作成手段は、フォント判別手段により判別されたフォントであって文字サイズ判別手段により判別された大きさの文字のビットマップデータに基づき前記文字データを作成し、文字認識手段は、文字データ作成手段により作成された文字データに基づき前記文字を認識する、とを特徴とする。
【0020】
本発明によれば、使用される頻度の少ないフォントで印刷された原稿であっても、そのフォントを認識して文字データを作成できるので、多様なフォントに対応してきわめて精度よく文字を認識できる。
【発明の効果】
【0021】
高精度かつ高速に文字を認識できる文字認識装置、文字認識方法及び文字認識のための文字データを提供することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施するための最良の形態について、実施例を挙げて図面を参照しながら説明する。なお、本発明の文字認識方法は、本発明の文字認識装置の実施形態に用いられているので、本発明の文字認識方法の実施形態は文字認識装置の実施形態の中で併せて説明する。
【実施例1】
【0023】
図1は、本発明の実施形態における文字認識装置を含む文字認識システムの全体構成図を示す。文字認識システムは、文字認識装置1、スキャナ装置2及びプリンタ3とがネットワーク4を介して相互に通信可能に接続されている。文字認識装置1は後述する文字データ5を有する。なお、本実施の形態の文字認識装置はスキャナ装置2と一体であってもよいし、スキャナ装置2及びプリンタ3と一体であってもよい。また、スキャナ装置2はファクシミリ機能を有していてもよい。
【0024】
文字認識装置の文字認識方法の概略を説明する。文字認識装置1は予めMS明朝、MSゴシック、OSAKA等のフォント毎に各文字のビットマップデータを数値化した文字データ5を有する。また、文字データ5は文字の大きさ(ポイント)毎に格納されている。
【0025】
ビットマップデータは画素ごとに黒又は白の値を取るが、フォント及び文字の大きさが特定されれば当該文字のビットマップデータはフォント及び文字の大きさに固有の2値(白黒)画像となる。したがって、このような文字データ5を利用して文字認識することで、きわめて高精度に文字を認識できる。
【0026】
スキャナ装置2がこれらのフォントで作成された文字が印刷された原稿を読み取り、文字認識装置1へ送信すると、文字認識装置1は印刷された文字のフォントの種別及び文字の大きさを判別し、判別したフォントと文字の大きさに応じて文字データ5を参照し文字認識を行う。
【0027】
なお、スキャナ装置2は周知の構成であり、例えばコンタクトガラスにセットされた原稿を光学的に走査し、原稿に光を当てその反射光をCCD等の1次元の撮像素子に入力し電気信号に変換する。スキャナ装置2は光源の移動速度や紙送りを制御しながら、変換された電気信号をA/D変換処理してデジタルデータに変換し、シェーディング処理、変倍処理、エッジ処理、γ補正、二値化処理等、周知の画像処理を行い画像データを取得する。スキャナ装置2は、フラットベッド型であってもよいし固定された光源に原稿を送る原稿送り型であってもよい。
【0028】
また、プリンタ装置3は周知の構成であり、文字認識装置1やスキャナ装置2から送信された印刷データを印刷する。プリンタ3の画像形成方法は、レーザ方式、LED方式、液晶シャッタ方式、インクジェット方式等、どのような方式であってもよい。
【0029】
図2は、文字認識装置のハードウェア構成図の一例を示す。文字認識装置1は、例えばコンピュータとして構成される。文字認識装置1は、バスBで相互に接続されたCPU11、入出力装置12、表示装置13、ドライブ装置14、主記録装置15、補助記憶装置16及び通信装置17、を有する。
【0030】
入出力装置12はユーザが操作するキーボード及びマウスなどから入力された各種操作信号を処理し、また、スキャナ装置2から送信される画像データの入出力やプリンタ3へ送信する印刷データの入出力を制御する。表示装置13は、文字認識装置1を操作するのに必要な各種ウィンドウやデータ等のGUI(Graphical User Interface)をディスプレイに表示する。通信装置17は、文字認識装置1をネットワークに接続する為のインタフェースであり、例えばNIC(Network Interface Card)やモデム等で構成される。
【0031】
文字認識装置1を動作させるための文字認識プログラムは、メモリカード、CD−ROM等の記録媒体18によって提供されるか、ネットワーク4を通じてダウンロードされる。また、記録媒体18はドライブ装置14にセットされ、データやプログラムが記録媒体18からドライブ装置14を介して補助記憶装置16にインストールされる。
【0032】
補助記憶装置16はハードディスク装置や記憶素子により構成され、OS(Operating System)や文字データ、プログラムを格納すると共に、必要なファイル等を格納する。CPU11は補助記憶装置16から文字認識プログラムをロードし主記憶装置15にプログラムを展開して該プログラム実行する。
【0033】
図3は文字認識装置1の機能ブロック図の一例を示す。文字認識装置1はフォント判別手段21、文字サイズ判別手段22、傾き角判別手段23及び文字識別手段24とを有する。フォント判別手段21はスキャナ装置2により得られた画像データの文字のフォントを判別する。文字サイズ判別手段22は画像データの文字の大きさを判別する。傾き角判別手段23は原稿又は画像データの主走査方向に対する傾き角を判別する。文字識別手段24は、フォントと文字の大きさに基づき文字データ5を参照して文字の文字コードを決定する。
【0034】
また、文字認識プログラムは、CPU11を、フォント判別手段21、文字サイズ判別手段22、傾き角判別手段23及び文字識別手段24として機能させるプログラムである。
【0035】
文字データ5について説明する。図4は「漢」という文字のビットマップデータを示す。図4では一例として、MS明朝体のフォントを用い文字の大きさを10.5ポイントとした。ビットマップデータであるので、画素毎に白又は黒の画素を配置すれば文字の形状が表示できる。文字をこのようにビットマップで表示すると、スキャンされた原稿の文字を同様の画素に区切り、画素毎に黒画素か白画素かを比較することで文字を識別できる。
【0036】
図4では画素数を256×256としたが、英文で記載された原稿を文字認識するのであれば画素数を粗くしてもよいし、1024×1024のように高解像で表示してもよい。説明のため図4では左下の頂点を原点に右方向をX方向、上方向をY方向、逆方向をそれぞれ−X方向、−Y方向とした。
【0037】
本実施例の文字データはこのようなビットマップを文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を画素列毎に数値化したものである。例えば「漢」という文字を左からX方向に黒画素の現れる数をカウントすると、4番目の画素列に3つの黒画素X41、X42及びX43が現れる。また、5番目の画素列にはX41、X42及びX43に加え、X51が現れる。黒画素が現れる位置は文字毎に異なっているため、X方向の画素列ごとに黒画素が現れる個数を文字データとすれば、当該文字に固有の識別情報となる。すなわち、本実施の形態の文字データは画素列ごとに現れる黒画素の数(0,0,0,3,1,1,…)である。したがって、本実施例の文字データは256個(実際には後述のように若干少ない)の黒画素の数となる。
【0038】
黒画素が現れる数はY方向で数えてもよいし、また、X方向の逆方向、Y方向の逆方向で数えることができる。−Y方向であれば、「漢」の文字では4番目の画素に3つの黒画素−Y41、−Y42、−Y43及び−Y44が現れる。また、5番目の画素には−Y51〜−Y57が現れる。このように、1つの文字に対しX方向、Y方向、−X方向及び−Y方向の4つの文字データを抽出することができる。
【0039】
このような文字データであれば、どちらの方向から文字がスキャンされても文字全体を読み込む前に文字の認識を開始することができる。また、文字全体を読み取った後は、4方向全ての文字データを使用して文字認識できる。
【0040】
ところで実際に文字認識する場合、黒画素が現れるまではどこから文字が始まるか分からないので(言い換えれば256個の画素列において最初の画素がどこか分からない)、文字データは黒画素が存在する画素から画素列毎に現れる黒画素の数を数値にする。すなわち、「漢」であれば(0,0,0,3,1,1,…)うち(0、0,0)を省略する。
【0041】
また、文字のビットマップデータは、アウトラインフォントであっても文字の大きさが異なると若干に異なる形状となる。例えば、12ポイントの文字と10.5ポイントの文字は全くの相似形ではない。例えば、10.5ポイントでは4画素目に1つの黒画素が現れたが、12ポイントでは4画素目に2つの黒画素が現れるなど、黒画素が現れる位置は文字の大きさによって異なる。そこで、本実施の形態の文字データは文字の大きさ毎に文字データを格納する。格納しておく文字の大きさの分解能は、一般的に使用される大きさであればよく、例えば、8、9、10、10、10.5、11、12、14、16、18、20ポイント程度である。
【0042】
図5は文字データの一例を示す。図5ではフォントの種類及び大きさに対応づけて4つの方向毎に黒画素の現れる数が記されている。文字データにはその他の大きさの文字データも含まれている。
【0043】
なお、図5では白から黒に反転する画素の数をカウントしたが、黒から白に反転する画素をカウントして文字データとしてもよい。
【0044】
また、本実施の形態の文字認識装置は文字の大きさ毎に文字認識を行うため文字の特徴的な部分の寸法を用いて文字データを構成できる。図6は文字の寸法の取り方の一例を示す図である。例えば天地の大きさ左右の幅は文字の寸法の一例であり、これにより文字全体の大きさが定まる。
【0045】
図6に示すように、文字のビットマップデータは黒画素が連続した部分により区切ることができる。「漢」の場合、三水(さんずい)の各画、旁の上部及び旁の下部がそれぞれ連続部である。それぞれの連続部で最も距離が大きくなる画素を2つ抽出し2つの画素間の寸法を文字データとする。図6では、三水の各画の長さLength1〜3が最も距離が大きくなる画素間の寸法を示す。同様に、旁の上部ではLength4が、旁の下部ではLength5が最も距離が大きくなる画素間の寸法を示す。
【0046】
また、連続部の間隔を文字データとすることができる。例えば、各連続部の端部の画素同士の間隔である。図6では、三水の1画目と2画目の端部間の寸法をdis1、dis3で、2画目と3画目の端部間の寸法をdis2で、1画目と3画目の端部間の寸法をdis4で、2画目と3画目の端部間の寸法をdis5でそれぞれ表した。なお、図6では各連続部の右側同士又は左側同士の端部間の間隔を抽出したが、右側の端部と左側の端部の間隔を抽出してもよい。同様に、三水の各画と旁の上部、下部との間隔を抽出できる。また、各連続部の外接矩形を算出し、外接矩形の対角線を文字データとしてもよい。
【0047】
また、天地方向、左右方向において2つの画素を抽出し2つの画素間の寸法を文字データとすることができる。「漢」のビットマップデータでは最左の画素列に3つの黒画素があり、最右の画素列に2つの黒画素があるが、それぞれから2つの画素を抽出し画素間の寸法を抽出する。図6では最左と最右の最も上の画素同士を抽出しその寸法をLR1とし、また、最左と最右の最も下の画素同士を抽出しその寸法をLR2とした。
【0048】
また、「漢」のビットマップデータでは最上の画素列に4つの黒画素があり、最下の画素列に6つの黒画素があるが、それぞれから1つずつ画素を抽出し画素間の寸法を抽出する。図6では最上と最下の画素列の最も左の画素同士を抽出しその距離をTB1とし、最上と最下の画素列の最も右の画素同士を抽出しその距離をTB2とした。
【0049】
図7は文字の特徴的な部分の寸法を用いた文字データの一例を示す。フォントの種類及び大きさについては図5と同様である。そして、天地及び左右、連続部1〜n(「漢」の場合にはn=5)、天地方向の画素間及び左右方向の画素間のそれぞれの寸法が格納されている。
【0050】
本実施の形態では寸法の単位は画素数でなく絶対的な距離を表す単位(例えば、mm、cm等)を用いることができる。本実施の形態の文字データは文字の大きさ毎に格納されているので、文字の特徴的な部位の寸法を絶対値で評価することで精度のよい文字認識を可能とする。
【0051】
また、図6又は7のような寸法に加え、文字の特徴を表すパラメータとして角度を用いてもよい。図6では寸法を抽出する際に2画素間を結ぶ直線が得られるがその直線の角度を求め、それぞれの直線がなす角度を用いる。例えば、dis1とdis3、dis1とLength5のなす角である。このように特徴的な部分の寸法に加えそのなす角を用いることで更に精度のよい文字認識が可能となる。
【0052】
続いて、スキャンされた原稿に印刷されていた文字のフォントの判別について説明する。なお、フォントを判別する際には既に文字の大きさが判別しているものとする。
【0053】
図8は「合」という文字のフォント毎のビットマップデータを示す。図8では一例として、MS明朝、MSゴシック、HG楷書のフォント示した。図8に示すように、MS明朝、MSゴシック、HG楷書のフォントでは、線の太さ、黒画素の割合、形状が大きく異なる。したがって、フォント判別手段21は線の太さ等に基づきフォントを判別できる。
【0054】
線の太さ及び黒画素の割合の場合、MS明朝<HG楷書<MSゴシックとなる。図8では、線の太さとしてそれぞれのフォントで4カ所の太さを示しているが、スキャンした文字の線の太さをいくつかの部位で検出すれば、その平均に基づきフォント種別を判別できる。また、いくつかの文字について線の太さを算出しその平均に基づき判別してもよい。
【0055】
また、黒画素の割合を用いる場合、スキャンした文字の外接矩形を検出し、外接矩形の面積に対しする黒画素の割合に基づきフォントを判別できる。黒画素の割合は文字によって異なるので、フォント判別手段21は例えば1行分の文字又は1ページ分の文字について黒画素の割合を求めその平均に応じてフォントを判別する。
【0056】
また、フォント判別手段21は、例えば1画の線の太さの変化に基づきフォントを判別する。MSゴシックでは1画の線の太さはほとんど変化せず、HG楷書では大きく変化する。したがって、例えば、ある1画の始点付近(例えばA1、B1、C1)と終点付近(A2、B2、C2)の線の太さの変化率を算出することで、フォントを判別できる。
【0057】
文字データ5は、文字の大きさ及びフォントに対応づけて文字の太さ、黒画素の割合、線の太さの変化率を示す情報を有しているので、文字の大きさが判別すれば容易にフォントを判別できる。
【0058】
以上の構成に基づき文字認識装置1が文字を認識する処理について図9のフローチャート図に基づき説明する。スキャナ装置2に原稿がセットされ順にスキャンされ、画像データが逐次、文字認識装置1に送信される。
【0059】
まず、文字の大きさやフォントを判別するため原稿の1行目がスキャンされる(S11)。文字のない行間が検知され1行目のスキャンが終了したことが検出されたら、まず、文字サイズ判別手段22は文字の大きさを判別する(S12)。文字の大きさはどのように判別してもよいが、例えば、各文字の外接矩形を求め外接矩形の大きさに基づき判断する。同じ大きさの文字であっても文字毎に外接矩形の大きさが異なるので、いくつかの文字の平均を用いて判別する。原稿サイズは既知であるので原稿サイズに対する外接矩形の大きさにより判別してもよいし、1つの外接矩形を撮像素子が検知する画素数で判別してもよい。
【0060】
ついで、フォント判別手段21はフォントの種類を判別する(S13)。上述したように、各文字の大きさが分かれば、文字データ5が有する線の太さ等の情報に基づきフォントを判別できる。
【0061】
ついで、文字認識装置1は原稿の天地、すなわち文字の向きを判別する(S14)。スキャナ装置2にセットされた原稿のどの向きに文字が印刷されているか分からないため、文字認識装置1は文字の形状に基づき文字の天地を判別する。例えば、各文字の外接矩形の縦横比、直線部の方向、払いの方向等に基づき文字の天地を判別する。なお、例えば、標準パターンを用いた周知のパターンマッチングにより文字認識を行い、文字の認識が可能な方向を検出し天地を判別してもよい。
【0062】
ついで、文字識別手段24は文字データ5を用いて文字認識を行う(S15)。文字識別手段24は判別した文字の大きさ及びフォントに基づき文字データを参照し文字を認識する。既に1行目は全体がスキャンされているので、文字認識手段24は図5の4つの方向のいずれの文字データを用いてもよい。
【0063】
ついで、文字認識装置1は全ての行の文字認識が終了したか否か判定し(S16)、終了していなければ(S16のNo)次の行をスキャンし(S17)、文字認識を行う(S18)。
【0064】
既に1行目の文字認識において文字の大きさ及びフォントを判別しているので、2行目以降の行では行全体を読み込む前に文字認識を開始できる。すなわち文字の天地方向は既知であるので、天地方向に応じて図5のX方向〜−Y方向のいずれかの文字データを抽出し、主走査方向の1ライン毎に文字認識の候補を絞ることができる。例えば、黒画素が最初に現れる1ラインに3つの黒画素がスキャンにより検出された場合、文字データの最初に3つの黒画素を有する文字の候補を抽出し、ついで5つの黒画素がスキャンにより検出された場合、文字データの2番目の画素列に5つの黒画素を有する文字に候補を絞っていく。したがって、本実施例の文字認識は1つの文字全体を読み込まなくても文字の認識が可能であり、文字認識処理を高速化できる。全ての行の文字認識が終了したら図9のフローチャート図の処理は終了する。
【0065】
なお、各行の全体がスキャンされてから文字認識を行う場合、図5のX方向〜−Y方向のいずれの方向の文字データを用いて文字認識してもよく、また、これらの複数を組み合わせてもよい。
【0066】
また、図9では図5の文字データを用いて文字認識したが、図7のような文字の特徴的な部分の寸法を用いて文字認識してもよい。この場合、各行の全体をスキャンした後に寸法を適用して文字認識することが好適であるが、スキャンされた範囲で抽出可能な寸法に基づき徐々に文字の候補を絞っていくことも可能である。
【0067】
本実施例によれば、文字データをフォント及び大きさに応じて予め格納しておき、十分な分解能で画素毎にスキャンされた原稿の文字と比較するため、きわめて高精度に文字を認識できる。予め格納する文字データは使用頻度の高いフォント(例えば、MS明朝、MSゴシック、HG楷書等)及び使用頻度の高い大きさ(10.5ポイント、12ポイント等)であればよいので文字データの容量が大きくなりすぎることもない。また、1行目の文字認識が終了した後は、文字全体を読み込まなくても文字認識することが可能であるため、認識速度を向上できる。
【実施例2】
【0068】
本実施例では傾いている場合にも実施例1と同様に文字認識が可能な文字認識装置について説明する。本実施例では文字データの構成が実施例1と異なる。なお、システム構成図や画像認識装置1の機能ブロックについて実施例1と同様である。
【0069】
図4に示したように文字のビットマップデータは、256×256の各画素に黒又は白が配置されたものである(以下、画素文字データという)。したがって、画素文字データをそのまま文字認識のための文字データとすることで更に認識率を向上できる。具体的には、ビットマップデータの原点を適当に定め256×256の各画素に1(黒画素)又は0(白画素)のビットを格納する。本実施例の画像認識装置1は、フォントの種類かつ文字の大きさ毎に画素文字データを有する。なお、文字認識に使用する画素文字データは解凍して使用することし、それ以外では画素文字データは圧縮しておけばファイル容量を低減できる。
【0070】
図10(a)に示すように原稿が傾いてスキャンされた場合、1次元撮像素子の主走査方向に対し文字が傾いて読み込まれる。図10(b)は原稿が傾いて読み込まれた場合の画像データの一例を示す。図10(b)のように文字が傾いてしまうと、黒画素が現れる画素の位置がずれてしまう。そこで、本実施例では、原稿の傾き角を検出し、傾き角に応じて文字データの画素文字データを傾け、文字を認識する。
【0071】
図11は文字認識装置1が傾いた文字を認識する処理を示すフローチャート図である。なお、図11において図9と同一ステップには同一の符号を付した。
【0072】
まず、画像認識装置1は1行目をスキャンして(S11)、傾き角判別手段23が1行分の画像データに基づき傾き角を検出する(S20)。傾き角の検出はどのように行ってもよいが、例えば、1行の文字の地(最低部)を接続するベースラインを想定し、該ベースラインと主走査方向のなす角θを算出する。なお、原稿の挿入角度が検出されていれば、挿入角度と主走査方向のなす角により傾き角を求めることが可能である。
【0073】
ついで、文字認識装置1は原稿をスキャンして得られた画像データを傾き角θ補正して、実施例1と同様に文字の大きさ、フォント及び天地を判別し(S12〜14)、図5又は図7の文字データに基づき文字認識を行う。なお、1行目の文字を画素文字データに基づき画素毎に黒画素か白画素か判定し文字認識してもよい。
【0074】
ついで、文字識別手段認24は画素文字データを傾き角θ傾かせたものに補正する(S21)。例えば、図12に示した実線のような画素文字データであれば、角θ傾かせて点線のような仮想の枠を設定する。画素文字データにこのような処理を行うことで、原稿が傾いていても仮想の枠のいずれかが主走査方向と一致するため、画素文字データを用いて文字認識できる。
【0075】
例えば、仮想の枠のうち辺Aが主走査方向に一致すれば、辺Aから1列ごとに黒画素が現れる数をカウントすることで原稿が傾いていても実施例1と同様に適用可能な文字データとすることができる。
【0076】
以降は、図9のフローチャート図と同様である。すなわち、2行目以降の行では行全体を読み込む前に文字認識を開始できる。文字の天地方向、傾き角θは既知であるので、傾き角θ補正された画素文字データに基づき、主走査方向の1ライン毎に文字認識の候補を絞ることができる。
【0077】
したがって、本実施例の文字認識は原稿が傾いていても1つの文字全体を読み込まずに文字の認識が可能であり、文字認識処理を高速化できる。全ての行の文字認識が終了したら図11のフローチャート図の処理は終了する。
【0078】
本実施例によれば、実施例1の効果に加え、原稿が傾いていても傾き角に応じて文字データを用意し、高速な文字認識が可能である。なお、行全体を読み込んでから文字認識するのであれば当該行の画像データの傾きを補正できるので、実施例1の文字データを用いても、また、傾き補正しない画素文字データを用いても文字認識することができる。
【0079】
画素文字データを用いた場合、黒画素の現れる数ではなく、画素位置毎に黒又は白を判定することができるのでより精度よく文字認識できる。
【実施例3】
【0080】
実施例1及び2では文字認識装置が予め文字データ又は画素文字データ(以下、単に文字データという)を有していることとしたが、認識するフォント及び文字の大きさに応じて文字データを生成してもよい。
図13は文字データを作成する場合のシステム構成図を示す。なお、図13のシステム構成図はコンピュータにより構成される文字認識装置1により実現される。
【0081】
通常、文字認識装置1のパーソナルコンピュータにはOSが提供する複数のフォントデータ31が格納されている。フォントデータ31には、文字コードに対応つけてアウトラインフォントデータやビットマップデータが格納されている。
【0082】
ラスタライザ32は、文字コードに対応する文字を色付きの小さな点の集まりとして表現するものである。ラスタライザ32は、所定の文字コードの文字のフォント及び文字の大きさがアプリケーションソフトウェアから指定されると、文字コード、フォント及び大きさに応じたビットマップデータ34を生成する。
【0083】
ビットマップデータ34を図4に示すように所定の画素(例えば256×256)に区切ると各画素に黒又は白の画素が配置されたものとなる。すなわち文字データ作成手段36はビットマップデータ34を所定の画素に区切り、各画素位置毎に黒か白かを判別することで、画素文字データを生成できる。また、文字データ作成手段36は画素に区切られたビットマップデータ34又は画素文字データに基づき黒画素が現れる数を示す文字データを生成できる。
【0084】
図14は文字データ作成手段により作成される文字データにより文字認識する場合のフローチャート図を示す。なお、図14において図9と同一ステップには同一の符号を付した。
【0085】
まず、スキャンされた1行分の画像データに基づき文字の大きさ天地を判別し(S11、12、S14)、文字認識を行う(S30)。ステップS30の文字認識は、標準パターンを用いた周知のパターンマッチングによるものである。これにより1行目について所定の精度の認識率で文字が認識される。
【0086】
ついで、フォント判別手段21は1行目の文字のフォントを判別する(S31)。すでに1行目の文字が文字認識されているので、認識された文字の文字コードに基づきラスタライザ32が複数のフォントで文字のビットマップデータを生成する。そして、各フォントのビットマップデータにより再度1行目の文字に対しパターンマッチングを行う。フォント判別手段21は複数のフォントのうちマッチングのよいフォントが原稿に用いられているフォントと判別する。
【0087】
フォントが判別したので、文字データ作成手段は、当該フォント及び大きさの文字データ及び画素文字データを作成する(S32)。これにより、実施例1又は2と同様に文字データが得られたこととなる。
【0088】
以降は、実施例1と同様であり、全ての行が終了するまで(S16)、作成された文字データを用いて文字を認識する(S17、S18)。文字データ又は画素文字データは、画素毎に黒画素か白画素かを示すものであるため、きわめて精度よく文字を認識できる。
【0089】
本実施例によれば、使用される頻度の少ないフォントで印刷された原稿であっても、そのフォントを認識して文字データを作成できるので、多様なフォントに対応してきわめて精度よく文字を認識できる。
【図面の簡単な説明】
【0090】
【図1】文字認識装置を含む文字認識システムの全体構成図である。
【図2】文字認識装置のハードウェア構成図の一例である。
【図3】文字認識装置の機能ブロック図の一例
【図4】「漢」という文字のビットマップデータである。
【図5】文字データの一例である。
【図6】文字の寸法の取り方の一例を示す図である。
【図7】文字の特徴的な部分の寸法を用いた文字データの一例である。
【図8】「合」という文字のフォント毎のビットマップデータである。
【図9】文字認識装置が文字を認識する処理のフローチャート図である。
【図10】傾いてスキャンされた原稿の一例を示す図である。
【図11】傾いた文字を認識する処理を示すフローチャート図である。
【図12】傾き角θ傾かされた画素文字データの一例である。
【図13】文字データ作成システムのシステム構成図である。
【図14】文字データ作成手段により作成される文字データにより文字認識する場合のフローチャート図である。
【符号の説明】
【0091】
1 文字認識装置
2 スキャナ装置
3 プリンタ
4 ネットワーク
5 文字データ
【技術分野】
【0001】
本発明は、光学的に走査された原稿の画像データから文字を認識する文字認識装置、文字認識方法又は文字認識のための文字データに関する。
【背景技術】
【0002】
ワープロ等で作成された文字が印刷された原稿を、コンピュータ等の情報処理装置で扱えるようにデジタル化する文字認識の技術が提案されている。文字認識技術では、原稿をイメージスキャナ等で読み込んで文字を認識し、文字を英数字、ひらがな又は漢字などの文字コードに変換して保存する。
【0003】
従来の文字認識装置においては、複数の代表的なフォント(ゴシック系、明朝系、セリフ系、サンセリフ系、モノスペース系)の特徴量を平均化して文字の識別に用いる文字パターンの識別辞書を作成していた。しかしながら、特徴量が平均化された文字パターンでは識別力に限界がある。
【0004】
このため、フォント毎に識別辞書を用意する文字認識の技術が提案されている(例えば、特許文献1参照。)。かかる技術では、パソコン等に組み込まれたフォントを検出し、フォント毎の各文字について標準パターンを作成し登録する。文字認識する場合は、登録された標準パターンを用いてスキャナ等で読み込まれた画像データから文字を認識する。
【0005】
また、スキャナ装置等で読み込まれた画像データにおける文字の形状に関する特徴量を抽出し、あらかじめ用意したフォント種類毎の特徴量との類似度を計算し、類似度に基づいてフォントの種類を識別する技術が提案されている(例えば、特許文献2参照。)。かかる技術では、フォントの種類に応じてあらかじめ文字の輪郭線情報が用意されているため、フォントが判明すれば、文字の輪郭線情報に基づいて画像データの文字形状の修正を行い格納あるいは表示することができる。したがって、文字認識を行わずにフォントの種類のみを識別することで、文字の誤認識を避けることができる。
【特許文献1】特開2002−27935号公報
【特許文献2】特開平8−123904号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば、特許文献1の文字認識方法では、フォント毎に標準パターンを登録しても文字を識別するための特徴量が不確定であるため識別精度が十分でない。特許文献1では特徴量として、文字線の傾き、ループの数、線幅、文字面積等が挙げられているが、いずれも文字を特定するには十分でない。また、認識率を向上させるため特徴量を増やせば認識速度が低下してしまう。
【0007】
また、引用文献2では輪郭情報として文字を保存するので紙原稿と同じ形状のまま文字を取得できるが、取得した文字情報は文字コードでないためワープロソフトウェア等で再加工する場合の扱いが困難である。
【0008】
本発明は、上記の問題に鑑み、高精度かつ高速に文字を認識できる文字認識装置、文字認識方法及び文字認識のための文字データを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記問題に鑑み、本発明は、光学的に走査された原稿の画像データから文字を認識する文字認識装置において、文字のフォントを判別するフォント判別手段と、文字の大きさを判別する文字サイズ判別手段と、文字のフォント及び文字の大きさ対応づけて格納された文字を認識するための文字データと、フォント判別手段により判別されたフォントと文字サイズ判別手段により判別された文字の大きさに基づき文字データを参照して文字の文字コードを決定する文字識別手段と、を有することを特徴とする。
【0010】
本発明によれば、文字を認識するための文字データを文字の大きさとフォント毎に用意するため、高精度に文字を認識することができる。
【0011】
また、本発明の一形態において、文字データは、文字のビットマップデータを所定数の画素に区切った場合に、当該文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したものであることを特徴とする。
【0012】
本発明によれば、文字の各方向から黒画素の現れる数を記録した文字データを用いることで、文字全体を読み込まなくても文字の認識を開始でき、高速に文字を認識できる。
【0013】
また、本発明の一形態において、文字データは、文字のビットマップデータを所定数の画素に区切った場合に、各画素毎に白画素又は黒画素の情報を有する画素文字データである、ことを特徴とする。
【0014】
本発明によれば、画素毎に白画素又は黒画素かを判定して文字を認識するので、高精度に文字を認識できる。また、文字全体を読み込まなくても文字の認識を開始でき、高速に文字を認識できる。
【0015】
また、本発明の一形態において、文字データは、文字のビットマップデータを所定数の画素に区切った場合に複数の2画素間の寸法を有する、ことを特徴とする。
【0016】
本発明によれば、文字の2画素間の寸法に基づき文字を認識するので、高精度に文字を認識できる。
【0017】
また、本発明の一形態において、原稿の傾き角を判別する傾き角判別手段を有し、文字識別手段は、傾き判別手段により判別された傾き角に応じて画素文字データを傾かせて文字を認識することを特徴とする。
【0018】
本発明によれば、原稿の傾き角を判別し画素文字データも傾かせるので、文字全体を読み込まなくても文字の認識を開始でき、高速に文字を認識できる。
【0019】
また、本発明の一形態において、フォントデータから生成された文字のビットマップデータに基づき前記文字データを作成する文字データ作成手段を有し、文字データ作成手段は、フォント判別手段により判別されたフォントであって文字サイズ判別手段により判別された大きさの文字のビットマップデータに基づき前記文字データを作成し、文字認識手段は、文字データ作成手段により作成された文字データに基づき前記文字を認識する、とを特徴とする。
【0020】
本発明によれば、使用される頻度の少ないフォントで印刷された原稿であっても、そのフォントを認識して文字データを作成できるので、多様なフォントに対応してきわめて精度よく文字を認識できる。
【発明の効果】
【0021】
高精度かつ高速に文字を認識できる文字認識装置、文字認識方法及び文字認識のための文字データを提供することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施するための最良の形態について、実施例を挙げて図面を参照しながら説明する。なお、本発明の文字認識方法は、本発明の文字認識装置の実施形態に用いられているので、本発明の文字認識方法の実施形態は文字認識装置の実施形態の中で併せて説明する。
【実施例1】
【0023】
図1は、本発明の実施形態における文字認識装置を含む文字認識システムの全体構成図を示す。文字認識システムは、文字認識装置1、スキャナ装置2及びプリンタ3とがネットワーク4を介して相互に通信可能に接続されている。文字認識装置1は後述する文字データ5を有する。なお、本実施の形態の文字認識装置はスキャナ装置2と一体であってもよいし、スキャナ装置2及びプリンタ3と一体であってもよい。また、スキャナ装置2はファクシミリ機能を有していてもよい。
【0024】
文字認識装置の文字認識方法の概略を説明する。文字認識装置1は予めMS明朝、MSゴシック、OSAKA等のフォント毎に各文字のビットマップデータを数値化した文字データ5を有する。また、文字データ5は文字の大きさ(ポイント)毎に格納されている。
【0025】
ビットマップデータは画素ごとに黒又は白の値を取るが、フォント及び文字の大きさが特定されれば当該文字のビットマップデータはフォント及び文字の大きさに固有の2値(白黒)画像となる。したがって、このような文字データ5を利用して文字認識することで、きわめて高精度に文字を認識できる。
【0026】
スキャナ装置2がこれらのフォントで作成された文字が印刷された原稿を読み取り、文字認識装置1へ送信すると、文字認識装置1は印刷された文字のフォントの種別及び文字の大きさを判別し、判別したフォントと文字の大きさに応じて文字データ5を参照し文字認識を行う。
【0027】
なお、スキャナ装置2は周知の構成であり、例えばコンタクトガラスにセットされた原稿を光学的に走査し、原稿に光を当てその反射光をCCD等の1次元の撮像素子に入力し電気信号に変換する。スキャナ装置2は光源の移動速度や紙送りを制御しながら、変換された電気信号をA/D変換処理してデジタルデータに変換し、シェーディング処理、変倍処理、エッジ処理、γ補正、二値化処理等、周知の画像処理を行い画像データを取得する。スキャナ装置2は、フラットベッド型であってもよいし固定された光源に原稿を送る原稿送り型であってもよい。
【0028】
また、プリンタ装置3は周知の構成であり、文字認識装置1やスキャナ装置2から送信された印刷データを印刷する。プリンタ3の画像形成方法は、レーザ方式、LED方式、液晶シャッタ方式、インクジェット方式等、どのような方式であってもよい。
【0029】
図2は、文字認識装置のハードウェア構成図の一例を示す。文字認識装置1は、例えばコンピュータとして構成される。文字認識装置1は、バスBで相互に接続されたCPU11、入出力装置12、表示装置13、ドライブ装置14、主記録装置15、補助記憶装置16及び通信装置17、を有する。
【0030】
入出力装置12はユーザが操作するキーボード及びマウスなどから入力された各種操作信号を処理し、また、スキャナ装置2から送信される画像データの入出力やプリンタ3へ送信する印刷データの入出力を制御する。表示装置13は、文字認識装置1を操作するのに必要な各種ウィンドウやデータ等のGUI(Graphical User Interface)をディスプレイに表示する。通信装置17は、文字認識装置1をネットワークに接続する為のインタフェースであり、例えばNIC(Network Interface Card)やモデム等で構成される。
【0031】
文字認識装置1を動作させるための文字認識プログラムは、メモリカード、CD−ROM等の記録媒体18によって提供されるか、ネットワーク4を通じてダウンロードされる。また、記録媒体18はドライブ装置14にセットされ、データやプログラムが記録媒体18からドライブ装置14を介して補助記憶装置16にインストールされる。
【0032】
補助記憶装置16はハードディスク装置や記憶素子により構成され、OS(Operating System)や文字データ、プログラムを格納すると共に、必要なファイル等を格納する。CPU11は補助記憶装置16から文字認識プログラムをロードし主記憶装置15にプログラムを展開して該プログラム実行する。
【0033】
図3は文字認識装置1の機能ブロック図の一例を示す。文字認識装置1はフォント判別手段21、文字サイズ判別手段22、傾き角判別手段23及び文字識別手段24とを有する。フォント判別手段21はスキャナ装置2により得られた画像データの文字のフォントを判別する。文字サイズ判別手段22は画像データの文字の大きさを判別する。傾き角判別手段23は原稿又は画像データの主走査方向に対する傾き角を判別する。文字識別手段24は、フォントと文字の大きさに基づき文字データ5を参照して文字の文字コードを決定する。
【0034】
また、文字認識プログラムは、CPU11を、フォント判別手段21、文字サイズ判別手段22、傾き角判別手段23及び文字識別手段24として機能させるプログラムである。
【0035】
文字データ5について説明する。図4は「漢」という文字のビットマップデータを示す。図4では一例として、MS明朝体のフォントを用い文字の大きさを10.5ポイントとした。ビットマップデータであるので、画素毎に白又は黒の画素を配置すれば文字の形状が表示できる。文字をこのようにビットマップで表示すると、スキャンされた原稿の文字を同様の画素に区切り、画素毎に黒画素か白画素かを比較することで文字を識別できる。
【0036】
図4では画素数を256×256としたが、英文で記載された原稿を文字認識するのであれば画素数を粗くしてもよいし、1024×1024のように高解像で表示してもよい。説明のため図4では左下の頂点を原点に右方向をX方向、上方向をY方向、逆方向をそれぞれ−X方向、−Y方向とした。
【0037】
本実施例の文字データはこのようなビットマップを文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を画素列毎に数値化したものである。例えば「漢」という文字を左からX方向に黒画素の現れる数をカウントすると、4番目の画素列に3つの黒画素X41、X42及びX43が現れる。また、5番目の画素列にはX41、X42及びX43に加え、X51が現れる。黒画素が現れる位置は文字毎に異なっているため、X方向の画素列ごとに黒画素が現れる個数を文字データとすれば、当該文字に固有の識別情報となる。すなわち、本実施の形態の文字データは画素列ごとに現れる黒画素の数(0,0,0,3,1,1,…)である。したがって、本実施例の文字データは256個(実際には後述のように若干少ない)の黒画素の数となる。
【0038】
黒画素が現れる数はY方向で数えてもよいし、また、X方向の逆方向、Y方向の逆方向で数えることができる。−Y方向であれば、「漢」の文字では4番目の画素に3つの黒画素−Y41、−Y42、−Y43及び−Y44が現れる。また、5番目の画素には−Y51〜−Y57が現れる。このように、1つの文字に対しX方向、Y方向、−X方向及び−Y方向の4つの文字データを抽出することができる。
【0039】
このような文字データであれば、どちらの方向から文字がスキャンされても文字全体を読み込む前に文字の認識を開始することができる。また、文字全体を読み取った後は、4方向全ての文字データを使用して文字認識できる。
【0040】
ところで実際に文字認識する場合、黒画素が現れるまではどこから文字が始まるか分からないので(言い換えれば256個の画素列において最初の画素がどこか分からない)、文字データは黒画素が存在する画素から画素列毎に現れる黒画素の数を数値にする。すなわち、「漢」であれば(0,0,0,3,1,1,…)うち(0、0,0)を省略する。
【0041】
また、文字のビットマップデータは、アウトラインフォントであっても文字の大きさが異なると若干に異なる形状となる。例えば、12ポイントの文字と10.5ポイントの文字は全くの相似形ではない。例えば、10.5ポイントでは4画素目に1つの黒画素が現れたが、12ポイントでは4画素目に2つの黒画素が現れるなど、黒画素が現れる位置は文字の大きさによって異なる。そこで、本実施の形態の文字データは文字の大きさ毎に文字データを格納する。格納しておく文字の大きさの分解能は、一般的に使用される大きさであればよく、例えば、8、9、10、10、10.5、11、12、14、16、18、20ポイント程度である。
【0042】
図5は文字データの一例を示す。図5ではフォントの種類及び大きさに対応づけて4つの方向毎に黒画素の現れる数が記されている。文字データにはその他の大きさの文字データも含まれている。
【0043】
なお、図5では白から黒に反転する画素の数をカウントしたが、黒から白に反転する画素をカウントして文字データとしてもよい。
【0044】
また、本実施の形態の文字認識装置は文字の大きさ毎に文字認識を行うため文字の特徴的な部分の寸法を用いて文字データを構成できる。図6は文字の寸法の取り方の一例を示す図である。例えば天地の大きさ左右の幅は文字の寸法の一例であり、これにより文字全体の大きさが定まる。
【0045】
図6に示すように、文字のビットマップデータは黒画素が連続した部分により区切ることができる。「漢」の場合、三水(さんずい)の各画、旁の上部及び旁の下部がそれぞれ連続部である。それぞれの連続部で最も距離が大きくなる画素を2つ抽出し2つの画素間の寸法を文字データとする。図6では、三水の各画の長さLength1〜3が最も距離が大きくなる画素間の寸法を示す。同様に、旁の上部ではLength4が、旁の下部ではLength5が最も距離が大きくなる画素間の寸法を示す。
【0046】
また、連続部の間隔を文字データとすることができる。例えば、各連続部の端部の画素同士の間隔である。図6では、三水の1画目と2画目の端部間の寸法をdis1、dis3で、2画目と3画目の端部間の寸法をdis2で、1画目と3画目の端部間の寸法をdis4で、2画目と3画目の端部間の寸法をdis5でそれぞれ表した。なお、図6では各連続部の右側同士又は左側同士の端部間の間隔を抽出したが、右側の端部と左側の端部の間隔を抽出してもよい。同様に、三水の各画と旁の上部、下部との間隔を抽出できる。また、各連続部の外接矩形を算出し、外接矩形の対角線を文字データとしてもよい。
【0047】
また、天地方向、左右方向において2つの画素を抽出し2つの画素間の寸法を文字データとすることができる。「漢」のビットマップデータでは最左の画素列に3つの黒画素があり、最右の画素列に2つの黒画素があるが、それぞれから2つの画素を抽出し画素間の寸法を抽出する。図6では最左と最右の最も上の画素同士を抽出しその寸法をLR1とし、また、最左と最右の最も下の画素同士を抽出しその寸法をLR2とした。
【0048】
また、「漢」のビットマップデータでは最上の画素列に4つの黒画素があり、最下の画素列に6つの黒画素があるが、それぞれから1つずつ画素を抽出し画素間の寸法を抽出する。図6では最上と最下の画素列の最も左の画素同士を抽出しその距離をTB1とし、最上と最下の画素列の最も右の画素同士を抽出しその距離をTB2とした。
【0049】
図7は文字の特徴的な部分の寸法を用いた文字データの一例を示す。フォントの種類及び大きさについては図5と同様である。そして、天地及び左右、連続部1〜n(「漢」の場合にはn=5)、天地方向の画素間及び左右方向の画素間のそれぞれの寸法が格納されている。
【0050】
本実施の形態では寸法の単位は画素数でなく絶対的な距離を表す単位(例えば、mm、cm等)を用いることができる。本実施の形態の文字データは文字の大きさ毎に格納されているので、文字の特徴的な部位の寸法を絶対値で評価することで精度のよい文字認識を可能とする。
【0051】
また、図6又は7のような寸法に加え、文字の特徴を表すパラメータとして角度を用いてもよい。図6では寸法を抽出する際に2画素間を結ぶ直線が得られるがその直線の角度を求め、それぞれの直線がなす角度を用いる。例えば、dis1とdis3、dis1とLength5のなす角である。このように特徴的な部分の寸法に加えそのなす角を用いることで更に精度のよい文字認識が可能となる。
【0052】
続いて、スキャンされた原稿に印刷されていた文字のフォントの判別について説明する。なお、フォントを判別する際には既に文字の大きさが判別しているものとする。
【0053】
図8は「合」という文字のフォント毎のビットマップデータを示す。図8では一例として、MS明朝、MSゴシック、HG楷書のフォント示した。図8に示すように、MS明朝、MSゴシック、HG楷書のフォントでは、線の太さ、黒画素の割合、形状が大きく異なる。したがって、フォント判別手段21は線の太さ等に基づきフォントを判別できる。
【0054】
線の太さ及び黒画素の割合の場合、MS明朝<HG楷書<MSゴシックとなる。図8では、線の太さとしてそれぞれのフォントで4カ所の太さを示しているが、スキャンした文字の線の太さをいくつかの部位で検出すれば、その平均に基づきフォント種別を判別できる。また、いくつかの文字について線の太さを算出しその平均に基づき判別してもよい。
【0055】
また、黒画素の割合を用いる場合、スキャンした文字の外接矩形を検出し、外接矩形の面積に対しする黒画素の割合に基づきフォントを判別できる。黒画素の割合は文字によって異なるので、フォント判別手段21は例えば1行分の文字又は1ページ分の文字について黒画素の割合を求めその平均に応じてフォントを判別する。
【0056】
また、フォント判別手段21は、例えば1画の線の太さの変化に基づきフォントを判別する。MSゴシックでは1画の線の太さはほとんど変化せず、HG楷書では大きく変化する。したがって、例えば、ある1画の始点付近(例えばA1、B1、C1)と終点付近(A2、B2、C2)の線の太さの変化率を算出することで、フォントを判別できる。
【0057】
文字データ5は、文字の大きさ及びフォントに対応づけて文字の太さ、黒画素の割合、線の太さの変化率を示す情報を有しているので、文字の大きさが判別すれば容易にフォントを判別できる。
【0058】
以上の構成に基づき文字認識装置1が文字を認識する処理について図9のフローチャート図に基づき説明する。スキャナ装置2に原稿がセットされ順にスキャンされ、画像データが逐次、文字認識装置1に送信される。
【0059】
まず、文字の大きさやフォントを判別するため原稿の1行目がスキャンされる(S11)。文字のない行間が検知され1行目のスキャンが終了したことが検出されたら、まず、文字サイズ判別手段22は文字の大きさを判別する(S12)。文字の大きさはどのように判別してもよいが、例えば、各文字の外接矩形を求め外接矩形の大きさに基づき判断する。同じ大きさの文字であっても文字毎に外接矩形の大きさが異なるので、いくつかの文字の平均を用いて判別する。原稿サイズは既知であるので原稿サイズに対する外接矩形の大きさにより判別してもよいし、1つの外接矩形を撮像素子が検知する画素数で判別してもよい。
【0060】
ついで、フォント判別手段21はフォントの種類を判別する(S13)。上述したように、各文字の大きさが分かれば、文字データ5が有する線の太さ等の情報に基づきフォントを判別できる。
【0061】
ついで、文字認識装置1は原稿の天地、すなわち文字の向きを判別する(S14)。スキャナ装置2にセットされた原稿のどの向きに文字が印刷されているか分からないため、文字認識装置1は文字の形状に基づき文字の天地を判別する。例えば、各文字の外接矩形の縦横比、直線部の方向、払いの方向等に基づき文字の天地を判別する。なお、例えば、標準パターンを用いた周知のパターンマッチングにより文字認識を行い、文字の認識が可能な方向を検出し天地を判別してもよい。
【0062】
ついで、文字識別手段24は文字データ5を用いて文字認識を行う(S15)。文字識別手段24は判別した文字の大きさ及びフォントに基づき文字データを参照し文字を認識する。既に1行目は全体がスキャンされているので、文字認識手段24は図5の4つの方向のいずれの文字データを用いてもよい。
【0063】
ついで、文字認識装置1は全ての行の文字認識が終了したか否か判定し(S16)、終了していなければ(S16のNo)次の行をスキャンし(S17)、文字認識を行う(S18)。
【0064】
既に1行目の文字認識において文字の大きさ及びフォントを判別しているので、2行目以降の行では行全体を読み込む前に文字認識を開始できる。すなわち文字の天地方向は既知であるので、天地方向に応じて図5のX方向〜−Y方向のいずれかの文字データを抽出し、主走査方向の1ライン毎に文字認識の候補を絞ることができる。例えば、黒画素が最初に現れる1ラインに3つの黒画素がスキャンにより検出された場合、文字データの最初に3つの黒画素を有する文字の候補を抽出し、ついで5つの黒画素がスキャンにより検出された場合、文字データの2番目の画素列に5つの黒画素を有する文字に候補を絞っていく。したがって、本実施例の文字認識は1つの文字全体を読み込まなくても文字の認識が可能であり、文字認識処理を高速化できる。全ての行の文字認識が終了したら図9のフローチャート図の処理は終了する。
【0065】
なお、各行の全体がスキャンされてから文字認識を行う場合、図5のX方向〜−Y方向のいずれの方向の文字データを用いて文字認識してもよく、また、これらの複数を組み合わせてもよい。
【0066】
また、図9では図5の文字データを用いて文字認識したが、図7のような文字の特徴的な部分の寸法を用いて文字認識してもよい。この場合、各行の全体をスキャンした後に寸法を適用して文字認識することが好適であるが、スキャンされた範囲で抽出可能な寸法に基づき徐々に文字の候補を絞っていくことも可能である。
【0067】
本実施例によれば、文字データをフォント及び大きさに応じて予め格納しておき、十分な分解能で画素毎にスキャンされた原稿の文字と比較するため、きわめて高精度に文字を認識できる。予め格納する文字データは使用頻度の高いフォント(例えば、MS明朝、MSゴシック、HG楷書等)及び使用頻度の高い大きさ(10.5ポイント、12ポイント等)であればよいので文字データの容量が大きくなりすぎることもない。また、1行目の文字認識が終了した後は、文字全体を読み込まなくても文字認識することが可能であるため、認識速度を向上できる。
【実施例2】
【0068】
本実施例では傾いている場合にも実施例1と同様に文字認識が可能な文字認識装置について説明する。本実施例では文字データの構成が実施例1と異なる。なお、システム構成図や画像認識装置1の機能ブロックについて実施例1と同様である。
【0069】
図4に示したように文字のビットマップデータは、256×256の各画素に黒又は白が配置されたものである(以下、画素文字データという)。したがって、画素文字データをそのまま文字認識のための文字データとすることで更に認識率を向上できる。具体的には、ビットマップデータの原点を適当に定め256×256の各画素に1(黒画素)又は0(白画素)のビットを格納する。本実施例の画像認識装置1は、フォントの種類かつ文字の大きさ毎に画素文字データを有する。なお、文字認識に使用する画素文字データは解凍して使用することし、それ以外では画素文字データは圧縮しておけばファイル容量を低減できる。
【0070】
図10(a)に示すように原稿が傾いてスキャンされた場合、1次元撮像素子の主走査方向に対し文字が傾いて読み込まれる。図10(b)は原稿が傾いて読み込まれた場合の画像データの一例を示す。図10(b)のように文字が傾いてしまうと、黒画素が現れる画素の位置がずれてしまう。そこで、本実施例では、原稿の傾き角を検出し、傾き角に応じて文字データの画素文字データを傾け、文字を認識する。
【0071】
図11は文字認識装置1が傾いた文字を認識する処理を示すフローチャート図である。なお、図11において図9と同一ステップには同一の符号を付した。
【0072】
まず、画像認識装置1は1行目をスキャンして(S11)、傾き角判別手段23が1行分の画像データに基づき傾き角を検出する(S20)。傾き角の検出はどのように行ってもよいが、例えば、1行の文字の地(最低部)を接続するベースラインを想定し、該ベースラインと主走査方向のなす角θを算出する。なお、原稿の挿入角度が検出されていれば、挿入角度と主走査方向のなす角により傾き角を求めることが可能である。
【0073】
ついで、文字認識装置1は原稿をスキャンして得られた画像データを傾き角θ補正して、実施例1と同様に文字の大きさ、フォント及び天地を判別し(S12〜14)、図5又は図7の文字データに基づき文字認識を行う。なお、1行目の文字を画素文字データに基づき画素毎に黒画素か白画素か判定し文字認識してもよい。
【0074】
ついで、文字識別手段認24は画素文字データを傾き角θ傾かせたものに補正する(S21)。例えば、図12に示した実線のような画素文字データであれば、角θ傾かせて点線のような仮想の枠を設定する。画素文字データにこのような処理を行うことで、原稿が傾いていても仮想の枠のいずれかが主走査方向と一致するため、画素文字データを用いて文字認識できる。
【0075】
例えば、仮想の枠のうち辺Aが主走査方向に一致すれば、辺Aから1列ごとに黒画素が現れる数をカウントすることで原稿が傾いていても実施例1と同様に適用可能な文字データとすることができる。
【0076】
以降は、図9のフローチャート図と同様である。すなわち、2行目以降の行では行全体を読み込む前に文字認識を開始できる。文字の天地方向、傾き角θは既知であるので、傾き角θ補正された画素文字データに基づき、主走査方向の1ライン毎に文字認識の候補を絞ることができる。
【0077】
したがって、本実施例の文字認識は原稿が傾いていても1つの文字全体を読み込まずに文字の認識が可能であり、文字認識処理を高速化できる。全ての行の文字認識が終了したら図11のフローチャート図の処理は終了する。
【0078】
本実施例によれば、実施例1の効果に加え、原稿が傾いていても傾き角に応じて文字データを用意し、高速な文字認識が可能である。なお、行全体を読み込んでから文字認識するのであれば当該行の画像データの傾きを補正できるので、実施例1の文字データを用いても、また、傾き補正しない画素文字データを用いても文字認識することができる。
【0079】
画素文字データを用いた場合、黒画素の現れる数ではなく、画素位置毎に黒又は白を判定することができるのでより精度よく文字認識できる。
【実施例3】
【0080】
実施例1及び2では文字認識装置が予め文字データ又は画素文字データ(以下、単に文字データという)を有していることとしたが、認識するフォント及び文字の大きさに応じて文字データを生成してもよい。
図13は文字データを作成する場合のシステム構成図を示す。なお、図13のシステム構成図はコンピュータにより構成される文字認識装置1により実現される。
【0081】
通常、文字認識装置1のパーソナルコンピュータにはOSが提供する複数のフォントデータ31が格納されている。フォントデータ31には、文字コードに対応つけてアウトラインフォントデータやビットマップデータが格納されている。
【0082】
ラスタライザ32は、文字コードに対応する文字を色付きの小さな点の集まりとして表現するものである。ラスタライザ32は、所定の文字コードの文字のフォント及び文字の大きさがアプリケーションソフトウェアから指定されると、文字コード、フォント及び大きさに応じたビットマップデータ34を生成する。
【0083】
ビットマップデータ34を図4に示すように所定の画素(例えば256×256)に区切ると各画素に黒又は白の画素が配置されたものとなる。すなわち文字データ作成手段36はビットマップデータ34を所定の画素に区切り、各画素位置毎に黒か白かを判別することで、画素文字データを生成できる。また、文字データ作成手段36は画素に区切られたビットマップデータ34又は画素文字データに基づき黒画素が現れる数を示す文字データを生成できる。
【0084】
図14は文字データ作成手段により作成される文字データにより文字認識する場合のフローチャート図を示す。なお、図14において図9と同一ステップには同一の符号を付した。
【0085】
まず、スキャンされた1行分の画像データに基づき文字の大きさ天地を判別し(S11、12、S14)、文字認識を行う(S30)。ステップS30の文字認識は、標準パターンを用いた周知のパターンマッチングによるものである。これにより1行目について所定の精度の認識率で文字が認識される。
【0086】
ついで、フォント判別手段21は1行目の文字のフォントを判別する(S31)。すでに1行目の文字が文字認識されているので、認識された文字の文字コードに基づきラスタライザ32が複数のフォントで文字のビットマップデータを生成する。そして、各フォントのビットマップデータにより再度1行目の文字に対しパターンマッチングを行う。フォント判別手段21は複数のフォントのうちマッチングのよいフォントが原稿に用いられているフォントと判別する。
【0087】
フォントが判別したので、文字データ作成手段は、当該フォント及び大きさの文字データ及び画素文字データを作成する(S32)。これにより、実施例1又は2と同様に文字データが得られたこととなる。
【0088】
以降は、実施例1と同様であり、全ての行が終了するまで(S16)、作成された文字データを用いて文字を認識する(S17、S18)。文字データ又は画素文字データは、画素毎に黒画素か白画素かを示すものであるため、きわめて精度よく文字を認識できる。
【0089】
本実施例によれば、使用される頻度の少ないフォントで印刷された原稿であっても、そのフォントを認識して文字データを作成できるので、多様なフォントに対応してきわめて精度よく文字を認識できる。
【図面の簡単な説明】
【0090】
【図1】文字認識装置を含む文字認識システムの全体構成図である。
【図2】文字認識装置のハードウェア構成図の一例である。
【図3】文字認識装置の機能ブロック図の一例
【図4】「漢」という文字のビットマップデータである。
【図5】文字データの一例である。
【図6】文字の寸法の取り方の一例を示す図である。
【図7】文字の特徴的な部分の寸法を用いた文字データの一例である。
【図8】「合」という文字のフォント毎のビットマップデータである。
【図9】文字認識装置が文字を認識する処理のフローチャート図である。
【図10】傾いてスキャンされた原稿の一例を示す図である。
【図11】傾いた文字を認識する処理を示すフローチャート図である。
【図12】傾き角θ傾かされた画素文字データの一例である。
【図13】文字データ作成システムのシステム構成図である。
【図14】文字データ作成手段により作成される文字データにより文字認識する場合のフローチャート図である。
【符号の説明】
【0091】
1 文字認識装置
2 スキャナ装置
3 プリンタ
4 ネットワーク
5 文字データ
【特許請求の範囲】
【請求項1】
光学的に走査された原稿の画像データから文字を認識する文字認識装置において、
前記文字のフォントを判別するフォント判別手段と、
前記文字の大きさを判別する文字サイズ判別手段と、
前記文字のフォント及び前記文字の大きさ対応づけて格納された前記文字を認識するための文字データと、
前記フォント判別手段により判別されたフォントと前記文字サイズ判別手段により判別された前記文字の大きさに基づき前記文字データを参照して前記文字の文字コードを決定する文字識別手段と、
を有することを特徴とする文字認識装置。
【請求項2】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
当該文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したものである、
ことを特徴とする請求項1記載の文字認識装置。
【請求項3】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
各画素毎に白画素又は黒画素の情報を有する画素文字データである、
ことを特徴とする請求項1記載の文字認識装置。
【請求項4】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
複数の2画素間の寸法を有する、
ことを特徴とする請求項1ないし3いずれか記載の文字認識装置。
【請求項5】
前記原稿の傾き角を判別する傾き角判別手段を有し、
前記文字識別手段は、前記傾き判別手段により判別された傾き角に応じて前記画素文字データを傾かせて前記文字を認識する、
ことを特徴とする請求項3記載の文字認識装置。
【請求項6】
フォントデータから生成された文字のビットマップデータに基づき前記文字データを作成する文字データ作成手段を有し、
前記文字データ作成手段は、前記フォント判別手段により判別されたフォントであって前記文字サイズ判別手段により判別された大きさの文字のビットマップデータに基づき前記文字データを作成し、
前記文字認識手段は、前記文字データ作成手段により作成された前記文字データに基づき前記文字を認識する、
ことを特徴とする請求項1ないし4いずれか記載の文字認識装置。
【請求項7】
光学的に走査された原稿の画像データから文字を認識するための文字データにおいて、
前記文字のフォント及び前記文字の大きさに対応づけて、
文字のビットマップデータを所定数の画素に区切った場合に、当該文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したものである、
ことを特徴とする文字データ。
【請求項8】
光学的に走査された原稿の画像データから文字を認識するための文字データにおいて、
前記文字のフォント及び前記文字の大きさに対応づけて、
文字のビットマップデータを所定数の画素に区切った場合に、
各画素毎に白画素又は黒画素の情報を有する画素文字データである、
ことを特徴とする文字データ。
【請求項9】
光学的に走査された原稿の画像データから文字を認識するための文字データにおいて、
前記文字のフォント及び前記文字の大きさに対応づけて、
文字のビットマップデータを所定数の画素に区切った場合に、
複数の2画素間の寸法を有する、
ことを特徴とする文字データ。
【請求項10】
光学的に走査された原稿の画像データから文字を認識する文字認識方法において、
前記文字のフォントを判別するフォント判別ステップと、
前記文字の大きさを判別する文字サイズ判別ステップと、
前記フォント判別ステップにより判別されたフォントと前記文字サイズ判別ステップにより判別された前記文字の大きさに基づき、前記文字のフォント及び前記文字の大きさに対応づけて格納された文字データを参照して前記文字の文字コードを決定する文字識別ステップと、
を有することを特徴とする文字認識方法。
【請求項11】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したもの、
各画素毎に白画素又は黒画素の情報を有する画素文字データ、
又は、複数の2画素間の寸法、
であることを特徴とする請求項10記載の文字認識方法。
【請求項1】
光学的に走査された原稿の画像データから文字を認識する文字認識装置において、
前記文字のフォントを判別するフォント判別手段と、
前記文字の大きさを判別する文字サイズ判別手段と、
前記文字のフォント及び前記文字の大きさ対応づけて格納された前記文字を認識するための文字データと、
前記フォント判別手段により判別されたフォントと前記文字サイズ判別手段により判別された前記文字の大きさに基づき前記文字データを参照して前記文字の文字コードを決定する文字識別手段と、
を有することを特徴とする文字認識装置。
【請求項2】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
当該文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したものである、
ことを特徴とする請求項1記載の文字認識装置。
【請求項3】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
各画素毎に白画素又は黒画素の情報を有する画素文字データである、
ことを特徴とする請求項1記載の文字認識装置。
【請求項4】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
複数の2画素間の寸法を有する、
ことを特徴とする請求項1ないし3いずれか記載の文字認識装置。
【請求項5】
前記原稿の傾き角を判別する傾き角判別手段を有し、
前記文字識別手段は、前記傾き判別手段により判別された傾き角に応じて前記画素文字データを傾かせて前記文字を認識する、
ことを特徴とする請求項3記載の文字認識装置。
【請求項6】
フォントデータから生成された文字のビットマップデータに基づき前記文字データを作成する文字データ作成手段を有し、
前記文字データ作成手段は、前記フォント判別手段により判別されたフォントであって前記文字サイズ判別手段により判別された大きさの文字のビットマップデータに基づき前記文字データを作成し、
前記文字認識手段は、前記文字データ作成手段により作成された前記文字データに基づき前記文字を認識する、
ことを特徴とする請求項1ないし4いずれか記載の文字認識装置。
【請求項7】
光学的に走査された原稿の画像データから文字を認識するための文字データにおいて、
前記文字のフォント及び前記文字の大きさに対応づけて、
文字のビットマップデータを所定数の画素に区切った場合に、当該文字の左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したものである、
ことを特徴とする文字データ。
【請求項8】
光学的に走査された原稿の画像データから文字を認識するための文字データにおいて、
前記文字のフォント及び前記文字の大きさに対応づけて、
文字のビットマップデータを所定数の画素に区切った場合に、
各画素毎に白画素又は黒画素の情報を有する画素文字データである、
ことを特徴とする文字データ。
【請求項9】
光学的に走査された原稿の画像データから文字を認識するための文字データにおいて、
前記文字のフォント及び前記文字の大きさに対応づけて、
文字のビットマップデータを所定数の画素に区切った場合に、
複数の2画素間の寸法を有する、
ことを特徴とする文字データ。
【請求項10】
光学的に走査された原稿の画像データから文字を認識する文字認識方法において、
前記文字のフォントを判別するフォント判別ステップと、
前記文字の大きさを判別する文字サイズ判別ステップと、
前記フォント判別ステップにより判別されたフォントと前記文字サイズ判別ステップにより判別された前記文字の大きさに基づき、前記文字のフォント及び前記文字の大きさに対応づけて格納された文字データを参照して前記文字の文字コードを決定する文字識別ステップと、
を有することを特徴とする文字認識方法。
【請求項11】
前記文字データは、文字のビットマップデータを所定数の画素に区切った場合に、
左方向、右方向、天方向又は地方向から黒画素の現れる数を当該方向からの画素列毎に記録したもの、
各画素毎に白画素又は黒画素の情報を有する画素文字データ、
又は、複数の2画素間の寸法、
であることを特徴とする請求項10記載の文字認識方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2007−122500(P2007−122500A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−315074(P2005−315074)
【出願日】平成17年10月28日(2005.10.28)
【出願人】(000006747)株式会社リコー (37,907)
【出願人】(596017761)リコーテクノシステムズ株式会社 (37)
【Fターム(参考)】
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願日】平成17年10月28日(2005.10.28)
【出願人】(000006747)株式会社リコー (37,907)
【出願人】(596017761)リコーテクノシステムズ株式会社 (37)
【Fターム(参考)】
[ Back to top ]