(57)【要約】【課題】任意のスクリーン角度によるスクリーン処理を簡素な構成で行う。【解決手段】スクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３は、出力対象の画像データが入力されると、当該画像データに対してスクリーンパターンに応じた単位領域であるセルを設定する。そして、画像上を１画素づつ主走査方向及び副走査方向に走査して画素値を抽出するとともに、分周カウンタＣｘ、Ｃｙによりカウントされたカウント値に基づいて各画素位置を判別し、その各画素位置に応じた閾値を算出する。そして、抽出された画素値と算出された閾値とを比較してその比較結果に基づいて出力値を決定する。【選択図】図３
2006067304.tif 000002
【特許請求の範囲】
【請求項１】
出力対象画像に対し、主走査方向及び副走査方向の２次元方向に存在する画素を走査して各画素の画素値を抽出する走査工程と、
互いに連動する２つのカウンタを用いて前記主走査方向及び副走査方向における走査移動量をスクリーン角度に応じてカウントし、そのカウント値に基づいて各画素位置を判別して各画素位置に対応する画素値の閾値を求める閾値工程と、
前記求められた閾値と前記抽出された画素値とを比較し、その比較結果に基づいて各画素の出力値を決定する出力工程と、
を含むことを特徴とするスクリーン処理方法。
【請求項２】
前記閾値工程では、前記カウンタによるカウント値に基づいて閾値を算出することを特徴とする請求項１に記載のスクリーン処理方法。
【請求項３】
前記閾値工程では、各画素位置に対応する閾値を予め記憶するメモリから、前記カウント値に基づいて判別された各画素位置に対応する閾値を取得することを特徴とする請求項１に記載のスクリーン処理方法。
【請求項４】
出力対象画像に対し、主走査方向及び副走査方向における走査移動量をスクリーン角度に応じて互いに連動しながらカウントする２つのカウンタと、
前記出力対象画像の主走査方向及び副走査方向の２次元方向に存在する画素を走査して各画素の画素値を抽出するとともに、前記カウンタによるカウント値に基づいて各画素位置を判別して各画素位置に対応する画素値の閾値を求め、当該求められた閾値と前記抽出された画素値とを比較し、その比較結果に基づいて各画素の出力値を決定するスクリーン処理部と、
を備えることを特徴とする画像処理装置。
【請求項５】
前記スクリーン処理部は、前記カウンタによるカウント値に基づいて閾値を算出することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
各画素位置に対応する閾値を記憶するメモリを備え、
前記スクリーン処理部は、前記カウント値に基づいて判別された各画素値位置に対応する閾値を前記メモリから取得することを特徴とする請求項４に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力対象画像に対し、画像の各画素値に基づいて網点を形成するスクリーン処理方法、及びスクリーン処理を施す画像処理装置に関する。
【背景技術】
【０００２】
デジタル画像における濃淡の階調表現として、網点を形成するスクリーン処理が一般的であるが、このスクリーン処理においては、網点の配列がなす角度（いわゆるスクリーン角度）は、任意の角度ではなく、ｔａｎθが有理数となる角度θ、いわゆる有理正接となる角度をとっていた。これは、網点を形成する際に、１つの網点を形成するためのスクリーンパターンの形状に応じてセルと呼ばれる単位領域を画像上にタイル状に繰り返し適用し、予めセル内にマトリックス状に割り当てられた閾値と、そのセルが適用された画像領域の各画素値とを比較して出力値を決定するのであるが、このときセルはその四隅の角が画素の格子の角に一致するように設定しなければ画像領域の全てに亘って繰り返し同じセルを適用できないためである。しかし、これでは、実現できるスクリーン角度や、スクリーン線数（網点の配列の密度）がかなり制限されることとなってしまう。
【０００３】
また、網点が周期的に形成されたパターン画像を２以上重ねると、互いに干渉しあってモアレと呼ばれる画像ノイズが発生する。このモアレを抑制するために、網点画像をその角度を変えて重ねる手法が適用されており、４色カラー（Ｙ；黄色、Ｍ；マジェンタ、Ｃ；シアン、Ｋ；黒）の場合、Ｃ、Ｍ、Ｋの網点画像をそれぞれ３０度づつ角度を変え、目立ちにくいＹの網点画像を１５度差で重ねることが一般的である。
【０００４】
このように、モアレの抑制等も考慮して単一のセルで所望の角度θを精度良く得ようとすると、ｔａｎθ≒ｎ／ｍ（ｎ、ｍは整数）となるようなｍ、ｎの組み合わせが大きくなり、セルサイズが大きくなってしまう。セルサイズは大きい方が濃淡を表現する上で多段階レベルをとることができるが、サイズが過剰に大きくなると、形成される網点が大きくなり、粗い画質の画像となってしまう。
【０００５】
これに対し、セルサイズが微妙に異なる複数のセルを含む広い領域（これをスーパーセルという）を１つの繰り返し処理の単位領域とするいわゆるスーパーセル方式が採用されている（例えば、特許文献１参照）。スーパーセル方式では、スーパーセルの四隅の角は、それぞれ画素の格子の角と一致するようにスクリーン角度が設定されるが、スーパーセルに含まれる個々のセルは、画素の格子の角と必ずしも一致していなくてもよいため、スクリーン角度を設定する上で自由度が向上する。
【０００６】
また、画像に対し、スクリーン角度分だけ傾斜した角度で繰り返し適用されるセル内の各画素が、閾値マトリックスのどの位置に対応するのか、つまり各画素に対応する閾値を判別するアルゴリズムとして、Holladayアルゴリズムが知られている（例えば、非特許文献１参照）。これは、繰り返し適用される全てのセルが同一サイズであり、かつ有理正接である場合、何れのスクリーンパターン形状であっても長方形の形状に変換することができるという性質を利用したアルゴリズムである。例えば、図１２に示すように、セルサイズ８でスクリーンパターン（図中、太線で囲まれる領域）が風車形状である場合、その閾値テーブルを風車形状に代えて２×４の長方形で表すことができる（図中、閾値テーブルの形状を点線で示す）。このとき、閾値テーブルの参照位置（閾値テーブルにおいて設定されている数字）は、主走査回数、副走査回数をそれぞれの主走査方向又は副走査方向における長方形サイズで除算した剰余により定めることができ、参照する閾値を容易に割り出すことができる。
【特許文献１】特許第３４８１４２３号公報
【非特許文献１】Henry R. Kang著“Digital Color Halftoning”
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載のスーパーセル方式では、スーパーセルを、セルサイズが微妙に異なる複数のセルから構成することにより、不揃いなセルの配列が周期性を帯びるため、各網点を形成するためにセルに設定される閾値を、モアレが発生しないように設定しなければならなかった。また、単一のセルを適用する方式よりもスクリーン角度の設定に自由度があるが、やはりスーパーセル自体が有理正接となるように、スクリーンパターンやセルを設計しなければならず、その設計は複雑であった。
【０００８】
また、非特許文献１に記載のHolladayアルゴリズムを、無理正接の場合に適用したり、異なるサイズのセルをいくつか組み合わせて１つの繰り返し単位領域とするマイクロセル方式等に適用する場合等には、閾値テーブルの長方形の縦横のサイズや、閾値テーブルが上下に重なったときにずらす量を調整しなければならない等、スクリーンパターンの形状によっては閾値テーブルの設計が難しく、複雑になってしまう。
【０００９】
本発明の課題は、任意のスクリーン角度によるスクリーン処理を簡素な構成で行うことができる画像処理装置を提供することである。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、スクリーン処理方法において、
出力対象画像に対し、主走査方向及び副走査方向の２次元方向に存在する画素を走査して各画素の画素値を抽出する走査工程と、
互いに連動する２つのカウンタを用いて前記主走査方向及び副走査方向における走査移動量をスクリーン角度に応じてカウントし、そのカウント値に基づいて各画素位置を判別して各画素位置に対応する画素値の閾値を求める閾値工程と、
前記求められた閾値と前記抽出された画素値とを比較し、その比較結果に基づいて各画素の出力値を決定する出力工程と、
を含むことを特徴とする。
【００１１】
請求項２に記載の発明は、請求項１に記載のスクリーン処理方法において、
前記閾値工程では、前記カウンタによるカウント値に基づいて閾値を算出することを特徴とする。
【００１２】
請求項３に記載の発明は、請求項１に記載のスクリーン処理方法において、
前記閾値工程では、各画素位置に対応する閾値を予め記憶するメモリから、前記カウント値に基づいて判別された各画素位置に対応する閾値を取得することを特徴とする。
【００１３】
請求項４に記載の発明は、画像処理装置において、
出力対象画像に対し、主走査方向及び副走査方向における走査移動量をスクリーン角度に応じて互いに連動しながらカウントする２つのカウンタと、
前記出力対象画像の主走査方向及び副走査方向の２次元方向に存在する画素を走査して各画素の画素値を抽出するとともに、前記カウンタによるカウント値に基づいて各画素位置を判別して各画素位置に対応する画素値の閾値を求め、当該求められた閾値と前記抽出された画素値とを比較し、その比較結果に基づいて各画素の出力値を決定するスクリーン処理部と、
を備えることを特徴とする。
【００１４】
請求項５に記載の発明は、請求項４に記載の画像処理装置において、
前記スクリーン処理部は、前記カウンタによるカウント値に基づいて閾値を算出することを特徴とする。
【００１５】
請求項６に記載の発明は、請求項４に記載の画像処理装置において、
各画素位置に対応する閾値を記憶するメモリを備え、
前記スクリーン処理部は、前記カウント値に基づいて判別された各画素値位置に対応する閾値を前記メモリから取得することを特徴とする。
【発明の効果】
【００１６】
請求項１、４に記載の発明によれば、カウンタ値に基づいて各画素位置に対応する閾値を求め、当該閾値に基づいて出力値の決定を行うので、スクリーン角度が有理正接か無理正接かに拘わらず、画素位置に応じた閾値を各画素に容易に割り当てることができる。従って、スクリーン角度によらず、網点形状の設計の自由度を向上させることができる。また、主走査及び副走査を行う中で逐次処理を実行するので、簡素な構成で１次元又は２次元のスクリーン処理が可能となる。
【００１７】
請求項２、５に記載の発明によれば、スクリーン処理時にカウント値に基づいて閾値を算出するので、形成する網点が異なるスクリーン角度、異なるサイズであっても、そのスクリーン処理時の処理パラメータを共通化することができ、スクリーン処理のための構成を簡素化することができる。
【００１８】
請求項３、６に記載の発明によれば、メモリから各画素位置に対応する閾値を取得するので、閾値の演算処理を省略することができ、処理効率が向上する。
【発明を実施するための最良の形態】
【００１９】
本実施の形態では、一定範囲内で繰り返しカウントを行うカウンタ（以下、分周カウンタという）を用いて画像上の注目画素の主走査及び副走査時の走査移動量をカウントし、各画素位置におけるカウント値に基づいて各画素の閾値を算出し、当該閾値と画素値とを比較することにより、出力値を決定するスクリーン処理の例を説明する。
【００２０】
まず、構成を説明する。
図１に、本実施の形態における画像処理装置１の内部構成を示す。
図１に示すように、画像処理装置１は、画像読取部１０、操作部２０、タッチパネル２５、表示部３０、本体部４０、プリンタ部５０から構成されている。また、本体部４０は、制御部４１、記憶部４２、画像処理部４３、ＤＲＡＭ（Dynamic Random Access Memory）制御部４４、ＤＲＡＭ４５、画像判別回路４６から構成されている。図中、各部を接続する実線はシステムバスを示し、点線はシリアルバスを示す。
【００２１】
画像読取部１０は、光源、ＣＣＤ（Charge Coupled Device）、Ａ／Ｄ変換器等を備え、光源から原稿へ照明走査した光の反射光を結像してＣＣＤにより光電変換することによって原稿画像を読み取る。そして、読み取った画像信号をＡ／Ｄ変換器によりデジタル画像データに変換する。ここで、画像は図形や写真等のイメージデータに限らず、文字や記号等のテキストデータ等も含む。
【００２２】
操作部２０は、プリント開始を指示するためのスタートキーや数字キー等の各種機能キーを備え、これら機能キーやタッチパネル２５が操作されると、対応する操作信号を制御部４１に出力する。
【００２３】
表示部３０は、タッチパネル２５と一体に形成されたＬＣＤ（Liquid Crystal Display）を備え、このＬＣＤ上にプリント操作するための各種操作画面を表示させる。
【００２４】
次に、本体部４０の各部について説明する。
制御部４１は、記憶部４２に記憶されているシステムプログラム、プリント処理プログラム等の各種制御プログラムに従って画像処理装置１の各部の動作を集中制御する。
【００２５】
記憶部４２は、システムプログラム、プリント処理プログラム等の各種制御プログラムを記憶する。また、画像処理部４３において平均化処理時に適用される処理パラメータの情報やスクリーン処理時に適用される処理パラメータの情報を記憶している。
【００２６】
画像処理部４３は、図２に示すように、シェーディング補正部ｒ１、ｇ１、ｂ１、Ｉ−Ｉ′変換処理部ｒ２、ｇ２、ｂ２、フィルタ処理部ｒ３、ｇ３、ｂ３、変倍処理部ｒ４、ｇ４、ｂ４、γ変換部ｒ５、ｇ６、ｂ７、色変換処理部６、統合処理部７、デコーダＤから構成され、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の各色に分離されて入力された色毎の画像データに画像処理を施して、その処理画像データをプリンタ部５０に出力する。
【００２７】
シェーディング補正部ｒ１、ｇ１、ｂ１は、画像読取部１０により発生する輝度ムラを補正する。シェーディング補正部ｒ１、ｇ１、ｂ１は、予め輝度ムラを補正するためのＬＵＴ（Look Up Table）をＲ、Ｇ、Ｂの色毎に備えており、このＬＵＴにより入力された画像データの輝度変換を行って、シェーディング補正を行う。シェーディング補正された各画像データはＩ−Ｉ´変換処理部ｒ２、ｇ２、ｂ２にそれぞれ出力される。
【００２８】
Ｉ−Ｉ´変換処理部ｒ２、ｇ２、ｂ２は、画像読取部１０のＣＣＤ特有の輝度特性を人の視覚特性に応じた最適な輝度特性に変換するためのＬＵＴをＲ、Ｇ、Ｂの色毎に備え、このＬＵＴにより入力された画像データの輝度変換を行う。輝度変換された各画像データはフィルタ処理部ｒ３、ｇ３、ｂ３にそれぞれ出力される。
【００２９】
フィルタ処理部ｒ３、ｇ３、ｂ３は、ＭＴＦ（Modulation Transfer Function）フィルタを用いて入力された画像データに鮮鋭化処理を施す。鮮鋭化処理された各画像データはそれぞれ変倍処理部ｒ４、ｇ４、ｂ４に出力される。
【００３０】
変倍処理部ｒ４、ｇ４、ｂ４は、指定された出力サイズに応じて入力された画像データの拡大又は縮小を行い、倍率を変更するものである。拡大又は縮小処理された各画像データはγ変換部ｒ５、ｇ５、ｂ５に出力される。
【００３１】
γ変換部ｒ５、ｇ５、ｂ５は、輝度リニアな入力値に対して濃度リニアな出力値が定められたＬＵＴを用いて入力された画像データを変換し、輝度リニアな特性から濃度リニア特性に変換する（これをγ変換処理という）。γ変換処理が施された各画像データは色変換処理部６に出力される。
【００３２】
色変換処理部６は、入力されたＲ、Ｇ、Ｂの各画像データに対して色補正を施した後、画像処理装置１で出力可能な色材Ｙ、Ｍ、Ｃ、Ｋに応じた各画像データに変換する。色変換により生成されたＹ、Ｍ、Ｃ、Ｋの各画像データはＤＲＡＭ４５に一時記憶された後、統合処理部７に出力される。
【００３３】
統合処理部７は、図３に示すように、平均化処理部ｙ７１、ｍ７１、ｃ７１、ｋ７１、γ補正処理部ｙ７２、ｍ７２、ｃ７２、ｋ７２、スクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３、分周カウンタＣｘ、Ｃｙ、メモリ７４から構成されている。
【００３４】
平均化処理部ｙ７１、ｍ７１、ｃ７１、ｋ７１は、入力された画像データに対し、ある領域毎にその領域内の画素値の平均値を算出し、当該画素値と平均値とを置換する平均化処理を施す。平均化処理された画像データは、γ補正処理部ｙ７２、ｍ７２、ｃ７２、ｋ７２に出力される。
【００３５】
γ補正処理部ｙ７２、ｍ７２、ｃ７２、ｋ７２は、予めγ補正用に準備されたＬＵＴを用いて入力された画像データの階調変換を行ってγ補正処理を施す。γ補正処理が施された各色材の画像データはそれぞれスクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３に出力される。
【００３６】
分周カウンタＣｘ、Ｃｙは、一定範囲内で繰り返しカウントを行うカウンタである。以下、繰り返しカウントを行う一定範囲をカウント範囲といい、下限値を０、上限値をそれぞれＸＭＡＸ（分周カウンタＣｘの上限値）、ＹＭＡＸ（分周カウンタＣｙの上限値）とする。なお、カウント範囲は、平均化処理の処理条件により適宜設定可能である。分周カウンタＣｘ、Ｃｙは、スクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３において、１画素づつ主走査及び副走査が行われる毎に、互いに連動してその走査移動量をカウントし、そのカウント値をスクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３に出力する。
【００３７】
メモリ７４は、平均化処理部ｙ７１、ｍ７１、ｃ７１、ｋ７１、スクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３による処理結果等を記憶するための記憶領域を有している。
【００３８】
スクリーン処理部ｙ７３、ｍ７３、ｃ７３、ｋ７３は、出力対象の画像データが入力されると、当該画像データに対してスクリーンパターンに応じた単位領域であるセルを設定する。そして、画像上を１画素づつ主走査方向及び副走査方向に走査して画素値を抽出するとともに、分周カウンタＣｘ、Ｃｙによりカウントされたカウント値に基づいて各画素位置を判別し、その各画素位置に応じた閾値を算出する。そして、抽出された画素値と算出された閾値とを比較してその比較結果に基づいて出力値を決定する。以下の説明では、出力値を１又は０に決定して２値化する場合を説明するが、出力値を複数のレベルとして多値化することとしてもよい。最終的に全ての画素について出力値が決定されると、当該出力値が設定された出力画像データを生成してプリンタ部５０に出力する。
【００３９】
まず、スクリーンパターンについて説明する。
図４は、１つの網点形状を形成するためのスクリーンパターンの一例を示す図である。スクリーンパターンは、各色材Ｙ、Ｍ、Ｃ、Ｋに応じて異なる形状を適用することができる。
【００４０】
本実施形態では、色材Ｍの場合を例に説明する。
図５（ａ）は、色材Ｍの網点形状を形成するためのスクリーンパターンＭｐを示す図である。スクリーン処理時には、このスクリーンパターンＭｐが、図５（ｂ）に示すように画像上に隙間無くタイル状に適用される。なお、図５（ｂ）において斜線を付したパターンとそうでないパターンがあるが、これは隣接するスクリーンパターンを個々に区別しやすいように示したものであり、処理上違いがあるわけではない。
【００４１】
セルは、スクリーンパターンに応じて、スクリーンパターンを構成する画素の中心点を必ず含み、かつその他の画素の中心点はセル内に含まれないように設定する。また、セルの大きさを示すセルサイズはスクリーンパターンを構成する画素数で示す。図５（ａ）に示すスクリーンパターンＭｐの場合、セルサイズは１０であり、図６に示すように画像の主走査方向及び副走査方向からなる直交座標系に対し、スクリーン角度が有理正接となる傾き、つまりｔａｎθ＝±３、±１／３の何れかの有理数からなる傾きで設定することが可能であるが、本実施形態では、図６に示すように傾き−１／３でセルを設定することとする。なお、図中、画像の座標系を構成する主走査方向をＸ１方向、副走査方向をＹ１方向といい、この画像の座標系に対して傾き−１／３で設定されたセルの直交座標系を構成する２方向を、Ｘ２方向（Ｘ１方向に対応）、Ｙ２方向（Ｙ１方向に対応）とする。また、各方向への増分を「＋」の符号で示し、減少分を「−」の符号で示す。
【００４２】
次に、分周カウンタＣｘ、Ｃｙにおけるカウント単位の設定について説明する。
分周カウンタＣｘ、Ｃｙは、セルの座標系（Ｘ２方向、Ｙ２方向からなる直交座標系）で画素の走査移動量をカウントする。走査移動量をカウントする単位は、以下のように決定することができる。
セルサイズＮのスクリーンパターンの場合を考える。このとき、セルは仮想的に面積Ｎの正方形、つまり画素を単位として一辺の長さ√Ｎの仮想正方形であると想定することができ、その仮想正方形内のＮ個の格子点上にスクリーンパターンを構成する各画素が配置されている位置関係を想定することができる。
【００４３】
セルの座標系は、仮想正方形の一辺が２５６．０となるように、つまり２５６．０／√Ｎ倍にスケーリング（比例換算）したときのスケールを採用する。このとき、画像上の１画素分の距離をセルの座標系に射影すると、２５６．０／√Ｎを斜辺とする直角三角形の他の２辺の長さに相当する。この２辺の長さは、画像の座標系に対してセルの座標系が角度θの傾きであるとすると、ｘ２方向にａ＝２５６．０／√１０×ｃｏｓθ、ｙ２方向にｂ＝２５６．０／√１０×ｓｉｎθで表すことができ、分周カウンタＣｘ、Ｃｙは設定されたセルの傾きにより、±ａ、±ｂの何れかを増分としてカウントすることとなる。
【００４４】
図６に示すように、画像上において１画素分だけＸ１方向に移動したときのＸ２方向における分周カウンタＣｘのカウント値の増分をＵｘ、Ｙ２方向における分周カウンタＣｙの増分をＵｙとすると、Ｕｘ、Ｕｙは、下記式（１）、（２）により求めることができる。
Ｕｘ＝＋ｓｉｎθ×２５６．０／√１０・・・（１）
Ｕｙ＝＋ｃｏｓθ×２５６．０／√１０・・・（２）
【００４５】
また、１画素分だけＹ１方向に移動したときのＸ２方向における分周カウンタＣｘのカウント値の増分をＶｘ、Ｙ２方向における分周カウンタＣｙの増分をＶｙとすると、本実施形態ではセルは正方形であるので、Ｖｘ、Ｖｙは以下の式（３）、（４）により求めることができる。
Ｖｘ＝−Ｕｙ・・・（３）
Ｖｙ＝＋Ｕｘ・・・（４）
【００４６】
なお、増分Ｕｘ、Ｕｙのカウントは、小数部分も含めて行うが、小数部のカウンタは有限の桁数を設定するため、有限の精度しか確保することができず、カウントする毎に最下位１ビットに誤差が生じることとなる。そのため、画像全体を走査したときに、画像の一辺の画素数分だけカウントを行っても、１画素分走査する毎に生じる誤差が小数点以下に収まるように、小数部のカウンタを確保することが必要である。実用上は、ａ、ｂは、整数部と小数部とを合わせて例えば２４ビットのカウンタで表現することができる。例えば、６００ｄｐｉの高分解能で、Ａ３サイズと大きめの用紙サイズの場合でも、その長辺４２０ｍｍを構成する画素数は９９２１画素であり、９９２１回のカウントを繰り返しても１４ビットあれば誤差を小数部分に収めることができる。よって、小数部として１６ビット確保できれば他の用紙サイズであっても十分誤差を小数部に収めることができ、整数部は８ビット、小数部１６ビットで合わせて２４ビットのカウンタがあれば良い。
【００４７】
本実施形態では、ｔａｎθ＝−１／３であるので、上記式（１）〜（４）から、（Ｕｘ、Ｕｙ）＝（＋７６．８、＋２５．６）、（Ｖｘ、Ｖｙ）＝（−２５．６、＋７６．８）であり、セルの座標系は仮想正方形の一辺が２５６．０となるようにスケーリングされているため、（ＸＭＡＸ、ＹＭＡＸ）＝（２５６．０、２５６．０）である。
注目画素の走査を開始する開始位置における分周カウンタＣｘ、Ｃｙのカウント値（Ｏｘ、Ｏｙ）＝（５１．２、２３０．４）とすると、１画素主走査する毎に、（Ｕｘ、Ｕｙ）＝（＋７６．８、＋２５．６）、１画素副走査する毎に（Ｖｘ、Ｖｙ）＝（−２５．６、＋７６．８）がカウントされていくので、画像上の各画素位置における分周カウンタＣｘ、Ｃｙのカウント値（Ｐｘ、Ｐｙ）は、図７に示すような値となる。
【００４８】
このとき、１画素主走査した際に、ＰｘがＸＭＡＸ（＝２５６．０）以上となり、オーバーフローした場合、走査前後の画素間が右の隣接セルとの境界（図中、この境界を１重の直線で示す）であり、ＰｙがＹＭＡＸ（＝２５６．０）以上となり、オーバーフローした場合、下の隣接セルとの境界（図中、この境界を２重の直線で示す）となる。また、１画素副走査した際に、ＰｘがＰｘ＜０となり、カウント範囲の下限０を下回ってアンダーフローした場合、走査前後の画素間が左の隣接セルとの境界（図中、この境界を２重の波線で示す）であり、ＰｙがＹＭＡＸ（＝２５６．０）以上となり、オーバーフローした場合は、左の隣接セルとの境界（図中、この境界を１重の波線で示す）となる。
【００４９】
分周カウンタＣｘ、Ｃｙは、前述のように８ビットの整数部と１６ビットの小数部を持った２４ビット固定小数点のカウンタであり、そのカウント値Ｐｘ、Ｐｙが取り得る範囲は、下限０から上限（２５６−２＾１６）である。カウントの結果、０未満となりアンダーフローが生じた、或いは２５６以上となりオーバーフローが生じた場合は、整数部８ビットより上の桁は切り捨てられるため、２５６を法とする剰余系として、その整数部８ビットは０〜２５５を取ることとなる。
【００５０】
このように各境界線で囲まれた領域は、図５（ａ）にスクリーンパターンＭｐと一致し、スクリーンパターンＭｐを構成する各画素の画素位置におけるカウント値（Ｐｘ、Ｐｙ）は、スクリーンパターンＭｐ内で位置が同じ画素であれば常に同じカウント値（Ｐｘ、Ｐｙ）であり、このカウント値（Ｐｘ、Ｐｙ）によりスクリーンパターン内の各画素の画素位置を判別することができる。
【００５１】
次に、以上の設定により、スクリーン処理部ｍ７３により実行されるスクリーン処理の一連の流れを、図８に示すフローチャートを参照して説明する。
図８に示すスクリーン処理では、まず入力された画像データに対し、注目画素の参照位置を開始位置に設定し、参照位置における分周カウンタＣｘ、Ｃｙのカウント値（Ｐｘ、Ｐｙ）を、開始位置のカウント値（Ｏｘ、Ｏｙ）に設定する（ステップＳ１）。次いで、参照位置におけるカウント値（Ｐｘ、Ｐｙ）に基づいて当該参照位置に対応する閾値Ｓ（Ｐｘ、Ｐｙ）を算出する（ステップＳ２）。
【００５２】
閾値Ｓ（Ｐｘ、Ｐｙ）は、下記式（５）により算出することができる。
【数１】
2006067304.tif 000003
【００５３】
これは、閾値関数と呼ばれるものであり、図９に示すように、凹凸形状の１山分に相当する関数である。図９は、閾値Ｓ（Ｐｘ、Ｐｙ）の値を等高線状にプロットしたものであり、取り得る値域は０〜１である。また、Ｐｘ、Ｐｙが取り得る定義域は０≦Ｐｘ、Ｐｙ＜２５６であり、セルの一辺に相当する。つまり、閾値関数Ｓ（Ｐｘ、Ｐｙ）は、中央部分（Ｐｘ、Ｐｙ）＝（１２８、１２８）で最大値１となり、セルの四隅では最小値０となるように設計されている。なお、閾値Ｓ（Ｐｘ、Ｐｙ）が取り得る値域は表現する中間調の階調数に応じて適宜スケーリングすればよい。例えば、閾値Ｓ（Ｐｘ、Ｐｙ）を０〜２５５までの整数値にする場合、上記式（５）を２５６倍すればよい。
【００５４】
閾値Ｓ（Ｐｘ、Ｐｙ）が算出されると、参照位置における注目画素の画素値を抽出し（ステップＳ３）、当該抽出された画素値と、前記算出された閾値Ｓ（Ｐｘ、Ｐｙ）とを比較して、画素値は閾値Ｓ（Ｐｘ、Ｐｙ）より大きいか否かを判別する（ステップＳ４）。画素値が閾値Ｓ（Ｐｘ、Ｐｙ）より大きい場合（ステップＳ４；Ｙ）、出力値を「１」に決定し（ステップＳ５）、画素値が閾値Ｓ（Ｐｘ、Ｐｙ）より小さい場合（ステップＳ４；Ｎ）、出力値を「０」に決定して（ステップＳ６）、ステップＳ７に処理に移行する。
【００５５】
ステップＳ７では、１ライン分の主走査が終了したか否かを判別する。まだ、未終了の場合は（ステップＳ７；Ｎ）、注目画素の参照位置を主走査方向に１画素分移動する。この１画素分の移動に伴って、分周カウンタＣｘ、Ｃｙでは、カウント値（Ｐｘ、Ｐｙ）に（Ｕｘ、Ｕｙ）が加算されて走査移動量がカウントされる（ステップＳ８）。そして、ステップＳ２の処理に戻り、一ライン分の走査が終了するまで、移動後の注目画素の画素位置に応じて閾値を算出し、出力値を決定する処理が繰り返される。
【００５６】
一方、１ライン分の主走査が終了した場合（ステップＳ７；Ｙ）、全ての画素について副走査が終了したか否かを判別する（ステップＳ９）。全画素について副走査を終了していない場合（ステップＳ９；Ｎ）、主走査の開始位置に注目画素を移動させた後、副走査方向に１画素分移動する。この移動に伴って分周カウンタＣｘ、Ｃｙでは、注目画素の参照位置におけるカウント値（Ｐｘ、Ｐｙ）として、開始位置におけるカウント値（Ｏｘ、Ｏｙ）に（Ｖｘ、Ｖｙ）が加算されたカウント値（Ｏｘ＋Ｖｘ、Ｏｙ＋Ｖｙ）が設定される（ステップＳ１０）。次いで、ステップＳ２の処理に移行し、１画素分副走査方向に移動した主走査ライン上の画素についてステップＳ２〜Ｓ８の処理を繰り返す。
【００５７】
一方、全ての画素について副走査を終了した場合（ステップＳ９；Ｙ）、つまり主走査方向及び副走査方向に存在する全ての画素について走査が終了すると、本処理を終了する。
【００５８】
なお、本実施形態では、スクリーン角度が有理正接となるスクリーンパターンを例として説明したが、これに限らず、図１０に示すように、スクリーン角度が無理正接となるスクリーンパターンの場合にも本発明を適用可能である。図１０に示すスクリーンパターンは、スクリーン角度３０°の無理正接で配列される形状である。１画素間隔を単位として一辺が√１０の仮想正方形を想定し、主走査１画素分の線分をセルの座標系に射影すると、（Ｕｘ、Ｕｙ）＝（ｃｏｓ３０°、ｓｉｎ３０°）である。この√１０を２５６．０へスケーリングすると、Ｕｘ、Ｕｙはそれぞれ下記式（６）、（７）により示すことができる。
Ｕｘ＝＋２５６．０＊ｃｏｓ３０°／√１０・・・（６）
Ｕｙ＝＋２５６．０＊ｓｉｎ３０°／√１０・・・（７）
【００５９】
また、正方形であるので、副走査１画素分の長さに対応するＶｘ、Ｖｙは、Ｕｘ、Ｕｙを９０°回転することにより、下記式（８）、（９）により求めることができる。
Ｖｘ＝＋Ｕｙ・・・（８）
Ｖｙ＝−Ｕｘ・・・（９）
【００６０】
注目画素の主走査及び副走査時には、有理正接の場合と同様に、上記Ｕｘ，Ｕｙ、Ｖｘ、Ｖｙの増分で分周カウンタＣｘ、Ｃｙのカウントを行い、そのカウント値（Ｐｘ、Ｐｙ）に基づいて閾値Ｓ（Ｐｘ、Ｐｙ）を算出することにより、スクリーンパターン内の画素位置に応じた閾値を求めることができる。
【００６１】
ＤＲＡＭ制御部４４は、ＤＲＡＭ４５に記憶された画像データの入出力を制御する。
ＤＲＡＭ４５は、画像データを記憶する画像メモリである。
【００６２】
画像判別回路４６は、画像読取部１０において読取入力された画像データのデータ解析を行って文字領域を特定領域として判別し、画像判別信号を生成する、或いは画像データに対してエッジ検出を行い、検出されたエッジ領域を特定領域として判別し、画像判別信号を生成する等して、出力対象の画像データに対する画像判別信号を生成し、画像処理部４３に出力する。
【００６３】
プリンタ部５０は、電子写真方式でＹ、Ｍ、Ｃ、Ｋのカラープリント出力を行う。プリンタ部５０は、ＬＤ（Laser Device）ドライバ、レーザ光源等を備えて感光ドラム上に潜像を形成する露光部、感光ドラムにトナーを吹き付けて画像を形成する現像部、画像形成された感光ドラム上のトナーをプリント用紙上に転写させる転写ベルト等から構成される。なお、プリント方式は他の方式を適用することとしてもよい。
【００６４】
プリンタ部５０は、画像処理部４３から各色材の出力画像データが入力されると、周波数変調／ＰＷＭ（Pulse Width Modulation）変換処理部ｙ５１、ｍ５１、ｃ５１、ｋ５１により周波数変調、ＰＷＭ変換を行い、その変調信号をＬＤドライバに入力する。ＬＤドライバは入力された変調信号に基づいてレーザ光源を駆動し、レーザ光源から照射される露光量を制御する。
【００６５】
以上のように、本実施形態によれば、分周カウンタＣｘ、Ｃｙにより注目画素の走査移動量をスクリーン角度分だけ傾斜したセルの座標系でカウントし、そのカウント値から画像上に２次元に存在する各画素の画素位置を判別し、当該画素位置に応じた閾値を算出する。よって、有理正接か無理正接かに拘わらず、画素位置に応じた閾値を容易に割り当てることができる。従って、スクリーン角度を考慮する必要がなく、スクリーンパターン形状の設計の自由度を向上させることができる。
【００６６】
また、１画素づつ主走査及び副走査を行う中で、閾値を算出して出力値を決定する処理を逐次実行していくので、簡素な構成で１次元又は２次元のスクリーン処理が可能となる。
【００６７】
さらに、カウント値に基づいて閾値を算出するので、各画素位置に応じた閾値のデータを予め備えておく必要が無く、またスクリーンパターンの形状やサイズが異なる場合でも、その処理パラメータを共通化することができる。よって、スクリーン処理時の構成を簡素化することができる。閾値のデータを予め備えておく場合、スクリーンパターンの形状に応じてそれぞれの閾値のデータを備えておかなければならないとともに、参照すべき閾値を判別する処理も必要となる。
【００６８】
なお、本実施形態では、カウント値（Ｐｘ、Ｐｙ）から閾値Ｓ（Ｐｘ、Ｐｙ）をその都度算出することとしていたが、図１１に示すようにスクリーンパターン内の各画素はその画素位置に応じて固有のカウント値（Ｐｘ、Ｐｙ）をとるため、その固有のカウント値からスクリーンパターン内での各画素位置を判別することが可能である。よって、カウント値（Ｐｘ、Ｐｙ）に対し、予め閾値を設定した閾値テーブルを備えておき、スクリーン処理時には当該閾値テーブルから注目画素のカウント値（Ｐｘ、Ｐｙ）に対応する閾値を参照することとしてもよい。
【００６９】
例えば、図１１に示す閾値テーブル７４ａをメモリ７４に記憶しておく。閾値テーブル７４ａでは、スクリーンパターン内の各画素位置におけるカウント値（例えば、カウント値“（１２８．０、０）”）に対し、予め算出された閾値（例えば、“１１８”）が設定されている。スクリーン処理時には、開始位置に注目画素を設定し、カウント値（Ｐｘ、Ｐｙ）として（Ｏｘ、Ｏｙ）を設定した後、主走査方向及び副走査方向に１画素づつ走査移動する毎に注目画素の画素位置におけるカウント値（Ｐｘ、Ｐｙ）を参照し、当該カウント値（Ｐｘ、Ｐｙ）に対応する閾値を閾値テーブル７４ａから読み出す。そして、注目画素の画素値と読み出された閾値とを比較し、上述したようにその比較結果に基づいて出力値を「１」又は「０」の何れかに決定して、２値化する。このように、予め閾値テーブル７４ａを準備しておくことにより、容易に画素位置に応じた閾値を参照することができる。
【図面の簡単な説明】
【００７０】
【図１】本実施の形態における画像処理装置１の内部構成を示す図である。
【図２】画像処理部４３の内部構成を示す図である。
【図３】統合処理部７の内部構成を示す図である。
【図４】色毎に異なるスクリーンパターンの一例を示す図である。
【図５】（ａ）色材ＭのスクリーンパターンＭｐを示す図であり、（ｂ）スクリーンパターンを画像に適用した例を示す図である。
【図６】有理正接のスクリーンパターンに応じてセルを設定した例を示す図である。
【図７】分周カウンタＣｘ、Ｃｙによる各画素位置におけるカウント値（Ｐｘ、Ｐｙ）を示す図である。
【図８】スクリーン処理を説明するフローチャートを示す図である。
【図９】閾値関数Ｓ（Ｐｘ、Ｐｙ）のプロット図である。
【図１０】無理正接のスクリーンパターンに応じてセルを設定した例を示す図である。
【図１１】閾値テーブル７４ａのデータ構成例を示す図である。
【図１２】Holladayアルゴリズムを説明する図である。
【符号の説明】
【００７１】
１    画像処理装置
１０    画像読取部
２０    操作部
２５    タッチパネル
３０    表示部
４０    本体部
４１    制御部
４２    記憶部
４３    画像処理部
Ｄ    デコーダ
７    統合処理部
ｙ７１、ｍ７１、ｃ７１、ｋ７１    平均化処理部
ｙ７２、ｍ７２、ｃ７２、ｋ７２    γ補正処理部
ｙ７３、ｍ７３、ｃ７３、ｋ７３    スクリーン処理部
Ｃｘ、Ｃｙ    分周カウンタ
７４    メモリ
４４    ＤＲＡＭ制御部
４５    画像メモリ
４６    画像判別回路
５０    プリンタ部
【図１】
2006067304.tif 000004
【図２】
2006067304.tif 000005
【図３】
2006067304.tif 000006
【図４】
2006067304.tif 000007
【図５】
2006067304.tif 000008
【図６】
2006067304.tif 000009
【図７】
2006067304.tif 000010
【図８】
2006067304.tif 000011
【図９】
2006067304.tif 000012
【図１０】
2006067304.tif 000013
【図１１】
2006067304.tif 000014
【図１２】
2006067304.tif 000015