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