以下、添付図面に従って本発明の好ましい実施の形態について詳説する。
[インクジェット記録装置の構成例]
図1はインクジェット記録装置の構成例を示す外観斜視図である。インクジェット記録装置10は、シリアル式インクジェットプリンタの一例であり、紫外線硬化型インクを用いて記録媒体12にカラー画像を記録するワイドフォーマットプリンタである。ただし、発明の適用に際して、インクジェット記録装置の形態は本例に限定されない。
インクジェット記録装置10は、装置本体20と、装置本体20を支持する支持脚22とを備えている。装置本体20には、記録ヘッド24と、プラテン26と、ガイド機構28と、キャリッジ30とが設けられている。
記録ヘッド24は、記録媒体12に向けてインクを吐出するドロップオンデマンド型のインクジェットヘッドである。「記録ヘッド」という用語は、印刷ヘッド、印字ヘッド、プリントヘッド、描画ヘッド、インク吐出ヘッド、液体吐出ヘッド、液滴吐出ヘッド、又は、液滴噴射ヘッドなどの用語と同義である。また、「インクジェット記録装置」という用語は、インクジェット印刷装置、インクジェット印刷機、インクジェットプリンタ、又は、インクジェット式画像形成装置などの用語と同義である。「記録」は、印刷、印字、プリント、描画、又は、画像形成の意味を包括する用語として用いる。
記録媒体12には、紙、不織布、塩化ビニル、合成化学繊維、ポリエチレン、ポリエステル、又はターポリンなど材質を問わず、様々な媒体を用いることができる。記録媒体12は、浸透性媒体であってもよいし、非浸透性媒体であってもよい。「記録媒体」という用語は、インクが付着される媒体の総称であり、印字媒体、被記録媒体、被画像形成媒体、受像媒体、被吐出媒体、プリントメディア、記録用紙、又は、印刷用紙など様々な用語で呼ばれるものが含まれる。なお、本明細書で「用紙」という用語は、「記録媒体」と同義の意味で用いる。
プラテン26は、記録媒体12を支持する部材である。ガイド機構28及びキャリッジ30は、記録ヘッド24を移動可能に支持するヘッド移動手段として機能する。ガイド機構28は、プラテン26の上方において、記録媒体12の搬送方向と交差する方向であって、かつプラテン26の媒体支持面と平行な方向であるヘッド走査方向に沿って延在して配置されている。プラテン26の上方とは、重力方向を「下方」として、プラテン26よりも上側の高い位置であることを意味する。記録媒体12の搬送方向を「用紙送り方向」と呼ぶ場合がある。また、用紙送り方向と直交する方向であって、かつ記録媒体12の記録面に平行な方向を「用紙幅方向」と呼ぶ場合がある。
キャリッジ30は、ガイド機構28に沿って用紙幅方向に往復移動可能に支持されている。キャリッジ30の往復移動方向と平行な方向が「主走査方向」に相当する。また、記録媒体12の搬送方向と平行な方向が「副走査方向」に相当する。つまり、用紙幅方向が主走査方向、用紙送り方向が副走査方向である。図1において、副走査方向をX方向と表記し、主走査方向をY方向と表記している。
キャリッジ30には、記録ヘッド24と、仮硬化光源32A,32Bと、本硬化光源34A,34Bとが搭載されている。記録ヘッド24と、仮硬化光源32A,32Bと、本硬化光源34A,34Bとは、ガイド機構28に沿ってキャリッジ30と共に一体的に移動する。キャリッジ30をガイド機構28に沿って主走査方向に往復移動させることにより、記録ヘッド24を記録媒体12に対して主走査方向に相対移動可能である。
仮硬化光源32A,32Bは、記録媒体12上に着弾したインクを仮硬化させるための紫外線を照射する。仮硬化とは、打滴直後のインク滴の移動や変形を阻止する程度に、インクを部分的に硬化させることをいう。仮硬化の工程は、「部分硬化」、「半硬化」、「ピニング(pinning)」或いは「セット(set)」などと呼ばれる場合がある。本明細書では「仮硬化」という用語を用いる。
一方、仮硬化後に、さらなる紫外線照射を行い、インクを十分に硬化させる工程は「本硬化」或いは「キュアリング(curing)」と呼ばれる。本明細書では、「本硬化」という用語を用いる。本硬化光源34A,34Bは、仮硬化後に追加露光を行い、最終的にインクを完全に硬化(すなわち、本硬化)させるための紫外線を照射する光源である。
装置本体20には、インクカートリッジ36を取り付けるための取り付け部38が設けられている。インクカートリッジ36は、紫外線硬化型インクを貯留する交換自在なインクタンクである。インクカートリッジ36は、インクジェット記録装置10で使用される各色のインクに対応して設けられている。本例のインクジェット記録装置10は、シアン(C)、マゼンタ(M)、イエロー(Y)、及び黒(K)の4色のインクを用いる構成である。色別の各インクカートリッジ36は、それぞれ独立に形成された不図示のインク供給経路によって記録ヘッド24に接続される。各色のインク残量が少なくなった場合にインクカートリッジ36の交換が行われる。
なお、図示を省略するが、装置本体20の正面に向かって右側には、記録ヘッド24のメンテナンス部が設けられている。メンテナンス部は、非印字時における記録ヘッド24の保湿やノズル吸引のためのキャップと、記録ヘッド24のインク吐出面であるノズル面を清掃するための払拭部材が設けられている。払拭部材には、ブレード及び/又はウエブを用いることができる。
[記録媒体搬送路の構成]
図2はインクジェット記録装置10の記録媒体搬送路を模式的に示す模式図である。図2に示すように、プラテン26は、その上面が記録媒体12の支持面となる。プラテン26の位置に対して、用紙送り方向の上流側にニップローラ40が配設されている。
本例の記録媒体12は、ロール状に巻かれた連続用紙(巻取紙ともいう。)の形態で供給される。供給側のロール42から送り出された記録媒体12は、ニップローラ40によって搬送される。記録ヘッド24の直下に到達した記録媒体12に対して、記録ヘッド24により画像が記録される。記録ヘッド24の位置よりも用紙送り方向の下流側には、画像記録後の記録媒体12を巻き取る巻取ロール44が設けられている。また、プラテン26と巻取ロール44との間の記録媒体12の搬送路にはガイド46が設けられている。
本実施形態のインクジェット記録装置10では、供給側のロール42から送り出された記録媒体12がプラテン26を経由して巻取ロール44に巻き取られるロール・ツー・ロール方式の用紙搬送手段が採用されている。ただし、発明の実施に際して、用紙搬送手段の構成はこの例に限らない。例えば、巻取ロール44を省略した形態や、記録媒体12を所望のサイズに切断するカッターを備える形態なども可能である。また、記録媒体12は、連続用紙に限らず、1枚ずつ分離されたカット紙(つまり、枚葉紙)の形態であってもよい。
プラテン26の裏面側、すなわち、プラテン26における記録媒体12を支持する媒体支持面と反対側には、画像記録中の記録媒体12の温度を調整する温調部50が設けられている。この温調部50による温度調整により、記録媒体12に着弾したインクの粘度や、表面張力等の物性値が所望の値になり、所望のドット径を得ることが可能となる。また、温調部50の用紙送り方向の上流側にプレ温調部52が設けられ、温調部50の用紙送り方向の下流側にアフター温調部54が設けられている。なお、プレ温調部52及び/又はアフター温調部54を省略する構成も可能である。
[記録ヘッドの構成例]
図3はキャリッジ30上に配置される記録ヘッド24と仮硬化光源32A,32Bと本硬化光源34A,34Bとの配置形態の例を示す平面透視図である。図4は図3中の記録ヘッド24の拡大図である。
図3及び図4に示すように、記録ヘッド24には、シアン(C)、マゼンタ(M)、イエロー(Y)、黒(K)の各色のインクごとに、それぞれ色のインクを吐出するためのノズル62(図4参照)が副走査方向に配列されてなるノズル列61C,61M,61Y,61Kが設けられている。
図3ではノズル列を点線により示し、ノズルの個別の図示は省略している。図3及び図4に示した記録ヘッド24では、図の左からイエローのノズル列61Y、マゼンタのノズル列61M、シアンのノズル列61C、黒のノズル列61Kの順で各ノズル列が配置されている例を示しているが、インク色の種類(色数)や色の組み合わせについては本実施形態に限定されない。
例えば、CMYKの4色に加えて、ライトシアンやライトマゼンタなどの淡インクを用いる構成、或いは、淡インクに代えて又はこれと組み合わせて、さらに他の特別色のインクを用いる構成も可能である。使用されるインク色の種類に対応して、該当するインクを吐出するノズル列を追加する形態とすることが可能である。また、色別のノズル列の配置順序については、特に限定はない。ただし、複数のインク種のうち、紫外線に対する硬化感度が相対的に低いインクのノズル列を仮硬化光源32A又は32Bに近い側に配置する構成が好ましい。
本実施形態では、色別のノズル列61C,61M,61Y,61Kごとにヘッドモジュールを構成し、これらを並べることによって記録ヘッド24を構成している。具体的には、イエローインクを吐出するノズル列61Yを有するヘッドモジュール24Yと、マゼンタインクを吐出するノズル列61Mを有するヘッドモジュール24Mと、シアンインクを吐出するノズル列61Cを有するヘッドモジュール24Cと、黒インクを吐出するノズル列61Kを有するヘッドモジュール24Kと、をキャリッジ30の往復移動方向(つまり主走査方向)に沿って並ぶように等間隔に配置している。
色別のヘッドモジュール24Y,24M,24C,24Kのモジュール群の全体を「記録ヘッド」と解釈してもよいし、各ヘッドモジュールをそれぞれ「記録ヘッド」と解釈することも可能である。また、色別のヘッドモジュール24Y,24M,24C,24Kを組み合わせる構成に代えて、一つの記録ヘッドの内部で色別にインク流路を分けて形成し、1ヘッドで複数色のインクを吐出するノズル列を備える構成も可能である。
図4に示したように、ノズル列61C,61M,61Y,61Kのそれぞれは、複数個のノズル62が副走査方向に一定の間隔で並んで配列されたものとなっている。図4では、色別のノズル列61C,61M,61Y,61Kにそれぞれ30個のノズル62が配列されている例が示されている。各ノズル62にはノズル番号0〜29が付与されている。
本例のノズル番号は、ノズル列における副走査方向の一端側から他端側に向かって順番に連続番号により各ノズル62に付与されている。本例では、ノズル番号を0番から開始しているが、ノズル番号の先頭番号は1番でもよい。先頭番号は0以上の任意の整数とすることができる。ノズル番号は、各ノズル62の位置を表す識別番号として用いることができる。
また、本例では30個のノズル62が副走査方向に沿って一列に並んだノズル列を示したが、ノズル列を構成するノズル数並びにノズルの配置形態はこの例に限らない。例えば、複数列のノズル列を組み合わせた二次元ノズル配列により、副走査方向に等間隔でノズルが並ぶノズル列を形成することが可能である。
記録ヘッド24のインク吐出方式としては、圧電素子の変形によってインクを飛ばすピエゾジェット方式が採用されている。吐出エネルギー発生素子として、圧電素子に代えて、静電アクチュエータを用いる構成も可能である。また、ヒータなどの発熱体(加熱素子)を用いてインクを加熱して気泡を発生させ、その圧力でインク滴を飛ばすサーマルジェット方式を採用することも可能である。ただし、紫外線硬化型インクは、一般に溶剤インクと比べて高粘度であるため、紫外線硬化型インクを使用する場合には、吐出力が比較的大きなピエゾジェット方式を採用することが好ましい。
記録ヘッド24は、主走査方向に移動しながら記録媒体12に対してインクを吐出して、記録媒体12の副走査方向に一定長さを有する領域に画像記録を行う。そして、この画像記録後に記録媒体12が副走査方向に一定量移動されると、記録ヘッド24は、次の領域に同様の画像記録を行い、以下、記録媒体12が副走査方向に一定量移動される毎に同様の画像記録を繰り返し行って記録媒体12の記録領域の全面にわたって画像記録を行うことができる。
このように、記録ヘッド24はシリアル方式の記録ヘッドである。本実施形態のインクジェット記録装置10(図1参照)は、複数回の主走査方向への記録ヘッド24の走査により、所定の記録解像度を実現するマルチパス方式を採用している。
[インクジェット記録装置の制御系の構成]
図5はインクジェット記録装置10の構成を示すブロック図である。図5に示すように、インクジェット記録装置10は制御装置102を備える。制御装置102として、例えば、中央演算処理装置(CPU;central processing unit)を備えたコンピュータを用いることができる。制御装置102は、情報記憶部124から読み出した各種プログラムを実行することにより、インクジェット記録装置10の全体を統括制御する。
制御装置102には、記録媒体搬送制御部104と、キャリッジ駆動制御部106と、光源制御部108と、画像処理部110と、吐出制御部112と、が含まれる。これらの各部は、ハードウエア又はソフトウエア、若しくはこれらの組み合わせによって実現することができる。「ソフトウエア」は、「プログラム」、又は「アプリケーション」と同義である。
記録媒体搬送制御部104は、記録媒体12の搬送を行う搬送駆動部114を制御する。搬送駆動部114は、ニップローラ40(図2参照)を駆動する駆動用モータ、及びその駆動回路が含まれる。プラテン26上に搬送された記録媒体12は、記録ヘッド24による主走査方向の走査(印刷パスの動き)に合わせて、スワス幅単位で副走査方向へ間欠送りされる。なお、スワス幅とは、キャリッジ30の往復移動によるスキャンの繰り返し周期によって決められる副走査方向の長さであり、ノズル列の副走査方向における長さであるノズル列長を、スキャンの繰り返し回数であるパス数で除算して求められる。スキャンの繰り返し回数であるパス数は、設定された記録解像度の描画を完成させるために必要な走査回数であり、作画モードによって定まる。作画モードの詳細は後述する。
キャリッジ駆動制御部106は、キャリッジ30を主走査方向に移動させる主走査駆動部116を制御する。主走査駆動部116は、キャリッジ30の移動機構に連結される駆動用モータ、及びその制御回路が含まれる。
前述の主走査駆動部116の駆動用モータ及び搬送駆動部114の駆動用モータには、エンコーダ130が取り付けられている。エンコーダ130は、各駆動モータの回転量及び回転速度に応じたパルス信号を制御装置102に入力する。これにより、制御装置102は、エンコーダ130から入力されるパルス信号に基づいて、キャリッジ30の位置及び記録媒体12の位置を把握することができる。
光源制御部108は、光源駆動回路118を介して仮硬化光源32A,32Bの発光を制御し、かつ光源駆動回路119を介して本硬化光源34A,34Bの発光を制御する。
画像処理部110は、画像入力インターフェース126を介して入力された画像データに画像処理を施して、印刷用のドットデータに変換する。図5では表記の簡略化のために、インターフェースという記載に代わる代替表記として、「IF」という簡易表記を用いている。IFは、「interface」の略語表記である。
画像処理部110は、ディザ法によるハーフトーン処理を実施するハーフトーン処理部として機能する。すなわち、画像処理部110は、入力された画像データである連続調画像に対して、ディザマスクを用いて画素値の量子化処理を行い、印刷用のドットデータに対応するハーフトーン画像を生成する。画像処理部110のハーフトーン処理に用いられるディザマスクは、本発明を適用して生成されるものである。ディザマスクの生成方法については後述する。
吐出制御部112は、画像処理部110において生成されたドットデータに基づいて、記録ヘッド24を駆動するヘッド駆動回路128を制御することにより、記録ヘッド24の各ノズル62からのインクの吐出を制御する。
情報記憶部124は、例えば不揮発性メモリが用いられており、制御装置102の制御に必要な各種プログラムや各種データを格納している。例えば、情報記憶部124は、プログラムとして、制御装置102の各部が実行する制御プログラム、及び走査パターンプログラムなどを格納している。走査パターンプログラムは、マルチパス方式の画像記録用のプログラムであり、副走査方向に間欠搬送される記録媒体12に対する記録ヘッド24の主走査方向の往復走査(印刷パスの動き)やパス数(スキャンの繰り返し回数)を規定する。主走査方向への記録ヘッド24の移動を伴う印刷パスの動きには、ドット形成時の記録ヘッド24の移動方向、インクを吐出させるノズルの選択、及び、吐出タイミングの少なくとも一つが含まれる。印刷パスの動きとパス数の組み合わせによって定まる走査のパターンを「走査パターン」と呼ぶ。
制御装置102には、入力装置122及び表示装置120が接続されている。入力装置122には、例えば、キーボード、マウス、タッチパネル、又は操作ボタンなど、各種の手段を採用することができ、これらの適宜の組み合わせであってもよい。入力装置122は、ユーザであるオペレータの手動による外部操作信号を制御装置102へ入力する。
表示装置120には、液晶ディスプレイなどが用いられる。オペレータは、入力装置122を使って各種情報の入力を行うことができる。また、オペレータは、入力内容その他の各種情報やシステムの状態等を表示装置120における表示を通じて確認することができる。
センサ132は、キャリッジ30に取り付けられている。制御装置102は、センサ132から入力されるセンサ信号に基づいて記録媒体12の幅を把握することができる。
[マルチパス方式の画像記録方法の説明]
図6はマルチパス方式の画像記録方法の一例を説明するための説明図である。ここでは、説明を簡単にするために、記録ヘッド24の構成を単純化し、記録ヘッド24のノズル列は一列のみとし、一列のノズル列61で記録する場合を例に説明する。ノズル列61は、図4で説明したノズル列61C,61M,61Y,61Kのいずれか一列を代表して表したものと理解することができる。
また、記録媒体を副走査方向へ間欠送りする構成について、図示の便宜上、図6では記録媒体を停止させ、記録ヘッド24を副走査方向に間欠移動させるように図示している。なお、図6では記録媒体の図示を省略し、記録ヘッド24の動きのみを示した。
図6に示すように、記録ヘッド24が主走査方向(図6における左右方向)に移動している時にノズル62からインクの吐出が行われる。主走査方向に沿った記録ヘッド24の往復移動と、副走査方向(図6の縦方向)への記録媒体の間欠送りとの組み合わせによって、記録媒体上に二次元の画像記録が行われる。「画像記録」という用語は、描画、作画、印刷、又は画像形成という用語に置き換えてもよい。
記録ヘッド24が主走査方向に移動しつつ、ノズル62からインクの吐出を行ってドットの記録を行う動作を「スキャン」又は「走査」という。スキャンには、主走査方向の往路パスで行うスキャンと、復路パスで行うスキャンとがありうる。往路及び復路の両方向のスキャンによって画像を記録してもよいし、往路又は復路のいずれか一方向のみのスキャンによって画像を記録してもよい。なお、往路及び復路の両方向のスキャンを行う場合、1往復のスキャンは、往路スキャンと復路スキャンの2回のスキャンが実施されると数える。
Nを自然数として、N回のスキャンで所望の記録解像度の画像を完成させる場合、(N+1)走査目の記録媒体と記録ヘッド24との相対的な位置関係(ここでは、副走査方向の位置関係)は、図6に示すような関係になる。つまり、N回書きで所望の記録解像度の画像記録を行うために、1回目、2回目、3回目、・・・と副走査方向に記録媒体を間欠送りし、ちょうど(N+1)回目にノズル列の長さ分に対応した位置に繋がるような位置関係とされる。N回書きの動作がシームレスに繋がるためには、1走査目の副走査方向位置から「ノズル列長+1ノズルピッチ」分だけ副走査方向に移動して(N+1)走査目が行われる。「ノズル列長さ」とは、ノズル62が副走査方向に並んで配列されたノズル列61の副走査方向の長さであり、ノズル列の両端に位置するノズルのノズル間距離に相当する。「ノズルピッチ」とはノズル列における副走査方向のノズル間隔である。
一例として、ノズル配列密度100npiでノズル62が並んだノズル列61を有する記録ヘッド24を用いて、主走査方向2パス、副走査方向4パス(主2×副4)の8パス(8回書き)で主走査600dpi×副走査400dpiの記録解像度を実現する場合を考える。npi(nozzle per inch)は、1インチ当りのノズル数を表す単位である。dpi(dot per inch)は、1インチ当りのドット数を表す単位である。1インチは約25.4ミリメートルである。
ここで、記録解像度から定まる打滴点の間隔を「打滴点間隔」と呼び、記録可能な打滴点の位置を表す格子を「打滴点格子」と呼ぶ。「打滴点」は、ドットの記録又は非記録を制御できる「画素」と同義である。「打滴点間隔」は「画素間隔」と同義であり、記録解像度における最小のドット間隔に相当する。「打滴点格子」は「画素格子」と同義である。「格子」は、行と列で表されるマトリクスのセルと同義である。
主走査600dpi×副走査400dpiの記録解像度の場合、主走査方向の打滴点間隔は、25.4(ミリメートル)/600≒42.3マイクロメートル、副走査方向の打滴点間隔は、25.4(ミリメートル)/400=63.5マイクロメートルである。これは、打滴点格子の1セル(1画素相当)の大きさ「42.3マイクロメートル×63.5マイクロメートル」を表している。記録媒体12の送り制御や記録ヘッド24からの打滴位置(すなわち、打滴タイミング)の制御については、この記録解像度から定まる打滴点間隔を単位として送り量や位置が制御される。なお、記録解像度から定まる打滴点間隔を「解像度ピッチ」或いは「画素ピッチ」と呼ぶ場合がある。また、ノズルピッチは長さの単位で表すことができるが、これに代えて、副走査方向の打滴点間隔(画素ピッチ)を単位として表すことができる。例えば、副走査400dpiの記録解像度に対して、ノズル配列密度が100npiである場合、ノズルピッチは、副走査方向の画素ピッチの4倍であることから、副走査方向の画素ピッチを単位として、ノズルピッチを「4」と表現することができる。
主走査方向2パスと副走査方向4パスによるN=8の場合、主走査方向の打滴点ラインを2回の走査で埋め、副走査方向の打滴点ラインを4回の走査で埋めるように、8回の走査(つまり8パス)で2×4個の打滴点格子の記録が行われる。「打滴点ライン」とは、走査線を意味し、ラスタのラインと同義である。
図7はこのような8回書きの描画動作による各走査の番号(1から8)と、その走査によって記録される打滴位置の関係を模式的に示した模式図である。図7において、1から8の数字が付された各セルは、ノズル62によって記録される打滴位置(画素位置)を表し、1〜8の数字は、その画素位置が第何回目の走査時に記録されるかという走査の番号を表している。例えば、「1」の数字が付されたセル(画素)は、1走査目で記録する打滴位置を表している。
図7から明らかなように、各打滴位置を記録する走査順番を表す1から8の数字の配置分布は、主2×副4の「2×4」の格子が繰り返しの基本単位となっている。この2×4の格子を「基本単位格子」あるいは「2×4格子」と呼ぶ。2×4格子の埋め方(打滴順序)は、図7に示した例に限らず、種々想定することができる。
作画モードに応じて、記録解像度と走査パターンが定まり、基本単位格子のセル数、セルの配列形態、並びに、各セルの走査の番号(走査順番)が決定される。
[作画モードの例]
既に説明したように、インクジェット記録装置10は、マルチパス方式の描画制御が適用され、印刷パス数の変更によって記録解像度を変更することが可能である。例えば、高生産モード、標準モード、及び高画質モードの3種類のモードが用意され、各モードでそれぞれ記録解像度が異なる。記録解像度は「印字解像度」と同義である。印刷目的や用途に応じて作画モードを選択することができる。「作画モード」という用語は、「印刷モード」に置き換えてもよい。
簡単な数値例で具体的に説明する。記録ヘッド24におけるノズル列61の副走査方向のノズル配列密度が100npiであるとする。
高生産モードの場合、主走査600dpi×副走査400dpiの記録解像度で記録が行われ、主走査方向は2パス(2回の走査)によって600dpiの記録解像度による記録が実現される。すなわち、一回目の走査(キャリッジ30の往路)では300dpiの解像度でドットが形成される。2回目の走査(復路)では一回目の走査(往路)で形成されたドットの中間を300dpiで補完するようにドットが形成され、主走査方向について600dpiの解像度が得られる。
一方、副走査方向については、ノズルピッチが100npiであり、一回の主走査(1パス)により副走査方向に100dpiの解像度でドットが形成される。したがって、4パス印字(4回の走査)により補完印字を行うことで400dpiの記録解像度が実現される。
標準モードでは、600dpi×800dpiの記録解像度で記録が実行され、主走査方向は2パス印字、副走査は8パス印字により600dpi×800dpiの解像度が得られる。
高画質モードでは、1200×1200dpiの解像度で印字が実行され、主走査方向は4パス、副走査方向が12パスにより1200dpi×1200dpiの記録解像度が得られる。
[ノズル吐出率について]
ここで、ノズル吐出率について説明する。ノズル吐出率とは、記録ヘッド24における複数のノズル62のそれぞれが記録を担当する画素としてノズルごとに割り当てられる記録担当画素のうち、それぞれのノズル62がインクを吐出してドットを記録する記録画素の割合を示す値である。
ノズル吐出率はノズルごとに定められる。ノズル吐出率は、ノズルごとに割り当てられた記録担当画素の数を分母とし、各ノズルがインクを吐出してドットを記録する記録画素の数を分子とする割り算の商で表され、0以上1以下の数値で表すことができる。また、ノズル吐出率は百分率で表すことも可能である。ノズル吐出率はデューティが増すと共に増加し、デューティ100%で最大値の「1.0」又は「100%」となる。
要するに、ノズル吐出率は、ノズル62ごとのインクを吐出する割合を示している。ノズル62ごとのインクを吐出する割合は、ノズル62ごとの記録画素の割合と同等である。ノズル吐出率は、ノズルを使用する割合と理解でき、ノズル使用率、或いはノズル稼働率と見做すことができる。
具体的には、最大濃度の均一階調画像であるベタパターンの記録を行う際のノズル62ごとの使用率を基準値である「1.0」又は「100%」とした場合の、ノズル62ごとの使用率を表したものである。ノズル62ごとの使用率は、ノズル62ごとのインク吐出量と置き換えてもよいし、ノズル62ごとの記録画素の画素数と置き換えてもよい。
これに対し、各ノズルの相対的な使用比率をノズル相対吐出率と呼ぶ。ノズル相対吐出率は、ノズル吐出率の制御目標であり、かつ各ノズルのノズル吐出率の相対的な比率を表す。
ノズル相対吐出率は、各ノズルのノズル吐出率のノズル間における相対的な比率に意味があり、ノズル相対吐出率の数値自体の絶対値や最大値は、特に物理量としての意味はない。各ノズルのノズル相対吐出率の絶対値は、全ノズルのノズル相対吐出率の総和を1に規格化してもよいし、最大値を1に規格化してもよいし、或いは、ノズルごとの記録担当画素数に対する記録画素の比率としてもよい。本実施形態では、便宜上、最大吐出(最大の使用率)のノズル吐出率を「1.0」として、この最大値に対する比率によってノズル相対吐出率を表すことにする。
ディザマスクの生成に際しては、制御目標としてのノズル相対吐出率を定め、デューティの増加と共に、ノズル相対吐出率(各ノズルのノズル吐出率の相対的な比率)を概ね保ったまま、ノズル吐出率を増していくように、各画素の閾値が設定される。
図8はノズルごとに定められるノズル相対吐出率のデータの一例を示す図である。図8において、横軸はノズル番号、縦軸は各ノズル番号に対応付けられたノズル相対吐出率を示している。図8は吐出最大のノズルのノズル相対吐出率を「1.0」として、それに対する各ノズルのノズル相対吐出率を示している。
また、図8に示す例では、特許文献1と同様にバンディングの抑制を図るため、ノズル列の端部に配置されているノズルのノズル相対吐出率が、ノズル列の中央部に配置されているノズルのノズル相対吐出率よりも小さく設定される。例えば、図8中の実線で示すように、ノズル列の両端に位置するノズル番号0と、ノズル番号29の各両端のノズルから、それぞれノズル列の中央部に位置するノズル番号14とノズル番号15のノズルに向かって、ノズル相対吐出率を次第に大きく設定する。
或いは、図8中の一点鎖線で示すように、ノズル列の両端部に位置するノズル群(例えば、ノズル番号0から5のノズル群とノズル番号24から29のノズル群)のノズル相対吐出率を相対的に小さく設定し、両端部の間に位置するノズルのノズル相対吐出率を「1.0」に設定してもよく、ノズル相対吐出率の設定に関しては、図8に示した例に限らず、種々の設定形態を想定することができる。
ノズルごとのノズル相対吐出率は、予めプログラムされている構成の他、ユーザが任意に設定することができる。例えば、ユーザが、適宜のユーザーインターフェースを利用して、ノズルごとのノズル相対吐出率を入力したり、或いは予め用意されている複数種類のノズル相対吐出率データの候補パターンの中から所望のパターンを選択したりすることができる。
[課題の説明]
ここで、本発明が解決しようとする課題について具体的に主走査方向のパス数が1パスの場合と、2パスの場合を例に説明する。
<主走査方向のパス数が1パスの場合>
説明を簡単にするために、ノズル数が9個の記録ヘッドを用いる例を説明する。図9はノズル数が9個の記録ヘッドの模式図である。図9に示すように、記録ヘッド24Aは9個のノズル62が副走査方向に等間隔で一列に並んだノズル列61Aを有する。ノズル列61Aの一方の端である図9の上端のノズル62から、他方の端である図9の下端に向かって、各ノズル62に対して順番に、それぞれ固有のノズル番号0、1、2…8が付与されている。ノズル列61Aのノズル配列密度は、様々な設計が可能であるが、例えば、副走査方向に300npiであるとする。
図10はノズル相対吐出率の設定例を示すグラフである。横軸はノズル番号、縦軸はノズル相対吐出率を示している。ここでは、ノズル相対吐出率の最大値を1.0としている。図9に示した記録ヘッド24Aのノズル列61Aにおける各ノズル62のノズル相対吐出率を図10のように設定することができる。
図11はノズルパターンの一例を示す図である。図11では、18行×18列のマスクサイズの例が示されており、各画素に対して、それぞれ対応するノズル番号が書き込まれている。各画素に対応するノズル番号とは、各画素の記録を担当するノズルのノズル番号を意味する。
mとnがそれぞれ自然数であるとし、生成目標であるディザマスクがm行×n列のマトリクスである場合には、m行×n列の二次元の画素配列からなる画像領域の各画素に対して、それぞれ対応するノズル番号が決定される。ディザマスクの各画素について、対応するノズル番号を定めたノズル番号のパターンを「ノズルパターン」と呼ぶ。
図11に示したノズルパターンは、記録解像度600dpi×600dpiとし、ノズル配列密度が300npi、ノズル数が9個、紙送り量が9/600dpi、及び主走査方向のパス数が1である場合の18×18画素のディザマスクに対応するノズルパターンの例である。つまり、図11に示したノズルパターンは、副走査方向のノズルピッチが2画素であり、かつ、ノズル数が9であるノズル列61A(図9参照)を、副走査方向に9画素ずつ相対移動させる間欠送りを行い、かつ、主走査方向の一ラインの走査線を単一の(同じ一つの)ノズルで走査する場合の走査パターンにおける、18×18画素のディザマスクの各画素に対応するノズル番号を示している。例えば、図11においてノズル番号0が記入された画素は、ノズル番号0のノズルが記録を担当する画素であり、ノズル番号0のノズルの記録担当画素を示している。すなわち、ノズルパターンは、ノズル番号ごとの記録担当画素を示している。
ノズルピッチが2画素とは、印刷時の記録解像度から定まる1画素のサイズを単位として、ノズルピッチが副走査方向の2画素分の距離に相当することを意味する。例えば、図9で説明した記録ヘッド24Aのノズル配列密度300npiは、ドットの記録密度(解像度)でいうと300dpiに相当する。つまり、本例において、印刷時に想定している記録解像度が主走査方向600dpi、かつ副走査方向600dpiであり、300npiのノズル列61Aのノズルピッチは、600dpiの画素のサイズを単位として、2画素分に相当している。
ここで、ノズル列61Aを構成している各ノズル62の位置とディザマスクの各画素の位置の関係を分かり易く図示するために、ノズル列の記載に関して、図12に示すような、記載方法を導入する。図12では、ノズル列61Aが画素単位のセルに区分けされており、セル内にノズル番号を示す数字0〜8が記載してある。ノズル番号が付されたセルの位置がノズルの位置を表している。つまり、図12に示すノズル列61Aの記載は、図9に示した記録ヘッド24Aの記載に代わるものである。
図13は、主走査方向の印刷パスを1回実施するごとに、副走査方向に9画素ずつ相対移動させる間欠送りの様子を示している。図13では、図示の便宜上、図6と同様に、停止した記録媒体に対して、記録ヘッド24Aを副走査方向に移動させたものとして描いている。
図13に示す作画方法では、主走査方向の打滴点ラインである主走査ラインは1パスで600dpiの記録が完成し、副走査方向の打滴点ラインである副走査ラインは2パスで600dpiの記録が完成する。副走査方向の用紙送り量は9画素となっている。このような走査が繰り返される作画方法のノズルパターンが図11に示されている。なお、図11において18×18画素のノズルパターンの左側には、ノズル番号0から8の9ノズルのノズル列61Aによる作画方法(走査パターン)を模式的に示した。
図14は、図10のノズル相対吐出率と図11のノズルパターンから求めた吐出率パターンを示す図である。吐出率パターンは、ディザマスクの各画素と、各画素に対応するノズル番号のノズル相対吐出率との関係を示すパターンである。図14に示した吐出率パターンにおいて数字が付された各セルは、ディザマスクの各画素を表し、セル内の数字は、該当する画素の記録を担うノズル番号のノズル相対吐出率を表している。
図15は、図14に示した吐出率パターンと同デューティとなる均一な吐出率パターンを示す。既述のとおり、図14に示した吐出率パターンは、図10のノズル相対吐出率を反映しており、図14に示した吐出率パターンのデューティは概ね56%である。したがって、デューティが56%となる均一な吐出率パターンは図15に示すように、各画素のノズル相対吐出率が0.56となる。
デューティとは、記録媒体に記録される画像の各画素の中でドットオンとなる画素の割合をいう。デューティは、印字デューティ、記録デューティ、インクデューティ、印字率、又は記録率などの用語で呼ばれる場合がある。
図14と図15の比較から以下のことが言える。すなわち、デューティが56%となるようにドットを形成する場合、均一なノズル吐出率となるディザマスクでは各ラスタを記録する各ノズルのノズル相対吐出率は均等に0.56である(図15参照)。一方で、図10のノズル相対吐出率にしたがう場合、図14に示すとおり、9行目のラスタ及び18行目のラスタを記録するノズル番号4の4番ノズルはノズル相対吐出率が「1」、9行目のラスタを挟む8行目のラスタを記録する8番ノズルと10行目のラスタを記録する0番ノズルのノズル相対吐出率は「0.2」となる。また、18行目のラスタを挟む17行目のラスタを記録する8番ノズルと図示せぬ19行目のラスタを記録する0番ノズルのノズル相対吐出率は「0.2」となる。
したがって、スジが視認されやすい中間調であるデューティ56%付近において、4番ノズルがノズル相対吐出率1.0で記録する9行目のラスタ及び18行目のラスタの付近でスジが出やすいこととなる。なお、ドットが疎らな低デューティの領域及びドットが密に詰まっている高デューティの領域ではスジが出難い。
<主走査方向のパス数が2パスの場合>
次に、主走査方向のパス数が2パスである場合の例を説明する。説明の便宜上、ノズル数が10個の記録ヘッドを用いる例を説明する。
図16はノズル相対吐出率の設定例を示すグラフである。横軸はノズル番号、縦軸はノズル相対吐出率を示している。
図17はノズルパターンの一例を示す図である。図17は記録解像度600dpi×600dpiとして、ノズル配列密度が300npi、ノズル数が10個、紙送り量が5/600dpiの20×20画素のディザマスクに対応するノズルパターンの例を示している。
図17のノズルパターンの左側には、走査パターンを模式的に示した。記載ルールは図11と同様である。図17に示すように、主走査方向のパス数が2である場合、20×20画素のディザマスクに対応するノズルパターンは、奇数列と偶数列とで使用されるノズルが異なる。以下、説明の便宜上、奇数列(図17の左から1列目、3列目、5列目・・・19列目)の記録に用いるノズルを「左ノズル」、偶数列(図17の左から2列目、4列目、6列目・・・20列目)の記録に用いるノズルを「右ノズル」とよぶ。
図18は図16に示したノズル相対吐出率と、図17に示したノズルパターンから求めた吐出率パターンを示す。
図19は、図18の吐出率パターンと同デューティとなる均一な吐出率パターンを示す。
図18と図19の比較から以下が言える。デューティが60%となる様にドットを形成する場合、均一なノズル吐出率のディザマスクでは各ラスタの各主走査位置を各ノズルが記録するノズル相対吐出率は均等に0.6である(図19参照)。各ラスタの各主走査位置とは、主走査方向のラスタを何パスで完成させるかという繰り返し単位における主走査方向パスの主走査方向位置を意味する。つまり、各ラスタの各主走査位置とは、主走査方向のパスグループを指す。
主走査方向のパス数が2である場合、1回目のパスで記録される位置を「主走査位置1」と表記し、2回目のパスで記録される位置を「主走査位置2」と表記する。本例における20×20画素のディザマスクの場合、奇数列が主走査位置1、偶数列が主走査位置2である。主走査位置1は左ノズルによって記録され、主走査位置2は右ノズルによって記録される。
一方、図16のノズル相対吐出率に従う場合、図18に示したように、1行目のラスタ、14行目のラスタ、16行目のラスタ及び19行目のラスタのそれぞれの主走査位置1、並びに4行目のラスタ、6行目のラスタ、9行目のラスタ及び11行目のラスタのそれぞれの主走査位置2を記録するノズル番号4とノズル番号5のノズル相対吐出率が1.0である。そして、1行目のラスタ、14行目のラスタ、16行目のラスタ及び19行目のラスタのそれぞれの主走査位置2、並びに4行目のラスタ、6行目のラスタ、9行目のラスタ及び11行目のラスタのそれぞれの主走査位置1を記録するノズル番号0とノズル番号9はノズル相対吐出率が0.2となる。
したがって、スジが視認されやすい中間調であるデューティ60%付近においてノズル番号4とノズル番号5のそれぞれのノズルが記録する各ラスタでノズル番号4及び/又はノズル番号5のノズルの吐出位置(打滴位置)や吐出液滴量に誤差があるとスジが出やすいこととなる。
各ノズルのノズル吐出率が均一なディザマスクでは、主走査方向に複数のパスで記録するマルチパスによって、各ノズルの吐出位置や吐出液滴量に誤差があっても、かかる誤差を分散してスジを目立たなくする事ができるが、各ノズルのノズル吐出率を偏らせたディザマスクの場合は、マルチパスを採用しても、各ノズルのノズル吐出率を偏らせていることによって上記の誤差が分散されず、スジが出易くなってしまう。
このような課題を解決するため、本発明の実施形態では、各ノズルのノズル吐出率を偏らせたディザマスクを生成する際に、各ラスタにおける各ノズルのノズル吐出率に上限を設けることでスジ耐性を付与する。以下、具体例によって説明する。
[第1実施形態に係るディザマスク生成方法の説明]
図20は第1実施形態に係るディザマスク生成方法の手順を示すフローチャートである。第1実施形態のディザマスク生成方法は、ディザマスクの初期ドット配置を設定する工程(ステップS1)と、初期ドット配置から降順で閾値を設定する工程(ステップS2)と、初期ドット配置から昇順で閾値を設定する工程(ステップS3)と、を含む。
ここでは、ディザマスク生成方法を簡易にするため、初期ドット配置は、極めて低デューティのドット配置とし、かつ、ノズル相対吐出率を反映させないものとする。初期ドット配置に対応する「極めて低デューティ」の初期デューティは、例えば、0%よりも大きく、かつ1%以下の値とすることができ、より好ましくは、0.1%以上0.5%以下の値とする。この程度の低デューティであれば、ノズル相対吐出率の設定の影響が殆んど無視できる。初期ドット配置のデューティ(初期デューティ)については、上記に例示の数値に限らず、ノズル相対吐出率の設定の影響が無視できる程度に小さい値であればよい。
ステップS1の初期ドット配置設定工程は、ディザマスクのマスクサイズと同等の画素配列の領域であるマスク領域に、予め定められた初期デューティに対応するドット数のドットを配置する。
ステップS2に示した降順の閾値設定工程は、公知の閾値設定方法を用い、ノズル相対吐出率を反映させずに、各階調の閾値を設定する処理を行う工程である。「降順」とは、閾値が大きい値のものから閾値を設定し、順次、小さい値の閾値を設定していく手順である。ステップS2における「降順」は、初期ドット配置に対応する階調の閾値から、順次、小さい値の閾値を設定していく処理を意味する。
つまり、ステップS2では、初期ドット配置から、次第にドットを取り除きながら、降順で、順次に小さな閾値を閾値未設定画素に設定していく処理を行う。降順における「閾値未設定画素とは、ドット有りの画素である。「ドット有り」とは「ドットオン」と同義である。
ステップS3に示した昇順の閾値設定工程は、ノズル相対吐出率を反映させて、昇順で閾値未設定画素に閾値を設定する処理を行う工程である。「昇順」とは、閾値が小さい値のものから閾値を設定し、順次、大きい値の閾値を設定していく手順である。ステップS3における「昇順」は、初期ドット配置に対応する階調の閾値から、順次、大きい値の閾値を設定していく処理を意味する。
なお、降順による閾値設定工程(ステップS2)と昇順による閾値設定工程(ステップS3)の順番は前後入れ替え可能である。
図21は昇順の閾値設定工程(図9のステップS3)に適用される昇順の閾値設定処理の例を示すフローチャートである。
図21に示す第1実施形態による昇順の閾値設定処理では、まず、ドット許容画素を設定する(ステップS10)。
ドット許容画素は、各ラスタの各主走査位置を記録するノズルのノズル吐出率に所望の上限を設けるようにドットの形成を許容する画素を示す。
「各ラスタの各主走査位置」とは、各ラスタを記録するパス数による繰り返し単位における主走査方向パスの位置であり、各ラスタのパスグループに対応する。1パスの例(図11参照)では、ラスタ内のすべての画素が「主走査位置1」であり、2パスの例(図17参照)では、ラスタ内の奇数番目の画素が「主走査位置1」、偶然番目の画素が「主走査位置2」である。
例えば、各ラスタの各主走査位置を記録する各ノズルのノズル吐出率の上限を0.8とすると、1パスの例(図11参照)では各ラスタの各主走査位置に関し、0.8×18画素=14.4画素、整数値に丸めると、14画素又は15画素のドット形成が許容される。
また例えば、各ラスタの各主走査位置を各ノズルが記録するノズル吐出率の上限を0.8とすると、2パスの例(図17参照)では各ラスタの各主走査位置に関し、0.8×10画素=8画素のドット形成が許容される。
本実施形態では、1パスの例においてディザマスク全体で0.8×18×18画素=259.2画素、整数値に丸めると、259画素又は260画素の均等なドット許容画素を設定することとする。
また、2パスの例ではディザマスク全体で0.8×20×20画素=320画素の均等なドット許容画素を設定することとする。ディザマスク全体で均等なドット許容画素を設定することにより、結果的に各ラスタの各主走査位置に関しても概ね目標とする数のドット許容画素が設定されることとなる。
「均等なドット許容画素」の配置として、規則的にドット許容画素を配置してもよいし、不規則にドット許容画素を配置してもよい。不規則なドット許容画素の配置は、例えば、ブルーノイズマスクなどの公知のディザマスクに基づき生成することができる。ブルーノイズマスクを用いて生成されたドット許容画素の画素配列は、ブルーノイズ特性を有するものとなる。
公知のブルーノイズマスクに基づいて生成したドット許容画素の例を図22及び図23に示す。図22は1パスの例においてドット許容画素数が259画素である場合のドット許容画素の配置例を示す。図23は2パスの例においてドット許容画素数が320画素である場合のドット許容画素の配置例を示す。
図22及び図23に例示したように、ドット許容画素を設定することにより、主走査方向の各ラスタについて、ドット許容画素の範囲でドットの形成が制御されることになり、ラスタ単位で各ノズルのノズル吐出率を、最大ノズル吐出率よりも低い吐出率に制限することができる。
図21のステップS10のドット許容画素を設定する工程は、「ノズル吐出率制限工程」の一形態に相当する。
なお、ノズル吐出率の上限とする値は、上記に例示の「0.8」に限らず、最大ノズル吐出率よりも小さい適宜の値に定めることができる。
図21のステップS10にてドット許容画素を設定した後、ステップS12にて、各ノズルのノズル相対吐出率の段階Qを初期値である「段階Q=1」に設定する(ステップS12)。本実施形態では、デューティの領域に応じて、ノズルごとのノズル相対吐出率を段階的に切り替えて設定するため、ノズル相対吐出率に段階を設けている。段階Qはノズル相対吐出率の段階を示す変数である。ノズル相対吐出率は、記録ヘッドのノズル列における各ノズルのノズル吐出率の制御目標であり、かつ各ノズルの相対的な使用比率を規定する。ノズル相対吐出率は、デューティに応じて定められている。特定のデューティの領域において、規定されているノズル相対吐出率を概ね維持するように、デューティに応じて実際の各ノズルのノズル吐出率が決定される。
図24は段階数が3段階である場合の各段階のノズル相対吐出率の例を示している。図24の横軸はノズル番号、縦軸はノズル相対吐出率を示している。図24においてQ=1のグラフは段階1、Q=2のグラフは段階2、Q=3のグラフは段階3の各段階のノズル相対吐出率を示している。ここでは、ノズル数が9個である記録ヘッドを例に説明する。
段階を示す「Q」は、ノズル相対吐出率の小さい順に、Q=1から、段階の最大値までの整数の値を取り得る。ノズル相対吐出率の小さい順とは、適用されるデューティの領域(段階)が小さい順であることを意味する。
jを1以上の整数とする場合に、段階j+1のノズル相対吐出率は、段階jのノズル相対吐出率よりも、適用されるデューティが大きい。段階1で設定されるノズル相対吐出率が最も低く、最後の段階(図24では段階3)で設定されるノズル相対吐出率は、各ノズルについて全て最大ノズル吐出率である「1.0」とする。
段階1のノズル相対吐出率の設定の下では、各ノズルは段階1のグラフで示されたノズル相対吐出率の範囲でしかドットを記録することができない。つまり、各ノズルのノズル相対吐出率を段階1のグラフのように設定すると、その設定の下で記録できるデューティの上限は決まってくる。図24における段階1の場合、記録できるデューティの上限は概ね56%である。したがって、最大デューティ100%まで、ディザマスクの閾値を設定するためには、段階1からさらにノズル相対吐出率を増加させ、最後の段階で全ノズルのノズル相対吐出率は全て「1.0」にしなければならない。すなわち、ディザマスクの閾値未設定の画素に設定する閾値の値の増加に応じて、ノズル相対吐出率の設定を少なくとも2段階の複数段階に変更することが必要である。
つまり、図24に示す各段階のノズル相対吐出率は、各ノズル間の相対的な使用比率を示している。各段階で規定される相対使用比率を概ね維持して、デューティに応じて実際の各ノズルのノズル吐出率が決定される。
図24では、3段階のノズル相対吐出率(Q=1,2,3)の設定形態が例示されているが、最小の段階数は2段階である。2段階以上の任意の段階数とすることができる。
図9に示した記録ヘッド24Aのノズル列61Aにおける各ノズル62のノズル相対吐出率を、例えば、図24に示すように、段階1〜3の各段階のノズル相対吐出率に切り替えて設定することができる。
図21のステップS12において、段階Q=1に設定した後、ステップS14に進む。ステップS14では、記録ヘッド24Aにおける各ノズル62のノズル相対吐出率を設定する。ステップS14は「ノズル相対吐出率設定工程」の一形態に相当する。段階Q=1に設定されている場合においては、図9に示した記録ヘッド24Aのノズル列61Aにおける各ノズル62のノズル相対吐出率を、図24の段階Q=1に示したグラフのように設定する。
次いで、図21のステップS16において、走査パターンにしたがって各画素に対応するノズル番号(すなわち、ノズルパターン)を設定する。ステップS16の工程は、ディザマスクのマスクサイズと同等の画素数の画素配列を持つ画像領域(つまりマスク領域)について、インクジェット記録装置10による画像記録を行う際の走査パターンにしたがって、ディザマスクの各画素に対応するノズル番号を設定する処理を行う工程である。
各画素に対応するノズル番号とは、各画素の記録を担当するノズルのノズル番号を意味する。ステップS16の工程は、ディザマスクの各画素について、それぞれ対応するノズル番号を決定することに相当する。
mとnがそれぞれ自然数であるとし、生成目標であるディザマスクがm行×n列のマトリクスである場合には、m行×n列の二次元の画素配列からなる画像領域の各画素に対して、それぞれ対応するノズル番号を決定する。ディザマスクの各画素について、対応するノズル番号を定めたノズル番号のパターンを「ノズルパターン」と呼ぶ。
ステップS16の工程は、ディザマスクの各画素とそれぞれの画素位置の記録を担うノズル番号との対応関係を表すノズルパターンを設定する工程に相当し、「ノズルパターン設定工程」の一形態に相当する。1パスの例におけるノズルパターンの一例は、図11に示したとおりである。
図21のステップS16にてノズルパターンを設定した後、次いで、図21のステップS18に進む。ステップS18では、ステップS14で設定した段階Qのノズル相対吐出率と、ステップS16で設定されたノズルパターンに基づき、ドット優先画素を設定する。ステップS18は「ドット優先画素設定工程」の一形態に相当する。ドット優先画素は、ディザマスクの画素のうち閾値を設定する画素の候補となる画素の集合である。
図25は1パスの場合におけるドット優先画素の配置の例を示した図である。図25は図24で説明した段階Q=1のノズル相対吐出率と、図11で説明したノズルパターンを基に設定されるドット優先画素の配置例を示している。図25において、ドット優先画素には、数字の「1」のグラフを付し、画素を示すセルをグレートーンで塗りつぶした。また、非ドット優先画素には数字の「0」を付した。つまり、18×18画素のマトリクス領域における「1」を付した画素はドット優先画素オン、「0」を付した画素はドット優先画素オフであることを示している。
また、図25ではドット優先画素の配置例と共に、各ラスタを記録するノズルのノズル番号と、ノズル相対吐出率と、各ラスタのドット優先画素数と、を併記した。ここでの「ラスタ」とは、図25の横方向(行方向)である主走査方向に画素が並ぶ主走査方向ラスタである。
各ラスタのドット優先画素数は、該当するラスタを記録するノズルのノズル相対吐出率に、「ディザマスクの主走査画素数/主走査方向パス数」を乗算して求められる。ディザマスクの主走査画素数とは、ディザマスクの主走査方向の画素数をいう。図25の例の場合、ディザマスクの主走査画素数は18画素、主走査方向パス数は「1」であるから、「ディザマスクの主走査画素数/主走査方向パス数」は18画素である。図25に示した1行目のラスタは、ノズル番号0のノズルによって主走査方向パス数「1」で記録され、ノズル番号0のノズル相対吐出率は0.2である。したがって、1行目のラスタのドット優先画素数は、0.2×18/1=3.6と計算される。
ディザマスクのマスクサイズにおける全体のドット優先画素数は、各ラスタを記録する各ノズルのノズル相対吐出率に、ディザマスクの「主走査画素数/主走査方向パス数」を掛けて求まる各ラスタの各ノズルのドット優先画素数の総和である。各ラスタの各ノズルのドット優先画素は、ドット優先画素の発生確率がノズル相対吐出率に比例するように設定される。
<ドット優先画素の設定方法の第1例>
各ラスタにおけるドット優先画素は、例えば、以下の条件式にしたがって設定される。
[条件式1] rand()≦ノズル相対吐出率
を満たす場合に限り、ドット優先画素オンとする。
ただし、条件式1における「rand()」は、範囲が0以上1未満の乱数である。
各画素位置において、rand()関数によって0以上1未満の範囲の乱数を等確率で発生させ、発生した乱数値であるrand()とノズル相対吐出率とを比較して、rand()がノズル相対吐出率以下である場合に、その画素をドット優先画素とする。
条件式1にしたがって、ドット優先画素を定めることにより、各ノズルで記録する各ラスタにおいて、「ノズル相対吐出率×主走査画素数/主走査方向パス数」の数を目標個数にして乱数的に(ランダムに)ドット優先画素が設定される。
なお、「ノズル相対吐出率×主走査画素数/主走査方向パス数」によって算出されるドット優先画素数と、条件式1にしたがって実際に設定されるドット優先画素の個数は必ずしも一致しない。
つまり、図25に示した各ラスタのドット優先画素数は、各ラスタにおけるドット優先画素の目標個数であり、上述のように計算によって予め求めることができる。ただし、実際に設定されるドット優先画素の個数は、乱数の値次第で変わりうる。
<ドット優先画素の設定方法の第2例>
条件式1を用いる以外にも、ドット優先画素を乱数的に設定する方法には種々の方法がある。例えば、まず各ノズルで記録する各ラスタにおいて設定する優先画素数を整数値で求め、次に「rand()RAND_MAX %記録画素数」で求まる整数に対応する番号の画素に1番目のドット優先画素を設定する。ここで「記録画素数」とは、各ラスタにおいて各ノズルが記録を担当する画素の数であり「主走査画素数/主走査方向パス数」に等しい。rand()RAND_MAXは、範囲0以上RAND_MAX未満の整数の乱数である。「RAND_MAX」は、少なくとも記録画素数よりも大きい整数である。例えば、RAND_MAX=65536とすることができる。「%」は剰余演算子である。a%bは、aをbで割った余りを表す。つまり、rand()RAND_MAX %記録画素数は、範囲0以上RAND_MAX未満の整数の乱数を「記録画素数」で割った余りの数である。この演算により、0以上「記録画素数−1」以下の範囲の整数を等確率で得ることができる。図25の例では「主走査画素数=18」である。
0から17の整数を18画素の画素番号に対応付けて、「rand()RAND_MAX % 記録画素数」で求まる整数に対応する画素番号を1番目のドット優先画素とする。
次に、1番目のドット優先画素を除いて、rand()RAND_MAX %(記録画素数−1)で求まる整数に対応する番号の画素に2番目のドット優先画素を設定する。図25の例では「記録画素数=18」であり、0から16の整数を、1番目のドット優先画素を除いた17画素の画素番号に対応付けて、rand()RAND_MAX %(記録画素数−1)で求まる整数に対応する画素番号を2番目のドット優先画素とする。以下同様にして、1番目と2番目のドット優先画素を除いて、rand()RAND_MAX %(記録画素数−2)で求まる整数に対応する番号の画素に3番目のドット優先画素を設定する。4番目以降も順次、同様の手順でドット優先画素数の個数だけドット優先画素を設定していくことができる。
ドット優先画素の設定に際して、前の段階までに設定された閾値の画素を考慮してもよいし、考慮しなくてもよい。ドット優先画素の設定において、前の段階までに設定された閾値の画素を考慮する場合、既述した第2例による設定方法では、当該段階におけるドット優先画素の候補となる画素から前の段階までに設定された閾値の画素を除くと共にドット優先画素数から閾値の個数を除いておく。
ドット優先画素の設定方法に関して、第1例及び第2例では、rand()関数を用いる例を示したが、ドット優先画素を乱数的に設定する方法にも種々の方法があり、rand()関数を用いる形態に限定されない。
<ドット優先画素の設定方法の第3例>
また、ドット優先画素の設定方法は、乱数的に設定する方法に限らず、規則的な間隔で設定する方法もあり得る。以下に規則的な間隔でドット優先画素を設定する方法の例を説明する。
例えば、各ラスタにおける各ノズルの吐出画素間隔を1として、「1/ノズル相対吐出率」を規則的な間隔と定め、「1/ノズル相対吐出率」の整数倍の値を整数値に丸めた番号の画素にドット優先画素を設定してもよい。吐出画素間隔とは、各ラスタにおける各ノズルの吐出の間隔であり、主走査方向パス数が1ならば1画素、主走査方向パス数が2ならば2画素に相当する。
例えば、図25の2行目のラスタについてはノズル相対吐出率が0.8であるため、1/ノズル相対吐出率=1/0.8=1.25の整数倍の値を整数値に丸めた番号の画素にドット優先画素を設定することとなる。ここで図25は主走査方向パス数が1なので吐出画素間隔の「1」は1画素に相当する。したがって、例えば、整数値の丸め方を切り捨てや切り上げでなく、四捨五入とした場合、左端画素を1番目として1、3、4、5、6、8、9、10、11、13、14、15、16、18番目の画素(それぞれ1.25、2.5、3.75、5、6.25、7.5、8.75、10、11.25、12.5、13.75、15、16.25、17.5を四捨五入して整数値に丸めた番号の画素)にドット優先画素を設定することとなる。
なお、この場合、さらに18.75を四捨五入して整数値に丸めた19番目の画素にドット優先画素を設定してもよい。ただし、19番目の画素はディザマスクの主走査画素数である「18」を超えるため、再度、左端に戻り1番目の画素に設定することとするが、ここで1番目の画素には既にドット優先画素が設定されているため、その横、例えば右横の2番目の画素にドット優先画素を設定することとする。
上述の第1例から第3例で説明した方法などを用いて、図21のステップS18にてドット優先画素を設定した後、ステップS20に進む。
ステップS20では、ディザマスクの全画素のうち、閾値未設定かつドット優先画素かつドット許容画素に属する画素に閾値を仮設定し、粒状性を評価する。粒状性評価の指標は、例えば、RMS(Root Mean Square)粒状度など、公知の指標を用いることができる。RMS粒状度は、VTF(Visual Transfer Function)など人間の視覚特性を考慮したぼかしフィルタをドット配置に掛けた上で算出した標準偏差である。
図26は、図25に示したドット優先画素と図22に示したドット許容画素の論理積演算(アンド演算)によって得られる画素配列を示した図である。ドット優先画素かつドット許容画素である論理積の画素配列は、ノズル相対吐出率にしたがって設定した各ノズルのノズル相対吐出率に基づき設定されたドット優先画素に対して、さらに、ノズル吐出率の上限の規定に基づいて設定されたドット許容画素の制約を課したものとなっている。ドット優先画素かつドット許容画素を「上限付きドット優先画素」と呼ぶ。上限付きドット優先画素は「ドット許容画素とドット優先画素の論理積演算によって得られる画素配列」の一形態に相当する。
図21のステップS18にてドット優先画素を設定した後、すぐに図26に示すような上限付きドット優先画素を生成し、上限付きドット優先画素の情報を図示せぬメモリ等に保持しておく構成としてもよい。このような上限付きドット優先画素の情報を保持しておくことでステップS20における閾値仮設定の可否の判断処理を軽くすることができる。
ステップS20における粒状性の評価結果はメモリ等に記憶しておき、ステップS22に進む。ステップS22では、閾値を設定する画素の候補である全候補画素についてステップS20の粒状性の評価を完了したか否かの判定を行う。全候補画素とは、ステップS20で閾値を仮設定し得る閾値未設定かつドット優先画素かつドット許容画素の集合である。
ステップS22にて、粒状性未評価の候補画素が存在する場合は、ステップS22の判定がNo判定となり、ステップS20に戻る。すなわち、閾値未設定かつドット優先画素かつドット許容画素である候補画素の範囲で閾値を仮設定する画素を変えて、ステップS20の処理を繰り返す。
全候補画素についてステップS20の粒状性評価の処理が完了すると、ステップS22の判定がYes判定となり、ステップS24に進む。
ステップS24では、全候補画素についてそれぞれ粒状性を評価した結果を基に、粒状性が最良の画素に閾値を設定する。ステップS24の工程が「閾値設定工程」の一形態に相当する。
次いで、ステップS26では所定個数の閾値の設定を完了したか否かの判定を行う。ここでいう「所定個数」は、同じ段階のノズル相対吐出率の設定の下で設定する閾値の個数として予め定められた規定値である。図21に示したフローチャートにおける「所定個数」は、ステップS18で設定されたドット優先画素かつステップS10で設定されたドット許容画素の数(つまり、上限付きドット優先画素の数)と同数又はこれよりも少ない数とする。例えば、図26に示した1パスの例では、上限付きドット優先画素の数は147画素であるため、ステップS26の「所定個数」は、ドット上限付きドット優先画素の数と同数の147個とすることができる。
ただし、閾値の数が上限付きドット優先画素の数に近づくにつれて、閾値を設定できる画素の候補が限られ、閾値を設定できる画素の配置が粒状性の悪い上限付きドット優先画素の配置に近づいてしまう。したがって、このような粒状性の悪化を防ぐために「所定個数」を上限付きドット優先画素の数より少ない数、例えば、上限付きドット優先画素の数×0.8としてもよい。ただし、所定個数を過剰に少なく設定し過ぎると、ノズル列における端部ノズルの吐出率を抑える性能は低下することとなる。したがって、所定個数の設定に際しては、粒状悪化の低減と、端部ノズルの吐出率を抑える性能との両立の観点から適切な値に設定することが好ましい。例えば、所定個数は上限付きドット優先画素数の0.6倍以上0.9倍以下の範囲とし、より好ましくは、0.7倍以上0.8倍以下の範囲とする。
図21のステップS26にて、所定個数の閾値の設定が未完了である場合には、ステップS20に戻る。一方、ステップS26にて、所定個数の閾値の設定が完了すると、ステップS28に進む。
ステップS28では、全段階の処理が完了したか否かの判定を行う。ノズル相対吐出率の段階Qについて、全段階の処理が完了していなければ、段階Qの値に1を加え、段階Qの値を「Q+1」に変更して(ステップS30)、ステップS14に戻る。
ステップS30にて変更された次の段階のノズル相対吐出率に設定を変更して、上述の処理ループ(ステップS14からステップS28)を繰り返す。なお、ステップS16で説明したノズルパターンについては、前回と同じ設定を利用できるため、ステップS16の処理は省略することができる。
ステップS30を経て、前回と異なる段階のノズル相対吐出率の設定の下で、新たにステップS18でドット優先画素が設定される。
ステップS30を経てステップS14からステップS28のループが繰り返されることにより、ステップS14のノズル相対吐出率設定工程により設定されるノズルごとのノズル相対吐出率は、ステップS26の所定個数の閾値に対応する閾値の個数に相当する閾値領域に応じて(つまり、ステップS24にて設定する閾値の値によって)、少なくとも2段階の複数段階に設定が変更される。
また、ステップS18で一旦設定されたドット優先画素の全てに閾値が設定される前に、つまり、ドット優先画素数よりも少ない所定個数の閾値の設定が完了した際に、ステップS30を経て新たにステップS18にて別のドット優先画素の設定に変更されている。
こうして、全ての段階について、同様の処理が行われ、各閾値が設定される。ステップS28にて全段階で処理が完了すると、図21のフローチャートを終了する。
なお、ステップS28に関して、最後の段階は全画素に閾値を設定するために、ステップS20においてドット許容画素の判断を除いて(ドット許容画素の制約を無くして)閾値仮設定の可否を判断してよい。または、最後の段階でもドット許容画素のみを閾値の設定候補とし、ドット許容画素のみに閾値設定してもよい。
最後の段階は、全ノズルのノズル相対吐出率が「1.0」に設定され、全画素にドット優先画素を設定し、かつステップS26における「所定個数」に全画素数又は全ドット許容画素数を設定する。
図21に示したフローチャートに代えて、最後の段階のみ閾値設定を別ループにしドット優先画素の設定及び判断を省いてもよい。さらに、最後の段階はドット許容画素の判断も除くことで、全画素に閾値を設定することができる。
つまり、最後の段階において全ノズルのノズル相対吐出率を全て「1.0」に設定する場合、敢えて各ノズルのノズル相対吐出率を「1.0」に設定し、全画素をドット優先画素に設定するという処理を実施せずに、単に、ノズル相対吐出率の設定やドット優先画素の設定を除き、ドット優先画素の判断もしない別の処理ループを実施する構成を採用してもよい。
このような別の処理ループを採用する場合も、実質的に、全ノズルのノズル相対吐出率を「1.0」に設定し、全画素をドット優先画素に設定して処理を行うことと同等であり、別の処理ループへの移行は、「複数段階」における「最後の段階」の設定の一形態に相当する。
図21で説明したフローチャートは、ディザマスクに設定する全閾値のうちの一部の閾値の設定に関して適用される。つまり、ドット許容画素によってノズル吐出率に上限を設けて閾値を設定する処理は、全閾値のうち少なくとも一部の閾値の設定に関して適用される。
図21のフローチャートによれば、設定される閾値の増加と共に、ノズル相対吐出率にしたがって、各ノズルの吐出の相対的な比率を概ね保ちながら、各ノズルのノズル吐出率を増加させることができる。なお、ここでいう「各ノズルの吐出の相対的な比率」は、ノズル相対吐出率に従うものの、完全に等しくできるわけではない。
図24から図26では1パスの例を説明したが、図21のフローチャートは2パス以上の場合でも同様に適用できる。
図27は、図16から図17で説明した2パスの例にしたがい図21のステップS18で設定されるドット優先画素の例を示す図である。図27は図16に示した各ノズルのノズル相対吐出率と、図17に示したノズルパターンを基に設定されるドット優先画素の配置の例を示している。図27における記載ルールは図25と同様である。
また、図27ではドット優先画素の配置例と共に、各ラスタを記録する左ノズル相対吐出率、右ノズル相対吐出率、左ノズル優先画素数、及び右ノズル優先画素数を併記した。図27において「左ノズル相対吐出率」とは、図17に示した20×20画素のディザマスクに対応するノズルパターンにおける奇数列(主走査位置1)に属する画素を記録する各ノズルのノズル相対吐出率を意味する。また、図27において「右ノズル相対吐出率」とは、同ノズルパターンにおける偶数列(主走査位置2)に属する画素を記録する各ノズルのノズル相対吐出率を意味する。
「左ノズル優先画素数」とは、図17に示した20×20画素のディザマスクに対応するノズルパターンにおける奇数列(主走査位置1)に属する画素からなる主走査方向ラスタ内のドット優先画素数を意味する。「右ノズル優先画素数」とは、図17に示したノズルパターンにおける偶数列(主走査位置2)に属する画素からなる主走査方向ラスタ内のドット優先画素数を意味する。
例えば、1行目のラスタの左ノズル優先画素数は、左ノズル相対吐出率×主走査画素数/主走査方向パス数=1×20/2=10と計算される。また、1行目のラスタの右ノズル優先画素数は、右ノズル相対吐出率×主走査画素数/主走査方向パス数=0.2×20/2=2と計算される。
図27に示したドット優先画素は、上述した「条件式1」を用いるドット優先画素の設定方法の第1例にしたがって設定された例である。もちろん、第1例に限らず、第2例や第3例その他の方法によってドット優先画素を設定してもよい。
<ドット優先画素を規則的に設定する場合の具体例>
ここでは、「ドット優先画素の設定方法の第3例」で説明した方法に関して、図27の例に当てはめて説明する。図27において、例えば2行目のラスタの左ノズルについてはノズル相対吐出率が0.4であるため、1/0.4= 2.5の整数倍の値を整数値に丸めた番号の画素にドット優先画素を設定することになる。ここで図27では、主走査方向パス数が2であるため、吐出画素間隔の「1」とは2画素に相当する。したがって、整数値の丸め方を四捨五入とした場合、左端画素を1番目として5、9、15、19番目の画素(それぞれ2.5、5、7.5、10を整数値に丸めた3、5、8、10に相当する番号の画素)にドット優先画素を設定することとなる。また、2行目のラスタの右ノズルについてはノズル相対吐出率が0.8であるため、1/0.8=1.25の整数倍の値を整数値に丸めた番号の画素にドット優先画素を設定することになる。つまり、整数値の丸め方を四捨五入とした場合、2、6、8、10、12、16、18、20番目の画素(それぞれ1.25、2.5、3.75、5、6.25、7.5、8.75、10を整数値に丸めた1、3、4、5、6、8、9、10に相当する番号の画素)にドット優先画素を設定することになる。
<2パスの例における上限付きドット優先画素の例>
図28は、図27に示したドット優先画素と図23に示したドット許容画素の論理積演算(AND演算)を行って得られる論理積の画素配列である上限付きドット優先画素の配置を示した図である。
図28に示す例では上限付きドット優先画素の数は189である。したがって、この場合の図21のステップS26における「所定個数」は、189又は189よりも少ない値に定められる。
[ディザマスク生成装置の構成]
図29は第1実施形態に係るディザマスク生成装置のブロック図である。ディザマスク生成装置150は、ノズル相対吐出率設定部152と、ノズルパターン設定部154と、ドット優先画素設定部156と、ノズル吐出率制限部157と、閾値設定部158と、を備える。また、ディザマスク生成装置150は、走査パターン情報取得部160と、段階切替部162と、閾値個数判定部164とを有する。これらの各部は集積回路などのハードウエア回路、又は、コンピュータのハードウエア及びソフトウエア、若しくはこれらの適宜の組み合わせによって実現することができる。また、ディザマスク生成装置150の機能は、図5で説明した制御装置102に搭載してもよい。
図29に示したノズル相対吐出率設定部152は、記録ヘッド24(図4参照)における各ノズルの制御目標とするノズル吐出率の比率を示すノズル相対吐出率を設定する処理を行う。ノズル相対吐出率設定部152は、図24で例示したように、予め用意されているノズル相対吐出率の段階にしたがって、ノズルごとのノズル相対吐出率を設定する。ノズル相対吐出率設定部152は、図21のステップS14で説明した処理を行う。
図29に示した段階切替部162は、ノズル相対吐出率設定部152で設定するノズル相対吐出率の段階の指定を行う。段階切替部162は、図21のステップS30で説明した処理を行う。ノズル相対吐出率設定部152は、段階切替部162により指定された段階のノズル相対吐出率を設定する。
ノズルパターン設定部154は、走査パターン情報取得部160から得られる走査パターンの情報に基づき、ディザマスク166の各画素に対応するノズルを特定する処理を行う。すなわち、ノズルパターン設定部154は、ディザマスク166の各画素について、それぞれの画素位置の記録を担当する少なくとも一つのノズルを対応付ける処理を行う。
走査パターン情報取得部160は、走査パターンプログラムなどから作画モードに応じた走査パターンの情報を取得する。前述の通り、走査パターンプログラムは、副走査方向に間欠搬送される記録媒体12に対する記録ヘッド24の主走査方向の往復走査やパス数を規定しているため、走査パターンプログラムから記録ヘッド24の走査パターンを判別することが可能である。
ノズルパターン設定部154は、記録媒体12に対して記録ヘッド24を主走査方向及び副走査方向に相対移動させる際の走査パターンを判別する。ノズルパターン設定部154は、走査パターンに基づき、ディザマスク166の各画素を、記録ヘッド24のどのノズル62で記録するのかを決定する処理を行う。ノズルパターン設定部154は、ディザマスク166の各画素と、それぞれの画素の記録を担うノズルとの対応関係を示すノズルパターンのデータであるノズルパターンデータ168を生成する。ノズルパターンデータ168は、例えば、図11や図17で説明したノズルパターンのデータである。ノズルパターン設定部154は、図21のステップS16で説明した処理を行う。
ノズルパターンデータ168を生成する方法は、走査パターンプログラムに基づき決定する方法に限られず、各種方法を用いることができる。ノズルパターンデータ168は、作画モードとディザマスク166のサイズや並べ方によって決定できるため、予め複数種類の作画モードのそれぞれに対応したノズルパターンデータをメモリ等の情報記憶部に保持しておくことができる。
ドット優先画素設定部156は、ノズル相対吐出率データ170とノズルパターンデータ168を基に、ドット優先画素を設定する処理を行う。ドット優先画素設定部156は、図21のステップS18で説明した処理を行う。
ノズル吐出率制限部157は、ノズル吐出率に上限を設定する処理を行う処理部である。本実施形態のノズル吐出率制限部157は、ドット許容画素を設定する処理を行うドット許容画素設定部である。ノズル吐出率制限部157は、図21のステップS10で説明したドット許容画素を設定する処理を行う。また、ノズル吐出率制限部157は、図26や図28で説明した上限付きドット優先画素を生成する処理を行う構成としてもよい。
閾値設定部158は、閾値未設定の画素を含むディザマスク166を準備し、かつ、ディザマスク166の閾値未設定の画素に、閾値を設定する処理を行う。閾値設定部158は、図21のステップS20からステップS24で説明した処理を行う。閾値設定部158によって、ディザマスク166の全画素の閾値が設定されることにより、生成目標であるディザマスク166が完成する。
閾値個数判定部164は、閾値設定部158により設定される閾値の個数を管理し、予め定められている所定個数の閾値設定が完了したか否かの判定を行う。閾値個数判定部164は、図21のステップS26で説明した処理を行う。
閾値個数判定部164の判定結果は、ドット優先画素設定部156に通知される。ドット優先画素設定部156は、閾値個数判定部164から得られる情報を基に、ドット優先画素を変更する処理を行う。
また、閾値個数判定部164の判定結果は、段階切替部162に通知される。段階切替部162は、閾値個数判定部164から得られる情報を基に、ノズル相対吐出率の段階を変更する処理を行う。
ノズル相対吐出率設定部152の機能が「ノズル相対吐出率設定機能」の一形態に相当する。ノズルパターン設定部154の機能が「ノズルパターン設定機能」の一形態に相当する。ドット優先画素設定部156の機能が「ドット優先画素設定機能」の一形態に相当する。ノズル吐出率制限部157の機能が「ノズル吐出率制限機能」の一形態に相当する。閾値設定部158の機能が「閾値設定機能」の一形態に相当する。
本実施形態により生成されたディザマスクを用いて、印刷用の画像データのハーフトーン処理が行われる。こうして生成されたハーフトーン画像に基づき、記録ヘッド24の各ノズルの吐出制御が行われる。これにより、バンディング、スジ若しくはやムラなどの画像欠陥の発生が抑制され、高品質な印刷画像が得られる。
[第2実施形態]
上述した第1実施形態の変形例である第2実施形態を説明する。
図30は第2実施形態による昇順の閾値設定処理の例を示すフローチャートである。図21で説明したフローチャートに代えて、図30に示すフローチャートを適用することができる。図30中、図21で説明したフローチャートと同一又は類似する工程には同一のステップ番号を付し、その説明は省略する。
図30に示す例では、ドット優先画素を設定した後の閾値の設定方法として、ボイドアンドクラスタ法の手法が用いられる。ボイドアンドクラスタ法については、例えば、Robert A. Ulichney “Void-and-cluster method for dither array generation”, Proc. SPIE 1913, Human Vision, Visual Processing, and Digital Display IV, 332 (September 8, 1993) に記載されている。
図30のフローチャートでは、ドット優先画素の設定とボイドアンドクラスタ法の手法を組み合わせて、閾値未設定画素の中から閾値を設定する画素を決定し、閾値を設定する処理を行う。
すなわち、図30に示すように、まず、初期ドット配置の各ドットに対応する画素を中心にガウシアンフィルタなどのぼかしフィルタを付加したエネルギーマスクを生成する(ステップS8)。
ステップS10からステップS18の処理の後、ステップS23において、閾値未設定かつドット優先画素かつドット許容画素のうちエネルギー最小の画素に閾値を設定する。
ステップS23の後、ステップS26にて所定個数の閾値の設定を完了したか否かの判定を行う。ステップS26でNo判定となった場合は、ステップS27に進み、エネルギーマスクを更新する。
すなわち、ステップS27では、閾値の設定に伴い、閾値に対応する画素を中心にぼかしフィルタを付加してエネルギーマスクを更新する。ステップS27の処理の後、ステップS23に戻る。
所定個数の閾値の設定が完了するまでステップS23からステップS27の処理がループする。所定個数の閾値の設定が完了すると、ステップS26にてYes判定となり、ステップS28に進む。
図30のフローチャートの場合、粒状性評価の指標は、前回の閾値に対応するエネルギーマスクの各画素値そのものである。したがって、図21のステップS20で説明した閾値の仮設定や、閾値の仮設定の度に粒状性評価の指標を計算する必要はない。昇順の場合、エネルギー最小の画素が粒状性最良の画素と判断される。
上述した第1実施形態及び第2実施形態では、各ノズルのノズル相対吐出率を反映したドット優先画素を設定して、ノズル吐出率を偏らせたディザマスクを生成する方法の例を説明した。
次に、閾値を設定する際の評価指標に各ノズルのノズル相対吐出率を反映させることで、ノズル吐出率を偏らせたディザマスクを生成する方法の例(第3実施形態)について説明する。
[第3実施形態]
図31は第3実施形態に係るディザマスク生成方法の手順を示すフローチャートである。図31のフローチャートにおいて、図21で説明したフローチャートと同一又は類似する工程には同一のステップ番号を付した。
図31に示すディザマスク生成方法では、まず、記録ヘッドにおける各ノズル番号のノズル相対吐出率を設定する(ステップS14)。ステップS14の工程は「ノズル相対吐出率設定工程」の一形態に相当する。
次に、ディザマスクのマスクサイズと同等の画素数の画素配列を持つ画像領域(つまりマスク領域)について、インクジェット記録装置10による画像記録を行う際の走査パターンにしたがって、ディザマスクの各画素に対応するノズル番号(すなわちノズルパターン)を設定する(ステップS16)。ステップS16の工程は「ノズルパターン設定工程」の一形態に相当する。
ステップS16の後、次に、初期入力値の均一画像を入力画像として設定する(ステップS31)。この初期入力値の均一画像は、第1実施形態の初期ドット配置と同様に、極めて低デューティとし、例えば、最大階調を100%とする場合の0.2%〜0.5%程度の階調値を初期入力値とする均一画像とすることができる。ここでは、説明を簡単にするために、階調値の値域を0から100とする。最大階調100に対する0.5%の階調値である初期入力値I0として「0.5」を設定する。ただし、階調値の値域や初期入力値の具体的数値はこの例に限らない。例えば、階調値の値域が0から4095である場合、初期入力値の一例として、「20」などの整数値とすることができる。
次いで、ステップS31で設定した入力画像の各画素の階調値を、各画素に対応するノズル番号のノズル相対吐出率をかけた値に変換した、吐出率反映入力画像を生成する(ステップS32)。ステップS32の工程は、入力値の均一画像における各画素の階調値の変換を行う階調変換工程である。ステップS32で生成される吐出率反映入力画像は「ノズル相対吐出率を反映した入力画像」の一形態である。ノズル相対吐出率を反映した入力画像を「第一画像」という。
図32は吐出率反映入力画像の生成処理の内容を模式的に示した概念図である。図32におけるノズル相対吐出率データ170は、例えば、図24の段階Q=1に示したノズル相対吐出率のデータに相当する。
図32におけるノズルパターン142は、図11で説明したノズルパターンに相当する。ノズルパターン142における各ノズル番号について、ノズル相対吐出率データ170を参照することにより、ディザマスクの各画素と、各画素に対応するノズル番号のノズル相対吐出率との関係を示す吐出率パターン144が求められる。
吐出率パターン144において数字が付された各セルは、ディザマスクの各画素を表し、セル内の数字は、該当する画素の記録を担うノズル番号のノズル相対吐出率を表している。吐出率パターン144に基づき、画素ごとのノズル相対吐出率が定められる。
図32に示した均一階調の入力画像146は、初期入力値が「0.5」の均一画像である。入力画像146における各画素の階調値ごとに、各画素に対応するノズル相対吐出率をかけて(乗算して)、入力画像146の画素値を変換することにより、吐出率反映入力画像148を生成する。
一例として、ノズル番号0のノズル相対吐出率が「0.2」であるので、ノズル番号0のノズルに対応する画素の階調値を「0.5」から、0.5×0.2の乗算により、「0.1」に変換する。全ての画素について、同様にして、画素値の変換が行われる。
こうして得られた吐出率反映入力画像148に第一ローパスフィルタを畳み込んでローパス吐出率反映入力画像を生成する(図31のステップS33)。ステップS33の工程は「第一ローパスフィルタ処理工程」の一形態である。ローパス吐出率反映入力画像を「第二画像」という。
第一ローパスフィルタは、いずれのローパスフィルタでもよいが、人の視覚特性に合ったローパスフィルタが好ましい。第一ローパスフィルタとして、人の視覚特性を表す関数である視覚伝達関数(VTF;visual transfer function)がよく知られている。また、第一ローパスフィルタとして、ガウシアン関数のフィルタを用いることもできる。
なお、視覚伝達関数は、横軸が周波数、縦軸が応答を示すグラフ関数が知られているが、この周波数特性(すなわち、周波数空間におけるフィルタ)は、実空間における空間フィルタに置き換えることができる。周波数空間で視覚伝達関数のf(fx,fy)をかけるという操作は、実空間上の空間フィルタF(x,y)を畳み込むことと、数学的に等価な処理である。ガウシアン関数についても同様であり、周波数空間又は実空間のどちらかで「かける」演算は、他方の空間で畳み込むことと等価であり、両者の意味を包括して「かける」という表現を用いる。
次いで、吐出率反映入力画像に対応する初期のドット配置を生成する(図31のステップS34)。初期のドット配置は吐出率反映入力画像に対して、公知のディザ法、誤差拡散法、又は、ダイレクトバイナリーサーチ(DBS;Direct Binary Search)法などのハーフトーン処理を実施して得られる。
ステップS34の工程は「第一ドット配置生成工程」の一形態である。またステップS34で生成されるドット配置は「第一ドット配置」の一形態である。
次いで、初期のドット配置に第二ローパスフィルタを畳み込んでローパスドット配置画像を生成する(ステップS35)。ステップS35の工程は「第二ローパスフィルタ処理工程」の一形態である。ローパスドット配置画像を「第三画像」という。
第二ローパスフィルタは、いずれのローパスフィルタでもよいが、人の視覚特性に合ったローパスフィルタが好ましい。第二ローパスフィルタとして、第一ローパスフィルタと同様に、視覚伝達関数のフィルタ、又は、ガウシアン関数のフィルタを用いることができる。
第一ローパスフィルタと第二ローパスフィルタは、必ずしも一致しない。第一ローパスフィルタは、入力画像の階調値「1」に対応するローパスフィルタであるが、第二ローパスフィルタは、ドット1個に対応するローパスフィルタであって、ドットの濃度、ドットの径、及びドットの形状などのうち少なくとも一つの特性を反映したフィルタとなる。
次いで、ディザマスクを準備し、閾値未設定画素を設定する(ステップS36)。ディザマスクのマスクサイズは、走査パターンによるノズル番号の主走査方向及び副走査方向の繰り返し周期の整数倍にする。図11で説明した走査パターンの場合、主走査方向のノズル番号の繰り返し周期は1画素であり、副走査方向のノズル番号の繰り返し周期は「9画素」である。したがって、ディザマスクのマスクサイズは、主走査方向について1画素の整数倍、かつ、副走査方向について9画素の整数倍とする。本例では、かかる条件を満たすマスクサイズの一例として、18行×18列のディザマスクを例示する。
ディザマスクの閾値未設定画素は、閾値設定が昇順の場合、ドット無しの画素となり、閾値設定が降順の場合、ドット有りの画素となる。
本例の場合、初期入力値(例えば、デューティ0.5%相当の階調)に対応した初期のドット配置からスタートして、ドットを次第に増加させながら、昇順で次第に大きな閾値を設定していく昇順の閾値設定処理(図31のステップS37)と、初期のドット配置から、次第にドットを取り除きながら、降順で次第に小な閾値を設定していく降順の閾値設定処理(ステップS38)とを含む。
なお、昇順の閾値設定処理(ステップS37)と降順の閾値設定処理(ステップS38)の順番は前後入れ替え可能である。
図33は昇順の閾値設定処理のフローチャートである。はじめに、ドット許容画素を設定する(ステップS40)。ドット許容画素の設定方法については、第1実施形態で説明したとおりである。ステップS40の工程は、図21のステップS10で説明した工程と同様の処理を行う工程である。
次いで、閾値未設定かつドット許容画素において着目画素を仮設定する(ステップS42)。そして、ドット配置における着目画素に対応する画素位置にドットを仮に置く(ステップS44)。ステップS44の工程を「ドットの仮置き」と呼ぶ。ドットの仮置きに伴い、ローパスドット配置画像を仮修正する(ステップS46)。ステップS46での仮修正は、ローパスドット配置画像における着目画素に対応する画素に第二ローパスフィルタを仮に付加する処理である。
なお、ここでドット配置及びローパスドット配置は、ディザマスクと同じサイズの配置がディザマスクと同じ並べ方で繰返し隣接して配置されているため、着目画素に対応する画素にローパスフィルタを付加するとは、これら隣接する全ての配置の着目画素に対応する画素にローパスフィルタを付加することを意味する。本実施形態において、ローパスドット配置画像にローパスフィルタを付加又は取り除く、またドット配置にローパスフィルタを畳み込むといった処理は、この様に、ドット配置及びローパスドット配置画像がディザマスクと同じサイズ、かつ同じ並べ方で繰返し隣接して配置されていることを前提とした処理を示す。
次に、ローパス吐出率反映入力画像と、仮修正後のローパスドット配置画像の誤差を算出する(ステップS48)。
ローパス吐出率反映入力画像とローパスドット配置画像の誤差の評価指標として、種々の指標があり得る。誤差の指標として、例えば、ローパス吐出率反映入力画像とローパスドット配置画像の差分の二乗和又は分散や、二乗和の平方根又は標準偏差とすることできる。
他の評価指標として、誤差の指標は、ローパスドット配置画像の各画素値をローパス吐出率反映入力画像の各画素値で割った値の二乗和又は分散や、二乗和の平方根又は標準偏差とすることができる。また、逆に、ローパス吐出率反映入力画像の各画素値をローパスドット配置画像の各画素値で割った値の二乗和又は分散や、二乗和の平方根又は標準偏差とすることができる。なお、誤差の指標として、ローパス吐出率反映入力画像、又はローパスドット配置画像の各画素値で割る演算を含む場合、分母「0」の割り算を防ぐため、割る数となる元の画像に微小値(例えば「1」)を付加することが望ましい。
誤差の指標のさらに他の例として、ローパスドット配置画像の各画素値とローパス吐出率反映入力画像の各画素値をかけて総和した値や、ローパスドット配置画像とローパス吐出率反映入力画像の相互相関値など、両画像の類似性を評価する指標を、誤差の指標としてもよい。
ノズル相対吐出率を反映した評価指標である誤差を算出するステップS48の工程及びステップS48の処理に必要な図31のステップS32〜S35の工程の組み合わせは「ノズル相対吐出率反映処理工程」の一形態である。
次いで、図33のステップS50にて、閾値未設定かつドット許容画素の全画素について、ステップS42からステップS48の処理が完了したか否かの判定が行われる。ステップS50で未完了であれば、着目画素を変更し(ステップS52)、ステップS42に戻る。
着目画素を順次変更してステップS42からステップS48の処理を繰り返し実行し、ステップS50でYes判定となると、ステップS54に進む。ステップS54では、ローパス吐出率反映入力画像とローパスドット配置画像の誤差が最小となる画素に閾値を設定する。誤差の指標として、差分や割った値の二乗和又は分散や、二乗和の平方根又は標準偏差を用いた場合には、指標とする評価値が最小の場合に誤差が最小であると判断する。
その一方で、誤差の指標として、ローパスドット配置画像の各画素値とローパス吐出率反映入力画像の各画素値をかけて総和した値や、ローパスドット配置画像とローパス吐出率反映入力画像の相互相関値など、両画像の類似性を評価する指標を用いた場合には、類似性を示す評価値が最大の場合、つまり、類似性最大の場合に、誤差が最小と判断する。ステップS54の工程が「閾値設定工程」の一形態に相当する。
そして、ステップS54で閾値を設定した画素に対応する位置にドットを置き、ドット配置及びローパスドット配置画像を更新する(ステップS56)。
ステップS58では、昇順側の所定個数の閾値設定が完了したか否かの判定を行う。ステップS58における「所定個数」は、ドット許容画素の数とすることができる。または、図21のステップS26で説明したとおり、「所定個数」をドット許容画素の数より少ない数、例えば、ドット許容画素の数に0.8をかけた数としてもよい。
ドット許容画素をブルーノイズマスクなどの公知のディザマスクに基づき生成すれば、ドット許容画素そのものの配置は粒状性が良好であるが、図33のフローチャートにより設定される閾値の配置との不連続性によって、やはり閾値の個数がドット許容画素の数に近づくにつれて粒状性が悪化するため、「所定個数」をドット許容画素の数よりも少ない数に設定することが望ましい。
ステップS58でNo判定の場合には、ステップS60に進む。ステップS60では、次の入力値の均一画像を設定し、吐出率反映入力画像及びローパス吐出率反映入力画像を生成する。
ステップS31で設定する初期入力値や、ステップS60における「次の入力値」は、以下のようにして定める。すなわち、ステップS48では、ローパス吐出率反映入力画像と、これに対応するローパスドット配置画像とを比較して、両者の誤差(類似性)を評価しようとしているので、両画像の誤差を評価する上で、ローパス吐出率反映入力画像における画素値の平均値と、そのローパス吐出率反映入力画像に対応するローパスドット配置画像における画素値の平均値とが一致又は概ね一致していることが望ましい。「概ね一致」とは、画像間の誤差の評価にとって実質的に問題とならない程度に両者の差異が小さく、一致するものとして取り扱うことが許容できる範囲を含むものである。両画像の平均値がかけ離れていたのでは、両画像の誤差を適切に評価できないため、両者を平均値のレベルで一致又は概ね一致させておくことが望ましい。
したがって、ステップS60では、ステップS54における閾値の設定に伴うドットの増加に合わせて、次の閾値決定の際に対比されるローパス吐出率反映入力画像の入力値を増加させる。そのためには、ステップS56にてドットが1個増加することに対応する入力値の増分を予め求めておき、ステップS60において、その増分を単位として、入力値を変更する。
ドットが1個増加することに対応する入力値の増分をΔIとして、階調値がΔIの均一画像における各画素の階調値(ΔI)に、各画素に対応するノズル番号のノズル相対吐出率をかけた値に変換した吐出率反映入力画像を生成し、これに第一ローパスフィルタを畳み込んだローパス吐出率反映入力画像を生成する。そして、このローパス吐出率反映入力画像の平均値が、ドット1個に対応する第二ローパスフィルタの平均値と一致するように、ΔIを定めればよい。
また、別の方法として、ΔIの均一画像からローパス吐出率反映入力画像を生成せずに、吐出率反映入力画像の各画素の階調値に、階調値1に対応する第一ローパスフィルタの平均値をかけた値の全画素の総和をとった値が、ドット1個に対応する第二ローパスフィルタの平均値と一致するように、ΔIを定めてもよい。
ΔIの求め方について、図34の説明図を使って概説する。ここでは、階調値がΔIである均一画像の画素値をC(x,y)で表す。x,yは、画素の位置を表す。この均一画像に対して各画素に対応するノズル番号のノズル相対吐出率をかけた吐出率反映入力画像の画素値をA(x,y)で表す。第一ローパスフィルタ自体の各セルの成分である係数の総和をBで表す。なお、図34その他の図面においては、記載の簡略化のために、「ローパスフィルタ」という記載に代わる代替表記として、「LPF」という簡易表記を用いた。LPFは「low pass filter」の略語表記である。図34中の符号134で示した記号は、畳み込み演算を行うことを示す。
また、ディザマスクのマスクサイズをSで表す。BとSはそれぞれ正の整数を表している。m行×n列のディザマスクを想定する場合のマスクサイズはS=m×nである。mとnはそれぞれ正の整数を表している。さらに、階調値1に対応する第一ローパスフィルタ自体の1画素当りの平均値をα=B/Sとする。
吐出率反映入力画像A(x,y)のある画素(x,y)に第一ローパスフィルタをかけると、画像全体として画素値の合計がA(x,y)×Bだけ増えるため、吐出率反映入力画像A(x,y)の全画素に対して第一ローパスフィルタを畳み込んで得られるローパス吐出率反映入力画像の全体の総和は、次の式(1)で表される。
A(1,1)×B+A(1,2)×B+・・・+A(m,n)×B ・・・式(1)
したがって、この増分の1画素当りの平均値は、式(1)の値をマスクサイズのSで除算して、次の式(2)で表される。
{A(1,1)×B+A(1,2)×B+・・・+A(m,n)×B}/S ・・・式(2)
一方、α=B/Sであるから、式(2)で表される平均値は、次の式(3)のように表すことができる。
A(1,1)×α+A(1,2)×α+・・・+A(m,n)×α ・・・式(3)
式(3)で表される値が、ドット1個分に対応する第二ローパスフィルタの平均値と一致するようにΔIを定める。
こうして、ΔIが定まれば、任意のディザマスク閾値に対して、その閾値により発生するドット数にΔIをかけた値を入力値と定めればよい。
ステップS56において、ドットを追加してドット配置を更新したら、これに合わせて、次の入力値として、入力値にΔIを加えて均一画像を変更し(図33のステップS60)、吐出率反映入力画像及びローパス吐出率反映入力画像を生成する。こうすることで、対比されるローパス吐出率反映入力画像と、ローパスドット配置画像とを平均値のレベルで概ね一致させることができる。
図31のステップS32及び図33のステップS60において、各画素の階調値にノズル相対吐出率(図10参照)をかけることによって、ノズル相対吐出率をかけない場合の階調値よりも小さな値となる。ノズル番号の主走査方向及び副走査方向の繰り返し周期を単位面積として、その単位面積での平均の階調値が、ノズル相対吐出率をかける前と、かけた後で変化しないように、つまり、ノズル相対吐出率を反映させる前後で、単位面積あたりの平均の階調値が不変となるように、ノズル相対吐出率を補正してもよい。
単位面積での平均階調値がノズル相対吐出率をかける前後で変化しないようにすることで、既述したΔIの算出を一層簡単にすることができる。具体的には、図34の下段に示したように、ΔIに、階調値1に対応する第一ローパスフィルタの平均値αをかけた値に、さらに、マスクサイズSをかけた値が、又は、ΔIに、階調値1に対応する第一ローパスフィルタの総和Bをかけた値が、ドット1個に対応する第二ローパスフィルタの平均値と一致するようにΔIを定めればよい。
ΔIにノズル相対吐出率を反映させても、その前後で単位面積あたりのΔIの平均値が変化しないという条件の下では、次の式(4)を満たす。
ΔI×B=ΔI×α×S=A(1,1)×α+A(1,2)×α+…+A(m,n)×α・・・式(4)
したがって、この値がドット1個に対応する第二ローパスフィルタの平均値と一致するようにΔIを定めればよい。
以上、第一ローパスフィルタの各セルの成分である係数の1画素当りの平均値に基づいてΔIを定める方法を説明したが、第一ローパスフィルタの各セルの成分である係数の総和に基づいてΔIを定めてもよい。つまり、式(1)で表されるローパス吐出率反映入力画像の全体の総和が、ドット1個に対応する第二ローパスフィルタの総和と一致するようにΔIを定めてもよいし、単位面積での平均階調値がノズル相対吐出率をかける前後で変化しないようノズル相対吐出率を補正する場合には、次の式(5)で表される値が、ドット1個に対応する第二ローパスフィルタの総和と一致するようにΔIを定めてもよい。
ΔI×B×S=A(1,1)×B+A(1,2)×B+…+A(m,n)×B ・・・式(5)
ノズル相対吐出率をかける前後で単位面積での平均階調が変化しないということは、ノズル相対吐出率の補正によって、ノズル相対吐出率の値が1を超えるものがあることを意味している。
[ノズル相対吐出率の補正について]
ノズル相対吐出率の補正は、具体的には以下のようにして行う。
各ノズル62の主走査方向及び副走査方向の繰り返し周期を単位面積として、その単位面積中のノズル番号0に対応する画素の面積比率をr0、ノズル番号1に対応する画素の面積比率をr1とし、以下同様に、単位面積中のノズル番号kに対応する画素の面積比率をrkと表す。kはノズル番号を表すパラメータである。ノズル列を構成するノズル数をQとし、ノズル番号の先頭番号を0とすると、kは0からQ-1の整数を表す(k=0,1,2,・・・Q-1)。Qは2以上の整数を表す。
図11に示した例の場合、走査パターンの繰り返し周期の単位となる単位面積は、ノズル番号0、5、1、6、2、7、3、8、4の順に並んだ主走査方向に1画素×副走査方向に9画素の9画素から構成される。走査パターンの繰り返し周期の単位となる単位面積を「走査パターン単位面積」と呼び、走査パターン単位面積中のノズル番号kに対応する画素を「ノズル番号k対応画素」と呼ぶことにする。この場合、ノズル番号k対応画素の階調和は、rk×Iとなる(k=0,1,2,・・・Q-1)。
そして、ノズル番号kのノズル相対吐出率をLkとすると、結果として、ノズル相対吐出率をかけた後の走査パターン単位面積中の平均階調はI×(r0×L0+r1×L1+・・・)となる。
ノズル相対吐出率をかける前後で走査パターン単位面積での平均階調が変化しないためには、次の式(6)を満たすこと、
I=I×(r0×L0+r1×L1+・・・) ・・・式(6)
つまり、式(7)を満たすように、各ノズル62のノズル相対吐出率L0,L1・・・を補正すればよい。
r0×L0+r1×L1+・・・=1 ・・・式(7)
各ノズル62の面積比率rkは、通常、次の式(8)を満たす。
r0=r1=r2=・・・=1/Q ・・・式(8)
式(8)においてQは、ノズル列を構成するノズル数を表す。
したがって、式(7)及び式(8)に基づき、各ノズルのノズル相対吐出率(L0,L1,L2・・・)の比率を変えずに、次の式(9)、
L0+L1+L2+・・・=Q ・・・式(9)
を満たすように、各ノズルのノズル相対吐出率Lk(k=0,1,2,・・・Q-1)にそれぞれ補正値β=Q/(L0+L1+L2+・・・)をかけてノズル相対吐出率の値を補正すればよい。
図35は図10で説明したノズル相対吐出率に補正値βをかけて補正したノズル相対吐出率の説明図である。補正値βは1よりも大きい値となるため、図35に示すように、補正後のノズル相対吐出率は1よりも大きくなる可能性がある。この場合、画像データの各画素の階調値に補正後のノズル相対吐出率をかけた値が最大階調値の100%以上となる場合には、変換後の階調値を最大階調値の100%としてもよい。
図35に示したように補正値βを用いてノズル相対吐出率を補正する工程が「補正工程」の一形態に相当する。なお、ノズル相対吐出率を補正する工程は、図31のステップS32でノズル相対吐出率を用いる前に実施される。
図33のステップS60の後、ステップS42に戻り、上述したステップS42からステップS58の処理を繰り返す。こうして、昇順で各閾値を定めていき、所定個数の閾値まで設定を終えると、ステップS58でYes判定となり、図33のサブルーチンを終える。
ステップS58でYes判定となった場合は、図36に示すフローチャートにしたがって、昇順における残りの全閾値の設定を行う。
図36のフローチャートにおいて、図33に示したフローチャートと同一又は類似する工程には同一のステップ番号を付し、その説明は省略する。
図36のフローチャートでは、ドット許容画素を決定する工程(ステップS40)が省略されており、図33のステップS42に代わるステップS42Aにおいて、ドット許容画素という制約を外して、閾値未設定画素において着目画素を仮設定する。また、図36のフローチャートでは、図33のステップS58に代えて、昇順側の全閾値設定を完了したか否かを判定する工程(図36のステップS58A)を有している。
図33のステップS58でYes判定となった場合は、図36のフローチャートに進み、ドット許容画素を設定せずに、図36のフローチャートにしたがって、昇順側の残りの全閾値の設定が行われる。図36のフローチャートが終了すると、図31のメインフローに復帰する。
図37は降順の閾値設定処理のフローチャートである。図37のフローチャートは図36に示した昇順のフローチャートと類似する処理の流れとなっている。主な相違点は、図37におけるステップS74とS76の工程である。
図37に示す降順の閾値設定処理では、ドット許容画素を設定しない。図37に示す降順の閾値決定処理では、まず、閾値未設定画素において着目画素を仮設定する(ステップS72)。ディザマスクの閾値未設定画素は、閾値設定順が降順の場合、ドット有りの画素となる。つまり、ドット配置におけるドット有りの画素の中から着目画素を仮設定する。そして、閾値設定順が降順の場合、ドット配置における着目画素に対応する画素位置からドットを仮に除く処理を行う(ステップS74)。ステップS74の工程を「ドットの仮除去」と呼ぶ。
ドットの仮除去に伴い、ローパスドット配置画像を仮修正する(ステップS76)。ステップS76での仮修正は、ローパスドット配置画像から着目画素に対応する画素位置の第二ローパスフィルタを仮に取り除く処理である。
そして、ローパス吐出率反映入力画像と、仮修正後のローパスドット配置画像の誤差を算出する(ステップS78)。ここで算出する「誤差」の評価指標は、図33のステップS48と同様に、差分の二乗和又は分散や、差分の二乗和の平方根又は標準偏差とすることができる。
図37のステップS80、S82、S84、S86、S88、及びS90の各工程は、図33のステップS50、S52、S54、S56、S58、及びS60の各工程にそれぞれ対応しているため、説明は省略する。ただし、図33のステップS58に代わる図37のステップS88では、降順側の全閾値の設定が完了したか否かの判定が行われる。
ステップS90の後、ステップS72に戻り、上述したステップS72からステップS88の処理を繰り返す。
こうして、降順で各閾値を定めていき、最小の閾値まで設定を終えると、ステップS88でYes判定となり、図37のサブルーチンを終えて、図31のメインフローに復帰する。
こうして、ディザマスクにおけるすべての画素の閾値が設定され、ディザマスクが完成する。
図38は第3実施形態に係るディザマスク生成装置の構成を示すブロック図である。図38において図29で説明した構成と同一又は類似する要素には同一の符号を付し、その説明は省略する。
図38に示したディザマスク生成装置150Aは、図29で説明したドット優先画素設定部156に代えて、ノズル相対吐出率反映処理部155を備えている。ノズル相対吐出率反映処理部155は、ディザマスク166の各閾値を設定する際の評価指標にノズル相対吐出率を反映させる処理を行う。
図39はノズル相対吐出率反映処理部155の詳細な構成を示したブロック図である。図39において図38で説明した構成と同一の要素には同一の符号を付し、その説明は省略する。
ノズル相対吐出率反映処理部155は、入力値設定部171、均一画像生成部172、階調変換部174、第一ローパスフィルタ処理部176、第一ドット配置生成部180、第二ローパスフィルタ処理部182、着目画素仮設定部184、仮ドット配置生成部186、仮修正部188、評価指標算出部190、誤差最小画素特定部192、第一ドット配置更新処理部194、及び入力値変更部196を備える。
入力値設定部171は、入力画像の階調値を示す入力値Iを設定する。入力値設定部171は、はじめに、初期の入力画像の階調値を示す初期入力値I0を設定する。
均一画像生成部172は、入力値設定部171で設定された入力値の均一画像200を生成する。初期入力値I0に対応する初期の均一画像200は、入力画像146(図32参照)に相当する。
階調変換部174は、ノズル相対吐出率データ170とノズルパターンデータ168に基づき、均一画像200の各画素値に、対応するノズル相対吐出率を反映させる階調変換の処理を行う。階調変換部174によって生成される第一画像202は、図31のステップS32で説明した吐出率反映入力画像に相当する。第一画像202は、図32で説明した吐出率反映入力画像148に相当する。階調変換部174は第一画像生成部と呼ぶことができ、階調変換部174による変換処理は、第一画像生成処理と把握することができる。
図39に示した第一ローパスフィルタ処理部176は、第一画像202に第一ローパスフィルタを畳み込む演算を行うことにより、第二画像204を生成する。第二画像204は、図31のステップS33で説明したローパス吐出率反映入力画像に相当する。第一ローパスフィルタ処理部176は第二画像生成部と呼ぶことができ、第一ローパスフィルタ処理部176によるフィルタ処理は、第二画像生成処理と把握することができる。
図39に示した第一ドット配置生成部180は、第一画像202に対応するドット配置である第一ドット配置206を生成する。
第二ローパスフィルタ処理部182は、第一ドット配置に対して第二ローパスフィルタを畳み込む演算を行うことにより、第三画像208を生成する。第三画像208は、図31のステップS35で説明したローパスドット配置画像に相当する。第二ローパスフィルタ処理部182は第三画像生成部と呼ぶことができ、第二ローパスフィルタ処理部182によるフィルタ処理は、第三画像生成処理と把握することができる。
着目画素仮設定部184は、第一ドット配置206を基に、ディザマスクの閾値未設定画素に着目画素を仮設定する。着目画素仮設定部184は、図33のステップS42及び図37のステップS72に示した工程を行う。着目画素仮設定部184は、図33のステップS42に示した工程の処理を行うにあたり、ノズル吐出率制限部157(図38参照)により設定されるドット許容画素に属する閾値未設定画素に着目画素を仮設定する。
仮ドット配置生成部186は、着目画素にドットの仮置きを行い、又は、着目画素からドットの仮除去を行い、仮のドット配置を生成する。仮ドット配置生成部186は、図33のステップS44及び図37のステップS74に示した工程を行う。
仮修正部188は、仮ドット配置生成部186によるドットの仮置き又は仮除去に伴い、第三画像208を仮修正する処理を行う。仮修正部188は、図33のステップS46及び図37のステップS76に示した工程を行う。
評価指標算出部190は、第二画像204と、仮修正後の第三画像208との誤差を評価する評価指標を算出する。評価指標算出部190は、図33のステップS48及び図37のステップS78に示した工程を行う。
誤差最小画素特定部192は、仮設定の着目画素の位置を変えて、評価指標算出部190により算出された評価指標の中から、誤差が最小となる画素の位置を特定する。誤差が最小となる画素である誤差最小画素の情報は閾値設定部158に提供される。
閾値設定部158は、ディザマスク166の閾値未設定画素のうち、評価指標算出部190によって求められた評価指標から、誤差が最小となる画素に閾値を設定する。誤差最小画素特定部192と閾値設定部158によって、図33のステップS54及び図37のステップS84に示した工程を行う。
第一ドット配置更新処理部194は、誤差最小画素の情報に基づき、誤差最小画素にドットを置き、又は、誤差最小画素からドットを取り除き、第一ドット配置206を更新する処理を行う。そして、第二ローパスフィルタ処理部182は、更新された第一ドット配置206に対して第二ローパスフィルタを畳み込む演算を行うことにより第三画像208を更新する。または、第二ローパスフィルタ処理部182は、初期の第三画像208に対して誤差最小画素に対応する画素位置に第二ローパスフィルタを付加、又は、誤差最小画素に対応する画素位置から第二ローパスフィルタを取り除くことにより第三画像208を更新する。第一ドット配置更新処理部194と第二ローパスフィルタ処理部182によって、図33のステップS56及び図37のステップS86に示した工程を行う。
第一ドット配置更新処理部194によって生成された最新のドット配置によって初期の第一ドット配置を書き換え更新してもよいし、初期の第一ドット配置を保持し、かつ、更新後のドット配置を保持してもよい。
入力値変更部196は、閾値設定部158による閾値の設定に伴い、入力値の変更を行う。具体的には、ドット1個分の入力値の増分であるΔIを用いて、ドットの増減に対応して入力値を変更する。そして、均一画像生成部172は変更された入力値の均一画像200を生成し、階調変換部174は均一画像200の各画素値に、対応するノズル相対吐出率を反映させる階調変換の処理を行って第一画像202を生成し、第一ローパスフィルタ処理部176は、第一画像202に第一ローパスフィルタを畳み込む演算を行うことにより、第二画像204を生成する。
入力値変更部196、均一画像生成部172、階調変換部174及び第一ローパスフィルタ処理部176によって、図33のステップS60及び図37のステップS90に示した工程を行う。
[第4実施形態]
第3実施形態で説明したディザマスク生成方法は、図33、図36及び図37で説明したとおり、各閾値を設定する度に、候補となる閾値未設定画素に着目画素を仮に設定し、昇順の閾値設定順である場合は、第一ドット配置にドットを仮に置き、かつ、ローパスドット配置画像に第二ローパスフィルタを付加し、降順の閾値設定順である場合は、第一ドット配置からドットを仮に除き、かつ、ローパスドット配置画像から第二ローパスフィルタを除去し、ローパス吐出率反映入力画像とローパスドット配置画像の誤差を算出する処理を繰り返し実施する必要があるため、多大な演算量が必要となる。
そこで、第4実施形態では、第3実施形態よりも少ない演算量でディザマスクを生成することができる手段を提供する。
図40は第4実施形態によるディザマスク生成方法のフローチャートである。図33で説明したフローチャートに代えて、図40のフローチャートを採用することができる。
ここでは、説明を簡単にするために、閾値設定順が昇順の場合のみを説明する。図40に示すフローチャートのように、図40の閾値設定処理では、まず、ドット許容画素を決定する(ステップS100)。ドット許容画素の設定方法については、第1実施形態で説明したとおりである。ステップS100の工程は、図21のステップS10で説明した工程と同様の処理を行う工程である。
次いで、ローパスドット配置画像に、ローパス吐出率反映入力画像を反映し、入力反映ローパスドット配置画像を生成する(ステップS102)。ステップS102の工程が「第四画像生成工程」の一形態に相当する。入力反映ローパスドット配置画像は「第四画像」の一形態に相当する。
反映の仕方として、ローパスドット配置画像とローパス吐出率反映入力画像の差をとる場合、次の式(10)により入力反映ローパスドット配置画像を生成する。
RIN_F_HT(x,y) =F_HT(x,y) − F_IN(x,y) ・・・式(10)
ここで、x,yは画素の位置を表す。RIN_F_HT(x,y)はx,yにおける入力反映ローパスドット配置画像を表す。F_HT(x,y)はx,yにおけるローパスドット配置画像を意味する。F_IN(x,y)はx,yにおけるローパス吐出率反映入力画像を意味する。
また、反映の仕方として、ローパスドット配置画像とローパス吐出率反映入力画像の比(つまり、商)をとる場合、次の式(11)で入力反映ローパスドット配置画像を生成する。
RIN_F_HT(x,y) =F_HT(x,y) / F_IN(x,y) ・・・式(11)
商をとる場合、分母「0」による割り算を防ぐため、F_IN(x,y)に微小値(例えば、1など)を付加することが望ましい。
理解の助けとするために、具体的なイメージ図で説明する。
図41はローパス吐出率反映入力画像を生成する工程について、具体的な画像イメージを用いて示した説明図である。図41では、図示の便宜上、吐出率反映入力画像212の例として、図示のように、画像の上側が濃く、下側が薄い塗り分けパターンを示した。図41において、第一ローパスフィルタ214は、フィルタ係数の大小を濃淡で表したものとなっている。フィルタ中央部から外側周囲に向かって、フィルタ係数が次第に小さくなる傾向を示している。
吐出率反映入力画像212に第一ローパスフィルタ214を畳み込むことにより、ローパス吐出率反映入力画像216が生成される。ローパス吐出率反映入力画像216は、第二画像204(図39参照)に相当する。
図42はローパスドット配置画像を生成する工程について、具体的な画像イメージを用いて示した説明図である。図42に示したドット配置222は、図41で例示した吐出率反映入力画像212に対応したドット配置である。図42において、第二ローパスフィルタ224は、フィルタ係数の大小を濃淡で表したものとなっている。フィルタ中央部から外側周囲に向かって、フィルタ係数が次第に小さくなる傾向を示している。
ドット配置222に第二ローパスフィルタ224を畳み込むことにより、ローパスドット配置画像226が生成される。ローパスドット配置画像226は、第三画像208(図39参照)に相当する。
図43は入力反映ローパスドット配置画像を生成する工程について、具体的な画像イメージを用いて示した説明図である。
図43に示したローパス吐出率反映入力画像216は、図41で説明した吐出率反映入力画像212に第一ローパスフィルタ214を畳み込んで得られた画像である。図43に示したローパスドット配置画像226は、図42で説明したドット配置222に第二ローパスフィルタ224を畳み込んで得られた画像である。ただし、図43では図面を分かり易く示すために、図43における各画像の濃淡のスケール(変化域)は適宜調整して描いており、画像間でスケールは統一されていない。
図43に示す入力反映ローパスドット配置画像230Aは、ローパス吐出率反映入力画像216とローパスドット配置画像226の対応する画素同士の画素値を引き算して得られる、両者の差分を表す画像である。
また、図43に示す入力反映ローパスドット配置画像230Bは、ローパス吐出率反映入力画像216とローパスドット配置画像226の対応する画素同士の画素値を割り算して得られる、両者の商を表す画像である。
ローパス吐出率反映入力画像216とローパスドット配置画像226の差異を、差分によって表すか、商によって表すかの違いはあるものの、いずれの場合も、入力反映ローパスドット配置画像230A、230Bは、ローパス吐出率反映入力画像216の各画素値をローパスドット配置画像226の対応する各画素値に反映した画像となっている。
ローパス吐出率反映入力画像216とローパスドット配置画像226の誤差が小さいほど、入力反映ローパスドット配置画像230A又は230Bの階調分布の均一性が高まる。つまり、ローパス吐出率反映入力画像216とローパスドット配置画像226の誤差が小さいほど、入力反映ローパスドット配置画像230A又は230Bは、より均一な画像に近づく。
したがって、入力反映ローパスドット配置画像230A又は230Bの階調分布の均一性を向上させるようにドットの追加設置位置又はドットの除去位置となる画素の位置を定めることにより、吐出率反映入力画像212の再現に適したドット配置を得ることができる。
「階調分布の均一性を向上させる」とは、入力反映ローパスドット配置画像230A、230Bが均一な画像に近づくことを意味している。入力反映ローパスドット配置画像230A又は230Bが均一な画像に近づくことは、ローパス吐出率反映入力画像216とローパスドット配置画像226の差異(つまり誤差)が小さくなることを意味する。
ローパス吐出率反映入力画像216との差異が小さいローパスドット配置画像226が得られるということは、すなわち、吐出率反映入力画像212の画像内容を良好に再現するドット配置(つまり、ハーフトーン画像)が得られることを意味する。「階調分布の均一性を向上させる」ことを、「均一化」と表現する場合がある。階調分布の均一性が向上することは、階調分布の均一性が良好になることを意味しており、階調分布の均一性が良化すること、と同義である。
図40のステップS102にて、入力反映ローパスドット配置画像を生成したら、続いて、ドット許容画素かつ入力反映ローパスドット配置画像内における最小の画素値の画素に閾値を設定する(ステップS104)。ステップS104では、ドット許容画素という制約の下で、入力反映ローパスドット配置画像の画像内における各画素の画素値同士を比較し、画素値が最小の画素を閾値設定画素に決定する。そして、決定した閾値設定画素に、閾値を設定する。
入力反映ローパスドット配置画像において画素値が最小の画素は、「第一ドット配置における各画素のうち、ドットの設置の実施に伴って第三画像及び第四画像を修正した場合に、第四画像の階調分布の均一性が良化する画素」の一形態である。
ステップS104による閾値の設定に伴い、ドット配置及びローパスドット配置画像を更新する(ステップS106)。すなわち、ステップS104によって閾値を設定した画素の位置に、ドットを置き、ドット配置を更新する。また、更新したドット配置に対応したローパスドット配置画像を生成して、ローパスドット配置画像を更新する。
ステップS108では、昇順側の所定個数の閾値設定が完了したか否かの判定を行う。ステップS108でNo判定の場合には、ステップS110に進む。ステップS110では、次の入力値の均一画像を設定し、吐出率反映入力画像及びローパス吐出率反映入力画像を生成する。ステップS108とステップS110の工程は、図33のステップS58とステップS60の工程と同様である。
ただし、入力反映ローパスドット配置画像が、式(11)で示したように商で定義される場合、図40のステップS110の工程は必要ない。
図40のステップS110の後、ステップS102に戻り、上述したステップS102からステップS108の処理を繰り返す。こうして、昇順で各閾値を定めていき、所定個数の閾値まで設定を終えると、ステップS108でYes判定となり、図40のサブルーチンを終える。
ステップS108でYes判定となった場合は、図44に示すフローチャートにしたがって、昇順における残りの全閾値の設定を行う。
図44のフローチャートにおいて、図40に示したフローチャートと同一又は類似する工程には同一のステップ番号を付し、その説明は省略する。
図44のフローチャートでは、ドット許容画素を決定する工程(ステップS100)が省略されており、図40のステップS104に代わるステップS104Aにおいて、ドット許容画素という制約を外して、入力反映ローパスドット配置画像における最小の画素値の画素に閾値を設定する。
また、図44のフローチャートでは、図40のステップS108に代えて、昇順側の全閾値設定を完了したか否かを判定する工程(図44のステップS108A)を有している。
図40のステップS108でYes判定となった場合は、図44のフローチャートに進み、ドット許容画素を設定せずに、図44のフローチャートにしたがって、昇順側の残りの全閾値の設定が行われる。図44のフローチャートが終了すると、図31のメインフローに復帰する。
降順の閾値決定処理のフローチャートは図示しないが、降順の閾値決定処理については、図44のフローチャートと類似している。降順の場合は、ステップS104Aで最小の画素値の画素に閾値を設定する工程に代えて、入力反映ローパスドット配置画像における最大の画素値の画素に閾値を設定し、閾値を設定した画素の位置からドットを取り除いて(除去して)、ドット配置とローパスドット配置画像を更新する。
第4実施形態のディザマスク生成方法によれば、入力反映ローパスドット配置画像を導入し、入力反映ローパスドット配置画像を均一化するように、ドットを置く位置、又は、ドットを取り除く位置を決定することにより、結果的に、ローパス吐出率反映入力画像とローパスドット配置画像との誤差を小さくするという演算手法を採用している。つまり、第4実施形態では、入力反映ローパスドット配置画像を均一化するように、入力反映ローパスドット配置画像内における画素値の比較に基づいて、閾値を設定する画素の位置を特定し、閾値の設定を行う。
本実施形態によれば、入力反映ローパスドット配置画像の画素値をそのまま評価指標として利用することができ、二乗誤差などの別途の評価値を計算することなく、入力反映ローパスドット配置画像の画像内における画素値同士の大小関係の比較に基づいて、閾値を設定する画素を簡単に特定することができる。
したがって、第3実施形態の方法に比べて、少ない演算量で適切なディザマスクを得ることができる。
図45は第4実施形態に係るディザマスク生成装置の要部構成を示すブロック図である。図45において図39で説明した構成と同一又は類似する要素には同一の符号を付し、その説明は省略する。第4実施形態のディザマスク生成装置の基本的な構成は図38に示した第3実施形態と同様であるが、図39で説明したノズル相対吐出率反映処理部155に代えて、図45に示すノズル相対吐出率反映処理部256の構成を備える。
第4実施形態におけるノズル相対吐出率反映処理部256は、第四画像生成部260と、閾値設定画素決定部262と、第四画像更新処理部264とを備える。第四画像生成部260は、第二画像204と第三画像208から、両者の差異を表す第四画像266を生成する処理を行う。第四画像266は、図40のステップS102で説明した入力反映ローパスドット配置画像に相当する。第四画像266は、第二画像204の各画素値を第三画像208の各画素値に反映した画像である。
第二画像204と第三画像208の差異を表すように、第二画像の各画素値を第三画像208の各画素値に反映させる反映の仕方として、差をとる場合と、比をとる場合とがある。「差」は画素値同士の減算によって求められる。「比」は画素値同士の割り算(除算)によって求められる。「比」は「商」と同義である。
第四画像生成部260は、第二画像204と第三画像208のそれぞれ対応する画素位置同士の画素値の差(すなわち、減算)を計算して、その差を示す値を画素値とする第四画像266を生成する構成とすることができる。
また、差を計算する形態に限らず、対応する画素位置同士の画素値の比、すなわち、除算による商によって、第二画像204と第三画像208の差異を表す第四画像266を生成してもよい。つまり、第四画像生成部260は、第二画像204と第三画像208のそれぞれ対応する画素位置同士の画素値の比(除算による商)を計算して、その商を示す値を画素値とする第四画像266を生成する構成とすることができる。
閾値設定画素決定部262は、第四画像266を基に、閾値を設定する画素の場所である閾値設定画素を決定する処理を行う。具体的には、第四画像266の画像内の画素値を比較して、第四画像266の中からドット許容画素かつ画素値が最小となる画素、又は、画素値が最大となる画素を決定する。
閾値設定画素決定部262で決定した閾値設定画素の情報は、閾値設定部158に送られる。閾値設定部158は、閾値設定画素に閾値を設定する。
また、閾値設定画素決定部262で決定した閾値設定画素の情報は、第一ドット配置更新処理部194に送られる。第一ドット配置更新処理部194は、閾値設定画素にドットを追加し、又は、閾値設定画素からドットを除去し、第一ドット配置206を更新する処理を行う。第一ドット配置更新処理部194によって生成された最新のドット配置によって初期の第一ドット配置を書き換え更新してもよいし、初期の第一ドット配置を保持し、かつ、更新後のドット配置を保持してもよい。
さらに、閾値設定画素決定部262で決定した閾値設定画素の情報は、第四画像更新処理部264に送られる。
第四画像更新処理部264は、第一ドット配置更新処理部194による第一ドット配置206の更新処理に伴い、第四画像266を修正して更新する処理を行う。第四画像更新処理部264は、閾値設定画素に追加されるドットに相当する第二ローパスフィルタの寄与成分を第四画像266に付加する処理、又は、閾値設定画素から除去されるドットに相当する第二ローパスフィルタの寄与成分を第四画像266から除去する処理を行い、第四画像266を修正する。
第四画像更新処理部264による修正処理の結果、画素の値が更新された第四画像266が得られる。初期の第四画像266を、第四画像更新処理部264により生成された最新の第四画像266によって書き換え更新してもよいし、初期の第四画像を保持し、かつ、第四画像更新処理部264によって生成された更新後の第四画像を保持してもよい。
なお、ディザマスク生成装置150A(図38参照)内で生成される第一画像202、第二画像204、第一ドット配置206、第三画像208、及び第四画像266の各データは、ディザマスク生成装置150A内に備えるメモリ(不図示)その他の記憶部に保持される。
<第4実施形態の変形例1>
上述の第4実施形態において、第四画像生成部260により生成した第四画像266である入力反映ローパスドット配置画像をメモリ等に保持し、閾値の設定に伴い、第四画像266を更新して、更新後の第四画像266を保持する例を説明した。
しかし、発明の実施に際しては、生成した第四画像266を保持していることは必ずしも必要ない。例えば、第二画像204と第三画像208のみを保持し、閾値設定画素を決定する際の画素値評価を行うときに、第四画像に相当する値を随時計算してもよい。
<第4実施形態の変形例2>
上述の第4実施形態では、第四画像266の最小値(昇順の閾値設定順の場合)に相当する画素に、閾値を設定することとしたが、閾値設定画素は、必ずしも第四画像266における最小値の画素でなくともよい。例えば、第四画像266における画素値の平均値よりも規定値以下の画素を、全て候補とし、それら候補のうち、さらに、乱数的に、又は、別途の指標や配置制約を加味して、一つの閾値設定画素を選択し、当該選択した閾値設定画素に閾値を設定してもよい。
候補を定める基準となる「規定値」は、予め設定された固定の値であってもよいし、閾値設定の度に変更してもよい。また、規定値を変更する場合には、負の値を含めてもよい。規定値として負の値を用いることは、すなわち、平均値よりも大きい画素値の画素を候補に含めることを意味する。規定値として負の値を許容する理由は、シミュレーテッドアニーリング法と同様に、部分局所最適解に陥ることを回避して、最適な解に到達するためである。そのような目的を達成できる範囲で、規定値の変更が行われる。
別途の指標には、例えば、粒状性、スジ状の画像欠陥、濃度ムラ、若しくは、バンディングなどの画質を評価する指標や、ドット被覆率などの指標、又は、これらの指標の適宜の組み合わせを採用することができる。
配置制約としては、例えば、隣接ドットが有る画素に限定する、若しくは、隣接ドットが無い画素に限定するなどの制約の他、特定ノズルや特定の走査パスに相当する画素に限定する、若しくは、特定ノズルや特定の走査パスに相当しない画素に限定するなどの制約を採用することができ、これらの制約を適宜組み合わせた配置制約としてもよい。
第3実施形態で説明した方法では、閾値未設定画素かつドット許容画素の全てを候補として、試行演算を繰り返しているのに対し、第4実施形態によれば、入力反映ローパスドット配置画像の画素値に基づいて、候補となる画素を絞り込んでいるため、閾値設定画素の決定が容易である。特に、第4実施形態によれば、入力反映ローパスドット配置画像における画素値の比較に基づき、簡単なルールにしたがって一つの閾値設定画素を特定することができる。簡単なルールとは、既に説明した最小値の画素とするルール、或いは、規定値による候補の絞り込みと乱数等による選択を組み合わせたルールなどのことである。第4実施形態によれば、少ない演算量で、最適なディザマスクを得ることができる。なお、また、入力反映ローパスドット配置画像における画素値を比較するに際し、画素単位の1画素対1画素で画素値を比較する場合に限らず、複数の画素をグループにして、グループ単位で画素値を比較してもよい。
<第4実施形態の変形例3>
図40のステップS102で説明した入力反映ローパスドット配置画像の生成に関して、既述した式(10)の右辺の第1項と第2項を入れ替えた式(12)を用いることができる。すなわち、ローパスドット配置画像にローパス吐出率反映入力画像を反映する方法として、両者の「差」をとる場合、式(10)に代えて、次の式(12)を用いることができる。
RIN_F_HT(x,y) =F_IN(x,y) − F_HT(x,y) ・・・式(12)
この場合、ステップS104の処理については、入力反映ローパスドット配置画像の最大値の画素の閾値を設定する、又は、平均値よりも規定値以上の画素に閾値を設定することになる。
<第4実施形態の変形例4>
図40のステップS102で説明した入力反映ローパスドット配置画像の生成に関して、既述した式(11)の右辺の分母と分子を入れ替えた式(13)を用いることができる。
すなわち、ローパスドット配置画像にローパス吐出率反映入力画像を反映する方法として、両者の「商」をとる場合、式(11)に代えて、次の式(13)を用いることができる。
RIN_F_HT(x,y) =F_IN(x,y) / F_HT(x,y) ・・・式(13)
なお、分母「0」による割り算を防ぐため、F_HT(x,y)に微小値(例えば、1など)を付加することが望ましい。
この場合、ステップS104の処理については、入力反映ローパスドット配置画像の最大値の画素に閾値を設定する、又は、平均値よりも規定値以上の画素に閾値を設定することになる。
<第4実施形態の変形例5>
入力反映ローパスドット配置画像の定義について、式(10)や式(12)のように、引き算(減算)による「差分」によって定義する場合と、式(11)や式(13)のように、割り算(除算)による「商」によって定義する場合を説明したが、引き算は、負の値の足し算(加算)として扱うことも可能であり、除算は、分数の掛け算(乗算)として扱うことができる。したがって、このような等価的な扱いのもとで、減算による差分は、加算による「和」として表記することが可能であるし、除算による商は、乗算による「積」として表記することも可能である。
[第5実施形態]
第1実施形態から第4実施形態では、各ラスタの各主走査位置を各ノズルが記録するノズル吐出率に上限を設定し、この上限(制限)に基づき閾値設定を許容するドット許容画素を設定し、ドット許容画素に基づき各ラスタにおける各ノズルのノズル吐出率に制限をかけた。しかし、各ノズルのノズル吐出率に制限をかける方法は、ドット許容画素の設定を行う形態に限らず、各ラスタの各主走査位置について設定する閾値の個数に直接的に制限をかける形態も可能である。
図46は第5実施形態に係るディザマスク生成方法のフローチャートである。図46に示すフローチャートにおいて、図21で説明したフローチャートと同一又は類似する工程には同一のステップ番号を付し、その説明は省略する。図21で説明したフローチャートに代えて、図46に示すフローチャートを適用することができる。
図46に示すフローチャートでは、図21のステップS10の工程(ドット許容画素を決定する工程)が無く、図21のステップS20に代えて、ステップS20Aの工程を有する。図46のステップS20Aでは、閾値未設定かつドット優先画素かつその画素が属するラスタ内主走査位置の既に設定された閾値数が制限値以下である画素に閾値を仮設定し、粒状性を評価する。
ラスタ内主走査位置とは、注目するラスタにおけるパスグループを指す。主走査方向のパス数が1パスである場合のラスタの全画素は同じ1種類のパスグループ(主走査位置1)に属している。したがって、主走査方向のパス数が1パスである場合のラスタ内主走査位置は、「主走査位置1」のパスグループの1種類のみであり、主走査位置1に属する画素の数は、ラスタの主走査画素数と一致する。この場合、ラスタごとに、主走査位置1に属する画素に対して設定できる閾値数の上限を規定する制限値が定められる。閾値数とは、閾値の設定個数をいう。
一方、主走査方向のパス数が2パスである場合のラスタの各画素は、2種類のパスグループ(主走査位置1のグループと主走査位置2のグループ)に分けられる。この場合、ラスタごとに、主走査位置1に分類されるラスタ内主走査位置に属する画素に対して設定できる閾値数と、主走査位置2に分類されるラスタ内主走査位置に属する画素に対して設定できる閾値数とをそれぞれ制限値によって制限する。
ここで「制限値」は、「ノズル吐出率の上限値×各ラスタ内主走査位置に属する画素数」とする。制限値は第1実施形態で説明した各ラスタの各主走査位置に対して設定されるドット許容画素の数と同等の値に設定される。例えば、ノズル吐出率の上限値を「0.8」とすると、1パスの例(図11参照)では、制限値は0.8×18=14.4より、整数値に丸めて、14個又は15個とする。2パスの例(図17参照)では、制限値は各ラスタの各主走査位置について、0.8×20/2=8個とする。
また、図46では、ステップS24とステップS26の間にステップS25の工程を有する。すなわち、ステップS24にて誤差が最小となる画素に閾値を設定した後、ステップS25に進み、閾値を設定した画素が属するラスタ内主走査位置の閾値数を1増やす処理を行う。ステップS25の処理は、各ラスタの主走査位置ごとに、設定された閾値の個数をカウントアップし、各ラスタの各主走査位置において設定された閾値数を管理する処理である。
図46のステップS26における「所定個数」としては、まず、各ラスタの各主走査位置に属するドット優先画素の数を各々算出し、この算出したラスタ内主走査位置ごとのドット優先画素の数が制限値よりも大きい場合は制限値に変更した後に、制限値以下の場合はその算出した数の各数の総和を算出した数とする。または、この総和を算出した数よりも少ない数を「所定個数」としてもよい。
図46のフローチャートによれば、各ラスタの各主走査位置について、閾値を設定する個数に上限を設け、設定した閾値の個数がその上限(制限値)に達したら、それ以上、当該ラスタの各主走査位置に閾値を設定しないことになる。これにより、ラスタ単位で実際のノズル吐出率が制限値以下に制御される。
図46のフローチャートにおいて、ステップS20AとステップS25の組み合わせが「ノズル吐出率制限工程」の一形態に相当する。
[第6実施形態]
図47は第6実施形態に係るディザマスク生成方法のフローチャートである。図47に示すフローチャートにおいて、図33で説明したフローチャートと同一又は類似する工程には同一のステップ番号を付し、その説明は省略する。図33で説明したフローチャートに代えて、図47に示すフローチャートを適用することができる。
図47に示すフローチャートでは、図33のステップS40の工程(ドット許容画素を決定する工程)が無く、図33のステップS42に代えて、ステップS42Bの工程を有する。図47のステップS42Bでは、閾値未設定かつその画素が属するラスタ内主走査位置の既に設定された閾値数が制限値以下である画素に着目画素を仮設定する。
また、図47では、ステップS54とステップS56の間にステップS55の工程を有する。すなわち、ステップS54にて誤差が最小となる画素に閾値を設定した後、ステップS55に進み、閾値を設定した画素が属するラスタ内主走査位置の閾値数を1増やす処理を行う。ステップS55の処理は、各ラスタの主走査位置ごとに、設定された閾値の個数をカウントアップし、各ラスタの各主走査位置において設定された閾値数を管理する処理である。ステップS55は図46のステップS25と同様の工程である。
図47のステップS58における「所定個数」としては、各ラスタの各主走査位置の制限値の総和、又はそれよりも少ない数にする。
図47のフローチャートにおいて、ステップS42BとステップS55の組み合わせが「ノズル吐出率制限工程」の一形態に相当する。
[第7実施形態]
図48は第7実施形態に係るディザマスク生成方法のフローチャートである。図48に示すフローチャートにおいて、図40で説明したフローチャートと同一又は類似する工程には同一のステップ番号を付し、その説明は省略する。図40で説明したフローチャートに代えて、図48に示すフローチャートを適用することができる。
図48に示すフローチャートでは、図40のステップS100の工程(ドット許容画素を決定する工程)が無く、図40のステップS104に代えて、ステップS104Bの工程を有する。図48のステップS104Bでは、その画素が属するラスタ内主走査位置の既に設定された閾値数が制限値以下かつ入力反映ローパスドット配置画像における最小の画素値の画素に閾値を設定する。
また、図48では、ステップS104BとステップS106の間にステップS105の工程を有する。すなわち、ステップS104Bにて閾値を設定した後、ステップS105に進み、閾値を設定した画素が属するラスタ内主走査位置の閾値数を1増やす処理を行う。ステップS105の処理は、各ラスタの主走査位置ごとに、設定された閾値の個数をカウントアップし、各ラスタの各主走査位置において設定された閾値数を管理する処理である。ステップS105は図46のステップS25と同様の工程である。
図48のステップS108における「所定個数」としては、各ラスタの各主走査位置の制限値の総和、又はそれよりも少ない数にする。
図48のフローチャートにおいて、ステップS104BとステップS105の組み合わせが「ノズル吐出率制限工程」の一形態に相当する。
[他の変形例]
第1実施形態から第7実施形態では、インクジェット記録装置として、紫外線硬化型インクを用いるワイドフォーマットプリンタを例に挙げて説明を行ったが、紫外線硬化型インクを用いるものに限らず、様々な種類のインクを用いて記録媒体に画像を記録する各種のインクジェット記録装置に本発明を適用することができる。
また、第1実施形態から第7実施形態では、ノズル列の両端部のノズルのノズル相対吐出率を、ノズル列の中央部のノズルのノズル相対吐出率よりも小さく設定しているが、記録ヘッドの種類や記録方式などに応じてノズルごとのノズル相対吐出率は適宜変更してもよい。
<コンピュータをディザマスク生成装置として機能させるプログラムについて>
上述の各実施形態で説明したディザマスク生成方法によりディザマスクを生成する装置としてコンピュータを機能させるためのプログラムをCD−ROM(Compact Disc read-only memory)や磁気ディスクその他のコンピュータ可読媒体(有体物たる非一時的な情報記憶媒体)に記録し、情報記憶媒体を通じてプログラムを提供することが可能である。このような情報記憶媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの通信ネットワークを利用してプログラム信号をダウンロードサービスとして提供することも可能である。
また、ディザマスク生成装置の機能をアプリケーションサーバとして提供し、通信ネットワークを通じて処理機能を提供するサービスを行うことも可能である。
さらに、このプログラムをコンピュータに組み込むことにより、コンピュータにディザマスク生成装置の各機能を実現させることができ、上述の実施形態で説明したディザマスク生成機能を実現することができる。
また、本実施形態で説明したディザマスク生成機能を含む印刷制御を実現するためのプログラムの一部又は全部をホストコンピュータなどの上位制御装置に組み込む態様や、インクジェット記録装置側の中央演算処理装置(CPU)の動作プログラムとして適用することも可能である。
[実施形態の利点]
上述した各実施形態によれば、各ノズルのノズル吐出率を偏らせたディザマスクを生成する際に、各ラスタについてラスタごとに各ノズルのノズル吐出率に、最大ノズル吐出率よりも低い上限を設定するようにしたため、スジが出にくいディザマスクを生成することが可能である。
また、各実施形態によって生成されるディザマスクを用いてハーフトーン処理を実施し、得られたハーフトーン画像に基づいてインクの吐出制御を行うことにより、バンディングが抑制された良好な画像を形成することが可能である。
[その他]
上記の実施形態では、濃度変化によるバンディング、スジ若しくはムラを抑制することを目的としたが、インクジェット記録装置においては光沢変化によるバンディング、スジ若しくはムラも同様に生じ、本課題に対しても本発明は有効である。また、同様にドットパターンの変化によるバンディング、スジ若しくはムラに対しても本発明は有効である。
以上説明した本発明の実施形態は、本発明の趣旨を逸脱しない範囲で、適宜構成要件を変更、追加、削除することが可能である。本発明は以上説明した実施形態に限定されるものでは無く、本発明の技術的思想内で当該分野の通常の知識を有するものにより、多くの変形が可能である。