(57)【特許請求の範囲】
【請求項１】
入力画像をハーフトーン画像に変換する画像処理装置において、
値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
前記入力画像の所定領域に含まれる各画素に対応する前記閾値マトリクスの閾値のうち、書き換える閾値に対応する画素位置の候補を決定する画素位置決定手段と、
前記所定領域に含まれる各画素の画素位置に対応する閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定手段により候補と決定された少なくとも１つの画素位置に対応する閾値を書き換える閾値決定手段と、
を有し、
前記閾値決定手段は、前記所定領域に含まれる各画素のうち少なくとも１画素の画素位置に対応する閾値の書き換えは行わない
ことを特徴とする画像処理装置。
【請求項２】
前記閾値決定手段は、前記候補と決定された画素位置に対応する閾値を、前記候補と決定された画素位置以外の画素に対応する閾値の値に書き換えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素位置決定手段は、前記所定領域において所定値より大きい画素値をもつ画素のうち、前記閾値マトリクスの閾値の中で書き換える閾値に対応する画素位置の候補を決定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画素位置決定手段は、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記画素位置決定手段は、画素値が所定の値以下である画素を、閾値を提供可能な画素と判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記閾値決定手段は、前記閾値提供可能と判定された画素の閾値が前記画素位置決定手段により候補と決定された画素位置の閾値より小さい場合に、前記閾値提供可能と判定された画素の閾値を前記画素位置決定手段により候補と決定された画素位置の新たな閾値として決定することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記閾値決定手段は、前記閾値提供可能と判定された画素の閾値に係数を掛けた値が前記画素位置決定手段により候補と決定された画素位置の閾値より小さい場合に、前記閾値提供可能と判定された画素の閾値に係数を掛けた値を前記画素位置決定手段により候補と決定された画素位置の新たな閾値として決定することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記係数は、前記各画素と前記閾値提供可能と判定された画素との距離に基づいて決定されることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記閾値決定手段は、前記各画素が、前記入力画像内の線を構成する画素である場合に、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定することを特徴とする請求項４に記載の画像処理装置。
【請求項１０】
前記入力画像の各画素が線を構成する画素であるか否かを示す情報を取得する手段を更に備え、
取得した前記情報により、前記画素位置決定手段により候補と決定された画素位置の画素が、前記線を構成する画素であるかどうかが特定されることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記変換が多値を出力する変換である場合、当該多値のうちの任意の値を設定し、
前記閾値決定手段は、前記画素位置決定手段により候補と決定された画素位置の画素が、設定された前記任意の値以下の画素である場合に、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記閾値マトリクスは、当該閾値マトリクスよりも小さいサブマトリクスを用いて作成された閾値マトリクスであることを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記サブマトリクスのサイズは、前記所定領域と同サイズであることを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記所定領域は、同じ画素が複数の所定領域に跨って属さないように設定されることを特徴とする請求項１乃至１３の何れか一項に記載の画像処理装置。
【請求項１５】
前記閾値マトリクスは、ブルーノイズ特性を持つことを特徴とする請求項１乃至１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記画素位置決定手段は、前記入力画像における第１の領域の中の当該第１の領域よりも小さい第２の領域が、閾値を提供可能な領域かどうかを判定する判定手段をさらに備え、
前記閾値決定手段は、
前記判定手段の判定結果に従い、前記第１の領域を前記所定領域として前記画素位置決定手段により候補と決定された画素位置の新たな閾値を仮に決定する手段と、
前記仮に決定された新たな閾値を反映した閾値マトリクスを用いて、前記第２の領域を前記所定領域として、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定する手段と、
を備える
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１７】
前記画素位置決定手段は、前記所定領域における白画素でない非白画素のうち、対応する閾値に基づいて、閾値を書き換える画素位置の候補を決定し、
前記閾値決定手段はさらに、
前記所定領域における白画素に対応する閾値を参照し、最小閾値を抽出する第一の抽出手段と、
前記第一の抽出手段によって抽出された所定領域内の白画素に対応する最小閾値と、前記画素位置決定手段により候補として決定された画素位置に対応する閾値とを比較し、比較結果に応じて、前記画素位置決定手段により候補として決定された画素位置に対応する閾値を、前記第一の抽出手段によって抽出された所定領域内の白画素に対応する最小閾値に基づいて書き換える書換手段と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項１８】
前記画素位置決定手段は、前記所定領域に含まれる各画素の画素値に基づいて、書き換える閾値に対応する画素位置の候補を決定することを特徴とする請求項１乃至１７の何れか一項に記載の画像処理装置。
【請求項１９】
前記画素位置決定手段は、提供可能な画素と判定された画素の画素位置と提供できないと判定された画素の画素位置のパターンに基づいて、書き換える閾値に対応する画素位置の候補を決定することを特徴とする請求項４に記載の画像処理装置。
【請求項２０】
前記画素位置決定手段は、提供可能な画素と判定された画素に対応する閾値のうち最小値が、提供不可能な画素と判定された画素に対応する閾値のうち最小値よりも小さい場合、前記提供可能な画素と判定された前記画素の位置を、書き換える閾値に対応する画素位置の候補に決定することを特徴とする請求項４に記載の画像処理装置。
【請求項２１】
前記画素位置決定手段は、前記所定領域における各画素が白画素である場合に、提供可能な画素であると判定することを特徴とする請求項４に記載の画像処理装置。
【請求項２２】
前記画素位置決定手段は、前記所定領域における各画素のうち、画素値が０の画素を白画素とみなすことを特徴とする請求項２１に記載の画像処理装置。
【請求項２３】
入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
前記所定領域に対応する複数の閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
を有し、
前記画素位置決定手段は、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定する
ことを特徴とする画像処理装置。
【請求項２４】
入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
前記所定領域に対応する複数の閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
を有し、
前記画素位置決定手段は、
前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定する
前記判定においては、画素値が所定の値以下である画素を、閾値を提供可能な画素と判定する
ことを特徴とする画像処理装置。
【請求項２５】
入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
前記所定領域に対応する複数の閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
を有し、
前記画素位置決定手段は、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定し、
前記閾値決定手段は、前記閾値提供可能と判定された画素の閾値が前記画素位置決定手段により候補と決定された画素位置の閾値より小さい場合に、前記閾値提供可能と判定された画素の閾値を前記画素位置決定手段により候補と決定された画素位置の新たな閾値として決定する
ことを特徴とする画像処理装置。
【請求項２６】
入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
前記所定領域に対応する複数の閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
を有し、
前記画素位置決定手段は、前記入力画像における第１の領域の中の当該第１の領域よりも小さい第２の領域が、閾値を提供可能な領域かどうかを判定する判定手段をさらに備え、
前記閾値決定手段は、
前記判定手段の判定結果に従い、前記第１の領域を前記所定領域として前記画素位置決定手段により候補と決定された画素位置の新たな閾値を仮に決定する手段と、
前記仮に決定された新たな閾値を反映した閾値マトリクスを用いて、前記第２の領域を前記所定領域として、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定する手段と、
を備える
ことを特徴とする画像処理装置。
【請求項２７】
入力画像に対し、値の異なる閾値が配列された閾値マトリクスを用いてハーフトーン画像に変換する画像処理方法において、
前記入力画像の所定領域に含まれる各画素に対応する前記閾値マトリクスの閾値のうち、書き換える閾値に対応する画素位置の候補を決定する画素位置決定ステップと、
前記所定領域に含まれる各画素の画素位置に対応する閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定ステップで候補と決定された少なくとも１つの画素位置に対応する閾値を書き換える閾値決定ステップと、
を含み、
前記閾値決定ステップでは、前記所定領域に含まれる各画素のうち少なくとも１画素の画素位置に対応する閾値の書き換えは行わない
ことを特徴とする画像処理方法。
【請求項２８】
入力画像に対し、値の異なる閾値が配列された閾値マトリクスを用いて量子化することによりハーフトーン画像を生成する画像処理方法において、
前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定ステップと、
前記所定領域に対応する複数の閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定ステップで候補と決定された画素位置の閾値を決定する閾値決定ステップと、
を含み、
前記画素位置決定ステップでは、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定する
ことを特徴とする画像処理方法。
【請求項２９】
入力画像に対し、値の異なる閾値が配列された閾値マトリクスを用いて量子化することによりハーフトーン画像を生成する画像処理方法において、
前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定ステップと、
前記所定領域に対応する複数の閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定ステップで候補と決定された画素位置の閾値を決定する閾値決定ステップと、
を含み、
前記画素位置決定ステップは、前記入力画像における第１の領域の中の当該第１の領域よりも小さい第２の領域が、閾値を提供可能な領域かどうかを判定する判定ステップをさらに含み、
前記閾値決定ステップは、
前記判定ステップでの判定結果に従い、前記第１の領域を前記所定領域として前記画素位置決定ステップで候補と決定された画素位置の新たな閾値を仮に決定するステップと、
前記仮に決定された新たな閾値を反映した閾値マトリクスを用いて、前記第２の領域を前記所定領域として、前記画素位置決定ステップで候補と決定された画素位置の新たな閾値を決定するステップと、
をさらに含む
ことを特徴とする画像処理方法。
【請求項３０】
コンピュータを、請求項１乃至２６のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、閾値マトリクスを用いて入力画像をハーフトーン処理する画像処理技術に関する。
【背景技術】
【０００２】
従来より、印刷装置を用いて明るい色の細線を出力すると、細線が途切れて出力されるという問題がある。インクジェットプリンタの場合、入力画像を色分解し、ハーフトーン処理することにより、色材（インク）のドットを打つ、打たないを表すドットイメージが生成される。ドットイメージに基づいて印刷ノズルよりインクが吐出されて画像が形成される。このようなプリンタでは、１つのドットで階調を表すのではなく、紙面上の単位面積当たりに打つインクのドットの数により擬似的に階調を表す面積階調を使用している。そして、打たれるドットの数はハーフトーン処理によって決められ、１色のインクを考えた場合、一般にドットの数が少なければ紙面は明るく（濃度が低い）、多ければ暗い（濃度が高い）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５７９９８号公報
【特許文献２】ＵＳ特許６８６７８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した擬似階調を用いて画像を表現するドットイメージでは、明るい色の細線を表現しようとすると、少ないドット数で階調を表現することになる。そのため、ドットとドットの間の空白が多くなり、人間の目には線が途切れているように見えてしまうという問題がある。
【０００５】
そして、一般的なハーフトーン処理の手法としては大きく分けて誤差拡散法とディザ法とがあるところ、このような線の途切れは、ディザ法を用いた方がより問題となりやすい。図１は、誤差拡散法（ＥＤ）とディザ法のそれぞれの処理で細線を表した例を示している。図１において、細線１０は誤差拡散法を適用して得られた細線であり、細線１１はブルーノイズ特性を持たせた閾値マトリクスを用いてディザ法を適用して得られた細線である。細線１０と細線１１は、共に同じ入力画像に対して処理を行っており、出力結果のドット数もほぼ同数である。しかし、凡そ均等にドットと空白が並んでいる細線１０は途切れが認識されにくいのに対し、ドットと空白に粗密がある細線１１は途切れが認識されやすい。これは、細線１１では、空白１２が所々に出現し、ドットが粗である領域が多く存在するためである。
【０００６】
上述のような問題に対しては、例えば、入力画像データ内の細線の位置を検出し、通常のスクリーン処理では当該細線の位置にドットが形成されない場合、当該細線の位置の閾値をドットが形成される閾値に変更し、再度スクリーン処理を行なう技術がある。この技術では、ドットが形成されない細線位置の閾値をドットが形成される閾値に変更することで、ドットが形成される箇所を増加させて、細線が途切れを防ぐことを実現している（特許文献１）。
【０００７】
しかしながら、特許文献１で行なう細線の検出処理は、画像の画素値を用いて解析を行うため、システムへの負荷が大きく、処理に時間が掛かるという問題がある。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、入力画像をハーフトーン画像に変換する画像処理装置において、値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、前記入力画像の所定領域に含まれる各画素に対応する前記閾値マトリクスの閾値のうち、書き換える閾値に対応する画素位置の候補を決定する画素位置決定手段と、前記所定領域に含まれる各画素の画素位置に対応する閾値のうち少なくとも１つの閾値を用いて、前記画素位置決定手段により候補と決定された少なくとも１つの画素位置に対応する閾値を書き換える閾値決定手段と、を有し、前記閾値決定手段は、前記所定領域に含まれる各画素のうち少なくとも１画素の画素位置に対応する閾値の書き換えは行わないことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、システムへの負荷を抑えながら、細線の途切れを減少させることができる。
【図面の簡単な説明】
【００１０】
【図１】誤差拡散法（ＥＤ）とディザ法のそれぞれの処理で細線を表した例を示す図である。
【図２】印刷システムの構成の一例を示す図である。
【図３】実施例１に係る印刷システムにおける、画像データの取得から印刷処理までの大まかな流れを示すフローチャートである。
【図４】量子化処理部の内部構成を示すブロック図である。
【図５】実施例１に係る、量子化処理の流れを示すフローチャートである。
【図６】実施例１に係る、閾値提供可否判定処理の結果の一例を示す図である。
【図７】新閾値を決定する際に用いる、提供元と提供先の関係を示した参照パターンの一例を示す図である。
【図８】閾値マトリクスの新閾値が決定される様子を説明する図である。
【図９】実施例１を適用して得られる量子化結果の一例を、従来技術による量子化結果と比較して示した図である。
【図１０】形成されるドット数を、本実施例を適用した場合と本実施例を適用しなかった場合とで比較したグラフである。
【図１１】細線と矩形への影響を説明する図である。
【図１２】３値の量子化処理を実現するため構成を示す機能ブロック図である。
【図１３】３値の量子化処理の手順を示したフローチャートである。
【図１４】変形例３に係る、量子化処理の流れを示すフローチャートである。
【図１５】色間分離方式における細線の再現性を説明する図である。
【図１６】変形例４に係る印刷システムにおける、入力画像の取得から印刷処理までの大まかな流れを示すフローチャートである。
【図１７】実施例２における新閾値仮決定時の処理領域を説明する図である。
【図１８】実施例２に係る、量子化処理の流れを示すフローチャートである。
【図１９】実施例２における量子化処理の進行過程を説明する図である。
【図２０】新閾値の仮決定時に用いる参照パターンを示す図である。
【図２１】実施例３に係る、量子化処理の流れを示すフローチャートである。
【図２２】サブマトリクスを用いた閾値マトリクスの作り方を説明する図である。
【図２３】濃度上昇にむらが生じる理由を説明する図である。
【図２４】実施例５に係る、量子化処理の流れを示すフローチャートである。
【図２５】実施例５における処理領域の一例を示す図である。
【図２６】位相差について説明する図である。
【図２７】実施例５における処理領域の位置を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施する為の形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１２】
図２は、本実施例に適用可能な印刷システムの構成の一例を示す図である。本実施例における印刷システムは、インクジェット記録方式を採用した画像形成装置１００と画像処理装置１１０とから構成されている。画像形成装置１００と画像処理装置１１０とは信号線１２０で接続され、信号線１２０としては、例えばセントロニクス準拠のプリンタケーブルを用いることができる。
【００１３】
まず、画像形成装置１００について説明する。
【００１４】
画像形成装置１００は、主制御部１０１、記録バッファ１０２、記録ヘッド１０３、給排紙モータ制御部１０４、通信Ｉ／Ｆ１０５、データバッファ１０６で構成される。
【００１５】
主制御部１０１は、ＣＰＵ（ＭＰＵ）、ＲＯＭ、ＲＡＭなどによって構成され、画像形成装置１００全体を制御する。
【００１６】
記録バッファ１０２は、記録ヘッド１０３に転送する前の画像データを、ラスタデータとして格納する。
【００１７】
記録ヘッド１０３は、インク滴を吐出可能な複数の記録素子を有するインクジェット方式の記録ヘッドであり、記録バッファ１０２に格納された画像データに従って、各記録素子からインクの吐出を行う。
【００１８】
給排紙モータ制御部１０４は、紙等の記録媒体の搬送や給排紙の制御を行う。
【００１９】
通信Ｉ／Ｆ１０５は、画像処理装置１１０との間でデータ信号の授受を行うためのインタフェイスである。
【００２０】
データバッファ１０６は、画像処理装置１１０から受信した画像データを一時的に格納しておくためのバッファである。
【００２１】
システムバス１０７は、画像形成装置１００内の各部を接続するバスである。
【００２２】
次に画像処理装置１１０について説明する。
【００２３】
主制御部１１１は、ＣＰＵ（ＭＰＵ）、ＲＯＭ、ＲＡＭなどによって構成され、画像処理装置１１０全体を制御する。
【００２４】
通信Ｉ／Ｆ１１２は、画像形成装置１００との間でデータ信号の授受を行うためのインタフェイスである。
【００２５】
表示部１１３は、ＣＲＴなどであって、ユーザに対し様々な情報を表示する。
【００２６】
操作部１１４は、キーボードやマウスなどであって、これらを用いてユーザは各種操作を行う。
【００２７】
システムバス１１５は、画像処理装置１１０内の各部を接続するバスである。
【００２８】
図３は、本実施例に係る印刷システムにおける、画像データの取得から印刷処理までの大まかな流れを示すフローチャートである。 
ステップ３０１では、印刷処理の対象となる画像データを取得する。ユーザが指定した画像データが、アプリケーション等を介してメモリに展開される。本実施例における画像データは、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）で表される8bitのデータ形式で保持されるものとする。
【００２９】
ステップ３０２では、色補正を行う。色補正では、取得されたＲＧＢ画像に補正がかけられ、画像形成装置固有の色空間であるデバイスＲＧＢ （8bit）の画像データに変換される。例えば、予めメモリに格納されたルックアップテーブル（ＬＵＴ）を参照する等の方法によりこの変換がなされる。
【００３０】
ステップ３０３では、４色分解を行う。４色分解では、変換後のＲＧＢデータを、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）およびＫ（ブラック）の４色で表される8bitの画像データに分解する。これにより４色分の画像が生成される。４色分解も、色補正同様、予めメモリに格納されたルックアップテーブル（ＬＵＴ）を用いる等の方法でなされる。なお、ステップ３０１で取得した入力画像がＣＭＹＫの画像データだった場合は、上述のステップ３０２及びステップ３０３の各処理はスキップされる。
【００３１】
ステップ３０４では、ＣＭＹＫ画像データに対し階調補正を行う。塗布や打ち込みなどにより紙面に色材のドットを形成したとき、一般的にドットの数を増やせば濃度が上がる。しかし、ドットの数や色材の量に対する濃度や輝度、彩度の変化は一定ではない。そのため、階調補正では、色分解後のＣＭＹＫ画像データにおける濃度値と、紙面上の濃度や輝度、彩度との関係がおよそ線形になるように補正する。この階調補正は、予めメモリに格納された、ＣＭＹＫ各版の濃度値に対する１次元ＬＵＴなどを用いてなされる。
【００３２】
ステップ３０５では、階調補正されたＣＭＹＫ画像データに対し、量子化処理を行ってハーフトーン画像を生成する。量子化処理の詳細については後述するが、量子化レベルは２値でも２値以上の多値でもよい。ここで、量子化レベルが多値の場合は、さらにインデックス展開で２値に展開する。インデックス展開は、周知の技術を利用すればよく、例えば予め量子化レベルに応じたドット配置をテーブルとして記憶しておき、量子化レベルに基づいてドット配置（打つ／打たないの２値）を決めればよい。このようにして、色毎に記録ヘッドが記録可能なハーフトーン画像（２値画像）データに変換される。
【００３３】
ステップ３０６では、量子化処理で得られた２値画像データを用いて印刷処理を行う。本実施例のインクジェット記録方式の場合には、量子化後の画像におけるオンドットの座標に応じて紙面上にインクを吐出し、ドット形成が行われることになる。
【００３４】
以上が、画像データの取得から印刷処理までの大まかな流れである。
【００３５】
なお、上述した各ステップ（ステップ３０６を除く）の工程は、どの工程までを画像処理装置１１０が行い、どの工程以降を画像形成装置１００が行うか、という明確な切り分けは特に定められるものではない。例えば、量子化までを画像処理装置１１０が行う場合は、量子化後の２値画像データを画像形成装置１００に転送し、画像形成装置１００の主制御部１０１がデータバッファ１０６に格納されたインデックスパターンでインデックス展開を行い、印字を制御すればよい。また、画像形成装置１００の性能によっては、多値のＲＧＢを直接受け取って、ステップ３０６までのすべての工程を行うことも可能である。
【００３６】
また、各ステップで扱う画像データのビット数に関しては、8bitに制限されるわけではなく、例えば精度を保持するために出力時のビット数を入力時よりも高く設定してもよい。また、画像形成装置の色数をＣＭＹＫの４色としたが、例えばＬＣ（ライトシアン）やＬＭ（ライトマゼンダ）、さらにＧ（グリーン）やＧｙ(グレー)などの特色を有していてもよく、その際はその色数分のプレーン数で処理することは言うまでもない。
【００３７】
（量子化処理）
続いて、上述のステップ３０５における量子化処理について、図４及び図５を参照して詳しく説明する。図４は、画像処理装置１１０（或いは画像形成装置１００）が備える機能部として量子化処理部４００の内部構成を示すブロック図である。量子化処理部４００は、閾値提供判定部４０１、閾値決定部４０２、ディザ処理部４０３で構成される。図５は、量子化処理部４００における量子化処理の流れを示すフローチャートである。なお、この一連の処理は、以下に示す手順を記述したコンピュータ実行可能なプログラムを、ＲＯＭ等からＲＡＭ上に読み込んだ後、ＣＰＵによって該プログラムを実行することによって実施される。
【００３８】
ステップ５０１において、閾値提供判定部４０１は、不図示の階調補正部から入力された階調補正後の画像データ（以下、入力画像）における各画素が、他画素に閾値の提供が可能であるかどうかを判定する処理（以下、閾値提供可否判定処理）を行う。本実施例では、入力画像の各画素は0〜255のいずれかの値を持つものとし、白画素（値が0の画素）であれば閾値提供可能な画素とし、非白画素（値が0以外の画素）であれば閾値提供不可能な画素と判定するものとする。図６は、本実施例に係る、閾値提供可否判定処理の結果の一例を示す図である。図６（ａ）は入力画像としての階調補正後のＣＭＹＫ画像のうちのＫ版の画像の一部を示しており、濃度値80の画素で構成される１画素幅の細線６０１が存在している。図６（ｂ）は、図６（ａ）の入力画像に対する閾値提供可否の判定結果を示し、各マスは入力画像の各画素の同位置に対応している。図６（ｂ）において、白の各マスは当該画素位置に対応する閾値の提供が可能と判定されたことを表し、グレーの各マスは当該画素位置に対応する閾値の提供が不可能と判定されたことを示している。
【００３９】
なお、ここでは画素値0の場合に閾値提供可としたが、例えば所定の値以下の場合に閾値提供可としてもよい。例えば、閾値マトリクスにおける閾値の最小値が10である場合は、画素値が10以下の画素を閾値提供可としても同等の効果を得ることができる。
【００４０】
このような閾値提供可否の判定を、入力画像の例えば左上隅の画素から開始し、右の画素へ順次処理を進め、その行が終わればすぐ下の行の左端から右端へ処理を行うといった具合に、入力画像内の全画素について判定を行う。この場合において、例えば、所定のバンド毎や、所定領域毎など、処理する単位や順番は適宜設定すればよい。
【００４１】
また、本実施例では説明を簡略化するためＣＭＹの色版については説明を省略するものとする。
【００４２】
図５のフローチャートの説明に戻る。
【００４３】
ステップ５０２において、閾値決定部４０２は、予め設定された初期の閾値マトリクスにおける閾値を用いて、ステップ５０１における閾値提供可否判定処理の結果に基づき、所定の処理領域毎に、新たな閾値を決定する処理（新閾値決定処理）を行なう。図７は、所定の処理領域を２×２画素の矩形領域とした場合の新閾値を決定する際に用いる、提供元と提供先の関係を示した参照パターンの一例である。処理領域を２×２画素の矩形領域とした場合、参照パターンは１６通り存在する（図７ではパターン０〜１５で示している。）。各パターンにおける白のマスは閾値提供可能と判定された画素を表し、グレーのマスは閾値提供不可能と判定された画素を表す。また、各パターン内の矢印は、閾値を提供する方向を表している。例えばパターン２の場合、左上画素７０１に下向き矢印が存在する。これは、左上画素７０１の閾値がグレーで示される左下画素７０２（注目画素）の閾値よりも小さければ、左上画素７０１の閾値が左下画素７０２の新閾値として提供されること（左上画素７０１が左下画素７０２の参照画素となること）を意味する。もっとも、パターン２の場合、右上画素７０３と右下画素７０４における矢印も左下画素７０２を指しているため、これらの画素の閾値も注目画素である左下画素７０２の新閾値として提供され得ることになる。そして、パターン２のように参照画素が複数ある場合は、全参照画素の閾値のうち最小の閾値が注目画素の新閾値となる（但し、参照画素における最小閾値よりも注目画素の閾値が小さい場合は、閾値を変更する必要がないのでそのままとなる）。
【００４４】
図７に示す全１６通りのパターンのうちパターン０とパターン１５には矢印がない。パターン１５の場合、４つ全ての画素の画素値が1以上であり、２×２画素の処理領域内に閾値提供可能な画素が存在しないため、閾値の参照と新閾値への変更が行われないことを意味する。パターン０の場合、全ての画素が閾値提供可能な画素であり、２×２画素の処理領域内に閾値の提供を受ける画素（画素値が1以上の画素）が存在しないため、閾値の参照と新閾値への変更が行なわれないことを意味する。なお、図７で示したパターンは一例であり、矢印の向きや数はこれに限定されるものではない。
【００４５】
図８は、図６（ｂ）で示した閾値提供可否判定結果に基づき、図７で示した参照パターンによって閾値マトリクスの新閾値が決定される様子を説明する図である。図８（ａ）は予め用意された初期の閾値マトリクスを示し、図８（ｂ）は新閾値決定処理によって一部閾値が新閾値に変更された後の閾値マトリクスを示している。図８（ａ）において、太線で囲まれた領域８０１は処理単位となる２×２画素の矩形領域であり、この場合、図７におけるパターン１０に当て嵌ることになる。そして、パターン１０では、左上画素が注目画素の場合は右上画素が参照画素となり、左下画素が注目画素の場合は右下画素が参照画素となる。その結果、矩形領域８０１内の閾値のうち、左上画素の閾値が248から79に変更されることになる。尚、左下画素の閾値である134は、右下画素の閾値である189より既に小さいため、閾値の変更は行われない。このような処理を所定の処理領域（ここでは２×２画素の矩形領域）毎に繰り返した結果、図８（ｂ）に示すような閾値マトリクスが得られることなる。図８（ｂ）において細線部分に対応する３列目の閾値を見ると、パターン１０に従って、以下のように一部閾値が変更されているのが分かる。  
変更前：「55,12,248,134,84,164,98,23,133,228」
変更後：「55,12,79,134,7,164,98,23,106,0」
このようにして、閾値提供可能と判定された画素（参照画素）の閾値が、注目画素における新たな閾値として決定される。
【００４６】
図５のフローチャートの説明に戻る。
【００４７】
ステップ５０３において、ディザ処理部４０３は、新閾値決定処理によって決定された新閾値を反映した閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。ディザ法（２値の場合）では、入力画像の各画素値と閾値マトリクスの各閾値を比較し、入力画像における画素値が閾値を超えた画素についてはオンドット（ドット形成）となり、超えなければオフドット（ドット非形成）となる。図９は、本実施例を適用して得られる量子化結果の一例を、従来技術による量子化結果と比較して示した図である。
【００４８】
まず、従来技術による量子化結果について説明する。図９において、画像９０１は、閾値提供可否判定処理を行った後の入力画像であり、白の画素（値が0の画素）は閾値提供可能な画素、グレーの画素（値が80の画素）は閾値提供不可能な画素を表している。閾値マトリクス９０２は、新閾値決定処理がなされていない、予め用意されたままの初期の閾値マトリクスであり（図８（ａ）を参照）、入力画像９０１における各画素の同一座標に対応するマスに閾値がそれぞれ入っている。そして、入力画像９０１に対し、閾値マトリクス９０２を用いてディザ処理を行なって得られた結果を示しているのが量子化結果９０３であり、画素値80よりも小さな閾値に対応する画素の部分がオンドットを示すグレーで示されている。量子化結果９０３をみると、入力画像９０１では途切れのない細線部分において、大きな空白（線の途切れ）が生じてしまっているのが分かる。こうなると人間の目には線と認識されにくく、問題となり得る。特に、電気回路の回路図のように本来は線が繋がっていなければならない箇所で線が途切れたように見えると深刻な問題となる。
【００４９】
次に、本実施例を適用して得られる量子化結果について説明する。図９において、閾値マトリクス９０４は、上述の新閾値決定処理が適用されて一部閾値が変更された後の閾値マトリクスである（図８（ｂ）を参照）。そして、入力画像９０１に対し、閾値マトリクス９０４を用いてディザ処理を行なって得られた結果を示しているのが量子化結果９０５であり、画素値80よりも小さな閾値に対応する画素の部分がオンドットを示すグレーで示されている。従来技術による量子化結果９０３と比べるとオンドットが３画素増えており、大きな空白が生じていない。
【００５０】
その結果、周囲に空白ではない画素が存在する第１の画素よりも、当該第１の画素と前記入力画像データにおける画素値が同じであって周囲が空白である第２の画素の方がドットの再現確率が高いことを特徴とする記録物。
つまり、本実施例を適用することで、細線の再現性を改善する効果が得られることが分かる。このように本実施例では、他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【００５１】
さらに、本実施例によれば、細線の途切れを減少させる以外にも、１）明部に対する効果が高い、２）矩形などの内部領域に影響が少ない、３）元画像の形状を維持しやすい、４）マクロ的に閾値マトリクスの特性を崩さないといった特徴が認められる。以下、詳しく説明する。
【００５２】
［明部に対する効果が高い］
図１０は、１画素幅の細線が描かれた入力画像を黒の色材のみで印刷したときに形成されるドット数を、本実施例を適用した場合（処理あり）と本実施例を適用しなかった場合（処理なし）とで比較したグラフである。図１０において、グラフの横軸は階調であり、左端（0）が白、右端（1）が黒である。また、縦左軸は黒インクのドット数であり、「1」は印刷を行なった画像形成装置における最多のドット数を表す。そして、縦右軸は倍率であり、「処理なし（＊マーク）」に対して、「処理あり（○マーク）」のドット数が何倍になったのか（倍率 = 処理あり÷処理なし）を表している。倍率（黒三角マーク、右軸）を見ると、白に近いほど高く、黒に近づくにつれて下がり、やがて「1」に収束している。これは、明るい（濃度が低い）細線ほどドットの途切れを防ぐ効果が高く、暗い（濃度が高い）細線ほど処理による影響が少ないことを示している。濃度が高いほど画素値は大きいので、閾値を超える確率は上がる。つまり、高濃度の部分は周囲の画素から閾値の提供を受けなくてもドットが形成される画素がもともと多い。本実施例を適用したときに確率的にドットを増やす可能性があるのは、「処理なし」の時にドット形成がなされていない画素である。黒に近い（濃度が高い）領域では、ドット形成がなされない画素の数は少ないのであるから、本実施例の適用によるドット数の増加も少ないということになる。黒に近い側に属する暗い（濃い）細線はもともと途切れが少なく、ドット数を増加させる必要がないため、本実施例を適用することによる影響が少ないことは好ましいといえる。
【００５３】
［矩形などの内部領域に影響が少ない］
図１１は、本実施例を適用した場合における、細線と矩形への影響を説明する図である。図１１において、１画素幅の細線１１０１及び矩形１１０２は、双方とも、R,G,B=192,192,192などの薄いグレーで描画されている画像とする。図７で示した１６通りのパターンのうち、パターン１〜１４はエリア内の閾値提供可な画素（図中の白画素部）から閾値を提供され、確率的に濃度が上がり得るパターンである。図１１（ａ）を見てみると、細線１１０１では、細線端部を除きパターン５かパターン１０のいずれかが当て嵌まる 。これらのパターンは閾値提供可能な画素を含むため、確率的に細線の濃度が上がることになる。一方、図１１（ｂ）に示すような色つきの矩形１１０２では、そのほとんどの領域がパターン１５に当て嵌まる。パターン１５以外のパターンが当て嵌まるのは、矩形１１０２の上端部、下端部、左端部、右端部の境界部分であり、それぞれ図１１（ｂ）に示すような２種類のパターンのいずれかが当て嵌まる。境界以外の矩形内部についてはパターン１５のみが当て嵌まるのであり、上述のとおり、パターン１５では閾値提供可能な画素がなく濃度を上げる作用が発生しない。つまり、矩形のほとんどの面積を占める内部については濃度が上がらないのである。大きなオブジェクトほど縦幅、横幅が大きく、そのうちの数画素が空白でも途切れているとは認識されないため濃度を上げる必要がないのであるから、矩形などの内部領域に影響が少ないことは望ましい。なお、大きなオブジェクト以外にも、例えば太い線についても同様のことがいえる。太線の場合は、パターン１５の割合が多くなるためである。このように、本実施例の場合、細線などのエッジ部に大きな効果があり、濃度を上げる必要がない矩形などの内部領域への影響は少ないため効率的である。
【００５４】
＜元画像の形状を維持しやすい＞
上述のとおり本実施例では、１画素幅の細線において高い効果が得られる。加えて、１画素で構成されるドット（孤立ドット）については更に高い効果を得ることができる。これは、周囲が白画素で囲まれている孤立ドットは、図７で示した１６通りのパターンのうちパターン１, ２, ４, ８ のいずれかが当て嵌まり、注目画素に隣接する周囲３つの画素から閾値を提供されるので、閾値が下がる確率が高いためである。そして、水平或いは垂直の１画素幅の細線を考えると、端部を除けばパターン３, ５, １０, １２ のいずれかが当て嵌まるので、この場合の閾値提供画素は２つである。つまり、本実施例では、周囲が白画素である画素をＡとし、周囲に非白画素が存在する画素をＢとして、ＡとＢの画素値が同じ（同階調）であるとき、Ｂ画素よりもＡ画素の方がドットの再現確率が高くなることになる。確率的には、孤立点＞１画素幅の細線＞２画素幅の細線、といった順で濃度を上げる効果が期待できる。このように本実施例では、例えばハッチングのように孤立ドットで構成されるような箇所についても濃度を上げ、元画像のドットの再現性を高める効果、すなわち、元画像の形状を維持しやすいという効果がある。
【００５５】
［マクロ的に閾値マトリクスの特性を崩さない］
閾値マトリクスには特性を持たすことができ、例えば公知のブルーノイズ特性を持たせた閾値マトリクスを使用すれば、ディザ法で擬似階調を行う際に粒状度を少なく保つことができる。 本実施例によれば、このような特性をおよそ維持しつつ細線の途切れを減少させる効果がある。以下、詳しく説明する。
【００５６】
本実施例においては、２×２画素の矩形領域内で閾値の入れ替えを行なっている。これが、１画素を1200dpiで処理するプリンタにおけるブルーノイズ特性の閾値マトリクスであったとき、1200dpi単位で画像を評価すればブルーノイズ特性は崩れている。本来の場所に用意された閾値とは別の閾値を用いることで、閾値マトリクスの特性が壊されるからである。しかし、1200dpiにおける２×２画素を１画素とした、600dpi単位で画像を評価した場合は閾値マトリクスの特性は保たれている。２×２画素の領域内での閾値交換は、600dpi単位でドット形成の確率を上げているに過ぎないからである。つまり、上記の例では、600dpi以上の単位へはドット形成の影響は広がらないので、600dpi単位でブルーノイズ特性を保ちつつ、細線の濃度を上げて途切れを減少させる効果があることになる。
【００５７】
なお、上記の例で処理領域を４×４画素にした場合は、300dpi単位で閾値マトリクスの特性が保たれることとなる。処理領域を大きくするほど濃度を上げる効果は増えるが、閾値マトリクスの特性を崩すことになるので、処理領域を定める際は、濃度を上げる効果と、どの解像度で閾値マトリクスの特性を維持させたいかの両方を考慮しなくてはならない。経験的には、ブルーノイズ特性をもつ閾値マトリクスで、処理領域を４×４画素として、150dpi以上で特性を保てば、およそ良好な結果となり得る。また、処理領域を閾値マトリクスのサイズ以上にした場合は、閾値マトリクスの特性が崩れてしまうことに注意が必要である。閾値マトリクスの特性を維持したければ、処理領域のサイズは閾値マトリクスサイズ内であることが望ましい。
【００５８】
以上、ブルーノイズ特性を持つ閾値マトリクスについて説明したが、例えばベイヤー型など、他の特性を持つ閾値マトリクスについても同様のことがいえる。
【００５９】
＜変形例１＞ 
実施例１では、ドット形成ありとドット形成なしの２値を出力する量子化について説明したが、多値を出力する量子化についても本発明は有効である。
【００６０】
多値の量子化処理は多値階調表現のできる出力手段に用いられ、３値以上の任意の階調に適用できるが、ここでは３値の量子化処理を例に説明する。ここでいう３値とは、１画素に形成するドット数が、0、1、2ドットの３階調を指す。
【００６１】
図１２は３値の量子化処理を実現するため構成を示す機能ブロック図であり、図１３は３値の量子化処理の手順を示したフローチャートである。以下では、入力値は0から255、閾値マトリクスの値は0から254、出力値となるドット数は0、1、2ドットの３階調であるものとして説明する。
【００６２】
ステップ１３０１において、ベース決定部１２０１及び比較値算出部１２０２は、入力値（入力画像における画素値）を取得する。
【００６３】
ステップ１３０２において、ベース決定部１２０１は、取得した入力値に基づいてベース決定を行う。ベース決定とは、出力値が、0から1ドットの間に属するのか、1から2ドットの間に属するのかを振り分けることを指す。具体的には、基準となる値128と入力値とを比較し、入力値の方が小さければベース値を「0」、ベースドット数を「0」に決定し、入力値の方が小さくなければベース値を「128」、ベースドット数を「1」に決定する。決定されたベース値は比較値算出部１２０２に送られ、ベースドット数は加算部１２０４に送られる。
【００６４】
ステップ１３０３において、比較値算出部１２０２は、取得した入力値とベース決定部１２０１から受け取ったベース値を用いて、比較値を算出する。具体的には、入力値からベース値を減算し、その値を閾値マトリクスに合わせ、0〜255になるように正規化する。ベース値に応じて、それぞれ以下の式で比較値が求められる。  
ベース値が0の場合：
比較値 = (入力値 - ベース値) / 128 × 255
ベース値が128の場合：
比較値 = (入力値 - ベース値) / 127 × 255
ステップ１３０４において、閾値比較部１２０３は、メモリ内の閾値マトリクスより入力値の画素位置に対応する閾値を取得し、ステップ１３０３で求めた比較値と比較する。比較の結果、閾値よりも比較値の方が大きければ「1」を、大きくなければ「0」を加算部１２０４に出力する。
【００６５】
ステップ１３０５において、加算部１２０４は、ベース決定部１２０１から出力されたベースドット数に閾値比較部１２０３から出力された値を加算してドット数を決定し、量子化の出力値とする。
【００６６】
以上が、３値の量子化処理の内容である。同様にＮ値の量子化処理を構成できる。
【００６７】
上述したような多値の量子化において実施例１を適用する場合は、例えば、ベース値が「0」の画素についてのみ閾値の提供を受けるようにすればよい。すなわち、前述の図５のフローにおけるステップ５０１で閾値提供可否判定処理を行うと同時に、ベース値が「0」であるか否かを判定する。その判定結果は、画素毎にベース値が「0」であるか否かを格納するバッファをメモリに用意し、格納する。そして、入力値が「128」より小さければ「真」小さくなければ「偽」と判定し、ステップ５０２で、結果が「真」の画素のみ閾値の提供を受けるようにし、「偽」の画素については閾値の提供を受けないようにすればよい。ベース値が「0」でない画素（ベース値が128の画素）は、少なくとも１ドット以上はドットが形成される画素である。これらの画素で構成された細線は、濃度を上げる処理を行わなくとも途切れは発生しないため、閾値の提供を受ける必要がない。ベース値が「0」の画素（ドットの途切れが発生し得る画素）についてのみ閾値提供を行って濃度を上げることで、必要な部分については効果を享受しつつ、高濃度部分への影響を抑えることができる。
【００６８】
なお、ここではベース値が「0」の画素のみを対象としたが、画像形成装置に応じて調整してもよい。例えば、多値の量子化処理を行った後、公知の処理により量子化時よりも細かい解像度へ展開するシステムの場合には、細線を形成したドットに間隔が空く場合がある。また、淡インクなど、１ドットでは薄くて線に見えないシステムの場合は、複数ドットで線を形成しなくてはならない。このような場合、多値量子化の１値目(ベース値が「0」）までに限らず、所定のベース値までを閾値提供の対象とすればよい。さらに、所定のベース値を色材によって変えてもよい。
【００６９】
上記ではＮ値として、0、1、2ドットのようにドット数による階調の例を説明したが、これ以外にも挙げられる。例えば、ドットなし、小ドット、大ドットの３階調のようにドットの大きさ(インクジェットプリンタにおける液滴の大きさ)で複数階調を表す場合もある。また、ドットなし、淡インクドット、濃インクドットの３階調のように、ドットの濃さで複数階調を表す場合もあるし、それらを複合して複数階調を表す場合もある。
【００７０】
このように、多値（Ｎ値）出力の量子化においても他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【００７１】
＜変形例２＞
実施例１では、他画素に閾値提供可能か否かの判定を行い、その判定結果を用いて注目画素の新たな閾値を決定したが、閾値提供可否の判定と注目画素における新閾値の決定とを一度に行なってもよい。以下、具体例を説明する。
【００７２】
ここで、注目画素の座標位置を[x, y]、注目画素の画素値（画像信号値）をV[x, y]、注目画素位置の閾値をTh[x, y]とする。そして、閾値を提供する候補の画素の座標位置を[v, w]とし、その画素値をV[v, w]、その位置の閾値をTh[v, w]とする。それぞれの値は0を含む正の整数値である。
【００７３】
まず、実施例１で説明した、１）他画素に閾値提供可能か否かの判定を行う、２）閾値提供可能な画素の閾値と注目画素の閾値とを比較する、という２段階で処理する場合のプログラム例を以下に示す。
[プログラム例（２段階処理）]
01:  if( V[v, w] != 0){
02:    if( Th[v, w] < Th[x, y]){
03:      Th[x, y] = Th[v, w];
04:    }
05:  }
ここで、先頭の「01:」などの数字は説明のための行番号である。01行目では、閾値を提供する候補の画素[v, w]の画素値が0であるか否かを判別している。0でなければ02行目へ進み、0であれば05行目以降へ処理を進める。02行目では閾値を提供する候補の画素の閾値(Th[v, w])と、注目画素の閾値(Th[x, y])とを比較し、Th[v, w]の方が小さければ03行目で注目画素の閾値(Th[x, y])をTh[v, w]に更新する。このプログラム例の場合、01行目が上記１）の処理に相当し、02行目が上記２）の処理に相当する。
【００７４】
次に、上記１）の処理と２）の処理とを分けずに一括で処理をする場合のプログラム例を以下に示す。  
[プログラム例（一括処理）]
01:  if( (Th[v, w] +V[v, w] * ThMax) < Th[x, y]){
02:      Th[x, y] = Th[v, w];
03:  }
ここで、「*」は乗算を意味する。01行目では Th[v, w]にV[v, w]とThMaxを乗算した値を加え、その値がTh[x, y]より小さいかを判別している。なお、ThMaxは閾値マトリクス内の閾値の最大値であり、例えば255などである。この一括処理の結果、Th[x, y]より小さければ、02行目で注目画素の閾値(Th[x, y])をTh[v, w]に更新する。01行目の式の意味は、閾値を提供する候補の画素が白画素である、つまりV[v, w]が0である時、V[v, w] * ThMax は0になるということである。よって、if( Th[v, w] < Th[x, y])と等価となり、上述の２段階処理のプログラム例の02行目と同じ役割を果たす。
そして、V[v, w]が0でなく、1以上であった場合、V[v, w]に最大閾値ThMaxが乗算される。この時、Th[x, y]が上限であるThMaxと同じ値だったとしても、(V[v, w] * ThMax) < Th[x, y]) を満たすことはない。V[v, w]=1、ThMax=255、Th[x, y]=255でも、(1 * 255) < 255 は偽となる。このように、01行目の式は、V[v, w]が白画素であるか否か、つまり閾値提供可能な画素か否かの判定である上記１）の処理も同時に行っている。よって、上記２つのプログラム例は等価であるといえる。
【００７５】
以上のとおり、処理を２段階に分けずに一括で行ってもよい。
【００７６】
＜変形例３＞
実施例１では、入力画像全体について処理を行ったが、例えばＣＡＤソフトなどのアプリケーションから、画素単位で線を構成する画素（以下、線画素）であるか否かの情報を受け取ることができるケースがある。また、ベクタデータを持った画像においても画素単位で線画素であるか否かを判別できる。このような場合、ある画素が線画素であるか否かを示す情報（以下、線情報）を受け取り、該線情報に基づき、線画素についてのみ濃度を上げるための新閾値決定処理を行なうようにしてもよい。  
図１４は、本変形例に係る、量子化処理の流れを示すフローチャートである。
【００７７】
ステップ１４０１では、アプリケーションより線情報を取得する。そして、取得した線情報に従い、例えば、入力画像の画素数分のバッファを用意して、線画素であれば1、非線画素であれば0の値を入れておく。これにより線画素が特定される。
【００７８】
ステップ１４０２では、閾値提供可否判定処理を行う（図５のフローのステップ５０１を参照）。
【００７９】
ステップ１４０３では、上記バッファを参照し、注目画素が線画素であるかどうかを判定する。判定の結果、線画素であればステップ１４０４に進む。一方、線画素でなければ新閾値決定処理をスキップし、ステップ１４０５に進む。
【００８０】
ステップ１４０４では、新閾値決定処理を行う（図５のフローのステップ５０２を参照）。すなわち、線画素であると判定された注目画素の閾値と閾値提供可能と判定された画素の閾値とを比較し、閾値提供可能と判定された画素の閾値の方が小さければ、当該閾値を注目画素の新閾値に決定する。
【００８１】
ステップ１４０５では、ディザ処理を行う（図５のフローのステップ５０３を参照）。
【００８２】
以上が、本変形例に係る量子化処理の内容である。
【００８３】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【００８４】
本変形例によれば、線画素のみを対象に閾値の変更を行うので、線を構成しない画素に与える影響をなくすことができる。
【００８５】
＜変形例４＞
さらに、ＣＭＹＫのドットの重なりを制御するため、複数の色材で１つの閾値マトリクスを使用するケース（特許文献２を参照）においても実施例１は有効である。ここでは、ＣＭＹＫといった色材間のドットの重なりを制御することを色間分離と呼ぶこととする。この色間分離は細線の途切れを減らす効果がある。
【００８６】
図１５は、色間分離方式における細線の再現性を説明する図である。図１５において、１５０１は縦に並んだ１８個の画素上のＣドットの形成位置を○で表したもので、同じく１５０２はＭドットの形成位置を×で表したものである。１５０３は、Ｃドットの形成位置とＭドットの形成位置との関係が分かるよう、１５０１と１５０２とを合成したものである。このように色間分離方式では、ＣドットとＭドットとがなるべく重ならないようにその配置が制御される。一方、１５０４〜１５０６は、色間分離ではない方式における、縦に並んだ１８個の画素上でのＣドットとＭドットの形成位置を表したものである。ＣドットとＭドットは相関のない異なるディザマトリクスを用いて量子化されるため、ＣドットとＭドットとが重なってブルーになった箇所（黒四角）が出現している（１５０６を参照）。
【００８７】
そして、１５０７及び１５０８は、ＣとＭのどちらか一方でもドットが形成されれば黒のマス、ドットが形成されなければ白のマスで表したもので、１５０７は上述の１５０３に対応し、１５０８は上述の１５０６にそれぞれ対応している。１５０７と１５０８とを比べると、両者は総ドット数では同じであるものの、１５０８ではドット同士が繋がっている箇所が存在し、それに応じて大きな空白箇所（白画素が連続する箇所）が生じてしまっている。これが人間の目には線の途切れと捉えられることになる。
【００８８】
このように、色間分離方式を採用することで細線の再現性が向上することがわかる。
【００８９】
図１６は、本変形例に係る印刷システムにおける、入力画像の取得から印刷処理までの大まかな流れを示すフローチャートである。
【００９０】
ステップ１６０１では、入力画像を取得する（図３のフローのステップ３０１を参照）。
【００９１】
ステップ１６０２では、閾値提供可否判定処理を行う。具体的には、入力画像の各画素について白画素かどうかを判定する。入力画像が例えば8bitの ＲＧＢ画像である場合であれば、(R,G,B) = (255, 255, 255) の画素のみ閾値提供可能と判定し、その他は閾値提供不可能と判定する。これは、(R,G,B) = (255, 255, 255)が白を表し、この場合に色分解処理後のＣＭＹＫの各色版の全てで値が0になるからである。この判定結果はメモリに保持される。
【００９２】
ステップ１６０３〜ステップ１６０５は、前述の図３のフローにおけるステップ３０２〜３０４にそれぞれ相当するので説明を省く。
【００９３】
ステップ１６０６では、量子化処理を行う。ステップ１６０２で閾値提供可否判定処理が済んでいるので、ここでは、その閾値提供可否判定処理の結果に基づく新閾値決定処理とディザ処理を行なうことになる。まず、新閾値決定処理は、ステップ１６０２でメモリに保持された判定結果を基に、例えば２×２画素の処理領域毎に図７に示す１６通りのパターンのうちどのパターンに当て嵌まるかを判定して閾値の提供元と提供先を決定し、注目画素の新閾値を決定する。そして、特許文献２に示すような方法でディザ処理を行う。具体的には、入力画像内の各画素について、優先順位の高い色材（例えばＫ）に対して画素値と閾値との比較を行い、Ｋの量子化結果を得る。そして、次に優先順位の高い色材（例えばＣ）に関して、Ｃの画素値に上記Ｋの画素値を加えた値と閾値とを比較する。この際使用する閾値マトリクスは同じものである。
そして、その次に優先順位が高い色材（例えばＭ）に関して、Ｍの画素値に上記Ｋ及びＣの画素値を足した値を用いて閾値比較を行う。このように、優先順位の高い色材から順に各画素で量子化を行い、優先順位の高い色材の画素値を足した累積値で量子化していく。なお、累積値が最大閾値を超えた場合は、該累積値から最大閾値を除算した値を用いて量子化を行う。このように本実施例では、色分解処理前の段階で閾値提供可否判定処理を行い、色間分離方式の量子化によって、複数色材のドットをなるべく排他にし、重ならないようにドット形成を行う。
【００９４】
ステップ１６０７では、ステップ１６０６の量子化処理で得られた２値画像データを用いて印刷処理を行う（図３のフローのステップ３０６を参照）。
【００９５】
以上が、本変形例に係る印刷システムにおける、入力画像の取得から印刷処理までの大まかな流れである。
【００９６】
上記の例では、複数色材のドットを排他的に配置する際、ＲＧＢ値で閾値提供可否を判定していたが、例えば、同一の閾値マトリクスを使いながらも色材毎に閾値提供可否判定および新閾値決定処理を行って、色材毎に閾値マトリクスを更新してもよい。この場合、該更新された閾値マトリクスを用い、上述したように優先順位が高い色材の画素値をその次に優先順位が高い色材の量子化のときに加えて閾値比較すればよい。この場合のフローは実施例１に係る図３及び図５のフローと同等である。色材毎に判定して濃度を上げることにより、背景のＲＧＢ値が（255,255,255）でない画像における細線についても途切れを減らすことが可能である。
【００９７】
さらに、同一の閾値マトリクスを使う組み合わせで処理を行ってもよい。例えば、ＣドットとＭドットとを分離したい場合、ＣとＭで同一の閾値マトリクスを使用する。その際は、色分解処理後に、ＣとＭの双方において画素値が0であるか否かを判定し、双方の画素値が0である場合に閾値提供可能と判定し、少なくとも一方の画素値が0でない場合は閾値提供不可能と判定すればよい。
【００９８】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【００９９】
以上のとおり、本変形例によれば、色間分離が持つ細線の途切れを減らす効果に加えて、さらに細線の濃度を確率的に上げる処理を行なうことで、より途切れのない細線を実現することができる。
＜変形例５＞
入力画像の各画素について白画素かどうかを判定する閾値提供可否判定は、色間分離を行わない場合においても有効である。
【０１００】
本変形例に係る印刷システムにおける、入力画像の取得から印刷処理までの流れは、上記変形例４で説明した図１６のフローチャートと基本的には同じである。
【０１０１】
ステップ１６０１〜ステップ１６０５については、異なるところはない。ステップ１６０２においても上記変形例４と同様、入力画像の各画素について白画素かどうかを判定する。入力画像が例えば8bitのＲＧＢ画像である場合は、(R,G,B) = (255, 255, 255) の画素のみ閾値提供可能と判定し、その他は閾値提供不可能と判定する。これは、(R,G,B) = (255, 255, 255)が白を表し、この場合に色分解処理後のＣＭＹＫの各色版の全てで値が0になるからである。
【０１０２】
ステップ１６０６の量子化においては色間分離を行わず、ＣＭＹＫの色毎に別の閾値マトリクスを用いて処理を行う。その際、閾値提供の可否はステップ１６０２で行った閾値提供可否判定の結果を用いる。
【０１０３】
ステップ１６０７では、ステップ１６０６の量子化処理で得られた２値画像データを用いて印刷処理を行う（図３のフローのステップ３０６を参照）。
【０１０４】
上述の実施例１では閾値提供可否判定を画素毎に４回（ＣＭＹＫのそれぞれについて）行っていたが、本変形例によれば、閾値提供可否判定を画素毎に１回行うのみで済むため、高速に処理が可能となる。
【０１０５】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【実施例２】
【０１０６】
実施例１では、２×２画素の処理領域内で閾値の提供を行って、細線のドット形成数を確率的に増やす態様について説明した。次に、実施例１の態様では増加するドット数が足りない場合を想定し、よりドット形成数を増やすことが可能な態様について、実施例２として説明する。なお、実施例１と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
【０１０７】
本実施例は、量子化処理において多段処理、すなわち、例えば４×４画素の処理領域で新閾値を仮決定し、その上で、より小さなサイズ（例えば２×２画素）の処理領域で新閾値を最終決定する処理を行なうことで、ドット形成数をさらに増やすものである。なお、この量子化処理を実現する機能部としての量子化処理部の内部構成については、実施例１の図４で示した量子化処理部４００と同じ、閾値提供判定部４０１、閾値決定部４０２、ディザ処理部４０３で構成されるものとする。
【０１０８】
図１７は、本実施例における新閾値仮決定時の処理領域としての４×４画素の領域を説明する図である。ここでは、便宜上、４×４画素内の左上の２×２画素をＡ領域、右上の２×２画素をＢ領域、左下の２×２画素をＣ領域、右下の２×２画素をＤ領域とする。また、Ａ〜Ｄの各領域についても、同様に、左上の画素を１、右上の画素を２、左下の画素を３、右下の画素を４とし、例えばＡ領域の左上の画素はＡ１という具合に呼ぶこととする。
【０１０９】
入力画像の取得から印刷処理までの大まかな流れは実施例１と異なるところがないので、以下では本実施例の特徴である量子化処理について、図１８〜図２０を参照して説明する。図１８は、本実施例に係る、量子化処理の流れを示すフローチャートである。図１９は、本実施例における量子化処理の進行過程を説明する図である。図２０は、本実施例に係る、新閾値の仮決定時に用いる参照パターンを示す図である。
【０１１０】
ステップ１８０１において、閾値提供判定部４０１は、不図示の階調補正部から入力された階調補正後の画像データにおける各画素が、他画素に閾値の提供可能であるかどうかを判定する、閾値提供可否判定処理を行う。本ステップは、実施例１における図５のフローのステップ５０１と同じ処理であり、第１段階の閾値提供可否判定処理である。図１９において、閾値マトリクス１９０１は、この第１段階の閾値提供可否判定処理の結果を、初期の閾値マトリクス１９００上に反映させたものである。入力画像における１画素幅の細線に対応する部分が、閾値提供不可能を示すグレーで表され、その他の部分が閾値提供可能を示す白で表されている。
【０１１１】
ステップ１８０２において、閾値提供判定部４０１は、入力画像を所定の領域（ここでは４×４画素の領域）に分け、その中の所定の領域（ここでは２×２画素の領域）を対象に、再度、閾値提供可否判定処理を行う（第２段階の閾値提供可否判定処理）。例えば、上述の図１７におけるＡ領域が、この第２段階の閾値提供可否判定処理の対象領域であったとする。この場合、Ａ１〜Ａ４における画素値がすべてチェックされる。そして、全画素の画素値が0であれば、Ａ領域は閾値提供可能な領域と判定される。一方、Ａ１〜Ａ４の画素のうち１つでも0以外の画素値を持つ画素があれば、Ａ領域は閾値提供不可能な領域と判定される。そして、他のＢ〜Ｄの領域についても同様に、この第２段階の閾値提供可否判定処理がなされる。図１９において、閾値マトリクス１９０２は、この第２段階の閾値提供可否判定処理の結果を、初期の閾値マトリクス１９００上に反映させたものである。閾値マトリクス１９０２の破線で囲まれた部分１９０３を図７で示す４×４画素の領域としたとき、Ａ領域とＣ領域ではその内部の４画素（Ａ１〜Ａ４、Ｃ１〜Ｃ４）の画素値は全て0であるため、両領域とも閾値提供可能な領域（白）となっている。これに対し、Ｂ領域のＢ１とＢ３、Ｄ領域のＤ１とＤ３の画素値は50であるため、Ｂ領域とＤ領域は閾値提供不可能な領域（グレー）となっている。
【０１１２】
ステップ１８０３において、閾値決定部４０２は、第２段階の閾値提供可否判定処理の結果に従い、初期の閾値マトリクス１９００を用いて、４×４画素単位で新たな閾値を仮決定する処理（新閾値仮決定処理）を行なう。図２０において、各パターン内における白で示された２×２画素の領域は閾値提供可能と判定された領域を示し、グレーで示された２×２画素の領域は閾値提供不可能と判定された領域を示している。そして、各パターン内の矢印は閾値を提供する方向を表している。例えば、上述の閾値マトリクス１９０２における破線部分１９０３の４×４画素の領域は、図２０におけるパターン５が当て嵌まる。この場合、図１７におけるＡ領域からはＢ領域へと閾値が提供され、Ｃ領域からはＤ領域へと閾値が提供されることになる。具体的には、Ａ１の閾値とＢ１の閾値とが比較され、小さい方がＢ１の新閾値として仮に決定される。そして、Ａ２とＢ２、Ａ３とＢ３、Ａ４とＢ４についても同様の処理がなされ、Ｂ領域における新閾値が仮に決定される。さらに、Ｃ領域とＤ領域についても同様の処理を行なって、Ｄ領域における新閾値が仮決定される。図１９における、閾値マトリクス１９０４は、この新閾値仮決定処理の結果を反映した閾値マトリクスであり、○で囲まれた数値が仮決定された新閾値を示している。
【０１１３】
ステップ１８０４において、閾値決定部４０２は、ステップ１８０３で仮決定された新閾値を反映した閾値マトリクスを用いて、２×２画素単位で新たな閾値を最終決定する処理（新閾値最終決定処理）を行なう。図１９において、閾値マトリクス１９０５は、仮決定された新閾値を反映した閾値マトリクス１９０４に対し、ステップ１８０１による第１段階の閾値提供可否判定処理の結果を反映させたものである。（なお、閾値マトリクス１９０５は、説明の便宜上設けたもので、何等かの処理によってこのような閾値マトリクスが別途生成されるわけではない。）この場合、図７のパターン１０に従い、閾値マトリクス１９０５における列１９０６（グレー）の閾値と列１９０７（白）の閾値とが比較され、列１９０７の閾値の方が小さければ、列１９０６における閾値と置き換えられて最終的な新閾値となる。図１９において、閾値マトリクス１９０８は、この新閾値最終決定処理の結果を反映した閾値マトリクスであり、◎で囲まれた数値が本処理によって置き換えられた新閾値を示している。
【０１１４】
ステップ１８０５において、ディザ処理部４０３は、ステップ１８０４で最終決定された新閾値を反映した閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。図１９において、量子化結果１９０９は、閾値マトリクス１９０８を用いて入力画像１９３０をディザ処理した結果を示している。この量子化結果１９０９において、白の画素はドット形成なし、グレーの画素はドット形成ありを示している。
【０１１５】
なお、図１９において、量子化結果１９１０は、実施例１を適用して得られた閾値マトリクス１９１１を用いて入力画像１９３０に対しディザ処理を行なった結果である。また、量子化結果１９２０は、本発明を適用することなく、入力画像１９３０に対し初期の閾値マトリクス１９００を用いてディザ処理を行なった結果を示している。それぞれの量子化結果を比較すると、実施例１でもドット形成数は増加しているが、実施例２ではさらにドット形成数が増えているのが分かる。
【０１１６】
本実施例では、２×２画素の領域内に0以上の画素値を持つ画素がある場合はその中で閾値提供を行い、他の２×２画素領域へは閾値提供を行わない（当該領域内に0以上の画素値を持つ画素がない場合のみ、他の２×２画素領域へ閾値提供を行う）。つまり、極力近くの画素に（２×２画素の領域内で）閾値を提供しつつ、かつ近くに所定の画素値を持った画素がなければ、所定の画素値を持つ遠くの画素まで閾値を提供することを可能としている。これにより、実施例１の閾値提供（２×２画素の領域のみ）の場合よりも細線の濃度を確率的に上げて途切れをより低減させつつ、閾値マトリクスのマクロ的な特性を維持することができる。閾値マトリクスのマクロ的な特性とは、例えば４×４画素の処理領域の場合、1/4×1/4の解像度（1200dpiの量子化の場合は300dpi）で維持できるということである。
なお、本実施例では、注目画素と参照画素の閾値同士を比べ、小さい方を注目画素の新閾値としたが、これでは濃くなり過ぎるという場合もある。このような場合には、参照画素の閾値に係数を掛ければよい。例えば、注目画素の閾値と、参照画素の閾値に1.0より大きい係数を乗じた値とを比較し、小さい方を注目画素の新閾値に決定するといった具合である。これにより、過度にドット形成数が増えることを防ぎ、係数の値の設定によって上昇する濃度を確率的にコントロールすることが可能となる。さらに、係数を1.0未満にすることで、より閾値が下がり、さらに濃度を上げることもできる。
【０１１７】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【実施例３】
【０１１８】
実施例１及び２では、処理領域内の画像パターンによって定まった画素間で閾値の提供を行なうものであった。次に、入力画像における画像パターンや閾値マトリクスにおける閾値の配置によって、閾値を提供する側の画素と提供される側の画素を動的に定める態様について、実施例３として説明する。なお、実施例２と同様、入力画像の取得から印刷処理までの大まかな流れは実施例１と異なるところがないので、以下では本実施例の特徴である量子化処理について説明するものとする。
【０１１９】
図２１は、本実施例に係る、量子化処理の流れを示すフローチャートである。なお、この量子化処理を実現する機能部として量子化処理部の内部構成については、実施例１の図４で示した量子化処理部４００と同じ、閾値提供判定部４０１、閾値決定部４０２、ディザ処理部４０３で構成されるものとする。
【０１２０】
ステップ２１０１において、閾値提供判定部４０１は、入力画像の画素毎に閾値提供可否判定処理を行う。実施例１と同様、入力画像の各画素は0〜255のいずれかの値を持ち、値が0の白画素は閾値提供可、値が0以外の非白画素は閾値提供不可と判定する。
【０１２１】
ステップ２１０２において、閾値提供判定部４０１は、入力画像における任意の処理領域を注目領域に決定する。ここで、処理領域は、例えば４×４画素の領域であり、例えば、入力画像の左隅から順に注目領域として決定すればよい。
【０１２２】
ステップ２１０３において、閾値提供判定部４０１は、注目領域内における、閾値提供可能と判定された画素に対応する閾値のうち最小値（最小提供閾値）と、閾値提供不可能と判定された画素に対応する閾値のうち最小値（最小被提供閾値）を抽出する。注目領域内で抽出された最小提供閾値と最小被提供閾値、並びにそれら閾値に対応する画素位置の情報はＲＡＭに記憶される。
【０１２３】
ステップ２１０４において、閾値決定部４０２は、抽出された最小提供閾値と最小被提供閾値とを比べ、最小提供閾値の方が小さい場合には、最小被提供閾値の値を最小提供閾値の値に置き換える。すなわち、最小提供閾値を最小被提供閾値の画素位置における新閾値とする。ここで、最小提供閾値に対応する画素は白画素であって画素値が0のため、いかに小さな閾値であってもドットが形成されることはない。このような使用されない閾値のうち、最もドットが形成されやすい最小の閾値を、画素値が0以外の他画素へ提供することで、確率的にドット形成数を増やすことができる。そして、最小被提供閾値に対応する画素は、0以外の画素値を持つ画素の中では最もドットが形成されやすい画素である。つまり、画像データの濃度値を低い方から徐々に上げて行くと、注目領域内で最初にドットが形成される画素である。この画素のドット形成をされやすくすることにより、ブルーノイズなど元の閾値マトリクスの特性をなるべく崩さずに細線の濃度を上げることができる。
【０１２４】
ステップ２１０５において、閾値決定部４０２は、入力画像内に未処理の領域があるかどうかを判定する。未処理の領域があれば、ステップ２１０２に戻って次の注目領域を決定する。一方、未処理の領域がなければ、ステップ２１０６に進む。
【０１２５】
ステップ２１０６において、ディザ処理部４０３は、新閾値を反映した閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。
【０１２６】
以上が、本実施例における量子化処理の内容である。
【０１２７】
なお、上述の例では、注目領域内で１画素の閾値提供を行ったが、複数画素で閾値提供を行ってもよい。例えば、注目領域内において、提供側の最小閾値を被提供側の最小閾値に対応する画素の新閾値として提供し、さらに提供側の２番目に小さい閾値を被提供側の２番目に小さい閾値に対応する画素の新閾値として提供してもよい。この場合、確率的に１画素のみの提供よりもより大きく濃度を上げることができる。
【０１２８】
また、上述の例では、提供側の最小閾値を被提供側の最小閾値に対応する画素の新閾値として提供したが、異なる画素の新閾値として提供してもよい。例えば、被提供側の最大閾値に対応する画素の新閾値として提供することが考えられる。この場合、該画素は、注目領域内における0以外の画素値を有する画素の中で最もドットが形成されにくい閾値に対応する画素である。そのような画素の閾値を小さくすることにより、効率良く細線の濃度を上げることができる。
【０１２９】
さらに、提供側の閾値を最小値以外の閾値（例えば２番目に小さい閾値）にすることで濃度を上げる程度を抑えることができ、このようにして、濃度の調整を行うことも可能である。
【０１３０】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【０１３１】
本実施例によれば、閾値を提供する側の画素と提供される側の画素を動的に定めることにより、細線の途切れを低減させつつ、実施例１及び２に比べて元の閾値マトリクスの特性を保持することが可能である。
【実施例４】
【０１３２】
次に、閾値マトリクスに工夫を加えた態様、具体的には、サブマトリクスを用いて作成した閾値マトリクスを用いてディザ処理を行う態様について、実施例４として説明する。なお、実施例１等と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。 
図２２は、サブマトリクスを用いた閾値マトリクスの作り方を説明する図である。
【０１３３】
マトリクス２２０１は、６４×６４画素で構成されるベースとなるマトリクス（以下、ベースマトリクス）であり、0〜15までの値が各マスに入っている。例えば、このベースマトリクス２２０１にブルーノイズ特性を持たすなどすれば、後述するようにある解像度においてその特性を発揮する。  
マトリクス２２０２は、４×４画素で構成されるサブマトリクスであり、0〜240までの値（16刻み）が各マスに入っている。このサブマトリクス作成の際は、まず、0〜15までの１６個の数値をなるべく偏りがないように並べる。例えば縦方向の４画素の合計や横方向の４画素の合計、斜め方向の４画素の合計を比べたとき、それぞれの合計値の大小に偏りがないように配置する。偏りがあると、水平や垂直の細線のドットは形成されやすいが斜めの細線ではドットが形成されにくくなるといった異方性が発生したり、粒状性が悪くなったりするなどの問題が生じるためである。そして、偏りがないように並べられた0〜15までの数値それぞれに16を乗算したものをサブマトリクスにおける各マスの値とする。
【０１３４】
そして、ベースマトリクス２２０１の１マス（＝１画素）にサブマトリクス２２０２を順次割り当てて１６画素（縦４画素、横４画素）に拡張する。具体的には、サブマトリクス２２０２における各数値に、ベースマトリクス２２０１の１マスにおける数値（Ｎ）を加える。こうして、２５６×２５６画素の閾値マトリクスを得られる。図２２において、２２０３は、ベースマトリクス２２０１における数値Ｎの画素に、サブマトリクス２２０２の各数値を割り当てて拡張する過程を表したものである。マトリクス２２０４は、このような拡張の結果得られた２５６×２５６画素の閾値マトリクスである。閾値マトリクス２２０４において太枠で囲った部分が、ベースマトリクス２２０１におけるＮ＝３に対応する領域であり、サブマトリクス２２０２におけるそれぞれの数値にＮ（＝３）を足した値がそれぞれの閾値となっているのがわかる。
【０１３５】
上述のようにしてサブマトリクスを用いて作成された閾値マトリクスでは、４×４画素の領域の中に値が15以下の閾値が必ず存在することになる。メインマトリクス２２０１における値の最大値は15であり、サブマトリクス２２０２における値の最小値は0だからである。そして、ベースマトリクスにブルーノイズなどの特性を持たせることで、出来上がった閾値マトリクスもマクロでブルーノイズ特性を持つことになる。例えば、４×４画素のサブマトリクスを用いて作成した閾値マトリクスを1200dpi×1200dpiの解像度で使用する場合、その４分の１の300dpi×300dpiの解像度においてベースマトリクスに持たせた特性を発揮できる。
【０１３６】
このような閾値マトリクスを用いて、例えば実施例３で述べた手法を適用した場合には、画素値が16以上の細線の画素は、４×４画素に１ドット以上は必ずドットが形成されることになる。４×４画素の処理領域単位で、値が15以下の閾値が必ず、0以外の画素値を持つ画素に対して使用されるためである。
【０１３７】
なお、上述の例では、処理領域のサイズとサブマトリクスのサイズとを同サイズ（共に４×４画素）としたが、任意のサイズで構わない。サブマトリクスの縦、横の画素数をそれぞれ、処理領域の縦、横の画素数以下にすることで、ある濃度以上の画像データにおいて、任意画素に１ドット以上のドット形成を保障することができる。
【０１３８】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【０１３９】
本実施例によれば、ある濃度値以上の画像データについて、所定の領域内に１ドット以上のドット形成を保障することが可能となる。
【実施例５】
【０１４０】
ここまでに述べた各実施例では、処理領域の形状を矩形（正方形）とし、各処理領域はそれぞれ重ならず、１つの画素が複数の処理領域に跨って属すことはなかった。そのため、実施例１を２画素幅の細線を含む画像に適用する場合、細線の位置により処理領域と位相が変化して濃度を上げる効果が表れたり表れなかったりし、濃度上昇にむらが生じることがある。図２３は、濃度上昇にむらが生じる理由を説明する図である。各マスは画素を表し、白画素は画素値が0の閾値提供可能な画素を表し、グレー画素は画素値が0以外の閾値提供不可能な画素を表している。太線で囲まれた２×２画素の領域は処理領域である。図２３（ａ）では、２画素幅の細線が縦に描かれた入力画像に対して、当該細線上にちょうど重なるように２×２画素の処理領域が位置している。一方、図２３（ｂ）では、同様の入力画像に対して、２画素幅の細線の半分に掛かるように２×２画素の処理領域が位置している。このように、２画素の細線が画像内のどの位置にあるかによって、処理領域との相対的な位置関係が変化し、その結果、新閾値を決定する際に用いる参照パターンが変わってしまう。図２３（ａ）の場合、参照パターンは図７におけるパターン０とパターン１５である。この場合は、閾値の変更が行われることがないので、実施例１を適用しないときと同じ出力となる。一方、図２３（ｂ）の場合、参照パターンは図７におけるパターン５とパターン１０である。この場合は、どちらのパターンでも閾値の変更が起こり得るので、確率的に濃度が上がることになる。
【０１４１】
そこで、上述のような問題を回避するべく、処理領域の形状を注目画素を中心とした円形とし、注目画素を１画素ずつずらして処理する（すなわち、１つの画素が複数の処理領域に跨って属すことになる）態様について、実施例５として説明する。なお、実施例１等と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
【０１４２】
図２４は、本実施例に係る、量子化処理の流れを示すフローチャートである。なお、この量子化処理を実現する機能部として量子化処理部の内部構成については、実施例１の図４で示した量子化処理部４００と同じ、閾値提供判定部４０１、閾値決定部４０２、ディザ処理部４０３で構成されるものとする。
【０１４３】
ステップ２４０１において、閾値提供判定部４０１は、入力画像の画素毎に閾値提供可否判定処理を行う。例えば、実施例１と同様、入力画像の各画素は0〜255のいずれかの値を持つ場合において、値が0の白画素は閾値提供可、値が0以外の非白画素は閾値提供不可と判定する。
【０１４４】
ステップ２４０２において、閾値決定部４０２は、注目画素を決定する。例えば、入力画像の左上隅の画素を最初の注目画素に決定し、該画素の処理が終われば一つ右隣の画素を次の注目画素とし、一番右端の画素まで処理が終われば、一つ下の行の一番左端に処理を移行するといった具合に順次処理していく。
【０１４５】
ステップ２４０３において、閾値決定部４０２は、注目画素の画素値が0であるかどうかを判定する。判定の結果、注目画素の画素値が0であればステップ２４０７に進む。一方、注目画素の画素値が0以外の値であれば、ステップ２４０４に進む。
【０１４６】
ステップ２４０４において、閾値決定部４０２は、ステップ２４０１で閾値提供可能と判定された画素の閾値のうち所定の処理領域内における最小値（以下、最小閾値）を抽出する。抽出された最小閾値と対応する画素位置の情報はＲＡＭに記憶される。
【０１４７】
ステップ２４０５において、閾値決定部４０２は、注目画素の閾値と所定の処理領域内における最小閾値とを比べ、最小閾値の方が小さい場合には、注目画素の閾値と最小閾値の画素位置の閾値とを交換する。図２５は、本実施例における処理領域の一例を示す図である。グレーで示された画素の領域が処理領域であり、中心の黒で示す画素が注目画素に相当する。矩形である画素の集合体としての処理領域の形を円２５０１に近くするため、例えばこのような形状としているが、処理領域の形状は、正方形、長方形、楕円、その他様々な形状でも構わない。なお、本実施例では、最小閾値の値で注目画素の閾値を上書きせずに、両者の値を交換している。その理由は、本実施例では１つの画素が複数の領域に跨って属すことから、他の画素を注目画素とした時に、１度使用された最小閾値が再使用されるのを防ぐためである。
【０１４８】
ステップ２４０７において、閾値決定部４０２は、入力画像内の全ての画素について処理が完了したかどうかを判定する。未処理の画素があれば、ステップ２４０２に戻って次の注目画素を決定する。一方、全画素の処理が完了していれば、ステップ２４０８に進む。
【０１４９】
ステップ２４０８において、ディザ処理部４０３は、閾値交換がなされた閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。
【０１５０】
以上が、本実施例における量子化処理の内容である。
【０１５１】
上述の例では、注目画素の閾値と所定の処理領域内の最小閾値とを比べたが、これに限られない。例えば、注目画素からの距離に応じて決まる係数を処理領域内の閾値提供可能と判定された画素の閾値に乗算し、該乗算結果と注目画素の閾値とを比べ、乗算結果の方が小さい場合に閾値の交換を行ってもよい。これにより、注目画素から距離の遠い閾値とは交換されにくくなるため、閾値マトリクスが持つ特性を極力維持したまま細線の濃度を上げることができる。
【０１５２】
ここで、本実施例の効果を、図を参照して分かりやすく説明する。
【０１５３】
まず、図２６は、実施例１を適用した場合に生じ得る位相差について説明する図である。図２６の（ａ）〜（ｃ）において、太線で囲まれた２×２画素の領域は処理領域を表し、白のマスは画素値が0の画素で閾値提供可能と判定された画素、グレーのマスは画素値が0以外の画素で閾値提供不可能と判定された画素を示している。
【０１５４】
図２６（ａ）と（ｂ）における入力画像は、共に、２画素幅の細線と２画素幅のスペース（空白）が交互に繰り返される画像であるが、両者は細線の座標位置が異なり、処理領域と細線の位相に差異がある。図２６（ａ）は、前述の図２３（ａ）と同様、参照パターンが図７におけるパターン０とパターン１５であり、実施例１を適用したとしても、細線の濃度は適用しないときと変わらない。一方、図２６（ｂ）は、前述の図２３（ｂ）と同様、参照パターンが図７におけるパターン５とパターン１０であり、実施例１を適用することで確率的に濃度が上がる。このように、入力画像における細線の座標位置によって濃度が変わり得る。そして、図２６（ｃ）における入力画像は、２画素幅の細線と３画素幅のスペースが交互に繰り返される画像である。この入力画像に実施例１を適用すると、参照パターンは細線によって異なることになる。まず、細線αについては、図２６（ｂ）と同様、参照パターンは図７におけるパターン５とパターン１０となるので、細線の濃度は上がる。しかし、細線βについては、図２６（ａ）と同様、参照パターンは図７におけるパターン０とパターン１５であり、細線の濃度は上がらない。つまり、このような入力画像の場合、濃い細線（α）と濃くない細線（β）が交互に繰り返して出現する出力画像が得られることになる。つまり、同じ画素値の細線であるにも関わらず、濃度にむらが出てしまうという問題が生じることになる。
【０１５５】
図２７は、図２３で示した２画素幅の細線を含む入力画像に対して、本実施例を適用した場合における処理領域の位置を示した図である。図２７（ａ）及び（ｂ）において、黒のマスは注目画素を示し、円２７０１は処理領域の外郭を示す。本実施例では、注目画素を１画素ずつずらしながら、円２７０１で示される処理領域内での最小閾値と注目画素の閾値とを比較して新閾値を決定していくため、上述したような細線の座標位置による位相差の問題は発生し得ないことがわかる。
【０１５６】
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
【０１５７】
以上のように本実施例では、位相による濃度上昇のむらを防ぎつつ、細線の濃度を確率的に上げ、細線の再現性を向上させることが可能である。また、他の実施例と同じく、処理領域内に閾値提供可能な画素が無いような大きなオブジェクトについては影響を与えない。
【０１５８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006525518.tif 000002
【図２】
0006525518.tif 000003
【図３】
0006525518.tif 000004
【図４】
0006525518.tif 000005
【図５】
0006525518.tif 000006
【図６】
0006525518.tif 000007
【図７】
0006525518.tif 000008
【図８】
0006525518.tif 000009
【図９】
0006525518.tif 000010
【図１０】
0006525518.tif 000011
【図１１】
0006525518.tif 000012
【図１２】
0006525518.tif 000013
【図１３】
0006525518.tif 000014
【図１４】
0006525518.tif 000015
【図１５】
0006525518.tif 000016
【図１６】
0006525518.tif 000017
【図１７】
0006525518.tif 000018
【図１８】
0006525518.tif 000019
【図１９】
0006525518.tif 000020
【図２０】
0006525518.tif 000021
【図２１】
0006525518.tif 000022
【図２２】
0006525518.tif 000023
【図２３】
0006525518.tif 000024
【図２４】
0006525518.tif 000025
【図２５】
0006525518.tif 000026
【図２６】
0006525518.tif 000027
【図２７】
0006525518.tif 000028