(57)【特許請求の範囲】
【請求項１】
カラーパッチの測色結果に基づき印刷装置の出力色を予測する色処理装置であって、
カラーパッチデータを生成する生成手段と、
前記生成手段が生成したカラーパッチデータによって印刷装置が出力したカラーパッチの測色結果を入力する入力手段と、
前記印刷装置が使用する色材の数に応じた初期の格子点を設定する設定手段と、
前記入力手段が入力した一次色のカラーパッチデータに対応する測色結果に基づき新たな格子点を追加する追加手段と、
前記印刷装置が出力する、前記設定および追加された格子点に対応するカラーパッチの優先順位を設定し、前記優先順位に従い指定数のカラーパッチのカラーパッチデータを前記生成手段に生成させる制御手段とを有し、
前記初期の格子点は色材値0の格子点、および、全色材を等色材値とした場合に色材量の制限に収まる最大の色材値の格子点を含むことを特徴とする色処理装置。
【請求項２】
前記制御手段は、前記設定および追加された格子点のうち、カラーパッチとして印刷が可能な色材値を有する格子点の数を計数する計数手段を有し、前記計数した格子点の数が前記指定数に満たない場合、前記追加手段に前記測色結果に基づき格子点を追加させることを特徴とする請求項1に記載された色処理装置。
【請求項３】
前記追加手段は、前記測色結果に基づき前記一次色の再現色の推定誤差を計算し、前記推定誤差が最大を示す色材の格子点を前記新たな格子点として追加することを特徴とする請求項1または請求項2に記載された色処理装置。
【請求項４】
前記制御手段は、リファレンステーブルとして設定された色変換テーブルの頂点格子点の間の格子点の色材値と、前記設定または追加された格子点の色材値の間の距離を計算する計算手段、および、前記距離が短い格子点に対応するカラーパッチの前記優先順位を高く設定する設定手段を有することを特徴とする請求項1に記載された色処理装置。
【請求項５】
さらに、前記カラーパッチの測色結果に基づき、前記印刷装置用の色分解テーブルを作成する作成手段を有することを特徴とする請求項1から請求項4の何れか一項に記載された色処理装置。
【請求項６】
生成手段、入力手段、設定手段、追加手段、制御手段を有し、カラーパッチの測色結果に基づき印刷装置の出力色を予測する色処理装置の色処理方法であって、
前記生成手段が、カラーパッチデータを生成し、
前記入力手段が、前記生成手段が生成したカラーパッチデータによって印刷装置が出力したカラーパッチの測色結果を入力し、
前記設定手段が、前記印刷装置が使用する色材の数に応じた初期の格子点を設定し、
前記追加手段が、前記入力手段が入力した一次色のカラーパッチデータに対応する測色結果に基づき新たな格子点を追加し、
前記制御手段が、前記印刷装置が出力する、前記設定および追加された格子点に対応するカラーパッチの優先順位を設定し、前記優先順位に従い指定数のカラーパッチのカラーパッチデータを前記生成手段に生成させ、
前記初期の格子点は色材値0の格子点、および、全色材を等色材値とした場合に色材量の制限に収まる最大の色材値の格子点を含むことを特徴とすることを特徴とする色処理方法。
【請求項７】
コンピュータを請求項1から請求項5の何れか一項に記載された色処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置の出力色を予測する色処理に関する。
【背景技術】
【０００２】
プリンタが再現する色の予測方法として、Cellular Yule-Nielsen Neugebauerモデルが知られている（例えば、非特許文献1）。このモデルは、予め設定された格子点に対応するカラーパッチをプリンタで印刷し、カラーパッチを測色して得た色情報を基にNeugebauerモデルに従い任意の入力値に対して再現される色を予測する。しかし、インクなど色材の総量を超えてしまうなどの理由により、予め設定された全格子点のカラーパッチを印刷することができるわけではない。そこで、非特許文献1においては、印刷し測色したカラーパッチの色情報から、印刷が不可能な格子点の色情報を重回帰によって推定する。
【０００３】
非特許文献1の予測方法は、色材の数が増えると印刷し測色するカラーパッチの数が膨大になる。色の予測精度を向上するには、格子点の数を増やす必要があるが、膨大な数のカラーパッチの印刷と測色は現実的ではない。そのため、このような印刷と測色が行われない格子点が制約となり、充分な精度が得られない。
【０００４】
また、印刷に使用する記録紙の種類ごとに許容する色材の総量が異なる。そのため、記録紙の種類ごとに印刷するカラーパッチの数が異なり、カラーパッチの印刷、測色の際に混乱が生じ易い。
【０００５】
上記の問題は、プリンタの多色化が進む今日、大きな障害となる。
【０００６】
【非特許文献１】Y. Chen, R. S. Berns and L. A. Taplin, "Six Color Printer Characterization Using an Optimized Cellular Yule-Nielsen Spectral Neugebauer Model", J. Imaging Sci. Tech. Vol. 48, No. 6, pp. 519-528 (2004)
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、カラーパッチの数を低減し、高精度な色予測を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる色処理は、カラーパッチの測色結果に基づき印刷装置の出力色を予測する色処理であって、カラーパッチデータを生成し、前記生成したカラーパッチデータによって印刷装置が出力したカラーパッチの測色結果を入力し、前記印刷装置が使用する色材の数に応じた初期の格子点を設定し、前記入力した一次色のカラーパッチデータに対応する測色結果に基づき新たな格子点を追加し、前記印刷装置が出力する、前記設定および追加された格子点に対応するカラーパッチの優先順位を設定し、前記優先順位に従い指定数のカラーパッチのカラーパッチデータを生成し、前記初期の格子点は色材値0の格子点、および、全色材を等色材値とした場合に色材量の制限に収まる最大の色材値の格子点を含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、カラーパッチの数を低減し、高精度な色予測を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例１】
【００１３】
以下、実施例として、11色の色材を使用するインクジェット方式の印刷装置用の色変換テーブル（色分解テーブル）を作成する色処理装置を説明する。
【００１４】
［プリンタ］
図1はプリンタの印刷処理を説明するブロック図である。このプリンタは、シアンC、マゼンタM、イエローY、黒Kの濃色材のほかに次の色材を使用する。淡色材のライトシアンLc、ライトマゼンタLm、グレイGy、並びに、CMYの補色に相当する色材の赤R、緑G、青B、および、Gyのさらに淡色材であるライトグレイLgyである。
【００１５】
画像信号入力部101は、図示しないホスト装置から画像信号を入力する。画像信号は、例えば、標準的な色空間であるsRGBやAdobeRGBなどの色空間で定義されるRGB3チャネル各色8ビットのカラー画像信号である。
【００１６】
色分解部102は、画像信号入力部101が入力したカラー画像信号を、プリンタの各色材に対応するCMYKLcLmGyRGBLgyの11チャネル各色8ビットの画像信号（以下、色分解信号）に色分解する。
【００１７】
図2は色分解部102がRGB画像信号を色分解信号に色分解する際に参照するルックアップテーブル（以降、色分解テーブル）の一例を示す図である。
【００１８】
色分解テーブルには、RGBの各チャネルを例えば9ステップ（0、32、64、96、128、160、192、224、255）でサンプリングした全組合せ（93=729色）に対する、CMYKLcLmGyRGBLgyの各出力値が記録されている。色分解部102は、色分解テーブルを参照し、四面体補間や線形補間などの補間演算を用いて、入力値（RGB値）に対応する色分解信号に対応する出力値（色材値）に変換する。
【００１９】
階調補正部103は、色分解信号を11チャネル各色1ビットの印刷信号に変換する。階調補正部103は、例えば、11チャネルの色分解信号それぞれにベイヤ型の16×16マトリクスを適用して、マトリクス要素よりも色分解信号の画素値が大きい場合は‘1’、画素値がマトリクス要素以下の場合は‘0’を出力する。また、疑似中間調処理の手法として誤差拡散法などを用いてもよい。
【００２０】
画像出力部104は、図示しない印刷ヘッドを主走査方向に走査し、11チャネルの印刷信号に従い印刷ヘッドの各色ノズルの色材の吐出を制御して、副走査方向に搬送される記録紙に画像を印刷する。なお、印刷信号の‘1’は色材の吐出を、‘0’は色材の否吐出に対応する。
【００２１】
色分解テーブルは、入力されるカラー画像信号が表す色を、記録紙上で良好に再現できるように、11色の色材値を決定する必要がある。
【００２２】
［色分解テーブルの作成装置］
図3は色分解テーブルの作成装置の構成例を示すブロック図である。
【００２３】
マイクロプロセッサ(CPU)301は、ランダムアクセスメモリ(RAM)303をワークメモリとして、リードオンリメモリ(ROM)302に格納されたプログラムを実行し、装置全体を制御する。
【００２４】
CPU301は、ユーザインタフェイス(UI)を液晶パネルなどの表示部304に表示する。CPU301は、UIに処理結果、ユーザへの指示、エラーメッセージなどを表示する。また、キーボードやポインティングデバイスなどの操作部305からユーザのUIに対する操作（ユーザ指示）を入力する。
【００２５】
プリンタ306は、上記の11色の色材を用いるプリンタであり、CPU301の制御の下、カラーパッチ作成部310が作成するカラーパッチを印刷する。なお、色分解テーブルの作成装置が作成した色分解テーブルは、プリンタ306にダウンロードされた後、プリンタ306で使用可能になる。
【００２６】
リファレンステーブル保持部308は、代表的な記録紙用の色分解テーブルを予め複数保持する。色分解テーブルの作成装置は、リファレンステーブル保持部308に保持された色分解テーブルを参照して、様々な種類の記録紙、または、印刷品位ごとに色分解テーブルを作成する。
【００２７】
測色データ取得部311は、CPU301の制御の下、カラーパッチ作成部310が作成しプリンタ306が印刷したカラーパッチの測色結果（分光反射率データ）を測色器から取得して、色予測部309に出力する。
【００２８】
色予測部309は、詳細は後述するが、カラーパッチの色材値に対する色情報（分光反射率データ）に基づき、テーブル作成部307が要求する色材値に対するCIELab値を予測する。なお、色予測部309、テーブル作成部307、カラーパッチ作成部310の処理の詳細は後述する。
【００２９】
●テーブル作成部
図4はテーブル作成部307の処理を説明するフローチャートで、CPU301の指示に従い実行される処理である。
【００３０】
テーブル作成部307は、リファレンステーブル保持部308が保持する複数の色分解テーブルから、作成する色分解テーブルの記録紙の質（種類）と印刷品位に最も近い印刷条件を有する色分解テーブルをリファレンステーブルとして選択する(S401)。以下、記録紙の質（種類）と印刷品位を印刷条件と呼ぶ場合がある。例えば、リファレンステーブル保持部308が光沢紙、マット紙、コート紙、普通紙などの記録紙の種類ごとに代表的な記録紙の色分解テーブルを保持するとする。
【００３１】
テーブル作成部307は、光沢紙に属する記録紙用の高印刷品位用の色分解テーブルを作成する場合、代表的な光沢紙の高印刷品位用の色分解テーブルを選択する。なお、リファレンステーブルの選択は、操作部305を介したユーザ指示によって行ってもよいし、プリンタ306に供給された記録紙の種類を測定手段を用いて判別し、リファレンステーブルを選択してもよい。
【００３２】
次に、テーブル作成部307は、選択したリファレンステーブルから枠情報を抽出する(S402)。
【００３３】
図5はルックアップテーブル(LUT)の格子を表す図である。LUTの入力値がRGB各8ビットの場合、頂点格子点のW点は(R, G, B)=(255, 255, 255)に対応する。同様に、K点(0, 0, 0)、R点(255, 0, 0)、G点(0, 255, 0)、B点(0, 0, 255)、C点(0, 255, 255)、M点(255, 0, 255)、Y点(255, 255, 0)である。これら八頂点格子点を互いに結ぶ19本の線分WC、WM、WY、WR、WG、WB、KC、KM、KY、KR、KG、KB、YR、YG、CG、CB、MB、MRおよびWKを枠と呼ぶ。テーブル作成部307は、枠上に位置するRGB値と、11色の色材値の対応関係（枠情報）をリファレンステーブルから抽出する。
【００３４】
図6は枠WK（グレイライン）における各色材の色材値の一例を示す図である。横軸のグリット番号は、枠WKが通過する格子点をW点から順に番号付けしたものである。色分解テーブルが9ステップの場合、枠WK上には九つの格子点が存在する。グリッド番号1は(R, G, B)=(255, 255, 255)のW点、グリッド番号2は(224, 224, 224)の格子点、グリッド番号3は(192, 192, 192)の格子点、…、グリッド番号9は(0, 0, 0)のK点に相当する。つまり、テーブル作成部307は、グリット番号1から9までのRGB値と色材値の対応関係をリファレンステーブルから抽出する。
【００３５】
テーブル作成部307は、19本の各枠上の格子点について各色材の色材値を決定し、その後、補間処理によって枠以外の格子点の各色材の色材値を決定して、色分解テーブルを生成する。
【００３６】
テーブル作成部307は、ある枠の各格子点の目標色（CIELab値）を設定する(S403)。目標色は、枠と格子点ごとに予め決められた値がROM302などに記録されている。また、ユーザが操作部を305を操作して目標色を入力してもよい。
【００３７】
次に、テーブル作成部307は、色予測部309に、リファレンステーブルから取得した格子点の色材値からCIELab値を予測させ(S404)、当該格子点の予測値と目標値の色差を判定する(S405)。そして、色差が所定条件（閾値以下）を満たさない場合、色材値を変更し(S406)、変更した色材値に対するCIELab値を予測する(S404)。テーブル作成部307は、色差が所定条件を満すまでステップS404からS406を繰り返す。
【００３８】
ステップS406における色材値の更新は、所定のアルゴリズムに従い色材値を増減するが、有意の色材値をもつ色材の数は増さない。例えば、枠WK上で使用される色材がLc、Lm、Gy、Lgy、Kの場合、この五色の色材値を変更し、別の色材を使用することはない。言い換えれば、Lc、Lm、Gy、Lgy、K以外の色材値は0のままにする。このように。色材の数を枠によって限定することで、11色のように色材の数の多いプリンタであっても、色の予測(S404)を比較的高速に行うことが可能になる。また、色材の総量の制限を守ることができる。
【００３９】
なお、色差を判定する条件（閾値）は、枠ごとに異なってもよい。また、判定条件は色差に限らず、ある枠は色相差を判定条件にし、別の枠は明度差を判定条件にするなど、枠の特性に応じた判定条件を設定してもよい。
【００４０】
次に、テーブル作成部307は、枠上の全格子点の色材値を決定したか否かを判定し(S407)、すべての枠上の格子点の色材値を決定したか否かを判定して(S408)、全枠上の全格子点の色材値を決定するまでステップS403からS406を繰り返す。
【００４１】
全枠上の全格子点の色材値を決定すると、テーブル作成部307は、各枠の各格子点の色材値を使用して、補間演算により残る格子点の色材値を計算して色分解テーブルを生成する(S409)。
【００４２】
このように、リファレンステーブルから取得した枠の色材値から再現される色を予測し、予測結果により、各枠の色材値を更新することにより、発色特性が異なる様々な記録紙において、同じ色再現を実現する色分解テーブルを作成することができる。また、枠ごとに色材値の総量を制限して再現色を予測することにより、色予測を高速に行うことが可能になる。
【００４３】
●色予測部
図7は色予測部309の構成例を示すブロック図である。
【００４４】
色材値入力部701は、11色の色材値を入力する。プリンタモデル選択部702は、色材値入力部701が入力した色材値から、色予測に最適なプリンタモデルを選択し、選択したプリンタモデルに色材値を入力する。プリンタモデル703は、色材値に対してプリンタ306が再現するであろう分光反射率を予測する。
【００４５】
色予測部309は、色材の数、色材の種別が異なる複数のプリンタモデルを有する（図7はN個のプリンタモデルを有する例を示している）。各プリンタモデルは、色予測に必要な処理を行うプライマリ選択部707、未知プライマリ推定部708、ノイゲバウア処理部709をそれぞれ有す。
【００４６】
図8は色予測部309が15種類のプリンタモデルを有する場合の各プリンタモデルの色材の数と色材の種別を示すテーブルである。色材の種別が‘0’は該当する色材を使用しないことを意味し、‘1’は該当する色材を使用することを意味する。図8に示すように、11色の色材を有するプリンタであっても、11色の色材を同時に使用することはないと言え、より色材の数が少ない複数のプリンタモデルを併用して色予測することが可能である。より色材の数が少ないプリンタモデルを併用することで、色予測の演算量を低減して、処理を高速化することができる。
【００４７】
格子点情報保持部704は、格子点情報を保持する。図9は格子点情報を示すテーブルの一例を示す図である。このテーブルには、格子点番号(ID)に対応して次の情報が記録されている。一つは、各色材の色材値をある間隔でサンプリングして得られる色材値であり、もう一つは、当該色材値をプリンタ306に出力し、測色器で測色することで得られた分光反射率データをプライマリ分光反射率保持部705が保持するか否かを示すフラグである。
【００４８】
図9は、全色材を色材値0、85、170、255の4ステップでサンプリングした例を示し、格子点情報として、411=4,194,304通りの色材値の組み合せと、対応するフラグが記録されている。フラグ‘0’は、色材値の組み合せに対する分光反射率データがプライマリ分光反射率保持部705に保持されていないことを意味し、‘1’は当該データが保持されていることを意味する。
【００４９】
プライマリ分光反射率保持部705は、測色データ取得部311が取得したカラーパッチの分光反射率データ、または、未知プライマリ推定部708が推定した分光反射率データを保持する。図10はプライマリ分光反射率保持部705が保持するデータの一例を示す図である。プライマリ分光反射率保持部705は、格子点番号(ID)に対応する分光反射率データが記録されたテーブルを保持する。なお、図10は、400〜700nmの波長に対する反射率を、10nmステップで保持する例を示すが、これに限るものではない。
【００５０】
格子点情報保持部704とプライマリ分光反射率保持部705は、複数のプリンタモデル703によって共有される。この共有により、例えばプリンタモデル01の未知プライマリ推定部708が推定した分光反射率データを、プリンタモデル19など、他のプリンタモデルの未知プライマリ推定部708が重複して推定する必要がない。そして、他のプリンタモデルのノイゲバウア処理部709が利用することが可能になる。とくに、未知プライマリ推定部708の処理は演算量が多く、分光反射率データの推定結果の共有は、処理効率を大幅に向上させる。
【００５１】
Lab値出力部706は、プリンタモデル703によって予測された分光反射率データをCIELab値に変換し出力する。
【００５２】
図11は色予測部309の処理を説明するフローチャートで、CPU301の指示に従い実行される処理である。
【００５３】
色材値入力部701は、テーブル作成部307から色材値を入力する(S801)。プリンタモデル選択部702は、プリンタモデル703を選択し、選択したプリンタモデル703に色材値を入力する(S802)。プリンタモデル選択部702は、入力された色材値が非零の色材すべてを有するプリンタモデルの中で、最も色材数が少ないプリンタモデルを選択する。ただし、プリンタモデル703の選択は、これに限られるものではなく、例えば、色予測部309に枠情報を入力し、予め枠情報に対応付けられたプリンタモデル703を選択してもよい。
【００５４】
プリンタモデル703は、プライマリ選択部707により、格子点情報保持部704から周辺プライマリのIDを取得する(S803)。より具体的には、入力色材値を囲む全格子点のIDを取得する。色材値を囲む格子点とは、選択されたプリンタモデルで有効な色材（図8に示す非零の色材の種別）において、格子点Aの色材値＜入力色材値＜格子点Bの色材値になる格子点A、Bのことである。有効な色材が複数ある場合、有効な色材それぞれについて格子点A、Bの色材値を計算する。すなわち、有効な色材の数をMとすれば、2M個の周辺プライマリが存在する。
【００５５】
次に、プリンタモデル703は、取得した周辺プライマリについて、プライマリ分光反射率保持部705に分光反射率データが保持されているか否かを、図9に示す格子点情報保持部704のフラグを参照して判定する(S804)。そして、分光反射率データが保持されている場合は、プライマリ分光反射率保持部705から、周辺プライマリのIDに対応する分光反射率データを取得する(S807)。
【００５６】
また、分光反射率データが保持されていない場合、プリンタモデル703は、未知プライマリ推定部708により分光反射率データを推定する(S805)。分光反射率データの推定は、既知の分光反射率データを下式によって重回帰することで行う。
Rj = Fj・Pj      …(1)
ここで、Rjは推定される未知周辺プライマリの分光反射率ベクトル、
Fjは未知周辺プライマリの被覆率ベクトル、
Pjは推定行列
【００５７】
被覆率ベクトルFjは、入力された色材値ベクトルを、2M個あるプライマリが記録紙面を覆う割合（被覆率）に換算したものである。ここで言うプライマリは、各色材の被覆率が0%（色材値=0）と100%（色材値=255）の二つの状態をとる場合のすべての組み合せである。従って、プライマリの数は2M個になる。なお、被覆率は、プリンタ306における階調補正部103および記録紙面上に色材のドットが形成されたときに生じるドットゲインに依存し、色材値から被覆率への変換は、色材、記録紙、印刷モードごとに予め設定された一次元LUTを参照して行う。
【００５８】
また、推定行列Pjは下式によって求められる。
Pj = (FpTwjTwjFp)-1FpTwjTwjRp      …(2)
ここで、wjは重み行列、
Fpは既知プライマリの被覆率行列、
Rpは既知プライマリの分光反射率行列、
Tは転置行列を表す
【００５９】
既知プライマリの被覆率行列Fpは、プライマリ分光反射率保持部705に保持された分光反射率データに対応する色材値ベクトルを被覆率ベクトルに変換して得られる。従って、既知プライマリの被覆率行列Fpは、（プライマリ分光反射率保持部705に保持されたプライマリの数）×2Mのサイズの行列になる。
【００６０】
推定行列Rpは、プライマリ分光反射率保持部705に保持された、未知周辺プライマリの被覆率ベクトルFjに対応する分光反射率データを1/n乗したデータからなる行列である。nは、Yule-Neilsen値と呼ばれ、予め決められた値がROM302などに格納されている。推定行列Rpのサイズは、（プライマリ分光反射率保持部705に保持されたプライマリの数）×（分光反射率データの次元数）である。なお、分光反射率データの次元数は、400〜700nmを10nmステップで刻んだ場合は31次元である。
【００６１】
重み行列wjは、2M×2Mの対角行列である。重み行列wjの対角要素に、例えば被覆率ベクトルFjとFpの各行とのユークリッド距離の逆数を設定することで、被覆率ベクトルFjに距離が近い既知プライマリの重みを高めることができる。言い換えれば、重みを調整することで、推定精度を向上することができる。
【００６２】
最後に、推定行列RpにYule-Neilsen値nを乗じ、未知プライマリの分光反射率データの推定を終了する。
【００６３】
式(1)および(2)に示した行列のサイズは、プライマリの数が2M個になるため、色材数に対し指数関数的に増大する。また、逆行列の演算量は、一般に、行列サイズの三乗に比例すると言われ、11色の色材の場合の演算量は、四色の色材に比べて、(211/24)3=2,097,152倍になると予想される。本実施例は、11色のプリンタの再現色を、より色材の数の少ないプリンタモデルを併用して予測することにより、演算量を抑え、高速に未知プライマリの分光反射率データを推定することが可能である。
【００６４】
プリンタモデル703は、周辺プライマリの推定した分光反射率データをプライマリ分光反射率保持部705に追加し、格子点情報保持部704の分光反射率データの有無を示すフラグを更新する(S806)。このように、複数のプリンタモデルが共有するプライマリ分光反射率保持部705と格子点情報保持部704のデータを更新することにより、同じ未知プライマリの分光反射率データを重複して推定することがなくなり、処理の効率化が図れる。
【００６５】
次に、プリンタモデル703は、すべての周辺プライマリの分光反射率データを取得または推定したか否かを判定し(S808)、すべての周辺プライマリの分光反射率データを取得または推定するまで、ステップS804からS807の処理を繰り返す。
【００６６】
すべての周辺プライマリの分光反射率データが揃うと、プリンタモデル703は、ノイゲバウア処理部709により、周辺プライマリの分光反射率データを1/n乗する。そして、1/n乗した値を、周辺プライマリの被覆率と入力色材値ベクトルの被覆率に基づき線形補間した後、n乗して、入力色材値に対する分光反射率データを推定する(S809)。
【００６７】
次に、Lab値出力部706は、プリンタモデル703から供給される分光反射率データをLab値に変換し(S810)、テーブル作成部307にLab値を返す(S811)。
【００６８】
●カラーパッチ作成部
色予測部309による色予測は、測色するカラーパッチの数が多いほど精度が上がる。ところが、色材の数が多くなると、カラーパッチの数が膨大になり、カラーパッチの印刷と測色にかかる負荷が増大する。例えば、各色材値を4ステップでサンプリングした場合、11色のプリンタにおいては4,194,304の格子点が存在する。これらの格子点のうち、インクが溢れるなど色材量の制限を超えて印刷が不可能な格子点を除いたとしても、印刷、測色の負荷は膨大である。
【００６９】
さらに、色材量の制限は、記録紙の特性、階調補正部103のパラメータなどにより異なるため、印刷、測色しなければならないカラーパッチの数は一意に定まらず、カラーパッチの印刷、測色に際して混乱が生じる可能性がある。これらの問題を考慮し、かつ、枠の色分解を最適化するテーブル作成部307の処理を考慮して、できるだけ精度を維持するとともに印刷するカラーパッチの数を抑制する必要がある。
【００７０】
図12はカラーパッチ作成部310の処理を説明するフローチャートで、CPU301の指示に従い実行される処理である。
【００７１】
カラーパッチ作成部310は、多次色のカラーパッチを出力する前に、一次色（混色のない色材そのものの色）のカラーパッチデータを出力して、プリンタ306に、記録紙にカラーパッチを印刷させる(S1201)。なお、カラーパッチを印刷する場合、プリンタ306は、図1に示す色分解部102をスルーパスに設定する。また、以下では、カラーパッチ作成部310によるカラーパッチデータの出力と、プリンタ306によるカラーパッチの印刷をまとめて「カラーパッチデータを出力する」と表現する。
【００７２】
また、一次色のカラーパッチは、プリンタ306の各色材について、例えば色材値=0、16、32、64、80、96、112、128、144、160、176、192、208、224、240、255の16階調に対応する。つまり、色材の数11×16階調で合計172色のカラーパッチが出力される。
【００７３】
出力されたカラーパッチは、測色器により、その分光反射率が測色される。カラーパッチの分光反射率データは、測色器と測色データ取得部311を介して、RAM303などに格納される。
【００７４】
一次色のカラーパッチの分光反射率データが入力されると、カラーパッチ作成部310は、印刷するカラーパッチの数（指定数Nd）を取得する(S1202)。指定数Ndは、操作部305を介したユーザ指示に従ってもよいし、予めROM302に格納されたデータに従ってもよい。
【００７５】
次に、カラーパッチ作成部310は、格子点を初期化する(S1203)。格子点の初期値は、各色材値について0、α、255の三階調である。色材値αは、記録紙に全色材を等色材値で印刷した場合に色材量の制限に収まる最大の色材値である。色材値αを含む三階調の格子点を設定することにより、色材値0とαの組み合わせから構成される全格子点について分光反射率データを取得することができる。その結果、未知プライマリ推定部708の処理(S805)における逆行列演算が実行可能になる。
【００７６】
次に、カラーパッチ作成部310は、設定した格子点に基づき、図9に示したような格子点情報を形成する(S1204)。初期の段階は各色材に三階調の格子点が設定されているので、311=177,147点分の格子点情報が形成される。勿論、この時点では、分光反射率データの有無を示すフラグには‘0’を設定する。
【００７７】
次に、カラーパッチ作成部310は、各格子点の色材値を計算し、色材量の制限内で印刷可能なカラーパッチの数（印刷可能数Nc）を計数する(S1205)。色材値は、例えば、格子点における各色材の色材値の総和として与えられる。つまり、カラーパッチ作成部310は、計算した色材値の総和が、記録紙や階調補正部103のパラメータごとに予め用意されている閾値（色材量の制限値に相当）以下の格子点（カラーパッチに相当）の数を印刷可能数Ncとして計数する。
【００７８】
次に、カラーパッチ作成部310は、印刷可能数Ncと指定数Ndを比較し(S1206)、Nc≧Ndの場合は処理をステップS1210に進める。
【００７９】
Nc＜Ndの場合、カラーパッチ作成部310は、一次色の再現色の推定精度（推定誤差）を計算する(S1207)。具体的には、一次色のカラーパッチの分光反射率データをリファレンスとして、格子点から推定した分光反射率データとのRMS誤差を推定誤差として計算する。例えば、各色材の一次色の分光反射率データを上記の16階調において取得し、初期の格子点が0、α=80、255とする。この場合、色材値0、80、255のカラーパッチの分光反射率データから、他の格子点（色材値0、80、255のカラーパッチを除くカラーパッチ）の分光反射率データを推定する。そして、他の格子点の分光反射率データの測色値と推定値のRMS誤差を計算する。なお、この推定は、色材値を被覆率に変換し、分光反射率データを1/n乗する。そして、1/n乗した値を、被覆率空間において線形補間した後、n乗することで行う。
【００８０】
次に、カラーパッチ作成部310は、RMS誤差が最大になる色材と色材値を検出し、当該色材の格子点として、当該色材値に対応する階調値を追加し(S1208)、処理をステップS1204に戻す。例えば、C色材の色材値192においてRMS誤差が最大を示す場合、C色材の格子点に階調値192を追加して、C色材の格子点を0、80（=α）、192、255にする。
【００８１】
カラーパッチ作成部310は、格子点を追加(S1208)した後、再び、格子点情報を形成する(S1204)。例えば、C色材の格子点が三階調から四階調に変更された場合、4×310=236,196点分の格子点情報が形成される。
【００８２】
カラーパッチ作成部310は、印刷可能数Ncが指定数Nd以上になるまで、ステップS1204からS1208の処理（格子点の設定）を繰り返す。
【００８３】
印刷可能数Ncが指定数Nd以上になると、カラーパッチ作成部310は、設定した各格子点とリファレンステーブルの枠上の格子点との距離Dを計算する(S1210)。具体的には、設定した格子点の色材値ベクトルと、リファレンステーブルの枠上に位置する各格子点の色材値ベクトルとのユークリット距離を計算し、その中で最小のものを当該格子点の距離Dにする。
【００８４】
次に、カラーパッチ作成部310は、距離Dの小さい格子点から指定数Nd分の格子点を選び、選んだ格子点のカラーパッチデータを生成し、カラーパッチを出力する(S1211)。
【００８５】
このように、テーブル作成部307は、カラーパッチを出力する優先順位を、カラーパッチ（格子点）とリファレンステーブルの枠上の格子点のユークリット距離Dに基づき決定する。従って、リファレンステーブルの枠上の格子点の色に近い色の測色結果が色予測部309に多数入力される。その結果、色予測精度の低下を極力抑えて、印刷、測色するカラーパッチの数を抑制することができる。
【００８６】
なお、カラーパッチ（格子点）とリファレンステーブルの枠上の格子点の距離の計算は、色材値ベクトルのユークリット距離に限るものではない。例えば、色材ごとに適当な重み付けを行い、色予測精度に低下させる特性をもつ色材を含むカラーパッチをより多く出力するようにして、色予測精度の向上を図ることもできる。
【００８７】
このように、カラーパッチを出力する優先順位を、カラーパッチに対応する格子点の色材値と、リファレンステーブルの枠上に位置する格子点の色材値の距離に基づき決定し、優先順位に従い指定数Ndのカラーパッチを出力する。従って、カラーパッチの数を低減し、高精度な色予測を行うことが可能になる。
【００８８】
また、印刷可能数Nc＜指定数Ndの場合は、一次色の色予測精度が最も低いという条件で格子点を追加する。従って、より少ない格子点数（カラーパッチ数）で効果的な予測精度の向上を期待することができる。さらに、格子点を追加して印刷可能数Ncを指定数Ndよりも多くし、印刷可能なカラーパッチの中から優先順位に従い指定数Nd分のカラーパッチを出力する。その結果、ユーザが望む任意のカラーパッチ数で高精度に色予測を行うことができる。
【００８９】
［変形例］
上記においては、予め複数のプリンタモデルを準備して色予測を行う例を説明したが、これに限るものではなく、単一のプリンタモデルで色予測を行ってもよい。あるいは、複数のプリンタモデルを用意して、プリンタモデルごとに上記の方法によりカラーパッチを出力することも可能である。そうすれば、一つのプリンタモデルでカラーパッチを作成する場合に比べてカラーパッチの数が削減することができる。また、格子点を各プリンタモデルで共通化すれば、複数のプリンタモデルにおいて共有可能なカラーパッチができるため、さらにカラーパッチの数を削減することができる。
【００９０】
上記においては、分光反射率を用いて色予測、カラーパッチの測色を行う例を説明したが、これに限らず、例えばXYZ表色系などを用いて色予測を行うようにしてもよい。この場合、次元数がXYZの三次元になるので、実施例で挙げた400〜700nm、10nmステップの31次元分の分光反射率データよりも演算量やデータ量を削減して、より高速な色予測が期待できる。
【００９１】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【００９２】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【００９３】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００９４】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００９５】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【００９６】
【図１】プリンタの印刷処理を説明するブロック図、
【図２】色分解部がRGB画像信号を色分解信号に色分解する際に参照するルックアップテーブルの一例を示す図、
【図３】色分解テーブルの作成装置の構成例を示すブロック図、
【図４】テーブル作成部の処理を説明するフローチャート、
【図５】ルックアップテーブル(LUT)の格子を表す図、
【図６】枠WK（グレイライン）における各色材の色材値の一例を示す図、
【図７】色予測部の構成例を示すブロック図、
【図８】色予測部が15種類のプリンタモデルを有する場合の各プリンタモデルの色材の数と色材の種別を示すテーブル、
【図９】格子点情報を示すテーブルの一例を示す図、
【図１０】プライマリ分光反射率保持部が保持するデータの一例を示す図、
【図１１】色予測部の処理を説明するフローチャート、
【図１２】カラーパッチ作成部の処理を説明するフローチャートである。
【図１】
0005147390.tif 000002
【図２】
0005147390.tif 000003
【図３】
0005147390.tif 000004
【図４】
0005147390.tif 000005
【図５】
0005147390.tif 000006
【図６】
0005147390.tif 000007
【図７】
0005147390.tif 000008
【図８】
0005147390.tif 000009
【図９】
0005147390.tif 000010
【図１０】
0005147390.tif 000011
【図１１】
0005147390.tif 000012
【図１２】
0005147390.tif 000013