(57)【要約】【課題】ハーフトーンパラメータを精度良く効率的に求めて、適正なハーフトーン処理を行えるようにする。【解決手段】ハーフトーン処理における空間周波数の等方性を設定する等方性設定部１３１と、ハーフトーンパラメータに基づいて出力特性を予測する誤差伝播処理部１３４と、誤差伝播処理部１３４で予測した出力特性および等方性設定部１３１で設定した等方性に基づき算出される評価値に基づいてハーフトーンパラメータを編集する編集部１３６と、編集部１３６で編集されたハーフトーンパラメータに基づいて入力された画像データを量子化するハーフトーン処理を行うハーフトーン処理部１０９を備える。【選択図】図１
2011114395.tif 000002
【特許請求の範囲】
【請求項１】
ハーフトーン処理における空間周波数の等方性を設定する等方性設定手段と、
ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測手段と、
前記出力特性予測手段で予測した出力特性および前記等方性設定手段で設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集手段と、
前記編集手段で編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記ハーフトーン処理は、誤差拡散法または平均誤差最小法を用いた処理であり、
前記ハーフトーンパラメータは、量子化誤差の重み付けフィルタの係数であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記出力特性予測手段は、前記出力特性の予測として量子化誤差の伝播関数を算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記等方性設定手段は、記録媒体上における各画素の記録位置の変動量に基づいて前記等方性を設定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
ハーフトーン処理における空間周波数の等方性を設定する等方性設定ステップと、
ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測ステップと、
前記出力特性予測ステップで予測した出力特性および前記等方性設定ステップで設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集ステップと、
前記編集ステップで編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理ステップと
を有することを特徴とする画像処理方法。
【請求項６】
コンピュータに実行させるためのプログラムであって、
ハーフトーン処理における空間周波数の等方性を設定する等方性設定ステップと、
ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測ステップと、
前記出力特性予測ステップで予測した出力特性および前記等方性設定ステップで設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集ステップと、
前記編集ステップで編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対してハーフトーン処理を行うものに関する。
【背景技術】
【０００２】
例えば、ワードプロセッサ、パーソナルコンピュータ、ファクシミリ等から情報を出力する情報出力装置として、一般に、所望される文字や画像等の情報を用紙やフィルム等のシート状の記録媒体に記録する記録装置が用いられる。この記録装置には、様々な記録方式のものがある。その中で、記録媒体に記録剤を付着させることで記録媒体上に画像等を形成する記録方式が広く実用化されており、この代表例として、インクジェット記録方式が知られている。
【０００３】
インクジェット記録方式を適用した記録装置（画像形成装置）では、記録媒体への記録速度の向上や記録物の高画質化等を実現するために、同一色で同一濃度のインクを吐出可能な複数のインク吐出口（ノズル）を集積配列したノズル群を備える。さらに、画質の向上を実現するために、同一色で濃度の異なるインクを吐出可能としたノズル群や、同一色で同一濃度のインクの吐出量を何段階かに変えて吐出可能としたノズル群が設けられる場合もある。
【０００４】
このような記録装置において、従来、多値の入力画像データをドットの記録信号にあたる２値（またはＮ値：Ｎは２以上で入力階調数より少ない階調数）画像データに変換するハーフトーン処理の手法として、例えば、誤差拡散法が知られている。この誤差拡散法では、ある画素で生じた２値化誤差（またはＮ値化誤差）を以降の複数画素へ拡散することにより、擬似的に階調表現を行う。
【０００５】
上述した誤差拡散法によって階調数が変換された画像を、実際に記録媒体上に形成する際に、その画質の向上を目的として、２値化（Ｎ値化）後のドット分散性を入力階調値ごとに制御する技術が提案されている（例えば、下記の特許文献１〜４参照）。
【０００６】
具体的に、特許文献１には、入力階調値が低階調になるほど、ハーフトーン処理に用いるハーフトーンパラメータの誤差拡散係数を多く持たすようにすることで、ドット分散性を高める技術が示されている。また、特許文献２には、誤差拡散係数の指向性係数を求め、入力階調が低階調となるほど、当該指向性係数を大きく（具体的には２．０以上）することで、低階調部におけるドット分散性を高める技術が示されている。また、特許文献３には、誤差拡散処理をΔΣ変調とみなし、誤差拡散係数を直接Ｚ変換により変調特性を算出し、入力階調値が量子化レベルに近いほど、当該変調特性の低周波成分を等方的にすることで、ドットの分散性を高める技術が示されている。また、特許文献４には、候補となる誤差拡散係数の全通りの組合せを実際に処理して低階調化を行い、当該低階調化後の画像について画像評価を実施して、評価値が最も良好な拡散係数を階調毎の拡散係数とすることで、ドット分散性を高める技術が示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−２２６８４１号公報
【特許文献２】特開２００４−１９４１７９号公報
【特許文献３】特開平１１−２３９２７５号公報
【特許文献４】特開２００２−９４７９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された技術では、低階調ほど多くの係数が必要となり、処理コストが高くなる。さらに、特許文献１に記載された技術では、低階調ほど多くの係数を使用しても、使用する誤差拡散係数が不適切である場合には分散性が悪くなる場合がある。
【０００９】
また、特許文献２に記載された技術も、特許文献１と同様、誤差拡散係数が多くなり、処理コストが高くなる。さらに、特許文献２に記載された技術では、指向性係数が高い場合でも、使用する誤差拡散係数が不適切である場合には分散性が悪くなる場合がある。
【００１０】
また、特許文献３に記載された技術では、異なるラスタで誤差拡散処理方向が同一方向であって、かつ、各ラスタで誤差拡散係数が同一の場合には、変調特性が予測可能である。しかしながら、誤差拡散処理は、一般的に、ラスタごとに誤差拡散処理方向を切り替えた方が、少ない誤差拡散係数で分散性を高くできる。即ち、少ない誤差拡散係数で処理方向を切り替えた方が低コストかつ高画質を実現できる。さらに、特許文献３に記載された技術では、異なるラスタで誤差拡散処理方向が異なる場合や、ラスタごとに誤差拡散係数を切り替えた場合には、変調特性を予測することができず、良好な誤差拡散係数を算出することが困難である。
【００１１】
また、特許文献４に記載された技術では、異なるラスタで誤差拡散処理方向が異なる場合や、ラスタごとに誤差拡散係数を切り替えた場合でも適用できる。しかしながら、候補となる誤差拡散係数の全通りの組合せを調べなくてはならないので、組合せの数が多い場合には、誤差拡散係数を求めるまでに膨大な処理時間を要してしまう。
【００１２】
さらに、上述した特許文献１〜４に記載された技術では、画像形成装置において、物理的なレジストレーション変動がない場合には出力ドットの分散性を良好にできるが、レジストレーション変動が起こった場合には出力ドットの分散性が悪化する問題もある。
【００１３】
本発明は、このような問題点に鑑みてなされたものであり、ハーフトーンパラメータ（誤差拡散係数）を精度良く効率的に求めて、適正なハーフトーン処理を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明の画像処理装置は、ハーフトーン処理における空間周波数の等方性を設定する等方性設定手段と、ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測手段と、前記出力特性予測手段で予測した出力特性および前記等方性設定手段で設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集手段と、前記編集手段で編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理手段とを有する。
【発明の効果】
【００１５】
本発明によれば、ハーフトーンパラメータを精度良く効率的に求めることができ、適正なハーフトーン処理を行うことが可能となる。
【図面の簡単な説明】
【００１６】
【図１】画像形成装置の概略構成の一例を示す模式図である。
【図２】図１に示す記録ヘッドの概略構成の一例を示す模式図である。
【図３】実施形態に係る制御方法の処理手順の一例を示すフローチャートである。
【図４】色分解画像データの切り出し位置であるＹ座標Ｙｃｕｔの設定方法を説明するための模式図である。
【図５】走査Ｄｕｔｙ設定用ＬＵＴを説明するための模式図である。
【図６】走査Ｄｕｔｙ設定部による走査Ｄｕｔｙの設定方法の一例を示す図である。
【図７】走査ＤＵＴＹデータ及び制約情報データの一例を示す模式図である。
【図８】ハーフトーン処理部の詳細な内部構成の一例を示す模式図である。
【図９】ステップＳ１０６の詳細な処理手順の一例を示すフローチャートである。
【図１０】ハーフトーンパラメータ及び誤差拡散係数を説明する模式図である。
【図１１】各シアン累積誤差ラインバッファの記憶領域の一例を示す模式図である。
【図１２】各走査番号における印字領域を説明するための模式図である。
【図１３】ハーフトーン画像データ（２値画像データ）の一例を示す模式図である。
【図１４】制約情報演算部の詳細な内部構成の一例を示す模式図である。
【図１５】ステップＳ１０９の詳細な処理手順の一例を示すフローチャートである。
【図１６】走査Ｄｕｔｙデータ及びフィルタの一例を示す模式図である。
【図１７】ハーフトーン画像データ及び走査Ｄｕｔｙデータの一例を示す模式図である。
【図１８】ステップＳ１１３の詳細な処理手順の一例を示すフローチャートである。
【図１９】等方性設定部で設定する周波数等方性を説明するための模式図である。
【図２０】図１に示すハーフトーンパラメータ保持部に初期値として設定するハーフトーンパラメータ（誤差拡散係数）の一例を示す模式図である。
【図２１】図１に示す誤差伝播処理部の構成及び処理の一例を示す図である。
【図２２】ステップＳ５０１で入力される誤差伝播用データの一例を示す模式図である。
【図２３】誤差伝播関数Ｓｐｒｅａｄの一例を示す模式図である。
【図２４】ステップＳ４０５の詳細な処理手順の一例を示すフローチャートである。
【図２５】基本カット周波数ｆｃｕｔ（ｔ）、振幅スペクトル及び特徴量データａｍｐの一例を示す特性図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の実施形態に係る画像形成装置１００の概略構成の一例を示す模式図である。
【００１８】
画像形成装置１００は、図１に示すように、入力された画像の処理を行う画像処理装置１１０と、画像処理装置１１０で処理が施された画像を記録媒体上に形成するプリンタ１２０と、ハーフトーンパラメータ演算装置１３０を有して構成されている。ハーフトーンパラメータ演算装置１３０は、画像処理装置１１０でハーフトーン処理を行う際に用いるハーフトーンパラメータの演算処理を行うものである。また、画像処理装置１１０とプリンタ１２０とハーフトーンパラメータ演算装置１３０とは、互いに、プリンタインタフェース又は所定の回路等によって接続されている。
ここで、画像処理装置１１０及びハーフトーンパラメータ演算装置１３０は、例えば、一般的なパーソナルコンピュータ（ＰＣ）にインストールされたプリンタドライバによって実施され得る。その場合、以下に説明する画像処理装置１１０及びハーフトーンパラメータ演算装置１３０の各構成部は、ＰＣのＣＰＵ等が所定のプログラムを実行することにより実現されることになる。また、本実施形態に係る画像形成装置１００の他の構成としては、例えば、プリンタ１２０が画像処理装置１１０及びハーフトーンパラメータ演算装置１３０を含む構成としてもよい。
【００１９】
画像処理装置１１０は、画像データ入力端子１０１、入力画像バッファ１０２、色分解処理用ＬＵＴ記憶部１０３、色分解処理部１０４、走査Ｄｕｔｙ設定用ＬＵＴ記憶部１０５、走査Ｄｕｔｙ設定部１０６、走査Ｄｕｔｙバッファ１０７を有して構成されている。更に、ハーフトーンパラメータ記憶部１０８、ハーフトーン処理部１０９、ハーフトーン画像バッファ１１１、制約情報演算部１１２、制約情報バッファ１１３、画像データ出力端子１１４、パラメータ入力端子１１５を有して構成されている。
【００２０】
画像データ入力端子１０１は、印刷対象の画像データを外部装置から当該画像処理装置１１０に入力する。入力画像バッファ１０２は、画像データ入力端子１０１から入力された入力画像データを格納する。
【００２１】
色分解処理用ＬＵＴ記憶部１０３には、色分解処理の際に用いられる色分解処理用ＬＵＴ（Look Up Table）が記憶されている。色分解処理部１０４は、入力画像バッファ１０２から入力された入力画像データ（具体的には、カラー画像データ）をプリンタ１２０が備えるインクの色へ色分解する処理を行う。この色分解処理に際して、色分解処理部１０４は、色分解処理用ＬＵＴ記憶部１０３に記憶されている色分解処理用ＬＵＴを参照する。
【００２２】
走査Ｄｕｔｙ設定用ＬＵＴ記憶部１０５には、例えばプリンタ１２０が備える記録ヘッド１２４の主走査の走査条件に応じた複数の走査Ｄｕｔｙ設定用ＬＵＴが記憶されている。走査Ｄｕｔｙ設定部１０６は、走査Ｄｕｔｙ設定用ＬＵＴ記憶部１０５から読み出した走査Ｄｕｔｙ設定用ＬＵＴに基づき、色分解処理部１０４において分解された各インク色値を、走査ごとの各インク色値へ変換する。そして、走査Ｄｕｔｙ設定部１０６は、変換した各インク色値のデータを走査Ｄｕｔｙデータとして走査Ｄｕｔｙバッファ１０７に格納する。即ち、本実施形態における走査Ｄｕｔｙデータは、各走査における記録インク量を示すものである。走査Ｄｕｔｙバッファ１０７には、走査Ｄｕｔｙ設定部１０６で設定された、走査ごとの各インク色値のデータ（走査Ｄｕｔｙデータ）が格納される。
【００２３】
ハーフトーンパラメータ記憶部１０８は、ハーフトーンパラメータ演算装置１３０において演算されたハーフトーンパラメータが記憶・更新されて、格納されている。なお、このハーフトーンパラメータは、画像処理を行う前に予めハーフトーンパラメータ記憶部１０８に格納されているか、或いは、プリンタ１２０の印刷動作の途中で更新されて格納される。
ハーフトーン処理部１０９は、走査Ｄｕｔｙ設定部１０６によって得られた走査ごとの各インク色値（具体的には、各インク色の多階調（３階調以上）値）を、Ｎ値の画像データ（Ｎは２以上で入力階調数より少ない階調数）に変換するハーフトーン処理を行う。具体的に、ハーフトーン処理部１０９は、ハーフトーンパラメータ記憶部１０８のハーフトーンパラメータと、制約情報バッファ１１３の制約情報データに基づいて、Ｎ値の画像データ（例えば、２値画像データ）に変換するハーフトーン処理を行う。以下の説明では、Ｎ値として２値を適用した例について記載する。
ハーフトーン画像バッファ１１１には、ハーフトーン処理部１０９において得られた各インク色の２値画像データがハーフトーン画像データとして格納される。
【００２４】
制約情報演算部１１２は、ハーフトーン画像バッファ１１１に格納された２値画像データと、走査Ｄｕｔｙバッファ１０７に格納された走査ごとの走査Ｄｕｔｙデータを用いた所定の制約情報に係る演算を行って、その結果を制約情報バッファ１１３に格納する。
制約情報バッファ１１３には、制約情報演算部１１２による制約情報（具体的には、記録される画像上のアドレスにドットが形成されやすいか否かを示す情報）のデータが格納される。なお、制約情報バッファ１１３には、インク色ごとに制約情報データが格納されるものとする。
【００２５】
画像データ出力端子１１４は、ハーフトーン画像バッファ１１１に格納されたハーフトーン画像データ（２値画像データ）をプリンタ１２０へ出力する出力端子である。また、パラメータ入力端子１１５は、ハーフトーンパラメータ演算装置１３０からのハーフトーンパラメータをハーフトーンパラメータ記憶部１０８に入力する入力端子である。
【００２６】
プリンタ１２０は、画像データ入力端子１２１、インク色選択部１２２、ヘッド制御部１２３、記録ヘッド１２４、記録媒体１２５、移動部１２６、搬送部１２７、センシング部１２８、及び、センシング情報出力端子１２９を有して構成されている。
本実施形態におけるプリンタ１２０（例えばヘッド制御部１２３）は、記録ヘッド１２４を用紙等の記録媒体１２５に対して相対的に縦横に移動することにより、画像処理装置１１０において形成された２値画像データに基づく画像を記録媒体１２５上に形成する。ここで、記録ヘッド１２４としては、例えば、熱転写方式、電子写真方式、インクジェット方式などの各方式のものを用いることができ、いずれも、１つ以上の記録素子（インクジェット方式であればノズル）を有する。
【００２７】
画像データ入力端子１２１は、画像処理装置１１０から出力されたハーフトーン画像データ（２値画像データ）をプリンタ１２０の内部に入力する。インク色選択部１２２は、画像処理装置１１０により形成され入力された各インク色の２値画像データに基づいて、記録ヘッド１２４に搭載されるインク色の中から、インク色を選択する。ヘッド制御部１２３は、記録ヘッド１２４の走査に係る制御等を行う。移動部１２６は、ヘッド制御部１２３の制御下で、記録ヘッド１２４の移動を行う。搬送部１２７は、ヘッド制御部１２３の制御下で、記録媒体１２５の搬送を行う。
センシング部１２８は、記録媒体１２５のレジストレーションや記録媒体１２５上に記録されたドットをセンシングして、レジストレーションのズレ量を計測する。センシング情報出力端子１２９は、センシング部１２８で計測されたレジストレーションのズレ量をセンシング情報としてハーフトーンパラメータ演算装置１３０に出力する。
【００２８】
ハーフトーンパラメータ演算装置１３０は、等方性設定部１３１、階調値設定部１３２、ハーフトーンパラメータ保持部１３３、誤差伝播処理部１３４、評価部１３５、及び、編集部１３６を有して構成されている
等方性設定部１３１は、センシング部１２８で計測されたレジストレーションのズレ量（センシング情報）に基づいて、再現したい所望の出力周波数特性の等方性を設定する。
階調値設定部１３２は、入力階調に応じたハーフトーンパラメータを演算するための入力階調値を設定する。
ハーフトーンパラメータ保持部１３３には、ハーフトーンパラメータとして、予め、後述の誤差伝播処理部１３４における処理に用いられる誤差拡散係数が設定され保持される。
誤差伝播処理部１３４は、ハーフトーンパラメータ保持部１３３に保持されたハーフトーンパラメータを用いて、誤差伝播関数（量子化誤差の伝播関数）を算出する。
評価部１３５は、誤差伝播処理部１３４において算出された誤差伝播関数を用いて、等方性設定部１３１において設定された等方性値と、階調値設定部１３２において設定された入力階調値とに基づいて、評価値を算出する。
編集部１３６は、評価部１３５で算出された評価値が最良となるように、ハーフトーンパラメータ保持部１３３に保持されているハーフトーンパラメータを編集し更新を行う。そして、これ以上、評価値が良化しないまでに更新されたハーフトーンパラメータは、ハーフトーンパラメータ保持部１３３から、パラメータ入力端子１１５を介して画像処理装置１１０のハーフトーンパラメータ記憶部１０８に格納される。そして、上記処理を階調数分繰り返し行う。
【００２９】
図２は、図１に示す記録ヘッド１２４の概略構成の一例を示す模式図である。
本実施形態では、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）及びブラック（Ｋ）の４色のインクに加え、相対的にインク濃度が低い淡シアン（Ｌｃ）及び淡マゼンタ（Ｌｍ）を含めた６色のインクを、当該記録ヘッド１２４に搭載するものとする。この図２に示す記録ヘッド１２４には、記録素子に相当するノズル１２４１が、インク色ごとに複数備えられている。
【００３０】
なお、本実施形態における記録ヘッド１２４は、説明を簡単にするために、ヘッド移動方向と垂直方向の用紙搬送方向に、ノズル１２４１がインク色ごとに一列に配置された構成を有するものを示しているが、ノズルの数や配置はこれに限定されるものではない。例えば、同一色でも吐出量が異なるノズル列を有してもよいし、同一吐出量のノズル１２４１が複数列あってもよいし、ノズル１２４１がジグザグに配置されているような構成であってもよい。また、図２に示す記録ヘッド１２４では、インク色の配置順序がヘッド移動方向に対して一列となっているが、例えば、記録媒体１２５である用紙の搬送方向（用紙搬送方向）に一列に配置する構成であってもよい。
【００３１】
次に、本実施形態に係る画像形成装置１００の制御方法の処理手順について説明する。
図３は、本発明の実施形態に係る画像形成装置１００の制御方法の処理手順の一例を示すフローチャートである。
【００３２】
まず、外部装置から多階調のカラー画像データが出力されると、ステップＳ１０１において、画像データ入力端子１０１は、当該多階調のカラー画像データを画像処理装置１１０の内部に入力する。その後、画像データ入力端子１０１から入力された多階調のカラー画像データは、入力画像バッファ１０２に入力画像データとして格納される。なお、本例において、このカラー画像データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分から構築されている。
【００３３】
続いて、ステップＳ１０２において、色分解処理部１０４は、入力画像バッファ１０２に格納された多階調のカラー画像データに対して色分解処理を行う。具体的に、色分解処理部１０４は、多階調のカラー画像データに対して、色分解処理用ＬＵＴ記憶部１０３に記憶されている色分解処理用ＬＵＴを用いて、ＲＧＢからＣＭＹＫ及びＬｃＬｍのインク色プレーンへの色分解処理を行う。
なお、本実施形態では、色分解処理後の画像データにおける各画素データを８ビットとして扱うが、それ以上の階調数への変換を行ってもよい。また、本実施形態における記録ヘッド１２４は、図２に示す６種類の各インク色（ＣＭＹＫＬｃＬｍ）を保有している。そのため、色分解処理部１０４に入力されたＲＧＢのカラー画像データは、ＣＭＹＫＬｃＬｍの各プレーンの計６プレーンの画像データに変換される。即ち、本例では、６種類のインク色に対応した６種類のプレーンの画像データが生成される。
【００３４】
ここで、本実施形態における色分解処理について説明する。
色分解処理部１０４は、色分解処理用ＬＵＴ記憶部１０３に記憶されている色分解処理用ＬＵＴを参照して、入力された画像データＲ'Ｇ'Ｂ'を、以下の（１）〜（６）式に示すＣＭＹＫＬｃＬｍのデータに変換する処理を行う。
Ｃ＝Ｃ＿ＬＵＴ＿３Ｄ（Ｒ'，Ｇ'，Ｂ'）      ・・・  （１）
Ｍ＝Ｍ＿ＬＵＴ＿３Ｄ（Ｒ'，Ｇ'，Ｂ'）      ・・・  （２）
Ｙ＝Ｙ＿ＬＵＴ＿３Ｄ（Ｒ'，Ｇ'，Ｂ'）      ・・・  （３）
Ｋ＝Ｋ＿ＬＵＴ＿３Ｄ（Ｒ'，Ｇ'，Ｂ'）      ・・・  （４）
Ｌｃ＝Ｌｃ＿ＬＵＴ＿３Ｄ（Ｒ'，Ｇ'，Ｂ'）  ・・・  （５）
Ｌｍ＝Ｌｍ＿ＬＵＴ＿３Ｄ（Ｒ'，Ｇ'，Ｂ'）  ・・・  （６）
ここで、（１）〜（６）式の右辺に定義される各関数が、色分解処理用ＬＵＴ記憶部１０３に記憶されている色分解処理用ＬＵＴに該当する。色分解処理用ＬＵＴは、レッド、グリーン、ブルーの３入力値から、各インク色への出力値を定める。本実施形態では、記録ヘッド１２４がＣＭＹＫＬｃＬｍの６つのインク色を具備する構成のため、色分解処理用ＬＵＴは、３入力値から６出力値を得るための構成となる。
以上の処理により、色分解処理部１０４による色分解処理が終了する。
【００３５】
なお、上述した色分解処理部１０４による色分解処理（即ち、ステップＳ１０２）までは、入力されたカラー画像データの全体に対して行う処理である。そして、これ以降の処理（即ち、ステップＳ１０３〜Ｓ１１４）は、記録ヘッド１２４の１回の走査（主走査）で記録するデータを作成する処理のため、走査ごとに記録を行う画像領域に対して処理を行う。
【００３６】
ここで、再び、図３の説明に戻る。
続いて、ステップＳ１０３において、走査Ｄｕｔｙ設定部１０６は、記録ヘッド１２４の走査における走査番号ｋ、及び、色分解処理部１０４で処理された色分解画像データの切り出し位置（Ｙ座標におけるＹｃｕｔ（ｋ））を設定する。なお、Ｙｃｕｔ（ｋ）は、走査番号ｋにおける色分解画像データの切り出し位置（ノズル上端座標）である。また、走査番号ｋの初期値は１であり、ステップＳ１０３〜Ｓ１１５のループごとに１ずつインクリメントされる。
ここで、記録ヘッド１２４において１６個のノズル列のノズル群を具備し、画像上の同一主走査記録領域に対して４回のスキャンで画像を形成する４パス印字の場合を例として、色分解画像データの切り出し位置であるＹ座標Ｙｃｕｔの設定方法について説明する。
【００３７】
図４は、本発明の実施形態を示し、色分解画像データの切り出し位置であるＹ座標Ｙｃｕｔの設定方法を説明するための模式図である。
一般的に４パス印字の場合、図４に示すように、走査番号の初期値（ｋ＝１）では、ノズル群の下端１／４のみを使用して画像形成を行い、走査番号ｋ＝２では、走査番号ｋ＝１に対してノズル群の長さ１／４分を用紙送りしてから画像形成を行う。さらに、走査番号ｋ＝３では、走査番号ｋ＝２に対してノズル群の長さ１／４分を用紙送りしてから画像を形成する。このような画像形成及び用紙送りを繰り返して、最終出力画像が形成される。そのため、走査番号ｋ＝１の場合、ノズル群の最上端のノズルの座標に相当する色分解画像データの切り出し位置Ｙｃｕｔは、−１２となる。
上述した色分解画像データの切り出し位置Ｙｃｕｔ（ｋ）を一般化すると、ノズル列数：Ｎｚｚｌ、パス数：Ｐａｓｓ、走査番号：ｋ、として、以下の（７）式で与えられる。
Ｙｃｕｔ（ｋ）＝−Ｎｚｚｌ＋（Ｎｚｚｌ／Ｐａｓｓ）×ｋ  ・・・  （７）
以上のようにして、色分解画像データの切り出し位置であるＹｃｕｔ（ｋ）が設定される。
【００３８】
ここで、再び、図３の説明に戻る。
続いて、ステップＳ１０４において、走査Ｄｕｔｙ設定部１０６は、走査Ｄｕｔｙ設定用ＬＵＴと、各色分解処理プレーンの画像データに基づいて、走査ごとの走査Ｄｕｔｙ値を設定する。
【００３９】
図５は、図１に示す走査Ｄｕｔｙ設定用ＬＵＴ記憶部１０５に記憶される走査Ｄｕｔｙ設定用ＬＵＴを説明するための模式図である。
具体的に、図５には、１６ノズル、４パスの場合の走査Ｄｕｔｙ設定用ＬＵＴの値の例が示されており、縦軸がノズル位置（ノズル番号）、横軸がＤｕｔｙ分割率を表している。図５に示す走査Ｄｕｔｙ設定用ＬＵＴには、変曲点Ｐ１〜Ｐ４を４ノズルごとに設定し、その各変曲点を線形補間した１６ノズル分のＤｕｔｙ分割率が、走査Ｄｕｔｙ設定用ＬＵＴとして保持されている。ここで、変曲点Ｐ１〜Ｐ４の数値は、以下の（８）式に示すように設定される。
Ｐ１＋Ｐ２＋Ｐ３＋Ｐ４＝１．０      ・・・  （８）
なお、走査Ｄｕｔｙ設定用ＬＵＴとして保持される値は、上述した設定方法に限られるものではなく、例えば、変曲点を細かく設定してもよいし、ノズルごとに直接指定してもよい。
【００４０】
図６は、図１に示す走査Ｄｕｔｙ設定部１０６による走査Ｄｕｔｙの設定方法の一例を示す模式図である。
図６（ａ）に示すように、走査Ｄｕｔｙ設定部１０６は、色分解処理部１０４で処理された色分解画像データと、走査Ｄｕｔｙ設定用ＬＵＴとの積により、走査Ｄｕｔｙを設定する。即ち、色分解画像データに対して、ノズルごとにＤｕｔｙ分割率を乗じることにより、その結果が、ノズルごとの走査Ｄｕｔｙとして設定される。これにより、実際の走査時には、ターゲットとする色分解画像データに対し、各ノズルは、走査Ｄｕｔｙ分のみのインクを吐出して画像が形成されることになる。
ここで、本実施形態においては、対応するノズルが画像Ｙアドレスの領域外座標になるときは、走査Ｄｕｔｙを０とする。例えば、走査番号ｋ＝１では、図６（ｂ）に示すように、ノズル群のノズル列上端３／４で画像Ｙアドレスが負になるため、走査Ｄｕｔｙ値＝０が代入され、また、ノズル列下端１／４については有意な値が代入される。
【００４１】
また、色分解画像データの切り出し位置Ｙｃｕｔ（ｋ）は、走査番号ｋによって決まるため、走査番号ｋ＝１〜７の場合、走査Ｄｕｔｙは、図６（ｃ）に示すように決定される。図６（ｃ）においては、走査番号ごとのノズル位置に対する走査Ｄｕｔｙが示されており、走査番号ごとに走査Ｄｕｔｙが異なっていることが分かる。図６（ｃ）における各走査Ｄｕｔｙは、色分解画像データと走査Ｄｕｔｙ設定用ＬＵＴとの積により定まるため、用紙送りしながら当該積をとると、領域１の部分では、走査番号ｋ＝１〜４の４回の走査で形成される１ラスタの合計値が色分解画像データと同じになる。同様に、領域２、領域３及び領域４においても、１ラスタの合計値が色分解画像データと同じになる。また、図６（ｂ）及び図６（ｃ）は、Ｃ（Ｘ，Ｙ）についての例を示しているが、Ｌｃ（Ｘ，Ｙ）、Ｍ（Ｘ，Ｙ）、Ｌｍ（Ｘ，Ｙ）、Ｙ（Ｘ，Ｙ）及びＫ（Ｘ，Ｙ）に対しても同様に、上記の式により走査Ｄｕｔｙへの分解が行われる。
【００４２】
ここで、再び、図３の説明に戻る。
続いて、ステップＳ１０５において、走査Ｄｕｔｙ設定部１０６は、設定した走査Ｄｕｔｙデータを走査Ｄｕｔｙバッファ１０７に格納する。
図７（ａ）は、図１に示す走査ＤＵＴＹバッファ１０７に格納される走査ＤＵＴＹデータの一例を示す模式図である。
走査ＤＵＴＹバッファ１０７には、図７（ａ）に示すように、縦方向がノズル数（Ｎｚｚｌ）、横方向が画像のＸサイズ（Ｗ）に相当するバンド状の走査Ｄｕｔｙデータ値が、インク色ごとに格納される。
【００４３】
ここで、再び、図３の説明に戻る。
続いて、ステップＳ１０６において、ハーフトーン処理部１０９は、ステップＳ１０５で格納された走査Ｄｕｔｙデータと制約情報バッファ１１３に格納された制約情報データの合計値を、２レベルの階調値（２値画像データ）に変換するハーフトーン処理を行う。
【００４４】
図７（ｂ）は、図１に示す制約情報バッファ１１３に格納される制約情報データの一例を示す模式図である。
制約情報バッファ１１３も、図７（ｂ）に示すように、縦方向がノズル数（Ｎｚｚｌ）、横方向が画像のＸサイズ（Ｗ）に相当するバンド状の制約情報データ値が、インク色毎に格納される。
【００４５】
この制約情報バッファ１１３には、記録される画像上のアドレスに２値画像データ（ドット）が形成されやすいか否かを示す制約情報が格納され、走査番号ｋごとに更新される。ただし、走査番号ｋ＝１の処理開始時には、初期値として全て０が代入されている。即ち、アドレス（Ｘ，Ｙ）における各インク色の制約情報を、Ｃ＿ｒ（Ｘ，Ｙ）、Ｌｃ＿ｒ（Ｘ，Ｙ）、Ｍ＿ｒ（Ｘ，Ｙ）、Ｌｍ＿ｒ（Ｘ，Ｙ）、Ｙ＿ｒ（Ｘ，Ｙ）、Ｋ＿ｒ（Ｘ，Ｙ）とすると、走査番号ｋ＝１のときは、以下の（９）〜（１４）式のようになる。
Ｃ＿ｒ（ｎｘ，ｎｙ）＝０      ・・・  （９）
Ｌｃ＿ｒ（ｎｘ，ｎｙ）＝０    ・・・（１０）
Ｍ＿ｒ（ｎｘ，ｎｙ）＝０      ・・・（１１）
Ｌｍ＿ｒ（ｎｘ，ｎｙ）＝０    ・・・（１２）
Ｙ＿ｒ（ｎｘ，ｎｙ）＝０      ・・・（１３）
Ｋ＿ｒ（ｎｘ，ｎｙ）＝０      ・・・（１４）
なお、０≦ｎｘ＜画像Ｘサイズ、０≦ｎｙ＜Ｎｚｚｌ（ノズル列数：本例の場合１６）である。
【００４６】
このようになるため、実質的には、走査番号ｋ≧２の時に、制約情報バッファ１１３は、有意な制約情報データに更新されていくことになる。この制約情報データの値が小さいほど、その箇所にドットが形成され難く、逆に、制約情報データの値が大きいほど、ドットが形成されやすい。なお、制約情報バッファ１１３に格納される値は、どのような走査番号のタイミングであっても、平均値が０となるように各値が格納される。具体的には、その箇所にドットが形成されやすい場合には正の値が、その箇所にドットが形成され難い場合は負の値が格納される。この制約情報データの更新についての詳細は後述する。
【００４７】
図３のステップＳ１０６におけるハーフトーン処理は、多値の入力画像データを２値画像データ（または２値以上で入力階調数より少ない階調数の画像データ）に変換する処理として、例えば、誤差拡散法を用いる。
【００４８】
ここで、本実施形態におけるハーフトーン処理について、図８及び図９等を用いて詳細に説明する。その際、説明を簡略化するため、４パス印字、走査番号ｋ＝１におけるシアンのハーフトーン処理を例として説明を行う。
【００４９】
図８は、図１に示すハーフトーン処理部１０９の詳細な内部構成の一例を示す模式図である。
ハーフトーン処理部１０９は、制約情報加算部１０９１、累積誤差ラインバッファ１０９２、累積誤差加算部１０９３、閾値選択部１０９４、量子化部１０９５、誤差演算部１０９６、拡散係数選択部１０９７、誤差拡散処理部１０９８を有して構成されている。このハーフトーン処理部１０９の内部構成については、図９に示すフローチャートの説明とともに説明を行う。
【００５０】
図９は、図３のステップＳ１０６におけるハーフトーン処理の詳細な処理手順の一例を示すフローチャートである。
まず、図９のステップＳ２０１において、ハーフトーン処理部１０９は、走査ＤＵＴＹバッファ１０７からシアン（Ｃ）の走査Ｄｕｔｙデータ、制約情報バッファ１１３からシアン（Ｃ）の制約情報データを、制約情報加算部１０９１に入力する。そして、制約情報加算部１０９１は、シアン（Ｃ）の走査Ｄｕｔｙデータと制約情報データを加算する。具体的に、制約情報加算部１０９１は、シアンの走査ＤｕｔｙデータＣ＿ｄと、シアンの制約情報データＣ＿ｒの合計値データＩｃを以下の（１５）式のように算出する。ただし、走査番号ｋ＝１のとき、制約情報データＣ＿ｒは全て０である。
Ｉｃ＝Ｃ＿ｄ＋Ｃ＿ｒ      ・・・（１５）
【００５１】
続いて、ステップＳ２０２において、累積誤差加算部１０９３は、誤差拡散処理用に累積誤差を加算する処理を行う。以下、累積誤差の加算処理の詳細について説明する。
【００５２】
図１０（ａ）は、誤差拡散処理のためのハーフトーンパラメータを説明するための模式図である。
本実施形態では、誤差拡散処理のためのハーフトーンパラメータとして、図１０（ａ）の１４０１、１４０２に示すように、Ｋ１〜Ｋ４の４つの誤差拡散係数（量子化誤差の重み付けフィルタの係数）を持つとする。ただし、この４つの誤差拡散係数に限らず、さらに多くの誤差拡散係数をハーフトーンパラメータとして持たせるようにしてもよい。
【００５３】
このような誤差拡散係数（Ｋ１〜Ｋ４）により誤差を拡散、累積するために、本実施形態のハーフトーン処理部１０９では、累積誤差ラインバッファ１０９２をシアンに対して４組確保する（１０９２ａ〜１０９２ｄ）。そして、使用する累積誤差ラインバッファ１０９２を走査番号ごとに、例えば、以下のように切り替える。
【００５４】
「走査番号ｋ＝１，５，・・・，４ｎ＋１（ｎは０以上の整数）のとき」は、シアン（４ｎ＋１）累積誤差ラインバッファ１０９２ａを使用する。
また、「走査番号ｋ＝２，６，・・・，４ｎ＋２のとき」は、シアン（４ｎ＋２）累積誤差ラインバッファ１０９２ｂを使用する。
また、「走査番号ｋ＝３，７，・・・，４ｎ＋３のとき」は、シアン（４ｎ＋３）累積誤差ラインバッファ１０９２ｃを使用する。
また、「走査番号ｋ＝４，８，・・・，４ｎ＋４のとき」は、シアン（４ｎ＋４）累積誤差ラインバッファ１０９２ｄを使用する。
【００５５】
図１１は、図８に示す各シアン累積誤差ラインバッファ１０９２ａ〜１０９２ｄの記憶領域の一例を示す模式図である。
例えば、各シアン累積誤差ラインバッファ１０９２ａ〜１０９２ｄは、それぞれ、図１１の１５０１〜１５０４に示す４組の記憶領域からなる。具体的に、「Ｅｃ１＿０，Ｅｃ１（ｘ）」、「Ｅｃ２＿０，Ｅｃ２（ｘ）」、「Ｅｃ３＿０，Ｅｃ３（ｘ）」、「Ｅｃ４＿０，Ｅｃ４（ｘ）」の４組である。
例えば、シアン（４ｎ＋１）累積誤差ラインバッファ１０９２ａは、１個の記憶領域Ｅｃ１＿０と、入力画像の横画素数Ｗと同数の記憶領域Ｅｃ１＿（ｘ）（ｘ＝１〜Ｗ）を有する。また、各シアン累積誤差ラインバッファ１０９２ａ〜１０９２ｄは、それぞれ、走査番号ｋ＝１，２，３，４の処理開始時のみ、全て初期値０で初期化されている。例えば、走査番号ｋ＝５の処理開始時には、（４ｎ＋１）累積誤差ラインバッファ１０９２ａは、初期化されない。
本実施形態では、１色あたり上述した４組の累積誤差ラインバッファ（１０９２ａ〜１０９２ｄ）が必要になるため、これを６色分用意する必要がある。即ち、合計４×６＝２４組のラインバッファが必要になる。
【００５６】
ここでは、走査番号ｋ＝１についてのハーフトーン処理を例として説明するため、シアン（４ｎ＋１）累積誤差ラインバッファ１０９２ａを使用して誤差拡散処理を実施するものとする。具体的に、累積誤差加算部１０９３において、走査Ｄｕｔｙデータと制約情報データの合計である入力データ値に対して、入力画素データの横画素位置ｘに対応する誤差Ｅｃ１（ｘ）が加算される。即ち、入力された注目画素データをＩｃ、累積誤差加算後のデータをＩｃ'とすると、以下の（１６）式が成り立つ。
Ｉｃ'＝Ｉｃ＋Ｅｃ1（ｘ）      ・・・（１６）
【００５７】
ここで、図９の説明に戻る。
続いて、ステップＳ２０２において、閾値選択部１０９４は、閾値Ｔを選択する。閾値Ｔは、例えば、以下の（１７）式のように設定される。
Ｔ＝１２８      ・・・（１７）
【００５８】
或いは、閾値Ｔは、例えば、ドット生成遅延を回避するため、平均量子化誤差が小さくなるように、Ｃ＿ｄに応じて、以下の（１８）式のように細かく変更してもよい。
Ｔ＝ｆ（Ｃ＿ｄ）      ・・・（１８）
【００５９】
続いて、ステップＳ２０４において、量子化部１０９５は、誤差加算後の画素データＩｃ'と閾値Ｔとを比較し、ドットの２値化結果であるＯｕｔ＿ｃを決定する。その際の規則は、以下の（１９）〜（２０）式の通りである。
Ｉｃ'＜Ｔのとき：Ｏｕｔ＿ｃ＝０      ・・・（１９）
Ｉｃ'≧Ｔのとき：Ｏｕｔ＿ｃ＝２５５  ・・・（２０）
【００６０】
続いて、ステップＳ２０５において、誤差演算部１０９６は、注目画素データＩｃに誤差を加算した画素データＩｃ'と、出力画素値Ｏｕｔ＿ｃとの差分Ｅｒｒ＿ｃを、以下の（２１）式のように算出する。
Ｅｒｒ＿ｃ（ｘ）＝Ｉｃ'−Ｏｕｔ＿ｃ  ・・・（２１）
【００６１】
続いて、ステップＳ２０６において、拡散係数選択部１０９７は、入力シアン値Ｃ＿ｄに応じて、ハーフトーンパラメータ記憶部１０８に保持されているハーフトーンパラメータの誤差拡散係数を選択する。
【００６２】
図１０（ｂ）は、図１（及び図８）に示すハーフトーンパラメータ記憶部１０８に記憶されているハーフトーンパラメータの誤差拡散係数を説明するための模式図である。
ここで、ハーフトーンパラメータ記憶部１０８には、予め、図１０（ｂ）のように、入力階調値ｔ（＝Ｃ＿ｄ）に対応した誤差拡散係数Ｋ１〜Ｋ４の２５６セットが格納されているものとする。よって、入力階調値ｔ＝Ｃ＿ｄ＝２の時は、Ｋ１＝０．６２５、Ｋ２＝０．３１２５、Ｋ３＝０．０６２５、Ｋ４＝０．０が選択される。なお、ハーフトーンパラメータ記憶部１０８に記憶されるハーフトーンパラメータは、走査番号ｋに応じて変わる可能性があるが、その詳細は後述する。
【００６３】
ここで、図９の説明に戻る。
続いて、ステップＳ２０７において、誤差拡散処理部１０９８は、誤差を拡散する処理を行う。具体的に、本例では、シアン（４ｎ＋１）累積誤差ラインバッファ１０９２ａを用いて、横画素位置ｘに応じた誤差Ｅｒｒ＿ｃ（ｘ）の拡散処理が、以下のように行われる。
なお、誤差拡散処理部１０９８においては、処理画素の縦アドレスによって処理方向が変わる。例えば、縦アドレス：ｙ（０≦ｙ≦Ｈ−１）が２で割り切れるときは、図１０（ａ）の１４０１のように左から右へ処理し、以下の（２２）式のように誤差が拡散される。
ｙ％２＝０（０≦ｙ≦Ｈ−１、％は剰余記号）のとき：
Ｅ＿ＲＧ（ｘ＋１）←Ｅｃ１（ｘ＋１）＋Ｅｒｒ＿ｃ（ｘ）×Ｋ１（ｘ＜Ｗ−１）
Ｅ＿ＲＧ（ｘ−１）←Ｅｃ１（ｘ−１）＋Ｅｒｒ＿ｃ（ｘ）×Ｋ２（ｘ＞０）
Ｅ＿ＲＧ（ｘ）    ←Ｅｃ１＿０＋Ｅｒｒ＿ｃ（ｘ）×Ｋ３
Ｅｃ１＿０        ←Ｅｃ１＿０×Ｋ４      （ｘ＜Ｗ−１）
Ｅｃ１＿０        ←０                    （ｘ＝Ｗ−１）
・・・（２２）
【００６４】
一方、縦アドレス：ｙ（０≦ｙ≦Ｈ−１）が２で割り切れないときは、図１０（ａ）の１４０２のように右から左へ処理し、以下の（２３）式のように誤差が拡散される。
ｙ％２＝１（０≦ｙ≦Ｈ、％は剰余記号）のとき：
Ｅ＿ＲＧ（ｘ−１）←Ｅ＿ｃ１（ｘ−１）＋Ｅｒｒ＿ｃ（ｘ）×Ｋ１（ｘ＞０）
Ｅ＿ＲＧ（ｘ＋１）←Ｅ＿ｃ１（ｘ＋１）＋Ｅｒｒ＿ｃ（ｘ）×Ｋ２（ｘ＜Ｗ−１）
Ｅ＿ＲＧ（ｘ）    ←Ｅｃ１＿０＋Ｅｒｒ＿ｃ（ｘ）×Ｋ３
Ｅ０＿ＲＧ        ←Ｅｃ１＿０×Ｋ４      （ｘ＞０）
Ｅ０＿ＲＧ        ←０                    （ｘ＝０）
・・・（２３）
以上で、走査番号ｋ＝１のシアン１画素分の２値化処理（量子化値０，２５５）が完了する。
【００６５】
続いて、ステップＳ２０８において、ハーフトーン処理部１０９は、バンド内のアドレス（０，０）〜（Ｗ−１，Ｎｚｚｌ−１）まで処理したか否かを判断する。
ステップＳ２０８の判断の結果、バンド内のアドレス（０，０）〜（Ｗ−１，Ｎｚｚｌ−１）までは処理していない場合には、ステップＳ２０１に戻る。そして、バンド内のアドレス（０，０）〜（Ｗ−１，Ｎｚｚｌ−１）までの処理が終了するまで、ステップＳ２０１〜Ｓ２０７の処理を繰り返し行う。
一方、ステップＳ２０８の判断の結果、バンド内のアドレス（０，０）〜（Ｗ−１，Ｎｚｚｌ−１）まで処理した場合には、図９に示すフローチャートの処理、即ち、図３のステップＳ１０６におけるハーフトーン処理が終了する。
この処理により、ハーフトーン画像データのドット位置、即ちドットのオン／オフを決定することができる。
【００６６】
なお、上述の説明では、走査番号ｋ＝１についての説明を行ったが、走査番号ｋ＝２〜４については、それぞれのシアン累積誤差ラインバッファ１０９２ｂ〜１０９２ｄを用いて上述したハーフトーン処理を行う。また、走査番号ｋ＝５の処理では、走査番号ｋ＝１と同じシアン（４ｎ＋１）累積誤差ラインバッファ１０９２ａを初期化せずに（全て０を代入せずに）そのまま用いる。その理由を図１２を用いて説明する。
【００６７】
図１２は、各走査番号における印字領域を説明するための模式図である。
上述した理由としては、図１７に示すように、走査番号ｋ＝１と走査番号ｋ＝５の印字領域が上下に隣接しているため、保存されている累積誤差をそのまま、隣接下の領域に適用するためである。仮に、走査番号ｋ＝５でシアン累積誤差ラインバッファ１０９２ａを初期化した場合、走査番号ｋ＝１と隣接する境界部で誤差が保存されなくなり、ドットの連続性が保てなくなってしまう。
【００６８】
ここで、再び、図３の説明に戻る。
以上説明したように、図３のステップＳ１０６におけるハーフトーン処理が終了すると、ステップＳ１０７に進む。
【００６９】
ステップＳ１０７に進むと、ハーフトーン処理部１０９は、ハーフトーン処理後の２値画像データをハーフトーン画像データとしてハーフトーン画像バッファ１１１に格納する。
図１３は、図１に示すハーフトーン画像バッファ１１１に格納されるハーフトーン画像データ（２値画像データ）の一例を示す模式図である。具体的に、図１３には、走査番号ｋ＝１の走査Ｄｕｔｙデータをハーフトーン処理した結果のハーフトーン画像データ（２値画像データ）が示されている。
図１３に示すように、ハーフトーン画像バッファ１１１には、走査Ｄｕｔｙデータの画素位置に対応する、（ノズル数：Ｎｚｚｌ）×（画像Ｘサイズ：Ｗ）分の２値画像データが格納される。
以上により、走査番号ｋ＝１におけるハーフトーン処理が終了し、その結果、各インク色分の１回の記録ヘッド１２４の走査で形成される２値画像データが、ハーフトーン画像バッファ１１１に格納されることになる。
【００７０】
続いて、ステップＳ１０８において、画像処理装置１１０は、ハーフトーン画像バッファ１１１に格納したハーフトーン画像データ（２値画像データ）を画像データ出力端子１１４からプリンタ１２０に出力（画像転送）する。具体的には、ハーフトーン画像バッファ１１１に蓄えられた、縦方向がノズル数（Ｎｚｚｌ）、横方向が画像のＸサイズ（Ｗ）に相当するバンドデータの２値画像データが、プリンタ１２０に出力される。この際、画像処理装置１１０は、ハーフトーン画像バッファ１１１に格納したハーフトーン画像データ（２値画像データ）を制約情報演算部１１２にも出力する。
【００７１】
続いて、ステップＳ１０９において、画像処理装置１１０の制約情報演算部１１２は、ハーフトーン画像バッファ１１１の２値画像データと、走査Ｄｕｔｙバッファ１０７に格納された走査ごとの走査Ｄｕｔｙデータを用いた所定の制約情報に係る演算を行う。
【００７２】
ここで、本実施形態における制約情報演算処理について、図１４及び図１５等を用いて詳細に説明する。その際、説明を簡略化するため、４パス印字、走査番号ｋ＝１におけるシアンの制約情報演算処理を例として説明を行う。
【００７３】
図１４は、図１に示す制約情報演算部１１２の詳細な内部構成の一例を示す模式図である。
制約情報演算部１１２は、走査Ｄｕｔｙフィルタ処理部１１２１、走査Ｄｕｔｙデータシフト部１１２２、ハーフトーン画像データフィルタ処理部１１２３、ハーフトーン画像データシフト部１１２４、減算部１１２５を有して構成されている。さらに、制約情報演算部１１２は、重み積算部１１２６、更新前制約情報データシフト部１１２７、加算部１１２８を有して構成されている。この制約情報演算部１１２の内部構成については、図１５に示すフローチャートの説明とともに説明を行う。
ここで、上述したように、本実施形態における制約情報とは、現在の走査番号ｋ＝１の次の走査番号ｋ＝２におけるハーフトーン画像データのドット配置を決める際に参照される、ドットが打たれやすいか否かを示す情報である。
【００７４】
図１５は、図３のステップＳ１０９における制約情報演算処理の詳細な処理手順の一例を示すフローチャートである。
まず、図１５のステップＳ３０１において、走査Ｄｕｔｙフィルタ処理部１１２１は、走査Ｄｕｔｙバッファ１０７の走査Ｄｕｔｙデータに対してフィルタ処理を行う。具体的に、走査Ｄｕｔｙフィルタ処理部１１２１は、走査Ｄｕｔｙバッファ１０７内のシアンの走査ＤｕｔｙデータであるＣ＿ｄに対して、以下の（２４）式のように、所定のフィルタＦ＿ｍによるフィルタ処理を行って、Ｃ＿ｄｆを算出する。
Ｃ＿ｄｆ＝Ｃ＿ｄ＊Ｆ＿ｍ      ・・・（２４）
ただし、（２４）式において、＊はコンボリューションを示す。
【００７５】
図１６（ａ）は、図１５のステップＳ３０１におけるフィルタ処理がなされた走査Ｄｕｔｙデータの一例を示す模式図である。また、図１６（ｂ）及び図１６（ｃ）は、図１５のステップＳ３０１及びＳ３０２におけるフィルタ処理で用いられるフィルタの一例を示す模式図である。
なお、上述した（２４）式におけるフィルタＦ＿ｍは、図１６（ｂ）に示すように、フィルタサイズが３×３正方形で、係数がほぼ同心円状に並ぶ等方的加重平均フィルタとして説明するが、この形態に限るものではない。例えば、フィルタサイズが５×５，７×７，９×９のような正方形でも、３×５，５×７，５×９のような長方形でもよいし、フィルタ係数が楕円状である非等方フィルタであってもよい。また、ローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであってもよい。
【００７６】
続いて、ステップＳ３０２において、ハーフトーン画像データフィルタ処理部１１２３は、ハーフトーン画像バッファ１１１のシアンのハーフトーン画像データ（Ｏｕｔ＿ｃ）に対してフィルタ処理を行う。具体的に、ハーフトーン画像データフィルタ処理部１１２３は、シアンのハーフトーン画像データＯｕｔ＿ｃに対して、以下の（２５）式のように、所定のローパスフィルタＬＰＦ＿ｂによるフィルタ処理を行って、Ｏｕｔ＿ｃ＿ＬＰＦを算出する。
Ｏｕｔ＿ｃ＿ＬＰＦ＝Ｏｕｔ＿ｃ＊ＬＰＦ＿ｂ      ・・・（２５）
図１７（ａ）は、図１５のステップＳ３０２におけるフィルタ処理がなされたハーフトーン画像データの一例を示す模式図である。
なお、（２５）式におけるフィルタＬＰＦ＿ｂの係数も、（２４）式のフィルタＦ＿ｍと同様に、図１６（ｃ）に示すように、フィルタサイズが３×３正方形で、係数がほぼ同心円状に並ぶ等方的加重平均フィルタとして説明するが、この形態に限るものではない。
【００７７】
続いて、ステップＳ３０３において、走査Ｄｕｔｙデータシフト部１１２２は、走査Ｄｕｔｙフィルタ処理部１１２１から出力されたデータＣ＿ｄｆを、１回の用紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけ上にシフトする処理を行う。なお、本実施形態においては、ステップＳ３０２とＳ３０３の処理の順番を逆にして処理を行うことも可能である。
図１７（ｂ）は、図１６（ａ）に示す走査Ｄｕｔｙデータに対して、図１５のステップＳ３０３におけるシフト処理を行った後の走査Ｄｕｔｙデータの一例を示す模式図である。
【００７８】
ステップＳ３０３でシフトされた走査ＤｕｔｙデータＣ'＿ｄｆは、以下の（２６）式のように算出される。なお、０≦ｎｘ＜画像Ｘサイズ、０≦ｎｙ＜Ｎｚｚｌとする。
Ｃ'＿ｄｆ（ｎｘ，ｎｙ）＝Ｃ＿ｄｆ（ｎｘ，ｎｙ＋ＬＦ）      ・・・（２６）
式（２６）において、ｎｙ＋ＬＦ≧Ｎｚｚｌのときは、Ｃ'＿ｄｆ（ｎｘ，ｎｙ）＝０とする。即ち、シフト後の下端ＬＦノズル分（本例の場合、４ノズル分）には０を代入する。
【００７９】
続いて、ステップＳ３０４において、ハーフトーン画像データシフト部１１２４は、ハーフトーン画像データフィルタ処理部１１２３から出力されたデータＯｕｔ＿ｃ＿ＬＰＦを、ステップＳ３０３と同様に、１回の用紙送り分だけ上にシフトする処理を行う。
図１７（ｃ）は、図１７（ａ）に示すハーフトーン画像データに対して、図１５のステップＳ３０４におけるシフト処理を行った後のハーフトーン画像データの一例を示す模式図である。
ステップＳ３０４でシフトしたハーフトーン画像データＯｕｔ'＿ｃ＿ＬＰＦは、以下の（２７）式のように算出される。なお、０≦ｎｘ＜画像Ｘサイズ、０≦ｎｙ＜Ｎｚｚｌとする。
Ｏｕｔ'＿ｃ＿ＬＰＦ（ｎｘ，ｎｙ）
＝Ｏｕｔ＿ｃ＿ＬＰＦ（ｎｘ，ｎｙ＋ＬＦ）      ・・・（２７）
（２７）式においても、（２６）式と同様に、ｎｙ＋ＬＦ≧Ｎｚｚｌのときは、Ｏｕｔ'＿ｃ＿ＬＰＦ（ｎｘ，ｎｙ）＝０とする。即ち、シフト後の下端ＬＦノズル分（本例の場合、４ノズル分）には０を代入する。
【００８０】
続いて、ステップＳ３０５において、更新前制約情報データシフト部１１２７は、制約情報バッファ１１３に格納されているシアンの更新前の制約情報データ（Ｃ＿ｒ）を用紙送り分だけ上にシフトする処理を行う。
ステップＳ３０５でシフトされた制約情報データＣ'＿ｒは、以下の（２８）式のように算出される。なお、０≦ｎｘ＜画像Ｘサイズ、０≦ｎｙ＜Ｎｚｚｌとする。
Ｃ'＿ｒ（ｎｘ，ｎｙ）＝Ｃ＿ｒ（ｎｘ，ｎｙ＋ＬＦ）      ・・・（２８）
（２８）式においても、（２６）式と同様に、ｎｙ＋ＬＦ≧Ｎｚｚｌのときは、Ｃ'＿ｒ（ｎｘ，ｎｙ）＝０とする。即ち、シフト後の下端ＬＦノズル分（本例の場合、４ノズル分）には０を代入する。
【００８１】
以上のように、ステップＳ３０３〜Ｓ３０５において、各バッファに格納されているデータを用紙送り量ＬＦ分だけシフトさせる理由は、次の走査番号において形成されるハーフトーンドット配置が、記録媒体上で相対的に用紙送り量ＬＦ分ずれるためである。
【００８２】
続いて、ステップＳ３０６において、減算部１１２５は、走査Ｄｕｔｙデータシフト部１１２２でシフト処理された走査Ｄｕｔｙデータから、ハーフトーン画像データシフト部１１２４でシフト処理されたハーフトーン画像データを減算する処理を行う。
続いて、ステップＳ３０７において、重み積算部１１２６は、減算部１１２５で算出されたデータに対して、重み係数ｈ（実数）を積算する処理を行う。
続いて、ステップＳ３０８において、加算部１１２８は、重み積算部１１２６で算出されたデータと、更新前制約情報データシフト部１１２７においてシフト処理されたシアンの制約情報データとを加算して、シアンの更新後の制約情報データＣ＿ｒを算出する。
以下の（２９）式に、ステップＳ３０８により算出される、更新後の制約情報データＣ＿ｒの演算式を示す。
Ｃ＿ｒ←（−Ｏｕｔ'＿ｃ＿ＬＰＦ＋Ｃ'＿ｄｆ）×ｈ＋Ｃ'＿ｒ    ・・・（２９）
以上のステップＳ３０１〜Ｓ３０８の処理を経ることにより、図３のステップＳ１０９における制約情報演算処理が終了する。
【００８３】
ここで、再び、図３の説明に戻る。
続いて、ステップＳ１１０において、制約情報演算部１１２は、ステップＳ１０９の制約情報演算処理の演算結果を制約情報バッファ１１３に保存して更新する。例えば、本例では、ステップＳ３０８で算出された制約情報データＣ＿ｒを、次の走査番号ｋ＝２以降（即ち、現在の走査番号ｋに対する走査番号ｋ＋１）のハーフトーン処理用の制約情報データとして、制約情報バッファ１１３に保存する。より詳細には、更新された制約情報データは、次の走査番号以降（即ち、現在の走査番号ｋに対する走査番号ｋ＋１）のドット配置を決定するための情報として参照される。
【００８４】
続いて、ステップＳ１１１において、プリンタ１２０は、画像処理装置１１０から受信したハーフトーン画像データの印字処理を行う。具体的に、インク色選択部１２２は、ハーフトーン画像データに適合するインク色を選択する。そして、ヘッド制御部１２３は、記録ヘッド１２４を記録媒体１２５に対して例えば左から右に移動させながら、一定の駆動間隔で、選択されたインク色に係る各ノズルを駆動してハーフトーン画像データに基づく画像を記録媒体１２５に記録する主走査を１回行う。さらに、ヘッド制御部１２３は、当該主走査が終了すると、記録ヘッド１２４を、主走査と垂直方向の走査である副走査を１回行う制御をする。
【００８５】
続いて、ステップＳ１１２において、センシング部１２８は、レジストレーションのズレ量（レジズレ量）をセンシングする。なお、ここでセンシングするレジズレ量は、Ｘ方向レジズレ量Ｒｊ＿ｘ、及び、Ｙ方向レジズレ量Ｒｊ＿ｙである。ここでは、センシング部１２８としてラインセンサを用いて、既に形成されたドットや、予め記録媒体１２５の紙面上に記録されている目印に対して、主走査方向、副走査方向にどの程度レジズレが生じるかを計測する。即ち、センシング部１２８は、レジストレーションのズレ量（レジズレ量）として、例えば、記録媒体上における各画素の記録位置の変動量を計測する。
【００８６】
続いて、ステップＳ１１３において、ハーフトーンパラメータ演算装置１３０は、センシング部１２８からセンシング情報（レジズレ量Ｒｊ＿ｘ、及び、Ｒｊ＿ｙ）に基づいて、ハーフトーンパラメータを演算する。このステップＳ１１３の処理の詳細については、後述する。
続いて、ステップＳ１１４において、ハーフトーンパラメータ演算装置１３０は、算出したハーフトーンパラメータを、パラメータ入力端子１１５を介して画像処理装置１１０のハーフトーンパラメータ記憶部１０８に格納する。
続いて、ステップＳ１１５において、例えば画像形成装置１００は、全ての走査が終了したか否かを判断する。
ステップＳ１１５の判断の結果、全ての走査については終了していない（未だ処理を行っていない走査がある）場合には、ステップＳ１０３に戻り、次の走査番号を設定し、ステップＳ１０３以降の処理を再度行う。
一方、ステップＳ１１５の判断の結果、全ての走査が終了した場合には、図３のフローチャートにおける処理を終了する。
【００８７】
次に、図３のステップＳ１１３におけるハーフトーンパラメータ演算処理について説明する。
【００８８】
図１８は、図３のステップＳ１１３におけるハーフトーンパラメータ演算処理の詳細な処理手順の一例を示すフローチャートである。
【００８９】
まず、図１８のステップＳ４０１において、等方性設定部１３１は、センシング部１２８で計測されたセンシング情報（Ｘ方向レジズレ量Ｒｊ＿ｘ、Ｙ方向レジズレ量Ｒｊ＿ｙ）に基づいて、ハーフトーン処理における所望の空間周波数の等方性を設定する。ここで、空間周波数等方性の設定は、以下の（３０）式の楕円関数で与えられる。
【００９０】
【数１】
2011114395.tif 000003
【００９１】
ただし、（３０）式のａは、以下の（３１）式となる。
ａ＝Ｒｊ＿ｘ／Ｒｊ＿ｙ      ・・・（３１）
【００９２】
また、（３０）式を媒介変数θで表示すると、以下の（３２）式及び（３３）式のように表せる。
ｕ＝ａ・ｃｏｓθ          ・・・（３２）
ｖ＝１／ａ・ｓｉｎθ      ・・・（３３）
【００９３】
図１９は、図１に示す等方性設定部１３１で設定する周波数等方性を説明するための模式図である。
本実施形態では、（３０）式のａの設定に、（３１）式に示すＲｊ＿ｘ／Ｒｊ＿ｙを用いた。これは、図１９（ａ）に示すように「Ｘレジズレ量Ｒｊ＿ｘ＜Ｙレジズレ量Ｒｊ＿ｙのとき」にａ＜１と縦長楕円を設定し、図１９（ｂ）に示すように、「Ｘレジズレ量Ｒｊ＿ｘ＞Ｙレジズレ量Ｒｊ＿ｙのとき」にａ＞１と横長楕円を設定することを意味する。また、図１９（ｃ）に示すように、「Ｘレジズレ量Ｒｊ＿ｘ＝Ｙレジズレ量Ｒｊ＿ｙのとき」は、ａ＝１と円を設定することになる。ただし、等方性の設定には、（３０）式の楕円関数以外を設定してもよいし、また、（３１）式の条件式以外を設定してもよい。
ここで、「Ｘレジズレ量Ｒｊ＿ｘ＜Ｙレジズレ量Ｒｊ＿ｙのとき」にａ＜１と縦長楕円を設定し、「Ｘレジズレ量Ｒｊ＿ｘ＞Ｙレジズレ量Ｒｊ＿ｙのとき」にａ＞１と横長楕円を設定する意味について説明する。
これは、Ｒｊ＿ｘ＜Ｒｊ＿ｙのときは、プリント出力周波数のｖ方向において低周波ノイズが載ってしまうために、所望の周波数特性として縦長楕円を設定することにより、相対的にｖ方向の成分を少なくする効果があるためである。逆に、Ｒｊ＿ｘ＞Ｒｊ＿ｙのときは、プリント出力周波数のｕ方向において低周波ノイズが載ってしまうために、所望の周波数特性として横長楕円を設定することにより、相対的にｕ方向の成分を少なくする効果があるためである。
【００９４】
続いて、ステップＳ４０２において、階調値設定部１３２は、演算するハーフトーンパラメータの階調値ｔを設定する。なお、設定する階調値ｔは、１≦ｔ≦２５４の２５４階調であり、初期値はｔ＝１から始まって２５４で終わる。
続いて、ステップＳ４０３において、ハーフトーンパラメータ演算装置１３０は、ハーフトーンパラメータ保持部１３３にハーフトーンパラメータの初期値を設定する。本実施形態のハーフトーン処理としては誤差拡散処理を用いるため、このステップＳ４０３で設定する初期値は、誤差拡散係数を設定する。
【００９５】
図２０は、図１に示すハーフトーンパラメータ保持部１３３に初期値として設定するハーフトーンパラメータ（誤差拡散係数）の一例を示す模式図である。
ここで、図２０の２８０１及び２８０２に、ステップＳ４０３で設定する誤差拡散係数Ｌ１〜Ｌ４を示す。なお、本実施形態におけるハーフトーンパラメータの初期値は、Ｌ１＝０．４３７５、Ｌ２＝０．３１２５、Ｌ３＝０．２５、Ｌ４＝０．０とする。
【００９６】
続いて、ステップＳ４０４において、誤差伝播処理部１３４は、ステップＳ４０３で設定されたハーフトーンパラメータの初期値を用いて、出力特性予測値である、誤差伝播関数を算出する。ここで、誤差伝播関数とは、誤差拡散係数の誤差伝播の様子を示すものであり、誤差拡散処理の出力特性を予測するものである。このステップＳ４０４の処理を行う誤差伝播処理部１３４は、出力特性予測手段を構成する。
【００９７】
ここで、ステップＳ４０４では、記誤差拡散係数を用いて出力特性予測値（誤差伝播関数）を算出するが、本実施形態における誤差伝播関数の算出処理について、図２１等を用いて詳細に説明する。
図２１（ａ）は、図１に示す誤差伝播処理部１３４の詳細な内部構成の一例を示す模式図である。
誤差伝播処理部１３４は、図２１（ａ）に示すように、累積誤差ラインバッファ１３４１、累積誤差加算部１３４２、及び、誤差拡散処理部１３４３を有して構成されている。この誤差伝播処理部１３４の内部構成については、図２１（ｂ）に示すフローチャートの説明とともに説明を行う。
【００９８】
図２１（ｂ）は、図１８のステップＳ４０４における誤差伝播関数の算出処理の詳細な処理手順の一例を示すフローチャートである。
まず、図２１（ｂ）のステップＳ５０１において、誤差伝播処理部１３４は、誤差伝播用データを入力する。図２２は、図２１（ｂ）のステップＳ５０１で入力される誤差伝播用データの一例を示す模式図である。図２２に示すように、本実施形態における誤差伝播用データは、３２×３２ピクセルの画像の最上部にデータ値２５５（３１０１）を配置し、その他は、データ値０（３１０２）を配置したデータである。
【００９９】
続いて、ステップＳ５０２において、累積誤差加算部１３４２は、累積誤差の加算処理を行う。以下に、この累積誤差の加算処理について説明する。
本実施形態においては、誤差伝播関数の算出のための誤差拡散係数として、前述したように、図２０の２８０１及び２８０２に示すＬ１〜Ｌ４の４つの係数を持つ。ここで、図２０に示す誤差拡散係数Ｌ１〜Ｌ４に関しては、図１４に示す誤差拡散係数Ｋ１〜Ｋ４と同じ数とする。このような誤差拡散係数により誤差を伝播、累積するために、誤差伝播処理部１３４では、累積誤差ラインバッファ１３４１を設ける。
【０１００】
図２１（ｃ）は、図２１（ａ）に示す累積誤差ラインバッファ１３４１の記憶領域の一例を示す模式図である。
図２１（ａ）に示す累積誤差ラインバッファ１３４１は、図２１（ｃ）に示す記憶領域３２０１のＥｅ＿０，Ｅｅ（ｘ）」からなる。例えば、累積誤差ラインバッファ１３４１は、１個の記憶領域Ｅｅ＿０と、入力画像の横画素数Ｗｅ（ここでは３２）と同数の記憶領域Ｅｅ＿（ｘ）（ｘ＝１〜Ｗｅ）を有する。また、累積誤差ラインバッファ１３４１は、全て初期値０で初期化されている。
即ち、累積誤差加算部１３４２は、入力画素データ値に対して、入力画素データの横画素位置ｘに対応する誤差Ｅｅ（ｘ）を加算する処理を行う。即ち、入力された注目画素データをＩｅ、累積誤差加算後のデータをＩｅ'とすると、以下の（３４）式が成り立つ。
Ｉｅ'（ｘ）＝Ｉｅ＋Ｅｅ（ｘ）      ・・・（３４）
なお、Ｉｅ'（ｘ）を（ｘ、ｙ）全アドレスについて保持すると、以下の（３５）式に示すように、誤差伝播関数Ｓｐｒｅａｄとなる。
Ｓｐｒｅａｄ（ｘ、ｙ）＝Ｉｅ'（ｘ）      ・・・（３５）
【０１０１】
続いて、ステップＳ５０３において、誤差拡散処理部１３４３は、誤差を拡散する処理を行う。具体的に、累積誤差ラインバッファ１３４１を用いて、横画素位置ｘに応じた誤差Ｉｅ'の拡散処理が、以下のように行われる。
【０１０２】
なお、誤差拡散処理部１３４３においては、処理画素の縦アドレスによって処理方向が変わる。例えば、縦アドレス：ｙ（０≦ｙ≦Ｈ−１）（ここではＨ＝３２）が２で割り切れるときは、図２０の２８０１のように左から右へ処理し、以下の式（３６）式のように誤差が拡散される。
ｙ％２＝０（０≦ｙ≦Ｈ−１、％は剰余記号）のとき：
Ｅｅ（ｘ＋１）←Ｅｅ（ｘ＋１）＋Ｉｅ'（ｘ）×Ｌ１（ｘ＜Ｗｅ−１）
Ｅｅ（ｘ−１）←Ｅｅ（ｘ−１）＋Ｉｅ'（ｘ）×Ｌ２（ｘ＞０）
Ｅｅ（ｘ）    ←Ｅｅ０＋Ｉｅ'（ｘ）×Ｌ３
Ｅｅ０        ←Ｅｅ０×Ｌ４      （ｘ＜Ｗｅ−１）
Ｅｅ０        ←０                （ｘ＝Ｗｅ−１）
・・・（３６）
一方、縦アドレス：ｙ（０≦ｙ≦Ｈ−１）が２で割り切れないときは、図２０の２８０２のように右から左へ処理し、以下の（３７）式のように誤差が拡散される。
ｙ％２＝１（０≦ｙ≦Ｈ、％は剰余記号）のとき：
Ｅｅ（ｘ−１）←Ｅｅ（ｘ−１）＋Ｉｅ'（ｘ）×Ｌ１（ｘ＞０）
Ｅｅ（ｘ＋１）←Ｅｅ（ｘ＋１）＋Ｉｅ'（ｘ）×Ｌ２（ｘ＜Ｗｅ−１）
Ｅｅ（ｘ）    ←Ｅｅ０＋Ｉｅ'（ｘ）×Ｌ３
Ｅｅ０        ←Ｅｅ０×Ｌ４      （ｘ＞０）
Ｅｅ０        ←０                （ｘ＝０）
・・・（３７）
以上で、１画素分の誤差伝播処理が完了する。
【０１０３】
続いて、ステップＳ５０４において、誤差伝播処理部１３４は、全てのアドレス（０，０）〜（Ｗｅ−１，Ｈ−１）の画素まで処理を行ったか否かを判断する。
ステップＳ５０４の判断の結果、全ての画素については処理を終了していない場合には、ステップＳ５０１に戻る。
一方、ステップＳ５０４の判断の結果、全ての画素について処理を終了した場合には、図２１（ｂ）のフローチャートの処理が終了、即ち、図１８のステップＳ４０４の処理が終了する。
以上の処理により、出力特性予測値である誤差伝播関数Ｓｐｒｅａｄを決定することができる。図２３は、図１に示す誤差伝播処理部１３４で算出された誤差伝播関数Ｓｐｒｅａｄの一例を示す模式図である。
【０１０４】
ここで、図１８の説明に戻る。
続いて、ステップＳ４０５において、図１の評価部１３５は、誤差伝播処理部１３４で算出した誤差伝播関数Ｓｐｒｅａｄを用いて、等方性設定部１３１で設定した等方性値ａと階調値設定部１３２で設定した階調値ｔに基づいて、評価値を算出する。
【０１０５】
ここで、図１８のステップＳ４０５における評価値の算出処理の詳細について説明する。図２４は、図１８のステップＳ４０５における評価値の算出処理の詳細な処理手順の一例を示すフローチャートである。
まず、図２４のステップＳ６０１において、評価部１３５は、ステップＳ４０４で算出された誤差伝播関数Ｓｐｒｅａｄに対してフーリエ変換を実施して、以下の（３８）式に示すＦ＿ｓｐを得る。なお、（３８）式のＦｏｕｒｉｅｒ｛  ｝は、フーリエ変換を意味
する。
Ｆ＿ｓｐ（ｕ、ｖ）＝Ｆｏｕｒｉｅｒ｛Ｓｐｒｅａｄ（ｘ、ｙ）｝  ・・・（３８）
【０１０６】
続いて、ステップＳ６０２において、評価部１３５は、ステップＳ６０１で得たＦ＿ｓｐに対して振幅スペクトル（Ｆ＿ｓｐ＿ａｍｐ）を算出する。この振幅スペクトル（Ｆ＿ｓｐ＿ａｍｐ）の算出は、以下の（３９）式のようにして算出される。
Ｆ＿ｓｐ＿ａｍｐ（ｕ、ｖ）＝ｓｑｒｔ（｜Ｆ＿ｓｐ（ｕ、ｖ）｜＾２）
・・・（３９）
【０１０７】
続いて、ステップＳ６０３において、評価部１３５は、ステップＳ６０２で算出した振幅スペクトルに対して、等方性ａ、階調値ｔの場合の特徴量データを抽出する。以下にステップＳ６０３の詳細について説明する。
まず、階調値ｔに応じた基本カット周波数ｆｃｕｔ（ｔ）を設定する。なお、階調値ｔに応じて基本カット周波数を設定するのは、ハーフトーン処理は、階調値に応じて出力周波数が変化するためである。
例えば、ハイライト（０≦ｔ≦Ａ）では、以下の（４０）式のように設定する。
【０１０８】
【数２】
2011114395.tif 000004
【０１０９】
また、例えば、中間調（Ａ≦ｔ≦２５５−Ａ）では、以下の（４１）式のように設定する。
【０１１０】
【数３】
2011114395.tif 000005
【０１１１】
また、例えば、シャドウ（２５５−Ａ≦ｔ≦２５５）では、以下の（４２）式のように設定する。
【０１１２】
【数４】
2011114395.tif 000006
【０１１３】
図２５（ａ）は、図２４のステップＳ６０１における特徴量データの抽出処理の際に設定される基本カット周波数ｆｃｕｔ（ｔ）の一例を示す特性図である。
この図２５（ａ）には、Ｗｅ＝３２、Ａ＝６４とした場合に設定される基本カット周波数ｆｃｕｔ（ｔ）が示されている。
【０１１４】
さらに、等方性を考慮する（３０）式に、ここで設定した基本カット周波数ｆｃｕｔ（ｔ）を反映すると、以下の（４３）式のようになる。
【０１１５】
【数５】
2011114395.tif 000007
【０１１６】
なお、式（４３）を、（３２）式及び（３３）式と同様に媒介変数θで表示すると、以下の（４４）式及び（４５）式のように表せる。
ｕ＝ａ・ｆｃｕｔ（ｔ）ｃｏｓθ          ・・・（４４）
ｖ＝１／ａ・ｆｃｕｔ（ｔ）ｓｉｎθ      ・・・（４５）
【０１１７】
即ち、角度θと階調値ｔに応じた原点からの距離ｄ（θ、ｔ）は、以下の（４６）式に示すものとなる。
ｄ（θ、ａ、ｔ）＝
ｓｑｒｔ（ａ・ｆｃｕｔ（ｔ）ｃｏｓθ＾２＋１／ａ・ｆｃｕｔ（ｔ）ｓｉｎθ＾２）
・・・（４６）
【０１１８】
ここで、（４４）式、（４５）式を満たすような、角度θ、等方性ａと階調値ｔに応じて決定されるＦ＿ｓｐ＿ａｍｐの特徴量データａｍｐ（θ、ａ、ｔ）は、以下の（４７）式となる。
ａｍｐ（θ、ａ、ｔ）＝
Ｆ＿ｓｐ＿ａｍｐ（ａ・ｆｃｕｔ（ｔ）ｃｏｓθ、１／ａ・ｆｃｕｔ（ｔ）ｓｉｎθ）
・・・（４７）
【０１１９】
図２５（ｂ）は、図２４のステップＳ６０１における特徴量データの抽出処理の際に算出される振幅スペクトルと特徴量データａｍｐの一例を示す模式図である。
図２５（ｂ）において、３６０１は振幅スペクトルであり、３６０２は特徴量データａｍｐである。なお、特徴量データａｍｐ（３６０２）は、ａ＝１、ｔ＝７の時の値である。
以上のようにして、図２４のステップＳ６０３における特徴量データの抽出処理が行われる。
【０１２０】
ここで、再び、図２４の説明に戻る。
続いて、ステップＳ６０４において、評価部１３５は、等方性ａ、階調値ｔにおいて算出した特徴量データａｍｐ（θ、ａ、ｔ）に対して、以下の（４８）式に示す評価値ａｍｐ＿σを算出する。本実施形態では、特徴量データａｍｐ（θ、ａ、ｔ）のばらつき量であるａｍｐ＿σを評価値とする。なお式のｓｔｄ＿ｄｖは、標準偏差を返す関数である。
ａｍｐ＿σ＝ｓｔｄ＿ｄｖ（ａｍｐ（θ、ａ、ｔ））      ・・・（４８）
以上のステップＳ６０１〜Ｓ６０４の処理を経ることにより、図１８のステップＳＳ４０５における評価値の算出処理が終了する。
【０１２１】
ここで、再び、図１８の説明に戻る。
続いて、図１８のステップＳ４０６において、編集部１３６は、評価部１３５で算出された、階調値ｔにおける評価値ａｍｐ＿σが最小となるよう、ハーフトーンパラメータ保持部１３３に保持された誤差拡散係数を編集して更新する。なお、本実施形態における編集アルゴリズムとしては、例えば、準ニュートン法を用いて評価値を最小化する方法を用いることができるが、その他、共役勾配法や遺伝的アルゴリズムなどの編集アルゴリズムを用いてもよい。
【０１２２】
続いて、ステップＳ４０７において、ハーフトーンパラメータ演算装置１３０は、これ以上、評価値が良化しないまでに編集（更新）された階調値ｔの誤差拡散係数（ハーフトーンパラメータ）をハーフトーンパラメータ記憶部１０８にアップロードする。なお、ハーフトーンパラメータ記憶部１０８に格納されたハーフトーンパラメータ（誤差拡散係数）は、図１６で前述したように階調値ｔごとにＫ１〜Ｋ４が格納されている。よって、ステップＳ４０７では、算出した階調値ｔにおける誤差拡散係数Ｌ１〜Ｌ４を、図１０（ｂ）に示されたハーフトーンパラメータ記憶部１０８のＫ１〜Ｋ４に上書きする。
なお、本実施形態においては、１≦ｔ≦２５４での編集を前提した説明を行った。ここで、ｔ＝０とｔ＝２５５の編集を除いたのは、ｔ＝０ではハーフトーンドットが打たれない領域であり、また、ｔ＝２５５では原理上、ハーフトーンドットが全て打たれる領域なので、最適な誤差拡散係数を求めることは難しいためである。よって、ｔ＝０の誤差拡散係数Ｋ１〜Ｋ４は、ｔ＝１の誤差拡散係数Ｋ１〜Ｋ４と同じ値とする。また、ｔ＝２５５の誤差拡散係数Ｋ１〜Ｋ４は、ｔ＝２５４の誤差拡散係数Ｋ１〜Ｋ４と同じ値とする。
【０１２３】
続いて、ステップＳ４０８において、ハーフトーンパラメータ演算装置１３０は、全ての階調における処理を終了したか否かを判断する。
ステップＳ４０８の判断の結果、全ての階調における処理については終了していない場合には、ｔを１インクリメントして、ステップＳ４０２に戻り、ステップＳ４０２以降の処理を再度行う。
一方、ステップＳ４０８の判断の結果、全ての階調における処理を終了した場合には、図１８に示すフローチャートの処理、即ち、図３のステップＳ１１３におけるハーフトーンパラメータの演算処理が終了する。
【０１２４】
本実施形態によれば、ハーフトーン処理における所望の周波数特性の等方性（等方度合い）と出力特性予測値として誤差伝播関数を定義し、当該誤差伝播関数の等方度合いの評価値を良化するようにしている。これにより、ラスタごとの処理方向が任意の場合でも、ハーフトーンパラメータの誤差拡散係数を精度良く効率的に求めることができる。さらに、好適な誤差拡散係数を求めるまでの処理コストを低く抑えることができる。これにより、適正なハーフトーン処理を行うことが可能となる。
更には、物理的なレジストレーション変動が起こった場合でも、物理的なレジストレーションに応じた好適な誤差拡散係数を算出することができる。
【０１２５】
（他の実施形態）
上述した実施形態では、物理的なレジストレーションのズレ量（レジズレ量）を走査ごとに計測し、当該レジズレ量に応じた等方性を設定し、誤差伝播関数から算出される評価値に基づき誤差拡散係数を編集するものであった。そして、これにより、レジズレに対して画像劣化の起こり難い好適な誤差拡散係数を算出するものであった。しかしながら、レジズレ量を計測しなくてもよいことは言うまでもない。その際は、予め所望の等方性を設定し、誤差伝播関数から算出される評価値に基づき誤差拡散係数を編集することによって、好適な誤差拡散係数を算出する形態を採る。
【０１２６】
また、上述した実施形態では、走査ごとの物理的なレジズレ量のセンシングを想定したものであるが、走査内の物理的なレジズレに対して、例えば、キャリッジの速度変動などのセンシングを実施し、その計測値を基にハーフトーンパラメータを編集してもよい。
【０１２７】
また、上述した実施形態では、ハーフトーン処理として、誤差拡散法を用いた処理を適用したが、その他、ディザ法や平均誤差最小法を用いた処理を適用してもよい。
【０１２８】
また、上述した実施形態では、所定方向に配列された複数のノズルを有する記録ヘッドを、ノズルの配列方向と交差する方向に記録媒体上で走査させて、記録媒体にインクを吐出して画像を形成するインクジェット記録方式の画像処理装置を適用したものであった。しかしながら、本実施形態は、インクジェット方式以外の他の方式に従って記録を行う記録装置（例えば熱転写方式や電子写真方式）に対しても適用できる。この場合、インク滴を吐出するノズルは、ドットを記録する記録素子やレーザー発光素子に対応することとなる。また、本実施形態は、例えば、記録媒体の記録幅に対応する長さの記録ヘッドを有し、記録ヘッドに対して記録媒体を移動させて記録を行う、いわゆるフルライン型の記録装置などにも適用できる。
【０１２９】
前述した実施形態に係る画像形成装置１００を構成する図１の各手段、並びに画像形成装置の制御方法を示す図３、図９、図１５、図１８、図２１（ｂ）及び図２４の各ステップは、ＣＰＵがＲＯＭ等に記憶されているプログラムを実行することにより実現できる。
【０１３０】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１３１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011114395.tif 000008
【図２】
2011114395.tif 000009
【図３】
2011114395.tif 000010
【図４】
2011114395.tif 000011
【図５】
2011114395.tif 000012
【図６】
2011114395.tif 000013
【図７】
2011114395.tif 000014
【図８】
2011114395.tif 000015
【図９】
2011114395.tif 000016
【図１０】
2011114395.tif 000017
【図１１】
2011114395.tif 000018
【図１２】
2011114395.tif 000019
【図１３】
2011114395.tif 000020
【図１４】
2011114395.tif 000021
【図１５】
2011114395.tif 000022
【図１６】
2011114395.tif 000023
【図１７】
2011114395.tif 000024
【図１８】
2011114395.tif 000025
【図１９】
2011114395.tif 000026
【図２０】
2011114395.tif 000027
【図２１】
2011114395.tif 000028
【図２２】
2011114395.tif 000029
【図２３】
2011114395.tif 000030
【図２４】
2011114395.tif 000031
【図２５】
2011114395.tif 000032