(57)【要約】【課題】  簡易な方法によりスクリーン処理を適切に補正し、良好なハーフトーン処理結果を出力する。【解決手段】  上記課題を解決するために、本発明の画像処理装置は、画像データに対してスクリーン処理により第一の量子化データを生成する第一の量子化手段と、前記画像データの低周波成分と前記第一の量子化手段で得られたスクリーン処理後データの低周波成分との差分を算出する差分算出手段と、前記差分に応じて、前記第一の量子化手段による結果または所定値の何れかを出力する出力手段と、前記第一の量子化データと前記差分の和から前記出力手段による出力データを引いた値に対して、前記第一の量子化手段とは異なる方法により量子化し、第二の量子化データを生成する第二の量子化手段と、前記第二の量子化データを前記第一の量子化データに加算する加算手段とを有する。【選択図】  図１
2013021400.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対してスクリーン処理により第一の量子化データを生成する第一の量子化手段と、
前記画像データの低周波成分と前記第一の量子化手段で得られたスクリーン処理後データの低周波成分との差分を算出する差分算出手段と、
前記差分に応じて、前記第一の量子化手段による結果または所定値の何れかを出力する出力手段と、
前記第一の量子化データと前記差分の和から前記出力手段による出力データを引いた値に対して、前記第一の量子化手段とは異なる方法により量子化し、第二の量子化データを生成する第二の量子化手段と、
前記第二の量子化データを前記第一の量子化データに加算する加算手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記出力手段は、画素ごとに前記差分の絶対値が小さい場合は前記第一の量子化手段による結果を出力し、前記差分の絶対値が大きい場合は前記所定値を出力する請求項１に記載の画像処理装置。
【請求項３】
前記所定値は、０付近の値である請求項１または２に記載の画像処理装置。
【請求項４】
前記出力手段は、前記差分が負の場合には前記第一量子化データと前記差分の和以下の値を出力し、前記差分が０以上で所定閾値未満の場合には前記第一量子化データを出力し、前記差分が所定閾値以上の場合には前記所定値を出力することを特徴とする請求１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記第二の量子化手段は、誤差拡散法を用いる請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記第二の量子化手段は、スクリーン処理を用いる請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項７】
前記差分算出手段は、前記画像データに対してフィルタ処理した結果と、前記第一の量子化データに対してフィルタ処理した結果とを減算することにより、前記差分を算出する請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
前記差分算出手段は、前記画像データと前記第一の量子化データとを減算した後にフィルタ処理することにより、前記差分を算出する請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項９】
前記出力手段は、前記差分が所定範囲外の場合に、補正スクリーン画素値の表現する濃度を０として、前記スクリーン画素値と前記濃度差分値がそれぞれ表現する濃度の和に相当する補正差分値を得ることを特徴とする請求項１乃至８の何れか一項に記載の画像処理装置。
【請求項１０】
コンピュータ装置を制御して、請求項１から請求項９の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１１】
第一の量子化手段と、差分算出手段と、出力手段値と第二の量子化手段と、加算手段を有し、
前記第一の量子化手段は、画像データに対してスクリーン処理により第一の量子化データを生成し、
前記差分算出手段は、前記画像データの低周波成分と前記第一の量子化手段で得られたスクリーン処理後データの低周波成分との差分を算出し、
前記出力手段は、前記差分に応じて、前記第一の量子化手段による結果または所定値の何れかを出力し、
前記第二の量子化手段は、前記第一の量子化データと前記差分の和から前記出力手段による出力データを引いた値に対して、前記第一の量子化手段とは異なる方法により量子化し、第二の量子化データを生成し、
前記加算手段は、前記第二の量子化データを前記第一の量子化データに加算する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリーン処理した結果を適切に補正し、高画質なハーフトーン画像を出力する技術に関する。
【背景技術】
【０００２】
近年、コンピュータで処理した画像データを印刷することが広く行われている。しかしながら、コンピュータ上で画像データが表現する階調数に対して、印刷装置や表示装置などの出力装置が表現可能な階調数の方が少ない場合がある。このため、画像データの階調数を出力装置が表現可能な階調数に変換するハーフトーン処理がなされることが多い。
【０００３】
ハーフトーン処理のひとつとして、画像データを周期的に変動する閾値と比較することによって出力値を決定するスクリーン処理（組織的ディザ法）が知られている。スクリーン処理を施すことにより、画像の濃淡を面積階調で表現したスクリーン画像が得られる。特に階調の変化が少ない平坦部においては、均等の間隔で同一形状の網点が形成されるため、良好な画像が得られる。ところが、スクリーン処理した画像データには、視覚的に目立つ繰り返しパターン（モアレ）が発生し、画質が劣化する場合がある。また、画像が細線を含む場合、細線の濃度や角度によって細線の再現性が低下してしまうことがある。
【０００４】
ハーフトーン処理として、誤差拡散法も挙げられる。誤差拡散法によれば、階調の変化が少ない平坦部に対しては、出力画像に特有の模様による繰り返し構造（テクスチャ）が生じ、視覚的に好ましくない結果が形成される場合がある。
【０００５】
以上のような画像の劣化を抑制し、良好なハーフトーン処理結果を得るための技術が提案されている。たとえば、ハーフトーン処理する画像においてモアレが発生しやすい位置を検出し、モアレが発生しやすい領域においては、事前にモアレの原因となる高周波成分を除去することで、モアレを抑制する方法がある。（特許文献１）
また、スクリーン処理（組織的ディザ法）と誤差拡散法を組み合わせる提案もある。たとえば、ディザ処理に誤差拡散法を組み合わせることにより、ディザ処理による処理前後の誤差の偏りを低減する方法がある。（特許文献２）
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２３８２５９号広報
【特許文献２】特開２００５−２５２５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された方法では、モアレの発生を低減することはできるが、一部領域において高周波成分が失われてしまう。中濃度のエッジ部から高周波成分を除去すると、エッジ部のコントラストが低下して不鮮明になり、好ましい画像が得られない場合がある。
また、特許文献２に記載された方法では、各画素に対してディザ処理と誤差拡散処理のどちらを適用するか選択している。しかしながら、事前に適切なハーフトーン処理を選択するためには、複雑な処理を必要とする。
本発明の目的は、簡易な方法によりスクリーン処理（組織的ディザ法）を適切に補正し、良好なハーフトーン処理結果を得ることにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の画像処理装置は、画像データに対してスクリーン処理により第一の量子化データを生成する第一の量子化手段と、前記画像データの低周波成分と前記第一の量子化手段で得られたスクリーン処理後データの低周波成分との差分を算出する差分算出手段と、前記差分に応じて、前記第一の量子化手段による結果または所定値の何れかを出力する出力手段と、前記第一の量子化データと前記差分の和から前記出力手段による出力データを引いた値に対して、前記第一の量子化手段とは異なる方法により量子化し、第二の量子化データを生成する第二の量子化手段と、前記第二の量子化データを前記第一の量子化データに加算する加算手段とを有する。
【発明の効果】
【０００９】
以上、本発明によれば、簡易な方法によりスクリーン処理を適切に補正し、良好なハーフトーン処理結果を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置を示す図
【図２】スクリーン処理の概要を示す図
【図３】入力画像データおよびスクリーン画像データ
【図４】フィルタ処理対象領域および代替構成のフィルタ係数
【図５】ハーフトーン画像データの折り返し処理
【図６】第２フィルタ画像データおよび第１フィルタ画像データ
【図７】濃度差分データ
【図８】判定後スクリーン画像データおよび濃度調整値
【図９】伝搬係数、濃度補正データおよびハーフトーン画素データ
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１２】
図１は本実施例に適用可能な画像処理装置の構成を示す図である。図１に示す画像処理装置は、入力された画像データ（以下、入力画像データ）をより少ない階調数のハーフトーン画像データに変換する。画像処理装置は、スクリーン処理部１０１、差分抽出部１０５、濃度変動判定部１０６、濃度補正部１０７によって構成される。以下、各部の概要について説明する。
【００１３】
スクリーン処理部１０１は、入力画像データに対してスクリーン処理（組織的ディザ法）を施し、所望の階調数の画像データ（以下、スクリーン画像データ）に変換する。スクリーン処理部１０１は、画素ごとに入力画素値と対応する閾値とを比較し、量子化する。スクリーン処理部が量子化した値をスクリーン画素値と呼ぶことにする。スクリーン画像データは、各画素を表すスクリーン画素値によって構成される。すなわち、スクリーン処理部１０１は入力画像データを構成する各入力画素値を、スクリーン処理によってスクリーン画素値に変換し、スクリーン画像データを出力する。
【００１４】
差分抽出部１０５は、第１フィルタ処理部１０２、第２フィルタ処理部１０３、差分演算部１０４によって構成される。差分抽出部１０５は、スクリーン画像データと入力画像データとから、濃度差分データを算出する。濃度差分データとは各画素における濃度差分値の集合体である。ある注目画素における濃度差分値は、注目画素を含む局所的な領域において発生しているスクリーン処理前後の濃度の差分を示す。
【００１５】
濃度変動判定部１０６は、注目画素における濃度差分値に基づいて、スクリーン画像データにおいて大きな濃度変動が起きているかどうかを判定する。そして、濃度変動判定部１０６は、各画素における判定後スクリーン画素値が構成する判定後スクリーン画像データおよび、各画素における濃度調整値が構成する濃度調整データを出力する。注目画素の判定後スクリーン画素値と濃度調整値の和は、注目画素のスクリーン画素値と濃度差分値の和と等しくなるように濃度配分されている。濃度変動判定部１０６は、画素ごとに濃度差分値に応じて判定後スクリーン画素値として、スクリーン画素値か所定値のいずれかを選択する。これは注目画素の量子化結果として、スクリーン処理部１０１による結果を適用するかどうかを決定している。また、画素ごとに判定後スクリーン画素値を選択した後、各画素の濃度調整値を算出し、濃度調整データを出力する。濃度調整データは、画素を表す入力画像データの濃度をハーフトーン画像データに保存するための値である。
【００１６】
補正部１０７は、各画素の判定後スクリーン画素値と濃度調整値とに基づいて、画素ごとにハーフトーン画素値を算出する。ハーフトーン画素値が構成するハーフトーン画像データが最終的に得られる結果となる。
【００１７】
以下、各部の処理を詳細に説明する。
【００１８】
ここでは、２５６階調で表された入力画像データを３値のハーフトーン画像データに変換する例について説明するが、これとは異なる階調数の画像データであっても良い。また、各色成分に同様の処理を行うことによりカラー画像データに適用することも可能である。なお入力画像データにおいて、入力画素値０は白、入力画素値２５５は黒を示し、スクリーン画像データにおいて、スクリーン画素値０は白、スクリーン画素値２は黒を示している。
【００１９】
スクリーン処理部１０１は、２５６階調の入力画像データを構成する各入力画素値を、対応する閾値と比較することにより、０、１、２の３値に変換する。図２は、スクリーン処理部１０１で用いられる閾値群を示す。２次元に配置された入力画像データを表す画素の行位置と列位置がそれぞれ偶数か奇数かに応じて４通りの場合に分けて、それぞれ異なる閾値を使用する。よって、２行２列の４画素を１単位とした画素群において、全スクリーン画素値が０の場合から、全スクリーン画素値が２の場合まであり、画素群におけるスクリーン画素値の総和は０以上８以下となるため、９階調の表現が可能となる。
【００２０】
図２において、各画素の上段はスクリーン処理による出力値であるスクリーン画素値１、下段はスクリーン画素値２に対応する閾値である。スクリーン処理部１０１は、入力画像データを構成する入力画素値と、各画素に対応する閾値とを比較して、入力画素値がいずれの閾値よりも小さい場合にはスクリーン画素値を０とする。また、入力画素値が一方の閾値以上で、かつ、他方の閾値未満である場合にはスクリーン画素値を１とし、入力画素値がどちらの閾値よりも大きい場合にはスクリーン画素値を２とする。
【００２１】
注目画素が、行位置および列位置のいずれも偶数である場合を例に説明する。図２によれば、注目画素が行位置および列位置のいずれも偶数である場合の閾値は、２９または５７である。注目画素の入力画素値が０から２８のとき、スクリーン画素値は０として出力される。注目画素の入力画素値が２９から５６のとき、スクリーン画素値は１として出力される。注目画素の入力画素値が５７以上のとき、スクリーン画素値は２として出力される。
【００２２】
各画素位置において、スクリーン画素値の２の閾値は、最大階調値である２５５の２／９、４／９、６／９、８／９として設定している。また同様に、スクリーン画素値の１の閾値は、最大階調値である２５５の１／９、３／９、５／９、７／９として設定している。なお、閾値の端数は切り上げている。
【００２３】
図３は、（ａ）入力画像データと（ｂ）入力画像データに対してスクリーン処理部１０１によるスクリーン処理を施して得られるスクリーン画像データを示す。
【００２４】
たとえば画素３０１は、入力画素値が１５３であり、その位置は奇数行、偶数列である。よって閾値は、１９９と２２７が対応する。入力画素値１５３と画素３０１に対応する閾値を比較し、画素３０１のスクリーン画素値０を得る。また画素３０２は、入力画素値が７７であり、画素位置は偶数行、偶数列である。よって、スクリーン処理部１０１は２９と５７を閾値として入力画素値７７と比較し、画素３０２のスクリーン画素値２を得る。一方で、画素３０３は、画素３０２と同様に入力画素値７７であり、その位置は偶数行、奇数列である。よって、スクリーン処理部１０１は８５と１１４を閾値として入力画素値７７と比較し、画素３０３のスクリーン画素値０を得る。このように、入力画像データを構成する画素３０２と画素３０３は同一の入力画素値であるにもかかわらず、対応する閾値が異なるために、出力されるスクリーン画素値が異なる。
【００２５】
なお、ここでは２行２列の閾値群を用いて３値化する場合について説明したが、スクリーン処理部１０１で用いられる閾値群はそれ以外の周期であっても良い。また、スクリーン処理の結果は３値に限定する必要はない。
【００２６】
図３（ａ）入力画像データに対して図２で示した閾値群を用いたスクリーン処理することにより、図３（ｂ）が示すスクリーン画像データにはモアレが発生する。それは図３（ａ）入力画像データが行および列それぞれの方向で３画素周期の繰り返しとなっているため、図２が示す２画素周期の閾値群と干渉しあうことが原因である。
【００２７】
次に、差分検出部１０５について説明する。
【００２８】
第１フィルタ処理部１０２は、スクリーン処理部１０１から得られるスクリーン画像データを構成する各画素に対して、注目画素を含む近傍領域におけるスクリーン画素値の総和を計算する。図４（ａ）は本実施例におけるフィルタ処理対象の領域を示す。フィルタ処理対象の領域は、スクリーン処理部１０１が用いる閾値群の周期と等しくなるように２行２列としている。
【００２９】
このとき、たとえば図３（ｂ）スクリーン画像データにおける画素３０１を注目画素とした場合、図４（ａ）に示す注目画素近傍の２行２列の領域がスクリーン画像データ外にかかる場合がある。このような場合は、図５のようにスクリーン画像データの端部を中心として線対称になるように画像を拡張する鏡像処理によってスクリーン画像データ外のスクリーン画素値を得る。
【００３０】
図５（ａ）鏡像処理を施した画像データ（破線部分）は、図３（ｂ）スクリーン画像データにおける左端および上部（実線部分）に対して鏡像処理を施した例である。たとえば、スクリーン画像データを構成する画素５０１のスクリーン画素値を、画素５０２位置に置く。
【００３１】
よって第１フィルタ処理部１０２は、図３（ｂ）スクリーン画像データにおける画素３０１を注目画素とする場合、図５（ｂ）が表すフィルタ領域の総和を計算することになる。
【００３２】
以上のように、第１フィルタ処理部１０２は、図３（ｂ）が示すスクリーン画像データに基づいて、図６（ｂ）が示す第１フィルタ処理画像データを算出する。
【００３３】
第２フィルタ処理部１０３は、スクリーン画像データでなく入力画像データに対して、第１フィルタ処理部が施したフィルタ処理と同様の処理をする。
【００３４】
第２フィルタ処理部１０３は、図３（ａ）が示す入力画像データに基づいて、図６（ａ）が示す第２フィルタ処理画像データを算出する。
【００３５】
なお、第１フィルタ処理部１０２および第２フィルタ処理部１０３は、図４（ｂ）が示す空間フィルタのような注目画素を中心とした９画素の領域を参照してもいい。図４（ｂ）の空間フィルタは、注目画素に対する係数を１としたとき、列方向に隣接する２画素（これら２つの画素はスクリーン処理部１０１において同一の閾値を参照している）の係数をそれぞれ０．５とする。また、注目画素に対して行方向に隣接する２画素（これら２つの画素もスクリーン処理部１０１において同一の閾値を参照している）の係数をそれぞれ０．５とする。さらに、注目画素に対して斜め方向に接する４画素（これら４画素もスクリーン処理部１０１において同一の閾値を参照している）の係数をそれぞれ０．２５とするものである。このように近傍画素のうち、スクリーン処理部１０１において同一の閾値に対応する画素の係数の和が、それぞれ同じになるように構成するのが好適である。ここでは、列方向に隣接する２画素の係数の和、行方向に隣接する２画素の係数の和、斜め方向に接する４画素の係数の和はいずれも１になるよう設定されている。
【００３６】
差分演算部１０４は、第１フィルタ処理画像データを構成する第１フィルタ処理画素値と第２フィルタ処理画像データを構成する第２フィルタ処理画素値との差分である濃度差分値を画素ごとに算出する。そして差分演算部１０４は、濃度差分値が構成する濃度差分データを出力する。ここで、第１フィルタ処理画像データの元となるスクリーン画像データは３値（最小値０、最大値２）であり、第２フィルタ処理画像データの元となる入力画像データは２５６値（最小値０、最大値２５５）である。よって、それぞれ最大値が５１０相当となるように正規化する必要がある。第１フィルタ処理画像データでは、各第１フィルタ処理画素値を２５５倍（５１０÷２＝２５５）、第２フィルタ処理画像データでは、各第２フィルタ処理画素値を２倍（５１０÷２５５＝２）する。このように正規化した第２フィルタ処理画像データから、正規化した第１フィルタ処理画像データを減算し、図７に示すように、各画素位置に対応した濃度差分値で構成される濃度差分データが得られる。
【００３７】
図７の濃度差分データでは、絶対値が比較的大きな負の値（‐３００以下）と正の値（３００以上）が周期的に出現していることがわかる。これはスクリーン処理した後のスクリーン画像データにおいて、入力画像データにはない周期的な濃度変動が繰り返されていることを意味する。このような濃度変動がモアレとなって、視覚的に望ましくない模様を発生させる。つまり濃度差分値の大きさは、モアレの強度に相当する。
【００３８】
なお差分検出部１０５は、入力画素値とスクリーン画素値とをそれぞれ正規化して差分を算出した後、第１フィルタ処理部１０２と同様のフィルタ処理をする構成も可能である。第１フィルタ処理部１０２と第２フィルタ処理部１０３は同一特性の線形空間フィルタ処理であるため、これらに先行して差分演算部１０４の処理をしても同一の結果を得ることができる。
【００３９】
次に、濃度変動判定部１０６について説明する。
【００４０】
濃度変動判定部１０６は、差分抽出部１０５から得られる各画素の濃度差分値に基づいて、各画素におけるスクリーン処理の結果を判定する。そして、スクリーン画素値と濃度差分値の合計を、判定後スクリーン画素値と濃度調整値とに配分する。注目画素においてモアレ成分（濃度差分値の絶対値）が少ない場合、スクリーン画素値をそのまま判定後スクリーン画素値とする。一方注目画素のモアレ成分が大きい場合には、モアレが発生していると判断して、スクリーン画素値を所定値に置換して判定後スクリーン画素値として出力する。これは、スクリーン画像データに発生しているモアレを解消するための処理である。本実施例において濃度変動判定部１０６は、濃度差分値の絶対値が１５０以下（濃度差分値が−１５０以上１５０以下）の場合、スクリーン画素値を判定後スクリーン画素値とする。また、濃度差分値の絶対値が１５０より大きい（濃度差分値が−１５０未満、または１５０より大きい）場合に、０を判定後スクリーン画素値とする。
【００４１】
ここで濃度変動判定部１０６が、モアレが発生していると判定する濃度差分値の範囲は、スクリーン画像データが疑似的に表現可能な階調数に基づいて決定することが望ましい。本実施例におけるスクリーン処理部１０１は、前述のとおり２行２列の４画素を１単位とした閾値群を用いることによって９階調の表現が可能である。スクリーン処理では、モアレが発生していない場合でも、疑似階調における１階調分未満の誤差（スクリーン処理において発生する量子化誤差）は発生し得る。具体的には、２５６階調の入力画像データを９階調のスクリーン画像データに変換することから、スクリーン画像データにおける１階調は２５５／９より、入力画像データにおける画素値約２８．３に相当する。濃度差分値の算出にあたって、第１フィルタ処理部１０２と第２フィルタ処理部１０３の空間フィルタの係数、および、差分算出部１０４における正規化している。このため、空間フィルタの係数の和が４であり、入力画素値を２倍して正規化していることを考慮して、入力画素値２８．３を濃度差分値に換算すると、約２２６となる。入力画像データにおける濃度の変動に対して過剰に補正をしないように、補正の要否を判定する閾値には少し余裕を持たせると好ましい。そこで、本実施例では濃度差分値の絶対値１５０を補正の要否判定の閾値としている。
【００４２】
濃度変動判定部１０６は、判定後スクリーン画素値の算出に続き、スクリーン画素値と濃度差分値の和を、判定後スクリーン画素値と濃度調整値に配分する。判定後スクリーン画素値はすでに算出しているため、スクリーン画素値と濃度差分値の和と、判定後スクリーン画素値と濃度調整値の和が一致するように濃度調整値を求める。
【００４３】
濃度調整値は、判定後スクリーン画素値とスクリーン画素値との差に換算係数を乗じ、濃度差分値を加算することにより求めることができる。換算係数は、第１フィルタ処理部１０２（および第２フィルタ処理部１０２）が用いる空間フィルタの係数の和と、差分算出部１０４における第１フィルタ処理画像データに対する正規化係数との積であり、ここでは１０２０（４×２５５＝１０２０）となる。以上の通り、濃度変動判定部１０６は、図３（ｂ）のスクリーン画像データおよび図７の濃度差分データに基づいて、図８（ａ）に示す判定後スクリーン画像データおよび図８（ｂ）に示す濃度補正データを算出し、出力する。モアレ成分（濃度差分値の絶対値）が小さい場合、スクリーン画素値が判定後スクリーン画素値としてそのまま出力され、濃度差分値が濃度調整値としてそのまま出力される。一方、注目画素におけるモアレ成分（濃度差分値の絶対値）が大きい場合、スクリーン画素値ではなく０が判定後スクリーン画素値として出力され、スクリーン画素値と濃度差分値の和が補正差分値として出力される。このとき濃度調整値は、スクリーン画素値に濃度差分値を加算することにより、スクリーン画素値のモアレ成分を打ち消す働きをしている。また、スクリーン画素値に基づいて算出されるためスクリーン構造を保つことができる。
【００４４】
次に、補正部１０７について説明する。
【００４５】
本実施例における補正部１０７はまず、濃度調整データに対して画素ごとに誤差拡散処理を施し、補正データを算出する。補正データは、各画素の補正値からなる。そして判定後スクリーン画素値に補正値を加算し、画素ごとにハーフトーン画素値を算出しハーフトーン画像データを出力する。
【００４６】
ここでは、図９（ａ）が示す拡散係数を用いて濃度調整データに対する誤差拡散処理をする。
【００４７】
まず、出力するハーフトーン画素値の最大階調値と判定後スクリーン画素値の差を注目画素の最大補正値として求め、最大補正値に換算係数を積算することにより基準値を算出する。最大補正値は、補正部１０７が出力するハーフトーン画素値が、ハーフトーン画素値として想定される最大階調値を超過しないように制限するための値である。本実施例では、３階調のハーフトーン画像データを想定しているので、ハーフトーン画素値の最大階調値は２である。また、ここで用いられる換算係数は濃度変動判定部１０６において用いたものと同一のものである。
【００４８】
そして、補正部１０７は、基準値に基づいた閾値を用いて、濃度調整データに対して誤差拡散処理をする。具体的には、注目画素における濃度調整値と近傍画素から注目画素に拡散された拡散誤差との和（以下、加算結果）を、基準値の１／２を閾値として比較することにより補正値を決定する。これは加算結果が０と基準値のどちらに近いかを判定している。加算結果が、基準値の１／２未満であれば補正値を０とする。また、加算結果が、基準値の１／２以上であれば補正値を最大補正値とする。その後、注目画素における加算結果と換算係数を乗算した補正値との差を注目画素における誤差として算出し、注目画素近傍で未処理の画素に拡散する。
【００４９】
図９は、補正部１０７が算出する（ａ）ハーフトーン画像データと（ｂ）補正データを示す。モアレ成分（濃度差分値の絶対値）が小さい場合、スクリーン処理によって得られるスクリーン画素値に対し、濃度調整値に基づいて算出された補正値が加算される。補正値は、最終的に出力されるハーフトーン画像データが入力画像データの濃度に近づくように働く。
【００５０】
一方モアレ成分（濃度差分値の絶対値）が大きい場合、濃度調整値に対する誤差拡散処理をすることにより得られる量子化結果がハーフトーン画素値となる。ただし濃度調整値は、スクリーン処理部１０１から得られるスクリーン画素値に基づいて算出されるため、スクリーン処理結果が有するスクリーン構造を乱すことなく、安定した出力を得られる。また、ハーフトーン画像データにおける入力画像データの濃度も保存できる。
【００５１】
以上の通り、本実施例ではスクリーン処理手段によるスクリーン画像データと入力画像データとから濃度差分データを抽出する。そして前記濃度差分データを構成する各濃度差分値に基づいて各画素におけるスクリーン処理結果を評価し、スクリーン画素値をそのまま継続するかどうか判定する。本実施例によればスクリーン処理した後に評価・判定するため、処理対象とする入力画像データにおいて、好適な領域にだけ選択的にスクリーン処理を適用することが可能である。さらに、スクリーン処理に適した部分については、前記濃度差分値に基づいて濃度補正することにより細部を補正するため、階調表現性が向上する。一方、スクリーン処理に適さない部分においては、スクリーン画素値からモアレを解消した濃度調整データを算出し、濃度調整データに対して誤差拡散処理により量子化する。これにより、スクリーン構造、濃度を保存しながら、スクリーン処理が適さない画素に対しても適切に量子化することができる。
【００５２】
（変形例１）
変形例１では、実施例１における濃度変動判定部１０６の変形例を示す。
【００５３】
濃度変動判定部１０６が算出する濃度調整値は０以上の正の値であることが望ましい。スクリーン画像データが表す濃度を、減少させることよりも補うことの方が比較的容易なためである。
【００５４】
従って、濃度変動判定部１０６において、０以上の濃度調整値となることが保証できるように、たとえば、濃度差分値が０以上かつ３００以下の場合にはスクリーン画素値に等しい判定後スクリーン画素値とするように構成しても良い。
【００５５】
また、濃度差分値に基づいてモアレが発生していると判断される画素において、一律に判定後スクリーン画素値を０とするのではない構成も考えられる。濃度差分値が０以上の場合はすべて、スクリーン画素値に等しい判定後スクリーン画素値とし、濃度差分値が負の場合は、補正差分値が負とならないように、濃度差分値の絶対値を換算係数で割った商（端数切り上げ）をスクリーン画素値から減算した値を判定後スクリーン画素値としても良い。
【００５６】
（変形例２）
前述の実施例では、濃度調整データに対して誤差拡散法を用いることにより量子化した。誤差拡散法は、注目画素の量子化値を決定した際に発生する誤差を、未処理の近傍画素で打ち消して、全体として画像データの濃度を保存するように作用するため、スクリーン処理によって生じた濃度差を補正するのに適している。
【００５７】
なお、誤差拡散法については、拡散係数の改良する方法や量子化値を決定するための閾値を適応的に変動させる方法などがあり、本発明にも前述の誤差拡散法をさらに改良した誤差拡散法を適用することは可能である。
【００５８】
また、別の実施形態としては、補正部１０７において、誤差拡散法以外の量子化を行ってもよい。たとえば、乱数的ディザ法を適用することも可能である。０以上基準値未満の乱数値を閾値として、濃度調整値と比較する。濃度調整値が閾値以下の場合には補正値を０とし、濃度調整値が前記閾値より大きい場合には最大補正値を補正値とする方法である。
【００５９】
さらに、補正部１０７において、スクリーン処理（組織的ディザ処理）を適用することも可能である。この場合、スクリーン処理部１０１が有するスクリーン線数、位相、スクリーン角のパラメータのうち、少なくともひとつは異なるスクリーン処理を行う必要がある。スクリーン処理パラメータを変えることで、空間周波数特性や位相特性が変わるため、スクリーン処理部１０１により発生したモアレを低減する効果が期待できるためである。
【００６０】
（その他の実施例）
本発明は、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）がコンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【図１】
2013021400.tif 000003
【図２】
2013021400.tif 000004
【図３】
2013021400.tif 000005
【図４】
2013021400.tif 000006
【図５】
2013021400.tif 000007
【図６】
2013021400.tif 000008
【図７】
2013021400.tif 000009
【図８】
2013021400.tif 000010
【図９】
2013021400.tif 000011