(57)【要約】【課題】収容するインクを有効に利用し、且つ、印刷中にインクが無くなることがないように、短時間でインク使用量を予測すること。【解決手段】画像データに基づいて液体使用量を予測し、液体の残量と前記液体使用量を比較し、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知し、前記ノズルから液体を吐出した場合には、前記液体の残量を算出し、前記液体の残量に応じて、前記液体使用量の予測方法が異なる液体吐出方法。【選択図】図１０
2008155422.tif 000002
【特許請求の範囲】
【請求項１】
画像データに基づいて液体使用量を予測するステップと、
液体の残量と前記液体使用量を比較するステップと、
前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、
前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、
を有する液体吐出方法において、
前記液体の残量に応じて、前記液体使用量の予測方法が異なること、
を特徴とする液体吐出方法。
【請求項２】
請求項１に記載の液体吐出方法であって、
前記液体の残量が、第１所定量以下である場合には、第１解像度である画像データに基づいて前記液体使用量を予測し、
前記液体の残量が、前記第１所定量よりも多い第２所定量以下である場合には、前記第１解像度よりも低い解像度である第２解像度である画像データに基づいて前記液体使用量を予測する、
液体吐出方法。
【請求項３】
請求項２に記載の液体吐出方法であって、
前記第１解像度は前記液体を吐出する際の解像度と等しい、
液体吐出方法。
【請求項４】
請求項３に記載の液体吐出方法であって、
前記画像データに対して解像度変換処理と色変換処理とハーフトーン処理を施して、前記画像データを前記第１解像度である画像データに変換し、
前記第１解像度である画像データに基づいて前記液体使用量が予測され、
前記液体の残量が前記液体使用量よりも多い場合には、前記第１解像度である画像データに対してラスタライズ処理が施される、
液体吐出方法。
【請求項５】
請求項２に記載の液体吐出方法であって、
前記第２解像度は前記液体を吐出する際の解像度よりも低い解像度である、
液体吐出方法。
【請求項６】
請求項１に記載の液体吐出方法であり、
前記ユーザーに前記液体の残量と前記液体使用量を比較するか否かを選択させて、
比較しない方を前記ユーザーが選択した場合には、前記予測するステップと前記比較するステップとを行わずに、前記画像データに基づいてノズルから液体が吐出される、
液体吐出方法。
【請求項７】
液体を吐出するノズルと、
画像データに基づいて液体使用量を予測し、液体の残量と前記液体使用量を比較した結果、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいて前記ノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するコントローラと、
前記ノズルから液体を吐出した場合には、前記液体の残量を算出する液体残量管理部と、
を有する液体吐出装置において、
前記コントローラは、前記液体の残量に応じて、前記液体使用量の予測方法を異なさせること、
特徴とする液体吐出装置。
【請求項８】
液体の残量に応じて液体使用量の予測方法を異ならせて、画像データに基づいて前記液体使用量を予測するステップと、
前記液体の残量と前記液体使用量を比較するステップと、
前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、
前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、
を液体吐出装置に実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、液体吐出方法、液体吐出装置、プログラムに関する。
【背景技術】
【０００２】
液体吐出装置の１つとして、紙や布、フィルムなどの各種媒体にノズルからインクを吐出して印刷を行うインクジェットプリンタが知られている。  
インクジェットプリンタによる印刷中に、収容しているインクが無くなってしまうと、画像が悪化したり、印刷が途中で中止してしまったりとういう問題が発生する。そのため、印刷前に印刷予定の画像データからインク使用量を予測し、印刷が可能か否かを判断している。
【０００３】
しかし、印刷時の解像度による画像データからインク使用量を予測すると、インク使用量予測の処理に多くの時間が費やされる。  
そこで、所定の解像度（例：印刷時の解像度）よりも低い解像度の画像データからインク使用量を予測する方法が提案されている（特許文献１）。
【０００４】
【特許文献１】特開２００３-３３４９７５
【発明の開示】
【発明が解決しようとする課題】
【０００５】
但し、所定の解像度よりも低い解像度でインク使用量を予測すると、正確にインク使用量を予測することができない。  
そうすると、収容するインクが最後まで使用されなかったり、印刷中にインクが無くなってしまったりする問題が発生した。
【０００６】
本発明は上記課題を解決するために提案されたものであり、収容するインクを有効に利用し、且つ、印刷中にインクが無くなることがないように、短時間でインク使用量を予測することを目的とする。
【課題を解決するための手段】
【０００７】
課題を解決するための主たる発明は、画像データに基づいて液体使用量を予測するステップと、液体の残量と前記液体使用量を比較するステップと、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、を有する液体吐出方法において、前記液体の残量に応じて、前記液体使用量の予測方法が異なること、を特徴とする液体吐出方法である。
【０００８】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【０００９】
＝＝＝開示の概要＝＝＝
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかとなる。
【００１０】
すなわち、画像データに基づいて液体使用量を予測するステップと、液体の残量と前記液体使用量を比較するステップと、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、を有する液体吐出方法において、前記液体の残量に応じて、前記液体使用量の予測方法が異なること、を特徴とする液体吐出方法を実現できること。  
このような液体吐出方法によれば、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防ぐことができる。また、液体使用量の予測時間を出来る限り短縮することができる。
【００１１】
かかる液体吐出方法であって、前記液体の残量が、第１所定量以下である場合には、第１解像度である画像データに基づいて前記液体使用量を予測し、前記液体の残量が、前記第１所定量よりも多い第２所定量以下である場合には、前記第１解像度よりも低い解像度である第２解像度である画像データに基づいて前記液体使用量を予測すること。  
このような液体吐出方法によれば、液体の残量が少なくなった時点で、高解像度である画像データに基づいて、より正確な液体使用量を予測することにより、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防げる。また、液体の残量に余裕があるときは、低解像度である画像データに基づいて液体使用量を予測することで、予測時間を短縮することができる。
【００１２】
かかる液体吐出方法であって、前記第１解像度は前記液体を吐出する際の解像度と等しいこと。  
このような液体吐出方法によれば、実際の液体使用量と予測する液体使用量が等しくなる。
【００１３】
かかる液体吐出方法であって、前記画像データに対して解像度変換処理と色変換処理とハーフトーン処理を施して、前記画像データを前記第１解像度である画像データに変換し、前記第１解像度である画像データに基づいて前記液体使用量が予測され、前記液体の残量が前記液体使用量よりも多い場合には、前記第１解像度である画像データに対してラスタライズ処理が施されること。  
このような液体吐出方法によれば、第１解像度である画像データにより液体使用量を予測する場合、画像データに対して液体を吐出する際の解像度に解像度変換処理され、色変換処理とハーフトーン処理も施されている。そのため、画像データに対して解像度変換処理と色変換処理とハーフトーン処理を再度施す必要がなく、液体吐出時間が短縮される。
【００１４】
かかる液体吐出方法であって、前記第２解像度は前記液体を吐出する際の解像度よりも低い解像度であること。  
このような液体吐出方法によれば、液体使用量の予測時間を短縮することができる。
【００１５】
かかる液体吐出方法であって、前記ユーザーに前記液体の残量と前記液体使用量を比較するか否かを選択させて、比較しない方を前記ユーザーが選択した場合には、前記予測するステップと前記比較するステップとを行わずに、前記画像データに基づいてノズルから液体が吐出されること。  
このような液体吐出方法によれば、ユーザーの状況に応じて、液体の残量と液体使用量の比較を行うか否かを選択することができる。
【００１６】
また、液体を吐出するノズルと、画像データに基づいて液体使用量を予測し、液体の残量と前記液体使用量を比較した結果、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいて前記ノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するコントローラと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出する液体残量管理部と、を有する液体吐出装置において、前記コントローラは、前記液体の残量に応じて、前記液体使用量の予測方法を異なさせること、特徴とする液体吐出装置を実現させること。  
このような液体吐出装置によれば、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防ぐことができる。また、出来る限り液体使用量の予測時間を短縮することができる。
【００１７】
また、液体の残量に応じて液体使用量の予測方法を異ならせて、画像データに基づいて前記液体使用量を予測するステップと、前記液体の残量と前記液体使用量を比較するステップと、前記液体の残量が前記液体使用量よりも多い場合には、前記画像データに基づいてノズルから液体を吐出し、前記液体の残量が前記液体使用量よりも少ない場合には、ユーザーに報知するステップと、前記ノズルから液体を吐出した場合には、前記液体の残量を算出するステップと、を液体吐出装置に実現させるためのプログラムを実現させること。  
このようなプログラムによれば、液体を最後まで有効に利用でき、液体吐出中に液体が無くなることを防ぐことができる。また、出来る限り液体使用量の予測時間を短縮することができる。
【００１８】
＝＝＝インクジェットプリンタの構成について＝＝＝
以下、液体吐出装置について説明する。本実施形態では、インクジェットプリンタと、プリンタドライバを記憶したコンピュータが接続されたシステムを液体吐出装置とする。
【００１９】
図１は、本実施形態のプリンタ１の全体構成ブロック図である。図２Ａは、プリンタ１の全体構成の概略図である。図２Ｂは、プリンタ１の全体構成の断面図である。外部装置であるコンピュータ６０から印刷データを受信したプリンタ１は、コントローラ５０により、各ユニット（搬送ユニット１０、キャリッジユニット２０、ヘッドユニット３０）を制御し、媒体Ｓ（以下、紙Ｓとする）に画像を形成する。また、プリンタ１内の状況を検出器群４０が監視し、その検出結果に基づいて、コントローラ５０は各ユニットを制御する。
【００２０】
コントローラ５０は、プリンタ１の制御を行うための制御ユニットである。インターフェース部５１は外部装置であるコンピュータ６０とプリンタ１との間でデータの送受信を行い、ＣＰＵ５２はプリンタ１全体の制御を行うための演算処理装置であり、メモリ５３はＣＰＵ５２のプログラムを格納する領域や作業領域等を確保する記憶手段を有する。
【００２１】
搬送ユニット１０は、紙Ｓを印刷可能な位置に送り込み、搬送方向に所定の搬送量で紙Ｓを搬送させるためのものであり、給紙ローラ１１と、搬送モータ１２と、搬送ローラ１３と、プラテン１４と、排紙ローラ１５とを有する。  
ヘッドユニット３０は、紙Ｓにインクを吐出するためのものであり、ヘッド３１を有する。ヘッド３１は、インク吐出部であるノズルを複数有する。そして、各ノズルには、各ノズルを駆動してインクを吐出させるための駆動素子であるピエゾ素子とインクが入った圧力室（不図示）が設けられている。  
キャリッジユニット２０は、ヘッド３１を移動方向に移動させるためのものであり、キャリッジ２１と、キャリッジモータ２２とを有する。また、キャリッジ２１は、インクを収容するインクカートリッジを着脱可能に保持している。
【００２２】
検出器群４０には、リニア式エンコーダ４１、ロータリー式エンコーダ４２、紙検出センサ４３、および光学センサ４４等が含まれる。
【００２３】
図３Ａは、ヘッド３１の下面（ノズル面）におけるノズルの配列を示す説明図である。ヘッド３１の下面には、イエローインクノズル列Ｙと、ブラックインクノズル列Ｋと、シアンインクノズル列Ｃと、マゼンタインクノズル列Ｍが形成されている。各ノズル列は、各色のインクを吐出するための吐出口であるノズルを３６０個ずつ備えている。なお、各ノズル列のノズルは、搬送方向に沿って、一定の間隔Ｄでそれぞれ整列している。
【００２４】
図３Ｂは、プリンタ１が形成するドットの種類を示す図である。プリンタ１は、ノズルから吐出するインクの量を変えることで、３種類の大きさのドットを形成する。大ドットを形成するためにノズルから２１ｐｌのインクが吐出され、中ドットを形成するためにノズルから７ｐｌのインクが吐出され、小ドットを形成するためにノズルから２．５ｐｌのインクが吐出される。
【００２５】
〈印刷手順〉
図４は、印刷時の処理フローである。まず、コントローラ５０は、コンピュータ６０から印刷命令及び印刷データを受信する（Ｓ００１：印刷命令受信）。コントローラ５０は、印刷データに含まれる各種コマンドの内容を解析し、各ユニットを用いて、以下の処理を行う。
【００２６】
次に、コントローラ５０は、給紙ローラ１１を回転させ、印刷すべき紙Ｓを搬送ローラ１３まで送る（Ｓ００２：給紙処理）。紙検出センサ４３が、給紙ローラ１１から送られてきた紙Ｓの先端の位置を検出すると、コントローラ５０は搬送ローラ１３を回転させ紙Ｓを印刷開始位置（頭出し位置）に位置決めする。このとき、ヘッド３１の少なくとも一部のノズルは、紙Ｓと対向している。
【００２７】
そして、コントローラ５０は、キャリッジモータ２２を駆動し、キャリッジ２１を移動方向に移動させる。ヘッド３１は、キャリッジ２１に設けられているため、ヘッド３１もキャリッジ２１と共に移動方向に移動する。コントローラ５０は、キャリッジ２１の移動中に、印刷データに基づいてノズルからインクを吐出させる。ノズルから吐出されたインク滴が紙Ｓ上に着弾することで、紙Ｓ上にドットが形成される（Ｓ００３：ドット形成処理）。なお、キャリッジ２１の移動方向の位置をリニア式エンコーダ４１が検出し、キャリッジ２１（ヘッド３１）に取り付けられている光学センサ４４が紙Ｓの端部の位置を検出する。
【００２８】
その後、コントローラ５０は、搬送モータ１２を駆動し、搬送ローラ１３を回転させて、紙Ｓを搬送方向に所定の搬送量分だけ搬送する（Ｓ００４：搬送処理）。これにより、ヘッド３１は、先ほどのドット形成処理によって形成されたドットの位置とは異なる位置に、ドットを形成することが可能になる。紙Ｓの搬送量は、搬送ローラ１３の回転量に応じて定まり、搬送ローラ１３の回転量はロータリー式エンコーダ４２によって検出される。なお、印刷中の紙Ｓはプラテン１４によって支持される。
【００２９】
そして、コントローラ５０は、印刷中の紙Ｓの排紙の判断を行う（Ｓ００５：排紙判断）。印刷中の紙Ｓに印刷すべきデータが残っていれば、排紙は行われず、印刷すべきデータがなくなるまで、ドット形成処理と搬送処理とを交互に繰り返し、画像を完成させる。印刷中の紙Ｓに印刷すべきデータがなくなったところで、排紙ローラ１５の回転により紙Ｓは排紙される（Ｓ００６：排紙処理）。
【００３０】
最後に、印刷を続行するか否かの判断を行う（Ｓ００７：印刷終了判断）。次の紙に印刷を行うのであれば印刷を続行し、次の紙を給紙する。次の紙に印刷を行わないのであれば、印刷を終了する。
【００３１】
＝＝＝インク残量について＝＝＝
本実施形態では、インク残量に応じて、インク使用量の予測方法を異ならせる。そこで、インク使用量の予測方法が切り替わるタイミングを把握するために、プリンタ１のＣＰＵ５２内のインク残量管理部において、各インク（ＹＭＣＫ）のインク残量を個別に管理する。なお、インク残量はプリンタ１内のメモリ５３に記憶され、この記憶はプリンタ１の電源を落としても損なわれないとする。
【００３２】
インク残量管理部は、新しいインクカートリッジ内のインク量から、画像の印刷やヘッド３１のクリーニングのために消費される度にインク量を減算し、インク残量を管理する。そのため、インクカートリッジが交換されると、メモリ５３に記憶されているインク残量はリセットされる。
【００３３】
インクの消費量は、実際に吐出される各ドット（大中小）のドット数をカウントし、各ドットに対応するインク量を積算し、累積加算することで算出される。なお、インク残量管理部は、コンピュータ６０から送信されてくる印刷データ等により、吐出されるドット数をカウントする。そして、インク残量管理部は、インク消費量を算出すると、メモリ５３に記憶されている過去のインク残量からインク消費量を減算し、新たなインク残量を算出する。そして、メモリ５３には過去のインク残量のデータから新たなインク残量のデータに書き換えられる。
【００３４】
本実施形態では、インク残量が５０％以下となった時点で、低精度なインク使用量予測を行う。そして、インク残量が２０％以下となった時点で、低精度なインク使用量予測から高精度なインク使用量予測に切り替わる。なお、高精度なインク使用量予測の方が、低精度なインク使用量予測よりも正確にインク使用量を予測することができる（高精度なインク使用量予測と低精度なインク使用量予測についての詳細な説明は後述する）。
【００３５】
即ち、本実施形態では、インク残量が少なくなった時点で、インク使用量を正確に予測し（高精度なインク使用量予測）、インク残量と予測したインク使用量を比較する。そうすることで、印刷中にインクが無くなることを防ぎ、インクを最後まで有効に利用することが出来る。そのため、インク残量を正確に把握することで、より有効な効果が得られる。
【００３６】
そこで、本実施形態では、ドットカウントによるインク残量を管理する以外にも、インクカートリッジ内に液面検出センサを設ける。インク使用量の予測を開始するインクカートリッジ内のインク残量が５０％となる地点に液面検出センサ７１Ａを設け、インク使用量の予測方法が切り替わるインク残量が２０％となる地点にも液面検出センサ７１Ｂを設ける。
【００３７】
液面検出センサは、検出位置でのインクの有無を検出することにより、インクの液面が検出位置に達したか否かを検出する。例えば、インク残量が５０％となる位置に液面検出センサが設置されていたとする。この場合、液面検出センサが液体を感知していれば、インク残量が半分以上であることが分かる。逆に、液面検出センサが気体を感知していれば、インク残量が半分以下であることが分かる。
【００３８】
図５Ａは、インクカートリッジ７０内の液面検出センサ７１Ａ及び７１Ｂを示す図である。キャリッジ２１には針Ｐが設けられており、インクカートリッジ７０がキャリッジ２１に装着されると、針Ｐがインクカートリッジ７０内のインク供給部７２に突き刺さり、インクが供給部７２からヘッド３１へ供給されるようになる。
【００３９】
図５Ｂは液面検出センサ７１の詳細を示す図である。液面検出センサ７１は、ピエゾ素子７１１と振動板７１２からなる。また、液面検出センサは、インクの振動の影響を受けないようにバッファ室７５内に設けられている。バッファ室７５は第１インク流路７３と第２インク流路７４とを介して、インクカートリッジのインク収容部７６と連結されている。第１インク流路７３と第２インク流路７４により、毛細管現象を利用して、インク収容部７６内の液面が液面検出センサ７１の設置位置よりも低くなると、速やかに振動板７１２はインクに接しなくなるので、インク収容部７６内の液面の位置を正確に検出できる。
【００４０】
次に、液面を検出する原理について、以下に説明する。ピエゾ素子７１１に駆動信号が印加されると、ピエゾ素子７１１が伸縮し、振動板７１２が図中の矢印方向に振動する。ピエゾ素子７１１への駆動信号の印加を止めても、振動板７１２には残留振動が生じている。この残留振動は、振動板７１２がインクに接触しているか否かによって、その性質が大きく変化する。
【００４１】
振動板７１２がインクに接触しているときの残留振動の周波数は低くなり、振動板７１２がインクに接触していないときの残留振動の周波数は高くなる。その結果、振動板７１２がインクに接触しているとき、ピエゾ素子７１１は周波数の低い信号を出力する。一方、振動板７１２がインクに接触していないとき、ピエゾ素子７１１は周波数の高い信号を出力する。そのため、ピエゾ素子から出力される信号により、振動板７１２の位置まで液面が達しているか否かを検出できる。
【００４２】
液面検出センサ７１はインクカートリッジ７０内のインクを実際に検出する。そのため、液面検出センサ７１を設けることで、ドットカウントだけによりインク残量を管理するよりも、正確にインク残量を管理することができる。
【００４３】
本実施形態では、ドットカウントによるインク残量が５０％となったとしても、液面検出センサ７１Ａがインク残量の５０％ラインを検知しなかったら、低精度なインク使用量予測を開始しない。逆に、ドットカウントによるインク残量が５０％より多くとも、液面検出センサ７１Ａがインク残量の５０％ラインを検知したら、低精度なインク使用量予測を開始する。そして、液面検出センサ７１Ａがインク残量の５０％ラインを検出した際に、ドットカウントによるインク残量が５０％でなかったら、メモリ５３に記憶されているドットカウントによるインク残量をリセットし、インク残量を５０％とする。そして、液面検出センサ７１Ｂがインク残量の２０％ラインを再び検出するまで、５０％のインク残量からドットカウントにより算出されるインク消費量を減算することで、インク残量を管理する。
【００４４】
同様に、液面検出センサ７１Ｂがインク残量の２０％ラインを検知したら、低精度なインク使用量予測から高精度なインク使用量予測に切り替わる。そして、液面検出センサ７１Ｂによる検知とドットカウントによるインク残量にずれがあった場合、ドットカウントによるインク残量をリセットし、インク残量を２０％とする。この後、インク残量２０％からドットカウントにより算出されるインク消費量を減算することで、インク残量を管理する。
【００４５】
なお、インク残量が２０％以下になった時点で、高精度なインク使用量予測が行われ、プリンタドライバは実際に消費されるインク量と等しい予測インク使用量を算出する〈詳細は後述〉。そのため、プリンタ１側のインク残量管理部がドットカウントによりインク消費量を算出しなくとも、インク残量管理部はコンピュータ６０側のプリンタドライバが算出した予測インク使用量を取得することで、インク残量を管理することができる。
【００４６】
また、インク残量が５０％よりも多い時には、インク残量管理部は、吐出されるドットの種類まで判別することなく、ドット数だけでインク残量を管理しても良い。その際には、全て大ドットが吐出されたとしてインク残量を管理すればよい。なぜなら、インク残量が５０％よりも多い時には、正確にインク残量を把握しなくとも、印刷中にインクが無くなってしまうおそれが少ないからである。
【００４７】
＝＝＝比較例の印刷処理フローについて＝＝＝
図６は、比較例の印刷処理フローを示す図である。プリンタドライバが各種アプリケーションプログラムから画像データを受信すると、図６に示す処理を行う。なお、プリンタドライバはコンピュータ６０のメモリに記憶されており、印刷命令および印刷データをプリンタ１へ送信する等の役割を行うプログラムである。
【００４８】
まず、プリンタドライバは、アプリケーションソフトから送られてきた画像データの解像度（以下、画像解像度とする）を取得する（Ｓ１０１）。そして、画像データ中の印刷モードの情報より、印刷時の解像度（以下、印刷解像度とする）を決定する（Ｓ１０２）。本実施形態のプリンタ１では、ユーザーが高画質モードや標準モード、高速印刷モード等を指定することができるとする。例えば、ユーザーから高速印刷モードを指定された場合には、プリンタドライバは印刷解像度を「搬送方向×移動方向＝３６０ｄｐｉ×３６０ｄｐｉ」とし、印刷方式（例：バンド印刷）も決定する。他に、ユーザーにより高画質モードが指定された場合には、プリンタドライバは印刷解像度を「１４４０ｄｐｉ×１４４０ｄｐｉ」と決定し、標準モードが指定された場合には、プリンタドライバは印刷解像度を「７２０ｄｐｉ×７２０ｄｐｉ」とする。
【００４９】
次に、プリンタドライバは画像解像度と印刷解像度の大きさを比較する（Ｓ１０３）。画像解像度の方が印刷解像度よりも高い場合（ＹＥＳ）、アプリケーションソフトからの画像データを間引く等の処理を施して低解像度化する（Ｓ１０４）。例えば（例１）、画像解像度が１４４０×１４４０ｄｐｉであり、ユーザーから標準モードを指定されて、印刷解像度が７２０×７２０ｄｐｉと決定された場合、画像解像度の方が印刷解像度よりも高い。そのため、１４４０×１４４０ｄｐｉである画像データが７２０×７２０ｄｐｉに低解像度化される。そして、低解像度化された７２０×７２０ｄｐｉの画像データを利用して、インク使用量の予測が行われる。
【００５０】
一方、画像解像度と印刷解像度が等しい場合（ＮＯ）、アプリケーションソフトからのデータは低解像度化されない。例えば（例２）、画像解像度が７２０×７２０ｄｐｉであり、印刷解像度も７２０×７２０ｄｐｉと決定された場合、アプリケーションソフトからの７２０×７２０ｄｐｉの画像データをそのまま利用して、インク使用量の予測が行われる。
【００５１】
また、画像解像度が印刷解像度よりも低い場合にも（ＮＯ）、アプリケーションソフトからの画像データは低解像度化されない。そして、画像解像度が印刷解像度と等しくなるように、画像データが高解像度化されることもない。例えば（例３）、画像解像度が３６０×３６０ｄｐｉであり、印刷解像度が７２０×７２０ｄｐｉと決定された場合、アプリケーションソフトからの３６０×３６０ｄｐｉの画像データをそのまま利用して、インク使用量の予測が行われる。即ち、比較例では、印刷解像度以下の解像度である画像データ（以下、予測用画像データとする）により、インク使用量が予測される。
【００５２】
なお、印刷解像度よりも低い解像度と、画像解像度を比較し、アプリケーションソフトからの画像データを、その印刷解像度よりも低い解像度となるように低解像度化してもよい。
【００５３】
次に、プリンタドライバは予測用画像データの色変換処理を行う（Ｓ１０５）。色変換処理とは、ＲＧＢ（赤緑青）データである予測用画像データをプリンタ１のインクに対応したＣＭＹＫ色空間により表されるＣＭＹＫデータに変換する処理のことである。この色変換処理は、ＲＧＢデータの階調値とＣＭＹＫデータの階調値とを対応づけたテーブル（不図示）をプリンタドライバが参照することによって行われる。
【００５４】
その後、プリンタドライバはハーフトーン処理を行う（Ｓ１０６）。ハーフトーン処理は、高階調数のデータを、プリンタ１が形成可能な階調数のデータに変換する処理である。プリンタ１は、１つの画素（紙Ｓ上に仮想的に定められた矩形状の領域）に対して、３種類のドット（大ドット、中ドット、小ドット）と、ドット無しの４種類を表現することができる。そのため、例えば、予測用画像データが２５６階調で示されたデータであったならば、４階調の２ビットデータ（２の二乗＝４）に変換される。
【００５５】
これらの処理により取得した予測用画像データにより、プリンタドライバはインク使用量を予測する（Ｓ１０７）。まず、予測用画像データのページ毎に、各ドット（大中小）がいくつ存在するかを数える（ドットカウント）。また、各ドットはインク毎（ＹＭＣＫ）にカウントされる。
【００５６】
図７は、インク使用量の予測方法をイメージ化した図である。ある画像データのあるページが、１／７２０インチ×１／７２０インチの画素を３６個集めた領域から構成されるとする。そして、領域内に図に示すようなブラックインクのドットが形成されるとする。このとき領域内には、大ドットが５個、中ドットが８個、小ドットが１２個存在している。そして、各ドットの個数と各ドットを形成するために必要なインク量を積算し、累積加算することで、領域内を印刷するために必要なインク使用量を予測することができる。
【００５７】
図中では、大ドットを５個形成し、大ドットに対応するインク量は２１ｐｌである。そのため、大ドットを形成するために必要なインク量は１０５ｐｌ（＝２１ｐｌ×５個）となる。同様に、中ドットを形成するために必要なインク量は５６ｐｌ（＝７ｐｌ×８個）であり、小ドットを形成するために必要なインク量は３０ｐｌ（＝２．５ｐｌ×１２個）となる。これを累積加算した値である１９１ｐｌ（＝１０５+５６+３０）が、図中の領域を印刷する際のブラックインクの予測インク使用量となる。
【００５８】
このように、プリンタドライバは、各ページの予測インク使用量をインク毎（ＹＭＣＫ）に算出する。なお、複数ページ印刷する場合において、全て同じ画像を印刷するのであれば、１枚のページの予測インク使用量に印刷する枚数を積算すればよい。しかし、ページ毎に画像が異なる場合には、ページ毎にインク使用量を予測する必要がある。
【００５９】
また、印刷解像度よりも低い解像度の予測用画像データをもとに、インク使用量を予測した場合は、低い解像度により算出した予測インク使用量に変換係数α（後述）を積算して、印刷解像度に合わせた予測インク使用量を算出する必要がある。
【００６０】
次に、プリンタドライバはインク残量管理部から各インクのインク残量を取得する（Ｓ１０８）。そして、インク毎に、インク残量と予測インク使用量を比較する（Ｓ１０９）。例えば、図７の画像を１０ページ印刷するとする。そうすると、ブラックインクの予測インク使用量は１９１０ｐｌ（＝１９１ｐｌ×１０ページ）となる。そして、ブラックインクの残量が５０００ｐｌであれば、インク残量の方が予測インク使用量よりも多く（ＹＥＳ）、プリンタドライバは、印刷実行と判断し、印刷データ作成の処理に入る。もし、ブラックインクの残量が１０００ｐｌであったとすると、インク残量よりも予測インク使用量の方が多く（ＮＯ）、ユーザーにその旨を通知する（Ｓ１１０）。
【００６１】
図８は、印刷に必要なインクが足りないときの警告画面を示す。インク残量よりも予測インク使用量の方が多い場合に、図８のような画面を表示し、ユーザーに印刷を実行するか、印刷を中止するかの選択をしてもらう（Ｓ１１１）。ユーザーが「印刷を実行する」を選択すれば（ＹＥＳ）、プリンタドライバは印刷データ作成の処理に入る。逆に、ユーザーが「印刷を中止する」を選択すれば（ＮＯ）、プリンタドライバは印刷を中止する。
【００６２】
図９は、印刷データ作成のフローである。インク残量の方が予測インク使用量よりも多い場合、または、インク残量は予測インク使用量よりも少ないが、ユーザーが印刷を実行すると選択した場合に、プリンタドライバは印刷データを作成する。
【００６３】
まず、プリンタドライバは、アプリケーションソフトからの画像データを印刷解像度へ解像度変換処理を行う（Ｓ２０１）。このため、プリンタドライバは、アプリケーションソフトから画像データを受信した際に、画像データをコピーし、コンピュータ６０内のメモリに保存しておく必要がある。
【００６４】
次に、プリンタドライバは色変換処理を行う（Ｓ２０２）。ＲＧＢデータである画像データをプリンタ１のインクの色に合わせたＹＭＣＫデータに変換する。そして、プリンタドライバはハーフトーン処理において、高階調（２５６階調）である画像データをプリンタ１が形成可能な４階調のデータに変換する（Ｓ２０３）。
【００６５】
最後に、プリンタドライバはラスタライズ処理を行う（Ｓ２０４）。ラスタライズ処理とは、マトリクス状の画像データを、プリンタ１に転送すべきデータ順に、画素データ（画素に形成されるドットの種類、またはドットが形成されないことを示すデータ）毎に並べ替える処理である。これらの処理を経て生成された印刷データは、印刷命令と印刷方式に応じた各種コマンドデータ（搬送量など）と共に、プリンタドライバによりプリンタ１に送信される。そして、印刷命令及び印刷データを受信したプリンタ１は印刷を開始する（図４）。
【００６６】
このように、比較例では、アプリケーションソフトから受信した全ての画像データに対してインク使用量予測を行っている。そのため、インクカートリッジを交換したばかりで、印刷中にインクが無くなる心配がない場合でさえも、インク使用量予測を行うため、プリンタドライバによる作業時間が長くかかってしまう。即ち、印刷時間が長くかかってしまう。
【００６７】
また、インクの残量に関係なく、印刷解像度と等しい解像度の画像データによりインク使用量を予測したり、印刷解像度よりも低い解像度の画像データによりインク使用量を予測したりしている。印刷解像度と等しい解像度の画像データによりインク使用量を予測した方が、印刷解像度よりも低い解像度の画像データによりインク使用量を予測するよりも正確にインク使用量を予測することができる。
【００６８】
そのため、印刷解像度よりも低い解像度の画像データによりインク使用量を予測すると、予測インク使用量の方が実際のインク使用量よりも多くなってしまうことがある。この場合に、もしインク残量が少なかったら、実際には印刷可能なインク量が残っているにも関わらず、インク残量が予測インク使用量よりも少ないと判断され、印刷が行われないおそれがある。つまり、インクカートリッジ内のインクは最後まで有効に利用されない。
【００６９】
また、印刷解像度よりも低い解像度の画像データによりインク使用量を予測すると、逆に、予測インク使用量の方が実際のインク使用量よりも少なくなってしまうことがある。この場合に、もしインク残量が少なかったら、実際には印刷可能なインク量が残っていないにも関わらず、インク残量が予測インク使用量よりも多いと判断され、印刷が行われてしまうおそれがある。つまり、印刷途中にインクが無くなってしまうおそれがあり、インク使用量を予測する意味がなくなってしまう。
【００７０】
そこで、本実施形態では、収容するインクを有効に利用し、且つ、印刷中にインクがなくなることがないように、短時間でインク使用量を予測することを目的とする。
【００７１】
＝＝＝本実施形態の印刷処理フロー＝＝＝
図１０は、本実施形態の印刷処理フローである。比較例では全ての画像データに対して、インク使用量の予測を行っていたが、本実施形態ではインク残量が５０％以下（半分以下）であるときのみにインク使用量の予測を行う。そのため、プリンタドライバが各アプリケーションソフトから画像データを受信したら、まず、各インク（ＹＭＣＫ）のインク残量をインク残量管理部から取得する（Ｓ３０１）。
【００７２】
そして、各インク（ＹＭＣＫ）のインク残量が５０％以下であるか否かを確認する（Ｓ３０２）。全てのインクのインク残量が５０％よりも多かった場合（ＮＯ）、プリンタドライバは印刷実行と判断し、印刷データ作成処理に入る。一方、インク残量が５０％以下であるインクが１色でもあった場合には（ＹＥＳ）、ユーザーにその旨を通知する（Ｓ３０３）。
【００７３】
図１１Ａは、インク残量が５０％以下であるインクがあったことをユーザーに通知する画面である。この画面によりユーザーはブラックインクとイエローインクのインク残量が５０％以下であることが分かる。そして、ユーザーに「印刷に必要なインク使用量（予測量）」と「インク残量」の比較を行うか否かを選択してもらう（Ｓ３０４）。ユーザーが「比較を行わない」を選択すれば（ＮＯ）、プリンタドライバは印刷データの作成処理に入る。ユーザーが「比較を行う」を選択すれば（ＹＥＳ）、プリンタドライバはインク使用量の予測を行う。
【００７４】
図１１Ｂは、インク残量の具体的な量をユーザーに通知する画面である。図１１Ｂは、プリンタドライバがＳ３０１においてインク残量管理部から取得したインク残量データを基に表示される。なお、インク残量管理部が液面検出センサ７１とドットカウントにより各インクの具体的なインク残量を管理している。そして、予測インク使用量とインク残量の比較を行うか否かの選択画面と共に、図１１Ｂのような画面を表示してもよい。そうすれば、インク残量が５０％以下であると通知されたとしても、例えば、ブラックインクＫのように５０％のラインよりも若干少ないだけと分かれば、ユーザーは印刷量に応じて、印刷途中でインクが無くなってしまうおそれがないか否かを判断し、「比較を行わない」を選択することができる。逆に、イエローインクＹのようにインク残量が５０％のラインよりも大幅に少ないと分かれば、ユーザーは印刷途中でインクが無くなってしまう可能性があると判断し、「比較を行う」と判断することができる。
【００７５】
ユーザーによりインク使用量の予測を行う方が選択されたら（Ｓ３０４→ＹＥＳ）、次に、各インク（ＹＭＣＫ）のインク残量が２０％以下であるかを確認する（Ｓ３０５）。このとき、Ｓ３０２の処理において、インク残量が５０％以下であった色のインクだけインク残量を確認すればよい。たとえば、図１１Ａの場合では、ブラックインクとイエローインクのみ、インク残量が５０％以下であったため、ブラックインクとイエローインクだけインク残量が２０％以下であるか否かを確認すればよい。そして、ＹＭＣＫのインクのうちのどれか１色でもインク残量が２０％以下で有った場合（ＹＥＳ）、高精度なインク使用量予測を行う（Ｓ３０７）。インク残量が２０％以下であるインクが無かった場合（ＮＯ）、低精度なインク使用量予測を行う（Ｓ３０６）。そして、各インク使用量予測方法により予測インク使用量が算出される（詳細は後述する）。
【００７６】
次に、プリンタドライバは、インク毎に、算出された「予測インク使用量（液体使用量）」と「インク残量（液体の残量）」の比較を行う（Ｓ３０８）。全てのインクのインク残量の方が予測インク使用量よりも多い場合には（ＹＥＳ）、プリンタドライバは印刷データの作成処理に入る。逆に、インク残量の方が予測インク使用量よりも少ないインクが１色でもある場合には（ＮＯ）、プリンタドライバはその旨をユーザーに通知する（Ｓ３０９）。通知画面は比較例において例示した画面と同様であり（図８）、ユーザーに印刷を実行するか否かの選択を求める（Ｓ３１０）。また、全てのインク（ＹＭＣＫ）が予測インク使用量とインク残量を比較しなくとも、インク残量が５０％以下であるインクのみ比較を行ってもよい。
【００７７】
そして、インク残量の方が予測インク使用量よりも少なくとも、ユーザーが「印刷を実行する」を選択すれば（ＹＥＳ）、プリンタドライバは印刷データの作成処理に入る。逆に、ユーザーが「印刷を中止する」を選択すれば（ＮＯ）、プリンタドライバは印刷を中止する。なお、インク残量の方が予測インク使用量よりも少ないが印刷を実行した場合に、印刷中にインクが無くなったことをインク残量管理部が検知することが考えられる。インク残量管理部はインクが無くなったことを検知した時点で、その事をプリンタ１のコントローラ５２に通知する。そうして、プリンタ１のコントローラ５２はノズルからのインクの吐出を中止する。
【００７８】
また、複数のページを印刷する際に、全てのページは印刷できないが、一部のページは印刷できる場合、この旨を図８の通知画面上に知らせてもよい。例えば、３０ページを印刷しなければならないが、インク残量が少なく、最初の１０ページのみしか印刷できない場合に、「ブラックインクの残量が、１１ページから３０ページの印刷に必要なインク量を超えています」と表示する。そうすると、ユーザーは最初の１０ページを印刷してからインクカートリッジを交換することができる。その結果、インクは最後まで有効に利用される。
【００７９】
以上が本実施形態における印刷処理のフローである。本実施形態では、比較例のようにアプリケーションソフトから受信した全ての画像データに対してインク使用量の予測を行うことはせずに、インク残量に応じて、インク使用量の予測を行う。即ち、インク残量が少なくなった時点で（インク残量が５０％以下になった時点）、インク使用量の予測を行う。そうすることで、インク残量が多く、印刷中にインクが切れてしまうおそれが無い場合には、インク使用量の予測が行われないため、印刷時間を短くすることができる。
【００８０】
また、インク残量が少ない場合であっても（インク残量が５０％以下であっても）、ユーザーがインクの使用量の予測を行うか否かの選択が行えるようになっている。そうすることで、その時のユーザーの状況に応じて、インク使用量の予測を行うか否かを選択することができる。もし、ユーザーがインク使用量の予測を行う方を選択すれば、印刷中にインクが無くなることはなく、確実に印刷が行われる。また、ユーザーがインク使用量の予測を行わない方を選択すれば、印刷時間が短縮される。
【００８１】
その時の状況に応じるとは、例えば、印刷途中にインクが切れて、画質が悪化したとしても、急いで印刷したい場合には、ユーザーはインク使用量予測を行わない方を選択することができる。また、インクカートリッジやインクの在庫が無く、インク使用量の予測を行った結果、予測インク使用量がインク残量より多くとも、直ぐに印刷を行わなければならない場合にも、ユーザーはインク使用量予測を行わない方を選択することができる。逆に、高級な印刷用紙を用いて印刷する場合には、ユーザーがインク使用量の予測を行う方を選択することで、印刷中にインクが無くなることはなく、高級な印刷用紙を無駄にしてしまうこともなくなる。
【００８２】
以下、インク使用量の予測を行わない場合と、低精度なインク使用量予測を行う場合と、高精度なインク使用量予測を行う場合の各印刷データ作成処理と印刷までのフローについて、詳細に説明する。
【００８３】
〈インク使用量予測を行わない印刷処理〉
図１２は、インク使用量予測を行わない場合の印刷データ作成のフローを示す図である。全てのインク（ＹＭＣＫ）のインク残量が５０％よりも多い場合と、インク残量が５０％以下であってもユーザーがインク使用量の予測を行わないと判断した場合に、プリンタドライバは図１２の処理を行う。
【００８４】
まず、プリンタドライバは、各アプリケーションソフトから受信した画像データを印刷時の解像度（印刷解像度）に解像度変換処理を行う（Ｓ４０１）。なお、印刷時の解像度は、比較例でも説明したように、ユーザーが選択した印刷モード（高画質モード、標準モード、高速印刷モード等）に合わせて決定される。そして、プリンタ１が印刷可能な解像度を「３６０×３６０ｄｐｉ（高速）」と「７２０×７２０ｄｐｉ（標準）」と「１４４０×１４４０ｄｐｉ（高画質）」の３種類とする。
【００８５】
次に、プリンタドライバはプリンタ１が有するインクの色に合わせて、ＲＧＢデータをＹＭＣＫデータに変換する（Ｓ４０２）。そして、プリンタドライバはハーフトーン処理において、高階調（２５６階調）のデータをプリンタ１が形成可能な４階調のデータに変換する（Ｓ４０３）。最後に、プリンタドライバはマトリクス状の画像データを、プリンタ１に転送すべきデータ順に、画素データ毎に並べ替えるラスタライズ処理を行う（Ｓ４０４）。これらの処理を経て生成された印刷データは、印刷命令と印刷方式に応じたコマンドデータ（搬送量など）と共に、プリンタドライバによりプリンタ１に送信される。そして、印刷命令と印刷データを受信したプリンタ１は印刷を開始する。
【００８６】
〈低精度なインク使用量予測を行う印刷処理〉
図１３は、低精度なインク使用量予測を行う場合の印刷処理のフローを示す図である。ＹＭＣＫのインクのうちの少なくとも１色のインク残量が５０％以下（第２所定量以下）であり、全インク（ＹＭＣＫ）のインク残量が２０％よりも多く、ユーザーがインク使用量予測を行うと選択した場合に、プリンタドライバは図１３の処理を行う。
【００８７】
まず、各アプリケーションソフトから受信した画像データの解像度（画像解像度）を取得する（Ｓ５０１）。そして、プリンタドライバは画像解像度と予測用解像度（第２解像度）を比較する（Ｓ５０２）。ここで、予測用解像度とは、インク使用量の予測時間を短縮するため、解像度の低いデータによりインク使用量の予測を行うために設定した解像度である。本実施形態では、予測用解像度を１８０×１８０ｄｐｉとする。
【００８８】
例えば（例１）、画像解像度が１８０×１８０ｄｐｉであった場合（ＮＯ）、プリンタドライバはアプリケーションソフトからの画像データの解像度を変更することなく、次の処理に進む。一方、画像解像度が７２０×７２０ｄｐｉであった場合（例２、ＹＥＳ）、プリンタドライバはアプリケーションソフトから受信した画像データを間引くなどして低解像度化する（Ｓ５０３）。そして、７２０×７２０ｄｐｉである画像解像度を予測用解像度と同じ、１８０×１８０ｄｐｉの解像度に下げる。
【００８９】
即ち、低精度なインク使用量予測では、予測用解像度（１８０×１８０ｄｐｉ）と等しくなった画像データ（以下、予測用画像データ）を基に、インク使用量の予測が行われる。
【００９０】
次に、プリンタドライバはＲＧＢデータである予測用画像データをＹＭＣＫデータに色変換処理を行い（Ｓ５０４）、高階調（２５６階調）のデータを低階調（４階調）のデータにハーフトーン処理を行う（Ｓ５０５）。その結果、プリンタドライバは１８０×１８０ｄｐｉの解像度である２ビットの予測用画像データを取得する。
【００９１】
その後、プリンタドライバは予測用画像データを基に、インク使用量を予測する（Ｓ５０６）。予測用画像データの各ページに、各ドット（大中小）が何個存在するかを、インク毎（ＹＭＣＫ）に数える（ドットカウント）。インク毎、ページ毎に、各ドットの個数と各ドットに対応するインク量を積算し、累積加算することで、予測インク使用量が算出される。なお、予測インク使用量の算出方法は比較例の予測インク使用量の算出方法と同様である（図７）。
【００９２】
そして、プリンタドライバは、予測用解像度（１８０×１８０ｄｐｉ）の画像データから算出された予測インク使用量に変換係数αを乗算し、実際の印刷解像度に相当する予測インク使用量を算出する。
【００９３】
ここで、変換係数αとは、予測用解像度の画像データから算出された予測インク使用量を印刷解像度に対応した予測インク使用量に変換するための係数である。この変換係数αは、予測用解像度と、プリンタ１が印刷可能な複数の印刷画像解像度とに対応付けられて算出されている。そして、プリンタ１のメモリ５３が予め複数の変換係数αを記憶している。また、変換係数αは、同一の画像に対し、予測用解像度で印刷した場合と、印刷解像度で印刷した場合の、単位面積あたりに吐出されるインク量の比を示したものであり、次式にて表される。  
変換係数α＝印刷解像度に対するインク密度／予測用解像度に対するインク密度
【００９４】
このように印刷解像度に対応した予測インク使用量が算出されると、プリンタドライバはインク毎（ＹＭＣＫ）に予測インク使用量とインク残量を比較する（Ｓ５０８）。ＹＭＣＫのインクのうちの１色でもインク残量が予測インク使用量よりも少なければ（ＮＯ）、その旨をユーザーに通知し（Ｓ５０９）、「印刷を実行するか、印刷を中止するか」の判断をユーザーに選択させる（Ｓ５１０）。一方、ＹＭＣＫの全てのインク残量が予測インク使用量よりも多ければ（Ｓ５０８→ＹＥＳ）、プリンタドライバは次の処理に進む。
【００９５】
なお、インク残量が予測インク使用量よりも少ない場合にユーザーに通知される画面は比較例の図８で示した画面と同様である。Ｓ５１０において、ユーザーが印刷を中止する方を選択した場合（ＮＯ）、プリンタドライバは印刷を中止する。一方、ユーザーが印刷を実行する方を選択した場合（ＹＥＳ）、プリンタドライバは次の処理に進む。
【００９６】
次に、プリンタドライバは、アプリケーションソフトから受信した画像データを印刷時の解像度に解像度変換処理を行う（Ｓ５１１）。そのため、プリンタドライバは、アプリケーションソフトから画像データを受信した際に、画像データをコピーし、コンピュータ６０内のメモリに保存しておく必要がある。
【００９７】
そして、印刷解像度に対応した画像データを取得した後、プリンタドライバはプリンタ１が有するインクの色（ＹＭＣＫ）に合わせて、ＲＧＢデータである画像データをＹＭＣＫデータに変換する（Ｓ５１２）。その後、プリンタドライバはハーフトーン処理において、高階調で示された画像データを、プリンタ１が形成可能な４階調のデータに変換する（Ｓ５１３）。最後に、プリンタドライバは、マトリクス状の画像データを、プリンタ１に転送すべきデータ順に、画素データ毎に並べ替えるラスタライズ処理を行う（Ｓ５１４）。これらの処理を経て生成された印刷データは、印刷命令とコマンドデータと共に、プリンタ１に送信される。そして、印刷命令と印刷データを受信したプリンタ１は印刷を開始する。
【００９８】
〈高精度なインク使用量予測を行う印刷処理〉
図１４は、高精度なインク使用量予測を行う場合の印刷処理のフローを示す図である。ＹＭＣＫのインクのうちの少なくとも１色のインク残量が２０％以下（第１所定量以下）であり、ユーザーがインク使用量予測を行うと選択した場合に、プリンタドライバは図１４の処理を行う。
【００９９】
まず、プリンタドライバは各アプリケーションソフトから受信した画像データの解像度（画像解像度）を印刷時の解像度（印刷解像度）に解像度変換処理を行う（Ｓ６０１）。
【０１００】
次に、プリンタドライバはＲＧＢデータである画像データをＹＭＣＫデータに変換し（Ｓ６０２）、高階調で示された画像データをプリンタ１が形成可能な低階調のデータに変換する（Ｓ６０３）。その結果、プリンタドライバは印刷時の解像度（印刷解像度）である２ビットの画像データを取得する。前述の低精度なインク使用量予測では、プリンタドライバは印刷解像度よりも低い解像度である予測用解像度の画像データを基に、インク使用量の予測を行う。これに対して、高精度なインク使用量予測では、プリンタドライバは印刷時の解像度と同じ解像度（第１解像度）の画像データを基に、インク使用量の予測を行う（Ｓ６０４）。
【０１０１】
プリンタドライバは画像データの各ページに、各ドット（大中小）が何個存在するかを、インク毎に数える（ドットカウント）。そして、インク毎、ページ毎に、各ドットの個数と各ドットに対応するインク使用量を積算し、累積加算する。その結果、印刷解像度の画像データにおける、予測インク使用量が算出される。
【０１０２】
低精度なインク使用量予測で算出された予測インク使用量は、変換係数αにより印刷解像度に対応させている。これに対して、高精度なインク使用量予測で算出された予測インク使用量は、印刷解像度である画像データから直接的に算出されるため、実際に使用されるインク量と等しい。
【０１０３】
但し、低精度なインク使用量予測よりも高精度なインク使用量予測の方が、解像度の高い画像データのドットカウントを行うため、インク使用量の予測に時間が長くかかってしまう。例えば、低精度なインク使用量予測では１／１８０インチ×１／１８０インチの画素ごとにドット形成の有無と種類を確認するのに対して、高精度なインク使用量予測では１／１４４０インチ×１／１４４０インチの画素ごとにドット形成の有無と種類を確認する。この場合、高精度なインク使用量の予測では、低精度なインク使用量の予測に対して、３６倍（６×６）のデータ数を確認しなければならず、予測時間が多くかかってしまう。
【０１０４】
そうして、高精度にインク使用量が予測されると、プリンタドライバはインク毎（ＹＭＣＫ）に予測インク使用量とインク残量を比較する（Ｓ６０６）。ＹＭＣＫのインクのうちの１色でもインク残量が予測インク使用量よりも少なければ（ＮＯ）、その旨をユーザーに通知する（Ｓ６０７）。一方、ＹＭＣＫの全てのインク残量が予測インク使用量よりも多ければ（Ｓ６０６→ＹＥＳ）、プリンタドライバは次の処理に進む。
【０１０５】
また、インク残量が予測インク使用量よりも少なくとも、ユーザーが印刷を実行する方を選択すれば（Ｓ６０８→ＹＥＳ）、プリンタドライバは次の処理に進む。一方、ユーザーが印刷を中止する方を選択すれば（ＮＯ）、プリンタドライバは印刷を中止する。
【０１０６】
最後に、プリンタドライバは、インク使用量予測に利用したマトリクス状の画像データを、プリンタ１に転送すべきデータ順に、画素データ毎に並べ替えるラスタライズ処理を行う（Ｓ６０９）。これらの処理を経て生成された印刷データは、印刷命令とコマンドデータと共に、プリンタドライバによりプリンタ１に送信される。印刷命令と印刷データを受信したプリンタ１は印刷を開始する。
【０１０７】
即ち、高精度なインク使用量予測では、ラスタライズ処理（Ｓ６０９）が行われる前に、インク使用量が予測される（Ｓ６０４）。これは、印刷データ作成の途中にインク使用量が予測されているとも言い換えられる。つまり、インク残量が予測インク使用量よりも少なく、印刷を中止する場合には、ラスタライズ処理の時間分を短縮することができる。
【０１０８】
また、高精度なインク使用量予測では、印刷解像度と等しい解像度の画像データによりインク使用量を予測する。そのため、インク使用量を予測した後に、低精度なインク使用量予測のように、アプリケーションソフトからの画像データを印刷解像度に解像度変換し、色変換処理し、ハーフトーン処理しなくともよい。つまり、高精度なインク使用量予測では、色変換処理とハーフトーン処理を１回行えばよい。
【０１０９】
このように、本実施形態では、インク残量に応じて、インク使用量の予測方法が異なる。インク残量が２０％よりも多いが５０％以下であるときには、低精度なインク使用量予測が行われるのに対して、インク残量が２０％以下であるときには高精度なインク使用量予測が行われる。
【０１１０】
さて、低精度なインク使用量予測に対して、高精度なインク使用量予測の方が、より正確な予測インク使用量が算出される。但し、低精度なインク使用量予測の方が高精度なインク使用量予測に比べて、データ数が少なく、予測時間が短くなる。
【０１１１】
また、比較例では、インク残量に関係なく、全ての画像データに対して、印刷解像度以下の解像度である画像データによりインク使用量予測を行っている。これに対して、本実施形態ではインク残量が少なくなった時点（インク残量が２０％以下）で、低精度なインク使用量予測から高精度なインク使用量予測に切り替える。即ち、比較例ではインク残量が少ないときにも、低精度なインク使用量予測が行われる可能性があり、予測インク使用量が正確でないおそれがある。
【０１１２】
低精度なインク使用量予測では、実際に印刷する画像データを基にインク使用量を予測していないので、予測インク使用量を実際のインク使用量よりも多く見積もってしまうことが考えられる。このとき、もし、インク残量が予測インク使用量よりも少ないと判断され、実際にはインク可能なインク残量が残っているにも関わらず、印刷が中止になってしまうおそれがある。そうすると、インクを最後まで使い切ることができない。
【０１１３】
逆に、低精度なインク使用量予測では、予測インク使用量を実際のインク使用量よりも少なく見積もってしまうことも考えられる。このとき、もし、インク残量が少なかったら、インク残量の方が予測インク使用量よりも多いと判断され、実際には印刷可能なインク残量が残っていないにも関わらず、印刷されてしまうおそれがある。そうすると、印刷中にインクが無くなってしまい、印刷画像が悪化する。また、再度印刷を行えば、印刷用紙を無駄にすることになり、印刷時間も余分にかかってしまう。
【０１１４】
そこで、本実施形態のように、インク残量が少ないときには、低精度なインク使用量予測ではなく高精度なインク使用量予測を行う。そうすることで、インクを最後まで有効に利用することができ、且つ、印刷中にインクが無くなってしまうことを防げる。
【０１１５】
以上をまとめると、本実施形態では、インク残量に応じて、インク使用量予測を行うか否かが決定され（インク残量５０％）、且つ、インク残量に応じて、インク使用量の予測方法を異ならせている（インク残量２０％）。また、インク使用量予測を行うか否かをユーザーに選択させている。
【０１１６】
その結果、インク残量に応じてインク予測時間を短縮することができ、ユーザーの状況に応じて印刷時間を短縮することができる。また、インクを最後まで有効に利用することができ、印刷途中にインクが無くなってしまうおそれも防げる。
【０１１７】
＝＝＝その他の実施形態＝＝＝
上記の各実施形態は、主としてインクジェット方式のプリンタを有する印刷システムについて記載されているが、インク使用量の予測方法の開示が含まれている。また、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１１８】
〈液体吐出装置について〉
前述の実施形態では、液体吐出方法を実施する液体吐出装置としてインクジェットプリンタを例示していたが、これに限らない。例えば、液体吐出装置であれば、プリンタ（印刷装置）ではなく、カラーフィルター製造装置や有機ＥＬディスプレイ等のディスプレイ製造装置、半導体製造装置等であっても、本件発明を適用することができる。また、前述の実施形態ではコンピュータ６０内のプリンタドライバがインク使用量予測を行っていたが、プリンタ１側のＣＰＵ５２がプリンタドライバの役割を担ってもよい。この場合には、プリンタ１単体が液体吐出装置となる。
【０１１９】
〈モノクロ印刷について〉
前述の実施形態では、プリンタドライバはすべてのインク（ＹＭＣＫ）に対して、まず、インク残量が５０％以下になっているか否かを確認していたがこれに限らない。例えば、モノクロ印刷ではブラックインクのみしか用いないため、プリンタドライバはブラックインクの残量のみを確認すればよい。
【０１２０】
〈インク残量について〉
前述の実施形態では、液面検出センサとドットカウントによりインク残量を管理していたがこれに限らない。例えば、ドットカウントだけによりインク残量を管理してもよい。また、インクカートリッジ内のインク残量を追随して検知することができるセンサを用いる場合には、ドットカウントによりインク残量を管理しなくともよい。
【図面の簡単な説明】
【０１２１】
【図１】本実施形態のプリンタの全体構成ブロック図である。
【図２】図２Ａはプリンタの全体構成の概略図であり、図２Ｂはプリンタの全体構成の断面図である。
【図３】図３Ａはヘッドの下面（ノズル面）におけるノズルの配列を示す説明図であり、図３Ｂはプリンタが形成するドットの種類を示す図である。
【図４】印刷時の処理フローである。
【図５】図５Ａはインクカートリッジ内の液面検出センサを示す図であり、図５Ｂは液面検出センサの詳細を示す図である。
【図６】比較例の印刷処理フローを示す図である。
【図７】インク使用量の予測方法をイメージ化した図である。
【図８】印刷に必要なインクが足りないときの警告画面を示す。
【図９】印刷データ作成のフローである。
【図１０】本実施形態の印刷処理フローである。
【図１１】図１１Ａはインク残量が５０％以下であるインクがあったことをユーザーに通知する画面であり、図１１Ｂはインク残量の具体的な量をユーザーに通知する画面である。
【図１２】インク使用量予測を行わない場合の印刷データ作成のフローを示す図である。
【図１３】低精度なインク使用量予測を行う場合の印刷処理のフローを示す図である。
【図１４】高精度なインク使用量予測を行う場合の印刷処理のフローを示す図である。
【符号の説明】
【０１２２】
１  プリンタ、
１０  搬送ユニット、１１  給紙ローラ、１２  搬送モータ、１３  搬送ローラ、
１４  プラテン、１５  排紙ローラ、
２０  キャリッジユニット、２１  キャリッジ、２２  キャリッジモータ、
３０  ヘッドユニット、３１  ヘッド、
４０  検出器群、４１  リニア式エンコーダ、４２  ロータリー式エンコーダ、
４３  紙検出センサ、４４  光学センサ、
５０  コントローラ、５１  インターフェース部、５２  ＣＰＵ、
５３  メモリ、５４  ユニット制御回路、６０  コンピュータ、
７０  インクカートリッジ、７１Ａ  液面検出センサ、７１Ｂ  液面検出センサ、
７２  供給部、７３  第１インク流路、７４  第２インク流路、７５  バッファ室、
７６  インク収容部、７１１  ピエゾ素子、７１２  振動板、
Ｐ  針
【図１】
2008155422.tif 000003
【図２】
2008155422.tif 000004
【図３】
2008155422.tif 000005
【図４】
2008155422.tif 000006
【図５】
2008155422.tif 000007
【図６】
2008155422.tif 000008
【図７】
2008155422.tif 000009
【図８】
2008155422.tif 000010
【図９】
2008155422.tif 000011
【図１０】
2008155422.tif 000012
【図１１】
2008155422.tif 000013
【図１２】
2008155422.tif 000014
【図１３】
2008155422.tif 000015
【図１４】
2008155422.tif 000016