(57)【要約】【課題】種類の異なる画像や面積率の違いに依存せずに従来よりも正確にトナー消費量を推定する。【解決手段】エッジカウンタ８０２は、所定の条件を満たすエッジの数であるエッジ数をカウントする。画素カウンタ８０３は、所定の条件を満たす画素の数である画素数をカウントする。画像判別部８０４およびトナー量取得部８０５は、各エリアについてエッジ数と画素数とに基づきトナー消費量を求める。【選択図】図９
2015145969.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素を含む画像データのうち、隣接画素との関係が所定のエッジ条件を満たす画素の数であるエッジ数と所定濃度以上の画素の数である画素数とをカウントするカウント手段と、
前記エッジ数と前記画素数とに基づきトナー消費量を算出する算出手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記カウント手段は、前記画像データに含まれる前記複数の画素を複数のエリアに分割し、前記複数のエリアの各エリアについて前記エッジ数と前記画素数とをカウントするように構成されており、
前記算出手段は、前記各エリアについてカウントされた前記エッジ数と前記画素数とに基づき算出した前記各エリアについてトナー消費量を積算するように構成されていることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記トナー消費量は、空間周波数または静電潜像の深さおよび広さに相関したトナー消費量であることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記エッジ数と前記画素数とに基づき前記画素数をトナー消費量に変換する変換テーブルを選択する選択手段をさらに有し、
前記算出手段は、前記選択手段により選択された変換テーブルを用いて前記各エリアの前記画素数を前記各エリアのトナー消費量に変換することを特徴とする請求項２または３に記載の画像形成装置。
【請求項５】
前記選択手段が２つの変換テーブルを選択したときは、前記算出手段は、前記２つの変換テーブルから求められたトナー消費量を、前記エッジ数から求められた係数で補正してトナー消費量を算出することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記選択手段は、前記画素数に基づき当該画素数に対応する基準テーブルを選定し、当該基準テーブルに基づきエッジ閾値を決定し、前記エッジ数と前記エッジ閾値との比較結果に応じて前記各エリアの属性を決定し、当該属性に応じて前記変換テーブルを選択することを特徴とする請求項４または５に記載の画像形成装置。
【請求項７】
前記エリアは複数のウインドウから構成されており、前記各エリアのエッジ数は当該各エリアを構成する複数のウインドウのそれぞれについて求められたエッジ数の平均値であり、前記各エリアの画素数は当該各エリアを構成する複数のウインドウのそれぞれについて求められた画素数の平均値であることを特徴とする請求項２ないし６のいずれか１項に記載の画像形成装置。
【請求項８】
前記ウインドウは、入力画像の主走査方向の１ラインを構成する複数の画素のうちＮ個の画素（Ｎは２以上の自然数）により構成されていることを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記カウント手段は、注目画素の右隣りに位置する右画素の画素値と当該注目画素の画素値が異なる、または当該注目画素の下隣りに位置する下画素の画素値と注目画素の画素値とが異なる、または当該注目画素の左隣りに位置する左画素の画素値と当該注目画素の画素値が異なる、または当該注目画素の上隣りに位置する上画素の画素値と当該注目画素の画素値が異なる場合に、当該注目画素をエッジとしてカウントすることで前記エッジ数を求めることを特徴とする請求項１ないし８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記カウント手段は、注目画素の右隣りに位置する右画素の画素値と当該注目画素の画素値が異なる、または当該注目画素の左隣りに位置する左画素の画素値と当該注目画素の画素値が異なる場合に当該注目画素を横エッジとしてカウントし、当該注目画素の下隣りに位置する下画素の画素値と注目画素の画素値とが異なる、または当該注目画素の上隣りに位置する上画素の画素値と当該注目画素の画素値が異なる場合に、当該注目画素を縦エッジとしてカウントし、前記横エッジの数と前記縦エッジの数とを加算することで前記エッジ数を求めることを特徴とする請求項１ないし８のいずれか１項に記載の画像形成装置。
【請求項１１】
前記横エッジの数と前記縦エッジの数とを加算して得られる総エッジ数と当該縦エッジの数との比率をエッジ比率として求め、前記画素数と前記エッジ比率に基づき前記トナー消費量の補正量を求め、前記トナー消費量に当該補正量を加算して当該トナー消費量を補正する補正手段をさらに有することを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
入力画像信号における各画素の画素値を２値化する２値化手段をさらに備え、
前記カウント手段は、前記２値化手段は２値化された画素値に基づいてカウントを実行することを特徴とする請求項１ないし１１のいずれか１項に記載の画像形成装置。
【請求項１３】
前記複数のエリアにおいて隣接した２つのエリアは少なくとも一部が重なっていることを特徴とする請求項２ないし８のいずれか１項に記載の画像形成装置。
【請求項１４】
前記複数のエリアにおいて隣接した２つのエリアは重なっていないことを特徴とする請求項２ないし８のいずれか１項に記載の画像形成装置。
【請求項１５】
複数の画素を含む画像データのうち、隣接画素との関係が所定のエッジ条件を満たす画素の数であるエッジ数と所定濃度以上の画素の数である画素数とをカウントするカウント手段と、前記エッジ数と前記画素数とに基づきトナー消費量を算出する算出手段としてコンピュータを機能させるプログラム。
【請求項１６】
複数の画素を含む画像データのうち、隣接画素との関係が所定のエッジ条件を満たす画素の数であるエッジ数と所定濃度以上の画素の数である画素数とをカウントするカウント工程と、
前記エッジ数と前記画素数とに基づきトナー消費量を算出する算出工程と
を有することを特徴とするトナー消費量の算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像信号に基づいて画像を形成するプリンタ・複写機・記録機・ファクシミリ等の画像形成装置、トナー消費量の算出方法およびプログラムに関する。
【背景技術】
【０００２】
画像形成装置のトナー消費量を正確に検知することが求められている。これは、トナー消費量に基づいて、トナーの残量やカートリッジの交換時期、料金をユーザに通知したり、各種作像プロセス条件を制御したり、トナー補給量を制御したりするためである。トナー消費量を検知する手法としてはカートリッジ内にセンサを設ける手法と、画像データから推定する手法がある。前者は、製造コストや検知精度の面で課題がある。一方で、後者の手法としては、特許文献１により提案された手法が存在する。特許文献１には、トナーを消費する画素の連続数および近傍の画素との間隔数に応じた重み付けに基づいてトナーの消費量を算出する手法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−４８０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像の種類（スクリーン線数、文字、写真など）に応じてトナー消費量は異なる。図１８（Ａ）および図１８（Ｂ）に同一面積率（画素数）であるがそれぞれ種類の異なる画像（文字・ライン画像、ハーフトーン画像（スクリーン線数：２１２線、１４１線））のトナー消費量の一例を示す。なお、２１２線ハーフトーン画像とは、１４１線ハーフトーン画像より線数が多い画像の一例である。とりわけ、図１８（Ａ）は２５％の面積率に対するトナー消費量を示している。文字・ライン画像のトナー消費量が最も多く、次いで１４１線ハーフトーン画像のトナー消費量が多く、２１２線ハーフトーン画像のトナー消費量は最も少ない。図１８（Ｂ）は５０％の面積率に対するトナー消費量を示している。トナー消費量は２５％の面積率についての結果とは逆となる。すなわち、文字・ライン画像のトナー消費量が最も少なく、ついで１４１線ハーフトーン画像のトナー消費量が少なく、２１２線ハーフトーン画像のトナー消費量は最も多くなる。図１８（Ａ）および図１８（Ｂ）からわかるように、画像の種類に依存してトナー消費量が異なるとともに、さらに面積率に依存してトナー消費量の大小関係が変化する。
【０００５】
同一面積率でも画像の種類に依存してトナー消費量が異なる原因は、電子写真方式の特性によるものである。同一面積率でもドットサイズや近接するドットとの距離によって静電潜像の深さや広がりが異なるため、トナーの現像性も異なる。その結果、トナーの消費量が変化するのである。したがって、画像の種類によるトナー消費量の違いを考慮したトナー消費量の推定手法が望まれている。
【０００６】
そこで、本発明は、画像の種類に応じて、精度良くトナー消費量を求めることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、たとえば、
複数の画素を含む画像データのうち、隣接画素との関係が所定のエッジ条件を満たす画素の数であるエッジ数と所定濃度以上の画素の数である画素数とをカウントするカウント手段と、
前記エッジ数と前記画素数とに基づきトナー消費量を算出する算出手段と
を有する画像形成装置を提供する。
【発明の効果】
【０００８】
本発明は、画像の種類に応じて、精度良くトナー消費量を求めることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置の全体構成を示す図である。
【図２】画像形成装置の断面図である。
【図３】プリンタエンジンの構成図である。
【図４】ビデオコントローラの構成図である。
【図５】データ処理部の構成図である。
【図６】しきい値マトリクスの例を示す図である。
【図７】ハーフトーン処理画像の例を示す図である。
【図８】ウインドウ処理を示す図である。
【図９】トナー量計算部の構成図である。
【図１０】第１の実施例のトナー量計算部の処理の流れを示すフローチャートである。
【図１１】ウインドウ処理を示す図である。
【図１２】第１、第３の実施例の基準テーブルの例を示す図である。
【図１３】第１、第３の実施例のトナー量テーブルの例を示す図である。
【図１４】第１の実施例の効果を示す図である。
【図１５】第１の実施例の効果を示す図である。
【図１６】第１の実施例の効果を示す図である。
【図１７】第１の実施例の効果を示す図である。
【図１８】比較例を示す図である。
【図１９】第２の実施例のウインドウと領域を示す図である。
【図２０】第２の実施例のトナー量計算部の処理の流れを示すフローチャートである。
【図２１】第２の実施例の基準テーブルの例を示す図である。
【図２２】第２の実施例のトナー量テーブルの例を示す図である。
【図２３】第２の実施例の効果を示す図である。
【図２４】第２の実施例の効果を示す図である。
【図２５】第３の実施例のトナー量計算部の処理の流れを示すフローチャートである。
【図２６】第３の実施例の補正係数テーブル示す図である。
【図２７】第３の実施例の効果を示す図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
＜実施例１＞
［画像形成装置の全体構成］
図１を用いて画像形成装置１０２の構成について説明する。本実施例ではシアン、マゼンタ、イエロー、ブラック（以下、Ｃ，Ｍ，Ｙ，Ｋと呼ぶ）の４色の色材（色剤）によって画像を形成するカラー画像形成装置を用いて説明する。また、本実施例の画像形成装置は６００ｄｐｉの解像度で印刷を行うものとする。画像形成装置１０２は各種制御やデータ処理を行うビデオコントローラ１０３と転写材に可視化された画像形成を行うプリンタエンジン１０４を有している。転写材は、記録材、記録媒体、用紙、シート、転写紙と呼ばれることもある。画像形成装置１０２にはネットワークやパラレルインターフェイス、シリアルインターフェイスなどを介してホストコンピュータ１０１などが接続されている。ホストコンピュータ１０１は、画像形成装置１０２に対してプリントの実行を指示する。ビデオコントローラ１０３は、ホストコンピュータ１０１からプリントの実行の指示とともに送信される印刷データを画像データにラスタライズし、後述するデータ処理を行って、プリンタエンジン１０４に送信する。
【００１２】
［プリンタエンジン制御］
図２および図３を用いて、Ｃ，Ｍ，Ｙ，Ｋのトナーを用いて多色画像を形成する電子写真方式のプリンタエンジン１０４の動作を説明する。なお、４色に共通する事項を説明するときは、ＹＭＣＫの文字を参照符号から省略する。図２は電子写真方式の画像形成装置１０２の一例を示している。画像形成装置１０２は中間転写体２７を採用したタンデム方式のカラー画像形成装置である。図３はプリンタエンジン１０４の制御ユニットを示すブロック図である。プリンタエンジン１０４は、エンジン制御部３０１とエンジン機構部３０２を有している。エンジン機構部３０２はエンジン制御部３０１からの各種指示にしたがって動作する。
【００１３】
エンジン機構部３０２のレーザ／スキャナ系３０８は、図２に示したスキャナ部２４を有している。スキャナ部２４はレーザ発光素子、レーザドライバ回路、スキャナモータ、回転多面鏡、スキャナドライバ等を含む。スキャナ部２４はビデオコントローラ１０３から送られてくるレーザの露光時間を示すレーザ駆動信号にしたがってレーザを点灯させ、回転多面鏡によってレーザ光を反射させることで感光体ドラム２２を露光走査する。露光光は感光体ドラム２２の表面を選択的に露光することにより、静電潜像が形成される。
【００１４】
作像系３０９は、プリンタエンジン１０４の中枢をなす部分であり、感光体ドラム２２Ｙ、２２Ｍ、２２Ｃ、２２Ｋ上に形成された潜像を現像してトナー画像を形成し、転写材上に転写して定着させる。図２が示すように、作像系３０９は、４つの画像形成ステーションを有している。各ステーションは、感光体ドラム２２、帯電器２３、現像器２６を有している。作像系３０９は、さらに、中間転写体２７、転写ローラ２８および定着部３０、および、作像を行なう上で必要となる各種バイアス（高電圧）を生成する高圧電源回路を有している。帯電器２３Ｙ、２３Ｍ、２３Ｃ、２３Ｋは、感光体ドラム２２Ｙ、２２Ｍ、２２Ｃ、２２Ｋの表面を一様に帯電させるスリーブ２３ＹＳ、２３ＭＳ、２３ＣＳ、２３ＫＳを有している。現像手段である現像器２６Ｙ、２６Ｍ、２６Ｃ、２６Ｋはそれぞれ、トナー像を潜像に付着させるためのスリーブ２６ＹＳ、２６ＭＳ、２６ＣＳ、２６ＫＳを有している。帯電器２３、現像器２６および感光体ドラム２２はプロセスカートリッジとして脱着可能に画像形成装置１０２の本体に取り付けられている。中間転写体２７は、駆動ローラ２５によって駆動され、感光体ドラム２２Ｙ、２２Ｍ、２２Ｃ、２２Ｋからトナー画像を一次転写される。中間転写体２７に転写ローラ２８が接触することで、転写材１１が狭持搬送されるとともに、中間転写体２７上の多色トナー像が転写材１１に２次転写される。転写ローラ２８は、転写材１１上に多色トナー像を転写している期間は転写材１１に当接し、転写が完了すると中間転写体２７から離間する。定着部３０は、転写材１１を搬送しながら、多色トナー像を溶融定着させる。定着部３０は、転写材１１を加熱する定着ローラ３１と、転写材１１を定着ローラ３１に圧接させる加圧ローラ３２とを備えている。定着ローラ３１と加圧ローラ３２は中空状に形成され、内部にそれぞれヒータ３３、３４が設置されている。クリーニング部２９は、中間転写体２７上に残ったトナーをクリーニングする。４つのプロセスカートリッジはそれぞれ不揮発性のメモリデバイスを有している。エンジン制御部３０１のＣＰＵ３０３やＡＳＩＣ３０４は、メモリデバイスに各種情報（トータルでの画像形成枚数や稼働時間）の読み書きを行なう。
【００１５】
給紙・搬送系３１０は、転写材１１の給紙および搬送を司る部分であり、各種搬送系モータ、給紙部２１（給紙カセット２１ａや給紙トレイ２１ｂ）、給紙ローラ、排紙ローラを含む各種搬送ローラ等で構成される。給紙・搬送系３１０は、作像系３０９の動作に合わせて給紙カセット２１ａまたは給紙トレイ２１ｂから転写材１１を給紙して搬送する。
【００１６】
センサ系３１１は、レーザ／スキャナ系３０８、作像系３０９、給紙・搬送系３１０を、ＣＰＵ３０３やＡＳＩＣ３０４が制御する上で必要な情報を収集するためのセンサ群である。このセンサ群には、定着部３０の温度センサ、感光体ドラム２２、中間転写体２７または転写材１１に形成されたトナー画像の濃度を検知する濃度センサ、色ずれを検知するセンサ、用紙サイズセンサ、紙先端検知センサ、紙搬送検知センサなどが含まれうる。センサ系３１１で検知された情報はＣＰＵ３０３により取得され、プリントシーケンスの制御に反映される。
【００１７】
エンジン制御部３０１のＣＰＵ３０３は、ＲＡＭ３０５を主メモリやワークエリアとして利用し、不揮発性記憶部３０６に格納されている各種制御プログラムに従い、エンジン機構部３０２を制御する。システムバス３１２は、アドレスバスおよびデータバスを持つ。エンジン制御部３０１やエンジン機構部３０２の各構成要素は、システムバス３１２に接続され、互いにアクセス可能となっている。
【００１８】
ＣＰＵ３０３は、ビデオコントローラ１０３からエンジンインターフェイス部３０７を介してプリント実行命令を受信すると、まず作像系３０９を駆動し、帯電器２３によって感光体ドラム２２の表面を帯電させる。ＣＰＵ３０３は、レーザ駆動信号を生成して出力することでレーザ／スキャナ系３０８を駆動し、スキャナ部２４によって感光体ドラム２２に静電潜像を形成する。
【００１９】
次にＣＰＵ３０３は作像系３０９を駆動し、現像器２６に静電潜像を現像させて単色トナー像を形成させる。この単色トナー像を中間転写体２７に順次一次転写させることで重ね合わせさせてＹ、Ｍ、Ｃ、Ｋの多色トナー像を中間転写体２７上に形成させる。同時にＣＰＵ３０３は、給紙・搬送系３１０を制御し、給紙ローラによって給紙部２１から転写材１１上を給紙させ、この多色トナー像を転写材１１へ転写させる。その後、ＣＰＵ３０３は、定着部３０を制御して転写材１１上の多色トナー像を定着させる。
【００２０】
ＡＳＩＣ３０４は、ＣＰＵ３０３からの指示にしたがって、各種プリントシーケンスを実行する上での各モータの制御や現像バイアス等の高圧電源の制御を行なう。ＣＰＵ３０３の機能の一部または全てをＡＳＩＣ３０４が担当してもよいし、ＡＳＩＣ３０４の機能の一部または全てをＣＰＵ３０３が担当してもよい。また、別途の専用ハードウェアを設け、ＣＰＵ３０３やＡＳＩＣ３０４の機能の一部をその専用ハードウェアに行なわせてもよい。
【００２１】
［ビデオコントローラの構成］
図４を用いてビデオコントローラ１０３構成例について説明する。ＣＰＵ４０１は、ビデオコントローラ１０３全体の制御を司るＣＰＵである。不揮発性の記憶部４０２は、ＣＰＵ４０１が実行する各種制御コードや制御に使用するデータを格納する記憶手段である。記憶部４０２は、たとえば、ＲＯＭ、ＥＥＰＲＯＭ、ハードディスクなどにより構成されうる。ＲＡＭ４０３は、ＣＰＵ４０１の主メモリやワークエリア等として機能する一時記憶用のメモリである。ホストインターフェイス部４０４は、ホストコンピュータ１０１から印刷データや制御データを通信するユニットである。ホストインターフェイス部４０４が受信した印刷データはＲＡＭ４０３に格納される。ここで印刷データはホストコンピュータ１０１などでハーフトーン処理まで行われたビットマップデータであってもよいし、ＰＤＬ（ページ記述言語）データであってもよい。ＰＤＬデータとは、ページ画像データを作成するためにページ記述言語によって記述されたデータである。印刷データは、通常、文字、グラフィックス、イメージなどのデータの描画命令を含んでいる。ＤＭＡ制御部４０７は、ＣＰＵ４０１からの指示によりＲＡＭ４０３のデータを、エンジンインターフェイス部４０９やデータ処理部４０６に転送する。データ処理部４０６は、ＣＰＵ４０１からの指示によりＲＡＭ４０３の画像データに対して各種のデータ処理（例：トナー消費量の推定など）を行う。データ処理部４０６の詳細な動作については後述する。操作／表示部４０８は、画像形成装置１０２の本体に設けられたており、ユーザからの諸設定や指示の入力を受け付けたり、画像形成装置１０２の各種情報を表示したりする。エンジンインターフェイス部４０９は、プリンタエンジン１０４に対する信号の入出力部である。たとえば、エンジンインターフェイス部４０９は、データ処理部４０６から出力されるレーザ駆動信号をプリンタエンジン１０４へ送出する。
【００２２】
トナー量管理部４０５は、データ処理部４０６から通知されるページごとのトナー消費量を元にプロセスカートリッジ内のトナー残量を更新して操作／表示部４０８に表示させる。トナー量管理部４０５は、ホストインターフェイス部４０４を介してホストコンピュータ１０１にトナー残量を通知してもよい。システムバス４１０は、アドレスバスおよびデータバスを有する。上述の各構成要素は、システムバス４１０に接続され、互いにアクセス可能となっている。なお、データ処理部４０６の機能はＡＳＩＣ（特定用途集積回路）や専用ハードウェアとして実現してもよいし、機能の一部または全てをＣＰＵ４０１が担当してもよい。さらに、ビデオコントローラ１０３の機能の一部または全てをホストコンピュータ１０１等の外部機器が担当してもよい。
【００２３】
［データ処理部の構成］
図５はデータ処理部４０６の処理の内容を説明するためのブロック図である。ＲＩＰ部５０１はＲＡＭ４０３に格納されているＰＤＬで記述された画像データの内容を解析して中間言語データを生成し、さらに中間言語データをラスタライズしてラスタ画像データを生成する。ＲＩＰは、ラスターイメージプロセッサ／プロセッシングの略称である。ラスタ画像データはＲＧＢの画像データとしてＲＡＭ４０３内の所定の領域に書き込まれる。色変換部５０２はＲＧＢ画像データを画像形成装置１０２の色再現域に合わせたデバイスＲＧＢ信号に変換するカラーマッチング処理を実行する。さらに色変換部５０２はデバイスＲＧＢ信号を画像形成装置１０２のトナー色材色であるＣＭＹＫ信号に変換する色分解処理を実行する。このように、色変換部５０２はＲＩＰ部５０１が出力するＲＧＢ画像データを、順次、ＣＭＹＫの画像データに変換し、ＲＡＭ４０３内の所定の領域に書き込む。濃度補正部５０３は、色変換部５０２が出力するＣＭＹＫ画像データの各階調値をＬＵＴ（ルックアップテーブル）により変換する。これは、ＣＭＹＫ画像データの各階調値と、プリンタエンジン１０４によって転写材１１上に出力される濃度との関係を所望の関係とするためである。ハーフトーン部５０４は濃度補正部５０３によって補正されたＣＭＹＫの各画像データ（８ｂｉｔ）に対してハーフトーン処理（組織的ディザなど）を施すことによってプリンタエンジン１０４で再現可能な２ｂｉｔの画像データへ量子化する。２ｂｉｔの画像データは、ＲＡＭ４０３内の画像メモリへ出力される。ハーフトーン処理は、たとえば、入力される画像データを、閾値マトリクスを用いて２ｂｉｔの画像データへ変換する処理である。閾値マトリクスは、たとえば、幅Ｍ、高さＮの閾値をマトリクス状に配置したものである。閾値マトリクスは、たとえば、マトリクス０、マトリクス１、マトリクス２の３つのマトリクスで構成されてもよい。ハーフトーン処理は、画像データの各画素に対応した閾値を３つの閾値マトリクスからそれぞれ読み出し、画素の値と３つの閾値との比較を行い、以下の処理によって画像データを２ｂｉｔに変換する。
【００２４】
「画素の値」＜「マトリクス０の閾値」であれば、０を出力
「マトリクス０の閾値」≦「画素の値」＜「マトリクス１の閾値」であれば、１を出力
「マトリクス１の閾値」≦「画素の値」＜「マトリクス２の閾値」であれば、２を出力
「マトリクス２の閾値」≦「画素の値」であれば、３を出力
閾値マトリクスは、画像データの横方向にＭ個の画素、縦方向にＮ個の画素を一つの繰り返し周期としている。
【００２５】
図６（Ａ）および図６（Ｂ）は、Ｋ色の閾値マトリクスの一例を示している。Ｋ色は図６（Ａ）および図６（Ｂ）に示した２種類の閾値マトリクスを有している。図６（Ａ）はスクリーン線数が１４１線の閾値マトリクスを示している。図６（Ｂ）はスクリーン線数が２１２線の閾値マトリクスを示している。
【００２６】
図７（Ａ）は入力画像データに図６（Ａ）の閾値マトリクスによってハーフトーン処理された出力画像データの一例を示す。図７（Ｂ）は入力画像データに図６（Ｂ）の閾値マトリクスによってハーフトーン処理された出力画像データの一例を示す。図６（Ａ）および図６（Ｂ）どちらのマトリクスを使用するかは印刷対象となっている画像の種類やユーザの指示などによって決定される。ＣＭＹに対しても同様のハーフトーン処理が行われる。
【００２７】
ＰＷＭ部５０６は、画像メモリ内のハーフトーン処理画像をＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）処理によりレーザ駆動信号（レーザ露光時間）へ変換する。トナー量計算部５０５は、ＹＭＣＫの各色ごとに画像メモリ内に記憶されているハーフトーン処理画像に基づいて１ページあたりで消費するトナー量を算出する。トナー量計算部５０５で算出されたトナー量はトナー量管理部４０５へ通知される。トナー量計算部５０５の詳細な動作については後述する。
【００２８】
［ビデオコントローラの動作］
ホストコンピュータ１０１から印刷命令を受信してプリンタエンジン１０４へデータを送信するまでの全体の流れを説明する。ホストインターフェイス部４０４を介してホストコンピュータ１０１から印刷命令を受信すると、ＣＰＵ４０１はホストインターフェイス部４０４を介して印刷データを受信し、ＲＡＭ４０３に格納する。次にＣＰＵ４０１はデータ処理部４０６のＲＩＰ部５０１を制御して、ＲＡＭ４０３の画像データをラスタライズする。ＣＰＵ４０１は、さらに色変換部５０２を制御して色変換処理し、濃度補正部５０３を制御して濃度補正処理し、ハーフトーン部５０４を制御してハーフトーン処理し、ＰＷＭ部５０６を制御してＰＷＭ処理する。ＰＷＭ処理されたて生成されたレーザ駆動信号はＣＰＵ４０１の指示により、エンジンインターフェイス部４０９を介してプリンタエンジン１０４に送信される。同時にＣＰＵ４０１の指示によりトナー量計算部５０５はトナー量を算出し、算出結果をトナー量管理部４０５へと通知する。
【００２９】
［トナー量計算部の動作］
トナー量計算部５０５の詳細な動作について説明する。ここではＫ色を例に説明するが、ＣＭＹ色についても同様の処理とする。トナー量計算部５０５は画像メモリ内のハーフトーン処理された画像データを複数のエリアに論理的に分割し、各エリアごとにトナー量を計算し、すべてのエリアのトナー量を積算する。ここでは、エリアを２０ｘ５画素のサイズのウインドウとする。図８に示したように、トナー量計算部５０５は、複数の画素から構成される画像データ１００１に対して左上のウインドウ１００２を起点として矢印の方向へウインドウを順次シフトしながらトナー量を算出して積算して行く。トナー量計算部５０５は、右下のウインドウ１００３に到達したらトナー量の計算を完了する。
【００３０】
図９にトナー量計算部５０５の構成例を示す。２値化部８０１はウインドウごとに画像データを２値化する。エッジカウンタ８０２は、各ウインドウ内において隣接画素との関係が所定のエッジ条件を満たす画素の数であるエッジ数をカウントする。画素カウンタ８０３は、ウインドウごとに所定濃度以上の画素の数である画素数をカウントする。なお、エッジ数および画素数は、画像の種類に応じたトナー消費量に関連する値である。より具体的には、エッジ数と画素数は各ウインドウの空間周波数または静電潜像の深さおよび広さに相関したパラメータである。よって、エッジ数と画素数はトナー消費量を推定するために使用可能なパラメータである。画像判別部８０４は、エッジ数と画素数とから各ウインドウの画像の種類を判別する。トナー量取得部８０５は、ウインドウごとに画像の種類に応じたトナー量を計算する。トナー量積算部８０６は、各ウインドウのトナー量を積算する。
【００３１】
図１０のフローチャートを用いてトナー量計算部５０５の処理の流れを説明する。Ｓ９０１で、トナー量積算部８０６は、初期化処理を実行する。たとえば、トナー量積算部８０６は、１ページ内のトータルトナー量を保持するための変数であるＴｏｔａｌ＿ｖａｌｕｅを０に初期化し、注目ウインドウを画像の左上のウインドウに設定する。Ｓ９０２で、２値化部８０１は、注目ウインドウ内の画像データ（画素値）を２値データへ変換する。たとえば、入力画像データが０または１の場合は０に変換され、入力画像データが２または３の場合は１に変換される。
【００３２】
Ｓ９０３で、エッジカウンタ８０２は、２値化された画像データに対してエッジ数をカウントする。エッジカウンタ８０２は、エッジ数をカウントするための変数であるＥｄｇｅＣｏｕｎｔを０に初期化し、さらに注目画素をウインドウ内の左上の画素から右下の画素まで順次移動しながら以下の処理を行う。エッジ条件は、注目画素の画素値と注目画素の右に位置する画素（右画素）の画素値が異なる、または注目画素の画素値と注目画素の下に位置する画素（下画素）の画素値とが異なることである。エッジ条件が満たされていれば、その注目画素はエッジである。よって、エッジカウンタ８０２は、エッジ数ＥｄｇｅＣｏｕｎｔの値を画素値が異なる数だけ増加させる。図１１は画像データに対してウインドウを適用した例を示す。図１１に示したウインドウについてのエッジ数ＥｄｇｅＣｏｕｎｔは３８である。
【００３３】
Ｓ９０４で、画素カウンタ８０３は、２値化された画像データに対して画素値が１である画素の数ＤｏｔＣｏｕｎｔをカウントする。この場合、所定濃度は閾値であり、０．５であると考えてもよい。図１１に示したウインドウについての画素数ＤｏｔＣｏｕｎｔは１９となる。なお、画素数はドット数と呼ばれてもよい。エッジカウンタ８０２で算出されたエッジ数ＥｄｇｅＣｏｕｎｔと画素カウンタ８０３で算出された画素数ＤｏｔＣｏｕｎｔは画像判別部８０４へと入力される。
【００３４】
画像判別部８０４では図１２に例示するような複数の基準テーブル（基準テーブルＨ、基準テーブルＭ、基準テーブルＬ）を備えている。各基準テーブルの入力は画素数であり、出力がエッジ閾値である。つまり、基準テーブルに画素数を入力することで、画素数に対応したエッジ閾値が出力される。基準テーブルの生成方法については後述する。
【００３５】
Ｓ９０５で、画像判別部８０４は、ＤｏｔＣｏｕｎｔに対応するエッジ閾値を基準テーブルから取得する。ここでは、基準テーブルＨから取得されたエッジ閾値をＥｄｇｅ＿ｈｉと呼び、基準テーブルＭから取得されたエッジ閾値をＥｄｇｅ＿ｍｉｄと呼び、基準テーブルＬから取得されたエッジ閾値をＥｄｇｅ＿ｌｏｗと呼ぶ。これらは、エッジ数ＥｄｇｅＣｏｕｎｔと比較するための閾値として利用されるとともに、係数ρを算出するためにも利用される。Ｓ９０６で、画像判別部８０４は、ＥｄｇｅＣｏｕｎｔとＥｄｇｅ＿ｈｉ、Ｅｄｇｅ＿ｍｉｄ、Ｅｄｇｅ＿ｌｏｗとを比較し、比較結果である属性信号と係数を出力する。
【００３６】
●Ｅｄｇｅ＿ｈｉ≦ＥｄｇｅＣｏｕｎｔであれば属性信号はＰ＿Ｈ
●Ｅｄｇｅ＿ｍｉｄ≦ＥｄｇｅＣｏｕｎｔ＜Ｅｄｇｅ＿ｈｉであれば属性信号はＰ＿Ｍ、係数ρ＝（ＥｄｇｅＣｏｕｎｔ−Ｅｄｇｅ＿ｍｉｄ）／（Ｅｄｇｅ＿ｈｉ−Ｅｄｇｅ＿ｍｉｄ）
●Ｅｄｇｅ＿ｌｏｗ≦ＥｄｇｅＣｏｕｎｔ＜Ｅｄｇｅ＿ｍｉｄであれば属性信号はＰ＿Ｍ、係数ρ＝（ＥｄｇｅＣｏｕｎｔ−Ｅｄｇｅ＿ｍｉｄ）／（Ｅｄｇｅ＿ｍｉｄ−Ｅｄｇｅ＿ｌｏｗ）
●ＥｄｇｅＣｏｕｎｔ＜Ｅｄｇｅ＿ｌｏｗであれば属性信号はＰ＿Ｌ
トナー量取得部８０５は図１３に示すような複数のトナー量テーブル（トナー量テーブルＨ、トナー量テーブルＭ、トナー量テーブルＬ）を備える。各トナー量テーブルの入力は画素数であり、出力がトナー量である。トナー量テーブルの生成方法については後述する。トナー量取得部８０５には画素カウンタ８０３で算出された画素数ＤｏｔＣｏｕｎｔ、および画像判別部８０４の出力結果である属性信号と係数ρが入力される。
【００３７】
Ｓ９０７で、トナー量取得部８０５は属性信号と係数ρを参照してトナー量を計算する。
【００３８】
●トナー量取得部８０５は、属性信号がＰ＿Ｈであれば、ＤｏｔＣｏｕｎｔに対応するトナー量テーブルＨのトナー量ｔ＿ｖａｌｕｅ＿ｈを求め、ｔ＿ｖａｌｕｅ＿ｈをトナー量ｔｏｎｅｒ＿ｖａｌｕｅとする。
【００３９】
●トナー量取得部８０５は、属性信号がＰ＿Ｍであれば、係数ρの値によって以下のようにトナー量ｔｏｎｅｒ＿ｖａｌｕｅを求める。
【００４０】
０≦ρの場合：
トナー量取得部８０５はＤｏｔＣｏｕｎｔに対応するトナー量テーブルＨおよびトナー量テーブルＭのトナー量ｔ＿ｖａｌｕｅ＿ｈ、ｔ＿ｖａｌｕｅ＿ｍからトナー量ｔｏｎｅｒ＿ｖａｌｕｅを求める。
【００４１】
ｔｏｎｅｒ＿ｖａｌｕｅ＝ρ×ｔ＿ｖａｌｕｅ＿ｈ＋（１−ρ）×ｔ＿ｖａｌｕｅ＿ｍ
ρ＜０の場合：
トナー量取得部８０５はＤｏｔＣｏｕｎｔに対応するトナー量テーブルＭ、およびトナー量テーブルＬのトナー量ｔ＿ｖａｌｕｅ＿ｍ、ｔ＿ｖａｌｕｅ＿ｌからトナー量ｔｏｎｅｒ＿ｖａｌｕｅを求める。
【００４２】
ｔｏｎｅｒ＿ｖａｌｕｅ＝（１＋ρ）×ｔ＿ｖａｌｕｅ＿ｍ−ρ×ｔ＿ｖａｌｕｅ＿ｌ
●トナー量取得部８０５は属性信号がＰ＿Ｌであれば、ＤｏｔＣｏｕｎｔに対応するトナー量テーブルＬのトナー量ｔ＿ｖａｌｕｅ＿ｌを求め、トナー量ｔｏｎｅｒ＿ｖａｌｕｅとする。
【００４３】
以上のように属性信号がＰ＿Ｍの場合には、トナー量取得部８０５は、係数ρを重み係数としてｔ＿ｖａｌｕｅ＿ｈ、ｔ＿ｖａｌｕｅ＿ｍ、ｔ＿ｖａｌｕｅ＿ｌを補間してトナー量を求める。
【００４４】
Ｓ９０８で、トナー量積算部８０６はトナー量取得部８０５で求められたトナー量ｔｏｎｅｒ＿ｖａｌｕｅをトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅに加算して注目ウインドウに対する処理を完了する。トナー量計算部５０５は、注目ウインドウが画像の右下まで到達したかどうかを判断する。注目ウインドウは右下に到達していなければＳ９１１に進む。Ｓ９１１で、トナー量計算部５０５は、注目ウインドウを次のウインドウにシフトし、再びステップＳ９０２に遷移する。一方、ステップＳ９０９で注目ウインドウが画像右下に到達していれば、トナー量積算部８０６は、トータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅをトナー量管理部４０５に通知する。
【００４５】
［基準テーブルＨ、Ｍ、Ｌの生成方法］
ここで、基準テーブルＨ、Ｍ、Ｌの生成方法について説明する。基準テーブルＨは以下の方法で生成されたものである。階調値Ａ＝０、３２、６４、９６、１２８、１６０、１９２、２２４、２５５に対して以下のステップ１〜３を実施する。
●ステップ１：階調値Ａの画像データに対して２１２線のハーフトーン処理を行った画像データを生成する。画像データは縦横ともに凡そ１００画素以上のサイズで生成するものとする。
●ステップ２：ステップ１で得られたハーフトーン処理画像データを２値化する。
●ステップ３：ステップ２で得られた２値化画像データに対してウインドウごとの画素数とエッジ数を算出し、全ウインドウの平均値を求める。ウインドウのサイズは横が２０画素で縦が５画素である。つまり、トナー量の推定に使用されるウインドウサイズと基準テーブルを決定するために使用されるウインドウサイズは基本的に一致している。
【００４６】
求まった階調値ごとの画素数の平均値とエッジ数の平均値との関係を補間することにより画素数０〜１００に対するテーブルを生成する。これが、基準テーブルＨとなる。補間方法としては、たとえば、双三次補間があるが、他の補間処理が採用されてもよい。
【００４７】
基準テーブルＭおよび基準テーブルＬはそれぞれ１４１線と１０６線のハーフトーン処理を用いて上記と同様の方法で作成される。２１２線、１４１線のハーフトーン処理としてはハーフトーン部５０４と同様のものが用いられる。１０６線のハーフトーン処理としては、相当する線数を実現可能な任意のマトリクスが用いられる。
【００４８】
［トナー量テーブルＨ、Ｍ、Ｌの生成方法］
次に、トナー量テーブルＨ、Ｍ、Ｌの生成方法について説明する。トナー量テーブルＨは以下の方法で生成されたものである。階調値Ａ＝３２、６４、９６、１２８、１６０、１９２、２２４、２５５に対して以下のステップ１〜５を実施する。
●ステップ１：階調値Ａの画像データに対して２１２線のハーフトーン処理を行った画像データを生成する。画像データの縦横サイズはともに凡そ１００画素以上である。
●ステップ２：ステップ１で得られたハーフトーン処理画像を２値化してドットの面積率（％）を求め、面積率にウインドウ面積（例：１００）をかけてウインドウあたりの画素数を求める。
●ステップ３：ステップ２で得られたハーフトーン処理画像をプリンタエンジン１０４によって印刷し、消費されたトナー量を計測する。たとえば、印刷前後のプロセスカートリッジの重量を測定し、その差分を計算することによってトナー量を計測することが可能である。
●ステップ４：ステップ３で得られた計測されたトナー量からウインドウあたりのトナー量を求める。ウインドウあたりのトナー量は次式から算出可能である。
（計測されたトナー消費量）×１００／（画像サイズ）
●ステップ５：ステップ２で得られた画素数に対するステップ４で得られたトナー量の関係を補間して画素数０〜１００に対するトナー量のテーブルを生成する。これが、トナー量テーブルＨとなる。補間方法としては、たとえば、双三次補間があるが、他の補間処理が採用されてもよい。なお、画素数０に対するトナー量は０とする。
【００４９】
基準テーブルＭは１４１線のハーフトーン処理を用いて上記と同様の方法で作成される。基準テーブルＬは上記で求まった画素数１００に対するトナー量と、画素数０に対するトナー量（＝０）を線形に補間することにより生成された画素数０〜１００に対するトナー量のテーブルである。
【００５０】
［発明の効果］
本実施例の効果について説明する。図１４は画像の面積率とトナー消費量の関係を画像の周波数ごとにプロットしたものである。１４０１は文字などの比較的空間周波数の低い画像についての面積率とトナー消費量との関係を例示している。空間周波数が低ければ、面積率とトナー消費量との関係が比較的線形に近くなることがわかる。１４０２は２１２線のハーフトーン処理された画像についての面積率とトナー消費量との関係を例示している。つまり、この画像の空間周波数は相対的に高い。文字画像と比較して２１２線のハーフトーン処理された画像では、面積率の低いハイライト領域でトナー消費量が相対的に低くなり、面積率の高いシャドウ領域でトナー消費量が相対的に高くなる。１４０３は１４１線のハーフトーン処理された画像についての面積率とトナー消費量との関係を例示している。この画像の空間周波数は両者の中間的ものである。そのため、面積率とトナー消費量との関係も両者の中間的な特性となる。図１４が示すように画像の空間周波数に依存して面積率とトナー消費量との関係が変化する。
【００５１】
図１５（Ａ）は比較例についての実際のトナー消費量と推定したトナー消費量との関係を示している。なお、比較例は、画素数のみでトナー消費量を推定する手法を採用している。より具体的に比較例では、面積率１００％（ベタ画像）のトナー消費量を基準として、画像の面積率に比例してトナー消費量を計算する手法を採用している。ここでは、異なる種類（面積率）の画像として、文字画像、ハーフトーン画像（２１２線、１４１線）についてトナー消費量が推定されている。図１５（Ａ）が示すように実際のトナー消費量と推定したトナー消費量との誤差が大きい。特に点線で囲まれた領域に位置する３種類の画像では推定したトナー消費量（＝画素数）がいずれもほぼ同じであるにもかかわらず、実際のトナー消費量は最大で２倍以上異なってしまっている。
【００５２】
図１５（Ｂ）は、本実施例についての実際のトナー消費量と推定したトナー消費量との関係を示している。本実施例では実際のトナー消費量と推定したトナー消費量との誤差が非常に小さいことがわかる。なお、本実施例では、上述したように、２０ｘ５の画素から構成されたウインドウ内のエッジ数と画素数に基づいて画像の空間周波数に相関したトナー消費量が推定されている。すでに、図１２を用いて説明したように、画像の空間周波数が高くなるほどエッジ数は増加し、画素数に依存してエッジ数が変化する。この特性を利用した本実施例では、トナー量計算部５０５がエッジ数と画素数の関係から画像の空間周波数を推定し、推定された空間周波数と画素数とにしたがってトナー消費量を推定している。なお、空間周波数は数値として算出される必要はなく、図１０を用いて説明したようにエッジ数と画素数とから直接的にトナー消費量が推定されてもよい。
【００５３】
図１６（Ａ）、図１６（Ｂ）および図１６（Ｃ）は、本実施例におけるウインドウ毎の画素数とエッジ数の分布と基準テーブルＨ，Ｍ，Ｌの関係を示す。ウインドウの面積は１００（２０画素×５画素＝１００画素）であるため、「ウインドウ内の画素数」は「ウインドウ内の面積率（％）」と言い換えることが可能である。とりわけ、図１６（Ａ）は階調値を何ステップかに変化させた画像に対して２１２線のハーフトーン処理された画像の分布を示している。たとえば、△（３７．５％）のプロットは面積率３７．５％の２１２線ハーフトーン処理画像に対してウインドウごとの画素数とエッジ数の分布を示している。面積率３７．５％に着目すると、基準テーブルＨの近傍に分布しており、画像判別部８０４が出力する各ウインドウの属性信号はＰ＿ＨまたはＰ＿Ｍとなる。さらに属性信号がＰ＿Ｍとなる場合は係数ρ≒１となる。また、画素数は３７．５の近傍に分布する。この分布に対してトナー量取得部８０５によって算出されるトナー量の分布を図１７に白丸で示す。図１７が示すように、各ウインドウから算出されるトナー量は画素数が３７．５のｔ＿ｖａｌｕｅ＿ｈ、すなわち面積率が３７．５％の２１２線ハーフトーン画像のウインドウあたりのトナー量の近傍に分布する。したがって、トナー量積算部８０６によって積算された画像全体のトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅは面積率３７．５％の２１２線ハーフトーン画像の実際のトナー消費量とほぼ等しくなる。他の面積率に対しても同様である。
【００５４】
図１６（Ｂ）は階調値を何ステップかに変化させた画像に対して１４１線のハーフトーン処理された画像の分布を示している。面積率６１．１％に着目すると、基準テーブルＭを中心に基準テーブルＬ〜基準テーブルＨの間に分布が存在しており、各ウインドウの属性信号はＰ＿Ｍとなる。なお、係数ρは０を中心に比較的均等に分布し、画素数は６１．１の近傍に分布していた。この分布に対してトナー量取得部８０５によって算出されるトナー量の分布を図１７に黒丸で示す。図１７が示すように各ウインドウから算出されるトナー量は、画素数が６１．１のｔ＿ｖａｌｕｅ＿ｍ、すなわち面積率が６１．１％の１４１線ハーフトーン画像のウインドウあたりのトナー量の近傍に分布する。したがって、トナー量積算部８０６によって積算された画像全体のトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅは、面積率６１．１％の１４１線ハーフトーン画像のトナー量とほぼ等しくなる。他の面積率に対しても同様である。
【００５５】
図１６（Ｃ）は文字画像についての分布を示している。文字画像の場合にはウインドウ内における文字の位置に依存して画素数やエッジ数が広範に分布する。ただし、図１６（Ｃ）から分かるようにエッジ数が基準テーブルＬよりも下に分布しており、各ウインドウの属性信号はＰ＿Ｌとなる。したがってトナー量取得部８０５によって算出されるトナー量はトナー量テーブルＬ上に分布する。すなわち、各ウインドウのトナー量はウインドウ内の画素数に比例した値となる。上述したように文字画像のような空間周波数の低い画像では面積率（画素数）とトナー消費量の関係は比例関係に近い。そのため、各ウインドウごとに線形に推定されたトナー消費量の積算値は画像全体でのトナー消費量にほぼ等しくなる。したがって、トナー量積算部８０６によって積算された画像全体でのトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅは文字画像についての実際のトナー量とほぼ等しくなる。
【００５６】
図１５（Ｂ）を用いて説明したように、文字画像、ハーフトーン画像（２１２線、１４１線）に対して本実施例の方法で推定されたトナー消費量と実際のトナー消費量はほぼ一致している。つまり、本実施例は、画像の種類に依存せずにトナー消費量が正確に推定できている。発明者は誤差拡散画像や横線や縦線画像などのパターン画像に対しても本実施例により推定されたトナー消費量と実際のトナー消費量がほぼ一致することを確認している。
【００５７】
［その他］
本実施例では、一例としてウインドウサイズを２０ｘ５として説明したが、ウインドウサイズはこれに限らず、適宜に選択すればよい。本実施例では複数のウインドウが重ならないように注目ウインドウをシフトするものとして説明した。しかし、たとえば１画素ずつ注目ウインドウをシフトさせることで、隣接した複数のウインドウが相互にオーバーラップしてもよい。ただし、この場合は重複してカウントされた画素の分だけトナー消費量を除算する必要がある。また、注目ウインドウは、必ずしも分割されている必要はなく、１つのウインドウでエッジ数と画像数を求め、トナー消費量を算出することも可能である。
【００５８】
本実施例では２ビットのハーフトーン処理を例に説明したが１ビットまたは３ビット以上のハーフトーン処理が採用されてもよい。２ビット以上のハーフトーン処理された画像については２値化部８０１によって２値化される。本実施例ではメモリの節約と処理の簡素化のため、トナー消費量を計算する前に２値化処理を行った。しかし、２値化を行わなくてもよい。この場合、エッジカウンタ８０２は注目画素と隣接画素との画素値の差分が所定値以上であればエッジとしてカウントし、画素カウンタ８０３は（ウインドウ内の画素値の合計）を量子化数で除算して画素数を求めればよい。
【００５９】
本実施例では３つの基準テーブルおよび３つのトナー量テーブルを使用する例を採用した。しかし、テーブルの数は２つまたは４つ以上であってもよい。基本的には、テーブルの数を増加させると、よりトナー消費量の推定精度が向上する。しかし、テーブルを記憶するメモリの容量や処理負荷を考慮すると、基準テーブルおよびトナー量テーブルの数はそれぞれ３個程度が良いだろう。基準テーブルとトナー量テーブルを生成するためのスクリーン線数を２１２線、１４１線、１０６線として説明したが、スクリーン線数は画像形成装置１０２の製品形態に応じて適切なものが選択されうる。基準テーブルとトナー量テーブルは誤差拡散処理された画像などから生成されてもよい。本実施例では基準テーブルとトナー量テーブルをそれぞれ１次元のテーブルとして説明した。しかし、基準テーブルとトナー量テーブルを合わせた２次元のテーブルが使用されてもよい。具体的には画素数とエッジ数を２次元データとして入力としてトナー量を出力とするテーブルを保持して画素数とエッジ数から直接的にトナー量を求めてもよい。
【００６０】
本実施例では属性信号がＰ＿Ｍの場合に補間計算を行ったが、以下のように補間計算を行わない構成としてもよい。画像判別部８０４は２つの基準テーブルを備える。１つ目の基準テーブルは、２１２線に関する画素数とエッジ数との関係と、１４１線に関する画素数とエッジ数との関係との中間の特性を有するテーブル（基準テーブルＡ）である。２つ目のテーブルは、１４１線に関する画素数とエッジ数との関係と、１０６線に関する画素数とエッジ数との関係との中間の特性を有するテーブル（基準テーブルＢ）である。画像判別部８０４は、画素数ＤｏｔＣｏｕｎｔを入力として、基準テーブルＡからエッジ閾値Ｅｄｇｅ＿ａを求め、基準テーブルＢからエッジ閾値Ｅｄｇｅ＿ｂを求める。
●Ｅｄｇｅ＿ａ≦ＥｄｇｅＣｏｕｎｔであれば、画像判別部８０４は属性信号Ｐ＿Ｈを出力する
●Ｅｄｇｅ＿b≦ＥｄｇｅＣｏｕｎｔ＜Ｅｄｇｅ＿ａであれば、画像判別部８０４は属性信号Ｐ＿Ｍを出力する
●ＥｄｇｅＣｏｕｎｔ＜Ｅｄｇｅ＿ｂであれば、画像判別部８０４は属性信号Ｐ＿Ｌを出力する
トナー量取得部８０５は、画像判別部８０４から受信した属性信号がＰ＿Ｈであれば、トナー量テーブルＨからＤｏｔＣｏｕｎｔに対応するトナー量ｔ＿ｖａｌｕｅ＿ｈを求め、トナー量ｔｏｎｅｒ＿ｖａｌｕｅとして出力する。トナー量取得部８０５は、属性信号がＰ＿Ｍであれば、トナー量テーブルＭからＤｏｔＣｏｕｎｔに対応するトナー量ｔ＿ｖａｌｕｅ＿ｍを求め、トナー量ｔｏｎｅｒ＿ｖａｌｕｅとして出力する。トナー量取得部８０５は、属性信号がＰ＿Ｌであれば、トナー量テーブルＬからＤｏｔＣｏｕｎｔに対応するトナー量ｔ＿ｖａｌｕｅ＿ｌを求め、トナー量ｔｏｎｅｒ＿ｖａｌｕｅとして出力する。以上の構成としても本発明を効果的に実施することが可能である。
【００６１】
上記の実施例ではエッジ数と画素数とから直接的にトナー消費量を決定しているが、エッジ数と画素数を空間周波数または潜像の深さや広さ（体積）に変換し、これをトナー消費量に変換してもよい。この場合は、空間周波数または潜像の深さや広さを示すパラメータが中間生成物として求められるため、演算負荷が増えるものの、トナー消費量の推定精度は実施例１の推定精度と変わらない。実施例１では、空間周波数または潜像の深さや広さを示すパラメータの算出を省略できるように２つのテーブルを採用し、エッジ数と画素数から直接的にトナー消費量を推定できる利点がある。
【００６２】
＜実施例２＞
本発明の別の実施形態について説明する。本実施例は画像データのワークメモリを少なくすることで、コストダウンをさらに図ることができる。具体的には、１ライン分の画像データを保持するラインバッファがＲＡＭ４０３内に設けられる。本実施例ではプリンタエンジン１０４の動作に同期して、ＲＡＭ４０３内のラインバッファに保持されているデータに対してデータ処理部４０６が各種の処理を行い、逐次トナー消費量に関連したデータを更新する。また、本実施例のデータ処理部４０６はエッジ数と画素数のカウントをエリア（ウインドウよりも大きな領域）単位で行い、領域単位でトナー消費量を計算する。本実施例での画像形成装置１０２の基本的な動作は実施例１と同様であるため、共通する部分は説明を省略し相違点のみを説明する。
【００６３】
［トナー量計算部の動作］
本実施例ではウインドウサイズを２０ｘ１とする。これは、１ライン分の画像データを保持しているラインバッファを利用するためである。本実施例では３ｘ６０個のウインドウで１つの領域を構成する。図１９によれば、点線で囲まれた１つのマスが１つのウインドウを示し、太線で囲まれた１つのマスが１つの領域を示している。１つの画像内においてウインドウを識別するための番号を図１９に示すように左上から順にウインドウ番号（０，０）、（０，１）…とする。１つの画像内において領域を識別するための番号を図１９が示すように左上から順に領域番号（０，０）、（０，１）…とする。また、本実施例ではＲＡＭ４０３内に、領域番号ごとにエッジ数Ｒｅｇ＿Ｅｄｇｅおよび画素数Ｒｅｇ＿Ｄｏｔを格納する領域メモリを設ける。
【００６４】
図２０を用いて本実施例におけるトナー量計算部５０５の処理の流れを説明する。Ｓ２００１で、トナー量積算部８０６は、１ページ内のトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅを０に初期化するとともに、領域メモリのエッジ数Ｒｅｇ＿Ｅｄｇｅおよび画素数Ｒｅｇ＿Ｄｏｔを０に初期化する。また、トナー量計算部５０５は、注目ウインドウを画像の左上のウインドウに設定し、注目ウインドウ番号を（０，０）に設定する。Ｓ２００２で、２値化部８０１は、実施例１と同様の方法で注目ウインドウ内の画像データを２値データへ変換する。
【００６５】
Ｓ２００３で、エッジカウンタ８０２は実施例１と同様の方法で２値化された画像データに対してエッジ数をカウントする。Ｓ２００４で、画素カウンタ８０３は、２値化された画像データに対して画素値が１である画素の数をカウントする。Ｓ２００５で、トナー量計算部５０５は、注目ウインドウの属する領域の番号を特定する。図１９に示した領域とウインドウとの関係にしたがって、注目ウインドウ番号を（ｘ、ｙ）とすると、対応する領域番号は（［ｘ／６０］、［ｙ／３］）として求める。ここで［Ａ／Ｂ）はＡをＢで割った商を表す。
【００６６】
Ｓ２００６で、画像判別部８０４は、エッジカウンタ８０２で算出されたエッジ数ＥｄｇｅＣｏｕｎｔを領域メモリ内に保持されているエッジ数Ｒｅｇ＿Ｅｄｇｅに加算する。エッジ数Ｒｅｇ＿Ｅｄｇｅは、エッジ数ＥｄｇｅＣｏｕｎｔを求められたウインドウが属している領域の領域番号に関連付けて管理されている。同様に、画像判別部８０４は、画素カウンタ８０３で算出された画素数ＤｏｔＣｏｕｎｔを領域メモリ内に保持されている画素数Ｒｅｇ＿Ｄｏｔに加算する。画素数Ｒｅｇ＿Ｄｏｔは、画素数ＤｏｔＣｏｕｎｔを求められたウインドウが属している領域の領域番号に関連付けて管理されている。
【００６７】
Ｓ２００７で、トナー量計算部５０５は、注目ウインドウが画像の右下まで到達したかどうかを判定する。注目ウインドウが画像の右下に到達していなければ、Ｓ２００８に進む。Ｓ２００８で、トナー量計算部５０５は、注目ウインドウを次のウインドウにシフトして注目ウインドウ番号を更新する。ウインドウは図８に例示した順番でシフトする。つまり、ウインドウを右にシフトする場合は注目ウインドウ番号（ｘ、ｙ）が（ｘ＋１、ｙ）に更新される。注目ウインドウが画像の右端に位置していて左端の１つ下の位置へシフトする場合は、注目ウインドウ番号（ｘ、ｙ）が（０、ｙ＋１）に更新される。その後、再びＳ２００２の処理に移る。Ｓ２００７で注目ウインドウが画像右下に到達していればＳ２００９へ進む。
【００６８】
Ｓ２００９で、トナー量計算部５０５は、注目領域番号を（０，０）に設定する。２０１０で、トナー量計算部５０５は、注目領域番号によって特定される領域メモリのＲｅｇ＿Ｅｄｇｅを１つの領域を構成しているウインドウの数（例：１８０個）で除算して、１つのウインドウあたりのエッジ数の平均値Ｒｅｇ＿Ｅｄｇｅ＿ａｖｅを算出する。同様に、トナー量計算部５０５は、注目領域番号によって特定される領域メモリのＲｅｇ＿Ｄｏｔを１つの領域を構成しているウインドウの数（例：１８０個）で除算して、１つのウインドウあたりの画素数の平均値Ｒｅｇ＿Ｄｏｔ＿ａｖｅを算出する。
【００６９】
図２１が示すように、画像判別部８０４は、２０ｘ１のウインドウサイズに対して実施例１と同様の方法で予め生成された３つの基準テーブル（基準テーブルＨ、基準テーブルＭ、基準テーブルＬ）を保持している。Ｓ２０１１で、画像判別部８０４は、ＥｄｇｅＣｏｕｎｔをＲｅｇ＿Ｅｄｇｅに置き換えて、実施例１のステップＳ９０５と同様の処理を実行する。Ｓ２０１２で、画像判別部８０４は、ＤｏｔＣｏｕｎｔをＲｅｇ＿Ｄｏｔに置き換えて、実施例１のステップＳ９０６と同様の処理を実行する。
【００７０】
図２２が示すように、トナー量取得部８０５は、２０ｘ１のウインドウサイズに対して実施例１と同様の方法で生成された３つのトナー量テーブル（トナー量テーブルＨ、トナー量テーブルＭ、トナー量テーブルＬ）を備えている。Ｓ２０１３で、画像判別部８０４は実施例１のステップＳ９０７と同様の方法でトナー量を計算する。ここで算出されたトナー量ｔｏｎｅｒ＿ｖａｌｕｅは領域内の１つのウインドウあたりのトナー量である。Ｓ２０１４で、トナー量積算部８０６ではｔｏｎｅｒ＿ｖａｌｕｅに領域内のウインドウ数（＝１８０）を乗算して領域内のトナー量に換算し、トータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅに加算する。
【００７１】
Ｓ２０１５で、トナー量計算部５０５は、注目領域が画像の右下の領域まで到達したかどうかを判定する。注目領域が画像の右下の領域に到達していなければ、Ｓ２０１６に進む。Ｓ２０１６で、トナー量計算部５０５は、注目領域番号を更新する。領域を右にシフトする場合は注目領域番号（ｘ、ｙ）が（ｘ＋１、ｙ）に更新される。領域が画像の右端に位置しており、左端の１つ下へシフトする場合は、注目領域番号（ｘ、ｙ）が（０、ｙ＋１）に更新される。その後、再びＳ２０１０の処理に移る。Ｓ２０１５で注目領域が画像右下の領域に到達している判定されれば、Ｓ２０１７に進む。Ｓ２０１７で、トナー量積算部８０６は、トータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅをトナー量管理部４０５に通知する。以上のようにしてトナー量計算部５０５はトナー量を計算する。
【００７２】
［発明の効果］
本実施例の領域単位で計算を行う効果について説明する。図２３は２１２線のハーフトーン処理された画像に対して２０ｘ１のウインドウを重ねた様子を表している。ウインドウ２３０１内のエッジ数ＥｄｇｅＣｏｕｎｔは９であり、画素数ＤｏｔＣｏｕｎｔは１０である。図２１に示した基準テーブルによれば、ウインドウ２３０１の属性はＰ＿Ｈとなる。よって、トナー消費テーブルより算出されるトナー量は、図２４に示したＶ１となる。しかし１つ下にシフトしたウインドウ２３０２内のエッジ数ＥｄｇｅＣｏｕｎｔは０であり、画素数ＤｏｔＣｏｕｎｔは０となる。画素数ＤｏｔＣｏｕｎｔが０であるウインドウ２３０２の属性はＰ＿Ｈとする。よって、トナー消費テーブルより算出されるトナー量は図２４のＶ２となる。同様にウインドウ２３０３のトナー量はＶ１となり、ウインドウ２３０４のトナー量はＶ２となり、この状態が交互に繰り返される。したがって、各ウインドウのトナー量を積算する方法では、画像全体でのトナー量がウインドウあたりの換算トナー量Ｖ１、Ｖ２の平均値であるＶ３となる。しかし、実際はスクリーン線数が２１２線であり、かつ、面積率が２５％の画像であるため、画素数５に対するトナー量テーブルＨのトナー量であるＶ４がウインドウあたりの換算トナー量として正しいトナー量となる。したがって、ウインドウサイズが２０ｘ１の場合には各ウインドウのトナー量を積算する方法では実際のトナー量と誤差が発生してしまうのである。
【００７３】
これに対して本実施例の方法では、各ウインドウのエッジ数と画素数を領域単位で積算してウインドウ数で除算する。そのため領域ごとのエッジ数は、ウインドウ２３０１、２３０２のエッジ数の平均値である４．５となる。同様に、領域ごとの画素数は、ウインドウ２３０１、２３０２の画素数の平均値である５となる。図２１に示した基準テーブルから属性はＰ＿Ｈであることが特定され、トナー量テーブルより算出されるトナー量は図２４のＶ４となり、正しいトナー量が推定されるのである。このようにウインドウサイズが小さい場合には本実施例のように領域単位でトナー量を計算する方法によって精度良くトナー量を推定することが可能となる。なお、領域のサイズは本実施例に例示したものに限定されるものではなく、画像形成装置１０２の製品形態にとって適切な領域サイズを選択すればよい。
【００７４】
＜実施例３＞
本発明の別の実施形態について説明する。本実施例では画像の縦エッジの数と横エッジの数を個別にカウントしてそれぞれのカウント値の比率に応じて推定したトナー量を補正する。本実施例での画像形成装置１０２の基本的な動作は実施例１と同様であるため、共通する部分は説明を省略し相違点のみを説明する。
【００７５】
［トナー量計算部の動作］
図２５を用いて本実施例におけるトナー量計算部５０５の処理の流れを説明する。Ｓ２５０１で、トナー量積算部８０６は初期化処理を実行する。これにより、１ページ内のトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅを０が初期化され、注目ウインドウが画像の左上に配置されたウインドウに設定される。Ｓ２５０１で、２値化部８０１は、実施例１と同様の方法で注目ウインドウ内の画像データを２値データへ変換する。
【００７６】
Ｓ２５０３で、エッジカウンタ８０２は、２値化された画像データに対して横エッジ数ＥｄｇｅＣｏｕｎｔ＿Ｈと縦エッジ数ＥｄｇｅＣｏｕｎｔ＿Ｖをそれぞれカウントする。はじめにＥｄｇｅＣｏｕｎｔ＿ＨおよびＥｄｇｅＣｏｕｎｔ＿Ｖは０に初期化される。注目画素をウインドウの左上の画素から右下の画素まで順次移動しながら以下の処理を行う。注目画素のシフトの方法は注目ウインドウや注目領域のシフトの方法と共通である。注目画素の画素値と注目画素の右に隣接した右画素の画素値とが異なる場合、エッジカウンタ８０２は、注目画素は横エッジであると判別し、エッジ数ＥｄｇｅＣｏｕｎｔ＿Ｈを１つ増加させる。また、注目画素の画素値と注目画素の下に隣接した下画素の画素値とが異なる場合は、エッジカウンタ８０２は、注目画素が縦エッジであると判別し、エッジ数ＥｄｇｅＣｏｕｎｔ＿Ｖを１つ増加させる。たとえば、図１１に例示したウインドウ内の横エッジ数ＥｄｇｅＣｏｕｎｔ＿Ｈは１９であり、縦エッジ数ＥｄｇｅＣｏｕｎｔ＿Ｖは１９である。
【００７７】
Ｓ２５０４で、エッジカウンタ８０２は、ＥｄｇｅＣｏｕｎｔ＿ＨとＥｄｇｅＣｏｕｎｔ＿Ｖを加算して総エッジ数ＥｄｇｅＣｏｕｎｔを算出するとともに、総エッジ数に対する縦エッジ数の比率を算出する。
●エッジ比率ＥｄｇｅＲａｔｅ＝ＥｄｇｅＣｏｕｎｔ＿Ｖ／ＥｄｇｅＣｏｕｎｔ
ＥｄｇｅＣｏｕｎｔが０の場合、エッジカウンタ８０２はＥｄｇｅＲａｔｅを０とする。
【００７８】
Ｓ２５０５で、画素カウンタ８０３は、２値化された画像データに対して画素値が１である画素の数（画素数ＤｏｔＣｏｕｎｔ）をカウントする。エッジカウンタ８０２で算出されたエッジ数ＥｄｇｅＣｏｕｎｔ、エッジ比率ＥｄｇｅＲａｔｅおよび画素カウンタ８０３で算出された画素数ＤｏｔＣｏｕｎｔは画像判別部８０４に入力される。画像判別部８０４では実施例１と同様の方法で生成された３つの基準テーブル（基準テーブルＨ、基準テーブルＭ、基準テーブルＬ）を保持している。
【００７９】
Ｓ２５０６で、画像判別部８０４は、実施例１と同様の方法でＤｏｔＣｏｕｎｔに基づき、対応する基準テーブルＨ、基準テーブルＭおよび基準テーブルＬからエッジ閾値Ｅｄｇｅ＿ｈｉ、Ｅｄｇｅ＿ｍｉｄ、Ｅｄｇｅ＿ｌｏｗを取得する。
【００８０】
Ｓ２５０７で、画像判別部８０４は、実施例１と同様の方法で属性信号と係数ρを求める。Ｓ２５０８で、画像判別部８０４は、ＤｏｔＣｏｕｎｔとＥｄｇｅＲａｔｅに基づきトナー消費量の補正係数Ｒｅｖ＿Ｃｏｅｆを決定する。画像判別部８０４は、図２６に示すような補正係数テーブル２６０１を保持している。図２６において横軸は画素数を示し、縦軸は補正係数を示している。画像判別部８０４は、補正係数テーブル２６０１からＤｏｔＣｏｕｎｔに対応する補正量Ｒｅｖ＿Ｃｏｅｆ＿Ｍａｘ（％）を求める。次に画像判別部８０４は、次式に基づき補正係数Ｒｅｖ＿Ｃｏｅｆを求める。
●Ｒｅｖ＿Ｃｏｅｆ＝（ＥｄｇｅＲａｔｅ−０．５）×２×Ｒｅｖ＿Ｃｏｅｆ＿Ｍａｘ
トナー量取得部８０５は、実施例１と同様の方法で生成された３つのトナー量テーブル（トナー量テーブルＨ、トナー量テーブルＭ、トナー量テーブルＬ）を備えている。
【００８１】
Ｓ２５０９で、トナー量取得部８０５は、実施例１のステップＳ９０７と同様の方法でトナー量ｔｏｎｅｒ＿ｖａｌｕｅを計算する。Ｓ２５１０で、トナー量取得部８０５は、補正量Ｒｅｖ＿Ｃｏｅｆ＿Ｍａｘ（％）に基づきトナー量ｔｏｎｅｒ＿ｖａｌｕｅを補正し、補正トナー量ｔｏｎｅｒ＿ｖａｌｕｅ＿ｒｅｖを求める。
●ｔｏｎｅｒ＿ｖａｌｕｅ＿ｒｅｖ＝ｔｏｎｅｒ＿ｖａｌｕｅ×（１００＋Ｒｅｖ＿Ｃｏｅｆ＿Ｍａｘ）／１００
Ｓ２５１０で、トナー量積算部８０６は、トナー量の積算を実行する。たとえば、トナー量積算部８０６は、トナー量取得部８０５で求められた補正トナー量ｔｏｎｅｒ＿ｖａｌｕｅ＿ｒｅｖをトータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅに加算する。Ｓ２５１１で、トナー量計算部５０５は、注目ウインドウが画像の右下ウインドウまで到達したかどうかを判定する。注目ウインドウが画像の右下ウインドウに到達していなければ、Ｓ２５１３に進む。Ｓ２５１３で、トナー量計算部５０５は、注目ウインドウを次のウインドウにシフトし、再びステップＳ２５０２の処理に移る。ステップＳ２５１２で注目ウインドウが画像の右下ウインドウに到達していれば、Ｓ２５１４に進む。Ｓ２５１４で、トナー量計算部５０５は、トータルトナー量Ｔｏｔａｌ＿ｖａｌｕｅをトナー量管理部４０５に通知する。
【００８２】
［効果の説明］
電子写真方式の画像形成装置では、同じ画素数であっても図２７（Ａ）に例示するような「横方向に連続する画素数が多い画像」と、図２７（Ｂ）に例示するような「横方向に連続する画素数が少ない画像」とでは、消費するトナー量が異なる場合がある。以下、その理由を説明する。「横方向に連続する画素数が多い画像」では走査ライン上においてレーザが連続して発光する時間が長い。そのため、感光体ドラム上の静電潜像は深くかつ広く形成されやすい。一方、「横方向に連続する画素数が少ない画像」では走査ライン上においてレーザが発光を開始してから発光を終了するまでの時間が非常に短くなる。このため、レーザが十分に感光体ドラム上を照射できずに感光体ドラム上の静電潜像は浅くかつ狭く形成される。
【００８３】
図２７（Ｃ）は図２７（Ａ）に示した画像の静電潜像を長手方向から見た断面図である。図２７（Ｄ）は図２７（Ｂ）に示した画像の静電潜像を長手方向から見た断面図である。「横方向に連続する画素数が多い画像」の方が「横方向に連続する画素数が少ない画像」よりも静電潜像が深くかつ広いことが分かる。したがって、現像においてトナーが感光体ドラムに付着する量は「横方向に連続する画素数が多い画像」の方が「横方向に連続する画素数が少ない画像」よりも多くなり、トナー消費量も多くなる。
【００８４】
ウインドウ内のエッジ数のみで画像の種類を判別する方法では、これらの２つの画像のエッジ数は等しく算出されてしまい、トナー量も同じとなってしまう。これに対して本実施例では、横エッジ数と縦エッジ数が別々にカウントされる。図２７（Ａ）および図２７（Ｂ）から分かるように「横方向に連続する画素数が多い画像」は縦エッジ数が多くなり、「横方向に連続する画素数が少ない画像」は横エッジ数が多くなる。このことを利用してトナー量取得部８０５は、総エッジ数に対する縦エッジ数の比率を算出し、縦エッジ数の比率が大きい場合はトナー量を増加させるように補正をかけ、縦エッジ数の比率が小さい場合はトナー量を減少させるように補正をかける。これにより、静電潜像の深さや広さに応じてトナー量を正確に推定することが可能となる。なお、本実施例では総エッジ数に対する縦エッジ数の比率で補正量を決定したが、これに加えて画像の属性やエッジ数も参照して補正量を決定してもよい。
【００８５】
＜まとめ＞
以上説明したように本実施の形態では、エッジカウンタ８０２が所定のエッジ条件を満たすエッジの数をカウントする。画素カウンタ８０３は、所定の濃度条件（階調条件）を満たす画素の数をカウントする。画像判別部８０４およびトナー量取得部８０５は、エッジ数と画素数とに基づきトナー消費量を算出する算出手段として機能する。これにより、画像の種類に応じて精度良くトナー消費量を求められる。
【００８６】
なお、複数の画素から構成される画像（画像データ）が論理的に複数のエリアに分割されてもよい。エッジカウンタ８０２は、複数のエリアの各エリア内においてエッジ条件を満たすエッジの数をカウントする。画素カウンタ８０３は、各エリア内において濃度条件（階調条件）を満たす画素の数をカウントする。画像判別部８０４およびトナー量取得部８０５は、各エリアについてエッジ数と画素数とに基づき空間周波数または静電潜像の深さおよび広さに相関したトナー消費量を求める。トナー量積算部８０６は、各エリアのトナー消費量を積算してトータルのトナー消費量を決定する。このように、画像を構成する各エリアの空間周波数または静電潜像の深さや広さがトナー消費量に相関していることに注目してもよい。空間周波数または静電潜像の深さは、エリアごとにカウントされた所定の条件を満たすエッジ数と画素数とから把握可能である。
【００８７】
上記の実施例では、画像形成装置１０２においてハーフトーン処理を行ったが、画像形成装置１０２は、ホストコンピュータ１０１などでハーフトーン処理まで行われたビットマップデータを受信してもよい。この場合は、画像の属性（スクリーン線数、文字、写真など）の情報は当然に不明となるが、本実施例ではこのような情報を受信せずに、エッジ数と画素数とからトナー消費量を正確に推定できる利点がある。また、上記の実施例ではビデオコントローラ１１０３によってトナー消費量の算出を行う例を説明したが、これに限られるものではない。ビデオコントローラ１０３からプリンタエンジン１０４に対して画像情報を送信し、プリンタエンジン１０４においてエッジ数と画素数を求め、トナー消費量の算出を行うことも可能である。
【００８８】
特許文献１の方法では入力される画像データに対して画素の連続数および近傍の画素との間隔を計測する必要がある。また、特許文献１の方法では入力される様々な画像パターン（連続数と画素間隔）に対応する消費量パターンを予め保持しておくために、多くのメモリが必要となってしまう。さらには、特許文献１の方法では、画像パターンを認識するための処理の負荷が高く、高速に処理するにはコストが増大してしまう。一方で、本願発明では、エッジ数と画素数とからトナー消費量を決定できるため、演算負荷は軽い。また、いくつかの変換テーブルを用意しておき、必要に応じて補間処理を実行することで、メモリ必要量を削減可能である。
【００８９】
具体的には、Ｓ９０５ないしＳ９０７について説明したように、トナー量取得部８０５は、エッジ数と画素数とに基づき画素数をトナー消費量に変換する変換テーブル（トナー量テーブル）を選択する。トナー量取得部８０５は、選択された変換テーブルを用いて各エリアの画素数を各エリアのトナー消費量に変換する。このように予め変換テーブルを用意しておくことで、少ない演算量で画素数をトナー消費量に変換することが可能となる。
【００９０】
Ｓ９０５ないしＳ９０７について説明したように、トナー量取得部８０５は、２つの変換テーブルを選択することもある。トナー量取得部８０５は、２つの変換テーブルから求められたトナー消費量を、エッジ数から求められた係数ρで補正してトナー消費量を決定してもよい。これにより、より正確にトナー量を推定できるようになる。
【００９１】
Ｓ９０５について説明したように、画像判別部８０４は、画素数に基づき当該画素数に対応する基準テーブルを選定し、当該基準テーブルに基づきエッジ閾値を決定し、エッジ数とエッジ閾値との比較結果に応じて各エリアの属性を決定してもよい。この場合、トナー量取得部８０５は、画像判別部８０４が決定した属性に応じて変換テーブルを選択する。エッジ数や画素数は、空間周波数または静電潜像の深さおよび広さを示すパラメータである。よって、エッジ数や画素数に基づき基準テーブルを選定して使用すれば、効率よく、画像の種類を判別できるようになる。
【００９２】
実施例１に関して説明したように、１つのエリアは１つのウインドウから構成されていてもよい。また、実施例２に関して説明したように、１つのエリアは複数のウインドウから構成されていてもよい。各エリアのエッジ数は当該各エリアを構成する複数のウインドウのそれぞれについて求められたエッジ数の平均値であってもよい。また、各エリアの画素数は当該各エリアを構成する複数のウインドウのそれぞれについて求められた画素数の平均値であってもよい。なお、ウインドウは、入力画像の主走査方向の１ラインを構成する複数の画素のうちＮ個の画素（Ｎは２以上の自然数）により構成されていてもよい。実施例２では、一例としてＮが２０である場合について説明したが、この場合は画像メモリをラインバッファにより構成できるため、メモリの容量を削減できるメリットがある。
【００９３】
実施例１で説明したように、各エリアにおいて注目画素の右隣りに位置する右画素の画素値と注目画素の画素値が異なる、または注目画素の下隣りに位置する下画素の画素値と注目画素の画素値とが異なる場合に注目画素をエッジとしてカウントしてもよい。このような所定の条件を採用することで、画像におけるエッジを正確に特定できるようになる。なお、上記では一例として注目画素の右隣りに位置する右画素と、下隣りに位置する下画素との比較を行ったが、これに限られるものではない。例えば、ウインドウを右下から動かし始め、注目画素の左隣りに位置する左画素の画素値と注目画素の画素値が異なる、または注目画素の上隣りに位置する上画素の画素値と注目画素の画素値とが異なる場合に注目画素をエッジとしてカウントしてもよい。このように、ウインドウを任意の位置から動かし始め、エッジをカウントすることが可能である。
【００９４】
実施例３に関して説明したように、各エリアにおいて、注目画素の右隣りに位置する右画素の画素値と当該注目画素の画素値が異なる場合に当該注目画素が横エッジとしてカウントされてもよい。さらに、当該注目画素の下隣りに位置する下画素の画素値と注目画素の画素値とが異なる場合に、注目画素が縦エッジとしてカウントされてもよい。エッジカウンタ８０２は、横エッジの数と縦エッジの数とを加算すること、各エリアのエッジ数を算出してもよい。
【００９５】
トナー量取得部８０５は、横エッジの数と縦エッジの数とを加算して得られる総エッジ数と当該縦エッジの数との比率をエッジ比率として求めてもよい。この場合、トナー量取得部８０５は、画素数とエッジ比率に基づきトナー消費量の補正量を求め、トナー消費量に当該補正量を加算して当該トナー消費量を補正してもよい。図２７を用いて説明したように、トナーを消費する画素が横方向（主走査方向）に連続しているのか、縦方向（副走査方向）に連続しているのかによって、潜像の深さと広さは異なってくる。よって、横エッジの数と縦エッジの数とからトナー消費量を求め、さらにエッジ比率に応じてトナー消費量を補正することで、潜像の深さと広さをトナー消費量に対してさらに精度よく反映させることが可能となる。
【００９６】
なお、２値化部８０１が、入力画像信号における各画素の画素値を２値化してもよい。この場合、エッジカウンタ８０２や画素カウンタ８０３は、２値化された画素値に基づいてカウントを実行してもよい。画素値を２値化することで、カウント処理の負荷を軽減することが可能となる。
【００９７】
複数のエリアにおいて隣接した２つのエリアは少なくとも一部が重なっていてもよいし、複数のエリアにおいて隣接した２つのエリアは重なっていなくてもよい。とりわけ、前者ではトナー消費量の推定精度の向上が期待され、後者では演算量の軽減が期待される。
（その他の実施例）
【００９８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015145969.tif 000003
【図２】
2015145969.tif 000004
【図３】
2015145969.tif 000005
【図４】
2015145969.tif 000006
【図５】
2015145969.tif 000007
【図６】
2015145969.tif 000008
【図７】
2015145969.tif 000009
【図８】
2015145969.tif 000010
【図９】
2015145969.tif 000011
【図１０】
2015145969.tif 000012
【図１１】
2015145969.tif 000013
【図１２】
2015145969.tif 000014
【図１３】
2015145969.tif 000015
【図１４】
2015145969.tif 000016
【図１５】
2015145969.tif 000017
【図１６】
2015145969.tif 000018
【図１７】
2015145969.tif 000019
【図１８】
2015145969.tif 000020
【図１９】
2015145969.tif 000021
【図２０】
2015145969.tif 000022
【図２１】
2015145969.tif 000023
【図２２】
2015145969.tif 000024
【図２３】
2015145969.tif 000025
【図２４】
2015145969.tif 000026
【図２５】
2015145969.tif 000027
【図２６】
2015145969.tif 000028
【図２７】
2015145969.tif 000029