(57)【要約】【課題】誤差拡散処理における誤差蓄積に起因する画像のかぶり又は抜けを抑制すること。【解決手段】画像処理装置（１０）の補正量取得手段（５０）は、入力二値画像に基づいて生成される多値画像の階調補正量を画素毎に取得し、誤差加算取得手段（６１）は、注目画素の階調補正量と誤差情報とに基づいて算出される誤差加算情報を取得する。決定手段（６２）は、誤差加算情報に基づいて、出力二値画像における注目画素の画素値を決定し、二値化誤差取得手段（６５）は、出力二値画像における注目画素の画素値と、入力二値画像における注目画素の画素値と、誤差加算情報と、に基づいて算出される二値化誤差情報を取得する。変更手段（６６）は、二値化誤差情報が示す数値が予め定められた範囲でない場合、二値化誤差情報を変更し、供給手段（６８）は、二値化誤差情報に基づいて、次の注目画素で使用される誤差情報を誤差加算取得手段（６１）に供給する。【選択図】図２
2014011544.tif 000002
【特許請求の範囲】
【請求項１】
入力二値画像に基づいて生成される多値画像の階調補正量を画素毎に取得する階調補正量取得手段と、
前記入力二値画像における注目画素の前記階調補正量と誤差拡散処理に基づく誤差情報とに基づいて算出される誤差加算情報を取得する誤差加算取得手段と、
前記誤差加算情報に基づいて、出力二値画像における前記注目画素の画素値を決定する決定手段と、
前記出力二値画像における前記注目画素の画素値と、前記入力二値画像における前記注目画素の画素値と、前記誤差加算情報と、に基づいて算出される二値化誤差情報を取得する二値化誤差取得手段と、
前記二値化誤差情報が示す数値が予め定められた範囲でない場合、前記二値化誤差情報を変更する変更手段と、
前記変更手段により変更された前記二値化誤差情報に基づいて、次の注目画素で使用される前記誤差情報を前記誤差加算取得手段に供給する供給手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記変更手段は、前記二値化誤差情報が示す数値の絶対値が基準値以上である場合、当該絶対値が前記基準値未満になるように、前記二値化誤差情報を変更する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変更手段は、前記二値化誤差情報が示す数値が第１基準値以上の場合、又は、前記二値化誤差情報が示す数値が前記第１基準値よりも小さい第２基準値未満の場合、前記二値化誤差情報が示す数値が前記第１基準値未満かつ前記第２基準値以上になるように、前記二値化誤差情報を変更する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記決定手段は、各画素のうち前記入力二値画像のエッジ部に対応する画素の画素値を、前記誤差加算情報に基づいて決定する、
ことを特徴とする請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記画像処理装置は、
各画素と前記入力二値画像のエッジ部との距離に基づいて、各画素の評価値を取得する手段と、
前記決定手段による前記注目画素の画素値の決定結果と、当該注目画素の周囲画素の前記評価値と、に基づいて、当該周囲画素の画素値を決定する手段と、
を更に含むことを特徴とする請求項１〜４の何れか一項に記載の画像処理装置。
【請求項６】
前記画像処理装置は、
前記入力二値画像の画素値に基づいて、各画素の評価値を取得する手段と、
前記決定手段による前記注目画素の画素値の決定結果と、当該注目画素の周囲画素の前記評価値と、に基づいて、当該周囲画素の画素値を決定する手段と、
を更に含むことを特徴とする請求項１〜５の何れか一項に記載の画像処理装置。
【請求項７】
前記画像処理装置は、
前記出力二値画像の画素値に基づいて、各画素の評価値を取得する手段と、
前記決定手段による前記注目画素の画素値の決定結果と、当該注目画素の周囲画素の前記評価値と、に基づいて、当該周囲画素の画素値を決定する手段と、
を更に含むことを特徴とする請求項１〜６の何れか一項に記載の画像処理装置。
【請求項８】
入力二値画像に基づいて生成される多値画像の階調補正量を画素毎に取得する階調補正量取得手段、
前記入力二値画像における注目画素の前記階調補正量と誤差拡散処理に基づく誤差情報とに基づいて算出される誤差加算情報を取得する誤差加算取得手段、
前記誤差加算情報に基づいて、出力二値画像における前記注目画素の画素値を決定する決定手段、
前記出力二値画像における前記注目画素の画素値と、前記入力二値画像における前記注目画素の画素値と、前記誤差加算情報と、に基づいて算出される二値化誤差情報を取得する二値化誤差取得手段、
前記二値化誤差情報が示す数値が予め定められた範囲でない場合、前記二値化誤差情報を変更する変更手段、
前記変更手段により変更された前記二値化誤差情報に基づいて、次の注目画素で使用される前記誤差情報を前記誤差加算取得手段に供給する供給手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、二値画像をディスクリーニングして得られる多値画像に色補正処理を施し、当該色補正処理における色補正量に基づいて誤差拡散処理を行い、当該誤差拡散処理の結果に応じて、二値画像における網点ドットのエッジ部の画素値を変更する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−０２７２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、誤差拡散処理における誤差蓄積に起因する画像のかぶり又は抜けを抑制することである。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の画像処理装置は、入力二値画像に基づいて生成される多値画像の階調補正量を画素毎に取得する階調補正量取得手段と、前記入力二値画像における注目画素の前記階調補正量と誤差拡散処理に基づく誤差情報とに基づいて算出される誤差加算情報を取得する誤差加算取得手段と、前記誤差加算情報に基づいて、出力二値画像における前記注目画素の画素値を決定する決定手段と、前記出力二値画像における前記注目画素の画素値と、前記入力二値画像における前記注目画素の画素値と、前記誤差加算情報と、に基づいて算出される二値化誤差情報を取得する二値化誤差取得手段と、前記二値化誤差情報が示す数値が予め定められた範囲でない場合、前記二値化誤差情報を変更する変更手段と、前記変更手段により変更された前記二値化誤差情報に基づいて、次の注目画素で使用される前記誤差情報を前記誤差加算取得手段に供給する供給手段と、を含むことを特徴とする。
【０００６】
また、請求項２に記載の画像処理装置は、前記変更手段は、前記二値化誤差情報が示す数値の絶対値が基準値以上である場合、当該絶対値が前記基準値未満になるように、前記二値化誤差情報を変更する、ことを特徴とする。
【０００７】
また、請求項３に記載の画像処理装置は、前記変更手段は、前記二値化誤差情報が示す数値が第１基準値以上の場合、又は、前記二値化誤差情報が示す数値が前記第１基準値よりも小さい第２基準値未満の場合、前記二値化誤差情報が示す数値が前記第１基準値未満かつ前記第２基準値以上になるように、前記二値化誤差情報を変更する、ことを特徴とする。
【０００８】
また、請求項４に記載の画像処理装置は、前記決定手段は、各画素のうち前記入力二値画像のエッジ部に対応する画素の画素値を、前記誤差加算情報に基づいて決定する、ことを特徴とする。
【０００９】
また、請求項５に記載の画像処理装置は、各画素と前記入力二値画像のエッジ部との距離に基づいて、各画素の評価値を取得する手段と、前記決定手段による前記注目画素の画素値の決定結果と、当該注目画素の周囲画素の前記評価値と、に基づいて、当該周囲画素の画素値を決定する手段と、を更に含むことを特徴とする。
【００１０】
また、請求項６に記載の画像処理装置は、前記入力二値画像の画素値に基づいて、各画素の評価値を取得する手段と、前記決定手段による前記注目画素の画素値の決定結果と、当該注目画素の周囲画素の前記評価値と、に基づいて、当該周囲画素の画素値を決定する手段と、を更に含むことを特徴とする。
【００１１】
また、請求項７に記載の画像処理装置は、前記出力二値画像の画素値に基づいて、各画素の評価値を取得する手段と、前記決定手段による前記注目画素の画素値の決定結果と、当該注目画素の周囲画素の前記評価値と、に基づいて、当該周囲画素の画素値を決定する手段と、を更に含むことを特徴とする。
【００１２】
また、請求項８に記載のプログラムは、入力二値画像に基づいて生成される多値画像の階調補正量を画素毎に取得する階調補正量取得手段、前記入力二値画像における注目画素の前記階調補正量と誤差拡散処理に基づく誤差情報とに基づいて算出される誤差加算情報を取得する誤差加算取得手段、前記誤差加算情報に基づいて、出力二値画像における前記注目画素の画素値を決定する決定手段、前記出力二値画像における前記注目画素の画素値と、前記入力二値画像における前記注目画素の画素値と、前記誤差加算情報と、に基づいて算出される二値化誤差情報を取得する二値化誤差取得手段、前記二値化誤差情報が示す数値が予め定められた範囲でない場合、前記二値化誤差情報を変更する変更手段、前記変更手段により変更された前記二値化誤差情報に基づいて、次の注目画素で使用される前記誤差情報を前記誤差加算取得手段に供給する供給手段、としてコンピュータを機能させる。
【発明の効果】
【００１３】
請求項１及び８に記載の発明によれば、誤差拡散処理における誤差蓄積に起因する画像のかぶり又は抜けを抑制する。
【００１４】
請求項２に記載の発明によれば、誤差拡散処理における誤差蓄積の絶対値を基準値未満に留める。
【００１５】
請求項３に記載の発明によれば、誤差拡散処理における誤差蓄積を予め定められた範囲に留める。
【００１６】
請求項４に記載の発明によれば、エッジ部に対応する画素の画素値を決定する。
【００１７】
請求項５，６，７に記載の発明によれば、周囲画素の評価値を考慮して当該周囲画素の画素値を決定する。
【図面の簡単な説明】
【００１８】
【図１】本発明に係る画像処理装置のハードウェア構成を示す図である。
【図２】画像処理装置の機能ブロック図である。
【図３】入力二値画像の一例を示す図である。
【図４】階調変換処理に用いられる変換テーブルの一例を示す図である。
【図５】画像処理装置が実行する処理を示すフロー図である。
【図６】Ｓ５において実行される誤差拡散処理の一例を示す図である。
【図７】入力二値画像の一部の例を示す図である。
【図８】変形例（２）の機能ブロック図である。
【図９】変形例（２）において算出される評価値を説明するための図である。
【図１０】変形例（３）において算出される評価値を説明するための図である。
【図１１】変形例（３）において算出される評価値を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための好適な実施の形態（以下、実施形態という）を、図面に従って説明する。
【００２０】
［１．画像処理装置のハードウェア構成］
図１は、本発明に係る画像処理装置のハードウェア構成を示す図である。図１に示すように、画像処理装置１０は、制御部１２、記憶部１４、及び通信部１６を含んで構成される。なお、画像処理装置１０は、パーソナルコンピュータ等のコンピュータによって実現されるようにすればよい。画像処理装置１０は、図１に示す構成の他にも、操作部や表示部等を含んで構成されるようにしてもよい。
【００２１】
制御部１２は、ＣＰＵを含んで構成される。制御部１２は、記憶部１４に記憶されたプログラムを実行して画像処理装置１０の各部を制御する。
【００２２】
記憶部１４は、ハードディスクやＲＡＭ等の各種メモリにより構成される。記憶部１４は、例えば、制御部１２により実行されるプログラムを記憶する記憶媒体である。他にも例えば、記憶部１４は、制御部１２の作業メモリとしても用いられる。なお、記憶部１４としては、種々のメモリが適用可能である。例えば、半導体メモリ等の記憶装置によって、記憶部１４が実現されるようにしてもよい。
【００２３】
通信部１６は、画像処理装置１０に接続される外部装置とデータ通信を行うためのものである。本実施形態において記憶部１４に記憶されることとして説明するプログラムや各種データは、通信部１６を介して外部装置から取得されるようにしてもよい。
【００２４】
本実施形態においては、画像処理装置１０は、通信部１６を介して画像形成装置２０とデータ通信可能に接続される。画像形成装置２０は、カラープリンタ等を含んで構成される。画像形成装置２０は、外部装置から受信した画像データに基づいて、記録媒体（例えば、用紙やフィルム）に画像を形成する。本実施形態においては、画像形成装置２０は、画像処理装置１０から二値画像のデータを受信して、記録媒体に画像を形成する。即ち、画像形成装置２０は、図示しないデジタル製版装置による印刷用刷版の作成が行われる前に、校正刷りを行うことになる。
【００２５】
［２．画像処理装置において実現される機能］
図２は、画像処理装置１０の機能ブロック図である。図２に示すように、画像処理装置１０は、二値画像取得部３０と、平滑化部４０と、階調補正量取得部５０と、誤差拡散部６０と、二値画像出力部７０と、を含む。図２に示す各機能は、記憶部１４に記憶されたプログラムが、制御部１２により実行されることによって実現される。
【００２６】
本実施形態においては、図２に示す各機能のうち、二値画像取得部３０と平滑化部４０と階調補正量取得部５０とは、制御部１２を主として実現され、誤差拡散部６０は、制御部１２及び記憶部１４を主として実現され、二値画像出力部７０は、制御部１２及び通信部１６を主として実現される。
【００２７】
［２−１．二値画像取得部］
二値画像取得部３０は、入力二値画像を取得する。二値画像取得部３０は、入力二値画像の画像データを記憶する手段（例えば、記憶部１４）又は入力二値画像の画像データを入力する手段（例えば、通信部１６）から、入力二値画像の画像データを取得する。以降、入力二値画像の画像データを、入力二値画像データという。
【００２８】
図３は、入力二値画像の一例を示す図である。図３に示すように、入力二値画像は、網点成分を有する二値画像であり、例えば、ページ記述言語（画像形成装置２０に対して描画を指示するためのコンピュータ言語）で記述された原稿のデータがＲＩＰ（Raster Image Processor）処理により変換された画像である。
【００２９】
網点とは、用紙等の記録媒体において色の濃淡を表現するために用いられるドットのことであり、例えば、当該ドットを構成する一又は複数の画素のことをいう。網点を構成する画素の間隔や、網点を構成する画素の配列パターンによって、色の濃淡が記録媒体において表現される。
【００３０】
入力二値画像データは、各画素がドットであるか否かを示す情報（即ち、各画素が黒画素であるか白画素であるかを示す情報）により構成され、入力二値画像の各画素の画素値は、１ビットで表される。例えば、黒画素の値は「１」、白画素の値は「０」となる。二値画像の各画素のうち画素値が「１」の画素によりドットが表現されることになる。
【００３１】
本実施形態では、図３に示すように入力二値画像の左上を原点として二次元座標（Ｘｓ−Ｙｓ座標系）が設定される。Ｘｓ軸方向（水平方向）に並ぶ画素の数をＸｍａｘとし、Ｙｓ軸方向（垂直方向）に並ぶ画素の数をＹｍａｘとする。即ち、入力二値画像は、Ｘｍａｘ×Ｙｍａｘ個の画素により構成される。以降、各画素を画素Ｐ[ｘ，ｙ]（ただし、１≦ｘ≦Ｘｍａｘ，１≦ｙ≦Ｙｍａｘ）と記載する。
【００３２】
［２−２．平滑化部］
平滑化部４０は、入力二値画像に基づいて、多値画像を取得する。多値画像とは、各画素Ｐ[ｘ，ｙ]の画素値が複数ビット（例えば、８ビット）で表される画像であり、黒と白との間の中間色（即ち、グレー）を有する画像ともいえる。
【００３３】
平滑化部４０は、入力二値画像データに基づいて、多値画像の画像データ（以降、多値画像データという。）を生成する。平滑化部４０は、入力二値画像において１ビットで表されていた各画素Ｐ[ｘ，ｙ]の画素値が、多値画像において８ビットで表されるように変換処理を行うことによって、入力二値画像データを多値画像データに変換する。
【００３４】
具体的には、まず、平滑化部４０は、入力二値画像データが示す入力二値画像の各画素Ｐ[ｘ，ｙ]の１ビットの画素値（即ち、「０」又は「１」）を、複数ビットで表現した単純多値画像の画像データ（以降、単純多値画像データという。）を生成する。多値画像がｎビット（ｎは２以上の自然数。例えば、ｎ＝８）で表現される場合、平滑化部４０は、入力二値画像の画素値が「０」である画素Ｐ[ｘ，ｙ]については、多値画像の当該画素Ｐ[ｘ，ｙ]の画素値を「０」とし、入力二値画像の画素値が「１」である画素Ｐ[ｘ，ｙ]については、多値画像の当該画素Ｐ[ｘ，ｙ]の画素値を「２ｎ−１」（例えば、２５５）とすることによって、単純多値画像データを生成する。
【００３５】
平滑化部４０は、上記生成された単純多値画像データが示す単純多値画像に対して網点除去処理（平滑化処理）を行う。例えば、平滑化部４０は、単純多値画像に対して平滑化フィルタ処理を施すことによって、単純多値画像が有する網点成分が単純多値画像から除去された多値画像を示す多値画像データを取得する。
【００３６】
平滑化フィルタは、注目画素の画素値を周囲画素（注目画素と所与のフィルタサイズとにより定まる画素）の画素値に基づいて補正するものであり、平滑化フィルタ処理が施されることによって、「０」と「２ｎ−１」との間の画素値が算出され、白と黒の間の中間色が表現される。平滑化部４０により用いられる平滑化フィルタ処理としては、公知の種々の平滑化フィルタ処理が適用可能である。例えば、単純な平均フィルタ（移動平均フィルタ）が、平滑化フィルタ処理として用いられるようにしてもよい。他にも例えば、注目画素に近いほど平均値を計算するときの重みが大きくなり、遠くなるほど重みが小さくなるガウス分布を利用するガウシアンフィルタが用いられるようにしてもよい。
【００３７】
［２−３．階調補正量取得部］
階調補正量取得部５０は、入力二値画像に基づいて生成される多値画像の階調補正量を画素Ｐ[ｘ，ｙ]毎に取得する。階調補正量取得部５０は、平滑化部４０により生成された多値画像データに基づいて、当該多値画像データが示す多値画像の各画素Ｐ[ｘ，ｙ]に階調変換処理を施した場合の階調補正量を示すデータを、各画素Ｐ[ｘ，ｙ]毎に取得する。
【００３８】
階調補正量は、画像の画素値（濃度）をどの程度上げ下げするかを示す情報であり、階調変換処理の前後での画素値の変化量である。階調変換処理は、例えば、階調変換前の画素値と階調変換後の画素値との関連付けに基づいて実行される。当該関連付けは、数式形式であってもよいし、テーブル形式であってもよい。当該関連付けを示すデータは、記憶部１４に記憶される。この関連付けにおいては、画像形成装置２０が印刷する印刷物と、デジタル製版装置により生成された印刷用刷版を印刷機で印刷した印刷物の色合いが同じになるように、階調変換前後の画素値が関連付けられている。
【００３９】
図４は、階調変換処理に用いられる変換テーブルの一例を示す図である。図４に示すように、変換テーブルには、階調変換前の画素値と階調変換後の画素値とが関連付けられている。階調補正量取得部５０は、平滑化部４０により生成された多値画像データの各画素Ｐ[ｘ，ｙ]について、当該画素Ｐ[ｘ，ｙ]の画素値と、当該画素値に関連付けられた階調変換後の画素値と、の差を算出することによって、階調補正量を取得する。
【００４０】
なお、ここでは、階調変換前の画素値と階調変換後の画素値とが関連付けられている場合を説明したが、階調変換前の画素値と階調補正量とが関連付けられているようにしてもよい。この場合、階調補正量取得部５０は、平滑化部４０により生成された多値画像データの各画素Ｐ[ｘ，ｙ]について、当該画素Ｐ[ｘ，ｙ]の画素値に関連付けられた階調補正量を取得することになる。
【００４１】
［２−４．誤差拡散部］
誤差拡散部６０は、階調補正量取得部５０が取得した各画素Ｐ[ｘ，ｙ]の階調補正量に基づいて誤差拡散処理を行い、入力二値画像データが示す入力二値画像の各画素Ｐ[ｘ，ｙ]の画素値を変更するか否かを決定する。誤差拡散部６０は、当該決定結果に基づいて生成される出力二値画像の画像データ（以降、出力二値画像データという。）を二値画像出力部７０に供給する。
【００４２】
本実施形態においては、誤差拡散部６０は、誤差加算取得部６１と、オンオフ決定部６２と、画素値変更部６３と、変動取得部６４と、二値化誤差取得部６５と、二値化誤差変更部６６と、二値化誤差記憶部６７と、誤差供給部６８と、を含む。誤差拡散部６０の各機能のうち、二値化誤差記憶部６７は、記憶部１４を主として実現され、他の機能は、制御部１２を主として実現される。
【００４３】
［２−４−１．誤差加算取得部］
誤差加算取得部６１は、注目画素Ｐ[ｘ，ｙ]の階調補正量と誤差供給部６８により供給される誤差情報（誤差拡散処理に基づく誤差情報）とに基づいて算出される誤差加算情報を取得する。誤差加算取得部６１は、階調補正量取得部５０により取得された注目画素Ｐ[ｘ，ｙ]の階調補正量と、当該誤差加算取得部６１に供給された誤差情報と、を加算して誤差加算情報を各注目画素Ｐ[ｘ，ｙ]毎に生成する。
【００４４】
注目画素Ｐ[ｘ，ｙ]は、各画素Ｐ[ｘ，ｙ]のうち誤差拡散処理の対象となっている画素Ｐ[ｘ，ｙ]であり、出力二値画像の画素値の決定処理が行われている処理対象画素ともいえる。誤差情報は、過去に出力二値画像の画素値を決定した画素Ｐ[ｘ，ｙ]に発生した画素値の誤差に関する数値であり、後述する誤差供給部６８により誤差加算取得部６１に供給される。誤差情報が示す数値が正であることは、注目画素Ｐ[ｘ，ｙ]の画素値を「１」にすべきことを示し、誤差情報が示す数値が負であることは、注目画素Ｐ[ｘ，ｙ]の画素値を「０」にすべきことを示す。
【００４５】
［２−４−２．オンオフ決定部］
オンオフ決定部６２は、誤差加算取得部６１により取得された誤差加算情報に基づいて、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値を決定する。オンオフ決定部６２は、出力二値画像の注目画素Ｐ[ｘ，ｙ]の画素値を、当該注目画素Ｐ[ｘ，ｙ]に対応する誤差加算情報（即ち、当該注目画素Ｐ[ｘ，ｙ]の階調補正量に基づいて算出された誤差加算情報）の数値に基づいて決定する。
【００４６】
オンオフ決定部６２は、誤差加算取得部６１により取得された誤差加算情報が示す数値が予め定められた範囲であるか否かを判定する。オンオフ決定部６２は、当該判定結果に基づいて、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値を決定する。オンオフ決定部６２は、注目画素Ｐ[ｘ，ｙ]に対応する誤差加算情報の数値が予め定められた範囲である場合（例えば、第１閾値以上である場合）、出力二値画像の当該注目画素Ｐ[ｘ，ｙ]の画素値を「１」とし、注目画素Ｐ[ｘ，ｙ]に対応する誤差加算情報の数値が予め定められた範囲でない場合（例えば、第１閾値より小さい第２閾値以下である場合）、出力二値画像の当該注目画素Ｐ[ｘ，ｙ]の画素値を「０」とする。
【００４７】
例えば、オンオフ決定部６２は、誤差加算情報が示す数値が１以上である場合、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値を「１」にすると決定し、誤差加算情報が示す数値が−１以下である場合、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値を「０」にすると決定する。なお、オンオフ決定部６２は、誤差加算情報が示す数値が「０」である場合、入力二値画像の画素値を変化させないと決定するようにしてもよい。
【００４８】
［２−４−３．画素値変更部］
画素値変更部６３は、オンオフ決定部６２の決定結果に基づいて、入力二値画像の画素値を変更する。画素値変更部６３は、オンオフ決定部６２が決定した画素値を出力二値画像の画素値とすることによって、出力二値画像データを生成する。例えば、画素値変更部６３は、入力二値画像データが示す入力二値画像の各画素Ｐ[ｘ，ｙ]の画素値を、オンオフ決定部６２が決定した画素値に変更することによって、出力二値画像データを生成する。
【００４９】
ここでは、画素値変更部６３は、下記の４つの何れかの処理を実行することになる。
（１）画素値が「１」の画素Ｐ[ｘ，ｙ]の画素値を「０」にする
（２）画素値が「０」の画素Ｐ[ｘ，ｙ]の画素値を「１」にする
（３）画素値が「１」の画素Ｐ[ｘ，ｙ]の画素値を「１」のままにする
（４）画素値が「０」の画素Ｐ[ｘ，ｙ]の画素値を「０」のままにする
【００５０】
［２−４−４．変動取得部］
変動取得部６４は、画素値変更部６３による画素値の変化量（以降、変動情報という。）を各画素Ｐ[ｘ，ｙ]毎に取得する。変動取得部６４は、入力二値画像の各画素Ｐ[ｘ，ｙ]の画素値と、出力二値画像の各画素Ｐ[ｘ，ｙ]の画素値と、の差分を算出することによって、画素値の変化量を取得する。
【００５１】
ここでは、変動取得部６４は、下記の４つの何れかの場合の変動情報を取得する。
（１）画素値が「１」の画素Ｐ[ｘ，ｙ]の画素値が「０」に変更された場合に、「１−２ｎ」（例えば、−２５５）を変動情報とする
（２）画素値が「０」の画素Ｐ[ｘ，ｙ]の画素値が「１」に変更された場合に、「２ｎ−１」（例えば、＋２５５）を変動情報とする
（３）画素値が「１」の画素Ｐ[ｘ，ｙ]の画素値が「１」のまま変更されなかった場合に、「０」を変動情報とする
（４）画素値が「０」の画素Ｐ[ｘ，ｙ]の画素値が「０」のまま変更されなかった場合に、「０」を変動情報とする
【００５２】
［２−４−５．二値化誤差取得部］
二値化誤差取得部６５は、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値と、入力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値と、誤差加算情報と、に基づいて算出される二値化誤差情報を取得する。二値化誤差情報は、注目画素Ｐ[ｘ，ｙ]の階調補正量を二値化した場合に生じる誤差を示す数値である。
【００５３】
二値化誤差取得部６５は、変動取得部６４により取得された変動情報と、誤差加算取得部６１により取得された誤差加算情報と、に基づいて、二値化誤差情報を取得する。ここでは、二値化誤差取得部６５は、誤差加算取得部６１により取得された誤差加算情報から変動情報を減算した数値を、二値化誤差情報として取得する。
【００５４】
［２−４−６．二値化誤差変更部］
二値化誤差変更部６６は、二値化誤差取得部６５により取得された二値化誤差情報が示す数値が予め定められた範囲でない場合、二値化誤差情報を変更する。二値化誤差変更部６６は、二値化誤差情報が示す数値が予め定められた範囲でない場合、二値化誤差情報が示す数値が予め定められた範囲内になるように、二値化誤差情報が示す数値を増加又は減少させる。
【００５５】
本実施形態においては、二値化誤差変更部６６は、二値化誤差情報が示す数値の絶対値が基準値（例えば、１０００）以上である場合、当該絶対値が基準値未満になるように、二値化誤差情報を変更する。二値化誤差変更部６６は、二値化誤差情報が示す数値の絶対値が減少するように（絶対値が０に近づくように）、二値化誤差情報が示す数値を変化させる。
【００５６】
例えば、二値化誤差変更部６６は、二値化誤差情報が示す数値が第１基準値（例えば、１０００）以上の場合、又は、二値化誤差情報が示す数値が第１基準値未満の第２基準値（例えば、−１０００）未満の場合、二値化誤差情報が示す数値が第１基準値未満かつ第２基準値以上になるように、二値化誤差情報を変更する。
【００５７】
二値化誤差変更部６６は、二値化誤差情報が示す数値が第１基準値未満かつ第２基準値以上の範囲におさまるように、二値化誤差情報が示す数値を変化させる。なお、第１基準値と第２基準値との差（絶対量）を大きくするほど、階調変換可能量が優先され、当該差が小さくなるほど画像のかぶりや抜けの防止が優先されることになる。
【００５８】
［２−４−７．二値化誤差記憶部］
二値化誤差記憶部６７は、二値化誤差変更部６６により変更された二値化誤差情報を一時的に記憶する。例えば、二値化誤差記憶部６７は、注目画素Ｐ[ｘ，ｙ]を識別する情報と、当該注目画素Ｐ[ｘ，ｙ]の画素値を決定する処理の結果に基づいて算出された二値化誤差情報と、を関連付けて記憶する。二値化誤差記憶部６７に記憶された二値化誤差情報は、例えば、次の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理において使用される。
【００５９】
［２−４−８．誤差供給部］
誤差供給部６８は、二値化誤差情報に基づいて、次の注目画素Ｐ[ｘ，ｙ]で使用される誤差情報を誤差加算取得部６１に供給する。誤差供給部６８は、一の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理が実行されることによって生成された二値化誤差情報に基づいて、次の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理で使用される誤差情報を誤差加算取得部６１に供給する。
【００６０】
誤差供給部６８は、一の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理が実行されることによって生成された二値化誤差情報に基づいて積和演算処理を実行することによって、次の注目画素Ｐ[ｘ，ｙ]の処理で用いられる誤差情報を生成する。積和演算で使用される数式は、予め定められた数式であればよい。例えば、注目画素Ｐ[ｘ，ｙ]の周辺画素の各々に対応する二値化誤差情報に所与の係数を乗じた数値が各々加算されることによって、注目画素Ｐ[ｘ，ｙ]に対応する誤差情報が算出される。
【００６１】
なお、全画素Ｐ[ｘ，ｙ]のうち注目画素が選出される順番は、所与の方法に基づいて定まるようにすればよい。例えば、画素Ｐ[１，１]を最初の注目画素として、以降、画素Ｐ[２，１]，画素Ｐ[３，１]・・・のように右方向に注目画素が選出され、画素Ｐ[Ｘｍａｘ，１]まで選出された場合、次は画素Ｐ[１，２]，画素Ｐ[２，２]・・・のように次の行の画素が選出されるようにしてもよい。他にも例えば、ヒルベルト曲線順やベアノ曲線順で注目画素Ｐ[ｘ，ｙ]が選出されるようにしてもよい。
【００６２】
［２−５．二値画像出力部］
二値画像出力部７０は、出力二値画像データを画像形成装置２０に出力する。画像形成装置２０は、二値画像出力部７０から受信した出力二値画像データに基づいて、記録媒体に画像を形成する。
【００６３】
［３．画像処理装置において実行される処理］
図５は、画像処理装置１０が実行する処理を示すフロー図である。制御部１２は、記憶部１４に記憶されたプログラムに従って、図５に示す処理を実行する。図５に示す処理が実行されることによって、図２に示す各機能が画像処理装置１０において実現される。
【００６４】
図５に示すように、まず、制御部１２は、記憶部１４又は外部記憶媒体に記憶された入力二値画像データを取得する（Ｓ１）。Ｓ１において取得される入力二値画像データには、入力二値画像の各画素Ｐ[ｘ，ｙ]の画素値が含まれる。
【００６５】
制御部１２は、Ｓ１で取得した入力二値画像データを、単純多値画像データに変換する（Ｓ２）。Ｓ２においては、制御部１２は、１ビットの入力二値画像データを、複数ビットの単純多値画像データに変換する。
【００６６】
制御部１２は、単純多値画像データが示す単純多値画像に平滑化処理を施して、中間色を有する多値画像の多値画像データを生成する（Ｓ３）。Ｓ３においては、制御部１２は、単純多値画像の各画素Ｐ[ｘ，ｙ]の画素値を周囲画素の画素値に基づいて変更することによって、多値画像データを生成する。
【００６７】
制御部１２は、記憶部１４に記憶された変換テーブル（図４）を参照し、Ｓ３で生成された多値画像データが示す多値画像の各画素Ｐ[ｘ，ｙ]の階調補正量を算出する（Ｓ４）。Ｓ４においては、制御部１２は、多値画像の各画素Ｐ[ｘ，ｙ]の画素値と、当該画素値に関連付けられた階調処理後の画素値と、の差を算出することによって、階調補正量を各画素Ｐ[ｘ，ｙ]毎に算出する。Ｓ４において算出された各画素Ｐ[ｘ，ｙ]の階調補正量を示すデータは、記憶部１４に一時的に記憶される。
【００６８】
以降、制御部１２は、各画素Ｐ[ｘ，ｙ]の誤差拡散処理を実行する（Ｓ５）。図６は、Ｓ５において実行される誤差拡散処理の一例を示す図である。図６に示すように、制御部１２は、注目画素Ｐ[ｘ，ｙ]の階調補正量と誤差情報とに基づいて、当該注目画素Ｐ[ｘ，ｙ]に対応する誤差拡散処理で使用する誤差加算情報を算出する（Ｓ６）。Ｓ６において算出された誤差加算情報は、記憶部１４に一時的に記憶される。なお、最初の注目画素Ｐ[ｘ，ｙ]に対応する誤差拡散処理が実行される場合には、まだ他の画素Ｐ[ｘ，ｙ]についての誤差拡散処理は実行されていないので、誤差情報は所与の初期値（例えば、０）が用いられる。
【００６９】
制御部１２は、Ｓ６において算出された誤差加算情報が示す数値を参照する（Ｓ７）。誤差加算情報が示す数値が１以上である場合（Ｓ７；誤差加算情報≧１）、制御部１２は、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値をオンにすると決定する（Ｓ８）。Ｓ８においては、制御部１２は、注目画素Ｐ[ｘ，ｙ]の画素値を「１」にすると決定する。
【００７０】
誤差加算情報が示す数値が−１以下である場合（Ｓ６；誤差加算情報≦−１）、制御部１２は、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値をオフにすると決定する（Ｓ９）。Ｓ９においては、制御部１２は、注目画素Ｐ[ｘ，ｙ]の画素値を「０」にすると決定する。
【００７１】
誤差加算情報が示す数値が０である場合（Ｓ６；誤差加算情報＝０）、制御部１２は、注目画素Ｐ[ｘ，ｙ]の画素値を変更しないと決定する（Ｓ１０）。Ｓ１０においては、制御部１２は、入力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値を、そのまま出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値とする。
【００７２】
制御部１２は、Ｓ８〜Ｓ１０の決定結果に基づいて、出力二値画像の注目画素Ｐ[ｘ，ｙ]の画素値を決定する（Ｓ１１）。Ｓ１１において決定された注目画素Ｐ[ｘ，ｙ]の画素値を示すデータは、記憶部１４に一時的に記憶される。
【００７３】
制御部１２は、全ての画素Ｐ[ｘ，ｙ]について誤差拡散処理を実行したか否かを判定する（Ｓ１２）。Ｓ１２においては、制御部１２は、全ての画素Ｐ[ｘ，ｙ]についてＳ６〜Ｓ１１の処理を実行したか否かを判定することになる。例えば、制御部１２は、まだ出力二値画像の画素値を決定していない画素Ｐ[ｘ，ｙ]があるか否かを判定することになる。
【００７４】
全ての画素Ｐ[ｘ，ｙ]について誤差拡散処理を実行したと判定されない場合（Ｓ１２；Ｎ）、制御部１２は、入力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値と、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値と、に基づいて、画素値の変動情報を算出する（Ｓ１３）。Ｓ１３においては、制御部１２は、出力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値から、入力二値画像における注目画素Ｐ[ｘ，ｙ]の画素値を減算した数値を、変動情報として算出する。
【００７５】
制御部１２は、Ｓ６で算出された誤差加算情報とＳ１３で算出された変動情報とに基づいて、二値化誤差情報を算出する（Ｓ１４）。Ｓ１４においては、制御部１２は、誤差加算情報から変動情報を減算した数値を、二値化誤差情報として算出する。
【００７６】
制御部１２は、Ｓ１４で算出された二値化誤差情報が示す数値を参照する（Ｓ１５）。二値化誤差情報が示す数値が基準最大値（例えば、１０００）以上である場合（Ｓ１５；二値化誤差情報≧基準最大値）、制御部１２は、二値化誤差情報が示す数値に、基準最大値を代入する（Ｓ１６）。Ｓ１６においては、基準最大値を示す二値化誤差情報が記憶部１４に一時的に記憶されることになる。なお、基準最大値は、予め定められた数値が用いられるようにすればよく、例えば、正整数の任意の値であってもよい。
【００７７】
二値化誤差情報が示す数値が基準最小値（例えば、−１０００）未満である場合（Ｓ１５；二値化誤差情報＜基準最小値）、制御部１２は、二値化誤差情報が示す数値に、基準最小値を代入する（Ｓ１７）。Ｓ１７においては、基準最小値を示す二値化誤差情報が記憶部１４に一時的に記憶されることになる。なお、基準最小値は、予め定められた数値が用いられるようにすればよく、例えば、負整数の任意の値であってもよい。
【００７８】
一方、二値化誤差情報が示す数値が基準最大値未満、基準最小値以上である場合（Ｓ１４；基準最大値＞二値化誤差情報≧基準最小値）、Ｓ１６及びＳ１７の処理は実行されない。この場合、Ｓ１４で算出された二値化誤差情報が、記憶部１４に一時的に記憶され、次の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理において使用される。
【００７９】
制御部１２は、記憶部１４に記憶された二値化誤差情報に基づいて、誤差情報を算出し（Ｓ１８）、処理はＳ６に移行する。Ｓ１８においては、制御部１２は、二値化誤差情報が示す数値を所与の数式に代入して積和演算を行うことによって、誤差情報を算出する。続くＳ６においては、当該算出された誤差情報と、次の注目画素Ｐ[ｘ，ｙ]の階調補正量と、に基づいて、誤差加算情報が算出される。当該算出された誤差加算情報に基づいて、次の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理が実行されることになる。
【００８０】
一方、全ての画素Ｐ[ｘ，ｙ]について誤差拡散処理を実行したと判定された場合（Ｓ１２；Ｙ）、制御部１２は、出力二値画像データを画像形成装置２０に送信し（Ｓ１９）、処理は終了する。画像形成装置２０は、受信した出力二値画像データに基づいて、用紙に画像を形成する。
【００８１】
上記説明した画像処理装置１０は、二値化誤差情報が示す数値が予め定められた範囲でない場合に、当該数値が予め定められた範囲内におさまるように二値化誤差情報を変更して次の注目画素Ｐ[ｘ，ｙ]の誤差拡散処理を実行し、画素値を変更可能な範囲を超えて誤差が蓄積することを防止するので、誤差拡散処理における誤差蓄積に起因する画像のかぶり又は抜けを抑制する。また、画像処理装置１０は、誤差拡散処理における誤差蓄積の絶対値を基準値未満に留める。また、画像処理装置１０は、誤差拡散処理における誤差蓄積を予め定められた範囲に留める。
【００８２】
［４．変形例］
なお、本発明は、上記の実施形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００８３】
（１）例えば、実施形態においては、全画素Ｐ[ｘ，ｙ]（即ち、Ｘｍａｘ×Ｙｍａｘ個の画素）について誤差拡散部６０により画素値が決定される場合を説明したが、所与の方法により選出される一部の画素Ｐ[ｘ，ｙ]のみについて誤差拡散部６０により画素値が決定されるようにしてもよい。
【００８４】
変形例（１）のオンオフ決定部６２は、各画素Ｐ[ｘ，ｙ]のうち入力二値画像のエッジ部に対応する画素の画素値を、誤差加算情報に基づいて決定する。エッジ部は、入力二値画像に含まれる網点の境界（輪郭）であり、入力二値画像の画素値が「１」の画素（オン画素）と「０」の画素（オフ画素）との境界である。
【００８５】
図７は、入力二値画像の一部の例を示す図である。図７に示すように、画素値が「１」の画素Ｐ[ｘ，ｙ]と、画素値が「０」の画素Ｐ[ｘ，ｙ]と、の網点エッジＬが、エッジ部に相当する。網点エッジＬは、注目画素Ｐ[ｘ，ｙ]の画素値と周囲画素Ｐ[ｘ，ｙ]の画素値とが比較されることによって特定される。
【００８６】
本変形例では、全画素Ｐ[ｘ，ｙ]のうち、網点エッジＬとの距離が基準距離以内となる画素Ｐ[ｘ，ｙ]（図７において斜線で示す。）が、誤差拡散部６０による画素値変更の処理対象画素となる。例えば、網点エッジＬとの距離がｋ画素（ｋは自然数。図７の場合はｋ＝１）以内となる画素Ｐ[ｘ，ｙ]について、誤差拡散部６０は画素値を決定する。なお、ｋの数値が大きくなるほど、網点から離れた画素Ｐ[ｘ，ｙ]まで画素値の変更対象となるので、ｋの数値を小さくするほど網点の形状が維持されることになる。
【００８７】
変形例（１）においては、実施形態と同様の処理（図５及び図６）が実行されるが、全画素Ｐ[ｘ，ｙ]のうち、網点エッジＬからの距離が基準距離以内となる画素Ｐ[ｘ，ｙ]について、Ｓ５の処理（即ち、Ｓ６〜Ｓ１８の処理）が実行される点が実施形態とは異なる。例えば、Ｓ５の処理が実行される前において、制御部１２は、入力二値画像データが示す入力二値画像の各画素Ｐ[ｘ，ｙ]の画素値に基づいて網点エッジＬを特定する。そして、制御部１２は、当該網点エッジＬからの距離が基準距離以内となる画素Ｐ[ｘ，ｙ]を特定する。当該特定された画素Ｐ[ｘ，ｙ]のみがＳ５の処理対象となる。
【００８８】
上記のように、変形例（１）の画像処理装置１０は、エッジ部に対応する画素の画素値を決定する。
【００８９】
（２）また例えば、所与の方法により画素Ｐ[ｘ，ｙ]毎に算出される評価値に応じて、画素値の変更をすべきか否かが決定されるようにしてもよい。
【００９０】
図８は、変形例（２）の機能ブロック図である。図８に示すように、変形例（２）の画像処理装置１０は、実施形態で説明した機能に加えて、評価値取得部８０を実現する。評価値取得部８０は、制御部１２を主として実現される。
【００９１】
本変形例の評価値取得部８０は、各画素Ｐ[ｘ，ｙ]と入力二値画像のエッジ部（網点エッジＬ）との距離に基づいて、各画素Ｐ[ｘ，ｙ]の評価値を取得する。評価値取得部８０は、各画素Ｐ[ｘ，ｙ]と網点エッジＬとの距離と評価値との関連付けに基づいて、各画素Ｐ[ｘ，ｙ]の評価値を取得する。当該関連付けは、数式形式であってもよいし、テーブル形式であってもよい。当該関連付けを示すデータは、記憶部１４に記憶される。
【００９２】
図９は、変形例（２）において算出される評価値を説明するための図である。評価値取得部８０は、各画素Ｐ[ｘ，ｙ]とエッジ部との距離に関連付けられた評価値を、当該画素Ｐ[ｘ，ｙ]の評価値とする。図９に示すように、例えば、各画素Ｐ[ｘ，ｙ]と網点エッジＬとの距離が近いほど評価値が低く設定され、各画素Ｐ[ｘ，ｙ]と網点エッジＬとの距離が遠いほど評価値が高く設定される。図９に示す例では、網点エッジＬとの距離がｋ画素分の画素Ｐ[ｘ，ｙ]については、評価値が「３２×（ｋ−１）」として算出される。即ち、評価値が低いほど網点エッジＬに近いことを示している。
【００９３】
変形例（２）の画素値変更部６３は、オンオフ決定部６２による注目画素Ｐ[ｘ，ｙ]の画素値の決定結果と、当該注目画素Ｐ[ｘ，ｙ]の周囲画素の評価値と、に基づいて、当該周囲画素の画素値を決定する。ここでの周囲画素とは、注目画素Ｐ[ｘ，ｙ]との距離が所定距離以内となる画素のことであり、例えば、注目画素Ｐ[ｘ，ｙ]を囲む画素のことである。
【００９４】
画素値変更部６３は、注目画素Ｐ[ｘ，ｙ]の位置に基づいて周囲画素を特定する。画素値変更部６３は、オンオフ決定部６２が注目画素Ｐ[ｘ，ｙ]の画素値を決定した場合、上記特定した周囲画素のうち評価値が所与の条件を満たす画素について、オンオフ決定部６２により決定された画素値とする。
【００９５】
本変形例では、評価値が低いほど網点エッジＬに近い画素Ｐ[ｘ，ｙ]であることを示しているので、例えば、画素値変更部６３は、周囲画素のうち評価値が最も低い画素について、オンオフ決定部６２により決定された画素値とする。なお、網点エッジＬとの距離が近いほど評価値が高くなるように評価値が算出される場合（例えば、評価値を「２５５−３２×（ｋ−１）」とする場合）には、画素値変更部６３は、周囲画素のうち評価値が最も高い画素について、オンオフ決定部６２により決定された画素値とするようにしてもよい。
【００９６】
上記のように、変形例（２）の画像処理装置１０は、エッジ部との距離に基づいて定まる評価値を考慮して誤差拡散処理を実行する。
【００９７】
なお、上記においては、周囲画素のうち評価値が最も低い画素について、オンオフ決定部６２により決定された画素値とするようにしたが、他の方法に基づいて定まる周囲画素について、オンオフ決定部６２により決定された画素値とするようにしてもよい。
【００９８】
他にも例えば、画素値変更部６３は、各周囲画素の評価値と基準評価値とを比較し、当該比較結果に基づいて、オンオフ決定部６２により決定された画素値を、出力二値画像における当該周囲画素の画素値とするようにしてもよい。基準評価値は、予め定められた値（例えば、９６）が用いられるようにすればよい。
【００９９】
例えば、評価値が低いほど網点エッジＬに近い画素Ｐ[ｘ，ｙ]であることを示している場合、画素値変更部６３は、評価値が基準評価値未満となる周囲画素の画素値を、オンオフ決定部６２により決定された画素値とする。なお、網点エッジＬとの距離が近いほど評価値が高くなるように評価値が算出される場合（例えば、評価値を「２５５−３２×（ｋ−１）」とする場合）、画素値変更部６３は、評価値が基準評価値以上となる周囲画素の画素値を、オンオフ決定部６２により決定された画素値とすることになる。
【０１００】
（３）なお、各画素Ｐ[ｘ，ｙ]の評価値の算出方法は、上記の例に限られない。例えば、入力二値画像の画素値に基づいて評価値が算出されるようにしてもよい。
【０１０１】
変形例（３）の評価値取得部８０は、入力二値画像の画素値に基づいて、各画素Ｐ[ｘ，ｙ]の評価値を取得する。評価値取得部８０は、入力二値画像の画素値と評価値との関連付けに基づいて、各画素Ｐ[ｘ，ｙ]の評価値を取得する。当該関連付けは、数式形式であってもよいし、テーブル形式であってもよい。当該関連付けを示すデータは、記憶部１４に記憶される。
【０１０２】
図１０は、変形例（３）において算出される評価値を説明するための図である。評価値取得部８０は、入力二値画像の各画素Ｐ[ｘ，ｙ]の画素値に関連付けられた評価値を、当該画素Ｐ[ｘ，ｙ]の評価値とする。図１０の例では、画素値が「１」の画素Ｐ[ｘ，ｙ]の評価値が、画素値が「０」の画素Ｐ[ｘ，ｙ]の評価値よりも高く設定される。例えば、画素値が「１」の画素Ｐ[ｘ，ｙ]の評価値が「１２８」となり、画素値が「０」の画素Ｐ[ｘ，ｙ]の評価値が「０」となる。
【０１０３】
画素値変更部６３の処理内容は、変形例（２）と同様である。図１０に示す例の場合、画素値が「０」の周囲画素の画素値が変更されやすくなるので、全体的に、画素値を上げる階調補正が行われることになる。
【０１０４】
なお、上記とは逆に、画素値を下げる階調補正が行われやすくなるようにしてもよい。図１１は、変形例（３）において算出される評価値を説明するための図である。図１１の例では、画素値が「０」の画素Ｐ[ｘ，ｙ]の評価値が、画素値が「１」の画素Ｐ[ｘ，ｙ]の評価値よりも高く設定される。例えば、画素値が「１」の画素Ｐ[ｘ，ｙ]の評価値が「０」となり、画素値が「０」の画素Ｐ[ｘ，ｙ]の評価値が「１２８」となる。この場合、画素値が「１」の画素Ｐ[ｘ，ｙ]が「０」に変更されやすくなるので、全体的に、画素値を下げる階調補正が行われることになる。
【０１０５】
上記のように、変形例（３）の画像処理装置１０は、周囲画素の評価値を考慮して当該周囲画素の画素値を決定する。
【０１０６】
なお、上記では、評価値が基準値未満となる周囲画素（例えば、評価値が「０」の画素）について画素値が変更される対象としたが、変形例（３）においても、変形例（２）と同様に、評価値が基準値以上となる周囲画素（例えば、評価値が「０」の画素）について画素値が変更される対象となるようにしてもよい。同様に、周囲画素の画素値が予め定められた範囲であるか否かに基づいて、当該周囲画素の画素値の変更処理が実行されるようにしてもよい。
【０１０７】
（４）また例えば、出力二値画像の画素値に基づいて評価値が算出されるようにしてもよい。
【０１０８】
変形例（４）の評価値取得部８０は、出力二値画像の画素値に基づいて、各画素Ｐ[ｘ，ｙ]の評価値を取得する。即ち、変形例（４）の評価値取得部８０は、既に画素値変更部６３により出力二値画像の画素値が決定された画素について、評価値を取得する。
【０１０９】
画素値に基づく評価値の算出方法及び画素値変更部６３の処理内容は、変形例（３）と同様である。即ち、評価値取得部８０は、出力二値画像の画素値と、評価値と、の関連付けに基づいて、各画素Ｐ[ｘ，ｙ]の評価値を取得する。当該関連付けは、数式形式であってもよいし、テーブル形式であってもよい。当該関連付けを示すデータは、記憶部１４に記憶される。
【０１１０】
評価値取得部８０は、出力二値画像の各画素Ｐ[ｘ，ｙ]の画素値に関連付けられた評価値を、当該画素Ｐ[ｘ，ｙ]の評価値とする。例えば、画素値が「１」の画素の評価値が高く設定され、画素値が「０」の画素の評価値が低く設定される。逆に画素値が「０」の画素の評価値が高く設定され、画素値が「１」の画素の評価値が低く設定されるようにしてもよい。
【０１１１】
上記のように、変形例（４）の画像処理装置１０は、出力二値画像の画素値に基づいて定まる評価値を考慮して誤差拡散処理を実行する。
【０１１２】
（５）また例えば、上記変形例を組み合わせるようにしてもよい。例えば、変形例（１）と変形例（２）〜（４）の何れかとを組み合わせるようにしてもよい。この場合、エッジ部に近い画素のみ評価値が算出され、当該評価値に基づいて画素値のオンオフが決定されることになる。また、変形例（２）〜（４）を組み合わせるようにしてもよい。即ち、エッジ部からの距離と、入力二値画像又は出力二値画像の画素値と、の両者に基づいて評価値が算出されるようにしてもよい。
【０１１３】
また例えば、変形例（２）〜（４）において、評価値が予め定められた範囲の画素については、画素値を変更しないようにしてもよい。即ち、評価値が予め定められた範囲である周囲画素については、画素値の変更が制限され、評価値が予め定められた範囲でない周囲画素については、画素値の変更が許可されるようにしてもよい。
【０１１４】
また、実施形態では、二値化誤差信号が所与の基準最大値と基準最小値との間におさまっていない場合に、これらの間の数値におさまるようにする場合を説明したが、基準最大値と基準最小値との何れか一方のみが定められているようにしてもよい。即ち、二値化誤差信号が示す数値が基準最大値以上になった場合にのみ、二値化誤差信号が変更されたり、二値化誤差信号が示す数値が基準最小値未満になった場合にのみ、二値化誤差信号が変更されたりするようにしてもよい。
【０１１５】
例えば、画像形成装置２０において画像が常に理想の状態より濃く印刷される場合には、画素値を下げるための階調補正が行われるべきであるので、基準最小値だけを設定しておけばよい。同様に、画像形成装置２０において画像が常に理想の状態より薄く印刷される場合には、画素値を上げるための階調補正が行われるべきであるので、基準最大値だけを設定しておけばよい。
【符号の説明】
【０１１６】
１０  画像処理装置、１２  制御部、１４  記憶部、１６  通信部、２０  画像形成装置、３０  二値画像取得部、４０  平滑化部、５０  階調補正量取得部、６０  誤差拡散部、６１  誤差加算取得部、６２  オンオフ決定部、６３  画素値変更部、６４  変動取得部、６５  二値化誤差取得部、６６  二値化誤差変更部、６７  二値化誤差記憶部、６８  誤差供給部、７０  二値画像出力部、８０  評価値取得部。
【図１】
2014011544.tif 000003
【図２】
2014011544.tif 000004
【図３】
2014011544.tif 000005
【図４】
2014011544.tif 000006
【図５】
2014011544.tif 000007
【図６】
2014011544.tif 000008
【図７】
2014011544.tif 000009
【図８】
2014011544.tif 000010
【図９】
2014011544.tif 000011
【図１０】
2014011544.tif 000012
【図１１】
2014011544.tif 000013