(57)【特許請求の範囲】
【請求項１】
多値のカラー画像データを画素毎にｃ、ｍ、ｙの３ビットデータに変換する色変換手段と、
前記色変換手段により変換されたｃ、ｍ、ｙの３ビットデータをｃ、ｍ、ｙ毎のプレーンに展開するプレーン展開手段と、
前記プレーン展開手段により展開されたｃ、ｍ、ｙのプレーン毎にそれぞれＭ×Ｎ画素のマトリクスにおけるｃ、ｍ、ｙの各データが「１」の数をカウントするカウント手段と、
前記ｃ、ｍ、ｙの各カウント値の最大値と最小値の差が第１の閾値以上であり、かつ最小値が第２の閾値未満の場合にそのマトリクスにおける注目画素を色画素候補として判定する色画素候補判定手段と、
前記ｃ、ｍ、ｙのプレーン毎にそれぞれＭ×Ｎ画素のマトリクスにおいて色画素と誤判定するパターンとマッチングして一致しない場合にそのマトリクスにおける注目画素を色画素候補として判定するパターンマッチング手段と、
前記色画素候補判定手段及びパターンマッチング手段により色画素候補と判定された注目画素を色画素として判定する色画素判定手段と、
を備えた画像処理装置。
【請求項２】
前記色変換手段は、多値のＲＧＢカラー画像データに基づいて各色相境界を求め、この各色相境界と多値のＲＧＢデータの最大値と最小値の差に基づいてｃ、ｍ、ｙの３ビットデータに変換することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記色空間変換手段は、多値のＲＧＢデータの最大値と最小値の差とＣ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ、ＢＫ、Ｗ毎に異なる閾値を比較して比較結果の差に基づいてｃ、ｍ、ｙの３ビットデータに変換することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記パターンマッチング手段がマッチングするパターンは、人間の視覚では目につきにくい色を判定するパターンであることを特徴とする請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記パターンマッチング手段がマッチングするパターンは、原稿を複写した装置固有の追跡パターンであることを特徴とする請求項１ないし４のいずれか１項に記載の画像処理装置。
【請求項６】
前記パターンマッチング手段は、白地により囲まれている領域のみをパターンマッチングすることを特徴とする請求項１ないし５のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラー画像データが有彩画素か無彩画素かを判定する画像処理装置に関する。
【０００２】
【従来の技術】
一般に、原稿中の色（有彩）画素や黒（無彩）画素を検出する際には、ＲＧＢの読み取りずれがデジタルサンプリングや機械的精度のために存在するので、正確に検出することができない。そこで、従来では、位置ずれがないように、平滑化して補正したり、位置ずれを考慮したパターンマッチングをしていた。また、色を判定する際に有彩／無彩画素を正確に判定するために、画素を抽出するために色々な抽出方法が提案されている。
【０００３】
【発明が解決しようとする課題】
ところで、ＲＧＢの多値画像データを複数ライン蓄えて平滑化して補正することは、多値データのｂｉｔ数＋参照ライン数を参照する必要があるので、２値データを比べると非常に多くのメモリを必要とする。また、読み取り位置ずれを考慮したパターンを作っても、局所的な変動により誤判定を起こし易い。
【０００４】
また、原稿画像そのものでなく、複数色の可視の色材のうちの人間の目に識別しにくい色の色材を用いて付加されたパターン、例えば、特許第２、６１４、３６９号のような装置固有の識別情報を表す特定パターン（以後、追跡パターンとする）が画像中に存在する場合、そのパターンを誤って識別して色画素として誤判定するという問題点がある。
【０００５】
なお、他の従来例として、特開平５−２３６２８７号公報ではＲＧＢの多値画像データを複数ライン蓄えて平滑化して、画像データのずれを補正している。また、画像を抽出して２値化する際に、明るい所と暗い所で、抽出する画素の閾値を切替えている。特開平５−３００３９０号公報では非線形データを用いて正確に画素を抽出している。特開平５ー２４４４２０号公報では、画像データを色相判定して色画素を抽出をしている。特開平９ー２４７４８１号公報ではｃｍｙのプレーンで、色（有彩）網点か黒（無彩）網点の判定をしているが、ＲＧＢの読み取り位置のずれには対応することができない。
【０００６】
本発明は上記従来例の問題点に鑑み、少ないメモリ容量で、かつ読み取り位置のずれや色画素と誤判定するパターンに影響を受けることなく色画素を正確に検出することができる画像処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
第１の手段は上記目的を達成するために、多値のカラー画像データを画素毎にｃ、ｍ、ｙの３ビットデータに変換する色変換手段と、前記色変換手段により変換されたｃ、ｍ、ｙの３ビットデータをｃ、ｍ、ｙ毎のプレーンに展開するプレーン展開手段と、前記プレーン展開手段により展開されたｃ、ｍ、ｙのプレーン毎にそれぞれＭ×Ｎ画素のマトリクスにおけるｃ、ｍ、ｙの各データが「１」の数をカウントするカウント手段と、前記ｃ、ｍ、ｙの各カウント値の最大値と最小値の差が第１の閾値以上であり、かつ最小値が第２の閾値未満の場合にそのマトリクスにおける注目画素を色画素候補として判定する色画素候補判定手段と、前記ｃ、ｍ、ｙのプレーン毎にそれぞれＭ×Ｎ画素のマトリクスにおいて色画素と誤判定するパターンとマッチングして一致しない場合にそのマトリクスにおける注目画素を色画素候補として判定するパターンマッチング手段と、前記色画素候補判定手段及びパターンマッチング手段により色画素候補と判定された注目画素を色画素として判定する色画素判定手段とを備えたことを特徴とする。
【０００８】
第２の手段は、第１の手段において前記色変換手段が、多値のＲＧＢカラー画像データに基づいて各色相境界を求め、この各色相境界と多値のＲＧＢデータの最大値と最小値の差に基づいてｃ、ｍ、ｙの３ビットデータに変換することを特徴とする。
【０００９】
第３の手段は、第２の手段において前記色変換手段が、多値のＲＧＢデータの最大値と最小値の差とＣ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ、ＢＫ、Ｗ毎に異なる閾値を比較して比較結果の差に基づいてｃ、ｍ、ｙの３ビットデータに変換することを特徴とする。
【００１０】
第４の手段は、第１ないし第３の手段において前記パターンマッチング手段がマッチングするパターンが人間の視覚では目につきにくい色を判定するパターンであることを特徴とする。
【００１１】
第５の手段は、第１ないし第４の手段において前記パターンマッチング手段がマッチングするパターンが原稿を複写した装置固有の追跡パターンであることを特徴とする。
【００１２】
第６の手段は、第１ないし第５の手段において前記パターンマッチング手段が、白地により囲まれている領域のみをパターンマッチングすることを特徴とする。
【００１３】
第７の手段は、第１ないし第６の手段において前記カウント手段、色画素候補判定手段、パターンマッチング手段及び色画素判定手段を更に別系統設け、これにより原稿がカラー原稿か白黒原稿かを判定することを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。なお、本発明は色判定部３０２（図１３、図１６〜図２０）として記載されている。
【００１５】
図１は実施の形態１の画像処理装置の概略ブロック図を示し、この装置は、原稿から画像データを読み取り、この読み取り画像データ（アナログ信号）をデジタルデータに変換して出力する原稿読取部１０１と、原稿読取部１０１で読み取った画像データ（デジタルデータ）に各種補正処理等を施すと共に、線画認識・色判定等の原稿認識を行う画像処理部１０２と、画像処理部１０２からの画像データに基づいて記録紙に画像を記録する画像記録部１０３とから構成されているる。ここでは、原稿読取部１０１でＲ（レッド）・Ｇ（グリーン）・Ｂ（ブルー）の３色のカラー画像データ（以下、ＲＧＢデータと記載する）を読み取って、画像処理部１０２でＲＧＢデータをＣ（シアン）・Ｍ（マゼンタ）・（イエロー）・Ｂｋ（ブラック）の４色のカラー画像データ（以下、ＣＭＹＢｋデータと記載する）に色変換し、画像記録部１０３でＣＭＹＢｋデータに基づいて記録紙にカラー画像を出力するものとして説明する。
【００１６】
図２は画像処理部１０２の詳細なブロック図を示し、原稿読取部１０１からＲＧＢデータ（デジタルデータ）を入力し、ＲＧＢデータのグレーバランスの補正を行うと共に、反射率データ（ＲＧＢデータ）を濃度データ（ＲＧＢデータ）に変換するＲＧＢγ補正部２０１と、原稿読取部１０１から入力したＲＧＢデータに基づいて文字領域か絵柄領域かを判定してその判定信号であるＣ／Ｐ信号を次段のＲＧＢフィルタ部２０４に出力すると共に、原稿領域の有彩領域か無彩領域かを判定してその判定信号であるＢ／Ｃ信号をＲＧＢフィルタ部２０４に出力する原稿認識部２０２を有する。
【００１７】
さらに画像処理部１０２は、ＲＧＢγ補正部２０１からＲＧＢデータを入力し、原稿認識部２０２の出力結果と同期をとるためにＲＧＢデータを遅延させる遅延部２０３と、ＲＧＢデータにＭＴＦ補正を行うＲＧＢフィルタ部２０４と、ＲＧＢデータを一次のマスキング等でＣＭＹデータに変換する色補正部２０５と、ＣＭＹデータの共通部分をＵＣＲ（加色除去）処理してＢｋデータを生成するＵＣＲ部２０６と、主走査方向の拡大・縮小または等倍処理を施す変倍部２０７と、平滑化処理や鮮鋭化処理を行うＣＭＹＢｋフィルタ部２０８と、画像記録部１０３の周波数特性に応じてγ補正を行うＣＭＹＢｋγ補正部２０９と、ディザ処理・誤差拡散処理等の量子化を行う階調処理部２１０を有する。
【００１８】
ここで、原稿認識部２０２から出力されるＣ／Ｐ信号は２ビット信号（１０進０〜３）であり、Ｃ／Ｐ信号＝３が文字領域を示し、Ｃ／Ｐ信号＝１が絵柄上の文字、Ｃ／Ｐ信号＝０が絵柄領域を示す。このＣ／Ｐ信号は、ＲＧＢフィルタ部２０４、色補正部２０５、ＵＣＲ部２０６、変倍部２０７、ＣＭＹＢｋフィルタ部２０８、ＣＭＹＢｋγ補正部２０９および階調処理部２１０にカスケード接続され、画像データに同期して信号ＩＭＧを出力する。Ｂ／Ｃ信号（１ビット信号）のロジックは、Ｈで無彩領域、Ｌで有彩領域を示す。このＢ／Ｃ信号は、ＲＧＢフィルタ部２０４、色補正部２０５、ＵＣＲ部２０６にカスケード接続され、画像データに同期して出力する。
【００１９】
ＲＧＢフィルタ部２０４はＲＧＢデータをＭＴＦ補正するフィルタであってＮ×Ｎのマトリックスで構成され、Ｃ／Ｐ信号＝３（文字領域）の時には鮮鋭化処理を行い、Ｃ／Ｐ信号＝０（絵柄領域）の時には平滑化処理を行い、Ｃ／Ｐ信号＝１（絵柄上の文字）の時には入力データを処理せず、そのまま出力する。
【００２０】
ＵＣＲ部２０６は画像データの色再現を向上させるためのものであり、色補正部２０５から入力したＣＭＹデータの共通部分をＵＣＲ（加色除去）処理してＢｋデータを生成し、ＣＭＹＢｋデータを出力する。ここで、Ｃ／Ｐ信号＝３以外（絵柄上の文字、絵柄領域）の時はスケルトンブラックのＢｋ生成を行い、Ｃ／Ｐ信号＝３（文字領域）の時はフルブラック処理を行う。さらにＣ／Ｐ信号＝３（文字領域）かつＢ／Ｃ信号がＨ（無彩領域）の時は、Ｃ・Ｍ・Ｙのデータをイレースする。これは、黒文字の時、黒成分のみで表現するためである。また、出力信号ＩＭＧは、Ｃ・Ｍ・Ｙ・Ｂｋのうち一色を出力する面順次の一色である。すなわち、４回原稿読み取りを行うことにより、フルカラー（４色）データを生成する。
【００２１】
ＣＭＹＢｋフィルタ部２０８は画像記録部１０３の周波数特性やＣ／Ｐ信号に応じてＮ×Ｎの空間フィルタを用い、平滑化や鮮鋭化処理を行う。ＣＭＹＢｋγ補正部２０９は、画像記録部１０３の周波数特性やＣ／Ｐ信号に応じてγカーブを変更して、ＣＭＹＢｋデータをγ補正処理する。また、Ｃ／Ｐ信号＝０（絵柄領域）の時は画像を忠実に再現したγカーブを用い、Ｃ／Ｐ信号＝０以外の時はγカーブを立たせてコントラストを強調する。階調処理部２１０は画像記録部１０３の階調特性やＣ／Ｐ信号に応じてディザ処理等の量子化を行う。Ｃ／Ｐ信号＝０（絵柄領域）の時は階調重視の処理を行い、Ｃ／Ｐ信号＝０以外の時は解像力重視の処理を行う。
【００２２】
上記画像処理部１０２の各部の構成より明らかなように、画像処理部１０２では、絵柄処理（Ｃ／Ｐ信号＝０）の時は、ＲＧＢフィルタ部２０４で平滑化処理を行い、ＵＣＲ部２０６でスケルトンブラックの処理を行い、ＣＭＹＢｋγ補正部２０９ではリニア（階調性）を重視したカーブを選択し、ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では階調を重視した処理を行う。
【００２３】
一方、文字処理（Ｃ／Ｐ信号＝３）の時は、ＲＧＢフィルタ部２０４で強調処理を行い、ＵＣＲ部２０６でフルブラック処理を行い、ＣＭＹＢｋγ補正部２０９ではコントラストを重視したカーブを選択し、ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では解像度を重視した処理を行う。
【００２４】
また、黒文字処理（Ｃ／Ｐ信号＝３でＢ／Ｃ信号＝Ｈ）として、Ｂｋを除くＣＭＹ時には、ＣＭＹデータを印字しない。これは、黒文字の周りが位置ずれのために色付くのを防ぐためである。また、この時のＢｋデータのＲＧＢフィルタは色文字のときより、強めにおこなってくっきりさせても良い。
【００２５】
さらに絵柄処理（Ｃ／Ｐ信号＝１）の時は、ＲＧＢフィルタ部２０４で弱強調処理または入力データをそのまま出力するスルー処理を行い、ＵＣＲ部２０６でフルブラック処理を行い、ＣＭＹＢｋγ補正部２０９ではコントラストを重視したカーブを選択し、ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では解像度を重視した処理を行う。ここでは黒文字処理のような処理を行わない。このように画像処理部１０２では、絵柄、文字のエッヂ、絵柄上の文字の３種の処理を行うことができる。
【００２６】
本発明の要部である原稿認識部２０２のブロック構成図を示す。原稿認識部２０２は大別すると、線画らしさを検出する線画認識部３０１と、原稿の特定領域が有彩あるか無彩であるかを判定する色判定部３０２とから構成される。なお、ここでは、原稿読取部１０１の読み取り密度が４００ｄｐｉ程度の場合を例として説明する。
【００２７】
線画認識部３０１はＣ／Ｐとして２ビットの信号Ｃ／Ｐ・Ａ、Ｃ／Ｐ・Ｂを出力し、その出力ロジックは、線画のエッヂである場合にＣ／Ｐ＝３（Ｃ／Ｐ・Ａ＝Ｃ／Ｐ・Ｂ＝１）を出力し、絵柄上の線画のエッヂである場合にＣ／Ｐ＝１（Ｃ／Ｐ・Ａ＝０、Ｃ／Ｐ・Ｂ＝１）を出力し、それ以外の場合にはＣ／Ｐ＝０（Ｃ／Ｐ・Ａ＝Ｃ／Ｐ・Ｂ＝０）を出力する。
【００２８】
線画認識部３０１は詳しくは、モノクロ化部３０３と、ラプラシアン部３０４と、パターンマッチング部３０５Ａ、３０５Ｂと、孤立点除去部３０６Ａ、３０６Ｂと、画素密度変換部３０７Ａ、３０７Ｂと、ページメモリ３０８Ａ、３０８Ｂと、セレクタ３０９Ａ、３０９Ｂと、孤立ブロック除去部３１０Ａ、３１０Ｂと、膨張部３１１Ａ、３１１Ｂとから構成される。
【００２９】
更に原稿認識部３０１では、色判定部３０２により色画素か否かと、カラー原稿か白黒原稿かの判定を行っている。自動カラー選択モード時において、第１スキャン（ＢＫ）作像時にカラー原稿か白黒原稿かを判定して、白黒原稿判定が出た時は１回スキャンで終了し、カラー原稿時には４回スキャンをする。色判定部３０２が出力するＢ／Ｃ信号の出力ロジックは、有彩領域であるとＬを出力し、無彩領域であるとＨを出力する。出力結果は、４×４画素を１画素に対応させた信号であり、以下において出力結果の単位を１ブロックとする。なお、色判定部３０２は後で詳しく説明する。
【００３０】
以上の構成において、線画認識部３０１の各部の動作について詳細に説明する。線画認識部３０１に入力されたＲＧＢデータは、先ず、モノクロ化部３０３において輝度データに変換され、モノクロ信号となる。ただし、輝度データでなくとも、ＲＧＢデータの中で最も濃いデータを選択し、モノクロ信号としても良く、またはＧデータを輝度データとして用い、モノクロ信号としても良い。何れの場合も、モノクロ化部３０３から出力される出力データは、数字が大きいと濃く、小さいと薄いことを表す。
【００３１】
ラプラシアン部３０４は、モノクロ化部３０３からのモノクロ信号に基づいて線画のエッヂを抽出するとともに、白領域と黒領域とを検出する。白領域を検出することにより、白地上の線画の抽出のデータ（細線候補）とする。ここで、図４の記号化されたマトリックスを用いて白領域検出の動作について説明する。例えば、白領域のマトリックスを３×３とすると、次のようになる。
【００３２】
0003857494.tif 000002
注目画素を含んで周辺データが閾値ｔｈｗより小さい時、白領域候補とする。ここで、太線用と細線用と異なる値を使用する。太線用白領域候補は、一般的な白地の値を設定する。細線用白領域候補は、一般的な白地の値よりもやや低い値（白寄りの値）にする。細線用白領域候補の方を白寄りにするのは、絵柄（印刷物の網点や複写機の万線）のハイライト（明るい方）が白領域候補となるのを避けるためである。このパターンは直交パターンの例を示すが、斜めなどのパターンを追加しても良い。
【００３３】
さらに、白領域候補から、白領域を算出するために以下のようにラプラシアンを求める。
【００３４】
ｘ＝（ａ22×２）−（ａ21＋ａ23）×ｉ
ｘ＝((ａ22×４）−（ａ11＋ａ13＋ａ31＋ａ33))×ｉ／２＋ｘ
ｘ＝（ａ22×２）−（ａ12＋ａ32）＋ｘ
ｉは主走査と副走査のＭＴＦの違いや、変倍時の補正をする重み係数である。この時のｘの値がある値Ｎの範囲ならば白領域とする。式で記述すると以下のようになる。
【００３５】
−Ｎ＜ｘ＜Ｎ
ここでは、太線用の閾値と細線用の閾値とを分けても分けなくても良い。このようにして、細線用白領域と太線用白領域とを算出する。これによって、絵柄上のハイライト側の小網点や万線パターンを抽出しないように除去している。
【００３６】
次に、太線用白領域の補正について説明する。例えば、白黒反転した文字（白が文字で周辺が黒）の画像の際に、複写機のような光学的読取装置の場合、フレア（白一点でなく、周辺に黒の影響を受ける）等で、白データが通常より黒よりになる場合がある。このため、以下の補正を行う。
【００３７】
例えば白領域のマトリックスを３×３とすると、次のようになる。
【００３８】
0003857494.tif 000003
これを補正白領域候補として、上述したラプラシアンで補正白領域を算出する。ここでは、ｔｈｗは太線より黒よりの値であり、Ｎは上述した太線用白領域の値より小さくする。Ｎを小さくするのは、白データの変化量の少ない安定したデータを抽出するためである。ここで抽出した補正白領域の結果を上述した太線用白領域に補正し、太線用補正白領域とする。すなわち、補正白領域か、太線用白領域であれば、太線用補正白領域となる。ここでも、絵柄上のハイライト側の小網点や万線パターンを抽出しないように除去している。
【００３９】
次に黒領域を検出することにより、黒領域上の線画の抽出データとする。ここで、図４の記号化されたマトリックスを用いて黒領域検出の動作について説明する。例えば黒領域のマトリックスを３×３とすると、次のようになる。
【００４０】
0003857494.tif 000004
注目画素を含んで周辺データが閾値ｔｈｂより小さい時、黒領域候補とする。黒領域候補は、一般的な黒の値（換言すれば、文字として強調したい濃度）を設定する。このパターンは直交パターンの例を示すが、斜めなどのパターンを追加しても良い。
【００４１】
さらに、黒領域候補から黒領域を算出するために以下のようにラプラシアンを求める。
【００４２】
ｘ＝（ａ22×２）−（ａ21＋ａ23）×ｉ
ｘ＝((ａ22×４）−（ａ11＋ａ13＋ａ31＋ａ33))×ｉ／２＋ｘ
ｘ＝（ａ22×２）−（ａ12＋ａ32）＋ｘ
ここで、ｉは主走査と副走査のＭＴＦの違いや、変倍時の補正をする重み係数であり、前述した白領域の抽出のときと同様の式で良い。この時のｘの値がある値Ｎの範囲ならば黒領域とする。式で記述すると以下のようになる。
【００４３】
−Ｎ＜ｘ＜  Ｎ
この結果を黒領域とする。これによって、絵柄上のシャドウ側の網点や万線パターンを抽出しないように除去している。
【００４４】
また、エッヂ量抽出は以下の式による。
【００４５】
ｘ＝（ａ22×２）−（ａ21＋ａ23）×ｉ
ｘ＝((ａ22×４）−（ａ11＋ａ13＋ａ31＋ａ33))×ｉ／２＋ｘ
ｘ＝（ａ22×２）−（ａ12＋ａ32）＋ｘ
ここで、ｉは選択的な係数であり、ハードウェアを設計する際にゲート規模が小さくなるような係数、例えば、１、１．１１５、１．２５、１．３７５、１．５、１．６２５、１．１７５、１．８７５、２にしている（固定小数点演算）。このようにしておくことにより、主走査と副走査のＭＴＦ（光学系と走行系）等のぼけを修正する。
【００４６】
一般に、主走査と副走査のＭＴＦは異なっており、さらに副走査の変倍は読取装置の読み取り面積（速度）を可変することにより行っているため、副走査の変倍率によりＭＴＦは異なる。ところが、実施の形態１では、図２で示したように、主走査変倍（変倍部２０７）が原稿認識部２０２の後に配設されているので、特に気にすることはない。さらに副走査の倍率が大きい時、例えば２００％の時は、次にのようにエッヂ量を求めるようにマトリックスを選択可能にしてある。
【００４７】
ｘ＝（ａ22×２）−（ａ21＋ａ23）×ｉ
ｘ＝((ａ22×４）−（ａ11＋ａ13＋ａ31＋ａ33))×ｉ／２＋ｘ
ｘ＝（ａ22×２）−（ａ12＋ａ32）＋ｘ
このようにすることにより、副走査の変倍処理に対応している。前述したようにラプラシアン部３０４は、白領域信号と黒領域信号とエッヂ量を出力する。白領域信号（太線用と細線用）はＨで白領域を示し、黒領域信号はＨで黒領域を示す。
【００４８】
図５は線画のレベルを示し、白領域と黒領域と閾値との関係を示す概念図である。図５において、ＴＨＢは黒領域の閾値、Ｔｈｗ１は白領域の細線用閾値、Ｔｈｗ２は白領域の太線用閾値、Ｔｈｗ３は白領域の補正用閾値を示す。また図６はエッヂ量ｘの関係を示す説明図である。
【００４９】
次にパターンマッチング部３０５Ａ、３０５Ｂの動作について説明する。パターンマッチング部３０５Ａでは、黒領域周辺の白領域を抽出する。ここで白領域パターン（Ｗ）は、補正太線用白領域の信号であり、黒パターン（Ｋ）は黒領域信号とする。パターン例としては、下記の（７×７）のようになる。
【００５０】
(k1２  AND k1３  AND k1４  AND k2２  AND k2３  AND k2４  AND k3２  AND k3３  AND k3４     AND ((w52 AND w53 AND w54) or (w6２  AND w6３  AND w64)
or (w12 AND w13 AND w14) or (w0２  AND w0３  AND w04)))
or
(k2１  AND k3１  AND k4１  AND k2２  AND k3２  AND k4２  AND k2３  AND k3３  AND k4４     AND ((w25 AND w35 AND w45) or (w2６  AND w3６  AND w46)
or (w21 AND w31 AND w41) or (w2０  AND w3０  AND w40)))
上記の例では、水平成分、垂直成分のみで示したが、同様に斜め成分のパターンも抽出する。このように黒領域上の白領域を抽出する。黒領域が多いので網点を線画と誤認識することなく、黒領域の線画を抽出することが可能となる。また、黒領域、太線補正用白領域、細線白領域の大小関係を利用してコード化しても良い。コード化の例として、黒領域をＢ、太線補正用白領域をＷ１、細線白領域をＷ２として説明する。この場合、コード化しないと３ビット×ｎラインとなるが、次のようにコード化すると２ビット×ｎラインとなる。
【００５１】
Ｂの時                      →コード＝１
Ｗ２の時                    →コード＝２
Ｗ１でかつＷ２でない時      →コード＝３
ＢでもＷ１でもＷ２でもない時→コード＝０
このコードは０〜３であるので２ビットで表現することができ、コードを展開する時は逆の処理を行えば良い。また、大小関係は固定でなくとも良く、入れ替えることができるようにした方が良いことは勿論である。
【００５２】
なお、処理の流れは、図７および図８のフローチャートで示すようになる。注目画素を図９に示すように設定した時に、図７のように主走査方向に処理を実行して終了する。副走査方向に注目画素を＋１とし、主走査方向に再び処理を行う。ここで、図８のフローチャートを参照してパターンマッチング処理（図７のパターンマッチング処理）について説明する。前述したパターンに一致するか否かパターンマッチングを行い（Ｓ８０１）、一致すると出力ＰＭ１（図２参照）はＨ（ｏｎ）を出力し（Ｓ８０２）、不一致であれば、出力ＰＭ１はＬ（ｏｆｆ）を出力する（Ｓ８０３）。パターンマッチング部３０５Ａでは、上記の処理により、線画の太線部分のエッヂを抽出する。
【００５３】
パターンマッチング部３０５Ｂは細線の検出を行う。細線とは、線幅が１ｍｍ以下で構成されている文字および線画を意味する。ここで黒パターン（ｋ）は、黒領域またはエッヂ量が閾値ＴＨＲＢ（図６参照）より大きいものをＨとする。また、白パターン（ｗ）は、細線用白領域またはエッヂ量が閾値ＴＨＲＷより小さい（マイナス成分であるので絶対値は大きい）ものをＨとする。なお、倍率や、原稿種類（カラー、白黒、印刷写真、印画紙写真、複写原稿、地図等）、調整キー等で変更するようにしても良い。すなわち、エッヂ量成分で補正するのは細線のコントラストを上げるためである。
【００５４】
細線のパターンの例としては、下記の（７×７）のようになる。
【００５５】
((w22 AND w23 AND w24) or (w0２  AND w0３  AND w04)
AND w1２  AND w1３  AND w1４
AND k3２  AND k3３  AND k3４
AND w5２  AND w5３  AND w5４
AND (w42 AND w43 AND w44) or (w6２  AND w6３  AND w64))
or
((w22 AND w32 AND w42) or (w2０  AND w3０  AND w40)
AND w2１  AND w3１  AND w4１
AND k2３  AND k3３  AND k4３
AND w2５  AND w3５  AND w4５
AND (w24 AND w34 AND w44) or (w2６  AND w3６  AND w46))
or
((w12 AND w13 AND w14) or (w0２  AND w0３  AND w04)
AND w3２  AND w3３  AND w3４
AND ((k2２  AND k2３  AND k24) or (k42 AND k43 AND k44))
AND (w52 AND w53 AND w54) or (w6２  AND w6３  AND w64))
or
((w21 AND w31 AND w41) or (w2０  AND w3０  AND w40)
AND w2３  AND w3３  AND w4３
AND ((k2２  AND k3２  AND k42) or (k24 AND k34 AND k44))
AND (w25 AND w35 AND w45) or (w2６  AND w3６  AND w46))
ここでは、水平成分、垂直成分のみで示したが、同様に斜め成分のパターンも抽出する。このように黒パターンの両側が白パターンで挟まれている場合に、細線候補として抽出する。
【００５６】
なお、処理の流れは、図７および図１０のフローチャートで示すようになる。注目画素を図９に示すように設定した時に、図７のように主走査方向に処理を実行して終了する。副走査方向に注目画素を＋１とし、主走査方向に再び処理を行う。ここで、図１０のフローチャートを参照してパターンマッチング部３０５Ｂのパターンマッチング処理について説明する。なお、ＭＦＢは状態変数であり、主走査の先端では０である。ＳＦＢ（ｉ）は、主走査方向の１ライン分の配列であり、１ライン前の状態変数である。
【００５７】
先ず、現在の状態変数ＭＦＢと１ライン前の状態変数ＳＦＢ（ｉ）とを比較する（Ｓ１１）。ここでＭＦＢ＜ＳＦＢ（ｉ）であれば、ＭＦＢ＝ＳＦＢ（ｉ）として（Ｓ１２）、ステップＳ１２へ進み、そうでなければ、そのままステップＳ１２へ進む。ステップＳ１２では、パターンマッチング部３０５Ａからの出力ＰＭ１がｏｎであるか否かを判定し、ＰＭ１がｏｎでなければ（すなわち、ｏｆｆであれば）、ステップＳ１８へ進む。一方、ＰＭ１がｏｎであれば、ステップＳ１４〜Ｓ１７でＭＦＢの値が０より大きければ、その値を変更する。具体的には、ＭＦＢが８より大きければ１６に設定し（Ｓ１４、Ｓ１５）、ＭＦＢが０より大きく８より小さい場合には８に設定する。
【００５８】
ステップＳ１８では、白地領域であるか否かを判定する。ここでの白地領域は、ラプラシアン部３０４の出力の細線用白領域をａとして、次のようになる時に白地領域と判定する。ステップＳ１８において、白地領域と判定された場合、パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ１９）、ＭＦＢ＝１６に設定し（Ｓ２０）、ステップＳ３６へ進む。
【００５９】
一方、ステップＳ１８において、白地領域でないと判定された場合、前述した細線パターンと一致するか否かによって細線パターンであるか否かを判定し（Ｓ２１）、細線パターンでない場合には、パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ２２）、ＭＦＢ＝０であるか否かを判定し（Ｓ２３）、ＭＦＢ＝０であればステップＳ３６へ進み、ＭＦＢ＝０でなければ、ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４）、ステップＳ３６へ進む。
【００６０】
また、ステップＳ２１において細線パターンである場合には、ＭＦＢ＞８であるか否か判定し（Ｓ２５）、８より大きければ、パターンマッチング部３０５Ｂの出力１および出力２にＨ（ｏｎ）を出力し（Ｓ２６）、さらにステップＳ２８、Ｓ２９で、ＭＦＢ＞１６であればＭＦＢ＝１６に設定し、ＭＦＢ＞１６でなければそのままステップＳ３６へ進む。
【００６１】
また、ステップＳ２５で８より大きくなければ、ＭＦＢ＝０であるか否かを判定し（Ｓ３０）、ＭＦＢ＝０であれば、パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ３１）、ステップＳ３６へ進み、ＭＦＢ＝０でなければ、パターンマッチング部３０５Ｂの出力１にＬ（ｏｆｆ）を出力し、出力２にＨ（ｏｎ）を出力し（Ｓ３２）、ＭＦＢ＝ＭＦＢ＋４（ただし、ＭＦＢが１６以上になる場合には、１６にする）を設定して（Ｓ３３）、さらにステップＳ３４、Ｓ３５で、ＭＦＢ＞８であればＭＦＢ＝８に設定し、ＭＦＢ＞８でなければそのままステップＳ３６へ進む。
【００６２】
ステップＳ３６では、ＳＦＢ（ｉ）＝ＭＦＢに設定し、１ライン前の状態変数ＳＦＢ（ｉ）を更新する。次に、ステップＳ３７で、ＳＦＢ（ｉ）＞ＳＦＢ（ｉ−１）を判定する。これは更新した１ライン前のデータと、更新した１ライン１画素前のデータとの比較である。１ライン前のデータＳＦＢ（ｉ）が大きければ、ＳＦＢ（ｉ−１）＝ＳＦＢ（ｉ）を設定し（Ｓ３８）、処理を終了する。
【００６３】
上記の処理を主走査方向に順次行う。すなわち、状態変数ＭＦＢは、順次、図１１の矢印の方向に伝搬する。そして、ステップＳ３６により矢印の方向に伝搬し、ステップＳ３７により矢印の方向に伝搬する。このことより、ステップＳ１８の白地領域判定またはステップＳ１２のパターンマッチングで、状態変数をセットすることにより、白地上の極細線を検出することが可能となり、絵柄上の網点を誤抽出することがなくなる。さらにステップＳ１４の細線パターンのマッチングにより、状態変数を再セットするので、文字の塊も良好に抽出することが可能となる。また、状態変数により、パターンマッチング部３０５Ｂの出力１、出力２を異ならせて出力するので、白地上の文字と網点上の文字を切りわけて出力することが可能となる。
【００６４】
図１１から明らかなように、副走査の矢印方向は０または＋（プラス）方向であるので、ライン単位（主走査１ライン毎）に行う処理には、１ライン分の状態変数とパターンマッチングで必要なライン数のメモリを備えるだけで足り、ページメモリ等を備えることなく容易に実現することができる。
【００６５】
なお、パターンマッチング部３０５Ｂは、図３に示すように、出力１を孤立点除去部３０６Ａに出力し、出力２を孤立点除去部３０６Ｂに出力する。出力１と出力２との違いは状態変数の違いである。これによって、例えば図１２に示すように、罫線の枠の内部に文字（あ、い、う等）が記述されており、さらに枠の内部が網点の場合、罫線の枠は出力１、出力２とも細線と判断して、網点上の文字は状態変数の大きい出力２のみが細線と判断することが可能となる。
【００６６】
次に、孤立点除去部３０６Ａ、３０６Ｂについて説明する。孤立点除去部３０６Ａ、３０６Ｂは、どちらも同一の回路からなる。孤立点除去部３０６Ａの入力データは、パターンマッチング部３０５Ａの出力（ＰＭ１）とパターンマッチング部３０５Ｂの出力（出力１）からなり、孤立点除去部３０６Ｂの入力データは、パターンマッチング部３０５Ａの出力（ＰＭ１）とパターンマッチング部３０５Ｂの出力（出力２）からなる。孤立点除去部３０６Ａ、３０６Ｂにおいて、線画は連続した線からなるので、孤立点を除去する。孤立点とは、網点を線画と誤検出した場合に生じる。
【００６７】
パターンマッチング部３０５Ａ、パターンマッチング部３０５Ｂのいずれか１つが抽出パターンであれば抽出パターンとする。例えば、４×４のパターンマッチングにおいて、抽出パターンが２以上ならば、中心画素（ａ22、ａ33でも良い）を抽出パターンとして補正して出力Ｈを出力する（抽出パターンとする）。このことにより、孤立点を除去すると同時に、膨張（拡大）している。図３に示すように、孤立点除去部３０６Ａ、３０６Ｂの出力は、それぞれＰＭ２、ＰＭ３である。
【００６８】
次に、画素密度変換部３０７Ａ、３０７Ｂについて説明する。画素密度変換部３０７Ａ、３０７Ｂは、どちらも同一ロジック（回路）である。現在まで、画像単位で行っていたが、ブロック単位（４×４）で処理を行うため、画素単位のデータをブロック単位に変換する。ここでは、単純に４×４の単純間引きをするが、孤立点除去部３０６Ａ、３０６Ｂで実質上４×４の膨張も行っているのでデータの欠落は生じない。
【００６９】
次に、ページメモリ３０８Ａ、３０８Ｂおよびページメモリ３１３（色判定部３０２のページメモリ）について説明する。ページメモリ３０８Ａ、３０８Ｂおよび３１３の回路は、いずれも同一機能である。ページメモリ３０８Ａは画素密度変換部３０７Ａの出力結果を入力し、ページメモリ３０８Ｂは画素密度変換部３０７Ｂの出力結果を入力し、ページメモリ３１３は色判定回路３１２の出力結果を入力する。
【００７０】
ページメモリ３０８Ａ、３０８Ｂおよび３１３は、主走査方向１２００ドット×副走査方向１７３６ライン（約２ＭＢ）で構成され、解像度を主・副走査方向共に１６ドット／ｍｍとするＡ３サイズおよびＤＬＴ用紙より大きなサイズを有する。第１スキャン時に入力データをブロック（４×４画素）単位でページメモリ３０８Ａ、３０８Ｂおよび３１３に記憶すると同時に、セレクタ３０９Ａ、３０９Ｂおよび３１４を介して出力される。第２スキャン以降では、第１スキャン時にページメモリ３０８Ａ、３０８Ｂおよび３１３に記憶されている判定結果がセレクタ３０９Ａ、３０９Ｂおよび３１４を介して出力される。すなわち、第１スキャンにおける色判定結果や線画抽出の処理データが第２スキャン以降において用いられるので、スキャン毎の色判定結果、線画抽出結果（Ｃ／Ｐ信号）のパラツキをなくすことができる。
【００７１】
次に、孤立ブロック除去部３１０Ａ、３１０Ｂについて説明する。孤立ブロック除去部３１０Ａ、３１０Ｂは、同一回路で同一機能を示す。例えば、５×５のブロックのマトリックスで、中心ブロックのみがｏｎ（Ｈ）で他がｏｆｆ（Ｌ）である時このブロックは孤立しているので、ｏｆｆとして出力Ｌを出力する。ｏｎとは抽出パターンを意味する。このことにより、周辺データから孤立しているブロックを除去する。
【００７２】
次に、膨張部３１１Ａ、３１１Ｂについて説明する。膨張部３１１Ａ、３１１Ｂは、同一回路で同一機能を示す。ここでは、Ｎ×ＮのＯＲ処理（膨張）をして、その後にＭ×ＭのＡＮＤ処理を行う（縮小）。そして、５×５の補間処理を行う。Ｍ−Ｎが膨張量となる。ＭとＮの関係はＮ＞Ｍである。ここでＯＲ処理をするのは、孤立しているブロックを隣または周辺のブロックと連結させるためである。例として、３×３ブロック（１２×１２画素に対応）の膨張例を示す。
【００７３】
その後に５×５画素のＡＮＤ処理（収縮）を施す。以下にその例を示す。その後に１００ｄｐｉのギザギザが残っているので、補間処理を行う。図１３に補間処理の例を示す。図において実線は１００ｄｐｉの補正前のギザキザを示し、破線が補正後の出力を示す。例えば、５×５のマトリックスにおいて以下のようになる。線画抽出したデータが以下の論理式を満たす時、注目画素ａ22のデータを反映（補正）する。
【００７４】
（パターン１ and！パターン２）
or（パターン３ and！パターン４）
パターン１、２、３、４の詳細は以下のようになる。なお、ここで！は不定演算子を示す。
【００７５】
0003857494.tif 000005
抽出パターンを膨張することにより、文字の交点などを繋ぎ、さらに線画とその周辺を線画処理する。上述のパターンマッチングは十字の交点を抽出できないが、この膨張処理により連結することができる。また、線画とその周辺を線画と見なすのは、黒文字処理と空間フィルタを良好に作用させるためである。
【００７６】
これにより、特にカタログの使用期間・仕様表のように罫線の中に網点があっても良好に罫線を抽出できる。白地を含む罫線を文字として抽出し、網点上の文字は白地上の文字と別の判定結果を出力するので、白地上の文字と網点上の文字を識別して別の処理を行うことが可能となる。
【００７７】
実施の形態２では、実施の形態１の図３で示した線画認識部３０１のパターンマッチング部３０５Ｂの出力の条件を変えたものである。なお、基本的な構成および動作は実施の形態１と同様に付き、ここでは異なる部分のみを説明する。実施の形態１では、パターンマッチング部３０５Ｂで行う細線パターンマッチングにおいて、状態変数によって出力１および出力２を設定しているが、実施の形態２では、さらに出力２の設定条件を追加して絵柄上の文字（罫線）を抽出できるようにするものでる。
【００７８】
図１４は、実施の形態２のパターンマッチング処理（パターンマッチング部３０５Ｂ）のフローチャートを示す。図１０に示した実施の形態１のフローチャートと同一の符号は共通の処理を示すため、ここでは異なる点のみを説明する。ステップＳ２１において、前述した細線パターンであるか否かを判定し、細線パターンでない場合には、以下に示す細線パターン１と一致するか否かを判定する（Ｓ４０）。
【００７９】
細線パターン１は、前述した細線パターンと同一のもの使用するが、同一でなくても良い。ここで黒パターン（ｋ）は、黒領域またはエッヂ量が閾値ＴＨＲＢ（図６参照）より大きいものをＨとする。また、白パターン（ｗ）は、細線用白領域またはエッヂ量が閾値ＴＨＲＷより小さい（マイナス成分であるので絶対値は大きい）ものをＨとする。すなわち、エッヂ量成分で補正するのは細線のコントラストを上げるためである。ＴＨＲＢ、ＴＨＲＷの少なくとも一方は、細線パターンマッチングより抽出し易い値にする。ただし、細線パターンと細線パターン１のパターンマッチングのパターンが異なる時は、抽出結果が細線パターンの方が抽出し易いようにしておく。
【００８０】
ステップＳ４０で、細線パターン１と一致しない場合は、パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ２２）、ＭＦＢ＝０であるか否かを判定し（Ｓ２３）、ＭＦＢ＝０であればステップＳ３６へ進み、ＭＦＢ＝０でなければ、ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４）、ステップＳ３６へ進む。
【００８１】
一方、ステップＳ４０において細線パターン１と一致する場合は、ＭＦＢ＞８であるか否かを判定し（Ｓ４１）、状態変数ＭＦＢが８より大きければ、パターンマッチング部３０５Ｂの出力１にＬ（ｏｆｆ）を出力し、出力２にＨ（ｏｎ）を出力し（Ｓ４３）、ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４）、ステップＳ３６へ進む。また、状態変数ＭＦＢが８より大きくなければ、ＭＦＢ＝０であるか否かを判定し（Ｓ４２）、ＭＦＢ＝０でなければステップＳ３２へ進み、ＭＦＢ＝０であれば、パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ２２）、再度、ＭＦＢ＝０であるか否かを判定し（Ｓ２３）、ＭＦＢ＝０であればステップＳ３６へ進み、ＭＦＢ＝０でなければ、ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４）、ステップＳ３６へ進む。
【００８２】
また、細線パターンマッチングと細線パターンマッチング１、閾値ＴＨＲＷおよびＴＨＲＢは大小関係を利用してコード化しても良い。コード化の例としては、細線パターンのＴＨＲＷ、ＴＨＲＢをそれぞれＴＨＲＷ、ＴＨＲＢとし、細線パターン１のＴＨＲＷ、ＴＨＲＢをそれぞれＴＨＲＷ１、ＴＨＲＢ１として、その大小関係を
ＴＨＲＷ＜ＴＨＲＷ１＜ＴＨＲＢ１＝ＴＨＲＢ
とすると、この場合、コード化しないと４または３ビット×ｎラインとなるが、次のようにコード化すると２ビット×ｎラインとなる。
【００８３】
Ｐ＜ＴＨＲＷ                →コード＝０
ＴＨＲＷ  ＜Ｐ＜ＴＨＲＷ１  →コード＝１
ＴＨＲＷ１＜Ｐ＜ＴＨＲＢ    →コード＝２
ＴＨＲＢ  ＜Ｐ              →コード＝３
ここで、Ｐはエッヂ量である。コード＝０〜３であるので２ビットで表現することができ、コードを展開する時は逆の処理を行えば良い。また、大小関係は固定でなくとも良く、入れ替えることができるようにした方が良いことは勿論である。
【００８４】
これにより、状態変数（ＭＦＢ）を用いて、白地上のパターンと網点や色地上のパターンを切り換えることが可能で、しかも状態変数は共通に使用することができる。また、良好に網点上の文字を抽出することが可能であれば、網点上の文字を抽出する際（図１４のフローチャートのＳ４０）、状態変数を参照しなくも良い（Ｓ４２の判定を常に一致していると判断する）。このような方法で網点上の文字と白地上の文字を分離してやっても良い。
【００８５】
したがって、特にカタログの使用説明・仕様表のように罫線の中に網点があっても良好に罫線を抽出することができる。また、白地を含む罫線を文字として抽出し、網点上の文字は白地上の文字と別の判定を行っているので、実施の形態１よりさらに精度が向上する。白地上の文字と網点上の文字とを区別して、それぞれ別の処理を行うことが可能となる。
【００８６】
図１１において、Ｐ（ｉ、Ｊ＋１）、Ｐ（ｉ＋１、Ｊ）、Ｐ（ｉ＋１、Ｊ−１）の３通りの伝搬方向しかないが、特に、Ｐ（ｉ＋１、Ｊ−１）の方向に関しては、−１だけでなく、−２、−３等を追加して、状態変数の伝搬方向の主走査方向性をなくした方が良い。さらに、画像データ全てをページメモリにもって行う装置においては、状態変数の伝搬方向は全方向（３６０度）にすれば、良いのは言うまでもない。
【００８７】
図１５に示すアンシャープマスキングによるディテール強調効果を施す。図において、（ａ）は処理対象の主信号、（ｂ）はアンシャープ信号、（ｃ）はアンシャープマスク信号、（ｄ）はディテール強調ずみ信号を示している。これらのエッヂ特性例に基づき補正を行う。実施の形態１および実施の形態２では、ラプラシアン部３０４により図１５（ｃ）のアンシャープマスク信号を用いてエッヂ量の補正を行うが、図１５（ｄ）のディテール強調ずみ信号、他の信号を用いて補正しても良い。
【００８８】
また、パターンマッチング部３０５Ａで、白地上の黒（輪郭）を拾う場合には、網点  （網掛け）上の文字は抽出しない。パターンマッチング部３０５Ｂにより、白地上の罫線と、網点上または色地上の罫線を別々に抽出する。例えば、“書”のような込み入った文字もパターンマッチング部３０５Ｂにより抽出する。なお、実施の形態１および実施の形態２における状態変数は、状態変数の上限値を８（網点上の文字）と１６（白地上の文字）で説明したが、いくつであっても構わない。
【００８９】
網点上の文字と白地上の文字の分離方法は、罫線内の網掛けがあり、その中の文字の誤検出を避けるためで、罫線が細いと、文字が近くにある可能性があるからであり、また罫線の幅が太くなるにつれ文字が近くにある可能性が減るからである。
【００９０】
前述した実施の形態１および２により、小さい文字や、線画、白地上の画数の多い文字や網点上の文字を別々に抽出することが可能となる。副走査方向の反映方向が一方向なので、ラスタースキャン方式の読み出し方法で、特にハードウェア化に適し、画像データに容易に反映が可能である。本発明は、線画のエッヂを検出するアルゴリズムであり、特に印刷物特有の網点を検出して除去することはしていないので、ジェネレーション（複写機の複写物）等の網点を含まない原稿にも特に有効である。
【００９１】
抽出したパターンを、画素単位の孤立点除去で小さな領域誤判定を除去し、その後は、大きなブロック単位（４×４）単位で広い範囲で孤立ブロックを除去するので、誤判定を良好に除去できる。さらに、ブロック単位の粗い画素密度を元の画素密度に変換するので、ブロック単位の粗い画素はなくなる。
【００９２】
また、前述した膨張部３１１Ａ、３１１Ｂで、単純な膨張を行うと、孤立した領域が大きくなるだけであるが、本実施の形態１および２のように、膨張量ＸとするとＸ＝Ｍ−Ｎとして、Ｍ画素膨張させて、その後にＮ画素縮小しているので、Ｘ＜Ｍであるから孤立した領域を連結させることができる。さらに膨張させる際に粗い密度で行っているので、換言すれば、粗い密度（ブロック単位）のまま膨張させるので、ハードウェアの量を低減することができる。
【００９３】
また、第１スキャンの結果を第２スキャン以降も用いるので、必ず線画判定結果と色判定結果は一致するので、バラツキなく処理を行うことができる。さらにメモリに記憶するデータは、最終結果ではなくデータ処理中に、処理密度が粗くなった（粗くした）データを記憶するので、メモリに記憶するデー量を低減することができる。
【００９４】
また、線画判定結果と色判定結果の両方を、ページメモリ３０８Ａ、３０８Ｂおよび３１３に記憶する代わりに、例えば、線画判定結果のみを記憶して、色判定結果はスキャン毎のものを用いても良い。これにより、メモリ容量が２ＭＢ×２＝４ＭＢとなるので、市販の４ＭＢのメモリを用いて容易に構成することができる。さらに、ページメモリ３０８Ａを２ＭＢとし、ページメモリ３０８Ｂおよび１３１を４×４ブロックでなく、８×４ブロックとして、ページメモリ３０８Ｂおよび１３１のメモリ容量を１ＭＢとしても、全体のメモリ容量を４ＭＢ（２ＭＢ×２＋１ＭＢ）にすることができる。また、全ての判定結果をメモリに記憶する代わりに、スキャン毎にパラツキの大きいものだけをメモリに記憶するようにしても良い。
【００９５】
＜色判定部３０２＞
次に図１６〜図２０を参照して本発明に係る色判定部３０２について詳しく説明する。色判定部３０２は有彩色を見つけるものであって第１６図に詳しく示す。まず、多値のＲＧＢ入力データを色相分割部３２１により多値のＲ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｂｋ、Ｗの信号に分ける。そして、色相分割の例として、それぞれの色相の境界を求め、この境界境界と、多値のＲＧＢの最大値と最小値の差（以下、ＲＧＢ差）と、Ｒ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｂｋ、Ｗ毎の閾値に基づいてｃｍｙ３ビットに変換する。なお、ここでは、ＲＧＢデータは数字が大きくなると黒くなるものとする。
【００９６】
１）Ｒ−Ｙ色相領域境界（ｒｙ）
Ｒ - 2 * Ｇ + Ｂ > 0の時、ｒｙ＝１、
一致しない時、ｒｙ＝０
２）Ｙ−Ｇ色相領域境界（ｙｇ）
11 * Ｒ - 8 * Ｇ - 3 * Ｂ > 0の時、ｙｇ＝１、
一致しない時ｙｇ＝０
３）Ｇ−Ｃ色相領域境界（ｇｃ）
1 * Ｒ - 5 * Ｇ + 4 * Ｂ < 0の時、ｇｃ＝１、
一致しない時、ｇｃ＝０
４）ＣーＢ色相領域境界（ｃｂ）
8 * Ｒ - 14 * Ｇ + 6 * Ｂ < 0の時、ｃｂ＝１、
一致しない時、ｃｂ＝０
５）ＢーＭ色相領域境界（ｂｍ）
9 * Ｒ - 2 * Ｇ - 7 * Ｂ < 0の時、ｂｍ＝１、
一致しない時、ｂｍ＝０
６）ＭーＲ色相領域境界（ｍｒ）
Ｒ + 5 * Ｇ - 6 * Ｂ < 0の時、ｍｒ＝１、
一致しない時、ｍｒ＝０
７）Ｗ画素判定
(Ｒ < thw) && (Ｇ < thw) && (Ｂ < thw)ならば、
y=m=c=0とする。
【００９７】
８）Ｙ画素画素判定
(ry == 1) && (yg == 0) && (ＲＧＢ差 > thy)ならば、
y=1、m=c=0とする。
【００９８】
９）Ｇ画素判定
(yg == 1) && (gc == 0) && (ＲＧＢ差 > thg)ならば、
c=y=1、m=0とする。
【００９９】
１０）Ｃ画素判定
(gc == 1) && (cb == 0) && (ＲＧＢ差 > thc)ならば、
c=1、m=y=0とする。
【０１００】
１１）Ｂ画素判定
(cb == 1) && (bm == 0) && (ＲＧＢ差 > thb)ならば、
m=c=1、y=0とする。
【０１０１】
１２）Ｍ画素判定
(bm == 1) && (mr == 0) && (ＲＧＢ差 > thm)ならば、
m=1、y=c=0
１３）Ｒ画素判定
(mr == 1) && (ry == 0) && (ＲＧＢ差 > thr)ならば、
y=m=1、c=0
１４）ＢＫ画素判定
７）〜１３）に該当しない時
y=m=c=1
ここで、７）〜１４）の優先順位は、数の小さい方を優先する。閾値ｔｈｗ、ｔｈｙ、ｔｈｍ、ｔｈｃ、ｔｈｒ、ｔｈｇ、ｔｈｂは、複写（処理）前に決まる値である。「ＲＧＢ差」とは１画素内のＲＧＢそれぞれの多値画像データの最大値と最小値の差である。
【０１０２】
色相分割部３２１は出力信号として、ｃ、ｍ、ｙ各々が１ビットの合計３ｂｉｔを出力する。つまり、３ｂｉｔでｃ、ｍ、ｙ、ｒ、ｇ、ｂ、ｂｋを現わしている。ここで、色相毎に閾値をかえているのは、色相領域毎に有彩範囲が異なる時に色相領域に応じた閾値を決定する。この色相分割は、一例であって、どんな式を使用してもよい。
【０１０３】
色相分割部３２１の出力ｃｍｙはそれぞれ、ラインメモリ３２２Ｃ、３２２Ｍ、３２２Ｙに５ラインが蓄えられ、次いで色画素判定部３２３に入力する。色画素判定部３２３の詳細な構成を図１７に示す。図１７において、５ライン分の、ｃ、ｍ、ｙのデータはともにパターンマッチング部３３２とカウント部３３１−１、３３１−２に入力する。
【０１０４】
パターンマッチング部３３２は、まず、色相分割部３２１で判定した５×５画素分の（ｃ、ｍ、ｙ)において、ｃ、ｍ、ｙの全てが１（ｃ＝ｍ＝ｙ＝１）または全てが０（ｃ＝ｍ＝ｙ＝０）以外の画素（色画素）であるパターンをマッチングする。図１８はそのパターン１（１−１〜１−４）を示し、中心画素をｘ、ｙとして以下のようにパターンマッチングを行う。
【０１０５】
＜パターン１−１＞
ary[y+1][x] && ary[y][x] && ary[y-1][x]
＜パターン１−２＞
ary[y][x+1] && ary[y][x] && ary[y][x-1]
＜パターン１−３＞
ary[y+1][x+1] &&  ary[y][x] && ary[y-1][x-1]
＜パターン１−４＞
ary[y+1][x-1] && ary[y][x] && ary[y-1][x+1]
上記のパターン１は孤立点などを拾わないようにするためである。逆に、網点などの小面積の色を検出する際には、中心画素が１（ｃ＝ｍ＝ｙ＝１）または全てが０（ｃ＝ｍ＝ｙ＝０）以外の画素（色画素）であるかで、判定すればよい。
【０１０６】
また、次に、例えば追跡パターンのようなパターンを識別する。色相分割部３２１で判定した５×５画素分の（ｃ、ｍ、ｙ）において、ｃ、ｍ、ｙが全て０のところ（ｗ）とｙ＝１、ｃ＝ｍ＝０のところ（ｙ）のパターンマッチングを行う。図１９はそのパターン２（２−１〜２−４）を示し、以下のようにパターンマッチングを行う。
【０１０７】
0003857494.tif 000006
このとき、図２０に示すようにパターン１と合致し、パターン２と合致しない場合に、注目画素を色画素候補２とする。このように、２つのパターンのマッチングにより、色画素と誤判定する特定パターンを検出しないようにすることができる。
【０１０８】
また、上記のパターン２は、白地に囲まれいてる黄色点を認識するものである。また、これは、カラー複写機などで複写された画像を再度白黒で複写する場合に、色画素と誤判定する追跡パターンなどをパターンマッチングして認識させるためのものである。これにより、特有とするパターンを回避させたいとき、そのパターンのマッチングを行い認識させて、認識したときは色画素候補としないようにする。
【０１０９】
カウント部３３１−１、３３１−２は同一の構成の回路であり、色相判定部３２１で判定した５×５画素分の（ｃ、ｍ、ｙ）の数をプレーン毎にカウントする。そして、カウントしたｃ、ｍ、ｙの最大値と最小値差がｔｈｃｎｔ以上であり、かつカウントしたｃ、ｍ、ｙの最小値がｔｈｍｉｎ未満ならば、色画素候補１とする。ｔｈｃｎｔ、ｔｈｍｉｎは、複写（処理）前に設定する閾値である。
【０１１０】
ここでは、ｙ、ｍ、ｃをプレーン展開して、Ｎ×Ｎのマトリックスにおいてそれぞれのプレーン毎に数を数えて、最小値をブラックと仮定している。これにより、黒画素の読み取りが出ても補正が可能となる。そして、最大値と最小値の差が有彩画素と仮定している。これにより、黒画素が読み取りがずれた画素を補正して、有彩画素を抽出する。すなわち、一定画素の有彩画素があると有彩画素としている。ここで、２つのカウント部３３１−１、３３１−２１があるが、それぞれ、閾値は一緒であってもいいし異なってもいい。詳細は後述する。
【０１１１】
パターンマッチング部３３２とカウント部３３１−１の出力に基づいて、色画素判定部３３３−１は注目画素が色画素候補１でありかつ色画素候補２があれば注目画素を色画素と決定する。次いで色画素判定部３３３−１の出力をブロック化部３３４−１によりブロック化をする。ブロック化とは、４×４画素のマトリックスにおいて２画素以上の色画素があれば、色画素ブロックとして出力する。ブロック化部３３４−１以降の処理は、４×４を１ブロックとしてブロック単位で出力する。次いでブロック化したデータに基づいて、３×３ブロックの孤立点除去部３３５−１により注目画素の隣り合う画素に色画素ブロックがなければ孤立点として除去する。次いで孤立点除去部３３５−１の出力に対して、３×３ブロックの膨張部３３６により色画素ブロックが存在する場合は３ブロック画素を膨張する。膨張するのは、色画素の周辺を黒文字処理をしないようにするためである。ここで、膨張部３３６が出力するＢ／Ｃ信号は、色画素ブロックの時にＬを出力し、それ以外の時はＨを出力する。
【０１１２】
また、色画素判定部３３３−２の出力をブロック化部３３４−２に入力する。動作は、ブロック化部３３４−１と同様であり、以下の処理は、４×４を１ブロックとしてブロック単位で動作する。次いで連続カウント部３３７では、以下のように色画素ブロックの連続性を見て、カラー原稿か白黒原稿かも合わせて判定する。
【０１１３】
0003857494.tif 000007
ＲＡＣＳ１は、複写（処理）前に決まる閾値である。
【０１１４】
連続カウント部３３７ではハードウェアが少なくなるように構成されている。単に連続性をみるので、主走査と副走査の判定条件は違っても問題とならない。
【０１１５】
ここで、色画素判定部３３３−１と３３３−２で分けたのは、黒文字処理のための色画素判定は、誤判定をしても局所的でさほど目立たないからである。しかし、カラー原稿か白黒原稿かの判定は、誤判定をすると原稿全体に影響する。そこで、カウント部３３１−２を独立とした。本来ならば、色相分割部３２１から独立にした方がよいが、色相分割を独立にすると、パターンマッチングのメモリが増えるので好ましくない。そこで、カウント部３３１のパラメータで、色画素のパラメータ変更することにより、メモリ量の増加を少なくしている。
【０１１６】
なお、本実施例では、ＲＧＢデータに対して行ったが、ＲＧＢデータに限定するものではなく、輝度／色差（例えばＬａｂ）などに対して色相判定するようにしてもよい。
【０１１７】
本発明を要約すると、ｙ、ｍ、ｃをプレーン展開して、プレーン毎にＮ×Ｎのマトリックスにおいてそれぞれの数を数えて、最少値をブラックと仮定している（読み取り位置ずれ対策）。そして最大値と最小値の差が有彩画素と仮定している。更に、色はある程度の線パターンを形成していると仮定している。２（８）値データにした後なので、多値データと比較すると非常に少ないメモリ量でＲＧＢ読み取りずれに対応することができる。また、特有のパターンを識別し、それを判断材料として誤判定を防ぐことができる。
【０１１８】
また、正確に色を判定するために、色相判定後に有彩判定をする。また、色相判定毎に有彩判定をするので、色相領域に応じて判定を切替えて高精度に色抽出ができる。さらに、複数の有彩判定をする時に、判定の途中まで、共通に処理するので、３ｂｉｔのプレーンを独立に数えた値の閾値を切替えるので、メモリの増加を少なくすることができる。また、特に誤判定となっている追跡パターンや、人間の目に識別しにくい色材を使った特定パターンを検出し、誤判定とならないようにしている。
【０１１９】
【発明の効果】
以上説明したように請求項１ないし６記載の発明によれば、少ないメモリ容量でかつ読み取り位置のずれや色画素と誤判定するパターンに影響を受けることなく色画素を正確に検出することができる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置の概略を示すブロック図である。
【図２】図１の画像処理部を詳しく示すブロック図である。
【図３】図２の原稿認識部を詳しく示すブロック図である。
【図４】マトリクスの一例を示す説明図である。
【図５】線画の濃度レベルを示す説明図である。
【図６】線画のエッジ量を示す説明図である。
【図７】線画のパターンマッチング処理を示すフローチャートである。
【図８】線画のパターンマッチング処理を示すフローチャートである。
【図９】図７、図８における画素の処理順を示す説明図である。
【図１０】線画のパターンマッチング処理を示すフローチャートである。
【図１１】図１０における状態変数ＭＦＢの伝搬方向を示す説明図である。
【図１２】網点上の文字を示す説明図である。
【図１３】補間処理を示す説明図である。
【図１４】他の実施形態における線画のパターンマッチング処理を示すフローチャートである。
【図１５】アンシャープマスキングによるディテール強調を示すフローチャートである。
【図１６】図３の色判定部を詳しく示すブロック図である。
【図１７】図１６の色画素判定部を詳しく示すブロック図である。
【図１８】図１７の色画素判定部による孤立点判定パターンを示す説明図である。
【図１９】図１７の色画素判定部による黄色判定パターンを示す説明図である。
【図２０】図１７のパターンマッチング部の処理を示すフローチャートである。
【符号の説明】
３０２  色判定部
３２１  色相分割部
３２２Ｃ，３２２Ｍ，３２２Ｙ  メモリ
３２３，３３３−１，３３３−２  色画素判定部
３３１−１，３３１−２  カウント部
３３２  パターンマッチング部
３３４−１，３３４−２  ブロック化部
３３５  孤立点除去部
３３６  膨張部
３３７  連続カウント部
【図１】
0003857494.tif 000008
【図２】
0003857494.tif 000009
【図３】
0003857494.tif 000010
【図４】
0003857494.tif 000011
【図５】
0003857494.tif 000012
【図６】
0003857494.tif 000013
【図７】
0003857494.tif 000014
【図８】
0003857494.tif 000015
【図９】
0003857494.tif 000016
【図１０】
0003857494.tif 000017
【図１１】
0003857494.tif 000018
【図１２】
0003857494.tif 000019
【図１３】
0003857494.tif 000020
【図１４】
0003857494.tif 000021
【図１５】
0003857494.tif 000022
【図１６】
0003857494.tif 000023
【図１７】
0003857494.tif 000024
【図１８】
0003857494.tif 000025
【図１９】
0003857494.tif 000026
【図２０】
0003857494.tif 000027