(57)【要約】【課題】  従来は、単色補償する色が黒だけに限られており、他の色、例えばＣ，Ｍ，Ｙの色材に対する単色補償ができなかった。【解決手段】  ＲＧＢ空間で表された描画値が所定の条件を満足する場合に、対応するＭＣＹＫ色空間の画像データの画素値を所定の値に変換する色補償を行って色変換する（Ｓ５）かどうかを描画コマンドのオブジェクトごとに指定する設定情報に応じて、ＲＧＢ色空間の描画値をＭＣＹＫの画素値に変換する通常の変換処理（Ｓ６）を行うか、色補償変換処理（Ｓ５）を行うかを選択して、画素データをＲＧＢからＭＣＹＫに変換する。【選択図】  図６
2005354414.tif 000002
【特許請求の範囲】
【請求項１】
第１色空間の描画コマンドを入力して第２色空間の画像データに色変換する画像処理装置であって、
前記第１色空間の描画値を前記第２色空間の画素値に変換する第１変換手段と、
前記第１色空間で表された描画値が所定の条件を満足する場合に、対応する前記第２色空間の画像データの画素値を所定の値に変換する第２変換手段と、
前記描画コマンドに含まれる描画オブジェクトに対応付けて前記第２変換手段を使用するかどうかを指定する設定情報に応じて、前記第１変換手段或は第２変換手段のいずれかを選択して前記第１色空間の描画値を前記第２色空間の画素値に変換させるように制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１色空間はＲＧＢ色空間であり、前記第２色空間は印刷装置で使用される色材の色空間であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１色空間はＹＭＣＫ色空間であり、前記第２色空間は印刷装置で使用される色材の色空間であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
更に、前記描画コマンドに含まれる前記描画オブジェクトの種類に対応して、前記第１色空間の描画値を前記第２色空間の画素値に変換する処理を変更する手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２変換手段による変換は、前記第２色空間の各色成分ごと、及び／或は前記各色成分の組み合わせごとに、前記第１色空間で表された描画値が所定の条件を満足する場合に前記第２色空間の所定の１つ或は複数の色成分を所定の値に変換するものであることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
第１色空間の描画コマンドを入力して第２色空間の画像データに色変換する画像処理方法であって、
前記第１色空間の描画値を前記第２色空間の画素値に変換する第１変換工程と、
前記第１色空間で表された描画値が所定の条件を満足する場合に、対応する前記第２色空間の画像データの画素値を所定の値に変換する第２変換工程と、
前記描画コマンドに含まれる描画オブジェクトに対応付けて前記第２変換工程を実行するかどうかを指定する設定情報に応じて、前記第１変換工程或は第２変換工程のいずれかを選択して前記第１色空間の描画値を前記第２色空間の画素値に変換させるように制御する制御工程と、
を有することを特徴とする画像処理方法。
【請求項７】
前記第１色空間はＲＧＢ色空間であり、前記第２色空間は印刷方法で使用される色材の色空間であることを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記第１色空間はＹＭＣＫ色空間であり、前記第２色空間は印刷方法で使用される色材の色空間であることを特徴とする請求項６に記載の画像処理方法。
【請求項９】
更に、前記描画コマンドに含まれる前記描画オブジェクトの種類に対応して、前記第１色空間の描画値を前記第２色空間の画素値に変換する処理を変更する工程を備えることを特徴とする請求項６乃至８のいずれか１項に記載の画像処理方法。
【請求項１０】
前記第２変換工程における変換は、前記第２色空間の各色成分ごと、及び／或は前記各色成分の組み合わせごとに、前記第１色空間で表された描画値が所定の条件を満足する場合に前記第２色空間の所定の１つ或は複数の色成分を所定の値に変換するものであることを特徴とする請求項６乃至９のいずれか１項に記載の画像処理方法。
【請求項１１】
第１色空間の描画コマンドを入力して第２色空間の画像データに色変換する画像処理方法であって、
前記第１色空間の描画値を前記第２色空間の画素値に変換する第１変換工程と、
前記第１色空間で表された描画値が所定の条件を満足する場合に、対応する前記第２色空間の画像データの画素値を単色補償、２次色補償した値に変換する第２変換工程と、
前記描画コマンドに含まれる描画オブジェクトに対応付けて前記第２変換工程を実行するかどうかを指定する設定情報に応じて、前記第１変換工程或は第２変換工程のいずれかを選択して前記第１色空間の描画値を前記第２色空間の画素値に変換させるように制御する制御工程とを有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１色空間の描画コマンドを入力して第２色空間の画像データに色変換する画像処理装置及びその方法に関するものである。
【背景技術】
【０００２】
ＲＧＢの色空間で指定される描画コマンドを入力し、プリンタ等において色再生するためにＣＭＹＫの色空間のビットマップデータを生成する画像処理装置が知られている。このような装置では、描画コマンドのオブジェクトの種類、例えば文字、図形、イメージに応じてグレイ補償を行うように指示されると、その画素のＲＧＢデータにおいて、Ｒ＝Ｇ＝Ｂであれば無彩色であると判定し、そのＲＧＢデータをＫデータ（Ｙ＝Ｍ＝Ｃ＝０）に変換している。
【０００３】
またＣＭＹＫの色空間で指定される描画コマンドを入力し、ＣＭＹＫのデバイス色空間のカラービットマップデータを生成する画像処理装置では、入力したＣＭＹＫ色空間の画素値がＣ＝Ｍ＝Ｙである場合に、Ｋ単色だけを補償していた。
【特許文献１】特開平09-277606号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように従来は、単色補償する色が黒だけに限られており、他の色、例えばＣ，Ｍ，Ｙの色材に対する単色補償ができなかった。更には、二次色（複数の色材を使用した色表現）に対しても、その色補償を行うことができなかった。
【０００５】
本発明は上記問題点に鑑みてなされたもので、本願発明の特徴は、描画オブジェクトに対応する色変換方法を選択して画像データに変換できる画像処理装置及びその方法を提供することにある。
【０００６】
また本発明の特徴は、第１色空間で表された描画値が所定の条件を満足する場合に、対応する第２色空間の画像データの画素値を所定の値に変換するかどうかを、描画コマンドに含まれる描画オブジェクト毎に設定して、第１色空間から第２色空間に変換する画像処理装置及びその方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
第１色空間の描画コマンドを入力して第２色空間の画像データに色変換する画像処理装置であって、
前記第１色空間の描画値を前記第２色空間の画素値に変換する第１変換手段と、
前記第１色空間で表された描画値が所定の条件を満足する場合に、対応する前記第２色空間の画像データの画素値を所定の値に変換する第２変換手段と、
前記描画コマンドに含まれる描画オブジェクトに対応付けて前記第２変換手段を使用するかどうかを指定する設定情報に応じて、前記第１変換手段或は第２変換手段のいずれかを選択して前記第１色空間の描画値を前記第２色空間の画素値に変換させるように制御する制御手段とを有することを特徴とする。
【０００８】
本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
第１色空間の描画コマンドを入力して第２色空間の画像データに色変換する画像処理方法であって、
前記第１色空間の描画値を前記第２色空間の画素値に変換する第１変換工程と、
前記第１色空間で表された描画値が所定の条件を満足する場合に、対応する前記第２色空間の画像データの画素値を所定の値に変換する第２変換工程と、
前記描画コマンドに含まれる描画オブジェクトに対応付けて前記第２変換工程を実行するかどうかを指定する設定情報に応じて、前記第１変換工程或は第２変換工程のいずれかを選択して前記第１色空間の描画値を前記第２色空間の画素値に変換させるように制御する制御工程とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、描画オブジェクトに対応する色変換画像処理装置及びその方法を提供することにある。
【００１０】
また本発明によれば、第１色空間で表された描画値が所定の条件を満足する場合に、対応する第２色空間の画像データの画素値を所定の値に変換するかどうかを、描画コマンドに含まれる描画オブジェクト毎に設定して、第１色空間から第２色空間に変換できるという効果がある。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。以下、本実施の形態の構成を説明する詳しく前に、本実施の形態を適用するＬＢＰの構成を図１、図２を参照して説明する。尚、この実施の形態では、レーザビームプリンタの制御を例にして説明するが本発明はこれに限定されるものでなく、プリンタドライバ或はプリンタに対して印刷データを出力するパーソナルコンピュータ（ＰＣ）等の情報処理装置における処理にも適用できる。
【００１２】
図１は、本発明の実施の形態に係る画像処理装置の一例であるカラーレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。
【００１３】
図において、１００はＬＢＰ本体を示し、外部に接続されているホストコンピュータ（外部機器：図２の２０１）から供給される文字印刷命令、各種図形描画命令、イメージ描画命令及び色指定命令等に従って、それぞれ対応する文字パターンや図形、イメージ等を作成し、記録媒体である記録用紙上に像を形成する。操作パネル１５１は、ユーザによる操作のためのスイッチ及びこのプリンタの状態を表示するＬＥＤ表示器やＬＣＤ表示器等が配されている。プリンタ制御ユニット１０１は、ＬＢＰ１００全体の制御及びホストコンピュータ２０１から供給される文字印刷命令等を解析する。尚、本実施の形態に係るＬＢＰ１００は、Ｒ（赤）Ｇ（緑）Ｂ（青）の色情報をＭ（マゼンタ）、Ｃ（シアン）、Ｙ（イエロー）、Ｋ（黒）に変換し、それらを並列で像形成して現像するため、図１の右側から順にＭＣＹＫそれぞれの像形成及び現像機構を備えている。プリンタ制御ユニット１０１は、ＭＣＹＫそれぞれの印刷イメージを生成し、ビデオ信号に変換してＭＣＹＫそれぞれのレーザドライバに出力する。
【００１４】
Ｍ（マゼンタ）のレーザドライバ１１０は、半導体レーザ１１１を駆動するための回路であり、プリンタ制御ユニット１０１から入力されたビデオ信号に応じて半導体レーザ１１１から発射されるレーザ光１１２をオン／オフ切り替えする。レーザ光１１２は回転多面鏡１１３で左右方向（静電ドラム１１４の長手方向）に振られて静電ドラム１１４上を走査する。これにより、静電ドラム１１４上には文字や図形のパターンの静電潜像が形成される。この潜像は静電ドラム１１４周囲の現像ユニット（トナーカートリッジ）１１５によって現像された後、記録用紙に転写される。
【００１５】
他のＣ（シアン）、Ｙ（イエロー）、Ｋ（クロ）に関しても、Ｍ（マゼンタ）と同様の像形成及び現像機構が設けられており、１２０〜１２５はＣ（シアン）用の像形成及び現像機構、１３０〜１３５はＹ（イエロー）用の像形成及び現像機構、１４０〜１４５はＫ用の像形成及び現像機構である。それぞれの像形成及び現像機構の機能及び各部の動作は、Ｍ（マゼンタ）の像形成及び現像機構の対応する部分と同じであるため、その説明を省略する。
【００１６】
ここで記録用紙にはカットシートを用い、この記録紙はＬＢＰ１００に装着した給紙カセット１０２に収納されてバネ１０３で一定の高さに保たれている。そして給紙（ピックアップ）ローラ１０４及び搬送ローラ１０５と１０６の回転によりＬＢＰの本体１００内に取り込まれ、用紙搬送ベルト１０７に乗せられてＭＣＹＫの各像形成及び現像機構を通過する際に、各色に応じた画像が記録用紙上に転写される。こうして記録用紙に転写されたＭＣＹＫの各トナー（粉末インク）は、定着器１０８で熱と圧力により記録用紙に固定された後、搬送ローラ１０９，１５０の回転によってＬＢＰ本体１００の上部に排紙される。
【００１７】
図２は、本実施の形態に係るＬＢＰ１００のプリンタ制御ユニット１０１の概略構成を示すブロック図である。このプリンタ制御ユニット１０１は、印刷情報の発生源である、ホストコンピュータ２０１より送られてきた文字、図形、イメージの各描画命令及び色情報等からなるデータ２１８を入力し、ページ単位でイメージに展開して印刷するように構成されている。
【００１８】
入出力インターフェース２０２は、ホストコンピュータ２０１との間で各種情報をやりとりする。入力バッファ２０３は、入出力インターフェース部２０２を介して入力された各種情報を一時記憶する。文字パターン発生器２０４は、文字の幅や高さ等の属性や実際の文字パターンのアドレスが格納されているフォント情報部２２２、文字パターンそのものが格納されている文字パターン部２２３、及びその読出し制御プログラムとを含み、入力した文字コード及びその属性情報に応じた文字パターンを発生する。尚、読出し制御プログラムはＲＯＭ２１９に記憶されており、文字コードを入力するとその文字コードに対応する文字パターンのアドレスを算出するコードコンバート機能をも有している。ＲＡＭ２０５は、文字パターン発生器２０４より出力された文字パターンを記憶するフォントキャッシュ領域２０７、ホストコンピュータ２０１より送られてきた外字フォントやフォーム情報及び現在の印刷環境等を記憶する記憶領域２０６を含んでいる。このように、一旦文字パターンに展開したパターン情報をフォントキャッシュとしてフォントキャッシュ領域２０７に記憶しておくことにより、同じ文字を印刷する時に再度同じ文字コードをパターン展開する必要がなくなるため、文字パターンへの展開が速くなる。
【００１９】
ＣＰＵ２０８は、このＬＢＰ１００の制御系全体を制御しており、ＲＯＭ２１９に記憶されたＣＰＵ２０８の制御プログラムにより装置全体の制御を行っている。中間バッファ２０９は、入力インターフェース部２０２を介して入力される入力データ２１８を基に生成される内部的なデータ群（中間データ）を格納している。１ページ分のデータの受信が完了し、それらが、よりシンプルな中間データに変換されて中間バッファ２０９に蓄えられた後、レンダラ２１０により数ライン単位でレンダリングされ、印刷イメージとしてバンドバッファ２１１に記憶される。尚、レンダラ２１０は、数ライン単位にＲＧＢ各色８ビット（／画素）のビットマップデータを生成し、同時に各画素が文字か図形かイメージかを示す３ビット（／画素）と、Ｒ＝Ｇ＝Ｂの時にＫのみで印刷するか、ＹＭＣＫの混色で印刷するかを示す１ビット（／画素）との合計４ビット（／画素）のオブジェクト種別情報イメージを生成することができる。このオブジェクト種別情報イメージは、各画素データ毎に４ビットで付加されるもので、ビットイメージに対応して設定されている。以下、これら各画素ごとのオブジェクト種別情報イメージを単に「オブジェクト種別情報」と呼ぶこととする。
【００２０】
またバンドバッファ２１１には、少なくとも８ライン分のＲＧＢビットマップデータ、オブジェクト種別情報を記憶することができる。この時、描画用のビットマップデータとオブジェクト種別情報は別々に圧縮される。即ち、バンドバッファ２１１から出力された少なくとも８ライン分のＲＧＢビットマップデータ、オブジェクト種別情報は、圧縮部２１２により数ライン単位に圧縮されてページメモリ２１３に格納される。こうして中間バッファ２０９に記憶されている１ページ分の中間データをレンダリングし、それらが圧縮されてページメモリ２１３に格納された後、伸長部２１４により数ライン単位で読み出されて伸長される。この時、ビットマップデータとオブジェクト種別情報とは別々に読み出されて伸長される。こうして伸長されたデータは、色変換部２１５により、ＲＧＢの各色８ビット（／画素）のビットマップイメージが、ＹＭＣＫの各色４ビット（／画素）のビットマップデータに変換される。
【００２１】
より詳細には、ＲＧＢの各色８ビット（／画素）のビットマップデータをＹＭＣＫの各色１０ビット（／画素）に変換し、ＹＭＣＫの各色１０ビット（／画素）のビットマップデータにガンマ補正を用いてＹＭＣＫの各色１０ビット（／画素）に変換し、更には、ＹＭＣＫの各色１０ビット（／画素）のビットマップデータにハーフトーニング処理を行ってＹＭＣＫの各色４ビット（／画素）に変換する。このとき、描画用のビットマップデータの各ピクセルを色変換する際に、対応する画素のオブジェクト種別情報に応じて色変換方法を切り替える。
【００２２】
具体的には、まず、Ｋのみで印刷するか、ＹＭＣＫの混色で印刷するかを示す上述のオブジェクト種別情報の１ビット（／画素）を参照して、ＲＧＢ各色８ビット（／画素）をＹＭＣＫの各色１０ビット（／画素）に変換する。次に、各画素が文字か図形かイメージかを示す、上述のオブジェクト種別情報の３ビット（／画素）を参照して、ＹＭＣＫの各色１０ビット（／画素）をＹＭＣＫの４ビット（／画素）に変換する。
【００２３】
出力インターフェース部２１６は、ＭＣＹＫのそれぞれのビデオ信号をプリンタ部２１７に出力する。プリンタ部２１７は、出力インターフェース部２１６からの各色のビデオ信号に基づいた画像情報を印刷するページプリンタの印刷機構部分である。
【００２４】
本実施の形態に係るＬＢＰ１００は、ＭＣＹＫの像形成及び現像を並列で行うため、出力インターフェース部２１６は、Ｍ出力インターフェース部、Ｃ出力インターフェース部、Ｙ出力インターフェース部、Ｋ出力インターフェース部の４色分のインターフェース部で構成され、それぞれが独立に色変換部２１５からのイメージデータを獲得してビデオ信号に変換し、各プレーンのレーザドライバ１１０、１２０、１３０、１４０へ出力する。不揮発メモリ（ＮＶＲＡＭ(Non Volatile RAM)）２２０は、一般のＥＥＰＲＯＭ等で構成され、操作パネル１５１を使用してユーザにより設定された設定値などを記憶している。２２１は、ＬＢＰ１００からホストコンピュータ２０１に送信されるデータを示している。尚、ＲＯＭ２１９には、ホストコンピュータ２０１から入力されるデータの解析、中間データの生成、プリンタ部２１７の制御プログラム、及びＹＭＣＫの各色８ビット（／画素）からＹＭＣＫの各色４ビット（／画素）への色変換時に使用するテーブル等も含まれる。
【００２５】
尚、本実施の形態では、印刷装置の一例としてカラーレーザプリンタを例にして説明しているが、カラーインクジェットプリンタ、カラー熱転写プリンタ等のカラープリンタであっても良い。
【００２６】
またレンダラ２１０は、ＲＧＢ各色８ビット（／画素）のビットマップデータを生成するとしたが、このレンダラ２１０は、数ライン単位にＹＭＣＫの各色８ビット（／画素）のビットマップデータを生成してもよい。またレンダラ２１０は、数ライン単位にグレイ８ビット（／画素）のビットマップデータを生成してもよい。また各色のビット（／画素）はどのような値であっても良い。この場合、バンドバッファ２１１、圧縮部２１２、ページメモリ２１３、伸長部２１４は、レンダラ２１０が生成する色空間、ビット（／画素）に対応していれば良い。更に、色変換部２１５は、伸長部２１４で伸長されたデータ、即ち、レンダラ２１０で生成されたデータを、出力インターフェース部２１６に対応する色空間、ビット（／画素）に変換するものであれば良く、例えば色変換部２１５は、レンダラ２１０がＹＭＣＫデータを生成する際、ＹＭＣＫの各色をＹＭＣＫ４ビット（／画素）に変換する。またレンダラ２１０がグレイ８ビット（／画素）のビットマップデータを生成する場合は、圧縮部２１２、伸長部２１４は、グレイ８ビット（／画素）データを圧縮、伸長し、色変換部２１５は、グレイ８ビット（／画素）データをＫの４ビット（／画素）データに変換する。
【００２７】
図３は、本実施の形態に係る中間バッファ２０９に格納される中間データの一例（Ａ）及び本実施の形態に係るレンダラ２１０で生成されるビットマップデータの一例（Ｂ）を示す図である。
【００２８】
図４（Ａ）は、本実施の形態に係るレンダラ２１０で生成されるオブジェクト種別情報の一例を示す図で、図４（Ｂ）は、本実施の形態に係る色変換部２１５で生成される第２ビットマップデータの一例を示す図である。
【００２９】
まず、入力した描画コマンドが文字コマンドか、図形コマンドか、イメージコマンドか、Ｋのみで印刷するか、ＹＭＣＫの混色で印刷するかを判定し、中間バッファ２０９に格納する中間データにそれぞれのフラグを設ける（図３（Ａ））。
【００３０】
具体的には図３に示すように、「Object1」として、属性が文字、色属性がＫ、印刷位置（Ｘ，Ｙ）、フォント名、サイズ、文字コード、色、描画論理を備えている。
【００３１】
「Object2」として、属性が図形、色属性がＫ、印刷位置（Ｘ，Ｙ）、形状が円、半径、色、描画論理を備える。
【００３２】
更に「Object3」として、属性がイメージ、色属性がＹＭＣＫ、印刷位置（Ｘ，Ｙ）、イメージの幅(width)、高さ(height)、イメージの実体へのポインタ(pointer)、描画論理を備える。尚，ここで全てのオブジェクトの描画論理はＳ（上書き）指定である。
【００３３】
このように中間データは、それぞれの描画オブジェクトの形、色、印刷位置の情報を含んでいる。
【００３４】
この中間データをレンダラ２１０により描画すると、描画ビットマップイメージ（図３（Ｂ））と共に、オブジェクト種別情報（図４（Ａ））が得られる。
【００３５】
ここで、ビットマップデータ（図３（Ｂ））は、中間データをＲＧＢの各色を８ビット（／画素）で描画したものである。尚、何も描画されない部分は、白ＲＧＢ＝（0xff,0xff,0xff）で表現される。
【００３６】
ここで、図４（Ａ）のオブジェクト種別情報は、中間データの属性、色属性を用いて４ビット（／画素）で描画したものである。
【００３７】
具体的には、４ビット（／画素）の内容は以下の通りである。
【００３８】
ビット０：色属性がＫであれば「１」、ＹＭＣＫであれば「０」
ビット１：属性がイメージであれば「１」、その他であれば「０」
ビット２：属性が図形であれば「１」、その他であれば「０」
ビット３：属性が文字であれば「１」、その他であれば「０」
よって、図３（Ａ）より、図４（Ａ）の文字領域４０１では、各画素のデータの下位４ビットは「９」（１６進数）、図形領域４０２の各画素データの下位４ビットは「５」（１６進数）、イメージ領域４０３の各画素データの下位４ビットは「２」（１６進数）で表される。また何も描画されない部分は「０ｘ０」で表現される。
【００３９】
こうして最終的に、印刷結果を示すイメージデータの各画素に対応した属性を備える第２ビットマップデータが得られる（図４（Ｂ））。
【００４０】
図３（Ｂ）の第１ビットマップデータから図４（Ｂ）の第２ビットマップデータを生成する際、図４（Ａ）の属性結果に応じて処理パラメータを変更する。
【００４１】
具体的には、オブジェクト種別情報のビット０（Ｋのみで印刷するか、ＹＭＣＫの混色で印刷するかを示す１ビット（／画素）の情報）を用いて、ＲＧＢの各色８ビット（／画素）をＹＭＣＫの各色１０ビット（／画素）に変換する。
【００４２】
ここで、オブジェクト種別情報のビット０が「１」（黒）である画素に相当するビットマップデータの画素値は、Ｒ＝Ｇ＝Ｂの時にＹ＝Ｍ＝Ｃ＝０を保証するルックアップテーブルを用いて、ＲＧＢからＹＭＣＫに変換される。一方、このオブジェクト種別情報のビット０が「０」の場合は、ＹＭＣＫである画素に相当するビットマップデータの画素値は、Ｒ＝Ｇ＝Ｂの時にＹ＝Ｍ＝Ｃ＝０を保証しないルックアップテーブルを用いて、ＲＧＢからＹＭＣＫに変換される。
【００４３】
次に、オブジェクト種別情報のビット１からビット３（各ピクセルが文字か図形かイメージかを示す３ビット（／画素）の情報）を用いて、ＹＭＣＫの各色１０ビット（／画素）をＹＭＣＫ４ビット（／画素）に変換する。
【００４４】
この変換の具体例を説明すると、オブジェクト種別情報のビット１が「１」（イメージ）である画素に相当するビットマップデータの画素は、イメージ用のハーフトーンパラメータを用いて、ＹＭＣＫの各色１０ビット（／画素）をＹＭＣＫ４ビット（／画素）に変換される。
【００４５】
またオブジェクト種別情報のビット２が「１」（図形）である画素に相当するビットマップデータの画素値は、図形用のハーフトーンパラメータを用いて、ＹＭＣＫの各色１０ビット（／画素）をＹＭＣＫ４ビット（／画素）に変換する。
【００４６】
更に、オブジェクト種別情報のビット３が「１」（文字）である画素に相当するビットマップデータの画素は、文字用のハーフトーンパラメータを用いて、ＹＭＣＫの各色１０ビット（／画素）をＹＭＣＫ４ビット（／画素）に変換する。
【００４７】
こうすることにより、領域毎に最適な色変換パラメータ及びハーフトーンパラメータを用いて第２ビットマップデータを生成することができる。
【００４８】
尚、レンダラ２１０がグレイ８ビット（／画素）のビットマップデータを生成する場合は、オブジェクト種別情報のビット０は無視されて、グレイ８ビット（／画素）からＫの１０ビット（／画素）に変換される。
【００４９】
更に、オブジェクト種別情報のビット１からビット３（各ピクセルが文字か図形かイメージかを示す３ビット（／画素）の情報）を用いて、Ｋの各色１０ビット（／画素）をＫ４ビット（／画素）に変換する。
【００５０】
図５は、本実施の形態に係るオブジェクトの種類（文字、図形、イメージ）別の各種パラメータの設定を説明する図である。ここでは文字、図形、イメージ毎に図５に示すような設定が可能である。尚、本実施の形態では、これら各種設定は、ホストコンピュータ２０１のユーザインターフェースを用いて設定され、ホストコンピュータ２０１からプリンタ１００に対して送信される。尚、オブジェクトの種類としては、これ以外にも例えば、細線、小文字等のオブジェクトを指定できるようにしても良い。但し、この場合は、前述のオブジェクト種別情報のビット数、或は各ビットの構成が異なることは言うまでもない。
【００５１】
「Ｋ補償設定」は、「Ｒ＝Ｇ＝ＢをＫに変換することを保証する」（Ｋ補償）を行うか、しないか、もしくは自動で行うかを設定する。「Ｃ補償設定」は、「Ｇ＝Ｂ＝（輝度の最大値）（例えば８ビットデータの場合、Ｇ＝Ｂ＝２５５）をＣに変換することを保証する」（Ｃ補償）を行うかしないか、もしくは自動で行うかを設定する。「Ｍ補償設定」は、「Ｒ＝Ｂ＝（輝度の最大値）をＭに変換することを保証する」（Ｍ補償）をするかしないか、もしくは自動で行うかを設定する。「Ｙ補償設定」は、「Ｒ＝Ｇ＝（輝度の最大値）をＹに変換することを保証する」（Ｙ補償）をするかしないか、もしくは自動で行うかを設定する。「ＣＭ補償設定」は、「Ｂ＝（輝度の最大値）かつＲ＝Ｇ＝０なら、Ｃ＝Ｍ＝（濃度の最大値）、かつＹ＝Ｋ＝０を保証する」（ＣＭ補償）をするかしないか、もしくは自動で行うかを設定する。「ＭＹ補償設定」は、「Ｒ＝（輝度の最大値）かつＧ＝Ｂ＝０なら、Ｍ＝Ｙ＝（濃度の最大値）、かつＣ＝Ｋ＝０を保証する」（ＭＹ補償）をするか、しないか、もしくは自動で行うかを設定する。更に、「ＣＹ補償設定」は、「Ｇ＝（輝度の最大値）かつＲ＝Ｂ＝０なら、Ｃ＝Ｙ＝（濃度の最大値）、かつＭ＝Ｋ＝０を保証する」（ＣＹ補償）をするかしないか、もしくは自動で行うかを設定する。
【００５２】
尚、ここで全ての項目が「する」に設定されていても良い。また「自動」が選択された場合には、予め設定されているデフォルト設定が有効になる。このデフォルト設定は、印刷モードに応じて異なり、例えば通常の文書データの印刷時には、文字の設定、図形の設定において、「Ｋ補償」だけが「する」に設定され、他の補償は「しない」に設定される。またイメージの設定では、全ての補償が「する」に設定される。
【００５３】
また例えば、印刷モードが、ＣＡＤ文書の印刷であれば、文字の設定、図形の設定において、全てのＫ補償が「する」に設定される。またイメージの設定では、全ての補償が「しない」に設定される。
【００５４】
図６は、本発明の実施の形態１に係るプリンタ制御ユニット１０１の処理を説明するフローチャートで、この処理を実行するプログラムはＲＯＭ２１９に記憶されている。
【００５５】
ステップＳ１で描画コマンドを入力するとステップＳ２に進み、その描画コマンドに含まれているオブジェクトの種類（文字、図形、イメージ）を判定する。次にステップＳ３では、ステップＳ２で検知されたオブジェクトの種類と、別途指定されるオブジェクトの種類毎の補償設定（図５）とを比較する。ここで補償設定は、ホストコンピュータ２０１のユーザインターフェースを用いた設定に従って、ジョブチケットを介して受信する。ここでオブジェクトの種類が「補償設定＝する」であればステップＳ４に進むが、そうでないときはステップＳ６に進む。
【００５６】
ステップＳ４では、その描画コマンドの画素値を判定し、補償設定された条件に合致しているか否かを判定し、補償設定された条件に合致していればＳ５に進んで、ＲＧＢから補償値に変換する。尚、この補償条件に合致しているか否かの判定は、Ｋ補償の場合は、Ｒ＝Ｇ＝Ｂであるか、Ｃ補償の場合は、Ｇ＝Ｂ＝（輝度の最大値）かどうか、Ｍ補償の場合は、Ｒ＝Ｂ＝（輝度の最大値）かどうか、Ｙ補償の場合はＲ＝Ｇ＝（輝度の最大値）かどうか、ＣＭ補償の場合は、Ｂ＝（輝度の最大値）で、かつＲ＝Ｇ＝０かどうか、ＭＹ補償の場合は、Ｒ＝（輝度の最大値）でかつＧ＝Ｂ＝０かどうか、そしてＣＹ補償の場合は、Ｇ＝（輝度の最大値）でかつＲ＝Ｂ＝０かどうかを判定するものである。
【００５７】
ステップＳ４で、補償設定条件に合致していなければステップＳ６に進み、ＲＧＢを非補償値（ＣＭＹＫ）に変換する。こうしてステップＳ５或はステップＳ６を実行するとステップＳ７に進み、変換されたデータをディスプレイリストとして、中間バッファ２０９に格納する。そしてステップＳ８で、１ページ分の描画コマンドの処理が終了したか否かを判定し、終了していれば処理を終了し、生成されたディスプレイリストをレンダラ２１０に送付する。もし終了していなければステップＳ１に戻って前述の処理を実行する。尚、この例では、レンダラ２１０はＣＭＹＫ色空間のビットマップを生成する。
【００５８】
尚、ステップＳ６での変換は、予めオブジェクト単位にカラーマッチング方法を指定しておき、オブジェクトの種類に従ってルックアップテーブルを切り替えることによりマッチング方法を切り替えてもよい。この切り替え方法としては、例えばＩＣＣ（International Color Consortium）で規定されているマッチング方法があり、以下の種類が公知である。
【００５９】
Perceptual
Colorimetric
Saturation
またステップＳ４の補償条件と条件に合致した場合のステップＳ５における変換方法は以下の通りである。
【００６０】
Ｋ補償：Ｒ＝Ｇ＝ＢならばＫに変換
Ｃ補償：Ｇ＝Ｂ＝（輝度の最大値）ならばＣに変換
Ｍ補償：Ｒ＝Ｂ＝（輝度の最大値）ならばＭに変換
Ｙ補償：Ｒ＝Ｇ＝（輝度の最大値）ならばＹに変換
ＣＭ補償：Ｂ＝（輝度の最大値）かつＲ＝Ｇ＝０ならば、Ｃ＝Ｍ＝（濃度の最大値）かつＹ＝Ｋ＝０に変換
ＭＹ補償：Ｒ＝（輝度の最大値）かつＧ＝Ｂ＝０ならば、Ｍ＝Ｙ＝（濃度の最大値）かつＣ＝Ｋ＝０に変換
ＣＹ補償：Ｇ＝（輝度の最大値）かつＲ＝Ｂ＝０ならば、Ｃ＝Ｙ＝（濃度の最大値）かつＭ＝Ｋ＝０に変換
このように設定された補償条件に従って補償を行うことにより、単色補償する色がＣ又はＭ又はＹであっても、単色補償することが可能になる。（即ちカラー色材の単色補償が可能となる。）
また、二次色（ＭＣＹＫの内の２つの色材のみを使用して色を表現）の原色補償も可能となる。
【００６１】
次に図７〜図９のフローチャートを参照して、図６のステップＳ５におけるＲＧＢからＭＣＹＫへの補償変換処理について説明する。尚、ここでは図５に示す各補償設定の場合で説明するが、この説明では、説明を簡単にするために印刷モードやオブジェクトの属性に応じた補償変換処理に関する説明は省略している。
【００６２】
図７〜図９は、本発明の実施の形態に係る（図６のステップＳ５）ＲＧＢからＭＣＹＫへの補償変換処理を説明するフローチャートである。
【００６３】
まずステップＳ１０で、ＲＧＢからＭＣＹＫへの通常の変換を行ってＲＡＭ２０５に記憶する。そしてこれ以降の処理で、それぞれの補償が設定されているときは、対応する変換後の画素値を補償変換した値で置き換えるようにしている。従って、以下の処理では、各画素の元のＲＧＢ値が参照されることになる。まずステップＳ１１で、「Ｋ補償」の設定を調べ、「する」であればステップＳ１３に、「自動」であればステップＳ１２に、そして「しない」であればステップＳ１５にそれぞれ進む。ステップＳ１２では、デフォルトで「Ｋ補償」が設定されているかを調べ、設定されていなければステップＳ１５に進むが、設定されていればステップＳ１３に進み、Ｋ補償の条件であるＲ＝Ｇ＝Ｂを満足している画素があるかどうかを判定し、あればステップＳ１４に進み、ＲＡＭ２０５に記憶されているその画素の値をＫ（Ｍ＝Ｃ＝Ｙ＝０）に変換してステップＳ１５に進む。ステップＳ１３でＫ補償の条件を満足していないときはステップＳ１５に進む。
【００６４】
次にステップＳ１５では、「Ｃ補償」の設定を調べ、「する」であればステップＳ１７に、「自動」であればステップＳ１６に、そして「しない」であればステップＳ１９にそれぞれ進む。ステップＳ１６では、デフォルトで「Ｃ補償」が設定されているかを調べ、設定されていなければステップＳ１９に進むが、設定されていればステップＳ１７に進み、Ｃ補償の条件であるＧ＝Ｂ＝（輝度最大値）を満足している画素があるかどうかを判定し、あればステップＳ１８に進み、ＲＡＭ２０５に記憶されているその画素のＧ＝Ｂの値をＣに変換してステップＳ１９に進む。またステップＳ１７でＣ補償の条件を満足していないときはステップＳ１９に進む。
【００６５】
次にステップＳ１９では、「Ｍ補償」の設定を調べ、「する」であればステップＳ２１に、「自動」であればステップＳ２０に、そして「しない」であればステップＳ２３（図８）にそれぞれ進む。ステップＳ２０では、デフォルトで「Ｍ補償」が設定されているかを調べ、設定されていなければステップＳ２３に進むが、設定されていればステップＳ２１に進み、Ｍ補償の条件であるＲ＝Ｂ＝（輝度最大値）を満足している画素があるかどうかを判定し、あればステップＳ２２に進み、ＲＡＭ２０５に記憶されているその画素のＲ＝Ｂの値をＭに変換してステップＳ２３に進む。またステップＳ２１でＭ補償の条件を満足していないときもステップＳ２３に進む。
【００６６】
次に図８のステップＳ２３では、「Ｙ補償」の設定を調べ、「する」であればステップＳ２５に、「自動」であればステップＳ２４に、そして「しない」であればステップＳ２７にそれぞれ進む。ステップＳ２４では、デフォルトで「Ｙ補償」が設定されているかを調べ、設定されていなければステップＳ２７に進むが、設定されていればステップＳ２５に進み、Ｙ補償の条件であるＲ＝Ｇ＝（輝度最大値）を満足している画素があるかどうかを判定し、あればステップＳ２６に進み、ＲＡＭ２０５に記憶されているその画素のＲ＝Ｇの値をＹに変換してステップＳ２７に進む。またステップＳ２５でＹ補償の条件を満足していないときもステップＳ２７に進む。
【００６７】
次にステップＳ２７では、「ＣＭ補償」の設定を調べ、「する」であればステップＳ２９に、「自動」であればステップＳ２８に、そして「しない」であればステップＳ３１にそれぞれ進む。ステップＳ２８では、デフォルトで「ＣＭ補償」が設定されているかを調べ、設定されていなければステップＳ３１に進むが、設定されていればステップＳ２９に進み、ＣＭ補償の条件であるＢ＝（輝度最大値）でかつＲ＝Ｇ＝０を満足している画素があるかどうかを判定し、あればステップＳ３０に進み、ＲＡＭ２０５に記憶されているその画素のＣ＝Ｍの値を最大値、Ｙ＝Ｋ＝０に変換してステップＳ３１に進む。またステップＳ２９でＣＭ補償の条件を満足していないときもステップＳ３１に進む。
【００６８】
次にステップＳ３１では、「ＭＹ補償」の設定を調べ、「する」であればステップＳ３３に、「自動」であればステップＳ３２に、そして「しない」であればステップＳ３５（図９）にそれぞれ進む。ステップＳ３２では、デフォルトで「ＭＹ補償」が設定されているかを調べ、設定されていなければステップＳ３５に進むが、設定されていればステップＳ３３に進み、ＭＹ補償の条件であるＲ＝（輝度最大値）でかつＢ＝Ｇ＝０を満足している画素があるかどうかを判定し、あればステップＳ３４に進み、ＲＡＭ２０５に記憶されているその画素のＭ＝Ｙの値を最大値に、Ｃ＝Ｋ＝０に変換してステップＳ３５に進む。またステップＳ３３でＭＹ補償の条件を満足していないときもステップＳ３５に進む。
【００６９】
最後のＣＹ補償では、ステップＳ３５で「ＣＹ補償」の設定を調べ、「する」であればステップＳ３７に、「自動」であればステップＳ３６に、そして「しない」であれば、この処理を終了する。ステップＳ３６では、デフォルトで「ＣＹ補償」が設定されているかを調べ、設定されていなければ処理を終了するが、設定されていればステップＳ３７に進み、ＣＹ補償の条件であるＣ＝（輝度最大値）でかつＲ＝Ｂ＝０を満足している画素があるかどうかを判定し、あればステップＳ３８に進み、ＲＡＭ２０５に記憶されているその画素のＣ＝Ｙの値を最大値に、Ｍ＝Ｋ＝０に変換して処理を終了する。またステップＳ３７でＣＹ補償の条件を満足していないときも、このまま処理を終了する。
【００７０】
以上説明したように本実施の形態１によれば、ＲＧＢから印刷装置で使用される色材の色、例えばＭＣＹＫに変換する際、印刷対象であるオブジェクトに応じて印刷装置で使用される各色材の色への変換方法を指定して印刷を行わせることができる。
【００７１】
［実施の形態２］
前述の実施の形態１では、入力データの色空間をＲＧＢとしたがＣＭＹＫとしても良い。この場合の各オブジェクトごとの補償設定のユーザインターフェースは、前述の図５と同様にして行うことができる。また、この実施の形態２に係るプリンタの構成は前述の実施の形態１と同じであるための、その説明を省略する。
【００７２】
図１０は、本発明の実施の形態２に係るプリンタ制御ユニット１０１の処理を説明するフローチャートで、この処理を実行するプログラムはＲＯＭ２１９に記憶されている。
【００７３】
ステップＳ４１で描画コマンドを入力するとステップＳ４２に進み、その描画コマンドに含まれているオブジェクトの種類（文字、図形、イメージ）を判定する。次にステップＳ４３では、ステップＳ４２で検知されたオブジェクトの種類と、別途指定されるオブジェクトの種類毎の補償設定（図５）とを比較する。ここで補償設定は、ホストコンピュータ２０１のユーザインターフェースを用いた設定に従って、ジョブチケットを介して受信する。ここでオブジェクトの種類が「補償設定＝する」であればステップＳ４４に進むが、そうでないときはステップＳ４６に進む。
【００７４】
ステップＳ４５では、ＣＭＫＹを補償値に変換してステップＳ４７に進む。一方、ステップＳ４６では、ＣＭＹＫを非補償値（ＣＭＹＫ）に変換してステップＳ４７に進む。ステップＳ４７では、変換されたデータをディスプレイリストとして、中間バッファ２０９に格納する。ステップＳ４８は、描画コマンドがページ内で終了か否かを検知する。もし終了であれば処理を終了し、生成されたディスプレイリストをレンダラ２１０に送付する。もし終了でなければステップＳ４１に戻る。
【００７５】
この場合レンダラ２１０は、ＣＭＹＫ色空間のビットマップを生成する。尚、ステップＳ４６の変換は、予めオブジェクト単位にカラーマッチング方法を指定しておき、オブジェクトの種類に従ってルックアップテーブルを切り替えることによりマッチング方法を切り替えてＣＭＹＫからＣＭＹＫに変換する。この切り替え方法としては、例えばＩＣＣで規定されているマッチング方法が適用でき、それらは以下の通りである。
【００７６】
Perceptual
Colorimetric
Saturation
またステップＳ４４の補償条件と条件に合致した場合の変換方法は以下のとおりである。
【００７７】
Ｋ補償：Ｃ＝Ｍ＝ＹならばＫのみに変換
Ｃ補償：Ｍ＝Ｙ＝Ｋ＝０ならばＣに変換
Ｍ補償：Ｃ＝Ｙ＝Ｋ＝０ならばＭに変換
Ｙ補償：Ｃ＝Ｍ＝Ｋ＝０ならばＹに変換
ＣＭ補償：Ｃ＝Ｍ＝濃度の最大値（８ビット／画素なら「２５５」）、かつＹ＝Ｋ＝０ならば色変換なし
ＭＹ補償：Ｍ＝Ｙ＝２５５かつＣ＝Ｋ＝０ならば色変換なし
ＣＹ補償：Ｃ＝Ｙ＝２５５かつＭ＝Ｋ＝０ならば色変換なし
このように詳細な補償設定を可能にすることにより、単色補償する色がデバイスのＣまたはＭまたはＹに対しても単色補償することが可能になる。
【００７８】
また二次色（デバイスの２つの色材のみを使用して色を表現）の原色補償も可能となる。尚、ステップＳ４５におけるＣＭＹＫからの補償変換処理は、基本的には前述の実施の形態１のフローチャート（図７〜図９）と同様にして実現できるため、その説明を省略する。
【００７９】
［他の実施の形態］
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【００８１】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態に係る画像処理装置の一例であるカラーレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。
【図２】本実施の形態に係るＬＢＰのプリンタ制御ユニットの概略構成を示すブロック図である。
【図３】本実施の形態に係る中間バッファ２０９に格納される中間データの一例（Ａ）及び本実施の形態に係るレンダラ２１０で生成されるビットマップデータの一例（Ｂ）を示す図である。
【図４】本実施の形態に係るレンダラで生成されるオブジェクト種別情報の一例（Ａ）、及び色変換部で生成される第２ビットマップデータの一例（Ｂ）を示す図である。
【図５】本実施の形態に係るオブジェクトの種類（文字、図形、イメージ）別の各種パラメータの設定を説明する図である。
【図６】本発明の実施の形態１に係るプリンタ制御ユニットの処理を説明するフローチャートである。
【図７】本発明の実施の形態に係る（図６のステップＳ５）ＲＧＢからＭＣＹＫへの補償変換処理を説明するフローチャートである。
【図８】本発明の実施の形態に係る（図６のステップＳ５）ＲＧＢからＭＣＹＫへの補償変換処理を説明するフローチャートである。
【図９】本発明の実施の形態に係る（図６のステップＳ５）ＲＧＢからＭＣＹＫへの補償変換処理を説明するフローチャートである。
【図１０】本発明の実施の形態２に係るプリンタ制御ユニットの処理を説明するフローチャートである。
【図１】
2005354414.tif 000003
【図２】
2005354414.tif 000004
【図３】
2005354414.tif 000005
【図４】
2005354414.tif 000006
【図５】
2005354414.tif 000007
【図６】
2005354414.tif 000008
【図７】
2005354414.tif 000009
【図８】
2005354414.tif 000010
【図９】
2005354414.tif 000011
【図１０】
2005354414.tif 000012