(57)【要約】      （修正有）【課題】色数や記録走査数によらずに、簡易な構成で高画質な記録画像をより高速に記録可能とする。【解決手段】着目画素データを構成する各色成分値に、量子化誤差を加算することで各色成分値を補正する入力値補正部２０３、２０４と、補正後の各色成分を独立してＭ階調に量子化する独立量子化部と、補正後の２以上の色成分の当該色成分値の和を算出し、算出した和を、相関量子化対象として設定された各色成分の数と階調数Ｍに依存して定まる階調数に量子化する分配量子化部と、量子化結果が示す値を、各色成分値の比率に従って、各色成分値の量子化後の値として配分する量子化値分配部２０７と、独立量子化対象として設定された各色成分の量子化値、及び量子化値分配部２０７で配分された各色成分の量子化値と、それらの量子化前の値との差分を、各色成分の量子化誤差として未量子化画素位置に分配する誤差計算部２０８、２０９と、を備える。【選択図】図２
2011023984.tif 000002
【特許請求の範囲】
【請求項１】
各色成分値がＮ階調で表される入力画像データを、各色成分値が前記Ｎより少ないＭ階調に量子化すると共に、量子化した際に発生した各色成分の誤差値を未量子化画素位置に分配する画像処理装置であって、
着目画素データを構成する各色成分値に、当該着目画素位置の各色成分に対して分配された量子化誤差を加算することで、前記着目画素の各色成分値を補正する補正手段と、
前記補正手段で補正後の前記着目画素における、独立して量子化する対象として設定された各色成分を独立して前記Ｍ階調に量子化する第１の量子化手段と、
前記補正手段で補正後の前記着目画素における、相関して量子化する対象として設定された２以上の色成分の当該色成分値の和を算出し、算出した和を、相関量子化対象として設定された各色成分の数と前記階調数Ｍに依存して定まる階調数に量子化する第２の量子化手段と、
前記第２の量子化手段による量子化結果が示す値を、前記相関量子化対象として設定された各色成分値の比率に従って、前記相関量子化対象として設定された各色成分値の量子化後の値として配分する配分手段と、
前記第１の量子化手段による前記独立量子化対象として設定された各色成分の量子化値、及び前記配分手段で配分された各色成分の量子化値と、それらの量子化前の値との差分を、前記着目画素における各色成分の量子化誤差として未量子化画素位置に分配する分配手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記分配手段は、前記補正手段による補正値の和に対する各画素毎の量子化値、又は前記補正値の割合を算出可能である複数の値を高次関数又は三角関数に代入することにより、前記量子化値を分配することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記入力画像データの少なくとも一部領域を量子化することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
予め定めた信号強度を閾値として前記入力画像データの量子化処理を行うか否かを切り替えることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
各色成分値がＮ階調で表される入力画像データを、各色成分値が前記Ｎより少ないＭ階調に量子化すると共に、量子化した際に発生した各色成分の誤差値を未量子化画素位置に分配する画像処理装置であって、
着目画素データを構成する各色成分値に、当該着目画素位置の各色成分に対して分配された量子化誤差を加算することで、前記着目画素の各色成分値を補正する補正手段と、
前記補正手段で補正後の前記着目画素における、予め定めた２以上の色成分毎の色成分値の和を算出し、算出した和を、相関して量子化する対象として設定された各色成分の数と前記階調数Ｍに依存して定まる階調数に量子化する第１の量子化手段と、
前記補正手段で補正後の前記着目画素における、前記相関量子化対象として設定された色成分と同じ色成分を独立して前記Ｍ階調に量子化する第２の量子化手段と、
前記補正手段で補正後の前記着目画素における、前記第２の量子化手段で量子化する色成分を除く色成分を独立して前記Ｍ階調に量子化する第３の量子化手段と、
前記色成分値として取り得る最大値に対する、前記第１の量子化手段による量子化結果が示す値と前記第２の量子化手段による量子化結果が示す値との和の比率に基づいて、前記相関量子化対象として設定された色成分の色成分値として配分する配分手段と、
前記第３の量子化手段による、独立して量子化する対象として設定された各色成分の量子化値、及び前記配分手段で配分された各色成分の量子化値と、それらの量子化前の値との差分を、前記着目画素における各色成分の量子化誤差として未量子化画素位置に分配する分配手段と、
を備えたことを特徴とする画像処理装置。
【請求項６】
量子化対象である第１の画像データと、前記第１の画像データの信号値を複数に分割した第２の画像データとを有し、各色成分値がＮ階調で表される入力画像データを、前記Ｎより少ないＭ階調に量子化すると共に、量子化した際に発生した各色成分の誤差値を未量子化画素位置に分配する画像処理装置であって、
前記第１の画像データの着目画素よりも前に行われた量子化処理により発生した誤差を加算して各画素毎の補正値を算出する第１の算出手段と、
前記第２の画像データの着目画素よりも前に行われた量子化処理により発生したすべての誤差を前記着目画素の画素値に加算することにより補正値を算出する第２の算出手段と、
前記第２の算出手段で算出された補正値に基づいて、各画素毎の量子化値を算出する第３の算出手段と、
前記第１の算出手段で算出された補正値の和に対する前記第１の算出手段で算出された補正値の割合に応じて、前記第３の算出手段で算出された量子化値を各記録走査毎に分配する分配手段と、
を備えたことを特徴とする画像処理装置。
【請求項７】
コンピュータが読み込み実行することで、前記コンピュータに請求項１乃至６のいずれか１項に記載の画像処理装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
記録媒体上の同一画像領域に対して複数回の記録走査を行うことにより画像形成を行う画像形成装置で使用される記録データを生成する画像処理装置に関する。
【背景技術】
【０００２】
記録媒体上の同一画像領域に対して複数回の記録走査を行うことにより画像形成を行う画像形成装置の一例として、インクジェットプリンタが知られている。インクジェットプリンタでは、記録ヘッドを主走査方向に往復させ、記録媒体を副走査方向に搬送しながら、記録ヘッドからインク滴を吐出し記録媒体に着弾させる（記録走査を行う）ことにより、画像の印刷を行う。インクジェットプリンタは、数色の微小なドットを同一の領域内に形成して視覚的に多彩な色を表現する。これらのドット配置は、ドライバで行われる量子化処理により決定される。ドットの配置は、画質に大きな影響を与えるため、これを改善すべく、これまでに様々な技術が提案されている。
【０００３】
特許文献１では、異なる色間で相関付けて量子化を行うことによりドットを一様に分布させる技術が開示されている。ここでは、量子化処理を入力値の合計値と閾値とを比較することにより行っている。例えば、異なる色としてシアン及びマゼンタを選択してブルーを表現する場合、シアン及びマゼンタをそれぞれ独立に誤差拡散するとドットが互いに偏ったり離れたりする部分が生じ、視覚的に不快な模様として現れる（図９の符号９０１）。しかし、互いに相関付けて誤差拡散を行うことでシアンとマゼンタとの間でドットが互いに分散した一様なドット配置となり、視覚的にも好ましい結果が得られる（図９の符号９０２）。
【０００４】
また、特許文献２では、画像を印刷する際に、各ノズルの特性や用紙搬送量の誤差、記録ヘッドの移動量のズレ等のような物理的な要因による誤差によって、インク滴の向きや大きさ、着弾位置等にバラツキが生じるため、同一の領域上に複数回の記録走査（重ね打ち）を行うマルチパス記録方式が採用されている。この方法によれば、前述したようなドットのバラツキが平均化されて画質の改善が可能となる。このとき、記録データ上におけるドット配置を各記録走査間で互いに分散するように配置することにより、実際に紙面上でドットのバラツキによる画質の劣化がさらに抑制されることが分かっている。
【０００５】
ここで、前述の通り、インクジェットプリンタでは画像上の同一領域に対し、複数の色による画像形成、又は同一色の複数回の記録走査による画像形成を行っているが、色間や記録走査間でドットを分散して配置することが好ましい場合が多い。これは、インク滴の向きや大きさ、着弾位置等がばらついた場合、同一領域内に打ち込むインクのドットが重ねて打たれる場合や近接しているが重ならずに打たれる場合では、紙面上での色変化や濃度変化が異なるためであり、また、ドット同士が重ならなくてもドット配置の偏りが大きいと視覚的に濃度ムラと感知されやすくなるためである。
【０００６】
このため、予めドットを分散配置するようなデータを生成することにより、紙面上でドットが重なったり偏ったりすることを防ぎ、視覚的に不快となる色変化や濃度変化を抑制することができる。特に、濃度の低いハイライト部分では、色変化や濃度変化が視覚的に目立つため、ハイライト部分でドットを分散させることが好ましい。
【０００７】
また、他の技術として、特許文献３では、テーブルを用いて量子化出力値を求める技術が開示されている。また、特許文献４では、画像の周波数成分を求め、ローパスフィルタを通すことによりドットを分散させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０８−２７９９２０号公報
【特許文献２】特開昭６０−１０７９７５号公報
【特許文献３】特開２００３−１１６０１５号公報
【特許文献４】特開２００８−１８８８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１乃至４に開示された技術は、任意の色数や記録走査数に対して対応することが困難である。色数や記録走査数が増加すると、条件分岐による方法では、出力値を決定するために分岐が複雑となるため、制御回路が複雑化してしまう。また、テーブルによる方法では、テーブルのデータサイズが大きくなるため、大容量のメモリが必要となり、コストアップを招いてしまう。
【００１０】
本発明は、上記課題を解決するためになされたものであり、色数や記録走査数によらずに、簡易な構成で高画質な記録画像をより高速に記録可能とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明に係る画像処理装置は、各色成分値がＮ階調で表される入力画像データを、各色成分値が前記Ｎより少ないＭ階調に量子化すると共に、量子化した際に発生した各色成分の誤差値を未量子化画素位置に分配する画像処理装置であって、着目画素データを構成する各色成分値に、当該着目画素位置の各色成分に対して分配された量子化誤差を加算することで、前記着目画素の各色成分値を補正する補正手段と、前記補正手段で補正後の前記着目画素における、独立して量子化する対象として設定された各色成分を独立して前記Ｍ階調に量子化する第１の量子化手段と、前記補正手段で補正後の前記着目画素における、相関して量子化する対象として設定された２以上の色成分の当該色成分値の和を算出し、算出した和を、相関量子化対象として設定された各色成分の数と前記階調数Ｍに依存して定まる階調数に量子化する第２の量子化手段と、前記第２の量子化手段による量子化結果が示す値を、前記相関量子化対象として設定された各色成分値の比率に従って、前記相関量子化対象として設定された各色成分値の量子化後の値として配分する配分手段と、前記第１の量子化手段による前記独立量子化対象として設定された各色成分の量子化値、及び前記配分手段で配分された各色成分の量子化値と、それらの量子化前の値との差分を、前記着目画素における各色成分の量子化誤差として未量子化画素位置に分配する分配手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、色数や記録走査数によらずに、簡易な構成で高画質な記録画像をより高速に記録可能とすることができる。
【図面の簡単な説明】
【００１３】
【図１】インクジェットプリンタによる印刷を行うための構成を示す図
【図２】シアン及びマゼンタの量子化を行うための構成を示す図
【図３】シアン及びマゼンタの処理を行うための処理手順を示す図
【図４】基本的な量子化を行う処理手順を示す図
【図５】記録走査間で処理を行う全体の処理手順を示す図
【図６】記録走査間で量子化を行う処理手順を示す図
【図７】記録走査間で量子化を行うための構成を示す図
【図８】記録走査間で量子化を行うための構成を示す図
【図９】独立して又は相関付けて量子化を行った場合のドット配置の相違を示す図
【図１０】シアン及びマゼンタの入力値により分配量子化の適用比率を変化させる場合の全体の処理手順を示す図
【図１１】シアン及びマゼンタの各記録走査間で量子化を行うための構成を示す図
【図１２】シアン及びマゼンタの各記録走査間で処理を行う処理手順を示す図
【図１３】数式による量子化についての入力と出力（量子化値）の関係を示す図
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態について添付図面を参照して詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明は、その趣旨を逸脱しない範囲で以下の実施形態を修正又は変形したものに適用可能である。
【００１５】
＜第１の実施形態＞
本実施形態では、汎用コンピュータであるホストコンピュータ１０１が本発明に係る画像処理装置として機能し、インクジェットプリンタであるプリンタ１０２が画像形成装置として機能する構成について説明する。インクジェットプリンタは、使用色としてＣＭＹＫを用いるものとし、シアンとマゼンタに対し本発明を適用した量子化（３値化）を行う。イエローやブラックについては、従来のように色毎に独立した量子化を行う。なお、プリンタ１０２自体が画像処理装置としての機能を有していても構わない。
【００１６】
マルチパス方式による印刷を行うために必要な構成が図１で示される。ホストコンピュータ１０１は、画像処理装置として機能し、各色成分値がＮ階調で表される入力画像データを、各色成分値がＮより少ないＭ階調に量子化すると共に、量子化した際に発生した各色成分の誤差値を未量子化画素位置に分配する装置である。また、ホストコンピュータ１０１は、ＣＰＵ１０５、イーサネット（登録商標）やＵＳＢ等の入力ポート１０６、出力ポート１０７、メモリ１０８及び補助記憶装置１０９を備える。ホストコンピュータ１０１には、スキャナやデジタルカメラ等の入力装置１０３及びＣＤ−ＲＯＭドライブやメモリカードリーダ等の外部記憶装置１０４が入力ポート１０６と接続され、また、プリンタ１０２が出力ポート１０７と接続される。また、プリンタ１０２は、印刷データや制御情報を受け取るＵＳＢやイーサネット（登録商標）等の入力ポート１１０、プリンタ内部の制御を行う制御装置１１１、印刷データや内部設定等を保持するメモリ１１２、用紙搬送装置１１３、記録媒体にインクを吐出するノズルを備えた記録ヘッド１１４を備える。
【００１７】
ホストコンピュータ１０１のＣＰＵ１０５は、量子化に伴う誤差により入力画像データの入力値２０１を補正する入力値補正部２０３、２０４と、補正値の総和を求める加算部２０５と、補正値の総和に対する量子化値を求める量子化部２０６と、量子化に伴う誤差（誤差バッファを含む）を求める誤差計算部２０８、２０９と、量子化値及び誤差に基づいて量子化値を分配し、出力画像データの出力値２１０、２１１をプリンタ１０２へ出力する量子化値分配部２０７とを備える（図２参照）。
【００１８】
入力値補正部２０３、２０４（補正手段）は、着目画素データを構成する各色成分値に、当該着目画素位置の各色成分に対して分配された量子化誤差を加算することで、着目画素の各色成分値を補正する。
【００１９】
独立量子化部３０６（第１の量子化手段）は、入力値補正部２０３、２０４で補正後の着目画素における、独立して量子化する対象として設定された各色成分（本実施形態では、イエロー及びブラック）を独立してＭ階調に量子化する。
【００２０】
分配量子化部３０３（第２の量子化手段）は、入力値補正部２０３、２０４で補正後の着目画素における、相関して量子化する対象として設定された２以上の色成分（本実施形態では、シアン及びマゼンタ）の当該色成分値の和を算出し、算出した和を、相関量子化対象として設定された各色成分の数と階調数Ｍに依存して定まる階調数に量子化する。
【００２１】
量子化値分配部２０７（配分手段）は、分配量子化部３０３による量子化結果が示す値を、相関量子化対象として設定された各色成分値の比率に従って、相関量子化対象として設定された各色成分値の量子化後の値として配分する。
【００２２】
誤差計算部２０８、２０９（分配手段）は、独立量子化部３０６による、独立量子化対象として設定された各色成分の量子化値、及び量子化値分配部２０７で配分された各色成分の量子化値と、それらの量子化前の値との差分を、着目画素における各色成分の量子化誤差として未量子化画素位置に分配する。
【００２３】
まず、入力画像データの入力値２０１、２０２を受け取り、色補正・色変換部３０２、分配量子化部３０３又は独立量子化部３０６、及び印刷データ変換部３０４での処理を経たデータが出力画像データ（印刷データ）としてプリンタ１０２へ送信される（図３参照）。
【００２４】
［画像処理装置の全体的な処理手順］
まず、ホストコンピュータ１０１に、外部記憶装置１０４や入力装置１０３等から印刷すべき画像を入力する。入力されたカラー又はグレースケールの画像は、ホストコンピュータ内で実行される印刷画像処理プログラムの色補正・色変換部３０２へ入力され、印刷設定に応じた色補正が行われ、画像データに一般的に用いられるＲＧＢ成分がプリンタでの印刷に適したＣＭＹＫ成分に変換される。そして、分配量子化部３０３は、ＣＭＹＫ成分に変換された画像のシアン・マゼンタに対して、図４で示すように量子化処理を行う。
【００２５】
［分配量子化部３０３の量子化処理（図４）］
まず、処理すべき画素があるか否かを確認し（Ｓ４００）、処理すべき画素がある場合にはＳ４０１に進み、処理すべき画素がない場合には量子化を行うことなく一連の処理を終了する。
【００２６】
ここで、後述の数式に用いられる文字について説明する。総合量子化レベルＮは、個々の量子化レベルｎの総和である。例えば、シアン及びマゼンタで０、１、２の３値化（Ｎ＝３）を行う場合の総合量子化レベルは、０、１、２、３、４の５値（Ｎ＝５）である。また、αは量子化の閾値を調整するために付加され、＋−の誤差範囲が可能な限り等しくなるようにする。例えば、入力値範囲が０〜２５５、量子化レベルがｎ＝３の場合、α＝２５６÷（ｎ＋１）＝６４となる。
【００２７】
はじめに、着目画素を次の画素に移して、シアン及びマゼンタの各入力値Ｃｉｎ、Ｍｉｎ（入力値範囲を０〜２５５、シアン及びマゼンタの各入力値の最大値をＣｍａｘ、Ｍｍａｘ（＝２５５）とする）に対して、前述の量子化で生じたシアン及びマゼンタの各誤差ＥｒｒＣ、ＥｒｒＭにより入力値を補正し（Ｓ４０１）、補正値Ｃｉｎ’、Ｍｉｎ’（−α＜Ｃｉｎ’，Ｍｉｎ’＜Ｃｍａｘ（Ｍｍａｘ）＋α）を求める。なお、Ｃｉｎ’、Ｍｉｎ’の範囲は、上述の通り、それぞれの量子化レベルがｎ＝３であるため、−６４＜Ｃｉｎ’，Ｍｉｎ’＜３１９となる。
【００２８】
Ｃｉｎ’＝Ｃｉｎ＋ＥｒｒＣ・・・（Ｆ１０１）
Ｍｉｎ’＝Ｍｉｎ＋ＥｒｒＭ
そして、補正値の総和Ｓを式Ｆ１０２により求める（Ｓ４０２）。ただし、Ｓが一定の範囲（−α＜Ｓ＜Ｃｍａｘ＋Ｍｍａｘ＋α、−６４＜Ｓ＜５７４、図１３の領域Ａの範囲）を超える場合はクリッピングを行う（量子化値が０〜４の範囲に収まるように処理を行う）。
【００２９】
Ｓ＝Ｃｉｎ’＋Ｍｉｎ’・・・（Ｆ１０２）
続いて、式Ｆ１０３により、補正値の総和Ｓの量子化を行い（Ｓ４０３）、量子化値Ｏを求める。
【００３０】
Ｏ＝｛（Ｓ＋α）×Ｎ｝÷（Ｃｍａｘ＋Ｍｍａｘ＋α×２＋１）・・・（Ｆ１０３）
式Ｆ１０３の量子化について、入力と出力との関係を具体的に示したものが図１３である。入力１がＣｉｎ’であり、入力２がＭｉｎ’である。
【００３１】
ここで、補正値Ｃｉｎ’＝２２９、Ｍｉｎ’＝１５７である場合の計算例について説明する。補正値の総和Ｓ＝２２９＋１５７＝３８６となる。量子化レベルＮ＝５、Ｃｍａｘ＝Ｍｍａｘ＝２５５であるため、式Ｆ１０３に代入すると次のようになる。なお、記号（≒）は小数点以下を切り捨てたことを意味する。
【００３２】
Ｏ＝｛（３８６＋６４）×５｝÷（２５５＋２５５＋６４×２＋１）＝３．５２・・・≒３
続けて、以下の式により量子化値Ｏをシアン、マゼンタに分配し（Ｓ４０４）、量子化出力値を決定する。シアン、マゼンタの量子化出力値をそれぞれＣｏｕｔ、Ｍｏｕｔとする。
【００３３】
Ｃｏｕｔ＝｛Ｏ×（Ｃｉｎ’＋α）＋（Ｓ＋α×２）÷２｝÷（Ｓ＋α×２）・・・（Ｆ１０４）
Ｍｏｕｔ＝Ｏ−Ｃｏｕｔ
量子化値がＯ＝３であるとすると、Ｃｏｕｔ、Ｍｏｕｔは次のように求めることができる。
【００３４】
Ｃｏｕｔ＝｛３×（２２９＋６４）＋（３８６＋６４×２）÷２｝÷（３８６＋６４×２）＝２．２１・・・≒２
Ｍｏｕｔ＝３−２＝１
量子化値を求めた後は、シアン及びマゼンタのそれぞれに対して、求めた量子化値に対する誤差を求め、周辺画素へ拡散する（Ｓ４０５）。これらの処理を処理すべき画素がなくなるまで繰り返す。このような手順により１ラスターの処理が終了したら、次のラスターに移って同様の処理を繰り返す。
【００３５】
シアンとマゼンタ以外の色（すなわち、イエロー及びブラック）に関しては、独立量子化部３０６で量子化を行う。ここでは、一般的に用いられる従来の誤差拡散処理を用いて色毎に独立して量子化を行う。量子化されたデータは、印刷データ変換部３０４でプリンタが解釈可能な形式に変換され、プリンタに印刷データが送信されると、印刷が行われる。
【００３６】
本実施形態によれば、複雑な比較やデータサイズの大きなテーブルを用いることなく、簡易な演算により色間で相関付けた量子化を行うことが可能となり、シアン及びマゼンタのドットを分散させて一様に配置することができる。このため、処理に必要な計算量やメモリを少なくすることが可能である。
【００３７】
さて、本実施形態において、使用する色をＣＭＹＫとしたが、多彩な色を表現したり、処理を簡易化したりするため、目的に応じて別途必要な色を加えたり減らしたりしても構わない。また、シアンとマゼンタに対して本発明を適用したが、シアンとブラック、マゼンタとイエロー等のように、種々の組み合わせを選択することもできる。
【００３８】
さらに、本発明は２色間だけでなく、さらに多くの色に対しても適用可能である。例えば、ＣＭＫ間で互いに分散させてドットを配置すべき場合には、上述の式Ｆ１０１、Ｆ１０２、Ｆ１０３、Ｆ１０４を以下のように拡張し、Ｆ１０１’、Ｆ１０２’、Ｆ１０３’、Ｆ１０４’とすればよい。ここで、ブラックに対応する補正値、誤差、最大入力値、出力値をそれぞれＫｉｎ’、ｅＫ、ｋｍａｘ、Ｋｏｕｔとする。
【００３９】
Ｃｉｎ’＝Ｃｉｎ＋ｅＣ
Ｍｉｎ’＝Ｍｉｎ＋ｅＭ・・・（Ｆ１０１’）
Ｋｉｎ’＝Ｋｉｎ＋ｅＫ
Ｓ＝Ｃｉｎ’＋Ｍｉｎ’＋Ｋｉｎ’・・・（Ｆ１０２’）
Ｏ＝｛（Ｓ＋α）×Ｎ｝÷（Ｃｍａｘ＋Ｍｍａｘ＋Ｋｍａｘ＋α×３＋１）・・・（Ｆ１０３’）
Ｃｏｕｔ＝｛Ｏ×（Ｃｉｎ’＋α）＋（Ｓ＋α×３）÷２｝÷（Ｓ＋α×３）
Ｍｏｕｔ＝｛Ｏ×（Ｍｉｎ’＋α）＋（Ｓ＋α×３）÷２｝÷（Ｓ＋α×３）
Ｋｏｕｔ＝Ｏ−Ｃｏｕｔ−Ｍｏｕｔ・・・（Ｆ１０４’）
また、本実施形態では、補正値の総和に対して量子化を行う際に式Ｆ１０３、Ｆ１０３’により量子化値を求めたが、量子化の総和を求める計算式はこれに限らないし、計算式を用いずにテーブル等を用いても構わない。１次元テーブルの場合には、多次元テーブルに比べれば必要とするメモリが少ないため、補正値の総和に応じて量子化値の総和を定めたものを用いてもよい。
【００４０】
さらに、出力値の分配処理に関して、本実施形態では、式Ｆ１０４，Ｆ１０４’により最終的な出力値を求めたが、これに限らず別の計算式を用いてもよい。すなわち、誤差計算部２０８、２０９は、入力値補正部２０３、２０４による補正値の和に対する各画素毎の量子化値、又は補正値の割合を算出可能である複数の値を高次関数又は三角関数に代入することにより、量子化値を分配してもよい。例えば、三角関数を用いて、分配の式Ｆ１０４を式Ｆ１０４’’のようにすることができる。
【００４１】
Ｃｏｕｔ＝Ｏ×（ｃｏｓ｛（Ｃｉｎ’÷Ｓ）×π＋π｝＋１）÷２
Ｍｏｕｔ＝Ｏ−Ｃｏｕｔ・・・（Ｆ１０４’’）
また、本実施形態では、入力画像の全域を処理対象としたが、本発明は、画像の一部領域に適用してもよい。また、任意の信号の強度によって本発明を適用するか否かを切り替えたり、適用する度合を変更したりしてもよい（第５の実施形態に記載）。すなわち、入力画像データの少なくとも一部領域を量子化してもよいし、予め定めた信号強度を閾値として入力画像データの量子化処理を行うか否かを切り替えてもよい。
【００４２】
また、本実施形態では、各処理をラスター単位で処理を行ったが、プリンタの性能、ホストコンピュータのメモリや演算速度等に応じて、画像単位で処理してもよいし、画素単位で処理してもよい。
【００４３】
また、本実施形態では、画像形成装置がインクジェットプリンタであるものとしたが、複数色の記録操作、複数回の記録走査の少なくともいずれかの手法により画像を形成するものであれば、レーザプリンタ等の種々の装置に本発明を適用できる。
【００４４】
＜第２の実施形態＞
本発明は、第１の実施形態で示した色間に対してのみでなく、記録走査間においても適用可能である。本実施形態はインクジェットプリンタの記録走査間について本発明を適用した例を示す。なお、第１の実施形態の構成（図１）と同様の構成については、同一の符号を付して説明する。本実施形態に係るインクジェットプリンタは、同一の画像形成面に２回の記録走査を行って画像を形成する２パス記録方式とし、３値の量子化を行うものとする。
【００４５】
ホストコンピュータ１０１のＣＰＵ１０５は、量子化に伴う誤差により入力画像データの入力値８０１、８０２を補正する入力値補正部８０３、８０４と、補正値の総和を求める加算部８０５と、補正値の総和に対する量子化値を求める量子化部８０６と、量子化に伴う誤差（誤差バッファを含む）を求める誤差計算部８０８、８０９と、量子化値を分配し、出力画像データの出力値８１０、８１１をプリンタ１０２へ出力する量子化値分配部８０７とを備える（図８参照）。
【００４６】
まず、入力画像データの入力値８０１、８０２を受け取り、色補正・色変換部５０２、パス生成部５０７、分配量子化部５０３及び印刷データ変換部５０４での処理を経たデータが出力画像データ８１０、８１１（印刷データ）としてプリンタ１０２へ送信される（図５参照）。パス生成部５０７は、１つの入力画像データから記録走査に相当する複数のパスを生成する。
【００４７】
［画像処理装置の全体的な処理手順］
まず、ホストコンピュータ１０１に、外部記憶装置１０４や入力装置１０３等から印刷すべき画像を入力する。入力されたカラー又はグレースケールの画像は、ホストコンピュータ内で実行される印刷画像処理プログラムの色補正・色変換部５０２へ入力し、印刷設定に応じた色補正を行い、画像データに一般的に用いられるＲＧＢ成分をプリンタでの印刷に適したＣＭＹＫ成分へと変換する。以降は色毎に独立して処理を行う。本実施例では、そのうちのブラックについて説明する。
【００４８】
パス生成部５０７では、ＣＭＹＫ成分に変換された画像のブラックに対し、任意の方法により各記録走査（１及び２パス目の走査画像データとする）に対応するように濃度を分割する。濃度分割の処理としては、例えば、１及び２パス目で４０％、６０％ずつの濃度に分割したり、着目画素の位置に対応した分割用のテーブルを用いたりすることができる。ここでは、入力値Ｉに対し、一律、１パス目に４０％（ＩＰ１）、２パス目に６０％（ＩＰ２）の濃度を割り当てる。
【００４９】
ＩＰ１＝Ｉ×０．４・・・（Ｆ２００）
ＩＰ２＝Ｉ−ＩＰ１
分割して得られた濃度ＩＰ１、ＩＰ２のそれぞれに分配量子化部５０３で図４で示すように量子化を行う。
【００５０】
［分配量子化部５０３の量子化処理（図４）］
まず、処理すべき画素があるか否かを確認し（Ｓ４００）、処理すべき画素がある場合にはＳ４０１に進み、処理すべき画素が無い場合には量子化を行うことなく一連の処理を終了する。
【００５１】
ここで、後述の数式に用いられる文字について説明する。総合量子化レベルＮは、個々の量子化レベルｎの総和である。例えば、１及び２パス目で０、１、２の３値化（ｎ＝３）を行う場合の総合量子化レベルは、０、１、２、３、４の５値である（Ｎ＝５）。また、αは量子化の閾値を調整するために付加され、＋−の誤差範囲が可能な限り等しくなるようにする。例えば、入力値範囲が０〜２５５、量子化レベルがｎ＝３の場合、α＝２５６÷（ｎ＋１）＝６４となる。
【００５２】
はじめに、着目画素を次の画素に移して、各記録走査の入力値に対応するＩＰ１、ＩＰ２（本実施形態における範囲は０〜２５５、入力値の最大値をＩｍａｘ（＝２５５）とする）に対して、前述の量子化で生じた１及び２パス目の各誤差ｅＰ１、ｅＰ２により入力値を補正し（Ｓ４０１）、補正値ＩＰ１’、ＩＰ２’（−α＜ＩＰ１’，ＩＰ２’＜Ｉｍａｘ＋Ｉｍａｘ＋α）を求める。なお、ＩＰ１’、ＩＰ２’の範囲は、上述の通り、それぞれの量子化レベルがｎ＝３であるため、−６４＜ＩＰ１’，ＩＰ２’＜３１９となる。
【００５３】
ＩＰ１’＝ＩＰ１＋ｅＰ１・・・（Ｆ２０１）
ＩＰ２’＝ＩＰ２＋ｅＰ２
そして、補正値の総和Ｓを式Ｆ２０２を用いて求める（Ｓ４０２）。ただし、Ｓが一定の範囲（−α＜Ｓ＜Ｉｍａｘ＋Ｉｍａｘ＋α）を超える場合にはクリッピングを行う。
【００５４】
Ｓ＝ＩＰ１’＋ＩＰ２’・・・（Ｆ２０２）
補正値の総和Ｓの量子化を行い（Ｓ４０３）、量子化値Ｏを求める。
【００５５】
Ｏ＝｛（Ｓ＋α）×Ｎ｝÷（Ｉｍａｘ＋Ｉｍａｘ＋α×２＋１）・・・（Ｆ２０３）
具体的な値として、補正値ＩＰ１’＝９０、ＩＰ２’＝１０５であるとき、補正値の総和Ｓ＝９０＋１０５＝１９５となる。量子化値Ｏは次のように求めることができる。なお、ここでの記号（≒）は小数点以下を切り捨てたことを意味する。
【００５６】
Ｏ＝｛（１９５＋６４）×５｝÷（２５５＋２５５＋６４×２＋１）＝２．０２・・・≒２
続けて、以下の式により量子化値Ｏを１及び２パス目に分配し（Ｓ４０４）、量子化出力値を決定する。１及び２パス目の量子化出力値をそれぞれＰ１ｏｕｔ、Ｐ２ｏｕｔとする。
【００５７】
Ｐ１ｏｕｔ＝｛Ｏ×（ＩＰ１’＋α）＋（Ｓ＋α×２）÷２｝÷（Ｓ＋α×２）・・・（Ｆ２０４）
Ｐ２ｏｕｔ＝Ｏ−Ｐ１ｏｕｔ
前述の量子化値Ｏ＝２を代入する。
【００５８】
Ｐ１ｏｕｔ＝｛２×（９０＋６４）＋（１９５＋６４×２）÷２｝÷（１９５＋６４×２）＝１．４５・・・≒１
Ｐ２ｏｕｔ＝２−１＝１
量子化値を求めた後は、１及び２パス目のそれぞれに対し、求めた量子化値に対する誤差を求め、周辺画素へ拡散する（Ｓ４０５）。これらの処理を処理すべき画素がなくなるまで繰り返す。以上のフローにより１ラスターの処理が終了したら、次のラスターに移って同様の処理を繰り返す。量子化されたデータは印刷データ変換部５０４でプリンタが解釈可能な形式に変換され、プリンタに印刷データが送信されると、印刷が行われる。
【００５９】
本実施形態によれば、複雑な比較やデータサイズの大きなテーブルを用いることなく、簡易な計算によって記録走査間で相関付けた量子化を行うことが可能となり、１及び２パス目の記録走査間でドットを一様に分散させて配置することができる。このため、必要な計算量やメモリを少なくすることが可能である。
【００６０】
さて、本実施形態において記録走査数を２パスとし、かつ、同じ色間で適用したが、これに限らない。目的に応じて、記録走査間だけでなく色間でも分散させてドットを配置すべき場合は複数色の記録走査間に適用してもよいし、パス数が多い場合には単色内で一部のパスのみに適用してもよい。
【００６１】
さらに、本発明は記録走査数は２パスだけでなく、さらに多くの記録走査数に対しても適用可能である。例えば、３パス間で互いに分散させてドットを配置すべき場合には数式Ｆ２０１、Ｆ２０２、Ｆ２０３、Ｆ２０４を後述するように拡張し、Ｆ２０１’、Ｆ２０２’、Ｆ２０３’、Ｆ２０４’とすればよい。ここで、３パス目に対応する補正値ＩＰ３’、誤差ｅＰ３、出力値Ｐ３ｏｕｔとすると以下のようになる。
【００６２】
ＩＰ１’＝ＩＰ１＋ｅＰ１
ＩＰ２’＝ＩＰ２＋ｅＰ２・・・（Ｆ２０１’）
ＩＰ３’＝ＩＰ３＋ｅＰ３
Ｓ＝ＩＰ１’＋ＩＰ２’＋ＩＰ３’・・・（Ｆ２０２’）
Ｏ＝｛（Ｓ＋α）×Ｎ｝÷（Ｉｍａｘ＋Ｉｍａｘ＋Ｉｍａｘ＋α×３＋１）・・・（Ｆ２０３’）
Ｐ１ｏｕｔ＝｛Ｏ×（ＩＰ１’＋α）＋（Ｓ＋α×３）÷２｝
Ｐ２ｏｕｔ＝｛Ｏ×（ＩＰ２’＋α）＋（Ｓ＋α×３）÷２｝
Ｐ３ｏｕｔ＝Ｏ−Ｐ１ｏｕｔ−Ｐ２ｏｕｔ・・・（Ｆ２０４’）
また、本実施形態では補正値の総和に対して量子化を行う際に式Ｆ２０３やＦ２０３’により量子化値を求めたが、量子化の総和を求める計算式はこれに限らないし、計算式を用いなくてもよい。テーブルを用いる方法もある。１次元テーブルの場合は、多次元テーブルに比べれば必要とするメモリが少ないので、補正値の総和に応じて量子化値の総和を定めたものを用いることができる。
【００６３】
さらに、出力値の分配方法に関して、計算式Ｆ２０４やＦ２０４’により最終的な出力値を求めたが、これに限らず別の計算式を用いてもよい。例えば、三角関数を用いて、分配の式Ｆ２０４を次のような式Ｆ２０４’’にしてもよい。また、例えば、高次関数を用いることもできる。
【００６４】
Ｐ１ｏｕｔ＝Ｏ×（ｃｏｓ｛（ＩＰ１’÷Ｓ）×π＋π｝＋１）÷２
Ｐ２ｏｕｔ＝Ｏ−Ｐ１ｏｕｔ ・・・（Ｆ２０４’’）
また、本実施形態では入力画像の全域を処理対象としたが、本発明は、画像の一部領域に適用してもよい。また、任意の信号の強度によって本発明を適用するか否かを切り替えたり、適用する度合を変更したりしてもよい（第５の実施形態に記載）。
【００６５】
また、本実施形態は、各処理をラスター単位で処理を行ったが、これに限らない。プリンタの性能や、ホストコンピュータのメモリ量や演算速度等、状況に応じて、画像単位で処理してもよいし、画素単位で処理してもよい。
【００６６】
また、本実施形態で示した画像形成装置のインクジェットプリンタは一例として示したものであり、レーザプリンタをはじめ、複数の色又は複数回の記録走査、又はその両方により画像を形成するものであれば本発明を適用できることは言うまでもない。
【００６７】
＜第３の実施形態＞
本発明は、第２の実施形態の処理手順を変形してインクジェットプリンタの記録走査間においても適用可能である。なお、第１の実施形態の構成（図１）と同様の構成については、同一の符号を付して説明する。本実施形態に係るインクジェットプリンタは、同一の画像形成面に２回の記録走査を行って画像を形成する２パス記録方式とし、３値の量子化を行うものとする。
【００６８】
本実施形態に係る画像処理装置は、以下の構成を備える。入力画像データは、本実施形態では、量子化対象である第１の画像データと、第１の画像データの信号値を複数に分割した第２の画像データとを含む。
【００６９】
入力値補正部７０５（第１の算出手段）は、第１の画像データの着目画素よりも前に行われた量子化処理により発生した誤差を加算して各画素毎の補正値を算出する。
【００７０】
入力値補正部７０３、７０４（第２の算出手段）は、第２の画像データの着目画素よりも前に行われた量子化処理により発生したすべての誤差を着目画素の画素値に加算することにより補正値を算出する。
【００７１】
量子化値分配部７０９（第３の算出手段）は、入力値補正部７０３、７０４で算出された補正値に基づいて、各画素毎の量子化値を算出する。
【００７２】
（分配手段）は、入力値補正部７０５で算出された補正値の和に対する入力値補正部７０５で算出された補正値の割合に応じて、量子化値分配部７０９で算出された量子化値を各記録走査毎に分配する。
【００７３】
すなわち、ホストコンピュータ１０１のＣＰＵ１０５は、入力画像データの入力値７０１からパスに対応する入力値を生成するパス生成部７０２と、量子化に伴う誤差により入力値を補正する入力値補正部７０３、７０４、７０５、補正値に対する量子化値を求める量子化部７０７、量子化に伴う誤差（誤差バッファを含む）を求める誤差計算部７０６、７０８と、誤差に基づいて量子化値を分配し、出力画像データの出力値７１０、７１１をプリンタ１０２へ出力する量子化値分配部７０９とを備える（図７参照）。
【００７４】
まず、入力画像データを受け取り、色補正・色変換部５０２、パス生成部５０７、分配量子化部５０３及び印刷データ変換部５０４での処理を経たデータが出力画像データ（印刷データ）としてプリンタ１０２へ送信される（図５参照）。パス生成部５０７は、１つの入力画像データから記録走査に相当する複数のパスを生成する。
【００７５】
［画像処理装置の全体的な処理手順］
まず、後述の数式に用いられる文字について説明する。総合量子化レベルＮは、各パスの量子化レベルｎの総和である。例えば、３値化（ｎ＝３）を行う場合の総合量子化レベルは０、１、２、３、４の５値（Ｎ＝５）である。また、αは量子化の閾値を調整するために付加され、＋−の誤差範囲が可能な限り等しくなるようにする。例えば、入力値範囲が０〜２５５、量子化レベルがｎ＝３の場合、α＝２５６÷（ｎ＋１）＝６４となる。
【００７６】
はじめに、ホストコンピュータ１０１に、外部記憶装置１０４や入力装置１０３等から印刷すべき画像を入力する。入力されたカラー又はグレースケールの画像は、ホストコンピュータ内で実行される印刷画像処理プログラムの色補正・色変換部５０２へ入力し、印刷設定に応じた色補正を行い、画像データに一般的に用いられるＲＧＢ成分をプリンタでの印刷に適したＣＭＹＫ成分へと変換する。以降は色毎に独立して処理を行う。ここでは、そのうちのブラックについて説明する。
【００７７】
パス生成部５０７では、ＣＭＹＫ成分に変換された画像のブラックに対し、任意の方法により各記録走査（１及び２パス目の走査画像データとする）に対応するように濃度を分割する。濃度分割の方法としては、例えば、１及び２パス目で４０％、６０％ずつの濃度に分割してもよいし、着目画素の位置に対応した分割用のテーブルを用いてもよい。ここでは、入力値Ｉに対し、一律、１パス目に４０％（ＩＰ１）、２パス目に６０％（ＩＰ２）の濃度を割り当てる。
【００７８】
ＩＰ１＝Ｉ×０．４・・・（Ｆ３００）
ＩＰ２＝Ｉ−ＩＰ１
分割して得られた濃度ＩＰ１、ＩＰ２のそれぞれに分配量子化部５０３で図６で示すように量子化を行う。
【００７９】
［分配量子化部５０３の量子化処理（図６）］
まず、処理すべき画素があるか否かを確認し（Ｓ６００）、処理すべき画素がある場合にはＳ６０１に進み、処理すべき画素が無い場合には量子化を行うことなく一連の処理を終了する。そして、着目画素を次の画素に移して、各記録走査の入力値に対応するＩＰ１、ＩＰ２（入力値範囲を０〜２５５、入力値の最大値をＩｍａｘ（＝２５５）とする）に対して、前述の量子化で生じた１及び２パス目の各誤差ｅＰ１、ｅＰ２により入力値を補正し（Ｓ６０１）、補正値Ｉ’、ＩＰ１’、ＩＰ２’（−α＜Ｉ’，ＩＰ１’，ＩＰ２’＜Ｉｍａｘ＋α）を求める。なお、Ｉ’，ＩＰ１’，ＩＰ２’の範囲は、それぞれの量子化レベルがｎ＝３であるため、−６４＜Ｉ’，ＩＰ１’，ＩＰ２’＜３１９となる。
【００８０】
Ｉ’    ＝Ｉ＋ｅＰ１＋ｅＰ２
ＩＰ１’＝ＩＰ１＋ｅＰ１・・・（Ｆ３０１）
ＩＰ２’＝ＩＰ２＋ｅＰ２
補正値Ｉ’の量子化を行い（Ｓ６０２）、量子化値Ｏを求める。
【００８１】
Ｏ＝｛（Ｉ’＋α）×Ｎ｝÷（Ｉｍａｘ＋Ｉｍａｘ＋α×２＋１）・・・（Ｆ３０２）
具体的な値として、補正値Ｉ’＝１９５、ＩＰ１’＝９０、ＩＰ２’＝１０５であるとき、量子化値Ｏは次のように求めることができる。なお、ここでの記号（≒）は小数点以下を切り捨てたことを意味する。
【００８２】
Ｏ＝｛（１９５＋６４）×５｝÷（２５５＋２５５＋６４×２＋１｝＝２．０２・・・≒２
続けて、式Ｆ３０３により量子化値Ｏを１及び２パス目に分配し（Ｓ６０３）、量子化出力値を決定する。１及び２パス目の量子化出力値をそれぞれＰ１ｏｕｔ、Ｐ２ｏｕｔとする。
【００８３】
Ｐ１ｏｕｔ＝｛Ｏ×（ＩＰ１’＋α）＋（Ｉ’＋α×２）÷２｝÷（Ｉ’＋α×２）・・・（Ｆ３０３）
Ｐ２ｏｕｔ＝Ｏ−Ｐ１ｏｕｔ
前述の量子化値Ｏ＝２を代入すると、Ｐ１ｏｕｔ、Ｐ２ｏｕｔを次のように求めることができる。
【００８４】
Ｐ１ｏｕｔ＝｛２×（９０＋６４）＋（１９５＋６４×２）÷２｝÷（１９５＋６４×２）＝１．４５・・・≒１
Ｐ２ｏｕｔ＝２−１＝１
量子化値を求めた後は、１及び２パス目のそれぞれに対し、求めた量子化値に対する誤差を求め、周辺画素へ拡散する（Ｓ６０４）。これらの処理を処理すべき画素がなくなるまで繰り返す。以上のフローにより１ラスターの処理が終了したら、次のラスターに移って同様の処理を繰り返す。量子化されたデータは印刷データ変換部５０４でプリンタが解釈可能な形式に変換され、プリンタに印刷データが送信されると、印刷が行われる。
【００８５】
本実施形態によれば、複雑な比較やデータサイズの大きなテーブルを用いることなく、簡素な計算によって記録走査間で相関付けた量子化を行うことが可能となり、１及び２パス目の記録走査間でドットを一様に分散させて配置することができる。このため、必要な計算量やメモリを少なくすることが可能である。
【００８６】
さて、本実施形態において記録走査数を２パスとし、かつ、同じ色間に適用したが、目的に応じて、記録走査間だけでなく色間でも分散させてドットを配置すべき場合には複数色の記録走査間に適用してもよいし、パス数が多い場合には単色内で一部のパスのみに適用してもよい。
【００８７】
さらに、記録走査数は２パスに限らず、それ以上の記録走査数に対しても適用可能である。例えば、記録走査数を３パスとした場合には、ドット同士を互いにより分散して配置することができる。この場合には、上述の式Ｆ３０１、Ｆ３０２、Ｆ３０３を次のような式Ｆ３０１’、Ｆ３０２’、Ｆ３０３’に拡張すればよい。なお、３パス目に対応するパラメータとしては、補正値ＩＰ３’、誤差ｅＰ３、出力値Ｐ３ｏｕｔとする。
【００８８】
ＩＰ’  ＝ＩＰ１＋ｅＰ１＋ｅＰ２＋ｅＰ３
ＩＰ１’＝ＩＰ１＋ｅＰ１
ＩＰ２’＝ＩＰ２＋ｅＰ２・・・（Ｆ３０１’）
ＩＰ３’＝ＩＰ３＋ｅＰ３
Ｏ＝｛（ＩＰ’＋α）×Ｎ｝÷（Ｉｍａｘ＋Ｉｍａｘ＋Ｉｍａｘ＋α×３＋１）・・・（Ｆ３０２’）
Ｐ１ｏｕｔ＝｛Ｏ×（ＩＰ１’＋α）＋（ＩＰ’＋α×３）÷２｝
Ｐ２ｏｕｔ＝｛Ｏ×（ＩＰ２’＋α）＋（ＩＰ’＋α×３）÷２｝
Ｐ３ｏｕｔ＝Ｏ−Ｐ１ｏｕｔ−Ｐ２ｏｕｔ・・・（Ｆ３０３’）
また、本実施形態では補正値の総和に対して量子化を行う際に式Ｆ３０２やＦ３０２’により量子化値を求めたが、量子化の総和を求める計算式はこれに限らないし、計算式を用いなくともかまわない。テーブルを用いる方法もある。１次元テーブルの場合は、多次元テーブルに比べれば必要とするメモリが少ないため、補正値の総和に応じて量子化値の総和を定めたものを用いることができる。
【００８９】
さらに、出力値の分配方法に関して、式Ｆ３０３やＦ３０３’により最終的な出力値を求めたが、これに限らず別の計算式でもよい。例えば、三角関数を用いて、分配の計算式Ｆ３０３を次のような式Ｆ３０３’’にしてもよい。また、例えば、高次関数を用いることもできる。
【００９０】
Ｐ１ｏｕｔ＝Ｏ×（ｃｏｓ｛（ＩＰ’÷Ｓ）×π＋π｝＋１）÷２
Ｐ２ｏｕｔ＝Ｏ−Ｐ１ｏｕｔ ・・・（Ｆ３０３’’）
また、本実施形態では、入力画像の全域を処理対象としたが、本発明は、画像の一部領域に適用してもよい。また、任意の信号の強度によって本発明を適用するか否かを切り替えたり、適用する度合を変更したりしてもよい（第５の実施形態に記載）。
【００９１】
また、本実施形態は各処理をラスター単位で処理を行ったが、これに限らない。プリンタの性能や、ホストコンピュータのメモリ量や演算速度等、状況に応じて、画像単位で処理してもよいし、画素単位で処理してもよい。
【００９２】
また、本実施形態で示した画像形成装置のインクジェットプリンタは一例として示したものであり、レーザプリンタをはじめ、複数の色又は複数回の記録走査、又はその両方により画像を形成するものであれば本発明を適用できることは言うまでもない。
【００９３】
＜第４の実施形態＞
本実施形態は、本発明をインクジェットプリンタに適用した例である。なお、第１の実施形態の構成（図１）と同様の構成については、同一の符号を付して説明する。本実施形態に係るインクジェットプリンタは、使用色としてＣＭＹＫを用いるものとし、シアンとマゼンタに対し本発明に係る量子化を行う。イエローやブラックについては従来のように色毎に独立した量子化を行うものとし、本実施形態では説明を省略する。また、シアンとマゼンタはそれぞれ２パス印刷を行うものとする。したがって、色間及び記録走査間で一様に分布したドット配置を行う実施形態である。
【００９４】
まず、入力画像データの入力値１１０１〜１１０４を受け取り、色補正・色変換部１２０１、パス生成部１２０３、１２０４、分配量子化部１２０５及び印刷データ変換部１２０６での処理を経たデータが出力画像データ（印刷データ）としてプリンタへ送信される（図１２参照）。色補正・色変換部１２０１は、入力画像をＣＭＹＫに変換する。このうち、ＣＭ成分についてのみ言及する。パス生成部１２０３、１２０４は、シアン及びマゼンタに対してそれぞれのパス生成部１２０３、１２０４で記録走査に対応する入力値を生成する。パス生成部１２０３、１２０４は、本実施形態では、２パス印刷としたため、シアンの入力値Ｃとマゼンタの入力値Ｍとして、それぞれ記録走査に対応する入力値Ｃ１、Ｃ２、Ｍ１、Ｍ２を生成する。分配量子化部１２０５は、これらの入力値を量子化する。印刷データ変換部１２０６は、量子化データをプリンタ用のデータに変換し、プリンタに送信する（図１２参照）。
【００９５】
ホストコンピュータ１０１のＣＰＵ１０５は、量子化に伴う誤差により入力画像データの入力値１１０１〜１１０４を補正する入力値補正部１１０５〜１１０８と、補正値の総和を求める加算部１１１３と、補正値の総和に対する量子化値を求める量子化部１１１４と、量子化に伴う誤差（誤差バッファを含む）を求める誤差計算部１１０９〜１１１２と、量子化値及び誤差に基づいて量子化値を分配し、出力画像データの出力値１１１６〜１１１９をプリンタ１０２へ出力する量子化値分配部１１１５とを備える（図１１参照）。
【００９６】
［画像処理装置の全体的な処理手順］
まず、ホストコンピュータ１０１に、外部記憶装置１０４や入力装置１０３等から印刷すべき画像を入力する。入力されたカラー又はグレースケールの画像は、ホストコンピュータ内で実行される印刷画像処理プログラムの色補正・色変換部１２０１へ入力し、印刷設定に応じた色補正を行い、画像データに一般的に用いられるＲＧＢ成分をプリンタでの印刷に適したＣＭＹＫ成分に変換する。そして、分配量子化部１２０５は、ＣＭＹＫ成分に変換された画像のシアン・マゼンタに対して、図４で示すように量子化処理を行う。
【００９７】
ここで、以降の数式に用いられる文字について説明する。総合量子化レベルＮは、個々の量子化レベルｎの総和である。例えば、シアン及びマゼンタで０、１、２の３値化（ｎ＝３）を行う場合の総合量子化レベルは、０、１、２、３、４の５値（Ｎ＝５）である。また、αは量子化の閾値を調整するために付加され、＋−の誤差範囲が可能な限り等しくなるようにする。例えば、入力値範囲が０〜２５５、量子化レベルがｎ＝３の場合、α＝２５６÷（ｎ＋１）＝６４となる。
【００９８】
シアン、マゼンタのそれぞれのパス生成部１２０３、１２０４では、任意の方法により各記録走査（１及び２パス目の走査画像データ）に対応するように濃度を分割する。濃度分割の方法は、例えば、１及び２パス目で４０％、６０％ずつの濃度に分割してもよいし、着目画素の位置に対応した分割用のテーブルを用いてもよい。ここでは、シアンの入力値Ｃに対し、一律、１パス目に４０％、２パス目に６０％の濃度を割り当て、Ｃ１、Ｃ２とすると以下の式で求められる。
【００９９】
Ｃ１＝Ｃ×０．４・・・（Ｆ４００）
Ｃ２＝Ｃ−Ｃ１
マゼンタについても同様に求められる。なお、シアンとマゼンタ間で異なる方法により濃度を分割してもよい。分割して得られた入力値Ｃ１、Ｃ２、Ｍ１、Ｍ２は分配量子化部１２０５で図４で示すように量子化を行う。
【０１００】
［分配量子化部１２０５の量子化処理（図４）］
まず、処理すべき画素があるか否かを確認し（Ｓ４００）、処理すべき画素がある場合にはＳ４０１に進み、処理すべき画素が無い場合には、量子化処理を行うことなく一連の処理を終了する。そして、着目画素を次の画素に移して、量子化での入力値Ｃ１、Ｃ２、Ｍ１、Ｍ２（本実施例の場合の範囲は０〜２５５、シアン、マゼンタの各入力値の最大値をＣｍａｘ、Ｍｍａｘ（＝２５５）とする）に対して、前述の量子化で生じた１及び２パス目の各誤差ｅＣ１、ｅＣ２、ｅＭ１、ｅＭ２により入力値を補正し（Ｓ４０１）、補正値Ｃ１’、Ｃ２’、Ｍ１’、Ｍ２’（−α＜Ｃ１’，Ｃ２’，Ｍ１’，Ｍ２’＜Ｃｍａｘ（Ｍｍａｘ）＋α）を求める。Ｃ１’，Ｃ２’，Ｍ１’，Ｍ２’の範囲は、上述の通り、それぞれの量子化レベルがｎ＝３であるため、−６４＜Ｃ１’，Ｃ２’，Ｍ１’，Ｍ２’＜３１９となる。
【０１０１】
Ｃ１’＝Ｃ１＋ｅＣ１・・・（Ｆ４０１）
Ｃ２’＝Ｃ２＋ｅＣ２
Ｍ１’＝Ｍ１＋ｅＭ１
Ｍ２’＝Ｍ２＋ｅＭ２
そして、補正値の総和Ｓを式Ｆ４０２により求める（Ｓ４０２）。ただし、Ｓが一定の範囲（−α＜Ｓ＜Ｃｍａｘ＋Ｍｍａｘ＋α、−６４＜Ｓ＜５７４、図１３の領域Ａの範囲）を超える場合はクリッピングを行う。
【０１０２】
Ｓ＝Ｃ１’＋Ｃ２’＋Ｍ１’＋Ｍ２’・・・（Ｆ４０２）
続いて、式Ｆ４０３により、補正値の総和Ｓの量子化を行い（Ｓ４０３）、量子化値Ｏを求める。
【０１０３】
Ｏ＝｛（Ｓ＋α）×Ｎ｝÷（Ｃｍａｘ＋Ｍｍａｘ＋α×２＋１）・・・（Ｆ４０３）
数式Ｆ４０３の量子化について、入力画像データの入力値と出力画像データの出力値との関係を具体的に表したものが図１３である。入力１がＣ１’＋Ｃ２’であり、入力２がＭ１’＋Ｍ２’となる。
【０１０４】
具体的な値として、補正値Ｃ１’＝１０５、Ｃ２’＝１２４、Ｍ１’＝９７、Ｍ２’＝６０であるときを例に挙げて説明する。補正値の総和Ｓ＝１０５＋１２４＋９７＋６０＝３８６となる。量子化レベルがＮ＝５、Ｃｍａｘ＝Ｍｍａｘ＝２５５であるため、量子化値Ｏは次のように求めることができる。なお、ここでの記号（≒）は小数点以下を切り捨てることを意味する。
【０１０５】
Ｏ＝｛（３８６＋６４）×５｝÷（２５５＋２５５＋６４×２＋１）＝３．５２・・・≒３
続けて、以下の式により量子化値Ｏをシアン、マゼンタに分配し（Ｓ４０４）、量子化出力値を決定する。シアン、マゼンタの量子化出力値をそれぞれＣｏｕｔ、Ｍｏｕｔとする。
【０１０６】
Ｃ１ｏｕｔ＝｛Ｏ×（Ｃ１’＋α）＋（Ｓ＋α×２）÷２｝÷（Ｓ＋α×２）
Ｃ２ｏｕｔ＝｛Ｏ×（Ｃ２’＋α）＋（Ｓ＋α×２）÷２｝÷（Ｓ＋α×２）
Ｍ１ｏｕｔ＝｛Ｏ×（Ｍ１’＋α）＋（Ｓ＋α×２）÷２｝÷（Ｓ＋α×２）
Ｍ２ｏｕｔ＝Ｏ−Ｃ１ｏｕｔ−Ｃ２ｏｕｔ−Ｍ１ｏｕｔ・・・（Ｆ４０４）
前述の量子化値Ｏ＝３を代入すると、Ｃ１ｏｕｔ、Ｃ２ｏｕｔ、Ｍ１ｏｕｔ、Ｍ２ｏｕｔは、次のように求めることができる。
【０１０７】
Ｃ１ｏｕｔ＝｛３×（１０５＋６４）＋（３８６＋６４×２）÷２｝÷（３８６＋６４×２）＝１．４８・・・≒１
Ｃ２ｏｕｔ＝１．５９・・・≒１
Ｍ１ｏｕｔ＝１．４３・・・≒１
Ｍ２ｏｕｔ＝３−１−１−１＝０
量子化値を求めた後は、シアン及びマゼンタの１及び２パス目に対し、求めた量子化値に対する誤差を求め、周辺画素へ拡散する（Ｓ４０５）。これらの処理を処理すべき画素がなくなるまで繰り返す。以上のフローにより１ラスターの処理が終了したら、次のラスターに移って同様の処理を繰り返す。量子化されたデータは印刷データ変換部１２０６でプリンタが解釈可能な形式に変換され、プリンタに印刷データが送信されると、印刷が行われる。
【０１０８】
本実施形態によれば、複雑な比較やデータサイズの大きなテーブルを用いることなく、簡素な計算により色・記録走査間で相関付けた量子化を行うことが可能となり、シアンとマゼンタの各記録走査間でドットを分散させて一様に配置することが可能となる。このため、処理に必要な計算量やメモリを少なくすることが可能である。
【０１０９】
さて、本実施形態において、使用する色をＣＭＹＫとしたが、これに限らない。多彩な色を表現し、又は処理を簡略化するため、目的に応じて別途必要な色を加えたり減らしたりしてもよい。また、シアンとマゼンタに対して本発明を適用したが、シアンとブラック、マゼンタとイエロー等、色の組み合わせに限定はない。
【０１１０】
さらに、本発明は２色間だけでなく、さらに多くの色に対しても適用可能である。また、本実施形態では補正値の総和に対して、量子化の総和を求める計算式は本実施形態に挙げた式に限らないし、計算式を用いなくてもよい。テーブルを用いる方法もある。さらに、出力値の分配方法に関しても、別の計算式を用いてもよい。これらは第１乃至第３の実施形態で同様の例を挙げた通りである。
【０１１１】
また、本実施形態では入力画像の全域を処理対象としたが、本発明は、画像の一部領域に適用してもよい。また、任意の信号の強度によって本発明を適用するか否かを切り替えたり、適用する度合を変更したりしてもよい（第５の実施形態に記載）。
【０１１２】
また、本実施形態は各処理をラスター単位で処理を行ったが、これに限らない。プリンタの性能や、ホストコンピュータのメモリ量や演算速度等、状況に応じて、画像単位で処理してもよいし、画素単位で処理してもよい。
【０１１３】
また、本実施形態で示した画像形成装置のインクジェットプリンタは一例として示したものであり、レーザプリンタをはじめ、複数の色又は複数回の記録走査、又はその両方により画像を形成するものであれば本発明を適用できることは言うまでもない。
【０１１４】
＜第５の実施形態＞
本実施形態は、本発明をインクジェットプリンタに適用した例である。なお、第１の実施形態の構成（図１、図２）と同様の構成については、同一の符号を付して説明する。本実施形態に係るインクジェットプリンタは、使用色としてＣＭＹＫを用いるものとし、シアンとマゼンタに対して本発明に係る量子化を行うものとする。イエローやブラックについては従来のように色毎に独立した量子化を行う。
【０１１５】
入力画像データの入力値を受け取り、色補正・色変換部１００１、分配量子化部１００２、独立量子化部１００３、１００４、量子化値決定部１００５及び印刷データ変換部１００６での処理を経たデータが出力画像データ（印刷データ）としてプリンタへ送信される（図１０参照）。すなわち、本実施形態に係る画像処理装置は、次の構成となる。
【０１１６】
色補正・色変換部１００１（補正手段）は、着目画素データを構成する各色成分値に、当該着目画素位置の各色成分に対して分配された量子化誤差を加算することで、着目画素の各色成分値を補正する。
【０１１７】
分配量子化部１００２（第１の量子化手段）は、色補正・色変換部１００１で補正後の着目画素における、予め定めた２以上の色成分毎（本実施形態では、シアン及びマゼンタ）の色成分値の和を算出し、算出した和を、相関して量子化する対象として設定された各色成分の数と階調数Ｍに依存して定まる階調数に量子化する。
【０１１８】
独立量子化部１００３（第２の量子化手段）は、色補正・色変換部１００１で補正後の着目画素における、相関量子化対象として設定された色成分と同じ色成分（シアン及びマゼンタ）を独立してＭ階調に量子化する。
【０１１９】
独立量子化部１００４（第３の量子化手段）色補正・色変換部１００１で補正後の着目画素における、独立量子化部１００３で量子化する色成分を除く色成分（本実施形態では、イエロー及びブラック）を独立してＭ階調に量子化する。
【０１２０】
量子化値決定部１００５（配分手段）は、色成分値として取り得る最大値に対する、分配量子化部１００２による量子化結果が示す値と独立量子化部１００３による量子化結果が示す値との和の比率に基づいて、相関量子化対象として設定された色成分の色成分値として配分する。
【０１２１】
独立量子化部１００４による、独立して量子化する対象として設定された各色成分の量子化値、及び量子化値決定部１００５で配分された各色成分の量子化値と、それらの量子化前の値との差分を、着目画素における各色成分の量子化誤差として未量子化画素位置に分配する。
【０１２２】
［画像処理装置の全体的な処理手順］
まず、ホストコンピュータ１０１に、外部記憶装置１０４や入力装置１０３等から印刷すべき画像を入力する。入力されたカラー又はグレースケールの画像は、ホストコンピュータ内で実行される印刷画像処理プログラムの色補正・色変換部１００１へ入力し、印刷設定に応じた色補正を行い、画像データに一般的に用いられるＲＧＢ成分をプリンタでの印刷に適したＣＭＹＫ成分に変換する。
【０１２３】
分配量子化部１００２では、ＣＭＹＫ成分に変換された画像のシアン・マゼンタに対して量子化を行う。ここでの量子化方法は第１の実施形態と同様であるため説明を省略する。独立量子化部１００３では、ＣＭＹＫ成分に変換された画像のシアン・マゼンタに対して、一般的に用いられる従来の誤差拡散法を用いて色毎に独立して量子化を行う。
【０１２４】
シアンとマゼンタ以外の色、すなわち、イエロー及びブラックに関しては、独立量子化部１００４で一般的に用いられる従来の誤差拡散法を用いて色毎に独立して量子化を行う。量子化値決定部１００５は、分配量子化部１００２、独立量子化部１００３で求められた量子化値に基づいて、最終的に出力すべき量子化値を決定する。
【０１２５】
具体的には、分配量子化部１００２、独立量子化部１００３で求められたシアンの量子化値をＣｏｒ、Ｃｏｄ、マゼンタの量子化値をＭｏｒ、Ｍｏｄとすると、最終的に出力される量子化値Ｃｏｕｔ、Ｍｏｕｔは次式を用いて求めることができる。ここで、シアンとマゼンタの補正値の総和をＳｉ、シアンとマゼンタの補正値の総和が取り得る最大値をＳｍａｘとする。
【０１２６】
Ｃｏｕｔ＝Ｃｏｒ×（１−Ｓｉ÷Ｓｍａｘ）＋Ｃｏｄ×Ｓｉ÷Ｓｍａｘ
Ｍｏｕｔ＝Ｍｏｒ×（１−Ｓｉ÷Ｓｍａｘ）＋Ｍｏｄ×Ｓｉ÷Ｓｍａｘ・・・（Ｆ５０１）
以上の式により、シアンとマゼンタ全体の濃度が低いと分配誤差拡散の結果の比率が高くなるため、ドットが一様に分散するような量子化結果を出力するようになる一方で、シアンとマゼンタ全体の濃度が高いと独立誤差拡散の結果の比率が高くなるため、シアンの量子化とマゼンタの量子化とを無関係に行ったときと同様の結果が出力される。画像の入力に応じて量子化方法を切り替えるのではなく、割合により適用度合を変化させることができるため、量子化方法が切り替わる境界付近の量子化結果が不自然になることを抑制することができ、印刷画質の改善を図ることが可能となる。
【０１２７】
さて、量子化されたデータは印刷データ変換部１００６でプリンタが解釈可能な形式に変換され、プリンタに印刷データが送信されると、印刷が行われる。
【０１２８】
本実施形態によれば、複雑な比較やデータサイズの大きなテーブルを用いることなく、簡素な計算によって色間で相関付けた量子化を行うことが可能となり、シアンとマゼンタとの間でドットを分散させて一様に配置することができる。このため、処理に必要な計算量やメモリを少なくすることが可能である。
【０１２９】
なお、本実施形態では、使用する色をＣＭＹＫとしたが、多彩な色を表現するため、又は処理を簡略化するため、目的に応じて別途必要な色を加えたり減らしたりしてもよい。また、シアンとマゼンタに対して本発明を適用したが、シアンとブラック、マゼンタとイエロー等、色の組み合わせに限定はない。さらに、本発明は２色間だけでなく、さらに多くの色に対しても適用可能である。
【０１３０】
また、本実施形態では、式Ｆ５０１を用いて量子化値を求めたが、計算式はこれに限らない。また、本実施形態では入力画像の全域を処理対象としたが、本発明は、画像の一部領域に適用してもよい。
【０１３１】
また、本実施形態では、各処理をラスター単位で行ったが、プリンタの性能や、ホストコンピュータのメモリ量や演算速度等、状況に応じて、画像単位で処理してもよいし、画素単位で処理してもよい。
【０１３２】
また、本実施形態で示した画像形成装置のインクジェットプリンタは一例として示したものであり、レーザプリンタをはじめ、複数の色又は複数回の記録走査、又はその両方により画像を形成するものであれば本発明を適用できることは言うまでもない。
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011023984.tif 000003
【図２】
2011023984.tif 000004
【図３】
2011023984.tif 000005
【図４】
2011023984.tif 000006
【図５】
2011023984.tif 000007
【図６】
2011023984.tif 000008
【図７】
2011023984.tif 000009
【図８】
2011023984.tif 000010
【図９】
2011023984.tif 000011
【図１０】
2011023984.tif 000012
【図１１】
2011023984.tif 000013
【図１２】
2011023984.tif 000014
【図１３】
2011023984.tif 000015