JP3792747B2 - 文字認識装置及び方法 - Google Patents
文字認識装置及び方法 Download PDFInfo
- Publication number
- JP3792747B2 JP3792747B2 JP08944295A JP8944295A JP3792747B2 JP 3792747 B2 JP3792747 B2 JP 3792747B2 JP 08944295 A JP08944295 A JP 08944295A JP 8944295 A JP8944295 A JP 8944295A JP 3792747 B2 JP3792747 B2 JP 3792747B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- character
- character recognition
- binary
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/155—Removing patterns interfering with the pattern to be recognised, such as ruled lines or underlines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Description
【産業上の利用分野】
本発明は光学文字認識システムに関し、特にドキュメント画像(images of documents)を走査してコンピュータへ格納する方法及び装置であって、ドキュメント画像をテキストブロック及び非テキストブロックに区分し、テキストブロックにおける文字の識別(identity)を決定する方法及び装置に関するものである。
【0002】
【従来の技術】
近年、書類になったドキュメントを走査してコンピュータ化画像を形成し、テキスト領域内の画像を分析して、テキストデータ内の個々の文字を認識し、認識された文字に対応する、コンピュータによる読み取りが可能な文字コードのファイルを形成することができるようになった。そうしたファイルはワードプロセッシング、データ圧縮、または他の情報処理プログラムで操作することが可能であり、また、照会ベース(query-based)のテキストデータのサーチに応じたドキュメント画像の検索にも使用することが可能である。これよりそうしたシステムを「文字認識システム」と称するが、これらのシステムは、タイプの打ち直しや、書類になったドキュメントからテキストデータを再入力する必要をなくすことができるので有益である。例えば、ファクシミリにより送信されたり、マイクロフィルムから、または写真複写により再生されたドキュメントに認識処理を行ない、文字の文字コード(例えば、ASCII文字コード)やドキュメントの数字を含むコンピュータテキストファイルを形成することが可能である。
【0003】
従来の文字認識システムは書類になっているドキュメントを走査してドキュメントの2値画像を形成する。「2値画像」とは、画像の各画素が2値のゼロ、つまりドキュメントの白領域を表す画素であるか、2値の1、つまり黒領域を表す画素のどちらかである画像である。そして、2値画像(または「白黒画像(black-and-white image)」) に対し、認識処理を行ない、ドキュメントのテキスト領域内の文字の識別を決定する。
【0004】
最近、書類形態のドキュメントを走査してドキュメントのグレイスケール画像を形成すれば、認識精度が大幅に向上することが判明している。「グレイスケール」とは、ドキュメントの各画素が、2値のゼロでも2値の1でもなく、2つ以上の強度レベルのうちの1つ、例えば4レベル、16レベル、256レベルなどの強度レベルのうちの1つにより表される画像のことである。そうしたシステムは、本出願人による米国特許出願第08/112、133号「遷移グラウンドデータに基づくOCR分類(OCR Classification Based On Transition Group Data)」(1993年8月26日出願)に記載されており、その全内容は参照により本願に含まれているものとする。幾つかの例では、2値画像よりもグレイスケール画像を用いた方が認識精度が向上しており、ドキュメントの1ページに付き1つのエラーが500ページに付き1以下のエラーと減少している。
【0005】
図1は2値画像とグレイスケール画像の相違を表しており、上述のような認識精度がいかにして得られるかを理解するための図である。図1(a)は、文字「a」の上に画素解像度を表すグリッド1が重ねられた状態を表している。文字「a」は、グリッド1を用い、CCD列など感光性の素子で走査される。例えば、グリッド1は400ドット・パー・インチ(dot per inch) (dpi)の解像度を表している。図1(b)に示されるように、各画素について、文字「a」がその画素を有効にする(activate)のに十分な程度にその画素に対応する感光性素子を暗くしているかどうかに基づいて、各画素に2値の1または2値のゼロを割り当てることにより、文字「a」の2値画像が形成される。こうして、図1(a)の画素2aは文字「a」である黒い領域内に完全に存在しているので、図1(b)の黒画素2bとなる。一方、画素3aは文字領域から完全にはずれており、白画素3bとなる。画素4aは部分的に文字領域内であるが有効な文字部分の画素としては不十分に文字領域にかかっているため、白画素4bとなる。一方、画素5aは文字部分の画素として有効な画素になるのに十分に文字領域内に含まれており、黒画素5bとなる。
【0006】
図1(c)は同一の文字「a」のグレイスケール画像を表している。図1(c)に示されるように、完全に文字領域内の画素(2a)や完全に文字領域外の画素(3a)は、図1(b)と同様の完全な黒や白のグレイスケールレベルの画素である。一方、部分的に文字領域内であった画素は領域範囲内に相当する量を表すグレイレベルを割り当てられる。こうして、4レベルのグレイスケール画像を表す図1(c)において、画素4c及び5cは、夫々の領域内の量に基づいて、画素4cは低グレイスケール値を与えられ、画素5cはより高いグレイスケール値を与えられている。こうして、走査プロセスの所産により、図1(a)に示されるような本来白黒のドキュメントを走査し、基本的には文字エッジに、文字領域内の量に依存して割り当てられたグレイスケール値を持つ、図1(c)のようなグレイスケール画像とすることが出来る。
【0007】
図1(b)、1(c)を比較すると、図1(c)には付加的な細かい部分が、特に文字エッジに存在することがわかる。この付加部分は基本的には認識精度を向上させるためのものである。
【0008】
しかし、個々のグレイスケール文字画像を認識処理に送るために、個々の文字のグレイスケール画像をどのようにドキュメントのグレイスケール画像から抽出するかという点に問題がある。さらに詳しくは、認識精度は、1文字が始まる場所と、次の1文字が終わる場所を決定する能力に多いに依存しているため、文字のグループよりも単一の文字に対して認識処理を行なっている。
【0009】
図2はこの状況を表すもので、代表的なドキュメントの1ページを示している。図2において、ドキュメント10は2欄形式になっている。ドキュメントは、タイトルに適切な大きいフォントサイズの情報を含む、タイトルブロック12と、カラーまたは中間調の絵を含むピクチャーブロック13と、個々の文字の行のテキスト情報を含むテキストブロック14と、非テキストであるグラフィック画像を含むグラフィックブロック15と、テーブルのテキストまたは非テキストのボーダー(borders)またはフレームに囲まれた数値情報を含むテーブルブロック16と、説明分(キャプション)に適切な小さいフォントサイズの情報であって、通常グラフィックまたはテーブル情報のブロックに関連している、キャプションブロック17から成っている。
【0010】
認識処理に先立ち、ドキュメントのグレイスケール画像を形成するために、ドキュメント10を走査する際、グレイスケール画像のどの領域がテキスト領域で、どの領域が非テキスト領域であるかを決めることと、さらに、テキスト領域に対して、どこに個々の文字が位置しているかを決めることが必要である。以降この処理を「セグメンテーション処理(segmentation processing)」と称する。セグメンテーション処理により位置付けられた後に、個々の文字に認識処理を行ない、文字を識別して文字のテキストファイルを形成することができる。
【0011】
【発明が解決しようとする課題】
従来の2値画像に対するセグメンテーション処理技術は、一般に正確にテキストを非テキスト領域から分離できず、テキスト領域内の個々の文字の位置を正確に識別できないという点において不十分であった。さらに、グレイスケール画像に対しては、現在のところセグメンテーション処理技術は知られていない。
【0012】
本発明は上述した従来の技術状態に鑑みてなされたものであり、グレースケール画像に対するセグメンテーション処理を可能とし、グレースケール画像に対する文字認識を可能とする文字認識装置及び方法を提供することを目的とする。
【0013】
また、本発明の他の目的は、走査入力されたグレースケール画像についてセグメンテーション処理を行い、グレースケール画像の文字について文字認識を行うと共にその結果を格納することを可能とすることにある。
【0014】
また、本発明の他の目的は、グレースケール画像を用いた認識処理の結果と2値化画像を用いた認識処理の結果とに基づいて認識結果を決定することを可能とし、より高精度に認識を行うことを可能とすることにある。
【0015】
また、本発明の他の目的は、検出されたフォント特性に基づいて認識処理方法を選択することを可能とし、より精度よく文字認識を行う文字認識装置及び方法を提供することにある。
【0016】
【課題を解決するための手段】
及び
【作用】
上記の目的を達成するための本発明による文字認識装置は以下の構成を備える。即ち、
多値画像に含まれる文字を識別する文字認識装置であって、
前記多値画像に対して閾値処理を行って、2値画像を得る閾値処理手段と、
前記2値画像に対してセグメンテーション処理を行って、該2値画像に含まれる2値の文字画像に関する情報を取得する文字画像情報取得手段と、
当該取得した文字画像に関する情報をテンプレートとして、前記多値画像から多値の文字画像を抽出する抽出手段と、
当該抽出された多値の文字画像に対して文字認識処理を行って、認識結果を出力する文字認識手段と、を備え、
前記文字認識手段では、更に、前記取得された2値の文字画像に対しても文字認識処理を行って、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果とに基づいて、前記認識結果を決定して出力することを特徴とする。
【0017】
また、本発明の他の態様による文字認識装置は以下の構成を備える。即ち、
多値画像に含まれる文字を識別する文字認識装置であって、
前記多値画像を格納し、前記多値画像を処理するためのインストラクションシーケンスを格納するメモリと、
前記インストラクションシーケンスを実行するプロセッサとを備え、
前記インストラクションシーケンスは、前記プロセッサに(a)前記多値画像に対して閾値処理を行って、2値画像を得させ、(b)前記2値画像に対してセグメンテーション処理を行って、該2値画像に含まれる2値の文字画像に関する情報を取得させ、(c)当該取得した文字画像に関する情報をテンプレートとして、前記多値画像から多値の文字画像を抽出させ、(d)当該抽出された多値の文字画像に対して文字認識処理を行って、認識結果を出力させる処理工程を含み、
前記インストラクションシーケンスの文字認識処理の認識結果を出力させる工程では、更に、前記取得された2値の文字画像に対しても文字認識処理を行って、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果とに基づいて、前記認識結果を決定して出力することを特徴とする。
【0018】
更に、上記の目的を達成するための本発明による文字認識方法は、
多値画像に含まれる文字を識別する文字認識方法であって、
前記多値画像に対して閾値処理を行って、2値画像を得る閾値処理工程と、
前記2値画像に対してセグメンテーション処理を行って、該2値画像に含まれる2値の文字画像に関する情報を取得する文字画像情報取得工程と、
当該取得した文字画像に関する情報をテンプレートとして、前記多値画像から多値の文字画像を抽出する抽出工程と、
当該抽出された多値の文字画像に対して文字認識処理を行って、認識結果を出力する文字認識工程と、を備え、
前記文字認識工程では、更に、前記取得された2値の文字画像に対しても文字認識処理を行って、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果とに基づいて、前記認識結果を決定して出力することを特徴とする。
【0020】
また、本発明の好ましい一態様によれば、セグメンテーション処理技術を含む、向上されたグレイスケール文字認識システムが提供される。
【0021】
本発明によれば、グレイスケール画像を閾値処理することによって2値画像を得て、得られた2値画像内の個々の文字の位置、個々の文字の形状を決定するためにセグメンテーション処理を行ない、2値画像の位置と形状を用いて、各文字のグレイスケール画像をグレイスケール画像から抽出することにより、ドキュメントのグレイスケール画像における個々の文字を抽出し、認識処理を行う。そして、抽出された各文字のグレイスケール画像に認識処理を行なう。
【0022】
このように、本発明の文字認識システムは、ドキュメントを走査してそのドキュメントのグレイスケール画像を得て、グレイスケール画像と閾値とを比較してグレイスケール画像から2値画像を生成することにより、文字が形成されているドキュメントにおける、それらの文字を識別する。2値画像をセグメンテーションによって分割し、2値画像内の個々の文字の位置と、個々の文字の形状を決定する。2値画像における文字の位置と形状に基づいて、個々の文字に対するグレイスケール画像情報をグレイスケール画像から抽出する。そして、抽出されたグレイスケール画像に対して認識処理を行ない、文字の識別を決定し、その文字の識別をコンピュータに読み取れるファイルに格納する。
【0023】
上述のように文字のグレイスケール画像を認識処理するだけではなく、さらに文字の2値画像を認識処理することによっても、認識精度を向上することが可能である。グレイスケール画像及び2値画像の夫々から決定された識別の不一致は、文字の2値画像のアスペクト比や画素密度など実際の画像属性に基づいて解決する(または「明確にする(disambiguated)」)。
【0024】
文字のフォント特性(font characteristics)、例えば、文字のスペースが均一であるか、プロポーショナルであるか、サンセリフ(sans-serif)(セリフという文字のヒゲ飾りがない活字書体)であるか、を決定することでも、さらに認識精度を上げることができる。フォント特性に基づいて、複数の認識処理技術から1つを選択し、各文字が抽出される毎に、上述のように選択された認識処理技術に従って認識処理をおこなう。
【0025】
ドキュメント内の1つのテキストを識別してコンピュータ読み取り可能なファイルとして格納してしまうと、そのテキストファイルはドキュメント画像を検索するのに使用される。例えば照会ベースのサーチを用いて対応するドキュメント画像を検索するのに使用される。
【0026】
認識処理技術は普通の人間の知覚に必要な解像度よりもかなり高い解像度を必要とするため、本発明の1態様は、ドキュメント格納及び検索システムであって、従来のシステムと比較して、必要な格納容量を縮小できるシステムに向けられている。この発明の1態様によれば、ドキュメント格納及び検索システムは、ドキュメントのテキストを認識処理するのに適切な第1の解像度でドキュメントを走査してドキュメントのグレイスケール画像を形成する。そしてドキュメントのテキストに認識処理を行ない、テキストのコンピュータ読み取り可能なファイルを作成し、グレイスケール画像の解像度を低下させて、第1の解像度より低い、視覚や画像再生に適切な第2の解像度にする。この低下した解像度の画像のみをコンピュータ読み取り可能なファイルと関連させて格納して、後で照会ベースのサーチを用いて画像が検索されるようにする。
【0027】
以上の構成により、低解像度の画像のみを格納するので、メモリの記憶容量を縮小することができ、より多くの画像を格納することができる。さらに、画像データ量がより小さいので処理速度を上げることが可能である。また画像データを移動したり、圧縮または伸張したり、その他の処理をさらに高速に行なうことが可能である。
【0028】
上述の簡潔な要約は本発明の本質を迅速に理解するためのものである。添付の図面に係わる以下の好適な実施例の説明を参照すれば、発明のより完全な理解が得られるであろう。
【0029】
【実施例】
本発明の代表的な1実施例の構成は図3、4、5に示され、この代表的な実施例の動作は残りの図面に説明される通りである。本実施例は「パーソナル画像処理コンピュータシステム(personal imaging computer system)」すなわちドキュメントの走査、格納及び処理の装置を含む単一のスタンドアロン装置であって、コンピュータ化したローカルエリアネットワークまたはワイドエリアネットワークと接続可能な装置である。相当する汎用構成要素は以下に説明される装置で代用することができる。例えば、汎用のプログラム可能なコンピュータを、適切な周辺機器で代用することが可能である。
【0030】
[1.1 パーソナル画像処理コンピュータシステム]
図3は本実施例に係わるグレイスケール文字認識システムを含むパーソナル画像処理システム(「PICS」)の外観の部分切取図である。図3に示すように、PICS装置20は、1つのハウジング内に、積み重なった書類であるドキュメントが載置され1シートづつドキュメントスキャナ部22を通るように供給されるドキュメント供給部21を備えている。ドキュメントスキャナ部22は、好ましくはデュアルサイドスキャナから成り、CCDラインセンサ列を用いて各ドキュメントページを走査し、ドキュメントのグレイスケール画像を生成する。走査の後に、ドキュメントページは排紙トレー23へ排出され、トレー上に積み重ねられる。同様にペーパー格納トレー25内の(または不図示のペーパーカートリッジ)空白のドキュメントシートがPICS装置20によりプリンタ部26へ供給される。プリンタ部26は空白のシート上にトナー像を形成し、新しくプリントされたドキュメントを排紙トレー27へ排出する。
【0031】
PICS装置20はさらにファクシミリ/モデムインターフェイス(図5)を備えており、このインターフェイスによりPICS装置20は通常の音声/データ電話回線と接続して、遠隔のコンピュータとデータ通信やファクシミリ通信を行ない、オペレータはハンドセット30を介して通常の音声通信を行なうことができる。ローカルエリアネットワーク31及びワイドエリアネットワーク32にもインターフェイスが設けられており、ユーザがそれらのネットワークを介して遠隔のワークステーションと通信できるようになっている。
【0032】
コントロールパネル34ではオペレータによる制御と、表示が行なわれる。コントロールパネル34は、VGA液晶表示パネルなどのフラットパネル表示スクリーン35を備えている。オペレータが表示スクリーン35に表示されたカーソルを操作できるように、また表示スクリーン上のオブジェクトを選択できるように、トラックボール36が設けられている。33の位置に通常の電話キーが設けられ、37の位置に、従来のファクシミリ制御ボタンが設けられ、38の位置にスタート/ストップボタンが設けられている。39の位置にプログラム可能な機能キーが設けられており、オペレータがPICS装置20の様々な画像処理動作を制御できるようになっている。
【0033】
PICS装置20は汎用コンピュータ(図5に詳細を示す)を備えており、このコンピュータにより、オペレータはドキュメントを走査し、ドキュメントにセグメンテーション処理や認識処理を行なってドキュメントのテキスト領域に対応するテキストファイルを作成し、ドキュメント画像をプリントし、トラックボール36と表示スクリーン35を介してドキュメント画像やテキストファイルを操作したり、ドキュメントや画像をファクシミリによって送受信する。
【0034】
ワードプロセッシング、画像処理、スプレッドシート処理などの他の情報処理技術は、PICS装置20にロードされているソフトウェアに従って、オペレータが実行する。このように、PICS装置20はオペレータに、他の情報処理プロジェクトのための汎用コンピュータシステムも備えた強力なパーソナル画像処理コンピュータシステムを提供する。
【0035】
[1.2 コンピュータ化したネットワーク接続]
ローカルエリアネットワーク31及び/またはワイドエリアネットワーク32と接続すると、PICS装置20はコンピュータ化したネットワークのユーザに上述の機能(capabilities)を提供する。さらに詳しくは、図4に示すように、PICS装置20はローカルエリアネットワーク31に接続することができる。ワークステーション40などの複数のワークステーションは、同様にローカルエリアネットワーク31に接続されており、ネットワークオペレーティングシステムの制御により、PICS装置20の画像処理機能にアクセスすることができる。ワークステーションの1つ、例えばワークステーション43を、ネットワーク管理者が使用するように指定することができる。ローカルエリアネットワーク31にはファイルサーバー41が接続され、ネットワークディスク42に格納されているファイルのアクセスを管理している。プリントサーバー44は、プリンタ群45にプリントサービスを供給する。他の不図示の周辺機器はローカルエリアネットワーク31に接続されている。この構成により、ワークステーション40の内の1つのオペレータは、PICS装置20を用いてドキュメントを走査し、ドキュメント画像にセグメンテーション処理及び認識処理を行なってドキュメントのテキスト領域に対応するテキストファイルを得て、ドキュメント画像とそれに関連するテキストファイルをネットワークディスク42に格納し、ドキュメント画像及びそのテキストファイルを検索して、必要であればワークステーション40で操作し、原稿の、あるいは操作されたドキュメント画像及びテキストファイルをプリンタ45の内の1つでプリントアウトすることができる。
【0036】
典型的な例では、31のようなローカルエリアネットワークは、建物内の1つの階または隣接する複数の階において完全にローカル化されたユーザのグループに使用される。別の建物や別の州に分かれるなど、ユーザが互いに離れると、ワイドエリアネットワークを作ってもよい。このネットワークは主として幾つかのローカルエリアネットワークの集合であり、全てのローカルエリアネットワークは高速ISDN電話回線などの高速ディジタル回線により接続されている。こうして、図4に示すように、ローカルエリアネットワーク31、46、48は、モデム/トランスポンダ49及びバックボーン50を介してワイドエリアネットワークを形成している。各ローカルエリアネットワークはそれぞれのワークステーションを有し、通常必要でなくともそれぞれファイルサーバとプリントサーバを有している。このように、図4に示すように、ローカルエリアネットワーク46は複数のワークステーション51、ファイルサーバ52、ネットワークディスク54、プリントサーバ55、及び複数のプリンタ56を有している。一方ローカルエリアネットワーク48は、複数のワークステーション57のみを有している。ワイドエリアネットワーク接続により、ローカルエリアネットワーク31、46、48のいずれの装置も他のローカルエリアネットワークの装置の機能にアクセスすることができる。こうして、例えば、複数のワークステーション57の1つが、バックボーン50とモデム/トランスポンダ49を介してPICS装置20の画像処理機能にアクセスすることができる。同様に、複数のワークステーション51の1つがネットワークワークディスク42からドキュメント画像を検索して、その画像に対しPICS装置20上でセグメンテーション及び認識処理を行ない、処理結果をワークステーション51で受信したり操作を行なって、複数のプリンタ56の1つでドキュメントのプリントアウトを行なうことができる。勿論他の組み合わせも可能であり、上述の例に限定されるものではない。
【0037】
[1.3 内部構成]
図5は本発明に従った好適な実施例であるPICS装置20の内部構成と接続を示す詳細ブロック図である。図5に示すように、PICS装置20は、コンピュータバス61とインタフェースされたインテル社の80486DX(商標)や縮小インストラクションセットコンピュータ(RISC)などの中央処理部(CPU)60を備えている。また、ローカルエリアネットワーク31とのインタフェースのためのイーサネットインタフェース62、ワイドエリアネットワーク32とのインタフェースのためのISDNインタフェース64、電話回線29との適当なモデム/ファクシミリ/音声電話インタフェースのためのモデム/ファクシミリ/音声電話インタフェース65、プリンタ26とのインタフェースのためのプリンタインタフェースフェース66、そしてドキュメントトレー21からスキャナ22を通じて排紙トレー23へペーパーを搬送したり、ペーパー格納トレー25からプリンタ部26を通じて排紙トレー27へとペーパー搬送を行なうための適当なペーパー供給コマンドを供給する、トレー/ペーパー供給インタフェース67が、コンピュータバス61とインタフェース接続されている。
【0038】
ディスプレイインタフェース69はディスプレイ35とコンピュータバス61間のインタフェースを行ない、トラックボール/キーボードインタフェース70はコンピュータバス61、トラックボール36、キー39間のインタフェースを行なう。
【0039】
コンピュータバス61は、スキャナインタフェース71及びオンザフライJPEG(Joint Photographic Expert Group)プロセッサ72を介してスキャナ22と接続される。さらに詳しくは、スキャナ22がドキュメントを走査してスキャナインタフェース71によって画素データが収集されると、スキャナインタフェース71は画素データをJPEGプロセッサ72へ送り、JPEG圧縮方式で画素データを圧縮させる。圧縮された画素データはコンピュータバス61へ供給される。こうして、ドキュメントを走査する際にオンザフライJPEG圧縮を行なうことで装置の動作の高速化が達成される。
【0040】
圧縮プロセッサ72はJPEG圧縮を行なうことが好ましいが、それはJPEG圧縮は周知であり、本発明を実施する際容易に用いることができるからである。しかしながら、JPEGのようなデータ量の減少のある(lossy)圧縮が望ましいが、他のタイプの圧縮を行なってもよい。
【0041】
さらに、JPEGプロセッサ72は、バス61上のコマンドを介し、JPEG圧縮されたファイルをビットマップ画素データに伸張するような構成を有してもよい。伸張されたビットマップ画素データは不図示の直接接続部(direct connection)を通じてプリンタインタフェース66へ供給される。プリントステーション26がグレイスケール画素を直接プリントすることができない場合は、ソフトウェアによる設定可能な閾値比較器をその直接接続部へ設けて、何らかの選択可能な閾値レベルでグレイスケール画素データを2値の画素データへ変換できるようにしてもよい。この構成により、JPEGプロセッサ72を通じて、必要であれば2値の閾値処理を行なって、直接プリントインタフェース66へファイルを読み出すことによって、ソフトウェアによるデータ伸張を必要とせずに、JPEG圧縮された画像ファイルを迅速にプリントすることが可能となる。
【0042】
1.2ギガバイトのハードディスクなどのディスク75は、SCSI(「Small Computer Systems interface」)インタフェース76を介してコンピュータバス61に接続される。ディスクには、2値、グレイスケール、カラーの画像データファイルとテキストデータファイルとが、CPU60がそれらのデータファイルを操作したり作成したりするのに用いるプログラムインストラクションシーケンスと共に格納されている。詳しくは、ディスク75はドキュメントのグレイスケール画像をセグメンテーション処理して、ドキュメント画像のテキストと非テキスト領域に分離し、テキスト領域から個々の文字を抽出するためのプログラムインストラクションシーケンスと、文字の画像を認識処理して文字の識別を決定するためのプログラムインストラクションシーケンスとを格納している。適切な認識処理技術には、以下のシステムに限られるものではなく、文字画像からフィーチャ(feature)及び/またはストローク(stroke)を抽出してそうした情報の辞書との比較を行なうフィーチャ及び/またはストローク抽出システム、人間の神経の相互連絡を模倣して文字画像を識別するニューラルネットワーク認識システム、フィーチャ/ストローク認識システムとニューラルネットワーク認識システムの両方の態様を持つハイブリッドシステムが含まれる。
【0043】
読み取り専用メモリ(ROM)77はコンピュータバス61とインタフェース接続し、CPU60にスタートアッププログラムやBIOSプログラムなどの特殊化された不変の機能を提供する。メインランダムアクセスメモリ(RAM)79はCPU60に必要なデータ及びインストラクションシーケンスのためのメモリ記憶領域を提供する。詳しくは、セグメンテーションプログラムまたは文字認識プログラムなどのプログラムインストラクションシーケンスを実行する時、CPU60は通常それらのインストラクションシーケンスをディスク75から(あるいは、ネットワークアクセスの場合は他のプログラム格納媒体から)RAM79へロードして、これら格納されたプログラムインストラクションシーケンスをRAMから実行する。図5に示すように、データ操作のためのワーキング格納領域もRAMに設けられており、そこにはグレイスケール画像、2値画像、連続成分、テキストファイルのためのワーキング領域も含まれている。
【0044】
[2.0 動作]
上述の本発明の代表的な実施例の動作を、図6〜22を参照して説明する。一般に、オペレータの命令(通常キーボード/トラックボールインタフェース70を介し受信されるが、他の供給源、例えばローカルエリアネットワーク31またはワイドエリアネットワーク32、またはモデムまたはDTMFコマンドにより電話回線29を介して受信される)に従って格納されたアプリケーションプログラムを選択し、データの処理や操作をするように選択したアプリケーションを起動する。例えば、セグメンテーション処理プログラム、認識処理プログラム、ワードプロセッシングプログラム、画像編集プログラム、スプレッドシートプログラム及び同様の情報処理プログラムなどの様々なアプリケーションプログラムがオペレータに提供され、オペレータはそれらを選択したり使用することができる。こうして、セグメンテーションプロセッシングプログラムを起動して、スキャナ22によりドキュメントを走査して、ドキュメントのグレイスケール画像をRAM79に格納する。格納されたプログラムインストラクションに従ってグレイスケール画像をセグメンテーション処理して、ドキュメントのテキスト領域と非テキスト領域を識別し、テキスト領域の個々の文字を抽出する。その後、認識処理プログラムを起動して、抽出された文字画像を認識処理し、文字を識別してテキストファイルの形で格納することもできる。得られたテキストファイルをオペレータに提供して、オペレータがそれを検討したり、ワードプロセッシングプログラムなど他のアプリケーションプログラムを使用して操作するようにしてもよいし、ディスクへ格納したり、ローカルエリアネットワーク31、ワイドエリアネットワーク32または電話回線29上へ出力することもできる。
【0045】
[2.1 プログラム可能な機能キー]
図6、7はプログラム可能な機能キー39の使用及びプログラミングに関するコントロールパネル34の拡大図である。
【0046】
上述のように、PICS装置20はネットワーク化可能な装置であり、通常PICS装置20から遠隔の様々なネットワークユーザの誰かにより使用される。従って、PICS装置20によってドキュメントを処理する必要がある場合、普通ユーザはドキュメントを自分のワークステーションからPICS装置20へ移動させる。ユーザが、自分のワークステーションからPICS装置20により実行させるドキュメント処理機能をプログラムして、ユーザが実際にPICS装置20の所にいる時に最小の労力でそれらの機能が実行されるようにできる事は、ユーザにとり好都合である。ところで、ユーザがPICS装置20により実行される画像処理タスクを規定してから実際にPICS装置20の所へ行ってそれらの画像処理タスクを実行するまでに時間が経過してしまう。その間他のユーザはPICS装置20を使用することができない。
【0047】
ここに述べるように、PICS装置20は好ましくはプログラム可能な機能キー39を備え、これらのキーはネットワークユーザにより自分達のワークステーションからプログラムされ、ユーザが実際にPICS装置20の所で画像処理を行なう時に選択することができる。画像処理タスクには、PICS装置20のスキャナ22による新しいドキュメントの走査、様々なネットワーク格納媒体からの現在のドキュメント画像の検索、テキストファイルを作成するためのドキュメント画像の認識処理、様々なネットワーク格納媒体へのテキストファイルの格納が含まれ、格納されたテキストファイルを用いるスプレッドシートまたはリポート作成ワードプロセッシングプログラムなど、他の情報処理プログラムなどの関連したタスクも含まれている。これらの画像処理タスクの幾つかまたは全てを連続して、機能キー39の1つに触れるだけで一連の画像処理または関連のタスクが実行されるようにマクロ的なの機能を提供するように、機能キー39をプログラムすることができる。
【0048】
好ましくは、プログラム可能な機能キー39は2つのグループに別れる。1つのグループはネットワーク管理装置43によってのみプログラム可能であり、もう1つのグループはいずれかのLANユーザによりプログラム可能である。キーのいずれかにより実行される詳細な画像処理機能は、必要であればディスプレイ35に表示することができる。
【0049】
簡潔に述べると、図6、7はローカルエリアネットワークに接続可能で、ドキュメント画像における文字を識別するためのドキュメント画像の認識処理を行なうパーソナル画像処理コンピュータシステム(PICS)を説明する図である。複数のプログラム可能な機能キーはパーソナル画像処理コンピュータに設けられ、各機能キーは、画像処理コンピュータシステムがあらかじめプログラムされた画像処理タスクを実行するように、オペレータにより操作される。複数のプログラム可能な機能キーは少なくとも2つのグループに区分されるが、第1のグループはLANのネットワーク管理者だけがプログラム可能であり、第2のグループはLANのいずれのユーザでもプログラム可能である。複数の機能キーの画像を表示する表示手段が設けられている。複数の機能キーの1つの画像をオペレータが選択するのに応じて、表示手段はそのキーにより実行される機能を表示する。
【0050】
さらに詳しくは、図6に示すように、プログラム可能キー39の画像が表示手段により表示される。さらに図6に示すように、画像は2グループに別れている。ネットワーク管理者の装置43だけがプログラムできるように限定された機能キーの第1のグループ176と、いずれのLANユーザもプログラムできる、限定されていない機能キーの第2のグループ177である。図6には示していないが、175の各機能キーの表示においては、現在そのキーをプログラムしたユーザの識別の表示を含むことが好ましい。
操作においては、ワークステーション40の所にいるユーザは、PICS装置20に実行させたい画像処理タスクを指定し、グループ177のプログラム可能キーの1つを選択し、ローカルエリアネットワーク31を介してその機能キーをプログラムする。そして、ユーザは、PICS装置20で処理するドキュメントをPICS装置20の実際の場所まで運ぶ。PICS装置20の所へ着くと、ユーザは図6に示す表示を出して、ユーザ識別を参照してプログラムしたキー位置を突き止める。
【0051】
ユーザはトラックボール36を使用して、ネットワーク管理者装置43によりプログラムされるキーと他のいずれのLANユーザによってもプログラムできるキーとを含む、表示されたキーの1つを選択する。図7の178に示すように、表示されたキーの選択をする際には、そのキーに関連した現在の機能が表示される。実際に機能キー39を操作することにより、PICS装置20は自動的に指示された機能を実行する。
【0052】
[2.2 画像解像度調整]
図8はPICS装置20の動作を示すフローチャートであり、装置20は、ドキュメントを第1の解像度で走査してドキュメントのグレイスケール画像を形成する。この第1の解像度はドキュメントのテキストを認識処理するのに適切な解像度である。そしてグレイスケール画像における文字画像を認識処理してコンピュータ読取可能なテキストのファイルを得る。そしてグレイスケール画像の解像度を第1の解像度よりも低く、目視や画像再生に適切な第2の解像度に変える。それから第2の解像度の画像をコンピュータ読取可能なテキストファイルと関連付けて格納する。添付の図面の残りのフローチャートと同様に、図8における処理ステップは格納されたプログラムインストラクションステップに従ってCPU60により実行される。プログラムインストラクションステップは、コンピュータディスク75(または他の媒体)に格納されており、RAM79へ転送されて、そこからCPU60によって実行される。
【0053】
さらに詳しくは、ステップS801では、ドキュメント供給トレー21上のドキュメントをスキャナ22を通るように供給する。スキャナ22はドキュメントを走査してドキュメントの画像を作成する。好ましくは、ドキュメントを走査する解像度は、400dpiなどの認識処理に適切な解像度である。オンザフライJPEGプロセッサ72は画像が走査入力される際に圧縮を行ない、圧縮された画像はディスク75またはRAM79に格納される。
【0054】
ステップS802では、ドキュメント画像を光学文字認識処理して、ドキュメントのテキスト領域に対するテキストファイルを作成する。光学文字認識処理については後述の2.3章の図9A、9B、9Cを参照して詳細に説明する。
【0055】
ステップS803では、ドキュメント画像の解像度を下げて、ドキュメント画像の格納容量が減少するようにする。好ましくは、ドキュメント画像の解像度は、人間であるオペレータに知覚されるのに十分であり、コンピュータの画面に表示したり紙面に印刷するのに適当な程度に下げられる。現在のところ70dpiが望ましい解像度である。画像解像度を低下させる技術は公知であり、原稿の画像におけるいずれの色、またはグレイスケールのいずれのレベルも可能な程度に保持する技術を選択することが望ましい。また、好ましい技術としては、バークス(Burkes)またはスタッキー(Stucki)法などの誤差拡散技術を用いて低解像度画像の見た目を向上する(enhance)ものがよい。
【0056】
ステップS804では、必要に応じて圧縮した、あるいは未圧縮の低解像度の画像を、ステップS802で作成したテキストファイルと関連付けて格納する。ディスク75への格納が可能であるが、ドキュメント画像とその関連のテキストファイルとをサーチ可能なデータベースの一部として、ネットワークディスク42または52の1つに格納する方がより好ましい。
【0057】
こうして、ステップS805に示すように、ドキュメント画像を、例えばテキストファイルの照会ベースのサーチに応じて検索することができる。さらに詳しくは、オペレータの照会に応じたキーワードサーチや他のサーチに基づいて、データベースのテキストファイルがサーチされて、オペレータが入力した照会に見合うテキストファイルを識別する。そうしたテキストファイルが識別されると、関連したドキュメント画像が検索されて、ドキュメント画像は、表示やプリントなど所望の形でオペレータに提示される。
【0058】
ドキュメントは認識処理に適切な解像度で走査されるが、その後走査時の解像度より低い解像度で関連するテキストファイルと共に格納されるので、そうしたドキュメントの大規模なデータベースを格納するのに必要な格納容量が大幅に縮小できる。
【0059】
[2.3‐‐光学文字認識処理‐‐概要]
図9A、9B、9Cは上述のステップS802のようにドキュメントを識別するための光学文字認識処理の概略を示している。簡潔に述べると、図9A〜9Cのいずれかによると、ドキュメントを走査してドキュメントのグレイスケール画像を得て、そのグレイスケール画像と閾値とを比較することによって、グレイスケール画像から2値画像を生成する。その2値画像をセグメンテーション処理して2値画像内の個々の文字の位置を決定して、個々の文字の形状を決定し、その2値画像における文字の位置と形状をテンプレートとして用いて、各文字に対するグレイスケール画像情報をグレイスケール画像から抽出する。そして抽出したグレイスケール画像情報を認識処理して、文字を識別し、その文字の識別結果を格納する。
【0060】
まず、図9AのステップS901に示すように、ドキュメントのグレイスケール画像を入力する。好ましくは、ドキュメントのグレイスケール画像を入力するために、ドキュメントをスキャナ22で走査するが、例えば、ドキュメントを遠隔に走査して電話回線29、ローカルエリアネットワーク31、またはワイドエリアネットワーク32を介してPICS装置20へ送信するなど他の方法で生成したドキュメント画像を入力することも可能である。
【0061】
ステップS902では、走査入力した画像の歪み補正を行なう。画像の歪みは、例えばドキュメントを曲がった状態でスキャナ22を通過させてしまうなどの不適当なドキュメントの走査から、あるいは別の原稿のドキュメントを位置のずれた状態で複写して得られたドキュメント書類を走査することから生じる。発生源が何であれ、歪みは文字認識においてエラーを引き起こすので、2.4章で図10、11に関連して詳細に後述するようにステップS902で現在の歪みを補正する。この点において、ステップS902で行なう歪み補正を格納して、画像の認識処理の後や画像格納の準備の際に「解除(un-done)」する(元の歪んだ状態に戻す)ことが可能である。しかし、通常は歪んだ画像は単に廃棄して、歪み補正した画像のみを保存する。
【0062】
ステップS903では、グレイスケール画像のコピーをRAM79で保持し、後でその画像からグレイスケール文字画像を抽出して認識処理できるようにする(ステップS907、S908参照)。
【0063】
ステップS904では、グレイスケール画像と閾値とを比較することによって、グレイスケール画像から2値画像を生成する。閾値処理は2.5章の図12、13を参照して詳細に後述する。このようにして得た2値画像をRAM79へ格納する。
【0064】
ステップS905では、2値画像をセグメンテーション処理してドキュメントのテキスト領域と非テキスト領域に分離し、ドキュメントのテキスト領域内の個々の文字の位置を決定する。セグメンテーション処理は図14に関連して2.6章で後述する。さらに2値画像内の個々の文字位置に基づいて、2値の文字画像の形状から文字テンプレートを得る(ステップS906)。
【0065】
ステップS907では、ステップS906で生成したテンプレートを用いて、ステップS903で格納したグレイスケール画像からグレイスケール文字画像を抽出する。そして抽出したグレイスケール文字画像を認識処理して(ステップS908)ドキュメントのテキスト領域内の個々の文字を識別する。
【0066】
ステップS915では、文字の識別を、ASCII形式などのコンピュータ読取可能なテキストファイルの形で格納する。ここでは、テキストファイルの読み込み順序が原稿ドキュメントの読み込み順序を反映するように、原稿ページの再構成を行なう。例えば、図2に戻ると、左側の欄のテキストの1行の後に、右側の欄のテキストの相当する位置の行が続くのではなく、左側の欄のテキストの全ての行の後に右側の欄の全ての行が続くべきであるということがわかる。ステップS915では、このページ再構成を遂行してテキストファイルに対する正しい読み込み順序を得る。
【0067】
ステップS916では、ディスク75またはネットワークディスク42、54へ出力するなどしてテキストファイルを出力する。ステップS804で上述したように、テキストファイルは、そのドキュメントファイルと関連付けて格納して、ドキュメントの検索に利用できるようにする。
【0068】
図9Bは文字認識処理システムのフローチャートであり、この処理ではドキュメントのテキスト領域内の文字のフォント特性に従って、複数の認識処理技術から1つを選択する。選択された認識処理技術はフォント特性に対応するようにする。例えばフォント特性が均一ピッチのフォントが使われていることを示している場合には、均一ピッチフォントの認識処理技術を選択し、一方フォント特性がサンセリフフォントが使われていることを示している場合には、サンセリフ認識処理技術を選択するようにする。
【0069】
こうして、文字の画像から文字の識別を決定する図9Bの文字認識システムによると、テキスト領域を含むドキュメントの画像を処理して、文字の行の位置を決定し、各行のフォント特性を決定し、決定したフォント特性に基づいて複数の認識処理技術から1つを選択する。個々の文字画像を各行から抽出し、選択した認識処理技術に従って、各抽出された文字画像を認識処理する。
【0070】
さらに詳しくは、図9Aについて説明したように、ステップS901、S902、S903、S904、S905、S906、S907では、グレイスケール画像を入力し、そのグレイスケール画像に対し歪み補正を行ない、歪み補正された画像のコピーを保存し、全体的な閾値処理により2値画像を生成する。その2値画像をセグメンテーション処理して文字画像の位置を決定し、2値画像の形状から文字テンプレートを得て、テンプレートを用いてグレイスケール画像から文字を抽出する。
【0071】
ステップS909では、1行の文字のフォント特性を決定する。この決定は、セグメンテーション処理の間に決定した文字属性に基づいてなされる。あるいは、この決定は2値またはグレイスケール画像から抽出した文字に基づいてなされる。「フォント特性」には、サンセリフまたはセリフフォント、イタリック体、太字などのフォント形状に加え、均一またはプロポーショナルなどの文字スペースが含まれている。
【0072】
ステップS910では、ステップS909で決定した特定のフォント特性に合うように、複数の認識処理技術の1つを選択する。さらに詳しくは、あるフォントが例えばサンセリフフォントのユニバース(Universe)である場合、特にサンセリフフォントに向けた認識処理技術を使用することができる。そうした認識処理技術はサンセリフ文字の認識処理に特に適切である。それは、例えばサンセリフフォントにはセリフフォントよりも互いに接触する文字が少ないことが知られているからである。同様に、ステップS909ではそのフォントがクーリエ(Courier)のような均一スペースのフォントかどうかを決定し、そのフォントに特に合わせた均一スペースの認識処理技術を選択する。
【0073】
ステップS911では、選択した認識技術を用いて抽出したグレイスケール文字画像を認識処理する。そして、ステップS915、S916では、図9Aに関して上述したように、ページ再構成を行なって、識別された文字の順序を正しい順序に変えて、生成されたテキストファイルを出力する。
【0074】
図9Cは本実施例による選択的な処理を示している。これにより、特にイタリック体や相対的なスペースのフォントなど認識が困難なフォントを処理する際に、認識精度を向上することができる。図9Cに示す文字認識システムでは、ドキュメントのグレイスケール画像を閾値処理して2値画像を得て、2値画像をセグメンテーション処理して文字の2値画像の位置を決定して文字の2値画像の属性を決定して、ドキュメントにおける文字の識別を決定する。セグメンテーション処理された2値画像における文字の形状に基づいて文字のグレイスケール画像を抽出し、グレイスケール文字画像と2値の文字画像の両方に対して認識処理を行ない、文字の識別を決定する。そして、セグメンテーション処理中に決定された文字属性に基づいて、グレイスケール文字画像の認識処理結果と2値文字画像の認識処理結果の不一致を解決する。
【0075】
さらに詳しくは、ステップS901からS908では、図9Aで上述したように、グレイスケール画像を入力し、グレイスケール画像の歪みを補正し、閾値処理により2値画像を得る。そして2値画像をセグメンテーション処理して文字画像の位置を決定し、2値画像の形状から文字テンプレートを得る。テンプレートを用いてグレイスケール文字画像を抽出し、抽出したグレイスケール文字画像を認識処理する。
【0076】
ステップS913では、ステップS905でセグメンテーション処理中に抽出された2値の文字画像を認識処理して2値の文字画像の識別を決定する。ステップS914では、ステップS905のセグメンテーション処理中に得られた文字画像の実際の画像特性に基づいて、グレイスケール文字画像の認識処理結果(ステップS908)と2値文字画像の認識処理結果(ステップS913)のいかなる不一致も解決する。例えば、「L」の小文字活字ケース(「l」)、数字の「いち」(「1」)、角括弧(「[」または「]」)を区別するのは困難である。ステップS908、S913における認識処理の違いにより、これらの文字のいずれか1つについて異なる識別が決定される可能性がある。そうした場合、ステップS905のセグメンテーション処理中に得られた物理的属性を参照して、不一致を解決する。さらに詳しくは、そして図14について後述するように、セグメンテーション処理の間に、各文字画像について(さらに詳しくは、下記に説明するように、画像中の各連続成分について)画素密度やアスペクト比などの物理的属性を決定する。これらの物理的属性に基づいて、ステップS908、S913の認識処理結果を明確にする。
【0077】
ステップS915、S916では、図9Aに関して上述したように、ページ再構成とテキスト出力を行なう。
【0078】
[2.4 歪み補正]
図10A、10B及び図11Aから11Cは本実施例による歪み補正処理を説明する図である。これらの図に示すように、画像の歪みを決定しし、歪みが±10°など所定の限度より大きい場合には数学的回転変換により歪み補正し、歪みが所定の限度より小さい場合には画素データを垂直移動することにより歪みを補正することにより、歪みの補正を行なう。大抵の場合、画素データの数学的変換を行なう必要はないので、この技術による歪み補正によって相当な時間を節約することができる。数学的変換は、特にグレイスケール画素データが含まれている場合には、プロセッサの処理時間に換算すると不経済である。それは、歪み補正される画像の各画素が、歪んだ画像の幾つかの画素の数学的な組合わせから得られるからである。さらに、歪み補正される画素の値は数学的に算出されるので、一般的に述べると、1つの歪み補正される画素の値と最初に走査された画像における画素の値とが等しくはならず、不正確な認識(例えばそれぞれ値が「1」及び「2」である画素を、それらの平均値(1.5)に置換して、その結果それらの画素の値は元の原稿の画像のどこにも存在しないものとなる)を増加させることになる。一方、歪んだ画像を単純に移動して歪み補正された画像とすると、そうした数学的組み合わせは含まず、さらに、最初に走査された画像からの画素値をそのまま有している。勿論、画像の歪みが大きすぎる場合は垂直移動により、いくらかの画像の変歪が生じるため、そうした変歪を起こさない数学的変換を避けることはできない。
【0079】
さらに詳しくは、図10Aに示すように、ステップS1001からS1004では、画像の画素データのベースライン分析によって画像の歪みを判定する。これは、ハインズ他の「ランレングス符号化及びハフ変換を用いたドキュメントの歪み検出方法」(Hinds, et al., "A Document Skew Detection Method Using Run Length Encoding And The Hough Transform", IEEE 10th International Conference On Pattern Recognition, June, 1990, page 464)に記載されているような修正ハフ変換(modified Hough transform)の適用により行なう。より詳しくは、ステップS1001で画像にサブサンプリングを行なって処理が必要なデータの量を減らす。好ましくは、画像のサブサンプリングは、正確な歪み検出に十分な約100dpiの解像度で画像を得るようにする。歪み補正すべき画像を400dpiの解像度で入力した場合、1:4の比でサブサンプリングを行なうので、原稿の画像の4番目の画素毎にサブサンプリングを行ない、100dpiの画像を形成することになる。サブサンプリング比は異なる入力解像度についても、同様に選択する。例えば、600dpi画像に対しては1:6のように選択する。
【0080】
ステップS1002では、任意の閾値を用いて、または図12、13(後述)の説明で計算される閾値を用いて、サブサンプリングした画像を2値化する。
【0081】
ステップS1003では、サブサンプリング、そして2値化を行なったデータに粗いハフ変換を行なって原稿の画像における歪み角度を凡その程度で決定する。さらに詳しくは、例えば1°毎といった単純な角度の解像度で±20°など所定の制限間にハフ変換を適用する。必要であれば、ハフ変換に先立ち、画像のベースライン(活字の並び線)の感度(sensitivity)を増幅することができる。これは、画素データの各垂直ラン(run)について、夫々の垂直ランの数を各垂直ランの底部に位置させたものに交換し、像や線を表す画素データを省略することにより行なう。
【0082】
ステップS1004では、サブサンプリングおよび2値化を行なった画像に、ステップS1003で得られた凡その歪み情報を用いて、精密なハフ変換を適用する。より詳しくは、ステップS1003で決定した凡その歪み角度の±1°前後において、0.1°などの精密な角度の解像度で精密なハフ変換を適用する。
【0083】
ステップS1005では、ステップS1004で決定した歪み角度を±10°などの所定の限度と比較する。歪みが所定の限度より大きい場合、ステップS1006へ進んで、数学的変換により画像の歪み補正を行なう。一方、歪みが所定限度より小さければ、ステップS1007へ進んで、歪みに基づいて垂直移動ファクター(factor)を決定する。より詳しくは、図11Aに示すように、ステップS1001からS1004で上述したように、まず、歪み角度シータ(θ)を計算する。それから、歪み角度θから、歪み角度θをゼロへ減少させる垂直移動ファクターを算出する。図11Aの例では、垂直移動ファクターは、歪み角度4.4度に対応して、横の13画素毎に下方向の1画素となる。そして、図11Bに示すように、左から右へ処理を行なうと、移動ファクターに基づいて、画像の全列が連続して上方向または下方向に移動する。移動の後には、歪み角度θがゼロに減少しているのがわかる。
【0084】
図10Aに戻り、ステップS1006の数学的変換またはステップS1008の画素移動に従って画像を歪み補正すると、その歪み補正された画像を出力する(ステップS1009)。
【0085】
画素移動にる歪み補正は、処理時間の節約の点では有利であるが、幾つかの状況では文字の画像を変形させてしまう。例えば、図11Bでは、文字「a」の各画像が、これらの文字の中央で下方向の移動が起こったために崩れてしまっている。図10Bはこの種の変形を防ぐ処理を示している。
【0086】
図10Bにおいて、ステップS1001からS1007は図10Aと同様である。ステップS1010では、移動ファクターに従って画像の列を上または下方向に移動する時点であれば、CPU60はその画像が文字間の空白部分にあるかどうかを判断する。その画像が文字間にあると判断すると、ステップS1011へ進んで、移動ファクターに従って、前に移動した列に相対的に画像の全列を上または下方向へ連続的に移動する。一方、文字間にない場合は、移動は行なわず、移動ファクターを単に蓄積する(ステップS1012)。ステップS1010へ戻り、文字間についてのみ移動を行なう。こうして、図11Cに示すように、2つの文字「a」の間のみ移動が行なわれ、この場合の蓄積された移動ファクターは、「DOWN 2」である。処理は前述のように進んで、ステップS1013で歪み補正された画像を出力する。
【0087】
図10Bに従って処理を行なうことにより、画素移動が文字間のみで行なわれて文字の中央で行なわれないため、各文字の変形を防ぐことができる。
【0088】
[2.5 閾値処理]
図12はステップS904で説明した閾値処理を詳細に示すフローチャートである。図12に示す閾値処理手順に従って、グレイスケール画像から2値画像を形成する。つまり、グレイスケール画像の画素の明暗度のヒストグラムを形成し、少なくとも1つのヒストグラムグループ離れたヒストグラムのトップの2グループを識別し、これらの2つのトップグループの間の距離の半分を計算してこれを全体的な閾値とし、グレイスケール画像の各画素をこの全体的な閾値と比較して各画素を2値化し、グレイスケール画像に対応する2値画像を出力する。
【0089】
ステップS1201では、グレイスケール画像について、画素強度における画素のヒストグラムを形成する。図13(a)に示すように、ヒストグラムは複数の画素強度のグループを有しており、各グループの高さはグループ内に入るグレイスケール画像の画素の数に基づいて決定されている。図13(a)では、0から255のグレイスケール画像の明暗度に基づいて、(1)から(8)までの8つのグループが指定されている。他のグループ分けも可能であるが、実施が容易な図13(a)のグループ分けを用いることが好ましい。
【0090】
ステップS1202では、ヒストグラムを調べて、グレイスケール画像が「反転ビデオ」画像かどうか、つまり画像が従来の画像のように白地に黒ではなくて、黒地に白の画像であるかどうかを判定する。ヒストグラムがグレイスケール画像が反転ビデオ画像であることを示している場合は、グレイスケールを反転して(ステップS1203)画像を従来の白地に黒の画像に変換する。
【0091】
ステップS1204では、各ヒストグラムグループの高さに基づいてヒストグラムグループを降順に格納する。図13(a)の例では、最も高い数値を有するグループ(8)が最初のグループであり、最も低い数値を有するグループ(5)が最後のグループである。このようにして、図13(b)に示すように図13(a)のヒストグラムグループを格納する。
【0092】
ステップS1205では、少なくとも1グループ離れたトップの2グループを選択する。こうして、図13(b)に示すように、トップの2グループであるグループ(8)、(7)を最初に比較する。しかし、これらは少なくとも1グループ離れていないため(つまり、数値的に、グループ(8)はグループ(7)の直接の隣接グループである)、グループ(8)および(7)は選択しない。その代わりに、次のトップの2グループであるグループ(7)、(2)を比較する。グループ(7)、(2)は少なくとも1グループ離れているため(この例では数値的に4グループ離れている)、ステップS905でグループ(7)、(2)を選択する。
【0093】
ステップS1206では、ステップS1205で選択した2グループ間の距離の半分で全体的な閾値(global threshold)を計算する。図13(a)に示すように、グループ(2)、(7)は160(つまり192‐32)の距離だけ離れている。従ってこの代表的なグレイスケール画像の全体的な閾値は、TH=160÷2=80となる。
【0094】
ステップS1207では、グレイスケール画像の各画素の明暗度を、ステップS1206で算出した全体的な閾値と比較して、グレイスケール画像を2値化する。図12に示すように、比較を行なった結果の画素の明暗度が全体的な閾値より低い場合は、その画素を、白を表す2値の「0」にセットする(ステップS1208)。一方、画素の明暗度が全体的な閾値より高い場合は、その画素を、黒を表す2値の「1」にセットする(ステップS1209)。
【0095】
グレイスケール画像の全画素と全体的な閾値との比較を終了すると、2値画像を出力する(ステップS1210)。
【0096】
[2.6 セグメンテーション処理]
図14はステップS905で上述したセグメンテーション処理を示すフローチャートである。この処理により、ドキュメント画像のテキストおよび非テキスト領域を識別して、テキスト領域の個々の文字を抽出する。図14の処理は、ステップS904で生成した2値画像の連続成分(connected component)を分析することにより行なうものである。「連続成分」とは、連続する黒画素のグループで、全体を白画素で囲まれたものをいう。本願の印刷書類におけるページのように、通常の印刷ページにおいて、連続成分は通常ある文字か、文字の分離した一部であるが、下線を引いた文字または筆記体の原稿では、連続成分は連続した文字のグループである可能性もある。
【0097】
図14に示すように、テキスト領域と非テキスト領域の両方を含むドキュメント画像において、ドキュメン画像における連続成分を識別し、各連続成分の画素密度やアスペクト比などの画像属性を得て、その画像属性に基づいて各連続成分をフィルタリングして、非テキスト領域を表す連続成分からテキスト領域を表す連続成分を分離することによりテキスト領域の位置を決定する。フィルタリングは、未知のタイプの連続成分がテキストか非テキストかが決定できるまで、複数セットのルールを連続的に未知の連続成分の画像属性に適用することで行なう。
【0098】
さらに詳しくは、ステップS1401では、セグメンテーション処理する画像を入力する。好ましくは、この画像はステップS904で閾値処理して生成した2値画像であるが、一般に、セグメンテーション処理が必要ないずれの画像でもよい。例えば、入力する画像は画像再生の準備としてディジタル複写機により走査されて得られた画像でもよい。この場合は、画像のどの領域がテキストでどの領域が非テキストかを決定して、その決定に基づく文字再生を制御するためにセグメンテーション処理が必要である。こうして、ここで説明するセグメンテーション処理は、画像のどの領域がテキストかを決定して、それらの領域を黒いトナーのみを用いてディジタル複写により再生したり、どの領域が非テキストかを決定して、それらの領域をシアン、マジェンタ、イエロー、ブラックのトナーを組み合わせて用いて、ディジタル複写により再生するように使用される。
【0099】
ステップS1402では、画像における下線部を検出して除去する。下線部が引かれた文字は、幾つかの別々な連続成分ではなく、むしろ単一の連続成分として識別されやすく、こうして連続成分の分析が損なわれることになる。下線部除去は2.6.1章で図18、19を参照して詳細に説明する。
【0100】
ステップS1403では、画像を分析して全ての連続成分を識別する。上述のように、「連続成分」は連続した黒画素のグループであって、全体を白画素で囲まれたものである。図15は、単語「finally」の画像を形成する画素を示すが、同図に示されるように、連続成分は画像の各画素の8方向分析により検出できる。さらに詳しくは、図15の画像における最も右下の黒画素である画素80などの最初の画素から始まって、黒画素を取り囲む画素を、星状方向81に示すように8方向に調べて、隣接する黒画素が存在するかどうかを判定する。画素82はそうした黒画素で、更に画素82から8方向の処理を始めて、矢印84で示すように連続成分の周囲をたどる。
【0101】
この画像における各画素を図15で説明したように分析して、テーブルのフレーム内の個々の項目のような内部的連続成分を含む、画像における各連続成分の位置を識別して決定する。この実施例では、図15の四角形85のように、文字を取り囲む四角形の位置を決定することによって、各連続成分の位置を規定する。
【0102】
図15に示す8方向処理は連続成分を正確に識別できるが、CPUの処理時間やメモリ格納領域の観点からは不経済な処理である。というのは、通常全体の画像を一度にメモリへ格納しなければならないからである。図20、21を参照して2.6.2章で説明する連続成分処理は連続成分を検出するためのより効率的な技術であり、従ってこのステップS1403にとっては好ましい方法である。
【0103】
ステップS1404では、各連続成分について物理的な画像属性を得る。こうして、図16に示すように、各連続成分について、アスペクト比、画素カウント(画素数)、密度、周囲、周囲/幅の比、(周囲の二乗)/領域の比などの画像属性の全てを得る。さらに、「タイプ」属性も各連続成分に関連する。最初に、タイプ属性は「未知」と設定されるが、さらなる処理に従って、究極的には各連続成分のタイプが「テキスト」または「非テキスト」と設定される。このステップS1404で得た物理的画像属性は図9CのステップS914における多義性の解決に使用される。
【0104】
ステップS1405では、連続成分を検討して画像の方向がポートレート(縦長)またはランドスケープ(横長)であるかを判断する。より詳しくは、大抵の画像はポートレート方向の画像として走査されるので、ここで説明する処理はポートレート方向の画像のみを扱うことにする。従って、ステップS1405でランドスケープの方向が検出された場合は、ステップS1406へ進んで、画像を90°回転してポートレート方向の画像を得る。そしてステップS1404へ戻って、各連続成分の属性を得る。
【0105】
ポートレート方向の画像を得ると、ステップS1407へ進み、各「未知」のタイプの連続成分について、複数のルールを適用して、連続成分がテキストであるかまたは非テキストであるかを判定する。連続成分ルールについては図22を参照して詳細に説明するが、一般に、ルールは連続成分自体にではなくステップS1404で決定された属性に適用される。さらに、好ましくは、最初の段階で適用するルールは時間をほとんど掛けずに計算を行ない、早い段階で非テキスト連続成分から識別し易いテキスト連続成分を分離することのできる単純なルールである。後の段階で適用するルールは、非テキスト連続成分から識別し難いテキスト連続成分を分離する、より複雑で時間の掛かるルールである。しかし、この後期の処理段階では「未知」のタイプの連続成分はさらに少なくなっているため、後半のルールは前半のルールよりも適用頻度が低い。
【0106】
ステップS1408では、「テキストタイプ」の連続成分を分析してテキストのラインを識別する。テキストのラインの分析は、ステップS915のページ再構成で利用される。さらに、テキストのラインを識別することによって、連続成分の分析により分離された文字の部分を再接続することができる。例えば、図15からわかるように、「i」の上の点86は連続成分の分析によって「i」の文字本体から分離されていた。ステップS1408に示すように、テキストのラインを識別することにより、ステップS1411で後述するように文字をテキストのラインから順次切り離す時に、完全な文字「i」を形成するように連続成分を再接続することが可能である。
【0107】
ステップS1409で、もしテキストのラインの接触があれば、ステップS1410で分離する。そして、ステップS1411で、さらなる処理のために個々の文字をテキストのラインから切り離す。例えば、図9Aから9Cを参照すると、テキストのラインから切り離された個々の文字を、ステップS906でテンプレートとして使用して、ステップS907で文字のグレイスケール画像から文字を抽出する。さらに、ステップS913では、このステップS1411で切り離した文字自体を認識処理する。
【0108】
図17は上述の処理が下線付きの単語「finally」に与える効果を示している。図17に示すように、ステップS901に従って、印刷された下線付きの単語「finally」を含むドキュメント90を画素解像度91で走査して、下線付きの単語「finally」のグレイスケール画像92を入力する。歪み補正(ステップS902)の後、ステップS903に従って、グレイスケール画像のコピーを93として保存する。そして、ステップS904に従い、グレイスケール画像を閾値処理して2値画像94を作成する。
【0109】
そしてステップS905で上述したように2値画像をセグメンテーション処理する。さらに詳しくは、図14を参照して説明すると、下線を除去して(ステップS1402)画像95を生成する。連続成分の分析(ステップS1403からS1412)を通して、文字96を画像95から切り離す。そして、テンプレート97を得て(ステップS906)、テンプレートをグレイスケール画像のコピー93に適用し、グレイスケール文字画像98を抽出する(ステップS907)。なお、テンプレートは、関係する全画素がグレイスケール画像から適切に抽出されたかどうかを確認するために、約2画素程度拡大することが可能である。さらに、グレイスケール画像93をもとのままの下線が付いた状態で保存するため、グレイスケール文字画像を取り出す際、下線部の残りを小量含むことになる。しかし、これらの小量の下線の残余は、認識処理を妨げるものではない。そこで抽出されたグレイスケール文字画像に認識処理を行ない、抽出された文字画像を識別する。この例では、文字「f」に関しては、認識処理によりASCIIコードの「66hex」が得られるが、このコードは文字「f」に対するASCIIコードの16進数値である。
【0110】
[2.6.1 下線除去]
図18A、BはステップS1402に従って行なう下線部の除去を説明するためのフローチャートである。これは下線部を文字通り取り除くわけではなく、下線部分の文字を下線から分離するものである。連続成分の分析により分離された下線のセグメント(segment)は「非テキスト」であると判断され、後続の認識処理ではそれらは無視される。
【0111】
下線部分における下線の文字からの分離は次のように行なう。つまり、画像を上から下に向かって、画素行毎に横断走査して、画像の水平画素ランの各行のランレングスを計算し、各画素行のランレングスを前画素行のランレングスと比較して、現在の画素行のランレングスが前画素行のランレングスより所定値を越えて大きくなった時に、画像を水平に分割する。次に、分割された画像を下から上に向かって画素行毎に横断走査して、現在の画素行のランレングスを計算して前画素行のランレングスと比較し、現在の行のランレングスが画像の水平分割が行なわれたのと同一領域内において前画素行のランレングスより所定値を越えて増加した時に、画像を垂直に分割して前の水平分割部分を再結合する。さらに、どこで前の水平分割が行なわれたかを検出する、つまり、分割が文字の中央付近か、それとも文字のエッジ近辺で行なわれたかを検出することにより、上記の2回目のの分割を垂直に行なう必要はなく、「j」または「g」などの幾つかの文字の形状を保存するように斜めに分割してもよい。
【0112】
さらに詳細を図18A、B、図19により説明する。ステップS1801に示すように、最初にドキュメント画像の最大の文字幅「MAX」を概算する。図18に示す下線除去技術の適切な動作のためには最大文字幅の正確な概算は必要ではなく、最大文字幅の簡単な概算があればよい。従って、最大文字幅を任意の固定値、例えばMAX=50画素に設定してもよいし、また概算された平均文字幅の約3倍に設定してもよい。この実施例では、概算された平均文字幅を、16で割った凡その画像解像度として計算し、最大文字幅MAXをその値の3倍に設定する。こうして、400dpiの画像に対し、MAX=3×400/16=75画素である。
【0113】
ステップS1802では、ドキュメント画像を上から下へ向けて画素行毎に横断走査する。そして、ステップS1803では、水平画素ランのランレングスを計算する。より詳しくは、例えば図19(a)に示すように、下線付きの文字列「Qqpygj」を形成する画素から成るドキュメント画像101を用いて説明する。画像の画素の任意の画素行102について、画素の各水平ランの水平ランレングスを計算する。このように、104に示すように、文字「Q」の最も左のエッジを構成する画素の水平ランレングスを計算する。行102の画素の各水平ランレングスについても同様にランレングスを計算する。
【0114】
ステップS1804では、現在の画素行の水平ランレングスを前画素行の水平ランレングスと比較する。現在の画素行の水平ランレングスが前画素行の水平ランレングスよりMAXを越えて増加していない場合、特別な処理は行なわず、ドキュメント画像の次の画素行を選択して処理し(ステップS1805)、全画素行が上から下まで横断走査処理されるまで処理を続ける(ステップS1806)。一方、ステップS1804の計算で、現在の行のランレングスが前行のランレングスと比較してMAXを越えて増加していることがわかった場合、その行で画像を水平に分割する。図19(b)はこの処理を表している。
【0115】
さらに詳しくは、図19(b)に示すように、下線103が存在するために現在の画素行の水平ランレングスが前画素行の水平ランレングスよりMAXを越えて増加していると判断するまで処理は進む。従って、その行の全画素を105の所で水平に分割する。処理は全画素行が上から下まで横断処理されるまで次の行および後続の行へと続く(ステップS1805、S1806)。
【0116】
そして、ステップS1808へ進み、分割された画像を下から上へ向かって画素行毎に横断する。ステップS1809では、現在の画素行の水平画素ランのランレングスを計算し、ステップS1810で現在の画素行のランレングスを前画素行のランレングスと比較する。前述のように、現在の画素行のランレングスが前画素行のランレングスよりMAXを越えて増加していない場合は、特別な処理を行なわずに、次の行を選択し、分割された画像の全行が下から上へ向かって横断されるまで処理を続ける。
【0117】
一方、ステップS1810で、現在の画素行のランレングスが前画素行のランレングスよりMAXを越えて増加していると判断した場合は、ステップS1813で隣接する領域に以前に行なわれた水平分割(ステップS1807より)があるかどうかを判断する。ステップS1813で以前に行なわれた水平分割はないと判断すると、前述のように、特別な処理を行なわずに、ステップS1811へ戻り、画像の全行が下から上へ横断されるまで処理を続ける。
【0118】
一方、隣接する領域に以前行なわれた水平分割があれば、ステップS1814からS1819に示すように、水平分割を再結合(または閉じる)して、1対の垂直または斜めの分割部分と置換する。さらに詳しくは、ステップS1814で、図19(c)の「q」、「p」、「y」などの文字の中央付近で小さいサイズの水平分割が行なわれていると判断した場合、ステップS1815へ進んで、水平分割を再結合して、1対の垂直分割部分を挿入する。特に図19(c)に示すように、前の水平分割が文字「q」、「p」、「y」の中央付近で行なわれているので、水平分割を閉じて、106に示すような垂直分割と置換する。
【0119】
ステップS1816で、文字エッジ近辺で小さい水平分割があった場合は、ステップS1817へ進み、水平分割を再結合して1対の斜の分割部分に置換する。さらに詳しくは、図19(d)に示すように、文字「g」と「j」の文字エッジで水平分割が検出されているので、水平分割を閉じて1対の斜めの分割108と置換する。
【0120】
ステップS1818で大きい水平分割があったと判断した場合は、ステップS1819へ進んで、水平分割を再結合して、ステップS1817で挿入したよりも広いスペースで1対の斜めの分割を挿入する。
【0121】
[2.6.2 連続成分分析]
図20は連続成分(ステップS1403)を得るための好適な技術を示すフローチャートである。2.6章で上述した連続成分分析はCPUの処理時間やメモリの記憶容量の観点からは不経済である。それは、CPUは画像データの個々の画素ビットを何度も比較しなければならず、また画像全体を同時にメモリに格納する必要があるからである。ここで図20に基づいて説明する技術では、メモリには1度に画像の2画素行が存在していればよい。また、CPUは個々の画素ビットや画像データに何度もアクセスする必要はなく、水平画素セグメントを得るために画素データに1度アクセスすればよい。その後、CPUは水平画素セグメントの位置で動作するだけである。
【0122】
簡潔に述べると、図20に関して説明する技術によると、画素画像データにおける連続成分を得る方法は、最初は連続成分を含まない連続成分のリストを開き、画像を画素行毎に下から上へ向かって横断走査して適切なシーケンスの連続成分を出力し、画像データの現在の画素行における全ての水平画素セグメントを識別し、現在の行の水平セグメントを前行の水平セグメントと比較して、以下4つの異なるケースの全てまたはいずれかが存在するかどうかを判断する。第1のケースは現在の画素行のセグメントが前画素行の開いた領域(オープン領域)に隣接している場合である。第2のケースは現在の画素行の水平セグメントが前画素行の水平セグメントに隣接している場合である。第3のケースは現在の画素行のセグメントが連続成分のリストにおいて少なくとも2つの連続成分をまたいでいる(bridges)場合である。第4のケースは現在の画素行の水平セグメントが現在の画素行のオープン領域に隣接している場合である。第1のケースが存在する場合、リストで新しい連続成分をスタートする(started in the list)。第2のケースが存在する場合、水平セグメントの現在の連続成分のトレース(trace)を更新する。第3のケースが存在する場合、水平セグメントがまたがっている2つの連続成分を合併する。最後に、第4のケースが存在する場合、連続成分のリスト内の連続成分のトレースを閉じる(closed out)。画像の全行を横断すると、さらなる処理のために連続成分のリストを出力する。
【0123】
より詳しくは、ステップS2001に示すように、コンピュータ化した連続成分のリストを開く。リストは連続成分を含まないように初期化されているが、最終的には画像の全ての連続成分を含むようになる。
【0124】
ステップS2002では、画像を画素行ごとに、好ましくは画像の下から上へ向かって横断走査する。こうすると連続成分のリスト内の連続成分が正しいシーケンスの順序に並ぶため、この順序が好ましい。
【0125】
ステップS2003では、画像の現在の画素行における全ての水平画素セグメントを識別する。さらに詳しくは、図21に単語「UNION」の任意の画像120について示すように、画素行121には水平画素セグメントが存在しない。一方、画素行122には領域122a、b、c、d、e、f、g、hで認識される8つの画素セグメントが存在する。これらの8つの水平画素セグメントの各々をステップS2003で識別する。
【0126】
ステップS2004へ進んで、ステップS2003で識別された水平画素セグメントが画像の前画素行における水平セグメントに隣接するかどうかを判定する。現在の画素行の水平セグメントが前画素行の水平セグメントに隣接していない場合は、新たな水平セグメントを識別しており、ステップS2005へ進んで新たな連続成分を連続成分のリスト上でスタートする。こうして、例えば、図21の8つの水平セグメント122a、b、c、d、e、f、g、hについて新しい連続成分がスタートする。
【0127】
一方、ステップS2004で、現在の画素行の水平セグメントが前画素行の水平セグメントに隣接している場合は、ステップS2006で水平セグメントに相当する現在の連続成分のトレースを単純に更新する。さらに詳しくは、図21に戻って、行123に対しては、123aから123lまでの各水平セグメントは前行の水平セグメントに隣接している。従って、これらの水平セグメントに相当する連続成分のトレースを単純に更新する。この点において、水平セグメント123cおよび123eは同一の連続成分に含まれている。これらの水平画素行セグメントは両方とも単一の行セグメント、つまり水平画素セグメント122cで始まっているからである。同様に、水平画素セグメント123hおよび123iは共に水平画素セグメント(122f)から始まり、同一の連続成分に含まれている。
【0128】
ステップS2007では水平画素セグメントが2つまたはそれ以上の連続成分にまたがっているかどうかを判定する。水平画素セグメントが2またはそれ以上の連続成分にまたがっている場合は、それらの連続成分のトレースを合併する(ステップS2008)。さらに詳しくは、図21の行124について示すように、水平画素セグメント124aは水平セグメント122aおよび122bから始まる2つの連続成分にまたがっている。従って、これらの2つの連続成分を合併する。同様に、水平セグメント124cは水平セグメント122cおよび122dから始まる2つの連続成分にまたがっている。従って、これらの2つの連続成分を合併する。なお、水平画素セグメント124eは2つの異なる連続成分にまたがってはいない。これは単一の連続成分が122fで始まっているからである。
【0129】
ステップS1709では前画素行における水平画素セグメントが現在の画素行における開いたセグメントに隣接するかどうかを判定する。前画素行の水平セグメントが開いたセグメントに隣接している場合は、連続成分は完成しており、相当する連続成分を閉じる(ステップS2010)。
【0130】
いずれの場合も、ステップS2011へ進んで画像の次の画素行を処理し、画像の全画素行の処理が完了するまで(ステップS2012)処理を続ける。画像全体を処理すると、連続成分のリストを閉じて、リストを出力し(ステップS2013)、連続成分属性の計算を行なう(ステップS1404参照)。
【0131】
[2.6.3 非テキストからテキストを区分するためのルール]
図22A〜図22Fは連続成分属性に適用してテキストエレメントか非テキストエレメントかを判定するための複数セットのルールを示すフローチャートである。ルールは適切な動作のためにフォントサイズまたは他のサイズ情報または分析されるドキュメントの予備的な知識には依存しない、スケール不変のものである。
【0132】
迅速な処理が可能で、テキストおよび非テキスト連続成分間において容易な区分判定ができるルールを最初に適用し、より難しく、テキストおよび非テキスト連続成分間において困難な区分判定を行なうルールを後に適用する。これらのルールは「未知の」タイプの連続成分に適用されるが、始めの方で適用されるルールによりすでにテキスト、非テキストの判定がされてしまうため後半のルールはたまにしか適用されない。
【0133】
ステップS2201では、連続成分の平均の高さを決定して連続成分属性と比較するためのスケール不変のパラメータを計算する。そして、ステップS2202では、連続成分の平均の高さに基づいてパラメータを計算する。幾つかのパラメータは本質的にスケール不変であり連続成分の平均の高さに基づく計算を必要としない。例えば、アスペクト比は高さ対幅の比であるので、すでにスケール不変である。しかし、最小の高さなど他のパラメータはスケール不変ではないのでステップS2202で決定する。
【0134】
そして、図22A〜Fの残りの部分に説明するように、「未知」のタイプのままの各連続成分に複数セットのルールを適用する。まず、ルール1に従って、高さ、アスペクト比、密度、(周囲の二乗)/領域の比、周囲/幅の比を全て検討して連続成分がテキスト連続成分の高さ、アスペクト比、密度、パラメータをほぼ有しているかどうかを判定する。それらを有する場合は、連続成分の高さ、アスペクト比、密度についてさらにテストを加えて、テキストか非テキストかを決定して、それに従い連続成分のタイプを分類する。
【0135】
ルール1に該当せず連続成分が「未知」のままである場合は、ルール2を用い、画素数、周囲、アスペクト比、高さを検討して連続成分が「.」より小さいまたは細いかどうかを判定する。そうである場合は、連続成分を「非テキスト」に設定する。
【0136】
ルール2に該当せず連続成分が「未知」のままである場合は、ルール3を用い、連続成分の高さ、アスペクト比、密度を検討して、連続成分がスラッシュ(「/」)であるかどうかを判定する。スラッシュである場合は、連続成分を「テキスト」に設定する。
【0137】
ルール3に該当せず連続成分が「未知」のままである場合は、ルール4を用い、連続成分のアスペクト比、高さ、密度を検討して、連続成分が「1」、「l」などの単一の小さく細い文字であるかどうかを判定する。そうした文字である場合は、連続成分を「テキスト」に設定する。
【0138】
ルール4に該当せず連続成分が「未知」のままである場合は、ルール5を用い、連続成分のアスペクト比、高さ、密度、(周囲の二乗)/領域の比を検討して、連続成分が「-」、「_」、「-」などの単一の短い文字か、「=」や「%」の各部分であるかどうかを判定する。そうした文字や文字部分である場合は、連続成分を「テキスト」に設定する。
【0139】
ルール5に該当せず連続成分が「未知」のままである場合は、ルール6を用い、アスペクト比、高さ、密度を検討して、連続成分が「.」、「,」などの小さい文字か、「:」や「;」の各部分であるかどうかを判定する。そうした文字や文字部分である場合は、連続成分を「テキスト」に設定する。
【0140】
ルール6に該当せず連続成分が「未知」のままである場合は、ルール7を用い、連続成分のアスペクト比、高さ、密度を検討して、連続成分が「>」、「<」、「^」、「u」、「v」などの高さおよび密度の低い文字であるかどうかを判定する。そうした文字である場合は、連続成分を「テキスト」に設定する。
【0141】
ルール7に該当せず連続成分が「未知」のままである場合は、ルール8を用い、連続成分の高さ、アスペクト比、密度、(周囲の二乗)/領域の比、周囲/幅の比を検討して、連続成分が行において連続した文字のように幅が広く短いものであるかどうかを判定する。そうである場合は、線のように周囲/幅の比が低いかまたは密度が高ければ、連続成分のタイプを「非テキスト」に設定する。周囲/幅の比が高く密度が低ければ、連続成分を「テキスト」に設定する。
【0142】
ルール8に該当せず連続成分が「未知」のままである場合は、ルール9を用い、連続成分のアスペクト比、密度を検討して、連続成分が「|」のような高い垂直な線であるかどうかを判定する。そうした線である場合は、連続成分を「非テキスト」に設定する。
【0143】
ルール9に該当せず連続成分が「未知」のままである場合は、ルール10を用い、連続成分のアスペクト比、密度を検討して、連続成分が長い水平の線のストロークであるかどうかを判定する。そうである場合は、連続成分のタイプを「非テキスト」に設定する。
【0144】
ルール10に該当せず連続成分が「未知」のままである場合は、ルール11を用い、連続成分の高さを検討して、連続成分がルール9ではピックアップできない高い非テキスト領域であるかどうかを判定する。そうである場合は、連続成分のタイプを「非テキスト」に設定する。
【0145】
ルール11に該当せず連続成分が「未知」のままである場合は、ルール12を用い、連続成分の高さ、密度を検討して、連続成分がまだピックアップされていないボーダーラインテキスト(borderline text)成分であるかどうかを判定する。そうである場合は、連続成分のタイプを「テキスト」に設定する。
【0146】
ルール12に該当せず連続成分が「未知」のままである場合は、ルール13を用い、連続成分のアスペクト比、高さ、密度、(周囲の二乗)/領域の比、周囲/幅の比を検討して、連続成分がまだルール8でピックアップされていない、「an」、「the」、「was」などの一連の短い単語の列であるかどうかを判定する。そうである場合は、連続成分を「テキスト」に設定する。
【0147】
ルール13に該当せず連続成分が「未知」のままである場合は、ルール14を用い、連続成分のアスペクト比、密度を検討して、連続成分が非テキストであるしみ(blotch)であるかどうかを判定する。そうしたしみである場合は、連続成分を「非テキスト」に設定する。
【0148】
ルール14に該当せず連続成分が「未知」のままである場合は、ルール15を用い、連続成分の密度を検討して、連続成分が、例えば詳細なグラフィックに見られるような非常に高密度な非テキストブロックのしみか、あるいはテーブルに見られるテキストを囲むフレームなどのような、非常に低密度の非テキストのしみであるかどうかを判定する。そうである場合は、連続成分を「非テキスト」に設定する。
【0149】
ルール15に該当せず連続成分が「未知」のままである場合は、ルール16を用い、連続成分の高さ、密度、アスペクト比、(周囲の二乗)/領域の比、周囲/幅の比を検討して、連続成分が通常タイトルや見だしに見られる大きいフォントの単語であるかどうかを判定する。そうである場合は、連続成分を「テキスト」に設定する。
【0150】
ルール16に該当せず連続成分が「未知」のままである場合は、ルール17を用い、連続成分の高さ、密度、アスペクト比、(周囲の二乗)/領域の比、周囲/幅の比を検討して、連続成分が、大きいフォントの単語に似ているが周囲の値が低く、従って非テキストであるエレメントであるかどうかを判定する。そうした場合は、連続成分を「非テキスト」に設定する。
【0151】
ルール17に該当せず連続成分が「未知」のままである場合は、ルール18を用い、連続成分の高さ、密度を検討して、連続成分がルール12でピックアップされていないボーダーラインテキストブロック(borderline text block)であるかどうかを判定する。そうである場合は、連続成分を「テキスト」に設定する。
【0152】
ルール18に該当せず連続成分が「未知」のままである場合は、ルール19を用い、連続成分の(周囲の二乗)/領域の比、周囲/幅の比、密度を検討して、連続成分が残りの判定困難なテキスト連続成分であるかどうかを判定する。そうである場合は、連続成分を「テキスト」に設定する。
【0153】
ルール19に該当せず連続成分が「未知」のままである場合は、ルール20を用い、連続成分の(周囲の二乗)/領域の比、周囲/幅の比、密度を検討して、連続成分がルール18でピックアップされていない残りの判定困難な非テキストエレメントであるかどうかを判定する。そうである場合は、連続成分を「非テキスト」に設定する。
【0154】
ルール20に該当せず連続成分が「未知」のままである場合は、ルール21を用い、連続成分の密度、アスペクト比、(周囲の二乗)/領域の比を検討して、ルール19でピックアップされていない残りの判定困難なテキストタイプの連続成分を検出する。連続成分が残りの判定困難なテキストタイプの連続成分の1つである場合は、連続成分を「テキスト」に設定する。
【0155】
ルール21に該当せず連続成分が「未知」のままである場合は、ルール22を用い、連続成分の高さ、周囲/幅の比、アスペクト比、(周囲の二乗)/領域の比を全て検討して、連続成分が雑誌記事における最初の大きいフォント文字のような孤立した大きいフォントの文字であるかどうかを判定する。そうである場合は、連続成分を「テキスト」に設定する。
【0156】
ルール22に該当せず連続成分が「未知」のままである場合は、ルール23を用い、連続成分の高さ、周囲/幅の比、アスペクト比を検討して、連続成分が見出しやタイトルのフォントのような大きいフォントの文字に似ているが、非テキストである、孤立した非テキストエレメントであるかどうかを判定する。そうである場合は、連続成分を「非テキスト」に設定する。
【0157】
ルール23に該当せず連続成分が「未知」のままである場合は、ルール24を用い、連続成分の(周囲の二乗)/領域の比、周囲/幅の比を検討して、連続成分が非常に長い単語または連続した単語のセットであるかどうかを判定する。フィルタリングのルールのこの時点においては、そうした一連の単語が「テキスト」であると正しく指定できるもの以外は滅多に検出することはない。このルールの基準に合うならば、連続成分を「テキスト」に設定する。
【0158】
ルール24に該当せず連続成分が「未知」のままである場合は、ルール25を用い、残りの連続成分を「非テキスト」に設定する。
【0159】
ルール26では各テキストの連続成分を検討して、連続成分が他のテキスト連続成分から孤立している場合は、その連続成分を「非テキスト」に設定する。これは、無意識に鉛筆を動かして付けた印や紙の透かし模様(water marks)などページに孤立して付いた印が誤ってテキストとして解釈されないことを保証するものである。
【0160】
尚、本発明は、複数の機器から構成されるシステムに適用しても1つの機器からなる装置に適用しても良い。また、本発明はシステム或いは装置に本発明により規定される処理を実行させるプログラムを供給することによって達成される場合にも適用できることはいうまでもない。
【0161】
【発明の効果】
以上説明したように、本発明によれば、グレースケール画像に対するセグメンテーション処理が可能となり、グレースケール画像に対する文字認識を行なえるようになる。
【0162】
また、本発明によれば、走査入力されたグレースケール画像についてセグメンテーション処理を行い、グレースケール画像の文字について文字認識を行うと共にその結果を格納することが可能となる。
【0163】
また、本発明によれば、グレースケール画像を用いた認識処理の結果と2値化画像を用いた認識処理の結果とに基づいて認識結果を決定することが可能となり、より高精度に認識を行うことができる。
【0164】
また、本発明によれば、検出されたフォント特性に基づいて認識処理方法を選択することが可能となり、より精度よく文字認識を行うことができる。
【0165】
【図面の簡単な説明】
【図1】2値画像とグレイスケール画像の相違を説明するための図である。
【図2】代表的なドキュメントページを表す図である。
【図3】本実施例に係わるパーソナル画像処理コンピュータシステムの外観を表す部分切取図である。
【図4】図3の装置のネットワーク接続を説明する図である。
【図5】図3の装置の内部構成を示す詳細ブロック図である。
【図6】図3の装置のコントロールパネルの拡大図である。
【図7】図3の装置のコントロールパネルの拡大図である。
【図8】ドキュメント格納及び検索を説明するためのフローチャートである。
【図9A】本実施例に係わる光学文字認識を説明するためのフローチャートである。
【図9B】本実施例に係わる光学文字認識を説明するためのフローチャートである。
【図9C】本実施例に係わる光学文字認識を説明するためのフローチャートである。
【図10A】画像の歪み補正(de-skew)を説明するためのフローチャートである。
【図10B】画像の歪み補正(de-skew)を説明するためのフローチャートである。
【図11A】代表的な歪んだ(skewed)画素とその補正(de-skew)を表す図である。
【図11B】代表的な歪んだ(skewed)画素とその補正(de-skew)を表す図である。
【図11C】代表的な歪んだ(skewed)画素とその補正(de-skew)を表す図である。
【図12】閾値処理による、グレイスケール画像からの2値画像処理を説明するためのフローチャートである。
【図13】グレイスケール画像の代表的なヒストグラムである。
【図14】本実施例に係わるセグメンテーション処理を説明するためのフローチャートである。
【図15】画像内の連続成分(connected components)の検出(derivation)を説明するための図である。
【図16】各連続成分に対して格納される画像属性を示す図である。
【図17】下線付きの単語「finally」の画像に対する画像処理の効果を説明する図である。
【図18A】下線除去を説明するためのフローチャートである。
【図18B】下線除去を説明するためのフローチャートである。
【図19】下線除去の連続的な処理段階と、これら処理段階における、下線部付きの文字の画像に対する効果を示す図である。
【図20】連続成分の分析を説明するためのフローチャートである。
【図21】単語「UNION」の画像から連続成分が誘導される様子を示す図である。
【図22A】連続成分のルールベースの処理を示すフローチャートである。
【図22B】連続成分のルールベースの処理を示すフローチャートである。
【図22C】連続成分のルールベースの処理を示すフローチャートである。
【図22D】連続成分のルールベースの処理を示すフローチャートである。
【図22E】連続成分のルールベースの処理を示すフローチャートである。
【図22F】連続成分のルールベースの処理を示すフローチャートである。
Claims (36)
- 多値画像に含まれる文字を識別する文字認識装置であって、
前記多値画像に対して閾値処理を行って、2値画像を得る閾値処理手段と、
前記2値画像に対してセグメンテーション処理を行って、該2値画像に含まれる2値の文字画像に関する情報を取得する文字画像情報取得手段と、
当該取得した文字画像に関する情報をテンプレートとして、前記多値画像から多値の文字画像を抽出する抽出手段と、
当該抽出された多値の文字画像に対して文字認識処理を行って、認識結果を出力する文字認識手段と、を備え、
前記文字認識手段では、更に、前記取得された2値の文字画像に対しても文字認識処理を行って、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果とに基づいて、前記認識結果を決定して出力することを特徴とする文字認識装置。 - 前記文字認識手段は、前記文字画像のフォント特性を識別して、当該識別したフォント特性に適した文字認識処理技術を選択し、当該選択した文字認識処理技術を用いて前記多値の文字画像に対して文字認識処理を行って認識結果を出力することを特徴とする請求項1に記載の文字認識装置。
- 前記文字認識手段では、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果との間の多義性を、文字属性に基づいて解決して、前記認識結果を決定して出力することを特徴とする請求項1に記載の文字認識装置。
- 前記閾値処理手段は、前記多値画像の明暗度を複数のグループに分けてヒストグラム化し、該ヒストグラムの分布に基づいて、前記多値画像に対して閾値処理を行う際に用いる2値化閾値を決定することを特徴とする請求項1に記載の文字認識装置。
- 前記文字画像情報取得手段は、前記2値画像から文字の下線を除去して、当該下線が除去された2値の文字画像に関する情報を取得し、
前記抽出手段は、前記下線が除去された2値の文字画像に関する情報をテンプレートとして、前記多値画像から下線が除去された多値の文字画像を抽出することを特徴とする請求項1に記載の文字認識装置。 - 前記セグメンテーション処理では、前記2値画像の連続成分分析を行うことを特徴とする請求項1に記載の文字認識装置。
- 前記セグメンテーション処理では、更に、不適切に分離された連続成分を再結合することを特徴とする請求項6に記載の文字認識装置。
- 前記文字画像情報取得手段は、前記セグメンテーション処理で、前記連結成分のタイプがテキストタイプか非テキストタイプか決定し、該テキストタイプとして決定された連結成分に基づいて、前記2値の文字画像に関する情報を取得することを特徴とする請求項6に記載の文字認識装置。
- 前記文字認識手段では、前記出力した文字認識処理の認識結果をテキストファイルに格納することを特徴とする請求項1に記載の文字認識装置。
- 前記テキストファイルは前記多値画像とともに格納され、前記多値画像の検索に用いられることを特徴とする請求項9に記載の文字認識装置。
- 前記テキストファイルは、ネットワークを介して接続されている他の装置の格納手段に格納されることを特徴とする請求項9に記載の文字認識装置。
- 更に、前記多値画像を入力する入力手段を備えることを特徴とする請求項1に記載の文字認識装置。
- 多値画像に含まれる文字を識別する文字認識装置であって、
前記多値画像を格納し、前記多値画像を処理するためのインストラクションシーケンスを格納するメモリと、
前記インストラクションシーケンスを実行するプロセッサとを備え、
前記インストラクションシーケンスは、前記プロセッサに(a)前記多値画像に対して閾値処理を行って、2値画像を得させ、(b)前記2値画像に対してセグメンテーション処理を行って、該2値画像に含まれる2値の文字画像に関する情報を取得させ、(c)当該取得した文字画像に関する情報をテンプレートとして、前記多値画像から多値の文字画像を抽出させ、(d)当該抽出された多値の文字画像に対して文字認識処理を行って、認識結果を出力させる処理工程を含み、
前記インストラクションシーケンスの文字認識処理の認識結果を出力させる工程では、更に、前記取得された2値の文字画像に対しても文字認識処理を行って、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果とに基づいて、前記認識結果を決定して出力することを特徴とする文字認識装置。 - 前記インストラクションシーケンスの文字認識処理の認識結果を出力させる工程では、前記文字画像のフォント特性を識別して、当該識別したフォント特性に適した文字認識処理技術を選択し、当該選択した文字認識処理技術を用いて前記多値の文字画像に対して文字認識処理を行って認識結果を出力することを特徴とする請求項13に記載の文字認識装置。
- 前記インストラクションシーケンスの文字認識処理の認識結果を出力させる工程では、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果との間の多義性を、文字属性に基づいて解決して、前記認識結果を決定して出力することを特徴とする請求項13に記載の文字認識装置。
- 前記インストラクションシーケンスの閾値処理を行って2値画像を得させる工程では、前記多値画像の明暗度を複数のグループに分けてヒストグラム化し、該ヒストグラムの分布に基づいて、前記多値画像に対して閾値処理を行う際に用いる2値化閾値を決定することを特徴とする請求項13に記載の文字認識装置。
- 前記インストラクションシーケンスの文字画像に関する情報を取得させる工程では、前記2値画像から文字の下線を除去して、当該下線が除去された2値の文字画像に関する情報を取得させ、
前記インストラクションシーケンスの多値の文字画像を抽出させる工程では、前記下線が除去された2値の文字画像に関する情報をテンプレートとして、前記多値画像から下線が除去された多値の文字画像を抽出させることを特徴とする請求項13に記載の文字認識装置。 - 前記インストラクションシーケンスにおけるセグメンテーション処理では、前記2値画像の連続成分分析を行うことを特徴とする請求項13に記載の文字認識装置。
- 前記インストラクションシーケンスにおけるセグメンテーション処理では、更に、不適切に分離された連続成分を再結合することを特徴とする請求項18に記載の文字認識装置。
- 前記インストラクションシーケンスの文字画像に関する情報を取得させる工程では、前記セグメンテーション処理で、前記連結成分のタイプがテキストタイプか非テキストタイプか決定し、該テキストタイプとして決定された連結成分に基づいて、前記2値の文字画像に関する情報を取得することを特徴とする請求項18に記載の文字認識装置。
- 前記インストラクションシーケンスの文字認識処理の認識結果を出力させる工程では、前記出力した文字認識処理の認識結果をテキストファイルに格納することを特徴とする請求項13に記載の文字認識装置。
- 前記テキストファイルは前記多値画像とともに格納され、前記多値画像の検索に用いられることを特徴とする請求項21に記載の文字認識装置。
- 前記テキストファイルは、ネットワークを介して接続されている他の装置の格納手段に格納されることを特徴とする請求項21に記載の文字認識装置。
- 更に、前記多値画像を入力する入力手段を備えることを特徴とする請求項13に記載の文字認識装置。
- 多値画像に含まれる文字を識別する文字認識方法であって、
前記多値画像に対して閾値処理を行って、2値画像を得る閾値処理工程と、
前記2値画像に対してセグメンテーション処理を行って、該2値画像に含まれる2値の文字画像に関する情報を取得する文字画像情報取得工程と、
当該取得した文字画像に関する情報をテンプレートとして、前記多値画像から多値の文字画像を抽出する抽出工程と、
当該抽出された多値の文字画像に対して文字認識処理を行って、認識結果を出力する文字認識工程と、を備え、
前記文字認識工程では、更に、前記取得された2値の文字画像に対しても文字認識処理を行って、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果とに基づいて、前記認識結果を決定して出力することを特徴とする文字認識方法。 - 前記文字認識工程では、前記文字画像のフォント特性を識別して、当該識別したフォント特性に適した文字認識処理技術を選択し、当該選択した文字認識処理技術を用いて前記多値の文字画像に対して文字認識処理を行って認識結果を出力することを特徴とする請求項25に記載の文字認識方法。
- 前記文字認識工程では、前記多値の文字画像に対する文字認識処理の結果と前記2値の文字画像に対する文字認識処理の結果との間の多義性を、文字属性に基づいて解決して、前記認識結果を決定して出力することを特徴とする請求項25に記載の文字認識方法。
- 前記閾値処理工程では、前記多値画像の明暗度を複数のグループに分けてヒストグラム化し、該ヒストグラムの分布に基づいて、前記多値画像に対して閾値処理を行う際に用いる2値化閾値を決定することを特徴とする請求項25に記載の文字認識方法。
- 前記文字画像情報取得工程では、前記2値画像から文字の下線を除去して、当該下線が除去された2値の文字画像に関する情報を取得し、
前記抽出工程では、前記下線が除去された2値の文字画像に関する情報をテンプレートとして、前記多値画像から下線が除去された多値の文字画像を抽出することを特徴とする請求項25に記載の文字認識方法。 - 前記セグメンテーション処理では、前記2値画像の連続成分分析を行うことを特徴とする請求項25に記載の文字認識方法。
- 前記セグメンテーション処理では、更に、不適切に分離された連続成分を再結合することを特徴とする請求項30に記載の文字認識方法。
- 前記文字画像情報取得工程では、前記セグメンテーション処理で、前記連結成分のタイプがテキストタイプか非テキストタイプか決定し、該テキストタイプとして決定された連結成分に基づいて、前記2値の文字画像に関する情報を取得することを特徴とする請求項30に記載の文字認識方法。
- 前記文字認識工程では、前記出力した文字認識処理の認識結果をテキストファイルに格納することを特徴とする請求項25に記載の文字認識方法。
- 前記テキストファイルは前記多値画像とともに格納され、前記多値画像の検索に用いられることを特徴とする請求項33に記載の文字認識方法。
- 前記テキストファイルは、ネットワークを介して接続されている他の装置の格納手段に格納されることを特徴とする請求項33に記載の文字認識方法。
- 更に、前記多値画像を入力する入力工程を備えることを特徴とする請求項25に記載の文字認識方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22835994A | 1994-04-15 | 1994-04-15 | |
US08/228359 | 1994-04-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0850633A JPH0850633A (ja) | 1996-02-20 |
JP3792747B2 true JP3792747B2 (ja) | 2006-07-05 |
Family
ID=22856861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08944295A Expired - Fee Related JP3792747B2 (ja) | 1994-04-15 | 1995-04-14 | 文字認識装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5809167A (ja) |
EP (1) | EP0677817B1 (ja) |
JP (1) | JP3792747B2 (ja) |
DE (1) | DE69519323T2 (ja) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6164973A (en) * | 1995-01-20 | 2000-12-26 | Vincent J. Macri | Processing system method to provide users with user controllable image for use in interactive simulated physical movements |
US6532302B2 (en) | 1998-04-08 | 2003-03-11 | Canon Kabushiki Kaisha | Multiple size reductions for image segmentation |
JP3345350B2 (ja) * | 1998-05-27 | 2002-11-18 | 富士通株式会社 | 文書画像認識装置、その方法、及び記録媒体 |
US6263122B1 (en) * | 1998-09-23 | 2001-07-17 | Hewlett Packard Company | System and method for manipulating regions in a scanned image |
US6970894B2 (en) * | 1998-12-30 | 2005-11-29 | Intel Corporation | Method for extracting information from a file using a printer driver |
EP2319455A3 (en) | 1999-06-02 | 2012-04-18 | Microtransform, Inc. | Intracorporeal occlusive device |
FR2796734B1 (fr) * | 1999-07-22 | 2001-08-17 | Bull Sa | Systeme de stockage en reseau |
AU7060500A (en) * | 1999-08-17 | 2001-03-13 | Ptfs, Inc. | Word searchable database from high volume scanning of newspaper data |
US6587583B1 (en) * | 1999-09-17 | 2003-07-01 | Kurzweil Educational Systems, Inc. | Compression/decompression algorithm for image documents having text, graphical and color content |
US6529641B1 (en) * | 1999-10-29 | 2003-03-04 | Eastman Kodak Company | Method for deskewing a scanned text image |
US7230729B1 (en) * | 2000-05-15 | 2007-06-12 | Hewlett-Packard Development Company, L.P. | Printer pipeline bypass in hardware-ready format |
GB2364416B (en) * | 2000-06-30 | 2004-10-27 | Post Office | Image processing for clustering related text objects |
US6704449B1 (en) * | 2000-10-19 | 2004-03-09 | The United States Of America As Represented By The National Security Agency | Method of extracting text from graphical images |
US7305381B1 (en) | 2001-09-14 | 2007-12-04 | Ricoh Co., Ltd | Asynchronous unconscious retrieval in a network of information appliances |
JP4003428B2 (ja) | 2001-10-10 | 2007-11-07 | セイコーエプソン株式会社 | 小切手等処理装置及び小切手等処理方法 |
US7375835B1 (en) * | 2001-10-29 | 2008-05-20 | Ricoh Co., Ltd. | E-mail transmission of print-ready documents |
US7426486B2 (en) * | 2001-10-31 | 2008-09-16 | Call-Tell Llc | Multi-party reporting system and method |
US7212301B2 (en) * | 2001-10-31 | 2007-05-01 | Call-Tell Llc | System and method for centralized, automatic extraction of data from remotely transmitted forms |
US20030112306A1 (en) * | 2001-12-13 | 2003-06-19 | Simpson Shell S. | System and method for form processing |
JP2003259112A (ja) * | 2001-12-25 | 2003-09-12 | Canon Inc | 透かし情報抽出装置及びその制御方法 |
US6898314B2 (en) * | 2001-12-26 | 2005-05-24 | Lockheed Martin Corporation | Grayscale image connected components segmentation |
US6898313B2 (en) * | 2002-03-06 | 2005-05-24 | Sharp Laboratories Of America, Inc. | Scalable layered coding in a multi-layer, compound-image data transmission system |
US20030210419A1 (en) * | 2002-05-08 | 2003-11-13 | Curtis Reese | System and methods for printing copy-protected documents |
US7062090B2 (en) * | 2002-06-28 | 2006-06-13 | Microsoft Corporation | Writing guide for a free-form document editor |
US7428578B1 (en) | 2002-07-02 | 2008-09-23 | Ricoh Co., Ltd | Remotely initiated document transmission |
US20040042033A1 (en) * | 2002-08-28 | 2004-03-04 | Bob Sesek | Display of location of alternate image-forming device to which image-forming-related job has been routed |
US20040140986A1 (en) * | 2003-01-16 | 2004-07-22 | Boldon John Leland | Systems and methods for facilitating printing through interface exportation |
US7305612B2 (en) * | 2003-03-31 | 2007-12-04 | Siemens Corporate Research, Inc. | Systems and methods for automatic form segmentation for raster-based passive electronic documents |
CN1310182C (zh) * | 2003-11-28 | 2007-04-11 | 佳能株式会社 | 用于增强文档图像和字符识别的方法和装置 |
US20050179945A1 (en) * | 2004-02-12 | 2005-08-18 | Sharp Laboratories Of America, Inc. | System and method for variable text overlay |
JP3826139B2 (ja) * | 2004-02-25 | 2006-09-27 | キヤノン株式会社 | 画像形成装置及びその制御方法、画像形成システム、プログラム |
US7627142B2 (en) * | 2004-04-02 | 2009-12-01 | K-Nfb Reading Technology, Inc. | Gesture processing with low resolution images with high resolution processing for optical character recognition for a reading machine |
US9236043B2 (en) * | 2004-04-02 | 2016-01-12 | Knfb Reader, Llc | Document mode processing for portable reading machine enabling document navigation |
US20060020486A1 (en) * | 2004-04-02 | 2006-01-26 | Kurzweil Raymond C | Machine and method to assist user in selecting clothing |
US7641108B2 (en) * | 2004-04-02 | 2010-01-05 | K-Nfb Reading Technology, Inc. | Device and method to assist user in conducting a transaction with a machine |
US7659915B2 (en) * | 2004-04-02 | 2010-02-09 | K-Nfb Reading Technology, Inc. | Portable reading device with mode processing |
US8320708B2 (en) | 2004-04-02 | 2012-11-27 | K-Nfb Reading Technology, Inc. | Tilt adjustment for optical character recognition in portable reading machine |
US7629989B2 (en) * | 2004-04-02 | 2009-12-08 | K-Nfb Reading Technology, Inc. | Reducing processing latency in optical character recognition for portable reading machine |
US7505056B2 (en) * | 2004-04-02 | 2009-03-17 | K-Nfb Reading Technology, Inc. | Mode processing in portable reading machine |
US7840033B2 (en) * | 2004-04-02 | 2010-11-23 | K-Nfb Reading Technology, Inc. | Text stitching from multiple images |
US7325735B2 (en) * | 2004-04-02 | 2008-02-05 | K-Nfb Reading Technology, Inc. | Directed reading mode for portable reading machine |
US8873890B2 (en) * | 2004-04-02 | 2014-10-28 | K-Nfb Reading Technology, Inc. | Image resizing for optical character recognition in portable reading machine |
US8249309B2 (en) * | 2004-04-02 | 2012-08-21 | K-Nfb Reading Technology, Inc. | Image evaluation for reading mode in a reading machine |
US8036895B2 (en) * | 2004-04-02 | 2011-10-11 | K-Nfb Reading Technology, Inc. | Cooperative processing for portable reading machine |
KR100647284B1 (ko) * | 2004-05-21 | 2006-11-23 | 삼성전자주식회사 | 영상의 문자 추출 장치 및 방법 |
US20050286080A1 (en) * | 2004-06-29 | 2005-12-29 | Samsung Electronics Co., Ltd. | Apparatus and method of transmitting document |
US20060045346A1 (en) * | 2004-08-26 | 2006-03-02 | Hui Zhou | Method and apparatus for locating and extracting captions in a digital image |
US20060082816A1 (en) * | 2004-10-15 | 2006-04-20 | Lexmark International, Inc. | Printer device and related method for handling print-and-hold jobs |
KR100628572B1 (ko) * | 2004-12-10 | 2006-09-26 | 삼성전자주식회사 | 프린트 문서 편집 방법 및 그 장치 |
JP4681870B2 (ja) * | 2004-12-17 | 2011-05-11 | キヤノン株式会社 | 画像処理装置、画像処理方法、コンピュータプログラム |
JP2006253842A (ja) * | 2005-03-08 | 2006-09-21 | Ricoh Co Ltd | 画像処理装置、画像形成装置、プログラム、記憶媒体および画像処理方法 |
US7599556B2 (en) * | 2005-08-25 | 2009-10-06 | Joseph Stanley Czyszczewski | Apparatus, system, and method for scanning segmentation |
JP4771804B2 (ja) * | 2005-12-20 | 2011-09-14 | 富士通株式会社 | レイアウト解析プログラム、レイアウト解析装置、レイアウト解析方法 |
US7792359B2 (en) * | 2006-03-02 | 2010-09-07 | Sharp Laboratories Of America, Inc. | Methods and systems for detecting regions in digital images |
US8630498B2 (en) * | 2006-03-02 | 2014-01-14 | Sharp Laboratories Of America, Inc. | Methods and systems for detecting pictorial regions in digital images |
US7889932B2 (en) * | 2006-03-02 | 2011-02-15 | Sharp Laboratories Of America, Inc. | Methods and systems for detecting regions in digital images |
US7734092B2 (en) * | 2006-03-07 | 2010-06-08 | Ancestry.Com Operations Inc. | Multiple image input for optical character recognition processing systems and methods |
US8437054B2 (en) | 2006-06-15 | 2013-05-07 | Sharp Laboratories Of America, Inc. | Methods and systems for identifying regions of substantially uniform color in a digital image |
US7864365B2 (en) * | 2006-06-15 | 2011-01-04 | Sharp Laboratories Of America, Inc. | Methods and systems for segmenting a digital image into regions |
US20080008377A1 (en) * | 2006-07-07 | 2008-01-10 | Lockheed Martin Corporation | Postal indicia categorization system |
US7876959B2 (en) * | 2006-09-06 | 2011-01-25 | Sharp Laboratories Of America, Inc. | Methods and systems for identifying text in digital images |
US7853887B2 (en) * | 2007-06-26 | 2010-12-14 | Adobe Systems Incorporated | Detection and preview of graphical elements within a graphic |
CN101354746B (zh) * | 2007-07-23 | 2011-08-31 | 夏普株式会社 | 文字图像抽出装置及文字图像抽出方法 |
US20090041344A1 (en) * | 2007-08-08 | 2009-02-12 | Richard John Campbell | Methods and Systems for Determining a Background Color in a Digital Image |
US8121403B2 (en) | 2007-10-30 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for glyph-pixel selection |
US8009928B1 (en) | 2008-01-23 | 2011-08-30 | A9.Com, Inc. | Method and system for detecting and recognizing text in images |
US8285077B2 (en) * | 2008-07-15 | 2012-10-09 | Nuance Communications, Inc. | Automatic correction of digital image distortion |
KR101023389B1 (ko) * | 2009-02-23 | 2011-03-18 | 삼성전자주식회사 | 문자 인식 성능을 향상시키기 위한 장치 및 방법 |
KR20100120753A (ko) * | 2009-05-07 | 2010-11-17 | (주)실리콘화일 | 문자인식을 위한 이미지 센서 및 이미지 센싱 방법 |
EP2259176B1 (en) * | 2009-06-03 | 2016-09-28 | Brother Kogyo Kabushiki Kaisha | Label printer |
JP2010287188A (ja) * | 2009-06-15 | 2010-12-24 | Canon Inc | 情報処理装置および情報処理方法 |
US8718365B1 (en) * | 2009-10-29 | 2014-05-06 | Google Inc. | Text recognition for textually sparse images |
US9922263B2 (en) | 2012-04-12 | 2018-03-20 | Tata Consultancy Services Limited | System and method for detection and segmentation of touching characters for OCR |
US9105073B2 (en) * | 2012-04-24 | 2015-08-11 | Amadeus S.A.S. | Method and system of producing an interactive version of a plan or the like |
US9053359B2 (en) | 2012-06-07 | 2015-06-09 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for document authentication using Krawtchouk decomposition of image patches for image comparison |
US9230383B2 (en) * | 2012-12-28 | 2016-01-05 | Konica Minolta Laboratory U.S.A., Inc. | Document image compression method and its application in document authentication |
US9520102B2 (en) * | 2013-04-29 | 2016-12-13 | International Business Machines Corporation | Text extraction from graphical user interface content |
US9235755B2 (en) * | 2013-08-15 | 2016-01-12 | Konica Minolta Laboratory U.S.A., Inc. | Removal of underlines and table lines in document images while preserving intersecting character strokes |
US9582727B2 (en) | 2015-01-16 | 2017-02-28 | Sony Corporation | Text recognition system with feature recognition and method of operation thereof |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4461027A (en) * | 1981-12-04 | 1984-07-17 | Tokyo Shibaura Denki Kabushiki Kaisha | Character separating system in use for an optical character reader |
US4741045A (en) * | 1983-09-23 | 1988-04-26 | Dest Corporation | Optical character isolation system, apparatus and method |
JPS6115284A (ja) * | 1984-06-29 | 1986-01-23 | Toshiba Corp | 光学的文字読取装置 |
US4742556A (en) * | 1985-09-16 | 1988-05-03 | Davis Jr Ray E | Character recognition method |
US4823194A (en) * | 1986-08-01 | 1989-04-18 | Hitachi, Ltd. | Method for processing gray scale images and an apparatus thereof |
US4944022A (en) * | 1986-12-19 | 1990-07-24 | Ricoh Company, Ltd. | Method of creating dictionary for character recognition |
JPS63155390A (ja) * | 1986-12-19 | 1988-06-28 | Ricoh Co Ltd | 光学文字読取装置 |
US5131053A (en) * | 1988-08-10 | 1992-07-14 | Caere Corporation | Optical character recognition method and apparatus |
DE3881392T2 (de) * | 1988-09-12 | 1993-10-21 | Oce Nederland Bv | System und Verfahren für automatische Segmentierung. |
US4912569A (en) * | 1989-01-24 | 1990-03-27 | Eastman Kodak Company | Method for thresholding an image signal |
US5048096A (en) * | 1989-12-01 | 1991-09-10 | Eastman Kodak Company | Bi-tonal image non-text matter removal with run length and connected component analysis |
US5181255A (en) * | 1990-12-13 | 1993-01-19 | Xerox Corporation | Segmentation of handwriting and machine printed text |
US5048109A (en) * | 1989-12-08 | 1991-09-10 | Xerox Corporation | Detection of highlighted regions |
US5081690A (en) * | 1990-05-08 | 1992-01-14 | Eastman Kodak Company | Row-by-row segmentation and thresholding for optical character recognition |
US5864629A (en) * | 1990-09-28 | 1999-01-26 | Wustmann; Gerhard K. | Character recognition methods and apparatus for locating and extracting predetermined data from a document |
US5317652A (en) * | 1991-06-05 | 1994-05-31 | Phoenix Imaging | Rotation and position invariant optical character recognition |
US5325447A (en) * | 1991-10-02 | 1994-06-28 | Environmental Research Institute Of Michigan | Handwritten digit normalization method |
US5350303A (en) * | 1991-10-24 | 1994-09-27 | At&T Bell Laboratories | Method for accessing information in a computer |
US5384863A (en) * | 1991-11-19 | 1995-01-24 | Xerox Corporation | Methods and apparatus for automatic modification of semantically significant portions of a document without document image decoding |
US5321770A (en) * | 1991-11-19 | 1994-06-14 | Xerox Corporation | Method for determining boundaries of words in text |
CA2077274C (en) * | 1991-11-19 | 1997-07-15 | M. Margaret Withgott | Method and apparatus for summarizing a document without document image decoding |
US5303313A (en) * | 1991-12-16 | 1994-04-12 | Cartesian Products, Inc. | Method and apparatus for compression of images |
US5901255A (en) * | 1992-02-07 | 1999-05-04 | Canon Kabushiki Kaisha | Pattern recognition method and apparatus capable of selecting another one of plural pattern recognition modes in response to a number of rejects of recognition-processed pattern segments |
US5337370A (en) * | 1992-02-28 | 1994-08-09 | Environmental Research Institute Of Michigan | Character recognition method employing non-character recognizer |
US5438630A (en) * | 1992-12-17 | 1995-08-01 | Xerox Corporation | Word spotting in bitmap images using word bounding boxes and hidden Markov models |
-
1995
- 1995-02-22 EP EP95301123A patent/EP0677817B1/en not_active Expired - Lifetime
- 1995-02-22 DE DE69519323T patent/DE69519323T2/de not_active Expired - Lifetime
- 1995-04-14 JP JP08944295A patent/JP3792747B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-08 US US08/781,928 patent/US5809167A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69519323T2 (de) | 2001-04-12 |
US5809167A (en) | 1998-09-15 |
EP0677817A2 (en) | 1995-10-18 |
JPH0850633A (ja) | 1996-02-20 |
EP0677817B1 (en) | 2000-11-08 |
EP0677817A3 (en) | 1996-10-02 |
DE69519323D1 (de) | 2000-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3792747B2 (ja) | 文字認識装置及び方法 | |
JP4065460B2 (ja) | 画像処理方法及び装置 | |
JP3696920B2 (ja) | ドキュメント格納装置及び方法 | |
JP3727974B2 (ja) | 画像処理装置及び方法 | |
US5619594A (en) | Image processing system with on-the-fly JPEG compression | |
US6574375B1 (en) | Method for detecting inverted text images on a digital scanning device | |
Wong et al. | Document analysis system | |
US7664321B2 (en) | Image processing method, system, program, program storage medium and information processing apparatus | |
US7391917B2 (en) | Image processing method | |
EP0854433B1 (en) | Caption and photo extraction from scanned document images | |
EP0567344B1 (en) | Method and apparatus for character recognition | |
US7640269B2 (en) | Image processing system and image processing method | |
US7321688B2 (en) | Image processor for character recognition | |
US20040213458A1 (en) | Image processing method and system | |
JPH01253077A (ja) | 文字列検出方法 | |
US6360006B1 (en) | Color block selection | |
JP2002015280A (ja) | 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体 | |
US20090290797A1 (en) | Image processing for storing objects separated from an image in a storage device | |
JP5517028B2 (ja) | 画像処理装置 | |
Aparna et al. | A complete OCR system development of Tamil magazine documents | |
Li | An implementation of ocr system based on skeleton matching | |
EP0974931A1 (en) | Method and apparatus for identifying a plurality of sub-images in an input image | |
Delalandre et al. | A Fast System for Drop Cap Image Retrieval | |
WO2001039487A1 (en) | Method and apparatus for automatic cleaning and enhancing of scanned documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060406 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140414 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |