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