(57)【要約】【課題】ルックアップテーブルを用いて入力色データを出力色データに変換するデータ変換方法において、使用するメモリのサイズを小さくする。【解決手段】元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成した合成データを新たなルックアップテーブルの格子点データとしてメモリに格納しておく。この合成データをメモリから読み出して元の個別の格子点データに分離してから通常のデータ変換処理を行なう。たとえば、Ｙ，Ｍ，Ｃ，Ｋの４つの出力色用のＹビットの格子点データを全て合成して、ビット幅を４・Ｙビットにする。データ変換処理時には、４・Ｙビットの合成データをメモリから読み出して、Ｙ，Ｍ，Ｃ，Ｋの各出力色用のＹビットの格子点データに分離する。【選択図】        図２
2004208128.tif 000002
【特許請求の範囲】
【請求項１】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、
ルックアップテーブルの各格子点に、複数の前記出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の出力色分を合成した合成データを格納しておき、
前記入力色データの画素データに対応する前記合成データを読み出し、
この読み出した前記合成データを、前記出力色についての各格子点データに分離し、
前記出力色ごとに、前記分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する
ことを特徴とするデータ変換方法。
【請求項２】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、
ルックアップテーブルの各格子点に、複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成した合成データを格納しておき、
前記入力色データの画素データに対応する前記合成データを読み出し、
この読み出した前記合成データを、前記画像属性についての各格子点データに分離し、
前記出力色ごとに、前記分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する
ことを特徴とするデータ変換方法。
【請求項３】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、
ルックアップテーブルの各格子点に、複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成した合成データを格納しておき、
前記入力色データの画素データに対応する前記合成データを読み出し、
この読み出した前記合成データを、前記画像属性並びに前記出力色についての各格子点データに分離し、
前記出力色ごとに、前記分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する
ことを特徴とするデータ変換方法。
【請求項４】
前記入力色データの画素データごとに、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定し、該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定し、該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定する
ことを特徴とする請求項１から３のうちの何れか１項に記載のデータ変換方法。
【請求項５】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
複数の前記出力色についての元のルックアップテーブルにおける各格子点データを、所定の基準に基づいて所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを、前記出力色についての各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。
【請求項６】
前記所定の基準は、前記複数の出力色の構成要素数をＸ、前記元のルックアップテーブルにおける各格子点データのビット幅をＹ、前記合成データのビット幅をＮとしたとき、Ｎ＝Ｘ・Ｙとする
ものであることを特徴とする請求項５に記載のデータ変換装置。
【請求項７】
前記所定の基準は、前記複数の出力色の構成要素を複数のグループに分割したときのｉ番目のグループに属する前記出力色の構成要素数をｘｉ、前記ｉ番目のグループにおける前記合成データのビット幅をＮｉとしたとき、Ｎｉ＝ｘｉ・Ｙとする
ものであることを特徴とする請求項５に記載のデータ変換装置。
【請求項８】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを、前記画像属性についての各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。
【請求項９】
前記所定の基準は、前記画像属性の構成要素数をＺ、前記元のルックアップテーブルにおける各格子点データのビット幅をＹ、前記合成データのビット幅をＬとしたとき、Ｌ＝Ｚ・Ｙとする
ものであることを特徴とする請求項８に記載のデータ変換装置。
【請求項１０】
前記所定の基準は、前記複数の画像属性の構成要素を複数のグループに分割したときのｊ番目のグループに属する前記画像属性の構成要素数をｚｊ、前記ｊ番目のグループにおける前記合成データのビット幅をＬｊとしたとき、Ｌｊ＝ｚｊ・Ｙとする
ものであることを特徴とする請求項８に記載のデータ変換装置。
【請求項１１】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを、前記画像属性並びに前記出力色についての各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。
【請求項１２】
前記所定の基準は、前記複数の出力色の構成要素数をＸ、前記画像属性の構成要素数をＺ、前記元のルックアップテーブルにおける各格子点データのビット幅をＹ、前記合成データのビット幅をＫとしたとき、Ｋ＝Ｘ・Ｚ・Ｙとする
ものであることを特徴とする請求項１１に記載のデータ変換装置。
【請求項１３】
前記所定の基準は、前記複数の出力色の構成要素を複数のグループに分割したときのｉ番目のグループに属する前記出力色の構成要素数をｘｉ、前記画像属性の構成要素数をＺ、前記ｉ番目のグループにおける前記合成データのビット幅をＫｉとしたとき、Ｋｉ＝ｘｉ・Ｚ・Ｙとする
ものであることを特徴とする請求項１１に記載のデータ変換装置。
【請求項１４】
前記所定の基準は、前記複数の出力色の構成要素数をＸ、前記複数の画像属性の構成要素を複数のグループに分割したときのｊ番目のグループに属する前記画像属性の構成要素数をｚｊ、前記ｊ番目のグループにおける前記合成データのビット幅をＫｊとしたとき、Ｋｊ＝Ｘ・ｚｊ・Ｙとする
ものであることを特徴とする請求項１１に記載のデータ変換装置。
【請求項１５】
前記所定の基準は、前記複数の出力色の構成要素を複数のグループに分割したときのｉ番目のグループに属する前記出力色の構成要素数をｘｉ、前記複数の画像属性の構成要素を複数のグループに分割したときのｊ番目のグループに属する前記画像属性の構成要素数をｚｊ、前記ｊ番目のグループにおける前記合成データのビット幅をＫｉｊとしたとき、Ｋｉｊ＝ｘｉ・ｚｊ・Ｙとする
ものであることを特徴とする請求項１１に記載のデータ変換装置。
【請求項１６】
入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを前記元のルックアップテーブルの各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。
【請求項１７】
前記入力色の構成要素数が２であることを特徴とする請求項５から７、１１から１５、のうちの何れか１項に記載のデータ変換装置。
【請求項１８】
前記入力色の構成要素数が１であることを特徴とする請求項８から１０のうちの何れか１項に記載のデータ変換装置。
【請求項１９】
前記入力色の構成要素数が３であって、当該入力色の構成要素で規定される色空間が、ＲＧＢ色空間、ｓＲＧＢ色空間、Ｌａｂ色空間、ＹＣｂＣｒ色空間、ＹＭＣ色空間、ＸＹＺ色空間のうちの何れかであることを特徴とする請求項５から１６のうちの何れか１項に記載のデータ変換装置。
【請求項２０】
前記入力色の構成要素数が４であって、当該入力色の構成要素で規定される色空間が  ＹＭＣＫ色空間、Ｋ＋Ｌａｂ色空間、ＲＧＢ＋Ｌ色空間であることを特徴とする請求項５から１６のうちの何れか１項に記載のデータ変換装置。
【請求項２１】
前記入力色データの画素データごとに、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定する単位格子体判定部と、
前記該単位格子体判定部により判定された該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定する多面体判定部とを備え、
前記出力色データ決定部は、前記多面体判定部により判定された該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定する補間処理部を含む
ことを特徴とする請求項５から２０のうちの何れか１項に記載のデータ変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力色データから出力色データを生成するデータ変換方法およびデータ変換装置に関する。より詳細には、たとえば、プリンタ装置、ファクシミリ装置、あるいはそれらの機能を有する複合機などの画像処理装置であって、たとえば、Ｒ（赤），Ｇ（緑），Ｂ（青）の多次元入力画像データを、Ｙ（イエロ），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（黒）の多次元出力画像データのそれぞれ１つの色データに変換するなど、所定次元の入力画像信号を別の色データに変換する技術に関する。
【０００２】
【従来の技術】
【特許文献１】
特開平３−２２９５７３号公報
【特許文献２】
特開平８−１８１８７４号公報
【特許文献３】
特公昭５８−１６１８０号公報
【特許文献４】
特開昭５６−１４２３７号公報
【０００３】
プリンタ装置や複写装置などの印刷機能を備えた画像形成装置が様々な分野で使用されている。また、今日では、画像形成装置がカラー化され、ユーザの様々な表現手段として利用されるようになってきている。たとえば、電子写真プロセス（ゼログラフィ）を用いたカラーページプリンタ装置は、高品質な画質あるいは高速プリンティングの点で注目されている。
【０００４】
また、今日では、ＤＴＰ（DeskTop Publishing／Prepress）の普及により、カラー画像を扱う機会が増しつつあり、この場合において、カラー画像を入力するための機器は、スキャナ、ビデオカメラなどが主であり、また、出力機器はインクジェット方式や染料熱昇華型方式あるいは電子写真などの各種カラープリンタである。なかでも、高速出力可能な電子写真プロセスを用いた印刷機能が着目されている。
【０００５】
これらのカラー入出力機器は、それぞれ固有の色空間を有しており、あるスキャナから得たカラー画像データを、そのまま別のカラープリンタに転送して、画像を出力する場合、その画像の色がオリジナルの画像の色と一致することは殆どありえない。両者の色を一致させるには、いわゆる入力デバイス（スキャナやビデオカメラなどのこと）の色空間を、出力デバイス（前述の各種カラープリンタのこと）の色空間に変換するといったを色空間変換処理処理が必要になる。
【０００６】
このような色空間変換処理とは、入力デバイスによって得られる色（一般的には、Ｒ（赤），Ｂ（青），Ｇ（緑）の３色）の画像信号を出力デバイス側の３色あるいは４色それぞれの画像信号に非線形に変換するものである。
【０００７】
画像などのデジタル信号に対する非線型変換（たとえばガンマ変換やｌｏｇ変換）には、一般にＬＵＴ（Look Up Table ；ルックアップテーブル）を用いた変換を行なうことが多い。ＬＵＴを用いる方法とは、入力信号に対応する出力値を予め算出しておき、その値をテーブルとして保持し、入力値に対応した出力値を演算なしで得る方法である。この方式を適用することで、複雑な演算回路を削除することが可能となる。
【０００８】
非線形変換を演算回路で行なうものとすると、その演算回路が複雑になり回路規模が大きくなるが、たとえば８ビットからなる１つのビデオデータに任意の非線形変換を行なう処理をＬＵＴを用いて行なう場合には、２５６バイトの容量のメモリがあればその処理が実現可能であり、複雑な演算回路を削除することが可能となる。ところで、上述のような変換は１つの画像信号を別の性質の他の１つの画像信号に変換するものであるため、そこで使用されるＬＵＴは１次元ＬＵＴといわれる。
【０００９】
たとえば、プリンタなどのハードコピー出力機器ではカラー画像信号が扱われる。これら出力機器はＹ，Ｍ，Ｃ，Ｋなどの色の色材を用いて、紙面などの上に画像を形成する。したがって、Ｙ，Ｍ，Ｃ，Ｋから構成される色空間を有している。一方、カラー画像の入力機器として想定されるものとしてスキャナ、デジタル・スチル・カメラなどがあるが、これらはそれぞれ固有の色空間を有している。これらは、多様な色空間を有しているが、代表的なものとしては、Ｒ，Ｇ，Ｂで構成される色空間を有する。したがって、プリンタなどの出力機器でハードコピーとして出力する際には、これら色空間の変換が必要となる。
【００１０】
ところが、上述した入力デバイスの３色の画像データを、出力デバイスの複数色中の１色に変換する処理を、３次元ＬＵＴだけを用いて行なおうとすると、大容量のメモリが必要となる。たとえば、Ｒ，Ｇ，Ｂの信号がそれぞれ８ビット信号であり、出力であるＹ，Ｍ，Ｃ，Ｋの信号も８ビット信号である場合、入力値の組合せは１６，７７７，２１６通り（２＾８×２＾８×２＾８通り；“＾”はべき乗を示す）であり、Ｒ，Ｇ，Ｂの入力に対してＹ，Ｍ，Ｃ，Ｋのうちの１色に変換するのに１６メガバイト（Ｍｂｙｔｅ）のメモリが必要となる。よって、Ｙ，Ｍ，Ｃ，Ｋの４色に変換するには、１６メガバイトの４倍の６４メガバイトものメモリが必要となる。
【００１１】
つまり、入力２４ビット、出力８ビットに対応したＬＵＴが必要で、この場合、出力１色当たりのメモリ容量は１６Ｍ（メガ）バイトとなり、さらに、出力デバイスの色数分だけ上述のメモリが必要であるため、実際のメモリ容量は、４８〜６４Ｍバイトといった大容量となる。したがって、このメモリ容量はコスト的な観点でみた場合にシステムに対するインパクトが大きく、現実的ではない。
【００１２】
このような問題を解消するために、色変換処理においてＬＵＴを用いる場合は、補間演算処理を併用することによって、用いるＬＵＴのメモリ容量を小さなものとするのが一般的である。たとえば、ＬＵＴと補間処理の組合せによるデータ変換機構が提案されている。この変換機構は、入力信号の上位複数ビット分にのみ対応した出力値をＬＵＴとして構成することで従来のＬＵＴ方式におけるＬＵＴの容量を削減するものである。入力信号に該当する出力値が存在しない場合はその入力値が示す空間位置の近傍データを用いて補間処理を施し出力値を算出する。
【００１３】
このような補間演算処理は、ＬＵＴから読み出したデータ（格子点データ）をいくつ用いるか、また、どのような関係の格子点データを用いるかによって、いくつかの方法に分類できる。一般的に、格子点データを多く用いる方法では補間精度は向上するが補間回路の規模が大きくなる。比較的回路規模が小さな補間方法として、たとえば特許文献２，２，３に記載されている４点補間法（テトラ・ハイドラ補間；Tetra-Hydra 補間）が知られている。また、特許文献２には、５点補間法もあることが述べられている。また、特許文献３には、回路規模が大きくなるが、補間精度がよい補間方法として、立方体補間法（８点補間法）もあることが、従来例として述べられている。
【００１４】
上述した４点補間法と８点補間法は、立方格子の各格子点に対応して存在する格子点データを用いて補間演算する場合に、それぞれ最も回路規模が小さい補間方法すなわち最も少ない格子点データで補間する方法、および最も回路規模が大きい補間方法すなわち最も多い格子点データで補間する方法に対応するものである。つまり、３次元立方格子の各格子点データを用いて補間演算する際の格子点データの個数（補間演算所用データ数）は、元のＬＵＴの格子点で確定される単位立方体を内分する多面体に応じて定まるものであり、立方格子を対象とする場合、最小で４個、最大で８個である。
【００１５】
たとえば、入力３要素のデータからなる格子体を構成し、入力３要素の上位ビットからいずれの格子体に該当データが含まれるかを決定し、その中をさらに６つの４面体に分割し、入力３要素の下位ビットからいずれの４面体に該当データが含まれるかを決定し、４面体頂点から得られる基礎データとその４面体ごとに決められた乗数とをもとに演算する手法が、テトラ・ハイドラ補間演算（４面体補間演算）である。この場合、入力データが決まれば、必要となる４面体が一意に決まり、４面体を決めるには互いに交差しない２つの線分から得られる合計４頂点があればよい。
【００１６】
一方、補間処理においては、近傍の何点のデータを演算対象とするかによって出力値の補間精度が異なる。より多くのデータを補間演算の対象にすれば補間精度は向上する。ただし、多くのデータを用いる場合は補間回路の規模が大きくなり、回路削減の効果が小さくなってしまう。
【００１７】
この問題を解消する一手法として、特許文献１，２には、ＬＵＴに保持するデータ量と補間に用いるデータの個数とを効率的に規定する方法が提案されている。たとえば特許文献２に記載の方法は、先ず、入力３要素のデータからなる格子体（単位立方体）を構成し、入力３要素の上位のビットデータＲＨ，ＧＨ，ＢＨに基づいて何れの格子体に該当データが含まれるかを決定し、その中をさらに６つの４面体に分割し、入力３要素の下位のビットデータＲＬ，ＧＬ，ＢＬに基づいて何れかの４面体に該当データが含まれるかを決定し、４面体頂点から得られる基礎データとその４面体ごとに決められた乗数（補間係数）とに基づいて、入力値に対応する出力値をテトラ・ハイドラ法による演算で求めるというものである。
【００１８】
この特許文献２に記載の方法では、入力データが決まれば、必要となる４面体が一意に決まる。すなわち、入力Ｒ，Ｇ，Ｂの３次元ＬＵＴ上における近傍４格子点が特定される。そして、４面体を決めるには互いに交差しない２つの線分から得られる合計４頂点があればよい。これらの線分は、入力３要素うち１つの要素のそれぞれ連続する頂点を結ぶもので表すことができる。
【００１９】
詳細な説明は割愛するが、この特許文献２に記載の方法を用いると、入力Ｒ，Ｇ，Ｂから任意の１色（出力色）への変換に際し、ＬＵＴへの格納データ数を１７データ×１７データ×１７データ（４９１３個の格子点）と規定した場合、ＬＵＴの容量は４９キロバイトで実現可能となり、補間処理を用いない方式における１６メガバイトと比較すると大幅な容量削減が可能である。
【００２０】
【発明が解決しようとする課題】
しかしながら、特許文献２などに記載の方法では、１つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合、ＬＵＴとして用いられるメモリから複数のデータを複数回読み出すことが不可能であるため、同容量のメモリを補間演算所用データ数の分だけ使用しなければならない。
【００２１】
テトラ・ハイドラ補間の場合において、ＲＧＢからＹＭＣＫへの変換を想定するとＹへの変換に４つの格子点抽出用として４個、同様にＭへの変換用に４個、Ｃへの変換用に４個、Ｋへの変換用に４個、合計１６個の同容量のメモリが必要となる。
【００２２】
図１７は、テトラ・ハイドラ補間を利用して、ＲＧＢ入力からＹＭＣＫ出力への色変換を行なう従来のデータ変換装置の構成例を示す図である。図１８は、図１７に示すデータ変換装置１におけるデータ格納部２に使用される各頂点データの参照用メモリのデータ構成例を示す図である。メモリとしては、特定用途向け半導体内に構成されるＲＡＭ（Random Access Memory）を使用している。
【００２３】
図１７に示す装置構成では、Ｙへの変換に４つの格子点抽出用として４個、同様にＭへの変換用に４個、Ｃへの変換用に４個、Ｋへの変換用に４個のメモリが必要となる。また、図１８に示すように、ＲＧＢ入力色データをＹＭＣＫ出力色データに変換するための参照用メモリ（ＲＡＭ）の各アドレスには、色変換の対応点データが、入力３要素のデータビット幅そのもの（本例では８ビット）で格納されている。
【００２４】
このように、従来方式では、テトラ・ハイドラ補間演算に必要となる４頂点のデータをある単位時間で得るために、出力の１つの構成要素につき、同容量・同内容のメモリを４つ用意しなければならない。出力がＹ，Ｍ，Ｃ，Ｋの４つの構成要素からなるこの例の場合は、合計で１６個のメモリを用意する必要がある。
【００２５】
ＬＵＴへの格納データ数を上述のように１７データ×１７データ×１７データと規定した場合、前述の４９キロバイトではなく、７８６キロバイトを全メモリ容量として用意しなければならなくなる。補間精度を重視し、８点補間を想定すると３２個もメモリが必要となり、全メモリ容量は１，５６８キロバイトにもなる。
【００２６】
また、プリンタなどのハードコピー出力装置は、その出力文書中の構成要素（たとえば、テキスト、コンピュータ・グラフィックス画像、写真画像などの画像オブジェクト）ごとに異なった色変換を行なうことが望まれる。この場合、各頂点のデータとして複数のデータが必要となるため、メモリの使用個数がさらに増加し、当然に、全メモリ容量もさらに増加することになる。
【００２７】
このように、全メモリ容量が増加すれば、半導体内に構成されるメモリとして、その占有面積が増加し、チップサイズの大きなものが必要になる。この結果、コストアップを招くことにもなる。
【００２８】
本発明は、上記事情に鑑みてなされたものであり、補間演算を利用して色変換を行なうに際して、メモリの占有面積を削減することのできるデータ変換方法および装置を提供することを目的とする。
【００２９】
【課題を解決するための手段】
詳細は、実施形態で説明するが、本発明は、同じ容量のメモリを構成する場合でも、ビット幅を大きくした場合の方がゲート規模（メモリサイズ）が小さくなるという技術的知見に基づいてなされたものである。
【００３０】
すなわち、本発明に係るデータ変換方法および装置は、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成した合成データを新たなルックアップテーブルの格子点データとして格納しておく。そして、データ変換処理時には、合成データを読み出して元の個別の格子点データに分離してから、通常のデータ変換処理を行なうことを特徴とする。
【００３１】
たとえば、本発明に係る第１のデータ変換方法は、入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、入力色データの画素データごとに、入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、先ず、ルックアップテーブルの各格子点に、複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の出力色分を合成した合成データを格納しておく。
【００３２】
データ変換処理時には、合成データが格納されたデータ格納部から入力色データの画素データに対応する合成データを読み出し、この読み出した合成データを出力色についての各格子点データに分離する。そして、出力色ごとに、分離した出力色用の格子点データを使用して、出力色用の画素データを決定する。
【００３３】
本発明に係る第２のデータ変換方法は、先ず、ルックアップテーブルの各格子点に、複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成した合成データを格納しておく。
【００３４】
データ変換処理時には、合成データが格納されたデータ格納部から入力色データの画素データに対応する合成データを読み出し、この読み出した合成データを、画像属性についての各格子点データに分離する。そして、出力色ごとに、分離した出力色用の格子点データを使用して、出力色用の画素データを決定する。
【００３５】
本発明に係る第３のデータ変換方法は、第１および第２のデータ変換方法を組み合わせたものであって、先ず、ルックアップテーブルの各格子点に、複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成した合成データを格納しておく。
【００３６】
データ変換処理時には、合成データが格納されたデータ格納部から入力色データの画素データに対応する合成データを読み出し、この読み出した合成データを、画像属性並びに出力色についての各格子点データに分離する。そして、出力色ごとに、分離した出力色用の格子点データを使用して、出力色用の画素データを決定する。
【００３７】
本発明に係る第１のデータ変換装置は、本発明に係る第１のデータ変換方法を実施する装置であって、先ず、複数の出力色についての元のルックアップテーブルにおける各格子点データを、所定の基準に基づいて所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部を備えるものとした。
【００３８】
また、第１のデータ変換装置は、合成データが格納されてなるデータ格納部から入力色データの画素データに対応する合成データを読み出す合成データ読出部と、合成データ読出部が読み出した合成データを出力色についての各格子点データに分離するデータ分離部と、出力色ごとにデータ分離部が分離した当該出力色用の格子点データを使用して出力色用の画素データを決定する出力色データ決定部とを備えるものとした。
【００３９】
本発明に係る第２のデータ変換装置は、上記本発明に係る第２のデータ変換方法を実施する装置であって、先ず、複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成して得られる合成データが各格子点に格納されてなるデータ格納部を備えるものとした。
【００４０】
また、第２のデータ変換装置は、合成データが格納されてなるデータ格納部から入力色データの画素データに対応する合成データを読み出す合成データ読出部と、合成データ読出部が読み出した合成データを画像属性についての各格子点データに分離するデータ分離部と、出力色ごとにデータ分離部が分離した当該出力色用の格子点データを使用して出力色用の画素データを決定する出力色データ決定部とを備えるものとした。
【００４１】
本発明に係る第３のデータ変換装置は、本発明に係る第３のデータ変換方法を実施する装置であって、先ず、複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部を備えるものとした。
【００４２】
また、第３のデータ変換装置は、合成データが格納されてなるデータ格納部から入力色データの画素データに対応する合成データを読み出す合成データ読出部と、合成データ読出部が読み出した合成データを画像属性並びに出力色についての各格子点データに分離するデータ分離部と、出力色ごとにデータ分離部が分離した当該出力色用の格子点データを使用して出力色用の画素データを決定する出力色データ決定部とを備えるものとした。
【００４３】
また従属項に記載された発明は、本発明に係るデータ変換方法および装置のさらなる有利な具体例を規定する。なお、合成データ読出部や出力色データ決定部に関してはハードウェアによらずソフトウェアにて実現することもでき、本発明に係るデータ変換装置を、電子計算機を用いてソフトウェアで実現するために好適なプログラムやこのプログラムを格納したコンピュータ読取り可能な記憶媒体も、本願の発明として抽出することが可能である。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【００４４】
また、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データは、有線あるいは無線による通信手段を介して配信されることで、データ格納部に格納されるものであってもよい。あるいは、合成データは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよい。この場合、データ変換装置の使用前に、記憶媒体から合成データを読み出しデータ格納部に格納しておく。このような、上述の合成データが格納されたコンピュータ読取り可能な記憶媒体も本願の発明として抽出することが可能である。
【００４５】
【作用】
本発明の上記構成においては、先ず、データ変換処理に必要となる格子点データを格納するデータ格納部として、先ず、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データが各格子点に格納されてなるものを用意する。そして、データ格納部から合成データを読み出して元の個別の格子点データに分離してから、通常のデータ変換処理を行なう。
【００４６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００４７】
＜＜メモリデータの基本的な構造＞＞
図１は、特定用途向け半導体内に構成される記憶手段の一例であるメモリの容量と、メモリが占める面積（以下ゲート（gate）規模という）の関係を説明する図である。ここで、図１（Ａ）は、同じ容量のメモリを複数の条件で構成した場合のメモリのゲート規模の一例を示した図表であり、図１（Ｂ）は、図１（Ａ）のデータをグラフ化したものである。なお、この図１（Ａ）に示すデータは、“株式会社  東芝  ＴＣ２６０Ｅ  ＡＳＩＣシリーズデータブック”から引用したものである。
【００４８】
図１（Ａ）では、１，０４８，５７６ビットのメモリを５つの条件で構築した場合を例示している。ワード（word）数を共通とし、ビット幅を変えつつ、同容量のメモリを構成するとき、ゲート規模がどのように変化するかを示している。図１（Ｂ）において、折れ線は、各構成（▲１▼〜▲５▼）における容量合計を示しており、全て同容量（１，０４８，５７６ビット）である。一方、棒グラフは各構成におけるゲート規模を示している。各構成のワード数は同じであるが、ビット幅の条件が異なる。
【００４９】
図１（Ｂ）から分かるように、同じ容量（容量合計）のメモリを構成する場合でも、構成▲５▼で示すように、ビット幅を大きくした場合の方がゲート規模が小さくなる。ゲート規模が小さくなれば、その占有面積が減少し、チップサイズの小さなメモリとなる。これにより、同容量のメモリを使用する場合でも、データのビット幅を大きくすることで、チップサイズが小さく、低コストのメモリを使用できる。
【００５０】
このことから、データ変換装置においては、ビット幅を大きくすることのできるようなデータ構成とすれば、ＬＵＴを構成するメモリとして、チップサイズの小さなメモリを使用でき、これによりコスト低減を図ることができるということが推測される。
【００５１】
＜＜メモリデータの第１の構成例と対応回路＞＞
図２は、色データを変換する際に使用されるＬＵＴに格納するデータの構造（メモリデータ構造）の第１例を説明する図である。前述の考察に基づき、同じ容量のメモリを構成する場合において、ビット幅を大きくすることでゲート規模（メモリサイズ）を小さくする。ここで、ビット幅を広げるための手法として、第１例においては、以下のような点に着目した。
【００５２】
先ず、図１８に示した従来のデータ構造を参照する。図１８に示されるように、参照用メモリ（ＲＡＭ）の各アドレスには、色変換の対応点データが、入力３要素のデータビット幅そのもので格納されている。具体的には、１つの構成要素のデータである８ビットで格納されている。一方、テトラ・ハイドラ補間を利用して、ＲＧＢ入力からＹＭＣＫ出力への色変換を行なうデータ変換処理の際には、同一アドレスのＹ，Ｍ，Ｃ，Ｋの参照用データを使用する。
【００５３】
そこで、第１例のデータ構造においては、先ず、補間演算に必要となるデータをある単位時間内に同時に抽出できるように、補間演算に必要となるＬＵＴの格子点数（頂点数）と等しい数（Ｔ個；テトラ・ハイドラ補間の場合は４個）のメモリで構成する。一方、新たに構成するＬＵＴの各格子点のアドレス位置には、図２に示すように、出力色構成要素（本例ではＹ，Ｍ，Ｃ，Ｋ）のうちの一部もしくは全てのデータを纏めて合成データとして格納する。図２（Ａ）に示すように全てを纏めた方が、図２（Ｂ）に示すように一部だけを纏めるよりも、ビット幅が広がるのはいうまでもない。
【００５４】
ここで、合成される任意の格子点のデータビット幅をＮビット、１つの構成要素のデータビット幅をＭビット（Ｍ，Ｎは正の整数で、Ｎ＞Ｍ）、元の（従前の）ＬＵＴの任意アドレスに格納されているデータサイズをＹビット（Ｙは正の整数）、出力色の構成要素数をＸ（Ｘは２以上の正の整数）、出力色構成要素（Ｘ）を所定数ｎのグループに分割（Ｘ＝ｘ１＋ｘ２＋…＋ｘｎ；ｘｉは正の整数）することとすれば、各グループのＬＵＴ格子点の合成データのビット幅ＮやＮｉ（単位はビット）は、以下の式（１）で示すことができる。ｘｉ＝Ｘであれば、全てを纏めることを意味し、１グループのみとなる。なお、従前の例から分かるように、通常は、１つの構成要素のデータビット幅ＭとＬＵＴのデータサイズＹとは等しい。
【数１】
2004208128.tif 000003
【００５５】
また式（１）を満足する限り、図２（Ｂ）や図２（Ｃ）に示すように、複数のグループに分けて纏めることもできる。また、図２（Ｃ）に示すように、纏め方によっては、１構成要素のデータビット幅そのもので格納されるグループができる。なお、複数のグループに分けるということから、この場合、出力構成要素数Ｘが３以上であることが前提となる。纏めるからには、出力構成要素数Ｘが複数（２以上）でなければならず、ｘ＝２の場合、これを纏めると１つのグループしかできなからである。
【００５６】
なお、色データの変換処理は、ＲＧＢ入力からＹＭＣＫ出力への多次元ＬＵＴを用いた色変換に限定されるものではない。たとえば、ある色軸（たとえばＬａｂ空間の各軸）のデータを同一軸上で異なるデータ値に変換するための１次元ＬＵＴを用いる処理であってもよい。ただし、１次元ＬＵＴであれば、１つの入力構成要素の色データから複数の出力構成要素の色データに変換するということはあり得ず、「出力色の複数を纏める」という概念が存在しないので、第１例の適用範囲は、入力構成要素数が“２”以上のものに限定される。
【００５７】
また、入力構成要素数が“２”である例としては、たとえば入力構成要素が３入力以上であるものについて、その内の２軸のみに着目した２次元ＬＵＴを用いた色変換が考えられる。具体的には、Ｌａｂ色空間で表される色データを入力とするケースにおいて、色相および彩度を表すａ，ｂのみに着目して、ａｂ空間の２次元ＬＵＴを用いて出力値ａ，ｂを求める色変換が考えられる。これは、明度については入力値を維持するが、色相および彩度についてデータ値を変える（色変換する）ことを意味する。この事例に前述の第１例の合成手法を適用する場合、出力値ａ，ｂについて合成すればよい。
【００５８】
また、入力構成要素数が“３”である例としては、ＲＧＢ，ｓＲＧＢ，Ｌａｂ，ＹＣｂＣｒ，ＹＭＣ，ＸＹＺなどの色空間データが考えられる。さらに、入力構成要素数が“４”である例としては、ＹＭＣＫ，Ｋ（墨量）＋Ｌａｂ，ＲＧＢ＋Ｌ（明度）などの色空間データが考えられる。また、ＲＧＢ入力からＹＭＣＫ出力への色変換のように、入力色空間と出力色空間とが同じものに限らず、異なるものであっても構わない。
【００５９】
以上のように、第１例のデータ合成の手法を適用して元のＬＵＴ格子点データの同一アドレスのデータを複数の出力色構成要素について纏めることでデータビット幅を大きくし、このデータビット幅の大きな状態でメモリにＬＵＴデータを格納することとすれば、ゲート規模（メモリサイズ）を小さくすることができ、メモリコストの低減を図ることができる。これにより、冗長性の低い、効率的なＬＵＴの構成方法とアクセス方法を提供することができる。
【００６０】
図３は、図２に示した第１例の合成手法を適用したデータ構造を持つＬＵＴを使用する場合における、第１実施形態のデータ変換装置１の基本的な構成例を示す図である。
【００６１】
第１実施形態のデータ変換装置１には、外部機器から、入力系の色成分Ｉ１，Ｉ２，…，Ｉｗの各Ｙ１ビットの入力デジタル色分解信号が入力される。データ変換装置１は、入力データを、出力系の色成分S1，S2，…，Sxの各Ｙ２ビットのデータに色変換する。たとえばＲ，Ｇ，Ｂの３色の各８ビットデータが入力されると、Ｙ，Ｍ，Ｃ，Ｋの４色の各８ビットのデータに色変換する。なお、この入力データや出力データの形式は、一例に過ぎず、他の色系列であってもよいし、ビット数Ｙ１，Ｙ２も“８”に限らない。
【００６２】
図示するように、第１実施形態のデータ変換装置１は、入力データに対応する色変換後の出力データを補間演算により求める際に使用される基礎データを格納するデータ格納部２と、データ格納部２との間データでやり取りをしながら、出力色ごとに、入力画素データに対応する出力画素データを補間演算により求める演算処理部４とを備える。
【００６３】
データ格納部２は、入力色信号要素で規定されるｗ次元格子空間（ｗ次元ＬＵＴ）の各格子点に対応づけられた格子点データに対応する基礎データが、図２にて説明したように、複数の出力色構成要素について所定の基準に従ってグループ化され、そのグループ内の同一アドレスの複数の基礎データが１つの合成データに纏められて格納されることで、ルックアップテーブルＬＵＴを構成するようになっている。たとえば、出力色の全てを纏めて１グループとする場合、補間演算に必要となる格子点データ数Ｔの分だけの参照用メモリ２T1，２T2，…，２Ttを使用する。各参照用メモリ２T1，２T2，…，２Ttには、出力色S1〜Sxについての格子点データが合成されて格納される。
【００６４】
これらメモリ２T1，２T2，…，２Ttは、１つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。
【００６５】
演算処理部４は、信号処理系統として、出力系の色成分S1，S2，…，Sxのそれぞれに対応するように、S1信号生成部４S1，S2信号生成部４S2，…，Sx信号生成部４Sxを含む。また、演算処理部４は、データ格納部２に格納されている合成データを、出力構成要素ごとのデータに分離するデータ分離部１６を備える。ここで、第１実施形態のデータ分離部１６は、出力色S1，S2，…，Sxに対応して、個別回路が内部に設けられる。この演算処理部４は、たとえばＣＰＵ（Central Processing Unit ）やＤＳＰ（Digital Signal Processor）で構成するとよい。
【００６６】
データ格納部２と演算処理部４との間は、演算処理部４がデータ格納部２から基礎データを読み出すためにアドレス信号などの制御信号を送るアドレスバス６、およびデータ格納部２から読み出された基礎データを演算処理部４へ送るデータバス８で接続されている。
【００６７】
演算処理部４には、出力値を生成するための補間演算に用いられるデータが格納されているルックアップテーブルへのアクセスアドレスを生成するアドレス生成部が設けられる。そして、アドレスバス６では、データ格納部２内の個々のメモリ空間（メモリ２T1，２T2，…，２Tt）における基礎データの読出位置を設定するアドレス信号、クロック、あるいはチップセレクト信号などの伝送が行なわれる
データバス８は、データ変換前の入力データを図示しない外部装置から入力するためや、変換後の出力データを同一または別の外部装置へ出力するために用いられる。
【００６８】
このような構成において、演算処理部４は先ず、データ格納部２内のメモリ２T1，２T2，…，２Ttの任意のアドレスから、各出力色構成要素の格子点データであって複数の出力色構成要素について合成されたＮビットもしくはＮｉビットの合成データを読み出す。データ分離部１６は、読み出された合成データを、出力色構成要素ごとの格子点データに分離する。色成分S1，S2，…，Sxごとに設けられた信号生成部４S1〜４Sxは、分離された格子点データを用いて補完演算を行なうことで、色成分S1，S2，…，Sxごとに出力データを生成する。
【００６９】
図４は、第１実施形態のデータ変換装置１における色データの変換に関する処理手順の概要を示したフローチャートである。なお、以下の説明では、入力データが８ビットＲ，Ｇ，Ｂ、出力データが８ビットＹ，Ｍ，Ｃ，Ｋで、演算処理部４は、テトラ・ハイドラ補間演算をするものとして説明する。この場合、図３に示すように、演算処理部４には、Ｙ信号生成部４Ｙ，Ｍ信号生成部４Ｍ，Ｃ信号生成部４Ｃ，Ｋ信号生成部４Ｋを使用する。また、メモリ２には、４つのメモリ２T1，２T2，２T3，２T4を使用する。
【００７０】
第１実施形態の演算処理部４は、データ格納部２に格納されている色変換用のＬＵＴ（ルックアップテーブル）の格子点データを用いて、外部機器から入力された各信号（Ｒ，Ｇ，Ｂ）を、出力色（Ｙ，Ｍ，Ｃ，Ｋ）の色データに色変換する際に、テトラ・ハイドラ法を用いた補間処理を利用する。
【００７１】
このため、画像データＲ，Ｇ，Ｂが入力されると、演算処理部４は先ず、入力された８ビットのＲ，Ｇ，Ｂデジタル色分解信号を、画素ごとに、上位αビット（最上位ビット側から連続したα個）と下位βビット（最下位ビット側から連続したβ個）に分割する（Ｓ１００）。
【００７２】
次に、演算処理部４は、入力３要素の上位αビットのデータＲＨ，ＧＨ，ＢＨに基づいて、入力３要素のＲ，Ｇ，Ｂデータからなる３次元格子体（３次元ＬＵＴ）を構成したとき、各格子点で規定される多数の単位格子体（本例では単位立方体）のうちの何れの単位立方体に該当データが含まれるかを決定する（Ｓ１０２）。このステップＳ１００〜Ｓ１０２の処理を単位立方体判定処理という。
【００７３】
次に、演算処理部４は、該当する単位立方体の中をさらに６つの４面体に分割し（Ｓ１０４）、入力３要素の下位βビットのデータＲＬ，ＧＬ，ＢＬに基づいて何れの４面体に該当データが含まれるかを決定する（Ｓ１０６）。このステップＳ１０４〜Ｓ１０６の処理を４面体判定処理という。
【００７４】
次に、演算処理部４は、該当する４面体内での補間演算というテトラ・ハイドラ法により、入力値（入力された画素データ）に対応する出力値（出力すべき画素データ）を求める（Ｓ１０８）。
【００７５】
具体的には、図中右側に示すように、演算処理部４は、先ず、入力点を包含する基点の座標値に基づいて、同一アドレスのデータ群における補間演算に必要な４格子点を特定し抽出する４格子点特定処理（アクセスアドレス特定処理ともいう）を行なう（Ｓ１０８ａ）。つまり、演算処理部４は、４つのメモリ２T1，２T2，２T3，２T4について、テトラ・ハイドラ法による補間演算処理により出力値を生成するために用いられるデータが格納されているＬＵＴへのアクセスアドレスを特定する。
【００７６】
ＬＵＴの任意のアドレスには、出力構成要素数分のデータを合成してｎビット（本例では３２ビット）で格納されている。このため、演算処理部４のデータ分離部１６は、アクセスアドレス特定処理にて特定された入力値に対応する特定アドレスから格子点データを抽出し、この抽出した３２ビットの格子点データを、出力色構成要素の単位データであるｍビット（本例では８ビット）のデータに分離する（Ｓ１０８ｂ）。
【００７７】
演算処理部４は、４格子点特定処理（Ｓ１０８ａ）と並行して、該当する４面体について、４面体頂点から得られる４つの基礎データ（本例では元の格子点データそのもの）に対する重み係数（乗算係数）である補間係数を算出する補間係数算出処理を行なう（Ｓ１０８ｃ）。そして、演算処理部４は、該当する４面体について、４格子点特定処理（Ｓ１０８ｂ）により得られた基礎データ（格子点データ）と補間係数算出処理（Ｓ１０８ｃ）により得られた補間係数とに基づいて、入力値に対応する出力値Ｄｏｕｔを求める補間演算処理を行なう（Ｓ１０８ｄ）。
【００７８】
演算処理部４は、上記一連の処理を、出力色であるＹ，Ｍ，Ｃ，Ｋのそれぞれについて行なうとともに（Ｓ１１２）、全画素について行なうことで（Ｓ１１０）、入力されたＲＧＢ色空間の色データをＹＭＣＫ色空間のデータに変換する。
【００７９】
図５は、第１実施形態のデータ変換装置１において、ＲＧＢ入力からＹＭＣＫ出力への多次元ＬＵＴを用いた色変換を行なう場合のデータ構造の具体例を示す図である。図１８に示した従来例との比較のため、元の（従前の）ＬＵＴへの格納データ数を１７データ×１７データ×１７データ（４９１３個の格子点アドレスが必要）と規定する。
【００８０】
ここで、前述のように、演算処理部４は、テトラ・ハイドラ補間演算を行なうものとする。この場合、メモリ（データ格納部２）は、テトラ・ハイドラ補間演算に必要となる４つの頂点のデータをある単位時間内に同時に抽出できるように、４つの頂点用の４個のメモリ（ＲＡＭ０〜ＲＡＭ３）で構成される。
【００８１】
各頂点のアドレス位置には、ＹＭＣＫ４色分の格子点データが１つの合成データとして纏められて保持される。ここでは、ＲＧＢ入力データが８ビットであり、ＹＭＣＫ４色分が纏められることで、１ワードとしては、８ビット×４色＝３２ビットの状態で格納される。このような構成によれば、出力色ごとにメモリを個別に使用する場合よりも、特定用途向け半導体内に構成されるメモリとしてはその占有面積が格段に小さくなり、コスト面での経済的効果は絶大である。
【００８２】
図６は、第１実施形態のデータ変換装置１の具体的な構成を示すブロック図である。この図６に示すデータ変換装置１の構成は、Ｒ，Ｇ，Ｂの３次元入力の場合における図５に示したメモリ構成を適用した具体的な回路構成である。ここでも、入力デジタル色分解信号の構成要素がＲ，Ｇ，Ｂであり、それぞれ８ビットのデータであるとする。
【００８３】
図示するように、演算処理部４は、単位立方体判定処理（図４のステップＳ１００〜Ｓ１０２）およびアクセスアドレス特定処理（同Ｓ１０８ａ）を実行するアドレス生成部１０と、４面体判定処理（同Ｓ１０４〜Ｓ１０６）を実行する４面体判定部１４と、データ分離処理（同Ｓ１０８ｂ）を実行するデータ分離部１６と、補間係数算出処理（Ｓ１０８ｃ）を実行する補間係数生成部２０と、近傍４つのデータを用いるテトラ・ハイドラ補間演算処理（Ｓ１０８ｄ）を実行する出力色データ決定部２２とを備える。
【００８４】
データ格納部２は、テトラ・ハイドラ補間演算における４頂点に対応するように、第１頂点のデータを参照するためのＬＵＴを構成する第１頂点データ参照用メモリ２T1、第２頂点のデータを参照するためのＬＵＴを構成する第２頂点データ参照用メモリ２T2、第３頂点のデータを参照するためのＬＵＴを構成する第３頂点データ参照用メモリ２T3、および第４頂点のデータを参照するためのＬＵＴを構成する第４頂点データ参照用メモリ２T4を備えている。
【００８５】
それぞれのメモリ２T1〜２T4は同じ内容で同じ容量のＬＵＴを格納している。テトラ・ハイドラ補間演算を行なう場合、従来は図１８に示したように、同容量・同内容のメモリを４つ用意し、かつＹ，Ｍ，Ｃ，Ｋの４出力に応じて、計１６個のメモリを用意する必要があった。ここで、各頂点へのアドレスはそれぞれ異なるが、各色では同じ頂点のデータを必要としており、アクセスするメモリ実態は異なっていてもアドレス値は同じである。
【００８６】
よって、図３（Ａ）や図５に示したように、１つのアドレスの４つの出力値構成要素を纏めることで、メモリの簡素化を図ることが可能となる。この場合は出力値がそれぞれ８ビットのデータであり、出力色構成要素はＹ，Ｍ，Ｃ，Ｋの４色なので、１つのアドレスに３２ビットの合成データを格納することになる。
【００８７】
たとえば、第１頂点データ参照用メモリ２T1には４つの出力色Ｙ，Ｍ，Ｃ，Ｋの第１頂点についてのデータを纏めた合成データ“Ｙ１＋Ｍ１＋Ｃ１＋Ｋ１”（参照符号“１”が頂点番号を示す）が格納されている。同様に、第２頂点データ参照用メモリ２T2には合成データ“Ｙ２＋Ｍ２＋Ｃ２＋Ｋ２”が、第３頂点データ参照用メモリ２T3には合成データ“Ｙ３＋Ｍ３＋Ｃ３＋Ｋ３”が、第４頂点データ参照用メモリ２T4には合成データ“Ｙ４＋Ｍ４＋Ｃ４＋Ｋ４”が、それぞれ格納されている。
【００８８】
このようなメモリ構成にすると、ゲート規模の極小化の利点を享受することができる。前述のように、同容量のメモリを構成する場合、よりビット幅を大きくし、メモリの個数をより少なくした方が、ゲート規模を削減することができる。
【００８９】
第１実施形態のデータ分離部１６は、全出力色について纏められた合成データを各出力色成分に分離するものであり、４つの頂点用のメモリ２T1〜２T4に対応するように、第１出力色データ分離部１６T1、第２出力色データ分離部１６T2、第３出力色データ分離部１６T3、および第４出力色データ分離部１６T4を備えている。
【００９０】
出力色データ決定部２２は、４つの出力色Ｙ，Ｍ，Ｃ，Ｋに対応するように、Ｙ補間処理部２２Ｙ、Ｍ補間処理部２２Ｍ、Ｃ補間処理部２２Ｃ、およびＫ補間処理部２２Ｋを備えている。
【００９１】
アドレス生成部１０は、合成データ読出部の一例であって、単位格子体判定部の機能とアドレス設定部の両機能を備える。また、補間係数生成部２０と出力色データ決定部２２とにより、補間演算処理部が構成される。
【００９２】
図７は、演算処理部４における単位立方体判定処理（図２のステップＳ１００〜Ｓ１０２）を説明する図であって、出力値の代表値である格子点データを構成する元の３次元ＬＵＴと入力データとの関係を説明する図である。ここで図７（Ａ）は、ＬＵＴの３次元空間での概念図を示し、図７（Ｂ）は、各８ビットのＲＧＢ入力信号とそれぞれの信号の上位４ビット信号が対応する３次元ＬＵＴ上での位置関係を示す。
【００９３】
図７（Ａ）に示すように、Ｒ，Ｇ，Ｂの各軸における取り得る値の範囲を複数に分割する。ここでは各軸を１６に分割した例を示している。このような分割によって得られる格子点をアドレスとし、その格子点における変換後の値（代表値）を対応付けることによってＬＵＴを構成する。したがって、この例では、１７×１７×１７＝４９１３個の格子点について、それぞれ対応する変換後のデータを代表値として格納した３次元ＬＵＴを作成することができる。
【００９４】
演算処理部４は、入力された８ビットのＲ，Ｇ，Ｂデジタル色分解信号を上位αビット（最上位ビット側から連続したα個）と下位βビット（最下位ビット側から連続したβ個）に分割する。たとえば、演算処理部４は、α＝β＝４とし、入力されたＲ，Ｇ，Ｂを、それぞれ上位４ビットのＲＨ，ＧＨ，ＢＨと下位４ビットのＲＬ，ＧＬ，ＢＬに分割する。もちろん、α，βは、これ以外であってもかまわない。なお、“α＋β”は、入力データのビット数８と等しいことが好ましい。
【００９５】
たとえば、各ＬＵＴは、図７（Ａ）に示すように、ＲＧＢそれぞれの軸に対し、１７個のデータを保持している。ここで、図７（Ｂ）に示すように、上位４ビットデータの組合せ値で形成される単位立方体の中に、任意の入力Ｒ，Ｇ，Ｂの８ビットデータ（入力画素データ）の組合せ値の空間位置Ｐ２２が包含されるので、上位の４ビットデータＲＨ，ＧＨ，ＢＨで示す空間位置Ｐ２１を基点とした単位立方体（単位格子体）で入力８ビットデータを包含する単位立方体を特定することが可能となる。
【００９６】
単位立方体を構成する各頂点は、空間位置Ｐ２１を基準に生成可能である。すなわち、Ｐ２１（ＲＨ，ＧＨ，ＢＨ）を基点として、Ｐ２３（ＲＨ＋１，ＧＨ，ＢＨ），Ｐ２４（ＲＨ＋１，ＧＨ＋１，ＢＨ），Ｐ２５（ＲＨ，ＧＨ＋１，ＢＨ），Ｐ２６（ＲＨ，ＧＨ，ＢＨ＋１），Ｐ２７（ＲＨ＋１，ＧＨ，ＢＨ＋１），Ｐ２８（ＲＨ，ＧＨ＋１，ＢＨ＋１），Ｐ２９（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）が、単位立方体の頂点の座標となる。本実施形態の場合には、これらの頂点の座標は、元となる３次元ＬＵＴの格子点の座標に一致する。また、ＬＵＴへのアクセスアドレスの算出式は、以下の式（２）となる。
【数２】
2004208128.tif 000004
【００９７】
演算処理部４は、この入力Ｒ，Ｇ，Ｂの８ビットデータの組合せ値に対応する出力値を、入力点近傍の４つの格子点データを使って、つまり、図７（Ｂ）に示す単位立方体の８頂点の座標のデータのうちの４つを基礎データとして使って、テトラ・ハイドラ法により求める。
【００９８】
図８は、演算処理部４における４面体判定処理（図４のステップＳ１０４〜Ｓ１０６）を説明する図であって、入力データが包含される単位立方体と、この単位立方体を６つに分割して得られる４面体との関係を示す図である。先にも述べたように、第１実施形態の演算処理部４は、入力デジタル色分解信号Ｒ，Ｇ，Ｂの組合せ値に対応する出力信号ＹＭＣＫのそれぞれを、データ格納部２に格納されている基礎データ（格子点データ）に基づいてテトラ・ハイドラ法による補間演算により求める。
【００９９】
図７（Ｂ）に示した単位立方体は、さらに図８に示すように、同体積の６つの単位４面体に分割可能である。入力Ｒ，Ｇ，Ｂの空間位置Ｐ２２がどの４面体に包含されるかは、下位のビットデータＲＬ，ＧＬ，ＢＬの大小関係から、図８下部に示す表２のように特定可能である。
【０１００】
たとえば、下位ビットデータＲＬ，ＧＬ，ＢＬがＲＬ≧ＧＬ≧ＢＬの関係であるとき、入力Ｒ，Ｇ，Ｂは（ＲＨ，ＧＨ，ＢＨ），（ＲＨ＋１，ＧＨ，ＢＨ），（ＲＨ＋１，ＧＨ＋１，ＢＨ），（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）を頂点とした４面体１に属する。ＲＬ＞ＢＬ＞ＧＬの関係であるとき、入力Ｒ，Ｇ，Ｂは（ＲＨ，ＧＨ，ＢＨ），（ＲＨ＋１，ＧＨ，ＢＨ），（ＲＨ＋１，ＧＨ，ＢＨ＋１），（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）を頂点とした４面体２に属する。ＢＬ≧ＲＬ＞ＧＬの関係であるときは、入力Ｒ，Ｇ，Ｂは（ＲＨ，ＧＨ，ＢＨ），（ＲＨ＋１，ＧＨ，ＢＨ＋１），（ＲＨ，ＧＨ，ＢＨ＋１），（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）を頂点とした４面体３に属する。
【０１０１】
同様に、ＢＬ＞ＧＬ≧ＲＬの関係であるときは、入力Ｒ，Ｇ，Ｂは（ＲＨ，ＧＨ，ＢＨ），（ＲＨ，ＧＨ，ＢＨ＋１），（ＲＨ，ＧＨ＋１，ＢＨ＋１），（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）を頂点とした４面体４に属する。ＧＬ≧ＢＬ＞ＲＬの関係であるときは、入力Ｒ，Ｇ，Ｂは（ＲＨ，ＧＨ，ＢＨ），（ＲＨ，ＧＨ＋１，ＢＨ），（ＲＨ，ＧＨ＋１，ＢＨ＋１），（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）を頂点とした４面体５に属する。ＧＬ＞ＲＬ≧ＢＬの関係であるときは、入力Ｒ，Ｇ，Ｂは（ＲＨ，ＧＨ，ＢＨ），（ＲＨ，ＧＨ＋１，ＢＨ），（ＲＨ＋１，ＧＨ＋１，ＢＨ），（ＲＨ＋１，ＧＨ＋１，ＢＨ＋１）を頂点とした４面体６に属する。
【０１０２】
そこで、先ず演算処理部４のアドレス生成部１０は、画像データＲ，Ｇ，Ｂが入力されると、その入力データＲ，Ｇ，Ｂを上位ビットデータＲＨ，ＧＨ，ＢＨ（本例では上位４ビット；纏めてＤＨとする）と下位ビットデータＲＬ，ＧＬ，ＢＬ（本例では下位４ビット；纏めてＤＬとする）に分割し、その内の上位４ビットのデータＤＨに基づいて、図７（Ｂ）に示したように、３次元ＬＵＴにおける入力点が包含される単位立方体の入力位置Ｐ２２を特定する。また、アドレス生成部１０は、分割したデータの内の下位ビットデータＤＬを４面体判定部１４と補間係数生成部２０とに入力する。
【０１０３】
４面体判定部１４は、アドレス生成部１０で生成された入力ＲＧＢ信号の各下位４ビット信号ＤＬを受け取ると、その３つの信号の大小関係を比較演算することで、入力の各８ビット信号が単位立方体内のどの４面体に包含されるかを判定する。４面体判定部１４は、判定結果をアドレス生成部１０と補間係数生成部２０に通知する。
【０１０４】
４面体判定部１４における比較条件は、図８の４面体構成に則した場合、入力ＲＧＢ信号の下位４ビット信号ＤＬをそれぞれＲＬ，ＧＬ，ＢＬとすると、前述のように、ＲＬ≧ＧＬ≧ＢＬのときは４面体１、ＲＬ＞ＢＬ＞ＧＬのときは４面体２、ＢＬ≧ＲＬ＞ＧＬのときは４面体３、ＢＬ＞ＧＬ≧ＲＬのときは４面体４、ＧＬ≧ＢＬ＞ＲＬのときは４面体５、ＧＬ＞ＲＬ≧ＢＬのときは４面体６となる。
【０１０５】
図９は、基点Ｐ２１と４面体判定部１４による判定結果に基づく４頂点の座標位置との関係を示す図である。図中ａが図７（Ｂ）に示した基点Ｐ２１に対応する。
【０１０６】
入力データ位置を示す入力点Ｐ２２は、入力データの上位ビットデータＲＨ，ＧＨ，ＢＨで規定される単位立方体に包含され、この単位立方体の位置が、図７（Ｂ）の基点Ｐ２１（つまり図９のａ）の座標値により特定される。
【０１０７】
アドレス生成部１０は、４面体判定部１４による４面体判定処理結果を受けて、入力点Ｐ２２を包含する単位立方体の８頂点（図９のａ〜ｈ）のうち、４面体判定部１４による判定結果に基づく４頂点アドレスを式（２）に従って算出し、４つのメモリ２T1，２T2，２T3，２T4に設定する。こうすることで、データ格納部２の各メモリ２T1，２T2，２T3，２T4からのデータ読出し時には、設定されたアドレスから、入力点Ｐ２２近傍の４頂点の格子点データを示す３２ビットの合成データがデータ分離部１６に入力されるようになる。
【０１０８】
メモリ２T1〜２T4から、第１頂点〜第４頂点のデータが、ある単位時間内に同時に出力される。この出力されたデータは、Ｙ，Ｍ，Ｃ，Ｋの４つの同一頂点（同一アドレス）のデータが一体になった合成データである。このため、データ分離部１６の各出力色データ分離部１６T1〜１６T4は、予め定められているデータ合成手法を参照して、出力色Ｙ，Ｍ，Ｃ，Ｋの単位データ、すなわち８ビット単位のデータに分離する。この８ビット単位に分離されたデータを補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４という。個々の出力色ごとに纏まった形式で合成データが用意されているので、データ分離処理が簡易である。
【０１０９】
図９中の表３から分かるように、６つの４面体ごとに補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４に割り当てられる格子点が異なる。データ分離部１６は、分離した各出力色についての補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４を、対応する補間処理部２２Ｙ〜２２Ｋに入力する。
【０１１０】
図１０は、演算処理部４における出力値算出処理（図４のステップＳ１０８）の補間係数算出処理（Ｓ１０２ｃ）と補間演算処理（Ｓ１０２ｄ）を説明する図である。ここで、図１０（Ａ）は補間演算にて必要となる補間係数の算出式を示す図表であり、図１０（Ｂ）は補間演算処理の機能ブロック図である。
【０１１１】
補間係数算出処理（Ｓ１０２ｃ）は、補間係数生成部２０が実行する。補間係数生成部２０は、アドレス生成部１０から入力された入力ＲＧＢ信号の下位４ビット信号ＤＬ（ＲＬ，ＧＬ，ＢＬ）と４面体判定部１４にて定まった４面体判定結果とに基づいて補間演算係数Ｗ１，Ｗ２，Ｗ３，Ｗ４を算出する。図１０（Ａ）示す表４は、テトラ・ハイドラ法による補間演算で必要となる補間係数の算出式を示している。表４から分かるように、６つの４面体ごとに計算式が異なる。
【０１１２】
補間係数生成部２０は、４面体判定処理（図４のステップＳ１０４〜Ｓ１０６）の結果を受けて、入力値が包含される４面体ごとに定められた計算式を表３に基づき切り替える。そして、４面体を構成する４格子点の下位ビットデータＲＬ，ＧＬ，ＢＬに基づいて補間係数Ｗ１，Ｗ２，Ｗ３，Ｗ４を算出し、補間係数Ｗ１，Ｗ２，Ｗ３，Ｗ４を補間処理部２２Ｙ〜２２Ｋに共通に入力する。この補間係数算出処理は、従来のデータ変換装置における処理と同様である。
【０１１３】
補間演算処理（Ｓ１０２ｄ）は、出力色データ決定部２２が実行する。補間処理部２２Ｙ〜２２Ｋのそれぞれは、補間係数生成部２０から入力された補間係数Ｗ１，Ｗ２，Ｗ３，Ｗ４と対応するデータ分離部１６T1〜１６T4から入力された補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４（４頂点の基礎データ）とに基づいて、最終出力値Ｄｏｕｔを算出するというテトラ・ハイドラ法による補間演算処理を行なう。たとえば、式（３）に従って、最終出力値Ｄｏｕｔを算出する。式（３）を機能的に示したものが図１０（Ｂ）である。なお、式（３）では１次式補間で出力値を求めているが、これに限らず、２次式やその他の高次の補間演算式を利用してもよい。
【数３】
2004208128.tif 000005
【０１１４】
図１１は、メモリデータ構造の第２例を説明する図である。第１例のデータ構造は、出力色構成要素のうちの一部もしくは全てのデータを纏めて（合成して）格納するものであった。これに対して、第２例のデータ構造は、複数の画像属性のうちの一部もしくは全てのデータを纏めて（合成して）格納する点に特徴を有する。以下、第１例のデータ構造と異なる点についてのみ説明する。
【０１１５】
第１例のデータ構造では、入力値に対応するＬＵＴ内の近傍データは各頂点において１つであり、補間演算されて出力されるデータは１つの入力に対して１対１に定まるものであった。しかし、プリンタなどのハードコピー出力装置はその出力文書中の構成要素（たとえば、テキスト、コンピュータ・グラフィックス画像、写真画像など）ごとに異なった色変換を行なうことが望まれる。つまり、各頂点のデータとして、それぞれ異なる画像属性に応じた複数のデータが必要となるということである。
【０１１６】
この場合、従来の構成では、１つの画像属性についての必要メモリ数（補間演算に必要となるＬＵＴの格子点数（頂点数）×出力色構成要素数Ｘ）を、必要とする画像属性の数の分だけ用意しなければならない。たとえば、ＲＧＢ入力色データをテトラ・ハイドラ補間演算によりＹＭＣＫ出力色データに変換するためには、Ｙへの変換に４つの格子点抽出用として４個、同様にＭへの変換用に４個、Ｃへの変換用に４個、Ｋへの変換用に４個の計１６個が必要であるから、画像属性の数をＧとすれば、１６・Ｇ個のメモリが必要となりメモリ回路の規模が増大する。
【０１１７】
そこで、第２例のデータ構造においては、先ず従来例と同様に、１つの画像属性についての必要メモリ数である、補間演算に必要となるＬＵＴの格子点数（頂点数）×出力色構成要素数Ｘと等しい数のメモリで構成する。ＲＧＢ入力色データをテトラ・ハイドラ補間演算によりＹＭＣＫ出力色データに変換する場合、４個×４色＝１６個メモリを使用する。
【０１１８】
一方、新たに構成するＬＵＴの各格子点のアドレス位置には、４つの画像属性に対応した例を示す図１１のように、出力色構成要素のそれぞれについて、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性に応じた選択データ構成要素のうちの一部もしくは全てのデータを纏めて（合成して）格納する。図１１（Ａ）に示すように全てを纏めた方が、図１１（Ｂ）に示すように一部だけを纏めるよりも、ビット幅が広がるのはいうまでもない。
【０１１９】
ここで、合成される任意の格子点のデータビット幅をＬビット、１つの構成要素のデータビット幅をＭビット（Ｌ，Ｍは正の整数）、元の（従前の）ＬＵＴの任意アドレスに格納されているデータサイズをＹビット（Ｙは正の整数）、画像属性に応じた選択データ構成要素数をＺ（Ｚは２以上の正の整数）、選択データ構成要素数（Ｚ）を所定数ｎのグループに分割（Ｚ＝ｚ１＋ｚ２＋…＋ｚｎ；ｚｊは正の整数）することとすれば、各グループのＬＵＴ格子点のデータビット幅ＬやＬｊ（単位はビット）は、以下の式（４）で示すことができる。
【数４】
2004208128.tif 000006
【０１２０】
Ｚｊ＝Ｚであれば、全てを纏めることを意味し、１グループのみとなる。なお、従前の例から分かるように、通常は、１つの構成要素のデータビット幅ＭとＬＵＴのデータサイズＹとは等しい。
【０１２１】
また式（４）を満足する限り、図１１（Ｂ）や図１１（Ｃ）に示すように、複数のグループに分けて纏めることもできる。また、図１１（Ｃ）に示すように、纏め方によっては、１構成要素のデータビット幅そのもので格納されるグループができる。
【０１２２】
図１１（Ａ）〜図１１（Ｃ）に示すように、複数の画像属性を纏めるデータ合成の手法には種々の手法があるが、これらは、出力色構成要素のそれぞれについて、同じデータ合成の手法を採用することが好ましい。ただし、出力色構成要素に応じて、データ合成の手法を変えることを排除するものではない。たとえば、出力色Ｙ，Ｍ，Ｃについては図１１（Ａ）の手法を採用しつつ、出力色Ｋについては図１１（Ｂ）の手法を採用するなどである。
【０１２３】
なお、複数のグループに分けるということから、この場合、選択データ構成要素数Ｚが３以上であることが前提となる。纏めるからには、選択データ構成要素数Ｚが複数（２以上）でなければならず、Ｚ＝２の場合、これを纏めると１つのグループしかできなからである。
【０１２４】
この第２例は、第１例とは異なり、ある色軸（たとえばＬａｂ空間の各軸）のデータを同一軸上で異なるデータ値に変換するための１次元ＬＵＴを用いる処理、すなわち入力構成要素数が１のものにも適用可能である。画像属性に応じて１次元ＬＵＴの変換特性を切り替えるということが存在するからである。
【０１２５】
入力構成要素数が“２”、“３”、あるいは“４”である例については、第１例の場合と同様である。色空間の具体例についても第１例の場合と同様であるので、その説明は割愛する。
【０１２６】
図１２は、図１１に示した第２例の合成手法を適用したデータ構造を持つＬＵＴを使用する場合における、第２実施形態のデータ変換装置１の基本的な構成例を示す図である。図３に示した第１実施形態の構成との違いは、データ格納部２におけるメモリデータ構造と、データ分離部１６の機能である。以下、相違点について説明する。
【０１２７】
第２実施形態のデータ格納部２は、図１１にて説明したように、複数の画像属性に対応した選択データ構成要素について所定の基準に従ってグループ化され、そのグループ内の同一アドレスの複数の基礎データが１つの合成データに纏められて格納されることで、ルックアップテーブルＬＵＴを構成する。たとえば、全ての選択データ構成要素を纏めて１グループとする場合、補間演算に必要となるＬＵＴの格子点数（頂点数）Ｔ×出力色構成要素数Ｘと等しい数Ｔ×Ｘの分だけの参照用メモリ２S1T1，２S1T2，…，２S1Tt，２S2T1，２S2T2，…，２S2Tt，２SxT1，２S1T2，…，２SxTtを使用する。たとえば、ＲＧＢ入力色データをテトラ・ハイドラ補間演算によりＹＭＣＫ出力色データに変換する場合、Ｔ＝４，Ｘ＝４であるから１６個のメモリを使用する。各参照用メモリ２T1，２T2，…，２Ttには、画像属性Z1〜Zzについての格子点データが合成されて格納される。
【０１２８】
これらメモリ２S1T1，２S1T2，…，２SxTtは、１つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。
【０１２９】
演算処理部４は、信号処理系統として、出力系の色成分S1，S2，…，Sxのそれぞれに対応するように、S1信号生成部４S1，S2信号生成部４S2，…，Sx信号生成部４Sxを含む。また、演算処理部４は、データ格納部２に格納されている合成データを、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性（選択データ構成要素）ごとのデータに分離するデータ分離部１６を備えている。ここで、第２実施形態のデータ分離部１６は、補間演算に必要となるＬＵＴの格子点T1，T2，…，Tt並びに出力色S1，S2，…，Sxに対応して、個別回路が内部に設けられる。
【０１３０】
演算処理部４は先ず、データ格納部２内のメモリ２S1T1，２S1T2，…，２S1Tt，２S2T1，２S2T2，…，２S2Tt，２SxT1，２S1T2，…，２SxTtの任意のアドレスから、各出力色構成要素の格子点データであって複数の画像属性について合成されたＬビットもしくはＬｊビットの合成データを読み出す。データ分離部１６は、予め定められているデータ合成手法を参照して、読み出された合成データの中から、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性ごとの格子点データに分離し、処理対象の画像属性に応じた格子点データを選択する。個々の画像属性ごとに纏まった形式で合成データが用意されているので、データ分離・選択処理が簡易である。色成分S1，S2，…，Sxごとに設けられた信号生成部４S1〜４Sxは、分離・選択された格子点データを用いて補完演算を行なうことで、色成分S1，S2，…，Sxごとに出力データを生成する。
【０１３１】
なお、第２実施形態のデータ変換装置１における色データの変換に関する処理手順は、データ分離部１６におけるデータ分離処理が画像属性に応じた分離・選択の処理となる点を除いて、第１実施形態の処理手順と同様である。処理手順を示したフローチャートは、図示を割愛する。
【０１３２】
第２実施形態の構成によれば、前述のように、データ格納部２内のメモリ２S1T1，２S1T2，…，２S1Tt，２S2T1，２S2T2，…，２S2Tt，２SxT1，２S1T2，…，２SxTtの各頂点のアドレス位置には、複数の画像属性の格子点データが１つの合成データとして纏められて保持される。つまり、出力文書中の構成要素（画像オブジェクト）ごとに異なった色変換を行なうために、１つの画像属性に応じただけのメモリの使用個数（補間演算に必要となるＬＵＴの格子点数（頂点数）Ｔ×出力色構成要素数Ｘ）に維持しつつ、データビット幅を広くすることで全容量を維持する。このような構成によれば、出力文書中の画像オブジェクトごとに異なった色変換を行なうために全メモリ容量が増加する場合であっても、画像オブジェクトごとにメモリを個別に使用する場合よりも、特定用途向け半導体内に構成されるメモリとしてはその占有面積が格段に小さくなり、コスト面での経済的効果は絶大である。
【０１３３】
＜＜メモリデータの第３の構成例と対応回路＞＞
図１３は、メモリデータ構造の第３例を説明する図である。この第３例は、第１例と第２例とを組み合わせたものである。
【０１３４】
この第３例のデータ構造は、先ず第１例と同様に、補間演算に必要となるデータをある単位時間内に同時に抽出できるように、補間演算に必要となるＬＵＴの格子点数（頂点数）と等しい数（Ｔ個；テトラ・ハイドラ補間の場合は４個）のメモリで構成する。
【０１３５】
一方、新たに構成するＬＵＴの各格子点のアドレス位置には、４つの出力色および３つの画像属性に対応した例を示す図１３のように、出力色構成要素（本例ではＹ，Ｍ，Ｃ，Ｋ）のうちの一部もしくは全てのデータを纏めるとともに、複数の画像属性のうちの一部もしくは全てのデータを纏めて（合成して）格納する。図１３（Ａ）に示すように、複数の出力色構成要素並びに複数の画像属性の全てについて纏めた方が、図１３（Ｂ）に示すように一部だけを纏めるよりも、ビット幅が広がるのはいうまでもない。
【０１３６】
ここで、合成される任意の格子点のデータビット幅をＫビット、１つの構成要素のデータビット幅をＭビット（Ｌ，Ｍは正の整数）、元の（従前の）ＬＵＴの任意アドレスに格納されているデータサイズをＹビット（Ｙは正の整数）、出力色の構成要素数をＸ（Ｘは２以上の正の整数）、出力色構成要素（Ｘ）を所定数ｎのグループに分割（Ｘ＝ｘ１＋ｘ２＋…＋ｘｎ；ｘｉは正の整数）し、また画像属性に応じた選択データ構成要素数をＺ（Ｚは２以上の正の整数）、選択データ構成要素数（Ｚ）を所定数ｎのグループに分割（Ｚ＝ｚ１＋ｚ２＋…＋ｚｎ；ｚｊは正の整数）することとすれば、各グループのＬＵＴ格子点のデータビット幅Ｋ，Ｋｉ，Ｋｊ，Ｋｉｊ（単位はビット）は、以下の式（５）で示すことができる。
【数５】
2004208128.tif 000007
【０１３７】
ｘｉ＝ＸかつＺｊ＝Ｚであれば、全てを纏めることを意味し、１グループのみとなる。Ｘｉ＝ＸかつＺｊ≠Ｚのときは、出力色構成要素については１グループのみとなる。Ｘｉ≠ＺかつＺｊ＝Ｚのときは、画像属性については１グループのみとなる。
【０１３８】
また第１例や第２例で述べたと同様に、式（５）を満足する限り、出力構成要素および画像属性（選択データ構成要素）の少なくとも一方について複数のグループに分けて纏めることもできる。なお、複数のグループに分けるということから、この場合、出力構成要素数Ｘおよび選択データ構成要素数Ｚの少なくとも一方が３以上であることが前提となる。纏めるからには、出力構成要素数Ｘあるいは選択データ構成要素数Ｚが複数（２以上）でなければならず、Ｘ＝２あるいはＺ＝２の場合、これを纏めると１つのグループしかできなからである。
【０１３９】
なお、この第３例は、第２例とは異なり、入力構成要素数が“２”以上のものに限定される。第１例と組み合わせたものであるからである。入力構成要素数が“３”、あるいは“４”である例については、第１例の場合と同様である。色空間の具体例についても第１例の場合と同様であるので、その説明は割愛する。
【０１４０】
図１４は、図１３に示した第３例の合成手法を適用したデータ構造を持つＬＵＴを使用する場合における、第３実施形態のデータ変換装置１の基本的な構成例を示す図である。図３に示した第１実施形態あるいは図１２に示した第２実施形態の構成との違いは、データ格納部２におけるメモリデータ構造と、データ分離部１６の機能である。以下、相違点について説明する。
【０１４１】
第３実施形態のデータ格納部２は、図１３にて説明したように、複数の出力色構成要素並びに複数の画像属性に対応した選択データ構成要素について所定の基準に従ってグループ化され、そのグループ内の同一アドレスの複数の基礎データが１つの合成データに纏められて格納されることで、ルックアップテーブルＬＵＴを構成する。たとえば、全ての出力色構成要素並びに全ての選択データ構成要素を纏めて１グループとする場合、第１例と同様に、補間演算に必要となる格子点データ数Ｔの分だけの参照用メモリ２T1，２T2，…，２Ttを使用する。各参照用メモリ２T1，２T2，…，２Ttには、画像属性Z1〜Zz並びに出力色S1〜Sxについての格子点データが合成されて格納される。
【０１４２】
これらメモリ２T1，２T2，…，２Ttは、１つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。
【０１４３】
演算処理部４は、信号処理系統として、出力系の色成分S1，S2，…，Sxのそれぞれに対応するように、S1信号生成部４S1，S2信号生成部４S2，…，Sx信号生成部４Sxを含む。また、演算処理部４は、データ格納部２に格納されている合成データを、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性（選択データ構成要素）ごとのデータに分離するとともに出力構成要素ごとのデータに分離するデータ分離部１６を備えている。ここで、第３実施形態のデータ分離部１６は、出力色S1，S2，…，Sxに対応して、個別回路が内部に設けられる。
【０１４４】
演算処理部４は先ず、データ格納部２内のメモリ２T1，２T2，…，２Ttの任意のアドレスから、各出力色構成要素の格子点データであって複数の出力色構成要素並びに複数の画像属性について合成されたＫビットもしくはＫｉビットの合成データを読み出す。データ分離部１６は、予め定められているデータ合成手法を参照して、読み出された合成データの中から、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性ごとの格子点データに分離し処理対象の画像属性に応じた格子点データを選択するとともに出力色構成要素ごとの格子点データに分離する。個々の出力色および画像属性ごとに纏まった形式で合成データが用意されているので、データ分離・選択処理が簡易である。なお、処理対象の画像属性に応じた格子点データの選択処理（画像属性選択処理）と出力色構成要素ごとの格子点データへの分離処理（出力色分離処理）とは、その順序を問わない。
【０１４５】
色成分S1，S2，…，Sxごとに設けられた信号生成部４S1〜４Sxは、出力色構成要素ごとに分離された格子点データを用いて補完演算を行なうことで、色成分S1，S2，…，Sxごとに出力データを生成する。
【０１４６】
なお、第３実施形態のデータ変換装置１における色データの変換に関する処理手順は、データ分離部１６におけるデータ分離処理として画像属性に応じた分離・選択の処理が追加される点を除いて、第１実施形態の処理手順と同様である。処理手順を示したフローチャートは、図示を割愛する。
【０１４７】
図１５は、第３実施形態のデータ変換装置１において、ＲＧＢ入力からＹＭＣＫ出力への多次元ＬＵＴを用いた色変換を行なう場合のデータ構造の具体例を示す図である。２つの画像属性並びに４つの出力色ＹＭＣＫの事例で示す。図１８に示した従来例との比較のため、元の（従前の）ＬＵＴへの格納データ数を１７データ×１７データ×１７データ（４９１３個の格子点アドレスが必要）と規定する。
【０１４８】
ここで、前述のように、演算処理部４は、テトラ・ハイドラ補間演算を行なうものとする。この場合、メモリ（データ格納部２）は、テトラ・ハイドラ補間演算に必要となる４つの頂点のデータをある単位時間内に同時に抽出できるように、４つの頂点用の４個のメモリ（ＲＡＭ０〜ＲＡＭ３）で構成される。
【０１４９】
各頂点のアドレス位置には、２つの画像属性並びにＹＭＣＫ４色分の格子点データが１つの合成データとして纏められて保持される。ここでは、ＲＧＢ入力データが８ビットであり、２つの画像属性並びＹＭＣＫ４色分が纏められることで、１ワードとしては、８ビット×２×４色＝６４ビットの状態で格納される。つまり、出力文書中の構成要素（画像オブジェクト）ごとに異なった色変換を行なうために、補間演算に必要となるＬＵＴの格子点数（頂点数）Ｔに維持しつつ、データビット幅を広くすることで全容量を維持する。このような構成によれば、画像属性並びに出力色ごとにメモリを個別に使用する場合よりも、特定用途向け半導体内に構成されるメモリとしてはその占有面積が格段に小さくなり、コスト面での経済的効果は絶大である。
【０１５０】
図１６は、第３実施形態のデータ変換装置１の具体的な構成を示すブロック図である。この図１６に示すデータ変換装置１の構成は、Ｒ，Ｇ，Ｂの３次元入力の場合における図５に示したメモリ構成を適用した具体的な回路構成である。ここでも、入力デジタル色分解信号の構成要素がＲ，Ｇ，Ｂであり、それぞれ８ビットのデータであるとする。
【０１５１】
第３実施形態のデータ変換装置１は、アドレス生成部１０、４面体判定部１４、補間係数生成部２０、および出力色データ決定部２２の機能が、図６に示した第１実施形態のデータ変換装置１と同様である。一方、データ分離部１６の構成が第１実施形態のデータ変換装置１と異なる。
【０１５２】
具体的には、第３実施形態のデータ分離部１６は、全画像属性並びに全出力色について纏められた合成データを各出力色成分に分離するものであり、先ず４つの頂点用のメモリ２T1〜２T4に対応するように、第１データ選択部１７T1、第２データ選択部１７T2、第３データ選択部１７T3、および第４データ選択部１７T4と、第１出力色データ分離部１６T1、第２出力色データ分離部１６T2、第３出力色データ分離部１６T3、および第４出力色データ分離部１６T4とを備える。
【０１５３】
データ分離部１６の各データ選択部１７T1〜１７T4は、メモリ２T1〜２T4から出力された合成データの中から、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性ごとの格子点データに分離し処理対象の画像属性に応じた格子点データを選択して、対応する出力色データ分離部１６T1〜１６T4に入力する。各出力色データ分離部１６T1〜１６T4は、出力色Ｙ，Ｍ，Ｃ，Ｋの単位データ、すなわち８ビット単位の補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４に分離する。データ分離部１６は、分離した各出力色についての補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４を、対応する補間処理部２２Ｙ〜２２Ｋに入力する。
【０１５４】
なお、図１４にて説明したように、画像属性選択処理と出力色分離処理とは順序を問わないので、各データ選択部１７T1〜１７T4と各出力色データ分離部１６T1〜１６T4との配列順を逆にしてもよい。
【０１５５】
第１実施形態のデータ変換装置１においては、入力値に対応するＬＵＴ内の近傍データは各頂点において１つであり、補間演算されて出力されるデータは１つの入力に対して１対１に定まるものであった。しかし、プリンタなどのハードコピー出力装置はその出力文書中の構成要素（たとえば、テキスト、コンピュータ・グラフィックス画像、写真画像など）ごとに異なった色変換を行なうことが望まれる。つまり、各頂点のデータとして複数のデータが必要となるということである。ある頂点のデータのうちどのデータを適用して後段の補間演算を行なうかは、たとえば入力の画像データに付加データ（タグ；ｔａｇ）を付加することで実現する。
【０１５６】
アドレス生成部１０によりアドレスされたデータ格納部２内の各メモリ２T1〜２T4は、Ｙ成分の２つのデータ（Ｙ０，Ｙ１）、Ｍ成分の２つのデータ（Ｍ０，Ｍ１）、Ｃ成分の２つのデータ（Ｃ０，Ｃ１）、Ｋ成分の２つのデータ（Ｋ０，Ｋ１）の合計８つのデータを一塊りの合成データとして出力する。ここで、ビット幅は、元のＬＵＴ格子点データが８ビットなので、６４ビットである。
【０１５７】
入力ＲＧＢのデータは、１画素ごとに、前述した文書中の構成要素を示すタグデータを持つ。ここでは１ビットのデータであるとする。タグデータは各データ選択部１７T1〜１７T4に入力される。タグデータが“０”である場合、各データ選択部１７T1〜１７T4は、６４ビットの合成データの中から、第１の画像属性の格子点データＹ０，Ｍ０，Ｃ０，Ｋ０を纏めた上位３２ビット部分のデータを分離・選択して、対応する出力色データ分離部１６T1〜１６T4に渡す。
【０１５８】
一方、タグデータが“１”である場合、各データ選択部１７T1〜１７T4は、６４ビットの合成データの中から、第２の画像属性の格子点データＹ１，Ｍ１，Ｃ１，Ｋ１を纏めた下位位３２ビット部分のデータを分離・選択して、対応する出力色データ分離部１６T1〜１６T4に渡す。各出力色データ分離部１６T1〜１６T4は、出力色Ｙ，Ｍ，Ｃ，Ｋの補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４に分離し、分離した各出力色についての補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４を、対応する補間処理部２２Ｙ〜２２Ｋに入力する。
【０１５９】
補間処理部２２Ｙ〜２２Ｋには、補間係数生成部２０から補間係数Ｗ１，Ｗ２，Ｗ３，Ｗ４が共通に入力される。補間係数Ｗ１，Ｗ２，Ｗ３，Ｗ４は入力点が包含される４面体ごとに定まるのでタグデータの状態には影響を受けない。補間処理部２２Ｙ〜２２Ｋのそれぞれは、第１実施形態と同様に、補間係数Ｗ１，Ｗ２，Ｗ３，Ｗ４と対応する補間対象データＤ１，Ｄ２，Ｄ３，Ｄ４とを使用して、テトラ・ハイドラ法による補間演算処理を行なうことで、対応する出力色のデータを生成する。
【０１６０】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１６１】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０１６２】
たとえば、上記各実施形態では、データ分離処理を簡易にするために、個々の出力色あるいは画像属性ごとに纏まった形式で合成データを用意しておいたが、元の格子点データを各出力色や各画像属性に関わらずバラバラにして合成してもかまわない。データ変換処理時には、その合成手法を参照して元の格子点データを抽出すればよい。
【０１６３】
また、上述した実施形態では、画像属性や出力色の観点から複数の格子点データを合成した合成データを使用することとしていたが、これらに限らず、他の観点から取り決めた基準に従って複数の格子点データを合成した合成データを使用しても構わない。
【０１６４】
なお、本願出願人は、特願２００２−２７３９７６号にて、補間演算に必要となる格子点数（補間演算所用データ数）よりも少ない数のメモリ資源で色データ変換を実現する技術を提案している。元のルックアップテーブルの各格子点データを所定の基準に従って合成することで得られる合成データを新たなルックアップテーブルの格子点データとして格納する上述した本実施形態の手法を、この特願２００２−２７３９７６号に記載の技術における格子点データに適用することもできる。
【０１６５】
特願２００２−２７３９７６号に記載の技術は、多面体内での補間演算を行なう際に、補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能なメモリ空間を使用し、そのメモリ空間のそれぞれについて、ｋ色の入力色信号要素で規定されるｋ次元格子空間の各格子点に対応づけられた格子点データに対応する基礎データを、所定の手順に従って１つのアドレスに複数の基礎アドレスが割り当てられるように対応付けて（パッキングして）格納し、同一アドレスに割り当てられた複数の基礎データの中から、処理対象の画素データに対応する補間演算所用データ数分の基礎データを抽出して、多面体内での補間演算を行なうというものである。
【０１６６】
特願２００２−２７３９７６号に記載の技術に、上述した実施形態を適用すれば、メモリサイズを低減することができることに加えて、補間演算所用データ数（４点補間の場合は４つ）未満という少ないメモリ資源で色データ変換を実現することができ、また消費電力や放射ノイズを低減することもできる。
【０１６７】
【発明の効果】
以上の説明から明らかなように、本発明においては、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データを新たなルックアップテーブルの格子点データとして格納しておく。合成データは、複数分を合成した分だけビット幅が広がる。
【０１６８】
データのビット幅を広げると、同メモリ容量であっても、データを格納するメモリのゲート規模（メモリサイズ）が小さくなる。よって、ビット幅の広い合成データとしてメモリ（データ格納部）に格納することで、チップサイズのより小さなメモリを使用することができ、メモリコストを低減することができる。
【図面の簡単な説明】
【図１】特定用途向け半導体内に構成される記憶手段の一例であるメモリの容量と、メモリが占める面積（以下ゲート（gate）規模という）の関係を説明する図である。
【図２】色データを変換する際に使用されるＬＵＴに格納するデータの構造（メモリデータ構造）の第１例を説明する図である。
【図３】第１例の合成手法を適用した第１実施形態のデータ変換装置の基本的な構成例を示す図である。
【図４】第１実施形態のデータ変換装置における色データの変換に関する処理手順の概要を示したフローチャートである。
【図５】第１実施形態のデータ変換装置におけるデータ構造の具体例を示す図である。
【図６】第１実施形態のデータ変換装置の具体的な構成を示すブロック図である。
【図７】演算処理部における単位立方体判定処理（図４のステップＳ１００〜Ｓ１０２）を説明する図である。
【図８】演算処理部における４面体判定処理（図４のステップＳ１０４〜Ｓ１０６）を説明する図である。
【図９】基点Ｐ２１と４面体判定部による判定結果に基づく４頂点の座標位置との関係を示す図である。
【図１０】演算処理部における出力値算出処理（図４のステップＳ１０８）の補間係数算出処理（Ｓ１０２ｃ）と補間演算処理（Ｓ１０２ｄ）を説明する図である。
【図１１】メモリデータ構造の第２例を説明する図である。
【図１２】第２例の合成手法を適用した第２実施形態のデータ変換装置の基本的な構成例を示す図である。
【図１３】メモリデータ構造の第３例を説明する図である。
【図１４】第３例の合成手法を適用した第３実施形態のデータ変換装置の基本的な構成例を示す図である。
【図１５】第３実施形態のデータ変換装置におけるデータ構造の具体例を示す図である。
【図１６】第３実施形態のデータ変換装置の具体的な構成を示すブロック図である。
【図１７】テトラ・ハイドラ補間を利用して、ＲＧＢ入力からＹＭＣＫ出力への色変換を行なう従来のデータ変換装置の構成例を示す図である。
【図１８】図１７に示すデータ変換装置におけるデータ格納部に使用される各頂点データの参照用メモリのデータ構成例を示す図である。
【符号の説明】
１…データ変換装置、２…データ格納部、４…演算処理部、６…アドレスバス、８…データバス、１０…アドレス生成部、１４…４面体判定部、１６…データ分離部、２０…補間係数生成部、２２…出力色データ決定部、２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋ…補間処理部
【図１】
2004208128.tif 000008
【図２】
2004208128.tif 000009
【図３】
2004208128.tif 000010
【図４】
2004208128.tif 000011
【図５】
2004208128.tif 000012
【図６】
2004208128.tif 000013
【図７】
2004208128.tif 000014
【図８】
2004208128.tif 000015
【図９】
2004208128.tif 000016
【図１０】
2004208128.tif 000017
【図１１】
2004208128.tif 000018
【図１２】
2004208128.tif 000019
【図１３】
2004208128.tif 000020
【図１４】
2004208128.tif 000021
【図１５】
2004208128.tif 000022
【図１６】
2004208128.tif 000023
【図１７】
2004208128.tif 000024
【図１８】
2004208128.tif 000025