(57)【特許請求の範囲】
【請求項１】
入力画像に対して複数の隣接画素で構成されるセルの単位でハーフトーン処理を行う画像処理装置において，
点対称の複数の画素で構成された前記セルであって，隣接セルと少なくとも１つの共有画素を共有するセルに適用するように構成されたディザマトリクスを参照して，前記入力画像の入力階調データから前記セル内に網点を形成する出力階調データに変換するハーフトーン処理ユニットを有し， 
前記ハーフトーン処理ユニットは，
前記セルを構成する画素の入力階調値とその合計値にしたがってセル内の重心位置を求める重心位置生成部と，
前記セル内の重心位置の画素を前記ディザマトリクスの網点中心画素に対応させるように前記ディザマトリクスを参照して，前記入力階調値に対応する出力階調値を生成し，当該出力階調値に，前記共有画素を共有するセル数に対応した共有率を乗じた共有化出力階調値を前記出力階調データとして生成する階調値変換部とを有することを特徴とする画像処理装置。
【請求項２】
請求項１において，
前記ハーフトーン処理ユニットは，さらに，
前記セルを構成する画素の入力階調値の平均値を求める平均入力階調値生成部と，
前記平均入力階調値に対応して，当該セル内の複数の画素で出力すべき階調値の合計からなる理想出力合計値を生成する理想出力合計値生成部とを有し，
前記階調値変換部は，前記セル内の網点中心画素からその周囲の画素への順番で前記共有化出力階調値を繰り返して生成し，前記セル内の前記共有化出力階調値の合計が前記理想出力合計値に達するまで前記共有化出力階調値の生成を繰り返すことを特徴とする画像処理装置。
【請求項３】
請求項２において，
前記階調値変換部は，前記セル内の共有化出力階調値の合計が前記理想出力合計値を超えたときは，当該生成した共有化出力階調値を前記理想出力合計値を超えないような階調値に変更することを特徴とする画像処理装置。
【請求項４】
請求項２において，
前記理想出力合計値生成部は，前記セル内の画素の入力階調値から前記共有画素の数とその共有率に応じて求められる値を前記理想出力合計値とすることを特徴とする画像処理装置。
【請求項５】
請求項１において，
前記重心生成部は，前記セル内の共有画素の数とその共有率に依存せずに，前記セル内の複数の画素の入力階調値と位置情報とに応じて前記重心位置を求めることを特徴とする画像処理装置。
【請求項６】
請求項２において，
前記平均入力階調値生成部は，前記セル内の共有画素の数とその共有率に依存せずに，前記セル内の複数の画素の入力階調値と画素数とに応じて前記平均入力階調値を求めることを特徴とする画像処理装置。
【請求項７】
請求項２において，
前記理想出力合計値生成部は，前記出力画像データにより画像を形成する画像形成装置の出力特性を補正する理想出力合計値を，前記平均入力階調値に対応して有する理想出力合計値テーブルを有し，当該理想出力合計値テーブルを参照して前記平均入力階調値に対応する理想出力合計値を生成することを特徴とする画像処理装置。
【請求項８】
請求項１において，
前記ハーフトーン処理ユニットは，前記共有画素においては，当該共有画素を共有するセルに対するハーフトーン処理で生成された前記共有化出力階調値を累積して前記出力階調データとすることを特徴とする画像処理装置。
【請求項９】
入力画像に対して複数の隣接画素で構成されるセルの単位でハーフトーン処理を行う画像処理方法において，
点対称の複数の画素で構成された前記セルであって，隣接セルと少なくとも１つの共有画素を共有するセルに適用するように構成されたディザマトリクスを参照して，前記入力画像の入力階調データから前記セル内に網点を形成する出力階調データに変換するハーフトーン処理工程を有し，
前記ハーフトーン処理工程は，
前記セルを構成する画素の入力階調値とその合計値にしたがってセル内の重心位置を求める重心位置生成工程と，
前記セル内の重心位置の画素を前記ディザマトリクスの網点中心画素に対応させるように前記ディザマトリクスを参照して，前記入力階調値に対応する出力階調値を生成し，当該出力階調値に，前記共有画素を共有するセル数に対応した共有率を乗じた共有化出力階調値を前記出力階調データとして生成する階調値変換工程とを有することを特徴とする画像処理方法。
【請求項１０】
請求項９において，
前記ハーフトーン処理工程は，さらに，
前記セルを構成する画素の入力階調値の平均値を求める平均入力階調値生成工程と，
前記平均入力階調値に対応して，当該セル内の複数の画素で出力すべき階調値の合計からなる理想出力合計値を生成する理想出力合計値生成工程とを有し，
前記階調値変換工程では，前記セル内の網点中心画素からその周囲の画素への順番で前記共有化出力階調値を繰り返して生成し，前記セル内の前記共有化出力階調値の合計が前記理想出力合計値に達するまで前記共有化出力階調値の生成を繰り返すことを特徴とする画像処理方法。
【請求項１１】
入力画像に対して複数の隣接画素で構成されるセルの単位でハーフトーン処理を行う画像処理プログラムにおいて，
コンピュータを，
点対称の複数の画素で構成された前記セルであって，隣接セルと少なくとも１つの共有画素を共有するセルに適用するように構成されたディザマトリクスを参照して，前記入力画像の入力階調データから前記セル内に網点を形成する出力階調データに変換するハーフトーン処理ユニットを有するよう構成するプログラムであって，
前記ハーフトーン処理ユニットが，
前記セルを構成する画素の入力階調値とその合計値にしたがってセル内の重心位置を求める重心位置生成部と，
前記セル内の重心位置の画素を前記ディザマトリクスの網点中心画素に対応させるように前記ディザマトリクスを参照して，前記入力階調値に対応する出力階調値を生成し，当該出力階調値に，前記共有画素を共有するセル数に対応した共有率を乗じた共有化出力階調値を前記出力階調データとして生成する階調値変換部とを有するように構成する画像処理プログラム。
【請求項１２】
請求項１１において，
前記ハーフトーン処理ユニットが，さらに，
前記セルを構成する画素の入力階調値の平均値を求める平均入力階調値生成部と，
前記平均入力階調値に対応して，当該セル内の複数の画素で出力すべき階調値の合計からなる理想出力合計値を生成する理想出力合計値生成部とを有するように構成するプログラムであって，
前記階調値変換部は，前記セル内の網点中心画素からその周囲の画素への順番で前記共有化出力階調値を繰り返して生成し，前記セル内の前記共有化出力階調値の合計が前記理想出力合計値に達するまで前記共有化出力階調値の生成を繰り返すことを特徴とする画像処理プログラム。
【請求項１３】
入力画像に対して複数の隣接画素で構成されるセルの単位でハーフトーン処理を行う画像処理装置において，
点対称の複数の画素で構成された前記セルであって，隣接セルと少なくとも１つの共有画素を共有するセルに適用するように構成されたディザマトリクスを参照して，前記入力画像の入力階調データから前記セル内に網点を形成する出力階調データに変換するハーフトーン処理ユニットを有し，
前記ハーフトーン処理ユニットは，
前記セルを構成する画素の入力階調値とその合計値にしたがってセル内の重心位置を求める重心位置生成部と，
前記セル内の重心位置の画素を前記ディザマトリクスの網点中心画素に対応させるように前記ディザマトリクスを参照して，前記入力階調値に対応する出力階調値を前記出力階調データとして生成する階調値変換部とを有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，固定セルによるハーフトーン処理を行う画像処理装置，画像処理方法，及び画像処理プログラムに関し，特に，点対称の固定セルによるハーフトーン処理を行う画像処理装置等に関する。
【背景技術】
【０００２】
プリンタなどの画像形成装置は，画素の多階調値からなる入力階調データをハーフトーン処理して出力階調データを生成する画像処理装置を有する。この画像処理装置により生成された出力階調データにしたがって印刷エンジンが画像形成を行う。
【０００３】
ハーフトーン処理として，多値ディザ法と称されるドット集中型のディザ法による処理が知られている。多値ディザ法では，複数の画素からなるセル内に入力階調値に応じた面積のドット（網点）を形成する。そのために，画像処理装置は，セル内の複数画素の入力階調値を入力値とし網点を形成するための出力値をテーブルにした多値ディザテーブルをセル内の複数画素にマトリクス配置した、入力階調値を出力階調値に変換するための階調値変換マトリクスであるディザマトリクスをあらかじめ設けておき，入力階調値に対してディザマトリクスの対応する多値ディザテーブルを参照して出力階調値を生成する。または，別の画像処理装置は，入力階調値と比較される閾値テーブルをマトリクス状に構成しておき，入力階調値と対応する閾値とを比較し，入力階調値が閾値より大きいか否かにより網点を形成する出力値を生成する。
【０００４】
一般的な多値ディザ法では，複数の画素からなるセル内において，入力階調値が増大するにしたがってセルの中心から網点が成長する（網点サイズが増大する）ように、ディザマトリクスが構成されている。このように，セル内の固定された中心位置に網点を成長させると，入力画像の細線がドット欠けにより線が切れたり，入力画像のエッジ部に応じた位置に網点を成長できずにエッジ部の形状にジャギー（ギザギザ形状）が発生する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで，上記の問題点を解決するために，本出願人は、セル内の各画素の階調値からセルの重心位置を求め，その重心位置に網点の中心を一致させるようにした多値ディザ法を先願発明で提案している。かかる多値ディザ法は，ＡＡＭ法（Advanced Amplitude Modulation法）と称されている。
【０００６】
特願２００４−１３７３２６号（出願前の確認時点で未公開）
特願２００５−１９６２５６号（未公開）
しかしながら，上記のＡＡＭ法では，セル内の重心位置の画素に網点の中心を一致させている。そのため，セルの形状が非対称の場合は，セル内の階調値が均一であってもセルの重心位置が画素の中心と一致しないので，入力画像の分布がわずかに変化しただけで，重心位置の画素が移動し網点位置が変動する。この網点位置の変動が出力画像に不快なノイズとして出現してしまう。セルの形状は，スクリーン線数や解像度との関係から必ずしも点対称にできるとはかぎられず，非対称セルのハーフトーン処理を行う場合に上記のノイズを回避することが求められる。
【０００７】
そこで，本発明の目的は，上記課題を解決しセル形状に起因するノイズの発生を抑えた出力画像を得ることができる画像処理装置，画像処理方法，画像処理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために，本発明の第１の側面によれば，入力画像に対して複数の隣接画素からなるセルの単位でハーフトーン処理を行ってセル内に網点を形成する出力階調データを生成するハーフトーン処理の画像処理装置において，隣接セルで画素を共有してセルを点対称にしたスクリーンにし，セルの入力階調値から求めたセルの重心位置にスクリーンの網点中心が一致するようにして，網点形成用の出力階調値を求める。そして，出力階調値に共有画素の共有率を乗じた共有化出力階調値を，画像形成用の出力値とする。画素を共有化することでセルの形状を点対称にすることができ，わずかな階調値の分布を有する画像であれば，重心画素をセルの中心画素に維持でき網点位置の変動を抑えることができる。
【０００９】
すなわち，本発明の第１の側面によれば，入力画像に対して複数の隣接画素で構成されるセルの単位でハーフトーン処理を行う画像処理装置において，
点対称の複数の画素で構成された前記セルであって，隣接セルと少なくとも１つの共有画素を共有するセルに適用するように構成されたディザマトリクスを参照して，前記入力画像の入力階調データから前記セル内に網点を形成する出力階調データに変換するハーフトーン処理ユニットを有し，
前記ハーフトーン処理ユニットは，
前記セルを構成する画素の入力階調値とその合計値にしたがってセル内の重心位置を求める重心位置生成部と，
前記セル内の重心位置の画素を前記ディザマトリクスの網点中心画素に対応させるように前記ディザマトリクスを参照して，前記入力階調値に対応する出力階調値を前記出力階調データとして生成する階調値変換部とを有することを特徴とする。
【００１０】
上記の目的を達成するために，本発明の第２の側面によれば，入力画像に対して複数の隣接画素で構成されるセルの単位でハーフトーン処理を行う画像処理装置において，
点対称の複数の画素で構成された前記セルであって，隣接セルと少なくとも１つの共有画素を共有するセルに適用するように構成されたディザマトリクスを参照して，前記入力画像の入力階調データから前記セル内に網点を形成する出力階調データに変換するハーフトーン処理ユニットを有し，
前記ハーフトーン処理ユニットは，
前記セルを構成する画素の入力階調値とその合計値にしたがってセル内の重心位置を求める重心位置生成部と，
前記セル内の重心位置の画素を前記ディザマトリクスの網点中心画素に対応させるように前記ディザマトリクスを参照して，前記入力階調値に対応する出力階調値を生成し，当該出力階調値に，前記共有画素を共有するセル数に対応した共有率を乗じた共有化出力階調値を前記出力階調データとして生成する階調値変換部とを有することを特徴とする。
【００１１】
上記の第２の側面において，好ましい態様によれば，
前記ハーフトーン処理ユニットは，さらに，
前記セルを構成する画素の入力階調値の平均値を求める平均入力階調値生成部と，
前記平均入力階調値に対応して，当該セル内の複数の画素で出力すべき階調値の合計からなる理想出力合計値を生成する理想出力合計値生成部とを有し，
前記階調値変換部は，前記セル内の網点中心画素からその周囲の画素への順番で前記共有化出力階調値を繰り返して生成し，前記セル内の前記共有化出力階調値の合計が前記理想出力合計値に達するまで前記共有化出力階調値の生成を繰り返すことを特徴とする。
【００１２】
上記第１の側面または第２の側面によれば，セルを構成する複数画素が固定化され且つ点対称であるので，重心位置が中心画素からずれることが抑制され，不快なノイズの発生が抑制される。そして，セル内の重心位置に網点を発生させるので，細線やエッジ部での画質低下を抑制することができる。
【発明を実施するための最良の形態】
【００１３】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１４】
図１は，本実施の形態における画像処理装置を有するシステム構成図である。このシステムは，画像データを生成するホストコンピュータ１０と，その画像データから画像を形成して出力する画像形成装置２０とを有する。
【００１５】
ホストコンピュータ１０は，アプリケーション部１１とラスタライズ部１２とを有する。アプリケーション部１１は，ワードプロセッサや図形生成ツールなどのアプリケーションプログラムをインストールすることにより構成され，文字データ，グラフィックデータ，イメージデータなどの画像形成すべき画像データを生成する。ラスタライズ部１２は，例えばオペレーションシステムの特定の機能とプリンタドライバとにより構成され，アプリケーション部１１が生成した画像データを画素に対応した複数ビットの階調値からなる入力画像データに変換して画像形成装置２０に出力する。入力画像データがモノクロデータであれば，例えば８ビット，２５６階調値を有し，入力画像データがカラーデータであれば，ＲＧＢまたはＣＭＹＫそれぞれ８ビット，２５６階調値を有する。ラスタライズ部１２が，画像形成装置２０内の画像処理装置２１内に設けられる場合もある。
【００１６】
画像形成装置２０は，画像処理装置２１と印刷エンジン２２とを有する。画像処理装置２１は，ハーフトーン処理部２１１とパルス幅変調部２１２とを有する。ハーフトーン処理部２１１は，ホストコンピュータ１０から入力画像データを入力し，網点を形成する量子化データを有する出力画像データに変換する。パルス幅変調部２１２は，この出力画像データを画素に対応したレーザー駆動パルスに変換し，印刷エンジン２２に出力する。
【００１７】
印刷エンジン２２は，レーザードライバ２２１とレーザーダイオードやライン状発光素子２２２とを有し，前記レーザー駆動パルスに応じてレーザードライバがレーザーダイオードやライン状発光素子２２２を駆動し，感光体ドラムに出力画像データに対応する画像を形成し，印刷媒体に画像形成する。印刷エンジン２２は，電子写真方式以外にインクジェット方式や熱転写方式であってもよい。
【００１８】
本実施の形態における画像処理装置２１は，専用のハードウエア回路によって構成されることができる。または，ソフトウエアとそれを実行するプロセッサとの組合せによって構成されることもできる。
【００１９】
図２は，本実施の形態における画像処理装置２１の構成図である。この例は，画像処理装置２１がハーフトーン処理を行うプログラムを格納するＲＯＭ２５と，そのプログラムを実行するプロセッサ２４と，一次記憶メモリ２６と，ホストコンピュータから入力画像データを入力する入力インターフェース２３とで構成される。パルス幅変調部もこのプログラムとプロセッサによって構成されることができ，または専用のハードウエア回路で構成されることもできる。
【００２０】
図３は，本実施の形態におけるスクリーン構造を示す図である。マトリクス状の入力画像ＰＸに対して、適用されるスクリーンを構成する網点位置（ドットが示された画素）が規則的に設定され、そしてこの網点位置を中心に入力画像ＰＸがセルに分割（図中、太線）される。
図３（Ａ）では，マトリクス状の画素ＰＸに対して，８画素からなるセル２００が割り当てられている。そして，セル内の階調値が均一の場合は，各セル２００の中心付近の画素（ドットが示された画素）がセル内に形成される網点の中心画素に対応する。しかし，各セル２００の形状は画素２１０だけ右側に歪んでいるので点対称ではない。それに伴って，中心画素の位置はセルの完全な中心にはなっていない。このような非対称のセルを利用すると，入力階調の分布がわずかに変化しただけでセルの階調値による重心位置の画素がずれてしまう。したがって，重心位置の画素を網点の中心にすると，網点位置がずれることになり，不快なノイズとして認識されてしまう。
【００２１】
それに対して，図３（Ｂ）は図３（Ａ）と同様のスクリーンを構成可能で、点対称のセルの例である。すなわち，左右に隣接するセル２００が境界にある画素２１０を共有することで，実質的にセル２００の形状を点対称にする。点対称のセルを利用すれば，入力階調が均一の時のセルの重心位置はセルの中心と完全に一致する（図中のドット）。したがって，入力階調の分布がわずかに変化しただけではセルの重心位置はセルの中心画素内に位置するので，網点の中心画素がシフトすることが抑制される。したがって，非対称セルを利用した時の網点位置がずれることによる不快なノイズの発生を抑制することができる。
【００２２】
図２１は，多値ディザ法における非対称セルと点対称セルとを比較した画像例を示す図である。図２１（Ａ）はオリジナル画像であり階調値が微妙に変化している領域がある。これを非対称セルを利用して多値ディザ法でハーフトーン処理（二値化処理）すると，図２１（Ｂ）のようにセル内の網点位置が変化してノイズとなって現れる。それに対して，点対称セルを利用してハーフトーン処理すると，図２１（Ｃ）のようにノイズが解消される。
【００２３】
本実施の形態では，ハーフトーン処理部のスクリーンを図３（Ｂ）に示された点対称のセル構造に基づいて構成する。そして，点対称化に伴って必要となる共有画素の階調値の取り扱いを，共有画素を共有する隣接セルの数に対応する共有率に基づいて行う。
【００２４】
図４は，本実施の形態におけるスクリーン構造と共有率とを示す図である。前述したとおり，図４（Ａ）に示した点対称のセル２００では，共有画素２１０を左右の隣接セルが共有している。また，図４（Ｂ）には共有率の例が示されている。このスクリーン構造は，セルを対称化するために，各セルの中心画素から等距離にある画素２１０を隣接セルで共有する。共有画素２１０は必ずしも１個であるとは限られず，複数個を共有画素にしてもよい。また，上下の隣接セルが共有画素を共有してもよい。さらに，３個以上のセルで画素を共有化してもよい。スクリーンの設計上，最適なセル形状に対応できるように共有すべき画素の位置と個数，さらにセル数が決定される。
【００２５】
このように，共有画素２１０は左右のセル２００で共有されているので，図中は擬似的に等分割されている。そして，共有画素を等分割するために，セル２００を構成する複数の画素に対して，その画素がセルに属する割合（共有率または寄与率）を与える。図４（Ｂ）に共有率の例が示され，共有画素２１０には左右の２つのセルで共有されているので共有率０．５（共有するセル数が２であるので，共有率＝１／２）が与えられ，それ以外の画素には共有率１．０（共有するセル数は１であるので，共有率１／１）が与えられる。共有率は共有画素２１０にのみ与えられても良いが，上記のように共有されない画素に共有率１．０を与えることで，全ての画素を区別することなく共有率により処理することができる。このように共有率を利用することで，共有画素を等分割したセルを有するスクリーンを設計することができる。
【００２６】
［ハーフトーン処理］
本実施の形態のハーフトーン処理の概略は以下の通りである。図４（Ｂ）に示された共有画素を含む点対称のセルの大きさに対応し、セル内の階調値に対応するサイズの網点を形成するディザマトリクスをあらかじめ設計しておき，ハーフトーン処理では，ディザマトリクスを参照して画素の入力階調値を網点を形成する出力階調値に変換する。ディザマトリクスは、各セルの中心画素（図４でドットで示す画素）をディザマトリックスの中心位置とし、ディザマトリクスは、この中心位置に網点が発生しやすいように構成されている。ただし，共有画素を含む、セルを構成する画素の入力階調値と座標及び入力階調値の合計値に基づいてセルの重心位置を求め，その重心位置の画素が網点中心画素（ディザマトリクスの中心位置）に対応するようにディザマトリクスの参照を行う。これにより，セル内の網点位置が重心位置に整合するので，細線や画像のエッジ部分の画質を向上させることができる。
【００２７】
さらに，ハーフトーン処理では，変換された出力階調値に共有率を乗じて共有化出力階調値を出力階調データとして出力する。つまり，複数の隣接セルにより共有されている共有画素には，共有率に応じた出力階調値を出力することで，共有画素が必要以上に高い階調値になることを防止する。また，ハーフトーン処理部では，セル内の共有化出力階調値の合計がセル内で出力すべき理想出力合計値を超えないようにする。なお，理想出力合計値は，共有率を考慮して求められる値であり，例えば入力階調値の平均値に対応して印刷エンジンのデバイス特性を補正するような出力値であり，あらかじめテーブルを作成しておき，それを参照することで平均入力値から求められる。
【００２８】
本実施の形態では，入力階調値から求める平均入力階調値や重心位置は，共有率に依存しない演算により求められる。これにより入力階調値に忠実な平均値や重心位置を得ることができる。また，ディザマトリクスを参照して変換する出力階調値には共有率を乗算して共有化出力階調値として出力する。これにより共有画素に過剰な出力階調値が与えられないようにする。
【００２９】
図５，６は，本実施の形態におけるハーフトーン処理のフローチャート図である。このフローチャートにしたがってハーフトーン処理を詳述する。その場合，図７〜図１０の第１の入力階調を例にして処理を説明する。
【００３０】
［第１の入力階調値の例］
図７は，入力階調データの第１の例を示す図である。図７には，各画素の入力階調値が全て「４０」の均一階調画像の例であり，画素マトリクス１００に対して図４に示した９個の画素からなるセル２００が対応付けられている。したがって，図７（Ｂ）に示されるとおり，ハーフトーン処理対象のセル２００は，それぞれ入力階調値「４０」を有する９個の画素で構成されている。
【００３１】
図５に示すように，図２の画像処理装置２１を構成するプロセッサ２４は，ハーフトーン処理プログラムをＲＯＭ２５から読み出して処理を開始する（Ｓ１０）。
【００３２】
次に，画像処理装置２１は，セル２００内の９個の画素の入力階調値の合計を演算し，それをセルの画素数「９」で除して平均入力階調値を求める（Ｓ１１）。図７の入力階調値の場合は，入力階調値の合計は「３６０」，平均入力階調値は３６０÷９個＝４０となる。
【００３３】
次に，画像処理装置２１は，セル内の画素の入力階調値と，画素の位置座標と，上記合計入力階調値とから，セル２００の入力階調値に依存した重心位置を演算する（Ｓ１２）。重心位置は，以下の演算式により求められる。
【００３４】
【数１】
0004479663.tif 000002
【００３５】
図８は，セル内における重心位置とセル内の処理順を示す図である。図８（Ａ）に示すとおり，入力階調値が均一なセル２００の場合，その重心１１０は，セル２００の中心位置になる。したがって，重心１１０が属する画素もセル２００の中心画素になる。
【００３６】
図５に示すように，画像処理装置２１は，次に平均入力階調値「４０」からセル内で出力すべき理想出力合計値を決定する（Ｓ１３）。理想出力合計値とは，点対称のセル内で出力すべき出力階調値の合計値であり，共有画素の個数と共有率に依存した値である。つまり，図７の例では，平均入力階調値「４０」にセルの画素数を乗じて，共有画素の個数と共有率を考慮した理想出力合計値「３２０」（＝４０×８画素）になる。
【００３７】
図２２は，平均入力階調値と理想出力合計値との対応を示すテーブル例の図である。このテーブルには，横軸の平均入力階調値０〜２５５（８ビット，２５６階調）に対応して，縦軸の理想出力合計値０〜２０４０（＝２５５×８）が設定されている。理想出力合計値の最大値が２０４０（＝２５５×８）となっているのは，セル内の７個の画素が共有率１．０であり，２個の画素が共有率０．５であるので，画素の最大階調値２５５の８倍（７＋２×０．５＝８）にすべきだからである。
【００３８】
一点鎖線のテーブル３００は，平均入力階調値に対して理想出力合計値がリニアな関係になっている。また，実線のテーブル３１０は，平均入力階調値に対応する理想出力合計値がノンリニアな関係になっていて，これは印刷エンジンのデバイス特性（階調データに対する出力濃度の特性）を補正するように設定されている。図２２の例では，低い平均入力階調値の領域では理想出力合計値はより低く，高い平均入力階調値の領域では理想出力合計値はより高く設定されている。これ以外にも，デバイス特性に依存して異なる特性の変換テーブルが利用可能である。
【００３９】
画像処理装置２１は，あらかじめ設定されている理想出力合計値テーブルを参照して，平均入力階調値に対応する理想出力合計値を決定する（Ｓ１３）。図８（Ａ）に示した理想出力合計値「３２０」は，図２２の一点鎖線のテーブル３００を参照して決定された値である。図２２の実線のテーブル３１０を参照した場合は，「３２０」より小さい値になる。
【００４０】
次に，画像処理装置２１は，ディザマトリクスを参照してセル内の各画素の入力階調値をそれに対応する出力階調値に変換する（Ｓ１７）。そのために，セルの重心画素に近い順から処理できるように画素の処理順を決定する（Ｓ１４）。すなわち，図８（Ｂ）に示すとおり，重心画素が処理順「１」に，その左右上下近傍画素が処理順「２，３，４，５」に，更にその周囲の画素が処理順「６，７，８，９」と決定される。また，本実施の形態では，ディザマトリクスを参照するに際して，セルの重心位置に網点の中心画素が位置するようにするために，セルの重心画素にディザマトリクスの中心をシフトする（Ｓ１５）。
【００４１】
図９は，本実施の形態におけるディザマトリクスを示す図である。このディザマトリクスは，図９（Ａ）のインデックスマトリクスと図９（Ｂ）多値ディザテーブルとで構成される。インテックスマトリクスは，セル内の各画素がどの多値ディザテーブルを参照すべきかを示すテーブル番号を有し，多値ディザテーブルは，入力階調値に対する出力階調値を対応付けた４種類のテーブル１，２，３，４を有する。テーブル１は入力階調値が低い領域で最高出力階調値になっているので，網点中心画素に対応付けられる。テーブル２，３，４は，順に入力階調値がより高くなるにしたがって最高出力階調値になるので，網点の周囲の画素に対応付けられる。
【００４２】
処理工程Ｓ１５の処理では，セルの重心位置に網点の中心画素（テーブル１）が位置するようにディザマトリクスのインデックスマトリクスをシフトする。図７の例では，セルの重心位置がセルの中心にあるので，シフト量は上下共に０である。
【００４３】
図５，６の工程Ｓ１７〜Ｓ２５では，画像処理装置２１がセルの各画素の入力階調値を網点を形成する出力階調値に変換し，共有率を乗算して共有化出力階調値を生成する。そのために，図８（Ｂ）の処理順にしたがって各画素を処理する。まず，処理対象画素の番号ｎ＝１が設定される（Ｓ１６）。そして，ｎ番目（１番目）の画素の入力階調値「４０」に対応する出力階調値が図９の多値ディザテーブル１を参照して決定される（Ｓ１７）。すなわち，出力階調値は最高階調値の「２５５」となる。そして，画像処理装置は，多値ディザテーブル１により変換した出力階調値に共有率「１．０」を乗算して共有化出力階調値を求める（Ｓ１８）。
【００４４】
上記の処理Ｓ１７，Ｓ１８は，セル内の全ての画素に対して処理を終了するまで，処理順にしたがって繰り返される（Ｓ２１，Ｓ２４）。この処理を繰り返しながら，画像出力装置は，メモリ２６内の出力バッファに共有化出力階調値を記憶する（Ｓ２０）。ただし，セル内の共有化出力階調値の合計が理想出力合計値を超えない範囲で（Ｓ１９のＮＯ），上記処理Ｓ１７，Ｓ１８，Ｓ２０が繰り返される。もし，超える場合は（Ｓ１９のＹＥＳ），理想出力合計値を超えないように処理中の画素の出力階調値が調整される（Ｓ２５）。
【００４５】
図１０は，図７の例における出力バッファ内の共有化出力階調値の例を示す図である。図１０を参照しながら，図７の入力階調値の場合の上記工程Ｓ１７〜Ｓ２５について説明する。処理順番「１」の画素では，インデックスマトリクスに従う多値ディザテーブル１を参照して，入力階調値「４０」が出力階調値「２５５」に変換され，共有率「１．０」を乗算した共有化出力階調値「２５５」が，図１０（Ａ）に示されるように出力バッファ１２０に書き込まれる。この時の共有化出力階調値の合計は「２５５」であり，理想出力合計値「３２０」を超えていないので，工程Ｓ１９はＮＯとなる。
【００４６】
次に，ｎ＝ｎ＋１とされて（Ｓ２４），所定順番「２」の画素について，多値ディザテーブル２を参照して，入力階調値「４０」が出力階調値「１６」に変換され，共有率「１．０」を乗算した共有化出力階調値「１６」が，図１０（Ｂ）に示されるように出力バッファ１２０に書き込まれる。この時の共有化出力階調値の合計は「２７１（＝２５５＋１６）」であり，理想出力合計値「３２０」を超えていないので，工程Ｓ１９はＮＯとなる。
【００４７】
同様に，処理順番「３」「４」「５」の画素について，多値ディザテーブル２を参照して，入力階調値「４０」が出力階調値「１６」に変換され，共有率「１．０」を乗算した共有化出力階調値「１６」が，図１０（Ｃ）に示されるように出力バッファ１２０に書き込まれる。この処理を終了した時点で，共有化出力階調値の合計は「３１９」となり理想出力合計値「３２０」を超えていない。そこで，処理順番「６」「７」「８」「９」の画素については，多値ディザテーブル３，４を参照すると，入力階調値「４０」に対して出力階調値「０」になる。したがって，ディザテーブルを参照する階調値変換処理は終了する。
【００４８】
最後に，他のセルでの処理で共有画素に出力値が存在する場合は，その値が出力バッファに加算される（Ｓ２２）。出力値は共有率を乗じた共有化出力階調値であるので，加算された共有画素の出力値は，最高階調値を超えることはない。
【００４９】
また，もし共有化出力階調値の合計が理想出力合計値「３２０」を超える場合は（Ｓ１９のＹＥＳ），合計が理想出力合計値を超えないようにその画素の共有化出力階調値を調整して出力する（Ｓ２５）。
【００５０】
図１０（Ｃ）に示される出力バッファ内の共有化出力階調値にしたがって網点を形成することで，重心位置の画素を中心とする網点が形成される。
【００５１】
［第２の入力階調値の例］
図１１は，入力階調データの第２の例を示す図である。図１１には，セル２００の左端３つの画素の入力階調値が「４０」でそれ以外の入力階調値「０」の不均一な階調画像の例であり，画素マトリクス１００に対して９個の画素からなるセル２００が対応付けられている。したがって，図１１（Ｂ）に示されるとおり，ハーフトーン処理対象のセル２００は，入力階調値「４０」を有する３個の画素と入力階調値「０」を有する６個の画素とで構成されている。
【００５２】
図１２は，図１１に対する重心位置，処理順，インデックスマトリクスを示す図である。また，図１３は，出力バッファに書き込まれる共有化出力階調値を示す図である。まず，図５，６の工程Ｓ１１，Ｓ１２で，入力階調値合計「１２０」，セル内の平均入力階調値「１３（＝１２０÷９）」，重心位置１１０が求められる。重心位置１１０は，図１２（Ａ）に示されるとおり中心画素より左側に１つずれた画素に位置している。また，工程Ｓ１３により出力すべき理想出力合計値「１００」が，図２２のテーブルを参照して決定される。この理想出力合計値は，共有率が考慮されるので，入力階調値の合計「１２０」よりも小さくなっている。
【００５３】
そして，重心位置に基づいて，セル内のおける処理順が図１２（Ｂ）に示すように決定される。処理順番「１」は重心画素から左に１つずれた画素になっている。それに伴って，処理Ｓ１５によりディザマトリクスのインデックステーブルの網点中心が重心画素と一致するようにシフトされる。シフト量は図１２（Ｃ）に示されるとおり，（−１，０）である。
【００５４】
そこで，処理Ｓ１７〜Ｓ２５が繰り返される。図１３に示すとおり，処理順番「１」の画素の入力階調値「４０」が多値ディザテーブル１を参照して，出力階調値「２５５」に変換され（Ｓ１７），共有率「１．０」を乗算して共有化出力階調値「２５５」が決定される（Ｓ１８）。しかし，すでに共有化出力階調値「２５５」は既に理想出力合計値「１００」を超えているので（Ｓ１９のＹＥＳ），理想出力合計値を超えないように，共有化出力階調値は「１００」に調整される（Ｓ２５）。その結果，処理Ｓ１７〜Ｓ２５の処理が終了する。
【００５５】
［第３の入力階調値の例］
図１４は，入力階調データの第３の例を示す図である。図１４には，セル２００の左端１つの画素の入力階調値が「４０」でそれ以外の入力階調値「０」の不均一な階調画像の例であり，画素マトリクス１００に対して９個の画素からなるセル２００が対応付けられている。したがって，図１４（Ｂ）に示されるとおり，ハーフトーン処理対象のセル２００は，入力階調値「４０」を有する１個の画素と入力階調値「０」を有する８個の画素とで構成されている。
【００５６】
図１５は，図１４に対する重心位置，処理順，インデックスマトリクスを示す図である。また，図１６は，出力バッファに書き込まれる共有化出力階調値を示す図である。まず，図５，６の工程Ｓ１１，Ｓ１２で，入力階調値合計「４０」，セル内の平均入力階調値「４（＝４０÷９）」，重心位置１１０が求められる。重心位置１１０は，図１５（Ａ）に示されるとおり中心画素より左側に２つずれた共有画素に位置している。また，工程Ｓ１３により出力すべき理想出力合計値「２８」が，図２２のテーブルを参照して決定される。この理想出力合計値は，共有率が考慮されるので，入力階調値の合計「４０」よりも小さくなっている。
【００５７】
そして，重心位置に基づいて，セル内のおける処理順が図１５（Ｂ）に示すように決定される。処理順番「１」は共有画素になっている。それに伴って，処理Ｓ１５によりディザマトリクスのインデックステーブルの網点中心（テーブル１）が重心画素と一致するようにシフトされる。シフト量は図１５（Ｃ）に示されるとおり，（−２，０）である。
【００５８】
そこで，処理Ｓ１７〜Ｓ２５が繰り返される。図１６に示すとおり，処理順番「１」の画素の入力階調値「４０」が多値ディザテーブル１を参照して，出力階調値「２５５」に変換され（Ｓ１７），共有率「０．５」を乗算して共有化出力階調値「１２７」が決定される（Ｓ１８）。しかし，共有化出力階調値「１２７」は既に理想出力合計値「２８」を超えているので（Ｓ１９のＹＥＳ），理想出力合計値を超えないように，共有化出力階調値は「２８」に調整される（Ｓ２５）。その結果，処理Ｓ１７〜Ｓ２５の処理が終了する。この場合，共有化出力階調値「１２７」も理想出力合計値「２８」もいずれも，共有画素の数と共有率を考慮した値であるので，上記のような調整処理に矛盾はない。
【００５９】
図１６（Ａ）は，上記処理が終了した時点でのセル２００Ｒの出力バッファ１２０Ｒ内の出力値が示されている。また，図１６（Ｂ）は，左隣セル２００Ｌの出力バッファ１２０Ｌの出力値である。左隣セル２００Ｌの出力バッファ１２０Ｌの右端の共有画素２１０には図１６（Ａ）の左端共有画素２１０と同様に共有化出力階調値「２８」が出力されている。そこで，その出力値が加算され（Ｓ２２），図１６（Ｃ）のようにセル２００Ｒの出力バッファ１２０Ｒには左端の共有画素２１０に対して出力値「５６」が書き込まれる。よって，この出力値「５６」にしたがってこの共有画素の画像形成が印刷エンジンで行われる。
【００６０】
［第４の入力階調値例］
図１７は，第４の入力階調データの例を示す図である。図１７（Ａ）の画素マトリクスの中央上部に高い階調値が集中していて，その領域の左右にセル２００Ｌ，２００Ｒが配置されている。この場合，入力階調値「２４４」の画素が最大階調値となり両隣のセル２００Ｌ，２００Ｒの共有画素に対応している。図１７（Ｂ）は，入力階調値に共有率を乗じて平均値や重点位置の演算を行う例であり，図１７（Ｃ）は，本実施の形態のように入力階調値には共有率を乗じることなく平均値や重点位置の演算を行う例である。
【００６１】
図１７（Ｂ）では，共有画素２１０の入力階調値が共有率０．５を乗算された「１２２」に減らされている。それにともなって，セル２００Ｌ，２００Ｒの平均入力階調値は「４４（＝（６０＋１７０＋１２２）÷８）」となる。一方，図１７（Ｃ）では，共有画素２１０の入力階調値「２４４」が共有率０．５を乗算されることなく採用されている。それにより，セル２００Ｌ，２００Ｒの平均入力階調値は「５３（＝（６０＋１７０＋２４４）÷９）」となる。つまり，両者の平均入力階調値が異なっている。本実施の形態のように入力階調値が共有画素に偏っている場合は，共有率を乗じることなく入力階調値から平均値を求めるのが好ましい。
【００６２】
図１８は，第４の入力階調データ例に対する重心位置を示す図である。図１８（Ａ）は，図１７（Ｂ）の入力階調値について求めた重心位置を示す図である。黒点が重心位置であり，共有画素２１０の入力階調値に共有率を乗じているため，重心位置が共有画素２１０より内側にシフトしている。つまり，図１７（Ａ）の入力階調データによれば共有画素２１０の位置が最も階調値が高いのでそこに重心位置が来るのが望ましいが，図１８（Ａ）ではそうはなっていない。
【００６３】
一方，図１８（Ｂ）は，図１７（Ｃ）の入力階調値について求めた重心位置を示す図である。この場合は，共有画素の入力階調値に共有率が乗じられていないので，その重心位置は共有画素２１０内に位置している。つまり，最も階調値が高い位置に重心位置がきているので好ましい結果である。
【００６４】
さらに，理想出力合計値は，図１８（Ａ）では平均値「４４」に対する「３５２」となっているが，図１８（Ｂ）では平均値「５３」に対する「４３０」となっているので，より好ましい結果になっている。
【００６５】
以上のように，本実施の形態では，入力階調値には共有画素数とその共有率を考慮せずに平均値や重心位置の演算を行い，理想出力合計値や共有化出力階調値は共有画素数とその共有率を考慮して演算している。したがって，入力画像データにより忠実に平均値や重心位置の演算を行うことができ，また，共有率を考慮することで過度に出力階調値が高くなることを回避している。
【００６６】
［その他のシステム構成例］
図１９は，他のシステム構成例を示す図である。この例では，ホストコンピュータ１０内にハーフトーン処理部２１１が設けられ，画像形成装置２０内の画像処理装置２１にはパルス幅変調部２１２が設けられている。つまり，ホストコンピュータ１０にインストールされたプリンタドライバをコンピュータが実行することにより，上記したハーフトーン処理を行う。したがって，この場合は，ホストコンピュータ１０は共有化出力階調値のデータを画像データとして画像形成装置２０に出力する。したがって，プリンタドライバがハーフトーン処理プログラムを有することになる。
【００６７】
図２０は，他のシステム構成例を示す図である。この例では，ホストコンピュータ１０が出力する入力画像データがＲＧＢのカラーデータである。それにともなって，画像形成装置２０内の画像処理装置２１はＲＧＢをＣＭＹＫに変換する色変換処理部２１３を有する。そして，ＣＭＹＫの４プレーンの入力階調値がハーフトーン処理部２１１に供給される。ハーフトーン処理部２１１は，４プレーンの入力階調値それぞれに対して，上記した点対称セルによるハーフトーン処理を行って共有化出力階調値データを生成する。
【００６８】
［他の実施の形態例］
上記の実施の形態では，ディザマトリクスをインデックスマトリクスと複数の多値ディザテーブルにより構成したが，それ以外に，インデックスマトリクスと多値ディザテーブルとを合体したディザマトリクスにしてもよい。つまり，ディザマトリクスは，セルの９画素に対応してそれぞれ多値ディザテーブルを有する構成になる。
【００６９】
また，ディザマトリクスを閾値マトリクスとし，入力階調値と比較して比較結果に応じてその画素にドット（トナー画素）を形成するようにしても良い。
【００７０】
さらに，上記の実施の形態では，階調値変換を共有化出力階調値が理想出力合計値を超えない範囲で繰り返している。セル内の全ての画素について階調値変換をしても共有化出力階調値の合計が理想出力合計値に達しない場合は，最大階調に達していない画素の出力階調値を増加させて理想出力合計値に達するように調整しても良い。そのような調整をすることで，出力を入力階調値データに整合させることができる。
【図面の簡単な説明】
【００７１】
【図１】本実施の形態における画像処理装置を有するシステム構成図である。
【図２】本実施の形態における画像処理装置２１の構成図である。
【図３】本実施の形態におけるスクリーン構造を示す図である。
【図４】本実施の形態におけるスクリーン構造と共有率とを示す図である。
【図５】本実施の形態におけるハーフトーン処理のフローチャート図である。
【図６】本実施の形態におけるハーフトーン処理のフローチャート図である。
【図７】入力階調データの第１の例を示す図である。
【図８】セル内における重心位置とセル内の処理順を示す図である。
【図９】本実施の形態におけるディザマトリクスを示す図である。
【図１０】図７の例における出力バッファ内の共有化出力階調値の例を示す図である。
【図１１】入力階調データの第２の例を示す図である。
【図１２】図１１に対する重心位置，処理順，インデックスマトリクスを示す図である。
【図１３】出力バッファに書き込まれる共有化出力階調値を示す図である。
【図１４】入力階調データの第３の例を示す図である。
【図１５】図１４に対する重心位置，処理順，インデックスマトリクスを示す図である。
【図１６】出力バッファに書き込まれる共有化出力階調値を示す図である。
【図１７】第４の入力階調データの例を示す図である。
【図１８】第４の入力階調データ例に対する重心位置を示す図である。
【図１９】他のシステム構成例を示す図である。
【図２０】他のシステム構成例を示す図である。
【図２１】多値ディザ法における非対称セルと点対称セルとを比較した画像例を示す図である。
【図２２】平均入力階調値と理想出力合計値との対応を示すテーブル例の図である。
【符号の説明】
【００７２】
２００：セル                ２１０：共有画素
【図１】
0004479663.tif 000003
【図２】
0004479663.tif 000004
【図３】
0004479663.tif 000005
【図４】
0004479663.tif 000006
【図５】
0004479663.tif 000007
【図６】
0004479663.tif 000008
【図７】
0004479663.tif 000009
【図８】
0004479663.tif 000010
【図９】
0004479663.tif 000011
【図１０】
0004479663.tif 000012
【図１１】
0004479663.tif 000013
【図１２】
0004479663.tif 000014
【図１３】
0004479663.tif 000015
【図１４】
0004479663.tif 000016
【図１５】
0004479663.tif 000017
【図１６】
0004479663.tif 000018
【図１７】
0004479663.tif 000019
【図１８】
0004479663.tif 000020
【図１９】
0004479663.tif 000021
【図２０】
0004479663.tif 000022
【図２１】
0004479663.tif 000023
【図２２】
0004479663.tif 000024