図2は、本実施例2にかかる色補間装置の構成について説明する。図2は、本実施例2にかかる色補間装置の構成を示す図である。図2に示すように、この色補間装置100は、通信部110、入力部120a、データ読み取り部120b、表示部130、入出力制御部140、記憶部150、制御部160を有する。
通信部110は、他の装置と無線または有線によって接続され、他の装置とデータ通信を実行する。例えば、通信部110の一例としては、例えば通信カードが挙げられる。また、他の装置の一例としては、表示装置、プリンタ、スキャナ等が挙げられる。
入力部120aの一例としては、キーボードやマウス、タッチパネル等の入力装置が挙げられる。利用者は、入力部120aを操作して、各種のデータを色補間装置100に入力する。入力部120aは、受け付けたデータを制御部160に出力する。データ読み取り部120bは、可搬型の記憶媒体に接続し、接続した記憶媒体から各種のデータを読み取る。例えば、データ読み取り部120bの一例としては、メモリリーダが挙げられる。データ読み取り部120bは、読み出したデータを制御部160に出力する。
表示部130は、制御部160から受け付けたデータを表示する。表示部130の一例としては、例えば、ディスプレイやモニタが挙げられる。入出力制御部140は、通信部110、入力部120a、データ読み取り部120b、表示部130、制御部160のデータに対するデータの入出力を制御する処理部である。
記憶部150は、制御部160に利用される各種のデータを記憶する記憶部である。この記憶部150の一例として、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置が挙げられる。この記憶部150は、図2に示すように、色関連情報150a、特性値情報150b、補間条件情報150c、補間対象情報150dを記憶する。
このうち、色関連情報150aは、所定の装置に依存した色空間の複数種類の色の階調と、各階調に対応する所定の装置に依存しない色空間の複数種類の色の値とを対応づけた情報である。ここでは一例として、所定の装置に依存した色空間の複数種類の色をC(Cyan)、M(Magenta)、Y(Yellow)、K(Black)とする。また、所定の装置に依存しない色空間の複数種類の色をL*、a*、b*とする。
図3は、色関連情報のデータ構造の一例を示す図である。図3に示すように、この色関連情報150aは、Cに対するL*の変化情報1a、Cに対するa*の変化情報1b、Cに対するb*の変化情報1cを含む。また、色関連情報150aは、Mに対するL*の変化情報2a、Mに対するa*の変化情報2b、Mに対するb*の変化情報2cを含む。また、色関連情報150aは、Yに対するL*の変化情報3a、Yに対するa*の変化情報3b、Yに対するb*の変化情報3cを含む。また、色関連情報150aは、Kに対するL*の変化情報4a、Kに対するa*の変化情報4b、Kに対するb*の変化情報4cを含む。
Cに対するL*の変化情報1aは、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を記憶する情報である。Cに対するa*の変化情報1bは、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を記憶する情報である。Cに対するb*の変化情報1cは、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を記憶する情報である。なお、各変化情報1a〜1cにおいて、M、Y、Kの階調は0%で固定とする。
Mに対するL*の変化情報2aは、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を記憶する情報である。Mに対するa*の変化情報2bは、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を記憶する情報である。Mに対するb*の変化情報2cは、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を記憶する情報である。なお、各変化情報2a〜2cにおいて、C、Y、Kの階調は0%で固定とする。
Yに対するL*の変化情報3aは、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を記憶する情報である。Yに対するa*の変化情報3bは、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を記憶する情報である。Yに対するb*の変化情報3cは、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を記憶する情報である。なお、各変化情報3a〜3cにおいて、C、M、Kの階調は0%で固定とする。
Kに対するL*の変化情報4aは、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を記憶する情報である。Kに対するa*の変化情報4bは、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を記憶する情報である。Kに対するb*の変化情報4cは、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を記憶する情報である。なお、各変化情報4a〜4cにおいて、C、M、Yの階調は0%で固定とする。
ここでは一例として、Kに対するL*の変化情報4aのデータ構造の一例について説明する。図4は、Kに対するL*の変化情報のデータ構造の一例を示す図である。図4に示すように、Kに対するL*の変化情報4aは、Kの各階調0〜100%に対応するL*の値がそれぞれ記憶されている。
図2の説明に戻る。特性値情報150bは、所定の装置に依存した色空間の複数種類の色の階調の変化に対応する、所定の装置に依存しない色空間の色の値の変化の特性を記憶する。この特性値情報150bは、後述の特性値算出部160bにより作成される。
図5は、特性値情報150bのデータ構造の一例を示す図である。図5に示すように、この特性値情報150bは、Cに対するL*の特性値情報5a、Cに対するa*の特性値情報5b、Cに対するb*の特性値情報5cを含む。また、特性値情報150bは、Mに対するL*の特性値情報6a、Mに対するa*の特性値情報6b、Mに対するb*の特性値情報6cを含む。また、特性値情報150bは、Yに対するL*の特性値情報7a、Yに対するa*の特性値情報7b、Yに対するb*の特性値情報7cを含む。また、特性値情報150bは、Kに対するL*の特性値情報8a、Kに対するa*の特性値情報8b、Kに対するb*の特性値情報8cを含む。
Cに対するL*の特性値情報5aは、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を0〜100の値に含まれるように正規化した値である。Cに対するL*の特性値情報5aに含まれる特性値をCL*特性値とする。
Cに対するa*の特性値情報5bは、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を0〜100の値に含まれるように正規化した値である。Cに対するa*の特性値情報5bに含まれる特性値をCa*特性値とする。
Cに対するb*の特性値情報5cは、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Cの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を0〜100の値に含まれるように正規化した値である。Cに対するb*の特性値情報5cに含まれる特性値をCa*特性値とする。
Mに対するL*の特性値情報6aは、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を0〜100の値に含まれるように正規化した値である。Mに対するL*の特性値情報6aに含まれる特性値をML*特性値とする。
Mに対するa*の特性値情報6bは、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を0〜100の値に含まれるように正規化した値である。Mに対するa*の特性値情報6bに含まれる特性値をMa*特性値とする。
Mに対するb*の特性値情報6cは、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Mの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を0〜100の値に含まれるように正規化した値である。Mに対するb*の特性値情報6cに含まれる特性値をMb*特性値とする。
Yに対するL*の特性値情報7aは、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を0〜100の値に含まれるように正規化した値である。Yに対するL*の特性値情報7aに含まれる特性値をYL*特性値とする。
Yに対するa*の特性値情報7bは、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を0〜100の値に含まれるように正規化した値である。Yに対するa*の特性値情報7bに含まれる特性値をYa*特性値とする。
Yに対するb*の特性値情報7cは、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Yの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を0〜100の値に含まれるように正規化した値である。Yに対するb*の特性値情報7cに含まれる特性値をYb*特性値とする。
Kに対するL*の特性値情報8aは、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するL*の値を0〜100の値に含まれるように正規化した値である。Kに対するL*の特性値情報8aに含まれる特性値をKL*特性値とする。
Kに対するa*の特性値情報8bは、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するa*の値を0〜100の値に含まれるように正規化した値である。Kに対するa*の特性値情報8bに含まれる特性値をKa*特性値とする。
Kに対するb*の特性値情報8cは、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応する特性値の値を記憶する情報である。この特性値は、Kの階調を0〜100%まで10%ずつ変化させた場合の、各階調に対応するb*の値を0〜100の値に含まれるように正規化した値である。Kに対するb*の特性値情報8cに含まれる特性値をKb*特性値とする。
ここでは一例として、Kに対するL*の特性値情報8aのデータ構造の一例について説明する。図6は、Kに対するL*の特性値情報のデータ構造の一例を示す図である。図6に示すように、Kに対するL*の特性値情報8aは、Kの各階調0〜100%に対応するKL*特性値の値がそれぞれ記憶されている。
図2の説明に戻る。補間条件情報150cは、C、M、Y、Kの条件と、補間演算に利用する色成分とを対応づけて記憶する。図7は、補間条件情報のデータ構造の一例を示す図である。図7に示すように、この補間条件情報150cは、CMYK条件と、色成分とを対応づけて記憶する。例えば、CMYK条件がC≧80、M≦10、Y≦10、K≦10の場合には、色成分b*を補間演算に利用する。この補間条件情報150cを用いた具体的な処理は後述する。
補間対象情報150dは、補間演算の対象となるデータである。図8は、補間対象情報のデータ構造の一例を示す図である。図8に示す例では、C、M、Yの階調が50%の状態において、Kの階調が30%の場合のL*の値が未知となっている。この未知の値は、後述の補間演算部160cにより算出される。
続いて、図2に示した制御部160の説明を行う。制御部160は、補間対象情報150dに対して補間演算を行う処理部である。この制御部160は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。
制御部160は、登録部160a、特性値算出部160b、補間演算部160cを有する。登録部160aは、通信部110、入力部120aまたはデータ読み取り部120bから色関連情報を受け付け、色関連情報を記憶部150に登録する処理部である。
特性値算出部160bは、色関連情報150aに基づいて特性値情報150bを生成する処理部である。図9は、特性値算出部の処理を説明するための図である。図9では一例として、Kに対するL*値の変化情報4aからKに対するL*値の特性値情報8aを生成する場合について説明する。
図9に示すように、特性値算出部160bは、L*の値が0〜100の値に含まれるように、L*の各値を正規化する。例えば、正規化した値は、(L*−L*min)÷(L*max−L*min)×100により求められる。そして、特性値算出部160bは、正規化した値の大小関係が小さい値から順となるように、必要であれば各正規化した値を100から引くことで反転し、を反転させた各値をKL*特性値として特定する。特性値算出部160bは、KL*特性値の小さい値から順に、Kの各階調に割り当てることで、Kに対するL*値の特性値情報8aを生成する。
特性値算出部160bは、図9に示した処理と同様にして、他の特性値情報5a〜5c,6a〜6c,7a〜7c,8b,8cを、各変化情報1a〜1c,2a〜2c,3a〜3c、4b,4cを基に算出する。
図2の説明に戻る。補間演算部160cは、特性値情報150bおよび補間条件情報150cを基にして、補間対象情報150dの補間演算を実行する処理部である。図10は、補間演算部の処理を説明するための図である。補間演算部160cは、補間演算の条件に応じて、最適な特性値情報を特性値情報5a〜5c、6a〜6c、7a〜7c、8a〜8cから選択した後に、補間演算を実行する。
まず、最適な特性値情報を選択する処理について説明する。具体的には、補間演算部160cは、M、Y、Kの階調を固定し、Cの階調の変化に応じて変化するL*値に対して補間演算を実行する場合には、Cに対するL*の特性値情報5aを選択する。補間演算部160cは、M、Y、Kの階調を固定し、Cの階調の変化に応じて変化するa*値に対して補間演算を実行する場合には、Cに対するa*の特性値情報5bを選択する。M、Y、Kの階調を固定し、Cの階調の変化に応じて変化するb*値に対して補間演算を実行する場合には、Cに対するb*の特性値情報5cを選択する。
補間演算部160cは、C、Y、Kの階調を固定し、Mの階調の変化に応じて変化するL*値に対して補間演算を実行する場合には、Mに対するL*の特性値情報6aを選択する。補間演算部160cは、C、Y、Kの階調を固定し、Mの階調の変化に応じて変化するa*値に対して補間演算を実行する場合には、Mに対するa*の特性値情報6bを選択する。補間演算部160cは、C、Y、Kの階調を固定し、Mの階調の変化に応じて変化するb*値に対して補間演算を実行する場合には、Mに対するb*の特性値情報6cを選択する。
補間演算部160cは、C、M、Kの階調を固定し、Yの階調の変化に応じて変化するL*値に対して補間演算を実行する場合には、Yに対するL*の特性値情報7aを選択する。補間演算部160cは、C、M、Kの階調を固定し、Yの階調の変化に応じて変化するa*値に対して補間演算を実行する場合には、Yに対するa*の特性値情報7bを選択する。補間演算部160cは、C、M、Kの階調を固定し、Yの階調の変化に応じて変化するb*値に対して補間演算を実行する場合には、Yに対するb*の特性値情報7cを選択する。
補間演算部160cは、C、M、Yの階調を固定し、Kの階調の変化に応じて変化するL*値に対して補間演算を実行する場合には、Kに対するL*の特性値情報8aを選択する。補間演算部160cは、C、M、Yの階調を固定し、Kの階調の変化に応じて変化するa*値に対して補間演算を実行する場合には、Kに対するa*の特性値情報8bを選択する。補間演算部160cは、C、M、Yの階調を固定し、Kの階調の変化に応じて変化するb*値に対して補間演算を実行する場合には、Kに対するb*の特性値情報8cを選択する。
図10では一例として、C、M、Yの階調を50%に固定し、Kの階調の変化に応じて変化するL*値に対して補間演算を実行する場合について説明する。この場合には、補間演算部160cは、最適な特性値情報として、Kに対するL*の特性値情報8aを選択される。
続いて、補間演算部160cが最適な特性値情報を利用して補間演算を実行する処理について説明する。補間演算部160cは、Kに対するL*の特性値情報8aを選択した後に、Kの階調をキーにして、KL*特性値とL*の値とを対応づける。KL*特性値は、図9に示したように、Kに対するL*の特性値情報8aに含まれる情報である。以下の説明において、補間演算の対象となる値を補間対象値と表記する。図10に示す例では、Kの階調が30%となる場合のL*の値を補間対象値とする。
補間演算部160cは、補間対象値の直近の前後の値の差分を算出する。補間演算部160cは、差分が閾値以上の場合には、最適な特性値情報を利用して、補間対象値の値を求める。これに対して、補間演算部160cは、差分が所定の閾値未満の場合には、ラグランジュ補間を利用して、補間対象値の値を求める。
まず、差分が閾値以上の場合における補間演算部160cの処理について説明する。この場合には、補間演算部160cは、補間対象値に対応する特性値が、直近の前後の特性値の間のどの位置にあるのかを示す比率を算出する。この比率は、式(1)により算出される。
比率=(A1−A2)/(A3−A2)・・・(1)
式(1)において、A1は、補間対象値に対応する特性値を示す。A2は、A1より前の直近の特性値に対応する。A3は、A1より後の直近の特性値に対応する。図10に示す例では、A1は「34.68」、A2は「14.93」、A3は「52.67」となる。式(1)に上記A1〜A3の値を代入すると、比率は約「0.523」となる。
補間演算部160cは、式(1)で求めた比率を利用して、補間対象値を算出する。補間演算部160cは、式(2)を利用して、補間演算値を算出する。
補間対象値=B1−(B1−B2)×比率・・・(2)
式(2)において、B1は、補間対象値より前の直近の値に対応する。B2は、補間対象値より後の直近の値に対応する。図10に示す例では、B1は「48.71」、B2は「39.96」となる。式(2)に上記B1,B2の値を代入すると、補間対象値は約「44.13」となる。
続いて、差分が閾値未満の場合における補間演算部160cの処理について説明する。差分が閾値未満の場合には、ラグランジュ補間を利用して補間対象値を算出する。図11は、ラグランジュ補間により補間対象値を算出する場合の一例を説明する図である。図11に示す例では、Cの階調が30%となる場合のL*の値を補間対象値とする。
補間演算部160cは、ラグランジュ補間の公式を利用して、補間対象値を算出する。具体的に、補間対象値は、
により算出される。式(3)を実行することで、補間対象値「46.667」が算出される。上記処理を行うことで、補間演算部160cは補間対象値の値を算出することができる。
ところで、補間演算部160cは、図7に示した補間条件情報150cを基にして、最適な特性値情報を選択してもよい。例えば、補間対象となる色が赤系統または緑系統の場合には、a*の特性値情報を利用した方が補間精度がよく、補間対象となる色が青系統または黄系統の場合には、b*の特性値情報を利用した方が補間精度がよいことが知られている。
例えば、C≧80、M≦10、Y≦10、K≦10の範囲で補間演算を実行する場合には、b*の特性情報を優先的に選択する。即ち、L*、a*の特性情報は用いなくてもよい。一例を示すと、補間演算部160cは、Cの階調が80%、Mの階調が10%、Yの階調が10%に固定され、Kの階調が0〜10%の間で変化するL*、a*、b*のいずれかに対して補間演算を行う場合には、Kに対するb*値の特性値情報4cを選択する。
また、M≧80、C≦20、Y≦20、K≦20の範囲で補間演算を実行する場合には、a*の特性情報を優先的に選択する。即ち、L*、b*の特性情報は用いなくてもよい。一例を示すと、補間演算部160cは、Mの階調が80%、Cの階調が20%、Yの階調が20%に固定され、Kの階調が0〜20%の間で変化するL*、a*、b*のいずれかに対して補間演算を行う場合には、Kに対するa*値の特性値情報4bを選択する。
また、Y≧80、C≦10、M≦10、K≦10の範囲で補間演算を実行する場合には、b*の特性情報を優先的に選択する。即ち、L*、a*の特性情報は用いなくてもよい。一例を示すと、補間演算部160cは、Yの階調が80%、Cの階調が10%、Mの階調が10%に固定され、Kの階調が0〜10%の間で変化するL*、a*、b*のいずれかに対して補間演算を行う場合には、Kに対するb*値の特性値情報4cを選択する。
また、K≧0、C=0、M=0、Y=0の範囲で補間演算を実行する場合には、L*の特性情報を優先的に選択する。即ち、a*、b*の特性情報は用いなくてもよい。一例を示すと、補間演算部160cは、Cの階調が0%、Mの階調が0%、Yの階調が0%に固定され、Kの階調が0〜100%の間で変化するL*、a*、b*のいずれかに対して補間演算を行う場合には、Kに対するL*値の特性値情報4aを選択する。
次に、本実施例2にかかる色補間装置100の処理手順について説明する。図12は、色補間装置の処理手順を示すフローチャートである。図12に示す処理は、例えば、記憶部150に色関連情報および補間対象情報150dが記憶部150に記憶された場合に実行される。
図12に示すように、色補間装置100は、色関連情報を取得し(ステップS101)、特性値情報を算出し(ステップS102)、補間対象値を選択する(ステップS103)。色補間装置100は、補間対象値において、直近の前後の特性値を取得する(ステップS104)。
色補間装置100は、直近の前後の特性値の変化幅が閾値未満か否かを判定する(ステップS105)。色補間装置100は、変化幅が閾値未満の場合には(ステップS105,Yes)、ラグランジュ補間を実行し(ステップS106)、ステップS109に移行する。
一方、色補間装置100は、変化幅が閾値以上の場合には(ステップS105,No)、比率を算出し(ステップS107)、補間対象値を算出する(ステップS108)。ステップS107において、色補間装置100は、式(1)を利用して比率を算出する。ステップS108において、色補間装置100は、式(2)を利用して補間対象値を算出する。
色補間装置100は、処理を終了する場合には(ステップS109,Yes)、処理を終了する。一方、色補間装置100は、処理を継続する場合には(ステップS109,No)、次の補間対象値を選択し(ステップS110)、再度ステップS104に移行する。
次に、本実施例2に示した色補間装置100の効果について説明する。色補間装置100は、L*、a*、b*毎の特性値を算出し、L*、a*、b*毎の特性値を利用して補間演算する。このため、L*、a*、b*毎の非線形特性の影響をそれぞれ取り除くことができ、補間演算の精度を向上させることができる。
また、色補間装置100は、補間対象値の直近の前後の値の差分を算出し、差分と閾値との比較結果に応じて補間演算の算出法を選択し、選択した補間演算を実行する。具体的には、色補間装置100は、差分が閾値以上の場合には、上記式(1)、(2)を用いた補間演算を行う。これに対して、色補間装置100は、差分が閾値未満の場合には、非線形性の影響を受けにくいので、式(1)、(2)の補間演算よりも処理が軽いラグランジュ補間を実行する。このため、補間演算の精度を保ちつつ、状況に応じて処理負荷を軽減させることができる。
また、色補間装置100は、補間条件情報150cとCMYKの階調の組み合わせとを基にして、補間演算に利用する特性値情報を判定する。このため、補間対象となる色の特性に合った特性値情報を利用することができ、補間精度をより向上させることができる。
ところで、特性値算出部160bは、色関連情報を正規化することで、特性値情報150bを作成していた。ここで、正規化前の色の値の変化幅、即ち正規化前の色の値の最大値と最小値との幅が閾値未満の場合には、わずかな変化幅が0〜100の値に引き延ばされてしまうため、この色の特性情報を用いると、補間演算の精度が低下する場合がある。このため、色補間装置100は、正規化前の色の値の変化幅が閾値未満となる色以外に対応する特性値情報を利用することで、補間演算の精度が低下することを防止することができる。
また、特性値算出部160bは、特性値情報105bのうち、特性値が単一の方向に変化する特性値情報を利用して、補間演算を実行してもよい。例えば、特性値がプラス方向およびマイナス方向に変化する特性値情報よりも、特性値が単調増加または単調減少する特性値情報の方が信頼性が高いため、より補間演算の精度を向上させることができる。
上述した実施例では一例として、CMYK値を用いて補間演算を行う場合について説明を行ったが、R(Red)G(Green)B(Blue)値でも同様に補間演算を行うことができる。
色補間装置100は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、色補間装置100の各機能を搭載することによって実現することもできる。
図13は、実施例にかかる色補間装置を構成するコンピュータのハードウェア構成を示す図である。図13に示すように、このコンピュータ200は、各種演算処理を実行するCPU(Central Processing Unit)201と、ユーザからのデータの入力を受け付ける入力装置202と、モニタ203を有する。また、コンピュータ200は、記憶媒体からプログラム等を読取る媒体読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置205を有する。また、コンピュータ200は、各種情報を一時記憶するRAM(Random Access Memory)206と、ハードディスク装置207を有する。各装置201〜207は、バス208に接続される。
そして、ハードディスク装置207には、図2に示した登録部160a、特性値算出部160b、補間演算部160cに対応する補間演算プログラム207aを記憶する。また、ハードディスク装置207は、各種データ207bを記憶する。この各種データ207bは、図2の各種データ150a〜150dに対応する。
CPU201が補間演算プログラム207aをハードディスク装置207から読み出してRAM206に展開することにより、補間演算プログラム207aは、補間演算プロセス206aとして機能するようになる。また、CPU201は、各種データ207bを読み出して、RAM206に格納する。補間演算プロセス206aは、各種データ206bを利用して補間演算を実行する。
なお、上記の補間演算プログラム207aは、必ずしもハードディスク装置207に格納されている必要はない。例えば、CD−ROM等の記憶媒体に記憶された補間演算プログラム207aを、コンピュータ200が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等にこの補間演算プログラム207aを記憶させておいてもよい。この場合、コンピュータ200がこれらから補間演算プログラム207aを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)所定の装置に依存した第1色空間の複数種類の色の離散的な階調と、各階調に対応する所定の装置に依存しない第2色空間の複数種類の色の値とを関連づけた色関連情報を記憶する記憶部と、
前記色関連情報に基づいて、前記第1色空間の各色の離散的な階調の変化に対応する前記第2色空間の色の値の変化の特性を示す特性変化情報を、前記第2色空間の複数種類の色毎に算出する特性変化算出部と、
前記第2色空間の複数種類の色毎の特性変化情報に基づいて、前記第2色空間の色の値を補間演算する補間演算部と
を備えたことを特徴とする色補間装置。
(付記2)前記補間演算部は、補間演算対象となる前記第2色空間の色の値の前後の値の変化幅が閾値以上か否かを判定し、前記変化幅が閾値未満の場合には、所定の補間法を用いて前記第2色空間の色の値を補間演算することを特徴とする付記1に記載の色補間装置。
(付記3)前記補間演算部は、前記第1色空間の複数種類の色の階調の組み合わせに応じて、補間演算を行う場合の前記特性変化情報を特定し、特定した特性変化情報に基づいて、前記第1色空間の色の階調に対応する前記第2色空間の色の値を補間演算することを特徴とする付記1または2に記載の色補間装置。
(付記4)前記補間演算部は、各特性変化情報のうち、前記第2色空間の色の最大値と最小値との幅が閾値以上となる色の特性変化情報を利用して、補間演算することを特徴とする付記1、2または3に記載の色補間装置。
(付記5)前記補間演算部は、各特性変化情報のうち、単一の方向に特性値が変化する特性変化情報を利用して、補間演算することを特徴とする付記1〜4のいずれか一つに記載の色補間装置。
(付記6)コンピュータに、
所定の装置に依存した第1色空間の複数種類の色の離散的な階調と、各階調に対応する所定の装置に依存しない第2色空間の複数種類の色の値とを関連づけた色関連情報を記憶した記憶装置を参照し、前記色関連情報に基づいて、前記第1色空間の各色の離散的な階調の変化に対応する前記第2色空間の色の値の変化の特性を示す特性変化情報を、前記第2色空間の複数種類の色毎に算出する特性変化算出手順と、
前記第2色空間の複数種類の色毎の特性変化情報に基づいて、前記第2色空間の色の値を補間演算する補間演算手順と
を実行させることを特徴とする色補間プログラム。
(付記7)前記補間演算手順は、補間演算対象となる前記第2色空間の色の値の前後の値の変化幅が閾値以上か否かを判定し、前記変化幅が閾値未満の場合には、所定の補間法を用いて前記第2色空間の色の値を補間演算することを特徴とする付記6に記載の色補間プログラム。
(付記8)前記補間演算手順は、前記第1色空間の複数種類の色の階調の組み合わせに応じて、補間演算を行う場合の前記特性変化情報を特定し、特定した特性変化情報に基づいて、前記第1色空間の色の階調に対応する前記第2色空間の色の値を補間演算することを特徴とする付記6または7に記載の色補間プログラム。
(付記9)前記補間演算手順は、各特性変化情報のうち、前記第2色空間の色の最大値と最小値との幅が閾値以上となる色の特性変化情報を利用して、補間演算することを特徴とする付記6、7または8に記載の色補間プログラム。
(付記10)前記補間演算手順は、各特性変化情報のうち、単一の方向に特性値が変化する特性変化情報を利用して、補間演算することを特徴とする付記6〜9のいずれか一つに記載の色補間プログラム。
(付記11)色補間装置が、
所定の装置に依存した第1色空間の複数種類の色の離散的な階調と、各階調に対応する所定の装置に依存しない第2色空間の複数種類の色の値とを関連づけた色関連情報を記憶した記憶装置を参照し、前記色関連情報に基づいて、前記第1色空間の各色の離散的な階調の変化に対応する前記第2色空間の色の値の変化の特性を示す特性変化情報を、前記第2色空間の複数種類の色毎に算出する特性変化算出ステップと、
前記第2色空間の複数種類の色毎の特性変化情報に基づいて、前記第2色空間の色の値を補間演算する補間演算ステップと
を含んだことを特徴とする色補間方法。
(付記12)前記補間演算ステップは、補間演算対象となる前記第2色空間の色の値の前後の値の変化幅が閾値以上か否かを判定し、前記変化幅が閾値未満の場合には、所定の補間法を用いて前記第2色空間の色の値を補間演算することを特徴とする付記11に記載の色補間方法。
(付記13)前記補間演算ステップは、前記第1色空間の複数種類の色の階調の組み合わせに応じて、補間演算を行う場合の前記特性変化情報を特定し、特定した特性変化情報に基づいて、前記第1色空間の色の階調に対応する前記第2色空間の色の値を補間演算することを特徴とする付記11または12に記載の色補間方法。
(付記14)前記補間演算ステップは、各特性変化情報のうち、前記第2色空間の色の最大値と最小値との幅が閾値以上となる色の特性変化情報を利用して、補間演算することを特徴とする付記11、12または13に記載の色補間方法。
(付記15)前記補間演算ステップは、各特性変化情報のうち、単一の方向に特性値が変化する特性変化情報を利用して、補間演算することを特徴とする付記11〜14のいずれか一つに記載の色補間方法。