(57)【特許請求の範囲】
【請求項１】
インク滴を吐出するインク吐出ヘッドと該インクを所定量収容可能なインク収容器とを備え、該ヘッドがインク滴を吐出してインクドットを形成することにより、印刷媒体上に画像を印刷する印刷装置であって、
前記インク吐出ヘッドへのインクの供給に影響を与える条件たるインク供給条件を検出する供給条件検出手段と、
前記インク供給条件の中の所定条件において前記インク吐出ヘッドから吐出されるインク滴当たりの重量を、単位インク量として予め記憶しておくインク量記憶手段と、
所定期間内に吐出されるインク滴数に対応する値たるインク吐出数を計数するインク吐出数計数手段と、
該計数されたインク吐出数と前記記憶されたインク量と前記検出されたインク供給条件とに基づいて、前記所定期間内に吐出されるインク吐出量を算出する吐出量算出手段と、
前記インク吐出量を累積し、該累積値と前記所定のインク収容量とを用いて、前記インク収容器のインク残量を監視するインク残量監視手段と
を備えるとともに、
前記インク吐出ヘッドは、印刷媒体との相対位置を移動しながらインク滴を吐出することによって、インクドットの列たるラスタを形成するヘッドであり、
前記供給条件検出手段は、前記インク供給条件として、１のラスタを完成するために必要な相対移動の回数を示す指標たる記録モードを検出する手段である印刷装置。
【請求項２】
インク滴を吐出するインク吐出ヘッドと該インクを所定量収容可能なインク収容器とを備え、該ヘッドがインク滴を吐出してインクドットを形成することにより、印刷媒体上に画像を印刷する印刷装置であって、
前記インク吐出ヘッドへのインクの供給に影響を与える条件たるインク供給条件を検出する供給条件検出手段と、
前記インク供給条件の中の所定条件において前記インク吐出ヘッドから吐出されるインク滴当たりの重量を、単位インク量として予め記憶しておくインク量記憶手段と、
所定期間内に吐出されるインク滴数に対応する値たるインク吐出数を計数するインク吐出数計数手段と、
該計数されたインク吐出数と前記記憶されたインク量と前記検出されたインク供給条件とに基づいて、前記所定期間内に吐出されるインク吐出量を算出する吐出量算出手段と、
前記インク吐出量を累積し、該累積値と前記所定のインク収容量とを用いて、前記インク収容器のインク残量を監視するインク残量監視手段と
を備えるとともに、
前記供給条件検出手段は、印刷媒体上に形成される前記インクドットの配列たるドットパターンを検出する手段である印刷装置。
【請求項３】
請求項２記載の印刷装置であって、
前記供給条件検出手段は、前記ドットパターンとして、前記インク滴を吐出する時間的な頻度を表す指標たる相対駆動周波数を検出する手段である印刷装置。
【請求項４】
請求項２記載の印刷装置であって、
前記インク吐出ヘッドは、一度に複数のインクドットを形成可能なヘッドであり、
前記供給条件検出手段は、前記ドットパターンとして、前記一度に形成されるインクドット数と前記一度に形成可能なインクドット数との割合を表す指標たる駆動デューティを検出する手段である印刷装置。
【請求項５】
請求項２記載の印刷装置であって、
前記インク吐出ヘッドは、一度に複数のインクドットを形成可能なヘッドであり、
前記供給条件検出手段は、前記ドットパターンとして、一度に形成されるインクドット数が、所定値より多くなる第１の記録条件か、該所定値より少なくなる第２の記録条件かの、いずれであるかを検出する手段である印刷装置。
【請求項６】
請求項２記載の印刷装置であって、
前記供給条件検出手段は、印刷媒体上に形成された前記インクドットの配列を、所定の光学的手法によって検出する手段である印刷装置。
【請求項７】
請求項４記載の印刷装置であって、
前記インク吐出ヘッドは、前記一度に形成可能な複数のインクドットが、所定の関係に基づいて複数のグループにグループ分けされたヘッドであり、
前記供給条件検出手段は、前記駆動デューティを、前記グループ毎に検出する手段であり、
前記インク吐出数計数手段および前記吐出量算出手段は、前記グループ毎に、それぞれの処理を行う手段であり、
前記インク残量監視手段は、前記グループ毎に算出された前記インク吐出量を合計し、該合計値を累積して前記インク残量を監視する手段である印刷装置。
【請求項８】
請求項７記載の印刷装置であって、
前記供給条件検出手段は、前記駆動デューティの検出に代えて、一度に形成されるインクドット数が所定値より大きい第１の記録条件か、該所定値より小さい第２の記録条件であるかを、前記各グループ毎に検出する手段である印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、記録媒体上にインク滴を吐出して画像を印刷する技術に関し、詳しくは該インクを収容するインク収容器内のインク残量を正確に監視する技術に関する。
【０００２】
【従来の技術】
記録媒体上にインク滴を吐出して画像を印刷する印刷装置は、コンピュータ等が出力する各種画像の出力装置として広く使用されている。これら印刷装置は、インク収容器に収容されたインクを用いてインク滴を吐出しているため、インク収容器内のインクを使い切ってしまうと画像を印刷することができなくなる。
【０００３】
そこで、インク収容器内のインク残量を監視する技術が開発されている。そのような技術の１つとして、インク収容器にセンサを設けてインク残量を監視する技術が存在する。この技術を用いた場合、センサを設置しなければならないが、インク残量を直接監視することができる。また、インク滴の吐出数に、予め計測しておいたインク滴１滴あたりの重量を乗算してインクの使用量を算出し、算出したインク使用量からインク収容器内のインク残量を推定するという技術も知られている。印刷装置はコンピュータの制御の下でインク滴を吐出しているから、インク滴の総吐出数を制御用コンピュータで計数することは容易であり、かかる技術を用いれば、センサ等を設けることなくインク残量を監視することができる。
【０００４】
【発明が解決しようとする課題】
しかし、上述のような方法を用いてインク残量を監視する場合、実際のインク残量と計算上のインク残量とに誤差が生じることがあるという問題があった。もとより、ノズルから吐出されるインク滴の大きさは、吐出されるインクの粘度が違えば変わってくることが知られていた。吐出されるインクの温度の違いによって粘度が変化することを考慮し、インク残量の算出精度を向上させる試みも存在したが、依然として十分な精度を得ることはできなかった。
【０００５】
この発明は、従来技術における上述の課題を解決するためになされたものであり、インク使用量を正確に見積もることによって、インク収容器内のインク残量を精度良く監視する技術を提供することを目的とする。
【０００６】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明の第１の印刷装置は、次の構成を採用した。すなわち、
インク滴を吐出するインク吐出ヘッドと該インクを所定量収容可能なインク収容器とを備え、該ヘッドがインク滴を吐出してインクドットを形成することにより、印刷媒体上に画像を印刷する印刷装置であって、
前記インク吐出ヘッドへのインクの供給に影響を与える条件たるインク供給条件を検出する供給条件検出手段と、
前記インク供給条件の中の所定条件において前記インク吐出ヘッドから吐出されるインク滴当たりの重量を、単位インク量として予め記憶しておくインク量記憶手段と、
所定期間内に吐出されるインク滴数に対応する値たるインク吐出数を計数するインク吐出数計数手段と、
該計数されたインク吐出数と前記記憶されたインク量と前記検出されたインク供給条件とに基づいて、前記所定期間内に吐出されるインク吐出量を算出する吐出量算出手段と、
前記インク吐出量を累積し、該累積値と前記所定のインク収容量とを用いて、前記インク収容器のインク残量を監視するインク残量監視手段と
を備えることを要旨とする。
【０００７】
また、上記第１の印刷装置に対応する本発明のインク残量監視方法は、
インク滴を吐出するインク吐出ヘッドと該インクを所定量収容可能なインク収容器とを備え、該ヘッドがインク滴を吐出してインクドットを形成することにより印刷媒体上に画像を印刷する印刷装置で用いられ、該インク収容器のインク残量を監視するインク残量監視方法であって、
前記インク吐出ヘッドへのインクの供給に影響を与える条件たるインク供給条件を検出し、
所定期間内に吐出されるインク滴数に対応する値たるインク吐出数を計数し、該計数されたインク吐出数と、前記インク供給条件の中の所定条件において吐出されるインク滴当たりの重量と、前記検出されたインク供給条件とを用いて、前記所定期間内に吐出されるインク吐出量を算出し、
該算出されたインク吐出量を累積し、
前記インク吐出量の該累積値と前記所定のインク収容量とを用いて、前記インク収容器のインク残量を監視することを要旨とする。
【０００８】
本願の発明者は吐出されるインク滴の重量あるいは体積が、インク滴を吐出する際の種々の条件のうち、特にインクの供給に関わる条件によって左右されていることを見い出して、本願発明を完成させた。そこで、本願の印刷装置およびインク残量監視方法の作用・効果について説明する前に、本願発明者が見い出した現象すなわちインク滴を吐出する際の種々の条件のうち、インクの供給に関わる条件によって、インク滴重量あるいはインク滴体積が変化する現象について説明する。
【０００９】
図２７（ａ）は、記録媒体上にインクドットを形成して画像を印刷する印刷装置において、インク滴を吐出する代表的な機構を概念的に示す説明図である。図示するように、インク滴吐出機構の基本的な構成は、インク収容器から供給されたインクを一時的に貯めておくインク室Ａと、インク滴を吐出するノズルＢと、インク室ＡとノズルＢとをつなぐインク通路Ｃと、インク収容器内のインクをインク室Ａに供給するインク供給通路Ｄと、インク室内の圧力を高めるためのアクチュエータＥとから構成されている。アクチュエータＥはインク室Ａの圧力を高める手段であれば他の手段を使用することもでき、例えばヒータでインクを加熱してインク中に泡（バブル）を生成させてインク室内圧力を高める手段が用いられる場合もある。また、図２７（ａ）では、インク通路Ｃおよびインク供給通路Ｄの通路抵抗をそれぞれオリフィスＣｏ，Ｄｏで模式的に表現している。
【００１０】
図２７（ａ）に示すようなインク吐出機構において、アクチュエータＥを駆動してインク室Ａの圧力を高め、オリフィスＣｏの前後に差圧を発生させると、オリフィスＣｏをインクが通過してノズルＢからインク滴が吐出される。インク滴を吐出した後は、吐出したインク量相当のインクを供給してインク室Ａをインクで満たし、次のインク吐出に備えなければならない。しかし供給されるインクの温度が低いとインクの粘度が大きくなり、インク供給通路Ｄをインクが流れ難くなって、インク室Ａへのインクの供給が間に合わなくなる場合がある。インク室Ａにインクが満たされていない状態でインクを吐出すれば、ノズルＢからは小さなインク滴が吐出される。
【００１１】
インク室に供給されるインクの粘度に影響を与える要因は、供給されるインクの温度だけに限られない。例えば、インクの種類が違えばインクの組成も違うので、通常、インクの粘度は異なってくる。また、長い間使用する間にインク中の揮発成分が徐々に揮発して、インクの粘度が増加する場合も生じ得る。
【００１２】
また、インク収容器内のインク残量の変化によっても、インク滴の大きさは変動する場合がある。この理由について、以下に簡単に説明する。
【００１３】
ノズルＢは、図２７（ｂ）に示すように、インクを吐出しない状態ではノズルＢに形成されるインクの界面（Ｍｅ）が若干内側に引き込まれた状態になるように設計される。これは、不必要な時にノズルからインクが漏れ出すこと等を避けるためである。ノズル部のインク界面Ｍｅを引き込んだ状態にしておくためには、種々の方法が用いられるが、インク収容器内にウレタンフォームを入れておく方法もしばしば使用される。ウレタンフォームには無数の小孔が空いており、インクはこれら小孔の中に染み込んで、小孔とインクと空気との間に働く表面張力の作用によってウレタンフォームに保持される。このとき、小孔の大きさや密度等のパラメータを調整することにより、インクに働く表面張力がノズルの界面Ｍｅに発生する表面張力より若干大きくなるように設計しておけば、インク滴を吐出しない状態では、インク界面Ｍｅが若干内側に引き込まれた状態に保つことができる。
【００１４】
このように設計されたインク収容器において、インク残量が少なくなってくるとインクが空気と接している面積が増え、このためウレタンフォームとインクとの表面張力の作用が強くなって、ノズルＢでのインク界面Ｍｅは内側に大きく引き込まれるようになる。インク界面Ｍｅが大きく引き込まれた状態でインク滴を吐出しても、小さめのインク滴しか吐出することはできない。このため、インク収容器内のインク残量の変化によって、インク滴の大きさが変動する場合がある。
【００１５】
更に、インク滴の大きさは、記録媒体上に形成されるインクドットの配列たるドットパターンの違いによっても変動しうる。この現象にも種々の原因が存在する。例えば、記録媒体上のインクドットの密度を増加させようとする場合、ドットの形成時間が同じなら、単位時間当たりのインク滴吐出回数（吐出頻度）を増加させなければならない。ところがインク滴の吐出頻度があまりに高くなると、インク供給通路Ｄからインク室Ａへのインクの供給が間に合わなくなり（図２７（ａ）参照）、その結果、ノズルから吐出されるインク滴の大きさは小さくなってしまう。
【００１６】
インク室が多数並んで形成されているような印刷装置においては、あるインク室でインク滴を吐出すると、隣のインク室に供給するインクが不足気味となり、その結果、隣のインク室で吐出するインク滴の大きさが変動する現象、いわゆるクロストークと呼ばれる現象も発生する。
【００１７】
以上説明したように、吐出されるインク滴の重量は、インク滴を吐出する際のインク供給条件の影響を様々な形で受けている。本願発明の印刷装置およびインク残量監視方法は、上述のような、インク吐出重量とインク供給条件との関係に着目して完成されたものであり、以下に述べるように、インク供給条件を検出することによってインク吐出重量を精度良く見積もることが可能である。
【００１８】
本発明の印刷装置およびインク残量監視方法においては、所定の条件におけるインク滴当たりの重量を、単位インク量として予め計測しておく。そして、画像の印刷に際しては、先ず、インクの供給に関わるインク供給条件を検出し、次いで、所定期間内に吐出されるインク滴数に対応する値（インク吐出数）を計数する。検出されたインク供給条件の影響を考慮しつつ、インク吐出数の計数値とインク量とを乗算することによって、所定期間内に吐出されたインク吐出量を算出する。ここでインク吐出数として、吐出されたインク滴数そのものを計数しても良いが、他に計数が容易でインク滴数に換算可能な変数であれば、どのようなものを計数しても構わない。こうして求めたインク吐出量を累積し、該累積値とインク収容器の所定のインク収容量とに基づいて、インク収容器内のインク残量を監視する。このように本発明では、所定期間内のインク吐出量を算出する際に、インク供給条件を考慮して算出しているので、インク吐出量を正確に算出することができ、インク収容器内のインク残量を精度良く監視することが可能となる。
【００１９】
かかる印刷装置では、インク滴当たりの重量に代えてインク滴当たりの体積を、単位インク量として記憶しておくことも好ましい。画像の印刷に際しては、インク供給条件を検出し、次いで所定期間内のインク吐出数を計数する。そして、検出されたインク供給条件を考慮しながら、記憶されたインク滴当たりの体積とインク吐出数とに基づいて、所定期間内に吐出されたインク吐出量を算出し、この値を累積することによって、インク収容器内のインク残量を監視する。こうすれば、インク吐出量の算出に当たって、インク供給条件を考慮して算出するために、正確にインク吐出量を算出することができ、インク残量の監視精度を向上させることが可能となる。
【００２０】
所定期間内のインク吐出量を算出する際には、次のようにしてインク供給条件の影響を考慮することも好適である。予め適切な補正係数をインク供給条件に対応付けて記憶しておき、吐出されるインク量と所定期間内のインク吐出数とを乗算する際に、検出されたインク供給条件に対応付けられている補正係数もあわせて乗算する。こうすれば、インク供給条件の変化により吐出されるインク量が変動することを補正して、所定期間内のインク吐出量を精度良く算出することが可能となる。
【００２１】
所定条件で吐出されるインク量に代えて、各インク供給条件で吐出されるインク滴当たりの重量を、インク供給条件に対応付けて記憶しておくことも好適である。所定期間内のインク吐出量を算出するにあたっては、検出されたインク供給条件に対応するインク量と、計数されたインク吐出数とを乗算してインク吐出量を算出する。このようにしても、インク供給条件の違いによってインク滴の大きさが変動することを考慮して、インク吐出量を精度良く算出することが可能である。
【００２２】
本発明の印刷装置においては、インク供給条件として、インク室に供給されるインク温度を検出することも好適である。インク温度を検出すれば、インクの粘度増加によりインクが供給されにくくなることを考慮して、インク吐出量を算出することが可能であり、インク収容器内のインク残量を精度良く監視することが可能となる。
【００２３】
インク供給条件として、インク滴の吐出に伴って経時的に変化する条件、例えばインク収容器内のインク残量やインク吐出回数の累積回数といった条件を検出することも好適である。このような条件を検出すれば、例えば、インク収容器内のインク残量の影響や、長い間の使用に伴うインクの増粘等の影響により、インク滴の大きさが変動することを考慮してインク吐出量を算出することが可能であり、インク収容器内のインク残量の監視精度を向上させることができる。
【００２４】
また、インク供給条件として、インクの組成に依存する条件を検出することも好ましい。インクの組成に依存する条件とは、インクの溶剤や染料の種類、配合といった条件はもちろんのこと、例えば、インクの製品番号等のインクの種類を表す単純な条件であっても良い。インクの種類が分かればインク組成は自ずから定まる。このようにして、インクの組成に依存する条件を検出し、組成の違いによってインク粘度等のインク供給条件が変化することを考慮してインク吐出量を算出すれば、インク収容器内のインク残量を精度よく監視することが可能となる。
【００２５】
本発明においては、インク供給条件として、インク吐出ヘッドに供給すべきインク量を検出することも好適である。前述したように、吐出されるインク滴の大きさはインク吐出ヘッドに供給するインク供給量の影響を受けるので、該ヘッドに供給すべきインク量を検出し、検出結果を考慮してインク吐出量を算出すれば、インク収容器内のインク残量を精度良く監視することが可能である。
【００２６】
インク吐出ヘッドが印刷媒体との相対位置を変更しながらインク滴を吐出して画像を印刷する印刷装置においては、インク供給条件として、設定されている印刷解像度を検出することも好適である。ここで印刷解像度とは、ヘッドがインク滴を連続して吐出しながら印刷媒体との相対位置を変更した場合に、印刷媒体上に形成されるインクドットの間隔を示す指標をいう。印刷解像度を表す代表的に指標としては、インチ当たりに形成可能なインクドットの数を示すｄｐｉが広く用いられる。例えば印刷解像度７２０ｄｐｉとは、１インチ当たりにインクドット７２０個分の解像度を有することを意味する。これら印刷装置では、求める印刷品質や印刷速度等に応じて印刷解像度を切り替えて使用する場合があり、印刷解像度が高くなれば、単位時間当たりに吐出するインク滴数が多くなり、インクの供給が不足気味となって小さなインク滴が吐出され易い傾向にある。印刷解像度とインク滴の大きさとの関係にはこのような傾向があるので、インク供給条件として印刷解像度を検出すれば、簡便な方法でインク吐出量の算出精度を向上させることができ、インク残量を精度良く監視することが可能となる。
【００２７】
かかる印刷装置においては、インク供給条件として記録モードを検出することも好適である。ここで記録モードとは、１つのラスタを完成するために必要な、ヘッドと印刷媒体との相対移動の回数をいう。ラスタとは、ヘッドがインク滴を吐出しながら印刷媒体との相対移動を行うことで形成されるインクドットの列をいう。印刷装置では、高い印刷品質を必要とする場合に１つのラスタを１回の相対移動で形成せずに、何回かに分けて印刷することがある。１つのラスタを何回かに分けて印刷すれば、１回当たりに吐出するインク滴の数は少なくなるが、逆に１回で印刷しようとすれば短時間当たりに吐出されるインク滴数が多くなるので、小さなインク滴が吐出され易い傾向にある。従って、インク供給条件として記録モードを検出すれば、簡便な方法でインク吐出量の算出精度を向上させることができる。
【００２８】
また本発明においては、インク供給条件として、記録媒体上に形成されるインクドットの配列たるドットパターンを検出することも好ましい。こうすれば、ドットパターンの違いにより吐出されるインク滴の大きさが異なることを考慮してインク吐出量を算出することができるので、インク収容器内のインク残量を精度良く監視することが可能となる。
【００２９】
また、相対駆動周波数をドットパターンとして検出することも好適である。ここで相対駆動周波数とは、各ノズルがインク滴を吐出する時間的な頻度を表す指標であり、具体的には次のように定義される。あるノズルが記録媒体上を移動しながらインク滴を吐出してドットを形成していく様子を想定し、記録媒体上に形成されたあるドットに着目する。その着目ドットの直前にもドットが形成されている状態、すなわち、ドットが連続して形成されている場合に、その着目ドットの相対駆動周波数は１００％であると定義される。また、着目ドットの直前にはドットが形成されていないが、１ドットの間をおいた隣のドットにはドットが形成されている場合は、その着目ドットの相対駆動周波数は５０％であると定義される。同様に、２ドットの間隔をおいてドットが形成されている場合は相対駆動周波数３３％、３ドットの間隔をおいてドットが形成されている場合は２５％と定義される。ノズルから吐出されるインク滴の大きさは、該インク滴が形成するドットの相対駆動周波数の変化によっても変動するので、相対駆動周波数を検出すれば、かかる変動要因を考慮してインク吐出量を算出することが可能となり、インク収容器内のインク残量を精度良く監視することができる。
【００３０】
一度に複数のインクドットを形成可能なインク吐出ヘッドを備えた印刷装置においては、駆動デューティをドットパターンとして検出することも好適である。ここで駆動デューティとは、インク吐出ヘッドが一度に形成可能なインクドットの数と、一度に形成されるインクドットの数と割合を表す指標であり、具体的には次のように定義される。例えば、記録媒体上に４８個のドットを一度に形成可能な場合を想定すると、一度に１２個のドットを形成すれば駆動デューティは２５％、一度に２４個とのドットを形成すれば駆動デューティは５０％であると定義される。ノズルから吐出されるインク滴の大きさは駆動デューティの変化によって変動するため、駆動デューティを検出してかかる変動要因を考慮しながらインク吐出量を算出すれば、インク収容器内のインク残量を精度良く算出することが可能となる。
【００３１】
かかる印刷装置においては、ドットパターンとして次のような条件を検出することも好ましい。すなわち、一度に形成されるインクドットの数が所定量より多い条件（以下、第１の記録条件）であるか、所定量より少ない条件（以下、第２の記録条件）であるかの、いずれであるかを検出することも好ましい。かかる記録条件の違いによっても、インク滴の大きさは変動するため、かかる変動要因を考慮しながらインク吐出量を算出するれば、簡便な方法によって、インク収容器内のインク残量を精度良く算出することが可能となる。
【００３２】
更には、一度に形成可能な複数のインクドットが、所定の関係に基づいて複数のグループにグループ分けされる場合においては、各グループ毎に駆動デューティを検出することも好ましい。
【００３３】
ここで所定の関係に基づいて分けられたグループとは、どのようなグループであるかについて説明しておく。例えば、複数のインク室を備えた印刷装置においては、製造上の都合から、隣接するインク室のいくつかは同じインク供給通路からインクの供給を受けるように構成される場合がある。また、インク室の一側壁を形成する振動板をアクチュエータで振動させてインク滴を吐出させるインク滴吐出方式においては、同じく製造上の都合から、隣接するインク室の振動板の端部をつなげて１枚の板で形成している場合がある。これらの場合に、インク供給通路が共通するインク室のグループや、振動板がつながっているインク室のグループ等が、ここでいう所定の関係の基づいて分けられたグループに相当する。
【００３４】
所定期間内に吐出されるインク吐出数を各グループ毎に計数し、各グループの駆動デューティを考慮しながら、インク吐出数と単位インク滴数当たりのインク量とに基づいてインク吐出量を算出する。こうして各グループ毎に算出すれば、インク吐出量の算出精度を向上させることができ、インク収容器内のインク残量を精度良く監視することが可能となる。
【００３５】
一度に形成可能な複数のインクドットが、所定の関係に基づいて複数のグループにグループ分けされる場合においては、一度に形成されるインクドットの数が所定量より多い条件（以下、第１の記録条件）であるか、所定量より少ない条件（以下、第２の記録条件）であるかを各グループ毎に検出することも好ましい。
【００３６】
所定期間内のインク滴数の計数や、ドットパターンが第１の記録条件であるか第２の記録条件であるかの検出を各グループ毎に行い、検出したドットパターンを考慮しながら、インク吐出数と単位インク滴数当たりのインク量とに基づいてインク吐出量を算出する。こうして、各グループ毎に算出すれば、インク吐出量の算出精度を向上させることができ、インク収容器内のインク残量を精度良く監視することが可能となる。
【００３７】
記録媒体上にインク滴を吐出する機構に、印刷媒体上の反射光強度を検出する光学センサを併設し、実際に形成されているインクドットの配列を、該光学センサを用いて検出することも好ましい。こうすれば、印刷媒体上に実際に形成されるインクドットの配列の違いを考慮してインク吐出量を算出することが可能であり、インク収容器内のインク残量の監視精度を更に向上させることが可能である。
【００３８】
大きさの異なる２種類以上のインク滴を吐出可能なインク吐出ヘッドを備えた印刷装置においては、次のようにすることも好ましい。先ず、形成可能なインクドットの大きさを区別してインク滴当たりの重量を記憶しておく。所定期間内のインク吐出数を計数する際にはインクドットの大きさを区別して計数し、インク吐出量を算出する際にはインクドットの大きさを区別してインク吐出量を算出する。インクドットの大きさを区別する方法に関しては、種々の方法を用いることができる。例えば、インク滴当たりの重量を形成可能なインクドットの大きさ毎に記憶し、所定期間内のインク吐出数の計数やインク吐出量の算出はインクドットの大きさ毎に別々に行う。こうして算出したそれぞれのインク吐出量を合計して、所定期間内のインク吐出量を算出し、該算出したインク吐出量を累積しても良い。こうすれば、大きさの異なる２種類以上のインク滴を吐出可能な印刷装置においても、インク吐出量を正確に算出して、インク収容器内のインク残量を精度良く監視することが可能となる。
【００３９】
また、次のようにすることも好適である。例えば最も小さなインクドットについてのみ、インク滴当たりの重量を記憶しておき、他の大きさのインクドットについては、最も小さなインクドットの何倍に相当するかを記憶しておく。所定期間内のインク吐出数の計数に際しては、記録媒体上に形成されるインクドットの大きさを区別して、最も小さなインクのインクドットに相当するインク吐出数に換算して計数する。こうして計数されたインク吐出数と、最も小さなインクドットが相当するインク量とからインク吐出量を算出してもよい。こうすれば、大きさの異なる２種類以上のインクドットを形成可能な印刷装置においても、インク吐出量の算出精度を向上させ、インク残量を精度良く監視することができる。かかる方法には、前述の方法、すなわちインク吐出量の算出をインクドットの大きさ毎に別々に行ってから各吐出量を加算する方法に比べて、計算が簡便になるという利点がある。
【００４０】
各色のインクを収容可能なインク収容器を備え、該各色のインク滴を吐出することによって、記録媒体上に各色のインクドットを形成可能な印刷装置においては、次のようにして、インク残量を各色毎に監視することも好ましい。所定期間内のインク吐出数を各色インク毎に計数し、該計数した各色毎のインク吐出数とインク滴当たりの重量とから各色毎のインク吐出量を算出する。こうして算出したインク吐出量を各色毎に累積し、該累積値と、各色インク毎の所定のインク収容量とを用いて、インク収容器のインク残量を各色毎に監視する。こうすれば、各色インクによる各色のインクドットを形成可能な印刷装置においても、各色インク毎にインク吐出量を正確に算出して、各色毎にインク収容器内のインク残量を精度良く監視することが可能となる。
【００４１】
本発明の印刷装置においては、インク吐出量の累積値とインク収容器の予め定められたインク収容量との差の値が所定値以下になったときに、例えば警報ランプを点灯させたり、ブザーを鳴らしたり、ＣＲＴ画面上にメッセージを表示する等して警告を発するようにすることも好適である。ここで、「警告を発する」ことには、印刷操作者に対して直接に警告を発することの他に、印刷装置が他の機器（例えば、該印刷装置の制御を行うためのコンピュータ等）に対して警告を発するように促すこと等も含まれる。また、両者の差の値によって、ランプの色を変更したり、ブザーの音を変更する等、警告の方法を変更することも好ましい。こうして警告を発すればインク残量の監視が容易になる。尚、ここでいう「インク吐出量の累積値とインク収容器の予め定められたインク収容量との差が所定値以下になったとき」とは、両者の差が実質的に所定値以下になっていればよく、例えば、前記インク収容量に対するインク吐出量の累積値の比が所定値以上となることを検出することによって、実質的に両者の差が所定値以下になったことを検出するようなものであっても構わない。
【００４２】
更には、インク吐出量の累積値と、インク収容器の所定のインク収容量との大小関係を、アナログ表示あるいはデジタル表示などの、所定の方法で通知することも好適である。例えば、印刷装置に設けられた専用の表示板で通知したり、あるいは印刷装置を制御するために使用されるコンピュータの画面上で通知するようにしても良い。こうすれば、インク残量の監視が更に容易になる。
【００４３】
また、例えば残量インクでＡ４の印刷用紙何枚分の印刷が可能であるかを表示する等、印刷装置に、より適合した方法を用いて警告することも好適である。印刷装置に適した方法で表示すれば、インク残量の監視が容易になるからである。
【００４４】
ヘッド保守動作、すなわちインク滴の吐出状態を保つために強制的にインク滴を吐出する動作を行うような印刷装置においては、インク供給条件として、ヘッド保守動作の種類を検出することも好適である。例えば、ヘッド保守動作としては、インク滴の吐出状況が悪化しないように行う動作もあれば、悪化した吐出状況を回復するために行う動作もあり、更には、軽微の悪化を回復させる動作から、重度の悪化を回復させる動作まで、ヘッド保守動作として種々の動作を備えている場合がある。強制的に吐出するインク滴の大きさは、ヘッド保守動作の種類によって異なる場合があるので、このような動作の種類を検出すれば、ヘッド保守動作中に吐出したインク吐出量を精度良く算出することが可能となり、インク残量の監視精度を向上させることができるので好適である。もちろん、ヘッドの保守動作中であっても、前述してきたように、インク供給条件の検出とインク吐出数の計数とを行い、所定期間中にインク吐出量を累積すれば、インク残量の監視精度が向上することは言うまでもない。
【００４５】
本発明のインク残量監視方法は、インク収容器内のインクを吐出する印刷装置と、該印刷装置を制御するコンピュータとを組み合わせ、インク吐出数を計数する等の所定の処理を該コンピュータで行うことによっても実現しうる。従って本発明には、かかる所定の処理を行うプログラムをコンピュータで読み取り可能に記憶した記録媒体としての態様も含まれている。すなわち、本発明のインク残量監視方法に対応する記録媒体は、
インク滴を吐出するインク吐出ヘッドと該インクを所定量収容可能なインク収容器とを備え、該ヘッドがインク滴を吐出してインクドットを形成することにより印刷媒体上に画像を印刷する印刷装置で用いられ、該インク収容器のインク残量を監視するプログラムをコンピュータで読み取り可能に記録した記録媒体であって、
前記インク吐出ヘッドへのインクの供給に影響を与える条件たるインク供給条件を検出する機能と、
所定期間内に吐出されるインク滴数に対応する値たるインク吐出数を計数する機能と、
該計数されたインク吐出数と、前記インク供給条件の中の所定条件において吐出されるインク滴当たりの重量と、前記検出されたインク供給条件とを用いて、前記所定期間内に吐出されるインク吐出量を算出する機能と、
該算出されたインク吐出量を累積する機能と、
前記インク吐出量の該累積値と前記所定のインク収容量とを用いて、前記インク収容器のインク残量を監視する機能と
を実現するプログラムを記録した記録媒体としての態様である。
【００４６】
かかる記録媒体に記憶されたプログラムがコンピュータに読み込まれ、該コンピュータが、インク滴の吐出条件の検出・インク吐出数の計数・インク吐出量の算出および累積等の処理を行うことにより、インク吐出量を精度良く算出して、インク収容器内のインク残量を精度良く監視することが可能となる。
【００４７】
また、本発明の第２の印刷装置は、前述の課題の少なくとも一部を解決するために、次の構成を採用した。すなわち、
インク滴を吐出するインク吐出ヘッドを該インクを所定量収容可能なインク収容器とを備え、該ヘッドがインク滴を吐出してインクドットを形成することにより印刷媒体上に画像を印刷する印刷装置であって、
前記インク吐出ヘッドへの前記インクの供給に影響を与える条件たるインク供給条件を検出する供給条件検出手段と、
所定期間内に吐出されるインク滴数に対応する値たるインク吐出数を計数するインク吐出数計数手段と、
前記検出されたインク供給条件に基づいて、前記計数されたインク吐出数を補正するインク吐出数補正手段と、
該補正されたインク吐出数を累積した累積値と、前記所定のインク収容量に対応する所定値とを用いて、前記インク収容器のインク残量を監視するインク残量監視手段と
を備えることを要旨とする。
【００４８】
かかる第２の印刷装置においては、画像の印刷に際して、インク供給条件を検出し、次いで所定期間内に吐出されるインク吐出数を計数する。該計数されたインク吐出数を、前記検出されたインク供給条件に基づいて補正し、補正されたインク吐出数を累積する。こうして得られた累積値と、所定のインク収容量に対応して定まる所定値とを比較することにより、インク収容器内のインク残量を精度良く監視することができる。以下に、具体例を用いて説明する。予め、所定条件（基準条件）において、単位インク吐出数当たりのインク重量を計測しておき、インク収容器内のインクが計測したインク重量の何倍に相当するかを求めて、この値をインク収容量に対応して定まる所定値として記憶しておく。すなわちこの所定値は、インク収容量が、基準条件で吐出されるインク吐出数の何倍に相当するかを示す値である。画像の印刷に際しては、先ずインク供給条件を検出してから、所定期間内のインク吐出数を計数する。ここで同じインク吐出数が係数されたとしても、インクの吐出条件が異なれば実際に吐出されるインクの総量は異なっている。そこで、係数したインク吐出数を検出されたインク供給条件に基づき補正して、基準条件でのインク吐出数に変換した後に累積していく。こうして得られた累積値と、予め求めておいた所定値（インク収容器内のインクがインク吐出数の何倍に相当するかを示す値）とを比較することにより、インク収容器内のインク残量を精度良く監視することが可能となる。
【００４９】
【発明の実施の形態】
Ａ．装置の構成
本発明の実施の形態を、実施例に基づいて説明する。図１は、本発明の実施例において使用される印刷装置の構成を示す説明図である。図示するように、この印刷装置は、コンピュータ８０にカラースキャナ２１とカラープリンタ２０とが接続されており、コンピュータ８０に所定のプログラムがロードされ実行されることによって、全体として印刷装置として機能する。印刷しようとするカラー原稿は、コンピュータ８０が認識可能なカラー画像データＯＲＧにカラースキャナ２１で変換された後、コンピュータ８０に入力される。コンピュータ８０は、所定の画像処理を行って、カラー画像データＯＲＧをプリンタで印刷可能な画像データに変換し、カラープリンタ２０に出力する。コンピュータ８０が扱う画像データには、カラースキャナ２１で取り込んだ画像の他に、コンピュータ８０上で各種のアプリケーションプログラム９１により作成した画像や、カラースキャナ２１から取り込んだ画像に加工を加えた画像等も用いられる。これら画像データの変換結果は、プリンタで印刷可能な画像データＦＮＬとして、カラープリンタ２０に出力され、この画像データＦＮＬに従って、カラープリンタ２０は印刷用紙上に各色のインクドットを形成する。この結果、コンピュータ８０から出力されたカラー画像データに対応したカラー画像が、印刷用紙上に得られることになる。
【００５０】
コンピュータ８０は、各種の演算処理を実行するＣＰＵ８１・ＲＯＭ８２・ＲＡＭ８３・入力インターフェース８４・出力インターフェース８５・ＣＲＴコントローラ（ＣＲＴＣ）８６・ディスクコントローラ（ＤＤＣ）８７・シリアル入出力インターフェース（ＳＩＯ）８８等から構成されており、これらはバス８９で接続されて相互にデータのやり取りが可能となっている。ＣＲＴＣ８６はカラー表示可能なＣＲＴ２３への信号出力を制御し、ＤＤＣ８７はフレキシブルディスクドライブ２５やハードディスク２６あるいは図示しないＣＤ−ＲＯＭドライブ等とのデータのやり取りを制御する。ＲＯＭ８２やハードディスク２６には、ＲＡＭ８３にロードされＣＰＵ８１で実行される各種のプログラムや、デバイスドライバの形式で提供される各種のプログラムが記憶されている。また、ＳＩＯ８８をモデム２４を経由して公衆電話回線ＰＮＴに接続すれば、外部のネットワーク上にあるサーバＳＶから必要なデータやプログラムをハードディスク２６にダウンロードすることが可能となる。
【００５１】
コンピュータ８０に電源を投入すると、ＲＯＭ８２およびハードディスク２６に記憶されていたオペレーティングシステムが起動し、オペレーティングシステムの管理の下で、各種アプリケーションプログラム９１が動くようになっている。
【００５２】
カラープリンタ２０は、カラー画像の印刷が可能なプリンタであり、本実施例では、印刷用紙上にシアン・マゼンタ・イエロ・ブラックの合計４色のインクを吐出することによってカラー画像を印刷するインクジェットプリンタを使用している。もちろん、これら４色インクの他に、ライトシアン・ライトマゼンタのインクを加えた合計６色のインクを使用するカラープリンタであっても構わない。本実施例で使用したインクジェットプリンタのインク吐出方式は、後述するようにピエゾ素子ＰＥを用いる方式を採用しているが、他の方式によりインクを吐出するヘッドを備えたプリンタを用いるものとしてもよい。例えば、インク通路に配置したヒータに通電し、インク通路内に発生する泡（バブル）によってインクを吐出する方式のプリンタに適用するものとしてもよい。
【００５３】
また、本実施例のカラープリンタ２０はバリアブルドットプリンタ、すなわち大きさの異なる大・中・小の３種類のドットを、各色毎に形成することが可能なプリンタである。本実施例のカラープリンタ２０は、インクの吐出方法を工夫することによって、単一のインク吐出ノズルを用いて３種類の大きさのドットを形成している。かかるインクの吐出方法については後述する。また、インク吐出方法の説明から明らかな通り、ドットの大きさは３種類に限られるものではなく、大小２種類のドットを形成するものであっても、更には４種類以上のドットを形成するものであっても構わない。
【００５４】
図２は、本印刷装置のソフトウェアの構成を概念的に示すブロック図である。コンピュータ８０においては、すべてのアプリケーションプログラム９１はオペレーティングシステムの下で動作する。オペレーティングシステムには、ビデオドライバ９０やプリンタドライバ９２が組み込まれていて、各アプリケーションプログラム９１から出力される画像データは、これらのドライバからデータ入出力モジュール９７を介して、カラープリンタ２０に出力される。
【００５５】
アプリケーションプログラム９１が印刷命令を発すると、コンピュータ８０のプリンタドライバ９２は、アプリケーションプログラム９１から画像データを受け取って所定の画像処理を行い、プリンタが印刷可能な画像データに変換する。図２に概念的に示すようにプリンタドライバ９２が行う画像処理は、解像度変換モジュール９３と、色変換モジュール９４と、ハーフトーンモジュール９５と，インターレースモジュール９６の大きく４つのモジュールから構成されている。各モジュールで行う画像処理の内容は後述するが、プリンタドライバ９２が受け取った画像データはこれらモジュールで変換された後、データ入出力モジュール９７を介して、最終的な画像データＦＮＬとしてカラープリンタ２０に出力される。
【００５６】
また、本印刷装置ではインク吐出量を正確に見積もることによってインク残量を精度良く監視している。この機能はインク残量監視モジュールが行う機能であり、このインク残量監視モジュールは通常はカラープリンタ内に組み込まれていることが多い。インク残量監視モジュールは、コンピュータ８０内のインターレースモジュール９６と情報をやり取りしながらインク残量を監視していることから、以下では、説明を分かり易くするためにインク残量監視モジュール１００はプリンタドライバ９２内に組み込まれているものとして説明する。もちろん図３に示すように、インク残量監視モジュール１００がカラープリンタ２０に組み込まれていても構わないのは言うまでもない。尚、本実施例のカラープリンタ２０は、画像データＦＮＬに従ってドットを形成する役割を果たすのみであるが、画像処理やインク吐出重量監視等の機能の一部をカラープリンタ２０で行うものであっても良いのはもちろんである。
【００５７】
図４に、本実施例のカラープリンタ２０の概略構成を示す。このカラープリンタ２０は、図示するように、キャリッジ４０に搭載された印字ヘッド４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ４０をキャリッジモータ３０によってプラテン３６の軸方向に往復動させる機構と、紙送りモータ３５によって印刷用紙Ｐを搬送する機構と、制御回路６０とから構成されている。キャリッジ４０をプラテン３６の軸方向に往復動させる機構は、プラテン３６の軸と並行に架設されたキャリッジ４０を摺動可能に保持する摺動軸３３と、キャリッジモータ３０との間に無端の駆動ベルト３１を張設するプーリ３２と、キャリッジ４０の原点位置を検出する位置検出センサ３４等から構成されている。印刷用紙Ｐを搬送する機構は、プラテン３６と、プラテン３６を回転させる紙送りモータ３５と、図示しない給紙補助ローラと、紙送りモータ３５の回転をプラテン３６および給紙補助ローラに伝えるギヤトレイン（図示省略）とから構成されている。制御回路６０は、プリンタの操作パネル５９と信号をやり取りしつつ、紙送りモータ３５やキャリッジモータ３０、印字ヘッド４１の動きを適切に制御し、更に、プリンタのインク残量表示パネル５８の表示も制御している。カラープリンタ２０に供給された印刷用紙Ｐは、プラテン３６と給紙補助ローラの間に挟み込まれるようにセットされ、プラテン３６の回転角度に応じて所定量だけ送られる。
【００５８】
キャリッジ４０には黒（Ｋ）インクを収納するインクカートリッジ４２と、シアン（Ｃ）・マゼンタ（Ｍ）イエロ（Ｙ）のインクを収納するインクカートリッジ４３と、インクカートリッジ４２・４３の装着状況を検知する接点スイッチ（図示省略）と、印字ヘッド４１の温度を計測する温度センサ３７とが装着されている。インクカートリッジ４２（図５参照）あるいはインクカートリッジ４３（図示省略）には、図５に示すような突起部５５が設けられていて、インクカートリッジ４２あるいは４３がキャリッジ４０に装着されていれば、キャリッジの接点スイッチが突起部５５に押されて接点が閉じるように構成されている。このため、インクカートリッジ４２・４３のどちらかを脱着すると対応する側の接点が開いて、インクカートリッジが交換されたことを検知することができる。また、インクカートリッジ４２・４３には、図５に示すように、識別ラベル５６が添付されていて、インクカートリッジの製品型式・製造番号・インク収容容量等の各種情報がバーコードにより表示されている。
【００５９】
キャリッジ４０の下部にある印字ヘッド４１には、Ｋ・Ｃ・Ｍ・Ｙの各インクに対して、インク吐出用ヘッド４４・４５・４６・４７がそれぞれ形成されている。キャリッジ４０の底部には図示しない導入管が各インク毎に立設されており、キャリッジ４０にインクカートリッジを装着すると、カートリッジ内の各インクは導入管を通じて、それぞれのインク吐出用ヘッド４４ないし４７に供給される。各ヘッドに供給されたインクは、後述する方法によって印字ヘッド４１から吐出され、印刷用紙上にドットを形成する。
【００６０】
図６（ａ）は各色ヘッドの内部構造を示した説明図である。各色のインク吐出用ヘッド４４ないし４７には、各色毎に４８個のノズルＮｚが設けられていて、各ノズルには、インク通路５０とその通路上にピエゾ素子ＰＥが設けられている。ピエゾ素子ＰＥは周知のように、電圧の印加により結晶構造が歪み、極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥの両端に設けられた電極間に所定時間幅の電圧を印可することにより、図６（ｂ）に示すようにピエゾ素子ＰＥが電圧の印加時間だけ伸張し、インク通路５０の一側壁を変形させる。この結果、インク通路５０の体積はピエゾ素子ＰＥの伸張に応じて伸縮し、この収縮分に相当するインクが粒子ＩｐとなってノズルＮｚから高速で吐出される。このインクＩｐがプラテン３６に装着された印刷用紙Ｐに染み込むことにより、印刷用紙Ｐの上にドットが形成される。
【００６１】
図７は、インク吐出用ヘッド４４ないし４７におけるインクジェットノズルＮｚの配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、各色毎のインクを吐出する４組のノズルアレイが形成されており、１組のノズルアレイ当たり４８個のノズルＮｚが一定のノズルピッチｋで千鳥状に配列されている。尚、各ノズルアレイに含まれる４８個のノズルＮｚは千鳥状に配列されている必要はなく、一直線上に配列されていてもよい。ただし、図７（ａ）に示すように千鳥状に配列すれば、製造上、ノズルピッチｋを小さく設定し易いという利点がある。
【００６２】
図７に示すように、各色のインク吐出用ヘッド４４ないし４７は、キャリッジ４０の搬送方向にヘッドの位置がずれている。また、各色ヘッド毎のノズルに関しても、ノズルが千鳥状に配置されている関係上、キャリッジ４０の搬送方向に位置がずれている。カラープリンタ２０の制御回路６０は、キャリッジ４０を搬送しながらノズルを駆動する際に、ノズルの位置の違いによるヘッド駆動タイミングの違いを考慮しながら、適したタイミングでそれぞれのヘッドを駆動している。
【００６３】
本実施例のカラープリンタ２０は、図７に示したように一定径のノズルＮｚを備えているが、かかるノズルＮｚを用いて互いに大きさの異なる３種類のドットを形成することができる。以下にこの原理について説明する。図８は、インクが吐出される際のノズルＮｚの駆動波形と吐出されるインクＩｐとの関係を示した説明図である。図８において破線で示した駆動波形が通常のドットを吐出する際の波形である。区間ｄ２において一旦、基準電圧よりも低い電圧をピエゾ素子ＰＥに印加すると、先に図６で説明したのとは逆にインク通路５０の断面積を増大する方向にピエゾ素子ＰＥが変形する。ノズルへのインクの供給速度には限界があるため、インク通路５０の拡大に対してインクの供給量が不足し、図８の状態Ａに示した通り、インク界面ＭｅはノズルＮｚの内側にへこんだ状態となる。また、図８の実線で示す駆動波形を用いて区間ｄ１に示すように電圧を急激に低くすると、インクの供給量が更に不足して、状態ａで示すように状態Ａに比べて大きく内側にへこんだ状態となる。
【００６４】
次に、ピエゾ素子ＰＥに高い電圧を印加すると（区間ｄ３）、インク通路５０の断面積の減少により通路内のインクが圧縮され、インク滴がインクノズルから吐出される。このとき、インク供給量が不足していると吐出されるインク滴も小さくなる。従って、インク界面があまり内側にへこんでいない状態（状態Ａ）からは、状態Ｂおよび状態Ｃに示すごとく大きなインク滴が吐出され、インク界面が大きくへこんだ状態（状態ａ）からは状態ｂおよび状態ｃに示すごとく小さなインク滴が吐出される。このように、駆動電圧を低くする際（区間ｄ１，ｄ２）の変化率を変えれば、形成されるドットの大きさを変化させることができる。
【００６５】
カラープリンタ２０は、２種類の駆動波形を連続的に出力する。この様子を図９に示した。電圧を低くする際の変化率を比べれば、駆動波形Ｗ１とＷ２は、それぞれ小さなインク滴Ｉｐｓと大きなインク滴Ｉｐｍとに対応していることが分かる。キャリッジ４０が主走査方向に移動しながら、駆動波形Ｗ１を出力し、次いで駆動波形Ｗ２を出力する場合を考える。駆動波形Ｗ１により吐出される小さなインク滴Ｉｐｓは飛翔速度が比較的小さく、駆動波形Ｗ２により吐出される大きなインク滴Ｉｐｍは飛翔速度が大きいので、吐出されてから印刷用紙に到着するまでの所要時間は、小さなインク滴Ｉｐｓの方が長くなる。当然、インクの吐出位置から印刷用紙に到着した位置の主走査方向へ移動距離も、小さなインク滴Ｉｐｓの方が大きなインク滴Ｉｐｍより長くなる。従って、駆動波形Ｗ１と駆動波形Ｗ２のタイミングを調節すれば、図９に示すように、小さなインク滴Ｉｐｓと大きなインク滴Ｉｐｍとを同一画素に吐出することが可能となる。
【００６６】
本実施例のカラープリンタ２０では、駆動波形Ｗ１のみをピエゾ素子ＰＥに供給することによって小さなドットを、駆動波形Ｗ２のみをピエゾ素子ＰＥに供給することによって中ドットを、駆動波形Ｗ１とＷ２をともに供給し、２つのインク滴を同一画素に吐出することによって大ドットを形成している。もちろん、駆動波形の種類を増やすことによって、更に多種類の大きさのドットを形成することも可能である。
【００６７】
図１０は、カラープリンタ２０の制御回路６０の内部構成を示す説明図である。図示するように、制御回路６０の内部には、ＣＰＵ６１・ＰＲＯＭ６２・ＲＡＭ６３・コンピュータ８０とのデータのやり取りを行うＰＣインターフェース６４・周辺機器とのデータのやり取りを行う周辺機器入出力部（ＰＩＯ）６５・タイマ６６・駆動バッファ６７等が設けられている。紙送りモータ３５や、キャリッジモータ３０，インク残量表示パネル５８、インクカートリッジの装着状況を検知する接点スイッチ７１・７２等は、ＰＩＯ６５を介してデータの受け渡しを行う。駆動バッファ６７は、インク吐出用ヘッド４４ないし４７にドットのオン・オフ信号を供給するバッファとして使用される。これらは互いにバス６８で接続され、相互にデータにやり取りが可能となっている。また、制御回路６０には、所定周波数で駆動波形を出力する発振器７０、および発振器７０からの出力をインク吐出用ヘッド４４ないし４７に所定のタイミングで分配する分配出力器６９も設けられている。
【００６８】
図１０に示す構成を有する制御回路６０は、コンピュータ８０から画像データＦＮＬを受け取ると、ドットのオン・オフ信号を一時ＲＡＭ６３に蓄える。ＣＰＵ６１は、紙送りモータ３５やキャリッジモータ３０の動きと同期を採りながら、所定のタイミングでドットデータを駆動バッファ６７に出力する。
【００６９】
次に、ＣＰＵ６１が駆動バッファ６７にドットのオン・オフ信号を出力することによって、ドットが吐出されるメカニズムについて説明する。図１１は、インク吐出用ヘッド４４ないし４７の１つのノズル列を例にとって、その接続を示す説明図である。インク吐出用ヘッド４４ないし４７のノズル列は、駆動バッファ６７をソース側とし、分配出力器６９をシンク側とする回路に介装されており、ノズル列を構成する各ピエゾ素子ＰＥは、その電極の一方が駆動バッファ６７の各出力端子に、他方が一括して分配出力器６９の出力端子に、それぞれ接続されている。分配出力器６９からは、図１１に示す通り、発振器７０の駆動波形が出力されている。ＣＰＵ６１が駆動バッファ６７に、各ノズル毎のドットのオン・オフ信号を出力すると、オン信号を受け取ったピエゾ素子ＰＥだけが駆動波形によって駆動される。この結果、駆動バッファ６７からオン信号を受け取っていたピエゾ素子ＰＥのノズルから一斉にインク粒子Ｉｐが吐出される。
【００７０】
以上のようなハードウェア構成を有するカラープリンタ２０は、キャリッジモータ３０を駆動することによって、各色のインク吐出用ヘッド４４ないし４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路６０の制御の下、キャリッジ４０の主走査および副走査を繰り返しながら、適切なタイミングで印字ヘッド４１を駆動することによって、カラープリンタ２０は印刷用紙上にカラー画像を印刷している。
【００７１】
Ｂ．画像処理の概要
上述のように、カラープリンタ２０は、画像データＦＮＬの供給を受けてカラー画像を印刷する機能を有するが、画像データＦＮＬは、コンピュータ８０がカラー画像に所定の画像処理を行って生成する。図１２はコンピュータ８０のプリンタドライバ９２内で、ＣＰＵ８１が行う画像処理の概要を示すフローチャートである。以下、同図に従って、画像処理の概要を説明する。
【００７２】
画像処理を開始するとＣＰＵ８１は、画像データを入力する（ステップＳ１００）。この画像データは図２で説明したようにアプリケーションプログラム９１から供給されるデータであり、画像を構成する各画素毎にＲ・Ｇ・Ｂそれぞれの色について、０〜２５５の値の２５６階調を有するデータである。この画像データの解像度は、原画像のデータＯＲＧの解像度等に応じて変化する。
【００７３】
ＣＰＵ８１は、入力された画像データの解像度をカラープリンタ２０が印刷するための解像度に変換する（ステップＳ１０２）。画像データの解像度が印刷解像度よりも低い場合には、線形補間により隣接する原画像データの間に新たなデータを生成することで解像度変換を行う。逆に画像データの解像度が印刷解像度よりも高い場合には、一定の割合でデータを間引くことにより解像度変換を行う。
【００７４】
次に、ＣＰＵ８１は色変換処理を行う（ステップＳ１０４）。色変換処理とはＲ・Ｇ・Ｂの階調値からなる画像データをカラープリンタ２０で使用するＣ・Ｍ・Ｙ等の各色の階調値のデータに変換する処理である。この処理は、色変換テーブルＬＵＴを用いて行われており（図２参照）、ＬＵＴにはＲ・Ｇ・Ｂのそれぞれの組合せからなる色をカラープリンタ２０で表現するためのＣ・Ｍ・Ｙ・Ｋの組合せが記憶されている。色変換テーブルを用いて色変換を行う処理自体については、公知の種々の技術が適用可能であり、例えば補間演算による処理が適用できる。
【００７５】
色変換処理を終了すると多値化処理を開始する（ステップＳ１０６）。本実施例においては、色変換後の画像データはＣ・Ｍ・Ｙ・Ｋの４色の２５６階調画像となっている。一方、本実施例のカラープリンタ２０では、「ドットを形成しない」、「小ドットを形成する」、「中ドットを形成する」、「大ドットを形成する」の合計４つの状態しか採り得ない。従って、２５６階調を有する画像を、カラープリンタ２０が表現できる４階調で表現された画像に変換する必要がある。すなわち、記録媒体上で大・中・小の各ドットの形成され易さを、原画像の階調値に応じて変化させることによって、原画像の２５６階調をカラープリンタ２０が表現可能な４階調値で表現するのである。尚、このような変換を行う処理を階調数変換処理と呼び、特に、変換される階調数が２値であるような処理を２値化処理と、それより多い階調数へ変換する処理を多値化処理と呼ぶ。
【００７６】
ＣＰＵ８１は多値化処理を終了すると、インターレース処理を開始する（ステップＳ１０８）。この処理は、多値化処理によってドットの形成有無を表す形式に変換された画像データを、カラープリンタ２０に転送すべき順序に並べ替える処理である。すなわち、前述のようにカラープリンタ２０は、キャリッジ４０の主走査と副走査を繰り返しながら、印字ヘッド４１を駆動して印刷用紙Ｐの上にドット列（ラスタ）を形成していく。図６を用いて説明したように、各色毎のインク吐出用ヘッド４４ないし４７には、複数のノズルＮｚが設けられているので、１回の主走査で複数本のラスタを形成することができる。それらラスタは互いにノズルピッチｋだけ離れている。その結果、画素間隔で並ぶラスタを形成するには、まず、ノズルピッチｋだけ離れた複数のラスタを形成し、次にヘッド位置を少しずらして、ラスタの間に新たなラスタを形成していくといった制御が必要となる。
【００７７】
また、印刷画質を向上させるために、１本のラスタを複数回の主走査に分けて形成したり、更には印刷時間を短縮するために、主走査の往動時と復動時のそれぞれでドットを形成するといった制御も行われる。これらの制御を行うと、カラープリンタ２０が実際にドットを形成する順序は、画像データ上で画素の順序と異なった順序となるので、インターレース処理において画像データの並べ替えを行うのである。
【００７８】
インターレース処理が終了すると、画像データはプリンタが印刷可能な画像データＦＮＬとして、カラープリンタ２０に出力される（ステップＳ１１０）。
【００７９】
Ｃ．インク残量の監視方法
コンピュータ８０から出力された画像データＦＮＬに従ってカラープリンタ２０がインク滴を吐出すれば、記録媒体上に所望の画像を印刷することができる。吐出するインク滴の形成にはインクカートリッジ４２・４３に収容されているインクが使用される。カートリッジ内のインクを使い切ってしまえば、それ以上印刷することができないので、インクカートリッジを交換してインクを補充しなければならない。インクカートリッジを早め早めに交換すれば、画像の印刷中にインク切れから印刷不能となるおそれはないが、交換時にカートリッジ内に残っているインクが無駄となる。本実施例の印刷装置は、インク残量を精度良く監視することができるので、カートリッジ内に残存するインクの無駄を最小限に抑制しながら、印刷中のインク切れを回避することが可能である。以下に、本実施例の印刷装置で用いられているインク残量の監視方法について説明する。
【００８０】
（１）ソフトウェア構成
図２の説明においても触れたが、インク残量監視モジュール１００はインターレースモジュール９６と情報のやり取りを行いつつインク残量の監視を行う。このことに鑑みて説明を分かり易くするために、本実施例の印刷装置ではインク残量監視モジュール１００はプリンタドライバ９２の中に組み込まれているものとして説明している。もちろん、カラープリンタ２０にインク残量監視モジュール１００を内蔵し、コンピュータ８０内のプリンタドライバ９２と情報のやり取りを行いながら、インク残量の監視を行うものであっても良いことは言うまでもない。
【００８１】
図１３は、インク残量監視モジュール１００を中心とした各モジュールの関連を示す説明図である。図示するように、インク残量監視モジュール１００は、インターレースモジュール９６あるいはデータ入出力モジュール９７とデータをやり取りして、インク供給条件の検出あるいはインク滴数の計数などを行い、インク残量の監視結果はデータ入出力モジュール９７を介して出力する。
【００８２】
インク残量監視モジュール１００の内部構成は、大きくは４つのモジュール、すなわちインクの供給条件検出モジュール１０１と、インク滴数計数モジュール１０２と、インク吐出量算出モジュール１０３と、インク吐出量累積・監視モジュール１０４から構成されている。
【００８３】
供給条件検出モジュール１０１は、インク温度やカートリッジ内のインク残量あるいは記録媒体上のインクドットのドットパターン等、インクの供給に関わるインク供給条件を検出するモジュールである。本実施例の印刷装置は、後述するインク吐出重量の算出に際して、インク供給条件を検出し、これを考慮することによってインク吐出重量の算出精度を向上させている。
【００８４】
インク滴数計数モジュール１０２は、インク吐出用ヘッド４４ないし４７が所定期間内に吐出するインク滴の数を、各色毎に計数するモジュールである。インク滴数の計数に際しては、同じくプリンタドライバ９２を構成するインターレースモジュール９６（図２参照）のドットデータを利用する。また、インク滴数を計数する所定の期間は、必要に応じて種々の期間に設定することができるが、本実施例の印刷装置では、キャリッジ４０が主走査を１回行う期間に設定されている。
【００８５】
インク吐出量算出モジュール１０３は、インク滴数計数モジュール１０２で計数されたインク滴数とインク滴１滴当たりのインク重量（以下では、インク滴重量と呼ぶ）とを乗算することにより、吐出されたインク重量を算出するモジュールである。つまり、このモジュールでは、所定期間（本実施例の印刷装置では主走査１回毎）に吐出されるインク重量を各色毎に算出していることになる。但し、本実施例の印刷装置では、インク吐出重量を算出する際に、供給条件検出モジュール１０１が検出したインク供給条件を考慮することによって、インク吐出重量の算出精度を向上させている。尚、インク滴重量は、インク吐出量算出モジュール１０３内の定数として、予め実測値がメモリに書き込まれている。
【００８６】
インク吐出量累積・監視モジュール１０４は、インク吐出量算出モジュール１０３が算出したインク吐出重量を累積して、累積した値とインクカートリッジのインク収容量とを比較して、インク残量を分かり易く表示する。また、インク残量が少なくなった場合にはインクカートリッジの交換を促す警報を発する。これらの表示あるいは警報は、データ入出力モジュール９７を介して行われる。インクカートリッジのインク収容量は、インク吐出量累積・監視モジュール１０４内の定数として、予めメモリに書き込まれている。もちろん、コンピュータ８０のＣＲＴ画面上で設定した値を用いたり、また、インクカートリッジに付された識別ラベル５６を認識し（図５参照）、あるいはインクカートリッジ内部に電気的に記録されたデータを読み出すことによってカートリッジを識別し、予め設定しておいた値の中から適切な値を認識結果に応じて自動的に選択するようにしても良い。インクカートリッジが交換されて、前述の接点スイッチ７１あるいは７２（図１０参照）の接点が開くと、インク吐出量累積・監視モジュール１０４はデータ入出力モジュール９７を介してこれを検知し、インク吐出重量の累積値をリセットして、新たにインク吐出重量を累積していく。
【００８７】
（２）インク残量監視処理の内容
図１４は、本実施例の印刷装置がインク残量を監視する処理の流れを示すフローチャートである。図１３を用いて説明したように、インク残量監視モジュール１００はプリンタドライバ９２の一部を構成しており、各種アプリケーションプログラム９１がプリンタドライバ９２を起動させると同時に、図１４に示したインク残量監視ルーチンが起動して待機状態となり、以降、画像処理ルーチンがインク残量監視ルーチンに対して適宜割り込みを発生させると、以下の処理が実行される。尚、本実施例ではインク残量監視モジュール１００はプリンタドライバ９２に組み込まれているものとして説明しており、図１４の処理はコンピュータ８０内のＣＰＵ８１が行う。前述したように、インク残量監視モジュール１００がカラープリンタ２０に組み込まれている場合は、以下の処理はカラープリンタ２０内の制御用ＣＰＵ６１が実施することになる。以下、図１４にフローチャートに従って、インク残量監視処理の内容を説明する。
【００８８】
（ａ）インク吐出量累積値読込・インク残量表示（ステップＳ２００）
インク残量監視ルーチンが起動すると、ＣＰＵ８１はＲＡＭ８３に記憶されているインク吐出重量の累積値を読み出す（ステップＳ２００）。インク残量監視ルーチンが処理を終了する場合には、次回ルーチンを起動するときのためにインク吐出量の累積値を不揮発メモリに書き込んでおくので、ルーチンが起動されたら先ず初めにこの累積値を読み出すのである。本実施例のカラープリンタ２０は、Ｃ（シアン）・Ｍ（マゼンタ）・Ｙ（イエロ）・Ｋ（黒）の４色のインクを使用することに対応して、インク吐出重量の累積値も各色インク毎に記憶されている。
【００８９】
インク吐出量累積値を読み込んだ後、読み込んだ値とインクカートリッジのインク収容量とを比較することによりカートリッジ内のインク残量を求めて、カラープリンタ２０のインク残量表示パネル５８に表示する。図１５は、インク残量表示パネル５８がインク残量を表示する方法を示す説明図である。図示するように、本実施例の印刷装置では、インク残量はインク収容量に対する比率で表示され、対応するＬＥＤ（発光ダイオード）が緑色に点灯してインク残量が分かるようになっている。また、インク収容量からインク吐出量の累積値を引いた値が所定値以下になると、対応するＬＥＤ（図中のＡ）の色が緑色から赤色に変化して、インクカートリッジの交換を促すようになっている。
【００９０】
（ｂ）インク供給条件検出（ステップＳ２０２）
インク吐出量累積値の読込を行った後、ＣＰＵ８１はインク供給条件を検出する（ステップＳ２０２）。本実施例の印刷装置はインク室へのインクの供給に関わる条件として、インク温度と、インク種類と、インクカートリッジ内のインク残量と、インクドットのドットパターンとを検出するが、ステップＳ２０２ではこの中のドットパターンを除く条件を検出する。インク温度は印字ヘッド４１に設置した温度センサ３７を用いて検出し、インク種類はコンピュータ８０のＣＲＴ画面上に表示した中からユーザが選択する。インクカートリッジ内のインク残量は、インクカートリッジのインク収容量からインク吐出量の累積値を減算することにより算出する。
【００９１】
尚、本実施例の印刷装置では、プリンタドライバ９２が起動される度に一度だけインク供給条件を検出している。これは、インク供給条件は緩慢にしか変化しないと考えられることから、条件の検出をプリンタドライバ９２の起動時にのみ行うことにして、制御の簡略化を図っているためである。もちろん、一定時間毎に割り込みを発生させて種々のインク供給条件を検出したり、また、印刷ページが変わる度に検出する等しても構わない。こうすれば、長時間の印刷中にインク温度が変化する等しても、インク供給条件の変化を検出して、インク使用量の算出精度を更に向上させることができる。
【００９２】
（ｃ）所定期間内のインク滴数計数（ステップＳ２０４）
ＣＰＵ８１は、インク供給条件の検出が終わると、所定期間内に吐出されるインク滴数を各色インク毎に計数する（ステップＳ２０４）。本実施例の印刷装置では、キャリッジ４０が主走査を１回行う間に吐出するインク滴数を計数する。カラープリンタ２０は大・中・小の３種類のインクドットを形成しており、ＣＰＵ８１は、インクドットの大きさを区別して計数している。
【００９３】
インク滴数の計数は、前述したインターレースモジュール９６（図２、図１２を参照）のドットデータを利用して行う。すなわち、前述したように、画像データは、ハーフトーンモジュール９５で大・中・小の３種類のドットの有無による表現形式に変換され、続くインターレースモジュール９６で各色毎のインク吐出ヘッドがドットを形成する順序に応じて並べ替えられて、ドットデータとしてＲＡＭ８３上に展開される。そこで、インク滴数計数処理においては、インターレースモジュール９６がＲＡＭ８３上に展開したドットデータを読み出して計数するのである。もちろん、インク残量監視モジュール１００がカラープリンタ２０に内蔵されている場合には、コンピュータ８０のデータ入出力モジュール９７（図２参照）から画像データＦＮＬとして出力されるドットデータを、カラープリンタ２０内のＣＰＵ６１が計数しても良い。
【００９４】
（ｄ）インク吐出量算出（ステップＳ２０６）
所定期間内のインク滴数を計数すると、ＣＰＵ８１は、計数値にインク滴重量（インク滴１滴当たりのインク重量）を乗算してインク吐出重量を算出する（ステップＳ２０６）。インクの供給に関わるインク供給条件が異なると、吐出されるインク滴重量も異なってくるので、ステップＳ２０６の処理においては、予めステップＳ２０２で検出されたインク供給条件を反映させることにより、インク吐出重量の算出精度を向上させている。
【００９５】
尚、本実施例ではインク滴数当たりの重量を予め記憶しておき、該記憶しておいた重量と計数されたインク吐出数とを乗算してインク吐出重量を算出している。もちろん、インク滴数当たりの体積を記憶しておき、インク吐出数とインクの体積とを乗算することでインク吐出体積を算出することも可能である。
【００９６】
具体的には、本実施例の印刷装置は、次式のように、インク供給条件によって定まる補正係数を乗算してインク吐出重量を算出している。
（インク吐出重量）＝（インク滴計数値）×（インク滴重量）×（補正係数）
ここに（補正係数）＝Ｋｔ×Ｋｚ×Ｋｄ、で与えられる。また、Ｋｔはインク温度による補正係数、Ｋｚはインク残量による補正係数、Ｋｄは記録媒体上に形成されるインクドットのドットパターンによる補正係数である。これら各種の補正係数はインクの種類によって異なっており、プリンタドライバ９２に対して使用インクを設定すると、使用インクに対応した値が自動的に選択されて使用される。インク滴重量の値は、予め所定の条件（基準条件）で、大・中・小の３種類のドット毎に計測した値をメモリに格納しておき、これらの値を使用する。尚、各種補正係数の設定方法については、後ほど詳述する。
【００９７】
本実施例の印刷装置では、温度補正係数Ｋｔあるいはインク残量補正係数Ｋｚは、それぞれインク温度あるいはインク残量に対するマップデータとして、ＲＡＭ８３上に記憶されており、種々の条件を検出する度に（ステップＳ２０２）、検出された値に応じた補正係数に更新される。図１６（ａ）、（ｂ）はそれぞれＲＡＭ８３上にマップデータとして記憶されている温度補正係数Ｋｔ、あるいはインク残量補正係数Ｋｚの一例を示したものである。インク温度あるいはインク残量によってインク滴の重量が変動するので、図１６（ａ）、（ｂ）に示すような補正係数を用いてこれを補正するのである。尚、インク温度が高くなればインクの粘度が低くなるために、インク滴重量は増加するものと予想される。ところが、図１６（ａ）に示すように、本実施例の温度補正係数Ｋｔは、インク温度が高くなるとインク滴重量が減少するような設定となっている。この理由については後述する。
【００９８】
ドットパターン補正係数Ｋｄは、次のようにして選択される。すなわち、インターレースモジュール９６がＲＡＭ８３上に展開したドットデータに基づいて、ドットパターンが「ベタ印字パターン」か「キャラクタ印字パターン」かを判断する。「ベタ印字パターン」とは、主に自然画像を印刷するときに現れるドット配列であり、ほとんど全てのノズルから同時にインク滴を吐出して形成されるようなドット配列である。「キャラクタ印字パターン」とは、テキスト画像を印刷するときに現れるドット配列であり、全てのノズルから同時にはインク滴を吐出することなく形成されたドット配列である。ＣＰＵ８１は、ＲＡＭ８３に展開された主走査１回分のドットデータを解析し、どちらのドットパターンであるかを判断して、対応する補正係数を選択するのである。
【００９９】
もちろん、上記２種類のドットパターンに限らず更に多種類のドットパターンを選定しておき、対応するドットパターン補正係数を使用してインク吐出重量を算出しても構わない。更には、ＲＡＭ８３上のドットデータを詳細に解析し、解析結果に基づいてドットパターン補正係数を算出して、インク吐出重量の算出精度を更に向上させることも可能である。かかる補正係数の算出方法については、別に項を立てて後ほど詳述する。
【０１００】
（ｅ）インク吐出量累積・インク残量表示等（ステップＳ２０８〜Ｓ２１２）
所定期間内のインク吐出重量を算出すると、ＣＰＵ８１は得られた値を、前回算出したインク吐出重量に加算する。つまり、インク吐出重量を主走査毎に算出し、算出した値を累積して、吐出したインクの総量を各色毎に算出するのである。こうして得られたインク吐出量累積値に基づいて、インク残量表示を更新し、必要があれば前述の警報ランプを点灯させる（図１５参照）。
【０１０１】
以上の処理が終わると、印刷が終了したか否かを判断し（ステップＳ２１０）、印刷が終了していなければ再びステップＳ２０４に戻って、続く一連の処理を繰り返す。印刷が終了していれば、次回印刷時に読み出せるように、インク吐出量累積値を不揮発メモりに格納する（ステップＳ２１２）。こうすれば、印刷装置の電源を切断しても、インク吐出量を累積してインクカートリッジ内のインク残量を監視することができる。
【０１０２】
尚、以上の説明では、インク吐出量を表す値としてインク重量を用いているが、インク体積を用いても構わないことはもちろんである。
【０１０３】
ここで、図１６（ａ）に示したように、本実施例の温度補正計数Ｋｔの設定によれば、インク温度が高くなるほどインク滴重量が少なっている理由について説明する。
【０１０４】
図１６（ｃ）は、インク温度の違いによって、吐出されるインク滴重量が異なる様子を示した説明図である。図１６（ｃ）の横軸に採った相対駆動周波数は、各種ドットパターンを表す１つの指標であり、相対駆動周波数が高くなるほど単位時間当たりのインク吐出回数は多くなる。相対駆動周波数の内容については後ほど詳述する。インク温度２５℃はカラープリンタのもっとも一般的な使用温度であるため、カラープリンタ２０はインク温度２５℃でドットパターンによらず一定のインク滴重量となるように設計される。インク温度が低くなりインク粘度が高くなると、インクが流れ難くなるのでインク滴重量は減少する。相対駆動周波数が高くなるほどインクの供給が間に合わなくなるので、インク滴重量が減少する。従ってインク温度が低い場合（図１６（ｃ）の１０℃の条件）に吐出されるインク滴重量は、相対駆動周波数が低い領域ではインク温度２５℃の場合より少なく、相対駆動周波数が高くなるほど更に少なくなる傾向となる。
【０１０５】
逆にインク温度が高くなると、インク粘度が低くなりインクが流れやすくなるのでインク滴重量が増加する。このため、相対駆動周波数が低い領域ではインク温度２５℃の場合より多くなる。更に相対駆動周波数を高くしていくと、吐出されるインク滴重量は更に多くなっていく。これは、次のようなメカニズムによるものである。インク滴の吐出の際にはインク室内の圧力は一旦上昇し、インク滴の吐出が終わるとインク室の圧力が下降して、圧力下降に従ってインク室にインクが流れ込む。このように、インク滴を吐出する際には、インク室内圧力は増減をくり返し、それに伴ってノズル付近でのインク界面の微小な振動や、インク供給通路内でインクが出入りするような微小な流動が発生する。また、インク室の側壁が振動板で構成されていて、振動板がたわむことによってインク室圧力を上昇させるような構造では、インク滴の吐出に伴い振動板の微小な振動も発生する。インクの粘性はこれら振動や流動等を減衰させる作用を持っており、通常のインク温度では、これら微小な振動はすぐに消滅してしまう。ところが、インク温度が４０℃になるとインクの粘性が小さくなるので、振動がなかなか減衰せず、次のインク滴吐出のタイミングまで残存するようになる。次回インクを吐出するタイミングが、残存している振動の位相に一致すると、ノズルからは大きなインク滴が吐出される。この実施例では、相対駆動周波数１００％で印刷すると、インク滴の吐出タイミングが残存する振動の位相とちょうど一致して大きなインク滴が吐出される条件となっている。
【０１０６】
ところが図１６（ｃ）に示したようなインク滴重量の特性では、ベタ印刷が不完全となる問題があるので、実際にはカラープリンタ２０では、ピエゾ素子ＰＥに印加する駆動波形をインク温度に応じて変化させ、インク滴重量の補正を行っている。ベタ印刷が不完全になるとはベタが塗りつぶされていない状態で、いわゆるバンディングが発生し、場合によっては印刷用紙の地色がそのまま残って白筋を生じさせる。ベタ印刷は印刷用紙の全面にインクドットが形成されるため、相対駆動周波数１００％の条件で印刷される。このときに吐出されるインク滴重量があまりに少ないとインクドットの大きさが小さくなり、印刷用紙の地色がそのまま残って白筋が発生する。逆にインク滴重量が多くインクドットが大きくなると、インクドットが重なって形成された部分で色の濃い部分が発生しバンディングの問題が生じる。このため、ベタ印刷の品質を安定させるために、相対駆動周波数１００％でのインク滴重量が一定となるように、ピエゾ素子ＰＥに印加する駆動波形を補正するのである。
【０１０７】
以上の理由により、インク温度に応じて駆動波形を切り替えた結果、カラープリンタ２０のインク滴重量の特性は図１６（ｄ）に示すようなものとなっている。すなわち相対駆動周波数１００％でのインク滴重量を安定させるため、ピエゾ素子ＰＥに印加される駆動波形は、インク温度１０℃では全体的に大きめのインク滴が吐出されるような駆動波形とし、インク温度４０℃では全体的に小さめのインク滴が吐出されるような駆動波形に切り替えられる。その結果、図１６（ｃ）に示すインク温度１０℃の特性が上側に平行移動し、図１６（ｃ）のインク温度４０℃の特性が下側に平行移動して、図１６（ｄ）に示すような特性となるのである。このため本実施例の温度補正係数Ｋｔは、図１６（ａ）に示すように、インク温度が高くなるほど小さくなる。
【０１０８】
Ｄ．メモリ構成
インク残量監視モジュールのメモリ構成を、図１７を用いて簡単に説明しておく。各種アプリケーションプログラム９１が印刷命令を発すると、インク残量監視モジュール１００が起動して、ＲＡＭ８３あるいはハードディスク２６の上に各種の領域が確保され、各領域はＣＰＵ８１の管理の下で、以下に説明するデータを記憶する。
【０１０９】
作業用メモリ１５０は、ＣＰＵ８１が各種処理を行うためのデータを一時記憶するために使用されるメモリであり、ＣＰＵ８１は作業用メモリ１５０に格納されているデータを直接読み書きすることができる。インク収容量記憶部１６０は、新品のインクカートリッジに収容されるインク収容量を記憶しておく領域であり、Ｃ・Ｍ・Ｙ・Ｋの各色インク毎にそれぞれのインク収容量Ｃｗｏ・Ｍｗｏ・Ｙｗｏ・Ｋｗｏが記憶されている。インク使用量記憶部１６１は、インク吐出重量の累積値を記憶しておく領域であり、Ｃ・Ｍ・Ｙ・Ｋの各色毎にインク使用量Ｃｚａ・Ｍｚａ・Ｙｚａ・Ｋｚａが記憶されている。
【０１１０】
インク滴重量記憶部１６２は、基準条件で吐出されるインク滴１滴当たりの重量（インク滴重量）を記憶しておく領域であり、インク滴数計数部１６５は、インク滴数の計数値を記憶しておく領域である。本実施例のカラープリンタ２０は、各色インク毎に大・中・小の３種類のドットを形成するので、これに対応して、インク滴重量記憶部１６２およびインク滴数計数部１６５には、各色インク毎に各大きさのドットに対応するインク滴重量が記憶されている。尚、図１７に示したインク滴重量記憶部１６２およびインク滴数計数部１６５内には、それぞれに符号が記載されているが、各符号が表わす意味について説明しておく。先頭の大文字のＣ・Ｍ・Ｙ・ＫはそれぞれＣ・Ｍ・Ｙ・Ｋの各色インクを意味しており、二番目の小文字のｗ・ｎはそれぞれインク滴重量とインク滴数とを表し、最後の小文字のｓ・ｍ・ｌはそれぞれ小・中・大の各ドットを意味している。例えば、Ｃインクの大・中・小の各ドットのインク滴重量は、それぞれＣｗｌ・Ｃｗｍ・Ｃｗｓと表現されていることになる。供給条件記憶部１６３には、吐出条件を検出するために使用する各種データが記憶されており、補正係数記憶部１６４には各種補正係数が記憶されている。ＣＰＵ８１は、これら各主記憶部から作業用メモリ１５０に必要なデータを読み込んで、前述の各種処理と実行する。尚、上述の各領域は、ＲＡＭ８３あるいはハードディスク２６上に確保されているが、各領域毎に専用のＲＡＭ等の記憶素子を設けるようにしてもよいのはもちろんである。
【０１１１】
Ｅ．各種補正係数の設定
本実施例の印刷装置では、インク温度・インク残量・インク種類・記録媒体上のドットパターン等のインク供給条件の違いによるインク滴重量（インク滴１滴当たりの重量）の変動を補正するために、各種補正係数を記憶している。これら補正係数の数値は、インク吐出重量の実測値に基づき設定されている。また、ドットパターン補正係数Ｋｄについては、インターレースモジュール９６がＲＡＭ８３上に展開したドットデータを解析することにより、補正値を精密に算出することも可能である。以下では、補正係数を設定するための実測的な手法と、補正係数を算出する解析的な手法について説明する。
【０１１２】
（１）補正係数の実測的な設定手法
図１８は、インク吐出量を実測するための装置構成を、概念的に示した説明図である。図示するように、計測装置は、インク滴を吐出するヘッド２００と、ヘッドに駆動信号を供給しつつヘッドの制御を行う制御装置２０１と、ヘッド２００へインクを供給するインクカートリッジ２０２ないし２０４と、専用の記録用紙２０９と、印刷画像のインク濃度を読み取る光学的読み取り装置２１０、あるいはインクカートリッジの重量減少を高精度に計測する電子天秤２０５ないし２０７とから構成されている。３つのインクカートリッジ２０２・２０３・２０４は、カートリッジ内のインク温度がそれぞれ１０℃・２５℃・４０℃に保たれていて、切り換え弁２０８を操作することにより、ヘッドに供給するインク温度を切り換えられるようになっている。制御装置２０１は、予め定められたパターンでヘッド２００を駆動して、専用用紙上に所定の画像を印刷する。本計測装置ではヘッド２００は主走査・副走査を行うことができないが、代わりに、専用用紙を移動可能なステージ（図示省略）にセットしておき、このステージを主走査方向・副走査方向に移動させることによって用紙上に画像を印刷する。このステージの制御も制御装置２０１が行っている。
【０１１３】
ヘッド２００が印刷する所定画像の一例を、図１９に示す。図示した例では、インク温度１０℃・２５℃・４０℃の各条件毎に、予め選択された２種類のドットパターン（ベタ印字パターンとキャラクタ印字パターンの２種類）で印刷された各画像が印刷されている。つまり、図１８の例では、インクの供給に関わる条件を６通りの組合せに変更して、それぞれの画像が１枚の用紙上に印刷されていることになる。各条件でのインク滴重量を計測する際には、インクカートリッジ内のインク残量やインク種類等の他の条件を変更しながら、図１８に示すような画像を印刷するのである。
【０１１４】
１つの条件での印刷が終了する度に、インクを供給したインクカートリッジの重量減少量を計測し、計測された減少量をインク滴数で除算すれば、その条件でのインク滴重量（インク滴１滴当たりの重量）を求めることができる。吐出されるインク滴数は、所定画像毎に決まっているので、予め計測しておけばよい。こうにして、インク温度・インク種類・カートリッジ内のインク残量・形成されるドットパターン等のインク供給に関わる諸条件を変更しながら、各条件におけるインク滴重量を計測する。各条件でのインク滴重量の計測が終了したら、そのうちの１条件を基準条件として選択して記憶するとともに、他の条件でのインク滴重量と基準条件でのインク滴重量との比を求めることによって、各条件の補正係数を算出することができる。
【０１１５】
また、光学的読み取り装置２１０により、専用用紙上に印刷された所定画像のインク濃度を計測して、各種補正係数を求めることも可能である。すなわち、図１９の例に示すように、ヘッド２００が印刷する画像の面積は一定であり、各画像のインク濃度はインク吐出重量と正比例する。従って、インク濃度を計測し、インク濃度の比からインク吐出重量の比を求めるのである。尚、インク濃度の計測に際しては、次のような理由から専用用紙を使用することが好ましい。光学的読み取り装置２１０は、基準光源の光を投射して印刷画像からの反射光強度を計測している。すなわち、画像のインク濃度が高いほど用紙上の染料濃度が高くなり、染料濃度が高いほど印刷画像の反射率は低くなるので、光学的読み取り装置２１０は反射光強度を測定し、反射率を求めることによってインク濃度を計測しているのである。ところが、インクには染料の他にもアルコール等の各種溶媒が含まれており、インク吐出量が多くなると、これら溶媒の影響で印刷用紙の表面が毛羽立つ等して反射率が変化するため、インク濃度の計測値に誤差が混入することがある。そこで、かかる誤差の混入をできるだけ避けるため、溶媒による表面状態の変化が小さい専用用紙を使用することが好ましいのである。
【０１１６】
尚、以上説明した方法で各種補正係数を求め、全プリンタに対して画一的に同じ補正係数を適用する代わりに、インク吐出ヘッドの製造時にヘッド毎に各種補正係数を求め、この補正係数をヘッドに印刷表示しておき、ヘッドをカラープリンタに組み付ける際にカラープリンタ内部の不揮発性メモリに格納したり、あるいはヘッドに不揮発性メモリを設けてこれに格納しておくことにしてもよい。こうすれば、全ヘッドに画一的に同じ補正係数を適用するのではなく、各ヘッドに適した補正係数を適用することができるので、インク残量の監視精度が更に向上させることができるので、いっそう好ましい。
【０１１７】
（２）補正係数の解析的な算出手法
ＣＰＵ８１は、以下に述べるようにして、インターレースモジュール９６がＲＡＭ８３上に展開したドットデータを解析し、ドットパターン補正係数Ｋｄを精度良く算出することも可能である。
【０１１８】
ドットパターン補正係数Ｋｄを解析的に算出する場合は、図２０に示すようなデータを予め求めておく。図２０（ａ）は、インク温度１０℃・２５℃・４０℃の各温度における、ノズルの相対駆動周波数１００％・５０％・３３％以下の各条件での補正係数の値を示した説明図である。相対駆動周波数とは、時間的にどのような頻度でインク滴を吐出するかを表す指標である。相対駆動周波数が、具体的にはどのようにして定義されるかについては前述した。図２０（ａ）を見れば明らかなように、インク温度１０℃・２５℃・４０℃以外のインク温度においては、図に示された補間式を用いて算出している。
【０１１９】
図２０（ｂ）は、ノズルの駆動デューティに対する補正係数の値を示した説明図である。駆動デューティとは、副走査方向に並んだノズルで構成される１本のノズル列（図７参照）について、同時にインク滴を吐出する割合を示す指標である。駆動デューティが、具体的にどのように定義されるかについては前述した。図２０（ｂ）に示した例では、駆動デューティ１００％から１３％までの合計８つの条件において、各条件での補正係数が設定されている。これら図２０に示した各データは、図１９の計測装置を用いて実験的に求めることができる。
【０１２０】
図２１は、図２０のデータに基づいて、ドットパターン補正係数Ｋｄを算出する方法の流れを示すフローチャートである。ＣＰＵ８１は、ドットパターン補正係数処理を開始すると、インターレースモジュール９６がＲＡＭ８３上に展開しているドットデータを読み込む（ステップＳ３００）。このドットデータは、画像を構成する各画素について、大・中・小のいずれのドットを形成すべきかが書き込まれたデータである。尚、図２１のフローチャートでは、大・中・小の各ドットは特に区別せず、単にドットの形成有無に基づいた処理を行っているが、ドットの大きさを区別しながら処理を行うことも好ましい。
【０１２１】
ドットデータを読み込むと、ドットが形成されることになっている画素を探しだし（ステップＳ３０２）、ドットが形成されていない画素については補正係数Ｋｄｂの値に「０」を代入する（ステップＳ３０４）。ドットが形成されている画素が見つかると、直前の画素のドットの形成有無を判断する（ステップＳ３０６）。直前画素にもドットが形成されることになっている場合は、その画素の駆動周波数は１００％であると判断されるので、図２０（ａ）のデータに従って補正係数Ｋｄｂに「１．００」を代入する（ステップＳ３０８）。尚、インク温度は１０℃であるものとしている。直前画素にドットが形成されないことになっている場合は、２画素前のドット形成有無を判断し（ステップＳ３１０）、ドットが形成されることになっている場合は、その画素の駆動周波数は５０％であると判断されるので補正係数Ｋｄｂに「１．０７」の値を代入する（ステップＳ３１２）。２画素前にもドットが形成されないことになっている場合は、その画素の駆動周波数は３３％以下であると判断し、補正係数Ｋｄｂに「１．１０」を代入する（ステップＳ３１４）。次いで、読み込んだ全データについて判断が終了下か否かを判断し（ステップＳ３１６）、終了していなければステップＳ３０２に戻って続く処理を行う。全データの判断が終了している場合は、判断結果に基づいてドットパターン補正係数Ｋｄの算出を行う（ステップＳ３１８）。
【０１２２】
ここでステップＳ３１８において、ドットパターン補正係数Ｋｄを算出する方法について、図２２を用いて具体的に説明する。図２２（ａ）は、ステップＳ３００で読み込まれるドットデータの一例を示したものである。実際のドットデータのデータサイズは、図２２（ａ）の例より大きいが、説明の都合上、ノズル数が８個、主走査方向の画素数１６個のデータとして表示している。前述したように、ここではドットの大きさは区別していないので、いずれかのドットが形成される画素は「１」で、ドットが形成されない画素は「０」で表示している。
【０１２３】
図２２（ａ）のドットデータから各画素の駆動周波数を判断し、対応する補正係数Ｋｄｂを書き込んだ結果を示したのが図２２（ｂ）である。ステップＳ３１８の処理を開始する時点ではこのようなデータが得られている。尚、図２２（ｂ）の下段には、駆動デューティの判断結果もまとめて表示してあるが、駆動デューティを用いてドットパターン補正係数を算出する方法については後述する。
【０１２４】
ステップＳ３１８（図２１参照）の処理を開始すると、ＣＰＵ８１は補正係数Ｋｄｂを各ノズル位置毎に加算する。例えば、ノズル位置１番のノズルについては「１０．３４」が、２番のノズルについては「８．４１」と求められる。こうして求められた各ノズル毎の補正係数の合計値を、互いに加算する。この値（図２２（ｂ）中では「６２．１６」）は次のような意味を持つ値である。仮に、ドットパターンを考慮した補正を行わないとした場合、すなわち全ての補正係数Ｋｄｂ＝１の場合は、ドットを形成する画素数である「５９」となるところが、駆動周波数によるインク吐出量の違いを考慮した結果、「６２．１６」が得られたのである。従って、この値「６２．１６」をドットを形成する画素数「５９」で除算した値がドットパターン補正係数Ｋｄに相当している。図２１のステップＳ３１８では、このようにしてドットパターン補正係数Ｋｄを算出するのである。
【０１２５】
また、ステップＳ３１８においては、駆動周波数の代わりに駆動デューティに基づいて、ドットパターン補正係数Ｋｄを算出するものとしても良い。すなわち、図２２（ａ）のドットデータから、各シリアル位置での駆動デューティを求める（図２２（ｂ）の下段のデータを参照のこと）。次いで、図２０（ｂ）のデータに従って、各駆動デューティに対応する補正係数を求め、それらの合計値を算出する。得られた合計値をドットを形成する画素数で除算することによっても、ドットパターン補正係数Ｋｄを求めることができる。
【０１２６】
最後に、駆動周波数と駆動デューティとの両方を考慮して、ドットパターン補正係数Ｋｄを算出する方法について説明しておく。ステップＳ３１８では、このような処理を行っても良い。図２２（ａ）に示すドットデータは、ノズル位置８カ所・シリアル位置１６カ所のデータであるから、８行１６列の行列と見ることもできる。この行列から、駆動周波数に基づく補正係数行列Ａと、駆動デューティに基づく補正係数行列Ｂの、２つの行列を求める。駆動周波数に基づく補正係数行列Ａとは、行列の各要素が、対応する画素の補正係数Ｋｄｂとなっている行列である。例えば、図２２（ｂ）に示したように、ノズル位置２・シリアル位置３の画素についての補正計数Ｋｄｂの値は「１．１」であるから、補正係数行列Ａの２行３列の要素の値が「１．１」となる。従って行列Ａは８行１６列のサイズを有する行列となる。また、駆動デューティに基づく補正係数行列Ｂとは、各要素が、対応するシリアル位置の駆動デューティに基づいて求めた補正係数となっている行列である。例えば、図２２（ｂ）から、シリアル位置３の駆動デューティは５０％であり、これに対応する補正係数は「１．０８」となる（図２０（ｂ）参照）。従って、駆動デューティに基づく補正係数行列Ｂの１行３列の要素の値が「１．０８」となる。行列Ｂは１行１６列のサイズを有する行列である。図２２のドットデータから求めた２つの補正係数行列、すなわち、補正係数行列Ａと補正係数行列Ｂをそれぞれ図２３（ａ）と図２３（ｂ）に示す。
【０１２７】
こうして２つの補正係数行列が求められたら、次はこれら行列の乗算を行う。行列Ａは８行１６列の行列であり、行列Ｂは１行１６列の行列であるから、行列Ａに行列Ｂの転置行列ｔＢを乗算する必要がある。この結果、８行１列の列行列が得られ、この行列の各要素の値は、駆動周波数と駆動デューティに基づく補正が反映された値となっている（図２３（ｃ）参照）。そこで、この列行列の各要素の値を合計し、得られた合計値「６６．９」をドットを形成する画素数「５９」で除算することによって、ドットパターン補正係数Ｋｄを得られることができる。
【０１２８】
以上に説明してきた実施例（第１の実施例）においては、ＲＡＭ８３上に展開されたドットデータに基づいて、ドットパターン補正係数Ｋｄを選択しているがピエゾ素子ＰＥに供給される駆動パルスを解析し、この結果得られたドットデータに基づいてドットパターン補正係数Ｋｄを選択することも可能である。
【０１２９】
また、ドットデータを解析してドットパターン補正係数Ｋｄを選択する以外に、印刷媒体上に実際に形成されたドットパターンを、光学的なセンサ等により直接読み取り、読み取った結果に基づいて適切なドットパターン補正係数Ｋｄを選択するようにしても構わない。以下では、このような実施例（第２の実施例）について、第１の実施例と異なる部分を中心に説明する。
【０１３０】
図４に示すように、第２の実施例では、カラープリンタ２０のキャリッジ４０に、記録媒体表面の反射光強度を光学的に計測する光学的センサ３８が併設されている。画像が印刷されている用紙をカラープリンタ２０のプラテン３６にセットし、紙送りモータ３５で用紙を少しずつ送りながらキャリッジ４０を走査させつつ、キャリッジ４０に取り付けた光学的センサ３８を用いて用紙上の画像を読み取っていくことにより、カラープリンタ２０は簡易的なスキャナとしても機能し得るようになっている。光学的センサ３８の制御は、図２４に示した簡易スキャナドライバ１１０が行う。簡易スキャナドライバ１１０は、プリンタドライバ９２を介して紙送りモータ３５やキャリッジモータ３０とデータのやり取りを行いながら、光学的センサ３８が取り込んだデータを解析して画像データを生成する。
【０１３１】
図２４は、第２の実施例におけるインク残量監視モジュールのソフトウェア構成を示す説明図である。第１の実施例におけるソフトウェア構成とほぼ同様であるが、第２の実施例のインク残量監視モジュール１００は、ドットパターンのデータをインターレースモジュール９６からではなく、簡易スキャナドライバ１１０から取り込むところが異なっている。
【０１３２】
このような第２の実施例においては、プリンタドライバ９２が起動すると、インク残量監視モジュール１００に加えて簡易スキャナドライバ１１０も起動し、プリンタドライバ９２が印刷を実行すると簡易スキャナドライバ１１０が印刷用紙上のドットパターンを読み取っていく。プリンタドライバ９２は、インク残量監視モジュール１００と簡易スキャナドライバ１１０に対して、適宜、割り込み命令を発生させる。割り込み命令を受け取ったインク残量監視モジュール１００では、図１４を用いて説明したインク残量監視ルーチンと同様なルーチンが実行される。一方、割り込み命令を受け取った簡易スキャナドライバ１１０は、インク残量監視モジュール１００にドットデータの受け渡しが完了するまで、ドットデータを保持しておくとともに、その間に印刷が続行された場合には、並行して画像の読み取りも実行する。
【０１３３】
第２の実施例のインク残量監視モジュール１００は、上述のようにして受け取ったドットデータに基づいて、ドットパターン補正係数Ｋｄを選択しているので、インク吐出重量の算出精度を向上させて、インク残量を精度良く監視することが可能となる。
【０１３４】
また、第２の実施例では、光学的センサ３８を装備しているので、各種補正係数を次のようにして更正することも可能となっている。すなわち、カラープリンタ２０に専用の印刷用紙をセットし、図１９に示したような所定の画像を印刷する。この画像のインク濃度を光学的センサ３８を用いて計測し、計測結果から図１８を用いて説明した手法によって、各種の補正係数を各カラープリンタ毎に求めることが可能となっている。これら一連の処理は、専用のアプリケーションプログラムを起動させて、コンピュータ８０のＣＲＴ画面を見ながら、実行されるようになっている。
【０１３５】
第２の実施例では、上述したように、実測結果に基づいて、各種補正係数を各カラープリンタ毎に更正することができるので、インク残量の監視精度を更に向上させることが可能である。
【０１３６】
更には、以下に説明するような簡便な方法を用いて、ドットパターン補正係数を選択しても構わない。図２５は、この第３の実施例におけるドットパターン補正係数算出処理の流れを示すフローチャートである。第３の実施例では、ドットパターン補正係数算出処理を開始すると、初めにカラープリンタ２０の印刷解像度を判断する（ステップＳ４００）。本実施例のカラープリンタ２０は、印刷に際して画質を優先するのか印刷速度を優先するのかを選択して、印刷解像度を３６０ｄｐｉあるいは７２０ｄｐｉに切り替えている。「ｄｐｉ」とは印刷解像度を表す単位であり、例えば３６０ｄｐｉとは１インチ中に３６０ドットを形成可能な解像度で印刷することを意味する。一般的には印刷解像度が高くなるほど、ノズルの駆動頻度が高くなり、インク滴重量も低くなる傾向があるので、ステップＳ４００ではカラープリンタ２０がいずれの解像度で印刷しているかを判断するのである。
【０１３７】
次いで、印刷する際に１本のラスタを何回の主走査で印刷しているかを判断する（ステップＳ４０２あるいはステップＳ４０４）。前述したように、カラープリンタ２０は印刷画質を向上させるために、１本のラスタを複数回の主走査に分けて印刷するような記録モードを備えている。また印刷速度を優先し、１本のラスタを１回の主走査で印刷する記録モードも備えている。１本のラスタを複数回の主走査に分けて印刷する場合には、１回の主走査で形成すべきインクドットの数が少なくなる。これに対し、ラスタを１回の主走査で印刷する記録モードでは、時間当たりに吐出するインク滴の数が多くなるので、それだけインク滴重量が小さくなる傾向がある。尚、ラスタを形成する回数が１回の場合と２回の場合とではインク滴重量は大きく変わるが、形成回数が２回の場合と３回の場合とでは大して変わらない。そこで、ステップＳ４０２あるいはステップＳ４０４では、ラスタの形成回数が１回（ｓ＝１）であるか否かを判断している。
【０１３８】
以上のように判断した結果、印刷解像度が７２０ｄｐｉでラスタを１回の主走査で形成していると判断された場合は、インクドットを高い密度で１回の主走査で形成しなければならないのでインクの供給が間に合わず、吐出インク滴は小さくなる傾向にある。そこで、ステップＳ４０６ではドットパターン補正係数Ｋｄに比較的小さな値である「０．９」を代入する。
【０１３９】
印刷解像度は７２０ｄｐｉであるがラスタは複数回の主走査で形成している場合、あるいは印刷解像度が３６０ｄｐｉでありラスタは１回で形成している場合は、インク滴の吐出頻度は大して高くならないので、ドットパターン補正係数Ｋｄにはほぼ規定通りのインク滴が吐出されていることを意味する値「０．９８」を代入する（ステップＳ４０８）。また、印刷解像度が３６０ｄｐｉでありラスタを複数回の主走査で形成している場合は、カラープリンタ２０の設定の中ではもっともインク吐出頻度の低い条件であり、ドットパターン補正係数Ｋｄには完全に規定通りのインク滴が吐出されることを意味する値「１」を代入する（ステップＳ４１０）。
【０１４０】
このようにして求めたドットパターン補正係数Ｋｄを使用して、インク吐出重量を算出すれば、簡便な方法によりインク残量を監視することができる。
【０１４１】
図７に示すようにカラープリンタ２０のインク字ヘッド４１には多数のインク吐出ノズルが設けられているが、必ずしもすべてのノズルを使用して印刷しているわけではなく、印刷の仕方によっては使用頻度の低いノズルも発生する。インク滴を吐出しないノズルでは、ノズル内のインクから揮発成分が抜けてインクの粘度が増加するので、所定の状態でインク滴を吐出することができなくなる場合がある。また、しばらくカラープリンタを使用しなかった場合等にも、徐々にではあるが、やはりインクの粘度が増加して所定状態のインク滴を吐出できなくなる場合がある。ひどい場合にはノズルが目詰まりを起こして、インク滴を吐出できなくなることもある。このようにノズルが目詰まりを起こしたり、目詰まりは起こさないまでもインク滴の吐出状態がノズル間でばらつくと、印刷画質に悪影響を及ぼす。そこで、カラープリンタ２０は、常に安定してインク滴を吐出することができるように、ヘッドの保守動作が可能に設計されている。
【０１４２】
ヘッドの保守動作には、強制的にインク滴を吐出して、ノズル内の増粘インクをノズルから排出するフラッシング（あるいは空打ち）と呼ばれる動作と、インクの充填に使用されるポンプを利用して、ノズル内から増粘インクを吸い出すクリーニングと呼ばれる動作とがある。いずれの保守動作においても、インクが消費されることには変わりがなく、保守動作で消費されるインク量をも考慮してインク残量監視を行えば、更に監視精度を向上させることができる。
【０１４３】
図２６は、ヘッドの保守動作中に消費されるインク量をも考慮してインク残量の監視を行うルーチンの流れを示すフローチャートである。以下、このフローチャートに従って、ヘッド保守動作によるインク消費を考慮したインク残量監視ルーチンについて説明する。
【０１４４】
カラープリンタ２０の操作者が、カラープリンタ２０に対してヘッドの保守動作を行うよう指示したり、あるいはカラープリンタ２０の制御回路６０に内蔵されているタイマ６６等に基づいてＣＰＵ６１が保守動作の開始条件が満たされたことを検出すると、カラープリンタ２０は保守動作を開始すると同時に、割り込みを発生させて図２６に示すインク残量監視ルーチンを起動させる。その後、このインク残量監視ルーチンは、カラープリンタ２０からヘッドの保守動作に関する情報を取得しつつ、以下の処理を実行していく。
【０１４５】
カラープリンタ２０がヘッドの保守動作を開始したことを割り込みによって検出すると（ステップＳ５００）、保守動作の内容を判断する（ステップＳ５０２）。つまり、カラープリンタ２０の行う保守動作がフラッシング動作であるのかクリーニング動作であるのかを検出するのである。フラッシング動作である場合には、フラッシング条件を検出する（ステップＳ５０４）。カラープリンタ２０が行うフラッシング動作にも、インク滴の吐出状況が悪化するのを予防するために、あるいは吐出状況の悪化が軽微な場合に行うノーマルフラッシングと呼ばれる動作と、ノズルが目詰まりするような重度の悪化が起きている場合に行うパワーフラッシングと呼ばれる動作との２つの動作がある。ノーマルフラッシングとパワーフラッシングとでは、ノズルから強制的に吐出されるインク滴の大きさが異なっているので、ステップＳ５０４では、どちらのフラッシングを行うかを検出するのである。次いで、フラッシング動作中に吐出したインク滴数を計数し（ステップＳ５０６）、計数したインク滴数とフラッシング条件毎に予め記憶されているインク滴重量とに基づいて、フラッシング動作中に吐出されたインク吐出重量を算出する（ステップＳ５０８）。プリンタドライバ９２の起動時に、インク温度やインク残量等のインクの供給条件を既に取得している場合は、インク吐出重量を算出する際に各種補正係数も乗算して、インク吐出重量の精度を向上させる。こうしてフラッシング動作で消費されるインク吐出重量が求めたのち、インク吐出量累積値の更新を行う（ステップＳ５１０）。すなわち、不揮発メモリに記憶されているインク吐出量の累積値（図１４のＳ２００およびＳ２１２参照）を読み出して、ステップＳ５１０で求めた累積値を加算し、再び不揮発メモリに記憶するのである。
【０１４６】
ステップＳ５０２において、保守動作の内容がクリーニング動作であると判断された場合は、インク充填用のポンプを逆回転することによりノズル内のインクを吸い出してしまう。つまりクリーニング動作で消費されるインク量は、クリーニング動作毎に原則として一定量であるので、ステップＳ５１２では、クリーニング動作毎に予め測定しておいたインクの吸い出し量をインク消費量として設定する。そして、ステップＳ５１０では、不揮発メモリに記憶されているインク吐出量累積値を読み出して、これにインク消費量を加算し再びインク吐出量累積値として不揮発メモリに記憶する。
【０１４７】
以上説明したように、フラッシング動作中のインク吐出量およびクリーニング動作中のインク消費量を求め、不揮発メモリに記憶されているインク吐出量累積値に加算しておけば、ヘッドの保守動作中に消費されるインク量をも考慮してインク残量の監視を行うことが可能となる。
【０１４８】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム（アプリケーションプログラム）を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。
【図面の簡単な説明】
【図１】本実施例の印刷装置の概略構成図である。
【図２】ソフトウェアの構成を示す説明図である。
【図３】ソフトウェアの他の構成を示す説明図である。
【図４】本実施例のプリンタの概略構成図である。
【図５】本実施例のプリンタで用いられるインクカートリッジの外観形状を表す説明図である。
【図６】本実施例のプリンタにおけるドット形成原理を示す説明図である。
【図７】本実施例のプリンタにおけるノズル配列を示す説明図である。
【図８】本実施例のプリンタにより大きさの異なるドットを形成する原理を説明する説明図である。
【図９】本実施例のプリンタにおけるノズルの駆動波形および該駆動波形により形成されるドットの様子を示す説明図である。
【図１０】本実施例のプリンタの制御装置の内部構成を示す説明図である。
【図１１】本実施例のプリンタヘッドが駆動バッファからデータを受けてドットを形成する様子を示す説明図である。
【図１２】本実施例における画像処理ルーチンの流れを示すフローチャートである。
【図１３】本実施例におけるインク残量監視モジュールのソフトウェア構成を示す説明図である。
【図１４】本実施例におけるインク残量監視ルーチンの流れを示すフローチャートである。
【図１５】本実施例の印刷装置においてインク残量の表示を行う一例を示すを説明図である。
【図１６】本実施例の印刷装置において用いられる補正係数の一例を示す説明図である。
【図１７】本実施例のインク残量監視モジュールに関連するメモリ構成を示す説明図である。
【図１８】本実施例において各種補正係数を求めるための計測装置構成を示す説明図である。
【図１９】本実施例において各種補正係数を求めるにあたって専用用紙上に印刷される画像の一例を示す説明図である。
【図２０】本実施例において駆動周波数および駆動デューティに対する補正係数の設定例を示す説明図である。
【図２１】本実施例のドットパターン補正係数算出処理の流れを示すフローチャートである。
【図２２】本実施例のドットパターン補正係数の算出方法を説明する説明図である。
【図２３】本実施例のドットパターン補正係数の他の算出方法を説明する説明図である。
【図２４】他の実施例におけるインク残量監視モジュールのソフトウェア構成を示す説明図である。
【図２５】他の実施例のドットパターン補正係数を求める処理の流れを示すフローチャートである。
【図２６】ヘッドの保守動作中に吐出するインク量も同時に考慮して、インク残量の監視を行う処理の流れを示すフローチャートである。
【図２７】インク吐出機構の代表的な構成を概念的に示す説明図である。
【符号の説明】
２０…カラープリンタ
２１…カラースキャナ
２３…ＣＲＴ
２４…モデム
２５…フレキシブルディスクドライブ
２６…ハードディスク
３０…キャリッジモータ
３１…駆動ベルト
３２…プーリ
３３…摺動軸
３４…位置検出センサ
３５…紙送りモータ
３６…プラテン
３７…温度センサ
３８…光学的センサ
４０…キャリッジ
４１…ＣＰＵ
４１…印字ヘッド
４２、４３…インクカートリッジ
４４〜４７…インク吐出用ヘッド
５０…インク通路
５５…突起部
５６…識別ラベル
５８…インク残量表示パネル
５９…操作パネル
６０…制御回路
６１…ＣＰＵ
６２…ＰＲＯＭ
６３…ＲＡＭ
６４…ＰＣインターフェース
６５…ＰＩＯ
６６…タイマ
６７…駆動バッファ
６８…バス
６９…分配出力器
７０…発振器
７１…接点スイッチ
８０…コンピュータ
８１…ＣＰＵ
８２…ＲＯＭ
８３…ＲＡＭ
８４…入力インターフェース
８５…出力インターフェース
８６…ＣＲＴＣ
８７…ＤＤＣ
８８…ＳＩＯ
８９…バス
９０…ビデオドライバ
９１…アプリケーションプログラム
９２…プリンタドライバ
９３…解像度変換モジュール
９４…色変換モジュール
９５…ハーフトーンモジュール
９６…インターレースモジュール
９７…データ入出力モジュール
１００…インク残量監視モジュール
１０１…供給条件検出モジュール
１０２…インク滴数計数モジュール
１０３…インク吐出量算出モジュール
１０４…インク残量監視モジュール
１１０…簡易スキャナドライバ
１５０…作業用メモリ
１６０…インク収容量記憶部
１６１…インク使用量記憶部
１６２…インク滴重量記憶部
１６３…供給条件記憶部
１６４…補正係数記憶部
１６５…インク滴数計数部
２００…ヘッド
２０１…制御装置
２０２〜２０４…インクカートリッジ
２０５〜２０７…電子天秤
２０８…切り換え弁
２０９…記録用紙
２１０…光学的読み取り装置
【図１】
0003651303.tif 000002
【図２】
0003651303.tif 000003
【図３】
0003651303.tif 000004
【図４】
0003651303.tif 000005
【図５】
0003651303.tif 000006
【図６】
0003651303.tif 000007
【図７】
0003651303.tif 000008
【図８】
0003651303.tif 000009
【図９】
0003651303.tif 000010
【図１０】
0003651303.tif 000011
【図１１】
0003651303.tif 000012
【図１２】
0003651303.tif 000013
【図１３】
0003651303.tif 000014
【図１４】
0003651303.tif 000015
【図１５】
0003651303.tif 000016
【図１６】
0003651303.tif 000017
【図１７】
0003651303.tif 000018
【図１８】
0003651303.tif 000019
【図１９】
0003651303.tif 000020
【図２０】
0003651303.tif 000021
【図２１】
0003651303.tif 000022
【図２２】
0003651303.tif 000023
【図２３】
0003651303.tif 000024
【図２４】
0003651303.tif 000025
【図２５】
0003651303.tif 000026
【図２６】
0003651303.tif 000027
【図２７】
0003651303.tif 000028