(57)【特許請求の範囲】
【請求項１】
誤差伝播法により中間調画像を処理する画像処理装置であって、
中間調画像の各画素を、順次、注目画素とし、前記注目画素の画素濃度をドット出力の有無を表す出力値に変換する変換手段と、
前記変換手段により変換される前記注目画素の前記画素濃度と前記出力値との誤差を表す誤差情報を算出する誤差情報算出手段と、
前記誤差情報算出手段により算出された前記誤差情報を不可逆的に圧縮する圧縮手段と、
前記圧縮手段による圧縮後の前記誤差情報を格納する誤差バッファと、
前記変換手段により次に注目画素として処理される画素の周辺画素の誤差情報を、前記誤差バッファから読み出し、復元する復元手段と、
前記復元手段により復元された前記周辺画素の誤差情報の各々に、各周辺画素間で異なるノイズ値を加算するノイズ加算手段と、
前記ノイズ加算手段により前記ノイズ値が加算された各周辺画素の誤差情報に基づいて、前記注目画素の画素濃度を補正する補正手段とを備え、
前記変換手段は、前記補正手段による補正後の画素濃度に基づいて、前記注目画素の画素濃度を前記出力値に変換するものであり、
前記圧縮手段は、前記誤差情報算出手段により算出された前記誤差情報を、所定の数値で割った値を、圧縮後の誤差情報として出力するものであり、
前記復元手段は、前記誤差バッファから読み出された前記周辺画素の誤差情報に前記所定の数値を乗算した値を、復元された前記周辺画素の誤差情報として出力するものであり、
前記ノイズ加算手段は、前記誤差情報の圧縮と復元により生じ得る丸め誤差の範囲の値を、前記ノイズ値として、前記周辺画素の誤差情報の各々に加算することを特徴とする画像処理装置。
【請求項２】
前記圧縮手段は、Ｍビットで構成される前記誤差情報を、Ｎ（＜Ｍ）ビットで構成される誤差情報に圧縮し、
前記ノイズ加算手段は、（Ｍ−Ｎ）ビットの値に基づいて決定されるノイズ値を加算することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記中間調画像の各画素に対して、複数色の画素濃度が規定されている場合、
前記ノイズ加算手段は、前記周辺画素の色毎の誤差情報に対して、色毎に異なるノイズ値を加算するものであることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記ノイズ加算手段は、前記誤差情報の圧縮と復元により生じ得る丸め誤差の範囲で振幅する乱数を、前記ノイズ値として加算することを特徴とする請求項３記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に関する。
【背景技術】
【０００２】
特許文献１にも記載されるように、中間調画像を二値画像に変換する手法として、誤差伝播法が広く知られている。誤差伝播法に基づく二値化処理によれば、二値化により生じた誤差を、後に二値化処理される他の画素へ伝播することができる。具体的には、中間調画像の横方向に一列に並ぶ画素列（以下、ラスタと称する）の画素を、順に注目画素とし、その画素濃度をドット出力有り又はドット出力無しのいずれかの値に二値化してゆく。各画素の二値化処理により生じる誤差は、誤差バッファに格納しておく。そして、次に注目画素として処理される画素の画素濃度を、誤差バッファに格納した誤差（すなわち、先に二値化処理された画素で生じた誤差）で補正し、その補正後の画素濃度を閾値と比較して、二値化する。
【０００３】
図５（ａ）は、分散マトリクスの一例を模式的に示す図である。図５（ａ）において、◎は注目画素を示し、要素内に記載した数値は、各周辺画素の誤差に乗算する重み付け係数を示す。図５（ａ）に示す分散マトリクス１００を使用する場合、注目画素に対して左に隣接する画素と上に隣接する画素とが、周辺画素に相当し、これらの画素で生じた誤差が、誤差バッファから読みだされ、注目画素へ伝播される。このような場合、誤差バッファは、少なくとも、２ラスタ分の誤差を格納できるように、設計しなければならない。
【０００４】
ここで、中間調画像の各画素の画素濃度が、例えば、１０ビットで表される数値範囲（１０進数で０から１０２３）の場合、各画素の誤差は、符号ビットを入れて、例えば、１１ビットの数値範囲（１０進数で−１０２４から１０２３）として処理される。メモリは通常８ビット単位で使用されるので、１画素当たり１１ビットの誤差を格納するために、誤差バッファには、１画素当たり１６ビットが確保される。よって、誤差バッファとしては、（１６ビット×１ラスタの画素数×分散マトリクスの縦サイズ）の容量が必要となる。
【０００５】
そこで、各画素の１１ビットの誤差を、例えば、３ビット右シフトする、すなわち、８で割り算して８ビットの数値範囲（１０進数で−１２７から１２８）に圧縮してから、誤差バッファに格納することが行われている。このようにすれば、１画素当たり確保すべきメモリ量は、８ビットで良いので、メモリ使用量を半分に抑えることができる。
【０００６】
なお、誤差を圧縮して誤差バッファに格納した場合は、誤差バッファから誤差を読み出す際に、その誤差を３ビット左シフトすることにより、１１ビットのレンジのデータに復元してから、分散マトリクスの重み付け係数を乗算し、注目画素の画素濃度に加算する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１３６５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、誤差を圧縮する従来の方法には、未だ改善の余地があった。図５（ｂ）から（ｄ）は、従来の手法で誤差を圧縮し復元する場合の問題点を説明する図である。図５（ｂ）から（ｄ）には、中間調画像の１ラスタ１０２を模式的に示す。ラスタ１０２の各要素が画素を表し、各要素に記載した数値は、各画素の画素濃度または出力値のいずれかを表している。なお、本明細書および図面に記載した数値は、特に断りがない限り、１０進表記である。また、２進数表記の数値には、括弧を付し下付の「２」を記載している。
【０００９】
以下、図５（ｂ）から（ｄ）を参照して、従来の手法で、分散マトリクス１００を用いた二値化処理を行うと、ラスタ１０２の各画素の画素濃度がどのような値に変換されるかを説明する。この説明においては、閾値が「８」、ドット出力有りとされた場合の相対値が「１０２３」、ドット出力無しとされた場合の相対値が「０」であるものとする。
【００１０】
まず、図５（ｂ）に示すように、ラスタ１０２の左端の画素を、１画素目の注目画素として二値化処理する。この注目画素に対する周辺画素は存在しないから、まず、注目画素の画素濃度「７」と、閾値「８」が比較される。画素濃度「７」は閾値「８」以下であるため、当該画素濃度は、ドット出力無しを表す出力値「０」に変換される。また、画素濃度「７」から相対値「０」を減算し、誤差として「７」が算出される。すなわち、（＋０００００００１１１）２が、誤差として算出される。これを３ビット右シフトし、８ビットのレンジに圧縮して誤差バッファに格納すると、誤差バッファには、（＋０００００００）２が格納される。
【００１１】
図５（ｃ）は、１番目に注目画素として処理された画素から、右隣の画素へ伝播される誤差を、模式的に示す図である。この場合、１番目に処理された画素で発生した誤差は、誤差バッファから読み出され、１１ビットレンジの情報に復元されて伝播される。
【００１２】
しかしながら、誤差バッファから読み出した１画素目の誤差（＋０００００００）２を、３ビット左シフトして１１ビットレンジの情報に復元すると、図５（ｃ）に示すように、復元後の誤差は、「＋００００００００００」となる。すなわち、１番目の注目画素において生じた本来の誤差は、「７」であるにも関わらず、圧縮と復元とにより３ビット分の精度が失われたため、次の画素へ伝播される誤差は「０」となる。
【００１３】
図５（ｄ）は、２番目の注目画素を二値化処理する場合を模式的に表している。図５（ｃ）を参照して説明したように、２番目の注目画素へ伝播される誤差は、「０」である。そのため、当該誤差に、分散マトリクス１００に規定された係数「１／２」を乗算し、２番目の注目画素の画素濃度「７」に加算しても、注目画素の補正後の画素濃度は「７」のままである。したがって、１番目に処理された画素と同様、２番目に処理される注目画素の画素濃度「７」は「０」に変換され、さらに、二値化処理により生じる誤差「７」は、１番目の画素と同様、圧縮と復元により「０」となり、他の画素に伝播されず、誤差が蓄積しない。
【００１４】
このように、従来の手法では、絶対値が「７」以下となる誤差は常に切り捨てられる。その結果、各画素の画素濃度が０よりも大であるのにも関わらず、「ドット出力有り」に変換される画素が現れない。よって、低濃度において階調飛びが発生し、画質が劣化するという問題点があった。
【００１５】
本発明は、上記問題点を解決するためになされたものであり、使用メモリを節約しつつ、低濃度における階調飛びの発生および画質劣化を抑制することができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１６】
この目的を達成するために、請求項１記載の画像処理装置は、誤差伝播法により中間調画像を処理するものであって、中間調画像の各画素を、順次、注目画素とし、前記注目画素の画素濃度をドット出力の有無を表す出力値に変換する変換手段と、前記変換手段により変換される前記注目画素の前記画素濃度と前記出力値との誤差を表す誤差情報を算出する誤差情報算出手段と、前記誤差情報算出手段により算出された前記誤差情報を不可逆的に圧縮する圧縮手段と、前記圧縮手段による圧縮後の前記誤差情報を格納する誤差バッファと、前記変換手段により次に注目画素として処理される画素の周辺画素の誤差情報を、前記誤差バッファから読み出し、復元する復元手段と、前記復元手段により復元された前記周辺画素の誤差情報の各々に、各周辺画素間で異なるノイズ値を加算するノイズ加算手段と、前記ノイズ加算手段により前記ノイズ値が加算された各周辺画素の誤差情報に基づいて、前記注目画素の画素濃度を補正する補正手段とを備え、前記変換手段は、前記補正手段による補正後の画素濃度に基づいて、前記注目画素の画素濃度を前記出力値に変換するものであり、前記圧縮手段は、前記誤差情報算出手段により算出された前記誤差情報を、所定の数値で割った値を、圧縮後の誤差情報として出力するものであり、前記復元手段は、前記誤差バッファから読み出された前記周辺画素の誤差情報に前記所定の数値を乗算した値を、復元された前記周辺画素の誤差情報として出力するものであり、前記ノイズ加算手段は、前記誤差情報の圧縮と復元により生じ得る丸め誤差の範囲の値を、前記ノイズ値として、前記周辺画素の誤差情報の各々に加算する。
【００１７】
請求項２記載の画像処理装置は、請求項１に記載の画像処理装置において、前記圧縮手段は、Ｍビットで構成される前記誤差情報を、Ｎ（＜Ｍ）ビットで構成される誤差情報に圧縮し、前記ノイズ加算手段は、（Ｍ−Ｎ）ビットの値に基づいて決定されるノイズ値を加算する。
【００１８】
請求項３記載の画像処理装置は、請求項１または２に記載の画像処理装置において、前記中間調画像の各画素に対して、複数色の画素濃度が規定されている場合、前記ノイズ加算手段は、前記周辺画素の色毎の誤差情報に対して、色毎に異なるノイズ値を加算する。
【００１９】
請求項４記載の画像処理装置は、請求項３記載の画像処理装置において、前記ノイズ加算手段は、前記誤差情報の圧縮と復元により生じ得る丸め誤差の範囲で振幅する乱数を、前記ノイズ値として加算する。
【発明の効果】
【００２０】
請求項１記載の画像処理装置によれば、注目画素の誤差情報は、不可逆的に圧縮されるので、高い圧縮率を得ることができ、使用メモリを節約することができるという効果がある。また、周辺画素の誤差情報は、誤差バッファから読み出され、復元された後、ノイズ値が加算されるので、不可逆的な圧縮により誤差情報の切り捨てが行われたとしても、周辺画素の誤差情報が全て０となる事態を抑制することができる。その結果、誤差を蓄積し、ドットを生じさせることができるので、低濃度における階調飛びを抑制できるという効果がある。さらに、誤差情報には、周辺画素毎に異なるノイズ値が加算されるので、各誤差情報に均一な値を加算する場合に比較して、ドットの出現頻度を不規則にすることができ、画質劣化を抑制できるという効果がある。
また、誤差情報の圧縮と復元により生じ得る丸め誤差の範囲の値が、ノイズ値として加算されるので、誤差情報の不可逆的な圧縮により失われる精度を、適切に補填することができるという効果がある。
【００２１】
ここで、「周辺画素の誤差情報の各々に、各周辺画素間で異なるノイズ値を加算する」とは、各周辺画素の誤差情報に均一な値を加算するのではなく、各周辺画素間で不均一な値をノイズ値として加算することを意味している。したがって、他の周辺画素と重複しないユニークな値が、各周辺画素の誤差情報に加算されるように構成しても良いが、それに限定されるものではなく、いくつかの周辺画素の誤差情報に対しては、同一の値がノイズ値として加算される場合があっても良い。
【００２２】
請求項２記載の画像処理装置によれば、請求項１に記載の画像処理装置の奏する効果に加え、圧縮手段は、Ｍビットで構成される誤差情報を、Ｎ（＜Ｍ）ビットで構成される誤差情報に圧縮し、ノイズ加算手段は、（Ｍ−Ｎ）ビットの値に基づいて決定されるノイズ値を加算するので、誤差情報の不可逆的な圧縮により失われる精度を、適切に補填することができるという効果がある。
【００２３】
請求項３記載の画像処理装置によれば、請求項１または２に記載の画像処理装置の奏する効果に加え、周辺画素の色毎の誤差情報に対して、色毎に異なるノイズ値が加算されるので、各色のドットの出現頻度が規則的になり難く、画質劣化を抑制できるという効果がある。
【００２４】
請求項４記載の画像処理装置によれば、請求項３記載の画像処理装置の奏する効果に加え、誤差情報の圧縮と復元により生じ得る丸め誤差の範囲で振幅する乱数が、ノイズ値として加算されるので、ランダムなノイズ値によって、ノイズ値がドット出力の有無に及ぼす影響を不規則にすることができ、画質劣化を抑制できるという効果がある。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態であるプリンタの電気的構成を模式的に示すブロック図である。
【図２】誤差伝播処理回路の詳細を示すブロック図である。
【図３】誤差伝播処理回路において、誤差情報がどのように処理されるかを、模式的に示す図である。
【図４】誤差伝播処理回路により二値化処理を行った場合の効果を説明する模式図である。
【図５】従来通りに誤差を圧縮し復元する場合の問題点を説明する図である。
【発明を実施するための形態】
【００２６】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の画像処理装置の一実施形態であるプリンタ１の電気的構成を模式的に示すブロック図である。このプリンタ１は、誤差伝播法に基づく二値化処理を実行する装置であって、使用メモリを節約しつつ、低濃度における階調飛びの発生および画質劣化を抑制することができるように構成されている。
【００２７】
プリンタ１は、インクジェットプリンタであって、制御部１０と、インターフェイス２３と、印刷部２５とが主に設けられる。制御部１０には、ＣＰＵ１１と、ＲＯＭ１３と、ＲＡＭ１５とが設けられ、これらは、バスライン１９を介して、入出力ポート２１に接続されている。また、制御部１０には、入出力ポート２１に接続された誤差伝播処理回路１７が設けられる。さらに、入出力ポート２１には、インターフェイス２３と印刷部２５とが接続される。制御部１０は、例えば、インターフェイス２３を介して入力される処理対象の中間調画像を、誤差伝播処理回路１７により二値化処理し、その二値化処理後のデータに基づいて、印刷部２５を駆動する。印刷部２５は、記録用紙を搬送する搬送機構や、制御部１０からの信号に従ってインク滴を吐出する画像形成機構を備え、制御部１０からの指令に従って、中間調画像の階調を、ドット出力の有無で擬似的に再現した二値画像を形成する。
【００２８】
ＣＰＵ１１は、ＲＯＭ１３等に記憶される固定値やプログラム或いは、インターフェイス２３を介して送受信される各種信号に従って、各機能の制御や、入出力ポート２１と接続された各部を制御するものである。ＲＯＭ１３は、ＣＰＵ１１で実行される制御プログラムなどを格納した書換不能なメモリである。ＲＡＭ１５は、書換可能な揮発性のメモリである。誤差伝播処理回路１７は、誤差伝播法に基づく二値化処理を実行する回路である。
【００２９】
図２は、誤差伝播処理回路１７を模式的に示すブロック図である。図３は、誤差伝播処理回路１７において、誤差情報がどのように処理されるかを、模式的に示す図である。図２，図３を参照して、誤差伝播処理回路１７の詳細を説明する。
【００３０】
誤差伝播処理回路１７は、中間調画像の各画素を、順次、注目画素として処理し、各画素の画素濃度を、ドット出力有りを示す出力値「１」、またはドット出力無しを示す出力値「０」に変換する回路である。誤差伝播処理回路１７には、分散マトリクス３０と、補正回路３１と、比較回路３３と、変換回路３５と、相対値表３７と、減算器３９と、乱数発生器４３と、誤差レンジ圧縮回路４５と、誤差バッファ４７と、誤差レンジ復元回路４９と、誤差収集回路５１とが設けられる。
【００３１】
分散マトリクス３０は、周辺画素の誤差情報を、処理対象の注目画素に伝播する際に用いられる重み付け係数を規定するフィルタである。◎は、注目画素である。この注目画素に対し、分散マトリクス３０において重み付け係数が規定された位置にある各画素が、周辺画素に相当する。
【００３２】
補正回路３１は、周辺画素の誤差情報に基づいて、注目画素の画素濃度を補正し、出力する回路である。具体的には、注目画素の画素濃度をＩｘｙ、周辺画素の誤差情報に基づいて算出される補正値をＥａｖｅｘｙとすると、補正後の注目画素の画素濃度Ｉ′ｘｙは、次の（１）式により、算出される。
Ｉ′ｘｙ＝Ｉｘｙ＋Ｅａｖｅｘｙ    ・・・（１）
【００３３】
なお、補正値Ｅａｖｅｘｙは、周辺画素の誤差情報と分散マトリクス３０の重み付け係数とに基づいて、誤差収集回路５１により算出される値であるが、詳細は後述する。
【００３４】
比較回路３３は、上記（１）式で得られた補正後の注目画素の画素濃度Ｉ′ｘｙに基づいて、注目画素の画素濃度を、ドット出力の有無を表す出力値に変換し、出力する。具体的には、補正後の注目画素の画素濃度Ｉ′ｘｙと閾値とを比較し、画素濃度Ｉ′ｘｙが閾値以上であれば、ドット出力有りを示す出力値「１」を出力し、補正後の注目画素の画素濃度Ｉ′ｘｙが閾値未満であれば、ドット出力無しを示す出力値「０」を出力する。
【００３５】
また、比較回路３３は、補正前の注目画素の画素濃度Ｉｘｙを参照する。そして、補正前の注目画素の画素濃度Ｉｘｙが「０」である場合、比較回路３３は、補正後の注目画素の画素濃度Ｉ′ｘｙが閾値以上であるか否かに関わらず、出力値として「０」を出力する。
【００３６】
なお、本実施形態においては、各注目画素の補正前の画素濃度Ｉｘｙは、１０ビットレンジの正の整数（０〜１０２３）である。また、補正後の画素濃度Ｉ′ｘｙは、符号ビットを加えた１１ビットレンジの整数（−１０２４〜１０２３）であるものとして説明する。上記（１）式により算出される補正後の注目画素の画素濃度Ｉ′ｘｙが１１ビットに収まらない場合、補正回路３１は、最下位桁からあふれる値を切り捨て、１１ビットレンジの整数に丸めて、補正後の画素濃度Ｉ′ｘｙとして出力する。
【００３７】
変換回路３５は、比較回路３３から出力される出力値を、相対値に変換して出力する。具体的には、出力値「１」は、相対値「１０２３」に変換して出力し、出力値「０」は、相対値「０」に変換して出力する。出力値と相対値との対応関係については、相対値表３７に予め記述されている。
【００３８】
減算器３９は、注目画素の画素濃度と、注目画素の出力値との誤差に対応する注目画素の誤差情報を算出し、出力する。具体的には、補正後の注目画素の画素濃度Ｉ′ｘｙから、変換回路３５が出力する相対値を減算した値を、１１ビットの誤差情報として算出し、出力する。
【００３９】
減算器３９により算出された１１ビットの誤差情報は、その後、誤差レンジ圧縮回路４５により８ビットの誤差情報へ不可逆的に圧縮され、誤差バッファ４７に格納される。そして、その誤差情報は、他の注目画素の画素濃度を補正する補正値Ｅａｖｅｘｙを算出するために、誤差バッファ４７から読み出され、誤差レンジ復元回路４９により、１１ビットレンジの誤差情報に復元され、使用される。
【００４０】
このように誤差情報を１１ビットから８ビットに圧縮し、その後、８ビットから１１ビットに復元することにより、復元後の誤差情報には、３ビット（＝１１ビット−８ビット）の丸め誤差が発生する。そこで、本実施形態の誤差伝播処理回路１７においては、誤差レンジ復元回路４９により復元された周辺画素の誤差情報の各々に、各周辺画素間で異なるノイズ値を加算することにより、丸め誤差が、ドット出力の有無に及ぼす影響を緩和することとしている。図３を参照して詳細を説明する。
【００４１】
図３に示すビット列６０は、減算器３９により算出される誤差情報の一例を表している。誤差情報を表すビット列６０の先頭は、誤差情報の正負を表す符号ビット６２である。ビット列６０のうち、符号ビット６２を除く残りの１０ビットが、誤差情報の絶対値を表す。
【００４２】
誤差レンジ圧縮回路４５（図２）は、ビット列６０を、３ビット右シフトすることにより、８ビットのビット列６８に圧縮する。この圧縮は、ビット列６０の最下位側３ビット分のビット列６９を切り捨てる不可逆的な圧縮である。すなわち、誤差バッファ４７には、ビット列６０のうち、上位８ビットのみが、圧縮後の誤差情報として格納される。
【００４３】
ビット列７０は、誤差レンジ復元回路４９（図２）により復元された誤差情報を表す。誤差レンジ復元回路４９は、誤差バッファ４７から読み出した８ビットの誤差情報を、３ビット左シフトし、シフト後に空いた最下位ビットから３ビット分のビット列７１を「０」で埋めることにより、１１ビットの誤差情報に復元する。
【００４４】
このような誤差情報の圧縮と復元により、誤差情報からは、３ビット分の精度が失われる。すなわち、−７〜７の範囲の丸め誤差が生じ得る。したがって、図３に示すビット列６０のように、減算器３９により算出される誤差情報が、例えば「７」である場合、これを圧縮し復元すると、誤差情報は「０」となる。よって、復元された誤差情報にノイズ値を加算しない場合、丸め誤差の範囲の誤差情報（本実施形態では−７〜７）は、すべて「０」とされ、蓄積することができない。
【００４５】
これに対し、本実施形態の誤差伝播回路１７は、１１ビットに復元された周辺画素の誤差情報の各々に、３ビットのビット列７２で表される整数の乱数（０〜７）を、ノイズ値として誤差情報の絶対値に加算する。換言すれば、−７から７の範囲の乱数をノイズ値として復元後の周辺画素の誤差情報に加算する。
【００４６】
ビット列７４は、ノイズ値としてのビット列７２が加算された後の周辺画素の誤差情報を表す。このように、本実施形態の誤差伝播回路１７によれば、圧縮前の絶対値が「７」以下の誤差情報であって、復元後は「０」となる誤差情報であっても、ノイズ値の加算により、その絶対値を「１」以上とすることができる。その結果、圧縮前の誤差情報が「０」ではないにも関わらず、圧縮と復元とにより、各周辺画素の誤差情報が「０」となってしまうことを防止することができる。
【００４７】
図２に戻り説明する。誤差レンジ圧縮回路４５は、注目画素の誤差情報を不可逆的に圧縮し、出力する。具体的には、減算器３９により算出された注目画素の誤差情報を、３ビット左シフトして出力することにより、注目画素の誤差情報を「８（所定の数値の一例）」で割った値を、圧縮後の誤差情報として出力する。
【００４８】
誤差レンジ圧縮回路４６によれば、注目画素の誤差情報を、不可逆的に圧縮することにより、高い圧縮率を得ることができ、誤差バッファ４７に必要なメモリ量を大幅に節約することができる。
【００４９】
誤差バッファ４７は、圧縮後の誤差情報を圧縮するバッファである。上述したように、１画素分の誤差情報は、８ビットに圧縮されるので、誤差バッファ４７としては、［８ビット×中間調画像の１ラスタの画素数×分散マトリクスの縦方向サイズ（図２に示す例では３）］が確保される。
【００５０】
誤差レンジ復元回路４９は、次に注目画素として処理すべき画素の周辺画素の誤差情報を、誤差バッファ４７から読み出し、復元する。また、その復元した周辺画素の誤差情報の各々に、ノイズ値を加算して出力する。具体的には、まず、誤差バッファ４７から読み出された周辺画素の誤差情報を３ビット右シフトすることにより、誤差バッファ４７から読み出された誤差情報に「８（所定の数値の一例）」を乗算した値を、復元された周辺画素の誤差情報として出力する。
【００５１】
次に、乱数発生回路４３が発生する、０から７の範囲で振幅する正の整数の乱数を、復元された誤差情報の絶対値に加算する。すなわち、−７〜７の範囲で振幅する整数の乱数を、ノイズ値として各周辺画素の誤差情報に加算する。誤差レンジ復元回路４９は、復元された周辺画素の誤差情報の各々に対して、乱数を１つずつ取得し、ノイズ値に加算する。すなわち、各周辺画素間で異なるノイズ値を、各周辺画素の誤差情報に加算する。ランダムな乱数を、各周辺画素の誤差情報にノイズ値として加算することにより、ノイズ値がドット出力の有無に及ぼす影響を不規則にすることができ、画質劣化を抑制できる。
【００５２】
このように、ノイズ値の範囲を、誤差情報の圧縮と復元とで生じ得る丸め誤差の範囲に等しくすることで、誤差情報の不可逆的な圧縮により失われる精度を、適切に補填することができる。なお、誤差レンジ圧縮回路４５において誤差情報がＮビット右シフトされる場合、Ｎビットレンジの絶対値を、誤差情報の絶対値に加算するように構成すると良い（Ｎは１以上の任意の整数）。
【００５３】
乱数発生器４３は、疑似乱数を発生することができるものであればよく、乱数生成のアルゴリズムは、限定されるものではない。乱数発生器４３は、例えば、Ｍ系列などの関数から乱数を生成し、出力するものであっても良いし、あらかじめ定められた数字の配列を記憶しておき、記憶手段から読み出した値を、乱数として出力するものであっても良い。
【００５４】
誤差収集回路５１は、分散マトリクス３０に規定された重み付け係数に基づいて、周辺画素の復元後の誤差情報を収集し、補正値Ｅａｖｅｘｙを算出して出力する。具体的には、分散マトリクス３０の重み付け係数をＫij（ｉは横方向サイズであり、たとえば、ｉ＝５、ｊは縦方向サイズであり、たとえば、ｊ＝３、）とし、各重み付け係数に対応した位置の周辺画素の復元後の誤差情報（ノイズ値加算済み）をＥijとすると、補正値Ｅａｖｅｘｙは、次の（２）式で算出される。
Ｅａｖｅｘｙ＝Σ（Ｋij×Ｅij）    ・・・（２）
誤差収集回路５１が出力する補正値Ｅａｖｅｘｙを用いて、上述した補正回路３１において、次の注目画素の画素濃度が補正される。
【００５５】
プリンタ１の誤差伝播処理回路１７によれば、周辺画素の誤差情報は、復元された後、ノイズ値が加算されるので、周辺画素の誤差情報が全て０となる事態を抑制することができる。その結果、上記（２）で算出される補正値Ｅａｖｅｘｙが０とならず、次の注目画素に、周辺画素の誤差を伝播することができる。
【００５６】
図４は、誤差伝播処理回路１７により二値化処理を行った場合の効果を説明する模式図である。図４には、中間調画像の１ラスタ８０を模式的に示す。図４において、二値化処理前のラスタ８０の各画素の画素濃度は「７」である。また、図４を参照して説明においては、比較回路３３（図２）において補正後の画素濃度Ｉ′ｘｙと比較される閾値は「８」、変換回路３５（図２）において出力値「１」は相対値「１０２３」に変換され、出力値「０」は相対値「０」に変換されるものとする。
【００５７】
図４（ａ）は、ラスタ８０の左端の画素を、１画素目の注目画素として二値化処理する場合を示す。この注目画素に対する周辺画素は存在しないから、まず、注目画素の画素濃度「７」と、閾値「８」が比較される。画素濃度「７」は閾値「８」以下であるため、当該画素濃度は、ドット出力無しを表す出力値「０」に変換される。また、画素濃度「７」から相対値「０」を減算し、誤差として「７」が算出される。すなわち、（＋０００００００１１１）２が、誤差として算出される。これを３ビット右シフトして圧縮すると、誤差バッファ４７には、圧縮後の誤差として（＋０００００００）２が格納されることとなる。
【００５８】
図４（ｂ）は、２番目に注目画素として処理される画素の画素濃度を、１番目に注目画素として処理された画素から伝播する誤差情報に基づいて補正した状態を示す。この場合、１番目に処理された画素で発生した誤差情報は、誤差バッファ４７から読み出され、３ビット左シフトすることにより、１１ビットレンジの誤差情報（＋００００００００００）２に復元される。そして、この復元後の誤差情報「０」に、ノイズ値として、例えば、「７」を加算することにより、周辺画素の誤差情報は、（＋０００００００１１１）２
となる。
【００５９】
このノイズ値加算後の周辺画素の誤差情報に、分散マトリクス３０に規定された重み付け係数「７／４８」を乗算することにより、補正値Ｅａｖｅｘｙとして「１．０２０・・・」が算出される。なお、この説明では、理解を容易にするために、補正値Ｅａｖｅｘｙは、符号ビットを加えた１１ビットの整数として取り扱うものとする。よって、補正値Ｅａｖｅｘｙ（＋０００００００００１）が、２番目に注目画素として処理される画素の画素濃度に加算される。その結果、２番目の注目画素の補正後の画素濃度は「８」となる。
【００６０】
図４（ｃ）は、２番目の注目画素を二値化処理する場合を模式的に表している。２番目の注目画素の補正後の画素濃度は、「８」であるため、当該画素の画素濃度は「１」に変換される。
【００６１】
このように、本実施形態の誤差伝播処理回路１７によれば、圧縮前の誤差情報が、圧縮と復元により失われる丸め誤差の範囲内であっても、誤差を蓄積し、ドットを生じさせることができるので、低濃度における階調飛びを抑制することができる。また、各周辺画素間で異なるノイズ値が、各周辺画素情報の各々に加算されるので、各誤差情報に均一な値を加算する場合に比較して、ドットの出現位置を不規則にすることができ、画質劣化を抑制することができる。
【００６２】
さらに、誤差伝播処理回路１７によれば、各周辺画素の誤差情報にノイズ値を加算しているが、ノイズ値加算後の誤差情報は、分散マトリクス３０の係数が乗算された上で、注目画素の画素濃度に加算される。よって、画素濃度や閾値に、直接ノイズ値を加算する場合に比較して、本実施形態の手法で加算されるノイズ値は、ドット出力の有無に直接的な影響を与え難く、ノイズ値付加による画質の乱れが生じ難い。
【００６３】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００６４】
例えば、上記実施形態のプリンタ１は、中間調画像の各画素濃度を、ドット出力有を表す出力値か、ドット出力無を表す出力値のいずれかに二値化する処理を行うものであった。しかしながら、三値化、または四値化など、二値以上に画素濃度を量子化する場合においても、本発明は適用可能である。例えば、出力値が、大ドット出力、中ドット出力、小ドット出力、ドット無し、の４値である場合にも、本発明は適用可能である。
【００６５】
また、上記実施形態では、モノクロプリンタの場合を前提として説明したが、複数色の色材を用いて画像を形成するカラープリンタの場合にも本発明は適用可能である。その場合、中間調画像の各画素に対しては、例えば、シアン、マゼンタ、イエロー、ブラックなど、複数色の画素濃度が規定される。この場合、誤差伝播処理回路１７の比較回路３３においては、色別に画素濃度が処理される。そして、減算器３９においては、注目画素の誤差情報が、色毎に算出され、出力される。そして、誤差レンジ復元回路４９においては、色毎に算出される周辺画素の誤差情報の各々に対し、色毎に異なるノイズ値を加算する。このようにすれば、色毎に異なるノイズ値が加算されるので、各色のドットの出現頻度が規則的になり難く、画質劣化を抑制できるという効果がある。
【００６６】
また、本発明は、誤差情報を８ビットのビット列に圧縮する場合に限定されるものではないが、誤差情報を８の倍数のビット数に圧縮する場合に、特に好適な効果を奏する。
【００６７】
また、上記実施形態では、乱数をノイズ値として加算していたが、例えば、圧縮と復元により生じる丸め誤差の範囲で、余りを発生させる所定値（たとえば、３ビットの丸め誤差が発生するのであれば８）で、注目画素の画素濃度を割り算したときの余りを、ノイズ値として加算しても良い。また、注目画素の画素濃度とその近傍画素の画素濃度との平均値を、上記の所定値で割り算したときの余りを、ノイズ値として加算しても良い。画素毎で異なる値を、ノイズ値とすることができればよいからである。
＜その他＞
＜手段＞
技術的思想１記載の画像処理装置は、誤差伝播法により中間調画像を処理するものであって、中間調画像の各画素を、順次、注目画素とし、前記注目画素の画素濃度をドット出力の有無を表す出力値に変換する変換手段と、前記変換手段により変換される前記注目画素の前記画素濃度と前記出力値との誤差を表す誤差情報を算出する誤差情報算出手段と、前記誤差情報算出手段により算出された前記誤差情報を不可逆的に圧縮する圧縮手段と、前記圧縮手段による圧縮後の前記誤差情報を格納する誤差バッファと、前記変換手段により次に注目画素として処理される画素の周辺画素の誤差情報を、前記誤差バッファから読み出し、復元する復元手段と、前記復元手段により復元された前記周辺画素の誤差情報の各々に、各周辺画素間で異なるノイズ値を加算するノイズ加算手段と、前記ノイズ加算手段により前記ノイズ値が加算された各周辺画素の誤差情報に基づいて、前記注目画素の画素濃度を補正する補正手段とを備え、前記変換手段は、前記補正手段による補正後の画素濃度に基づいて、前記注目画素の画素濃度を前記出力値に変換するものである。
技術的思想２記載の画像処理装置は、技術的思想１記載の画像処理装置において、前記中間調画像の各画素に対して、複数色の画素濃度が規定されている場合、前記ノイズ加算手段は、前記周辺画素の色毎の誤差情報に対して、色毎に異なるノイズ値を加算するものである。
技術的思想３記載の画像処理装置は、技術的思想１または２に記載の画像処理装置において、前記圧縮手段は、前記誤差情報算出手段により算出された前記誤差情報を、所定の数値で割った値を、圧縮後の誤差情報として出力するものであり、前記復元手段は、前記誤差バッファから読み出された前記周辺画素の誤差情報に前記所定の数値を乗算した値を、復元された前記周辺画素の誤差情報として出力するものであり、前記ノイズ加算手段は、前記誤差情報の圧縮と復元により生じ得る丸め誤差の範囲の値を、前記ノイズ値として、前記周辺画素の誤差情報の各々に加算する。
技術的思想４記載の画像処理装置は、技術的思想３記載の画像処理装置において、前記ノイズ加算手段は、前記誤差情報の圧縮と復元により生じ得る丸め誤差の範囲で振幅する乱数を、前記ノイズ値として加算する。
技術的思想１記載の画像処理装置によれば、注目画素の誤差情報は、不可逆的に圧縮されるので、高い圧縮率を得ることができ、使用メモリを節約することができるという効果がある。また、周辺画素の誤差情報は、誤差バッファから読み出され、復元された後、ノイズ値が加算されるので、不可逆的な圧縮により誤差情報の切り捨てが行われたとしても、周辺画素の誤差情報が全て０となる事態を抑制することができる。その結果、誤差を蓄積し、ドットを生じさせることができるので、低濃度における階調飛びを抑制できるという効果がある。さらに、誤差情報には、周辺画素毎に異なるノイズ値が加算されるので、各誤差情報に均一な値を加算する場合に比較して、ドットの出現頻度を不規則にすることができ、画質劣化を抑制できるという効果がある。
ここで、「周辺画素の誤差情報の各々に、各周辺画素間で異なるノイズ値を加算する」とは、各周辺画素の誤差情報に均一な値を加算するのではなく、各周辺画素間で不均一な値をノイズ値として加算することを意味している。したがって、他の周辺画素と重複しないユニークな値が、各周辺画素の誤差情報に加算されるように構成しても良いが、それに限定されるものではなく、いくつかの周辺画素の誤差情報に対しては、同一の値がノイズ値として加算される場合があっても良い。
技術的思想２記載の画像処理装置によれば、技術的思想１記載の画像処理装置の奏する効果に加え、周辺画素の色毎の誤差情報に対して、色毎に異なるノイズ値が加算されるので、各色のドットの出現頻度が規則的になり難く、画質劣化を抑制できるという効果がある。
技術的思想３記載の画像処理装置によれば、技術的思想１または２に記載の画像処理装置の奏する効果に加え、誤差情報の圧縮と復元により生じ得る丸め誤差の範囲の値が、ノイズ値として加算されるので、誤差情報の不可逆的な圧縮により失われる精度を、適切に補填することができるという効果がある。
技術的思想４記載の画像処理装置によれば、技術的思想３記載の画像処理装置の奏する効果に加え、誤差情報の圧縮と復元により生じ得る丸め誤差の範囲で振幅する乱数が、ノイズ値として加算されるので、ランダムなノイズ値によって、ノイズ値がドット出力の有無に及ぼす影響を不規則にすることができ、画質劣化を抑制できるという効果がある。
【符号の説明】
【００６８】
１                プリンタ（画像処理装置の一例）
１７              誤差伝播処理回路（変換手段の一例）
３０              分散マトリクス
３１              補正回路（画素濃度補正手段の一例）
３９              減算器（誤差情報算出手段の一例）
４５              誤差レンジ圧縮回路（圧縮手段の一例）
４７              誤差バッファ
４９              誤差レンジ復元回路（復元手段、ノイズ加算手段の一例）
【図１】
0005504740.tif 000002
【図２】
0005504740.tif 000003
【図３】
0005504740.tif 000004
【図４】
0005504740.tif 000005
【図５】
0005504740.tif 000006