色処理装置およびその方法、並びに、画像処理装置
【課題】補間演算の精度を向上させた色変換プロファイルを作成する。
【解決手段】実用色域取得部201は、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得する。マトリクス作成部202は、第一の座標系であるプロファイル接続空間の色値を、実用色域を包含し、かつ、プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成する。多次元LUT生成部203は、マトリクスの逆変換により第二の座標系における格子点の値を第一の座標系の値に変換し、デバイスの測色値を参照して第一の座標系の値に対応するデバイスのデバイス依存値を算出し、デバイス依存値を格子点の出力値に設定した色変換テーブルを生成する。プロファイル出力部204は、マトリクスおよび色変換テーブルを格納した色変換プロファイルを作成する。
【解決手段】実用色域取得部201は、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得する。マトリクス作成部202は、第一の座標系であるプロファイル接続空間の色値を、実用色域を包含し、かつ、プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成する。多次元LUT生成部203は、マトリクスの逆変換により第二の座標系における格子点の値を第一の座標系の値に変換し、デバイスの測色値を参照して第一の座標系の値に対応するデバイスのデバイス依存値を算出し、デバイス依存値を格子点の出力値に設定した色変換テーブルを生成する。プロファイル出力部204は、マトリクスおよび色変換テーブルを格納した色変換プロファイルを作成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、色変換プロファイルを作成する色処理に関する。
【背景技術】
【0002】
スキャナやディジタルカメラなどの入力デバイス、モニタやプリンタなどの出力デバイスといったカラー入出力デバイス間において、カラーマッチングが行われる。以下、一般的なカラーマッチングを説明する。
【0003】
入力デバイスに依存する色空間(例えばRGB、CMYK)で表現された入力データは、入力プロファイルにより、デバイスに依存しない色空間(プロファイル接続空間(PCS))のLab値(またはXYZ値)で表現されたPCSデータに変換される。出力デバイスの色再現範囲外の色は、当該出力デバイスによって再現されない。入力画像データに含まれるすべて色を出力デバイスの色再現範囲内に収めるために、PCSデータに色域マッピング(色空間圧縮)を施す。そして、出力プロファイルにより、PCSデータを出力デバイスに依存する色空間の出力データに変換する。つまり、デバイス非依存色空間を経由して、異なるデバイス間のカラーマッチングを実現する。
【0004】
一般的なカラーマッチング技術として、例えば非特許文献1が規定するICCプロファイルが知られている。非特許文献1が規定するプリンタ用プロファイルには、PCSとデバイス依存色空間の相互変換を行うために、AtoBxタグとBtoAxタグが格納される。AtoBxタグは、デバイス依存色空間からPCSへの色変換をルックアップテーブル(LUT)などによって記述したデータである。また、BtoAxタグは、PCSからデバイス依存色空間への色変換をLUTなどによって記述したデータである。AtoBxタグやBtoAxタグは、マトリクス、一次元LUT、多次元LUTの組み合せで構成され、色マッチングモジュール(CMM)は、これらのデータを参照して色変換を行う。
【0005】
図1によりBtoAxタグに含まれる多次元LUTの一例を示す。BtoAxタグに含まれる多次元LUTは、一般に、図1に示すようなPCSデータの数値範囲を各次元に対して均等割した格子点(以下、均等格子点)と、各格子点に対応するデバイス依存値(出力データ)を格納した構造を有する。CMMは、格子点の間に位置するLab値が入力された場合、当該Lab値を囲む格子点の出力データを参照して、当該Lab値に対応する出力データを補間演算する。
【0006】
非特許文献1が規定するPCSデータの数値範囲は、例えばLab値のプロファイルの場合は次のように定義されている。
0 ≦ L ≦ 100、-128 ≦ a ≦ 127、-128 ≦ b ≦ 127
【0007】
PCSデータの数値範囲を各次元に対して均等分割した均等格子点を作成すると、カラーマッチング処理において演算に用いられる可能性が低い格子点が多数存在する可能性がある。
【0008】
図2によりPCSデータの数値範囲とデバイスの色再現範囲の関係例を示す。図2において、実線で示す多面体1202はプロファイル作成対象のデバイスの色再現範囲を示し、点線で示す立方体1201はPCSデータの数値範囲を示す。図2に示すように、多くのデバイスの色再現範囲は、PCSデータの数値範囲に比べて狭い。また、PCSデータの数値範囲の八頂点付近に存在する格子点の色は、多くのデバイスにおいて再現不能である。
【0009】
このように従来のプロファイルには、カラーマッチングが行われる際に演算に用いられる可能性が低い格子点が多数存在し、その分補間演算に有効な格子点が少なくなるため、補間演算精度が低下するという問題点がある。
【0010】
上記の問題を解決する方法として特許文献1が開示する技術が知られている。特許文献1の技術は、S字関数を用いてPCSデータのa値、b値を変換することで多次元LUTが含む、プロファイル作成対象のデバイスの色再現範囲の格子点の数を増加させて、補間演算の精度を向上する。
【0011】
また、別の方法として特許文献2が開示する技術が知られている。特許文献2の技術は、xy色度図上においてプロファイル作成対象のデバイスの色再現範囲を包含するようにXYZからRGBへ変換するマトリクスを作成し、これを作業色空間として用いることで、補間演算の精度を向上する。
【0012】
しかし、特許文献1の技術によれば、グレイに近い領域において補間演算の精度が向上するが、高彩度領域においては補間演算の精度は向上しない。また、特許文献2の技術は、定義された作業色空間がxy色度図上においてデバイスの色再現範囲を包含するとしても、Lab空間(XYZ空間)においてはデバイスの色再現範囲を包含しない場合があり、その結果、補間演算の精度が向上しないケースがある。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特許第4250863号(特開2002-152530公報)
【特許文献2】特開2010-148129公報
【非特許文献】
【0014】
【非特許文献1】International Color Consortium, Specification ICC. 1:2004-10, (Profile Version 4.2.0.0)
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明は、補間演算の精度を向上させた色変換プロファイルを作成することを目的とする。
【課題を解決するための手段】
【0016】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0017】
本発明にかかる色処理は、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得し、第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成し、前記マトリクスの逆変換により前記第二の座標系における格子点の値を前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した色変換テーブルを生成し、前記マトリクスおよび前記色変換テーブルを格納した色変換プロファイルを作成することを特徴とする。
【発明の効果】
【0018】
本発明によれば、補間演算の精度を向上させた色変換プロファイルを作成することができる。
【図面の簡単な説明】
【0019】
【図1】BtoAxタグに含まれる多次元LUTの一例を示す図。
【図2】PCSデータの数値範囲とデバイスの色再現範囲の関係例を示す図。
【図3】ルックアップテーブル型のBtoAxタグの構成例を示す図。
【図4】マトリクスによる座標変換を説明する図。
【図5】実施例の色処理装置の構成例を説明するブロック図。
【図6】実施例の色処理装置の機能構成例を説明するブロック図。
【図7】プロファイル作成処理を説明するフローチャート。
【図8】実用色域を取得するためのUIの一例を示す図。
【図9】マトリクスの生成処理および多次元LUTの生成処理の一例を説明するフローチャート。
【図10】実施例2の色処理装置の機能構成例を説明するブロック図。
【図11】プロファイル作成処理を説明するフローチャート。
【図12】一次元LUTの入出力特性の一例を示す図。
【図13】一次元LUTの生成処理および多次元LUTの生成処理を説明するフローチャート。
【発明を実施するための形態】
【0020】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例1】
【0021】
[概要]
図3によりルックアップテーブル(LUT)型のBtoAxタグ(色変換プロファイル)の構成例を示す。なお、図3はICCプロファイルフォーマットを示す。また、図3には、プロファイル接続空間(PCS)がLab空間の例を示すが、XYZ空間を用いてもよいことは言うまでもない。
【0022】
マトリクス1302は、色変換テーブルである多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行う。多次元LUT1304は、PCSデータをデバイス依存値に変換する。また、一次元LUT1301、1303、1305には、恒等変換になる値が設定される。
【0023】
図4によりマトリクス1302による座標変換を説明する。図4において、実線で示す多面体403はプロファイル作成対象のデバイス(以下、対象デバイス)の色域(色再現範囲)を示し、第一の座標系401は、座標変換前の座標系INを示し、第二の座標系402は座標変換後の座標系OUTを示す。座標変換前後のLab値の関係は式(1)によって示される。つまり、マトリクス1302は、式(1)に示す座標変換を行うための3×4マトリクスを格納し、座標変換を行う。
┌ ┐ ┌ ┐┌ ┐ ┌ ┐
│Lo│ │m11 m12 m13││Li│ │m14│
│ao│=│m21 m22 m23││ai│+│m24│ …(1)
│bo│ │m31 m32 m33││bi│ │m34│
└ ┘ └ ┘└ ┘ └ ┘
ここで、Li, ai, biは座標系INにおけるLab値、
Lo, ao, boは座標系OUTにおけるLab値。
【0024】
図4に示すように、PCSの数値範囲は0から1の値に正規化されている。また、図4に破線で示す座標系OUTは、各軸の基底ベクトルを辺としてもつ平行六面体を表す。この平行六面体が詳細を後述する実用色域403を包含し、かつ、平行六面体の体積がPCSの数値範囲の体積より小さくなるようにマトリクスを生成する。
【0025】
実用色域403は、デバイスの色再現範囲のうち実際に使用される色域、あるいは、作成するプロファイルがカラーマッチング精度を保証する範囲(色域)に相当し、デバイスの使用目的やプロファイルの使用目的に応じて設定する。例えば、汎用的なプロファイルを作成する場合は、対象デバイスの測色値と、ターゲットとして使用される可能性が高い標準色や標準色空間の測色値を包含する色域とする。なお、標準色としては例えばJapanColorなどの印刷標準色が、標準色空間としては例えばAdobeRGBなどのRGB標準色空間が挙げられる。
【0026】
図3に示す色変換プロファイルは、例えば、パーソナルコンピュータ(PC)、画像処理装置、印刷装置などの出力デバイスに供給され、カラーマッチング処理が実行される。
【0027】
[装置の構成]
図5のブロック図により実施例の色処理装置の構成例を説明する。
【0028】
CPU101は、RAM102をワークメモリとして、ROM103やハードディスクドライブ(HDD)108などの不揮発性メモリに格納されたOSを含む各種プログラムを実行し、システムバス107を介して、後述する構成を制御する。HDD108が格納する各種プログラムには、後述するプロファイル作成処理のプログラムが含まれる。
【0029】
汎用インタフェイス(I/F)104は、例えばUSBのようなシリアルバスインタフェイスで、マウスやキーボード、メモリカードリーダ、リムーバブルディスクドライブなどの入力デバイス111が接続される。ビデオカード(VC)105は、ビデオインタフェイスで、LCDなどのモニタ113が接続される。ネットワークインタフェイスカード(NIC)106は、LANなどのネットワーク114に接続されるネットワークインタフェイスである。CPU101は、NIC106を介してネットワーク上のサーバ装置などとデータのやり取りが可能である。
【0030】
CPU101は、モニタ113にユーザインタフェイス(UI)を表示する。ユーザは、マウスやキーボードを操作して、UIに対して指示やデータや入力する。CPU101は、ユーザ指示やデータを入力し、それら入力に従いプログラムを実行して各種処理を行う。
【0031】
[機能構成]
図6のブロック図により実施例の色処理装置の機能構成例を説明する。つまり、図6は、CPU101がプロファイル作成処理を行う場合の機能構成例を示す。
【0032】
実用色域取得部201は、作成するプロファイルにおいてカラーマッチング精度を保証する範囲を示す実用色域を取得する。なお、CPU101は、実用色域を示すデータを、モニタ113に表示したUIと入力デバイス111によって取得してもよいし、サーバ装置などから取得してよい。
【0033】
マトリクス作成部202は、実用色域を示すデータに基づき、座標変換を行うためのマトリクス1302を生成する。多次元LUT生成部203は、座標系OUTにおいて各次元の均等格子点を作成し、それら均等格子点に対応する対象デバイスのデバイス依存値を算出し、算出したデバイス依存値を格子点に対応させて格納した多次元LUT1304を生成する。
【0034】
プロファイル出力部204は、生成されたマトリクス1302と多次元LUT1304をICCプロファイルフォーマットに格納し、色変換プロファイルとして出力する。なお、色変換プロファイルの出力先はHDD108やサーバ装置などである。
【0035】
[プロファイル作成処理]
図7のフローチャートによりプロファイル作成処理を説明する。
【0036】
実用色域取得部201は、ユーザの指示に従い、実用色域を設定するための測色値を入力する(S201)。そして、入力した測色値から、凸包(convex hull)法やメッシュ法などを用いて色域境界記述(gamut boundary description: GBD)を作成し、GBDが示す色域を実用色域として設定する(S202)。
【0037】
図8により実用色域を取得するためのUIの一例を示す。ユーザは、マウスやキーボードによりUIを操作して、色変換プロファイルの使用目的に応じて実用色域を設定するための測色値を指定する。
【0038】
ユーザは、例えば汎用的なプロファイルを作成する場合、対象デバイスの測色値1101と、ターゲットとして使用される可能性が高い、例えばJapanColorの測色値1102やAdobeRGB空間の測色値1103などを指定する。また、プルーフに用いるプロファイルを作成する場合、対象デバイスの測色値1101、JapanColor、Fogra、SWOP、GRACoLなどの複数の印刷標準色の測色値1102を指定する。
【0039】
ここで指定するターゲットの測色値は一つでも複数でもよいし、標準色ではなくユーザが用意した測色値でもよい。測色値1101、1102には、各デバイスが出力したIT8のようなカラーチャートの色票の色を測色器で測色して得た、デバイス依存値とデバイス非依存色値の対応関係が記述されている。
【0040】
次に、詳細は後述するが、マトリクス作成部202は、式(1)に示すマトリクス1302を生成する(S203)。多次元LUT生成部203は、生成されたマトリクス1302と、対象デバイスの測色値1101から多次元LUT1304を生成する(S204)。プロファイル出力部204は、マトリクス1302と多次元LUT1304を図3に示すBtoAxタグに格納した色変換プロファイルを出力する(S205)。
【0041】
●マトリクスおよび多次元LUTの生成処理
図9のフローチャートによりマトリクス1302の生成処理(S203)および多次元LUT1304の生成処理(S204)の一例を説明する。
【0042】
マトリクス作成部202は、図4に示す座標系OUTの四頂点P0、P1、P2、P3として最適な座標(Lab値)を設定する(S301)。つまり、実用色域403を包含し、かつ、座標系OUTの各軸の基底ベクトルを辺としてもつ平行六面体の体積が、できるだけ小さくなるように四頂点P0、P1、P2、P3の座標を設定する。なお、座標系INから観た場合に、P0は座標系OUTの原点であり、P1、P2、P3はベクトルP0P1、P0P2、P0P3をそれぞれ独立にする点である。
【0043】
本実施例では、座標の最適化手法として減衰最小二乗法を使用する。つまり、式(2)の評価関数によって計算される評価値fが小さくなるように四頂点P0、P1、P2、P3の座標を求める。なお、最適化手法には、減衰最小二乗法以外に、遺伝的アルゴリズム(GA)やニューロなどの手法を用いてもよい。
f = (V1 + αV2)/VGBD …(2)
ここで、V1は平行六面体402の体積、
V2は実用色域403のうち平行六面体402の外に出た部分の体積、
VGBDは実用色域403の体積、
αは演算結果がV2≒0となるように設定する重み係数。
【0044】
次に、マトリクス作成部202は、式(3)(4)により、求めた四頂点P0、P1、P2、P3からマトリクス1302を算出する(S302)。
┌ ┐ ┌ ┐┌ ┐ ┌ ┐
│Li│ │(L1-L0) (L2-L0) (L3-L0)││Lo│ │L0│
│ai│=│(a1-a0) (a2-a0) (a3-a0)││ao│+│a0│ …(3)
│bi│ │(b1-b0) (b2-b0) (b3-b0)││bo│ │b0│
└ ┘ └ ┘└ ┘ └ ┘
ここで、P0 = (L0, a0, b0)、
P1 = (L1, a1, b1)、
P2 = (L2, a2, b2)、
P3 = (L3, a3, b3)。
┌ ┐ ┌ ┐ ┌ ┐
│Lo│ │Li│ │L0│
│ao│= M-1│ai│- M-1│a0│ …(4)
│bo│ │bi│ │b0│
└ ┘ └ ┘ └ ┘
ここで、 ┌ ┐
│(L1-L0) (L2-L0) (L3-L0)│
M =│(a1-a0) (a2-a0) (a3-a0)│
│(b1-b0) (b2-b0) (b3-b0)│
└ ┘
【0045】
式(4)は(Li, ai, bi)から(Lo, ao, bo)への変換式を示す。従って、式(1)(4)から、3×4マトリクスの各係数を式(5)(6)により算出することができる。
┌ ┐
│m11 m12 m13│
│m21 m22 m23│= M-1 …(5)
│m31 m32 m33│
└ ┘
┌ ┐ ┌ ┐
│m14│ │L0│
│m24│= -M-1│a0│ …(6)
│m34│ │b0│
└ ┘ └ ┘
【0046】
次に、多次元LUT生成部203は、多次元LUT1304の格子点の数をNとすると、座標系OUTの各軸について値0から1の間をN-1個に均等分割する均等格子点(総数N×N×N)を作成する(S303)。なお、格子点の値は座標系OUTにおける値(L0, a0, b0)である。
【0047】
次に、多次元LUT生成部203は、式(3)により座標系OUTにおける格子点の値を座標変換して、座標系INにおける格子点の値(Li, ai, bi)に逆変換する(S304)。そして、デバイス測色値1101を用いて、格子点の値(Li, ai, bi)に対応する対象デバイスのデバイス依存値を求める(S305)。
【0048】
デバイス依存値を求める際、格子点の値が対象デバイスの色域外に存在する場合は、例えば格子点の値に最も近い対象デバイスの色域境界に対応するデバイス依存値を当該格子点のデバイス依存値にするなどの色域マッピングを行う。
【0049】
次に、多次元LUT生成部203は、得られたデバイス依存値を座標系OUTの格子点に対応させて多次元LUT1304に格納する(S306)。そして、座標系OUTの全格子点についてデバイス依存値の設定が終了したか否かを判定し(S307)、未了の場合は処理をステップS304に戻す。
【0050】
このように、多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行うマトリクス1302を生成する。そして、マトリクス1302と多次元LUT1304を格納した色変換プロファイルを作成することで、補間演算の精度を向上させることができる。
【0051】
上記では、ICCプロファイルフォーマットのLUT型のBtoAxタグの作成方法を説明した。しかし、ICCプロファイルフォーマットとは別の形式であっても、少なくともマトリクスと、それに続く多次元LUTを有する色変換プロファイルであれば同様の結果を得ることができる。
【実施例2】
【0052】
以下、本発明にかかる実施例2の色処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【0053】
実施例1では、多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行うマトリクス1302を生成することで、補間演算の精度を向上させた色変換プロファイルを作成する例を説明した。実施例2では、多次元LUT1304の格子点として、PCSの白色点、ターゲットの一次色や二次色(C、M、Y、R、G、B)などのべた色、肌色などの記憶色といった重要色を配置するように一次元LUT1303を生成する例を説明する。これにより、重要色付近の補間演算の精度をさらに向上することができる。
【0054】
図10のブロック図により実施例2の色処理装置の機能構成例を説明する。つまり、図10は、CPU101がプロファイル作成処理を行う場合の機能構成例を示す。図6に示す構成と異なるのは、一次元LUT1303を生成する一次元LUT生成部205を備える点である。実施例2において、一次元LUT1303は、重要色に対応するPCSデータ(以下、重要値)を色変換テーブルである多次元LUT1304の格子点の値に変換するように、PCSデータを変換する。
【0055】
図11のフローチャートによりプロファイル作成処理を説明する。図7に示す処理と異なるのは、一次元LUT生成部205の処理(S211)を備える点である。
【0056】
一次元LUT生成部205は、重要値、一次元LUT1303の格子点の数、多次元LUT1304の格子点数に基づき、重要値を多次元LUT1304の格子点の値に変換する一次元LUT1303を生成する(S211)。なお、一次元LUT1303は、L0、a0、b0をそれぞれ変換する三つの一次元LUTで構成される。
【0057】
図12により一次元LUT1303の入出力特性の一例を示す。図12において、横軸は一次元LUT1303の入力を、縦軸は一次元LUT1303の出力(多次元LUT1304の入力)を表し、レンジは0から1である。また、一次元LUT1303の格子点数をMとすると、図12の縦の格子は一次元LUTの格子に相当し、1/(M-1)の間隔である。また、多次元LUT1304の格子点数をNとすると、図12の横の格子は多次元LUT1304の格子に相当し、1/(N-1)の間隔である。
【0058】
●一次元LUTおよび多次元LUTの生成処理
図13のフローチャートにより一次元LUT1303の生成処理(S211)および多次元LUTの生成処理(S204)を説明する。なお、以下では、重要値をPとして説明するが、Pに輝度値L、色度値a、bを代入すれば、それらの一次元LUTをそれぞれ生成することができる。
【0059】
一次元LUT生成部205は、座標系INにおける重要値Piを正規化し、式(1)により、重要値Piを座標系OUTの値Poに座標変換する(S801)。そして、式(7)により、多次元LUT1304の格子点の値P'oに変換する(S802)。
P'o = INT[{Po + 1/{2(N-1)}{N-1}]/(N-1) …(7)
ここで、Poは座標系OUTにおける重要値(例えば点501、511)、
P'oは多次元LUT1304の格子点の値(例えば点502、512)、
INT()は零に近い整数値を返す関数。
【0060】
次に、一次元LUT生成部205は、Poを挟む格子の出力値503、504を算出する(S803)。例えば、点502を通る傾き1の直線と、Poを挟む格子の交点を算出し、それら交点の値をPoを挟む格子点の出力値503、504とする。なお、点502を通る直線であれば、その傾きは任意であり、例えば隣り合う重要色(例えば点501と511)を結ぶ直線の傾きとしてもよい。
【0061】
次に、一次元LUT生成部205は、すべての重要色(図12においては点501、511)についてステップS801からS803の処理を行ったか否かを判定する(S804)。そして、すべての重要色に対する処理が終了すると、一次元LUT1303の他の格子(出力値が未算出の格子)の出力値(点521、522、523)を算出する(S805)。例えば、ステップS801からS803の処理によって算出した出力値503、504、513、514を結ぶ折れ線と、出力値が未算出の格子の交点を算出し、その値を出力値とする。また、点503から点514の範囲外の格子については、格子の最大値(点532)と点503を結ぶ線分と格子の交点、格子の最小値(点531)と点514を結ぶ線分と格子の交点を、それら格子の出力値にする。
【0062】
以上の処理により、重要値を多次元LUT1304の格子点の値に変換する一次元LUT1303を生成することができる。
【0063】
次に、多次元LUT生成部203は、多次元LUT1304の格子点の数をNとすると、座標系OUTの各軸について値0から1の間をN-1個に均等分割する均等格子点(総数N×N×N)を作成する(S806)。なお、格子点の値は座標系OUTにおける値(Lo, ao, bo)である。さらに、一次元LUT1303の逆関数により、均等格子点の値を間隔が非均等な格子点(以下、非均等格子点)の値に変換する(S807)。
【0064】
次に、多次元LUT生成部203は、式(3)により座標系OUTにおける格子点の値を座標変換して、座標系INにおける格子点の値(Li, ai, bi)に逆変換する(S808)。そして、デバイス測色値1101を用いて、格子点の値(Li, ai, bi)に対応する対象デバイスのデバイス依存値を求める(S809)。
【0065】
実施例1と同様に、デバイス依存値を求める際、格子点の値が対象デバイスの色域外に存在する場合は、例えば格子点の値に最も近い対象デバイスの色域境界に対応するデバイス依存値を当該格子点のデバイス依存値にするなどの色域マッピングを行う。
【0066】
次に、多次元LUT生成部203は、得られたデバイス依存値を座標系Oの格子点に対応させて多次元LUT1304に格納する(S809)。そして、座標系OUTの全格子点についてデバイス依存値の設定が終了したか否かを判定し(S810)、未了の場合は処理をステップS808に戻す。
【0067】
このように、多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行うマトリクス1302を生成するとともに、重要色を多次元LUT1304の格子点に配置するように一次元LUT1303を生成する。そして、マトリクス1302、一次元LUT1303、多次元LUT1304を格納した色変換プロファイルを作成することで、補間演算の精度、とくに重要色付近の精度を向上させることができる。
【0068】
上記では、ICCプロファイルフォーマットのLUT型のBtoAxタグの作成方法を説明した。しかし、ICCプロファイルフォーマットとは別の形式であっても、少なくともマトリクスと、それに続く一次元LUT、さらにそれに続く多次元LUTを有する色変換プロファイルであれば同様の結果を得ることができる。
【0069】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、色変換プロファイルを作成する色処理に関する。
【背景技術】
【0002】
スキャナやディジタルカメラなどの入力デバイス、モニタやプリンタなどの出力デバイスといったカラー入出力デバイス間において、カラーマッチングが行われる。以下、一般的なカラーマッチングを説明する。
【0003】
入力デバイスに依存する色空間(例えばRGB、CMYK)で表現された入力データは、入力プロファイルにより、デバイスに依存しない色空間(プロファイル接続空間(PCS))のLab値(またはXYZ値)で表現されたPCSデータに変換される。出力デバイスの色再現範囲外の色は、当該出力デバイスによって再現されない。入力画像データに含まれるすべて色を出力デバイスの色再現範囲内に収めるために、PCSデータに色域マッピング(色空間圧縮)を施す。そして、出力プロファイルにより、PCSデータを出力デバイスに依存する色空間の出力データに変換する。つまり、デバイス非依存色空間を経由して、異なるデバイス間のカラーマッチングを実現する。
【0004】
一般的なカラーマッチング技術として、例えば非特許文献1が規定するICCプロファイルが知られている。非特許文献1が規定するプリンタ用プロファイルには、PCSとデバイス依存色空間の相互変換を行うために、AtoBxタグとBtoAxタグが格納される。AtoBxタグは、デバイス依存色空間からPCSへの色変換をルックアップテーブル(LUT)などによって記述したデータである。また、BtoAxタグは、PCSからデバイス依存色空間への色変換をLUTなどによって記述したデータである。AtoBxタグやBtoAxタグは、マトリクス、一次元LUT、多次元LUTの組み合せで構成され、色マッチングモジュール(CMM)は、これらのデータを参照して色変換を行う。
【0005】
図1によりBtoAxタグに含まれる多次元LUTの一例を示す。BtoAxタグに含まれる多次元LUTは、一般に、図1に示すようなPCSデータの数値範囲を各次元に対して均等割した格子点(以下、均等格子点)と、各格子点に対応するデバイス依存値(出力データ)を格納した構造を有する。CMMは、格子点の間に位置するLab値が入力された場合、当該Lab値を囲む格子点の出力データを参照して、当該Lab値に対応する出力データを補間演算する。
【0006】
非特許文献1が規定するPCSデータの数値範囲は、例えばLab値のプロファイルの場合は次のように定義されている。
0 ≦ L ≦ 100、-128 ≦ a ≦ 127、-128 ≦ b ≦ 127
【0007】
PCSデータの数値範囲を各次元に対して均等分割した均等格子点を作成すると、カラーマッチング処理において演算に用いられる可能性が低い格子点が多数存在する可能性がある。
【0008】
図2によりPCSデータの数値範囲とデバイスの色再現範囲の関係例を示す。図2において、実線で示す多面体1202はプロファイル作成対象のデバイスの色再現範囲を示し、点線で示す立方体1201はPCSデータの数値範囲を示す。図2に示すように、多くのデバイスの色再現範囲は、PCSデータの数値範囲に比べて狭い。また、PCSデータの数値範囲の八頂点付近に存在する格子点の色は、多くのデバイスにおいて再現不能である。
【0009】
このように従来のプロファイルには、カラーマッチングが行われる際に演算に用いられる可能性が低い格子点が多数存在し、その分補間演算に有効な格子点が少なくなるため、補間演算精度が低下するという問題点がある。
【0010】
上記の問題を解決する方法として特許文献1が開示する技術が知られている。特許文献1の技術は、S字関数を用いてPCSデータのa値、b値を変換することで多次元LUTが含む、プロファイル作成対象のデバイスの色再現範囲の格子点の数を増加させて、補間演算の精度を向上する。
【0011】
また、別の方法として特許文献2が開示する技術が知られている。特許文献2の技術は、xy色度図上においてプロファイル作成対象のデバイスの色再現範囲を包含するようにXYZからRGBへ変換するマトリクスを作成し、これを作業色空間として用いることで、補間演算の精度を向上する。
【0012】
しかし、特許文献1の技術によれば、グレイに近い領域において補間演算の精度が向上するが、高彩度領域においては補間演算の精度は向上しない。また、特許文献2の技術は、定義された作業色空間がxy色度図上においてデバイスの色再現範囲を包含するとしても、Lab空間(XYZ空間)においてはデバイスの色再現範囲を包含しない場合があり、その結果、補間演算の精度が向上しないケースがある。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特許第4250863号(特開2002-152530公報)
【特許文献2】特開2010-148129公報
【非特許文献】
【0014】
【非特許文献1】International Color Consortium, Specification ICC. 1:2004-10, (Profile Version 4.2.0.0)
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明は、補間演算の精度を向上させた色変換プロファイルを作成することを目的とする。
【課題を解決するための手段】
【0016】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0017】
本発明にかかる色処理は、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得し、第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成し、前記マトリクスの逆変換により前記第二の座標系における格子点の値を前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した色変換テーブルを生成し、前記マトリクスおよび前記色変換テーブルを格納した色変換プロファイルを作成することを特徴とする。
【発明の効果】
【0018】
本発明によれば、補間演算の精度を向上させた色変換プロファイルを作成することができる。
【図面の簡単な説明】
【0019】
【図1】BtoAxタグに含まれる多次元LUTの一例を示す図。
【図2】PCSデータの数値範囲とデバイスの色再現範囲の関係例を示す図。
【図3】ルックアップテーブル型のBtoAxタグの構成例を示す図。
【図4】マトリクスによる座標変換を説明する図。
【図5】実施例の色処理装置の構成例を説明するブロック図。
【図6】実施例の色処理装置の機能構成例を説明するブロック図。
【図7】プロファイル作成処理を説明するフローチャート。
【図8】実用色域を取得するためのUIの一例を示す図。
【図9】マトリクスの生成処理および多次元LUTの生成処理の一例を説明するフローチャート。
【図10】実施例2の色処理装置の機能構成例を説明するブロック図。
【図11】プロファイル作成処理を説明するフローチャート。
【図12】一次元LUTの入出力特性の一例を示す図。
【図13】一次元LUTの生成処理および多次元LUTの生成処理を説明するフローチャート。
【発明を実施するための形態】
【0020】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例1】
【0021】
[概要]
図3によりルックアップテーブル(LUT)型のBtoAxタグ(色変換プロファイル)の構成例を示す。なお、図3はICCプロファイルフォーマットを示す。また、図3には、プロファイル接続空間(PCS)がLab空間の例を示すが、XYZ空間を用いてもよいことは言うまでもない。
【0022】
マトリクス1302は、色変換テーブルである多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行う。多次元LUT1304は、PCSデータをデバイス依存値に変換する。また、一次元LUT1301、1303、1305には、恒等変換になる値が設定される。
【0023】
図4によりマトリクス1302による座標変換を説明する。図4において、実線で示す多面体403はプロファイル作成対象のデバイス(以下、対象デバイス)の色域(色再現範囲)を示し、第一の座標系401は、座標変換前の座標系INを示し、第二の座標系402は座標変換後の座標系OUTを示す。座標変換前後のLab値の関係は式(1)によって示される。つまり、マトリクス1302は、式(1)に示す座標変換を行うための3×4マトリクスを格納し、座標変換を行う。
┌ ┐ ┌ ┐┌ ┐ ┌ ┐
│Lo│ │m11 m12 m13││Li│ │m14│
│ao│=│m21 m22 m23││ai│+│m24│ …(1)
│bo│ │m31 m32 m33││bi│ │m34│
└ ┘ └ ┘└ ┘ └ ┘
ここで、Li, ai, biは座標系INにおけるLab値、
Lo, ao, boは座標系OUTにおけるLab値。
【0024】
図4に示すように、PCSの数値範囲は0から1の値に正規化されている。また、図4に破線で示す座標系OUTは、各軸の基底ベクトルを辺としてもつ平行六面体を表す。この平行六面体が詳細を後述する実用色域403を包含し、かつ、平行六面体の体積がPCSの数値範囲の体積より小さくなるようにマトリクスを生成する。
【0025】
実用色域403は、デバイスの色再現範囲のうち実際に使用される色域、あるいは、作成するプロファイルがカラーマッチング精度を保証する範囲(色域)に相当し、デバイスの使用目的やプロファイルの使用目的に応じて設定する。例えば、汎用的なプロファイルを作成する場合は、対象デバイスの測色値と、ターゲットとして使用される可能性が高い標準色や標準色空間の測色値を包含する色域とする。なお、標準色としては例えばJapanColorなどの印刷標準色が、標準色空間としては例えばAdobeRGBなどのRGB標準色空間が挙げられる。
【0026】
図3に示す色変換プロファイルは、例えば、パーソナルコンピュータ(PC)、画像処理装置、印刷装置などの出力デバイスに供給され、カラーマッチング処理が実行される。
【0027】
[装置の構成]
図5のブロック図により実施例の色処理装置の構成例を説明する。
【0028】
CPU101は、RAM102をワークメモリとして、ROM103やハードディスクドライブ(HDD)108などの不揮発性メモリに格納されたOSを含む各種プログラムを実行し、システムバス107を介して、後述する構成を制御する。HDD108が格納する各種プログラムには、後述するプロファイル作成処理のプログラムが含まれる。
【0029】
汎用インタフェイス(I/F)104は、例えばUSBのようなシリアルバスインタフェイスで、マウスやキーボード、メモリカードリーダ、リムーバブルディスクドライブなどの入力デバイス111が接続される。ビデオカード(VC)105は、ビデオインタフェイスで、LCDなどのモニタ113が接続される。ネットワークインタフェイスカード(NIC)106は、LANなどのネットワーク114に接続されるネットワークインタフェイスである。CPU101は、NIC106を介してネットワーク上のサーバ装置などとデータのやり取りが可能である。
【0030】
CPU101は、モニタ113にユーザインタフェイス(UI)を表示する。ユーザは、マウスやキーボードを操作して、UIに対して指示やデータや入力する。CPU101は、ユーザ指示やデータを入力し、それら入力に従いプログラムを実行して各種処理を行う。
【0031】
[機能構成]
図6のブロック図により実施例の色処理装置の機能構成例を説明する。つまり、図6は、CPU101がプロファイル作成処理を行う場合の機能構成例を示す。
【0032】
実用色域取得部201は、作成するプロファイルにおいてカラーマッチング精度を保証する範囲を示す実用色域を取得する。なお、CPU101は、実用色域を示すデータを、モニタ113に表示したUIと入力デバイス111によって取得してもよいし、サーバ装置などから取得してよい。
【0033】
マトリクス作成部202は、実用色域を示すデータに基づき、座標変換を行うためのマトリクス1302を生成する。多次元LUT生成部203は、座標系OUTにおいて各次元の均等格子点を作成し、それら均等格子点に対応する対象デバイスのデバイス依存値を算出し、算出したデバイス依存値を格子点に対応させて格納した多次元LUT1304を生成する。
【0034】
プロファイル出力部204は、生成されたマトリクス1302と多次元LUT1304をICCプロファイルフォーマットに格納し、色変換プロファイルとして出力する。なお、色変換プロファイルの出力先はHDD108やサーバ装置などである。
【0035】
[プロファイル作成処理]
図7のフローチャートによりプロファイル作成処理を説明する。
【0036】
実用色域取得部201は、ユーザの指示に従い、実用色域を設定するための測色値を入力する(S201)。そして、入力した測色値から、凸包(convex hull)法やメッシュ法などを用いて色域境界記述(gamut boundary description: GBD)を作成し、GBDが示す色域を実用色域として設定する(S202)。
【0037】
図8により実用色域を取得するためのUIの一例を示す。ユーザは、マウスやキーボードによりUIを操作して、色変換プロファイルの使用目的に応じて実用色域を設定するための測色値を指定する。
【0038】
ユーザは、例えば汎用的なプロファイルを作成する場合、対象デバイスの測色値1101と、ターゲットとして使用される可能性が高い、例えばJapanColorの測色値1102やAdobeRGB空間の測色値1103などを指定する。また、プルーフに用いるプロファイルを作成する場合、対象デバイスの測色値1101、JapanColor、Fogra、SWOP、GRACoLなどの複数の印刷標準色の測色値1102を指定する。
【0039】
ここで指定するターゲットの測色値は一つでも複数でもよいし、標準色ではなくユーザが用意した測色値でもよい。測色値1101、1102には、各デバイスが出力したIT8のようなカラーチャートの色票の色を測色器で測色して得た、デバイス依存値とデバイス非依存色値の対応関係が記述されている。
【0040】
次に、詳細は後述するが、マトリクス作成部202は、式(1)に示すマトリクス1302を生成する(S203)。多次元LUT生成部203は、生成されたマトリクス1302と、対象デバイスの測色値1101から多次元LUT1304を生成する(S204)。プロファイル出力部204は、マトリクス1302と多次元LUT1304を図3に示すBtoAxタグに格納した色変換プロファイルを出力する(S205)。
【0041】
●マトリクスおよび多次元LUTの生成処理
図9のフローチャートによりマトリクス1302の生成処理(S203)および多次元LUT1304の生成処理(S204)の一例を説明する。
【0042】
マトリクス作成部202は、図4に示す座標系OUTの四頂点P0、P1、P2、P3として最適な座標(Lab値)を設定する(S301)。つまり、実用色域403を包含し、かつ、座標系OUTの各軸の基底ベクトルを辺としてもつ平行六面体の体積が、できるだけ小さくなるように四頂点P0、P1、P2、P3の座標を設定する。なお、座標系INから観た場合に、P0は座標系OUTの原点であり、P1、P2、P3はベクトルP0P1、P0P2、P0P3をそれぞれ独立にする点である。
【0043】
本実施例では、座標の最適化手法として減衰最小二乗法を使用する。つまり、式(2)の評価関数によって計算される評価値fが小さくなるように四頂点P0、P1、P2、P3の座標を求める。なお、最適化手法には、減衰最小二乗法以外に、遺伝的アルゴリズム(GA)やニューロなどの手法を用いてもよい。
f = (V1 + αV2)/VGBD …(2)
ここで、V1は平行六面体402の体積、
V2は実用色域403のうち平行六面体402の外に出た部分の体積、
VGBDは実用色域403の体積、
αは演算結果がV2≒0となるように設定する重み係数。
【0044】
次に、マトリクス作成部202は、式(3)(4)により、求めた四頂点P0、P1、P2、P3からマトリクス1302を算出する(S302)。
┌ ┐ ┌ ┐┌ ┐ ┌ ┐
│Li│ │(L1-L0) (L2-L0) (L3-L0)││Lo│ │L0│
│ai│=│(a1-a0) (a2-a0) (a3-a0)││ao│+│a0│ …(3)
│bi│ │(b1-b0) (b2-b0) (b3-b0)││bo│ │b0│
└ ┘ └ ┘└ ┘ └ ┘
ここで、P0 = (L0, a0, b0)、
P1 = (L1, a1, b1)、
P2 = (L2, a2, b2)、
P3 = (L3, a3, b3)。
┌ ┐ ┌ ┐ ┌ ┐
│Lo│ │Li│ │L0│
│ao│= M-1│ai│- M-1│a0│ …(4)
│bo│ │bi│ │b0│
└ ┘ └ ┘ └ ┘
ここで、 ┌ ┐
│(L1-L0) (L2-L0) (L3-L0)│
M =│(a1-a0) (a2-a0) (a3-a0)│
│(b1-b0) (b2-b0) (b3-b0)│
└ ┘
【0045】
式(4)は(Li, ai, bi)から(Lo, ao, bo)への変換式を示す。従って、式(1)(4)から、3×4マトリクスの各係数を式(5)(6)により算出することができる。
┌ ┐
│m11 m12 m13│
│m21 m22 m23│= M-1 …(5)
│m31 m32 m33│
└ ┘
┌ ┐ ┌ ┐
│m14│ │L0│
│m24│= -M-1│a0│ …(6)
│m34│ │b0│
└ ┘ └ ┘
【0046】
次に、多次元LUT生成部203は、多次元LUT1304の格子点の数をNとすると、座標系OUTの各軸について値0から1の間をN-1個に均等分割する均等格子点(総数N×N×N)を作成する(S303)。なお、格子点の値は座標系OUTにおける値(L0, a0, b0)である。
【0047】
次に、多次元LUT生成部203は、式(3)により座標系OUTにおける格子点の値を座標変換して、座標系INにおける格子点の値(Li, ai, bi)に逆変換する(S304)。そして、デバイス測色値1101を用いて、格子点の値(Li, ai, bi)に対応する対象デバイスのデバイス依存値を求める(S305)。
【0048】
デバイス依存値を求める際、格子点の値が対象デバイスの色域外に存在する場合は、例えば格子点の値に最も近い対象デバイスの色域境界に対応するデバイス依存値を当該格子点のデバイス依存値にするなどの色域マッピングを行う。
【0049】
次に、多次元LUT生成部203は、得られたデバイス依存値を座標系OUTの格子点に対応させて多次元LUT1304に格納する(S306)。そして、座標系OUTの全格子点についてデバイス依存値の設定が終了したか否かを判定し(S307)、未了の場合は処理をステップS304に戻す。
【0050】
このように、多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行うマトリクス1302を生成する。そして、マトリクス1302と多次元LUT1304を格納した色変換プロファイルを作成することで、補間演算の精度を向上させることができる。
【0051】
上記では、ICCプロファイルフォーマットのLUT型のBtoAxタグの作成方法を説明した。しかし、ICCプロファイルフォーマットとは別の形式であっても、少なくともマトリクスと、それに続く多次元LUTを有する色変換プロファイルであれば同様の結果を得ることができる。
【実施例2】
【0052】
以下、本発明にかかる実施例2の色処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【0053】
実施例1では、多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行うマトリクス1302を生成することで、補間演算の精度を向上させた色変換プロファイルを作成する例を説明した。実施例2では、多次元LUT1304の格子点として、PCSの白色点、ターゲットの一次色や二次色(C、M、Y、R、G、B)などのべた色、肌色などの記憶色といった重要色を配置するように一次元LUT1303を生成する例を説明する。これにより、重要色付近の補間演算の精度をさらに向上することができる。
【0054】
図10のブロック図により実施例2の色処理装置の機能構成例を説明する。つまり、図10は、CPU101がプロファイル作成処理を行う場合の機能構成例を示す。図6に示す構成と異なるのは、一次元LUT1303を生成する一次元LUT生成部205を備える点である。実施例2において、一次元LUT1303は、重要色に対応するPCSデータ(以下、重要値)を色変換テーブルである多次元LUT1304の格子点の値に変換するように、PCSデータを変換する。
【0055】
図11のフローチャートによりプロファイル作成処理を説明する。図7に示す処理と異なるのは、一次元LUT生成部205の処理(S211)を備える点である。
【0056】
一次元LUT生成部205は、重要値、一次元LUT1303の格子点の数、多次元LUT1304の格子点数に基づき、重要値を多次元LUT1304の格子点の値に変換する一次元LUT1303を生成する(S211)。なお、一次元LUT1303は、L0、a0、b0をそれぞれ変換する三つの一次元LUTで構成される。
【0057】
図12により一次元LUT1303の入出力特性の一例を示す。図12において、横軸は一次元LUT1303の入力を、縦軸は一次元LUT1303の出力(多次元LUT1304の入力)を表し、レンジは0から1である。また、一次元LUT1303の格子点数をMとすると、図12の縦の格子は一次元LUTの格子に相当し、1/(M-1)の間隔である。また、多次元LUT1304の格子点数をNとすると、図12の横の格子は多次元LUT1304の格子に相当し、1/(N-1)の間隔である。
【0058】
●一次元LUTおよび多次元LUTの生成処理
図13のフローチャートにより一次元LUT1303の生成処理(S211)および多次元LUTの生成処理(S204)を説明する。なお、以下では、重要値をPとして説明するが、Pに輝度値L、色度値a、bを代入すれば、それらの一次元LUTをそれぞれ生成することができる。
【0059】
一次元LUT生成部205は、座標系INにおける重要値Piを正規化し、式(1)により、重要値Piを座標系OUTの値Poに座標変換する(S801)。そして、式(7)により、多次元LUT1304の格子点の値P'oに変換する(S802)。
P'o = INT[{Po + 1/{2(N-1)}{N-1}]/(N-1) …(7)
ここで、Poは座標系OUTにおける重要値(例えば点501、511)、
P'oは多次元LUT1304の格子点の値(例えば点502、512)、
INT()は零に近い整数値を返す関数。
【0060】
次に、一次元LUT生成部205は、Poを挟む格子の出力値503、504を算出する(S803)。例えば、点502を通る傾き1の直線と、Poを挟む格子の交点を算出し、それら交点の値をPoを挟む格子点の出力値503、504とする。なお、点502を通る直線であれば、その傾きは任意であり、例えば隣り合う重要色(例えば点501と511)を結ぶ直線の傾きとしてもよい。
【0061】
次に、一次元LUT生成部205は、すべての重要色(図12においては点501、511)についてステップS801からS803の処理を行ったか否かを判定する(S804)。そして、すべての重要色に対する処理が終了すると、一次元LUT1303の他の格子(出力値が未算出の格子)の出力値(点521、522、523)を算出する(S805)。例えば、ステップS801からS803の処理によって算出した出力値503、504、513、514を結ぶ折れ線と、出力値が未算出の格子の交点を算出し、その値を出力値とする。また、点503から点514の範囲外の格子については、格子の最大値(点532)と点503を結ぶ線分と格子の交点、格子の最小値(点531)と点514を結ぶ線分と格子の交点を、それら格子の出力値にする。
【0062】
以上の処理により、重要値を多次元LUT1304の格子点の値に変換する一次元LUT1303を生成することができる。
【0063】
次に、多次元LUT生成部203は、多次元LUT1304の格子点の数をNとすると、座標系OUTの各軸について値0から1の間をN-1個に均等分割する均等格子点(総数N×N×N)を作成する(S806)。なお、格子点の値は座標系OUTにおける値(Lo, ao, bo)である。さらに、一次元LUT1303の逆関数により、均等格子点の値を間隔が非均等な格子点(以下、非均等格子点)の値に変換する(S807)。
【0064】
次に、多次元LUT生成部203は、式(3)により座標系OUTにおける格子点の値を座標変換して、座標系INにおける格子点の値(Li, ai, bi)に逆変換する(S808)。そして、デバイス測色値1101を用いて、格子点の値(Li, ai, bi)に対応する対象デバイスのデバイス依存値を求める(S809)。
【0065】
実施例1と同様に、デバイス依存値を求める際、格子点の値が対象デバイスの色域外に存在する場合は、例えば格子点の値に最も近い対象デバイスの色域境界に対応するデバイス依存値を当該格子点のデバイス依存値にするなどの色域マッピングを行う。
【0066】
次に、多次元LUT生成部203は、得られたデバイス依存値を座標系Oの格子点に対応させて多次元LUT1304に格納する(S809)。そして、座標系OUTの全格子点についてデバイス依存値の設定が終了したか否かを判定し(S810)、未了の場合は処理をステップS808に戻す。
【0067】
このように、多次元LUT1304が含む、補間演算に有効な格子点を増加させるように座標変換を行うマトリクス1302を生成するとともに、重要色を多次元LUT1304の格子点に配置するように一次元LUT1303を生成する。そして、マトリクス1302、一次元LUT1303、多次元LUT1304を格納した色変換プロファイルを作成することで、補間演算の精度、とくに重要色付近の精度を向上させることができる。
【0068】
上記では、ICCプロファイルフォーマットのLUT型のBtoAxタグの作成方法を説明した。しかし、ICCプロファイルフォーマットとは別の形式であっても、少なくともマトリクスと、それに続く一次元LUT、さらにそれに続く多次元LUTを有する色変換プロファイルであれば同様の結果を得ることができる。
【0069】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
少なくともデバイスの測色値を含む、実用色域を示す測色値を取得する取得手段と、
第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成するマトリクスの生成手段と、
前記マトリクスの逆変換により前記第二の座標系における格子点の値を前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した色変換テーブルを生成する色変換テーブルの生成手段と、
前記マトリクスおよび前記色変換テーブルを格納した色変換プロファイルを作成する作成手段とを有することを特徴とする色処理装置。
【請求項2】
少なくともデバイスの測色値を含む、実用色域を示す測色値を取得する取得手段と、
第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成するマトリクスの生成手段と、
前記第一の座標系で表される重要色の色値を色変換テーブルの格子点に配置するように、前記第一の座標系の色値を変換する変換テーブルを生成する変換テーブルの生成手段と、
前記変換テーブルの逆関数により前記第二の座標系における格子点の値を変換し、前記変換後の値を前記マトリクスの逆変換により前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した前記色変換テーブルを生成する色変換テーブルの生成手段と、
前記マトリクス、前記変換テーブル、および、前記色変換テーブルを格納した色変換プロファイルを作成する作成手段とを有することを特徴とする色処理装置。
【請求項3】
前記マトリクスの生成手段は、前記第一の座標系において、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い平行六面体の頂点の座標を設定する設定手段、並びに、前記頂点の座標から前記マトリクスを算出する算出手段を有することを特徴とする請求項1または請求項2に記載された色処理装置。
【請求項4】
前記実用色域は、前記デバイスの測色値を包含することを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項5】
前記実用色域は、前記デバイスの測色値、および、標準色の測色値を包含することを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項6】
取得手段、マトリクスの生成手段、色変換テーブルの生成手段、作成手段を有する色処理装置の色処理方法であって、
前記取得手段が、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得し、
前記マトリクスの生成手段が、第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成し、
前記色変換テーブルの生成手段が、前記マトリクスの逆変換により前記第二の座標系における格子点の値を前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した色変換テーブルを生成し、
前記作成手段が、前記マトリクスおよび前記色変換テーブルを格納した色変換プロファイルを作成することを特徴とする色処理方法。
【請求項7】
取得手段、マトリクスの生成手段、変換テーブルの生成手段、色変換テーブルの生成手段、作成手段を有する色処理装置の色処理方法であって、
前記取得手段が、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得し、
前記マトリクスの生成手段が、第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成し、
前記変換テーブルの生成手段が、前記第一の座標系で表される重要色の色値を色変換テーブルの格子点に配置するように、前記第一の座標系の色値を変換する変換テーブルを生成し、
前記色変換テーブルの生成手段が、前記変換テーブルの逆関数により前記第二の座標系における格子点の値を変換し、前記変換後の値を前記マトリクスの逆変換により前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した前記色変換テーブルを生成し、
前記作成手段が、前記マトリクス、前記変換テーブル、および、前記色変換テーブルを格納した色変換プロファイルを作成することを特徴とする色処理方法。
【請求項8】
請求項1から請求項5の何れか一項に記載された色処理装置が作成した色変換プロファイルを用いて色変換を行うことを特徴とする画像処理装置。
【請求項9】
コンピュータ装置を請求項1から請求項5の何れか一項に記載された色処理装置の各手段として機能させることを特徴とするプログラム。
【請求項1】
少なくともデバイスの測色値を含む、実用色域を示す測色値を取得する取得手段と、
第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成するマトリクスの生成手段と、
前記マトリクスの逆変換により前記第二の座標系における格子点の値を前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した色変換テーブルを生成する色変換テーブルの生成手段と、
前記マトリクスおよび前記色変換テーブルを格納した色変換プロファイルを作成する作成手段とを有することを特徴とする色処理装置。
【請求項2】
少なくともデバイスの測色値を含む、実用色域を示す測色値を取得する取得手段と、
第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成するマトリクスの生成手段と、
前記第一の座標系で表される重要色の色値を色変換テーブルの格子点に配置するように、前記第一の座標系の色値を変換する変換テーブルを生成する変換テーブルの生成手段と、
前記変換テーブルの逆関数により前記第二の座標系における格子点の値を変換し、前記変換後の値を前記マトリクスの逆変換により前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した前記色変換テーブルを生成する色変換テーブルの生成手段と、
前記マトリクス、前記変換テーブル、および、前記色変換テーブルを格納した色変換プロファイルを作成する作成手段とを有することを特徴とする色処理装置。
【請求項3】
前記マトリクスの生成手段は、前記第一の座標系において、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い平行六面体の頂点の座標を設定する設定手段、並びに、前記頂点の座標から前記マトリクスを算出する算出手段を有することを特徴とする請求項1または請求項2に記載された色処理装置。
【請求項4】
前記実用色域は、前記デバイスの測色値を包含することを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項5】
前記実用色域は、前記デバイスの測色値、および、標準色の測色値を包含することを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項6】
取得手段、マトリクスの生成手段、色変換テーブルの生成手段、作成手段を有する色処理装置の色処理方法であって、
前記取得手段が、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得し、
前記マトリクスの生成手段が、第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成し、
前記色変換テーブルの生成手段が、前記マトリクスの逆変換により前記第二の座標系における格子点の値を前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した色変換テーブルを生成し、
前記作成手段が、前記マトリクスおよび前記色変換テーブルを格納した色変換プロファイルを作成することを特徴とする色処理方法。
【請求項7】
取得手段、マトリクスの生成手段、変換テーブルの生成手段、色変換テーブルの生成手段、作成手段を有する色処理装置の色処理方法であって、
前記取得手段が、少なくともデバイスの測色値を含む、実用色域を示す測色値を取得し、
前記マトリクスの生成手段が、第一の座標系であるプロファイル接続空間の色値を、前記実用色域を包含し、かつ、前記プロファイル接続空間よりも狭い第二の座標系へ座標変換するマトリクスを生成し、
前記変換テーブルの生成手段が、前記第一の座標系で表される重要色の色値を色変換テーブルの格子点に配置するように、前記第一の座標系の色値を変換する変換テーブルを生成し、
前記色変換テーブルの生成手段が、前記変換テーブルの逆関数により前記第二の座標系における格子点の値を変換し、前記変換後の値を前記マトリクスの逆変換により前記第一の座標系の値に変換し、前記デバイスの測色値を参照して前記第一の座標系の値に対応する前記デバイスのデバイス依存値を算出し、前記デバイス依存値を前記格子点の出力値に設定した前記色変換テーブルを生成し、
前記作成手段が、前記マトリクス、前記変換テーブル、および、前記色変換テーブルを格納した色変換プロファイルを作成することを特徴とする色処理方法。
【請求項8】
請求項1から請求項5の何れか一項に記載された色処理装置が作成した色変換プロファイルを用いて色変換を行うことを特徴とする画像処理装置。
【請求項9】
コンピュータ装置を請求項1から請求項5の何れか一項に記載された色処理装置の各手段として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−195853(P2012−195853A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−59655(P2011−59655)
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]