(57)【要約】【課題】  センサー値を取得した際に、カレント値とセンサー値の乖離が大きい場合であっても、トナー残量の表示の遷移によってユーザが困惑してしまうのを防止すること。【解決手段】  センサー値に対応して、カレント値が緩やかに推移するように制御する。具体的には、トナー残量の予測値を算出する際に、トナー消費量に対して、センサー値に応じたトナー消費量の補正処理を行う。【選択図】  図６
2015049328.tif 000002
【特許請求の範囲】
【請求項１】
記録材を用いて画像形成を行う画像形成装置であって、
前記記録材の残量を取得する取得手段と、
前記取得手段により取得された記録材の残量を記憶する記憶手段と、
前記画像形成で得られた情報に基づいて、前記記録材の消費量を算出する第１の算出手段と、
前記記憶手段により記憶された前記記録材の残量に基づいて、前記第１の算出手段により算出された前記記録材の消費量を補正する補正手段と、
前記補正手段により補正された前記記録材の消費量に基づいて、前記記録材の残量を算出する第２の算出手段と、
前記第２の算出手段により算出された前記記録材の残量を表示すべき記録材の残量として設定する設定手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記補正手段は、前記設定手段により前回設定された前記記録材の残量が前記記憶手段により記憶された前記記録材の残量より大きい場合に、前記第１の算出手段により算出された前記記録材の消費量に第１の値を加算することにより、前記第１の算出手段により算出された前記記録材の消費量を補正することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１の値は、前記記録材を収容する収容部の容量に所定値を乗算した値であることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記補正手段は、前記設定手段により前回設定された前記記録材の残量が前記取得手段により取得された前記記録材の残量より小さい場合に、前記第１の算出手段により算出された前記記録材の消費量を第２の値で除算することにより、前記第１の算出手段により算出された前記記録材の消費量を補正することを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
前記第２の値は、前記設定手段により前回設定された前記記録材の残量が小さくなるにつれて、大きくなることを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記第２の値は、所定値の累乗であることを特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
前記補正手段は、前記設定手段により前回設定された前記記録材の残量が前記取得手段により取得された前記記録材の残量より小さい場合において、前記設定手段により前回設定された前記記録材の残量が前記取得手段により次回取得される前記記録材の残量に基づく値より大きい場合には、前記記録材の消費量を補正しないことを特徴とする請求項１乃至６の何れか１項に記載の画像形成装置。
【請求項８】
前記補正手段は、前記第１の算出手段により算出された前記記録材の消費量を第３の値で乗算することにより、前記第１の算出手段により算出された前記記録材の消費量を補正することを特徴とする請求項１に記載の画像形成装置。
【請求項９】
前記第３の値は、前記設定手段により前回設定された前記記録材の残量と前記記憶手段により記憶された前記記録材の残量に基づいて算出された値であることを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記第１の算出手段は、前記画像形成で用いたラスタデータに含まれる白以外の画素数に１画素あたりの前記記録材の消費量を乗算することにより、前記記録材の消費量を算出することを特徴とする請求項１乃至９の何れか１項に記載の画像形成装置。
【請求項１１】
前記第２の算出手段は、前記設定手段により前回設定された前記記録材の残量から前記補正手段により補正された前記記録材の消費量を減算することにより、前記記録材の残量を算出することを特徴とする請求項１乃至１０の何れか１項に記載の画像形成装置。
【請求項１２】
前記設定手段により設定された前記記録材の残量を表示する表示手段を更に有することを特徴とする請求項１乃至１１の何れか１項に記載の画像形成装置。
【請求項１３】
前記設定手段により設定された前記記録材の残量を外部装置に送信する送信手段を更に有することを特徴とする請求項１乃至１２の何れか１項に記載の画像形成装置。
【請求項１４】
前記記録材は、トナーであることを特徴とする請求項１乃至１３の何れか１項に記載の画像形成装置。
【請求項１５】
記録材を用いて画像形成を行う画像形成装置の制御方法であって、
前記記録材の残量を取得する取得工程と、
前記取得工程により取得された記録材の残量を記憶する記憶工程と、
前記画像形成で得られた情報に基づいて、前記記録材の消費量を算出する第１の算出工程と、
前記記憶工程により記憶された前記記録材の残量に基づいて、前記第１の算出工程により算出された前記記録材の消費量を補正する補正工程と、
前記補正工程により補正された前記記録材の消費量に基づいて、前記記録材の残量を算出する第２の算出工程と、
前記第２の算出工程により算出された前記記録材の残量を表示すべき記録材の残量として設定する設定工程と、
を有することを特徴とする画像形成装置。
【請求項１６】
記録材を用いて画像形成を行う画像形成装置に、
前記記録材の残量を取得する取得工程と、
前記取得工程により取得された記録材の残量を記憶する記憶工程と、
前記画像形成で得られた情報に基づいて、前記記録材の消費量を算出する第１の算出工程と、
前記記憶工程により記憶された前記記録材の残量に基づいて、前記第１の算出工程により算出された前記記録材の消費量を補正する補正工程と、
前記補正工程により補正された前記記録材の消費量に基づいて、前記記録材の残量を算出する第２の算出工程と、
前記第２の算出工程により算出された前記記録材の残量を表示すべき記録材の残量として設定する設定工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置は、トナー等の記録材を用いて、シートに画像形成を行う。一般的に、記録材は、カートリッジ等の収容部に収容されている。そして、画像形成装置の中には、収容部に残っている記録材の残量を検出して、その値をＵＩ等の表示部に表示するものがある。
【０００３】
従来、センサーを設け、それによって検知された値をそのまま記録材の残量として表示していた。センサーは、コスト面等を考慮して、残量がある程度低くなるまで正確な検知精度が発揮できないものが採用される場合が多い。その場合、センサーでは、例えば１００％、２０％、０％というように、記録材の残量の検知が離散的に行われる。その結果、表示部においても、例えば１００％、２０％、０％というように、記録材の残量の表示が離散的に行われることになる。
【０００４】
これに対して、残量の検知を離散的に行うセンサーを採用しつつも、表示部においては記録材の残量を連続的に表示する技術が存在する（特許文献１）。例えば、画像形成を行った際に、ラスタデータのドットカウント値に基づいて、トナー残量の予測値を算出し、その値をトナー残量のカレント値として表示する。そして、センサーからトナー残量のセンサー値を取得した場合に、そのセンサー値でカレント値を更新する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３４３６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
センサー値を取得した際に、カレント値とセンサー値の乖離が大きい場合には、トナー残量の表示の遷移によってユーザが困惑してしまうことがある。例えば、センサー値がカレント値より小さかった場合に、カレント値をセンサー値で更新すると、ユーザは、トナーがあまり消費されていない筈なのに、トナー残量が急激に減少したのは何故だろう、と疑問に感じてしまう可能性がある。また、センサー値がカレント値より大かった場合に、センサー値がカレント値に追い付くまでカレント値を更新せずにいると、ユーザは、トナーが消費されている筈なのに、トナー残量が暫く停滞しているのは何故だろう、と疑問に感じてしまう可能性がある。
【０００７】
本発明は、センサー値を取得した際に、カレント値とセンサー値の乖離が大きい場合であっても、トナー残量の表示の遷移によってユーザが困惑してしまうのを防止することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像形成装置は、記録材を用いて画像形成を行う画像形成装置であって、前記記録材の残量を取得する取得手段と、前記取得手段により取得された記録材の残量を記憶する記憶手段と、前記画像形成で得られた情報に基づいて、前記記録材の消費量を算出する第１の算出手段と、前記記憶手段により記憶された前記記録材の残量に基づいて、前記第１の算出手段により算出された前記記録材の消費量を補正する補正手段と、前記補正手段により補正された前記記録材の消費量に基づいて、前記記録材の残量を算出する第２の算出手段と、前記第２の算出手段により算出された前記記録材の残量を表示すべき記録材の残量として設定する設定手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、センサー値を取得した際に、カレント値とセンサー値の乖離が大きい場合であっても、トナー残量の表示の遷移によってユーザが困惑してしまうのを防止することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】画像形成装置の構成を示すブロック図
【図２】コントローラの構成を示すブロック図
【図３】プリントエンジンの構成を示すブロック図
【図４】トナーの残量検知の制御を示すフローチャート（前半）
【図５】トナーの残量検知の制御を示すフローチャート（後半）
【図６】トナー消費量の補正処理の詳細を示すフローチャート（第１の実施形態）
【図７】トナー残量の推移を示す図（従来例）
【図８】トナー残量の推移を示す図（第１の実施形態：カレント値が現実のトナー残量より高めに推移するケース）
【図９】トナー残量の推移を示す図（第１の実施形態：カレント値が現実のトナー残量より低めに推移するケース）
【図１０】トナー残量の推移を示す図（第１の実施形態：カレント値が現実のトナー残量より高めに推移する場合にセンサー値の誤検知が発生したケース）
【図１１】トナー消費量の補正処理の詳細を示すフローチャート（第２の実施形態）
【図１２】トナー残量の推移を示す図（第２の実施形態：カレント値が現実のトナー残量より高めに推移するケース）
【図１３】トナー残量の推移を示す図（第２の実施形態：カレント値が現実のトナー残量より低めに推移するケース）
【図１４】トナー残量の推移を示す図（第３の実施形態：カレント値が現実のトナー残量より高めに推移するケース）
【図１５】トナー残量の推移を示す図（第３の実施形態：カレント値が現実のトナー残量より低めに推移するケース）
【発明を実施するための形態】
【００１１】
〔第１の実施形態〕
図１は、画像形成装置の構成を示すブロック図である。
【００１２】
データ処理装置１０１（例えばＰＣ）は、画像データを生成し、当該画像データを画像形成装置１０２に送信する。
【００１３】
画像形成装置１０２（例えばレーザープリンタ）は、データ処理装置１０１から画像データを受信し、当該画像データに基づいてシートに画像形成を行う。なお、画像形成装置１０２は、スキャナ機能やＦＡＸ機能等を有する複合機であってもよい。
【００１４】
ＵＩ３０１は、ユーザインターフェースであり、ユーザに様々な情報を伝える表示部や、ユーザから様々な操作を受け付ける操作部を有する。表示部には、後述するトナー残量のカレント値が表示される。なお、トナー残量のカレント値は、外部Ｉ／Ｆを介してデータ処理装置１０１等の外部装置に送信し、データ処理装置１０１等の外部装置が有する表示部に表示してもよい。
【００１５】
コントローラ３０２は、ＰＤＬデータに基づいてビットマップデータを生成し、当該ビットマップデータをプリントエンジン３０３に送信する。コントローラ３０２の詳細は、図２を用いて後述する。
【００１６】
プリントエンジン３０３は、コントローラ３０２から受信したビットマップデータに基づいて、電子写真方式でトナーを用いてシートに画像形成を行う。なお、画像形成の方式は、電子写真方式以外の、例えばインクジェット方式等でもよい。この場合、電子写真方式の記録材はトナーであるが、インクジェット方式の記録材はインクである。
【００１７】
なお、コントローラ３０２とプリントエンジン３０３は、別体としているが、一体であってもよい。
【００１８】
図２は、コントローラの構成を示すブロック図である。
【００１９】
ＣＰＵ４０１は、ＲＯＭ４０２に格納されたプログラムをＲＡＭ４０３に展開し、当該プログラムを実行して画像形成装置１０２の制御を行う。また、ＣＰＵ４０１は、後述するように、ドットカウント部４０９でカウントされるドットカウントから換算されるトナー消費量の予測値や、プリントエンジン３０３から通知されるトナー残量のセンサー値に基づいて、トナー残量を算出する。そして、ＣＰＵ４０１は、算出したトナー残量を、パネルＩ／Ｆ４０５を介してＵＩ３０１に表示したり、外部Ｉ／Ｆ４０４を介してデータ処理装置１０１に通知したりする。
【００２０】
ＲＯＭ４０２は、ＣＰＵ４０１が実行するプログラム等を記憶する。
【００２１】
ＲＡＭ４０３は、ＲＯＭ４０２から展開されたプログラム等を記憶する。また、ＲＡＭ４０３は、ＰＤＬデータ、ＰＤＬデータを解釈して生成される中間データ、中間データをレンダリングして生成されるビットマップデータ、その他の処理に必要な一時的な各種処理ステータスやログ情報等も記憶する。
【００２２】
外部Ｉ／Ｆ４０４は、データ処理装置１０１とコントローラ３０２とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００２３】
パネルＩ／Ｆ４０５は、ＵＩ３０１とコントローラ３０２とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００２４】
エンジンＩ／Ｆ４０６は、プリントエンジン３０３とコントローラ３０２とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００２５】
ＤＭＡＣ４０７は、ＣＰＵ４０１から命令を受け、ＲＡＭ４０３に対してデータアクセスすなわちデータの書き込みや読み出しを行う。
【００２６】
レンダリング部４０８は、中間データをビットマップデータに展開する。
【００２７】
ドットカウント部４０９は、展開されたビットマップデータに含まれるドットのうち、画像形成を行う際にトナーを消費するドットの数をカウントする。具体的には、白以外の色のドット数がカウントされる。例えば、モノクロ印刷の場合は、Ｋ（黒）に対応するドット数である。また、カラー印刷の場合は、Ｙ（イエロー）・Ｍ（マゼンダ）・Ｃ（シアン）・Ｋ（黒）の何れかに対応するドットの数である。なお、ドット数のカウントは、ＣＰＵ４０１やレンダリング部４０８が行ってもよい。
【００２８】
ＥＥＰＲＯＭ４１０は、画像形成装置１０２の設定情報等を記憶する。
【００２９】
バス４１１は、コントローラ３０２内の各構成を相互に接続する。
【００３０】
図３は、プリントエンジンの構成を示すブロック図である。
【００３１】
ＣＰＵ５０１は、ＲＯＭ５０２に格納されたプログラムをＲＡＭ５０３に展開し、当該プログラムを実行してプリントエンジン３０３の制御を行う。
【００３２】
ＲＯＭ５０２は、ＣＰＵ５０１が実行するプログラム等を記憶する。
【００３３】
ＲＡＭ５０３は、ＲＯＭ５０２から展開されたプログラム等を記憶する。
【００３４】
トナー残量センサー５０４は、カートリッジ５０９に含まれるトナー残量を計測する。センサーにおけるトナー残量の検知方式としては、例えば、透磁率検知式、マグネット式、圧電振動式、透過光式等が存在する。センサーは、例えば、トナー残量が２０％、０％等の所定値に達した場合に、その値をセンサー値として検知する。つまり、トナー残量が１００％〜２１％であるときは１００％、トナー残量が２０％〜１％であるときは２０％、トナー残量が０％であるときは０％として検知する。なお、センサーは、カートリッジ５０９の中に備えられることとしてもよい。
【００３５】
駆動制御部５０５は、画像形成部５０８が画像形成を行う際に必要な各種モーターを駆動させる。
【００３６】
ステータス変化検知部５０６は、画像形成装置におけるジャムやカバーオープン等のステータス変化を検知する。また、ステータス変化検知部５０６は、カートリッジ５０９の交換も検知する。なお、テータス変化の検知は、ＣＰＵ５０１が行うこととしてもよい。
【００３７】
コントローラＩ／Ｆ５０７は、コントローラ３０２とプリントエンジン３０３とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００３８】
画像形成部５０８は、コントローラ３０２から受信したビットマップデータに基づいて、電子写真方式でトナーを用いてシートに画像形成を行う。
【００３９】
カートリッジ５０９は、トナーを収容する収容部として、画像形成装置１０２に装着可能な所謂プロセスカートリッジであり、画像形成部５０８が画像形成を行う際に使用するトナー等を格納する。また、カートリッジ５０９は、不揮発性の記憶媒体を有し、その中にはカートリッジ情報が記憶される。カートリッジ情報には、例えば、カートリッジが新品か否かを示す情報、カートリッジの色を示す色情報、カートリッジの現在のトナー残量を示すトナー残量情報等が含まれる。なお、カートリッジ５０９は、バス５１０には接続されているが、専用線を介してＣＰＵ５０１と接続されることとしてもよい。
【００４０】
バス５１０は、プリントエンジン３０３内の各構成を相互に接続する。
【００４１】
図４及び図５は、トナーの残量検知の制御を示すフローチャートである。
【００４２】
左側のフローチャートに示す制御は、コントローラ３０２において、ＣＰＵ４０１がＲＯＭ４０２に格納された制御プログラムをＲＡＭ４０３に展開して実行することにより実現される。また、右側のフローチャートに示す制御は、プリントエンジン３０３において、ＣＰＵ５０１がＲＯＭ５０２に格納された制御プログラムをＲＡＭ５０３に展開して実行することにより実現される。
【００４３】
まず、ＣＰＵ５０１は、カートリッジ５０９が交換されたか否か判断する（Ｓ２０１）。これは、画像形成装置１０２にカートリッジ５０９が新たに装着されたことを検出することによって判断する。カートリッジ５０９が装着されたことは、ステータス変化検知部５０６がカートリッジ５０９の装着を検知しＣＰＵ５０１に通知することによって認識される。カートリッジ５０９の装着は、カートリッジ５０９を交換するために設けられたカバーの開閉よって検知してもよいし、部品の着脱に応じてハード的にオン／オフ状態が変化するボタンやスイッチ等によって検知してもよい。Ｓ２０１でＹＥＳの場合、Ｓ２０２に進む。Ｓ２０１でＮＯの場合、待機する。
【００４４】
次に、ＣＰＵ５０１は、カートリッジ５０９が交換された旨を示すカートリッジ交換通知を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２０２）。
【００４５】
次に、ＣＰＵ４０１は、カートリッジ交換通知を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１０１）。Ｓ１０１でＹＥＳの場合、Ｓ１０２に進む。Ｓ１０１でＮＯの場合、待機する。
【００４６】
次に、ＣＰＵ４０１は、カートリッジ５０９のカートリッジ情報を要求するカートリッジ情報要求を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３へ送信する（Ｓ１０２）。
【００４７】
次に、ＣＰＵ５０１は、カートリッジ情報要求を、コントローラＩ／Ｆ５０７を介してコントローラ３０２から受信したか否か判断する（Ｓ２０３）。Ｓ２０３でＹＥＳの場合、Ｓ２０４に進む。Ｓ２０３でＮＯの場合、待機する。
【００４８】
次に、ＣＰＵ５０１は、カートリッジ５０９のカートリッジ情報を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２０４）。
【００４９】
次に、ＣＰＵ４０１は、カートリッジ情報を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１０３）。Ｓ１０３でＹＥＳの場合、Ｓ１０４に進む。Ｓ１０３でＮＯの場合、待機する。
【００５０】
次に、ＣＰＵ４０１は、カートリッジ情報に基づいて、トナー残量のカレント値の初期化を行う（Ｓ１０４）。ここで、トナー残量のカレント値とは、コントローラ３０２がカートリッジ５０９のトナー残量として認識している値であり、ＵＩ３０１を介してユーザに表示される値である。トナー残量のカレント値の初期化は、具体的には、カートリッジ情報を参照し、カートリッジが新品であることが分かれば、トナー残量のカレント値を１００％に設定する。また、カートリッジが新品であることが分からなければ、トナー残量のカレント値を前述したカートリッジ情報に含まれるトナー残量情報に対応する値に設定する。トナー残量のカレント値は、ＲＡＭ４０３等に保持される。
【００５１】
次に、ＣＰＵ４０１は、画像形成を実行すべきジョブを、外部Ｉ／Ｆ４０４を介してデータ処理装置１０１から入力したか否か判断する（Ｓ１０５）。ここで、ジョブとしては、ＰＤＬ印刷ジョブ、コピージョブ、ＦＡＸ受信印刷ジョブ等が挙げられる。Ｓ１０５でＹＥＳの場合、Ｓ１０６に進む。Ｓ１０５でＮＯの場合、Ｓ１１１へ進む。
【００５２】
次に、ＣＰＵ４０１は、ジョブに基づいて、画像形成に必要な画像処理を実行する（Ｓ１０６）。ここで、画像処理の中には、レンダリング部４０８を制御して、印刷データを展開しラスタデータを生成する処理が含まれる。
【００５３】
次に、ＣＰＵ４０１は、画像処理によって生成されたラスタデータを、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３へ送信する（Ｓ１０７）。
【００５４】
次に、ＣＰＵ４０１は、ドットカウント部４０９から、ラスタデータの生成時に計測されたドットカウント値を取得する（Ｓ１０８）。ドットカウント値とは、ラスタデータに含まれる白以外の画素数のことである。なお、ドットカウント値は、ページ単位で取得してもよいし、ジョブ単位で取得してもよい。
【００５５】
次に、ＣＰＵ４０１は、Ｓ１０８で取得したドットカウント値に基づいて、トナー消費量を算出する（Ｓ１１６）。具体的には、（今回のジョブ又はページの印刷実行時におけるドットカウント値〔ｄｏｔ〕）×（ドット毎のトナー消費量〔ｇ／ｄｏｔ〕）＝（今回のジョブ実行によるトナー消費量〔ｇ〕）という計算を行う。ドット毎のトナー消費量は、１画素あたりのトナー消費量ともいえる。ここで、ドット毎のトナー消費量は、ＲＯＭ４０２に予め格納されていてもよいし、Ｓ１０３で受信したカートリッジ情報に含まれていてもよい。
【００５６】
次に、ＣＰＵ４０１は、Ｓ１１６で算出したトナー消費量に対して、トナー消費量の補正処理を行う（Ｓ１１７）。この処理の詳細は、図６を用いて後述する。
【００５７】
次に、ＣＰＵ４０１は、Ｓ１１７で補正処理を行ったトナー消費量に基づいて、トナー残量の予測値を算出する（Ｓ１０９）。具体的には、まず、（現在のトナー残量〔ｇ〕）―（今回のジョブ実行による補正処理後のトナー消費量〔ｇ〕）＝（新たなトナー残量〔ｇ〕）という計算を行う。ここで、―は減算を意味する。次に、（新たなトナー残量〔ｇ〕）／（カートリッジの未使用状態におけるトナー残量〔ｇ〕）＝（新たなトナー残量の予測値〔％〕）という計算を行う。ここで、カートリッジの未使用状態におけるトナー残量は、ＲＯＭ４０２に予め格納されていてもよいし、Ｓ１０３で受信したカートリッジ情報に含まれていてもよい。
【００５８】
次に、ＣＰＵ４０１は、Ｓ１０９で算出した予測値で、トナー残量のカレント値を更新する（Ｓ１１０）。
【００５９】
一方、ＣＰＵ５０１は、ラスタデータを、コントローラＩ／Ｆ５０７を介してコントローラ３０２から受信したか否か判断する（Ｓ２０５）。Ｓ２０５でＹＥＳの場合、Ｓ２０６に進む。Ｓ２０５でＮＯの場合、Ｓ２０８へ進む。
【００６０】
次に、ＣＰＵ５０１は、画像形成部５０８を制御することにより、ラスタデータに基づいて画像形成を実行する（Ｓ２０６）。
【００６１】
次に、ＣＰＵ５０１は、トナー残量センサー５０４から、トナー残量のセンサー値を取得する（Ｓ２０７）。なお、センサー値取得のタイミングは、ページ単位で画像形成が完了したタイミングでもよいし、ジョブ単位で画像形成が完了したタイミングでもよい。また、センサー値取得のタイミングは、所定の時間が経過する度としてもよい。
【００６２】
次に、ＣＰＵ５０１は、今回取得したセンサー値が、前回取得したセンサー値から変化したか否か判断する（Ｓ２０８）。Ｓ２０８でＹＥＳの場合、Ｓ２０９に進む。Ｓ２０８でＮＯの場合、Ｓ２０５に戻る。
【００６３】
次に、ＣＰＵ５０１は、センサー値が変化した旨を示すセンサー値変化通知を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２０９）。
【００６４】
次に、ＣＰＵ４０１は、センサー値変化通知を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１１１）。Ｓ１１１でＹＥＳの場合、Ｓ１１２に進む。Ｓ１１１でＮＯの場合、Ｓ１０５に戻る。
【００６５】
次に、ＣＰＵ４０１は、センサー値を要求するセンサー値要求を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３へ送信する（Ｓ１１２）。
【００６６】
次に、ＣＰＵ５０１は、センサー値要求を、コントローラＩ／Ｆ５０７を介してコントローラ３０２から受信したか否か判断する（Ｓ２１０）。Ｓ２１０でＹＥＳの場合、Ｓ２１１に進む。Ｓ２１０でＮＯの場合、待機する。
【００６７】
次に、ＣＰＵ５０１は、センサー値を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２１１）。
【００６８】
次に、ＣＰＵ４０１は、センサー値を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１１３）。Ｓ１１３でＹＥＳの場合、Ｓ１１４に進む。Ｓ１１３でＮＯの場合、待機する。
【００６９】
次に、ＣＰＵ４０１は、Ｓ１１３で受信したセンサー値をＲＡＭ４０３に記憶する（Ｓ１１８）。
【００７０】
次に、ＣＰＵ４０１は、トナー残量のカレント値を参照して、トナー残量がゼロになったか否か判断する（Ｓ１１５）。Ｓ１１５でＹＥＳの場合、処理を終了する。Ｓ１１５でＮＯの場合、Ｓ１０５に戻る。
【００７１】
一方、ＣＰＵ５０１は、トナー残量のセンサー値を参照して、トナー残量がゼロになったか否か判断する（Ｓ２１２）。Ｓ２１２でＹＥＳの場合、処理を終了する。Ｓ２１２でＮＯの場合、Ｓ２０５に戻る。
【００７２】
図６は、トナー消費量の補正処理の詳細を示すフローチャート（第１の実施形態）である。
【００７３】
まず、ＣＰＵ４０１は、現在のトナー残量のカレント値（前回算出したトナー残量の予測値：前回設定したトナー残量のカレント値）が、今のセンサー値（Ｓ１１８でＲＡＭ４０３に記憶されたセンサー値）より大きいか否か判断する（Ｓ３０１）。Ｓ３０１でＹＥＳの場合、Ｓ３０２へ進む。Ｓ３０１でＮＯの場合、Ｓ３０３へ進む。
【００７４】
次に、ＣＰＵ４０１は、トナー消費量にＣＲＧ容量の０．５％に相当するトナー量を加算した値を、補正後のトナー消費量とする（Ｓ３０２）。その後、処理を終了する。なお、このとき加算する値は、ＣＲＧ容量に対する割合の代わりに、トナー消費量に対する割合やトナー残量値に対する割合としてもよい。
【００７５】
次に、ＣＰＵ４０１は、現在のトナー残量のカレント値（前回算出したトナー残量の予測値：前回設定したトナー残量のカレント値）が、次のセンサー値（次回取得するセンサー値）と規定値の合計値より大きいか否か判断する。（Ｓ３０３）。次のセンサー値とは、エンジンが取得可能な、現在のセンサー値より小さい、最大の値を指す。図７の場合、センサー値が１００％ならば、次のセンサー値は４０％である。センサー値が４０％ならば、次のセンサー値は０％である。規定値とは、本処理を開始する起点を決定する値である。今回の例では規定値を１０％とする。Ｓ３０３でＹＥＳの場合、処理を終了する。このとき、トナー消費量の補正は行われないことになる。Ｓ３０３でＮＯの場合、Ｓ３０４へ進む。
【００７６】
次に、ＣＰＵ４０１は、カウンタｉを１に初期化する。（Ｓ３０４）。
【００７７】
次に、ＣＰＵ４０１は、現在のトナー残量のカレント値（前回算出したトナー残量の予測値：前回設定したトナー残量のカレント値）が、次のセンサー値と規定値／２＾ｉの合計値より大きいか否か判断する（Ｓ３０５）。ここで、２＾ｉは、２の累乗を意味する。Ｓ３０５でＹＥＳの場合、Ｓ３０７へ進む。Ｓ３０５でＮＯの場合、Ｓ３０６へ進む。
【００７８】
次に、ＣＰＵ４０１は、カウンタｉをインクリメントする。（Ｓ３０６）
次に、ＣＰＵ４０１は、トナー消費量を２＾ｉで除算した値を、補正後のトナー消費量とする（Ｓ３０７）。その後、処理を終了する。
【００７９】
図７は、トナー残量の推移を示す図（従来例）である。
【００８０】
Ｌ１００は、現実のトナー残量の推移である。ここで、現実のトナー残量とは、実際に存在しているトナー残量の正確な値であり、例えばセンサーが全体域に渡って非常に精度の良いものでない限り、直接的に取得することは非常に困難である。
【００８１】
Ｌ２００は、トナー残量のセンサー値の推移である。
【００８２】
Ｌ２１０は、トナー残量のセンサー値がとり得る値である。この例において、とり得る値は、１００％、２０％、０％であり、２０％をＬｏｗレベル（カートリッジを交換する目安となるトナー無しに近い状態）の閾値とする。
Ｌ３００は、トナー残量のカレント値の推移である。
【００８３】
Ｐ１００〜Ｐ１０２は、物理量のポイントである。各ポイントとカレント値との関係は、以下のとおりである。
【００８４】
Ｐ１００は、カートリッジが交換された際に、Ｓ１０４で、トナー残量のカレント値を１００％に初期化した時に対応する。
【００８５】
Ｐ１００〜Ｐ１０１の区間は、トナー残量のセンサー値が１００％から２０％に変化するまでの間に、Ｓ１０５〜Ｓ１１１のループを繰り返して、トナー残量の予測値を算出しトナー残量のカレント値を更新し続けている区間に対応する。
【００８６】
Ｐ１０１は、トナー残量のカレント値が急に変化する時であり、トナー残量のセンサー値が１００％から２０％に変化した際に、Ｓ１１４で、トナー残量のセンサー値によりトナー残量のカレント値を２０％に更新した時に対応する。
【００８７】
Ｐ１０１〜Ｐ１０２の区間は、トナー残量のセンサー値が２０％から０％に変化するまでの間に、Ｓ１０５〜Ｓ１１１のループを繰り返して、トナー残量の予測値を算出しトナー残量のカレント値を更新し続けている区間に対応する。
【００８８】
Ｐ１０２は、トナー残量のカレント値が急に変化する時であり、トナー残量のセンサー値が２０％から０％に変化した際に、Ｓ１１４で、トナー残量のセンサー値によりトナー残量のカレント値を０％に更新した時に対応する。
【００８９】
図８は、トナー残量の推移を示す図（第１の実施形態：カレント値が現実のトナー残量より高めに推移するケース）である。
【００９０】
図８（Ａ）は、本発明を適用しなかった場合を示している。
【００９１】
本発明を適用しない場合、Ｐ２０１において、トナー残量のセンサー値が４０％になった場合に、トナー残量のカレント値がトナー残量のセンサー値で更新されてしまう。
【００９２】
この結果、本発明を適用しない場合、トナー残量が５０％から４０％へ急激に減少してしまう。
【００９３】
図８（Ｂ）は、本発明を適用した場合を示している。
【００９４】
本発明を適用した場合、Ｐ２０１において、センサー値が４０％になった場合に、すぐにトナー残量が４０％へ推移せず、Ｐ２０１より前に比べ大きく減少推移している。これは、Ｐ２０１において、トナー残量のカレント値がセンサー値より大きいため、Ｓ３０１でＹＥＳとなり、消費量にＣＲＧ容量の０．５％が加算されたからである。
【００９５】
また、本発明を適用した場合、Ｐ２０２において、トナー残量のセンサー値が０％になった場合に、すぐにトナー残量が０％へ推移せず、Ｐ２０１より前に比べ大きく減少推移している。この場合は、センサー値では０％を検知しているにも関わらず、トナー残量算出値が０％となっていないため、この状態で印刷をし続けるとかすれが発生する可能性がある。そのため、センサー値が０％の場合はＳ３０２にて消費量に加算する値をＣＲＧ容量の２％したり、トナー残量を半分するといった、消費量を通常時より増大する処理に切り替えてもよい。
【００９６】
この結果、本発明を適用した場合、カレント値が高めに推移する場合に、センサー値が変化した時点においてトナー残量が大幅に減少することを防止できる。
【００９７】
図９は、トナー残量の推移を示す図（第１の実施形態：カレント値が現実のトナー残量より低めに推移するケース）である。
【００９８】
図９（Ａ）は、本発明を適用しなかった場合を示している。
【００９９】
本発明を適用しない場合、Ｐ２０４において、トナー残量が４０％よりわずかに大きいになった場合に、トナー残量のカレント値の更新が一時停止してしまう。その後、Ｐ２０１において、更新が再開される。
【０１００】
この結果、本発明を適用しない場合、４０％よりわずかに大きい値で更新が行われなくなる。
【０１０１】
図９（Ｂ）は、本発明を適用した場合を示している。
【０１０２】
本発明を適用した場合、Ｐ２０５からＰ２０６の区間において、Ｐ２０５より前よりも小さく減少推移している。これは、次のセンサー値（４０％）＋先述の規定値（１０％）＝５０％より前回のトナー残量が小さくなったため、Ｓ３０３でＹＥＳとなり、Ｓ３０５でＹＥＳとなるため、消費量＝消費量／２となるからである。
【０１０３】
また、Ｐ２０５からＰ２０６の区間において、消費量がさらに減少している。これは、次のセンサー値（４０％）＋先述の規定値（１０％）＝５０％より前回のトナー残量が小さくなったため、Ｓ３０３でＹＥＳとなり、一回目のＳ３０５でＮＯ、２回目のＳ３０５でＹＥＳとなるため、消費量＝消費量／４となるからである。
【０１０４】
この結果、本発明を適用した場合、カレント値が低めに推移する場合に、トナー残量更新の一時停止を防止することができる。
【０１０５】
図１０は、トナー残量の推移を示す図（第１の実施形態：カレント値が現実のトナー残量より高めに推移する場合にセンサー値の誤検知が発生したケース）である。
【０１０６】
図１０（Ａ）は、本発明を適用しなかった場合を示している。
【０１０７】
本発明を適用しない場合、Ｐ２０７からＰ２０８の区間において、トナー残量のセンサー値のセンサー値が誤検知により早めのタイミングで４０％になった場合であっても、トナー残量のカレント値がトナー残量のセンサー値で更新されてしまう。
【０１０８】
図１０（Ｂ）は、本発明を適用した場合を示している。
【０１０９】
本発明を適用した場合、Ｐ２０７からＰ２０８の区間において、トナー残量のセンサー値が誤検知により早めのタイミングで４０％になった場合には、Ｐ２０７より前よりも大きく減少推移している。これは、Ｐ２０７において、前回の残量値がセンサー値より大きいため、Ｓ３０１でＹＥＳとなり、消費量にＣＲＧ容量の０．５％が加算されたからである。
【０１１０】
この結果、トナー残量のセンサー値に誤検知があったとしても、トナー残量のカレント値がトナー残量の理想的な推移から大きく乖離してしまうのを防止することができる。
【０１１１】
〔第２の実施形態〕
第２の実施形態は、第１の実施形態に対して、トナー消費量の補正処理を変更したものである。
【０１１２】
第１の実施形態と共通する部分（図１〜図５）については、説明を省略する。
【０１１３】
図１１は、トナー消費量の補正処理の詳細を示すフローチャート（第２の実施形態）である。
【０１１４】
まず、ＣＰＵ４０１は、トナー残量のカレント値（前回算出したトナー残量の予測値）が、目標値より大きいか否かを判断する（Ｓ４０１）。目標値とは、トナー消費量補正値の変更が終了するトナー残量値を指す。目標値は、予め決められた固定値でもＵＩ３０１からの入力に従ってパネルＩ／Ｆ４０５を介してＣＰＵ４０１が設定する値でもよい。今回は目標値を２０％とする。Ｓ４０１でＹＥＳの場合、Ｓ４０２へ進む。Ｓ４０１でＮＯの場合、Ｓ４０３へ進む。
【０１１５】
次に、ＣＰＵ４０１は、トナー消費量補正値を初期値に更新する（Ｓ４０２）。
【０１１６】
次に、ＣＰＵ４０１は、トナー消費量補正値が初期値であるかどうかを判断する（Ｓ４０３）。Ｓ４０３でＹＥＳの場合はＳ４０４へ進む。Ｓ４０３でＮＯの場合は、Ｓ４０８へ進む。
【０１１７】
次に、ＣＰＵ４０１は、センサー値が所定値であるかどうかを判断する（Ｓ４０４）。所定値とはセンサーが取得可能な値のひとつを指す。今回は所定値を４０％とする。Ｓ４０４でＹＥＳの場合、Ｓ４０５へ進む。Ｓ４０４でＮＯの場合、Ｓ４０６へ進む。
【０１１８】
次に、ＣＰＵ４０１は、Ｓ４０４においてセンサー値が所定の値であると判断した場合は、トナー残量補正値を算出する（Ｓ４０５）。算出には、下記の計算式（１）を用いる。
【０１１９】
【数１】
2015049328.tif 000003
【０１２０】
例えば、最初に取得できるセンサー値が４０％、最後に誤差を修正した値を１００％、前回のトナー残量が５０％、目標値が２０％であった場合の算出結果は以下となる。トナー残量補正値＝（５０％−２０％））／（４０％−２０％）／（（１００％−５０％）／（１００％−４０％））＝１．８。これらの値は、ＣＲＧのトナー容器を占める割合でもトナー自体の重さであってもよい。
【０１２１】
次に、ＣＰＵ４０１は、トナー残量のカレント値（前回算出したトナー残量の予測値）が所定値より大きいか判断する。（Ｓ４０６）。Ｓ４０６でＹＥＳの場合はＳ４１０へ進む。Ｓ４０６でＮＯの場合はＳ４０７へ進む。
【０１２２】
次に、ＣＰＵ４０１は、トナー消費量補正値を最小値にする（Ｓ４０７）。最小値とは、この値をトナー消費量補正値としてＳ４１０でトナー消費量を算出した場合に、所定値から目標値までトナー残量が推移する間に、所定値のセンサー値が通知されることが保障される最大の値を指す。最小値はＲＯＭ４０２に保持されるプログラムのモジュールの中に予め定義されている情報であっても、プリントエンジン３０３が保持している情報を電源起動時にＣＰＵ４０１がエンジンＩ／Ｆ４０６を介して取得する情報であってもよい。また、ドットカウント部４０９から取得したドットカウント値の累計から算出してもよい。
【０１２３】
次に、ＣＰＵ４０１は、トナー消費量補正値が最小値かつセンサー値が所定値であるかを判断する（Ｓ４０８）。Ｓ４０８でＹＥＳの場合は、Ｓ４０９へ進む。Ｓ４０８でＮＯの場合は、Ｓ４１０へ進む。
【０１２４】
次に、ＣＰＵ４０１は、トナー残量補正値を算出する（Ｓ４０９）。算出には、下記の計算式（２）を用いる。
【０１２５】
【数２】
2015049328.tif 000004
【０１２６】
例えば、最初に取得できるセンサー値が４０％、最後に誤差を修正した値を１００％、前回のトナー残量が３８％、目標値が２０％、最小値が０．１であった場合に、
トナー残量補正値＝（（３８％−２０％）／（４０％−２０％））＊（１００％−４０％）／（（１００％−４０％）＋（４０％−３８％）／０．１）＝０．６７５となる。これらの値は、ＣＲＧのトナー容器を占める割合でもトナー自体の重さであってもよい。
【０１２７】
次に、ＣＰＵ４０１は、トナー消費量にトナー消費量補正値を乗算した値を、補正後のトナー消費量とする（Ｓ４１０）。その後、処理を終了する。
【０１２８】
図１２は、トナー残量の推移を示す図（第２の実施形態：カレント値が現実のトナー残量より高めに推移するケース）である。
【０１２９】
図１２（Ａ）は、本発明を適用しなかった場合を示している。
【０１３０】
本発明を適用しない場合、Ｐ２０１において、トナー残量のセンサー値が４０％になった場合に、トナー残量のカレント値がトナー残量のセンサー値で更新されてしまう。
【０１３１】
この結果、本発明を適用しない場合、トナー残量が５０％から４０％へ急激に減少してしまう。
【０１３２】
図１２（Ｂ）は、本発明を適用した場合を示している。
【０１３３】
本発明を適用した場合、Ｐ２０１からＰ２１０まで緩やかに推移している。これは、Ｐ２０１到達時に、センサー値が４０％になったため、Ｓ４０４でＹＥＳとなり、トナー消費量補正値が算出されるためである。
【０１３４】
また、Ｐ２１０到達時において、Ｐ２０１までの推移と同じに戻っている。これは、トナー残量値が目標値である２０％になったため、Ｓ４０１でＹＥＳとなりトナー消費量補正値を初期値に戻しているためである。
【０１３５】
この結果、本発明を適用した場合、カレント値が低めに推移する場合に、トナー残量更新の一時停止を防止することができる。
【０１３６】
図１３は、トナー残量の推移を示す図（第２の実施形態：カレント値が現実のトナー残量より低めに推移するケース）である。
【０１３７】
図１３（Ａ）は、本発明を適用しなかった場合を示している。
【０１３８】
本発明を適用しない場合、Ｐ２０４において、トナー残量が４０％よりわずかに大きい値になった場合に、トナー残量のカレント値の更新が一時停止してしまう。その後、Ｐ２０１において、更新が再開される。
【０１３９】
この結果、本発明を適用しない場合、４０％よりわずかに大きい値で更新が行われなくなる。
【０１４０】
図１３（Ｂ）は、本発明を適用した場合を示している。
【０１４１】
本発明を適用した場合、Ｐ２１１からＰ２０１の区間において、わずかに減少推移している。これは、Ｐ２１１において、前回のトナー残量値がセンサー値を所定値を下回っているため、Ｓ４０７でＹＥＳとなり、トナー消費量補正値が最小値として、消費量が更新されるためである。
【０１４２】
また、Ｐ２０１からＰ２１０の区間において、減少の推移が増大している。これは、Ｐ２０１において、トナー消費量補正値が最小値かつセンサー値が所定値になったため、Ｓ４０９よりトナー消費量補正値が算出され、消費量が更新されるためである。
【０１４３】
また、Ｐ２１０において、Ｐ２０１までの推移と同じに戻っている。これは、トナー残量値が目標値である２０％になったため、Ｓ４０１でＹＥＳとなりトナー消費量補正値を初期値に戻しているためである。
【０１４４】
この結果、本発明を適用した場合、カレント値が低めに推移する場合に、トナー残量更新の一時停止を防止することができる。
【０１４５】
〔第３の実施形態〕
第３の実施形態は、第２の実施形態に対して、トナー消費量の補正処理に用いる数式を変更したものである。
【０１４６】
第１の実施形態と共通する部分（図１〜図５）と、第２の実施形態と共通する部分（図１〜図５）については、説明を省略する。
本実施形態では、式（１）の代わりに以下の式（３）を用い、式（２）の代わりに以下の式（４）を用いる。
【０１４７】
【数３】
2015049328.tif 000005
【０１４８】
【数４】
2015049328.tif 000006
【０１４９】
図１４は、トナー残量の推移を示す図（第３の実施形態：カレント値が現実のトナー残量より高めに推移するケース）である。
【０１５０】
図１４において、図１２と共通する部分については、説明を省略する。
【０１５１】
図１４（Ａ）は、本発明を適用しなかった場合を示している。
【０１５２】
図１４（Ｂ）は、本発明を適用した場合を示している。
【０１５３】
図１４（Ｂ）では、図１２（Ｂ）と比較して、Ｐ２０１以降において、カレント値が、現実のトナー残量より高い位置に偏らず、現実のトナー残量の近傍を推移できるようになる。
【０１５４】
図１５は、トナー残量の推移を示す図（第３の実施形態：カレント値が現実のトナー残量より低めに推移するケース）である。
【０１５５】
図１５において、図１３と共通する部分については、説明を省略する。
【０１５６】
図１５（Ａ）は、本発明を適用しなかった場合を示している。
【０１５７】
図１５（Ｂ）は、本発明を適用した場合を示している。
【０１５８】
図１５（Ｂ）では、図１３（Ｂ）と比較して、Ｐ２０１以降において、カレント値が、現実のトナー残量より低い位置に偏らず、現実のトナー残量の近傍を推移できるようになる。
【０１５９】
〔他の実施形態〕
本発明は、以下の処理を実行することによっても実現される。
【０１６０】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015049328.tif 000007
【図２】
2015049328.tif 000008
【図３】
2015049328.tif 000009
【図４】
2015049328.tif 000010
【図５】
2015049328.tif 000011
【図６】
2015049328.tif 000012
【図７】
2015049328.tif 000013
【図８】
2015049328.tif 000014
【図９】
2015049328.tif 000015
【図１０】
2015049328.tif 000016
【図１１】
2015049328.tif 000017
【図１２】
2015049328.tif 000018
【図１３】
2015049328.tif 000019
【図１４】
2015049328.tif 000020
【図１５】
2015049328.tif 000021