(57)【要約】      （修正有）【課題】トナー残量の予測精度を向上し、予測したトナー残量と残量センサーが検知した残量値の誤差を軽減することができる画像形成装置を提供する。【解決手段】記録材を用いて画像形成を行う画像形成装置であって、記録材の残量を取得する取得手段と、ラスタデータにおけるドットカウント値と、ドット毎の記録材の消費量を示す消費係数に基づいて、記録材の消費量を算出する算出手段と、算出手段により算出された前記記録材の消費量に基づいて、記録材の残量を予測する予測手段と、取得手段により取得された前記記録材の残量と、予測手段により予測された前記記録材の残量に基づいて、消費係数を補正する補正手段と、を有する画像形成装置。センサーを受信した際に、カレント値とセンサー値の誤差に基づいて、トナー消費係数を補正する。【選択図】図７
2016007706.tif 000002
【特許請求の範囲】
【請求項１】
記録材を用いて画像形成を行う画像形成装置であって、
前記記録材の残量を取得する取得手段と、
ラスタデータにおけるドットカウント値と、ドット毎の記録材の消費量を示す消費係数に基づいて、前記記録材の消費量を算出する算出手段と、
前記算出手段により算出された前記記録材の消費量に基づいて、前記記録材の残量を予測する予測手段と、
前記取得手段により取得された前記記録材の残量と、前記予測手段により予測された前記記録材の残量に基づいて、前記消費係数を補正する補正手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記補正手段は、前記記録材の収容部が交換された際に、前記消費係数を更新することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記補正手段は、前記取得手段により取得された前記記録材の残量と前記予測手段により予測された前記記録材の残量の差分が所定値以上である場合に、第１の区間における値に基づいて、前記消費係数を補正することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記補正手段は、前記取得手段により取得された前記記録材の残量と前記予測手段により予測された前記記録材の残量の差分が所定値以上でない場合に、前記第１の区間より短い第２の区間における値に基づいて、前記消費係数を補正することを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
前記補正手段は、前記予測手段により予測された前記記録材の残量が前記取得手段により取得された前記記録材の残量より小さい場合において、前記記録材の収容部を発送すべきときに対応する記録材の残量が前記記録材の残量が少なくなったことを通知すべきときに対応する記録材の残量より大きい場合に、前記消費係数を再び補正することを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
前記補正手段は、前記予測手段により予測された前記記録材の残量が前記取得手段により取得された前記記録材の残量より大きい場合において、前記記録材の収容部を発送すべきときに対応する記録材の残量が前記記録材の残量が少なくなったことを通知すべきときに対応する記録材の残量より小さい場合に、前記消費係数を再び補正することを特徴とする請求項１乃至５の何れか１項に記載の画像形成装置。
【請求項７】
前記補正手段は、前記取得手段により取得された前記記録材の残量と前記予測手段により予測された前記記録材の残量の差分の標準偏差が所定値未満である場合に、一定範囲の差分に基づいて、前記消費係数を補正することを特徴とする請求項１乃至６の何れか１項に記載の画像形成装置。
【請求項８】
前記補正手段は、前記取得手段により取得された前記記録材の残量と前記予測手段により予測された前記記録材の残量の差分の標準偏差が所定値未満でない場合に、全範囲の差分に基づいて、前記消費係数を補正することを特徴とする請求項１乃至７の何れか１項に記載の画像形成装置。
【請求項９】
記録材を用いて画像形成を行う画像形成装置の制御方法であって、
前記記録材の残量を取得する取得工程と、
ラスタデータにおけるドットカウント値と、ドット毎の記録材の消費量を示す消費係数に基づいて、前記記録材の消費量を算出する算出工程と、
前記算出工程により算出された前記記録材の消費量に基づいて、前記記録材の残量を予測する予測工程と、
前記取得工程により取得された前記記録材の残量と、前記予測工程により予測された前記記録材の残量に基づいて、前記消費係数を補正する補正工程と、
を有することを特徴とする制御方法。
【請求項１０】
記録材を用いて画像形成を行う画像形成装置に、
前記記録材の残量を取得する取得工程と、
ラスタデータにおけるドットカウント値と、ドット毎の記録材の消費量を示す消費係数に基づいて、前記記録材の消費量を算出する算出工程と、
前記算出工程により算出された前記記録材の消費量に基づいて、前記記録材の残量を予測する予測工程と、
前記取得工程により取得された前記記録材の残量と、前記予測工程により予測された前記記録材の残量に基づいて、前記消費係数を補正する補正工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置は、トナー等の記録材を用いて、シートに画像形成を行う。一般的に、記録材は、カートリッジ等の収容部に収容されている。
【０００３】
従来、ラスタデータのドットカウント値に基づいて、カートリッジにおけるトナー残量を予測する技術が知られている（特許文献１）。具体的には、ラスタデータのドットカウント値に基づいてトナー消費量を算出し、現在のトナー残量から今回のトナー消費量を減算することにより、トナー残量を算出する。ここで、トナー消費量は、ラスタデータのドットカウント値に対して、装置ごとに予め定められたトナー消費係数を乗算することにより算出することが一般的であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３４３６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、トナー消費係数としては、固定値が用いられていた。
【０００６】
しかしながら、トナー消費量は、ラスタデータのドットカウント値に対して、単純に比例するとは限らない。
【０００７】
例えば、画像データ中の印字率が変化すると、ドットカウントに基づいてトナー残量を算出する際に用いる１ドットあたりのトナー消費量も変化する。また、画像の種類（画像周波数）、印刷の頻度、温度や湿度等の違いで載り量は変化する。このため、ドットカウントに基づいて算出したトナー残量の予測値にはずれが生じる。しかし、このずれが大きい場合、特許文献１の方法を用いて通知する残量値を補正すると通知する残量値が大きく変化しユーザーの混乱を招く可能性があるという課題がある。
【０００８】
本発明は、上述した問題を解決するためになされたものであり、トナー残量の予測精度を向上し、予測したトナー残量と残量センサーが検知した残量値の誤差を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る画像形成装置は、記録材を用いて画像形成を行う画像形成装置であって、前記記録材の残量を取得する取得手段と、ラスタデータにおけるドットカウント値と、ドット毎の記録材の消費量を示す消費係数に基づいて、前記記録材の消費量を算出する算出手段と、前記算出手段により算出された前記記録材の消費量に基づいて、前記記録材の残量を予測する予測手段と、前記取得手段により取得された前記記録材の残量と、前記予測手段により予測された前記記録材の残量に基づいて、前記消費係数を補正する補正手段と、を有することを特徴とする。
【発明の効果】
【００１０】
予測したトナー残量と残量センサーが検知した残量値の誤差が軽減する。
【図面の簡単な説明】
【００１１】
【図１】画像形成装置の構成を示すブロック図
【図２】コントローラの構成を示すブロック図
【図３】プリントエンジンの構成を示すブロック図
【図４】トナーの残量検知の制御を示すフローチャート（前半）
【図５】トナーの残量検知の制御を示すフローチャート（後半）
【図６】トナー残量のカレント値の推移を示す図（第１の実施形態）
【図７】トナー消費係数の更新処理の詳細を示すフローチャート（第１の実施形態）
【図８】トナー残量のカレント値の推移を示す図（第２の実施形態）
【図９】トナー消費係数の更新処理の詳細を示すフローチャート（第２の実施形態）
【図１０】トナー残量のカレント値の推移を示す図（第４の実施形態）
【図１１】トナー消費係数の更新処理の詳細を示すフローチャート（第５の実施形態）
【図１２】トナー消費係数の更新処理の詳細を示すフローチャート（第６の実施形態）
【図１３】頻度と誤差との関係を示す図
【発明を実施するための形態】
【００１２】
〔第１の実施形態〕
図１は、画像形成装置の構成を示すブロック図である。
【００１３】
データ処理装置１０１（例えばＰＣ）は、画像データを生成し、当該画像データを画像形成装置１０２に送信する。
【００１４】
画像形成装置１０２（例えばレーザープリンタ）は、データ処理装置１０１から画像データを受信し、当該画像データに基づいてシートに画像形成を行う。なお、画像形成装置１０２は、スキャナ機能やＦＡＸ機能等を有する複合機であってもよい。
【００１５】
ＵＩ３０１は、ユーザインターフェースであり、ユーザに様々な情報を伝える表示部や、ユーザから様々な操作を受け付ける操作部を有する。表示部には、後述するトナー残量のカレント値が表示される。なお、トナー残量のカレント値は、外部Ｉ／Ｆを介してデータ処理装置１０１等の外部装置に送信し、データ処理装置１０１等の外部装置が有する表示部に表示してもよい。
【００１６】
コントローラ３０２は、ＰＤＬデータに基づいてビットマップデータを生成し、当該ビットマップデータをプリントエンジン３０３に送信する。コントローラ３０２の詳細は、図２を用いて後述する。
【００１７】
プリントエンジン３０３は、コントローラ３０２から受信したビットマップデータに基づいて、電子写真方式でトナーを用いてシートに画像形成を行う。なお、画像形成の方式は、電子写真方式以外の、例えばインクジェット方式等でもよい。この場合、電子写真方式の記録材はトナーであるが、インクジェット方式の記録材はインクである。
【００１８】
なお、コントローラ３０２とプリントエンジン３０３は、別体としているが、一体であってもよい。
【００１９】
図２は、コントローラの構成を示すブロック図である。
【００２０】
ＣＰＵ４０１は、ＲＯＭ４０２に格納されたプログラムをＲＡＭ４０３に展開し、当該プログラムを実行して画像形成装置１０２の制御を行う。また、ＣＰＵ４０１は、後述するように、ドットカウント部４０９でカウントされるドットカウントから換算されるトナー消費量の予測値や、プリントエンジン３０３から通知されるトナー残量のセンサー値に基づいて、トナー残量を算出する。そして、ＣＰＵ４０１は、算出したトナー残量を、パネルＩ／Ｆ４０５を介してＵＩ３０１に表示したり、外部Ｉ／Ｆ４０４を介してデータ処理装置１０１に通知したりする。
【００２１】
ＲＯＭ４０２は、ＣＰＵ４０１が実行するプログラム等を記憶する。
【００２２】
ＲＡＭ４０３は、ＲＯＭ４０２から展開されたプログラム等を記憶する。また、ＲＡＭ４０３は、ＰＤＬデータ、ＰＤＬデータを解釈して生成される中間データ、中間データをレンダリングして生成されるビットマップデータ、その他の処理に必要な一時的な各種処理ステータスやログ情報等も記憶する。
【００２３】
外部Ｉ／Ｆ４０４は、データ処理装置１０１とコントローラ３０２とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００２４】
パネルＩ／Ｆ４０５は、ＵＩ３０１とコントローラ３０２とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００２５】
エンジンＩ／Ｆ４０６は、プリントエンジン３０３とコントローラ３０２とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００２６】
ＤＭＡＣ４０７は、ＣＰＵ４０１から命令を受け、ＲＡＭ４０３に対してデータアクセスすなわちデータの書き込みや読み出しを行う。
【００２７】
レンダリング部４０８は、中間データをビットマップデータに展開する。
【００２８】
ドットカウント部４０９は、展開されたビットマップデータに含まれるドットのうち、画像形成を行う際にトナーを消費するドットの数をカウントする。具体的には、白以外の色のドット数がカウントされる。例えば、モノクロ印刷の場合は、Ｋ（黒）に対応するドット数である。また、カラー印刷の場合は、Ｙ（イエロー）・Ｍ（マゼンダ）・Ｃ（シアン）・Ｋ（黒）の何れかに対応するドットの数である。なお、ドット数のカウントは、ＣＰＵ４０１やレンダリング部４０８が行ってもよい。
【００２９】
ＥＥＰＲＯＭ４１０は、画像形成装置１０２の設定情報等を記憶する。
【００３０】
バス４１１は、コントローラ３０２内の各構成を相互に接続する。
【００３１】
図３は、プリントエンジンの構成を示すブロック図である。
【００３２】
ＣＰＵ５０１は、ＲＯＭ５０２に格納されたプログラムをＲＡＭ５０３に展開し、当該プログラムを実行してプリントエンジン３０３の制御を行う。
【００３３】
ＲＯＭ５０２は、ＣＰＵ５０１が実行するプログラム等を記憶する。
【００３４】
ＲＡＭ５０３は、ＲＯＭ５０２から展開されたプログラム等を記憶する。
【００３５】
トナー残量センサー５０４は、カートリッジ５０９に含まれるトナー残量を計測する。センサーにおけるトナー残量の検知方式としては、例えば、透磁率検知式、マグネット式、圧電振動式、透過光式等が存在する。センサーは、例えば、トナー残量が２０％、０％等の所定値に達した場合に、その値をセンサー値として検知する。つまり、トナー残量が１００％〜２１％であるときは１００％、トナー残量が２０％〜１％であるときは２０％、トナー残量が０％であるときは０％として検知する。なお、センサーは、カートリッジ５０９の中に備えられることとしてもよい。
【００３６】
駆動制御部５０５は、画像形成部５０８が画像形成を行う際に必要な各種モーターを駆動させる。
【００３７】
ステータス変化検知部５０６は、画像形成装置におけるジャムやカバーオープン等のステータス変化を検知する。また、ステータス変化検知部５０６は、カートリッジ５０９の交換も検知する。なお、テータス変化の検知は、ＣＰＵ５０１が行うこととしてもよい。
【００３８】
コントローラＩ／Ｆ５０７は、コントローラ３０２とプリントエンジン３０３とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【００３９】
画像形成部５０８は、コントローラ３０２から受信したビットマップデータに基づいて、電子写真方式でトナーを用いてシートに画像形成を行う。
【００４０】
カートリッジ５０９は、トナーを収容する収容部として、画像形成装置１０２に装着可能な所謂プロセスカートリッジであり、画像形成部５０８が画像形成を行う際に使用するトナー等を格納する。また、カートリッジ５０９は、不揮発性の記憶媒体を有し、その中にはカートリッジ情報が記憶される。カートリッジ情報には、例えば、カートリッジが新品か否かを示す情報、カートリッジの色を示す色情報、カートリッジの現在のトナー残量を示すトナー残量情報等が含まれる。なお、カートリッジ５０９は、バス５１０には接続されているが、専用線を介してＣＰＵ５０１と接続されることとしてもよい。
【００４１】
バス５１０は、プリントエンジン３０３内の各構成を相互に接続する。
【００４２】
図４及び図５は、トナーの残量検知の制御を示すフローチャートである。
【００４３】
左側のフローチャートに示す制御は、コントローラ３０２において、ＣＰＵ４０１がＲＯＭ４０２に格納された制御プログラムをＲＡＭ４０３に展開して実行することにより実現される。また、右側のフローチャートに示す制御は、プリントエンジン３０３において、ＣＰＵ５０１がＲＯＭ５０２に格納された制御プログラムをＲＡＭ５０３に展開して実行することにより実現される。
【００４４】
まず、ＣＰＵ５０１は、カートリッジ５０９が交換されたか否か判断する（Ｓ２０１）。これは、画像形成装置１０２にカートリッジ５０９が新たに装着されたことを検出することによって判断する。カートリッジ５０９が装着されたことは、ステータス変化検知部５０６がカートリッジ５０９の装着を検知しＣＰＵ５０１に通知することによって認識される。カートリッジ５０９の装着は、カートリッジ５０９を交換するために設けられたカバーの開閉よって検知してもよいし、部品の着脱に応じてハード的にオン／オフ状態が変化するボタンやスイッチ等によって検知してもよい。Ｓ２０１でＹＥＳの場合、Ｓ２０２に進む。Ｓ２０１でＮＯの場合、待機する。
【００４５】
次に、ＣＰＵ５０１は、カートリッジ５０９が交換された旨を示すカートリッジ交換通知を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２０２）。
【００４６】
次に、ＣＰＵ４０１は、カートリッジ交換通知を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１０１）。Ｓ１０１でＹＥＳの場合、Ｓ１０２に進む。Ｓ１０１でＮＯの場合、待機する。
【００４７】
次に、ＣＰＵ４０１は、カートリッジ５０９のカートリッジ情報を要求するカートリッジ情報要求を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３へ送信する（Ｓ１０２）。
【００４８】
次に、ＣＰＵ５０１は、カートリッジ情報要求を、コントローラＩ／Ｆ５０７を介してコントローラ３０２から受信したか否か判断する（Ｓ２０３）。Ｓ２０３でＹＥＳの場合、Ｓ２０４に進む。Ｓ２０３でＮＯの場合、待機する。
【００４９】
次に、ＣＰＵ５０１は、カートリッジ５０９のカートリッジ情報を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２０４）。
【００５０】
次に、ＣＰＵ４０１は、カートリッジ情報を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１０３）。Ｓ１０３でＹＥＳの場合、Ｓ１０４に進む。Ｓ１０３でＮＯの場合、待機する。
【００５１】
次に、ＣＰＵ４０１は、トナー消費係数の更新処理を実行する（Ｓ１２１）。トナー消費係数の更新処理の詳細は、図７を用いて後述する。
【００５２】
次に、ＣＰＵ４０１は、カートリッジ情報に基づいて、トナー残量のカレント値の初期化を行う（Ｓ１０４）。ここで、トナー残量のカレント値とは、コントローラ３０２がカートリッジ５０９のトナー残量として認識している値であり、ＵＩ３０１を介してユーザに表示される値である。トナー残量のカレント値の初期化は、具体的には、カートリッジ情報を参照し、カートリッジが新品であることが分かれば、トナー残量のカレント値を１００％に設定する。また、カートリッジが新品であることが分からなければ、トナー残量のカレント値を前述したカートリッジ情報に含まれるトナー残量情報に対応する値に設定する。トナー残量のカレント値は、ＲＡＭ４０３等に保持される。
【００５３】
次に、ＣＰＵ４０１は、画像形成を実行すべきジョブを、外部Ｉ／Ｆ４０４を介してデータ処理装置１０１から入力したか否か判断する（Ｓ１０５）。ここで、ジョブとしては、ＰＤＬ印刷ジョブ、コピージョブ、ＦＡＸ受信印刷ジョブ等が挙げられる。Ｓ１０５でＹＥＳの場合、Ｓ１０６に進む。Ｓ１０５でＮＯの場合、Ｓ１１１へ進む。
【００５４】
次に、ＣＰＵ４０１は、ジョブに基づいて、画像形成に必要な画像処理を実行する（Ｓ１０６）。ここで、画像処理の中には、レンダリング部４０８を制御して、印刷データを展開しラスタデータを生成する処理が含まれる。
【００５５】
次に、ＣＰＵ４０１は、画像処理によって生成されたラスタデータを、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３へ送信する（Ｓ１０７）。
【００５６】
次に、ＣＰＵ４０１は、ドットカウント部４０９から、ラスタデータの生成時に計測されたドットカウント値を取得する（Ｓ１０８）。なお、ドットカウント値は、ページ単位で取得してもよいし、ジョブ単位で取得してもよい。
【００５７】
次に、ＣＰＵ４０１は、Ｓ１０８で取得したドットカウント値に基づいて、トナー残量の予測値を算出する（Ｓ１０９）。具体的には、まず、（今回のジョブ又はページの印刷実行時におけるドットカウント値〔ｄｏｔ〕）×（ドット毎のトナー消費量〔ｇ／ｄｏｔ〕）＝（今回のジョブ実行によるトナー消費量〔ｇ〕）という計算を行う。ここで、ドット毎のトナー消費量は、ＲＯＭ４０２に予め格納されていてもよいし、Ｓ１０３で受信したカートリッジ情報に含まれていてもよい。次に、（現在のトナー残量〔ｇ〕）―（今回のジョブ実行によるトナー消費量〔ｇ〕）＝（新たなトナー残量〔ｇ〕）という計算を行う。次に、（新たなトナー残量〔ｇ〕）／（カートリッジの未使用状態におけるトナー残量〔ｇ〕）＝（新たなトナー残量の予測値〔％〕）という計算を行う。ここで、カートリッジの未使用状態におけるトナー残量は、ＲＯＭ４０２に予め格納されていてもよいし、Ｓ１０３で受信したカートリッジ情報に含まれていてもよい。
【００５８】
なお、ドットカウントを用いてトナー消費量を求める計算式は、具体的には以下のようになる。
【００５９】
Ｃｄ  ＝  Ａｄ  ×  Ｄ・・・（式１）
Ｃｄ  ：  ドットカウントを用いて算出したトナー消費量［ｇ］
Ａｄ  ：  トナー消費係数（１ドットあたりのトナー使用量）［ｇ／ｄｏｔ］  
Ｄ  ：  印刷ページのドットカウンタ［ｄｏｔ］
次に、ＣＰＵ４０１は、Ｓ１０９で算出した予測値により、トナー残量のカレント値を更新する（Ｓ１１０）。
【００６０】
一方、ＣＰＵ５０１は、ラスタデータを、コントローラＩ／Ｆ５０７を介してコントローラ３０２から受信したか否か判断する（Ｓ２０５）。Ｓ２０５でＹＥＳの場合、Ｓ２０６に進む。Ｓ２０５でＮＯの場合、Ｓ２０８へ進む。
【００６１】
次に、ＣＰＵ５０１は、画像形成部５０８を制御することにより、ラスタデータに基づいて画像形成を実行する（Ｓ２０６）。
【００６２】
次に、ＣＰＵ５０１は、トナー残量センサー５０４から、トナー残量のセンサー値を取得する（Ｓ２０７）。なお、センサー値取得のタイミングは、ページ単位で画像形成が完了したタイミングでもよいし、ジョブ単位で画像形成が完了したタイミングでもよい。また、センサー値取得のタイミングは、所定の時間が経過する度としてもよい。
【００６３】
次に、ＣＰＵ５０１は、今回取得したセンサー値が、前回取得したセンサー値から変化したか否か判断する（Ｓ２０８）。Ｓ２０８でＹＥＳの場合、Ｓ２０９に進む。Ｓ２０８でＮＯの場合、Ｓ２０５に戻る。
【００６４】
次に、ＣＰＵ５０１は、センサー値が変化した旨を示すセンサー値変化通知を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２０９）。
【００６５】
次に、ＣＰＵ４０１は、センサー値変化通知を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１１１）。Ｓ１１１でＹＥＳの場合、Ｓ１１２に進む。Ｓ１１１でＮＯの場合、Ｓ１０５に戻る。
【００６６】
次に、ＣＰＵ４０１は、センサー値を要求するセンサー値要求を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３へ送信する（Ｓ１１２）。
【００６７】
次に、ＣＰＵ５０１は、センサー値要求を、コントローラＩ／Ｆ５０７を介してコントローラ３０２から受信したか否か判断する（Ｓ２１０）。Ｓ２１０でＹＥＳの場合、Ｓ２１１に進む。Ｓ２１０でＮＯの場合、待機する。
【００６８】
次に、ＣＰＵ５０１は、センサー値を、コントローラＩ／Ｆ５０７を介してコントローラ３０２へ送信する（Ｓ２１１）。
【００６９】
次に、ＣＰＵ４０１は、センサー値を、エンジンＩ／Ｆ４０６を介してプリントエンジン３０３から受信したか否か判断する（Ｓ１１３）。Ｓ１１３でＹＥＳの場合、Ｓ１１４に進む。Ｓ１１３でＮＯの場合、待機する。
【００７０】
次に、ＣＰＵ４０１は、トナー消費係数の更新処理を実行する（Ｓ１２２）。トナー消費係数の更新処理の詳細は、図７を用いて後述する。
【００７１】
次に、ＣＰＵ４０１は、Ｓ１１３で受信したセンサー値で、トナー残量のカレント値を更新する（Ｓ１１４）。このとき、今回取得したセンサー値は、ＲＡＭ４０３等に保持しておく。なお、前回取得したセンサー値が保持されていれば、それを今回取得したセンサー値で更新する。
【００７２】
次に、ＣＰＵ４０１は、トナー残量のカレント値を参照して、トナー残量がゼロになったか否か判断する（Ｓ１１５）。Ｓ１１５でＹＥＳの場合、処理を終了する。Ｓ１１５でＮＯの場合、Ｓ１０５に戻る。
【００７３】
一方、ＣＰＵ５０１は、トナー残量のセンサー値を参照して、トナー残量がゼロになったか否か判断する（Ｓ２１２）。Ｓ２１２でＹＥＳの場合、処理を終了する。Ｓ２１２でＮＯの場合、Ｓ２０５に戻る。
【００７４】
図６は、トナー残量のカレント値の推移を示す図である。
【００７５】
２００は、現実のトナー残量の推移を示す。ここで、現実のトナー残量とは、実際に存在しているトナー残量の正確な値であり、例えばセンサーが全体域に渡って非常に精度の良いものでない限り、直接的に取得することは非常に困難である。
【００７６】
２０１〜２０３は、トナー残量のセンサー値の推移を示す。
【００７７】
２１０は、トナー残量のセンサー値のとり得る値を示す。本実施形態では、この値を１００％、２０％、０％としているが、その他の値としてもよい。
【００７８】
２５０は、トナー残量のカレント値の推移を示す。
【００７９】
Ｐ２５１は、カートリッジの交換後、Ｓ１０４においてトナー残量のカレント値を初期化したときに対応する。
【００８０】
Ｐ２５１からＰ２５２の区間は、トナー残量のセンサー値（２０％）を受信するまでの間、Ｓ１０５〜Ｓ１１１のループにおいてトナー残量の予測値を算出してトナー残量のカレント値を更新しているときに対応する。
【００８１】
Ｓ２５２からＳ２５３の区間は、トナー残量のセンサー値（２０％）を受信した際に、Ｓ１０４においてセンサー値（２０％）でトナー残量のカレント値を更新したときに対応する。このとき、ユーザに対してトナーＬＯＷ（トナー残量が少なくなってきたこと）を通知する。
【００８２】
Ｐ２５３からＰ２５４の区間は、トナー残量のセンサー値（０％）を受信するまでの間、Ｓ１０５〜Ｓ１１１のループにおいてトナー残量の予測値を算出してトナー残量のカレント値を更新しているときに対応する。
【００８３】
Ｓ２５４からＳ２５５の区間は、トナー残量のセンサー値（０％）を受信した際に、Ｓ１０４においてセンサー値（０％）でトナー残量のカレント値を更新したときに対応する。このとき、ユーザに対してトナーＯＵＴ（トナー残量が無くなったこと）を通知する。
【００８４】
図７は、トナー消費係数の更新処理の詳細を示すフローチャート（第１の実施形態）である。
【００８５】
まず、ＣＰＵ４０１は、トナーカートリッジが交換されたか否か判断する（Ｓ３０１）。ここで、Ｓ１２１からこのフローチャートに進んだ場合には、ＹＥＳとなる。一方、Ｓ１２２からこのフローチャートに進んだ場合には、ＮＯとなる。Ｓ３０１でＹＥＳの場合、Ｓ３０３に進む。Ｓ３０１でＮＯの場合、Ｓ３０２に進む。
【００８６】
Ｓ３０１でＮＯの場合、ＣＰＵ４０１は、カレント値とセンサー値に基づいて、トナー消費係数の補正値を算出する（Ｓ３０２）。算出するための式は、以下のようになる。
【００８７】
Ｂ  ＝  （ＲＳｐｒｅ  −  ＲＳｃｕｒ  ）／  （ＲＳｐｒｅ  -  ＲＣ） ・・・（式２）
Ｂ  ：  トナー消費係数の補正値
ＲＳｃｕｒ：  現在取得できているセンサー残量値［ｇ］
ＲＳｐｒｅ  ：  前回取得できたセンサー残量値［ｇ］  
ＲＣ  ：カレント残量値（トナー消費予測値に従って算出したトナー残量値）［ｇ］
ここで、トナー消費係数の補正値Ｂは、センサー残量値ＲＳｃｕｒをトナーカートリッジ容量ＲＳｐｒｅからカレント残量値ＲＣを引いたもの、すなわちセンサー残量値が変化するまでの間に消費したと予測してきたトナーの総消費量で除算した値として算出する。例えば、図６を用いて説明する。Ｐ２５３で取得したセンサー残量値ＲＳｃｕｒが２００［ｇ］、Ｐ２５１で取得したセンサー残量値ＲＳｐｒｅが１０００［ｇ］、カレント残量値ＲＣが４００［ｇ］の場合を考える。この場合、センサーが検知した実際のトナー消費量（ＲＳｐｒｅ  −  ＲＳｃｕｒ  ）が８００［ｇ］であるのに対して、センサー残量値が変化するまでの間に消費したと予測したトナーの総消費量（ＲＳｐｒｅ  -  ＲＣ）を６００［ｇ］と予測している。つまり、実際の消費量に対して（６００／８００）倍トナーを消費していると予測していることになる。そのため、（６００／８００）の逆数の（８００／６００）をトナー消費係数に掛け合わせてトナー消費量を予測するようにする。このようにすることで、トナー消費量と実際のトナー消費量はほぼ一致し、誤差（差分）が減少するため、トナー消費係数の補正値Ｂは式２で算出する。また、Ｐ２５５におけるトナー消費係数の補正値は、Ｐ２５３からＰ２５５までの区間において算出する。つまり、ＲＳｃｕｒが０［ｇ］、Ｐ２５３で取得したセンサー残量値ＲＳｐｒｅが２００［ｇ］、カレント残量値ＲＣが２０［ｇ］として、同様に式２を用いて算出する。ここで、上記のトナー消費係数の補正値の算出方法はあくまで一例であり、別の算出方法を用いて算出するようにしてもよい。
【００８８】
Ｓ３０１でＹＥＳの場合、ＣＰＵ４０１は、式２を用いず、トナー消費係数の補正値Ｂを１とする（Ｓ３０３）。つまり、トナー消費係数Ａｄは変更せず、ＥＥＰＲＯＭ４１０に保存されているものをそのまま使用する。このようにすることで、画像形成装置１０２においてまだ一度もトナーカートリッジを使用していない場合は、デフォルトのトナー消費係数を用いてトナー消費量を算出することができる。また、一度以上トナー消費係数の更新処理を行ったことがある場合は、トナーカートリッジを交換した場合でも、交換前のトナーカートリッジで更新したトナー消費係数を継続して使用してトナー消費量を算出することができる。これにより、トナーカートリッジ交換後も、トナー消費量の予測精度が高い状態を維持することが可能となる。例えば、図６のＰ２５１からＰ２５２へ推移する際のトナー消費量の予測は、理想的な通知残量値の推移を示す線２００に沿うように推移するようになる。そのため、取得したセンサー残量値が１００％から２０％への変化した際に、補正する補正量が軽減され、Ｐ２５２からＰ２５３への落差が緩和される。
【００８９】
次に、ＣＰＵ４０１は、Ｓ３０２又はＳ３０３で算出したトナー消費係数の補正値Ｂを、ＥＥＰＲＯＭ４１０に格納する（Ｓ３０４）。
【００９０】
次に、ＣＰＵ４０１は、トナー消費係数ＡｄにＳ２０２で算出したトナー消費係数の補正値Ｂを乗算し、トナー消費係数Ａｄを更新する（Ｓ３０５）。
【００９１】
以上により、例えば図６のＰ２５３でトナー消費係数Ａｄを更新することで、図６のＰ２５３からＰ２５４へ推移する際のトナー消費量の予測は、理想的な通知残量値の推移を示す線２００に沿うように推移するようになる。そのため、取得したセンサー残量値が２０％から０％への変化した際に、補正する補正量が軽減される。
【００９２】
〔第２の実施形態〕
第１の実施形態では、図６のＰ２５１からＰ２５２の区間において求めたトナーの総消費量とＰ２５３で取得したセンサ残量値からトナー消費係数の補正値を算出する例について述べた。
【００９３】
本実施形態では、複数の区間を考慮したトナー消費係数の補正値を算出する例について、図８、図９を用いて説明する。
【００９４】
図８は、トナー残量のカレント値の推移を示す図（第２の実施形態）である。
【００９５】
６００は、物理消費と同じ消費量を取得できる仮定した場合の理想的な通知残量値の推移を示す線である。
【００９６】
６０１〜６０４は、プリンタエンジン３０３から通知されるセンサー残量値の推移の例を示す線である。
【００９７】
６１０は、プリンタエンジン３０３から通知され得るセンサー残量値（％）のポイントの例である。この例では、プリンタエンジン３０３から通知され得るセンサー残量値は、１００％、６０％、３０％、０％であり、３０％をＬｏｗレベルのしきい値とする。
【００９８】
６５０は、トナー残量値の推移を示す線である。６５０は、Ｐ６５１のポイントから始まり、トナー残量として０％を通知するＰ６５７のポイントまでに、Ｐ６５２〜Ｐ６５６の各ポイントを推移する。
【００９９】
Ｐ６５１は、カートリッジ交換直後の状態である。
【０１００】
Ｐ６５１からＰ６５２の区間は、プリンタエンジン３０２から取得したセンサー残量値が１００％から変化しないことにより、トナー消費量の予測に基づいて推移していることを示している。
【０１０１】
Ｐ６５２からＰ６５３の推移は、プリンタエンジン３０３から取得したセンサー残量値が１００％から６０％への変化に従い、通知するトナー残量を補正したことによるものである。ここで、Ｐ６５３においてトナー消費係数更新処理によりトナー消費係数を更新する。
【０１０２】
Ｐ６５３からＰ６５４の区間は、プリンタエンジン３０３から取得したセンサー残量値が６０％から変化しないことにより、トナー消費量の予測に基づいて推移していることを示している。ここで、本来は、Ｐ６５３からＰ６５４の区間はＰ６５３でトナー消費係数を更新したことにより、理想的な通知残量値の推移を示す線６００との乖離が小さくなる。
【０１０３】
ここで、Ｐ６５３からＰ６５４の区間におけるトナー消費量の予測値から算出したトナー残量とセンサー残量値の誤差が所定値以上であった場合、以下のようなことが考えられる。
【０１０４】
・温度や湿度などの環境の変化
・印刷するデータの傾向の変化（利用するユーザの変化も含む）
そのため、Ｐ６５５におけるトナー消費係数の更新を行う場合、現区間だけのデータからトナー消費係数の補正値Ｂを求めるよりも前区間と現区間を合わせた全体のデータからトナー消費係数の補正値Ｂを求めた方がより普遍的なトナー消費係数を求めることができる。
【０１０５】
このように、Ｐ６５３からＰ６５４の区間におけるトナー消費量の予測値から算出したトナー残量値（カレント残量値）とセンサー残量値の誤差が所定値以上の場合を考慮したトナー消費係数更新処理を、図９に示す。
【０１０６】
Ｐ６５４からＰ６５５の推移は、プリンタエンジン３０３から取得したセンサー残量値が６０％から３０％への変化に従い、通知するトナー残量を補正したことによるものである。
【０１０７】
Ｐ６５５からＰ６５６の区間は、プリンタエンジン３０３から取得したセンサー残量値が３０％から変化しないことにより、トナー消費量の予測に基づいて推移していることを示している。
【０１０８】
Ｐ６５６からＰ６５７の推移は、プリンタエンジン３０３から取得したセンサー残量値が３０％から０％への変化に従い、通知するトナー残量を補正したことによるものである。
【０１０９】
図９は、トナー消費係数の更新処理の詳細を示すフローチャート（第２の実施形態）である。
【０１１０】
図９において、図７と同様のステップについては、同じ番号を付して説明を省略する。
【０１１１】
まず、ＣＰＵ４０１は、現区間の間でカレント残量値とセンサー残量値の誤差を算出する（Ｓ４０１）。
【０１１２】
次に、ＣＰＵ４０１は、Ｓ４０１で算出した誤差が所定値以上か否か判断する（Ｓ４０２）。
【０１１３】
Ｓ４０２で所定値以上と判断された場合、ＣＰＵ４０１は、は前区間と現区間を合わせて、トナー消費係数の補正値を算出する（Ｓ４０３）。このとき、例えば図８の例では、Ｐ６５１におけるセンサー残量値を１０００［ｇ］、Ｐ６５３におけるセンサー残量値を６００［ｇ］、Ｐ６５５におけるセンサー残量値を３００［ｇ］、Ｐ６５４におけるカレント残量値を２８０［ｇ］とする。Ｓ４０３においては、ＲＳｃｕｒを３００［ｇ］、ＲＳｐｒｅをＰ６５１で取得したセンサー残量値を１０００［ｇ］、カレント残量値ＲＣを２８０［ｇ］として、トナー消費係数の補正値Ｂを、式２を用いて算出する。このようにすることで、第１の実施形態での算出方法に比べて、前区間でのトナー消費量の予測の誤差を反映したトナー消費係数の補正値Ｂおよびトナー消費係数を算出することができる。
【０１１４】
Ｓ４０２で所定値未満と判断された場合、ＣＰＵ４０１は、現区間のみでトナー消費係数の補正値を算出する（Ｓ４０４）。このとき、例えば図８の例では、ＲＳｐｒｅをＰ６５３で取得したセンサー残量値６００［ｇ］とし、他の値はＳ４０３の場合と同様の値で算出する。
【０１１５】
なお、本実施形態では、現区間の間でカレント残量値とセンサー残量値の誤差が所定値以上の場合、前区間と現区間を合わせてトナー消費係数の補正値を算出しているが、全区間を合わせて算出するようにしてももちろんよい。例えば、Ｐ６５７でセンサー残量値を取得した際に、Ｐ６５５からＰ６５６の区間でのカレント残量値とセンサー残量値の誤差が所定値以上の場合、Ｐ６５１からＰ６５６の区間においてトナー消費係数の補正値を算出するようにしてもよい。
【０１１６】
また、同一トナーカートリッジ内だけでなく、例えば前回使用していたトナーカートリッジの最後の区間と新しく使用し始めたトナーカートリッジの最初の区間に対して本実施形態を適用してもよい。
【０１１７】
〔第３の実施形態〕
第１〜２の実施形態では、プリンタエンジン３０３からセンサー残量値が取得できた場合、トナー消費係数の補正値を算出し、トナー消費係数を更新する例について述べた。
【０１１８】
しかし、プリンタエンジンの種類によっては、トナー消費量が少なくてもセンサー残量値が取得できるものもある。例えば、図８の例でトナー残量が９０％のときもセンサー残量値が取得できるエンジンがあったとする。この場合、第１〜２の実施形態では、センサー残量値が９０％と取得できた際にトナー消費係数を更新する。しかし、トナーが１０％しか減っていない段階では、印刷したデータやユーザなどのサンプル数が少なく、その画像形成装置におけるトナー消費量の傾向がつかみ切れていないことが考えられる。
【０１１９】
第３の実施形態では、以上の点を考慮し、印刷したデータやユーザなどのサンプル数が少ないと判断できる段階でセンサー残量値を取得できた場合はトナー消費係数の更新を行わないようにする。
【０１２０】
〔第４の実施形態〕
第１〜３の実施形態では、プリンタエンジン３０３から取得できるセンサー残量値が、図６、図８のように離散的な場合について述べてきた。
【０１２１】
しかし、プリンタエンジンによっては、トナー残量値がある程度減少してくると、１％ごとにセンサー残量値が取得できるエンジンがある。その場合、トナー残量の推移は、例えば図１０のようになる。
【０１２２】
図１０は、トナー残量のカレント値の推移を示す図（第４の実施形態）である。
【０１２３】
これは、図８においてトナー残量値が３０％以下になった後は、１％ごとにセンサー残量値が取得できた場合を示した図である。図８と図１０の違いは、図８の６０３が３０％固定なのに対し、図１０の７０３は１％ごとにセンサー残量値が減少している点のみである。ここで、図１０のＰ７５５からＰ７５６までの区間はセンサー残量値が１％ごとに取得できるため、トナー消費量の予測を行わなくても正しいトナー残量値を表示することが可能である。
【０１２４】
しかし、第３の実施形態では、Ｐ７５５からＰ７５６までの区間のようなトナー消費量の予測が不要な場合でも、トナー消費量の予測、ならびにトナー消費係数の更新を行うようにする。
【０１２５】
このようにすることで、トナーカートリッジを交換するまでの間トナー消費係数の更新をし続けることができ、トナー消費量の予測精度が向上する。そして、トナーカートリッジ交換後もそのトナー消費係数を使用することで、Ｐ７５１からＰ７５２の区間でのトナー消費量予測を高い精度で行うことが可能となる。
【０１２６】
〔第５の実施形態〕
第１〜４の実施形態では、プリンタエンジン３０３から取得できるセンサー残量値のうちの１つ（図６では２０％、図８は３０％）をトナーＬｏｗレベルとしていた。
【０１２７】
トナーの自動発送を行う場合、トナーＬｏｗレベルを検知したタイミングで発送を行うようにするのが一般的である。しかし、トナーカートリッジの自動発送を行いたいタイミングはユーザによっても異なる。例えば、トナーカートリッジの在庫を切らしたくないユーザは早めに、トナーカートリッジの在庫をあまり抱えたくないユーザは遅めに自動発送された方が都合がよい。このようなユーザの要望に対応するため、自動発送を行うタイミング、すなわちユーザにトナーＬｏｗレベルであると通知するタイミングをユーザが任意に変更できるようにしているものもある。タイミングの制御のトナー残量値が何％になったか、で行っている。例えば図６の例では、プリンタエンジン３０３から取得できるトナーＬｏｗレベルのセンサー残量値は２０％であるが、ユーザが早めにトナーカートリッジを発送してほしいと考えた場合、トナー残量値が２５％になったときに自動発送を行うように設定したとする。この場合、トナー残量値が２５％になったかどうかは、プリンタエンジン３０３から取得できるセンサー残量値ではなく、コントローラ３０２が行うトナー消費量予測に基づいた算出結果から判断することになる。
【０１２８】
そこで、第５の実施形態では、ユーザが設定した自動発送タイミングの変更を考慮して、トナー消費量予測を行う上で用いるトナー消費係数の補正値の算出を行うこととする。
【０１２９】
図１１は、トナー消費係数の更新処理の詳細を示すフローチャート（第５の実施形態）である。
【０１３０】
図１１において、図７と同様のステップについては、同じ番号を付して説明を省略する。
【０１３１】
まず、ＣＰＵ４０１は、ユーザが設定したトナーカートリッジの自動発送を行うトナー残量値を、ＥＥＰＲＯＭ４１０から取得する（Ｓ５０１）。この値は、ＵＩ３０１を介して、予めユーザから設定を受け付けておくものとする。
【０１３２】
次に、ＣＰＵ４０１は、カレント残量値がプリンタから通知されたセンサー残量値より少ないか否か判断する（Ｓ５０２）。
【０１３３】
Ｓ５０２でＹＥＳの場合、ＣＰＵ４０１は、ユーザが設定したトナーカートリッジ自動発送のトナー残量値が、プリンタから通知されるトナーＬＯＷの値（図６の例では２０％）より大きいか否か判断する（Ｓ５０３）。
【０１３４】
Ｓ５０２でＮｏの場合、ＣＰＵ４０９は、ユーザが設定したトナーカートリッジ自動発送のトナー残量値がプリンタから通知されるトナーＬｏｗの値（図５の例では２０％）より少ないか否か判断する（Ｓ５０４）。
【０１３５】
次に、補正係数を用いて、トナー消費係数の補正値を再算出する（Ｓ５０５）。
【０１３６】
Ｓ５０２、Ｓ５０３でともにＹＥＳの場合、ユーザがトナーカートリッジの在庫を切らしたくないと考えており、かつトナー消費量の予測が実際の消費量よりも大きい状態である。このとき、実際のトナー消費よりも早く、カレント残量値がユーザが設定した自動発送を行うトナー残量値になるため、自動発送が早いタイミングで行われることになり、トナーカートリッジの在庫を切らしたくないというユーザの意図と一致する。ここで、トナー係数の更新を行い、もしトナー係数を補正しすぎてしまうと、カレント残量値がユーザが設定した自動発送を行うトナー残量値になるタイミングが実際のトナー消費よりも遅くなってしまう。そうなると自動発送のタイミングも遅くなり、ユーザの意図に反する状態になってしまう。
【０１３７】
再算出の式は、例えば以下のようになる。
【０１３８】
Ｂ  ＝  Ｂ÷Ｃ    ・・・（式３）
Ｂ  ：  トナー消費係数の補正値
Ｃ  ：補正係数
ここで、補正係数とは、１未満の任意の値を取り得る係数であり、ＥＥＰＥＯＭ４１０などにあらかじめ格納しておいてもよいし、ユーザが設定できるようにしてもよい。Ｓ５０２、Ｓ５０３でともにＹＥＳの場合、トナー消費係数の補正値Ｂは１よりも小さい値となる。トナー消費係数の補正値Ｂを１未満の補正係数Ｃで除算することにより、トナー消費係数の補正量を緩和している。本実施形態では、ユーザの意図と一致したトナー消費量予測の傾向を維持しつつ、補正を適度に行うため、補正係数を０．９とする。
【０１３９】
一方、Ｓ５０２でＮｏ、Ｓ５０４でＹＥＳの場合、ユーザがトナーカートリッジの在庫を抱えたくないと考えており、かつトナー消費量の予測が実際の消費量よりも少ない状態である。このとき、カレント残量値がユーザが設定した自動発送を行うトナー残量値になるタイミングは、実際のトナー消費よりも遅くなる。結果として、自走発送を行うタイミングは遅くなり、トナーカートリッジの在庫を抱えたくないというユーザの意図と一致する。
【０１４０】
この場合も同様に、Ｓ５０５の処理でトナー消費係数補正値を補正係数で補正するが、計算式は以下のようになる。
【０１４１】
Ｂ  ＝  Ｂ×Ｃ    ・・・（式４）
Ｂ  ：  トナー消費係数の補正値
Ｃ  ：補正係数
この場合、トナー消費係数の補正値Ｂは１よりも大きい値となる。トナー消費係数の補正値Ｂを１未満の補正係数Ｃで乗算することにより、トナー消費係数の補正量を緩和している。
【０１４２】
〔第６の実施形態〕
図１２は、トナー消費係数の更新処理の詳細を示すフローチャート（第６の実施形態）である。
【０１４３】
図１２において、図７と同様のステップについては、同じ番号を付して説明を省略する。
【０１４４】
Ｓ３０１でＮＯの場合、ＣＰＵ４０１は、カレント値とセンサー値の誤差δを計算する（Ｓ６０１）。
【０１４５】
なお、トナーの残量値の誤差は、以下の計算式で割り出される。
【０１４６】
δｎ＝Ａ・Ｄｎ−Ｓ
δ：センサー値と予測値の誤差
Ａ：トナー消費係数
Ｄｎ：各印刷ページのドットカウンタ［Ｋ  ｄｏｔ］
Ｓ：センサー値
次に、ＣＰＵ４０１は、Ｓ６０１で算出した誤差δを、ＥＥＰＲＯＭ４１０に保存する。（Ｓ６０２）。
【０１４７】
Ｓ３０１でＹＥＳの場合、ＣＰＵ４０１は、Ｓ６０２で保存された誤差値を集計し、誤差の標準偏差を算出する（Ｓ６０３）。標準偏差は以下の式で算出する。
【０１４８】
ｎ＝ｍ
Ａｖ  ＝  Σδｎ  ／ｍ
ｎ＝１
ｍ：保存した誤差δの個数
Ａｖ：センサー値と予測値の誤差の平均値
δ：保存されたセンサー値と予測値の誤差
ｎ＝ｍ
ｓ  ＝  Σ（δｎ−Ａｖ）２
ｎ＝１
ｓ：標準偏差
δ：保存されたセンサー値と予測値の誤差
Ａｖ：センサー値と予測値の誤差の平均値
ｍ：保存した誤差δの個数
次に、ＣＰＵ４０１は、Ｓ６０３で算出した標準偏差が一定値以下か否か判断する（Ｓ６０４）。
【０１４９】
Ｓ６０４でＹＥＳの場合、ＣＰＵ４０１は、ユーザ環境に傾向があると判断し、図１３（Ａ）に示すように、中央値より一定範囲の誤差δを抽出する（Ｓ６０５）。
【０１５０】
Ｓ６０４でＮＯの場合、ＣＰＵ４０１は、ユーザの使用環境にあまり特徴がないと判断し、図１３（Ｂ）に示すように、全範囲の誤差δを抽出する（Ｓ６０６）。
【０１５１】
次に、ＣＰＵ４０１は、Ｓ６０５又はＳ６０６で抽出した誤差の平均値を算出する。（Ｓ６０７）
次に、ＣＰＵ４０１は、Ｓ６０７で算出した誤差の平均値に基づいて、トナー消費係数を更新する（Ｓ６０８）。具体的には、誤差の平均値の分が打ち消されるように、トナー消費係数を補正する。
【０１５２】
〔他の実施形態〕
本発明は、以下の処理を実行することによっても実現される。
【０１５３】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2016007706.tif 000003
【図２】
2016007706.tif 000004
【図３】
2016007706.tif 000005
【図４】
2016007706.tif 000006
【図５】
2016007706.tif 000007
【図６】
2016007706.tif 000008
【図７】
2016007706.tif 000009
【図８】
2016007706.tif 000010
【図９】
2016007706.tif 000011
【図１０】
2016007706.tif 000012
【図１１】
2016007706.tif 000013
【図１２】
2016007706.tif 000014
【図１３】
2016007706.tif 000015