(57)【要約】【課題】  多値画像で誤差拡散処理系の画像でない種々の画像処理に対してジャギーを改善すると共に、ジャギー改善処理による弊害である、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりする現象を無くした画像処理方法及びその装置を提供する。【解決手段】  入力画像の輪郭部を補正して出力する画像処理において、異なる輪郭部の検出及び補正を行う画像信号補正部705,706を準備し、注目画素の画像データと該画像データの属性を示す属性データとに基づき輪郭検出用データOutDataZを生成し、輪郭検出用データOutDataZに基づき画像信号補正部705,706をセレクタ707で切り替えて輪郭部画素の補正を行なった出力データOutputDataを出力する。属性データは、注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、輪郭検出用データOutDataZの生成はオブジェクトのサイズを考慮して行う。【選択図】      図７
2006244277.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の輪郭部を補正して出力する画像処理装置であって、
輪郭部の検出及び補正を行う輪郭部補正手段と、
注目画素の画像データと該画像データの属性を示す属性データに基づき、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御する制御手段とを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御手段は、該オブジェクトのサイズを考慮して前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理装置。
【請求項２】
前記属性データは、注目画素が細い、あるいは小さなオブジェクトに含まれることを表すデータを含むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記属性データは、注目画素が線、グラフィック、文字のいずれかのオブジェクトに含まれることを表すデータを含むことを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記制御手段は、注目画素の画像データと該画像データの属性を示す属性データとに基づき生成された輪郭検出用データに対応して、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記輪郭部補正手段は、第１状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第１輪郭部補正手段と、前記第１状態とは異なる第２状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第２輪郭部補正手段とを含み、
前記制御手段は、前記輪郭検出用データが第１状態の場合に前記第１輪郭部補正手段を選択し、前記輪郭検出用データが第２状態の場合に前記第２輪郭部補正手段を選択することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させることを特徴とする請求項２記載の画像処理装置。
【請求項７】
前記制御手段は、前記輪郭部補正手段による輪郭部の検出を回避させることを特徴とする請求項６記載の画像処理装置。
【請求項８】
入力画像の輪郭部を補正してスムージング処理する画像処理回路であって、
輪郭部の検出及び補正を行う輪郭部補正手段と、
注目画素の画像データと該画像データの属性を示す属性データとに基づき、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御する制御手段とを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御手段は、該オブジェクトのサイズを考慮して前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理回路。
【請求項９】
前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させることを特徴とする請求項８記載の画像処理回路。
【請求項１０】
入力画像の輪郭部を補正してスムージング処理する画像処理方法であって、
輪郭部の検出及び補正を行う輪郭部補正モジュールを準備する工程と、
注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する工程と、
該輪郭検出用データに基づき、前記輪郭部画素の補正を行うか否かを制御する工程とを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御する工程では、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理方法。
【請求項１１】
前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記輪郭部の補正を回避させることを特徴とする請求項１０記載の画像処理方法。
【請求項１２】
入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムであって、
輪郭部の検出及び補正を行う輪郭部補正モジュールと、
注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する生成モジュールと、
該輪郭検出用データに基づき、前記輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理プログラム。
【請求項１３】
前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させることを特徴とする請求項１２記載の画像処理プログラム。
【請求項１４】
入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムをコンピュータ読出し可能に記憶する記憶媒体であって、
前記画像処理プログラムが、
輪郭部の検出及び補正を行う輪郭部補正モジュールと、
注目画素の画像データと該画像データの属性を示す属性データとに基づき輪郭検出用データを生成する生成モジュールと、
該輪郭検出用データに基づき、前記輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする記憶媒体。
【請求項１５】
前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させることを特徴とする請求項１４記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は擬似中間調処理した画像に対して、エッジ部のジャギーを改善する画像処理方法及びその装置に関するものである。
【背景技術】
【０００２】
従来から、低解像のプリンタで発生するジャギーを改善する技術が、いくつか提案されている。ここでいうジャギーとは、文字のエッジ部などで発生するガタツキ（ギザギザ）のことである。その様子の一例を図１８に示した。同図には複数の升目があるが、この１つ１つが１画素に相当し、図１８では300dpiである。図１８のように画像解像度が300dpiのように低いと、特に斜めの輪郭のエッジ部にジャギーが発生する。
【０００３】
このようなジャギーに対して、従来の技術では、パターンマッチングをおこなってパターンに一致した箇所に画像データを付加またはジャギーの原因となる画素を除去し、ジャギーを改善していた。ここでいうパターンマッチングの詳細については、公知な技術であるため、詳細な説明は省略する。特許文献１にはスムージング技術の一例が開示されている。
【０００４】
図１９に、そのジャギーを改善した例を示す。図１９における(a)は、パターンマッチングで一致した画素にハーフトーンのデータを付加した様子を示している。先ほどのジャギーの発生箇所にハーフトーンデータが付加されている。特に電子写真プロセスを有するようなプリンタでは、このようなハーフトーンデータをジャギー部に付加するだけで画質を大きく改善できる効果がある。
一方、図１９の(b)は、パターンマッチングで一致した画素に画素分割したデータを付加した様子を示している。画素分割とは、上記例では300dpiの１画素を複数に分割し部分的にドットを打つ技術である。ここでは、２分割を例にとって示している。画素分割の技術についても公知である為、ここでの詳細な説明は省略する。
【０００５】
前述した従来技術は、ジャギー部にハーフトーンのドットを付加したり、画素分割ドットを付加するものであったが、逆に、フルドットをハーフドットにしたり、フルドットを画素分割ドットにしたりするようなジャギー部の画素を薄くするような処理の場合もあり、このような処理を組み合わせることにより、前述したジャギーを改善していた。
【０００６】
しかしながら、このような手法では、図２０に示したような問題がある。すなわち、図２０の(a)のようなハーフトーン文字に対して、擬似中間調処理、例えばスクリーン処理を施した場合、図２０の(b)のようになってしまう。つまり、ハーフトーン文字の場合、プリンタの解像度である300dpi以上に粗いスクリーン解像度で擬似中間調処理を施すため、文字や細線が切れた状態になってしまう。なぜならば、プリンタの画素（ドット）を複数まとめることで擬似的にスクリーン解像度を表現することになる為、プリンタの解像度より高いスクリーン解像度を用いて疑似中間調処理を実施することは無い。例えば、通常のスクリーン解像度（線数）は133線〜175線、高くとも268線程度である。これ以上高い線数の場合、電子写真プリンタの特性で安定した画質が得られない為である。その結果、前述したパターンマッチングによるスムージングではジャギーの改善ができないという問題があった。
【０００７】
一方、マクロに見た文字の一部を示す図２１から明らかなように、問題にしているジャギー部が、ハーフトーン画像に対してスクリーン処理を施した画像のエッジ部に現われる場合がある。このように、上述したプリンタ解像度によるジャギーはもちろんのこと、スクリーン処理で発生する低線数のジャギーも問題となる。
【０００８】
さらに、ＪＰＥＧのような非可逆な圧縮をかけた画像に対してスムージング処理を施そうとした場合には、圧縮による劣化で発生したモスキートノイズ（非可逆圧縮の圧縮率を高くして、ファイル容量を小さくしたとき、高域成分を含んだ映像やエッジ部分に発生するノイズ。蚊の群れがエッジ部分にまとわりついているように見えることから、画像処理技術分野においてモスキートノイズとして一般的に用いられている表現である）によって、パターンマッチング処理によってマッチすべき画像とパターンとが合致しないため、スムージング処理が実行されないといった課題もある。この場合は当然ながら、十分なスムージング効果が得られない。
【０００９】
逆に、上述のようなジャギーを改善するために行うドットを付加する処理を、例えば３ポイント以下の小文字や、１ドットや２ドットの細線に対して施すと、その弊害もあった。例えば、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりして見える現象である。
【００１０】
上記問題を解決する為の技術として、特許文献２があげられるが、特許文献２は多値画像から誤差拡散処理などによって変換された２値画像のジャギー改善を対象としているため、多値画像に対しては十分な効果が得られない。さらに、誤差拡散処理系の画像を対象としているため、様々な画像形成処理に対しての対応が難しいことが指摘されている。
【特許文献１】特開平４−３４１０６０号
【特許文献２】特開平１０−４２１４１号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上記従来の問題点に鑑み、多値画像で誤差拡散処理系の画像でない種々の画像処理に対してジャギーを改善すると共に、ジャギー改善処理による弊害である、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりする現象を無くした画像処理方法及びその装置を提供する。
【課題を解決するための手段】
【００１２】
そこで、本発明では、以下の構成により前記課題を解決した。具体的には、以下の構成を備える。
【００１３】
本発明の画像処理装置は、入力画像の輪郭部を補正して出力する画像処理装置であって、輪郭部の検出及び補正を行う輪郭部補正手段と、注目画素の画像データと該画像データの属性を示す属性データに基づき、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御する制御手段とを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御手段は、該オブジェクトのサイズを考慮して前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御することを特徴とする。
【００１４】
ここで、前記属性データは、注目画素が細い、あるいは小さなオブジェクトに含まれることを表すデータを含む。また、前記属性データは、注目画素が線、グラフィック、文字のいずれかのオブジェクトに含まれることを表すデータを含む。また、前記制御手段は、注目画素の画像データと該画像データの属性を示す属性データとに基づき生成された輪郭検出用データに対応して、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御する。また、前記輪郭部補正手段は、第１状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第１輪郭部補正手段と、前記第１状態とは異なる第２状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第２輪郭部補正手段とを含み、前記制御手段は、前記輪郭検出用データが第１状態の場合に前記第１輪郭部補正手段を選択し、前記輪郭検出用データが第２状態の場合に前記第２輪郭部補正手段を選択する。また、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させる。また、前記制御手段は、前記輪郭部補正手段による輪郭部の検出を回避させる。
【００１５】
又、本発明の画像処理回路は、入力画像の輪郭部を補正してスムージング処理する画像処理回路であって、輪郭部の検出及び補正を行う輪郭部補正手段と、注目画素の画像データと該画像データの属性を示す属性データとに基づき、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御する制御手段とを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御手段は、該オブジェクトのサイズを考慮して前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させる。
【００１６】
又、本発明の画像処理方法は、入力画像の輪郭部を補正してスムージング処理する画像処理方法であって、輪郭部の検出及び補正を行う輪郭部補正モジュールを準備する工程と、注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する工程と、該輪郭検出用データに基づき、前記輪郭部画素の補正を行うか否かを制御する工程とを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御する工程では、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記輪郭部の補正を回避させる。
【００１７】
又、本発明の画像処理プログラムは、入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムであって、輪郭部の検出及び補正を行う輪郭部補正モジュールと、注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する生成モジュールと、該輪郭検出用データに基づき、前記輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させる。
【００１８】
又、本発明の記憶媒体は、入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムをコンピュータ読出し可能に記憶する記憶媒体であって、前記画像処理プログラムが、輪郭部の検出及び補正を行う輪郭部補正モジュールと、注目画素の画像データと該画像データの属性を示す属性データとに基づき輪郭検出用データを生成する生成モジュールと、該輪郭検出用データに基づき、前記輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させる
【発明の効果】
【００１９】
本発明によれば、プリンタの解像度に依存して発生するジャギーはもちろんのこと、擬似中間調処理により発生するジャギーをも改善することが可能となった。このような疑似中間調処理によるジャギーは、プリンタの解像度より遥かに低い解像度で発生するため、ハーフトーン文字やラインで顕著に目立っていたが、これを改善することが可能となった。その際、従来は、例えば３ポイント以下の小文字や、１ドットや２ドットの細線において、例えば、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりして見えるという弊害があったが、それを改善することも可能となった。
【００２０】
さらに、本発明を用いると、スキャナで読み込んだイメージ画像をビットマップデータからアウトラインデータに変換した、所謂ベクトル化したものにも対応可能である。
【発明を実施するための最良の形態】
【００２１】
以下、本発明にかかる一実施形態を、図面を参照しながら説明する。ここでは、好ましい実施形態として、電子写真技術を用いたスキャナ付きの複合機で説明するが、本発明が対象としている画像データは、ベクトル情報をあらわす画像信号である。ベクトル情報をあらわす画像信号とは、ＰＣのようなもので送られてくるＰＤＬ(Page Description Language)データやＰＤＬを解釈することで生成されるプリミティブな中間データは言うまでもなく、スキャナで読み取った画像信号をベクトル化したものなども含まれている。これらのベクトル情報は、テキストやグラフィックなどの各種オブジェクトを示すためのデータであり、最終的にビットマップデータに変換されるものである。又、以下の実施形態では、特に電子写真プロセスの複写機やプリンタなどを対象としているが、インクジェットやディスプレイのような他のプロセスを用いた機器でも応用可能である。
【００２２】
＜本実施形態の複写機全体の構成例＞
図２は、本実施形態で用いた複合機の機械的構成を示す概略断面図である。
【００２３】
図２に示したように、機械的構成としてカラースキャナ部Ａとプリンタ部Ｂとからなる。
【００２４】
カラースキャナ部Ａにおいて、原稿給送装置２０１Ａは、原稿を最終頁から順に１枚ずつプラテンガラス２０２Ａ上へ給送する。そして、原稿の読み取り動作終了後、プラテンガラス２０２Ａ上の原稿を排出するものである。原稿がプラテンガラス２０２Ａ上に搬送されると、ランプ２０３Ａを点灯し、このランプ２０３Ａを搭載したスキャナユニット２０４Ａの移動をおこない原稿を露光走査する。この走査による原稿からの反射光は、ミラー２０５Ａ，２０６Ａ，２０７Ａおよびレンズ２０８ＡによってＣＣＤカラーイメージセンサ（以下、単に「ＣＣＤ」という）２０９Ａへ導かれる。そして、ＣＣＤ２０９Ａに入射した反射光は、Ｒ，Ｇ，Ｂの３色に色分解され色毎の輝度信号として読み取られる。さらに、ＣＣＤ２０９Ａから出力される輝度信号はＡ−Ｄ変換によってデジタル信号の画像データとして画像処理部（３０４；図３参照）に入力し、シェーディング補正、階調補正、量子化（Ｎ値化）、スムージング処理などの周知の画像処理が施された後、プリンタ部Ｂ（３０５）へ転送される。
【００２５】
プリンタ部Ｂにおいて、レーザドライバ２２１Ｂは、レーザ発光部２０１Ｂを駆動するものであり、画像処理部３０４から出力された色毎の画像データに応じたレーザ光をレーザ発光部２０１Ｂによって発光させる。このレーザ光は感光ドラム２０２Ｂに照射され、感光ドラム２０２Ｂにはレーザ光に応じた潜像が形成される。そして、この感光ドラム２０２Ｂの潜像の部分には現像器２０３Ｂによって現像剤であるトナーが付着される。なお、図２では、現像器は、図示の簡略化のため、唯一つのみが示されるが、Ｃ，Ｍ，Ｙ，Ｋの色毎にトナーが用意され、それに応じて４つの現像器が設けられることは、勿論である。また、以上の構成の代わりに感光ドラムや現像器等を色毎に４組設ける構成であってもよい。
【００２６】
上述のレーザ光の照射開始と同期したタイミングで、カセット２０４Ｂまたはカセット２０５Ｂの選択されたいずれかから記録紙が給紙され、転写部２０６Ｂへ搬送される。これにより、感光ドラム２０２Ｂに付着した現像剤を記録紙に転写することができる。現像剤が転写された記録紙は、定着部２０７Ｂに搬送され、定着部２０７Ｂの熱と圧力により現像剤の記録紙への定着が行われる。そして、定着部２０７Ｂを通過した記録紙は排出ローラ２０８Ｂによって排出され、ソータ２２０Ｂはこの排出された記録紙をそれぞれ所定のビンに収納して記録紙の仕分けを行う。
【００２７】
なお、ソータ２２０Ｂは、仕分けが設定されていない場合は、最上位のビンに記録紙を収納する。また、両面記録が設定されている場合は、排出ローラ２０８Ｂのところまで記録紙を搬送した後、排出ローラ２０８Ｂの回転方向を逆転させ、フラッパ２０９Ｂによって再給紙搬送路へ導く。多重記録が設定されている場合は、記録紙を排出ローラ２０８Ｂまで搬送しないようにフラッパ２０９Ｂによって再給紙搬送路２１０Ｂへ導く。再給紙搬送路へ導かれた記録紙は上述したタイミングで転写部２０６Ｂへ給紙される。なお、色毎の潜像および現像の処理や定着は、上述の記録紙搬送機構を用いて、潜像形成等を４回分繰り返すことによって実現することは周知の通りである。
【００２８】
３１４はネットワークケーブルであり、一般的にイーサネット（登録商標）と呼ばれるシステムである。これは、10BaseTや10Base5などの物理的なケーブルを用いてＴＣＰ／ＩＰなどのプロトコルにより、接続される各ユニット相互の情報授受やデータの転送を行うことができる。無論、ネットワークケーブルを用いた有線に限定されたものではなく、無線を用いても同様な環境構築ができることは言うまでもない。このようなネットワークケーブルを介し、ＰＣ上からＰＤＬデータやディスプレイリストなどのＰＤＬデータに基づいて生成される中間データ、または画像bitmap信号を受信し、前述したプリンタで出力することも可能な構成となっている。本実施形態では、このＰＤＬ信号や中間データに対して本発明の処理を施すことを目的としている。
【００２９】
＜本実施形態の複合機の制御部の構成例＞
次に、図２で説明した複写機の電気的な制御部の構成例を、図１のブロック図を用いて説明する。
【００３０】
画像読み取り部３０９は、レンズ３０１、ＣＣＤセンサ３０２、アナログ信号処理部３０３等により構成され、レンズ３０１を介してＣＣＤセンサ３０２に結像された原稿画像３００が、ＣＣＤセンサ３０２によりアナログ電気信号に変換される。変換された画像情報は、アナログ信号処理部３０３に入力され、サンプル＆ホールド、ダークレベルの補正等が行われた後にアナログ／デジタル変換（Ａ／Ｄ変換）される。
【００３１】
このようにして変換されたデジタル信号は、図３に内部構成を示す画像処理部３０４において、シェーディング補正部１６０１、色補正処理部１６０３、フィルタ処理部１６０４、γ補正部１６０２、ビデオカウント処理部１６０６、画像形成処理部４０１、スムージング処理部１６０５などで処理がおこなわれた後、プリンタ３０５へ出力される。これらの処理のうち、シェーディング補正部１６０１、色補正処理部１６０３、フィルタ処理部１６０４、γ補正部１６０２の構成及びこれらの処理部で実行される内容については、本発明の本質に直接的に関与しないため、説明を省略する。
【００３２】
また、図１のネットワークケーブル３１４を通して、ホストコンピュータなどから送信されたＰＤＬデータは、プリンタに設けられたインタフェースとしてのネットワーク信号受信部３１５で受信される。このネットワーク信号受信部３１５には、受信したＰＤＬデータを解釈して、画像を示す画素単位のビットマップデータを生成するラスタライズ部（不図示）が含まれている。
【００３３】
また、ＰＤＬデータはテキスト、グラフィック、イメージ等といったオブジェクト毎にその属性を示すデータを保持している。ラスタライズ部では、この属性データを利用して、画像データの生成とともに、各画素の像域信号atrも生成する。像域信号atrについては後に詳細に説明する。
【００３４】
そして、ラスタライズ部で生成された画像データは、画像読み取り部３０９から入力されたデータと同様に、画像処理部３０４に入力され、矢印で示したように、フィルタ処理部１６０４に入力され、必要な画像処理が実行される。また、像域信号はスムージング処理部１６０５に入力される。カラー画像データの場合、ＣＭＹＫの色毎の濃度データが生成され、色毎のデータ夫々に対して後段の処理が実行される。
【００３５】
なお、ラスタライズ部はネットワーク信号受信部３１５の外部に設けられるものであってもよい。
【００３６】
画像形成処理部４０１では、通常スクリーン処理或いはディザ処理とよばれる処理が行われる。これらの処理については、本発明の本質に直接関係しないため詳細な説明は省略する。なお、本実施例では、画像形成処理部４０１に入力された色毎の８ビット画像信号を４ビット画像信号に変換したものをInDataSとしてスムージング処理部１６０５に出力している。
【００３７】
一方、上記のビデオカウント処理部１６０６では、トナーの消費量を測定するための処理がおこなわれる。これは、プリンタへ出力される信号値より、トナー消費量を計算するためのものである。これによって、トナーの残量をユーザに操作部３１３を介して知らせる構成となっている。処理の詳細については、周知なものであるため、説明を略する。
【００３８】
尚、ネットワーク信号受信部３１５からの信号が色補正処理部１６０３の後ろに接続されているが、これは、ネットワークを介して受信した信号がＣＭＹＫの濃度データであることを想定している為である。もし、受信した信号がＲＧＢの輝度信号であった場合は、不図示だが色補正処理部１６０３の前に接続されるようになることは言うまでもない。また、正確にはネットワークを介して受信した信号はＣＰＵ回路部３１０を介しているのだが、ここでは、簡略化して図３のように直接画像処理部３０４に接続しているように示してある。
【００３９】
図１の説明に戻ると、プリンタ３０５は、レーザ等からなる露光制御部（図示せず）、画像形成部（図示せず）、転写紙の搬送制御部（図示せず）等により構成され、入力された画像信号を転写紙上に記録する。また、ＣＰＵ回路部３１０は、ＣＰＵ３０６、ＲＯＭ３０７、ＲＡＭ３０８等により構成され、画像読み取り部３０９、画像処理部３０４、プリンタ部３０５、操作部３１３等や、本装置のシーケンスを統括的に制御する。操作部３１３には、ＲＡＭ３１１、ＲＯＭ３１２が予め用意されており、ＵＩ（ユーザインタフェース）上に文字を表示したり、ユーザが設定した情報を記憶したり、表示したりすることが可能な構成となっている。ユーザによって操作部３１３で設定された情報は、ＣＰＵ回路部３１０を介して、画像読み取り部３０９、画像処理部３０４、プリンタ３０５などに送られる構成となっている。
【００４０】
以上説明した構成の中で、本実施形態の特徴ある構成要素は、画像処理部３０４に含まれている。以下、画像処理部３０４内のスムージング処理部１６０５について詳細に説明をおこなう。
【００４１】
尚、以下の各構成要素については、ソフトウエアで実現したものとし、Ｃ言語で作成されたプログラムで示すが、これらは等価な機能をハードウエアやファームウエアで構築してもよい。つまり、各構成要素それぞれまたはいくつかの構成要素がＡＳＩＣなどの専用ハードウエアを用いて構成されていても、ソフトウエアによって得られる効果と同様の効果を得ることができる。
【００４２】
＜本実施形態のスムージング処理の構成例＞
図４に、本実施形態のスムージング処理１６０５の構成例を示す。
【００４３】
図４には、１色の処理しか示していないが、図３に示したようにスムージング処理部１６０５には４色分のデータが入力される。つまり、図４は、ＣＭＹＫ各色を独立に処理する構成となっている。これらの処理は色によらず基本的に同一なものであるため、本実施形態では説明を簡略化することを目的に、その内の１色だけを示したものとした。それでは、順に各ブロックを説明する。
【００４４】
まず、スムージング処理部１６０５の全体には、8bitの画像データImageData(InData')と、8bitの像域信号atrとが入力される。この画像データは、図３に示したように、γ補正部１６０２での処理などが施されたものである。像域信号は、画像の種類（文字、小文字、線、細線、イメージ、グラフィックなど）をあらわすためにラスタライズ部で生成されたビット値である。なお、像域信号atrは8bitに限定したものではない。これは、画像データImageDataの各画素に関連付けられている。
【００４５】
以下、スムージング処理部１６０５で実行される処理を順に説明する。なお、以下の説明はＣＰＵ３０６がＣ言語プログラム５０１を実行させることで行われる。もちろん、ハードウエアによって実行するものであってもよい。尚、以下の図面で注目画素及び参照画素を示した図において、太枠で囲まれた画素が注目画素、中太枠で囲まれた画素が各処理における参照画素、細枠の画素は非参照画素を示す。かかる参照画素領域はその一例であって、本実施形態はこれに限定されない。
【００４６】
（１．ビット変換部４０２）
ビット変換部４０２は、８ビット画像データであるImageData（InData'）を3bit画像データへ変換（所謂、量子化）する処理を行う。この処理の詳細を、図５にＣ言語プログラム５０１の例で示した。
【００４７】
図５において、"InData_K[yy][xx]"５０２で示されるのがInData'として入力される8bitデータ（0〜11111111=255）であり、"InData_K[yy][xx]"５０３で示されるのが出力される3bitデータ（0〜111=7）である。図４では、ビット変換部４０２でから出力される３bitデータをInDataとして記載している。
【００４８】
また、Ｃ言語プログラム５０１の"params−＞"で記されたものが、パラメータを表している。本実施例では、"params−＞SevenConversionK7〜K1"までの７種類のパラメータが設定されている。具体的に、パラメータには、8bitのデータが各々に設定されており、例えば、値はそれぞれ"224,192,160,128,96,64,32"である。この構成により、8bitの入力データは32の等間隔で3bitに変換される。例えば、InData'≧224ならば3bitデータ=7が出力され、InData'＜32ならば3bitデータ=0が出力される。なお、パラメータは上記例のように等間隔に限定されず、どの濃度レベルを詳細に制御するかにより任意に変更されるものである。
【００４９】
ビット変換部４０２では、このようなパラメータ値と各if文で大小を比較し、3bit画像データ（InData）を出力する構成となっている。上述した処理により、3bitに変換された画像データは、ビット変換部４０２から出力され、制御信号生成部４０３に入力される構成となっている。
【００５０】
（２．制御信号生成部４０３）
制御信号生成部４０３は、スムージング処理を施す画像を識別するための識別信号とエッジ信号生成用の画像データとを生成している。この識別信号OutDataZ(=out)は1bitであり、詳細は図６のＣ言語プログラム６０１に示したとおりである。
【００５１】
具体的には、図６のif文602を実行することにより、像域信号atrに応じて内部信号として生成される。内部信号とは、小文字・細線を表す要素"thin"と、グラフィックを表す要素"graphic"と、ラインを表す要素"line"と、フォントを表す要素"font"の４つ(4bit)から構成される信号である。これらの信号は、画像データを構成する各画素が上記の各要素のいずれかに対応する場合、"1"になり、ない場合に"0"になる。つまり、lineを構成する画素の場合、ラインを表すビットが1となる。
【００５２】
また、小文字・細線の識別信号"thin"に関しては、細線や小文字の場合にthinが"0"になり、それ以外が"1"になる構成となっている。従って、"graphic（グラフィック）"、"line（線）"、"font（文字）"は排他的に１となるが、"thin"は"graphic（グラフィック）"、"line（線）"、"font（文字）"と重複してよい。これら内部信号は、すべて上述した不図示のラスタライズ部から送られてくる0x02や0x04などの像域信号に応じて生成されるものである。
【００５３】
具体的には、本実施例では、
atr＝0x02(00000010)  ：  "image（ビットマップ）"
atr＝0x04(00000100)  ：  "graphic（グラフィック）"
atr＝0x08(00001000)  ：  "line（線）"
atr＝0x10(00010000)  ：  "font（文字）"
atr＝0x20(00100000)  ：  "thin-graphic（細いグラフィック）"
atr＝0x40(01000000)  ：  "thin-line（細線）"
atr＝0x80(10000000)  ：  "thin-font（小文字）"
尚、atr=0x20の細いグラフィックとは、矩形で囲んだ図形が細長い場合などを想定している。これらatr信号は、ＰＤＬが送信してくる像域信号であり、ＰＤＬ側でこれら属性を識別している構成となっている。
【００５４】
ところで、ここでは、細線や小文字を区別する属性信号の組み合わせを
0x40(01000000) 
0x80(10000000)  
のように定義していたが、このような組み合わせではなく、任意のビットに"細い〜"や"小さい〜"のような意味合いのフラグを定義しても実現可能なことは言うまでもない。
【００５５】
例えば、ＬＳＢにそのフラグを定義した場合、以下のようになる。
atr＝0x02(00000010)  ：  "image（ビットマップ）"
atr＝0x04(00000100)  ：  "graphic（グラフィック）"
atr＝0x08(00001000)  ：  "line（線）"
atr＝0x10(00010000)  ：  "font（文字）"
atr＝0x84(10000100)  ：  "thin-graphic（細いグラフィック）"
atr＝0x88(10001000)  ：  "thin-line（細線）"
atr＝0x90(10010000)  ：  "thin-font（小文字）"
このように、図６に示した像域信号は、本実施例を説明するためのほんの１例でしかなく、この像域信号値に限定されたものではないことは言うまでもない。
【００５６】
次に、if文603も本実施形態の特徴部分であり、これは、ビット変換部４０２から出力される入力画像信号(InData:3bit)値と内部信号であるオブジェクト信号とに応じて、制御信号(OutDataZ=out)を生成している箇所である。ここでは、、"graphic（グラフィック）"、"line（線）"、"font（文字）"が条件であり、"thin"であるか否かは無関係である。入力画像信号(InData:3bit)値と比較されるreg_Zcheck3[0]〜reg_Zcheck3[2]は、レジスタ値であり、各オブジェクト毎に制御信号(OutDataZ=out)の生成初期濃度を設定できるようになっている。これらレジスタ値の設定により、所定濃度以上の線だけに輪郭部補正処理をかけたり、所定濃度以上の文字だけに輪郭部補正処理をかけたりすることがコントロール可能となる。例えば、オブジェクト信号が"font"を示している場合には、入力画像信号(InData:3bit)値≧reg_Zcheck3[0]が判定されて、ＹＥＳの場合は制御信号(OutDataZ=out)に１が出力され、画像信号生成部４０４で輪郭部補正処理をかけるか否かの判断に使用される。ところで、入力画像信号(InData)は３ビットであるため、これらレジスタも３ビットとなっている。
【００５７】
最後に、if文604は、細線・小文字には、輪郭部補正処理をかけないようにする切り替え手段である。これも本実施形態の特徴部分であり、レジスタThinJudgeにより、どのオブジェクトをコントロールするのかを細かく指定できるようになっている。
【００５８】
例えば、レジスタThinJudg=1の場合は"graphic"のコントロールである。レジスタThinJudg=1の場合、"graphic"=1で且つ"thin"=1であれば、制御信号(OutDataZ=out)に１が出力され、さらに、輪郭部補正処理を施す箇所の入力データ(InData)は、レジスタreg_Zcheckの値に変更される。
【００５９】
if文603との関連でif文604の処理を表現すると、各オブジェクトで所定濃度以上でなかった場合であっても、レジスタThinJudgにより指定されれば、"thin"=1（細い・小さい）を判定して、制御信号(OutDataZ=out)に１を出力してInDataはレジスタreg_Zcheckの値に変更する。このreg_Zcheckの値は、後述の図１１の所定値画素カウント１００３でカウントされて、"edge"信号をリセットするのに使用される。
【００６０】
これは、前述したif文603で任意の濃度指定をおこなった場合、グラデーションなどのなだらかに階調が変化するオブジェクトにおいて、輪郭部補正処理をかけたための弊害が発生しないようにする為である。弊害回避処理は、以下の1003,1004,1403,1404などに示した。これら処理の詳細は後述するが、以下に本制御信号生成部４０３との関連の概略を示す。
【００６１】
図６のＣ言語プログラムでは、まず、if文602で文字やグラフィックなどのオブジェクト判定をおこなっている。次に、if文603で任意の濃度以上のオブジェクトのみ、本スムージング処理を施すための信号(out)を生成している。ただ、ここで問題（弊害）となるのが、幅が１画素の細線や、１〜２ポイント程度の小文字であり、このようなオブジェクトに本スムージング処理を施すと、細線のジャギー部（ガタツイた部分）が、電子写真プリンターの特性に関係した微妙な濃度バランスで、コブのようにガタガタするケースがある。又、文字に関しては、ガタガタしないまでも、潰れぎみになったりする。
【００６２】
そこでこれら問題を解決するために、ＰＤＬ（ネットワークの先のＰＣ）から、細線（小文字）フラグを像域信号として得ており、それが、if文604の"thin"である。このフラグ（thin）があるオブジェクトは、inData（入力画像信号）を任意のレジスタ（reg_Zcheck）で書き換えることで、後段の処理にその情報を伝えている。後段の処理とは、図１１の1003や図１５の1403などである。この箇所で、先ほど書き換えたレジスタ（reg_Zcheck）をカウントし、このカウント値が任意の閾値（params−＞thre_B）を超えたときに、本スムージング処理を施さないためのフラグ（edge=0）を生成する。
【００６３】
以上のように、本制御信号生成部４０３では、画像形成処理部４０１でスクリーン処理などの擬似中間調処理を行っていない8bitの画像データから変換された3bitの画像データと、オブジェクトに対応する1bitの制御信号(OutDataZ=out)との組み合わせを生成して、そのデータに基づいて次段の画像信号生成部４０４でのスムージング処理を実現するような工夫がなされている。
【００６４】
（３．画像信号生成部４０４）
次に、画像信号生成部４０４について、図７を用いて説明するが、詳細な処理を説明する前に、まず概要を説明する。
【００６５】
画像信号生成部の特徴は、OutDataZ信号から非スムージング処理部を検出し、すべてのInData信号にスムージング処理を施した信号と未スムージング処理信号（InDataS）とを切り替えて出力することである。
【００６６】
つまり、通常のスムージング処理のように、スムージング処理部を検出するのではなく、非スムージング処理部を検出することで、スムージング処理がかからないパターンがあった問題を改善している。要するに、基本がすべての画素にスムージング処理を施す構成になっている為、従来の問題が改善できた。
【００６７】
さらに、パターンマッチング処理ではなく、注目画素近傍の画素を領域分割し、領域毎の画素カウント値に応じて、非スムージング処理部を検出することで、処理の簡易化・高精度化をおこなっている。
【００６８】
ところで、非スムージング処理部を検出する信号に像域信号(OutDataZ)を使用していることも特徴としている。これにより、オブジェクト（文字・グラフィック・写真など）毎に処理を切り替えることを可能としている。
【００６９】
以下、本処理の詳細をブロックごとに説明する。
【００７０】
入力される信号は、前述した制御信号生成部４０３から出力される1bitの制御信号"OutDataZ"と3bit画像信号"InData"、画像形成処理部４０１から出力される画像形成処理後の4bit信号"InDataS"である。画像信号生成部４０４では、上記入力される信号に基づいて、注目画素の制御信号(DataZ=OutDataZ)によるセレクタ７０７の選択で、制御信号が１のときは第１画像信号補正部７０５の出力を選択し、０のときは第２画像信号補正部７０６の出力を選択して、好適にスムージングされた、あるいはスムージング処理を回避した4bitの画像データOutputDataが出力される。
【００７１】
ここで、第１画像信号補正部７０５は０の制御信号(DataZ=OutDataZ)の配置に注目して、第２画像信号補正部７０６は１の制御信号(DataZ=OutDataZ)の配置に注目して補正あるいは弊害回避処理を行う。
【００７２】
以下、各処理の詳細について順に説明する。
【００７３】
（３−１．ＦｉＦｏメモリ７０１〜７０３）
これらの信号は、後述する処理でエリア処理（例えば、図１１や図１５で7×7や15×7のエリアの"OutDataZ"や"InData"の同時参照処理）をおこなうため、ＦｉＦｏメモリが数ライン分用意されている。ライン数の詳細は、ＦｉＦｏメモリ701の６ライン、ＦｉＦｏメモリ702の６ライン、ＦｉＦｏメモリ703の３ラインであり、1bitの制御信号"OutDataZ"は一度に７ラインのエリアが、3bit画像信号"InData"も一度に７ラインのエリアが、画像形成処理後の4bit信号"InDataS"は一度に４ラインのエリアが、以降の第１及び第２画像信号補正部で参照できる。これらの信号を用いて、後述する処理を施した後、4bit信号"OutputData"が出力される構成となっている。
【００７４】
（３−２．乱数生成部７０４）
まず、図７における乱数生成部７０４の詳細を、図８にＣ言語プログラム８０１で示した。
【００７５】
図８において、関数８０２と関数８０３の２つの関数があるが、関数８０２は初期化用であり、はじめに１度しか実行されない。それに対し、関数８０３は画素毎に繰り返し処理されるものである。具体的には、まずはじめに初期化として、関数８０２において０〜２５の２６個の1bitレジスタ"p[ii](ii=0〜25)"に０が設定された後、"p[2],p[4],p[8],p[16]"の箇所のみ、1bitのパラメータ値"params−＞rd1,rd2,rd3,rd4"が設定される処理となっている。そして、画素毎に関数８０３の演算を繰り返して乱数rd(out)を生成する処理となっている。
【００７６】
関数８０３の演算とは、"p[0]=( (p[25]^p[24]^p[23]^p[22]) & 1)"でp[25]〜p[22]の排他的論理和(XOR)演算をおこない、p[0]に結果を代入する。そして、for文で各データをシフトし、p[17]の1bit信号を乱数値rd(out)として出力するものである。このようにして求められた1bitの乱数値rd(out)は、図７に示した第１画像信号補正部７０５と第１画像信号補正部７０６とに出力される構成となっている。
【００７７】
（３−３．第１画像信号補正部７０５）
以下、第１画像信号補正部７０５について、図９を用いて説明する。
【００７８】
ここでは、図９に示したように、前述した輪郭部補正処理をかけるか否かの判断に使用される1bitの制御信号"OutDataZ"、制御信号生成部４０３でレジスタreg_Zcheckの値への変更などの処理を含む3bitの"InData"、画像形成処理部４１０で例えばスクリーン処理された"InDataS"、乱数発生部７０４からの乱数"rd"が入力され、補正信号として4bitの"OUTData_0"が出力される構成となっている。
【００７９】
内部の処理は、大きく分けて３つであり、第１補正部用第２エッジ検出手段１０１と第１補正部用第１エッジ検出手段１０２、そして、第１補正部用画像出力切り替え手段１０３である。
【００８０】
（３−３−１．第１補正部用第２エッジ検出手段１０１）
第１補正部用第２エッジ検出手段１０１の詳細は、図１０のＣ言語プログラム９０１で示したとおりである。
【００８１】
図１０に示したように第１補正部用第２エッジ検出手段１０１の処理は、大きく分けて、1bitの制御信号"OutDataZ"が０である画素数をカウントする水平カウント処理９０２と垂直カウント処理９０４との２つに分かれている。水平カウント処理９０２の方は、注目画素の上又は下画素が０である場合の、水平方向に注目画素左右の３画素を含む７画素中の０をカウントする処理となっている。その様子を９０３に示した。一方、垂直カウント処理９０４の方は、注目画素の左又は右画素が０である場合の、垂直方向に注目画素上下の３画素を含む７画素中の０をカウントする処理となっている。その様子を９０５に示した。
【００８２】
共に前述した1bitの制御信号が０の画素数のカウントからエッジを検出しようとする処理であるが、いずれも、ラプラシアンのようなフィルタ処理ではなく、画素数をカウントすることで水平方向と垂直方向とのエッジを検出していることを特徴としている。具体的な処理については、前述した水平カウント処理９０２と垂直カウント処理９０４に示したとおりである。このような処理によって求めたカウント結果を、注目画素における3bitのfg_xとfg_yとして出力する構成になっている。
【００８３】
すなわち、出力される3bitのfg_xとfg_yは、注目画素を含む水平・垂直方向の７画素中の、1bitの制御信号"OutDataZ"が０（図６の制御信号生成部４０３によれば、各オブジェクトで所定濃度未満であり、且つ"thin=1"の場合の回避処理が無い場合）である画素数である。
【００８４】
（３−３−２．第１補正部用第１エッジ検出手段１０２）
次に、もう１つのエッジ検出手段である第１補正部用第１エッジ検出手段１０２について説明する。処理の詳細を図１１にＣ言語プログラム１００１で示した。本処理は、大きく分けて３段階の処理になっている。最初の０制御信号検出１００２で、注目画素を含む7×7のエリアで全ての1bitの制御信号"OutDataZ"が１でなければ"edge"を１とするが、第２及び第３段階では、15×7のエリアで、図６のif文６０４での"thin"判断で置き換えられた"reg_Zchech"の画素数に基づいて"edge"を０に変える。
【００８５】
まず、０制御信号検出１００２では、１００５に示したようにパラメータ"EdgeSizeB"の領域内に０の制御信号があるかどうか検出する。その結果がedge信号であり、０の制御信号が１つでもあれば"edge"を１とする。
【００８６】
次に、所定値画素カウント１００３では、１００６に示したように１５x７の領域内にパラメータ"reg_Zcheck"と同じ値が何画素あるかをカウントする。そのカウント結果が、fg信号である。
【００８７】
そして、最後にedge信号リセット１００４では、前述したfgのカウント値が閾値パラメータ"thre_B"以上の場合は、前述したedge信号を０にし、それ以外は、そのままedge信号を出力する構成となっている。
【００８８】
ここでの特徴は、前述したようにラプラシアンのようなフィルタを用いずにエッジ処理をおこなっていること、そして、パラメータ"reg_Zcheck"と同じ値がエリア内に存在するかをチェックし、同じ値が所定の数あった場合のみ、前述したedgeの情報をクリアすることである。
【００８９】
このedge情報をクリアする処理は、図６のif文603,604で説明した所定の濃度から輪郭部補正処理をおこなう弊害を回避するためのものである。ここでいう弊害とは、前にも説明したが、グラデーション部の途中濃度で、オブジェクトの中に輪郭部補正処理がかかってしまわないようにする為のものである。つまり、通常、本処理は、オブジェクトの輪郭のみに施すことを目的としており、それ以外の箇所に処理をかけない為である。
【００９０】
以上説明した処理により、1bitのエッジ信号が生成され"EdgeC"が出力される構成となっている。
【００９１】
（３−３−３．第１補正部用画像出力切り替え処理手段１０３）
つづいて、第１補正部用画像出力切り替え手段１０３について説明する。処理の詳細を、図１２にＣ言語プログラム１１０１で示した。
【００９２】
本処理には、図１２に示したように、前述した第１補正部用第２エッジ検出手段１０１から出力される"fg_x","fg_y"、第１補正部用第１エッジ検出手段１０２から出力される"EdgeC"、制御信号生成部４０３からの"InData"、画像形成処理部４０１からのスクリーンデータ"InDataS"、乱数生成部７０４からの乱数"rd"などが入力され、後述する処理を施した後、4bitの"OUTDATA_0"が出力される構成となっている。処理の詳細だが、大きくわけて、出力制御処理１１０２、出力制御処理１１０３、出力制御処理１１０４の３つに分かれている。以下、順に説明していく。
【００９３】
まず、出力制御処理１１０２では、
((fg_x＞＝(params−＞seriateBKx) ) || (fg_y＜＝(params−＞seriateBKy))) && edge!=0                                       ...(1)
のチェックをおこなう。params−＞seriateBKxとparams−＞seriateBKyは、3bitのパラメータである。
【００９４】
具体的には、第１補正部用第２エッジ検出手段１０１で注目画素に対して求めたfg_x、もしくは、fg_yが、上記パラメータ以上であるかどうかをチェックし、上記パラメータ以上ならば、さらに、第１補正部用第１エッジ検出手段１０２で注目画素に対して求めたedge信号が０以外かをチェックしている。このedge信号とは、前述したEdgeCと等価なものである。ここで、edge信号が０以外ということは、図１１で説明したように所定の7×7のエリア内に０のデータが幾つか存在し、15×7のエリア内で"reg_Zcheck"と同じ値が所定数未満であるということを意味している。
【００９５】
要するに、注目画素のedge信号が０以外であった場合に、(1)の比較文を満足することは、注目画素が水平・垂直方向に所定の数以上のedge信号０が続くエッジ部にあることを示している。言い換えると、注目画素を含むエッジ部は水平・垂直以外のエッジ部であることを指し示している。
【００９６】
このようなエッジに対し、１１０５に示した範囲内の演算をおこなっている。この演算とは、パラメータ" params−＞mask2"と注目画素を含む水平・垂直方向の７画素の3bitの入力データ"InData(Data)"との積和演算（Sum+=）である。尚、この積和演算は図１２に限定しないが、基本的にスムージングのようなデジタルフィルタ処理であり、ジャギーの発生するエッジ部にハーフトーンデータを出力するためのデータ作成がおこなわれる構成となっている。
【００９７】
ここで作成された演算結果のデータは、最終的に4bitになるようにLUTIで示すようなルックアップテーブル（メモリ）によって、4bitに変換されて出力される。
【００９８】
次に、出力制御処理１１０３は、(1)の条件文にあてはまらないが、edge!=0---(2)の条件（注目画素に対応するedge信号が０以外）にあてはまる場合の処理をおこなっている。(2)の条件とは、要するに、水平・垂直方向のエッジであることを意味している。そのようなエッジに対しては、出力制御処理１１０３に示した処理を施している。
【００９９】
具体的には、注目画素のedge信号が０以外であった場合で、且つ注目画素の3bitのInData(Data[yy][xx])が０以外の場合に、｛temp=(Data[yy][xx])+rd｝のように3bitのInDataに乱数生成部７０４で生成した1bitの乱数を付加し、上記条件以外の場合は０を出力する（temp=0）処理である。尚、tempは最大７である。
【０１００】
Data(InData)は3bitにビット変換部１の４０２で変換されていた為、LUTEのようなテーブルを用いて4bitに変換して出力する必要がある。
【０１０１】
尚、前述した乱数rdの加算は必須ではなく、加算しない場合（０を加算する場合）もあり得ることは言うまでもない。ただし、この乱数を加算すると、エッジ部の階調性が改善される効果はある。
【０１０２】
最後に、出力制御処理１１０４は、前述した(1),(2)の条件にあてはまらなかった場合（すなわち、edge=0）の処理をおこなっている。つまり、エッジ以外の箇所である。そのような箇所に対しては、入力されたInDataSの値をそのまま出力する構成となっている。言い換えると、画像形成処理部４０１で擬似中間処理などの画像形成処理したデータをそのまま出力している。
【０１０３】
以上、説明した輪郭部補正処理は、エッジ部を検出する処理のデータ（InDataやDataZ, reg_Zcheckなど）が、画像形成処理４０１の出力データ、つまり擬似中間調処理データとは異なることが、従来のスムージングとは異なる点である。その結果、スクリーンのような画像形成処理を施した画像に対しても、問題なくエッジ部にスムージング処理がかけられ、かつ、ＪＰＥＧのような画像劣化がある画像に対しても、画像形成処理前のデータを3bit化して1bit信号を作成することで、問題なくスムージング処理がかけられる。さらに、本実施形態により、オブジェクト毎に、自由に輪郭部補正処理がコントロール可能となった。
【０１０４】
（３−４．第２画像信号補正部７０６）
次に、図７に示した第２画像信号補正部７０６について、図１３を用いて説明する。
【０１０５】
図１３に示した処理には、第１画像信号補正部７０５と同様に、前述した"OutDataZ","InData","InDataS","rd"が入力され、補正信号として4bitの"OUTData_1"が出力される構成となっている。入力される信号は、図９で説明したものと同じである。
【０１０６】
内部の処理も、前述した図９と同様に３つに分かれており、第２補正部用第２エッジ検出手段１２０１と第２補正部用第１エッジ検出手段１２０２、そして、第２補正部用画像出力切り替え手段１２０３である。
【０１０７】
（３−４−１．第２補正部用第２エッジ検出手段１２０１）
第２補正部用第２エッジ検出手段１２０１の詳細は、図１４のＣ言語プログラム１３０１で示したとおりである。
【０１０８】
図１４に示したように、第２補正部用第２エッジ検出手段１２０１の処理は、大きく分けて、1bitの制御信号"OutDataZ"が１である画素数をカウントする水平カウント処理１３０２と垂直カウント処理１３０４との２つに分かれている。水平カウント処理１３０２の方は、注目画素の上又は下画素が０以外である場合の、水平方向に注目画素左右の３画素を含む７画素中の水平方向に０以外をカウントする処理となっている。その様子を１３０３に示した。一方、垂直カウント処理１３０４の方は、注目画素の左又は右画素が０以外である場合の、垂直方向に注目画素上下の３画素を含む７画素中の垂直方向に０以外をカウントする処理となっている。その様子を１３０５に示した。
【０１０９】
共に前述した０以外である1bitの制御信号からエッジを検出する処理であるが、いずれも、前述した図９と同様、ラプラシアンのようなフィルタ処理ではなく、０以外の画素数をカウントすることで水平方向と垂直方向のエッジを検出している。ところで、fg_x1,fg_x2のように左右、或いは、fg_y1,fg_y2のように上下に分割してカウントし、左右、上下のいずれにも０以外である制御信号がある場合にはカウントを０としているところが、例えばif(fg_x1!=0&&fg_x2!=0){fg_x=0;}、前述した第１補正部用第２エッジ検出手段１０１と異なる。
【０１１０】
以上、水平カウント処理１３０２と垂直カウント処理１３０４に示したような処理によって求めた０以外のカウント結果を、注目画素に対応し3bitのfg_xとfg_yとして出力する構成になっている。
【０１１１】
（３−４−２．第２補正部用第１エッジ検出手段１２０２）
次に、もう１つのエッジ検出手段である第２補正部用第１エッジ検出手段１２０２について説明する。処理の詳細を図１５にＣ言語プログラム１４０１で示した。本処理は、大きく分けて３段階の処理になっている。
【０１１２】
まず、１制御信号検出処理１４０２に示した部分だが、１４０５に示したようにパラメータ"EdgeSizeW"の領域内に１の制御信号があるかどうか検出する。その結果が、edge信号である。
【０１１３】
次に、所定値画素カウント１４０３に示した部分だが、１４０６に示したように１５x７の領域内に、パラメータ"Zcheck"と同じ値が何画素あるかをカウントする。その結果が、fg信号である。
【０１１４】
そして、最後にedge信号リセット１４０４では、前述したfgのカウント値がパラメータ"thre_W"以上の場合は、前述したedge信号を０にし、それ以外は、そのまま、edge信号を出力する構成となっている。
【０１１５】
従来のスムージングと大きく異なる点は、前述したようにラプラシアンのようなフィルタを用いずにエッジ処理をおこなっていること、そして、パラメータ"Zcheck"と同じ値がエリア内に存在するかをチェックし、同じ値が任意の数あった場合のみ、前述したedgeの情報をクリアすることである。
【０１１６】
これにより、得られる効果は、図１１の説明でおこなったものと等価である。効果の内容については、繰り返しになるので、説明を略する。このような処理により、1bitのエッジ信号が生成され"EdgeC"が出力される構成となっている。
【０１１７】
（３−４−３．第２補正部用画像出力切り替え手段１２０３）
つづいて、第２補正部用画像出力切り替え手段１２０３について説明する。処理の詳細を、図１６にＣ言語プログラム１５０１で示した。
【０１１８】
処理の基本は、前述した第１補正部用画像出力切り替え手段１０３と等価である為、詳細な説明は略する。ただし、fg_x,fg_y,EdgeC(edge)の信号の意味が異なる。これらの意味については前述したとおりであるが、まとめると、第１補正部用画像出力切り替え手段１０３へ入力されていたfg_x,fg_y,EdgeCは、制御信号(DataZ)が０の画素数をカウントした結果であった。一方、図１６に示したfg_x,fg_y,EdgeCは、制御信号(DataZ)が１の画素数をカウントしている。その点が大きく異なる。その他については、基本的に等価である。
【０１１９】
（３−５．セレクタ７０７）
以上説明してきた第１画像信号補正部７０５の出力"OUTData_1"と、第２画像信号補正部７０６の出力"OUTData_2"とが、図７に示したセレクタ７０７に入力され、4bitの最終出力信号"OutputData"が出力される構成となっている。
【０１２０】
このセレクタ７０７は、注目画素位置のデータに応じて出力を切り替える処理をおこなっている。注目画素のデータとは、前述した制御信号(DataZ=OutDataZ)であり、この信号が１のときは、第１画像信号補正部７０５の出力を選択し、０のときは、第２画像信号補正部７０６の出力を選択する構成となっている。
【０１２１】
＜本実施形態の作用効果＞
上記で説明した処理を施した結果が、スムージング処理結果としてプリンタ３０５に出力される構成となっている。
【０１２２】
出力されたイメージを図１７に示した。着目箇所は、エッジ部である。図１７に示したようにスクリーンのパターンの間を埋めるようにデータが薄く出力されることを特徴としている。
【０１２３】
不図示だが、さらに、ＪＰＥＧのような非可逆な圧縮処理を施した画像に対しても、問題なくエッジ部の改善ができることも前述したとおりである。理由は、エッジ検出用の画像を作成する際、３ビットにビット変換し、さらに、その画像より１ビットの制御信号を作成しているため、圧縮による微妙な劣化情報を除去できる効果があるからである。
【０１２４】
同様に不図示だが、本発明の特徴でもある小文字や線幅が１〜２ピクセル（任意）の細線に対してのみ、前述した処理をかけない制御も可能になる。
【０１２５】
＜その他の実施形態例＞
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１２６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，CD-ROM，CD-R，磁気テープ，不揮発性のメモリカード，ROMなどを用いることができる。
【０１２７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２９】
例えば、ＰＣ上のドライバでこれらの処理をおこなう場合が、これに相当することは言うまでもない。
【図面の簡単な説明】
【０１３０】
【図１】本実施形態の制御システムのブロック構成の概略を示す図である。
【図２】本実施形態のシステムを構成する複写機の機械的構成の概略を示す図である。
【図３】本実施形態の画像処理信号のフローの概略を示すブロック図である。
【図４】本実施形態スムージング処理の概要を示すブロック図である。
【図５】図４のビット変換部を示すブロック図及びＣ言語プログラムの例を示す図である。
【図６】図４の制御信号生成部を示すブロック図及びＣ言語プログラムの例を示す図である。
【図７】図４の画像信号生成部を示すブロック図である。
【図８】図７の乱数生成部を示すブロック図及びＣ言語プログラムの例を示す図である。
【図９】図７の第１画像信号補正部を示すブロック図である。
【図１０】図９の第１補正部用第２エッジ検出手段を示すブロック図及びＣ言語プログラムの例を示す図である。
【図１１】図９の第１補正部用第１エッジ検出手段を示すブロック図及びＣ言語プログラムの例を示す図である。
【図１２】図９の第１補正部用画像出力切り替え手段を示すブロック図及びＣ言語プログラムの例を示す図である。
【図１３】図７の第２画像信号補正部を示すブロック図である。
【図１４】図１３の第２補正部用第２エッジ検出手段２を示すブロック図及びＣ言語プログラムの例を示す図である。
【図１５】図１３の第２補正部用第１のエッジ検出手段を示すブロック図及びＣ言語プログラムの例を示す図である。
【図１６】図１３の第２補正部用画像出力切り替え手段を示すブロック図及びＣ言語プログラムの例を示す図である。
【図１７】本実施形態によりスクリーン処理のジャギーを改善したイメージ図である。
【図１８】ジャギーを示すイメージ図である。
【図１９】従来のスムージングでジャギーを改善した状態を示すイメージ図である。
【図２０】ハーフトーン文字にスクリーン処理をかけたイメージ図である。
【図２１】スクリーン処理により発生するジャギーを示すイメージ図である。
【図１】
2006244277.tif 000003
【図２】
2006244277.tif 000004
【図３】
2006244277.tif 000005
【図４】
2006244277.tif 000006
【図５】
2006244277.tif 000007
【図６】
2006244277.tif 000008
【図７】
2006244277.tif 000009
【図８】
2006244277.tif 000010
【図９】
2006244277.tif 000011
【図１０】
2006244277.tif 000012
【図１１】
2006244277.tif 000013
【図１２】
2006244277.tif 000014
【図１３】
2006244277.tif 000015
【図１４】
2006244277.tif 000016
【図１５】
2006244277.tif 000017
【図１６】
2006244277.tif 000018
【図１７】
2006244277.tif 000019
【図１８】
2006244277.tif 000020
【図１９】
2006244277.tif 000021
【図２０】
2006244277.tif 000022
【図２１】
2006244277.tif 000023
【手続補正書】
【提出日】平成17年12月1日(2005.12.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
入力画像の輪郭部を補正してスムージング処理する画像処理方法であって、
輪郭部の検出及び補正を行う輪郭部補正モジュールを準備する工程と、
注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する工程と、
該輪郭検出用データに基づき、前記輪郭部補正モジュールにより輪郭部画素の補正を行うか否かを制御する工程とを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御する工程では、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムであって、
輪郭部の検出及び補正を行う輪郭部補正モジュールと、
注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する生成モジュールと、
該輪郭検出用データに基づき、前記輪郭部補正モジュールにより輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理プログラム。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムをコンピュータ読出し可能に記憶する記憶媒体であって、
前記画像処理プログラムが、
輪郭部の検出及び補正を行う輪郭部補正モジュールと、
注目画素の画像データと該画像データの属性を示す属性データとに基づき輪郭検出用データを生成する生成モジュールと、
該輪郭検出用データに基づき、前記輪郭部補正モジュールにより輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、
前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする記憶媒体。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
又、本発明の画像処理方法は、入力画像の輪郭部を補正してスムージング処理する画像処理方法であって、輪郭部の検出及び補正を行う輪郭部補正モジュールを準備する工程と、注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する工程と、該輪郭検出用データに基づき、前記輪郭部補正モジュールにより輪郭部画素の補正を行うか否かを制御する工程とを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御する工程では、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記輪郭部の補正を回避させる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
又、本発明の画像処理プログラムは、入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムであって、輪郭部の検出及び補正を行う輪郭部補正モジュールと、注目画素の画像データと該画像データの属性を示す属性データとに基づき、輪郭検出用データを生成する生成モジュールと、該輪郭検出用データに基づき、前記輪郭部補正モジュールにより輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
又、本発明の記憶媒体は、入力画像の輪郭部を補正するスムージング処理を含む画像処理を実行する画像処理プログラムをコンピュータ読出し可能に記憶する記憶媒体であって、前記画像処理プログラムが、輪郭部の検出及び補正を行う輪郭部補正モジュールと、注目画素の画像データと該画像データの属性を示す属性データとに基づき輪郭検出用データを生成する生成モジュールと、該輪郭検出用データに基づき、前記輪郭部補正モジュールにより輪郭部画素の補正を行うか否かを制御する制御モジュールとを有し、前記属性データは、前記注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させる