===開示の概要===
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかとなる。
すなわち、画像データに基づいて液体使用量を予測するステップと、液体の残量と前記液体使用量を比較するステップと、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、を有する液体吐出方法において、前記液体の残量に応じて、前記液体使用量の予測方法が異なること、を特徴とする液体吐出方法を実現できること。
このような液体吐出方法によれば、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防ぐことができる。また、液体使用量の予測時間を出来る限り短縮することができる。
かかる液体吐出方法であって、前記液体の残量が、第1所定量以下である場合には、第1解像度である画像データに基づいて前記液体使用量を予測し、前記液体の残量が、前記第1所定量よりも多い第2所定量以下である場合には、前記第1解像度よりも低い解像度である第2解像度である画像データに基づいて前記液体使用量を予測すること。
このような液体吐出方法によれば、液体の残量が少なくなった時点で、高解像度である画像データに基づいて、より正確な液体使用量を予測することにより、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防げる。また、液体の残量に余裕があるときは、低解像度である画像データに基づいて液体使用量を予測することで、予測時間を短縮することができる。
かかる液体吐出方法であって、前記第1解像度は前記液体を吐出する際の解像度と等しいこと。
このような液体吐出方法によれば、実際の液体使用量と予測する液体使用量が等しくなる。
かかる液体吐出方法であって、前記画像データに対して解像度変換処理と色変換処理とハーフトーン処理を施して、前記画像データを前記第1解像度である画像データに変換し、前記第1解像度である画像データに基づいて前記液体使用量が予測され、前記液体の残量が前記液体使用量よりも多い場合には、前記第1解像度である画像データに対してラスタライズ処理が施されること。
このような液体吐出方法によれば、第1解像度である画像データにより液体使用量を予測する場合、画像データに対して液体を吐出する際の解像度に解像度変換処理され、色変換処理とハーフトーン処理も施されている。そのため、画像データに対して解像度変換処理と色変換処理とハーフトーン処理を再度施す必要がなく、液体吐出時間が短縮される。
かかる液体吐出方法であって、前記第2解像度は前記液体を吐出する際の解像度よりも低い解像度であること。
このような液体吐出方法によれば、液体使用量の予測時間を短縮することができる。
かかる液体吐出方法であって、前記ユーザーに前記液体の残量と前記液体使用量を比較するか否かを選択させて、比較しない方を前記ユーザーが選択した場合には、前記予測するステップと前記比較するステップとを行わずに、前記画像データに基づいてノズルから液体が吐出されること。
このような液体吐出方法によれば、ユーザーの状況に応じて、液体の残量と液体使用量の比較を行うか否かを選択することができる。
また、液体を吐出するノズルと、画像データに基づいて液体使用量を予測し、液体の残量と前記液体使用量を比較した結果、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいて前記ノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するコントローラと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出する液体残量管理部と、を有する液体吐出装置において、前記コントローラは、前記液体の残量に応じて、前記液体使用量の予測方法を異なさせること、特徴とする液体吐出装置を実現させること。
このような液体吐出装置によれば、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防ぐことができる。また、出来る限り液体使用量の予測時間を短縮することができる。
また、液体の残量に応じて液体使用量の予測方法を異ならせて、画像データに基づいて前記液体使用量を予測するステップと、前記液体の残量と前記液体使用量を比較するステップと、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、を液体吐出装置に実現させるためのプログラムを実現させること。
このようなプログラムによれば、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防ぐことができる。また、出来る限り液体使用量の予測時間を短縮することができる。
===インクジェットプリンタの構成について===
以下、液体吐出装置について説明する。本実施形態では、インクジェットプリンタと、プリンタドライバを記憶したコンピュータが接続されたシステムを液体吐出装置とする。
図1は、本実施形態のプリンタ1の全体構成ブロック図である。図2Aは、プリンタ1の全体構成の概略図である。図2Bは、プリンタ1の全体構成の断面図である。外部装置であるコンピュータ60から印刷データを受信したプリンタ1は、コントローラ50により、各ユニット(搬送ユニット10、キャリッジユニット20、ヘッドユニット30)を制御し、媒体S(以下、紙Sとする)に画像を形成する。また、プリンタ1内の状況を検出器群40が監視し、その検出結果に基づいて、コントローラ50は各ユニットを制御する。
コントローラ50は、プリンタ1の制御を行うための制御ユニットである。インターフェース部51は外部装置であるコンピュータ60とプリンタ1との間でデータの送受信を行い、CPU52はプリンタ1全体の制御を行うための演算処理装置であり、メモリ53はCPU52のプログラムを格納する領域や作業領域等を確保する記憶手段を有する。
搬送ユニット10は、紙Sを印刷可能な位置に送り込み、搬送方向に所定の搬送量で紙Sを搬送させるためのものであり、給紙ローラ11と、搬送モータ12と、搬送ローラ13と、プラテン14と、排紙ローラ15とを有する。
ヘッドユニット30は、紙Sにインクを吐出するためのものであり、ヘッド31を有する。ヘッド31は、インク吐出部であるノズルを複数有する。そして、各ノズルには、各ノズルを駆動してインクを吐出させるための駆動素子であるピエゾ素子とインクが入った圧力室(不図示)が設けられている。
キャリッジユニット20は、ヘッド31を移動方向に移動させるためのものであり、キャリッジ21と、キャリッジモータ22とを有する。また、キャリッジ21は、インクを収容するインクカートリッジを着脱可能に保持している。
検出器群40には、リニア式エンコーダ41、ロータリー式エンコーダ42、紙検出センサ43、および光学センサ44等が含まれる。
図3Aは、ヘッド31の下面(ノズル面)におけるノズルの配列を示す説明図である。ヘッド31の下面には、イエローインクノズル列Yと、ブラックインクノズル列Kと、シアンインクノズル列Cと、マゼンタインクノズル列Mが形成されている。各ノズル列は、各色のインクを吐出するための吐出口であるノズルを360個ずつ備えている。なお、各ノズル列のノズルは、搬送方向に沿って、一定の間隔Dでそれぞれ整列している。
図3Bは、プリンタ1が形成するドットの種類を示す図である。プリンタ1は、ノズルから吐出するインクの量を変えることで、3種類の大きさのドットを形成する。大ドットを形成するためにノズルから21plのインクが吐出され、中ドットを形成するためにノズルから7plのインクが吐出され、小ドットを形成するためにノズルから2.5plのインクが吐出される。
〈印刷手順〉
図4は、印刷時の処理フローである。まず、コントローラ50は、コンピュータ60から印刷命令及び印刷データを受信する(S001:印刷命令受信)。コントローラ50は、印刷データに含まれる各種コマンドの内容を解析し、各ユニットを用いて、以下の処理を行う。
次に、コントローラ50は、給紙ローラ11を回転させ、印刷すべき紙Sを搬送ローラ13まで送る(S002:給紙処理)。紙検出センサ43が、給紙ローラ11から送られてきた紙Sの先端の位置を検出すると、コントローラ50は搬送ローラ13を回転させ紙Sを印刷開始位置(頭出し位置)に位置決めする。このとき、ヘッド31の少なくとも一部のノズルは、紙Sと対向している。
そして、コントローラ50は、キャリッジモータ22を駆動し、キャリッジ21を移動方向に移動させる。ヘッド31は、キャリッジ21に設けられているため、ヘッド31もキャリッジ21と共に移動方向に移動する。コントローラ50は、キャリッジ21の移動中に、印刷データに基づいてノズルからインクを吐出させる。ノズルから吐出されたインク滴が紙S上に着弾することで、紙S上にドットが形成される(S003:ドット形成処理)。なお、キャリッジ21の移動方向の位置をリニア式エンコーダ41が検出し、キャリッジ21(ヘッド31)に取り付けられている光学センサ44が紙Sの端部の位置を検出する。
その後、コントローラ50は、搬送モータ12を駆動し、搬送ローラ13を回転させて、紙Sを搬送方向に所定の搬送量分だけ搬送する(S004:搬送処理)。これにより、ヘッド31は、先ほどのドット形成処理によって形成されたドットの位置とは異なる位置に、ドットを形成することが可能になる。紙Sの搬送量は、搬送ローラ13の回転量に応じて定まり、搬送ローラ13の回転量はロータリー式エンコーダ42によって検出される。なお、印刷中の紙Sはプラテン14によって支持される。
そして、コントローラ50は、印刷中の紙Sの排紙の判断を行う(S005:排紙判断)。印刷中の紙Sに印刷すべきデータが残っていれば、排紙は行われず、印刷すべきデータがなくなるまで、ドット形成処理と搬送処理とを交互に繰り返し、画像を完成させる。印刷中の紙Sに印刷すべきデータがなくなったところで、排紙ローラ15の回転により紙Sは排紙される(S006:排紙処理)。
最後に、印刷を続行するか否かの判断を行う(S007:印刷終了判断)。次の紙に印刷を行うのであれば印刷を続行し、次の紙を給紙する。次の紙に印刷を行わないのであれば、印刷を終了する。
===インク残量について===
本実施形態では、インク残量に応じて、インク使用量の予測方法を異ならせる。そこで、インク使用量の予測方法が切り替わるタイミングを把握するために、プリンタ1のCPU52内のインク残量管理部において、各インク(YMCK)のインク残量を個別に管理する。なお、インク残量はプリンタ1内のメモリ53に記憶され、この記憶はプリンタ1の電源を落としても損なわれないとする。
インク残量管理部は、新しいインクカートリッジ内のインク量から、画像の印刷やヘッド31のクリーニングのために消費される度にインク量を減算し、インク残量を管理する。そのため、インクカートリッジが交換されると、メモリ53に記憶されているインク残量はリセットされる。
インクの消費量は、実際に吐出される各ドット(大中小)のドット数をカウントし、各ドットに対応するインク量を積算し、累積加算することで算出される。なお、インク残量管理部は、コンピュータ60から送信されてくる印刷データ等により、吐出されるドット数をカウントする。そして、インク残量管理部は、インク消費量を算出すると、メモリ53に記憶されている過去のインク残量からインク消費量を減算し、新たなインク残量を算出する。そして、メモリ53には過去のインク残量のデータから新たなインク残量のデータに書き換えられる。
本実施形態では、インク残量が50%以下となった時点で、低精度なインク使用量予測を行う。そして、インク残量が20%以下となった時点で、低精度なインク使用量予測から高精度なインク使用量予測に切り替わる。なお、高精度なインク使用量予測の方が、低精度なインク使用量予測よりも正確にインク使用量を予測することができる(高精度なインク使用量予測と低精度なインク使用量予測についての詳細な説明は後述する)。
即ち、本実施形態では、インク残量が少なくなった時点で、インク使用量を正確に予測し(高精度なインク使用量予測)、インク残量と予測したインク使用量を比較する。そうすることで、印刷中にインクが無くなることを防ぎ、インクを最後まで有効に利用することが出来る。そのため、インク残量を正確に把握することで、より有効な効果が得られる。
そこで、本実施形態では、ドットカウントによるインク残量を管理する以外にも、インクカートリッジ内に液面検出センサを設ける。インク使用量の予測を開始するインクカートリッジ内のインク残量が50%となる地点に液面検出センサ71Aを設け、インク使用量の予測方法が切り替わるインク残量が20%となる地点にも液面検出センサ71Bを設ける。
液面検出センサは、検出位置でのインクの有無を検出することにより、インクの液面が検出位置に達したか否かを検出する。例えば、インク残量が50%となる位置に液面検出センサが設置されていたとする。この場合、液面検出センサが液体を感知していれば、インク残量が半分以上であることが分かる。逆に、液面検出センサが気体を感知していれば、インク残量が半分以下であることが分かる。
図5Aは、インクカートリッジ70内の液面検出センサ71A及び71Bを示す図である。キャリッジ21には針Pが設けられており、インクカートリッジ70がキャリッジ21に装着されると、針Pがインクカートリッジ70内のインク供給部72に突き刺さり、インクが供給部72からヘッド31へ供給されるようになる。
図5Bは液面検出センサ71の詳細を示す図である。液面検出センサ71は、ピエゾ素子711と振動板712からなる。また、液面検出センサは、インクの振動の影響を受けないようにバッファ室75内に設けられている。バッファ室75は第1インク流路73と第2インク流路74とを介して、インクカートリッジのインク収容部76と連結されている。第1インク流路73と第2インク流路74により、毛細管現象を利用して、インク収容部76内の液面が液面検出センサ71の設置位置よりも低くなると、速やかに振動板712はインクに接しなくなるので、インク収容部76内の液面の位置を正確に検出できる。
次に、液面を検出する原理について、以下に説明する。ピエゾ素子711に駆動信号が印加されると、ピエゾ素子711が伸縮し、振動板712が図中の矢印方向に振動する。ピエゾ素子711への駆動信号の印加を止めても、振動板712には残留振動が生じている。この残留振動は、振動板712がインクに接触しているか否かによって、その性質が大きく変化する。
振動板712がインクに接触しているときの残留振動の周波数は低くなり、振動板712がインクに接触していないときの残留振動の周波数は高くなる。その結果、振動板712がインクに接触しているとき、ピエゾ素子711は周波数の低い信号を出力する。一方、振動板712がインクに接触していないとき、ピエゾ素子711は周波数の高い信号を出力する。そのため、ピエゾ素子から出力される信号により、振動板712の位置まで液面が達しているか否かを検出できる。
液面検出センサ71はインクカートリッジ70内のインクを実際に検出する。そのため、液面検出センサ71を設けることで、ドットカウントだけによりインク残量を管理するよりも、正確にインク残量を管理することができる。
本実施形態では、ドットカウントによるインク残量が50%となったとしても、液面検出センサ71Aがインク残量の50%ラインを検知しなかったら、低精度なインク使用量予測を開始しない。逆に、ドットカウントによるインク残量が50%より多くとも、液面検出センサ71Aがインク残量の50%ラインを検知したら、低精度なインク使用量予測を開始する。そして、液面検出センサ71Aがインク残量の50%ラインを検出した際に、ドットカウントによるインク残量が50%でなかったら、メモリ53に記憶されているドットカウントによるインク残量をリセットし、インク残量を50%とする。そして、液面検出センサ71Bがインク残量の20%ラインを再び検出するまで、50%のインク残量からドットカウントにより算出されるインク消費量を減算することで、インク残量を管理する。
同様に、液面検出センサ71Bがインク残量の20%ラインを検知したら、低精度なインク使用量予測から高精度なインク使用量予測に切り替わる。そして、液面検出センサ71Bによる検知とドットカウントによるインク残量にずれがあった場合、ドットカウントによるインク残量をリセットし、インク残量を20%とする。この後、インク残量20%からドットカウントにより算出されるインク消費量を減算することで、インク残量を管理する。
なお、インク残量が20%以下になった時点で、高精度なインク使用量予測が行われ、プリンタドライバは実際に消費されるインク量と等しい予測インク使用量を算出する〈詳細は後述〉。そのため、プリンタ1側のインク残量管理部がドットカウントによりインク消費量を算出しなくとも、インク残量管理部はコンピュータ60側のプリンタドライバが算出した予測インク使用量を取得することで、インク残量を管理することができる。
また、インク残量が50%よりも多い時には、インク残量管理部は、吐出されるドットの種類まで判別することなく、ドット数だけでインク残量を管理しても良い。その際には、全て大ドットが吐出されたとしてインク残量を管理すればよい。なぜなら、インク残量が50%よりも多い時には、正確にインク残量を把握しなくとも、印刷中にインクが無くなってしまうおそれが少ないからである。
===比較例の印刷処理フローについて===
図6は、比較例の印刷処理フローを示す図である。プリンタドライバが各種アプリケーションプログラムから画像データを受信すると、図6に示す処理を行う。なお、プリンタドライバはコンピュータ60のメモリに記憶されており、印刷命令および印刷データをプリンタ1へ送信する等の役割を行うプログラムである。
まず、プリンタドライバは、アプリケーションソフトから送られてきた画像データの解像度(以下、画像解像度とする)を取得する(S101)。そして、画像データ中の印刷モードの情報より、印刷時の解像度(以下、印刷解像度とする)を決定する(S102)。本実施形態のプリンタ1では、ユーザーが高画質モードや標準モード、高速印刷モード等を指定することができるとする。例えば、ユーザーから高速印刷モードを指定された場合には、プリンタドライバは印刷解像度を「搬送方向×移動方向=360dpi×360dpi」とし、印刷方式(例:バンド印刷)も決定する。他に、ユーザーにより高画質モードが指定された場合には、プリンタドライバは印刷解像度を「1440dpi×1440dpi」と決定し、標準モードが指定された場合には、プリンタドライバは印刷解像度を「720dpi×720dpi」とする。
次に、プリンタドライバは画像解像度と印刷解像度の大きさを比較する(S103)。画像解像度の方が印刷解像度よりも高い場合(YES)、アプリケーションソフトからの画像データを間引く等の処理を施して低解像度化する(S104)。例えば(例1)、画像解像度が1440×1440dpiであり、ユーザーから標準モードを指定されて、印刷解像度が720×720dpiと決定された場合、画像解像度の方が印刷解像度よりも高い。そのため、1440×1440dpiである画像データが720×720dpiに低解像度化される。そして、低解像度化された720×720dpiの画像データを利用して、インク使用量の予測が行われる。
一方、画像解像度と印刷解像度が等しい場合(NO)、アプリケーションソフトからのデータは低解像度化されない。例えば(例2)、画像解像度が720×720dpiであり、印刷解像度も720×720dpiと決定された場合、アプリケーションソフトからの720×720dpiの画像データをそのまま利用して、インク使用量の予測が行われる。
また、画像解像度が印刷解像度よりも低い場合にも(NO)、アプリケーションソフトからの画像データは低解像度化されない。そして、画像解像度が印刷解像度と等しくなるように、画像データが高解像度化されることもない。例えば(例3)、画像解像度が360×360dpiであり、印刷解像度が720×720dpiと決定された場合、アプリケーションソフトからの360×360dpiの画像データをそのまま利用して、インク使用量の予測が行われる。即ち、比較例では、印刷解像度以下の解像度である画像データ(以下、予測用画像データとする)により、インク使用量が予測される。
なお、印刷解像度よりも低い解像度と、画像解像度を比較し、アプリケーションソフトからの画像データを、その印刷解像度よりも低い解像度となるように低解像度化してもよい。
次に、プリンタドライバは予測用画像データの色変換処理を行う(S105)。色変換処理とは、RGB(赤緑青)データである予測用画像データをプリンタ1のインクに対応したCMYK色空間により表されるCMYKデータに変換する処理のことである。この色変換処理は、RGBデータの階調値とCMYKデータの階調値とを対応づけたテーブル(不図示)をプリンタドライバが参照することによって行われる。
その後、プリンタドライバはハーフトーン処理を行う(S106)。ハーフトーン処理は、高階調数のデータを、プリンタ1が形成可能な階調数のデータに変換する処理である。プリンタ1は、1つの画素(紙S上に仮想的に定められた矩形状の領域)に対して、3種類のドット(大ドット、中ドット、小ドット)と、ドット無しの4種類を表現することができる。そのため、例えば、予測用画像データが256階調で示されたデータであったならば、4階調の2ビットデータ(2の二乗=4)に変換される。
これらの処理により取得した予測用画像データにより、プリンタドライバはインク使用量を予測する(S107)。まず、予測用画像データのページ毎に、各ドット(大中小)がいくつ存在するかを数える(ドットカウント)。また、各ドットはインク毎(YMCK)にカウントされる。
図7は、インク使用量の予測方法をイメージ化した図である。ある画像データのあるページが、1/720インチ×1/720インチの画素を36個集めた領域から構成されるとする。そして、領域内に図に示すようなブラックインクのドットが形成されるとする。このとき領域内には、大ドットが5個、中ドットが8個、小ドットが12個存在している。そして、各ドットの個数と各ドットを形成するために必要なインク量を積算し、累積加算することで、領域内を印刷するために必要なインク使用量を予測することができる。
図中では、大ドットを5個形成し、大ドットに対応するインク量は21plである。そのため、大ドットを形成するために必要なインク量は105pl(=21pl×5個)となる。同様に、中ドットを形成するために必要なインク量は56pl(=7pl×8個)であり、小ドットを形成するために必要なインク量は30pl(=2.5pl×12個)となる。これを累積加算した値である191pl(=105+56+30)が、図中の領域を印刷する際のブラックインクの予測インク使用量となる。
このように、プリンタドライバは、各ページの予測インク使用量をインク毎(YMCK)に算出する。なお、複数ページ印刷する場合において、全て同じ画像を印刷するのであれば、1枚のページの予測インク使用量に印刷する枚数を積算すればよい。しかし、ページ毎に画像が異なる場合には、ページ毎にインク使用量を予測する必要がある。
また、印刷解像度よりも低い解像度の予測用画像データをもとに、インク使用量を予測した場合は、低い解像度により算出した予測インク使用量に変換係数α(後述)を積算して、印刷解像度に合わせた予測インク使用量を算出する必要がある。
次に、プリンタドライバはインク残量管理部から各インクのインク残量を取得する(S108)。そして、インク毎に、インク残量と予測インク使用量を比較する(S109)。例えば、図7の画像を10ページ印刷するとする。そうすると、ブラックインクの予測インク使用量は1910pl(=191pl×10ページ)となる。そして、ブラックインクの残量が5000plであれば、インク残量の方が予測インク使用量よりも多く(YES)、プリンタドライバは、印刷実行と判断し、印刷データ作成の処理に入る。もし、ブラックインクの残量が1000plであったとすると、インク残量よりも予測インク使用量の方が多く(NO)、ユーザーにその旨を通知する(S110)。
図8は、印刷に必要なインクが足りないときの警告画面を示す。インク残量よりも予測インク使用量の方が多い場合に、図8のような画面を表示し、ユーザーに印刷を実行するか、印刷を中止するかの選択をしてもらう(S111)。ユーザーが「印刷を実行する」を選択すれば(YES)、プリンタドライバは印刷データ作成の処理に入る。逆に、ユーザーが「印刷を中止する」を選択すれば(NO)、プリンタドライバは印刷を中止する。
図9は、印刷データ作成のフローである。インク残量の方が予測インク使用量よりも多い場合、または、インク残量は予測インク使用量よりも少ないが、ユーザーが印刷を実行すると選択した場合に、プリンタドライバは印刷データを作成する。
まず、プリンタドライバは、アプリケーションソフトからの画像データを印刷解像度へ解像度変換処理を行う(S201)。このため、プリンタドライバは、アプリケーションソフトから画像データを受信した際に、画像データをコピーし、コンピュータ60内のメモリに保存しておく必要がある。
次に、プリンタドライバは色変換処理を行う(S202)。RGBデータである画像データをプリンタ1のインクの色に合わせたYMCKデータに変換する。そして、プリンタドライバはハーフトーン処理において、高階調(256階調)である画像データをプリンタ1が形成可能な4階調のデータに変換する(S203)。
最後に、プリンタドライバはラスタライズ処理を行う(S204)。ラスタライズ処理とは、マトリクス状の画像データを、プリンタ1に転送すべきデータ順に、画素データ(画素に形成されるドットの種類、またはドットが形成されないことを示すデータ)毎に並べ替える処理である。これらの処理を経て生成された印刷データは、印刷命令と印刷方式に応じた各種コマンドデータ(搬送量など)と共に、プリンタドライバによりプリンタ1に送信される。そして、印刷命令及び印刷データを受信したプリンタ1は印刷を開始する(図4)。
このように、比較例では、アプリケーションソフトから受信した全ての画像データに対してインク使用量予測を行っている。そのため、インクカートリッジを交換したばかりで、印刷中にインクが無くなる心配がない場合でさえも、インク使用量予測を行うため、プリンタドライバによる作業時間が長くかかってしまう。即ち、印刷時間が長くかかってしまう。
また、インクの残量に関係なく、印刷解像度と等しい解像度の画像データによりインク使用量を予測したり、印刷解像度よりも低い解像度の画像データによりインク使用量を予測したりしている。印刷解像度と等しい解像度の画像データによりインク使用量を予測した方が、印刷解像度よりも低い解像度の画像データによりインク使用量を予測するよりも正確にインク使用量を予測することができる。
そのため、印刷解像度よりも低い解像度の画像データによりインク使用量を予測すると、予測インク使用量の方が実際のインク使用量よりも多くなってしまうことがある。この場合に、もしインク残量が少なかったら、実際には印刷可能なインク量が残っているにも関わらず、インク残量が予測インク使用量よりも少ないと判断され、印刷が行われないおそれがある。つまり、インクカートリッジ内のインクは最後まで有効に利用されない。
また、印刷解像度よりも低い解像度の画像データによりインク使用量を予測すると、逆に、予測インク使用量の方が実際のインク使用量よりも少なくなってしまうことがある。この場合に、もしインク残量が少なかったら、実際には印刷可能なインク量が残っていないにも関わらず、インク残量が予測インク使用量よりも多いと判断され、印刷が行われてしまうおそれがある。つまり、印刷途中にインクが無くなってしまうおそれがあり、インク使用量を予測する意味がなくなってしまう。
そこで、本実施形態では、収容するインクを有効に利用し、且つ、印刷中にインクがなくなることがないように、短時間でインク使用量を予測することを目的とする。
===本実施形態の印刷処理フロー===
図10は、本実施形態の印刷処理フローである。比較例では全ての画像データに対して、インク使用量の予測を行っていたが、本実施形態ではインク残量が50%以下(半分以下)であるときのみにインク使用量の予測を行う。そのため、プリンタドライバが各アプリケーションソフトから画像データを受信したら、まず、各インク(YMCK)のインク残量をインク残量管理部から取得する(S301)。
そして、各インク(YMCK)のインク残量が50%以下であるか否かを確認する(S302)。全てのインクのインク残量が50%よりも多かった場合(NO)、プリンタドライバは印刷実行と判断し、印刷データ作成処理に入る。一方、インク残量が50%以下であるインクが1色でもあった場合には(YES)、ユーザーにその旨を通知する(S303)。
図11Aは、インク残量が50%以下であるインクがあったことをユーザーに通知する画面である。この画面によりユーザーはブラックインクとイエローインクのインク残量が50%以下であることが分かる。そして、ユーザーに「印刷に必要なインク使用量(予測量)」と「インク残量」の比較を行うか否かを選択してもらう(S304)。ユーザーが「比較を行わない」を選択すれば(NO)、プリンタドライバは印刷データの作成処理に入る。ユーザーが「比較を行う」を選択すれば(YES)、プリンタドライバはインク使用量の予測を行う。
図11Bは、インク残量の具体的な量をユーザーに通知する画面である。図11Bは、プリンタドライバがS301においてインク残量管理部から取得したインク残量データを基に表示される。なお、インク残量管理部が液面検出センサ71とドットカウントにより各インクの具体的なインク残量を管理している。そして、予測インク使用量とインク残量の比較を行うか否かの選択画面と共に、図11Bのような画面を表示してもよい。そうすれば、インク残量が50%以下であると通知されたとしても、例えば、ブラックインクKのように50%のラインよりも若干少ないだけと分かれば、ユーザーは印刷量に応じて、印刷途中でインクが無くなってしまうおそれがないか否かを判断し、「比較を行わない」を選択することができる。逆に、イエローインクYのようにインク残量が50%のラインよりも大幅に少ないと分かれば、ユーザーは印刷途中でインクが無くなってしまう可能性があると判断し、「比較を行う」と判断することができる。
ユーザーによりインク使用量の予測を行う方が選択されたら(S304→YES)、次に、各インク(YMCK)のインク残量が20%以下であるかを確認する(S305)。このとき、S302の処理において、インク残量が50%以下であった色のインクだけインク残量を確認すればよい。たとえば、図11Aの場合では、ブラックインクとイエローインクのみ、インク残量が50%以下であったため、ブラックインクとイエローインクだけインク残量が20%以下であるか否かを確認すればよい。そして、YMCKのインクのうちのどれか1色でもインク残量が20%以下で有った場合(YES)、高精度なインク使用量予測を行う(S307)。インク残量が20%以下であるインクが無かった場合(NO)、低精度なインク使用量予測を行う(S306)。そして、各インク使用量予測方法により予測インク使用量が算出される(詳細は後述する)。
次に、プリンタドライバは、インク毎に、算出された「予測インク使用量(液体使用量)」と「インク残量(液体の残量)」の比較を行う(S308)。全てのインクのインク残量の方が予測インク使用量よりも多い場合には(YES)、プリンタドライバは印刷データの作成処理に入る。逆に、インク残量の方が予測インク使用量よりも少ないインクが1色でもある場合には(NO)、プリンタドライバはその旨をユーザーに通知する(S309)。通知画面は比較例において例示した画面と同様であり(図8)、ユーザーに印刷を実行するか否かの選択を求める(S310)。また、全てのインク(YMCK)が予測インク使用量とインク残量を比較しなくとも、インク残量が50%以下であるインクのみ比較を行ってもよい。
そして、インク残量の方が予測インク使用量よりも少なくとも、ユーザーが「印刷を実行する」を選択すれば(YES)、プリンタドライバは印刷データの作成処理に入る。逆に、ユーザーが「印刷を中止する」を選択すれば(NO)、プリンタドライバは印刷を中止する。なお、インク残量の方が予測インク使用量よりも少ないが印刷を実行した場合に、印刷中にインクが無くなったことをインク残量管理部が検知することが考えられる。インク残量管理部はインクが無くなったことを検知した時点で、その事をプリンタ1のコントローラ52に通知する。そうして、プリンタ1のコントローラ52はノズルからのインクの吐出を中止する。
また、複数のページを印刷する際に、全てのページは印刷できないが、一部のページは印刷できる場合、この旨を図8の通知画面上に知らせてもよい。例えば、30ページを印刷しなければならないが、インク残量が少なく、最初の10ページのみしか印刷できない場合に、「ブラックインクの残量が、11ページから30ページの印刷に必要なインク量を超えています」と表示する。そうすると、ユーザーは最初の10ページを印刷してからインクカートリッジを交換することができる。その結果、インクは最後まで有効に利用される。
以上が本実施形態における印刷処理のフローである。本実施形態では、比較例のようにアプリケーションソフトから受信した全ての画像データに対してインク使用量の予測を行うことはせずに、インク残量に応じて、インク使用量の予測を行う。即ち、インク残量が少なくなった時点で(インク残量が50%以下になった時点)、インク使用量の予測を行う。そうすることで、インク残量が多く、印刷中にインクが切れてしまうおそれが無い場合には、インク使用量の予測が行われないため、印刷時間を短くすることができる。
また、インク残量が少ない場合であっても(インク残量が50%以下であっても)、ユーザーがインクの使用量の予測を行うか否かの選択が行えるようになっている。そうすることで、その時のユーザーの状況に応じて、インク使用量の予測を行うか否かを選択することができる。もし、ユーザーがインク使用量の予測を行う方を選択すれば、印刷中にインクが無くなることはなく、確実に印刷が行われる。また、ユーザーがインク使用量の予測を行わない方を選択すれば、印刷時間が短縮される。
その時の状況に応じるとは、例えば、印刷途中にインクが切れて、画質が悪化したとしても、急いで印刷したい場合には、ユーザーはインク使用量予測を行わない方を選択することができる。また、インクカートリッジやインクの在庫が無く、インク使用量の予測を行った結果、予測インク使用量がインク残量より多くとも、直ぐに印刷を行わなければならない場合にも、ユーザーはインク使用量予測を行わない方を選択することができる。逆に、高級な印刷用紙を用いて印刷する場合には、ユーザーがインク使用量の予測を行う方を選択することで、印刷中にインクが無くなることはなく、高級な印刷用紙を無駄にしてしまうこともなくなる。
以下、インク使用量の予測を行わない場合と、低精度なインク使用量予測を行う場合と、高精度なインク使用量予測を行う場合の各印刷データ作成処理と印刷までのフローについて、詳細に説明する。
〈インク使用量予測を行わない印刷処理〉
図12は、インク使用量予測を行わない場合の印刷データ作成のフローを示す図である。全てのインク(YMCK)のインク残量が50%よりも多い場合と、インク残量が50%以下であってもユーザーがインク使用量の予測を行わないと判断した場合に、プリンタドライバは図12の処理を行う。
まず、プリンタドライバは、各アプリケーションソフトから受信した画像データを印刷時の解像度(印刷解像度)に解像度変換処理を行う(S401)。なお、印刷時の解像度は、比較例でも説明したように、ユーザーが選択した印刷モード(高画質モード、標準モード、高速印刷モード等)に合わせて決定される。そして、プリンタ1が印刷可能な解像度を「360×360dpi(高速)」と「720×720dpi(標準)」と「1440×1440dpi(高画質)」の3種類とする。
次に、プリンタドライバはプリンタ1が有するインクの色に合わせて、RGBデータをYMCKデータに変換する(S402)。そして、プリンタドライバはハーフトーン処理において、高階調(256階調)のデータをプリンタ1が形成可能な4階調のデータに変換する(S403)。最後に、プリンタドライバはマトリクス状の画像データを、プリンタ1に転送すべきデータ順に、画素データ毎に並べ替えるラスタライズ処理を行う(S404)。これらの処理を経て生成された印刷データは、印刷命令と印刷方式に応じたコマンドデータ(搬送量など)と共に、プリンタドライバによりプリンタ1に送信される。そして、印刷命令と印刷データを受信したプリンタ1は印刷を開始する。
〈低精度なインク使用量予測を行う印刷処理〉
図13は、低精度なインク使用量予測を行う場合の印刷処理のフローを示す図である。YMCKのインクのうちの少なくとも1色のインク残量が50%以下(第2所定量以下)であり、全インク(YMCK)のインク残量が20%よりも多く、ユーザーがインク使用量予測を行うと選択した場合に、プリンタドライバは図13の処理を行う。
まず、各アプリケーションソフトから受信した画像データの解像度(画像解像度)を取得する(S501)。そして、プリンタドライバは画像解像度と予測用解像度(第2解像度)を比較する(S502)。ここで、予測用解像度とは、インク使用量の予測時間を短縮するため、解像度の低いデータによりインク使用量の予測を行うために設定した解像度である。本実施形態では、予測用解像度を180×180dpiとする。
例えば(例1)、画像解像度が180×180dpiであった場合(NO)、プリンタドライバはアプリケーションソフトからの画像データの解像度を変更することなく、次の処理に進む。一方、画像解像度が720×720dpiであった場合(例2、YES)、プリンタドライバはアプリケーションソフトから受信した画像データを間引くなどして低解像度化する(S503)。そして、720×720dpiである画像解像度を予測用解像度と同じ、180×180dpiの解像度に下げる。
即ち、低精度なインク使用量予測では、予測用解像度(180×180dpi)と等しくなった画像データ(以下、予測用画像データ)を基に、インク使用量の予測が行われる。
次に、プリンタドライバはRGBデータである予測用画像データをYMCKデータに色変換処理を行い(S504)、高階調(256階調)のデータを低階調(4階調)のデータにハーフトーン処理を行う(S505)。その結果、プリンタドライバは180×180dpiの解像度である2ビットの予測用画像データを取得する。
その後、プリンタドライバは予測用画像データを基に、インク使用量を予測する(S506)。予測用画像データの各ページに、各ドット(大中小)が何個存在するかを、インク毎(YMCK)に数える(ドットカウント)。インク毎、ページ毎に、各ドットの個数と各ドットに対応するインク量を積算し、累積加算することで、予測インク使用量が算出される。なお、予測インク使用量の算出方法は比較例の予測インク使用量の算出方法と同様である(図7)。
そして、プリンタドライバは、予測用解像度(180×180dpi)の画像データから算出された予測インク使用量に変換係数αを乗算し、実際の印刷解像度に相当する予測インク使用量を算出する。
ここで、変換係数αとは、予測用解像度の画像データから算出された予測インク使用量を印刷解像度に対応した予測インク使用量に変換するための係数である。この変換係数αは、予測用解像度と、プリンタ1が印刷可能な複数の印刷画像解像度とに対応付けられて算出されている。そして、プリンタ1のメモリ53が予め複数の変換係数αを記憶している。また、変換係数αは、同一の画像に対し、予測用解像度で印刷した場合と、印刷解像度で印刷した場合の、単位面積あたりに吐出されるインク量の比を示したものであり、次式にて表される。
変換係数α=印刷解像度に対するインク密度/予測用解像度に対するインク密度
このように印刷解像度に対応した予測インク使用量が算出されると、プリンタドライバはインク毎(YMCK)に予測インク使用量とインク残量を比較する(S508)。YMCKのインクのうちの1色でもインク残量が予測インク使用量よりも少なければ(NO)、その旨をユーザーに通知し(S509)、「印刷を実行するか、印刷を中止するか」の判断をユーザーに選択させる(S510)。一方、YMCKの全てのインク残量が予測インク使用量よりも多ければ(S508→YES)、プリンタドライバは次の処理に進む。
なお、インク残量が予測インク使用量よりも少ない場合にユーザーに通知される画面は比較例の図8で示した画面と同様である。S510において、ユーザーが印刷を中止する方を選択した場合(NO)、プリンタドライバは印刷を中止する。一方、ユーザーが印刷を実行する方を選択した場合(YES)、プリンタドライバは次の処理に進む。
次に、プリンタドライバは、アプリケーションソフトから受信した画像データを印刷時の解像度に解像度変換処理を行う(S511)。そのため、プリンタドライバは、アプリケーションソフトから画像データを受信した際に、画像データをコピーし、コンピュータ60内のメモリに保存しておく必要がある。
そして、印刷解像度に対応した画像データを取得した後、プリンタドライバはプリンタ1が有するインクの色(YMCK)に合わせて、RGBデータである画像データをYMCKデータに変換する(S512)。その後、プリンタドライバはハーフトーン処理において、高階調で示された画像データを、プリンタ1が形成可能な4階調のデータに変換する(S513)。最後に、プリンタドライバは、マトリクス状の画像データを、プリンタ1に転送すべきデータ順に、画素データ毎に並べ替えるラスタライズ処理を行う(S514)。これらの処理を経て生成された印刷データは、印刷命令とコマンドデータと共に、プリンタ1に送信される。そして、印刷命令と印刷データを受信したプリンタ1は印刷を開始する。
〈高精度なインク使用量予測を行う印刷処理〉
図14は、高精度なインク使用量予測を行う場合の印刷処理のフローを示す図である。YMCKのインクのうちの少なくとも1色のインク残量が20%以下(第1所定量以下)であり、ユーザーがインク使用量予測を行うと選択した場合に、プリンタドライバは図14の処理を行う。
まず、プリンタドライバは各アプリケーションソフトから受信した画像データの解像度(画像解像度)を印刷時の解像度(印刷解像度)に解像度変換処理を行う(S601)。
次に、プリンタドライバはRGBデータである画像データをYMCKデータに変換し(S602)、高階調で示された画像データをプリンタ1が形成可能な低階調のデータに変換する(S603)。その結果、プリンタドライバは印刷時の解像度(印刷解像度)である2ビットの画像データを取得する。前述の低精度なインク使用量予測では、プリンタドライバは印刷解像度よりも低い解像度である予測用解像度の画像データを基に、インク使用量の予測を行う。これに対して、高精度なインク使用量予測では、プリンタドライバは印刷時の解像度と同じ解像度(第1解像度)の画像データを基に、インク使用量の予測を行う(S604)。
プリンタドライバは画像データの各ページに、各ドット(大中小)が何個存在するかを、インク毎に数える(ドットカウント)。そして、インク毎、ページ毎に、各ドットの個数と各ドットに対応するインク使用量を積算し、累積加算する。その結果、印刷解像度の画像データにおける、予測インク使用量が算出される。
低精度なインク使用量予測で算出された予測インク使用量は、変換係数αにより印刷解像度に対応させている。これに対して、高精度なインク使用量予測で算出された予測インク使用量は、印刷解像度である画像データから直接的に算出されるため、実際に使用されるインク量と等しい。
但し、低精度なインク使用量予測よりも高精度なインク使用量予測の方が、解像度の高い画像データのドットカウントを行うため、インク使用量の予測に時間が長くかかってしまう。例えば、低精度なインク使用量予測では1/180インチ×1/180インチの画素ごとにドット形成の有無と種類を確認するのに対して、高精度なインク使用量予測では1/1440インチ×1/1440インチの画素ごとにドット形成の有無と種類を確認する。この場合、高精度なインク使用量の予測では、低精度なインク使用量の予測に対して、36倍(6×6)のデータ数を確認しなければならず、予測時間が多くかかってしまう。
そうして、高精度にインク使用量が予測されると、プリンタドライバはインク毎(YMCK)に予測インク使用量とインク残量を比較する(S606)。YMCKのインクのうちの1色でもインク残量が予測インク使用量よりも少なければ(NO)、その旨をユーザーに通知する(S607)。一方、YMCKの全てのインク残量が予測インク使用量よりも多ければ(S606→YES)、プリンタドライバは次の処理に進む。
また、インク残量が予測インク使用量よりも少なくとも、ユーザーが印刷を実行する方を選択すれば(S608→YES)、プリンタドライバは次の処理に進む。一方、ユーザーが印刷を中止する方を選択すれば(NO)、プリンタドライバは印刷を中止する。
最後に、プリンタドライバは、インク使用量予測に利用したマトリクス状の画像データを、プリンタ1に転送すべきデータ順に、画素データ毎に並べ替えるラスタライズ処理を行う(S609)。これらの処理を経て生成された印刷データは、印刷命令とコマンドデータと共に、プリンタドライバによりプリンタ1に送信される。印刷命令と印刷データを受信したプリンタ1は印刷を開始する。
即ち、高精度なインク使用量予測では、ラスタライズ処理(S609)が行われる前に、インク使用量が予測される(S604)。これは、印刷データ作成の途中にインク使用量が予測されているとも言い換えられる。つまり、インク残量が予測インク使用量よりも少なく、印刷を中止する場合には、ラスタライズ処理の時間分を短縮することができる。
また、高精度なインク使用量予測では、印刷解像度と等しい解像度の画像データによりインク使用量を予測する。そのため、インク使用量を予測した後に、低精度なインク使用量予測のように、アプリケーションソフトからの画像データを印刷解像度に解像度変換し、色変換処理し、ハーフトーン処理しなくともよい。つまり、高精度なインク使用量予測では、色変換処理とハーフトーン処理を1回行えばよい。
このように、本実施形態では、インク残量に応じて、インク使用量の予測方法が異なる。インク残量が20%よりも多いが50%以下であるときには、低精度なインク使用量予測が行われるのに対して、インク残量が20%以下であるときには高精度なインク使用量予測が行われる。
さて、低精度なインク使用量予測に対して、高精度なインク使用量予測の方が、より正確な予測インク使用量が算出される。但し、低精度なインク使用量予測の方が高精度なインク使用量予測に比べて、データ数が少なく、予測時間が短くなる。
また、比較例では、インク残量に関係なく、全ての画像データに対して、印刷解像度以下の解像度である画像データによりインク使用量予測を行っている。これに対して、本実施形態ではインク残量が少なくなった時点(インク残量が20%以下)で、低精度なインク使用量予測から高精度なインク使用量予測に切り替える。即ち、比較例ではインク残量が少ないときにも、低精度なインク使用量予測が行われる可能性があり、予測インク使用量が正確でないおそれがある。
低精度なインク使用量予測では、実際に印刷する画像データを基にインク使用量を予測していないので、予測インク使用量を実際のインク使用量よりも多く見積もってしまうことが考えられる。このとき、もし、インク残量が予測インク使用量よりも少ないと判断され、実際にはインク可能なインク残量が残っているにも関わらず、印刷が中止になってしまうおそれがある。そうすると、インクを最後まで使い切ることができない。
逆に、低精度なインク使用量予測では、予測インク使用量を実際のインク使用量よりも少なく見積もってしまうことも考えられる。このとき、もし、インク残量が少なかったら、インク残量の方が予測インク使用量よりも多いと判断され、実際には印刷可能なインク残量が残っていないにも関わらず、印刷されてしまうおそれがある。そうすると、印刷中にインクが無くなってしまい、印刷画像が悪化する。また、再度印刷を行えば、印刷用紙を無駄にすることになり、印刷時間も余分にかかってしまう。
そこで、本実施形態のように、インク残量が少ないときには、低精度なインク使用量予測ではなく高精度なインク使用量予測を行う。そうすることで、インクを最後まで有効に利用することができ、且つ、印刷中にインクが無くなってしまうことを防げる。
以上をまとめると、本実施形態では、インク残量に応じて、インク使用量予測を行うか否かが決定され(インク残量50%)、且つ、インク残量に応じて、インク使用量の予測方法を異ならせている(インク残量20%)。また、インク使用量予測を行うか否かをユーザーに選択させている。
その結果、インク残量に応じてインク予測時間を短縮することができ、ユーザーの状況に応じて印刷時間を短縮することができる。また、インクを最後まで有効に利用することができ、印刷途中にインクが無くなってしまうおそれも防げる。
===その他の実施形態===
上記の各実施形態は、主としてインクジェット方式のプリンタを有する印刷システムについて記載されているが、インク使用量の予測方法の開示が含まれている。また、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
〈液体吐出装置について〉
前述の実施形態では、液体吐出方法を実施する液体吐出装置としてインクジェットプリンタを例示していたが、これに限らない。例えば、液体吐出装置であれば、プリンタ(印刷装置)ではなく、カラーフィルター製造装置や有機ELディスプレイ等のディスプレイ製造装置、半導体製造装置等であっても、本件発明を適用することができる。また、前述の実施形態ではコンピュータ60内のプリンタドライバがインク使用量予測を行っていたが、プリンタ1側のCPU52がプリンタドライバの役割を担ってもよい。この場合には、プリンタ1単体が液体吐出装置となる。
〈モノクロ印刷について〉
前述の実施形態では、プリンタドライバはすべてのインク(YMCK)に対して、まず、インク残量が50%以下になっているか否かを確認していたがこれに限らない。例えば、モノクロ印刷ではブラックインクのみしか用いないため、プリンタドライバはブラックインクの残量のみを確認すればよい。
〈インク残量について〉
前述の実施形態では、液面検出センサとドットカウントによりインク残量を管理していたがこれに限らない。例えば、ドットカウントだけによりインク残量を管理してもよい。また、インクカートリッジ内のインク残量を追随して検知することができるセンサを用いる場合には、ドットカウントによりインク残量を管理しなくともよい。