<1.第1実施形態>
まず、本発明の第1実施形態について図面を参照しながら説明する。
図1は、本実施形態のインクジェットプリンタ2とそれを駆動するためのパーソナルコンピュータ1を表している。パーソナルコンピュータ1内には、インクジェットプリンタ2を駆動するためのデバイスドライバ3がインストールされている。パーソナルコンピュータ1は、デバイスドライバ3をアプリケーションソフトウエア4によって駆動することにより、インクジェットプリンタ2を駆動する、つまり印刷を行う。
図2は、インクジェットプリンタ2のノズルヘッド200の構造を示す図である。本実施形態のインクジェットプリンタ2は、ラインヘッド型プリンタである。インクジェットプリンタ2のノズルヘッド200は、例えば図2に示されるように、ブラック(K)インクを専用に吐出するノズルNを複数個直線状に配列したブラックノズル群50と、イエロー(Y)インクを専用に吐出するノズルNを複数個直線状に配列したイエローノズル群52と、マゼンタ(M)インクを専用に吐出するノズルNを複数個直線状に配列したマゼンタノズル群54と、シアン(C)インクを専用に吐出するノズルNを複数個直線状に配列したシアンノズル群56とを有する。これらのノズル群は、印字走査方向に並べられ、一体的に構成されている。インクジェットプリンタ2は、デバイスドライバ3からの指令信号に従って、ヘッドユニットの各ノズルから液体インクを吐出出力しながら、紙送り機構(図示略)により印刷媒体をヘッドユニットに対して印字走査方向に移動する。これによりインクジェットプリンタ2は、画像データを1パスで印刷することができる。
図3は、パーソナルコンピュータ1のハードウェア構成を示すブロック図である。デバイスドライバ3は、ソフトウエアによって構成される。CPU(Central Processing Unit)60は、各種制御や演算処理を担う中央演算処理装置である。RAM(Random Access Memory)62は、主記憶装置である。ROM(Read Only Memory)64は、読み出し専用の記憶装置である。入出力インターフェース(I/F)66は、以上の構成要素と、以下で説明する構成要素との間でデータや指令信号の送受信を行うインターフェースである。内外バス68は、例えばPCIバスやISAバスなどにより構成され、以上で説明した各構成要素を接続する。外部記憶装置70は、HDD(Hard Disk Drive)等から構成される。出力装置72は、インクジェットプリンタ1やCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)モニタ等の装置である。入力装置74は、操作パネル、マウス、キーボード、スキャナ等から構成される。ネットワークLは、印刷指示装置(図示略)等の外部装置と通信するためのネットワークである。
パーソナルコンピュータ1の電源を投入すると、ROM64等に記憶されたBIOS(Basic Input/Output System)等のシステムプログラムが、ROM64に予め記憶された各種専用のコンピュータプログラム、或いはCD−ROMやDVD−ROM、フレキシブルディスク(FD)等の記憶媒体を介して、またはインターネット等の通信ネットワークを介して記憶装置70にインストールされた各種専用のコンピュータプログラムを同じくRAM62にロードする。RAM62にロードされたプログラムに記述された命令に従ってCPU60が各種リソースを駆使して所定の制御および演算処理を行うことにより、パーソナルコンピュータ1は、後述する各機能をソフトウエア上で実現する。なお、デバイスドライバ3は、インクジェットプリンタ2内に設けられているプリンタ制御部内に設けられていてもよいし、全く別個のコンピュータシステム内に設けられていてもよい。同様に、デバイスドライバ3を駆動するためのアプリケーションソフトウエア4も、インクジェットプリンタ2内に設けられているプリンタ制御部内で実行されてもよいし、全く別個のコンピュータシステム内で実行されてもよい。また、デバイスドライバ3、アプリケーションソフトウエア4と同等の機能をハードウエアによって構成してもよい。
まず、図1を参照してデバイスドライバ3の演算処理の手順について説明する。デバイスドライバ3を実行するCPU60は、まずステップS1においてアプリケーションソフトウエア4から入力された例えばRGB画像データに対し、解像度の変換を行う。例えばプリンタの印刷可能解像度が720dpiであり、アプリケーションソフトウエア4によって入力されるRGB画像データが360dpiである場合、CPU60は、その画像データの解像度をプリンタの印刷解像度に合わせて720dpiに変換する。
ステップS3において、CPU60は、CMYK画像データを構成する各画素の2値化(量子化、N値化)処理を行う。インクジェットプリンタ2のノズルは、あらかじめ決められた径(本実施形態においては、図7に示されるように3通りの径)のドットを出力することができる。2値化処理とは、例えば画像データを構成する任意の1画素(注目画素)の画素値を、多値の階調値から、ある径のドットを出力するか出力しないか、つまりノズルから液体インクを吐出するかしないかを示すデータに変換するものである。本実施形態においては、誤差拡散法による2値化処理が行われる。誤差拡散処理とは、多値のデータをあるしきい値を基準に2値化処理する際に、注目画素の階調値としきい値との差を、これから処理する複数の画素に拡散させるものである。例えば、8ビット(256階調)画像データにおいて、注目画素の階調が「101」、しきい値が「127」であった場合を考える。単純な2値化処理では、注目画素の階調はしきい値に満たないため、「0」すなわちドットを形成しない画素として処理される。このとき、階調としきい値との差「101」は、誤差として捨てられてしまう。これに対し、誤差拡散処理の場合は、階調としきい値との差「101」は、所定の誤差拡散マトリックスに従ってその周囲の未処理の画素に対して拡散される。周囲の画素においては、自らの階調と拡散された誤差との和が新たな画素値となる。例えば、注目画素の右隣の画素が単純な2値化処理ではしきい値に満たないことから「ドットを形成しない」として処理される場合でも、注目画素の誤差が加算されることによってその画素値がしきい値を超えて「ドットを形成する」画素として処理される。このように誤差拡散処理によれば、より多値画像データに近い2値化データを得ることが可能となる。2値化処理の結果、その注目画素の位置にドット(単位ドット)が形成されるか否かを示すデータが生成され、誤差は周囲の画素に拡散される。本実施形態において、ステップS3において行われる2値化処理の数(回数)は、インクジェットプリンタ2の印刷可能最大解像度の半分、つまり360dpiに相当する回数行われる。なお、誤差拡散法に代わりディザマトリックス法などの別の方法を用いて2値化処理を行ってもよい。
ここで、「ドット」とは、ノズルから吐出出力する液体インクの微粒子、あるいは、この液体インクの微粒子により用紙(記録材)上に形成された画像を意味する。また、「ドット径」とは、その微粒子の直径(または半径)を意味する。つまり、微粒子である印字ドットの直径(または半径)が大きくなると、複数のドットで構成される或る範囲の濃度は濃く(数値では大きく)なり、印字ドットの直径(または半径)が小さくなると濃度は薄く(数値では小さく)なる。2値化処理の詳細については、後段に詳述するが、画像データの階調値を濃度に変換し、その濃度に対応するドット径を設定することを意味する。
ここで、濃度とは、ある径のドットが印刷用紙に着弾して形成された画像(ドット)の単位面積あたりの印字領域の面積である。単位面積をL2とすると、最小ドット径Rminのドットの濃度は、πRmin 2/L2(π:円周率)となる。従って、濃度を2倍(2πRmin 2/L2)にするには、ドット径Rを、R=Rmin・√2とすればよい。
ステップS4において、CPU60は、インクジェットプリンタ2内のプリンタ制御部の記憶部5に記憶されているドット選択情報DSを読み出す。CPU60は、さらに、各ノズルから出力形成するインクドットのサイズをドット選択情報DSに基づいて選択(決定)する。ステップS4の処理の詳細については後述する。次に、ステップS5において、CPU60は、ステップS4で作成した基準ドットおよび拡張ドット情報をラスタライズによってインクジェットプリンタ2に適合する機械コードに変換する。CPU60は、生成した機械コードををインクジェットプリンタ2の制御部に出力する。
図4は、ステップS4におけるインクドット選択の演算処理を示すフローチャートである。この演算処理は、CMYKの各色について行われる。以下の説明において、符号x,yは、図1のデバイスドライバ3のステップS3において2値化された印刷用画像データの各画素の座標を示す。座標軸は、例えば図10に示されるように、左上を0(原点)として、右方向にx軸を、下方向にy軸が設定される。本実施形態において、画像データは、幅(印字走査方向と垂直な方向の大きさ)W、高さ(印字走査方向の大きさ)Hの大きさを有している。
まず、ステップS11において、CPU60は、記憶されているx座標およびy座標を共に0に初期化する。次に、ステップS12において、CPU60は、図1の演算処理のステップS3で求めた座標[x,y]の濃度(要求濃度値)P[x,y]に応じて次の処理を決定する。要求濃度値P[x,y]が0でない場合、つまり数値がある場合、CPU60は、処理をステップS13に移行する。要求濃度値P[x,y]が0である場合、CPU60は、処理をステップS14に移行する。
ステップS13において、CPU60は、後述する方法によって、要求濃度値P[x,y]と等しい印刷結果を得るため、出力されるインクドットの大きさ(図ではドットサイズ)を決定する。ドットサイズを決定した後、CPU60は、処理をステップS14に移行する。
ステップS14において、CPU60は、x座標を1増加してx座標を更新する。次にステップS15において、CPU60は、1ライン分処理が完了したか、すなわち、x座標が印刷幅Wより小さいか否かを判定する。x座標が印刷幅Wより小さい場合(ステップS15:YES)、CPU60は、ステップS12〜14の処理を繰り返し実行する。x座標が印刷幅W以上である場合(ステップS15:NO)、CPU60は、処理をステップS16に移行する。ステップS16において、CPU60は、処理を次のラインに移行するため座標パラメータを更新する。すなわち、CPU60は、x座標を0に初期化すると共に、y座標を1増加する。次にステップS17において、CPU60は、すべてのラインについて処理が完了したか、すなわち、y座標が印刷長さHより小さいか否かを判定する。y座標が印刷長さHより小さい場合(ステップS17:YES)、CPU60は、ステップS12〜16の処理を繰り返し実行する。y座標が印刷長さH以上の場合(ステップS17:NO)、すなわち画像データの全ての画素についてインクドットサイズの選択が終了した場合、CPU60は、演算処理を終了する。
次に、図4の演算処理のステップS13における要求濃度値P[x,y]に対して出力されるインクドットの大きさ(出力指令値)の決定方法について説明する。
図5は、濃度ムラ(ドットサイズのバラツキ)を説明する図である。図6は、ドットサイズのヒストグラムを示す図である。図5に示されるように、各ノズルから出力可能なドットサイズが1種類だけである場合でも、例えば製造誤差などにより、実際に出力されるドットサイズにはバラツキが生じる。図5の例では、左側2つのノズルにより形成されるドットは、理想とするドットサイズに対して面積比で10%程度大きく、右側2つのノズルにより形成されるドットは、理想とするドットサイズに対して面積比で10%程度小さい。図6は、実際に形成されるドットのドットサイズの分布を示す。図6において、理想とするドットサイズに対して面積比があらかじめ決められたしきい値(例えば、±10%)を超えるインクドットが濃度ムラの原因となる。
図7は、出力可能ドットサイズを説明する図である。本実施形態において、インクジェットプリンタ2の各ノズルは、L、M、Sの3種類のドットサイズのインクドットを出力可能である。ドットサイズMは理想とするドットサイズである。ドットサイズLはドットサイズMに対して面積比が+10%、ドットサイズSはドットサイズMに対して面積比が−10%である。ここで、図7に示されるヘッドは、図5の状態と同様に、5つのノズルのうち、左側2つから出力されるドットは面積比+10%、右側2つにより形成されるドットは面積比−10%というようにバラツキを有する。したがって、L、M、Sの3種類のドットサイズのインクドットを出力する場合にも、実際に形成されるドットサイズにバラツキが生じる。しかし、ドットサイズM(理想ドットサイズ)と同じ大きさのインクドットを形成しようとするなら、左側2つのノズルからはドットサイズSのインクドットを出力させる出力指令値を、中央のノズルからはドットサイズMのインクドットを出力させる出力指令値を、右側2つのノズルからはドットサイズLのインクドットを出力させる出力指令値を出力すれば、各ノズルにより実際に形成されるドットはすべてドットサイズMのドットとなる。
図8は、L、M、Sの各ドットのドットサイズのヒストグラムを示す図である。出力されるインクドットのドットサイズMが理想値に対して面積比で+10%より大きいノズルの場合にはドットサイズSのインクドットを出力すれば、面積比を理想値からおおよそ+10%未満に納めることができる。また、出力されるインクドットのドットサイズMが理想値に対して面積比で−10%より小さい場合にはドットサイズLのインクドットを出力すれば、面積比を理想値からおおよそ−10%未満に納めることができる。このようにノズルのバラツキに応じてインクドットの出力値を校正することにより、ノズルのバラツキを補償することができる。
図9は、ドット選択情報DSを例示する図である。本実施形態において、ドット選択情報DSは、ノズル番号(=注目画素座標:x)とドットサイズ(=インクドット出力指令値)との関係を対応づけて記録したテーブルである。本実施形態において、インクジェットプリンタ2は、図9に示されるドット選択情報DSのテーブルをプリンタ制御部内の記憶部5にあらかじめ記憶している。パーソナルコンピュータ1のCPU60は、インクジェットプリンタ2の記憶部5からドット選択情報DSを読み出し、RAM62あるいは記憶装置70に記憶する。CPU60は、読み出したドット選択情報DS(テーブル)に従ってドットサイズを選択する。
なお、ドット選択情報DSの作成は、例えば次のように行われる。パーソナルコンピュータ1は、記憶装置70にあらかじめ記憶していたテストパターンを印刷する。テストパターンは、すべてのノズルからドットサイズMのドットを形成させるパターンである。用紙上に印刷されたテストパターンにおける各ドットサイズの大きさは、顕微鏡での測定や、ドット解析ツールなどを用いて行われる。各ノズルにより形成されるドットサイズの分布は、図6に示されるとおりである。図6の横軸は「濃度比率」で表されているが、これは「ドットサイズ」あるいは「ドットの面積」と同義である。先に説明したように、ドットの面積があらかじめ決められたしきい値(例えば±10%)を超えるドットは濃度ムラの原因となる。したがって、出力されるドットの面積が理想的なドットサイズと比較して−10%を超えるノズルに対しては、大きいサイズのドットを出力させる情報「L」が対応付けられる。出力されるドットの面積が理想的なドットサイズと比較して+10%を超えるノズルに対しては、大きいサイズのドットを出力させる情報「S」が対応付けられる。このように、インクジェットプリンタ2の各ノズルについてドットサイズの測定が行われる。ドットサイズがしきい値を超えたノズルについては、ドットサイズのバラツキ(誤差)を補償する情報が対応付けられる。本実施形態において、ドット選択情報DSは、各ノズルにより形成されるドットのドットサイズと、理想的なドットサイズとの差に対応するサイズ情報である。
図10は、2値化処理後の画像データ(の一部)を例示する図である。図11は、図10のデータに対するドットサイズ選択後のデータを示す図である。図10の例では、ノズル番号0に対応するドットについて見てみると、2値化処理の結果、座標[0,1]、[0,3]にドットを形成することを示すデータが生成されている。図9の対応表(ドット選択情報DS)のノズル番号0の項から、CPU60は、座標[0,1]、[0,3]において出力するドットのドットサイズをSサイズと決定する。また、ノズル番号1に対応するドットについて見てみると、座標[1,0]にドットを形成することを示すデータが生成されている。図9の対応表のノズル番号1の項から、CPU60は、座標[1,0]において出力するドットのドットサイズをSサイズと決定する。また、ノズル番号2に対応するドットについて見てみると、座標[2,0]、[2,1]、[2,3]にドットを形成することを示すデータが生成されている。図9の対応表のノズル番号2の項から、CPU60は、座標[2,0]、[2,1]、[2,3]において出力するドットのドットサイズをMサイズと決定する。また、ノズル番号3に対応するドットについて見てみると、座標[3,2]にドットを形成することを示すデータが生成されている。図9の対応表のノズル番号3の項から、CPU60は、座標[3,2]において出力するドットのドットサイズをLサイズと決定する。また、ノズル番号4に対応するドットについて見てみると、座標[4,0]、[4,1]、[4,3]にドットを形成することを示すデータが生成されている。図9の対応表のノズル番号4の項から、CPU60は、座標[4,0]、[4,1]、[4,3]において出力するドットのドットサイズをLサイズと決定する。図11は、以上のようにして決定されたドットサイズを示している。CPU60は、図11に示されるドットを出力するデータ(出力指令値)を生成する。CPU60は、生成された出力指令値をRAM62に記憶する。
図12は、図11に示される出力指令値により形成された画像(ドット)を例示する図である。ドットサイズ選択によって決定された出力指令値に従って形成されたドットのドットサイズは、全てドットサイズMと同等となっている。すなわち、濃度ムラは低減されている。このように、本実施形態の印刷用画像処理装置は、N値化処理手段(Nは2以上の自然数)と、各々M階調(Mは2以上の自然数かつM≧Nを満たす)のインクを吐出可能な複数のノズルを有する印刷システムにおいて、各ノズルに出力する出力指令値は、注目画素の単位面積あたりの濃度が要求濃度に最も近くなるように選択される。したがって、各ノズル毎に利得制御回路を設けることなく、濃淡ムラを効果的に低減することが可能である。すなわち、構造・コスト的に有利であり、かつ制御負荷も小さい印刷用画像処理装置を提供することができる。
また、ノズルへのインクドット出力指令値と実際にノズルから出力されたインクドットの大きさとの測定結果に基づいて当該ノズルへのインクドット出力指令値を設定する構成としたため、実際にノズルから出力されるインクドットの大きさを要求されるインクドットの大きさに一致またはほぼ一致させることが可能となり、濃淡ムラを効果的に低減することができる。
また、実際にノズルから出力されたインクドットの大きさの測定結果に基づいて、要求されるインクドットの大きさに適合するインクドット出力指令値を予め記憶しておき、この記憶された要求されるインクドットの大きさとインクドット出力指令値との関係に基づいて、ノズルへのインクドット出力指令値を設定する構成としたため、インクドット出力指令値を設定するための演算負荷が低減され、コスト的にも有利である。
<2.第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態の印刷システムは、第1実施形態の図1〜図3に示されるものと基本的に同一である。また、図1のステップS4で行われるドット選択のための演算処理も、基本的に第1実施形態の図4のものとほぼ同様である。以下の説明において、第1実施形態と共通する要素については、共通する参照符号を用いて説明する。第2実施形態が第1実施形態と異なる点は、第1実施形態においては理想的なドットサイズは1種類であったが、第2実施形態においては理想的なドットサイズが3種類ある点である。すなわち、本実施形態では、2値化処理によって設定されるドットサイズが3種類ある(インクドットを形成しない場合を含めて階調数は4)。正確に言うと、本実施形態において図1のステップS3で行われる処理は「4値化処理」である。以下の説明では便宜上「2値化」と表記する。本実施形態においては、図4のステップS13で行われるドットサイズ選択処理が、第1実施形態で説明したものとは異なる。
図13は、本実施形態におけるドットサイズのバラツキを説明する図である。図14は、ドットサイズの分布と濃度の関係を示す図である。本実施形態においては、第1実施形態のドットサイズの説明とは異なり、図13に示すように、濃度表示で120%、80%、40%(、0%)に対応するドットサイズL、M、Sの3種類(ドットなしを含めて4種類)のドットサイズが2値化処理によって設定される。すなわち、理想的なドットサイズは3種類存在する。なお、本実施形態(図13)におけるドットサイズL、M、Sは、第1実施形態(図7)におけるドットサイズL、M、Sとは異なるサイズを示している。本実施形態においても、図13に示されるように、ヘッドを構成する5つのノズルのうち、左側2つのノズルにより形成されるドットは面積比+10%、右側2つのノズルは面積比−10%のバラツキが存在する。この場合、L、M、Sサイズのドットを出力した結果も、同様に面積比で+10%、または10%ずつバラつく。これをグラフにまとめたのが図14である。特定のノズルのインクドット出力指令値に対する実際のドットサイズのゲインは変わらないので、インクドット出力指令値を変更しても面積比は変わらず、同一直線上に存在する。
図15は、本実施形態における出力可能ドットサイズを示す図である。本実施形態において、インクジェットプリンタ2の各ノズルは、LL、LM、LS、ML、MM、MS、SL、SM、SSの9種類のサイズのドットを出力可能である。
図16は、出力可能ドットサイズと濃度の関係を示す図である。図16に示されるように、ドットサイズLMはLサイズドットの理想的なサイズに相当し、その濃度は120%である。ドットサイズLLは、ドットサイズLMと比較して面積比で+10%、ドットサイズLSは、ドットサイズLMと比較して面積比で−10%である。同様に、ドットサイズMMはMサイズドットの理想的なサイズに相当し、その濃度は80%である。ドットサイズMLは、ドットサイズMMと比較して面積比で+10%、ドットサイズMSは、ドットサイズMMと比較して面積比で−10%である。また、ドットサイズSMはSサイズドットの理想的なサイズに相当し、その濃度は40%である。ドットサイズSLは、ドットサイズSMと比較して面積比で+10%、ドットサイズSSは、ドットサイズSMと比較して面積比で−10%の面積比である。
再び図15を参照して説明する。ドットサイズLMと同じドットサイズ(Lサイズドットの理想的なドットサイズ)の出力結果を得るためには、左側2つのノズルからはドットサイズLSのインクドットを出力し、中央のノズルからはドットサイズLMのインクドットを出力し、右側2つのノズルからはドットサイズLLのインクドットを出力すればよい。このようにすれば、各ノズルから出力されるドットのサイズはドットサイズLMに等しくなる。同様に、ドットサイズMMを同じドットサイズ(Mサイズドットの理想的なドットサイズ)の出力結果を得るためには、左側2つのノズルからはドットサイズMSのインクドットを出力し、中央のノズルからはドットサイズMMのインクドットを出力し、右側2つのノズルからはドットサイズMLのインクドットを出力すればよい。このようにすれば、各ノズルから出力されるドットのサイズはドットサイズMMに等しくなる。また、ドットサイズSMと同じドットサイズ(Sサイズドットの理想的なドットサイズ)の出力結果を得るためには、左側2つのノズルからはドットサイズSSのインクドットを出力し、中央のノズルからはドットサイズSMのインクドットを出力し、右側2つのノズルからはドットサイズSLのインクドットを出力すればよい。このようにすれば、各ノズルから出力されるドットのサイズはドットサイズSMに等しくなる。
図17は、本実施形態に係るドット選択情報DSを例示する図である。ドット選択情報DSは、ノズル番号(=注目画素座標:x)と、要求ドットサイズと、選択すべきドットサイズ(=インクドット出力指令値)とを対応づけて記録したテーブルである。インクジェットプリンタ2は、ドット選択情報DSを、プリンタ制御部内の記憶部5にあらかじめ記憶している。パーソナルコンピュータ1のCPU60は、インクジェットプリンタ2の記憶部5からドット選択情報DSを読み出し、RAM62あるいは記憶装置70に記憶する。CPU60は、読み出したドット選択情報DS(テーブル)に従ってドットサイズを選択する。
図18は、2値化処理後の画像データを例示する図である。図19は、図18のデータに対するドットサイズ選択後のデータを示す図である。2値化処理の結果、座標[0,1]にドットサイズLのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号0、要求ドットサイズLの項から、ドットサイズLSをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[0,3]にドットサイズMのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号0、要求ドットサイズMの項から、ドットサイズMSをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[1,0]にドットサイズSのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号1、要求ドットサイズSの項から、ドットサイズSSをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[2,0]にドットサイズLのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号2、要求ドットサイズLの項から、ドットサイズLMをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[2,1]にドットサイズMのインクドットを形成することを示すデータが生成されている。CPU60は、対応表のノズル番号2、要求ドットサイズMの項から、ドットサイズMMをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[2,3]にドットサイズSのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号2、要求ドットサイズSの項から、ドットサイズSMをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[3,2]にドットサイズSのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号3、要求ドットサイズSの項から、ドットサイズSLをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[4,0]、[4,1]にドットサイズMのインクドットを形成することを示すデータが生成されている。CPU60は、対応表のノズル番号4、要求ドットサイズMの項から、ドットサイズMLをインクドット出力指令値として選択する(図19)。また、図18の例において、座標[4,3]にドットサイズLのインクドットを形成することを示すデータが生成されている。CPU60は、図17の対応表のノズル番号4、要求ドットサイズLの項から、ドットサイズLLをインクドット出力指令値として選択する(図19)。
図20は、図19の出力指令値に従って形成されたドットを示す図である。本実施形態に係るドットサイズ選択処理によって生成された選択指令値に従って形成されたドットのサイズは、要求されるドットサイズと同等となる。すなわち、濃度ムラが低減されている。
<3.第3実施形態>
次に、本発明の第3実施形態について説明する。本実施形態の印刷システムは、第1実施形態の図1〜図3に示されるものと基本的に同一である。また、図1のステップS4で行われるドット選択のための演算処理も、基本的に第1実施形態の図4のものとほぼ同様である。以下の説明において、第1実施形態と共通する要素については、共通する参照符号を用いて説明する。本実施形態において、画像データは図1のステップS3の2値化処理により、Lサイズドット、Mサイズドット、Sサイズドット、ドット形成なし、の4階調のデータに変換される。すなわち、正確に言うと、本実施形態において図1のステップS3で行われる処理は4値化処理である。また、本実施形態において、インクジェットプリンタ2の各ノズルが出力可能なドットのドットサイズは7種類ある(インクドットを形成しない場合を含めて階調数は8)。そのため、図4のステップS13で行われるドットサイズ選択処理が、第1実施形態で説明したものとは異なる。
図21は、本実施形態において各ノズルが出力可能なドットのドットサイズと濃度の関係を示す図である。第1および第2実施形態では、各ノズルで形成されるインクドットのドットサイズのバラツキ、つまり濃度ムラに応じて、各ノズルで出力可能なドットサイズが決定された。本実施形態において、出力可能なインクドットのドットサイズは、標準状態(理想的なサイズ)で、濃度20%、40%、60%、80%、100%、120%、140%に相当するサイズである。これらの濃度に相当するドットサイズを、濃度の低い方(ドット径の小さい方)から順にSize1〜Size7と表記する。本実施形態においても、実際に各ノズルから出力されるインクドットのドットサイズが、面積比+10%〜−10%の範囲で分布を有する。
例えば図21に示されるドットサイズ=Size1〜Size3の範囲では、ドットサイズにバラツキがあっても、実質的な濃度差は小さい。ところが、Size4以上では、ドットサイズのバラツキに対する実質的な濃度差が大きい。ここで、実際に出力されるインクドットのドットサイズが標準状態(理想的なサイズ)に対して面積比で−10%小さいノズルにおいて、例えば要求ドットサイズがSize4である場合、Size4のインクドットとSize5のインクドットとを交互に、順番に、または乱数的に出力すれば、全体としてはほぼSize4と同等の濃度の印刷結果を得ることができる。同様に、このノズルにおいて、要求ドットサイズがSize6である場合、Size6のインクドットとSize7のインクドットとを交互に、順番に、または乱数的に出力すれば、全体としてはほぼSize4と同等の濃度の印刷結果を得ることができる。別の例として、実際に出力されるインクドットのドットサイズが標準状態(理想的なサイズ)に対して面積比で+10%大きいノズルにおいて、例えば要求ドットサイズがSize6である場合、Size5のインクドットとSize6のインクドットとを交互に、順番に、または乱数的に出力すれば、全体としてはほぼSize4と同等の濃度の印刷結果を得ることができる。
図22は、本実施形態に係るドット選択情報DSである対応表(の一部)を例示する図である。本実施形態において、ドット選択情報DSは、標準状態(理想的なサイズ)のドットを選択する情報(7通り)に加え、上述の2種類のサイズのドットを選択する情報が3通り、計10通りの選択パターンを記憶している。図22に示されるテーブルにおいて、I、J、Kはそれぞれドット選択のためのパラメータを示している。図22の対応表(テーブル)のうち、ドット選択情報I=0〜6は、インク出力パターン数K=1に対応する。インク出力パターンK=1に対応する情報は、標準状態(理想的なサイズ)のドットを選択する情報である。例えば、I=0の場合、要求ドットサイズはSize1であり、インクドット出力指令値としてSize1が選択される。例えば、I=1の場合、要求ドットサイズはSize2であり、インクドット出力指令値としてSize2が選択される。
インク出力パターン数K=2に対応する情報(ドット選択情報I=7〜9に対応する情報)は、上述の2種類のサイズのドットを選択する情報である。ドット選択情報I=7は、要求ドットサイズ=Size4に対応する。ドット選択情報I=7の情報は、そのノズルにより形成されるドットのサイズが標準状態(理想的なサイズ)と比較して−10%となるノズルのためのドット選択情報である。ドット選択情報I=7の場合、Size4のドットとSize5のドットの2つのサイズのドットが選択される。ドット選択情報I=8は、要求ドットサイズ=Size6に対応する。ドット選択情報I=8の情報は、そのノズルにより形成されるドットのサイズが標準状態(理想的なサイズ)と比較して+10%となるノズルのためのドット選択情報である。ドット選択情報I=8の場合、Size5のドットとSize6のドットの2つのサイズのドットが選択される。ドット選択情報I=9は、要求ドットサイズ=Size6に対応する。ドット選択情報I=9の情報は、そのノズルにより形成されるドットのサイズが標準状態(理想的なサイズ)と比較して−10%となるノズルのためのドット選択情報である。ドット選択情報I=9の場合、Size6のドットとSize7のドットの2つのサイズのドットが選択される。
図23は、ドット選択情報Iを決定するためのテーブルを例示する図である。図23において、ノズル番号(=注目画素座標:x)0,1は、このノズルにより形成されるインクドットのドットサイズが標準状態(理想的なサイズ)と比較して−10%となるノズルに、ノズル番号2は、このノズルにより形成されるインクドットのドットサイズが標準状態となるノズルに、ノズル番号3,4は、このノズルにより形成されるインクドットのドットサイズが標準状態に対して+10%となるノズルに対応する。本実施形態において、2値化処理により得られた要求ドットサイズが、L、M、Sの3種類であるので、ノズル番号、要求ドットサイズ、ドット選択情報Iの対応関係は図23に示されるテーブルのとおりとである。要求ドットサイズL、M、Sはそれぞれ、濃度表示で120%、80%、40%、すなわち、ドットサイズはSize2、Size4、Size6に対応する。
図24は、出力するドットサイズを決定するインク出力パターン番号Jを与えるテーブルを例示する図である。図22のテーブルにおいてK=2の場合、2種類のサイズのドットが出力指令値の候補になる。出力パターン番号Jは、2つの候補のうちどちらを選択するかを決定するためのパラメータである。図24に示されるテーブルは、K=2に対応するドットを選択するたびに更新される。例えば、ノズル番号=4、要求ドットサイズ=Lの場合、図23のテーブルから、I=8が得られる。このとき図22に示されるテーブルから、選択されるドットの候補は、Size5のドットとSize6のドットの2つ存在する。この2つのドットのうちいずれを選択するかは、出力パターン番号Jにより決定される。図24のテーブルから、ノズル番号=4、要求ドットサイズ=Lの場合、J=1が得られる。ドットが選択された後、ノズル番号=4、要求ドットサイズ=Lに対応するJの値は反転される。すなわち、1であった場合は0に、0であった場合は1に更新される。ここではJ=0となる。図22のテーブルから、I=8かつJ=0の場合、選択されるドットはSize5のドットである。図24のテーブルにおいて、ノズル番号=4、要求ドットサイズ=Lに対応するJの値はJ=0に更新される。このようにして、ノズル番号=4、要求ドットサイズ=Lに対応するドットに対して、図22の2つの候補ドットが交互に選択される。
なお、インクジェットプリンタ2は、図22〜図23に示されるテーブルをあらかじめ記憶している。パーソナルコンピュータ1は、図4に示される演算処理を実行する際、または実行する前に、これらのテーブルをインクジェットプリンタ2から読み出してRAM62あるいは記憶装置70に記憶する。
図25は、本実施形態に係るドットサイズ決定処理を示すフローチャートである。図25に示されるドットサイズ決定処理は、図4の演算処理のステップS13のサブルーチンに相当する。CPU60は、まず、ステップS21において、座標[x,y]に相当するノズルが要求濃度値P[x,y]を出力するためのドット選択情報Iを、図23の対応表を参照して決定する。次にステップS22において、CPU60は、ステップS21で入力されたドット選択情報Iに対応するインク出力パターン数Kを図22の対応表から得る。次にステップS23において、CPU60は、ステップS22で入力されたインク出力パターン数KがK=2を満たすか否かを判定する。K=2である場合(ステップS23:YES)、CPU60は、処理をステップS24に移行する。K=2でない場合(ステップS23:NO)、すなわちK=1である場合、CPU60は、処理をステップS28に移行する。
ステップS24において、CPU60は、図24に示されるテーブルから、座標[x,y]および要求濃度値P[x,y]に対応するインク出力パターン番号Jを読み出す。次にステップS25において、CPU60は、ステップS24で読み出したインク出力パターン番号Jを、排他的論理和を用いて反転する。CPU60はさらに、反転させた出力パターン番号Jを用い、図24の対応表の該当アドレスの値を更新する。ステップS26において、CPU60は、ステップS25において反転されたインク出力パターン番号がJ=1を満たすか判定する。J=1である場合(ステップS26:YES)、CPU60は、処理をステップS27に移行する。J=1でない場合(ステップS26:YES)、すなわちJ=0である場合、CPU60は、処理をステップS28に移行する。
ステップS27において、CPU60は、図22の対応表から、ステップS21で入力されたドット選択情報Iおよびインク出力パターン番号J=1に対応するドットサイズを、出力するドットサイズとして決定する。ステップS28において、CPU60は、図22の対応表から、ステップS21で入力されたドット選択情報Iおよびインク出力パターン番号J=0に対応するドットサイズを、出力するドットサイズとして決定する。ドットサイズを決定すると、CPU60は、図25に示される処理を終了する。すなわち、CPU60は、処理を図4のステップS14に移行する。
図26は、2値化(量子化)処理後の画像データを例示する図である。図27は、図26のデータに対して決定された出力指令値を示す図である。本実施形態では、画像データの左上の画素から開始して、注目画素を右方向に順次移行する。処理が1ラインが終了したら1つ下方のラインに処理を移行する。図26の例では、座標[1,0]にドットサイズSのインクドットを形成することを示すデータが生成されている。この場合、図23の対応表からドット選択情報I=1が得られる。また、図22の対応表からインク出力パターン数K=1が得られる。さらに、図24の対応表からインク出力パターン番号J=0(K≠2なので、Jは反転されず、J=0のまま)が得られる。したがって図22の対応表から、Size1がインクドット出力指令値として選択される(図27)。また、図26に示されるように、座標[2,0]にドットサイズLのインクドットを形成することを示すデータが生成されている。この場合、図23の対応表からドット選択情報I=5、図22の対応表からインク出力パターン数K=1、図24の対応表からインク出力パターン番号J=0が得られる。したがって図22の対応表からSize6がインクドット出力指令値として選択される(図27)。また、図26に示されるように、座標[4,0]にドットサイズMのインクドットを形成することを示すデータが生成されている。この場合、図23の対応表からドット選択情報I=3、図22の対応表からインク出力パターン数K=1、図24の対応表からインク出力パターン番号J=0が得られる。したがって、図22の対応表からSize4がインクドット出力指令値として選択される(図27)。この他、座標[2,1]、[4,1]、[0,3]にドットサイズMのインクドットを形成する場合、座標[3,2]、[2,3]にドットサイズSのインクドットを形成する場合も、前述と同様である。
図26に示されるように、座標[0,1]にドットサイズLのインクドットを形成することを示すデータが生成されている。この場合、図23の対応表からドット選択情報I=9、図22の対応表からインク出力パターン数K=2、図24の対応表からインク出力パターン番号J=0が得られる。ここで、図25のステップS25においてインク出力パターン番号Jが反転されてJ=1となる。したがって、図22の対応表からSize7がインクドット出力指令値として選択される(図27)。また、図26に示されるように、座標[0,2]にドットサイズLのインクドットを形成することを示すデータが生成されている。この場合、図23の対応表からドット選択情報I=9、図22の対応表からインク出力パターン数K=2、図24の対応表からインク出力パターン番号J=1(更新記憶された値)が得られる。ここで、図25の演算処理のステップS25においてインク出力パターン番号Jが反転されてJ=0となる。したがって、図22の対応表からSize6がインクドット出力指令値として選択される(図27)。また、図26に示されるように、座標[4,3]にドットサイズLのインクドットを形成することを示すデータが生成されている。この場合、図23の対応表からドット選択情報I=8、図22の対応表からインク出力パターン数K=2、図24の対応表からインク出力パターン番号J=1が得られる。ここで、図25の演算処理のステップS25においてインク出力パターン番号Jが反転されてJ=0となる。したがって、図22の対応表からSize5がインクドット出力指令値として選択される(図27)。
このように、本実施形態の印刷用画像処理装置によれば、第1および第2実施形態の作用・効果に加えて、異なるインクドット出力指令値に対して、実際にノズルから出力された複数のインクドットの大きさのうち、所定のインクドット出力指令値に近い大きさのインクドットが、異なるインクドット出力指令値に対応して複数ある場合に、それら複数のインクドット出力指令値を交互にまたは順番にまたは乱数的に選択して当該ノズルへのインクドット出力指令値に設定することとしたため、実際にノズルから出力されるインクドットの大きさと要求されるインクドットの大きさとが一致しない場合でも、両者をほぼ一致させることができ、濃淡ムラを効果的に低減することができる。
<4.第4実施形態>
次に、本発明の第4実施形態について説明する。本実施形態に係る印刷システムの構成は基本的に図1に示されるものと同一である。以下の説明において、第1実施形態と共通する要素については共通の参照符号を用いて説明する。
図28は、本実施形態におけるインクジェットプリンタ2の出力可能ドットを示す図である。インクジェットプリンタ2のノズルヘッド200の構造は、図2に示されるものと同一である。本実施形態においてインクジェットプリンタ2の各ノズルは、図28に示されるように3種類の大きさのインクドットを出力可能である。丸いインクドットが所定の領域(印刷画素領域)を完全に覆う状態を濃度100%としたとき、各ノズルが出力可能なドットのサイズは、濃度80%を中心として、濃度80%のドットから+20%のサイズのドット(濃度96%に相当)と、濃度80%のドットから−20%のサイズのドット(濃度64%に相当)を出力できるようにした。このように、インクドットの大きさは、単位領域におけるそのインク色の濃度に相当する。本実施形態において、2値化処理による階調数は、濃度80%のインクドットを出力するかしないかの2階調である(後述)。すなわち、ノズルで出力可能なインクドットの大きさの種類の数より階調数の方が少ない。
本実施形態において、デバイスドライバ3の動作は、第1実施形態において説明した図1のステップS1〜S5の処理、および図4のステップS11〜S17の処理と基本的に同一である。本実施形態においては、図4のステップS13におけるドットサイズ決定の処理が第1実施形態で説明したものと異なっている。
図29は、ドット形成位置のずれを説明する図である。図30は、ドットピッチの分布を示すヒストグラムである。ノズルヘッドに搭載されている各ノズルからある大きさのインクドットを出力する場合、夫々のノズルにより形成される画像(ドット)の出力(着弾ともいう)位置は、理想とする着弾位置に対してズレが生じる。例えば、図29において「L」と示されたインクドットは理想着弾位置に対して左方向にズレており、図29において「R」と示されたインクドットは理想着弾位置に対して右方向にズレている。この位置ズレの主要な原因の一つが前述した「飛行曲がり現象」である。隣り合うインクドットの間隔をドットピッチと定義したとき、理想とするドットピッチからの実際のドットピッチのずれ(比率)をヒストグラムにすると図30のようになる。このうち、理想とするドットピッチに対する実際のドットピッチの差の比率があらかじめ決められたしきい値(例えば±10%)を超える領域が「バンディング現象」の原因となる。
本実施形態において、例えば後述する図33の処理により各ノズルのインクドットサイズを決定するためのドット選択情報DSが作成される。これにより、「バンディング現象」を効果的に低減することができる。各ノズルは、印刷解像度の各画素に相当する。図33に示されるドット選択情報作成処理を説明する前に、いくつかの文言の定義付けを行う。まず、前述のようにインクドットの大きさは、そのインクの単位領域における濃度と直接対応する。人間の視覚上感じる濃度は、インクドットの大きさ並びにドットピッチが微小であることから、ある範囲のインクドットの集合状態で決まる。そこで、図31に示されるように、隣り合うインクドットの理想着弾位置により規定される単位領域の濃度をドット間濃度と定義する。
図32は、隣り合うインクドットの着弾位置のずれの類型を示す図である。隣り合うインクドットが共に理想着弾位置にある場合を「NN」とする。左側のインクドットだけが左側にズレている場合を「LN」、左側のインクドットだけが右側にズレている場合を「RN」とする。右側のインクドットだけが右側にズレている場合を「NR」、右側のインクドットだけが左側にズレている場合を「NL」とする。左側のインクドットが左側に、右側のインクドットが右側にズレている場合を「LR」、左側のインクドットが右側に、左側のインクドットが左側にズレている場合を「RL」とする。また、このような隣り合うインクドットの位置関係を「ドットパターン」という。また、各ノズル(各画素)のドットパターンは、ドット選択情報DSとしてインクジェットプリンタ2の記憶部5にあらかじめ記憶されている。
図33は、ドット選択情報DSの作成方法の概要を示すフローチャートである。まず、パーソナルコンピュータ1は、記憶装置70にあらかじめ記憶していたテストパターンを印刷する(ステップS100)。次に、印刷されたテストパターンに基づいて、各ノズルにより形成されたドットの位置ずれ量の計測が行われる(ステップS110)。位置ずれ量の計測は、顕微鏡での測定やドット解析ツール等を用いて行われる。各ノズルにより形成されるドットの位置ずれ量の分布は、図30に示されるとおりである。次に、パーソナルコンピュータ1のCPU60は、位置ずれ量の測定結果に基づいてドットパターンテーブルを作成する(ステップS120)。
図34は、ドットパターンテーブルを例示する図である。ドットパターンテーブルは、各ノズルを特定する識別子(ノズル番号)と、隣接する2つのドットのドットパターンとを対応付けるテーブルである。ドットパターンテーブルにおいて、出力されるドットの位置ずれ量がしきい値(理想的なドット形成位置と比較して±10%)を超えるノズルに対しては、左にずれている場合は「L」が、右にずれている場合は「R」が対応付けられる。図34の例では、ノズル番号0のノズルとノズル番号1のノズルのには、ドットパターン「LR」が対応付けられている。
再び図33を参照して説明する。CPU60は、図34に示されるドットパターンテーブル、後述するドット間濃度表および作成テーブルに基づいてドット選択情報DSを作成する(ステップS130)。
図35は、ステップS130におけるドット選択情報の作成処理の詳細を示すフローチャートである。図36は、ドット選択情報作成処理で用いるドット間濃度表を例示する図である。図37は、ドット選択情報作成処理で用いる作成テーブルを例示する図である。以下の説明において、ノズル番号Nのノズルにより出力されるドットのドットサイズを「SD[N]」と記す。また、ノズル番号Nおよびノズル番号N+1の2つのノズルにより出力されるドットのドットパターンを「PD[N]」と記す。また、濃度96%のインクドットのドットサイズをLサイズ、濃度80%のインクドットのドットサイズをMサイズ、濃度64%のインクドットのドットサイズをSサイズと定義する。なお、本実施形態における、L、M、Sサイズの定義は、第1実施形態および第2実施形態において定義されたL、M、Sサイズとは異なっている。図37において、網掛け部分は、推奨ドットサイズを示している。推奨ドットサイズとは、隣接する2つのドットのうち左側のドットのドットサイズが与えられたときに、ドット間濃度が要求濃度(80%)に最も近くなる右側ドットのドットサイズを意味する。なお、濃い網掛けの部分は、推奨ドットサイズではあるものの、ドット間濃度が要求濃度(80%)と大きく乖離してしまうドットサイズを示す。このようなドットサイズの組み合わせとなることは、何らかの方法により回避することが望ましい。
まず、CPU60は、処理対象となるノズルを示すノズル番号Nを、N=0として初期化する(ステップS200)。次に、CPU60は、処理対象のノズルが端部のノズルであるか、すなわち、N≠0であるか判断する(ステップS201)。N≠0の場合(ステップS201:YES)、CPU60は、処理をステップS202に移行する。N=0の場合(ステップS201:NO)、CPU60は、処理をステップS206に移行する。
ステップS202において、CPU60は、RAM62からSD[N−1]を読み出す。また、CPU60は、図34のドットパターンテーブルから、PD[N−1]を読み出す。次に、CPU60は、SD[N−1]、PD[N−1]と、図36のドット間濃度表とから、SD[N]を決定する(ステップS203)。SD[N]は、ドット間濃度と要求濃度との差が最小になるように決定される。SD[N]が決定されると、CPU60は、決定したSD[N]をRAM62に記憶する。SD[N]をRAM62に記憶すると、CPU60は、処理対象のノズル番号を、N=N+1として更新する(ステップS204)。次に、CPU60は、処理が1ライン分完了していないか、すなわち、N<Wであるか判断する(ステップS205)。N<Mの場合(ステップS205:YES)、すなわち、処理が完了していない場合、CPU60は、ステップS201〜S204の処理を繰り返し実行する。N≧Mの場合(ステップS205:NO)、すなわち、処理が完了した場合、CPU60は、ドット選択情報作成処理を終了する。
ステップS206において、CPU60は、図34のドットパターンテーブルから、PD[N]を読み出す。次に、CPU60は、PD[N]、および図36のドット間濃度表から、要求濃度に近いドット間濃度を実現するドットサイズの組み合わせの数Cを取得する(ステップS207)。次に、CPU60は、得られたCがC=1を満たすか判断する(ステップS208)。C=1の場合、すなわち、ドットサイズの組み合わせが1通りの場合(ステップS208:YES)、CPU60は、PD[N]と、図36のドット間濃度表とから、SD[N]を決定する(ステップS209)。SD[N]を決定した後、CPU60は、処理をステップS204に移行する。
ステップS208においてC=1でない場合、すなわち、ドットサイズの組み合わせが1通りでない場合(ステップS208:NO)、CPU60は、処理をステップS210に移行する。ステップS210において、CPU60は、CPU60は、図34のドットパターンテーブルから、PD[N+1]を読み出す。次に、CPU60は、PD[N+1]、および図36のドット間濃度表から、要求濃度に近いドット間濃度を実現するドットサイズの組み合わせの数Cを取得する(ステップS211)。次に、CPU60は、得られたCがC=1を満たすか判断する(ステップS212)。C=1の場合、すなわち、ドットサイズの組み合わせが1通りの場合(ステップS212:YES)、CPU60は、PD[N+1]と、図36のドット間濃度表とから、SD[N]を決定する(ステップS213)。SD[N]を決定した後、CPU60は、処理をステップS204に移行する。
ステップS213においてC=1でない場合、すなわち、ドットサイズの組み合わせが1通りでない場合(ステップS221:NO)、CPU60は、処理をステップS214に移行する。ステップS214において、CPU60は、SD[N]の値をあらかじめ決められた値、例えば、SD[N]=Mサイズに決定する。SD[N]を決定した後、CPU60は、処理をステップS204に移行する。なお、ステップS214において、ステップS210〜S213と同様の処理を繰り返し行ってもよい。
図38は、図33に示されるドットサイズ決定処理を具体的に説明するための図である。図38の例は、以下の前提条件に基づくものである。(1)N=0〜4のノズル(=印刷解像画素)に対し、要求濃度値は全て濃度80%である。(2)N=0のノズルのインクドットは左側に、N=1のノズルのインクドットは右側に、N=2のノズルのインクドットは左側に位置ズレしており、N=3,4のノズルのインクドットは理想着弾位置に着弾する。
図38の例において、まず、注目ノズルN=0とされる(図35:ステップS200)。N=0であるので、処理は図35のステップS206に移行する。また、図34のドットパターンテーブルから、PD[0]=LRが得られる(ステップS206)。PD[0]=LRであるので、図36のドット間濃度表から、ドット間濃度が要求濃度値(80%)に最も近いのは、ドットサイズの組み合わせが「M−L」と「L−M」の2通り、すなわち、C=2である。図35においてステップS208:NOとなり、処理はステップS210に移行する。
図34のドットパターンテーブルから、PD[1]=RLが得られる(図35:ステップS210)。N=0のノズルとN=1のノズルから出力されるドットのドットサイズの組み合わせが、「M−L」である場合、N=1のノズルとN=2のノズルから出力されるドットのドット間濃度が要求濃度値(80%)に最も近くなるのは、「L−S」の組み合わせで92.3%である。一方、N=0のノズルとN=1のノズルから出力されるドットのドットサイズの組み合わせが、「L−M」である場合、N=1のノズルとN=2のノズルから出力されるドットのドット間濃度が要求濃度値(80%)に最も近くなるのは、「M−S」の組み合わせで85.3%である。これらを総合して、N=1のノズルとN=2のノズルから出力されるドットのドット間濃度が要求濃度値(80%)に最も近いのは、「M−S」の組み合わせのみ、すなわち、C=1である。したがって、N=0のノズルとN=1のノズルから出力されるドットのドットサイズの組み合わせ「L−M」から、SD[N]=Lサイズと決定される(図35:ステップS213)。
次に、注目ノズルN=1とする(図35:ステップS204)。1ライン分の処理は完了していない(図35:ステップS205:YES)ので、処理が繰り返される。今回はN≠0であるので(図35:ステップS201:YES)、処理はステップS202に移行する。SD[0]=Lサイズである。また、図34のドットパターンテーブルから、PD[0]=LRが得られる(図35:ステップS202)。図36のドット間濃度表から、SD[0]=Lサイズ、PD[0]=LRのとき、ドット間濃度が要求濃度(80%)に最も近くなるのは、SD[1]=Mサイズである。したがって、SD[1]=Mサイズと決定される(図35:ステップS203)。
次に、注目ノズルN=2とする(図35:ステップS204)。1ライン分の処理は完了していない(図35:ステップS205:YES)ので、処理が繰り返される。今回はN≠0であるので(図35:ステップS201:YES)、処理はステップS202に移行する。SD[1]=Mサイズである。また、図34のドットパターンテーブルから、PD[1]=RLが得られる(図35:ステップS202)。図36のドット間濃度表から、SD[1]=Mサイズ、PD[1]=RLのとき、ドット間濃度が要求濃度(80%)に最も近くなるのは、SD[2]=Sサイズである。したがって、SD[2]=Sサイズと決定される(図35:ステップS203)。
次に、注目ノズルN=3とする(図35:ステップS204)。1ライン分の処理は完了していない(図35:ステップS205:YES)ので、処理が繰り返される。今回はN≠0であるので(図35:ステップS201:YES)、処理はステップS202に移行する。SD[2]=Sサイズである。また、図34のドットパターンテーブルから、PD[2]=LNが得られる(図35:ステップS202)。図36のドット間濃度表から、SD[2]=Sサイズ、PD[2]=LNのとき、ドット間濃度が要求濃度(80%)に最も近くなるのは、SD[3]=Lサイズである。したがって、SD[3]=Lサイズと決定される(図35:ステップS203)。
次に、注目ノズルN=4とする(図35:ステップS204)。1ライン分の処理は完了していない(図35:ステップS205:YES)ので、処理が繰り返される。今回はN≠0であるので(図35:ステップS201:YES)、処理はステップS202に移行する。SD[3]=Lサイズである。また、図34のドットパターンテーブルから、PD[3]=NNが得られる(図35:ステップS202)。図36のドット間濃度表から、SD[3]=Lサイズ、PD[3]=NNのとき、ドット間濃度が要求濃度(80%)に最も近くなるのは、SD[4]=Sサイズである。したがって、SD[4]=Sサイズと決定される(図35:ステップS203)。
以上の処理を全てのノズルについて順次繰り返すことにより、インクドットの位置ズレに起因する濃度の不均一をドットサイズで補償するためのドット選択情報DSを作成することができる。図4のステップS13に示されるドット選択処理において、図35に示される方法により作成されたドット選択情報DSを用いて、処理対象画素を出力するノズルに対応付けられたドットサイズの選択を行えば、インクドットの位置ズレに起因する濃度の不均一をドットサイズで補償した画像を得ることができる。すなわち「バンディング現象」を低減することが可能となる。
なお、ドット選択情報DSを記憶する代わりに、図4のステップS13において、図35に示されるドット選択情報を作成する処理と同等の処理を行うことにより
ドットサイズを決定することとしてもよい。
図39は、他の実施形態に係るノズル番号−ドットサイズのテーブルを例示する図である。図40は、2値化処理後の画像データを例示する図である。図40の例では、座標[0,1]、[0,3]にインクドットを形成することを示すデータが生成されている。この場合、図39の対応表のノズル番号0の項から、ドットサイズLがインクドット出力指令値として選択される(図41)。また、図40の例では、座標[1,0]にインクドットを形成することを示すデータが生成されている。この場合、図39の対応表のノズル番号1の項から、ドットサイズMがインクドット出力指令値として選択される(図41)。また、図40の例では、座標[2,0]、[2,1]、[2,3]にインクドットを形成することを示すデータが生成されている。この場合、図39の対応表のノズル番号2の項から、ドットサイズSがインクドット出力指令値として選択される(図41)。また、図40の例では、座標[3,2]にインクドットを形成することを示すデータが生成されている。この場合、図39の対応表のノズル番号3の項から、ドットサイズLがインクドット出力指令値として選択される(図41)。また、図40の例では、座標[4,0]、[4,1]、[4,3]にインクドットを形成することを示すデータが生成されている。この場合、図39の対応表のノズル番号4の項から、ドットサイズSがインクドット出力指令値として選択される(図41)。
図42は、本実施形態に係るドットサイズ選択処理によって実際に形成された画像(ドット)を示す図である。このように、各ノズルから出力されたインクドットの位置ズレを、ドットサイズを適切に選択することにより補償することがでる。すなわち、本実施形態に係る印刷システムによれば、「バンディング現象」を低減することができる。このように、本実施形態の印刷用画像処理装置によれば、複数の種類の大きさのインクドットを出力可能なノズルに対し、所定のノズルから実際に出力されるインクドットの大きさによって2値化処理手段で求めた濃度が達成されるように、近傍のノズルから出力されるインクドットと当該所定のノズルから出力されるインクドットとの位置関係に基づいて当該所定のノズルへのインクドット出力指令値を設定する構成としたため、所定のノズルから出力されるインクドットと周囲のノズルから出力されるインクドットとの位置関係の測定結果に基づいて当該所定のノズルへのインクドット出力指令値を設定することによって、ラインヘッド型のインクジェットプリンタでもバンディング現象を効果的に低減することが可能となる。
また、所定のノズルから出力されるインクドットと周囲のノズルから出力されるインクドットとの位置関係の測定結果に基づいて当該所定のノズルへのインクドット出力指令値を設定する構成としたため、周囲のノズルから出力されるインクドットとの距離が短い場合にはインクドットの大きさを小さくし、周囲のノズルから出力されるインクドットとの距離が長い場合にはインクドットの大きさを大きくするといったようにインクドット出力指令値を設定することにより、2値化処理手段で求めた濃度を達成しながらバンディング現象を効果的に低減することができる。
また、実際に所定のノズルから出力されるインクドットと周囲のノズルから出力されるインクドットとの位置関係の大きさの測定結果に基づいて、要求される濃度とインクドット間の位置関係に適合するインクドット出力指令値を予め記憶しておき、この記憶された要求される濃度とインクドット間の位置関係とインクドット出力指令値との関係に基づいて、ノズルへのインクドット出力指令値を設定するようにすれば、インクドット出力指令値を設定するための演算負荷が低減され、コスト的にも有利である。
<5.第5実施形態>
次に、本発明の第5実施形態について説明する。上述の第1〜第3実施形態においてはノズルから吐出されるドットのドット径のバラツキを補償する方法を、第4実施形態においては、ノズルから吐出されるドットの着弾位置のバラツキを補償する方法を説明した。本実施形態においては、ドット径および着弾位置の両方のバラツキを補償する方法について説明する。
本実施形態に係る印刷システムの構成は基本的に図1に示されるものと同一である。以下の説明において、第1実施形態と共通する要素については共通の参照符号を用いて説明する。本実施形態において、インクジェットプリンタ2の各ノズルが出力可能なドットサイズは、図28に示されるものと同一である。すなわち、各ノズルは、濃度96%、80%、64%に相当する3種類のドットを出力可能である。以下の説明において、これらのドットサイズを大きい方から順に、L、M、Sサイズという。なお、これは第1実施形態で説明したL、M、Sサイズとは異なるサイズを示している。本実施形態において、デバイスドライバ3の動作は、第1実施形態において説明した図1のステップS1〜S5の処理、および図4のステップS11〜S17の処理と基本的に同一である。本実施形態においては、図4のステップS13におけるドットサイズ決定の処理が第1実施形態で説明したものと異なっている。
図44は、ドットサイズおよび着弾位置のバラツキを説明する図である。図44(a)のラインは理想的なドットサイズのドットが、理想的な着弾位置に形成された状態(理想状態)を示している。図44(b)のラインは、各ノズルが有するバラツキを示している。ドットサイズのバラツキの観点から、ノズル番号0およびノズル番号1のノズルにより形成されるドットのドットサイズは理想的なドットサイズと比較して面積比で+20%である。ノズル番号2のノズルにより形成されるドットのドットサイズは理想的なドットサイズと等しい。ノズル番号3およびノズル番号4のノズルにより形成されるドットのドットサイズは理想的なドットサイズと比較して面積比で−20%である。また、ドットの位置ずれの観点から、ノズル番号0およびノズル番号2のノズルにより形成されるドットの位置は理想的位置から左にずれている。ノズル番号1のノズルにより形成されるドットの位置は、理想的位置から右にずれている。ノズル番号3およびノズル番号4のノズルにより形成されるドットの位置は、理想的位置に形成されている。
図45は、本実施形態に係るドット選択情報DSを例示する図である。ドット選択情報DSは、ノズルを特定する識別子であるノズル番号と、ドットサイズのバラツキを補償する情報であるドットサイズと、ドットの位置ずれを補償する情報であるドットパターンとを対応付けるテーブルである。図45に示されるドットパターンを示す符号の意味は、第4実施形態(図32)で説明したものと同一である。なお、ドット選択情報の生成方法は、第1実施形態および第4実施形態で説明した方法を組み合わせたものが用いられる。すなわち、あらかじめ決められたテストパターンに基づいて、各ノズルに対して、ドットサイズおよび形成位置のずれが測定される。こうして、ドットサイズおよび形成位置のずれを補償する情報が、各ノズルに対応付けられる。
各ノズル毎の濃度を測定すれば、ドットサイズとドット位置ずれの双方が濃度情報に反映される。したがって、この測定した濃度情報からドット選択情報を作成しても良い。このとき、濃度の測定には、スキャナや色測定器などを用いればよい。この場合のドット選択情報の作成方法も、ドットサイズのバラツキを保障するドット選択情報の作成方法(第4実施形態)とほぼ同等となる。
続いて、本実施形態におけるドットサイズ決定処理について説明する。本実施形態のドットサイズ決定処理は、概ね以下のように行われる。まず、CPU60は、図1のステップS3の2値化処理により得られた2値データに対し、第1実施形態において説明した、ドットサイズのバラツキを補償するドット選択処理を行い、仮の出力指令値を決定する。次に、CPU60は、仮の出力指令値に対し、第4実施形態において説明した、ドットの位置ずれを補償するドット選択処理を行い、真の出力指令値を決定する。
図46は、図44の例にドットサイズのバラツキを補償するドット選択処理を行った後の状態を示す模式図である。図46(b)に示されるように、ドットサイズのバラツキを補償するドット選択処理により、各ノズルにより形成されるドットのドットサイズはMサイズとほぼ同一のドットサイズとなる。図46(b)の状態は、第4実施形態の図38(a)の状態とほぼ同一である。したがって、仮の出力指令値に対して第4実施形態で説明した、ドットの位置ずれを補償するドット選択処理を行えば、図38(e)のような印刷結果が得られる。ドットサイズのバラツキを補償するドット選択処理およびドット位置のバラツキを補償するドット選択処理の詳細はそれぞれ第1実施形態および第4実施形態で説明したとおりであるので、ここでは詳細な説明は省略する。
なお、以上では、第1実施形態のドット選択処理と第4実施形態のドット選択処理を組み合わせる態様について説明したが、ドットサイズのバラツキを補償するドット選択処理として、第2実施形態あるいは第3実施形態のドット選択処理を採用してもよい。
<6.他の実施形態>
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。
パーソナルコンピュータ1がドット選択情報DSを取得する方法は、プリンタ制御部内の記憶部5から取得する方法に限定されない。パーソナルコンピュータ1は、例えば、予め保持しているデータベースやネットワークにプリンタの固有IDを入力してドット選択情報を取得してもよい。
また、インクジェットプリンタ2の各ノズルが出力可能ドットサイズは、前述のものに限定されない。例えば、ドットサイズのバラツキが小さい場合には出力可能なドットサイズの種類を減少すればよいし、ドットサイズのバラツキが大きい場合には出力可能なドットサイズの種類を増大する必要が生じる。これらは、ノズルの性能と印刷品質のバランスによるものであり、製品に応じて適宜設定すればよい。
また、所定のインクドット出力指令値に近い大きさのインクドットが、異なるインクドット出力指令値に対応して複数ある場合には、それら複数のインクドット出力指令値を必ずしも交互にまたは順番にまたは乱数的に選択する必要はない。例えば、適用可能なインクドット出力指令値が2つである場合、何れか一方のインクドット出力指令値を比率α(0≦α≦1)の頻度で使用し、何れか片方のインクドット出力指令値を比率(1−α)の頻度で使用する方法などが挙げられる。
また、第4実施形態において、前述したドットサイズ決定方法以外にも、より一層、要求濃度値に近づける最適化もある。例えばドットパターンがRL、LR、RLの順に並んでいるとき、前述の手法ではドットサイズはS、S、L、Sとなり、ドット間濃度は78.8%、67.4%、92.3%となる。しかし、例えば左から2番目のドットサイズをMとすると、ドット間濃度は85.3%、74.4%、92.3%と要求濃度値80%に近づく。また、この他にも、例えばドットパターンがRNでドットサイズL、Sが設定され(濃度89.7%)、その左隣のドットパターンLRでドットサイズS、Lが設定される(濃度67.3%)ような場合に、ドットパターンRN側のドットサイズをL、Mと見直し(濃度74.4%)、その左隣のドットパターンLRのドットサイズをM、Mと見直してもよい(濃度60%)。
また、2値化処理によって設定される階調数は、上述の実施形態の2階調に限定されるものではなく、如何様な階調数としてもよい。例えば図43は4階調を達成するためのインクドットのドットサイズであり、各階調の中心値は濃度120%に相当するドットサイズLM、濃度80%に相当するドットサイズMM、濃度40%に相当するドットサイズSMである。これにインクドットを出力しない、つまり濃度0%を加えて階調数が4になる。これに対し、例えば要求濃度値120%の場合のインクドット位置ズレ補正用にドットサイズLMより大きいドットサイズLLおよびそれより小さいドットサイズLSを出力可能とする。また、例えば要求濃度値80%の場合のインクドット位置ズレ補正用にドットサイズMMより大きいドットサイズMLおよびそれより小さいドットサイズMSを出力可能とする。また、例えば要求濃度値40%の場合のインクドット位置ズレ補正用にドットサイズSMより大きいドットサイズSLおよびそれより小さいドットサイズSSを出力可能とする。ドットサイズ決定の演算処理は、図33の演算処理を適用できる。また、図39のようなテーブルを用いる場合には、各階調の中心濃度値毎にテーブルを用意することで対応可能である。
また、上述の実施形態のドット選択情報の取得方法は、プリンタ制御部内の記憶部5から取得することに限定されない。例えば、予め保持しているデータベースやネットワークにプリンタの固有IDを入力して取得する方法などが挙げられる。
また、ノズルに設定する出力可能ドットサイズは、上述のものに限定されない。例えば、インクドットの位置ズレのバラツキが小さい場合には出力可能なドットサイズの種類を減少すればよいし、インクドットの位置ズレのバラツキが大きい場合には出力可能なドットサイズの種類を増大する必要が生じる。これらは、ノズルの性能と印刷品質のバランスによるものであり、製品に応じて適宜設定すればよい。
また、上述の実施形態では、ラインヘッド型プリンタを対象として本発明の印刷用画像処理装置を適用した例についてのみ詳述したが、本発明の印刷用画像処理装置は、例えばマルチパス型プリンタを始めとして、あらゆるタイプのインクジェットプリンタを対象として適用可能である。
また、上述の各実施形態においては、パーソナルコンピュータ1が図1のS1〜S5の処理を実行する態様について説明したが、これらの処理の一部または全部をインクジェットプリンタ2が実行する構成としてもよい。
1…パーソナルコンピュータ、2…インクジェットプリンタ、3…デバイスドライバ、4…アプリケーションソフトウエア、50…ブラックノズル群、52…イエローノズル群、54…マゼンタノズル群、56…シアンノズル群、60…CPU、62…RAM、64…ROM、66…I/F、68…内外バス、70…記憶装置、72…出力装置、74…入力装置、200…ノズルヘッド