図1は本発明に係る画像処理システムの一実施形態を示す構成図である。
画像処理システム10は、通信網100、画像処理装置1000、画像入力装置9010、及び画像出力装置9020で構成されている。
通信網100は、例えば、LAN(Local Area Network )、WAN(Wide Area Network)、MAN(Metropolitan Area Network)、又は公衆回線網で構成され、画像処理装置1000、画像入力装置9010、及び画像出力装置9020をそれぞれ通信可能に接続する。
画像処理装置1000は、通信網100を介して画像入力装置9010及び画像出力装置9020に接続している。画像処理装置1000は、画像入力装置9010が入力した画像を表す画像情報を取得する。次に、画像処理装置1000は、取得した画像情報を構成する色の形式を変換する。
尚、画像入力装置9010が入力する画像を構成する色は、画像入力装置9010が取り扱う色信号に対応した基本色で色を表す色空間を用いて表される。つまり、画像入力装置9010が入力する画像情報を構成する色は、画像入力装置9010に依存した形式で表される。
本実施例では、画像入力装置9010に依存した形式として、CMYKOG方式という基本色のシアン(C)、マゼンダ(M)、黄(Y)、黒(K)、オレンジ(O)、緑(G)で1つの色を表す形式を採用する。
つまり、画像処理装置1000が変換対象とする画像情報が表す画像を構成する色は、画像入力装置9010が取り扱う色信号に対応した色空間(CMYKOG)を用いて表される。
本実施例では、画像出力装置9020に依存した形式として、RGBCMYK方式という基本色の赤(R)、緑(G)、青(B)、シアン(C)、マゼンダ(M)、黄(Y)、黒(K)で1つの色を表す形式を採用する。
つまり、画像処理装置1000が変換した画像情報が表す画像を構成する色は、画像出力装置9020が取り扱う色信号に対応した色空間(RGBCMYK)を用いて表される。
ここで、画像入力装置9010又は画像出力装置9020に依存した基本色で色を表す情報を依存色情報といい、画像入力装置9010及び画像出力装置9020から独立した基本色で色を表す情報を独立色情報という。
本実施例では、独立色情報は、画像入力装置9010及び画像出力装置9020が取り扱う色信号に対応していない色空間を用いて色を表す。
具体例としては、CIE L*a*b*方式という基本色とみなす明度(L*)、緑から赤の範囲の要素(a*)、青から黄の範囲の要素(b*)で1つの色を表す形式を採用する。
ここで図2を参照して、画像処理装置1000の構成について説明する。図2は、画像処理装置1000の一実施形態を示す構成図である。
画像処理装置1000は、情報入力部1010、二次記憶部1020、変換部1030、一次記憶部1040、スクリーン処理部1050、ファイル作成部1060、及び情報出力部1070で構成される。
情報入力部1010、変換部1030、スクリーン処理部1050、ファイル作成部1060、及び情報出力部1070が有する各機能は、画像処理装置1000が実行するソフトウェア制御により実現される。
ここで、図3を参照して、ソフトウェア制御を実行するための画像処理装置1000のハードウェア構成について説明する。図3は、このソフトウェア制御を実現するための画像処理装置1000のハードウェアの一構成例を表す図である。
画像処理装置1000は、例えば、CPU(Central Processing Unit)等の演算部1001、EPROM(Erasable Programmable Read-Only Memory)又はEEPROM(Electrically Erasable Programmable Read-Only Memory)等の読み出し専用メモリであるROM1002(Read-Only Memory )、DRAM(Dynamic RAM)又はSRAM(Static RAM)等の揮発性メモリ及びNVRAM(Non Volatile RAM)等の不揮発性メモリで構成されるRAM1003(Random Access Memory)、並びにハードディスク等の外部記憶装置で構成される外部記憶部1004で構成され、演算部1001、ROM1002、RAM1003、及び外部記憶部1004は互いにバス1005によって接続している。
ソフトウェア制御は、ROM1002又は外部記憶部1004に格納したプログラムを演算部1001が読み、読込んだプログラムに従って演算部1001が演算を行うことにより上記各部の機能を実現する。なお、RAM1003には、演算結果のデータが書き込まれ、特にNVRAMには、電源オフ時にバックアップが必要なデータが保存される。
ここで、図1に戻り、画像処理装置1000の構成について引き続き説明する。
情報入力部1010は、例えば、ネットワークアダプタで構成され、通信網100、二次記憶部1020、及び変換部1030に接続している。
情報入力部1010は、通信網100を通じて、画像入力装置9010又は画像出力装置9020に依存した依存形式で表された画像情報と、画像情報を入力した画像入力装置9010の特性を表す情報を受信する。
尚、画像入力装置9010の特性を表す情報は、画像入力装置9010の特性を表すICC(International Color Consortium)プロファイルを含む。
また、画像出力装置9020の特性を表す情報は、画像出力装置9020の特性を表すICC(International Color Consortium)プロファイルを含む。尚、画像入力装置9010の特性を表す情報及び画像出力装置9020の特性を表す情報を合わせて、以下単に、特性情報という。
ここで図4を参照して、ICCプロファイルのファイルフォーマットについて説明する。図4は、ICCプロファイルのファイルフォーマットの一例を説明するための図である。
図4に示すICCプロファイルは、プロファイルヘッダー部PH、タグカウント部TC、1又は複数のタグレコード部TTR、及び要素部TEDで構成される。
プロファイルヘッダー部PHは、ICCプロファイルの検索やソートをするために必要な情報を保存する128byteの領域である。具体的には、プロファイルヘッダー部PHは、特性を表す装置を特定するための情報やICCプロファイルのファイルサイズ等を保存する。タグカウント部TCは、タグレコード部TTRの数を保存する4byteの領域である。
ここで図5を参照して、タグレコード部TTRの構成について説明する。図5は、タグレコード部TTRの一構成例を説明するための図である。
タグレコード部TTRは、タグ種類部TS、オフセット部TO、及びサイズ部TZで構成される。タグ種類部TSは、オフセット部TOが所在を表す要素部TEDに保存した情報の種類を表す情報を保存する4byteの領域である。
具体的には、要素部TEDに保存した情報がAToB情報であることを表すAToBタグ、BToA情報であることを表すBToAタグ、及びプライベート情報であることを表すプライベートタグを含む。尚、プライベート情報は、ICCプロファイルを用いるメーカー又はユーザが用いる任意の情報をいう。
AToB情報及びBToA情報は、画像入力装置9010又は画像出力装置9020に依存した形式で色を表す依存色情報と、画像入力装置9010又は画像出力装置9020から独立した形式で色を表す独立色情報とをそれぞれが表す色で関連付けた情報である。
特に、AToB情報は、関連付けた独立色情報を依存色情報に基づいて検索する場合に用いられる情報であり、BToA情報は、関連付けた依存色情報を独立色情報に基づいて検索する場合に用いられる情報である。
尚、ICCプロファイルが記述するAToB情報又はBToA情報を、以下単に、主DLUT(Direct Look Up Table)という。
オフセット部TOは、要素部TEDの所在を表すオフセット情報を保存する4byteの領域である。サイズ部TZは、オフセット部TOが所在を表す要素部TEDサイズを表す情報を保存する4byteの領域である。
尚、上記の主DLUTの所在を表す情報は、AToBタグ又はBToAタグに関連付けられたオフセット情報を含む。
尚、第n番目(nは自然数であってタグカウント部が保存する数よりも小さい)のタグレコード部TTRを構成するタグ種類部TS、オフセット部TO、及びサイズ部TZが保存する情報は、第n番目の要素部TEDに関する情報である。
ここで、図4に戻り、ICCプロファイルの構成について引き続き説明する。
要素部TEDは、対応するタグレコード部TTRのタグ種類部TSが保存する情報で表される種類の情報を保存する。具体的には、AToB情報又はBToA情報(つまり主DLUT)、若しくはプライベート情報を含む。
ここで図6を参照して、主DLUTについて説明する。図6は、主DLUTの一例を表す図である。
尚、本実施例では、画像入力装置9010に依存した形式はCMYKOG空間を用いて色を表す形式であるとして説明しているが、図6においては、説明の便宜上RGB空間を用いて色を表す場合を例に挙げて説明する。
図6に示す主DLUTは、画像入力装置9010に依存した形式であるRGB形式で表される色を、画像入力装置9010及び画像出力装置9020から独立した形式であるL*a*b*形式に変換するために使用されるルック・アップ・テーブルである。
図6に示す主DLUTは、R座標、G座標、及びB座標の全てが0以上かつ255以下となるRGB空間を、原点からR軸方向に座標値16刻みでR軸に垂直に分割し、原点からG軸方向に座標値16刻みでG軸に垂直に分割し、かつ原点からB軸方向に座標値16刻みでB軸に垂直に分割したそれぞれの部分空間の各格子状の点(3次元以外の部分空間においても以下単に、格子点という)を表す座標で表される色と、L*a*b*形式で表される色とをそれぞれが表す色で関連付ける。
ここで、各軸においてN個の格子点を有するn次元の主DLUTが有する全格子点の数は、N^n個となる。図6に示す主DLUTは、各軸に(255+1)/16 + 1個(つまり、17個)の格子点を有するので、全格子点の数は17^3 =4913個となる。
上記実施例では、主DLUTは、16刻みの格子点を有するとして説明したが、これに限定される訳ではない。
ここで表1を参照して、主DLUTを表す情報について説明する。表1は、主DLUTを表す情報の一例を説明するための表である。
表1は、基底アドレスフィールド、Bフィールド、Gフィールド、Rフィールド、Lフィールド、aフィールド、及びbフィールドを有している。基底アドレスフィールド、Bフィールド、Gフィールド、及びRフィールドは、後に説明する基底アドレス、B座標値、G座標値、及びR座標値を保存する。
Bフィールド、Gフィールド、及びRフィールドは、B座標、G座標、及びR座標の値を保存する。Lフィールド、aフィールド、及びbフィールドは、同一レコードのRフィールド、Gフィールド、及びBフィールドに保存する座標値で表される色を、L*a*b*空間を用いた形式で表した場合の座標値である明度を表す数値(L*)、緑から赤の範囲の要素を表す数値(a*)、青から黄の範囲の要素を表す数値(b*)を保存する。
つまり、RGB空間において、座標(0,0,0)で表される黒色は、L*a*b*形式で表すと(0, 127,127)という座標値で表される色に変換されることを表す。
尚、表1は、基底アドレスフィールドの値が互いに重複するレコード、並びにBフィールド、Gフィールド、及びRフィールドの値がすべて重複するレコードを有することはない。
ここで、表1は、B座標軸、G座標軸、R座標軸の順に、各レコードに格子点の座標値を格納する。また、同じ座標軸同士では、当該座標軸の値が少ない色から順に、格子点の座標値を格納する。
よって、あるRGB座標値(Rt,Gt,Bt)に関連付けられたL*a*b*座標値を取得するためには、基底アドレスを算出しさえすれば、座標値(Rt,Gt,Bt)と一致するR,G,Bフィールドの値を有するDLUTを特定できる。
ここで、数式1を参照して、基底アドレスを算出するために用いられる数式について説明する。数式1は、基底アドレスを算出するために用いられる数式の一例を表す式である。
ここで、Aは基底アドレスを、int(x)は、変数 x の整数部分を返す関数を、Rt、Gt、Btは、それぞれR軸、G軸、B軸の座標値を表す。
また、各軸においてN個の格子点を有するn次元の主DLUTが有する全格子点の数は、N^n個である。ここで本実施例において、画像入力装置9010に依存した形式は6つの座標値を用いて色を表すCMYKOG方式であり、画像出力装置9020に依存した形式は7つの座標値を用いて色を表すRGBCMYK方式であり、画像入力装置9010及び画像出力装置9020から独立した形式は3つの座標値を用いて色を表すL*a*b*である。
よって、画像入力装置9010の特性を表すICCプロファイルが表すAToB情報はN^6個の格子点を有し、画像出力装置9020の特性を表すICCプロファイルが表すAToB情報はN^7個の格子点を有する。
これに比べて、画像入力装置9010又は画像出力装置9020の特性を表すICCプロファイルが表すBToA情報はN^3個の格子点を有し、AToB情報が有する格子点よりも少ない。
ここで、図2に戻り、画像処理装置1000の構成について引き続き説明する。
情報入力部1010は、受信した画像情報を変換部1030へ出力し、受信した特性情報を二次記憶部1020へ保存する。
二次記憶部1020は、例えば、ハードディスク等の外部記憶装置で構成される二次記憶装置であり、図3で説明した外部記憶部1004と同一である。二次記憶部1020は、情報入力部1010及び変換部1030に接続する。
二次記憶部1020は、情報入力部1010が入力した特性情報を記憶し、記憶した情報を変換部1030により参照される。
変換部1030は、情報入力部1010、二次記憶部1020、一次記憶部1040、スクリーン処理部1050、及びファイル作成部1060に接続している。
変換部1030は、情報入力部1010から画像情報を、二次記憶部1020からは特性情報を取得し、取得した特性情報の一部を一次記憶部1040に読出す。
次に、変換部1030は、一次記憶部1040に読出した特性情報を用いて画像情報の表現形式を変換し、変換した画像情報をスクリーン処理部1050へ出力し、読出した特性情報をファイル生成部1060へ出力する。
ここで図7を参照して、変換部1030の一構成例について説明する。図7は、変換部1030の一構成例について説明するための図である。
変換部1030は、情報取得部1031、特定部1032、読出部1033、及び画像変換部1034で構成されている。
情報取得部1031は、二次記憶部1020及び特定部1032に接続している。情報取得部1031は、二次記憶部1020が記憶した画像入力装置9010の特性を表す特性情報から主DLUTの所在を表す情報を取得する情報取得処理を実行する。その後、情報取得部1031は、取得した情報を読出部1033へ出力する。
特定部1032は、二次記憶部1020、情報取得部1031及び読出部1033に接続している。特定部1032は、特定処理を実行することで情報入力部1010が入力した画像を構成する色を表すために用いる基本色の数を特定する。
ここで図8を参照して特定部1032が実行する特定処理について説明する。図8は、特定部1032が実行する特定処理の一例を表すフローチャートである。
先ず、特定部1032は、情報取得部1031から主DLUTの所在を表す情報を取得し、BToAタグに関連付けたオフセット情報を取得する(ステップST0101)。
次に、特定部1032は、取得したオフセット情報に基づいて二次記憶部1020が記憶する画像入力装置9010のICCプロファイルが表すBToA情報(以下単に、画像入力装置9010のBToA情報という)を特定する(ステップST0102)。
その後、特定部1032は、基底数カウンタを0としてクリアする(ステップST0103)。ここで、基底数カウンタとは、色を表すために用いる基本色の数(以下単に、基底数という)を表すカウンタ変数である。
ここで、本実施例においては、画像入力装置9010のICCプロファイルが表すAToB情報(以下単に、画像入力装置9010のAToB情報という)が有する格子点は、N^6個であり、画像入力装置9010のBToA情報が有する格子点はN^3個である。
よって、本実施例においては、色を表すために用いる画像入力装置9010に依存した基本色の数を特定するために、画像入力装置9010のAToB情報ではなく、画像入力装置9010のBToA情報を解析する。
次に、特定部1032は、画像入力装置9010のBToA情報が有する格子点の内にステップST0105からST0108の処理対象としていない格子点(以下単に、未処理格子点という)が存在するか否かを判断する(ステップST0104)。
特定部1032は、未処理格子点が存在すると判断する場合にはステップST0105の処理を、そうでない場合にはステップST0109の処理を実行する。
ステップST0104において、特定部1032は、画像入力装置9010のBToA情報に未処理格子点が存在すると判断した場合には、未処理格子点の1つを処理対象格子点とする(ステップST0105)。
次に、特定部1032は、処理対象格子点に対して後述する個別特定処理を実行することで、処理対象格子点が色を表すために用いる基本色の数を表す個別カウンタを取得する(ステップST0106)。
その後、特定部1032は、個別カウンタが基底数カウンタよりも大きいか否かを判断する(ステップST0107)。特定部1032は、は、個別カウンタが基底数カウンタよりも大きいと判断する場合にはステップST0108の処理を、そうでない場合にはステップST0104に戻り上記処理を繰り返す。
ステップST0107において、特定部1032は、個別カウンタが基底数カウンタよりも大きいと判断した場合には、基底数カウンタを個別カウンタとする(ステップST0108)。 その後、特定部1032はステップST0104に戻り上記処理を繰り返す。
ステップST0104において、特定部1032は、BToA情報に未処理格子点が存在しないと判断した場合には、読出部2034へオフセット情報と基底数カウンタとを出力する(ステップST0109)。その後、特定部1032は、特定処理の実行を終了する。
次に、図9を参照して、特定部1032が実行する個別特定処理について説明する。図9は、特定部1032が実行する個別特定処理の一例を表すフローチャートである。
先ず、特定部1032は、個別カウンタを0としてクリアする(ステップST0201)。次に、処理対象格子点の座標値であって基本色を表す座標値の内で、ステップST0203からST0205の処理の対象としていない座標値(以下単に、未処理座標値という)が存在するか否かを判断する(ステップST0202)。
特定部1032は、未処理座標値が存在すると判断する場合にはステップST0203の処理を、そうでない場合にはステップST0206の処理を実行する。
ステップST0202において、特定部1032は、未処理座標値が存在すると判断した場合は、未処理座標値の内の1つを処理対象とする座標値(以下単に、処理対象座標値という)とする(ステップST0203)。
次に、特定部1032は、処理対象座標値が0であるか否かを判断する(ステップST0204)。つまり、処理対象基本色が、処理対象色を表すために用いられているか否かを判断する。
特定部1032は、処理対象座標値が0であると判断する場合にはステップST0202に戻り上記処理を繰り返し、そうでない場合にはステップST0205の処理を実行する。
ステップST0204において、特定部1032は、処理対象座標値が0でないと判断した場合には、個別カウンタを1インクリメントする(ステップST0205)。その後、特定部1032は、ステップST0202に戻り上記処理を繰り返す。
ステップST0203において、特定部1032は、未処理座標値が存在しないと判断した場合には、個別カウンタを返値として呼び元へ返す(ステップST0206)。その後、特定部1032は、個別特定処理の実行を終了する。
ここで図7に戻り、変換部1030の構成について引き続き説明する。
読出部1033は、二次記憶部1020、一次記憶部1040、ファイル生成部1060、特定部1032、画像変換部1034に接続している。
読出部1033は、特定部1032が特定した数の基本色で色を表す依存色情報と独立色情報とを関連付けて一次記憶装置へ読出す読出処理を実行する。
ここで図10を参照して、読出部1033が実行する読出処理について説明する。図10は、読出部1033が実行する読出処理の一例を表すフローチャートである。
先ず、読出部1033は、特定部1032から画像入力装置9010のBToA情報を解析することで得られた基底数を取得する(ステップST0301)。次に、読出部1033は、特定部1032から画像入力装置9010のICCプロファイルが表すAToBタグに関連付けたオフセット情報を取得する(ステップST0302)。
その後、読出部1033は、取得したオフセット情報により二次記憶上の主DLUTの位置を特定する(ステップST0303)。尚、本実施例では、ステップST0303において特定される主DLUTは、画像入力装置9010のICCプロファイルが表すAToB情報(以下単に、画像入力装置9010のAToB情報という)であるとする。
次に、読出部1033は、依存色空間の全座標軸から基底数の軸を選択する場合の全組合せを特定する(ステップST0304)。つまり、依存色空間の全座標軸の数がnであって、画像を構成する色を表すために用いられる基本色の数(つまり、基底数)が m (ただし、n及びmは自然数であるとする)である場合には、nCm通りの組合せを特定する。
ここで、図6を参照して説明したR座標、G座標、及びB座標で構成される依存色空間において基底数が2の場合を例に挙げると、読出部1033が特定する全組合せは、R軸とG軸、G軸とB軸、及びR軸とB軸という3通り(つまり、3C2通り)の組合せを特定する。
次に、読出部1033は、ステップST0304で特定した組合せの内で、ステップST0306からST0308の処理対象としていない組合せ(以下単に、未処理組合せという)が存在するか否かを判断する(ステップST0305)。読出部1033は、未処理組合が存在すると判断する場合にはステップST0306の処理を、そうでない場合にはステップST0309の処理を実行する。
ステップST0305において、読出部1033は、未処理組合が存在すると判断した場合には未処理組合せの内の1つを処理対象組合とする(ステップST0306)。
その後、読出部1033は、基底数の次元を有し、かつ処理対象組合の座標軸で構成される副DLUTを一次記憶部1040に読出す(ステップST0307)。次に、読出部1033は、副DLUTをファイル作成部1060へ出力する(ステップST0308)。その後、読出部1033は、ステップST0305に戻り上記処理を繰り返す。
ステップST0305において、読出部1033は、未処理組合が存在しないと判断した場合には、変換部1030へ終了通知を通知する(ステップST0309)。その後、読出部1033は、読出処理の実行を終了する。
ここで図11を参照して、主DLUTと副DLUTとの関係を説明する。図11は、主DLUTと副DLUTとの関係を説明するための図である。
図11に示す主DLUTは、図6に示した主DLUTと同様であるので説明を省略する。図11に示す副DLUTは、依存色空間がR座標、G座標、及びB座標で構成される空間であり、基底数が2であり、かつ処理対象組合がR軸とG軸との組合せである場合に、読出部1033が読み出す副DLUTを表す。尚、図11に示す副DLUTは、B座標が0である平面で主DLUTを切断した2次元平面を表す。
ここで、各軸においてN個の格子点を有するn次元の主DLUTから、読出部1033が読み出す m(0<=m<=n)次元の副DLUTが有する格子点の数は、N^mである。また、全座標軸から基底数の軸を選択する場合の組合せの総数は、nCmである。よって、読出部1033は、読出し処理を実行することで、nCm * N^m 個の格子点座標を読出す。
ここで、基底数m が主DLUTの次元数n よりも小さい場合には、主DLUTを構成する格子点座標数N^nは、読出部1033が読み出す全副DLUTが有する格子点座標の数 nCm * N^m よりも少ない。
ここで表2を参照して、副DLUTを表す情報について説明する。表2は、副DLUTを表す情報の一例を説明するための表である。
表2は、主DLUTを表す表1の構成とほぼ同様であるため、以下相違点について主に説明を行う。表2は、基底アドレスフィールド、Gフィールド、Rフィールド、Lフィールド、aフィールド、及びbフィールドを有しているが、Bフィールドを有さない点で表1と異なる。
また、基底アドレスフィールドは、数式1とほぼ同様の計算式により再算出された基底アドレスを保存する。
ここで図7に戻り変換部1030の構成について引続き説明を行う。
画像変換部1034は、情報入力部1010、読出部1033、一次記憶部1040、及びスクリーン処理部1050に接続している。
画像変換部1034は、画像変換処理を実行することで、画像の色の表現形式を変換する。
ここで図12を参照して、画像変換部1034が実行する画像変換処理について説明する。図12は、画像変換部1034が実行する画像変換処理の一例を表すフローチャートである。
先ず、画像変換部1034は、情報入力部1010から画像情報を取得する(ステップST0401)。次に、画像変換部1034は、画像情報が表す画像を構成する全画素についてステップST0403からST0409の処理を実行したか否かを判断する(ステップST0402)。
画像変換部1034は、全画素について処理をしたと判断する場合にはステップST0409の処理を、そうでない場合にはステップST0403の処理を実行する。
ステップST0402において、画像変換部1034は、全画素について処理を実行していない判断する場合には、未処理の画素の1つを処理対象画素とする(ステップST0403)。次に、画像変換部1034は、処理対象画素の色変換に用いる副DLUTを選択する(ステップST0404)。
ここで、処理対象画素の色が、RGB座標(0,10,10)で表される場合を例に挙げると、画像変換部1034は、0でない座標値に関する座標軸G及びRを特定し、特定した座標軸G及びRで構成される副DLUTを選択する。
次に、画像変換部1034は、処理対象画素が表す色から副DLUTにおける基底アドレスを算出する(ステップST0405)。尚、副DLUTにおける基底アドレスの算出方法は、数式1を参照して説明した主DLUTにおける基底アドレスの算出方法とほぼ同様であるので説明を省略する。
次に、画像変換部1034は、基底アドレスに基づいて色変換に用いる格子点座標を取得する(ステップST0406)。本実施例では、色変換に用いる格子点座標は、基底アドレスにより定まる格子点の座標と、基底アドレスにより定まる格子点座標及び変換される色を表す点の双方に隣接する格子点の座標をいうとして以下説明する。
ここで図13を参照して、色変換に用いる格子点座標について説明する。図13は、色変換に用いる格子点座標を説明するための図である。
図13に示す副DLUTは、R軸及びG軸で構成される。処理対象画素の色は、RGB空間において座標(10,10,0)で表され、RG空間では色点TC(10,10)で表される。
ここで、色点TC(10,10)に基づいて算出される基底アドレスは0である。よって、基底アドレス0により特定される副DLUT上の格子点座標は、表2を参照すると、原点O(0,0)と分かる。
また、基底アドレスにより定まる格子点(0,0)及び色点TC(10,10)に隣接する格子点座標は(15,0)、(0,15)、及び(15,15)となる。これは、R軸及びG軸がそれぞれ17個の格子点を有することから、算出された基底アドレス0に対して17、及び18を加算したアドレスによって定まる格子点が(0,15)、及び(15,15)となるためである。
ここで図12に戻り、画像変換部1034が実行する画像変換処理について引続き説明を行う。
ステップST0406を実行した後に、画像変換部1034は、ステップST0406で特定した格子点座標を用いて補完処理を行う(ステップST0407)。
次に、画像変換部1034は、補完後の座標値を用いて処理対象画素の色の表現形式を変換する(ステップST0408)。その後、画像変換部1034は、ステップST0402に戻り上記処理を繰り返す。
より詳細に画像変換処理について説明すると、処理対象画素が表す色が、基底アドレスで特定される格子点が表す色と一致する場合には、画像変換部1034は、副DLUTが処理対象画素の色に関係付ける変換後の色形式に直接変換する。
具体的には、処理対象画素が表す色がRGB空間において座標(0,0,0)で表される場合には、R軸及びG軸で構成される副DLUT上では座標(0,0)で表される。また、処理対象画素が表す色を表す座標値(0,0)から算出される基底アドレスは 0 である。
ここで、副DLUTにおける基底アドレス 0 が表す格子点座標は座標(0,0)で表される格子点であるので、処理対象画素が表す色と基底アドレスで特定される格子点が表す色とが一致する。
この場合、画像変換部1034は、処理対象画素の色の表現形式を、表2においてRG座標(0,0)に関連付けられたLab座標(0,127,127)で表される表現形式に直接変換する。
しかし、処理対象画素が表す色が基底アドレスで特定される格子点が表す色と一致しない場合には、画像変換部1034は、例えば、四面体補間等のステップST0406で特定した格子点座標で表される一部の点、又は全部の点を用いて補間する補間方法を実行する。
その後、画像変換部1034は、ことで処理対象画素の色の表現形式を、補間して求めたLab座標で表される表現形式に変換する。
ステップST0402において、画像変換部1034は、全画素について処理を実行したと判断した場合には、形式を変換した画像情報をスクリーン処理部1050へ出力する(ステップST0409)。その後、画像変換部1034は、画像変換処理の実行を終了する。
次に、図14を参照して、変換部1030が画像の表現形式を変換するために実行する変換処理について説明する。図14は、変換部1030が実行する変換処理の一例を表すフローチャートである。
先ず、変換部1030を構成する情報取得部1031は、上述の情報取得処理を実行する(ステップST0501)。その後、変換部1030を構成する特定部1032は、図8を参照して説明した特定処理を実行する(ステップST0502)。次に、変換部1030を構成する読出部1033は、図10を参照して説明した読出処理を実行する(ステップST0503)。
次に、変換部1030を構成する画像変換部1030は、図12を参照して説明した画像変換処理を実行する(ステップST0504)。その後、変換部1030は、変換処理の実行を終了する。
ここで図2に戻り画像処理装置1000の構成について引続き説明する。
一時記憶部1040は、例えば、図3を参照して説明したRAM1003で構成される。一時記憶部1040は、変換部1030が読出した副DLUTを記憶する。
スクリーン処理部1050は、変換部1030、及び情報出力部1070に接続している。
スクリーン処理部1050は、変換部1030が変換した画像情報に対して、画像の階調表現をするためのスクリーン処理を実行する。その後、処理を施した画像情報を情報出力部1070へ出力する。
ファイル作成部1060は、変換部1030及び情報出力部1070に接続する。ファイル作成部1060は、変換部1030から副DLUTを取得する。
次に、ファイル作成部1060は、例えば、ICCプロファイルのファイルフォーマットに従って情報を表す電子ファイルを作成し、作成した電子ファイルの要素部TEDに、取得した副DLUTをプライベート情報としてプライベートタグに関連付けて保存する。その後、ファイル作成部1060は、作成した電子ファイルを情報出力部1070へ出力する。
情報出力部1070は、例えば、ネットワークアダプタで構成され、通信網100、スクリーン処理部1050、及びファイル作成部1060に接続している。
情報出力部1070は、スクリーン処理部1050から二値化処理を受けた画像情報を取得し、取得した画像情報を画像出力装置9020へ通信網100を介して送信する。
また情報出力部1070は、ファイル作成部1060からICCプロファイルを取得し、取得したプロファイルを画像入力装置9010又は画像出力装置9020へ通信網100を介して送信する。
ここで図1に戻り画像処理システム10の構成について引続き説明する。
画像入力装置9010は、通信網100を介して画像処理装置1000に接続している。
ここで図15を参照して、画像入力装置9010の構成について説明する。図15は、画像入力装置9010の一構成を表す図である。
図15に示す画像入力装置9010は、画像入力部9011と通信部9019とで構成される。画像入力部9011は、例えば、スキャナ又はFAX装置で構成され、通信部9019に接続している。
画像入力部9011は、通信部9019から画像処理装置1000が送信した実行命令を取得して、取得した命令に従って画像を入力する。または、画像入力部9011は、画像入力装置9010を操作するユーザの指示に従って画像を入力する。その後、画像入力部9011は、入力した画像を表す画像情報を通信部9019へ出力する。
通信部9019は、通信網100及び画像入力部9011に接続している。通信部9019は、画像処理装置1000から実行命令を受信し、受信した実行命令を画像入力部9011へ出力する。また、通信部9019は、画像入力部9011から画像情報を取得し、取得した画像情報と画像処理装置1000のICCプロファイルとを画像処理装置1000へ送信する。
ここで図1に戻り画像処理システム10の構成について引続き説明する。画像出力装置9020は、通信網100を介して画像処理装置1000に接続している。
ここで図16を参照して、画像出力装置9020の構成について説明する。図16は、画像出力装置9020の一構成を表す図である。画像出力装置9020は、画像出力部9021及び通信部9029で構成される。
画像出力部9021は、例えば、プリンタ、ディスプレイ、FAX装置、又はパーソナル・コンピュータで構成され、通信部2029に接続している。
画像出力部9021は、通信部9029から画像処理装置1000が送信した制御命令と画像情報とを取得して、取得した命令に従って画像情報が表す画像を印刷出力、表示出力、又は、特定のアプリケーションに対応したファイルフォーマットを有する電子ファイルへ出力する。
または、画像出力部9021は、画像出力部9021を操作するユーザの指示に従って、指定された画像を表す画像情報とICCプロファイルとを通信部9029から取得し、取得した画像情報が表す画像をICCプロファイルが表す情報に基づいて出力する。
通信部9029は、通信網100及び画像出力部9021に接続している。通信部9029は、画像処理装置1000から実行命令と画像情報と画像処理装置1000が作成したICCプロファイルとを受信し、受信した実行命令と画像情報とICCプロファイルとを画像出力部9021へ出力する。
上記実施例1では、画像処理装置1000は情報入力部1010を有し、情報入力部1010が画像情報、画像入力装置9010の特性を表す情報を受信して二次記憶部2020へ保存するとして説明した。
しかし、これに限定される訳ではなく、画像処理装置1000は情報入力部1010を有さずに、例えば、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、DVD−RAM(Digital Versatile Disk Random Access Memory)、MO(magneto-optic)、及び、フラッシュメモリ(flash memory)で構成される外部記憶装置を有し、フレキシブルディスク等の外部記憶装置から画像情報、画像入力装置9010の特性を表す情報を取得する構成を採用できる。
また上記実施例1では、画像処理装置1000は情報出力部1070を有し、情報出力部1070が色の表現形式を変換した画像情報と生成したICCプロファイルとを画像出力装置9020へ送信するとして説明した。
しかし、これに限定される訳ではなく、画像処理装置1000は情報出力部1070を有さずに、例えば、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、DVD−RAM(Digital Versatile Disk Random Access Memory)、MO(magneto-optic)、及び、フラッシュメモリ(flash memory)で構成される外部記憶装置を有し、フレキシブルディスク等の外部記憶装置へ、変換された画像情報と生成したICCプロファイルとを出力する構成を採用できる。
ここで、情報入力部1010は画像入力装置9010のICCプロファイルを入力し、特定部1032は画像入力装置9010のBToA情報を解析することで、色を表すために用いる画像入力装置9010に依存した基本色の数(つまり、基底数)を特定し、読出部1033は画像入力装置9010に依存した依存色情報から独立色情報に変換するために、基底数の次元を有する副DLUTを画像入力装置9010のAToB情報から読出し、画像変換部1034は画像入力装置9010に依存した依存色情報で表される画像を独立色情報によって表される画像に変換する場合について説明したが、これに限定される訳ではない。
情報入力部1010は画像出力装置9020のICCプロファイルを入力し、特定部1032は画像出力装置9020のBToA情報を解析することで、色を表すために用いる画像出力装置9020に依存した基本色の数(つまり、基底数)を特定し、読出部1033は画像出力装置9020に依存した依存色情報から独立色情報に変換するために、特定した基底数の次元を有する副DLUTを画像出力装置9020のAToB情報から読出し、画像変換部1034は画像出力装置9020に依存した依存色情報で表される画像を独立色情報によって表される画像に変換する構成を採用できる。
また、BToA情報の次元がAToB情報の次元よりも高い場合には、特定部1032は画像入力装置9010(又は画像出力装置9020)のAToB情報を解析することで、色を表すために用いる画像入力装置9010及び画像出力装置9020から独立した基本色の数(つまり、基底数)を特定し、読出部1033は独立色情報から画像入力装置9010(又は画像出力装置9020)に依存した依存色情報へ変換するために、特定した基底数の次元を有する副DLUTを画像入力装置9010のAToB情報から読出し、画像変換部1034は独立色情報で表される画像を画像出力装置9020(又は画像出力装置9020)に依存した依存色情報によって表される画像に変換する構成を採用できる。
更にまた、情報入力部1010は画像入力装置9010及び画像出力装置9020のICCプロファイルを入力し、特定部1032は画像入力装置9010及び画像出力装置9020のBToA情報を解析することで、画像入力装置9010依存した基本色の数(つまり、基底数)、並びに画像入力装置9010及び画像出力装置9020から独立した基本色の数を特定し、読出部1033は画像入力装置9010に依存した依存色情報から独立色情報に変換するために、特定した基底数の次元を有する副DLUTを画像入力装置9010のAToB情報から読出し、かつ独立色情報から画像出力装置9020に依存した依存色情報に変換するために、特定した基底数の次元を有する副DLUTを画像出力装置9020のBToA情報から読出し、画像変換部1034は画像入力装置9010に依存した依存色情報で表される画像を独立色情報で表される画像に変換し、かつ独立色情報で表される画像を画像出力装置9020に依存した依存色情報で表される画像に変換する構成を採用できる。
また、本実施例では、主DLUTを記述する電子ファイルの例として、ICCプロファイルを挙げて説明したが、これに限定される訳ではなく、国際カラーコンソーシアム(ICC:International Color Consortium)が策定したカラーマネージメント規格以外の規格に従って記述された電子ファイルから副DLUTを抽出する構成を採用できる。
上記実施形態では、画像入力装置9010又は画像出力装置9020に依存した色を表す形式として、RGB、CMYKOG、及びRGBCMYK色系で表す形式を挙げて説明したが、これに限定される訳ではなく、例えば、RGBA、sRGB(standard RGB)、AdobeRGB、CMY(cyan, magenta,yellow)、CMYK(cyan, magenta,yellow,black)色系で表す形式を採用できる。
上記実施形態では、画像入力装置9010又は画像出力装置9020から独立した色を表す形式として、L*a*b*色系で表す形式を挙げて説明したが、これに限定される訳ではなく、例えば、XYZ、xyY、及びL*u*v*色系で表す形式を採用できる。
本実施例においては、画像入力装置9010が有する画像入力部9011が画像入力手段に相当し、画像出力装置9020が有する画像出力部9021が画像出力手段に相当し、特定部1032が特定手段に相当し、読出部1033が読出手段に相当し、画像変換部1034が画像変換手段に相当し、情報入力部1010が情報入力手段に相当し、情報出力部1070が情報出力手段に相当する。
以下、本発明の第2の実施形態について説明する。
第2の実施例における画像処理装置は、ICCプロファイルではなく後述する色再現特性情報に基づいて基本色数を特定する点で実施例1と異なる。
図17を参照して、実施例2における画像処理装置について説明する。図17は、実施例2における画像処理装置の一実施形態を示す構成図である。
実施例2に示す画像処理装置2000は、情報入力部2010、二次記憶部2020、変換部2030、一次記憶部2040、スクリーン処理部2050、ファイル作成部2060、及び情報出力部2070で構成される。
情報入力部2010、二次記憶部2020、変換部2030、一次記憶部2040、スクリーン処理部2050、ファイル作成部2060、及び情報出力部2070の接続、構成、及び機能は、実施例1で示した情報入力部1010、二次記憶部1020、変換部1030、一次記憶部1040、スクリーン処理部1050、ファイル作成部1060、及び情報出力部1070の接続、構成、及び機能と同様であるので以下相違点について主に説明する。
情報入力部2010は、画像入力装置9010のICCプロファイルではなく、画像入力装置9010の色再現特性情報を画像入力装置9010から受信する点で実施例1と異なる。次に、情報入力部2010は、受信した色再現特性情報を二次記憶部2020に保存する。
ここで、色再現特性情報は、画像入力装置9010の特性を表す情報に含まれる。画像入力装置9010の色再現特性情報は、画像入力装置9010に依存した形式で表す依存色情報と独立依存色情報とを関連付けた情報である点で、画像入力装置9010のAToB情報及びBToA情報と同様である。
しかし、AToB情報(及びBToA情報)は、依存色空間(及び独立色空間)を所定の間隔で分割することで定まる部分空間の各格子状の点に対応した依存色情報と独立依存色情報とを関連付けた情報であるが、色再現特性情報は、依存色情報と独立依存色情報との関係を特徴的に表す格子点に対応した情報である点である。
依存色情報と独立依存色情報との関係を特徴的に表す格子点は、基本色を表す格子点を含む。具体例としては、RGB空間で色を表す依存色情報とLa*b*空間で色を表す独立色情報との関係を特徴的に表す格子点は、基本色であるRを表すRGB座標(255,0,0)とLab座標(137,209,195)とを関連付ける格子点を含む。同様に、基本色であるG及びBについても同様であるので説明を省略する。
ここで表3を参照して、色再現特性情報について説明する。表4は、CMYKOG方式で色を表す依存色情報と独立色情報との関係を表す色再現特性情報の一例示す表である。
表3は、Cフィールド、Mフィールド、Yフィールド、Kフィールド、Oフィールド、Gフィールド、Lフィールド、aフィールド、及びbフィールドを有している。
Cフィールド、Mフィールド、Yフィールド、Kフィールド、Oフィールド、及びGフィールドは、C座標、M座標、Y座標、K座標、O座標、及びG座標の値を保存する。
Lフィールド、aフィールド、及びbフィールドは、同一レコードのCフィールド、Mフィールド、Yフィールド、Kフィールド、Oフィールド、及びGフィールドに保存する座標値で表される色を、L*a*b*空間を用いた形式で表した場合のL座標値、a座標値、及びb座標値を保存する。
尚、本実施例では、色再現特性情報は、画像入力装置9010に依存した基本色を表す依存色情報と、画像入力装置9010に依存した基本色を表す独立色情報との組合せを含むとする。
つまり、表4においては、基本色であるシアン(C)を表す依存色情報(100,0,0,0,0,0)と独立色情報(53.7,-3.6,-48.8)とを関連付けた情報を含む。尚、基本色であるマゼンダ(M)、イエロー(Y)、ブラック(K)、オレンジ(O)、及びグリーン(G)については、シアン(C)の場合とほぼ同様であるので説明を省略する。
ここで図17に戻り引続き画像処理装置2000の構成について説明する。
二次記憶部2020は、AToB情報を生成するために用いるモデル(以下単に、AToBモデルという)及びBToA情報を生成するために用いるモデル(以下単に、BToAモデルという)を記憶する。尚、AToBモデル及びBToAモデルは、画像入力装置9010の入力特性(又は色再現特性)をモデル化したモデルである。
また、二次記憶部2020は、独立色情報に対して同じ色を表すとして関連付ける依存色情報を定める設定情報を記憶する。
本実施例では、画像入力装置9010はCMYKOG形式で色を表し、独立色情報はL*a*b*形式で色を表す構成を採用する。よって、6次元の依存色空間における依存色情報に対して、同じ色を表すとして関連付けられる3次元の独立色空間における独立色情報(つまり、AToB情報)は一意に定まる。
一方で、3次元の独立色空間における独立色情報に対して、同じ色を表すとして関連付けられる6次元の依存色空間における依存色情報(つまり、BToA情報)は一意に定まらず、同じ色を表す複数の依存色情報が存在する。
つまり、設定情報は、独立色情報と同じ色を表す複数の依存色情報から、独立色情報に対して関連付けられる依存色情報を定める情報である。
ここで、設定情報は、独立色情報に基づいて関連付けられる依存色情報を定める情報、依存色情報により表される色の総量に基づいて関連付けられる依存色情報を定める情報、及び画像情報の使用目的に基づいて関連付けられる依存色情報を定める情報を含む。
独立色情報に基づいて関連付けられる依存色情報を定める設定情報について、図18を参照して説明する。図18は、設定情報の一例を説明するための図である。
図18は、独立色空間であるL*a*b*空間の部分空間であるa*b*空間を表す。図18のa*b*空間に表した点は、基本色であるシアンを表す点TC、マゼンダを表す点TM、イエローを表す点TY、オレンジを表す点TO、グリーンを表す点TG、及び変換対象色を表す点DTである。
ここで、原点Oからシアンを表す点TCへのびる半直線と原点Oからマゼンダを表す点TMへのびる半直線とで定まる領域(ただし、原点Oが見込む2つの領域の内で、原点Oが見込む角が小さい領域をいう。尚、以下同様であるので説明を省略する)に属する点が表す色を、シアンとマゼンダとで挟まれる色という。
マゼンダとオレンジとで挟まれる色、オレンジとイエローとで挟まれる色、イエローとグリーンとで挟まれる色、及びグリーンとシアンとで挟まれる色についても同様であるので説明を省略する。
ここで、独立色情報に基づいて関連付けられる依存色情報を定める設定情報について説明すると、この設定情報は、変換対象とされる色を表す点TGを挟む2つの基本色(グリーン及びシアン)と、変換対象とされる色の補色となる基本色(オレンジ)と、基本色であるブラックによって表される依存色情報を、独立色情報と関連付けるように設定する情報である。
次に、依存色情報により表される色の総量に基づいて関連付けられる依存色情報を定める設定情報は、例えば、依存色空間がCMYKOG空間である場合には、C座標値、M座標値、Y座標値、K座標値、O座標値、及びG座標値の総和に基づいて(例えば、総量が最も少ない)依存色情報を、独立色情報と関連付けるように設定する情報である。
特に、この設定情報は、例えば、画像出力時に使用するトナーの総量が所定の範囲の量に収まらない場合、つまり座標値の総和が所定の範囲内に無い場合に、座標値の総和が少なくなる依存色情報を独立色情報と関連付けるように設定する構成を採用できる。
次に、画像情報の使用目的に基づいて関連付けられる依存色情報を定める設定情報について説明すると、この設定情報は、例えば、画像情報の使用目的が自然画の再現である場合には、基本色の黒が少ないために粒状感を与えない依存色情報を独立色情報と関連付けるように設定する情報である。
ここで図19を参照して、画像処理装置2000が有する変換部2030の構成について説明する。図19は、実施例2における変換部2030の一構成を表す図である。
変換部2030は、特定部2032、読出部2033、画像変換部2034、及び情報生成部2035で構成される。特定部2032、抽出部2034、及び画像変換部2034の接続、構成、及び機能は、実施例1で説明した特定部1032、読出部1033、及び画像変換部1034と同様であるので、以下相違点について主に説明する。
情報生成部2035は、情報生成処理を実行することで、情報入力部2010が入力した画像入力装置9010の色再現特性情報に基づいて画像入力装置9010のAToB情報及びBToA情報を生成する。
ここで図20を参照して、情報生成部2035が実行する情報生成処理について説明する。図20は、情報生成部2035が実行する情報生成処理の一例を表すフローチャートである。
先ず、情報生成部2035は、二次記憶部2020が記憶する色再現特性情報を取得する(ステップST0601)。次に、情報生成部2035は、取得した色再現特性情報に基づいて画像入力装置9010のAToB情報及びBToA情報を生成するために用いるAToBモデル及びBToAモデルを選択する(ステップST0602)。
その後、情報生成部2035は、ステップST0602で選択したモデルと色再現特性情報とに基づいて画像入力装置9010のAToB情報を生成する(ステップST0603)。
次に、情報生成部2035は、色再現特性情報に基づいて、二次記憶部2020が記憶する設定情報を取得する(ステップST0604)。その後、情報生成部2035は、選択したモデルと色再現特性情報と設定情報とに基づいてBToA情報を生成する(ステップST0606)。
本実施例において、情報生成部2035は、独立色情報に基づいて関連付けられる依存色情報を定める設定情報に従って、独立色情報に対して関連付ける依存色情報を特定する。
ここで、関連付ける依存色情報が1つに特定できない場合には、情報生成部2035は、依存色情報により表される色の総量に基づいて関連付けられる依存色情報を定める設定情報に従って、独立色情報に関連付ける依存色情報を特定する。
更に依然として、依存色情報が1つに特定できない場合には、情報生成部2035は、画像情報の使用目的に基づいて関連付けられる依存色情報を定める設定情報に従って、独立色情報に関連付ける依存色情報を特定する。
ステップST0605を実行した後に、情報生成部2035は、ICC(International Color Consortium)が策定したファイルフォーマットに基づいて画像入力装置9010のICCプロファイルを二次記憶部2020において作成し、作成したプロファイルに、ステップST0603及びST0606で生成したAToB情報及びBToA情報を保存する(ステップST0606)。
次に、情報生成部2035は、特定部2032へAToB情報を特定する情報及びBToA情報を特定する情報を出力する(ステップST0607)。その後、情報生成部2035は、情報生成処理を終了する。
本実施例では、情報入力部2010は画像入力装置9010の色再現特性情報を画像入力装置9010から受信し、その後受信した情報を二次記憶部2020へ保存し、情報生成部2035は二次記憶部2020が記憶する色再現特性情報に基づいてAToB情報及びBToA情報を表す画像入力装置9010のICCプロファイルを生成するとして説明したが、これに限定される訳ではない。
例えば、情報入力部2010は画像出力装置9020の色再現特性情報を画像出力装置9020から受信し、その後受信した情報を二次記憶部2020へ保存し、情報生成部2035は二次記憶部2020が記憶する色再現特性情報に基づいてAToB情報及びBToA情報を表す画像出力装置9020のICCプロファイルを生成する構成を採用できる。
また例えば、情報入力部2010は画像入力装置9010及び画像出力装置9020の色再現特性情報を受信して二次記憶部2020へ保存し、情報生成部2035は二次記憶部2020が記憶する色再現特性情報に基づいてAToB情報及びBToA情報を表す画像入力装置9010のICCプロファイル、及び画像出力装置9020のICCプロファイルを生成する構成を採用できる。
本実施例においては、特定部2032が特定手段に相当し、読出部2033が読出手段に相当し、画像変換部2034が画像変換手段に相当し、情報入力部2010が情報入力手段に相当し、情報出力部2070が情報出力手段に相当する。
以下、本発明の第3の実施形態について説明する。
第3の実施例における画像情報処理システムは、画像出力装置を有しない点で実施例1における画像情報処理システムと異なる。