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