(57)【要約】【課題】記録装置と記録媒体との間に発生する物理的なレジストレーションの変動に対して画質を維持すると共に、画像の低周波成分に依存した粒状性劣化を抑制し、高画質画像を形成可能とする。【解決手段】画像形成装置は、画像データに応じて、記録ヘッドの記録走査ごとに、複数の記録素子の各々の記録量を算出し、算出された記録量に、各記録素子の位置についてドットを形成する位置としての選択され易さを示す制約情報を作用させてＮ値化処理（Ｎは２以上の整数）を施し、当該記録走査におけるドットパターンを作成する。また、画像形成装置は、複数回の記録走査を行う間に、記録ヘッド及び記録媒体の少なくとも何れかについて、物理的な変動量を検出する。そして、算出された記録量と、作成されたドットパターンと、検出された変動量とに基づいて、制約情報を更新する。次の記録走査においては、更新された制約情報がドットパターンの生成のために参照されることになる。【選択図】  図１
2010064277.tif 000002
【特許請求の範囲】
【請求項１】
複数の記録素子を備えた記録ヘッドを、記録媒体上で記録走査することによって画像を形成する画像形成装置であって、
複数回の記録走査を行う間に、前記記録ヘッド及び記録媒体の少なくとも何れかについて、物理的な変動量を検出する検出手段と、
画像データに応じて、前記記録ヘッドの記録走査ごとに、前記複数の記録素子の各々の記録量を算出する算出手段と、
前記算出手段で算出された記録量に、各記録素子の位置についてドットを形成する位置としての選択され易さを示す制約情報を作用させてＮ値化処理（Ｎは２以上の整数）を施し、当該記録走査のためのドットパターンを作成するＮ値化手段と、
前記算出手段で算出された記録量と前記Ｎ値化手段で作成されたドットパターンと前記検出手段で検出された変動量とに基づいて前記制約情報を更新する更新手段とを備え、
次の記録走査において、前記Ｎ値化手段は前記更新手段で更新された前記制約情報を用いることを特徴とする画像形成装置。
【請求項２】
前記更新手段は、
前記記録量をフィルタ処理した結果を用いて前記制約情報を更新するものであり、
前記フィルタ処理のためのフィルタのサイズ及び係数を前記変動量に基づいて設定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記検出手段は、記録走査における前記記録ヘッドの移動速度の変動に関する変動量を検出することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記検出手段は、前記記録ヘッドによる記録走査の間に行われる前記記録媒体の搬送における、記録媒体の搬送量に関する変動量を検出することを特徴とする請求項１または２に記載の画像形成装置。
【請求項５】
前記変動量は、前記記録ヘッドと、前記記録媒体との距離に関する変動量を検出することを特徴とする請求項１または２に記載の画像形成装置。
【請求項６】
前記変動量は、前記記録ヘッドの、記録走査ごとの傾きの変動量を検出することを特徴とする請求項１または２に記載の画像形成装置。
【請求項７】
前記記録走査は、記録媒体上の同一領域の記録走査を複数回にわたって繰り返すことにより当該領域への記録を行うものであり、
前記更新手段は、前記検出手段において検出された変動量を用いて、前記記録媒体上の同一領域にそれまでに記録されたドットパターンに対し、前記Ｎ値化手段で作成されるドットパターンの位相が低周波領域で逆位相、高周波領域で無相関となるように、前記制約情報を更新することを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
複数の記録素子を備えた記録ヘッドを、記録媒体上で記録走査することによって画像を形成する画像形成装置の制御方法であって、
複数回の記録走査を行う間に、前記記録ヘッド及び記録媒体の少なくとも何れかについて、物理的な変動量を検出する検出工程と、
画像データに応じて、前記記録ヘッドの記録走査ごとに、前記複数の記録素子の各々の記録量を算出する算出工程と、
前記算出工程で算出された記録量に、各記録素子の位置についてドットを形成する位置としての選択され易さを示す制約情報を作用させてＮ値化処理（Ｎは２以上の整数）を施し、当該記録走査のためのドットパターンを作成するＮ値化工程と、
前記算出工程で算出された記録量と前記Ｎ値化工程で作成されたドットパターンと前記検出工程で検出された変動量とに基づいて前記制約情報を更新する更新工程とを有し、
次の記録走査において、前記Ｎ値化工程では前記更新工程で更新された前記制約情報が用いられることを特徴とする画像形成装置の制御方法。
【請求項９】
前記更新工程は、
前記記録量をフィルタ処理した結果を用いて前記制約情報を更新するものであり、
前記フィルタ処理のためのフィルタのサイズ及び係数を前記変動量に基づいて設定することを特徴とする請求項８に記載の画像形成装置の制御方法。
【請求項１０】
前記検出工程は、記録走査における前記記録ヘッドの移動速度の変動に関する変動量を検出することを特徴とする請求項８または９に記載の画像形成装置の制御方法。
【請求項１１】
前記検出工程は、前記記録ヘッドによる記録走査の間に行われる前記記録媒体の搬送における、記録媒体の搬送量に関する変動量を検出することを特徴とする請求項８または９に記載の画像形成装置の制御方法。
【請求項１２】
前記変動量は、前記記録ヘッドと、前記記録媒体との距離に関する変動量を検出することを特徴とする請求項８または９に記載の画像形成装置の制御方法。
【請求項１３】
前記変動量は、前記記録ヘッドの、記録走査ごとの傾きの変動量を検出することを特徴とする請求項８または９に記載の画像形成装置の制御方法。
【請求項１４】
前記記録走査は、記録媒体上の同一領域の記録走査を複数回にわたって繰り返すことにより当該領域への記録を行うものであり、
前記更新工程は、前記検出工程において検出された変動量を用いて、前記記録媒体上の同一領域にそれまでに記録されたドットパターンに対し、前記Ｎ値化工程で作成されるドットパターンの位相が低周波領域で逆位相、高周波領域で無相関となるように、前記制約情報を更新することを特徴とする請求項８乃至１３のいずれか１項に記載の画像形成装置の制御方法。
【請求項１５】
請求項８乃至１４のいずれか１項に記載の画像形成装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項１６】
請求項８乃至１４のいずれか１項に記載の画像形成装置の制御方法をコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置およびその制御方法に関し、特に、入力画像の階調数よりも少ない階調数への階調数変換を行う画像形成装置およびその制御方法に関する。
【背景技術】
【０００２】
ワードプロセッサ、パーソナルコンピュータ、ファクシミリ等における情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行う記録装置には様々な方式のものがある。その中で、記録媒体に記録剤を付着することで記録媒体上にテキストや画像を形成する出力方式が実用化されている。
【０００３】
上記の出力方式の一つであるインクジェット記録装置では、記録速度の向上や高画質化等のために、同一色同一濃度のインクを吐出可能な複数のインク吐出口（ノズル）を集積配列したノズル群を用いる。さらに、画質を向上するために、同一色で濃度の異なるインクを吐出可能としたものや、同一色で同一濃度のインクの吐出量を何段階かに変えて吐出可能としたノズル群が設けられたものもある。
【０００４】
このような画像形成装置において、多値の入力画像データをドットの記録信号にあたる２値画像（または２値以上で入力階調数より少ない階調数を有する画像）に変換する手段として、R.Floydらによる誤差拡散法（非特許文献１）がある。この誤差拡散法は、ある画素で生じた二値化誤差を以降の複数画素へ拡散することにより、擬似的に階調表現を行うものである。
【０００５】
上述の誤差拡散法のほかに、多値の入力画像データをドットの記録信号にあたる２値画像（または２値以上で入力階調数より少ない階調数を有する画像）に変換する方法として、ディザ法が知られている。このディザ法は、あらかじめ用意した閾値マトリクスと多値の入力データを比較し、２値化を行なうことで擬似的に階調表現を行うものである。このディザ法は、上記誤差拡散法よりも処理が単純なため高速な処理が行えることが知られている。
【０００６】
さらに、特許文献１では、上記階調数変換された画像を画像形成装置で形成する際に、その形成順、配置を決定する画像処理方法が提案されている。かかる技術によれば、上記誤差拡散法を走査毎に処理することにより、各走査のレジストレーションが変動した場合でも、濃度ムラなどによる画像品質の低下を抑えることが可能となる。
【０００７】
より具体的には、所定の記録媒体における同一の主走査記録領域に対して異なるノズル群によって複数回主走査を行い、その主走査毎に誤差拡散法により２値画像を形成する。主走査毎に誤差拡散法を実施して２値画像を生成する場合、主走査内のドット配置の分散性は高く均一である。そのため、複数の主走査によって画像が形成される際に記録媒体の送り量や記録素子の位置など、物理的なレジストレーションが変動しても、粒状性の変化は発生しにくい。さらに、複数の走査間のドット配置で相関が少ないため,レジストレーションが変動しても、紙面に対するドットの被覆率変化が低減され、濃度ムラがかなり緩和される。
【０００８】
以下、上述の物理的なレジストレーションの変動が発生する原因について具体的に説明する。
【０００９】
まず、インクジェット記録装置では、記録ヘッドを搭載するキャリッジを記録領域に対して走査する際、何らかの影響によってキャリッジ速度変動が発生する。
【００１０】
また、主走査方向の記録後、記録媒体を副走査方向へ搬送する機構においても、例えば装置の製造誤差等の原因により、記録媒体の搬送量変動が発生する。
【００１１】
さらに、記録ヘッドはキャリッジ搭載時に、記録媒体と記録ヘッド面が平行に、且つ、主走査方向と垂直に取り付けられることが理想的であるが、製造誤差により正確な位置からある傾き（変動）をもって搭載されることがある。また、記録ヘッドは主走査方向へ何度も走査されるため、搭載状態が徐々に変化することもある。
【００１２】
一方、記録媒体は、記録ヘッドから吐出されたインク滴が紙内部に浸透し、インクに含まれる水分が用紙に吸収されることによって用紙が膨潤する。同一領域を複数の走査で記録するマルチパスの記録においては、走査毎に記録媒体の表面が変位する（以下、コックリング）、つまり、記録ヘッドと記録媒体の距離が記録位置によって変動する。
【００１３】
このように、インクジェット記録装置では、製造誤差あるいは走査時の何らかの理由により、上述した変動が発生する。これら変動量は装置によって一定ではなく、記録走査毎に様々に変化する。
【００１４】
以上のような記録装置と記録媒体との間の物理的な変動により、ドットの着弾位置（レジストレーション）がずれて粒状性が変化してしまう。これにより、記録領域ごとの濃度ムラが発生し、出力画像の画質が劣化する。
【００１５】
記録ヘッドの速度変動によるインクの着弾位置ズレによる画質劣化については、特許文献２に対策が提案されている。特許文献２によれば、記録ヘッドの移動量および加速度を検出し、所定の加速度に対応する基準タイミングに対して、所定時間遅延させた吐出タイミング信号を送出し、記録面の設定位置に精度よく到達させる方法が提案されている。
【００１６】
さらに、走査毎に記録媒体の表面が変位するコックリングによる着弾位置ずれに対しては、特許文献３にその対策が提案されている。特許文献３によれば、記録ヘッドと記録材の距離を紙間センサで検出し、距離の変位情報に基いて、吐出タイミングを遅延させてドット位置を補正する方法が提案されている。
【００１７】
また、記録装置の製造誤差により副走査方向に等間隔にドットが記録されないという課題（搬送量変動）については、特許文献４にその対策が提案されている。特許文献４によれば、記録位置ずれを表すデータを生成し、その情報を検出する（読み込む）ことで、画質劣化を防止するための記録モードを選択する方法が提案されている。
【特許文献１】特開２０００−１０３０８８号公報
【特許文献２】特開２０００−７１４３８号公報
【特許文献３】特開平１１−２４０１４６号公報
【特許文献４】特開２００１−３２２２６１号公報
【特許文献５】特開２００１−１８００５７号公報
【非特許文献１】R.Floyd 他、”An adaptive algorithm for spatial grayscale”, SID International Symposium Digest of Technical Papers, vol4.3, 1975,pp.36-37
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した特許文献１に記載された手法によれば、主走査間のドット配置で相関性が小さいために、複数の走査によって生成される画像の低周波成分が強調されてしまうという課題がある。この低周波成分は、走査の回数が増えるほど強調されることになり、視覚上目障りな粒状性として認識されてしまう。
【００１９】
また、上述した特許文献２、特許文献３によれば、記録装置および記録媒体の変動を検出して１ドット毎の着弾位置を補正するが、高解像度印字装置においては、１ドットレベルの高精度の位置合わせは困難である。さらに、上述の方法では、個々の変動値毎に（キャリッジ速度変動、搬送量、紙間距離等）、１ドットレベルでの補正量が決定される。しかしながら、実際の印字操作では、これらの変動が同時に発生することもあるため、ある変動量に対しての１ドットレベルの補正では、他の変動に対してはロバスト性が低くなる。
【００２０】
さらに、特許文献４では、例えば出荷時、起動時といった所定のタイミングで検出された変動量により、記録モードが決定される。しかしながら、このような手法では、経時変換等、装置の劣化または振動等による動作不良によって変動量が大きく変わると、着弾位置変動に対するロバスト性は低くなり、画像劣化が発生する。
【００２１】
本発明は、上記課題に鑑みてなされたものであり、記録装置と記録媒体との間に発生する物理的なレジストレーションの変動に対して画質を維持すると共に、画像の低周波成分に依存した粒状性劣化を抑制し、高画質画像を形成可能とすることを目的とする。
【課題を解決するための手段】
【００２２】
上記目的を達成するための本発明の一態様による画像形成装置は以下の構成を備える。すなわち、
複数の記録素子を備えた記録ヘッドを、記録媒体上で記録走査することによって画像を形成する画像形成装置であって、
複数回の記録走査を行う間に、前記記録ヘッド及び記録媒体の少なくとも何れかについて、物理的な変動量を検出する検出手段と、
画像データに応じて、前記記録ヘッドの記録走査ごとに、前記複数の記録素子の各々の記録量を算出する算出手段と、
前記算出手段で算出された記録量に、各記録素子の位置についてドットを形成する位置としての選択され易さを示す制約情報を作用させてＮ値化処理（Ｎは２以上の整数）を施し、当該記録走査のためのドットパターンを作成するＮ値化手段と、
前記算出手段で算出された記録量と前記Ｎ値化手段で作成されたドットパターンと前記検出手段で検出された変動量とに基づいて前記制約情報を更新する更新手段とを備え、
次の記録走査において、前記Ｎ値化手段は前記更新手段で更新された前記制約情報を用いる。
【００２３】
また、上記目的を達成するための本発明の他の態様による画像形成装置の制御方法は、
複数の記録素子を備えた記録ヘッドを、記録媒体上で記録走査することによって画像を形成する画像形成装置の制御方法であって、
複数回の記録走査を行う間に、前記記録ヘッド及び記録媒体の少なくとも何れかについて、物理的な変動量を検出する検出工程と、
画像データに応じて、前記記録ヘッドの記録走査ごとに、前記複数の記録素子の各々の記録量を算出する算出工程と、
前記算出工程で算出された記録量に、各記録素子の位置についてドットを形成する位置としての選択され易さを示す制約情報を作用させてＮ値化処理（Ｎは２以上の整数）を施し、当該記録走査のためのドットパターンを作成するＮ値化工程と、
前記算出工程で算出された記録量と前記Ｎ値化工程で作成されたドットパターンと前記検出工程で検出された変動量とに基づいて前記制約情報を更新する更新工程とを有し、
次の記録走査において、前記Ｎ値化工程では前記更新工程で更新された前記制約情報が用いられる。
【発明の効果】
【００２４】
本発明によれば、記録装置と記録媒体との間に発生する物理的なレジストレーションの変動に対して画質が維持されると共に、画像の低周波成分に依存した粒状性劣化が抑制され、高画質画像が形成可能となる。
【発明を実施するための最良の形態】
【００２５】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００２６】
＜第１実施形態＞
図１は、第１実施形態による画像形成装置の構成を示したブロック図である。図１において、１は画像処理装置を、２はプリンタを示す。なお、画像処理装置１は例えば一般的なパーソナルコンピュータにインストールされたプリンタドライバによって実施され得る。その場合、以下に説明する画像処理装置１の各部は、コンピュータが所定のプログラムを実行することにより実現されることになる。また、別の構成としては、例えば、プリンタ２が画像処理装置１を含む構成としてもよい。
【００２７】
画像処理装置１とプリンタ２は、プリンタインタフェース又は回路によって接続されている。画像処理装置１は、画像データ入力端子１０１より印刷対象の画像データを入力し、画像バッファ１０２にその入力画像データを格納する。色分解処理部１０３は、入力されたカラー画像をプリンタ２が備えるインク色へ色分解する。この色分解処理に際しては、色分解用ルックアップテーブル１０４（以下、色分解用ＬＵＴ１０４）が参照される。走査Ｄｕｔｙ設定部１０５は、色分解処理部１０３にて分解された各インク色値を、さらに走査毎の各インク色値へ変換し、走査Ｄｕｔｙバッファ１０７にそのデータを格納する。なお、各インク色値への変換に際しては、後述するように、走査Ｄｕｔｙ設定用ルックアップテーブル１０６（以下、走査Ｄｕｔｙ設定用ＬＵＴ１０６）が参照される。こうして、走査Ｄｕｔｙ設定部１０５は、各記録走査における、各記録素子の記録量を示すインク色値を設定し、走査Ｄｕｔｙバッファ１０７にこれを保持する。
【００２８】
ハーフトーン処理部１０８は、走査Ｄｕｔｙ設定部１０５によって得られた走査毎の各色の多階調（３階調以上）値を、後述の制約情報バッファ１０９に蓄えられた値を元に、２値画像データに変換する。制約情報バッファ１０９には、記録される画像上のアドレスに、ドットが形成されやすいか否かを示す情報が蓄えられている。なお、制約情報バッファは、インク色毎に確保されているものとする。
【００２９】
ハーフトーン画像格納バッファ１１０には、ハーフトーン処理部１０８にて得られた各色の２値画像データが格納される。制約情報演算部１１１は、ハーフトーン画像格納バッファ１１０に格納された２値画像データと走査Ｄｕｔｙバッファ１０７に格納された走査毎Ｄｕｔｙデータ値を用いて所定の演算を行い、制約情報バッファ１０９を更新する。
【００３０】
ハーフトーン画像格納バッファ１１０に格納された２値画像データは出力端子１１２よりプリンタ２へ出力される。プリンタ２は、記録ヘッド２０１を記録媒体２０２に対して相対的に縦横に移動することにより、画像処理装置１にて形成された２値画像データを記録媒体上に形成する。
【００３１】
記録ヘッド２０１は熱転写方式、電子写真方式、インクジェット方式等のものを用いることができ、いずれも一つ以上の記録素子（インクジェット方式であればノズル）を有する。移動部２０３は、ヘッド制御部２０４の制御下で、記録ヘッド２０１を移動する。搬送部２０５は、ヘッド制御部２０４の制御下で、記録媒体を搬送する。また、インク色および吐出量選択部２０６は、画像処理装置１により形成された各色の２値画像データに基づいて、記録ヘッド２０１に搭載されるインク色の中から、インク色（およびその吐出量）を選択する。
【００３２】
変動量検出部２０７は、プリンタ２の構成要部（例えば記録ヘッド２０１）の変動量を各種センサにより検出する。変動量検出部２０７は、記録ヘッド２０１と記録媒体間の物理的な変動量を検出し、検出された変動量を、変動量入力端子２０８を介して画像処理装置１の制約情報演算部１１１に渡す。
【００３３】
なお、本実施形態では変動量検出部２０７により検出する変動量を、記録ヘッドの主走査方向の速度変動による位置変動量とする。よって検出に用いるセンサとして、例えば、特許文献２に記載の半導体式の加速度検出センサ等があげられるが、これに限れられるものではない。
【００３４】
変動量検出部２０７で検出する変動量は、記録ヘッドの移動量である。例えば図２５のように、変動量検出部２０７は、所定タイミングtk(k=0,1,..K)毎に、記録ヘッドおよびキャリッジ部材２５０１の位置x’(tk)を検出する。そして、タイミングtkにおいて本来ドットが着弾する位置x(tk)からの偏心した距離di=|x’(tk)−x(tk)|(i=0,…k-1)が変動量として検出される。なお、図２５の下部は、記録媒体２５０２にドットが打たれた様子を示している。
【００３５】
なお、本実施形態では、変動量検出部２０７は、一回の走査における、上述した所定の基準位置からのズレ量の偏差σ_diを変動量として検出し、制約情報演算部１１１に渡す物とするがこれに限られるものではない。例えば、その他の変動量として、一回の走査におけるキャリッジの位置のズレ量の最大値d_MAX、あるいは、所定タイミング毎に検出したズレ量diを、制約情報演算部１１１で用いる変動値としてもよい。
【００３６】
図２は記録ヘッド２０１の構成例を示す図である。第１実施形態ではシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色のインクに加え、相対的にインク濃度が低い淡シアン（Ｌｃ）、淡マゼンタ（Ｌｍ）を含めた６色のインクを、該記録ヘッドに搭載している。
【００３７】
なお、図２においては、説明を簡単にするため用紙搬送方向にノズルが一列に配置された構成を有する記録ヘッドを示しているが、ノズルの数、配置はこれに限られるものではない。例えば、同一色でも吐出量が異なるノズル列を有しても良いし、同一吐出量ノズルが複数列あっても良いし、ノズルがジグザグに配置されているような構成であっても良い。また、図２ではインク色の配置順序はヘッド移動方向に一列となっているが、用紙搬送方向に一列に配置する構成であっても良い。
【００３８】
次に、上述の機能構成を備えた本実施形態の画像処理装置１の動作について図３のフローチャートを参照して説明する。
【００３９】
まず、多階調のカラー入力画像データが入力端子１０１より入力され、画像バッファ１０２に格納される（ステップＳ１０１）。なお、入力画像データはレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分よりカラー画像データを構築している。
【００４０】
次に、色分解処理部１０３は、画像バッファ１０２に格納された多階調のカラー入力画像データに対し色分解用ＬＵＴ１０４を用いて、ＲＧＢからＣＭＹＫ及びＬｃＬｍのインク色プレーンへの色分解処理を行う（ステップＳ１０２）。本実施形態では、色分解処理後の各画素データを８ビットとして扱うが、それ以上の階調数で変換してもよい。
【００４１】
上述したように、第１実施形態の記録ヘッド２０１は、６種類の各インク色を保有する。そのため、ＲＧＢのカラー入力画像データは、ＣＭＹＫＬｃＬｍ各プレーンの計６プレーンの画像データへ変換される。即ち、６種類の記録態様に対応した６種類のプレーンの画像データが生成される。
【００４２】
以下、本実施形態の色分解処理について図４を用いて説明する。図４は、カラープリンタの色分解処理の構成を示している。色分解処理部１０３は、色分解用ＬＵＴ１０４を参照して、画像データＲ’Ｇ’Ｂ’を、次式にしたがってＣＭＹＫＬｃＬｍへ変換する。
【００４３】
Ｃ＝Ｃ_ＬＵＴ_３Ｄ（Ｒ’,Ｇ’,Ｂ’）      ・・・（１）
Ｋ＝Ｍ_ＬＵＴ_３Ｄ（Ｒ’,Ｇ’,Ｂ’）      ・・・（２）
Ｙ＝Ｙ_ＬＵＴ_３Ｄ（Ｒ’,Ｇ’,Ｂ’）      ・・・（３）
Ｋ＝Ｋ_ＬＵＴ_３Ｄ（Ｒ’,Ｇ’,Ｂ’）      ・・・（４）
Ｌｃ＝Ｌｃ_ＬＵＴ_３Ｄ（Ｒ’,Ｇ’,Ｂ’）  ・・・（５）
Ｌｍ＝Ｌｍ_ＬＵＴ_３Ｄ（Ｒ’,Ｇ’,Ｂ’）  ・・・（６）
ここで、（１）〜（６）の右辺に定義される各関数が色分解用ＬＵＴ１０４に該当する。色分解用ＬＵＴ１０４は、レッド、グリーン、ブルーの３入力値を、各インク色への出力値へ変換するためのテーブルである。本実施形態では、ＣＭＹＫＬｃＬｍの６色を具備する構成であるため、３入力値から６出力値を得るＬＵＴ構成となる。以上の処理工程を通じて第１実施形態の色分解処理が完了する。
【００４４】
次のステップＳ１０２〜Ｓ１０３において、走査Ｄｕｔｙ設定部１０５は、色分解処理された画像データに応じて、記録ヘッドの記録走査ごとに、複数の記録素子の各々の記録量を算出し、走査Ｄｕｔｙバッファ１０７に保持する。まず、走査Ｄｕｔｙ設定部１０５は、走査番号ｋ及び、色分解データ切り出しＹ座標Ｙｃｕｔ（ｋ）を設定する（ステップＳ１０３）。なお、走査番号ｋの初期値は１であり、ループ毎に１だけインクリメントされる。なお、Ｙｃｕｔ（ｋ）は、走査番号ｋにおける色分解データ切り出し位置（ノズル上端座標）である。
【００４５】
ここで、例として、１６個のノズル列を具備し、画像上の同一主走査記録領域に対して４回のスキャンで画像を形成させる４パス印字の場合について、色分解データ切り出し位置Ｙ座標Ｙｃｕｔの設定法を説明する。一般的に４パス印字の場合、図５に示すように、まず、走査番号の初期値ｋ＝１では、ノズル下端１／４のみを使用して画像形成が行わる。そして、走査番号ｋ＝２では走査番号ｋ＝１に対しノズル長さ１／４分紙送りしてから画像形成が行われる。さらに走査番号ｋ＝３では走査番号ｋ＝２に対しノズル長さ１／４分紙送りしてから画像形成画行われる。以上のような動作が繰り返し行われ、最終出力画像が形成される。すなわち、４パス印字で、ノズル長さの１／４分紙送りを行う場合、図９に示すように、ｋ＝１〜７で一つの主走査記録領域の記録を完了し、これを繰り返すことで最終出力画像が形成される。そのため、走査番号ｋ＝１の場合、色分解データ切り出し位置Ｙｃｕｔ＝−１２となる。
【００４６】
上記Ｙｃｕｔ（ｋ）を一般化すると、色分解データ切り出し位置Ｙｃｕｔ（ｋ）は、ノズル列数：Ｎｚｚｌ、パス数：Ｐａｓｓ、走査番号：ｋ、とすると次式で与えられる。
Ｙｃｕｔ（ｋ） ＝ −Ｎｚｚｌ＋（Ｎｚｚｌ／Ｐａｓｓ）×ｋ              （７）
次に、走査Ｄｕｔｙ設定部１０５は、走査Ｄｕｔｙ設定用ＬＵＴ１０６を参照して、各色分解処理プレーンの画像データから、走査毎のデータ値を設定する（ステップＳ１０４）。
【００４７】
走査Ｄｕｔｙ設定用ＬＵＴ１０６は４パスの場合、図６に示した形で与えられる。図６は１６ノズル、４パスの例を示しており、Ｐ１〜Ｐ４の変曲点を４ノズル毎に設定し、その各変曲点を線形補間した１６ノズル分のＤｕｔｙ分割率が走査Ｄｕｔｙ設定用ＬＵＴとなる。ここで、Ｐ１〜Ｐ４の数値の設定法は以下のとおりになる。
Ｐ１＋Ｐ２＋Ｐ３＋Ｐ４＝１．０                            （８）
【００４８】
なお、走査Ｄｕｔｙ設定用ＬＵＴ１０６は上記設定法に限られるものではない。例えば、変曲点を更に細かく設定してもよいし、ノズル毎に直接指定しても良い。また、走査Ｄｕｔｙは、図７に示すように走査Ｄｕｔｙ設定用ＬＵＴ１０６と色分解データの積で設定される。ただし、対応するノズルが画像Ｙアドレスの領域外座標になるときは、走査Ｄｕｔｙを０とする。例えば、走査番号ｋ＝１では、図８に示すように、ノズル列の上部３／４で画像Ｙアドレスが負になるため走査Ｄｕｔｙ値＝０が代入され、ノズル列下端１／４には有意な値が代入される。
【００４９】
なお、色分解データ切り出し位置Ｙｃｕｔ（ｋ）は走査番号ｋによって決まるため、走査番号ｋ＝１〜７の場合、図９のように走査Ｄｕｔｙが決まる。図９における各走査Ｄｕｔｙは色分解データと、走査Ｄｕｔｙ設定用ＬＵＴの積により定まるため、紙送りしながらＬＵＴとの積をとると、領域１の部分では、走査番号ｋ＝１〜４の４回の走査で形成される１ラスタの合計値が色分解データと同じになる。領域２、３、４でも同様に、１ラスタの合計値が色分解データと同じになる。
【００５０】
ただし、上記走査Ｄｕｔｙ分解は、Ｄｕｔｙ分解閾値Ｄ_Ｔｈ３より色分解データ値が小さいときは、４回の走査で画像形成を行うことはせず、１〜３回の走査で画像形成を行う。より詳細には、色分解データ値がＤ_Ｔｈ３以下の場合には３回、色分解データ値がＤ_ｔｈ２以下の場合には２回、色分解データ値がＤ_ｔｈ１以下の場合には１回の走査で画像形成が行われるようにする。
【００５１】
上記の走査Ｄｕｔｙ設定部１０５における走査Ｄｕｔｙ設定を例えばシアンＣ（Ｘ,Ｙ）に限って式で詳細に表すと、以下のように与えられる。なお、Ｃ（Ｘ,Ｙ）はアドレス（Ｘ,Ｙ）における走査Ｄｕｔｙを、Ｓ_ＬＵＴ（Ｙ）はアドレスＹにおける走査Ｄｕｔｙ設定用ＬＵＴである。
【００５２】
Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）  ＞  Ｄ_Ｔｈ３のとき
Ｃ_ｄ（ｎｘ,ｎｙ）＝Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）×S_LUT（ｎｙ）（９）
Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）  ≦  Ｄ_Ｔｈ１のとき
「走査番号ｋ＝１,５,・・・,４ｎ＋１（ｎは０以上の整数）」
Ｃ_ｄ（ｎｘ,ｎｙ）＝Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）  （１０）
「上記以外の走査番号」
Ｃ_ｄ（ｎｘ,ｎｙ）＝０ （１１）
Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）  ≦  Ｄ_Ｔｈ２のとき
「走査番号ｋ＝１,５,・・・,４ｎ＋１」
「走査番号ｋ＝２,６,・・・,４ｎ＋２」
Ｃ_ｄ（ｎｘ,ｎｙ）＝Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）／２  （１２）
「上記以外の走査番号」
Ｃ_ｄ（ｎｘ,ｎｙ）＝０ （１３）
Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）  ≦  Ｄ_Ｔｈ３のとき
「走査番号ｋ＝１,５,・・・,４ｎ＋１」
「走査番号ｋ＝２,６,・・・,４ｎ＋２」
「走査番号ｋ＝３,７,・・・,４ｎ＋３のとき」
Ｃ_ｄ（ｎｘ,ｎｙ）＝Ｃ（ｎｘ,Ｙｃｕｔ（ｋ）+ｎｙ）／３  （１４）
「上記以外の走査番号」
Ｃ_ｄ（ｎｘ,ｎｙ）＝０ （１５）
なお、上記（９）〜（１５）式において、0≦ｎｘ＜画像のＸサイズ、0≦ｎｙ＜Ｎｚｚｌである。
【００５３】
同様に、Ｌｃ（Ｘ,Ｙ）、Ｍ（Ｘ,Ｙ）、Ｌｍ（Ｘ,Ｙ）、Ｙ（Ｘ,Ｙ）、Ｋ（Ｘ,Ｙ）に対しても上記式により走査Ｄｕｔｙへ分解する。
【００５４】
なお、本実施形態では４パスを例にしたため、（１０）〜（１５）のように例外のＤｕｔｙ分解を設定したが、例えば８パスでも同様にＤ_Ｔｈ１〜Ｄ_Ｔｈ７を設定し、例外のＤｕｔｙ分解を行う。
【００５５】
次に、走査Ｄｕｔｙ設定部１０５は、設定した走査Ｄｕｔｙデータを走査Ｄｕｔｙバッファ１０７に格納する（ステップＳ１０５）。走査Ｄｕｔｙバッファ１０７は、図１０のように、縦：ノズル数、横：画像Xsize分のバンド状のデータ値を各色毎に格納する。
【００５６】
次に、ハーフトーン処理部１０８は、走査Ｄｕｔｙバッファ１０７のデータと制約情報バッファ１０９のデータの合計値に対し、ハーフトーン処理を行い、２レベルの階調値（２値データ）に変換する（ステップＳ１０６）。制約情報バッファ１０９も、図１１のように、縦：ノズル数、横：画像Xsize分のバンド状のデータ値（制約情報）を各色毎に格納する。
【００５７】
第１実施形態では、制約情報バッファ１０９において、記録される画像上のアドレスに２値画像が形成されやすいか否かを示す制約情報が走査番号ｋごとに更新されていく。ただし、走査番号ｋ＝１の処理開始時は全て０の初期値が代入されている。すなわち、アドレス（Ｘ,Ｙ）における各色の制約情報をＣ_ｒ（Ｘ,Ｙ）、Ｌｃ_ｒ（Ｘ,Ｙ）、Ｍ_ｒ（Ｘ,Ｙ）、Ｌｍ_ｒ（Ｘ,Ｙ）、Ｙ_ｒ（Ｘ,Ｙ）、Ｋ_ｒ（Ｘ,Ｙ）とすると、走査番号ｋ＝１のときは以下のように記述される。
【００５８】
Ｃ_ｒ（ｎｘ,ｎｙ）＝０        （１６）
Ｌｃ_ｒ（ｎｘ,ｎｙ）＝０      （１７）
Ｍ_ｒ（ｎｘ,ｎｙ）＝０        （１８）
Ｌｍ_ｒ（ｎｘ,ｎｙ）＝０      （１９）
Ｙ_ｒ（ｎｘ,ｎｙ）＝０        （２０）
Ｋ_ｒ（ｎｘ,ｎｙ）＝０        （２１）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
そのため、実質的には走査番号ｋ≧２の時に、有意な制約情報が更新されていくことになる。制約情報の値は、その値が小さいほど、その箇所にドットが形成されにくく、逆に値が大きいほどドットが形成されやすい。また、制約情報バッファに更新される値はどのような走査番号であっても、平均値０の値が格納されている。すなわち、その箇所にドットが形成されやすい場合は正の値が、その箇所にドットが形成されにくい場合は負の値が格納されている。制約情報の更新法に関しての詳細は後述する。
【００５９】
第１実施形態のハーフトーン処理は、多値の入力画像データを２値画像（または２値以上で入力階調数より少ない階調数の画像）に変換する処理として、例えばR.Floydらによる誤差拡散法（非特許文献１参照）を用いる。
【００６０】
ここでは説明を簡略化するため、４パス印字、走査番号ｋ＝１におけるシアンのハーフトーン処理について詳細を、図１２のハーフトーン処理部１０８のブロック図と図１３のフローチャート図を参照しながら説明する。
【００６１】
まず、ステップＳ２０１において、シアン走査ＤｕｔｙであるＣ_ｄと、シアン制約情報であるＣ_ｒがハーフトーン処理部１０８に入力される。加算部４０１は、以下のように、Ｃ_ｄとＣ_ｒの合計値データＩｃを算出する。
Ｉｃ＝Ｃ_ｄ＋Ｃ_ｒ            ・・・（２２）
（ただし走査番号ｋ＝１の制約情報Ｃ_ｒは全０）
本実施形態では、誤差拡散処理のための誤差拡散係数が図１４のようにＫ１〜Ｋ４の４つの係数を持つものとする。例えば、Ｋ１＝７／１６、Ｋ２＝３／１６、Ｋ３＝５／１６、Ｋ４＝１／１６とする。ただし、拡散係数は上記のように固定でなく、階調に応じて（たとえばＣ_ｄに応じて）変更させても良いし、上記４係数に限らずさらに多くの係数を持たせても良い。このような誤差拡散係数により誤差を拡散、累積するために、ハーフトーン処理部１０８における累積誤差ラインバッファを４組確保し、使用する累積誤差ラインバッファを走査番号ごとに切り替える。
【００６２】
具体的には、
「走査番号ｋ＝１,５,・・・,４ｎ＋１（ｎは０以上の整数）のとき」
(4n+1)の累積誤差バッファ４０２を使用
「走査番号ｋ＝２,６,・・・,４ｎ＋２のとき」
(4n+2)の累積誤差バッファ４０３を使用
「走査番号ｋ＝３,７,・・・,４ｎ＋３のとき」
(4n+3)の累積誤差バッファ４０４を使用
「走査番号ｋ＝４,８,・・・,４ｎ＋４のとき」
(4n+4)の累積誤差バッファ４０５を使用
のように切り替える。
【００６３】
なお累積誤差バッファ４０２、４０３、４０４，４０５は、それぞれ、図１５に示すように、（ａ）「Ｅｃ１_0,Ｅｃ１（ｘ）」、（ｂ）「Ｅｃ2_0,Ｅｃ2（ｘ）」、（ｃ）「Ｅｃ3_0,Ｅｃ3（ｘ）」、（ｄ）「Ｅｃ4_0,Ｅｃ4（ｘ）」である。
【００６４】
(4n+1)の累積誤差バッファ４０２は、１個の記憶領域Ｅｃ１_0と、入力画像の横画素数Ｗと同数の記憶領域Ｅｃ１_(x)（ｘ＝１〜Ｗ）とを有する。他の累積誤差バッファ４０３、４０４、４０５も同様の記録領域を有する。また、累積誤差バッファ４０２、４０３、４０４、４０５は、走査番号ｋ＝１、２、３、４の処理開始時のみ、全て初期値０で初期化されているものとする。例えば走査番号ｋ＝５の処理開始時には、（４ｎ＋１）累積誤差バッファ４０２は初期化されない。
【００６５】
本実施形態では、１色あたり上述の４組の累積誤差ラインバッファが必要になる。すなわち、本実施形態は６色なので、合計４×６＝２４組のラインバッファが必要になる。
【００６６】
本説明では、走査番号ｋ＝１についてであるので、(4n+1)の累積誤差バッファ４０２を使用して誤差拡散処理を実施した場合を説明する。
【００６７】
ステップＳ２０２において、累積誤差加算部４０６で入力画素データの横画素位置ｘに対応する誤差Ｅｃ1(x)が加算される。即ち、入力された注目データをＩｃ、累積誤差加算後のデータをＩｃ'とすると、
Ｉｃ'＝Ｉｃ＋Ｅｃ1(x)        ・・・（２３）
となる。
【００６８】
次にステップＳ２０３において、閾値選択部４０７は、閾値Ｔを選択する。閾値Ｔの選択においては、例えば、
Ｔ＝１２８    ・・・（２４）
と設定される。或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、
Ｔ＝ｆ（Ｃ_d） ・・・（２５）
のようにして、Ｃ_dに応じて細かく閾値Ｔを変更するようにしても良い。
【００６９】
次に、ステップＳ２０４において、量子化部４０８は、誤差加算後の画素データＩｃ'と閾値Ｔとを比較し、ドットの２値化結果Ｏｕｔ_ｃを決定する。その規則は次の通りである。すなわち、
Ｉｃ'＜Ｔのとき
Ｏｕｔ_ｃ ＝ ０                        ・・・（２６）
Ｉｃ'≧Ｔのとき          
Ｏｕｔ_ｃ ＝ ２５５                    ・・・（２７）
次に、ステップＳ２０５において、誤差演算部４０９で注目画素Ｉｃに誤差加算後の画素データＩｃ'と出力画素値Ｏｕｔ_ｃとの差分Err_cを、
Err_c(x)＝Ｉｃ'− Ｏｕｔ_ｃ          ・・・（２８）
ようにして計算する。
【００７０】
次に、ステップＳ２０６において、誤差拡散部４１０は誤差を拡散する。即ち、（４ｎ＋１）累積誤差バッファ４０２を用いて、横画素位置ｘに応じて以下の様に誤差Err_c（ｘ）の拡散処理が行われる。
Ｅc１(x+1) ← Ｅc１(x+1)＋Err_c(x)×7/16    （ｘ＜W）
Ｅc１(x-1) ← Ｅc１(x-1)＋Err_c(x)×3/16    （ｘ＞１）
Ｅc１(x)   ← Ec1_0＋Err_c(x)×5/16         （１＜ｘ＜Ｗ）
Ｅc１(x)   ← Ec1_0＋Err_c(x)×8/16         （ｘ＝１）
Ｅc１(x)   ← Ec1_0＋Err_c(x)×13/16        （ｘ＝Ｗ）
Ec１_0     ← Err_c(x)×1/16                （ｘ＜Ｗ）
Ec１_0     ← ０                            （ｘ＝Ｗ）
・・・（２９）
以上で、走査番号ｋ＝１のシアン１画素分の２値化（量子化値０，２５５）が完了する。
【００７１】
以上説明したステップＳ２０１〜Ｓ２０６の処理を、バンド内のアドレス(０,０)〜（Ｗ−１,Ｎｚｚｌ−１）まで行う（ステップＳ２０７）ことにより、ハーフトーン画像データのドット位置を決定することができる。
【００７２】
走査番号ｋ＝２では（４ｎ＋２）累積誤差バッファ４０３を、走査番号ｋ＝３では（４ｎ＋３）累積誤差バッファ４０４を、走査番号ｋ＝４では（４ｎ＋４）累積誤差バッファ４０５を用いて、上記ハーフトーン処理を行う。そして、走査番号ｋ＝５の処理では、走査番号ｋ＝１と同じ（４ｎ＋１）累積誤差バッファ４０２を、初期化しないで（全０を代入しないで）そのまま用いる。これは、走査番号ｋ＝１と走査番号ｋ＝５の印字領域が上下に隣接しているため（図１６参照）、累積誤差を隣接下の領域へ保存させるためである。もし累積誤差バッファを初期化すると、誤差が隣接の境界部で保存されなくなり、ドットの連続性が保てなくなってしまう。
【００７３】
次に、ハーフトーン処理後の２値画像データはハーフトーン画像格納バッファ１１０に格納される（ステップＳ１０７）。図１７は、走査番号ｋ＝１の走査Ｄｕｔｙをハーフトーン処理しハーフトーン画像格納バッファ格納した様子を示した図である。走査Ｄｕｔｙの画素位置に対応する（Ｎｚｚｌ）×（Ｗ）の二値画像データが格納される。
【００７４】
以上により、走査番号ｋ＝１でのハーフトーン処理が終了し、その結果、各色分の一回のヘッド動作で形成される二値画像が、各色分のハーフトーン画像格納バッファ１１０に格納されることになる。
【００７５】
次に、ハーフトーン画像格納バッファ１１０に蓄えられた、縦：Ｎｚｚｌ、横画像：Ｗのバンドデータが画像出力端子１１２より出力される（ステップＳ１０８）。
【００７６】
次に、制約情報を演算する（ステップＳ１０９）。ここでは説明を簡略化するため、４パス印字、走査番号ｋ＝１、ノズル数Ｎｚｚｌ＝１６におけるシアンの制約情報の演算についての詳細を、図１８の制約情報演算部１１１のブロック図と図１９のフローチャート図を参照しながら説明する。前述のとおり、制約情報とは、現在の走査番号ｋ＝１の次の走査番号ｋ＝２、でのハーフトーン画像のドット配置を決める上で、ドットが打たれやすいか否かの情報である。なお、現在の走査番号がｋのときは、次の走査番号はｋ＋１であ。
【００７７】
先ず、走査Ｄｕｔｙフィルタ処理部５０１は走査Ｄｕｔｙバッファ１０７内のシアン走査Ｄｕｔｙ、Ｃ_ｄに対して所定のフィルタＦ_ｍを作用させてフィルタ処理を行いＣ_ｄｆを算出する（ステップＳ３０１）。
Ｃ_ｄｆ ＝  Ｃ_ｄ＊Ｆ_ｍ        ・・・（３０）
＊：コンボリューション
図２０に、フィルタＦ_ｍによりフィルタ処理されたデータの模式図を示す。
【００７８】
本実施形態の制約情報演算部１１１は、Ｆ_ｍのサイズ（Ｍ，Ｎ）および係数を、変動量検出部２０７で検出した変動値varにより設定する。
【００７９】
例えば、フィルタサイズＭ×Ｎは、変動量検出部２０７で検出したキャリッジ速度による着弾位置変動値の偏差σ_diによってきまる。図２６のように予め、変動値var（＝σ_di）とフィルタサイズ（Ｍ，Ｎ）の関係を設定しておいてもよい。あるいは、それらの関係をルックアップテーブル（ＬＵＴ）として設定しておいてもよい。また、このテーブルは主走査方向の解像度毎に変更されるようにしてもよい。図２７に例として、Ｍ＝Ｎ＝５の正方形で係数がほぼ同心円状に並ぶ等方的荷重平均フィルタを示す。
【００８０】
このとき、フィルタサイズが大きいほど、変動に対するロバスト性は高くなるため、図２６のように、変動値varが大きいほどフィルタサイズを大きくするとよい。同様に、変動量varをキャリッジ変動量diの最大値d_maxとした場合にも、varが大きいほど、フィルタサイズを大きくすることが望ましい。この条件を満たすために、例えば、式（３１）（３２）のように、フィルタサイズ（Ｎ，Ｍ）が変動量varを変数とする単調増加関数として設定してもよい。
【００８１】
Ｍ＝αM・var＋βM   ただしαM＞0, βM＞0 （３１）
Ｎ＝αN・var＋βN   ただしαN＞0, βN＞0 （３２）
なお、キャリッジ速度変動による位置変動量が限りなく０に近い場合には、フィルタサイズを０にすると、記録装置の着弾変動がない場合の粒状性が良化する。しかしながら、画質劣化に起因する記録装置の変動はキャリッジ変動のみに限らないため、変動値var＝０のときＮ＝Ｍ＝０とすることは好ましくない。
【００８２】
さらに、変動量varをキャリッジ変動量di(i=0,…k-1)とした場合には、変動量検出部で、キャリッジ位置を検出した位置ｘによって、フィルタ形状を変化させるようにしてもよい。
【００８３】
例えば、走査の開始時で速度が安定していない箇所では、速度が安定してくる画像の中心部分よりも、変動量diも大きくなる可能性がある。その箇所においては、フィルタサイズを大きくして変動に対するロバスト性を優先し、他の部分においてはフィルタサイズを比較的小さくすることで、高画質化を優先される。
【００８４】
また、フィルタの形状はＭ＝Ｎの正方形でも、Ｍ≠Ｎのような長方形でも良い。なお、キャリッジ速度変動は主走査方向のレジストレーションズレの要因となるため、主走査方向に広がりをもつ、つまりＮ＞Ｍとなるフィルタ（Ｍ＝７、Ｎ＝５）を設定すると効果的である。この場合のフィルタＦ_ｍの例を図２８に示す。なお、図２８のフィルタは係数がほぼ同心円状に並ぶ等方的荷重平均フィルタである。
【００８５】
また、フィルタ係数は楕円の非等方フィルタであっても良いし、ローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであっても良い。フィルタ係数によりフィルタ特性に方向性を与える場合には、楕円の長軸がｘ方向となるように設定すると、前に述べた理由により主走査方向のレジストレーションズレに対してロバストなフィルタを制約情報となるため、望ましい。このとき、フィルタサイズを大きくとる方が非等方性がより表現しやすい。図２９に、楕円の長軸がｘ方向となるような、Ｎ＝Ｍ＝７の非等方性フィルタを示す。
【００８６】
次に、ハーフトーンデータフィルタ処理部５０２はＯｕｔ_ｃに対して所定のローパスフィルタＬＰＦ_ｂにてフィルタ処理を行う（ステップＳ３０２）。図２１にフィルタ処理されたデータの模式図を示す。
Ｏｕｔ_c_LPF ＝  Ｏｕｔ_c＊ＬＰＦ_ｂ        ・・・（３３）
本実施形態におけるＬＰＦ_ｂの係数も、前述のＦ_ｍと同様に、変動量検出部２０７で検出した変動値varにより設定される。ただし、ＬＰＦ_ｂはローパス特性をもつことが好ましい。また本実施形態では、Ｆ_ｍとＬＰＦ_ｂが同じとしているが、異なる係数であっても良い。
【００８７】
次に、走査Ｄｕｔｙデータシフト部５０３は、走査Ｄｕｔｙフィルタ処理部５０１のデータＣ_ｄｆを、一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけ上にシフトする（ステップＳ３０３）。図２２にシフトされたデータの模式図を示す。シフトした走査ＤｕｔｙデータをＣ’_ｄｆとすると以下のように算出される。なお、シフトされた後の下端４ノズル分は０を代入する。
【００８８】
Ｃ’_ｄｆ（ｎｘ,ｎｙ）  ＝  Ｃ_ｄｆ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（３４）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
同様に、ハーフトーンデータシフト部５０４も、データＯｕｔ_c_LPFを紙送り分上にシフトする（ステップＳ３０４）。図２３にシフトされたデータの模式図を示す。シフトしたデータをＯｕｔ’_c_LPFとすると以下のように算出される。
【００８９】
Ｏｕｔ’_ｃ_LPF（ｎｘ,ｎｙ）＝Ｏｕｔ_ｃ_LPF（ｎｘ,ｎｙ＋ＬＦ）    ・・・（３５）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
さらに、更新前制約情報データシフト部５０５も、更新前制約情報データＣ_ｒを紙送り分上にシフトする（ステップＳ３０５）。シフトした走査ＤｕｔｙデータをＣ’_rとすると以下のように算出される。
【００９０】
Ｃ’_ｒ（ｎｘ,ｎｙ）＝Ｃ_ｒ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（３６）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
上述のように、次の走査番号の制約情報演算には、相対的に紙送り量ＬＦ上方にシフトさせる。さらに、下端ＬＦノズル分は０を代入する。
【００９１】
このようにバッファデータを紙送り量ＬＦだけシフトさせる理由は、次の走査番号にて形成されるハーフトーンドット配置が記録媒体上で相対的に紙送り量ＬＦずれて形成されるからである。
【００９２】
更に、減算部５０６で、走査Ｄｕｔｙデータシフト部５０３で算出されたデータから、ハーフトーンデータシフト部５０４で算出されたデータを減算する（ステップＳ３０６）。そして、重み積算部５０７にて、減算部５０６からの減算結果に重み係数ｈ（実数）を積算する（ステップＳ３０７）。
【００９３】
次に、加算部５０８にて、重み積算部５０７にて演算されたデータと更新前制約情報データシフト部５０５にてシフトされたシアン制約情報を加算して（ステップＳ３０８）、更新後制約情報Ｃ_rとする。そして、この更新後制約情報Ｃ_ｒを、次の走査番号ｋ＝２以降（または現走査番号ｋなら、次の走査番号はｋ＋１）のハーフトーン処理の制約情報として保存しておく。
Ｃ_ｒ  ←  （−Ｏｕｔ’_ｃ_LPF＋Ｃ’_dｆ）×ｈ＋Ｃ’_ｒ      ・・・（３７）
ここで、式（３７）について説明する。式のＯｕｔ’_ｃ_LPFはハーフトーンデータフィルタ処理部５０２にてＬＰＦ_ｂを用いて、走査番号ｋのハーフトーン画像に対して低周波成分のみを取り出したデータである。式においては、−Ｏｕｔ’_ｃ_LPFと減算することで、低周波成分のみを取り出されたデータを負の値にする。この「負の値とする」効果は、次の走査番号ｋ＋１以降でドットが打たれにくくなることを意味する。すなわちこの処理は、次の走査番号ｋ＋１以降で、走査番号ｋ以前に打たれたハーフトーン画像の低周波成分が逆位相となる効果がある。
【００９４】
上述のように、−Ｏｕｔ’_ｃ_LPFは以前に配置されたドットの低周波成分が逆位相となる効果があるが、そもそも低周波成分のみを逆位相とする意味について図２４を元に述べる。
【００９５】
図２４はレジストレーションズレ（レジズレ）に対する印刷画像の変化を、高周波領域と低周波領域に分けて模式的に表した図である。まず、印刷画像の高周波領域について考えると、走査番号ｋと走査番号ｋ＋１の濃度分布が逆位相となる場合は、レジズレなしの時、濃度分布の山谷が補間されており、ドットが紙面を満遍なく埋めるため紙白部分が発生しづらい。そのため、濃度が高くなるが、例えばわずかに（図では２０μｍ）ズレただけで、互いの濃度分布が重なる傾向になり、紙白部分が見えやすく濃度が薄くなる傾向になる。すなわち、印刷画像上、高周波成分で逆位相となると、レジズレに対する濃度耐性が低くなる。しかし、高周波成分で無相関となる場合は,多少レジズレが発生しても、濃度は変わりづらく、粒状性悪化もほとんど起こらない。
【００９６】
一方、印刷画像の低周波領域においては、濃度分布が逆位相となることで、視覚上目障りな低周波成分を少なくする効果があり、さらに都合の良いことに、多少レジズレが発生しても分布上の山谷の関係がほとんど変わらないので、濃度耐性は強い。しかし、濃度分布を無相関とする場合は、レジズレが発生しても、しなくても、低周波成分が画像上に現れてしまい、粒状性が悪化してしまう。
【００９７】
以上をまとめると、印刷画像上のレジズレに対して濃度ムラ耐性が強く、かつ粒状性が良好になるためには、走査間で、
・視覚上目障りな低周波成分は逆位相にする。
・高周波成分は逆位相にしない。無相関関係にする。
ことが重要となる。
【００９８】
上記例では、走査番号ｋとｋ＋１のみについて言及したが、上記特性は任意の走査間でも成り立つ。
【００９９】
ハーフトーンデータシフト部５０４にて算出されたＯｕｔ’_ｃ_LPFを式（３７）で減算することは、低周波成分を逆位相とする効果があり、さらには、高周波成分を制約情報として考慮しないため高周波成分を無相関とする効果がある。
【０１００】
さらに、式（３７）のＣ’_dｆに注目してみることとする。式（３７）のＣ’_dｆは走査Ｄｕｔｙフィルタ処理部５０１にてＦ_ｍを用いて、走査番号ｋでのＤｕｔｙデータに対してフィルタリングしたデータである。式において、Ｃ’_dｆを加算しているが、その理由は二点ある。
【０１０１】
先ず１点目は、括弧内の平均値を０にすることで常に制約情報Ｃ_ｒを平均０に保ち、走査Ｄｕｔｙ濃度とハーフトーン処理の濃度を同じにさせるためである。
【０１０２】
なぜならば、上述の−Ｏｕｔ’_LPFで負の値になったデータのみを制約情報として扱うと、式（２２）のＩｃがＣ_ｄよりも小さくなってしまうため、ハーフトーン処理におけるドットの数が少なくなってしまうからである。誤差拡散法は入力濃度と出力濃度を常に同じにするよう動作するため,Ｃ_ｒは常に平均０に保たなければならない。都合の良いことに、Ｃ’_dｆはＯｕｔ’_ｃ_LPFと同じ濃度のため、Ｃ’_dｆを加算することで,Ｃ_ｒは常に平均０を保つことができる。
【０１０３】
また２点目の理由として、出力画像の空間周波数特性制御がある。
【０１０４】
式（３７）の括弧内の平均値は０でなければならないのは上述のとおりだが、Ｏｕｔ’_ｃ_LPFだけにＬＰＦ_ｂをかけると、括弧内のＯｕｔ’_ｃ_LPFとＣ’_dｆが空間周波数的に異ってしまうためエッジ強調が発生してしまう。言い換えると、Ｏｕｔ_ｃだけぼかし処理を行い、Ｃ_dにぼかし処理を行なわないで、減算をすると、アンシャープマスキングと同等の処理となり、エッジ強調が起こるのである。そこで、Ｃ_dにも、Ｏｕｔ_ｃと同じフィルタをかければエッジ強調抑制が可能となる。
【０１０５】
ただし、普通紙や、マット紙などの非コート紙が記録媒体の場合、画像の輪郭がボケる傾向があるため、必ずしも双方に同じ処理を実施する必要はなく、たとえば、意図的にエッジ強調を起こさせるように、Ｆ_ｍの広がり度合いを狭くしたりしてもよい。
【０１０６】
さらに、ｈにて制約情報の強度を調整できる。たとえば、ｈ＝１．０のときは、フィルタにて演算された制約情報をそのまま出力でき、ｈ＝０．０のときは、制約情報を演算しないのと等価な出力が得られる。なお、括弧内は平均０になっているため、ｈにどのような値を入れても、平均値０は保たれる。
【０１０７】
以上でステップＳ１０９における制約情報演算が終了する。
【０１０８】
次に、制約情報演算部１１１は、演算結果で制約情報バッファ１０９を更新する（ステップＳ１１０）。この制約情報は、次の走査番号以降（現走査番号がｋならば次の走査番号はｋ＋１）のドット配置を決定するための情報として保持される。
【０１０９】
ここで、制約情報バッファ１０９の更新の意味について、図５の領域１を参照しながら詳しく述べる。本実施形態では、走査番号ｋ＝２におけるハーフトーン処理は、走査番号ｋ＝１において形成された領域１のドットパターンの低周波成分を逆位相にする必要がある。そのため、式（３０）〜（３７）で説明したように、走査番号ｋ＝１におけるフィルタ処理結果等を一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけシフトすることにより、走査番号ｋ＝２の制約情報を作成するのは上述のとおりである。
【０１１０】
しかし、式（３０）〜（３７）は、走査番号ｋ＝１、２の関係における「低周波成分を逆位相にする」ことに限られるものではない。例えば、走査番号ｋ＝３におけるハーフトーン処理では、走査番号ｋ＝１、２において形成された領域１のトータルドットパターンに対して低周波成分を逆位相にするのである。なぜならば、式（３０）〜（３７）では走査番号が１インクリメントされると、一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４ずつシフトされながら常に制約情報バッファが保持されつつ、更新が繰り返されるからである。
【０１１１】
同様に、走査番号ｋ＝４におけるハーフトーン処理では、走査番号ｋ＝１、２、３において形成されたトータルのドットパターンに対して低周波成分を逆位相にする効果がある。
【０１１２】
すなわち言い換えると、本実施形態では、記録媒体上の同一領域において、既に記録されたトータルドットパターンの低周波成分を常に逆位相にするよう走査ごとのドットパターンが形成されるのである。その結果、レジストレーションズレの発生有無に関わらず良好な粒状性を確保し、さらに、レジストレーションズレによる濃度ムラを低減することが可能となるのである。
【０１１３】
次に、ハーフトーン画像データを受けたプリンタ２では、インク色及び吐出量選択部２０６が転送された画像データに適合するインク色を選択し、ヘッド制御部２０４が記録ヘッド２０１による印字動作を開始する。そして、印字動作の開始と共に、変動量検出部２０７は、変動量検出を開始する（ステップＳ１１１）。
【０１１４】
印字動作は、記録ヘッド２０１が記録媒体に対し、左から、右に移動しながら一定の駆動間隔で各ノズルを駆動し記録媒体上に画像を記録する主走査を一回と、該主走査が終了すると、主走査と垂直方向の走査である副走査が１回行なわれる。変動量検出では、前述したように、記録ヘッドの主走査方向の移動速度変動量が検出される。検出された変動量は、次の走査で記録するハーフトーン画像データを決定するために、制約情報演算部１１１に送られる。
【０１１５】
次に、全ての走査が終了したかどうかの判定を行う（ステップＳ１１２）。終了した場合は、一連の画像形成処理が完了し、終了していない場合はステップＳ１０３に戻る。以上により、処理の全てが終了する。
【０１１６】
以上、第１実施形態の処理について説明した。第１実施形態では、同一色について、式（２２）に示すように、入力データＣ_ｄに、記録媒体上の同一箇所に既に形成されたドットパターンの低周波成分を取り出した制約情報を反映することで、低周波成分を逆位相、高周波成分を無相関にした。
【０１１７】
しかしながら、本実施形態が、「低周波成分が逆位相」、「高周波成分が無相関」を実現する唯一の手法ではない。他の手法として、低周波成分を取り出した制約情報を、例えば閾値や、量子化誤差に反映させても良い。また、本実施形態ではハーフトーン処理に誤差拡散法を用いたが、平均誤差最小法を使用してもよい。
【０１１８】
なお、上記実施形態では、ハーフトーン処理部１０８において２値化演算を行ったが、各記録素子がＮ値の多階調記録を行う場合は、ハーフトーン処理部１０８において、Ｎ値化処理が行われることは明らかである。また、このことは、以下の実施形態にも当てはまる。
【０１１９】
以上のように、第１実施形態によれば、主走査毎にＮ値化演算を実施する記録方式において、記録ヘッドの移動スピードの変動量が、記録媒体上の同一領域における以降の主走査でのＮ値化演算に反映される。そのため、記録装置および記録媒体の変動によるレジストレーションズレを低減し、記録媒体全面で高画質を実現することが可能となる。
【０１２０】
＜第２実施形態＞
次に、第２実施形態について説明する。第１実施形態では、記録ヘッドと記録媒体との間の物理的な変動量として、記録ヘッドの速度変動量を用いたが、第２実施形態では、記録媒体の搬送変動量を用いる。すなわち、第２実施形態では、変動量検出部２０７において検出される変動量を、記録媒体の搬送変動量とする。制約情報演算部１１１と変動量検出部２０７以外の動作は第１実施形態と同様である。
【０１２１】
第２実施形態において、変動量検出部２０７では、記録ヘッド２０１が記録媒体上に画像を記録する主走査を１回終了した後の、主走査に対して垂直方向の走査である副走査における、記録媒体の搬送量の変動を検出する。
【０１２２】
検出に用いるセンサとして、例えば、特許文献５（特開２００１−１８００５７号公報）に記載の機構のように、搬送ローラの基準位置と搬送ローラの回転角度を測定するセンサ等があげられるが、これに限れられるものではない。本実施形態では、上記センサにより、１回の搬送動作（紙送り）における基準位置からのズレ量d_lfを検出するものとする。
【０１２３】
次に、第２実施形態による制約情報演算（ステップＳ１０９）について説明する。ここでは説明を簡略化するため、４パス印字、走査番号ｋ＝１、ノズル数Ｎｚｚｌ＝１６におけるシアンの制約情報の演算についての詳細を、図１８の制約情報演算部１１１のブロック図と図１９のフローチャート図を参照しながら説明する。前述のとおり、制約情報とは、現在の走査番号ｋ＝１の次の走査番号ｋ＝２、でのハーフトーン画像のドット配置を決める上で、ドットが打たれやすいか否かの情報である（なお、現在の走査番号がｋのときは、次の走査番号はｋ＋１である）。
【０１２４】
先ず、走査Ｄｕｔｙフィルタ処理部５０１は走査Ｄｕｔｙバッファ１０７内のシアン走査Ｄｕｔｙ、Ｃ_ｄに対して所定のフィルタＦ_ｍを作用させて、フィルタ処理を行いＣ_ｄｆを算出する（ステップＳ３０１）。図２０にフィルタ処理されたデータの模式図を示す。
Ｃ_ｄｆ ＝  Ｃ_ｄ＊Ｆ_ｍ        ・・・（３８）
＊：コンボリューション
第２実施形態では、Ｆ_ｍのサイズ（Ｍ，Ｎ）および係数を、変動量検出部２０７で検出した変動値varにより設定する。
【０１２５】
例えば、フィルタサイズは、変動量検出部２０７で検出した記録媒体の搬送変動量d_lfによってきまる。図２６のように予め、変動値var(=d_lf)とフィルタサイズ（Ｍ，Ｎ）の関係を設定しておいてもよい。このとき、フィルタサイズが大きいほど、変動に対するロバスト性は高くなるため、図２６のように、変動値varが大きいほどフィルタサイズを大きくするとよい。また、ＬＵＴとして設定してもよい。さらに、副走査方向の解像度毎、あるいは、マルチパス印字のパス毎にLUTを設定してもよい。図３０に例として、Ｍ＝Ｎ＝３の正方形で係数がほぼ同心円状に並ぶ等方的荷重平均フィルタＦ_ｍを示す。
【０１２６】
また、記録媒体の搬送変動量は副走査方向のレジストレーションズレの要因となるため、副走査方向に広がりをもつ、つまりＭ＞Ｎ（例えばＭ＝５，Ｎ＝７）となるフィルタを設定すると効果的である。この場合のフィルタＦ_ｍの例を図３１に示す。なお、図３１のフィルタは係数がほぼ同心円状に並ぶ等方的荷重平均フィルタである。
【０１２７】
また、フィルタ係数は楕円の非等方フィルタであっても良いし、ローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであっても良い。フィルタ係数によりフィルタ特性に方向性を与える場合には、楕円の長軸がy方向となるように設定すると、前に述べた理由により、副走査方向のレジストレーションズレに対してロバストなフィルタを制約情報となるため、望ましい。このとき、フィルタサイズを大きくとる方が、非等方性がより表現しやすい。図３２に楕円の長軸がｙ方向となるような、Ｎ＝Ｍ＝９の非等方性フィルタを示す。
【０１２８】
次に、ハーフトーンデータフィルタ処理部５０２はＯｕｔ_ｃに対して所定のローパスフィルタＬＰＦ_ｂにてフィルタ処理を行う。（ステップＳ３０２）図２１にフィルタ処理されたデータの模式図を示す。
Ｏｕｔ_c_LPF ＝  Ｏｕｔ_c＊ＬＰＦ_ｂ        ・・・（３９）
第２実施形態におけるＬＰＦ_ｂの係数も、前述のＦ_ｍと同様に、変動量検出部２０７で検出した変動値varにより設定する。ただし、ＬＰＦ_ｂはローパス特性をもつことが好ましい。また本実施形態では、Ｆ_ｍとＬＰＦ_ｂが同じとしているが、異なる係数であっても良い。
【０１２９】
次に、走査Ｄｕｔｙデータシフト部５０３は、走査Ｄｕｔｙフィルタ処理部５０１のデータＣ_ｄｆを、一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけ上にシフトする（ステップＳ３０３）。図２２にシフトされたデータの模式図を示す。シフトした走査ＤｕｔｙデータをＣ’_ｄｆとすると以下のように算出される。なお、シフトされた後の下端４ノズル分は０を代入する。
Ｃ’_ｄｆ（ｎｘ,ｎｙ）  ＝  Ｃ_ｄｆ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（４０）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
同様に、ハーフトーンデータシフト部５０４も、データＯｕｔ_c_LPFを紙送り分上にシフトする（ステップＳ３０４）。図２３にシフトされたデータの模式図を示す。シフトしたデータをＯｕｔ’_c_LPFとすると以下のように算出される。
Ｏｕｔ’_ｃ_LPF（ｎｘ,ｎｙ）＝Ｏｕｔ_ｃ_LPF（ｎｘ,ｎｙ＋ＬＦ）    ・・・（４１）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
さらに、更新前制約情報データシフト部５０５も、更新前制約情報データＣ_ｒを紙送り分上にシフトする（ステップＳ３０５）。シフトした走査ＤｕｔｙデータをＣ’_rとすると以下のように算出される。
Ｃ’_ｒ（ｎｘ,ｎｙ）＝Ｃ_ｒ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（４２）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
上述のように、次の走査番号の制約情報演算には、相対的に紙送り量ＬＦ上方にシフトさせる。さらに、下端ＬＦノズル分は０を代入する。
【０１３０】
このようにバッファデータを紙送り量ＬＦだけシフトさせる理由は、次の走査番号にて形成されるハーフトーンドット配置が記録媒体上で相対的に紙送り量ＬＦずれて形成されるからである。
【０１３１】
更に、減算部５０６は、走査Ｄｕｔｙデータシフト部５０３で算出されたデータから、ハーフトーンデータシフト部５０４で算出されたデータを減算する（ステップＳ３０６）。そして、重み積算部５０７は、減算部５０６の減算結果に重み係数ｈ（実数）を積算する（ステップＳ３０７）。
【０１３２】
次に加算部５０８にて、重み積算部５０７にて演算されたデータと更新前制約情報データシフト部５０５にてシフトされたシアン制約情報を加算して更新後制約情報Ｃ_rとする（ステップＳ３０８）。こうして得られた更新後制約情報Ｃ_rは、次の走査番号ｋ＝２以降（または現走査番号ｋなら、次の走査番号はｋ＋１）のハーフトーン処理の制約情報として保存しておく。
Ｃ_ｒ  ←  （−Ｏｕｔ’_ｃ_LPF  ＋  Ｃ’_dｆ）×ｈ＋Ｃ’_ｒ      ・・・（４３）
以上でステップＳ１０９における制約情報演算が終了する。
【０１３３】
以上のように、第２実施形態によれば、センサで検出した記録媒体搬送量の変動が、記録媒体上の同一領域における以降の主走査でのＮ値化演算に反映される。これにより、記録装置および記録媒体の間の変動、特に記録媒体搬送変動によるレジストレーションズレが低減され、記録媒体全面で高画質を実現することができる
＜第３実施形態＞
以下、本発明に掛かる第３実施形態について説明する。第１実施形態では、記録ヘッドの移動速度の変動を、第２実施形態では記録媒体の搬送量の変動をそれぞれＮ値化演算に反映した。第３実施形態では、変動量検出部２０７において検出する変動量を、記録ヘッドの移動速度の変動量と、記録媒体の搬送変動量の両方とする。制約情報演算部１１１と変動量検出部２０７以外の動作は第１実施形態と同様である。
【０１３４】
第３実施形態において、変動量検出部２０７は、記録ヘッド２０１の主走査方向の速度変動による位置変動量と、記録ヘッド２０１が記録媒体上に画像を記録する主走査を１回終了した後の記録媒体の副走査方向への搬送の変動量を検出する。
【０１３５】
第３実施形態での変動量var(cr,lf)は、記録ヘッド２０１の移動速度の変動量と記録媒体の搬送変動量の対である。前述したように、記録ヘッド２０１の速度変動量としては、キャリッジによる位置変動の偏差σ_cr、或いはその最大値d_cr_MAX、所定期間毎に検出したズレ量d_cr(i)が挙げられる。また、記録媒体の搬送変動量としては副走査方向の搬送変動量ｄ_lf(j)が挙げられる。但し、変動量はこれらに限られるものではない。
【０１３６】
第３実施形態での制約情報演算について説明する（ステップＳ１０９）。ここでは説明を簡略化するため、４パス印字、走査番号ｋ＝１、ノズル数Ｎｚｚｌ＝１６におけるシアンの制約情報の演算についての詳細を、図１８の制約情報演算部１１１のブロック図と図１９のフローチャート図を参照しながら説明する。前述のとおり、制約情報とは、現在の走査番号ｋ＝１の次の走査番号ｋ＝２、でのハーフトーン画像のドット配置を決める上で、ドットが打たれやすいか否かの情報である（なお、現在の走査番号がｋのときは、次の走査番号はｋ＋１である）。
【０１３７】
先ず、走査Ｄｕｔｙフィルタ処理部５０１は走査Ｄｕｔｙバッファ１０７内のシアン走査Ｄｕｔｙ、Ｃ_ｄに対して所定のフィルタＦ_ｍを作用させてフィルタ処理を行いＣ_ｄｆを算出する（ステップＳ３０１）。図２０にフィルタ処理されたデータの模式図を示す。
Ｃ_ｄｆ ＝  Ｃ_ｄ＊Ｆ_ｍ        ・・・（４４）
＊：コンボリューション
本実施形態ではＦ_ｍのサイズ（Ｍ，Ｎ）および係数を、変動量検出部２０７で検出した変動値var(cr,lf)により設定する。
【０１３８】
例えば、フィルタサイズは、キャリッジ速度変動による位置変動の偏差σ_crを変動量、副走査方向の記録媒体の搬送での変動量ｄ_lf(j)によって設定する。より具体的には、σ_cr、d_lf(j)の大小関係を式（４５）（４６）を満たすように設定する。
σ_cr ＞ d_lf(j)のとき：    Ｎ＞Ｍ        （４５）
σ_cr ≦ d_lf(j)のとき：    Ｎ≦Ｍ        （４６）
上記のようにフィルタサイズを決定するのは、記録媒体の搬送量変動は副走査方向のレジストレーションズレの要因となり、キャリッジ速度変動による位置変動は主走査方向のレジストレーションズレの要因となるからである。変動量の大きい方向のフィルタサイズを大きくし、メカ変動に対するロバスト性を高くすることで画質劣化を低減することが出きる。なお、変動量var(cr,lf)＝(σ_cr, d_lf(j))とフィルタサイズ（Ｍ，Ｎ）の関係を設定しておいてもよい。また、両変数の関係を多次元のＬＵＴとして設定しておく方法も挙げられる。さらには、主走査方向の解像度、副走査方向の解像度、マルチパス印字でのパス数に毎にＬＵＴを設定してもより。例として、図３３に、Ｍ＝５、Ｎ＝３の正方形で係数がほぼ同心円状に並ぶ等方的荷重平均フィルタＦ_ｍを示す。
【０１３９】
さらに、第４実施形態では、フィルタＦ_ｍとして式（４７）のような２次元のガウシアンフィルタを用いて、変動量var(cr,lf)によるフィルタ係数の設定を行う。
【０１４０】
【数１】
2010064277.tif 000003
…（４７）
【０１４１】
ただし、Ｆ_ｍ＝Ｆ'_ｍ／Sum_m  （４８）
Sum_mはＦ'_ｍの係数の合計値である。
また、式（４６）において、（σx,σy）は、２次元正規分布の標準偏差、ρはx,yの相関係数である。
【０１４２】
第３実施形態では、標準偏差（σx,σy）を変動量var(cr,lf)＝(σ_cr,d_lf(j))との関係が式（４９）（５０）を満たすように設定するとよい。
σ_cr ＞ d_lf(j)のとき：  σx＞σy    （４９）
σ_cr ≦ d_lf(j)のとき：  σx≦σy    （５０）
例えば、σx＝1.0、σy＝2.5、ρ＝0、Ｍ＝Ｎ＝７とした場合のフィルタＦ_ｍを図３４に示す。図３４が示すようにσx≦σyを満たす場合には、フィルタ係数が非等方的な特性をもつ。このフィルタを用いることで副走査方向のレジストレーションズレに対してロバスト性を高くすることが可能である。また、標準偏差（σx,σy）と、変動量var(cr,lf)＝(σ_cr,d_lf(j))との関係を予めＬＵＴ等により設定しておくとよい。
【０１４３】
次に、ハーフトーンデータフィルタ処理部５０２はＯｕｔ_ｃに対して所定のローパスフィルタＬＰＦ_ｂにてフィルタ処理を行う（ステップＳ３０２）。図２１にフィルタ処理されたデータの模式図を示す。
Ｏｕｔ_c_LPF ＝  Ｏｕｔ_c＊ＬＰＦ_ｂ        ・・・（５１）
第３実施形態におけるＬＰＦ_ｂの係数も、前述のＦ_ｍと同様に、変動量検出部２０７で検出した変動値var(cr,lf)により設定する。ただし、ＬＰＦ_ｂはローパス特性をもつことが好ましい。また本実施形態では、Ｆ_ｍとＬＰＦ_ｂが同じとしているが、異なる係数であっても良い。
【０１４４】
次に、走査Ｄｕｔｙデータシフト部５０３は、走査Ｄｕｔｙフィルタ処理部５０１のデータＣ_ｄｆを、一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけ上にシフトする（ステップＳ３０３）。図２２にシフトされたデータの模式図を示す。シフトした走査ＤｕｔｙデータをＣ’_ｄｆとすると以下のように算出される。なお、シフトされた後の下端４ノズル分は０を代入する。
Ｃ’_ｄｆ（ｎｘ,ｎｙ）  ＝  Ｃ_ｄｆ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（５２）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
同様に、ハーフトーンデータシフト部５０４も、データＯｕｔ_c_LPFを紙送り分上にシフトする（ステップＳ３０４）。図２３にシフトされたデータの模式図を示す。シフトしたデータをＯｕｔ’_c_LPFとすると以下のように算出される。
Ｏｕｔ’_ｃ_LPF（ｎｘ,ｎｙ）＝Ｏｕｔ_ｃ_LPF（ｎｘ,ｎｙ＋ＬＦ）    ・・・（５３）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
さらに、更新前制約情報データシフト部５０５も、更新前制約情報データＣ_ｒを紙送り分上にシフトする（ステップＳ３０５）。シフトした走査ＤｕｔｙデータをＣ’_rとすると以下のように算出される。
Ｃ’_ｒ（ｎｘ,ｎｙ）＝Ｃ_ｒ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（５４）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
上述のように、次の走査番号の制約情報演算には、相対的に紙送り量ＬＦ上方にシフトさせる。さらに、下端ＬＦノズル分は０を代入する。
【０１４５】
このようにバッファデータを紙送り量ＬＦだけシフトさせる理由は、次の走査番号にて形成されるハーフトーンドット配置が記録媒体上で相対的に紙送り量ＬＦずれて形成されるからである。
【０１４６】
更に、減算部５０６は、走査Ｄｕｔｙデータシフト部５０３で算出されたデータから、ハーフトーンデータシフト部５０４で算出されたデータを減算する（ステップＳ３０６）。そして、重み積算部５０７は、減算部５０６空の減算結果に重み係数ｈ（実数）を積算する（ステップＳ３０７）。
【０１４７】
次に加算部５０８は、重み積算部５０７にて演算されたデータと、更新前制約情報データシフト部５０５にてシフトされたシアン制約情報を加算し（ステップＳ３０８）、更新後制約情報Ｃ_rを出力する。こうして得られた更新後制約情報Ｃ_ｒは、次の走査番号ｋ＝２以降（または現走査番号ｋなら、次の走査番号はｋ＋１）のハーフトーン処理の制約情報として保存される。
【０１４８】
次に、演算結果で制約情報バッファ１０９を更新する（ステップＳ１１０）。この制約情報は、次の走査番号以降（現走査番号がｋならば次の走査番号はｋ＋１）のドット配置を決定するための情報として保持される。
【０１４９】
以上のように、第３実施形態によれば、センサで検出したキャリッジの速度変動による位置変動量および記録媒体搬送量の変動を、記録媒体上の同一領域における以降の主走査でのＮ値化演算に反映することが可能となる。このため、記録装置の変動、また特徴の異なるレジストレーションズレを発生させる複数の変動が起こる場合にも、記録媒体全面で高画質を実現することができる
＜第４実施形態＞
以下、本発明に掛かる第４実施形態について説明する。第４実施形態では、変動量検出部２０７において検出する変動量を、走査毎に記録媒体の表面が変位するコックリングによる、記録ヘッドと記録媒体の距離の変動量とする。制約情報演算部１１１と変動量検出部２０７以外の動作は第１実施形態と同様である。
【０１５０】
記録ヘッドと記録媒体の距離の検出方法としては、例えば特許文献３に提示されているように、センサが記録媒体にレーザ光を照射しその反射光を検出して、紙間を測る方法などが挙げられるが、もちろんこれに限らない。
【０１５１】
第４実施形態において、変動量検出部２０７において検出する変動量は、記録ヘッドと記録媒体の距離である。例えば図３５のように、走査方向における所定の位置xk(k=0,1,..K)毎に、記録ヘッド３５０１と記録媒体３５０２の距離d_p(xk)をセンサ３５０３により検出する。なお、コックリングなどが発生してない場合の、記録ヘッド３５０１と記録媒体３５０２表面の距離d_p0は印字走査を開始する前に予め測定しておくものとする。
【０１５２】
なお、記録ヘッドと記録媒体との間の距離を検出する間隔|xk-xk-1|は、紙を吸引するプラテンの設置幅よりも細かい間隔で検出できるように設定した方が好ましい。
【０１５３】
また、図３５ではセンサの位置をキャリッジ走査方向を図の左から右とした時に、ヘッドの進行方向側としたが、これに限らない。
【０１５４】
往復印字をする場合には、図４０に示されるように、図３５に示したセンサ３５０３と逆側にもセンサを取り付けて、記録ヘッドと記録媒体との距離が検出される。また、図４０に示すように、キャリッジ走査方向を図の左から右とした場合に、センサ４００１、右から左に走査するときに、センサ４００２を使用するように設定してもよい。
【０１５５】
第４実施形態での、ステップＳ１０９における制約情報演算部１１１の処理について説明する。ここでは説明を簡略化するため、４パス印字、走査番号ｋ＝１、ノズル数Ｎｚｚｌ＝１６におけるシアンの制約情報の演算についての詳細を、図１８の制約情報演算部１１１のブロック図と図１９のフローチャート図を参照しながら説明する。前述のとおり、制約情報とは、現在の走査番号ｋ＝１の次の走査番号ｋ＝２、でのハーフトーン画像のドット配置を決める上で、ドットが打たれやすいか否かの情報である（なお、現在の走査番号がｋのときは、次の走査番号はｋ＋１である）。
【０１５６】
先ず、走査Ｄｕｔｙフィルタ処理部５０１は走査Ｄｕｔｙバッファ１０７内のシアン走査Ｄｕｔｙ、Ｃ_ｄに対して所定のフィルタＦ_ｍを作用させてフィルタ処理を行いＣ_ｄｆを算出する（ステップＳ３０１）。図２０にフィルタ処理されたデータの模式図を示す.
Ｃ_ｄｆ ＝  Ｃ_ｄ＊Ｆ_ｍ        ・・・（５５）
＊：コンボリューション
第４実施形態におけるフィルタＦ_ｍは、図３０に示すようにフィルタサイズが３×３正方形で、係数がほぼ同心円に並ぶ等方的加重平均フィルタとして説明するが、この形態に限るものではない。例えば、フィルタサイズは５×５，７×７，９×９のような正方形でも、３×５，５×７，５×９のような長方形でも良いし、フィルタ係数が楕円である非等方フィルタであっても良い。また、ローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであっても良い。
【０１５７】
次に、ハーフトーンデータフィルタ処理部５０２はＯｕｔ_ｃに対して所定のローパスフィルタＬＰＦ_ｂにてフィルタ処理を行う（ステップＳ３０２）。図２１にフィルタ処理されたデータの模式図を示す.
Ｏｕｔ_c_LPF ＝  Ｏｕｔ_c＊ＬＰＦ_ｂ        ・・・（５６）
第４実施形態におけるＬＰＦ_ｂの係数も、前述のＦ_ｍと同様に、図３０に示すようにフィルタサイズが３×３正方形で、係数がほぼ同心円に並ぶ等方的加重平均フィルタとして説明するが、この形態に限るものではない。ただし、ＬＰＦ_ｂはローパス特性をもつことが好ましい。また本実施形態では、Ｆ_ｍとＬＰＦ_ｂが同じとしているが、異なる係数であっても良い。
【０１５８】
次に、走査Ｄｕｔｙデータシフト部５０３は、走査Ｄｕｔｙフィルタ処理部５０１のデータＣ_ｄｆを、一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけ上にシフトする（ステップＳ３０３）。図２２にシフトされたデータの模式図を示す。シフトした走査ＤｕｔｙデータをＣ’_ｄｆとすると以下のように算出される。なお、シフトされた後の下端４ノズル分は０を代入する。
Ｃ’_ｄｆ（ｎｘ,ｎｙ）  ＝  Ｃ_ｄｆ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（５７）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
同様に、ハーフトーンデータシフト部５０４も、データＯｕｔ_c_LPFを紙送り分上にシフトする（ステップＳ３０４）。図２３にシフトされたデータの模式図を示す。シフトしたデータをＯｕｔ’_c_LPFとすると以下のように算出される。
Ｏｕｔ’_ｃ_LPF（ｎｘ,ｎｙ）＝Ｏｕｔ_ｃ_LPF（ｎｘ,ｎｙ＋ＬＦ）    ・・・（５８）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
さらに、更新前制約情報データシフト部５０５も、更新前制約情報データＣ_ｒを紙送り分上にシフトする（ステップＳ３０５）。シフトした走査ＤｕｔｙデータをＣ’_rとすると以下のように算出される。
Ｃ’_ｒ（ｎｘ,ｎｙ）＝Ｃ_ｒ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（５９）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
上述のように、次の走査番号の制約情報演算には、相対的に紙送り量ＬＦ上方にシフトさせる。さらに、下端ＬＦノズル分は０を代入する。
【０１５９】
このようにバッファデータを紙送り量ＬＦだけシフトさせる理由は、次の走査番号にて形成されるハーフトーンドット配置が記録媒体上で相対的に紙送り量ＬＦずれて形成されるからである。
【０１６０】
更に、減算部５０６は、走査Ｄｕｔｙデータシフト部５０３で算出されたデータから、ハーフトーンデータシフト部５０４で算出されたデータを減算する（ステップＳ３０６）。そして、重み積算部５０７は、減算部５０６による減算結果に重み係数ｈ（実数）を積算する（ステップＳ３０７）。
【０１６１】
次に、加算部５０８は、重み積算部５０７にて演算されたデータと更新前制約情報データシフト部５０５にてシフトされたシアン制約情報を加算し（ステップＳ３０８）、更新後制約情報Ｃ_rを得る。こうして得られた更新後制約情報Ｃ_ｒは、次の走査番号ｋ＝２以降（または現走査番号ｋなら、次の走査番号はｋ＋１）のハーフトーン処理の制約情報として保存しておく。
Ｃ_ｒ  ←  （−Ｏｕｔ’_ｃ_LPF  ＋  Ｃ’_dｆ）×ｈ＋Ｃ’_ｒ      ・・・（６０）
式（５９）おけるｈは制約情報の強度を調整する変数である。たとえば、ｈ＝１．０のときは、フィルタにて演算された制約情報をそのまま出力でき、ｈ＝０．０のときは、制約情報を演算しないのと等価な出力が得られる。
【０１６２】
第４実施形態では、変動量検出部２０７で検出した変動値d_p(xk)により、式（５９）における変数ｈを設定する。
【０１６３】
図３６に示すように、コックリングの現象は、インクの浸透、膨潤により、用紙が主走査方向に浪を打つ現象である。つまり、コックリングにより、山部３６０１でドットが密になり、谷部３６０２でドットは素になる。
【０１６４】
この理由について、図３７、図３８を用いて説明する。図３７において、記録ヘッド３７０１のノズルより記録媒体３７０２に吐出されたインクは、コックリングが発生したしていない場合には３７０３の位置に着弾する。しかし、図に示すようにコックリングが発生している場合には、位置３７０４に着弾する。また、図３８には図３７の場合と走査方向が逆であるときの、着弾位置ずれを示している。記録ヘッド３８０１のノズルより記録媒体３８０２に吐出されたインクは、コックリングが発生したしていない場合には３８０３の位置に着弾する。しかし、図に示すようにコックリングが発生している場合には、位置３８０４に着弾する。図３７の場合と同様に、山部に近い箇所にドットが打たれやすくなる。このように、往復の走査を繰り返すと、コックリングの影響により、山部３６０１でドットが密になり、谷部３６０２でドットは素になる。
【０１６５】
位置xkにおける変動値d_p(xk)が小さい場合、或いは、基準値d_p0との差Δd=|d_p- d_p(xk)|が大きい場合には、位置xkにおける記録媒体の状態は、図３６での山部３６０１となる。したがって、このような場合には、ドットを打たれにくくするためにｈを大きくする。
【０１６６】
一方、変動値d_p(xk)が大きい場合、あるいは、基準値d_p0との差Δd=|d_p- d_p(xk)|が小さいときには、位置xkにおける記録媒体の状態は、図３６での谷部３６０２となる。したがって、このような場合には、ドットを打たれやすくするためにｈを小さくする。
【０１６７】
つまり、変動値d_p(xi)(i=0,1,…,k,…K)と基準値d_p0との差Δd=|d_p- d_p(xi)|と強度調整変数ｈの関係を、例えば、図３９のように設定する。このように設定することで、コックリングによる紙間の変動に対してロバストな制約情報を設定することが可能である。ただしｈ＝０.０〜１.０の値をとる。なお、変動値d_pと強度調整変数ｈの関係をＬＵＴで予め設定しておいてもよい。
【０１６８】
以上で、第４実施形態によるステップＳ１０９における制約情報演算が終了する。
【０１６９】
以上のように、第４実施形態によれば、センサで検出した記録ヘッドと記録媒体の距離の変動量を、記録媒体上の同一領域における以降の主走査でのＮ値化演算に反映することが可能となる。このため、記録装置および記録媒体の変動、特にコックリングによるレジストレーションズレを低減し、記録媒体全面で高画質を実現することができる。
【０１７０】
＜第５実施形態＞
以下、本発明に掛かる第５実施形態について説明する。
【０１７１】
第５実施形態では、変動量検出部２０７において、記録ヘッドの傾きを検出する。制約情報演算部１１１と変動量検出部２０７以外の動作は第１実施形態と同様である。
【０１７２】
変動量検出部２０７においては、記録ヘッドの傾きを検出する。図４１は記録ヘッド４１０１をノズルが配置されている面を下にしてヘッド上部から見た図である。第５実施形態ではセンサ４１０２およびセンサ４１０３で、記録ヘッドの所定の点Ａ（４１０４）のセンサからの距離(dx_a,dy_a)を測定する。なお、記録ヘッドの傾きが発生してない状況での各センサからの距離(dx0_a,dy0_a)は予め測定しておく。各センサからの距離(dx_a,dy_a)および基準距離(dx0_a,dy0_a)より、記録ヘッドのｘｙ方向の基準位置からの傾き量(Δdx_a,Δdy_a)が算出される（図４２）。なお図４２において、４２０２で示す点線は傾きがない場合の記録ヘッドの位置である。同様に記録ヘッドの所定の点Ｂ（４１０７）についても、センサ４１０５およびセンサ４１０６を用いて距離(dx_b,dy_b)を測定し、記録ヘッドのｘｙ方向の基準位置からの傾き量(Δdx_b,Δdy_b)を算出する。なお、傾き量(Δdx_a,Δdy_a)、(Δdx_b,Δdy_b)は以下の式（６１）〜（６４）で設定される値である。
【０１７３】
Δdx_a=|dx0_a-dx_a|    （６１）
Δdy_a=|dx0_a-dy_a|    （６２）
Δdx_b=|dx0_b-dx_b|    （６３）
Δdy_b=|dy0_b-dy_b|    （６４）
検出は、各記録走査の開始時、あるいは走査後（次の走査開始前）に記録ヘッドの待機場所において行う。検出を行う場所については、図４１のような距離センサを設置できる場所であればよく、図示の形態に限られるものではない。
【０１７４】
あるいは、図４３に示すように記録媒体と垂直な方向をｚ方向としてｚ方向の傾きを検出してもよい。ｚ方向の記録ヘッドの傾きについては、例えば図４３に示すように、記録ヘッドの手前側（紙の搬送方向（ｙ））と奥側の２箇所について、センサからの距離を検出し、Δd_ｚ＝d_zb-d_zfを変動量として用いてもよい。検出のタイミングは、前述したように、１回の走査開始時、または走査後（次の走査開始前）に記録ヘッドの待機場所において行う。検出を行う場所についても、距離センサを設置できる場所であればよい。
【０１７５】
次に、第５実施形態における、制約情報演算部１１１によるステップＳ１０９の処理について説明する。ここでは説明を簡略化するため、４パス印字、走査番号ｋ＝１、ノズル数Ｎｚｚｌ＝１６におけるシアンの制約情報の演算についての詳細を、図１８の制約情報演算部１１１のブロック図と図１９のフローチャートを参照しながら説明する。前述のとおり、制約情報とは、現在の走査番号ｋ＝１の次の走査番号ｋ＝２、でのハーフトーン画像のドット配置を決める上で、ドットが打たれやすいか否かの情報である（なお、現在の走査番号がｋのときは、次の走査番号はｋ＋１である）。
【０１７６】
先ず、走査Ｄｕｔｙフィルタ処理部５０１は走査Ｄｕｔｙバッファ１０７内のシアン走査Ｄｕｔｙ、Ｃ_ｄに対して所定のフィルタＦ_ｍを作用させてフィルタ処理を行いＣ_ｄｆを算出する（ステップＳ３０１）。図２０にフィルタ処理されたデータの模式図を示す。
【０１７７】
Ｃ_ｄｆ ＝  Ｃ_ｄ＊Ｆ_ｍ        ・・・（６５）
＊：コンボリューション
第５実施形態では走査毎のＦ_ｍのサイズ（Ｍ，Ｎ）および係数を、変動量検出部２０７で検出した変動値varにより設定する。
【０１７８】
ここで、図４４の記録ヘッド４４０１のように、傾き量の関係がΔdx_a＞Δdy_aであるとき、つまりｘ方向の傾きが大きい場合を考える。この場合、１回のスキャンで全ノズルを利用してインクを吐出して罫線を出力すると、正確な着弾位置（４４０３）に対して、x方向にズレの大きい罫線が形成される（図４４）。また、図４４から分かるようにｘ方向のズレ量はノズルの端程大きくなる。
【０１７９】
よって、図４４のように記録ヘッドが傾いている場合には、ノズルの端ほど変動に対するロバスト性が高いドット配置にする必要がある。つまり、ノズルの端で打つドットパターンを決定する制約情報を生成する際に用いるフィルタを大きくすることが望ましい。つまり、式（６４）で用いられるフィルタＦ_ｍは、使用ノズルの位置、記録ヘッドの傾き（変動）量でサイズや係数を設定したフィルタＦ_ｍを使い分ける。
【０１８０】
例えば、図４１の記録ヘッド４１０１においては、フィルタＦ_ｍを変動値var＝(Δdx_a,Δdy_a,Δdx_b,Δdy_b)によって、フィルタＦ_ｍのサイズ（Ｍ，Ｎ）あるいは係数を以下の条件を満たすように設定する。なお、ここでは簡単化のために４パス印字とし、所定の領域を走査するときに使用するノズル群を図４５のように４つ（４５０１、４５０２、４５０３、４５０４）に分ける。また、それぞれのノズル群を使用して打つドットパターン決定する制約情報を生成する際に使用するフィルタをF_m1,F_m2,F_m3,F_m4とする。そして、それぞれのフィルタサイズを(M1,M1),(M2,N2),(M3,M3),(M4,N4)とする。
【０１８１】
【数２】
2010064277.tif 000004
…（６６）
【数３】
2010064277.tif 000005
…（６７）
【０１８２】
（条件）
(1) Δd_a＞Δd_b（但し、Δd_a＞０、Δd_b＞０）のとき、
M1＞M4＞M2≧M3且つN1＞N4＞N2≧N3、
(2) Δd_a≦Δd_b（但し、Δd_a＞０、Δd_b＞０）のとき、
M4≧M1＞M2≧M3且つN4≧N1＞N2≧N3、
(3) Δdx_a＞Δdy_aのとき、M1＞N1、
(4) Δdx_a≦Δdy_aのとき、M1≦N1
(5) (3)(4)と同様に、ｘ方向の傾き量がｙ方向の傾き量と比較して相対的に大きい場合には、Mk(k=0,..,4:パス数)≧Nkとする。また、ｙ方向の傾き量が大きい場合には、Mk≦Nkとする。
【０１８３】
これらの、関係を満たすように、傾き量varとフィルタサイズ(Mk,Nk)の関係をＬＵＴとして保持しておくとよい。あるいは、上述の条件を満たすような関数を用いて、傾き量varを検出毎にフィルタサイズ(Mk,Nk)算出して利用してもよいが、条件を満たすことができれば、方法はこれらに限らない。
【０１８４】
また、フィルタF_mk（kはパス数）として式（６７）のような２次元のガウシアンフィルタを用いて、変動量var(cr,lf)によるフィルタ係数の設定を行う。
【０１８５】
【数４】
2010064277.tif 000006
…（６８）
【０１８６】
ただし、F_mk=F’_mk/Sum_mk  （６９）
Sum_mkはF’_mkの係数の合計値である。
式(６８）において、（σx_k,σy_k）は２次元正規分布の標準偏差、ρはx,yの相関係数である。
【０１８７】
本実施形態では、上述のフィルタサイズ(Mk,Nk)を設定する場合の条件と同様に、標準偏差（σx_k,σy_k）を変動値var＝(Δdx_a,Δdy_a,Δdx_b,Δdy_b)の相対関係により設定するとよい。
【０１８８】
例えば、ｘ方向の傾き量がｙ方向の傾き量と比較して相対的に大きい場合には、σx_k≧σy_kとする。また、ｙ方向の傾き量が大きい場合には、σx_k≦σy_kとすることにより、フィルタの係数に非等方性の特性を持たせることができる。フィルタ係数が楕円フィルタのような非等方性の特性をもつ場合、楕円の長軸がy方向となるように設定すると、副走査方向のレジストレーションズレに対してロバストなフィルタを用いて制約情報を演算する。一方、楕円の長軸がｘ方向となるように設定すると、主走査方向のレジストレーションズレに対してロバストなフィルタを用いて制約情報を演算する。上述の条件を満たすフィルタを使用することで、記録ヘッドの傾きによる着弾変動に対するロバスト性は高くなり、出力画像の劣化を低減することが可能となる。なお、フィルタサイズを大きくとる方が、非等方性がより表現しやすい。また、フィルタはローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであっても良い。
【０１８９】
さらに、前述した、傾き量varとフィルタサイズ(Mk,Nk)の関係と同様に、傾き量varと標準偏差（σx_k,σy_k）の値をＬＵＴとして保持しておくとよい。あるいは、上述の条件を満たすような関数を用いて、傾き量varを検出毎に標準偏差（σx_k,σy_k）を算出して利用してもよいが、条件を満たすことができれば、方法はこれらに限らない。
【０１９０】
次に、ハーフトーンデータフィルタ処理部５０２はＯｕｔ_ｃに対して所定のローパスフィルタＬＰＦ_ｂにてフィルタ処理を行う。（ステップＳ３０２）図２１にフィルタ処理されたデータの模式図を示す。
【０１９１】
Ｏｕｔ_c_LPF ＝  Ｏｕｔ_c＊ＬＰＦ_ｂ        ・・・（７０）
第５実施形態におけるＬＰＦ_ｂの係数も、前述のＦ_ｍと同様に、変動量検出部２０７で検出した変動値varにより設定する。ただし、ＬＰＦ_ｂはローパス特性をもつことが好ましい。また本実施形態では、Ｆ_ｍとＬＰＦ_ｂが同じとしているが、異なる係数であっても良い。
【０１９２】
次に、走査Ｄｕｔｙデータシフト部５０３は、走査Ｄｕｔｙフィルタ処理部５０１のデータＣ_ｄｆを、一回の紙送り量ＬＦ＝Ｎｚｚｌ／Ｐａｓｓ＝１６／４＝４だけ上にシフトする（ステップＳ３０３）。図２２にシフトされたデータの模式図を示す。シフトした走査ＤｕｔｙデータをＣ’_ｄｆとすると以下のように算出される。なお、シフトされた後の下端４ノズル分は０を代入する。
【０１９３】
Ｃ’_ｄｆ（ｎｘ,ｎｙ）  ＝  Ｃ_ｄｆ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（７１）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
同様に、ハーフトーンデータシフト部５０４も、データＯｕｔ_c_LPFを紙送り分上にシフトする（ステップＳ３０４）。図２３にシフトされたデータの模式図を示す。シフトしたデータをＯｕｔ’_c_LPFとすると以下のように算出される。
【０１９４】
Ｏｕｔ’_ｃ_LPF（ｎｘ,ｎｙ）＝Ｏｕｔ_ｃ_LPF（ｎｘ,ｎｙ＋ＬＦ）    ・・・（７２）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
さらに、更新前制約情報データシフト部５０５も、更新前制約情報データＣ_ｒを紙送り分上にシフトする（ステップＳ３０５）。シフトした走査ＤｕｔｙデータをＣ’_rとすると以下のように算出される。
【０１９５】
Ｃ’_ｒ（ｎｘ,ｎｙ）＝Ｃ_ｒ（ｎｘ,ｎｙ＋ＬＦ）        ・・・（７３）
「なお、（0≦ｎｘ＜画像Ｘサイズ）（0≦ｎｙ＜Ｎｚｚｌ）」
「（ｎｙ＋ＬＦ≧Ｎｚｚｌ）のときは０を代入（下端ＬＦノズル分は０を代入）」
上述のように、次の走査番号の制約情報演算には、相対的に紙送り量ＬＦ上方にシフトさせる。さらに、下端ＬＦノズル分は０を代入する。
【０１９６】
このようにバッファデータを紙送り量ＬＦだけシフトさせる理由は、次の走査番号にて形成されるハーフトーンドット配置が記録媒体上で相対的に紙送り量ＬＦずれて形成されるからである。
【０１９７】
更に、減算部５０６は、走査Ｄｕｔｙデータシフト部５０３で算出されたデータから、ハーフトーンデータシフト部５０４で算出されたデータを減算する（ステップＳ３０６）。そして、重み積算部５０７は、減算部５０６の減算結果に重み係数ｈ（実数）を積算する（ステップＳ３０７）。
【０１９８】
次に加算部５０８は、重み積算部５０７にて演算されたデータと更新前制約情報データシフト部５０５にてシフトされたシアン制約情報を加算する（ステップＳ３０８）。こうして得られた、加算部５０８による加算結果を、更新後制約情報Ｃ_rとし、次の走査番号ｋ＝２以降（または現走査番号ｋなら、次の走査番号はｋ＋１）のハーフトーン処理の制約情報として保存しておく。
【０１９９】
Ｃ_ｒ  ←  （−Ｏｕｔ’_ｃ_LPF  ＋  Ｃ’_dｆ）×ｈ＋Ｃ’_ｒ      ・・・（７４）
以上でステップＳ１０９における制約情報演算が終了する。
【０２００】
次に、演算結果により制約情報バッファ１０９が更新される（ステップＳ１１０）。この制約情報は、次の走査番号以降（現走査番号がｋならば次の走査番号はｋ＋１）のドット配置を決定するための情報として保持される。
【０２０１】
以上のように、第５実施形態によれば、センサで検出した記録ヘッドの設置位置の変動量が、記録媒体上の同一領域における以降の主走査でのＮ値化演算に反映される。これにより、記録装置の変動、特に記録ヘッドの傾きによるレジストレーションズレを低減し、記録媒体全面で高画質を実現することができる。
【０２０２】
以上説明したように、上記各実施形態によれば、主走査毎にＮ値化演算を実施する記録方式において、各種センサで検出した記録装置および記録媒体の変動量が、記録媒体上の同一領域における以降の主走査でのＮ値化演算に反映される。これにより、記録装置および記録媒体の変動によるレジストレーションズレが低減され、記録媒体全面で高画質を実現することが可能となる。
【０２０３】
また、上記各実施形態によれば、主走査毎に、前回の主走査でのＮ値化結果（Ｎは２以上の整数）と、記録装置および記録媒体の変動量に基づいてリアルタイムに更新された制約情報に基づくＮ値化処理が行われる。これにより、画像の低周波成分に依存した粒状性劣化を抑制し、高画質画像を形成することが可能となる。
【０２０４】
本発明の目的はソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記録媒体に格納されたプログラムコードを読み出し実行することによっても達成され得るものである。ここで、ソフトウエアのプログラムコードは、システムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）に前述した実施形態の機能を実現するものである。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２０５】
プログラムコードを供給するためのコンピュータ読み取り可能な記憶媒体としては、例えば以下が挙げられる。すなわち、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０２０６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【０２０７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【０２０８】
【図１】本発明に係る一実施形態における画像形成システムの構成を示すブロック図である。
【図２】実施形態のプリンタにおける記録ヘッドの構成例を示す図である。
【図３】実施形態における画像形成処理を示すフローチャートである。
【図４】実施形態の色分解処理部における入出力データの詳細を示す図である。
【図５】実施形態における１６ノズル、４パス印字による画像形成の概要を示す図である。
【図６】実施形態における走査Ｄｕｔｙ設定用ＬＵＴに保持されたＤｕｔｙ分割率の一例を示す図である。
【図７】実施形態における走査Ｄｕｔｙの設定方法の概要を示す図である。
【図８】実施形態における走査Ｄｕｔｙの設定方法の概要を示す図である。
【図９】実施形態における走査Ｄｕｔｙの設定方法の概要を示す図である。
【図１０】実施形態における走査Ｄｕｔｙバッファのバンド構成例を示す図である。
【図１１】実施形態における制約情報バッファのバンド構成例を示す図である。
【図１２】実施形態におけるハーフトーン処理部の詳細構成を示すブロック図である。
【図１３】実施形態におけるハーフトーン処理を示すフローチャートである。
【図１４】実施形態における誤差拡散係数の一例を示す図である。
【図１５】実施形態における各シアン累積誤差ラインバッファの記憶領域を示す図である。
【図１６】実施形態における印字領域の隣接の様子を示す図である。
【図１７】実施形態におけるハーフトーン処理結果の格納例を示す図である。
【図１８】実施形態における制約情報演算部の詳細構成を示すブロック図である。
【図１９】実施形態における制約情報演算処理を示すフローチャートである。
【図２０】実施形態の制約情報演算におけるフィルタ処理後の走査Ｄｕｔｙデータの模式図である。
【図２１】実施形態の制約情報演算におけるフィルタ処理後のハーフトーンデータの模式図である。
【図２２】実施形態の制約情報演算におけるシフト後の走査Ｄｕｔｙデータの模式図である。
【図２３】実施形態の制約情報演算におけるシフト後のハーフトーンデータの模式図である。
【図２４】実施形態における印刷画像の周波数領域による対レジズレ特性を示す図である。
【図２５】記録ヘッドの移動量に関わる変動量と着弾位置ズレを示す図である。
【図２６】実施形態の制約情報演算におけるフィルタサイズと変動量の関係を示すグラフである。
【図２７】実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図２８】実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図２９】実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図３０】第２実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図３１】第２実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図３２】第２実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図３３】第３実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図３４】第３実施形態の制約情報演算におけるフィルタの具体例を示す図である。
【図３５】第４実施形態における紙間センサの構成と検出する変動量の関係を説明した図である。
【図３６】コックリングの説明図である。
【図３７】コックリングによって発生するドット位置ずれの説明図である。
【図３８】コックリングによって発生するドット位置ずれの説明図である。
【図３９】第４実施形態における制約情報演算における制約強度変数と変動量の関係を示すグラフである。
【図４０】第４実施形態における紙間センサの別の構成を示す図である。
【図４１】第５実施形態における傾き検出センサの構成と検出する変動量の関係を説明した図である。
【図４２】第５実施形態におけるヘッド傾き量を説明した図である。
【図４３】第５実施形態における傾き検出センサの別の構成と検出する変動量の関係を説明した図である。
【図４４】第５実施形態におけるヘッド傾きとドットの着弾位置の関係を説明した図である。
【図４５】第５実施形態における制約情報演算におけるノズル群を説明した図である。
【図１】
2010064277.tif 000007
【図２】
2010064277.tif 000008
【図３】
2010064277.tif 000009
【図４】
2010064277.tif 000010
【図５】
2010064277.tif 000011
【図６】
2010064277.tif 000012
【図７】
2010064277.tif 000013
【図８】
2010064277.tif 000014
【図９】
2010064277.tif 000015
【図１０】
2010064277.tif 000016
【図１１】
2010064277.tif 000017
【図１２】
2010064277.tif 000018
【図１３】
2010064277.tif 000019
【図１４】
2010064277.tif 000020
【図１５】
2010064277.tif 000021
【図１６】
2010064277.tif 000022
【図１７】
2010064277.tif 000023
【図１８】
2010064277.tif 000024
【図１９】
2010064277.tif 000025
【図２０】
2010064277.tif 000026
【図２１】
2010064277.tif 000027
【図２２】
2010064277.tif 000028
【図２３】
2010064277.tif 000029
【図２５】
2010064277.tif 000030
【図２６】
2010064277.tif 000031
【図２７】
2010064277.tif 000032
【図２８】
2010064277.tif 000033
【図２９】
2010064277.tif 000034
【図３０】
2010064277.tif 000035
【図３１】
2010064277.tif 000036
【図３２】
2010064277.tif 000037
【図３３】
2010064277.tif 000038
【図３４】
2010064277.tif 000039
【図３５】
2010064277.tif 000040
【図３６】
2010064277.tif 000041
【図３７】
2010064277.tif 000042
【図３８】
2010064277.tif 000043
【図３９】
2010064277.tif 000044
【図４０】
2010064277.tif 000045
【図４１】
2010064277.tif 000046
【図４２】
2010064277.tif 000047
【図４３】
2010064277.tif 000048
【図４４】
2010064277.tif 000049
【図４５】
2010064277.tif 000050
【図２４】
2010064277.tif 000051