[実施例1]
以下、本発明を実施するための最良の形態について実施例1として図面を用いて説明する。
図1は、本実施形態における画像形成装置のブロック図である。画像形成装置100は、画像入力部101、画像処理装置(制御部102、入力画像処理部104、編集画像処理部105、出力画像処理部106、操作表示部107から構成される)及び画像出力部103から構成される。
画像入力部101は、スキャナなどのハードウェアから構成され、原稿上の画像をRGBデジタル画像に変換して取り込む。そして取り込んだRGBデジタル画像を入力画像処理部104に入力する。
制御部102は、CPU、RAM、ROMから構成され、CPUはROMに含まれるプログラムデータを、適宜RAMを使用しながら実行する。この制御部102が実行する処理についてはフローチャートの各ステップの中で説明を行う。また、RAMはRGBデジタル画像の一時格納用メモリとしても使用される。
画像出力部103はプリンタエンジンなどのハードウェアから構成され、CMYK信号などのデジタル信号で構成される画像を、紙などの出力媒体に印刷する。
入力画像処理部104は、画像入力部101から入力されたRGBデジタル画像に対して、シェーディング補正処理や版ずれ補正処理や、像域判定処理などの所定の画像処理をおこなう。入力画像処理部104により画像処理された後、RGBデジタル画像は制御部102へと入力される。
編集画像処理部105は、制御部102から入力されたRGBデジタル画像の回転や、変倍、モノクロ化処理等の各種画像処理を行う。編集画像処理部104により画像処理された後、RGBデジタル画像は制御部102へと入力される。
出力画像処理部106は、制御部102から入力されたRGBデジタル画像に対して色変換処理を行い、CMYKのデジタル画像を得る。そして、得られたCMYKのデジタル画像に対してハーフトーン処理をおこなう。得られたデジタル画像は画像出力部103に入力される。なお、CMYKのデジタル画像のうち、全ての画像の濃度がC=M=Y=0となっているデジタル画像のことをK単色のデジタル画像と呼ぶことがある。
操作表示部107は、LCDタッチパネルなどのハードウェアから構成され、ユーザから画像形成装置100への操作入力を受け付けたり、画像形成装置100からユーザへの告知あるいは問合せを表示したりする。また編集画像処理部105から入力されたRGBデジタル画像をLCDディスプレイに表示する。
図2は本実施例における入力画像処理部104の内部ブロック図である。入力画像処理部104に入力されたRGBデジタル画像は画像補正部201にて、シェーディング補正処理や版ずれ補正処理などの画像補正が施される。画像補正が行われたRGBデジタル画像は、像域判定部202と画素カラー判定部203と画像遅延バッファ204に入力される。
像域判定部202は、RGBデジタル画像の各画素の像域を判定するものである。像域判定は、例えば、特願平6−320955に記載されている。この特許文献では、原稿画像に含まれている画素塊の輪郭線、画素塊の並びに基づいて各画素の像域を判定している。具体的には、RGBデジタル画像に含まれる結合画素成分を識別し、識別された画素成分に基づいて、対象とする画素の像域を「文字」、「図形」、「写真」等の何れであるか判定している。像域判定部202は、各画素の像域判定結果を示す像域フラグ(例えば、像域フラグは、000から111までの値で構成されている。100は文字を示し、001は図形を示し、010は写真を示し、それ以外の値は文字でも図形でも写真でもないことを示す)を出力する。
画素カラー判定部203は、入力されたRGBデジタル画像の一画素一画素を対象として、各画素がカラー画素か、モノクロ(即ち、白黒)画素かの判定をおこなう。例えば、対象とする画素のR成分、G成分、B成分の値の差を算出し、その差のもっとも大きい値が所定の閾値より大きかった場合にカラー画素、小さかった場合にモノクロ画素と判定するような、公知のアルゴリズムによってこの判定を行う。画素カラー判定部203は、各画素のカラー/モノクロ判定結果を意味するカラー/モノクロフラグ(例えば、このフラグは0か1となっている。0はカラーを示し、1はモノクロを示す)を出力する。
画像遅延バッファ204は、上述の像域判定部202と画素カラー判定部203の処理の間、入力されたRGBデジタル画像を遅延するものである。
データ結合部205では像域判定部202から出力された像域フラグと画素カラー判定部203から出力されたカラー/モノクロフラグと、画像遅延バッファ204から出力されたRGBデジタル画像を結合するものである。ここでは各画素に対して各々対応する像域フラグとカラー/モノクロフラグを付加していく。図3は1画素の画素フォーマットを示した図である。従って、入力画像処理部104により処理された後のR(レッド)、G(グリーン)、B(ブルー)の各8ビットのRGBデジタル画像(301、302、303。)の各画素には、3ビットからなる像域フラグ304と、1bitからなるカラー/モノクロフラグ(308)が付加されている。
図4は編集画像処理部105の内部ブロック図である。変倍処理部401、ページデータ解析部402、モノクロ化処理部403、回転処理部404がそれぞれ接続されている。
変倍処理部401、回転処理部404はRGBデジタル画像の変倍処理、回転処理を行うものである。ページデータ解析部402は、入力画像処理部104にて像域フラグおよびカラー/モノクロフラグが付加されたRGBデジタル画像に対して処理を行う。具体的には、RGBデジタル画像(これは1ページ分の画像である)に含まれている像域フラグの種類と数、像域毎のカラー画素の総数・位置を示すページ像域データを作成する。ページ像域データはページデータ解析部402から、制御部102に入力される。
図5はページ像域データ501の一例である。このページ像域データ501は、対象とするページ内の文字部、写真部、図形部夫々の部におけるカラー画素数を示すカラー画素カウンタ値(502、503、504)と、カラー画素位置(505、506、507)を持っている。カラー画素位置は、例えばRGBデジタル画像における位置座標となっている。
モノクロ化処理部403は、モノクロ化すべきと設定された画素位置に従い、画像のモノクロ化を行うものである。詳細は印刷料金変更処理のフローとともに説明する。
図6は、画像形成装置100による単一の原稿のコピージョブ動作の全体フローを示している。
まず、画像入力部101は、取り込んだRGBデジタル画像を入力画像処理部104に入力する(S601)。すると、入力画像処理部104は、入力されたRGBデジタル画像に対して上述した所定の画像処理を行い、さらに、像域フラグ(305、306、307。)およびカラー/モノクロフラグ(308)を付加し、付加したRGBデジタル画像を制御部102に入力する(S602)。その後、像域フラグおよびカラー/モノクロフラグが付加されたRGBデジタル画像は制御部102から編集画像処理部105に入力される。編集画像処理部105により、上述の通りのページ像域データが作成される(S603)。続いて、制御部102は、入力画像処理部104から入力されたRGBデジタル画像に基づいて印刷料金設定処理をおこなう(S604)。この処理については図7を用いて後述する。
次に、制御部102は、印刷料金設定処理S604の結果に基づいて、印刷料金を判定する(S605)。本実施例では、印刷料金としてモノクロ料金(例えば、10円)、フルカラー料金(例えば、20円)、フルエリアカラー料金(例えば、40円)の3段階存在するものとする。それぞれの料金の詳細については図7の説明時に述べるが、3段階よりも多くの段階があっても良いのでは言うまでも無い。印刷料金がモノクロ料金の場合、制御部102はS611以降の処理を開始する。制御部102は、印刷料金がフルカラー料金の場合、操作表示部107を介して、ユーザにモノクロ料金へ印刷料金の変更を行うか否かの確認を行う(S606)。操作表示部107がユーザによるモノクロ料金への印刷料金変更指示を受け付けなければ、制御部102はS611以降の処理を開始し、受け付けた場合には全ての画素のカラー/モノクロフラグをモノクロフラグに変更する(S607)。また、制御部102は、印刷料金がフルエリアカラー料金の場合、操作表示部107を介して、ユーザに印刷料金の変更を行うか否かの確認を行う(S608)。受け付けた場合には、制御部102は操作表示部107を介して、ユーザにモノクロ料金又はフルカラー料金へ印刷料金の変更を行うか否かの確認を行う(S609)。操作表示部107がユーザによるモノクロ料金への印刷料金変更指示を受け付けた場合には全ての画素のカラー/モノクロフラグをモノクロフラグに変更する(S607)。受け付けなければ、制御部102はフルカラー料金への印刷料金変更処理を行う(S610)。この処理については、図8を用いて後述する。
次に、制御部102は、出力画像処理部106に対して色変換パラメータの設定をおこなう(S611)。具体的には、カラー/モノクロフラグがモノクロの画素に対しては、モノクロ画像用の色変換パラメータを、カラー/モノクロフラグがカラーの画素に対しては、カラー画像用の色変換パラメータの設定をおこなう。なお、モノクロ画像用の色変換パラメータは、RGBデジタル画像をK単色のデジタル画像へと変換するためのパラメータであり、カラー画像用の色変換パラメータは、K単色でないCMYKのデジタル画像へと変更するためのパラメータである。このうち、カラー画像用の色変換パラメータは、RGBデジタル画像に含まれる画素の持つR成分、G成分、B成分の値が互いに近い場合に(即ち、互いの差が何れも所定の閾値以下である場合に。)、その画素のRGB値をK単色の画素へと変換するパラメータであることが好ましい。もちろん、互いの差の何れかがその所定の閾値よりも大きい場合には、その画素のRGB値をCMYK値(ただし、CMY値のうちの何れかが0でない値を持つCMYK値)へと変換するパラメータであることが好ましい。
以上の処理が終了すると、制御部102は、入力画像処理部104から入力されたRGBデジタル画像を出力画像処理部106へと入力する。
続いて、出力画像処理部106は、設定された色変換パラメータを用いて、入力されたRGBデジタル画像に対する色変換処理を行う。そして、色変換処理により得られたCMYKのデジタル画像に対してハーフトーン処理を行う。そして、ハーフトーン処理結果を画像出力部103に入力する(S612)。
最後に、画像出力部103は、入力された画像(色変換処理、ハーフトーン処理などの画像処理が行われた後の画像処理結果)を印刷する(S613)。
図7は、図2における印刷料金設定処理S604の詳細な処理フローを示している。
印刷料金設定処理S604では、制御部102は、入力されたRGBデジタル画像を複数のブロックに分割する(S701)。そして、各ブロックにおけるRGB輝度の平均値を算出する(S702)。なお、以下の説明では、ブロックは32画素×32画素からなる領域であるものとして説明を行うが、他のサイズの領域であっても構わないのは言うまでもない。また、本実施形態では算出(算出とは計算のことである。)する値をRGB輝度の平均値であるものとして説明を行うが、他の値であっても良い。例えば、重み付け平均値であっても良い。
次に、制御部102は、算出した平均値を基に各ブロックがカラーブロックか、モノクロブロックかを判定する(S703)。例えば、対象とするブロックの平均値におけるR成分、G成分、B成分の値の差を算出し、その差のもっとも大きい値(この値を色差と呼ぶことがある。)が所定の閾値より大きかった場合にカラー画素、小さかった場合にモノクロ画素と判定するような、公知のアルゴリズムによってこの判定を行う。
なお、判定アルゴリズムはこのアルゴリズムに限られない。例えば、RGB輝度をYUV輝度に変換してそのUの2乗とVの2乗の合計(この合計は、一般的な色差である。)と閾値を比較するような手法でも構わない。その他、様々な色差の決定方法はあるが、どのような方法であっても良い。
その後、制御部102は、カラーブロックと判定されたブロックの数を数え、入力された画像に含まれたブロックの数で割る。これによって、全ブロックに占めるカラーブロックの割合を算出する(S704)。カラーブロックの割合が第一の区分「第一の閾値未満(第一の閾値=0.1%)未満」に入る場合、この画像の印刷料金をモノクロ料金(例えば、10円)に設定する(S705)。また、カラーブロックの割合が第二の区分「第一の閾値以上第二の閾値未満(第二の閾値=10%)」に入る場合、この画像を印刷料金をフルカラー料金(例えば、20円)に設定する(S706)。また、カラーブロックの割合が第三の区分「第二の閾値以上」に入る場合、この画像の印刷料金をフルエリアカラー料金(例えば、40円)に設定する(S707)。なお、今回、閾値として0.1%、10%を例に挙げ説明を行うが、これ以外の閾値であっても良いのは言うまでもない。ただし、第二の閾値が第一の閾値より大きくなくてはいけないのは言うまでもない。制御部102は、算出したカラーブロックの割合を制御部102に保持しておく。
このように、制御部102は、印刷料金の設定に際しては、モノクロ画像とカラー画像の2段階の区分ではなく、カラーブロックの割合に応じて、カラー画像をさらにフルカラー画像とフルエリアカラー画像に区分する。制御部102は、印刷料金を前述の印刷料金設定処理S604で操作表示部107に表示させるようにしてもよい。なお、以上の通りカラーブロックの割合
また、区分は、カラーブロックの割合によって規定されている必要はなく、カラーブロックの数によって規定されていても良い。なお、カラーの量を計るにあたって、カラーブロックの数を用いたのは一形態に過ぎず、カラー画素の数などカラーの量を計るための他の数値を用いても良いのは言う間も出ない。
なお、S702で求められたブロック毎の平均値を集めるとサムネイル画像ができる。制御部12は、印刷料金情報の表示に際して印刷料金情報と共にこのサムネイル画像を操作表示部107にプレビュー画像として表示させるようにしても良い。
図8は、図2における印刷料金変更処理S610の詳細な処理フローを示している。本実施例では、印刷料金変更の対象となるRGBデジタル画像が、画像サイズ320画素×320画素、カラーブロックの割合が20%であるとする。
まず制御部102は、目標となるカラーブロックの割合を決定する(S801)。目標となるカラーブロックの割合は、第二の閾値付近の値である。即ち、例えばフルカラー料金で最も大きくなるカラーブロックの割合などの、第一の閾値よりも第二の閾値に近い第二の閾値未満の値である。なお、フルカラー料金で最も大きくなるカラーブロックの割合とは、例えば、第2の閾値(10%)未満で最も大きい値である9%となる。変更前のカラーブロックの割合は、S704で算出した後、制御部102に保持されたカラーブロックの割合を取得して使用する。目標となるカラーブロックの割合は、RGBデジタル画像の画像サイズと図7で説明したフルカラー料金となるカラーブロックの割合を示す第二の閾値(本実施例では10%)に応じて異なる。
次に制御部102は、操作表示部107にモノクロ化してもよい像域を選択するための像域選択ボタンを表示する(S802)。制御部102は、ページ像域データ501のカラー画素カウンタ値(502、503、504)を参照し、カラー画素カウンタ値が0ではない像域を選択するためのボタンを表示する。また、像域選択ボタンとして、全てのカラーブロックをモノクロ化してもよいことを意味する「全て」ボタンも表示する。なお、像域選択ボタンは「文字」、「写真」のように複数を選択することにより「文字」、「写真」の像域を含むカラーブロックのモノクロ化を実行することが可能である。
制御部102は、どの像域選択ボタンが押下されたか、を判断する(S803)。「全て」ボタンが押下された場合、制御部102は全てのカラーブロックのRGB輝度平均値を取得する(S804)。S703で判定したカラーブロックのRGB輝度平均値を制御部102に保持しておき、S804においてそれを取得するようにしてもよい。押下されたボタンが「全て」であるため、全てのカラーブロックに対して、モノクロ化を実行可能になる。その後、制御部102はS808以降の処理を開始する。
押下されたボタンが「全て」ボタンではない場合、制御部102は、選択された像域を含むカラーブロックを全てモノクロ化すると印刷料金変更が可能か、を判断する(S805)。具体的には、選択された像域を含むカラーブロックを除いたカラーブロックの割合がS801で決定した目標となるカラーブロックの割合よりも小さい場合は、印刷料金変更が可能と判断する。ページ像域データ501のカラー画素位置(505、506、507)が含まれるブロックが、選択された像域を含むカラーブロックとなる。印刷料金変更が可能な場合、制御部102は選択された像域を含むカラーブロックのRGB輝度平均値を取得する(S806)。その後、制御部102はS808以降の処理を開始する。S805において、印刷料金変更が不可能な場合、モノクロ化してもよい像域を追加選択させるための処理を行う(S807)。例えば、操作表示部107に対して、ユーザに像域の追加選択を促すメッセージを告知する。その後、S802に戻り像域選択ボタンを表示する。また、すでに選択した像域選択ボタンを他の像域選択ボタンと異なる色で表示し、かつ選択不可にすることによって、ユーザはどの像域選択ボタンがすでに選択されたかが直感的に理解可能になる。このようにS802では、予めどの像域選択されたかの情報を制御部102に保持しておき、それを参照することで表示を切り替えるようにしてもよい。
次に、制御部102は変更前のRGBデジタル画像のカラーブロックの割合(本実施例では20%)と変更後の目標となるカラーブロックの割合(本実施例では9%)から、モノクロ化するカラーブロックを決定する(S808)。詳細は図9を用いて説明する。
次に、制御部102はS808で決定したモノクロ化するカラーブロックに含まれるカラー画素(即ち、モノクロフラグが付加された画素)のカラー/モノクロフラグをモノクロフラグに変更する(S809)。制御部102は、S809で変更されたカラー/モノクロフラグを参照して、S611にて出力画像処理部106に対して色変換パラメータの設定をおこなう。
モノクロ化するカラーブロックを決定するアルゴリズムとして、対象となるカラーブロックのRGB輝度の平均値を用いる例を図9を用いて説明する。そのアルゴリズムではまず、S804やS806で取得したカラーブロックのRGB輝度の平均値におけるR成分、G成分、B成分の値の差を算出する(S901)。次に、その差が最も小さいブロックをモノクロ化するブロックと決定する(S902)。次に、S902で決定したブロックを除いたカラーブロックの割合がS801で決定した目標となるカラーブロックの割合よりも小さいかを判定する(S903)。小さい場合は、処理を終了する。大きい場合は、S902に戻り、すでにモノクロ化すると決定したブロックを除いたブロックの中でRGB輝度の平均値におけるR成分、G成分、B成分の値の差が最も小さいブロックをモノクロ化する。このように、すでにモノクロ化を行ったブロックの情報を制御部102に保持しておき、S902ではその情報を参照して、モノクロ化するブロックを決定するようにしてもよい。S902、S903の処理を目標となるカラーブロックの割合よりも小さくなるまで繰り返す。本実施例では、カラーブロックの数が9個になるように、モノクロ化するブロックをR成分、G成分、B成分の値の差が小さい順に11個決定する。
また、印刷料金変更後のRGBデジタル画像を操作表示部107にプレビュー表示するようにしてもよい。制御部102は、印刷料金変更処理(S610)の処理にてカラー/モノクロフラグが変更されたカラー画素の位置に基づいて、モノクロ化処理部403に対して画素位置の設定を行う。次に制御部102は、RGBデジタル画像を制御部102から編集処理部105に入力し、モノクロ化処理部403でモノクロ化処理を実行する。モノクロ化処理部403では、以下の手順でモノクロ化処理を行う。入力されたRGBデジタル画像の各画素のRGB輝度からYUV空間へ変換する。次に、変換されたYUV空間のうちY成分の値をRGB輝度の各成分の値として、RGB輝度に変換し、RGBデジタル画像を生成する。つまり、変換されたRGBデジタル画像のR成分、G成分、B成分の値は全て同一となる。これらの処理によって、モノクロ化されたRGBデジタル画像が生成される。生成されたRGBデジタル画像はモノクロ化処理部403から出力され、変倍処理部401や回転処理部404に入力される。変倍処理部401や回転処理部404において、操作表示部107に搭載されるLCDディスプレイの解像度やプレビュー表示するRGBデジタル画像の向きに応じて、変倍処理や回転処理が施され、プレビュー画像が生成される。その後、制御部102は編集画像処理部105で処理されたプレビュー画像を操作表示部107に入力し、印刷料金変更後のRGBデジタル画像をプレビュー表示する。このように生成した印刷料金変更後のRGBデジタル画像を、例えばS809の後のステップで操作表示部107にプレビュー表示する。さらに、プレビュー表示した画像を印刷するか否か、をユーザに確認してもよい。例えば、操作表示部107に図示しないOKボタンを表示し、ユーザが印刷を実行する場合に、OKボタンを押下するようにする。これにより、ユーザは印刷料金変更後の画像が容易に確認できるため、印刷に係る失敗を減らすことができる。
さらに、上記のような方法で生成した印刷料金変更後のRGBデジタル画像を示すプレビュー画像と、印刷料金変更前のRGBデジタル画像を示すプレビュー画像を操作表示部107に比較表示するようにしてもよい。印刷料金前のRGBデジタル画像を示すプレビュー画像は、以下の手順で生成するようにしてもよい。制御部102は、S602にて入力画像処理部103で処理が施されたRGBデジタル画像を編集画像処理部105に入力する。そこで、変倍処理部401や回転処理部404において、操作表示部107に搭載されるLCDディスプレイの解像度やプレビュー表示するRGBデジタル画像の向きに応じて、変倍処理や回転処理が施され、プレビュー画像が生成される。このように生成した2つのプレビュー画像を操作表示部107に入力し、プレビュー画像を比較表示する。これにより、ユーザは印刷料金変更による画像の変更が簡便に確認できるため、印刷に係る失敗をさらに減らすことができる。
本実施例では、印刷料金変更処理において、ユーザからの像域選択指示を受け付けてモノクロ化する像域を決定していたが、ユーザからの領域指示を受け付けてモノクロ化する領域を決定し、印刷料金変更・印刷を行ってもよい。これによれば、ユーザにより選択された領域に基づいて同じ印刷料金において最もカラー画素数が多くなるようなモノクロ化処理のための画素位置を決定する。また、選択された領域が不足している際は、ユーザに領域追加を促すようにする。これによりユーザは必要な領域のカラーを維持しつつ同じ印刷料金で最もカラー画素数が多い画像を印刷することが可能となるものである。
また、印刷料金変更処理において、ユーザからのカラーオブジェクト選択を受け付けてモノクロ化するカラーオブジェクトを決定し、印刷料金変更・印刷を行ってもよい。カラー画素であり、「文字」、「図形」、「写真」等の類似する特徴を持ち、画像上の位置が近い画素群をカラーオブジェクトとして画像形成装置100が自動で抽出する。これによれば、ユーザにより選択されたカラーオブジェクトに基づいて同じ印刷料金において最もカラー画素数が多くなるようなモノクロ化処理のための画素位置を決定する。これによりユーザは必要なカラーオブジェクトのカラーを維持しつつ同じ印刷料金で最もカラー画素数が多い画像を印刷することが可能となるものである。
さらに、印刷料金変更処理において、モノクロ化してもよい色を選択するようにしてもよい。色の選択方法として特定の一色を選択させるのではなく、彩度や濃度、輝度等が一定の範囲を持った色を選択させるようにしてもよい。例えば、「赤」を選択させるのではなく、「赤に近い色」を選択させる、といった具合である。これによりユーザは必要な色のカラーを維持しつつ同じ印刷料金で最もカラー画素数が多い画像を印刷することが可能となるものである。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、説明してきたように印刷料金変更時に、ユーザがモノクロ化したい像域を選択する。選択された印刷料金および像域に基づいて、同じ印刷料金において最もカラー量が多くなるようなモノクロ化処理を行う。これによりユーザは必要な像域のカラーを維持しつつ、同じ印刷料金で最もカラー画素数が多い画像を印刷することが可能となるものである。なお、以上の実施例では、ユーザに像域を選択させたが、そうではなくてユーザに領域を選択させ、その領域に含まれるカラー画素をモノクロ化しても良い。
また、本実施例では料金を表示画面に表示する場合を例に説明を行ったが、そうではなくて単純にカラー量(例えば、カラーブロックの割合)や、該当する区分を表示するようにしても良い。
[実施例2]
実施例1の形態では印刷料金変更処理において、ユーザからの像域選択指示を受け付けてモノクロ化する像域を決定し、モノクロ化する画素位置を決定するものであった。本実施の形態では、より操作の簡便性を得るために、印刷料金変更処理において、印刷料金変更後のプレビュー画像を表示し、プレビュー画像を選択することで印刷実行する例を説明する。
本実施形態に係る画像処理装置の構成は変わっていないため、説明は省略する。
本実施例における印刷料金変更処理について図10のフローチャートに基づいて詳細に説明する。本実施例では、印刷料金変更の対象となるRGBデジタル画像が、画像サイズ320画素×320画素、カラーブロックの割合が12%であるとする。また、カラーブロックは文字像域のみを含むブロックが4%、写真像域のみを含むブロックが4%、図形領域のみを含むブロックが4%であるとする。
印刷料金変更処理S610では、制御部102はまず目標となるカラーブロックの割合を決定する(S1001)。本実施例では、画像サイズ320画素×320画素であり、変更後の目標となるカラーブロックの割合は10%未満で最も大きい値である9%となる。次に制御部102は、S1001で決定されたカラーブロックの割合にするために1ページ分のカラー/モノクロフラグを複数生成する(S1002)。カラー/モノクロフラグ生成処理については、図11を用いて詳細に説明する。
カラー/モノクロフラグ生成処理S1002では、制御部102はまずプレビュー画像を生成する像域の組み合わせを選択する(S1101)。制御部102は、印刷料金変更が可能になる像域の組み合わせから、所定のアルゴリズムに基づいてプレビュー画像を生成する像域の組み合わせを選択する。上述した本実施例の条件から、印刷料金変更可能な像域の組み合わせとして、以下が抽出できる。文字像域のみ、写真像域のみ、図形像域のみ、文字像域または写真像域、文字像域または図形像域、写真像域または図形像域、全ての像域の計7つの組み合わせである。次に、この組み合わせから、プレビュー表示する組み合わせを選択する。本実施例では、含まれる像域の種類が少ない組み合わせから3つ選択して、プレビュー表示する組み合わせを選択するアルゴリズムを用いる。含まれる像域の種類が同じ場合は、制御部102が保持する像域ごとの優先順位に基づいて、プレビュー表示する組み合わせを選択するものである。もちろん、操作表示部107を介して、ユーザに像域ごとの優先順位を設定させるようにしてもよい。このアルゴリズムに依れば、本実施例では文字像域のみ、写真像域のみ、図形像域のみ、の3つの組み合わせを選択する。次に制御部102は、それぞれの組み合わせにおいて、モノクロ化するカラーブロックを決定する。文字像域のみ、においては、制御部102は文字像域を含むカラーブロックのRGB輝度平均値を取得する(S1102)。次に、写真像域のみ、において、制御部102は写真像域を含むカラーブロックのRGB輝度平均値を取得する(S1103)。次に、図形像域のみ、において、制御部102は図形像域を含むカラーブロックのRGB輝度平均値を取得する(S1104)。次に、制御部102は、3つの組み合わせに対して、モノクロ化するカラーブロックを決定する(S808)。本実施例では、モノクロ化するカラーブロックを決定するアルゴリズムとして、実施例1で述べたアルゴリズムと同じものを用いる。この結果、3つの組み合わせに対してそれぞれモノクロ化するカラーブロックが決定される。次に、制御部102はS808で決定したモノクロ化するカラーブロックに含まれるカラー画素のカラー/モノクロフラグをモノクロに変更する(S1105)。制御部102は、制御部102に保存された入力画像処理部103から入力されたRGBデジタル画像のカラー/モノクロフラグに対して処理を行う。この結果、変更された1ページ分のカラー/モノクロフラグが計3つ生成される。
印刷料金変更処理S610の説明に戻る。次に制御部102は、S1002で生成された3つのカラー/モノクロフラグに基づいて、モノクロ化処理およびプレビュー用画像処理を行う(S1003)。カラー/モノクロフラグが変更されたカラー画素の位置に基づいて、モノクロ化処理部403に対して画素位置の設定を行う。次に制御部102は、RGBデジタル画像を制御部102から編集処理部104に入力し、モノクロ化処理部403でモノクロ化処理を実行する。生成されたRGBデジタル画像はモノクロ化処理部403から出力され、変倍処理部401や回転処理部404に入力される。変倍処理部401や回転処理部404において、操作表示部107に搭載されるLCDディスプレイの解像度やプレビュー表示するRGBデジタル画像の向きに応じて、変倍処理や回転処理が施され、プレビュー画像が生成される。その後、制御部102は編集画像処理部105で処理されたプレビュー画像を操作表示部107に入力し、印刷料金変更後の3つのRGBデジタル画像をプレビュー表示する(S1004)。図12は、複数のプレビュー画像から印刷を実行するプレビュー画像を選択する際における操作表示部107の画面表示例を示したものである。プレビュー画像の表示が終了した時点で操作表示部107上に図12の指定枠1201を表示させ、複数表示されたプレビュー画像の選択待ちの状態となる。図12の1203、1204、1205に示すように、プレビュー画像がどのような処理パターンによって作成されたか、を示す情報を画像の下に表示させるようにしてもよい。
ユーザは印刷料金変更処理を実行して画像出力する場合、指定枠1201の移動およびOKボタン1202を押下する。制御部102は、操作表示部107がユーザによるプレビュー画像の選択(S1005)およびOKボタン1202の押下を受け付けたか、を判断する(S1006)。OKボタンが押下されると、制御部102は、S1005で選択されたプレビュー画像のデータを印刷対象のデータとする(S1007)。制御部102は、S1007で決定されたカラー/モノクロフラグを用いて、S611以降の処理を行う。
本実施例では、印刷料金を変更するにあたって制御部102が自動で複数の1ページ分のカラーモノクロフラグを生成しユーザがプレビュー画像から選択する例を説明したが、以下のような対応をしても良い。具体的には、印刷料金を変更するにあたって制御部102が自動で単一の1ページ分のカラー/モノクロフラグを生成し、ユーザによる選択なしに印刷する例である。これによれば、ユーザは画像の選択(S1005)および印刷の承認(S1006)が不要になるためより簡便に印刷料金を変更し、印刷することが可能になる。また、画像形成装置100は、1ページ分のカラーモノクロフラグを複数作成すること(S1002)や、複数のプレビュー画像を生成・表示(S1003、S1004)が不要になるため、処理負荷の低減につながる。
以上、説明してきたように印刷料金変更時に、画像データの中から最もモノクロ化処理のパターンを表示できる代表ページを抽出し、その代表ページの像域の数、およびカラー画素の有無・数によりモノクロ化処理の処理パターンを生成する。さらにそのパターンに対応した画素位置を決定し、複数のモノクロ化処理後の代表ページをプレビュー実行する。これらによりモノクロ化しても良い像域の選択工程が削減されユーザは実施例1に比べより簡便に複数のプレビュー画像の中から最も意図に近い画像処理パターンを選択し、印刷することが可能となるものである。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。