(57)【要約】【課題】  同じ構成で均等な分割にも不均等な分割にも対応でき、高い色変換精度を保障できる補間演算方法および補間演算装置を提供する。【解決手段】  対応表２は、ｎ次元の各軸毎に、入力値と、その入力値が与えられた時にｎ次元ＬＵＴ１に入力するアドレスと、補間演算を行うときに用いる補間インデックスを対応づけて保持している。補間処理部３は、与えられた入力値から対応表２を引いてｎ次元ＬＵＴ１に入力するアドレスを取得し、そのアドレスによりｎ次元ＬＵＴ１をアクセスして値を得る。また、入力値により対応表２を引いて補間インデックスを取得し、その補間インデックスを用いてｎ次元ＬＵＴ１から出力された値に対して補間演算を行って出力値を算出する。対応表２において各軸毎に入力値に対応づけるアドレスおよび補間インデックスの値を変更するだけで、不均一な分割幅、異なる分割数に対応できる。【選択図】  図１
2005244620.tif 000002
【特許請求の範囲】
【請求項１】
ｎ次元空間における格子点に対応したアドレスを入力して該アドレスに対応する値を出力するｎ次元ルックアップテーブルを用いてｎ次元の入力値に対する出力値を補間演算する補間演算方法であって、各軸ごとの入力値と前記ｎ次元ルックアップテーブルに入力するアドレスおよび補間演算時に用いる補間インデックスを対応づけた対応表を記憶しておき、入力値が与えられたとき前記対応表から前記ｎ次元ルックアップテーブルに入力するアドレスを取得し、該アドレスを用いて前記ｎ次元ルックアップテーブルをアクセスし、前記対応表から得られる前記入力値に対応する前記補間インデックスを用いて前記ｎ次元ルックアップテーブルから出力される値に対して補間処理を行い、出力値を得ることを特徴とする補間演算方法。
【請求項２】
前記補間インデックスは、正規化された値であることを特徴とする請求項１に記載の補間演算方法。
【請求項３】
前記ｎ次元ルックアップテーブルは、分割数が他の軸と異なる軸が１以上存在することを特徴とする請求項１または請求項２に記載の補間演算方法。
【請求項４】
前記ｎ次元ルックアップテーブルは、不均等に分割された軸が１以上存在することを特徴とする請求項１ないし請求項３のいずれか１項に記載の補間演算方法。
【請求項５】
前記補間処理の際には、前記対応表から得られた各軸に対応する前記補間インデックスをソートし、該ソートの結果に従って補間演算を実施することを特徴とする請求項１ないし請求項４のいずれか１項に記載の補間演算方法。
【請求項６】
ｎ次元空間における格子点に対応したアドレスを入力して該アドレスに対応する値を出力するｎ次元ルックアップテーブルと、ｎ次元の各軸ごとに入力値と前記ｎ次元ルックアップテーブルに入力するアドレスおよび補間演算時に用いる補間インデックスを対応づけた対応表と、前記ｎ次元ルックアップテーブルおよび前記対応表を用いて補間処理により与えられた入力値に対する出力値を求める補間処理手段を有し、前記補間処理手段は、与えられた入力値から前記対応表を用いて前記ｎ次元ルックアップテーブルに入力するアドレスを取得し、該アドレスを用いて前記ｎ次元ルックアップテーブルをアクセスし、また前記入力値に対応する前記補間インデックスを前記対応表から得て、前記補間インデックスを用いて前記ｎ次元ルックアップテーブルから出力される値に対して補間処理を行い、前記出力値を算出することを特徴とする補間演算装置。
【請求項７】
前記対応表は、前記補間インデックスとして正規化された値を持つことを特徴とする請求項６に記載の補間演算装置。
【請求項８】
前記ｎ次元ルックアップテーブルは、分割数が他の軸と異なる軸が１以上存在することを特徴とする請求項６または請求項７に記載の補間演算装置。
【請求項９】
前記ｎ次元ルックアップテーブルは、不均等に分割された軸が１以上存在することを特徴とする請求項６ないし請求項８のいずれか１項に記載の補間演算装置。
【請求項１０】
前記補間処理手段は、前記対応表から得られた各軸に対応する前記補間インデックスをソートし、該ソートの結果に従って補間演算を実施することを特徴とする請求項６ないし請求項９のいずれか１項に記載の補間演算装置。
【請求項１１】
ｎ次元空間における格子点に対応したアドレスを入力して該アドレスに対応する値を出力するｎ次元ルックアップテーブルを用いてｎ次元の入力値に対する出力値を補間演算する補間処理をコンピュータに実行させる補間処理プログラムであって、請求項１ないし請求項５のいずれか１項に記載の補間演算方法をコンピュータに実行させることを特徴とする補間処理プログラム。
【請求項１２】
ｎ次元空間における格子点に対応したアドレスを入力して該アドレスに対応する値を出力するｎ次元ルックアップテーブルを用いてｎ次元の入力値に対する出力値を補間演算する補間処理をコンピュータに実行させる補間処理プログラムを格納したコンピュータが読取可能な記憶媒体であって、請求項１ないし請求項５のいずれか１項に記載の補間演算方法をコンピュータに実行させる補間処理プログラムを格納したことを特徴とするコンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ｎ次元のルックアップテーブルと補間演算によって、与えられた入力値から出力値を演算する補間演算処理技術に関するものである。
【背景技術】
【０００２】
画像処理の分野では、補間を併用した多次元テーブル型色変換が、ソフトウェア、ハードウェアの形態を問わず、利用されている。補間を併用した多次元テーブル型色変換を単に多次元ＬＵＴ色変換、そのための多次元テーブルを多次元ＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）と呼ぶことにする。多次元ＬＵＴ色変換に関する最初の発明は、特許文献１に記載されている。この特許文献１以降、補間アルゴリズム、ハードウェア色変換器のメモリを節約する発明等、関連の発明が数多くなされている。
【０００３】
特許文献２によれば、特許文献１で開示されている補間方法に関して、Ｎ次元入力データの上位データと下位データに分割し、下位データの大小関係を求めることにより、補間に用いるべき格子点を特定するアルゴリズムが開示されている。
【０００４】
多次元ＬＵＴを参照する条件として、色変換速度（演算量）を考慮して均等分割を前提とすることが一般的である。上述の特許文献２に記載されている構成も同様である。一般的に、多次元ＬＵＴは、色変換精度に関しては従来から知られている多項式近似方式よりも良いが、メモリ量が多くなる点が欠点といえる。特に精度を上げようとすればするほど、メモリ量は増大する関係にある。補間演算は、線形補間であることが多く、局所線形を仮定しているものといってよい。そのため、ほぼ線形に色が変化する部分については良好な色変換精度を得ることができるが、色の変化の非線形性が強い部分では色変換精度が低下することになる。このような色変換精度が低下する部分では、多次元ＬＵＴの分割数を上げ、色の変化がほぼ線形な部分では分割数を下げることによって、データ量の増大を極力抑えて色変換精度を向上させることができる。そのためには、多次元ＬＵＴの各軸を適切に不均等に分割することが有効である。
【０００５】
従来は、均等分割された多次元ＬＵＴの前に、各次元に対応した１次元のＬＵＴを配置して、各次元ごとに独立して非線形変換を行うことにより、不均等分割を実現する方法が知られている。この場合は、階調数が減少する問題がある。階調数の減少は、非線形性が強ければ強いほど大きくなってしまう。
【０００６】
特許文献３に開示されている方法によれば、隣接する補間領域を統合する機能を有しており、当初の分割領域の整数倍の補間領域の設定が可能である。これによって、一応、均等分割で無い場合にもある程度対応することができる。この特許文献３に記載されている方法は、不均等分割の自由度は高いが、その分、多次元ＬＵＴに入力するアドレスを生成するためのアドレス変換の構成が複雑となるという欠点がある。また、当初の分割数を多くしておかないと自由度が制限されてしまい、結局、多量のメモリを必要としてしまうという問題があった。
【０００７】
【特許文献１】特公昭５８−１６１８０号公報
【特許文献２】特許第３０４８２２７号公報
【特許文献３】特許第２９０６８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上述した事情に鑑みてなされたもので、メモリ量をそれほど必要とせず、同じ構成で均等な分割にも不均等な分割にも対応でき、よって高い色変換精度を保障できる補間演算方法および補間演算装置を提供することを目的とするものである。また、そのような補間演算方法をコンピュータによって実行可能な補間処理プログラムと、そのような補間処理プログラムを記憶した記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明では、ｎ次元の各軸ごとの入力値と、ｎ次元ＬＵＴに入力するアドレス、および、補間演算時に用いる補間インデックスを対応づけた対応表を記憶している。この対応表を用い、入力値が与えられたときには対応表からｎ次元ＬＵＴに入力するアドレスを取得してｎ次元ＬＵＴをアクセスし、また、対応表から得られる入力値に対応する補間インデックスを用いて、ｎ次元ＬＵＴから出力される値に対して補間処理を行い、出力値を得ることを特徴としている。このように対応表を用いることによって、ｎ次元ＬＵＴ自体の構成はそのままでも、対応表の入力値に対応するアドレス値を変更するだけで均等分割にも不均等分割にも対応することができる。また、分割数が異なる軸が存在する場合でも、対応表の入力値とアドレス値の対応付けを変更するだけで簡単に対応することができる。
【００１０】
さらに、補間演算時に用いる補間インデックスを入力値に対応づけているので、この補間インデックスを用いることにより補間処理を簡単化することができる。さらに、この補間インデックスを正規化しておき、補間処理時に対応表から取得した各軸ごとの補間インデックスをソートし、そのソートの結果に従って補間演算を実施するように構成することができる。これによって、補間処理を簡単かつ高速に行うことができる。
【発明の効果】
【００１１】
本発明によれば、対応表を用いてｎ次元ＬＵＴをアクセスするためのアドレスを取得し、また、同じく対応表を用いて補間インデックスを取得して補間処理を行うので、均等分割や不均等分割、異なる分割数に対しても、同じ構成で容易に対応できる。従って、従来のように複雑なアドレス変換機構や１次元ＬＵＴなどは不要であり、階調減少も発生せず、簡単な構成でありながら、高い自由度、高い変換精度を有する補間演算を実現することができるという効果がある。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の実施の一形態を示すブロック図である。図中、１はｎ次元ＬＵＴ、２は対応表、３は補間処理部である。ｎ次元ＬＵＴ１は、一般に色変換処理などにおいて補間処理と併用して用いられているｎ次元のＬＵＴである。以下の説明では、３次元のＬＵＴを用いて説明するが、本発明はｎ次元において同様に適用することができる。図２は、３次元ＬＵＴの概要の説明図である。３次元ＬＵＴは、３次元のアドレスに値を対応づけたテーブルである。図２（Ａ）に示した例では、各軸のアドレス値として０〜４の５値を取りうるものとして示しており、全部で１２５個の値を設定しておくことができる。便宜上、アドレス値は（ＧＸｉ，ＧＹｉ，ＧＺｉ）として表記している。また対応する値はＬ（ＧＸｉ，ＧＹｉ，ＧＺｉ）として示している。
【００１３】
一般に、図２（Ｂ）に示すように、３次元の各軸をＸ、Ｙ、Ｚとする時、各軸をそれぞれ適宜分割することによって、入力値が取り得る空間は立方体又は直方体に分割される。３次元ＬＵＴは、この立方体又は直方体の頂点（これを格子点と呼ぶ）に対応するアドレス値を入力とし、対応づけられている値を出力するものである。例えば入力値がＸｉ，Ｙｉ，Ｚｉであるとき、対応するアドレス値として（ＧＸｉ，ＧＹｉ，ＧＺｉ）が入力されることによって、対応する値Ｌ（ＧＸｉ，ＧＹｉ，ＧＺｉ）を出力する。また、補間処理のためにアドレス（ＧＸｉ＋１，ＧＹｉ，ＧＺｉ）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）、（ＧＸｉ，ＧＹｉ，ＧＺｉ＋１）、（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ）（ＧＸｉ＋１，ＧＹｉ，ＧＺｉ＋１）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）、（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ＋１）などに対応する値についても出力するように構成しても良い。なお、後述するように、各軸の分割幅（均一あるいは不均一）や分割数は、本発明では任意に設定可能である。
【００１４】
対応表２は、ｎ次元の各軸毎に、入力値と、その入力値が与えられた時にｎ次元ＬＵＴ１に入力するアドレスと、その入力値のときにｎ次元ＬＵＴ１から得られる値に対して補間演算を行うときに用いる補間インデックスを対応づけたテーブルである。この対応表２の入力値とアドレスとの対応関係を変えることによって、実質的にｎ次元ＬＵＴ１の分割幅（均一あるいは不均一）や分割数を変更することができる。また、補間インデックスは分割幅内における相対的な位置を示すものであり、補間処理時に重みとして利用することができる。また、後述する補間処理部３の補間方法では、この補間インデックスをソートすることによって各軸における補間の順序を決定することができる。なお、補間インデックスは正規化しておくと良い。この対応表２については具体例を用いて後述する。
【００１５】
補間処理部３は、ｎ次元ＬＵＴ１および対応表２を用いて、入力値に対する出力値を求める。より詳細には、与えられた入力値から対応表２を引いてｎ次元ＬＵＴ１に入力するアドレスを取得し、そのアドレスによりｎ次元ＬＵＴ１をアクセスしてｎ次元ＬＵＴ１から出力される値を得る。また、入力値により対応表２を引いて補間インデックスを取得し、その補間インデックスを用いてｎ次元ＬＵＴ１から出力される値に対して補間演算を行って出力値を算出する。なお、補間演算を行うため、対応表２から取得したアドレスの他に、隣接する格子点のアドレスを生成してｎ次元ＬＵＴ１をアクセスする場合もある。補間演算の方法は任意であるが、一例を後述する。
【００１６】
次に、具体例を用いながら本発明の実施の一形態における動作について説明する。第１の例として、各軸について同一の分割数（分割数４）で均等分割を行う例を示す。ここでは入力値は各軸の成分として０〜１５までの値をとり、また３次元のＬＵＴを用いるものとし、各軸をＸ、Ｙ、Ｚとして説明する。図３は、均等分割を行った時の入力値の空間における格子点の一例の説明図である。均等分割を行った場合に、ｎ次元ＬＵＴ１における格子点は、図３において丸印を付した点である。これらの点以外の点（入力値）については、その点を含む立方体の原点に最も近い格子点に対応づけられている値をもとに補間処理を行うことになる。
【００１７】
図４は、第１の例における対応表の具体例の説明図である。上述のように、対応表２は、各軸毎に入力値とアドレスと補間インデックスを対応づけたテーブルである。具体的には図４に示すように、Ｘ軸について、各入力値ごとに、入力値とアドレスと補間インデックスが対応づけられている。同様に、Ｙ軸についても、各入力値ごとに、入力値とアドレスと補間インデックスが対応づけられている。Ｚ軸についても同様である。
【００１８】
このうち、入力値とアドレスとの対応付けは、図３で説明したように、入力値を含む空間上の立方体における原点に最も近い格子点のアドレスを対応づける。例えば原点を含む立方体には、Ｘ軸、Ｙ軸、Ｚ軸とも０〜３の値をとる入力値が含まれ、これらの入力値に対するアドレスはいずれも（０，０，０）となる。このような対応付けは、それぞれの軸において、ｐ番目の格子点からｐ＋１番目の格子点までの値を同じ値（ｐ）に設定するのみで実現できる。例えばこの例では、いずれの軸についても、０〜３までを０，４〜７までを１，８〜１１までを２，１２〜１５までを３，１６を４とすればよい。なお、各軸の入力値として取り得ない１６を設けているが、これは補間演算を単純かつ正確に行うためのものである。
【００１９】
このような入力値とアドレスとの対応付けから、例えば入力値が（０，０，０）である時、アドレスとして（０，０，０）が得られる。また、例えば入力値が（２，１０，１４）であれば、アドレスとして（０，２，３）が得られる。この得られたアドレスによりｎ次元ＬＵＴ１をアクセスすることになる。
【００２０】
また補間インデックスは、入力値を含む２つの格子点間における原点に近い側の格子点からの距離を示すものである。ここでは格子点の間隔を１として正規化した値を入力値に対応づけている。例えば入力値２の補間インデックスは０．５であるが、これは、０番の格子点と１番の格子点の間の中間点であることを示している。もちろん正規化した値は０以上１未満の値に限られるものではなく、例えば０〜２５５の間の整数値を取るなど、任意の数値区間で正規化することができる。この数値区間は広い方が計算誤差を小さくすることができ、望ましい。ハードウェアによる構成や、浮動小数点演算が不得意な安価のＣＰＵなどを用いる場合には、整数値を取る方が有利である。
【００２１】
このような対応表２を用い、入力値に対応するアドレスを取得してｎ次元ＬＵＴ１をアクセスし、対応する値を得る。得られた値に対して、同じく対応表２から取得される補間インデックスを用いて補間演算を行う。
【００２２】
補間演算の一例について説明する。図５は、補間処理の一例の説明図である。図５（Ａ）には基本単位立方体を示している。基本単位立方体は、ある格子点（ＧＸｉ，ＧＹｉ，ＧＺｉ）と、（ＧＸｉ＋１，ＧＹｉ，ＧＺｉ）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）、（ＧＸｉ，ＧＹｉ，ＧＺｉ＋１）、（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ）（ＧＸｉ＋１，ＧＹｉ，ＧＺｉ＋１）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）、（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ＋１）で構成される立方体である。図５（Ａ）では（ＧＸｉ，ＧＹｉ，ＧＺｉ）を（０，０，０）としている。
【００２３】
対応表２から得られる入力値（Ｘ，Ｙ，Ｚ）に対する補間インデックスを（ＩＸｉ，ＩＹｉ，ＩＺｉ）とする。この補間インデックスを値の大きい方からソートする。ソートの結果は、３次元であれば６通りのいずれかとなる。このソート結果によって、補間軸の順番が決まる。
【００２４】
今、ソートした結果、ＩＹｉ，ＩＺｉ，ＩＸｉの順であったとする。この場合、補間を行う軸の順序は、Ｙ軸、Ｚ軸、Ｘ軸の順となる。図５（Ｂ）に太線で示すように、（０，０，０）からＹ軸方向への稜線を一番目にたどる。（０，０，０）と（０，１，０）の線分である。次に、Ｚ軸方向への稜線をたどる。（０，１，０）と（０，１，１）の線分である。最後にＸ軸方向への稜線をたどる。（０，１，１）と（１，１，１）の線分である。
【００２５】
このようにソート結果によってたどる軸の順序を決定する。基本単位立方体の稜線をたどって（０，０，０）から（１，１，１）へたどり着くまでの最短経路は６通りあり、そのいずれをたどるかが補間インデックスをソートすることによって一意に決定できる。この規則を補間順序決定規則と呼ぶことにする。
【００２６】
上述のように、基本単位立方体の原点（０，０，０）のアドレスは、（ＧＸｉ，ＧＹｉ，ＧＺｉ）である。ソート結果がＩＹｉ，ＩＺｉ，ＩＸｉの順である場合、（０，１，０）、（０，１，１）、（１，１，１）に対応する値があればよく、それぞれのアドレスは（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）、（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ＋１）である。従って、これらのアドレス（ＧＸｉ，ＧＹｉ，ＧＺｉ）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）、（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）、（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ＋１）に対応する値Ｌ（ＧＸｉ，ＧＹｉ，ＧＺｉ）、Ｌ（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）、Ｌ（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）、Ｌ（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ＋１）をｎ次元ＬＵＴ１から得て、補間インデックスを（ＩＸｉ，ＩＹｉ，ＩＺｉ）を用いて補間演算を行う。補間演算は次のように行うことができる。
出力値＝Ｌ（ＧＸｉ，ＧＹｉ，ＧＺｉ）
＋（Ｌ（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）−Ｌ（ＧＸｉ，ＧＹｉ，ＧＺｉ）×ＩＹｉ
＋（Ｌ（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）−Ｌ（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ）×ＩＺｉ
＋（Ｌ（ＧＸｉ＋１，ＧＹｉ＋１，ＧＺｉ＋１）−Ｌ（ＧＸｉ，ＧＹｉ＋１，ＧＺｉ＋１）×ＩＸｉ
【００２７】
このようにして、補間インデックスを用いて簡単に補間演算を行うことができる。なお、アドレス（ＧＸｉ，ＧＹｉ，ＧＺｉ）は入力値から対応表２を引くことにより直接求まるが、他のアドレスについてはそれぞれ生成してｎ次元ＬＵＴ１に入力しても良いし、あるいは、ｎ次元ＬＵＴ１がアドレス（ＧＸｉ，ＧＹｉ，ＧＺｉ）の入力に対して他のアドレスにおける値も出力するように構成しても良い。また、上述の補間演算式は補間インデックスを０〜１に正規化した場合の例を示しているが、例えば０〜２５５に正規化した場合には出力値を２５５で除算するなど、補間インデックスの取り得る値の最大値で除算しておけばよい。
【００２８】
上述の補間方法は３次元に限られるものではなく、ｎ次元において適用可能である。さらに、補間方法は任意であり、上述の方法に限られるものではない。取りうる入力値の範囲や分割数についても、上述の具体例に限られるものでないことは明らかである。
【００２９】
次に第２の例として、全ての軸の分割数が同一ではなく、また不均等分割を行う例を示す。この例でも入力値は各軸の成分として０〜１５までの値をとり、また３次元のＬＵＴを用いるものとし、各軸をＸ、Ｙ、Ｚとして説明する。図６は、分割数が同一でなく、不均等分割を行った時の入力値の空間における格子点の一例の説明図である。この例では、Ｘ軸、Ｙ軸については４分割し、Ｚ軸については２分割している。また、Ｘ軸については原点に近い領域について分割の幅を狭くした例を示している。
【００３０】
図７は、第２の例における対応表の具体例の説明図である。このように分割数や分割幅が均一でない場合にも、対応表２の入力値に対応するアドレスおよび補間インデックスの値を変更することで容易に対応可能である。図７に示す例では、Ｘ軸について入力値０，１に対してアドレス０を、２〜４について１を、５〜７について２を、８〜１５について３を、１６について４を、それぞれ対応づけている。このような対応付けを行うことによって、図６に示すような不均一な分割幅に対応することができる。また、Ｚ軸については、入力値０〜７に対してアドレス０を、８〜１５に対して１を、１６に対して２を、それぞれ対応づけている。この場合、アドレス値として３，４を用いていない。これによって、分割数を簡単に変更することができる。なお、Ｙ軸については上述の図４に示した例と同様である。
【００３１】
また、このようなアドレスの値の変更に伴って、補間インデックスも変更している。この例ではそれぞれの格子点間を均等に分割するように補間インデックスを設定しているが、不均等に分割することも可能である。例えばＸ軸の入力値が１のときの補間インデックスは０．５００であるが、これを例えば０．４００として、補間処理によって原点により近い値となるようにしたり、あるいはその逆にするといったことが可能である。
【００３２】
このような対応表２を用いてｎ次元ＬＵＴ１をアクセスする際には、上述の同一分割数、均等分割の場合と全く同様である。すなわち、入力値から対応表２を引くことによりアドレスを得て、そのアドレスによりｎ次元ＬＵＴ１をアクセスすればよい。例えば入力値が（２，１０，１４）であれば、アドレスとして（１，２，１）が得られる。この得られたアドレスによりｎ次元ＬＵＴ１をアクセスすることになる。
【００３３】
また、補間演算についても上述の同一分割数、均等分割の場合と全く同様である。補間インデックス（ＩＸｉ，ＩＹｉ，ＩＺｉ）を正規化しておけば、分割数の違い、不均等分割であるなどの影響を受けることなく、補間順序決定規則を適用でき、かつ、上述の補間演算式を適用することができる。
【００３４】
従って、対応表２の各入力値に対応するアドレスおよび補間インデックスの値を変更するだけで、各軸の分割数が同一且つ均等分割である場合と全く同じ方法で、不均等分割および分割数が異なる場合にもｎ次元ＬＵＴのアクセスと補間演算処理を行うことができる。これは、いずれの場合にも対応表およびｎ次元ＬＵＴを引く処理と補間演算だけであり、処理速度は殆ど変わらないというメリットを提供することができる。また、一般に、精度とメモリ量との関係では、分割数が多いほうが精度は向上するがメモリ量もそれにつれて増える関係にある。メモリ量の増大は、ｎ次元ＬＵＴ１の大きさが次元のべき乗に比例するため、次元が大きくなればなるほど、分割数を減らすことが求められる。その場合、入力値の空間において、精度を重視するところ、あるいは、補間誤差が大きくなってしまうところ（入力値の空間と出力値の空間との非線形性が強いところ）の分割を細かくし、そうでないところの分割を粗くすることにより、分割数を増やさなくても精度向上が可能になる。そのような分割幅の変更等に対しても対応表２の設定値を変更するだけで対応でき、精度良く補間処理を行うことができる。
【００３５】
なお、本発明の補間演算方法および補間演算装置は、背景技術で述べたように画像処理の分野で色変換処理を行う場合に適用することができる。色変換処理を行う場合、入力色が存在する入力色空間と出力色が存在する出力色空間との対応は非線形である場合が多く、変換精度の高い補間付きのｎ次元ＬＵＴを用いている。本発明の補間演算方法および補間演算装置を用いることによって、高精度に色変換を行うことができる。また、各種の色空間の間の変換も、対応表２の値を変更するだけで、同じ構成で対応することができる。もちろん、本発明は色変換処理だけでなく、他の各種の用途においても利用可能であることは言うまでもない。
【００３６】
図８は、本発明の補間演算装置の機能または補間演算方法をコンピュータプログラムで実現した場合におけるコンピュータプログラムおよびそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。図中、１１はプログラム、１２はコンピュータ、２１は光磁気ディスク、２２は光ディスク、２３は磁気ディスク、２４はメモリ、３１は光磁気ディスク装置、３２は光ディスク装置、３３は磁気ディスク装置である。
【００３７】
上述の実施の形態で説明した本発明の機能の一部または全部を、コンピュータにより実行可能なプログラム１１によって実現することが可能である。その場合、そのプログラム１１およびそのプログラムが用いる対応表２などのデータは、コンピュータが読み取り可能な記憶媒体に記憶することも可能である。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク２１，光ディスク２２（ＣＤやＤＶＤなどを含む）、磁気ディスク２３，メモリ２４（ＩＣカード、メモリカードなどを含む）等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【００３８】
これらの記憶媒体にプログラム１１を格納しておき、例えばコンピュータ１２の光磁気ディスク装置３１，光ディスク装置３２，磁気ディスク装置３３，あるいは図示しないメモリスロットにこれらの記憶媒体を装着することによって、コンピュータからプログラム１１を読み出し、本発明の補間演算装置の機能または補間演算方法を実行することができる。あるいは、あらかじめ記憶媒体をコンピュータ１２に装着または内蔵しておき、例えばネットワークなどを介してプログラム１１をコンピュータ１２に転送し、記憶媒体にプログラム１１を格納して実行させてもよい。
【００３９】
もちろん、一部の機能についてハードウェアによって構成することもできるし、あるいは、すべてをハードウェアで構成してもよい。また、例えば画像形成装置に組み込むなど、他の処理プログラムと連動される場合には、その処理プログラムとの一体化も可能である。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の一形態を示すブロック図である。
【図２】３次元ＬＵＴの概要の説明図である。
【図３】均等分割を行った時の入力値の空間における格子点の一例の説明図である。
【図４】第１の例における対応表の具体例の説明図である。
【図５】補間処理の一例の説明図である。
【図６】分割数が同一でなく、不均等分割を行った時の入力値の空間における格子点の一例の説明図である。
【図７】第２の例における対応表の具体例の説明図である。
【図８】本発明の補間演算装置の機能または補間演算方法をコンピュータプログラムで実現した場合におけるコンピュータプログラムおよびそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。
【符号の説明】
【００４１】
１…ｎ次元ＬＵＴ、２…対応表、３…補間処理部、１１…プログラム、１２…コンピュータ、２１…光磁気ディスク、２２…光ディスク、２３…磁気ディスク、２４…メモリ、３１…光磁気ディスク装置、３２…光ディスク装置、３３…磁気ディスク装置。
【図１】
2005244620.tif 000003
【図２】
2005244620.tif 000004
【図３】
2005244620.tif 000005
【図４】
2005244620.tif 000006
【図５】
2005244620.tif 000007
【図６】
2005244620.tif 000008
【図７】
2005244620.tif 000009
【図８】
2005244620.tif 000010