(第1の実施形態)
図1は、本発明の第1の実施形態による画像処理システム118の構成例を示すブロック図である。画像処理システム118は、画像形成装置100と、ホストパーソナルコンピュータ(ホストPC)110とを有する。ホストPC110は、画像形成装置100に対して、ネットワーク117を介して接続されている。
画像形成装置100は、例えば、スキャン機能やプリンタ機能等の複数の機能が一体化された複合機(MFP:Multi-Function Peripheral)である。画像形成装置100は、制御部101と、操作部104と、画像読取部108と、画像出力部109とを有する。
制御部101は、画像形成装置100を統括的に制御しており、CPU105と、RAM106と、記憶部107と、装置制御部102と、画像処理部103とを有する。CPU105は、記憶部107に記憶されているプログラムをRAM106に展開し、それを実行することにより、この画像形成装置100の動作を制御している。RAM106は、一時記憶メモリであり、画像データやプログラム等を一時的に記憶することが可能である。記憶部107は、例えばハードディスクであり、この画像形成装置100を制御するためのパラメータや、画像形成装置100の制御を実現するためのアプリケーションやプログラムやOSなどを記憶している。
装置制御部102は、デバイスコントローラであり、操作部104、画像読取部108、画像出力部109などの制御部101に接続されている部分を制御する。画像読取部108は、例えばスキャナであり、原稿を読み取ることにより原稿の画像データを生成する。画像出力部109は、例えばプリンタであり、画像を用紙等の記録媒体やモニタなどへ出力する。CPU105が上述のプログラムを実行することにより、画像読取部108が読み取った原稿の画像データを取得するスキャン機能や、画像出力部109を介して画像を用紙等の記録媒体やモニタなどへ出力する出力機能が実現される。
画像処理部103は、例えば、記憶部107に記憶された画像データを読み出し、パラメータに従って、その画像データを最適化し、操作部104から通知された設定情報に基づいて、画像処理を行う。操作部104は、タッチパネルやハードウェアキー等を有し、ユーザからの指示や設定の操作を受け付けるとともに、画像形成装置100の装置情報やジョブの進捗情報、各種ユーザインタフェース画面を表示する。操作部104で受け付けた設定情報などは、装置制御部102を介して記憶部107に格納される。
ホストPC110は、画像処理装置であり、制御部111と、画像処理部112と、計算部113と、CPU114と、RAM115と、記憶部116とを有する。制御部111は、ホストPC110を統括的に制御しており、CPU114やRAM115を用いて、画像処理部112や計算部113、その他ホストPC110に搭載されているアプリケーションやプリンタドライバ等を制御する。計算部113は、画像処理部112において処理され、記憶部116に保存された画像のトナー消費量を計算する。トナー消費量は、インク消費量でもよい。以下、トナー消費量の例を説明する。
画像形成装置100とホストPC110は、図1に示すブロックの他に、機能を実行する際に必要なブロックを有する。
図2は、画像処理システム118のプリント処理の機能構成例を示す図である。ホストPC110は、アプリケーション201と、プリンタドライバ202とを記憶している。画像処理部103は、コマンド判別部203と、コマンド解析部204と、コマンド実行部205と、画像調整部206とを有する。
ホストPC110は、アプリケーション201を使用して、ドキュメント文書やプレゼンテーション文書などの電子データを生成する。プリンタドライバ202は、画像形成装置100に印刷データ(カラー画像データ)を出力し、画像形成装置100に印刷データを印刷させるためのドライバである。プリンタドライバ202は、印刷データを生成し、印刷データを画像形成装置100に出力する。画像形成装置100は、その印刷データを印刷する。
画像形成装置100の画像処理部103は、プリンタドライバ202から入力した印刷データを処理する。コマンド判別部203は、この印刷データを入力すると、PDL種別を判別する。このPDL種別は、PostScript(PS)やPrinterCommandLanguage(PCL)などを含む。コマンド解析部204は、PDLの種別毎に存在し、コマンド判別部203で特定されたPDL種別のコマンドの抽出および解析を実行する。こうして解析されたコマンドの内容に応じてグレー化処理などが行われる。コマンド実行部205は、コマンド解析部204の解析結果に応じて、ラスタ画像を生成する。画像調整部206は、そのラスタ画像に対して色変換、フィルタなどの画像処理を行う。なお、画像処理部103のコマンド判別部203、コマンド解析部204、コマンド実行部205および画像調整部206の機能は、CPU105が前述のプログラム実行することにより実現される。
図3(a)は、画像形成装置100が入力した印刷データに含まれる描画コマンド300の例を示す図である。図3(b)は、図3(a)の描画コマンド300に基づく描画結果の画像307の例を示す図である。コマンドには、描画コマンドと制御コマンドがある。描画コマンド300は、その描画コマンドの一例を示す。画像307は、この描画コマンド300を用いて描画された画像である。
描画コマンド300は、ジョブのカラーモードを設定するカラーモード設定コマンド301と、色を設定する色設定コマンド302とを有する。さらに、描画コマンド300は、オブジェクトを描画するオブジェクト描画コマンド303と、文字のサイズを設定する文字サイズ設定コマンド304と、文字のフォントを設定するフォント設定コマンド305と、文字を描画する文字描画コマンド306を有する。これら一連のコマンドの構成は、他のオブジェクトや文字列の場合も同様である。この他にも、描画コマンド300は、座標や線の太さを設定するコマンドと、イメージを描画するコマンド等を有する。描画コマンド300や色値データは、例えば、8ビット画像を前提とするものとする。
カラーモード設定コマンド301の「Set Page Color(CL)」は、以下のコマンドがカラーで展開されることを示す。色設定コマンド302の「Set Color(146, 208, 80)」は、RGB値がR(赤)=146、G(緑)=208、B(青)=80の緑であることを示す。文字サイズ設定コマンド304の「Set Text Size(6)」は、文字のサイズが6ポイントであることを示す。フォント設定コマンド305の「Set Font (Arial)」は、文字のフォントがArialであることを示す。オブジェクト描画コマンド303の「Draw Polygon」は、座標値に基づいて図形を描画することを示す。文字描画コマンド306の「Draw Text("x")」は、文字「x」を描画することを示す。したがって、図3の3番目と4番目のコマンド302および303は、角丸四角形308が緑で描画されることを示している。同様に、5番目~12番目のコマンドは、文字列「1.xxx」309がArialフォント、6ポイントの文字サイズで、黒色で描画されることを示している。さらに、13番目から16番目のコマンドは、太陽310が赤で描画されることを示している。以上がプリント処理の一例である。
図4は、トナー消費量算出処理の流れを示すフローチャートである。このフローチャートで示す処理は、ホストPC110のCPU114が記憶部116に格納されているプログラムをRAM115に展開し、その展開したプログラムを実行することにより達成される。また上述した通り、CPU114がコマンド解析部204として機能することにより実行されるものとして説明する。
ステップS401では、ホストPC110の制御部111は、アプリケーション201からカラー画像データを取得し、画像処理部112により、カラー画像データに対してRGBからCMYKへの色変換を行う。トナー消費量を算出するには、CMYKの信号値が必要となる。そのため、モノクロジョブの場合には、画像処理部112は、カラー画像データをRGB等量のモノクロ画像データへ変換し、さらにCMYK画像データへの色変換を行う。モノクロ化手法は、NTSC変換処理やその他のグレー変換処理など予め用意された手法の中から選択された変換処理を用いる。RGBからCMYKへの色変換は、一般的な色変換テーブルを用いる手法を用いればよい。制御部111は、記憶部116に保存されている色変換テーブルを読み出し、画像処理部112は、色変換テーブルを用いて色変換処理を行う。カラージョブの場合には、画像処理部112は、カラー画像データがRGBであれば、RGBからCMYKへ色変換を行い、カラー画像データがCMYKであれば、必要に応じて色変換を行う。制御部111は、色変換後のCMYK画像データをRAM115または記憶部116へ保存する。
次に、ステップS402では、制御部111は、CMYK画像データをRAM115または記憶部116から読み出す。画像処理部112は、CMYK画像データを基にCMYKビットマップ画像の生成を行う。制御部111は、生成されたCMYKビットマップ画像を記憶部116に保存する。なお、画像処理部112は、トナー消費量の計算用に生成されるCMYKビットマップ画像に対して、例えば、トナー消費量計算で求められる精度に応じて、さらに、低解像度化したり、縮小したりしてもよい。
次に、ステップS403では、制御部111は、記憶部116からCMYKビットマップ画像を取得する。
次に、ステップS404では、計算部113は、CMYKビットマップ画像の1画素毎にC、M、Y、Kのそれぞれの信号値を取得する。
次に、ステップS405では、計算部113は、信号値とトナー消費量の関係に基づいて、CMYK信号値をトナー消費量C’,M’,Y’,K’に換算する。すなわち、(C’,M’,Y’,K’)=f(C,M,Y,K)である。CMYK信号値とトナー消費量C’,M’,Y’,K’の関係がリニアな関係であれば、CMYK信号値がそのままトナー消費量C’,M’,Y’,K’となる。
次に、ステップS406では、計算部113は、換算されたトナー消費量C’,M’,Y’,K’を累積加算し、総トナー消費量Cs,Ms,Ys,Ksを求める。
次に、ステップS407では、計算部113は、全ての画素の値の処理が終了したか否かを判定する。計算部113は、全ての画素の値の処理が終了していない場合には、ステップS404に戻り、次の画素値を取得し、上記の処理を繰り返す。計算部113は、全ての画素の処理が終了した場合には、総トナー消費量を記憶部116に保存して終了する。
上記の総トナー消費量Cs、Ms、Ys、Ksは、式(1)で表される。ここで、Nは全画素数を表す。なお、総トナー消費量Cs、Ms、Ys、Ksは、0から255の値を画素数分加算した値でも、255を100%とした割合に換算した値でも、実際のトナーの重量に換算した値でもよく、トナー消費量が相対的に比較できる値で算出されればよい。
次に、画像形成装置100が行う第1~第3のグレー変換処理について説明する。画像形成装置100が第1~第3のグレー変換処理を行う例を説明するが、ホストPC110が第1~第3のグレー変換処理をしてもよい。前述の通り、8ビット画像データを前提として、各処理を説明する。
第3のグレー変換処理は、前述したカラー画像の各画素の色値(RGB値)に対して重み付け加算したグレー値を取得する処理である。CPU105は、記憶部107に保存されている演算式を取得する。画像処理部103は、カラー画像のRGB値に一定の重み付けをして、例えば、NTSC変換により、0.299R+0.587G+0.114Bの演算で得られた値をグレー値とする。
第1および第2のグレー変換処理は、演算でグレー値を一意に決定するのではなく、カラー画像内の色数に応じて、カラーでの弁別性をグレーでも損なうことのないようにグレー変換する処理である。第1のグレー変換処理は、弁別性を最大化する処理である。第2のグレー変換処理は、弁別性は確保しつつ、トナー消費量が少なくなるようにグレー値を決定する処理である。
図5は、画像形成装置100の第1および第2のグレー変換処理を説明するフローチャートである。第1および第2のグレー変換処理の違いは、グレーターゲット作成ステップS502のみであるため、まず、図5を用いて全体の流れを説明する。なお、このフローチャートで示す処理は、CPU105が記憶部107に格納されているプログラムをRAM106に展開し、その展開したプログラムを実行することにより達成される。また、上述した通り、CPU105がコマンド解析部204として機能することにより実行されるものとして説明する。
コマンド解析部204は、図3に示すような描画コマンド300を入力する。なお、カラーモード設定コマンド301がモノクロ指定であっても、色設定コマンド302はカラーの値のままコマンド解析部204まで送られる。
図6(a)はカラー画像600の一例を示す図であり、図6(b)は入力画像のRGB値を示す図である。画像600は、太陽601と角丸四角602とPLANの文字603がカラーで、その他の文字604が黒で描画されるデジタル画像データである。斜線部のRGB値606は(255,0,0)である。千鳥格子部のRGB値607は(146,208,80)である。ドット部のRGB値608は(255,192,0)である。その他の文字604のRGB値は黒(0,0,0)である。紙白部605のRGB値は白(255,255,255)である。
ステップS501では、CPU105は、コマンド解析部204により、色設定コマンド302をチェックし、色設定コマンド302で指定されている色値(RGB値)を抽出し、図7(a)に示す色値リスト700に追加する。色値リスト700は、抽出された色値に対してIndexとRGB値を保持するものである。CPU105は、色設定コマンド302で抽出された色値と同じ色値がすでに色値リスト700に保存されている場合には、色値リスト700に追加しない。CPU105は、画像600の色値リスト700が完成した後、色値リスト700をRAM106に保存する。
次に、ステップS502では、CPU105は、グレーターゲット507を作成し、RAM106に保存する。図8(a)に示すグレーターゲット800は、8ビットグレー画像の信号値0~255の間で、グレー値(白)801、グレー値(黒)809に加えて、その間に複数のグレー値802~808を有する。第1のグレー変換処理では、グレーターゲット507は、グレー値801、803、805、807、809を有する。第2のグレー変換処理では、グレーターゲット507は、グレー値801~809を有する。グレーターゲット作成ステップS502の詳細については後述する。
次に、ステップS503では、CPU105は、RAM106に保存された色値リスト700を読み出し、図7(b)のように、各色値に対して輝度値701を算出し、RAM106に保存する。輝度値701は、例えば、前述したNTSC変換によって求められるグレー値が表す明るさの値であり、図7(b)に示すような値になる。例えば、Index2の色をNTSC変換すると、輝度値701は、0.299×146+0.587×208+0.114×80=175となる。なお、輝度値701は、RGB値をLabやLchなどの一般的な色空間に変換した際のL値等でも、その他の明るさの指標となる値でもよい。
次に、ステップS504では、CPU105は、RAM106に保存された色値リスト700と輝度値701を読み出し、図7(c)に示すように、輝度値701の明るい順(または暗い順)に色値リスト700の値をソートする。
次に、ステップS505では、CPU105は、図7(c)に示すように、ソートされた輝度値701の明るい(または暗い)色値から順に、グレーターゲット507の薄い(濃い)グレー値702を割り当てる。CPU105は、複数のグレーターゲットのうち、薄いグレー値から順に使用する。具体的には、CPU105は、描画コマンド300の色設定コマンド302を、各色値に割り当てられたグレー値702に変換する。ステップS504とS505の処理の結果を図7(c)に示す。グレー値702は、グレー値703とグレー値704を有する。グレー値703は、第1のグレー変換処理のグレー値である。グレー値704は、第2のグレー変換処理のグレー値である。
第1のグレー変換処理のグレー値703では、1番目に明るいIndex1の白には、グレー値(白)801の値255が割り当てられ、2番目に明るいIndex3の色には、グレー値803の値191が割り当てられる。さらに、3番目に明るいIndex2の色には、グレー値805の値128が割り当てられ、4番目に明るいIndex5の色には、グレー値807の値64が割り当てられ、最も暗いIndex4の黒には、グレー値809の値0が割り当てられる。以上の処理により、各色間が最も離れた値となるため、弁別性を最大化できる。
第2のグレー変換処理のグレー値704では、1番目に明るいIndex1の白には、グレー値(白)801の値255が割り当てられ、2番目に明るいIndex3の色には、グレー値802の値223が割り当てられる。さらに、3番目に明るいIndex2の色には、グレー値803の値191が割り当てられ、4番目に明るいIndex5の色には、グレー値804の値159が割り当てられ、最も暗いIndex4の黒には、グレー値809の値0が割り当てられる。これは、主に文字に使用される黒が薄くなると、文字が読みづらくなるためである。以上の処理により、各色間の弁別性は確保した上で、トナー消費量を少なく抑えることができる。ただし、Index4の黒にグレー値805の値128を割り当てることで、トナー消費量をさらに抑えてもよい。
図9(a)~(c)は、画像600を第1~第3のグレー変換処理でグレー化した際に割り当てられるグレー値を示す図である。以下、第2のグレー変換処理では、弁別性を確保しつつ、トナー消費量を抑えることが可能となる効果を説明する。図9(a)は、第3のグレー変換処理で変換した際のグレー値900を示す図である。図9(b)は、第1のグレー変換処理で変換した際のグレー値906を示す図である。図9(c)は、第2のグレー変換処理で変換した際のグレー値912を示す図である。
第3のグレー変換処理で変換した際のグレー値900は、図7(c)の輝度値701であり、これらの輝度値701を表すのが、グレー値901~905である。第1のグレー変換処理で変換した際のグレー値906は、図7(c)のグレー値703であり、これらのグレー値703を表すのが、グレー値907~911である。第2のグレー変換処理で変換した際のグレー値912は、図7(c)のグレー値704であり、これらのグレー値704を表すのが、グレー値913~917である。
図9(b)の第1のグレー変換処理は、カラー画像の各画素の色値を、図8(a)の複数のグレー値のうちの略等間隔のグレー値に割り当てる処理である。図9(c)の第2のグレー変換処理は、カラー画像の各画素の色値に対して、各画素の輝度値の高い順に、図8(a)の複数のグレー値のうちの薄いグレー値から順に割り当てる処理である。
図9(a)の第3のグレー変換処理では、グレー値902と903が、それぞれ値189と175であり、非常に近いグレー値となり、弁別性が確保できない。これに対して、図9(b)の第1のグレー変換処理と図9(c)の第2のグレー変換処理では、各グレー値間が等間隔かつ、弁別性を確保できるだけ離れている。
第3のグレー変換処理で変換した際のグレー値900と第1のグレー変換処理で変換した際のグレー値906を比較すると、グレー値903と904よりもグレー値909と910の方が濃い。そのため、同じカラー画像をグレー変換した結果、第3のグレー変換処理よりも第1のグレー変換処理の方が、トナー消費量が多くなる。
一方で、第3のグレー変換処理で変換した際のグレー値900と第2のグレー変換処理で変換した際のグレー値912を比較すると、図9(c)のグレー値914、915、916は、図9(a)のグレー値902、903、904よりも全て薄い。そのため、同じカラー画像をグレー変換した結果、第3のグレー変換処理よりも第2のグレー変換処理の方が、トナー消費量が少なくなる。このように、第2のグレー変換処理では、図8(a)のグレーターゲット800を薄いグレー値から順に割り当てることで、グレー値同士の弁別性は確保しつつ、トナー消費量を抑えることが可能となる。
図8(a)はグレーターゲット800を示す図であり、図8(b)はプリンタ特性810を示す図である。以下、図5のグレーターゲット作成ステップS502の詳細について説明する。グレーターゲット800は、信号値801~809を有する。グレー値801~809は、そのグレー値で印刷物が出力された際に、どのグレー値も人の目で弁別可能な濃度差を実現するものとなるように設定される。プリンタ特性810は、グレー値801~809を出力する際、入力信号値に比例して濃度が濃く(薄く)なる(リニアである)プリンタ特性であるとして説明する。
図8(b)に示すように、黒の最大濃度が1.4のプリンタにおいて、紙白濃度が0.6の紙を用いる場合、グレーターゲット800のグレー値801~809が実現する濃度域は0.6~1.4となる。また、人の目が濃度を区別するのに必要な濃度差が0.1であるとすると、これが弁別性の閾値となり、結果として濃度0.1の間隔で全9レベルのグレーターゲット800のグレー値801~809が設定される。つまり、グレー値(白)801から濃度0.1離れたグレー値802には濃度0.7を、グレー値802から濃度0.1離れたグレー値803には濃度0.8を実現する信号値が設定される。
プリンタ特性810は、グレー値と出力濃度のリニアな関係を離散的に表している。点811では、グレー値が255の場合、出力濃度が0.6になる。点812では、グレー値が224の場合、出力濃度が0.7になる。点813では、グレー値が192の場合、出力濃度が0.8になる。点819では、グレー値が0の場合、出力濃度が1.4になる。点814~818についても、プリンタ特性810にプロットされている通りである。つまり、グレー値(白)801は255、グレー値802は224、グレー値803は192となる。グレー値804~809は、順に、160、128、96、64、32、0となる。
ここでは、再現可能な濃度域が弁別性の閾値の等倍であったため、全てのグレーターゲットのグレー値801~809が等間隔となったが、必ずしもこの限りではなく、略等間隔であればよい。再現可能な濃度域が弁別性の閾値の等倍でない場合には、例えば、グレー値(白)801から順にグレー値を設定していき、最後のグレー値808とグレー値(黒)809の間が弁別性の閾値よりも広くなることがあってもよい。または、グレー値(白)801とグレー値802の間と、グレー値808とグレー値(黒)809の間を広めに設定するようにしてもよい。さらに、全てのグレーターゲット800のグレー値801~809の間隔を、弁別性の閾値よりも少し広い間隔で設定してもよい。その他、どのような設定方法であっても、グレーターゲット800のグレー値801~809同士が弁別性の閾値以上離れた状態であればよい。弁別性の閾値については濃度を基に設定したが、この他に明度や輝度、グレー値などを基に設定してもよい。また、グレーターゲット800のグレー値801~809の数については9個で説明したが、この限りではない。上記の条件を満たした上で、設定可能な最大数のグレーターゲット800のグレー値を設定できればよい。
CPU105は、図5のステップS502のグレーターゲット507を予め作成し、その作成したグレーターゲット507を記憶部107に保存し、ジョブ実行時に、グレーターゲット507を読み出してRAM106に展開してもよい。
以上の処理を実行することにより、カラー画像のモノクロ印刷時に弁別性を確保しつつ、トナー消費量を抑えることが可能となる。
以上のように、第1のグレー変換処理は、弁別性向上のためにグレー値同士の間隔を広げるため、第3のグレー変換処理に比べ、グレー変換処理後の色の弁別性が向上する。しかし、第1のグレー変換処理後のグレー値は、第3のグレー変換処理後のグレー値よりも濃くなる場合がある。その場合には、第1のグレー変換処理後の画像を印刷するためのトナー消費量が、第3のグレー変換処理を行った場合に比べて増加してしまう。
一方で、画像全体が濃い場合には、第1のグレー変換処理後のグレー値の方が第3のグレー変換処理後のグレー値よりも薄いグレー値になる場合がある。その場合には、第1のグレー変換処理後の画像を印刷するためのトナー消費量が、第3のグレー変換処理を行った場合に比べて減少する。そのため、第1のグレー変換処理は、第3のグレー変換処理に対して、弁別性が向上し、かつ、トナー消費量が低減する。
このように、第1のグレー変換処理は、弁別性を向上させた際に、第3のグレー変換処理に比べてトナー消費量が増加するか減少するかは画像によるため、弁別性とトナー消費量が最適なグレー変換処理をユーザが常に正しく判断するのは困難である。
また、画像処理システム118には、省トナーモード、濃度調整、黒領域調整等、ユーザが濃度調整を行うための機能が存在する。これらの機能を有効にした際に、いずれのグレー変換処理を選択すれば、他の機能と整合性が取れるのかについて、ユーザが判断するのは困難である。以下、いずれのグレー変換処理を設定すべきかを、グレー変換処理後のトナー消費量、あるいは、他の画像調整機能の設定状況を考慮して、決定することができる画像処理システム118を説明する。
図10は、第1および第2のグレー変換処理の選択方法を説明するフローチャートである。画像処理システム118は、第3のグレー変換処理に比べてトナー消費量が増えないように、第1または第2のグレー変換処理を選択する。図10の処理の一部は、ホストPC110のCPU114が記憶部116に格納されているプログラムをRAM115に展開し、その展開したプログラムを実行することにより実現される。また、図10の処理の他の一部は、画像形成装置100のCPU105が記憶部107に格納されているプログラムをRAM106に展開し、その展開したプログラムを実行することにより実現される。なお、上述した通り、第1および第2のグレー変換処理は、CPU114および/またはCPU105がコマンド解析部204として機能することにより実行されるものとして説明する。
ステップS1001では、制御部111は、トナー消費量Taを算出するため、第3のグレー変換処理でモノクロ画像データを生成するように画像処理部112へ指示する。画像処理部112は、第3のグレー変換処理を用いて、カラー画像データを第3のモノクロ画像データに変換し、その変換した第3のモノクロ画像データをレンダリングした第3のモノクロビットマップ画像を記憶部116に保存する。制御部111は、記憶部116から第3のモノクロビットマップ画像を読み出す。計算部113は、前述したトナー消費量算出処理により、第3のモノクロビットマップ画像のトナー消費量Taを算出し、トナー消費量Taを記憶部116に保存する。
ステップS1002では、制御部111は、トナー消費量Tbを算出するため、第1のグレー変換処理で第1のモノクロ画像データ1008を生成するように画像処理部112へ指示する。画像処理部112は、第1のグレー変換処理を用いて、カラー画像データを第1のモノクロ画像データ1008に変換する。そして、画像処理部112は、その変換した第1のモノクロ画像データ1008と、第1のモノクロ画像データ1008をレンダリングした第1のモノクロビットマップ画像を記憶部116に保存する。制御部111は、記憶部116から第1のモノクロビットマップ画像を読み出す。計算部113は、前述したトナー消費量算出処理により、第1のモノクロビットマップ画像のトナー消費量Tbを算出し、トナー消費量Tbを記憶部116に保存する。
次に、ステップS1003では、制御部111は、記憶部116に保存されたトナー消費量TaとTbを読み出し、トナー消費量TaとTbを比較する。制御部111は、トナー消費量Taがトナー消費量Tbより少ない場合には、第1のグレー変換処理は第3のグレー変換処理よりもトナー消費量が増えてしまうので、第2のグレー変換処理を選択するため、ステップS1004に進む。また、制御部111は、トナー消費量Taがトナー消費量Tb以上である場合には、第1のグレー変換処理は第3のグレー変換処理よりもトナー消費量が増えないため、弁別性が最大化できる第1のグレー変換処理を選択するため、ステップS1006に進む。
ステップS1004では、制御部111は、弁別性を確保しつつトナー消費量が少なくなるようにグレー値を決定する第2のグレー変換処理の採用を決定し、第2のグレー変換処理でモノクロ画像データを生成するように画像処理部112へ指示する。画像処理部112は、第2のグレー変換処理を用いて、カラー画像データを第2のモノクロ画像データ1009に変換し、その変換した第2のモノクロ画像データ1009を記憶部116に保存する。
次に、ステップS1005では、制御部111は、記憶部116から第2のモノクロ画像データ1009を読み出し、ネットワーク117を介して、画像形成装置100に第2のモノクロ画像データ1009を出力する。画像形成装置100の制御部101は、ホストPC110からネットワーク117を介して第2のモノクロ画像データ1009を入力する。画像処理部103は、その入力した第2のモノクロ画像データ1009を処理する。制御部101は、画像処理部103により処理された第2のモノクロ画像データ1009を印刷するように、画像出力部109を制御する。画像出力部109は、画像処理部103により処理された第2のモノクロ画像データ1009を印刷する。
ステップS1006では、制御部111は、第1のグレー変換処理の採用を決定し、記憶部116から第1のモノクロ画像データ1008を読み出す。
次に、ステップS1007では、制御部111は、ネットワーク117を介して、画像形成装置100に第1のモノクロ画像データ1008を出力する。画像形成装置100の制御部101は、ホストPC110からネットワーク117を介して第1のモノクロ画像データ1008を入力する。画像処理部103は、その入力した第1のモノクロ画像データ1008を処理する。制御部101は、画像処理部103により処理された第1のモノクロ画像データ1008を印刷するように、画像出力部109を制御する。画像出力部109は、画像処理部103により処理された第1のモノクロ画像データ1008を印刷する。
なお、ホストPC110がモノクロ画像データを生成して画像形成装置100へ出力する方法を説明したが、これに限定されない。例えば、ホストPC110は、ステップS1001~S1003の処理を行い、プリンタドライバ202を介してカラー画像データとステップS1003の比較結果を画像形成装置100へ出力する。画像形成装置100は、カラー画像データと比較結果を入力し、比較結果に応じて、第1のグレー変換処理または第2のグレー変換処理を行う。また、画像形成装置100が、図10のステップS1001~S1007のすべての処理を行ってもよい。
また、ステップS1006では、制御部111は、記憶部116の第1のモノクロ画像データ1008を用いずに、第1のグレー変換処理を用いて、カラー画像データを第1のモノクロ画像データに変換してもよい。
以上のように、画像処理システム118は、入力カラー画像データを第3のグレー変換処理した場合のモノクロ画像データのトナー消費量Taと、入力カラー画像データを第1のグレー変換処理した場合のモノクロ画像データのトナー消費量Tbを算出する。そして、画像処理システム118は、トナー消費量TaとTbの比較結果に応じて、第1のグレー変換処理および第2のグレー変換処理のうちのいずれを用いて変換されたモノクロ画像を採用するかを決定する。これにより、画像処理システム118は、弁別性を確保しつつ、第3のグレー変換処理(NTSC変換)と比べてトナー消費量が増えないように、第1または第2のグレー変換処理を自動で選択することができる。
(第2の実施形態)
本発明の第2の実施形態が第1の実施形態と異なる処理についてのみ説明する。第1の実施形態では、第3のグレー変換処理と比べてトナー消費量が増えないように第1または第2のグレー変換処理を選択した。本実施形態では、画像処理システム118は、ユーザによって設定されたトナー消費量の許容値thを超えないように第1または第2のグレー変換処理を選択する。
図11は、本発明の第2の実施形態による第1および第2のグレー変換処理の選択方法を示すフローチャートである。図11の処理の一部は、ホストPC110のCPU114が記憶部116に格納されているプログラムをRAM115に展開し、その展開したプログラムを実行することにより実現される。また、図11の処理の他の一部は、画像形成装置100のCPU105が記憶部107に格納されているプログラムをRAM106に展開し、その展開したプログラムを実行することにより実現される。なお、上述した通り、第1および第2のグレー変換処理は、CPU114および/またはCPU105がコマンド解析部204として機能することにより実行されるものとして説明する。
図12(a)は、トナー消費量の許容値thの設定するための処理オプション設定画面1200を示す図である。以下、トナー消費量の許容値thの設定方法を説明する。処理オプション設定画面1200は、プリンタドライバ202内の処理オプション設定画面の一例である。処理オプション設定画面1200には、複数の処理オプションとその設定値が表示されており、設定をキャンセルするキャンセルボタン1203と、設定を決定するOKボタン1204が表示されている。処理オプション設定画面1200では、選択されている処理オプションがハイライト表示されている。処理オプションの1つがトナー消費量設定1201である。トナー消費量設定1201は、設定値が低、中、高を選択可能である。ユーザは、トナー消費量設定1201を選択し、設定のドロップダウンボタン1202で設定値を選択することで、トナー消費量の許容値thが設定される。制御部111は、ドロップダウンボタン1202の設定値に応じたトナー消費量の許容値thを記憶部116に保存する。なお、トナー消費量の許容値thの設定方法は、これに限定されず、設定できるレベルは3段階でなくでもよく、ユーザが直観的に設定できるものであればよい。
ステップS1101では、計算部113は、図10のステップS1002と同様に、トナー消費量Tbを算出し、トナー消費量Tbを記憶部116に保存する。画像処理部112は、第1のグレー変換処理を用いて、カラー画像データを第1のモノクロ画像データ1008に変換し、第1のモノクロ画像データ1008を記憶部116に保存する。
次に、ステップS1102では、制御部111は、記憶部116に保存されているトナー消費量の許容値thとトナー消費量Tbを読み出し、トナー消費量Tbと許容値thを比較する。許容値thは、閾値である。制御部111は、プリンタドライバ202で設定されているトナー消費量の許容値thを取得し、その取得したトナー消費量の許容値thを記憶部116に保存する。制御部111は、トナー消費量Tbが許容値thより少ない場合には、弁別性が最大化できる第1のグレー変換処理のトナー消費量Tbが許容値thを超えないため、第1のグレー変換処理を選択するためのステップS1103に進む。また、制御部111は、トナー消費量Tbが許容値th以上である場合には、第1のグレー変換処理のトナー消費量Tbが許容値th以上であるため、第2のグレー変換処理を選択するためのステップS1105に進む。
ステップS1103では、制御部111は、図10のステップS1006と同様に、第1のグレー変換処理の採用を決定し、第1のモノクロ画像データ1008を記憶部116から読み出す。
次に、ステップS1104では、制御部111は、図10のステップS1007と同様に、第1のモノクロ画像データ1008を画像形成装置100に出力する。画像処理部103は、第1のモノクロ画像データ1008を処理する。制御部101は、画像処理部103により処理された第1のモノクロ画像データ1008を印刷するように、画像出力部109を制御する。画像出力部109は、画像処理部103により処理された第1のモノクロ画像データ1008を印刷する。
ステップS1105では、制御部111は、図10のステップS1004と同様に、第2のグレー変換処理の採用を決定する。画像処理部112は、第2のグレー変換処理を用いて、カラー画像データを第2のモノクロ画像データに変換する。
次に、ステップS1106では、制御部111は、図10のステップS1005と同様に、第2のモノクロ画像データを画像形成装置100に出力する。画像処理部103は、第2のモノクロ画像データを処理する。制御部101は、画像処理部103により処理された第2のモノクロ画像データを印刷するように、画像出力部109を制御する。画像出力部109は、画像処理部103により処理された第2のモノクロ画像データを印刷する。
以上のように、画像処理システム118は、入力カラー画像データを第1のグレー変換処理した場合のトナー消費量Tbを算出し、トナー消費量Tbとトナー消費量の許容値thを比較する。そして、画像処理システム118は、その比較の結果に応じて、第1のグレー変換処理および第2のグレー変換処理のうちのいずれを用いて変換されたモノクロ画像を採用するかを決定する。画像処理システム118は、各ユーザにとって最適な第1または第2のグレー変換処理を自動で選択することができる。なお、画像形成装置100が、図11のステップS1101~S1006のすべての処理を行ってもよい。
(第3の実施形態)
本発明の第3の実施形態が第1および第2の実施形態と異なる処理についてのみ説明する。第3の実施形態は、第1および第2の実施形態のようにトナー消費量を算出することをせず、画像調整機能の設定に基づいて、第1のグレー変換処理および第2のグレー変換処理のうちのいずれを用いて変換されたモノクロ画像データを採用するかを決定する。これにより、第3の実施形態は、印刷時の画像調整機能の設定によって弁別性が損なわれることがないようにすることができる。
図13は、本発明の第3の実施形態による第1および第2のグレー変換処理の選択方法を示すフローチャートである。図13の処理の一部は、ホストPC110のCPU114が記憶部116に格納されているプログラムをRAM115に展開し、その展開したプログラムを実行することにより実現される。また、図13の処理の他の一部は、画像形成装置100のCPU105が記憶部107に格納されているプログラムをRAM106に展開し、その展開したプログラムを実行することにより実現される。なお、上述した通り、第1および第2のグレー変換処理は、CPU114および/またはCPU105がコマンド解析部204として機能することにより実行されるものとして説明する。
ステップS1301では、制御部111は、プリンタドライバ202で濃度を薄くする機能が設定されているか否かを判定する。濃度を薄くする機能は、例えば、濃度調整機能、濃度微調整機能、省トナー機能などであり、その他、画像を明るくしたり薄くしたりすることが可能な機能のことである。濃度を薄くする機能の一例を、図12(b)を参照しながら説明する。
図12(b)は、濃度調整画面1205の例を示す図である。濃度調整画面1205は、濃度調整機能の設定画面である。濃度調整画面1205は、濃度レベル目盛り1206、濃度レベルを薄く調整する濃度薄調整ボタン1207、濃度レベルを濃く調整する濃度濃調整ボタン1208、設定をキャンセルするキャンセルボタン1209、設定を決定するOKボタン1210を有する。濃度レベルは、デフォルトで濃度レベル目盛り1206の中央に設定されており、濃度薄調整ボタン1207が押されることで濃度レベルを示すインジケータが左へ移動し、濃度レベルが薄く設定される。また、濃度濃調整ボタン1208が押されることで濃度レベルを示すインジケータが右へ移動し、濃度レベルが濃く設定される。なお、濃度レベルの段階やデフォルトの設定は、これに限定されず、濃度調整が可能であればよい。また、濃度微調整機能では、低濃度、中濃度、高濃度などの濃度域毎に、濃度調整が可能であればよい。濃度を薄くする機能は、弁別性を低下させる。
制御部111は、濃度を薄くする機能が設定されている場合には、弁別性を低下させるため、ステップS1304に進み、濃度を薄くする機能が設定されていない場合には、ステップS1302に進む。
ステップS1302では、制御部111は、プリンタドライバ202で濃度を濃くする機能が設定されているか否かを判定する。制御部111は、濃度を濃くする機能が設定されている場合には、ステップS1303に進み、濃度を濃くする機能が設定されていない場合には、ステップS1306に進む。
ステップS1303では、制御部111は、調整濃度域が一部なのか全部なのかを判定する。調整濃度域が一部の機能とは、例えば、濃度微調整機能である。調整濃度域が全部の機能とは、例えば、濃度調整機能、黒(Bk)の最大濃度アップ機能など、その他、グレー値を部分的または全体的に暗くしたり濃くしたりすることが可能な機能のことである。調整濃度域が一部の場合には、調整された濃度域において弁別性が低下するリスクがある。
制御部111は、調整濃度域が一部である場合には、調整された濃度域において弁別性が低下するリスクがあるので、ステップS1304に進む。また、制御部111は、調整濃度域が全部である場合には、調整された濃度域において弁別性が低下するリスクがないので、ステップS1306に進む。
ステップS1304では、制御部111は、第1のグレー変換処理の採用を決定し、弁別性を最大化するための第1のグレー変換処理によりモノクロ画像データを生成するように画像処理部112へ指示する。画像処理部112は、第1のグレー変換処理を用いて、カラー画像データを第1のモノクロ画像データに変換し、その変換した第1のモノクロ画像データを記憶部116に保存する。
次に、ステップS1305では、制御部111は、記憶部116から第1のモノクロ画像データを読み出し、ネットワーク117を介して、画像形成装置100に第1のモノクロ画像データを出力する。画像形成装置100の制御部101は、ホストPC110からネットワーク117を介して第1のモノクロ画像データを入力する。画像処理部103は、その入力した第1のモノクロ画像データを処理する。制御部101は、画像処理部103により処理された第1のモノクロ画像データを印刷するように、画像出力部109を制御する。画像出力部109は、画像処理部103により処理された第1のモノクロ画像データを印刷する。
ステップS1306では、制御部111は、第2のグレー変換処理の採用を決定し、トナー消費量を抑えるための第2のグレー変換処理によりモノクロ画像データを生成するように画像処理部112へ指示する。画像処理部112は、第2のグレー変換処理を用いて、カラー画像データを第2のモノクロ画像データに変換し、その変換した第2のモノクロ画像データを記憶部116に保存する。
次に、ステップS1307では、制御部111は、記憶部116から第2のモノクロ画像データを読み出し、ネットワーク117を介して、画像形成装置100に第2のモノクロ画像データを出力する。画像形成装置100の制御部101は、ホストPC110からネットワーク117を介して第2のモノクロ画像データを入力する。画像処理部103は、その入力した第2のモノクロ画像データを処理する。制御部101は、画像処理部103により処理された第2のモノクロ画像データを印刷するように、画像出力部109を制御する。画像出力部109は、画像処理部103により処理された第2のモノクロ画像データを印刷する。
なお、ステップS1301およびS1302では、制御部111は、プリンタドライバ202の設定に限らず、画像形成装置100の濃度調整に関する機能の設定を判定してもよい。また、画像形成装置100が、図13のステップS1301~S1307のすべての処理を行ってもよい。
以上のように、画像処理システム118は、画像調整機能の設定に基づいて、第1のグレー変換処理および第2のグレー変換処理のうちのいずれを用いて変換されたモノクロ画像を採用するかを決定する。画像処理システム118は、弁別性を損なうリスクを低減しつつ、トナー消費量を低減するように、第1または第2のグレー変換処理を自動で選択することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。