(57)【特許請求の範囲】
【請求項１】
画像中の各画素が白画素であるかを判定する第１の判定手段と、
前記画像中の各画素がモノクロ画素であるかカラー画素であるかを判定する第２の判定手段と、
前記画像中の各画素が、グレーをＫ単色で表現するグレー補償を行う設定がされているか否かを判定する第３の判定手段とを有し、
前記第１の判定手段で注目画素が白画素であると判定された場合には、前記注目画素に対する前記第２の判定手段、及び、前記第３の判定手段での判定結果に関わらず、前記注目画素にモノクロ印刷フラグを設定し、前記第１の判定手段で注目画素が白画素でないと判定された場合には、前記第３の判定手段で前記注目画素が、前記グレー補償を行う設定がされていない画素であると判定された場合に、カラー印刷フラグを設定し、前記第２の判定手段で前記注目画素がモノクロ画素であると判定され、かつ、前記第３の判定手段で前記注目画素が、前記グレー補償を行う設定がされている画素であると判定された場合に、モノクロ印刷フラグを設定する設定手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記設定手段は、印刷対象の画像をモノクロ印刷する指示を受けた場合、モノクロ印刷フラグを設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記注目画素の値がＲ＝Ｇ＝Ｂ＝２５５の場合、前記注目画素は白画素であると判定されることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記注目画素の値のうち、ＲとＧとＢと値のいずれもが所定の閾値を超えている場合、前記注目画素は白画素であると判定されることを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記設定手段は、前記注目画素が白画素でないと判定された場合、前記注目画素がモノクロ画素であり、かつ前記グレー補償を行う設定がされている画素の場合に、前記注目画素にモノクロ印刷フラグを設定することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記注目画素の値がＲ＝Ｇ＝Ｂの場合、前記注目画素はモノクロ画素であると判定されることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記注目画素の値のうち、ＲとＧとの差、ＧとＢとの差、およびＢとＲとの差が所定の閾値よりも小さい場合、前記注目画素はモノクロ画素であると判定されることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
画像中の各画素が白画素であるかを判定する第１の判定ステップと、
前記画像中の各画素がモノクロ画素であるかカラー画素であるかを判定する第２の判定ステップと、
前記画像中の各画素が、グレーをＫ単色で表現するグレー補償を行う設定がされているか否かを判定する第３の判定ステップとを有し、
前記第１の判定ステップで注目画素が白画素であると判定された場合には、前記注目画素に対する前記第２の判定ステップ、及び、前記第３の判定ステップでの判定結果に関わらず、
前記注目画素にモノクロ印刷フラグを設定し、前記第１の判定ステップで注目画素が白画素でないと判定された場合には、前記第３の判定ステップで前記注目画素が、前記グレー補償を行う設定がされていない画素であると判定された場合に、カラー印刷フラグを設定し、前記第２の判定ステップで前記注目画素がモノクロ画素であると判定され、かつ、前記第３の判定ステップで前記注目画素が、前記グレー補償を行う設定がされている画素であると判定された場合に、モノクロ印刷フラグを設定する設定ステップと
を有することを特徴とする画像処理方法。
【請求項９】
コンピュータを、請求項１から７のいずれか一項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
カラー印刷をするか、モノクロ（白黒）印刷するかを自動的に切り替える技術が知られている（例えば特許文献１）。以下、特許文献１に記載されている技術を詳しく説明する。
【０００３】
プリンタドライバは、ＲＧＢ文書データの中にカラーオブジェクトが含まれているか判定する。もし一つでもカラーオブジェクトが含まれている場合には、そのＲＧＢ文書データは、カラーであるとプリンタドライバは判定する。一つもカラーオブジェクトが含まれていない場合には、そのＲＧＢ文書データは、モノクロであるとプリンタドライバは判定する。プリンタドライバは、その判定結果を、そのＲＧＢ文書データと共にプリンタへ送る。
【０００４】
ＲＧＢ文書データを受け取ったプリンタは、そのＲＧＢ文書データをビットマップ化する。これにより、ＲＧＢビットマップデータが生成される。
【０００５】
（１）受け取った判定結果がモノクロである場合、プリンタは、その生成したＲＧＢビットマップデータをＫ単色ビットマップデータに変換し、そのＫ単色ビットマップデータを印刷する。つまり、プリンタは変換したＫ単色ビットマップデータをＫインクあるいはＫトナーだけで印刷する。Ｋは黒を示す。この場合、その文書の印刷に対してモノクロ課金がなされる。
【０００６】
（２）一方、受け取った判定結果がカラーである場合、プリンタは、ＲＧＢビットマップデータのうち、どの画素をＣＭＹＫで印刷し、どの画素をＫ単色で印刷するかを決定する。具体的には、以下の処理を行う。
【０００７】
（Ａ）まず、プリンタは、各画素がどの属性のオブジェクトに属しているかを示す属性ビットマップデータを生成する。属性は、例えば「テキスト」、「グラフィック」、「イメージ」、「なし」の何れかである。
【０００８】
（Ｂ）そして、プリンタは、「テキスト」又は「グラフィック」の属性を持ち、かつ、Ｒ＝Ｇ＝Ｂの画素には、Ｋ単色属性を設定する。一方、それ以外の画素には、ＣＭＹＫ属性を設定する。
【０００９】
（Ｃ）Ｋ単色属性が設定された画素のＲＧＢ値は、Ｋ単色（Ｃ＝Ｍ＝Ｙ＝０、Ｋは何でも良い）に変換され、印刷される。また、ＣＭＹＫ属性が設定された画素のＲＧＢ値は、ＣＭＹＫ（Ｒ＝Ｇ＝Ｂ＝２５５の場合を除いて、Ｃ、Ｍ、Ｙの何れか１つは０でない。Ｋは、何でも良い）に変換され、印刷される。Ｃはシアン、Ｍはマゼンタ、Ｙはイエローを示す。
【００１０】
（Ｄ）１画素でもＣＭＹＫ属性を持つ画素が存在したら、その文書の印刷にカラー課金をしていた。また、全ての画素がＫ単色属性を持つ場合には、その文書の印刷にモノクロ課金をしていた。
【００１１】
なお、プリンタドライバからモノクロ判定結果を受け取らない場合、プリンタは、上記の（２）以降の処理、すなわち、モノクロ判定結果がカラーである場合と同様に処理をして課金を行なっていた。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−１２９４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかるに、前述した判定方法に従えば、望ましくないカラー課金が行なわれる場合がある。図１を例に挙げて説明する。図１は、白色のイメージオブジェクト１０２（図面上、１０２は、枠線が黒であるが、実際には白である）と、黒色のテキストオブジェクト１０４、１０５とが含まれた文書１０１を示している。文書１０１には、白色のイメージオブジェクト１０２が含まれているので、その文書１０１から生成された属性ビットマップデータには「イメージ」属性が含まれる。従って、プリンタはその文書１０１を、カラーであると判定する。その結果、こうした文書の印刷に対して、カラー課金がなされていた。カラーで印刷される画素は１画素も無いにも関わらずである。つまり、白色イメージオブジェクト１０２には、ＲＧＢ→ＣＭＹＫ変換が適用されるが、元がＲ＝Ｇ＝Ｂ＝２５５のため、Ｃ＝Ｍ＝Ｙ＝Ｋ＝０となる。黒色のテキストオブジェクト１０４、１０５には、ＲＧＢ→Ｋ単色変換が適用されるため、Ｃ＝Ｍ＝Ｙ＝０となる。
【課題を解決するための手段】
【００１４】
本発明に係る画像処理装置は、画像中の各画素が白画素であるかを判定する第１の判定手段と、前記画像中の各画素がモノクロ画素であるかカラー画素であるかを判定する第２の判定手段と、前記画像中の各画素が、グレーをＫ単色で表現するグレー補償を行う設定がされているか否かを判定する第３の判定手段とを有し、前記第１の判定手段で注目画素が白画素であると判定された場合には、前記注目画素に対する前記第２の判定手段、及び、前記第３の判定手段での判定結果に関わらず、前記注目画素にモノクロ印刷フラグを設定し、前記第１の判定手段で注目画素が白画素でないと判定された場合には、前記第３の判定手段で前記注目画素が、前記グレー補償を行う設定がされていない画素であると判定された場合に、カラー印刷フラグを設定し、前記第２の判定手段で前記注目画素がモノクロ画素であると判定され、かつ、前記第３の判定手段で前記注目画素が、前記グレー補償を行う設定がされている画素であると判定された場合に、モノクロ印刷フラグを設定する設定手段とを有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、カラーで印刷される画素が無いにも関わらず、カラー課金されてしまう事態を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】不都合なカラー課金が生じる例を示す図である。
【図２】ホストコンピュータにおけるブロックを含む図である。
【図３】画像処理装置のブロックの例を示す図である。
【図４】プリント処理の処理フローの一例を示すフローチャートである。
【図５】ホストコンピュータでの画像のカラーモノクロ判定処理フローの一例を示すフローチャートである。
【図６】出力モード設定と、ホストコンピュータ及び画像処理装置でのカラーモノクロ判定結果との関連を示す図である。
【図７】画像処理装置での画像のカラーモノクロ判定処理フローの一例を示すフローチャートである。
【図８】カラーモノクロ画素判定における、画素値とグレー補償フラグによるカラーモノクロ画素の判定結果を示す図である。
【図９】不都合なカラー課金が生じる他の例を示す図である。
【発明を実施するための形態】
【００１７】
以下、添付の図面を参照して、本発明を好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１８】
［実施形態１］
図２は、本実施形態における画像処理システムの例を表すブロック図である。図２に示す画像処理システムは、ホストコンピュータ２００と画像処理装置３００とを含む。ホストコンピュータ２００は、ネットワーク２０１を介して画像処理装置３００に接続されている。
【００１９】
ホストコンピュータ２００は、アプリケーション制御部２０２、ドライバ制御部２０３、及び通信制御部２０４を含む。アプリケーション制御部２０２は、画像処理装置３００で印刷される画像データを生成する。ドライバ制御部２０３は、アプリケーション制御部２０２で生成された画像データを変換して、所定のＰＤＬ（page description language）データを生成する。通信制御部２０４は、ドライバ制御部２０３で生成されたＰＤＬデータや、ドライバ制御部２０３で設定された画像処理パラメータを、ネットワーク２０１を介して画像処理装置３００に転送する。
【００２０】
図３は、図２における画像処理装置３００の詳細なブロック図である。画像処理装置３００は、ホストコンピュータ２００から送られるＰＤＬデータを用いて印刷を行なう。画像処理装置３００は、通信制御部３０１、レンダリング部３０２、モノカラー判定部３０３、色空間変換部３０４、ハーフトーン処理部３０５、プリント部３０６、および制御部３０７を含む。
【００２１】
通信制御部３０１は、ホストコンピュータ２００からネットワーク２０１を介して転送されたＰＤＬデータや画像処理パラメータを受信する。レンダリング部３０２は、通信制御部において受信したＰＤＬデータをレンダリングしてＲＧＢフォーマットのビットマップ画像データを生成する。モノカラー判定部３０３は、レンダリング部３０２でビットマップ化された画像が、モノクロ画像かカラー画像かを判定する。色空間変換部３０４は、レンダリング部３０２で生成されたビットマップ画像データを、モノカラー判定部３０３で判定された判定結果を加味し、ＣＭＹＫフォーマットの画像データに変換する。
【００２２】
ハーフトーン処理部３０５は、色空間変換部３０４で変換したＣＭＹＫフォーマットの画像データをハーフトーン処理する。プリント部３０６は、ハーフトーン処理部３０５でハーフトーン化した画像をプリント出力する。制御部３０７は、ＣＰＵ、ＲＡＭ、ＲＯＭなどから構成され、ＣＰＵはＲＯＭに含まれるプログラムデータを、適宜ＲＡＭを使用しながら実行し、画像処理装置３００に含まれる構成モジュールの制御をおこなう。また、制御部３０７の持つＲＡＭには、カラーとモノクロの画像とをそれぞれ出力した数を記録するためのカウンタ値が保持されている。このカウンタ値は、後で詳述するモノカラー判定結果にしたがってプリント部での１ページのプリント処理をおこなうごとにカウントアップされる。このカウンタ値によって、カラー画像とモノクロ画像の印刷枚数を記録できる。
【００２３】
図４は、本実施形態におけるプリントジョブの処理フローを表すフローチャートである。プリント処理のフローにおいて、ステップＳ４０１からＳ４０４まで（図４の点線より上）は、ホストコンピュータ２００での処理を表す。また、ステップＳ４０４からＳ４１０まで（図４の点線より下）は、画像処理装置３００での処理を表す。ホストコンピュータ２００における処理は、図示しないホストコンピュータに含まれるＲＯＭやＨＤＤに格納されたプログラムからＲＡＭに読み出されたプログラムをＣＰＵが実行することにより、ＣＰＵが図２の各部として機能することにより実行される。また、画像処理装置３００における処理は、制部部３０７のＲＡＭに読み出されたプログラムをＣＰＵが実行することにより、制御部が各部を制御することで実行される。なお、画像処理装置３００においても制御部３０７のＣＰＵが図３の各部として機能することにより実行されてもよい。
【００２４】
まず、ステップＳ４０１においてホストコンピュータ２００のアプリケーション制御部２０２は、アプリケーション制御部２０２で生成した原稿画像を印刷するために、プリントジョブの実行をドライバ制御部２０３に指示する。この原稿画像は、各アプリケーションに応じたフォーマットで作成される。次に、ステップＳ４０２においてドライバ制御部２０３は、その原稿画像を画像処理装置３００が解釈可能なＰＤＬデータに変換する。このＰＤＬデータは、ドライバの種類（ＰＳ、ＰＣＬ、ＬＩＰＳ等）に応じたフォーマットで変換される。ステップＳ４０３においてドライバ制御部２０３は、変換されたＰＤＬデータのカラーモノクロ判定を行なう。この処理については後で詳述する。
【００２５】
ステップＳ４０４においてドライバ制御部２０３は、生成したＰＤＬデータ、画像処理パラメータ、カラーモノクロ判定結果等のデータをまとめて、通信制御部２０４からネットワーク２０１を介して、画像処理装置３００に転送する。なお、カラーモノクロ判定結果とは、ステップＳ４０３で行なわれるカラーモノクロ判定の結果のことである。判定処理については後述するが、ここで送られるカラーモノクロ判定結果は、ＰＤＬデータがカラーであるか、モノクロであるかを示す情報である。なお、必ずしもカラーであるかモノクロであるかを示す情報が送られる必要はない。例えば、プリンタドライバと画像処理装置３００との間で、モノクロである場合のみ、モノクロを示す情報が送られるという取り決めをしている場合、カラーモノクロ判定結果はモノクロであることを示す情報のみが送られる。つまり、画像処理装置３００は、モノクロであることを示す情報がＰＤＬデータとともに送られる場合、そのＰＤＬデータはモノクロであると判定してもよい。また、モノクロであることを示す情報がＰＤＬデータとともに送られない場合、そのＰＤＬデータはカラーであると判定してもよい。もちろん、逆にカラーであることを示す情報のみが送られる取り決めになっていてもよい。つまり、上記のカラーモノクロ判定結果は、何も情報が送られない場合も判定結果が送られると同等とみなしてもよい。
【００２６】
次に、ＰＤＬデータ、画像処理パラメータ、カラーモノクロ判定結果等のデータを受け取った画像処理装置３００の処理について説明する。ステップＳ４０４において画像処理装置３００は、ネットワーク２０１を介して転送されてきたデータを通信制御部３０１で受信し、制御部３０７に含まれるＲＡＭに格納する。
【００２７】
ステップＳ４０５において制御部３０７は、受信した画像処理パラメータのうち、レンダリング処理に関連するパラメータを、レンダリング部３０２とモノカラー判定部３０３とに設定する。レンダリング処理に関連するパラメータとしては、例えば後述するようなオブジェクトの属性を示す属性情報が該当する。ステップＳ４０６においてレンダリング部３０２は、パラメータ設定がされると、受信したＰＤＬデータをレンダリング処理する。これによって、ＰＤＬデータがビットマップ画像データへと変換される。
【００２８】
次にステップＳ４０７においてモノカラー判定部３０３は、レンダリング部３０２で変換されたビットマップ画像データを用いてカラーモノクロ判定処理を行なう。この処理については後で詳述する。そして、ステップＳ４０８において制御部３０７は、色空間変換部３０４、ハーフトーン処理部３０５、およびプリント部３０６にプリント処理に関連するパラメータを設定する。このパラメータは、ステップＳ４０３でホストコンピュータが判定したカラーモノクロ判定結果や、後述するグレー補償フラグや、ステップＳ４０７でモノカラー判定部３０３が判定したカラーモノクロ判定結果を基に生成されたパラメータを含む。また、その他のホストコンピュータ２００から受信したパラメータを含む。
【００２９】
ステップＳ４０９において色空間変換部３０４、ハーフトーン処理部３０５での画像処理を経て、プリント部３０６はビットマップ画像の印刷処理を行なう。最後に、ステップＳ４１０においてステップＳ４０３とステップＳ４０７とのカラーモノクロ判定結果を基に、カラーまたはモノクロいずれかのページカウンタをカウントアップし、プリント処理を終了する。
【００３０】
図５は、ホストコンピュータ２００側でのカラーモノクロ判定処理Ｓ４０３の処理を詳述するためのフローチャートである。以下の処理はドライバ制御部２０３がおこなう。
【００３１】
まず、ステップＳ５０１においてドライバ制御部２０３は、ユーザから設定された出力モード設定を確認する。出力モード設定とは、印刷対象の原稿画像のカラーモードの設定である。カラーモードの設定には、例えば（１）カラー、（２）モノクロ、（３）自動切換えの３通りの設定があり、ユーザがプリンタドライバのＵＩを通じて任意に指定することが可能である。ここで、カラーが設定された場合、その原稿画像はカラー原稿であると判定される。モノクロが設定された場合、その原稿画像はモノクロ原稿であると判定される。自動切換えが設定された場合、プリンタドライバが原稿画像のオブジェクトを判定してカラー原稿か、モノクロ原稿かを自動で判定することになる。以下、フローの処理を説明する。
【００３２】
ドライバ制御部２０３は、出力モードがカラー設定である場合、ステップＳ５０４に進みすべてのページをカラー原稿と判定する。出力モードがモノクロ設定である場合、ステップＳ５０５に進みすべてのページをモノクロ原稿と判定する。
【００３３】
一方、出力モードが自動設定である場合、ドライバ制御部２０３は、生成したＰＤＬデータのオブジェクトを確認し、オブジェクトごとにカラーモノクロ判定を行い、各ページのカラーモノクロ判定をおこなう。ステップＳ５０２においてページ内のすべてのオブジェクトが確認済みとなった場合、つまり、ページ内にカラーオブジェクトが含まれなかった塲合、ステップＳ５０５に進みそのページの原稿画像はモノクロ原稿と判定する。未確認のオブジェクトがある場合（ステップＳ５０２のＮｏ）、ステップＳ５０３においてドライバ制御部２０３はオブジェクトがカラーオブジェクトか否かをＰＤＬデータから判定する。オブジェクトが１つでもカラーだった場合（Ｓ５０３のＹｅｓ）、ステップＳ５０４に進み印刷する原稿画像はカラー原稿と判定する。カラーオブジェクトではなかった場合（ステップＳ５０３のＮｏ）、ステップＳ５０２に戻り、すべてのオブジェクトに対して、カラーモノクロ判定をおこなう。このようにして得られたカラーモノクロ判定結果の送付の手法については前述の通りである。
【００３４】
図６は、出力モードの設定と、ステップＳ４０３におけるホストコンピュータでのカラーモノクロ判定の結果と、後で詳述するステップＳ４０７における画像処理装置でのカラーモノクロ判定の結果との関連を示す図である。本実施形態においては、出力モードの設定がカラーである場合（表の＊１）、原稿画像がカラー原稿であるかモノクロ原稿であるかは、後段の画像処理装置でのカラーモノクロ判定に委ねられる。また、出力モードが自動判定かつホストコンピュータでカラー原稿と判定された場合（表の＊１）、原稿画像がカラー原稿であるかモノクロ原稿であるかは、後段の画像処理装置でのカラーモノクロ判定に委ねられる。したがって、これらの場合（＊１の場合）、画像処理装置でのステップＳ４０７におけるカラーモノクロ判定の判定結果は有効となる。一方で、出力モードがモノクロである場合（表の＊２）、その原稿画像はステップＳ４０３以降のすべてのステップで、モノクロ原稿として扱われる。また、出力モードが自動判定かつホストコンピュータでモノクロ原稿と判定された場合（表の＊２）、その原稿画像はステップＳ４０３以降のすべてのステップで、モノクロ原稿として扱われる。つまり、これらの場合（＊２の場合）、画像処理装置でのステップＳ４０７におけるカラーモノクロ判定の判定結果は無効となる。従って、図４のステップＳ４０７の処理は、プリンタドライバ側でモノクロ原稿と判定された場合、処理をスキップしてもよい。
【００３５】
図７は、本実施形態の中核をなす画像処理装置におけるステップＳ４０７のカラーモノクロ判定の処理を詳述するためのフローチャートである。以下の処理はモノカラー判定部３０３がおこなう。
【００３６】
最初に、ステップＳ７０１においてモノカラー判定部３０３は、ビットマップ画像データにおけるカラー画素及びモノクロ画素をページ毎にカウントするためのカウンタを初期化する。次に、ステップＳ７０２以降においてモノカラー判定部３０３は、入力されたビットマップ画像データにおける画素のカラーモノクロ判定を画素ごとに行なう。まず、ステップＳ７０２においてモノカラー判定部３０３は、画像中の注目画素が白画素か否かの判定をおこなう。白画素か否かの判定は、例えば８ｂｉｔ  ＲＧＢ画像データの場合、Ｒ＝Ｇ＝Ｂ＝２５５である画素を白画素と判定する。注目画素が白画素である場合、ステップＳ７０６に進み、モノカラー判定部３０３は、注目画素はモノクロ画素であると判定し、モノクロ画素カウンタをインクリメントする。一方、注目画素が白画素でなかった場合、ステップＳ７０３に進み、注目画素のグレー補償フラグがＯＮか否かを判定する。
【００３７】
ここで、グレー補償フラグについて説明する。グレー補償フラグとは、グレー補償が設定されているか否かを示すフラグである。グレー補償設定は、ユーザからドライバ制御部２０３に対しておこなわれる画像処理設定であり、グレーと判定された画素を、Ｋ単色で表現するか、ＣＭＹＫ４色で表現するかを設定するための設定である。グレー補償設定はイメージ、グラフィック、テキストといったオブジェクト種ごとに設定可能である。グレー補償フラグがＯＮの場合にはグレー補償を行う。つまり、グレーと判定された画素をＫ単色で表現する。グレー補償フラグがＯＦＦの場合には、グレー補償を行なわない。つまり、グレーと判定された画素をＣＭＹＫ４色で表現する。通常のドライバにおいては、イメージはグレー補償ＯＦＦ、グラフィックとテキストはグレー補償ＯＮに設定されることが多い。つまり、写真画素はグレー補償ＯＦＦ、グラフィック画素と文字画素とはグレー補償ＯＮに設定されることが多い。これによって、イメージオブジェクトのグレーはＣＭＹＫ４色でリッチな色感を表現し、グラフィックとテキストオブジェクトのグレーについては、Ｋ単色で表現することで、線の太りやにじみを抑えることができる。また、このオブジェクトごとのグレー補償設定は、ドライバによって初期設定値が異なることがある。このようにオブジェクトごとに設定されたグレー補償設定は、レンダリング部３０２で、ＰＤＬデータをビットマップ画像に変換する際に、画素ごとのグレー補償フラグとして変換されて画素ごとに付加される。そして、グレー補償フラグは後段のモノカラー判定部３０３で判定に使用される。
【００３８】
ここで、例えば白い矩形のオブジェクトを例に挙げて、オブジェクト種の属性がグラフィックの場合とイメージの場合との違いについて説明する。前述の通り、アプリケーション制御部２０２から渡されたデータに基づいてドライバ制御部２０３はＰＤＬデータを生成する。ここで、アプリケーション制御部２０２から渡されたデータがいわゆる図形の白の矩形である場合、ドライバ制御部２０３はその矩形の頂点位置と長さなどを規定するＰＤＬデータを生成する。画像処理装置のレンダリング部３０２は、このＰＤＬデータを解析して、その属性としてグラフィックを付加する。一方、アプリケーション制御部２０２から渡されたデータがいわゆるＢＭＰやＪＰＥＧなどのイメージデータの場合、ドライバ制御部２０３はそのデータを示すＰＤＬデータを生成する。画像処理装置のレンダリング部３０２は、このＰＤＬデータを解析して、その属性としてイメージを付加する。
【００３９】
図７のフローチャートに戻り説明を続ける。ステップＳ７０３で注目画素のグレー補償フラグがＯＦＦだった場合（Ｓ７０３のＮｏ）、注目画素は後段の色空間変換部３０４にてＣＭＹＫ４色で表現される。従って、ステップＳ７０５に進みモノカラー判定部３０３は、注目画素をカラー画素であると判定し、カラー画素カウンタをインクリメントする。
【００４０】
一方、注目画素のグレー補償フラグがＯＮだった場合（Ｓ７０３のＹｅｓ）、ステップＳ７０４に進みモノカラー判定部３０３は注目画素がグレーか否かを判定する。注目画素がグレーか否かの判定は、例えば、ＲＧＢ画像の場合、Ｒ＝Ｇ＝Ｂである画素をグレーと判定する。それ以外の画素をグレーではないと判定する。グレー補償フラグがＯＮの場合に注目画素がグレーだった場合（Ｓ７０４のＹｅｓ）、そのグレー画素である注目画素はＫ単色で表現される。従って、ステップＳ７０６に進み、モノカラー判定部３０３は、注目画素はモノクロ画素であると判定し、モノクロ画素カウンタをインクリメントする。注目画素がグレーでなかった場合（Ｓ７０４のＮｏ）、ステップＳ７０５に進み、モノカラー判定部３０３は、注目画素はカラー画素であると判定し、カラー画素カウンタをインクリメントする。ステップＳ７０７においてモノカラー判定部３０３は、以上の処理を、レンダリング後の１ページのビットマップ画像データに含まれるすべての画素についておこなったかどうかを判定する。未判定の画素がある場合は（Ｓ７０７のＮｏ）、未判定の画素を注目画素として上記の判定処理を繰り返す。
【００４１】
すべての画素判定をおこなったら（Ｓ７０７のＹｅｓ）、ステップＳ７０８においてモノカラー判定部３０３は、カウントしたカラー画素カウンタとモノクロ画素カウンタとによって、１ページの画像にカラー画素があるか否かを判定する。例えば、本実施形態においては、カラー画素カウンタが１以上であった場合に（Ｓ７０８のＹｅｓ）、ステップＳ７０９においてそのページの原稿画像はカラー原稿であると判定する。それ以外の場合（Ｓ７０８のＮｏ）、ステップＳ７１０においてそのページの原稿画像はモノクロ原稿であると判定する。ステップＳ７０９またはステップＳ７１０の結果に応じて、そのページがカラー印刷されたかモノクロ印刷されたかが決定される。
【００４２】
なお、本実施形態においては、モノカラー判定部３０３が、１ページ内のすべての画素についてカラーモノクロ画素判定をおこなって、その画素カウンタを基にカラーモノクロ原稿判定をおこなっていたが、このような方法に限られるものではない。すなわち、カラー画素が１画素でも検出できたら、それ以降の画素判定はおこなわないような方法や、ステップＳ７０８以降の処理を制御部３０７のＣＰＵでおこなう方法でも良い。前者では、ソフトウェアで当該処理を実行する際に処理量が削減でき、後者では、カラーモノクロ画素カウンタによるカラーモノクロ原稿判定のアルゴリズムをフレキシブルに変更することができる。
【００４３】
また、上記の処理においてはカウンタを設けてカラー画素とモノクロ画素とのカウント値をそれぞれカウントアップする手法を例に挙げて説明した。しかしながら、各ページの原稿がカラー原稿であるかまたはモノクロ原稿であるかがわかればよいので、例えば１ビットのフラグデータを用いてもよい。すなわち、初期設定としてモノクロ印刷フラグを設定しておき、上記の画像処理装置におけるモノカラー判定処理においてカラー画素と判定された場合に、カラー印刷フラグを設定する手法であってもよい。
【００４４】
図８は、ステップＳ４０７のカラーモノクロ画素判定における、画素値とグレー補償フラグによるカラーモノクロ画素の判定結果を示した表である。前述したステップＳ４０７の判定処理においては、白画素は、グレー補償フラグに関わらずモノクロ画素であると判定される。これは、ステップＳ７０２において白画素である場合には、その後のグレー補償フラグの判定処理などを行なうことなく直ちにモノクロ画素であると判定しているからである。本実施形態においては、白画素である場合にモノクロ画素として判定することで、例えば白のイメージのみが含まれている原稿画像をカラー画像として判定されてしまうことを防ぐことができる。また、ステップＳ４０７の判定処理においては、カラー画素は、グレー補償フラグに関わらずカラー画素であると判定される。ここで、カラー画素は、白画素（Ｒ＝Ｇ＝Ｂ＝２５５）でもなく、グレー画素（Ｒ＝Ｇ＝Ｂ）でもなく、黒画素（Ｒ＝Ｇ＝Ｂ＝０）でもない画素である。
【００４５】
一方、グレー画素と黒画素は、グレー補償フラグがＯＮの時は、モノクロ画素、ＯＦＦの時はカラー画素として判定される。つまり、グレー補償が設定されている（ＯＮになっている）オブジェクト種（例えば、「テキスト」や「グラフィック」）の場合、モノクロ画素として判定される。グレー補償が設定されていない（ＯＦＦになっている）オブジェクト種（例えば「イメージ」や、属性がないオブジェクト）についてはカラー画素として判定される。
【００４６】
以上に示したような判定フローにしたがって、例えば図１に示したような画像のプリントジョブを「カラー」の出力モード設定で投入した時の判定フローについて述べる。まずホストコンピュータ２００では、ステップＳ４０３の処理において出力モード設定がカラーであるので、カラー原稿と判定される。続いて、画像処理装置３００においては、白色のイメージオブジェクト１０２は、その画素は白色であるので、グレー補償フラグの設定によらず、モノクロ画素として判定される。また、黒色のテキストオブジェクト１０４、１０５については、テキスト部のグレー補償フラグ設定ＯＮというグレー補償フラグの設定が有効となるので、これもモノクロ画素として判定される。結果として、図１の画像はモノクロ画像として判定される。
【００４７】
前述の通りイメージの属性については、リッチな色感を表現するために、グレー補償がＯＦＦに設定されるケースが多い。この場合、図１のようなケースでは、白色のイメージオブジェクト１０２はカラー印刷がされないにも関わらず、カラー画素であると判定されてしまい、結果としてカラー課金を賦していた。本実施形態によれば、図１に示すような原稿画像の見た目とカラーモノクロ判定結果との齟齬が解消されるようになる。
【００４８】
なお、図１に示す例については、出力モード設定が「自動判定」である場合には、従来の手法に従ってもモノクロ課金がされることになる。つまり、ホストコンピュータでのカラーモノクロ判定処理（Ｓ４０３）において、オブジェクトはカラーではないと判定されるので、その後の処理においてモノクロ原稿として扱われるからである。
【００４９】
ここで、図９に別の例を示す。図９は、カラーのテキストオブジェクト９０１の上に、白色のイメージオブジェクト９０２（図面上、イメージオブジェクト９０２は、枠線を黒で示しているが、実際には白である）を重ねた配置の原稿画像９００を示す。図９に示すような原稿画像の場合、プリンタドライバの出力モード設定が「自動判定」になっていても、従前の手法によればカラー課金が賦されてしまう。カラーで印刷される画素が１画素もないにも関わらずである。つまり、カラーテキストオブジェクト９０１は白色のイメージオブジェクト９０２の背面にあるため印刷されない。また、白色のイメージオブジェクト９０２はＲ＝Ｇ＝Ｂ＝２５５のため、ＣＭＹＫ変換後の値はＣ＝Ｍ＝Ｙ＝Ｋ＝０となる。従って、カラーで印刷される画素は１画素もない状態となる。
【００５０】
図９のような原稿画像の場合であっても、本実施形態の処理によれば、たとえ出力モード設定が「自動判定」や「カラー」になっていても、原稿画像９００にはモノクロ課金がなされることになる。
【００５１】
具体的に説明する。図９に示したような原稿画像のプリントジョブを「自動判定」の出力モード設定で投入した時の判定フローについて述べる。まずホストコンピュータ２００では、ホストコンピュータのカラーモノクロ判定処理（Ｓ４０３）の処理によりカラーオブジェクトが含まれると判定されるので、カラー原稿と判定される。出力モード設定で「カラー」が設定されている場合にも同様にカラー原稿と判定される。続いて、画像処理装置３００においては、カラーのテキストオブジェクト９０１の上に、白色のイメージオブジェクト９０２を重ねたような画像部分は、レンダリング後のビットマップデータにおいても白色である。従って、グレー補償フラグの設定によらず、モノクロ画素として判定される。また、黒色のテキストオブジェクト１０４、１０５については、テキスト部のグレー補償フラグ設定ＯＮというグレー補償フラグの設定が有効となるので、これもモノクロ画素として判定される。結果として、図９の原稿画像はモノクロ画像として判定される。
【００５２】
以上のように、本実施形態の処理によれば、図９のような原稿画像の見た目とカラーモノクロ判定結果との齟齬が解消されるようになる。
【００５３】
［実施形態２］
実施形態１においては、画像処理装置でのカラーモノクロ判定（Ｓ４０７）における白画素判定（Ｓ７０２）、グレー画素判定（Ｓ７０４）、及びカラーモノクロ原稿判定（Ｓ７０８）の各判定処理については、厳密な判定をおこなう例を示した。すなわち、ステップＳ７０２における白画素判定処理においては、８ｂｉｔ  ＲＧＢ画像であれば、Ｒ＝Ｇ＝Ｂ＝２５５の画素のみを白画素と判定する例を示した。また、ステップＳ７０４におけるグレー画素判定処理においては、Ｒ＝Ｇ＝Ｂの画素のみをグレー画素と判定する例を示した。さらに、ステップＳ７０８におけるカラーモノクロ原稿判定処理においては、カラー画素が１画素でもあれば、カラー原稿と判定する例を示した。
【００５４】
しかしながら、画像の見た目とカラーモノクロ判定結果との齟齬を解消するという目的を達せられれば、厳密な判定よりもむしろある程度の閾値を設けて判定できるようにした方が効果を出しやすい。
【００５５】
例えばステップＳ７０２における白画素判定処理においては、白に近い色として印刷される画素については、モノクロ画素として判定した方が、より画像の見た目とカラーモノクロ判定結果との齟齬が解消される。したがって、実施形態１では、Ｒ＝Ｇ＝Ｂ＝２５５を白画素として判定していたが、これを所定の閾値ＴＨ１（例えばＴＨ１＝２５２）を用いて、Ｒ＝＞ＴＨ１  かつ  Ｇ＝＞ＴＨ１  かつ  Ｂ＝＞ＴＨ１となる画素を白画素として判定しても良い。ステップＳ７０４におけるグレー画素判定処理においても、実施形態１では、Ｒ＝Ｇ＝Ｂの画素のみをグレー画素と判定していた。これを所定の閾値ＴＨ２（例えばＴＨ２＝３）を用いて、｜Ｒ−Ｇ｜＜＝ＴＨ２  かつ  ｜Ｇ−Ｂ｜＜＝ＴＨ２  かつ  ｜Ｂ−Ｒ｜＜＝ＴＨ２  となる画素をグレー画素として判定しても良い。さらに、ステップＳ７０８におけるカラーモノクロ原稿判定処理においても、実施形態１では、カラー画素カウントが１画素でもある原稿画像はカラー原稿と判定していた。これを所定の閾値ＴＨ３（例えば３０）を用いて、ｃｏｌｏｒ＞ＴＨ３  となる原稿画像をカラー原稿と判定しても良い。フラグを用いる場合には、閾値ＴＨ３を超えた時点でカラーフラグを設定するような手法であってもよい。
【００５６】
以上のように、各判定処理に閾値を設けて判定に幅を持たせる仕組みを設け、適切な閾値設定をおこなうことで、より画像の見た目とカラーモノクロ判定結果との齟齬を解消することができる。また、閾値を可変にしておくことで、フレキシブルなカラーモノクロ判定システムが構築できる。
【００５７】
＜その他の実施例＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５８】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
0005932853.tif 000002
【図２】
0005932853.tif 000003
【図３】
0005932853.tif 000004
【図４】
0005932853.tif 000005
【図５】
0005932853.tif 000006
【図６】
0005932853.tif 000007
【図７】
0005932853.tif 000008
【図８】
0005932853.tif 000009
【図９】
0005932853.tif 000010