(57)【要約】【課題】  複数の記録走査ごとに、より分散性の高いドットパターンを出力可能な画像データを生成する。【解決手段】  記録媒体の同一領域に対してｎ（≧２）回の記録を重ねることで画像を形成するための画像処理装置であって、閾値マトリクスを用いてディザ処理した場合に得られる各階調のドットパターンの分散性を示す閾値マトリクス特性を保持する保持手段と、前記閾値マトリクス特性に基づいて、画像データを前記ｎ回の記録走査に分割することにより、前記ｎ回の記録走査ごとの記録データを設定する設定手段と、前記ｎ回の記録それぞれの記録データに対して、前記閾値マトリクスを用いてディザ処理するハーフトーン処理手段と、を有することを特徴とする。【選択図】  図１
2019062471.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体の同一領域に対してｎ（≧２）回の記録を重ねることで画像を形成するための画像処理装置であって、
閾値マトリクスを用いてディザ処理した場合に得られる各階調のドットパターンの分散性を示す閾値マトリクス特性を保持する保持手段と、
前記閾値マトリクス特性に基づいて、画像データを前記ｎ回の記録走査に分割することにより、前記ｎ回の記録走査ごとの記録量を表す記録データを設定する設定手段と、
前記ｎ回の記録それぞれの記録データに対して、前記閾値マトリクスを用いてディザ処理するハーフトーン処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記設定手段は、前記画像データが表す画像において、各画素の画素値をｎ回に均等に分割した後、前記ｎ回の記録走査のうち少なくとも１つの記録データを前記閾値マトリクス特性に基づいて更新することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記ｎ回の記録走査のうち処理対象とする記録走査の記録データに対して探索範囲を設定し、前記閾値マトリクス特性において前記探索範囲で最も分散性が高い階調があるかどうかを判定し、最も分散性が高い階調がある場合は、前記処理対象とする記録走査の記録データを、最も分散性が高い階調により更新することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記設定手段は、ｎ回目を除くｎ−１回目までの各記録走査に対し、前記閾値マトリクス特性に基づいて記録データを更新することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記設定手段は、前記閾値マトリクスの階調毎の分散性評価値を参照することにより、前記記録データを設定することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記閾値マトリクスは、所定の間隔おきの複数の階調に対して高分散なドットパターンを実現できるように、値の異なる閾値を配置されたマトリクスであることを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
前記閾値マトリクスは、ブルーノイズ特性を有することを特徴とする請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
コンピュータを請求項１乃至７のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項９】
記録媒体の同一領域に対してｎ（≧２）回の記録を重ねることで画像を形成するための画像処理方法であって、
閾値マトリクスを用いてディザ処理した場合に得られる各階調のドットパターンの分散性を示す閾値マトリクス特性を保持し、
前記閾値マトリクス特性に基づいて、画像データを前記ｎ回の記録走査に分割することにより、前記ｎ回の記録走査ごとの記録データを設定し、
前記ｎ回の記録それぞれの記録データに対して、前記閾値マトリクスを用いてディザ処理することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに基づいて記録媒体上に画像を形成するため画像処理技術に関する。
【背景技術】
【０００２】
近年、パソコンにより処理した画像データを印刷することが一般的に行われている。パソコンが扱う画像データの階調数に比べて、プリンタなどの画像形成装置が表現可能な画素あたりの階調数は少ない場合が多い。このような場合、入力画像データの階調数を画像形成装置が表現可能な階調数に変換するハーフトーン処理が必要である。ハーフトーン処理の１つとして、ディザ法が知られている。ディザ法は、入力された画像データにおける画素値と閾値マトリクスにおける画素に対応した閾値とを比較することで、各画素の出力値を決定する手法である。
【０００３】
特許文献１は、画像を複数の記録走査に分割し、各記録走査の記録データに対してブルーノイズ型の閾値マトリクスを用いてディザ処理する方法を開示している。特に、各記録走査を累積して得られるドットパターンの分散性を考慮して、各記録走査のハーフトーン画像データを生成している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３８６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながらディザ処理は、閾値マトリクスの特性により、必ずしも全ての階調の画像を分散性の高いドットパターンに変換できない。そのため従来は、画像データを各記録走査に分割して得られる記録データの階調によって、各記録走査のドットパターンは分散性の高いドットパターンにならない場合があった。
【０００６】
本発明の目的は、複数の記録走査ごとに、分散性の高いドットパターンを出力可能な画像データを生成することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため本発明は、記録媒体の同一領域に対してｎ（≧２）回の記録を重ねることで画像を形成するための画像処理装置であって、閾値マトリクスを用いてディザ処理した場合に得られる各階調のドットパターンの分散性を示す閾値マトリクス特性を保持する保持手段と、前記閾値マトリクス特性に基づいて、画像データを前記ｎ回の記録走査に分割することにより、前記ｎ回の記録走査ごとの記録量を表す記録データを設定する設定手段と、前記ｎ回の記録それぞれの記録データに対して、前記閾値マトリクスを用いてディザ処理するハーフトーン処理手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ディザ処理に用いる閾値マトリクスの特性を考慮して画像を複数の記録走査に分割することにより、複数の記録走査ごとに、分散性の高いドットパターンを出力可能な画像データを生成することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置および画像形成装置の構成を示すブロック図
【図２】記録ヘッド２０１の構成例を示す図
【図３】画像処理と印刷の流れを示す図
【図４】走査番号に応じたヘッドと画像形成領域の関係を示す図
【図５】閾値マトリクスの特性を示す図
【図６】記録データ設定処理のフローチャート
【図７】記録データ更新処理のフローチャート
【図８】ハーフトーン処理のフローチャート
【図９】記録データの更新による効果を説明するための図
【図１０】閾値マトリクスの特性を示す図
【図１１】閾値マトリクスの生成の流れを示すフローチャート
【図１２】ドットパターン生成処理のフローチャート
【図１３】ドットパターン生成処理の概要を示す概念図
【図１４】閾値決定処理のフローチャート
【図１５】閾値マトリクスの特性を示す図
【図１６】記録データ設定処理のフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を必ずしも限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１１】
＜実施形態１＞
実施形態１では、画像データに基づいて、インクジェット方式の画像形成装置が出力可能な印刷データを生成する。インクジェット方式の画像形成装置は、記録媒体における同一領域に対して、ｎ（≧２）回の記録走査を行うことでｎ回画像を重ねて最終的な画像を形成するマルチパス印刷を行うものとする。
【００１２】
（装置構成）
図１は、実施形態１に適用可能な画像処理装置、および画像形成装置の構成を示したブロック図である。図１（ａ）において、画像処理装置１と画像形成装置２はインタフェース又は回路によって接続されている。画像処理装置１は、プリンタドライバがインストールされたパーソナルコンピュータに相当する。この場合、以下に説明する画像処理装置１内の各部は、コンピュータが所定のプログラムを実行することにより実現される。
【００１３】
図１（ｂ）は、画像処理装置１のハードウェア構成を示すブロック図である。画像処理装置１は、ＣＰＵ１００１、ＲＯＭ１００３、ＲＡＭ１００４、外部記憶装置１００５、汎用インタフェース１００２を有する。ＣＰＵ１００１は、入力されたデータや後述のＲＡＭ１００３やＲＯＭ１００４に格納されているコンピュータプログラムを用いて、画像形成システム全体の動作を制御する。なお、ここではＣＰＵ１００１が画像処理装置全体を制御する場合を例に説明するが、複数のハードウェアが処理を分担することにより、装置全体を制御するようにしてもよい。ＲＡＭ１００４は、外部記憶装置１００５から読み取ったコンピュータプログラムやデータ、後述の汎用インタフェース部１００２を介して外部から受信したデータを一時的に記憶する記憶領域を有する。またＲＡＭ１００４は、ＣＰＵ１００１が各種の処理を実行するために用いる記憶領域やＣＰＵ１００１が画像処理を実施する際に用いる記憶領域として使用される。すなわちＲＡＭ１００４は、各種の記憶領域を適宜提供することができる。ＲＯＭ１００３には、画像処理装置における各部の設定を行う設定パタメータやブートプログラムなどが格納されている。外部記憶装置１００５は、ＣＰＵ１００１が各種の処理を実行するために必要な各種データや各種情報等を記憶する記憶装置であり、例えばＨＤＤ等である。汎用インタフェース１００２は、外部装置（ここでは、画像形成装置２）と通信するためのインタフェースであり、例えばＵＳＢインタフェース等である。
【００１４】
図１（ａ）には、画像処理装置１の論理構成を示す。画像処理装置１は、入力端子１０１から入力された印刷対象のカラーの画像データ（以下、入力画像データ）を入力画像バッファ１０２に格納する。入力画像データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分により構成されている。
【００１５】
色分解処理部１０３は、各色の入力画像データを画像形成装置２が備える色材色に対応した画像データへ分解する。色分解処理部１０３は、色分解用ルックアップテーブル（ＬＵＴ）１０４を参照する。本実施形態では、ＲＧＢ各色の入力画像データを、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４種類の色材色に対応した画像データへ分解する。
【００１６】
記録データ設定部１０５は、色分解処理部１０３から得られる各色材色に対応する色分解処理後の画像データを各記録走査に分割することにより、記録走査毎の記録量を表す記録データへ変換する。本実施形態における記録データは、各走査によって印字されるインク量を示す。記録データ設定部１０５は、閾値マトリクス特性ＬＵＴ１０６を用いる。閾値マトリクス特性ＬＵＴ１０６は、ハーフトーン処理部１０７が用いる閾値マトリクス１０８における各階調に対するドットパターンの分散性を対応付けて保持したＬＵＴである。記録データ設定処理および閾値マトリクス特性ＬＵＴの詳細については、後述する。
【００１７】
ハーフトーン処理部１０７は、記録データ設定部１０５によって得られる各色の走査ごと記録データにディザ処理を実行し、記録データをより階調数の少ないハーフトーン画像データに変換する。ハーフトーン処理部１０７は、閾値マトリクス１０８を用いてディザ処理を実行する。閾値マトリクス１０８は、ブルーノイズ特性を有する。ディザ処理の詳細については後述する。ハーフトーン画像データは、ハーフトーン画像格納バッファ１０９に格納された後、出力端子１１０より画像形成装置２へ出力される。
【００１８】
画像形成装置２は、画像処理装置１から受信した各色のハーフトーン画像データに基づいて、記録ヘッド２０１を記録媒体２０２に対して相対的に縦横に移動することにより、記録媒体上に画像を形成する。記録ヘッド２０１はインクジェット方式のものであり、一つ以上の記録素子（ノズル）を有する。
【００１９】
図２は、記録ヘッド２０１の構成例を示す図である。本実施形態では前述の通り、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４種類のインクを記録ヘッド２０１に搭載する。ヘッド制御部２０４は移動部２０３を制御し、記録ヘッド２０１を移動させる。また搬送部２０５は、ヘッド制御部２０４の制御下で、記録媒体２０２を搬送する。
【００２０】
図４は、画像形成装置２が行うマルチパス印刷を説明する図である。図４は、ある１色のノイズ列を示している。ノズル列は１６個のノズルを具備している。走査番号ｋ＝１では、ノズル下端１／４の４ノズルが領域Ａに記録する。記録ヘッドが走査方向に移動しながら記録すると、記録ヘッドの走査方向と直交する方向にノズル長さ１／４分紙送りする。次に走査番号ｋ＝２において領域Ａに対して４ノズルが記録し、記録媒体が移動する。この動作を繰り返すことにより、領域Ａに対して、４回の走査で画像を形成させている。本実施形態では、このような４パス印字を一例として説明する。
【００２１】
インク色選択部２０６は、画像処理装置１により形成された各色に対応する走査ごとのハーフトーン画像データに基づいて、記録ヘッド２０１に搭載されるインクの中から、印字するハーフトーン画像データに対応するインクを選択する。
【００２２】
次に、上述した機能構成を備えた本実施形態に適用可能な画像処理装置１および画像形成処理２が実行する処理について、説明する。
【００２３】
図３は、入力された画像データに基づいて画像を印刷するまでの動作全体の流れを示す。なお、以下の説明においては、各ステップを「Ｓ」と表すこととする。まず、Ｓ３０１において、入力端子１０１より入力された各色入力画像データを、入力画像バッファ１０２に格納する。ここで入力画像データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分のデータである。また、各入力画像データは８ｂｉｔのデータであり、入力画像データが表す画像を構成する各画素には、０〜２５５のいずれかの画素値が格納されている。
【００２４】
Ｓ３０２において色分解処理部１０３は、色分解用ＬＵＴ１０４を用いて、入力画像データが示すＲＧＢからＣＭＹＫの色ごとに分解する。本実施形態では、色分解処理後の画像データを８ビットとして扱うが、それ以上の階調数への変換を行っても構わない。本実施形態における記録ヘッド２０１は、ＣＭＹＫの合計４種類の各インクを保有する。そのため、ＲＧＢ各色の入力画像データは、ＣＭＹＫ計４つの画像データへ変換される。
【００２５】
Ｓ３０３において、記録データ設定部１０５は、閾値マトリクス特性ＬＵＴ１０６を取得する。閾値マトリクス特性ＬＵＴの詳細は後述する。
【００２６】
Ｓ３０４において、記録データ設定部１０５は、走査番号ｋを初期化する。本実施形態において、走査番号ｋの初期値は１であり、処理ループ毎に１ずつインクリメントされる。
【００２７】
以下のＳ３０５からＳ３１０は、ＣＭＹＫの色ごとに処理を行う。ここでは、シアン（Ｃ）の例について説明するが、他の３種類の色材マゼンタ（Ｍ）、ブラック（Ｋ）、イエロー（Ｙ）に対しても同様の処理を行う。
【００２８】
Ｓ３０５において、記録データ設定部１０５は、色分解後の画像データ切り出し位置としてのＹ座標を示すＹｃｕｔ（ｋ）を設定する。Ｙｃｕｔ（ｋ）は、走査番号ｋにおける色分解後画像データ切り出し位置であり、ノズル上端座標に相当する。図４を用いて色分解後画像データ切り出し位置Ｙ座標Ｙｃｕｔ（ｋ）の設定法を説明する。
【００２９】
前述の通り、本実施形態では４パス印刷であり、ノズル１／４を用いて１パスを記録する。走査番号ｋ＝１の場合は、ノズル上端座標に相当する色分解後画像データ切り出し位置Ｙｃｕｔ＝−１２となる。
【００３０】
上述した色分解後画像データ切り出し位置Ｙｃｕｔ（ｋ）を一般化すると、ノズル列数：Ｎｚｚｌ、パス数：Ｐａｓｓ、走査番号：ｋ、として次式で与えられる。
【００３１】
Ｙｃｕｔ（ｋ）＝−Ｎｚｚｌ＋（Ｎｚｚｌ／Ｐａｓｓ）×ｋ      ・・・（１）
以上のようにＹｃｕｔ（ｋ）が設定されると、次に記録データ設定部１０５は取得した閾値マトリクス特性ＬＵＴと各色に対応する色分解後画像データとに基づき、走査ごとの記録データを設定する。記録データの設定処理の詳細は後述する。
【００３２】
次にＳ３０７において、ハーフトーン処理部１０７は各記録走査の記録データに対して、閾値マトリクスを用いてディザ処理を行う。本実施形態におけるハーフトーン処理は、２５６階調で表された記録データ（８ビット）を２値に変換する。ハーフトーン処理の詳細は後述する。
【００３３】
Ｓ３０９において、ハーフトーン画像格納バッファ１０９に蓄えられた、縦方向がノズル数（Ｎｚｚｌ）、横方向が画像のＸサイズ（Ｗ）に相当するバンドデータが、画像出力端子１１０より出力される。
【００３４】
Ｓ３１０において、ハーフトーン画像データを受けた画像形成装置２は、ハーフトーン画像データに適合するインク色が選択され、印字動作が開始される。具体的には、記録ヘッド２０１が記録媒体に対して左から右に移動しながら、一定の駆動間隔で各ノズルを駆動して記録媒体上に画像を記録する主走査を１回行う。さらに該主走査が終了すると、記録媒体の紙送りが１回行なわれる。
【００３５】
Ｓ３１１において、全ての走査が終了したか否かの判定を行う。全ての操作が終了した場合には一連の画像形成処理が完了し、終了していない場合にはＳ３１２において走査番号ｋを更新し（Ｓ３１２）、Ｓ３０５に戻る。以上により、処理の全てが終了する。
【００３６】
ここで、ディザ処理の特性と閾値マトリクス特性ＬＵＴについて詳細に説明する。図５（ａ）は入力画像の一例を示す。入力画像は、４画素×４画素からなり、各画素には画素値１５３が格納されている。図５（ｂ）は、閾値マトリクスの一例を示す。閾値マトリクスには、各画素に対応する閾値として、異なる値が格納されている。ディザ処理においては、各画素の画素値と、各画素に対応する閾値とを比較する。画素値の方が閾値よりも大きい場合は１、画素値の方が閾値よりも小さい場合は０が出力される。図５（ｃ）は、入力画像をディザ処理して得られる出力画像を示している。図５（ｃ）が示す出力画像は、階調１５３のときに得られるドットパターンを表す。このように、閾値マトリクスにおける閾値の配置により、ドットパターンの分散性が決定する。
【００３７】
図５（ｄ）が示すグラフは、閾値マトリクスの各階調に対する分散性の一例を示している。横軸は階調（画素値）、縦軸は分散性評価値を示す。ある階調からなる画像に対して閾値マトリクスを用いてディザ処理をした場合に、ディザ処理の結果得られるドットパターンをフーリエ変換してパワーの重みづけ和Ｐを分散性評価値として算出している。分散性評価値は、その値が大きいほど低分散であり、値が小さいほど高分散である。図５（ｄ）が示す通り、閾値マトリクスの各階調に対する分散性は、階調に対して細かく変動する。閾値マトリクスを用いたディザ処理は、全ての階調に対して分散性を高くドットパターンを実現することは困難である。これは、ある階調におけるドットパターンにドットを追加または削除して、ある階調近傍のドットパターンを決定することで、閾値マトリクスを設計するためである。
【００３８】
たとえば公知のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法を用いる場合、初期に設定した階調のドットパターンを決定した後、所定のルールに従ってドットを順次追加する位置を決定し、初期階調よりもシャドウ側の階調のドットパターンを決定する。また初期階調のドットパターンのドットを順次削除していくことでハイライト側の階調のドットパターンを決定する。従って、初期階調のドットパターンはドット配置に制約がなく、高分散なドット配置を任意に選択できる。しかしながら、初期階調のドットパターン以外のドット配置は、初期階調のドットパターンの制約を受けてしまう。以上の通り、上述のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法に限らず、閾値マトリクスを設計する際には、ある入力値のドットパターンは既に決定されたドットパターンの制約を受けるため、常に高分散なドットパターンを得ることはできない。
【００３９】
そこで本実施形態では、図５（ｄ）に示す閾値マトリクスの階調毎のドットパターンの分散性評価値を、閾値マトリクス特性ＬＵＴとして保持しておく。そして、閾値マトリクスを用いてディザ処理をした場合に、できるだけ高分散なドットパターンに変換できる階調になるように、色分解後の画像データを各記録走査に分割する。
【００４０】
以下、記録データ設定処理について詳細を説明する。本実施形態では、色分解後の画像データを記録走査毎に均等に分割したのち、閾値マトリクスの特性に基づいて記録走査毎の記録データを更新する。
【００４１】
図６は、画像処理装置１が実行する記録データ設定の処理のフローチャートである。ＣＰＵ１００１が、図６に示すフローチャートを実現可能なプログラムを読み出し実行することで、各構成（機能）が実現される。なお図６に示す処理においては、注目ノズル位置ｎｙと画像Ｘアドレスを繰り返し変数として、ノズル数（Ｎｚｚｌ）×画像のＸサイズ（Ｗ）に相当するバンドに含まれる各画素に対して記録データを設定する。
【００４２】
まず、Ｓ６０１において、記録データ設定部１０５は記録データの設定処理の対象とする注目ノズル位置ｎｙを初期化する。具体的にはｎｙ＝０とする。Ｓ６０２において記録データ設定部１０５は、ノズル位置ｎｙからパス番号ｐを取得する。パス番号ｐの取得は、以下の式（２）を用いる。ただし、式（２）中、Ｐａｓｓは印字パス数、ｉｎｔ（ｘ）はｘを超えない最大の整数を返す関数、また、ノズル数Ｎｚｚｌは印字パス数の整数倍とする。
【００４３】
ｐ＝ｉｎｔ（ｎｙ／（Ｎｚｚｌ／Ｐａｓｓ））＋１      ・・・（２）
Ｓ６０３において記録データ設定部１０５は、注目ノズル位置ｎｙが画像Ｙアドレスの領域内か否かを判断する。具体的には、Ｙｃｕｔ（ｋ）＋ｎｙが０以上かつ画像のＹサイズＨ未満であるか否かを判断する。注目ノズル位置ｎｙが、画像Ｙアドレスの領域内である場合には、Ｓ６０５に進む。一方で、画像Ｙアドレスの領域外である場合には、Ｓ６０４に進み、記録データＭ＝０と設定した後、Ｓ６１１へ進む。
【００４４】
Ｓ６０５において記録データ設定部１０５は、記録データの設定処理の対象とする画像のＸアドレスを初期化する。具体的にはＸ＝０とする。
【００４５】
Ｓ６０６において、記録データ設定部１０５は、画像アドレス（Ｘ，Ｙｃｕｔ（ｋ）＋ｎｙ）に対応する色分解後の画像データＤを取得する。つまりここでは注目ノズルに対応する１ライン分に含まれる画素の画素値を取得する。
【００４６】
Ｓ６０７において記録データ設定部１０５は、パス番号ｐ、印字パス数Ｐａｓｓ、色分解後の画像データＤに基づいて、画素値を均等に分配した場合の記録データＭを算出する。具体的には、以下の式（３）に従って、記録データＭを算出する。
【００４７】
Ｍ＝ｉｎｔ（Ｄ×ｐ／Ｐａｓｓ）      ・・・（３）
ここでは印字パス数Ｐａｓｓは４である。またパス番号は、４パスのうち何パス目の記録走査であるかを示す番号であり、１〜４の何れかの値をとる。
【００４８】
Ｓ６０８において記録データ設定部１０５は、パス番号ｐと印字パス数Ｐａｓｓが等しいか否かを判断する。すなわち、注目ノズルに割り当てられているパス番号が、最終パスに相当するパス番号であるか否かを判定する。本実施系多いでは４パス印刷なので、パス番号が４であるかどうかを判定することとする。最終パスに相当しない場合、Ｓ６０９に進み、閾値マトリクスの特性に基づいて記録データを更新する。Ｓ６０９の処理の詳細は後述する。一方、最終パスに相当する場合、Ｓ６０９での更新処理をおこなわず、Ｓ６１０へ進む。すなわち、Ｐ＝Ｐａｓｓの場合には、色分解後の画像データＤを記録データＭとする。その理由についても後述する。
【００４９】
Ｓ６１０において記録データ設定部１０５は、画像Ｘアドレスが画像端を示しているか否かを判断する。具体的には、ＸがＷ−１に等しいか否かを判断する。Ｘ＝Ｗ−１でない場合、Ｓ６１２にて画像アドレスＸをＸ＋１に更新し、Ｓ６０６に戻る。Ｘ＝Ｗ−１である場合、Ｓ６１１に進む。
【００５０】
Ｓ６１１において記録データ設定部１０５は、ノズル位置ｎｙがノズル端を示しているか否かを判断する。具体的には、ｎｙがＮｚｚｌ−１に等しいか否かを判断する。ｎｙ＝Ｎｚｚｌ−１でない場合、Ｓ６１３にてノズル位置ｎｙをｎｙ＋１に更新し、Ｓ６０２に戻る。ｎｙ＝Ｎｚｚｌ−１である場合、ノズル数（Ｎｚｚｌ）×画像のＸサイズ（Ｗ）に相当するバンドデータの各画素に対して記録データを設定済みとして、処理を終了する。
【００５１】
次に、Ｓ６０９において記録データ設定部１０５が実行する記録データＭの更新処理について、詳細に説明する。記録データＭの更新処理では、閾値マトリクスの特性に基づいて、記録データＭよりも高分散なドットパターンが得られる記録データＭ´が探索範囲内にあれば、ＭをＭ´へ更新する。
【００５２】
図７はＳ６０９における記録データＭの更新処理の流れを示すフローチャートである。ＣＰＵ１００１が、図７に示すフローチャートを実現可能なプログラムを読み出し実行することで、各構成（機能）が実現される。
【００５３】
Ｓ７０１において、暫定記録データｔｍｐ＿Ｍを初期化する。暫定記録データｔｍｐ＿Ｍは、後述のＳ７０４〜Ｓ７０９におけるループ処理において、高分散なドットパターンが得られる記録データの候補を保持しておくための変数である。ループ処理後のＳ７１０において、最終的にｔｍｐ＿Ｍとして保持された記録データが更新後の記録データＭ´として設定される。
【００５４】
Ｓ７０２において、Ｍ´の探索範囲を規定する変数ｌｉｍを取得する。本実施形態ではｌｉｍ＝１６とする。図５（ｄ）に記録データＭと変数ｌｉｍの関係を示す。更新後の記録データＭ’は、下限値Ｍ−ｌｉｍから上限値Ｍ＋ｌｉｍの範囲内において最も高分散な（分散性評価値の小さい）記録データを探索することで設定される。なお、変数ｌｉｍは入力値によって変動することが望ましい。例えば画像データＤの５〜１０％程度とすることにより、ハイライト領域等の低濃度における探索範囲の重複を避けることができる。
【００５５】
Ｓ７０３において、記録データの探索範囲における注目記録データを示すための変数Δｍを初期化する。ここでは、変数Δｍの初期値はΔｍ＝−ｌｉｍとする。
【００５６】
Ｓ７０４において、上述のＳ３０３にて取得した閾値マトリクス特性ＬＵＴ１０６を参照し、暫定記録データｔｍｐ＿Ｍに対する分散性評価値Ｐを取得する。同様にＳ７０５において、閾値マトリクス特性ＬＵＴ１０６を参照して、記録データＭ＋Δｍに対応する分散性評価値Ｐ´を取得する。
【００５７】
Ｓ７０６において、Ｐ´がＰより小さいか否かを判断する。Ｐ´がＰより小さい場合、Ｓ７０７に進み、暫定記録データｔｍｐ＿ＭをＭ＋Δｍに更新し、Ｓ７０８に進む。一方で、Ｐ´がＰ以上の場合、Ｓ７０７をスキップし、Ｓ７０８に進む。
【００５８】
Ｓ７０８では、探索範囲であるＭ−ｌｉｍからＭ＋ｌｉｍのすべての記録データについて、Ｓ７０４〜７０７までの処理をおこなったか否かを判定する。具体的には、Δｍがｌｉｍに等しいか否かを判断する。Δｍがｌｉｍと等しくない場合、Ｓ７０９にて変数ΔｍをΔｍ＋１に更新し、Ｓ７０４に戻る。Δｍがｌｉｍと等しい場合、すべての記録データについて処理をおこなったと判断し、Ｓ７１０に進む。
【００５９】
Ｓ７１０では、前述の通り、最終的にｔｍｐ＿Ｍとして保持された記録データを更新後の記録データＭ´として設定した後、処理を終了する。
【００６０】
以下、Ｓ３０７におけるハーフトーン処理について、詳細に説明する。本実施形態では、前の記録走査（走査番号ｋ＝２であれば、ｋ＝１）での記録データを、制約情報Ｃとして保持しておく。制約情報Ｃは、処理対象の記録走査の直前の記録走査において、既に同じ位置にドットが打たれている可能性と相関のある情報となる。制約情報Ｃは、その値が大きいと既にドットを打たれている可能性高く、値が小さいと前回ドットを打たなかった可能性が高い。そして閾値マトリクスから得られる閾値Ｔｈ、Ｓ３０６にて設定された記録データＭに加え、制約情報Ｃを用いて走査番号ごとのハーフトーン画像データを生成する。
【００６１】
図８はハーフトーン処理部１０７におけるハーフトーン処理の流れを示すフローチャートである。ＣＰＵ１００１が、図８に示すフローチャートを実現可能なプログラムを読み出し実行することで、各構成（機能）が実現される。図８に示すハーフトーン処理においても、図６に示す記録データの設定と同様に、ノズル数（Ｎｚｚｌ）×画像のＸサイズ（Ｗ）に相当するバンドにおける各画素に対して処理をおこなう。ただし、繰り返し変数には画像アドレス（Ｘ，Ｙ）を用いる。
【００６２】
まず、Ｓ８０１においてハーフトーン処理部１０７は処理の対象とする画像アドレス（Ｘ，Ｙ）を初期化する。具体的にはＸ＝０、Ｙ＝Ｙｃｕｔ（ｋ）とする。
【００６３】
Ｓ８０２においてハーフトーン処理部１０７は、閾値マトリクス１０８を参照し、画像アドレス（Ｘ，Ｙ）に対応する閾値Ｔｈ（Ｘ，Ｙ）を取得する。同様に、Ｓ８０３において、ハーフトーン処理部１０７は、画像アドレス（Ｘ，Ｙ）に対応する制約情報Ｃ（Ｘ，Ｙ）を取得する。なお、処理開始時の走査番号ｋ＝１には、制約情報Ｃ（Ｘ，Ｙ）に初期値として全て０を代入しておく。そのため、実質的には走査番号ｋ≧２の時に、有意な情報に更新されていくことになる。
【００６４】
Ｓ８０４においてハーフトーン処理部１０７は、制約情報Ｃ（Ｘ，Ｙ）が閾値Ｔｈ（Ｘ，Ｙ）より大きいか否かを判断する。
【００６５】
制約情報Ｃ（Ｘ，Ｙ）が閾値Ｔｈ（Ｘ，Ｙ）より大きい場合、Ｓ８０５へ進み、画像アドレス（Ｘ，Ｙ）のドットをＯＦＦとする。ドットが同じ位置に連続して打たれることにより累積したドットパターンの粒状性が悪くなってしまう。そこで制約情報Ｃによれば直前にドットが打たれている可能性が高いため、画像アドレス（Ｘ，Ｙ）にドットを配置しない。
【００６６】
一方で、制約情報Ｃ（Ｘ，Ｙ）が閾値Ｔｈ（Ｘ，Ｙ）以下である場合、Ｓ８０６へ進む。Ｓ８０６では、画像アドレス（Ｘ，Ｙ）に対応する記録データＭ（Ｘ，Ｙ）を取得する。Ｓ８０７において、ハーフトーン処理部１０７は、記録データＭ（Ｘ，Ｙ）が閾値Ｔｈ（Ｘ，Ｙ）より大きいか否かを判断する。
【００６７】
記録データＭ（Ｘ，Ｙ）が閾値Ｔｈ（Ｘ，Ｙ）より大きい場合、Ｓ８０８へ進み、画像アドレス（Ｘ，Ｙ）のドットをＯＮとする。つまり、閾値Ｔｈ（Ｘ，Ｙ）が前回の記録走査の記録データより大きく、処理対象の記録走査において記録データよりも小さい場合に、ドットが打たれる。
【００６８】
一方で、記録データＭ（Ｘ，Ｙ）が閾値Ｔｈ（Ｘ，Ｙ）以下である場合、Ｓ８０５へ進み、画像アドレス（Ｘ，Ｙ）のドットをＯＦＦとする。
【００６９】
次に、Ｓ８０９にて、Ｓ８０１〜Ｓ８０８までの処理をバンド内のアドレス（０，０）〜（Ｗ−１，Ｎｚｚｌ−１）に対して実行したか否かを判断する。すなわち、図４で示すノズル０〜１５に対応するハーフトーンデータを作成済みであるか否かを判断する。
【００７０】
バンド内の処理が終了していないと判断した場合には、画像アドレス（Ｘ，Ｙ）を更新し、Ｓ８０２に戻る。一方、バンド内の処理が終了していると判断した場合には、Ｓ８１１に進む。以上Ｓ８０１〜８１０により、全てのアドレス（画素）を表す画素値が決定され、各記録走査によって形成されるドットパターンが決定される。ハーフトーン画像データはハーフトーン画像格納バッファに格納される。
【００７１】
Ｓ８１１において、制約情報Ｃを更新する。記録データＭ（Ｘ，Ｙ）を更新後の制約情報Ｃ（Ｘ，Ｙ）として、不図示の制約情報バッファに格納する。Ｓ８１２において、制約情報ＣをＬＦ（紙送り量）だけシフトする。データを紙送り量ＬＦ分だけシフトさせる理由は、次の走査番号にて形成されるハーフトーン画像データが、記録媒体上で相対的に紙送り量ＬＦ分ずれるためである。ただし、シフト後の下端ＬＦノズル分（１６ノズル、４パスの場合４ノズル分）の制約情報Ｃには０を代入する。
【００７２】
Ｓ８１１、Ｓ８１２にて更新、シフトされた制約情報Ｃは、次の走査番号（走査番号ｋ＝１の次の走査番号ｋ＝２）に対応する記録データをハーフトーン処理する際に用いられる。つまり、走査番号ｋのハーフトーン画像データに基づいて生成された制約情報は、走査番号ｋ＋１に対応する記録データをハーフトーン処理する際に用いられる制約情報として保持される。
【００７３】
従来、記録走査ごとの記録データは、ノズルの使用率の均一化やドットのヨレによるムラを少なくするため、画像を各記録走査に均等に分割することにより生成されていた。例えば、画像におけるある画素の画素値が９６、印字パス数が４であれば、各パスの記録データは均等にＭ＝９６／４＝２４が割り当てられていた。これは例えば、１パス目の記録走査により記録されるドットパターンは、閾値マトリクスの階調２４に対応する分散性評価値に対応することを意味する。閾値マトリクスの特性を考慮せずに画素値を分割しているため、必ずしも各記録走査の分散性評価値は高くない。しかしながら、各記録走査において位置ズレが発生した場合、各記録走査のドットパターンの分散性が低いと、粒状性の悪化や濃度むらが発生してしまう。そのためマルチパス印刷においては、重畳する各記録走査のドットパターンは、できるだけ高分散であることが望ましい。そこで本実施形態では前述の通り、各記録走査のドットパターンの分散性をより高くするため、閾値マトリクスの特性に基づいて、画像を各記録走査に分割する。
【００７４】
図９（ａ）は、図５（ｄ）の一部を抜き出し、拡大した図である。たとえばパス番号１に割り当てられた記録データＭ＝２４のドットパターンに対応する分散性評価値に比べ、記録データＭ＝２１のドットパターンから得られる分散性評価値の方が小さい。すなわち、パス番号１に記録データＭ＝２４を割り当てるより、記録データＭ＝２１を割り当てたほうが、高分散なドットパターンを形成できる。本実施形態では、色分解後の画像データを記録走査ごとに均等に分割された記録データを中心とする所定の探索範囲内でより高分散なドットパターンが得られる記録データＭ´があれば、記録データを更新する。図９（ｂ）は、各記録走査に割り当てられた記録データと探索範囲、および更新される記録データを示す図である。閾値マトリクスの特性に基づいて、パス番号１の記録走査はＭ＝２１、パス番号２の記録走査はＭ＝４４、パス番号３の記録走査はＭ＝７７に更新される。ただし本実施形態では、記録データの更新により濃度が変動してしまうことを防ぐため、最終パスであるパス番号４の記録走査については、閾値マトリクスの特性に基づいた記録データの更新は行わない。
【００７５】
このように、本実施形態によれば、閾値マトリクス特性ＬＵＴに基づいて各色に対応する色分解後画像データを複数の記録走査に分割することで、記録走査ごとの記録データを設定する。これにより最後の走査を除き、記録走査毎のドットパターンをより高分散に形成できる。これにより、ドットの位置ずれによる濃度や粒状性の変動の少ない画像形成が可能となる。なお、上記実施形態１では、閾値マトリクス特性をＬＵＴとして保持し、閾値マトリクス特性を参照することで、記録データＭを更新した。しかしながら、色分解後の画像データと各記録走査の記録データＭ´とが対応付けられたＬＵＴを参照することで、記録データを設定してもよい。色分解後の画像データと記録データＭ´とが対応付けられたＬＵＴは、あらかじめ０〜２５５までの色分解後の画像データについて、Ｓ６０６とＳ６０７における処理をおこなうことで作成できる。
【００７６】
また、実施形態１では、前の記録走査の記録データを制約情報として用いて、記録データに対するハーフトーン処理した。これにより、各記録走査の記録データに対して同じ閾値マトリクスを用いてディザ処理しても、ドットの重複が発生せず、累積のドットパターンも分散性が高くなるように、各記録走査のドットパターンを生成できる。しかしながら、記録パス毎単体のドットパターンの分散性を考慮して記録データを更新してもよい。たとえば、各パス番号における累積のドットパターンと単体のドットパターンの分散性評価値をそれぞれ算出し、さらにそれらの重みづけ和Ｐ＿ａｌｌを求める。そしてＳ８０９において、Ｐ＿ａｌｌが小さくなるように記録データＭをＭ´に更新してもよい
また、本実施形態では説明を簡単にするため記録媒体を搬送する方向（主走査方向）に対して、ノズルが一列に配置された構成を示しているが、ノズルの数、配置はこの例に限られるものではない。例えば、同一濃度の同一色でも吐出量が異なるノズルを有しても良いし、同一吐出量のノズルが複数列あっても良い。さらにノズルがジグザグに配置されているような構成であっても良い。また、本実施形態では、記録ヘッド２０１の構成として、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色のインクを備える例を示したが、インクの種類は限定されない。淡シアンや淡マゼンタなどの低濃度インク、レッドやグリーン等の特色インク、白色インクを用いてもよい。また、無色透明のクリアインクや、金属調のメタリックインクを用いても良い。
【００７７】
また、入力画像データはＲＧＢごとの画像としたが、画像種類は限定されず、モノクロやＣＭＹＫごとの画像データであってもよい。また色以外の情報を含んでもよく、例えば光沢情報を含む画像であってもよい。また、色分解ＬＵＴのビット数はこれに限定されない。あるいはＬＵＴ以外の方法を用いてもよく、例えば行列演算や任意の数式を用いてもよい。
【００７８】
また、本実施形態において画像処理装置１は、ＣＰＵ１００１が所定のプログラムを実行することで処理を実現するソフトウェアの場合を例に説明した。しかしながら画像処理装置１の構成の一部またはその全てを、専用の画像処理回路で実現してもよい。また、画像処理装置１は、画像形成装置２に内蔵する構成でもよい。
【００７９】
＜実施形態２＞
前述の実施形態１では、均等に分割された記録データを中心とする記録データの幅内でより高分散なドット配置が得られる記録データＭ´へ更新する方法を説明した。実施形態２ではさらに、記録走査ごとの記録データを設定する際に参照されることを想定して、閾値マトリクスを設計する方法について説明する。
【００８０】
図１０は、実施形態２が作成する閾値マトリクスの階調毎の分散性評価値を示す。この閾値マトリクス特性１１０１に示すように、ドットパターンが相対的に高分散となる記録データが特定の階調範囲に集中しないように閾値マトリクスを作成する。また、実施形態２に説明する方法により作成された閾値マトリクスを用いる際の、変数ｌｉｍの決定方法について説明する。なお、実施形態１と共通の部分については説明を簡易化または省略する。
【００８１】
以下、図１０に示すような特性を有する閾値マトリクスの作成処理について説明する。
【００８２】
図１１は、本実施形態における閾値マトリクスの作成の流れを示すフローチャートである。本実施形態では、図１に示す画像処理装置１が閾値マトリクスを作成するものとし、ＣＰＵ１００１が、図１１に示すフローチャートを実現可能なプログラムを読み出し実行する。ただし、閾値マトリクスの作成処理は、記録データの設定やハーフトーン処理を行う画像処理装置とは別の画像処理装置が実行してもよい。Ｓ１２０１において、不図示のマトリクス作成部は、高分散となるドットパターンを作成したい複数の階調Ｍ１〜Ｍｎを高分散階調として取得する。ただし、ｎは高分散となる階調数である。ここで特定される複数の階調Ｍ１〜Ｍｎは、所定の間隔おきの階調であることが望ましい。上述の図１１に示す特性を有する閾値マトリクスを作成する場合は、ｎ＝７、Ｍ１＝３２、Ｍ２＝６４、Ｍ３＝９６、Ｍ４＝１２８、Ｍ５＝１６０、Ｍ６＝１９２、Ｍ７＝２２４が設定される。また、階調のとりうる最小値Ｍ＿ｍｉｎ、最大値Ｍ＿ｍａｘを、それぞれＭ０＝Ｍ＿ｍｉｎ、Ｍ８＝Ｍ＿ｍａｘとする。なお翻字し形態では、記録データが２５６階調（８ビット）で表されるので、Ｍ＿ｍａｘ＝２５５である。
【００８３】
Ｓ１２０２において、高分散階調Ｍ１〜Ｍｎに対応するドット数ｄ１〜ｄｎをそれぞれ取得する。たとえば、ドット数ｄｘ（ｘは１〜ｎ）は階調Ｍｘから、以下の式（４）より、算出できる。ただし、ｗは閾値マトリクスのＸサイズ、ｈは閾値マトリクスのＹサイズである。
【００８４】
ｄｘ＝ｗ×ｈ×Ｍｘ／Ｍ＿ｍａｘ      ・・・（４）
Ｓ１２０３において、各高分散階調Ｍ１〜Ｍｎに対応するドットパターンＡ１〜Ａｎを生成する。生成方法の詳細は後述する。
【００８５】
Ｓ１２０４において、各高分散階調のドットパターンＡ１〜Ａｎに基づいて、高分散階調以外の全ての階調に対応するドットパターンを決定する。そして、閾値マトリクスにおける各位置（マトリクス内アドレス）に対応する閾値を決定し、閾値マトリクスを生成する。生成方法の詳細は後述する。
【００８６】
以下、Ｓ１２０３における高分階調Ｍ１〜Ｍｎに対応するドットパターンＡ１〜Ａｎの生成方法について、詳細に説明する。なお、Ｍ０＝Ｍ＿ｍｉｎに対応するドットパターンＡ０は下記の方法で生成する必要はなく、ドット数が０のデータとすればよい。同様に、Ｍ８＝Ｍ＿ｍａｘに対応するドットパターンＡ８は、全画素にドットが配置されたデータとする。
【００８７】
図１２はＳ１２０３における高分散階調Ｍ１〜Ｍｎに対応するドットパターンＡ１〜Ａｎの生成方法を示すフローチャートである。図１２に示す処理フローでは、繰り返し変数ｘをｘ＝１からｘ＝ｎまで変化させ、ドットパターンＡ１〜Ａｎを生成する。
まず、Ｓ１３０１においてマトリクス作成部は、繰り返し変数ｘを初期化する。具体的にはｌ＝１とする。
【００８８】
Ｓ１３０２において、既にいずれかの高分散階調Ｍに対応するドットパターンを決定済であるか否かを判断する。具体的には、繰り返し変数ｘが初期化された値に等しい（本実施形態ではｘ＝１）であるか否かを判断する。
【００８９】
ｘ＝１である場合、Ｓ１３０３へ進み、ｄｘ＝ｄ１＝ｗ×ｈ×Ｍ１／Ｍ＿ｍａｘ個のドットを高分散に配置する。たとえば、公知のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法における初期パターンの作成法に従ってドット数ｄｘ個分のドットを高分散に配置する。あるいは、ｄｘ個のドット数が配置されるように定めた階調に対し、公知の誤差拡散法を用いてドット配置を決定してもよい。Ｓ１３０２においてｘ＝１でないと判定された場合、Ｓ１３０４へ進み、Ｓ１３０４およびＳ１３０５にて、決定済のドットパターンの制約下で高分散なドットパターンを決定する。詳細は後述する。
【００９０】
Ｓ１３０６では、決定されたドットパターンを、高分散階調Ｍｘに対応するドットパターンＡｘとして、不図示のドットパターンバッファに格納する。
【００９１】
次にＳ１３０７において、ｘ＝ｎであるか否かを判断する。ｌ＝ｎである場合、Ｓ１２０１にて取得した高分散となる高分散階調Ｍ１〜Ｍｎに対応するドットパターンＡ１〜Ａｎを全て生成済であるため、処理を終了する。ｘ＝ｎでない場合、繰り返し変数ｘをｘ＋１に更新し、Ｓ１３０２に戻る。
【００９２】
図１４に示す概念図を用いて、Ｓ１３０４およびＳ１３０５における処理の概要を説明する。図１４（ａ）は、Ｓ１３０３において、高分散に配置されたドットを黒丸として示す図である。Ｓ１３０４においては、１つ前の繰り返し変数ｘ´（ｘ＝２であれば、ｘ´＝１）にて配置されたドット配置Ａｘ´に対し、ｄｘ−ｄｘ´個のドットを新たに配置する。このとき、ｄｘ＝１８、ｄｘ´＝９とすると、Ｓ１３０４では、ｄｘ−ｄｘ´＝１８−９＝９個のドットを、図１４（ｂ）に白丸で示すようにランダムな位置に配置する。
【００９３】
次にＳ１３０５では、Ｓ１３０４にて新たに配置されたドットを再配置し、高分散なドットパターンとする。すなわち、図１４（ｂ）に示すドットパターンから、白丸のみを再配置し、図１４（ｃ）に示すような高分散なドットパターンとする。再配置の方法としては、公知のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法と同様に、ガウスフィルタを用いてドット密度が疎であるＶｏｉｄ領域と最もドット密度が密であるＣｌｕｓｔｅｒドットを探索し、ＣｌｕｓｔｅｒドットをＶｏｉｄ領域に移動させる。ただし、このとき、ＣｌｕｓｔｅｒドットはＳ１３０４にて新たに配置されたドット位置、すなわち図１４中白丸で示すドット位置のみを探索、移動する。
【００９４】
従来のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法では、初期パターンから各階調のドットパターンを順次決定していく。そのため、初期パターンの階調以外は、１ドット分しか配置の自由度がなく、特定階調におけるドットパターンの分散性をコントロールすることはでない。
【００９５】
一方、上記の方法では、特定の高分散階調Ｍ１〜Ｍｎのドットパターンを決める。そのため、高分散階調Ｍ１〜Ｍｎのドットパターンを決める際には、ｄｘ−ｄｘ´個分のドット配置の自由度があるため、従来よりもドット配置の自由度が高くなり、高分散なドットパターンを生成できる。以下、Ｓ１２０４おける、閾値決定処理について、詳細に説明する。前述の通り、処理対象となる注目階調におけるドットパターンは、既に決定している階調のドットパターンの制約を受ける。具体的には、ドット数ｄとドット数ｄ´（ただしｄ＋１＜ｄ´）におけるドットパターンが決定されている場合、ｄ＋１において新たに配置されるドットは、ｄ´にて配置されているドットのいずれかである。
【００９６】
図１４を用いて、より具体的に説明すると、ｄ＝１０個におけるドット配置は、図１４（ｃ）にて黒丸で示すドットパターン（９個）に、白丸で示すドットのうちいずれか１つを加えたドットパターンとなる。
【００９７】
本実施形態における閾値決定処理では、総ドット数ｓを繰り返し変数とし、総ドット数ｓ＝１からｓ＝ｗ×ｈまで変化させ、閾値マトリクスのｗ×ｈの全ての画素位置（マトリクス内アドレス）にドットが配置されるまでのドット配置を決定する。
【００９８】
図１４は、Ｓ１２０４における閾値決定処理の流れを示すフローチャートである。まず、Ｓ１５０１において、マトリクス作成部は、総ドット数ｓを初期化する。具体的にはｓ＝１とする。
【００９９】
次に、Ｓ１５０２において、ドットパターンＡ´とＡとを取得する。ドットパターンＡ´は、総ドット数ｓ−１におけるドットパターンである。また、ドットパターンＡは、Ｓ１２０３で生成したドットパターンＡ０〜Ａ８から、ドット数がｓ以上となるドットパターンを抽出し、その中でドット数が最小となるものをドットパターンＡとして取得する。
【０１００】
次に、Ｓ１５０３において、ドットパターンＡでドットＯＮ、かつドットパターンＡ´でドットＯＦＦであるドット位置のうち、いずれか１つを選択しドットＯＮとする。たとえば、公知のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法と同様に、ガウスフィルタを用いて、ドットパターンＡでドットＯＮかつドットパターンＡ´でドットＯＦＦであるドット位置のうち、もっともドット密度が疎である位置を探索し、ドットＯＮとする。
【０１０１】
Ｓ１５０４において、Ｓ１５０３でドットＯＮとなったドット位置に対応するマトリクス内アドレスに閾値ｓを割り当てる。
【０１０２】
次に、Ｓ１５０５において、ｓ＝ｗ×ｈであるか否かを判定する。ｓ＝ｗ×ｈである場合、Ｓ１５０６へ進み、閾値を正規化し、閾値マトリクスとする。具体的には、各マトリクス内アドレスに割り当てられた閾値Ｔｈから、以下の式（５）により正規化後の閾値Ｔｈ´を算出し、閾値マトリクス１０８として格納する。
【０１０３】
Ｔｈ´＝ｉｎｔ（Ｍ＿ｍａｘ×Ｔｈ／（ｗ×ｈ））      ・・・（５）
一方、ｓ＝ｗ×ｈでない場合、Ｓ１５０７に進み、ｓをｓ＋１に更新し、Ｓ１５０２へ戻る。
【０１０４】
上述のＳ１２０１〜１２０４に従うことで、各入力階調に対して図１１に示すような分散性の特性を有する閾値マトリクスを作成できる。
【０１０５】
このとき、記録データの探索範囲内に高分散階調のいずれかが含まれるように変数ｌｉｍを決定すれば、記録走査毎の累積ドットパターンを高分散に形成できる。ここでは、ｎ＝７、Ｍ０＝０、Ｍ１＝３２、Ｍ２＝６４、Ｍ３＝９６、Ｍ４＝１２８、Ｍ５＝１６０、Ｍ６＝１９２、Ｍ７＝２２４、Ｍ８＝２５５であった。この場合には、ｌｉｍ＝１６とすれば、色分解後画像データの大きさによらず、記録データの探索範囲内に高分散階調のいずれかが含まれる。すなわち、ドットパターンが高分散となる特定の記録データが一定の間隔ΔＭ（上記例ではΔＭ＝３２）である場合には、ｌｉｍ＝ΔＭ／２とすることで、色分解後画像データによらず、記録データの検索範囲内に特定の記録データのいずれかを含むことができる。
【０１０６】
本実施形態によれば、従来のＶｏｉｄ−ａｎｄ−Ｃｌｕｓｔｅｒ法のように１ドットずつ決める場合に比べ、特定の階調に対してドットパターンが高分散化された閾値マトリクスを作成できる。また、Ｍ−ｌｉｍからＭ＋ｌｉｍの探索範囲内に上記特定の階調のいずれかが含まれるようにｌｉｍを定めることで、記録走査毎の累積ドットパターンを高分散に形成できる。
【０１０７】
なお、特定の記録データの閾値マトリクスのサイズＷ×Ｈの約数の場合に高分散なドットパターンを形成しやすいことを考慮し、Ｓ１２０１で取得される特定の記録データＭ１〜Ｍｎは閾値マトリクスのサイズＷ×Ｈの約数であることが好ましい。たとえば、閾値マトリクスのサイズＷ×Ｈが２５６×２５６であれば、１６や６４、２５６など、２のべき乗であることが好ましい。
【０１０８】
なお、上記実施形態では、記録データＭ´をＭ−ｌｉｍからＭ＋ｌｉｍの範囲内から定める方法について説明したが、Ｍ´の定め方はこれに限定されない。例えば、Ｍ−αからＭ＋βのように非対称な範囲から定めてもよい。また、階調によって探索範囲を可変にしてもよい。また、探索範囲を限定せず、Ｍ１〜Ｍｎのうち、画像データＤのうちわで記録データＭに最も近い特定の記録データをＭ´としてもよい（但し、異なるパスで同じ記録データＭ´が選択されないようにすることが望ましい）。
【０１０９】
また、閾値マトリクス特性ＬＵＴ１０６として、各入力階調に対するドットパターンの分散性の評価値を保持したＬＵＴを用いる例について説明したが、閾値マトリクス特性ＬＵＴに保持する情報はこれに限定されない。例えば、本実施形態においては、相対的に高分散となるＭ１〜Ｍｎの値だけを格納するようにしてもよい。この場合、Ｍ１〜Ｍｎのうち、画像データＤのうちわで記録データＭに最も近い特定の記録データをＭ´とすればよい。
【０１１０】
＜実施形態３＞
実施形態１および２では、記録走査ごとの記録データに対して同じ閾値マトリクスを用いてディザ処理を実行する場合を例に、説明した。実施形態３では、記録走査ごとに異なる閾値マトリクスを用いる場合を例に説明する。
【０１１１】
図１５は、実施形態３で用いる複数の閾値マトリクスそれぞれについて、階調毎の分散性特性を示している。図１５（ａ）、（ｂ）、（ｃ）はそれぞれ、特定の階調が高分散なドットパターンになるように設計されている。図１５（ａ）は、パス番号１の記録走査の記録データに、図１５（ｂ）は、パス番号２の記録走査の記録データに、図１５（ｃ）はパス番号３の記録走査の記録データに対するディザ処理に用いられる。一方、図１５（ｄ）は、特定の階調に対して最適化処理をせず、全階調が同程度の分散性になるように作成している。図１５（ｄ）に示す特性を有する閾値マトリクスは、最後の記録走査となるｎ回目の記録データに対するディザ処理において用いられる。また、各閾値マトリクスは、互いに低周波領域では排他なドットパターンを出力し、高周波領域では無相関となるドットパターンを出力する関係であることが望ましい。
【０１１２】
このように複数の閾値マトリクスを利用する場合、Ｓ３０３において取得する閾値マトリクス特性ＬＵＴも複数取得することになる。実施形態３の場合、ｎ回目の記録走査に対応する閾値マトリクスを除く３つの閾値マトリクスに対応する閾値マトリクス特性ＬＵＴを取得する。
【０１１３】
図１６は、実施形態３における記録データ設定処理のフローチャートである。Ｓ１６０１において、１回目の記録走査からｎ−１回目の記録走査それぞれに対応する閾値マトリクス特性ＬＵＴを取得する。ここでは、図１５（ａ）、（ｂ）、（ｃ）に示すように、各記録走査用の閾値マトリクスにおいて、高分散となるようにドットパターンを設定された複数の階調を保持する。
【０１１４】
Ｓ１６０２において、色分解後の画像データを各記録走査に均等に分割することで、記録走査ごとの記録データを設定する。ここでは、画像データを構成する各画素の画素値に１／４を乗じることで、色分解後の画像データを分割する。
【０１１５】
Ｓ１６０３において、Ｓ１６０２において取得した閾値マトリクス特性ＬＵＴを参照して、パス番号１からパス番号３の記録走査に対応する記録データを更新する。これは、図７における処理と同様の方法で実行する。
【０１１６】
Ｓ１６０４において、パス番号４の記録データを算出する。ここでは、色分解後の画像データから各記録走査の記録データを引いた値を、パス番号４の記録データＭ４´として算出する。
【０１１７】
以上のように、記録走査ごとに異なる閾値マトリクスを用いてディザ処理してもよい。各記録走査において、対応する閾値マトリクスの特性を参照して、各記録走査の記録データを設定することで、各記録走査のドットパターンをより分散性高いドットパターンにできる。
【０１１８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１９】
１０５  記録データ設定部
１０６  閾値マトリクス特性ＬＵＴ
１０７  ハーフトーン処理部
１０８  閾値マトリクス
【図１】
2019062471.tif 000003
【図２】
2019062471.tif 000004
【図３】
2019062471.tif 000005
【図４】
2019062471.tif 000006
【図５】
2019062471.tif 000007
【図６】
2019062471.tif 000008
【図７】
2019062471.tif 000009
【図８】
2019062471.tif 000010
【図９】
2019062471.tif 000011
【図１０】
2019062471.tif 000012
【図１１】
2019062471.tif 000013
【図１２】
2019062471.tif 000014
【図１３】
2019062471.tif 000015
【図１４】
2019062471.tif 000016
【図１５】
2019062471.tif 000017
【図１６】
2019062471.tif 000018