A.第1実施例:
図1は、印刷装置の実施例である複合機200の説明図である。複合機200は、制御部299と、スキャナ部280と、印刷実行部400と、を有している。制御部299は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
プロセッサ210は、データ処理を行うように構成された装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。
不揮発性記憶装置230は、プログラム232を格納している。プロセッサ210は、プログラム232を実行することによって、種々の機能を実現する(詳細は、後述)。プロセッサ210は、プログラム232の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置220、不揮発性記憶装置230のいずれか)に、一時的に格納する。本実施例では、プログラム232は、複合機200の製造者によって、ファームウェアとして、不揮発性記憶装置230に予め格納されている。
表示部240は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部250は、表示部240上に重ねて配置されたタッチパネル、ボタン、レバーなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部250を操作することによって、種々の指示を複合機200に入力可能である。通信インタフェース270は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。
スキャナ部280は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿等の対象物を読み取るように構成された読取装置である。スキャナ部280は、読み取った画像(「読取画像」と呼ぶ)を表す読取データを生成する(例えば、RGBのビットマップデータ)。
印刷実行部400は、用紙(印刷媒体の一例)上に画像を印刷する装置である。本実施例では、印刷実行部400は、印刷ヘッド410(単にヘッド410とも呼ぶ)と、ヘッド駆動部420と、第1移動装置430と、第2移動装置440と、インク供給部450と、これらの要素410、420、430、440、450を制御する制御回路490と、を有している。本実施例では、印刷実行部400は、シアンCとマゼンタMとイエロYとブラックKとのそれぞれのインクを用いるインクジェット式の印刷装置である。制御回路490は、例えば、モータなどを駆動する専用の電気回路で構成されている。制御回路490は、コンピュータを含んでもよい。
制御部299は、画像データを用いて印刷データを生成し、生成した印刷データを用いて印刷実行部400に画像を印刷させるように構成されている。制御部299は、印刷データを生成するために、読取データや、外部記憶装置(例えば、通信インタフェース270に接続されたメモリーカード)に格納された画像データを、利用できる。また、制御部299は、複合機200に接続された他の外部装置によって供給された印刷データを用いて、印刷実行部400に画像を印刷させることができる。
図2は、印刷実行部400の概略図である。第1移動装置430は、キャリッジ433と、摺動軸434と、ベルト435と、複数個のプーリ436、437と、を備えている。キャリッジ433は、ヘッド410を搭載する。摺動軸434は、キャリッジ433を主走査方向(Dx方向に平行な方向)に沿って往復動可能に保持する。ベルト435は、プーリ436、437に巻き掛けられ、一部がキャリッジ433に固定されている。プーリ436は、図示しない主走査モータの動力によって回転する。主走査モータがプーリ436を回転させると、キャリッジ433が摺動軸434に沿って移動する。これによって、用紙PMに対して主走査方向に沿ってヘッド410を移動させる主走査が実現される。
第2移動装置440は、用紙PMを保持しつつ、ヘッド410に対して主走査方向に垂直なDy方向に用紙PMを搬送する。以下、Dy方向を、搬送方向Dyとも呼ぶ。また、Dy方向を、+Dy方向とも呼び、+Dy方向の反対方向を、-Dy方向とも呼ぶ。+Dx方向と-Dx方向とについても、同様である。用紙PM上の画像の印刷は、用紙PM上の+Dy方向側から-Dy方向側に向かって進行する。
第2移動装置440は、ヘッド410のインクを吐出する面に対向する位置に配置されるとともに、用紙PMを支持するように構成されたプラテンPTと、それぞれがプラテンPT上に配置された用紙PMを保持するように構成された第1ローラ441と第2ローラ442と、ローラ441、442を駆動する図示しないモータと、を備えている。第1ローラ441は、ヘッド410よりも-Dy方向側に配置され、第2ローラ442は、ヘッド410よりも+Dy方向側に配置されている。用紙PMは、図示しない用紙トレイから、図示しない給紙ローラによって、第2移動装置440に供給される。第2移動装置440に供給された用紙PMは、第1ローラ441と、第1ローラ441に対となる図示しない従動ローラの間に挟まれ、これらローラによって副走査方向Dy側に搬送される。搬送された用紙PMは、第2ローラ442と、第2ローラ442に対となる図示しない従動ローラの間に挟まれ、これらローラによって副走査方向Dy側に搬送される。第2移動装置440は、モータの動力でこれらのローラ441、442を駆動することによって、用紙PMを搬送方向Dyに搬送する。以下、用紙PMを搬送方向Dyに移動させる処理を、副走査、または、搬送処理とも呼ぶ。搬送方向Dyを、副走査方向Dyとも呼ぶ。図中のDz方向は、2つの方向Dx、Dyに垂直に、プラテンPTからヘッド410へ向かう方向である。
インク供給部450は、ヘッド410にインクを供給する。インク供給部450は、カートリッジ装着部451と、チューブ452と、バッファタンク453と、を備えている。カートリッジ装着部451には、複数個のインクカートリッジKC、YC、CC、MCが着脱可能に装着される。バッファタンク453は、キャリッジ433において、ヘッド410の上方に配置され、ヘッド410に供給すべきインクをCMYKのインクごとに一時的に収容する。チューブ452は、カートリッジ装着部451とバッファタンク453との間を接続するインクの流路となる可撓性の管である。各インクカートリッジ内のインクは、カートリッジ装着部451、チューブ452、バッファタンク453を介して、ヘッド410に供給される。
図3は、-Dz方向を向いて見たヘッド410の構成を示す透視図である。図中では、図2とは異なり、副走査方向Dyは、上を向いている。ヘッド410の-Dz方向側の面であるノズル形成面411には、上述したK、Y、C、Mの各インクを吐出するノズル群NK、NY、NC、NMが形成されている。各ノズル群は、複数個のノズルNZを含んでいる。1つのノズル群の複数個のノズルNZの間では、副走査方向Dyの位置が互いに異なっている。ノズル群NK、NY、NC、NMの主走査方向の位置は、互いに異なっている。図3の例では、ノズル群NK、NY、NC、NMは、+Dx方向に向かって、この順番に並んでいる。
本実施例では、1個のノズル群の複数のノズルNZの副走査方向Dyの位置は、等間隔にノズルピッチNPで配置されている。ノズルピッチNPは、副走査方向Dyに隣り合う2個のノズルNZの間の副走査方向Dyの位置の差である。また、本実施例では、4個のノズル群NK、NY、NC、NMの間で、ノズルNZの副走査方向Dyの位置は、同じである。図中のノズルセットNZSは、4個のノズル群NK、NY、NC、NMから1個ずつ選択された4個のノズルNZで構成されており、副走査方向Dyの同じ位置に配置された4個のノズルNZのセットである。ノズル形成面411上には、複数のノズルセットNZSが、配置されている。複数のノズルセットNZSの副走査方向Dyの位置は、等間隔にノズルピッチNPで配置されている。
各ノズルNZは、ヘッド410の内部に形成されたインク流路(図示省略)を介してバッファタンク453(図2)に接続されている。各インク流路には、インクを吐出させるためのアクチュエータ(図示省略。例えば、ピエゾ素子、ヒータなど)が設けられている。
ヘッド駆動部420(図1)は、第1移動装置430による主走査中にヘッド410内の各アクチュエータを駆動する電気回路を含んでいる。これによって、用紙PM上にヘッド410のノズルNZからインク滴が吐出されて、用紙PM上にドットが形成される。以下、ヘッド410を主走査方向に移動させつつ用紙PMにインク滴を吐出してドットを形成する処理を、部分印刷とも呼ぶ。ヘッド410とヘッド駆動部420と第1移動装置430とは、部分印刷を行うことによって、用紙PM上に画像を印刷する。
A2.印刷の概要:
図4は、印刷実行部400による印刷の概要の説明図である。図中には、用紙PMと、用紙PM上に印刷される画像である対象画像OIが示されている。対象画像OIは、対象画像OIの+Dy方向側の端から-Dy方向(より一般的には、副走査方向Dy)に並ぶ複数個のバンド画像BI1-BInを含んでいる。各バンド画像BI1-BInは、それぞれ、1回の部分印刷で印刷される。各バンド画像BI1-BInの形状は、主走査方向(ここでは、方向Dxに平行な方向)に延びる矩形状である。
複数のバンド画像は、対象画像OIの+Dy方向側の端のバンド画像から、-Dy方向に向かって1つずつ順番に、印刷される。部分印刷と、部分印刷の後の搬送処理とは、それぞれ複数回実行される。各部分印刷において、ヘッド410は、双方向の主走査方向(+Dx方向と、-Dx方向)のいずれかの方向に移動する。ここで、+Dx方向の部分印刷と-Dx方向の部分印刷とが、交互に行われてよい(双方向印刷とも呼ばれる)。これに代えて、部分印刷でのヘッド410の移動方向は、予め決められた1つの方向であってもよい。
図中の範囲R1-R4は、それぞれ、バンド画像BI1-BI4の副走査方向Dyの範囲である。バンド画像の副走査方向Dyの範囲は、バンド画像に対応付けられた部分印刷の印刷対象範囲である。以下、1回の部分印刷を、「パス処理」または、単に「パス」とも呼ぶ。本実施例では、各印刷対象範囲の副走査方向Dyの幅は、予め決められている。1個の印刷対象範囲の幅は、例えば、1回の部分印刷によってドットを形成可能な範囲の幅(印刷可能幅とも呼ぶ)に設定される。これに代えて、1個の印刷対象範囲の幅は、印刷可能幅よりも小さくてもよい。
図4の例では、隣り合う2個の印刷対象範囲の端部は、互いに重なっている。例えば、第1印刷対象範囲R1の-Dy方向側の端部と、第2印刷対象範囲R2の+Dy方向側の端部とは、互いに重なっている。隣り合う2個の印刷対象範囲の他の組み合わせについても、同様である。
図中には、重畳範囲Rb12、Rb23、Rb34が示されている。重畳範囲Rb12、Rb23、Rb34は、2個の印刷対象範囲が互いに重なっている範囲である。重畳範囲の符号のうち、文字「Rb」に続く2個の数字は、重畳範囲を形成する2個の印刷対象範囲の番号を示している。例えば、重畳範囲Rb23は、第2印刷対象範囲R2と第3印刷対象範囲R3とによって形成されている。
図中には、非重畳範囲Ra1、Ra2、Ra3が示されている。非重畳範囲Ra1、Ra2、Ra3は、1個の印刷対象範囲のみに含まれる範囲である。非重畳範囲の符号のうち、文字「Ra」に続く1個の数字は、非重畳範囲を形成する1個の印刷対象範囲の番号を示している。例えば、非重畳範囲Ra2は、第2印刷対象範囲R2によって形成されている。
1個の印刷対象範囲は、他の印刷対象範囲と重なる範囲である重畳範囲と、他の印刷対象範囲とは重ならない範囲である非重畳範囲と、を含み得る。図中の領域Aa1、Aa2、Aa3は、対象画像OIの領域のうち、非重畳範囲Ra1、Ra2、Ra3に含まれる領域である。以下、対象画像OIの領域のうち、非重畳範囲に含まれる領域を、非重畳領域とも呼ぶ。非重畳領域の形状は、主走査方向(Dx方向に平行な方向)に延びる矩形状である。図中の領域Ab12、Ab23、Ab34は、対象画像OIの領域うち、重畳範囲Rb12、Rb23、Rb34に含まれる領域である。以下、対象画像OIの領域のうち、重畳範囲に含まれる領域を、重畳領域とも呼ぶ。重畳領域の形状は、主走査方向に延びる矩形状である。本実施例では、重畳範囲の副走査方向Dyの幅は、予め決められている(幅は、後述する印刷画素で表される場合に、例えば、1画素以上、10画素以下)。
重畳範囲(例えば、重畳範囲Rb12、Rb23、Rb34)に含まれる複数の画素(ひいては、複数のドット)は、2個のバンド画像に分配される。すなわち、+Dy方向側のバンド画像の印刷時に、重畳範囲内の複数の画素のうちの一部の複数の画素に、ドットが印刷され得る。そして、-Dy方向側のバンド画像の印刷時に、重畳範囲内の複数の画素のうちの残りの複数の画素に、ドットが印刷され得る。これにより、+Dy方向側のバンド画像と-Dy方向側のバンド画像との境界(すなわち、重畳範囲)において、印刷される色の不具合(例えば、白筋や濃度のむら)を抑制できる。
図5(A)-図5(C)は、印刷によって用紙上に形成されるドットの状態の変化を示す説明図である。図5(A)-図5(C)のそれぞれは、ドットの複数の状態を示している。ドットの状態は、矢印ARによって示される順番で、変化する。ここで、3行3列の9個の画素位置のそれぞれにドットが形成されることとしている。9個のドットによって示される画像を、参考画像とも呼ぶ。なお、制御部299(図1)は、複数の画素位置のそれぞれのドット形成状態を示すドットデータを用いて、印刷実行部400に画像を印刷させる。本実施例では、ドットデータによって示されるドット形成状態は、「ドット無し」と、ドットのサイズが互いに異なる2以上のドット有りの状態と、を含む複数の状態のいずれかに決定される(詳細は、後述)。ドット形成状態によって示されるドットのサイズが大きいほど、ドットを形成するインク滴の体積が大きい。インク滴が用紙上に付着することによって、用紙上にドットが形成される。用紙上のドットは、用紙上においてインクの色材が付着している領域であり、用紙を観察することによって特定される。用紙上のドットのサイズは、通常は、インク滴の体積が大きいほど、大きい。インク滴が用紙上に吐出された後、インクは、用紙上で移動し得る(例えば、用紙上でインクが広がり得る)。用紙上でのインクの移動量は、隣接する画素位置におけるドットの状態に応じて、変化し得る。従って、ドットデータによって示されるドット形成状態が同じであっても、用紙上のドットの形状とサイズは、変化し得る。
図5(A)は、非重畳範囲の印刷の例を示している。9個の画素位置のそれぞれに、同じサイズのドット(ここでは、第1種ドットDT1)が形成されることとする。第1状態SA1は、インク滴が用紙に到達した状態である。9個の第1種ドットDT1が形成されている。第1状態SA1の後の第2状態SA2では、インクが用紙に浸透することによって、用紙上でのドットのサイズが少し増大している。図中の幅Waは、印刷された参考画像Iaを観察することによって特定される参考画像Iaの横方向の幅である。
図5(B)は、重畳範囲の印刷の例を示している。図5(A)の例と同様に、9個の画素位置のそれぞれに第1種ドットDT1が形成されることとする。また、第1行DR1と第3行DR3のドットが、先行する部分印刷によって形成され、第2行DR2のドットが、後続の部分印刷によって形成されることとする。
第1状態SB1は、先行する部分印刷において、インク滴が用紙に到達した状態である。図示するように、第1行DR1と第3行DR3の6個のドットDT1が形成されている。第1状態SB1の後の第2状態SB2では、インクが用紙に浸透することによって、用紙上でのドットのサイズが少し増大している。第2状態SB2の後の第3状態SB3は、後続の部分印刷において、インク滴が用紙に到達した状態である。図示するように、第2行DR2の3個のドットDT1が形成されている。なお、第2行DR2のドットは、他の行DR1、DR3のドットよりも後に形成される。従って、第2行DR2のドットは、他の行DR1、DR3のドットのインクが用紙に吸収された状態で、形成される。
第3状態SB3の後の第4状態SB4では、第2行DR2のドットの用紙上でのサイズが大幅に増大している。この理由は、以下の通りである。一般的に、インクは、用紙上に吐出された後、用紙に吸収されるまでは、用紙上で容易に移動できる。また、用紙上で2個のドットが接触する場合、インクの表面張力などの影響により、2個のドットのそれぞれのインクは、互いに引っ張り合う。上述したように、第2行DR2のドットが形成される第3状態SB3では、第1行DR1と第3行DR3とのドットのインクは、既に、用紙に吸収されている。従って、これらの行DR1、DR3のドットのインクは、用紙上で移動し難い。この状態で第2行DR2の画素位置にインクが吐出される。第2行DR2のドットのインクは、用紙に吸収される前に、第1行DR1と第3行DR3のドットのインクに引かれて、広い範囲に流れ得る。例えば、図5(B)の第4状態SB4に示すように、第2行DR2のドットは、用紙上で、第1行DR1側と第3行DR3側とに向かって大幅に拡張し得る。このような用紙上でのドットのサイズの増大は、印刷された画像の色を、意図された色から変化させ得る。例えば、重畳範囲内の画像と非重畳範囲内の画像とが同じ色を示すべきと仮定する。この場合、印刷された画像内において、重畳範囲内の画像の見た目の濃度が、非重畳範囲内の画像の見た目の濃度と比べて、高くなり得る。
なお、図5(A)の例では、複数のドットがおおよそ同じタイミングで形成される。従って、複数のドットの間でインクを引く力はおおよそ同じである。この結果、図5(A)の例では、図5(B)の第4状態SB4のような用紙上でのドットのサイズの増大は、生じ難い。
本実施例では、重畳範囲と非重畳範囲との間の意図しない色のズレを抑制するために、重畳範囲のためのドットデータの生成処理は、非重畳範囲のためのドットデータの生成処理と、異なっている(詳細は、後述)。重畳範囲内の印刷のためのドットデータによって示される画像の濃度は、低減され得る。本実施例では、重畳範囲内では、非重畳範囲内と比べて、ドットのサイズが小さくなり易い。
図5(C)は、重畳範囲の印刷の別の例を示している。図5(B)の例とは異なり、図5(C)は、ドットデータによって示される画像の濃度が低減される場合を示している。図5(A)の画像と同じ画像を印刷するために、図5(C)の印刷のためのドットデータは、図5(A)の印刷のためのドットデータと異なっている。図5(C)の例では、3行3列の9個の画素位置のうちの4個の角の画素位置に、第1種ドットDT1よりも小さい第2種ドットDT2が対応付けられている。他の画素位置には、図5(A)の例と同様に、第1種ドットDT1が対応付けられている。
第1状態SC1は、先行する部分印刷において、インク滴が用紙に到達した状態である。図示するように、第1行DR1と第3行DR3の6個のドットが形成されている。4個の角の画素位置(ここでは、第1列DC1と第3列DC3)には、第2種ドットDT2が形成されている。第1状態SC1の後の第2状態SC2では、インクが用紙に浸透することによって、ドットの用紙上でのサイズが少し増大している。第2状態SC2の後の第3状態SC3は、後続の部分印刷において、インク滴が用紙に到達した状態である。図示するように、第2行DR2の3個のドットDT1が形成されている。
第3状態SC3の後の第4状態SC4では、第2行DR2のドットの用紙上でのサイズが増大している。図5(B)の第4状態SB4とは異なり、第1列DC1と第3列DC3とに関しては、第1行DR1のドットと第3行DR3のドットとが、第1種ドットDT1より小さい第2種ドットDT2である。ドットのサイズが小さい場合、ドットのサイズが大きい場合と比べて、他のドットのインクを引く力は弱い。従って、第1列DC1と第3列DC3とに関しては、第2行DR2のドットの用紙上でのサイズの増大量は、図5(B)の例と比べて、小さい。
このように、重畳範囲内では、複数の画素位置で、ドットデータによって示されるドットのサイズが低減される(詳細は、後述)。従って、後続の部分印刷によって形成されるドットが用紙上で拡張する場合であっても、その拡張量は小さくなる。また、重畳範囲内では、後続の部分印刷によって形成されるドットの用紙上でのサイズが増大し得るものの、一部の複数の画素位置で、ドットデータによって示されるドットのサイズが低減される。従って、複数のドットの全体を観察する場合に、重畳範囲と非重畳範囲との間の見た目の濃度のズレは、抑制される。
なお、図5(C)の例では、先行の部分印刷によって形成されるドットのサイズが低減される。これに代えて、後続の部分印刷によって形成されるドットのサイズが低減されてもよい。この場合も、後続の部分印刷によって形成されるドットの拡張量は小さくなり得る。これにより、重畳範囲と非重畳範囲との間の見た目の濃度のズレは、抑制される。
図5(C)の第4状態SC4には、幅Wbが示されている。この幅Wbは、印刷された参考画像Ibを観察することによって特定される参考画像Ibの横方向の幅である。複数のドットのサイズが低減されているので、この幅Wbは、図5(A)の幅Waよりも狭くなり得る。図示を省略するが、横方向の幅に限らず、他の方向の幅(例えば、縦方向の幅)も、同様に、狭くなり得る。このように、ドットデータによって示される画像の濃度が低減することによって、印刷される画像の細かい形状が細くなり得る。このような画像の形状の変化は、印刷された画像の適切な読取りを、困難にし得る。例えば、重畳範囲内の画像が1次元バーコードを含む場合、印刷されるバーコードの黒バーが不適切に細くなり得る。この結果、バーコードの適切な読取りが、困難であり得る。バーコードなどの1次元コードに限らず、2次元コードが印刷される場合も、同様である。本実施例では、後述するように、制御部299(図1)は、コード画像を適切に印刷するように、印刷処理を行う。
図6は、印刷処理の例を示すフローチャートである。制御部299のプロセッサ210は、印刷指示に応じて、図6の処理を開始する。プロセッサ210は、プログラム232に従って、図6の処理を実行する。S105では、プロセッサ210は、印刷指示を取得する。印刷指示の取得方法は、任意の方法であってよい。本実施例では、ユーザは、操作部250(図1)を操作することによって、印刷指示を入力する。印刷指示は、印刷対象画像を表す入力画像データを指定する情報を含んでいる。入力画像データは、種々のデータであってよく、例えば、記憶装置215(例えば、不揮発性記憶装置230)に格納済みの画像データであってよい。なお、プロセッサ210は、複合機200に接続された他の装置(例えば、コンピュータ)から、印刷指示を取得してもよい。
S110では、プロセッサ210は、印刷指示で指定された入力画像データを取得する。本実施例では、入力画像データとして、ビットマップデータが用いられる。また、入力画像データの各画素の画素値は、0から255までの256階調のR(赤)G(緑)B(青)の色値で表されていることとする。印刷指示によって指定された画像データがJPEGデータである場合、プロセッサ210は、JPEGデータを展開することによって、入力画像データを取得する。印刷指示によって指定された画像データの形式がビットマップ形式とは異なる形式である場合(例えば、EMF(Enhanced Meta File)形式)、プロセッサ210は、データ形式を変換(例えば、ラスタライズ)することによって生成されるビットマップデータを、入力画像データとして用いる。
S150では、プロセッサ210は、入力画像データの解像度(すなわち、画素密度)を変換する処理を実行して、印刷用の予め決められた解像度の入力画像データを生成する。以下、印刷用の解像度の画素を、印刷画素とも呼ぶ。図5(A)-図5(C)で説明した画素は、印刷画素である。入力画像データの解像度が印刷解像度と同じである場合、S150は、省略される。
S160では、プロセッサ210は、入力画像データの色変換処理を実行する。色変換処理は、入力画像データの色値(本実施例では、RGB値)を、インク色空間の色値に変換する処理である。インク色空間は、印刷に利用可能な複数種類のインクの色に対応する色空間である。本実施例では、インク色空間は、CMYK色空間である。また、色変換済の画像データの各画素の画素値は、0から255までの256階調のC、M、Y、Kの色値で表されていることとする。プロセッサ210は、入力画像データの色空間の色値とインク色空間の色値との対応関係を示す色変換プロファイル(図示せず)を参照して、色変換処理を実行する。本実施例では、色変換プロファイルは、ルックアップテーブルである。
S165では、プロセッサ210は、対象画像に含まれるコード画像を特定する。図7は、用紙PM上に印刷される対象画像の例を示す説明図である。図中には、用紙PMと、用紙PM上の対象画像OIaとが示されている。印刷対象範囲R1、R2と、非重畳範囲Ra1、Ra2と、非重畳領域Aa1、Aa2、Aa3と、重畳範囲Rb12、Rb23と、重畳領域Ab12、Ab23とは、図4の対応する要素と、それぞれ同じである。
対象画像OIaは、2個のオブジェクトIM11、IM12を含んでいる。第1オブジェクトIM11は、写真の画像である(写真画像IM11とも呼ぶ)。第2オブジェクトIM12は、1次元バーコードの画像である(バーコード画像IM12とも呼ぶ)。写真画像IM11の一部は、重畳領域Ab12に含まれている。バーコード画像IM12の一部は、重畳領域Ab23に含まれている。バーコード画像IM12は、複数の黒バーBkと複数の白バーBwとを含んでいる。白バーBwの色(ここでは、白色)は、黒バーBkの色(ここでは、黒色)よりも、明るい。これらのバーBk、Bwは、副走査方向Dyに平行である。
S165(図6)では、プロセッサ210は、色変換済の画像データを解析することによって、対象画像内のコード画像を特定する。本実施例では、プロセッサ210は、1次元バーコードの画像を特定する。図7の例では、プロセッサ210は、バーコード画像IM12を特定する。なお、対象画像は、複数のコード画像を含んでよい。この場合、プロセッサ210は、複数のコード画像を特定する。
コード画像の特定処理としては、種々の公知の処理を採用可能である。例えば、特開2006-330906号公報に記載の処理が、採用されてよい。具体的には、プロセッサ210は、対象画像上の互いに平行な複数の検査線のそれぞれに関して、検査線に沿って変化する輝度レベルパターンを検出する。そして、プロセッサ210は、複数の検査線の輝度レベルパターンを比較する。複数の検査線の間で輝度レベルパターンが相似している場合、プロセッサ210は、複数の検査線のうち相似している輝度レベルパターンを示す部分を、1次元バーコード画像として採用する。1次元バーコード画像としては、矩形状の領域が採用される。プロセッサ210は、対象画像内のコード画像を示す領域を特定する。また、プロセッサ210は、検査線に垂直な方向を、バーの延びる方向として特定する。プロセッサ210は、主走査方向に平行な検査線(例えば、主走査方向に並ぶ複数の印刷画素で構成される画素ライン)を用いることによって、バーコード画像IM12(図8)のように主走査方向に垂直なバーBk、Bwを含むバーコードを検出する。また、図示を省略するが、プロセッサ210は、副走査方向Dyに平行な検査線(例えば、副走査方向Dyに並ぶ複数の印刷画素で構成される画素ライン)を用いることによって、副走査方向Dyに垂直なバーを含むバーコードを検出する。このような処理に代えて、特開2017-182455号公報に記載の処理など、他の種々の処理が採用されてよい。
S170(図6)では、プロセッサ210は、色変換済の画像データを用いて、ドットデータを生成する。本実施例では、ドットデータは、色成分ごと、かつ、印刷画素ごとに、ドットの形成状態を示している。ドットの形成状態は、印刷によって形成すべきドットの状態である。本実施例では、ドット形成状態は、「大ドット」、「中ドット」、「小ドット」、「ドット無し」のいずれかに決定される。以下、ドットデータの生成に用いられる画像データを、対象画像データとも呼ぶ。本実施例では、色変換済の画像データは、対象画像データの例である。ドットデータの生成処理の詳細については、後述する。
S180では、プロセッサ210は、ドットデータを用いて、印刷データを生成する。印刷データは、印刷実行部400(図1)の制御回路490によって解釈可能なデータ形式のデータである。本実施例では、印刷データは、交互に並ぶ複数の部分印刷データと複数の搬送データとを含んでいる。1個の部分印刷データは、1回の部分印刷によって形成すべきドットのパターン(すなわち、バンド画像)を示している。搬送データは、直前の部分印刷データに基づく部分印刷の後の用紙PMの搬送量を示している。本実施例では、搬送量は、予め決められている。複数の部分印刷データの並び順は、対象画像OIaの+Dy方向側の端から-Dy方向に向かって並ぶの複数のバンド画像の並び順と同じである。
なお、重畳範囲(例えば、図4、図7の重畳範囲Rb12、Rb23)内の複数の印刷画素は、先行する部分印刷によるドット形成が許容された先行許容画素と、後続の部分印刷によるドット形成が許容された後続許容画素と、のいずれかに分類される。本実施例では、先行許容画素と後続許容画素とは、予め決められた配置パターンに従って、決定される。配置パターンは、種々のパターンであってよい。例えば、配置パターンは、先行許容画素と後続許容画素とが、Dx方向に沿って交互に並び、かつ、Dy方向に沿って交互に並ぶパターンであってよい。これに代えて、配置パターンは、先行許容画素の密度が先行の印刷対象範囲側から後続の印刷対象範囲側に向かって徐々に小さくなり、後続許容画素の密度が後続の印刷対象範囲側から先行の印刷対象範囲側に向かって徐々に小さくなるように、決定されてよい。また、複数の色成分の間で、配置パターンが異なってよい。また、複数の色成分の間で、配置パターンが共通であってよい。
S190(図6)では、プロセッサ210は、印刷データを印刷実行部400に出力する。S195では、印刷実行部400の制御回路490は、印刷データに従って印刷実行部400を制御することによって、対象画像を印刷する。対象画像を構成する複数のバンド画像は、+Dy方向側の端のバンド画像から、-Dy方向に向かって1つずつ順番に、印刷される。そして、図6の処理が終了する。
図8は、ドットデータ生成処理の例を示すフローチャートである。S215では、プロセッサ210は、対象画像データから、対象ラスタデータを取得する。ここで、印刷時に主走査方向(Dx方向に平行な方向)に並ぶ複数の印刷画素で構成される画素ラインを、ラスタラインと呼ぶ。対象画像に含まれる複数の印刷画素は、副走査方向Dyに並ぶ複数のラスタラインを形成している。本実施例では、複数のラスタラインは、対象画像の+Dy方向側の端のラスタラインから、-Dy方向に向かって1つずつ順番に、処理される。対象ラスタデータは、未処理のラスタラインのうちの+Dy方向側の端のラスタラインである。
S230では、プロセッサ210は、対象ラスタラインが重畳範囲内であるか否かを判断する。例えば、対象ラスタラインが非重畳範囲Ra1、Ra2(図7)に含まれる場合、S230の判断結果はNoである。この場合、プロセッサ210は、後述する濃度補正を省略し、S330へ移行する。対象ラスタラインが重畳範囲Rb12、Rb23に含まれる場合、S230の判断結果はYesである。この場合、プロセッサ210は、S235へ移行する。
S235では、プロセッサ210は、対象ラスタラインがコード画像の少なくとも一部を含むことを示す条件CdCが満たされるか否かを判断する。例えば、対象ラスタラインが重畳範囲Rb23(図7)に含まれる場合、対象ラスタラインはバーコード画像IM12の一部を含んでいるので、S235の判断結果はYesである。S235の判断結果がYesである場合、プロセッサ210は、S280へ移行する。
S280では、プロセッサ210は、対象ラスタラインの複数の画素のそれぞれの第1補正値T1を決定する。図9は、補正値の例を示すグラフである。横軸は、合計色値Dを示し、縦軸は、補正値Tを示している。合計色値Dは、CMYKのそれぞれの色値の合計値である。印刷画素の色が濃いほど、合計色値Dは大きい。合計色値Dは、ゼロ以上、最大値Dmax以下の範囲の値である。補正値Tは、後述するように、濃度補正のためにCMYKのそれぞれの色値に乗じられる。補正値Tは、ゼロ以上、1.00以下の範囲の値である。本実施例では、合計色値Dが閾値Dth以下である場合、第1補正値T1は1.00に設定される。合計色値Dが閾値Dthよりも大きい場合、第1補正値T1は0.98に設定される。第1補正値T1は、画素毎に決定される。
S285(図8)では、プロセッサ210は、対象ラスタラインの複数の画素のそれぞれの濃度補正を行う。本実施例では、プロセッサ210は、CMYKのそれぞれの色値に、第1補正値T1を乗じることによって、補正済のCMYKのそれぞれの色値を算出する。T1=1.00である場合、CMYKのそれぞれの色値は変化しない(すなわち、濃度は変化しない)。T1<1.00である場合、補正済の色値は、補正前の色値よりも小さくなるので、濃度が低減する。CMYKの色値の補正は、画素毎に行われる。S285の後、プロセッサ210は、S330へ移行する。
対象ラスタラインがコード画像を含まない場合、S235の判断結果はNoである。例えば、対象ラスタラインが重畳範囲Rb12(図7)に含まれる場合、S235の判断結果はNoである。この場合、S290で、プロセッサ210は、対象ラスタラインの複数の画素のそれぞれの第2補正値T2を決定する。本実施例では、図9に示すように、合計色値Dが閾値Dth以下である場合、第2補正値T2は1.00に設定される。合計色値Dが閾値Dthよりも大きい場合、第2補正値T2は0.95に設定される。合計色値Dが閾値Dthよりも大きい場合、T2<T1である。第2補正値T2は、画素毎に決定される。
S295では、プロセッサ210は、対象ラスタラインの複数の画素のそれぞれの濃度補正を行う。S285の処理との差異は、第1補正値T1に代えて第2補正値T2が用いられる点だけである。CMYKの色値の補正は、画素毎に行われる。S295の後、プロセッサ210は、S330へ移行する。
S330では、プロセッサ210は、対象ラスタデータのハーフトーン処理を実行する。ハーフトーン処理は、例えば、誤差拡散法や、ディザマトリクスを用いる方法など、種々の方法の処理であってよい。プロセッサ210は、ハーフトーン処理によって、対象ラスタラインのドットデータであるラスタドットデータを生成する。なお、S230の判断結果がYesである場合(すなわち、S285、または、S295が実行された場合)、プロセッサ210は、補正済のCMYKの色値を用いて、ラスタドットデータを生成する。S230の判断結果がNoである場合、プロセッサ210は、補正されていないCMYKの色値を用いて、ラスタドットデータを生成する。
図9に示すように、本実施例では、合計色値Dが閾値Dthよりも大きい場合に、補正値Tが1.00よりも小さい値に設定される。従って、濃い色を有する印刷画素のCMYKのそれぞれの色値が小さくなる。この結果、S330(図8)では、大ドットが生じ難くなり、より小さいドット(例えば、中ドットと小ドット)と「ドット無し」とが生じやすくなる。これにより、図5(C)の例のように、印刷される画像の濃度が低下する。
一般的に、補正値Tが小さいほど、濃度の低下の程度が大きい。補正値Tは、濃度低下の程度と負の相関を有している。補正値Tは、濃度低下の程度を示す指標値である。補正値Tを決定することは、濃度低下の程度を決定することを意味している。
図7の例では、コード画像を含む重畳領域Ab23には、第1補正値T1が適用される。コード画像を含まない重畳領域Ab12には、第2補正値T2が適用される。図9に示すように、合計色値Dが閾値Dthよりも大きい場合、T2<T1である。従って、重畳領域Ab12では、濃度の低下の程度が比較的に大きい。この結果、図5(C)の例のように、重畳範囲Rb12と非重畳範囲Ra1、Ra2との間の見た目の濃度のズレは、抑制される。また、重畳領域Ab23では、濃度の低下の程度が比較的に小さい。従って、バーコード画像IM12の黒バーBkが不適切に細くなることは、抑制される。
なお、閾値Dthは、印刷された画像上の重畳範囲と非重畳範囲との間の見た目の濃度のズレを抑制し、重畳範囲に含まれるバーコード画像を適切に印刷できるように、予め実験的に決定される。
S340(図8)では、プロセッサ210は、全てのラスタラインの処理が完了したか否かを判断する。未処理のラスタラインが残っている場合(S340:No)、プロセッサ210は、S215へ移行して、新たな対象ラスタラインを処理する。全てのラスタラインの処理が完了した場合(S340:Yes)、図8の処理、すなわち、図6のS170の処理が、終了する。
以上のように、複合機200(図1)は、印刷実行部400と制御部299とを備える印刷装置の例である。印刷実行部400は、印刷ヘッド410と、第1移動装置430と、第2移動装置440と、を備えている。図3に示すように、印刷ヘッド410は、副走査方向Dyの位置が互いに異なるとともにインクを吐出するように構成された複数のノズルNZを有している。図2を参照して説明したように、第1移動装置430は、用紙PMに対して副走査方向Dyに交差する主走査方向(Dx方向に平行な方向)に印刷ヘッド410を相対的に移動させる主走査を実行するように構成されている。第2移動装置440は、印刷ヘッド410に対して副走査方向Dyに用紙PMを相対的に移動させる副走査を実行するように構成されている。
制御部299は、以下の処理を実行するように構成されている。S160(図6)では、制御部299(図1)は、1次元バーコード画像を含む対象画像の対象画像データを取得する。図7のバーコード画像IM12は、1次元バーコード画像の例であり、対象画像OIaは、1次元バーコードを含む対象画像の例である。1次元バーコード画像は、バーコード画像IM12のように、比較的暗い色を有する暗部分(ここでは、複数の黒バーBk)と、比較的明るい色を有する明部分(ここでは、複数の白バーBw)と、によって情報を示すコード画像である。S165(図6)では、制御部299は、対象画像に含まれるコード画像を特定する。S170(すなわち、図8の処理)では、制御部299は、対象画像データを用いて、画素毎にインクのドット形成状態を示すドットデータを生成する。S180-S190(図6)では、制御部299は、ドットデータを用いて印刷データを生成し、印刷データを用いて印刷実行部400に対象画像を印刷させる。ここで、制御部299は、主走査を行いつつ印刷ヘッド410にインクを吐出させて用紙PM上にドットを形成する部分印刷と、副走査とを、それぞれ複数回に亘って印刷実行部400に実行させる。
図4、図7に示すように、用紙PM上における複数回の部分印刷のそれぞれの副走査方向Dyの印刷対象範囲(例えば、印刷対象範囲R1-R4)は、隣り合う2個の印刷対象範囲の端部が互いに重なるように、配置されている。
図8のドットデータ生成処理において、対象ラスタラインが非重畳範囲内である場合(S230:No)、制御部299は、濃度補正をせずにS330でラスタドットデータを生成する(以下、濃度補正をせずにラスタドットデータを生成する処理を、第1生成処理S410とも呼ぶ)。第1生成処理S410が実行される場合、対象ラスタデータは、対象画像データのうち非重畳範囲内の対象ラスタラインの画像を示している。すなわち、対象ラスタデータは、非重畳範囲内の画像である第1種部分画像(ここでは、対象ラスタラインの画像)の第1種部分画像データの例である。S330で生成されるラスタドットデータは、ドットデータのうち第1種部分画像に対応する第1種部分ドットデータの例である。制御部299は、対象ラスタデータに対して第1生成処理S410(すなわち、濃度補正の無いラスタドットデータの生成処理)を実行することによって、ラスタドットデータを生成するように構成されている。
図8のドットデータ生成処理において、対象ラスタラインが重畳範囲内である場合(S230:Yes)、制御部299は、濃度補正処理(S285、または、S295)と、ラスタドットデータの生成処理(S330)と、を実行する(以下、これらの処理の全体を、第2生成処理S420とも呼ぶ)。第2生成処理S420が実行される場合、対象ラスタデータは、対象画像データのうち重畳範囲内の対象ラスタラインの画像を示している。すなわち、対象ラスタデータは、重畳範囲内の画像である第2種部分画像(ここでは、対象ラスタラインの画像)の第2種部分画像データの例である。S330で生成されるラスタドットデータは、ドットデータのうち第2種部分画像に対応する第2種部分ドットデータの例である。制御部299は、対象ラスタデータに対して第2生成処理S420(濃度補正とラスタドットデータの生成処理を含む)を実行することによって、ラスタドットデータを生成するように構成されている。
第2生成処理S420では、第1補正値T1を用いる濃度補正(S285)、または、第2補正値T2を用いる濃度補正(S295)が行われる。これにより、第2生成処理S420によって生成されるラスタドットデータによって示される対象ラスタラインの画像の濃度は、低減され得る。具体的には、第2生成処理S420が実行される場合に生成されるラスタドットデータによって示される対象ラスタラインの画像の濃度は、同じ対象ラスタデータに対して第1生成処理S410が実行される場合に生成されるラスタドットデータによって示される対象ラスタラインの画像の濃度以下である。
さらに、制御部299は、図8のS235、S280、S290で、第2生成処理S420で用いられる補正値Tを決定する(以下、これらの処理の全体を、決定処理S430とも呼ぶ)。図9に示すように、補正値Tは、第2生成処理S420による濃度の低下の程度を示している。制御部299は、補正値Tを決定することによって、第2生成処理S420による濃度の低下の程度を決定している。
図8のS235の条件CdCが満たされる場合、制御部299は、S280で、第1補正値T1を決定する。条件CdCが満たされない場合、制御部299は、S290で、第2補正値T2を決定する。条件CdCは、第2種部分画像(ここでは、対象ラスタラインの画像)がコード画像の少なくとも一部を含むことを示すコード条件の例である(コード条件CdCとも呼ぶ)。本実施例では、第1補正値T1を用いるための条件である特定条件は、コード条件CdCが満たされることである。また、図9に示すように、第1補正値T1による濃度の低下の程度は、第2補正値T2による濃度の低下の程度と異なっている。このように、制御部299は、コード条件CdCを含む特定条件が満たされる第1の場合(S235:Yes)、濃度の低下の程度(T1)を、第2種部分画像(ここでは、対象ラスタラインの画像)がコード画像を含まない第2の場合(S235:No)の濃度の低下の程度(T2)とは異なる程度に決定するように構成されている。従って、コード画像の適切な印刷が可能である。
また、図9に示すように、第1補正値T1が用いられる場合の濃度低下の程度は、第2補正値T2が用いられる場合の濃度低下の程度よりも、小さい。このように、制御部299は、第1の場合(S235:Yes)、濃度の低下の程度を、第2の場合(S235:No)の濃度の低下の程度よりも小さい程度に、決定するように構成されている。従って、薄いコード画像の印刷が、抑制される。この結果、コード画像の要素(例えば、図7の黒バーBk)が不適切に細くなることは、抑制される。
B.第2実施例:
図10(A)は、ドットデータ生成処理の第2実施例のフローチャートである。図8の実施例との差異は、決定処理S430のS235とS280との間にS243、S246が追加されている点だけである。ドットデータ生成処理の他の部分の処理は、図8の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。本実施例のドットデータ生成処理S170aは、図6のS170の代わりに実行される。印刷処理(図6)を実行する印刷装置の構成は、図1の複合機200の構成と同じである。
図10(B)は、用紙PM上に印刷される対象画像の例を示す説明図である。この対象画像OIbは、2個のオブジェクトIM21、IM22を含んでいる。これらのオブジェクトIM21、IM22は、いずれも、1次元バーコードの画像である。
第1バーコード画像IM21の一部は、重畳領域Ab12に含まれている。第1バーコード画像IM21の複数のバーは、主走査方向(例えば、Dx方向)に垂直である。第1バーコード画像IM21の複数のバーのそれぞれは、重畳領域Ab12の外に位置する部分を含んでいる。
第2バーコード画像IM22の一部は、重畳領域Ab23に含まれている。第2バーコード画像IM22の複数のバーは、主走査方向(例えば、Dx方向)に平行である。第2バーコード画像IM22の複数の黒バーのうち特定の黒バーB22xの全体は、重畳領域Ab23に含まれている。
S235(図10(A))でコード条件CdCが満たされる場合(S235:Yes)、S243で、プロセッサ210は、対象ラスタラインと重なる1次元バーコード画像のバーと主走査方向(例えば、Dx方向)とのなす角度Agを算出する(第1種角度Agとも呼ぶ)。角度Agは、印刷時の用紙上における角度を示している。図10(C)は、角度Agの説明図である。図中には、1次元バーコードに含まれる黒バーB2と、方向Dxに平行な直線Lxと、が示されている。黒バーB2の延びる方向(すなわち、黒バーB2に平行な方向)は、S165(図6)で特定される。図示するように、交わる2本の線B2、Lxは、交点Cxに配置された頂点を有する2個の角度AgS、AgLを形成する。プロセッサ210は、2個の角度AgS、AgLのうちの小さい方の角度AgSを、角度Agとして採用する。従って、角度Agは、ゼロ度以上、90度以下である。なお、1個のバーコード画像には、1個の角度Agが対応付けられる。プロセッサ210は、1個のバーコード画像に関して、1個のラスタラインのための処理でS243を実行した場合、同じバーコード画像と重なる他のラスタラインのための処理では、S243をスキップしてよい。
S246(図10(A))では、プロセッサ210は、角度Agが角度閾値Agtより小さいことを示す条件Cd1が満たされるか否かを判断する(角度閾値Agtは、ゼロ度より大きく、90度より小さい)。角度Agが小さい場合、図10(B)の第2バーコード画像IM22の黒バーB22xのように、バーの全体が重畳領域Ab23内に位置し得る。角度Agが大きい場合、第1バーコード画像IM21の黒バーのように、バーの一部は、重畳領域Ab12の外に位置し得る。角度閾値Agtは、1本のバーの全体が重畳領域に含まれる場合に条件Cd1が満たされ得るように、予め実験的に決められる。
角度Agが角度閾値Agt以上である場合(S246:No)、プロセッサ210は、S290へ移行する。そして、第2補正値T2を用いて濃度補正を行い(図8:S290、S295)、ラスタドットデータを生成する(S330)。例えば、対象ラスタラインが重畳範囲Rb12(図10(B))に含まれる場合、角度Agは、おおよそ90度である。この場合、プロセッサ210は、第2補正値T2を用いる。従って、重畳範囲Rb12と非重畳範囲Ra1、Ra2との間の見た目の濃度のズレは、抑制される。また、第1バーコード画像IM21の全ての黒バーと白バーとは、重畳範囲Rb12の外の部分(すなわち、非重畳範囲に含まれる部分)を含んでいる。このような部分を読み取ることによって、第1バーコード画像IM21から適切な情報を読み取ることができる。
角度Agが角度閾値Agtより小さい場合(S246:Yes)、プロセッサ210は、S280へ移行する。そして、第1補正値T1を用いて濃度補正を行い(図8:S280、S285)、ラスタドットデータを生成する(S330)。例えば、対象ラスタラインが重畳範囲Rb23(図10(B))に含まれる場合、角度Agは、おおよそゼロ度である。この場合、第1補正値T1が用いられる。従って、印刷された対象画像OIb中で、重畳範囲Rb23に含まれる黒バーB22xが不適切に細くなることは、抑制される。この結果、第2バーコード画像IM22から適切な情報を読み取ることができる。仮に第2補正値T2が用いられる場合、黒バーB22xの全体が細くなり得る。この結果、第2バーコード画像IM22からの適切な情報の読取りが困難となり得る。本実施例では、このような不具合は、抑制される。
以上のように、本実施例では、第1補正値T1を用いるための条件である特定条件は、コード条件CdC(S235)と、角度Agが角度閾値Agtより小さいことを示す条件Cd1(S246)と、が満たされることである。図10(B)の第2バーコード画像IM22により示されるように、用紙PM上において1次元バーコードのバー(例えば、黒バーB22x)が主走査方向(例えば、Dx方向)に平行である場合、特定条件は満たされる。すなわち、コード条件CdCと、1次元バーコードのバーが主走査方向(例えば、Dx方向)に平行であることを示す第1平行条件と、を含む第1特定条件が満たされる場合に、第1補正値T1を用いるための特定条件は満たされる。また、第1バーコード画像IM21により示されるように、1次元バーコードのバー(例えば、黒バーB21)が主走査方向(例えば、Dx方向)に垂直である場合、第2補正値T2が用いられる。そして、図9に示すように、第1補正値T1が用いられる場合の濃度低下の程度は、第2補正値T2が用いられる場合の濃度低下の程度よりも、小さい。このように、制御部299は、第1特定条件が満たされる第1の場合には(S235:Yes、S246:Yes)、濃度の低下の程度を、1次元バーコードのバーが主走査方向(例えば、Dx方向)に垂直である場合の濃度の低下の程度よりも小さい程度に、決定するように構成されている。従って、1次元バーコードのバーが主走査方向(例えば、Dx方向)に平行である場合に、薄いコード画像の印刷が、抑制される。この結果、コード画像の要素(例えば、図10(B)の黒バーB22x)が不適切に細くなることは、抑制される。
C.第3実施例:
図11(A)は、ドットデータ生成処理の第3実施例のフローチャートである。図8の実施例との差異は、決定処理S430のS235とS280との間にS253、S256が追加されている点だけである。ドットデータ生成処理の他の部分の処理は、図8の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。本実施例のドットデータ生成処理S170bは、図6のS170の代わりに実行される。印刷処理(図6)を実行する印刷装置の構成は、図1の複合機200の構成と同じである。
図11(B)は、用紙PM上に印刷される対象画像の例を示す説明図である。この対象画像OIcは、2個のオブジェクトIM31、IM32を含んでいる。これらのオブジェクトIM31、IM32は、いずれも、1次元バーコードの画像である。第1バーコード画像IM31の一部は、重畳領域Ab12に含まれている。第2バーコード画像IM32の一部は、重畳領域Ab23に含まれている。
S235(図11(A))でコード条件CdCが満たされる場合(S235:Yes)、S253で、プロセッサ210は、対象ラスタラインと重なる1次元バーコード画像のサイズSzを特定する。図11(B)には、第1バーコード画像IM31の第1サイズSz1と、第2バーコード画像IM32の第2サイズSz2と、が示されている。本実施例では、1次元バーコード画像のサイズSzは、バーコード画像を示す矩形領域の4個の辺のうちの長辺の長さである。このサイズSzは、バーコード画像のバーに垂直な方向のバーコード画像の長さと同じである。図11(B)の例では、Sz1>Sz2である。サイズSzの単位は、例えば、印刷画素の数である。なお、1個のバーコード画像には、1個のサイズSzが対応付けられる。プロセッサ210は、1個のバーコード画像に関して、1個のラスタラインのための処理でS253を実行した場合、同じバーコード画像と重なる他のラスタラインのための処理では、S253をスキップしてよい。
S256(図11(A))では、プロセッサ210は、サイズSzがサイズ閾値Sztより小さいことを示す条件Cd2が満たされるか否かを判断する(サイズ閾値Sztは、ゼロより大きい)。バーコード画像のサイズSzが小さい場合、サイズSzが大きい場合と比べて、バーコードの複数のバーのそれぞれは、細い。仮に第2補正値T2に基づいて濃度補正が行われる場合、細い黒バーが更に細くなるので、印刷されたバーコード画像からの適切な情報の読取りが困難となり得る。バーコード画像のサイズSzが大きい場合、サイズSzが小さい場合と比べて、バーコードの複数のバーのそれぞれは、太い。従って、仮に第2補正値T2に基づいて濃度補正が行われる場合であっても、複数のバーのそれぞれの太さに対する濃度補正の影響は小さいので、印刷されたバーコード画像からの適切な情報の読取りが可能である。なお、図11(B)の例では、Sz1>Sztであり、Sz2<Sztであることとする。
サイズSzがサイズ閾値Szt以上である場合(S256:No)、プロセッサ210は、S290へ移行する。そして、第2補正値T2を用いて濃度補正を行い(図8:S290、S295)、ラスタドットデータを生成する(S330)。例えば、対象ラスタラインが重畳範囲Rb12(図11(B))に含まれる場合、Sz1>Sztであるので、第2補正値T2が用いられる。従って、重畳範囲Rb12と非重畳範囲Ra1、Ra2との間の見た目の濃度のズレは、抑制される。また、第1バーコード画像IM31の第1サイズSz1が大きいので、複数のバーのそれぞれの太さに対する濃度補正の影響は小さい。この結果、印刷された第1バーコード画像IM31から適切な情報を読み取ることができる。
サイズSzがサイズ閾値Sztよりも小さい場合(S256:Yes)、プロセッサ210は、S280へ移行する。そして、第1補正値T1を用いて濃度補正を行い(図8:S280、S285)、ラスタドットデータを生成する(S330)。例えば、対象ラスタラインが重畳範囲Rb23(図11(B))に含まれる場合、Sz2<Sztであるので、第1補正値T1が用いられる。従って、印刷された対象画像OIc中で、重畳範囲Rb23に含まれる第2バーコード画像IM32の複数の黒バーが不適切に細くなることは、抑制される。この結果、印刷された第2バーコード画像IM32から適切な情報を読み取ることができる。
なお、サイズ閾値Sztは、印刷された画像上の重畳範囲と非重畳範囲との間の見た目の濃度のズレを抑制し、重畳範囲に含まれるバーコード画像を適切に印刷できるように、予め実験的に決定される。
以上のように、本実施例では、第1補正値T1を用いるための条件である特定条件は、コード条件CdC(S235)と、コード画像のサイズSzがサイズ閾値Szt未満であることを示す条件Cd2(S256)と、が満たされることである。また、第1バーコード画像IM31(図11(B))を参照して説明したように、サイズSzがサイズ閾値Szt以上である場合、第2補正値T2が用いられる。そして、図9に示すように、第1補正値T1が用いられる場合の濃度低下の程度は、第2補正値T2が用いられる場合の濃度低下の程度よりも、小さい。このように、制御部299は、特定条件が満たされる第1の場合には(S235:Yes、S246:Yes)、濃度の低下の程度を、サイズSzがサイズ閾値Szt以上である場合の濃度の低下の程度よりも小さい程度に、決定するように構成されている。従って、1次元バーコードのサイズSzがサイズ閾値Szt未満である場合に、薄いコード画像の印刷が、抑制される。この結果、コード画像の要素(例えば、図11(B)の第2バーコード画像IM32の黒バー)が不適切に細くなることは、抑制される。
なお、バーコード画像のサイズSzがサイズ閾値Szt以上である場合には、バーコードの複数のバーのそれぞれが太い。従って、図10(B)の黒バーB22xのように、1次元バーコードの特定のバーの全体が重畳範囲に含まれる場合であっても、バーの太さに対する濃度補正の影響は小さい。この結果、第2補正値T2を用いる濃度補正が行われる場合であっても、印刷された画像中で、黒バーが不適切に細くなることは、抑制される。
D.第4実施例:
図12(A)は、ドットデータ生成処理の第4実施例のフローチャートである。図8の実施例との差異は、決定処理S430のS235とS280との間にS263、S266が追加されている点だけである。ドットデータ生成処理の他の部分の処理は、図8の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。本実施例のドットデータ生成処理S170cは、図6のS170の代わりに実行される。印刷処理(図6)を実行する印刷装置の構成は、図1の複合機200の構成と同じである。
図12(B)は、用紙PM上に印刷される対象画像の例を示す説明図である。この対象画像OIdは、2個のオブジェクトIM41、IM42を含んでいる。これらのオブジェクトIM41、IM42は、いずれも、1次元バーコードの画像である。
図中には、媒体方向Dpが示されている。用紙PMは、多数の繊維を含んでいる。多数の繊維は、おおよそ同じ方向に延びている。媒体方向Dpは、用紙PMに含まれる繊維の延びる方向である。媒体方向は、用紙の種類毎に予め決められている。用紙の種類は、印刷指示(図6:S105)によって指定される。プロセッサ210は、印刷指示を参照して用紙の種類を特定し、特定された用紙の種類に基づいて媒体方向Dpを特定する。図12(B)の例では、用紙PM上に画像が印刷される状態で、媒体方向Dpは、-Dy方向と同じである。一般的に、用紙PM上では、インクは、媒体方向Dpに平行な方向に滲みやすい。図12(B)の例では、インクは、副走査方向Dyに平行な方向に滲みやすい。
第1バーコード画像IM41の一部は、重畳領域Ab12に含まれている。第1バーコード画像IM21の複数のバーは、媒体方向Dpに垂直である。第2バーコード画像IM42の一部は、重畳領域Ab23に含まれている。第2バーコード画像IM42の複数のバーは、媒体方向Dpに平行である。
S235(図12(A))でコード条件CdCが満たされる場合(S235:Yes)、S263で、プロセッサ210は、対象ラスタラインと重なる1次元バーコード画像のバーと媒体方向Dpとのなす角度Apを算出する(第2種角度Apとも呼ぶ)。角度Apは、印刷時の用紙上における角度を示している。図12(C)は、角度Apの説明図である。図中には、1次元バーコードに含まれる黒バーB4と、媒体方向Dpに平行な直線Lpと、が示されている。黒バーB4の延びる方向(すなわち、黒バーB4に平行な方向)は、S165(図6)で特定される。図示するように、交わる2本の線B4、Lpは、交点Cpに配置された頂点を有する2個の角度ApS、ApLを形成する。プロセッサ210は、2個の角度ApS、ApLのうちの小さい方の角度ApSを、角度Apとして採用する。従って、角度Apは、ゼロ度以上、90度以下である。なお、1個のバーコード画像には、1個の角度Apが対応付けられる。プロセッサ210は、1個のバーコード画像に関して、1個のラスタラインのための処理でS263を実行した場合、同じバーコード画像と重なる他のラスタラインのための処理では、S263をスキップしてよい。
S266(図12(A))では、プロセッサ210は、角度Apが角度閾値Aptより小さいことを示す条件Cd3が満たされるか否かを判断する。角度Apが大きい場合、第1バーコード画像IM41(図12(B))のバーによって示されるように、媒体方向Dpは、複数のバーの延びる方向に交差する方向である。印刷された第1バーコード画像IM41内において、インクは、バーの幅方向に滲み得る。すなわち、インクの滲みによって、黒バーは太くなりやすい。一方、角度Apが小さい場合、第2バーコード画像IM42のバーによって示されるように、媒体方向Dpは、複数のバーの延びる方向とおおよそ平行である。印刷された第2バーコード画像IM42内において、インクは、バーの延びる方向に滲み得る。すなわち、インクが滲む場合であっても、黒バーは太くなりにくい。
角度Apが角度閾値Apt以上である場合(S266:No)、プロセッサ210は、S290へ移行する。そして、第2補正値T2を用いて濃度補正を行い(図8:S290、S295)、ラスタドットデータを生成する(S330)。例えば、対象ラスタラインが重畳範囲Rb12(図12(B))に含まれる場合、角度Apは、おおよそ90度である。この場合、第2補正値T2が用いられる。従って、印刷された対象画像OId中で、重畳範囲Rb12と非重畳範囲Ra1、Ra2との間の見た目の濃度のズレは、抑制される。また、媒体方向Dpに平行な方向へのインクの滲みによって、重畳範囲Rb12に含まれる黒バーが不適切に細くなることは、抑制される。
角度Apが角度閾値Aptより小さい場合(S266:Yes)、プロセッサ210は、S280へ移行する。そして、第1補正値T1を用いて濃度補正を行い(図8:S280、S285)、ラスタドットデータを生成する(S330)。例えば、対象ラスタラインが重畳範囲Rb23(図12(B))に含まれる場合、角度Apは、おおよそゼロ度である。この場合、第1補正値T1が用いられる。従って、印刷された対象画像OId中で、重畳範囲Rb23に含まれる黒バーが不適切に細くなることは、抑制される。
なお、角度閾値Aptは、印刷された画像中で1次元バーコードの黒バーが不適切に細くなることが抑制されるように、予め実験的に決定される。
以上のように、本実施例では、第1補正値T1を用いるための条件である特定条件は、コード条件CdC(S235)と、角度Apが角度閾値Aptより小さいことを示す条件Cd3(S266)と、が満たされることである。図12(B)の第2バーコード画像IM42を参照して説明したように、用紙PM上において1次元バーコードのバー(例えば、黒バー)が媒体方向Dpに平行である場合、特定条件は満たされる。すなわち、コード条件CdCと、1次元バーコードのバーが媒体方向Dpに平行であることを示す第2平行条件と、を含む第3特定条件が満たされる場合に、第1補正値T1を用いるための特定条件は満たされる。また、第1バーコード画像IM41を参照して説明したように、1次元バーコードのバー(例えば、黒バー)が媒体方向Dpに垂直である場合、第2補正値T2が用いられる。そして、図9に示すように、第1補正値T1が用いられる場合の濃度低下の程度は、第2補正値T2が用いられる場合の濃度低下の程度よりも、小さい。このように、制御部299は、第3特定条件が満たされる第1の場合には(S235:Yes、S266:Yes)、濃度の低下の程度を、1次元バーコードのバーが媒体方向Dpに垂直である場合の濃度の低下の程度よりも小さい程度に、決定するように構成されている。従って、1次元バーコードのバーが媒体方向Dpに平行である場合に、薄いコード画像の印刷が、抑制される。この結果、コード画像の要素(例えば、図12(B)の第2バーコード画像IM42の黒バー)が不適切に細くなることは、抑制される。
E.第5実施例:
図13は、ドットデータ生成処理の第5実施例のフローチャートである。図8の実施例との差異は、図8のS215とS230との間にS223、S226が追加されている点だけである。ドットデータ生成処理の他の部分の処理は、図8の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。本実施例のドットデータ生成処理S170dは、図6のS170の代わりに実行される。印刷処理(図6)を実行する印刷装置の構成は、図1の複合機200の構成と同じである。
本実施例では、制御部299は、用紙PMの両面に画像を印刷すべき両面モードと、用紙PMの片面に画像を印刷すべき片面モードと、を含む複数のモードから選択されたモードで印刷実行部400を制御するように構成されている。また、印刷実行部400の第2移動装置440は、自動両面印刷に対応している。すなわち、第2移動装置440は、用紙PMの両面に画像を印刷するために、用紙の一方の面に画像が印刷された後にその用紙を自動的に裏返すシートフィーダ(図示省略)を備えている。印刷モードは、印刷指示(図6:S105)によって、指定される。プロセッサ210は、印刷指示を参照して、印刷モードを特定できる。なお、第2移動装置440は、自動両面印刷に対応していなくてもよい。この場合、ユーザが、用紙の一方の面に画像が印刷された後にその用紙を裏返して印刷実行部400に供給してよい。
S223(図13)では、プロセッサ210は、印刷指示によって指定された印刷モードが「片面モード」であるか否かを判断する。印刷モードが片面モードである場合(S223:Yes)、プロセッサ210は、S230へ移行する。この場合の処理は、図8の実施例の処理と同じである。
印刷モードが「両面モード」である場合(S223:No)、S226で、プロセッサ210は、濃度低減処理を実行する。S226では、対象ラスタラインが重畳範囲に含まれるか否かに拘わらず、対象ラスタラインの全ての画素のCMYKのそれぞれの色値が、低減される。本実施例では、プロセッサ210は、CMYKのそれぞれの色値に、予め決められた1未満の係数kを乗じることによって、処理済の色値を算出する(例えば、k=0.9)。そして、プロセッサ210は、S230へ移行する。プロセッサ210は、処理済の色値を用いて、ドットデータを生成する。
以上のように、両面モードでは、片面モードと比べて、画像全体の濃度が低減される。この理由は、用紙PMの一方の面を観察する場合に、反対側の面に印刷された画像が用紙PMを透過して見えることを抑制するためである。濃度の低減によりインク量が低減するので、このような画像の透過は抑制される。
また、本実施例では、ドットデータ生成処理は、両面モードにおいて画像全体の濃度が低減される点を除いて、図8の処理と同じである。すなわち、第1生成処理S410は、両面モードでは、片面モードと比べて、低い濃度で第1種部分画像(ここでは、対象ラスタラインの画像)を示すラスタドットデータを生成する処理である。また、第2生成処理S420は、両面モードでは、片面モードと比べて、低い濃度で第2種部分画像(ここでは、対象ラスタラインの画像)を示すラスタドットデータを生成する処理である。そして、制御部299は、図8の実施例と同様に、両面モードと片面モードとのそれぞれにおいて、コード条件CdCを含む特定条件が満たされる第1の場合(S235:Yes)、濃度の低下の程度を、第2種部分画像(ここでは、対象ラスタラインの画像)がコード画像を含まない第2の場合(S235:No)の濃度の低下の程度よりも小さい程度に、決定するように構成されている。従って、薄いコード画像の印刷が、抑制される。この結果、コード画像の要素(例えば、図7の黒バーBk)が不適切に細くなることは、抑制される。
F.第6実施例:
図14(A)は、印刷処理の第6実施例のフローチャートである。図6の実施例との差異は、S170、S180、S190が、S170e、S180e、S190eに置換されている点だけである。本実施例では、制御部299は、先行の部分印刷と後続の部分印刷との間の待ち時間を調整するように構成されている。印刷処理の他の部分の処理は、図6の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。印刷処理を実行する印刷装置の構成は、図1の複合機200の構成と同じである。
S170eのドットデータ生成処理では、プロセッサ210は、ドットデータの生成に加えて、連続する2個の部分印刷(すなわち、先行の部分印刷と後続の部分印刷)の間の待ち時間を決定する。詳細については後述するが、プロセッサ210は、複数の部分印刷のそれぞれに関して、部分印刷の後の待ち時間を決定する。S180eの印刷データ生成処理では、プロセッサ210は、部分印刷データと搬送データと待ち時間データとの複数の組み合わせを含む印刷データを生成する。待ち時間データは、直前の部分印刷データに基づく部分印刷の後の待ち時間を示している。S190eでは、プロセッサ210は、図6のS190と同様に、印刷データを印刷実行部400に出力する。ここで、プロセッサ210は、部分印刷の終了後、待ち時間が経過してから、次の部分印刷のための部分印刷データを印刷実行部400に出力する。
図14(B)は、ドットデータ生成処理の第6実施例のフローチャートである。図8の実施例との差異は、2点ある。第1の差異は、S230とS235との間にS233が追加されている点である。第2の差異は、決定処理S430のS280、S290が、S280a、S290aにそれぞれ置換されている点である。ドットデータ生成処理の他の部分の処理は、図8の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。
S233では、プロセッサ210は、対象ラスタラインを含む重畳範囲の印刷のための先行する部分印刷と後続の部分印刷との間の待ち時間Twを決定する。本実施例では、プロセッサ210は、対象画像データを用いて、先行する部分印刷の印刷対象である複数の画素のCMYKの合計色値(先行パスインク量とも呼ぶ)を算出する。そして、プロセッサ210は、先行パスインク量が大きいほど、待ち時間Twを長い値に決定する。一般的に、短時間に多量のインクが消費される場合、インクカートリッジKC、YC、CC、MCからヘッド410への新たなインクの供給に遅れが生じ得る。インクの供給に遅れが生じる場合、印刷される画像が不適切に薄くなり得る。また、用紙上でインクが乾燥していない状態では、用紙のうちのインクが付着した部分が変形しやすい。用紙が変形した状態で後続の部分印刷が行われる場合、用紙上でドットの位置がズレ得る。このような不具合を抑制するために、本実施例では、先行パスインク量が多いほど、待ち時間Twが長い。これにより、後続の部分印刷の開始時に、インク供給の遅れは抑制される。また、用紙上のインクの乾燥が促進されるので、後続の部分印刷の開始時に、用紙の変形は抑制される。なお、先行パスインク量と待ち時間Twとの対応関係は、画像を適切に印刷できるように、予め実験的に決定される。例えば、待ち時間Twは、先行パスインク量に比例してよい。
なお、1個の重畳範囲(すなわち、先行する部分印刷と後続の部分印刷との1個の組み合わせ)には、1個の待ち時間Twが対応付けられる。プロセッサ210は、1個の重畳範囲に関しては、1個のラスタラインのための処理でS233を実行した場合、同じ重畳範囲に含まれる他のラスタラインのための処理では、S233をスキップしてよい。
S235は、図8のS235と同じである。コード条件CdCが満たされる場合(S235:Yes)、S280aで、プロセッサ210は、待ち時間Twを用いて第1補正値T1を決定する。そして、処理は、S285へ移行する。コード条件CdCが満たされない場合(S235:No)、S290aで、プロセッサ210は、待ち時間Twを用いて第2補正値T2を決定する。そして、処理は、S295へ移行する。
図14(C)は、待ち時間Twと補正値Tとの関係の例を示すグラフである。横軸は、待ち時間Twを示し、縦軸は、補正値Tを示している。このグラフは、合計色値D(図9)が閾値Dthよりも大きい場合の補正値Tを示している。図示を省略するが、合計色値Dが閾値Dth以下である場合、補正値T1、T2は1.00に設定される。
図14(C)に示すように、補正値T1、T2は、待ち時間Twが長いほど、小さい。そして、待ち時間Twに拘わらず、待ち時間Twが同じ場合には、T2<T1である。例えば、待ち時間Twが第1時間Tw1である場合、第1補正値T1は第1値T11である。待ち時間Twが第1時間Tw1よりも長い第2時間Tw2である場合、第1補正値T1は第2値T12である。そして、第1値T11は第2値T12よりも大きい。第2補正値T2に関しても、同様である。第1時間Tw1では、第2補正値T2は第1値T21であり、第2時間Tw2では、第2補正値T2は第2値T22であり、T21>T22である。
このように、待ち時間Twが長いほど、補正値T1、T2が小さい(すなわち、濃度の低下の程度が大きい)。この理由は、以下の通りである。待ち時間Twが長いほど、先行する部分印刷によって形成されたドットは、用紙PM上で滲んで広がりやすい。すなわち、待ち時間Twが長いほど、印刷された画像内において、重畳範囲内の画像の見た目の濃度が高くなりやすい。例えば、バーコードの黒バーは、太くなりやすい。従って、待ち時間Twが長い場合には、待ち時間Twが短い場合と比べて、濃度の低下の程度が大きくてよい。そこで、本実施例では、待ち時間Twが長いほど、補正値T1、T2が小さい(すなわち、濃度の低下の程度が大きい)。これにより、画像の見た目の濃度の上昇は、抑制される。
以上のように、本実施例では、制御部299は、部分印刷と、次の部分印刷と、の間の待ち時間Twを調整するように構成されている(図14(A)、図14(B))。また、本実施例では、第1補正値T1を用いるための条件である特定条件は、コード条件CdC(S235)が満たされることである。そして、図14(C)に示すように、制御部299は、特定条件が満たされる第1の場合には(S235:Yes)、待ち時間Twが第1時間Tw1である場合の濃度の低下の程度(T11)を、待ち時間Twが第1時間Tw1よりも長い第2時間Tw2である場合の濃度の低下の程度(T12)よりも、小さい程度に決定するように構成されている(T11>T12)。これにより、待ち時間Twが短い場合に、薄いコード画像の印刷は、抑制される。また、待ち時間Twが長い場合に、画像の見た目の濃度の上昇は、抑制される。
また、本実施例では、制御部299は、第2補正値T2を、第1補正値T1と同様に、調整する。具体的には、図14(C)に示すように、制御部299は、待ち時間Twが第1時間Tw1である場合の濃度の低下の程度を、待ち時間Twが第1時間Tw1よりも長い第2時間Tw2である場合の濃度の低下の程度よりも、小さい程度に決定するように構成されている(T21>T22)。これにより、印刷された画像内において、待ち時間Twに基づく重畳範囲内の画像の見た目の濃度の変化は、抑制される。
G.第7実施例:
図15(A)は、ドットデータ生成処理の第7実施例のフローチャートである。図10(A)の実施例との差異は、条件Cd1が満たされない場合(S246:No)のための処理S300、S305が追加されている点だけである。ドットデータ生成処理の他の部分の処理は、図10(A)の対応する部分の処理と同じである(同じ部分については、図示と説明を省略する)。本実施例のドットデータ生成処理S170fは、図6のS170の代わりに実行される。印刷処理(図6)を実行する印刷装置の構成は、図1の複合機200の構成と同じである。
コード条件CdCが満たされ(S235:Yes)、かつ、条件Cd1が満たされない場合(S246:No)、S300で、プロセッサ210は、第3補正値T3を決定する。図15(B)は、補正値の例を示すグラフである。図9のグラフとの差異は、第3補正値T3が追加されている点だけである。図示するように、合計色値Dが閾値Dth以下である場合、第3補正値T3は1.00に設定される。合計色値Dが閾値Dthよりも大きい場合、第3補正値T3は、第1補正値T1より小さく、第2補正値T2より大きい値に決定される。なお、第3補正値T3は、画素毎に決定される。
S305(図15(A))では、プロセッサ210は、第3補正値T3を用いて、対象ラスタラインの複数の画素のそれぞれの濃度補正を行う。S285、S295(図8)との差異は、補正値T1、T2に代えて、第3補正値T3が用いられる点だけである。S305の後、プロセッサ210は、S330へ移行する。
以上のように、本実施例では、重畳範囲に含まれる対象ラスタラインがコード画像を含む場合であっても(図8:S230:Yes、S235:Yes)、角度Agが角度閾値Agt以上である場合には(図15(A):S246:No)、制御部299は、第1補正値T1とも第2補正値T2とも異なる第3補正値T3を用いて、濃度を補正する。例えば、対象ラスタラインが図10(B)の重畳範囲Rb12に含まれる場合、角度Agは、おおよそ90度である。この場合、S246の判断結果はNoであるので、制御部299は、第3補正値T3を用いる。図15(B)に示すように、第1補正値T1が用いられる場合の濃度低下の程度は、第3補正値T3が用いられる場合の濃度低下の程度よりも、小さい。このように、本実施例では、図10(A)-図10(C)の実施例と同様に、制御部299は、コード条件CdCと、1次元バーコードのバーが主走査方向(例えば、Dx方向)に平行であることを示す第1平行条件と、を含む第1特定条件が満たされる第1の場合には(S235:Yes、S246:Yes)、濃度の低下の程度を、1次元バーコードのバーが主走査方向(例えば、Dx方向)に垂直である場合の濃度の低下の程度よりも小さい程度に、決定するように構成されている。
このように、重畳範囲に含まれる対象ラスタラインがコード画像を含み(図8:S230:Yes、S235:Yes)、かつ、角度Agが角度閾値Agt以上である場合(図15(A):S246:No)、濃度補正に用いられる補正値は、対象ラスタラインがコード画像を含まない場合(SS235:No)に用いられる第2補正値T2とは異なる第3補正値T3であってよい。この場合、制御部299は、3種類の補正値T1、T2、T3から対象ラスタラインに基づいて補正値を選択する。制御部299は、2種類の補正値T1、T2から補正値を選択する場合と比べて、画像に適した濃度補正を実行できる。
H.変形例:
(1)補正値T1、T2、T3と合計色値Dとの関係は、図9、図15(B)に示す関係に代えて、他の種々の関係であってよい。例えば、プロセッサ210は、合計色値Dの変化に応じて、補正値T1、T2、T3を、2段階に限らず、3以上の段階で調整してよい。また、合計色値Dが増大する場合に、補正値T1、T2、T3は、滑らかに低減してよい。また、プロセッサ210は、合計色値Dに代えて、画素の濃度を示す種々の値を用いてよい。例えば、プロセッサ210は、CMYKの色値のうちの最大値を用いて、補正値を決定してよい。また、補正値T1、T2、T3は、画素の色(例えば、合計色値D)に拘わらず、一定値であってよい。
いずれの場合も、図14(A)、図14(B)の実施例のように、待ち時間Twが調整される場合には、待ち時間Twが長いほど、補正値(例えば、補正値T1、T2、T3)が小さいことが好ましい(すなわち、待ち時間Twが長いほど、濃度の低下の程度が大きいことが好ましい)。ここで、待ち時間Twに応じて補正値が変化する画素の色の範囲は、D>Dthのような一部の範囲であってよい。これに代えて、画素の色に拘わらず、補正値が待ち時間Twに応じて変化してよい。
(2)第1補正値T1を用いるための特定条件は、上記の各実施例の条件に代えて、他の種々の条件であってよい。例えば、特定条件は、コード条件CdC(図8:S235)が満たされることに加えて、図10(A)の条件Cd1と、図11(A)の条件Cd2と、図12(A)の条件Cd3と、から任意に選択された1以上の条件が満たされることを含んでよい。このような特定条件は、図13の実施例と、図14(B)の実施例と、に適用されてよい。
いずれの場合も、図15(A)の実施例のように、重畳範囲内の対象ラスタラインがコード画像の少なくとも一部を含む場合であっても、特定条件が満たされない場合には、制御部299は、第1補正値T1と第2補正値T2とは異なる第3補正値T3を用いて濃度を補正してよい。ここで、第2補正値T2は、重畳範囲内の対象ラスタラインがコード画像を含まない場合に用いられる補正値である。そして、第1補正値T1に基づく濃度の低下の程度は、第3補正値T3に基づく濃度の低下の程度よりも小さいことが好ましい。
(3)図9等で説明した通り、補正値T(例えば、補正値T1、T2、T3)が小さいほど、濃度低下の程度は大きい。ここで、2種類の補正値T(例えば、補正値T1、T2)の間では、濃度の低下の程度は、以下のように比較可能である。図9の例のように、画素の色の少なくとも一部の範囲(例えば、合計色値Dの少なくとも一部の範囲)で第1補正値T1が第2補正値T2と異なる場合、より小さい値を有する第2補正値T2による濃度低下の程度は、より大きい値を有する第1補正値T1による濃度低下の程度よりも、大きい。又、濃度補正処理は、補正値Tを用いる処理に代えて、他の任意の処理であってよい。例えば、トーンカーブを用いてCMYKの色値が補正されてよい。
いずれの場合も、画像の濃度は、1個の画素ではなく、複数個の画素で構成される画像の全体を観察することによって、特定可能である。例えば、印刷された画像を測定して得られる光学濃度は、画像の濃度の良い指標値である。また、同じ画像データに基づいて、濃度補正無しでの印刷(例えば、非重畳範囲内での印刷)と、濃度補正有りでの印刷(例えば、重畳範囲内での印刷)と、が行われると仮定する。濃度補正無しで印刷された画像の光学濃度から、濃度補正有りで印刷された画像の光学濃度を減算して得られる差分は、濃度の低下の程度の指標値として採用可能である。
(4)第1補正値T1(図9等)は、画素の色(例えば、合計色値D)に拘わらず、1.00であってよい。この場合、第1補正値T1によって示される濃度の低下の程度Uは、濃度を低下させないことを示すゼロである。ここで、図8等のドットデータ生成処理において、S280、S285の処理は、省略されてよい。すなわち、重畳範囲内の対象ラスタラインに関して特定条件が満たされる場合、プロセッサ210は、濃度補正をせずにドットデータを生成する(S330)。この場合も、プロセッサ210は、特定条件が満たされるか否かに応じて、濃度の低下の程度を切り替えている。特定条件が満たされる場合に濃度補正が省略されることは、濃度の低下の程度をゼロに決定することを意味している。
(5)補正値T(例えば、補正値T1、T2、T3)は、印刷された画像上の重畳範囲と非重畳範囲との間の見た目の濃度のズレを抑制し、重畳範囲に含まれるコード画像を適切に印刷できるように、予め実験的に決定されてよい。このように、補正値Tは、インクの特性に応じて、異なり得る。例えば、コード画像が印刷される場合には、バーコードの黒バーBk(図7)を示す複数の画素のように、同じ色の複数の画素が連続し得る。インクが用紙PM上で流れやすい場合、連続する同じ色の複数の画素の間でインクが広がりやすいので、画像の細かい形状(例えば、黒バーBk)が太くなりやすい。この場合、図9等の実施例とは異なり、T1<T2であってもよい。
(6)待ち時間Twの決定方法は、図14(B)のS233で説明した方法に代えて、他の種々の方法であってよい。例えば、先行パスインク量に代えて、先行する部分印刷における単位時間あたりのインク消費量(例えば、最大値)、または、先行する部分印刷における単位面積あたりのインク量(例えば、最大値)が、用いられてよい。
(7)図6のS165で特定されるコード画像は、バーコードなどの1次元コードの画像に限らず、QRコードなどの2次元コードの画像であってよい。また、プロセッサ210は、対象画像データに代えて、対象画像を示す他の画像データ(例えば、入力画像データ)を用いて、コード画像を特定してよい。コード画像の特定方法は、任意の方法であってよい。
いずれの場合も、図11(A)のS253で特定されるサイズSzは、コード画像のサイズと相関を有する種々の値であってよい。例えば、矩形領域がコード画像として特定される場合、長辺の長さ、または、短辺の長さが、サイズSzとして用いられてよい。また、コード画像の領域の最大外径が、サイズSzとして用いられてよい。例えば、コード画像の領域が矩形領域である場合、最大外径は、対角線の長さである。また、コード画像の領域の面積(例えば、画素数)が、サイズSzとして用いられてよい。
(8)印刷処理は、図6等で説明した処理に代えて、他の種々の処理であってよい。例えば、図8等のドットデータの生成処理では、制御部299は、1回のループ処理で、1本のラスタラインのドットデータを生成している。これに代えて、制御部299は、連続するN本(Nは2以上の整数)のラスタラインのドットデータを、1回のループ処理で生成してよい。プロセッサ210は、部分印刷の印刷対象範囲の副走査方向Dyの幅や、先行の部分印刷と後続の部分印刷との間の搬送量などのパラメータを、対象画像に基づいて調整してよい。制御部299は、印刷データの全体の生成が完了するよりも前に、生成済の部分印刷データを印刷実行部400に出力してよい。
(9)印刷実行部400の構成は、図1-図3の構成に代えて、他の種々の構成であってよい。利用可能なインクの総数は、1以上の任意の数であってよい。例えば、印刷実行部400は、ブラックKのインクのみを用いてよい。ドット形成状態の総数は、「ドット無し」と、1以上の「ドット有り」とを含む2以上の任意の数であってよい。ノズルの総数とノズルピッチとは、インク毎に異なっていてもよい。第1移動装置430は、ヘッド410ではなく用紙PMを移動させるように構成されてよい。第2移動装置440は、用紙PMではなくヘッド410を移動させるように構成されてよい。印刷媒体は、用紙PMに代えて、布やフィルムなどの他の種類の媒体であってよい。いずれの場合も、制御部299は、少なくとも1つのインクに関して、図8等で説明したドットデータ生成処理を実行することが好ましい。
(10)印刷装置の構成は、図1の複合機200の構成に代えて、印刷実行部と制御装置とを備える種々の構成であってよい。例えば、スキャナ部280は省略されてよい。すなわち、印刷装置は、単機能の印刷装置であってよい。また、印刷実行部に画像を印刷させる制御装置は、制御部299のように印刷実行部400と同じ筐体に収容された装置に代えて、印刷実行部400に接続された外部の端末装置(例えば、コンピュータ)であってよい。端末装置のプロセッサは、例えば、プリンタドライバプログラムを実行することによって、印刷のための制御処理(例えば、図6のS105-S190)を実行する。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、印刷のための制御処理の機能を一部ずつ分担して、全体として、制御処理の機能を提供してもよい(これらの装置を備えるシステムが制御装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、ドットデータ生成処理を実行する機能を、専用のハードウェア回路(例えば、ASIC)によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。