(57)【特許請求の範囲】
【請求項１】
２進コード化されたイメージデータに含まれる記号を分類する方法であって、
記号を抽出するステップと、
抽出記号の合計数を決定するステップであって、前記合計数はその記号を表現するために必要なピクセルの合計数に等しいステップと、
それぞれのランレングスのラン合計数を決定するステップと、
それぞれのランレングスのピクセル合計数を決定するステップであり、ピクセル合計数はランレングスにそのレングスのラン数を乗算した値であるステップと、
第１の移動合計数としてそれぞれのランレングスのランのピクセル合計数を加算するステップであり、加算は抽出記号の合計数の半分を超えたときに終了するステップと、
第２の移動合計数としてそれぞれのランレングスのラン合計数を加算するステップと、
前記第１の移動合計数と前記第２の移動合計数に応じて決定されるストローク幅に基づき、抽出記号のストローク幅と等価クラスを表す基準記号の差が０．５ピクセル以下の場合に抽出記号をその等価クラスに分類し、それ以外の場合に前記抽出記号を基準記号とする新規の等価クラスを生成し、新規の等価クラスを辞書に追加するステップと、
を有することを特徴とする方法。
【請求項２】
２進コード化されたイメージデータに含まれる記号を分類する装置であって、
記号を抽出するスキャナと、
抽出記号の合計数を決定するものであって前記合計数はその記号を表現するために必要なピクセルの合計数に等しく、それぞれのランレングスのラン合計数を決定し、それぞれのランレングスのピクセル合計数を決定するものであって前記ピクセル合計数はランレングスにそのレングスのラン数を乗算した値であり、第１の移動合計数としてそれぞれのランレングスのランのピクセル合計数を加算するものであって前記加算は抽出記号の合計数の半分を超えたときに終了し、第２の移動合計数としてそれぞれのランレングスのラン合計数を加算するヒストグラム作成器と、
前記第１の移動合計数と前記第２の移動合計数に応じて決定されるストローク幅に基づき、抽出記号のストローク幅と等価クラスを表す基準記号の差が０．５ピクセル以下の場合に抽出記号をその等価クラスに分類し、それ以外の場合に前記抽出記号を基準記号とする新規の等価クラスを生成し、新規の等価クラスを辞書に追加する記号分類部と、
を有する装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャンされたテキストイメージの圧縮に関する。特に、本発明は記号識別に使用される記号のストローク幅の判別に関する。
【０００２】
【従来の技術】
イメージをデジタル化して使用する場合の主な障害は、サイズである。８．５″ｘ１１″のイメージを３００ドット／インチ（ｄｐｉ）の解像度で表示すると、約８００万ピクセルが含まれる。スキャンイメージを２進化すればビット／ピクセルは１に減少するが、それでも、同じイメージを記憶するためには１メガバイトのメモリが必要になる。圧縮技術は、通常、無損失または有損失という特徴で分類する。無損失圧縮の場合、圧縮時及び後続の伸張時にデータが失われることはない。これに対し、有損失圧縮の場合、一定のデータ量が失われる。しかし、データを圧縮しても内容は伸張後も実際には変わらないため、この損失は容認される。
【０００３】
２進イメージの一般的な無損失圧縮技術（ＣＣＩＴＴグループ３またはグループ４など）では、２進イメージの圧縮率は１０から２０である。この技術でファイルを作成すると、同等のイメージを合成電子フォームで作成する場合と比べ、ファイルサイズは非常に大きなものになる。
【０００４】
大部分の文書には、テキストが含まれている。２進イメージのテキストの圧縮は、例えば、光学文字認識でテキストストリームを作成し、特定のテキスト圧縮方法でそのテキストストリームを圧縮し、その結果を記憶することで行なう。しかし、光学文字認識時の文字、フォント、字体、及び位置の選択が間違っていて、所望の結果が得られないことがしばしばある。
【０００５】
これらのアプリケーションで公開しているシステム及び方法では、ランレングス記号抽出を実行し、横方向及び縦方向のランレングス情報を基に記号を等価クラスに分類する。抽出記号と基準記号との突合せに使用される形状主体の分類基準は、対応する基準記号テンプレートにより定義されている。この基準記号テンプレートには複数の水平及び垂直テンプレートグループが含まれていて、各グループでは、１つまたは複数の記号のラン（ｒｕｎ）が一致すれば記号を特定するための基準を定義している。形状主体の分類基準では、ランの終端から簡単に計算できる量を使用している。
【０００６】
形状主体の分類基準には、サイズ、黒ピクセルの数（黒色部）、縁以外の個所の黒のピクセル数（内部）、記号の傾き計測値、及び丸さ及び四角さの計測値（量）も含まれる。形状主体の基準に加えてこれらの計測値を使用することで、使用基準に合った結果を得ることができる。
【０００７】
【発明が解決しようとする課題】
しかし、形状主体の方法では、ボールド体文字と非ボールド体文字を区別するのに問題がある。文字が小さい場合、ボールド体文字のストロークは通常の文字の幅よりわずか１ピクセル太いだけである。公開されている方法では１ピクセル分のノイズを常に考慮しているため、単純な形状主体方法の場合、小さな文字のボールド体と非ボールド体とを常に区別できるとは限らない。したがって、ボールド体と非ボールド体とを区別するためには、さらに効果的な方法が必要とされている。
【０００８】
【課題を解決するための手段】
本発明は、ボールド体文字と非ボールド体文字を区別する方法及び装置を提供する。
【０００９】
また、本発明はスキャンされた記号を等価クラスに分類するための方法も改善している。
【００１０】
本発明の方法及び装置は、ランレングス記号抽出を実行し、横方向及び縦方向のランレングス情報に従って記号を分類する。援用アプリケーションでは各文字の黒色部を計測するだけであるが、本発明の方法及び装置では、各文字のストローク幅を計測し、その文字がボールド体か非ボールド体かを判別する。
【００１１】
ストローク幅を計測することで、句読点が非常に小さい場合でも、効率的に区別することができる。従来は、小さな句読点を別の小さな句読点と区別するために、内部のピクセル数を判別する必要があった。小さな句読点の場合ピクセルの合計数及びサイズは同じであるため、テールがある記号（コンマやアポストロフィなど）とほぼ同じサイズの記号とを区別するためには、縁でない部分のピクセル数が必要であった。文字のストローク幅を計測することで小さな文字の形をより明確に判別できるようになるため、小さな文字と別の小さな文字とを区別するためにその内部ピクセル数を判別する必要はなくなる。
【００１２】
特に、本発明は、スキャンテキストイメージに含まれているボールド体記号と通常の字体記号とを記号のストローク幅を使用して区別できるようにしている。本発明の好ましい方法には、記号のスキャン、記号のヒストグラムの生成、ヒストグラムからのピクセル数の合計の計算、ピクセルの合計に使用されたラン数の合計の計算、及びこれら２つの合計を使用して記号のストローク幅を決定するステップが含まれる。
【００１３】
【発明の実施の形態】
本発明を実施するコンピュータベースシステムを、図１を参照して説明する。図１では、複数の構成要素が、バス１０１を介してコンピュータベースシステムに結合されている。ここで図示しているバス１０１は、本発明を分かりやすくするために簡素化されている。バス１０１には、複数の並行バス（例えば、アドレス、データ、及びステータスバス）及びバスの階層（例えば、プロセッサバス、ローカルバス、及び入出力バス）が含まれていてもよい。コンピュータシステムにはさらにプロセッサ１０２が含まれていて、内部メモリ１０３からバス１０１を介して取り出される命令を実行できるようにしている。これら命令はソフトウェアで作成し、図５のフローチャート及び援用アプリケーションに含まれているフローチャートで概説する処理ステップを実行できるようにする方が良い。ソフトウェアは、Ｃプログラミング言語で作成することが望ましい。ヒストグラム作成部１１２、記号分類部１１３、及び統合部１１４の機能は、公知のソフトウェアまたは他の手段で実行できる。内部メモリ１０３は、通常、ＲＡＭ及びＲＯＭ（あるいはその両方）を組み合わせて作成する。プロセッサ１０２及び内部メモリＲＯＭ１０３は、個別構成部品でも良く、また特定用途向けＩＣ（ＡＳＩＣ）などの単一の集積デバイスでも良い。
【００１４】
また、英数字入力データを入力するためのキーボード１０４、データを記憶するための外部記憶部１０５、カーソルを操作するためのカーソル制御装置１０６、及び表示出力データを表示するための表示装置１０７も、バス１０１に結合されている。キーボード１０４は通常は標準のＱＷＥＲＴＹキーボードであるが、電話などのキーパッドでも構わない。外部記憶部１０５は、固定または取り外し可能磁気ドライブまたは光学ディスクドライブである。カーソル制御装置１０６には通常はボタンまたはスイッチが関連付けられていて、特定の機能の実行をプログラムできるようになっている。さらに、スキャナ１０８もバス１０１に結合されている。スキャナ１０８は、媒体のビットマップ表現を作成する手段である（つまり、スキャンされた文書イメージ）。
【００１５】
バス１０１に結合できる他のオプション要素としては、プリンタ１０９、ファクシミリ要素１１０、及びネットワーク接続部１１１がある。プリンタ１０９は、ビットマップ表現の印刷に使用する。ファクシミリ要素１１０には特定の要素を組み込み、本発明を使用して圧縮されたイメージデータを送信するために使用することができる。また、ファクシミリ要素１１０には特定の要素を組み込み、本発明を使用して圧縮された文書イメージを伸張するために使用することもできる。ネットワーク接続部１１１は、イメージデータが含まれたデータの送受信に使用する。したがって、本発明により作成されるイメージデータは、受信されたファックスを介してまたはネットワークにより、スキャナ１０８から入手できる。
【００１６】
ヒストグラム作成部１１２は、抽出記号のヒストグラムを作成する。記号分類部１１３は抽出記号を分類し、固有な基準記号で表現される幾つかの等価クラスにそれら抽出記号を分ける。作成される等価クラス数は、通常は、抽出記号の合計数より少ない。作成される出力分類表には、基準記号ＩＤ／位置の組が含まれ、その後ろに基準記号の辞書が続く。
【００１７】
統合部１１４は等価クラス数を減らすことで等価クラスセットを統合し、辞書のサイズを縮小することでイメージデータを圧縮する。統合操作の実行方法は、記号と基準記号との比較操作とほぼ同じである。通常、記号の突合せ操作に費やす作業量が多ければ多いほど、一致する記号も増える。効率を考慮した場合、この作業は生（未処理）記号の全体に対し実行するよりは、比較的小さな等価クラスのセットに対し実行した方が効果的である。
【００１８】
イメージ伸張時に、基準記号ＩＤ／位置の各組を処理し、識別された基準記号を指定した場所に配置する。これを、すべての組に対し継続して実行する。突合せ処理中に基準記号が元の記号に置き換わるため、この種の圧縮タイプは有損失圧縮と呼ばれる。この置換えにもかかわらず、イメージの本質は変わらない。
【００１９】
記号分類部１１３は、ビットマップではなく記号を表すランを分析し、記号を直接分類する。ただし、記号分類部１１３は幅及び高さなどの記号の形状はそのまま分類で使用する。さらに詳細な記号の形状を調べるために、記号分類部１１３は各記号のラン終端位置と対応する正しい終端場所の範囲とを比較する。この範囲は、基準記号内で隣接する３本のスキャン行の対応するグループを調べることで計算したものである。十分な精度を上げるために、水平ランから垂直ランを作成し、両方のランのセットを分類に使用する。
【００２０】
図１に示すように、コンピュータベースシステムは、できればプログラムされた汎用コンピュータで実行する方が望ましい。しかし、コンピュータベースシステムは、専用コンピュータ、プログラムされたマイクロプロセッサまたはマイクロコントローラ及び周辺集積回路要素、ＡＳＩＣまたは他の集積回路、個別要素回路などのハードワイヤード電子または論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、またはＰＡＬなどのプログラマブル論理デバイスで実行することもできる。一般的に、本発明の方法を実行可能な有限状態マシンを補完できる装置であれば、コンピュータベースシステムを実行するために使用できる。
【００２１】
形状主体の分類基準では、ラン終端から簡単に計算できる数量を使用する。これらの終端を利用するため、ビットマップの場合に比較し、記号を数値的に測定して生成することが容易である。形状主体の分類基準には、個別記号の幅と高さ、等価クラスの幅と高さ、ストロークの幅、傾き、及び水平及び垂直量が含まれる。
【００２２】
記号の幅と高さは、記号を囲む境界ボックスで指定する。記号の幅と高さを使用して比較対象となる等価クラスのサブセットを選択し、適用する記号形状テストを決定する。好適な実施形態においては、等価クラスの基準記号を比較操作で使用するためには、基準記号は記号の幅及び高さの±２ピクセル以内でなければならない。
【００２３】
大部分の基本テストは、大きな記号を区別するためには適切である。記号が小さい場合は、微妙な形状が重要になり、さらにテストを続ける必要がある。小さな記号は、通常、幅または高さが２０ピクセル以下の記号である。
【００２４】
等価クラスの幅及び高さの範囲の判別結果は、以下に述べる２つの操作で使用する。まず、非常に小さな記号の場合は一致する幅と高さの範囲が狭いため、最小許容幅及び最大及び高さを各クラスごとに記録されている。これらの範囲に収まらない記号は、このクラスには組み込まない。次に、等価クラスの統合化処理時に幅と高さの範囲を使用する。この判別作業により、各統合クラスの最小及び最大許容幅及び高さが決定される。
【００２５】
文字または記号のストローク幅を決定するとき、垂直ランと水平ランを分析する。水平ランの分析は垂直ランの分析と同じであるため、水平ランの分析だけを図示し、説明する。水平ランは、ある状態のピクセルの連続行である。図２は、スキャン行２０１−２０７で形成される“ｏ”の水平ランを示したものである。スキャン行２０１と２０７の水平ランにはそれぞれ５ピクセル含まれ、スキャン行２０２と２０６の４つの水平ランにはそれぞれ１ピクセル含まれ、スキャン行２０３−２０５の水平ランにはそれぞれ２ピクセル含まれている。短い長さの水平ラン、つまりスキャン行２０２−２０６の水平ランは、この文字の縦方向のストロークを表している。
【００２６】
図３は、図２に示した記号のヒストグラムである。このヒストグラムはランレングスを横軸にし、その長さのラン数を示している。図４も、図２に示した記号のヒストグラムである。このヒストグラムはランレングスを横軸にし、その長さのランに含まれる合計ピクセル数を示している。特定のランレングスの合計ピクセル数は、そのランレングスにそのレングスのラン数を掛けて求めることができる。
【００２７】
最短のランレングスから最長のランレングスの方向に、各ランレングスごとに、そのレングスのランに含まれるピクセルの合計数を第１の移動合計に加える。第１の移動合計は、その合計が記号の黒色部全体のかなりの部分を占めるようになったら停止する。記号の黒色部全体は、その記号を表すために必要な黒のピクセルの合計数である。できれば、第１の移動合計が黒色部全体の少なくとも半分になった時点で合計操作を停止する。しかし、移動合計は他の基準によって停止しても構わない。
【００２８】
第２の移動合計は、第１の移動合計を求めるために使用したラン数の合計である。文字のストローク幅は、第１の移動合計を第２の移動合計で除算した値である。抽出記号のストローク幅と等価クラスの基準記号の差が０．５ピクセル以下の場合だけ、その抽出記号を特定の等価クラスに分類する。ストローク幅の増減許容量が１ピクセルの場合は、ボールド体記号の凹部や通常記号の凸部があっても、ストローク幅は一致してしまう。
【００２９】
図２に示されている記号を例に使用すると、黒色部のピクセル数は２６で、第１の移動合計は１６である。第１の移動合計は、ランレングスが１と２のランのピクセル数を加えた後に停止する。これは、黒色部全体のピクセル数である２６の半分より１６の方が大きいからである。この例の場合、第２の移動合計は１０である。第２の移動合計は、ランレングスが１と２のラン数の合計である。したがって、図２に示してある記号のストローク幅は１６／１０、つまり１．６０になる。
【００３０】
本発明の好ましい方法では、プロセッサ１０２は、イメージ文書に含まれている記号をスキャンするようにスキャナ１０８に指示する。また、プロセッサ１０２はヒストグラム作成部１１２に対し、記号の第１のヒストグラム（ランレングスを横軸にした各レングスのラン数）と第２のヒストグラム（ランレングスを横軸にした各レングスのランに含まれるピクセルの合計数）を作成するように指示する。プロセッサ１０２は、黒色部全体、第１の移動合計、第２の移動合計、及び記号のストローク幅を決定する。プロセッサ１０２は、記号分類部１１３に対しその記号を等価クラスに分類するように指示するか、または新しい等価クラスを作成する。
【００３１】
本発明の好ましい方法を図５を参照して説明する。
【００３２】
この方法はステップＳ５００から開始する。ステップＳ５１０では、イメージ文書に含まれる記号をスキャンする。ステップＳ５２０では、記号の第１のヒストグラム（ランレングスを横軸にしたレングスのラン数）及び第２のヒストグラム（ランレングスを横軸にしたレングスのランの合計ピクセル数）を生成する。ステップＳ５３０では、黒色部の合計ピクセル数、第１の移動合計と第２の移動合計、および記号のストローク幅を決定する。ステップＳ５４０では、記号を等価クラスに分類するか、または新しい等価クラスを作成する。ステップＳ５５０で、この方法は終了する。
【図面の簡単な説明】
【図１】  本発明を実施する装置のブロック図である。
【図２】  記号の水平ラン数を示す図である。
【図３】  図２に示された記号のピクセルランカウントのヒストグラム（その１）図である。
【図４】  図２に示された記号のピクセルランカウントのヒストグラム（その２）図である。
【図５】  本発明の処理フローチャートである。
【符号の説明】
１０８  スキャナ、１０２  プロセッサ、１１３  記号分類部。
【図１】
0004309986.tif 000002
【図２】
0004309986.tif 000003
【図３】
0004309986.tif 000004
【図４】
0004309986.tif 000005
【図５】
0004309986.tif 000006