A.実施例:
A−1: 印刷システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例の印刷システム1000の構成を示すブロック図である。
印刷システム1000は、プリンタ200と、本実施例の画像処理装置としての端末装置300と、を含んでいる。プリンタ200と、端末装置300と、は、有線または無線のネットワークNWを介して、通信可能に接続されている。
端末装置300は、プリンタ200のユーザが使用する計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置300は、端末装置300のコントローラとしてのCPU310と、ハードディスクドライブなどの不揮発性記憶装置320と、RAMなどの揮発性記憶装置330と、マウスやキーボードなどの操作部360と、液晶ディスプレイなどの表示部370と、通信部380と、を備えている。通信部380は、ネットワークNWに接続するための有線または無線のインタフェースを含む。
揮発性記憶装置330は、CPU310のためのバッファ領域331を提供する。不揮発性記憶装置320には、コンピュータプログラムPG1と複数個のプロファイルFP、RPとが格納されている。コンピュータプログラムPG1と複数個のプロファイルFP、RPとは、例えば、サーバからダウンロードされる形態、あるいは、DVD−ROMなどに格納される形態で、プリンタ200の製造者によって提供される。CPU310は、コンピュータプログラムPG1を実行することによって、プリンタ200を制御するプリンタドライバとして機能する。プリンタドライバとしてのCPU310は、例えば、後述する画像処理を実行して、プリンタ200に画像を印刷させる。
複数個のプロファイルFP、RPは、それぞれ、RGB表色系の色値(RGB値)と、CMYK表色系の色値(CMYK値)と、の対応関係を規定するプロファイルである。複数個のプロファイルFP、RPは、後述する画像処理において、RGB値をCMYK値に変換する色変換処理のために用いられる。RGB値は、赤(R)、緑(G)、青(B)の3個の成分値を含む色値である。CMYK値は、印刷に用いられる複数種のインクに対応する複数個の成分値、本実施例では、シアン(C)、マゼンタ(M)、イエロ(Y)、黒(K)の成分値を含む色値である。RGB値およびCMYK値は、例えば、256階調の値である。複数個のプロファイルFP、RPは、例えば、ルックアップテーブルである。複数個のプロファイルFP、RPについては後述する。なお、図1にて破線で示す閾値テーブルTTは、第2実施例にて揮発性記憶装置330に格納され、第2実施例にて用いられるので、第2実施例において説明する。
プリンタ200は、例えば、印刷機構100と、プリンタ200のコントローラとしてのCPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、RAMなどの揮発性記憶装置230と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部260と、液晶ディスプレイなどの表示部270と、通信部280と、を備えている。通信部280は、ネットワークNWに接続するための有線または無線のインタフェースを含む。プリンタ200は、通信部280を介して、外部装置、例えば、端末装置300と通信可能に接続される。不揮発性記憶装置220と揮発性記憶装置230とは、プリンタ200の内部メモリである。
揮発性記憶装置230は、処理バッファ領域231と受信バッファ領域232として用いられる。処理バッファ領域231は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納する領域である。受信バッファ領域232は、通信部280を介して受信されるデータ、具体的には、後述する部分印刷データを一時的に格納する領域である。不揮発性記憶装置220には、コンピュータプログラムPG2が格納されている。コンピュータプログラムPG2は、本実施例では、プリンタ200を制御するための制御プログラムであり、プリンタ200の出荷時に不揮発性記憶装置220に格納されて提供され得る。これに代えて、コンピュータプログラムPG2は、サーバからダウンロードされる形態で提供されても良く、DVD−ROMなどに格納される形態で提供されてもよい。CPU210は、コンピュータプログラムPG2を実行することにより、例えば、後述する画像処理によって端末装置300から送信される印刷データや方向情報(後述)に従って印刷機構100を制御して印刷媒体(例えば、用紙)上に画像を印刷する。
印刷機構100は、シアン(C)、マゼンタ(M)、イエロ(Y)、ブラック(K)のそれぞれのインク(液滴)を用いてドットを用紙M上に形成可能であり、これによってカラー印刷を行う。印刷機構100は、印刷ヘッド110とヘッド駆動部120と主走査部130と搬送部140とインク供給部150と温度センサ170とを備えている。
図2は、印刷機構100の概略構成を示す図である。図2に示すように、主走査部130は、キャリッジ133と、摺動軸134と、ベルト135と、複数個のプーリ136、137と、を備えている。キャリッジ133は、印刷ヘッド110を搭載する。摺動軸134は、キャリッジ133を主走査方向(図2のX軸方向)に沿って往復動可能に保持する。ベルト135は、プーリ136、137に巻き掛けられ、一部がキャリッジ133に固定されている。プーリ136は、図示しない主走査モータの動力によって回転する。主走査モータがプーリ136を回転させると、キャリッジ133が摺動軸134に沿って移動する。これによって、用紙Mに対して主走査方向に沿って印刷ヘッド110を往復動させる主走査が実現される。
インク供給部150は、印刷ヘッド110にインクを供給する。インク供給部150は、カートリッジ装着部151と、チューブ152と、バッファタンク153と、を備えている。カートリッジ装着部151には、内部にインクが収容された容器である複数個のインクカートリッジKC、CC、MC、YCが着脱可能に装着され、これらのインクカートリッジからインクが供給される。バッファタンク153は、キャリッジ133において、印刷ヘッド110の上方に配置され、印刷ヘッド110に供給すべきインクをCMYKのインクごとに一時的に収容する。チューブ152は、カートリッジ装着部151とバッファタンク153との間を接続するインクの流路となる可撓性の管である。各インクカートリッジ内のインクは、カートリッジ装着部151、チューブ152、バッファタンク153を介して、印刷ヘッド110に供給される。バッファタンク153には、インクに混入した異物を除去するためのフィルタ(図示省略)が設けられている。
図3は、−Z側から見た印刷ヘッド110の構成を示す図である。図3に示すように、印刷ヘッド110のノズル形成面111は、搬送部140によって搬送される用紙Mと対向する面である。ノズル形成面111には、複数のノズルNZからなる複数のノズル列、すなわち、上述したC、M、Y、Kの各インクを吐出するノズル列NC、NM、NY、NKが形成されている。各ノズル列は、複数個のノズルNZを含んでいる。複数個のノズルNZは、搬送方向(+Y方向)の位置が互いに異なり、搬送方向に沿って所定のノズル間隔NTで並ぶ。ノズル間隔NTは、複数のノズルNZの中で搬送方向に隣り合う2個のノズルNZ間の搬送方向の長さである。これらのノズル列を構成するノズルのうち、最も上流側(−Y側)に位置するノズルNZを、最上流ノズルNZuとも呼ぶ。また、これらのノズルのうち、最も下流側(+Y側)に位置するノズルNZを、最下流ノズルNZdと呼ぶ。最上流ノズルNZuから最下流ノズルNZdまでの搬送方向の長さに、さらに、ノズル間隔NTを加えた長さを、ノズル長Dとも呼ぶ。
ノズル列NC、NM、NY、NKの主走査方向の位置は、互いに異なり、副走査方向の位置は、互いに重複している。例えば、図3の例では、Yインクを吐出するノズル列NYの+X方向に、ノズル列NMが配置されている。
各ノズルNZは、印刷ヘッド110の内部に形成されたインク流路(図示省略)を介してバッファタンク153に接続されている。印刷ヘッド110の内部の各インク流路に沿ってインクを吐出させるためのアクチュエータ(図示省略、本実施例では、圧電素子)が設けられている。
ヘッド駆動部120(図1)は、主走査部130による主走査中にCPU210から供給される印刷データに従って印刷ヘッド110内の各アクチュエータを駆動する。これによって、搬送部140によって搬送される用紙M上に印刷ヘッド110のノズルNZからインクが吐出されて、ドットが形成される。ヘッド駆動部120の構成については、後述する。ヘッド駆動部120は、アクチュエータに供給する駆動電圧を変更することで、1種類以上のサイズのドットを用紙M上に形成できる。例えば、ヘッド駆動部120は、「小」、「中」、「大」の3種類のサイズのドットを形成できる。
温度センサ170は、測温抵抗体などを含む公知の温度センサであり、プリンタ200の印刷ヘッド110の近傍に設置される。温度センサ170は、プリンタ200の印刷ヘッド110の温度を示す信号を出力する。
搬送部140は、用紙Mを保持しつつ、搬送方向(図2の+Y方向)に用紙Mを搬送する。図示は省略するが、搬送部140は、例えば、印刷ヘッド110と対向する位置に配置されたプラテンと、印刷ヘッド110よりも上流側に位置する上流ローラ対と、印刷ヘッド110よりも下流側に位置する下流ローラ対と、これらのローラ対を回転駆動するモータと、を備えている。
A−2.印刷の概要
図4は、印刷機構100の動作の説明図である。CPU310は、ヘッド駆動部120と、主走査部130と、搬送部140と、を制御して、部分印刷SPとシート搬送TRとを、交互に繰り返し複数回に亘って実行させることによって印刷を行う。1回の部分印刷SPでは、用紙Mをプラテン上に停止した状態で、1回の主走査MSを行いつつ、印刷ヘッド110のノズルNZから用紙M上にインクを吐出することによって、印刷すべき画像の一部分が用紙Mに印刷される。1回のシート搬送TRは、所定の搬送量だけ用紙Mを搬送方向ARに移動させる搬送である。本実施例では、CPU310は、m回(mは、3以上の整数)の部分印刷SPmを印刷機構100に実行させる。
図4には、用紙Mに、印刷される印刷画像OIと、印刷領域IAと、が図示されている。印刷領域IAは、印刷可能な領域を示す。図4の例では、印刷画像OIは、5回の部分印刷SPで印刷される(m=5)。複数回の部分印刷SPに対して、実行順に、番号k(kは、1以上m以下の整数)を付し、k回目の部分印刷SPを、部分印刷SPkと呼ぶ。そして、部分印刷SPkと、(k+1)回目の部分印刷SP(k+1)と、の間に行われるシート搬送TRを、k回目のシート搬送TRkと呼ぶ。k回目の部分印刷SPkによって印刷可能な領域を部分領域PAkと呼ぶ。k回目の部分印刷SPkによって部分領域PAkに印刷される画像を部分画像PIkと呼ぶ。
図4には、1〜5回目の部分印刷SP1〜SP5にて行われる主走査MS1〜MS5が横方向(X方向)の矢印で示されている。主走査MS1〜MS5を示す矢印の方向は、主走査の方向を示し、往路方向(+X方向)と復路方向(−X方向)とのうちのいずれかである。部分印刷にて行われる主走査の方向を、該部分印刷の印刷方向とも呼ぶ。
図4には、さらに、部分印刷SP1〜SP4の後に行われるシート搬送TR1〜TR4が縦方向(Y方向)の矢印で示されている。シート搬送TR1〜TR4の搬送量は、いずれも、ノズル長Dである。図4には、さらに、部分印刷SP1〜SP5に対応する部分領域PA1〜PA5が示されている。
印刷画像OIは、5回の部分印刷SP1〜SPにて印刷される部分画像PI1〜PI5を含んでいる。ここで、本明細書では、部分画像PIkは、用紙M上にドットで形成される画像を意味する。このために、用紙Mの色を有する部分、例えば、白色の背景は、部分画像PIkには含まれない。図4では、図の煩雑を避けるために、部分領域PAkのうち、部分画像PIkの−X方向の端(図4の左端)から+X方向の端(図4の右端)までの矩形の領域が、部分画像PIkとしてハッチングで示されている。以下では、+X方向の端を+X端とも呼び、−X方向の端を−X端とも呼ぶ。
図4に示す主走査MS1〜MS5の方向から解るように、本実施例の印刷は、往路方向で行われる部分印刷(往路印刷とも呼ぶ)SP1、SP4、SP5と、復路方向で行われる部分印刷(復路印刷とも呼ぶ)SP2、SP3と、を含む、いわゆる双方向印刷である。双方向印刷は、例えば、往路印刷のみが繰り返し実行される片方向印刷よりも印刷時間を短縮できる。片方向印刷では、往路印刷の後、次の部分印刷も必ず往路印刷であるために、再度、往路印刷を行うために、部分印刷を行うことなく、印刷ヘッド110を復路方向に移動させる必要があるが、双方向印刷では、その移動を省略可能であるためである。
A−3. 画像処理
端末装置300のCPU310(図1)は、ユーザからの印刷指示に基づいて、画像処理を実行する。印刷指示には、印刷すべき画像を示す画像データの指定が含まれる。図5は、画像処理のフローチャートである。S10では、CPU310は、印刷指示によって指定される画像データの部分画像データである注目部分画像データを、例えば、不揮発性記憶装置320から取得する。注目部分画像データは、処理対象の1回の部分印刷SP(注目部分印刷とも呼ぶ)にて印刷される部分画像PIに対応する部分画像データである。取得される注目部分画像データは、例えば、JPEG圧縮された画像データや、ページ記述言語で記述された画像データなどの各種のフォーマットを有する画像データである。
S20では、CPU310は、注目部分画像データに対して、ラスタライズ処理を実行して、RGB値で画素ごとの色を表すRGB画像データに変換する。
S30では、CPU310は、ラスタライズ後の注目部分画像データ(RGB画像データ)を用いて、印刷方向決定処理を実行する。印刷方向決定処理は、注目部分印刷の印刷方向を復路方向と往路方向とのいずれかに決定する処理である。印刷方向決定処理の詳細については、後述する。
S40では、CPU310は、ラスタライズ後の注目部分画像データ(RGB画像データ)に対して、色変換処理を実行して、CMYK値で画素ごとの色を表すCMYK画像データを生成する。色変換処理は、上述した2個のプロファイルFP、RPのうち、S30にて決定済みの印刷方向に対応するプロファイルを用いて実行される。すなわち、決定済みの印刷方向が往路方向である場合には、往路用プロファイルFPを用いて色変換処理が実行され、決定済みの印刷方向が復路方向である場合には、復路用プロファイルRPを用いて色変換処理が実行される。
ここで、2個のプロファイルFP、RPが用いられる理由について説明する。図3に示すように、印刷ヘッド110において、CMYKのノズル列NC、NM、NY、NKは、主走査方向の位置が互いに異なっている。このために、用紙M上の同じ位置にCMYKの各ドットを形成する場合に、往路印刷と復路印刷との間で、ドットの形成順序が異なる。例えば、図3の例では、往路印刷では、K、C、M、Yの順番でドットが形成され、復路印刷では、逆に、Y、M、C、Kの順番でドットが形成される。この結果、複数色のドットが重なり合う領域では、往路印刷で印刷される部分画像と復路印刷で印刷される画像との間でドットが重なる順序が異なる。このために、往路印刷で印刷される部分画像と復路印刷で印刷される画像との間では、互いに同じドットデータを用いて印刷したとしても、印刷される色味が互いに異なる場合がある。このような往路印刷で印刷される部分画像と復路印刷で印刷される画像との間で印刷される色の相違(往復間色差とも呼ぶ)が生じる。
本実施例では、このような色の相違を低減するために複数個のプロファイルFP、RPが用いられる。これらのプロファイルFP、RPは、上述した色の相違を小さくするように、互いに色合わせが行われている。具体的には、これらのプロファイルFP、RPは、特定のRGB値を、これらのプロファイルを用いてそれぞれ変換して得られるCMYK値に基づいて、対応する印刷方向でそれぞれ印刷される色が、互いに近い色になるように調整されている。これらの調整は、実際に印刷された画像における色の相違を目視や測色によって評価することによって行われている。
S50では、CPU310は、CMYK画像データに対して、ハーフトーン処理を実行して、CMYKのそれぞれの色成分について、ドット形成状態を画素ごとに表すドットデータを生成する。ドットデータの各画素の値は、例えば、「ドット無し」と「ドット有り」の2階調、あるいは、「ドット無し」「小」「中」「大」の4階調のドットの形成状態を示す。ハーフトーン処理は、ディザ法や誤差拡散法などの公知の手法を用いて実行される。ドットデータは、印刷媒体上に形成すべきドットで構成された部分画像PIを示すデータである。
S60では、CPU310は、ドットデータを用いて生成される部分印刷データと、S30にて決定された印刷方向を示す印刷方向情報と、をプリンタ200に対して送信する。プリンタ200は、部分印刷データと印刷方向情報とを受信すると、印刷機構100を制御して、部分印刷を実行する。これによって、部分印刷データによって示される部分画像PI(例えば、図4の部分画像PI1)が、印刷方向情報によって示される印刷方向(例えば、往路方向)で印刷される。なお、最初の(1回目の)部分印刷のための部分印刷データおよび印刷方向情報とともに、後述する印刷モードを示すモード情報もプリンタ200に対して送信される。
S70では、CPU310は、印刷指示にて指定された画像データに含まれる全ての部分画像データを処理したか否かを判断する。全ての部分画像データが処理された場合には(S70:YES)、CPU310は、画像処理を終了する。未処理の部分画像データがある場合には(S70:NO)、CPU310は、S10に処理を戻す。これによって、プリンタ200にて印刷画像OIが用紙M上に印刷される。
A−4.印刷方向決定処理
図5のS30の印刷方向決定処理について説明する。図6は、印刷方向決定処理のフローチャートである。S100では、CPU310は、印刷モードが高速モードであるか否かを判断する。本実施例の印刷指示は、印刷画像を印刷する際に用いるべき印刷モードを示すモード情報を含んでいる。本実施例にて想定される印刷モードは、高速モードと、高画質モードとの2種類である。高速モードは、印刷の解像度が高画質モードよりも低い分、吐出すべきドットの個数が高画質モードより少ないので、高画質モードよりも高速に印刷を行うことができるモードである。本実施例では、高速モードでは、例えば、高画質モードよりも各部分印刷SPにおける主走査MSの速度が速い。本実施例では、高速モードの主走査MSの速度は、40ips(inches per second)であり、高画質モードの主走査MSの速度は、26ipsである。
印刷モードが高速モードである場合には(S100:YES)、S105にて、CPU310は、準備距離PDを「長」に設定する。印刷モードが高速モードでない場合には(S100:NO)、S110にて、CPU310は、準備距離PDを「短」に設定する。
準備距離PDは、部分印刷SPにおいて主走査MSの開始から印刷(ドットの形成)の開始までに要する印刷ヘッド110の移動距離である。ドットを規定の間隔で形成するためには、印刷ヘッド110が規定の速度で等速に移動していることが好ましい。準備距離PDは、印刷ヘッド110が停止した状態から主走査MSが開始された後に印刷ヘッド110が規定の速度(もしくは規定の速度に近い速度)に到達するまでに必要な印刷ヘッド110の移動距離である、とも言うことができる。また、主走査MSにおいて1回の部分印刷SPにて形成すべきドットの形成が完了した後に、印刷ヘッド110が停止するまでには、印刷ヘッド110の相応の移動距離が必要である。この移動距離は、準備距離PDとほぼ等しくなるので、準備距離PDは、部分印刷SPにおいて印刷(ドットの形成)の完了から110の停止までに要する印刷ヘッド110の移動距離である、とも言うことができる。
主走査MSの速度が速いほど、長い準備距離PDが必要である。高速モードでは、主走査MSの速度が高画質モードよりも早いので、準備距離PDが、高画質モードよりも長くされる。本実施例では、「長」の準備距離PDは、20mmであり、「短」の準備距離PDは、10mmである。
S115では、CPU310は、注目部分画像データを用いて、注目部分画像の画像範囲IRを特定する。換言すれば、印刷画像OIにおける注目部分画像の主走査方向(X方向)の両端の位置が特定される。注目部分画像は、注目部分画像データを用いて生成される部分印刷データを用いて印刷される部分画像PIである。例えば、CPU310は、注目部分画像データによって示される画像(RGB画像)に含まれる複数個の画素のうち、白((R、G、B)=(255、255、255))を示す値とは異なるRGB値を有する2以上の非白色画素を特定する。CPU310は、該2以上の非白色画素のうち、画像内において最も+X側に位置する画素と最も−X側に位置する画素とを、注目部分画像の両端の位置として特定する。
図7は、印刷画像OIの一部を示す図である。図7には、印刷画像OIのうち、部分領域PA2、PA3を含む部分が拡大して図示されている。注目部分画像が部分画像PI2である場合には、図7の部分画像PI2の+X端と−X端との位置が特定される。部分画像PI2の+X端の位置は、部分領域PA2にて形成されるべき複数個のドットのうち、最も+X側に位置するドットの位置であり、図7の例では、オブジェクトOb2の+X端の位置である。部分画像PI1の−X端の位置は、部分領域PA2にて形成されるべき複数個のドットのうち、最も−X端側に位置するドットの位置であり、図7の例では、オブジェクトOb1の−X端の位置である。これによって、部分画像PI2の画像範囲IR2が特定される。同様にして、注目部分画像が部分画像PI3である場合には、例えば、オブジェクトOb3の−X端からオブジェクトOb4の+X端までの画像範囲IR3(図7)が特定される。
S120では、CPU310は、注目部分印刷の主走査範囲SR(注目主走査範囲とも呼ぶ)を特定する。主走査範囲SRは、部分印刷において、部分画像PIを印刷するために実行することが必要となる主走査MSの範囲である。注目主走査範囲の−X端の位置は、注目部分画像の−X端よりも準備距離PDだけ−X側の位置である。注目主走査範囲の+X端の位置は、注目部分画像の+X端よりも準備距離PDだけ+X側の位置である。注目部分画像が部分画像PI2である場合には、図7の画像範囲IR2の−X端よりも準備距離PDだけ−X側の位置から、画像範囲IR2の+X端よりも準備距離PDだけ+X側の位置までの主走査範囲SR2(図7)が、注目主走査範囲として特定される。このように、k回目の部分印刷SPkの主走査範囲SRkは、図4、図7に示すように、−X端Plkから+X端Prkまでの範囲である。
S125では、CPU310は、注目部分印刷が、1回目の部分印刷であるか否かを判断する。注目部分印刷が、1回目の部分印刷である場合には(S125:YES)、注目部分印刷の印刷方向(注目印刷方向とも呼ぶ)を、予め定められた方向に決定する。本実施例では、S145にて、CPU310は、注目印刷方向を往路方向に決定する。
注目部分印刷が、1回目の部分印刷でない場合、すなわち、2回目以降の部分印刷である場合には(S125:NO)、S130にて、CPU310は、前回の部分印刷の印刷方向(前回印刷方向とも呼ぶ)は、往路方向であるか否かを判断する。前回印刷方向が往路方向である場合には(S130:YES)、CPU310は、S135に処理を進め、前回印刷方向が往路方向でない場合、すなわち、前回印刷方向が復路方向である場合には、CPU310は、S140に処理を進める。
S135では、CPU310は、前回の部分印刷の主走査範囲SR(前回主走査範囲とも呼ぶ)の往路方向の下流端(+X端)は、注目主走査範囲の往路方向の上流端(−X端)よりも復路方向(−X側)にあるか否かを判断する。例えば、注目部分印刷が、2回目の部分印刷SP2である場合には、図4に示すように、主走査範囲SR1の+X端Pr1は、主走査範囲SR2の−X端Pl2よりも+X側にある。このために、この場合には、前回主走査範囲の+X端は、注目主走査範囲の−X端よりも−X側にないと判断される。注目部分印刷が、5回目の部分印刷SP5である場合には、図4に示すように、主走査範囲SR4の+X端Pr4は、主走査範囲SR5の−X端Pl5よりも−X側にある。このために、この場合には、前回主走査範囲の+X端は、注目主走査範囲の−X端よりも−X側にあると判断される。
前回主走査範囲の+X端が、注目主走査範囲の−X端よりも−X側にある場合には(S135:YES)、往路方向で前回主走査範囲の主走査MSが完了した後に、主走査MSが一端停止されてシート搬送TRが行われた後に、直ちに、往路方向で注目主走査範囲の主走査MSを行うことができる。すなわち、往路方向での前回の部分印刷が完了した後に、印刷ヘッド110を復路方向に移動させることなく、往路方向で注目部分印刷を行うことができる。このために、この場合には、S145にて、CPU310は、注目印刷方向を往路方向に決定する。
前回主走査範囲の+X端が、注目主走査範囲の−X端よりも−X側にない場合には(S135:NO)、往路方向で前回主走査範囲の主走査MSが完了した後に、主走査MSが一端停止されてシート搬送TRが行われた後に、直ちに、往路方向で注目主走査範囲の主走査MSを行うことはできない。すなわち、往路方向での前回の部分印刷が完了した後に、往路方向で注目部分印刷を行うためには、印刷ヘッド110を復路方向に移動させる必要がある。このために、この場合には、S150にて、CPU310は、注目印刷方向を復路方向に決定する。
S140では、CPU310は、前回主走査範囲の復路方向の下流端(−X端)は、注目主走査範囲の復路方向の上流端(+X端)よりも往路方向(+X側)にあるか否かを判断する。例えば、注目部分印刷が、3回目の部分印刷SP3である場合には、図4に示すように、主走査範囲SR2の−X端Pl2は、主走査範囲SR3の+X端Pr3よりも+X側にある。このために、この場合には、前回主走査範囲の−X端は、注目主走査範囲の+X端よりも+X側にあると判断される。注目部分印刷が、4回目の部分印刷SP4である場合には、図4に示すように、主走査範囲SR3の−X端Pl3は、主走査範囲SR4の+X端Pr4よりも−X側にある。このために、この場合には、前回主走査範囲の−X端は、注目主走査範囲の+X端よりも+X側にないと判断される。
前回主走査範囲の−X端が、注目主走査範囲の+X端よりも+X側にある場合には(S140:YES)、復路方向で前回主走査範囲の主走査MSが完了した後に、主走査MSが一端停止されてシート搬送TRが行われた後に、直ちに、復路方向で注目主走査範囲の主走査MSを行うことができる。すなわち、復路方向での前回の部分印刷が完了した後に、印刷ヘッド110を往路方向に移動させることなく、復路方向で注目部分印刷を行うことができる。このために、この場合には、S150にて、CPU310は、注目印刷方向を復路方向に決定する。
前回主走査範囲の−X端が、注目主走査範囲の+X端よりも+X側にない場合には(S140:NO)、復路方向で前回主走査範囲の主走査MSが完了した後に、主走査MSが一端停止されてシート搬送TRが行われた後に、直ちに、復路方向で注目主走査範囲の主走査MSを行うことはできない。すなわち、復路方向での前回の部分印刷が完了した後に、復路方向で注目部分印刷を行うためには、印刷ヘッド110を往路方向に移動させる必要がある。このために、この場合には、S145にて、CPU310は、注目印刷方向を往路方向に決定する。
注目印刷方向が往路方向と復路方向とのいずれかに決定されると、CPU310は、印刷方向決定処理を終了する。図4の例では、部分印刷SP1〜SP5の印刷方向がそれぞれ決定される。例えば、図4の例では、1回目の部分印刷SP1の印刷方向(主走査MS1の方向)は、往路方向である。主走査範囲SR1の+X端Pr1は、主走査範囲SR2の−X端Pl2よりも−X側にないので(S135にてNO)、2回目の部分印刷SP2の印刷方向(主走査MS2の方向)は、復路方向である(S150)。主走査範囲SR2の−X端Pl2は、主走査範囲SR3の+X端Pr3よりも+X側にあるので(S140にてYES)、3回目の部分印刷SP3の印刷方向(主走査MS3の方向)は、復路方向である(S150)。主走査範囲SR3の−X端Pl3は、主走査範囲SR4の+X端Pr4よりも+X側にないので(S140にてNO)、4回目の部分印刷SP4の印刷方向(主走査MS4の方向)は、往路方向である(S145)。主走査範囲SR4の+X端Pr4は、主走査範囲SR5の−X端Pl5よりも−X側にあるので(S135にてYES)、5回目の部分印刷SP5の印刷方向(主走査MS5の方向)は、往路方向である(S145)。
A−5.印刷処理
次に、端末装置300から送信される印刷データ(複数個の部分印刷データと印刷方向情報(図5のS60))をプリンタ200によって実行される印刷処理について説明する。図8は、印刷処理のフローチャートである。印刷処理は、例えば、プリンタ200が端末装置300から1回目の部分印刷のための部分印刷データを受信した場合に、開始される。
S210では、CPU210は、処理対象とすべき注目部分印刷データを、受信バッファ領域232から取得して処理バッファ領域231に格納する。端末装置300から送信される複数個の部分印刷データは、受信バッファ領域232に格納される。受信バッファ領域232に格納された部分印刷データは、受信された順番に、1つずつ注目部分印刷データとして取得される。取得された部分印刷データは、受信バッファ領域232から削除される。
S220では、CPU210は、注目部分印刷データに対応する印刷方向情報を取得する。印刷方向情報は、部分印刷データとともに、受信バッファ領域232に格納されている。取得された印刷方向情報は、受信バッファ領域232から削除される。
S230では、CPU210は、印刷モードに応じて主走査MSの速度を設定する。印刷モードは、例えば、1回目の部分印刷データともに端末装置300から送信されるモード情報に示されている。例えば、上述したように、主走査MSの速度は、印刷モードが高速モードである場合には、主走査MSの速度は、印刷モードが高画質モードである場合によりも早い速度に設定される。
S240では、CPU210は、注目部分印刷データに基づいて、注目部分印刷の主走査範囲SR(注目主走査範囲)を特定する。具体的には、CPU210は、注目部分印刷データに基づいて、注目部分印刷にて印刷すべき部分画像PIの画像範囲IRを特定する。注目部分印刷にて形成されるべき複数個のドットのうち、最も−X側に位置するドットの位置から最も+X側に位置するドットの位置までの範囲が、画像範囲IRとして特定される。そして、特定された画像範囲IRの−X端よりも準備距離PDだけ−X側の位置から、画像範囲IRの+X端よりも準備距離PDだけ+X側の位置までの範囲が、注目主走査範囲として特定される。準備距離PDには、上述したように、主走査MSの速度に応じた距離が用いられる。
S250では、CPU210は、ヘッド駆動部120および主走査部130を制御して、S220にて取得済みの印刷方向情報によって示される印刷方向で、注目主走査範囲を含む範囲の主走査MSを行うことによって、注目部分印刷を実行する。注目部分印刷が実行された後には、主走査MSは停止され、印刷ヘッド110は停止した状態になる。
S260では、CPU210は、搬送部140を制御して、用紙Mをノズル長Dだけ搬送する。すなわち、CPU210は、印刷ヘッド110が停止した状態でシート搬送TRを実行する。
S270では、CPU210は、全ての部分印刷データを処理したか否かを判断する。全ての部分印刷データを処理したか否かを判断する。例えば、1個の印刷ジョブに対応する複数個の部分印刷データのうち、最後の部分印刷データには、最後であることを示す情報が含まれている。CPU210は、注目部分画像データに当該情報が含まれる場合にいは、全ての部分印刷データを処理したと判断する。全ての部分印刷データが処理された場合には(S270:YES)、CPU210は、印刷処理を終了する。未処理の部分印刷データがある場合には(S270:NO)、CPU210は、S210に戻って、次の注目部分データを受信バッファ領域232から取得する。なお、未処理の部分印刷データがあるにも拘わらずに、受信バッファ領域232に次に処理すべき未処理の部分印刷データが格納されていない場合、すなわち、当該部分印刷データが未受信である場合がある。この場合には、CPU210は、当該部分印刷データが受信されて受信バッファ領域232に格納されるまで待機し、当該部分印刷データが受信された時点で、当該部分印刷データを取得する。以上の印刷処理によって、印刷画像OIが用紙M上に印刷される。
以上説明した本実施例によれば、格納部としての不揮発性記憶装置320は、第1プロファイルとしての往路用プロファイルFPと、第2プロファイルとしての復路用プロファイルRPと、を含む複数個のプロファイルを格納する。画像取得部としてのCPU310は、第1種の色値としてのRGB値を含む対象画像データとしてのRGB画像データを取得する(図5のS20)。画像端特定部としてのCPU310は、RGB画像データを用いて、往路方向で行われるN回目(Nは1以上の整数)の部分印刷(例えば、部分印刷SP1、SP4)にて印刷すべき部分画像(例えば、部分画像PI1、PI4)の往路方向の端よりも準備距離PD分だけ往路方向にある第1の位置(例えば、+X端Pr1、Pr4の位置)と、(N+1)回目の部分印刷(例えば、部分印刷SP2、SP5)にて印刷すべき部分画像(例えば、部分画像PI2、PI5)の復路方向の端よりも準備距離PD分だけ復路方向にある第2の位置(例えば、−X端Pl2、Pl5の位置)と、を特定する(図6のS115、S120)。印刷方向決定部としてのCPU310は、第1の位置(例えば、+X端Pr4)が第2の位置(例えば、−X端Pl5)に基づく基準位置(本実施例では−X端Pl5そのもの)よりも復路方向(−X側)にある場合に(図6のS135にてYES)、(N+1)回目の部分印刷(例えば、部分印刷SP5)の印刷方向を往路方向に決定し(図6のS145)、第1の位置(例えば、+X端Pr1)が第2の位置(例えば、−X端Pl2)に基づく基準位置(本実施例では−X端Pl2そのもの)よりも往路方向(+X側)にある場合に(図5のS135にてNO)、(N+1)回目の部分印刷(例えば、部分印刷SP2)の印刷方向を復路方向に決定する(図6のS150)。印刷データ生成部としてのCPU310は、RGB画像データを用いて、(N+1)回目の部分印刷のための部分印刷データを生成する生成処理を実行する(図5のS40〜S50)。生成処理は、第1種の色値としてのRGB値を第2種の色値としてのCMYK値に変換する色変換処理を含む。色変換処理は、プロファイルFP、RPのうち、決定済みの印刷方向に対応するプロファイルを用いて実行される(図5のS40)。印刷制御部としてのCPU310は、部分印刷データをプリンタ200に送信することによって、(N+1)回目の部分印刷を決定済みの印刷方向で印刷実行部としてのプリンタ200に実行させる(図5のS60)。
この結果、適切に印刷方向が決定できることで、印刷画像OIの画質を低下させることなく、印刷時間を短縮できる。例えば、本実施例では、往路方向の部分印刷SPの後に、復路方向の主走査を行うことなく、往路方向で次の部分印刷SPを行うことができる場合には、次の部分印刷SPを往路方向で行う。このために、往路方向の部分印刷SPの次には、常に復路方向の部分印刷SPを行うよりも印刷時間を短縮できる。また、往路方向の部分印刷SPの次に、往路方向の部分印刷SPを行うか否かの判断は、準備距離PDを考慮して行われるので、準備距離PDを考慮しない場合よりも印刷画像OIの画質の低下を抑制できる。例えば、仮に、準備距離PDを考慮することなく、N回目の部分印刷SPで印刷されるべき部分画像PIの+X端が、(N+1)回目の部分印刷SPで印刷されるべき部分画像PIの−X端よりも−X側にある場合に、(N+1)回目の部分印刷SPの印刷方向を往路方向に決定するとする。この場合には、例えば、(N+1)回目の部分印刷SPの主走査MSの速度が、規定の速度に到達しない時点でドットの形成が行われ得る。そうすると、ドットの形成位置の精度が低下して、印刷画像OIの画質が低下し得る。本実施例によれば、このような不都合を抑制できる。
さらに、上記実施例によれば、プリンタ200は、第1の印刷モードとしての高画質モードでの印刷と、第1の印刷モードよりも主走査MSの速度が速い第2の印刷モードとしての高速モードと、を実行可能である。印刷方向決定部としてのCPU310は、印刷モードが高画質モードである場合には(図6のS100にてNO)「短」の準備距離PDに基づいて印刷方向を決定し(図6のS110等)、印刷モードが高速モードである場合には(図6のS100にてYES)、「短」の準備距離PDよりも長い「長」の準備距離PDに基づいて、印刷方向を決定する(図6のS105等)。例えば、準備距離PDが過度に長い場合には、往路方向の部分印刷SPの後に、復路方向の主走査を行うことなく、往路方向で次の部分印刷SPを行うことができるにも拘わらずに、次の部分印刷SPの印刷方向が復路方向に決定されてしまう不都合が起こりやすくなる。また、例えば、準備距離PDが過度に短い場合には、印刷ヘッド110が規定の速度に到達しない時点でドットの形成が行われる不都合が起こりやすくなる。本実施例によれば、印刷モードに応じて、過不足ない適切な準備距離PDに基づいて、適切な印刷方向を決定できるので、このような不都合を抑制することができる。
さらに、上記実施例によれば、印刷データ生成部としてのCPU310は、図5に示すように、印刷方向決定部としてのCPU310によって(N+1)回目の部分印刷SPの印刷方向が決定された(S30)後に、(N+1)回目の部分印刷SPのための部分印刷データを生成する(S40、S50)。この結果、例えば、部分印刷SPの印刷方向が決定される前に、2つの印刷方向(往路方向と復路方向)に対応する2つの部分印刷データを生成し、印刷方向が決定された後に、決定された印刷方向に対応する一方の部分印刷データのみを使用する場合と比較して、無駄な処理を低減できる。本実施例では、往路方向の部分印刷のための部分印刷データを生成する際には、往路用プロファイルFPが用いられ、復路方向の部分印刷のための部分印刷データを生成する際には、復路用プロファイルRPが用いられるので、これらの2つの部分印刷データは同じではない。
さらに、上記実施例によれば、印刷実行部としてのプリンタ200は、例えば、往路方向の部分印刷SPが連続する場合には、例えば、図4の往路方向の2回の部分印刷SP4、SP5を、以下のように実行する。プリンタ200は、往路方向で行われる4回目の部分印刷SP4が完了した後に、印刷ヘッド110が用紙M上にある状態で往路方向の主走査MS4を停止する(図4)。プリンタ200は、5回目の部分印刷SP5が行われるべき位置まで用紙Mを移動させる副走査(すなわち、シート搬送TR5(図4))を実行する。プリンタ200は、その後に、印刷ヘッド110が用紙M上にある状態から往路方向の主走査MS5を開始して5回目の部分印刷SP5を実行する(図4の主走査MS5参照)。このように、部分印刷SP4と部分印刷SP5との間には、復路方向の主走査が行われないので、印刷時間を短縮できる。
以上の説明から解るように、第1実施例の「短」の準備距離PDは、第1の印刷準備距離の例であり、「長」の準備距離PDは、第2の印刷準備距離の例である。
B.第2実施例
第2実施例では、インクの供給の遅れを考慮して、上述した準備距離PDを変更する。まず、インクの供給の遅れについて説明する。第2実施例では、印刷モードは、1種類だけである。
印刷時に、インクがノズルNZから吐出されると、インクが吐出された分、バッファタンク153(図2)内のインクが減少するので、バッファタンク153内に負圧が発生する。該負圧によって、カートリッジ装着部151、チューブ152を介して、インクカートリッジからバッファタンク153へインクが供給される。印刷のために短い時間内に複数個のノズルNZからインクが大量に吐出されると、バッファタンク153へのインクの供給の遅れが発生し得る。このようなインクの供給の遅れが発生すると、アクチュエータを駆動しても、インクがノズルNZから吐出されない不具合、あるいは、想定より少量しか吐出されない不具合が発生する。このような不具合が発生すると、印刷画像OIにおいて、色が薄くなり、画質が低下する。
インクの供給の遅れは、インクの流動性が低下すると、発生しやすい。例えば、プリンタ200(印刷機構100)の印刷ヘッド110の温度(以下、ヘッド温度Thとも呼ぶ)が低いほど、インクの供給の遅れが発生しやすい。ヘッド温度Thが低いほどインクの粘度が増大するので、インクの流動性が低下するためである。ここで、累積インク使用量TAは、プリンタ200の製造時から現在まで特定のインク(C、M、Y、Kのいずれか)の累積の使用量を示す指標値である。累積インク使用量TAが大きいほど、特定のインクの供給の遅れが発生しやすい。累積インク使用量TAが大きいほど、インク内の異物を除去するためのフィルタにおける異物の堆積量が増大するので、インクの流路抵抗が増大してインクの流動性が低下するためである。また、パスインク使用量PAは、1回の部分印刷において部分画像の印刷に用いられる特定のインクの使用量を示す指標値である。パスインク使用量PAが大きいほど、特定のインクの供給の遅れが発生しやすい。短時間で特定のインクが使用されるため、特定のインクの供給が追いつかなくなりやすいためである。
本実施例では、インクの供給の遅れを抑制するための工夫がなされている。具体的には、インクの供給が遅れると判断される場合には、部分印刷SPにおいて、インクの供給が遅れると判断されない場合と比較して、主走査MSの速度を遅くする。これによって、インクの供給が遅れると判断される場合には、インクの供給が遅れると判断されない場合と比較して、短時間で多量のインクが使用されることを抑制できるので、インクの供給の遅れが発生することを抑制することができる。
第2実施例では、揮発性記憶装置330には、閾値テーブルTT(図1)が格納されている。また、第2実施例では、図6の印刷方向決定処理とは異なる印刷方向決定処理が実行される。図9は、閾値テーブルTTの一例を示す図である。図10は、第2実施例の印刷方向決定処理のフローチャートである。
S310では、CPU310は、プリンタ200の印刷ヘッド110のヘッド温度Thを取得する。CPU310は、プリンタ200に、ヘッド温度Thを要求することによって、プリンタ200からヘッド温度Thを取得する。プリンタ200は、例えば、温度センサ170からの信号に基づいてヘッド温度Thを取得して、端末装置300に送信する。
S320では、CPU310は、プリンタ200において印刷に用いられる各インク、例えば、CMYKの各インクの累積インク使用量TAを取得する。CPU310は、プリンタ200に、累積インク使用量TAを要求することによって、プリンタ200から累積インク使用量TAを取得する。累積インク使用量TAは、プリンタ200の不揮発性記憶装置220の所定領域に、CMYKの各インクについて、それぞれ記録されている。プリンタ200は、印刷を実行する度に、例えば、印刷で形成されたドット数に基づいて各色のインクの使用量を算出して、累積インク使用量TAを更新している。
S330では、CPU310は、ヘッド温度Thと累積インク使用量TAとに基づいて、図9の閾値テーブルTTから、印刷に用いられるCMYKの各インクに対応する判定閾値JT(単位は%)を取得する。閾値テーブルTTには、ヘッド温度Thと累積インク使用量TAとの組み合わせに対して、対応する判定閾値JTが記録されている。例えば、図9の例では、取得されたヘッド温度Thが、予め定められた「中」の範囲内であり、かつ、特定のインクについて取得された累積インク使用量TAが、予め定められた「大」の範囲内である場合には、特定のインクに対応する判定閾値JTとして、「75%」が取得される。
S340では、CPU310は、注目部分画像データ(RGB画像データ)を用いて、CMYKの各インクの推定使用率URを算出する。推定使用率URは、例えば、以下のように算出される。CPU310は、注目部分画像データによって示される画像に含まれる複数個の画素のRGB値の平均値を算出する。CPU310は、RGB値の平均値を、CMYKの各インクの推定使用率URに変換する。該変換は、RGB値と、CMYKの各インクの推定使用率URと、を予め対応付けたテーブルを用いて実行される。推定使用率URは、例えば、部分画像の複数個の画素に対応する全ての位置にドットが形成されると仮定した場合の使用率を基準(100%)として、注目部分画像データに基づいて部分画像を印刷する場合に使用されるインクの使用量を割合で示す値である。
S350では、CPU210は、印刷に用いられる少なくとも1個のインクについて、推定使用率URが判定閾値JTよりも大きいか否かを判断する。推定使用率URが判定閾値JTよりも大きい場合には、短時間の間に多量のインクが吐出されるので、インクの供給の遅れが発生し得る。このために、印刷に用いられる少なくとも1個のインクについて、推定使用率URが判定閾値JTよりも大きい場合には(S350:YES)、CPU210は、インクの供給が遅れると判断する。このために、この場合には、CPU310は、S360にて、準備距離PDを「短」に設定し、S365にて、主走査MSの速度を「低」に設定する。
印刷に用いられる全てのインクについて、推定使用率URが判定閾値JT以下である場合には(S350:NO)、CPU210は、インクの供給が遅れると判断する。このために、この場合には、CPU310は、S370にて、準備距離PDを「長」に設定し、S375にて、主走査MSの速度を「高」に設定する。なお、S365およびS375にて設定された主走査MSの速度を示す情報は、例えば、図5のS60にて、部分印刷データおよび印刷方向情報とともに、プリンタ200に送信される。プリンタ200は、図8のS330にて、該情報によって示される速度に、注目部分印刷の主走査MSの速度を設定する。この結果、注目部分印刷についてインクの供給が遅れると判断される場合には、注目部分印刷の主走査MSは「低」の速度で行われ、インクの供給が遅れると判断されない場合には、注目部分印刷の主走査MSは「高」の速度で行われる。
S380では、図6のS115〜S150と同一の処理が実行される。これによって、インクの供給が遅れるか否かに応じた準備距離PDに基づいて、注目部分印刷の印刷方向が決定される。
第2実施例のその他の処理、例えば、図5の画像処理のうちの印刷方向決定処理以外の処理は、第1実施例と同様であるので、説明を省略する。
以上説明した第2実施例によれば、印刷実行部としてのプリンタ200は、部分印刷SPにてインク供給部150から印刷ヘッド110へのインクの供給が遅れると判断される場合には(図10のS350にてYES)、部分印刷SPにて第1の速度(例えば、「低」の速度)で主走査MSを実行し(図10のS365)、部分印刷SPにてインクの供給が遅れると判断されない場合には(図10のS350にてNO)、部分印刷SPにて第1の速度よりも早い第2の速度(例えば、「高」の速度)で主走査MSを実行する(図10のS375)。印刷方向決定部としてのCPU310は、N回目の部分印刷(例えば、SP1)と(N+1)回目の部分印刷(例えば、SP2)との少なくとも一方にてインクの供給が遅れると判断される場合には(図10のS350にてYES)、「短」の準備距離PDに基づいて、(N+1)回目の部分印刷の印刷方向を決定する(図10のS260)。印刷方向決定部としてのCPU310は、N回目の部分印刷と(N+1)回目の部分印刷との両方にてインクの供給が遅れると判断されない場合には(図10のS350にてNO)、「短」の準備距離PDよりも長い「長」の準備距離PDに基づいて、(N+1)回目の部分印刷SPの印刷方向を決定する(図10のS270)。この結果、第2実施例によれば、インクの供給が遅れるか否かに応じて、過不足ない適切な準備距離PDに基づいて、適切な印刷方向を決定できる。したがって、印刷画像OIの画質を低下させることなく、効果的に印刷時間を短縮することができる。
以上の説明から解るように、第2実施例の「短」の準備距離PDは、第3の印刷準備距離の例であり、「長」の準備距離PDは、第4の印刷準備距離の例である。
C.第3実施例
第2実施例では、インクの供給が遅れるか否かを端末装置300が判断している。第3実施例では、第2実施例とは異なり、インクの供給が遅れるか否かをプリンタ200が実質的に判断している。また、第3実施例では、ヘッド温度Thのみに基づいて、インクの供給が遅れるか否かを判断する。
第3実施例では、プリンタ200は、図8の印刷処理とは独立して、インク遅れ関連処理を実行する。図11は、インク遅れ関連処理のフローチャートである。インク遅れ関連処理は、プリンタ200の電源がONである場合には、常時実行されている。
S410では、所定の処理時期が到来したか否かを判断する。例えば、プリンタ200のCPU210は、前回の処理時期から特定時間(例えば、3秒)が経過した場合に、所定の処理時期が到来したと判断する。所定の処理時期が到来していない場合には(S410:NO)、CPU210は、所定の処理時期が到来するまで待機する。
所定の処理時期が到来した場合には(S410:YES)、S420にて、CPU210は、温度センサ170を用いて、ヘッド温度Thを取得する。
S440では、CPU210は、ヘッド温度Thが、制限範囲LR内であるか否かを判断する。格納数SNは、受信バッファ領域232に格納可能な部分印刷データの個数である。制限範囲LRは、格納数SNを少数に制限すべきであるヘッド温度Thの範囲である。制限範囲LRは、例えば、後述するインクの供給の遅れの発生温度Tvを含む範囲である。制限範囲LRは、例えば、発生温度Tvよりも所定温度ΔT(例えば、2度)だけ高い温度を上限とする範囲、すなわち、Th≦(Tv+ΔT)を満たす範囲である。ヘッド温度Thが制限範囲LR内である場合には、ヘッド温度Thが制限範囲LR外である場合と比較して、インクの供給が遅れる第1の状態(本実施例ではヘッド温度Thが発生温度Tv未満である状態)に切り替わる可能性が高い。
ヘッド温度Thが制限範囲LR内である場合には(S440:YES)、S450にて、CPU210は、格納数SNを第1の個数SN1に設定する。ヘッド温度Thが制限範囲LR外である場合には(S440:NO)、S460にて、CPU210は、格納数SNを第1の個数SN1よりも大きな第2の個数SN2に設定する(SN2>SN1)。第1の個数SN1は、例えば、1個であり、第2の個数SN2は、例えば、5個である。
S470では、CPU210は、ヘッド温度Thが、インクの供給の遅れの発生温度Tv未満であるか否かを判断する。発生温度Tvは、インクの粘度が低下してインクの供給の遅れが発生する温度の上限値に予め設定されている。発生温度Tvは、実験的に予め定められた値である。
ヘッド温度Thが発生温度Tv未満である場合には(S470:YES)、インクの供給の遅れが発生すると判断される。このために、この場合には、S480にて、CPU210は、インクの供給が遅れる第1の状態であることを示す通知(供給遅れ通知とも呼ぶ)を、端末装置300に送信する。
ヘッド温度Thが発生温度Tv以上である場合には(S470:NO)、インクの供給の遅れないと判断される。このために、この場合には、S490にて、CPU210は、インクの供給の遅れない第2の状態であることを示す通知(通常通知とも呼ぶ)を、端末装置300に送信する。
CPU210は、供給遅れ通知または通常通知を端末装置300に送信すると、S410に戻って、次の処理時期が到来するまで待機する。
第3実施例では、端末装置300(CPU310)は、第2実施例の印刷方向決定処理(図10)とは異なる印刷方向決定処理が実行される。第3実施例では、CPU310は、プリンタ200からの通知に基づいて、インクの供給が遅れるか否かを判断する。図12は、第3実施例の印刷方向決定処理のフローチャートである。
S510では、CPU310は、プリンタ200から受信したインクの供給の遅れに関する通知(供給遅れ通知または通常通知)のうち、最後に受信した通知は、供給遅れ通知であるか否かを判断する。
最後に受信した通知が供給遅れ通知である場合には(S510:YES)、CPU210は、インクの供給の遅れると判断する。このために、この場合には、CPU310は、S520にて、準備距離PDを「短」に設定し、S525にて、主走査MSの速度を「低」に設定する。
最後に受信した通知が供給遅れ通知でない場合、すなわち、最後に受信した通知が通常通知である場合には(S510:NO)、CPU210は、インクの供給の遅れないと判断する。このために、この場合には、CPU310は、S530にて、準備距離PDを「長」に設定し、S535にて、主走査MSの速度を「高」に設定する。なお、第2実施例と同様に、S525およびS535にて設定された主走査MSの速度を示す情報は、例えば、図5のS60にて、部分印刷データおよび印刷方向情報とともに、プリンタ200に送信される。プリンタ200は、図8のS330にて、該情報によって示される速度に、注目部分印刷の主走査MSの速度を設定する。
S540では、図6のS115〜S150と同一の処理が実行される。これによって、インクの供給が遅れるか否かに応じた準備距離PDに基づいて、注目部分印刷の印刷方向が決定される。
プリンタ200は、受信バッファ領域232に格納数SN未満の受信済みの部分印刷データが格納されている場合には、次の部分印刷データを受信する。プリンタ200は、受信バッファ領域232に格納数SN分の受信済みの部分印刷データが格納されている場合には、次の部分印刷データを受信しない。印刷に用いられた部分印刷データは受信バッファ領域232から削除されるため、この場合には、プリンタ200は、1個の部分印刷データが削除されて、受信バッファ領域232に格納されている部分印刷データの個数が格納数SN未満になった時点で、次の部分印刷データを受信する。したがって、端末装置300が、図5の画像処理のS60にて、部分印刷データをプリンタ200に送信した場合に、その時点で、プリンタ200の受信バッファ領域232に、格納数SN分の受信済みの部分印刷データが格納されているとする。この場合には、端末装置300は、部分印刷データを送信できない状態になり、部分印刷データを送信できるまで、次の部分印刷データを生成しない。
第3実施例のその他の処理、例えば、図5の画像処理のうちの印刷方向決定処理以外の処理は、第2実施例と同様であるので、説明を省略する。
以上説明した第3実施例によれば、印刷実行部としてのプリンタ200は、部分印刷データを格納するメモリとしての処理バッファ領域231を備えている(図1)。判断部としてのプリンタ200のCPU210は、インクの供給が遅れるか否かを判断する(図11のS470)。本実施例では、上述したように、ヘッド温度Thが発生温度Tv未満である場合にインクの供給が遅れると判断される。通知部としてのCPU210は、インクの供給が遅れるか否かを示す通知(例えば、供給遅れ通知または通常通知)を端末装置300に送信する(図11のS480、S490)。この結果、インクが遅れるか否かの実質的な判断が、プリンタ200で行われる場合であっても、インクの供給が遅れるか否かに応じて、過不足ない適切な準備距離PDに基づいて、適切な印刷方向を決定できる。設定部としてのCPU210は、インクの供給が遅れる第1の状態となる可能性がある第1期間(本実施例では、ヘッド温度Thが制限範囲LR内である期間)には、格納数SNを第1の個数SN1に設定する(図11のS440にてYES、S450)。設定部としてのCPU210は、第1の状態となる可能性が第1期間より低い第2期間(本実施例では、ヘッド温度Thが制限範囲LR外である期間)には、格納数SNを第1の個数SN1より多い第2の個数SN2に設定する(図11のS440にてNO、S460)。印刷方向決定部としての端末装置300のCPU310は、プリンタ200からの通知に基づいて、注目部分印刷にてインクの供給が遅れると判断される場合には(図12のS510にてYES)、「短」の準備距離PDに基づいて、注目部分印刷の印刷方向を決定する(S520、S540)。インクの供給が遅れる可能性がある第1期間には、格納数SNを第2の個数SN2より少ない第1の個数SN1に設定するため、実際にインクの供給が遅れると判断される場合に、プリンタの受信バッファ領域232に格納されている部分印刷データの個数が制限される。この結果、インクの供給が遅れた際のプリンタ側の印刷処理と、インクの供給が遅れた際の端末装置側の部分印刷データの生成処理とのタイミングを合わせることができる。また、第1の状態から第2の状態に戻った場合であっても、すぐに格納数SNを第2の個数SN2に戻すことなく、ヘッド温度Thが制限範囲LR外となるまで格納数SNが第1の個数SN1に維持される。したがって、印刷画像OIの画質を低下させることなく、効果的に印刷時間を短縮することができる。
また、仮に、第2期間においても、格納数SNが第1の個数SN1(例えば、1個)のままであると仮定する。この場合には、常に、格納数SNが少数であるので、例えば、プリンタ200には、常に第1の個数SN1しか部分印刷データが無い状態になり、端末装置300も事前に部分印刷データを生成しておくことも常にできないので、例えば、一時的なネットワークNWの障害などの軽度の不具合が発生しただけで、プリンタ200は部分印刷データが無いために印刷を停止せざるを得なくなる可能性がある。その結果、印刷時間が長くなる可能性がある。本実施例によれば、第2期間においては、格納数SNが第1の個数SN1よりも大きな第2の個数SN2に設定されるので、このような不都合を抑制できる。
D.変形例
(1)上記各実施例では、例えば、部分印刷SP1の主走査範囲SR1の+X端Pr1が、
部分印刷SP2の主走査範囲SR2の−X端Pl2よりも往路方向(−X側)にある場合に、注目印刷方向は、往路方向に決定される(図4、図6のS135にてYES、S145)。このように、実施例では、主走査範囲SR1の+X端Pr1と比較される主走査範囲SR2の−X端Pl2に基づく基準位置は、−X端Pl2の位置そのものである。これに代えて、主走査範囲SR2の−X端Pl2に基づく基準位置は、−X端Pl2よりも所定幅ΔWだけ+X側の位置であっても良い。この場合には、部分印刷SP1の後であって、部分印刷SP2が開始される前に、最大でΔWだけ印刷ヘッド110が復路方向に戻されても良い。このような印刷ヘッド110の動作は、例えば、部分印刷SP1と部分印刷SP2との間のシート搬送TR1が行われている間に、行うことができるので、印刷時間を長くする要因にはならない。
(2)図6の印刷方向決定処理は、適宜に変更可能である。例えば、図6のS100〜S110は、省略されても良い。この場合には、例えば、高速モードであっても高画質モードであっても、「長」の準備距離PDが用いられても良い。第2実施例や第3実施例におけるインクの供給の遅れに基づく準備距離PDの設定と、第1実施例の図6のS100〜S110の印刷モードに基づく準備距離PDの設定と、の両方が行われてもよい。すなわち、CPU310は、印刷モードが高速モードでありかつインクの供給が遅れないと判断した場合に準備距離を「長」に設定してもよい。また、CPU310は、準備距離を「長」「中」「短」の3段階に設定可能とし、印刷モードとインクの供給の遅れに基づき、3段階の中から適切な準備距離をそれぞれ設定してもよい。例えば、印刷モードが高速モードでありかつインクの供給が遅れないと判断した場合に準備距離は「長」に設定され、印刷モードが高速モードでありかつインクの供給が遅れると判断した場合や印刷モードが高画質モードでありかつインクの供給が遅れないと判断した場合に準備距離は「中」に設定され、印刷モードが高画質モードでありかつインクの供給が遅れると判断した場合に準備距離は「短」に設定されてもよい。
(3)上記各実施例では、端末装置300からプリンタ200には、部分印刷データと印刷方向情報とが送信され(図5のS60)、プリンタ200は、印刷時に部分印刷データを用いて主走査範囲SRを特定している(図8のS240)。これに代えて、端末装置300からプリンタ200に、部分印刷データと印刷方向情報とともに、主走査範囲SRを示す情報をプリンタ200に送信しても良い。この場合には、プリンタ200は、該情報を参照して、主走査範囲SRを特定する。
(4)上記各実施例では、CPU310は、図5に示すように、印刷方向決定部としてのCPU310によって(N+1)回目の部分印刷SPの印刷方向が決定された(S30)後に、(N+1)回目の部分印刷SPのための部分印刷データを生成する(S40、S50)。これに代えて、部分印刷SPの印刷方向が決定される前に、2つの印刷方向(往路方向と復路方向)に対応する2つの部分印刷データを生成し、印刷方向が決定された後に、決定された印刷方向に対応する一方の部分印刷データのみをプリンタ200に送信しても良い。
(5)上記第2実施例では、インクの供給が遅れるか否かを示す条件は、ヘッド温度Thと累積インク使用量TAと注目部分画像の平均RGB値とを用いて判断されているが、これに限られない。例えば、ヘッド温度Thと平均RGB値のみを用いて判断されても良い。この場合には、例えば、図9の閾値テーブルTTには、3種のヘッド温度Th(低、中、高)に対応する3個の判定閾値JTのみが規定されていれば良い。また、累積インク使用量TAと平均RGB値のみを用いて判断されても良い。閾値テーブルTTには、3種の累積インク使用量TA(小、中、大)に対応する3個の判定閾値JTのみが規定されていれば良い。また、部分画像のインクの推定使用率URは、例えば、部分画像を複数個に分割するブロックごとに算出されるブロックごとの推定使用率の平均であっても良い。
(6)上記実施例の印刷機構100では、搬送部140が用紙Mを搬送することによって、印刷ヘッド110に対して用紙Mを搬送方向に相対的に移動させる副走査が行われる。これに代えて、副走査は、固定された用紙Mに対して、印刷ヘッド110を搬送方向と反対方向に移動させることによって、行われてもよい。
(7)また、印刷ヘッド110の各ノズル列の配置位置は、図3に示すようなX方向の上流側から、ノズル列NC、NM、NY、NKの順番でなくてもよく、他の任意の順番が採用され得る。
(8)印刷媒体として、用紙Mに代えて、他の媒体、例えば、OHP用のフィルム、CD−ROM、DVD−ROMが採用されても良い。
(9)上記各実施例では、図5の画像処理を実行する装置は、端末装置300である。これに代えて、プリンタ200のCPU210が画像処理装置として、図5の画像処理を実行しても良い。この場合には、画像処理装置として機能するCPU210は、図5のS60において、部分印刷データと印刷方向情報を、例えば、不揮発性記憶装置220や揮発性記憶装置230の所定のメモリ領域に出力する。プリンタ200の印刷機構100は、該メモリ領域に出力された部分印刷データに従って部分印刷を実行する。
以上の説明から解るように、上記各実施例では、端末装置300が画像処理装置の例であり、プリンタ200が印刷実行部の例である。本変形例では、プリンタ200のCPU210が画像処理装置の例であり、プリンタ200の印刷機構100が印刷実行部の例である。
(10)図3の画像処理を実行する装置は、例えば、プリンタや端末装置から画像データを取得して該画像データを用いて印刷ジョブを生成するサーバであっても良い。このようなサーバは、ネットワークを介して互いに通信可能な複数個の計算機であっても良い。この場合には、ネットワークを介して互いに通信可能な複数個の計算機の全体が、画像処理装置の例である。
(11)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図5の画像処理がプリンタ200において実行される場合に、S40の色変換処理やS50のハーフトーン処理の全部または一部は、例えば、プリンタ200のCPU210の指示に従って動作する専用のハードウェア回路(例えば、ASIC)によって実現されてもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。