(57)【要約】【課題】線幅補正処理と尾引き抑制処理が並列に構成された場合でも印刷品質が低下することのない画像形成装置を提供する。【解決手段】画像形成装置は、入力画像の所定方向のエッジ隣接領域を検出し、検出したエッジ隣接領域に線幅補正処理を行う線幅補正処理手段と、前記線幅補正処理手段で用いられる前記所定方向に応じて尾引き抑制処理仕様を決定する決定手段と、前記線幅補正処理手段と並列に配置されている尾引き抑制処理手段であって、前記入力画像に対して、前記決定手段によって決定された尾引き抑制処理仕様を用いて尾引き抑制処理を行う尾引き抑制処理手段とを有する。【選択図】図２１
2014120869.tif 000002
【特許請求の範囲】
【請求項１】
線幅補正処理が行われる入力画像のエッジ隣接領域を検出する線幅補正設定に応じて、前記入力画像に尾引き抑制処理を行うための尾引き抑制処理仕様を決定する決定手段を有することを特徴とする画像形成装置。
【請求項２】
入力画像の所定方向のエッジ隣接領域を検出し、検出したエッジ隣接領域に線幅補正処理を行う線幅補正処理手段と、
前記線幅補正処理手段で用いられる前記所定方向に応じて尾引き抑制処理仕様を決定する決定手段と、
前記線幅補正処理手段と並列に配置されている尾引き抑制処理手段であって、前記入力画像に対して、前記決定手段によって決定された尾引き抑制処理仕様を用いて尾引き抑制処理を行う尾引き抑制処理手段と
を有することを特徴とする画像形成装置。
【請求項３】
入力画像の所定方向のエッジ隣接領域を検出し、検出したエッジ隣接領域に線幅補正処理を行う線幅補正処理手段と、
前記線幅補正処理手段と並列に配置されている尾引き抑制処理手段であって、前記線幅補正処理手段から前記所定方向を受信し、受信した前記所定方向に応じて尾引き抑制処理仕様を決定し、前記入力画像に対して、前記決定した尾引き抑制処理仕様を用いて尾引き抑制処理を行う尾引き抑制処理手段と
を有することを特徴とする画像形成装置。
【請求項４】
前記線幅補正処理手段と前記尾引き抑制処理手段との前段に入力画像を蓄積する共用バッファ部を有し、前記共用バッファ部から前記線幅補正処理手段と前記尾引き抑制処理手段とへ共通の画素群を出力することを特徴とする請求項２または３に記載の画像形成装置。
【請求項５】
前記共用バッファ部から出力される共通の画素群は、前記線幅補正処理手段と前記尾引き抑制処理手段とがそれぞれ共通の注目画素の線幅補正処理結果及び尾引き抑制処理結果を得るために参照する画素群を含むことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記共通の注目画素に関して、前記線幅補正処理結果と前記尾引き抑制処理結果とのいずれかにより前記注目画素の画素値が変換される場合、変換される画素値を前記注目画素の最終画素値として出力する最終出力判定手段をさらに有することを特徴とする請求項４に記載の画像形成装置。
【請求項７】
前記線幅補正処理手段と前記尾引き抑制処理手段とに加え、トナーセーブ処理手段とドット分散処理手段とを並列に配置することを特徴とする請求項２または３に記載の画像形成装置。
【請求項８】
前記トナーセーブ処理手段、前記線幅補正処理手段、前記ドット分散処理手段及び前記尾引き抑制処理手段の前段に入力画像を蓄積する共用バッファ部をさらに有し、前記共用バッファ部から前記トナーセーブ処理手段、前記線幅補正処理手段、前記ドット分散処理手段及び前記尾引き抑制処理手段へ共通の画素群を出力することを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記共用バッファ部から出力される共通の画素群は、前記トナーセーブ処理手段、前記線幅補正処理手段、前記ドット分散処理手段及び前記尾引き抑制処理手段がそれぞれ共通の注目画素のトナーセーブ処理結果、線幅補正処理結果、ドット分散処理結果及び尾引き抑制処理結果を得るために参照する画素群を含むことを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記線幅補正処理手段は、線幅補正処理が行われるか否か、及び前記所定方向として線幅補正処理が行われる場合におけるエッジ隣接領域を検出する方向を含む設定に基づいて、前記線幅補正処理を行うことを特徴とする請求項１から９のいずれかに記載の画像形成装置。
【請求項１１】
前記線幅補正処理手段は、１ライン単位及び複数ライン単位の線幅補正が可能としており、前記線幅補正設定は、線幅補正が行われるエッジ隣接領域の検出単位となるライン数をさらに含むことを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記尾引き抑制処理手段は、前記入力画像のライン画像領域を検出し、検出したライン画像領域に対して、尾引き抑制のための間引き処理である前記尾引き抑制処理を行うことを特徴とする請求項１から１１のいずれかに記載の画像形成装置。
【請求項１３】
前記尾引き抑制処理仕様は、前記ライン画像領域の幅に関連付けて指定されている、前記ライン画像領域に対して適用されるべき間引きパターンの種類及び前記ライン画像における間引き処理ラインの位置を含むことを特徴とする請求項１２に記載の画像形成装置。
【請求項１４】
前記尾引き抑制処理手段は、ライン画像領域をライン内の黒画素数や割合から判定することを特徴とする請求項１２または１３に記載の画像形成装置。
【請求項１５】
線幅補正処理が行われる入力画像のエッジ隣接領域を検出する線幅補正設定に応じて、前記入力画像に尾引き抑制処理を行うための尾引き抑制処理仕様を決定するステップを備えることを特徴とする画像形成装置における画像処理方法。
【請求項１６】
入力画像の所定方向のエッジ隣接領域を検出し、検出したエッジ隣接領域に線幅補正処理を行う線幅補正処理ステップと、
前記線幅補正処理手段で用いられる前記所定方向に応じて尾引き抑制処理仕様を決定する決定ステップと、
前記入力画像に対して、前記決定ステップによって決定された尾引き抑制処理仕様を用いて尾引き抑制処理を行う尾引き抑制処理ステップであって、前記線幅補正処理ステップと並列に実行される尾引き抑制処理ステップと
を備えることを特徴とする画像形成装置における画像処理方法。
【請求項１７】
コンピュータを請求項１から１４のいずれかに記載の画像形成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色材の載り量を制御する画像処理技術に関するものである。
【背景技術】
【０００２】
電子写真方式の画像形成装置で画像を印刷する際、搬送方向と直交する（主走査）方向に延びる直線の画像（ライン画像）を印字した場合、図２（ａ）のよう用紙２０１に印刷されたライン画像２０２の搬送（副走査）方向の後方にトナーが飛び散ることがある。これを尾引き現象（以降で尾引きと呼ぶ）という。尾引きは、図２（ｂ）に示すように、用紙２０１が高温の定着器３０１を通過する際に急激に温められることで、用紙２０１中の水分が水蒸気３０２となって用紙２０１から噴き出すために起こる。つまり噴出する水蒸気に用紙２０１上の定着前の現像剤（色材あるいはトナーとも呼ぶ）が搬送方向後方に吹き飛ばされる。
【０００３】
尾引き抑制の技術として、画素データに対してパターンマッチングを行い、所定のパターンと一致する画素の間引き処理を行うことで、現像剤の用紙２０１上への載り量を減らす技術がある（特許文献１参照）。ここで、画素の間引き処理は、黒画素を白画素とする処理あるいは有色の画素を無色の画素とする処理である。電子写真方式の画像形成装置では、電子写真感光体上に形成される静電潜像の中央部よりもエッジ部に強い電界（縁端電界という）が生じるため、ライン画像のエッジ部の搬送方向下端ほどトナーの載り量が多くなる。そのため、尾引き抑制では、ライン画像のエッジ部の搬送方向下端で画素を間引くほど尾引き抑制の効果は高い。
【０００４】
また、一方で文字や線画の印刷品質を向上させる技術として、文字や線画のエッジ部を検出し、検出したエッジ部の隣接領域に黒画素を付加する（白画素の黒画素化を行う）ことでエッジ部を拡大する技術（線幅補正処理）がある（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３２８３号公報
【特許文献２】特開２０００−２０６７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した尾引き抑制のための間引き処理を行う尾引き抑制処理部と、線幅補正処理を行う線幅補正処理部とを並列構成で実現すると、入力された画素データに対してそれぞれの処理が独立して行われる。この場合にそれぞれの処理部が他の処理部の処理を考慮しないと次のような課題が生じうる。例えばこの並列構成においてライン画像が入力された場合、入力されたライン画像に対して尾引き抑制処理が行われた画素データと、入力されたライン画像のエッジ部を拡大する線幅補正処理が行われた画素データとがそれぞれの処理部から出力される。そして、これらの画素データを合成することで、出力画素データを最終的に生成する。この処理の過程において、尾引き抑制処理によって、入力されたライン画像の幅に基づいてライン画像の中の間引きされるライン及び間引きパターンが決定される。一方、線幅補正処理によってエッジ部の領域が拡大され、元々エッジであった入力された画素がエッジでなくなる。このような場合、定着器を通過する際の画像は、尾引き抑制のための間引き処理がエッジ部の搬送方向下端からより離れた位置で行われた画像になるので、尾引き抑制効果が低下して画質が劣化することがある。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、入力画像の所定方向のエッジ隣接領域を検出し、検出したエッジ隣接領域に線幅補正処理を行う線幅補正処理手段と、前記線幅補正処理手段で用いられる前記所定方向に応じて尾引き抑制処理仕様を決定する決定手段と、前記線幅補正処理手段と並列に配置されている尾引き抑制処理手段であって、前記入力画像に対して、前記決定手段によって決定された尾引き抑制処理仕様を用いて尾引き抑制処理を行う尾引き抑制処理手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によって、線幅補正処理及び尾引き抑制処理を並列構成（回路共有により回路規模を縮小させた構成）とした場合も、線幅補正処理によるエッジ領域の変化に合わせた、間引きパターンでの尾引き抑制処理が可能となる。これにより、尾引き抑制効果の低下を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】システム構成図である。
【図２】尾引き現象を示した図である。
【図３】二値画像処理部の構成例を示す図である。
【図４】共用バッファ部におけるデータ蓄積と出力画素群の一例を示す図である。
【図５】中間調判定部の構成例を示すブロック図である。
【図６】中間調判定部におけるＡｒｅａ判定の一例を示す図である。
【図７】トナーセーブ処理部の構成例を示す図である。
【図８】トナーセーブ処理部におけるエッジ判定処理の一例を示す図である。
【図９】トナーセーブ処理部の入出力画像の一例を示す図である。
【図１０】線幅補正処理部の構成例を示す図である。
【図１１】線幅補正処理部におけるエッジ隣接判定処理の一例を示す図である。
【図１２】線幅補正処理部の入出力画像の一例を示す図である。
【図１３】尾引き抑制処理部の構成例を示す図である。
【図１４】尾引き抑制処理部の入出力画像の一例を示す図である。
【図１５】ドット分散処理部の構成例を示す図である。
【図１６】ドット分散処理部の入出力画像の一例を示す図である。
【図１７】実施形態１の印刷処理のフローチャートを示す図である。
【図１８】実施形態１の操作部における入力情報取得例を示す図である。
【図１９】実施形態１の線幅補正処理設定のフローチャートである。
【図２０】実施形態１の線幅補正処理部への設定結果を示す図である。
【図２１】実施形態１の尾引き抑制処理設定のフローチャートである。
【図２２】実施形態１の尾引き抑制処理部に設定される尾引き抑制処理仕様を示す図である。
【図２３】実施形態１の尾引き抑制処理設定フローを実行しなかった際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データの例を示す図である。
【図２４】実施形態１の尾引き抑制処理設定フローを実行した際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データの例を示す図である。
【図２５】実施形態１の尾引き抑制処理設定フローを実行しなかった際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データの別の例を示す図である。
【図２６】実施形態１の尾引き抑制処理設定フローを実行した際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データの別の例を示す図である。
【図２７】実施形態２の二値画像処理部の構成例を示す図である。
【図２８】実施形態２の尾引き抑制処理部の構成例を示す図である。
【図２９】実施形態２のＣＰＵが実行する、尾引き抑制処理設定のフローチャートである。
【図３０】実施形態２の尾引き抑制処理部が実行する、尾引き抑制処理設定のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照して説明する。
【００１１】
なお、本発明の実施の形態として以下にレーザビームプリンタに適用する場合を説明するが、本発明はこれに限られるものではなく、その主旨を逸脱しない範囲で、任意のプリンタやファクシミリ装置などの電子写真方式の画像処理装置に適用できる。また、白黒プリンタに適用する場合を説明するが、カラープリンタであっても適用できる。
【００１２】
（実施形態１）
＜システム全体構成＞
図１は本実施形態におけるシステム構成図であり、ホストコンピュータ１７０と白黒プリンタ１００が外部ネットワーク１９０を介して接続している。ホストコンピュータは描画コマンドを送り、これを受け取った白黒プリンタは出力可能な画素データに変換して紙面に印刷する処理を行う。
【００１３】
＜コンピュータ構成＞
ホストコンピュータ１７０は、ＣＰＵ１７１、ＲＯＭ１７２、ＲＡＭ１７３、ネットワークＩ／Ｆ１７４がバス１７５を介して接続されて構成されている。
【００１４】
ＲＡＭ１７３はＲＯＭ１７２に格納されているプログラムデータをロードし、一時記憶する。ＣＰＵ１７１はＲＡＭ１７３に格納されているアプリケーションを実行する。これらアプリケーションを用いることで、ページレイアウト文書やワードプロセッサ文書、グラフィック文書などが作成可能である。これらのアプリケーションで作成されたデジタル文書データに対し、ＣＰＵ１７１がＲＡＭ１７３に格納されているプリンタドライバを実行することで、デジタル文書に基づいた描画コマンドが生成される。プリンタドライバで生成される描画コマンドとしては、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と呼ばれるページ画像データを作成するためのプリンタ記述言語が一般的である。描画コマンドには、通常、文字やグラフィックス、イメージ等のデータの描画命令が含まれている。
【００１５】
そして、ＣＰＵ１７１は生成された描画コマンドをネットワークＩ／Ｆ１７４を介して外部ネットワーク１９０越しに白黒プリンタ１００に送信する。
【００１６】
＜白黒プリンタ構成＞
白黒プリンタ１００は、コントローラ部１０１、プリンタ部１０２から構成されている。コントローラ部１０１は図１に示すとおりＣＰＵ１１２などの各種モジュールがデータバス１１１を介して接続されて構成されている。ＲＡＭ１１４はＲＯＭ１１３に格納されているプログラムデータをロードし、一時記憶する。ＣＰＵ１１２はＲＡＭ１１４にロードされたプログラムを実行することで各種モジュールに命令を出し、プリンタ部１０２を動作させる。また、各モジュールが命令実行する際に生成されるデータなどもＲＡＭ１１４に一時記憶される。ネットワークＩ／Ｆ１１０は外部ネットワーク１９０とのインターフェイスモジュールである。イーサネット（登録商標）などの通信プロトコルに基づきネットワーク１９０を介して他の機器から描画コマンドを受信、白黒プリンタのデバイス情報（ジャム情報や紙サイズ情報など）を送信といった双方向データ通信を行う。
【００１７】
表示部１１６はユーザへの指示やプリンタ部１０２の状態を表すＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面を表示するものである。操作部１１５はユーザからの入力を受け付けるためのインターフェイスである。
【００１８】
インタープリタ１１７は、ネットワークＩ／Ｆ１１０を介して受信した描画コマンドを解釈して中間言語データを生成する。レンダラ１１８は生成された中間言語データからラスター画像を生成する。二値画像データ生成部１１９は生成されたラスター画像に対して、色変換処理やルックアップテーブルによるγ補正処理、擬似中間調処理などの画像処理を行って、二値画像データを生成する。なお、本実施形においては、二値画像データ生成部１１９によって生成された二値画像データを扱うことで、以降の後段処理の説明をする。
【００１９】
二値画像処理部１２０は、二値画像データ生成部１１９から入力された二値画像データに対して後述する画像処理を行い、プリンタ部１０２が出力可能な画像データフォーマットに変換する。
【００２０】
コントローラ部１０１と接続されたプリンタ部１０２は、二値画像処理部１２０で変換された出力可能な画像データをもとに、トナーを用いて紙面上に画像を形成するプリンタである。
【００２１】
＜二値画像処理部＞
図３は、二値画像処理部１２０の詳細を示したブロック図である。二値画像処理部１２０は、二値画像データ生成部１１９で生成された二値画像データを入力とし、プリンタ部１０２が受け取れる画像フォーマットへ変換して、プリンタ部１０２に渡す。なお、上述の二値画像データ生成部１１９において二値化された画素データは１が黒画素を、０が白画素を示すものとして以降の説明に用いる。二値画像処理部１２０は、１画素ずつにそれぞれの処理を並列に行ってそれぞれの処理結果を得て、そしてそれぞれの処理結果からその画素の出力画素値を最終的に判定する。以下、二値画像処理部１２０によって処理されている画素を注目画素と呼び、また、その位置を注目画素位置と呼ぶ。
【００２２】
図３に示すように、二値画像処理部１２０は、共用バッファ部２３１０、中間調判定部２３２０、トナーセーブ処理部２３３０、線幅補正処理部２３４０、尾引き抑制処理部２３５０、ドット分散処理部２３６０及び最終出力判定部２３７０を含む。
【００２３】
共用バッファ部２３１０は、各画像処理部の前段に配置され、複数ライン分の入力画素データを蓄積保持し、この蓄積保持されている入力画素データから後段の画像処理部がそれぞれ必要とする画素群（共通の画素群）をまとめて出力する。
【００２４】
中間調判定部２３２０は、注目画素を中心とした所定ウィンドウサイズ（例えば、１１×１１）の画素群Ｗｂを参照して注目画素が中間調領域の画素であるか否かを判定する。中間調判定結果Ｆａは後段のトナーセーブ処理部２３３０及び線幅補正処理部２３４０に出力され、非中間調領域かつエッジの画素の場合はトナーセーブ処理が行われず、中間調領域の画素の場合は線幅補正処理が行われない。
【００２５】
トナーセーブ処理部２３３０では、主にトナー消費量を低減させるための画素間引き処理を画像オブジェクト（単にオブジェクトとも呼ぶ）行う。トナーセーブ処理部２３３０は、トナーセーブ処理の間引きパターンと注目画素位置とに基づいて、注目画素が間引き対象となるか否かを判定する。また、トナーセーブ処理部２３３０は、注目画素を中心とした所定ウィンドウサイズ（例えば、３×３）の画素群Ｗｃを参照して注目画素が黒画素と白画素の隣接境界にあるエッジ画素であるか否かを判定する。間引き対象となった画素であってその入力画素値が１（黒画素）である注目画素は、非エッジ画素であると判定されれば、判定結果ＦｂがＯＮ（トナーセーブのための間引き実行）として画素値を０（白画素）に変換して出力される。また、間引き対象となった画素であってその入力画素値が１（黒画素）である注目画素は、エッジ画素であると判定されて且つ中間調判定結果Ｆａにより中間調領域の画素であれば、その画素について判定結果ＦｂがＯＮとして画素値を０に変換して出力される。
【００２６】
線幅補正処理部２３４０では、主に細線やや小さな図形などのオブジェクトを目立たせるための線幅補正処理を行う。線幅補正処理は、太らせ処理と呼んでもよい。線幅補正処理部２３４０は、注目画素を中心とした所定ウィンドウサイズ（例えば、３×３）の画素群Ｗｃを参照して注目画素がエッジ隣接画素であるか否かを判定する。注目画素がエッジ隣接画素であると判定され、中間調判定結果Ｆａにより非中間調領域の画素であり、さらに、入力された画素値が０（白画素）である場合に、注目画素の判定結果Ｆｃは線幅補正処理実行がＯＮとし、画素値を１（黒画素）に変換して出力される。
【００２７】
尾引き抑制処理部２３５０では、尾引き抑制のための間引きを行う。尾引き抑制処理部２３５０は、注目画素を中心とした所定ウィンドウサイズ（例えば、９×９）の画素群Ｗｄを参照して、注目画素が尾引き抑制のために間引きされるべきか否かを判定する。尾引き抑制処理部２３５０は、まず、画像群Ｗｄからライン画像（ライン画像領域）を検出する。検出したライン画像の線幅に応じて、尾引き抑制処理の間引きパターンの種類及びライン画像における間引き処理ラインの位置が決定される。次に、尾引き抑制処理部２３５０は、尾引き抑制処理の間引きパターンと注目画素位置とに基づいて、注目画素が間引き対象となるか否かを判定する。間引き対象となると判定された画素は、さらにその画素が間引き処理ラインに含まれるか否かが判定される。入力画素値が１（黒画素）であり、間引き対象となると判定され、さらに間引き処理ラインに含まれると判定された場合、注目画素は判定結果ＦｄがＯＮ（尾引き抑制のための間引き実行）として入力画素値を０（白画素）に変換して出力される。
【００２８】
ドット分散処理部２３６０では、目ざわりな画像になることを防止するために、濃度を保ちつつ画像内部の特定パターンの白ドットを縮小、分散させる。ドット分散処理部２３６０は、注目画素を中心とした所定ウィンドウサイズ（例えば、２７×２７）の画素群Ｗｅを参照して、現在の注目画素の白ドットが縮小されるべきか、注目画素位置に白ドットを付与すべきかを判定し、その判定結果Ｆｅを出力する。白ドットが縮小されるべきと判定された場合に、注目画素の入力画素値は１（黒画素）に変換して出力され、白ドットを付与すべきと判定された場合に、注目画素の入力画素値は０（白画素）に変換して出力される。また、どちらにも判定されなかった場合に、注目画素の入力画素値はそのまま出力される。
【００２９】
最終出力判定部２３７０は、注目画素の入力画素値及び各処理部の処理結果から注目画素の最終画素値を判定する。
【００３０】
＜共用バッファ部＞
次に図４を参照して共用バッファ部２３１０を詳細に説明する。まず、二値化された画素データＤｃが共用バッファ部２３１０に入力される。共用バッファ部では、画素データＤｃを順次バッファに蓄積する。これにより共用バッファ部には複数ライン分の画素データが蓄積される。
【００３１】
図４（ａ）はＫライン分（Ｋは整数）の画素データが共用バッファ部２３１０に蓄積された様子を示す。共用バッファ部２３１０は、画素データはＫラインまで蓄積されると、リング状にまた先頭ラインから画素を上書きして蓄積する。これにより共用バッファ部２３１０には、現在蓄積している入力画素データＤｃがあるラインから遡ってＫライン分の画素データが常に蓄積保持されている。共用バッファ部２３１０はこの蓄積保持されている画素データ群から後段の画像処理部がそれぞれ必要とする領域の画素データ群をまとめて出力する。よって共用バッファ部２３１０の蓄積量（蓄積ライン数Ｋ）は後段の画像処理部がまとめて参照したい画素群のライン幅と合致する。
【００３２】
図４（ｂ）は共用バッファ部２３１０の出力画素例を示す。出力画素群２３１１は図４（ａ）で示したＫライン分のデータの一部を示す。
【００３３】
画素Ｗａは注目画素であり、そのまま後段の最終出力判定部２３７０に入力される。
【００３４】
画素群Ｗｂは後段の中間調判定部２３２０へ出力される画素群であり、ここでは、一例として１１×１１の画素群としている。つまり中間調判定部２３２０は注目画素位置の中間調判定のために１１×１１画素群をまとめて参照するものである。
【００３５】
画素群Ｗｃは後段のトナーセーブ処理部２３３０及び線幅補正処理部２３４０へ出力される画素群であり、ここでは、一例として３×３画素群としている。つまり、トナーセーブ処理部２３３０及び線幅補正処理部２３４０は注目画素位置のトナーセーブ処理結果及び線幅補正処理結果を得るために３×３画素群をまとめて参照するものである。
【００３６】
画素群Ｗｄは後段の尾引き抑制処理部２３５０へ出力される画素群であり、ここでは、一例として９×９の画素群としている。つまり尾引き抑制処理部２３５０は注目画素位置の尾引き抑制処理結果を得るために９×９画素群をまとめて参照するものである。
【００３７】
画素群Ｗｅは後段のドット分散処理部２３６０へ出力される画素群であり、ここでは、一例として２７×２７の画素群としている。つまりドット分散処理部２３６０は注目画素位置のドット分散処理結果を得るために２７×２７画素群をまとめて参照するものである。
【００３８】
よってＷａからＷｅまでの出力画素群の中で最も大きいライン数である２７が共用バッファ部２３１０で蓄積すべきライン数となり、本実施例ではＫ＝２７である。
【００３９】
以上のような共用バッファ部２３１０を有することによって画素群Ｗａ、Ｗｂ、Ｗｃ、Ｗｄ、Ｗｅを生成するために個別に複数のバッファ部を構成する必要がなくなる。よって複数のバッファ部を構成することに比べ本実施例のような共用バッファ部２３１０を有することは回路規模削減に繋がり、低コスト化できる。
【００４０】
＜中間調判定処理＞
次に図５を参照して中間調判定部２３２０を詳細に説明する。中間調判定部２３２０には共用バッファ部２３１０から１１×１１画素群Ｗｂが入力される。中間調判定部２３２０では、まず画素群Ｗｂを４つのＡｒｅａ判定部２３２１に入力する。４つのＡｒｅａ判定部とは、Ａｒｅａ１判定部、Ａｒｅａ２判定部、Ａｒｅａ３判定部、Ａｒｅａ４判定部のことである。Ａｒｅａ判定部２３２１では、特定のエリアが全白であるか否かを判定している。
【００４１】
図６はＡｒｅａ判定部２３２１の処理を説明するための図である。図６の（ａ）〜（ｄ）の各１１×１１マトリクスは、画素群Ｗｂを示しており、斜線部分は注目画素を示している。図６（ａ）はその中のＡｒｅａ１を太線で示しており、続いて図６（ｂ）がＡｒｅａ２、図６（ｃ）がＡｒｅａ３、そして図６（ｄ）がＡｒｅａ４を太線で示す。Ａｒｅａ判定部２３２１では、これらのＡｒｅａがそれぞれ全白であるか否かを判定する。全白とはＡｒｅａ内部のすべての画素値が０であることを意味する。
【００４２】
そして全エリア判定部２３２２ではＡｒｅａ判定部２３２１での４つの全白判定を用いて、最終的な中間調判定結果Ｆａを生成する。具体的には４つの全白判定に一つでも全白判定された結果があれば非中間調と判定し、一つも全白判定された結果がなければ中間調と判定するものである。なお、４つの各エリアにおいて全黒（全ての画素値が１である）と判定された場合も、本実施例においては中間調であると判定される。すなわち本実施例の中間調とは必ずしも面積階調の中間調と一致しているのでない。
【００４３】
なお、本実施形では中間調判定部２３２０から出力される中間調判定結果Ｆａを一つとし、後段のトナーセーブ処理部２３３０、線幅補正処理部２３４０に共通に入力させている。このように中間調判定結果をトナーセーブ処理と線幅補正処理で共用させることは回路規模削減に繋がる。しかし、必要とあらばトナーセーブ処理部２３３０、線幅補正処理部２３４０のそれぞれで判定Ａｒｅa１〜４の定義を変え、それぞれの判定結果をトナーセーブ処理部２３３０、線幅補正処理部２３４０に別々に入力させる構成としてもよい。
【００４４】
＜トナーセーブ処理＞
次に図７を参照してトナーセーブ処理部２３３０を詳細に説明する。トナーセーブ処理部では、主にトナー消費量を低減させるための画素間引き処理を行う。トナーセーブ処理部２３３０には共用バッファ部２３１０から注目画素を中心とした３×３画素群Ｗｃが入力される。トナーセーブ処理部２３３０では、まず画素群Ｗｃを４つのエッジ判定部２３３１〜２３３４に入力する。４つのエッジ判定部２３３１〜２３３４では、４つの方向に対してそれぞれエッジ判定処理を実行する。エッジ判定処理とは注目画素が、黒画素と白画素の隣接境界にあるエッジ画素であるか否かを判定する処理である。
【００４５】
図８はエッジ判定部２３３１〜２３３４の処理を説明するための図である。図８（ａ）の３×３マトリクスは、エッジ判定部２３３１〜２３３４に入力される画素群Ｗｃを示しており、斜線部分は注目画素を示している。図８（ｂ）のＷｃ１はその中の注目画素＋上領域を示しており、画素群Ｗｃの中で、注目画素が黒画素かつ上領域画素が白画素であるか否かを判定している。これは、上エッジ判定部２３３１で実行される。注目画素が黒画素かつ上領域画素が白画素であった場合、上エッジ判定部２３３１は、注目画素が上エッジ画素であると判定し、判定結果を後段のフラグマスク部２３３５へ出力する。同様に図８（ｃ）のＷｃ２では注目画素＋下領域を、図８（ｄ）のＷｃ３では注目画素＋左領域を、図８（ｅ）のＷｃ４では注目画素＋右領域をそれぞれ参照してエッジ判定を行う。下方向、左方向、右方向に対するエッジ判定は、下エッジ判定部２３３２、左エッジ判定部２３３３、右エッジ判定部２３３４で実行され、注目画素が黒画素かつ参照領域画素が白画素であるか否かを判定している。
【００４６】
続いてフラグマスク部２３３５では、前述した上下左右方向のエッジ判定結果をマスクする処理を行う。マスク処理によって、エッジを検出していたとしても、エッジが検出されなかったこととして後段へ判定結果を出力することとなる。
【００４７】
具体的には、フラグマスク部２３３５はＣＰＵ１１２が後述する設定に基づいて入力するエッジ検出設定信号ｅｄ１〜ｅｄ４を参照し、各エッジ判定結果をマスクするか否かを判定する。ｅｄ１〜ｅｄ４がそれぞれ上下左右のエッジ検出設定を示している。例えばｅｄ１がＯＦＦに設定されていれば、フラグマスク部２３３５では上エッジ判定部２３３１から出力されたエッジ判定信号をマスクし、後段へ判定結果を出力する。つまり、上エッジ判定部２３３１で上エッジを検出していたとしても、上エッジが検出されなかったこととして後段へ判定結果を出力することとなる。逆にｅｄ１がＯＮに設定されていれば、上エッジ判定部２３３１で上エッジを検出していれば、そのまま後段へ判定結果を出力する。同様の処理をｅｄ２は下エッジに、ｅｄ３は左エッジに、ｅｄ４は右エッジにかける。このようにすることで、フラグマスク部２３３５はｅｄ１〜ｅｄ４がＯＮになっている方向のエッジ判定結果（エッジ検出情報）を後段のトナーセーブ判定部２３３７へ出力することとなる。
【００４８】
また画素位置判定部２３３６では、現在処理している注目画素の位置を示す信号（注目画素位置情報）を生成し、トナーセーブ判定部２３３７へ出力する。例えば、市松模様の間引きパターンの場合に、これは、注目画素が処理ページ内の副走査方向に奇数ライン目か偶数ライン目か、または主走査方向に奇数画素目か偶数画素目かを示す信号であり、後段のトナーセーブ判定処理の際に利用される。
【００４９】
次にトナーセーブ判定部２３３７では現在の注目画素がトナーの消費量低減のために間引きされる（黒画素から白画素へ置き換える）べきか否かを判定し、その判定結果Ｆｂを後段へ出力する。これは、中間調判定結果Ｆａ、３×３画素群Ｗｃの一部である注目画素データ、フラグマスク部２３３５から出力される上下左右のエッジ判定結果、及び画素位置判定部２３３６からの注目画素位置情報を参照して判定される。
【００５０】
トナーセーブ判定部２３３７は、まず画素位置判定部２３３６からの注目画素位置情報とトナーセーブ処理の間引きパターン（トナーセーブ用のパターン）とに基づいて（論理演算により）、注目画素がトナーセーブ処理の間引き対象となるか否かを判定する。一例として、注目画素位置情報を参照し、注目画素位置が奇数ライン目であれば奇数画素を間引き対象とし、注目画素位置が偶数ライン目であれば偶数画素を間引き対象とする。これにより間引き対象となる画素は画像全体に対して市松模様のように配置される。間引き対象とならなかった注目画素は、判定結果ＦｂはＯＦＦ（トナーセーブのための間引き実行しない）として入力された注目画素値がそのまま出力される。
【００５１】
次に間引き対象となった画素は、その画素がエッジ領域か否か判定される。トナーセーブ判定部２３３７はフラグマスク部２３３５から入力されるマスク後の上下左右のエッジ判定結果を参照し、注目画素がエッジ領域か否かを判定する。例えば、マスク後の上下左右のエッジ判定結果により一つでもエッジと判定されていればその注目画素はエッジ領域とし、一つもエッジ判定されていなければ、エッジ領域以外の領域となる非エッジ領域とする。間引き対象となった画素で非エッジ領域と判定された画素は、その入力画素値が１（黒画素）であれば、判定結果ＦｂがＯＮ（トナーセーブのための間引き実行）として入力画素値を０（白画素）に変換して出力される。
【００５２】
間引き対象となった画素でエッジ領域と判定された画素は続いて中間調か否かが判定される。中間調判定結果Ｆａを受けて、注目画素が中間調と判定され、さらに入力画素値が１（黒画素）であれば、その画素の判定結果ＦｂはＯＮ（トナーセーブのための間引き実行）として入力画素値を０（白画素）に変換して出力される。中間調判定結果Ｆａにより注目画素が非中間調と判定されていればエッジ領域と判定された画素であっても判定結果ＦｂはＯＦＦ（トナーセーブのための間引き実行しない）として入力画素値がそのまま出力される。
【００５３】
つまり、間引き対象となった画素であってその入力画素値が１（黒画素）である注目画素は、非エッジ画素であると判定されれば、またはエッジ画素であると判定されたが中間調判定結果Ｆａにより中間調領域の画素であれば、間引きされるべきと判定される。その画素は判定結果ＦｂがＯＮ（トナーセーブのための間引き実行）として画素値を０（白画素）に変換して出力される。また間引き対象となった画素が黒画素である注目画素は、エッジ画素であると判定されたが中間調判定結果Ｆａにより非中間調領域の画素であれば、間引きされないべきと判定される。その画素は判定結果ＦｂがＯＦＦ（トナーセーブのための間引き非実行）として画素値を１（黒画素）のまま出力される。これにより、文字などの非中間調領域のエッジを間引いてしまうことによるエッジ部の画質低下を抑制しつつ、トナー消費量を低減する。なお、ここで市松模様の間引きパターンの場合を説明したが、別の間引きパターンをトナーセーブ処理に利用してもよい。
【００５４】
図９は、トナーセーブ処理部２３３０の入出力画像の一例を示す。設定の一例として上エッジのみエッジ検出設定がＯＮ（ｅｄ１のみがＯＮ）した場合を示す。図９（ａ）はトナーセーブ処理部２３３０への入力画素データである。この入力画素データは図９（ｂ）に示したように上エッジ領域のみトナーセーブのための間引き処理が実行されず、その他の画像領域は市松模様にトナーセーブのための間引き処理が実行された画像となって後段へ出力される。
【００５５】
＜線幅補正処理部＞
次に図１０を参照して線幅補正処理部２３４０を詳細に説明する。線幅補正処理部２３４０では、主に細線や小さな図形などのオブジェクトを目立たせるための線幅補正処理を行う。線幅補正処理部２３４０には共用バッファ部２３１０から注目画素を中心とした３×３画素群Ｗｃが入力される。線幅補正処理部２３４０では、まず画素群Ｗｃを４つのエッジ隣接判定部２３４１〜２３４４に入力する。
【００５６】
４つのエッジ隣接判定部２３４１〜２３４４では、４つの方向に対してそれぞれエッジ隣接判定処理を実行する。エッジ隣接判定処理とは注目画素が、黒画素と白画素の隣接境界にある白画素であるか否かを判定する処理である。
【００５７】
図１１はエッジ隣接判定部２３４１〜２３４４の処理を説明するための図である。図１１（ａ）の３×３マトリクスは、エッジ隣接判定部２３４１〜２３４４に入力される画素群Ｗｃを示しており、斜線部分は注目画素を示している。
【００５８】
図１１（ｂ）のＷｃ５はその中の注目画素＋上下領域を示しており、画素群Ｗｃの中で、注目画素及び上領域画素が白画素でさらに下領域画素が黒画素であるか否かを判定している。これは、上エッジ隣接判定部２３４１で実行される。注目画素及び上領域画素が白画素でさらに下領域画素が黒画素であった場合、上エッジ隣接判定部２３４１は、注目画素は上エッジ隣接画素であると判定し、判定結果を後段のフラグマスク部２３４５へ出力される。
【００５９】
同様に図１１（ｃ）のＷｃ６では下エッジ隣接判定部２３４２は注目画素＋上下領域を参照し、注目画素及び下領域画素が白画素でさらに上領域画素が黒画素であるか否かを判定し、注目画素が下エッジ隣接画素であるか判定している。また、図１１（ｄ）のＷｃ７では左エッジ隣接判定部２３４３は注目画素＋左右領域を参照し、注目画素及び左領域画素が白画素でさらに右領域画素が黒画素であるか否かを判定し、注目画素が左エッジ隣接画素であるか判定している。同様に図１１（ｅ）のＷｃ８では右エッジ隣接判定部２３４４は注目画素＋左右領域を参照し、注目画素及び右領域画素が白画素でさらに左領域画素が黒画素であるか否かを判定し、注目画素が右エッジ隣接画素であるか判定している。
【００６０】
続いてフラグマスク部２３４５では、前述した上下左右方向のエッジ隣接判定結果をマスクする処理を行う。マスク処理によって、エッジ隣接位置を検出していたとしても、エッジ隣接位置が検出されなかったこととして後段へ判定結果を出力することとなる。具体的には、フラグマスク部２３４５はＣＰＵ１１２が後述する線幅補正設定に基づいて入力するエッジ隣接検出設定信号ｅｓｄ１〜ｅｓｄ４を参照し、処理を決定する。ｅｓｄ１〜４がそれぞれ上下左右のエッジ隣接検出設定を示している。
【００６１】
例えばｅｓｄ１がＯＦＦに設定されていれば、フラグマスク部２３４５では上エッジ隣接判定部２３４１から出力されたエッジ隣接判定信号をマスクし、後段へ判定結果を出力する。つまり、上エッジ隣接判定部２３４１で上エッジ隣接位置を検出していたとしても、上エッジ隣接位置が検出されなかったこととして後段へ判定結果を出力することとなる。逆にｅｓｄ１がＯＮに設定されていれば、上エッジ隣接判定部２３４１で上エッジ隣接位置を検出していれば、そのまま後段へ判定結果を出力する。
【００６２】
同様の処理をｅｓｄ２は下エッジ隣接位置に、ｅｓｄ３は左エッジ隣接位置に、ｅｓｄ４は右エッジ隣接位置の判定結果にかける。このようにすることで、フラグマスク部２３４５はｅｓｄ１〜ｅｓｄ４がＯＮになっている方向のエッジ隣接判定結果（エッジ隣接位置情報）を後段の線幅補正判定部２３４６へ出力することとなる。
【００６３】
次に線幅補正判定部２３４６では現在の注目画素が線幅補正のために太る（白画素から黒画素へ置き換える）べきか否かを判定し、その判定結果Ｆｃを後段へ出力する。これは、中間調判定結果Ｆａ、Ｗｃの一部である注目画素データ、及び上下左右のエッジ隣接判定結果を参照して判定される。
【００６４】
具体的には、線幅補正判定部２３４６はフラグマスク部２３４５から入力されるマスク後の上下左右のエッジ隣接判定結果を参照し、注目画素がエッジ隣接位置か否かを判定する。例えば、マスク後の上下左右のエッジ隣接判定結果により一つでもエッジ隣接位置と判定されていればその注目画素はエッジ隣接領域とし、一つもエッジ隣接判定されていなければ非エッジ隣接領域とする。
【００６５】
注目画素で非エッジ隣接領域と判定された画素は判定結果ＦｃがＯＦＦ（線幅補正処理非実行）として入力画素値をそのまま出力される。注目画素でエッジ隣接領域と判定された画素は続いて中間調か否かを判定する。中間調判定結果Ｆａを受けて、注目画素が中間調と判定されれば、エッジ隣接領域と判定された画素であっても判定結果ＦｃはＯＦＦ（線幅補正処理非実行）として入力画素値がそのまま出力される。中間調判定結果Ｆａにより注目画素が非中間調と判定されていればその画素の判定結果ＦｃはＯＮ（線幅補正処理実行）として入力画素値を１（黒画素）に変換して出力される。
【００６６】
つまり、注目画素がエッジ隣接画素であると判定され、中間調判定結果Ｆａにより非中間調領域の画素であり、さらに、入力された画素値が０（白画素）である場合に、注目画素の判定結果Ｆｃは入力画素値と異なる画素値を出力する信号となる。その他の場合に、注目画素の判定結果Ｆｃは入力画素値と同一の画素値を出力する信号となる。これにより、中間調領域の網点のエッジを強調することによるエッジ部の画質低下を抑制しつつ、細線や小さな図形などのオブジェクトの画質を向上させる。
【００６７】
図１２は、線幅補正処理部２３４０の入出力画像の一例を示す。設定の一例として右エッジのみエッジ隣接検出設定がＯＮ（ｅｓｄ４のみがＯＮ）した場合を示す。図１２（ａ）は線幅補正処理部２３４０への入力画素データである。この入力画素データは図１２（ｂ）に示したように右エッジ部のみ線幅補正処理が実行され、その他の画像領域は入力画像がそのまま後段へ出力される。
【００６８】
＜尾引き抑制処理部＞
次に図１３を参照して尾引き抑制処理部２３５０を詳細に説明する。なお、尾引き抑制処理部２３５０はトナーセーブ処理部２３３０とは異なるアルゴリズムに従って間引き処理を実行する。尾引き抑制処理部２３５０では、尾引き抑制のための間引きを行う。
【００６９】
尾引き抑制処理部２３５０には共用バッファ部２３１０から９×９画素群Ｗｄが入力される。尾引き抑制処理部２３５０では、まず画素群Ｗｄをライン画像検出部２３５１に入力する。
【００７０】
ライン画像検出部２３５１では、入力された画素群Ｗｄの各ラインが黒ラインであるかを、ライン内の黒画素数や割合から判定する。本実施例では、ライン内の全ての画素が黒画素であれば黒ラインと判定する。なおここでいうラインとは、主走査方向に延びる１画素幅の画素列のことであり、ライン画像とは、黒ラインが副走査方向に隣接している複数ライン分の画像のことである。そして、ライン画像検出部２３５１は、黒ライン判定結果に基づき、注目画素が含まれたライン画像を検出し、ライン画像の幅などのライン画像の情報を判定して尾引き抑制判定部２３５３へ出力する。本実施例において、ライン画像の情報は、画素群Ｗｄにおけるライン画像の相対位置をさらに含む。
【００７１】
画素位置判定部２３５２では、現在処理している注目画素の位置を示す信号（注目画素位置情報）を生成し、尾引き抑制判定部２３５３へ出力する。例えば、尾引き抑制処理にも市松模様の間引きパターンを利用する場合、これは、注目画素が処理ページ内の副走査方向に奇数ライン目か偶数ライン目か、または主走査方向に奇数画素目か偶数画素目かを示す信号であり、後段の間引き処理の際に利用される。
【００７２】
次に尾引き抑制判定部２３５３では現在の注目画素が前述の尾引き抑制のために間引きされるべきか否かを判定し、その判定結果Ｆｄを後段へ出力する。これは、Ｗｄの一部である注目画素データ、ライン画像検出部２３５１によるライン画像検出結果、及び画素位置判定部２３５２による注目画素位置情報、尾引き抑制設定格納部２３５４に格納された尾引き抑制設定情報を参照して判定される。
【００７３】
尾引き抑制設定格納部２３５４に格納された尾引き抑制設定情報は、尾引き抑制判定部２３５３によって参照されるべき、尾引き抑制処理の内容（やり方）を規定する情報である。この情報のことを以降では尾引き抑制処理仕様と呼ぶ。この尾引き抑制処理仕様の設定によって、後述するように線幅の補正の程度に応じて所定のライン幅のライン画像に適用する尾引き抑制処理の内容が決まる。なお、設定される尾引き抑制処理仕様が変われば、同一のライン幅のライン画像であっても、適用される尾引き抑制処理の内容も変わる。この尾引き抑制処理仕様は、黒ラインの幅に関連付けて指定されている、適用されるべき間引きパターンの種類（Ｐａｔｔｅｒｎ）及びライン画像における間引き処理ラインの位置を含む。なお、本実施例において、間引き処理ラインの位置は、間引きパターンを適用するライン画像のエッジ下端からの位置（ＥｄｇｅＬｉｎｅ）及び間引き幅（ＡｐｐｌｙＬｉｎｅ）を含む。
【００７４】
尾引き抑制判定部２３５３は、まず、検出されたライン画像の幅に対する、適用されるべき間引きパターンの種類、及びライン画像における間引き処理ラインの位置を判定する。そして、尾引き抑制判定部２３５３は、判定した尾引き抑制処理の間引きパターン及び画素位置判定部から受取った注目画素位置情報に基づいて、注目画素が間引き対象となるか否かを判定する。次に間引き対象となった画素は、その画素が間引き処理ラインに含まれるか否かが判定される。この判定は、ライン画像検出部２３５１から受取った画素群Ｗｄにおけるライン画像の相対位置を参照して行うことができる。入力画素値が１（黒画素）であり、間引き対象となると判定され、さらに間引き処理ラインに含まれると判定された場合、注目画素は判定結果ＦｄがＯＮ（尾引き抑制のための間引き実行）として入力画素値を０（白画素）に変換して出力される。その他の場合、すなわち入力画素値が０（白画素）である画素、間引き対象とならなかった画素、または間引き処理ラインに含まれていない画素は判定結果ＦｄがＯＦＦ（尾引き抑制のための間引き実行しない）として入力画素値がそのまま出力される。
【００７５】
図１４は、尾引き抑制処理部２３５０の入出力画像の一例を示す。一例として黒ライン幅が５ラインであるライン画像の場合を示す。図１４（ａ）は尾引き抑制処理部２３５０への入力画素データである。この入力画素データは、５ライン画像と検出され、５ライン画像に対する適用されるべき間引きパターンの種類及び間引きラインの位置などの尾引き抑制処理仕様に従って尾引き抑制処理が実行される。その結果、図１４（ｂ）のように、検出されたライン画像（５ライン画像）に対して、所望の間引きパターン（ＰａｔｔｅｒｎＢ）によって尾引き抑制（飛び散り防止）のための間引き処理が実行された画像が後段へ出力される。
【００７６】
ここで、図１４（ｂ）で示す間引き処理では、黒ライン幅が５ラインの場合（ＢｋＬｉｎｅＣｎｔ＝５）における尾引き抑制処理仕様を使用している。すなわち、エッジの下端からパターンを間引くラインの位置（ＥｄｇｅＬｉｎｅ＝１）と、間引きパターンを適用するライン幅（ＡｐｐｌｙＬｉｎｅ＝２）の尾引き抑制処理仕様を使用している。また、適用する間引きパターンはＰａｔｔｅｒｎＢが設定されており、ＡｐｐｌｙＬｉｎｅが２ラインであることから、ＰａｔｔｅｒｎＢの下端の２ラインが尾引き抑制のための間引き処理に用いられている。このような間引き処理を行うための尾引き抑制処理仕様は、後述する図２２（ａ）に示すデフォルトの尾引き抑制処理仕様である。
【００７７】
なお、検出する黒ライン幅に対する間引きパターンの種類（Ｐａｔｔｅｒｎ）及び間引きラインの位置などを含む尾引き抑制処理仕様や尾引き抑制処理仕様のＰａｔｔｅｒｎとして登録される複数の間引きパターンは、ＲＯＭ１１３に格納されている。そして、後述する尾引き抑制処理設定フローにおいて、ＣＰＵ１１２が、ＲＯＭ１１３に格納されている複数の尾引き抑制処理仕様のうち、適したものを尾引き抑制設定格納部２３５４へ、尾引き抑制設定情報として格納する。
【００７８】
なお、パターンサイズは図１４（ｂ）に記載のサイズに限るものではなく、入出力画像の解像度等によっても変える必要がある。また、尾引き抑制処理仕様のＰａｔｔｅｒｎとして登録される白黒パターンは、規則性のあるパターンである必要は必ずしもない。また、エッジから遠くなるほど間引き量を抑制するようなパターンにしても良い。
【００７９】
＜ドット分散処理部＞
次に図１５を参照してドット分散処理部２３６０を詳細に説明する。なお、ドット分散処理部２３６０はプリンタ部１０２の性能次第で記録媒体上の白ドットが大きく表現され、目ざわりな画像になることを防止する目的で処理を実行する。具体的には、濃度を保ちつつ画像内部の特定パターンの白ドットを縮小、分散させる。ドット分散処理部２３６０には共用バッファ部２３１０から２７×２７画素群Ｗｅが入力される。ドット分散処理部２３６０では、まず画素群Ｗｅをドット縮小判定部２３６１及びドット付与判定部２３６２に入力する。
【００８０】
ドット縮小判定部２３６１では、注目画素位置の画素が白く、２７×２７画素群Ｗｅの中で注目画素位置を中心として点対象に別の白画素が斜め４方向に存在した場合にドット縮小を実行するための信号を後段の出力ドット判定部２３６３へ出力する。
【００８１】
また、ドット付与判定部２３６２では、注目画素位置の画素が黒く、２７×２７画素群Ｗｅの中で注目画素位置を中心として点対象に別の白画素が上下左右の４方向に存在した場合にドット付与を実行するための信号を後段の出力ドット判定部２３６３へ出力する。
【００８２】
次に出力ドット判定部２３６３では現在の注目画素の白ドットが縮小されるべきか、注目画素位置に白ドットを付与すべきかを判定し、その判定結果Ｆｅを後段の最終出力判定部２３７０へ出力する。これは、Ｗｅの一部である注目画素データ、ドット縮小判定結果、及びドット付与判定結果を参照して判定される。ドット縮小判定された注目画素は、入力画素値を１（黒画素）に変換して出力される。ドット付与判定された注目画素は、入力画素値を０（白画素）に変換して出力される。また、どちらにも判定されなかった注目画素は入力画素値がそのまま出力される。
【００８３】
図１６は、ドット分散処理部２３６０の入出力画像の一例を図１６（ａ）、（ｂ）に示す。図１６（ａ）はドット分散処理部２３６０への入力画素データである。この入力画素データは図１６（ｂ）に示したように画素データ内の白ドットが縮小・分散した画素データとなって後段の最終出力判定部２３７０へ出力される。
【００８４】
＜最終出力判定部＞
最終出力判定部２３７０では、二値画像処理部１２０の最終的な出力画素値を判定し、画素データＤｄとして後段へ出力する。最終出力判定部２３７０は、共用バッファ部２３１０から注目画素である画素Ｗａと、各画像処理部（２３３０〜２３６０）からそれぞれの判定結果であるＦｂ、Ｆｃ、Ｆｄ、Ｆｅを受け取る。最終出力判定部２３７０は、これら入力を受けて、画素Ｗａと異なる画素値を出力する信号がＦｂ、Ｆｃ、Ｆｄ、Ｆｅに一つでもあれば異なる画素値を出力する。つまり、画素Ｗａが０（白画素）でＦｂ、Ｆｃ、Ｆｄ、Ｆｅに一つでも１（黒画素）出力を示すものがあれば１（黒画素）を出力する。反対に画素Ｗａが１（黒画素）でＦｂ、Ｆｃ、Ｆｄ、Ｆｅに一つでも０（白画素）出力を示すものがあれば０（白画素）を出力する。また画素Ｗａの画素値とＦｂ、Ｆｃ、Ｆｄ、Ｆｅの示す出力画素値がすべて同一であるならば、画素Ｗａの画素値をそのまま出力する。
【００８５】
ここで、最終出力判定部２３７０は、Ｆｂ、Ｆｃ、Ｆｄ、Ｆｅすべての結果を参照するのではなく、設定に応じて一部結果を無視する構成としてもよい。例えば、ドット分散処理が不要なプリンタ部１０２が後段にある場合、ドット分散処理結果Ｆｅを判定に含まないとしてもよい。また、並列に配置されている各画像処理部の処理遅延量が異なる場合、遅延量調整回路を最終出力判定部内部に持つ構成としてもよい。
【００８６】
＜印刷処理フロー＞
図１７はコントローラ部１０１内のＣＰＵ１１２が実行する白黒プリンタ１００の印刷処理を示すフローチャートである。本動作フローチャートのプログラムは、ＲＯＭ１１３内に白黒プリンタ１００が実現すべき機能として格納されている。本プログラムはＣＰＵ１１２がブートプログラムを実行することにより、ＲＯＭ１１３からＲＡＭ１１４へ読み出される。そしてＣＰＵ１１２がＲＡＭ１１４上に読み出したプログラムを実行することで処理される。
【００８７】
まずステップＳ１０１において、ＣＰＵ１１２はプリンタ部１０２に搭載されたＣＰＵと通信し、画像形成処理に必要な画像処理に関するプリンタ情報を取得する。例えば、尾引き抑制処理部２３５０における尾引き抑制処理やドット分散処理部２３６０によるドット分散処理を機能させるか否かなどの情報を得る。各処理部を機能させるか否かは、プリンタ部１０２の特性によって決定される。例えば、細線が目立ちにくいプリンタは線幅補正を機能させるために、線幅補正処理部２３４０をＯＮに設定し、尾引き現象を生じやすいプリンタは尾引き抑制処理部２３５０をＯＮに設定し、各機能を有効とすればよい。このように、最終出力判定部２３７０の出力方法を決定する際、初期設定はすべての機能をＯＦＦとし、必要に応じてＣＰＵ１１２が最終出力判定部２３７０へ、Ｆｂ、Ｆｃ、Ｆｄ、Ｆｅ結果のうち機能を実現する結果の参照を有効とする設定をすればよい。
【００８８】
次にステップＳ１０２において、ＣＰＵ１１２は線幅補正設定の情報を取得する。これは、操作部１１５にユーザが入力した情報から取得してもよいし、ホストコンピュータ１７０にインストールされたプリンタドライバ上での設定情報から取得してもよい。また、プリンタ部１０２の種類や状態によって設定情報を変更する場合があるのならば、さらにプリンタ部１０２に搭載されたＣＰＵ１１２と通信し、線幅補正設定に関する情報を取得する。
【００８９】
ここで図１８を参照して操作部１１５におけるユーザ指示による線幅補正設定例を説明する。ここで入力された線幅補正設定の情報はＣＰＵ１１２へ送信される。図１８は操作部１１５上の液晶操作パネル（不図示）における設定画面の一例である。液晶操作パネルにはユーザ設定におけるプリント画質設定画面が表示されている。ここで、ユーザは黒文字や線画の線幅（オブジェクトの幅）を太くする線幅補正処理を実行するか否かを選択する。つまり、線幅補正処理を実行する場合に、ユーザ指示によって、図１８の「線幅補正」項目のラジオボタンは「する」が選択される。これによって線幅補正の設定をＯＮとする設定が行われる。逆に線幅補正処理を実行しない場合に、ユーザ指示によって、図１８の「線幅補正」項目のラジオボタンは「しない」が選択される。これによって線幅補正の設定をＯＦＦとする設定が行われる。
【００９０】
さらに、線幅補正を行う場合、横線補正レベル及び縦線補正レベルを０から２までをユーザが操作部１１５を介して選択することで、線幅補正設定の横線補正レベル及び縦線補正レベルが設定される。なお横線補正とは、画像を横方向（主走査方向）に太くする補正を意味し、レベルはその補正強度を示す。また、縦線補正とは、画像を縦方向（副走査方向）に太くする補正を意味し、レベルはその補正強度を示す。ユーザは、これら実行のする／しないや、レベルを設定する。
【００９１】
ＣＰＵ１１２は、操作部１１５上の液晶操作パネルにおける線幅補正設定の内容を取得することで、線幅補正設定の情報を取得する。なお、図１８に示されていないが、プリント画質設定画面に「尾引き抑制」項目が含まれてもよい。これによってユーザは尾引き抑制処理を実行するか否かを選択することができる。
【００９２】
続いてステップＳ１０３において、ＣＰＵ１１２はステップＳ１０２にて取得した設定情報を線幅補正処理部２３４０に設定する。設定詳細に関しては図１９を参照して後述する。
【００９３】
続いてステップＳ１０４において、ＣＰＵ１１２はステップＳ１０１にて取得した設定情報を尾引き処理部２３５０に設定する。設定詳細に関しては図２１を参照して後述する。
【００９４】
ステップＳ１０５において、ＣＰＵ１１２は白黒プリンタ１００の画像形成処理を実行する。具体的には、ホストコンピュータ１７０などから外部ネットワーク１９０を介して受信した印刷画素データをレンダラ１１８を用いてビットマップデータに展開し、二値画像データ生成部１１９へと出力する。出力された画素データは、二値画像データ生成部１１９内部で色空間処理、ハーフトーン処理、二値画像処理など所望の画像処理が施され、さらに二値画像処理部１２０へと出力される。そしてＣＰＵ１１２は、プリンタ部１０２に搭載されたＣＰＵと通信し、プリンタ部１０２を制御し、印刷処理を実行する。
【００９５】
＜線幅補正処理設定フロー＞
図１９は、コントローラ部１０１内のＣＰＵ１１２が実行する線幅補正処理設定のフローチャート（エッジ隣接検出方向設定フローチャット）である。これは、図１７におけるステップＳ１０３を具体的に記載したものである。なお、本フローチャート内での各種設定情報は、ステップＳ１０１にてプリンタ部１０２のＣＰＵから取得した情報や、ステップＳ１０２にて操作部１１５にユーザが入力した情報や、ドライバ上での設定情報などのいずれから取得したものである。以下の処理は受信した線幅補正設定の情報に基づいて実行される。なお本処理が実行される前には、エッジ隣接検出方向を制御する（所定方向にする）エッジ隣接検出設定信号ｅｓｄ１〜ｅｓｄ４の全てはＯＦＦに設定されている。そして、ステップＳ２０１からステップＳ２０９では、受信した線幅補正設定の情報に基づいてエッジ隣接検出設定信号ｅｓｄ１〜ｅｓｄ４を設定する。
【００９６】
まず、ステップＳ２０１において、ＣＰＵ１１２は、受信した線幅補正設定の情報について、線幅補正の設定がＯＮになっているか否かを判定する。設定がＯＮの場合にはステップＳ２０２へ進む。設定がＯＦＦの場合にはフローを終了する。
【００９７】
次にステップＳ２０２において、設定された横線補正レベルの判定が実行される。まずステップＳ２０２において、ＣＰＵ１１２によって横線補正レベルが０か否かが判定される。横線補正レベルが０であった場合はステップＳ２０６へ進み、横線補正レベルが０でなかった場合にはステップＳ２０３へ進む。
【００９８】
次にステップＳ２０３において、横線補正レベルが１か否かが判定される。横線補正レベルが１であった場合はステップＳ２０５へ進み、横線補正レベルが１でなかった場合には横線補正レベルは２であると判定し、ステップＳ２０４へ進む。
【００９９】
ステップＳ２０４において、ＣＰＵ１１２は右方向エッジ隣接検出のＯＮ設定を行う。具体的には、ＣＰＵ１１２は線幅補正処理部２３４０に入力されるｅｓｄ４信号をＯＮに設定する。これにより線幅補正処理部２３４０では右エッジ隣接判定結果がフラグマスク部２３４５でマスクされずに線幅補正判定部２３４６に入力されることとなる。
【０１００】
ステップＳ２０５において、ＣＰＵ１１２は左方向エッジ隣接検出のＯＮ設定を行う。具体的には、ＣＰＵ１１２は線幅補正処理部２３４０に入力されるｅｓｄ３信号をＯＮに設定する。これにより線幅補正処理部２３４０では左エッジ隣接判定結果がフラグマスク部２３４５でマスクされずに線幅補正判定部２３４６に入力されることとなる。
【０１０１】
次にステップＳ２０６において、設定された縦線補正レベルの判定が実行される。まずステップＳ２０６において、ＣＰＵ１１２によって縦線補正レベルが０か否かが判定される。縦線補正レベルが０であった場合はステップＳ２１０へ進み、縦線補正レベルが０でなかった場合にはステップＳ２０７へ進む。
【０１０２】
次にステップＳ２０７において、縦線補正レベルが１か否かが判定される。縦線補正レベルが１であった場合はステップＳ２０９へ進み、縦線補正レベルが１でなかった場合には縦線補正レベルは２であると判定し、ステップＳ２０８へ進む。
【０１０３】
ステップＳ２０８において、ＣＰＵ１１２は下方向エッジ隣接検出のＯＮ設定を行う。具体的には、ＣＰＵ１１２は線幅補正処理部２３４０に入力されるｅｓｄ２信号をＯＮに設定する。これにより線幅補正処理部２３４０では下エッジ隣接判定結果がフラグマスク部２３４５でマスクされずに線幅補正判定部２３４６に入力されることとなる。
【０１０４】
ステップＳ２０９において、ＣＰＵ１１２は上方向エッジ隣接検出のＯＮ設定を行う。具体的には、ＣＰＵ１１２は線幅補正処理部２３４０に入力されるｅｓｄ１信号をＯＮに設定する。これにより線幅補正処理部２３４０では上エッジ隣接判定結果がフラグマスク部２３４５でマスクされずに線幅補正判定部２３４６に入力されることとなる。
【０１０５】
図２０は、図１９のフローにおける線幅補正処理部２３４０の設定結果を示す表である。図２０（ａ）、（ｂ）のように、線幅補正処理部には、線幅補正処理を実行するか否か、及び線幅補正処理を実行する場合は、設定された線幅補正レベルに応じたエッジ隣接検出方向が設定される。
【０１０６】
＜尾引き抑制処理設定フロー＞
図２１は、コントローラ部１０１内のＣＰＵ１１２が実行する尾引き抑制処理設定のフローチャートである。これは、図１７におけるステップＳ１０４を具体的に記載したものである。なお、本フローチャート内での各種設定情報は、ステップＳ１０１にてプリンタ部１０２のＣＰＵから取得した情報、あるいはＲＯＭ１１３に格納されている尾引き抑制処理仕様のいずれかである。
【０１０７】
まず、ステップＳ３０１において、ＣＰＵ１１２は尾引き抑制処理の設定がＯＮになっているか否かを判定する。設定がＯＮの場合にはステップＳ３０２へ進む。設定がＯＦＦの場合にはフローを終了する。
【０１０８】
次に、ステップＳ３０２において、ＣＰＵ１１２によって尾引き抑制処理部２３５０に対して、デフォルトの尾引き抑制処理設定が実行される。すなわち、図２２（ａ）に示すような尾引き抑制処理仕様が尾引き抑制設定情報として設定される。この尾引き抑制処理設定では、尾引き抑制処理を実行するか否か、尾引き抑制処理を実行する場合は、尾引き抑制処理部２３５０に以下の尾引き抑制処理設定が実行される。
【０１０９】
具体的には、検出する黒ラインの幅（ＢｋＬｉｎｅＣｎｔ）に対するパターンの間引き幅（ＡｐｐｌｙＬｉｎｅ）、間引きパターンを適用する黒ラインのエッジ下端からの位置（ＥｄｇｅＬｉｎｅ）及び間引きパターンの種類（Ｐａｔｔｅｒｎ）である。
【０１１０】
黒ライン幅（ＢｋＬｉｎｅＣｎｔ）は、尾引き抑制のための間引き処理の実行の可否を判定する際にライン幅を示す。間引き幅（ＡｐｐｌｙＬｉｎｅ）は、間引き処理を実行すると判定された黒ラインのうちの、間引き処理を実行するライン幅を示す。なおこの間引き幅は、適用される間引きパターンのうち、間引きパターンのどの部分を適用するかを判定するためにも用いられる。間引きパターンの種類（Ｐａｔｔｅｒｎ）は、複数ある間引きパターンの中から該当する黒ラインに適用する間引きパターンを示す。１つの尾引き抑制は、図２２（ａ）のように、複数の検出ライン幅に対応した尾引き抑制処理を行うための情報がセットになったものである。
【０１１１】
尾引き抑制処理部２３５０に設定可能な複数の尾引き抑制処理仕様は、予めＲＯＭ１１３に格納されている。ステップＳ３０２が実行される際、ＣＰＵ１１２がＲＯＭ１１３から、参照されるべき尾引き抑制処理仕様を読み出した後、尾引き抑制設定格納部２３５４へ尾引き抑制設定情報として格納される。
【０１１２】
次に、ステップＳ３０３において、ＣＰＵ１１２は線幅補正処理部における縦線補正レベルが１か否かを判定する。縦線補正レベルが１の場合にはステップＳ３０４へ進み、１でない場合はステップＳ３０５へ進む。
【０１１３】
ステップＳ３０４において、縦線補正レベルが１の場合の、尾引き抑制設定への変更が実行される。縦線補正レベルが１の場合、線幅補正処理部ではライン画像に対して、上方向に１ラインの画素を付加する処理が実行される。そのため、尾引き抑制処理部２３５０では、線幅補正処理後のライン幅が上方向に１ライン増えることを想定し、尾引き抑制設定情報として図２２（ａ）に示すデフォルトの尾引き抑制処理仕様から、図２２（ｂ）に示す尾引き抑制処理仕様へ変更する。
【０１１４】
例えば、図２２（ｂ）のように、検出するライン幅（ＢｋＬｉｎｅＣｎｔ）に対するＡｐｐｌｙＬｉｎｅやＰａｔｔｅｒｎが１ライン分多くなるように変更する。変更された尾引き抑制処理仕様は、尾引き抑制設定格納部２３５４へ格納される。
【０１１５】
一方、ステップＳ３０５において、ＣＰＵ１１２は線幅補正設定における縦線補正レベルが２か否かを判定する。縦線補正レベルが２の場合にはステップＳ３０６へ進み、２でない場合は、縦線補正は実行されないため、デフォルトの尾引き抑制設定のままフローを終了する。
【０１１６】
ステップＳ３０６において、縦線補正レベルが２の場合の、尾引き抑制設定への変更が実行される。縦線補正レベルが２の場合、線幅補正処理部ではライン画像に対して、上下方向に１ラインずつ画素を付加する処理が実行される。そのため、尾引き抑制処理部２３５０では、線幅補正処理後のライン幅が上下方向に１ラインずつ増えることを想定し、尾引き抑制設定情報として図２２（ａ）に示すデフォルトの尾引き抑制処理仕様から、図２２（ｃ）に示す尾引き抑制処理仕様へ変更する。
【０１１７】
例えば、図２２（ｃ）のように、検出するライン幅（ＢｋＬｉｎｅＣｎｔ）に対するＡｐｐｌｙＬｉｎｅやＰａｔｔｅｒｎが２ライン分多くなるように変更する。また、間引きパターンのエッジ下端からの位置（ＥｄｇｅＬｉｎｅ）はエッジ下端に１ラインが付加されるのを加味し、デフォルトの１ラインから１ライン減らした０ラインに設定を変更する。変更された尾引き抑制処理仕様は、尾引き抑制設定格納部２３５４へ格納される。
【０１１８】
上記の尾引き抑制処理仕様の変更を行うことにより、尾引き抑制のための間引き処理を、線幅補正処理によるライン画像（オブジェクト）のエッジ下端の位置およびライン幅の変化を考慮して行うことができる。すなわち、線幅補正処理の線幅補正設定、特に副走査方向の線幅補正設定に従って、尾引き抑制処理の尾引き抑制処理仕様が設定される。
【０１１９】
なお、上記のデフォルトの尾引き抑制処理仕様、縦線補正レベル１用の尾引き抑制処理仕様及び縦線補正レベル２用の尾引き抑制処理仕様のすべてはＲＯＭ１１３に予め格納されていてもよい。そして、尾引き抑制設定フローを実行する際に必要な尾引き抑制処理仕様をＲＯＭ１１３から読み取って尾引き抑制設定格納部２３５４へ格納する。また、デフォルトの尾引き抑制処理仕様のみがＲＯＭ１１３に予め格納されていてもよい。そして、尾引き抑制設定フローを実行する際に必要に応じて縦線補正レベル１または２用の尾引き抑制処理仕様をデフォルトの尾引き抑制処理仕様から生成して尾引き抑制設定格納部２３５４へ格納する。
【０１２０】
＜尾引き抑制処理仕様変更による最終出力結果＞
図２４に、上記尾引き抑制処理設定フローを実行した（尾引き抑制処理仕様変更を実行した）際の、線幅補正処理部２３４０、尾引き抑制処理部２３５０及び最終出力判定部２３７０の各処理部の入出力画素データのー例を示す。比較のため、図２３に、本実施形態の尾引き抑制処理設定フローを実行しなかった（尾引き抑制処理仕様変更を実行しなかった）際の、線幅補正処理部２３４０、尾引き抑制処理部２３５０及び最終出力判定部２３７０の各処理部の入出力画素データも示す。なお、最終出力判定部２３７０において、トナーセーブ処理部２３３０とドット分散処理部２３６０の機能をＯＦＦに設定した場合の例について述べる。
【０１２１】
図２３は、３ライン画像の画素データが入力された場合に、本実施形態の尾引き抑制処理設定フローを実行しなかった際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データを示す。すなわち、図２０（ｂ）に示す縦線補正レベル２の線幅補正処理と、図２２（ａ）に示すデフォルトの尾引き抑制処理仕様による尾引き抑制処理を実行した場合の、各処理部の入出力画素データを示す。
【０１２２】
まず、３ライン画像の入力画素データに対し、線幅補正処理部２３４０は、上下に１ラインずつ付加した５ライン画像の画素データを出力する。一方、尾引き抑制処理部２３５０は、図２２（ａ）に示すデフォルトの尾引き抑制処理仕様でＢｋＬｉｎｅＣｎｔが３ライン画像に対応するＡｐｐｌｙＬｉｎｅ＝１、ＥｄｇｅＬｉｎｅ＝１、ＰａｔｔｅｒｎＡで尾引き抑制処理を実行する。その結果、中央１ラインの画素がＰａｔｔｅｒｎＡのように間引かれた３ライン画像の画素データが出力される。そして、最終出力判定部２３７０は、入力画素データと、線幅補正処理後及び尾引き抑制処理後の画素データの画素値比較により、最終出力画素データとして中央１ラインの画素が間引かれた５ライン画像の画素データを出力する。
【０１２３】
しかし、この最終出力画素データの間引き方は、エッジの搬送方向下端において２ライン分の黒画素のラインが残り、また、間引き幅が１ライン分であるなど、５ラインの画素データに適するものではないため、所望の尾引き抑制効果が得られない。
【０１２４】
これに対し、図２４は、３ライン画像の画素データが入力された場合に、本実施形態の尾引き抑制処理設定フローを実行した際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データを示す。すなわち、図２０（ｂ）に示す縦線補正レベル２の線幅補正処理と、図２２（ｃ）に示す縦線補正レベル２用の尾引き抑制処理仕様による間引き処理を実行した場合の、各処理部の入出力画素データを示す。
【０１２５】
図２４において、尾引き抑制処理部２３５０は、図２２（ｃ）に示す縦線補正レベル２用の尾引き抑制処理仕様でＢｋＬｉｎｅＣｎｔが３ラインに対応するＡｐｐｌｙＬｉｎｅ＝２、ＥｄｇｅＬｉｎｅ＝０、ＰａｔｔｅｒｎＢで間引き処理を実行する。その結果、エッジ下端から２ラインの画素がＰａｔｔｅｒｎＢのように間引かれた３ライン画像の画素データが出力される。そして、最終出力判定部２３７０は、入力画素データと、線幅補正処理後及び尾引き抑制処理後の画素データの画素値比較を行う。画素値比較により、最終出力画像としてエッジ下端から１ライン上（エッジ下端から２ライン目）の位置から上方向に２ライン幅の画素が間引かれた５ライン画像の画素データを出力する。これは、図２２（ａ）に示すデフォルトの尾引き抑制処理仕様において、５ライン画像（ＢｋＬｉｎｅＣｎｔ＝５）に対する処理仕様に相当し、線幅補正処理によるエッジ領域の変化に合わせた所望の尾引き抑制処理が実現できたことになる。
【０１２６】
続いて、別の例として、図２５（ａ）は、２ライン画像の画素データが入力された場合に、本実施形態の尾引き抑制処理設定フローを実行しなかった際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データを示す。すなわち、図２０（ａ）に示す縦線補正レベル１の線幅補正処理と、図２２（ａ）に示すデフォルトの尾引き抑制処理仕様による尾引き抑制処理を実行した場合の、各処理部の入出力画素データを示す。
【０１２７】
まず、２ライン画像の入力画素データに対し、線幅補正処理部２３４０は、上に１ライン付加した３ライン画像の画素データを出力する。一方、尾引き抑制処理部２３５０は、図２２（ａ）に示すデフォルトの尾引き抑制処理仕様でＢｋＬｉｎｅＣｎｔが２ラインに対応する間引き処理を実行する。この場合、ＢｋＬｉｎｅＣｎｔ＝２に対するＡｐｐｌｙＬｉｎｅ，ＥｄｇｅＬｉｎｅ，Ｐａｔｔｅｒｎの設定はないため、２ライン画像の画素データがそのまま出力される。デフォルトの尾引き抑制処理仕様において２ライン画像の画素データに対して間引き処理を行わない理由は、図２５（ｂ）に示すように、間引き処理後のライン画像のエッジ部のガタつきが目立ってしまい、間引き処理による画像劣化の影響が大きいためである。
【０１２８】
そして、最終出力判定部２３７０は、入力画素データと、線幅補正処理後及び尾引き抑制処理後の画素データの画素値比較により、最終出力画像として画素の間引きなしの３ライン画像の画素データを出力する。つまり、尾引き抑制効果を高めるためには３ライン画像の画素データに対しての間引き処理が必要であるが、図２５（ａ）の最終出力画素データは尾引き抑制のための間引き処理が行われていない。
【０１２９】
これに対し、図２６は、２ライン画像の画素データが入力された場合に、本実施形態の尾引き抑制処理設定フローを実行した際の、線幅補正処理部、尾引き抑制処理部及び最終出力判定部の入出力画素データを示す。すなわち、図２０（ｂ）に示す縦線補正レベル１の線幅補正処理と、図２２（ｂ）に示す縦線補正レベル１用の間引き処理設定による間引き処理を実行した場合の、各処理部の入出力画素データを示す。
【０１３０】
図２５（ａ）に対し、尾引き抑制処理部２３５０は、図２２（ｂ）に示す縦線補正レベル１用の尾引き抑制処理仕様でＢｋＬｉｎｅＣｎｔが２ラインに対応するＡｐｐｌｙＬｉｎｅ＝１、ＥｄｇｅＬｉｎｅ＝１、ＰａｔｔｅｒｎＡで尾引き抑制処理を実行する。その結果、エッジ下端から１ライン上（エッジ下端から２ライン目）の画素がＰａｔｔｅｒｎＡのように間引かれた２ライン画像の画素が出力される。そして、最終出力判定部２３７０は、入力画素データと、線幅補正処理後及び尾引き抑制処理後の画素データの画素値比較により、最終出力画像としてエッジ下端から１ラインの画素が間引かれた３ライン画像の画素データを出力する。これは、図２２（ａ）に示すデフォルトの尾引き抑制処理仕様において、３ライン画像（ＢｋＬｉｎｅＣｎｔ＝３）に対する処理仕様に相当する。このように、線幅補正処理によりライン画像の幅が尾引き抑制のための間引き処理を必要とする数（ＢｋＬｉｎｅＣｎｔが３ライン以上）となった場合にも、間引き処理が実行されることになる。
【０１３１】
以上に説明したように、本実施例は共用バッファ部２３１０を有した二値画像処理部１２０を有し、さらに内部の線幅補正処理部の設定に応じて尾引き抑制処理部の設定を変更するように制御される。その結果、従来に比べ低コストな構成で、さらに従来と同等の尾引き抑制効果と画像品質を実現することが可能となる。
【０１３２】
なお、本実施例では、線幅補正処理部２３４０の入力データＷｃを３×３画素群とし、上下左右いずれかの方向に１ライン単位の線幅補正が可能としているが、異なるサイズのＷｃ画素群により任意のライン数での線幅補正処理も実現できる。線幅補正処理部２３４０は、１ライン単位及び複数ライン単位の線幅補正が可能とし、線幅補正処理部の設定は、線幅補正が行われるエッジ隣接領域の検出単位となるライン数を含む。その場合、線幅補正処理部２３４０において付加されるライン数をＮとすると、尾引き抑制処理部２３５０の尾引き抑制設定を変更する際には、デフォルトの尾引き抑制設定に対し、Ｎライン分設定をずらすようにすればよい。
【０１３３】
同じく、本実施例では、尾引き抑制処理部２３５０の入力データＷｄを９×９画素群とし、ライン画像を検出しているが、異なるサイズのＷｄ画素群により任意の黒ライン幅のライン画像に対する尾引き抑制処理も実現できる。その場合、尾引き抑制処理設定はＷｄのサイズに応じたライン幅に対する尾引き抑制設定情報（尾引き抑制処理仕様）が設定されればよい。
【０１３４】
また、本実施例では、線幅補正処理部２３４０で左右方向の線幅補正処理が実行される場合（横線補正レベルが１または２に設定された場合）に対する、尾引き抑制設定の変更はしていない。しかし、縦線補正レベルと同様に横線補正レベルに関しても、設定値に応じて尾引き抑制設定を変更してもよい。
【０１３５】
（実施形態２）
実施形態１では尾引き抑制設定変更をコントローラ部１０１のＣＰＵ１１２が実行したが、本実施形態では尾引き抑制設定変更を尾引き抑制処理部２３５０で実行することが可能な、太らせ処理部２３４０および間引き処理部２３５０の構成について説明する。
【０１３６】
＜二値画像処理部＞
図２７は、本実施形態における二値画像処理部１２０の詳細を示したブロック図である。図３に示した実施形態１の二値画像処理部１２０との違いは、線幅補正処理部２３４０と尾引き抑制処理部２３５０を結ぶ信号Ｓｃが追加される点である。信号Ｓｃは線幅補正処理部２３４０における縦線補正レベルの設定値などの線幅補正設定情報を、尾引き抑制処理部２３５０へと渡すために用いられる。
【０１３７】
＜尾引き抑制処理部＞
図２８は、実施形態２における尾引き抑制処理部２３５０を示す。図１３に示した実施形態１の尾引き抑制処理部２３５０との違いは、尾引き抑制設定変更部２３５５が追加される点である。尾引き抑制設定変更部２３５５は、信号Ｓｃによって線幅補正処理部２３４０からの線幅補正設定情報を受け取り、実施形態１と同様の尾引き抑制設定の変更を行い、変更した間引き抑制設定を尾引き抑制設定格納部２３５４へ格納する。
【０１３８】
＜尾引き抑制処理設定フロー＞
図２９は、実施形態２におけるコントローラ部１０１内のＣＰＵ１１２が実行する尾引き抑制処理設定のフローチャートである。これは、実施形態１と同様に、図１７におけるＳ１０４を具体的に記載したものである。ステップＳ４０１、ステップＳ４０２は、図２１に示す実施形態１における尾引き抑制処理設定フローのステップＳ３０１、ステップＳ３０２と同じである。
【０１３９】
ステップＳ４０１、ステップＳ４０２で尾引き抑制処理部２３５０へのデフォルト尾引き抑制処理設定が完了した後、ステップＳ４０３において、ＣＰＵ１１２は尾引き抑制処理部２３５０に対して、尾引き抑制設定変更の開始通知を実行する。尾引き抑制処理部２３５０は、この通知を合図に、図３０で後述の内部での尾引き抑制設定の変更を開始する。
【０１４０】
図３０は、実施形態２における尾引き抑制処理部２３５０が実行する尾引き抑制処理設定のフローチャートである。ステップＳ４０４〜Ｓ４０７は、図２１に示す実施形態１における尾引き抑制処理設定フローのステップＳ３０３〜Ｓ３０６と同じであるが、ＣＰＵ１１２ではなく、尾引き抑制処理部２３５０がフローを実行する点で異なる。
【０１４１】
ステップＳ４０４〜Ｓ４０７で尾引き抑制処理部２３５０の尾引き抑制設定変更が完了した後、ステップＳ４０８において、尾引き抑制処理部２３５０はＣＰＵ１１２に対して尾引き抑制設定変更の終了通知を実行する。ＣＰＵ１１２は、この通知を受信することに応じて、図１７のＳ１０５で述べた白黒プリンタ１００の画像形成処理の実行を開始すればよい。
【０１４２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014120869.tif 000003
【図２】
2014120869.tif 000004
【図３】
2014120869.tif 000005
【図４】
2014120869.tif 000006
【図５】
2014120869.tif 000007
【図６】
2014120869.tif 000008
【図７】
2014120869.tif 000009
【図８】
2014120869.tif 000010
【図９】
2014120869.tif 000011
【図１０】
2014120869.tif 000012
【図１１】
2014120869.tif 000013
【図１２】
2014120869.tif 000014
【図１３】
2014120869.tif 000015
【図１４】
2014120869.tif 000016
【図１５】
2014120869.tif 000017
【図１６】
2014120869.tif 000018
【図１７】
2014120869.tif 000019
【図１８】
2014120869.tif 000020
【図１９】
2014120869.tif 000021
【図２０】
2014120869.tif 000022
【図２１】
2014120869.tif 000023
【図２２】
2014120869.tif 000024
【図２３】
2014120869.tif 000025
【図２４】
2014120869.tif 000026
【図２５】
2014120869.tif 000027
【図２６】
2014120869.tif 000028
【図２７】
2014120869.tif 000029
【図２８】
2014120869.tif 000030
【図２９】
2014120869.tif 000031
【図３０】
2014120869.tif 000032