(57)【要約】  【課題】  色変換処理全体としての処理速度を向上することができると共に高精度の処理が可能な色変換装置および色変換プログラムを提供すること。  【解決手段】  一度の乗算処理で、１つのアキュムレータ１１ａに格納されたＣＭＹＫ４色の各色成分値のそれぞれに重み係数が乗算されるので、色成分値に重み係数を乗算する乗算処理を一色ずつ個別に行う場合に比較して、乗算回数が減少し、色変換処理全体としての処理速度が向上する。また、２バイトの領域が各色毎に割り当てられて、１つのアキュムレータ１１ａの互いに異なる領域に格納されるので、乗算処理による桁あふれは発生せず、高精度で乗算処理を行うことができる。  【選択図】    図２
2007013389.tif 000002
【特許請求の範囲】
【請求項１】
第１の色群の各色成分値で構成される入力値を、その入力値に対応する第２の色群の各色成分値に変換して出力する色変換装置であって、
前記第１の色群の各色成分値に相当する値を座標軸とする表色空間内において、前記第１の色群の各色成分値で特定される格子点に対応付けられた前記第２の色群の各色成分値を格納する色変換テーブルと、
前記表色空間内において、前記色変換テーブルにおいて前記第２の色群の各色成分値が対応付けられた格子点で構成される立方体のうち、前記入力値の位置を内部に含む立方体を選択するエリア選択手段と、
前記エリア選択手段により選択された立方体における前記入力値の位置を決定するエリア座標決定手段と、
前記エリア座標決定手段により決定された前記入力値の位置に基づいて、前記立方体を構成する格子点のうち、少なくとも１つの格子点について重み係数を取得する重み係数取得手段と、
前記重み係数取得手段により重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記色変換テーブルから読み出して演算メモリに格納する値格納手段と、
前記値格納手段により前記演算メモリに格納された前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算する乗算手段と、
前記乗算手段による各格子点についての乗算結果を各色毎に累積加算する加算手段と、
前記加算手段による各色毎の累積加算結果に基づいて、前記入力値に対応する前記第２の色群の各色成分値を出力する出力手段とを備え、
前記値格納手段は、前記格子点に対応する前記第２の色群の各色成分値のうち、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納し、
前記乗算手段は、一度の乗算処理で、前記１つの演算メモリに格納された少なくとも２色の各色成分値のそれぞれに前記重み係数を乗算するものであることを特徴とする色変換装置。
【請求項２】
前記加算手段は、前記乗算手段による各格子点についての乗算結果が各色毎に累積加算された累積値であって、前記値格納手段により前記１つの演算メモリに各色成分値が格納される少なくとも２色と同じ色の累積値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納し、且つ、前記乗算手段により前記１つの演算メモリに格納される少なくとも２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とを、一度の加算処理で各色毎に加算するものであることを特徴とする請求項１記載の色変換装置。
【請求項３】
前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、２Ｎ−１−１より大きく２Ｎ−１以下で構成され（Ｎは任意の正の整数）、且つ、前記重み係数取得手段により取得される重み係数の合計の最大値が、２Ｍ−１−１より大きく２Ｍ−１以下で構成されるとき（Ｍは任意の正の整数）、
前記値格納手段は、少なくともＮ＋Ｍビットの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものであることを特徴とする請求項１または２に記載の色変換装置。
【請求項４】
前記乗算手段および前記加算手段として機能するＣＰＵを備え、
前記ＣＰＵは、８ｎビットＣＰＵで構成され（ｎは任意の正の整数）、前記１つの演算メモリは前記ＣＰＵに設けられたｎバイトのメモリで構成されるものであって、
前記値格納手段は、前記第２の色群のうち、８ｎ／（Ｎ＋Ｍ）色の色成分値を、前記１つの演算メモリの互いに異なる領域に各色毎に格納するものであることを特徴とする請求項３記載の色変換装置。
【請求項５】
前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、１２７より大きく２５５以下で構成され、且つ、前記重み係数取得手段により取得される重み係数の合計の最大値が、１２７より大きく２５５以下で構成されるものであって、
前記値格納手段は２バイトの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものであることを特徴とする請求項１または２に記載の色変換装置。
【請求項６】
前記乗算手段および前記加算手段として機能するＣＰＵを備え、
前記ＣＰＵは６４ビットＣＰＵで構成され、前記１つの演算メモリは前記ＣＰＵに設けられた８バイトのメモリで構成されるものであって、
前記値格納手段は、前記第２の色群のうち、４色のそれぞれに２バイトの領域を割り当てて、４色の各色成分値を前記１つの演算メモリに格納するものであることを特徴とする請求項５記載の色変換装置。
【請求項７】
前記乗算手段および前記加算手段として機能するＣＰＵを備え、
前記ＣＰＵは３２ビットＣＰＵで構成され、前記１つの演算メモリは前記ＣＰＵに設けられた４バイトのメモリで構成されるものであって、
前記値格納手段は、前記第２の色群のうち、２色のそれぞれに２バイトの領域を割り当てて、２色の各色成分値を前記１つの演算メモリに格納するものであることを特徴とする請求項５記載の色変換装置。
【請求項８】
前記出力手段は、前記累積加算結果を各色毎に読み出し、その読み出した累積加算結果を、前記重み係数取得手段により取得される重み係数の合計でそれぞれ除算することにより、前記入力値に対応する前記第２の色群の各色成分値を算出し、出力するものであることを特徴とする請求項１から７のいずれかに記載の色変換装置。
【請求項９】
前記色変換テーブルにおいて、前記格子点に対応付けられた前記第２の色群の各色成分値は、前記値格納手段により前記１つの演算メモリに書き込まれる単位で格納されていることを特徴とする請求項１から８のいずれかに記載の色変換装置。
【請求項１０】
前記重み係数取得手段により取得された重み係数が０であるかを判断する重み係数判断手段を備え、
前記値格納手段は、前記重み係数判断手段により、重み係数が０でないと判断された場合、その重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記演算メモリに格納するものであることを特徴とする請求項１から９のいずれかに記載の色変換装置。
【請求項１１】
第１の色群の各色成分値で構成される入力値を、その入力値に対応する第２の色群の各色成分値に変換して出力する機能をコンピュータに実現させる色変換プログラムであって、
前記コンピュータは、前記第１の色群の各色成分値に相当する値を座標軸とする表色空間内において、前記第１の色群の各色成分値で特定される格子点に対応付けられた前記第２の色群の各色成分値を格納する色変換テーブルを備えるものであり、
前記表色空間内において、前記色変換テーブルにおいて前記第２の色群の各色成分値が対応付けられた格子点で構成される立方体のうち、前記入力値の位置を内部に含む立方体を選択するエリア選択ステップと、
前記エリア選択ステップにより選択された立方体における前記入力値の位置を決定するエリア座標決定ステップと、
前記エリア座標決定ステップにより決定された前記入力値の位置に基づいて、前記立方体を構成する格子点のうち、少なくとも１つの格子点について重み係数を取得する重み係数取得ステップと、
前記重み係数取得ステップにより重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記色変換テーブルから読み出して演算メモリに格納する値格納ステップと、
前記値格納ステップにより前記演算メモリに格納された前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算する乗算ステップと、
前記乗算ステップによる各格子点についての乗算結果を各色毎に累積加算する加算ステップと、
前記加算ステップによる各色毎の累積加算結果に基づいて、前記入力値に対応する前記第２の色群の各色成分値を出力する出力ステップとを前記コンピュータに実行させ、
前記値格納ステップは、前記格子点に対応する前記第２の色群の各色成分値のうち、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納し、
前記乗算ステップは、一度の乗算処理で、前記１つの演算メモリに格納された少なくとも２色の各色成分値のそれぞれに前記重み係数を乗算するものであることを特徴とする色変換プログラム。
【請求項１２】
前記加算ステップは、前記乗算ステップによる各格子点についての乗算結果が各色毎に累積加算された累積値であって、前記値格納ステップにより前記１つの演算メモリに各色成分値が格納される少なくとも２色と同じ色の累積値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納し、且つ、前記乗算ステップにより前記１つの演算メモリに格納される少なくとも２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とを、一度の加算処理で各色毎に加算するものであることを特徴とする請求項１１記載の色変換プログラム。
【請求項１３】
前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、２Ｎ−１−１より大きく２Ｎ−１以下で構成され（Ｎは任意の正の整数）、且つ、前記重み係数取得ステップにより取得される重み係数の合計の最大値が、２Ｍ−１−１より大きく２Ｍ−１以下で構成されるとき（Ｍは任意の正の整数）、
前記値格納ステップは、少なくともＮ＋Ｍビットの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものであることを特徴とする請求項１１または１２に記載の色変換プログラム。
【請求項１４】
前記コンピュータは前記乗算ステップおよび前記加算ステップを実行する８ｎビットＣＰＵを備え（ｎは任意の正の整数）、前記１つの演算メモリは前記ＣＰＵに設けられたｎバイトのメモリで構成されるものであって、
前記値格納ステップは、前記第２の色群のうち、８ｎ／（Ｎ＋Ｍ）色の色成分値を、前記１つの演算メモリの互いに異なる領域に各色毎に格納するものであることを特徴とする請求項１３記載の色変換プログラム。
【請求項１５】
前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、１２７より大きく２５５以下で構成され、且つ、前記重み係数取得プログラムにより取得される重み係数の合計の最大値が、１２７より大きく２５５以下で構成されるものであって、
前記値格納ステップは２バイトの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものであることを特徴とする請求項１１または１２に記載の色変換プログラム。
【請求項１６】
前記コンピュータは前記乗算ステップおよび前記加算ステップを実行する６４ビットＣＰＵを備え、前記１つの演算メモリは前記ＣＰＵに設けられた８バイトのメモリで構成されるものであって、
前記値格納ステップは、前記第２の色群のうち、４色のそれぞれに２バイトの領域を割り当てて、４色の各色成分値を前記１つの演算メモリに格納するものであることを特徴とする請求項１５記載の色変換プログラム。
【請求項１７】
前記コンピュータは前記乗算ステップおよび前記加算ステップを実行する３２ビットＣＰＵを備え、前記１つの演算メモリは前記ＣＰＵに設けられた４バイトのメモリで構成されるものであって、
前記値格納ステップは、前記第２の色群のうち、２色のそれぞれに２バイトの領域を割り当てて、２色の各色成分値を前記１つの演算メモリに格納するものであることを特徴とする請求項１５記載の色変換プログラム。
【請求項１８】
前記出力ステップは、前記累積加算結果を各色毎に読み出し、その読み出した累積加算結果を、前記重み係数取得ステップにより取得される重み係数の合計でそれぞれ除算することにより、前記入力値に対応する前記第２の色群の各色成分値を算出し、出力するものであることを特徴とする請求項１１から１７のいずれかに記載の色変換プログラム。
【請求項１９】
前記色変換テーブルにおいて、前記格子点に対応付けられた前記第２の色群の各色成分値は、前記値格納ステップにより前記１つの演算メモリに書き込まれる単位で格納されていることを特徴とする請求項１１から１８のいずれかに記載の色変換プログラム。
【請求項２０】
前記重み係数取得プログラムにより取得された重み係数が０であるかを判断する重み係数判断ステップを前記コンピュータに実行させ、
前記値格納ステップは、前記重み係数判断ステップにより、重み係数が０でないと判断された場合、その重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記演算メモリに格納するものであることを特徴とする請求項１１から１９のいずれかに記載の色変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色変換装置および色変換プログラムに関するものである。
【背景技術】
【０００２】
ディスプレイで表示する色は赤、緑、青の成分で構成されている。それぞれの頭文字をとってRGB形式と呼ばれる。それに対してプリンタで印刷される色は主にシアン、マゼンダ、イエロー、ブラックの成分で構成されている。これも頭文字をとってCMYK形式と呼ばれる。ディスプレイで表示している色をプリンタで印字する場合は、RGB形式で表現された色をCMYK形式に変換する色変換処理が必要である。
【０００３】
RGB形式からCMYK形式への色変換処理は理論的には一律の計算式で行うことが出来る。しかし一般的にはインクやトナーの質などにより、一律の計算式ではすべての色において満足する結果を得ることはできない。
【０００４】
そこでLook up Table（以後LUT）と呼ばれるものを使用する。これは「RGBの各色成分値がいくつの場合は、いくつのCMYKの各色成分値を使用する」ということをテーブルにまとめたものである。RGBの各色成分値が、それぞれ例えば、０〜２５５までの値をとる場合、RGBの各色成分値の組み合わせは２５６×２５６×２５６＝約１６７７万種類ある。これらそれぞれに対して、最適なCMYKの各色成分値が与えられる。しかし、この組み合わせはあまりにも多く、これらすべてのLUTのデータを保持するのは容量的に困難であり、またLUTを作成するのも大変な手間となる。
【０００５】
そこで実際にはＲＧＢの各色成分値の２５６段階から、ある程度の代表点を選出し、その代表点に対するCMYKの各色成分値をまとめたLUTを使用する。代表点上にあるRGBの各色成分値はLUTをそのまま参照することでCMYKの値を得ることができる。それに対して、代表点上に無いRGBの各色成分値は周りの代表点から近似値を計算する必要がある。
【０００６】
この近似値の計算する方法の中に、例えば、三角錐補間（４点補間）や、三角柱補間（６点補間）や、長方形補間（８点補間）というものがある。これらは入力されたＲＧＢの各色成分値の近傍の代表点を複数個選出し、その代表点のLUTの値から近似値を計算するというものである。この近似値の計算ではLUTの値を参照し、加算と乗算を繰り返し行い、最後に除算をするということを行っている（例えば、特許文献１参照）。
【特許文献１】特開平８−３０７６８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の加算、乗算、除算処理は、シアン、マゼンダ、イエロー、ブラックの４色に対して個別に行っていため、時間がかかっていた。また印刷作業におけるRGB形式からCMYK形式への色変換処理はすべての点に対して行う必要がある。例えばＡ４の用紙を６００ｄｐｉの解像度で印刷しようと思う場合、色変換しなければいけない点は約３２００万点にものぼり、1点に対する色変換の処理で、計算量がわずかに増加しても、色変換処理全体として見ると、大きなスピードの低下に繋がっていた。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、色変換処理全体としての処理速度を向上することができると共に高精度な処理が可能な色変換装置および色変換プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
この目的を達成するために、請求項１記載の色変換装置は、第１の色群の各色成分値で構成される入力値を、その入力値に対応する第２の色群の各色成分値に変換して出力するものであって、前記第１の色群の各色成分値に相当する値を座標軸とする表色空間内において、前記第１の色群の各色成分値で特定される格子点に対応付けられた前記第２の色群の各色成分値を格納する色変換テーブルと、前記表色空間内において、前記色変換テーブルにおいて前記第２の色群の各色成分値が対応付けられた格子点で構成される立方体のうち、前記入力値の位置を内部に含む立方体を選択するエリア選択手段と、前記エリア選択手段により選択された立方体における前記入力値の位置を決定するエリア座標決定手段と、前記エリア座標決定手段により決定された前記入力値の位置に基づいて、前記立方体を構成する格子点のうち、少なくとも１つの格子点について重み係数を取得する重み係数取得手段と、前記重み係数取得手段により重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記色変換テーブルから読み出して演算メモリに格納する値格納手段と、前記値格納手段により前記演算メモリに格納された前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算する乗算手段と、前記乗算手段による各格子点についての乗算結果を各色毎に累積加算する加算手段と、前記加算手段による各色毎の累積加算結果に基づいて、前記入力値に対応する前記第２の色群の各色成分値を出力する出力手段とを備え、前記値格納手段は、前記格子点に対応する前記第２の色群の各色成分値のうち、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納し、前記乗算手段は、一度の乗算処理で、前記１つの演算メモリに格納された少なくとも２色の各色成分値のそれぞれに前記重み係数を乗算するものである。
【００１０】
請求項２記載の色変換装置は、請求項１記載の色変換装置において、前記加算手段は、前記乗算手段による各格子点についての乗算結果が各色毎に累積加算された累積値であって、前記値格納手段により前記１つの演算メモリに各色成分値が格納される少なくとも２色と同じ色の累積値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納し、且つ、前記乗算手段により前記１つの演算メモリに格納される少なくとも２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とを、一度の加算処理で各色毎に加算するものである。
【００１１】
請求項３記載の色変換装置は、請求項１または２に記載の色変換装置において、前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、２Ｎ−１−１より大きく２Ｎ−１以下で構成され（Ｎは任意の正の整数）、且つ、前記重み係数取得手段により取得される重み係数の合計の最大値が、２Ｍ−１−１より大きく２Ｍ−１以下で構成されるとき（Ｍは任意の正の整数）、前記値格納手段は、少なくともＮ＋Ｍビットの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものである。
【００１２】
請求項４記載の色変換装置は、請求項３記載の色変換装置において、前記乗算手段および前記加算手段として機能するＣＰＵを備え、前記ＣＰＵは、８ｎビットＣＰＵで構成され（ｎは任意の正の整数）、前記１つの演算メモリは前記ＣＰＵに設けられたｎバイトのメモリで構成されるものであって、前記値格納手段は、前記第２の色群のうち、８ｎ／（Ｎ＋Ｍ）色の色成分値を、前記１つの演算メモリの互いに異なる領域に各色毎に格納するものである。
【００１３】
請求項５記載の色変換装置は、請求項１または２に記載の色変換装置において、前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、１２７より大きく２５５以下で構成され、且つ、前記重み係数取得手段により取得される重み係数の合計の最大値が、１２７より大きく２５５以下で構成されるものであって、前記値格納手段は２バイトの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものである。
【００１４】
請求項６記載の色変換装置は、請求項５記載の色変換装置において、前記乗算手段および前記加算手段として機能するＣＰＵを備え、前記ＣＰＵは６４ビットＣＰＵで構成され、前記１つの演算メモリは前記ＣＰＵに設けられた８バイトのメモリで構成されるものであって、前記値格納手段は、前記第２の色群のうち、４色のそれぞれに２バイトの領域を割り当てて、４色の各色成分値を前記１つの演算メモリに格納するものである。
【００１５】
請求項７記載の色変換装置は、請求項５記載の色変換装置において、前記乗算手段および前記加算手段として機能するＣＰＵを備え、前記ＣＰＵは３２ビットＣＰＵで構成され、前記１つの演算メモリは前記ＣＰＵに設けられた４バイトのメモリで構成されるものであって、前記値格納手段は、前記第２の色群のうち、２色のそれぞれに２バイトの領域を割り当てて、２色の各色成分値を前記１つの演算メモリに格納するものである。
【００１６】
請求項８記載の色変換装置は、請求項１から７のいずれかに記載の色変換装置において、前記出力手段は、前記累積加算結果を各色毎に読み出し、その読み出した累積加算結果を、前記重み係数取得手段により取得される重み係数の合計でそれぞれ除算することにより、前記入力値に対応する前記第２の色群の各色成分値を算出し、出力するものである。
【００１７】
請求項９記載の色変換装置は、請求項１から８のいずれかに記載の色変換装置において、前記色変換テーブルにおいて、前記格子点に対応付けられた前記第２の色群の各色成分値は、前記値格納手段により前記１つの演算メモリに書き込まれる単位で格納されている。
【００１８】
請求項１０記載の色変換装置は、請求項１から９のいずれかに記載の色変換装置において、前記重み係数取得手段により取得された重み係数が０であるかを判断する重み係数判断手段を備え、前記値格納手段は、前記重み係数判断手段により、重み係数が０でないと判断された場合、その重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記演算メモリに格納するものである。
【００１９】
請求項１１記載の色変換プログラムは、第１の色群の各色成分値で構成される入力値を、その入力値に対応する第２の色群の各色成分値に変換して出力する機能をコンピュータに実現させるものであって、前記コンピュータは、前記第１の色群の各色成分値に相当する値を座標軸とする表色空間内において、前記第１の色群の各色成分値で特定される格子点に対応付けられた前記第２の色群の各色成分値を格納する色変換テーブルを備えるものであり、前記表色空間内において、前記色変換テーブルにおいて前記第２の色群の各色成分値が対応付けられた格子点で構成される立方体のうち、前記入力値の位置を内部に含む立方体を選択するエリア選択ステップと、前記エリア選択ステップにより選択された立方体における前記入力値の位置を決定するエリア座標決定ステップと、前記エリア座標決定ステップにより決定された前記入力値の位置に基づいて、前記立方体を構成する格子点のうち、少なくとも１つの格子点について重み係数を取得する重み係数取得ステップと、前記重み係数取得ステップにより重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記色変換テーブルから読み出して演算メモリに格納する値格納ステップと、前記値格納ステップにより前記演算メモリに格納された前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算する乗算ステップと、前記乗算ステップによる各格子点についての乗算結果を各色毎に累積加算する加算ステップと、前記加算ステップによる各色毎の累積加算結果に基づいて、前記入力値に対応する前記第２の色群の各色成分値を出力する出力ステップとを前記コンピュータに実行させ、前記値格納ステップは、前記格子点に対応する前記第２の色群の各色成分値のうち、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納し、前記乗算ステップは、一度の乗算処理で、前記１つの演算メモリに格納された少なくとも２色の各色成分値のそれぞれに前記重み係数を乗算するものである。
【００２０】
請求項１２記載の色変換プログラムは、請求項１１記載の色変換プログラムにおいて、前記加算ステップは、前記乗算ステップによる各格子点についての乗算結果が各色毎に累積加算された累積値であって、前記値格納ステップにより前記１つの演算メモリに各色成分値が格納される少なくとも２色と同じ色の累積値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納し、且つ、前記乗算ステップにより前記１つの演算メモリに格納される少なくとも２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とを、一度の加算処理で各色毎に加算するものである。
【００２１】
請求項１３記載の色変換プログラムは、請求項１１または１２に記載の色変換プログラムにおいて、前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、２Ｎ−１−１より大きく２Ｎ−１以下で構成され（Ｎは任意の正の整数）、且つ、前記重み係数取得ステップにより取得される重み係数の合計の最大値が、２Ｍ−１−１より大きく２Ｍ−１以下で構成されるとき（Ｍは任意の正の整数）、前記値格納ステップは、少なくともＮ＋Ｍビットの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものである。
【００２２】
請求項１４記載の色変換プログラムは、請求項１３記載の色変換プログラムにおいて、前記コンピュータは前記乗算ステップおよび前記加算ステップを実行する８ｎビットＣＰＵを備え（ｎは任意の正の整数）、前記１つの演算メモリは前記ＣＰＵに設けられたｎバイトのメモリで構成されるものであって、前記値格納ステップは、前記第２の色群のうち、８ｎ／（Ｎ＋Ｍ）色の色成分値を、前記１つの演算メモリの互いに異なる領域に各色毎に格納するものである。
【００２３】
請求項１５記載の色変換プログラムは、請求項１１または１２に記載の色変換プログラムにおいて、前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、１２７より大きく２５５以下で構成され、且つ、前記重み係数取得プログラムにより取得される重み係数の合計の最大値が、１２７より大きく２５５以下で構成されるものであって、前記値格納ステップは２バイトの領域を各色毎に割り当てて、少なくとも２色の各色成分値を前記１つの演算メモリの互いに異なる領域に各色毎に格納するものである。
【００２４】
請求項１６記載の色変換プログラムは、請求項１５記載の色変換プログラムにおいて、前記コンピュータは前記乗算ステップおよび前記加算ステップを実行する６４ビットＣＰＵを備え、前記１つの演算メモリは前記ＣＰＵに設けられた８バイトのメモリで構成されるものであって、前記値格納ステップは、前記第２の色群のうち、４色のそれぞれに２バイトの領域を割り当てて、４色の各色成分値を前記１つの演算メモリに格納するものである。
【００２５】
請求項１７記載の色変換プログラムは、請求項１５記載の色変換プログラムにおいて、前記コンピュータは前記乗算ステップおよび前記加算ステップを実行する３２ビットＣＰＵを備え、前記１つの演算メモリは前記ＣＰＵに設けられた４バイトのメモリで構成されるものであって、前記値格納ステップは、前記第２の色群のうち、２色のそれぞれに２バイトの領域を割り当てて、２色の各色成分値を前記１つの演算メモリに格納するものである。
【００２６】
請求項１８記載の色変換プログラムは、請求項１１から１７のいずれかに記載の色変換プログラムにおいて、前記出力ステップは、前記累積加算結果を各色毎に読み出し、その読み出した累積加算結果を、前記重み係数取得ステップにより取得される重み係数の合計でそれぞれ除算することにより、前記入力値に対応する前記第２の色群の各色成分値を算出し、出力するものである。
【００２７】
請求項１９記載の色変換プログラムは、請求項１１から１８のいずれかに記載の色変換プログラムにおいて、前記色変換テーブルにおいて、前記格子点に対応付けられた前記第２の色群の各色成分値は、前記値格納ステップにより前記１つの演算メモリに書き込まれる単位で格納されている。
【００２８】
請求項２０記載の色変換プログラムは、請求項１１から１９のいずれかに記載の色変換プログラムにおいて、前記重み係数取得プログラムにより取得された重み係数が０であるかを判断する重み係数判断ステップを前記コンピュータに実行させ、前記値格納ステップは、前記重み係数判断ステップにより、重み係数が０でないと判断された場合、その重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記演算メモリに格納するものである。
【発明の効果】
【００２９】
請求項１記載の色変換装置によれば、乗算手段により、一度の乗算処理で、１つの演算メモリに格納された少なくとも２色の各色成分値のそれぞれに重み係数が乗算されるので、色成分値に重み係数を乗算する乗算処理を一色ずつ個別に行う場合に比較して、乗算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。特に、処理対象の入力値の個数が多い場合には、一回の色変換処理においてわずかでも演算回数を減少させることにより、色変換処理全体としてみると、処理速度の大きな向上に繋がる。
【００３０】
請求項２記載の色変換装置によれば、請求項１記載の色変換装置の奏する効果に加え、加算手段により、前記乗算手段による前記１つの演算メモリに格納される少なくとも２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とが、一度の加算処理で各色毎に加算されるので、乗算結果と累積値とを加算する加算処理を一色ずつ個別に行う場合に比較して、加算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。
【００３１】
請求項３記載の色変換装置によれば、請求項１または２に記載の色変換装置の奏する効果に加え、前記値格納手段により、少なくともＮ＋Ｍビットの領域が各色毎に割り当てられて、１つの演算メモリの互いに異なる領域に格納されるので、高精度の演算処理が可能であるという効果がある。すなわち、前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、２Ｎ−１−１より大きく２Ｎ−１以下で構成され、且つ、前記重み係数取得手段により取得される重み係数の合計の最大値が、２Ｍ−１−１より大きく２Ｍ−１以下で構成されるとき、前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算した乗算結果は２Ｎ＋Ｍ−１以下となる。よって、各色毎の乗算結果が、必ずＮ＋Ｍビットの領域内に格納されるので、１つの演算メモリ内において、ある色成分値についての乗算結果が他の領域に桁あふれして、他の色成分値の乗算結果を破壊することが防止される。
【００３２】
なお、前記加算手段により、前記乗算手段による各格子点についての乗算結果が各色毎に累積加算された累積加算結果も、２Ｎ＋Ｍ−１以下となる。すなわち、各色毎の累積加算結果が、必ずＮ＋Ｍビットの領域内に格納される。よって、累積値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納することにより（すなわち、少なくともＮ＋Ｍビットの領域を各色毎に割り当てて格納することにより）、１つの累積値メモリ内において、ある色の累積加算結果が他の領域に桁あふれして、他の色の累積加算結果を破壊することが防止される。
【００３３】
請求項４記載の色変換装置によれば、請求項３記載の色変換装置の奏する効果に加え、ＣＰＵが一度の演算処理で処理可能なビット数に応じた色数の各色成分値が１つの演算メモリに格納されるので、効率よく演算処理を実行させることができ、色変換処理全体としての処理速度が向上するという効果がある。
【００３４】
請求項５記載の色変換装置によれば、請求項１または２に記載の色変換装置の奏する効果に加え、前記値格納手段により、２バイトの領域が各色毎に割り当てられて、１つの演算メモリの互いに異なる領域に格納されるので、高精度の演算処理が可能であるという効果がある。すなわち、前記第２の色群の各色成分値の最大値が、１２７より大きく２５５以下で構成され、且つ、前記重み係数取得手段により取得される重み係数の合計の最大値が、１２７より大きく２５５以下で構成されるとき、前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算した乗算結果は２１６−１以下となる。よって、各色毎の乗算結果が、必ず２バイトの領域内に格納されるので、ある色成分値についての乗算結果が他の領域に桁あふれして、他の色成分値の乗算結果を破壊することが防止される。
【００３５】
請求項６記載の色変換装置によれば、請求項５記載の色変換装置の奏する効果に加え、ＣＰＵが一度の演算処理で処理可能な６４ビット（８バイト）の１つの演算メモリにおいて、それぞれ２バイトの領域が割り当てられて４色の各色成分値が格納されているので、従来はCMYKそれぞれ個別に行っていた乗算処理を１度の乗算処理で４色の各色成分値に重み係数を乗算することができ、色変換処理全体としての処理速度が向上するという効果がある。
【００３６】
なお、累積加算値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納することにより（すなわち、４色の累積値を１つの累積値メモリに格納することにより）、前記乗算手段により前記１つの演算メモリに格納される４色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とが、一度の加算処理で各色毎に加算されるので、加算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。
【００３７】
請求項７記載の色変換装置によれば、請求項５記載の色変換装置の奏する効果に加え、ＣＰＵが一度の演算処理で処理可能な３２ビット（４バイト）の１つの演算メモリにおいて、それぞれ２バイトの領域が割り当てられて２色の各色成分値が格納されているので、従来はCMYKそれぞれ個別に行っていた乗算処理を１度の乗算処理で２色の各色成分値に重み係数を乗算することができ、色変換処理全体としての処理速度が向上するという効果がある。
【００３８】
なお、累積加算値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納することにより（すなわち、２色の累積値を１つの累積値メモリに格納することにより）、前記乗算手段により前記１つの演算メモリに格納される２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とが、一度の加算処理で各色毎に加算されるので、加算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。
【００３９】
請求項８記載の色変換装置によれば、請求項１から７のいずれかに記載の色変換装置の奏する効果に加え、前記出力手段は、前記累積加算結果を各色毎に読み出し、その読み出した累積加算結果を、前記重み係数取得手段により取得される重み係数の合計でそれぞれ除算するので、高精度で演算処理を行うことができるという効果がある。
【００４０】
請求項９記載の色変換装置によれば、請求項１から８のいずれかに記載の色変換装置の奏する効果に加え、値格納手段により、前記第２の色群の各色成分値を、前記色変換テーブルから読み出して１つの演算メモリに格納する処理が早くなるので、色変換処理全体としての処理速度が向上するという効果がある。
【００４１】
請求項１０記載の色変換装置によれば、請求項１から９のいずれかに記載の色変換装置の奏する効果に加え、重み係数が０でないと判断された場合、その重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記演算メモリに格納するので、重み係数が０でない場合に、前記乗算手段による乗算処理および前記加算手段による加算処理が行われ、色変換処理全体としての処理速度が向上するという効果がある。すなわち、重み係数が０である場合、乗算処理による乗算結果は０となるので、加算処理により、その乗算結果０が加算されても累積値は変化しない。よって、重み係数が０である場合は、前記乗算手段よる乗算処理および前記加算手段による加算処理をスキップすることにより、処理速度をより向上させることができる。
【００４２】
請求項１１記載の色変換プログラムによれば、乗算ステップにより、一度の乗算処理で、１つの演算メモリに格納された少なくとも２色の各色成分値のそれぞれに重み係数が乗算されるので、色成分値に重み係数を乗算する乗算処理を一色ずつ個別に行う場合に比較して、乗算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。特に、処理対象の入力値の個数が多い場合には、一回の色変換処理においてわずかでも演算回数を減少させることにより、色変換処理全体としてみると、処理速度の大きな向上に繋がる。
【００４３】
請求項１２記載の色変換プログラムによれば、請求項１１記載の色変換プログラムの奏する効果に加え、加算ステップにより、前記乗算ステップにより前記１つの演算メモリに格納される少なくとも２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とが、一度の加算処理で各色毎に加算されるので、乗算結果と累積値とを加算する加算処理を一色ずつ個別に行う場合に比較して、加算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。
【００４４】
請求項１３記載の色変換プログラムによれば、請求項１１または１２に記載の色変換プログラムに加え、前記値格納ステップにより、少なくともＮ＋Ｍビットの領域が各色毎に割り当てられて、１つの演算メモリの互いに異なる領域に格納されるので、高精度の演算処理が可能であるという効果がある。すなわち、前記色変換テーブルに格納される前記第２の色群の各色成分値の最大値が、２Ｎ−１−１より大きく２Ｎ−１以下で構成され、且つ、前記重み係数取得ステップにより取得される重み係数の合計の最大値が、２Ｍ−１−１より大きく２Ｍ−１以下で構成されるとき、前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算した乗算結果は２Ｎ＋Ｍ−１以下となる。よって、各色毎の乗算結果が、必ずＮ＋Ｍビットの領域内に格納されるので、１つの演算メモリ内において、ある色成分値についての乗算結果が他の領域に桁あふれして、他の色成分値の乗算結果を破壊することが防止される。
【００４５】
なお、前記加算ステップにより、前記乗算ステップによる各格子点についての乗算結果が各色毎に累積加算された累積加算結果も、２Ｎ＋Ｍ−１以下となる。すなわち、各色毎の累積加算結果が、必ずＮ＋Ｍビットの領域内に格納される。よって、累積値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納することにより（すなわち、少なくともＮ＋Ｍビットの領域を各色毎に割り当てて格納することにより）、１つの累積値メモリ内において、ある色の累積加算結果が他の領域に桁あふれして、他の色の累積加算結果を破壊することが防止される。
【００４６】
請求項１４記載の色変換プログラムによれば、請求項１３記載の色変換プログラムの奏する効果に加え、ＣＰＵが一度の演算処理で処理可能なビット数に応じた色数の各色成分値が１つの演算メモリに格納されるので、効率よく演算処理を実行させることができ、色変換処理全体としての処理速度が向上するという効果がある。
【００４７】
請求項１５記載の色変換プログラムによれば、請求項１１または１２に記載の色変換プログラムの奏する効果に加え、前記値格納ステップにより、２バイトの領域が各色毎に割り当てられて、１つの演算メモリの互いに異なる領域に格納されるので、高精度の演算処理が可能であるという効果がある。すなわち、前記第２の色群の各色成分値の最大値が、１２７より大きく２５５以下で構成され、且つ、前記重み係数取得ステップにより取得される重み係数の合計の最大値が、１２７より大きく２５５以下で構成されるとき、前記第２の色群の各色成分値に、その第２の色群の各色成分値に対応する格子点について取得された重み係数を乗算した乗算結果は２１６−１以下となる。よって、各色毎の乗算結果が、必ず２バイトの領域内に格納されるので、ある色成分値についての乗算結果が他の領域に桁あふれして、他の色成分値の乗算結果を破壊することが防止される。
【００４８】
請求項１６記載の色変換プログラムによれば、請求項１５記載の色変換プログラムの奏する効果に加え、ＣＰＵが一度の演算処理で処理可能な６４ビット（８バイト）の１つの演算メモリにおいて、それぞれ２バイトの領域が割り当てられて４色の各色成分値が格納されているので、１度の乗算処理で、４色の各色成分値に重み係数を乗算することができ、色変換処理全体としての処理速度が向上するという効果がある。
【００４９】
なお、累積加算値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納することにより（すなわち、４色の累積値を１つの累積値メモリに格納することにより）、前記乗算ステップにより前記１つの演算メモリに格納される４色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とが、一度の加算処理で各色毎に加算されるので、加算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。
【００５０】
請求項１７記載の色変換プログラムによれば、請求項１５記載の色変換プログラムの奏する効果に加え、ＣＰＵが一度の演算処理で処理可能な３２ビット（４バイト）の１つの演算メモリにおいて、それぞれ２バイトの領域が割り当てられて２色の各色成分値が格納されているので、１度の乗算処理で、２色の各色成分値に重み係数を乗算することができ、色変換処理全体としての処理速度が向上するという効果がある。
【００５１】
なお、累積加算値を、前記１つの演算メモリと同じ配置で、１つの累積値メモリの互いに異なる領域に格納することにより（すなわち、２色の累積値を１つの累積値メモリに格納することにより）、前記乗算ステップにより前記１つの演算メモリに格納される２色の各色成分値についての乗算結果と、前記１つの累積値メモリに格納された累積値とが、一度の加算処理で各色毎に加算されるので、加算回数が減少し、色変換処理全体としての処理速度が向上するという効果がある。
【００５２】
請求項１８記載の色変換プログラムによれば、請求項１１から１７のいずれかに記載の色変換プログラムの奏する効果に加え、前記出力ステップは、前記累積加算結果を各色毎に読み出し、その読み出した累積加算結果を、前記重み係数取得ステップにより取得される重み係数の合計でそれぞれ除算するので、高精度で演算処理を行うことができるという効果がある。
【００５３】
請求項１９記載の色変換プログラムによれば、請求項１１から１８のいずれかに記載の色変換プログラムの奏する効果に加え、値格納ステップにより、前記第２の色群の各色成分値を、前記色変換テーブルから読み出して１つの演算メモリに格納する処理が早くなるので、色変換処理全体としての処理速度が向上するという効果がある。
【００５４】
請求項２０記載の色変換プログラムによれば、請求項１１から１９のいずれかに記載の色変換プログラムの奏する効果に加え、重み係数が０でないと判断された場合、その重み係数が取得された格子点に対応する前記第２の色群の各色成分値を、前記演算メモリに格納するので、重み係数が０でない場合に、前記乗算ステップによる乗算処理および前記加算ステップによる加算処理が行われ、色変換処理全体としての処理速度が向上するという効果がある。すなわち、重み係数が０である場合、乗算処理による乗算結果は０となるので、加算処理により、その乗算結果０が加算されても累積値は変化しない。よって、重み係数が０である場合は、前記乗算ステップよる乗算処理および前記加算ステップによる加算処理をスキップすることにより、処理速度をより向上させることができる。
【発明を実施するための最良の形態】
【００５５】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明における実施例の色変換装置として機能するパーソナルコンピュータ１０（以下、これをＰＣ１０と称する。）を含むプリントシステムの全体構成を示すブロック図である。図１に示されるようなプリントシステムは、ＰＣ１０と、ＰＣ１０に接続されるプリンタ５０とを備えている。
【００５６】
ＰＣ１０は、文書作成アプリケーションや画像作成アプリケーションなどで作成された文書データや画像データに対し、後述する色変換処理（図７参照）などの各種処理を実行し、プリンタ５０において印刷可能な印刷データに変換してプリンタ５０に出力する装置である。
【００５７】
ＰＣ１０は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ１４と、入力装置１５と、表示装置１６と、プリンタ５０に接続するプリンタ用インターフェース１８（Ｉ／Ｆ１８）とを備えている。
【００５８】
ＣＰＵ１１は、このプリンタサーバ１０を総括的に制御する中央演算処理であり、アキュムレータ１１ａと、レジスタ１１ｂとを備える。また、ＣＰＵ１１は、図７のフローチャートで示す処理を実行するプリンタドライバ１４ａを含む各種プログラムを実行する。なお、本実施例のＣＰＵ１１は、６４ビットＣＰＵで構成される。ここで、本明細書および特許請求の範囲において、６４ビットＣＰＵとは、一度の演算処理で６４ビット（８バイト）のデータを処理することができるＣＰＵをいう。また、ＣＰＵ１１は、後述する色変換処理（図７参照）において、特許請求の範囲に記載の乗算手段および加算手段として機能する。
【００５９】
アキュムレータ１１ａは、ＣＰＵ１１による演算処理の際の被演算数および演算結果が格納されるものである。なお、色変換処理（図７参照）においてアキュムレータ１１ａに格納される値については、図２を参照しつつ後述する。レジスタ１１ｂは８バイトの汎用レジスタである。なお、ＣＰＵ１１が備えているアキュムレータおよびレジスタの個数は１つに限定されるものではなく、ＣＰＵ１１には複数個の汎用レジスタを備えていても良いが、図１においては、１つのアキュムレータ１１ａおよび一つのレジスタ１１ｂのみを図示する。
【００６０】
ＲＯＭ１２は、ＣＰＵ１１により実行される各種制御プログラムや、それらの制御プログラムをＣＰＵ１１により実行する上で必要なデータなどを格納した読み出し専用のメモリである。
【００６１】
ＲＡＭ１３は、ＣＰＵ１１により実行される各種処理に必要なデータやプログラムを一時的に記憶するためのメモリである。このＲＡＭ１３は、原画像メモリ１３ａと出力画像メモリ１３ｂとを備えている。原画像メモリ１３ａは、後述する色変換処理（図７参照）の対象である原画像データを格納するメモリである。原画像データは、各画素の色濃度がＲＧＢの各色成分値で構成されるビットマップデータである。原画像データは、後述する色変換処理（図７参照）により、各画素の色濃度がＣ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（ブラック）の各色成分値で構成される出力画像データに変換される。出力画像メモリ１３ｂは、出力画像データを格納するメモリである。
【００６２】
なお、本実施例においては、ＲＧＢの各色成分値およびＣＭＹＫの各色成分値は、共に、０以上２５５以下のいずれかの値であるとして説明する。また、ＲＧＢが請求項の第１の色群に相当し、ＣＭＹＫが請求項の第２の色群に相当する。
【００６３】
ＨＤＤ１４は、ハードディスクを含むハードディスク読取装置であり、プリンタドライバ１４ａと、ルックアップテーブル１４ｂ（ＬＵＴ１４ｂ）と、三角錐補間テーブル１４ｃとを備えている。
【００６４】
プリンタドライバ１４ａは、文書作成アプリケーションや画像作成アプリケーションなど、各種アプリケーションで作成された文書データや画像データを、プリンタ５０において処理可能な印刷データに変換し、プリンタ５０へ出力するためのプログラムである。ＰＣ１０は、プリンタドライバ１４ａに従って、文書データや画像データに含まれる文字や画像に対して描画処理を行い、RGB形式の原画像データ（印刷画像データ）を生成する。その後、RGB形式の原画像データに対して色変換処理、二値化処理など各種処理を施すことにより、印刷データに変換する。色変換処理については、図７を参照して後述する。色変換処理により、ＰＣ１０は、ＲＧＢの各色成分値で構成される入力値を、その入力値に対応するＣＭＹＫの各色成分値に変換して出力する。
【００６５】
ルックアップテーブル１４ｂは、後述する表色空間Ｓ内において、ＲＧＢの各色成分値で特定される格子点Ｐに対応付けられたＣＭＹＫの各色成分値を格納するテーブルである。なお、ＬＵＴ１４ｂの構成については、図３を参照しつつ後述し、表色空間Ｓと格子点Ｐについては、図４を参照しつつ後述する。
【００６６】
三角錐補間テーブル１４ｃは、後述するエリア座標に対応付けて、８個の点の重み係数を格納するテーブルである。なお、エリア座標については、図６を参照しつつ後述し、三角錐補間テーブル１４ｃの構成については、図５を参照しつつ後述する。
【００６７】
入力装置１５は、ＰＣ１０へデータ又はコマンドを入力するものであり、キーボード、マウスなどにより構成されている。表示装置１６は、プリンタサーバ１０で実行される処理内容や入力されたデータなどを視覚的に確認するために、文字や画像などを表示するものであり、例えば、ＣＲＴディスプレイや液晶ディスプレイなどにより構成されている。
【００６８】
Ｉ／Ｆ１８は、ＰＣ１０とプリンタ５０とを接続するものであり、ＰＣ１０は、このＩ／Ｆ１８を介することにより、プリントコマンドや、印刷データをプリンタ５０に送信し、プリンタ５０に記録用紙への印刷を実行させることができる。
【００６９】
図１に示すように、上述したＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ１４と、入力装置１５と、表示装置１６と、Ｉ／Ｆ１８とは、バスライン１９を介して互いに接続されている。
【００７０】
また、図１に示すように、ＰＣ１０に接続されるプリンタ５０は、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、シート搬送モータ５４と、キャリッジモータ５５と、印字ヘッド５８と、ＰＣ１０に接続するインターフェース５７（Ｉ／Ｆ５７）とを備えている。
【００７１】
プリンタ５０における上記のような構成において、ＣＰＵ５１は、プリンタ５０の動作を制御するものであり、各種プログラムを実行する。ＲＯＭ５２は、プリンタ５０の動作を制御するためのプログラムなどが格納されたメモリである。
【００７２】
シート搬送モータ５４は、プリンタ５０の所定の位置に配置された記録用紙を上流から下流への方向又はその逆方向に搬送するためのステッピングモータであり、その移動はＣＰＵ５１により制御される。キャリッジモータ５５は、印字ヘッド５８を装着した非図示のキャリッジを、シート搬送モータ５４による搬送方向に対して直交方向に、キャリッジの初期位置である始点と、該始点とは反対側の限界位置である終点との間を往復移動させるべく駆動するためのステッピングモータであり、その移動はＣＰＵ５１により制御される。
【００７３】
印字ヘッド５８は、複数のノズル、アクチュエータ（いずれも非図示）を備えたインクジェットヘッドであり、ＣＰＵ５１により制御されるアクチュエータの駆動によってインクをノズルから噴射して、所定の文字又は模様を印刷するものである。また、Ｉ／Ｆ５７は、プリンタ５０とＰＣ１０とを接続するものであり、このＩ／Ｆ５７を介して、ＰＣ１０からプリントコマンドや印刷データが入力される。
【００７４】
図１に示すように、上述したＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、シート搬送モータ５４と、キャリッジモータ５５と、印字ヘッド５８と、Ｉ／Ｆ５７とは、バスライン５９を介して互いに接続されている。
【００７５】
次に、図２を参照して、後述する色変換処理（図７参照）において、ＬＵＴ１４ｂから読み出されて、アキュムレータ１１ａに格納されるＣＭＹＫの各色成分値について説明する。図２は、アキュムレータ１１ａに格納されるＣＭＹＫの各色成分値を模式的に示した図である。
【００７６】
図２に示すように、アキュムレータ１１ａは、８バイトのメモリで構成される。図２においては、説明の便宜上、下位バイトから順に、各バイトそれぞれにバイト番号０〜７を付して説明する。図２に示されるように、ＣＭＹＫの４色の各色成分値は、アキュムレータ１１ａの互いに異なる領域に各色毎に格納される。例えば、バイト番号０，１で示される領域にはＣの色成分値が格納され、バイト番号２，３で示される領域にはＭの色成分値が格納され、バイト番号４，５で示される領域にはＹの色成分値が格納され、バイト番号６，７で示される領域にはＫの色成分値が格納される。本実施例において、ＣＭＹＫの各色成分値は、上述のように０以上２５５以下のいずれかの値であるから、それぞれ２バイトの領域内に格納することができる。また、本実施例において、上述のように、ＣＰＵ１１は６４ビットＣＰＵで構成されているから、アキュムレータ１１ａに格納された８バイト（６４ビット）のデータを、一度の演算処理で処理することができる。
【００７７】
次に、図３を参照して、ＬＵＴ１４ｂの構成について説明する。図３は、ＬＵＴ１４ｂの構成を模式的に示した図である。図３に示すように、各格子点Ｐには、ＣＭＹＫの各色成分値が対応付けられている。
【００７８】
ここで、図４を参照して格子点Ｐおよび表色空間Ｓについて説明する。図４は、表色空間Ｓを模式的に示した図である。図４に示すように、表色空間Ｓは、ＲＧＢの各色成分値を座標軸とする三次元空間である。そして、表色空間Ｓを分割する複数個の立方体をエリアＥと称し、各エリアＥを構成する頂点を、格子点Ｐと称する。図４においては、図面を分かりやすくするために、一つのエリアＥのみ着色して図示し、一つの格子点Ｐのみ符号を付している。
【００７９】
本実施例においては、各座標軸を三等分することにより、表色空間Ｓを２７個のエリアに等分割したものとして説明する。また、表色空間Ｓにおいて、ＲＧＢの各色成分値が、それぞれ０，８５，１７０，２５５のいずれかで特定される点が、格子点Ｐとされる。
【００８０】
図３に戻り説明する。図３に示すように、ＬＵＴ１４ｂには、格子点Ｐに対応付けられた、ＣＭＹＫの各色成分値が格納される。例えば、（Ｒ，Ｇ，Ｂ）＝（０，０，０）で特定される格子点Ｐには、色成分値として、Ｃ「１７７」、Ｍ「１５０」、Ｙ「１５９」、Ｋ「２５５」が対応付けられている（かっこ内は１０進数で表記した値である）。なお、図３においては、図面を分かりやすくするために、ＬＵＴ１４ｂに、ＣＭＹＫの各色成分値がそれぞれ独立に格納されているかのように図示したが、本実施例のＬＵＴ１４ｂは、ＣＭＹＫの各色成分値をそれぞれ独立に格納されていなくとも良い。
【００８１】
格子点Ｐに対応付けられて、本実施例のＬＵＴ１４ｂに実際に格納される値を、図３に示すＬＵＴ１４ｂの右欄に示す。例えば、（Ｒ，Ｇ，Ｂ）＝（０，０，０）で特定される格子点Ｐに対応付けられたＣＭＹＫの各色成分値は、実際には、「Ｂ１００９６００９Ｆ００ＦＦ００」（１６進数で表記）として、ＬＵＴ１４ｂに格納される。すなわち、格子点Ｐに対応付けられたＣＭＹＫの各色成分値は、ひとかたまりの８バイトのデータとしてＬＵＴ１４ｂに格納される。
【００８２】
ＬＵＴ１４ｂは、各格子点Ｐに対応付けられたＣＭＹＫの各色成分値を格納する８バイトのメモリを備え、各格子点Ｐに対応付けられたＣＭＹＫの各色成分値は、ひとかたまりの８バイトのデータとしてＬＵＴ１４ｂの８バイトのメモリにそれぞれ格納される。なお、図３に示す、ＬＵＴ１４ｂに実際に格納される値は、図面に向かって左側が下位バイトに相当し、図面に向かって右側が上位バイトに相当する。また、ＣＭＹＫの各色成分値は、８バイトのメモリの２バイトの領域に各色毎に格納される。本実施例において、ＣＭＹＫの各色成分値の最大値は２５５であるから１バイトで表すことが可能なので、各色毎の２バイトの領域のうち上位バイトには０が格納される。
【００８３】
また、ＬＵＴ１４ｂの８バイトのメモリには、下位バイトから順に、ＣＭＹＫの順に各色成分値が格納される。例えば、格子点Ｐに対応付けて８バイトのメモリに記憶されている値が「Ｂ１００９６００９Ｆ００ＦＦ００」であれば、格子点Ｐに対応付けられているＣの色成分値は「Ｂ１００」であり、Ｍの色成分値は「９６００」であり、Ｙの色成分値は「９Ｆ００」であり、Ｋの色成分値は「ＦＦ００」である。なお、これらの値はいずれも１６進数で表記している。
【００８４】
次に図５を参照して、三角錐補間テーブル１４ｃについて説明する。図５は、三角錐補間テーブル１４ｃの構成を模式的に示した図である。図５に示すように、三角錐補間テーブル１４ｃは、エリア座標に重み係数が対応付けられた図である。なお、図５に示す三角錐補間テーブル１４ｃの右端に図示した総重み係数ＷＴは、点０から点７の重み係数Ｗの合計に相当する。総重み係数ＷＴは、必ずしも三角錐補間テーブル１４ｃに格納されていなくとも良いが、説明を分かりやすくするために図示した。
【００８５】
ここで、図４に戻り、エリア座標について説明する。後述する色変換処理（図７参照）においては、ＲＧＢの各色成分値で構成される入力値が入力されると、その入力値の位置（すなわち、入力値で特定される座標）を内部に含むエリアＥが選択される。例えば、入力値を構成するＲＧＢの各色成分値がｒ，ｇ，ｂである場合、座標（ｒ，ｇ，ｂ）を内部に含むエリアＥが選択される。図４には、選択されたエリアＥを着色して示す。
【００８６】
図６を参照して、「エリア座標」について、さらに説明する。図６は、選択されたエリアＥにおける入力値の位置（すなわちエリア座標）を模式的に示す図である。図６に示すように、選択されたエリアＥを構成する８点の格子点のうち、表色空間Ｓの原点Ｏに最も近い格子点をエリア原点Ｏ’とした場合における入力値の位置（ｒ’，ｇ’，ｂ’）がエリア座標に相当する。本実施例において、表色空間Ｓの各座標軸の長さは、ＲＧＢの各色成分値の最大値である２５５であって、各エリアＥの一辺の長さは、８５（＝２５５／３）であるので、ＲＧＢの各色成分値が、それぞれｒ，ｇ，ｂである入力値のエリア座標（ｒ’，ｇ’，ｂ’）は、それぞれ以下の式１で表すことができる。
【００８７】
（式１）
ｒ’＝ｒ％８５
ｇ’＝ｇ％８５
ｂ’＝ｂ％８５
但し、％は、記号前の値を記号後の値で除算した場合の余りを意味する記号である。
【００８８】
さらに、図６を参照して、選択されたエリアＥを構成する格子点について説明する。選択されたエリアＥを構成する８点の格子点のうち、エリア原点Ｏ’を点０の符号を付し、他の格子点に、それぞれ点１から点７の符号を付して説明する。後述する色変換処理（図７参照）においては、エリア座標（ｒ’，ｇ’，ｂ’）に基づいて、点０から点７のそれぞれの重み係数Ｗが取得される。
【００８９】
図５に示すように、各点の重み係数Ｗはエリア座標に対応付けられて、三角錐補間テーブル１４ｃに予め格納されている。「重み係数Ｗ」は、エリア座標から点０から点７の各点までの距離の程度を示す値であり、格子点Ｐに一致しない入力値に対応したＣＭＹＫの各色成分値を算出するために用いられる値である。なお、本実施例の三角錐補間テーブル１４ｃは、各点の重み係数Ｗの合計である総重み係数ＷＴの最大値が、１２７（＝２７−１）より大きく、２５５（＝２８−１）以下となるように、構成されている。
【００９０】
各格子点に対応付けられたＣＭＹＫの各色成分値と重み係数Ｗとを用いて補間することにより、格子点Ｐに一致しない入力値であっても、その入力値に対応するＣＭＹＫの各色成分値ｃ，ｍ，ｙ，ｋに変換して出力することができる。重み係数Ｗを用いた、ＣＭＹＫの各色成分値ｃ，ｍ，ｙ，ｋの算出方法の一例を以下の式２に示す。
【００９１】
（式２）
ｃ＝（Ｃ０Ｗ０ ＋Ｃ１Ｗ１＋Ｃ２Ｗ２＋Ｃ３Ｗ３＋Ｃ４Ｗ４＋Ｃ５Ｗ５＋Ｃ６Ｗ６＋Ｃ７Ｗ７）／ＷＴ
ｍ＝（Ｍ０Ｗ０ ＋Ｍ１Ｗ１＋Ｍ２Ｗ２＋Ｍ３Ｗ３＋Ｍ４Ｗ４＋Ｍ５Ｗ５＋Ｍ６Ｗ６＋Ｍ７Ｗ７）／ＷＴ
ｙ＝（Ｙ０Ｗ０ ＋Ｙ１Ｗ１＋Ｙ２Ｗ２＋Ｙ３Ｗ３＋Ｙ４Ｗ４＋Ｙ５Ｗ５＋Ｙ６Ｗ６＋Ｙ７Ｗ７）／ＷＴ
ｋ＝（Ｋ０Ｗ０ ＋Ｋ１Ｗ１＋Ｋ２Ｗ２＋Ｋ３Ｗ３＋Ｋ４Ｗ４＋Ｋ５Ｗ５＋Ｋ６Ｗ６＋Ｋ７Ｗ７）／ＷＴ
但し、ＷＴ（総重み係数）＝Ｗ０＋Ｗ１＋Ｗ２＋Ｗ３＋Ｗ４＋Ｗ５＋Ｗ６＋Ｗ７
点Ｘに相当する格子点に対応付けられたＣＭＹＫの各色成分値：ＣＸ、ＭＸ、ＹＸ、ＫＸ 
点Ｘの重み係数：ＷＸ
【００９２】
上記式２によれば、重み係数が大きい格子点に対応付けられたＣＭＹＫの各色成分値が算出結果に大きく反映され、重み係数が小さい格子点に対応付けられたＣＭＹＫの各色成分値は算出結果に小さく反映される。その結果、格子点に一致しない入力値であっても、近傍の格子点に対応付けられたＣＭＹＫの各色成分値に基づいて、対応するＣＭＹＫの各色成分値を算出することができる。
【００９３】
なお、重み係数ＷＸが０である場合、色成分値ＣＸ，ＭＸ，ＹＸ，ＫＸにその重み係数ＷＸを乗算した乗算結果は０になるから、点Ｘに相当する格子点に対応付けられたＣＭＹＫの各色成分値は、算出結果には影響を及ぼさない。換言すれば、重み係数Ｗが０でない場合に、その点に相当する格子点が、補間に用いられる。図５および図６に示すように、本実施例においては、各エリア座標に対し８点について重み係数Ｗが格納されているが、この８点のうち重み係数が０以外の値とされている点は、各エリア座標に対し、最大で４点存在する。すなわち、４点を用いて補間を行う。このような補間方法は、一般的に４点補間、三角錐補間、四面体補間と称される。なお、本実施例においては、補間方法として４点補間を採用したが、エリアを構成する８点のうち６点を用いて補間を行う６点補間（三角柱補間、プリズム補間とも称する）や、８点を用いて補間を行う８点補間（長方形補間、立方体補間とも称する）など、他の補間方法も適宜採用することができる。
【００９４】
次に、図７のフローチャートを参照して、上記のように構成されるＰＣ１０において実行される、色変換処理について説明する。図７は、ＰＣ１０で実行される色変換処理のフローチャートである。この色変換処理は、原画像メモリ１３ａに原画像データが格納されると起動する処理であり、上述の式２で説明した演算処理に相当する演算処理を実行するものである。
【００９５】
まず、８バイトのレジスタ１１ｂに、「０」を格納する（Ｓ１０）。次に、変数ｉを「０」とする（Ｓ１２）。次に、原画像メモリ１３ａに格納されている原画像データから１画素分の入力値を読み込む（Ｓ１４）。この入力値は、画素の色濃度に相当する値であって、ＲＧＢの各色成分値で構成される値である。
【００９６】
次に、表色空間Ｓ内において、入力値の位置を内部に含むエリアＥを選択する（Ｓ１６）。すなわち、入力値を構成するＲＧＢの各色成分値ｒ，ｇ，ｂで表される座標（ｒ，ｇ，ｂ）を、その内部に含むエリアＥを選択するのである（図４参照）。
【００９７】
次に、選択されたエリアＥにおけるエリア座標（入力値の位置）を決定する（Ｓ１８）。なお、ＲＧＢの各色成分値がｒ，ｇ，ｂである場合における、エリア座標（ｒ’，ｇ’，ｂ’）の算出方法の一例は、上述の式１に示したので、詳細な説明は省略する。
【００９８】
次に、決定されたエリア座標（ｒ’，ｇ’，ｂ’）に基づいて、エリアＥを構成する８個の格子点について重み係数Ｗを取得する。本実施例においては、三角錐補間テーブル１４ｃ（図５参照）において、エリア座標（ｒ’，ｇ’，ｂ’）に対応付けられた８点の重み係数Ｗを、三角錐補間テーブル１４ｃから読み込む（Ｓ２０）。
【００９９】
次に、重み係数Ｗが取得された８点のうち、点ｉに相当する格子点に対応付けられたＣＭＹＫの各色成分値をＬＵＴ１４ｂ（図３参照）から読み出して、アキュムレータ１１ｂ（図２参照）に格納する（Ｓ２４）。最初は、ｉが「０」であるから点０に相当する格子点に対応付けられたＣＭＹＫの各色成分値がアキュムレータ１１ｂに格納される。
【０１００】
ここで、上述のように、ＣＭＹＫの各色成分値は、ひとかたまりの８バイトのデータとしてＬＵＴ１４ｂに格納されている（図３参照）。したがって、ＣＰＵ１１は、点ｉに相当する格子点に対応付けられたＣＭＹＫの各色成分値を、ＬＵＴ１４ｂから一度に読み出して、アキュムレータ１１ｂに格納することができる。よって、色成分値を各色毎に読み出して順次アキュムレータ１１ｂに格納する場合に比較して、処理速度が向上する。
【０１０１】
次に、アキュムレータ１１ｂに格納されたＣＭＹＫの各色成分値に、点ｉについて取得された重み係数Ｗを乗算する（Ｓ２６）。例えば、入力値のエリア座標が（０，０，１）である場合には、点０の重み係数Ｗとして「２１３」が取得される（図５参照）。従って、アキュムレータ１１ｂに格納されたＣＭＹＫの各色成分値に「２１３」が乗算される。
【０１０２】
このように、一度の乗算処理で、アキュムレータ１１ａに格納されたＣＭＹＫ４色の各色成分値のそれぞれに重み係数が乗算されるので、色成分値に重み係数を乗算する乗算処理を一色ずつ個別に行う場合に比較して、乗算回数が減少し、処理速度が向上する。
【０１０３】
また図２を参照して説明したように、２バイトの領域が各色毎に割り当てられて、アキュムレータ１１ａの互いに異なる領域に格納されるので、乗算処理による桁あふれは発生せず、高精度の乗算処理を行うことができる。すなわち、本実施例においては、ＣＭＹＫの各色成分値の最大値は、２５５（＝２８−１）以下で構成され、且つ、三角錐補間テーブル１４ｃに格納される総重み係数ＷＴの最大値が、２５５（＝２８−１）以下で構成されているので、ＣＭＹＫの各色成分値に、重み係数Ｗを乗算した乗算結果は２１６−１以下となる。よって、各色毎の乗算結果は、必ず２バイトの領域内に格納されるので、１つのアキュムレータ１１ａ内において、ある色成分値についての乗算結果が他の領域に桁あふれして、他の色成分値の乗算結果を破壊することがないのである。
【０１０４】
次に、アキュムレータ１１ａに格納された乗算結果に、レジスタ１１ｂに格納された値を加算し（Ｓ２８）、その加算結果をレジスタ１１ｂに格納する（Ｓ３０）。そして、変数ｉに「１」を加算し、ｉが８になるまで（Ｓ３４：Ｙｅｓ）、Ｓ２４からＳ３４の処理を繰り返す。
【０１０５】
このようにすれば、各点についての乗算結果が各色毎に累積加算された累積値が、１つのアキュムレータ１１ａと同じ配置で、１つのレジスタ１１ｂの互いに異なる領域に格納されることとなる。すなわち、８バイトのレジスタ１１ｂの下位バイトから順に、各バイトそれぞれにバイト番号を付して説明すると、図２を参照して説明したように、バイト番号０，１で示される領域にはＣの累積値が格納され、バイト番号２，３で示される領域にはＭの累積値が格納され、バイト番号４，５で示される領域にはＹの累積値が格納され、バイト番号６，７で示される領域にはＫの累積値が格納される。
【０１０６】
このように、レジスタ１１ｂには、アキュムレータ１１ａと同じ配置でＣＭＹＫの各累積値が格納されているので、レジスタ１１ｂに格納された累積値と、アキュムレータ１１ａに格納された乗算結果とが一度の加算処理で各色毎に加算される。よって、乗算結果と累積値とを加算する加算処理を一色ずつ行う場合に比較して、加算回数が減少し、色変換処理全体としての処理速度が向上する。
【０１０７】
また、点０から点７までの乗算結果が全て累積加算されることにより、レジスタ１１ｂには累積加算結果が格納されることとなる。ＣＭＹＫの各色成分値の最大値は、２５５（＝２８−１）以下で構成され、且つ、三角錐補間テーブル１４ｃに格納される総重み係数ＷＴの最大値が、２５５（＝２８−１）以下で構成されているので、点０から点７についての乗算結果が累積加算された各色毎の累積加算結果は２１６−１以下となる。すなわち、各色毎の累積加算結果が、必ず２バイトの領域内に格納される。よって、１つのレジスタ１１ｂ内において、ある色の累積加算結果が他の領域に桁あふれして、他の色の累積加算結果を破壊することが防止される。
【０１０８】
次に、レジスタ１１ｂに各色毎に格納されている累積加算結果を各色毎に取り出し、総重み係数ＷＴで除算する。具体的には、まず、レジスタ１１ｂのバイト番号０，１の領域に格納されている累積加算結果を取り出して、総重み係数ＷＴで除算し、その除算結果ｃ’を出力画像メモリ１３ｂに出力する（Ｓ３６）。次に、レジスタ１１ｂのバイト番号２，３の領域に格納されている累積加算結果を取り出して、総重み係数ＷＴで除算し、その除算結果ｍ’を出力画像メモリ１３ｂに出力する（Ｓ３８）。次に、レジスタ１１ｂのバイト番号４，５の領域に格納されている累積加算結果を取り出して、総重み係数ＷＴで除算し、その除算結果ｙ’を出力画像メモリ１３ｂに出力する（Ｓ４０）。次に、レジスタ１１ｂのバイト番号６，７の領域に格納されている累積加算結果を取り出して、総重み係数ＷＴで除算し、その除算結果ｋ’を出力画像メモリ１３ｂに出力する（Ｓ４２）。
【０１０９】
このように累積加算結果を各色毎にレジスタ１１ｂから読み出し、その読み出した累積加算結果を、総重み係数ＷＴでそれぞれ除算するので、高精度で演算処理を行うことができる。すなわち、加算処理、および乗算処理は４色についてまとめて行ったが、除算処理については、各色毎に行うことにより、高精度の演算処理を可能とした。除算処理が施される場合、除算結果が整数でないと、小数点以下の桁数が大きくなる可能性があるので、一つのメモリに複数色の除算結果が格納されるように構成すると、いずれかの色の除算結果が桁あふれして、他の領域の除算結果を破壊するおそれがあるからである。
【０１１０】
次に、原画像メモリ１３ａに格納された原画像データの全ての画素の入力値を読み込んだか否かを判断し（Ｓ４４）、原画像データの全ての画素の入力値が読み込まれたと判断されるまで（Ｓ４４：Ｙｅｓ）、処理を繰り返す。その結果、各画素の色濃度がＲＧＢの各色成分で構成される原画像データが、各画素の色濃度がＣＭＹＫの各色成分で構成される出力画像データに変換され、出力画像メモリ１３ｂに格納される。出力画像メモリ１３ｂに格納された出力画像データは、二値化処理など各種処理が施されることにより印刷データに変換されて、プリンタ５０に出力されるが、色変換後のこれらの処理については公知であるため、詳細な説明は省略する。
【０１１１】
以上、実施例に基づき本発明を説明したが、本発明は上述した実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１１２】
例えば、本実施例では、点０から点７について取得された重み係数Ｗを、アキュムレータ１１ａに格納されたＣＭＹＫの各色成分値に乗算する処理を、点０から点７の全てについて行っていたが、重み係数Ｗが０である場合は、乗算処理、およびその乗算処理による乗算結果を累積加算する加算処理をスキップするように構成しても良い。
【０１１３】
図８は、図７に示す色変換処理の変形例を示すフローチャートである。なお、図８において図７と同一の処理については同一の符号を付して説明を省略する。図８に示す色変換処理のフローチャートでは、点ｉについて取得された重み係数Ｗｉが「０」であるか否かを判断する処理（Ｓ２２）が設けられている点が、図７に示す色変換処理のフローチャートと異なる。
【０１１４】
点ｉについて取得された重み係数Ｗｉが「０」でない場合（Ｓ２２：Ｎｏ）、点ｉの格子点に対応付けられたＣＭＹＫの各色成分値がＬＵＴ１４ｂから読み出されて、アキュムレータ１１ａに格納され（Ｓ２４）、図７を参照して説明したＳ２６〜Ｓ３０の処理が実行される。
【０１１５】
一方、点ｉについて取得された重み係数Ｗｉが「０」である場合（Ｓ２２：Ｙｅｓ）、Ｓ２６〜Ｓ３０の処理がスキップされるので、色変換処理全体としての処理速度が向上する。すなわち、重み係数Ｗｉが０である場合、ＣＭＹＫの各色成分値に重み係数Ｗｉを乗算した乗算結果は０となり、且つその乗算結果０が加算されても累積値は変化しないので、重み係数Ｗｉが０である場合は、Ｓ２４からＳ３０までに行われる乗算処理および加算処理をスキップすることにより、処理速度をより向上させることができる。
【０１１６】
また、本実施例では、ＣＰＵ１１が６４ビットＣＰＵで構成されていたが、ＣＰＵ１１が３２ビットＣＰＵで構成されるものであってもよい。この場合、アキュムレータ１１ａは４バイトのデータを格納可能に構成される。そして、アキュムレータ１１ａには、各色毎に２バイトの領域が割り当てられて、２色の色成分値が格納される。すなわち、２色の色成分値を、ひとまとめの４バイトのデータとして取り扱う。一度の演算処理で３２ビット（４バイト）のデータを処理できるＣＰＵが用いられる場合には、４バイト単位でデータを取り扱うのが最も効率的であるからである。
【０１１７】
また、本実施例では、ＣＭＹＫの各色成分値の最大値が２５５（＝２８−１）以下で構成され、且つ総重み計数ＷＴの最大値が２５５（＝２８−１）以下で構成されていたために、各色毎に２バイト（１６ビット）の領域が割り当てられていたが、ＣＭＹＫの各色の成分値の最大値、および総重み係数ＷＴの最大値に応じて、各色毎に割り当てられる領域のサイズは適宜変更することができる。すなわち、ＣＭＹＫの各色成分値の最大値が（２Ｎ−１）以下で構成され、且つ総重み計数ＷＴの最大値が（２Ｍ−１）以下で構成されている場合、各色毎に少なくともＮ＋Ｍビットの領域を割り当てることにより、高精度の演算処理が可能である。すなわち、ＣＭＹＫの各色成分値に、重み係数Ｗを乗算した乗算結果は２Ｎ＋Ｍ−１以下となる。よって、各色毎の乗算結果が、必ずＮ＋Ｍビットの領域内に格納されるので、ある色成分値についての乗算結果が他の領域に桁あふれして、他の色成分値の乗算結果を破壊することが防止されるのである。また、各点についての乗算結果が各色毎に累積加算された累積加算結果も、２Ｎ＋Ｍ−１以下となる。よって、各色毎の累積加算結果が、必ずＮ＋Ｍビットの領域内に格納されるので、ある色の累積加算結果が他の領域に桁あふれして、他の色の累積加算結果を破壊することが防止されるのである。
【０１１８】
なお、ＣＰＵ１１が８ｎビットＣＰＵで構成される場合（ｎは任意の正の整数）、アキュムレータ１１ａは、一般的に８ｎビットのメモリで構成される。したがって、各色毎に（Ｎ＋Ｍ）ビットの領域を割り当てる場合、８ｎ／（Ｎ＋Ｍ）色の色成分値を、一つのアキュムレータ１１ａに格納することができる。
【図面の簡単な説明】
【０１１９】
【図１】本発明における実施例の画像処理装置として機能するＰＣを含むプリントシステムの全体構成を示すブロック図である。
【図２】アキュムレータに格納されるＣＭＹＫの各色成分値を模式的に示した図である。
【図３】ルックアップテーブルの構成を模式的に示した図である。
【図４】表色空間を模式的に示した図である。
【図５】三角錐補間テーブルの構成を模式的に示した図である。
【図６】選択されたエリアにおける入力値の位置を模式的に示す図である。
【図７】ＰＣで実行される色変換処理のフローチャートである。
【図８】色変換処理の変形例を示すフローチャートであって、図７に相当するフローチャートである。
【符号の説明】
【０１２０】
１０                              ＰＣ（色変換装置、コンピュータ）
１１                              ＣＰＵ
１１ａ                            アキュムレータ（１つの演算メモリ）
１１ｂ                            レジスタ（累積値メモリ）
１４ａ                            プリンタドライバ（色変換プログラム）
１４ｂ                            ルックアップテーブル（色変換テーブル）
Ｅ                                エリア（立方体）
Ｓ                                表色空間
Ｐ                                格子点
Ｗ                                重み係数
ＷＴ                               総重み係数（重み係数の合計）
Ｒ，Ｇ，Ｂ                        第１の色群
Ｃ，Ｍ，Ｙ，Ｋ                    第２の色群
Ｓ１６                            エリア選択手段、エリア選択ステップ
Ｓ１８                            エリア座標決定手段、エリア座標決定ステップ
Ｓ２０                            重み係数取得手段、重み係数取得ステップ
Ｓ２２                            重み係数判断手段、重み係数判断ステップ
Ｓ２４                            値格納手段、値格納ステップ
Ｓ２６                            乗算手段、乗算ステップ
Ｓ２８，Ｓ３０                    加算手段、加算ステップ
Ｓ３６，Ｓ３８，Ｓ４０，Ｓ４２    出力手段、出力ステップ
【図１】
2007013389.tif 000003
【図２】
2007013389.tif 000004
【図３】
2007013389.tif 000005
【図４】
2007013389.tif 000006
【図５】
2007013389.tif 000007
【図６】
2007013389.tif 000008
【図７】
2007013389.tif 000009
【図８】
2007013389.tif 000010