(57)【要約】【課題】カラー自動選択における判定精度を高め、操作の利便性を高める画像処理装置を提供する。【解決手段】原稿から画像を読み取り、原稿から読み取られた画像に対して画素毎に少なくとも白黒を含む色領域への分割判定を行い、色判定結果に応じて、原稿読取手段により原稿から読み取られた画像がカラー画像であるかモノクロ画像であるかを自動カラー判定し、記録媒体上に少なくとも黒領域のエッジ部分を含むテストパターンを出力し、記録媒体上に出力されたテストパターンに対する色判定結果と、予め標準とした標準記録紙上に出力したテストパターンに対する色判定結果の差分を検出し、色判定差分検出結果に応じて、自動カラー判定における判定に用いる白画素判定閾値と黒画素判定閾値を調整する。【選択図】図２７
2015119209.tif 000002
【特許請求の範囲】
【請求項１】
原稿から画像を読み取る原稿読取手段と、
前記原稿読取手段により原稿から読み取られた画像に対して画素毎に少なくとも白黒を含む色領域への分割判定を行う色判定手段と、
前記色判定手段による色判定結果に応じて、前記原稿読取手段により原稿から読み取られた画像がカラー画像であるかモノクロ画像であるかを判定する自動カラー判定手段と、
記録媒体上に少なくとも黒領域のエッジ部分を含むテストパターンを出力するテストパターン出力手段と、
前記テストパターン出力手段により前記記録媒体上に出力されたテストパターンに対する前記色判定手段による色判定結果と、予め標準とした標準記録媒体上に出力したテストパターンに対する前記色判定手段による色判定結果の差分を検出する色判定差分検出手段と、
前記色判定差分検出手段による色判定差分検出結果に応じて、前記自動カラー判定手段による判定に用いる白画素判定閾値と黒画素判定閾値を調整する自動カラー選択条件調整手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記自動カラー選択条件調整手段による前記白画素判定閾値の調整には、少なくとも前記色判定差分検出手段により検出された前記記録媒体上に出力されたテストパターンに対する地肌部の読取値と前記標準記録媒体に対する地肌部の読取値との差分検出結果に応じた白画素判定閾値の調整が含まれることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記自動カラー選択条件調整手段による前記黒画素判定閾値の調整には、前記少なくとも黒領域のエッジ部分を含むテストパターンから読み取られた画像がモノクロ画像であると判定され、色相毎に設定される黒画素判定閾値の調整が含まれることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記白画素判定閾値は色相別に設定されることを特徴とする請求項１から３の何れか１項に記載の画像処理装置。
【請求項５】
前記色判定手段による色領域への分割判定の条件を、前記テストパターンが出力された記録媒体から検出した地肌の色味に応じて変更することを特徴とする請求項１から４の何れか１項に記載の画像処理装置。
【請求項６】
前記自動カラー判定手段による判定に用いる白画素判定閾値と黒画素判定閾値を、予め設定された画像出力条件に応じて変更することを特徴とする請求項１から５の何れか１項に記載の画像処理装置。
【請求項７】
前記自動カラー選択条件調整手段は、画像入出力の際のキャリブレーション条件に応じて、前記白画素判定閾値と前記黒画素判定閾値の調整を行うことを特徴とする請求項１から６の何れか１項に記載の画像処理装置。
【請求項８】
前記キャリブレーション条件には、少なくともプロッタの画像出力特性に対する地肌追従条件を含むことを特徴とする請求項７記載の画像処理装置。
【請求項９】
原稿読取手段により原稿から画像を読み取り、読み取られた前記画像を記憶部に記憶する工程と、
前記記憶部に記憶された画像に対して画素毎に少なくとも白黒を含む色領域への分割判定を行い、該色判定結果を前記記憶部に記憶する工程と、
前記記憶部に記憶された色判定結果に応じて、前記記憶部に記憶された画像がカラー画像であるかモノクロ画像であるかを自動カラー判定し、該判定結果を前記記憶部に記憶する工程と、
記録媒体上に少なくとも黒領域のエッジ部分を含むテストパターンを出力する工程と、
前記記録媒体上に出力されたテストパターンに対する色判定結果と、予め標準とした標準記録媒体上に出力したテストパターンに対する色判定結果の差分を検出し、該検出された色判定差分検出結果を前記記憶部に記憶する工程と、
前記記憶部に記憶された色判定差分検出結果に応じて、前記自動カラー判定に用いる白画素判定閾値と黒画素判定閾値を調整する工程と、
を備えることを特徴とする画像処理方法。
【請求項１０】
原稿読取手段により原稿から画像を読み取り、読み取られた前記画像を記憶部に記憶する処理と、
前記記憶部に記憶された画像に対して画素毎に少なくとも白黒を含む色領域への分割判定を行い、該色判定結果を前記記憶部に記憶する処理と、
前記記憶部に記憶された色判定結果に応じて、前記記憶部に記憶された画像がカラー画像であるかモノクロ画像であるかを自動カラー判定し、該判定結果を前記記憶部に記憶する処理と、
記録媒体上に少なくとも黒領域のエッジ部分を含むテストパターンを出力する処理と、
前記記録媒体上に出力されたテストパターンに対する色判定結果と、予め標準とした標準記録媒体上に出力したテストパターンに対する色判定結果の差分を検出し、該検出された色判定差分検出結果を前記記憶部に記憶する処理と、
前記記憶部に記憶された色判定差分検出結果に応じて、前記自動カラー判定に用いる白画素判定閾値と黒画素判定閾値を調整する処理と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
スキャナ入力された画像が、カラー画像であるかモノクロ画像であるかを自動的に判定して、その判定結果に対して適切な処理を実施する自動カラー選択（Ａｕｔｏ  Ｃｏｌｏｒ  Ｓｅｌｅｃｔ：以下「ＡＣＳ」という。）機能に関する技術が既に知られている。
【０００３】
特許文献１には、ＡＣＳ機能を備えた画像処理装置に関する発明が開示されている。特許文献１には、原稿の画像を読み取って画像データを出力する画像読み取り部と、画像データに基づいて、原稿がカラー原稿であるかモノクロ原稿であるかを判定するＡＣＳ判定部と、原稿がカラー原稿であるかモノクロ原稿であるかをパネル面から手動で入力するための入力手段と、入力手段により入力された結果に応じて、ＡＣＳ判定部における判定条件を変更する条件変更手段とを有する構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に係る発明においては、ユーザが選択した読み取り原稿に対して、カラー画像であるかモノクロ画像であるかを手動で入力している為、ＡＣＳ判定のカスタマイズが可能になる。しかし、カラー画像であるかモノクロ画像であるかを手動で入力しなければならない為、操作が煩雑になる。
【０００５】
また、特許文献１では、ＡＣＳ判定条件のカスタマイズに使用した読み取り原稿に対して検出した全体のカラーレベルに応じたＡＣＳ判定条件の変更しか実施していない。このため、印字内容の異なる原稿に対する汎用性がない。具体的には、使用原稿の紙白の色味とスキャナ特性に起因して読み取り原稿にバラツキが出る影響から次のような問題が発生する。例えば、カラー／モノクロ混在の原稿を、ＡＣＳモードでコピーした際に、モノクロ原稿が一部、カラーとして判定され適切に画像処理されないという問題が発生する。
【０００６】
本発明は、このような実情に鑑みてなされたものであって、カラー自動選択における判定精度を高め、操作の利便性を高める画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明の画像処理装置は、原稿から画像を読み取る原稿読取手段と、原稿読取手段により原稿から読み取られた画像に対して画素毎に少なくとも白黒を含む色領域への分割判定を行う色判定手段と、色判定手段による色判定結果に応じて、原稿読取手段により原稿から読み取られた画像がカラー画像であるかモノクロ画像であるかを判定する自動カラー判定手段と、記録媒体上に少なくとも黒領域のエッジ部分を含むテストパターンを出力するテストパターン出力手段と、テストパターン出力手段により記録媒体上に出力されたテストパターンに対する色判定手段による色判定結果と、予め標準とした標準記録紙上に出力したテストパターンに対する色判定手段による色判定結果の差分を検出する色判定差分検出手段と、色判定差分検出手段による色判定差分検出結果に応じて、自動カラー判定手段による判定に用いる白画素判定閾値と黒画素判定閾値を調整する自動カラー選択条件調整手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、カラー自動選択における判定精度を高め、操作の利便性を高めることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における画像処理装置の概略構成図である。
【図２】本発明の実施形態における画像処理部の内部構成を示すブロック図である。
【図３】本発明の実施形態における原稿認識部の内部構成を示すブロック図である。
【図４】本発明の実施形態における線画認識部における白領域又は黒領域検出の動作を説明する模式図である。
【図５】本発明の実施形態における線画に対する白領域と黒領域と閾値との関係を示す模式図である。
【図６】本発明の実施形態におけるエッヂ量［ｘ］の関係を示す模式図である。
【図７】本発明の実施形態におけるパターンマッチング処理手順を示すフローチャートである。
【図８】本発明の実施形態におけるパターンマッチング部の処理手順を示すフローチャートである。
【図９】本発明の実施形態におけるパターンマッチング処理の注目画素設定について説明する模式図である。
【図１０】本発明の実施形態におけるパターンマッチング部のパターンマッチング処理手順を示すフローチャートである。
【図１１】本発明の実施形態におけるパターンマッチング処理における状態変数ＭＦＢの伝搬を示す模式図である。
【図１２】本発明の実施形態における線画認識部のパターンマッチング部における状態変数の違いによる細線の判断例を示す模式図である。
【図１３】本発明の実施形態における線画認識部の膨張部における補間処理の例を示す模式図である。
【図１４】本発明の実施形態における第２のパターンマッチング部のパターンマッチング処理手順を示すフローチャートである。
【図１５】本発明の実施形態におけるアンシャープマスキングによるディテール強調効果を示す模式図である。
【図１６】本発明の実施形態における色判定部の構成を示すブロック図である。
【図１７】本発明の実施形態における色画素判定部の内部構成を示すブロック図である。
【図１８】本発明の実施形態における色画素判定部の内部構成を示すブロック図である。
【図１９】本発明の実施形態におけるパターンマッチングに使用するパターン例について説明する模式図である。
【図２０】本発明の実施形態におけるスキャナ装置を用いたγキャリブレーション及びＡＣＳ判定条件調整について説明する模式図である。
【図２１】本発明の実施形態におけるスキャナ読み取り値を用いたキャリブレーションにおけるエンジンＲａｗγ特性算出方法について説明する模式図である。
【図２２】本発明の実施形態におけるスキャナ読み取り値を用いたキャリブレーションにおけるターゲットデータ算出方法について説明する模式図である。
【図２３】本発明の実施形態におけるキャリブレーションにおける高濃度部の補正について説明する模式図である。
【図２４】本発明の実施形態におけるＡＣＣ読み取り値に対する地肌補正率を説明する模式図である。
【図２５】本発明の実施形態におけるスキャナ読み取り値を用いたキャリブレーションにおけるベースγ制御点算出方法について説明する模式図である。
【図２６】本発明の実施形態におけるγテーブルの作成方法について説明する模式図である。
【図２７】本発明の実施形態におけるＡＣＳ判定条件の調整手順を示すフローチャートである。
【図２８】本発明の実施形態に係る色判定部における他の色相領域判定ブロック図である。
【図２９】本発明の実施形態に係る他の色相領域判定における広域色相分割について説明する模式図である。
【発明を実施するための形態】
【００１０】
本発明の実施形態の画像処理装置に関し以下図面を用いて説明するが、本発明の趣旨を越えない限り、何ら本実施形態に限定されるものではない。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。
【００１１】
本実施形態の画像処理装置は、概略的には、画像入出力装置に対する補正機能を備える画像処理装置において、記録媒体上に形成した黒領域のエッジ部分を含む画像パターンと紙白部つまり地肌部のスキャナ読み取り画像に対して画素毎に少なくとも白黒を含む色領域分割判定を実施して、少なくとも標準紙に対する判定結果を基準とした白画素判定用閾値と色相別に設定する黒画素判定用閾値を調整するというものである。
【００１２】
以下、本発明の実施形態における画像処理装置について図１を参照して詳細に説明する。本実施形態の画像処理装置１は、原稿読取部１０１と、画像処理部１０２と、画像記録部１０３と、から構成される。
【００１３】
原稿読取部１０１は、原稿から画像データを読み取り、アナログ信号である該画像データをデジタルデータに変換して出力する原稿読取手段である。画像処理部１０２は、デジタルデータに変換された画像データに各種補正処理等を施すと共に、線画認識・色判定等の原稿認識を行う。画像記録部１０３は、画像処理部１０２からの画像データに基づいて記録紙に画像を記録する。
【００１４】
なお、ここでは、原稿読取部１０１でＲ（レッド）・Ｇ（グリーン）・Ｂ（ブルー）の３色のカラー画像データ（以下「ＲＧＢデータ」という。）を読み取るものとする。また、画像処理部１０２でＲＧＢデータをＣ（シアン）・Ｍ（マゼンタ）・（イエロー）・Ｂｋ（ブラック）の４色のカラー画像データ（以下「ＣＭＹＢｋデータ」という。）に色変換するものとする。さらに、画像記録部１０３でＣＭＹＢｋデータに基づいて記録紙にカラー画像を出力するものとする。
【００１５】
次に、本実施形態における画像処理装置１に係る画像処理部１０２の内部構成について図２を参照して説明する。本実施形態の画像処理部１０２は、ＲＧＢγ補正部２０１と、原稿認識部２０２と、遅延部２０３と、ＲＧＢフィルタ部２０４と、色補正部２０５と、ＵＣＲ部２０６と、変倍部２０７と、ＣＭＹＢｋフィルタ部２０８と、ＣＭＹＢｋγ補正部２０９と、階調処理部２１０と、から構成される。
【００１６】
ＲＧＢγ補正部２０１は、原稿読取部１０１からデジタルデータであるＲＧＢデータを入力し、ＲＧＢデータのグレーバランスの補正を行う。また、それと共に、ＲＧＢデータの反射率データをＲＧＢデータの濃度データに変換する。
【００１７】
原稿認識部２０２は、原稿読取部１０１から入力したＲＧＢデータに基づいて、文字領域か絵柄領域かを判定して後述するＲＧＢフィルタ部２０４に文字分離信号Ｃ／Ｐ信号を出力する。また、それと共に、原稿領域の有彩領域か無彩領域かを判定してＲＧＢフィルタ部２０４に色領域信号Ｂ／Ｃ信号を出力する。文字分離信号Ｃ／Ｐ信号は文字エッジ領域又は絵柄領域を表す信号である。色領域信号Ｂ／Ｃ信号は有彩領域又は無彩領域を表す信号である。
【００１８】
遅延部２０３は、ＲＧＢγ補正部２０１からＲＧＢデータを入力し、原稿認識部２０２の出力結果と同期をとるためにＲＧＢデータを遅延させる。
【００１９】
ＲＧＢフィルタ部２０４はＲＧＢデータにＭＴＦ補正を行うフィルタであり、Ｎ×Ｍのマトリックスで構成されている。ＲＧＢフィルタ部２０４は、Ｃ／Ｐ信号が『３』のときには鮮鋭化処理を行い、『０』のときには平滑化処理を行い、『１』のときには入力データを処理せず、そのまま次段へ出力する。
【００２０】
色補正部２０５はＲＧＢデータを１次のマスキング等でＣＭＹデータに変換する。
【００２１】
ＵＣＲ部２０６はＣＭＹデータの共通部分をＵＣＲ（Ｕｎｄｅｒ  Ｃｏｌｏｒ  Ｒｅｍｏｖａｌ：下色除去）処理してＢｋデータを生成する。ＵＣＲ部２０６は、画像データの色再現を向上させるためのものである。ＵＣＲ部２０６は、色補正部２０５から入力したＣＭＹデータの共通部分をＵＣＲ処理してＢｋデータを生成し、ＣＭＹＢｋデータを出力する。
【００２２】
変倍部２０７は主走査方向の拡大・縮小又は等倍処理を施す。
【００２３】
ＣＭＹＢｋフィルタ部２０８は、画像記録部１０３の周波数特性やＣ／Ｐ信号に応じて、Ｎ×Ｎの空間フィルタを用い、平滑化処理や鮮鋭化処理を行う。
【００２４】
ＣＭＹＢｋγ補正部２０９は画像記録部１０３の周波数特性やＣ／Ｐ信号に応じて、γカーブを変更し処理するγ補正を行う。Ｃ／Ｐ信号が『０』のときは画像を忠実に再現したγカーブを用い、Ｃ／Ｐ信号が『０』以外のときはγカーブを立たせてコントラストを強調する。
【００２５】
階調処理部２１０は、画像記録部１０３の階調特性やＣ／Ｐ信号に応じて、ディザ処理・誤差拡散処理等の量子化を行う。Ｃ／Ｐ信号が『０』のときは階調重視の処理を行い、Ｃ／Ｐ信号が『０』以外のときは解像力重視の処理を行う。
【００２６】
なお、原稿認識部２０２から出力されるＣ／Ｐ信号は２ビット信号であり、Ｃ／Ｐ信号が『３』で文字領域を示し、『１』で絵柄上の文字、『０』で絵柄領域を示す。
【００２７】
Ｃ／Ｐ信号は、ＲＧＢフィルタ部２０４、色補正部２０５、ＵＣＲ部２０６、変倍部２０７、ＣＭＹＢｋフィルタ部２０８、ＣＭＹＢｋγ補正部２０９及び階調処理部２１０にカスケード接続され、画像データに同期して信号ＩＭＧを出力する。
【００２８】
また、Ｂ／Ｃ信号は１ビット信号であり、Ｈで無彩領域、Ｌで有彩領域を示す。Ｂ／Ｃ信号は、ＲＧＢフィルタ部２０４、色補正部２０５、ＵＣＲ部２０６にカスケード接続され、画像データに同期して出力する。
【００２９】
ここで、Ｃ／Ｐ信号が『３』以外のときは、スケルトンブラックのＢｋ生成を行う。Ｃ／Ｐ信号が『３』のときは、フルブラック処理を行う。さらにＣ／Ｐ信号が『３』かつＢ／Ｃ信号がＨのときは、Ｃ・Ｍ・Ｙのデータをイレースする。これは、黒文字のとき、黒成分のみで表現するためである。また、出力信号ＩＭＧは、Ｃ・Ｍ・Ｙ・Ｂｋのうち１色を出力する面順次の１色であり、すなわち、４回原稿読み取りを行うことにより、４色のフルカラーデータを生成することを想定している。
【００３０】
上述した画像処理部１０２の各部の構成より、画像処理部１０２では、絵柄処理つまり『Ｃ／Ｐ信号＝０』のときは、ＲＧＢフィルタ部２０４で平滑化処理を行う。また、ＵＣＲ部２０６でスケルトンブラックの処理を行い、ＣＭＹＢｋγ補正部２０９では階調性を重視したカーブを選択する。さらに、ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では階調を重視した処理を行う。
【００３１】
一方、文字処理つまり『Ｃ／Ｐ信号＝３』のときは、ＲＧＢフィルタ部２０４で強調処理を行い、ＵＣＲ部２０６でフルブラック処理を行う。また、ＣＭＹＢｋγ補正部２０９ではコントラストを重視したカーブを選択し、ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では解像度を重視した処理を行う。
【００３２】
また、黒文字処理つまり『Ｃ／Ｐ信号＝３でＢ／Ｃ信号＝Ｈ』として、Ｂｋを除くＣＭＹ処理時には、ＣＭＹデータを印字しない。これは、黒文字の周りが位置ずれのために色付くのを回避するためである。また、このときのＢｋデータのＲＧＢフィルタは色文字のときより、強めに行ってくっきりさせてもよい。
【００３３】
さらに、絵柄処理つまり『Ｃ／Ｐ信号＝１』のときは、ＲＧＢフィルタ部２０４で弱強調処理または入力データをそのまま出力するスルー処理を行う。また、ＵＣＲ部２０６でフルブラック処理を行い、ＣＭＹＢｋγ補正部２０９ではコントラストを重視したカーブを選択する。さらに、ＣＭＹＢｋフィルタ部２０８および階調処理部２１０では解像度を重視した処理を行う。ここでは黒文字処理のような処理を行わない。
【００３４】
このように画像処理部１０２では、絵柄、文字のエッヂ、絵柄上の文字の３種の処理を行うことができる。
【００３５】
次に、本実施形態の原稿認識部２０２の内部構成について図３を参照して説明する。本実施形態の原稿認識部２０２は、大別すると、線画らしさを検出する線画認識部３０１と、原稿の特定領域が有彩あるか無彩であるかを判定する色判定部３０２と、から構成される。色判定部３０２は、原稿読取部１０１により原稿から読み取られた画像に対して画素毎に少なくとも白黒を含む色領域への分割判定を行う色判定手段である。なお、ここでは、原稿読取部１０１の読み取り密度が４００ｄｐｉ程度の場合を例として説明する。
【００３６】
線画認識部３０１は、Ｃ／Ｐ信号を出力する。その出力ロジックは、線画のエッヂである場合に『３』を出力し、絵柄上の線画のエッヂである場合に『１』を出力し、それ以外の場合には『０』を出力する。
【００３７】
また、線画認識部３０１は、図示の如く、モノクロ化部３０３と、ラプラシアン部３０４と、パターンマッチング部３０５Ａ、３０５Ｂと、孤立点除去部３０６Ａ、３０６Ｂと、画素密度変換部３０７Ａ、３０７Ｂと、ページメモリ３０８Ａ、３０８Ｂと、セレクタ３０９Ａ、３０９Ｂと、孤立ブロック除去部３１０Ａ、３１０Ｂと、膨張部３１１Ａ、３１１Ｂと、から構成される。
【００３８】
なお、線画認識部３０１は、Ｃ／ＰＡとＣ／ＰＢを出力する。Ｃ／ＰＡ、Ｃ／ＰＢが、［Ｌ、Ｌ］のときにＣ／Ｐ信号の『０』、［Ｌ、Ｈ］のときにＣ／Ｐ信号の『１』、［Ｈ、Ｈ］のときにＣ／Ｐ信号の『３』とする。なお、Ｃ／ＰＡおよびＣ／ＰＢをＣ／Ｐ信号と総称する。
【００３９】
さらに、原稿認識部２０２では、原稿読取部１０１で読み取った原稿が、カラー原稿であるか白黒原稿であるか否かの判定を行っている。自動カラー選択モード時において、第１スキャン［Ｂｋ］作像のときに、カラー原稿であるか白黒原稿であるか否かの判定を行う。そして、その判定の結果が、白黒原稿であると判定した場合に１回スキャンで終了し、他方、カラー原稿であると判定した場合に４回スキャンを実行する。原稿認識部２０２は、色判定部３０２による色判定結果に応じて、原稿読取部１０１により原稿から読み取られた画像がカラー画像であるかモノクロ画像であるかを判定する自動カラー判定手段として機能する。自動カラー判定についての詳細は後述する。
【００４０】
色判定部３０２は、Ｂ／Ｃ信号を出力するが、その出力ロジックは、有彩領域であるとＬを出力し、無彩領域であるとＨを出力する。出力結果は、４×４画素を１画素に対応させた信号である。以下において出力結果の単位を１ブロックとする。なお、色判定部３０２は、図示の如く、色判定回路３１２と、ページメモリ３１３と、セレクタ３１４と、から構成される。
【００４１】
まず、線画認識部３０１の各部の動作について詳細に説明する。線画認識部３０１に入力されたＲＧＢデータは、先ず、モノクロ化部３０３において輝度データに変換され、モノクロ信号となる。ただし、輝度データでなくとも、ＲＧＢデータの中で最も濃いデータを選択し、モノクロ信号としてもよく、またはＧデータを輝度データとして用い、モノクロ信号としてもよい。何れの場合も、モノクロ化部３０３から出力される出力データは、数字が大きいと濃く、小さいと薄いことを表す。
【００４２】
ラプラシアン部３０４は、線画のエッヂを抽出すると同時に、白領域と黒領域とを検出する。白領域を検出することにより、白地上の線画の抽出のデータ、つまり細線候補とする。
【００４３】
ここで、図４に示す記号化されたマトリックスを参照して白領域検出の動作について説明する。例えば、白領域のマトリックスを３×３とすると、次のようになる。
（（a00＜thw）and（a01＜thw）and（a02＜thw）
and（a10＜thw）and（a11＜thw）and（a02＜thw））
or  （（a10＜thw）and（a11＜thw）and（a12＜thw）
and（a20＜thw）and（a21＜thw）and（a22＜thw））
or  （（a00＜thw）and（a10＜thw）and（a20＜thw）
and（a01＜thw）and（a11＜thw）and（a21＜thw））
or  （（a01＜thw）and（a11＜thw）and（a21＜thw）
and（a02＜thw）and（a12＜thw）and（a22＜thw））
【００４４】
注目画素を含んで周辺データが閾値ｔｈｗより小さいとき、白領域候補とする。ここで、太線用と細線用と異なる値を使用する。太線用白領域候補は、一般的な白地の値を設定する。細線用白領域候補は、一般的な白地の値よりもやや低い値、つまり白寄りの値にする。細線用白領域候補の方を白寄りにするのは、印刷物の網点や複写機の万線などの絵柄のハイライトつまり明るい方が白領域候補となるのを避けるためである。
【００４５】
このパターンは直交パターンの例を示すが、斜めなどのパターンを追加してもよい。
【００４６】
さらに、白領域候補から、白領域を算出するために以下のようにラプラシアンを求める。
ｘ＝ （a22×２）−（a21＋a23）×ｉ
ｘ＝（（a22×４）−（a11＋a13＋a31＋a33））×ｉ／２＋ｘ
ｘ＝ （a22×２）−（a12＋ａ32）＋ｘ
【００４７】
ここで、ｉは主走査と副走査のＭＴＦの違いや、変倍ときの補正をする重み係数である。このときのｘの値がある値『Ｎ』の範囲ならば白領域とする。式で記述すると以下のようになる。
−Ｎ  ＜  ｘ  ＜  Ｎ
ここでは、太線用の閾値と細線用の閾値とを分けても分けなくてもよい。
【００４８】
このようにして、細線用白領域と太線用白領域とを算出する。これによって、絵柄上のハイライト側の小網点や万線パターンを抽出しないように除去している。
【００４９】
次に、太線用白領域の補正について説明する。例えば、白黒反転した文字つまり白が文字で周辺が黒の画像の際に、複写機のような光学的読み取り装置の場合、フレアつまり白一点でなく、周辺に黒の影響を受ける等で、白データが通常より黒よりになる場合がある。このため、以下の補正を行う。
【００５０】
例えば、白領域のマトリックスを３×３とすると、次のようになる。
（（a00＜thw）and（a01＜thw）and（a02＜thw）
and（a10＜thw）and（a11＜thw）and（a02＜thw）
and（a20＜thw）and（a21＜thw）and（a22＜thw））
【００５１】
これを補正白領域候補として、上述したラプラシアンで補正白領域を算出する。ここでは、ｔｈｗは太線より黒よりの値で、Ｎは上述した太線用白領域の値より、小さくする。Ｎを小さくするのは、白データの変化量の少ない安定したデータを抽出するためである。ここで抽出した補正白領域の結果を上述した太線用白領域に補正し、太線用補正白領域とする。すなわち、補正白領域か、太線用白領域であれば、太線用補正白領域となる。ここでも、絵柄上のハイライト側の小網点や万線パターンを抽出しないように除去している。
【００５２】
次に、黒領域を検出することにより、黒領域上の線画の抽出データとする。ここで、図４の記号化されたマトリックスを用いて黒領域検出の動作について説明する。例えば、黒領域のマトリックスを３×３とすると、次のようになる。
（（a00＜thb）and（a01＜thb）and（a02＜thb）
and（a10＜thb）and（a11＜thb）and（a02＜thb））
or  （（a10＜thb）and（a11＜thb）and（a12＜thb）
and（a20＜thb）and（a21＜thb）and（a22＜thb））
or  （（a00＜thb）and（a10＜thb）and（a20＜thb）
and（a01＜thb）and（a11＜thb）and（a21＜thb））
or  （（a01＜thb）and（a11＜thb）and（a21＜thb）
and（a02＜thb）and（a12＜thb）and（a22＜thb））
【００５３】
注目画素を含んで周辺データが閾値ｔｈｂより小さいとき、黒領域候補とする。黒領域候補は、一般的な黒の値、換言すれば、文字として強調したい濃度を設定する。このパターンは直交パターンの例を示すが、斜めなどのパターンを追加してもよい。
【００５４】
さらに、黒領域候補から、黒領域を算出するために以下のようにラプラシアンを求める。
ｘ＝ （a22×２）−（a21＋a23）×ｉ
ｘ＝（（a22×４）−（a11＋a13＋a31＋a33））×ｉ／２＋ｘ
ｘ＝ （a22×２）−（a12＋a32）＋ｘ
【００５５】
ここで、ｉは主走査と副走査のＭＴＦの違いや、変倍ときの補正をする重み係数であり、前述した白領域の抽出のときと同様の式でよい。
【００５６】
このときのｘの値がある値『Ｎ』の範囲ならば黒領域とする。式で記述すると以下のようになる。
−Ｎ  ＜  ｘ  ＜  Ｎ
この結果を黒領域とする。これによって、絵柄上のシャドウ側の網点や万線パターンを抽出しないように除去している。
【００５７】
また、エッヂ量抽出は以下の式による。
ｘ＝ （a22×２）−（a21＋a23）×ｉ
ｘ＝（（a22×４）−（a11＋a13＋a31＋a33））×ｉ／２＋ｘ
ｘ＝ （a22×２）−（a12＋a32）＋ｘ
【００５８】
ここで、ｉは選択的な係数であり、ハードウェアを設計する際にゲート規模が小さくなるような係数、例えば、１、１．１１５、１．２５、１．３７５、１．５、１．６２５、１．１７５、１．８７５、２にしている。これらの係数は固定小数点演算により求める。このようにしておくことにより、主走査と副走査のＭＴＦつまり光学系と走行系等のぼけを修正する。
【００５９】
一般に、主走査と副走査のＭＴＦは異なっており、さらに副走査の変倍は読み取り装置の読み取り面積、言い換えれば速度を可変することにより行っているため、副走査の変倍率によりＭＴＦは異なる。ところが、本例では、図２で示したように、主走査変倍つまり変倍部２０７が原稿認識部２０２の後に配設されているので、特に気にすることはない。さらに副走査の倍率が大きいとき、例えば、２００％のときは、次にのようにエッヂ量を求めるようにマトリックスを選択可能にしてある。
【００６０】
ｘ＝ （a22×２）−（a21＋a23）×ｉ
ｘ＝（（a22×４）−（a11＋a13＋a31＋a33））×ｉ／２＋ｘ
ｘ＝ （a22×２）−（a12＋a32）＋ｘ
【００６１】
このようにすることにより、副走査の変倍処理に対応している。前述したようにラプラシアン部３０４は、白領域信号と黒領域信号とエッヂ量を出力する。太線用と細線用の白領域信号はＬで白領域を示し、黒領域信号はＨで黒領域を示す。
【００６２】
図５は、線画の断面図であり、白領域と黒領域と閾値との関係を示す概念図である。図において、ＴＨＢは黒領域の閾値、Ｔｈｗ１は白領域の細線用閾値、Ｔｈｗ２は白領域の太線用閾値、Ｔｈｗ３は白領域の補正用閾値を示す。また、図６はエッヂ量［ｘ］の関係を示す説明図である。
【００６３】
次に、パターンマッチング部３０５Ａ、３０５Ｂの動作について説明する。パターンマッチング部３０５Ａでは、黒領域周辺の白領域を抽出する。ここで白領域パターン［Ｗ］は、補正太線用白領域の信号であり、黒パターン［Ｋ］は黒領域信号とする。パターン例としては、下記の［７×７］のようになる。
【００６４】
(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   AN  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  w3 0  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))
【００７３】
ここでは、水平成分、垂直成分のみで示したが、同様に斜め成分のパターンも抽出する。このように黒パターンの両側が白パターンで挟まれている場合に、細線候補として抽出する。
【００７４】
なお、処理の流れは、図７および図１０のフローチャートで示すようになる。
注目画素を図９に示すように設定したときに、図７のように主走査方向に処理を実行して終了する。副走査方向に注目画素を＋１とし、主走査方向に再び処理を行う。
【００７５】
次に、本実施形態におけるパターンマッチング部３０５Ｂのパターンマッチング処理について図１０を参照して説明する。なお、ＭＦＢは状態変数であり、主走査の先端では０である。ＳＦＢ［ｉ］は、主走査方向の１ライン分の配列であり、１ライン前の状態変数である。
【００７６】
先ず、現在の状態変数ＭＦＢと１ライン前の状態変数ＳＦＢ［ｉ］とを比較する（ステップＳ２１）。ここでＭＦＢ＜ＳＦＢ［ｉ］であれば（ステップＳ２１、ＹＥＳ）、ＭＦＢ＝ＳＦＢ［ｉ］として（ステップＳ２２）、ステップＳ２２へ進み、そうでなければ（ステップＳ２１、ＮＯ）、そのままステップＳ２３へ進む。
【００７７】
ステップＳ２３では、パターンマッチング部３０５Ａからの出力ＰＭ１がｏｎであるか否かを判定し（ステップＳ２３）、ＰＭ１がｏｎでなければ、すなわちｏｆｆであれば（ステップＳ２３、ＮＯ）、ステップＳ２８へ進む。一方、ＰＭ１がｏｎであれば（ステップＳ２３、ＹＥＳ）、ステップＳ２４〜ステップＳ２７でＭＦＢの値が０より大きければ、その値を変更する。具体的には、ＭＦＢが８より大きければ１６に設定し（ステップＳ２４、ステップＳ２５）、ＭＦＢが０より大きく８より小さい場合には８に設定する。
【００７８】
ステップＳ２８では、白地領域であるか否かを判定する。ここでの白地領域は、ラプラシアン部３０４の出力の細線用白領域をａとして、次のようになるときに白地領域と判定する。
【００７９】
ａ00  AND  ａ01  AND  ａ02
AND  ａ10  AND  ａ11  AND  ａ12
AND  ａ20  AND  ａ21  AND  ａ11
【００８０】
ステップＳ２８において、白地領域と判定された場合（ステップＳ２８、ＹＥＳ）、パターンマッチング部３０５Ｂの出力１および出力２にＬ［ｏｆｆ］を出力し（ステップＳ２９）、ＭＦＢ＝１６に設定し（ステップＳ２０）、ステップＳ４６へ進む。
【００８１】
一方、ステップＳ２８において、白地領域でないと判定された場合（ステップＳ２８、ＮＯ）、前述した細線パターンと一致するか否かによって細線パターンであるか否かを判定する（ステップＳ３１）。細線パターンでない場合には（ステップＳ３１、ＮＯ）、パターンマッチング部３０５Ｂの出力１および出力２にＬ［ｏｆｆ］を出力し（ステップＳ３２）、ＭＦＢ＝０であるか否かを判定する（ステップＳ３３）。ＭＦＢ＝０であれば（ステップＳ３３、ＹＥＳ）ステップＳ３６へ進み、ＭＦＢ＝０でなければ（ステップＳ３３、ＮＯ）、ＭＦＢ＝ＭＦＢ−１を設定して（ステップＳ３４）、ステップＳ４６へ進む。
【００８２】
また、ステップＳ３１において、細線パターンである場合には（ステップＳ３１、ＹＥＳ）、ＭＦＢ＞８であるか否か判定する（ステップＳ３５）。ＭＦＢ＞８である場合は（ステップＳ３５、ＹＥＳ）、パターンマッチング部３０５Ｂの出力１および出力２にＨ［ｏｎ］を出力する（ステップＳ３６）。さらにステップＳ３７でＭＦＢ＝ＭＦＢ＋４を設定し、ステップＳ３８で、ＭＦＢ＞１６であれば（ステップＳ３８、ＹＥＳ）、ＭＦＢ＝１６に設定する（ステップＳ３９）。ＭＦＢ＞１６でなければ（ステップＳ３８、ＮＯ）、そのままステップＳ４６へ進む。
【００８３】
また、ステップＳ３５で８より大きくなければ（ステップＳ３５、ＮＯ）、ＭＦＢ＝０であるか否かを判定する（ステップＳ４０）。ＭＦＢ＝０であれば（ステップＳ４０、ＹＥＳ）、パターンマッチング部３０５Ｂの出力１および出力２にＬ［ｏｆｆ］を出力し（ステップＳ４１）、ステップＳ４６へ進む。ＭＦＢ＝０でなければ（ステップＳ４０、ＮＯ）、パターンマッチング部３０５Ｂの出力１にＬ［ｏｆｆ］を出力し、出力２にＨ［ｏｎ］を出力する（ステップＳ４２）。その後、ＭＦＢ＝ＭＦＢ＋４を設定する（ステップＳ４３）。ただし、ＭＦＢが１６以上になる場合には、１６にする。さらにステップＳ４４で、ＭＦＢ＞８であれば（ステップＳ４４、ＹＥＳ）、ＭＦＢ＝８に設定し、ＭＦＢ＞８でなければ（ステップＳ４４、ＮＯ）、そのままステップＳ４６へ進む。
【００８４】
ステップＳ４６では、ＳＦＢ［ｉ］＝ＭＦＢに設定し、１ライン前の状態変数ＳＦＢ［ｉ］を更新する。次に、ステップＳ４７で、ＳＦＢ［ｉ］＞ＳＦＢ［ｉ−１］を判定する。これは更新した１ライン前のデータと、更新した１ライン１画素前のデータとの比較である。１ライン前のデータＳＦＢ［ｉ］が大きければ、ＳＦＢ［ｉ−１］＝ＳＦＢ［ｉ］を設定し（ステップＳ４８）、処理を終了する。
【００８５】
上記の処理を主走査方向に順次行う。すなわち、状態変数ＭＦＢは、順次、図１１の矢印３の方向に伝搬する。そして、ステップＳ４６により矢印１の方向に伝搬し、ステップＳ４７により矢印２の方向に伝搬する。このことより、ステップＳ２８の白地領域判定またはステップＳ２２のパターンマッチングで、状態変数をセットすることにより、白地上の極細線を検出することが可能となり、絵柄上の網点を誤抽出することがなくなる。さらにステップＳ２４の細線パターンのマッチングにより、状態変数を再セットするので、文字の塊も良好に抽出することが可能となる。
【００８６】
また、状態変数で、パターンマッチング部３０５Ｂの出力１、出力２を異ならせて出力するので、白地上の文字と網点上の文字を切りわけて出力することが可能となる。
【００８７】
図１１から明らかなように、副走査の矢印方向は０または＋（プラス）方向であるので、ライン単位、つまり主走査１ライン毎に行う処理には、１ライン分の状態変数とパターンマッチングで必要なライン数のメモリを備えるだけで足り、ページメモリ等を備えることなく容易に実現することができる。
【００８８】
なお、パターンマッチング部３０５Ｂは、図２に示すように、出力１を孤立点除去部３０６Ａに出力し、出力２を孤立点除去部３０６Ｂに出力する。出力１と出力２との違いは、状態変数の違いである。これによって、例えば、図１２に示すように、罫線の枠の内部に文字［あ、い、う等］が記述されており、さらに枠の内部が網点の場合、罫線の枠は出力１、出力２とも細線と判断して、網点上の文字は状態変数の大きい出力２のみが細線と判断することが可能となる。
【００８９】
次に、孤立点除去部３０６Ａ、３０６Ｂについて説明する。孤立点除去部３０６Ａ、３０６Ｂは、どちらも同一の回路からなる。孤立点除去部３０６Ａの入力データは、パターンマッチング部３０５Ａの出力［ＰＭ１］とパターンマッチング部３０５Ｂの出力［出力１］からなる。孤立点除去部３０６Ｂの入力データは、パターンマッチング部３０５Ａの出力［ＰＭ１］とパターンマッチング部３０５Ｂの出力［出力２］からなる。孤立点除去部３０６Ａ、３０６Ｂにおいて、線画は連続した線からなるので、孤立点を除去する。孤立点は、網点を線画と誤検出した場合に生じる。
【００９０】
パターンマッチング部３０５Ａ、パターンマッチング部３０５Ｂのいずれか１つが抽出パターンであればそのいずれか１つを抽出パターンとする。例えば、４×４のパターンマッチングにおいて、抽出パターンが２以上ならば、中心画素［ａ22、ａ33でもよい］を抽出パターンとして補正して出力Ｈを出力する（以下「抽出パターン」という。）。このことにより、孤立点を除去すると同時に、膨張［拡大］している。図３に示すように、孤立点除去部３０６Ａ、３０６Ｂの出力は、それぞれＰＭ２、ＰＭ３である。
【００９１】
次に、画素密度変換部３０７Ａ、３０７Ｂについて説明する。画素密度変換部３０７Ａ、３０７Ｂは、どちらも同一ロジック［回路］である。現在まで、画像単位で行っていたが、ブロック単位［４×４］で処理を行うため、画素単位のデータをブロック単位に変換する。ここでは、単純に４×４の単純間引きをするが、孤立点除去部３０６Ａ、３０６Ｂで実質上４×４の膨張も行っているのでデータの欠落は生じない。
【００９２】
次に、ページメモリ３０８Ａ、３０８Ｂおよびページメモリ３１３について説明する。ページメモリ３０８Ａ、３０８Ｂおよび３１３の回路は、いずれも同一機能である。ページメモリ３０８Ａは画素密度変換部３０７Ａの出力結果を入力し、ページメモリ３０８Ｂは画素密度変換部３０７Ｂの出力結果を入力し、ページメモリ３１３は色判定回路３１２の出力結果を入力する。
【００９３】
ページメモリ３０８Ａ、３０８Ｂおよび３１３は、主走査方向１２００ドット×副走査方向１７３６ライン［約２ＭＢ］で構成され、解像度を主・副走査方向共に１６ドット／ｍｍとするＡ３サイズおよびＤＬＴ用紙［ダブルレターサイズ］より大きなサイズを有する。
【００９４】
第１スキャン時に入力データをブロック［４×４画素］単位でページメモリ３０８Ａ、３０８Ｂおよび３１３に記憶すると同時に、セレクタ３０９Ａ、３０９Ｂおよび３１４を介して出力される。第２スキャン以降では、第１スキャン時にページメモリ３０８Ａ、３０８Ｂおよび３１３に記憶されている判定結果がセレクタ３０９Ａ、３０９Ｂおよび３１４を介して出力される。すなわち、第１スキャンにおける色判定結果や線画抽出の処理データが第２スキャン以降において用いられるので、スキャン毎の色判定結果、線画抽出結果［Ｃ／Ｐ信号］のバラツキをなくすことができる。
【００９５】
次に、孤立ブロック除去部３１０Ａ、３１０Ｂについて説明する。孤立ブロック除去部３１０Ａ、３１０Ｂは、同一回路で同一機能を示す。例えば、５×５のブロックのマトリックスで、中心ブロックのみがｏｎ［Ｈ］で他がｏｆｆ［Ｌ］であるときこのブロックは孤立しているので、ｏｆｆとして出力Ｌを出力する。ｏｎとは抽出パターンを意味する。このことにより、周辺データから孤立しているブロックを除去する。
【００９６】
次に、膨張部３１１Ａ、３１１Ｂについて説明する。膨張部３１１Ａ、３１１Ｂは、同一回路で同一機能を示す。ここでは、Ｎ×ＮのＯＲ処理［膨張］をして、その後にＭ×ＭのＡＮＤ処理を行う［縮小］。そして、５×５の補間処理を行う。また、Ｍ−Ｎが膨張量となる。
【００９７】
ＭとＮはＮ＞Ｍの関係に立つ。ここでＯＲ処理をするのは、孤立しているブロックを隣接または周辺のブロックと連結させるためである。例として、３×３ブロック［１２×１２画素に対応］の膨張例を示す。
ａ00  or  ａ01  or  ａ02
or  ａ10  or  ａ11  or  ａ12
or  ａ20  or  ａ21  or  ａ11
【００９８】
その後に５×５画素のＡＮＤ処理［収縮］を施す。以下にその例を示す。
ａ00  AND  ａ01  AND  ａ02  AND  ａ03  AND  ａ04
AND  ａ10  AND  ａ11  AND  ａ12  AND  ａ13  AND  ａ14
AND  ａ20  AND  ａ21  AND  ａ22  AND  ａ23  AND  ａ24
AND  ａ30  AND  ａ31  AND  ａ32  AND  ａ33  AND  ａ34
AND  ａ40  AND  ａ41  AND  ａ42  AND  ａ43  AND  ａ44
【００９９】
その後に１００ｄｐｉのギザギザが残っているので、補間処理を行う。図１３に補間処理の例を示す。図において実線は１００ｄｐｉの補正前のギザキザを示し、破線が補正後の出力を示す。例えば、５×５のマトリックスにおいて以下のようになる。線画抽出したデータが以下の論理式を満たすとき、注目画素ａ２２のデータを反映［補正］する。
（パターン１  ａｎｄ！パターン２）
ｏｒ（パターン３  ａｎｄ！パターン４）
パターン１、２、３、４の詳細は以下のようになる。なお、ここで！は不定演算子を示す。
【０１００】
パターン１
（ａ00  and  ａ02  and  ！ａ04  and  ａ20  and  ａ22  and！ａ24
and  ！ａ40  and！ａ42  and！ａ44  ）
or（！ａ00  and  ａ02  and  ａ04  and！ａ20  and  ａ22  and  ａ24
and  ！ａ40  and！ａ42  and！ａ44  ）
or（！ａ00  and！ａ02  and！ａ04  and  ａ20  and  ａ22  and！ａ24
and  ａ40  and  ａ42  and  ！ａ44  ）
or（！ａ00  and！ａ02  and！ａ04  and！ａ20  and  ａ22  and  ａ24
and  ！ａ40  and  ａ42  and  ａ44  ）
【０１０１】
パターン２
（ａ11  and  ａ12  and  ａ13  and  ａ21  and  ａ22  and  ａ23
and  ａ31  and  ａ32  and  ａ33  ）
【０１０２】
パターン３
（！ａ00  and！ａ02  and  ａ04  and  ！ａ20  and！ａ22  and  ａ24
and  ａ40  and  ａ42  and  ａ44  ）
or（ａ00  and！ａ02  and！ａ04  and  ａ20  and  ！ａ22  and！ａ24
and  ａ40  and  ａ42  and  ａ44  ）
or（ａ00  and  ａ02  and  ａ04  and！ａ20  and！ａ22  and  ａ24
and  ！ａ40  and！ａ42  and  ａ44）
or（ａ00  and  ａ02  and  ａ04  and  ａ20  and  ！ａ22  and！ａ24
and  ａ40  and！ａ42  and！ａ44  ）
【０１０３】
パターン４
（！ａ11  and！ａ12  and！ａ13  and！ａ21  and！ａ22  and！ａ23
and  ！ａ31  and！ａ32  and！ａ33  ）
【０１０４】
抽出パターンを膨張することにより、文字の交点などを繋ぎ、さらに線画とその周辺を線画処理する。上述のパターンマッチングは十字の交点を抽出できないが、この膨張処理により連結することができる。また、線画とその周辺を線画と見なすのは、黒文字処理と空間フィルタを良好に作用させるためである。
【０１０５】
このことにより、特に、カタログの使用期間・仕様表のように罫線の中に網点があっても良好に罫線を抽出できる。白地を含む罫線を文字として抽出し、網点上の文字は白地上の文字と別の判定結果を出力するので、白地上の文字と網点上の文字を識別して別の処理を行うことが可能となる。
【０１０６】
〔線画認識部３０１のパターンマッチング部３０５Ｂの他の例〕
ここでは、前述の図３で示した線画認識部３０１のパターンマッチング部３０５Ｂの出力の条件を変えたものである。なお、基本的な構成および動作は上述と同様に付き、ここでは異なる部分のみを説明する。
【０１０７】
前述では、パターンマッチング部３０５Ｂで行う細線パターンマッチングにおいて、状態変数によって出力１および出力２を設定しているが、ここでは、さらに出力２の設定条件を追加して絵柄上の文字［罫線］を抽出できるようにするものである。
【０１０８】
次に、本実施形態における第２のパターンマッチング処理手順について図１４を参照して説明する。
図１０に示したフローチャートと同一の符号は共通の処理を示すため、ここでは異なる部分のみを説明する。
【０１０９】
ステップＳ３１において、前述した細線パターンであるか否かを判定し、細線パターンでない場合には（ステップＳ３１、ＮＯ）、以下に示す細線パターン１と一致するか否かを判定する（ステップＳ５０）。
【０１１０】
細線パターン１は、前述した細線パターンと同一のもの使用するが、同一でなくてもよい。ここで黒パターン［ｋ］は、黒領域またはエッヂ量が閾値ＴＨＲＢ（図６参照）より大きいものをＨとする。また、白パターン［ｗ］は、細線用白領域またはエッヂ量が閾値ＴＨＲＷより小さいものをＨとする。すなわち、エッヂ量成分で補正するのは細線のコントラストを上げるためである。ＴＨＲＢ、ＴＨＲＷの少なくとも一方は、細線パターンマッチングより抽出し易い値にする。ただし、細線パターンと細線パターン１のパターンマッチングのパターンが異なるときは、抽出結果が細線パターンの方が抽出し易いようにしておく。
【０１１１】
ステップＳ５０で、細線パターン１と一致しない場合は（ステップＳ５０、ＮＯ）、パターンマッチング部３０５Ｂの出力１および出力２にＬ［ｏｆｆ］を出力し（ステップＳ３２）、ＭＦＢ＝０であるか否かを判定する（ステップＳ３３）。そして、ＭＦＢ＝０であれば（ステップＳ３３、ＹＥＳ）ステップＳ４６へ進み、ＭＦＢ＝０でなければ（ステップＳ３３、ＮＯ）、ＭＦＢ＝ＭＦＢ−１を設定して（ステップＳ３４）、ステップＳ４６へ進む。
【０１１２】
一方、ステップＳ５０で、細線パターン１と一致する場合は（ステップＳ５０、ＹＥＳ）、ＭＦＢ＞８であるか否かを判定する（ステップＳ５１）。そして、状態変数ＭＦＢが８より大きければ（ステップＳ５１、ＹＥＳ）、パターンマッチング部３０５Ｂの出力１にＬ［ｏｆｆ］を出力し、出力２にＨ［ｏｎ］を出力する（ステップＳ５３）。その後、ＭＦＢ＝ＭＦＢ−１を設定して（ステップＳ３４）、ステップＳ４６へ進む。
【０１１３】
また、状態変数ＭＦＢが８より大きくなければ（ステップＳ５１、ＮＯ）、ＭＦＢ＝０であるか否かを判定する（ステップＳ５２）。そして、ＭＦＢ＝０でなければ（ステップＳ５２、ＮＯ）、ステップＳ４２へ進む。他方、ＭＦＢ＝０であれば（ステップＳ５２、ＹＥＳ）、パターンマッチング部３０５Ｂの出力１および出力２にＬ［ｏｆｆ］を出力し（ステップＳ３２）、再度、ＭＦＢ＝０であるか否かを判定する（ステップＳ３３）。そして、ＭＦＢ＝０であれば（ステップＳ３３、ＹＥＳ）、ステップＳ４６へ進み、ＭＦＢ＝０でなければ（ステップＳ３３、ＮＯ）、ＭＦＢ＝ＭＦＢ−１を設定して（ステップＳ３４）、ステップＳ４６へ進む。
【０１１４】
また、細線パターンマッチングと細線パターンマッチング１、閾値ＴＨＲＷおよびＴＨＲＢは大小関係を利用してコード化してもよい。コード化の例としては、細線パターンのＴＨＲＷ、ＴＨＲＢをそれぞれＴＨＲＷ、ＴＨＲＢとし、細線パターン１のＴＨＲＷ、ＴＨＲＢをそれぞれＴＨＲＷ１、ＴＨＲＢ１として、その大小関係を
ＴＨＲＷ＜ＴＨＲＷ１＜ＴＨＲＢ１＝ＴＨＲＢ
とすると、この場合、コード化しないと４または３ビット×ｎラインとなるが、次のようにコード化すると２ビット×ｎラインとなる。
【０１１５】
Ｐ＜ＴＨＲＷ                    →  コード『０』
ＴＨＲＷ  ＜Ｐ＜ＴＨＲＷ１      →  コード『１』
ＴＨＲＷ１＜Ｐ＜ＴＨＲＢ        →  コード『２』
ＴＨＲＢ  ＜Ｐ                  →  コード『３』
【０１１６】
ここで、Ｐはエッヂ量である。コードは『０』〜『３』であるので２ビットで表現することができ、コードを展開するときは逆の処理を行えばよい。また、大小関係は固定でなくとも良く、入れ替えることができるようにした方がよいことは勿論である。
【０１１７】
このことにより、状態変数［ＭＦＢ］を用いて、白地上のパターンと網点や色地上のパターンを切り換えることが可能で、しかも状態変数は共通に使用することができる。
【０１１８】
また、良好に網点上の文字を抽出することが可能であれば、図１４のフローチャートのＳ４０において網点上の文字を抽出する際、状態変数を参照しなくもよい。つまり、Ｓ４２の判定を常に一致していると判断する。このような方法で網点上の文字と白地上の文字を分離してやってもよい。
【０１１９】
したがって、特に、カタログの使用説明・仕様表のように罫線の中に網点があっても良好に罫線を抽出することができる。また、白地を含む罫線を文字として抽出し、網点上の文字は白地上の文字と別の判定を行っているので、実施の形態１よりさらに精度が向上する。白地上の文字と網点上の文字とを区別して、それぞれ別の処理を行うことが可能となる。
【０１２０】
図１１において、Ｐ（ｉ、Ｊ＋１）、Ｐ（ｉ＋１、Ｊ）、Ｐ（ｉ＋１、Ｊ−１）の３通りの伝搬方向しかないが、特に、Ｐ（ｉ＋１、Ｊ−１）の方向に関しては、−１だけでなく、−２、−３等を追加して、状態変数の伝搬方向の主走査方向性をなくした方がよい。
【０１２１】
さらに、画像データ全てをページメモリにもって行う装置においては、状態変数の伝搬方向は全方向（３６０度）にすれば、よいのは言うまでもない。
【０１２２】
次に、本実施形態におけるアンシャープマスキングによるディテール強調効果を施すことについて図１５を参照して説明する。図において、（ａ）は処理対象の主信号、（ｂ）はアンシャープ信号、（ｃ）はアンシャープマスク信号、（ｄ）はディテール強調ずみ信号を示している。本実施形態では、これらのエッヂ特性例に基づき補正を行う。本実施形態では、ラプラシアン部３０４において（ｃ）のアンシャープマスク信号を用いてエッヂ量の補正を行うが、（ｄ）のディテール強調ずみ信号や、その他の信号を用いて補正してもよい。
【０１２３】
また、パターンマッチング部３０５Ａで、白地上の黒［輪郭］を拾う場合には、網点［網掛け］上の文字は抽出しない。パターンマッチング部３０５Ｂにより、白地上の罫線と、網点上または色地上の罫線を別々に抽出する。例えば、“書”のような込み入った文字もパターンマッチング部３０５Ｂにより抽出する。
【０１２４】
なお、前述した例における状態変数は、状態変数の上限値を８［網点上の文字］と１６［白地上の文字］で説明したが、いくつであっても構わない。
【０１２５】
網点上の文字と白地上の文字の分離方法は、罫線内の網掛けがあり、その中の文字の誤検出を避けるためで、罫線が細いと、文字が近くにある可能性があるからであり、また罫線の幅が太くなるにつれ文字が近くにある可能性が減るからである。
【０１２６】
前述した例により、小さい文字や、線画、白地上の画数の多い文字や網点上の文字を別々に抽出することが可能となる。副走査方向の反映方向が一方向なので、ラスタースキャン方式の読み出し方法で、特にハードウェア化に適し、画像データに容易に反映が可能である。
【０１２７】
本実施形態における画像処理装置は、線画のエッヂを検出するアルゴリズムであり、特に印刷物特有の網点を検出して除去することはしていないので、ジェネレーション［複写機の複写物］等の網点を含まない原稿にも特に有効である。
【０１２８】
抽出したパターンを、画素単位の孤立点除去で小さな領域誤判定を除去し、その後は、大きなブロック単位［４×４］単位で広い範囲で孤立ブロックを除去するので、誤判定を良好に除去できる。さらに、ブロック単位の粗い画素密度を元の画素密度に変換するので、ブロック単位の粗い画素はなくなる。
【０１２９】
また、前述した膨張部３１１Ａ、３１１Ｂで、単純な膨張を行うと、孤立した領域が大きくなるだけであるが、この実施の形態のように、膨張量ＸとするとＸ＝Ｍ−Ｎとして、Ｍ画素膨張させて、その後にＮ画素縮小しているので、Ｘ＜Ｍであるから孤立した領域を連結させることができる。さらに膨張させる際に粗い密度で行っているので、換言すれば、粗い密度［ブロック単位］のまま膨張させるので、ハードウェアの量を低減することができる。
【０１３０】
また、第１スキャンの結果を第２スキャン以降も用いるので、必ず線画判定結果と色判定結果は一致するので、バラツキなく処理を行うことができる。さらにメモリに記憶するデータは、最終結果ではなくデータ処理中に、処理密度が粗くなった［粗くした］データを記憶するので、メモリに記憶するデータ量を低減することができる。
【０１３１】
また、線画判定結果と色判定結果の両方を、ページメモリ３０８Ａ、３０８Ｂおよび３１３に記憶する代わりに、例えば、線画判定結果のみを記憶して、色判定結果はスキャン毎のものを用いてもよい。これにより、メモリ容量が２ＭＢ×２＝４ＭＢとなるので、市販の４ＭＢのメモリを用いて容易に構成することができる。
【０１３２】
さらに、ページメモリ３０８Ａを２ＭＢとし、ページメモリ３０８Ｂおよび１３１を４×４ブロックでなく、８×４ブロックとして、ページメモリ３０８Ｂおよび１３１のメモリ容量を１ＭＢとしても、全体のメモリ容量を４ＭＢ［２ＭＢ×２＋１ＭＢ］にすることができる。また、全ての判定結果をメモリに記憶する代わりに、スキャン毎にバラツキの大きいものだけをメモリに記憶するようにしてもよい。
【０１３３】
〔色判定部３０２における他の実施例〕
次に、本実施形態における色判定部３０２の構成について図１６を参照して説明する。この色判定部３０２は、色相分割部４０１と、ラインメモリ４０２〜４０４と、色画素判定部４０５と、から構成されている。
【０１３４】
色相分割部４０１は、後述のように構成・動作される色相分割手段である。ラインメモリ４０２〜４０４は、色相分割部４０１の出力ｃ、ｍ、ｙそれぞれを５ライン蓄える。色画素判定部４０５は、後述する図１７のように構成され、入力画像データが黒画素か色画素かを判定する無彩画素判定手段の機能を有する。
【０１３５】
次に、本実施形態における色画素判定部４０５の内部構成について図１７及び図１８を参照して説明する。まず図１７に示すように、色画素判定部４０５は、カウント部５０１およびカウント部５０２と、パターンマッチング部５０３と、黒画素判定部５０４と、色画素判定部５０５と、を備えている。
【０１３６】
カウント部５０１およびカウント部５０２は、ｃ、ｍ、ｙのプレーンを独立にカウントする。パターンマッチング部５０３は、色分割部４０１で判定した画素が５×５においてｃ、ｍ、ｙの全てが１あるいは全てが０以外の画素つまり色画素の部分に対して後述する所定のパターンマッチングを行う。黒画素判定部５０４はカウント部５０１の出力に基づいて黒画素の判定を行う。色画素判定部５０５は、カウント部５０２およびパターンマッチング部５０３の出力に基づいて色画素の判定を行う。
【０１３７】
さらに、色画素判定部５０５は、図１８に示すように、ブロック化部６０１と、孤立点除去部６０２と、膨張部６０３と、ブロック化部６０４と、連続カウント部６０５と、を備えている。
【０１３８】
ブロック化部６０１は黒画素判定部５０４の出力値を入力し、ブロック化する。孤立点除去部６０２は、ブロック化部６０１でブロック化されたデータを、注目画素の隣接画素に黒画素ブロックがない場合に孤立点として除去する。膨張部６０３は、孤立点除去部６０２の出力を、色画素ブロックが存在する場合に３ブロック画素を膨張処理する。ブロック化部６０４は、色画素判定部５０５の出力値を入力し、ブロック化する。連続カウント部６０５は、色画素ブロックの連続性を検出し、カラー原稿であるか白黒原稿であるかを判定する。
【０１３９】
次に、以上のように構成された色判定部３０２の動作について説明する。まず、色相分割部４０１において、Ｒ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｂｋ、Ｗの信号に分ける。色分割の例としては、それぞれの色の境界を求め、ＲＧＢの最大値と最小値との差をＲＧＢ差と定義し、以下のようにする。なお、この例では、ＲＧＢデータは数字が大きくなるほど黒くなる。
【０１４０】
（１）Ｒ−Ｙ色相領域境界（ｒｙ）
Ｒ−２＊Ｇ＋Ｂ＞０のとき  ｒｙ＝１、一致しないとき  ｒｙ＝０
（２）Ｙ−Ｇ色相領域境界（ｒｇ）
１１＊Ｒ−８＊Ｇ−３＊Ｂ＞０のとき  ｒｇ＝１、一致しないとき  ｙｇ＝０
（３）Ｇ−Ｃ色相領域境界（ｇｃ）
１＊Ｒ−５＊Ｇ＋４＊Ｂ＜０のとき  ｇｃ＝１、一致しないとき  ｇｃ＝０
（４）Ｃ−Ｂ色相領域境界（ｃｂ）
８＊Ｒ−１４＊Ｇ＋６＊Ｂ＜０のとき  ｃｂ＝１、一致しないとき  ｃｂ＝０
（５）Ｂ−Ｍ色相領域境界（ｂｍ）
９＊Ｒ−２＊Ｇ−７＊Ｂ＜０のとき  ｂｍ＝１、一致しないとき  ｂｍ＝０
（６）Ｍ−Ｒ色相領域境界（ｍｒ）
Ｒ＋５＊Ｇ−６＊Ｂ＜０のとき  ｍｒ＝１、一致しないとｍｒ＝０
（７）Ｗ画素判定
（Ｒ＜ｔｈｗｒ）＆＆（ｇ＜ｔｈｗｇ）＆＆（Ｂ＜ｔｈｗｂ）ならば、
ｙ＝ｍ＝ｃ＝０  とする。
（８）Ｙ画素判定
（ｒｙ＝＝１）＆＆（ｙｇ＝＝０）＆＆（ＲＧＢ差＞ｔｈｙ）ならば、
ｙ＝１、ｍ＝ｃ＝０  とする。
（９）Ｇ画素判定
（ｒｇ＝＝１）＆＆（ｇｃ＝＝０）＆＆（ＲＧＢ差＞ｔｈｇ）ならば、
ｃ＝ｙ＝１、ｍ＝０  とする。
（１０）Ｃ画素判定
（ｇｃ＝＝１）＆＆（ｃｂ＝＝０）＆＆（ＲＧＢ差＞ｔｈｃ）ならば、
ｃ＝１、ｍ＝ｙ＝０  とする。
（１１）Ｂ画素判定
（ｃｂ＝＝１）＆＆（ｂｍ＝＝０）＆＆（ＲＧＢ差＞ｔｈｂ）ならば、
ｃ＝ｍ＝１、ｙ＝０  とする。
（１２）Ｍ画素判定
（ｂｍ＝＝１）＆＆（ｍｒ＝＝０）＆＆（ＲＧＢ差＞ｔｈｍ）ならば、
ｍ＝１、ｙ＝ｃ＝０  とする。
（１３）Ｒ画素判定
（ｍｒ＝＝１）＆＆（ｒｙ＝＝０）＆＆（ＲＧＢ差＞ｔｈｒ）ならば、
ｙ＝ｍ＝１、ｃ＝０  とする。
（１４）Ｂｋ画素判定
上記（７）〜（１３）の条件に該当しないとき、ｙ＝ｍ＝ｃ＝１  とする。
【０１４１】
ここで、上記（７）〜（１４）の優先順位は、数の小さい方を優先する。また、ｔｈｗｒ、ｔｈｗｇ、ｔｈｗｂ、ｔｈｙ、ｔｈｍ、ｔｈｃ、ｔｈｒ、ｔｈｇ、ｔｈｂは、複写［処理］前に決定される閾値である。また、ＲＧＢ差とは１画素内のＲＧＢそれぞれの画像データの最大値と最小値との差である。
【０１４２】
出力信号としては、ｃ、ｍ、ｙの３ｂｉｔを出力する。つまり、３ｂｉｔでｃ、ｍ、ｙ、ｒ、ｇ、ｂ、ｂｋを表している。ここで、色相毎に閾値を変えているのは、色相領域毎に、有彩範囲が異なるときに、色相領域に応じた閾値を決定する。なお、この場合のおける色相分割は、一例であって、これに限定されるものではなく、他の式であってもよい。
【０１４３】
色相分割部４０１の出力ｃ、ｍ、ｙは、それぞれラインメモリ４０２〜４０４に５ライン蓄えられ、色画素判定部４０５に入力される。５ライン分のｃ、ｍ、ｙのデータは、カウント部５０１、５０２、パターンマッチング部５０３に入力される。
【０１４４】
パターンマッチング部５０３は、色相分割部４０１で判定した画素［ｃ、ｍ、ｙ］が５×５において、ｃ、ｍ、ｙの全てが１［ｃ＝ｍ＝ｙ＝１］、あるいは全てが０［ｃ＝ｍ＝ｙ＝０］以外の画素（色画素）である所のパターンマッチングを行う。すなわち、以下のパターンのいずれかに一致する場合に、色画素候補２とする。
【０１４５】
（１）パターン１
ａｒｙ［ｙ＋１］［ｘ］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ−１］［ｘ］
（２）パターン２
ａｒｙ［ｙ］［ｘ＋１］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ］［ｘ−１］
（３）パターン３
ａｒｙ［ｙ＋１］［ｘ＋１］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ−１］［ｘ−１］
（４）パターン４
ａｒｙ［ｙ＋１］［ｘ−１］＆＆ａｒｙ［ｙ］［ｘ］＆＆ａｒｙ［ｙ−１］［ｘ＋１］
【０１４６】
なお、上記における中心画素はｘ、ｙである。このパターン例を図１９に示す。上記の如く、パターンマッチング部５０３においてパターンマッチングを行っているのは、孤立点などを拾わないようにするためである。反対に、網点などの、小面積の色検出する際には、中心画素が１［ｃ＝ｍ＝ｙ＝１］、あるいは全てが０［ｃ＝ｍ＝ｙ＝０］以外の画素（色画素）であるかによって判定すればよい。
【０１４７】
カウント部５０２は、上記判定した画素［ｃ、ｍ、ｙ］を５×５内において、それぞれ数をカウントする。このとき、カウントしたｃ、ｍ、ｙの最大値と最小値との差が、ｔｈｃｎｔ以上で、かつカウントしたｃ、ｍ、ｙの最小値が、ｔｈｍｉｎ未満ならば、色画素候補１とする。なお、上記ｔｈｃｎｔおよびｔｈｍｉｎは、複写［処理］前に設定する閾値である。
【０１４８】
また、ｙ、ｍ、ｃをプレーン展開し、Ｎ×Ｎのマトリックスにおいてそれぞれのプレーン毎に数を数え、最小値をブラック（Ｂｋ）であると仮定している。これにより、黒画素の読み取りがずれても補正することが可能になる。さらに、最大値と最小値との差を有彩画素であると仮定している。これにより、黒画素が読み取りがずれた画素を補正し、有彩画素を抽出する。つまり、一定画素の有彩画素がある場合に有彩画素としている。
【０１４９】
パターンマッチング部５０３とカウント部５０２の出力は、色画素判定部５０５で色画素か否かを判定する。つまり、色画素候補１で、かつ色画素候補２であれば、入力データが色画素であると判定する。
【０１５０】
次いで、色画素判定部５０５の出力をブロック化部６０４に入力する。この動作はブロック化部６０１と同様に行われ、以下の処理は４×４を１ブロック単位で動作する。そして、ブロック化部６０４によってブロック化されたデータは連続カウント部６０５に入力される。
【０１５１】
連続カウント部６０５では、色画素ブロックの連続性をチェックし、カラー原稿か白黒原稿であるか否かを、例えば以下の如く判定する。
ＯＵＴ＝［有彩画素領域が主走査方向に連続するブロック数≧ＲＡＣＳ１］
#［有彩画素領域が存在するラインが副走査方向に連続するブロック数≧ＲＡＣＳ１］
上記ＲＡＣＳ１は、複写（処理）前に決定される閾値である。なお、連続カウント部６０５では、ハードウェアは、少なくなるように構成される。ここでは、単に連続性をチェックするので、主走査と副走査の判定条件は違ってもさほど支障をきたすものではない。
【０１５２】
カウント部５０１は、色相判定部４０１で判定した画素［ｃ、ｍ、ｙ］を５×５内において、それぞれ数をカウントする。すなわち、カウントしたｃ、ｍ、ｙの最大値と最小値との差が、ｔｈｃｎｔ以下で、かつカウントしたｃ、ｍ、ｙの最小値が、ｔｈｍｉｎ以上ならば、黒画素とする。
【０１５３】
なお、ｔｈｃｎｔ、ｔｈｍｉｎは、複写［処理］前に決定される閾値である。ここでは、ｙ、ｍ、ｃをプレーン展開し、Ｎ×Ｎのマトリックスにおいてそれぞれのプレーン毎に数を数え、その最小値をブラックであると仮定している。これにより、黒画素の読み取りがずれても補正することが可能となる。
【０１５４】
そして、最大値と最小値との差が有彩画素と仮定する。このことにより、黒画素の読み取りがずれた画素を補正し、有彩画素を抽出する。また、一定画素の有彩画素が存在する場合を有彩画素としている。読み取りずれで黒画素周辺の画素が色付くことがあるので、補正をするのがｔｈｍｉｎである。
【０１５５】
また、黒画素判定部５０４による黒画素判定の出力をブロック化部６０１においてブロック化する。ブロック化とは、４×４画素のマトリックスにおいて、２画素以上の色画素があれば、色画素ブロックとして出力する。このブロック化部６０１以降の処理は、４×４を１ブロックとしてブロック単位に出力する。
【０１５６】
続いて、上記ブロック化したデータを孤立点除去部６０２において、注目画素の隣り合う画素に黒画素ブロックがなければ、孤立点を除去する。この孤立点除去部６０２の出力を、膨張部６０３において、色画素ブロックが存在する場合は、３ブロック画素を膨張処理する。ここで膨張処理を行うのは、黒画素の周辺を黒文字処理するためである。ここで、出力Ｂ／Ｃ信号は、黒画素ブロックのときにＨを出力し、それ以外のときはＬを出力する。
【０１５７】
ところで、カウント部５０１およびカウント部５０２では、有彩［色］画素／無彩［黒］画素の判定条件によるメモリ量の増加を少なくしている。本来ならば、色相分割部４０１から独立させた方がよいが、色相分割を独立にすると、パターンマッチングのメモリが増えるので好ましくない。
【０１５８】
また、上述してきた実施の形態は、ＲＧＢデータに対して行ってきたが、ＲＧＢデータに限定するものではなく、例えばＬａｂ色空間などの輝度色差に対して色相判定を行うことは容易である。
【０１５９】
［キャリブレーション動作］
次に、本実施形態の画像処理装置１において、実際に記録紙等の記録媒体に画像形成したテストパターンのスキャナ読み取り値を用いたキャリブレーション（Ａｕｔｏ  Ｃｏｌｏｒ  Ｃａｌｉｂｒａｔｉｏｎ：以下「ＡＣＣ」という。）について図２０を参照して説明する。
【０１６０】
ＡＣＣ機能においては、実際に記録紙に画像形成されたテストパターンをスキャナで読み取って出力γ変換特性を調整する。これにより、長時間使用による画像形成装置の画像出力濃度に変化があっても、適切な狙いの出力濃度に補正することができ、出力画像の色再現性が保持される。なお、本実施形態では、上記テストパターンを不図示のテストパターン出力手段により出力する。また、テストパターン出力手段は、記録媒体上に少なくとも黒領域のエッジ部分を含むテストパターンを出力する。
【０１６１】
ここで、例えばＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）におけるスキャナ読み取り値を用いたＡＣＣ動作の場合、図１の画像処理部１０２におけるフィルタ処理、色補正、ＣＭＹＢｋγ補正部２０９等では、特に変換は行わない。
【０１６２】
本実施形態においては、画像処理装置１全体を制御する不図示のコントローラ部に図２０に示すような内部パターンを記憶する。この内部パターンをビットマップのＣＭＹＢｋ画像データとしてフレームメモリに展開する。そして、図２０における領域Ａに示すように、画像記録部１０３においてＣＭＹＢｋデータに基づいてユーザが設定した記録紙にキャリブレーション用の読み取りパターンに相当する画像を出力する。
【０１６３】
スキャナはセットされたこの原稿をスキャンすることで得る原稿の濃淡情報に基づき、前述の原稿読取部１０１がＲＧＢのデジタル画像データを出力する。
【０１６４】
原稿読取部１０１は、ＣＣＤ光電変換素子からなるラインセンサとＡ／Ｄコンバータと、それら駆動回路を具備し、セットされた原稿をスキャンすることで得る原稿の濃淡情報から、ＲＧＢデジタル画像データを生成し出力する。この際、原稿読取部１０１では、デジタル画像データに対し、シェーディング等、スキャナの機構上発生する照度歪み等の読み取りムラを補正する。
【０１６５】
変倍部２０７はＣＭＹＫ画像データのサイズ（解像度）を、プロッタ装置の再現性能に従ってサイズ（解像度）変換を行う。本実施例では特に変換は行わない。キャリブレーション動作の際、プロッタ用のγ補正部は、特にγ変換は実施せず（これを「γスルー出力」という。）、プロッタエンジンの特性を補正せずに出力する。
【０１６６】
画像処理装置１全体を制御するコントローラ部は、上述した図２０の領域Ａにある階調パターンのＲＧＢデジタル画像データ［スキャナ読み取り値］に対し、原稿読取部１０１から出力される読み取り値［読み取り領域内のＲＧＢ各値の平均値］を取得する。このようにして得られたＲＧＢのＡＣＣ読み取り値を図２１に示すようにＡＣＣパターン出力レベルに対するＡＣＣ読み取り値として設定する。ここで、ＡＣＣパターン出力レベルはプロッタエンジンへの書き込み値であり、ＡＣＣ読み取り値はプロッタ出力濃度に相当する。
【０１６７】
コントローラ部は、オペレータが設定した記録紙に対応するＣＭＹＫ毎に、以下に示すようなスキャナＲＧＢ読み取り値で設定されたＡＣＣターゲットを取得し、図２２に示すようにプロッタの入出力特性データとして設定する。この入出力特性データは、図２に示す階調処理部２１０で扱う各色８ビットのＣＭＹＫデータ入力に対するプロッタの出力濃度に相当する。ここで、ＡＣＣターゲットは目標濃度に相当し、プロッタの出力濃度はスキャナの読み取り値に換算される。
【０１６８】
コピーモードＡＣＣのターゲットデータ［ＣＭＹＫ濃度ターゲット］は例えば以下のとおりである。
＜ＲＧＢ＿Ｋ＞  １０２０、９５６、８８３、７９１、６９２、５９３、４８９、４０７、３３３、２５５、１９５、１４４、１１３、８４、６０、４３、３１
＜ＲＧＢ＿Ｃ＞  １０２０、９６８、９０９、８４３、７７１、６９１、５９６、５１１、４４３、３７７、３１０、２５０、１９３、１４９、１０９、８３、６９
＜ＲＧＢ＿Ｍ＞  １０２０、９８５、９４５、９００、８４６、７６３、６６７、５８１、５０２、４２５、３５５、２９１、２３１、１８６、１４１、１０３、８６
＜ＲＧＢ＿Ｙ＞  １０２０、９９６、９６９、９２０、８６５、８０４、７３８、６７５、６１８、５５７、４９６、４４６、３９５、３５９、３２８、３００、２８６
【０１６９】
コピーモードＡＣＣのＬＤデータ［ＣＭＹＫ入力データ］は例えば以下のとおりである。
＜ＬＤ＞  ０、  １６、  ３２、  ４８、  ６４、  ８０、  ９６、１１２、１２８、１４４、１６０、１７６、１９２、２０８、２２４、２４０、２５５
【０１７０】
コピーモードＡＣＣの高濃度補正パラメータは例えば以下のとおりである。高濃度補正パラメータはコピーＬＤデータに対するＯＮ／ＯＦＦ設定を規定する。
＜ＦＬＡＧ＿Ｋ＞  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ
＜ＦＬＡＧ＿Ｃ＞  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ
＜ＦＬＡＧ＿Ｍ＞  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ
＜ＦＬＡＧ＿Ｙ＞  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、  ＯＮ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ、ＯＦＦ
【０１７１】
プロッタの作像条件に応じて、トップ濃度つまりベタ濃度が変動する為、上記の高濃度部補正パラメータより、ＡＣＣ追従性ＯＦＦ地点を取得する。また、ＡＣＣ読み取りデータより実機のディジタル値としてのトップ濃度を読み取る。ここで、上記のＡＣＣ高精度補正のパラメータより、ＡＣＣ追従性ＯＦＦの開始点とＡＣＣ追従性ＯＦＦの終了点を読み取る。ＡＣＣ追従性ＯＦＦの開始点は目標濃度をトップ濃度に応じて変更する最も低濃度の点であり、ＡＣＣ追従性ＯＦＦの終了点は目標濃度をトップ濃度に応じて変更する最も高濃度の点である。
【０１７２】
この場合、
ＡＣＣ追従性ＯＦＦの開始点：ＬＤ  ＝  １７６
ＡＣＣ追従性ＯＦＦの終了点：ＬＤ  ＝  ２５５
となる。
【０１７３】
また、ＡＣＣパターン読み取り値より、実機のトップ濃度に相当するデータつまり読み取り値を抽出する。
【０１７４】
ここで、
ＡＣＣ追従性ＯＦＦ開始点のＡＣＣターゲットデータ         ：ｒｅｆ＿ｍａｘ
ＡＣＣ追従性ＯＦＦ終了点のＡＣＣターゲットデータ         ：ｒｅｆ＿ｍｉｎ
ＡＣＣ読み取りデータ（トップ濃度に相当する１６段目パッチ）：ｄｅｔ＿ｍｉｎ
高濃度部ＡＣＣターゲット補正前のＡＣＣターゲット         ：Ｘ
高濃度部ＡＣＣターゲット補正後のＡＣＣターゲット         ：Ｙ
とすると、高濃度部の補正値は以下のようになる。
【０１７５】
［参照フラグ］追従性が“ＯＮ”の場合
Ｙ＝Ｘ
［参照フラグ］追従性が“ＯＦＦ”の場合
Ｙ＝ref_max−（ref_max−Ｘ）＊（ref_max−det_min）／（ref＿max−ref_min）
ただし、ref_max＝ref_minの時は、Ｙ＝ref_maxとすること。
【０１７６】
得られた補正ＡＣＣターゲットを、図２３に示すように、ＬＤデータと対応付けてテーブル化する。なお、ＡＣＣ追従性開始点とトップ濃度の間のターゲット値は直線補間で求めることとする。また、ここで述べた高濃度部補正パラメータは、オペレータが設定した画像出力モードに応じて切り換える為、高濃度部側の追従性が異なる。
【０１７７】
例えば、写真出力モードが設定された場合は、高濃度部の階調性を重視した色再現になるように、追従性ＯＦＦの階調レベルが増え、逆に文字再現を重視した出力モードが選択された場合は、追従性ＯＦＦの階調レベルが減少するようなパラメータ設定となる。
【０１７８】
また、画像処理装置１におけるＣＰＵは、ＡＣＣターゲット地肌部データ『Ａｃｃ＿Ｔ１』と、ＡＣＣ読み取り値から地肌部（１段目）の読み取り値『Ｂ＿Ｄｅｔ』を、それぞれ取得する。そして、地肌部（１段目）の読み取り値『Ｂ＿Ｄｅｔ』とＡＣＣターゲット地肌部データ『Ａｃｃ＿Ｔ１』の差分を取り、各ＡＣＣ読み取り値の補正値『Ｃｎｇ＿Ａｃｃ＿Ｔｎ』を次式のようにして求める。
Cng_Acc_Tn＝（B_Det-Acc_T1）*Acc_U_Crct／100
ｎは図２０に示す段数［１〜１７段］に相当する。
【０１７９】
また、各ＡＣＣ読み取り値『Ａｃｃ＿Ｓｎ』に補正値を加算して補正を行う。補正は全てのＡＣＣ読み取り値に対して次式のように行う。
Acc_Sn'=Acc_Sn+Cng_Acc_Tn
【０１８０】
ＡＣＣ読み取り値に対する地肌補正パラメータは例えば以下のとおりである。以下において、Acc_ScnはＡＣＣ読み取り値を示し、Acc_U_Crctは補正率［単位：〔％〕］を示す。
＜パラメータ＞地肌補正用参照データ
文字部用
＜Black＞
＜Acc_Scn＞                 0、258、518、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
＜Cyan＞
＜Acc_Scn＞                 0、303、555、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
＜Magenta＞
＜Acc_Scn＞                 0、367、623、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
＜Yellow＞
＜Acc_Scn＞                 0、477、699、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
写真部用
＜Black＞
＜Acc_Scn＞                 0、258、518、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
＜Cyan＞
＜Acc_Scn＞                 0、303、555、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
＜Magenta＞
＜Acc_Scn＞                 0、367、623、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
＜Yellow＞
＜Acc_Scn＞                 0、477、699、915、1024＜/Acc_Scn＞
＜Acc_U_Crct＞              0、0、100、100、100＜/Acc_U_Crct＞
上記のようにパラメータは文字部・写真部の作像版毎に設定している。
【０１８１】
次に、本実施形態における地肌補正方法について以下に説明する。
【０１８２】
［ステップ１］
任意のＡＣＣ読み取り値に対する地肌補正率は以下のように求める。上述したパラメータの文字＜Black＞の例を用いてパラメータのＡＣＣ読み取り値に対する補正率を模式的に表現すると、図２４のようになる。ただし、横軸はＡＣＣ読み取り値、縦軸は補正率を示す。ここでは、原点を１０２４とする。各パラメータ間の補正率をＡＣＣパターン読み取り値に応じて線形補間した値が、実際に使用する地肌補正率となる。図中の実線が読み取り値に対する補正率を表す。
【０１８３】
［ステップ２］
ＡＣＣターゲットデータの地肌部［０段目］を取得し、ＡＣＣターゲット地肌部『Ａｃｃ＿Ｔ０』とする。
【０１８４】
［ステップ３］
地肌部［０段目］のＡＣＣパターン読み取り値『Ｂ＿Ｄｅｔ』とＡＣＣターゲット地肌部『Ａｃｃ＿Ｔ０』のデータの差分を取り、次式のように、各ＡＣＣ読み取り値の補正値『Ｃｎｇ＿ＡｃｃＴ＿ｋ』を求める。
Cng_AccT_k=（Acc_T0−B_Det）*Acc_U_Crct_k/100
※  ｋは、ｋ段目［ｋ＝０〜１６］の読み取り値に対する補正を表す。
【０１８５】
［ステップ４］
各ＡＣＣ読み取り値『Ａｃｃ＿Ｓｃｎ＿ｋ』にステップ３で求めた地肌補正値『Ｃｎｇ＿ＡｃｃＴ＿ｋ』を加算して次式のように補正を行う。なお、補正は全てのＡＣＣ読み取り値に対して行う。
Acc_Scn_k'=Acc_Scn_k+Cng_AccT_k
※  ｋは、ｋ段目［ｋ＝０〜１６］の読み取り値に対する補正を表す。
【０１８６】
次に、上述した高濃度部の補正まで行ったＡＣＣターゲットを用いて制御点入力パラメータから以下のステップを用いてターゲットデータを求める。制御点入力パラメータの例は以下のとおりとする。
【０１８７】
ここでは、００ｈ、１１ｈ、２２ｈ、３３ｈ、４４ｈ、５５ｈ、６６ｈ、７７ｈ、８８ｈ、９９ｈ、ＡＡｈ、ＢＢｈ、ＣＣｈ、ＤＤｈ、ＥＥｈ、ＦＦｈの１６通りを想定する。
【０１８８】
［ステップ１］
まず、制御点入力パラメータがＬＤデータのどの点と点の間にあるのかを見つける。ここで、制御点入力パラメータを『Ａｎ』とする。ｎは何番目の制御点入力パラメータかを示す。また、ＬＤデータを『Ｌｄｎ』とする。ｎは何番目のＬＤデータかを示す。そして、制御点入力パラメータについて、Ａｎに対するＬＤデータの関係は次式のように求められる。
【０１８９】
Ldn-1<An≦Ldn
※ただし、Ldn=0の場合はLdn-1≦An≦Ldnとなる。
【０１９０】
［ステップ２］
次に、Ｌｄｎ−１とＬｄｎに対するターゲットデータから直線補間の式を求め、制御点入力パラメータからターゲットデータを求める。ここで、ターゲットデータを『Ａｃｃ＿Ｔｎ』とする。ｎは何番目のＬＤデータに対するターゲットデータかを示す。また、補間後のターゲットデータを『Ａｃｃ＿Ｔｎ’』とする。ｎは何番目の制御点入力パラメータかを示す。そして、ターゲットデータを『Ａｃｃ＿Ｔｎ』としたとき、制御点入力パラメータに対するターゲットデータは次式のように求められる。
【０１９１】
Acc_Tn'=((Acc_Tn-Acc_Tn-1)/(Ldn-Ldn-1))*(An-Ldn)+Acc_Tn
【０１９２】
［ステップ３］
そして、以上のステップを制御点入力パラメータ分繰り返し、ターゲットデータを求める。
【０１９３】
［ステップ４］
次に、上述したＡＣＣターゲットを用いて制御点入力パラメータから以下のようにターゲットデータを求める。まず、ステップ３で求めたターゲットデータがＡＣＣ読み取り値のどの点と点の間にあるのかを見つける。ここで、ターゲットデータを『Ａｃｃ＿Ｔｎ’』とする。ｎは何番目の制御点入力パラメータかを示す。また、ＡＣＣ読み取り値を『Ａｃｃ＿Ｓｍ’』とする。ｍは何番目のＡＣＣ読み取り値かを示す。そして、ターゲットデータ『Ａｃｃ＿Ｔｎ’』に対して、ＡＣＣ読み取り値の関係は次式のように求められる。
【０１９４】
Acc_Sm'-1<Acc_Tn'≦Acc_Sm'
※Acc_Sm'=0の場合はAcc_Sm'-1≦a≦Acc_Sm'となる。
【０１９５】
そして、『Ａｃｃ＿Ｓｎ’−１』と『Ａｃｃ＿Ｓｍ’』に対するＡＣＣ出力パターンから直線補間の式を求め、ターゲットデータからＡＣＣ出力パターンデータを求める。ここで、ＡＣＣ出力パターンデータを『Ａｃｃ＿Ｐｍ』とする。ｍは何番目のＡＣＣ出力パターンに対するパターンを示す。また、補間後のＡＣＣ出力パターンデータを『Ａｃｃ＿Ｐｍ’』とする。そして、ＡＣＣ出力パターンを『Ａｃｃ＿Ｐｍ』としたとき制御点入力パラメータに対するターゲットデータは次式のように求められる。
【０１９６】
Acc_Pm'=((Acc_Pm−Acc_Pm'-1)/(Acc_Sm'−Acc_Sm'-1))*(Acc_Tn'-Acc_Sm')+Acc_Pm
以上を『Ａｃｃ＿Ｓｍ’』のｍ回分繰り返し、ターゲットデータを求める。
【０１９７】
次に、本実施形態における上述したベースγ制御点パラメータの算出方法の概念図を図２５に示す。このように算出した『ＡｃｃＰｍ’』が制御点出力パラメータとなるため、最終的なベースγ制御点パラメータは、［制御点入力パラメータ、制御点出力パラメータ］＝［Ａｍ、ＡｃｃＰｍ’］となる。
【０１９８】
本実施形態では、以上のベースγ制御点パラメータの算出およびγテーブルの設定は、画像処理装置１を制御するコントローラ部で実施される。このプロッタ出力特性を狙いの特性に補正するγテーブルは、図２に示したＣＭＹＢｋγ補正部２０９において設定される。そして、ＣＭＹＫ用のエッジ用γテーブル、非エッジ用γテーブルを用いて、ＣＭＹＫ版毎のテーブル変換を実施してγ補正を行う。
【０１９９】
ここで、ＣＭＹＢｋγ補正部２０９に設定されるγテーブルは、ＣＭＹＫ版毎の入力値０〜２５５に対するルックアップテーブル［０〜２５５の出力値］である。そして、画像処理装置１を制御するコントローラ部が、隣接するベースγ制御点の間を３次のスプライン曲線で補間することで、入力値０〜２５５に対するルックアップテーブルを作成する。
【０２００】
次に、図２６に示すような境界条件を満たす一般的に知られている３次の補間式を用いて、図２のＣＭＹＢｋγ補正部２０９に設定するγテーブルを求める。
【０２０１】
［自動カラー選択条件調整動作］
次に、本実施形態における画像処理装置１において、実際に記録紙に画像形成したテストパターンのスキャナ読み取り値を用いた自動カラー選択条件調整について図２７を参照して説明する。
【０２０２】
本実施形態では、テストパターン出力手段により記録媒体上に出力されたテストパターンに対する色判定部３０２による色判定結果と、予め標準とした標準記録媒体上に出力したテストパターンに対する色判定部３０２による色判定結果の差分を検出する色判定差分検出手段を原稿認識部２０２の機能として備える。
【０２０３】
また、本実施形態では、色判定部３０２による色領域への分割判定の条件を、テストパターンが出力された記録媒体から検出した地肌の色味に応じて変更する。これにより、色紙を含む地肌の色味が異なる原稿、つまりテストパターンを形成した記録紙をユーザが複数種類登録しても、標準紙に対するＡＣＳにおける判定の正確さを維持させるとともに、ユーザの利便性を高めることができる。
【０２０４】
また、本実施形態では、色判定差分検出手段による色判定差分検出結果に応じて、自動カラー判定手段による判定に用いる白画素判定閾値と黒画素判定閾値を調整する自動カラー選択条件調整手段を原稿認識部２０２の機能として備える。
【０２０５】
自動カラー選択条件調整手段による白画素判定閾値の調整には、少なくとも色判定差分検出手段により検出された記録媒体上に出力されたテストパターンに対する地肌部の読み取り値と標準記録媒体に対する地肌部の読み取り値との差分検出結果に応じた白画素判定閾値の調整が含まれる。なお、本実施形態では、白画素判定閾値は色相別に設定される。
【０２０６】
さらに、自動カラー選択条件調整手段による黒画素判定閾値の調整には、少なくとも黒領域のエッジ部分を含むテストパターンから読み取られた画像がモノクロ画像であると判定され、色相毎に設定される黒画素判定閾値の調整が含まれる。
【０２０７】
これにより、ユーザが使用する原稿における紙白の色味の違いやスキャナ読み取り特性等のバラツキがあっても、ＡＣＳにおける判定の正確さを維持させるとともに、ユーザの利便性を高めることができる。
【０２０８】
さらに、本実施形態では、自動カラー判定手段による判定に用いる白画素判定閾値と黒画素判定閾値を、予め設定された画像出力条件に応じて変更する。これにより、原稿における紙白の色味の違いやスキャナ読み取り特性等のバラツキがあっても、オペレータが設定する画像出力条件に適応してＡＣＳにおける判定の正確さを向上させることができる。
【０２０９】
また、自動カラー選択条件調整手段は、画像入出力の際のキャリブレーション条件に応じて、白画素判定閾値と黒画素判定閾値の調整を行う。これにより、原稿における紙白の色味の違い、スキャナ読み取り特性、プロッタの出力特性にバラツキがあっても、画像出力条件に応じてＡＣＳにおける判定の正確さを向上させることができる。
【０２１０】
さらに、上記のキャリブレーション条件には、少なくともプロッタの画像出力特性に対する地肌追従条件が含まれる。これにより、原稿における紙白の色味の違いやスキャナ読み取り特性等のバラツキに対して、地肌に対するグレーバランスの追従性を考慮してＡＣＳにおける判定の正確さを向上させることができる。
【０２１１】
本実施形態においては、実際に記録紙に画像形成されたテストパターンをスキャナで読み取って自動カラー選択条件を調整する。これにより、ユーザが使用する原稿における紙白の色味の違いやスキャナ読み取り特性等のバラツキがあっても、ＡＣＳにおける判定の正確さを維持させることができ、出力画像の品質とコピー生産性が保持される。
【０２１２】
まず、本実施形態の画像処理装置１にＡＣＣパターンを入力する（ステップＳ１０１）。そして、ＡＣＣパターンが出力された記録媒体を原稿として出力し、出力された原稿をスキャンして原稿読取部１０１によりＡＣＣパターンを読み取る（ステップＳ１０２）。
【０２１３】
次に、ＡＣＣパターンを読み取って得られたＲＧＢ画像データについてベースγ制御点を更新する（ステップＳ１０３）。
【０２１４】
そして、ユーザの要求に基づいてＡＣＳ判定調整を実施するかどうかを判定する（ステップＳ１０４）。ＡＣＳ判定調整を実施すると判定されたとき（ステップＳ１０４、ＹＥＳ）、次に、色判定差分検出手段はＲＧＢ画像データの白地レベルを検出する（ステップＳ１０５）。他方、ＡＣＳ判定調整を実施しないと判定されたとき（ステップＳ１０４、ＮＯ）、処理を終了する。
【０２１５】
次に、自動カラー選択条件調整手段は、検出された白地レベルに応じてＡＣＳ用白画素閾値を変更する（ステップＳ１０６）。そして、線画パターン部の色相を判定する（ステップＳ１０７）。さらに、色相別に黒画素閾値を変更する（ステップＳ１０８）。以下、さらに詳細に説明する。
【０２１６】
本実施形態ではカラー自動選択を上述したＭＦＰにおけるスキャナ読み取り値を用いたＡＣＣ動作と同時に実施する。その為、画像処理装置１全体を制御するコントローラ部に記憶された図２０に示すような内部パターンをフレームメモリにビットマップのＡＣＣパターン画像データとして展開する。そして、図２０における領域Ｂに示すような、画像記録部１０３においてＣＭＹＢｋデータに基づいてユーザが設定した記録紙に自動カラー選択条件調整用の読み取りパターンに相当する画像を出力する。
【０２１７】
スキャナはセットされたこの原稿をスキャンすることで得る原稿の濃淡情報に基づき、前述の原稿読取部１０１がＲＧＢのデジタル画像データを出力する。
【０２１８】
原稿読取部１０１は、ＣＣＤ光電変換素子からなるラインセンサとＡ／Ｄコンバータと、それら駆動回路を具備し、セットされた原稿をスキャンすることで得る原稿の濃淡情報から、ＲＧＢデジタル画像データを生成し出力する。この際、原稿読取部１０１では、デジタル画像データに対し、シェーディング等、スキャナの機構上発生する照度歪み等の読み取りムラ等を補正する。
【０２１９】
変倍部２０７はＣＭＹＫ画像データのサイズ（解像度）を、プロッタ装置の再現性能に従ってサイズ（解像度）変換を行う。本実施形態では特に変換は行わない。また、本実施形態においては、プロッタ用のγ補正部は、特にγ変換は実施せず（これを「γスルー出力」という。）、プロッタエンジンの特性を補正せずに出力する。
【０２２０】
画像処理装置１全体を制御するコントローラ部は、上述したように、図２０に示した領域Ａの階調パターンを使用して、プロッタの出力γ変換特性に対するＡＣＣを実施する。その際、オペレータによる操作部からのＡＣＳ判定条件調整の要求があると、図２０の領域Ｂにある少なくとも黒領域のエッジ部分を含むテストパターンと領域Ａにある図中の１段目に相当する地肌部のＲＧＢデジタル画像データを取得する。
【０２２１】
コントローラ部は、地肌部のスキャナＲＧＢデジタル画像データ、つまり読み取り領域内のＲＧＢ各値の平均値に基づいて、上述の色相分割部４０１で設定されるｔｈｗｒ、ｔｈｗｇ、ｔｈｗｂを、例えば、以下のように調整する。
Ｈｔｈｗｒ＝ｔｈｗｒ−Ｒｓｔ＋Ｒ
Ｈｔｈｗｇ＝ｔｈｗｇ−Ｇｓｔ＋Ｇ
Ｈｔｈｗｂ＝ｔｈｗｂ−Ｂｓｔ＋Ｂ
【０２２２】
ここで、『ｔｈｗｒ』は予め標準紙に対して設定されたＲデータに対するＷ画素判定閾値である。『ｔｈｗｇ』は予め標準紙に対して設定されたＧデータに対するＷ画素判定閾値である。『ｔｈｗｂ』は予め標準紙に対して設定されたＢデータに対するＷ画素判定閾値である。
【０２２３】
また、『Ｈｔｈｗｒ』は自動カラー選択条件調整により変更されたＲデータに対するＷ画素判定閾値である。『Ｈｔｈｗｇ』は自動カラー選択条件調整により変更されたＧデータに対するＷ画素判定閾値である。『Ｈｔｈｗｂ』は自動カラー選択条件調整により変更されたＢデータに対するＷ画素判定閾値である。
【０２２４】
また、『Ｒｓｔ』は標準紙の地肌部に対するスキャナＲ成分の読み取り値である。『Ｇｓｔ』は標準紙の地肌部に対するスキャナＧ成分の読み取り値である。『Ｂｓｔ』は標準紙の地肌部に対するスキャナＢ成分の読み取り値である。
【０２２５】
さらに、『Ｒ』は自動カラー選択条件調整時の記録紙の地肌部に対するスキャナＲ成分の読み取り値である。『Ｇ』は自動カラー選択条件調整時の記録紙の地肌部に対するスキャナＧ成分の読み取り値である。『Ｂ』は自動カラー選択条件調整時の記録紙の地肌部に対するスキャナＢ成分の読み取り値である。
【０２２６】
また、上述のＲＧＢ差に対する色相毎の黒画素判定閾値［ｔｈｙ、ｔｈｍ、ｔｈｃ、ｔｈｒ、ｔｈｇ、ｔｈｂ］に対する調整は、図２０における領域Ｂに対して上述のＡＣＳ判定を実施する。そして、カラー判定される色領域の黒画素判定閾値を１値増加させ、再度、図２０における領域Ｂに対するＡＣＳ判定を実施する。これをモノクロ判定されるまで繰り返し、最終的にモノクロ判定される黒画素判定閾値［ｔｈｙ’、ｔｈｍ’、ｔｈｃ’、ｔｈｒ’、ｔｈｇ’、ｔｈｂ’］に変更される。
【０２２７】
〔色判定部３０２における他の実施形態〕
次に、上述した本実施形態に係る色判定部３０２における他の実施形態について図２８及び図２９を参照して説明する。上述した図１６における色判定部３０２の色相分割部４０１において、Ｒ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｂｋ、Ｗの信号に分ける際、以下に示すように、色相判定した後に色相毎に白画素判定することもできる。なお、他の実施形態においても、ＲＧＢデータは数字が大きくなるほど黒くなる。
【０２２８】
［１］Ｒ−Ｙ色相領域境界（ｒｙ）  Ｒ−２＊Ｇ＋Ｂ＞０のとき  ｒｙ＝１
一致しないとき  ｒｙ＝０
［２］Ｙ−Ｇ色相領域境界（ｒｇ）  １１＊Ｒ−８＊Ｇ−３＊Ｂ＞０のとき  ｒｇ＝１
一致しないとき  ｙｇ＝０
［３］Ｇ−Ｃ色相領域境界（ｇｃ）  １＊Ｒ−５＊Ｇ＋４＊Ｂ＜０のとき  ｇｃ＝１
一致しないとき  ｇｃ＝０
［４］Ｃ−Ｂ色相領域境界（ｃｂ）  ８＊Ｒ−１４＊Ｇ＋６＊Ｂ＜０のとき  ｃｂ＝１
一致しないとき  ｃｂ＝０
［５］Ｂ−Ｍ色相領域境界（ｂｍ）  ９＊Ｒ−２＊Ｇ−７＊Ｂ＜０のとき  ｂｍ＝１
一致しないとき  ｂｍ＝０
［６］Ｍ−Ｒ色相領域境界（ｍｒ）  Ｒ＋５＊Ｇ−６＊Ｂ＜０のとき  ｍｒ＝１
一致しないとｍｒ＝０
【０２２９】
［７］Ｙ領域Ｗ画素判定［ｒｙ＝＝１］＆＆［ｙｇ＝＝０］＆＆［Ｒ＜ｔｈｙｗｒ］＆＆［ｇ＜ｔｈｙｗｇ］＆＆［Ｂ＜ｔｈｙｗｂ］ならば、ｙ＝ｍ＝ｃ＝０とする。
［８］Ｙ領域有彩［Ｙ］画素判定［ｒｙ＝＝１］＆＆［ｙｇ＝＝０］＆＆［ＲＧＢ差＞ｔｈｙ］ならば、ｙ＝１、ｍ＝ｃ＝０とする。
［９］Ｇ領域Ｗ画素判定［ｒｇ＝＝１］＆＆［ｇｃ＝＝０］＆＆［Ｒ＜ｔｈｇｗｒ］＆＆［ｇ＜ｔｈｇｗｇ］＆＆［Ｂ＜ｔｈｇｗｂ］ならば、ｙ＝ｍ＝ｃ＝０とする。
［１０］Ｇ領域有彩［Ｇ］画素判定［ｒｇ＝＝１］＆＆［ｇｃ＝＝０］＆＆［ＲＧＢ差＞ｔｈｇ］ならば、ｃ＝ｙ＝１、ｍ＝０とする。
［１１］Ｃ領域Ｗ画素判定［ｇｃ＝＝１］＆＆［ｃｂ＝＝０］＆＆［Ｒ＜ｔｈｃｗｒ］＆＆［ｇ＜ｔｈｃｗｇ］＆＆［Ｂ＜ｔｈｃｗｂ］ならば、ｙ＝ｍ＝ｃ＝０とする。
［１２］Ｃ領域有彩［Ｃ］画素判定［ｇｃ＝＝１］＆＆［ｃｂ＝＝０］＆＆［ＲＧＢ差＞ｔｈｃ］ならば、ｃ＝１、ｍ＝ｙ＝０とする。
［１３］Ｂ領域Ｗ画素判定［ｃｂ＝＝１］＆＆［ｂｍ＝＝０］＆＆［Ｒ＜ｔｈｂｗｒ］＆＆［ｇ＜ｔｈｂｗｇ］＆＆［Ｂ＜ｔｈｂｗｂ］ならば、ｙ＝ｍ＝ｃ＝０とする。
［１４］Ｂ領域有彩（Ｂ］画素判定［ｃｂ＝＝１］＆＆［ｂｍ＝＝０］＆＆［ＲＧＢ差＞ｔｈｂ］ならば、ｃ＝ｍ＝１、ｙ＝０とする。
［１５］Ｍ領域Ｗ画素判定［ｂｍ＝＝１］＆＆［ｍｒ＝＝０］＆＆［Ｒ＜ｔｈｍｗｒ］＆＆［ｇ＜ｔｈｍｗｇ］＆＆［Ｂ＜ｔｈｍｗｂ］ならば、ｙ＝ｍ＝ｃ＝０とする。
［１６］Ｍ領域有彩［Ｍ）画素判定［ｂｍ＝＝１］＆＆［ｍｒ＝＝０］＆＆［ＲＧＢ差＞ｔｈｍ］ならば、ｍ＝１、ｙ＝ｃ＝０とする。
［１７］Ｒ領域Ｗ画素判定［ｍｒ＝＝１］＆＆［ｒｙ＝＝０］＆＆［Ｒ＜ｔｈｒｗｒ］＆＆［ｇ＜ｔｈｒｗｇ］＆＆［Ｂ＜ｔｈｒｗｂ］ならば、ｙ＝ｍ＝ｃ＝０とする。
［１８］Ｒ画素判定［ｍｒ＝＝１］＆＆［ｒｙ＝＝０］＆＆［ＲＧＢ差＞ｔｈｒ］ならば、ｙ＝ｍ＝１、ｃ＝０とする。
［１９］Ｂｋ画素判定上記［７］〜［１８］の条件に該当しないとき、ｙ＝ｍ＝ｃ＝１とする。
【０２３０】
ここで、上記［７］〜［１９］の優先順位は、数の小さい方を優先する。また、ｔｈｙｗｒ、ｔｈｙｗｇ、ｔｈｙｗｂ、ｔｈｇｗｒ、ｔｈｇｗｇ、ｔｈｇｗｂ、ｔｈｃｗｒ、ｔｈｃｗｇ、ｔｈｃｗｂ、ｔｈｂｗｒ、ｔｈｂｗｇ、ｔｈｂｗｂ、ｔｈｍｗｒ、ｔｈｍｗｇ、ｔｈｍｗｂ、ｔｈｒｗｒ、ｔｈｒｗｇ、ｔｈｒｗｂ、ｔｈｙ、ｔｈｍ、ｔｈｃ、ｔｈｒ、ｔｈｇ、ｔｈｂは、複写処理前に決定される閾値である。
【０２３１】
また、ＲＧＢ差とは１画素内のＲＧＢそれぞれの画像データの最大値と最小値との差である。出力信号をｃ、ｍ、ｙの３ｂｉｔを出力する。つまり、３ｂｉｔでｃ、ｍ、ｙ、ｒ、ｇ、ｂ、ｂｋを表している。ここで、色相毎に閾値を変えているのは、色相領域毎に、有彩範囲が異なるときに、色相領域に応じた閾値を決定するためである。なお、この場合のおける色相分割は、一例であって、これに限定されるものではなく、他の式であってもよい。
【０２３２】
色相分割部４０１の出力ｃ、ｍ、ｙは、それぞれラインメモリ４０２〜４０４に５ライン蓄えられ、色画素判定部４０５に入力される。５ライン分のｃ、ｍ、ｙのデータは、カウント部５０１、５０２、パターンマッチング部５０３に入力される。
【０２３３】
パターンマッチング部５０３は、色相分割部４０１で判定した画素［ｃ、ｍ、ｙ］が５×５において、ｃ、ｍ、ｙの全てが１［ｃ＝ｍ＝ｙ＝１］、あるいは全てが０［ｃ＝ｍ＝ｙ＝０］以外の画素（色画素）である所のパターンマッチングを行う。すなわち、以下のパターンのいずれかに一致する場合に、色画素候補２とする。
【０２３４】
ここで４ビット色相領域判定について説明する。上述した図１６における色判定部３０２の色相分割部４０１において、１２色相の色領域およびＢｋ、Ｗの信号に分ける際、以下に示すように、色相判定することもできる。
【０２３５】
この色相領域判定では、図２８に示すように、画像信号［ｓｎｐｒ、ｓｎｐｇ、ｓｎｐｂ：８ｂｉｔ］を色相信号［ＨＵＥ：８ｂｉｔ］に変換して色相境界レジスタ［ＨＵＥ００〜１１：８ｂｉｔ］の設定値と比較する。その比較結果により色相領域［１２分割］を判定して色相領域信号［Ｈｕｅｊｏ：４ｂｉｔ］を出力する。
【０２３６】
＜色差信号生成＞
色差信号生成７０１における色差信号生成について以下に説明する。画像信号［ｓｎｐｒ、ｓｎｐｇ、ｓｎｐｂ：ｕ＿８ｂｉｔ］から色差信号［Ｘ、Ｙ：ｓ＿９ｂｉｔ］を以下の式により生成する。
Ｘ＝ｓｎｐｇ−ｓｎｐｒ
Ｙ＝ｓｎｐｂ−ｓｎｐｇ
ただし、Ｘが０以上の時にはＸ＝Ｘ／２とする。
【０２３７】
＜広域色相検出＞
次に、広域色相検出７０２における広域色相検出について説明する。色差信号［Ｘ、Ｙ：ｓ＿９ｂｉｔ］から、広域色相信号［ＨＵＥＨ：ｕ＿３ｂｉｔ］を生成する。広域色相信号『ＨＵＥＨ』は、図２９に参照されるように、Ｘ−Ｙ信号平面を８分割した時の位置を示す。
【０２３８】
広域色相は以下の条件式にて検出する。
！ＨＴ１かつＨＴ０・・・ＨＵＥＨ＝０
！ＨＴ２かつＨＴ１・・・ＨＵＥＨ＝１
！ＨＴ３かつＨＴ２・・・ＨＵＥＨ＝２
！ＨＴ４かつＨＴ３・・・ＨＵＥＨ＝３
！ＨＴ５かつＨＴ４・・・ＨＵＥＨ＝４
！ＨＴ６かつＨＴ５・・・ＨＵＥＨ＝５
！ＨＴ７かつＨＴ６・・・ＨＵＥＨ＝６
！ＨＴ０かつＨＴ７・・・ＨＵＥＨ＝７
上記以外（Ｙ＝Ｘ＝０）・・・ＨＵＥＨ＝７
【０２３９】
ただし、ＨＴ１からＨＴ７は以下の通りとする。
ＨＴ０＝（Ｙ≧０）
ＨＴ１＝（Ｙ≧Ｘ）
ＨＴ２＝（Ｘ≦０）
ＨＴ３＝（Ｙ≦−Ｘ）
ＨＴ４＝（Ｙ≦０）
ＨＴ５＝（Ｙ≦Ｘ）
ＨＴ６＝（Ｘ≧０）
ＨＴ７＝（Ｙ≧−Ｘ）
【０２４０】
＜色差信号回転＞
次に、色差信号回転７０３における色差信号回転について以下に説明する。広域色相信号『ＨＵＥＨ：３ｂｉｔ』に応じて色差信号『ＸＡ、ＹＡ：Ｓ９ｂｉｔ』を生成する。色差信号［ＸＡ、ＹＡ］は色差信号平面［Ｘ、Ｙ］を回転して、『ＨＵＥＨ＝０』の領域に移動させた時の座標である。
【０２４１】
ＨＵＥＨ＝０のとき      ＸＡ＝Ｘ、ＹＡ＝Ｙ
ＨＵＥＨ＝１のとき      ＸＡ＝Ｘ＋Ｙ、ＹＡ＝−Ｘ＋Ｙ
ＨＵＥＨ＝２のとき      ＸＡ＝Ｙ、ＹＡ＝−Ｘ
ＨＵＥＨ＝３のとき      ＸＡ＝−Ｘ＋Ｙ、ＹＡ＝−Ｘ−Ｙ
ＨＵＥＨ＝４のとき      ＸＡ＝−Ｘ、ＹＡ＝−Ｙ
ＨＵＥＨ＝５のとき      ＸＡ＝−Ｘ−Ｙ、ＹＡ＝Ｘ−Ｙ
ＨＵＥＨ＝６のとき      ＸＡ＝−Ｙ、ＹＡ＝Ｘ
ＨＵＥＨ＝７のとき      ＸＡ＝Ｘ−Ｙ、ＹＡ＝Ｘ＋Ｙ
【０２４２】
＜狭域色相検出＞
次に、狭域色相検出７０４における狭域色相検出について以下に説明する。色差信号『ＸＡ、ＹＡ：Ｓ９ｂｉｔ』から狭域色相信号『ＨＵＥＬ：５ｂｉｔ』を生成する。狭域色相信号『ＨＵＥＬ』は色差信号平面座標の傾き『ＨＵＥＬ／３２＝ＹＡ／ＸＡ』である。
ＸＡが０      ＨＵＥＬ＝０ｘ１Ｆ
上記以外      ＨＵＥＬ＝（ＹＡ＜＜５）／ＸＡ
【０２４３】
＜色相境界レジスタ＞
次に、色相境界レジスタについて説明する。色相境界レジスタ『ＨＵＥ００〜ＨＵＥ１１：８ｂｉｔ』設定値を出力する。色相境界レジスタは、０≦ＨＵＥ００≦ＨＵＥ０１≦ＨＵＥ０２≦・・・≦ＨＵＥ１０≦ＨＵＥ１１≦０ｘＦＦを満たすように設定される。
【０２４４】
＜色相領域判定＞
次に、色相領域判定について以下に説明する。
色相領域判定７０５において、色相境界信号『ＨＵＥ００〜ＨＵＥ１１：８ｂｉｔ』を色相信号『ＨＵＥＨＬ｛ＨＵＥＨ，ＨＵＥＬ｝：８ｂｉｔ』と比較して、色相領域『ＨＵＥ：４ｂｉｔ』を生成する。
ＨＵＥ００＜ＨＵＥＨＬ≦ＨＵＥ０１・・・ＨＵＥ＝１
ＨＵＥ０１＜ＨＵＥＨＬ≦ＨＵＥ０２・・・ＨＵＥ＝２
ＨＵＥ０２＜ＨＵＥＨＬ≦ＨＵＥ０３・・・ＨＵＥ＝３
ＨＵＥ０３＜ＨＵＥＨＬ≦ＨＵＥ０４・・・ＨＵＥ＝４
ＨＵＥ０４＜ＨＵＥＨＬ≦ＨＵＥ０５・・・ＨＵＥ＝５
ＨＵＥ０５＜ＨＵＥＨＬ≦ＨＵＥ０６・・・ＨＵＥ＝６
ＨＵＥ０６＜ＨＵＥＨＬ≦ＨＵＥ０７・・・ＨＵＥ＝７
ＨＵＥ０７＜ＨＵＥＨＬ≦ＨＵＥ０８・・・ＨＵＥ＝８
ＨＵＥ０８＜ＨＵＥＨＬ≦ＨＵＥ０９・・・ＨＵＥ＝９
ＨＵＥ０９＜ＨＵＥＨＬ≦ＨＵＥ１０・・・ＨＵＥ＝１０
ＨＵＥ１０＜ＨＵＥＨＬ≦ＨＵＥ１１・・・ＨＵＥ＝１１
上記以外                          ・・・ＨＵＥ＝０
尚、最後の条件は『ＨＵＥ１１＜ＨＵＥＨＬ』＆＆『ＨＵＥＨＬ≦ＨＵＥ００』と等価である。なお「＆＆」は条件「かつ」を意味する。
【０２４５】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上述した本実施形態の画像処理装置１における各処理を、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【０２４６】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【符号の説明】
【０２４７】
１    画像処理装置
１０１    原稿読取部
１０２    画像処理部
１０３    画像記録部
２０１    ＲＧＢγ補正部
２０２    原稿認識部
２０３    遅延部
２０４    ＲＧＢフィルタ部
２０５    色補正部
２０６    ＵＣＲ部
２０７    変倍部
２０８    ＣＭＹＢｋフィルタ部
２０９    ＣＭＹＢｋγ補正部
２１０    階調処理部
３０１    線画認識部
３０２    色判定部
３０３    モノクロ化部
３０４    ラプラシアン部
３０５Ａ、３０５Ｂ、５０３    パターンマッチング部
３０６Ａ、３０６Ｂ、６０２    孤立点除去部
３０７Ａ、３０７Ｂ    画素密度変換部
３０８Ａ、３０８Ｂ、３１３    ページメモリ
３０９Ａ、３０９Ｂ、３１４    セレクタ
３１０Ａ、３１０Ｂ    孤立ブロック除去部
３１１Ａ、３１１Ｂ、６０３    膨張部
４０１    色相分割部
４０２〜４０４    ラインメモリ
４０５、５０５    色画素判定部
５０１、５０２    カウント部
５０４    黒画素判定部
６０１、６０４    ブロック化部
６０５    連続カウント部
【先行技術文献】
【特許文献】
【０２４８】
【特許文献１】特開２００１−２６８３７９号公報
【図１】
2015119209.tif 000003
【図２】
2015119209.tif 000004
【図３】
2015119209.tif 000005
【図４】
2015119209.tif 000006
【図５】
2015119209.tif 000007
【図６】
2015119209.tif 000008
【図７】
2015119209.tif 000009
【図８】
2015119209.tif 000010
【図９】
2015119209.tif 000011
【図１０】
2015119209.tif 000012
【図１１】
2015119209.tif 000013
【図１２】
2015119209.tif 000014
【図１３】
2015119209.tif 000015
【図１４】
2015119209.tif 000016
【図１５】
2015119209.tif 000017
【図１６】
2015119209.tif 000018
【図１７】
2015119209.tif 000019
【図１８】
2015119209.tif 000020
【図１９】
2015119209.tif 000021
【図２１】
2015119209.tif 000022
【図２２】
2015119209.tif 000023
【図２３】
2015119209.tif 000024
【図２４】
2015119209.tif 000025
【図２５】
2015119209.tif 000026
【図２６】
2015119209.tif 000027
【図２７】
2015119209.tif 000028
【図２８】
2015119209.tif 000029
【図２９】
2015119209.tif 000030
【図２０】
2015119209.tif 000031