(57)【特許請求の範囲】
【請求項１】
第１のスクリーン情報を用いて入力画像データに対してスクリーン処理を行う第１のスクリーン処理手段と、
前記第１のスクリーン処理手段の処理結果の低周波成分と該入力画像データの低周波成分との差に基づき、該第１のスクリーン処理手段の処理結果の評価値を求める評価手段と、
前記第１のスクリーン処理手段の処理結果の評価値に応じて、前記第１のスクリーン情報と該第１のスクリーン情報とは異なる第２のスクリーン情報とを合成し、該合成されたスクリーン情報を設定する設定手段と、
前記設定されたスクリーン情報を用いて、前記入力画像データに対してスクリーン処理を行う第２のスクリーン処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第２のスクリーン情報を用いてスクリーン処理する第３のスクリーン処理手段を有し、
前記評価手段は、さらに、前記第３のスクリーン処理手段の処理結果の低周波成分と前記入力画像データの低周波成分とから、該第３のスクリーン処理手段の処理結果の評価値を求め、
前記設定手段は、前記第１のスクリーン処理手段の処理結果の評価値と前記第３のスクリーン処理手段の処理結果の評価値とに応じて、前記第１のスクリーン情報と前記第２のスクリーン情報とを合成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記第１のスクリーン処理手段の処理結果の評価値および前記第３のスクリーン処理手段の処理結果の評価値の両方が悪い場合は、前記第１のスクリーン情報を設定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第１のスクリーン情報はドットスクリーン情報であり、前記第２のスクリーン情報はラインスクリーン情報であることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２のスクリーン情報はラインスクリーン情報であり、前記ラインスクリーン情報から得られるスクリーンベクトルは、前記第１のスクリーン処理を構成する２つのスクリーンベクトルの線形結合で表され、かつ各結合係数が整数または整数の逆数であることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第２のスクリーン情報には、異なる複数のラインスクリーン情報が含まれることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記評価手段は、前記第１のスクリーン処理手段でおこなうスクリーン処理に応じた周波数をカットオフするローパスフィルタを使用することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記差は、前記第１のスクリーン処理手段の処理結果と前記入力画像データとの画素毎に減算した後に、該減算して得られる結果に対してローパスフィルタを用いてフィルタ処理をすることにより求められる請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
第１のスクリーン情報を用いて入力画像データに対してスクリーン処理を行う第１のスクリーン処理ステップと、
前記第１のスクリーン処理ステップによる処理結果の低周波成分と該入力画像データの低周波成分との差に基づき、該第１のスクリーン処理ステップによる処理結果の評価値を求める評価ステップと、
前記第１のスクリーン処理ステップによる処理結果の評価値に応じて、前記第１のスクリーン情報と該第１のスクリーン情報とは異なる第２のスクリーン情報とを合成し、該合成されたスクリーン情報を設定する設定ステップと、
前記設定されたスクリーン情報を用いて、前記入力画像データに対してスクリーン処理を行う第２のスクリーン処理ステップとを有することを特徴とする画像処理方法。
【請求項１０】
請求項１乃至８のいずれかに記載の画像処理装置を実行するためのコンピュータ読み取り可能なプログラムコードを有するプログラム。
【請求項１１】
前記設定されたスクリーン情報を構成する一部の閾値は、前記第１のスクリーン情報の閾値と前記第２のスクリーン情報の閾値とを用いた演算により算出された閾値であることを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１２】
請求項１乃至８のいずれか一項に記載の画像処理装置を内蔵し、前記第２のスクリーン処理手段によってスクリーン処理された画像データに基づいて、記録媒体上に画像を記録する画像形成装置。
【請求項１３】
電子写真方式を用いて画像を記録することを特徴とする請求項１２に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリーン処理を行うものに関する。
【背景技術】
【０００２】
印刷の分野では、入力データにスクリーン処理を行い、スクリーン処理結果に応じてドットのＯＮ／ＯＦＦを制御することによって階調表現する。
【０００３】
スクリーン処理とは、大小の閾値が周期的に配置された閾値群（以下スクリーン）によって入力データを量子化することである。具体的には、注目画素の入力データと注目画素に対応するスクリーンの閾値とを比較し、入力データの方が大きい場合にはドットをＯＮ、入力データの方が小さい場合にはドットをＯＦＦとする。スクリーン処理として、設定された密度および傾斜角度（スクリーン角度）に応じて周期的に閾値を配置するＡＭスクリーン処理技術が知られている。
【０００４】
しかしながら入力画像が細線やエッジである場合、細線やエッジの方向とスクリーンの傾斜角度とが近いと、画像とスクリーンとが干渉し、線の途切れやエッジのジャギー、さらにはモアレが発生してしまう。
【０００５】
特許文献１には、グラフィックデータの輪郭領域を抽出し、スクリーンを切り替える技術が提案されている。
【０００６】
特許文献２には、入力画像のエッジや細線の特徴量に応じて、スクリーン角度が同一であり、線数が整数倍の関係である複数スクリーンを合成する技術が提案されている。
【０００７】
特許文献３には、細線やエッジの存在判定・検出を行わずに細線及びエッジの再現性を高める技術が提案されている。スクリーン角度が異なる複数のスクリーンを用意し、所定サイズの画素ブロック毎にそれぞれのスクリーン処理後データを生成する。さらに、該各スクリーン処理後データと入力画像との誤差を画素ブロック毎に評価し、誤差が最小となるスクリーン処理を採用する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−０４０４９９号公報
【特許文献２】特開２０１０−０７４６２７号公報
【特許文献３】特開２００６−１７４０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した特許文献に記載された手法によれば、以下のような課題がある。
【００１０】
例えば、特許文献１、２に記載された手法は、細線やエッジの存在有無の判定が必要であり、誤判定が生じると適切な処理が動作しない。さらに特許文献２は複数のスクリーンのスクリーン角度が同一であるため細線の途切れやエッジのジャギーが発生してしまう。
【００１１】
特許文献３に記載された手法は、所定ブロック内の濃度誤差を用いてスクリーン処理を評価しているため、細線の途切れやエッジのジャギー、さらには干渉によって発生するモアレを正しく評価できないので再現性の高いスクリーン処理ができない。
【００１２】
本発明では、スクリーン処理結果を高精度に検出し、再現性の高いスクリーン処理を実現することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の画像処理装置は、第１のスクリーン情報を用いて入力画像データに対してスクリーン処理を行う第１のスクリーン処理手段と、前記第１のスクリーン処理手段の処理結果の低周波成分と該入力画像データの低周波成分との差に基づき、該第１のスクリーン処理手段の処理結果の評価値を求める評価手段と、前記第１のスクリーン処理手段の処理結果の評価値に応じて、前記第１のスクリーン情報と該第１のスクリーン情報とは異なる第２のスクリーン情報とを合成し、該合成されたスクリーン情報を設定する設定手段と、前記設定されたスクリーン情報を用いて、前記入力画像データに対してスクリーン処理を行う第２のスクリーン処理手段とを有することを特徴とする。
【発明の効果】
【００１４】
以上本発明によれば、スクリーン処理結果を適切に評価してスクリーン処理を制御することにより、高品質な画像再現を実現できる。
【図面の簡単な説明】
【００１５】
【図１】実施例１の画像処理装置、および画像形成装置の構成を示したブロック図である。
【図２】実施例１の画像処理フローを示す図である。
【図３】実施例１のスクリーン処理部を示す図である。
【図４】実施例１のドットスクリーン処理及びラインスクリーン処理の概念示す図である。
【図５】実施例１の評価値算出部を示す図である。
【図６】実施例１の各スクリーン処理の周波数特性と対応するローパスフィルタのカットオフ周波数を示す図である。
【図７】実施例１のパラメータ算出テーブルを示す図である。
【図８】実施例１の合成スクリーン情報算出部の動作を示す図である。
【図９】細線画像における実施例１の効果を示す図である。
【図１０】エッジ画像における実施例１の効果を示す図である。
【図１１】様々な周波数混在画像における実施例１の効果を示す図である。
【図１２】実施例２の基本スクリーン処理となるラインスクリーン処理を示す図である。
【図１３】実施例２のラインスクリーン処理を示す図である。
【図１４】細線画像における実施例２の効果を示す図である。
【図１５】エッジ画像における実施例２の効果を示す図である。
【図１６】様々な周波数混在画像における実施例２の効果を示す図である。
【図１７】ドットスクリーン情報の網点単位領域を示す図である。
【図１８】パラメータ算出テーブルの変形例を示す図である。
【図１９】変形例２（要素値比較によるスクリーン処理の合成）における合成スクリーン情報算出部の動作を示す図である。
【図２０】変形例２（乗算によるスクリーン処理の合成）における合成スクリーン情報算出部の動作を示す図である。
【図２１】その他の実施例における、基本スクリーン処理結果のみを評価する例を示す図である。
【図２２】その他の実施例における、ＬＰＦの数を減らした場合の評価値算出部の動作を示す図である。
【図２３】その他の実施例における、擬似スクリーン処理について示す図である。
【図２４】その他の実施例における、擬似スクリーン処理を用い、ＬＰＦの数を減らした場合の評価値算出部の動作を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１７】
（実施例１）
図１は、本実施例による画像処理装置および画像形成装置の構成を示したブロック図である。本実施例の画像形成装置は電子写真方式のプリンタを用いる。ただし、画像形成装置は電子写真方式のプリンタに限らず、インクジェット方式や昇華型方式、オフセット印刷方式など他の方式のプリンタを用いてもよい。
【００１８】
図１において、画像処理装置１と画像形成装置２は、インタフェース又は回路によって接続されている。画像処理装置１は例えば一般的なパーソナルコンピュータにインストールされたドライバである。その場合、以下に説明する画像処理装置１内の各部は、コンピュータが所定のプログラムを実行することにより実現される。また、画像形成装置２が画像処理装置１を含む構成としてもよい。
【００１９】
画像処理装置１は、入力端子１０１から入力された印刷対象のカラー入力画像データを入力画像バッファ１０２に格納する。カラー入力画像データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分により構成されている。
【００２０】
色分解処理部１０３は、色分解用ルックアップテーブル（ＬＵＴ）１０４を参照して、格納されたカラー入力画像データを画像形成装置２が備える色材色に対応した色データへ分解する。本実施例における色材色は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４種類である。そのため、ＲＧＢカラー入力画像データは、ＣＭＹＫ画像データへ変換される。
【００２１】
スクリーン処理部１０５は、ＣＭＹＫ画像データの各プレーンデータに対して独立にスクリーン処理を行う。
【００２２】
スクリーン処理部１０５は、色分解処理部１０３から出力された画像データを複数のスクリーン処理により２値化し、複数の２値データを出力する。複数のスクリーン処理のそれぞれは異なるスクリーン情報を用いて画像データを２値化する。スクリーン情報は、各画素に対応した様々な値の閾値が周期的に配置された閾値群（スクリーン）である。スクリーン処理は、このスクリーン情報を参照して、注目画素の画像データと注目画素に対応する閾値を比較する。そして閾値より注目画素の画像データの方が大きければＯＮ、小さければＯＦＦとして２値化する。評価値算出部１０６は、スクリーン処理部１０５から出力された２値データを評価する。評価値算出部１０６は、２値データの低周波成分とスクリーン処理する前の画像データの低周波成分とを比較し、評価値を算出する。評価値の算出は各スクリーン処理に対しておこなう。
【００２３】
スクリーン情報生成パラメータ算出部１０７は、評価値算出部１０６から得たスクリーン処理の評価値に基づいて、合成スクリーン情報を生成するためのパラメータを算出する。
【００２４】
合成スクリーン情報算出部１０８は、スクリーン情報生成パラメータ算出部１０７で算出されたパラメータを用いて、合成スクリーン情報を生成する。
【００２５】
合成スクリーン処理部１０９は、合成スクリーン情報を用いて画像データに対してスクリーン処理を行い、合成スクリーン２値データに変換し、スクリーン処理後画像格納バッファ１１０に格納する。
【００２６】
そして合成スクリーン２値データは、出力端子１１１より画像形成装置２へ出力される。
【００２７】
画像形成装置２は、感光体ドラム２０１、２０２、２０３、２０４、中間転写ベルト２０５、転写部２０６、定着部２０７、用紙トレイ２０８、印刷物堆積部２０９を有する。
【００２８】
画像形成装置２において、画像処理装置１から受信したＣＭＹＫ各色の２値データに基づく潜像画像が、ＣＭＹＫ各色の感光体ドラム２０１，２０２，２０３，２０４上に形成される。感光体ドラム２０１，２０２，２０３，２０４において、形成された潜像画像からトナー像が形成され、形成されたトナー像は中間転写ベルト２０５上に転写され中間転写ベルト２０５上にカラー像が形成される。転写部２０６において、このカラー像は用紙トレイ２０８から供給された用紙上に転写され、定着部２０７にて用紙上に定着される。カラー像が定着された用紙は印刷物堆積部２０９に送られる。
【００２９】
図３はスクリーン処理部１０５の構成を示すブロック図である。基本スクリーン処理部３０１は、基本スクリーン情報３０３を参照して、画像データに対してスクリーン処理を行い、基本スクリーン２値データに変換する。本実施例では、基本スクリーン処理部３０１はドットスクリーン処理を行う。
【００３０】
ラインスクリーン処理部３０２は、１色に対して２つのラインスクリーン情報テーブル３０４を有している。ラインスクリーン処理部３０２は、２つのラインスクリーン情報テーブル３０４を参照して、画像データに対して２種類のラインスクリーン処理を行い、２つのラインスクリーン２値データに変換する。
【００３１】
図４に基本スクリーン処理部３０１において用いられるドットスクリーン処理情報とラインスクリーン処理部３０２において用いられる２つのラインスクリーン処理情報の概要を示す。
【００３２】
基本スクリーン処理部３０１に用いられるドットスクリーン情報４０２は閾値（１〜２５５）が画素位置に対応して配置された閾値群であり、本実施例では基本スクリーン処理に用いられる。全ての画素値が７０である画像データ４０１に対して、ドットスクリーン情報４０２を参照してスクリーン処理すると、ドットスクリーン２値データ４０５が得られる。ドットスクリーン２値データ４０５において黒塗りの画素がＯＮドットの画素である。ドットスクリーン２値データ４０５では、周期的なドットが出現する。２値データ４０５において、ドット４１０に注目すると、ドット４１１および４１２が最近接のドットである。１つの注目ドットと最近接ドットとを結んで得られる２方向のベクトルが、ドットスクリーン情報４０２の特性を示すスクリーンベクトルである。この場合（ｘ、ｙ）＝（３、２）及び（ｘ、ｙ）＝（−２、３）がドットスクリーン４０２のスクリーンベクトルである。スクリーンベクトルにおいてベクトルの方向がスクリーン角度を示し、長さが線数を示す。なお、ドットスクリーン４０２を構成する各スクリーンベクトルの長さは同じであるが、この限りではない。基本スクリーン処理部で用いられるスクリーン情報を構成する２つのスクリーンベクトルを基本スクリーンベクトルとする。従ってここでは、（ｘ、ｙ）＝（３、２）及び（ｘ、ｙ）＝（−２、３）が基本スクリーンベクトルとなる。
【００３３】
ラインスクリーン情報（１）４０３およびラインスクリーン情報（２）４０４はラインスクリーン処理部３０２で行われるスクリーン処理に用いられる。ドットスクリーン処理と同様に、全ての画素値が７０である画像データ４０１に対して、ラインスクリーン情報４０３，４０４を参照してスクリーン処理すると、ラインスクリーン２値データ４０６、４０７が得られる。ラインスクリーン２値データ４０６、４０７では、周期的なラインが出現する。つまり、ラインスクリーン情報はラインに対して垂直の方向に１つのスクリーンベクトルをもつ。ラインスクリーン情報（１）４０３のスクリーンベクトルは（ｘ、ｙ）＝（３、２）、ラインスクリーン情報（２）４０４のスクリーンベクトル（２）は（ｘ、ｙ）＝（−２、３）となる。
【００３４】
各ラインスクリーン情報のスクリーンベクトルはいずれも、２つの基本スクリーンベクトルと始点が同じである。これはスクリーンベクトルの位相（位置）が同じであることを意味する。さらに、各ラインスクリーンベクトル情報のスクリーンベクトルは、２つの基本スクリーンベクトル４０８、４０９の線形結合で、かつ、各結合係数が整数（０やマイナスも含む）もしくは整数の逆数で表せられる。
【００３５】
ラインスクリーン情報の特性を示すスクリーンベクトルをＬ＿Ｖ（ｋ）（ｋは１以上の自然数）、基本スクリーンベクトルをＢａ＿Ｖ１、Ｂａ＿Ｖ２とすると以下の式が成り立つ。
Ｌ＿Ｖ（ｋ）＝α×Ｂａ＿Ｖ１＋β×Ｂａ＿Ｖ２        ・・・（１）
（α、β：整数もしくは整数の逆数）
【００３６】
ラインスクリーン情報（１）４０３のスクリーンベクトルＬ＿Ｖ（１）およびラインスクリーン情報（２）４０４のスクリーンベクトルＬ＿Ｖ（２）は、それぞれ以下の式であらわされる。
Ｌ＿Ｖ（１）＝１×Ｂａ＿Ｖ１＋０×Ｂａ＿Ｖ２        ・・・（２）
（α＝１、β＝０）
Ｌ＿Ｖ（２）＝０×Ｂａ＿Ｖ１＋１×Ｂａ＿Ｖ２        ・・・（３）
（α＝０、β＝１）
このようなスクリーンベクトルが構成するラインスクリーン情報は、基本スクリーン処理によって出力される複数のドットを通るようにラインを形成する。そのため、基本スクリーンとラインスクリーンを連続的かつ滑らかに変化させることができる。また、上記例では２つのラインスクリーンを使用する例を述べたが、３つ以上のラインスクリーンを使用してもよい。３つ以上のラインスクリーンの場合でも、式（１）を満たすスクリーンベクトルが構成するラインスクリーン情報であればよい。
【００３７】
図５は評価値算出部１０６を示している。評価値算出部１０６は、各スクリーン処理の評価値を算出する。
【００３８】
基本スクリーン２値データに第１ＬＰＦ５０１によるフィルタ処理を行い、基本スクリーン低周波成分を算出する。なお、第１ＬＰＦのカットオフ周波数は基本スクリーンの周波数特性に対応している。次に、色分解処理後の画像データ（基本スクリーン処理される前の画像データ）についても、第１ＬＰＦ５０１と同一のフィルタである第１ＬＰＦ５０２を用いたフィルタ処理を行い、第１画像データ低周波成分を算出する。
【００３９】
そして減算部５０３において、第１画像データ低周波成分と基本スクリーン低周波成分の差分を算出する。さらに重み積算部５０４において、算出された差分と重み係数ａ１（実数）を積算し、基本スクリーン処理結果の評価値として出力する。
【００４０】
ラインスクリーン（１）２値データに対しては、ラインスクリーン（１）の周波数特性に対応した第２ＬＰＦ５０５、５０６および重み係数ａ２（実数）を用いて、基本スクリーンと同様に、ラインスクリーン（１）処理結果の評価値を算出する。同様に、ラインスクリーン（２）２値データに対しても、ラインスクリーン（２）の周波数特性に対応した第３ＬＰＦ５０９、５１０および重み係数ａ３（実数）を用いて、ラインスクリーン（２）処理結果の評価値を算出する。
【００４１】
ここで、評価値について説明する。細線の途切れやエッジのジャギーやモアレが発生した画像では、一般にスクリーン周波数（網点周波数）よりも低い周波数に干渉が起こっている。そこで、スクリーン周波数よりも低い周波数において、画像データとスクリーン処理後の２値データとを比較することで、画像の再現性をより正確に評価することができる。画像データの低周波成分とスクリーン２値データの低周波成分との差分から算出される評価値は、入力された画像データに対する２値データの再現性を示し、評価値（画像データとの差）が小さいほど再現性が高い。
【００４２】
図６は各スクリーン処理の周波数特性と各ＬＰＦのカットオフ周波数を示す。
図６において、原点は直流成分を示し、縦軸は垂直方向の空間周波数、横軸は水平方向の空間周波数を示している。そして、水平垂直方向共に原点より離れるほど高周波成分であることを示している。
【００４３】
図６（Ａ）は、基本スクリーン処理のスクリーン周波数特性を示す。本実施例では基本スクリーン処理として、スクリーンベクトル４０８、４０９を有するドットスクリーン情報４０２を使用する。したがって、６０１に示されるように、スクリーンベクトル４０８、４０９に応じた周波数にスクリーン周波数特性を有する。そこで、本実施例では、第１ＬＰＦ５０１、５０２のカットオフ周波数６０２を、スクリーン周波数特性６０１より低い周波数に設定する。つまり、第１ＬＰＦ５０１、５０２は、スクリーン周波数特性６０１より低い周波数を抽出するフィルタである。
【００４４】
図６（Ｂ）はラインスクリーン処理（１）のスクリーン周波数特性６０３を示し、図６（Ｃ）はラインスクリーン処理（２）のスクリーン周波数特性６０５を示す。スクリーン周波数特性６０３、６０５の各々は、スクリーンベクトル４１３、スクリーンベクトル４１４に対応する。そして、カットオフ周波数６０４、６０５の各々は、スクリーン周波数特性６０３、６０５の各々より低い周波数に設定されている。
【００４５】
各ＬＰＦのカットオフ周波数は、それぞれのスクリーン周波数よりも低く設定されていることがわかる。このようにスクリーン周波数特性に応じたＬＰＦを用いてフィルタ処理することによって、各スクリーン処理後データのスクリーン成分を取り除くことができる。
【００４６】
なお、本実施例では、各スクリーン周波数はほぼ同一となるため、第１ＬＰＦ、第２ＬＰＦ、第３ＬＰＦは同じカットオフ周波数をもつＬＰＦを用いている。また、画像データにフィルタ処理する際のＬＰＦは、必ずしも評価値を算出するスクリーン処理に対応したＬＰＦと同一でなくても近似していればよい。
【００４７】
次に、以上の構成を備えた画像処理装置１における画像処理について、図２のフローチャートを用いて説明する。なお、本実施例では画素ごとに処理が進められる。
【００４８】
まず、ステップＳ２０１において、多階調のカラー入力画像データを入力画像バッファ１０２に格納する。
【００４９】
ステップＳ２０２において、色分解処理部１０３は、次式のとおり、色分解用ＬＵＴ１０４を用いて、ＲＧＢカラー入力画像データをＣＭＹＫの計４プレーンの画像データに分解し、多値の画像データＤ＿ｃ、Ｄ＿ｍ、Ｄ＿ｙ、Ｄ＿ｂｋを得る。ここでは、各画像データを８ビットとして扱うが、それ以上の階調数を有していても構わない。
Ｄ＿ｃ＝Ｃ＿ＬＵＴ＿３Ｄ（Ｒ，Ｇ，Ｂ）        ・・・（４）
Ｄ＿ｍ＝Ｍ＿ＬＵＴ＿３Ｄ（Ｒ，Ｇ，Ｂ）        ・・・（５）
Ｄ＿ｙ＝Ｙ＿ＬＵＴ＿３Ｄ（Ｒ，Ｇ，Ｂ）        ・・・（６）
Ｄ＿ｂｋ＝Ｋ＿ＬＵＴ＿３Ｄ（Ｒ，Ｇ，Ｂ）      ・・・（７）
ここで、式（４）〜（７）の右辺に定義される各関数が、色分解用ＬＵＴ１０４の内容に該当する。色分解用ＬＵＴ１０４はＲ、Ｇ、Ｂの３入力値から、各色材の出力値を定める。以後Ｓ２０３〜Ｓ２０８のステップは、色分解処理部によって得た各プレーンの画像データごとに対して独立して行う。
【００５０】
ステップＳ２０３では、基本スクリーン処理部３０１（図３）において画像データＤ＿ｃ、Ｄ＿ｍ、Ｄ＿ｙ、Ｄ＿ｂｋのそれぞれに対し、基本スクリーン処理としてドットスクリーン処理を行う。具体的には、注目画素の画像データとドットスクリーン情報の注目画素に対応する閾値とを比較し、２値化する。ＣＭＹＫそれぞれのドットスクリーン情報は基本スクリーン情報テーブル３０３に格納され、閾値Ｂａ＿Ｔｈ＿ｃ、Ｂａ＿Ｔｈ＿ｍ、Ｂａ＿Ｔｈ＿ｙ、Ｂａ＿Ｔｈ＿ｂｋを有する。
【００５１】
この実施例では、図４のドットスクリーン情報４０２を用いてシアンの基本スクリーン処理し、次式のとおりに２値化する。
Ｄ＿ｃ＜Ｂａ＿Ｔｈ＿ｃのとき、Ｏｕｔ＿Ｂａ＿ｃ＝０      ・・・（８）
Ｄ＿ｃ≧Ｂａ＿Ｔｈ＿ｃのとき、Ｏｕｔ＿Ｂａ＿ｃ＝２５５  ・・・（９）
マゼンタ、イエロー、ブラックに対しても同様に基本スクリーン処理部３０１にて処理を行う。
【００５２】
なお、シアンのドットスクリーン情報は、図４で説明したドットスクリーン情報４０２であり、スクリーンベクトルＢａ＿ｃ＿Ｖ１（４０８）（ｘ、ｙ）＝（３、２）、Ｂａ＿ｃ＿Ｖ２（４０９）（ｘ、ｙ）＝（−２、３）と２つのスクリーンベクトルを持つ。この２つのスクリーンベクトルがシアンの基本スクリーンベクトルとなる。
【００５３】
また、マゼンタの基本スクリーンベクトルはＢａ＿ｍ＿Ｖ１（ｘ、ｙ）＝（２、３）、Ｂａ＿ｍ＿Ｖ２（ｘ、ｙ）＝（−３、２）である。同様に、イエローの基本スクリーンベクトルはＢａ＿ｙ＿Ｖ１（ｘ、ｙ）＝（２、２）、Ｂａ＿ｙ＿Ｖ２（ｘ、ｙ）＝（−２、２）、ブラックの基本スクリーンベクトルは、Ｂａ＿ｂｋ＿Ｖ１（ｘ、ｙ）＝（０、４）、Ｂａ＿ｙ＿Ｖ２（ｘ、ｙ）＝（−４、０）である。
【００５４】
ステップＳ２０４において、ラインスクリーン処理部３０２は画像データＤ＿ｃ、Ｄ＿ｍ、Ｄ＿ｙ、Ｄ＿ｂｋに対してラインスクリーン処理を行う。ラインスクリーン処理部１０７では、Ｄ＿ｃ、Ｄ＿ｍ、Ｄ＿ｙ、Ｄ＿ｂｋそれぞれについてラインスクリーン処理（１）および（２）を施し、１色あたり２つの異なるラインスクリーン２値データを出力する。具体的には、注目画素の画像データとラインスクリーン情報の注目画素に対応する閾値とを比較し、２値化する。ラインスクリーン情報はラインスクリーン情報テーブル３０４に格納されている。ＣＭＹＫ各色のラインスクリーン（１）情報は閾値Ｌ＿Ｔｈ＿ｃ（１）、Ｌ＿Ｔｈ＿ｍ（１）、Ｌ＿Ｔｈ＿ｙ（１）、Ｌ＿Ｔｈ＿ｂｋ（１）を有する。各ＣＭＹＫ各色のラインスクリーン（２）情報はＬ＿Ｔｈ＿ｃ（２）、Ｌ＿Ｔｈ＿ｍ（２）、Ｌ＿Ｔｈ＿ｙ（２）、Ｌ＿Ｔｈ＿ｂｋ（２）を有する。
【００５５】
ここでは、図４のラインスクリーン情報（１）４０３およびラインスクリーン情報（２）４０４をシアンのラインスクリーン処理に用いて次式のとおりに２値化する。
ラインスクリーン処理（１）
Ｄ＿ｃ  ＜  Ｌ＿Ｔｈ＿ｃ（１）のとき、Ｏｕｔ＿Ｌ＿ｃ（１）＝０    ・・・（１０）
Ｄ＿ｃ  ≧  Ｌ＿Ｔｈ＿ｃ（１）のとき、Ｏｕｔ＿Ｌ＿ｃ（１）＝２５５・・・（１１）
ラインスクリーン処理（２）
Ｄ＿ｃ  ＜  Ｌ＿Ｔｈ＿ｃ（２）のとき、Ｏｕｔ＿Ｌ＿ｃ（２）＝０    ・・・（１２）
Ｄ＿ｃ  ≧  Ｌ＿Ｔｈ＿ｃ（２）のとき、Ｏｕｔ＿Ｌ＿ｃ（２）＝２５５・・・（１３）
なお本実施例では、図４に示した通りように、シアンの各ラインスクリーンベクトルはＬ＿ｃ＿Ｖ（１）４１３は（ｘ、ｙ）＝（３、２）、Ｌ＿ｃ＿Ｖ（２）４１４は（ｘ、ｙ）＝（−２、３）と設定されている。すなわち、上述のラインスクリーン処理は、それぞれ１つのスクリーンベクトルを持っている。また、スクリーンベクトルＬ＿ｃ＿Ｖ（１）とＬ＿ｃ＿Ｖ（２）は、基本スクリーンベクトルＢａ＿ｃ＿Ｖ１、Ｂａ＿ｃ＿Ｖ２と同じ始点である。
【００５６】
マゼンタは、ラインスクリーンベクトルＬ＿ｍ＿Ｖ（１）（ｘ、ｙ）＝（２、３）、Ｌ＿ｍ＿Ｖ（２）、（ｘ、ｙ）＝（−３、２）をもつ２つのラインスクリーン処理を設定する。イエローはラインスクリーンベクトルＬ＿ｙ＿Ｖ（１）（ｘ、ｙ）＝（２、２）、Ｌ＿ｍ＿Ｖ（２）（ｘ、ｙ）＝（−２、２）をもつ２つのラインスクリーン処理を設定する。ブラックは、ラインスクリーンベクトルＬ＿ｂｋ＿Ｖ（１）（ｘ、ｙ）＝（０、４）、Ｌ＿ｍ＿Ｖ（２）（ｘ、ｙ）＝（−４、０）をもつ２つのラインスクリーン処理を設定する。
【００５７】
いずれの色も、式（１）を満たすラインスクリーンベクトルをもつラインスクリーン処理が設定される。さらに、いずれの色も、ラインスクリーンベクトルの始点は基本スクリーンベクトルの始点と同じである。すなわち、いずれの色も基本スクリーンベクトルとラインスクリーンベクトルの位相（位置）が同じである。
【００５８】
ステップＳ２０５において、評価値算出部１０９は画素ごとに各スクリーン処理結果の評価値を算出する。シアンを例にして説明するが、マゼンタ、イエロー、ブラックについても同様の処理を行う。
【００５９】
まず、基本スクリーン２値データＯｕｔ＿Ｂａ＿ｃについて、第１ＬＰＦ５０１によるフィルタ処理を行い、基本スクリーン低周波成分Ｏｕｔ＿Ｂａ＿ｃ＿ｆを算出する。
Ｏｕｔ＿Ｂａ＿ｃ＿ｆ＝Ｏｕｔ＿Ｂａ＿ｃ＊（ＬＰＦ＿１）      ・・・（１４）
ただし、＊はコンボリューションを示す
ＬＰＦ＿１は第１ローパスフィルタ
【００６０】
次に、画像データＤ＿ｃについて、第１ＬＰＦ５０２によるフィルタ処理を行い、第１画像データ低周波成分Ｄ＿ｃ＿ｆ＿１を算出する。
Ｄ＿ｃ＿ｆ＿１＝Ｄ＿ｃ＊（ＬＰＦ＿１）      ・・・（１５）
ただし、＊はコンボリューションを示す
ＬＰＦ＿１は第１ローパスフィルタ
なお、上記式（１５）では、式（１４）と同じローパスフィルタを用いている。
【００６１】
そして減算部５０３において、第１画像データ低周波成分Ｄ＿ｃ＿ｆ＿１と基本スクリーン低周波成分Ｏｕｔ＿Ｂａ＿ｃ＿ｆとの差分を出力する。さらに重み積算部５０４において、差分と重み係数ａ１（実数）とを積算し、基本スクリーン処理結果の評価値Ｐ＿Ｂａ＿ｃを算出する。
Ｐ＿Ｂａ＿ｃ＝（−Ｏｕｔ＿Ｂａ＿ｃ＿ｆ＋Ｄ＿ｃ＿ｆ＿１）×ａ１    ・・・（１６）
【００６２】
次に、ラインスクリーン（１）２値データＯｕｔ＿Ｌ＿ｃ（１）について、第２ＬＰＦ５０５によるフィルタ処理を行い、ラインスクリーン（１）低周波成分Ｏｕｔ＿Ｌ＿ｃ＿ｆ（１）を算出する。
Ｏｕｔ＿Ｌ＿ｃ＿ｆ（１）＝Ｏｕｔ＿Ｌ＿ｃ（１）＊（ＬＰＦ＿２）    ・・・（１７）
ただし、＊はコンボリューションを示す
ＬＰＦ＿２は第２ローパスフィルタ
【００６３】
また画像データＤ＿ｃにも、第２ＬＰＦ５０６によるフィルタ処理を行い、第２画像データ低周波成分Ｄ＿ｃ＿ｆ＿２を算出する。
Ｄ＿ｃ＿ｆ＿２＝Ｄ＿ｃ＊（ＬＰＦ＿２）      ・・・（１８）
ただし、＊はコンボリューションを示す
ＬＰＦ＿２は第２ローパスフィルタ
なお、上記式（１８）では、式（１７）と同じローパスフィルタを用いている。
【００６４】
そして減算部５０７において、第２画像データ低周波成分Ｄ＿ｃ＿ｆ＿２とラインスクリーン（１）低周波成分Ｏｕｔ＿Ｌ＿ｃ＿ｆ（１）との差分を出力する。さらに重み積算部５０８において、差分と重み係数ａ２（実数）とを積算しラインスクリーン（１）処理結果の評価値Ｐ＿Ｌ＿ｃ（１）を算出する。
Ｐ＿Ｌ＿ｃ（１）＝（−Ｏｕｔ＿Ｌ＿ｃ＿ｆ（１）＋Ｄ＿ｃ＿ｆ＿２）×ａ２    
・・・（１９）
【００６５】
同様に、ラインスクリーン（２）２値データＯｕｔ＿Ｌ＿ｃ（２）について、第３ＬＰＦ５１０によるフィルタ処理を行い、ラインスクリーン（２）低周波成分Ｏｕｔ＿Ｌ＿ｃ＿ｆ（２）を算出する。
Ｏｕｔ＿Ｌ＿ｃ＿ｆ（２）＝Ｏｕｔ＿Ｌ＿ｃ（２）＊（ＬＰＦ＿３）    ・・・（２０）
ただし、＊はコンボリューションを示す
ＬＰＦ＿３は第３ローパスフィルタ
画像データＤ＿ｃにも、第３ＬＰＦ５０９によるフィルタ処理を行い、第３画像データ低周波成分Ｄ＿ｃ＿ｆ＿３を算出する。
Ｄ＿ｃ＿ｆ＿３＝Ｄ＿ｃ＊（ＬＰＦ＿３）  ・・・（２１）
ただし、＊はコンボリューションを示す
ＬＰＦ＿３は第３ローパスフィルタ
なお、上記式（２１）では、式（２０）と同じローパスフィルタを用いている。
【００６６】
そして減算部５１１において、第３画像データ低周波成分Ｄ＿ｃ＿ｆ＿３とラインスクリーン（２）低周波成分Ｏｕｔ＿Ｌ＿ｃ＿ｆ（２）との差分を出力する。さらに重み積算部５１２において、差分と重み係数ａ３（実数）とを積算し、ラインスクリーン（２）処理結果の評価値Ｐ＿Ｌ＿ｃ（２）を算出する。
Ｐ＿Ｌ＿ｃ（２）＝（−Ｏｕｔ＿Ｌ＿ｃ＿ｆ（２）＋Ｄ＿ｃ＿ｆ＿３）×ａ３
・・・（２２）
【００６７】
以上で、評価値算出部１０６における処理が終了する。評価値は小さいほど再現性が高いと評価できる。なお、本実施例では積算部５０４、５０８、５１２の係数ａ１、ａ２、ａ３は１．０とする。ただし、１．０に限る必要はなく、正の実数であればよい。係数ａ１、ａ２、ａ３は１より大きい場合、誤差が大きくなるため評価値が悪くなる。また１より小さい場合、誤差が小さくなり評価値がよくなる。
【００６８】
ステップＳ２０６では、スクリーン情報生成パラメータ算出部１０７は、すべてのスクリーン処理結果の評価値をもとに、画素ごとに合成スクリーン情報を生成するためのパラメータを算出する。シアンを例にして説明するが、マゼンタ、イエロー、ブラックについても同様の処理を行う。
【００６９】
図５を用いて、スクリーン情報生成パラメータ算出部１０７にて行われる処理を説明する。まず、ラインスクリーン候補選択部５１３にて、候補となるラインスクリーン処理を選択する。具体的にはまず、各ラインスクリーン処理結果の評価値の絶対値をとり、比較する。ここでは、評価値の絶対値が小さいほうが再現性が高いことを示す。そしてより再現性が良いラインスクリーン処理を候補として選択する。ここで選択されたラインスクリーン処理の情報とその評価値をＬ＿ＳＣ＿ｆｌｇとＬ＿ＳＣ＿Ａｂｓとして保持する。
ｉｆ（Ａｂｓ（Ｐ＿Ｌ＿ｃ（１））＜Ａｂｓ（Ｐ＿Ｌ＿ｃ（２））＋ｑ）
Ｌ＿ＳＣ＿ｆｌｇ＿ｃ＝１
Ｌ＿ＳＣ＿Ａｂｓ＿ｃ＝Ａｂｓ（Ｐ＿Ｌ＿ｃ（１））
｝ｅｌｓｅ｛
Ｌ＿ＳＣ＿ｆｌｇ＿ｃ  ＝  ２
Ｌ＿ＳＣ＿Ａｂｓ＿ｃ  ＝  Ａｂｓ（Ｐ＿Ｌ＿ｃ（２））
｝                                          ・・・（２３）
【００７０】
本実施例ではｑ＝０．０としたが、ｑ＝０．１など値を持っていても良い。ｑが正値である場合は、ラインスクリーン処理（１）が優先的に選択される。ｑが負値である場合は、ラインスクリーン処理（２）が優先的に選択される。次に、スクリーン情報生成パラメータ算出部５１４にて、基本スクリーン情報とラインスクリーン情報の合成度合いを決定し、パラメータを算出する。まず、基本スクリーン処理結果の評価値Ｐ＿Ｂａ＿ｃの絶対値Ｂａ＿ＳＣ＿Ａｂｓ＿ｃを算出する。
Ｂａ＿ＳＣ＿Ａｂｓ＿ｃ＝Ａｂｓ（Ｐ＿Ｂａ＿ｃ）    ・・・（２４）
【００７１】
合成スクリーン情報を生成するためのパラメータＷ＿Ｂａ、Ｗ＿Ｌは以下の条件を満たす。
Ｗ＿Ｂａ＋Ｗ＿Ｌ＝１．０      ・・・（２５）
【００７２】
シアンのパラメータＷ＿Ｂａ＿ｃ、Ｗ＿Ｌ＿ｃは、Ｂａ＿ＳＣ＿Ａｂｓ＿ｃとＬ＿ＳＣ＿Ａｂｓ＿ｃとを用いて、図７に示すパラメータ算出テーブル５１５を参照することにより、算出する。パラメータ算出テーブル５１５はＣＭＹＫに対して共通して使用される。パラメータ算出テーブル５１５は２次元配列で管理されている。配列の横軸は、Ｂａ＿ＳＣ＿Ａｂｓを、配列の縦軸はＬ＿ＳＣ＿Ａｂｓを、表の値はＷ＿Ｂａを示している。配列の横軸、縦軸には、０．５、１、３、５、１０、５０、１００と記載されている。これは各評価値が、記載数値以下の場合に、Ｗ＿Ｂａの取る値の座標を示している。
【００７３】
例えば、Ｂａ＿ＳＣ＿Ａｂｓ＿ｃ＝３．３、Ｌ＿ＳＣ＿Ａｂｓ＿ｃ＝１．４の場合、Ｂａ＿ＳＣ＿Ａｂｓ＿ｃ≦５、Ｌ＿ＳＣ＿Ａｂｓ＿ｃ≦３を満たすので、Ｗ＿Ｂａ＿ｃ＝０．５となる。このとき、式（２５）の関係から、Ｗ＿Ｌ＿ｃ＝０．５となる。
【００７４】
次に、ステップＳ２０７において、合成スクリーン情報算出部１０８は、合成スクリーン情報を算出する。シアンを例にして説明するが、マゼンタ、イエロー、ブラックについても同様の処理を行う。
【００７５】
合成スクリーン情報を構成する閾値はパラメータＷ＿Ｂａ＿ｃとＷ＿Ｌ＿ｃを用いて、以下の式で生成される。
Ｍ＿Ｔｈ＿ｃ＝ｇ＿ｔ（Ｗ＿Ｂａ＿ｃ）×（Ｗ＿Ｂａ＿ｃ×Ｂａ＿Ｔｈ＿ｃ＋Ｗ＿Ｌ×Ｌ＿Ｔｈ＿ｃ（Ｌ＿ＳＣ＿ｆｌｇ＿ｃ））  ・・・（２６）
（なお、Ｌ＿ＳＣ＿ｆｌｇ＿ｃは、ｋ（本実施例では１または２）をとる。ｇ＿ｔ（Ｗ＿Ｂａ＿ｃ）は１．０）
【００７６】
ここで図８に合成スクリーン情報算出部の動作を示す。本実施例では式（２６）で算出されるＭ＿Ｔｈ＿ｃは、Ｂａ＿Ｔｈ＿ｃとＬ＿Ｔｈ＿ｃ（Ｌ＿ＳＣ＿ｆｌｇ＿ｃ）の線形結合で示され、かつパラメータの和は式（２５）に示すように、必ず１となる。Ｗ＿Ｂａ＝１の際（８０１）は、基本スクリーン情報の閾値Ｂａ＿Ｔｈ＿ｃがそのままＭ＿Ｔｈ＿ｃに代入される。反対に、Ｗ＿Ｌ＝１の際（８０３）は、選択されたラインスクリーン情報の閾値Ｌ＿Ｔｈ＿ｃがそのまま、Ｍ＿Ｔｈ＿ｃに代入される。０＜Ｗ＿Ｂａ＜１の際（８０２）は基本スクリーン情報の閾値Ｂａ＿Ｔｈ＿ｃとラインスクリーン情報の閾値Ｌ＿Ｔｈ＿ｃの合成値がＭ＿Ｔｈ＿ｃとなる。例えば、Ｗ＿Ｂａ＿ｃ＝０．５（Ｗ＿Ｌ＿ｃ＝０．５）の時は、Ｂａ＿Ｔｈ＿ｃとＬ＿Ｔｈ＿ｃ（Ｌ＿ＳＣ＿ｆｌｇ＿ｃ）の中間値がＭ＿Ｔｈ＿ｃに閾値となる。
【００７７】
なお、上記例では、式（２６）のようにｇ＿ｔ（Ｗ＿Ｂａ＿ｃ）＝１．０となる例を示したが、この例に限るものではない。例えば合成の比率（Ｗ＿Ｂａ＿ｃ）に応じて、ｇ＿ｔが変化しても良い（ｇ＿ｔはＷ＿Ｂａ＿ｃに応じて変化する正の実数）となっても良い。例えば、合成比率Ｗ＿Ｂａ＿ｃ＝０．５、Ｗ＿Ｌ＿ｃ＝０．５のときは、ｇ＿ｔ＝１．２となっても良いし、ｇ＿ｔ＝０．８となっても良い。
【００７８】
このようにする理由は、常に、ｇ＿ｔ＝１．０とすると、Ｗ＿Ｂａ＝０．５、Ｗ＿Ｌ＝０．５の時と、Ｗ＿Ｂａ＝１．０、Ｗ＿Ｌ＝０．０の時とで、出力されるドットの数が保存されない場合があるためである。そこで、あらかじめ合成比率によって、ｇ＿ｔ（Ｗ＿Ｂａ）が変わるように設定すると、どのような合成比率でも出力されるドットの数が保存される。
【００７９】
上記例では、シアンを例にシアンの合成スクリーン情報の閾値Ｍ＿Ｔｈ＿ｃの算出の例を示したが、式（２７）と同様の規則を用いて、マゼンタＭ＿Ｔｈ＿ｍ、イエローＭ＿Ｔｈ＿ｙ、ブラックＭ＿Ｔｈ＿ｂｋの合成スクリーン情報も算出する。
【００８０】
ステップＳ２０８にて、合成スクリーン処理部１０９は画像データＤ＿ｃ、Ｄ＿ｍ、Ｄ＿ｙ、Ｄ＿ｂｋに対して各色に対応した合成スクリーン情報を参照してスクリーン処理を行う。具体的には、注目画素の画像データと合成スクリーン情報算出部１０８にて算出された合成スクリーン情報の注目画素に対応する閾値を比較し、２値化する。シアンを例にすると以下のように記述できる。
Ｄ＿ｃ＜Ｍ＿Ｔｈ＿ｃのとき、Ｏｕｔ＿Ｍ＿ｃ＝０      ・・・（２７）
Ｄ＿ｃ≧Ｍ＿Ｔｈ＿ｃのとき、Ｏｕｔ＿Ｍ＿ｃ＝２５５  ・・・（２８）
【００８１】
同様に、マゼンタ、イエロー、ブラックに対しても算出した合成スクリーン情報に基づいてスクリーン処理を行う。
【００８２】
合成スクリーン処理部１０９で算出された合成スクリーン２値データはスクリーン画像格納バッファ１１０に格納され、出力端子１１１より画像形成装置２へ出力される。
以上により、画像処理が終了する。
【００８３】
本実施例では、各スクリーン処理結果の評価値に応じてドットスクリーン処理、ラインスクリーン処理、もしくはその中間のスクリーン処理が画素ごとに適用される。スクリーンを切り替えても生成されるドットの位置が滑らかに変化するのは、ラインスクリーンベクトルが式（１）を満たし、かつ基本スクリーンベクトルと始点が同じになるように設定したためである。これにより複数のスクリーンを画素ごとに用いても、視覚上好ましい２値化を実現できる。
【００８４】
また本実施例ではシアン、マゼンタ、イエロー、ブラックの各色は、基本スクリーン情報、ラインスクリーン情報ともに、色ごとに異なるスクリーンベクトルが設定されている。よって、算出された各色の合成スクリーン情報は、細線やエッジのない平坦部、細線部、エッジ部のいずれの領域でも、色ごとにスクリーンベクトルが異なる。従って、物理的なレジストレーションずれ（一般的に色ズレとよばれる）に対して、耐性があることは言うまでもない。
【００８５】
さらに本実施では、図７に示すパラメータ算出テーブル５１５を使用しているので、わずかなノイズが画像に含まれたとしても必要以上にスクリーンが切り替わらない。パラメータ算出テーブル５１５から明らかであるように、基本スクリーンの再現性が低い場合のみラインスクリーン処理を適用する。これは、基本スクリーン処理結果の再現劣化が僅かである場合は、常に基本スクリーン処理を採用することを意味する。画像上にノイズや微小なエッジが含まれている場合、基本スクリーン処理結果よりもラインスクリーン処理結果の方が再現性が高いとなる場合が多々ある。しかしその都度ラインスクリーン処理に切り替えると、出力の安定性が確保できない。よって、図７のように設定することは画像の安定出力にメリットがある。
【００８６】
上記に説明した本実施例１における処理の効果を図９、図１０、図１１に示す。図９は、細線画像を、図１０はエッジ画像、図１１は様々な周波数成分が含まれる画像のスクリーン処理結果の例である。
【００８７】
図９の基本スクリーン情報９０３を用いて細線画像９０１をスクリーン処理すると９０４が得られる。またラインスクリーン情報（１）９０６およびラインスクリーン情報（２）９０９によって入力画像９０１をスクリーン処理すると、それぞれ９０７、９１０が得られる。ここで合成スクリーン情報を参照したスクリーン処理結果９１３に着目すると、９０４で途切れた細線が十分再現されていることがわかる。
【００８８】
合成スクリーン情報９１２は、細線付近においてスクリーン情報が変化している。またその変化は、細線の方向（ベクトル）に対して、角度差の大きいラインスクリーン処理が適用されていることがわかる。
【００８９】
また一見すると、合成スクリーン処理が連続的かつ滑らかに変化していることは視認されづらいが、合成スクリーン情報の細線に着目すると、細線の幅よりも広い領域でスクリーン処理が変化している。これは、再現性評価の際にＬＰＦを用いて評価したためである。ＬＰＦによりフィルタ処理した結果をそれぞれ９０２、９０５、９０８、９１１に示す。ＬＰＦを用いることで、細線のみならず細線の周辺領域に渡って、細線の再現性を評価することが可能となり、合成スクリーン処理が連続的かつ滑らかに変化する。
【００９０】
角度４５°の細線に着目すると、局所的にラインスクリーン処理とドットスクリーン処理が互いに連続的かつ滑らかに変化していることが分かる。これは、ラインスクリーンを式（１）の条件に基づいて作成したことと、ラインスクリーンベクトルを基本スクリーンベクトルと始点が同じとなるよう設定したためである。さらには、式（２７）のように合成スクリーン情報を算出したことも理由に挙げられる。その結果、細線再現性の良好な処理結果９１３が得られる。
【００９１】
次に図１０のエッジ画像１００１について、基本スクリーン情報９０３、ラインスクリーン情報（１）９０６、ラインスクリーン情報（２）９０９によるスクリーン処理結果を１００２、１００３、１００４に示す。ここで合成スクリーン情報１００５による処理結果１００６と比較すると、１００３で発生しているエッジ部のジャギーが低減できていることがわかる。
【００９２】
合成スクリーン情報１００５に着目すると、エッジ部においてスクリーン処理が変化している。またその変化は、エッジの方向（ベクトル）に対して、角度差の大きいラインスクリーン処理が適用されている。
【００９３】
細線画像の場合と同様に、一見すると図１０でも、エッジ部において、合成スクリーン処理が連続的に、かつ滑らかに変化していることは視認されづらいが、エッジよりも広い領域で合成スクリーン処理が変化していることが分かる。これは、ＬＰＦを用いて評価したためである。ＬＰＦによりフィルタ処理した結果をそれぞれ１００７、１００８、１００９、１０１０示す。ＬＰＦを用いることで、エッジのみならず、エッジの周辺領域に渡ってエッジの再現性評価が可能となり、エッジの周辺領域に渡って合成スクリーンが変化する。
【００９４】
また、角度４５°のエッジに着目すると、局所的にラインスクリーン処理とドットスクリーン処理が互いに連続的かつ滑らかに変化している。これは、ラインスクリーンベクトルを式（１）の条件に基づいて作成したことと、かつ基本スクリーンベクトルと同じ始点に設定したことが理由に挙げられる。さらには、式（２６）のように合成スクリーン情報を算出したことが挙げられる。その結果、エッジ再現性の良好な処理結果１００６が得られる。
【００９５】
また、入力画像の細線およびエッジのない平坦部においては、安定して基本スクリーン処理による結果が得られている。これは、図７のパラメータ算出テーブルの設定による効果である。
【００９６】
図１１は様々な周波数成分が含まれる画像１１０１の効果を示している。基本スクリーン情報９０３、ラインスクリーン情報（１）９０６、ラインスクリーン情報（２）９０９によるスクリーン処理結果はそれぞれ１１０２、１１０３、１１０４である。ここで合成スクリーン情報１１０５を用いたスクリーン処理結果１１０６と比較すると、１１０２で発生したモアレが好適に低減できている。
【００９７】
合成スクリーン情報１１０６に着目すると、１１０２でモアレが発生している領域においてスクリーン処理が変化している。またその変化は、１１０１パターンに対して、角度差の大きいラインスクリーン処理が適用されている。
【００９８】
以上実施例１によれば、スクリーン処理結果を適切に評価してスクリーン処理を制御することにより、高品質な画像再現を実現できる。
【００９９】
（実施例２）
実施例１では、基本スクリーン処理としてドットスクリーン情報を用いたドットスクリーン処理を行う場合について説明した。実施例２では、基本スクリーン処理としてラインスクリーン情報を用いたラインスクリーン処理を行う場合について説明する。実施例２の基本的な構成は、スクリーン処理部１０５を除いて実施例１と同様である。
【０１００】
通常、ラインスクリーン情報のスクリーンベクトルは１つである。しかしながら、基本スクリーン処理としてラインスクリーン情報を参照する場合は、ラインスクリーンベクトルに加えて仮想スクリーンベクトルを定義する。以下、その定義の詳細について説明する。
【０１０１】
実施例２では、図１２に示すラインスクリーン情報１２０１を用いるラインスクリーン処理を基本スクリーン処理とする。前述の通り、ラインスクリーン情報１２０１はライン方向と垂直な（ｘ、ｙ）＝（−２、３）をスクリーンベクトル１２０４として有する。ここで、スクリーンベクトル１２０４と始点が同じで、ライン方向と平行なスクリーンベクトル１２０５（ｘ、ｙ）＝（３、２）を仮想スクリーンベクトルと定義する。すなわち、スクリーンベクトル１２０４と仮想スクリーンベクトル１２０５は直交する。また、仮想スクリーンベクトル１２０５の長さはスクリーンベクトル１２０４と同じとする。なお、仮想スクリーンベクトルの長さについては、これに限るものではない。以上のようにラインスクリーン情報１２０１に対して仮想スクリーンベクトルを定義する。そして、スクリーンベクトル１２０４と仮想スクリーンベクトル１２０５をそれぞれ、基本スクリーンベクトルＢａ＿ｃ＿Ｖ１およびＢａ＿ｃ＿Ｖ２とする。
【０１０２】
また、マゼンタの基本スクリーン処理に用いられるラインスクリーン情報はスクリーンベクトルＢａ＿ｍ＿Ｖ１（ｘ、ｙ）＝（２、３）をもつ。また、イエロー、ブラックは、スクリーンベクトルＢａ＿ｙ＿Ｖ１（ｘ、ｙ）＝（−２、２）、Ｂａ＿ｂｋ＿Ｖ１（ｘ、ｙ）＝（０、４）をもつ。
【０１０３】
さらにマゼンタ、イエロー、ブラックについて、ライン方向と平行の仮想スクリーンベクトルとしてＢａ＿ｍ＿Ｖ２（ｘ、ｙ）＝（−３、２）、Ｂａ＿ｙ＿Ｖ２（ｘ、ｙ）＝（２、２）、Ｂａ＿ｂｋ＿Ｖ２（ｘ、ｙ）＝（−４、０）が定義されるものとする。本実施例では、各仮想スクリーンベクトルＢａ＿ｍ＿Ｖ２、Ｂａ＿ｙ＿Ｖ２、Ｂａ＿ｂｋ＿Ｖ２の長さは、それぞれＢａ＿ｍ＿Ｖ１、Ｂａ＿ｙ＿Ｖ１、Ｂａ＿ｂｋ＿Ｖ１と同じとする。しかしながら、ベクトルの長さについては、これに限るものではない。
【０１０４】
ラインスクリーン処理部１０７では、画像データＤ＿ｃ、Ｄ＿ｍ、Ｄ＿ｙ、Ｄ＿ｂｋそれぞれについて、１色あたり２つの異なるラインスクリーン処理を施す。
【０１０５】
各色のラインスクリーン情報３０４には、各ラインスクリーン情報が格納され、それぞれ閾値Ｌ＿Ｔｈ＿ｃ（ｋ）、Ｌ＿Ｔｈ＿ｍ（ｋ）、Ｌ＿Ｔｈ＿ｙ（ｋ）、Ｌ＿Ｔｈ＿ｂｋ（ｋ）（ｋは１または２）を有する。
【０１０６】
以下、図１３にシアンのラインスクリーン処理部３０４による２値化（１３０４、１３０５）の概要を示す。図１３ではラインスクリーン情報（１）のスクリーンベクトルＬ＿ｃ＿Ｖ（１）１３０６は（ｘ、ｙ）＝（３、２）、ラインスクリーン情報（２）のＬ＿ｃ＿Ｖ（２）１３０７は（ｘ、ｙ）＝（１、５）である。これらラインスクリーンベクトルＬ＿ｃ＿Ｖ（１）、Ｌ＿ｃ＿Ｖ（２）の始点は、基本スクリーンベクトルＢａ＿ｃ＿Ｖ１、Ｂａ＿ｃ＿Ｖ２の始点と同じであり、式（１）を満たす。各ラインスクリーンベクトルは
Ｌ＿ｃ＿Ｖ（１）＝０×Ｂａ＿ｃ＿Ｖ１＋１×Ｂａ＿ｃ＿Ｖ２    ・・・（２７）
（α＝０、β＝１）
Ｌ＿ｃ＿Ｖ（２）＝１×Ｂａ＿ｃ＿Ｖ１＋１×Ｂａ＿ｃ＿Ｖ２    ・・・（２８）
（α＝１、β＝１）
となっている。
【０１０７】
マゼンタ、イエロー、ブラックについても同様に２つの異なるラインスクリーン処理を設定する。本実施例では、マゼンタについては、Ｌ＿ｍ＿Ｖ（１）（ｘ、ｙ）＝（−３、２）、Ｌ＿ｍ＿Ｖ（２）、（ｘ、ｙ）＝（−１、５）と設定する。また、イエローについてはＬ＿ｙ＿Ｖ（１）（ｘ、ｙ）＝（２、２）、Ｌ＿ｙ＿Ｖ（２）（ｘ、ｙ）＝（０、４）と設定する。また、ブラックについては、Ｌ＿ｂｋ＿Ｖ（１）（ｘ、ｙ）＝（−４、０）、Ｌ＿ｂｋ＿Ｖ（２）（ｘ、ｙ）＝（−４、４）と設定する。
【０１０８】
以上のスクリーン処理部１０５は各色に対してそれぞれ複数のスクリーン処理をおこなう。評価値の算出、ラインスクリーン候補の選択、合成スクリーン情報の生成などについては、実施例１と同様に図２のフローに従って、画像処理をする。
【０１０９】
上記に説明した本実施例２における処理の効果を図１４、図１５、図１６に示す。図１４は細線画像を、図１５はエッジ画像、図１６は様々な周波数成分が含まれる画像の処理結果の例である。いずれの画像においても、本実施例によって基本スクリーン処理のみを施した場合よりも、好適な２値データを出力できていることがわかる。
【０１１０】
以上実施例２では、基本スクリーン処理としてラインスクリーン処理を行う例について説明した。本実施例では、実施例１と同様に基本スクリーン処理を除くラインスクリーン処理を２つの場合を例として説明した。本発明において、スクリーン処理部１０５では１色に対して少なくとも２つ以上の異なるラインスクリーン処理を施すのが好適である。すなわち基本スクリーン処理にドットスクリーン処理が設定されている場合は、ラインスクリーン処理部３０２は各色に対して２つ以上の異なるラインスクリーン情報テーブル３０４を用いて、２つの異なるスクリーン処理を行うのがよい。また基本スクリーン処理がラインスクリーン処理である場合は、ラインスクリーン処理部３０２には各色に対して少なくとも１つ以上のラインスクリーン情報３０４が保持されているのがよい。
【０１１１】
ただし、ラインスクリーン処理部で施すラインスクリーン処理は１つでもよい。特にラインスクリーンベクトルが基本スクリーンベクトルの線形結合で表され、かつ結合係数がα＝βであれば、十分に効果を得ることができる。
【０１１２】
以上説明した通り、基本スクリーン処理としてラインスクリーン処理を用いた場合、スクリーンベクトルとして、ライン方向と平行な仮想スクリーンベクトルを新たに定義する。これにより基本スクリーン処理としてラインスクリーン処理を用いた場合でも、実施例１と同様の効果を得ることができる。
【０１１３】
（変形例１）
前述の実施例および変形例では、画素ごとに評価値を算出する例を示したが、これに限るものではない。変形例１は、実施例１の構成において、評価値算出部１０６を変形した例を示す。具体的には、基本スクリーン処理で用いられるドットスクリーン情報の網点単位領域で各スクリーン処理結果の評価値を算出する変形例を示す。
【０１１４】
網点単位領域とは、基本スクリーンベクトルＢａ＿ｃ＿Ｖ１、およびＢａ＿ｃ＿Ｖ２で囲まれた平行四辺形の領域のことで、図１７の同一色で塗られた領域１７０２である。
【０１１５】
まず、各ラインスクリーン処理において、注目する網点単位領域における評価値の絶対値の総和から、各ラインスクリーン処理結果の評価値を算出する。そして、その網点単位領域における評価値に基づいて、各ラインスクリーン処理結果の再現性を比較する。より再現性の高い処理結果を出力したラインスクリーン処理を候補として選択し、候補ラインスクリーン処理結果の評価値の総和を保持しておく。具体的には次式（２３−ａ）のように示される。
ｉｆ（Σ｛Ａｂｓ（Ｐ＿Ｌ＿ｃ（１））｝＜Σ｛Ａｂｓ（Ｐ＿Ｌ＿ｃ（２））｝＋ｑ）
Ｌ＿ＳＣ＿ｆｌｇ＝１
Ｌ＿ＳＣ＿Ａｂｓ＝Σ｛Ａｂｓ（Ｐ＿Ｌ＿ｃ（１））｝
｝ｅｌｓｅ｛
Ｌ＿ＳＣ＿ｆｌｇ＝２
Ｌ＿ＳＣ＿Ａｂｓ＝Σ｛Ａｂｓ（Ｐ＿Ｌ＿ｃ（２））｝
｝                                            ・・・（２３−ａ）
【０１１６】
前述のように、ｑが正値である場合は、ラインスクリーン処理（１）が優先的に選択される。ｑが負値である場合は、ラインスクリーン処理（２）が優先的に選択される。
【０１１７】
ここでΣは網点単位領域に含まれる各画素の評価値の絶対値の和を取ることを示している。例えばΣ｛Ａｂｓ（Ｐ＿Ｌ＿ｃ（１））は基本スクリーン網点単位領域のラインスクリーン処理（１）の評価値を、Σ｛Ａｂｓ（Ｐ＿Ｌ＿ｃ（２））は基本スクリーン網点単位領域のラインスクリーン処理（２）の評価値を示す。
【０１１８】
次に、ドットスクリーン処理結果についても注目する網点単位領域における評価値の絶対値の総和を算出し、評価値とする。
Ｂａ＿ＳＣ＿Ａｂｓ＝Σ｛Ａｂｓ（Ｐ＿Ｂａ＿ｃ）｝      …（２４−ａ）
【０１１９】
以降は実施例１と同様に、パラメータ算出テーブルにしたがって、合成スクリーン情報を生成すればよい。
【０１２０】
なお、上述の網点領域のｘｙ座標を算出する際には、Ｈｏｌｌａｄａｙのアルゴリズムを用いると効率的である。Ｈｏｌｌａｄａｙのアルゴリズムは、スクリーンベクトルＢａ＿ｃ＿Ｖ１、Ｂａ＿ｃ＿Ｖ２が与えられた時、重複なく網点領域を敷き詰めるための網点の画素数Ｎｈと、網点の相対的な座標位置Ｈ、Ｌ、Ｓを示すアルゴリズムである。
【０１２１】
ここで、Ｌは、始点と同一ｙ座標で同じ網点が与えられるｘ方向の相対位置Ｌを、Ｈ、Ｓは、Ｈライン下（ｙ＋Ｈ座標）おいて、同じ網点が与えられるｘ方向の相対位置Ｓを示す。
Ｂａ＿ｃ＿Ｖ１（ｘ１、ｙ１）＝（３、２）、Ｂａ＿ｃ＿Ｖ２（ｘ２、ｙ２）＝（−２、３）の場合、Ｈｏｌｌａｄａｙのアルゴリズムを用いると、Ｎｈ、Ｈ、Ｌ、Ｓは以下のように算出できる。
Ｎｈ＝ｘ１・ｙ２−ｙ１・ｘ２＝１３
Ｈ＝ＧＣＤ（ｙ１、ｙ２）＝１
Ｌ＝Ｎｈ／Ｈ＝１３
Ｓ＝８
【０１２２】
この詳細についてはＨｅｎｒｙ  Ｒ．  Ｋａｎｇ著  Ｄｉｇｉｔａｌ  Ｃｏｌｏｒ  Ｈａｌｆｔｏｎｉｎｇ、ＩＥＥＥ  Ｐｒｅｓｓ／ＳＰＩＥ  Ｐｒｅｓｓ、Ｐ２３１〜２３３に記載されている。Ｈｏｌｌａｄａｙのアルゴリズムは公知なので、詳細は省略する。
【０１２３】
基準となる網点の位置を図２０の■（１７０３）とすると、●（１７０４）は■に対して（０、Ｌ）座標だけ相対的に移動したものとなる。すなわち、同一ｙ座標において、Ｌ＝１３隣に、同じ網点が形成されることを示している。一方△（１７０５）は、■に対して、（Ｈ、Ｓ）座標だけ相対的に移動したものとなる。すなわち、基準に対しＨライン下で、Ｓ＝８隣に、同じ網点が形成されることを示している。このようにすれば、同一ｙ座標や、Ｈライン下の網点の繰り返し座標を効率的に求めることができる。
【０１２４】
また、上記例では、網点単位領域での評価値を算出した例を示したが、基本スクリーンの網点単位の整数分の１単位や、整数倍の単位で評価値を算出しても良い。このときは、Ｈｏｌｌａｄａｙアルゴリズムで算出した網点の座標の整数分の１や整数倍を用いれば容易に計算できる。
【０１２５】
上記例では、シアンの場合について述べたが、同様にマゼンタ、イエロー、ブラックに対しても同様に網点単位での評価値を算出しても良い。
【０１２６】
以上のように、画素ごとではなく、網点単位領域ごとに各スクリーン処理結果の再現性を比較し、網点単位領域ごとにスクリーンを合成することにより、粒状性にもすぐれた画像を得ることができる。
【０１２７】
（変形例２）
変形例２は、合成スクリーン情報生成の変形例を示す。
まず、実施例１、２では図７のパラメータ算出テーブルを用いたが、他にも図１８のようなパラメータ算出テーブルがある。図７のテーブルによれば、基本スクリーン処理結果の評価値Ｂａ＿ＳＣ＿Ａｂｓがある値以上の場合は、ラインスクリーン処理結果の評価値に関わらずラインスクリーン処理を適用する。図１８のパラメータ算出テーブルでは、基本スクリーン処理結果の評価値のみならず、ラインスクリーン処理結果の評価値も考慮してパラメータを設定している。このパラメータ算出テーブルによれば、基本スクリーン処理の処理結果の評価値とラインスクリーン処理の処理結果の評価値が、いずれも悪い場合には基本スクリーン処理の閾値が設定される。これにより、スクリーンが過剰に切り替わり、画像の安定性が失われてしまうのを防止できる。
【０１２８】
なお、パラメータＷ＿ＢａおよびＷ＿Ｌのどちらかが０の場合、基本スクリーンの閾値またはラインスクリーンの閾値の一方を選択することと同じである。このように複数スクリーンのうち１つのスクリーンの閾値をそのまま閾値として用いる画素又は領域では、再度スクリーン処理しなくても、すでに得た処理結果をそのまま出力してもよい。
【０１２９】
さらに、図７、図１８にはパラメータ算出テーブルが７×７の二次元の正方配列で設定された例を示したが、これに限るものではない。例えば、７×７未満であっても良いし、８×８以上であってもよい。その他、７×３や、３×１など、長方配列であってもよい。さらにパラメータ算出テーブルは２次元に限らず、３次元であってもよい。また、図７、１８ともに、パラメータの値は１．０、０．５、０．０の３状態についての例を示したが、その他の実数値であっても良い。例えば、０．５の変わりに、０．１、０．２、０．８、０．９の値が格納されても良い。
【０１３０】
また、実施例１および２では、合成スクリーン情報算出部１０８は、合成スクリーン情報を式（２６）のように、基本スクリーンとラインスクリーン情報の線形結合によって求める例を示したが、本発明の構成要素はこれに限るものではない。細線やエッジのない領域では基本スクリーン処理を、細線やエッジ部ではラインスクリーン処理を、細線、エッジ部の中間では基本スクリーン処理とラインスクリーン処理の中間処理を適用するような規則であればよい。
【０１３１】
例えば、各スクリーン処理結果に応じたパラメータに従って重みづけされた要素値を算出する。そしてこの要素値の比較を行い、小さい値を採用してもよい。この場合は、式（２６）は以下の式（２６−ｂ）として示されてもよい。
ＩＦ（Ｗ＿Ｂａ＞０．５）｛
ｙ＿Ｂ＝１．０
ｙ＿Ｌ＝１．０−２．０×（Ｗ＿Ｂａ−０．５）
Ｔ＿Ｂ＝ｙ＿Ｂ×Ｂａ＿Ｔｈ＿ｃ／２５５．０
Ｔ＿Ｌ＝ｙ＿Ｌ×Ｌ＿Ｔｈ（Ｌ＿ＳＣ＿ｆｌｇ）／２５５．０
＋２．０×（Ｗ＿Ｂａ−０．５）
｝ｅｌｓｅ｛
ｙ＿Ｂ＝２．０×Ｗ＿Ｂａ
ｙ＿Ｌ＝１．０
Ｔ＿Ｂ＝ｙ＿Ｂ×Ｂａ＿Ｔｈ／２５５．０＋１．０−Ｗ＿Ｂａ×２．０
Ｔ＿Ｌ＝ｙ＿Ｌ×Ｌ＿Ｔｈ（Ｌ＿ＳＣ＿ｆｌｇ）／２５５．０
｝                                                      ・・・（２６−ａ）
【０１３２】
なお、１≦Ｂａ＿Ｔｈ≦２５５、１≦Ｌ＿Ｔｈ（Ｌ＿ＳＣ＿ｆｌｇ）≦２５５の値をとる。
【０１３３】
上述の式（２６−ａ）は、Ｗ＿Ｂａの値に応じて、要素値Ｔ＿Ｂ、Ｔ＿Ｌの値が変化することを示す。図１９に式（２６−ａ）によって要素値Ｔ＿Ｂ、Ｔ＿Ｌの変化の様子を示す。このようにして算出された要素値Ｔ＿Ｂ、Ｔ＿Ｌに応じて、閾値を得る。
ＩＦ（Ｔ＿Ｂ＞Ｔ＿Ｌ）｛
Ｍ＿Ｔｈ＝Ｔ＿Ｌ×２５５．０×ｇ＿ｔ（Ｗ＿Ｂａ）
｝ｅｌｓｅ｛
Ｍ＿Ｔｈ＝Ｔ＿Ｂ×２５５．０×ｇ＿ｔ（Ｗ＿Ｂａ）
｝                                ・・・（２６−ｂ）
【０１３４】
なお上記ｇ＿ｔ（Ｗ＿Ｂａ）については、合成比率Ｗ＿Ｂａに応じて変化するゲイン値である。出力されるドットの数は保存されない場合があるため、どのような合成比率でも出力されるドットの数が保存されるように、あらかじめ、合成比率によってｇ＿ｔ（Ｗ＿Ｂａ）が変わるように設定すると好ましい。
【０１３５】
その他、基本スクリーン処理とラインスクリーン処理の掛け算で算出してもよい。以下に前述の要素値を用いて掛け算によって合成スクリーン情報を生成する場合を示し、このとき式（２６）は以下の式（２６−ｅ）として示される。
ＩＦ（Ｗ＿Ｂａ＞０．５）｛
ｙ＿Ｂ＝１．０
ｙ＿Ｌ＝１．０−２．０×（Ｗ＿Ｂａ−０．５）
Ｔ＿Ｂ＝ｙ＿Ｂ×Ｂａ＿Ｔｈ／２５５．０
Ｔ＿Ｌ＝ｙ＿Ｌ×Ｌ＿Ｔｈ（Ｌ＿ＳＣ＿ｆｌｇ）／２５５．０
＋２．０×（Ｗ＿Ｂａ−０．５）
ｇ＿Ｂ＝０．５
ｇ＿Ｌ＝Ｗ＿Ｂａ
｝ｅｌｓｅ｛
ｙ＿Ｂ＝２．０×Ｗ＿Ｂａ
ｙ＿Ｌ＝１．０
Ｔ＿Ｂ＝ｙ＿Ｂ×Ｂａ＿Ｔｈ／２５５．０＋１．０−Ｗ＿Ｂａ×２．０
Ｔ＿Ｌ＝ｙ＿Ｌ×Ｌ＿Ｔｈ（Ｌ＿ＳＣ＿ｆｌｇ）／２５５．０
ｇ＿Ｂ＝１．０−Ｗ＿Ｂａ
ｇ＿Ｌ＝０．５
｝                                    ・・・（２６−ｃ）
【０１３６】
なお、１≦Ｂａ＿Ｔｈ≦２５５、１≦Ｌ＿Ｔｈ（Ｌ＿ＳＣ＿ｆｌｇ）≦２５５の値をとるものとする。
ｇ＿ｔ＝０．５／（ｇ＿Ｂ×ｇ＿Ｌ）            ・・・（２６−ｄ）
Ｍ＿Ｔｈ＝Ｔ＿Ｂ×Ｔ＿Ｌ×ｇ＿ｔ×２５５．０  ・・・（２６−ｅ）
上述の式（２６−ｃ）（２６−ｄ）は、Ｗ＿Ｂａの値に応じて、要素値Ｔ＿Ｂ、Ｔ＿Ｌおよびｇ＿ｔの値が変化することを示す。図２０に式（２６−ｃ）（２６−ｄ）によってＴ＿Ｂ、Ｔ＿Ｌ、ｇ＿ｔの変化の様子を示す。
【０１３７】
なお、ｇ＿ｔは、どのような合成比率でも、出力されるドットの数が保存されるようにするためのゲイン値である。ｇ＿ｔは、合成スクリーン情報の平均値を一定に保ち、出力されるドットの数が保存されるようになる。単に基本スクリーン情報とラインスクリーン情報の掛け算を行って合成スクリーンを生成すると、合成スクリーン情報の平均的値が保存されない場合がある。例えば、Ｗ＿Ｂａ＝１（２００１）のＴ＿Ｌは常に１．０となるが、Ｗ＿Ｂａ＝０．５（２００３）のＴ＿Ｌは平均０．５となってしまう。よって、Ｗ＿Ｂａ＝０．５の時はゲインｇ＿ｔ＝２．０をかけることで、合成スクリーン情報の平均値を一定にする。ただしｇ＿ｔの計算はこれに限るものではなく、合成比率Ｗ＿Ｂａに応じて変化するものであってもよい。
【０１３８】
（変形例３）
前述の実施例および変形例での基本スクリーン情報とラインスクリーン情報はそれぞれ、各画素位置に対応した閾値からなる閾値群を保持しておく例を説明している。しかしながら、閾値群をそのまま保持しておかず、リアルタイムに演算で求めても良い。リアルタイムに演算で求める場合は、スクリーンベクトル情報などを、基本スクリーン情報３０３、ラインスクリーン情報３０４に保持しておけばよい。また、合成スクリーン情報算出部１０８は、各スクリーン処理結果の評価値に応じてパラメータを設定し、そのつど合成スクリーン情報を算出する例を示した。しかしながら、あらかじめ合成したスクリーン処理を用意しておき、評価値に従ってスクリーン処理を切り替える方法でもよい。具体的には、基本スクリーン情報とラインスクリーン情報の他にそれらを合成した中間スクリーン情報を用意しておく。そして、各スクリーン処理結果の評価値に応じて、基本スクリーン、ラインスクリーン、中間スクリーンのうちいずれかを選択する。この方法では、評価値算出部１０６から評価値が出力されるたびに合成スクリーン情報を生成しなくてもよい。
【０１３９】
上記実施例中にラインスクリーン処理に参照されるスクリーンベクトルの設定についていくつか例を示したが、これに限られるものではなく、式（１）を満たすスクリーンベクトルをもつスクリーン処理されればよい。
たとえば、その他のラインスクリーンベクトルとして、
Ｌ＿ｃ＿Ｖ＝１／２×Ｂａ＿ｃ＿Ｖ１＋１／２×Ｂａ＿ｃ＿Ｖ２  ・・・（２９）
（α＝１／２、β＝１／２）
Ｌ＿ｃ＿Ｖ＝１×Ｂａ＿ｃ＿Ｖ１＋１×Ｂａ＿ｃ＿Ｖ２          ・・・（３０）
（α＝１、β＝１）
がある。ただし、式（２９）に示した例のように、結合係数が整数の逆数、つまり小数となる場合は、注意が必要である。このときは、単純なデジタル格子上にスクリーンベクトルが設定できない。ラインスクリーンベクトルが小数となる場合は、印刷スクリーンでよく用いられているスーパーセルによるスクリーンを用いる。スーパーセルによるスクリーンは公知であるため、詳細は省略する。
【０１４０】
（変形例４）
前述の実施例および変形例では、合成スクリーン情報を生成するためのパラメータを決定する際に、全てのスクリーン処理結果に対して評価値を算出する場合を示した。しかし、図２１に示すように、基本スクリーン処理結果のみ評価値を算出する例も本発明の構成となる。具体的には、これまで示したのと同じように基本スクリーン処理を施した２値データにＬＰＦを用いてフィルタ処理を行い、基本スクリーン処理結果の評価値を算出する。そして、基本スクリーン処理結果の評価値が所定値を超えた場合、ラインスクリーン処理を採用する。また評価値が所定値付近の場合は、基本スクリーン情報とラインスクリーン情報の中間スクリーン情報を参照してスクリーン処理するような構成になっていればよい。
【０１４１】
（変形例５）
前述の実施例および変形例では、評価値を算出するために、入力画像データに対してのＬＰＦ処理、および、スクリーン処理後の２値データに対してのＬＰＦ処理と２回のＬＰＦ処理が必要であった。しかしながら、必ずしもＬＰＦを２回かける必要はない。例えば図２２にＬＰＦ処理を１回施すことで評価値を算出する構成例を示す。図２２では、入力画像データからスクリーン処理後の２値データを減算し、後にＬＰＦによるフィルタ処理をする。このようにしても、実施例１、２と同様の評価値を算出できる。
【０１４２】
（変形例６）
また、以上の実施例では、再現性評価値１０６は実際にスクリーン処理を行い、入力画像データとの差分を求めることで評価値の算出を行っていた。しかしながら、必ずしも評価値を求めるために実際にスクリーン処理を行う必要はない。例えば図２３に、実際のスクリーン処理を行わずにスクリーン処理後二値データに近似したデータを算出する疑似的なスクリーン処理方法を示す。図２３の２３０１は、実際のスクリーン処理をした場合を、２３０２は擬似的にスクリーン処理を行った場合を示している。疑似的にスクリーン処理をする場合、実際のスクリーン周波数と同じ周波数の１、−１の符号反転データと画像データの積を取る。これにより、実際のスクリーン処理後の周波数に変調することが可能である。また、２３０２の出力データは、平均０の信号を取り出すことができる。以上の方法によれば、実際にスクリーン処理を行わずに擬似的に評価値を算出可能である。
【０１４３】
図２４は、擬似スクリーン処理を用いて本発明を実施する例を示す。図２４の構成では、実際のスクリーン処理結果とは多少異なるが、実際のスクリーン処理結果と概ね等しい評価値を算出することが可能である。
【０１４４】
また、図２４に示す構成例では、擬似スクリーン処理データが平均０となるため、入力画像データとの差分を取る必要はない。上記のようにすると、少ないＬＰＦで、実際に入力画像データとの差分を取らなくても、入力画像データの低周波成分とスクリーン処理結果の低周波成分との差の近似値が得られ、評価値を算出することができる。
【０１４５】
上記実施例では、２値出力となるスクリーン処理における例を示したが、２値以上の出力となるスクリーン処理に対しても同様に適用してもよい。
【０１４６】
本発明は、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施形態をとることが可能である。複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４７】
尚本発明は、ソフトウェアのプログラムを、システムや装置に直接あるいは遠隔から供給し、そのシステムや装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。この場合のプログラムとは、本発明に記載の機能を実現するためのプログラムである。
【０１４８】
（変形例７）
前述の実施例および変形例では、非細線・非エッジ部と、細線・エッジ部の属性データがあらかじめ与えられない場合を前提として、画像データの全ての画素について評価値を算出し、該評価値を元に、スクリーン合成パラメータを算出した。しかしながら、属性データや領域判定情報によりあらかじめ画像特徴が与えられている場合に、画像特徴に応じて本実施例によるスクリーン処理を施してもよい。例えば細線・エッジ部の属性データが与えられている場合は、属性データ領域のみ評価値を算出し、評価値に応じたスクリーン合成パラメータを算出して、合成スクリーンによる処理を行ってもよい。
【０１４９】
更には逆に、特定領域のみ本実施例によるスクリーン処理を施さないようにする構成も考えられる。例えば、人物領域・顔領域・ノイズの多い領域などの領域判定情報が得られる場合には、該当領域に対してのみ、上記実施例の合成スクリーンによるスクリーン処理を行わないなどとする例である。
【図１】
0005562163.tif 000002
【図２】
0005562163.tif 000003
【図３】
0005562163.tif 000004
【図４】
0005562163.tif 000005
【図５】
0005562163.tif 000006
【図６】
0005562163.tif 000007
【図７】
0005562163.tif 000008
【図８】
0005562163.tif 000009
【図９】
0005562163.tif 000010
【図１０】
0005562163.tif 000011
【図１１】
0005562163.tif 000012
【図１２】
0005562163.tif 000013
【図１３】
0005562163.tif 000014
【図１４】
0005562163.tif 000015
【図１５】
0005562163.tif 000016
【図１６】
0005562163.tif 000017
【図１７】
0005562163.tif 000018
【図１８】
0005562163.tif 000019
【図１９】
0005562163.tif 000020
【図２０】
0005562163.tif 000021
【図２１】
0005562163.tif 000022
【図２２】
0005562163.tif 000023
【図２３】
0005562163.tif 000024
【図２４】
0005562163.tif 000025