(57)【要約】【課題】  入力される２値画像データが有する網点成分を保持しつつ色補正の補正結果を精度よく反映した２値画像を出力する。【解決手段】  画像処理装置は２値画像データを受け取り、この２値画像データを基に多値画像データを生成し、この多値画像データに対して色補正を施した色補正画像データを生成する。画像処理装置は、２値画像データにおける注目画素の値と、注目画素に隣接する画素の値とに基づいて、２値画像データまたは色補正画像データに誤差拡散を施して２値化した再２値化画像データのいずれを出力するか選択し、選択結果に従って、２値画像データまたは再２値化画像データのいずれかを出力する。【選択図】      図２
2005027270.tif 000002
【特許請求の範囲】
【請求項１】
２値画像データを受け取る２値画像入力手段と、
多値画像データを受け取る多値画像入力手段と、
入力される誤差データと、前記多値画像入力手段が受け取った多値画像データとを画素単位で加算して誤差加算データを生成する画像補正手段と、
前記画像補正手段が生成した誤差加算データを閾値により２値化して再２値化画像データを生成する再２値化手段と、
前記２値画像入力手段が受け取った２値画像データにおける注目画素が、該２値画像データが示す画像のエッジ部分の画素であるか否か検知し、該２値画像データにおける注目画素が該画像のエッジ部分の画素である場合には、前記再２値化手段が生成した再２値化画像データを選択するように指示する画素値選択信号を出力し、該２値画像データにおける注目画素が該画像のエッジ部分の画素でない場合には、前記２値画像入力手段が受け取った２値画像データを選択するよう指示する画素値選択信号を出力する選択信号出力手段と、
前記選択信号出力手段が出力した画素値選択信号に従い、前記２値画像入力手段が受け取った２値画像データまたは前記再２値化手段が生成した再２値化画像データを選択し、出力２値データとして出力するセレクタ手段と、
前記画像補正手段が生成した誤差加算データと前記セレクタ手段が出力した出力２値データとを用いて、２値化により生じた誤差を示す２値化誤差データを求める誤差算出手段と、
前記誤差算出手段により求められた２値化誤差データを用いて、次に前記画像補正手段が受け取る多値画像データの画素値に加算する誤差データを求める補正算出手段と、
を有する画像処理装置。
【請求項２】
前記選択信号出力手段は、前記２値画像入力手段が受け取った２値画像データにおける注目画素の画素値が白画素を示している場合、前記２値画像データにおける当該注目画素に隣接する画素の画素値の論理和を求め、この論理和と前記２値画像データにおける当該注目画素の画素値との排他的論理和が真である場合には、前記再２値化手段が生成した再２値化画像データの選択を指示する画素値選択信号を出力し、該排他的論理和が偽である場合には、前記２値画像入力手段が受け取った２値画像データの選択を指示する画素値選択信号を出力し、
前記２値画像入力手段が受け取った２値画像データにおける注目画素の画素値が黒画素を示している場合、前記２値画像データにおける当該注目画素に隣接する画素の画素値の論理積を求め、この論理積と前記２値画像データにおける当該注目画素の画素値との排他的論理和が真である場合には、前記再２値化手段が生成した再２値化画像データの選択を指示する画素値選択信号を出力し、該排他的論理和が偽である場合には、前記２値画像入力手段が受け取った２値画像データの選択を指示する画素値選択信号を出力すること
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選択信号出力手段は、前記２値画像入力手段が受け取った２値画像データが示す画像と、予め定めた画像パターンとを比較し、画像パターンが一致した場合には、前記２値画像入力手段が受け取った２値化画像データを出力２値データとして出力するよう指示する画素値選択信号を出力すること
を特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記２値画像入力手段が受け取った２値画像データから多値画像データを生成する多値画像データ生成手段を具備し、
前記多値画像入力手段が受け取る多値画像データは、該多値画像データ生成手段により生成された多値画像データであること
を特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記多値画像データ生成手段は、
前記２値画像入力手段が受け取った２値画像データによって表された２値の各画素値を各画素毎に各々複数ビットで表した単純多値画像データを生成する多値化手段と、
前記多値化手段により生成された単純多値画像データを平滑化して平滑化画像データを生成する平滑化手段と、
前記平滑化手段により生成された平滑化画像データに対して色補正を施した色補正画像データを生成する色補正画像データ生成手段とを有し、
該色補正画像データを多値画像データとして前記多値画像入力手段へ供給すること
を特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記多値画像データ生成手段は、
前記平滑化手段により生成された平滑化画像データと、前記色補正画像データ生成手段により生成された色補正画像データとの差分を画素単位で求め、この差分を示す差分画像データを生成する差分画像データ生成手段を具備し、
該差分画像データを多値画像データとして前記多値画像入力手段へ供給すること
を特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記２値画像入力手段が受け取る２値画像データは、各画素が各々複数のビットで表されている多値画像データに対してスクリーン処理が施されたデータであり、
該各画素が各々複数のビットで表されている多値画像データに対して色補正を施し、色補正画像データを生成する色補正データ生成手段を具備し、
前記多値画像入力手段が受け取る多値画像データは、該色補正データ生成手段により生成された色補正画像データであること
を特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記色補正データ生成手段により受け取られる、各画素が各々複数のビットで表されている多値画像データと、前記色補正データ生成手段により生成された色補正画像データとの差分を画素単位で求め、この差分を示す差分画像データを生成する差分画像データ生成手段を具備し、
該差分画像データを多値画像データとして前記多値画像入力手段へ供給すること
を特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像補正手段は、前記２値画像入力手段が受取った２値画像データを受取り、該２値画像データにおける注目画素の画素値が黒画素を示している場合には、前記色補正画像データの画素値がとりうる値の最大値を前記誤差加算データに加算すること
を特徴とする請求項６または請求項８に記載の画像処理装置。
【請求項１０】
前記誤差算出手段は、前記画像補正手段が生成した誤差加算データと、前記セレクタ手段が生成した出力２値データと、前記２値画像入力手段が受け取った２値画像データを受取り、前記２値画像データにおける注目画素の画素値が白画素を示しており、且つ前記出力２値データが黒画素を示している場合には、前記色補正画像データが取りうる画素値の最大値を前記誤差加算データから減算した値を２値化誤差データとして出力し、前記２値画像データにおける注目画素の画素値が黒画素を示しており、且つ前記出力２値データが白画素を示している場合には、前記色補正画像データが取りうる画素値の最大値を前記誤差加算データに加算した値を２値化誤差データとして出力し、前記２値画像データにおける注目画素の画素値と前記出力２値データの画素値が同じ場合には、前記誤差加算データを２値化誤差データとして出力すること
を特徴とする請求項６または請求項８に記載の画像処理装置。
【請求項１１】
前記誤差算出手段は、前記画像補正手段が生成した誤差加算データと、前記セレクタ手段が生成した出力２値データと、前記２値画像入力手段が受け取った２値画像データを受取り、前記２値画像データにおける注目画素の画素値が白画素を示しており、且つ前記出力２値データが黒画素を示している場合には、前記多値画像入力手段が受け取った多値画像データが取りうる画素値の最大値を前記誤差加算データから減算した値を２値化誤差データとして出力し、前記２値画像データにおける注目画素の画素値が黒画素を示しており、且つ前記出力２値データが白画素を示している場合には、前記多値画像データが取りうる画素値の最小値を前記誤差加算データから減算した値を２値化誤差データとして出力し、前記２値画像データにおける注目画素の画素値と前記出力２値データの画素値が同じ場合には、前記誤差加算データを２値化誤差データとして出力すること
を特徴とする請求項６または請求項８に記載の画像処理装置。
【請求項１２】
前記再２値化手段で用いられる閾値を、前記２値画像入力手段が受け取った２値画像データを用いて生成する閾値生成手段を具備することを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
第１閾値と、前記第１閾値より値が小である第２閾値とを生成する閾値生成手段を有し、
前記再２値化手段は、前記画像補正手段が生成した誤差加算データを、前記閾値生成手段が生成した第２閾値により２値化して再２値化画像データを生成し、
前記選択信号出力手段は、前記２値画像入力手段が受け取った２値画像データにおける注目画素が、該２値画像データが示す画像のエッジ部分の画素であって、前記画像補正手段により生成された誤差加算データが示す値が前記第１閾値未満であり、且つ前記第２閾値以上である場合には、前記２値画像入力手段が受け取った２値画像データの選択を指示する画素値選択信号を出力し、前記２値画像入力手段が受け取った２値画像データにおける注目画素が、該２値画像データが示す画像のエッジ部分の画素であって、前記画像補正手段により生成された誤差加算データが示す値が前記第１閾値以上または前記第２閾値未満である場合には、前記再２値化手段が生成した再２値化画像データの選択を指示する画素値選択信号を出力すること
を特徴とする請求項１に記載の画像処理装置。
【請求項１４】
前記選択信号出力手段が出力する画素値選択信号と、前記２値画像入力手段が受け取った２値画像データと、前記セレクタ部が出力した出力２値データとを時系列に記憶する記憶手段と、
前記記憶手段が記憶した画素値選択信号を時系列に順次読み出し、前記画素値選択信号の内容が、前記２値画像入力手段が受け取った２値画像データの出力指示から前記再２値化手段が生成した再２値化画像データの出力指示に変化した時、この直後の画素で前記セレクタ部が出力した出力２値データの画素値が、前記２値画像入力部が受け取った２値画像データの画素値と異なり、
且つ、次に前記画素値選択信号の内容が、前記２値画像入力手段が受け取った２値画像データの出力指示から前記再２値化手段が生成した再２値化画像データの出力指示に変化した時、この直後の画素で前記セレクタ部が出力した出力２値データの画素値が、前記２値画像入力部が受け取った２値画像データの画素値と異なる場合、
前記画素値選択信号が変化した時点の前記出力２値データの画素値を反転した修正画像データを生成して出力する画像データ修正手段と
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項１５】
前記画像データ修正手段は、
前記画素値選択信号の内容が、前記再２値化手段が生成した再２値化画像データの出力指示から前記２値画像入力手段が受け取った２値画像データの出力指示に変化した時、この直前の画素で前記セレクタ部が出力した出力２値データの画素値が、前記２値画像入力部が受け取った２値画像データの画素値と異なり、
且つ、次に前記画素値選択信号の内容が、前記再２値化手段が生成した再２値化画像データの出力指示から前記２値画像入力手段が受け取った２値画像データの出力指示に変化した時、この直前の画素で前記セレクタ部が出力した出力２値データの画素値が、前記２値画像入力部が受け取った２値画像データの画素値と異なる場合、
前記画素値選択信号が変化した時点の前記出力２値データの画素値を反転した修正画像データを生成して出力すること
を特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
２値画像データを受け取る２値画像入力手段と、
多値画像データを受け取る多値画像入力手段と、
入力される誤差データと、前記多値画像入力手段が受け取った多値画像データとを画素単位で加算して誤差加算データを生成する画像補正手段と、
前記画像補正手段が生成した誤差加算データを閾値により２値化して再２値化画像データを生成する再２値化手段と、
前記画像補正手段が生成した誤差加算データと、前記再２値化手段が生成した再２値化画像データと、前記２値画像入力手段が受け取った２値画像データを受取り、前記２値画像データにおける注目画素の画素値が白画素を示しており、且つ前記再２値化画像データが黒画素を示している場合には、前記多値画像入力手段が受け取った多値画像データが取りうる画素値の最大値を前記誤差加算データから減算した値を２値化誤差データとして出力し、前記２値画像データにおける注目画素の画素値が黒画素を示しており、且つ前記再２値化画像データが白画素を示している場合には、前記多値画像データが取りうる画素値の最小値を前記誤差加算データから減算した値を２値化誤差データとして出力し、前記２値画像データにおける注目画素の画素値と前記再２値化画像データの画素値が同じ場合には、前記誤差加算データを２値化誤差データとして出力する誤差算出手段と、
前記誤差算出手段が算出した２値化誤差データを用いて、次に前記画像補正手段が受け取る多値画像データの画素値に加算する誤差データを求める補正算出手段と
を有する画像処理装置。
【請求項１７】
前記２値画像入力手段が受け取った２値画像データから多値画像データを生成する多値画像データ生成手段を具備し、
前記多値画像入力手段が受け取る多値画像データは、該多値画像データ生成手段により生成された多値画像データであること
を特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記多値画像データ生成手段は、
前記２値画像入力手段が受け取った２値画像データによって表された２値の各画素値を各画素毎に各々複数ビットで表した単純多値画像データを生成する多値化手段と、
前記多値化手段により生成された単純多値画像データを平滑化して平滑化画像データを生成する平滑化手段と、
前記平滑化手段により生成された平滑化画像データに対して色補正を施した色補正画像データを生成する色補正画像データ生成手段とを有し、
該色補正画像データを多値画像データとして前記多値画像入力手段へ供給すること
を特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
前記多値画像データ生成手段は、
前記平滑化手段により生成された平滑化画像データと、前記色補正画像データ手段により生成された色補正画像データとの差分を画素単位で求め、この差分を示す差分画像データを生成する差分画像データ生成手段を具備し、
該差分画像データを多値画像データとして前記多値画像入力手段へ供給すること
を特徴とする請求項１８に記載の画像処理装置。
【請求項２０】
前記２値画像入力手段が受け取る２値画像データは、各画素が各々複数のビットで表されている多値画像データに対してスクリーン処理が施されたデータであり、
該各画素が各々複数のビットで表されている多値画像データに対して色補正を施し、色補正画像データを生成する色補正データ生成手段を具備し、
前記多値画像入力手段が受け取る多値画像データは、該色補正データ生成手段により生成された色補正画像データであること
を特徴とする請求項１６に記載の画像処理装置。
【請求項２１】
前記色補正データ生成手段により受け取られる、各画素が各々複数のビットで表されている多値画像データと、前記色補正データ生成手段により生成された色補正画像データとの差分を画素単位で求め、この差分を示す差分画像データを生成する差分画像データ生成手段を具備し、
該差分画像データを多値画像データとして前記多値画像入力手段へ供給すること
を特徴とする請求項２０に記載の画像処理装置。
【請求項２２】
コンピュータ装置を、
２値画像データを受け取る２値画像入力手段と、
多値画像データを受け取る多値画像入力手段と、
入力される誤差データと、前記多値画像入力手段が受け取った多値画像データとを画素単位で加算して誤差加算データを生成する画像補正手段と、
前記画像補正手段が生成した誤差加算データを閾値により２値化して再２値化画像データを生成する再２値化手段と、
前記２値画像入力手段が受け取った２値画像データにおける注目画素が、該２値画像データが示す画像のエッジ部分の画素であるか否か検知し、該２値画像データにおける注目画素が該画像のエッジ部分の画素である場合には、前記再２値化手段が生成した再２値化画像データを選択するように指示する画素値選択信号を出力し、該２値画像データにおける注目画素が該画像のエッジ部分の画素でない場合には、前記２値画像入力手段が受け取った２値画像データを選択するよう指示する画素値選択信号を出力する選択信号出力手段と、
前記選択信号出力手段が出力した画素値選択信号に従い、前記２値画像入力手段が受け取った２値画像データまたは前記再２値化手段が生成した再２値化画像データを選択し、出力２値データとして出力するセレクタ手段と、
前記画像補正手段が生成した誤差加算データと前記セレクタ手段が出力した出力２値データとを用いて、２値化により生じた誤差を示す２値化誤差データを求める誤差算出手段と、
前記誤差算出手段により求められた２値化誤差データを用いて、次に前記画像補正手段が受け取る多値画像データの画素値に加算する誤差データを求める補正算出手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値画像を２値画像に変換して出力する画像処理装置に関する。
【背景技術】
【０００２】
近年、製版工程においては、デジタル化された印刷原稿のデータを使用し，印刷用の刷版をデジタル製版装置により直接作製する、ＣＴＰ（computer to plate）と呼ばれる方法が採られている。ＣＴＰにより印刷用の刷版を作成する場合、ページ記述言語で記述された原稿のデータを、ＲＩＰ（Raster Image Processing）処理により網点成分を有する２値画像データに変換し、この２値画像データから刷版を作成する。
【０００３】
さて、ＣＴＰにより刷版を作成した場合、原稿の校正を行う際には、ＲＩＰ処理により２値化された画像データを、通常、ＤＤＣＰ（direct digital color proof）と呼ばれる色校正システムに出力することにより、校正刷りを得るが、近年、ＲＩＰ処理により２値化された画像データをカラープリンタに出力することにより、ＤＤＣＰのような高額な機器を用いることなく、校正刷りを得る方法・装置が開発されている（例えば、特許文献１参照）。
【０００４】
図２６は、特許文献１に記載されているカラー出力装置の構成を示すブロック図である。特許文献１に記載されているカラー出力装置においては、まず、ＲＩＰ処理により２値化された画像データＤが多値変換手段１１へ供給される。この画像データは網点成分を有している。次に、多値変換手段１１が、供給された２値の画像データを擬似的に多値の画像データＤｏに変換し、ディスクリーニング手段１２が、この画像データＤｏに対してディスクリーニング処理を施す。これにより、画像データＤｏから網点成分が除去され、中間調を有する画像データＤｄが生成される。次に、この画像データＤｄに色補正を施すための色補正データＤｃが色補正テーブル１３から読み出される。色補正手段１４において、この色補正データＤｃと網点成分を有する多値の画像データＤｏとが加算され、加算により得られた画像データＤｘが誤差拡散処理手段１５に入力される。誤差拡散処理手段１５は、入力された画像データに誤差拡散処理を施すことにより、多値画像データを２値画像データに変換し、変換した画像データＤｚを出力手段２へ出力する。こうして出力された画像データＤｚは、当初の網点成分を有し、カラーマッチングが施された画像データとなるから、精度の高い校正刷りを得ることができる。
【０００５】
また、カラープリンタの特性にあった色補正処理を２値画像データに対して施す技術として、例えば、特許文献２に記載されている技術が知られている。特許文献２に記載されている画像データ処理方法では、まず、２値画像データが多値の画像データに変換された後、カラープリンタの特性にあうように色補正処理が施され、次いで、この色補正処理が施された多値画像データが２値化され、多値化データに見合う印刷画素数が決定される。印刷画素数が決定されると、２値画像データの画素配置を参照することにより印刷画素が配置され、印刷画素の増減がある場合には、テーブルを参照してどの位置の画素を増減させるかが決定される。画素を配置する時に生じる誤差、特に多値から２値への変換で生じる誤差は他の画素に拡散される。特許文献２に記載されている画像データ処理方法では、このような処理により、カラープリンタに最適な２値画像データが生成され、原稿の画像に近い画像を得ることができる。
【特許文献１】特開２００１−１４４９７９号公報
【特許文献２】特許第２８７７３５６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されているカラー出力装置では、多値の画像データの画素値が例えば０〜２５５の値をとるとした場合、色補正後の多値画像データの画素値の範囲も０〜２５５としていた。このため、例えば、色補正前の多値画像データＤｏの画素値が「０」であり、色補正データＤｃの画素値が「−５」である場合、色補正後の画像データの画素値は、下限である「０」になってしまい、色補正データを反映した内容にならなかった。
【０００７】
色補正は、正確な校正刷りを得るために正確に施す必要がある。しかしながら、特許文献１に記載されているカラー出力装置は、色補正の結果を多値画像データと加算する際、上述したように、多値化された画像データがとる値の範囲を超えた分を切り捨ててしまい、せっかく補正した色の情報を欠落させてしまう場合がある。このため、特許文献１に開示されているカラー出力装置においては、折角施した色補正が正確に適用されず、精度良く色補正が施された校正刷りを得ることができないという問題が生じ得る。また、出力される画像データＤｚにおいて、ＲＩＰ処理により２値化された画像データＤが有していた網点成分は基本的には保持されるものの、誤差拡散により生じる黒画素や白画素は、２値化された画像データＤが有していた網点成分とは無関係に生じてしまうという問題があった。
【０００８】
これに対し、特許文献２に記載されている方法では、特許文献１に記載されているカラー出力方法のように、色補正時のデータが切り捨てられてしまうことがなく、プリンタの色特性にあった画像を出力することができる。しかしながら、特許文献２に記載されている方法では、多値の画像データを２値の画像データに変換する際、予め具備しているテーブルを参照してどの位置の画素を増減させるかが決定される。このような方法では、入力される２値の画像データが有する網点成分の周期と、テーブルにより増減される画素の周期とが一致していないと、出力する画像にビートが発生してしまうという問題が生じてしまう。
【０００９】
本発明は、上述した事情に鑑みてなされたものであり、入力される２値の画像データが有する網点成分を保持しつつ色補正の補正結果を精度よく反映した２値画像を出力する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために本発明は、２値画像データを受け取る２値画像入力手段と、多値画像データを受け取る多値画像入力手段と、入力される誤差データと、前記多値画像入力手段が受け取った多値画像データとを画素単位で加算して誤差加算データを生成する画像補正手段と、前記画像補正手段が生成した誤差加算データを閾値により２値化して再２値化画像データを生成する再２値化手段と、前記２値画像入力手段が受け取った２値画像データにおける注目画素が、該２値画像データが示す画像のエッジ部分の画素であるか否か検知し、該２値画像データにおける注目画素が該画像のエッジ部分の画素である場合には、前記再２値化手段が生成した再２値化画像データを選択するように指示する画素値選択信号を出力し、該２値画像データにおける注目画素が該画像のエッジ部分の画素でない場合には、前記２値画像入力手段が受け取った２値画像データを選択するよう指示する画素値選択信号を出力する選択信号出力手段と、前記選択信号出力手段が出力した画素値選択信号に従い、前記２値画像入力手段が受け取った２値画像データまたは前記再２値化手段が生成した再２値化画像データを選択し、出力２値データとして出力するセレクタ手段と、前記画像補正手段が生成した誤差加算データと前記セレクタ手段が出力した出力２値データとを用いて、２値化により生じた誤差を示す２値化誤差データを求める誤差算出手段と、前記誤差算出手段により求められた２値化誤差データを用いて、次に前記画像補正手段が受け取る多値画像データの画素値に加算する誤差データを求める補正算出手段と、を有する画像処理装置を提供する。
【００１１】
また本発明は、コンピュータ装置を、２値画像データを受け取る２値画像入力手段と、多値画像データを受け取る多値画像入力手段と、入力される誤差データと、前記多値画像入力手段が受け取った多値画像データとを画素単位で加算して誤差加算データを生成する画像補正手段と、前記画像補正手段が生成した誤差加算データを閾値により２値化して再２値化画像データを生成する再２値化手段と、前記２値画像入力手段が受け取った２値画像データにおける注目画素が、該２値画像データが示す画像のエッジ部分の画素であるか否か検知し、該２値画像データにおける注目画素が該画像のエッジ部分の画素である場合には、前記再２値化手段が生成した再２値化画像データを選択するように指示する画素値選択信号を出力し、該２値画像データにおける注目画素が該画像のエッジ部分の画素でない場合には、前記２値画像入力手段が受け取った２値画像データを選択するよう指示する画素値選択信号を出力する選択信号出力手段と、前記選択信号出力手段が出力した画素値選択信号に従い、前記２値画像入力手段が受け取った２値画像データまたは前記再２値化手段が生成した再２値化画像データを選択し、出力２値データとして出力するセレクタ手段と、前記画像補正手段が生成した誤差加算データと前記セレクタ手段が出力した出力２値データとを用いて、２値化により生じた誤差を示す２値化誤差データを求める誤差算出手段と、前記誤差算出手段により求められた２値化誤差データを用いて、次に前記画像補正手段が受け取る多値画像データの画素値に加算する誤差データを求める補正算出手段として機能させるためのプログラムを提供する。
【００１２】
本発明によれば、画像処理装置は２値画像データと多値画像データとを受け取る。画像処理装置は、多値画像データと、誤差データとを画素単位で加算し、この加算結果を示す誤差加算データを生成し、この誤差加算データを閾値により２値化する。また、画像処理装置は、２値画像データにおける注目画素の画素値と、注目画素に隣接する画素の画素値とに基づいて、前記２値画像入力手段が受け取った２値画像データまたは前記再２値化手段が生成した再２値化画像データのいずれを出力するか指示する画素値選択信号を出力し、出力した画素値選択信号が、前記２値画像入力手段が受け取った２値画像データを出力するよう指示する信号である場合には、前記２値画像入力手段が受け取った２値画像データを出力２値データとして出力し、前記選択信号出力手段が出力した信号が、前記再２値化手段が生成した再２値化画像データを出力するよう指示する信号である場合には、前記再２値化手段が生成した再２値化画像データを出力２値データとして出力する。そして、画像処理装置は、誤差加算データの画素値とと出力２値データの画素値とを用いて、次に多値画像データの画素値に加算する誤差データを求める。
【発明の効果】
【００１３】
本発明によれば、入力される２値の画像データが有する網点成分を保持しつつ色補正の補正結果を精度よく反映した２値画像を出力することが可能となる。
【発明を実施するための最良の形態】
【００１４】
［１．第１実施形態］
［１−１．第１実施形態の構成］
まず、図１を用いて本発明の第１実施形態に係わる画像処理装置の構成を説明する。画像入力部１００は、ＲＩＰ処理により網点成分を有する２値画像データに変換された原稿の画像データ（以下、この画像データを入力２値画像データＤ１０と称する）を受け取るインターフェースとして機能し、受け取った画像データを多値化部２００と誤差拡散部５００とへ供給する。この入力２値画像データＤ１０においては、個々の画素の値が１ビットで表される。即ち、黒画素の値は「１」、白画素の値は「０」である。
【００１５】
多値化部２００は、入力２値画像データＤ１０を多値画像データに変換するものであり、入力２値画像データＤ１０を受け取ると、２値画像データによって表された２値の各画素値を各画素毎に各々複数ビットで表したデータを生成する。例えば、画素値が「０」である場合には「０」を、「１」である場合には「２５５」を新たな画素値とする単純な変換を行う。つまり、画像データは、１ビットで表されていた画素値が８ビットで表されるように変換される（以下、多値化部２００により生成される画像データを単純多値画像データＤ２０と称する）。多値化部２００は、この単純多値画像データＤ２０を網点除去部３００へ供給する。
【００１６】
網点除去部３００は、例えば、入力された単純多値画像データＤ２０に対して平滑化フィルタ処理を施すことにより、単純多値画像データＤ２０が有する網点成分を除去したデータであって、かつ、中間階調を有する画像データ（以下、この画像データを平滑化画像データＤ３０と称する）を生成する。網点除去部３００は、この平滑化画像データＤ３０を色変換部４００へ供給する。なお、この平滑化画像データＤ３０においては、個々の画素の画素値が８ビットで表されている。
【００１７】
色変換部４００は、網点除去部３００から供給された平滑化画像データＤ３０に対して、色補正を施すものであり、当該画像処理装置が印刷する印刷物と、印刷機で印刷した印刷物の色合いが同じになるように平滑化画像データＤ３０に対して色補正を施す。色変換部４００は、この色補正を施した多値画像データ（以下、この画像データを色補正画像データＤ４０と称する）を誤差拡散部５００へ供給する。なお、この色補正画像データＤ４０においては、個々の画素の画素値が８ビットで表されている。
【００１８】
誤差拡散部５００は、色変換部４００から供給された色補正画像データＤ４０に対して平均誤差最小法を用いて誤差拡散処理を施し、個々の画素を１ビットのデジタルデータで表す２値画像データ（以下、この画像データを出力２値画像データＤ６０と称する）を生成するものである。誤差拡散部５００は、生成した画像データを画像出力部６００へ供給する。誤差拡散部５００の詳細については、後に説明する。
【００１９】
画像出力部６００は、印刷を行う機能を具備しており、誤差拡散部５００から供給される出力２値画像データＤ６０を受け取り、受け取った画像データに基づいて印刷を行う。
【００２０】
［１−２．誤差拡散部の構成］
図２は、誤差拡散部５００の構成を例示するブロック図である。２値画像入力部５７０は、画像入力部１００から供給される入力２値画像データＤ１０を受け取るインターフェースとして機能する。２値画像入力部５７０は、入力２値画像データＤ１０を受け取ると、個々の画素の値を示す１ビットのデータ（以下、２値画素データＤ５０ｂと称する）を閾値計算部５１０の反転部５１１と、２値化部５２０の隣接画素判定部５２２およびセレクタ部５２３へ順次供給する。
【００２１】
閾値計算部５１０は、２値画像入力部５７０から供給される２値画素データＤ５０ｂを用いて閾値データを生成するものであり、反転部５１１と、係数発生部５１２と、乗算部５１３とを具備している。
反転部５１１は、２値画像入力部５７０から供給される２値画素データＤ５０ｂの画素値を反転するものである。反転部５１１は、２値画素データＤ５０ｂが供給されると、２値画素データＤ５０ｂの画素値が「０」である場合には画素値を「１」に変換し、２値画素データＤ５０ｂの画素値が「１」である場合には画素値を「０」に変換し、変換した２値画素データＤ５０ｂを反転データＤ５０ｇとして乗算部５１３へ供給する。
係数発生部５１２は、反転部５１１から供給される反転データＤ５０ｇに乗ずる係数を発生するものであり、例えば、色補正画像データＤ４０がとりうる画素値の最大値を係数とし、この係数を示す係数データＤ５０ｈを乗算部５１３へ供給する。なお、係数は、色補正画像データＤ４０がとりうる画素値の最大値に限定されるものではなく、任意の値としてもよい。
乗算部５１３は、反転部５１１から供給される反転データＤ５０ｇの画素値に係数発生部５１２から供給される係数データＤ５０ｈが示す係数を乗じ、この乗算により得た値を示す閾値データＤ５０ｉを２値化部５２０へ供給する。
【００２２】
２値化部５２０は、画像補正部５３０から供給される誤差加算データＤ５０ｃを、閾値計算部５１０から供給される閾値データＤ５０ｉを用いて２値化するものであり、比較部５２１と、隣接画素判定部５２２と、セレクタ部５２３とを具備している。
比較部５２１は、画像補正部５３０から供給される誤差加算データＤ５０ｃを閾値計算部５１０から供給される閾値データＤ５０ｉにより２値化するものである。比較部５２１は、誤差加算データＤ５０ｃが示す値が閾値データＤ５０ｉが示す値以上である場合には、画素値を「１」とした再２値化データＤ５０ｊをセレクタ部５２３へ供給し、誤差加算データＤ５０ｃが示す値が閾値データＤ５０ｉが示す値未満の場合には、画素値を「０」とした再２値化データＤ５０ｊをセレクタ部５２３へ供給する。
【００２３】
隣接画素判定部５２２は、２値画像入力部５７０から供給される２値画素データＤ５０ｂを用いて、注目画素の値と注目画素に隣接する画素の値とに応じて、「Ｄｉｓａｂｌｅ」または「Ｅｎａｂｌｅ」なる値をとる画素値変更可能信号Ｄ５０ｋをセレクタ５２３へ供給するものである。
図３および図４は、注目画素の値と画素値変更可能信号Ｄ５０ｋがとる値の関係を示す図である。隣接画素判定部５２２は、注目している２値画素データＤ５０ｂが示す値が「０」である場合、注目画素に隣接する上下左右の２値画素データの値の論理和を求め、この論理演算の結果と注目画素の画素値との間で排他的論理和をとる。隣接画素判定部５２２は、図３に示したように、注目画素の値と隣接画素の画素値の論理和の値が同じである場合には、画素値変更可能信号Ｄ５０ｋとして「Ｄｉｓａｂｌｅ」を出力し、注目画素の画素値と隣接画素の画素値の論理和の値が異なる場合には、画素値変更可能信号Ｄ５０ｋとして「Ｅｎａｂｌｅ」を出力する。
また、隣接画素判定部５２２は、注目している２値画素データＤ５０ｂが示す値が「１」である場合、注目画素に隣接する上下左右の２値画素データの値の論理積を求め、この論理演算の結果と注目画素の画素値との間で排他的論理和をとる。隣接画素判定部５２２は、図４に示したように、注目画素の値と隣接画素の画素値の論理積の値とが同じである場合には、画素値変更可能信号Ｄ５０ｋとして「Ｄｉｓａｂｌｅ」を出力し、注目画素の値と隣接画素の画素値の論理積の値とが異なる場合には、画素値変更可能信号Ｄ５０ｋとして「Ｅｎａｂｌｅ」を出力する。
【００２４】
セレクタ部５２３は、隣接画素判定部５２２から供給される画素値変更可能信号Ｄ５０ｋに基づいて、２値画像入力部５７０から供給される２値画素データＤ５０ｂまたは比較部５２１から供給される再２値化データＤ５０ｊのいずれかを出力するものである。セレクタ部５２３は、隣接画素判定部５２２から供給される画素値変更可能信号Ｄ５０ｋが「Ｅｎａｂｌｅ」である場合、比較部５２１から供給される再２値化データＤ５０ｊを出力２値データＤ５０ｍとして２値画像出力部５９０へ供給し、画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」である場合、２値画像入力部５７０から供給される２値画素データＤ５０ｂを出力２値データＤ５０ｍとして２値画像出力部５９０へ供給する。
【００２５】
２値画像出力部５９０は、セレクタ部５２３から供給されたデータを画像出力部６００へ供給するインターフェースとしての機能を有しており、セレクタ部５２３から供給されたデータを出力２値画像データＤ６０として画像出力部６００へ供給する。
【００２６】
一方、多値画像入力部５８０は、色変換部４００から供給される色補正画像データＤ４０を受け取るインターフェースとして機能し、色補正画像データＤ４０を受け取ると、個々の画素の値を示す８ビットのデータ（以下、多値画素データＤ５０ａと称する）を画像補正部５３０へ順次供給する。
【００２７】
誤差算出部５４０は、画像補正部５３０から供給される誤差加算データＤ５０ｃと、２値化部５２０から供給される出力２値データＤ５０ｍとを用いて、２値化誤差データＤ５０ｄを生成するものである。誤差算出部５４０は、例えば、２値化部５２０から供給される出力２値データＤ５０ｍが「０」を示す場合には、誤差加算データＤ５０ｃが示す値と「０」との差を差分値としてもとめ、２値化部５２０から供給されるデータが「１」を示す場合には、誤差加算データＤ５０ｃが示す値から「２５５」を引いた値を差分値としてもとめ、この求めた差分値を示すデータを２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。この２値化誤差データＤ５０ｄは、誤差記憶部５５０に記憶される。
【００２８】
補正算出部５６０は、注目画素の周辺の画素で生じた誤差から誤差データＤ５０ｆを求めるものである。補正算出部５６０は、誤差記憶部５５０に記憶された２値化誤差データＤ５０ｄのうち、注目画素の周辺の画素の２値化誤差データＤ５０ｄに対し、予め定めた係数を乗じることにより誤差データＤ５０ｆを求める。そして補正算出部５６０は、次に画像補正部５３０に供給される多値画素データＤ５０ａが示す値に加算する誤差データＤ５０ｆを画像補正部５３０へ供給する。
【００２９】
画像補正部５３０は、多値画像入力部５８０から供給される多値画素データＤ５０ａが示す画素値に、補正算出部５６０から供給される誤差データＤ５０ｆが示す値を加算するものであり、加算により得られた値を示す誤差加算データＤ５０ｃを比較部５２１と誤差算出部５４０へ供給する。
【００３０】
つまり、画像補正部５３０は、誤差拡散により誤差が加算された多値画素データを比較部５２１へ供給し、比較部５２１は、この誤差拡散により誤差が加算された多値画素データを、閾値計算部５１０から供給される閾値データを用いて２値化し再２値化データＤ５０ｊを生成する。そしてセレクタ部５２３は、画素値変更可能信号に応じて、黒画素あるいは白画素が連続する部分においては、２値画像入力部５７０に入力されたデータをそのまま出力２値データＤ５０ｍとして出力し、画素値が変わる部分においては、誤差が加算されたデータを２値化した再２値化データを出力２値データＤ５０ｍとして出力する。
【００３１】
［１−３．第１実施形態の動作］
次に、第１実施形態の動作について説明する。以下の説明では、まず、誤差拡散部５００に入力２値画像データＤ１０と色補正画像データＤ４０とが入力されるまでの動作について説明し、次に、入力２値画像データＤ１０と色補正画像データＤ４０とを受け取った誤差拡散部５００の動作について説明する。
【００３２】
［１−３−１．色補正画像データＤ４０が誤差拡散部５００に入力されるまでの動作］
入力２値画像データＤ１０が画像入力部１００に入力されると、この入力２値画像データＤ１０は画像入力部１００から多値化部２００と誤差拡散部５００とへ供給される。この入力２値画像データＤ１０が多値化部２００に入力されると、この入力２値画像データＤ１０は、多値化部２００において、個々の画素を８ビットのデジタルデータで表す単純多値画像データＤ２０に変換される。この単純多値画像データＤ２０は、多値化部２００から網点除去部３００へ供給される。
【００３３】
網点除去部３００に供給された単純多値画像データＤ２０は、網点除去部３００において平滑化フィルタ処理により網点成分が除去され、中間階調を有する平滑化画像データＤ３０に変換される。この平滑化画像データＤ３０は網点除去部３００から色変換部４００へ供給される。平滑化画像データＤ３０が供給された色変換部４００では、平滑化画像データＤ３０に対して色補正が施され色補正画像データＤ４０が生成される。この色補正データは、色変換部４００から誤差拡散部５００へ供給される。
【００３４】
画像入力部１００から出力された２値画像データが誤差拡散部５００の２値画像入力部５７０へ供給され、色変換部４００から供給された色補正画像データＤ４０が誤差拡散部５００の多値画像入力部５８０に供給されると、誤差拡散部５００では、これらのデータを用いて誤差拡散が行われる。
【００３５】
［１−３−２．誤差拡散部５００の動作］
次に誤差拡散部５００の動作について説明する。入力２値画像データＤ１０が入力された２値画像入力部５７０からは、２値画素データＤ５０ｂが、閾値計算部５１０の反転部５１１と、２値化部５２０の隣接画素判定部５２２およびセレクタ部５２３とへ供給される。
【００３６】
反転部５１１に供給された２値画素データＤ５０ｂは、反転部５１１において画素値が反転された後、反転データＤ５０ｇとして反転部５１１から乗算部５１３へ供給される。乗算部５１３では、反転部５１１から供給された反転データＤ５０ｇが示す値に係数発生部５１２から供給された係数データＤ５０ｈが示す値が乗ぜられ、この乗算により得られた値が閾値データＤ５０ｉとして２値化部５２０の比較部５２１へ供給される。
【００３７】
閾値データＤ５０ｉが比較部５２１に供給されると、比較部５２１において、画像補正部５３０から供給される誤差加算データＤ５０ｃが示す値と閾値データＤ５０ｉが示す値との比較が行われ、誤差加算データＤ５０ｃを２値化した再２値化データＤ５０ｊが生成される。例えば、誤差加算データＤ５０ｃが示す値が「２５５」であり、閾値データＤ５０ｉが示す値が「０」というように、多値画像データが示す値が閾値データＤ５０ｉの値以上である場合には、画素値を「１」とした再２値化データＤ５０ｊが比較部５２１からセレクタ部５２３へ供給され、誤差加算データＤ５０ｃが示す値が「０」であり、閾値データＤ５０ｉが示す値が「２５５」というように、多値画像データが示す値が閾値データＤ５０ｉの値未満である場合には、画素値を「０」とした再２値化データＤ５０ｊが比較部５２１からセレクタ部５２３へ供給される。
【００３８】
一方、隣接画素判定部５２２においては、２値画像入力部５７０から供給された２値画素データＤ５０ｂに基づいて、画素値変更可能信号Ｄ５０ｋが生成される。この隣接画素判定部５２２の動作について、図５を用いて説明する。図５は、入力２値画像データＤ１０が示す画像と、２値画素データＤ５０ｂに基づいて出力される画素値変更可能信号Ｄ５０ｋの関係を説明するための図である。図５においては、画素を表現するために１３×１３のマトリクスを用い、横方向にＡ〜Ｍの符号、縦方向に１〜１３の符号を付け、これらの符号の組み合わせにより画素を表すこととする。
【００３９】
入力２値画像データＤ１０をＸからＹの方向へ走査し、画素Ｂ７を注目画素とした場合、注目画素の値が「０」であるので、隣接画素判定部５２２では画素Ｂ７に隣接する上下左右の画素の画素値の論理和が求められる。画素Ｂ７に隣接する上下左右の画素の画素値の論理和は「０」であり、注目画素の値が「０」であるため、図３に従い、隣接画素判定部５２２からは画素値変更可能信号Ｄ５０ｋとして「Ｄｉｓａｂｌｅ」が出力される（図５：期間ａ）。
【００４０】
次に、画素Ｃ７を注目画素とした場合、隣接画素判定部５２２では画素Ｃ７に隣接する上下左右の画素の画素値の論理和が求められる。画素Ｃ７の右の画素Ｄ７の値は「１」であり、画素Ｃ７の上と下と左の画素の値はいずれも「０」であるので、画素Ｂ７に隣接する上下左右の画素の画素値の論理和は「１」となる。注目画素の値が「０」であり、隣接画素の画素値の論理和が「１」であるため、図３の表に従い、隣接画素判定部５２２からは、画素値変更可能信号Ｄ５０ｋとして「Ｅｎａｂｌｅ」が出力される（図５：期間ｂ）。
【００４１】
次に、画素Ｄ７を着目画素とした場合、注目画素の値が「１」であるため、隣接画素判定部５２２では画素Ｄ７に隣接する上下左右の画素の画素値の論理積が求められる。画素Ｄ７の左の画素Ｃ７の値は「０」であり、画素Ｄ７の上と下と右の画素の値はいずれも「１」であるので、画素Ｄ７に隣接する上下左右の画素の画素値の論理積は「０」となる。注目画素の値が「１」であり、隣接画素の画素値の論理積が「０」であるため、図４の表に従い、隣接画素判定部５２２からは、画素値変更可能信号Ｄ５０ｋとして「Ｅｎａｂｌｅ」が出力される（図５：期間ｃ）。
【００４２】
次に、画素Ｅ７を着目画素とした場合、隣接画素判定部５２２では画素Ｅ７に隣接する上下左右の画素の画素値の論理積が求められる。画素Ｅ７の上下左右の画素はいずれも「１」であるので、画素Ｅ７に隣接する上下左右の画素の画素値の論理積は「１」となる。注目画素の値が「１」であり、隣接画素の画素値の論理積が「１」であるため、図４の表に従い、隣接画素判定部５２２からは、画素値変更可能信号Ｄ５０ｋとして「Ｄｉｓａｂｌｅ」が出力される（図５：期間ｄ）。
【００４３】
このように、隣接画素判定部５２２においては、注目画素の画素値と、注目画素に隣接する画素の画素値の論理和の結果、または注目画素に隣接する画素の画素値の論理積の結果との排他的論理和をとることにより、画素の値が変化する部分を注目画素としている場合、即ち、画像のエッジ部分においてのみ、「Ｅｎａｂｌｅ」の値をとる画素値変更可能信号Ｄ５０ｋが出力される。
【００４４】
隣接画素判定部５２２から出力された画素値変更可能信号Ｄ５０ｋは、セレクタ部５２３へ供給される。セレクタ部５２３に画素値変更可能信号Ｄ５０ｋとして「Ｅｎａｂｌｅ」が入力されると、比較部５２１から供給された再２値化データＤ５０ｊがセレクタ部５２３から出力される（図５：期間（Ａ））。このように、画素値変更可能信号Ｄ５０ｋとして「Ｅｎａｂｌｅ」が出力されている場合、即ち、画素の値が変化する部分（画像のエッジ部分）を注目画素としている期間は、比較部５２１から供給された再２値化データＤ５０ｊ、即ち、色補正画像データＤ４０に対して誤差拡散を施し、この誤差拡散を施したデータを２値化した再２値化データＤ５０ｊがセレクタ部５２３から出力２値データＤ５０ｍとして出力される。
【００４５】
セレクタ部５２３に画素値変更可能信号Ｄ５０ｋとして「Ｄｉｓａｂｌｅ」が入力されると、２値画像入力部５７０から供給された２値画素データＤ５０ｂがセレクタ部５２３からそのまま出力される（図５：期間（Ｂ））。このように、画素値変更可能信号Ｄ５０ｋとして「Ｄｉｓａｂｌｅ」が出力されている場合、即ち、画像を形成する黒画素が連続する部分を注目画素としている期間においては、２値画像入力部５７０から供給された２値画素データＤ５０ｂがセレクタ部５２３からそのまま出力される。
【００４６】
セレクタ部５２３から出力されたデータは、２値画像出力部５９０と誤差算出部５４０とへ供給される。２値画像出力部５９０に供給されたデータは、出力２値画像データＤ６０として画像出力部６００へ供給される。この出力２値画像データＤ６０が供給された画像出力部６００では、供給された出力２値画像データＤ６０に基づいて印刷が行われる。
【００４７】
誤差算出部５４０では、セレクタ部５２３から供給された出力２値データＤ５０ｍと、画像補正部５３０から供給された誤差加算データＤ５０ｃとが用いられ、２値化誤差データＤ５０ｄが生成される。補正算出部５６０では、誤差記憶部５５０に記憶された２値化誤差データＤ５０ｄを用いて、注目画素に対する誤差データＤ５０ｆが算出される。この誤差データＤ５０ｆは画像補正部５３０へ供給され、誤差データＤ５０ｆが示す値は、次に画像補正部５３０へ供給される多値画素データＤ５０ａが示す値に加算される。
【００４８】
以上説明したように本実施形態によれば、画素値変更可能信号Ｄ５０ｋにより、黒画素あるいは白画素が連続する部分においては、誤差拡散が施されたデータが出力されるのではなく、入力２値画像データＤ１０がそのまま出力される。誤差拡散により多値の画像データを２値化すると、画像を形成する画素が連続する部分において、元の２値画像データが有していた画素が誤差の蓄積により欠落する場合がある。しかしながら、本実施形態の２値化部５２０は、上述したように黒画素あるいは白画素が連続する部分においては、誤差拡散を施したデータを出力するのではなく、入力２値画像データＤ１０をそのまま出力するので、当該画像処理装置に入力された入力２値画像データＤ１０が有していた網点成分を精度よく保存した画像データを出力することが可能となる。
【００４９】
また、本実施形態では、特許文献１に記載されているカラー出力装置のように、色補正の結果を単純多値画像データＤ２０に加算し、この加算により得られる多値画像データに対して誤差拡散を施して２値の画像データを得るのではなく、平滑化画像データＤ３０に対して色補正を施し、この補正を施した画像データに対して誤差拡散を施して２値の画像データを得る。特許文献１に記載されているカラー出力装置は、色補正の結果を単純多値画像データＤ２０に加算するが、網点構造を有する単純多値画像では、値が「０」である画素が多数存在するため、加算結果が画素の取りうる値の範囲を超える場合が多く発生する。特許文献１に記載されているカラー出力装置は、加算結果が画素の取りうる値の範囲を超えた場合、画素の値を画素値が取る範囲内になるように修正してしまうため、色補正結果を加算した画像データには、正確に色補正が施されていない画素が多数存在することとなる。
これに対して本実施形態では、平滑化画像データＤ３０に対して色補正が施された色補正画像データＤ４０が直接誤差拡散処理されることにより、色補正の精度を反映した２値画像データを出力することが可能となる。
【００５０】
［２．第２実施形態］
次に本発明の第２実施形態について説明する。なお、以下に説明する第２実施形態において、第１実施形態と構成が同じ部分については第１実施形態と同じ符号を付し、その説明を省略する。
【００５１】
［２−１．第２実施形態の構成］
図６は、本発明の第２実施形態に係わる誤差拡散部５００の構成を例示するブロック図である。本発明の第２実施形態が第１実施形態と異なるのは、誤差拡散部５００が画像修正部５９５を具備している点である。
【００５２】
画像修正部５９５は、セレクタ部５２３から供給される出力２値データＤ５０ｍの修正を行うものであり、セレクタ部５２３から供給される出力２値データＤ５０ｍと、２値画像入力部５７０から供給される２値画素データＤ５０ｂと、隣接画素判定部５２２から供給される画素値変更可能信号Ｄ５０ｋとを記憶するメモリ（図示略）とを具備している。
画像修正部５９５は、画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」から「Ｅｎａｂｌｅ」に変化した時にこの直後の画素で２値画素データＤ５０ｂの値と出力２値データＤ５０ｍの値が異なり、次に画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」から「Ｅｎａｂｌｅ」に変化した時にもこの直後の画素で２値画素データＤ５０ｂの値と出力２値データＤ５０ｍの値が異なる場合、この画素値変更可能信号が変化した時点の出力２値データＤ５０ｍの値を反転する。また、画像修正部５９５は、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｂｌｅ」から「Ｄｉｓａｂｌｅ」に変化した時にこの直前の画素で２値画素データＤ５０ｂの値と出力２値データＤ５０ｍの値が異なり、次に画素値変更可能信号Ｄ５０ｋが「Ｅｎａｂｌｅ」から「Ｄｉｓａｂｌｅ」に変化した時にもこの直前の画素で２値画素データＤ５０ｂの値と出力２値データＤ５０ｍの値が異なる場合、この画素値変更可能信号が変化した時点の出力２値データＤ５０ｍの値を反転する。画像修正部５９５は、記憶した画素値変更可能信号Ｄ５０ｋの変化の確認が終了すると、修正が施された出力２値データＤ５０ｍを２値画像出力部５９０へ供給する。
【００５３】
［２−２．第２実施形態の動作］
次に本発明の第２実施形態の動作について説明する。なお、以下に説明する動作において、画像修正部５９５を除く他の部分の動作については、第１実施形態の動作と同じであるためその説明を省略し、画像修正部５９５の動作についてのみ説明する。また、以下に説明する画像修正部５９５の動作においては、図７に示したように、画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」から「Ｅｎａｂｌｅ」に変化した時に、２値画像入力部５７０から出力された２値画素データＤ５０ｂの値と異なる値の出力２値データＤ５０ｍがセレクタ部５２３から出力された場合を想定し、動作の説明を行う。
【００５４】
図７は、入力２値画像データＤ１０が示す画像と、２値画像入力部から出力される２値画素データＤ５０ｂの値と、画素値変更可能信号Ｄ５０ｋと、セレクタ部５２３から出力される出力２値データＤ５０ｍおよび画像修正部５９５から出力される出力２値データＤ５０ｍの関係を説明するための図である。図７においては、図５と同様に符号の組み合わせにより画素を表すこととする。
【００５５】
画像修正部５９５では、記憶した画素値変更可能信号Ｄ５０ｋが順次読み出され、図７に示したように、時点ｅにおいて、読み出した画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」から「Ｅｎａｂｌｅ」に変化すると、セレクタ部５２３から供給されたデータのうち、画素Ｃ７に相当する出力２値データＤ５０ｍが示す画素値と、２値画像入力部５７０から供給された２値画素データＤ５０ｂのうち画素Ｃ７に相当する２値画素データＤ５０ｂが示す画素値とを比較する。
図７に示されているように、セレクタ部５２３から供給された出力２値データＤ５０ｍが示す画素値「１」と、２値画像入力部から供給された２値画像データが示す画素値「０」とは異なるので、画像修正部５９５は、次に画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」から「Ｅｎａｂｌｅ」に変化する点を見つけだす。
画像修正部５９５では、画素値変更可能信号Ｄ５０ｋが順次読み出され、時点ｇにおいて、画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」から「Ｅｎａｂｌｅ」に変化すると、セレクタ部５２３から供給された出力２値データＤ５０ｍのうち画素Ｊ７に相当する出力２値データＤ５０ｍが示す画素値と、２値画像入力部から供給された２値画素データＤ５０ｂのうち画素Ｊ７に相当する２値画素データＤ５０ｂが示す画素値とを比較する。
図７に示されているように、セレクタ部５２３から供給された出力２値データＤ５０ｍが示す画素値「０」と、２値画像入力部から供給された２値画像データが示す画素値「１」とは異なるので、画像修正部５９５は、画素Ｃ７における出力２値データＤ５０ｍの画素値を「０」に修正し、画素Ｊ７における出力２値データＤ５０ｍの画素値を「１」に修正する。このように修正された出力２値画素データＤ５０ｂは、画像修正部５９５から画像出力部６００へ供給される。
【００５６】
以上説明したように本実施形態によれば、画像のエッジ部においてセレクタ部５２３から出力される出力２値データＤ５０ｍの画素値が入力２値画像データＤ１０の画素値と異なる場合、画像修正部５９５により、画素値が元の入力２値画像データＤ１０が有する画素値に修正される。本実施形態によれば、誤差拡散を施したデータを２値化して得た画像が、入力２値画像データＤ１０の画像に対して１画素分ずれた場合でも、画像修正部５９５により修正されるので、入力２値画像データＤ１０が示す画像の形状を精度よく保持した画像を出力することが可能となる。
【００５７】
［３．第３実施形態］
次に本発明の第３実施形態について説明する。なお、以下に説明する第３実施形態において、第１実施形態と構成が同じ部分については第１実施形態と同じ符号を付し、その説明を省略する。
【００５８】
［３−１．第３実施形態の構成］
図８は、本発明の第３実施形態に係わる画像処理装置の構成を例示するブロック図である。本発明の第３実施形態が第１実施形態と異なるのは、差分計算部７００を具備している点と、差分計算部７００から出力される画像データ（以下、この画像データを差分画像データＤ７０と称する）に対して誤差拡散部５００が誤差拡散を施し２値画像データを生成する点である。
【００５９】
図８に示したように差分計算部７００には、網点除去部３００にて生成された平滑化画像データＤ３０と、色変換部４００にて生成された色補正画像データＤ４０とが入力される。差分計算部７００は、網点成分が除去された平滑化画像データＤ３０が示す画素値と、この平滑化画像データＤ３０に対して色補正を施した色補正画像データＤ４０が示す画素値との差を求める。このように平滑化画像データＤ３０が示す画素値と、色補正画像データＤ４０が示す画素値との差をとることにより、網点成分が除去された画像データにおいて、色補正が施された部分がのみが差となって表れる。差分計算部７００は、この差を示す差分画像データＤ７０を誤差拡散部５００の多値画像入力部５８０へ供給する。
【００６０】
本発明の第３実施形態では、誤差拡散部５００は、この差分計算部７００から出力された差分画像データＤ７０に対して、誤差拡散を施す。誤差拡散部５００は、第１実施形態と同様に、２値画素データＤ５０ｂから画素値変更可能信号Ｄ５０ｋを生成し、画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」である場合には、入力２値画像データＤ１０をそのまま出力し、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｂｌｅ」である場合には、誤差拡散が施された差分画像データＤ７０を２値化した再２値化データＤ５０ｊを出力する。
【００６１】
以上説明したように、本発明の第３実施形態では、差分画像データＤ７０に対して誤差拡散が施されるので、特許文献１に記載されている技術のような、画素値が画素の取りうる値の範囲を超える場合が多く発生するという問題が解決され、色補正の精度を向上させることが可能となる。また、第１実施形態と同様に黒画素や白画素が連続する部分においては、入力２値画像データＤ１０が有する画素の値が出力され、画像のエッジ部分については、誤差拡散が施された差分画像データＤ７０を２値化して得た画像データが出力されることにより、入力２値画像データＤ１０が示す画像の形状を精度よく保持した画像を出力することが可能となる。
【００６２】
［４．第４実施形態］
次に本発明の第４実施形態について説明する。本発明の第４実施形態では、単純多値画像データの生成、平滑化画像データの生成、平滑化した画像データに対する色補正および誤差拡散などの一連の処理をソフトウェアにより実現するようにしている。
【００６３】
図９は、これらの処理をソフトウェアにより実現する画像処理装置のハードウェア構成を例示するブロック図である。図９に示したように、この画像処理装置は、ＲＯＭ（Read Only Memory）９０２、ＲＡＭ（Random Access Memory）９０３、ＣＰＵ（Central Processing Unit）９０４、不揮発性メモリ９０５および入力２値画像データＤ１０を受け取るためのインターフェース部９０６、印刷を行うための出力部９０７とを具備しており、これら各部はバス９０１で接続されている。ＲＯＭ９０２は、ＣＰＵ９０４に画像処理装置の各部の制御を行わせるための制御プログラムを記憶しており、不揮発性メモリ９０５は上述した処理をＣＰＵ９０４に実行させるための誤差拡散プログラムを記憶している。ＣＰＵ９０４は、画像処理装置の電源が入れられると、ＲＯＭ９０２から制御プログラムを読み出し起動する。制御プログラムを起動したＣＰＵ９０４は、不揮発性メモリ９０５から誤差拡散プログラムを読み出し、読み出したプログラムをＲＡＭ９０３を作業エリアとして実行する。このように画像処理装置は、ＣＰＵ９０４がプログラムに従って各部を制御し処理を行うという点において、一般的なコンピュータ装置と同様のハードウェア構成を有していると言える。
【００６４】
図１０は、誤差拡散プログラムを実行したプログラムが行う処理の流れを例示するフローチャートである。ＣＰＵ９０４は、誤差拡散プログラムを起動すると、インターフェース部９０６に入力２値画像データＤ１０が入力されるのを待つ（ステップＳＡ１）。ＣＰＵ９０４は、インターフェース部９０６に入力２値画像データＤ１０が入力されると、インターフェース部９０６に入力された入力２値画像データＤ１０から単純多値画像データを生成し（ステップＳＡ２）、生成した単純多値画像データに対して平滑化処理を施す（ステップＳＡ３）。ＣＰＵ９０４は、平滑化処理を行い平滑化画像データを生成すると、この平滑化画像データに対して色補正を施し、色補正画像データを生成する（ステップＳＡ４）。ＣＰＵ９０４は、色補正処理を行った後、入力２値画像データＤ１０と、色補正画像データとを用いて誤差拡散処理を行い、２値の画像データを生成する（ステップＳＡ５）。そしてＣＰＵ９０４が、この画像データを出力部９０７へ供給し、出力部９０７を制御すると、この２値の画像データに基づいて印刷が行われる。このように、ソフトウェアにより単純多値画像データの生成、平滑化画像データの生成、平滑化した画像データに対する色補正および誤差拡散を行うようにすれば、ハードウェアでこれらの処理を実現する態様と比較して、色変換を施す際のパラメータを容易に変更することが可能となる。なお、ソフトウェアにより処理を行う場合、他の実施例についてもソフトウェアにより処理を行えることは言うまでもない。
【００６５】
［５．その他の実施形態］
本発明は、上述した実施形態に限定されるものではなく、種々の変形が可能である。
＜５−１＞
例えば、図１１に示したように、入力２値画像データＤ１０の代わりに、単純多値画像データＤ２０を誤差拡散部５００へ入力し、誤差拡散部５００では、この単純多値画像データＤ２０を用いて閾値や画素値変更可能信号Ｄ５０ｋを生成し、色補正が施された色補正画像データＤ４０を２値画像データに変換するようにしてもよい。
【００６６】
＜５−２＞
閾値計算部５１０は２値画像入力部５７０に入力された入力２値画像データＤ１０から閾値を生成するのではなく、図１２に示したように、予め定めた値を閾値として２値化部５２０へ供給する構成としてもよい。また、第２実施形態および第３実施形態の誤差拡散部５００においても、２値画像入力部５７０に入力された入力２値画像データＤ１０から閾値を生成するのではなく、予め定めた値を閾値として２値化部５２０へ供給するようにしてもよい。
【００６７】
＜５−３＞
閾値計算部５１０は、ＬＵＴ（Look Up Table）を用いて閾値を生成するようにしてもよい。図１３は、ＬＵＴを用いて閾値を生成する場合の閾値計算部５１０の構成を例示するブロック図である。図１３に示したＬＵＴ部５１４は、図１４に例示したフォーマットのテーブルを記憶しており、このテーブルには、入力された２値の画像データに応じて出力する閾値が格納されている。図１４のテーブルにおいて、Ｌｍａｘは色補正を行う際に画素がとりうる値の最大値を示し、Ｌｍｉｎは色補正を行う際に画素がとりうる値の最小値を示している。ＬＵＴ部５１４は、このテーブルに基づいて、入力された２値画素データＤ５０ｂが示す画素値が「０」である場合には、閾値としてＬｍａｘを出力し、画素値が「１」である場合には、閾値としてＬｍｉｎを出力するようにしてもよい。
【００６８】
＜５−４＞
閾値計算部５１０の構成は、図１５に例示したように、反転部５１１と、フィルタ部５１５とを備えた構成としてもよい。反転部５１１は上述した実施形態の反転部５１１と同様の動作を行う。フィルタ部５１５は、値が反転された２値画像データに対してフィルタ処理を施すことにより、例えば、図１６に例示したように閾値データＤ５０ｉを発生させる。このような態様によれば、閾値データＤ５０ｉの値が隣あう画素毎に異なる値となるので、注目画素の周辺に注目画素と異なる値の画素が多くあるほど注目画素の値が変化する確率が高くなる。
【００６９】
＜５−５＞
隣接画素判定部５２２は、上述した態様に加えて、入力２値画像が示す画像と文字や図形などの特定の画像パターンとを比較し、パターンのマッチングが生じた場合には、注目画素と隣接する画素との関係から画素値変更可能信号Ｄ５０ｋの出力を「Ｅｎａｂｌｅ」と判断した場合でも「Ｄｉｓａｂｌｅ」を出力するようにしてもよい。このような態様によれば、文字などのパターンに対しては入力２値画像データＤ１０がそのまま出力されるので、文字の形状を精度よく保持した画像を出力することができる。
【００７０】
＜５−６＞
誤差拡散部５００の構成が、第１実施形態にて説明した構成である場合、画像処理装置は、図１７に例示したように誤差拡散部５００を縦列に持つようにしてもよい。このような態様によれば、色変換部４００における画素値の変化が大きい場合でも、誤差が十分に拡散される。
【００７１】
＜５−７＞
また、画像処理装置の構成は、図１８に例示したようにしてもよい。図１８に例示した構成においては、第１画像入力部１００Ａには多値画像データが入力され、第２画像入力部１００Ｂには、第１画像入力部１００Ａに入力される多値画像データに対してスクリーン処理を施した画像データ、即ち、網点成分を有する２値画像データが入力される。色変換部４００は、第１画像入力部１００Ａから供給される多値画像データに対して色変換を施し、色補正画像データＤ４０を誤差拡散部５００へ供給する。誤差拡散部５００は、上述した実施形態と同様に、色補正画像データＤ４０と２値画像データを用いて２値画像データを生成し、生成した２値画像データを画像出力部６００へ供給する。このような態様でも、元の画像データを精度よく保存した画像データを出力用の２値の画像データとして出力することが可能となる。
【００７２】
＜５−８＞
本発明の第４実施形態では、誤差拡散処理をソフトウェアにより実現しているが、この態様において、２値化誤差データが示す値の最大値を記憶し、この値が所定の値より大きい場合には誤差拡散処理を再度行うようにし、この値が所定の値より大きい場合には誤差拡散処理を終了するようにしてもよい。
【００７３】
＜５−９＞
本発明の第４実施形態においては、ＲＩＰ処理により２値化された画像データを画像処理装置が受け取り、画像処理装置が、この画像データに対して色変換および２値化を行い印刷を行うようにしているが、画像処理装置をＬＡＮ（Local Area Network）に接続し、ＲＩＰ処理により２値化された画像データと、カラープリンタを特定するデータとをＬＡＮを介して受け取り、カラープリンタの出力特性にあうように変換した２値の画像データを生成し、この生成した画像データを、ＲＩＰ処理により２値化された画像データを送信してきた装置に送信するようにしてもよい。
【００７４】
＜５−１０＞
また、図１９に例示したように、画像処理装置をインターネット等の広域ネットワークに接続し、画像処理装置が、クライアント装置から送信される、カラープリンタを特定するデータとＲＩＰ処理により２値化された画像データとを広域ネットワークを介して受け取り、これらのデータを用いて、カラープリンタの出力特性にあうように変換した２値の画像データを生成し、生成した２値の画像データを、ＲＩＰ処理により２値化された画像データの送信元や、この送信元が指定した宛先へ送信するようにしてもよい。
また、上述したように、画像処理装置をインターネットに接続する態様においては、ＲＩＰ処理により２値の画像データを受けとってからカラープリンタの出力特性にあうように変換した２値の画像データを生成するまでの処理のうち、例えば、平滑化画像データを生成するまでの処理をデータの送信元が行い、残りの処理を画像処理装置が行うなど、ＲＩＰ処理により２値化された画像データの送信元と、画像処理装置とが互いに通信して、カラープリンタの出力特性にあうように変換した２値の画像データを生成するようにしてもよい。
【００７５】
＜５−１１＞
隣接画素判定部５２２が注目画素に隣接する画素の画素値の論理演算を行う際、注目画素に隣接する上下左右の画素の画素値に対して論理演算を行う態様に限定されず、例えば、左右の二つの画素の画素値に対して論理演算を行うようにしてもよい。このような態様でも、隣接画素判定部５２２は、画像のエッジ部分において画素値変更可能信号Ｄ５０ｋを出力することが可能となる。また、隣接画素判定部５２２は、注目画素に隣接する画素の画素値のいずれかが、注目画素の画素値と異なる場合には、画素値変更可能信号Ｄ５０ｋを出力するようにしてもよい。このような態様によれば、例えば、図５に例示した画素Ａ１〜画素Ａ１３、画素Ａ１〜画素Ｍ１、画素Ｍ１〜画素Ｍ１３、画素Ａ１３〜画素Ｍ１３などの画素のように、端部の画素についても画素値変更可能信号Ｄ５０ｋを出力することが可能となる。
【００７６】
＜５−１２＞
上述した第３実施形態の誤差拡散部５００においては、多値画像入力部５８０に、差分画像データＤ７０が入力され、この差分画像データＤ７０に対して誤差拡散が行われる。この場合、図２０に示したように、２値画像入力部５７０から出力される２値画素データＤ５０ｂが誤差算出部５４０へ供給されるように、誤差拡散部５００を構成してもよい。
【００７７】
この態様において、誤差算出部５４０は、２値画素データＤ５０ｂが示す画素値が「０」であり、且つ、出力２値データＤ５０ｍが示す画素値が「１」の時、誤差加算データＤ５０ｃが示す値から「２５５」を減算した値を２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。
また、誤差算出部５４０は、２値画素データＤ５０ｂが示す画素値が「１」であり、且つ、出力２値データＤ５０ｍが示す画素値が「０」の時、誤差加算データＤ５０ｃが示す値に「２５５」を加算した値、あるいは「−２５５」を減算した値を２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。
誤差算出部５４０は、２値画素データＤ５０ｂが示す画素値と、出力２値データＤ５０ｍが示す画素値が同じである場合、誤差加算データＤ５０ｃをそのまま２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。
【００７８】
従来の誤差拡散の手法は、誤差拡散が施される画像の画素値が全て正の値を持つことを想定している。しかしながら、この態様によれば、差分画像データＤ７０のような、正の画素値のデータと負の画素値のデータの両方を持つ画像データに対して誤差拡散を施し、誤差拡散が施されたデータを２値化部５２０に供給して、入力２値画像データＤ１０に重畳させることが可能となるため、色変換の結果をより正確に反映できると共に、網点形状をより正確に保存できる。特に、差分画像データＤ７０の全ての画素の画素値が０である時、入力２値画像データＤ１０と出力２値画像データＤ６０の全ての画素の画素値を同じとすることができる。
【００７９】
＜５−１３＞
上述した第３実施形態の誤差拡散部５００においては、多値画像入力部５８０に、差分画像データＤ７０が入力され、この差分画像データＤ７０に対して誤差拡散が行われる。この場合、図２１に示したように、２値画素データＤ５０ｂが画像補正部５３０へ供給されるように、誤差拡散部５００を構成してもよい。
【００８０】
この態様において、画像補正部５３０は、まず誤差データＤ５０ｆと多値画素データＤ５０ａとを加算する。次に、画像補正部５３０は、供給された２値画素データＤ５０ｂの画素値が「０」の場合、先の加算結果に「０」を加算した値を誤差加算データＤ５０ｃとし、供給された２値画素データＤ５０ｂの画素値が「１」の場合、先の加算結果に「２５５」を加算した値を誤差加算データＤ５０ｃとする。画像補正部５３０は、この生成した誤差加算データＤ５０ｃを２値化部５２０と誤差算出部５４０へ供給する。
【００８１】
この態様でも、差分画像データＤ７０のような、正の画素値のデータと負の画素値のデータの両方を持つ画像データに誤差拡散を施して、入力２値画像データＤ１０に重畳させることが可能となるため、色変換の結果をより正確に反映できると共に、網点形状をより正確に保存できる。また、差分画像データＤ７０の全ての画素の画素値が０である時、入力２値画像データＤ１０と出力２値画像データＤ６０の全ての画素の画素値を同じとすることができる。
【００８２】
＜５−１４＞
誤差拡散部５００の構成を＜５−１２＞または＜５−１３＞で述べた構成とした場合にも、＜５−６＞で述べたように、誤差拡散部を縦列に持つようにしてもよい。この場合の画像処理装置５００の構成を図２２に示す。図２３に示したように、画像処理装置は、多値化部、網点除去部、差分計算部、誤差拡散部を各々２つづつ具備している。
【００８３】
本態様に係わる画像処理装置においては、入力された２値画像データＤ１０が、第１多値化部２００Ａと、第１誤差拡散部５００Ａとに供給される。第１多値化部２００Ａは、供給された２値画像データＤ１０を多値化して単純多値画像データＤ２０を生成し、この単純多値画像データＤ２０を第１網点除去部３００Ａへ供給する。第１網点除去部３００Ａは、単純多値画像データＤ２０が有する網点成分を除去した平滑化画像データＤ３０を生成し、この平滑化画像データＤ３０を色変換部４００と、第１差分計算部７００Ａとに供給する。色変換部４００は、平滑化画像データＤ３０に対して色補正を施して色補正画像データＤ４０を生成し、この色補正画像データＤ４０を第１差分計算部７００Ａと第２差分計算部７００Ｂとへ供給する。第１差分計算部７００Ａは、供給される平滑化画像データＤ３０と色補正画像データＤ４０との差を求めて差分画像データＤ７０を生成し、この差分画像データＤ７０を第１誤差拡散部５００Ａへ供給する。
【００８４】
第１誤差拡散部５００Ａは、供給される２値画像データＤ１０と差分画像データＤ７０とを用いて誤差拡散を行い、出力２値画像データＤ６０を生成して第２多値化部２００Ｂと第２誤差拡散部５００Ｂへ供給する。第２多値化部２００Ｂは、供給された出力２値画像データＤ６０を多値化して単純多値画像データＤ２０を生成し、この単純多値画像データＤ２０を第２網点除去部３００Ｂへ供給する。第２網点除去部３００Ｂは、単純多値画像データＤ２０が有する網点成分を除去した平滑化画像データＤ３０を生成し、この平滑化画像データＤ３０を第２差分計算部７００Ｂに供給する。第２差分計算部７００Ｂは、供給される平滑化画像データＤ３０と色補正画像データＤ４０との差を求めて差分画像データＤ７０を生成し、この差分画像データＤ７０を第２誤差拡散部５００Ｂへ供給する。
第２誤差拡散部５００Ｂは、供給される出力２値画像データＤ６０と差分画像データＤ７０とを用いて誤差拡散を行い、出力２値画像データＤ６０を生成して画像出力部６００へ供給する。
このような態様によれば、色変換部４００における画素値の変化が大きい場合でも、誤差が十分に拡散される。
【００８５】
＜５−１５＞
誤差拡散部５００の構成を＜５−１２＞または＜５−１３＞で述べた構成とした場合にも、＜５−７＞で述べたように、多値画像データと２値画像データとを別々に入力するようにしてもよい。この場合の画像処理装置５００の構成を図２３に示す。本態様においては、第１画像入力部１００Ａに入力された多値画像データが色変換部４００と差分計算部７００に供給される。色変換部４００は、入力された多値画像データに対して色補正を施した画像データを生成し、この画像データを差分計算部７００へ供給する。差分計算部７００は、供給される多値画像データと色補正が施された画像データとの差を求めて差分画像データを生成し、この差分画像データを誤差拡散部５００へ供給する。誤差拡散部５００は、この差分画像データと、２値画像データとを用いて誤差拡散を行い、出力２値画像データを生成する。このような態様でも、元の画像データを精度よく保存した画像データを出力用の２値の画像データとして出力することが可能となる。
【００８６】
＜５−１６＞
誤差拡散部５００は、２つの閾値を用いて誤差加算データの２値化を行う構成としてもよい。図２４は、２つの閾値を用いて誤差加算データの２値化を行う場合の誤差拡散部５００の構成を示すブロック図である。なお、以下の説明において、第１実施形態と同じ部分については第１実施形態と同じ符号を付し、その説明を省略する。
【００８７】
閾値計算部５１０は、予め定めた値を閾値として２値化部５２０へ供給するものであり、第１閾値を示す第１閾値データＤ５０ｉ−１と、第２閾値を示す第２閾値データＤ５０ｉ−２とを出力する。第１閾値データＤ５０ｉ−１が示す値は、第２閾値データＤ５０ｉ−２が示す値より大となっている。
【００８８】
第１比較部５２１ａは、画像補正部５３０から供給される誤差加算データＤ５０ｃを閾値計算部５１０から供給される第１閾値データＤ５０ｉ−１により２値化するものである。第１比較部５２１ａは、誤差加算データＤ５０ｃが示す値が閾値データＤ５０ｉ−１が示す値以上である場合には、画素値を「１」とした第１再２値化データＤ５０ｊ−１を排他的論理和演算部５２４ａへ供給し、誤差加算データＤ５０ｃが示す値が閾値データＤ５０ｉ−１が示す値未満の場合には、画素値を「０」とした第１再２値化データＤ５０ｊ−１を排他的論理和演算部５２４ａへ供給する。
【００８９】
第２比較部５２１ｂは、画像補正部５３０から供給される誤差加算データＤ５０ｃを閾値計算部５１０から供給される第２閾値データＤ５０ｉ−２により２値化するものである。第２比較部５２１ｂは、誤差加算データＤ５０ｃが示す値が閾値データＤ５０ｉ−２が示す値以上である場合には、画素値を「１」とした第２再２値化データＤ５０ｊ−２を排他的論理和演算部５２４ａとセレクタ部５２３へ供給し、誤差加算データＤ５０ｃが示す値が第２閾値データＤ５０ｉ−２が示す値未満の場合には、画素値を「０」とした第２再２値化データＤ５０ｊ−２を排他的論理和演算部５２４ａとセレクタ部５２３へ供給する。
【００９０】
排他的論理和演算部５２４ａは、第１再２値化データＤ５０ｊ−１の値と、第２再２値化データＤ５０ｊ−２の値の排他的論理和を求めるものであり、この論理演算の結果を示すデータＤ５０ｎを否定演算部５２４ｂへ供給する。
具体的には、第１再２値化データＤ５０ｊ−１が「１」であり、第２再２値化データＤ５０ｊ−２が「１」である場合、即ち、誤差加算データＤ５０ｃが示す値が、第１閾値データＤ５０ｉ−１より大である場合、論理演算の結果である「０」を示すデータＤ５０ｎを出力する。また、第１再２値化データＤ５０ｊ−１が「０」であり、第２再２値化データＤ５０ｊ−２が「１」である場合、即ち、誤差加算データＤ５０ｃが示す値が、第１閾値データＤ５０ｉ−１より小であり、第２閾値データＤ５０ｉ−２より等しいか大である場合、論理演算の結果である「１」を示すデータＤ５０ｎを出力する。また、第１再２値化データＤ５０ｊ−１が「０」であり、第２再２値化データＤ５０ｊ−２が「０」である場合、即ち、誤差加算データＤ５０ｃが示す値が、第２閾値データＤ５０ｉ−２より小である場合、論理演算の結果である「０」を示すデータＤ５０ｎを出力する。
【００９１】
否定演算部５２４ｂは、論理演算によりデータＤ５０ｎの否定を求めるものであり、この論理演算の結果を示すデータＤ５０ｐを論理積演算部５２４ｃへ供給する。
論理積演算部５２４ｃは、画素値変更可能信号Ｄ５０ｋと、データＤ５０ｐとの論理積を求めるものである。この論理演算の結果が「１」である場合には、第２の画素値変更可能信号Ｄ５０ｒとして「Ｅｎａｂｌｅ」をセレクタ部５２３へ出力し、この論理演算の結果が「０」場合には、画素値変更可能信号Ｄ５０ｒとして「Ｄｉｓａｂｌｅ」をセレクタ部５２３へ出力する。
具体的には、論理積演算部５２４ｃは、画素値変更可能信号が「Ｅｎａｂｌｅ」であり、データＤ５０ｐが「０」、即ち、誤差加算データＤ５０ｃの値が、「第１閾値データ＞誤差加算データ≧第２閾値データ」である場合、画素値変更可能信号Ｄ５０ｒとして「Ｄｉｓａｂｌｅ」を出力する。また、論理積演算部５２４ｃは、画素値変更可能信号が「Ｅｎａｂｌｅ」であり、データＤ５０ｐが「１」、即ち、誤差加算データＤ５０ｃの値が、「誤差加算データ＞第１閾値データ」か、または「第２閾値データ＞誤差加算データ」である場合、画素値変更可能信号Ｄ５０ｒとして「Ｅｎａｂｌｅ」を出力する。また、論理積演算部５２４ｃは、画素値変更可能信号が「Ｄｉｓａｂｌｅ」である場合にはデータＤ５０ｐの値にかかわらず、画素値変更可能信号Ｄ５０ｒとして「Ｄｉｓａｂｌｅ」を出力する。
【００９２】
セレクタ部５２３は、第２の画素値変更可能信号Ｄ５０ｒが「Ｅｎａｂｌｅ」である場合、第２再２値化データＤ５０ｊ−２を出力２値データＤ５０ｍとして出力し、第２の画素値変更可能信号Ｄ５０ｒが「Ｄｉｓａｂｌｅ」の場合、２値画素データＤ５０ｂを出力２値データＤ５０ｍとして出力する。
【００９３】
次にこの構成を採用した誤差拡散部５００の動作について、図２５を用い、第１実施形態の誤差拡散部５００の動作と比較して説明する。図２５においては、画素を表現するために横方向に１〜１５の符号を付け、これにより画素を表すこととする。
また、図２５の１〜１５の区間における多値画素データの画素値は「８０」であり、誤差拡散の開始時点において誤差データＤ５０ｆの値は「０」である場合を想定する。また、第１閾値データＤ５０ｉ−１の値は「１２８」であり、第２閾値データＤ５０ｉ−２の値は「−１２８」である場合を想定する。なお、説明の便宜上、補正算出部５６０での誤差データＤ５０ｆの算出は、注目画素の左の画素の２値化誤差データＤ５０ｄのみを用いることとし、隣接画素判定部５２２においては、注目画素の上下左右ではなく、注目画素の左右の画素との関係で、画素値変更可能信号を生成する場合を想定する。
【００９４】
まず、第１実施形態の誤差拡散部５００の動作について説明する。２値画素データＤ５０ｂの画素１を注目画素とした場合、画像補正部５３０に入力される多値画素データＤ５０ａの値は「８０」であり、誤差データＤ５０ｆの値は「０」であるため、誤差加算データＤ５０ｃの値は「８０」となる。隣接画素判定部５２２においては、画素１の画素値が「０」であり、隣接する画素との論理和が「０」であるため、「Ｄｉｓａｂｌｅ」を示す画素値変更可能信号Ｄ５０ｋが出力される。画素値変更可能信号Ｄ５０ｒが「Ｄｉｓａｂｌｅ」であるため、セレクタ部５２３は、２値画素データＤ５０ｂが示す値「０」を出力２値データとして出力する。誤差算出部５４０においては、この出力２値データＤ５０ｍの値「０」と誤差加算データＤ５０ｃとの差分値「８０」が求められる。
【００９５】
次に、２値画素データＤ５０ｂの画素２を注目画素とした場合、画像補正部５３０に入力される多値画素データＤ５０ａの値は「８０」であり、誤差データＤ５０ｆの値は「８０」であるため、誤差加算データＤ５０ｃの値は「１６０」となる。隣接画素判定部５２２においては、画素１と同様に画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」となる。画素値変更可能信号Ｄ５０ｋが「Ｄｉｓａｂｌｅ」であるため、セレクタ部５２３は、２値画素データＤ５０ｂが示す値「０」を出力２値データとして出力する。誤差算出部５４０においては、この出力２値データＤ５０ｍの値「０」と誤差加算データＤ５０ｃとの差分値「１６０」が求められる。
【００９６】
次に、２値画素データＤ５０ｂの画素３を注目画素とした場合、画像補正部５３０に入力される多値画素データＤ５０ａの値は「８０」であり、誤差データＤ５０ｆの値は「１６０」であるため、誤差加算データＤ５０ｃの値は「２４０」となる。隣接画素判定部５２２においては、画素３の画素値が「０」であり画素４の画素値が「１」であるため、隣接する画素との論理和が「１」となる。この結果、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｌｂｅ」となる。比較部５２１は、誤差加算データＤ５０ｃの値「２４０」が、閾値データＤ５０ｉの値「１２８」より大であるため、画素値が「１」である再２値化データＤ５０ｊをセレクタ部５２３へ供給する。セレクタ部５２３は、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｂｌｅ」であるので、再２値化データＤ５０ｊの値「１」を出力２値データＤ５０ｍとして出力する。誤差算出部５４０は、２値化部５２０から供給される出力２値データＤ５０ｍが「１」であるので、誤差加算データＤ５０ｃが示す値「２４０」から「２５５」を引いた値を差分値としてもとめ、この求めた差分値「−１５」を示すデータを２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。
【００９７】
次に、２値画素データＤ５０ｂの画素４を注目画素とした場合、画像補正部５３０に入力される多値画素データＤ５０ａの値は「８０」であり、誤差データＤ５０ｆの値は「−１５」であるため、誤差加算データＤ５０ｃの値は「６５」となる。隣接画素判定部５２２においては、画素４の画素値が「１」であり、画素３の画素値が「０」であるため、隣接する画素との論理積が「０」となる。この結果、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｌｂｅ」となる。比較部５２１は、誤差加算データＤ５０ｃの値「６５」が、閾値データＤ５０ｉの値「１２８」より小であるため、画素値が「０」である再２値化データＤ５０ｊをセレクタ部５２３へ供給する。セレクタ部５２３は、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｂｌｅ」であるので、再２値化データＤ５０ｊの値「０」を出力２値データＤ５０ｍとして出力する。誤差算出部５４０は、２値化部５２０から供給される出力２値データＤ５０ｍが「０」であるので、誤差加算データＤ５０ｃが示す値「６５」と出力２値データＤ５０ｍ「０」との差分値「６５」を示すデータを２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。このように、第１実施形態の誤差拡散部５００の構成では、画像のエッジ部分において、元の画像で黒画素である部分を白画素としてしまう場合が生じ得る。
【００９８】
次に、２つの閾値信号を用いて誤差拡散を行う態様の動作について説明する。なお、画素１を注目画素とした場合と、画素２を注目画素とした場合の動作については、上述した第１実施形態の動作と同様であるため、その説明を省略する。
【００９９】
２値画素データＤ５０ｂの画素３を注目画素とした場合、画像補正部５３０に入力される多値画素データＤ５０ａの値は「８０」であり、誤差データＤ５０ｆの値は「１６０」であるため、誤差加算データＤ５０ｃの値は「２４０」となる。隣接画素判定部５２２においては、画素３の画素値が「０」であり画素４の画素値が「１」であるため、隣接する画素との論理和が「１」となる。この結果、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｌｂｅ」となる。
【０１００】
第１比較部５２１ａは、誤差加算データＤ５０ｃの値「２４０」が、第１閾値データＤ５０ｉ−１の値「１２８」より大であるため、画素値が「１」である第１再２値化データＤ５０ｊ−１を排他的論理和演算部５２４ａへ供給する。一方、第２比較部５２１ｂは、誤差加算データＤ５０ｃの値「２４０」が、第２閾値データＤ５０ｉ−２の値「−１２８」より大であるため、画素値が「１」である第２再２値化データＤ５０ｊ−２を排他的論理和演算部５２４ａとセレクタ部５２３へ供給する。
【０１０１】
排他的論理和演算部５２４ａは、供給される第１再２値化データＤ５０ｊ−１が「１」であり、第２再２値化データＤ５０ｊ−２が「１」であるので、排他的論理和演算の結果である「０」を示すデータＤ５０ｎを出力する。否定演算部５２４ｂは、データＤ５０ｎの値が「０」であるので、論理演算の結果である「１」を示すデータＤ５０ｐを論理積演算部５２４ｃへ供給する。
【０１０２】
論理積演算部５２４ｃは、論理積演算部５２４ｃは、画素値変更可能信号が「Ｅｎａｂｌｅ」であり、データＤ５０ｐが「１」であるので、第２の画素値変更可能信号Ｄ５０ｒとして「Ｅｎａｂｌｅ」を出力する。セレクタ部５２３は、第２の画素値変更可能信号Ｄ５０ｒが「Ｅｎａｂｌｅ」であるので、第２再２値化データＤ５０ｊ−２の値「１」を出力２値データＤ５０ｍとして出力する。誤差算出部５４０は、２値化部５２０から供給される出力２値データＤ５０ｍが「１」であるので、誤差加算データＤ５０ｃが示す値「２４０」から「２５５」を引いた値を差分値としてもとめ、この求めた差分値「−１５」を示すデータを２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。
【０１０３】
次に、２値画素データＤ５０ｂの画素４を注目画素とした場合、画像補正部５３０に入力される多値画素データＤ５０ａの値は「８０」であり、誤差データＤ５０ｆの値は「−１５」であるため、誤差加算データＤ５０ｃの値は「６５」となる。隣接画素判定部５２２においては、画素４の画素値が「１」であり、画素３の画素値が「０」であるため、隣接する画素との論理積が「０」となる。この結果、画素値変更可能信号Ｄ５０ｋが「Ｅｎａｌｂｅ」となる。
【０１０４】
第１比較部５２１ａは、誤差加算データＤ５０ｃの値「６５」が、第１閾値データＤ５０ｉ−１の値「１２８」より小であるため、画素値が「０」である第１再２値化データＤ５０ｊ−１を排他的論理和演算部５２４ａへ供給する。一方、第２比較部５２１ｂは、誤差加算データＤ５０ｃの値「６５」が、第２閾値データＤ５０ｉ−２の値「−１２８」より大であるため、画素値が「１」である第２再２値化データＤ５０ｊ−２を排他的論理和演算部５２４ａとセレクタ部５２３へ供給する。
【０１０５】
排他的論理和演算部５２４ａは、供給される第１再２値化データＤ５０ｊ−１が「０」であり、第２再２値化データＤ５０ｊ−２が「１」であるので、排他的論理和演算の結果である「１」を示すデータＤ５０ｎを出力する。否定演算部５２４ｂは、データＤ５０ｎの値が「１」であるので、論理演算の結果である「０」を示すデータＤ５０ｐを論理積演算部５２４ｃへ供給する。
【０１０６】
論理積演算部５２４ｃは、論理積演算部５２４ｃは、画素値変更可能信号が「Ｅｎａｂｌｅ」であり、データＤ５０ｐが「０」であるので、第２の画素値変更可能信号Ｄ５０ｒとして「Ｄｉｓａｂｌｅ」を出力する。セレクタ部５２３は、第２の画素値変更可能信号Ｄ５０ｒが「Ｄｉｓａｂｌｅ」であるので、２値画素データＤ５０ｂの値「１」を出力２値データＤ５０ｍとして出力する。誤差算出部５４０は、２値化部５２０から供給される出力２値データＤ５０ｍが「１」であるので、誤差加算データＤ５０ｃが示す値「６５」から「２５５」を引いた値を差分値としてもとめ、この求めた差分値「−１９０」を示すデータを２値化誤差データＤ５０ｄとして誤差記憶部５５０へ供給する。
【０１０７】
以上説明したように、本態様によれば、画像のエッジ部分において、元の画像で黒画素であった部分はそのまま黒画素とされるので、元の画像の網点を構成する黒画素や白画素を増減させた時に、例えば黒画素が連続した部分において孤立した白画素が発生し、網点が一つの固まりではなくなってしまうという問題を生じないようにすることができる。
なお、本態様においては、誤差拡散部５００の構成を＜５−１２＞または＜５−１３＞で述べた構成としてもよい。
誤差拡散部５００の構成を＜５−１２＞または＜５−１３＞で述べた構成とした場合、
図２５に示したように２値画素データが入力されると、画素１以前の画素の部分においても本態様と同様の処理が施される。誤差拡散の処理の特性から画素１での誤差データＤ５０ｆの値は「０」ではなくオフセットが生じるため、出力２値データＤ５０ｍが「１」である区間は、ほぼ画素４から画素１０の区間となる。本態様のように、出力２値データＤ５０ｍが「１」である区間が画素３から画素９の区間となり、２値画素データＤ５０ｂと１画素ずれている場合でも、本発明の第２実施形態と組み合わせることにより、元の入力２値画像データを精度良く保存した出力２値画像データを出力することができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１実施形態に係わる画像処理装置の構成を例示するブロック図である。
【図２】同第１実施形態に係わる画像処理装置が具備する誤差拡散部の構成を例示するブロック図である。
【図３】同第１実施形態における、注目画素の画素値と隣接画素判定部５２２から出力される画素値変更可能信号との関係を示す図である。
【図４】同第１実施形態における、注目画素の画素値と隣接画素判定部５２２から出力される画素値変更可能信号との関係を示す図である。
【図５】同第１実施形態の隣接画素判定部５２２の動作を説明するための図である。
【図６】本発明の第２実施形態に係わる画像処理装置の構成を例示するブロック図である。
【図７】同第２実施形態の動作例を説明するための図である。
【図８】本発明の第３実施形態に係わる画像処理装置の構成を例示するブロック図である。
【図９】本発明の第４実施形態に係わる画像処理装置の構成を例示するブロック図である。
【図１０】同第４実施形態に係わる画像処理装置のＣＰＵが行う処理の流れを例示するフローチャートである。
【図１１】本発明に係わる画像処理装置の変形例の構成を例示するブロック図である。
【図１２】本発明に係わる誤差拡散部５００の変形例の構成を例示するブロック図である。
【図１３】本発明に係わる閾値計算部５１０の変形例の構成を例示するブロック図である。
【図１４】同閾値計算部５１０のＬＵＴ部５１４が記憶しているＬＵＴのフォーマットを例示する図である。
【図１５】本発明に係わる閾値計算部５１０の変形例の構成を例示するブロック図である。
【図１６】同閾値計算部５１０から出力される閾値データを例示する図である。
【図１７】本発明に係わる画像処理装置の変形例の構成を例示するブロック図である。
【図１８】本発明に係わる画像処理装置の変形例の構成を例示するブロック図である。
【図１９】本発明に係わる画像処理装置の変形例を説明するための図である。
【図２０】本発明に係わる画像処理装置の変形例の構成を示すブロック図である。
【図２１】本発明に係わる画像処理装置の変形例の構成を示すブロック図である。
【図２２】本発明に係わる画像処理装置の変形例の構成を示すブロック図である。
【図２３】本発明に係わる画像処理装置の変形例の構成を示すブロック図である。
【図２４】本発明に係わる画像処理装置の変形例の構成を示すブロック図である。
【図２５】本発明に係わる画像処理装置の変形例の動作を説明するための図である。
【図２６】従来の技術を説明するための図である。
【符号の説明】
【０１０９】
１００・・・画像入力部、２００・・・多値化部、３００・・・網点除去部、４００・・・色変換部、５００・・・誤差拡散部、６００・・・画像出力部、７００・・・差分計算部、５１０・・・閾値計算部、５１１・・・反転部、５１２・・・係数発生部、５１３・・・乗算部、５１４・・・ＬＵＴ部、５１５・・・フィルタ部、５２０・・・２値化部、５２１・・・比較部、５２１ａ・・・第１比較部、５２１ｂ・・・第２比較部、５２２・・・隣接画素判定部、５２３・・・セレクタ部、５２４ａ・・・論理和演算部、５２４ｂ・・・否定演算部、５２４ｃ・・・論理積演算部、５３０・・・画像補正部、５４０・・・誤差算出部、５５０・・・誤差記憶部、５６０・・・補正算出部、５７０・・・２値画像入力部、５８０・・・多値画像入力部、５９０・・・２値画像出力部、５９５・・・画像修正部、９０１・・・バス、９０２・・・ＲＯＭ、９０３・・・ＲＡＭ、９０４・・・ＣＰＵ、９０５・・・不揮発性メモリ、９０６・・・インターフェース部、９０７・・・出力部。
【図１】
2005027270.tif 000003
【図２】
2005027270.tif 000004
【図３】
2005027270.tif 000005
【図４】
2005027270.tif 000006
【図５】
2005027270.tif 000007
【図６】
2005027270.tif 000008
【図７】
2005027270.tif 000009
【図８】
2005027270.tif 000010
【図９】
2005027270.tif 000011
【図１０】
2005027270.tif 000012
【図１１】
2005027270.tif 000013
【図１２】
2005027270.tif 000014
【図１３】
2005027270.tif 000015
【図１４】
2005027270.tif 000016
【図１５】
2005027270.tif 000017
【図１６】
2005027270.tif 000018
【図１７】
2005027270.tif 000019
【図１８】
2005027270.tif 000020
【図１９】
2005027270.tif 000021
【図２０】
2005027270.tif 000022
【図２１】
2005027270.tif 000023
【図２２】
2005027270.tif 000024
【図２３】
2005027270.tif 000025
【図２４】
2005027270.tif 000026
【図２５】
2005027270.tif 000027
【図２６】
2005027270.tif 000028