(57)【要約】【課題】補間演算をしながら色変換する処理を、ＬＵＴのデータサイズを増やすことなく高速化させることを課題とする。【解決手段】入力表色系の入力座標値Ri,Gi,Biから、参照する複数の格子点の位置を表す格子点位置データIct、および、当該複数の格子点間の位置を表す補間位置データHr,Hg,Hbを対応させて生成し、生成された格子点位置データIctが参照格子点情報記憶部Ａ４（記憶手段）にて記憶されている格子点位置データIct_OLDと一致するか否かを判断し、一致すると判断した場合に記憶されている格子点位置データIct_OLDに対応する補間係数Hr_OLD,Hg_OLD,Hb_OLDを読み出し、一致しないと判断した場合に生成した格子点位置データIctで表される複数の格子点に格納された各座標値から補間係数Hr,Hg,Hbを求め、得られた補間係数と補間位置データRf,Gf,Bfとを用いて補間演算を行って出力座標値OUTを求める。【選択図】図１
2005278072.tif 000002
【特許請求の範囲】
【請求項１】
所定の入力表色系の座標値に対応する所定の出力表色系の座標値を複数箇所とされた各格子点について格納した色変換テーブルを用い、同入力表色系の入力座標値に対応する同出力表色系の出力座標値を補間演算により求める補間処理装置であって、
上記入力表色系の入力座標値から、参照する複数の格子点の位置を表す格子点位置データ、および、当該複数の格子点間の位置を表す補間位置データを対応させて生成する位置決定手段と、
上記格子点位置データと、当該格子点位置データで表される複数の格子点に格納された各座標値から求められるとともに上記補間位置データから上記補間演算を行って上記出力座標値を求めるための補間係数と、を対応させて記憶する記憶手段と、
上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている格子点位置データと一致するか否かを判断し、一致すると判断した場合に同記憶手段にて記憶されている格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求める係数取得手段と、
得られた上記補間係数と上記補間位置データとを用いて上記補間演算を行って上記出力座標値を求める補間手段とを具備することを特徴とする補間処理装置。
【請求項２】
上記入力表色系は、Ｍ種類（Ｍは自然数）の成分色で構成され、
上記位置決定手段は、上記入力表色系の入力座標値から、同入力表色系のＭ次元座標にて当該入力座標値に対応した点を含む複数の格子点の位置が上記成分色毎に表された上記格子点位置データ、および、当該複数の格子点間の位置が上記成分色毎に表された上記補間位置データを対応させて生成し、
上記係数取得手段は、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている格子点位置データと一致しないと判断した場合に、上記成分色毎に上記補間係数を求めるとともに、同成分色毎の補間係数を求める成分色について上記位置決定手段にて生成された格子点位置データで表される複数の格子点の中から当該成分色の格子点の位置のみ異なる２個の格子点に格納された各座標値の差を上記補間係数とし、
上記補間手段は、上記成分色毎に上記成分色毎の補間係数を上記補間位置データに乗じて得られる同成分色毎の値を全て加算する演算が含まれた上記補間演算を行って上記出力座標値を求めることを特徴とする請求項１に記載の補間処理装置。
【請求項３】
上記入力表色系は、３種類の成分色で構成され、
上記格子点位置データは、上記入力表色系の３次元座標にて上記入力表色系の入力座標値に対応した点を含む六面体の頂点に位置する８個の格子点の位置を表す格子点アドレスデータと、当該六面体を区分した複数の四面体の中から当該入力座標値に対応した点を含む四面体を識別可能とする四面体識別データとからなり、
上記位置決定手段は、上記入力表色系の入力座標値から、上記格子点アドレスデータと四面体識別データとからなる格子点位置データ、および、当該四面体識別データで識別される四面体の頂点に位置する４個の格子点間の位置が表された上記補間位置データを対応させて生成し、
上記係数取得手段は、上記位置決定手段にて生成された上記格子点アドレスデータと四面体識別データとからなる格子点位置データが上記記憶手段にて記憶されている上記格子点アドレスデータと四面体識別データとからなる格子点位置データと一致するか否かを判断し、一致すると判断した場合に同記憶手段にて記憶されている上記格子点アドレスデータと四面体識別データとからなる格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された上記格子点アドレスデータと四面体識別データとからなる格子点位置データで表される４個の格子点に格納された各座標値から上記補間係数を求めることを特徴とする請求項１または請求項２に記載の補間処理装置。
【請求項４】
上記入力座標値は画像を画素毎に上記入力表色系の座標値で表現した入力画像データを構成する各画素の座標値とされるとともに、上記出力座標値は同画像を同画素毎に上記出力表色系の座標値で表現した出力画像データを構成する各画素の座標値とされ、
上記位置決定手段は、上記各画素の中から順次注目画素を設定するとともに、当該注目画素について上記格子点位置データおよび上記補間位置データを対応させて生成し、
上記記憶手段は、上記各画素の中から上記注目画素が設定される一つ前に注目画素として設定された処理済み画素について記憶した上記格子点位置データおよび上記補間係数のみ保持し、
上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて保持されている上記処理済み画素についての格子点位置データと一致するか否かを判断し、一致すると判断した場合に同記憶手段にて保持されている処理済み画素についての格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求めることを特徴とする請求項１〜請求項３のいずれかに記載の補間処理装置。
【請求項５】
上記入力座標値は画像を画素毎に上記入力表色系の座標値で表現した入力画像データを構成する各画素の座標値とされるとともに、上記出力座標値は同画像を同画素毎に上記出力表色系の座標値で表現した出力画像データを構成する各画素の座標値とされ、
上記位置決定手段は、上記各画素の中から順次注目画素を設定するとともに、当該注目画素について上記格子点位置データおよび上記補間位置データを対応させて生成し、
上記記憶手段は、上記各画素の中から上記注目画素が設定される一つ前から所定数前までに注目画素として設定された当該所定数の処理済み画素について記憶した上記格子点位置データおよび上記補間係数のみ保持し、
上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて保持されている上記所定数の処理済み画素についての各格子点位置データと一致するか否かを判断し、一致すると判断した場合に同記憶手段にて保持されている各格子点位置データのうち当該一致すると判断した格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求めることを特徴とする請求項１〜請求項３のいずれかに記載の補間処理装置。
【請求項６】
上記入力座標値は画像を画素毎に上記入力表色系の座標値で表現した入力画像データを構成する各画素の座標値とされるとともに、上記出力座標値は同画像を同画素毎に上記出力表色系の座標値で表現した出力画像データを構成する各画素の座標値とされ、
上記位置決定手段は、上記各画素の中から順次注目画素を設定するとともに、当該注目画素について上記格子点位置データおよび上記補間位置データを対応させて生成し、
上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている当該注目画素に隣接した隣接画素についての格子点位置データと一致するか否かを判断し、一致すると判断した場合に同記憶手段にて記憶されている隣接画素についての格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求めることを特徴とする請求項１〜請求項３のいずれかに記載の補間処理装置。
【請求項７】
上記記憶手段は、上記各画素の中から上記注目画素が設定される一つ前から当該設定の方向における上記画像の１行分前までに注目画素として設定された当該１行分の処理済み画素について記憶した上記格子点位置データおよび上記補間係数のみ保持し、
上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて保持されている上記処理済み画素についての各格子点位置データのうち上記隣接画素についての各格子点位置データの少なくとも一部と一致するか否かを判断し、一致すると判断した場合に同記憶手段にて保持されている各格子点位置データの中から当該一致すると判断した格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求めることを特徴とする請求項６に記載の補間処理装置。
【請求項８】
上記入力座標値は画像を画素毎に上記入力表色系の座標値で表現した入力画像データを構成する各画素の座標値とされるとともに、上記出力座標値は同画像を同画素毎に上記出力表色系の座標値で表現した出力画像データを構成する各画素の座標値とされ、
上記位置決定手段は、上記各画素の中から順次注目画素を設定するとともに、当該注目画素について上記格子点位置データおよび上記補間位置データを対応させて生成し、
上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている当該注目画素の周辺に存在する周辺画素についての各格子点位置データと一致するか否かを判断する際に当該注目画素に近い周辺画素から順番に一致するか否かを判断し、一致すると判断した場合に同記憶手段にて記憶されている隣接画素についての格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求めることを特徴とする請求項１〜請求項３のいずれかに記載の補間処理装置。
【請求項９】
所定の色変換テーブル記憶領域に記憶されるとともに所定の入力表色系の座標値に対応する所定の出力表色系の座標値を複数箇所とされた各格子点について格納した色変換テーブルを用い、同入力表色系の入力座標値に対応する同出力表色系の出力座標値を補間演算により求める補間処理方法であって、
上記入力表色系の入力座標値から、参照する複数の格子点の位置を表す格子点位置データ、および、当該複数の格子点間の位置を表す補間位置データを対応させて生成する位置決定工程と、
上記格子点位置データと、当該格子点位置データで表される複数の格子点に格納された各座標値から求められるとともに上記補間位置データから上記補間演算を行って上記出力座標値を求めるための補間係数と、を対応させて所定の参照格子点情報記憶領域に記憶させる記憶工程と、
上記位置決定工程にて生成された格子点位置データが上記参照格子点情報記憶領域に記憶されている格子点位置データと一致するか否かを判断し、一致すると判断した場合に同参照格子点情報記憶領域に記憶されている格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定工程にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求める係数取得工程と、
得られた上記補間係数と上記補間位置データとを用いて上記補間演算を行って上記出力座標値を求める補間工程とを具備することを特徴とする補間処理方法。
【請求項１０】
所定の色変換テーブル記憶領域に記憶されるとともに所定の入力表色系の座標値に対応する所定の出力表色系の座標値を複数箇所とされた各格子点について格納した色変換テーブルを用い、同入力表色系の入力座標値に対応する同出力表色系の出力座標値を補間演算により求める機能をコンピュータに実現させる補間処理プログラムであって、
上記入力表色系の入力座標値から、参照する複数の格子点の位置を表す格子点位置データ、および、当該複数の格子点間の位置を表す補間位置データを対応させて生成する位置決定機能と、
上記格子点位置データと、当該格子点位置データで表される複数の格子点に格納された各座標値から求められるとともに上記補間位置データから上記補間演算を行って上記出力座標値を求めるための補間係数と、を対応させて所定の参照格子点情報記憶領域に記憶させる記憶機能と、
上記位置決定機能にて生成された格子点位置データが上記参照格子点情報記憶領域に記憶されている格子点位置データと一致するか否かを判断し、一致すると判断した場合に同参照格子点情報記憶領域に記憶されている格子点位置データに対応する補間係数を読み出し、一致しないと判断した場合に同位置決定機能にて生成された格子点位置データで表される複数の格子点に格納された各座標値から上記補間係数を求める係数取得機能と、
得られた上記補間係数と上記補間位置データとを用いて上記補間演算を行って上記出力座標値を求める補間機能とを実現させることを特徴とする補間処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色変換テーブルを用いて入力表色系の入力座標値に対応する出力表色系の出力座標値を補間演算により求める補間処理装置、補間処理方法および補間処理プログラムに関する。
【背景技術】
【０００２】
従来、３次元のアドレス指定第１信号系の値に対応する第２信号系の値が蓄積されたメモリ装置を用いて、所与の第１信号系の入力値からそれに対応する第２信号系の値を求めるに際して、前記メモリ装置アドレスを構成する単位立方体を複数個の４面体に分割し、第１信号系の入力値に対応する点を含む４面体の各頂点における第２信号系の蓄積された値により、第１信号系の入力値に対応する第２信号系の値を、リニアに補間して求める信号補間方法が知られている（特許文献１参照）。
【０００３】
また、特許文献２には、ルックアップテーブル（ＬＵＴ）を用いて同様の手法により補間演算を行う色変換装置が開示されている。
【０００４】
例えば、ＲＧＢ（赤、緑、青）表色系の座標値（Ｒ，Ｇ，Ｂ）に対応するＣＭＹ（シアン、マゼンタ、イエロー）表色系の座標値（Ｃ，Ｍ，Ｙ）を複数箇所とされた各格子点について格納した色変換ＬＵＴ（色変換テーブル）を用い、ＲＧＢ表色系の入力信号（Ri,Gi,Bi）に対応するＣＭＹ表色系の出力信号（Co,Mo,Yo）を補間演算により求める第一の補間演算処理について、説明する。ここで、
Ri,Gi,Biをｎビット（ｎは２以上の整数）の２進数とされた入力信号、
OUT（Ri,Gi,Bi）を入力信号Ri,Gi,Biに対応する出力信号（Co,Mo,Yoのいずれか）、
Rf,Gf,BfをRi,Gi,Biの下位ｍビット（ｍは１以上ｎ未満の整数）の補間演算用信号、
Rh,Gh,BhをRi,Gi,Biの上位ｎ−ｍビットの格子点アドレス計算用信号、
D（）を各格子点に対応する出力信号
とする。Rf≧Gf≧Bfの場合、
OUT（Ri,Gi,Bi）＝｛（2m−Rf）・D（Rh,Gh,Bh）
＋（Rf−Gf）・D（Rh+1,Gh,Bh）
＋（Gf−Bf）・D（Rh+1,Gh+1,Bh）
＋Bf・D（Rh+1,Gh+1,Bh+1）}／2m
なる演算式により、補間演算処理を行うことができる。この場合、ＬＵＴのデータサイズは出力１色あたり８bit（256階調）として（2n-m+1）3Byteとなり、計算量は加算３、減算３、乗算４、除算１となる。
【０００５】
また、第二の補間演算処理（非特許文献１の９１ページ）として、
補間係数HrをD（Rh+1,Gh,Bh）−D（Rh,Gh,Bh）、
補間係数HgをD（Rh+1,Gh+1,Bh）−D（Rh+1,Gh,Bh）、
補間係数HbをD（Rh+1,Gh+1,Bh+1）−D（Rh+1,Gh+1,Bh）、
補間定数（補間係数の一種）H1をD（Rh,Gh,Bh）、
とすると、Rf≧Gf≧Bfの場合、
OUT（Ri,Gi,Bi）＝（Hr・Rf＋Hg・Gf＋Hb・Bf）／2m＋H1
なる演算式により、補間演算処理を行うことができる。この場合、ＬＵＴのデータサイズは変わらないが、計算量は加算３、減算３、乗算３、除算１と、乗算が１つ減る。
【０００６】
さらに、第三の補間演算処理（非特許文献１の９３ページ）として、格子点に格納された出力信号の差を求めて補間係数を得るのではなく、予めＬＵＴにRh,Gh,BhとRf,Gf,Bfとの大小によって決まる6つの4面体に対応する補間係数を保管しておくことにより、補間演算処理を行うことができる。ここで、
各直方体を分割する6つの4面体の識別番号をIt（Itは１以上６以下の整数。Rf,Gf,Bfの大小関係により決まる）、
Itに依存しない補間定数H1をD（Rh,Gh,Bh）、
格子点Rh,Gh,Bhの4面体Itに対応する補間係数を
Hr（Rh,Gh,Bh,It）, Hg（Rh,Gh,Bh,It）, Hb（Rh,Gh,Bh,It）
とすると、
OUT（Ri,Gi,Bi）＝（Hr（Rh,Gh,Bh,It）・Rf
＋Hg（Rh,Gh,Bh,It）・Gf
＋Hb（Rh,Gh,Bh,It）・Bf）／2m＋H1（Rh,Gh,Bh）
なる演算式により、補間演算処理を行うことができる。この場合、ＬＵＴのデータサイズは出力１色あたり８bit（256階調）として｛（2n-m）3｝・6・3＋（2n-m）3Byteとなり、計算量は加算３、減算０、乗算３、除算１と、さらに減算が３つ減る。
【０００７】
【特許文献１】特公昭５８−１６１８０号公報
【特許文献２】特開平７−１４１４８９号公報
【非特許文献１】河村尚登監修、小寺宏曄執筆、「カラーハードコピー画像処理技術」、トリケップス出版部、平成２年５月２５日、ｐ．８６−９３
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した第一および第二の補間演算処理では、ＬＵＴのデータサイズが少ないためメモリの消費量が少なくて済むものの、第三の補間演算処理と比べて処理時間が多くかかることになる。一方、第三の補間演算処理では、第一および第二の補間演算処理と比べて処理時間は少なくて済むものの、ＬＵＴのデータサイズが大きいためメモリの消費量が多くなることになる。
【０００９】
本発明は、上記課題にかんがみてなされたもので、ルックアップテーブルを用いて補間演算をしながら入力表色系の入力座標値を対応する出力表色系の出力座標値に色変換する処理を、ルックアップテーブルのデータサイズを増やすことなく高速化させることが可能な補間処理装置、補間処理方法および補間処理プログラムの提供を目的とする。
【課題を解決するための手段および発明の効果】
【００１０】
上記目的を達成するため、本発明は、所定の入力表色系の座標値に対応する所定の出力表色系の座標値を複数箇所とされた各格子点について格納した色変換テーブルを用い、同入力表色系の入力座標値に対応する同出力表色系の出力座標値を補間演算により求める補間処理装置であって、位置決定手段と記憶手段と係数取得手段と補間手段とを具備することを特徴とする。
上記位置決定手段により、上記入力表色系の入力座標値から、参照する複数の格子点の位置を表す格子点位置データ、および、当該複数の格子点間の位置を表す補間位置データが対応して生成される。また、上記記憶手段により、上記格子点位置データと、当該格子点位置データで表される複数の格子点に格納された各座標値、すなわち、参照する複数の格子点（参照格子点とも記載）に格納された各座標値（参照格子点の各座標値とも記載）から求められる補間係数と、が対応して記憶される。同補間係数は、上記補間位置データから上記補間演算を行って上記出力座標値を求めるための係数である。
【００１１】
さらに、上記係数取得手段により、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている格子点位置データと一致するか否かが判断される。一致すると判断された場合、同記憶手段にて記憶されている格子点位置データに対応する補間係数を読み出される。一方、異なると判断された場合、同位置決定手段にて生成された格子点位置データで表される複数の格子点に格納された各座標値、すなわち、参照する複数の格子点に格納された各座標値から上記補間係数が求められる。求められた補間係数は、上記記憶手段により格子点位置データと対応させられて記憶される。
そして、上記補間手段により、上記係数取得手段にて得られた補間係数と、上記補間位置データとを用いた上記補間演算が行われ、上記出力座標値が求められる。
【００１２】
生成された格子点位置データと記憶されている格子点位置データとが異なる場合には、従来通り参照格子点の各座標値から補間係数が求められ、補間演算が行われる。一方、生成された格子点位置データと記憶されている格子点位置データとが同じ場合には、従来とは異なり記憶手段にて記憶された補間係数が用いられて補間演算が行われる。この場合には、参照格子点の各座標値から補間係数を求める処理が不要となる一方、色変換テーブルのデータサイズは増えない。従って、ルックアップテーブルを用いて補間演算をしながら入力表色系の入力座標値を対応する出力表色系の出力座標値に色変換する処理を、ルックアップテーブルのデータサイズを増やすことなく高速化させることが可能となる。
特に、入力画像が略同一色の領域を有するとき、当該領域の入力座標値に小さなノイズが入り、入力座標値が細かく変動することがある。入力座標値と完全に一致する出力座標値を入力座標値に対応させて記憶するだけでは、入力された入力座標値と記憶されている入力座標値とが異なってしまい、記憶されている出力座標値を用いることができない。本発明によると、「入力座標値」から得られる「格子点位置データ」と一致する「補間係数」を格子点位置データに対応させて記憶しているので、「入力座標値」が変動しても「格子点位置データ」が一致している限り、記憶されている補間係数を使用することができるため、補間演算処理を高速化させることが可能となる。
【００１３】
本願に記載した各種手段は、ソフトウェアの処理で実現されてもよいし、ハードウェアの回路で構成されてもよいし、ソフトウェアによる処理とハードウェア資源とが協働することによって構築されるものでもよい。
上記入力表色系や出力表色系は、Ｒ，Ｇ，Ｂを各成分色とする３次元のＲＧＢ表色系、Ｃ，Ｍ，Ｙ，Ｋ（ブラック）を各成分色とする４次元のＣＭＹＫ表色系、国際照明委員会（ＣＩＥ）で規定されたＣＩＥ Ｌ*ａ*ｂ*表色系、ＣＩＥ Ｌ*，ｕ*，ｖ*表色系、等、様々な表色系が考えられる。以下、「*」を省略して記載する。
上記入力表色系の座標値や入力座標値は、例えばＭ次元（Ｍは自然数）の入力色空間の座標値とすることができる。上記出力表色系の座標値や入力座標値は、例えばＮ次元（Ｎは自然数）の出力色空間の座標値とすることができる。
上記座標値、入力座標値、出力座標値、格子点位置データ、補間位置データ、補間係数は、ソフトウェアで扱われるデータ、ハードウェアで扱われる信号で表される情報、等、様々な構成とすることができる。
【００１４】
上記複数の格子点は、六面体の各頂点に位置する８個の格子点、四面体の各頂点に位置する４個の格子点、等、様々な構成とすることができる。ここで、上記複数の格子点の位置を、入力表色系の座標にて当該入力座標値に対応した点を含む複数の格子点の位置とすると、高精度にて色変換を行うことが可能となる。
【００１５】
ところで、上記入力表色系は、Ｍ種類（Ｍは自然数）の成分色で構成され、
上記入力表色系の座標値は、上記成分色毎にｎビット（ｎは２以上の整数）の２進数で表され、
上記位置決定手段は、上記成分色毎に、上記ｎビットの２進数で表された入力座標値のうち下位ｍビット（ｍは１以上ｎ未満の整数）の２進数を上記補間位置データとするとともに、当該入力座標値のうち上位ｎ−ｍビットの２進数を上記格子点位置データとしてもよい。下位ビットと上位ビットとを分けるだけという簡易な構成で、高速な処理にて補間位置データと格子点位置データを求めることが可能となる。
【００１６】
また、上記入力表色系の入力座標値から、同入力表色系のＭ次元座標にて当該入力座標値に対応した点を含む複数の格子点の位置が上記成分色毎に表された上記格子点位置データ、および、当該複数の格子点間の位置が上記成分色毎に表された上記補間位置データを対応させて生成し、
上記補間演算は、上記成分色毎に上記補間係数を上記補間位置データに乗じた値を全て加算する演算を含み、
上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている格子点位置データと一致しないと判断した場合に、上記成分色毎に上記補間係数を求めるとともに、同成分色毎の補間係数を求める成分色について上記位置決定手段にて生成された格子点位置データで表される複数の格子点の中から当該成分色の格子点の位置のみ異なる２個の格子点に格納された各座標値の差を上記補間係数とし、
上記成分色毎に上記成分色毎の補間係数を上記補間位置データに乗じて得られる同成分色毎の値を全て加算する演算が含まれた上記補間演算を行って上記出力座標値を求める
構成としてもよい。成分色毎に２個の参照格子点に格納された各座標値の差が成分色毎の補間係数とされるので、補間係数を素早く求めることができ、補間演算をしながら色変換を行う色変換処理を高速化させることができる。
【００１７】
ここで、Ｍ＝３の場合に、
上記格子点位置データを、上記入力表色系の３次元座標にて上記入力表色系の入力座標値に対応した点を含む六面体の頂点に位置する８個の格子点の位置を表す格子点アドレスデータと、当該六面体を区分した複数の四面体の中から当該入力座標値に対応した点を含む四面体を識別可能とする四面体識別データとから構成し、
上記入力表色系の入力座標値から、上記格子点アドレスデータと四面体識別データとからなる格子点位置データ、および、当該四面体識別データで識別される四面体の頂点に位置する４個の格子点間の位置が表された上記補間位置データを対応させて生成としてもよい。
参照する格子点の数が４と少ないので、補間処理をさらに高速化させることが可能となる。
【００１８】
上記入力座標値は画像を画素毎に上記入力表色系の座標値で表現した入力画像データを構成する各画素の座標値とされるとともに、上記出力座標値は同画像を同画素毎に上記出力表色系の座標値で表現した出力画像データを構成する各画素の座標値とされる場合、
上記各画素の中から順次注目画素を設定するとともに、当該注目画素について上記格子点位置データおよび上記補間位置データを対応させて生成し、
上記各画素の中から上記注目画素が設定される一つ前に注目画素として設定された処理済み画素について記憶した上記格子点位置データおよび上記補間係数のみ保持し、
上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて保持されている上記処理済み画素についての格子点位置データと一致すると判断した場合に、同記憶手段にて保持されている処理済み画素についての格子点位置データに対応する補間係数を読み出してもよい。
注目画素が設定される一つ前に注目画素として設定された処理済み画素は、隣接画素である可能性が大きい。画像中で隣接画素の色は注目画素の色とほとんど同じである可能性が大きいので、生成された格子点位置データが記憶手段にて保持されている格子点位置データと一致すると判断される確率は大きい。一方で、格子点位置データと補間係数を保持する記憶容量が１画素分と少なくて済む。従って、メモリの使用量を少なくさせながら、補間処理を高速化させることが可能となる。
上記入力画像データや出力画像データを構成する画素は、画像を表現できる数であればよく、複数画素の構成とすることができ、４×４画素、８×８画素のような小画像を表現するものでもよい。
【００１９】
また、上記記憶手段は、上記各画素の中から上記注目画素が設定される一つ前から所定数前までに注目画素として設定された当該所定数の処理済み画素について記憶した上記格子点位置データおよび上記補間係数のみ保持してもよい。注目画素が設定される一つ前から所定数前までに注目画素として設定された処理済み画素は、注目画素の周辺に存在する周辺画素である可能性が大きい。画像中で周辺画素の色は注目画素の色とほとんど同じである可能性が大きいので、生成された格子点位置データが記憶手段にて保持されている格子点位置データと一致すると判断される確率は大きい。従って、補間処理を高速化させることが可能となる。
【００２０】
さらに、上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている当該注目画素に隣接した隣接画素についての格子点位置データと一致するか否かを判断してもよい。画像中で隣接画素の色は注目画素の色とほとんど同じである可能性が大きいので、生成された格子点位置データが記憶手段にて保持されている格子点位置データと一致すると判断される確率は大きい。従って、補間処理を高速化させることが可能となる。
【００２１】
ここで、上記記憶手段は、上記各画素の中から上記注目画素が設定される一つ前から当該設定の方向における上記画像の１行分前までに注目画素として設定された当該１行分の処理済み画素について記憶した上記格子点位置データおよび上記補間係数のみ保持してもよい。格子点位置データと補間係数を保持する記憶容量が１行の画素分と少なくて済むので、メモリの使用量を少なくさせながら、補間処理を高速化させることが可能となる。
【００２２】
さらに、上記係数取得手段は、上記注目画素について、上記位置決定手段にて生成された格子点位置データが上記記憶手段にて記憶されている当該注目画素の周辺に存在する周辺画素についての各格子点位置データと一致するか否かを判断する際に当該注目画素に近い周辺画素から順番に一致するか否かを判断してもよい。画像中で注目画素に近いほど周辺画素の色は注目画素の色とほとんど同じである可能性が大きいので、生成された格子点位置データが記憶手段にて保持されている格子点位置データと一致すると判断される確率は大きい。従って、補間処理を高速化させることが可能となる。
【００２３】
上述した装置は、ある機器に組み込まれた状態で他の方法とともに実施されることもある等、各種の態様を含む。例えば、印刷装置を備える印刷システムとしても適用可能である。また、上記補間処理装置の構成に対応した所定の手順に従って処理を進めていくことも可能であるので、本発明は制御方法としても適用可能であり、請求項９にかかる発明も、同様の作用、効果を有する。さらに、上記装置にて制御プログラムを実行させる場合もあるので、請求項１０に記載したプログラムや、同プログラムを記録したコンピュータ読み取り可能な記録媒体としても適用可能であり、同様の作用、効果を有する。
むろん、請求項２〜請求項８に記載した構成を上記補間処理装置や印刷システムや補間処理方法やプログラムや記録媒体に対応させることも可能である。
【発明を実施するための最良の形態】
【００２４】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）補間処理装置を含む印刷システムの構成：
（２）補間処理を含む印刷制御処理：
（３）補間処理の詳細：
（４）変形例：
【００２５】
（１）補間処理装置を含む印刷システムの構成：
図１は本発明の一実施形態である補間処理装置Ａ０の構成を模式的に示す図であり、図２は本実施形態において本発明の補間処理装置となるパーソナルコンピュータ（ＰＣ）１０、印刷装置（印刷手段）となるカラー印刷可能なインクジェットプリンタ２０、等から構成された印刷システムを示している。むろん、本発明に用いられるコンピュータは、ＰＣに限定されない。
本補間処理装置は、（Ａ）参照した格子点の位置を表す情報を記憶し、（Ｂ）参照した格子点のデータから得られる「補間係数」を記憶し、（Ｃ）参照しようとしている格子点の位置が記憶されている格子点の位置と一致するかを判断し、（Ｄ）一致している場合には、記憶されている「補間係数」を読み出し、補間演算を行う。
ＰＣ１０では、バス１０ａにＣＰＵ１１、ＲＯＭ（書き換え不可能な半導体メモリ）１２、色変換ＬＵＴ（色変換テーブル）Ｔ１や各種データＤ１，ＤＰ１，ＤＰ２等が格納されるＲＡＭ（書き換え可能な半導体メモリ）１３、ＣＤ−ＲＯＭドライブ１５、フレキシブルディスク（ＦＤ）ドライブ１６、インターフェイス（Ｉ／Ｆ）１７ａ〜ｅ等が接続され、ハードディスクドライブを介して磁気ディスクであるハードディスク（ＨＤ）１４も接続され、ＣＰＵ１１がＰＣ全体を制御する。
【００２６】
ＨＤ１４にはオペレーティングシステム（ＯＳ）やアプリケーションプログラム（ＡＰＬ）等が記憶されており、実行時にＣＰＵ１１によって適宜ＲＡＭ１３に転送され、実行される。ＨＤ１４は、本発明の補間処理プログラム、色変換ＬＵＴ Ｔ２、入力表色系の座標値のビット数ＤＰ１、補間演算に用いる下位ビットのビット数ＤＰ２、等の情報を記憶した所定の記憶領域とされている。Ｉ／Ｆ１７ａ（例えばＵＳＢ Ｉ／Ｆ）には、デジタルカメラ５０等を接続可能である。ＣＲＴＩ／Ｆ１７ｂにはカラー画像データに基づいて当該データに対応する画像を表示するディスプレイ１８ａが接続され、入力Ｉ／Ｆ１７ｃにはキーボード１８ｂやマウス１８ｃが操作用入力機器として接続され、プリンタＩ／Ｆ１７ｅにはケーブル（例えばシリアルＩ／Ｆケーブル）を介してプリンタ２０が接続されている。
【００２７】
プリンタ２０は、ＣＭＹＲＶＫ（シアン、マゼンタ、イエロー、レッド、バイオレット、ブラック）の各色に対応してそれぞれ設けられた６個のインクカートリッジ２８に充填された６色のインクを印刷ヘッドから吐出して、印刷用紙（印刷媒体）にインクを付着させてドットを形成することによりカラー画像を表現した印刷データに対応する印刷画像を印刷する。むろん、ライトシアン、ライトマゼンタ、ライトブラック、ダークイエロー、無着色インク、等も使用するプリンタを採用してもよいし、ＣＭＹＲＶＫのいずれかのインクを使用しないプリンタを採用してもよい。また、インク通路内に泡を発生させてインクを吐出するバブル方式のプリンタや、トナーインクを使用して印刷媒体上に印刷画像を印刷するレーザープリンタ等、種々の印刷装置を採用可能である。印刷装置が使用するインクは、液体でも固体でもよい。本実施形態の各インクは、水性の溶媒に微細な顔料からなる色材を混合したインクとされているが、染料からなる色剤を混合したインクとしてもよいし、油性の溶媒を用いたインクとしてもよい。
本プリンタ２０では、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、通信Ｉ／Ｏ２４、コントロールＩＣ２５、ＡＳＩＣ２６、Ｉ／Ｆ２７、等がバス２０ａを介して接続され、ＣＰＵ２１がＲＯＭ２２に書き込まれたプログラムに従って各部を制御する。
【００２８】
通信Ｉ／Ｏ２４はＰＣ１０のプリンタＩ／Ｆ１７ｅと接続され、プリンタ２０は通信Ｉ／Ｏ２４を介してＰＣ１０から送信される色別のラスタデータを受信する。ＡＳＩＣ２６は、ＣＰＵ２１と所定の信号を送受信しつつヘッド駆動部２６ａに対してラスタデータに対応する印加電圧データを出力する。同ヘッド駆動部２６ａは、同印加電圧データから印刷ヘッド２９ａ〜ｆに内蔵されたピエゾ素子への印加電圧パターンを生成し、カートリッジ２８の充填室に装填された各インクを対応する印刷ヘッド２９ａ〜ｆからドット単位で吐出させる。Ｉ／Ｆ２７に接続されたキャリッジ機構２７ａや紙送り機構２７ｂは、印刷ヘッドユニット２９を主走査させたり、適宜改ページ動作を行いながら印刷用紙を順次送り出して副走査を行ったりする。
【００２９】
ＰＣ１０では、ＯＳにプリンタＩ／Ｆ１７ｅを制御するプリンタドライバ等が組み込まれ、各種の制御を実行する。ＡＰＬは、ＯＳを介してハードウェアとデータ等のやりとりを行う。プリンタドライバは、ＡＰＬの印刷機能の実行時に稼働され、プリンタＩ／Ｆ１７ｅを介してプリンタ２０と双方向の通信を行うことが可能であり、ＯＳを介してＡＰＬから印刷データを受け取ってラスタデータに変換し、プリンタ２０に送出する。
なお、本発明の補間処理プログラムは、ＯＳ、ＡＰＬ、ＯＳとＡＰＬ、のいずれにより構成してもよい。これらのプログラムを記録した媒体は、ＨＤ以外にも、ＣＤ−ＲＯＭ１５ａ、フレキシブルディスク、半導体メモリ、等でもよい。また、通信Ｉ／Ｆ１７ｄをインターネット網に接続し、所定のサーバから本発明のプログラムをダウンロードして実行してもよい。
【００３０】
図１に示す補間処理装置Ａ０は、所定の色変換テーブル記憶領域Ｍ１と各部Ａ１〜Ａ７を備え、ＲＧＢ表色系（所定の入力表色系）の３次元の座標値（Rgi,Ggi,Bgi）に対応するＣＭＹＲＶＫ表色系（所定の出力表色系）の６次元の座標値（Cgo,Mgo,Ygo,Rgo,Vgo,Kgo）を複数箇所とされた各格子点について格納した色変換ＬＵＴ Ｔ１を用い、同ＲＧＢ表色系の入力座標値（Ri,Gi,Bi）に対応する同ＣＭＹＲＶＫ表色系の出力座標値（Co,Mo,Yo,Ro,Vo,Ko）を補間演算により求める。本装置において、各部Ａ１〜Ａ３が位置決定手段を構成し、参照格子点情報記憶領域Ｍ２を有する参照格子点情報記憶部Ａ４が記憶手段を構成し、各部Ａ５，Ａ６が係数取得手段を構成し、補間演算部Ａ７が補間手段を構成している。
色変換ＬＵＴ Ｔ１を記憶した色変換テーブル記憶領域Ｍ１は、ＲＡＭ１３等のメモリに設けられる。本実施形態では、色変換ＬＵＴを参照する処理を高速化させるため、ＨＤ１４に記憶されている色変換ＬＵＴ Ｔ２をＲＡＭ１３に読み出して（コピーして）色変換ＬＵＴ Ｔ１とし、この色変換ＬＵＴ Ｔ１を参照することにしている。
【００３１】
図３に示すように、色変換ＬＵＴ Ｔ１は、ＲＧＢ毎の入力表色系の座標値（Rgi,Ggi,Bgi）とＣＭＹＲＶＫ毎の出力表色系の座標値（Cgo,Mgo,Ygo,Rgo,Vgo,Kgo）との色対応関係をNg3個の複数の格子点Ｐ１について規定した情報テーブルである。ここで、ＲＧＢ表色系は３種類の成分色Ｒ，Ｇ，Ｂで構成され、ＲＧＢ表色系の座標値は、ｓＲＧＢ規格で規定されるｓＲＧＢ色空間やより広域の広域ＲＧＢ色空間等の３次元のＲＧＢ色空間の座標値とすることができる。また、ＣＭＹＲＶＫ表色系は６種類の成分色Ｃ，Ｍ，Ｙ，Ｒ（ＲＧＢ表色系のＲとは異なる），Ｖ，Ｋで構成され、ＣＭＹＲＶＫ表色系の座標値は、６次元のＣＭＹＲＶＫ色空間の座標値とすることができる。
色変換ＬＵＴ Ｔ１には、入力画像データＤＩ１のＲ，Ｇ，Ｂの各成分色に対応した座標軸から構成されるＲＧＢ色空間を格子状に分割することによって多数の格子点Ｐ１が設定されている。デジタル処理を行うため、入力表色系の座標値は、ＲＧＢ各成分色毎にｎビット（ｎは２以上の整数）の２進数で表され、階調値（例えばｎ＝８で０〜255の256階調）とされている。また、出力表色系の座標値も、ＣＭＹＲＶＫ各成分色毎に２進数（例えば入力表色系の座標値と同じｎビット）で表され、階調値（例えば０〜255の256階調）とされている。そして、色変換ＬＵＴ Ｔ１には、各格子点Ｐ１についてＲＧＢ表色系の座標での位置（Rgi,Ggi,Bgi）に応じたＣＭＹＲＶＫ毎の座標値（Cgo,Mgo,Ygo,Rgo,Vgo,Kgo）が階調値とされて格納されている。
本実施形態では、入力表色系の座標値のビット数をｎ、補間演算に用いる下位ビットのビット数をｍとして、ＲＧＢ各色毎の格子点の位置数Ngを２n-m＋１としている。そして、入力表色系の座標値の階調数を２nとすると、ＲＧＢ各座標軸方向の格子点間隔を原則として２mと等間隔にしている。
【００３２】
アドレス計算用データ生成部Ａ１は、入力画像データＤＩ１を構成する各画素の中から順次注目画素を設定するとともに、当該注目画素についての入力座標値（入力信号）Ri,Gi,Biから、ＲＧＢ表色系の３次元座標にて入力座標値Ri,Gi,Biに対応した点を含む六面体（立方体ないし直方体）の頂点に位置する８個の格子点の位置を表す格子点アドレスデータRh,Gh,Bh（格子点位置データの一部。Rh,Gh,Bhはいずれも０〜Ng−２の整数）を生成する。本実施形態の入力画像データＤＩ１は、画像を画素毎にＲＧＢ表色系の座標値で表現したデータであり、同画像をドットマトリクス状の多数の画素で階調表現（本実施形態では０〜255の256階調）したデータである。例えば、入力座標値Ri,Gi,Biのそれぞれの上位ｎ−ｍビットを格子点アドレスデータRh,Gh,Bhとすることができる。なお、８個の格子点の各位置は、ＲＧＢ表色系の３次元座標にて（Rh,Gh,Bh），（Rh+1,Gh,Bh），（Rh,Gh+1,Bh），（Rh+1,Gh+1,Bh），（Rh,Gh,Bh+1），（Rh+1,Gh,Bh+1），（Rh,Gh+1,Bh+1），（Rh+1,Gh+1,Bh+1）とされるが、これら全てのデータを本発明にいう格子点アドレスデータとすることもできるし、（Rh,Gh,Bh）のみ等一部のデータのみを本発明にいう格子点アドレスデータとすることもできる。
【００３３】
また、補間演算用データ生成部Ａ２は、注目画素についての入力座標値Ri,Gi,Biから、上記格子点アドレスデータRh,Gh,Bhで位置が表される複数の格子点についての格子点間の位置を表す補間位置データ（補間演算用信号）Rf,Gf,Bfを生成する。例えば、入力座標値Ri,Gi,Biのそれぞれの下位ｍビットを補間位置データRf,Gf,Bfとすることができる。
さらに、格子点アドレス生成部Ａ３は、注目画素について、生成された補間位置データRf,Gf,Bfを用いて、格子点アドレスデータRh,Gh,Bhで位置が表される六面体を区分した複数の四面体の中から入力座標値Ri,Gi,Biに対応した点を含む四面体を識別可能とする四面体識別データIt（格子点位置データの一部。Itは６種類の整数値）を生成する。そして、注目画素について、生成した四面体識別データItと上記格子点アドレスデータRh,Gh,Bhとを合わせて格子点位置データ（参照格子点情報）Ict（Rh,Gh,Bh,It）を生成する。なお、格子点位置データIctは、Rh,Gh,Bh,Itの関数である。
【００３４】
図４は格子点アドレスデータRh,Gh,Bhで表される六面体（立方体ないし直方体）の各頂点に位置する８個の格子点を示す図であり、図５は当該六面体を区分した６個の四面体と各四面体の各頂点に位置する４個の格子点を示す図である。入力座標値Ri,Gi,Biに対応する入力点Ｐ２は、図４の六面体内に含まれるとともに、図５の各四面体のいずれかに含まれる。図５では、It＝７の四面体に含まれている様子が示されている。ここで、各四面体に異なる値の四面体識別データItを対応させてあり、補間位置データRf,Gf,Bfの大小関係に応じてItが決定され、格子点位置データIct（Rh,Gh,Bh,It）が決定される。
例えば、上記入力点を含む六面体を特定するデータを六面体特定データIcとすると、Ic＝Rh・Ng2＋Gh・Ng＋Bhとすることができる。また、四面体識別データItは、例えば０〜７の８個の整数値から選ばれる６個の整数値とすることができる。そこで、格子点位置データは、例えば、所定係数MIをItの最大値＋１＝８として、Ict＝Ic・MI＋Itとすることができる。
以上、上記各部Ａ１〜Ａ３は、ＲＧＢ表色系の入力座標値から、参照する複数の格子点の位置を表す格子点位置データIctと、当該複数の格子点間の位置を表す補間位置データRf,Gf,Bfを対応させて生成する。
【００３５】
参照格子点情報記憶部Ａ４は、格子点位置データIct（Rh,Gh,Bh,It）と、当該格子点位置データIctで表される複数の格子点に格納された各座標値から求められる補間係数Hr,Hg,Hbと、を対応させ、格子点位置−補間係数対応情報Ｄ１として所定の参照格子点情報記憶領域Ｍ２に記憶させる。補間係数Hr,Hg,Hbは、補間位置データRf,Gf,Bfから補間演算を行って出力座標値（Co,Mo,Yo,Ro,Vo,Ko）を求めるための係数である。参照格子点情報記憶領域Ｍ２は、ＲＡＭ１３等のメモリに設けられる。格子点位置−補間係数対応情報Ｄ１は、格子点位置データＤ１１と補間係数Ｄ１２とを対応させて格納した情報である。
【００３６】
参照格子点情報比較部Ａ５は、格子点アドレス生成部Ａ３で生成された格子点位置データIct（Rh,Gh,Bh,It）が参照格子点情報記憶部Ａ４にて記憶されている格子点位置データIct_OLDと一致するか否かを判断し、一致すると判断した場合に参照格子点情報記憶領域Ｍ２に記憶されている格子点位置データIct_OLDに対応する補間係数Hr_OLD,Hg_OLD,Hb_OLDを読み出す。
【００３７】
補間係数演算部Ａ６は、参照格子点情報比較部Ａ５にて格子点位置データが一致しないと判断された場合に、格子点アドレス生成部Ａ３で生成された格子点位置データIct（Rh,Gh,Bh,It）で表される複数の格子点に格納された各座標値から、補間パラメータである補間係数Hr,Hg,Hbおよび補間定数（補間係数の一種）H1を求める。
図５で示したように、入力点を含む四面体はRf,Gf,Bfの大小関係に応じて決定される。参照される４個の格子点の位置は、
Rf≧Gf≧Bf（It＝７とする）の場合、
（Rh,Gh,Bh）、（Rh+1,Gh,Bh）、（Rh+1,Gh+1,Bh）、（Rh+1,Gh+1,Bh+1）、
Rf≧Bf＞Gf（It＝６とする）の場合、
（Rh,Gh,Bh）、（Rh+1,Gh,Bh）、（Rh+1,Gh,Bh+1）、（Rh+1,Gh+1,Bh+1）、
Gf＞Rf≧Bf（It＝３とする）の場合、
（Rh,Gh,Bh）、（Rh,Gh+1,Bh）、（Rh+1,Gh+1,Bh）、（Rh+1,Gh+1,Bh+1）、
Gf≧Bf＞Rf（It＝１とする）の場合、
（Rh,Gh,Bh）、（Rh,Gh+1,Bh）、（Rh,Gh+1,Bh+1）、（Rh+1,Gh+1,Bh+1）、
Bf＞Rf≧Gf（It＝４とする）の場合、
（Rh,Gh,Bh）、（Rh,Gh,Bh+1）、（Rh+1,Gh,Bh+1）、（Rh+1,Gh+1,Bh+1）、
Bf＞Gf＞Rf（It＝０とする）の場合、
（Rh,Gh,Bh）、（Rh,Gh,Bh+1）、（Rh,Gh+1,Bh+1）、（Rh+1,Gh+1,Bh+1）、
となる。なお、上記６条件のそれぞれにおける格子点の位置を（R1,G1,B1），（R2,G2,B2），（R3,G3,B3），（R4,G4,B4）で表すとともに、各格子点に格納された座標値をD（R1,G1,B1），D（R2,G2,B2），D（R3,G3,B3），D（R4,G4,B4）で表すことにする。
【００３８】
ここで、
入力座標値Ri,Gi,Biに対応する出力座標値をOUT（Ri,Gi,Bi）
（Co,Mo,Yo,Ro,Vo,Koのいずれか）、
補間位置データRf,Gf,BfをRi,Gi,Biの下位ｍビット、
格子点アドレスデータRh,Gh,BhをRi,Gi,Biの上位ｎ−ｍビット、
D（）を各格子点に格納された座標値（ＣＭＹＲＶＫ各成分色毎に存在）
とすると、Rf,Gf,Bfの大小関係に応じて決定された四面体の各頂点の格子点に格納された各座標値D（）から、ＣＭＹＲＶＫの色毎に出力座標値OUTを求めることができる。例えば、Rf≧Gf≧Bfの場合、
OUT＝｛（NORMAL−Rf）・D（Rh,Gh,Bh）
＋（Rf−Gf）・D（Rh+1,Gh,Bh）
＋（Gf−Bf）・D（Rh+1,Gh+1,Bh）
＋Bf・D（Rh+1,Gh+1,Bh+1）}／NORMAL    …（１）
なる演算式により、色毎の出力座標値OUTを算出することができる。なお、NORMALは正規化するための定数であり、Ri,Gi,Biの下位ｍビットを補間位置データRf,Gf,Bfとする場合には、NORMAL＝2mとすることができる。
【００３９】
上記式（１）をRf,Gf,Bf毎に整理し、各Rf,Gf,Bfの係数を補間係数Hr,Hg,Hb、定数D（Rh,Gh,Bh）を補間定数H1とする。補間係数は、
Rf≧Gf≧Bf（It＝７）の場合、
Hr＝D（Rh+1,Gh,Bh）−D（Rh,Gh,Bh）            …（２）
Hg＝D（Rh+1,Gh+1,Bh）−D（Rh+1,Gh,Bh）        …（３）
Hb＝D（Rh+1,Gh+1,Bh+1）−D（Rh+1,Gh+1,Bh）    …（４）
となる。同様にして、
Rf≧Bf＞Gf（It＝６）の場合、
Hr＝D（Rh+1,Gh,Bh）−D（Rh,Gh,Bh）            …（５）
Hb＝D（Rh+1,Gh,Bh+1）−D（Rh+1,Gh,Bh）        …（６）
Hg＝D（Rh+1,Gh+1,Bh+1）−D（Rh+1,Gh,Bh+1）    …（７）
Gf＞Rf≧Bf（It＝３）の場合、
Hg＝D（Rh,Gh+1,Bh）−D（Rh,Gh,Bh）            …（８）
Hr＝D（Rh+1,Gh+1,Bh）−D（Rh,Gh+1,Bh）        …（９）
Hb＝D（Rh+1,Gh+1,Bh+1）−D（Rh+1,Gh+1,Bh）    …（１０）
Gf≧Bf＞Rf（It＝１）の場合、
Hg＝D（Rh,Gh+1,Bh）−D（Rh,Gh,Bh）            …（１１）
Hb＝D（Rh,Gh+1,Bh+1）−D（Rh,Gh+1,Bh）        …（１２）
Hr＝D（Rh+1,Gh+1,Bh+1）−D（Rh,Gh+1,Bh+1）    …（１３）
Bf＞Rf≧Gf（It＝４）の場合、
Hb＝D（Rh,Gh,Bh+1）−D（Rh,Gh,Bh）            …（１４）
Hr＝D（Rh+1,Gh,Bh+1）−D（Rh,Gh,Bh+1）        …（１５）
Hg＝D（Rh+1,Gh+1,Bh+1）−D（Rh+1,Gh,Bh+1）    …（１６）
Bf＞Gf＞Rf（It＝０）の場合、
Hb＝D（Rh,Gh,Bh+1）−D（Rh,Gh,Bh）            …（１７）
Hg＝D（Rh,Gh+1,Bh+1）−D（Rh,Gh,Bh+1）        …（１８）
Hr＝D（Rh+1,Gh+1,Bh+1）−D（Rh,Gh+1,Bh+1）    …（１９）
となる。すなわち、ＲＧＢ各成分色毎の補間係数は、求める成分色について格子点位置データIctで表される複数の格子点の中から当該成分色の格子点の位置のみ異なる２個の格子点に格納された各座標値の差とされている。
なお、補間定数H1はいずれの場合も、
H1＝D（Rh,Gh,Bh）                             …（２０）
となる。
【００４０】
以上のようにして補間係数Hr,Hg,Hbを求めると、参照格子点情報記憶部Ａ４は、求められた補間係数Hr,Hg,Hbと、当該補間係数Hr,Hg,Hbを求める際に求めた格子点位置データIct（Rh,Gh,Bh,It）と、を対応させ、格子点位置−補間係数対応情報Ｄ１として参照格子点情報記憶領域Ｍ２に記憶させる。本実施形態では、所定数の処理済み画素について記憶した格子点位置−補間係数対応情報Ｄ１のみキャッシュすることにしている。このキャッシュ機能により、格子点位置−補間係数対応情報Ｄ１のデータサイズを少なくさせることができ、補間演算をしながら色変換を行う色変換処理で使用されるメモリのデータサイズを少なくさせることができる。なお、このキャッシュ機能は「格子点位置データIct」に対応する「補間係数Hr,Hg,Hb」に対して機能し、「入力座標値Ri,Gi,Bi」に対応する「出力座標値OUT」に対して機能するものではない。
【００４１】
補間演算部Ａ７は、注目画素について、参照格子点情報比較部Ａ５にて参照格子点情報記憶部Ａ４から取得された補間係数Hr_OLD,Hg_OLD,Hb_OLDまたは補間係数演算部Ａ６にて求められた補間係数Hr,Hg,Hbと、補間位置データRf,Gf,Bfとを用いて、補間演算を行って出力座標値OUT（Ri,Gi,Bi）を求める。参照格子点情報比較部Ａ５にて得られた補間係数Hr_OLD,Hg_OLD,Hb_OLDを補間係数Hr,Hg,Hbと表すと、参照格子点情報比較部Ａ５と補間係数演算部Ａ６のいずれから得られた補間係数であっても、以下の演算式により、ＣＭＹＲＶＫ各成分色毎に出力座標値OUTを算出することができる。
OUT＝（Hr・Rf＋Hg・Gf＋Hb・Bf）／NORMAL＋H1    …（２１）
すなわち、ＲＧＢ各成分色毎にＲＧＢ各成分色毎の補間係数Hr,Hg,Hbを補間位置データRf,Gf,Bfに乗じて得られるＲＧＢ各成分色毎の値を全て加算する演算が含まれた補間演算を行って出力座標値OUTを求める。この場合、出力１色あたり８bit（256階調）として、計算量は加算３、減算３、乗算３、除算１となり、上述した従来の第二の補間演算処理と同じ計算量で済む。
以上の処理を入力画像データＤＩ１の全画素について行うと、画像を画素毎にＣＭＹＲＶＫ表色系の座標値で表現した出力画像データＤＩ２が生成される。出力画像データＤＩ２は、入力画像データＤＩ１から色変換された画像データであり、画像をドットマトリクス状の多数の画素（入力画像データＤＩ１と同じ画素数）で階調表現（本実施形態では０〜255の256階調）したデータである。画素毎の階調データは、プリンタ２０が印刷ヘッドから吐出するＣＭＹＲＶＫの各インクの使用量を表す階調値である。
【００４２】
以上説明したように、生成された格子点位置データIctと記憶されている格子点位置データIct_OLDとが一致するか否かが判断された結果、IctとIct_OLDとが一致しない場合には従来通り参照格子点の各座標値から補間係数Hr,Hg,Hbが求められ、一致する場合には記憶された補間係数Hr_OLD,Hg_OLD,Hb_OLDが読み出され、補間演算が行われる。補間係数Hr_OLD,Hg_OLD,Hb_OLDを用いて補間演算を行う場合には、参照格子点の各座標値から補間係数Hr,Hg,Hbを求める処理が不要となる一方、色変換ＬＵＴのデータサイズは増えない。従って、上述した従来の第一および第二の補間演算処理よりも処理時間が短くて済む一方、上述した従来の第三の補間演算処理のように多くのデータ量を有するルックアップテーブルを用意する必要がない。その結果、ＬＵＴを用いて補間演算をしながら色変換する処理が、ＬＵＴのデータサイズを増やすことなく高速化される。
【００４３】
（２）補間処理を含む印刷制御処理：
図６の印刷制御処理を開始すると、まず、ＰＣ１０は、ドットマトリクス状である多数（所定数）の画素で階調表現されて画素毎に複数の要素色に対応した階調データで画像を表現した画像データを入力し、画像をＲＧＢ毎の複数の画素で階調表現したＲＧＢ色空間内のＲＧＢ各256階調のＲＧＢデータ（入力画像データＤＩ１）に変換する（ステップＳ１０５。以下「ステップ」を省略）。
次に、ＲＧＢデータを構成する各画素の階調データを変換対象として順次注目画素を移動させながら、注目画素について、色変換ＬＵＴ Ｔ１を参照して、ＲＧＢデータを、画像をＣＭＹＲＶＫ毎の同数の画素で256階調表現したＣＭＹＲＶＫデータ（出力画像データＤＩ２）に色変換する色変換処理を行う（Ｓ１１０）。色変換処理の詳細は、後述する。
【００４４】
その後、多階調のＣＭＹＲＶＫデータに対して誤差拡散法やディザ法や濃度パターン法といった所定のハーフトーン処理を行い、ＣＭＹＲＶＫデータと同じ画素数であるＣＭＹＲＶＫ別の多値化データを生成する（Ｓ１１５）。多値化データは、ドットの形成状況をドットの形成有無として表すデータであり、例えば階調値「１」をドット形成有り、階調値「０」をドット形成無しに対応させて二値化した２階調の二値化データとすることができる。むろん、４階調等のデータとしてもよい。
また、生成した多値化データに対して所定のラスタライズ処理を行ってプリンタで使用される順番に並べ替え、ＣＭＹＲＶＫ別のラスタデータを生成する（Ｓ１２０）。その後、ラスタデータをプリンタ２０に対して出力し（Ｓ１２５）、印刷制御処理を終了する。このようにして、色変換後のＣＭＹＲＶＫデータを用いて対応する印刷画像（出力画像）をプリンタに印刷させる制御を行うことができる。
【００４５】
プリンタ２０では、出力画像を多値で表現するラスタデータを入手し、入手したラスタデータに基づいて印刷ヘッドを駆動しながらドットを形成する画素毎にインクを吐出して印刷用紙上に付着させる。すると、画素単位でインクのドットが印刷用紙上に形成され、色変換後のＣＭＹＲＶＫデータに対応する印刷画像（出力画像）が印刷される。
【００４６】
（３）補間処理の詳細：
図７は、上記色変換処理の一例を示すフローチャートであり、図８は横方向（ｘ方向）に画素数Lとされた入力画像データＤＩ１を構成する各画素を示す図である。本実施形態では図７の処理を行うＰＣ１０が補間処理装置を構成し、Ｓ２０４〜Ｓ２１２が位置決定手段、Ｓ２１４〜Ｓ２２２が係数取得手段、Ｓ２２４とＲＡＭ１３が記憶手段、Ｓ２２６が補間手段に対応している。各ステップは、ソフトウェア（例えば、プリンタドライバ）による処理により行われる以外にも、ハードウェアの回路により行われるように構成してもよい。なお、Ｓ２１６〜Ｓ２２６の処理はＣＭＹＲＶＫの成分色別に行われるが、わかりやすくするためフローには記載していない。
【００４７】
図８のおいて、各四角一つ一つが画素であり、四角の太線で囲った画素が注目画素Ｕ１であり、四角の中に記載がある画素が処理済みの処理済み画素Ｕ２であり、注目画素Ｕ１を除く空白の画素が未変換画素である。処理済み画素Ｕ２に記載した情報は、現時点の注目画素Ｕ１を基準として何回前に注目画素として設定されたかを表す値を示している。また、処理済み画素Ｕ２のうち注目画素Ｕ１に隣接する隣接画素は、１，L-1，L，L+1と記載した４画素である。
本色変換処理では、ＲＧＢデータ（入力画像データＤＩ１）を構成する各画素の中から注目画素Ｕ１が設定される一つ前に注目画素として設定された処理済み画素（１と記載した画素）について記憶した格子点位置データIct_OLDと補間係数Hr_OLD,Hg_OLD,Hb_OLDのみ保持し、補間処理を行っている。
【００４８】
色変換処理を開始すると、色変換前の入力画像データＤＩ１を構成する各画素の中から、出力座標値OUTを求める対象の注目画素の位置（ｘ，ｙ）を設定する（Ｓ２０２）。  本実施形態の注目画素の設定順序（変換処理の順序）は、図８の左右方向を横方向（ｘ方向）、上下方向を縦方向（ｙ方向）として、左上の画素から開始して順番に右上の画素までとし、その後一つずつ下の左端の画素から順番に右端の画素までとして、最後に右下の画素としている。その結果、図の例では、注目画素Ｕ１よりも上側となる全画素と、注目画素Ｕ１とｙ位置が同じ画素のうち注目画素Ｕ１よりも左側となる画素とが、処理済み画素Ｕ２となり、残りの画素が未変換画素Ｕ３となる。むろん、注目画素の設定順序は、適宜変更可能であり、解像度等に応じて異なる順序とすることも可能である。そして、入力した画像上での各画素のｘ座標とｙ座標の組合せを格納するポインタの値を順次更新する等により、注目画素の位置を設定すればよい。
次に、設定した注目画素の入力座標値Ri,Gi,Biを入力画像データＤＩ１から読み込む（Ｓ２０４）。
【００４９】
さらに、入力座標値Ri,Gi,Biの各上位ｎ−ｍビットの２進数をRh,Gh,Bhにする等、入力座標値Ri,Gi,Biに基づいて格子点アドレスデータRh,Gh,Bhを生成する（Ｓ２０６）。ソフトウェアの処理でRh,Gh,Bhを得るためには、２進数のRi,Gi,Biをそれぞれ２mで除算（ｍビット分ビットデータを右にシフト）してもよいし、より一般的にはＲＧＢ各色毎の格子点の間隔をNORMALとしてRi,Gi,BiをぞれぞれNORMALで除算してもよいし、予めRi,Gi,BiとRh,Gh,Bhとの対応関係を表すＬＵＴを作成して記憶しておき、このＬＵＴを参照してRi,Gi,BiをRh,Gh,Bhに変換してもよい。ハードウェアの処理でRh,Gh,Bhを得るためには、Ri,Gi,Biを表すｎ種類の信号のうち上位ｎ−ｍ種類の信号を、Rh,Gh,Bhを表す格子点アドレス計算用信号とすることができる。
一般には、ＲＧＢ各色毎の格子点の座標値をそれぞれPr（Rt），Pg（Gt），Pb（Bt） （Rt,Gt,Btは０〜Ng−１の整数値、NgはＲＧＢ各色毎の格子点の位置数）として、
Pr（Rt）≦Ri＜Pr（Rt+1）    …（２２）
Pg（Gt）≦Gi＜Pg（Gt+1）    …（２３）
Pb（Bt）≦Bi＜Pb（Bt+1）    …（２４）
を満たすRt,Gt,Btを０〜Ng−２の整数値の中からそれぞれ探索し、上記不等式（２２）〜（２４）を満たすRt,Gt,BtをRh,Gh,Bhとすることができる。
【００５０】
また、入力座標値Ri,Gi,Biの各下位ｍビットの２進数をRf,Gf,Bfにする等、入力座標値Ri,Gi,Biに基づいて補間位置データRf,Gf,Bfを生成する（Ｓ２０８）。ソフトウェアの処理でRf,Gf,Bfを得るためには、２進数のRi,Gi,Biからそれぞれ２m−１との論理和（AND）を求めてもよいし、より一般的にはＲＧＢ各色毎の格子点の間隔をNORMALとしてRi,Gi,BiをぞれぞれNORMALで除算した余りとしてもよいし、予めRi,Gi,BiとRf,Gf,Bfとの対応関係を表すＬＵＴを作成して記憶しておき、このＬＵＴを参照してRi,Gi,BiをRf,Gf,Bfに変換してもよい。ハードウェアの処理でRf,Gf,Bfを得るためには、Ri,Gi,Biを表すｎ種類の信号のうち下位ｍ種類の信号を、Rf,Gf,Bfを表す補間演算用信号とすることができる。
一般には、上記不等式（２２）〜（２４）を満たすRt,Gt,BtをRh,Gh,Bhとしたとき、
Rf＝Ri−Pr（Rh）    …（２５）
Gf＝Gi−Pg（Gh）    …（２６）
Bf＝Bi−Pb（Bh）    …（２７）
とすることができる。
【００５１】
Rf,Gf,Bfを生成すると、Rf,Gf,Bfの大小関係に基づいて四面体識別データItを生成する（Ｓ２１０）。例えば、
Rf≧Gfか否かを判断して条件成立のときに、It1＝４（＝２2）
Rf≧Bfか否かを判断して条件成立のときに、It2＝２（＝２1）
Gf≧Bfか否かを判断して条件成立のときに、It3＝１（＝２0）
とし、It＝It1＋It2＋It3とすることができる。すると、
Rf≧Gf≧Bfの場合、It＝７、
Rf≧Bf＞Gfの場合、It＝６、
Gf＞Rf≧Bfの場合、It＝３、
Gf≧Bf＞Rfの場合、It＝１、
Bf＞Rf≧Gfの場合、It＝４、
Bf＞Gf＞Rfの場合、It＝０、
となる。ハードウェアの処理でItを得るには、Rf≧Gf，Rf≧Bf，Gf≧Bfを比較する比較器をそれぞれ設け、当該各比較器の出力信号を合わせてItを表す四面体識別信号とすることができる。
なお、Rf,Gf,Bfの大小関係を判断する際に、等号付き不等号「≧」と等号無し不等号「＞」とは互いに入れ替え可能である。
【００５２】
Itを生成すると、格子点アドレスデータRh,Gh,Bhと四面体識別データItとに基づいて格子点位置データIct（Rh,Gh,Bh,It）を生成する（Ｓ２１２）。ＲＧＢ各色毎の格子点の位置数がNgであるとき、入力座標値Ri,Gi,Biに対応する入力点を含む六面体を特定する六面体特定データIcを、
Ic＝Rh・Ng2＋Gh・Ng＋Bh    …（２８）
なる演算式により求めると、色変換ＬＵＴの全ての単位立方体（直方体）に対して異なる六面体特定データIcが与えられる。また、四面体識別データItは、０〜７の８個の整数値から選ばれる６個の整数値とされているので、格子点位置データIctは、所定係数MIを８以上として、
Ict＝Ic・MI＋It    …（２９）
なる演算式により求めることができる。算出されたIctは、色変換ＬＵＴの全ての単位四面体に対して異なる値を与える。むろん、単にデータRh,Gh,Bh,Itの集まりを格子点位置データIctとしてもよい。
ハードウェアの処理で格子点位置データIctを得るには、例えば、上記式（２８）をIc＝Rh・Ng・Ng＋Gh・Ng＋Bhと変形して、乗算器３個と加算器２個を用いて六面体特定データIcを求める演算を行ってIcを表す複数種類の直方体識別信号を出力し、さらに乗算器１個と加算器１個を用いて格子点位置データIctを求める演算を行ってIctを表す複数種類の参照格子点情報信号を出力すればよい。なお、MI＝２3とする場合には、Ictを表す複数種類の直方体識別信号に３種類の四面体識別信号を下位ビットに付加する回路とすることができる。また、Ghを表す複数種類の信号を中心としてRhを表す複数種類の信号を上位ビットに付加し、Bhを表す複数種類の信号を下位ビットに付加する回路により直方体識別信号を生成してもよい。
以上により、ＲＧＢ成分色毎に、入力座標値Ri,Gi,Biから、格子点アドレスデータRh,Gh,Bhと四面体識別データItとからなる格子点位置データIct、および、当該四面体識別データItで識別される四面体の頂点に位置する４個の格子点間の位置が表された補間位置データRf,Gf,Bfが対応して生成される。
【００５３】
Ictを生成すると、生成した格子点位置データIctが参照格子点情報記憶領域Ｍ２に保持されている格子点位置データIct_OLDと一致するか否かを判断する（Ｓ２１４）。ハードウェアの処理で判断するには、Ictを表す複数種類の参照格子点情報信号のそれぞれとIct_OLDを表す複数種類の記憶参照格子点情報信号のそれぞれとの各排他的論理和を求めるＸＯＲゲートをそれぞれ設けるとともに、全ＸＯＲゲートの出力の論理和を求めるＯＲゲートを設け、当該ＯＲゲートの出力信号を判断結果の信号とする等が考えられる。この場合、ＯＲゲートの出力信号が”０”の場合にIctとIct_OLDとが一致していることになる。
一致すると判断した場合、ＣＭＹＲＶＫ各成分色毎に、参照格子点情報記憶領域Ｍ２から保持されている格子点位置データIct_OLDに対応する補間係数Hr_OLD,Hg_OLD,Hb_OLDを読み出す（Ｓ２１６）。次に、ＣＭＹＲＶＫ各成分色毎に、上述した式（２０）に従って、格子点アドレスデータRh,Gh,Bhで表される格子点に格納された座標値D（Rh,Gh,Bh）を色変換ＬＵＴ Ｔ１から読み出し、補間定数H1として（Ｓ２１８）、Ｓ２２６に進む。
【００５４】
図９に示すように、参照格子点情報記憶領域Ｍ２には、注目画素の一つ前の画素のみについて、ＣＭＹＲＶＫ各成分色毎に、共通の格子点位置データIct_OLDと成分色毎の補間係数Hr_OLD,Hg_OLD,Hb_OLDとが対応して保持されている。そこで、格子点位置−補間係数対応情報Ｄ１の中から、補間係数を取得する対象のＣＭＹＲＶＫいずれかの成分色に対応する補間係数を読み出す。
格子点位置−補間係数対応情報Ｄ１に補間パラメータである補間定数H1も格納されている場合には、この時点で格子点位置データIct_OLDに対応する補間定数H1_OLDも読み出してもよい。本色変換処理において、読み出される補間係数は、一つ前に注目画素として設定された処理済み画素（図８で１と記載した画素）についての補間係数のみである。ハードウェアの処理とするには、ラッチ回路を設け、上記ＯＲゲートの出力が”０”である場合にHr_OLD,Hg_OLD,Hb_OLDを表す複数種類の記憶補間係数信号をラッチ回路で保持する等が考えられる。
【００５５】
一方、IctとIct_OLDとが一致しないと判断した場合、ＣＭＹＲＶＫ各成分色毎に、格子点アドレスデータRh,Gh,Bhと四面体識別データItとを用い、四面体の各頂点の格子点に格納された各座標値から補間係数Hr,Hg,Hbを求める（Ｓ２２０）。具体的には、上述した式（２）〜（１９）の中から四面体識別データItの値に対応する３つの式を用いることにし、格子点アドレスデータRh,Gh,Bhを用いて四面体の各頂点の座標値D（R1,G1,B1），D（R2,G2,B2），D（R3,G3,B3），D（R4,G4,B4）を色変換ＬＵＴ Ｔ１から読み出してItに対応する式に代入し、補間係数Hr,Hg,Hbを算出する。ハードウェアの処理とするには、格子点アドレスデータRh,Gh,Bhで表されるアドレスに出力座標値OUTを格納した半導体メモリを色変換ＬＵＴの記憶領域として用意し、四面体識別信号Itに応じたアドレスを生成するアドレス生成回路（Rh,Gh,Bhに対して１を加算する加算器や、ラッチ回路等）を設けるとともに、半導体メモリからの出力信号の差分を演算する回路（減算器や、ラッチ回路等）を設けて演算する等が考えられる。
【００５６】
また、ＣＭＹＲＶＫ各成分色毎に、上述した式（２０）に従って、格子点アドレスデータRh,Gh,Bhで表される格子点に格納された座標値D（Rh,Gh,Bh）を色変換ＬＵＴ Ｔ１から読み出し、補間定数H1とする（Ｓ２２２）。ハードウェアの処理とするには、色変換ＬＵＴとした半導体メモリや、ラッチ回路等を設けて、アドレスRh,Gh,Bhの出力データを保持する等が考えられる。
以上、Ｓ２１４〜Ｓ２２２の処理により、ＲＧＢ成分色毎に、格子点位置データIct（Rh,Gh,Bh,It）が参照格子点情報記憶領域Ｍ２に保持されている格子点位置データIct_OLDと一致する場合にIct_OLDに対応する補間係数Hr,Hg,Hbが読み出され、異なる場合に格子点位置データIct（Rh,Gh,Bh,It）で表される４個の格子点に格納された各座標値から補間係数Hr,Hg,Hbが求められる。
【００５７】
補間係数と補間定数が得られると、ＣＭＹＲＶＫ各成分色毎に、格子点位置データIctと補間係数Hr,Hg,Hbとを対応させて新たな格子点位置−補間係数対応情報Ｄ１とし、参照格子点情報記憶領域Ｍ２に上書きして格子点位置−補間係数対応情報Ｄ１を新たな情報に更新し（Ｓ２２４）、Ｓ２２６に進む。すなわち、参照格子点情報記憶領域Ｍ２に保持される格子点位置−補間係数対応情報Ｄ１は、注目画素が設定される一つ前に注目画素として設定された処理済み画素について記憶した情報のみとされている。これにより、格子点位置データと補間係数を保持する記憶容量が１画素分と少なくて済む。ハードウェアの処理とするには、格子点位置−補間係数対応情報Ｄ１を保持する半導体メモリを設け、Ictを表す参照格子点情報信号とHr,Hg,Hbを表す補間係数信号とをデータとして半導体メモリの所定アドレスに書き込む等が考えられる。
なお、補間定数H1も、補間位置データRf,Gf,Bfから補間演算を行って出力座標値OUTを求めるための補間係数といえるため、格子点位置データIctと補間パラメータHr,Hg,Hb,H1とを対応させて格子点位置−補間係数対応情報Ｄ１とし、参照格子点情報記憶領域Ｍ２に記憶させてもよい。
【００５８】
Ｓ２２６では、ＣＭＹＲＶＫ各成分色毎に、上述した式（２１）を用い、読み出された補間係数Hr_OLD,Hg_OLD,Hb_OLDまたは生成された補間係数Hr,Hg,Hbと、補間位置データRf,Gf,Bfとに基づいて、補間演算を行って出力座標値OUT（Ri,Gi,Bi）を求める。ハードウェアの処理とするには、１成分色につき、乗算器３個、除算器１個、加算器３個を用いて出力座標値OUTを演算して求める等が考えられる。
そして、入力画像データＤＩ１を構成する全画素を設定したか否かを判断し（Ｓ２２８）、条件不成立の場合にはＳ２０２〜Ｓ２２８を繰り返し、条件成立の場合には色変換処理を終了する。
【００５９】
以上の処理により、生成された格子点位置データIctと記憶されている格子点位置データIct_OLDとが同じ場合には、従来とは異なり記憶されている補間係数Hr_OLD,Hg_OLD,Hb_OLDが用いられて補間演算が行われる。その結果、色変換テーブルのデータサイズを増やすことなく、参照格子点の各座標値から補間係数を求める処理が不要となる。従って、ＬＵＴを用いて補間演算をしながら色変換する処理を、ＬＵＴのデータサイズを増やすことなく高速化させることが可能となる。また、成分色毎に２個の参照格子点に格納された各座標値の差から素早く補間係数が求められるし、参照格子点数が４と少ないので、この点で非常に高速な補間処理を行うことが可能である。さらに、注目画素が設定される一つ前に注目画素として設定された処理済み画素は、隣接画素である可能性が大きく、画像中で隣接画素の色は注目画素の色とほとんど同じ可能性が大きいので、IctとIct_OLDとが一致する確率は大きい。一方、格子点位置データと補間係数を保持する記憶容量が１画素分と少なくて済む。この点で、少ないメモリサイズで、演算数の少ない非常に高速な補間処理を行うことが可能となる。
【００６０】
特に、図１０に示すように、入力画像が略同一色の領域を有するとき、当該領域の入力座標値Ri,Gi,Biに小さなノイズが入り、注目画素を設定する順に各画素の入力座標値Ri,Gi,Biが細かく変動することがある。例えば、デジタルカメラ等で撮影された写真画像等においては、全体的な変化はなだらかであるが、ノイズ等の影響で入力信号はわずかに変動している状況が多い。図では、その一例として、入力座標値（Ri,Gi,Biのいずれか）が入力画像の画素毎に130と131の値で変動している様子が示されている。ここで、入力座標値Ri,Gi,Biと完全に一致する出力座標値OUTを入力座標値Ri,Gi,Biに対応させて記憶するだけでは、入力された入力座標値と記憶されている入力座標値とが異なってしまい、記憶されている出力座標値OUTを用いることができない。
本発明の場合、ＲＧＢ表色系の３次元座標にて入力座標値Ri,Gi,Biに対応する入力点が細かく変動し、補間位置データRf,Gf,Bfは細かく変動する。例えば、入力座標値を０〜255の256階調とし、成分色毎の格子点間隔を16とすると、座標値１程度の変動ではほとんどの場合入力点は同じ四面体の中に含まれ、格子点アドレスデータRh,Gh,Bhや四面体識別データItは変動しない。そして、入力座標値Ri,Gi,Biから求められる格子点位置データIct（Rh,Gh,Bh,It）と一致する補間係数Hr,Hg,Hb」を格子点位置データIctに対応させて記憶しているので、入力座標値Ri,Gi,Biが変動しても格子点位置データIctが一致している限り、キャッシュ機能は有効であり、記憶されている補間係数を使用することができる。このような作用により、補間演算処理を高速化させることが可能となる。
【００６１】
（４）変形例：
ところで、本発明を実施する際に使用可能なコンピュータと周辺装置は、様々な構成が可能である。例えば、印刷装置は、コンピュータと一体化されたものでもよい。単色画像のみ印刷する印刷装置でもよい。上述したフローについては、一部または全部を印刷装置あるいは専用の画像処理装置で実行してもよい。
上述した入力表色系や出力表色系を、ＣＩＥ ＸＹＺ表色系、ＣＩＥ Ｌａｂ表色系、ＣＩＥ Ｌｕｖ表色系、ＹＣｂＣｒ（輝度、青の色差、赤の色差）表色系、等としてもよい。
入力表色系の座標値や入力座標値をＭ次元の入力色空間の座標値とするとき、Ｍは３以外にも、２次元、１次元、４次元、等、様々な次元数とすることができる。また、出力表色系の座標値や入力座標値をＮ次元の出力色空間の座標値とするとき、Ｎは６次元以外にも、３次元、２次元、１次元、４次元、７次元、等、様々な次元数とすることができる。
四面体の各頂点に位置する４個の格子点の座標値を用いる四面体補間を行う以外にも、六面体の各頂点に位置する８個の格子点の座標値を用いる六面体補間（立方体補間、直方体補間）を行ってもよい。この場合、格子点アドレスデータRh,Gh,Bhが本発明にいう格子点位置データとなり、四面体識別データItは不要となる。そして、Rh,Gh,Bhのみと補間係数を対応させて記憶し、その後生成されたRh,Gh,Bhが記憶手段にて記憶されている格子点アドレスデータRh_OLD,Gh_OLD,Bh_OLDと一致するか否かを判断し、一致する場合に対応する補間係数を読み出して補間演算を行うようにすればよい。
むろん、四面体補間や六面体補間以外の補間処理にも、本発明を適用可能である。
【００６２】
また、図１１と図１２に示すように、注目画素が設定される一つ前から所定数前までに注目画素として設定された当該所定数の処理済み画素について、格子点位置データIctと補間係数Hr,Hg,Hbとを対応させて保持してもよい。本変形例は、所定数を２として、図８の「１」と「２」を記載した処理済み画素について記憶した格子点位置データIctと対応する補間係数Hr,Hg,Hbのみ保持している。ここで、一つ前の画素用の記憶領域は一つ前に注目画素として設定された画素（図８の「１」の画素）についての格子点位置データIct_OLD1と補間係数とを格納する領域とし、二つ前の画素用の記憶領域は二つ前に注目画素として設定された画素（図８の「２」の画素）についての格子点位置データIct_OLD2と補間係数とを格納する領域としてある。
なお、図１２のフローでは実行するＳ２０４〜Ｓ２１０の記載を省略してあるとともに、図７と比べてＳ２１４〜Ｓ２１６の代わりにＳ３０２〜Ｓ３０８を設け、Ｓ２２４の代わりにＳ３１０〜Ｓ３１２を設けている。そして、上述した実施形態と同じ符号を付した箇所については説明を省略する。
【００６３】
Ｓ２１２で格子点位置データIctを生成すると、一つ前の画素用の記憶領域に保持されている格子点位置データIct_OLD1を読み出し、生成したIctと一致するか否かを判断する（Ｓ３０２）。条件成立時には、ＣＭＹＲＶＫ各成分色毎に、一つ前の画素用の記憶領域に保持されている格子点位置−補間係数対応情報Ｄ１３の中から補間係数Hr_OLD1,Hg_OLD1,Hb_OLD1を読み出し（Ｓ３０４）、Ｓ２１８に進む。条件不成立時には、さらに、二つ前の画素用の記憶領域に保持されている格子点位置データIct_OLD2を読み出し、生成したIctと一致するか否かを判断する（Ｓ３０６）。条件成立時には、ＣＭＹＲＶＫ各成分色毎に、二つ前の画素用の記憶領域に保持されている格子点位置−補間係数対応情報Ｄ１４の中から補間係数Hr_OLD2,Hg_OLD2,Hb_OLD2を読み出し（Ｓ３０８）、Ｓ２１８に進む。条件不成立時には、Ｓ２２０に進む。
【００６４】
また、Ｓ２２２で補間定数H1を取得すると、図１１の矢印で示すように、参照格子点情報記憶領域Ｍ２で、一つ前の画素用の記憶領域に保持されている格子点位置データIct_OLD1と補間係数Hr_OLD1,Hg_OLD1,Hb_OLD1とからなる格子点位置−補間係数対応情報Ｄ１３を、二つ前の画素用の記憶領域に上書きする（Ｓ３１０）。この段階で、二つ前の画素用の記憶領域が新たな格子点位置−補間係数対応情報Ｄ１４に更新される。
【００６５】
次に、ＣＭＹＲＶＫ各成分色毎に、今回求めた格子点位置データIctと補間係数Hr,Hg,Hbとを対応させて新たな格子点位置−補間係数対応情報とし、一つ前の画素用の記憶領域に上書きして格子点位置−補間係数対応情報Ｄ１３を新たな情報に更新し（Ｓ３１２）、Ｓ２２６に進む。
その後、Ｓ２２８からＳ２０２に戻って次の注目画素を設定し、生成した格子点位置データIctと保持されている格子点位置データIct_OLDとの一致を判断する時点では、一つ前の画素用の記憶領域には図８の「１」の画素についてのIctとHr,Hg,Hbとが保持され、二つ前の画素用の記憶領域には図８の「２」の画素についてのIctとHr,Hg,Hbとが保持されている。
【００６６】
注目画素が設定される一つ前から所定数前までに注目画素として設定された処理済み画素は、注目画素の周辺に存在する周辺画素の可能性が大きい。画像中で周辺画素の色は注目画素の色とほとんど同じ可能性が大きいので、参照格子点情報記憶領域Ｍ２に保持されている補間係数が用いられる確率は大きい。また、複数の処理済み画素について格子点位置データと補間係数を保持することにより、格子点位置データが一致する確率が高くなるので、さらに補間処理が高速化される。
なお、格子点位置データと補間係数を保持する画素の数（上記所定数）は、当該画素が注目画素の周辺であることが好ましいため、入力画像の横方向（ｘ方向）の画素数をLとしてL/3以下、L/4以下、等とすることができる。
【００６７】
また、図１３と図１４に示すように、注目画素が設定される一つ前から当該設定の方向における入力画像の１行分前までに注目画素として設定された当該１行分の処理済み画素について、格子点位置データIctと補間係数Hr,Hg,Hbとを対応させて保持してもよい。本変形例は、所定数を入力画像の横方向（ｘ方向）の画素数Lとして、図８の「１」を記載した処理済み画素（注目画素の左隣の画素）と「L」を記載した処理済み画素（注目画素の上隣の画素）について記憶した格子点位置データIctと対応する補間係数Hr,Hg,Hbのみ保持している。
なお、図１４のフローでは実行するＳ２０４〜Ｓ２１０の記載を省略してあるとともに、図７と比べてＳ２１４〜Ｓ２１６の代わりにＳ４０２〜Ｓ４０８を設け、Ｓ２２４の代わりにＳ４１０を設けている。そして、上述した実施形態と同じ符号を付した箇所については説明を省略する。
【００６８】
Ｓ２１２で格子点位置データIctを生成すると、一つ前の画素用の記憶領域に保持されている格子点位置データIct_OLD1を読み出し、生成したIctと一致するか否かを判断する（Ｓ４０２）。条件成立時には、ＣＭＹＲＶＫ各成分色毎に、一つ前の画素用の記憶領域に保持されている格子点位置−補間係数対応情報Ｄ１５の中から補間係数Hr_OLD1,Hg_OLD1,Hb_OLD1を読み出し（Ｓ４０４）、Ｓ２１８に進む。条件不成立時には、さらに、L画素前の画素用の記憶領域に保持されている格子点位置データIct_OLDLを読み出し、生成したIctと一致するか否かを判断する（Ｓ４０６）。条件成立時には、ＣＭＹＲＶＫ各成分色毎に、L画素前の画素用の記憶領域に保持されている格子点位置−補間係数対応情報Ｄ１６の中から補間係数Hr_OLDL,Hg_OLDL,Hb_OLDLを読み出し（Ｓ４０８）、Ｓ２１８に進む。条件不成立時には、Ｓ２２０に進む。
【００６９】
また、Ｓ２２２で補間定数H1を取得すると、ＣＭＹＲＶＫ各成分色毎に、今回求めた格子点位置データIctと補間係数Hr,Hg,Hbとを対応させて新たな格子点位置−補間係数対応情報とし、L画素前の画素用の記憶領域に上書きして格子点位置−補間係数対応情報Ｄ１６を新たな情報に更新し（Ｓ４１０）、Ｓ２２６に進む。
その後、Ｓ２２８からＳ２０２に戻って次の注目画素を設定し、生成した格子点位置データIctと保持されている格子点位置データIct_OLDとの一致を判断する時点では、一つ前の画素用の記憶領域には図８の「１」の画素についてのIctとHr,Hg,Hbとが保持され、L画素前の画素用の記憶領域には図８の「L」の画素についてのIctとHr,Hg,Hbとが保持されている。
【００７０】
すなわち、本変形例では、処理済み画素のうち注目画素に隣接した「１」と「L」の隣接画素について保持している格子点位置データIct_OLDと生成した格子点位置データIctとが一致するか否かを判断している。そして、画像中で隣接画素の色は注目画素の色とほとんど同じ可能性が大きいので、参照格子点情報記憶領域Ｍ２に保持されている補間係数が用いられる確率は大きい。一方、格子点位置データと補間係数を保持する記憶容量が１行の画素分と少なくて済むので、メモリの使用量を少なくさせながら、補間処理を高速化させることが可能となる。
なお、本変形例では、参照格子点情報記憶領域内で格子点位置データIct_OLDと補間係数Hr,Hg,Hbを移動させる必要が無い点で、図１２で示した色変換処理よりも高速化させることが可能である。
【００７１】
また、図１５に示すように、生成された格子点位置データIctが注目画素の周辺に存在する周辺画素について保持されている各格子点位置データIct_OLDと一致するか否かを判断する際に当該注目画素に近い周辺画素から順番に一致するか否かを判断してもよい。ここで、処理済み画素と注目画素との近さは、図８に示すように入力画像の最も左上の画素を原点Ｏ（０，０）として右方向にｘ軸、下方向にｙ軸とし、処理済み画素のｘｙ座標を（x2,y2）、注目画素のｘｙ座標を（x1,y1）とするとき、両画素間の距離Lu＝｛（x2-x1）2＋（y2-y1）2｝1/2で表すことができる。そして、距離Luが小さいほど、処理済み画素は注目画素に近いことになる。図１５では、注目画素が設定される一つ前から当該設定の方向における入力画像の１行分前までに注目画素として設定された当該１行分の処理済み画素について格子点位置データと補間係数を保持し、１行分の処理済み画素のうち距離Luが２画素以下となる「１」、「L」、「L-1」、「２」の４画素について記憶されている補間係数を利用する例を示している。
【００７２】
すなわち、図１４のＳ２０２〜Ｓ２１２の後、注目画素に最も近い処理済み画素の一つである「１」の画素についての格子点位置データIct_OLD1を参照格子点情報記憶領域Ｍ２から読み出し、生成した格子点位置データIctと一致するか否かを判断する（Ｓ５０２）。条件成立時には、Ict_OLD1に対応する補間係数Hr_OLD1,Hg_OLD1,Hb_OLD1を同記憶領域Ｍ１から読み出し（Ｓ５０４）、Ｓ２１８に進む。条件不成立時には、注目画素に最も近い処理済み画素の一つである「L」の画素についての格子点位置データIct_OLDLを同記憶領域Ｍ２から読み出し、生成したIctと一致するか否かを判断する（Ｓ５０６）。条件成立時には、Ict_OLDLに対応する補間係数Hr_OLDL,Hg_OLDL,Hb_OLDLを同記憶領域Ｍ１から読み出し（Ｓ５０８）、Ｓ２１８に進む。条件不成立時には、次に注目画素に近い処理済み画素である「L-1」の画素についての格子点位置データIct_OLDL-1を同記憶領域Ｍ２から読み出し、生成したIctと一致するか否かを判断する（Ｓ５１０）。条件成立時には、Ict_OLDL-1に対応する補間係数Hr_OLDL-1,Hg_OLDL-1,Hb_OLDL-1を同記憶領域Ｍ１から読み出し（Ｓ５１２）、Ｓ２１８に進む。条件不成立時には、次に注目画素に近い処理済み画素である「２」の画素についての格子点位置データIct_OLD2を同記憶領域Ｍ２から読み出し、生成したIctと一致するか否かを判断する（Ｓ５１４）。条件成立時には、Ict_OLD2に対応する補間係数Hr_OLD2,Hg_OLD2,Hb_OLD2を同記憶領域Ｍ１から読み出し（Ｓ５１６）、Ｓ２１８に進む。条件不成立時には、図１４のＳ２２０に進み、補間係数と補間定数を取得し、今回求めた格子点位置データと補間係数とを対応させてL画素前の画素用の記憶領域に上書きして格子点位置−補間係数対応情報を新たな情報に更新する。
【００７３】
画像中で注目画素に近いほど周辺画素の色は注目画素の色とほとんど同じ可能性が大きいので、生成された格子点位置データが参照格子点情報記憶領域Ｍ２にて保持されている格子点位置データと一致する確率は大きい。従って、補間処理が高速化される。
【００７４】
さらに、所定の入力表色系の座標値に対応する所定の出力表色系の座標値を複数箇所とされた各格子点について格納した色変換テーブルを用い、同入力表色系の入力信号（入力座標値）に対応する同出力表色系の出力信号（出力座標値）を補間演算により生成する補間処理装置であって、
上記入力表色系の入力座標値を表す入力信号から、参照する複数の格子点の位置を表す参照格子点情報信号（格子点位置データ）、および、当該複数の格子点間の位置を表す補間演算用信号（補間位置データ）を対応させて生成する位置決定手段と、
上記参照格子点情報信号の情報（格子点位置データ）と、当該参照格子点情報信号の情報で表される複数の格子点に格納された各座標値から生成されるとともに上記補間演算用信号の情報から上記補間演算を行って上記出力信号を生成するための補間係数と、を対応させて記憶する記憶手段と、
上記位置決定手段にて生成された参照格子点情報信号の情報（格子点位置データ）が上記記憶手段にて記憶されている参照格子点情報信号の情報（格子点位置データ）と一致するか否かを判断し、一致すると判断した場合に同記憶手段にて記憶されている参照格子点情報信号の情報（格子点位置データ）に対応する補間係数を読み出し、一致しないと判断した場合に同位置決定手段にて生成された参照格子点情報信号（格子点位置データ）で表される複数の格子点に格納された各座標値から上記補間係数を求める係数取得手段と、
得られた上記補間係数と上記補間演算用信号の情報（補間位置データ）とを用いて上記補間演算を行って上記出力信号（出力座標値）を生成する補間手段とを具備する補間処理装置を構成してもよい。
上記のように構成しても、本願発明に含まれ、ＬＵＴを用いて補間演算をしながら入力表色系の入力座標値を対応する出力表色系の出力座標値に色変換する処理を、ＬＵＴのデータサイズを増やすことなく高速化させることが可能となる。
【図面の簡単な説明】
【００７５】
【図１】補間処理装置の構成を模式的に示す図。
【図２】印刷システムの構成を示すブロック図。
【図３】色変換テーブルの構造を模式的に示す図。
【図４】六面体の各頂点に位置する８個の格子点を示す図。
【図５】図４六面体を区分した６個の四面体と各頂点の格子点を示す図。
【図６】印刷制御処理を示すフローチャート。
【図７】色変換処理の一例を示すフローチャート。
【図８】入力画像データＤＩ１を構成する各画素を模式的に示す図。
【図９】記憶されている格子点位置データと補間係数を模式的に示す図。
【図１０】細かいノイズが混入した画像について補間処理を行う様子を示す図。
【図１１】変形例において記憶されている格子点位置データと補間係数に示す図。
【図１２】変形例において色変換処理の一例を示すフローチャート。
【図１３】変形例において記憶されている格子点位置データと補間係数に示す図。
【図１４】変形例において色変換処理の一例を示すフローチャート。
【図１５】変形例において色変換処理の一例を示すフローチャート。
【符号の説明】
【００７６】
１０…パーソナルコンピュータ（ＰＣ）、１３…ＲＡＭ、１４…ハードディスク、Ａ０…補間処理装置、Ａ１〜Ａ３…位置決定手段、Ａ４…記憶手段、Ａ５，Ａ６…係数取得手段、Ａ７…補間手段、Ｄ１，Ｄ１３〜Ｄ１６…格子点位置−補間係数対応情報、Ｄ１１…格子点位置データ、Ｄ１２…補間係数、ＤＩ１…入力画像データ、ＤＩ２…出力画像データ、ＤＰ１…入力表色系の座標値のビット数、ＤＰ２…補間演算に用いる下位ビットのビット数、Ｍ１…色変換テーブル記憶領域、Ｍ２…参照格子点情報記憶領域、Ｐ１…格子点、Ｐ２…入力点、Ｔ１，Ｔ２…色変換テーブル、Ｕ１…注目画素、Ｕ２…処理済み画素、Ｕ３…未変換画素
【図１】
2005278072.tif 000003
【図２】
2005278072.tif 000004
【図３】
2005278072.tif 000005
【図４】
2005278072.tif 000006
【図５】
2005278072.tif 000007
【図６】
2005278072.tif 000008
【図７】
2005278072.tif 000009
【図８】
2005278072.tif 000010
【図９】
2005278072.tif 000011
【図１０】
2005278072.tif 000012
【図１１】
2005278072.tif 000013
【図１２】
2005278072.tif 000014
【図１３】
2005278072.tif 000015
【図１４】
2005278072.tif 000016
【図１５】
2005278072.tif 000017