(57)【要約】【課題】記録ヘッドの各ノズルからのインク吐出方向やインク吐出量にばらつきがあってもｎ値画像データを誤差拡散によるｍ値化によって濃度特性が線形の階調表現を実現し、階調特性の優れた高品位な画像形成を実現することができ、さらに簡単で安価な構成で高速な処理を実現する画像処理方法を提供することである。【解決手段】ｎ値画像データを誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する際、ｎ値画像データの各画素の値をｍ値化し、そのｍ値化によって発生した誤差を出力し、擬似中間調画像の形成に用いるインクジェット記録ヘッドに備えられた複数のインク吐出ノズル各々の吐出特性に従って、発生した誤差を補正し、その補正された誤差を次の画素の誤差拡散処理にフィードバックする。【選択図】  図７
2004230672.tif 000002
【特許請求の範囲】
【請求項１】
ｎ値画像データを誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する画像処理方法であって、
前記ｎ値画像データの各画素の値をｍ値化し、該ｍ値化によって発生した誤差を生成する誤差発生工程と、
前記擬似中間調画像の形成に用いるインクジェット記録ヘッドに備えられた複数のインク吐出ノズル各々の吐出特性に従って、前記誤差発生工程において発生した誤差を補正する誤差補正工程と、
前記誤差補正工程において補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック工程とを有することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理方法に関し、特に、多値画像データを高精細かつ高階調に表示及び記録する為の画像処理方法に関する。
【０００２】
【従来の技術】
従来より、スキャナやディジタルカメラ等の入力装置で読み取った多値画像データをプリンタやディスプレイ等の出力装置に出力する画像入出力システムがある。
【０００３】
そのシステムでは、入力装置で読み取った多値（例えば、１画素８ビットならば２５６階調）の画像データを出力装置が出力可能なようにｎ値化処理が行われてきた。例えば、出力装置が１画素についてＯＮ／ＯＦＦのみの２つの表現しか出きない場合には、２値化処理が行なわれてきた。この２値化処理の中で画像の解像度と階調表現に共に優れたものとして誤差拡散処理がある。
【０００４】
ここで、従来の技術である誤差拡散の原理を図１を参照して説明する。
【０００５】
図１は誤差拡散処理の原理を説明するブロック図である。
【０００６】
入力装置で読み取った多値（例えば、１画素８ビットの階調が０〜２５５）の入力データ（Ｉｎ）には加算器６において割算部５の出力である周辺画素から拡散された誤差（ｄＩｎ）  が加算され、その結果得られた値（Ｉｎ＋ｄＩｎ）  が比較部２に入力される。比較部２では、閾値設定部１から読み出された閾値（例えば、１２７）と（Ｉｎ＋ｄＩｎ）の値とを比較して、（Ｉｎ＋ｄＩｎ）＞１２７である場合は、比較部２の出力値（Ｏｕｔ）を“２５５”とし、（Ｉｎ＋ｄＩｎ）≦１２７である場合は、その出力値（Ｏｕｔ）を“０”として出力する。
【０００７】
このようにして出力値（Ｏｕｔ）は２値データとなり、その値が“０”であることは（ＯＦＦ）を意味し、“２５５”であることは“ＯＮ”を意味する。
【０００８】
また、減算部３は、比較部２への入力値（Ｉｎ＋ｄＩｎ）から比較部２からの出力値（Ｏｕｔ）を減算して、差分（ｄＯｕｔ＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）を算出してこれを２値化誤差（ｄＯｕｔ）とする。２値化誤差（ｄＯｕｔ）には、周辺画素への分配係数７が乗算され、その結果が誤差蓄積バッファ４に加算蓄積される。誤差蓄積バッファ４上の次に処理を行う画素（＊）の値が割算部５に入力され、そこで分配係数の総和（この例では、“３２”）で割算され正規化されて正規化誤差（ｄＩｎ）として出力される。
【０００９】
このように、誤差拡散処理とは、例えば、１画素８ビットの入力多値（Ｉｎ）を“０”または“２５５”の２値の出力値（Ｏｕｔ）に変換する際に発生する差分を周辺画素に分配しマクロ的には入力値の値を保存する処理である。
【００１０】
さて、従来のインクジェットプリンタ装置は、多値の画像データを上述のように２値の画像データに変換後、ピエゾ素子による圧力やインクをヒータで加熱し沸騰する圧力を利用し、記録ヘッドからインクを吐出して記録を行う。この様なインクジェットプリンタ装置（以下、プリンタという）に用いるインクジェット記録ヘッド（以下、記録ヘッドという）の製造上、記録ヘッドのインク吐出ノズル（以下、ノズルという）毎でインク吐出方向やインク吐出量にバラツキが発生する。このため、このような記録ヘッドを用いて記録を行うと、ノズル単位、或いは、画像データのライン単位で濃度むらが発生する。
【００１１】
例えば、２５６個のノズルを有する記録ヘッドを搭載したキャリッジを往復走査して記録を行う場合、１回の走査で２５６ライン分の画像データを用いて記録するなら、２５６ライン毎に周期的な濃度むらが発生する。また、マルチパス記録で記録を行う場合、例えば、２パス記録では１２８ライン毎に周期的な濃度むらが発生する。
【００１２】
このような濃度むらの発生は、プリンタの用途がモノクロの文字が主となる文書記録の場合は大きな問題とならないが、例えば、デザイン事務所でのデザイン画の印刷、印刷校正のためのプルーフ印刷などにそのプリンタを用いる場合は、周期的に発生する濃度むらが大きな問題となる。
【００１３】
図２は誤差拡散処理により得られた２値データを用いて２５６個のノズルをもつ記録ヘッドからインクを吐出して画像を記録した場合に周期的に発生する濃度むらを示す図である。この記録は３回の記録走査を行った例を示しており、１回の記録走査の範囲を１サイクルと表現している。
【００１４】
図２には、４種類の均一な入力値（６３、１２７、１９０、２５５）を用いて４つの矩形パッチ（左からパッチ１、パッチ２、パッチ３、パッチ４）を記録した状態が示されている。
【００１５】
図３は、図２に示した記録状態をライン単位で測定した濃度分布（濃度むら）を表わすグラフである。
【００１６】
図３において、横軸は記録ヘッドの２５６個のノズル位置を示し、０〜２５５のアドレスで表現されており、図２における１サイクルに相当する。また、縦軸はその位置での平均濃度（１走査分の各画素の濃度を平均したもの）を示している。
【００１７】
さて、図２で示すような記録状態、図３で示すような濃度分布になるのは、ライン単位で巨視的には図４で示すような濃度特性となっているからである。
【００１８】
図４は誤差拡散処理により多値の画像データを２値化し、その２値化データを記録ヘッドを用いて画像を記録した時の記録濃度特性を示す図である。
【００１９】
図４において、横軸は誤差拡散処理のために入力される多値画像データの入力値を示し、縦軸は各入力値に対応するライン単位での平均濃度値を示している。
【００２０】
また、図４において、特性曲線８は図３に示した低濃度位置での平均濃度記録特性を示し、特性曲線９は図３に示した高濃度位置での平均濃度記録特性を示し、特性曲線１０は、特性曲線８、９を補正して同じ濃度記録特性にする為の目標特性曲線である。
【００２１】
この説明では、目標特性曲線を濃度変化に対して線形となるように示しているが、特性曲線８を目標特性曲線にしたり、また他の曲線を目標特性曲線にしても構わない。要するに目標特性を定め、異なる記録ヘッドを用いて記録した場合も定めた目標特性になるように補正すればよい。
【００２２】
図５は従来の画像処理の概要を示すブロック図である。
【００２３】
この画像処理では、文字データやグラフィックデータや自然画データなどの種々のデータが用いられ、これらのデータをラスタ展開して１つの画像データに変換された後、画像変換処理がなされ記録ヘッドに入力される２値データが出力される。ここで、入力画像データは、ＲＧＢ色成分からなる各成分が８ビットのデータであるとする。
【００２４】
ＲＧＢ各色成分のデータはＣＳＣ１１に入力される。ＣＳＣ１１の入出力データはともにＲＧＢ各色成分のデータであり、ＣＳＣ１１には３次元ルックアップテーブル（３Ｄ−ＬＵＴ）が備えられ、その３Ｄ−ＬＵＴを用いて入力カラー画像データに変換処理を施す。
【００２５】
３Ｄ−ＬＵＴは入力ＲＧＢデータ各成分の１７個の代表値に対応した出力ＲＧＢデータ値を記憶しており、入力ＲＧＢ値に対してその入力値近傍の８点の代表値から四面体補間によって補間演算を行い出力ＲＧＢ値を得る。ＣＳＣ１１の役割は、写真画像、グラフィック画像を表現するＲＧＢデータをプリンタ固有のデバイス依存のＲＧＢデータに変換するときのＲＧＢ空間上でのカラーマッチングである。ＣＳＣ１１から出力されたデバイス依存のＲＧＢデータはＣＳＣ１２に入力されインクジェットプリンタが使用するインク各色成分のデータに変換される。
【００２６】
ＣＳＣ１２は入力データがＲＧＢ３成分で各成分が８ビットからなる画像データであり、出力データがＣｃＭｍＹＫ（シアン、淡シアン、マゼンタ、淡マゼンタ、イエロ、ブラック）６成分で各成分が８ビットからなる画像データである。ＣＳＣ１２にも３次元ルックアップテーブル（３Ｄ−ＬＵＴ）が備えられ、その３Ｄ−ＬＵＴを用いて入力画像データをインク各色の成分で表現されるカラー画像データに展開処理する。
【００２７】
その３Ｄ−ＬＵＴは、入力ＲＧＢデータ各成分の１７個の代表値に対応した出力ＣｃＭｍＹＫ濃度データ値を記憶しており、入力ＲＧＢ値に対してその入力値近傍の８点の代表値から四面体補間によって補間演算を行い出力ＣｃＭｍＹＫ濃度データ値を得る。ＣＳＣ１２の役割は、デバイス依存のＲＧＢデータを記録に用いるインク色（ＣｃＭｍＹＫ）の濃度信号に変換するのインク色展開である。インク各色に対応する成分に変換された各８ビットデータは、ヘッド補正部１３に入力される。
【００２８】
図６はヘッド補正部１３の機能詳細を説明したブロック図である。
【００２９】
図６において、１５は記録ヘッド、１６〜２０はノズルである。ノズル１６は図３に示すノズル位置の“０”に相当する位置のノズルであり、ノズル２０は図３に示すノズル位置の“２５５”に相当するノズルである。また、図６の右側に示す曲線は各ノズルの濃度特性曲線である。
【００３０】
さて、ヘッド補正部１３は図６に示すように各ノズルに対応した２５６個の１次元のルックアップテーブル（１Ｄ−ＬＵＴ）からなり、各１Ｄ−ＬＵＴには図４で示した様に記録ヘッドの各ノズルのインク吐出方向やインク吐出量のバラツキによって生じる記録濃度特性を目標特性に補正する為の関係が予め設定されている。そして、これら１Ｄ−ＬＵＴに対応する各インク色成分の濃度データが入力されると、１Ｄ−ＬＵＴによって目標濃度特性になるように変換される。そして各インク色濃度データは、２値化処理部１４に入力され図１で説明した誤差拡散処理によって２値化に変換され、その２値化データにより記録ヘッドからインクを吐出し記録がなされる。
【００３１】
このように従来は、２値化処理前でルックアップテーブルを用いた変換処理を行い記録ヘッドの特性ばらつきを吸収する濃度補正を行っている（例えば、特許文献１、特許文献２参照）。
【００３２】
【特許文献１】
特開２００１−１０５６９７号公報
【特許文献２】
特開２００２−０１９１０１号公報
【発明が解決しようとする課題】
しかしながら上記従来例では、非線形なルックアップ変換処理を必要としていた為、量子化誤差が発生し、例えば、１画像８ビットの多値画像データを入力データとする場合、階調が２５６あるにもかかわらず、実際にはその２５６階調を表現できないという問題が発生していた。
【００３３】
また、その量子化誤差が大きい場合は、形成画像上に擬似輪郭が発生し滑らかな階調を実現できないという問題も発生していた。
【００３４】
さらに、従来例に従って２５６階調表現可能な線形の濃度特性を保証する為には、入力データ及び中間処理データのビット数を増やして実現することが必要であるが、回路構成上、８ビットデータを扱う場合に比べ、その回路ではゲート数の増加し、メモリが増加するなど構成が複雑になり安価なハードウェアを実現することが困難になる。
【００３５】
また、入力データをソフトウェアを用いて処理する場合においても、メモリの占有率の増加などにより処理速度の低下が発生する。特に、記録媒体（その結果、形成画像サイズが）がＢ０サイズとなる大判プリンタなどでは、その処理速度の低下は甚だしいものがある。
【００３６】
本発明は上記従来例とのその問題点に鑑みてなされたものであり、記録ヘッドの各ノズルからのインク吐出方向やインク吐出量にばらつきがあってもｎ値画像データを誤差拡散によるｍ値化によって濃度特性が線形の階調表現を実現し、階調特性の優れた高品位な画像形成を実現することができ、さらに簡単で安価な構成で高速な処理を実現する画像処理方法を提供することを目的としている。
【００３７】
【課題を解決するための手段】
上記目的を達成するため本発明の画像処理方法は以下の構成からなる。
【００３８】
即ち、ｎ値画像データを誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する画像処理方法であって、前記ｎ値画像データの各画素の値をｍ値化し、該ｍ値化によって発生した誤差を生成する誤差発生工程と、前記擬似中間調画像の形成に用いるインクジェット記録ヘッドに備えられた複数のインク吐出ノズル各々の吐出特性に従って、前記誤差発生工程において発生した誤差を補正する誤差補正工程と、前記誤差補正工程において補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック工程とを有することを特徴とする画像処理方法を備える。
【００３９】
また、本発明は、上記画像処理方法における各工程をコンピュータによって実行するために、コンピュータが実行可能なコードによって記述されたプログラムの形態であっても良い。
【００４０】
さらに、そのプログラムは、コンピュータが読み取り可能であるように、コンピュータ可読の記憶媒体に格納するように備えられても良い。
【００４１】
このようにして、プログラムや記憶媒体の形で本発明を実現することも可能である。
【００４２】
またさらに、本発明は、上記画像処理方法を実行できる画像処理装置の形態であっても良い。
【００４３】
即ち、ｎ値画像データを誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する画像処理装置であって、
前記ｎ値画像データの各画素の値をｍ値化し、該ｍ値化によって発生した誤差を生成する誤差発生手段と、
前記擬似中間調画像の形成に用いるインクジェット記録ヘッドに備えられた複数のインク吐出ノズル各々の吐出特性に従って、前記誤差発生手段によって発生した誤差を補正する誤差補正手段と、
前記誤差補正手段によって補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック手段とを有することを特徴とするものである。
【００４４】
【発明の実施の形態】
さて以上のような解決手段の構成をさらに詳しく言えば、前記誤差補正工程には、インクジェット記録ヘッドの複数のインク吐出ノズル各々に対応した補正量を格納した複数のテーブルを備え、擬似中間調画像の形成に用いられるインクジェット記録ヘッドのインク吐出ノズルの位置を表す情報に従って、これら複数のテーブルから１つを選択し、その選択されたテーブルを参照して、誤差補正量を出力する構成を備えることが望ましい。
【００４５】
さらに前記誤差補正工程には、選択されたテーブルから出力される補正値を誤差発生工程において発生した誤差から減算して補正された誤差を出力する減算工程を含むようにしたり、或いは、選択されたテーブルから出力される補正値を誤差発生工程において発生した誤差に積算して補正された誤差を出力する積算工程を含むようにすると良い。
【００４６】
一方、複数のインク吐出ノズル各々の対応した補正量は、インクジェット記録ヘッドを用いて異なる濃度をもつ複数のパッチ画像を記録媒体に記録し、これら複数のパッチ画像を読み取って実際の記録濃度を求めることにより取得しても良い。
【００４７】
これら前記複数のテーブルは３次元テーブルの形式をとり、その３次元テーブルには、誤差拡散処理において用いる誤差拡散マトリクスの中に含まれる有意な係数の数だけを備える構成とすることが望ましく、さらには、これら３次元テーブル各々は、（１）入力されるｎ値画像データの値と誤差発生工程において発生した誤差と擬似中間調画像の形成に用いられるインクジェット記録ヘッドのインク吐出ノズルの位置を表す情報とから補正値が定められる構造となるようにするか、或いは（２）ｎ値画像データのとり得る値からサンプルされた代表値と誤差発生工程において発生し得る誤差からサンプルされた代表値と擬似中間調画像の形成に用いられるインクジェット記録ヘッドのインク吐出ノズルの位置を表す情報とから補正値が定められる構造となるようにすると良い。
【００４８】
後者の場合、その定められた補正値に対して補間処理を行って入力される多値画像データの値と誤差発生工程において発生した誤差とに対する補正された誤差を出力することが望ましい。
【００４９】
また、前記誤差補正工程では、複数のインク吐出ノズル各々の吐出特性を複数のレベルに分類し、これら複数のレベル各々に対応した補正量を格納した複数のテーブルを備えるようにし、擬似中間調画像の形成に用いられるインクジェット記録ヘッドのインク吐出ノズルの位置を表す情報に基づいて、その位置のインク吐出ノズルが上記複数のレベルのいずれに相当するかを判断し、その判断結果に基づいて複数のテーブルから１つを選択し、該選択されたテーブルを参照して、誤差補正量を出力するようにしても良い。この場合には、複数のインク吐出ノズル各々の吐出特性を示すレベルを格納するテーブルが備えることが望ましい。
【００５０】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００５１】
これ以降に説明では、まず多値画像データを入力して誤差拡散処理を行なって２値化データを出力する２値化処理装置のいくつかの実施形態について説明し、最後にこの２値化処理装置が応用される画像入出力システムについて説明する。この画像入出力システムでは出力装置としてインクジェットプリンタが用いられ、インクジェット記録ヘッドがカラーインクを吐出してカラー画像を記録する。
【００５２】
なお、いくつかの実施形態で説明する２値化処理装置の構成において、既に従来例において説明したのと同じ構成要素には同じ参照番号を付し、その説明は省略する。また、説明を簡単にするために全ての２値化処理装置では１画素８ビット（０〜２５５の階調）の多値画像データを入力し、これを２値化し、その出力値（Ｏｕｔ）は“２５５”或いは“０”とする。従来例と同様に、この出力２値データの値が“０”であることは（ＯＦＦ）を意味し、“２５５”であることは“ＯＮ”を意味する。また、２値化のための閾値は“１２７”とする
＜第１実施形態＞
図７は本発明の第１実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。この２値化処理部は、従来技術が抱える課題を解決しつつ、図５におけるヘッド補正部１３と２値化部１４の機能を実現している。
【００５３】
スキャナなどの入力装置でカラー画像原稿を読み取って得られたＲＧＢ多値画像データ（各色成分は８ビット）は通常モニタに表示後、装置利用者がそのモニタを見ながらレイアウト修正、及び、ＲＧＢ空間上での色修正がなされる。その後、記録用紙の種類、記録モードに合わせた各インク色成分への分解が行われ、ＣｃＭｍＹＫ（各色成分は８ビット）の多値濃度データに変換される。これらＣｃＭｍＹＫの多値濃度データは夫々、２値化処理部に転送され２値化処理が行われ、２値化データを用いて記録がなされる。
【００５４】
図７に示す２値化処理部では、ＣｃＭｍＹＫ６成分の濃度データの内、１成分の濃度データを処理する。他の５成分の濃度データ夫々についても同様の処理がなされる。
【００５５】
図７に示す２値化処理部では、加算器６が多値画像データ（Ｉｎ）  と割算部５からの出力である周辺画素からの拡散誤差（ｄＩｎ）を入力してこれを加算し、その加算した値（Ｉｎ＋ｄＩｎ）を比較部２に入力する。比較部２では、閾値設定部１から読み出された閾値（１２７）と（Ｉｎ＋ｄＩｎ）の値を比較して、（Ｉｎ＋ｄＩｎ）＞１２７であれば、出力値（Ｏｕｔ）を“２５５”とし、（Ｉｎ＋ｄＩｎ）≦１２７であれば“０”とする。
【００５６】
なお、閾値設定部１は、常に一定の閾値を発生しなくてもよく、誤差拡散処理特有のミミズ、はき寄せ状などのモアレパターンの発生を防止する為に、閾値設定部１に乱数テーブルを設け、所定の範囲内での閾値を発生するようにしても良い。
【００５７】
また、減算部３は比較部２への入力値（Ｉｎ＋ｄＩｎ）から比較部２からの出力値（Ｏｕｔ）を減算して２値化誤差（ｄＯｕｔ１＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）を生成し、これを減算部１８に入力する。
【００５８】
ノズル位置情報発生部２４では、２５６個のノズルを有した記録ヘッドにおいてどこのノズルを用いて記録するのかについてのノズル位置情報を発生する。従って、このノズル位置情報は、２５６の周期的でインクを吐出する記録ヘッドのノズル位置に対応している。また、このノズル位置情報は、物理的なノズル位置をそのまま発生するのではなく、例えば、マルチパス記録モードにおけるパス数に応じて周期的な値が出力される。例えば、１パス記録の場合は、処理する画像データラインと対応したタイミングで０から２５５の値が周期的に発生する。また、２パス記録の場合は、０から１２７の値が周期的に処理する画像データラインと対応して発生する。同様に、４パス記録の場合は、０から６３の値が周期的に発生する。
【００５９】
一方、テーブル変換部１９には入力多値画像データ（Ｉｎ）の各値と差分補正値（ｆ（Ｉｎ））とが関係づけられた各ノズルに対応した２５６個のテーブルが格納されており、テーブル変換部１９はノズル位置情報発生部２４からノズル位置情報がロードされると、２５６個のテーブルの内、そのノズルに対応したテーブルを選択して用いるように設定する。
【００６０】
そして、テーブル変換部１９に多値画像データ（Ｉｎ）が入力されると、その値と記録ヘッドのノズル位置に対応した差分補正値（ｆ（Ｉｎ））を減算部５に出力する。減算部１８は減算部３から出力された差分（ｄＯｕｔ１）から差分補正値（ｆ（Ｉｎ））を減算し、その結果得られた補正差分（ｄＯｕｔ２＝ｄＯｕｔ１−ｆ（Ｉｎ））を誤差蓄積バッファ４に出力する。
【００６１】
図８は記録ヘッドのノズル位置に従ってテーブル変換部１９で選択的に用いられるテーブルの差分補正値の変化の例を表現した図である。図８において、横軸は入力多値画像データ（Ｉｎ）の値、縦軸は差分補正値（ｆ（Ｉｎ））である。なお、実際には２５６個のテーブル夫々に対応して差分補正値の変化曲線が存在するのであるが、ここでは、その内の代表的な例のみを図示している。例えば、現在処理されるノズル位置情報が“４”の場合は、テーブル処理部１９はノズル位置情報が“４”に対応したテーブルから得られる補正情報によって入力画像データに対して補正を行う。
【００６２】
さて、その補正差分（ｄＯｕｔ２）は誤差が拡散される周辺画素夫々に対応した分配係数７が周辺画素それぞれに乗算され、その乗算結果が周辺画素に対応した誤差蓄積バッファ４に加算蓄積される。誤差蓄積バッファ４において次に処理を行う画素（＊）の値が割算部５に出力され、分配係数の総和（この例では、３２）で除算され正規化され、その結果が拡散誤差（ｄＩｎ）として加算部６に出力される。
【００６３】
次に、記録に用いるインク単位でパッチパターンを記録して、そのパターンを読みとり、その読み取った情報から記録ヘッドのノズル毎の補正値を生成してテーブルを生成しテーブル処理部１９に記憶させる手順について説明する。
【００６４】
ここでは、記録ヘッドを用いて各インク色単位でパッチパターンを記録し、そのパッチをインクジェットプリンタに設けられたセンサ、又は濃度測定装置、スキャナなどで読み取り、その読み取り結果から補正値を生成し、この補正値からテーブルを生成して、テーブル処理部１９に記憶させる。
【００６５】
図９は記録濃度補正情報生成処理を示すフローチャートである。
【００６６】
まず、ステップＳ１では、テーブル処理部１９の全ての補正値を“０（補正なしを意味する）”に設定する。次に、ステップＳ２では、一度得られた２値化誤差を補正せずにパッチパターンの画像を記録する。
【００６７】
図１０は“Ｌｅｖｅｌ０”に対応する補正パラメータによって選択されたテーブルを用いて補正されたパッチパターンの画像を示す図である。図１０に示されているように、縦方向には各インク色単位のパッチが順にシアンインク、淡シアンインク、マゼンタインク、淡マゼンタインク、イエロインク、ブラックインクと並び、横方向には同じインクで異なる濃度のパッチが記録されている。
【００６８】
横方向に第１列目のパッチは、インク吐出が安定する為に記録するパッチで濃度測定用には使用されない。ここでのパッチが示す濃度値は“２５５”である。続いて第２列目のパッチは、濃度値が“０”であり、インクが吐出されていない部分の濃度を測定するパッチ領域である。以下順に、左から右に各列のパッチの濃度値は、“３６”、“７２”、“１０８”、“１４４”、“１８０”、“２１６”、“２５５”である。
【００６９】
また、各パッチ矩形の上端は、記録ヘッドのノズル位置が“０”のノズルを用いて記録しており、各パッチの縦方向サイズはノズル数の２倍分の長さ、即ち、５１２ノズル分の記録に相当する長さである。従って、矩形パッチ各々は、記録ヘッドの２サイクル分の記録がなされているのである。図１０において“Ａ”は１サイクルの記録幅に相当する。また、各インクのパッチ間には１サイクル分（２５６ノズル分）の空白領域が設けられている。
【００７０】
これらのパッチを記録して所定時間が経過した後、ステップＳ３ではパッチ濃度を測定する。ここで所定時間後に濃度を測定するのは、記録用紙などの記録媒体上での濃度が記録直後では不安定であり、その濃度が記録後安定するまでの時間を待ち合わせるためである。
【００７１】
この実施形態では合計８×６＝４８種類のパッチを、例えば、画像読取装置（スキャナ）を用いて読み取る。なお、このようなスキャナを用いずとも、プリンタに内蔵された吐出濃度補正の為のＣＣＤセンサなどを用いて読み取りを行っても良い。
【００７２】
測定濃度データに基づいてステップＳ４では濃度補正情報を生成する。ここでは、シアンインクを代表として説明するが他のインクも同様に処理することができる。
【００７３】
図１１は読み取った画像データの各画素を示す図である。
【００７４】
図１１に示す例は、画像読取装置が記録ドット解像度の２倍の解像度で画像を読み取った様子を示している。即ち、記録ドット解像度が６００ＤＰＩであれば、画像の読取解像度は１２００ＤＰＩである。従って、図１１では実線が記録ドットを示し、点線が読み取られた画像の画素を示している。例えば、記録ドットにおけるＮ行Ｍ列の画素に相当する読み取られた画像の画素は、ａ１１（Ｎ，Ｍ）、ａ１２（Ｎ，Ｍ）、ａ２１（Ｎ，Ｍ）、ａ２２（Ｎ，Ｍ）  の４画素で表わされ、それぞれの値はスキャナからの読み取り値を濃度換算したものである。
【００７５】
さて、記録されたパッチに対して行単位での平均濃度を読み取られた画像データから算出する。行単位の平均濃度は、対象とする行の前後の行を含めたかたちで算出する。図１１において、Ｎ行目の平均濃度は平均する対象となる列を２５６列とすると以下のように求められる。
【００７６】
即ち、
2004230672.tif 000003
【００７７】
このようにして求めたＤ（Ｎ）を用いて濃度補正値を生成する。
【００７８】
図１２は濃度補正値の生成手順を説明するグラフである。
【００７９】
図１２において、曲線ｆ１（ｘ）  は、８つのパッチから測定されたＮ行目の８つの濃度値Ｄ（Ｎ）を直線で線形補間したものである。なお、この曲線では濃度値“０”（即ち、インク吐出がない）に対応するパッチの濃度を０．０Ｄに正規化している。また、曲線ｆ０（ｘ）  は目標濃度曲線を示している。図１１によれば、入力値（Ｘ１）における補正値は次のように求める。即ち、（Ｘ１）時での目標濃度｛ｆ０（Ｘ１）｝を実現できる補正前の入力値（Ｘ２）を求め、ここから（Ｘ１）での補正係数を（Ｘ１−Ｘ２）として求める。このような過程を“０”から“２５５”までの入力値に対して算出し、これを補正値と定義する。
【００８０】
このような処理を各インクについて行い、ステップＳ５では各インク色の補正値からテーブルを生成して、これをテーブル処理部１９に格納する。
【００８１】
以上説明した実施形態（図７の構成）を従来例（図１の構成）と比較すると、この実施形態の２値化処理部は従来の構成に加えて、記録に用いる記録ヘッドのノズル位置によって選択されるテーブルから出力される差分補正値を用いて一度得られた２値化誤差を補正する減算部とを備えている。
【００８２】
従って以上説明した実施形態に従えば、記録ヘッドのノズル毎のインクの吐出方向やインク吐出量のばらつきに応じた適切な補正を行ってより滑らかな階調表現を実現することができる。
【００８３】
＜第２実施形態＞
ここでは第１実施形態で説明した構成の２値化処理部に含まれる差分補正を行なう減算部の代わりに積算部を用いる構成について説明する。
【００８４】
図１３は本発明の第３実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。この構成では、第１実施形態に従う２値化処理部の減算部１８の代わりに積算部２５が用いられている。
【００８５】
以下の説明では、第１実施形態との違いを中心に説明する。
【００８６】
積算部２５には減算部３によって得られた差分（ｄＯｕｔ１＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）が入力される一方、テーブル処理部１９からは第１実施形態と同様に入力多値画像データ（Ｉｎ）の値に対応した差分補正値（ｆ（Ｉｎ））が入力される。そして、積算部２５はこれらの入力値を積算して補正差分（ｄＯｕｔ２＝ｄＯｕｔ１×  ｆ（Ｉｎ）））を出力する。この後、第１実施形態と同様の処理がなされる。
【００８７】
図１４は記録ヘッドのノズル位置情報に従って選択されるテーブル処理部１９で用いられるテーブルの差分補正値の変化の例を表現した図である。図１４において、横軸は入力多値画像データ（Ｉｎ）の値、縦軸は差分補正値（ｆ（Ｉｎ））である。
【００８８】
なお、この実施形態で用いる差分補正値は、第１の実施形態に従って得られた補正値（Ｘ１−Ｘ２）の代わりに補正値（Ｘ２／Ｘ１）として求め、これを積算部２５で用いるようにする。
【００８９】
従って以上説明した実施形態に従っても、第１実施形態と同様の効果を得ることができる。
【００９０】
＜第３実施形態＞
ここでは第１〜第２実施形態で説明した構成の２値化処理部に含まれる差分補正を減算部や積算部やテーブル処理部を用いて実現する代わりに、３次元（３Ｄ）テーブルを用いて実現する構成について説明する。
【００９１】
図１５は本発明の第３実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【００９２】
以下の説明では、第１〜第２実施形態との違いを中心に説明する。
【００９３】
第１〜２実施形態と同様に減算部３で得られた２値化誤差（ｄＯｕｔ）は、３Ｄテーブル３３に出力される。この実施形態では、第１〜第２実施形態において分配係数７として言及した誤差拡散マトリックスと同様に、４×３のサイズの誤差拡散マトリックスを用いるが、以下に説明するように実質的に用いる拡散係数の数は６つである。また、第１〜第２実施形態では、差分（ｄＯｕｔ）  を誤差拡散マトリックスによって分配し、その結果得られた分配誤差を該当する蓄積誤差バッファ部４に加算蓄積した後、割算部５で正規化していたが、ここでは、その正規化処理までを３Ｄテーブル３３で担当する。
【００９４】
図１６はこの実施形態に従う３Ｄテーブル３３の構成を示す図である。図１６において、３０は誤差拡散マトリックスである。そして、この実施形態では、誤差拡散マトリックス１５に収められている６つの分配係数ａ１〜ａ６の具体的な値は入力多値画像データの値と得られた差分（ｄＯｕｔ）の値によって定められるようになっており、図１６に示すように、入力多値画像データ値と差分（ｄＯｕｔ）の値との関係が３Ｄテーブル形式として、６つの分配係数ａ１〜ａ６に対応して設けられている。
【００９５】
なお、これら６つのテーブルの組が複数組、この実施形態では備えられており、予め作成され記憶されている、ノズル位置情報発生部２４から入力される処理対象の記録ヘッドのノズル位置情報がロードされ、その情報に基づいて適切なテーブルの組が選択される。
【００９６】
これらテーブル内の係数（ｇｍ（ｘ，ｙ，ｚ））（ｍ＝１，６）によって、本発明の目的である記録ヘッドのノズル位置による記録濃度の変化を補正して記録濃度特性を線形にする為に、差分（ｄＯｕｔ）値を入力多値画像データに応じて小さくしている。そのため、この実施形態では、入力多値画像データの値（ｘ＝Ｉｎ）と  差分値（ｙ＝ｄＯｕｔ）とによって定められる６つの拡散誤差の総和Σｇｍ（ｘ，ｙ，ｚ）（ｍ＝１，６）が差分値（ｙ）  よりも大きくならない場合が多い。
【００９７】
いずれにせよ、この実施形態では、入力多値画像データの値（ｘ）と差分値（ｙ）とノズル位置情報（ｚ）が３Ｄテーブル３３に入力されると、係数ａ１に対応する画素に対しては、ｇ１（ｘ，ｙ，ｚ）  が、係数ａ２に対応する画素に対してはｇ２（ｘ，ｙ，ｚ）  、順に、係数ａ３にはｇ３（ｘ，ｙ，ｚ）、係数ａ４にはｇ４（ｘ，ｙ，ｚ）、係数ａ５にはｇ５（ｘ，ｙ，ｚ）、係数ａ６にはｇ６（ｘ，ｙ，ｚ）が出力され、拡散誤差マトリックス１５の分配係数ａ１〜ａ６の画素位置に対応する誤差蓄積バッファ４にその結果が加算蓄積される。
【００９８】
最後に、誤差蓄積バッファ４から次に処理を行う画素（＊）の値が拡散誤差（ｄＩｎ）  として加算部６に出力される。
【００９９】
図１７はこの実施形態に従う３Ｄテーブル３３の別の構成を示す図である。図１７において、３０は誤差拡散マトリックスである。
【０１００】
図１７と図１６とを比較すると分かるように、図１７に示す３Ｄテーブルは入力多値画像データの値（ｘ）と差分値（ｙ）とノズル位置情報（ｚ）があり得る全ての値に対して拡散誤差を定めたものではなく代表値に対して拡散誤差を定めたものである。そして、このテーブルを用いる場合、隣接する代表値から内部的に補間処理を行って各値に対する拡散誤差を出力する。この様な構成により、テーブルに必要なメモリ容量が少なくて良く、さらにテーブルをアクセスするためのアドレス数も少なくなりメモリの節約や処理の高速化につながる利点がある。
【０１０１】
さて、図１７に示す例では、入力値（Ｉｎ）  の代表値は、入力多値画像データがとり得る値０〜２５５において、等間隔（１７）で１６点の代表値から構成され、差分値（ｄＯｕｔ）  は、その値がとり得る−１３６〜３９１において、等間隔（１７）で３２点の代表値から構成されている。また、ｚ方向はノズル位置情報である。なお、この例では、入力値、差分値共に実際にとり得る値を等間隔にサンプルした代表値で構成されているが、異なった間隔の値や等間隔でなく代表値をサンプルした構成によっても同じ効果が得られるのは言うまでもない。
【０１０２】
一例として、入力画像多値データの値（Ｉｎ）が“２０”で、差分値（ｄＯｕｔ）が“４０”である場合について説明する。
【０１０３】
この場合、これらの入力値の近傍の代表値は、入力多値画像データの値（Ｉｎ）に対しては“１７”と“３４”であり、入力差分値（ｄＯｕｔ）に対しては“３４”と“５１”である。従って、誤差拡散マトリックスの分配係数ａ１は、次のようにして、ｈ１（１７，３４，ｚ）、ｈ１（３４，３４，ｚ）  、ｈ１（１７，５１，ｚ）  、ｈ１（３４，５１，ｚ）  の４点からの補間演算によって求める。
【０１０４】
まず、ｈ１（２０，３４，ｚ）  とｈ１（２０，５１，ｚ）  を次の補間方法から求める。
【０１０５】
ｈ１（２０，３４，ｚ）  ＝（１４  ×  ｈ１（１７，３４，ｚ）  ＋  ３  ×  ｈ１（３４，３４，ｚ））／１７……（１）
ｈ１（２０，５１，ｚ）  ＝（１４  ×  ｈ１（１７，５１，ｚ）  ＋  ３  ×  ｈ１（３４，５１，ｚ））／１７……（２）
次に、式（１）と（２）によって得られたｈ１（２０，３４，ｚ）とｈ１（２０，５１，ｚ）からｈ１（２０，４０，ｚ）を式（３）によって求める。
【０１０６】
ｈ１（２０，４０，ｚ）  ＝（１１  ×  ｈ１（２０，３４，ｚ）  ＋  ６  ×  ｈ１（２０，５１，ｚ））／１７……（３）
このようにして、誤差拡散マトリックスの分配係数ａ１が得られる。
【０１０７】
同様にして、式（４）〜（６）を用いて、ａ２、ａ３、ａ４、ａ５、ａ６が得られる。
【０１０８】
即ち、ｈｎ（２０，４０，ｚ）（ｍ＝２，３，４，５，６）に関して、
ｈｍ（２０，３４，ｚ）  ＝（１４  ×  ｈｍ（１７，３４，ｚ）  ＋  ３  ×  ｈｍ（３４，３４，ｚ））／１７……（４）
ｈｍ（２０，５１，ｚ）  ＝（１４  ×  ｈｍ（１７，５１，ｚ）  ＋  ３  ×  ｈｍ（３４，５１，ｚ））／１７……（５）
を計算し、次に、ｈｍ（２０，３４，ｚ）とｈｍ（２０，５１，ｚ）から式（６）によってｈｍ（２０，４０，ｚ）を計算する。
【０１０９】
ｈｍ（２０，４０，ｚ）  ＝（１１  ×  ｈｍ（２０，３４，ｚ）  ＋  ６  ×  ｈｍ（２０，５１，ｚ））／１７……（６）
なお、以上説明した例では、３Ｄテーブルのサイズは削減されるが補間演算を必要とするので、その代わりに入力多値画像データ（Ｉｎ）のの量子化数を減らすことによって、３Ｄテーブルのメモリサイズを少なくしても良い。
【０１１０】
従って以上説明した実施形態に従えば、差分補正のための減算部や積算部が必要なく、差分補正は実質的にテーブル参照による変換処理だけとなるので、より簡単な構成で且つ高速に第１〜第２実施形態と同様の効果を得ることができる。
【０１１１】
＜第４実施形態＞
第１〜第３実施形態では記録ヘッドの全てのノズルに対する濃度補正情報をテーブルに記憶していたのに対し、この実施形態では、複数の濃度補正情報をノズル位置情報と対応させ、これら複数の濃度補正情報を切り替えて用いる例について説明する。なお、以下の説明では第１実施形態で説明した２値化処理部に対して適用する例を取り上げるが、ここで説明する方法では第２、第３実施形態にも同様に適用可能である。
【０１１２】
図１８は本発明の第４実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【０１１３】
以下の説明では、第１実施形態との違いを中心に説明する。
【０１１４】
第１実施形態で既に説明ように、減算部３は比較部２への入力値（Ｉｎ＋ｄＩｎ）から比較部２からの出力値（Ｏｕｔ）を減算して２値化誤差（ｄＯｕｔ１＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）を生成し、これを減算部１８に入力する一方、ノズル位置情報発生部２４では
２５６個のノズルを有した記録ヘッドにおいてどこのノズルを用いて記録するのかについてのノズル位置情報を発生する。なお、このノズル位置情報は、マルチパス記録モードにおけるパス数に応じて、例えば、１パス記録の場合は０〜２５５の値が、２パス記録の場合は０〜１２７の値が、４パス記録の場合は０〜６３の値が周期的に発生する。そして、ノズル位置情報発生部２４の出力は切替え部２７に入力される。
【０１１５】
切替え部２７には、複数の濃度補正情報を記憶しているテーブル処理部１９で使用する濃度補正情報を選択する選択情報が予め記憶されており、ノズル位置情報に基づいてその選択情報をテーブル処理部１９に出力して、処理に用いる補正情報を選択的に切り替える。
【０１１６】
図１９はテーブル処理部１９に格納された複数の濃度補正情報を表わす図である。図１９において、横軸に入力データ（Ｉｎ）であり、縦軸に差分補正値（ｆ（Ｉｎ））  である。
【０１１７】
図１９に示されているように、Ｌｅｖｅｌ１からＬｅｖｅｌ１０で表されている１０種類の濃度補正情報がテーブル処理部１９には格納されている。従って、図１９に示される１つ１つの差分補正値曲線が１つの濃度補正情報に対応している。
【０１１８】
図２０は切替え部２７に記憶されている、ノズル位置情報とテーブル処理部１９で選択される濃度補正情報との対応関係を説明する表である。
【０１１９】
図２０に示されているように、０〜２５５のノズル夫々にＬｅｖｅｌ１からＬｅｖｅｌ１０の内の１つのＬｅｖｅｌが対応付けられている。従って、ノズル位置情報によって図２０に示した表が参照されると、そのノズル位置に対応した選択補正値レベルが取り出され、その値がテーブル処理部１９に与えられる。例えば、現在処理されるノズル位置情報が“４”である場合は、図１９に示す表が参照されて、選択補正値レベルとして、Ｌｅｖｅｌ１０が取り出され、その値がテーブル処理部１９に与えられる。すると、テーブル処理部１９では１０種類の濃度補正情報の内、Ｌｅｖｅｌ１０で示された差分補正値曲線で表された濃度補正情報が選択される。
【０１２０】
従って、テーブル処理部１９入力データ（Ｉｎ）  が入力されると、その値に対応したＬｅｖｅｌ１０での差分補正値（ｆ（Ｉｎ））  が減算部１８に出力され、減算部１８からは補正差分（ｄＯｕｔ２＝ｄＯｕｔ１−ｆ（Ｉｎ））  が算出される。
【０１２１】
以降の処理は第１実施形態と同様である。
【０１２２】
次に、この実施形態に従う、記録に用いるインク単位でパッチパターンを記録して、そのパターンを読みとり、その読み取った情報から記録ヘッドのノズル毎の補正値を生成してテーブルを生成しテーブル処理部１９に記憶させる手順について説明する。
【０１２３】
この実施形態では第１実施形態において図９に示すフローチャートを参照した記録濃度補正情報生成処理の内、ステップＳ４の処理は特有の処理なので、その点についてのみ説明する。ステップＳ４では、切替え部２７、及びテーブル処理部１９で使用する濃度補正情報を生成する。以下、シアンインクを代表として説明するが他のインクに対しても同様に濃度補正情報が生成される。
【０１２４】
まず、図１２を参照して説明したように、Ｎ行目の濃度としてＤ（Ｎ）を求める。入力値“１４４”で記録された矩形パッチのＤ（Ｎ）の濃度値から濃度レベルをＬｅｖｅｌ１からＬｅｖｅｌ１０に対応させて１０段階に分割する。そして各ノズル位置情報と１０段階の濃度レベル情報との対応関係を切替え部２７に記憶させる。
【０１２５】
次に、１０段階の濃度レベルの中で平均濃度を求め、以下の方法によりテーブル処理部１９で用いる濃度補正データを生成する。
【０１２６】
図２１は濃度補正情報の生成方法を説明した図である。
【０１２７】
図２１において、曲線ｆ１（ｘ）  は、８つのパッチから測定されたＮ行目の８つの濃度値Ｄ（Ｎ）を１０段階に分割したものの内、濃度レベル１（Ｌｅｖｅｌ１）の平均濃度を直線で線形補間したものである。なお、この曲線では濃度値“０”（即ち、インク吐出がない）に対応するパッチの濃度を０．０Ｄに正規化している。また、曲線ｆ０（ｘ）  は目標濃度曲線を示している。同様に、曲線ｆ２（ｘ）は、濃度レベル２（Ｌｅｖｅｌ２）を、一般に曲線ｆｎ（ｘ）  （但しｎは、１，２，３，４，５，６，７，８，９，１０）  は濃度レベルｎ（Ｌｅｖｅｌｎ）を表わす。
【０１２８】
図２１によれば、入力値（Ｘ１）における補正値は次のように求める。即ち、（Ｘ１）時での目標濃度｛ｆ０（Ｘ１）｝を実現できる補正前の入力値（Ｘ２）を求め、ここから（Ｘ１）での補正係数を（Ｘ１−Ｘ２）として求める。このような過程を“０”から“２５５”までの入力値に対して算出し、これを補正値と定義する。
【０１２９】
従って以上説明した実施形態に従えば、ノズル位置情報と記録濃度のレベル情報との対応関係を格納したテーブルを備え、そのテーブルを参照してノズル位置に対応する選択補正値レベルを取り出し、その選択補正値レベルを用いて、テーブル処理部に格納された複数の濃度補正情報から適切なものを選択するので、全てのノズルに対応した濃度補正情報は不要となるので、テーブルを格納するために必要なメモリ容量が減少する。これにより、安価に２値化処理回路を実装することができるほか、占有メモリが削減するので、アクセス時間などの長くならず高速処理を実現することができる。
【０１３０】
＜第５実施形態＞
ここでは、第４実施形態で説明した２値化処理部のテーブル処理部のメモリサイズ削減を、入力値（Ｉｎ）の量子化数を減らすことによって実現する例について説明する。
【０１３１】
図２２は、図７に示した２値化処理部の構成に量子化減少処理部２６を加えた構成を示すブロック図である。
【０１３２】
この構成に従えば、量子化減少処理部２６では、ビットシフト処理によって１画素８ビットの多値画像データを１画素６ビット（階調値０〜６３）のデータに変換し、これをテーブル処理部１９に出力する。
【０１３３】
この場合、８ビットデータのＬＳＢ側２ビットを落とすような処理をすれば、実質的には入力値（Ｉｎ）に対し等間隔（４）で代表値をサンプルする処理と同じになるが、例えば、量子化減少処理部２６に入力８ビット出力６ビットのルックアップテーブルを用いれば、入力値（Ｉｎ）に対し、非線形、かつ任意の量子化減少処理を実施することができる。
【０１３４】
図２３はルックアップテーブルによる変換処理の例を示す図である。
【０１３５】
従って以上説明した実施形態に従えば、入力値（Ｉｎ）の量子化数を減らすことによって、より簡単な構成で且つ高速に第４実施形態と同様の効果を得ることができる。また、大容量を必要とするテーブルのサイズを削減することにより、メモリ容量の削減も実現されるので装置コストの削減にも貢献する。
【０１３６】
なお、以上説明した実施形態では多値画像データの２値化による誤差拡散処理を例に説明したが本発明はこれによって限定されるものではない。例えば、ｎ値の多値画像データをｍ値の誤差拡散処理（３≦ｍ＜ｎ）を行ないドット網点展開方法を用いて記録を行う場合にも本発明は同様に適用可能である。
【０１３７】
図２４は、３値化処理方法を用いた３値化処理部の構成を示すブロック図である。図２２と図２４とを比較すると分かるように、図２４に示す構成では、閾値設定部１の代わりに３値化のために２つの閾値を設定する閾値設定部１′を設け、比較部２の代わりに入力値（Ｉｎ＋ｄＩｎ）とその２つの閾値とを比較する比較部２′を設けるようにしている。
【０１３８】
＜画像入出力システム＞
ここでは上述したいくつかの実施形態に従うｍ値化処理装置が応用される画像入出力システムについて説明する。ここで、２≦ｍ＜ｎであり、ｎは入力多値画像データの各色成分の画像データを表すビット数である。
【０１３９】
図２５は画像入出力システムの一般的な構成を示すブロック図である。
【０１４０】
カラースキャナ、デジタルカメラなどの入力装置１０００で読み取った或いは生成された多値カラー画像データは、通常パーソナルコンピュータ１０１０を経て、ＣＲＴ、ＰＤＰ、或いはＬＣＤなどのモニタ１０２０に出力されその画面にカラー画像が表示される。
【０１４１】
ユーザは、そのモニタ画面を見ながら、パーソナルコンピュータ１０１０に接続されたキーボード１０３０、スイッチ（ＳＷ）１０４０、ポインティングデバイス１０５０などを操作しながらレイアウト修正やＲＧＢ各色成分について色修正を行なう。
【０１４２】
このようにして、修正編集されたカラー画像データはパーソナルコンピュータ１０１０において、これから出力する出力装置（例えば、インクジェットプリンタ）１０６０で用いる記録媒体（例えば、記録用紙）の種類、記録モードに合わせて輝度濃度変換が実行され、ＲＧＢデータからＣｃＭｍＹＫ成分からなる多値濃度データに変換される。
【０１４３】
このＣｃＭｍＹＫ各色成分の多値濃度データは、前述したｍ値化処理部に入力されてｍ値化処理が行われ、ＣＭＹＫ各色成分ｍ値化データが生成され、これらが出力装置１０６０（例えば、インクジェットプリンタ）に転送されてカラー画像が記録される。
【０１４４】
なお、図２５ではｍ値化処理装置がパーソナルコンピュータ１０１０に組み込まれた例を示しているが、その代わりに出力装置１０６０の側に組み込まれていても良い。
【０１４５】
以上説明した実施形態では、誤差拡散処理が論理回路を用いて実行されるようなものとして説明したが、本発明はこれによって限定されるものではない。例えば、近年におけるマイクロプロセッサ（ＭＰＵ）の高性能化に伴って、誤差拡散処理をＲＯＭに格納されたプログラムをそのマイクロプロセッサが読みだして実行するようにして実現しても良い。
【０１４６】
この場合、そのマイクロプロセッサがパーソナルコンピュータ１０１０に内蔵されている構成でも良いし、デジタルカメラを直接接続してカラー画像を出力する出力装置（例えば、インクジェットプリンタ１０６０）の場合にはその出力装置にマイクロプロセッサが内蔵されるような構成でも良い。
【０１４７】
つまり本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４９】
【発明の効果】
以上説明したように本発明によれば、記録ヘッドの各インク吐出ノズルの吐出特性を考慮した濃度補正を行って視覚的に適した濃度特性を量子化誤差が少なく表現できるため、例えば、擬似輪郭のない優れた階調特性を実現できるという効果がある。
【０１５０】
さらに、安価で簡単な構成で高速な画像処理を行なうことができる。
【０１５１】
また本発明による構成では、画像処理全体での量子化数を増やさなくても優れた階調特性ができるため、本発明を実現する画像処理装置のメモリ容量を少なくしてその回路を実現でき、また本発明を実現する画像処理ソフトウェアを実行する際の占有メモリを少なくして、画像処理全体（カラー処理を含めた）の高速処理が可能になるという利点もある。
【図面の簡単な説明】
【図１】誤差拡散処理の原理を説明するブロック図である。
【図２】誤差拡散処理により得られた２値データを用いて２５６個のノズルをもつ記録ヘッドからインクを吐出して画像を記録した場合に周期的に発生する濃度むらを示す図である。
【図３】図２に示した記録状態をライン単位で測定した濃度分布（濃度むら）を表わすグラフである。
【図４】誤差拡散処理により多値の画像データを２値化し、その２値化データを記録ヘッドを用いて画像を記録した時の記録濃度特性を示す図である。
【図５】従来の画像処理の概要を示すブロック図である。
【図６】ヘッド補正部１３の機能詳細を説明したブロック図である。
【図７】本発明の第１実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図８】記録ヘッドのノズル位置に従ってテーブル変換部１９で選択的に用いられるテーブルの差分補正値の変化の例を表現した図である。
【図９】記録濃度補正情報生成処理を示すフローチャートである。
【図１０】“Ｌｅｖｅｌ０”に対応する補正パラメータによって選択されたテーブルを用いて補正されたパッチパターンの画像を示す図である。
【図１１】読み取った画像データの各画素を示す図である。
【図１２】濃度補正値の生成手順を説明するグラフである。
【図１３】本発明の第２実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図１４】記録ヘッドのノズル位置情報に従って選択されるテーブル処理部１９で用いられるテーブルの差分補正値の変化の例を表現した図である。
【図１５】本発明の第３実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図１６】第３実施形態に従う３Ｄテーブル３３の構成を示す図である。
【図１７】第３実施形態に従う３Ｄテーブル３３の別の構成を示す図である。
【図１８】本発明の第４実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図１９】テーブル処理部１９に格納された複数の濃度補正情報を表わす図である。
【図２０】切替え部２７に記憶されている、ノズル位置情報とテーブル処理部１９で選択される濃度補正情報との対応関係を説明する表である。
【図２１】濃度補正情報の生成方法を説明した図である。
【図２２】本発明の第５実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図２３】ルックアップテーブルによる変換処理の例を示す図である。
【図２４】３値化処理方法を用いた３値化処理部の構成を示すブロック図である。
【図２５】画像入出力システムの一般的な構成を示すブロック図である。
【符号の説明】
１  閾値設定部
２  比較部
３、１８  減算部
４  誤差蓄積バッファ
５  割算部
６  加算部
７  分配係数
１９  テーブル処理部
２４  ノズル位置情報発生部
２５  積算部
２６  量子化減少処理部
２７  切替え部
３３  ３Ｄテーブル
【図１】
2004230672.tif 000004
【図２】
2004230672.tif 000005
【図３】
2004230672.tif 000006
【図４】
2004230672.tif 000007
【図５】
2004230672.tif 000008
【図６】
2004230672.tif 000009
【図７】
2004230672.tif 000010
【図８】
2004230672.tif 000011
【図９】
2004230672.tif 000012
【図１０】
2004230672.tif 000013
【図１１】
2004230672.tif 000014
【図１２】
2004230672.tif 000015
【図１３】
2004230672.tif 000016
【図１４】
2004230672.tif 000017
【図１５】
2004230672.tif 000018
【図１６】
2004230672.tif 000019
【図１７】
2004230672.tif 000020
【図１８】
2004230672.tif 000021
【図１９】
2004230672.tif 000022
【図２０】
2004230672.tif 000023
【図２１】
2004230672.tif 000024
【図２２】
2004230672.tif 000025
【図２３】
2004230672.tif 000026
【図２４】
2004230672.tif 000027
【図２５】
2004230672.tif 000028