(57)【要約】本発明は、テキストコンテンツとグラフィックコンテンツの判別方法を対象とする。本方法は、画素線分に対する画素値を複数受け取るステップと、隣接画素群の画素値に基づき複数の空間勾配を計算するステップと、この複数の空間勾配を処理することによって平滑度指数を求めるステップと、この平滑度指数を閾値と比較することによって画素線分をテキストまたはグラフィックスとして識別するステップとを含む。本発明は、全般的には画像の判別方法に関し、特に画素線分をテキストまたはグラフィックスのどちらかとして識別する方法に関する。
2005518767.tif 000002
【特許請求の範囲】
【請求項１】
画像内のテキストコンテンツとグラフィックコンテンツを判別する方法であって、
画素線分に対する画素値を複数受け取るステップと、
隣接画素群の画素値に基づき、複数の空間勾配を計算するステップと、
前記複数の空間勾配を処理することによって平滑度指数を求めるステップと、
前記平滑度指数を閾値と比較することによって前記画素線分をテキスト線分またはグラフィック線分として識別するステップとを含む方法。
【請求項２】
複数の空間勾配を計算する前記ステップが、前記複数の画素値の各々について現在の画素の値から隣接画素の値を差し引くステップを含む、請求項１に記載の方法。
【請求項３】
平滑度指数を求める前記ステップが、
前記複数の空間勾配の第１の統計的特性を計算するステップと、
前記複数の空間勾配の第２の統計的特性を計算するステップと、
前記平滑度指数を生成するために、前記第２の統計的特性を前記第１の統計的特性で割るステップとを含む、請求項１に記載の方法。
【請求項４】
第１の統計的特性を計算するステップが、
前記空間勾配の各々を２乗することによって複数の２乗勾配を生成するステップと、
前記２乗勾配を合計することによって第１の統計的特性を生成するステップとを含む、請求項３に記載の方法。
【請求項５】
第２の統計的特性を計算するステップが、
前記空間勾配の各々の絶対値を求めることによって複数の絶対勾配を生成するステップと、
前記絶対勾配を合計することによって合計値を求めるステップと、
前記合計値を２乗することによって第２の統計的特性を生成するステップとを含む、請求項３に記載の方法。
【請求項６】
画像内のテキストコンテンツとグラフィックコンテンツを判別する方法であって、
画素線分に対する第１の複数の画素値と前記画素線分に対する第２の複数の画素値とを受け取るステップと、
隣接画素群の前記第１の複数の画素値に基づき、前記画素線分に対する複数の空間勾配を計算するステップと、
前記複数の空間勾配を処理することによって平滑度指数を求めるステップと、
前記第２の複数の画素値を組み合わせることによって値を計算するステップと、
前記平滑度指数を前記第１の閾値と比較し、また前記第２の複数の画素値の前記計算値を第２の閾値と比較することによって、前記画素線分をテキスト線分またはグラフィック線分として識別するステップとを含む方法。
【請求項７】
複数の空間勾配を計算する前記ステップが、前記第１の複数の画素値の各々について現在の画素の値から隣接画素の値を差し引くステップを含む、請求項６に記載の方法。
【請求項８】
平滑度指数を求める前記ステップが、
前記複数の空間勾配の第１の統計的特性を計算するステップと、
前記複数の空間勾配の第２の統計的特性を計算するステップと、
前記第２の統計的特性を前記第１の統計的特性で割ることによって前記平滑度指数を生成するステップとを含む、請求項６に記載の方法。
【請求項９】
第１の統計的特性を計算するステップが、
前記空間勾配の各々を２乗することによって複数の２乗勾配を生成するステップと、
前記２乗勾配を合計することによって前記第１の統計的特性を生成するステップとを含む、請求項８に記載の方法。
【請求項１０】
第２の統計的特性を計算するステップが、
前記空間勾配の各々の絶対値を求めることによって複数の絶対勾配を生成するステップと、
前記絶対勾配を合計することによって合計値を求めるステップと、
前記合計値を２乗することによって前記第２の統計的特性を生成するステップとを含む、請求項９に記載の方法。
【請求項１１】
前記第２の複数の画素値を組み合わせることによって値を計算する前記ステップが、前記第２の複数の画素値の最大を計算するステップをさらに含む、請求項６に記載の方法。
【請求項１２】
前記画素線分に対する第３の複数の画素値を受け取るステップと、
前記第３の複数の画素値を組み合わせることによって値を計算するステップとをさらに含み、前記画素線分をテキスト線分またはグラフィック線分として識別するステップが、前記第３の複数の画素値の前記計算値を第３の閾値と比較するステップをさらに含む、請求項６に記載の方法。
【請求項１３】
前記第３の複数の画素値を組み合わせることによって値を計算する前記ステップが、前記第３の複数の画素値の最大を計算するステップを含む、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、全般的には画像の判別方法に関し、特に画素線分をテキストまたはグラフィックスのどちらかとして識別する方法に関する。
【背景技術】
【０００２】
（発明の背景）
デジタルカラーコピーの出力およびカラー文書の印刷には、多機能周辺機（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）が使われている。ＭＦＰによる文書コピーの生成速度は元の文書の印刷速度より一般に低速であるが、この理由は、ＭＦＰは文書中のどの部分に黒（たとえばテキスト）が含まれ、どの部分に色（たとえばグラフィックスおよび写真）が含まれているかがわからないからである。一般に、ＭＦＰは、さまざまなインク色（たとえば、シアン、マゼンタ、イエロー、およびブラック）を供給する複数のカラーインクカートリッジを使用する。ＭＦＰによる代表的なカラーコピー処理では、最初にコピー対象の文書が走査される。図１Ａにおいて、代表的な文書１０は、レッド・グリーン・ブルー（ＲＧＢ）のカラー画像１４とテキスト１８とを含む。複製処理は、ＲＧＢ画素値をシアン・マゼンタ・イエロー・ブラック（ＣＭＹＫ）値に変換するステップを含む。印刷されたコピー１０ｄは、この４色のインクに対応する４回の印刷走査の結果である。１回目の印刷走査の結果である文書１０ａは、シアン色のグラフィックス１４ａとシアン色のテキスト１８ａとを含む。次の走査では、文書１０ｂに示すように、マゼンタインクを付着させる。このように、グラフィックス１４ｂとテキスト１８ｂとは、マゼンタインクとシアンインクとを含む。次の走査では、文書１０ｃに示すように、イエローインクを付着させる。グラフィックス１４ｃおよびテキスト１８ｃは、イエロー、マゼンタ、およびシアンのインクを含む。４回目の走査では、元の文書１０の完成コピー１０ｄを生成し、文書１０ｄに示すようにブラックのインクを付着させる。コピー文書１０ｄは、シアン、マゼンタ、イエロー、およびブラックのインクを含む。
【０００３】
一般に、テキスト１８は純黒であり、グラフィックス１４のみが色を含む。結果として、ＭＦＰがテキスト画素とカラー画素とを判別できれば、文書１０のコピーに必要な時間を短縮することができる。また、カラーインクをグラフィックス１４の印刷にのみ使用することになるので、使用するカラーインクの量も減らすことができる。必要とされるものは、テキスト画素とグラフィックス画素とを判別するための効率的で正確な方法である。
【発明の開示】
【課題を解決するための手段】
【０００４】
（発明の概要）
本発明は、画像内のテキストコンテンツとグラフィックコンテンツを判別する方法を対象とする。本方法は、画素線分の平滑度指数を計算し、この画素線分がテキストであるか、またはグラフィックスであるかを判定する。文書の印刷時間と文書の印刷に使用するインクの量を減らすために、この判定を利用することができる。
【０００５】
一局面において、本発明は、画像内のテキストコンテンツとグラフィックコンテンツを判別するための方法に関する。本方法は、画素線分に対する画素値を複数受け取るステップと、隣接画素群の画素値に基づき複数の空間勾配を計算するステップと、この複数の空間勾配を処理することによって平滑度指数を求めるステップと、この平滑度指数を閾値と比較することによって画素線分がテキスト線分であるか、またはグラフィック線分であるかを識別するステップとを含む。
【０００６】
一実施形態において、複数の空間勾配を計算するステップは、複数の画素値の各々について、現在の画素の値から隣接画素の値を差し引くステップを含む。別の実施形態においては、平滑度指数を求めるステップは、複数の空間勾配の第１の統計的特性を計算するステップと、複数の空間勾配の第２の統計的特性を計算するステップと、第２の統計的特性を第１の統計的特性で割ることによって平滑度指数を生成するステップとを含む。また別の実施形態においては、第１の統計的特性の計算は、各空間勾配を２乗することによって複数の２乗勾配を生成するステップと、これらの２乗勾配を合計することによって第１の統計的特性を生成するステップとを含む。さらに別の実施形態においては、第２の統計学的計算は、各空間勾配の絶対値を求めることによって複数の絶対勾配を生成するステップと、これらの絶対勾配を合計することによって合計値を求めるステップと、この合計値を２乗することによって第２の統計的特性を生成するステップとを含む。
【０００７】
別の局面において、本発明は、画像内のテキストコンテンツとグラフィックコンテンツを判別する方法に関する。本方法は、画素線分に対する第１の複数の画素値とこの画素線分に対する第２の複数の画素値とを受け取るステップと、この第１の複数の画素値に基づきこの画素線分の複数の空間勾配を計算するステップと、この複数の空間勾配を処理することによって平滑度指数を求めるステップとを含む。さらに、本方法は、第２の複数の画素値を組み合わせることによって値を計算するステップと、平滑度指数を第１の閾値と比較し、また第２の複数の画素値から計算した値を第２の閾値と比較することによって、画素線分がテキスト線分であるか、またはグラフィック線分であるかを識別するステップとを含む。
【０００８】
一実施形態において、第２の複数の画素値を組み合わせることによって値を計算するステップは、第２の複数の画素値の最大値を計算するステップを含む。別の実施形態において、本方法は、画素線分の第３の複数の画素値を受け取るステップと、第３の複数の画素値を組み合わせることによって値を計算するステップとを含む。さらに、画素線分がテキスト線分であるか、またはグラフィック線分であるかを識別するステップは、第３の複数の画素値から計算した値を第３の閾値と比較するステップを含む。また別の実施形態において、第３の複数の画素値を組み合わせることによって値を計算するステップは、第３の複数の画素値の最大値を計算するステップを含む。
【発明を実施するための最良の形態】
【０００９】
（発明の詳細な説明）
本発明は、画素線分内のテキストとグラフィックスを判別する方法を対象とする。図１Ｂにおいて、文書１０は、ＲＧＢグラフィックス画素１４とテキスト画素（通常、黒色）１８とを含む。文書１０の走査後、ＲＧＢ値は、ＣＭＹＫ値に変換される。シアンインクが付着され（シアングラフィックス１４ａ）、次にマゼンタインクが付着され（マゼンタグラフィックス１４ｂ）、その後、イエローインクが付着される（イエローグラフィックス１４ｃ）。最後に、ブラックインクがグラフィックス１４ｄとテキスト１８ｄとに付着される。文書１０ｈは、文書１０の複製であり、黒色テキスト１８ｄとＣＭＹＫグラフィックス１４ｄとを含む。グラフィックス１４ａ、１４ｂ、１４ｃ、および１４ｄは、図１Ａの説明と同様の方法で生成される。ただし、テキスト１８ｄは、文書１０ｈの生成中にのみ付着される。
【００１０】
図２において、ＲＧＢからＬＡＢ（輝度・クロミナンス・クロミナンス）への変換部２０は、スキャナなどの外部ソースからＲＧＢ画素値を受け取る。各ＲＧＢ画素値は、ＬＡＢ変換部２０によって適用される変換行列に応じて、対応するＬＡＢ値に変換される。この変換は、一般に次式によって与えられる。
【００１１】
【化１】
2005518767.tif 000003
【００１２】
ここで、ａ００、ａ０１、ａ０２、ａ１０、ａ１１、ａ１２、ａ２０、ａ２１、およびａ２２は、変換を定義する変換係数である。
【００１３】
ＬＡＢ空間への変換後、画素値は地肌除去部３０に送られ、そこでほぼ白色の画素値が完全に白色の画素値に変換される。自動分別部４０は、処理されたＬＡＢデータを受け取り、この処理されたＬＡＢ画像内の各画素線分（つまり、線形の画素群）に対して、平滑度指数などの統計的特性を生成する。自動分別部４０は、各画素線分をテキストとして処理すべきか、またはグラフィックスとして処理すべきかを判定し、対応するデータをテキスト空間フィルタ５０または画像空間フィルタ６０に送る。好適な一実施形態において、各画素線分は３２の画素を含む。
【００１４】
テキスト空間フィルタ５０は、走査された画素値のうち、自動分別部４０によってテキスト画素として分類された画素値の線分を加重平均を用いて鮮明化し、外部画素ソースからの画素のコントラストを強調する。一実施形態において、テキスト空間フィルタ５０は、７×７線分の画素を空間フィルタリングするための対称マスクを含む。
【００１５】
テキストディザリングモジュール７０は、フィルタリングされた画素値を受け取り、画素あたり８ビットを有するデータをバイトナルデータ（画素あたり１ビット）に変換することによって、さらに画素を処理する。つまり、テキストディザリングモジュール７０は、黒用の画素が確実に「純粋な黒」値によって表されるようにする。同様に、白用の画素値には「純粋な白」値を割り当てる。
【００１６】
画像空間フィルタ６０は、自動分別部４０によってグラフィックスとして分類された画素をフィルタリングする。一実施形態において、画像空間フィルタ６０は、５×５線分の画素のクロミナンス値を空間フィルタリングするための対称マスクと、輝度値をフィルタリングするための７×７対称マスクとを含む。
【００１７】
ＬＡＢからＣＭＹＫへの変換モジュール８０は、フィルタリングされた画像画素を受け取り、これらの画素値を対応するＣＭＹＫ値に変換する。次に、ＣＭＹＫ値は画像ディザリングモジュール９０に送られる。ＣＭＹＫ値は、上記のテキスト画素と同様に、ディザリングされる。マージャモジュール１００は、ディザリングモジュール７０，９０から画素値を受け取る。マージャモジュール１００は、テキストディザリングモジュール７０と画像ディザリングモジュール９０から供給された画素値に従って、マージした画素値を各画素に対して生成する。つまり、マージャモジュール９０は、印刷される最終画像を構築し、最終画素値をプリンタに送る。
【００１８】
図３は、自動分別部４０の機能をより詳しく説明している。ステップ１４０において、自動分別部４０は、画素線分に対する輝度値（つまりＬ値）を複数受け取る。この説明のための実施形態において、この画素線分は連続する３２の画素（つまりＮ＝３２）で構成されている。ステップ１４５では、これらの輝度値から生の平滑度指数を計算する。ステップ１４６およびステップ１４７では、それぞれ輝度値の最小と最大を計算する。ステップ１４８では、平均平滑度指数を計算する。ステップ１５０で、自動分別部４０は、この画素線分に対する第１の複数のクロミナンス値（たとえばＡ値）を受け取る。ステップ１６０で、自動分別部４０は、この画素線分に対する第２の複数のクロミナンス値（たとえばＢ値）を受け取る。ステップ１６５では、Ａ画素値とＢ画素値との統計的特性を求める。一実施形態においては、統計的特性は、画素線分の最大の非無彩色（ＮＮＣ）である。別の実施形態においては、画素線分の最大の非無彩色は、各画素線分に対する次式によって求める。
【００１９】
【化２】
2005518767.tif 000004
【００２０】
Ａ値およびＢ値の全目盛範囲は０〜２５６である。最後に、ステップ１７０において、平均平滑度指数、最大輝度、最小輝度、およびＡ値とＢ値との統計的特性を処理することによって、この画素線分をテキストとして、または画像として分類する。
【００２１】
図４および図５において、生の平滑度指数の計算をより詳細に説明する。図４は、生の平滑度指数の計算（ステップ１４５）に使用するステップを示す。ステップ１８０では、複数の空間勾配をＬ画素値群から導き出す。図５のプロット図３００は、グラフィックコンテンツを有する画素線分内のＬ画素値群３０２ａ、３０２ｂ、３０２ｃ、．．．．、３０２ｘ（３０２と総称）を対応する画素位置の関数として示す実例である。プロット図３０５は、図３００から導き出した、対応する空間勾配３０７ａ、３０７ｂ、３０７ｃ、．．．、３０７ｘ（３０７と総称）を表す。一実施形態においては、各空間勾配３０７は、現在の画素の値から次の画素の値を差し引くことによって求める。たとえば、この線分内の第１の画素の勾配は、点３０２ｂのＬ値から点３０２ａのＬ値を差し引いた値である。テキストコンテンツを有する画素線分の例を図５Ｂに示す。説明のための一実施形態において、ステップ１８５で計算される複数の空間勾配の第１の統計的特性（ｌ１）は、次式で与えられる。
【００２２】
【化３】
2005518767.tif 000005
【００２３】
ステップ１９０では、複数の空間勾配の第２の統計的特性（ｌ２）を計算する。説明のためのこの実施形態においては、第２の統計的特性（ｌ２）は、空間勾配の絶対値の合計の２乗として計算される。第２の統計的特性（ｌ２）は、次式によって等式の形態で与えられる。
【００２４】
【化４】
2005518767.tif 000006
【００２５】
ステップ１９５では、平滑度指数の値を計算する。説明のためのこの実施形態においては、平滑度指数は、第２の統計的特性（ｌ２）を第１の統計的特性（ｌ１）で割った値に等しい。つまり、次式に相当する。
【００２６】
【化５】
2005518767.tif 000007
【００２７】
画素線分の平均平滑度指数を生成するには、各画素線分の生の平滑度指数値をその隣接値によって平均化する。画素線分の生の平滑度指数によって、画素線分がグラフィックスまたはテキストとして正確に分類されることも多いが、誤分類されることもある。画素線分の生の平滑度指数値をその隣接線分群の間で平均化すると、分類結果がより正確になる。たとえば、すべての勾配がほぼ等しいときは、平滑度指数が高くなる（たとえば、３２の勾配が同一値であると、平滑度指数は３２になる）。例として、すべての勾配値が通常小さい写真画像と、すべての勾配値が通常大きいハーフトーン画像が挙げられる。画素線分全体が文字または罫線の水平ストロークに含まれている場合も、テキスト画素線分の勾配値がほぼ等しくなりうる。この場合、ブロックの平滑度指数は、この画素線分を画像として不正に示す。一般に、周囲の画素線分の大部分は正しくテキストとして分類されるので、通常、平均化操作によって分類が訂正される。
【００２８】
画素線分内の少数の勾配がその画素線分内のその他の勾配よりはるかに大きい場合は、平滑度指数は低くなる。たとえば、画素線分内に大きい同一の勾配が２つあり、残りの勾配がゼロの場合は、平滑度指数は２になる。この状況は、たとえば、画素線分が文字の肉太縦線を横切っている場合に発生する。大きい勾配は、肉太縦線のエッジで発生する黒から白へ、または白から黒への各遷移の結果である。この現象は、写真画像またはハーフトーン画像における明から暗への遷移が鮮明なエッジでも存在する。これらの状況においては、平滑度指数によって、画素線分がテキストとして不正に分類される。一般に、周囲の画素線分の大部分は画像として正しく分類されるはずであるので、平均化操作によって不適切な分類は訂正される。
【００２９】
図６は、図３の平均平滑度指数の計算ステップ１４８をより詳しく示す。この処理は、文書の各画素線分に対して、生の平滑度指数値が既に生成されていることを前提としている。各画素線分に対する平均平滑度指数を生成するには、一般に、頁の水平方向および垂直方向への加重ラン平均を用いる。この処理は、各画素線分全体にわたって水平方向および垂直方向に繰り返す。つまり、平均化は、頁を横切る方向で行ってから、頁の下方に向かって行う。
【００３０】
ステップ６００では、第１行の画素線分のうち、頁左端にある画素線分の生の平滑度指数値に加重（たとえば、倍加）することによって、水平平均を初期化する。ステップ６１０では、現在の平均値を二分し、これを右にある画素線分の生の平滑度指数に加えることによって、第１の画素線分に対する水平平均を更新する。ステップ６２０では、現在の平均垂直平滑度指数に加重し（たとえば、８分の７を掛け）、これを平均水平平滑度指数の現在値に加えることによって、平均垂直平滑度指数を更新する。ステップ６３０では、画素線分の平均平滑度指数を設定する。
【００３１】
ステップ６４０では、第１のカウンタＣＯＵＮＴＥＲ＿１をページ幅閾値ＷＩＤＴＨと比較することによって、ページ幅位置を判定する。第１のカウンタは、画素線分の水平位置を表す。第１のカウンタＣＯＵＮＴＥＲ＿１がページ幅閾値ＷＩＤＴＨ未満の場合は、処理が頁の右端に達していないので、処理はステップ６１０に戻る。第１のカウンタＣＯＵＮＴＥＲ＿１がページ幅閾値ＷＩＤＴＨに等しいか、またはそれより大きい場合は、処理はステップ６５０に続く。
【００３２】
ステップ６５０では、第２のカウンタＣＯＵＮＴＥＲ＿２をページ長閾値ＬＥＮＧＴＨと比較することによって、ページ長位置を判定する。第２のカウンタは、画素線分の垂直位置を表す。第２のカウンタＣＯＵＮＴＥＲ＿２がページ長閾値ＬＥＮＧＴＨ未満である場合は、処理が頁の最終行に達していないので、処理はステップ６００に戻る。第２のカウンタＣＯＵＮＴＥＲ＿２がページ長閾値ＬＥＮＧＴＨに等しいか、またはそれより大きい場合は、平均化処理を終了し、計算値の処理（図３のステップ１７０）を開始する。
【００３３】
説明のための一実施形態においては、画素線分の平均平滑度指数値を生成するために、次のＣコードを使用する。
【００３４】
intraw_smooth[height][width];     /*生の平滑度値*/
int avg_smooth[height][width];     /*平均化された平滑度値*/
intvert_avg_smooth[width];       /*垂直平均平滑度*/
inty,x;                   /*行数と列数*/
inthav;                   /*水平平均*/
memset(vert_avg_smooth,0,width);     /*垂直平均をクリア*/
for(y=0;y<height;++y)       /*複数行にわたるループ*/
{
hav=raw_smooth[y][0]*2;   /*水平平均を初期化*/
for(x=0;x<width;++x)
{
hav=hav/2+raw_smooth[y][x+1];   /*水平平均を更新*/
vert_avg_smooth[x]=vert_avg_smooth[x]*7/8+hav;/*垂直平均を更新*/
if(y>=8)
avg_smooth[y-8][x]=vert_avg_smooth[x];     /*平均化された平滑度を設定*/
}
}
。
【００３５】
多くの画像には、たとえば暗領域またはハイコントラスト領域において、テキストとして誤分類されうる低平滑度値の領域が存在する。平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨを用いると、この問題を激減させることができる。平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨを高い値に設定すると、テキストとして誤分類されうる画像データを正しく分類することができ、逆に低い値に設定すると、画像データとして誤分類されうるテキストデータを正しく分類することができるからである。したがって、境界線領域（つまり、平滑度指数値が閾値にほぼ等しく、閾値の上および下である領域）において、画像とテキストの間での分類の往復切り換えを防ぐことができる。たとえば、単一の閾値６とサンプル値３４５７８９７５７５９８５３３とを想定してみる。テキスト（Ｔ）または画像（Ｉ）としての分類は、それぞれＴＴＴＩＩＩＩＴＩＴＩＩＴＴＴという結果になる。平滑度指数値７５７５９は、画像とテキストの間の分類が切り換わる境界線領域を表す。テキストから画像への遷移には平滑度指数として６またはそれ以上、またテキストへの逆遷移には平滑度指数４またはそれ以下を必要とする二重閾値方式を採用すると、上記の場合の分類がＴＴＴＩＩＩＩＩＩＩＩＩＩＴＴになり、画像とテキストの間の不要な切り換えが避けられる。この２つの平滑度閾値は、桁単位で適用される。３２×１画素線分の桁ごとに閾値が存在する。画素線分の桁の平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨは、高い方の値に初期化される。画像線分が見つかると、その桁の平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨは低い方の閾値に設定される。その桁にテキストが再度見つかると、その画素線分桁の平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨは高い方の値に再設定される。
【００３６】
見出しのテキストなどの大きなテキスト文字が文書１０に含まれている場合は、３２×１画素線分のいくつかは完全に文字の肉太縦線の内部に入ることになる。これらの線分は、平滑度指数によって、画像として誤分類される。この問題を避けるために、画素線分の最大輝度値Ｌが輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰを超えておらず、かつ現在の画素線分が他のテキスト線分によって囲まれている場合は、これらの線分をテキストとして分類する。
【００３７】
濃い画像のエッジは、テキストと同様に暗から明への遷移が単一であることから、テキストの平滑度特性を持つことがあり、テキストとして誤分類されることがある。上記の２つの閾値を垂直方向だけでなく、水平方向にも適用すると、この問題をほぼ防ぐことができる。画像領域は大半の大きなテキスト領域より一般に大きいので、大きなテキスト文字に対する修正を元に戻さないように注意しながら、幅テストを用いることによって所望の結果を得ることができる。隣接する一画像線分群の幅が幅の閾値ＬＯＮＧ＿ＩＭＡＧＥ＿ＲＵＮより広い場合は、以下により詳しく説明するように、テキストとして分類された境界画素線分群を画像線分として分類し直せないかどうかを調べる。
【００３８】
図７Ａ〜図７Ｄは、図３の計算値の処理ステップ１７０をより詳しく示す。各画素線分に対して、下記の処理が、頁の左上隅からその頁の右下隅へというような論理的な順序で行われる。特定の処理ステップでは、事前に処理された画素線分を再処理する必要があるが、このようなステップについては以下に説明する。ステップ７００では、画素線分の最大の非無彩色をカラー閾値ＣＯＬＯＲ＿ＴＨＲＥＳＨと比較する。最大の非無彩色がカラー閾値ＣＯＬＯＲ＿ＴＨＲＥＳＨと等しいか、またはそれより大きい場合は、ステップ７１０で現在の画素線分を画像線分として分類する。ステップ７１０ではさらに、その桁の画素線分に対する平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨを低い方の値に設定し、画像カウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴをインクリメントし、大文字テキストカウンタＩＮ＿ＣＡＰＳをゼロに設定する。画像ランカウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴは、画像として分類された連続画素線分の数を追跡記録する。大文字テキストカウンタＩＮ＿ＣＡＰＳは、見出しなどの大きなテキストの領域に含まれうる画素線分の数を追跡記録する。ステップ７２０では、画像カウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴが長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨに等しい場合は、先行する多数の画素線分がテキストとして誤分類されていないかどうかをチェックする。画像カウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴが長い画像の閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨに等しくない場合は、処理はステップ１０００に進み、次の画素線分の後処理をステップ７００で開始する。
【００３９】
ステップ７４０〜ステップ７６０には、限られた数の先行画素線分の分類をチェックするための処理ループが形成されている。ステップ７３０では、カウンタＮを、現在の画素線分数から長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨを差し引いた値に設定する。ステップ７４０では、カウンタＮをゼロと比較する。カウンタＮがゼロ未満であると、本方法はステップ１０００に進み、次の画素線分の処理をステップ７００で開始する。カウンタＮがゼロに等しいか、またはそれより大きい場合は、処理はステップ７５０に続き、現在の画素線分の平均平滑度指数を低い方の平滑度閾値と比較する。平均平滑度指数が低い方の平滑度閾値に等しいか、またはそれより大きい場合は、処理はステップ７６０に続く。画素線分Ｎの平均平滑度指数が低い方の平滑度閾値より小さい場合は、処理はステップ１０００に続き、次の画素線分の処理をステップ７００で開始する。ステップ７６０では、現在の画素線分を画像線分として分類し、カウンタＮをデクリメントし、その桁の画素線分の平滑度閾値を低い方の値に設定し、処理はステップ７４０に戻る。つまり、ループ（ステップ７４０〜ステップ７６０で定義）によって、現在の画素線分の左にある先行画素線分群をチェックし、これらの画素線分が濃い画像のエッジであるのに、テキストとして誤分類されていないかどうかを調べる。テキストとして誤分類されていた場合は、先行画素線分群を画像として分類し直す。
【００４０】
最大の非無彩色がカラー閾値ＣＯＬＯＲ＿ＴＨＲＥＳＨより低い場合は、処理はステップ７７０に進み、現在の画素線分の平均平滑度指数を現在の画素線分の平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨと比較する。現在の画素線分の桁の平滑度閾値は、前述のように、低い方の値または高い方の値のどちらかである。現在の画素線分の平均平滑度指数が平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨに等しいか、またはそれより大きい場合は、ステップ７８０で画素線分の最大輝度値を輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳと比較することによって、画素線分が大きな大文字の領域に含まれている可能性があるかどうかを判定する。画素線分の最大輝度値が大文字閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳに等しいか、またはそれより小さい場合は、処理はステップ７９０に進む。画素線分の最大輝度値が輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳより大きい場合は、処理はステップ８３０に進み、大文字テキストカウンタＩＮ＿ＣＡＰＳをゼロに設定する。処理は、以下に説明するように、ステップ８４０に続く。
【００４１】
ステップ７９０で大文字テキストカウンタＩＮ＿ＣＡＰＳがゼロに等しくない場合は、ステップ８１０で大文字テキストカウンタＩＮ＿ＣＡＰＳをインクリメントし、処理は下記のステップ８４０に続く。大文字テキストカウンタＩＮ＿ＣＡＰＳがゼロに等しい場合は、処理はステップ８００に進む。
【００４２】
ステップ８００で現在の画素線分が第１の画素線分ではなく、また先行画素線分がテキストとして分類されており、さらにこの先行画素線分の最小輝度値が輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳに等しいか、またはそれより小さい場合は、処理はステップ８２０に進み、大文字テキストカウンタＩＮ＿ＣＡＰＳを１に等しい値に設定する。その他の場合は、処理はステップ８４０に進む。ステップ８４０では、現在の画素線分を画像として分類し、現在の画素線分の桁の平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨを低い方の値に設定し、画像ランカウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴをインクリメントする。ステップ８５０では、画像カウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴを長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨと比較する。画像カウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴが長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨに等しい場合は、多数の先行画素線分がテキストとして誤分類されていないかどうかをチェックする。画像カウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴが長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨに等しくない場合は、処理はステップ１０００に進み、次の画素線分をステップ７００で処理する。
【００４３】
ステップ８７０〜ステップ８９０では、ステップ７４０〜ステップ７６０に示した処理ループと同様の処理ループによって、限られた数の先行画素線分の分類を判定する。ステップ８６０では、カウンタＮを、現在の画素線分数から長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨを差し引いた値に設定する。ステップ８７０では、カウンタＮをゼロと比較する。カウンタＮがゼロ未満の場合は、本方法はステップ９００に進み、大文字カウンタＩＮ＿ＣＡＰＳをゼロに等しい値に設定する。その後、処理はステップ１０００に進み、次の画素線分の処理をステップ７００で開始する。カウンタＮがゼロに等しいか、またはそれより大きい場合は、処理はステップ８８０に続き、画素線分数Ｎの平均平滑度指数を低い方の平滑度閾値と比較する。画素線分Ｎの平均平滑度指数が低い方の平滑度閾値に等しいか、またはそれより大きい場合は、処理はステップ８９０に続く。画素線分Ｎの平均平滑度指数が低い方の平滑度閾値より小さい場合は、処理はステップ９００に進み、大文字テキストカウンタＩＮ＿ＣＡＰＳをゼロに等しい値に設定する。その後、処理はステップ１０００に進み、次の画素線分の処理をステップ７００で開始する。ステップ８９０では、カウンタ値Ｎに対応する画素線分を画像線分として分類し、カウンタＮをデクリメントし、この画素線分の桁の平滑度閾値を低い方の値に設定し、処理はステップ８７０に戻る。つまり、このループによって、現在の画素線分の左にある先行画素線分群がテキストとして誤分類されていないかどうかをチェックする。誤分類されていた場合は、それらの画素線分を画像の画素線分として分類し直す。
【００４４】
現在の画素線分の平均平滑度指数が平滑度閾値ＳＭＯＯＴＨ＿ＴＨＲＥＳＨに等しくなく、またそれより大きくもない場合は、処理はステップ９１０に進む。ステップ９１０では、長い画像ランのカウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴおよび平均平滑度指数の比較を行う。長い画像ランのカウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴが長い画像ランの閾値ＩＭＡＧＥ＿ＲＵＮ＿ＴＨＲＥＳＨに等しいか、またはそれより大きく、かつ現在の線分の平均平滑度指数が低い方の平滑度閾値に等しいか、またはそれより大きい場合は、処理はステップ９２０に続く。ステップ９２０では、現在の画素線分を画像として分類し、この画素線分の桁の平滑度閾値を低い方の値に設定する。どちらか一方の条件が真でない場合は、処理はステップ９３０に続き、このステップで大文字テキストカウンタＩＮ＿ＣＡＰＳの値がゼロに等しくなく、かつこの画素線分の最小輝度値が輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳに等しいか、またはそれより小さいかどうかを判定する。
【００４５】
ステップ９３０で大文字テキストカウンタＩＮ＿ＣＡＰＳがゼロに等しくなく、かつ画素線分の最小輝度値が輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳに等しいか、またはそれより小さい場合は、処理はステップ９４０に続く。大文字テキストカウンタＩＮ＿ＣＡＰＳの値がゼロに等しい場合、または画素線分の最小輝度値が輝度閾値ＭＡＸ＿ＬＵＭ＿ＩＮ＿ＣＡＰＳより大きい場合は、処理は下記のステップ９７０に進む。
【００４６】
ステップ９４０では、カウンタＭを、現在の画素線分数から大文字テキストカウンタＩＮ＿ＣＡＰＳの値を差し引いた値に設定する。処理は、ステップ９５０とステップ９６０とにわたって繰り返される。ステップ９５０では、カウンタ値Ｍに等しい画素線分をテキストとして分類し、大文字の左端を設定し、カウンタ値Ｍに対応する画素線分の桁の平滑度閾値を高い方の値に設定し、カウンタＭをインクリメントし、大文字テキストカウンタ値を減らす。その後、ステップ９６０で、大文字テキストカウンタＩＮ＿ＣＡＰＳの値をゼロと比較する。大文字テキストカウンタＩＮ＿ＣＡＰＳがゼロより大きい場合は、処理はステップ９５０に戻る。つまり、処理ループによって、大文字テキストを左に拡張し、画像として誤分類されていた画素線分群をテキストとして分類し直す。
【００４７】
大文字テキストカウンタがゼロに等しいか、またはそれより小さい場合は、本方法はステップ９７０に進む。ステップ９７０では、画素線分をテキストとして分類し、この画素線分の桁の平滑度閾値を高い方の値に設定し、画像ランカウンタＩＭＡＧＥ＿ＲＵＮ＿ＣＯＵＮＴをゼロにリセットする。その後、処理はステップ１０００に続き、次の画素線分の処理をステップ７００で開始する。
【００４８】
好適な実施形態を示したので、当業者は、請求の範囲に記載されている発明の範囲と精神から乖離せずに、多くの変更が可能であることを理解されるであろう。したがって、本発明は、請求項の範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【００４９】
本発明は、添付請求項に詳細に示されている。本発明の利点は、添付図面との関連において解釈される以下の説明からよりよく理解されるかもしれない。それらの図のうち、
【図１】図１Ａは、従来技術の印刷処理によるコピー文書の生成を示す説明図である  図１Ｂは、本発明に従った印刷処理によるコピー文書の生成を示す説明図である。
【図２】図２は、本発明の方法を組み込んだシステムの一実施形態を表す機能ブロック図である。
【図３】図３は、本発明に従ってテキストコンテンツとグラフィックコンテンツとを判別する方法の一実施形態を表すフローチャートである。
【図４】図４は、本発明に従ってテキストコンテンツとグラフィックコンテンツとを判別するために使用する平滑度指数計算の一実施形態を示すフローチャートである。
【図５】図５Ａは、代表的なグラフィックス線分の輝度を位置の関数として示すプロット図、および対応する空間勾配のプロット図である  図５Ｂは、代表的なテキスト線分の輝度を位置の関数として示すプロット図、および対応する空間勾配のプロット図である。
【図６】図６は、図３の平滑度指数の平均を求める処理を示すフローチャートである。
【図７Ａ】図７Ａは、図３の後処理ステップの一実施形態を説明するフローチャートである。
【図７Ｂ】図７Ｂは、図３の後処理ステップの一実施形態を説明するフローチャートである。
【図７Ｃ】図７Ｃは、図３の後処理ステップの一実施形態を説明するフローチャートである。
【図７Ｄ】図７Ｄは、図３の後処理ステップの一実施形態を説明するフローチャートである。
【図１】
2005518767.tif 000008
【図２】
2005518767.tif 000009
【図３】
2005518767.tif 000010
【図４】
2005518767.tif 000011
【図５】
2005518767.tif 000012
【図６】
2005518767.tif 000013
【図７Ａ】
2005518767.tif 000014
【図７Ｂ】
2005518767.tif 000015
【図７Ｃ】
2005518767.tif 000016
【図７Ｄ】
2005518767.tif 000017
【国際調査報告】
2005518767.tif 000018
2005518767.tif 000019
2005518767.tif 000020