(57)【要約】【課題】無彩色の判定を実現すると共に，メモリ容量の低減を図ること。【解決手段】外部より入力される入力画像の特定領域が無彩色であるかの原稿認識を行い，該認識の結果に基づいて所定の画像処理を実行する画像処理装置において，入力画像の色相領域を判定し，プレーン画素単位に分割する色相分割部１６０１と，色相分割部１６０１で分割された各プレーン画素に基づいて無彩画素か否かを判定する色画素判定部１６０５と，を備えた。【選択図】        図１６
2006203939.tif 000002
【特許請求の範囲】
【請求項１】
外部より入力される入力画像の特定領域が無彩色であるかの原稿認識を行い，該認識の結果に基づいて所定の画像処理を実行する画像処理装置において，
前記入力画像の色相領域を判定し，プレーン画素単位に分割する色相分割手段と，
前記色相分割手段で分割された各プレーン画素に基づいて無彩画素か否かを判定する無彩画素判定手段と，
を備えたことを特徴とする画像処理装置。
【請求項２】
外部より入力される入力画像の特定領域が無彩色であるかの原稿認識を行い，該認識の結果に基づいて所定の画像処理を実行する画像処理装置において，
前記入力画像を色相領域に分割し，ｃ（シアン），ｍ（マゼンタ），ｙ（イエロー），ｒ（レッド），ｇ（グリーン），ｂｋ（黒），ｗ（白）に色を判定し，ｃ，ｍ，ｙの３ｂｉｔプレーンに変換する色相分割手段と，
前記プレーンをｎ×ｍマトリックスで，それぞれカウントし，該カウントしたプレーンの最小値の数を無彩画素であると判定する無彩画素判定手段と，
を備えたことを特徴とする画像処理装置。
【請求項３】
前記無彩画素判定手段は，前記カウントした最小値を黒画素とし，最小値が所定の値以上で，かつ最大値−最小値が所定の値以下の場合，無彩画素領域であると判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記無彩画素判定手段による無彩判定は，ＲＧＢデータの最大値と最小値との差に従って判定することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記無彩画素判定手段による無彩判定は，色相毎にそれぞれ閾値を設定し，各閾値に従って判定することを特徴とする請求項２または３に記載の画像処理装置。
【請求項６】
前記無彩画素判定手段は，複数の無彩画素を検出する際に，最小値の数を判定する値および最大値−最小値の数を判定する条件を変更し，判定を行うことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記無彩画素判定手段は，複数の無彩画素を検出し，入力画像がカラー画像か白黒画像かを判定し，かつ，入力画像の特定領域を黒文字として処理するかの可否を判定することを特徴とする請求項６に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，カラーデジタル複写機やカラープリンタ，ファクシミリなどの画像形成装置に利用される画像処理装置に関し，より詳細には，入力画像データの特定領域がが無彩色画素あるかを検出し，適切な画像処理を行う画像処理装置に関する。
【背景技術】
【０００２】
近年，カラーデジタル複写機やカラープリンタ，ファクシミリなど利用される画像処理装置は高機能化・高品質化がさらに要求されてきている。しかし，スキャナなどの画像入力装置から入力された原稿画像中の色（有彩）画素や黒（無彩）画素を検出する際には，デジタルサンプリングや機械的精度に起因するＲＧＢの読み取りずれが存在する。このため，従来においては，位置ずれがないように，平滑化処理を行って補正を加えたり，あるいは位置ずれを考慮したパターンマッチングを行っている。また，色判定を行う際には，有彩／無彩画素を正確に判定するために，画素の抽出方法が提案されている。
【０００３】
例えば，特開平５−２３６２８７号公報に開示されている「画像処理装置」では，ＲＧＢの多値画像データを複数ライン蓄えて平滑化し，画像データのずれを補正している。また，ここでは，画像を抽出して２値化する際に明暗に応じて抽出する画素の閾値を切替えている。
【０００４】
また，上記公報の他に，特開平５−３００３９０号公報では非線形データを用いて正確な画像抽出を実現している。さらに，特開平５−２４４４２０号公報に開示されている「画像処理装置」では，画像データを色相判定して色画素抽出を行っている。また，特開平９−２４７４８１号公報に開示されている「画像処理装置」では，位置ずれに関するものではないが，ｃ，ｍ，ｙのプレーンで色（有彩）網点か黒（無彩）網点の判定を行っている。
【０００５】
【特許文献１】特開平５−２３６２８７号公報
【特許文献２】特開平５−３００３９０号公報
【特許文献３】特開平５−２４４４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら，上記に示されるような従来の技術にあっては，ＲＧＢの多値画像データを複数ライン蓄えて平滑化して補正することは，多値データのｂｉｔ数＋参照ライン数を見て行うため，２値データと比較して非常に多くのメモリを必要とし，さらに読み取り位置ずれを考慮したパターンを作成しても，局所的な変動に起因する誤判定を招来させやすいという問題点があった。
【０００７】
本発明は，上記に鑑みてなされたものであって，無彩色の判定を実現すると共に，メモリ容量の低減を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために，請求項１に係る画像処理装置にあっては，外部より入力される入力画像の特定領域が無彩色であるかの原稿認識を行い，該認識の結果に基づいて所定の画像処理を実行する画像処理装置において，前記入力画像の色相領域を判定し，プレーン画素単位に分割する色相分割手段と，前記色相分割手段で分割された各プレーン画素に基づいて無彩画素か否かを判定する無彩画素判定手段と，を備えたものである。
【０００９】
また，請求項２に係る画像処理装置にあっては，外部より入力される入力画像の特定領域が無彩色であるかの原稿認識を行い，該認識の結果に基づいて所定の画像処理を実行する画像処理装置において，前記入力画像を色相領域に分割し，ｃ（シアン），ｍ（マゼンタ），ｙ（イエロー），ｒ（レッド），ｇ（グリーン），ｂｋ（黒），ｗ（白）に色を判定し，ｃ，ｍ，ｙの３ｂｉｔプレーンに変換する色相分割手段と，前記プレーンをｎ×ｍマトリックスで，それぞれカウントし，該カウントしたプレーンの最小値の数を無彩画素であると判定する無彩画素判定手段と，を備えたものである。
【００１０】
また，請求項３に係る画像処理装置にあっては，前記無彩画素判定手段は，前記カウントした最小値を黒画素とし，最小値が所定の値以上で，かつ最大値−最小値が所定の値以下の場合，無彩画素領域であると判定するものである。
【００１１】
また，請求項４に係る画像処理装置にあっては，前記無彩画素判定手段による無彩判定は，ＲＧＢデータの最大値と最小値との差に従って判定するものである。
【００１２】
また，請求項５に係る画像処理装置にあっては，前記無彩画素判定手段による無彩判定は，色相毎にそれぞれ閾値を設定し，各閾値に従って判定するものである。
【００１３】
また，請求項６に係る画像処理装置にあっては，前記無彩画素判定手段は，複数の無彩画素を検出する際に，最小値の数を判定する値および最大値−最小値の数を判定する条件を変更し，判定を行うものである。
【００１４】
また，請求項７に係る画像処理装置にあっては，前記無彩画素判定手段は，複数の無彩画素を検出し，入力画像がカラー画像か白黒画像かを判定し，かつ，入力画像の特定領域を黒文字として処理するかの可否を判定するものである。
【発明の効果】
【００１５】
以上説明したように，本発明に係る画像処理装置（請求項１〜４）によれば，ｙ，ｍｃのプレーン展開し，ｎ×ｍのマトリックスにおいてそれぞれのプレーン毎に数を数えて，その最小値を黒と判定することにより読み取り位置ずれを補正し，無彩色の判定が実現されると共に，２値データ後に処理を行うため，多値データと比較して非常に少ないメモリ容量でＲＧＢ読み取りずれに対応するため，メモリ容量の低減を図ることができる。
【００１６】
また，本発明に係る画像処理装置（請求項５）によれば，正確に黒を判定するために色相を判定し，色相毎に無彩判定を行うので，色相領域に応じて判定を切替えることができ，高精度の色抽出が実現する。
【００１７】
また，本発明に係る画像処理装置（請求項６，７）によれば，複数の有彩／無彩判定を行う際に，判定の途中まで共通に処理し，３ｂｉｔのプレーンを独立に数えた値の閾値を切り換えることが可能なため，メモリの増加を少なくすることができる。
【発明を実施するための最良の形態】
【００１８】
以下，本発明の画像処理装置の実施の形態について添付図面を参照し，詳細に説明する。
【００１９】
〔画像処理装置の構成・動作〕
図１は，本発明の実施の形態１に係る画像処理装置の概略構成を示すブロック図であり，原稿から画像データを読み取り，該画像データ（アナログ信号）をデジタルデータに変換して出力する原稿読取部１０１と，原稿読取部１０１で読み取った画像データ（デジタルデータ）に各種補正処理等を施すと共に，線画認識・色判定等の原稿認識を行う画像処理部１０２と，画像処理部１０２からの画像データに基づいて記録紙に画像を記録する画像記録部１０３と，から構成される。
【００２０】
なお，ここでは，原稿読取部１０１でＲ（レッド）・Ｇ（グリーン）・Ｂ（ブルー）の３色のカラー画像データ（以下，ＲＧＢデータと記載する）を読み取って，画像処理部１０２でＲＧＢデータをＣ（シアン）・Ｍ（マゼンタ）・（イエロー）・Ｂｋ（ブラック）の４色のカラー画像データ（以下，ＣＭＹＢｋデータと記載する）に色変換し，画像記録部１０３でＣＭＹＢｋデータに基づいて記録紙にカラー画像を出力するものとして説明する。
【００２１】
図２は，図１における画像処理部１０２の内部構成を示すブロック図であり，原稿読取部１０１からＲＧＢデータ（デジタルデータ）を入力し，ＲＧＢデータのグレーバランスの補正を行うと共に，反射率データ（ＲＧＢデータ）を濃度データ（ＲＧＢデータ）に変換するＲＧＢγ補正部２０１と，原稿読取部１０１から入力したＲＧＢデータに基づいて，文字領域か絵柄領域かを判定して次段のＲＧＢフィルタ部２０４にＣ／Ｐ信号を出力すると共に，原稿領域の有彩領域か無彩領域かを判定してＲＧＢフィルタ部２０４にＢ／Ｃ信号を出力する原稿認識部２０２と，ＲＧＢγ補正部２０１からＲＧＢデータを入力し，原稿認識部２０２の出力結果と同期をとるためにＲＧＢデータを遅延させる遅延部２０３と，ＲＧＢデータにＭＴＦ補正を行うＲＧＢフィルタ部２０４と，ＲＧＢデータを一次のマスキング等でＣＭＹデータに変換する色補正部２０５と，ＣＭＹデータの共通部分をＵＣＲ（加色除去）処理してＢｋデータを生成するＵＣＲ部２０６と，主走査方向の拡大・縮小または等倍処理を施す変倍部２０７と，平滑化処理や鮮鋭化処理を行うＣＭＹＢｋフィルタ部２０８と，画像記録部１０３の周波数特性に応じてγ補正を行うＣＭＹＢｋγ補正部２０９と，ディザ処理・誤差拡散処理等の量子化を行う階調処理部２１０と，から構成される。
【００２２】
なお，原稿認識部２０２から出力されるＣ／Ｐ信号は２ビット信号であり，Ｃ／Ｐ信号が『３』で文字領域を示し，『１』で絵柄上の文字，『０』で絵柄領域を示す。このＣ／Ｐ信号は，ＲＧＢフィルタ部２０４，色補正部２０５，ＵＣＲ部２０６，変倍部２０７，ＣＭＹＢｋフィルタ部２０８，ＣＭＹＢｋγ補正部２０９および階調処理部２１０にカスケード接続され，画像データに同期して信号ＩＭＧを出力する。
【００２３】
また，Ｂ／Ｃ信号（１ビット信号）のロジックは，Ｈで無彩領域，Ｌで有彩領域を示す。このＢ／Ｃ信号は，ＲＧＢフィルタ部２０４，色補正部２０５，ＵＣＲ部２０６にカスケード接続され，画像データに同期して出力する。
【００２４】
ＲＧＢフィルタ部２０４は，ＲＧＢデータをＭＴＦ補正するフィルタであり，Ｎ×Ｎのマトリックスで構成されている。Ｃ／Ｐ信号が『３』のときには，鮮鋭化処理を行い，『０』のときには平滑化処理を行い，『１』のときには入力データを処理せず，そのまま出力する。
【００２５】
ＵＣＲ部２０６は，画像データの色再現を向上させるためのものであり，色補正部２０５から入力したＣＭＹデータの共通部分をＵＣＲ（加色除去）処理してＢｋデータを生成し，ＣＭＹＢｋデータを出力する。ここで，Ｃ／Ｐ信号が『３』以外のときは，スケルトンブラックのＢｋ生成を行う。Ｃ／Ｐ信号が『３』のときは，フルブラック処理を行う。さらにＣ／Ｐ信号が『３』かつＢ／Ｃ信号がＨのときは，Ｃ・Ｍ・Ｙのデータをイレースする。これは，黒文字のとき，黒成分のみで表現するためである。また，出力信号ＩＭＧは，Ｃ・Ｍ・Ｙ・Ｂｋのうち一色を出力する面順次の一色である。すなわち，４回原稿読み取りを行うことにより，フルカラー（４色）データを生成する。
【００２６】
ＣＭＹＢｋフィルタ部２０８は，画像記録部１０３の周波数特性やＣ／Ｐ信号に応じて，Ｎ×Ｎの空間フィルタを用い，平滑化や鮮鋭化処理を行う。
【００２７】
ＣＭＹＢｋγ補正部２０９は，画像記録部１０３の周波数特性やＣ／Ｐ信号に応じて，γカーブを変更し処理する。Ｃ／Ｐ信号が『０』のときは画像を忠実に再現したγカーブを用い，Ｃ／Ｐ信号が『０』以外のときはγカーブを立たせてコントラストを強調する。
【００２８】
階調処理部２１０は，画像記録部１０３の階調特性やＣ／Ｐ信号に応じて，ディザ処理等の量子化を行う。Ｃ／Ｐ信号が『０』のときは階調重視の処理を行い，Ｃ／Ｐ信号が『０』以外のときは解像力重視の処理を行う。
【００２９】
上記画像処理部１０２の各部の構成より，明らかなように，画像処理部１０２では，絵柄処理（Ｃ／Ｐ信号＝０）のときは，ＲＧＢフィルタ部２０４で平滑化処理を行い，ＵＣＲ部２０６でスケルトンブラックの処理を行い，ＣＭＹＢｋγ補正部２０９ではリニア（階調性）を重視したカーブを選択し，ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では階調を重視した処理を行う。
【００３０】
一方，文字処理（Ｃ／Ｐ信号＝３）のときは，ＲＧＢフィルタ部２０４で強調処理を行い，ＵＣＲ部２０６でフルブラック処理を行い，ＣＭＹＢｋγ補正部２０９ではコントラストを重視したカーブを選択し，ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では解像度を重視した処理を行う。
【００３１】
また，黒文字処理（Ｃ／Ｐ信号＝３でＢ／Ｃ信号＝Ｈ）として，Ｂｋを除くＣＭＹ処理時には，ＣＭＹデータを印字しない。これは，黒文字の周りが位置ずれのために色付くのを回避するためである。また，このときのＢｋデータのＲＧＢフィルタは色文字のときより，強めに行ってくっきりさせてもよい。
【００３２】
さらに，絵柄処理（Ｃ／Ｐ信号＝１）のときは，ＲＧＢフィルタ部２０４で弱強調処理または入力データをそのまま出力するスルー処理を行い，ＵＣＲ部２０６でフルブラック処理を行い，ＣＭＹＢｋγ補正部２０９ではコントラストを重視したカーブを選択し，ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では解像度を重視した処理を行う。ここでは黒文字処理のような処理を行わない。
【００３３】
このように画像処理部１０２では，絵柄，文字のエッヂ，絵柄上の文字の３種の処理を行うことができる。
【００３４】
図３は，原稿認識部２０２の細部構成を示すブロック図である。原稿認識部２０２は，大別すると，線画らしさを検出する線画認識部３０１と，原稿の特定領域が有彩あるか無彩であるかを判定する色判定部３０２と，から構成される。なお，ここでは，原稿読取部１０１の読み取り密度が４００ｄｐｉ程度の場合を例として説明する。
【００３５】
線画認識部３０１は，Ｃ／Ｐ信号を出力するが，その出力ロジックは，線画のエッヂである場合に『３』を出力し，絵柄上の線画のエッヂである場合に『１』を出力し，それ以外の場合には『０』を出力する。
【００３６】
また，線画認識部３０１は，図示の如く，モノクロ化部３０３と，ラプラシアン部３０４と，パターンマッチング部３０５Ａ，３０５Ｂと，孤立点除去部３０６Ａ，３０６Ｂと，画素密度変換部３０７Ａ，３０７Ｂと，ページメモリ３０８Ａ，３０８Ｂと，セレクタ３０９Ａ，３０９Ｂと，孤立ブロック除去部３１０Ａ，３１０Ｂと，膨張部３１１Ａ，３１１Ｂと，から構成される。なお，線画認識部３０１は，Ｃ／ＰＡとＣ／ＰＢを出力するが，ＣＰＡ，Ｂが，（Ｌ，Ｌ）のときにＣ／Ｐ信号の『０』，（Ｌ，Ｈ）のときにＣ／Ｐ信号の『１』，（Ｈ，Ｈ）のときにＣ／Ｐ信号の『３』とし，Ｃ／ＰＡおよびＣ／ＰＢをＣ／Ｐ信号と呼称する。
【００３７】
さらに，原稿認識部２０２では，原稿読取部１０１で読み取った原稿が，カラー原稿であるか白黒原稿であるか否かの判定を行っている。自動カラー選択モード時において，第１スキャン（Ｂｋ）作像のときに，カラー原稿であるか白黒原稿であるか否かの判定を行う。そして，その判定の結果が，白黒原稿であると判定した場合に１回スキャンで終了し，他方，カラー原稿であると判定した場合に４回スキャンを実行する。
【００３８】
色判定部３０２は，Ｂ／Ｃ信号を出力するが，その出力ロジックは，有彩領域であるとＬを出力し，無彩領域であるとＨを出力する。出力結果は，４×４画素を１画素に対応させた信号である。以下において出力結果の単位を１ブロックとする。なお，色判定部３０２は，図示の如く，色判定回路３１２と，ページメモリ３１３と，セレクタ３１４と，から構成される。
【００３９】
以上の構成において，線画認識部３０１の各部の動作について詳細に説明する。
【００４０】
線画認識部３０１に入力されたＲＧＢデータは，先ず，モノクロ化部３０３において輝度データに変換され，モノクロ信号となる。ただし，輝度データでなくとも，ＲＧＢデータの中で最も濃いデータを選択し，モノクロ信号としても良く，またはＧデータを輝度データとして用い，モノクロ信号としてもよい。何れの場合も，モノクロ化部３０３から出力される出力データは，数字が大きいと濃く，小さいと薄いことを表す。
【００４１】
ラプラシアン部３０４は，線画のエッヂを抽出すると同時に，白領域と黒領域とを検出する。白領域を検出することにより，白地上の線画の抽出のデータ（細線候補）とする。
【００４２】
ここで，図４の記号化されたマトリックスを用いて白領域検出の動作について説明する。例えば，白領域のマトリックスを３×３とすると，次のようになる。    
((ａ00＜thw)and(ａ01＜thw)and(ａ02＜thw)
and(ａ10＜thw)and(ａ11＜thw)and(ａ02＜thw)) 
or ((ａ10＜thw)and(ａ11＜thw)and(ａ12＜thw)
and(ａ20＜thw)and(ａ21＜thw)and(ａ22＜thw)) 
or ((ａ00＜thw)and(ａ10＜thw)and(ａ20＜thw)
and(ａ01＜thw)and(ａ11＜thw)and(ａ21＜thw)) 
or ((ａ01＜thw)and(ａ11＜thw)and(ａ21＜thw)
and(ａ02＜thw)and(ａ12＜thw)and(ａ22＜thw)) 
【００４３】
注目画素を含んで周辺データが閾値ｔｈｗより小さいとき，白領域候補とする。ここで，太線用と細線用と異なる値を使用する。太線用白領域候補は，一般的な白地の値を設定する。細線用白領域候補は，一般的な白地の値よりもやや低い値（白寄りの値）にする。細線用白領域候補の方を白寄りにするのは，絵柄（印刷物の網点や複写機の万線）のハイライト（明るい方）が白領域候補となるのを避けるためである。
【００４４】
このパターンは直交パターンの例を示すが，斜めなどのパターンを追加してもよい。
【００４５】
さらに，白領域候補から，白領域を算出するために以下のようにラプラシアンを求める。
ｘ＝（ａ22×２）−（ａ21＋ａ23）×ｉ
ｘ＝((ａ22×４）−（ａ11＋ａ13＋ａ31＋ａ33))×ｉ／２＋ｘ
ｘ＝（ａ22×２）−（ａ12＋ａ32）＋ｘ
【００４６】
ここで，ｉは主走査と副走査のＭＴＦの違いや，変倍ときの補正をする重み係数である。このときのｘの値がある値（Ｎ）の範囲ならば白領域とする。式で記述すると以下のようになる。
−Ｎ  ＜  ｘ  ＜  Ｎ
ここでは，太線用の閾値と細線用の閾値とを分けても分けなくてもよい。
【００４７】
このようにして，細線用白領域と太線用白領域とを算出する。これによって，絵柄上のハイライト側の小網点や万線パターンを抽出しないように除去している。
【００４８】
次に，太線用白領域の補正について説明する。例えば，白黒反転した文字（白が文字で周辺が黒）の画像の際に，複写機のような光学的読取装置の場合，フレア（白一点でなく，周辺に黒の影響を受ける）等で，白データが通常より黒よりになる場合がある。このため，以下の補正を行う。
【００４９】
例えば，白領域のマトリックスを３×３とすると，次のようになる。
((ａ00＜thw)and(ａ01＜thw)and(ａ02＜thw)
and(ａ10＜thw)and(ａ11＜thw)and(ａ02＜thw)
and(ａ20＜thw)and(ａ21＜thw)and(ａ22＜thw)) 
【００５０】
これを補正白領域候補として，上述したラプラシアンで補正白領域を算出する。ここでは，ｔｈｗは太線より黒よりの値で，Ｎは上述した太線用白領域の値より，小さくする。Ｎを小さくするのは，白データの変化量の少ない安定したデータを抽出するためである。ここで抽出した補正白領域の結果を上述した太線用白領域に補正し，太線用補正白領域とする。すなわち，補正白領域か，太線用白領域であれば，太線用補正白領域となる。ここでも，絵柄上のハイライト側の小網点や万線パターンを抽出しないように除去している。
【００５１】
次に，黒領域を検出することにより，黒領域上の線画の抽出データとする。ここで，図４の記号化されたマトリックスを用いて黒領域検出の動作について説明する。例えば，黒領域のマトリックスを３×３とすると，次のようになる。
((ａ00＜thb)and(ａ01＜thb)and(ａ02＜thb)
and(ａ10＜thb)and(ａ11＜thb)and(ａ02＜thb)) 
or ((ａ10＜thb)and(ａ11＜thb)and(ａ12＜thb)
and(ａ20＜thb)and(ａ21＜thb)and(ａ22＜thb)) 
or ((ａ00＜thb)and(ａ10＜thb)and(ａ20＜thb)
and(ａ01＜thb)and(ａ11＜thb)and(ａ21＜thb)) 
or ((ａ01＜thb)and(ａ11＜thb)and(ａ21＜thb)
and(ａ02＜thb)and(ａ12＜thb)and(ａ22＜thb)) 
【００５２】
注目画素を含んで周辺データが閾値ｔｈｂより小さいとき，黒領域候補とする。黒領域候補は，一般的な黒の値（換言すれば，文字として強調したい濃度）を設定する。このパターンは直交パターンの例を示すが，斜めなどのパターンを追加してもよい。
【００５３】
さらに，黒領域候補から，黒領域を算出するために以下のようにラプラシアンを求める。
ｘ＝（ａ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）＋ｘ
【００６０】
このようにすることにより，副走査の変倍処理に対応している。
前述したようにラプラシアン部３０４は，白領域信号と黒領域信号とエッヂ量を出力する。白領域信号（太線用と細線用）はＬで白領域を示し，黒領域信号はＨで黒領域を示す。
【００６１】
図５は，線画の断面図であり，白領域と黒領域と閾値との関係を示す概念図である。図において，ＴＨＢは黒領域の閾値，Ｔｈｗ１は白領域の細線用閾値，Ｔｈｗ２は白領域の太線用閾値，Ｔｈｗ３は白領域の補正用閾値を示す。また，図６はエッヂ量（ｘ）の関係を示す説明図である。
【００６２】
次に，パターンマッチング部３０５Ａ，３０５Ｂの動作について説明する。
パターンマッチング部３０５Ａでは，黒領域周辺の白領域を抽出する。ここで白領域パターン（Ｗ）は，補正太線用白領域の信号であり，黒パターン（Ｋ）は黒領域信号とする。パターン例としては，下記の（７×７）のようになる。
【００６３】
(k12 AND k13  AND k14 AND k12  AND k23 AND k24  AND k32 AND k33  AND k34 AND ((w52 AND w53 AND w54) or (w62  AND w63 AND w64) 
or (w12 AND w13 AND w14) or (w02 AND w03  AND w04))) 
or
(k21 AND k31  AND k41 AND k22  AND k32 AND k42  AND k23 AND k33  AND k44 AND ((w25 AND w35 AND w45) or (w26 AND w36  AND w46) 
or (w21 AND w31 AND w41) or (w20 AND w30  AND w40))) 
【００６４】
上記の例では，水平成分，垂直成分のみで示したが，同様に斜め成分のパターンも抽出する。このように黒領域上の白領域を抽出する。黒領域が多いので網点を線画と誤認識することなく，黒領域の線画を抽出することが可能となる。
【００６５】
また，黒領域，太線補正用白領域，細線白領域の大小関係を利用してコード化してもよい。コード化の例として，黒領域をＢ，太線補正用白領域をＷ１，細線白領域をＷ２として説明する。この場合，コード化しないと３ビット×ｎラインとなるが，次のようにコード化すると２ビット×ｎラインとなる。
Ｂのとき                          →  コード『１』
Ｗ２のとき                        →  コード『２』
Ｗ１でかつＷ２でないとき          →  コード『３』
ＢでもＷ１でもＷ２でもないとき    →  コード『０』
【００６６】
コードは『０』〜『３』であるので２ビットで表現することができ，コードを展開するときは逆の処理を行えばよい。また，大小関係は固定でなくとも良く，入れ替えることができるようにした方がよいことは勿論である。
【００６７】
なお，処理の流れは，図７および図８のフローチャートで示すようになる。注目画素を図９に示すように設定したときに，図７のように主走査方向に処理を実行して終了する。副走査方向に注目画素を＋１とし，主走査方向に再び処理を行う。
【００６８】
ここで，図８のフローチャートを参照してパターンマッチング処理（図７のパターンマッチング処理）について説明する。前述したパターンに一致するか否かパターンマッチングを行い（Ｓ８０１），一致すると出力ＰＭ１（図２参照）はＨ（ｏｎ）を出力し（Ｓ８０２），不一致であれば，出力ＰＭ１はＬ（ｏｆｆ）を出力する（Ｓ８０３）。
【００６９】
パターンマッチング部３０５Ａでは，上記の処理により，線画の太線部分のエッヂを抽出する。
【００７０】
パターンマッチング部３０５Ｂは，細線の検出を行う。細線とは，線幅が１ｍｍ以下で構成されている文字および線画を意味する。ここで黒パターン（ｋ）は，黒領域またはエッヂ量が閾値ＴＨＲＢ（図６参照）より大きいものをＨとする。また，白パターン（ｗ）は，細線用白領域またはエッヂ量が閾値ＴＨＲＷより小さい（マイナス成分であるので絶対値は大きい）ものをＨとする。なお，倍率や，原稿種類（カラー，白黒，印刷写真，印画紙写真，複写原稿，地図等），調整キー等で変更するようにしてもよい。すなわち，エッヂ量成分で補正するのは細線のコントラストを上げるためである。
【００７１】
細線のパターンの例としては，下記の（７×７）のようになる。
((w22 AND w23 AND w24) or (w02 AND w03  AND w04) 
AND w12 AND w13  AND w14
AND k32 AND k33  AND k34
AND w52 AND w53  AND w54
AND (w42 AND w43 AND w44) or (w62 AND w63  AND w64))
or 
((w22 AND w32 AND w42) or (w20 AND w30  AND w40) 
AND w21 AND w31  AND w41
AND k23 AND k33  AND k43
AND w25 AND w35  AND w45
AND (w24 AND w34 AND w44) or (w26 AND w36  AND w46))
or 
((w12 AND w13 AND w14) or (w02 AND w03  AND w04) 
AND w32 AND w33  AND w34
AND ((k22 AND k23  AND k24) or (k42 AND k43 AND k44))
AND (w52 AND w53 AND w54) or (w62 AND w63  AND w64))
or 
((w21 AND w31 AND w41) or (w20 AND w30  AND w40) 
AND w23 AND w33  AND w43
AND ((k22 AND k32  AND k42) or (k24 AND k34 AND k44))
AND (w25 AND w35 AND w45) or (w26 AND w36  AND w46))
【００７２】
ここでは，水平成分，垂直成分のみで示したが，同様に斜め成分のパターンも抽出する。このように黒パターンの両側が白パターンで挟まれている場合に，細線候補として抽出する。
【００７３】
なお，処理の流れは，図７および図１０のフローチャートで示すようになる。注目画素を図９に示すように設定したときに，図７のように主走査方向に処理を実行して終了する。副走査方向に注目画素を＋１とし，主走査方向に再び処理を行う。
【００７４】
ここで，図１０のフローチャートを参照してパターンマッチング部３０５Ｂのパターンマッチング処理について説明する。なお，ＭＦＢは状態変数であり，主走査の先端では０である。ＳＦＢ（ｉ）は，主走査方向の１ライン分の配列であり，１ライン前の状態変数である。
【００７５】
先ず，現在の状態変数ＭＦＢと１ライン前の状態変数ＳＦＢ（ｉ）とを比較する（Ｓ１１）。ここでＭＦＢ＜ＳＦＢ（ｉ）であれば，ＭＦＢ＝ＳＦＢ（ｉ）として（Ｓ１２），ステップＳ１２へ進み，そうでなければ，そのままステップＳ１２へ進む。
【００７６】
ステップＳ１２では，パターンマッチング部３０５Ａからの出力ＰＭ１がｏｎであるか否かを判定し，ＰＭ１がｏｎでなければ（すなわち，ｏｆｆであれば），ステップＳ１８へ進む。一方，ＰＭ１がｏｎであれば，ステップＳ１４〜Ｓ１７でＭＦＢの値が０より大きければ，その値を変更する。具体的には，ＭＦＢが８より大きければ１６に設定し（Ｓ１４，Ｓ１５），ＭＦＢが０より大きく８より小さい場合には８に設定する。
【００７７】
ステップＳ１８では，白地領域であるか否かを判定する。ここでの白地領域は，ラプラシアン部３０４の出力の細線用白領域をａとして，次のようになるときに白地領域と判定する。
【００７８】
a00 AND a01  AND a02
AND a10 AND a11  AND a12
AND a20 AND a21  AND a11
【００７９】
ステップＳ１８において，白地領域と判定された場合，パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ１９），ＭＦＢ＝１６に設定し（Ｓ２０），ステップＳ３６へ進む。
【００８０】
一方，ステップＳ１８において，白地領域でないと判定された場合，前述した細線パターンと一致するか否かによって細線パターンであるか否かを判定し（Ｓ２１），細線パターンでない場合には，パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ２２），ＭＦＢ＝０であるか否かを判定し（Ｓ２３），ＭＦＢ＝０であればステップＳ３６へ進み，ＭＦＢ＝０でなければ，ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４），ステップＳ３６へ進む。
【００８１】
また，ステップＳ２１において，細線パターンである場合には，ＭＦＢ＞８であるか否か判定し（Ｓ２５），８より大きければ，パターンマッチング部３０５Ｂの出力１および出力２にＨ（ｏｎ）を出力し（Ｓ２６），さらにステップＳ２８，Ｓ２９で，ＭＦＢ＞１６であればＭＦＢ＝１６に設定し，ＭＦＢ＞１６でなければそのままステップＳ３６へ進む。
【００８２】
また，ステップＳ２５で８より大きくなければ，ＭＦＢ＝０であるか否かを判定し（Ｓ３０），ＭＦＢ＝０であれば，パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ３１），ステップＳ３６へ進み，ＭＦＢ＝０でなければ，パターンマッチング部３０５Ｂの出力１にＬ（ｏｆｆ）を出力し，出力２にＨ（ｏｎ）を出力し（Ｓ３２），ＭＦＢ＝ＭＦＢ＋４（ただし，ＭＦＢが１６以上になる場合には，１６にする）を設定して（Ｓ３３），さらにステップＳ３４，Ｓ３５で，ＭＦＢ＞８であればＭＦＢ＝８に設定し，ＭＦＢ＞８でなければそのままステップＳ３６へ進む。
【００８３】
ステップＳ３６では，ＳＦＢ（ｉ）＝ＭＦＢに設定し，１ライン前の状態変数ＳＦＢ（ｉ）を更新する。次に，ステップＳ３７で，ＳＦＢ（ｉ）＞ＳＦＢ（ｉ−１）を判定する。これは更新した１ライン前のデータと，更新した１ライン１画素前のデータとの比較である。１ライン前のデータＳＦＢ（ｉ）が大きければ，ＳＦＢ（ｉ−１）＝ＳＦＢ（ｉ）を設定し（Ｓ３８），処理を終了する。
【００８４】
上記の処理を主走査方向に順次行う。すなわち，状態変数ＭＦＢは，順次，図１１の矢印３の方向に伝搬する。そして，ステップＳ３６により矢印１の方向に伝搬し，ステップＳ３７により矢印２の方向に伝搬する。このことより，ステップＳ１８の白地領域判定またはステップＳ１２のパターンマッチングで，状態変数をセットすることにより，白地上の極細線を検出することが可能となり，絵柄上の網点を誤抽出することがなくなる。さらにステップＳ１４の細線パターンのマッチングにより，状態変数を再セットするので，文字の塊も良好に抽出することが可能となる。
【００８５】
また，状態変数で，パターンマッチング部３０５Ｂの出力１，出力２を異ならせて出力するので，白地上の文字と網点上の文字を切りわけて出力することが可能となる。
【００８６】
図１１から明らかなように，副走査の矢印方向は０または＋（プラス）方向であるので，ライン単位（主走査１ライン毎）に行う処理には，１ライン分の状態変数とパターンマッチングで必要なライン数のメモリを備えるだけで足り，ページメモリ等を備えることなく容易に実現することができる。
【００８７】
なお，パターンマッチング部３０５Ｂは，図２に示すように，出力１を孤立点除去部３０６Ａに出力し，出力２を孤立点除去部３０６Ｂに出力する。
出力１と出力２との違いは，状態変数の違いである。これによって，例えば，図１２に示すように，罫線の枠の内部に文字（あ，い，う等）が記述されており，さらに枠の内部が網点の場合，罫線の枠は出力１，出力２とも細線と判断して，網点上の文字は状態変数の大きい出力２のみが細線と判断することが可能となる。
【００８８】
次に，孤立点除去部３０６Ａ，３０６Ｂについて説明する。
孤立点除去部３０６Ａ，３０６Ｂは，どちらも同一の回路からなる。孤立点除去部３０６Ａの入力データは，パターンマッチング部３０５Ａの出力（ＰＭ１）とパターンマッチング部３０５Ｂの出力（出力１）からなり，孤立点除去部３０６Ｂの入力データは，パターンマッチング部３０５Ａの出力（ＰＭ１）とパターンマッチング部３０５Ｂの出力（出力２）からなる。孤立点除去部３０６Ａ，３０６Ｂにおいて，線画は連続した線からなるので，孤立点を除去する。孤立点とは，網点を線画と誤検出した場合に生じる。
【００８９】
パターンマッチング部３０５Ａ，パターンマッチング部３０５Ｂのいずれか１つが抽出パターンであれば抽出パターンとする。例えば，４×４のパターンマッチングにおいて，抽出パターンが２以上ならば，中心画素（ａ22，ａ33でもよい）を抽出パターンとして補正して出力Ｈを出力する（抽出パターンとする）。このことにより，孤立点を除去すると同ときに，膨張（拡大）している。図３に示すように，孤立点除去部３０６Ａ，３０６Ｂの出力は，それぞれＰＭ２，ＰＭ３である。
【００９０】
次に，画素密度変換部３０７Ａ，３０７Ｂについて説明する。画素密度変換部３０７Ａ，３０７Ｂは，どちらも同一ロジック（回路）である。現在まで，画像単位で行っていたが，ブロック単位（４×４）で処理を行うため，画素単位のデータをブロック単位に変換する。ここでは，単純に４×４の単純間引きをするが，孤立点除去部３０６Ａ，３０６Ｂで実質上４×４の膨張も行っているのでデータの欠落は生じない。
【００９１】
次に，ページメモリ３０８Ａ，３０８Ｂおよびページメモリ３１３（色判定部３０２のページメモリ）について説明する。ページメモリ３０８Ａ，３０８Ｂおよび３１３の回路は，いずれも同一機能である。ページメモリ３０８Ａは画素密度変換部３０７Ａの出力結果を入力し，ページメモリ３０８Ｂは画素密度変換部３０７Ｂの出力結果を入力し，ページメモリ３１３は色判定回路３１２の出力結果を入力する。
【００９２】
ページメモリ３０８Ａ，３０８Ｂおよび３１３は，主走査方向１２００ドット×副走査方向１７３６ライン（約２ＭＢ）で構成され，解像度を主・副走査方向共に１６ドット／ｍｍとするＡ３サイズおよびＤＬＴ用紙（ダブルレターサイズ）より大きなサイズを有する。第１スキャン時に入力データをブロック（４×４画素）単位でページメモリ３０８Ａ，３０８Ｂおよび３１３に記憶すると同時に，セレクタ３０９Ａ，３０９Ｂおよび３１４を介して出力される。第２スキャン以降では，第１スキャン時にページメモリ３０８Ａ，３０８Ｂおよび３１３に記憶されている判定結果がセレクタ３０９Ａ，３０９Ｂおよび３１４を介して出力される。すなわち，第１スキャンにおける色判定結果や線画抽出の処理データが第２スキャン以降において用いられるので，スキャン毎の色判定結果，線画抽出結果（Ｃ／Ｐ信号）のバラツキをなくすことができる。
【００９３】
次に，孤立ブロック除去部３１０Ａ，３１０Ｂについて説明する。
孤立ブロック除去部３１０Ａ，３１０Ｂは，同一回路で同一機能を示す。例えば，５×５のブロックのマトリックスで，中心ブロックのみがｏｎ（Ｈ）で他がｏｆｆ（Ｌ）であるときこのブロックは孤立しているので，ｏｆｆとして出力Ｌを出力する。ｏｎとは抽出パターンを意味する。このことにより，周辺データから孤立しているブロックを除去する。
【００９４】
次に，膨張部３１１Ａ，３１１Ｂについて説明する。
膨張部３１１Ａ，３１１Ｂは，同一回路で同一機能を示す。ここでは，Ｎ×ＮのＯＲ処理（膨張）をして，その後にＭ×ＭのＡＮＤ処理を行う（縮小）。そして，５×５の補間処理を行う。Ｍ−Ｎが膨張量となる。
【００９５】
ＭとＮはＮ＞Ｍである。ここでＯＲ処理をするのは，孤立しているブロックを隣接または周辺のブロックと連結させるためである。例として，３×３ブロック（１２×１２画素に対応）の膨張例を示す。
a00 or a01 or a02
or a10 or a11 or a12
or a20 or a21 or a11
【００９６】
その後に５×５画素のＡＮＤ処理（収縮）を施す。以下にその例を示す。
a00 AND a01 AND a02 AND a03 AND a04
AND a10 AND a11 AND a12 AND a13 AND a14
AND a20 AND a21 AND a22 AND a23 AND a24
AND a30 AND a31 AND a32 AND a33 AND a34
AND a40 AND a41 AND a42 AND a43 AND a44
【００９７】
その後に１００ｄｐｉのギザギザが残っているので，補間処理を行う。図１３に補間処理の例を示す。図において実線は１００ｄｐｉの補正前のギザキザを示し，破線が補正後の出力を示す。
例えば，５×５のマトリックスにおいて以下のようになる。線画抽出したデータが以下の論理式を満たすとき，注目画素ａ22のデータを反映（補正）する。
（パターン１ and！パターン２）
or（パターン３ and！パターン４）
パターン１，２，３，４の詳細は以下のようになる。なお，ここで！は不定演算子を示す。
【００９８】
パターン１
(a00 and a02  and ！a04 and a20  and a22 and！a24
and ！a40 and！a42 and！a44 ）
or (！a00 and a02  and a04 and！a20 and a22  and a24
and ！a40 and！a42 and！a44 ）
or (！a00 and！a02 and！a04 and a20  and a22 and！a24
and a40 and a42  and ！a44 ）
or (！a00 and！a02 and！a04 and！a20 and a22  and a24
and ！a40 and a42  and a44 ）
【００９９】
パターン２
(a11 and a12  and a13 and a21  and a22 and a23
and a31 and a32  and a33 ）
【０１００】
パターン３
(！a00 and！a02 and a04  and ！a20 and！a22 and a24
and a40 and a42  and a44 ）
or (a00 and！a02 and！a04 and a20  and ！a22 and！a24
and a40 and a42  and a44 ）
or (a00 and a02  and a04 and！a20 and！a22 and a24
and ！a40 and！a42 and a44）
or (a00 and a02  and a04 and a20  and ！a22 and！a24
and a40 and！a42 and！a44 ）
【０１０１】
パターン４
(！a11 and！a12 and！a13 and！a21 and！a22 and！a23
and ！a31 and！a32 and！a33 ）
【０１０２】
抽出パターンを膨張することにより，文字の交点などを繋ぎ，さらに線画とその周辺を線画処理する。上述のパターンマッチングは十字の交点を抽出できないが，この膨張処理により連結することができる。また，線画とその周辺を線画と見なすのは，黒文字処理と空間フィルタを良好に作用させるためである。
【０１０３】
このことにより，特に，カタログの使用期間・仕様表のように罫線の中に網点があっても良好に罫線を抽出できる。白地を含む罫線を文字として抽出し，網点上の文字は白地上の文字と別の判定結果を出力するので，白地上の文字と網点上の文字を識別して別の処理を行うことが可能となる。
【０１０４】
〔線画認識部３０１のパターンマッチング部３０５Ｂの他の例〕
ここでは，前述の図３で示した線画認識部３０１のパターンマッチング部３０５Ｂの出力の条件を変えたものである。なお，基本的な構成および動作は前述とと同様に付き，ここでは異なる部分のみを説明する。
【０１０５】
前述では，パターンマッチング部３０５Ｂで行う細線パターンマッチングにおいて，状態変数によって出力１および出力２を設定しているが，ここでは，さらに出力２の設定条件を追加して絵柄上の文字（罫線）を抽出できるようにするものである。
【０１０６】
図１４は，第２のパターンマッチング処理（パターンマッチング部３０５Ｂ）のフローチャートを示す。図１０に示したフローチャートと同一の符号は共通の処理を示すため，ここでは異なる部分のみを説明する。
【０１０７】
ステップＳ２１において，前述した細線パターンであるか否かを判定し，細線パターンでない場合には，以下に示す細線パターン１と一致するか否かを判定する（Ｓ４０）。
【０１０８】
細線パターン１は，前述した細線パターンと同一のもの使用するが，同一でなくてもよい。ここで黒パターン（ｋ）は，黒領域またはエッヂ量が閾値ＴＨＲＢ（図６参照）より大きいものをＨとする。また，白パターン（ｗ）は，細線用白領域またはエッヂ量が閾値ＴＨＲＷより小さい（マイナス成分であるので絶対値は大きい）ものをＨとする。すなわち，エッヂ量成分で補正するのは細線のコントラストを上げるためである。ＴＨＲＢ，ＴＨＲＷの少なくとも一方は，細線パターンマッチングより抽出し易い値にする。ただし，細線パターンと細線パターン１のパターンマッチングのパターンが異なるときは，抽出結果が細線パターンの方が抽出し易いようにしておく。
【０１０９】
ステップＳ４０で，細線パターン１と一致しない場合は，パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ２２），ＭＦＢ＝０であるか否かを判定し（Ｓ２３），ＭＦＢ＝０であればステップＳ３６へ進み，ＭＦＢ＝０でなければ，ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４），ステップＳ３６へ進む。
【０１１０】
一方，ステップＳ４０で，細線パターン１と一致する場合は，ＭＦＢ＞８であるか否かを判定し（４１），状態変数ＭＦＢが８より大きければ，パターンマッチング部３０５Ｂの出力１にＬ（ｏｆｆ）を出力し，出力２にＨ（ｏｎ）を出力し（Ｓ４３），ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４），ステップＳ３６へ進む。また，状態変数ＭＦＢが８より大きくなければ，ＭＦＢ＝０であるか否かを判定し（Ｓ４２），ＭＦＢ＝０でなければステップＳ３２へ進み，ＭＦＢ＝０であれば，パターンマッチング部３０５Ｂの出力１および出力２にＬ（ｏｆｆ）を出力し（Ｓ２２），再度，ＭＦＢ＝０であるか否かを判定し（Ｓ２３），ＭＦＢ＝０であればステップＳ３６へ進み，ＭＦＢ＝０でなければ，ＭＦＢ＝ＭＦＢ−１を設定して（Ｓ２４），ステップＳ３６へ進む。
【０１１１】
また，細線パターンマッチングと細線パターンマッチング１，閾値ＴＨＲＷおよびＴＨＲＢは大小関係を利用してコード化してもよい。
コード化の例としては，細線パターンのＴＨＲＷ，ＴＨＲＢをそれぞれＴＨＲＷ，ＴＨＲＢとし，細線パターン１のＴＨＲＷ，ＴＨＲＢをそれぞれＴＨＲＷ１，ＴＨＲＢ１として，その大小関係を
ＴＨＲＷ＜ＴＨＲＷ１＜ＴＨＲＢ１＝ＴＨＲＢ
とすると，この場合，コード化しないと４または３ビット×ｎラインとなるが，次のようにコード化すると２ビット×ｎラインとなる。
【０１１２】
Ｐ＜ＴＨＲＷ                    →  コード『０』
ＴＨＲＷ  ＜Ｐ＜ＴＨＲＷ１      →  コード『１』
ＴＨＲＷ１＜Ｐ＜ＴＨＲＢ        →  コード『２』
ＴＨＲＢ  ＜Ｐ                  →  コード『３』
【０１１３】
ここで，Ｐはエッヂ量である。コードは『０』〜『３』であるので２ビットで表現することができ，コードを展開するときは逆の処理を行えばよい。また，大小関係は固定でなくとも良く，入れ替えることができるようにした方がよいことは勿論である。
【０１１４】
このことにより，状態変数（ＭＦＢ）を用いて，白地上のパターンと網点や色地上のパターンを切り換えることが可能で，しかも状態変数は共通に使用することができる。
【０１１５】
また，良好に網点上の文字を抽出することが可能であれば，網点上の文字を抽出する際（図１４のフローチャートのＳ４０），状態変数を参照しなくもよい（Ｓ４２の判定を常に一致していると判断する）。このような方法で網点上の文字と白地上の文字を分離してやってもよい。
【０１１６】
したがって，特に，カタログの使用説明・仕様表のように罫線の中に網点があっても良好に罫線を抽出することができる。
また，白地を含む罫線を文字として抽出し，網点上の文字は白地上の文字と別の判定を行っているので，実施の形態１よりさらに精度が向上する。白地上の文字と網点上の文字とを区別して，それぞれ別の処理を行うことが可能となる。
【０１１７】
図１１において，Ｐ（ｉ，Ｊ＋１），Ｐ（ｉ＋１，Ｊ），Ｐ（ｉ＋１，Ｊ−１）の３通りの伝搬方向しかないが，特に，Ｐ（ｉ＋１，Ｊ−１）の方向に関しては，−１だけでなく，−２，−３等を追加して，状態変数の伝搬方向の主走査方向性をなくした方がよい。
【０１１８】
さらに，画像データ全てをページメモリにもって行う装置においては，状態変数の伝搬方向は全方向（３６０度）にすれば，よいのは言うまでもない。
【０１１９】
図１５に示すアンシャープマスキングによるディテール強調効果を施す。図において，（ａ）は処理対象の主信号，（ｂ）はアンシャープ信号，（ｃ）はアンシャープマスク信号，（ｄ）はディテール強調ずみ信号を示している。これらのエッヂ特性例に基づき補正を行う。この実施の形態２では，ラプラシアン部３０４で図１５（ｃ）のアンシャープマスク信号を用いてエッヂ量の補正を行うが，図１５（ｄ）のディテール強調ずみ信号，他の信号を用いて補正してもよい。
【０１２０】
また，パターンマッチング部３０５Ａで，白地上の黒（輪郭）を拾う場合には，網点（網掛け）上の文字は抽出しない。パターンマッチング部３０５Ｂにより，白地上の罫線と，網点上または色地上の罫線を別々に抽出する。例えば，“書”のような込み入った文字もパターンマッチング部３０５Ｂにより抽出する。
【０１２１】
なお，前述した例における状態変数は，状態変数の上限値を８（網点上の文字）と１６（白地上の文字）で説明したが，いくつであっても構わない。
【０１２２】
網点上の文字と白地上の文字の分離方法は，罫線内の網掛けがあり，その中の文字の誤検出を避けるためで，罫線が細いと，文字が近くにある可能性があるからであり，また罫線の幅が太くなるにつれ文字が近くにある可能性が減るからである。
【０１２３】
前述した例により，小さい文字や，線画，白地上の画数の多い文字や網点上の文字を別々に抽出することが可能となる。副走査方向の反映方向が一方向なので，ラスタースキャン方式の読み出し方法で，特にハードウェア化に適し，画像データに容易に反映が可能である。
【０１２４】
上記画像処理装置は，線画のエッヂを検出するアルゴリズムであり，特に印刷物特有の網点を検出して除去することはしていないので，ジェネレーション（複写機の複写物）等の網点を含まない原稿にも特に有効である。
【０１２５】
抽出したパターンを，画素単位の孤立点除去で小さな領域誤判定を除去し，その後は，大きなブロック単位（４×４）単位で広い範囲で孤立ブロックを除去するので，誤判定を良好に除去できる。さらに，ブロック単位の粗い画素密度を元の画素密度に変換するので，ブロック単位の粗い画素はなくなる。
【０１２６】
また，前述した膨張部３１１Ａ，３１１Ｂで，単純な膨張を行うと，孤立した領域が大きくなるだけであるが，この実施の形態のように，膨張量ＸとするとＸ＝Ｍ−Ｎとして，Ｍ画素膨張させて，その後にＮ画素縮小しているので，Ｘ＜Ｍであるから孤立した領域を連結させることができる。さらに膨張させる際に粗い密度で行っているので，換言すれば，粗い密度（ブロック単位）のまま膨張させるので，ハードウェアの量を低減することができる。
【０１２７】
また，第１スキャンの結果を第２スキャン以降も用いるので，必ず線画判定結果と色判定結果は一致するので，バラツキなく処理を行うことができる。さらにメモリに記憶するデータは，最終結果ではなくデータ処理中に，処理密度が粗くなった（粗くした）データを記憶するので，メモリに記憶するデータ量を低減することができる。
【０１２８】
また，線画判定結果と色判定結果の両方を，ページメモリ３０８Ａ，３０８Ｂおよび３１３に記憶する代わりに，例えば，線画判定結果のみを記憶して，色判定結果はスキャン毎のものを用いてもよい。これにより，メモリ容量が２ＭＢ×２＝４ＭＢとなるので，市販の４ＭＢのメモリを用いて容易に構成することができる。さらに，ページメモリ３０８Ａを２ＭＢとし，ページメモリ３０８Ｂおよび１３１を４×４ブロックでなく，８×４ブロックとして，ページメモリ３０８Ｂおよび１３１のメモリ容量を１ＭＢとしても，全体のメモリ容量を４ＭＢ（２ＭＢ×２＋１ＭＢ）にすることができる。
【０１２９】
また，全ての判定結果をメモリに記憶する代わりに，スキャン毎にバラツキの大きいものだけをメモリに記憶するようにしてもよい。
【０１３０】
〔色判定部３０２の他の例〕
図１６は，本発明の実施の形態に係り，本発明の要部である色判定部の構成を示すブロック図である。この色判定部３０２は，後述する如く構成・動作される色相分割手段としての色相分割部１６０１と，色相分割部１６０１の出力ｃ，ｍ，ｙそれぞれを５ライン蓄えるラインメモリ１６０２〜１６０４と，後述する図１７の如く構成され，入力画像データが黒画素か色画素かを判定する無彩画素判定手段の機能を有する色画素判定部１６０５と，から構成されている。
【０１３１】
図１７および図１８は，図１６における色画素判定部１６０５の内部構成を示すブロック図である。この色画素判定部１６０５は，ｃ，ｍ，ｙのプレーンを独立にカウントするカウント部１７０１およびカウント部１７０２と，色分割部１６０１で判定した画素が５×５においてｃ，ｍ，ｙの全てが１あるいは全てが０以外の画素（色画素）の部分に対して後述する所定のパターンマッチングを行うパターンマッチング部１７０３と，カウント部１７０１の出力に基づいて黒画素の判定を行う黒画素判定部１７０４と，カウント部１７０２およびパターンマッチング部１７０３の出力に基づいて色画素の判定を行う色画素判定部１７０５と，を備えている。
【０１３２】
さらに，色画素判定部１６０５は，図１８に示すように，黒画素判定部１７０４の出力値を入力し，ブロック化するブロック化部１８０１と，ブロック化部１８０１でブロック化されたデータを，注目画素の隣接画素に黒画素ブロックがない場合に孤立点として除去する孤立点除去部１８０２と，孤立点除去部１８０２の出力を，色画素ブロックが存在する場合に３ブロック画素を膨張処理する膨張部１８０３と，色画素判定部１７０５の出力値を入力し，ブロック化するブロック化部１８０４と，色画素ブロックの連続性を検出し，カラー原稿であるか白黒原稿であるかを判定する連続カウント部１８０５と，を備えている。
【０１３３】
次に，以上のように構成された色判定部の動作について説明する。上記色相分割部１６０１において，Ｒ，Ｇ，Ｂ，Ｃ，Ｍ，Ｙ，Ｂｋ，Ｗの信号に分ける。色分割の例としては，それぞれの色の境界を求め，ＲＧＢの最大値と最小値との差をＲＧＢ差と定義し，以下のようにする。なお，この例では，ＲＧＢデータは数字が大きくなるほど黒くなる。
【０１３４】
（１）Ｒ−Ｙ色相領域境界（ｒｙ）
Ｒ−２＊Ｇ＋Ｂ＞０のときｒｙ＝１，一致しないときｒｙ＝０
（２）Ｙ−Ｇ色相領域境界（ｒｇ）
１１＊Ｒ−８＊Ｇ−３＊Ｂ＞０のときｒｇ＝１，一致しないときｙｇ＝０
（３）Ｇ−Ｃ色相領域境界（ｇｃ）
１＊Ｒ−５＊Ｇ＋４＊Ｂ＜０のときｇｃ＝１，一致しないときｇｃ＝０
（４）Ｃ−Ｂ色相領域境界（ｃｂ）
８＊Ｒ−１４＊Ｇ＋６＊Ｂ＜０のときｃｂ＝１，一致しないときｃｂ＝０
（５）Ｂ−Ｍ色相領域境界（ｂｍ）
９＊Ｒ−２＊Ｇ−７＊Ｂ＜０のときｂｍ＝１，一致しないときｂｍ＝０
（６）Ｍ−Ｒ色相領域境界（ｍｒ）
Ｒ＋５＊Ｇ−６＊Ｂ＜０のときｍｒ＝１，一致しないとｍｒ＝０
【０１３５】
（７）Ｗ画素判定
（Ｒ＜ｔｈｗ）＆＆（ｇ＜ｔｈｗ）＆＆（Ｂ＜ｔｈｗ）ならば，
ｙ＝ｍ＝ｃ＝０とする。
（８）Ｙ画素判定
（ｒｙ＝＝１）＆＆（ｙｇ＝＝０）＆＆（ＲＧＢ差＞ｔｈｙ）ならば，
ｙ＝１，ｍ＝ｃ＝０とする。
（９）Ｇ画素判定
（ｒｇ＝＝１）＆＆（ｇｃ＝＝０）＆＆（ＲＧＢ差＞ｔｈｇ）ならば，
ｃ＝ｙ＝１，ｍ＝０とする。
（１０）Ｃ画素判定
（ｇｃ＝＝１）＆＆（ｃｂ＝＝０）＆＆（ＲＧＢ差＞ｔｈｃ）ならば，
ｃ＝１，ｍ＝ｙ＝０とする。
（１１）Ｂ画素判定
（ｃｂ＝＝１）＆＆（ｂｍ＝＝０）＆＆（ＲＧＢ差＞ｔｈｂ）ならば，
ｃ＝ｍ＝１，ｙ＝０とする。
（１２）Ｍ画素判定
（ｂｍ＝＝１）＆＆（ｍｒ＝＝０）＆＆（ＲＧＢ差＞ｔｈｍ）ならば，
ｍ＝１，ｙ＝ｃ＝０とする。
（１３）Ｒ画素判定
（ｍｒ＝＝１）＆＆（ｒｙ＝＝０）＆＆（ＲＧＢ差＞ｔｈｒ）ならば，
ｙ＝ｍ＝１，ｃ＝０とする。
（１４）Ｂｋ画素判定
上記（７）〜（１３）の条件に該当しないとき，ｙ＝ｍ＝ｃ＝１とする。
【０１３６】
ここで，上記（７）〜（１４）の優先順位は，数の小さい方を優先する。
また，ｔｈｗ，ｔｈｙ，ｔｈｍ，ｔｈｃ，ｔｈｒ，ｔｈｇ，ｔｈｂは，複写（処理）前に決定される閾値である。また，ＲＧＢ差とは１画素内のＲＧＢそれぞれの画像データの最大値と最小値との差である。
【０１３７】
出力信号をｃ，ｍ，ｙの３ｂｉｔを出力する。つまり，３ｂｉｔでｃ，ｍ，ｙ，ｒ，ｇ，ｂ，ｂｋを表している。ここで，色相毎に閾値を変えているのは，色相領域毎に，有彩範囲が異なるときに，色相領域に応じた閾値を決定する。なお，この場合のおける色相分割は，一例であって，これに限定されるものではなく，他の式であっても勿論よい。
【０１３８】
さて，色相分割部１６０１の出力ｃ，ｍ，ｙは，それぞれラインメモリ１６０２〜１６０４に５ライン蓄えられ，色画素判定部１６０５に入力される。５ライン分のｃ，ｍ，ｙのデータは，カウント部１７０１，１７０２，パターンマッチング部１７０３に入力される。
【０１３９】
パターンマッチング部１７０３は，色相分割部１６０１で判定した画素（ｃ，ｍ，ｙ）が５×５において，ｃ，ｍ，ｙの全てが１（ｃ＝ｍ＝ｙ＝１），あるいは全てが０（ｃ＝ｍ＝ｙ＝０）以外の画素（色画素）である所のパターンマッチングを行う。すなわち，以下のパターンのいずれかに一致する場合に，色画素候補２とする。
【０１４０】
（１）パターン１
ａｒｙ［ｙ＋１］［ｘ］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ−１］［ｘ］
（２）パターン２
ａｒｙ［ｙ］［ｘ＋１］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ］［ｘ−１］
（３）パターン３
ａｒｙ［ｙ＋１］［ｘ＋１］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ−１］［ｘ−１］
（４）パターン４
ａｒｙ［ｙ＋１］［ｘ−１］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ−１］［ｘ＋１］
【０１４１】
なお，上記における中心画素はｘ，ｙである。このパターン例を図１９に示す。上記の如く，パターンマッチング部１７０３においてパターンマッチングを行っているのは，孤立点などを拾わないようにするためである。反対に，網点などの，小面積の色検出する際には，中心画素が１（ｃ＝ｍ＝ｙ＝１），あるいは全てが０（ｃ＝ｍ＝ｙ＝０）以外の画素（色画素）であるかによって判定すればよい。
【０１４２】
カウント部１７０２は，上記判定した画素（ｃ，ｍ，ｙ）を５×５内において，それぞれ数をカウントする。このとき，カウントしたｃ，ｍ，ｙの最大値と最小値との差が，ｔｈｃｎｔ以上で，かつカウントしたｃ，ｍ，ｙの最小値が，ｔｈｍｉｎ未満ならば，色画素候補１とする。なお，上記ｔｈｃｎｔおよびｔｈｍｉｎは，複写（処理）前に設定する閾値である。
【０１４３】
また，ｙ，ｍ，ｃをプレーン展開し，Ｎ×Ｎのマトリックスにおいてそれぞれのプレーン毎に数を数え，最小値をブラック（Ｂｋ）であると仮定している。これにより，黒画素の読み取りがずれても補正することが可能になる。さらに，最大値と最小値との差を有彩画素であると仮定している。これにより，黒画素が読み取りがずれた画素を補正し，有彩画素を抽出する。つまり，一定画素の有彩画素がある場合に有彩画素としている。
【０１４４】
パターンマッチング部１７０３とカウント部１７０２の出力は，色画素判定部１７０５で色画素か否かを判定する。つまり，色画素候補１で，かつ色画素候補２であれば，入力データが色画素であると判定する。
【０１４５】
次いで，色画素判定部１７０５の出力をブロック化部１８０４に入力する。この動作はブロック化部１８０１と同様に行われ，以下の処理は４×４を１ブロック単位で動作する。そして，ブロック化部１８０４によってブロック化されたデータは連続カウント部１８０５に入力される。
【０１４６】
連続カウント部１８０５では，色画素ブロックの連続性をチェックし，カラー原稿か白黒原稿であるか否かを，例えば以下の如く判定する。
ＯＵＴ＝（有彩画素領域が主走査方向に連続するブロック数≧ＲＡＣＳ１）
＃（有彩画素領域が存在するラインが副走査方向に連続するブロック数≧ＲＡＣＳ１）
上記ＲＡＣＳ１は，複写（処理）前に決定される閾値である。なお，連続カウント部１８０５では，ハードウェアは，少なくなるように構成される。ここでは，単に連続性をチェックするので，主走査と副走査の判定条件は違ってもさほど支障をきたすものではない。
【０１４７】
カウント部１７０１は，色相判定部１６０１で判定した画素（ｃ，ｍ，ｙ）を５×５内において，それぞれ数をカウントする。すなわち，カウントしたｃ，ｍ，ｙの最大値と最小値との差が，ｔｈｃｎｔ以下で，かつカウントしたｃ，ｍ，ｙの最小値が，ｔｈｍｉｎ以上ならば，黒画素とする。
【０１４８】
なお，ｔｈｃｎｔ，ｔｈｍｉｎは，複写（処理）前に決定される閾値である。ここでは，ｙ，ｍ，ｃをプレーン展開し，Ｎ×Ｎのマトリックスにおいてそれぞれのプレーン毎に数を数え，その最小値をブラックであると仮定している。これにより，黒画素の読み取りがずれても補正することが可能となる。
【０１４９】
そして，最大値と最小値との差が有彩画素と仮定する。このことにより，黒画素の読み取りがずれた画素を補正し，有彩画素を抽出する。一定画素の有彩画素が存在する場合を有彩画素としている。読み取りずれで黒画素周辺の画素が色付くことがあるので，補正をするのがｔｈｍｉｎである。
【０１５０】
また，黒画素判定部１７０４による黒画素判定の出力をブロック化部１８０１においてブロック化する。ブロック化とは，４×４画素のマトリックスにおいて，２画素以上の色画素があれば，色画素ブロックとして出力する。このブロック化部１８０１以降の処理は，４×４を１ブロックとしてブロック単位に出力する。
【０１５１】
続いて，上記ブロック化したデータを孤立点除去部１８０２において，注目画素の隣り合う画素に黒画素ブロックがなければ，孤立点を除去する。この孤立点除去部１８０２の出力を，膨張部１８０３において，色画素ブロックが存在する場合は，３ブロック画素を膨張処理する。ここで膨張処理を行うのは，黒画素の周辺を黒文字処理するためである。ここで，出力Ｂ／Ｃ信号は，黒画素ブロックのときにＨを出力し，それ以外のときはＬを出力する。
【０１５２】
ところで，カウント部１７０１およびカウント部１７０２では，有彩（色）画素／無彩（黒）画素の判定条件によるメモリ量の増加を少なくしている。本来ならば，色相分割部１６０１から独立させた方がよいが，色相分割を独立にすると，パターンマッチングのメモリが増えるので好ましくない。
【０１５３】
また，上述してきた実施の形態は，ＲＧＢデータに対して行ってきたが，ＲＧＢデータに限定するものではなく，例えば輝度色差（Ｌａｂ色空間など）に対して色相判定を行うことは容易である。
【図面の簡単な説明】
【０１５４】
【図１】本発明の実施の形態に係る画像処理装置の概略構成を示すブロック図である。
【図２】図１における画像処理部の内部構成を示すブロック図である。
【図３】図２における原稿認識部の内部構成を示すブロック図である。
【図４】線画認識部のラプラシアン部における白領域検出または黒領域検出の動作を説明するための記号化されたマトリックスを示す説明図である。
【図５】線画の断面図であり，白領域と黒領域と閾値との関係を示す概念図である。
【図６】エッヂ量（ｘ）の関係を示す説明図である。
【図７】パターンマッチング処理のフローチャートである。
【図８】パターンマッチング処理（パターンマッチング部）のフローチャートである。
【図９】パターンマッチング処理における注目画素の設定を示す説明図である。
【図１０】本発明の実施の形態に係るパターンマッチング処理（パターンマッチング部）を示すフローチャートである。
【図１１】図１０のパターンマッチング処理における状態変数ＭＦＢの伝搬を示す説明図である。
【図１２】線画認識部のパターンマッチング部における状態変数の違いによる細線の判断例を示す説明図である。
【図１３】線画認識部の膨張部における補間処理の例を示す説明図である。
【図１４】本発明の実施の形態に係るパターンマッチング処理（パターンマッチング部）を示すフローチャートである。
【図１５】アンシャープマスキングによるディテール強調効果を示す説明図である。
【図１６】本発明の実施の形態に係る要部である色判定部の構成を示すブロック図である。
【図１７】図１６における色画素判定部の内部構成を示すブロック図である。
【図１８】図１６における色画素判定部の内部構成を示すブロック図である。
【図１９】パターンマッチングに使用するパターン例を示す説明図である。
【符号の説明】
【０１５５】
１０１    原稿読取部
１０２    画像処理部
１０３    画像記録部
２０１    ＲＧＢγ補正部
２０２    原稿認識部
２０３    遅延部
２０４    ＲＧＢフィルタ部
２０５    色補正部
２０６    ＵＣＲ部
２０７    変倍部
２０８    ＣＭＹＢｋフィルタ部
２０９    ＣＭＹＢｋγ補正部
２１０    階調処理部
３０１    線画認識部
３０２    色判定部
３０３    モノクロ化部
３０４    ラプラシアン部
３０５Ａ，３０５Ｂ    パターンマッチング部
３０６Ａ，３０６Ｂ    孤立点除去部
３０７Ａ，３０７Ｂ    画素密度変換部
３０８Ａ，３０８Ｂ    ページメモリ
３０９Ａ，３０９Ｂ    セレクタ
３１０Ａ，３１０Ｂ    孤立ブロック除去部
３１１Ａ，３１１Ｂ    膨張部
１６０１  色相分割部
１６０２〜１６０４  ラインメモリ
１６０５  色画素判定部
１７０１，１７０２  カウント部
１７０３  パターンマッチング部
１７０４  黒画素判定部
１７０５  色画素判定部
１８０１，１８０４  ブロック化部
１８０２  孤立点除去部
１８０３  膨張部
１８０５  連続カウント部
【図１】
2006203939.tif 000003
【図２】
2006203939.tif 000004
【図３】
2006203939.tif 000005
【図４】
2006203939.tif 000006
【図５】
2006203939.tif 000007
【図６】
2006203939.tif 000008
【図７】
2006203939.tif 000009
【図８】
2006203939.tif 000010
【図９】
2006203939.tif 000011
【図１０】
2006203939.tif 000012
【図１１】
2006203939.tif 000013
【図１２】
2006203939.tif 000014
【図１３】
2006203939.tif 000015
【図１４】
2006203939.tif 000016
【図１５】
2006203939.tif 000017
【図１６】
2006203939.tif 000018
【図１７】
2006203939.tif 000019
【図１８】
2006203939.tif 000020
【図１９】
2006203939.tif 000021