(57)【要約】【課題】  特色とそれ以外の色との重なり、例えば特色とRGB色やCMYK色を組み合わせた場合の色を計算する手法は確立されていない。【解決手段】  RGB値（またはCMYK値）および特色を、ICCプロファイル140および特色テーブル139を参照してLab値に変換し(S102)、分光DB 138を参照してLab値を混色用の色空間のCMYデータに変換し(S103)、分光DB 138を参照してCMYデータに対応する分光データを取得し(S104)、取得した分光データによって混色の分光データを計算し(S105)、混色の分光データをLab値に変換する(S106)。【選択図】  図6
2006173801.tif 000002
【特許請求の範囲】
【請求項１】
色データおよび特色データに対応する分光データを格納するメモリと、
画像データをレンダリングするレンダリング手段と、
前記レンダリングにより前記色データが表す色と前記特色データが表す色が混色する混色領域を検出する検出手段と、
前記混色領域における色データおよび特色データの分光データを前記メモリから取得し、取得した分光データを合成し、合成結果の分光データを描画用の色データに変換して前記レンダリング手段に供給する供給手段とを有することを特徴とする画像処理装置。
【請求項２】
前記メモリは、前記色データおよび前記特色データを前記描画用の色データに変換する第一のテーブル、前記描画用の色データを混色用の色空間の色データに変換する第二のテーブル、並びに、前記混色用の色空間の色データと前記分光データの関係を示す第三のテーブルを有することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
さらに、色校正用の画像データを入力する入力手段と、
前記レンダリング手段によって生成された印刷データを印刷装置に出力する出力手段とを有することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記色データはRGBデータまたはCMYKデータであることを特徴とする請求項1から請求項3の何れかに記載された画像処理装置。
【請求項５】
色データおよび特色データに対応する分光データを格納するメモリ、並びに、画像データをレンダリングするレンダリング手段を有する画像処理装置の画像処理方法であって、
前記レンダリングにより前記色データが表す色と前記特色データが表す色が混色する混色領域を検出し、
前記混色領域における色データおよび特色データの分光データを前記メモリから取得し、
取得した分光データを合成し、
合成結果の分光データを描画用の色データに変換して前記レンダリング手段に供給することを特徴とする画像処理方法。
【請求項６】
前記分光データの取得は、前記メモリに格納された第一のテーブルにより、前記色データおよび前記特色データを前記描画用の色データに変換するステップと、
前記メモリに格納された第二のテーブルにより、前記描画用の色データを混色用の色空間の色データに変換するステップと、
前記メモリに格納された第三のテーブルにより、前記混色用の色空間の色データに対応する前記分光データを取得するステップを有することを特徴とする請求項5に記載された画像処理方法。
【請求項７】
画像処理装置を制御して、請求項5または請求項6に記載された画像処理を実現することを特徴とするプログラム。
【請求項８】
請求項7に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、特色を含む混色領域を色再現する画像処理に関する。
【背景技術】
【０００２】
一般に印刷、出版における作業では、本印刷の前に、校正印刷機、電子写真方式またはインクジェット方式のカラープリンタ、あるいは、パーソナルコンピュータ(PC)などのモニタにより色校正を行う。その際に必要な技術は、本印刷で用いる印刷機の色を正確に再現するカラーシミュレーションに関する技術である。
【０００３】
印刷機は、一般にシアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の四色の色材による減法混色で色を表現し、この四色をプロセスカラーと呼ぶ。カラーシミュレーションを行うプリンタなどは、印刷機のプロセスカラーによる混色をカラーマネージメント技術により再現することができる。すなわち、デバイスの特性を記述したデータベースであるプロファイルを用いて、デバイス間の色再現性の違いを吸収し、さらに、例えばデバイスAで他のデバイスBの特性をシミュレートすることができる。印刷の色校正に当て嵌めると、デバイスAがシミュレーション用のプリンタやモニタ、デバイスBが印刷機に相当する。
【０００４】
さらに、印刷機はプロセスカラーのほかに特色インクと呼ばれるプロセスカラー以外の色材を用いることがある。これは、プロセスカラーの合成では再現が難しい色を使いたい場合や、コストを抑えるためである。この特色をプリンタなどでシミュレートするには、まず特色の名前に基づき、特色をL*a*b*などのデバイスに依存しない色空間（DIC空間）の色値（Lab値）で表現し、そのLab値をCMYK値などデバイスに依存する色空間の値へ変換する。
【０００５】
二つの特色が重なった（合成された）色（以下「特色合成色」と呼ぶ）を計算する手法は確立されていないが、例えば、特色合成色を再現する方法として、DIC空間上で二つの特色の色値から一つの色値を何らかの方法で計算する方法が考えられる。しかし、この計算は近似的には正しい値を与えるかもしれないが、正確な計算手法とはいえない。例えば、ある特色をCMYK値へ変換したときのシアン値が90%、また別の特色をCMYK値へ変換したときのシアン値が80%であったとすると、これら二つの特色を合成したときのシアン値は単純に濃度を足し算すれば170%になるが、濃度値の上限は100%であり、矛盾が生じる。
【０００６】
また、DIC空間の場合でも、カラーマネージメントでよく扱われるL*a*b*やXYZなどの色空間は非線形であるため、和算や乗算などで色の合成を計算することは原理上できない。
【０００７】
また、特色合成色だけでなく、特色とそれ以外の色との重なり、例えば特色とRGB色やCMYK色を組み合わせた場合の色（以下「合成色」と呼ぶ）を計算する手法も確立されていない。
【０００８】
【特許文献１】特開平4-362869号公報
【特許文献２】特開2001-136401公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、特色を含む混色領域を正確に色再現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる画像処理装置は、色データおよび特色データに対応する分光データを格納するメモリと、画像データをレンダリングするレンダリング手段と、前記レンダリングにより前記色データが表す色と前記特色データが表す色が混色する混色領域を検出する検出手段と、前記混色領域における色データおよび特色データの分光データを前記メモリから取得し、取得した分光データを合成し、合成結果の分光データを描画用の色データに変換して前記レンダリング手段に供給する供給手段とを有することを特徴とする。
【００１２】
本発明にかかる画像処理方法は、色データおよび特色データに対応する分光データを格納するメモリ、並びに、画像データをレンダリングするレンダリング手段を有する画像処理装置の画像処理方法であって、前記レンダリングにより前記色データが表す色と前記特色データが表す色が混色する混色領域を検出し、前記混色領域における色データおよび特色データの分光データを前記メモリから取得し、取得した分光データを合成し、合成結果の分光データを描画用の色データに変換して前記レンダリング手段に供給することを特徴とする。
【００１３】
好ましくは、前記メモリは、前記色データおよび前記特色データを前記描画用の色データに変換する第一のテーブル、前記描画用の色データを混色用の色空間の色データに変換する第二のテーブル、並びに、前記混色用の色空間の色データと前記分光データの関係を示す第三のテーブルを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、特色を含む混色領域を正確に色再現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００１６】
［プリンティングサーバの構成］
図1は実施例1のプリンティングサーバの構成例を示すブロック図である。
【００１７】
プリンティングサーバ120は、例えば、CPU、RAM、ROMを有するコンピュータ機器に後述する処理を実行するソフトウェアを供給することで実現することができるが、勿論、後述する各機能ブロックをハードウェアで構成し、それら機能ブロックを組み合わせることでも実現可能である。
【００１８】
プリンティングサーバ120は、ネットワークインタフェイスカード(NIC) 127を介してネットワーク101に接続し、クライアントPC 100から特色の情報を含むページ（またはバンド）記述言語で記述されたデータ（以下「PDLデータ」と呼ぶ）を受信し、PDLデータをレンダリングしたCMYK値の出力データをプリンタ102に送り、印刷を実行する。なお、プリンティングサーバ120は、プリンタ102により色校正を行う場合はCMYK値のデータを出力するが、モニタにより色校正を行う場合はRGB値のデータを出力する。
【００１９】
プリンティングサーバ120の印刷応答処理部121は、ネットワーク101から入力されるクライアントPC 100の印刷要求に応答し、クライアントPC 100が送信するPDLデータの受信処理を行う。スプーリング処理部122は、印刷応答処理部121が受信したPDLデータを、プリンティングサーバ120内のRAMやハードディスクなどのメモリに割り当てたスプール領域に、一時的に格納する。印刷処理部123は、詳細は後述するが、スプール領域からPDLデータを読み出し、解析し、レンダリングする。また、制御部126は、システムバス128を介して、上記各部の処理を統括的に制御する。
【００２０】
図2は印刷処理部123の構成例を示すブロック図である。
【００２１】
印刷処理部123に読み込まれたPDLデータ134は、インタプリンタ130により解析され、中間コードに変換され、中間コード処理部131により必要な処理、例えば、並べ替え、面付け処理等が施された後、レンダリング処理部132により描画処理されて出力データ135として出力される。レンダリング処理部132は、入力した中間コードの文字、線画、図形、表などのオブジェクトを調べ、オブジェクトが重なる部分（重複領域）は重複領域処理部136に処理させる。
【００２２】
インタプリンタ130、中間コード処理部131およびレンダリング処理部132はそれぞれ、印刷処理部123を制御する制御部133を介して、重複領域処理部136を呼び出すことができる。なお、制御部133は、インタプリンタ130、中間コード処理部131およびレンダリング処理部132による上記呼び出しを排他的に制御する。従って、例えばインタプリンタ130が上記呼び出しを行う場合は、他の中間コード処理部131やレンダリング処理部132は上記呼び出しを行うことはできない。
【００２３】
この排他的制御は、不揮発性のメモリに記憶されたプリンティングサーバ120の設定を参照する制御部126によって実行される。つまり、制御部126は、インタプリンタ130、中間コード処理部131およびレンダリング処理部132の何れが上記呼び出しを行うかを、印刷処理部123に設定する。従って、例えばクライアントPC 100からプリンティングサーバ120を設定することで、インタプリンタ130、中間コード処理部131およびレンダリング処理部132の何れが上記呼び出しを行うかを適宜切り替えることができる。なお、以下では、レンダリング処理部132が上記の呼び出しを行うとして説明する。
【００２４】
重複領域処理部136は、入力されたPDLデータ134または中間コードを参照して文字、線画、図形、表などのオブジェクトなどを調べ、オブジェクトが重なる部分（重複領域）に関して重複領域処理を実行するとともに、特色が指定されているオブジェクトに対しては、その特色に対応する色値（例えばLab値）を特色テーブル137から取得する。なお、特色データは、特色の名前（例えばオレンジ色、グリーン色、レッド色などの名称や、マンセル記号、PANTONE(R)名など）の文字列で構成されているので、重複領域処理部136は、特色データの文字列に対応する色値を特色テーブル139から取得する。
【００２５】
重複領域がある場合、重複領域処理部136は、混色処理部137を呼び出し、オブジェクトの色を指定して重複領域の色値を計算する。その際、混色処理部137は、詳細は後述するが、分光データベース(DB) 138を参照して重複領域の色値を算出する。
【００２６】
なお、上記の特色テーブル139および分光DB 138は、プリンティングサーバ120のハードディスクなどのメモリに格納されている。
【００２７】
このようにして算出された特色の色値および重複領域の色値は、重複領域処理部136および制御部133を介してレンダリング処理部132に通知される。レンダリング処理部132は、取得した色値に基づきレンダリング処理を行い重複領域の色に対応するCMYK値などの出力データ135を生成する。
【００２８】
［重複領域の分割］
図3はレンダリング処理を説明する概念図である。
【００２９】
中間データに含まれる図形データは、図形の透明属性により適用する処理が異なる。不透明な図形の場合は、重複領域を特定する必要はない。例えば、図3に示す青色の四角形Aを描画した後、その上に、赤色の四角形Bを重ねて描画する場合、両四角形の重畳領域は、四角形Bの赤色で上書きされるため、重畳領域の色を処理する必要はない。言い換えれば、不透明な図形に関しては、重複領域を特定し分割する必要はない。
【００３０】
一方、透明な図形の場合は、重複領域は、重なる色（混色）で描画する必要があり、その領域を特定し分割する必要がある。例えば、図3に示す赤色の三角形Cに、青色の三角形Dを重ねた場合は、重複領域C+Dの色は紫色になるので、重復領域C+Dは紫色で描画する必要があり、重複領域C+Dを特定し分割する。
【００３１】
［重複領域処理部］
図10は重複領域処理部136の処理を説明する図で、処理対象の図形データリストから、重複領域を抽出する処理を示す概略図である。なお、本システムにおいて図形データは、リスト構造体の形態でプリンティングサーバ120のメモリなどに保持され、適宜、各処理部によって処理されるように構成されている。
【００３２】
まず、図10に示すように、図形データ（S1、S2、…、Sn）は重複領域処理部136によって、非重複領域のオブジェクトリスト（P1、P2、…、Pn）と、重複領域のオブジェクトリスト（L1、L2、…、Ln）に分離される。ここで非重複領域のオブジェクトとは、描画の際に、他のオブジェクトと重複する領域をもたないオブジェクトのことである。一方、重複領域のオブジェクトとは、オブジェクト同士が重なる部分（例えば、図3に示す三角形CとDが重なった四角形の領域）を指す。
【００３３】
図形データ（S1、S2、…、Sn）それぞれは、色空間（例えばRGB色空間、CMYK色空間または特色カラー空間等）と、そのカラー値（例えば(255, 0, 0)などの数値や、特色を示す文字列「RED」等）が指定されている。非重複領域のオブジェクトの場合は、図形データ（S1、S2、…、Sn）における指定色を継承し、オブジェクトリストを構成する。一方、重複領域のオブジェクトの場合は、重複領域の色（混色）を新たに計算する必要があり、オブジェクトリスト（L1、L2、…、Ln）を構成した時点で描画色は決定していない。この描画色を決定するために、この後の処理により、当該オブジェクトの色（混色値）を計算する。なお、混色を計算するために、重複図形を構成する元の図形の色値を保持する必要がある。
【００３４】
例えば、図3に示すように、三角形CとDが重なる場合を考える。三角形Cの図形データは、図形リスト上のオブジェクトS1である。オブジェクトS1の色指定は、色空間として「特色カラー空間」が指定され、描画色として文字列の「RED」が指定されている。また、三角形Dの図形データは、図形リスト上のオブジェクトS2である。オブジェクトS2の色指定は、色空間として「特色カラー空間」が指定され、描画色として文字列の「BLUE」が指定されている。
【００３５】
この二つの図形が重なった重複図形がオブジェクトL1である場合、「RED」と「BLUE」という二つのカラー情報がオブジェクトL1のカラー情報として登録される。つまり、重複図形に登録されるカラー情報は、図形データ(S1、S2)それぞれのオブジェクトの色空間（この例では特色カラー空間）と、その色値（この例では色を表す文字列「RED」と「BLUE」）になる。
【００３６】
本実施例では、混色を計算する際、各色空間別に混色計算処理を適宜切り替えるよう構成する。すなわち、カラー情報が、RGB値である場合はRGBカラーの混色計算処理、CMYK値である場合はCMYKカラーの混色計算処理、特色である場合は特色の混色計算処理が適用される。
【００３７】
図11は重複領域処理部136の処理を説明するフローチャートである。
【００３８】
まず、処理対象の図形データリストを取得し(S510)、非重複領域のオブジェクトリストと重複流域のオブジェクトリストの二つを含むデータリスト（DESTリスト）を初期化し(S511)、図形データリストの中から、最初の図形をDESTリストへコピーし(S512)、ループ処理を開始するためにループ条件を初期化し(S513)、ループ処理が終了か否かを判定する(S514)。
【００３９】
ループ処理が終了と判定した場合は重複領域を抽出する処理を終了するが、未了の場合は、図形データリストの中から、次の図形をDESTリストへコピーし(S515)、DESTリストのリスト情報や登録済みのオブジェクト数などを確認し(S516)、DESTリストに登録済みの図形群と、ステップS515でDESTリストにコピーした図形を比較するために、図形属性（透過属性）の判断や位置情報の比較を行い(S517)、比較の結果、図形分割が必要か否かを判定する(S518)。
【００４０】
図形分割が必要な場合は、各図形を形成する線情報等から、図形の分割領域を求める処理を行い、ステップS515でDESTリストにコピーした図形に対して分割処理を行い(S519)、分割処理の結果に基づき、非重複領域および重複領域部の図形（オブジェクト）を作成する(S520)。そして、ステップS515でコピーした図形、または、ステップS520で作成した図形をDESTリストへ登録し(S521)、処理をステップS514へ戻す。
【００４１】
なお、ステップS514は、直前のステップS515で取得した図形が図形データリスト上の最後の図形である場合、ループ処理を終了と判定するように構成する。
【００４２】
［分光DBの作成］
図4は分光DB 138の作成方法を説明する図である。
【００４３】
例えばCMYの三色の色材によって再現される色を測色するには、図4に示すように、各色の濃度を段階的に変化させたパッチを印刷する。なお、実施例1では、CMY色空間を混色用の色空間として用いる。パッチは、理想的には色校正対象の印刷機と記録紙の組み合わせで印刷することが好ましいが、近似的には他のプリンタ（例えばプリンタ102）と汎用の記録紙の組み合わせで印刷してもよい。
【００４４】
各色の濃度を0から100%の範囲で25%刻みに変化させた場合に、一つの色に付き五つのパッチが得られ、三つの色の組み合わせにより125個のパッチをもつサンプルチャート301ができあがる。従って、図4に示すように、Yの濃度を固定して他の二つの色の濃度を変化させた25個のパッチを有するカラーチャートを、Yの濃度を変化させた分を組み合わせた、五枚組のカラーチャート301を作成する。そして、測色機302により、可視域で例えば5または10nmごとに、サンプルチャート301を測色すれば、三つの色の濃度値の組み合わせ分の、可視域の分光反射率を示す分光データ303を得ることができる。勿論、各パッチの濃度値間の分光データも、分光データ303の補間計算により求めることができる。
【００４５】
図5は分光データの補間計算を説明する図である。
【００４６】
図5に示すサンプルチャート301は、例えば、縦方向にC色が、横方向にM色、奥行方向にY色が配置されているとする。以下では、CMYそれぞれの濃度が60%、70%、10%（以下「(0.6, 0.7, 0.1)」と表記する）の場合の分光データNを計算する。
【００４７】
まず、Y=0%のカラーチャート301aのパッチP1'、P2'、P3'、P4'の分光データを下記とする。
P1'(0.5, 0.5, 0) = P1
P2'(0.75, 0.5, 0) = P2
P3'(0.5, 0.75, 0) = P3
P4'(0.75, 0.75, 0) = P4
【００４８】
同様に、Y=25%のカラーチャート301bのパッチP5'、P6'、P7'、P8'の分光データを下記とすると、これら八つのパッチの中間に位置するパッチの測色値を求めればよい。
P5'(0.5, 0.5, 0.25) = P5
P6'(0.75, 0.5, 0.25) = P6
P7'(0.5, 0.75, 0.25) = P7
P8'(0.75, 0.75, 0.25) = P8
【００４９】
補間計算の進め方としては、P1'からP5'のY色の濃度変化に応じてY=10%、つまり(0.5, 0.5, 0.1)における分光データL1を線形補間で求める。同様に、P2'からP6'のY色の濃度変化に応じてY=10%、つまり(0.75, 0.5, 0.1)における分光データL2を線形補間で求める。同様に、P3'からP7'のY色の濃度変化に応じてY=10%、つまり(0.5, 0.75, 0.1)における分光データL3を線形補間で求める。同様に、P4'からP8'のY色の濃度変化に応じてY=10%、つまり(0.75, 0.75, 0.1)における分光データL4を線形補間で求める。
【００５０】
そして、L1からP2に対応するC色の濃度変化（50→75%）に応じてC=60%、つまり(0.6, 0.5, 0.1)における分光データM1を線形補間で求め、同様に、L3からL4に対応するC色の濃度変化（50→75%）に応じてC=60%、つまり(0.6, 0.75, 0.1)における分光データM2を線形補間で求め、最後に、M1からM2に対応するM色の濃度変化（50→75%）に応じてM=70%、つまり(0.6, 0.5, 0.1)の分光データNを線形補間で求める。
【００５１】
さて、分光DB 138に登録するのは、分光データ303（138a）だけでなく、描画用の色値（例えばLab値）をCMY値に変換するための三次元テーブルも必要である。そこで、上記の補間計算により、測色結果の分光データ303から三次元テーブルのグリッド値（例えばLab値）に対応するCMY値を予測してLab-CMY変換テーブル138bを作成し、分光DB 138に登録する。
【００５２】
なお、分光データから例えばLab値への変換は色彩工学辞典などに記載されているが、分光データに等色関数を掛けた三つの色知覚刺激特性をそれぞれ積分してXYZ値に変換し、XYZ値をLab値に変換すればよい。
【００５３】
［混色処理部］
図6は混色処理部137の処理を示すフローチャートである。
【００５４】
まず、重複領域処理部136から色データ（RGBデータ、CMYKデータまたは特色データ）を受信し(S101)、色データを描画用のLab値に変換する(S102)。その際、RGBデータおよびCMYKデータはICCプロファイル140（プリンティングサーバ120のハードディスクなどのメモリに格納されている）を参照してLab値に変換する。また、特色データは、特色の名前（例えばオレンジ色、グリーン色、レッド色などの名称や、マンセル記号、PANTONE(R)名など）の文字列で構成されているので、混色処理部137は、特色データの文字列に対応するLab値を特色テーブル139から取得する。
【００５５】
次に、分光DB 138のLab-CMY変換テーブル138bを参照して、Lab値を混色用のCMY色空間のCMY値に変換する(S103)。なお、Lab-CMY変換テーブル138bの刻み値に一致するLab値の場合は、そのLab値をLab-CMY変換テーブル138bに入力すれば対応するCMY値が得られるが、刻み値に一致しない場合は、そのLab値の近傍のグリッド上の値をLab-CMY変換テーブル138bに入力して、上記と同様の補間計算または四面体補間に必要な複数のCMY値を取得し、補間計算により対応するCMY値を得る。
【００５６】
次に、混色用のCMY色空間に変換された各色に対応する分光データを、分光データ138aから（必要ならば補間計算して）取得し(S104)、混色の分光データを計算し(S105)、混色の分光データをLab値に変換し(S106)、Lab値を重複領域処理部136に出力する(S107)。ステップS105における混色の分光データの計算は次のとおりである。
【００５７】
分光データは可視域（例えば、360〜760nm）の、ある波長におけるパッチの反射率を示す反射率データの集合として測定してある。従って、二つの色の、ある波長における反射率が80%および60%であれば、その波長における混色の反射率は0.8×0.6=0.48と計算することができる。
【００５８】
このようにして、可視域について、二つの色の混色の反射率を計算して混色の反射率データの集合を得れば、上述したように、それらからXYZ値、そしてLab値を得ることができる。なお、二つの色に限らず、任意の色の組み合わせの混色のLab値を計算することが可能である。すなわち、元のデータがRGBデータ、CMYKデータ、あるいは、特色データであっても、それぞれの色を混色用のCMY色空間上で表現することで、各色に対応する分光データを取得して、それらの混色結果（混色後の分光データおよびLab値）を正確に計算することができる。
【実施例２】
【００５９】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００６０】
［印刷処理部］
図7は実施例2のプリンティグサーバ120における印刷処理部123の構成例を示すブロック図である。
【００６１】
印刷処理部123に読み込まれたPDLデータ134は、インタプリンタ130により解析され、中間コードに変換され、中間コード処理部131により必要な処理、例えば、並べ替え、面付け処理等が施された後、レンダリング処理部132により描画処理されて出力データ135として出力される。その際、中間コード処理部131は、入力した中間コードの文字、線画、図形、表などのオブジェクトを調べ、オブジェクトが重なる部分（重複領域）は重複領域処理部136に処理させる。
【００６２】
重複領域処理部136は、重複領域においてRGBデータ（またはCMYKデータ）と特色データが重なる部分について、中間コードを参照してRGBデータおよび特色データを特色処理部124に指示し、詳細は後述するが、分光データベース(DB)125に格納された分光データに基づき混色の色値（例えばLab値）を取得する。なお、分光DB 125は、プリンティングサーバ120のハードディスクなどのメモリに格納されている。
【００６３】
このようにして、中間コード処理部131は、重複領域の特色を含む混色の色値を得ることができ、得られた色値を中間コードに埋め込んでレンダリング処理部132に渡す。レンダリング処理部132は、中間コード処理部131から受け取った中間コードに基づきレンダリングを行い、重複領域の特色を含む混色に対応するCMYK値などの出力データ135を生成する。
【００６４】
［特色処理部］
図8は特色処理部124の処理を示すフローチャートである。
【００６５】
まず、重複領域処理部136からRGBデータ（またはCMYKデータ）および特色データを受信し(S201)、それら色データを分光データに変換する(S202)。その際、RGBデータは、分光DB 125内のRGB-分光データ変換テーブル125aを参照して、分光データに変換する。また、特色データは、特色の名前および濃度値に対応する分光データを、分光DB 125内の特色-分光データ変換テーブル125bを参照して取得する。
【００６６】
RGB-分光データ変換テーブル125aの作成方法は後述する。また、特色-分光データ変換テーブル125bの作成方法の基本は、実施例1で説明した測色と同じであるが、特色としては、おおよそ数千色程度が利用されてるので、それらの特色のサンプルチャート301を作成し測色する。そして、測色結果のテーブルデータを分光DB 125に登録しておく。
【００６７】
なお、測色テーブル125a、125bの刻み値に一致するデータの場合は、そのデータを測色テーブル125a、125bに入力すれば当該データに対応する分光データが得られるが、刻み値に一致しない場合は、そのデータの近傍のテーブルのグリッド値に一致する値を測色テーブル125a、125bに入力して、補間計算に必要な複数の分光データを取得し、上記と同様の補間計算または四面体補間ににより対応する分光データを得る。
【００６８】
次に、取得した分光データから混色の分光データを上述した手法により計算し(S203)、混色の分光データを描画用の色値（例えばLab値）に変換し(S204)、色値を重複領域処理部136に出力する(S205)。
【００６９】
［RGB-分光データ変換テーブル］
図9はRGB-分光データ変換テーブル125aの作成方法を説明するフローチャートである。なお、この処理は、プリンティングサーバ120の制御部126などによって予め実行される処理である。
【００７０】
まず、RGB-分光データ変換テーブル125aの初期化や、後述するマスキング行列の初期化などを行う(S411)。なお、RGB-分光データ変換テーブル125aは、RGB入力値に対応する分光データを保持するデータクラス（または構造体）で、配列データなどで構成される。
【００７１】
次に、ループカウンタr、g、bをそれぞれ零で初期化し(S412)、例えば八段階の刻み幅（93=729色）のテーブルを作成するために、729色のRGB値を順次生成するループ処理を開始する。
【００７２】
まず、RGB値（この例では(32r-1, 32g-1, 32b-1)）からLab値を求める(S413)。なお、システムによってRGB色空間（例えば、sRGBやAdobeRGB）が設定されていれば、対応するICCプロファイルなどを利用して、RGB値をXYZ値に変換し、さらにLab値に変換することが可能である。
【００７３】
次に、求めたLab値に近いデバイスCMYK値を求める(S414)。デバイスCMYK値への変換は、システムによって指定されているプリンタプロファイルを用いてる。
【００７４】
次に、求めたCMYK値を二次のマスキング行列で補正し(S415)、補正後のC、M、Y、K値それぞれに対応する分光データを求める(S416)。例えば、シアン(C)色を濃度値100%で出力した場合の分光データは予め測色しておけば、C色の濃度値50%の分光データを線形補間により求めることができる。同様に、他の色マゼンタ(M)、イエロー(Y)、ブラック(K)についても、濃度値100%の分光データをそれぞれを測色しておけば、任意の濃度値の分光データを補間計算によって求めることができる。
【００７５】
そして、C、M、Y、K値それぞれに対応する分光データを取得した後、それら分光データを上述したように合成することで、RGB値に対する分光データを算出する(S417)。
【００７６】
次に、算出した分光データをLab値に変換し(S418)、ステップS425で得られるLab値と、ステップS414で得られたLab値の色差ΔEを計算し(S419)、色差ΔEが、予め任意に与えられた収束条件を満たすか否かを判定する(S420)。そして、収束条件を満たさないと判定した場合は、上述した二次のマスキング行列を適宜変更し(S421)、処理をステップS415へ戻す。一方、色差ΔEが収束条件を満たす場合は、上記一連の処理により求めた分光データをRGB-分光データ変換テーブル125aに登録する(S422)。
【００７７】
次に、ループ処理が終了か否かを判定し(S423)、未了であれば何れかのループカウンタをインクリメントし(S424)、処理をステップS413に戻す。また、ループカウンタi、j、kがすべて刻み幅の値（この例では「8」）に達した場合、ループ処理は終了と判定して、RGB-分光データ変換テーブル125の作成を終了する。
【００７８】
このようにして、任意のRGB値を、その色を再現する分光データに変換するテーブルを作成することが可能になる。
【００７９】
［変形例］
上記では、サンプルチャート301として125色のパッチを用いる例を説明したが、勿論、より多くのパッチから構成されるサンプルチャートを用いてもよい。さらに、色校正用のデバイスはプリンタに限定されることはなく、モニタなど他の出力デバイスなどでも同様の効果を得ることが可能である。印刷系のメディアの場合は減法混色が適用されるが、加法混色モデルのモニタなどの場合、混色のモデルは異なるが、システムを構成する目的がカラーシミュレーションということで合致すれば、同様の効果を得ることが可能である。
【００８０】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８１】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００８２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００８３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８４】
【図１】実施例1のプリンティングサーバの構成例を示すブロック図、
【図２】印刷処理部の構成例を示すブロック図、
【図３】レンダリング処理を説明する概念図、
【図４】分光DBの作成方法を説明する図、
【図５】分光データの補間計算を説明する図、
【図６】混色処理部の処理を示すフローチャート、
【図７】実施例2のプリンティグサーバにおける印刷処理部の構成例を示すブロック図、
【図８】特色処理部の処理を示すフローチャート、
【図９】RGB-分光データ変換テーブルの作成方法を説明するフローチャート、
【図１０】重複領域処理部の処理を説明する図。
【図１１】重複領域処理部の処理を説明するフローチャートである。
【図１】
2006173801.tif 000003
【図２】
2006173801.tif 000004
【図３】
2006173801.tif 000005
【図４】
2006173801.tif 000006
【図５】
2006173801.tif 000007
【図６】
2006173801.tif 000008
【図７】
2006173801.tif 000009
【図８】
2006173801.tif 000010
【図９】
2006173801.tif 000011
【図１０】
2006173801.tif 000012
【図１１】
2006173801.tif 000013