(57)【要約】【課題】  K単色と、K単色から僅かに離れた色の間の、墨版保存処理による色味のギャップの拡大を抑制する。【解決手段】  ソースデバイスのCMYK値を入力し、ソースプロファイルを使用して入力CMYK値をLab値に変換する(S104)。ソースプロファイルを使用してCMYK値から変換したLab値を再現可能なCMYK値の中の最大のK値と入力CMYK値のK値との比である墨率pを計算する(S105)。Lab値のL値に対応するソースデバイスのK色材の色度を取得して、Lab値の色度abとK色材の色度の距離を計算し、距離が所定値以下の場合、入力CMYK値を補正対象と判定する(S106)。補正対象の入力CMYK値について、Lab値の色度abを、Lab値のL値に対応するデスティネーションデバイスのK色材の色度に近付ける補正量を、距離に応じて計算し、Lab値の色度abを補正量と墨率pに応じて補正する(S107)。そして、デスティネーションデバイスのプロファイルを使用して、入力CMYK値から変換したLab値、または、補正したLab値をデスティネーションデバイスのCMYK値に色変換する(S108)。【選択図】  図6
2008136149.tif 000002
【特許請求の範囲】
【請求項１】
ソースデバイスのCMYK値を入力CMYK値として入力する入力手段と、
前記ソースデバイスのプロファイルを使用して前記入力CMYK値をLab値に変換し、前記Lab値のL値に対応する前記ソースデバイスのK色材の色度abを取得して、前記Lab値の色度abと前記K色材の色度abの距離rを計算する距離計算手段と、
前記ソースデバイスのプロファイルを使用して、前記Lab値を再現可能なCMYK値を探索し、前記探索したCMYK値の中の最大のK値を取得して、前記入力CMYK値のK値と前記取得した最大のK値との比を墨率として計算する墨率計算手段と、
前記距離rが所定値以下の場合、前記入力CMYK値を補正対象と判定する判定手段と、
前記判定手段により前記補正対象と判定された前記入力CMYK値について、前記Lab値の色度abを、前記Lab値のL値に対応する前記デスティネーションデバイスのK色材の色度abに近付ける補正量を、前記距離に応じて計算する補正量計算手段と、
前記補正対象の前記入力CMYK値について、前記Lab値の色度abを前記補正量と前記墨率に応じて補正する補正手段と、
前記デスティネーションデバイスのプロファイルを使用して、前記入力CMYK値から変換したLab値、または、前記補正したLab値を前記デスティネーションデバイスのCMYK値に色変換する色変換手段とを有することを特徴とする色処理装置。
【請求項２】
さらに、前記デスティネーションデバイスのプロファイルを使用して、前記入力CMYK値から変換したLab値を再現可能なCMYK値を探索し、前記探索したCMYK値の中の最大のK値を取得して、前記取得したK値と前記墨率から前記色変換後のK値を計算するK値計算手段とを有することを特徴とする請求項1に記載された色処理装置。
【請求項３】
前記色変換手段は、前記デスティネーションデバイスのプロファイルに含まれるA2Bxタグを使用して、最急降下法により、前記K値計算手段が計算したK値と前記入力CMYK値から変換されたLab値に基づき、前記色変換後のCMY値を取得することを特徴とする請求項2に記載された色処理装置。
【請求項４】
前記補正量計算手段は、前記距離rの値が大きいほど前記補正量を小さくすることを特徴とする請求項1に記載された色処理装置。
【請求項５】
前記補正量計算手段は、前記Lab値のL値に対応する前記ソースデバイスのK色材の色度と、前記Lab値のL値に対応する前記デスティネーションデバイスのK色材の色度の間を結ぶ直線に沿って、前記Lab値の色度abを所定量移動するベクトルを前記補正量として計算することを特徴とする請求項1に記載された色処理装置。
【請求項６】
ソースデバイスのCMYK値を入力CMYK値として入力し、
前記ソースデバイスのプロファイルを使用して前記入力CMYK値をLab値に変換し、前記Lab値のL値に対応する前記ソースデバイスのK色材の色度abを取得して、前記Lab値の色度abと前記K色材の色度abの距離を計算し、
ソースデバイスのプロファイルを使用して、前記入力CMYK値から変換したLab値を再現可能なCMYK値を探索し、前記探索したCMYK値の中の最大のK値を取得して、前記入力CMYK値のK値と前記取得したK値の比を墨率として計算し、
前記距離が所定値以下の場合、前記入力CMYK値を補正対象と判定し、
補正対象と判定した前記入力CMYK値について、前記Lab値の色度abを、前記Lab値のL値に対応する前記デスティネーションデバイスのK色材の色度abに近付ける補正量を、前記距離に応じて計算し、
前記補正対象の前記入力CMYK値について、前記Lab値の色度abを前記補正量と前記墨率に応じて補正し、
前記デスティネーションデバイスのプロファイルを使用して、前記入力CMYK値から変換したLab値、または、前記補正したLab値を前記デスティネーションデバイスのCMYK値に色変換することを特徴とする色処理方法。
【請求項７】
コンピュータを制御して、請求項6に記載された色処理を実現することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プルーフ用の色処理に関する。
【背景技術】
【０００２】
新聞を印刷する輪転機は、新聞を一枚だけ印刷することはできない。そこで、新聞の試し刷り（新聞プルーフ）には、プルーフ専用機器や、大判のインクジェットプリンタ（以下、単にプリンタと呼ぶ）を利用する。そして、それら機器が出力した印刷物によって、紙面の構成や色味などを確認する作業が行われる。その際、輪転機で使用される色材と、試し刷りで使用されるプルーフ専用機器やインクジェットプリンタで使用される色材との違い等により発生する色味の違いを吸収すべく、カラーマッチング処理が行われることが一般的である。
【０００３】
異なるデバイス間のカラーマッチングにおいては、ICCプロファイルを用いる色変換処理を行うことが一般的である。ICCプロファイルを用いる色変換処理は、例えば新聞プルーフの際の輪転機のように、最終的にカラー画像を印刷することになるデバイス（以下、入力デバイスまたはソースデバイス）からの出力の際に用いられる色値(C, M, Y, K)（以下、入力CMYK値）を、当該デバイスのICCプロファイル（以下、ソースプロファイル）を用いて、一度、デバイスに依存しない色値(L, a, b)に変換する。そして、当該色値(L, a, b)を、例えば大判のインクジェットプリンタのような、入力デバイスからの出力結果の色味の確認のためのプルーフ処理に使用するデバイス（以下、出力デバイスまたはデスティネーションデバイス）のICCプロファイル（以下、デスティネーションプロファイル）を用いて、当該色値(L, a, b)を出力デバイスから出力するための色値(C', M', Y', K')（出力CMYK値）に変換する。このようにデバイスに依存しない色値を経由する色変換処理を行うことで、入力デバイスと出力デバイスの間で同等または類似する色味を実現する。
【０００４】
ただし、CMYK値をLab値に変換する際、次元の数が減る。つまり、CMYKの四次元からLabの三次元へと次元の数が一つ減るため、Lab値を再びCMYK値に戻す際は、Lab値のみから一意にCMYK値を求めることはできない。つまり、あるLab値に変換し得るCMYK値は無数に存在するため、逆に、あるLab値をCMYK値に変換する際は、それらの無数のCMYK値のうちどれを選択するべきかがわからない。そこで、ICCプロファイルは、デバイスに依存しない色からデバイスに依存する色へ変換する場合、Lab値に対応する無数のCMYK値の一つを選択するよう記述されている。このため、ICCプロファイルを用いた色変換処理は、異なる入力CMYK値の組み合わせ(C1, M1, Y1, K1)と(C2, M2, Y2, K2)を、同じ出力CMYK値に変換する可能性がある。
【０００５】
また、グラフィックアートの分野においては、入出力間の色味を揃えるだけでなく、色材の混合比をも等しくしたいという要望がある。とくに、入力がK単色(C=M=Y=0, K＞0)の場合、出力もK単色が望まれる。しかし、ICCプロファイルを用いる色変換処理は、次元の数が一旦減るため、入力がK単色であっても出力がK単色になるとは限らない。そこで、入力がK単色の色は、色変換処理を行わずに出力する処理、墨版保存処理が行われる。
【０００６】
墨版保存処理は、入力がK単色の色については色変換処理が行わないため、入力と出力の色が一致するとは限らない。これは、例えば入力デバイスで用いられるK色材（以下、入力K色材）と出力デバイスで用いられるK色材（以下、出力K色材）の色が異なる場合を考えると容易に推測できる。
【０００７】
特許文献1の発明は、入力K色材と出力K色材の色の間で明度Lを保存する対応、つまり、入力デバイスのC=M=Y=0, K=K1と同明度になる出力デバイスのC'=M'=Y'=0, K'=K1'の対応関係を見付ける。そして、この対応関係を用いて墨版保存処理を施した場合の入出力の見えのギャップを緩和する。この発明によれば、入力と出力でK単色部分の明るさの違いが緩和される。
【０００８】
墨版保存処理は、言い換えれば、入力K色材の色をそのまま出力K色材の色で置き換える処理である。従って、二つK色材の色の違いがそのまま両者の色味の違いとなって現れる。特許文献1の発明は、入力と出力の明度を保つように墨版保存処理するものである。
【０００９】
図1は入力K色材の色の軌跡11と、出力K色材の色の軌跡12をLab空間にプロットした図である。つまり、図1は(C, M, Y, K)=(0, 0, 0, 0)〜(0, 0, 0, 255)の色のLab値の軌跡を表し、軌跡11と12の交点13は記録紙の白色点である。
【００１０】
図2は、図1に示す特性のK色材において、墨版保存処理を実行した様子を示す図である。入力K色材の信号値Kを、そのまま出力K色材の信号値K'に置き換える墨版保存処理14を行えば、色味にギャップが生じる。また、明度Lを保存する墨版保存処理15を行ったとしても、ab平面内で色味にギャップが生じる。
【００１１】
また、墨版保存処理はK単色の入力だけに適用される。そのため、K単色から僅かに離れた色、例えば(C, M, Y, K)=(1, 0, 0, 100)は墨版保存処理の適用外になる。図3は墨版保存処理によってK単色と、そこから僅かに離れた色の間の色味のギャップが拡大する様子を説明する図である。
【００１２】
K単色(C, M, Y, K)=(0, 0, 0, 100)の色16を墨版保存処理14すると、色値が変換され色味が変化して、色17になる。K単色(C, M, Y, K)=(0, 0, 0, 100)から僅かに離れた色値(C, M, Y, K)=(1, 0, 0, 100)の色18は、墨版保存処理14が適用されないため色変換処理によって色味が保存される。言い換えれば、色18は、色変換処理によって図3に示すab平面上を移動することはない。この結果、墨版保存処理14前の二つの色16と18の色味の差19は、墨版保存処理14後の色味の差20に拡大する。
【００１３】
【特許文献１】特開2004-120566公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、上記した課題に鑑み、墨版保存処理を行うカラーマッチング処理におけるK単色と、K単色から僅かに離れた色とで、墨版保存処理を行う/行わないの違いにより発生する色味のギャップの拡大を抑制することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１６】
本発明にかかる色処理は、ソースデバイスのCMYK値を入力CMYK値として入力し、前記ソースデバイスのプロファイルを使用して前記入力CMYK値をLab値に変換し、前記Lab値のL値に対応する前記ソースデバイスのK色材の色度abを取得して、前記Lab値の色度abと前記K色材の色度abの距離を計算し、ソースデバイスのプロファイルを使用して、前記入力CMYK値から変換したLab値を再現可能なCMYK値を探索し、前記探索したCMYK値の中の最大のK値を取得して、前記入力CMYK値のK値と前記取得したK値の比を墨率として計算し、前記距離が所定値以下の場合、前記入力CMYK値を補正対象と判定し、補正対象と判定した前記入力CMYK値について、前記Lab値の色度abを、前記Lab値のL値に対応する前記デスティネーションデバイスのK色材の色度abに近付ける補正量を、前記距離に応じて計算し、前記補正対象の前記入力CMYK値について、前記Lab値の色度abを前記補正量と前記墨率に応じて補正し、前記デスティネーションデバイスのプロファイルを使用して、前記入力CMYK値から変換したLab値、または、前記補正したLab値を前記デスティネーションデバイスのCMYK値に色変換することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、K単色と、K単色から僅かに離れた色の間の、墨版保存処理による色味のギャップの拡大を抑制することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例１】
【００１９】
［原理］
以下では、色処理の対象である対象色(L, a, b)のab値と、入力K色材および出力K色材の当該L値におけるab値の関係から、墨版保存処理が対象色に与える影響を決定し、対象色のab値を変更（補正）する色処理を説明する。なお、ab値の変更（補正）は、当該L値におけるab平面上での平行移動に対応するから、墨版保存処理の影響を考慮した色の変換を「平行移動」と呼ぶことにする。平行移動の条件は以下のとおりである。
(1) 対象色のab値が入力K色材のab値と等しいとき（入力デバイスにおいて入力K色材のみで出力することが可能）、平行移動の結果が出力K色材のab値と等しくなる。
(2) 平行移動量（補正量）は、対象色のab座標が入力K色材のab座標から離れるに連れて0に収束する。
【００２０】
条件(1)は「入力がK単色であった場合に、出力もK単色にする」という従来の墨版保存処理を保証するものである。また、条件(2)は、K単色とその近傍色との色味のギャップを解消するための補正の度合いをＫ単色から離れるにつれて小さくすることを示すものである。
【００２１】
上記の条件を満たす平行移動を実現する例として、下記の平行移動ベクトル↑Tを挙げる。
↑T = A(|↑P - ↑S|)×(↑D - ↑S)/|↑D - ↑S|      …(1)
ここで、A(r)は平行移動量を表す関数、
↑Pは原点から対象色Pへ向かうベクトル、
↑Sは原点から入力Kインクの色Sへ向かうベクトル、
↑Dは原点から出力Kインクの色Dへ向かうベクトル
【００２２】
関数A(r)は、式(2)で表され、対象色Pと入力Kインクの色Sの距離（色差）に依存する。
A(r) = |↑D - ↑S|×(R - r)/R      …(2)
【００２３】
式(2)において、Rは平行移動の適用領域の半径を表し、次の関係を有す。
0 ≦ r ≦ R
|↑D - ↑S| ＜ R      …(3)
【００２４】
図4A、図4Bは平行移動の適用領域21と平行移動ベクトル↑Tの関係を示す図である。適用領域21は、入力K色材の色Sを中心とする円領域である。平行移動ベクトル↑Tは、入力K色材の色Sから出力K色材の色Dへ向かう、大きさがA(r)のベクトルで、上記の条件(1)(2)を満たす。なお、図4A、図4Bにはa*軸に沿って平行移動する一例を示すが、平行移動は、入力K色材の色Sと出力K色材の色Dを結ぶ直線に沿うことになる。
【００２５】
なお、平行移動の適用領域の半径Rは式(3)の関係を満たす範囲で、経験値を固定値として使用してもよいし、ユーザが操作部を介して設定できるようにしてもよい。
【００２６】
ベクトル↑Tによる平行移動に、入力CMYK値のK色材使用率の度合いについての配慮を加える。K色材使用率を墨率pで表す。墨率pは、あるLab値になるCMYK値の全組み合わせにおけるK値の最大値Kmaxに対する、対象のK値の割合K/Kmaxである。
【００２７】
墨率pを考慮した平行移動の結果(a3, b3)を、ベクトル↑Tによる平行移動前後のab値、それぞれ(a1, b1)、(a2, b2)と墨率pからなる関数を用いて表す。この関数の条件は次のとおりである。
(3) 墨率p=0のとき、平行移動の影響を全く受けない結果になる。つまり(a3, b3)=(a1, b1)（墨版保存処理の影響を及ぼさない）。
(4) 墨率pが大きくなるに連れて平行移動の影響、つまり(a2, b2)の影響が強くなる（墨率pに応じて墨版保存処理による影響を変える）。
(5) 墨率p=1のとき、平行移動の影響を受けた結果になる。つまり(a3, b3)=(a2, b2)（通常の墨版保存処理）。
【００２８】
上記の条件(3)〜(5)を満たす関数の例として、(3)式を挙げる。
a3 = a1*(1 - p) + a2*p
b3 = b1*(1 - p) + b2*p      …(4)
ここで、p = K/Kmax
【００２９】
これにより、墨率p=0%、つまり墨版保存処理の影響を全く受けない場合は、上記の平行移動の影響は受けず、墨率pが大きくなるに連れて平行移動の影響を大きく受ける状況を再現する。
【００３０】
このように、実施例1の色処理は、墨版保存処理をab平面におけるab値の平行移動として捉え、その平行移動量を入力K色材のab値との色差（正確にはab平面における距離）と、墨率pを用いて連続的に表す。これにより、K単色の入力CMYK値(C, M, Y, K)=(0, 0, 0, K)と、その近傍のCMYK値の間で、墨版保存処理によって生じる色味のギャップの拡大を抑制する。
【００３１】
［装置の構成］
図5は実施例1の画像処理装置100の構成例を示すブロック図である。
【００３２】
CPU 101は、ROM 102やハードディスクドライブ(HDD)109に記憶されたデータや制御プログラム、オペレーティングシステム(OS)、アプリケーションプログラムなどに従い、システムバス110を介して、各種の制御や、後述する色処理を含む各種画像処理を行う。RAM 103は、CPU 101のワークメモリや、操作部104から入力されるデータなどの一時保存領域に使用される。
【００３３】
操作部104は、マウスやキーボードなどで、各種の制御や画像処理に関する指示や設定データなどを、ユーザが入力するためのものである。モニタ106は、CRTやLCDなどで、画像処理結果や、操作部104による操作の際のユーザインタフェイス画面などが表示される。
【００３４】
ネットワークインタフェイスカード(NIC)108は、各種データをネットワーク201を介して他のコンピュータ装置や周辺機器とやり取りするための通信インタフェイスである。汎用インタファイス(I/F) 107は、例えばUSBやIEEE1394などのシリアルバスインタフェイスで、プルーフに使う例えば大判のインクジェットプリンタなどのプリンタ200が接続される。
【００３５】
CPU 101は、プルーフの指示を受けると、NIC 108を介してネットワーク201上のサーバからプルーフ対象のCMYK画像データ（以下、入力画像データと呼ぶ）を入力し、後述する色変換を含む画像処理を施す。そして、汎用I/F 107を介して、画像処理を施したCMYK画像データ（以下、出力画像データと呼ぶ）をプリンタ200に送信することでプルーフを実行する。なお、プリンタ200は、ネットワーク201に接続されていてもよい。また、後述する色変換において、入力画像データおよび出力画像データはRAM 102またはHDD 109に割り当てられた領域に一時記憶される。
【００３６】
なお、図3には示さないが、操作部104、モニタ106、NIC 108およびHDD 109は、それぞれ所定のインタフェイスを介して、システムバス110に接続されている。
【００３７】
なお、実施例1の色処理は、新聞プルーフなどのプルーフに限らず、墨版保存処理を行う色処理において、K単色と、K単色から僅かに離れた色の間の、墨版保存処理による色味のギャップの拡大の抑制に有効である。
【００３８】
［色処理］
次に、式(1)〜(2)で定義した平行移動ベクトル↑Tと、式(4)で定義した墨率pを考慮した関数を用いて、対象色のab値を変更する色処理を説明する。
【００３９】
図6は実施例1の色処理を説明するフローチャートで、CPU 101が実行する処理である。
【００４０】
まず、CPU 101は、ソースプロファイルとデスティネーションプロファイル）を読み込む(S101)。
【００４１】
次に、CPU 101は、ソースプロファイルとデスティネーションプロファイルのA2Bxタグ（CMYK→Lab変換テーブル）から、入力K色材および出力K色材のLab値の軌跡を示すテーブルをそれぞれ作成し、HDD 109の所定領域に格納する(S102)。これらのテーブル（以下、入力KのLabテーブル、出力KのLabテーブルと呼ぶ）により、入力K色材、出力K色材それぞれのL値に対応する(a, b)値を得ることができる。なお、入力KのLabテーブル、出力KのLabテーブルの作成処理の詳細は後述する。
【００４２】
次に、CPU 101は、色座標の平行移動（墨版保存処理の影響をK色材の色の色座標近傍に反映する処理）に用いる色座標平行移動用のルックアップテーブル（以下、Lab-La'b'テーブルと呼ぶ）を作成する(S103)。なお、Lab-La'b'テーブルの作成処理の詳細は後述する。
【００４３】
次に、CPU 101は、入力画像データの注目画素について、ソースプロファイルのA2Bxタグを用いて注目画素のCMYK値(Ci, Mi, Yi, Ki)（入力CMYK値）をLab値(Li, ai, bi)に変換する(S104)。そして、墨率pの計算処理(S105)、平行移動の適用領域21が有限の場合に平行移動の対象画素か否かの判定処理(S106)を行う。なお、墨率pの計算処理(S105)と判定処理(S106)の詳細は後述する。
【００４４】
次に、CPU 101は、注目画素が平行移動の対象画素と判定すると、当該画素のLab値に墨率pを考慮した平行移動を施してLab値を更新する処理(S107)を行う。Lab値の更新処理(S107)は、Lab-La'b'テーブルを用いて、注目画素のLab値(Li, ai, bi)を平行移動したLab値(Li, ai', bi')を得る。そして、前述した式(4)により、墨率pを考慮した平行移動後のLab値(Li, a3, b3)を計算し、注目画素のLab値(Li, ai, bi)=(L1, a3, b3)に更新する。
【００４５】
次に、CPU 101は、デスティネーションプロファイルのA2Bxタグを用いて、注目画素のLab値(L1, a3, b3)と墨率pから、当該Lab値において墨率がpになるCMYK値(Co, Mo, Yo, Ko)を取得する処理(S108)を行う。なお、CMYK値の取得処理(S108)の詳細は後述する。
【００４６】
次に、CPU 101は、入力画像データの全画素にステップS104からS108の処理を施したか否かを判定し(S109)、全画素を処理するまでステップS104からS108を繰り返す。なお、処理後の画素データは、出力画像データの画素データとして、RAM 102の所定領域に格納することは言うまでもない。
【００４７】
［入力および出力KのLabテーブルの作成］
次に、ソースプロファイルとデスティネーションプロファイルのA2Bxタグから、入力KのLabテーブルと出力KのLabテーブルを作成する処理(S102)の詳細を説明する。なお、ソースプロファイルとデスティネーションプロファイルに対応する入力KのLabテーブルと出力KのLabテーブルが既に作成されてHDD 109に保存されている場合、CPU 101は、HDD 109からRAM 103に当該テーブルをロードすればよい。
【００４８】
図7は入力および出力KのLabテーブルの作成処理(S102)を説明するフローチャートである。
【００４９】
CPU 101は、RAM 102に所定領域に割り当てた入力および出力K-Labテーブルの作業領域を初期化する(S201)。そして、ソースプロファイルおよびデスティネーションプロファイルのA2Bxタグの(C, M, Y, K)=(0, 0, 0, K)の格子点（K色材の色）のLab値を入力および出力KのLabテーブルに加える処理を、(C, M, Y, K)=(0, 0, 0, K)の格子点分、繰り返す(S202)。
【００５０】
次に、CPU 101は、作成した入力および出力KのLabテーブルを、明度Lについて補間（内挿）し、外挿して全L値をカバーするテーブルにする(S203)。
【００５１】
CPU 101は、上記の処理を、ソースプロファイルを参照する入力KのLabテーブルの作成処理と、デスティネーションプロファイルを参照する出力KのLabテーブルの作成処理分繰り返す。
【００５２】
図8は入力または出力KのLabテーブルの一例を示す図である。入力および出力KのLabテーブルに記述されたLab値をプロットすれば、図1に示す軌跡11または12が描かれる。
【００５３】
［Lab-La'b'テーブルの作成］
次に、平行移動処理に用いるLab→La'b'テーブルを作成する処理(S103)の詳細を説明する。なお、ソースプロファイルとデスティネーションプロファイルに対応するLab-La'b'テーブルが既に作成されてHDD 109に保存されている場合、CPU 101は、HDD 109からRAM 103に当該テーブルをロードすればよい。
【００５４】
図9はLab-L'a'b'テーブルの作成処理(S103)を説明するフローチャートである。
【００５５】
CPU 101は、RAM 102に所定領域に割り当てたLab-La'b'テーブルの作業領域を初期化する(S301)。そして、CPU 101は、(L, a, b)の組み合わせについて以下の処理を繰り返すが、その際、平行移動の影響を詳細に反映させるために、Labそれぞれの刻み幅（増分）をできるだけ小さくする。また、以下の説明では、j番目の組み合わせを(Lj, aj, bj)、原点から色度(aj, bj)へ向かうベクトルを↑J=(aj, bj)と記載する。
【００５６】
CPU 101は、(Lj, aj, bj)の組み合わせを設定し(S302)、入力KのLabテーブルからL=Ljにおける色度(as, bs)を取得し、原点から色度(as, bs)へ向かうベクトルを↑S=(as, bs)とする(S303)。そして、式(5)により、色度(aj, bj)と(as, bs)の間の距離rを計算する(S304)。
【００５７】
次に、CPU 101は、距離rと平行移動の適用領域21（半径R）から、(Lj, aj, bj)が平行移動を適用する色か否か、つまり0≦r≦Rを満たすか否かを判定する(S305)。0≦r≦Rを満たす場合は、式(1)(2)によって平行移動ベクトル↑Tを計算し(S306)、式(6)によって平行移動後の↑J'=(aj', bj')を計算する(S307)。そして、平行移動前後の座標値(Lj, aj, bj, aj', bj')をLab-La'b'テーブルに加える(S308)。
↑J' = ↑J + ↑T      …(6)
【００５８】
次に、CPU 101は、(L, a, b)の全組み合わせについて処理を終了したか否かを判定し(S309)、全組み合わせを処理するまでステップS302からS308を繰り返す。
【００５９】
図10はLab-La'b'テーブルの一例を示す図である。
【００６０】
［墨率pの計算］
次に、注目画素のK値Kiと、ステップS104で注目画素の(Ci, Mi, Yi, Ki)から変換した(Li, ai, bi)から、注目画素の墨率pを計算する処理(S105)の詳細を説明する。
【００６１】
CPU 101は、二分探索法（または、二分探索法以外の、例えば線形探索法）を用いて、ステップS104で得た(Li, ai, bi)を表現可能な複数の入力CMYK値の中から最大のK値Kmaxを探索する。なお、二分探索法は、探索範囲の中央の値が条件を満たすか否かを判別した結果によって、探索範囲を徐々に狭め、最終的に求める値を取得する一般的な探索方法である。以下では、あるK値を用いて与えられたLab値を表現可能か否かを判定しながらK値の探索範囲を狭め、条件を満たす最大のK値を得る。
【００６２】
図11は墨率pの計算処理(S105)を説明するフローチャートで、二分探索法によりKmaxを探索する例を示している。
【００６３】
CPU 101は、RAM 102の所定領域に割り当てたKmax、探索範囲の最小値KL、最大値KHを初期化する（例えば、それぞれ0、0、255にする）(S401)。そして、探索範囲の中央値Km=(KL+KH)/2を計算し(S402)、中央値Kmから最急降下法を用いて、ステップS104で得た(Li, ai, bi)に最も近い、つまり色差が最小のCMYの組み合わせ(C, M, Y)nを取得する(S403)。なお、最急降下法による処理の詳細は後述する。また、この最急降下法におけるLabの取得(S403)は、ソースプロファイルのA2Bxを用いて行う。
【００６４】
次に、CPU 101は、ソースプロファイルのA2Bxタグを用いて、(C, M, Y)nと中央値Kmの組み合わせ(C, M, Y, Km)に対応する(L, a, b)nを得て(S404)、(L, a, b)nと(Li, ai, bi)の色差ΔEを計算する(S405)。そして、色差ΔEと閾値ΔEthを比較する(S406)。ΔE＜ΔEthの場合、(C, M, Y)nと中央値Kmにより(Li, ai, bi)を表現可能と言える。また、ΔE≧ΔEthの場合は、(C, M, Y)nと中央値Kmによる(Li, ai, bi)の表現は不可能と言える。なお、閾値ΔEthは、経験値を固定値として使用してもよいし、ユーザが設定できるようにしてもよい。
【００６５】
CPU 101は、ΔE＜ΔEthの場合、Kmax=Kmに更新し、最小値KL=Km+1として探索範囲をK値を大きくする方向に狭める(S407)。また、ΔE≧ΔEthの場合、最大値KH=Km-1として探索範囲をK値を小さくする方向に狭める(S408)。そして、最小値KLと最大値KHを比較して(S409)、KL＞KHになるまで、ステップS402からS408の処理を繰り返す。なお、ステップS409の判定条件は、一般的な二分探索法の終了条件である。
【００６６】
KL＞KHになった場合、CPU 101は、式(7)により墨率pを計算し(S410)、墨率pの計算処理を終了する。
p = Ki/Kmax      …(7)
ここで、Kiは注目画素のK値
【００６７】
［判定処理］
次に、判定処理(S106)について説明する。
【００６８】
判定処理(S106)は、ステップS104で得た注目画素のLab値(Li, ai, bi)と入力KのLabテーブルから、明度Liにおける入力K色材の色度(as, bs)取得し、式(5)によって色度(ai, bi)と色度(as, bs)の間の距離rを計算する。
r = √{(ai - as)2 + (bi - bs)2}      …(5)
【００６９】
そして、距離rと、平行移動の適用領域21（式(2)における半径Rの領域）から平行移動を適用すべき画素か否かを判定する。言い換えれば、色度(ai, bi)と色度(as, bs)の間の距離が0≦r≦Rを満たす場合に平行移動の対象画素と判定する。
【００７０】
［CMYK値の取得処理］
次に、デスティネーションプロファイルのA2Bxタグを用いて、Lab値と墨率pから、墨率がpになる出力CMYK値を二分探索法を用いて取得する処理(S108)を説明する。なお、二分探索法以外の、例えば線形探索法を用いてもよい。
【００７１】
図12は出力CMYK値の取得処理(S108)を説明するフローチャートで、二分探索法により出力CMYK値を探索する例を示している。
【００７２】
CPU 101は、RAM 102の所定領域に割り当てたKmax、探索範囲の最小値KL、最大値KHを初期化する（例えば、それぞれ0、0、255にする）(S501)。そして、探索範囲の中央値Km=(KL+KH)/2を計算し(S502)、中央値Kmから最急降下法を用いて、ステップS104で得た(Li, ai, bi)またはステップS107で平行移動後の(Li, ai, bi)に最も近い、つまり色差が最小のCMYの組み合わせ(C, M, Y)nを取得する(S503)。なお、最急降下法による処理の詳細は後述する。また、この最急降下法におけるLabの取得(S503)は、デスティネーションプロファイルのA2Bxを用いて行う。
【００７３】
次に、CPU 101は、デスティネーションプロファイルのA2Bxタグを用いて、(C, M, Y)nと中央値Kmの組み合わせ(C, M, Y, Km)に対応する(L, a, b)nを得て(S504)、(L, a, b)nと(Li, ai, bi)の色差ΔEを計算する(S505)。そして、色差ΔEと閾値ΔEthを比較する(S506)。ΔE＜ΔEthの場合、(C, M, Y)nと中央値Kmにより(Li, ai, bi)を表現可能と言える。また、ΔE≧ΔEthの場合は、(C, M, Y)nと中央値Kmによる(Li, ai, bi)の表現は不可能と言える。なお、閾値ΔEthは、経験値を固定値として使用してもよいし、ユーザが設定できるようにしてもよい。
【００７４】
CPU 101は、ΔE＜ΔEthの場合、Kmax=Kmに更新し、最小値KL=Km+1として探索範囲をK値を大きくする方向に狭める(S507)。また、ΔE≧ΔEthの場合、最大値KH=Km-1として探索範囲をK値を小さくする方向に狭める(S508)。そして、最小値KLと最大値KHを比較して(S509)、KL＞KHになるまで、ステップS502からS508の処理を繰り返す。なお、ステップS509の判定条件は、一般的な二分探索法の終了条件である。
【００７５】
KL＞KHになった場合、CPU 101は、式(8)により色変換後のK値Koを計算する(S510)。
Ko = p×Kmax      …(8)
【００７６】
次に、CPU 101は、Ko値と(Li, ai, bi)から、最急降下法を用いて、色変換後の(C, M, Y)を取得して、(Co, Mo, Yo, Ko)を色変換後のCMYK値にする(S511)。また、この最急降下法におけるLabの取得(S503)は、デスティネーションプロファイルのA2Bxを用いて行う。
【００７７】
［最急降下法によるCMY値の取得］
最急降下法は、適当な初期値のパラメータから開始して、パラメータを繰り返し更新（修正）することで、最適なパラメータを求める繰り返し最適化手法の一つである。
【００７８】
図13は最急降下法により、あるK値において、あるLab値と最も色差が小さくなるCMY値を取得する処理を説明するフローチャートである。
【００７９】
CPU 101は、RAM 102の所定領域に割り当てたCMY値を例えば中央値（必ずしも中央値にする必要はなく、適当な値でよい）に、繰り返し回数N=0に初期設定する(S701)。そして、繰り返し回数Nを色材リメントし(S702)、ソースプロファイルまたはデスティネーションプロファイルのA2Bxタグを用いて、指定されたK値と、設定したCMY値からLab値を得る(S703)。
【００８０】
次に、CPU 101は、ステップS703で得たLab値と、指定されたLab値(Li, ai, bi)の色差ΔEを計算し(S704)、式(9)によりCMY値を更新する(S705)。そして、繰り返し回数Nが所定回数Nthに達したか否かを判定する(S706)。
C = C - α×∂(ΔE)/∂C
M = M - α×∂(ΔE)/∂M      …(9)
Y = Y - α×∂(ΔE)/∂Y
ここで、αは降下を制御するパラメータ、0＜α＜1
【００８１】
ステップS705で判定する所定回数Nthは、固定値でも、ユーザが設定してもよい。ただし、回数Nthが小さ過ぎる場合、最適なCMY値への収束の途中で処理が終了し、精度が高い結果が得られない可能性がある。このため、CMY値の収束に必要な（充分な精度が得られる）回数Nthを設定する。
【００８２】
CPU 101は、ステップS706の判定でN＜Nthであれば処理をステップS702に戻して、繰り返しを継続する。一方、N=Nthに達した場合は処理を終了し、ステップS705で更新したCMY値が(Li, ai, bi)に対応する(C, M, Y)になる。
【００８３】
このように、実施例1の色処理は、墨版保存処理をab平面におけるab値の平行移動として捉え、その平行移動量を入力K色材のab値との色差（正確にはab平面における距離）と、K単色の度合いを用いて連続的に表す。従って、K単色の入力CMYK値(C, M, Y, K)=(0, 0, 0, K)と、その近傍のCMYK値の間で、墨版保存処理によって生じる色味のギャップの拡大を抑制することができる。
【００８４】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８５】
また、本発明の目的は、上記実施例の機能を実現するソフトウェアを記録した記憶媒体（記録媒体）をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
【００８６】
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００８７】
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００８８】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
【図面の簡単な説明】
【００８９】
【図１】入力K色材の色の軌跡と、出力K色材の色の軌跡をLab空間にプロットした図、
【図２】図1に示す特性のK色材において、墨版保存処理を実行した様子を示す図、
【図３】墨版保存処理によってK単色と、そこから僅かに離れた色の間の色味のギャップが拡大する様子を説明する図、
【図４Ａ】平行移動の適用領域と平行移動ベクトルの関係を示す図、
【図４Ｂ】平行移動の適用領域と平行移動ベクトルの関係を示す図、
【図５】画像処理装置の構成例を示すブロック図、
【図６】色処理を説明するフローチャート、
【図７】入力または出力KのLabテーブルの作成処理を説明するフローチャート、
【図８】入力または出力KのLabテーブルの一例を示す図、
【図９】Lab-L'a'b'テーブルの作成処理を説明するフローチャート、
【図１０】Lab-La'b'テーブルの一例を示す図、
【図１１】墨率の計算処理を説明するフローチャート、
【図１２】出力CMYK値の取得処理を説明するフローチャート、
【図１３】最急降下法により、あるK値において、あるLab値と最も色差が小さくなるCMY値を取得する処理を説明するフローチャートである。
【図１】
2008136149.tif 000003
【図２】
2008136149.tif 000004
【図３】
2008136149.tif 000005
【図４Ａ】
2008136149.tif 000006
【図４Ｂ】
2008136149.tif 000007
【図５】
2008136149.tif 000008
【図６】
2008136149.tif 000009
【図７】
2008136149.tif 000010
【図８】
2008136149.tif 000011
【図９】
2008136149.tif 000012
【図１０】
2008136149.tif 000013
【図１１】
2008136149.tif 000014
【図１２】
2008136149.tif 000015
【図１３】
2008136149.tif 000016