(57)【特許請求の範囲】
【請求項１】
補間演算を用いてデータ変換を行うデータ変換装置において、
ｋ個の成分データで構成されるデータを入力する入力手段と、
ｋ個の成分データに基づいて定まるｋ次元超立方格子空間の２のｋ乗個の格子点が形成するｋ次元超立方体の各格子点に対応づけられた格子点データ、および前記ｋ次元超立方体における、前記格子点とは別に定められる大略中心点に対応づけられた中心点データを格納する格納手段と、
前記入力したｋ個の成分データの上位ｎビットに基づき前記格納手段を参照することにより、２のｋ乗個の格子点データおよび中心点データを読み出す読み出し手段と、
前記読み出された２のｋ乗個の格子点データに対し、前記入力したｋ個の成分データの下位ｍビットによって定まる補間係数を用いて補間演算を行う補間演算手段と、
前記読み出された２のｋ乗個の格子点データおよび中心点データと、前記入力したｋ個の成分データの下位ｍビットとを用いて補正値を求める補正値演算手段と、
前記補間演算手段から出力される補間結果に、前記補正値演算手段から出力される補正値を加算する加算手段と、
を具えたことを特徴とするデータ変換装置。
【請求項２】
前記補間係数は、前記ｋ個の成分データ各々の所定の下位ビットデータの大小関係に基づいて定まることを特徴とする請求項１に記載のデータ変換装置。
【請求項３】
前記中心点データとして格納されるデータは、当該中心点の変換データとして出力されるべきデータであることを特徴とする請求項１または２に記載のデータ変換装置。
【請求項４】
前記中心点データとして格納されるデータは、該中心点の変換データとして出力されるべきデータを整数倍した後、前記格子点データの一部あるいは全てを減算して得られるデータであることを特徴とする請求項１または２に記載のデータ変換装置。
【請求項５】
前記格納手段は、複数のルックアップテーブルまたは単一のメモリであることを特徴とする請求項１ないし４のいずれかに記載のデータ変換装置。
【請求項６】
補間演算を用いてデータ変換を行うデータ変換方法において、
ｋ個の成分データで構成されるデータを入力し、
ｋ個の成分データに基づいて定まるｋ次元超立方格子空間の２のｋ乗個の格子点が形成するｋ次元超立方体の各格子点に対応づけられた格子点データ、および前記ｋ次元超立方体における、前記格子点とは別に定められる大略中心点に対応づけられた中心点データを格納手段に格納し、
前記入力したｋ個の成分データの上位ｎビットに基づき前記格納手段を参照することにより、２のｋ乗個の格子点データおよび中心点データを読み出し、
前記読み出された２のｋ乗個の格子点データに対し、前記入力したｋ個の成分データの下位ｍビットによって定まる補間係数を用いて補間演算を行い、
前記読み出された２のｋ乗個の格子点データおよび中心点データと、前記入力したｋ個の成分データの下位ｍビットとを用いて補正値を求め、
前記補間演算による補間結果に、前記求められる補正値を加算する、
ステップを有したことを特徴とするデータ変換方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ルックアップテーブル（以下、ＬＵＴと言う）を用いた補間演算処理により、複数（多次元）の信号を、別の信号に変換するデータ変換装置に関し、特にＲ（赤），Ｇ（緑），Ｂ（青）の多次元画像信号をＹ（イエロー），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（黒）それぞれ１つの色信号に変換するデータ変換装置に関するものである。
【０００２】
【従来の技術】
ディジタル化された画像信号の非線形変換（ガンマ変換やｌｏｇ変換）は、一般にＬＵＴを用いて行われることが多い。これは、上記のような非線形変換を演算回路で行うものとすると、その演算回路が大変複雑になり、回路規模が大きくなるからであり、これに対して、８ビットからなる１つのビデオ信号に任意の非線形変換を行う処理をＬＵＴを用いて行う場合には、２５６バイトの容量のメモリがあればその処理が実現可能である。ところで、上述のような変換は１つの画像信号を別の性質の他の１つの画像信号に変換するものであるため、そこで使用されるＬＵＴは１次元ＬＵＴと呼ばれる。
【０００３】
一方、最近のデスクトップパブリッシング（以下、ＤＴＰと略す）環境の著しい進歩に伴い、カラー画像を扱う機会が増しつつあり、この場合において、カラー画像を入力するための機器は、スキャナ、ビデオカメラ等が主であり、また、出力機器はインクジェット方式、染料熱昇華型方式あるいは電子写真等の各種カラープリンタである。
【０００４】
これらのカラー入出力機器は、それぞれ固有の色空間を有しており、あるスキャナから得たカラー画像データを、そのまま別のカラープリンタに転送して、画像を出力する場合、その画像の色がオリジナルの画像の色と一致することは殆どありえない。両者の色を一致させるには、いわゆる入力デバイス（スキャナやビデオカメラ等のこと）の色空間を、出力デバイス（前述の各種カラープリンタのこと）の色空間に変換するといった処理が必要になる（以下では、この処理を色空間変換処理と称す）。
【０００５】
このような色空間変換処理とは、入力デバイスによって得られる色（一般的には、Ｒ（赤），Ｂ（青），Ｇ（緑）の３色）の画像信号を出力デバイス側の３色あるいは４色それぞれの画像信号に変換するものであり、この変換に用いられるＬＵＴは３次元ＬＵＴと称される。
【０００６】
ところが、上述した入力デバイスの３色の画像信号を、出力デバイスの複数色中の１色に変換する処理を、３次元ＬＵＴだけを用いて行おうとすると、１色の画像信号が８ビットからなる場合、入力２４ビット、出力８ビットに対応したＬＵＴが必要となり、この場合、そのメモリ容量は１６Ｍ（メガ）バイトとなる。その上さらに、出力デバイスの色数分だけ上述のメモリが必要であるため、実際のメモリ容量は、４８〜６４Ｍバイトといった大容量となる。
【０００７】
このような場合、コスト的に実用的でないため、色変換処理においてＬＵＴを用いる場合は、補間演算処理を併用することによって用いるＬＵＴのメモリ容量を小さなものとするのが一般的である。
【０００８】
このような補間演算処理はＬＵＴから読出したデータ（以下では、格子点データとも言う）をいくつ用いるか、また、どのような関係の格子点データを用いるかによって、いくつかの方法に分類できる。一般的に、格子点データを多く用いる方法では補間精度は向上するが補間回路の規模が大きくなる。比較的回路規模が小さな補間方法として、例えば特公昭５８−１６１８０号公報に記載されている４点補間法が知られている。また、回路規模が大きくなるが、補間精度がよい補間方法として８点補間法がある。この８点補間法は、例えば特公昭５８−１６１８０号公報において、従来例として述べられている。
【０００９】
上述した２つの補間方法は、立方格子の各格子点に対応して存在する格子点データを用いて補間演算する場合に、それぞれ最も回路規模が小さい補間方法、すなわち最も少ない格子点データで補間する方法、および最も回路規模が大きい補間方法、すなわち最も多い格子点データで補間する方法に対応するものである。
【００１０】
上述のように、３次元立方格子の各格子点データを用いて補間演算する際の格子点データの個数は、最小で４個、最大で８個であるが、前述の輝度信号Ｒ，Ｇ，Ｂの３色をＹ，Ｍ，Ｃ，Ｋのそれぞれに変換する時、Ｙ，Ｍ，Ｃの場合は格子点データを多く用いる程、補間精度が向上する。しかし、Ｋに変換する場合は格子点データを多く用いると、いわゆる無彩色軸で分割される複数の領域にわたる格子点データを用いることにより、逆に補間精度が低下することもある。
【００１１】
この問題を、８点補間法におけるＹとＫの生成値を比較しつつ以下に説明する。
【００１２】
まず、変換されるべき３つの色信号（各信号ｎ＋ｍビット）をＸｉ＝Ｘｈ・２ｍ  ＋Ｘｆ，Ｙｉ＝Ｙｈ・２ｍ  ＋Ｙｆ，Ｚｉ＝Ｚｈ・２ｍ  ＋Ｚｆと表す。この時、Ｘｈ，Ｙｈ，Ｚｈは、色信号Ｘｉ，Ｙｉ，Ｚｉ各々の上位ｎビット信号を表し、Ｘｆ，Ｙｆ，Ｚｆは、色信号Ｘｉ，Ｙｉ，Ｚｉ各々の下位ｍビット信号を表す。
【００１３】
ＬＵＴには、Ｘｈ＝０，１，２，…，２ｎ  −１，Ｙｈ＝０，１，２，…，２ｎ  −１，Ｚｈ＝０，１，２，…，２ｎ  −１の全ての組み合わせ（２３ｎ通り）に対応して、格子点データが格納されており、各格子点データはＸｈ，Ｙｈ，Ｚｈを連結した３ｎビットのアドレス信号に基づいて読出される。この読出された格子点データをｄ（Ｘｈ，Ｙｈ，Ｚｈ）と表現する。
【００１４】
一方、色信号Ｘｉ，Ｙｉ，Ｚｉ各々の下位ｍビット、即ち信号Ｘｆ，Ｙｆ，Ｚｆは、上記読出された格子点データを用いて行う補間演算において重み付け係数として用いられる。これら下位ｍビット信号が全て“０”の場合は、格子点データｄ（Ｘｉ，Ｙｉ，Ｚｉ）が、そのまま変換データとなり、そうでない場合には、Ｘｆ，Ｙｆ，Ｚｆの値に応じて補間演算処理が行われ、変換されたデータとしての色信号Ｙ，Ｍ，Ｃ，Ｋがそれぞれ得られる。
【００１５】
変換前の色信号Ｘｉ，Ｙｉ，Ｚｉは、図１に示すように、上述のようにＸｆ，Ｙｆ，Ｚｆが全て“０”でない限り８つの格子点で形成される立方体の中に位置する。ここで、ｍ＝４，ｎ＝４ビット、Ｘｉ＝０１００  １０００，Ｙｉ＝０１００  １０００，Ｚｉ＝０１００  １０００とする。この場合、これらの入力データとしての色信号Ｘｉ，Ｙｉ，Ｚｉの立方体における位置は、その中心となる。また、この入力データをアドレスとして立方体を形成する８個の格子点の格子点データが読出され、それらをそれぞれ、ｄ（０１００，０１００，０１００）＝５６，ｄ（０１０１，０１００，０１００）＝６４，ｄ（０１００，０１０１，０１００）＝５６，ｄ（０１０１，０１０１，０１００）＝６４，ｄ（０１００，０１００，０１０１）＝５６，ｄ（０１０１，０１００，０１０１）＝６４，ｄ（０１００，０１０１，０１０１）＝５６，ｄ（０１０１，０１０１，０１０１）＝６４とする。
【００１６】
この時、補間演算によって得られるＹの生成値Ｙ１は、以下のようになる。すなわち、この時の補間演算は、上述のように入力データが立方体の中心に位置するから下位ビット信号はＸｆ＝Ｙｆ＝Ｚｆの関係にあって、これら信号から得られる重み付け係数は全てが等しくなり、以下のようにＹ１が得られる。
【００１７】
【数１】
Ｙ１＝（５６＋６４＋５６＋６４＋５６＋６４＋５６＋６４）／８＝６０
上記生成値である６０は、１つの対角線上に位置する格子点の格子点データｄ（Ｘｈ，Ｙｈ，Ｚｈ）＝ｄ（０１００，０１００，０１００）＝５６とｄ（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ＋１）＝ｄ（０１０１，０１０１，０１０１）＝６４の中間の値であり、図１に示す立方体における入力データの位置、すなわち立方体の中心位置から判断して最適な値であると言える。
【００１８】
一方、Ｋを生成する際の格子点データは、３色の入力データＸｉ，Ｙｉ，Ｚｉのうちの最小値に依存し、例えば以下に示すような格子点データが考えられる。
ｄ（０１００，０１００，０１００）＝５６，ｄ（０１０１，０１００，０１００）＝５６，ｄ（０１００，０１０１，０１００）＝５６，ｄ（０１０１，０１０１，０１００）＝５６，ｄ（０１００，０１００，０１０１）＝５６，ｄ（０１０１，０１００，０１０１）＝５６，ｄ（０１００，０１０１，０１０１）＝５６，ｄ（０１０１，０１０１，０１０１）＝６４
この時、上記と同様の補間演算によって得られるＫの生成値Ｋ１は、以下のようになる。
【００１９】
【数２】
Ｋ１＝（５６＋５６＋５６＋５６＋５６＋５６＋５６＋６４）／８＝５７
上述のように、入力データの立方体における位置から判断される最適な値は上記と同様６０であるべきところ、この生成値５７は、ほとんど格子点（０１００，０１００，０１００）の値ｄ＝５６に近く、これにより比較的大きな補間誤差が発生することが解る。
【００２０】
これに対し、特開昭５６−１４２３７号公報には、上述したＫの生成による誤差を考慮して５個の格子点データを用いる補間方法が提案されている（以下では、これを５点補間演算と称す）。以下に、その概略を示す。
【００２１】
補間空間としての立方体を以下の３つの平面で分割すると、３つの４角錐が形成され、各４角錐は５つの格子点を有する。
【００２２】
（平面１）  （Ｘｈ，Ｙｈ，Ｚｈ），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ＋１）の３点をとおる平面
（平面２）  （Ｘｈ，Ｙｈ，Ｚｈ），（Ｘｈ＋１，Ｙｈ，Ｚｈ＋１），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ＋１）の３点をとおる平面
（平面３）  （Ｘｈ，Ｙｈ，Ｚｈ），（Ｘｈ，Ｙｈ＋１，Ｚｈ＋１），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ＋１）の３点をとおる平面
変換されるべき入力データは、上記３面で分割される３つの４角錐のいずれか１つに属する（境界面は、該境界面を共有する２つの４角錐のどちらか一方に割り当てるものとする）。いずれの４角錐に属するかはＸｆ，Ｙｆ，Ｚｆの３つの値の大小関係で決まる。
【００２３】
例えば、Ｘｆ＞Ｙｆ，Ｚｆの場合、入力データは、図２に示す４角錐内に位置し、補間処理に用いる格子点データに対応する格子点の座標は（Ｘｈ，Ｙｈ，Ｚｈ），（Ｘｈ＋１，Ｙｈ，Ｚｈ），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ），（Ｘｈ＋１，Ｙｈ，Ｚｈ＋１），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ＋１）となる。これらの格子点に対応する格子点データをそれぞれＡ，Ｂ，Ｄ，Ｆ，Ｈとおき、変換後のデータをＫ１（Ｘｉ，Ｙｉ，Ｚｉ）と表すと、５点補間演算は以下に示す式に従って行われる。
【００２４】
【数３】
Ｋ１（ｘｉ，Ｙｉ，Ｚｉ）＝Ａ＋２−ｍ｛Ｘｆ（Ｂ−Ａ）＋Ｙｆ（Ｄ−Ｂ）＋Ｚｆ（Ｆ−Ｂ）＋ＹｆＺｆ（Ｂ−Ｄ−Ｆ＋Ｈ）／Ｘｆ｝    （１）
上記（１）式は前述した無彩色軸が直線ＡＨに一致する場合でも、無彩色軸によって分割される３つの領域の内の一つの領域の格子点データのみを用いて補間演算を行うものであるため、Ｋ生成時の誤差が小さくなる。（１）式の補間演算は、同式から理解できるように、５点補間演算では、５回の乗算および１回の除算さらに１０回の加減算が行われる。因みに、４点補間演算では３回の乗算と６回の加減算が、８点補間演算では７回の乗算と１４回の加減算がそれぞれ行われる。
【００２５】
【発明が解決しようとする課題】
しかしながら、上記５点補間演算はＫ生成時の補間誤差を小さくするけれども、以下に示す問題点がある。
【００２６】
第１に、上記（１）式に明らかなように演算処理に割り算が含まれているため、演算回路の規模が大きくなり、また、演算処理に時間を要する傾向がある。
【００２７】
第２にＫ生成上の誤差の問題は解消されるが、Ｍ，Ｃ，Ｙ，の生成においては、相対的に演算が複雑になるとともに、演算に用いる格子点データの数が５個であることから、その複雑さの程度に応じて補間精度がそれ程向上しない。
【００２８】
一方、従来の８点補間演算では、前述したように、Ｋ生成時に大きな補間誤差が発生することは不可避的に存在する問題である。
【００２９】
本発明は上記問題点を解消するためになされたものであり、その目的とするところは、補間回路の規模や複雑さを増すことなく、特にＫ生成時の補間精度を向上させることが可能なデータ変換装置およびデータ変換方法を提供することにある。
【００３０】
【課題を解決するための手段】
そのために本発明では、補間演算を用いてデータ変換を行うデータ変換装置において、ｋ個の成分データで構成されるデータを入力する入力手段と、ｋ個の成分データに基づいて定まるｋ次元超立方格子空間の２のｋ乗個の格子点が形成するｋ次元超立方体の各格子点に対応づけられた格子点データ、および前記ｋ次元超立方体における、前記格子点とは別に定められる大略中心点に対応づけられた中心点データを格納する格納手段と、前記入力したｋ個の成分データの上位ｎビットに基づき前記格納手段を参照することにより、２のｋ乗個の格子点データおよび中心点データを読み出す読み出し手段と、前記読み出された２のｋ乗個の格子点データに対し、前記入力したｋ個の成分データの下位ｍビットによって定まる補間係数を用いて補間演算を行う補間演算手段と、前記読み出された２のｋ乗個の格子点データおよび中心点データと、前記入力したｋ個の成分データの下位ｍビットとを用いて補正値を求める補正値演算手段と、前記補間演算手段から出力される補間結果に、前記補正値演算手段から出力される補正値を加算する加算手段と、を具えたことを特徴とする。
【００３１】
より好ましくは、前記補間係数は、前記ｋ個の入力データ各々の所定の下位ビットデータの大小関係に基づいて定まることを特徴とする。
【００３２】
さらに好ましくは、前記中心点データとして格納されるデータは、該中心点の変換データとして出力されるべきデータを整数倍した後、前記格子点データの一部あるいは全てを減算して得られるデータであることを特徴とする。
【００３３】
また、本発明では、補間演算を用いてデータ変換を行うデータ変換方法において、ｋ個の成分データで構成されるデータを入力し、ｋ個の成分データに基づいて定まるｋ次元超立方格子空間の２のｋ乗個の格子点が形成するｋ次元超立方体の各格子点に対応づけられた格子点データ、および前記ｋ次元超立方体における、前記格子点とは別に定められる大略中心点に対応づけられた中心点データを格納手段に格納し、前記入力したｋ個の成分データの上位ｎビットに基づき前記格納手段を参照することにより、２のｋ乗個の格子点データおよび中心点データを読み出し、前記読み出された２のｋ乗個の格子点データに対し、前記入力したｋ個の成分データの下位ｍビットによって定まる補間係数を用いて補間演算を行い、前記読み出された２のｋ乗個の格子点データおよび中心点データと、前記入力したｋ個の成分データの下位ｍビットとを用いて補正値を求め、前記補間演算による補間結果に、前記求められる補正値を加算する、ステップを有したことを特徴とする。
【００３４】
すなわち本発明では、例えば、
（１）  ３次元の体心立方格子状の格子点データ（変換後の色データ）を格納する格納手段と、変換前の色データを含む立方体中の９個の格子点データ（該９個の格子点データは立方体の頂点に位置する８個の格子点データと該立方体の中心に位置する格子点データとからなる）を全て用いて補間演算を行う補間演算手段を有する。
【００３５】
（２）  また、２次元の面心正方格子状の格子データ（変換後のデータ）を格納する格納手段と、変換前の入力データを含む正方形中の５個の格子点データ（該５個の格子点データは正方形の頂点に位置する４個の格子点データと該正方形の中心に位置する格子点データとからなる）を全て用いて補間演算を行う補間演算処理手段を有する。
【００３６】
（３）  さらに、前記体心立方格子状の格子点データの格納手段の内、立方体に中心に位置する格子点データを格納する手段は、該格子点データに対して施される加減算を予め施した値を格納し前述の（１）式と等価な補間演算処理を行う。
【００３７】
（４）  さらに、前記体心立方格子状の格子点データの内、立方体の頂点に位置する格子点データ間で行われる加減算を予め行った値を格納するための格納手段を設け、前述の（１）式と等価な補間演算処理を行う。
【００３８】
【作用】
以上の構成によれば、
（１）  例えば、体心立方格子状の９個の格子点データを用いて、精度のよい３次元補間処理が可能となる。特に、従来の技術で問題であった無彩色軸上のＫの生成において補間精度が大幅に向上する。また、補間演算において割り算を必要としない。
【００３９】
（２）  また、面心正方格子状の５個の格子点データを用いて、精度のよい２次元補間処理が可能となる。特に、正方格子の対角線上の補間精度が大きく向上する。
【００４０】
（３）  さらに、前述の（１）式と等価な演算を行う回路の規模を小さく出来る。
【００４１】
【実施例】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００４２】
本発明の実施例に係るデータ変換装置を説明する前に、本発明を適用した補間方法を以下で説明する。
【００４３】
＜３次元入力の場合＞
補間演算式を簡潔に表現するため、図３に示すように立方体の各頂点に位置する格子点の格子点データをＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈで、この立方体の中心点の格子点データをＴで表す。補間式は、３つの入力データＸｉ，Ｙｉ，Ｚｉ各々の下位ｍビットデータＸｆ，Ｙｆ，Ｚｆ間の大小関係によって６つの式に分かれる。以下にその６つの式（２）〜（７）を示す。なお、演算結果はＰｉ＝（ｉ＝１，２，３，４，５，６）とする。
【００４４】
【数４】
Ｘｆ≧Ｙｆ≧Ｚｆの場合
Ｐ１＝Ｐ０＋（２ｍ−Ｘｆ）Ｚｆ｛Ｙｆ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ＋Ｆ−Ｇ＋Ｈ）／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                          （２）
Ｘｆ≧Ｚｆ≧Ｙｆの場合
Ｐ２＝Ｐ０＋（２ｍ−Ｘｆ）Ｙｆ｛Ｚｆ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                （３）
Ｚｆ≧Ｘｆ≧Ｙｆの場合
Ｐ３＝Ｐ０＋（２ｍ−Ｚｆ）Ｙｆ｛Ｘｆ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                （４）
Ｚｆ≧Ｙｆ≧Ｘｆの場合
Ｐ４＝Ｐ０＋（２ｍ−Ｚｆ）Ｘｆ｛Ｙｆ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                （５）
Ｙｆ≧Ｚｆ≧Ｘｆの場合
Ｐ５＝Ｐ０＋（２ｍ−Ｙｆ）Ｘｆ｛Ｚｆ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                （６）
Ｙｆ≧Ｘｆ≧Ｚｆの場合
Ｐ６＝Ｐ０＋（２ｍ−Ｙｆ）Ｚｆ｛Ｘｆ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                （７）
なお、上記各式において、Ｐ０  は従来の３次元８点補間演算の結果に相当するものである。即ち、
【００４５】
【数５】
Ｐ０＝｛（２ｍ−Ｘｆ）（２ｍ−Ｙｆ）（２ｍ−Ｚｆ）Ａ＋Ｘｆ（２ｍ−Ｙｆ）（２ｍ−Ｚｆ）Ｂ＋（２ｍ−Ｘｆ）Ｙｆ（２ｍ−Ｚｆ）Ｃ＋ＸｆＹｆ（２ｍ−Ｚｆ）Ｄ＋（２ｍ−Ｘｆ）（２ｍ−Ｙｆ）ＺｆＥ＋Ｘｆ（２ｍ−Ｙｆ）ＺｆＦ＋（２ｍ−Ｘｆ）ＹｆＺｆＧ  ＋ＸｆＹｆＺｆＨ｝／２３ｍ                                              （８）
また、αは０以上１以下の定数であり、その値により３つの格子点（Ｘｈ，Ｙｈ，Ｚｈ），（Ｘｈ＋１／２，Ｙｈ＋１／２，Ｚｈ＋１／２），（Ｘｈ＋１，Ｙｈ＋１，Ｚｈ＋１）上での補間内容が変化する。すなわち、上記３つの格子点は図３から明らかなように直線上に配列しており、
α＝１の時、上記３つの格子点でそれぞれＡ，Ｔ，Ｈの値をとる２次補間となり、
α＝１／２の時、上記両端の格子点でＡ，Ｈの値をとる２時のベジェ補間となり、
α＝０の時、上記両端の格子点でＡ，Ｈの値をとる１次補間となる。
【００４６】
αがその他の値の時には、上記各補間内容の中間的な補間となる。
【００４７】
上記（２）〜（７）式で示す補間演算をＣＰＵやＤＳＰ等のソフトウェアで演算する場合には、Ｘｆ，Ｙｆ，Ｚｆの大小関係に応じて上記（２）〜（７）式を切り換えて使用するのは容易であるが、ハードウェアで演算する場合、補間演算式を切換えることについて困難性を伴うので、以下に示す統一した式で補間演算を行うことが好ましい。
【００４８】
【数６】
Ｐ８＝Ｐ０＋（２ｍ−ｍａｘ）ｍｉｎ｛ｍｅｄ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）  ／２ｍ＋２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ  ＋α（４Ｔ−２Ａ−２Ｈ）｝／２２ｍ                （９）
上記（９）式において、ｍａｘ，ｍｅｄ，ｍｉｎはそれぞれＸｆ，Ｙｆ，Ｚｆのうちそれぞれ最大値、中央値、最小値を示すものである。なお、上記（９）式をソフトウェアにより演算することも可能であることは勿論である。
【００４９】
ここで、上記（２）〜（７）式は、それらの式中にＸｆ，Ｙｆ，Ｚｆという項を含む式である。そのため、Ｘｆ，Ｙｆ，Ｚｆの大小関係が定まらないと、（２）〜（７）式の内のいずれの式を用いるべきかが定まらない。これに対し、上記統一した補間演算式（９）はＸｆ，Ｙｆ，Ｚｆの大小関係に依存せずに表現した式である。従って、Ｘｆ，Ｙｆ，Ｚｆの大小関係に依存せずに表現した式である。従って、Ｘｆ，Ｙｆ，Ｚｆの項は一切含まず、替わりに最大値（ｍａｘ）、中央値（ｍｅｄ）、最小値（ｍｉｎ）といった項に置き替えて、演算式を表現するものである。
【００５０】
実際の演算を行う際には、予めＸｆ，Ｙｆ，Ｚｆ間の大小関係を求め、それをｍａｘ，ｍｅｄ，ｍｉｎにそれぞれ代入して演算を行うので、結局（２）〜（７）式の内のどれか１つを演算していることになる。
【００５１】
＜２次元入力の場合＞
入力データはＸｉ，Ｙｉの２つであり、補間空間の２次元となる。即ち、前記３次元の立方体に対して、正方形が補間空間の最小単位となる。
【００５２】
図４に示すように、正方形の各頂点に対応する格子点の格子点データＡ，Ｂ，Ｃ，Ｄとし、この正方形の中心の格子点データをＴとする。このとき、補間式は、２つの入力データの下位ｍビットデータＸｆ，Ｙｆの大小関係により２つの場合に分けられる。以下にその２つの場合の式を示す。なお、演算結果はＰｉ（ｉ＝９，１０）とする。
【００５３】
【数７】
Ｘｆ≧Ｙｆの場合
Ｐ９＝｛（２ｍ−Ｘｆ）（２ｍ−Ｙｆ）Ａ＋Ｘｆ（２ｍ−Ｙｆ）Ｂ＋（２ｍ−Ｘｆ）ＹｆＣ＋ＸｆＹｆＤ｝／２２ｍ＋（２ｍ−Ｘｆ）Ｙｆ｛Ａ−Ｂ−Ｃ＋Ｄ  ＋α（４Ｔ−２Ａ−２Ｄ）｝／２２ｍ            （１０）
Ｙｆ≧Ｘｆの場合
Ｐ１０＝｛（２ｍ−Ｘｆ）（２ｍ−Ｙｆ）Ａ＋Ｘｆ（２ｍ−Ｙｆ）Ｂ＋（２ｍ−Ｘｆ）ＹｆＣ＋ＸｆＹｆＤ｝  ／２２ｍ＋（２ｍ−Ｙｆ）Ｘｆ｛Ａ−Ｂ−Ｃ＋Ｄ  ＋α（４Ｔ−２Ａ−２Ｄ）｝／２２ｍ            （１１）
Ｘｆ＝Ｙｆの場合は、上記（１０）または（１１）式のいずれかを用いても同じ結果となる。また、αの範囲とその意味は、前述した３次元の補間演算と同様である。
【００５４】
さらに、３次元の場合と同様、上記（１０）および（１１）式を次に示す（１２）式に統一することが出来る。
【００５５】
【数８】
Ｐ１１＝｛（２ｍ−Ｘｆ）（２ｍ−Ｙｆ）Ａ＋Ｘｆ（２ｍ−Ｙｆ）Ｂ＋（２ｍ−Ｘｆ）ＹｆＣ＋ＸｆＹｆＤ｝  ／２２ｍ＋（２ｍ−ｍａｘ）ｍｉｎ｛Ａ−Ｂ−Ｃ＋Ｄ  ＋α（４Ｔ−２Ａ−２Ｄ）｝／２２ｍ            （１２）
上式において、ｍａｘ，ｍｉｎはそれぞれＸｆ，Ｙｆのうちの最大値、最小値を示すものである。
【００５６】
なお、（１２）式において、１行目の演算は従来の２次元４点補間演算に相当し、２行目の演算は以下で説明する本発明を適用した演算を示す。
【００５７】
＜第１の実施例＞
図５は、本発明の第１の実施例に係るデータ変換装置の概略構成を示すブロック図である。
【００５８】
同図において、１０１は前述の演算式（２）〜（１２）等を演算する手段であるところのＣＰＵ（もしくはＤＳＰ）であり、１０２はその演算で用いる格子点データを保持する手段であるところのメモリである。１０３はＣＰＵ１０１から、格子点データを読出すために、メモリ１０２へ送るアドレス信号であり、１０４はこのメモリ１０２から読出された格子点データをＣＰＵへ送るためのデータバスである。データバス１０４は、データ変換前の２色または３色の入力データを不図示の外部装置から入力するためや変換後のデータを同一または別の外部装置へ出力するためにも用いられる。
【００５９】
図５に示す構成における３次元入力の場合のデータ変換について説明する。
【００６０】
まず、図３に示した３次元体心立方格子の各格子点データをメモリ１０２にロードする。但し、格子点データが不揮発性メモリであるＲＯＭやＮＶＲＡＭ等に保持されている場合は、このロード動作は必要ない。このロードは、立方体の頂点に対応する格子点データとその立方体の中心に対応する格子点データを２つに分け、それぞれ連続するアドレスとなるように行う。即ち、変換される３つの入力データの上位ｎビット信号Ｘｈ，Ｙｈ，Ｚｈを連結してできる３ｎビットの信号をＸｈ｜Ｙｈ｜Ｚｈとすると、前記立方体の原点側の頂点の格子点データは、（Ｘｈ｜Ｙｈ｜Ｚｈ＋オフセット１）というアドレスにより読出すことができ、その立方体の中心に位置する格子点データは、（Ｘｈ｜Ｙｈ｜Ｚｈ＋オフセット２）というアドレスにより読出すことが出来るように、メモリ１０２へのロードを行う。
【００６１】
次に、変換すべき入力データをデータバス１０４を介して不図示の外部装置からＣＰＵ１０１またはメモリ１０２に転送する。ここで１組（３色分）の入力データの転送とデータ変換を交互に行う場合には、ＣＰＵ１０１にデータを転送した方が効率がよいが、数十〜数百組の入力データについて転送とデータ変換を交互に行う場合には、これらの量のデータはＣＰＵ１０１内部のレジスタに格納できないのでメモリ１０２に転送する。但し、ＣＰＵ１０１がキャッシュメモリを内蔵する場合はそのキャッシュメモリに転送してもよい。入力データの転送先がＣＰＵ１０１内蔵のキャッシュメモリまたは外部メモリ１０２の場合、１組分の入力データをＣＰＵ１０１のレジスタに取り込み、その後補間演算処理を行う。
【００６２】
補間演算処理は以下の順序で行われる。
【００６３】
▲１▼  ３つの入力データを上位ｎビットと下位ｍビットに分離する。
【００６４】
▲２▼  ３つの上位ｎビットデータから８つの格子点アドレスを計算する。
【００６５】
▲３▼  ３つの下位ｎビッットデータから８つの格子点データに対する重み係数（乗算係数）とｍａｘ（最大値），ｍｅｄ（中央値），ｍｉｎ（最小値）を計算する。
【００６６】
▲４▼  上記８つの格子点アドレスにより８つの格子点データをメモリ１０２から逐次読出し、これらの格子点データに対応する重み係数を乗算しながら累積加算し、（９）式におけるＰ０  （その詳細は（８）式）を求める。
【００６７】
▲５▼  上記８つの格子点アドレスの１つを用いて（Ｘｈ｜Ｙｈ｜Ｚｈ＋オフセット２）を計算し、立方体の中心に位置する格子点データＴをメモリ１０２から読出す。
【００６８】
▲６▼  前記（９）式におけるＰ０  の項以外を演算し、それを上記で求めたＰ０  に加算して補間演算結果を求める。
【００６９】
演算結果は一旦メモリ１０２に蓄えられるか、データバス１０４を介して、プリンタ等の外部装置に転送される。メモリ１０２に蓄えられる場合は、一連の入力データに対する変換処理が終了した後に外部装置に変換結果を転送することもできる。
【００７０】
＜第２の実施例＞
図６は本発明の第２の実施例に係るデータ変換回路を示すブロック図である。本実施例は、３次元入力の場合の補間演算をリアルタイムで高速に行うものである。
【００７１】
図６において、２０１，２０２，２０３はそれぞれ３次元の入力データＸｉ，Ｙｉ，Ｚｉを入力する端子である。入力データＸｉ，Ｙｉ，Ｚｉは、それぞれ上位ｎビットデータのＸｈ，Ｙｈ，Ｚｈと下位ｍビットデータのＺｆ，Ｙｆ，Ｚｆとに分離され、上位ｎビットデータＸｈ，Ｙｈ，Ｚｈはアドレス生成部２０５に、下位ｍビットデータＸｆ，Ｙｆ，Ｚｆはソーティング部２０７および３次元８点補間演算部２０９にそれぞれ送られる。ここで、３次元入力データのビット数は８ビットとし、ｎ＝４，ｍ＝４とする。ソーティング部２０７は、Ｘｆ，Ｙｆ，Ｚｆ間の大小関係を判別しｍａｘ（最大値），ｍｅｄ（中央値），ｍｉｎ（最小値）を出力する。３次元８点補間演算部２０９は公知の８点補間演算を行い、前述の演算結果Ｐ０  を出力する。
【００７２】
２１１〜２１８は前記立方体の頂点である格子点の格子点データを保持するメモリ（ＬＵＴ）であり、２１９は前記立方体の中心の格子点データを保持するメモリである。以下の説明では、メモリ２１１〜２１８から読出されるデータを、それぞれＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈとし（図３参照）、メモリ２１９から読出されるデータをＴとする。また、メモリ２１９に与えるアドレスはメモリ２１１に与えるアドレスと同じである。
【００７３】
２２１は（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）を計算する演算部、２２３は（２Ａ＋Ｈ−Ｂ−Ｃ−Ｅ）を計算する演算部、２２５は（４Ｔ−２Ａ−２Ｈ）を計算する演算部である。２３１，２３３，２３５および２３７はそれぞれ乗算器、２４７は減算器、２４３および２４５は加算器、２５１および２５３はシフタ回路、２５５は変換データを出力する出力端子である。乗算器２３１には、演算部２２１の出力とソーティング部２０７のｍｅｄ（中央値）出力が入力され、これらの乗算結果であるｍｅｄ（−Ａ＋Ｂ＋Ｃ−Ｄ＋Ｅ−Ｆ−Ｇ＋Ｈ）が出力される。この出力値はシフタ回路２５１にて下位へ４ビットシフトされ加算器２４３へ送られる。
【００７４】
乗算器２３３には、演算部２２５の出力と係数αが入力され、これらの乗算結果であるα（４Ｔ−２Ａ−２Ｈ）が出力され、この出力値は加算器２４３へ送られる。一方、演算部２２３の出力はそのまま加算器２４３へ送られる。加算器２４３では、上記３つの入力を加算してその加算結果を乗算器２３７へ送る。
【００７５】
減算器２４７には、端子２５７を介して値“１６”が、ソーティング部２０７からｍａｘ（最大値）がそれぞれ入力され、その減算結果である（１６−ｍａｘ）が演算され乗算器２３５に送られる。乗算器２３５では前記値“１６−ｍａｘ”に、ソーティング部２０７から送られてくるｍｉｎ（最小値）を乗算し、この乗算結果（１６−ｍａｘ）ｍｉｎを乗算器２３７へ送る。乗算器２３７は加算器２４３から送られる加算結果に、上記乗算結果（１６−ｍａｘ）ｍｉｎを掛け合わせ、乗算結果をシフタ回路２５３に送る。シフタ回路２５３は、上記乗算結果を下位へ８ビットシフトし、シフト結果を加算器２４５へ送る。
【００７６】
一方、メモリ２１１〜２１８から読出した８個の格子点データは、３次元８点補間演算部２０９に送られ公知の８点補間演算処理が行われる。この演算結果Ｐ０  も加算器２４５に入力され、これら２つの演算結果は加算されて、出力端子２５５に出力される。
【００７７】
本実施例によれば、１サイクル毎に補間演算結果を得ることができ、高速なデータ変換処理が可能となる。
【００７８】
＜第３の実施例＞
図７は本発明の第３の実施例に係るデータ変換回路示すブロック図である。
【００７９】
本実施例は、前述の第２の実施例において０〜１の範囲で自由に設定可能なパラメータであったαを１に固定することにより、全体の回路規模を小さくしたものである。これにより、前述したように格子点データＡ，Ｔ，Ｈを結ぶ補間特性を２次補間となる。即ち、α＝１とすることにより、前述の（９）式は下記の（１３）式となる。
【００８０】
【数９】
Ｐ１２＝Ｐ０＋（２ｍ−ｍａｘ）ｍｉｎ｛ｍｅｄ（Ｂ＋Ｃ＋Ｅ＋Ｈ−Ａ−Ｄ−Ｆ−Ｇ）／２ｍ＋４Ｔ−（Ｂ＋Ｃ＋Ｅ＋Ｈ）｝／２２ｍ    （１３）
本実施例では、上記（１２）式に基づいて以下に示す回路によって補間演算を行う。
【００８１】
図７において、３０１は（Ｂ＋Ｃ＋Ｅ＋Ｈ）を、３０２は（Ａ＋Ｄ＋Ｆ＋Ｇ）をそれぞれ計算する演算部であり、３０５および３０７は減算器、３０９は加算器、３１１はシフタ回路である。その他の要素ブロックは、前述の第２の実施例における同一番号で示す要素ブロックと同じ機能を有する。
【００８２】
まず、Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈの８つの格子点データを、Ａ，Ｄ，Ｆ，ＧとＢ，Ｃ，Ｅ，Ｈの２つのグループに分け、それぞれの総和を演算部３０１および３０２で求める。一方、メモリ２１９から読出した格子点データＴはシフタ回路３１１にて上位へ２ビットシフトして値を４Ｔとされ、減算器３０７に入力される。
【００８３】
演算部３０１および３０２で求めたそれぞれの総和は減算器３０５に入力し、その差（Ｂ＋Ｃ＋Ｅ＋Ｈ−Ａ−Ｄ−Ｆ−Ｇ）が求められる。また演算部３０１で求めた総和は減算器３０７にも入力し、上記４Ｔとの差（４Ｔ−Ｂ−Ｃ−Ｅ−Ｈ）が求められる。
【００８４】
減算器３０５の出力は乗算器２３１に入力し、ｍｅｄ（中央値）が乗算された後、シフタ回路２５１に送られる。このシフタ回路２５１では、上記乗算結果が下位へ４ビットシフトされ、その結果は加算器３０９に送られる。加算器３０９には、そのシフト結果と演算部３０７の演算結果が入力され、これら２つの値が加算されてその加算結果は乗算器２３７に送られる。
【００８５】
乗算器２３７には、前述の第２の実施例と同様、別の乗算器２３５で演算された値（１６−ｍａｘ）ｍｉｎが入力されており、加算器３０９の加算結果に（１６−ｍａｘ）ｍｉｎが掛け合わせられ、その結果はシフタ回路２５３に送られる。シフタ回路２５３は、その乗算結果を下位へ８ビットシフトし、シフト結果を加算器２４５へ送る。
【００８６】
一方、メモリ２１１〜２１８から読出した８個の格子点データは、３次元８点補間演算部２０９に送られ公知の８点補間演算処理が行われる。そして、その演算結果も加算器２４５に送られる。加算器２４５に入力された上記２つの演算結果は加算されて、その加算結果は出力端子２５５に出力される。
【００８７】
上述した本実施例によれば、αを１に固定することにより、前述の第２の実施例の演算回路から冗長部分を取り除き回路規模を小さくすることができる。
【００８８】
＜第４の実施例＞
図８は本発明の第４の実施例に係るデータ変換回路を示すブロック図であり、同回路は入力信号が２次元の場合を示すものである。
【００８９】
前述の（１２）式において、α＝１，ｍ＝３とすると（１２）式は次に示す（１４）式のように変形できる。
【００９０】
【数１０】
Ｐ１３＝｛（８−Ｘｆ）（８−Ｙｆ）Ａ＋Ｘｆ（８−Ｙｆ）Ｂ＋（８−Ｘｆ）ＹｆＣ＋ＸｆＹｆＤ｝  ／６４＋（８−ｍａｘ）ｍｉｎ（４Ｔ−Ａ−Ｂ−Ｃ−Ｄ）／６４                （１４）
本実施例の回路は、上記（１４）式の演算を行う回路である。即ち、図８において、４０１および４０２は２次元の８ビットの入力データＸｉ，Ｙｉを入力する端子、４１１，４１２，４１３および４１４は補間演算の単位となる正方形の頂点に対応する４つの格子点データＡ，Ｂ，Ｃ，Ｄ（図４参照）を読出すためのメモリ（ＬＵＴ）、４１５は上記正方形の中心の格子点データＴを４倍してＡ，Ｂ，Ｃ，Ｄを減算した値（４Ｔ−Ａ−Ｂ−Ｃ−Ｄ）を格納して読出すためのメモリである。
【００９１】
４０５は入力データＸｉ，Ｙｉの上位ビットデータＸｈ，Ｙｈに基づいて、上記５つのメモリをアクセスするためのアドレスを生成するアドレス生成部である。アクセスするメモリは５つであるが、生成するアドレスの種類は、Ａ，Ｂ，Ｃ，Ｄの４つの格子点データを読出すための４種類のみである。即ち、もう１つのデータ（４Ｔ−Ａ−Ｂ−Ｃ−Ｄ）を読出すためのアドレスは、格子点データＡを読出すアドレスと同一である。一方、４０７は入力データＸｉ，Ｙｉの下位ビットデータの大小関係を判定して、大きい方をｍａｘ、小さい方をｍｉｎとして出力する比較部である。
【００９２】
４２１は減算器、４２３および４２５は乗算器、４２７はシフタ回路、４２９は加算器、４３１は公知の２次元４点補間演算部、４３３は変換データを出力する出力端子である。
【００９３】
入力端子４０１，４０２から入力した２次元の８ビットデータＸｉ，Ｙｉは上位５ビットデータＸｈ，Ｙｈと下位３ビットデータＸｆ，Ｙｆに分離され、上位ビットデータＸｈ，Ｙｈはアドレス生成部４０５へ、下位ビットデータＸｆ，Ｙｆは比較部４０７および２次元４点補間演算部４３１に送られる。
【００９４】
アドレス生成部４０５は、上位ビットデータに基づいて図４に示す正方形の４つの頂点に対応するアドレスを生成し、これら４つのアドレスをメモリ４１１〜４１５に与える。メモリ４１１〜４１４からは上記アドレスに対応したＡ，Ｂ，Ｃ，Ｄの４つの格子点データが読出され、２次元４点補間演算部４３１に入力される。この演算部４３１では、Ａ，Ｂ，Ｃ，Ｄの４つの格子点データを下位ビットデータＸｆ，Ｙｆとに基づいて２次元４点補間演算を行い、｛（８−Ｘｆ）（８−Ｙｆ）Ａ＋Ｘｆ（８−Ｙｆ）Ｂ＋（８−Ｘｆ）ＹｆＣ＋ＸｆＹｆＤ｝／６４を計算する。演算結果は加算器４２９に入力する。一方、メモリ４１１に与えたアドレスをメモリ４１５にも与え、このメモリから（４Ｔ−Ａ−Ｂ−Ｃ−Ｄ）を読出し、その読出した値は、乗算器４２５に入力される。
【００９５】
一方、下位３ビットデータＸｆ，Ｙｆは比較部４０７にも入力して、大きい方の値がｍａｘ，小さい方の値がｍｉｎとして出力される。ｍａｘは減算器４２１に送られ、ｍｉｎは乗算器４２３に送られる。減算器４２１は端子４３５を介して入力した値“８”から前記ｍａｘを減算し、減算結果“８−ｍａｘ”を乗算器４２３に送る。
【００９６】
乗算器４２３には、上記減算結果とｍｉｎの２つの値が入力され、これら２つの値を乗算して次の乗算器４２５に乗算結果“（８−ｍａｘ）ｍｉｎ”を送る。乗算器４２５では、上記乗算結果がメモリ４１５の出力値“４Ｔ−Ａ−Ｂ−Ｃ−Ｄ”に乗算され、その乗算結果はシフタ回路４２７に送られる。シフタ回路４２７では、その乗算結果を下位へ６ビットシフトし、加算器４２９へ送る。加算器４２９には、２次元４点補間演算部４３１で演算された値も入力されており、それら２つの値が加算されて上記（１４）式に示した演算結果が端子４３３に出力される。
【００９７】
本実施例では、メモリ４１５に格子点データＴの値をそのまま格納せず、減算処理した結果“４Ｔ−Ａ−Ｂ−Ｃ−Ｄ”を格納することにより、このメモリの出力に対する演算処理を乗算１回と加算１回のみにすることができ、演算回路の規模を小さくできるとともに、２次元の入力データを従来より高精度に変換することが可能となる。
【００９８】
なお、メモリ４１５に格子点データＴの値をそのまま格納して、そのメモリの出力を４倍した後にＡ，Ｂ，Ｃ，Ｄを減算する構成をとることもできることは勿論である。
【００９９】
＜第５の実施例＞
図９は本発明の第５の実施例に係るデータ変換回路を示すブロック図である。
【０１００】
本実施例は、前述の第３の実施例（図７参照）に対して、格子点データ格納用のメモリを１つ増やすことにより、同実施例回路における演算部３０１および３０２、減算器３０５および３０７を削減したものである。
【０１０１】
メモリ２２０がその増設に係るメモリであり、このメモリ２２０には予め計算して求めておいた“Ｂ＋Ｃ＋Ｅ＋Ｈ−Ａ−Ｄ−Ｆ−Ｇ”が格納される。一方、メモリ２１９には“４Ｔ−Ａ−Ｄ−Ｆ−Ｇ”が格納される。その他の構成は、前述の第３の実施例（図７参照）と同様である。従って、本実施例も前述の（１３）式の補間演算式と同じ演算結果を出力する。
【０１０２】
本実施例の構成を単に回路の要素数で判断すると、演算回路が減ってもメモリが増加するので、全体的な回路規模はそれほど変わらないと思われるが、メモリ２１９および２２０に格納するデータは一種の差分情報であるため、そのデータは概して小さな値となり、格子点データをそのまま格納する時に比べメモリのビット幅を約半分程度医に小さくできる。その結果、トータルのメモリ容量はほとんど変わらず、演算回路を削減することができる。
【０１０３】
なお、上記各実施例においては、３次元または２次元入力の場合の補正について説明したが、本発明の適用はこのような場合に限らず、一般にｋ次元入力の場合の補間演算に対しても可能である。その場合の演算式もしくは演算回路は、例えば前述の（２）〜（７）式または（９）式からも明らかなものである。また、この場合、上記３次元立体格子に相当するものとして各格子間に定義される距離が等しいなどの性質を有するｋ次元立体格子も明らかなものである。
【０１０４】
また、上記各実施例における３次元入力での補間処理の具体的な適用例としては、例えば、入力デバイスによって得られるカラー画像信号を出力デバイスの３色あるいは４色それぞれのカラー画像信号に変換する処理を挙げることができる。
【０１０５】
この際、入力デバイスによって得られるカラー画像信号としては、例えば、ＲＧＢ画像信号、Ｌ＊  ａ＊  ｂ＊  画像信号、Ｌ＊  ｕ＊  ｖ＊  画像信号等がある。
【０１０６】
また、出力デバイスのカラー画像信号としては、例えば、ＹＭＣ画像信号、ＹＭＣＫ画像信号等がある。
【０１０７】
ＹＭＣＫ画像信号を出力する構成の場合は、本発明によって、特に、Ｋ画像信号における変換精度を上げることができる。
【０１０８】
【発明の効果】
以上説明したように、本発明によれば例えば、体心立方格子状の９個または面心正方格子状の５個の格子点データを用いることにより、精度のよい３次元補間処理、あるいは２次元補間処理が可能となった。
【０１０９】
また、体心格子あるいは面心格子に対して施される加減算を予め施した値を保持する手段を設けることにより、補間演算回路の規模を小さくできる。
【０１１０】
さらに、立方格子間あるいは正方格子間で行われる加減算を予め演算した結果を格納する手段を設けることにより、さらに補間演算回路の規模を小さくすることができる。
【図面の簡単な説明】
【図１】３つの入力データの上位ビットで規定される補間空間を概念的に示す模式図である。
【図２】５点補間法の一般的な補間空間を概念的に示す模式図である。
【図３】本発明を適用した補間演算における３次元の格子点データＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ，Ｔの位置関係を示す図である。
【図４】同様の補間演算における２次元の格子点データＡ，Ｂ，Ｃ，Ｄ，Ｔの位置関係を示す図である。
【図５】本発明の第１の実施例に係る補間演算の構成を示すブロック図である。
【図６】本発明の第２の実施例に係るデータ変換回路を示すブロック図である。
【図７】本発明の第３の実施例に係るデータ変換回路を示すブロック図である。
【図８】本発明の第４の実施例に係るデータ変換回路を示すブロック図である。
【図９】本発明の第５の実施例に係るデータ変換回路を示すブロック図である。
【符号の説明】
２０１，２０２，２０３，４０１，４０２  データ入力端子
２０５，４０５  アドレス生成部
２０７  ソーティング部
２０９  ３次元８点補間演算部
２１１，２１２，２１３，２１４，２１５，２１６，２１７，２１８，２１９，２２０  格子点データ格納用のメモリ（３次元データ変換用）
２５１，２５３，４２７  シフタ回路
２３１，２３３，２３５，２３７  乗算器
２４３，２４５，３０９，４２９  加算器
２４７，３０５，３０７，４２１  減算器
２５５，４３３  変換データ出力端子
４０７  比較部
４１１，４１２，４１３，４１４，４１５  格子点データ格納用のメモリ（２次元データ変換用）
４３１  ２次元４点補間演算部
【図１】
0003548250.tif 000002
【図２】
0003548250.tif 000003
【図３】
0003548250.tif 000004
【図４】
0003548250.tif 000005
【図５】
0003548250.tif 000006
【図６】
0003548250.tif 000007
【図７】
0003548250.tif 000008
【図８】
0003548250.tif 000009
【図９】
0003548250.tif 000010