(57)【特許請求の範囲】
【請求項１】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記閾値マトリクスにおける各行の平均値および各列の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理方法。
【請求項２】
前記閾値マトリクスにおける各行の平均値および各列の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記閾値マトリクスにおける各行の平均値および各列の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする画像処理方法。
【請求項４】
前記閾値マトリクスは、前記補正値と比較するための異なる閾値が、行および列に配列して構成され、前記設定工程では前記多値の画像データの画素位置に応じて前記閾値マトリクスの中から一つの前記閾値を選択および設定することを特徴とする請求項１乃至３のいずれかに記載の画像処理方法。
【請求項５】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記設定工程において前記閾値マトリクスから得られる各行の閾値の平均値および各列の閾値の平均値は前記基準となる閾値の±１５％の範囲に含まれており、且つ、全ての成分の絶対値は前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理方法。
【請求項６】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記設定工程において前記閾値マトリクスから得られる各行の閾値の平均値および各列の閾値の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする画像処理方法。
【請求項７】
前記Ｎ値は２値であることを特徴とする請求項１乃至６のいずれかに記載の画像処理方法。
【請求項８】
前記Ｎ値は３値以上であり、
ｍ×ｋの個々のエリアに対しドットの記録あるいは非記録が予め定められている複数のドットパターンの中から、前記量子化工程によって出力されたＮ値のデータに応じて１つのドットパターンを選択することによって、前記Ｎ値のデータを２値データに変換する工程を更に有し、
前記複数のドットパターンは、前記Ｎ値のデータの１つのレベル値に対して、複数のドットパターンが用意されていることを特徴とする請求項１乃至６のいずれかに記載の画像処理方法。
【請求項９】
前記画像処理方法は、インクを吐出するための複数のノズルが所定方向に配列されたノズル列と記録媒体とを前記所定方向と交差する交差方向に相対的に走査させながら前記量子化工程において出力されたＮ値のデータに基づいてインクを吐出することによって記録を行うための画像処理方法であって、前記所定方向は前記列に配列された値とそれぞれ対応する画素の配列方向に相当し、前記交差方向は前記行に配列された値とそれぞれ対応する画素の配列方向に相当することを特徴とする請求項１乃至８のいずれかに記載の画像処理方法。
【請求項１０】
前記ノズル列によって前記記録媒体の単位領域に複数回の前記相対的な走査で記録が行われ、前記複数回の走査のそれぞれの回の走査で１行置きに画素の記録が行われ、かつ、各回の走査で記録される画素の行が異なることを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
閾値マトリクスにおける各行の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理方法。
【請求項１２】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記閾値マトリクスにおける各列の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理方法。
【請求項１３】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記閾値マトリクスから得られる各行の閾値の平均値は前記基準となる閾値の±１５％の範囲に含まれており、且つ、全ての前記成分の絶対値は前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理方法。
【請求項１４】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、
基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、
前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、
該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、
を有し、
前記閾値マトリクスにおける各列の閾値の平均値は前記基準となる閾値の±１５％の範囲に含まれており、且つ、全ての前記成分の絶対値は前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理方法。
【請求項１５】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理装置であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得手段と、
行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定手段と、
前記設定手段で設定された閾値を前記取得手段で取得した補正値と比較した結果に応じてＮ値のデータを出力する量子化手段と、
該量子化手段で発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散手段と、
を備え、
前記閾値マトリクスにおける各行の平均値および各列の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする画像処理装置。
【請求項１６】
誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理装置であって、
画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得手段と、
行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定手段と、
前記設定手段で設定された閾値を前記取得手段で取得した補正値と比較した結果に応じてＮ値のデータを出力する量子化手段と、
該量子化手段で発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散手段と、
を備え、
前記閾値マトリクスにおける各行の平均値および各列の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする画像処理装置。
【請求項１７】
前記画像処理装置は、インクを吐出するための複数のノズルが所定方向に配列されたノズル列と記録媒体とを前記所定方向と交差する交差方向に相対的に走査させながら前記量子化工程において出力されたＮ値のデータに基づいてインクを吐出することによって記録を行うための画像処理装置であって、前記所定方向は前記列に配列された値とそれぞれ対応する画素の配列方向に相当し、前記交差方向は前記行に配列された値とそれぞれ対応する画素の配列方向に相当することを特徴とする請求項１５または１６に記載の画像処理装置。
【請求項１８】
前記ノズル列によって前記記録媒体の単位領域に複数回の前記相対的な走査で記録が行われ、前記複数回の走査のそれぞれの回の走査で１行置きに画素の記録が行われ、かつ、各回で記録される画素の行が異なることを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
前記ノズル列を備えた記録ヘッドと、前記記録ヘッドの前記ノズル列と前記記録媒体とを前記交差方向に相対的に走査させる走査手段と、
を更に備えることを特徴とする請求項１７または１８に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理方法および画像処理装置に関する。特に、誤差拡散処理を行いながらも、誤差拡散処理特有の模様やはきよせが現れない画像を記録することが可能な画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
ドットの記録あるいは非記録によって画像を記録する記録装置においては、多値の濃度データを記録（１）或いは非記録（０）の２値データに変換する量子化処理が要される。そして、このような量子化処理としては、従来、誤差拡散処理が有用されることが多い。
【０００３】
図１は、一般的な誤差拡散処理の構成を説明するためのブロック図である。入力された多値の画像データ（Ｉｎ）は、加算器１０１によって周辺画素からの拡散誤差（ｄＩｎ）が加算され、入力補正値（Ｉｎ＋ｄＩｎ）となる。その後、比較器１０２によって所定の閾値（ｔｈｒｅｓｈｏｌｄ）と比較され、記録あるいは非記録のどちらか一方に２値化された値が出力される。例えば、入力される多値画像データ（Ｉｎ）が０〜２５５を有する値であり、閾値が１２８である場合、入力補正値（Ｉｎ＋ｄＩｎ）≧１２８となる画素の出力値（Ｏｕｔ）は２５５（記録）となる。一方、入力補正値（Ｉｎ＋ｄＩｎ）＜１２８となる画素の出力値（Ｏｕｔ）は０（非記録）となる。この時、比較器では入力補正値と出力値との差（誤差）ｄＯｕｔ＝（Ｉｎ＋ｄＩｎ）−１２８を算出し、所定の重み付けを行いながら誤差バッファ１０３に保存する。そして、このように保存された誤差は、周辺に位置する未処理の画素の２値化処理を行う際に、上記拡散誤差（ｄＩｎ）として使用される。
【０００４】
このように、誤差拡散処理では、入力される多値の画像データを予め定められた閾値と比較して記録あるいは非記録を決定するが、この際に発生する誤差を周辺に位置する未処理の画素に分配（拡散）することに特徴がある。
【０００５】
但し、図１に示したような単純な誤差拡散法においては、閾値が一定であることが原因で、２値化された後の画像において特有の模様やはきよせが確認されることがあった。これに対し、例えば特許文献１では、固定の閾値に乱数成分を加算することにより、図２に示すように複数の異なる閾値を閾値マトリクスとして用意して、これを繰り返し使用する方法が開示されている。また、特許文献２には、特許文献１のように用意した閾値マトリクスを、単純な繰り返しではなくローテーションをかけながら使用する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３３３２７７号公報
【特許文献２】特開２００４−１２０１３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、予め用意した閾値マトリクスを繰り返して使用するため、出力画像において、その閾値マトリクスのサイズに応じた周期模様が確認される場合があった。このような周期模様を目立たなくするためには、閾値マトリクスのサイズを大きくすることが有効であるが、この場合には閾値マトリクスを格納するためのメモリ容量が増大するという問題が生じてしまう。
【０００８】
これに対し特許文献２の方法によれば、閾値マトリクスが単純な繰り返しで使用されないので、比較的小さな閾値マトリクスを使用する場合であっても、閾値マトリクスの周期が画像に現れ難い。従って、メモリ容量に影響することなくマトリクスサイズを大きくした場合と同様の効果を得ることが出来る。また、複数のカラーインクで同じ閾値マトリクスを使用しながらも、そのローテーションの量や方向を各色で異ならせることにより、カラー画像における周期的なむらを回避することも出来る。
【０００９】
しかしながら、特許文献２の方法では、閾値マトリクスのローテーションのために、閾値マトリクスの読みだし回数が増え、ローテーション処理の負荷が増大する。その結果、画像処理の速度が低下し、記録装置のプリント速度の低下も招致されてしまう。
【００１０】
また、上述したような閾値マトリクスを用いて量子化された画像に対しマルチパス記録方法を採用すると、マルチパス記録に使用するマスクパターンと閾値マトリクスとの間の同調が原因で、周期的なドットの粗密が発生する場合も確認された。この場合、マルチパス記録を行っても、その効果が現れ難かったり、マルチパス記録時の僅かな記録位置ずれが上記粗密を顕著にして画像劣化を招いたりすることがあった。
【００１１】
本発明は、上記問題点を解決するためになされたものである。よってその目的とするところは、メモリ容量の増大化や画像処理の負担を増大させることなく、比較的単純な構成で、誤差拡散特有の模様やはきよせ、あるいはマルチパス記録時のドットの粗密が回避されるような量子化処理を行う画像処理方法を提供することである。
【課題を解決するための手段】
【００１２】
そのために本発明は、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記閾値マトリクスにおける各行の平均値および各列の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
【００１３】
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記閾値マトリクスにおける各行の平均値および各列の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする。
【００１４】
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記設定工程において前記閾値マトリクスから得られる各行の閾値の平均値および各列の閾値の平均値は前記基準となる閾値の±１５％の範囲に含まれており、且つ、全ての前記成分の絶対値は前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
【００１５】
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記設定工程において前記閾値マトリクスから得られる各行の閾値の平均値および各列の閾値の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする。
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、閾値マトリクスにおける各行の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記閾値マトリクスにおける各列の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記閾値マトリクスから得られる各行の閾値の平均値は前記基準となる閾値の±１５％の範囲に含まれており、且つ、全ての前記成分の絶対値は前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
また、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理方法であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得工程と、基準となる閾値からの差分を定めるための成分が行および列に配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの成分を決定し、該成分と前記基準となる閾値より前記補正値と比較するための閾値を設定する設定工程と、前記設定工程で設定された閾値を前記取得工程で取得された補正値と比較した結果に応じてＮ値のデータを出力する量子化工程と、該量子化工程に伴って発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散工程と、を有し、前記閾値マトリクスにおける各列の閾値の平均値は前記基準となる閾値の±１５％の範囲に含まれており、且つ、全ての前記成分の絶対値は前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
更に、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理装置であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得手段と、行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定手段と、前記設定手段で設定された閾値を前記取得手段で取得した補正値と比較した結果に応じてＮ値のデータを出力する量子化手段と、該量子化手段で発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散手段と、を備え、前記閾値マトリクスにおける各行の平均値および各列の平均値は全画素の平均値の±１５％の範囲に含まれており、且つ、全ての閾値について、全閾値の平均値との差は、前記量子化工程で発生しうる前記誤差の最大値よりも小さいことを特徴とする。
更にまた、誤差拡散処理により多値の画像データをより低レベルのＮ値（Ｎは２以上の整数）に量子化処理するための画像処理装置であって、画像中の処理対象の画素の前記多値の画像データに周辺画素からの誤差を加算して補正値を取得する取得手段と、行および列に異なる値が配列して構成される閾値マトリクスから、前記処理対象の画素の画素位置に応じて一つの値を決定し、前記補正値と比較するための閾値を設定する設定手段と、前記設定手段で設定された閾値を前記取得手段で取得した補正値と比較した結果に応じてＮ値のデータを出力する量子化手段と、該量子化手段で発生する前記補正値と前記Ｎ値のデータの誤差を、未だ量子化工程を行っていない周辺の画素位置に拡散する拡散手段と、を備え、前記閾値マトリクスにおける各行の平均値および各列の平均値のうち、一方は互いに等しく、他方は全画素の平均値の±１５％の範囲で異なる値を含んでいることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、比較的単純な構成で、誤差拡散特有の模様やはきよせ、あるいはマルチパス記録時のドットの粗密が回避されるような量子化処理を行うことが可能となる。
【図面の簡単な説明】
【００１７】
【図１】一般的な誤差拡散処理の構成を説明するためのブロック図である。
【図２】一般的な閾値マトリクスを示す図である。
【図３】第1の実施形態における誤差拡散処理の構成を説明するためのブロック図である。
【図４】拡散係数マトリクスの一例を示す図である。
【図５】２パスのマルチパス記録方法を説明するための模式図である。
【図６】特許文献１で開示されている閾値マトリクスを示す図である。
【図７】図６の閾値マトリクスを用いて２値化処理を行った結果を示した図である。
【図８】図７の記録データを２パス記録した場合のドットデータを示す図である。
【図９】第1の実施形態で用いる閾値マトリクスを示す図である。
【図１０】図９の基本閾値マトリクスを用いて２値化処理を行った結果を示す図である。
【図１１】図１０で示す記録データ２パス記録した場合のドットデータを示す図である。
【図１２】本発明の閾値マトリクスの生成方法を説明するためのフローチャートである。
【図１３】第2の実施形態のデータ変換を模式的に示した図である。
【図１４】第２の実施形態で用いる閾値マトリクスを示す図である。
【図１５】第2の実施形態で使用するドットパターンを示す図である。
【図１６】（ａ）および（ｂ）は、インデックスパターンを用いて２値化した結果を示す図である。
【図１７】従来法で作成した閾値マトリクスの一例を示す図である。
【図１８】（ａ）および（ｂ）は、インデックスパターンを用いて２値化した結果を示す図である。
【図１９】閾値マトリクスの作成方法の別例を説明するためのフローチャートである。
【図２０】図１９のフローチャートに従って作成した閾値マトリクスの一例である。
【図２１】２パスのマルチパス記録に適用可能なマスクパターンの別例を示す図である。
【図２２】図２０のマスクパターンで２パス記録した場合のドットデータを示した図である。
【発明を実施するための形態】
【００１８】
図３は、本実施形態における誤差拡散処理の構成を説明するためのブロック図である。従来例として説明した図１の構成と異なる点は、個々の画素の量子化を行う際に用いる閾値を決定するための手段として、閾値マトリクス１０４と閾値選択部１０５が用意されていることである。本実施形態の閾値マトリクス１０４は、図９に示すように、主走査方向３２画素×副走査方向１６画素からなる画素領域のそれぞれに、異なる閾値が予め定められた構成となっている。本実施形態の閾値マトリクスの詳細な内容および効果については後に詳しく説明する。
【００１９】
本実施形態において、多値の画像データ（Ｉｎ）は、８ビットで表される０〜２５５の値を有する。加算器１０１によって周辺画素からの拡散誤差（ｄＩｎ）が加算された入力補正値（Ｉｎ＋ｄＩｎ）は、閾値選択部１０５が基本閾値マトリクス１０４から選択した１つの閾値（ｔｈｒｅｓｈｏｌｄ）と、比較器１０２によって比較される。そして、記録（２５５）あるいは非記録（０）のどちらか一方に２値化された値として出力される。比較器では入力補正値と出力値との差（誤差）を算出し、所定の拡散係数に従って周辺の画素に重み付けを行いながら誤差バッファ１０３に保存する。拡散係数としては、図３の誤差バッファ１０３に記載されているような値を用いることも出来るし、また図４に示すような値とすることも出来る。このように保存された誤差は、周辺に位置する未処理の画素の２値化処理を行う際に、上記拡散誤差（ｄＩｎ）として使用される。
【００２０】
図５は、本実施形態で採用するシリアル型のインクジェット記録装置における、２パスのマルチパス記録方法を説明するための模式図である。図において、Ｐ００１は個々の吐出口からインクを滴として吐出する記録ヘッドを示す。ここでは、説明の簡略化のため、１６個の吐出口（以下、ノズルともいう）を有する記録ヘッドが示されている。２パスのマルチパス記録の場合、１６個のノズルは、図のように８つずつの第１ノズル群と、第２のノズル群に分割して考えることが出来る。
【００２１】
Ｐ００２は２パスのマルチパス記録で使用可能なマスクパターンの一例を示しており、各ノズルに対し記録を許容する画素を黒で、記録を許容しない画素を白で示している。第1ノズル群と第2ノズル群で使用するマスクパターンは互いに補完の関係を有している。
【００２２】
実際の記録を行う際、記録ヘッドＰ００１は、図のｘ方向に移動しながら、記録データに従ってインクを吐出する。このような記録データは、上記量子化処理から出力される２値の画像データと、上記マスクパターンの２値データの間で論理積をとることによって決定される。１回の記録主走査が終了すると、記録用紙は図のｙ方向に８ノズル分（１ノズル群分）だけ搬送される。このような記録ヘッドＰ００１による記録主走査と、記録用紙の８ノズル分の搬送動作を繰り返すことにより、記録用紙の８ノズル分に相当する単位領域では、互いに補完関係を有する２つのマスクパターンに対応した２回の記録主走査によって、画像が完成される。図において、 Ｐ００３およびＰ００４は、第1走査と第2走査によって画像が形成される様子をそれぞれ示している。
【００２３】
本例では、ｘ方向において、１画素おきに記録許容画素が配列するマスクパターンの例を示した。このようなマスクパターンを用いた記録では、個々のノズルが２回連続して吐出を行うことがなくなるので、ノズルが実現可能な吐出周波数以上の速度で記録ヘッドを主走査方向に移動させることが出来る。その結果、通常のマスクパターンに比べて、記録速度を上げることが出来る。一般に、マルチパス記録では、１パス記録に比べて記録主走査の回数が増大するために記録速度が低速になりがちである。しかし、図５のようなマスクパターンを用いれば、記録速度の低下を最低限に抑えることが可能となる。
【００２４】
以下、本実施形態の閾値マトリクスの特徴および効果を説明する。
【００２５】
図６は、本実施形態で使用する閾値マトリクス１０４と比較するための、特許文献１で開示されている閾値マトリクスである。ここでは、ｘ方向（主走査方向）に３２画素、ｙ方向（副走査方向）に１６画素の領域を有する閾値マトリクスとなっている。図３で説明した閾値選択部１０５は、画像データ（Ｉｎ）の画素位置に上記閾値マトリクス１０４を対応づけながら、１つの入力画素に対して１つの閾値を、閾値マトリクス１０４の中から順番に選択する。そして、閾値マトリクス１０４内の全ての閾値が選択されると、再び閾値マトリクスの先頭に戻って、順番に閾値を対応させるようになっている。
【００２６】
特許文献１の閾値マトリクスでは、中間信号値１２８に対し、乱数成分を加算して個々の閾値が設定されている。図において、閾値マトリクスの右部および下部には、各行のｘ方向の平均値と各列のｙ方向の平均値が示されている。これら平均値は、各行および各列におけるドットの記録確率に相応すると言える。すなわち、閾値の平均値が低い行（列）については、入力補正値が閾値よりも大きくなり易いので、比較的ドットが記録されやすい行（列）となる。反対に、閾値の平均値が高い行（列）については、入力補正値が閾値よりも小さくなり易いので、比較的ドットが記録され難い行（列）となる。図６の場合、単純に乱数成分を発生することによって個々の閾値を設定しているので、行内や列内の閾値は互いに何の関連性も有していない。その結果、行間や列間の平均値がこのようにランダムにばらついている。
【００２７】
図７は、図６の閾値マトリクスを用いて２値化処理を行った結果を示した図である。２値化処理後の記録データにおいては、閾値マトリクスを繰り返して対応付けている為の周期的な模様が発生する。これは、閾値マトリクス内においてドットの分散性に偏りがあることからドットの粗密が生じ、この粗密が繰り返し返されることにより模様となって認識されるからである。
【００２８】
図８は、図７の記録データを、図５に示すマスクパターンを用いて２パス記録した場合の、１パス目で記録されるドットデータと２パス目で記録されるドットデータをそれぞれ示した図である。このようなドットデータでは、図７よりも更に強いドットの粗密が縦すじとなって確認される。これは、図６の閾値マトリクスでは、各列の平均値のばらつきが大きいために、ドットが記録されやすいカラム（列）とドットが記録され難いカラム（列）が発生し、これらカラムの配列が縦すじを招致するからである。更に、図８のようなドットデータでマルチパス記録を行った場合、記録走査間で僅かな記録位置ずれや個々のドットの着弾位置ずれが生じると、これら粗密は更に強調され、記録画像においてより顕著な縦すじが確認される。
【００２９】
一方、図９は、本実施形態で用いる閾値マトリクス１０４を示す。本実施形態で用いる閾値マトリクスでは、各列のｙ方向の平均値は全ての列について１２８と一致している。一方、各行のｘ方向の平均値は１２７．２５４〜１２８．７５の小さなばらつきとなっている。すなわち、本実施形態の閾値マトリクスにおける各行および各列の平均値は、従来例の図６の閾値マトリクスほどばらついていない。
【００３０】
図１０は、図９の基本閾値マトリクスを用いて２値化処理を行った結果を示す図である。２値化処理後の記録データにおいては、閾値マトリクスを繰り返して対応付けているにもかかわらず、周期的な模様は殆ど確認されない。これは、基本閾値マトリクス内においてドットの分散性に偏りが無いことからドットの粗密が発生せず、同様のパターンが繰り返し返されても、その周期が模様となって認識され難いからである。
【００３１】
図１１は、図１０で示す記録データを図５に示すマスクパターンを用いて２パス記録した場合の、１パス目で記録されるドットデータと２パス目で記録されるドットデータをそれぞれ示した図である。本実施形態におけるこのようなドットデータでは、図８で確認されるようなドットの粗密は確認されない。これは、図９の閾値マトリクスでは、各列の平均値のばらつきが無いために、ドットが記録されやすいカラム（列）とドットが記録され難いカラム（列）が発生しないからである。よって、図１１のようなドットデータでマルチパス記録を行っても、記録走査間の僅かな記録位置ずれや個々のドットの着弾位置ずれが縦ずじに影響することは無く、一様な記録画像を出力することが出来る。
【００３２】
図１２は、本実施形態で使用する閾値マトリクスの生成方法を説明するためのフローチャートである。本処理を開始すると、まずステップ１において、３２×１６の初期マトリクスを作成する。初期マトリクスは、閾値の基準値１２８に対し、９段階のノイズ（−３２、−２４、−１６、−８、０、＋８、＋１６、＋２４、＋３２）を与えた値を用いて作成する。具体的には、各列のデータとして、全１６個の平均値が１２８となるように、上記９種類の値の中から１６個ずつの閾値を選択する。
【００３３】
次に、ステップ２において、各列内の組み合わせは固定した状態で、ぞれぞれの列の値を縦方向にのみ移動（シャッフル）し、各行内の組み合わせを変更する。そして、各行の平均値と基準値（１２８）との差分を求め、この差分の全１６行分の和を算出する。
【００３４】
ステップ３では、ステップ２で求めた和が最小値になったか否かを判断し、最小であったらステップ４に進み、現在の閾値位置でマトリクスを完成させる。一方、ステップ２で求めた差が最小になっていない場合は、ステップ２に戻り、再度縦方向の移動をして、次の組み合わせでの平均値および差分の和を求める。このような閾値の移動と平均値の判断を、上記差分の和が最小値になるまで繰り返す。このとき上記最小値はステップ１で初期マトリクスを作成した時点で決まっている。具体的には、初期マトリクスの全１６行それぞれの平均を更に１６行間で平均した値と基準値１２８との差が上記最小値となる。このようにして図９で示すような閾値マトリクスを作成することが出来る。
【００３５】
以上説明した本実施形態によれば、行方向および列方向の平均値をほぼ同値にした閾値マトリクスを使用して誤差拡散処理を行うことにより、比較的単純な構成で誤差拡散特有の模様やはきよせ或いはマルチパス記録時のドットの粗密の無い画像を出力可能となった。
【００３６】
なお、本実施形態では、基準値１２８に対し９段階のノイズ（−３２、−２４、−１６、−８、０、＋８、＋１６、＋２４、＋３２）を加算した値を閾値としたが、本実施形態の閾値マトリクスは、このような閾値の組み合わせに限定されるものではない。ノイズの範囲や刻み幅は、図４で示したような拡散係数マトリクスや記録装置の記録モード、ドットの大きさ等によって最適に設定することが望ましい。また、複数色のインクを使用する場合には、各インク色によって適切な閾値マトリクスを用意してもよい。
【００３７】
閾値マトリクスの作成方法についても図９で示した手法に限られるものではない。例えば上記では、列方向の平均値が等しい初期マトリクスを用意して行方向の平均値を揃える手法を用いたが、先に行方向の平均値が等しい初期マトリクスを用意して列方向の平均値を揃える方法であっても構わない。完成された閾値マトリクスにおいて、行方向の平均値と列方向の平均値がほぼ同値であれば、いかなる手法で作成しようと、本実施形態の効果を得ることが出来る。本発明者らの検討によれば、行方向、列方向共に、平均値のばらつきが平均値の±１０％の範囲内にあれば、閾値マトリクスの周期で現れる模様は目立たないことが確認された。また、行方向、列方向共に、平均値のばらつきが平均値の±１５％の範囲内にあれば、マルチパス記録の際のすじも目立ち難いことが確認された。
【００３８】
（第２の実施形態）
本実施形態では、多値誤差拡散処理によって多値（例えば２５６値）の画像データをより低レベルな多値データ（例えば４値）に量子化してから、予め用意したドットパターンを用いて２値データに変換する場合の画像処理について説明する。
【００３９】
図１３は本実施形態のデータ変換を模式的に示した図である。８ビット２５６階調を有する６００ｄｐｉ（ドット／インチ）の画像データ４０１は、まず多値誤差拡散処理によって２ビット４階調を有する６００ｄｐｉの画像データ４０２に変換される。その後、ドットパターン化処理によって、１ビット２階調を有する１２００ｄｐｉの２値データ４０３に変換される。このようなデータ変換を採用すれば、誤差拡散処理のような画像処理を記録装置の記録解像度（１２００ｄｐｉ）よりも低い解像度（６００ｄｐｉ）で行うことが出来るので、処理時間を短縮することが出来る。
【００４０】
ところで、多値誤差拡散処理では、量子化処理を行うために複数の閾値が必要となる。例えば多値誤差拡散処理がＮ値化処理（Ｎは２以上の整数）であれば（Ｎ−１）個の閾値が必要となる。本実施形態では、Ｎを３値以上とした場合のＮ値化の誤差拡散処理を行うために（Ｎ−１）段階の基準閾値と１つの閾値マトリクスを用意する。（Ｎ−１）段階の基準閾値とは、例えば０〜２５５の信号値を４値化する場合、６４、１２８、１９２の３段階とすることが出来る。
【００４１】
図１１は、本実施形態で使用する閾値マトリクスの一例を示す図である。本実施形態では、０を中心としたノイズ成分をマトリクス内部に記憶している。図において、閾値マトリクスの右部および下部には、各行のｘ方向の平均値と各列のｙ方向の平均値が示されている。これら平均値のばらつきは、第１の実施形態と同様、各行および各列におけるドットの記録確率のばらつきに相応すると言える。本実施形態では、各列のｙ方向の平均値は全ての列について０である。一方、各行のｘ方向の平均値は１．２５〜−１．２５のような０を中心とした小さなばらつきとなっている。このようなマトリクスを使用することにより、各基準閾値における行方向および列方向のドットのばらつきを抑えることが出来る。
【００４２】
なお、本実施形態においても第１の実施形態と同様、図３に示したブロック図を採用することが出来る。このとき、閾値マトリクス１０４には、図１４に示すようなノイズ成分のみの値が記憶されている。量子化を行う際、閾値選択部１０５は、閾値マトリクス１０４から選択した１つのノイズ成分を３つの基準閾値（６４、１２８、１９２）にそれぞれに対して加算して３つの閾値を用意し、比較器１０２に渡す。比較器１０２は、これら３つの閾値と入力補正値との比較を行い、０〜３いずれかの値を出力する。
【００４３】
本実施形態において、多値誤差拡散処理から出力された０〜３の４値のデータを有する６００ｄｐｉの画像データは、その後記録（１）あるいは非記録（０）を定める１２００ｄｐｉの２値データに変換される。この際、予め用意された複数のドットパターンが参照され、それぞれの画素が有するレベルに対応したドットパターンが１つずつ選択される。
【００４４】
図１５は、本実施形態で使用するドットパターンを示す図である。２×２で構成される４つのエリア領域は６００ｄｐｉの１画素に対応し、１×１の各エリアは１２００ｄｐｉの１画素に対応している。図において、黒く示したエリアがドットを記録する画素、白く示したエリアがドットを記録しない画素をそれぞれ示している。レベル値が上がるにつれて、ドットを記録するエリアが増えているのがわかる。本実施形態では、１つのレベルにつき４種類のドットパターン（Ｉ）〜（ＩＶ）を用意しており、同じレベルが連続した場合であっても、異なるパターンが順番に使用されるようになっている。
【００４５】
図１６（ａ）および（ｂ）は、多値誤差拡散処理した結果を、図１５のインデックスパターンを用いて２値化した結果を示す図である。ここでは、６００ｄｐｉの全ての画素がレベル１に量子化された場合を図１６（ａ）で示している。このように、６００ｄｐｉの全ての画素が同じレベルのとき、ドットパターンが１種類（例えば図１５の（Ｉ））しか用意されていないと、ドットの記録は奇数列或いは偶数列のどちらか一方、また奇数行あるいは偶数行のどちらか一方に片寄ってしまうおそれがある。しかし、図１５に示すような４種類のドットパターンを、行方向、列方向に順番に宛がうようにすれば、図１６（ｂ）に示すように、ドットの記録が奇数列或いは偶数列のどちらか一方、また奇数行あるいは偶数行のどちらか一方に片寄ることを抑えることが出来る。図１６（ｂ）において２値データの右部および下部には、各行および各列における記録ドットの和が示されている。図からも明らかなように、各行の記録ドットの数は等しく４であり、各列の記録ドットの数は等しく２となっている。このように、本実施形態において複数のドット配置パターンを用意することにより、多値誤差拡散処理によって定められたレベル値に対応しながらも、６００ｄｐｉの画素内のドットの片寄りを抑えることが出来る。
【００４６】
但し、従来の閾値マトリクスを用いて多値誤差拡散を行った場合、６００ｄｐｉの各行および各列間においては、閾値マトリクスの平均値にばらつきが含まれる。
【００４７】
図１７は、第２の実施形態と比較するための、従来法で作成した閾値マトリクスの一例を示す図である。乱数を発生させて生成したノイズ成分がマトリクス内部に記憶されている。各列のｙ方向の平均値も各行のｘ方向の平均値も図１４で示した本実施形態の閾値マトリクスに比べてばらつきが大きい。すなわち、レベル値が高くなり易い或いは低くなり易い行や列がどうしても発生してしまう。
【００４８】
図１８（ａ）および（ｂ）は、図１７に示す閾値マトリクスを用いて多値誤差拡散処理した結果を、図１５のインデックスパターンを用いて２値化した結果を示す図である。この場合、元々レベル値が高い傾向にある行や列、レベル値が低い傾向にある行や列が不規則に配置しているので、図１５に示すようなドットパターンを用いて６００ｄｐｉの画素内でドットの偏りを抑えても、より広い範囲のドットの粗密を抑えることは出来ない。その結果、図１８（ｂ）に見るように、１２００ｄｐｉの各列の記録ドットの数も、各行の記録ドットの数も偏った状態となっている。
【００４９】
このように、本実施形態においては、各行および各列間において平均値にばらつきが含まれない閾値マトリクスを用いた多値誤差拡散処理と、図１５に示すような複数のドットパターンを用いた２値化処理の協働により、ドットを好適に分散させているのである。
【００５０】
なお、以上の説明では、多値誤差拡散により４値化したデータを２×２のドットパターンを用いて２値化する例で説明を行ったが、本実施形態はこのような構成に限定されるものではない。本実施形態は、多値の画像データをより低いレベルのＮ値に量子化し、その後ｍ×ｋのドットパターンを用いて記録装置の記録解像度に見合った２値データに変換できる構成であれば、Ｎ、ｍおよびｋの値はいかなる値であっても対応可能である。
【００５１】
また、閾値マトリクスを生成する際のノイズ成分も、基準値０に対し９段階のノイズ（−３２、−２４、−１６、−８、０、＋８、＋１６、＋２４、＋３２）を加算した値としたが、このような組み合わせに限定されるものでもない。第１の実施形態と同様、ノイズの範囲や刻み幅は、誤差拡散処理で使用する拡散係数マトリクスや記録装置の記録モード、ドットの大きさ等によって最適に設定することが望ましい。また、複数色のインクを使用する場合には、各インク色によって適切な閾値マトリクスを用意してもよい。
【００５２】
（その他の実施形態）
以上説明した第１の実施形態では閾値を格納した閾値マトリクスを用意し、第２の実施形態では基準値に対応するノズル成分を閾値マトリクスとして用意する内容で説明したが、無論このような構成は本発明を限定するものではない。第１の実施形態においても、１つの基準値１２８に対しノイズ成分のみを格納した一つの閾値マトリクスを用意する形態であっても構わない。この場合、１つの基準値１２８に対し、各インク色で異なるノイズ成分のマトリクスを用意することも有効である。一方、第２の実施形態においても、ノイズ成分ではなく閾値を格納した（Ｎ−１）種類の閾値マトリクスを予め用意しておくことにより、Ｎ値に量子化する構成であっても構わない。
【００５３】
また、本発明の特徴的な閾値マトリクスの作成方法は図１２で説明したフローチャートに限定されない。
【００５４】
図１９は、本発明で使用可能な閾値マトリクスの作成方法の別例を説明するためのフローチャートである。本処理を開始すると、まずステップ１１において、３２×１６の初期マトリクスを作成する。初期マトリクスは、閾値の基準値１２８に対し、±３２の範囲で刻み幅を１段階のノイズ（−３２、−３１、−３０、・・・＋３０、＋３１、＋３２）を与えた値を用いて作成する。すなわち、初期マトリクスは、（９６、９７、９８、・・・１５８、１５９、１６０）の値で構成される。
【００５５】
初期マトリクスを作成する工程を具体的に説明すると、まず上記３２個の値を乱数を用いて発生させ、１行目のマトリクスを生成する。そして、これら３２個の平均値を計算し１２８か否かを判断し、１２８であったら、この行のマトリクスを仮設定する。平均値が１２８でなければ、再び乱数を発生して新たな１行目のマトリクスを生成する。このような生成と判断を平均値が１２８になるまで繰り返す。１行目のマトリクスが仮設定されると、次に２行目のマトリクスを１行目と同じようにして仮設定する。以下、１６行目のマトリクスまで上記工程を繰り返し、３２×１６の初期マトリクスが完成する。
【００５６】
ステップ１１で初期マトリクスが完成すると、ステップ１２では、初期マトリクスの各列について平均値を求める。そして、平均値が最大の列と最小の列を選出する。
【００５７】
続くステップ１３では、初期マトリクスを構成する１６行の中から所定の一行を選択し、その行の中の平均値が最大の列の値と平均値が最小の列の値を入れ替える。上記所定の一行とは、上記入れ替えにより上記最大値と最小値の差が最も小さくなるような行とする。
【００５８】
更にステップ１４において、３２列全ての平均値が１２８になったか否かを判断する。３２列全ての平均値が１２８で無い場合はステップ１２に戻り、全ての列の平均値が１２８になるまでステップ１２〜ステップＳ１４を繰り返す。全ての列の平均値が１２８になったら、その段階のマトリクスを閾値マトリクスとして決定し、本処理を終了する。
【００５９】
図２０は、図１９のフローチャートに従って取得される閾値マトリクスの一例である。このような閾値マトリクスを用いて誤差拡散処理を行った場合、個々の画素に対する閾値を異ならせながらも、全ての列および全ての行について閾値の平均値を一律１２８にすることが出来る。よって、第１の実施形態に比べ更に改善された画像を期待することが出来る。
【００６０】
また、上記実施形態１および２では、図５に示したマスクパターンを用い、奇数カラムと偶数カラムを異なる走査で記録する２パスのマルチパス記録について説明したが、無論本発明はこのようなマルチパス記録に限定されるものではない。
【００６１】
図２１は、本発明において２パスのマルチパス記録に適用可能なマスクパターンの別例を示す図である。また、図２２は、図１０に示す２値データに対し、図２０のマスクパターンを用いて２パス記録した場合の、１パス目で記録されるドットデータと２パス目で記録されるドットデータをそれぞれ示した図である。このようなマスクパターンを用いた場合であっても、第１実施形態で説明した図１１と同様、ドットの粗密は確認されない。
【００６２】
図５や図２１に示したマスクパターンは、２パス記録に適用可能なマスクパターンの一例であり、本発明においては互いに補完関係のあるマスクパターンであればいかなるものも適用可能である。また、２パス以外のマルチパス記録であっても、上述した特徴を有する閾値マトリクスとの組み合わせによって、本発明の効果を発揮し、良好な画像を出力することが出来る。
【００６３】
また、以上の実施形態では、本発明の特徴的な閾値マトリクスを使用することにより、特許文献２のようなローテーションを行わなくても、少ないメモリで誤差拡散特有の模様やはきよせを回避可能であることを説明した。しかしながら、本発明は特許文献２の構成を排除するものではない。本発明における特徴的な閾値マトリクスを用いながらも、当該マトリクスに対し特許文献２に記載のローテーションをかけながら、各画素に対する閾値を設定することにより、両者の協働によって誤差拡散特有の模様やはきよせを更に効果的に抑制することも出来る。
【符号の説明】
【００６４】
１０１  加算器
１０２  比較器
１０３  誤差バッファ
１０４  閾値マトリクス
１０５  閾値選択部
Ｐ００１  記録ヘッド
Ｐ００２  マスクパターン
【図１】
0005769428.tif 000002
【図２】
0005769428.tif 000003
【図３】
0005769428.tif 000004
【図４】
0005769428.tif 000005
【図５】
0005769428.tif 000006
【図６】
0005769428.tif 000007
【図７】
0005769428.tif 000008
【図８】
0005769428.tif 000009
【図９】
0005769428.tif 000010
【図１０】
0005769428.tif 000011
【図１１】
0005769428.tif 000012
【図１２】
0005769428.tif 000013
【図１３】
0005769428.tif 000014
【図１４】
0005769428.tif 000015
【図１５】
0005769428.tif 000016
【図１６】
0005769428.tif 000017
【図１７】
0005769428.tif 000018
【図１８】
0005769428.tif 000019
【図１９】
0005769428.tif 000020
【図２０】
0005769428.tif 000021
【図２１】
0005769428.tif 000022
【図２２】
0005769428.tif 000023