(57)【特許請求の範囲】
【請求項１】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置であって、
前記第１の階調数で表現された注目画素の周辺の複数の画素のそれぞれについて算出された誤差値を用いて得られた合計誤差値を補正することにより、第１の特定値を算出する誤差値補正手段と、
前記注目画素の入力濃度値に前記第１の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段と、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段と、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の前記誤差値を算出する誤差値算出手段と、
を備え、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記合計誤差値を、前記特定の範囲内の値に近づくように、前記基準画像を構成する画素数に対する、前記特定の範囲に属する画素数の割合に応じた確率で補正することを特徴とする画像処理装置。
【請求項２】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置であって、
前記第１の階調数で表現された注目画素の入力濃度値に、第２の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段と、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段と、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の誤差値を算出する誤差値算出手段と、
前記注目画素の前記誤差値を補正することにより、補正誤差値を算出する誤差値補正手段と、
を備え、
前記第２の特定値は、前記注目画素の周辺の複数の画素のそれぞれについて算出された前記補正誤差値を用いて得られる値であり、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記誤差値を、前記特定の範囲内の値に近づくように、前記基準画像を構成する画素数に対する、前記特定の範囲に属する画素数の割合に応じた確率で補正することを特徴とする画像処理装置。
【請求項３】
請求項１又は請求項２に記載の画像処理装置であって、
前記誤差値補正手段は、前記注目画素の入力濃度値に応じた前記特定の範囲が複数設定されている場合には、複数の前記特定の範囲のいずれにも属しない値を、前記基準誤差値が最も多く含まれる前記特定の範囲である最多誤差範囲内の値に近づくように補正する処理を行うことを特徴とする画像処理装置。
【請求項４】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置であって、
前記第１の階調数で表現された注目画素の周辺の複数の画素のそれぞれについて算出された誤差値を用いて得られた合計誤差値を補正することにより、第１の特定値を算出する誤差値補正手段と、
前記注目画素の入力濃度値に前記第１の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段と、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段と、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の前記誤差値を算出する誤差値算出手段と、
を備え、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記合計誤差値を、前記特定の範囲内の値に近づくように補正し、前記注目画素の入力濃度値に応じた前記特定の範囲が複数設定されている場合には、複数の前記特定の範囲のいずれにも属しない値を、前記基準誤差値が最も多く含まれる前記特定の範囲である最多誤差範囲内の値に近づくように補正する処理を行うことを特徴とする画像処理装置。
【請求項５】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置であって、
前記第１の階調数で表現された注目画素の入力濃度値に、第２の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段と、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段と、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の誤差値を算出する誤差値算出手段と、
前記注目画素の前記誤差値を補正することにより、補正誤差値を算出する誤差値補正手段と、
を備え、
前記第２の特定値は、前記注目画素の周辺の複数の画素のそれぞれについて算出された前記補正誤差値を用いて得られる値であり、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記誤差値を、前記特定の範囲内の値に近づくように補正し、前記注目画素の入力濃度値に応じた前記特定の範囲が複数設定されている場合には、複数の前記特定の範囲のいずれにも属しない値を、前記基準誤差値が最も多く含まれる前記特定の範囲である最多誤差範囲内の値に近づくように補正する処理を行うことを特徴とする画像処理装置。
【請求項６】
請求項３から請求項５までのいずれか１項に記載の画像処理装置であって、
前記誤差値補正手段は、前記基準画像を構成する画素数に対する、前記最多誤差範囲に属する画素数の割合に応じた確率で、前記補正を行うことを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置であって、
前記誤差値補正手段は、前記割合に１よりも小さい定数を乗じた確率で、前記補正を行うことを特徴とする画像処理装置。
【請求項８】
請求項１から請求項７までのいずれか１項に記載の画像処理装置であって、
前記誤差値補正手段は、前記特定の範囲内に存在しない値を、前記特定の範囲内の値に補正することを特徴とする画像処理装置。
【請求項９】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置のための画像処理プログラムであって、
前記第１の階調数で表現された注目画素の周辺の複数の画素のそれぞれについて算出された誤差値を用いて得られた合計誤差値を補正することにより、第１の特定値を算出する誤差値補正手段、
前記注目画素の入力濃度値に前記第１の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段、及び、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の前記誤差値を算出する誤差値算出手段、
としてコンピュータを機能させ、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記合計誤差値を、前記特定の範囲内の値に近づくように、前記基準画像を構成する画素数に対する、前記特定の範囲に属する画素数の割合に応じた確率で補正することを特徴とする画像処理プログラム。
【請求項１０】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置のための画像処理プログラムであって、
前記第１の階調数で表現された注目画素の入力濃度値に、第２の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の誤差値を算出する誤差値算出手段、及び、
前記注目画素の前記誤差値を補正することにより、補正誤差値を算出する誤差値補正手段、
としてコンピュータを機能させ、
前記第２の特定値は、前記注目画素の周辺の複数の画素のそれぞれについて算出された前記補正誤差値を用いて得られる値であり、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記誤差値を、前記特定の範囲内の値に近づくように、前記基準画像を構成する画素数に対する、前記特定の範囲に属する画素数の割合に応じた確率で補正することを特徴とする画像処理プログラム。
【請求項１１】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置のための画像処理プログラムであって、
前記第１の階調数で表現された注目画素の周辺の複数の画素のそれぞれについて算出された誤差値を用いて得られた合計誤差値を補正することにより、第１の特定値を算出する誤差値補正手段、
前記注目画素の入力濃度値に前記第１の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段、及び、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の前記誤差値を算出する誤差値算出手段、
としてコンピュータを機能させ、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記合計誤差値を、前記特定の範囲内の値に近づくように補正し、前記注目画素の入力濃度値に応じた前記特定の範囲が複数設定されている場合には、複数の前記特定の範囲のいずれにも属しない値を、前記基準誤差値が最も多く含まれる前記特定の範囲である最多誤差範囲内の値に近づくように補正する処理を行うことを特徴とする画像処理プログラム。
【請求項１２】
第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置のための画像処理プログラムであって、
前記第１の階調数で表現された注目画素の入力濃度値に、第２の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段、
前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段、
前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の誤差値を算出する誤差値算出手段、及び、
前記注目画素の前記誤差値を補正することにより、補正誤差値を算出する誤差値補正手段、
としてコンピュータを機能させ、
前記第２の特定値は、前記注目画素の周辺の複数の画素のそれぞれについて算出された前記補正誤差値を用いて得られる値であり、
前記誤差値補正手段は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定される特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記誤差値を、前記特定の範囲内の値に近づくように補正し、前記注目画素の入力濃度値に応じた前記特定の範囲が複数設定されている場合には、複数の前記特定の範囲のいずれにも属しない値を、前記基準誤差値が最も多く含まれる前記特定の範囲である最多誤差範囲内の値に近づくように補正する処理を行うことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差拡散処理の技術に関する。
【背景技術】
【０００２】
従来、ハーフトーン処理の一つとして誤差拡散処理が知られている。例えば特許文献１には、多値画像データに誤差拡散処理を施して擬似中間調画像を形成するための画像データに変換する画像処理装置が開示されている。この画像処理装置では、入力多値画像データの各値と差分補正値とが関係づけられた複数のテーブルのうち、記録媒体と記録モードとに従って１つのテーブルが選択される。そして、多値画像データの各画素の値の二値化によって発生した誤差から、選択したテーブルから出力される差分補正値を減算して誤差が補正され、補正された誤差を次の画素の誤差拡散処理にフィードバックされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−４８３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、誤差拡散処理において、新規な技術で高品位な濃度表現を実現したいという要望があった。
本発明は、誤差拡散処理において、高品位な濃度表現が可能である新規な技術を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するための構成例を以下に開示する。
第１の構成は、第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置であって、前記第１の階調数で表現された注目画素の周辺の複数の画素のそれぞれについて算出された誤差値を用いて得られた合計誤差値を補正することにより、第１の特定値を算出する誤差値補正手段と、前記注目画素の入力濃度値に前記第１の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段と、前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段と、前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の前記誤差値を算出する誤差値算出手段と、を備え、前記誤差値補正手段は、特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記合計誤差値を、前記特定の範囲内の値に近づくように補正する。なお、誤差拡散処理としては、周辺画素へ誤差を分散（拡散）する分散法（拡散法）と、周辺画素から誤差を収集する収集法とが知られている。第１の構成で実行される誤差拡散処理は、分散法及び収集法のいずれであってもよい。
【０００６】
この構成によれば、注目画素の入力濃度値に応じた適正な出力値を得ることが可能となる。すなわち、注目画素の出力値は、注目画素の入力濃度値に第１の特定値を加算することにより算出される補正濃度値に応じて決定される。したがって、注目画素の入力濃度値に応じて設定される特定の範囲内に存在しない合計誤差値を、特定の範囲内の値に近づくように補正することで、注目画素の入力濃度値に応じた適正な第１の特定値が得られるように調整することが可能となる。その結果、注目画素の入力濃度値に応じた適正な出力値を得る（高品位な濃度表現を実現する）ことが可能となる。
【０００７】
第２の構成は、第１の階調数で表現された画像に誤差拡散処理を実行し、前記第１の階調数よりも少ない第２の階調数で表現された画像を生成する画像処理装置であって、前記第１の階調数で表現された注目画素の入力濃度値に、第２の特定値を加算することにより、補正濃度値を算出する入力濃度値補正手段と、前記注目画素について算出された前記補正濃度値としきい値とを比較して、前記注目画素の出力値を決定する出力値決定手段と、前記補正濃度値から、前記出力値に対応する出力濃度値を減算することにより、前記注目画素の誤差値を算出する誤差値算出手段と、前記注目画素の前記誤差値を補正することにより、補正誤差値を算出する誤差値補正手段と、を備え、前記第２の特定値は、前記注目画素の周辺の複数の画素のそれぞれについて算出された前記補正誤差値を用いて得られる値であり、前記誤差値補正手段は、特定の範囲であって、前記注目画素の入力濃度値に応じて設定される前記特定の範囲内に存在しない前記誤差値を、前記特定の範囲内の値に近づくように補正する。なお、第２の構成で実行される誤差拡散処理も、分散法及び収集法のいずれであってもよい。
【０００８】
この構成によれば、注目画素について適正な出力値を得ることが可能となる。すなわち、注目画素の出力値は、注目画素の入力濃度値に第２の特定値を加算することにより算出される補正濃度値に応じて決定される。ここで、第２の特定値は、注目画素の周辺に位置する周辺画素についての補正誤差値を用いて得られる。周辺画素についての補正誤差値は、周辺画素の入力濃度値に応じて設定される特定の範囲内に存在しない誤差値が、特定の範囲内の値に近づくように補正された誤差値である。つまり、周辺画素についての補正誤差値は、周辺画素の入力濃度値に適した誤差値である。したがって、周辺画素の入力濃度値に適した補正誤差値を用いて第２の特定値が算出されることにより、注目画素の入力濃度値に適した第２の特定値を得られるようなる。その結果、注目画素について適正な出力値を得る（高品位な濃度表現を実現する）ことが可能となる。
【０００９】
上記の画像処理装置において、前記特定の範囲は、前記入力濃度値が一定の複数の画素で構成された基準画像に対し、前記誤差値補正手段による補正を行わない前記誤差拡散処理を実行した場合に、前記基準画像の各画素について算出される前記誤差値である基準誤差値の分布に基づいて、前記基準誤差値が集中する範囲に設定されるとよい。この構成によれば、基準画像を誤差拡散処理する場合と同様の第１の特定値又は第２の特定値を得られるようにすることが可能となり、その結果、注目画素の入力濃度値に適した出力値が得られるようにすることが可能となる。
【００１０】
上記の画像処理装置において、前記誤差値補正手段は、前記注目画素の入力濃度値に応じた前記特定の範囲が複数設定されている場合には、複数の前記特定の範囲のいずれにも属しない値を、前記基準誤差値が最も多く含まれる前記特定の範囲である最多誤差範囲内の値に近づくように補正する処理を行うとよい。この構成によれば、複数の特定の範囲のいずれにも属しない値を、出現頻度が最大の特定の範囲内の値に近づくように補正することで、注目画素の入力濃度値に適した出力値が得られるようにすることが可能となる。
【００１１】
上記の画像処理装置において、前記誤差値補正手段は、前記基準画像を構成する画素数に対する、前記最多誤差範囲に属する画素数の割合に応じた確率で、前記補正を行うとよい。この構成によれば、特定の範囲内に存在しないすべての値を特定の範囲内の値に近づくように補正する場合と比較して、本来の値（補正しない場合の値）に基づく自然な傾向を残すことができる。
【００１２】
上記の画像処理装置において、前記誤差値補正手段は、前記割合に１よりも小さい定数を乗じた確率で、前記補正を行うとよい。この構成によれば、本来の値（補正しない場合の値）に基づく自然な傾向をより強く残すことができる。
【００１３】
上記の画像処理装置において、前記誤差値補正手段は、前記特定の範囲内に存在しない値を、前記特定の範囲内の値に補正するとよい。この構成によれば、注目画素の入力濃度値に適した出力値が得られるようにすることが可能となる。
【００１４】
なお、本発明は、画像処理装置、画像処理プログラム、画像処理プログラムを記録した記録媒体や画像処理方法など、種々の形態で実現することができる。
【図面の簡単な説明】
【００１５】
【図１】印刷システムの構成を示すブロック図である。
【図２】（Ａ）は従来の分散法の誤差拡散処理の処理ブロック図、（Ｂ）は誤差分散マトリクスを示す図、（Ｃ）は従来の収集法の誤差拡散処理の処理ブロック図、（Ｄ）は誤差収集マトリクスを示す図である。
【図３】（Ａ）は中高濃度部の上下にハイライト部を有する画像を示す図、（Ｂ）はその画像に対して従来の分散法の誤差拡散処理を行った場合の出力図の一部分である。
【図４】（Ａ）は中高濃度部の直上の行を９行目とした場合の１〜９行目の誤差値の推移を示すグラフ、（Ｂ）は中高濃度部の直下の行を１行目とした場合の１〜１５行目の誤差値の推移を示すグラフ、（Ｃ）は中高濃度部の直下の行を１行目とした場合の４６〜６０行目の誤差値の推移を示すグラフである。
【図５】（Ａ）は入力濃度値が６００のベタ画像に対して従来の誤差拡散処理を実行した場合の各基準誤差値をプロットした図、（Ｂ）はその基準誤差値の分布を示すグラフである。
【図６】（Ａ）〜（Ｇ）はそれぞれ入力濃度値が５５２，５５６，５６０，６１６，９４４，１０２０，１０２３の場合の基準誤差値の分布を示すグラフである。
【図７】（Ａ）は第１の誤差拡散処理の処理ブロック図、（Ｂ）は第２の誤差拡散処理の処理ブロック図である。
【図８】（Ａ）は第３の誤差拡散処理の処理ブロック図、（Ｂ）は第４の誤差拡散処理の処理ブロック図である。
【図９】第１の誤差拡散処理の１画素分の処理手順を示すフローチャートである。
【図１０】（Ａ）は誤差補正処理の処理手順を示すフローチャート、（Ｂ）は対象誤差値の補正方法を示す図である。
【図１１】第３の誤差拡散処理の１画素分の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明が適用された実施形態について、図面を用いて説明する。
［１．全体構成］
図１は、パーソナルコンピュータ１とプリンタ２とがデータ通信可能に構成された印刷システムの構成を示すブロック図である。
【００１７】
パーソナルコンピュータ１は、汎用の情報処理装置であり、制御部１１、記憶部１２、通信部１３、操作部１４及び表示部１５を備える。
制御部１１は、パーソナルコンピュータ１の各部を統括制御するものであり、ＣＰＵ１１１、ＲＯＭ１１２及びＲＡＭ１１３を備える。記憶部１２は、記憶データの書換えが可能な不揮発性の記憶装置であり、例えばハードディスク装置が用いられる。そして、記憶部１２には、オペレーティングシステム（ＯＳ）１２１、グラフィックツール等のアプリケーションプログラム１２２、パーソナルコンピュータ１からプリンタ２を利用可能とするためのソフトウェア（プログラム）であるプリンタドライバ１２３などがインストールされている。通信部１３は、プリンタ２との間でデータ通信を行うためのインタフェースである。操作部１４は、ユーザからの外部操作による指令を入力するための入力装置であり、例えばキーボードやポインティングデバイス（マウスやタッチパッド等）が用いられる。表示部１５は、各種情報をユーザが視認可能な画像として表示するための出力装置であり、例えば液晶ディスプレイが用いられる。
【００１８】
一方、プリンタ２は、インクジェット方式の印刷装置であり、制御部２１、記憶部２２、通信部２３、操作部２４、表示部２５及び印刷実行部２６を備える。
制御部２１は、プリンタ２の各部を統括制御するものであり、ＣＰＵ２１１、ＲＯＭ２１２及びＲＡＭ２１３を備える。記憶部２２は、記憶データの書換えが可能な不揮発性の記憶装置であり、例えばフラッシュメモリが用いられる。通信部２３は、パーソナルコンピュータ１との間でデータ通信を行うためのインタフェースである。操作部２４は、ユーザからの外部操作による指令を入力するための入力装置であり、各種操作ボタンを備える。表示部２５は、各種情報をユーザが視認可能な画像として表示するための出力装置であり、小型の液晶ディスプレイが用いられる。
【００１９】
印刷実行部２６は、記録媒体としての用紙の搬送方向と直交する方向へ往復移動可能な印刷ヘッド２７を備える。印刷ヘッド２７の下面（用紙との対向面）には、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の各色のインク滴を吐出するためのノズルが形成され、印刷ヘッド２７の往復動作中にインク滴が吐出されることにより、用紙にドットが形成される。印刷ヘッド２７は、インク滴の吐出量を調整することで、サイズの異なる４種類のドットを形成可能であり、特大ドット、大ドット、中ドット、小ドット及びドット無しの５階調を表現可能である。このため、印刷実行部２６は、画像を構成する各画素を５階調で表現した印刷データに基づいてインク滴の液滴制御を行う。
【００２０】
［２．処理の概要］
次に、本実施形態の印刷システムで実行される処理の概要について説明する。パーソナルコンピュータ１では、実行中のアプリケーションプログラム１２２において印刷開始操作が行われることによりプリンタドライバ１２３が起動する。プリンタドライバ１２３が起動すると、パーソナルコンピュータ１の制御部１１は、印刷対象の画像を表す２５６階調のＲＧＢ値で表現された画像データを、２５６階調のＣＭＹＫ値で表現された画像データに変換する色変換処理を行う。さらに、色変換処理後の画像データを、５階調のＣＭＹＫ値で表現された画像データ（印刷データ）に変換する誤差拡散処理を実行し、印刷データをプリンタ２へ供給する。その結果、プリンタ２は、パーソナルコンピュータ１から供給された印刷データの表す画像を印刷実行部２６で印刷する。なお、パーソナルコンピュータ１では、演算処理の便宜上、２５６階調の画像データの画素値である０〜２５５の値を４倍した０〜１０２３の値を用いて誤差拡散処理を行い、５階調の画像データ（印刷データ）へ変換する。
【００２１】
ここで、周知ではあるが、従来の一般的な誤差拡散処理について説明する。なお、誤差拡散処理としては、周辺画素へ誤差を分散（拡散）する分散法（拡散法）と、周辺画素から誤差を収集する収集法とが知られている。
【００２２】
図２（Ａ）は、従来の分散法の誤差拡散処理の処理ブロック図である。なお、誤差拡散処理では、処理対象の画像を構成する画素のうちの１つが、注目画素（処理対象の画素）として順に選択される。注目画素は、画像の左上隅の画素を起点として主走査方向（横方向）に順にシフトし、画像の端部に到達すると、次の行（副走査方向に１画素分シフトした行）の端部から主走査方向に順にシフトする。この繰り返しにより、画像を構成するすべての画素が注目画素として選択される。
【００２３】
まず、注目画素の画素値（入力濃度値Ｉ）が取得され、誤差バッファに登録されているその注目画素についての登録誤差値が入力濃度値Ｉに加算されて、補正濃度値Ｉ’が算出される。誤差バッファとは、画素ごとに登録誤差値を登録するためのバッファである。分散法では、注目画素の処理によって生じた誤差値ｅ（後述するように、補正濃度値Ｉ’から出力濃度値を減算した値であり、登録誤差値と区別するために以下「差分誤差値」という。）が、その注目画素の周辺に位置する未処理の複数の画素に所定の割合で分散されて、各画素の登録誤差値として登録される。ここで、既に登録誤差値が登録されている場合には、その登録誤差値に加算される形で登録される。つまり、ある画素を注目画素として処理する段階では、その注目画素よりも前に処理された複数の周辺画素のそれぞれで生じた差分誤差値ｅを所定の割合で積算した値が、その注目画素についての登録誤差値として登録された状態となっている。
【００２４】
続いて、このようにして算出された補正濃度値Ｉ’が、あらかじめ決められているしきい値との比較に基づいて量子化され、注目画素の出力値が決定される。本実施形態のように出力値が５階調の値（特大ドット、大ドット、中ドット、小ドット及びドット無し）である場合には、４種類のしきい値ＬＬ，Ｌ，Ｍ，Ｓ（ＬＬ＞Ｌ＞Ｍ＞Ｓ）が用いられる。具体的には、補正濃度値Ｉ’がしきい値ＬＬよりも高ければ出力値が特大ドットに決定され、しきい値ＬＬ以下でしきい値Ｌよりも高ければ大ドットに決定され、しきい値Ｌ以下でしきい値Ｍよりも高ければ中ドットに決定され、しきい値Ｍ以下でしきい値Ｓよりも高ければ小ドットに決定され、しきい値Ｓ以下であればドット無しに決定される。
【００２５】
そして、出力値に対応する出力濃度値が補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される。こうして算出された差分誤差値ｅは、未処理の周辺画素へ所定の割合で分散され、誤差バッファにおいて各周辺画素についての登録誤差値として登録（既に登録されている値に加算）される。ここで、注目画素の差分誤差値ｅが複数の周辺画素に分散される割合は、例えば図２（Ｂ）に示す誤差分散マトリクスに基づいて決定される。この誤差分散マトリクスにおいて、各数値は、注目画素（＊）を基準とする周辺画素の相対位置に応じて規定された重み付け係数である。つまり、注目画素についての差分誤差値ｅに、各周辺画素に対応する重み付け係数をすべての重み付け係数の総和で割った値（例えば、注目画素の右側に隣接する周辺画素であれば２／８）を乗算した値が、各周辺画素へ分散される。分散法では、以上のような処理が、処理対象の画像を構成するすべての画素について行われることにより、５階調の出力画像データが生成される。
【００２６】
一方、図２（Ｃ）は、従来の収集法の誤差拡散処理の処理ブロック図である。
まず、注目画素の入力濃度値Ｉが取得され、誤差バッファに登録されているその注目画素の周辺に位置する処理済みの複数の画素についての登録誤差値が、所定の割合で収集されて入力濃度値Ｉに加算され、補正濃度値Ｉ’が算出される。すなわち、収集法では、注目画素の処理によって生じた差分誤差値ｅが、その注目画素についての登録誤差値として誤差バッファに登録される。つまり、ある画素を注目画素として処理する段階では、その注目画素よりも前に処理された複数の周辺画素のそれぞれで生じた差分誤差値ｅが、各周辺画素についての登録誤差値として登録された状態となっている。
【００２７】
ここで、複数の周辺画素の登録誤差値が収集される割合は、例えば図２（Ｄ）に示す誤差収集マトリクスに基づいて決定される。この誤差収集マトリクスにおいて、各数値は、注目画素（＊）を基準とする周辺画素の相対位置に応じて規定された重み付け係数である。つまり、各周辺画素についての登録誤差値に、その周辺画素に対応する重み付け係数をすべての重み付け係数の総和で割った値（例えば、注目画素の左側に隣接する周辺画素であれば２／８）を乗算した値が、注目画素へ収集される。
【００２８】
続いて、前述した分散法と同様、補正濃度値Ｉ’が、４種類のしきい値ＬＬ，Ｌ，Ｍ，Ｓとの比較に基づいて量子化され、注目画素の出力値が決定される。そして、出力値に対応する出力濃度値が補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される。こうして算出された差分誤差値ｅは、誤差バッファにおいてその注目画素についての登録誤差値として登録される。収集法では、以上のような処理が、処理対象の画像を構成するすべての画素について行われることにより、５階調の出力画像データが生成される。
【００２９】
ところで、従来の誤差拡散処理では、処理後の画像において、本来の（処理前の）画像の濃度が適切に表現されない現象が生じる場合があった。例えば、ハイライト部でドットが十分に出力されない区間が続く現象（いわゆるドット遅延）が知られている。一般に、印刷装置で形成可能なドットサイズの種類には限りがあり、印刷装置で表現可能な階調数は入力画像の階調数よりも少なくなるため、画像を構成するすべての画素に対して、正確な濃度を再現できるわけではない。したがって、各画素において、出力された濃度と本来の濃度との間で誤差が生じることになる。誤差拡散処理では、その誤差を次以降の処理画素でキャンセルし、大局的に本来の濃度に近い濃度を再現する。しかしながら、例えば、濃度の濃い領域（中高濃度部）を処理し、負の誤差が蓄積された状態で、濃度の極めて低い領域（ハイライト部）の処理へ移ると、補正濃度値がしきい値をなかなか超えず、その結果、ハイライト部のドット遅延として表れることになる。
【００３０】
このような問題を解決するため、本発明者が調査、実験を行ったところ、入力濃度値をより近似的に再現するにあたり、入力濃度値ごとに「適切な誤差値」が存在することを見いだした。ただし、しきい値や出力濃度値などといった条件が異なれば、入力濃度値が同じであっても「適切な誤差値」は異なり得る。前述した中高濃度部の直後のハイライト部でのドット遅延も、ハイライト部の誤差値とハイライト部の入力濃度値に応じた「適切な誤差値」とが大きく異なる状態となった結果、ハイライト部の誤差値がその入力濃度値に応じた「適切な誤差値」に至るまでに、処理数が要求されることが原因であると考えられる。
【００３１】
この点について詳細に説明する。図３（Ａ）は、入力濃度値が５３２の帯状の中高濃度部Ｄの上下に、入力濃度値が４のハイライト部Ｈを有する画像を示す図である。図３（Ｂ）は、この画像に対して、前述した従来の分散法の誤差拡散処理（図２（Ａ），（Ｂ））を行った場合の出力図（シミュレーション結果）の一部分である。なお、以下に説明する誤差拡散処理において使用する４種類のしきい値ＬＬ，Ｌ，Ｍ，Ｓは、それぞれ５５６，２１０，１９０，０であり、特大ドット、大ドット、中ドット、小ドットに対応する出力濃度値は、それぞれ１０２３，５５６，２１０，１９０である。また、この例でいう「適切な誤差値」の「誤差値」とは、各画素で算出される差分誤差値ｅである。
【００３２】
図３（Ｂ）に示すドットは、印刷装置で何らかのドット（特大ドット、大ドット、中ドット又は小ドット）が出力されることを示している。中高濃度部Ｄは入力濃度値が高いため、ドットの出力割合が高く、ハイライト部Ｈは入力濃度値が低いため、ドットの出力割合が低くなっている。ただし、詳細には、図３（Ｂ）に示す領域Ａ２のように、中高濃度部Ｄの直下のハイライト部Ｈでは、ドットが出力されない区間がしばらく続くドット遅延が生じている。
【００３３】
一方、図３（Ｂ）に示す領域Ａ１のように、中高濃度部Ｄの上に位置するハイライト部Ｈでは、ハイライト部Ｈの本来の濃度を適切に表現するようにドットが平均的に出力されている。これは、誤差値がハイライト部Ｈの入力濃度値に応じた「適切な誤差値」になっているためと考えられる。しかし、中高濃度部Ｄの直下のハイライト部Ｈを処理する段階では、中高濃度部Ｄを処理することにより誤差値が変わり、ハイライト部Ｈの誤差値が、ハイライト部Ｈの入力濃度値に応じた「適切な誤差値」になっていなかったと考えられる。
【００３４】
図４（Ａ）は、中高濃度部Ｄの直上の行を９行目とした場合の１〜９行目（図３（Ｂ）の領域Ａ１）の誤差値の推移を示すグラフであり、横軸は列の位置、縦軸は誤差値である。前述のとおり、この領域は、本来の濃度を適切に表現するようなドット出力となっている領域である。この領域の誤差値は、多数がおおよそ−１００〜０の第１の範囲に分布し、少数が−２００付近の第２の範囲に分布している。−２００付近の誤差値となっている画素は、補正濃度値がしきい値を超えてドットが出力された画素であると考えられる。
【００３５】
また、図４（Ｂ）は、中高濃度部Ｄの直下の行を１行目とした場合の１〜１５行目（図３（Ｂ）の領域Ａ２）の誤差値の推移を示すグラフである。前述のとおり、この領域は、ドット遅延が生じている領域である。この領域の誤差値は、図４（Ａ）に示す分布とは異なり、そのほとんどがおおよそ−３００〜−２００の範囲に分布しており、全体的に極めて低い値となっている。ただし、行が下がる（中高濃度部Ｄから遠ざかる）ほど、誤差値の値が全体的に徐々に増加するように推移する傾向にある。
【００３６】
また、図４（Ｃ）は、中高濃度部Ｄの直下の行を１行目とした場合の４６〜６０行目（図３（Ｂ）の領域Ａ３）の誤差値の推移を示すグラフである。この領域は、ドット遅延が収束しており、本来の濃度を適切に表現するようなドット出力となっている領域である。そして、図４（Ａ）に示す分布と同様の分布となっている。
【００３７】
以上の結果から、中高濃度部Ｄの直下では極めて低い値を示す誤差値が、行を経るごとに増加していき、ある程度まで増加すると、しきい値を超える画素が現れ、本来の濃度を適切に表現するようにドットが出力されるようになると考えられる。つまり、中高濃度部Ｄの下に位置するハイライト部Ｈでは、誤差値の分布が極めて低い値から徐々に第１の範囲へ推移し、しきい値を超える画素が現れると第２の範囲が形成される。まとめると、誤差値の収束までの推移には、次の特徴がある。
【００３８】
（１）誤差値は全体で推移し、ある範囲の値に至る。
（２）その範囲に至れば、しきい値を超える画素が現れ、それらの画素では、別の範囲の誤差値が示され得る。これは、ドット遅延の収束を意味していると考えられる。
【００３９】
そこで、本実施形態の印刷システムでは、誤差拡散処理で発生する誤差を、入力濃度値に応じた「適切な誤差値」に近づける補正を行うことにより、本来の濃度が適切に表現されるようにする。これを実現するため、実行する誤差拡散処理と同一条件（しきい値や出力濃度値などの条件）で、入力濃度値に応じた「適切な誤差値」のデータベースをあらかじめ作成しておく。そして、そのデータベースに基づいて、誤差拡散処理で発生する誤差を補正し、「適切な誤差値」に変更する。
【００４０】
［３．データベースの作成方法］
ここで、入力濃度値に応じた「適切な誤差値」のデータベースの作成方法について説明する。ベタ画像（入力濃度値が一定の画素で構成された画像）に対して従来の誤差拡散処理を実行した場合、誤差値は最終的に同程度の値へ推移する。このように収束した誤差値（以下「基準誤差値」ともいう。）が、「適切な誤差値」であると考えられる。
【００４１】
そこで、横方向及び縦方向のサイズがそれぞれ８００画素（８００×８００画素）のベタ画像に対して従来の分散法の誤差拡散処理を実行し、下方の８００×１０画素の基準誤差値（この例では差分誤差値ｅ）の分布状況を解析ツールによって調べる。例えば図５（Ａ）は、入力濃度値が６００のベタ画像に対して従来の誤差拡散処理を実行した場合の、８００×１０画素の各基準誤差値をプロットしたものであり、横軸は画素番号（１〜８０００）、縦軸は誤差値である。また、図５（Ｂ）は、その基準誤差値の分布を示すグラフであり、横軸は誤差値、縦軸は基準誤差値の出現頻度（各誤差値の個数を総数（この例では８０００）で割った値）である。これらの図に示すように、基準誤差値は、特定の範囲に集中する。この例では、多数がおおよそ−２００〜０の第１の範囲に分布し、少数が−４５０付近の第２の範囲に分布している。
【００４２】
本実施形態では、分布の山の頂点となる出現頻度が所定のしきい値（例えば０．００２）以上である集まりをグループとする。図５（Ｂ）の例では、前述した第１の範囲及び第２の範囲のそれぞれに対応する２つのグループＧ１，Ｇ２が形成されていることになる。各グループＧ１，Ｇ２は、最小値、最大値、平均値及び度数を、パラメータとして有する。この例では、図５（Ｂ）に示すグラフにおいて、誤差値（横軸の値）の増加に伴い出現頻度（縦軸の値）が上昇していく過程で、出現頻度が０．００１を上回った直後の誤差値を最小値とし、その後に出現頻度が下降していく過程で、頻度０．００１を下回った直前の誤差値を最大値とする。図５（Ｂ）では、グループＧ１の最小値及び最大値をそれぞれＭｉｎ１，Ｍａｘ１と示し、グループＧ２の最小値及び最大値をそれぞれＭｉｎ２，Ｍａｘ２と示している。そして、最小値から最大値までの範囲内の基準誤差値の平均を平均値とし、その範囲内の基準誤差値の個数を度数とする。以下の説明では、形成されるグループのうち、度数の最も多いグループ（グループが１つの場合はそのグループ）のことを「多数派」と称する。なお、図５（Ｂ）に示す多数派のグループのように、２つの山の頂点が近接して形成される場合（２つの山が最大値及び最小値を挟まずに形成されるような場合）には、出現頻度が最大の誤差値（山の頂点の誤差値）同士の差分が所定のしきい値以下であることをもって、同一のグループとして扱う。図５（Ｂ）の例では、誤差値が−２００〜０の範囲を１つのグループとして扱っている。なお、別々のグループとして扱う場合には、例えば、２つの山の頂点の間に形成される谷の頂点を境界位置とすればよい。
【００４３】
ここで、他の入力濃度値の基準誤差値の例についても説明する。図６（Ａ）〜（Ｇ）は、それぞれ、入力濃度値が５５２，５５６，５６０，６１６，９４４，１０２０，１０２３の場合の基準誤差値の分布を示すグラフである。入力濃度値が５５６，５６０，１０２３のグラフでは、絶対値の小さい（比較的０に近い）１つのグループに多くの基準誤差値が分布している（分布タイプ１）。入力濃度値が６１６のグラフでは、２つのグループが形成され、絶対値の小さい方のグループに、より多くの基準誤差値が分布している（分布タイプ２）。入力濃度値が９４４のグラフでは、２つのグループが形成され、絶対値の大きい（誤差値の低い）方のグループに、より多くの基準誤差値が分布している（分布タイプ３）。入力濃度値が５５２，１０２０のグラフでは、絶対値の大きい（誤差値の低い）１つのグループに多くの基準誤差値が分布している（分布タイプ４）。このように、基準誤差値の分布タイプは入力濃度値に応じて異なり、大別して、１つのグループが形成される場合と、２つのグループが形成される場合とがある。そして、入力濃度値が５５２から１０２３まで増加するにつれて、基準誤差値の分布タイプが、分布タイプ４→分布タイプ１→分布タイプ２→分布タイプ３→分布タイプ４→分布タイプ１というように変化する。
【００４４】
［４．誤差拡散処理］
本実施形態のパーソナルコンピュータ１には、以上のような方法で作成された、入力濃度値に応じた「適切な誤差値」のデータベースがあらかじめ記憶されている。本実施形態のパーソナルコンピュータ１が実行する誤差拡散処理は、基本的な処理内容は前述した従来の誤差拡散処理と共通するが、入力濃度値に応じた「適切な誤差値」のデータベースに基づいて、誤差拡散処理で発生する誤差を補正する点で相違する。具体的な誤差拡散処理の手順としては、分散法及び収集法という分類とは別に、補正前の誤差を誤差バッファへ登録する方法及び補正後の誤差を誤差バッファへ登録する方法という分類が可能である。以下では、図７（Ａ），（Ｂ）及び図８（Ａ），（Ｂ）に示す４種類の誤差拡散処理について説明する。
【００４５】
＜第１の誤差拡散処理＞
図７（Ａ）は、パーソナルコンピュータ１の制御部１１（ＣＰＵ１１１）が、プリンタドライバ１２３の機能として実行する第１の誤差拡散処理の処理ブロック図である。また、図９は、第１の誤差拡散処理の１画素分の処理手順を示すフローチャートである。なお、前述した従来の誤差拡散処理と共通する内容については、説明を一部省略する。
【００４６】
まず、注目画素の入力濃度値Ｉが取得される（Ｓ１０１）。そして、補正濃度値Ｉ’の算出のために入力濃度値Ｉに加算される誤差値を、入力濃度値Ｉに応じた「適切な誤差値」に基づいて補正する誤差補正処理が行われる（Ｓ１０２）。つまり、第１の誤差拡散処理では、誤差バッファに登録されているその注目画素についての登録誤差値に対して、誤差補正処理が行われる。
【００４７】
図１０（Ａ）は、誤差補正処理の処理手順を示すフローチャートである。
誤差補正処理では、まず、「適切な誤差値」のデータベースから、注目画素の入力濃度値に応じた「適切な誤差値」の情報を参照する（Ｓ２０１）。データベースには、「適切な誤差値」の情報として、入力濃度値ごとに、形成される各グループについての最小値、最大値、平均値及び度数が記憶されており、これらの情報が取得される。
【００４８】
続いて、誤差補正処理の対象となる対象誤差値（第１の誤差拡散処理では注目画素についての登録誤差値）が、いずれかのグループ（グループが１つの場合にはそのグループ）に属する（最小値から最大値までの範囲内に含まれる）か否かを判定する（Ｓ２０２）。ここで、対象誤差値がいずれかのグループに属すると判定した場合には（Ｓ２０２：ＹＥＳ）、対象誤差値を補正することなく、誤差補正処理を終了する。
【００４９】
一方、対象誤差値がいずれのグループにも属しないと判定した場合にも（Ｓ２０２：ＮＯ）、所定の確率条件を満たすか否かを判定し（Ｓ２０３）、確率条件を満たさないと判定した場合には（Ｓ２０３：ＮＯ）、対象誤差値を補正することなく、誤差補正処理を終了する。つまり、本実施形態では、確率条件を満たすことも、対象誤差値を補正する条件とされている。具体的には、多数派のグループの占有率（多数派のグループの度数を基準誤差値の総数（この例では８０００）で割った値）に、所定の定数（本実施形態では０．７）を乗じた確率で、確率条件を満たすと判定する。例えば、多数派のグループの度数が６０００であれば、６０００／８０００×０．７＝０．５２５となる。したがって、多数派のグループの占有率が高いほど、確率条件が満たされやすく（対象誤差値が補正されやすく）なる。なお、対象誤差値を補正するか否かの決定に確率の概念を用いるのは、誤差値の自然な推移を残しておくことを考慮したためである。例えば図５（Ａ）に示すように、「適切な誤差値」の分布においても、一部ではあるが、グループに属さない誤差値も点在し、このような値の存在にも意味がある可能性があることから、グループ外のすべての誤差値を補正するということはしないようにしている。
【００５０】
そして、確率条件を満たすと判定した場合には（Ｓ２０３：ＹＥＳ）、対象誤差値を、多数派のグループ（度数の最も多いグループ）に属するように補正し（Ｓ２０４）、誤差補正処理を終了する。具体的には、図１０（Ｂ）に示すように、多数派のグループの最大値と最小値との差分Ｄを、そのグループの両サイドにとり、２つの仮想グループを設定する。そして、対象誤差値がいずれかの仮想グループに属する場合には、その仮想グループにおける位置（最小値又は最大値を基準とした相対値）と、多数派のグループにおける位置とが一致するように、対象誤差値を多数派のグループに属する値に補正する。換言すれば、多数派のグループの最小値側に隣接する仮想グループに属する対象誤差値については、対象誤差値に差分Ｄを加算し、最大値側に隣接する仮想グループに属する対象誤差値については、対象誤差値から差分Ｄを減算する。一方、対象誤差値がいずれの仮想グループにも属しない場合には、多数派のグループの平均値に補正する。なお、複数のグループが存在する場合にも、一律に多数派のグループに属するように補正するのは、前述したように、誤差拡散処理で発生する誤差値が「適切な誤差値」へ推移する過程では、まず、誤差値の分布が徐々に多数派のグループへ推移し、その後に別の（少数派の）グループが形成されるからである。つまり、多数派への集中を早めることで、「適切な誤差値」への推移の遅延を低減するようにしている。そして、誤差補正処理後の対象誤差値（補正誤差値）が入力濃度値Ｉに加算されて、補正濃度値Ｉ’が算出される（Ｓ１０３）。
【００５１】
続いて、このようにして算出された補正濃度値Ｉ’が、あらかじめ決められているしきい値との比較に基づいて量子化され、注目画素の出力値が決定されるとともに、出力値に対応する出力濃度値が補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ１０４〜Ｓ１１２）。具体的には、補正濃度値Ｉ’がしきい値ＬＬよりも高い場合には（Ｓ１０４：ＹＥＳ）、出力値が特大ドットに決定され、特大ドットに対応する出力濃度値ＤｏｔＬＬが補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ１０５）。また、補正濃度値Ｉ’がしきい値ＬＬ以下でしきい値Ｌよりも高い場合には（Ｓ１０６：ＹＥＳ）、出力値が大ドットに決定され、大ドットに対応する出力濃度値ＤｏｔＬが補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ１０７）。また、補正濃度値Ｉ’がしきい値Ｌ以下でしきい値Ｍよりも高い場合には（Ｓ１０８：ＹＥＳ）、出力値が中ドットに決定され、中ドットに対応する出力濃度値ＤｏｔＭが補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ１０９）。また、補正濃度値Ｉ’がしきい値Ｍ以下でしきい値Ｓよりも高い場合には（Ｓ１１０：ＹＥＳ）、出力値が小ドットに決定され、小ドットに対応する出力濃度値ＤｏｔＳが補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ１１１）。また、補正濃度値Ｉ’がしきい値Ｓ以下の場合には（Ｓ１１０：ＮＯ）、出力値がドット無しに決定され、補正濃度値Ｉ’が注目画素の差分誤差値ｅとして算出される（Ｓ１１２）。
【００５２】
こうして算出された差分誤差値ｅは、誤差分散マトリクス（図２（Ｂ））に基づき未処理の周辺画素へ分散され、誤差バッファにおいて各周辺画素についての登録誤差値として登録（既に登録されている値に加算）される（Ｓ１１３）。
【００５３】
＜第２の誤差拡散処理＞
図７（Ｂ）は、パーソナルコンピュータ１の制御部１１（ＣＰＵ１１１）が、プリンタドライバ１２３の機能として実行する第２の誤差拡散処理の処理ブロック図である。なお、第２の誤差拡散処理の１画素分の処理手順は、基本的には第１の誤差拡散処理と同様であるため、図９を流用するとともに、共通する内容については説明を省略する。
【００５４】
まず、注目画素の入力濃度値Ｉが取得される（Ｓ１０１）。そして、補正濃度値Ｉ’の算出のために入力濃度値Ｉに加算される誤差値を、入力濃度値Ｉに応じた「適切な誤差値」に基づいて補正する誤差補正処理が行われる（Ｓ１０２）。つまり、第２の誤差拡散処理では、誤差バッファに登録されているその注目画素の周辺に位置する処理済みの複数の画素についての登録誤差値を、誤差収集マトリクス（図２（Ｄ））に基づき収集した値に対して、誤差補正処理が行われる。つまり、その収集値を対象誤差値として誤差補正処理が行われる。誤差補正処理の処理手順は、第１の誤差拡散処理と同様である（図１０（Ａ））。そして、誤差補正処理後の対象誤差値（補正誤差値）が入力濃度値Ｉに加算されて、補正濃度値Ｉ’が算出される（Ｓ１０３）。続いて、この補正濃度値Ｉ’が、あらかじめ決められているしきい値との比較に基づいて量子化され、注目画素の出力値が決定されるとともに、出力値に対応する出力濃度値が補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ１０４〜Ｓ１１２）。こうして算出された差分誤差値ｅは、誤差バッファにおいてその注目画素についての登録誤差値として登録される（Ｓ１１３）。
【００５５】
＜第３の誤差拡散処理＞
図８（Ａ）は、パーソナルコンピュータ１の制御部１１（ＣＰＵ１１１）が、プリンタドライバ１２３の機能として実行する第３の誤差拡散処理の処理ブロック図である。また、図１１は、第３の誤差拡散処理の１画素分の処理手順を示すフローチャートである。図１１に示す処理手順は、図９に示す処理手順と比較すると、誤差補正処理（Ｓ３１２）の処理順序が異なり、それ以外については基本的には同様であるため、共通する内容については説明を省略する。
【００５６】
まず、注目画素の入力濃度値Ｉが取得される（Ｓ３０１）。そして、誤差バッファに登録されているその注目画素についての登録誤差値が入力濃度値Ｉに加算されて、補正濃度値Ｉ’が算出される（Ｓ３０２）。続いて、この補正濃度値Ｉ’が、あらかじめ決められているしきい値との比較に基づいて量子化され、注目画素の出力値が決定されるとともに、出力値に対応する出力濃度値が補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ３０３〜Ｓ３１１）。続いて、こうして算出された差分誤差値ｅを、入力濃度値Ｉに応じた「適切な誤差値」に基づいて補正する誤差補正処理が行われる（Ｓ３１２）。つまり、差分誤差値ｅを対象誤差値として誤差補正処理が行われる。誤差補正処理の処理手順は、第１の誤差拡散処理と同様である（図１０（Ａ））。そして、誤差補正処理後の対象誤差値（補正誤差値）が、誤差分散マトリクス（図２（Ｂ））に基づき未処理の周辺画素へ分散され、誤差バッファにおいて各周辺画素についての登録誤差値として登録（既に登録されている値に加算）される（Ｓ３１３）。
【００５７】
＜第４の誤差拡散処理＞
図８（Ｂ）は、パーソナルコンピュータ１の制御部１１（ＣＰＵ１１１）が、プリンタドライバ１２３の機能として実行する第４の誤差拡散処理の処理ブロック図である。なお、第４の誤差拡散処理の１画素分の処理手順は、基本的には第３の誤差拡散処理と同様であるため、図１１を流用するとともに、共通する内容については説明を省略する。
【００５８】
まず、注目画素の入力濃度値Ｉが取得される（Ｓ３０１）。そして、誤差バッファに登録されているその注目画素の周辺に位置する処理済みの複数の画素についての登録誤差値を、誤差収集マトリクス（図２（Ｄ））に基づき収集した値が、入力濃度値Ｉに加算されて、補正濃度値Ｉ’が算出される（Ｓ３０２）。続いて、この補正濃度値Ｉ’が、あらかじめ決められているしきい値との比較に基づいて量子化され、注目画素の出力値が決定されるとともに、出力値に対応する出力濃度値が補正濃度値Ｉ’から減算されることにより、注目画素の差分誤差値ｅが算出される（Ｓ３０３〜Ｓ３１１）。続いて、こうして算出された差分誤差値ｅを、入力濃度値Ｉに応じた「適切な誤差値」に基づいて補正する誤差補正処理が行われる（Ｓ３１２）。つまり、差分誤差値ｅを対象誤差値として誤差補正処理が行われる。誤差補正処理の処理手順は、第１の誤差拡散処理と同様である（図１０（Ａ））。そして、誤差補正処理後の対象誤差値（補正誤差値）が、誤差バッファにおいてその注目画素についての登録誤差値として登録される（Ｓ３１３）。
【００５９】
［５．効果］
第１又は第２の誤差拡散処理によれば、注目画素の入力濃度値Ｉに応じた適正な出力値を得ることができる。すなわち、注目画素の出力値は、注目画素の入力濃度値Ｉに補正誤差値を加算することにより算出される補正濃度値Ｉ’に応じて決定される。したがって、注目画素の入力濃度値Ｉに応じた「適切な誤差値」のグループに属しない誤差値を、多数派のグループに属する値に補正することで、注目画素の入力濃度値Ｉに応じた適正な補正誤差値が得られるように調整することができる。その結果、注目画素の入力濃度値Ｉに応じた適正な出力値を得る（高品位な濃度表現を実現する）ことができ、ドット遅延などの発生を低減することができる。
【００６０】
また、第３又は第４の誤差拡散処理によれば、注目画素について適正な出力値を得ることができる。すなわち、注目画素の出力値は、注目画素の入力濃度値Ｉに補正誤差値を加算することにより算出される補正濃度値Ｉ’に応じて決定され、補正誤差値は、注目画素よりも前に処理された複数の周辺画素それぞれについての補正誤差値を用いて得られる。該周辺画素についての補正誤差値は、該周辺画素の入力濃度値Ｉに応じた「適切な誤差値」のグループに属しない誤差値が、多数派のグループに属する値に補正された誤差値である。つまり、該周辺画素についての補正誤差値は、該周辺画素の入力濃度値Ｉに適した誤差値である。したがって、該周辺画素の入力濃度値Ｉに適した補正誤差値を用いて、注目画素の入力濃度値Ｉに加算される補正誤差値が算出されることにより、注目画素の入力濃度値Ｉに適した補正誤差値を得られるようなる。その結果、注目画素の入力濃度値Ｉに適した出力値を得る（高品位な濃度表現を実現する）ことができ、ドット遅延などの発生を低減することができる。
【００６１】
特に、「適切な誤差値」のグループが、ベタ画像に対して従来の誤差拡散処理を実行した場合に基準誤差値が集中する範囲に設定されているため、ベタ画像に対して従来の誤差拡散処理を実行した場合と同様の補正誤差値を得ることができる。
【００６２】
また、入力濃度値Ｉに応じたグループが複数存在する場合には、いずれのグループにも属しない値を、多数派のグループに属する値に補正するため、入力濃度値Ｉに応じた適正な出力値が得られやすくすることができる。特に、いずれのグループにも属しない値であっても、多数派のグループの占有率に応じた確率に従い、補正するか否かを決定するようにしている。このため、いずれのグループにも属しない値をすべて多数派のグループに属する値に補正する場合と比較して、本来の値（補正しない場合の値）に基づく自然な傾向を残すことができる。しかも、多数派のグループの占有率に所定の定数（本実施形態では０．７）を乗じた確率で補正を行うようにしているため、本来の値に基づく自然な傾向をより強く残すことができる。
【００６３】
なお、パーソナルコンピュータ１が画像処理装置に相当し、プリンタドライバ１２３が画像処理プログラムに相当する。また、第１又は第２の誤差拡散処理ではＳ１０２、第３又は第４の誤差拡散処理ではＳ３１２が、誤差値補正手段としての処理に相当し、第１又は第２の誤差拡散処理ではＳ１０３、第３又は第４の誤差拡散処理ではＳ３０２が、入力濃度値補正手段としての処理に相当する。また、第１又は第２の誤差拡散処理ではＳ１０４〜Ｓ１１２、第３又は第４の誤差拡散処理ではＳ３０３〜Ｓ３１１が、出力値決定手段及び誤差値算出手段としての処理に相当する。また、２５６階調（見かけ上は１０２４階調）が第１の階調数に相当し、５階調が第２の階調に相当する。また、第１の誤差拡散処理では注目画素についての登録誤差値、第２の誤差拡散処理では注目画素の周辺画素についての登録誤差値を収集した値が、「注目画素の周辺の複数の画素のそれぞれについて算出された誤差値を用いて得られた合計誤差値」に相当する。また、第１又は第２の誤差拡散処理における補正誤差値が第１の特定値に相当し、ベタ画像が基準画像に相当し、多数派のグループが最多誤差範囲に相当する。また、第３の誤差拡散処理では注目画素についての登録誤差値、第４の誤差拡散処理では注目画素の周辺画素についての登録誤差値を収集した値が、「注目画素の周辺の複数の画素のそれぞれについて算出された補正誤差値を用いて得られる値（第２の特定値）」に相当する。
【００６４】
［６．他の実施形態］
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
【００６５】
（１）上記実施形態では、いずれのグループにも属しない値を多数派のグループに属する値に補正するようにしているが、これに限定されるものではなく、多数派のグループに属する特定の目標値に近づける（つまり、多数派のグループに属しない値に補正されることも含まれる）ように補正してもよい。また、多数派のグループに属する特定の目標値を基準とした差分に応じた比率で、グループに属しない値だけでなくグループに属する値についても、目標値に近づけるように補正してもよい。
【００６６】
（２）上記実施形態では、データベースを作成するために、ベタ画像に対して従来の分散法の誤差拡散処理を実行し、差分誤差値ｅを基準誤差値として用いているが、分散法に代えて収集法の誤差拡散処理を実行してもよい。また、差分誤差値ｅに代えて、補正濃度値Ｉ’の算出のために入力濃度値Ｉに加算される誤差値（注目画素の周辺画素についての登録誤差値の収集値）を、基準誤差値として用いてもよい。
【００６７】
（３）上記実施形態では、注目画素の入力濃度値Ｉに応じた「適切な誤差値」に基づき誤差値の補正を行うようにしているが、これに限定されるものではなく、例えば、注目画素とその周辺画素とで「適切な誤差値」を比較し、その相違度合いが小さい場合には誤差値の補正を行わず、その相違度合いが大きい場合に誤差値の補正を行うようにしてもよい。「適切な誤差値」が相違するほど、「適切な誤差値」へ推移する（本来の濃度が適切に表現される）までの遅延が大きくなると推測されるからである。
【００６８】
（４）上記実施形態では、５階調を表現可能なプリンタ２を例示したが、これに限定されるものではなく、４階調以下又は６階調以上を表現可能なプリンタであってもよい。この場合、誤差拡散処理では、プリンタで表現可能な階調数で表現された画像データ（印刷データ）を生成する。
【００６９】
（５）上記実施形態では、誤差拡散処理がパーソナルコンピュータ１側で実行される構成を例示したが、これに限定されるものではなく、例えばプリンタ２側で実行されるように構成することも可能である。
【符号の説明】
【００７０】
１…パーソナルコンピュータ、２…プリンタ、１１，２１…制御部、１２，２２…記憶部、１３，２３…通信部、１４，２４…操作部、１５，２５…表示部、２６…印刷実行部、２７…印刷ヘッド、１１１，２１１…ＣＰＵ、１１２，２１２…ＲＯＭ、１１３，２１３…ＲＡＭ、１２３…プリンタドライバ
【図１】
0005810676.tif 000002
【図２】
0005810676.tif 000003
【図５】
0005810676.tif 000004
【図６】
0005810676.tif 000005
【図７】
0005810676.tif 000006
【図８】
0005810676.tif 000007
【図９】
0005810676.tif 000008
【図１０】
0005810676.tif 000009
【図１１】
0005810676.tif 000010
【図３】
0005810676.tif 000011
【図４】
0005810676.tif 000012