(57)【特許請求の範囲】
【請求項１】
画像データの各画素に対して、スムージング処理を行うか否かを判定する判定手段と、
前記判定手段によってスムージング処理を行うと判定された画素の値を小さくする補正手段と、
前記補正手段によって補正された画素にスクリーン処理を行ってスクリーンデータを生成するスクリーン処理手段と、
前記判定手段によってスムージング処理を行うと判定された画素において、前記スクリーンデータの値と前記補正手段によって補正された画素値から生成されるデータ値とを比較し、値が大きい方のデータを出力することでスムージング処理を行うスムージング処理手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記補正手段は、一次元のルックアップテーブルを用いて前記画素の値を小さくすることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記補正手段によって補正された画素に対してガンマ補正を行うガンマ補正手段を更に有することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
画像データの各画素に対して、第一のスムージング処理を行うか否かを判定する第一の判定手段と、
前記第一の判定手段によって第一のスムージング処理を行わないと判定された画素に対しては第二のスムージング処理を行うか否かを判定する第二の判定手段と、
前記第二の判定手段によって第二のスムージング処理を行うと判定された画素の値を小さくする補正手段と、
前記補正手段によって補正された画像にスクリーン処理を行ってスクリーンデータを生成するスクリーン処理手段と、
前記第二の判定手段によって第二のスムージング処理を行うと判定された画像において、前記スクリーンデータの値と前記補正手段によって補正された画素値から生成されるデータ値とを比較し、値が大きい方のデータを出力することで第二のスムージング処理を行うスムージング処理手段と、
前記第一の判定手段によって第一のスムージング処理を行うと判定された画素に対しては、前記補正手段と前記スクリーン処理手段による処理を実行しないように制御する制御手段と
を有することを特徴とする画像形成装置。
【請求項５】
コンピュータを請求項１乃至４の何れか１項に記載の画像形成装置の各手段として機能させるためのプログラム。
【請求項６】
判定手段が、画像データの各画素に対して、スムージング処理を行うか否かを判定する判定工程と、
補正手段が、前記判定工程においてスムージングを行うと判定された画素の値を小さくする補正工程と、
スクリーン処理手段が、前記補正工程において補正された画素にスクリーン処理を行ってスクリーンデータを生成するスクリーン処理工程と、
スムージング処理手段が、前記判定工程においてスムージング処理を行うと判定された画素において、前記スクリーンデータの値と前記補正工程において補正された画素値から生成されるデータ値とを比較し、値が大きい方のデータを出力することでスムージング処理を行うスムージング処理工程と
を有することを特徴とする画像形成装置の画像形成方法。
【請求項７】
第一の判定手段が、画像データの各画素に対して、第一のスムージング処理を行うか否かを判定する第一の判定工程と、
第二の判定手段が、前記第一の判定工程において第一のスムージング処理を行わないと判定された画素に対しては第二のスムージング処理を行うか否かを判定する第二の判定工程と、
補正手段が、前記第二の判定工程において第二のスムージング処理を行うと判定された画素の値を小さくする補正工程と、
スクリーン処理手段が、前記補正工程において補正された画像にスクリーン処理を行ってスクリーンデータを生成するスクリーン処理工程と、
スムージング処理手段が、前記第二の判定工程において第二のスムージング処理を行うと判定された画像において、前記スクリーンデータの値と前記補正工程において補正された画素値から生成されるデータ値とを比較し、値が大きい方のデータを出力することで第二のスムージング処理を行うスムージング処理工程と、
制御手段が、前記第一の判定工程において第一のスムージング処理を行うと判定された画素に対しては、前記補正工程と前記スクリーン処理工程における処理を実行しないように制御する制御工程と
を有することを特徴とする画像形成装置の画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中間調処理を施した画像データにおけるエッジ部のジャギーを改善する画像形成装置及びその画像形成方法に関する。
【背景技術】
【０００２】
従来、画像形成装置においてジャギーと呼ばれる文字等のエッジ部に発生するガタツキを改善する技術がいくつか提案されている。ジャギーの発生理由は様々あり、大きくは低解像度のプリンタによる画素のガタツキと、スクリーン処理のような中間調処理によるガタツキがあると考えられる。
【０００３】
前者のガタツキを改善する技術としては、例えば二値の画像に対してパターンマッチングによるエッジ検出を行い、一致した箇所に、パターンに対応する画素の付加又は画素の除去を行うものがある（例えば、特許文献１参照）。これは、パターンマッチングによってジャギーが発生する箇所を検出し、二値のプリンタであれば１画素を複数の画素に分割し、多値のプリンタであれば中間レベルのドットを付加することで、エッジ部のスムージング処理を実現している。
【０００４】
また、後者のガタツキを改善する技術としては、例えば中間調処理前の画像データから補正データを生成し、中間調処理後の画像データのエッジ部に補正データを縁取るように付加するものがある（例えば、特許文献２参照）。これは、スムージング処理を行うべきエッジ部か否かを判断し、エッジ部であった場合、補正データと中間調処理後の画像データとを比較して値の大きいデータを出力することで、スクリーン処理によるジャギーを改善している。更に、この技術では、簡易な構成であるにも関わらず、前者の低解像度のプリンタによる画素のガタツキも同時に改善している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−４２１４１号公報
【特許文献２】特開２００６−２９５８７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の方法では、スクリーン処理によるジャギーを改善できる一方で、エッジ部に対して補正データと中間調処理後の画像データとで値の大きいデータを出力するため、エッジ部の濃度が単純に上昇してしまっていた。この現象は、文字やラインといった均一濃度で規則的なエッジを持つ原稿に対しては大きな問題とならないが、自然画像のようなエッジ部が不規則に密集するような原稿に対しては、色味を大きく変えるなどの画像障害となる場合があった。
【０００７】
本発明は、スムージング処理によるエッジ部の濃度の上昇を抑えた装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、画像形成装置であって、
画像データの各画素に対して、スムージング処理を行うか否かを判定する判定手段と、
前記判定手段によってスムージング処理を行うと判定された画素の値を小さくする補正手段と、
前記補正手段によって補正された画素にスクリーン処理を行ってスクリーンデータを生成するスクリーン処理手段と、
前記判定手段によってスムージング処理を行うと判定された画素において、前記スクリーンデータの値と前記補正手段によって補正された画素値から生成されるデータ値とを比較し、値が大きい方のデータを出力することでスムージング処理を行うスムージング処理手段と
を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、スムージング処理によるエッジ部の濃度の上昇を抑えることができると共に、エッジ部のジャギーを改善することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態における画像形成装置１００の構成を示す概略ブロック図。
【図２】画像形成装置１００のより詳細な構成を示す断面図。
【図３】プリント用の画像処理部の構成を示す図。
【図４】スムージング判定部３０３の構成を示す図。
【図５】混合データ変換処理を示すフローチャート。
【図６】補正判定処理を示すフローチャート。
【図７】３値以上の補正判定処理を示すフローチャート。
【図８】エッジパターン判定処理を示すフローチャート。
【図９】エッジパターンの一例を示す図。
【図１０】エッジパターンの一例を示す図。
【図１１】ラインパターンの一例を示す図。
【図１２】ラインパターンの一例を示す図。
【図１３】ラインパターン判定処理のフローチャート。
【図１４】描画パターン判定処理を示すフローチャート。
【図１５】描画パターンの一例を示す図。
【図１６】描画パターンの一例を示す図。
【図１７】描画パターンの一例を示す図。
【図１８】補正切替データ生成処理を示すフローチャート。
【図１９】エッジ補正処理を示すフローチャート。
【図２０】中間調処理を示すフローチャート。
【図２１】高線数スクリーンや低線数スクリーンの成長方法で成長するディザマトリクスを示す図。
【図２２】平坦化スクリーンの成長方法で成長するディザマトリクスを示す図。
【図２３】中間調処理部３０５の処理結果の一例を示す図。
【図２４】一次元のルックアップテーブルの一例を示す図。
【図２５】中間調処理部３０５の処理結果の一例を示す図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、画像形成装置としてコピー、プリント、ＦＡＸなどの複数の機能を有するデジタル複合機を例に挙げて説明するが、これに限らないことは言うまでもない。
【００１２】
図１は、本実施形態における画像形成装置１００の構成を示す概略ブロック図である。画像形成装置１００は、原稿の画像を光学的に読み取り、画像データとして出力する読み取り処理を行うスキャナ部１０１と、スキャナ部１０１で読み取られた画像データに画像処理を施し、画像データをメモリ１０５に格納するコントローラ１０２とを有する。更に、スキャナ部１０１で読み取られた画像データに対する各種の印刷条件を設定する操作部１０４を有する。また、メモリ１０５から読み出された画像データを操作部１０４により設定された印刷設定条件に従って記録用紙に可視化して画像形成を行うプリンタ部１０３を有する。
【００１３】
画像形成装置１００には、ネットワーク１０６を介して画像データを管理するサーバ１０８や、画像形成装置１００に対してプリントの実行を指示するパーソナルコンピュータ（ＰＣ）１０７等が接続される。コントローラ１０２は、サーバ１０８やＰＣ１０７からプリントの実行が指示されると、サーバ１０８やＰＣ１０７から送信された印刷データを画像データにラスタライズしてメモリ１０５に格納する。
【００１４】
次に、図１に示す画像形成装置１００のより詳細な構成を、図２に示す断面図を用いて説明する。画像形成装置１００は、コピー、プリント、ＦＡＸのそれぞれの機能を有している。図２において、画像形成装置１００は、スキャナ部１０１とドキュメントフィーダ（ＤＦ）２０２とカラー４色ドラムを備えるプリント記録用のプリンタ部１０３とを有する。
【００１５】
まず、スキャナ部１０１を中心に行われるコピーの読み取り動作を説明する。原稿台２０７に原稿をセットして読み込みを行う場合には、ユーザは原稿台２０７に原稿をセットしてＤＦ２０２を閉じる。すると、開閉センサ２２４が、原稿台２０７が閉じられたことを検知し、その後、スキャナ部１０１の筐体内にある光反射式の原稿サイズ検知センサ２２６〜２３０がセットされた原稿サイズを検知する。このサイズ検知を起点にして光源２１０が原稿を照射し、ＣＣＤ（charge-coupled device）２３１が反射板２１１、レンズ２１２を介して原稿からの反射光を受光して画像を読み取る。そして、画像形成装置１００のコントローラ１０２がＣＣＤ２３１によって読み取ったデータをデジタル信号の画像データに変換し、スキャナ用の画像処理を行った後、画像データをコントローラ１０２内のメモリ１０５に格納する。ここで、画像データは３つの色成分であるＲＧＢの色空間の複数の画素として構成され、画素毎に１つの色成分につき８ビット（２５６階調）の値を保持している。
【００１６】
次に、コントローラ１０２を中心に行われるプリントのラスタライズ動作を説明する。ＰＣ１０７からネットワーク１０６を介してＰＤＬ（ページ記述言語）データやディスプレイリストなどの印刷データが送信される。印刷データはベクトル情報であり、描画のための色や形状、座標といった情報以外にオブジェクト単位で文字や線、図形、イメージ等の属性を示すデータを保持している。
【００１７】
コントローラ１０２は、印刷データを受け取り、印刷データに基づいてラスタライズを行い、画素単位の画像データと属性データを生成する。印刷データは、グレースケールやＲＧＢ又はＣＭＹＫといった複数の色成分の色空間を持ち、画像データは画素毎に１つの色成分につき８ビット（２５６階調）の値を持つ。また、属性データは、オブジェクトの文字や線、図形、イメージといった属性を表す値を保持しており、画像データと共に画像処理部３０１の中をハンドリングされる。
【００１８】
続いて、プリンタ部１０３を中心に行われるコピー、プリントの印刷動作を説明する。コントローラ１０２内のメモリ１０５に一旦記憶された画像データと属性データは、再度コントローラ１０２内で後述するプリント用の画像処理が行われた後、プリンタ部１０３へ転送される。プリンタ部１０３では、プリンタ部１０３内のＰＷＭ制御によってパルス信号へと変換され、レーザ記録部でシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色の記録レーザ光に変換される。そして、記録レーザ光は各色の感光体２１４に照射され、各感光体に静電潜像を形成する。
【００１９】
プリンタ部１０３は、トナーカートリッジ２１５から供給されるトナーにより各感光体にトナー現像を行い、各感光体に可視化されたトナー画像は中間転写ベルト２１９に一次転写される。中間転写ベルト２１９は、図２において時計回転方向に回転し、用紙カセット２１６から給紙搬送路２１７を通って給送された記録紙が二次転写位置２１８にきたところで、中間転写ベルト２１９から記録紙へとトナー画像が転写される。画像が転写された記録紙は、定着器２２０で加圧と熱によりトナーが定着され、排紙搬送路を搬送された後、フェイスダウンのセンタートレイ２２１或いはフェースアップのサイドトレイ２２２へと排紙される。
【００２０】
次に、上述のプリント用の画像処理を、図３を用いて詳細に説明する。図３に示す画像処理部３０１はコントローラ１０２内でプリント用の画像処理を行う。メモリ１０５から入力された画像データ及び属性データのうち画像データに対しては色補正部３０２により色補正処理が行われ、色変換ＬＵＴやマトリックス演算によって４つの画像信号から成る濃度のＣＭＹＫ色空間に変換される。変換された画像データは、画素毎に画像信号につき８ビットの値を持っている。
【００２１】
そして、スムージング判定部３０３において、後述するエッジ補正処理が行われ、処理された画像データをガンマ補正部３０４に、補正切替データをガンマ補正部３０４と中間調処理部３０５に出力する。補正切替データは、スムージング判定部３０３及びガンマ補正部３０４、中間調処理部３０５において、処理を切り替えるために用いるデータであり、ＣＭＹＫの画像信号毎に異なる値を保持することができる。また、補正切替データには、画像データの各画素に施されるスムージング種別と、中間調処理部３０５で使用されるスクリーン種別が記されている。
【００２２】
ガンマ補正部３０４は、補正切替データに従って、入力された画像データにガンマ補正処理を行い、ガンマ補正処理を行った画像データを中間調処理部３０５に出力する。このガンマ補正処理は、画像が記録紙へと転写された際の濃度特性が所望となるよう、一次元のルックアップテーブルを用いて、入力された画像データを補正する。補正に用いる一次元のルックアップテーブルは、中間調処理部３０５が持つスクリーン種別毎に保持しており、入力される補正切替データのスクリーン種別に応じて切り替えて用いられる。また、補正切替データのスクリーン種別がスルーである場合は、一次元のルックアップテーブルを適用せずに出力する。
【００２３】
中間調処理部３０５は、補正切替データに従い、入力された画像データに後述する中間調処理を行ってプリンタ部１０３へ送出する。中間調処理では、プリンタ部１０３で印刷可能な４ビットの画像データに変換するスクリーン処理を行うと共に、第二スムージング処理によってジャギーの改善を行う。また、ＣＰＵ３０６は、画像処理部３０１の全体の処理をＲＯＭ３０６に保持された制御プログラムに基づいて制御する。ＲＡＭ３０７は、ＣＰＵ３０６の作業領域として使用される。
【００２４】
次に、スムージング判定部３０３の構成及び動作を、図４を用いて説明する。ここで、スムージング判定部３０３には、ＣＭＹＫ色空間に変換された画像データと属性データとが入力され、ＣＭＹＫの画像データ毎に以下の処理を施すことによって画像データと補正切替データが出力される。
【００２５】
まず、ＣＭＹＫ色空間に変換された画像データは、スムージング判定部３０３でＦＩＦＯメモリ４０１に蓄えられる。ＦＩＦＯメモリ４０１は画像データを４ライン遅延させ、中央を注目画素とする幅５画素、高さ５画素の２５画素から成る参照領域を形成し、６ビット変換部４０２、濃度補正部４１６、エッジ補正部４１７に出力する。尚、濃度補正部４１６及びエッジ補正部４１７には、参照領域内の中央の１画素（注目画素）のみを出力する。
【００２６】
一方、属性データは、ＣＭＹＫ色空間に変換された画像データと同様にＦＩＦＯメモリ４１８に蓄えられる。ＦＩＦＯメモリ４１８は、属性データを２ライン遅延させ、参照領域の注目画素にタイミングを合わせて、補正切替データ生成部４１３に１画素分のデータを出力する。
【００２７】
次に、６ビット変換部４０２は、参照領域内の２５画素の画素値を６ビットに変換し、混合データ変換部４０３、セレクタ４０５及び４０６、エッジ補正データ生成部４０４に出力する。このとき、参照領域内の各画素は、画像信号につき８ビットの値を持っているため、下２ビットが切り捨てられる。次に、混合データ変換部４０３は、６ビットに変換された参照領域から後述する混合データの参照矩形を生成するための混合データ変換処理を行い、セレクタ４０５及び４０６、エッジパターン判定部４０９に結果を出力する。尚、エッジパターン判定部４０９には参照領域内の中央の１画素である注目画素のみを出力する。
【００２８】
次に、セレクタ４０５及び４０６は、６ビット変換部４０２より入力された参照矩形もしくは混合データ変換部４０３より入力された混合データの参照矩形の一方を選択する。セレクタ４０５は、選択した参照矩形を補正判定部４０７と内側判定部４１５に出力し、セレクタ４０６は、選択した参照矩形をエッジ用二値化部４０８とパターン用二値化部４１０、濃度域判定部４１４に出力する。尚、濃度域判定部４１４には参照領域内の中央の１画素である注目画素のみを出力する。
【００２９】
次に、補正判定部４０７は、参照領域からスムージング処理を行うか否かを判定するために後述する補正判定処理を行い、その結果を補正判定信号として補正切替データ生成部４１３に出力する。また、内側判定部４１５は、参照領域から注目画素が内側であるか否かを判定するための内側判定処理を行い、その結果を内側判定信号として補正切替データ生成部４１３に出力する。内側判定処理は、参照領域内の注目画素を中心とする幅３画素、高さ３画素の計９画素において画素値の最大値を求め、最大値よりも注目画素の画素値が大きい場合に内側判定信号を内側とし、そうでない場合には内側判定信号を外側とする。
【００３０】
また、エッジ用二値化部４０８は、入力された参照領域内の２５画素全てに対して、各画素の画素値と予め定められた閾値とを比較し、参照領域の二値化を行う。画素値が閾値よりも大きい値であれば１に、画素値が閾値と同じか小さい値であれば０にして二値化を行う。そして、エッジパターン判定部４０９は、混合データの注目画素と、二値化された参照領域と、エッジ補正データとから、後述するエッジパターン判定処理を行う。エッジパターン判定処理では、第一スムージング処理を行うか否かを示す第一スムージング判定信号を補正切替データ生成部４１３に出力する。
【００３１】
次に、エッジ補正データ生成部４０４は、後述するエッジ補正データ生成処理によってエッジ補正データを求め、エッジ補正部４１７に出力する。また、パターン用二値化部４１０は、入力された参照領域内の２５画素全てに対して、各画素の画素値と予め定められた閾値とを比較し、参照領域の二値化を行う。画素値が閾値よりも大きい値であれば１に、画素値が閾値と同じか小さい値であれば０にして二値化を行う。
【００３２】
次に、ラインパターン判定部４１１は、パターン用二値化部４１０で二値化された参照領域から後述するラインパターン判定処理を行い、ライン補正を行うか否かを示すライン補正判定信号を補正切替データ生成部４１３に出力する。また同様に、描画パターン判定部４１２は、二値化された参照領域から後述する描画パターン判定処理を行い、描画パターン補正を行うか否かを示す描画パターン補正判定信号を補正切替データ生成部４１３に出力する。また、濃度域判定部４１４は、セレクタ４０６で選択された参照領域内の注目画素から、注目画素の濃度域を判定し、高濃度域、中濃度域、低濃度域を示す濃度域判定信号を補正切替データ生成部４１３に出力する。この濃度域の判定は、注目画素の画素値が閾値よりも大きい値であれば高濃度域、注目画素の画素値が閾値よりも小さい値であれば低濃度域、それ以外を中濃度域とする。
【００３３】
次に、補正切替データ生成部４１３は、入力される各種信号を用いて後述する補正切替データ生成処理を行い、後述する補正切替データをエッジ補正部４１７とガンマ補正部３０４に出力する。また、濃度補正部４１６は、ＦＩＦＯメモリ４０１より出力される参照領域内の中央の注目画素を用いて濃度補正処理を行い、補正した注目画素をエッジ補正部４１７に出力する。濃度補正処理は、入力と出力が共に８ビットの一次元のルックアップテーブルを用いて注目画素の濃度（画素値）を下げるように補正する。
【００３４】
次に、エッジ補正部４１７は、参照領域内の中央の注目画素と、上述の補正された注目画素、エッジ補正データ、補正切替データを用いて後述するエッジ補正処理を行い、結果の画像データをガンマ補正部３０４に出力する。
【００３５】
次に、本実施形態における混合データ変換部４０３で行われる混合データ変換処理を、図５を用いて詳細に説明する。混合データ変換処理は、参照領域を構成する２５画素全てに対して画素毎に処理を行い、ＣＭＹＫの各画像信号を所定の割合で混合することにより各画素６ビットの混合データを求め、それら２５画素から成る参照領域を生成する処理である。
【００３６】
まず、Ｓ５０１において、混合データ変換部４０３は、Ｋの画素値ＤＫとＫの混合率ＭＲＫの積から、Ｋの画素値ＤＫ’を求める。このとき、混合率ＭＲＫは任意の値であり、０から１の値をとる。これにより、ＣＭＹの有彩色のみで混合データを生成するか、無彩色のＫを含めて混合データを生成するかを決定する。
【００３７】
次に、Ｓ５０２において、混合データ変換部４０３は、画素値ＤＫ’がＣの画素値ＤＣよりも大きいかを判定し、大きければＳ５０３へ、そうでなければＳ５０４に進む。Ｓ５０３において、混合データ変換部４０３は、画素値ＤＫ’にＣの混合率ＭＲＣをかけてＣの画素値ＤＣ’を求める。また、Ｓ５０４に進んだ場合、混合データ変換部４０３は、画素値ＤＣにＣの混合率ＭＲＣをかけてＣの画素値ＤＣ’を求める。このとき、混合率ＭＲＣは任意の値であり、混合率ＭＲＣを変化させることで、生成される混合データに対するＣの割合を制御することができる。
【００３８】
次に、Ｓ５０５において、混合データ変換部４０３は、画素値ＤＫ’がＭの画素値ＤＭよりも大きいかを判定し、大きければＳ５０６へ、そうでなければＳ５０７に進む。Ｓ５０６において、混合データ変換部４０３は、画素値ＤＫ’にＭの混合率ＭＲＭをかけてＭの画素値ＤＭ’を求める。また、Ｓ５０７に進んだ場合、混合データ変換部４０３は、画素値ＤＭにＭの混合率ＭＲＭをかけてＭの画素値ＤＭ’を求める。このとき、混合率ＭＲＭは任意の値であり、混合率ＭＲＭを変化させることで、生成される混合データに対するＭの割合を制御することができる。
【００３９】
次に、Ｓ５０８において、混合データ変換部４０３は、画素値ＤＫ’がＹの画素値ＤＹよりも大きいかを判定し、大きければＳ５０９へ、そうでなければＳ５１０に進む。Ｓ５０９において、混合データ変換部４０３は、画素値ＤＫ’にＹの混合率ＭＲＹをかけてＹの画素値ＤＹ’を求める。また、Ｓ５１０に進んだ場合、混合データ変換部４０３は、画素値ＤＹにＹの混合率ＭＲＹをかけてＹの画素値ＤＹ’を求める。このとき、混合率ＭＲＹは任意の値であり、混合率ＭＲＹを変化させることで、生成される混合データに対するＹの割合を制御することができる。
【００４０】
次に、Ｓ５１１において、混合データ変換部４０３は、これまでの処理で求めたＤＣ’、ＤＭ’、ＤＹ’の合計値を、ビットシフト量ＢＳによって指定されたビット数分だけ右シフトすることにより、画素毎に混合データＭＩＸを求める。次に、Ｓ５１２において、混合データ変換部４０３は、混合データＭＩＸが６ビットの最大値である６３よりも大きいかを判定し、大きい場合はＳ５１３において混合データＭＩＸを６３とする。
【００４１】
このようにして、任意の割合によってＣＭＹＫの４色を混合したデータを作成し、以降の処理に用いれば、処理する色に依らずスムージング処理を行うことができるため、エッジ部に発生する偽色を抑えることが可能となる。
【００４２】
尚、混合データ変換処理は、本実施形態に記載の方法に限らず、複数の色を用いて混合したデータを用いれば良いことは言うまでもない。また、Ｓ５１１において、各画像信号の画素値Ｄと混合率ＭＲとの積の合計値を、ビットシフト量ＢＳ分だけ右シフトしたが、例えば、右シフトではなく除算を用いてもよいことは言うまでもない。
【００４３】
次に、本実施形態における補正判定部４０７で行われる補正判定処理を、図６を用いて詳細に説明する。補正判定処理は、参照領域からスムージング処理を行うか否かを判定して補正判定信号を生成する処理である。
【００４４】
まず、Ｓ６０１において、補正判定部４０７は、注目画素を中心とする幅３画素、高さ３画素の計９画素からなる参照領域内において画素値の最大値ＭＡＸを求める。そして、Ｓ６０２において、補正判定部４０７は、Ｓ６０１と同様に、参照領域内において画素値の最小値ＭＩＮを求める。
【００４５】
次に、Ｓ６０３において、補正判定部４０７は、最大値ＭＡＸから最小値ＭＩＮを引くことで、コントラスト値ＣＯＮＴを求める。そして、Ｓ６０４において、コントラスト値ＣＯＮＴが補正判定値Ｓｕｂよりも大きいか否かを判定し、大きい場合にはＳ６０５へ、大きくない場合にはＳ６１７へ進む。Ｓ６０５では、補正判定部４０７は、最大値ＭＡＸと最小値ＭＩＮとを足し、２で割ることによって平均値ＡＶＥを求める。一方、Ｓ６１７では、補正判定部４０７は、補正判定信号をＯＦＦにして補正判定処理を終了する。
【００４６】
次に、Ｓ６０６において、補正判定部４０７は、参照領域内において最大値ＭＡＸ以外で平均値ＡＶＥ以上の画素値を持つ画素の中から、最小の画素値ＭＡＸ＿ＭＩＮの画素を検索する。
【００４７】
次に、Ｓ６０７において、補正判定部４０７は、Ｓ６０６における検索の結果を判定し、最小の画素値ＭＡＸ＿ＭＩＮの画素が見つかった場合にはＳ６０８へ、見つからなかった場合にはＳ６０９へ進む。Ｓ６０８では、補正判定部４０７は、最大値ＭＡＸから最小の画素値ＭＡＸ＿ＭＩＮを引くことで、最大値ＭＡＸとの差分値ＭＡＸ＿ＤＩＦＦ＿ＭＩＮを求める。一方、Ｓ６０９では、補正判定部４０７は、最小の画素値ＭＡＸ＿ＭＩＮの画素が見つからなかったため、最大値ＭＡＸとの差分値ＭＡＸ＿ＤＩＦＦ＿ＭＩＮを０とする。
【００４８】
次に、Ｓ６１０において、補正判定部４０７は、参照領域内において最小値ＭＩＮ以外で平均値ＡＶＥ未満の画素値を持つ画素の中から、最大の画素値ＭＩＮ＿ＭＡＸの画素を検索する。
【００４９】
次に、Ｓ６１１において、補正判定部４０７は、Ｓ６１０における検索の結果を判定し、最大の画素値ＭＩＮ＿ＭＡＸの画素が見つかった場合にはＳ６１２へ、見つからなかった場合にはＳ６１３へ進む。Ｓ６１２では、補正判定部４０７は、最大の画素値ＭＩＮ＿ＭＡＸから最小値ＭＩＮを引くことで、最小値ＭＩＮとの差分値ＭＩＮ＿ＤＩＦＦ＿ＭＡＸを求める。一方、Ｓ６１３では、補正判定部４０７は、最大の画素値ＭＩＮ＿ＭＡＸの画素が見つからなかったため、最小値ＭＩＮとの差分値ＭＩＮ＿ＤＩＦＦ＿ＭＡＸを０とする。
【００５０】
次に、Ｓ６１４において、補正判定部４０７は、最小の画素値ＭＡＸ＿ＭＩＮ及び最大の画素値ＭＩＮ＿ＭＡＸが見つかったか否かを判定し、どちらかでも見つかった場合にはＳ６１５へ、どちらも見つからなかった場合にはＳ６１６に進む。Ｓ６１５では、補正判定部４０７は、詳細は後述する３値以上の補正判定処理を行い、補正判定処理を終了する。一方、Ｓ６１６では、補正判定部４０７は、コントラスト値ＣＯＮＴが十分に大きいため、補正判定信号をＯＮにして補正判定処理を終了する。
【００５１】
このようにして、補正判定処理では、参照領域が３値未満の単純な領域である場合には、コントラスト値ＣＯＮＴのみを用いてエッジ部であるか否かを判断し、補正判定信号を生成することができる。
【００５２】
次に、上述の３値以上の補正判定処理（Ｓ６１５）を、図７を用いて詳細に説明する。図７は、本実施形態における３値以上の補正判定処理を示すフローチャートである。この３値以上の補正判定処理は、参照領域に３値以上ある場合に、スムージング処理を行うか否かを判定して補正判定信号を生成する処理である。
【００５３】
まず、Ｓ７０１において、補正判定部４０７は、コントラスト値ＣＯＮＴから最大値との差分値ＭＡＸ＿ＤＩＦＦ＿ＭＩＮと最小値との差分値ＭＩＮ＿ＤＩＦＦ＿ＭＡＸを引き、平均値付近の分布を示す値ＤＩＦＦを求める。
【００５４】
次に、Ｓ７０２において、補正判定部４０７は、値ＤＩＦＦが閾値ＤｉｆｆＴｈＡよりも大きいか否かを判定する。ここで、大きくない場合にはＳ７０３へ進み、値ＤＩＦＦが十分大きな値でないため、画素値に急峻な変化がない領域と判断し、補正判定信号をＯＦＦにして３値以上の補正判定処理を終了する。
【００５５】
また、判定した結果、大きい場合にはＳ７０４へ進み、補正判定部４０７は、最大値との差分値ＭＡＸ＿ＤＩＦＦ＿ＭＩＮが閾値ＤｉｆｆＴｈＢより小さいか否かを判定する。ここで、小さい場合にはＳ７０５へ進み、補正判定部４０７は、最小値との差分値ＭＩＮ＿ＤＩＦＦ＿ＭＡＸが閾値ＤｉｆｆＴｈＢより小さいか否かを判定する。ここで、小さい場合にはＳ７０６へ進み、補正判定部４０７は、最大値との差分値ＭＡＸ＿ＤＩＦＦ＿ＭＩＮと最小値との差分値ＭＩＮ＿ＤＩＦＦ＿ＭＡＸの両者が十分に小さく、画素値に急峻な変化ある領域と判断し、補正判定信号をＯＮにする。
【００５６】
一方、Ｓ７０４で最大値との差分値が閾値より小さくない場合、Ｓ７０５で最小値との差分値が閾値より小さくない場合には共にＳ７０７へ進み、補正判定部４０７は、画素値に急峻な変化がない領域と判断し、補正判定信号をＯＦＦにする。
【００５７】
次に、Ｓ７０８において、補正判定部４０７は、最大値との差分値ＭＡＸ＿ＤＩＦＦ＿ＭＩＮが閾値ＤｉｆｆＴｈＣより小さいか否かを判定し、小さくない場合にはＳ７０９へ進む。Ｓ７０９では、最小値との差分値ＭＩＮ＿ＤＩＦＦ＿ＭＡＸが閾値ＤｉｆｆＴｈＣより小さいか否かを判定し、小さくない場合には３値以上の補正判定処理を終了する。
【００５８】
一方、Ｓ７０８で最大値との差分値が閾値より小さい場合、Ｓ７０９で最小値との差分値が閾値より小さい場合には共にＳ７１０へ進む。Ｓ７１０では、補正判定部４０７は、最大値との差分値と最小値との差分値の何れかが十分に小さく、画素値に急峻な変化ある領域と判断し、補正判定信号をＯＮにして３値以上の補正判定処理を終了する。
【００５９】
尚、補正判定処理及び３値以上の補正判定処理において、補正判定値Ｓｕｂや閾値ＤｉｆｆＴｈＡ〜ＤｉｆｆＴｈＣは一つであるように記載しているが、これらの値を複数用いてもよいことは言うまでもない。例えば、補正判定部４０７に属性データを入力し、注目画素の属性が画像である場合には、他の属性よりも補正判定値Ｓｕｂと閾値ＤｉｆｆＴｈＡをより大きな値に、閾値ＤｉｆｆＴｈＢとＤｉｆｆＴｈＣをより小さな値に切り替える。また、注目画素の属性が文字や線である場合には、他の属性よりも補正判定値Ｓｕｂと閾値ＤｉｆｆＴｈＡをより小さな値に、閾値ＤｉｆｆＴｈＢとＤｉｆｆＴｈＣをより大きな値に切り替える。この切り替えにより、複雑な色や形状の画像では補正がかかり難く、また、一様な色や形状の文字や線では補正がよりかかり易くなるなど、詳細な制御が可能となる。
【００６０】
本実施形態では、補正判定処理及び３値以上の補正判定処理により補正判定信号を生成する場合を例に挙げて説明したが、本発明はこれに限るものではない。例えば、参照領域内の状態に関わらず、参照領域内のコントラスト値が十分に大きいか否かでのみ判定するなどエッジ部にスムージング処理を施すべきであるか否かを判定できればよいことは言うまでもない。
【００６１】
次に、本実施形態におけるエッジパターン判定部４０９で行われるエッジパターン判定処理を、図８乃至図１２を用いて詳細に説明する。図８は、エッジパターン判定部４０９で行われるエッジパターン判定処理を示すフローチャートである。また、図９、図１０は、本実施形態におけるエッジパターンの一例を示す図、図１１、図１２は、本実施形態におけるラインパターンの一例を示す図である。ここで、エッジパターン判定処理は、第一スムージング処理を行うか否かを示す第一スムージング判定信号を生成する。
【００６２】
まず、Ｓ８０１において、エッジパターン判定部４０９は、後述するパターンマッチング（Ｓ８０４）で全てのエッジパターンとの比較が終了したかを判断し、終了していなければＳ８０２へ進み、終了したならばＳ８０３へ進む。エッジパターンは、図９と図１０に示すように１２グループに分類され、各グループにはＡからＨの８種のエッジパターンが含まれる。同グループ内はお互いに形状が同じで反転や回転したエッジパターンで構成されており、反転や回転で重複するエッジパターンは除かれている。各エッジパターンは、幅５画素、高さ５画素の大きさを持ち、各画素位置に０か１、もしくは２の値を持っている。
【００６３】
次に、Ｓ８０２において、エッジパターン判定部４０９は、パターンマッチングに用いる次のエッジパターンをセットし、Ｓ８０４へ進む。エッジパターンは、グループ１から昇順に、またグループ内でＡからＨへと順番にセットされる。また、図９と図１０に示す全てのエッジパターンを必ずしも用いる必要はなく、エッジパターンやグループ毎にセットするか否かを任意に設定することも可能である。セットしないと設定されたエッジパターンやグループはＳ８０２でセットされず、更に次のエッジパターンやグループがセットされる。
【００６４】
次に、Ｓ８０４において、エッジパターン判定部４０９は、エッジ用二値化部４０８で二値化された参照領域を、セットしたエッジパターンによりパターンマッチングを行う。パターンマッチングは、二値化された参照領域の２５画素の値と、セットしたエッジパターンの２５画素の値を比較し、エッジパターンの値が２以外の画素全てが一致するか否かを判定する。また、エッジパターンの値が２の画素は、対応する位置の二値化された参照領域の画素が何の値であっても一致したものと判定する。
【００６５】
次に、Ｓ８０５において、エッジパターン判定部４０９は、Ｓ８０４のパターンマッチングで、二値化された参照領域とセットしたエッジパターンとが一致した場合にはＳ８０６へ進み、一致しなかった場合にはＳ８０１に戻る。
【００６６】
また、Ｓ８０３で、エッジパターン判定部４０９は、全ての用いるべきエッジパターンと二値化された参照領域の２５画素とが一致しなかったと判断し、第一スムージング判定信号をＯＦＦとしてエッジパターン判定処理を終了する。
【００６７】
次に、Ｓ８０６において、エッジパターン判定部４０９は、エッジ用二値化部４０８で二値化された参照領域の２５画素の画素値を全て反転する。即ち、二値化された参照領域内の画素値が０である場合には１に、１である場合には０に変換する。
【００６８】
次に、Ｓ８０７において、エッジパターン判定部４０９は、後述するＳ８１０のパターンマッチングで全てのラインパターンとの比較が終了したかを判断し、終了していなければＳ８０８へ進み、終了していればＳ８０９へ進む。ラインパターンは、図１１と図１２に示すように１８グループに分類され、各グループにはＡからＨの８種のラインパターンが含まれる。同グループ内はお互いに形状が同じで反転や回転したラインパターンで構成されており、反転や回転で重複するラインパターンは除かれている。各ラインパターンは、幅５画素、高さ５画素の大きさを持ち、各画素位置に０か１、もしくは２の値を持っている。
【００６９】
次に、Ｓ８０８において、エッジパターン判定部４０９は、パターンマッチングに用いる次のラインパターンをセットし、Ｓ８１０へ進む。ラインパターンは、グループ１から昇順に、またグループ内でＡからＨへと順番にセットされる。また、図１１と図１２に示す全てのラインパターンを必ずしも用いる必要は無く、ラインパターンやグループ毎にセットするか否かを任意に設定することが可能である。セットしないと設定されたラインパターンやグループはＳ８０８でセットされず、更に次のラインパターンやグループがセットされる。
【００７０】
次に、Ｓ８１０において、エッジパターン判定部４０９は、上述のＳ８０６で反転した参照領域を、セットしたラインパターンによりパターンマッチングを行う。パターンマッチングは、反転した参照領域の２５画素と、セットしたラインパターンの２５画素の値を比較し、ラインパターンの値が２以外の画素全てが一致するか否かを判定する。また、ラインパターンの値が２の画素は、対応する位置の二値化された参照領域の画素が何の値であっても一致したものと判定する。
【００７１】
次に、Ｓ８１１において、エッジパターン判定部４０９は、Ｓ８１０のパターンマッチングで、反転した参照領域とセットしたラインパターンとが一致した場合にはＳ８１２へ進み、一致しなかった場合にはＳ８０７に戻る。
【００７２】
次に、Ｓ８１２において、エッジパターン判定部４０９は、混合データ変換部４０３から出力される混合データから、注目画素が白画素か否かを判定し、白画素である場合にはＳ８１３へ、そうでない場合にはＳ８０９へ進む。ここで、注目画素が白か否かの判定は、混合データの注目画素の画素値が０であるか否かによって判定し、０である場合には白画素、１である場合には白画素でないとする。
【００７３】
尚、Ｓ８１２の白画素の判定において、白画素は必ずしも画素値が０である必要はなく、例えば予め閾値を設けて、それ以下の値であれば白画素と判定するなどしてもよいことは言うまでもない。
【００７４】
Ｓ８１３では、エッジパターン判定部４０９は全ての用いるべきラインパターンと反転した参照領域の２５画素とが一致したため、第一スムージング判定信号をＯＦＦとしてエッジパターン判定処理を終了する。一方、Ｓ８０９では、エッジパターン判定部４０９は、全ての用いるべきラインパターンと反転した参照領域の２５画素とが一致しなかったため、第一スムージング判定信号をＯＮとしてエッジパターン判定処理を終了する。
【００７５】
即ち、エッジパターンと二値化された参照領域との一致によって第一スムージング処理を行うか否かを判定し、更にはラインパターンと反転した参照領域との一致によって第一スムージング処理をキャンセルするか否かを判定する。これにより、画像データから検出されたエッジ部に対して第一スムージング処理を行うことにより、濃い背景上にある白い細線や小文字などが潰れて再現性が低下することを防止することができる。
【００７６】
尚、エッジパターン判定処理で用いるエッジパターンやラインパターンは、図９、図１０及び図１１、図１２に示すパターンに限るものではなく、他のパターンを用いてもよいことは言うまでもない。また、これ以外の方法でエッジ部やラインのパターンを判定してもよいことは言うまでもない。
【００７７】
次に、本実施形態におけるエッジ補正データ生成部４０４で行われるエッジ補正データ生成処理を詳細に説明する。エッジ補正データ生成処理は、６ビット変換部４０２より入力された参照矩形からエッジ補正データを生成する処理である。
【００７８】
まず、エッジ補正データ生成部４０４は、入力された参照領域内における注目画素を中心とした幅３画素、高さ３画素の９画素から４ビットの平均値ＡＶＥを求める。但し、本実施形態では除算を省くために、以下の式（１）の結果を用いて平均値とする。
【００７９】
ｉｆ（ＳＵＭ＞４８０）  ＳＵＭ＝４８０
ＡＶＥ＝（ＳＵＭ＞＞５）              …（１）
つまり、９画素の画素値の合計ＳＵＭを４８０でクリップし、５ビットだけ右へシフトさせる（３２で割る）ことで、除算を省きながら４ビットの平均値ＡＶＥを求める。尚、例えば９画素の画素値の合計ＳＵＭを９で除算して平均値を求めてもよいことは言うまでもない。
【００８０】
最後に、エッジ補正データ生成部４０４は、平均値ＡＶＥを一次元のルックアップテーブルで変調し、変調した値をエッジ補正データとして出力する。ここで、一次元のルックアップテーブルは、４ビット入力４ビット出力のルックアップテーブルであり、基本的には入力値をそのままの値で出力するリニアな特性で設定される。但し、プリンタの特性に応じて非線形な出力にするなどの設定も可能であることは言うまでもない。また、一次元のルックアップテーブルは複数持つことが可能であり、切り替えて使用することも可能である。このとき、このルックアップテーブルは、エッジパターン判定処理に用いるエッジパターン毎、もしくはエッジパターンのグループ毎に保持し、Ｓ８０４で一致したエッジパターンに応じて切り替えて使用することも可能である。
【００８１】
次に、本実施形態におけるラインパターン判定部４１１で行われるラインパターン判定処理を、図１１〜図１３を用いて詳細に説明する。図１３は、ラインパターン判定部４１１で行われるラインパターン判定処理のフローチャートである。ラインパターン判定処理は、ライン補正を行うか否かを示すライン補正判定信号を生成する処理である。
【００８２】
まず、Ｓ１３０１において、ラインパターン判定部４１１は、後述するＳ１３０４のパターンマッチングで全てのラインパターンとの比較が終了したか否かを判定し、終了していなければＳ１３０２へ進む。また、終了していればＳ１３０３へ進む。ラインパターン判定処理で用いるラインパターンは、図１１、図１２に示すエッジパターン判定処理と同じものを用いる。
【００８３】
次に、Ｓ１３０２において、ラインパターン判定部４１１は、パターンマッチングに用いる次のラインパターンをセットし、Ｓ１３０４へ進む。ラインパターンは、グループ１から昇順に、またグループ内でＡからＨへと順番にセットされる。また、図１１と図１２に示す全てのラインパターンを必ずしも用いる必要は無く、ラインパターンやグループ毎にセットするか否かを任意に設定することが可能である。セットしないと設定されたラインパターンやグループはＳ１３０２でセットされず、さらに次のラインパターンやグループがセットされる。
【００８４】
次に、Ｓ１３０４において、ラインパターン判定部４１１は、パターン用二値化部４１０から出力される二値化された参照領域を、セットしたラインパターンによりパターンマッチングを行う。パターンマッチングは、二値化された参照領域の２５画素と、セットしたラインパターンの２５画素の値を比較し、ラインパターンの値が２以外の画素全てが一致するか否かを判定する。また、ラインパターンの値が２の画素は、対応する位置の二値化された参照領域の画素が何の値であっても一致したものと判定する。
【００８５】
次に、Ｓ１３０５において、ラインパターン判定部４１１は、Ｓ１３０４のパターンマッチングで、二値化された参照領域とセットしたラインパターンとが一致した場合にはＳ１３０６へ進む。また、一致しなかった場合にはＳ１３０１に戻る。Ｓ１３０６では、ラインパターン判定部４１１は、全ての用いるべきラインパターンと二値化された参照領域とが一致したため、ライン補正を行うべき個所と判断してライン補正判定信号をＯＮとしてラインパターン判定処理を終了する。
【００８６】
また、Ｓ１３０３において、ラインパターン判定部４１１は、全ての用いるべきラインパターンと二値化された参照領域とが一致しなかったため、ライン補正判定信号をＯＦＦとしてラインパターン判定処理を終了する。
【００８７】
これにより、参照領域内にラインの形状が存在するか否かを判定し、後述するライン補正を行い、ラインの途切れなどを防ぐことが可能となる。尚、ラインパターン判定処理で用いるラインパターンは、図１１、図１２に示すパターンに限るものではなく、他のパターンを用いてもよいことは言うまでもない。また、これ以外の方法でラインのパターンを判定してもよいことは言うまでもない。
【００８８】
次に、本実施形態における描画パターン判定部４１２で行われる描画パターン判定処理を、図１４〜図１７を用いて詳細に説明する。図１４は、描画パターン判定部４１２で行われる描画パターン判定処理を示すフローチャートであり、図１５、図１６、図１７は、本実施形態における描画パターンの一例を示す図である。描画パターン判定処理は、描画パターン補正を行うか否かを示す描画パターン補正判定信号を生成する処理である。
【００８９】
まず、Ｓ１４０１において、描画パターン判定部４１２は、後述するＳ１４０４のパターンマッチングで全ての描画パターンとの比較が終了したか否かを判定し、終了していなければＳ１４０２へ進む。また、終了していればＳ１４０３へ進む。描画パターンは、図１５乃至図１７に示すように２７グループに分類され、各グループにはＡからＨの８種のエッジパターンが含まれる。同グループ内はお互いに形状が同じで反転や回転したエッジパターンで構成されており、反転や回転で重複する描画パターンは除かれている。各描画パターンは、幅５画素、高さ５画素の大きさを持ち、各画素位置に０か１、もしくは２の値を持っている。
【００９０】
次に、Ｓ１４０２において、描画パターン判定部４１２は、パターンマッチングに用いる次の描画パターンをセットし、Ｓ１４０４へ進む。描画パターンは、グループ１から昇順に、またグループ内でＡからＨへと順番にセットされる。また、図１５乃至図１７に示す全ての描画パターンを必ずしも用いる必要は無く、描画パターンやグループ毎にセットするか否かを任意に設定することが可能である。セットしないと設定された描画パターンやグループはＳ１４０２でセットされず、更に次の描画パターンやグループがセットされる。
【００９１】
次に、Ｓ１４０４において、描画パターン判定部４１２は、パターン用二値化部４１０から出力される二値化された参照領域を、セットした描画パターンによりパターンマッチングを行う。パターンマッチングは、二値化された参照領域の２５画素と、セットした描画パターンの２５画素の値を比較し、描画パターンの値が２以外の画素全てが一致するか否かを判定する。また、描画パターンの値が２の画素は、対応する位置の二値化された参照領域の画素が何の値であっても一致したものと判定する。
【００９２】
次に、Ｓ１４０５において、描画パターン判定部４１２は、Ｓ１４０４のパターンマッチングで、二値化された参照領域とセットした描画パターンとが一致した場合にはＳ１４０６へ進む。また、一致しなかった場合にはＳ１４０１に戻る。Ｓ１４０６では、描画パターン判定部４１２は、全ての用いるべき描画パターンと二値化された参照領域とが一致したため、描画パターン補正を行うべき個所と判断して描画パターン補正判定信号をＯＮとして描画パターン判定処理を終了する。
【００９３】
また、Ｓ１４０３において、描画パターン判定部４１２は、全ての用いるべき描画パターンと二値化された参照領域とが一致しなかったため、描画パターン補正判定信号をＯＦＦとして描画パターン判定処理を終了する。
【００９４】
これにより、参照領域内に規則的な形状が存在するか否かを判定し、後述する描画パターン補正を行い、規則的な形状との干渉などを防ぐことが可能となる。尚、描画パターン判定処理で用いる描画パターンは、図１５乃至図１７に示すパターンに限るものではなく、他のパターンを用いてもよいことは言うまでもない。また、これ以外の方法で規則的な形状を持つ描画パターンを判定してもよいことは言うまでもない。
【００９５】
次に、本実施形態における補正切替データ生成部４１３で行われる補正切替データ生成処理を、図１８を用いて詳細に説明する。図１８は、補正切替データ生成部４１３で行われる補正切替データ生成処理を示すフローチャートである。補正切替データ生成処理は、エッジ補正部４１７、ガンマ補正部３０４、及び中間調処理部３０５で処理を切り替えるための補正切替データを生成する処理である。
【００９６】
まず、Ｓ１８０１において、補正切替データ生成部４１３は、入力された補正判定信号がＯＮであるか否かを判定し、ＯＮである場合にはＳ１８０２へ、ＯＦＦである場合にはＳ１８１４へ進む。Ｓ１８０２では、補正切替データ生成部４１３は、入力された第一スムージング判定処理がＯＮであるか否かを判定し、ＯＮである場合にはＳ１８０３へ、ＯＦＦである場合にはＳ１８０４へ進む。
【００９７】
Ｓ１８０３では、補正切替データ生成部４１３は、スムージング種別として第一スムージング処理を、スクリーン種別としてスルーをセットした補正切替データを生成し、補正切替データ生成処理を終了する。
【００９８】
尚、スムージング種別として第一スムージング処理が選択される場合、スクリーン種別はスルーが選択されなければならない。また、スムージング種別として第一スムージング処理が選択される以外に、スクリーン種別としてスルーが選択されることはない。
【００９９】
また、Ｓ１８０４では、補正切替データ生成部４１３は、入力されたライン補正判定信号がＯＮであるか否かを判定し、ＯＮである場合にはＳ１８０６へ、ＯＦＦである場合にはＳ１８０９へ進む。Ｓ１８０６では、補正切替データ生成部４１３は、入力された濃度域判定信号が高濃度域であるか否かを判定し、高濃度域である場合にはＳ１８０６へ、そうでない場合にはＳ１８０５へ進む。
【０１００】
Ｓ１８０６では、補正切替データ生成部４１３は、スムージング種別として第二スムージング処理を、スクリーン種別として平坦化スクリーンをセットした補正切替データを生成し、補正切替データ生成処理を終了する。
【０１０１】
また、Ｓ１８０７では、補正切替データ生成部４１３は、入力された濃度域判定信号が中濃度域であるか否かを判定し、中濃度域である場合にはＳ１８０８へ、低濃度域である場合にはＳ１８０９へ進む。
【０１０２】
Ｓ１８０８では、補正切替データ生成部４１３は、スムージング種別として第二スムージング処理を、スクリーン種別として高線数スクリーンをセットした補正切替データを生成し、補正切替データ生成処理を終了する。
【０１０３】
また、Ｓ１８０９では、補正切替データ生成部４１３は、描画パターン補正判定信号がＯＮであるか否かを判定し、ＯＮである場合にはＳ１８１０へ、ＯＦＦである場合にはＳ１８１１へ進む。
【０１０４】
Ｓ１８１０では、補正切替データ生成部４１３は、スムージング種別としてスムージング処理なしを、スクリーン種別として高線数スクリーンをセットした補正切替データを生成し、補正切替データ生成処理を終了する。
【０１０５】
また、Ｓ１８１１では、補正切替データ生成部４１３は、内側判定信号が内側であるか否かを判定し、内側である場合にはＳ１８１２へ、外側である場合にはＳ１８１３へ進む。Ｓ１８１２では、補正切替データ生成部４１３は、スムージング種別として第二スムージング処理を、スクリーン種別として低線数スクリーンをセットした補正切替データを生成し、補正切替データ生成処理を終了する。
【０１０６】
また、Ｓ１８１３とＳ１８１４において、補正切替データ生成部４１３は、スムージング種別としてスムージング処理なしを、スクリーン種別として低線数スクリーンをセットした補正切替データを生成し、補正切替データ生成処理を終了する。
【０１０７】
このようにして、補正切替データ生成処理では、上述の様々な判定処理によって生成された判定信号を用いてスムージング種別やスクリーン種別を切り替え、参照領域内の状態に応じて適用的に処理を切り替えることが可能となる。
【０１０８】
尚、本実施形態において、スクリーン種別は平坦化スクリーン、高線数スクリーン、低線数スクリーンの３種としたが、これに限るものではなく、例えば誤差拡散法などのディザマトリックスを用いない中間調処理手段を用いてもよい。
【０１０９】
また、各判定信号に応じて設定するスムージング種別とスクリーン種別もこれに限るものではなく、任意のスムージング種別とスクリーン種別を設定することができてもよいことは言うまでもない。
【０１１０】
次に、本実施形態におけるエッジ補正部４１７で行われるエッジ補正処理を、図１９を用いて詳細に説明する。図１９は、エッジ補正部４１７で行われるエッジ補正処理を示すフローチャートである。エッジ補正処理は、入力される注目画素と補正された注目画素、エッジ補正データの中から、補正切替データに基づいて何れかを選択し、第一スムージング処理を行うと共に、第二スムージング処理のための濃度補正を行う処理である。
【０１１１】
まず、Ｓ１９０１において、エッジ補正部４１７は、補正切替データのスムージング種別を判定し、第一スムージング処理がセットされている場合にはＳ１９０２へ、そうでない場合にはＳ１９０３へ進む。Ｓ１９０２では、エッジ補正部４１７は、エッジ補正データを出力することで第一スムージング処理を行い、エッジ補正処理を終了する。
【０１１２】
また、Ｓ１９０３では、エッジ補正部４１７は、補正切替データのスムージング種別を判定し、第二スムージング処理がセットされている場合にはＳ１９０４へ、スムージング処理なしの場合にはＳ１９０５へ進む。Ｓ１９０４では、エッジ補正部４１７は、補正された注目画素を出力することで、後述する第二スムージング処理によって変化するエッジ部の濃度（画素値）を下げるように補正し、エッジ補正処理を終了する。
【０１１３】
また、Ｓ１９０５では、エッジ補正部４１７は、スムージング処理が行われない個所であるため、注目画素を出力してエッジ補正処理を終了する。
【０１１４】
これにより、エッジ補正処理は、補正切替データに応じて出力する画像データを選択的に切り替えることにより、第一スムージング処理を行うと同時に、第二スムージング処理のための濃度補正を行うことが可能となる。
【０１１５】
次に、本実施形態における中間調処理部３０５で行われる中間調処理を、図２０〜図２２を用いて詳細に説明する。図２０は、中間調処理部３０５で行われる中間調処理を示すフローチャートである。中間調処理は、入力される画像データと補正切替データとから、スクリーン処理によってプリンタ部１０３で印刷可能な４ビットの画像データに変換すると共に、第二スムージング処理によってジャギーの改善を行う。
【０１１６】
まず、Ｓ２００１において、中間調処理部３０５は、補正切替データのスクリーン種別を判定し、スルーがセットされている場合には、画像データをそのまま出力して中間調処理を終了する。即ち、補正切替データのスクリーン種別にスルーがセットされる画素は、スムージング判定部３０３において第一スムージング処理が施されているため、４ビットのエッジ補正データが出力されることになる。また、Ｓ２００１において、補正切替データのスクリーン種別に、スルー以外がセットされている場合にはＳ２００２へ進む。
【０１１７】
次に、Ｓ２００２において、中間調処理部３０５は、補正切替データのスクリーン種別を判定し、平坦化スクリーンがセットされている場合にはＳ２００３へ、そうでない場合にはＳ２００４へ進む。Ｓ２００４において、中間調処理部３０５は、補正切替データのスクリーン種別を判定し、高線数スクリーンがセットされている場合にはＳ２００５へ、低線数スクリーンがセットされている場合にはＳ２００６に進む。
【０１１８】
次に、Ｓ２００３、Ｓ２００５、Ｓ２００６において、中間調処理部３０５は、補正切替データのスクリーン種別に対応するディザマトリックスを用い、多値のディザ法によって画像データを４ビットのスクリーンデータに変換する。ここで、Ｓ２００３で使用する平坦化スクリーンとは、規則的に表れる網点の周期が現れにくいディザマトリックスを用いるものである。
【０１１９】
また、Ｓ２００５、Ｓ２００６で使用する高線数スクリーンと低線数スクリーンとは、平坦化スクリーンと異なり、網点の周期が強く表れるディザマトリックスを用いるものである。図２１は、高線数スクリーンや低線数スクリーンの成長方法で成長するディザマトリクスを示す図である。図２２は、図２１と同一のスクリーン角、スクリーン線数で平坦化スクリーンの成長方法で成長するディザマトリクスを示す図である。両者とも入力される画像データは同一である。
【０１２０】
図２１では、レベルの異なるディザマトリクスの同じ座標のマス間で、レベル方向、即ち階調が増すように閾値が与えられている。一つの座標のマスが最大のレベルまで成長した後、網点が集中するように隣接する座標のマスが、更に同様にしてレベル方向に成長していることが見て取れる。
【０１２１】
よって、出力するスクリーンデータもレベル方向に成長するため、高線数スクリーンや低線数スクリーンでは、網点のパターンが強く現れる。平坦化スクリーンは、高線数スクリーンや低線数スクリーンに比べて周期性が表れにくく、オブジェクトの形状をより正確に再現することが可能であるが、階調特性が安定しないため、豊かな色の再現には適さない。
【０１２２】
また、高線数スクリーンは、低線数スクリーンに比べて短い周期（高周波数）で網点が形成されるものであり、分解能が高く細かいものを表現することができるが、階調特性が比較的安定しない。一方、低線数スクリーンは、分解能が低く細かいものを再現することには適さないが、階調特性は安定しているため、豊かな色の再現に適する。即ち、本実施形態においては、色の再現よりも形状を優先する高濃度域の細線には平坦化スクリーンを適用する。また、色と形状の再現を両立すべき中濃度域の細線や描画パターンには高線数スクリーンを、それ以外の色の再現を優先するオブジェクトには低線数スクリーンを適用する。
【０１２３】
次に、Ｓ２００７において、中間調処理部３０５は、補正切替データのスムージング種別を判定し、第二スムージング処理がセットされている場合にはＳ２００８へ、それ以外の場合にはＳ２００９へ進む。Ｓ２００８では、中間調処理部３０５は、縁取りデータを生成する。縁取りデータは、入力される画像データの上位４ビットを一次元のルックアップテーブルで変調することで生成する。ここで、このルックアップテーブルは、４ビット入力４ビット出力のルックアップテーブルであり、基本的には、入力値をそのままの値で出力するリニアな特性で設定される。但し、プリンタの特性に応じて非線形な出力にするなどの設定も可能であることは言うまでもない。
【０１２４】
次に、Ｓ２０１０において、中間調処理部３０５は、スクリーンデータと縁取りデータとの値を比較する。縁取りデータがスクリーンデータよりも大きい場合にはＳ２０１１へ、そうでない場合にはＳ２００９へ進む。Ｓ２０１１では、中間調処理部３０５は、縁取りデータをプリンタ部１０３に出力して中間調処理を終了する。また、Ｓ２００９では、中間調処理部３０５は、スクリーンデータをプリンタ部１０３に出力して中間調処理を終了する。
【０１２５】
これにより、中間調処理では、補正切替データに応じてスクリーン種別を適用的に切り替えることができると共に、濃度補正処理によって濃度補正された画像データに対して第二スムージング処理を行うことができる。
【０１２６】
次に、本実施形態における処理例と処理結果を、図２３乃至図２５を用いて詳細に説明する。図２３、図２５は、本実施形態における中間調処理部３０５の処理結果の一例を示す図である。また、図２４は、濃度補正部４１６に設定される一次元のルックアップテーブルの一例を示す図である。
【０１２７】
まず、本実施形態におけるスムージング判定部３０３の濃度補正部４１６で、濃度補正処理を行わなかった場合の例を、図２３を用いて説明する。図２３に示す（ａ）は、中間調処理部３０５に入力される画像データであり、このとき、スムージング判定部３０３の濃度補正部４１６には図２４に示すリニアな一次元ルックアップテーブル２４００が設定されている。即ち、図２３は第二スムージング処理に対して濃度補正処理を行わない場合を示している。２３００は白い色の背景であり、２３０１は中間濃度の色を持つ矩形オブジェクト、２３０２はスムージング判定部３０３で第一スムージング処理が施された画素である。
【０１２８】
図２３に示す（ｂ）は、中間調処理部３０５に入力される補正切替データであり、補正切替データのスムージング種別として２３０３にはスムージング処理なしが、２３０４には第二スムージング処理が、２３０５には第一スムージング処理が設定されている。また、補正切替データのスクリーン種別として、２３０３、２３０４には、共に低線数スクリーンが、２３０５にはスルーが設定されている。
【０１２９】
図２３に示す（ｃ）は、中間調処理部３０５のＳ２００３、Ｓ２００５、Ｓ２００６で生成されるスクリーンデータである。２３０６は、低線数スクリーンが適用され、網点に変換された画素である。また、２３０２は、補正切替データのスクリーン種別がスルーであるため、そのまま出力される。
【０１３０】
図２３に示す（ｄ）は、中間調処理部３０５から出力される画像データであり、補正切替データのスムージング種別が第二スムージング処理である画素に対して、縁取りデータと図２３に示す（ｃ）のスクリーンデータとで比較を行い、大きい値が出力される。２３０７は、縁取りデータがスクリーンデータよりも大きく、縁取りデータが出力された画素である。図２３に示す（ｃ）と（ｄ）を比較すればわかるように、第二スムージング処理が適用されたエッジ部は縁取りデータが付加されて、濃度が単純に上昇してしまう。
【０１３１】
次に、本実施形態におけるスムージング判定部３０３の濃度補正部４１６で、濃度補正処理を行った場合の例を、図２５を用いて説明する。図２５に示す（ａ）は、中間調処理部３０５に入力される画像データであり、このとき、スムージング判定部３０３の濃度補正部４１６には、図２４に示す下凸の一次元ルックアップテーブル２４０１が設定されている。即ち、図２５は第二スムージング処理が適用されるエッジ部においては、予め濃度を下げるように設定された場合を示している。２５００は、スムージング判定部３０３の濃度補正部４１６で下凸の一次元ルックアップテーブルが適用され、２３０１よりも薄い色に変換された画素である。
【０１３２】
図２５に示す（ｂ）は、中間調処理部３０５に入力される補正切替データであり、図２３に示す（ｂ）と同様である。
【０１３３】
図２５に示す（ｃ）は、中間調処理部３０５のＳ２００３、Ｓ２００５、Ｓ２００６で生成されるスクリーンデータである。２５０１は、スムージング判定部３０３の濃度補正部４１６で下凸の一次元ルックアップテーブルが適用されたため、２３０１よりも薄い色となり、低線数スクリーンが適用されても網点に変換されなかった画素である。
【０１３４】
図２５に示す（ｄ）は、中間調処理部３０５から出力される画像データであり、補正切替データのスムージング種別が第二スムージング処理である画素に対して、縁取りデータと図２５に示す（ｃ）のスクリーンデータとで比較を行い、大きい値が出力される。２５０２は、縁取りデータがスクリーンデータよりも大きく、縁取りデータが出力された画素である。
【０１３５】
以上説明したように、スムージング判定部３０３の濃度補正部４１６で濃度補正を行わない場合には、第二スムージング処理が適用されたエッジ部に縁取りデータが付加されて濃度が単純に上昇してしまう。
【０１３６】
一方、本実施形態では、中間調処理よりも前に第二スムージング処理を適用するエッジ部を検出し、エッジ部の濃度が上昇する分、濃度を下げるように濃度補正を行い、図２５に示す（ｃ）の２５０１のように網点とならない画素を作る。
【０１３７】
これにより、第二スムージング処理が適用されるエッジ部には縁取りデータが付加されるが、エッジ部の濃度上昇を抑えることができると共に、スクリーン処理によるエッジ部のジャギーを改善することができる。
【０１３８】
［変形例］
変形例は、上述の実施形態とは図４に示すスムージング判定部３０３の一部構成のみが異なる。そのため、上述の実施形態と同様の部分に関しては、同一番号を付けて省略し、異なる部分のみを以下に説明する。
【０１３９】
まず、変形例でのスムージング判定部３０３における動作を、図４を用いて説明する。尚、変形例において、濃度補正部４１６以外は上述の実施形態と同様であるため、詳細な説明は省く。
【０１４０】
濃度補正部４１６は、ＦＩＦＯメモリ４０１より出力される参照領域内の中央の注目画素に濃度補正処理を行い、補正した注目画素をエッジ補正部４１７に出力する。濃度補正処理は、予め定めた濃度補正値と注目画素の値とを乗算することで、補正した注目画素を求め、濃度補正値は０〜１までの値で与えられる。
【０１４１】
尚、本実施形態において、濃度補正部４１６は、濃度補正値を入力される注目画素に掛けることで補正された注目画素を求めると記載したが、これに限るものではない。例えば、濃度補正値を注目画素の値から減算することで濃度補正処理を行ってもよく、この場合には濃度補正値は〜２５５までの値が与えられる。また、注目画素の値から濃度補正値を引いた場合に負になることがあるが、この場合は０にクリップする。
【０１４２】
変形例によれば、濃度補正処理に一次元のルックアップテーブルを用いないため、ＲＡＭなどに一次元のルックアップテーブルを保存する必要がなく、低コストに濃度補正処理を行うことができる。
【０１４３】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005323035.tif 000002
【図２】
0005323035.tif 000003
【図３】
0005323035.tif 000004
【図４】
0005323035.tif 000005
【図５】
0005323035.tif 000006
【図６】
0005323035.tif 000007
【図７】
0005323035.tif 000008
【図８】
0005323035.tif 000009
【図９】
0005323035.tif 000010
【図１０】
0005323035.tif 000011
【図１１】
0005323035.tif 000012
【図１２】
0005323035.tif 000013
【図１３】
0005323035.tif 000014
【図１４】
0005323035.tif 000015
【図１５】
0005323035.tif 000016
【図１６】
0005323035.tif 000017
【図１７】
0005323035.tif 000018
【図１８】
0005323035.tif 000019
【図１９】
0005323035.tif 000020
【図２０】
0005323035.tif 000021
【図２１】
0005323035.tif 000022
【図２２】
0005323035.tif 000023
【図２３】
0005323035.tif 000024
【図２４】
0005323035.tif 000025
【図２５】
0005323035.tif 000026