(57)【特許請求の範囲】
【請求項１】
複数の有彩色および無彩色から構成される第１色空間において描画処理を行う描画処理手段と、前記描画処理手段が前記描画処理を行う際のデータを一時的に記憶する中間記憶領域と、前記描画処理後のデータであって前記第１色空間において描画可能な描画データを記憶する描画記憶領域とを備える画像処理装置であって、
描画するための描画指令を含む印刷制御データを取得する取得手段と、
前記取得手段が取得した前記印刷制御データが、前記描画指令として、複数のラスタ画像において論理演算を行うラスタ操作演算の指令を含む場合且つ描画指令によって描画する対象の画像の色が前記第１色空間とは異なる第２色空間における表現形式で表現される又は無彩色である場合、当該ラスタ操作演算の指令内容に基づいて、当該ラスタ操作演算を前記第２色空間において行うか否かを判定する判定手段と、
前記判定手段の判定結果が肯定的である場合、前記中間記憶領域を使用して前記ラスタ操作演算を前記第２色空間において行う第２色空間演算手段と、
前記判定手段の判定結果が否定的である場合、前記描画処理の過程において前記ラスタ操作演算を前記第１色空間において行う第１色空間演算手段とを備える
ことを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記ラスタ操作演算の指令が、前記複数のラスタ画像のうちソース画像とパターン画像との論理和による演算の後、前記複数のラスタ画像のうちデスティネーション画像に上書きする指令を含む場合、当該ラスタ操作演算を前記第２色空間において行うと判定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２色空間演算手段は、前記判定手段の判定結果が肯定的である場合且つ前記ソース画像の色空間と前記パターン画像の色空間とが異なる場合、これらの色空間を前記第２色空間にした後、前記ラスタ操作演算を前記第２色空間において行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記判定手段は、前記描画指令が、描画対象の画像を無彩色で出力する指令を含む場合い、前記ラスタ操作演算を無彩色空間において行うと判定し、
前記第１色空間演算手段は、前記ラスタ操作演算を無彩色空間において行うと前記判定手段が判定した場合、前記描画処理の過程において前記ラスタ操作演算を前記無彩色空間において行う
ことを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記第１色空間演算手段は、前記ラスタ操作演算を前記無彩色空間において行う際、前記中間記憶領域を使用して前記ラスタ操作演算を行う
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記描画処理手段は、前記描画処理の過程において、前記第１色空間演算手段が前記ラスタ操作演算を前記無彩色空間において行った後、前記描画処理のうちＵＣＲ／ＢＧ（Under Color Removal / Black Generation）を含む色処理を行って、描画処理後の描画データを前記描画記憶領域に記憶する
ことを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記描画処理手段は、前記描画処理の過程において、前記第１色空間演算手段が前記ラスタ操作演算を前記無彩色空間において行った後、ガンマ処理を含む色処理を行って、描画処理後の描画データを、前記描画記憶領域のうち、無彩色のみの描画データを記憶する無彩色描画領域に記憶する
ことを特徴とする請求項４又は５に記載の画像処理装置。
【請求項８】
前記描画データに基づいて、画像を出力媒体に出力する画像形成手段と、
前記画像形成手段における画像の出力を制御する制御手段とを更に備え、
前記制御手段が、前記判定手段、前記第２色空間演算手段及び前記第１色空間演算手段を有する
ことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記印刷制御データを生成しこれを、前記描画データに基づいて画像を出力媒体に出力する画像形成装置に対して送信する制御手段を備え、
前記制御手段が、前記判定手段、前記第２色空間演算手段及び前記第１色空間演算手段を有する
ことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項１０】
前記第１色空間演算手段は、前記描画処理のうち色処理を行う際に、前記ラスタ操作演算を前記第１色空間において行う
ことを特徴とする請求項１乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記第２色空間演算手段は、前記判定手段の判定結果が肯定的である場合且つ前記ラスタ操作演算の指令が、ソース画像の背景色を透過する指令を更に含む場合、前記ラスタ操作演算を前記第２色空間において行った後、前記描画処理において前記ソース画像の背景色を透過するよう前記描画指令を変更する
ことを特徴とする請求項１乃至１０のいずれか一項に記載の画像処理装置。
【請求項１２】
複数の有彩色および無彩色から構成される第１色空間において描画処理を行う描画処理手段と、前記描画処理手段が前記描画処理を行う際のデータを一時的に記憶する中間記憶領域と、前記描画処理後のデータであって前記第１色空間において描画可能な描画データを記憶する描画記憶領域と、取得手段と、判定手段と、第２色空間演算手段と、第１色空間演算手段とを備える画像処理装置で実行される画像処理方法であって、
前記取得手段が、描画するための描画指令を含む印刷制御データを取得する取得ステップと、
前記判定手段が、前記取得ステップで取得した前記印刷制御データが、前記描画指令として、複数のラスタ画像において論理演算を行うラスタ操作演算の指令を含む場合且つ描画指令によって描画する対象の画像の色が前記第１色空間とは異なる第２色空間における表現形式で表現される又は無彩色である場合、当該ラスタ操作演算の指令内容に基づいて、当該ラスタ操作演算を前記第２色空間において行うか否かを判定する判定ステップと、
前記第２色空間演算手段が、前記判定ステップでの判定結果が肯定的である場合、前記中間記憶領域を使用して前記ラスタ操作演算を前記第２色空間において行う第２色空間演算ステップと、
前記第１色空間演算手段が、前記判定ステップでの判定結果が否定的である場合、前記描画処理の過程において前記ラスタ操作演算を前記第１色空間において行う第１色空間演算ステップとを含む
ことを特徴とする画像処理方法。
【請求項１３】
請求項１２に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像間の演算処理を行なう画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
複合機やレーザプリンタなどの画像形成装置は、Ｗｉｎｄｏｗｓ（登録商標）がサポートするラスタ操作（ＲＯＰ：Raster Operation）演算など、各種画像の論理演算機能に対応している。このＲＯＰ演算は、描画オブジェクトの重ね合わせといった高度な表現力を実現する。
【０００３】
例えば、ＰＣ（Personal Computer）などで実行されるアプリケーションからＷｉｎｄｏｗｓ（登録商標）のＧＤＩ（Graphic Device Interface）経由で要求されるＲＯＰ演算は、ＲＧＢ色空間の各色８ｂｉｔ階調深度での処理を前提としている。一方、画像形成装置のプリンタ・コントローラ上では、装置に搭載されるメモリの制約およびパフォーマンスの観点から、プロッタ・エンジンに出力するのに最低限必要な色空間および階調深度として、ＫＣＭＹ色空間の１ｂｉｔまたは２ｂｉｔの階調深度にて画像を扱うことが望まれている。尚、ＫＣＭＹ色空間とは、複数の有彩色および無彩色から構成される色空間であり、このＫＣＭＹ色空間を構成する各色は、プロッタ・エンジンで画像を出力する際に用いるトナーに対応するものである。このようなプロッタ・エンジンで最低限必要な色空間および階調深度にて実現することができれば、メモリ・リソースを削減でき、同時にパフォーマンスを向上させることができる。
【０００４】
このような背景から、プロッタ・エンジンに応じたＫＣＭＹ色空間および少値の階調深度にてＲＯＰ演算を実現することが望まれていた。しかしながら、上記論理演算処理をＫＣＭＹ色空間でそのまま行なうと、色味の互換性が保てず、ＰＣのモニタ上のイメージと印刷出力結果との間で色が相違してしまうという問題があった。このため、従来では、種々の手法が提案されている。その手法の多くは、二つのグループに大別することができる。一方は、ＲＯＰ演算が要求されたときには、ＲＧＢ空間でレンダリングを行い、それ以外は、ＫＣＭＹ空間でレンダリングを行うというように、レンダリングの色空間を切り替える手法である（例えば特許文献１参照）。他方は、ＫＣＭＹ色空間にてＲＧＢ色空間でＲＯＰ演算を行なった場合のものに近い結果が得られるよう独自のＲＯＰ演算に変換したり、ＲＯＰ演算の結果を修正したりする手法である。
【０００５】
【特許文献１】特開２００７−１５９００３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、前者の手法では、ＫＣＭＹ空間でレンダリングを行うレンダリングエンジンとＲＧＢ空間でレンダリングを行うレンダリングエンジンとの両方が必要となってしまい、メモリ・リソースの削減を実現できず、ＲＧＢ空間でのレンダリングには多くのメモリ・リソースが必要となってしまう恐れがある。また、後者の手法では、ＲＯＰ演算をＫＣＭＹ色空間のみで行う場合、ＲＧＢ色空間で演算した場合と演算誤差が生じる恐れがあり、また描画に時間がかかる恐れもある。
【０００７】
本発明は、上記に鑑みてなされたものであって、ＲＯＰ演算を行う際に、メモリ・リソースを増大させずに、パフォーマンスを向上可能な画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、複数の有彩色および無彩色から構成される第１色空間において描画処理を行う描画処理手段と、前記描画処理手段が前記描画処理を行う際のデータを一時的に記憶する中間記憶領域と、前記描画処理後のデータであって前記第１色空間において描画可能な描画データを記憶する描画記憶領域とを備える画像処理装置であって、描画するための描画指令を含む印刷制御データを取得する取得手段と、前記取得手段が取得した前記印刷制御データが、前記描画指令として、複数のラスタ画像において論理演算を行うラスタ操作演算の指令を含む場合且つ描画指令によって描画する対象の画像の色が前記第１色空間とは異なる第２色空間における表現形式で表現される又は無彩色である場合、当該ラスタ操作演算の指令内容に基づいて、当該ラスタ操作演算を前記第２色空間において行うか否かを判定する判定手段と、前記判定手段の判定結果が肯定的である場合、前記中間記憶領域を使用して前記ラスタ操作演算を前記第２色空間において行う第２色空間演算手段と、前記判定手段の判定結果が否定的である場合、前記描画処理の過程において前記ラスタ操作演算を前記第１色空間において行う第１色空間演算手段とを備えることを特徴とする。
【０００９】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記判定手段は、前記ラスタ操作演算の指令が、前記複数のラスタ画像のうちソース画像とパターン画像との論理和による演算の後、前記複数のラスタ画像のうちデスティネーション画像に上書きする指令を含む場合、当該ラスタ操作演算を前記第２色空間において行うと判定することを特徴とする。
【００１０】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記第２色空間演算手段は、前記判定手段の判定結果が肯定的である場合且つ前記ソース画像の色空間と前記パターン画像の色空間とが異なる場合、これらの色空間を前記第２色空間にした後、前記ラスタ操作演算を前記第２色空間において行うことを特徴とする。
【００１１】
また、請求項４にかかる発明は、請求項１乃至３のいずれか一項にかかる発明において、前記判定手段は、前記描画指令が、描画対象の画像を無彩色で出力する指令を含む場合い、前記ラスタ操作演算を無彩色空間において行うと判定し、前記第１色空間演算手段は、前記ラスタ操作演算を無彩色空間において行うと前記判定手段が判定した場合、前記描画処理の過程において前記ラスタ操作演算を前記無彩色空間において行うことを特徴とする。
【００１３】
また、請求項５にかかる発明は、請求項４にかかる発明において、前記第１色空間演算手段は、前記ラスタ操作演算を前記無彩色空間において行う際、前記中間記憶領域を使用して前記ラスタ操作演算を行うことを特徴とする。
【００１４】
また、請求項６にかかる発明は、請求項４又は５にかかる発明において、前記描画処理手段は、前記描画処理の過程において、前記第２色空間演算手段が前記ラスタ操作演算を前記無彩色空間において行った後、前記描画処理のうちＵＣＲ／ＢＧ（Under Color Removal / Black Generation）を含む色処理を行って、描画処理後の描画データを前記描画記憶領域に記憶することを特徴とする。
【００１５】
また、請求項７にかかる発明は、請求項４又は５にかかる発明において、前記描画処理手段は、前記描画処理の過程において、前記第１色空間演算手段が前記ラスタ操作演算を前記無彩色空間において行った後、ガンマ処理を含む色処理を行って、描画処理後の描画データを、前記描画記憶領域のうち、無彩色のみの描画データを記憶する無彩色描画領域に記憶することを特徴とする。
【００１６】
また、請求項８にかかる発明は、請求項１乃至７のいずれか一項にかかる発明において、前記描画データに基づいて、画像を出力媒体に出力する画像形成手段と、前記画像形成手段における画像の出力を制御する制御手段とを更に備え、前記制御手段が、前記判定手段、前記第２色空間演算手段及び前記第１色空間演算手段を有することを特徴とする。
【００１７】
また、請求項９にかかる発明は、請求項１乃至７のいずれか一項にかかる発明において、前記印刷制御データを生成しこれを、前記描画データに基づいて画像を出力媒体に出力する画像形成装置に対して送信する制御手段を備え、前記制御手段が、前記判定手段、前記第２色空間演算手段及び前記第１色空間演算手段を有することを特徴とする。
【００１８】
また、請求項１０にかかる発明は、請求項１乃至９のいずれか一項にかかる発明において、前記第１色空間演算手段は、前記描画処理のうち色処理を行う際に、前記ラスタ操作演算を前記第１色空間において行うことを特徴とする。
【００１９】
また、請求項１１にかかる発明は、請求項１乃至１０のいずれか一項にかかる発明において、前記第２色空間演算手段は、前記判定手段の判定結果が肯定的である場合且つ前記ラスタ操作演算の指令が、ソース画像の背景色を透過する指令を更に含む場合、前記ラスタ操作演算を前記第２色空間において行った後、前記描画処理において前記ソース画像の背景色を透過するよう前記描画指令を変更することを特徴とする。
【００２０】
また、請求項１２にかかる発明は、複数の有彩色および無彩色から構成される第１色空間において描画処理を行う描画処理手段と、前記描画処理手段が前記描画処理を行う際のデータを一時的に記憶する中間記憶領域と、前記描画処理後のデータであって前記第１色空間において描画可能な描画データを記憶する描画記憶領域と、取得手段と、判定手段と、第２色空間演算手段と、第１色空間演算手段とを備える画像処理装置で実行される画像処理方法であって、前記取得手段が、描画するための描画指令を含む印刷制御データを取得する取得ステップと、前記判定手段が、前記取得ステップで取得した前記印刷制御データが、前記描画指令として、複数のラスタ画像において論理演算を行うラスタ操作演算の指令を含む場合且つ描画指令によって描画する対象の画像の色が前記第１色空間とは異なる第２色空間における表現形式で表現される又は無彩色である場合、当該ラスタ操作演算の指令内容に基づいて、当該ラスタ操作演算を前記第２色空間において行うか否かを判定する判定ステップと、前記第２色空間演算手段が、前記判定ステップでの判定結果が肯定的である場合、前記中間記憶領域を使用して前記ラスタ操作演算を前記第２色空間において行う第２色空間演算ステップと、前記第１色空間演算手段が、前記判定ステップでの判定結果が否定的である場合、前記描画処理の過程において前記ラスタ操作演算を前記第１色空間において行う第１色空間演算ステップとを含むことを特徴とする。
【００２１】
また、請求項１３にかかる発明は、プログラムであって、請求項１２に記載の画像処理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、ＲＯＰ演算を行う際に、メモリ・リソースを増大させずに、パフォーマンスを向上可能になる。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法およびプログラムの最良な実施の形態を詳細に説明する。
【００２４】
[実施の形態]
（１）構成
本実施の形態では、画像処理装置の一例として、プリント機能を有するレーザプリンタ１０に用いられるプリンタコントローラ１２を例として説明する。図１は、レーザプリンタ１０のハードウェア構成の実施形態を例示する図である。図に示したレーザプリンタ１０は、プリンタコントローラ１２と、プロッタ・エンジン３４と、操作パネル３６とを有する。プロッタ・エンジン３４は、原稿（出力媒体）に画像を出力する。操作パネル３６は、ユーザからの操作入力を受け付ける。
【００２５】
プリンタコントローラ１２は、中央演算処理装置（ＣＰＵ）１４と、システム・メモリ１６と、ＮＶ−ＲＡＭ１８と、エンジン・インタフェース（Ｉ／Ｆ）２０と、描画メモリ２２と、ホストＩ／Ｆ２４と、プログラムＲＯＭ２６と、フォントＲＯＭ２８と、パネルＩ／Ｆ３０とを有する。これらの要素は、内部バス３２を介して接続される。ＣＰＵ１４は、プログラムＲＯＭ２６やＮＶ−ＲＡＭ１８に記憶された各種プログラムを読み出して実行することにより、レーザプリンタ１０全体を制御し、各種機能を実現させる。ＮＶ−ＲＡＭ１８は、ＣＰＵ１４により実行される各種プログラムや、設定情報等の各種データを一時的に記憶する。プログラムＲＯＭ２６は、制御プログラムやアプリケーションプログラム等の各種プログラムを記憶する。システム・メモリ１６は、ＣＰＵ１４の作業メモリ領域である。エンジン・インタフェース（Ｉ／Ｆ）２０は、プロッタ・エンジン３４との間のインタフェースである。描画メモリ２２は、ホストＰＣ６０からの印刷制御データ、該印刷制御データから生成される中間データ、ラスタ形式の描画データを記憶する。ホストＩ／Ｆ２４は、ホスト・パーソナル・コンピュータ（以下、ホストＰＣとして参照する。）６０をシリアル、パラレルまたはネットワーク接続させる。フォントＲＯＭ２８は、印字のためのフォントを記憶する。パネルＩ／Ｆ３０は、操作パネル３６とのインタフェースである。
【００２６】
このような構成において、プリンタコントローラ１２は、描画制御データを構成するホストＰＣ６０から受信したＰＤＬ（ページ記述言語）などの印刷制御データに従って、描画データにラスタライズし、プロッタ・エンジン３４に対して画像を出力させる。
【００２７】
一方、ホストＰＣ６０は、アプリケーションプログラムからのドキュメント・データを、所定のプリンタ・ドライバを使用して、複数の描画コマンドからなる印刷制御データに変換して、レーザプリンタ１０に送信することにより、プリントを指令する。描画コマンドは、文字、グラフィック、イメージの描画指令を含むことができる。また、ＲＯＰ演算の指令としてＲＯＰコード及び演算ルールを含む描画コマンドがある場合がある。印刷制御データは、ＰｏｓｔＳｃｒｉｐｔ（登録商標）、ＰＣＬ（登録商標）、ＬＩＰＳ（登録商標）、ＲＰＤＬ（登録商標）など、種々のプリンタ言語により記述されたデータとすることができ、特に限定されるものではない。
【００２８】
次に、レーザプリンタ１０においてプリンタコントローラ１２の有するＣＰＵ１４がプログラムＲＯＭ２６やＮＶ−ＲＡＭ１８に記憶された各種プログラムを読み出して実行することにより実現される各種機能について図２を用いて説明する。レーザプリンタ１０の機能的構成においては、インタープリタ部４０と、中間データ形式判定部４１と、ＲＧＢ色空間用ＲＯＰ演算処理部４２と、ソフト図形描画処理部４３と、ＫＣＭＹ色空間用ＲＯＰ演算処理部４４と、中間データメモリ４６と、ページメモリ４８とを有する。尚、中間データメモリ４６とは、例えば、ＮＶ−ＲＡＭ１８におけるメモリ領域である。ページメモリ４８とは、描画メモリ２２におけるメモリ領域である。
【００２９】
インタープリタ部４０は、ホストＰＣ６０から受信した印刷制御データを解釈し、中間データを生成する。そして、インタープリタ部４０は、印刷制御データを構成する描画コマンドがＲＯＰ演算の指令としてＲＯＰコード及び演算ルールを含んでいる場合、中間データ形式判定部４１に対し当該ＲＯＰコードを渡して、ＲＯＰ演算をＲＧＢ色空間で行うのかＫＣＭＹ色空間で行うのかの判定を要求する。そして、インタープリタ部４０は、中間データ形式判定部４１からの判定結果を受け取り、ＲＯＰ演算をＲＧＢ色空間で行うと判定された場合には、生成した中間データについてのＲＯＰ演算をＲＧＢ色空間用ＲＯＰ演算処理部４２に対して要求する。また、ＲＯＰ演算をＫＣＭＹ色空間で行うと判定された場合には、インタープリタ部４０は、生成した中間データを中間データメモリ４６へ一旦記憶し、描画処理をソフト図形描画処理部４３に対して要求する。中間データ形式判定部４１は、インタープリタ部４０から渡されたＲＯＰコードが‘0xFC’又は‘0xB8’である場合には、ＲＯＰ演算をＲＧＢ色空間で行うと判定し、それ以外の場合は、ＲＯＰ演算をＫＣＭＹ色空間で行うと判定する。
【００３０】
尚、ＲＯＰ演算とは、２以上の描画オブジェクトを重ね合わせる際に実行される画像間の論理演算処理である。ＲＯＰ演算を行なうことによって、単に上下関係をつけて上書きするだけでなく、「透過」や「反転」などの効果を与えることができる。上述したＷｉｎｄｏｗｓのＧＤＩでは、ＲＯＰ２、ＲＯＰ３などのＲＯＰ命令がサポートされている。ＲＯＰ２では、ソース画像とデスティネーション画像との２つのラスタ画像の描画オブジェクトに対して、ＡＮＤ（論理積）、ＯＲ（論理和）、ＮＯＴ（否定）、ＸＯＲ（否定論理和）等の論理演算を行なうものであり、描画オブジェクトの状態および出力結果の組み合わせから１６種類存在する。ＲＯＰ３は、ソース画像およびデスティネーション画像の他に、パターン(ブラシ)画像であるラスタ画像を加えた、３つの描画オブジェクトの論理演算を行なうものであり、描画オブジェクトの状態および出力結果から２５６種類存在する。このＲＯＰ演算による描画結果は、デスティネーション画像が記憶されるメモリ領域に上書きされることとなる。
【００３１】
ＫＣＭＹ色空間でレンダリングを行う時に、ＲＯＰ演算もＫＣＭＹ色空間で行うと、ＲＯＰコードが‘0xFC’である場合、ＲＧＢ色空間でソース画像とパターン画像とのＯＲ演算を行った後にデスティネーション画像に上書きすることになる。この場合、ソース画像が黒、パターン画像が赤のような場合には、ＲＧＢ色空間では、ソース画像のＲＧＢ値が(0,0,0)であり、パターン画像のＲＧＢ値が(255,0,0)であるため、描画結果も赤、即ち、ＲＧＢ値が(255,0,0)となる。ところが、この処理をそのままＵＣＲ／ＢＧ後のＫＣＭＹ色空間に適用してしまうと、黒のＫＣＭＹ値である(255,0,0,0)と、赤のＫＣＭＹ値である(0,0,255,255)をＡＮＤ演算することになり、ＫＣＭＹ値が(0,0,0,0)となる、即ち、描画結果は白となってしまう。
【００３２】
このような問題を回避するために、上書き以外のＲＯＰ演算が含まれた領域はＲＧＢ色空間でレンダリングを行う手法や、黒のＫＣＭＹ値を(255,0,0,0)ではなく(255,255,255,255)として扱うといった手法がある。後者の手法は、レンダリングの処理をＫＣＭＹ色空間で行えるためにメモリ・リソースと処理速度との点で有利ではある。しかし、ソース画像とパターン画像とがどちらも白、黒及びグレーの無彩色以外の有彩色の時には、ＫＣＭＹ色空間においてＲＯＰ演算を行った場合、ＲＯＰ演算の結果が、ＲＧＢ色空間において行った場合と大きく異なる場合が発生してしまう。
【００３３】
そこで、本実施の形態においては、上述したように、ＲＧＢ色空間用ＲＯＰ演算処理部４２と、ＫＣＭＹ色空間用ＲＯＰ演算処理部４４との２つを備え、中間データ形式判定部４１の判定結果に応じて、ＲＯＰ演算を行う主体をいずれかに切り替える。
【００３４】
図２の説明に戻る。ＲＧＢ色空間用ＲＯＰ演算処理部４２は、ＲＯＰ演算をＲＧＢ色空間で行うと判定された場合、インタープリタ部４０が生成した中間データについてＲＧＢ色空間におけるＲＯＰ演算を行う。このとき、ＲＧＢ色空間用ＲＯＰ演算処理部４２は、ＲＯＰ演算のためだけにメモリを確保するのではなく、ＫＣＭＹ色空間においてレンダリングを行うための中間データの作成のために確保された領域を使用してＲＯＰ演算を行う。例えば、ＷｉｎｄｏｗｓのＧＤＩの出力するイメージはＢＧＲ点順次であることが多い。一方、プロッタ・エンジン３４がＫＣＭＹ面順次を入力としていている場合がある。この場合、中間データ形式に変換するために、まず、ＢＧＲ点順次をＲＧＢ面順次に変換して、その後、ＫＣＭＹ面順次に変換している場合がある。図３は、この場合の各面順次の変換の流れを例示する図である。この場合、ＲＧＢ色空間用ＲＯＰ演算処理部４２は、ＢＧＲ点順次からＲＧＢ面順次に変換した後に、中間データについてＲＧＢ色空間におけるＲＯＰ演算を行う。このように、ＫＣＭＹ色空間においてレンダリングを行うための中間データの作成のために確保された領域である中間データメモリ４６において、ソース画像とパターン画像との色空間をＲＧＢ色空間に揃えた後、ＲＯＰ演算を行う。この結果、新たにメモリ・リソースを確保することなく、ＲＧＢ色空間におけるＲＯＰ演算を行うことができる。
【００３５】
尚、ＲＯＰコードが‘0xB8’である場合、ソース画像の背景色を透過にする必要がある。このため、この場合、ＲＧＢ色空間用ＲＯＰ演算処理部４２は、上述のＲＯＰ演算後の中間データにおいて、背景色のピクセルからマスクを生成し、マスクつき上書き描画として描画コマンドを変換する。描画コマンドの変換とは、即ち、ＲＯＰコードを‘0xB8’から‘0xFC’に変換することである。その後、ＲＧＢ色空間用ＲＯＰ演算処理部４２は、中間データを中間データメモリ４６に記憶する。尚、ここで記憶される中間データに含まれるＲＯＰコードは、全て0xFC’となる。
【００３６】
ソフト図形描画処理部４３は、中間データメモリ４６から中間データを読み出し、中間データに含まれる描画指令に応じてラスタライズする。ラスタライズでは、例えば、ＲＧＢ多値の描画オブジェクトを、カラーマッチングおよびＵＣＲ／ＢＧなどの色処理によりＫＣＭＹ色空間に変換し、ガンマ処理などの色処理などの所定の画像処理を実施した後、ディザリング等によりプロッタ・エンジン３４が取り扱い可能な階調深度に少値化し、例えばＫＣＭＹ色空間の各色プレーン１ｂｉｔの階調深度を有したラスタ形式の描画データを生成する。このとき、ソフト図形描画処理部４３は、ＲＯＰ演算の指令が中間データに含まれる場合、ＵＣＲ／ＢＧなどの色処理を行う前に、当該指令に応じたＲＯＰ演算をＫＣＭＹ色空間用ＲＯＰ演算処理部４４を要求する。ＫＣＭＹ色空間用ＲＯＰ演算処理部４４は、当該要求に応じて、描画データについてＫＣＭＹ色空間におけるＲＯＰ演算を行う。ソフト図形描画処理部４３は、ＫＣＭＹ色空間用ＲＯＰ演算処理部４４がＲＯＰ演算が行った後、ＵＣＲ／ＢＧ処理以降の処理を行って、処理後の描画データをページメモリ４８に記憶する。尚、ＲＧＢ色空間用ＲＯＰ演算処理部４２でＲＯＰ演算が既に行われた中間データについては、ＲＯＰコードが全て‘0xFC’になっているため、ここでは、上書き描画された描画データがページメモリ４８に記憶されることになる。
【００３７】
ページメモリ４８に記憶された描画データはプロッタ・エンジン３４へ送出される。プロッタ・エンジン３４は、この描画データに基づいて画像を形成することにより、画像を原稿に出力する。
【００３８】
（２）動作
次に、本実施の形態にかかるレーザプリンタ１０の行う処理の手順について図４を用いて説明する。レーザプリンタ１０のプリンタコントローラ１２は、ホストＰＣ６０から受信した印刷制御データを解釈し、中間データを生成する。そして、プリンタコントローラ１２は、印刷制御データを構成する描画コマンドがＲＯＰ演算の指令としてＲＯＰコード及び演算ルールを含んでいる場合、ＲＯＰコードに基づいて、ＲＯＰ演算をＲＧＢ色空間で行うのかＫＣＭＹ色空間で行うのかを判定する。具体的には、プリンタコントローラ１２は、ＲＯＰコードが‘0xB8’又は‘0xFC’か、それ以外かを判定する（ステップＳ１）。そして、当該判定結果が肯定的である場合、プリンタコントローラ１２は、ＲＯＰ演算をＲＧＢ色空間で行うと判定し、ソース画像とパターン画像との色空間をＲＧＢ色空間に揃えた後、中間データについてＲＧＢ空間におけるＲＯＰ演算を行う（ステップＳ２）。次いで、プリンタコントローラ１２は、ＲＯＰコードが‘0xB8’であるか否かを判定する（ステップＳ３）。当該判定結果が肯定的である場合、ソース画像の背景色を透過にする必要があるから、プリンタコントローラ１２は、中間データにおいて、背景色のピクセルからマスクを生成し、マスクつき上書き描画として描画コマンドを変換する（ステップＳ４）。この描画コマンドの変換により、ＲＯＰコードが‘0xB8’から‘0xFC’に変換される。その後、プリンタコントローラ１２は、中間データを中間データメモリ４６に記憶して、描画処理を行う（ステップＳ５）。
【００３９】
ステップＳ５では、プリンタコントローラ１２は、中間データメモリ４６から中間データを読み出し、中間データに含まれる描画指令に応じてラスタライズする。このとき、ＲＯＰ演算の指令が中間データに含まれる場合、プリンタコントローラ１２は、ＵＣＲ／ＢＧなどの色処理を行う前に、描画データについてＫＣＭＹ色空間におけるＲＯＰ演算を行い、その後、ＵＣＲ／ＢＧ処理以降の処理を行って、処理後の描画データをページメモリ４８に記憶する。尚、ステップＳ２でＲＯＰ演算が既に行われた中間データについては、ＲＯＰコードが全て‘0xFC’になっているため、ここでは、上書き描画された描画データがページメモリ４８に記憶されることになる。特に、ステップＳ４で、マスクつき上書き描画として描画コマンドが変換されたものについては、マスクを用いて上書き描画がなされて、ソース画像の背景色が透過された後の描画データがページメモリ４８に記憶されることになる。
【００４０】
尚、ステップＳ１の判定結果が否定的であり且つステップＳ３の判定結果が否定的である場合には、プリンタコントローラ１２は、ステップＳ２，Ｓ４の処理を行わず、ステップＳ５の処理を行う。また、ステップＳ１の判定結果が肯定的であっても、ステップＳ３の判定結果が否定的である場合、プリンタコントローラ１２は、ステップＳ４の処理を行わず、ステップＳ５の処理を行う。
【００４１】
以上のような構成によれば、ＫＣＭＹ色空間でＲＯＰ演算を行うよりもＲＧＢ色空間でＲＯＰ演算を行った方が正確かつ高速である場合は、ＲＧＢ色空間でＲＯＰ演算を行った後にＫＣＭＹ色空間へ描画することができる。また、ＫＣＭＹ色空間でＲＯＰ演算を行うための新たなリソースを必要とせず、ＫＣＭＹ色空間で必要なリソースだけで、ＫＣＭＹ色空間でのＲＯＰ演算を行って高速に画像を出力することを実現することができる。
【００４２】
即ち、ＫＣＭＹ色空間でのレンダリングといっても、入力される印刷制御データにおいて描画が指令される画像の色はＲＧＢ形式で表現されたりＧｒａｙ（モノクロ）であったりすることが多い。この印刷制御データを用いて描画処理を行う際、ＵＣＲ／ＢＧなどの色処理を行ってＫＣＭＹ色空間に変換して中間データを生成するが、色処理の過程では、色はまだＲＧＢ形式で表現されたりＧｒａｙであったりする。このため、色処理の過程でＲＯＰ演算を行うことにより、一部のＲＯＰ演算を、ＲＧＢ色空間において行うのと同等に、ＫＣＭＹ色空間において高速に行うことができる。
【００４３】
また、ＫＣＭＹ色空間で行うＲＯＰ演算は、ＲＯＰコードが、‘0xB8’及び‘0xFC’以外のものに限定することで、頻度の高いＲＯＰ演算について、ＫＣＭＹ色空間でのレンダリングで必要な処理時間とリソースの範囲内で高速に行うことができる。
【００４４】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００４５】
＜変形例１＞
上述した実施の形態において、レーザプリンタ１０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。上述した第１の実施の形態において、当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【００４６】
＜変形例２＞
上述した実施の形態において、画像処理装置としてレーザプリンタ１０に適用する例について説明したが、これに限らず、複写機、ファクシミリ、これらの各装置を複合した複合機などにも適用することが可能である。
【００４７】
また、上述した実施の形態において、画像処理装置として、画像処理機能を備える情報処理装置に適用することも可能である。この場合、例えば、当該情報処理装置の備えるプリンタ・ドライバが、プリンタコントローラ１２が上述の実施の形態において実現させる機能を実現させるように構成すれば良い。
【００４８】
＜変形例３＞
上述した実施の形態においては、印刷制御データを構成する描画コマンドが、画像の色をＧｒａｙで出力する指令を含む場合、ソース画像とパターン画像との色空間が異なる場合であっても、ＲＯＰ演算をＲＧＢ空間において行う必要がなければ、ＲＯＰ演算をＧｒａｙ色空間において行うようにしても良い。図５は、本変形例にかかるＲＯＰ演算に係る判定を処理の手順を例示するフローチャートである。レーザプリンタ１０のプリンタコントローラ１２は、ホストＰＣ６０から受信した印刷制御データを解釈し、中間データを生成する。そして、印刷制御データを構成する描画コマンドが、画像の色をＧｒａｙで出力する指令を含む場合且つ印刷制御データを構成する描画コマンドがＲＯＰ演算の指令としてＲＯＰコード及び演算ルールを含んでいる場合、プリンタコントローラ１２は、まず、ＲＯＰ演算の対象であるデータの色空間がＫＣＭＹ色空間であるか否かを判定する（ステップＳ２０）。当該判定結果が否定的である場合、プリンタコントローラ１２は、上述した描画処理前の中間データについてＲＯＰ演算を行うことになる。この場合、プリンタコントローラ１２は、次いで、ソース画像の色空間がＲＧＢ色空間であるか否かを判定する（ステップＳ２１）。当該判定結果が肯定的である場合、プリンタコントローラ１２は、次いで、パターン画像の色空間がＲＧＢ色空間であるか否かを判定する（ステップＳ２２）。当該判定結果が肯定的である場合、プリンタコントローラ１２は、ＲＧＢ色空間用ＲＯＰ演算処理部４２により、中間データについてＲＧＢ色空間におけるＲＯＰ演算を行う（ステップＳ２３）。
【００４９】
一方、ステップＳ２２の判定結果が否定的である場合、プリンタコントローラ１２は、パターン画像の色空間をＲＧＢ色空間に変換することによりソース画像とパターン画像との色空間をＲＧＢ色空間に揃え、その後、ＲＧＢ色空間用ＲＯＰ演算処理部４２により、中間データについてＲＧＢ色空間におけるＲＯＰ演算を行う（ステップＳ２４）。また、ステップＳ２１の判定結果が否定的である場合、プリンタコントローラ１２は、次いで、パターン画像の色空間がＲＧＢ色空間であるか否かを判定する（ステップＳ２２）。当該判定結果が肯定的である場合、プリンタコントローラ１２は、パターン画像の色空間をＧｒａｙ色空間に変換することによりソース画像とパターン画像との色空間をＧｒａｙ色空間に揃え、その後、Ｇｒａｙ色空間用ＲＯＰ演算処理部４４により、中間データについてＧｒａｙ色空間におけるＲＯＰ演算を行う（ステップＳ２６）。ステップＳ２５の判定結果が否定的である場合、プリンタコントローラ１２は、描画処理のうち色処理の過程における描画データについてＲＯＰ演算を行うことになる。この場合、プリンタコントローラ１２は、ＫＣＭＹ色空間用ＲＯＰ演算処理部４４により、描画データについてＧｒａｙ色空間におけるＲＯＰ演算を行う（ステップＳ２７）。
【００５０】
また、ステップＳ２０の判定結果が肯定的である場合も、描画処理のうち色処理の過程における描画データについてＲＯＰ演算を行うことになる。この場合、プリンタコントローラ１２は、プリンタコントローラ１２は、ソース画像の色空間及びパターン画像の色空間をＧｒａｙ色空間に変換することによりソース画像とパターン画像との色空間をＧｒａｙ色空間に揃え、その後、ＫＣＭＹ色空間用ＲＯＰ演算処理部４４により、描画データについてＧｒａｙ色空間におけるＲＯＰ演算を行う（ステップＳ２８）。
【００５１】
以上のように、入力された印刷制御データの色がＧｒａｙである場合、ソース画像の色空間及びパターン画像の色空間を判定して、判定結果に応じて、Ｇｒａｙ空間においてＲＯＰ演算を行うことにより、メモリ・リソースを節約することができる。
【００５２】
尚、ページメモリ４８は、描画データについて、描画データのうち、Ｋ版についての描画データ部分を記憶するＫバンドメモリと、Ｃ版についての描画データ部分を記憶するＣバンドメモリと、Ｍ版についての描画データ部分を記憶するＭバンドメモリと、Ｙ版についての描画データ部分を記憶するＹバンドメモリとを有するものとする。この場合、上述のステップＳ２６〜２７において、プリンタコントローラ１２は、Ｇｒａｙ色空間におけるＲＯＰ演算を行った後、ページメモリ４８のうちＫバンドメモリにのみ描画データを記憶させるようにしても良い。
【００５３】
尚、ステップＳ２６〜２７において、描画処理のうちガンマ処理の前に、Ｇｒａｙ空間におけるＲＯＰ演算を行い、その後に、ガンマ処理以降の処理を行うようにしても良い。
【００５４】
＜変形例４＞
上述した実施の形態において、ＫＣＭＹ色空間におけるＲＯＰ演算を、ＵＣＲ／ＢＧ処理を行う前に行うようにしたが、これに限らず、ＵＣＲ／ＢＧなどの色処理と並行して行うようにしても良いし、ＵＣＲ／ＢＧ処理の後に行うようにしても良い。
【００５５】
＜変形例５＞
上述した実施の形態において、ＲＧＢ色空間におけるＲＯＰ演算を行う場合として、ＲＯＰコードが‘0xFC’及び‘0xB8’である場合としたが、これに限らず、デスティネーション画像に対して上書きするものであれば、上述の場合に限らない。
【００５６】
＜変形例６＞
上述した実施の形態において、ステップＳ４では、プリンタコントローラ１２は、マスクを生成し、マスクつき上書き描画として描画コマンドを変換したが、これに限らず、ＣＬＩＰなどの方法により、ソース画像の背景色を透過するようにしても良い。
【図面の簡単な説明】
【００５７】
【図１】一実施の形態にかかるレーザプリンタ１０のハードウェア構成の実施形態を例示する図である。
【図２】同実施の形態にかかるレーザプリンタ１０の機能的恒例を例示する図である。
【図３】同実施の形態にかかる各面順次の変換の流れを例示する図である。
【図４】同実施の形態にかかるレーザプリンタ１０の行う処理の手順を例示するフローチャートである。
【図５】一変形例にかかるＲＯＰ演算に係る判定を処理の手順を例示するフローチャートである。
【符号の説明】
【００５８】
１０  レーザプリンタ
１２  プリンタコントローラ
１４  ＣＰＵ
１６  システム・メモリ
１８  ＮＶ−ＲＡＭ
２２  描画メモリ
２６  プログラムＲＯＭ
２８  フォントＲＯＭ
３２  内部バス
３４  プロッタ・エンジン
３６  操作パネル
４０  インタープリタ部
４１  中間データ形式判定部
４２  ＲＧＢ色空間用ＲＯＰ演算処理部
４３  ソフト図形描画処理部
４４  ＫＣＭＹ色空間用ＲＯＰ演算処理部
４６  中間データメモリ
４８  ページメモリ
６０  ホストＰＣ
【図１】
0005037411.tif 000002
【図２】
0005037411.tif 000003
【図３】
0005037411.tif 000004
【図４】
0005037411.tif 000005
【図５】
0005037411.tif 000006