(57)【特許請求の範囲】
【請求項１】
入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理装置において、
前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する量子化手段を備え、
各前記画素群の中心画素から等距離にある画素を共有画素とし、当該共有画素が前記各画素群の夫々に含まれることにより、各前記画素群の形状が点対称とされ、
前記画素群を構成する各画素に対して当該画素群に属する割合を示す寄与率が設定され、前記共有画素は当該共有画素を含む前記画素群の数に応じた前記寄与率が設定され、
前記量子化手段は、
前記画素群に含まれる前記各画素の前記入力画像データに前記寄与率を乗算した値から前記画素群の重心位置を決定する重心位置決定手段と、
前記画素群の重心位置に、前記画素群単位に適用される多値ディザマトリックスの中心を配置させる配置手段と、
前記配置された多値ディザマトリックスに含まれる各画素の前記入力画像データと出力値との対応関係を参照して、前記画素群に含まれる前記各画素の前記入力画像データから出力値を得、更に前記出力値に前記寄与率を乗算した値を前記出力画像データとして出力する出力手段とを含むことを特徴とする画像処理装置。
【請求項２】
入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理方法において、
前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する工程を備え、
各前記画素群の中心画素から等距離にある画素を共有画素とし、当該共有画素が前記各画素群の夫々に含まれることにより、各前記画素群の形状が点対称とされ、
前記画素群を構成する各画素に対して当該画素群に属する割合を示す寄与率が設定され、前記共有画素は当該共有画素を含む前記画素群の数に応じた前記寄与率が設定され、
前記変換工程は、
前記画素群に含まれる前記各画素の前記入力画像データに前記寄与率を乗算した値から前記画素群の重心位置を決定する重心位置決定工程と、
前記画素群の重心位置に、前記画素群単位に適用される多値ディザマトリックスの中心を配置させる配置工程と、
前記配置された多値ディザマトリックスに含まれる各画素の前記入力画像データと出力値との対応関係を参照して、前記画素群に含まれる前記各画素の前記入力画像データから出力値を得、更に前記出力値に前記寄与率を乗算した値を前記出力画像データとして出力する出力工程とを含むことを特徴とする画像処理方法。
【請求項３】
入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理プログラムにおいて、
前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する処理、
をコンピュータに実行させる画像処理プログラムであって、
各前記画素群の中心画素から等距離にある画素を共有画素とし、当該共有画素が前記各画素群の夫々に含まれることにより、各前記画素群の形状が点対称とされ、
前記画素群を構成する各画素に対して当該画素群に属する割合を示す寄与率が設定され、前記共有画素は当該共有画素を含む前記画素群の数に応じた前記寄与率が設定され、
前記変換処理には、
前記画素群に含まれる前記各画素の前記入力画像データに前記寄与率を乗算した値から前記画素群の重心位置を決定する重心位置決定処理と、
前記画素群の重心位置に、前記画素群単位に適用される多値ディザマトリックスの中心を配置させる配置処理と、
前記配置された多値ディザマトリックスに含まれる各画素の前記入力画像データと出力値との対応関係を参照して、前記画素群に含まれる前記各画素の前記入力画像データから出力値を得、更に前記出力値に前記寄与率を乗算した値を前記出力画像データとして出力する出力処理とを含むことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。詳しくは、対称化した形状のセルを用いて量子化処理を行う画像処理装置等に関する。
【背景技術】
【０００２】
従来から、プリンタなどの画像処理装置は、画素ごとに多値の階調値を有する入力画像データに対して、ハーフトーン処理により、それよりも低い階調数（例えば２値）の出力画像データに変換して、印刷用紙に印刷が行われている。
【０００３】
ハーフトーン処理としては、ドット集中型ディザ法（多値ディザ法）による処理が知られている。多値ディザ法は、所定の大きさのマトリックス内に中央部からドットが成長するように閾値が配分され、入力階調値との比較により処理を行う。
【０００４】
しかし、多値ディザ法では閾値の配分によって、例えば、入力画像に細線があるとその細線が切れたり、入力画像のエッジ部でジャギーが発生するなど、入力画像に忠実でない画像が出力され、画質面に問題があった。
【０００５】
そこで、これらの問題点を解決するため、複数画素から構成されるセル内の各画素の階調値から重心位置を求め、その重心位置に各画素の階調値の和に対応するドットを生成させるようにしたものが提案されている（例えば以下の特許文献１、以下「ＡＡＭ（Advanced ＡＭスクリーン）法」と称す）。
【特許文献１】特願２００４−１３７３２６号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＡＡＭ法では、セル内の重心位置にドットを生成させるようにしているが、セルの形状が非対称の場合には、セルの重心が画素の中心と一致しないため、入力画像の分布がわずかに変化しただけで、ドットの発生する画素位置が１画素分移動する。このドット位置のばらつきが不快なノイズとなって出力画像に現れていた。
【０００７】
そこで、本発明は上記問題点に鑑みてなされたもので、その目的は、不快なノイズの発生を抑えた出力画像を得る画像処理装置、画像処理方法、及び画像処理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理装置において、形状が点対称な前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する量子化手段、を備えることを特徴としている。これにより、例えば、画素群の重心位置にある画素にドットを発生させれば、均一な入力階調分布がわずかに変化しても、画素群の重心位置はドット発生画素の中心近傍に位置するため、ドットが発生する画素位置にばらつきがなく、不快なノイズを抑えた出力画像を得る。
【０００９】
また、本発明は、上記画像処理装置において、各前記画素群を構成する少なくとも１つの画素は複数の前記画素群に共有される、ことを特徴とする。これにより、各画素群の形状が対称化されることになり、ノイズの発生を抑えた出力画像を得る。
【００１０】
また、本発明は、上記画像処理装置において、各前記画素群に共有される画素は、各前記画素群の中心から等距離となる画素である、ことを特徴とする。これにより、各画素群が共有する画素数を少なくでき、画素の共有による処理量の増加を抑えることができる。
【００１１】
更に、本発明は、上記画像処理装置において、前記画素群を構成する各画素に対して共有レベルが設定され、前記共有画素については当該共有画素を共有する前記画素群の数に応じた共有レベルが設定される、ことを特徴としている。これにより、例えば、共有画素は複数画素群で等分割され画素群の形状を対称化させることができる。
【００１２】
更に、本発明は、上記画像処理装置において、前記量子化手段は、前記画素群に含まれる前記各画素の前記入力画像データに前記共有レベルを乗算した値から前記画素群の重心位置を決定する重心位置決定手段と、前記画素群の重心位置に、前記画素群単位に適用される多値ディザマトリックスの中心を配置させる配置手段と、前記配置された多値ディザマトリックスと前記画素群に含まれる前記各画素の前記入力画像データとを比較して前記出力画像データを得る出力手段と、を含むことを特徴とする。これにより、例えば、各画素の入力画像データに共有レベルを乗算した値を用いて重心位置を決定しているため、共有画素が複数画素群で処理されることによる正確な重心位置への影響を少なくすることができる。
【００１３】
更に、本発明は、上記画像処理装置において、前記多値ディザマトリックスには、前記入力画像データと出力値との対応関係を示すテーブルのテーブル番号が格納され、前記出力手段は、前記画素群に含まれる各画素位置に対応する前記多値ディザマトリックスの前記テーブル番号を参照して前記入力画像データから出力値を得、更に前記出力値に前記共有レベルを乗算した値を前記出力画像データとして出力する、ことを特徴とする。これにより、例えば、共有画素の出力値が複数画素群で複数回加算しても、最大階調数の範囲内に共有画素の出力画像データを収めることができる。
【００１４】
更に、本発明は、上記画像処理装置において、前記出力手段は、前記画素群内の各画素の前記入力画像データに前記共有レベルを乗算した値の合計に基づく理想階調値が得られたときに前記画素群内における前記量子化処理を終了させる、ことを特徴とする。これにより、例えば、画素群の入力画像データの合計値である理想階調値を求めるときに、入力画像データに寄与率を乗算した値を用いることで、各画素はその寄与率に応じた入力画像データが画素群に属するものとみなすことができ、入力階調情報に忠実な出力を得ることができる。
【００１５】
更に、本発明は、上記画像処理装置において、前記出力手段は、前記画素群内の各画素の前記入力画像データに前記共有レベルを乗算した値の合計に基づく理想階調値が得られなかったとき、前記画素群内の前記入力画像データの合計が略前記理想階調値となるよう補足処理を行う補足手段を含む、ことを特徴としている。これにより、例えば、画素群の入力画像データの合計値である理想階調値を求めるときに、入力画像データに寄与率を乗算した値を用いることで、各画素はその寄与率に応じた入力画像データが画素群に属するものとみなすことができ、入力階調情報に忠実な出力を得ることができる。
【００１６】
また、上記目的を達成するために本発明は、入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理装置において、前記画素群の中心位置と前記画素群に含まれるいずれかの画素の中心位置とが一致する前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する量子化手段、を備えることを特徴とする。これにより、例えば、画素群の重心位置に存在する画素にドットを発生させれば、均一な入力階調分布がわずかに変化しても、画素群の重心位置はドット発生画素の中心近傍に位置するため、ドットが発生する画素位置にばらつきがなく、不快なノイズを抑えた出力画像を得る。
【００１７】
更に、上記目的を達成するために本発明は、入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理方法において、形状が点対称な前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する工程、を備えることを特徴としている。
【００１８】
更に、上記目的を達成するために本発明は、入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理方法において、前記画素群の中心位置と前記画素群に含まれるいずれかの画素の中心位置とが一致する前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する工程、を備えることを特徴とする。
【００１９】
更に、上記目的を達成するために本発明は、入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理プログラムにおいて、形状が点対称な前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する処理、をコンピュータに実行させることを特徴としている。
【００２０】
更に、上記目的を達成するために本発明は、入力画像を複数画素から構成される画素群に分割し、前記画素群単位で量子化処理を行う画像処理プログラムにおいて、前記画素群の中心位置と前記画素群に含まれるいずれかの画素の中心位置とが一致する前記画素群を用いて、入力画像データから２種類以上の階調を有する出力画像データに変換する処理、をコンピュータに実行させることを特徴とする。
【発明を実施するための最良の形態】
【００２１】
〔第１の実施例〕
以下、図面を参照して本発明を実施するための最良の形態を説明する。図１は、本発明が適用されるシステム全体の構成を示す図である。本システムは、全体としてホストコンピュータ１０と画像処理装置２０とから構成される。
【００２２】
ホストコンピュータ１０は、アプリケーション部１１とラスタライズ部１２とから構成される。
【００２３】
アプリケーション部１１は、ワードプロセッサや図形ツールなどのアプリケーションプログラムにより文字データや図形データ等の印刷対象のデータを生成する。ラスタライズ部１２は、印刷対象のデータを画素ごと（又はドットごと）に８ビットの入力画像データに変換して画像処理装置２０に出力する。従って、入力画像データは各画素「０」から「２５５」までの階調値を有する。
【００２４】
画像処理装置２０は、画像処理部２１と印刷エンジン２２とから構成される。また、画像処理部２１はハーフトーン処理部２１１とパルス幅変調部２１２とから構成される。
【００２５】
ハーフトーン処理部２１１は、ホストコンピュータ１０から入力画像データが入力され、２種類以上の量子化データを有する出力画像データに変換する。パルス幅変調部２１２は、この量子化データに対してドットごとにレーザ駆動パルス有り又は無しを示す駆動データを生成し、印刷エンジン２２に出力する。
【００２６】
印刷エンジン２２は、レーザドライバ２２１とレーザダイオード（ＬＤ）２２２とから構成される。レーザドライバ２２１は、駆動データに対して駆動パルス有り又は無し等を示す制御データを生成してＬＤ２２２に出力する。ＬＤ２２２は、制御データに基づいて駆動され、更に、感光体ドラム等の駆動により実際に印刷用紙にホストコンピュータ１０で生成した印刷データが印刷される。
【００２７】
本発明は、図１に示すようにハードウェアとして構成された画像処理装置２０に適用しても良いし、図２に示す画像処理装置２０においてソフトウェアとして適用しても良い。ここで、ＣＰＵ２４、ＲＯＭ２５、及びＲＡＭ２６が図１におけるハーフトーン処理部２１１やパルス幅変調部２１２に対応する。
【００２８】
次に、本発明に係るハーフトーン処理の詳細について説明するが、その前に簡単に本発明の概要について説明する。
【００２９】
まず、入力画像を予め固定された（決められた）複数画素からなる画素群（以下、「セル」）に分割する。セル単位で処理を進めるためである。そして、そのセルに対して、参照すべきガンマテーブルのテーブル番号が格納されたインデックスマトリックスを適用する。その後、ガンマテーブルを参照することで各画素の入力階調値に対応する出力階調値を得てドットを発生させるようにする。
【００３０】
本発明の特徴は、このセルの形状を対称化している点にある。対称化することで、セルの中心位置とセル内に含まれるいずれかの画素の中心位置とが一致する。均一な階調の入力画像が与えられると、セルの中心位置が重心位置となって、この重心位置に存在する画素にドットを発生させれば、画素の中心にドットが発生する。
【００３１】
かかる状況で、入力画像の階調がわずかに変化しても、重心位置は画素の中心近傍にあるため、ドットの発生する画素位置自体ずれることがなく、ドットのばらつきを抑えることができる。よって、ノイズの発生を抑えた出力画像を得る。
【００３２】
セル形状の対称化は、各セルの中心画素から等距離にある画素を各セルで共有する形で実現している。共有化前と共有化後のセル形状の例を図３に示す。共有画素２１０は、図３（Ｂ）に示すように左右のセル２００で共有され、擬似的に等分割している。
【００３３】
そして、この共有画素２１０を等分割にするために、セル２００の各画素に対して、その画素がセル２００に属する割合（寄与率、共有レベル）を与える。その例を図４に示す。左端の共有画素２１０は左隣のセル２００に共有され、右端の共有画素２１０は右隣のセル２００に共有される。この例では、共有画素２１０は２つのセル２００で処理対象の画素となるため、その寄与率を「０．５」としている。各画素で寄与率を合計すると全ての画素で「１」となる。
【００３４】
尚、図３に示すセル２００は、以下のようにして決定される。まず、モアレ発生を抑える位置に網点中心位置（ドット中心位置。図中、黒点で示される）を決定する。ドット中心位置に位置する画素をセル２００に取り込む。そして、ある画素の中心位置と各ドット中心位置との距離を比較して近い方のドット中心位置に当該画素が含まれるようにセル２００を構成していく。この場合、図３（Ａ）に示すように、２つのドット中心位置から等距離にある画素が存在するが、この場合、どちらかのセル２００（本例では、左側のセル）に含めるようにする。このままでは、出力画像にノイズが発生するため、更に図３（Ｂ）のように、形状を対称化したセル２００を構成する。
【００３５】
次に、かかるセル２００を利用したハーフトーン処理の動作について説明する。図５乃至図６は、セル２００内における処理のフローチャートである。本実施例１では図７（Ａ）に示すように均一な階調のデータが入力された場合の例であり、ある時点において太線で示すセル２００が処理対象となっているものとする。
【００３６】
まず、ＣＰＵ２４は本処理を実行するためのプログラムをＲＯＭ２５から読み出して処理を開始する（Ｓ１０）。
【００３７】
次いで、ＣＰＵ２４は各画素の入力階調値に寄与率を乗算する（Ｓ１１）。例えば、図７（Ｂ）に示す例の場合、寄与率「１」の画素は、「４０」となり、寄与率「０．５」の画素は「２０」となる（図７（Ｃ）参照）。
【００３８】
次いで、ＣＰＵ２４はセル２００内の階調値の合計とセル２００の重心位置とを演算する（Ｓ１２）。
【００３９】
階調値の合計と重心位置１１０の演算では、入力階調値に寄与率を乗算した値を利用する。乗算した値を用いるのは、セル２００内における各画素は寄与率に応じた階調値がセル２００に属しているものとみなしていること、共有画素２１０については複数のセル２００で処理対象となるため入力階調値そのものを利用すると当該セル２００での正確な重心位置１１０を演算できないこと、を考慮しているからである。
【００４０】
図７の例では、合計値は「３２０」、重心位置は図８（Ａ）の黒丸で示す位置となる。尚、重心位置１１０は、以下の演算式により求める。
【数１】
0004412248.tif 000002
【００４１】
次いで、ＣＰＵ２４は、重心位置１１０に存在する画素に近い順から処理できるように処理順を決定する（Ｓ１３）。図７の例では、図８（Ｂ）に示す順となる。
【００４２】
次いで、ＣＰＵ２４はセル２００の重心位置１１０にインデックスマトリックスの中心位置が位置するようにマトリックスの中心位置をシフトさせる（Ｓ１４）。重心位置１１０とマトリックス内で最もドットが発生され易い画素位置とを一致させることで、重心位置１１０にドットが生成され易くするためである。上述の例では、重心位置１１０とセル２００の中心とが一致するためシフト量は（０，０）となる。シフト後のインデックスマトリックスの例を図９（Ａ）に示す。
【００４３】
次いで、ＣＰＵ２４は決定した処理順に従って各画素に出力階調値を割り当てる。即ち、画素の処理の順番を示す「ｎ」に「１」を代入し（Ｓ１５）、「ｎ」番目に処理する画素の入力階調値に対応する出力値をガンマテーブルから読み込む（Ｓ１６）。上述の例では、「１」番目の画素のインデックス値は「１」（図８（Ｂ）及び図９（Ａ）参照）、入力階調値は「４０」(図７（Ｂ）参照)のため、番号「１」のガンマテーブルの入力階調値「４０」に対応する出力値（この例では「２５５」）を読み込む。
【００４４】
本実施例では、ガンマテーブルを参照する際に、入力階調値に寄与率を乗算した値から出力値を求めることはせず、入力階調値自体から出力値を得るようにしている。寄与率を乗算した値を用いると、ガンマテーブルにおいて設計時に想定した入出力関係が崩れてしまうためである。
【００４５】
次いで、ＣＰＵ２４はこの出力値に寄与率を乗算する（Ｓ１８）。上述の例では、「２５５」に寄与率「１」を乗算する。
【００４６】
ガンマテーブルから得た出力値に寄与率を乗算しているのは、共有画素２１０について複数のセル２００で複数回処理されるため、寄与率を乗算しないと共有画素２１０の最大階調値が「２５５」を超えてしまうからである。
【００４７】
次いで、ＣＰＵ２４は、寄与率を乗算した値（以下、「候補値」）を出力済み階調値の合計値に加算し、その値が理想階調値を超えるか否か判断する（図６のＳ１９）。理想階調値とは、本実施例ではセル２００内の入力階調値に寄与率を乗算した値の合計値である。図７の例では、理想階調値は「３２０」となる。理想階調値分の出力階調値が得られた時点で処理を終了させれば、必要以上に大きい（太い）ドットが生成されるのを防止することができるからである。
【００４８】
従って、ＣＰＵ２４は理想階調値を超えたとき（ＹＥＳ）、理想階調値と等しくなるように候補値を調整して出力バッファに加算する（Ｓ２５）。一方、理想階調値を越えないとき（Ｓ１９でＮＯ）、候補値をそのまま出力バッファに加算する（Ｓ２０）。
【００４９】
上述の例では、候補値「２５５」に出力済みの階調値の合計「０」を加算しても理想階調値「３２０」を超えない。よって、候補値「２５５」をそのまま出力バッファ１２０に加算する。その例を図１０（Ａ）に示す。尚、出力バッファは、出力階調値（量子化データ）を格納するバッファで、例えばＲＡＭ２６に対応する。
【００５０】
次いで、ＣＰＵ２４はセル２００内の全ての画素に対して処理が終了したか否かを判断し（Ｓ２１）、処理が終了していないと（ＮＯ）、処理順を示す「ｎ」に「１」を加算し（Ｓ２４）、再びＳ１６に移行する。
【００５１】
上述の例では、「２」番目の画素に処理が移行し（図８（Ｂ）参照）、当該画素のインデックス値は「２」（図９（Ａ）参照）、入力階調値は「４０」（図７（Ｂ）参照）のため、２番目のガンマテーブルを参照して出力値「１６」を読み込む（Ｓ１６）。
【００５２】
この出力値「１６」に寄与率「１」を乗算して出力バッファ１２０に加算しても、その値は「２７１」のため理想階調値「３２０」を超えない（Ｓ１９でＮＯ）。従って、「１６」全てを加算する（Ｓ２０）。その例を、図１０（Ｂ）に示す。
【００５３】
以下、同様の処理を繰り返し、図１０（Ｃ）に示す出力値を得る。
【００５４】
そして、ＣＰＵ２４は共有画素２１０について他のセル２００の処理で既に出力値があれば（出力バッファ１２０に出力されていれば）、その出力値を上述して得た出力値に加算して出力バッファ１２０に出力する（Ｓ２２）。
【００５５】
その後、ＣＰＵ２４は当該セル２００についての処理を終了する（Ｓ２３）。次のセル２００に対しては、再びＳ１０からの処理を繰り返すことで実行される。
【００５６】
〔第２の実施例〕
第１の実施例では、均一な階調のデータが入力された場合について説明した。本第２の実施例では、階調値がセル２００の左側に偏った場合の例で説明する。その例を図１１（Ａ）に示す。そして、ある時点において太線で示すセル２００が処理対象になったものとする。セル２００内の入力データは図１１（Ｂ）に示す分布とする。
【００５７】
まず、ＣＰＵ２４は入力階調値に寄与率を乗算する（Ｓ１１、図１１（Ｃ）参照）。
【００５８】
次いで、ＣＰＵ２４は、乗算値を用いて階調値の合計の演算（＝理想階調値の演算）と重心位置１１０の演算を行う（Ｓ１２、図１２（Ａ）参照）。
【００５９】
次いで、ＣＰＵ２４は重心画素から近い順に処理順を決定する（Ｓ１３、図１２（Ｂ）参照）。
【００６０】
次いで、ＣＰＵ２４はインデックスマトリックスの中心をシフトさせる（Ｓ１４）。この例の場合、重心位置１１０はインデックスマトリックスの中心位置の画素に対して１画素分左に寄っている。従って、（−１，０）だけマトリックスの中心をシフトさせる。シフト後のマトリックスの例を図１２（Ｃ）に示す。
【００６１】
その後、ＣＰＵ２４は決定した処理順に従い、各画素に出力値を割り当てる。１番目に処理する画素のインデックス値は「１」、入力階調値は「４０」のため、１番目のガンマテーブルの入力値「４０」に対応する出力値「２５５」を読み込む（Ｓ１６）。
【００６２】
次いで、ＣＰＵ２４は出力値「２５５」に寄与率「１」を乗算した「２５５」を出力バッファ１２０に加算する（Ｓ１８）。
【００６３】
この場合、加算値「２５５」は理想階調値「１００」を超えるため（Ｓ１９でＹＥＳ）、ＣＰＵ２４は出力値「２５５」をそのまま出力バッファ１２０に加算することはせず、理想階調値に達するのに必要な値「１００」を加算する（Ｓ２５）。そして、処理が終了する（Ｓ２３）。終了後の出力バッファ１２０を図１３に示す。
【００６４】
本実施例２でも実施例１と同様に、セル２００の入力階調値の合計を求めるときやセル２００の重心位置１１０を演算するときに入力階調値に寄与率を乗算した値を用いて演算する。また、ガンマテーブルを参照するときの入力値は入力階調値自体を用いて出力値を得るようにしている。更に、ガンマテーブルを参照して出力値を得るときは、テーブルから得た出力値に寄与率を乗算した値を用いて理想階調値分の出力を得るようにしている。
【００６５】
本実施例２の作用効果は、実施例１と同様である。
【００６６】
〔第３の実施例〕
本第３の実施例は、階調値がセル２００の共有画素２１０にのみ存在する場合の例である。図１４（Ａ）に入力データの例を示す。同様にある時点において太線で示すセル２００が処理対象になったものとして説明する。
【００６７】
各画素の入力階調値に寄与率を乗算すると（Ｓ１１）、図１４（Ｃ）に示すデータを得る。寄与率を乗算した値を用いて階調値の合計と重心位置１１０とを演算すると（Ｓ１２）、図１５（Ａ）のようになる。重心位置１１０はセル２００中心から２画素左の共有画素２１０に位置する。
【００６８】
処理順を決定し（Ｓ１３、図１５（Ｂ）参照）、インデックスマトリックスを（−２，０）だけシフトさせ（Ｓ１４、図１５（Ｃ）参照）、決定した順で出力値を割り当てる。
【００６９】
即ち、共有画素２１０については、ガンマテーブルから入力階調値「４０」に対応する出力値「２５５」が読み込まれる（Ｓ１６）。寄与率を乗算して「１２７」を候補値とし（Ｓ１８）、理想階調値「２０」を超えるため（Ｓ１９でＹＥＳ）、理想階調値に達するのに必要な「２０」だけ出力バッファ１２０に加算する（Ｓ２５、図１６（Ａ）参照）。
【００７０】
この共有画素２１０は、左隣のセル２００においても処理対象の画素である。例として、左隣のセル２００に対する処理の結果、図１６（Ｂ）に示す出力値が得られたとする。
【００７１】
この場合、共有画素２１０には、左隣のセル２００での出力値「２０」と、本セル２００での出力値「２０」が存在する。かかる場合、これらの出力値を加算した「４０」が共有画素２１０の出力階調値として出力される（Ｓ２２、図１７（Ｃ）参照）。この「４０」は共有画素２１０の入力階調値「４０」と等しい値である。つまり、本来出力すべき階調値を出力したことになる。
【００７２】
共有画素２１０は各セルで処理対象の画素で複数回加算されるため、ガンマテーブルから得た出力値をそのまま加算すると最大値「２５５」を超えてしまう。前述したように、出力値に寄与率を乗算しその値を加算することで、出力階調値を「０」から「２５５」の範囲に収めることができる。
【００７３】
本実施例３でも、実施例１や２で得たものと同様の作用効果を奏する。
【００７４】
〔他の実施例〕
上述した例では、ガンマテーブルを参照して入力階調値から出力値を得るようにした。それ以外にも、いわゆる多値ディザ法による処理で出力値を得るようにしてもよい。
【００７５】
セル２００を対称化させることで、セル２００の中心と画素の中心とが一致するので、均一な入力階調分布からわずかにずれた分布があったとしても、ドット発生画素位置がずれることはなく、ノイズの発生を抑えた出力画像を得る。セル２００を対称化させれば、多値ディザ法による処理以外にも、ＡＡＭ法による処理でもよい。
【００７６】
また、上述した例では、共有画素２１０については寄与率を「０．５」として処理を行った。これは、共有画素２１０は２つのセル２００で処理対象の画素だったからである。従って、３つのセル２００で共有されると、その寄与率は「１／３」、４つのセル２００では「０．２５」となる。共有画素２１０で共有されるセル２００の個数に応じた共有レベルを設定すればよい。この場合でも、上述した例と同様の作用効果を得る。
【００７７】
更に、上述した例では、各セル２００内における処理で出力済み階調値の合計が理想階調値に達しなくてもセル２００内の全ての画素に対する処理が終了した時点で当該セル２００における処理が終了する（Ｓ１９でＮＯ、Ｓ２１でＹＥＳ）。従って、セル２００内の出力階調値が理想階調値に達しない場合もある。この場合、不足階調値分を重心位置１１０に近いドット未出力画素に配分する処理を行ったり、出力値を一旦リセットし、例えば、多値ディザマトリックスよりもドット密度の高いディザマトリックスを用いた処理（高線数多値ディザ処理）や、セル２００内で入力階調値の大きい画素順に理想階調値を再配分する処理などの補足処理を行い、理想階調値と略一致する出力値を得るようにしてもよい。
【００７８】
更に、上述した例では、本発明にかかるハーフトーン処理が画像処理装置２０で行われるものとして説明したが、図１７に示すようにホストコンピュータ１０で行われてもよい。この場合、ホストコンピュータ１０が本発明に係る画像処理装置として機能する。
【００７９】
また、上述した例は入力画像データをモノクロデータとして説明した。それ以外にも、図１８に示すようにＣＭＹＫのカラーデータに対して本発明が適用されてもよい。
【００８０】
この場合に、ラスタライズ部１２からはＲＧＢカラーデータが出力され、画像処理装置２０内の色変換処理部２１３によりＣＭＹＫのカラーデータに変換される。この際に本発明は、ＣＭＹＫのプレーンごとに上述した処理が繰り返される。
【００８１】
更に、色変換処理部２１３がホストコンピュータ１０に設けられている場合や、色変換処理２１３とハーフトーン処理部２１１とがホストコンピュータ１０に設けられている場合でもよい。いずれの場合も上述した例と同様の作用効果を奏する。
【００８２】
更に、上述した例は、入力画像データの階調数は「０」から「２５５」までの２５６階調（８ビット）、量子化データも同様に２５６階調（８ビット）として説明した。勿論、これ以外にも、１２８階調（７ビット）や５１２階調（９ビット）等種々の階調数であっても同様の作用効果を奏する。
【００８３】
更に、上述した例では、画像処理装置２０の例としてプリンタを例にした説明した。勿論、複写機やファクシミリ、これらの機能を有する複合機等であってもよいし、また、ホストコンピュータ１０も携帯電話やＰＤＡ（Personal Digital Assistance）、デジタルカメラなどの情報携帯端末でもよい。
【図面の簡単な説明】
【００８４】
【図１】本発明が適用されるシステム全体の構成図である。
【図２】画像処理装置の他の構成を示す図である。
【図３】セル形状の例を示す図である。
【図４】寄与率を説明するための図である。
【図５】セル内における処理の動作を示すフローチャートである。
【図６】セル内における処理の動作を示すフローチャートである。
【図７】入力データと、セル内における入力データ、及び寄与率を乗算したデータの例を示す図である。
【図８】セル内における重心位置と、処理順の例を示す図である。
【図９】インデックスマトリックスの例と、ガンマテーブルの例を示す図である。
【図１０】出力バッファの例を示す図である。
【図１１】入力データと、セル内における入力データ、及び寄与率を乗算したデータの例を示す図である。
【図１２】重心位置と、処理順、及びインデックスマトリックスの例を示す図である。
【図１３】出力バッファの例を示す図である。
【図１４】入力データと、セル内における入力データ、及び寄与率を乗算したデータの例を示す図である。
【図１５】重心位置、処理順、インデックスマトリックスの例を示す図である。
【図１６】出力バッファの例を示す図である。
【図１７】本発明が適用される他のシステム全体の構成図である。
【図１８】本発明が適用される他のシステム全体の構成図である。
【符号の説明】
【００８５】
１０  ホストコンピュータ、  ２０  画像処理装置、  ２４  ＣＰＵ、  １１０  重心位置、  ２００  セル、  ２１０  共有画素、  ２１１  ハーフトーン処理部
【図１】
0004412248.tif 000003
【図２】
0004412248.tif 000004
【図３】
0004412248.tif 000005
【図４】
0004412248.tif 000006
【図５】
0004412248.tif 000007
【図６】
0004412248.tif 000008
【図７】
0004412248.tif 000009
【図８】
0004412248.tif 000010
【図９】
0004412248.tif 000011
【図１０】
0004412248.tif 000012
【図１１】
0004412248.tif 000013
【図１２】
0004412248.tif 000014
【図１３】
0004412248.tif 000015
【図１４】
0004412248.tif 000016
【図１５】
0004412248.tif 000017
【図１６】
0004412248.tif 000018
【図１７】
0004412248.tif 000019
【図１８】
0004412248.tif 000020