(57)【特許請求の範囲】
【請求項１】
ｎ個の成分によって表現されるｎ次元を有する入力カラー空間からのカラー空間入力データを、ｉ個の成分によって表現されるｉ次元を有する出力カラー空間におけるカラー空間出力データへ変換するためのカラー空間変換器であって、前記ｎ個の成分は、それぞれが上位ビットの組と下位ビットの組とに区切られる、ｎ組のビットによって表現され、
ｍｘ，Ｘ＝１．．ｎは、ｘ番目の成分の上位ビットの数であるとして、{[2m1+1]×[2m2+1]×...×[2mn+1]}個のアドレスを生成するアドレス・ゼネレータであって、ｍ＝ｍ1＋ｍ2＋．．．＋ｍnとして、ｍビットを受け取るアドレス・ゼネレータと、
{[2m1+1]×[2m2+1]×...×[2mn+1]}個の格納場所を有し、補間入力データを前記格納場所に格納するメモリであって、それぞれが、前記アドレス・ゼネレータから前記アドレスを受け取るメモリ・アドレス入力と、メモリ・データ出力とを有する複数のメモリ・バンクを含み、前記メモリ・バンクへの前記格納場所の割り当ては、前記格納場所に格納される前記補間入力データの、偶数および奇数分類によって定まり、前記補間入力データの前記偶数および奇数分類は、前記補間入力データに関連する立方体格子の座標値によって定まり、偶数の座標値は偶数分類とされ、奇数の座標値は奇数分類とされる、メモリと、
メモリ・データ出力の数に対応するデータ入力の数を有し選択的な２の補数処理を実行する手段に接続された補間器であって、前記データ入力および前記選択的な２の補数処理を実行する手段の出力に基づいて、補間出力データを出力し、メモリ・データ出力の補間データ入力への接続が固定されている補間器と、
前記補間器に接続された、選択的な２の補数処理を実行する手段であって、前記ｎ組の下位ビットと、前記ｎ組の上位ビットのそれぞれの最下位ビットとを受け取り、前記最下位ビットが奇数か偶数かに応じて、選択的に、前記ｎ組の下位ビットの２の補数をとり、前記ｎ組の下位ビットの各組、またはその２の補数を補間器へ提供する、選択的な２の補数処理を実行する手段と、
を含むカラー空間変換器。
【請求項２】
前記アドレス・ゼネレータは、前記ｎ個の成分が変換される前記ｉ次元のうちの1つを連続的に選択するｊビットを受け取ることができ、前記アドレス・ゼネレータは、 ({[2m1+1]×[2m2+1]×...×[2mn+1]}×i)個のアドレスを生成し、前記メモリは、 ({[2m1+1]×[2m2+1]×...×[2mn+1]}×i) 個の格納領域を含む、請求項1に記載のカラー空間変換器。
【請求項３】
ｎは３に、ｉは４に、そして、ｊは２に等しく、前記メモリは、８つのメモリ・バンクを含む、請求項1また２に記載のカラー空間変換器。
【請求項４】
前記アドレス・ゼネレータは、それぞれが前記メモリ・アドレス入力のうちの１つと結合される８つのアドレス出力を含み、前記ｍビットと前記ｊビットの受取りに応じて、実質的に同時に、前記８つのアドレスを生成し、ｍ1、ｍ2及びｍ3はそれぞれ、４に等しく、前記入力カラー空間は、ＲＧＢ、Ｌａｂ、ＸＹＺ、ＨＳＶ、Ｌｕｖ、及びＨＬＳカラー空間から成るグループから選ばれたカラー空間を含み、前記出力カラー空間は、ＣＭＹＫカラー空間を含む、請求項３に記載のカラー空間変換器。
【請求項５】
前記入力カラー空間は、ＲＧＢ、Ｌａｂ、ＸＹＺ、ＨＳＶ、Ｌｕｖ、ＨＬＳ及びＣＭＹカラー空間から成るグループから選ばれたカラー空間を含み、前記出力カラー空間は、ＲＧＢ、Ｌａｂ、ＸＹＺ、ＨＳＶ、Ｌｕｖ、ＨＬＳカラー空間およびＣＭＹＫカラー空間から成るグループから選ばれたカラー空間を含み、ｍ1、ｍ2、およびｍ3は、それぞれ４に等しい、請求項１から３のいずれかに記載のカラー空間変換器。
【請求項６】
前記入力カラー空間は、ＲＧＢカラー空間を含み、前記出力カラー空間は、ＣＭＹＫカラー空間を含み、前記アドレス・ゼネレータは、 ({[2m1+1]×[2m2+1]×[2m3+1]}×4)個の前記アドレスを生成し、前記カラー空間入力データを変換する前記ＣＭＹＫカラー空間の１つの成分を連続的に選ぶために、付加される２ビットを受取ることができ、前記メモリは、８つのメモリ・バンクに分割される、 ({[2m1+1]×[2m2+1]×[2m3+1]}×4)個の前記格納領域を含み、前記アドレス・ゼネレータは、それぞれが前記メモリ・アドレス入力のうちの１つに接続される８つのアドレス出力を有し、前記アドレス・ゼネレータは、前記ｍビットと前記２ビットの受取りに応じて、実質的に同時に、前記アドレスのうちの８つを生成し、前記補間器は、ハードウェア補間器を含み、前記ハードウェア補間器は、前記メモリ・データ出力のそれぞれに接続された８つの補間器入力を含み、 前記選択的な２の補数処理を実行する手段は、選択的な２の補数回路を含む、請求項５に記載のカラー空間変換器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にデジタル・データ変換に関連し、特にデータ変換における補間に使用されるデータを生成することに関連する。
【０００２】
【従来の技術】
測色学は、長い間、複雑な科学として認識されていた。一般に、三刺激空間(tristimulus space)と呼ばれる３次元空間で色刺激ベクトル(color stimuli vectors)を表現することが便利なこととして知られている。本質的に、1931年にCommission Internationale L'Eclairage（ＣＩＥ）によって定義されたように、三原色（Ｘ、Ｙ、Ｚ）を結合して、人間の目で認識する全ての光の感覚を定義することができる（すなわち、理想的な観察者の色調和機能で識別される波長の３つの独立した機能を指定することによって定義された、理想的な観察者の色調和特性が、色を指定する国際的な標準を形成する）。そのような３次元の構成の基礎は、ジョン・ワイリー・アンド・サンズ社の、「Principles of Color Technology」や「Concepts and Methods, Quantitative Data and Formulae」などの文献に記載されている。
【０００３】
赤、緑、青（ＲＧＢ）、シアン、深紅、黄（ＣＭＹ）、色相、彩度、色価（value）（ＨＳＶ）、色相、明度、彩度（ＨＬＳ）、輝度、赤黄色調、緑青色調（Ｌａ＊ｂ＊）、輝度、赤緑色調、黄青色調（Ｌｕｖ）、および民間のカラー・テレビジョン放送によって使用されるＹＩＱなどの、三色モデル・システムは、システム・デザイナに代替物を提供する。様々な３−可変カラーモデルは、アディソン−ウェズリー社の、「Fundamentals of Interactive Computer Graphics」Foley, Van Dam, Addison-Wesley Publishing Company発行、に記載されており、この明細書に参照して取り込む。
【０００４】
デジタル・データ処理のモデル・システム間での色変換は、相手先ブランドによる生産（ＯＥＭ）において多くの問題を生じる。２つのシステム間の関係が一般に非線形であるため、１つのシステムからもう１つのシステムへのデータ補間は難しい。したがって、入力装置（カラー・スキャナ、ＣＲＴディスプレイ、デジタル・カメラ、コンピュータ・ソフトウェア／ファームウェア生成など）からのオリジナル画像と出力装置（ＣＲＴディスプレイ、カラー・レーザ・プリンタ、カラー・インク・ジェット・プリンタなど）での変換されたコピーとの間の色の完全性を確保することが重要な問題となる。
【０００５】
例えば、コンピュータ・アーティストは、コンピュータ・ビデオ上でカラー画像をつくる能力を必要とし、プリンタに同じ色での複写を要求する。また、オリジナル・カラー写真が、スキャナでディジタル化され、結果として生じるデータは、ビデオ・モニタ上に表示されるために変換されるか、または、レーザ、インクジェット式や熱転写式プリンタによって、ハード・コピーとして複製される。上述の文献に記載されているように、色は、加色法の原色、赤、緑、および青（ＲＧＢ）の、または減色法の原色、シアン、深紅、黄、および黒（ＣＭＹＫ）のレンダリングによって作成することができる。変換は、ＲＧＢカラー空間、例えばコンピュータ・ビデオ・モニタから、ＣＭＹＫカラー空間、例えばレーザ・プリンタのハードコピーへ移動することを要する。１つのカラー空間から他の空間への変換は、複合、即ち、複数の次元での非線形計算を必要とする。いくつかの変換オペレーションは、変換定数のマトリックスに、変換されるＲＧＢカラー空間の値のセットを掛け合わせることによって完成される。変換されるべきＲＧＢカラー空間における各セットの値について、変換定数のマトリックスの計算が必要となる。
【０００６】
しかしながら、カラー空間変換のこの方法において、色の生成に使用される色素、螢光体及びトナーにおける非完全性から問題が生じる。更に複雑なことには、異なるタイプの媒体が同じ混合着色での印刷から異なるカラー応答を生成するということである。この結果、純数学的カラー空間変換方法は、満足し得る色を再現しない。
【０００７】
カラー空間変換での優れた結果が、一組の経験的に導き出された値に基づいたルックアップ・テーブル法を使って得られることが認識されている。一般的に、ビデオ・ディスプレイに使用されるＲＧＢカラー空間は、原色のそれぞれ、すなわち赤、緑、及び青を表現するのに８ビットを使用する。したがって、それぞれの画素を表現するのに２４ビットが必要とされる。この解像度において、ＲＧＢカラー空間は、２24 すなわち16,777,216色からなる。４つのＣＭＹＫ（印刷において純粋な黒い色を維持するために、一般的に知られているシアン、マゼンタ（深紅）、および黄の３つの色で印刷するよりはむしろ、プロセス黒として知られるものを生成するために別の黒が通常用意される）カラー空間成分を生成するために、２26すなわち67,108,864バイトのデータを有するルックアップ・テーブルを必要とする。この様に多数のエントリを有するルックアップ・テーブルを経験に基づいて構築することはあまりにも困難であり、この様に多数のエントリを使用するカラー空間変換装置のハードウェア実行コストは非常に高くなる。
【０００８】
１つのカラー空間から他の空間への変換において、たくさんの補間方式が知られており、使用されている。三次線形補間、プリズム補間、および四面体補間を使用するカラー空間変換を実行する方法が、「PERFORMING COLOR SPACE CONVERSIONS WITH THREE DIMENSIONAL LINEAR INTERPOLATION, JOURNAL OF ELECTRONIC IMAGING」July 1995 Vol. 4(3)に記載されており、参照によりこの明細書に組み入れる。
【０００９】
従来技術（米国特許第3,893,166号）において、三次線形補間は、カラー空間の間の、例えばＲＧＢカラー空間からＣＭＹＫカラー空間への変換に適用され、一般に原色を表現するのに使用される３つのグループの８ビットが、それぞれ４ビットずつに分割され、一組の高位ビット（例えば、ＲＨ、ＧＨ、ＢＨ）と一組の低位ビット（例えば、ＲＬ、ＧＬ、ＢＬ）に分けられる。高位ビットの３つのセットは、変換先のカラー空間の対応する値のアレイへのアクセスを行うための一組のアドレスを生成するために使用される。変換先のカラー空間におけるカラー次元のそれぞれについて、値のアレイが存在する。例えば、ＣＭＹＫカラー空間への変換は、それぞれのカラー次元に対して１つずつの４つのアレイを必要とする。ＲＨ、ＧＨおよびＢＨのそれぞれに対して選ばれた４ビットにおいて、４つのアレイのそれぞれに２(4+4+4)=4096の位置がある。これらの位置のそれぞれは、カラー空間変換を達成するのに必要な補間で使用される値を含む。ＲＬ、ＧＬおよびＢＬのそれぞれにおける４つの低位ビットのセットは、ＲＨ、ＧＨおよびＢＨのそれぞれの４つの高位ビットのセットによって指定された値の間を補間するのに使用される。
【００１０】
値の４つのアレイのそれぞれは、３次元空間の立方格子として表現することができる。ＲＨ、ＧＨおよびＢＨのうちの少くとも１つにおいてこのケースを適応することは、変換先の出力カラー空間の次元に対応するアレイの限界を超えた部分となり、それぞれのアレイは、３つの軸のそれぞれの頂点で拡張されなければならない。言い換えれば、３つの軸のそれぞれに沿って１６以上の間隔を補間する能力を持つことは、それぞれの次元において１７の頂点を必要とする。それぞれの次元で１７の頂点を持っている立方格子は、合計4913の頂点を含む。立方格子内部の頂点のそれぞれは、８つの立方体に共用される。それぞれの立方体は、８つの頂点から形成される。この透視画法を念頭において、ＲＧＢカラー空間値の２４ビット表示をＣＭＹＫカラー空間の１つの次元に変換することは、立方格子に立方体として入れられた容積の領域を決定することとみなすことができる。立方体の８つの頂点によって表現されたカラー空間値は、この領域を決定する際に使用される。ＲＨ、ＧＨおよびＢＨから形成される１２ビットは、立方格子内の立方体の１つの頂点の位置決めをするアドレスとして使用される。立方体の残りの７つの頂点の相対アドレスは、ＲＨ、ＧＨ、ＢＨ、ＲＨ＋１、ＧＨ＋１、およびＢＨ＋１の値の残りの可能な組合せを形成することによって決定される。
【００１１】
ＲＨ、ＧＨおよびＢＨから形成される１２ビットは、補間が実行される立方体を定義するために、立方格子内にエントリ頂点を選ぶのに使用される。立方体を形成する他の７つの頂点は、エントリ頂点とそれらの空間の関係によって識別される。立方体のエントリ頂点は、立体格子を含む３次元空間の起点に最も近いところに位置決めをされた立方体を形成する８つの頂点のうちの１つの頂点である。このように、エントリ頂点と立方体の残りの７つの頂点との空間の関係を定義することによって、選ばれた立方体の頂点は、立方格子の中で同じ相対的オリエンテーションがある。立方格子の頂点に対応する値は、一般に、メモリ中に記憶され、ＲＨ、ＧＨおよびＢＨから形成されたアドレスを使用してアクセスされる。
【００１２】
【発明が解決しようとする課題】
ルックアップ・テーブルを記憶するために使用されるメモリのサイズを最小にするためには、ルックアップ・テーブル値を最小限の数の記憶領域にマッピングするアドレスを生成する機能を持つことが必要である。更に、ルックアップ・テーブル値は、最も効率的な方法でアクセスできるように、メモリ内に分配される必要がある。
【００１３】
【課題を解決するための手段】
ｎ個の成分を持つ入力データ値を、それぞれがｉ個の成分を持つ出力データ値に変換するために使用される補間器入力データを生成する装置を開発した。入力データ値は、ＲＧＢカラー空間のような、入力カラー空間を表わしてもよい。出力データ値は、ＣＭＹＫカラー空間のような、出力カラー空間を表わしてもよい。変換された入力データ値が、入力カラー空間の境界内にあるとき、補間器入力データを生成することができ、さらに、変換された入力データ値が、入力カラー空間の境界の外にあるときも、この装置は、補間器入力データを生成することができる。
【００１４】
ｎ個の成分は、ｎ組の高位ビットを形成するためにそれぞれ分割されたｎ組のビットによって表される。装置は、ｎ組の高位ビットに対応するｍビットを使用する。ｍ1＋ｍ2＋．．．＋ｍn＝ｍなので、ｍビットが、ｎ組の高位ビットに対応する。この装置は、ｍビットを受取るように配置されるアドレス・ゼネレータを含む。ｍビットの入力に応じて、アドレス・ジェネレータは、少くとも{[2m1+1]×[2m2 + 1]×...×[2mn+1]}個のアドレスを生成することができる。また、この装置は、それぞれのアドレス可能な値に対応する補間器入力データを記憶するメモリを含む。アドレス・ゼネレータからのアドレスの受取りに応じて、メモリは、対応する補間器入力データを出力する。
【００１５】
【発明の実施の形態】
補間器入力データの経路を決める装置の実施例として、ＲＧＢカラー空間からＣＭＹＫカラー空間へのカラー空間変換について述べるが、この補間器入力データの経路を決める装置が、補間器を使用してデータ変換を実行する他のアプリケーションにも適用できることは、当業者にとって明らかである。補間器は、ハードウェア、ソフトウェア、またはこれらの組み合わせで構成することができる。また、この実施例のオペレーションが、３次元の空間と、補間が実行される領域を定義するために８つの補間器入力データ値を使用する補間器とに関して説明するが、この補間器入力データの経路を決める装置は、ｎ次元の空間で稼動するよう拡張することができる。さらに、例としてのカラー空間変換部は、カラー空間変換に使用される補間器入力データを生成するために１４の入力ビットを使用するが、カラー空間変換部は、必要な補間器入力データを生成するｍビットを使用するように構成してもよい。さらにまた、実施例として、３次元空間のカラー空間から４次元のカラー空間への変換を実行するオペレーションについて説明するが、この記載によって特許請求の範囲を限定するものではない。この明細書中、「補間器入力データ」の語は、補間が実行される領域の境界を定義するために、補間器によって使用されたデータ・セットとして使用される。カラー空間変換に使用されるルックアップ・テーブルは、補間器入力データ値から形成される。
【００１６】
図１は、上述した立方格子からの１つの立方体1を示す。立方格子中の立方体1のそれぞれの頂点の位置は、一組のアドレス・ベクトル、ＲＨ、ＧＨおよびＢＨによって指定される。対応する値を含む立方体の頂点の位置をアドレスするセット・アドレス・ベクトルが、図１に示される。示された頂点のアドレスのそれぞれは、そのうち少くとも１つの成分に１を加え、元の値と異なるアドレス・ベクトルを持つ。立方格子中の立方体を形成する８つの頂点のどのようなセットも、このようにしてアドレスすることができる。
【００１７】
図２において、立方格子10は、頂点の３次元マトリックスから形成される。立方格子10中のそれぞれの頂点は、頂点によって示されるカラー空間値に対応するアドレスを有する。頂点によって表される値を有する位置のアドレスは、ＲＨ、ＧＨおよびＢＨの値によって決定される。Ｒ、Ｇ、およびＢに対応する立方格子のそれぞれの次元が、図２において示されている。図２において、頂点が、立方格子10内の立方体の間で共有されていることが解る。
【００１８】
ＲＧＢカラー空間からＣＭＹＫカラー空間へのカラー空間変換の実行において、ＲＨ、ＧＨおよびＢＨの値は、立方格子内の頂点に対応する値をアドレスするために使用される。値ＲＨ、ＧＨおよびＢＨによって選ばれる立方体の残りの７つの頂点に対応する７つの関連する値が、補間を実行するために使用される。図３を参照して、補間は補間器ブロックに含まれる式を使用して実行される。図３のブロックで示された式にしたがって、ＲＬ’、ＧＬ’、およびＢＬ’（「ＲＬ、ＧＬ、ＢＬ」と「ＲＬ’、ＧＬ’、ＢＬ’」の関係は後述する）が、ＣＭＹＫカラー空間中の１つの次元に対応する立方体内の位置を計算する補間器によって使用される。この位置は、図３に「結果」と表示されたブロックによって示される補間器の出力である。図３に示したように、選ばれた立方体の頂点に関連した８つの値は、補間器の入力に接続される。
【００１９】
この実施例の補間器入力データを生成する装置が、立方体の補間以外の補間処理と互換性を持つことは、当業者にとって明らかである。四面体補間は補間が実行される領域の境界をつけるために４つの値を使用し、プリズム補間は６つの値を使用する。立方体のそれぞれは、選ばれた立方体の頂点が四面体またはプリズムの頂点となり、四面体またはプリズムに区分される。補間器入力データを生成する装置によってアクセスされる８つの値から、該当する４または６つの値を選ぶことによって、所望の四面体またはプリズムが、四面体またはプリズム補間を実行するために形成される。補間器入力データを生成する装置によってアクセスされる８つの値のどれを使用し四面体またはプリズム補間を実行するかの決定は、補間器入力データ値を含むメモリがアクセスされる間にに行われる。
【００２０】
図４は、図３の補間器を使用して達成される補間処理のステップをグラフィック表示したものである。立方格子10のアドレスされた立方体1が示されている。図３の補間計算の先頭の行は、平面21を定義する４つの値ｂ０−ｂ３を生成するために、ＲＬ’セットのビットと８つの値ａ０−ａ７を使用する。この平面のこれらの４つの点ｂ０−ｂ３は、補間計算の先頭の行から生じる４つの値ｂ０−ｂ３に対応する。８つの値ａ０−ａ７は、アドレスされた立方体1の８つの頂点に対応する。先頭の行からの４つの値ｂ０−ｂ３とともにＧＬ’セットのビットは、補間計算の２番目の行で、線22を規定する２つの値ｃ０−ｃ１を算出するために使用される。２つの点ｃ０−ｃ１は、補間計算の２番目の行から生じる２つの値ｃ０−ｃ１に対応する。２番目の行からの２つの値ｃ０−ｃ１とともにＢＬ’セットのビットは、補間計算の３番目の行で、結果を算出するために使用される。点で示される「結果」は、補間計算の結果に対応して、立方体1によって囲まれた容積内に位置する。
【００２１】
この好ましい実施例の補間器入力データを生成する装置において、２４ビットのＲＧＢカラー空間値が、１２ビットのＲＨ、ＧＨ及びＢＨと、１２ビットのＲＬ、ＧＬ及びＢＬに分割されているが、他の分割もできる。例えば、２４ビットのうち、１５ビットをＲＨ、ＧＨ及びＢＨに割当て、９ビットをＲＬ、ＧＬ及びＢＬに割当てて、分割することができる。さらに、高位または低位として指定されたビットが、ＲＨ、ＧＨ、ＢＨの間及びＲＬ、ＧＬ、ＢＬの間で、それぞれ等しく分配される必要はない。例えば、１５ビットが高位ビットに指定されたならば、６ビットがＲＨへ、４ビットがＧＨへ、そして５ビットがＢＨへ割当てられてもよい。大きな数のまたは小さな数の高位ビットを有する分割を選択することによって、ルックアップ・テーブルのサイズと、カラー空間変換の補間精度との間でトレードオフをすることができる。
【００２２】
頂点で形成される立方格子10は、補間で使用されたデータを記憶するルックアップ・テーブルの値のアレイ表示である。それぞれが１６の頂点を持つ３つの次元を有する立方格子10によって表されるカラー空間において、その次元のうちの少くとも１つで、ＲＧＢカラー空間の範囲外で位置決めされた頂点を使用する補間を行っているときに、問題が発生する。ＲＨ、ＧＨまたはＢＨのうちの少くとも１つが、２進数の１１１１の値を持つとき、これが発生する。この場合にアドレスされた頂点は、カラー空間を表している立方格子10の少くとも１つの次元の範囲外で位置決めをされる。範囲外にアドレスされた頂点の特定のロケーションに対応して、補間のために必要とされる７つの関連する頂点に対応する補間器入力データ値が存在するため、補間器入力データを生成することができない。カラー空間の外側の立方体31の残りで、カラー空間を表している立方格子10の境界線上で位置決めされる頂点30を有する立方体の例として、図５において、ＲＨ＝ＧＨ＝ＢＨ＝１１１１で示される。
【００２３】
この問題について言及すれば、ルックアップ・テーブル・データを表わす立方格子は、３つのカラー空間次元Ｒ、Ｇ及びＢの各々で、１７の頂点を持つように拡張される。この結果、変換が実行されるカラー空間の各々の次元に対して１７3＝４９１３のエントリを持つルックアップ・テーブルになる。ＣＭＹＫカラー空間への変換において、ルックアップ・テーブルは、この値の４倍すなわち19,652の値を必要とする。拡張された４９１３個の頂点の立方格子の頂点によって表された値の各々のアドレスを指定するために、ルックアップ・テーブルに記憶されるデータをアドレスするために使用されるアドレスは、ルックアップ・テーブルの19,652の値をアドレスするために十分な数のビットを持たなければならない。代表的な立方格子の拡張は、高位ビットと低位ビットの間で２４ビットの異なる部分について行うことができ、ＲＨ、ＧＨ及びＢＨ間で高位ビットの不均一な分配について行うことができる。
【００２４】
さらに、ルックアップ・テーブルのデータの拡張は、各々ｎ成分を有する入力データ値から各々ｉ成分を有する出力データ値に変換する一般的な場合に、行われる。一般に、ｍ＝ｍ1＋ｍ2＋・・・ｍnに従って入力データ値のｎ個の成分の間で分割されたｍ個の高位のビットについて、拡張ルックアップ・テーブルにおける補間器入力データ値の数は、次の式で算出される。
【００２５】
【数１】
{[2m1 + 1]×[2m2 + 1]×...×[2mn + 1]}× i = ＃補間器入力データ値
【００２６】
メモリと補間処理の組合せは、他にもたくさん存在する。その組合せの選択は、カラー空間変換が実行される速度とハードウェアの複雑性の間で要求される相互調整に依存する。例えば、補間器入力データ値を記憶するメモリは、出力カラー空間のｉ次元の内の１つのみに変換する値を記憶するか、または、ｉ次元の全てに対する補間器入力データ値を記憶することができる。さらに、出力カラー空間のｉ次元のうちの１への変換に使用される要求された８つの値の内の１のみが一度にアクセスされ、または、８つの値の全てが、実質的に同時にアクセスされるので、メモリに記憶された補間器入力データ値を構成することができる。さらに、選ばれたメモリ構成に依存して、１つの補間器が使われてもよく、または出力カラー空間のｉ次元のそれぞれについて１つの補間器が使用されてもよい。
【００２７】
最小限のハードウェアを用いる第１のオプションは、一次元の出力カラー空間への変換を行うために、補間器の入力データ値を１つのメモリの連続的するロケーションに記憶することである。この場合、メモリ内に同時に記憶される補間器の入力データ値の必要数は、{[2m1 + 1]×[2m2 + 1]×...×[2mn + 1]}で計算される。ｎ＝３、ｍ1＝ｍ2＝ｍ3＝４で、これは、メモリに要求される合計４９１３個の記憶場所になる。そして、メモリは、補間に使用される８つの値を得るために個別に８回アクセスされる。１つの補間器は、メモリからの出力である補間器入力データ値をロードし、全ての８つの値をロードした後、補間を実行する。カラー空間変換が、出力カラー空間の４つの次元の各々に対して実行される前に、変換先の出力カラー空間の次元に対応する補間器入力データの組をメモリからロードする。この選択によって、必要とされるハードウェアは最小限のものとなるが、オプション中で最も遅い変換速度となる。
【００２８】
第２のオプションは、入力データ値のうちの１つ値の変換に必要な８つの値の全てがアクセスされ補間器に実質的に同時に出力されるように、出力カラー空間の次元のうちの１つの補間処理を実行するのに必要な補間器の値をメモリに記憶することを含む。これを達成するために、メモリは、各々の８つの補間器の入力データ値をそれぞれ記憶する８つの別々のバンクに分割される。この第２のオプションは、１つの補間器を使用し、メモリは、ｉ次元の全て、または１つの次元のみの補間器入力データ値を記憶する。
【００２９】
第３のオプションは、ｉ次元のそれぞれの全ての８つの補間器入力データ値が、実質的に同時にアクセスできるように、出力カラー空間の全てのｉ次元に変換するのに使用される補間器入力データ値をメモリに記憶する。出力カラー空間のｉ次元の各々へのカラー空間変換が、実質的に同時に実行されるように、８つの補間器入力データ値のｉ個の組のそれぞれは、ｉ個の補間器のうちの１つにロードされる。この第３のオプションは、最も速い変換速度を達成するが、大量のハードウェアを必要とする。メモリ構成と補間処理のこのほかの組合せも可能である。
【００３０】
補間器入力データを生成する装置の好ましい実施例では、静的ランダムアクセス・メモリ（ＳＲＡＭ）の８つのバンクを使用し、ＳＲＡＭの各々が、ＣＭＹＫカラー空間の次元の各々への変換のために、４つの立方格子の頂点に対応して４組の値を含む。ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、またはフラッシュ・メモリのような他のタイプのメモリを、ＳＲＡＭの代わりに使用することもできる。揮発性メモリが使用される場合、８つのメモリバンクは、カラー空間変換の開始に先立ち、補間器入力データでプリロードされる。それぞれのメモリバンクは、ＣＭＹＫカラー空間の次元のうちの１つに、立方体の頂点に対応する８つの値のうちの１つを提供する。メモリは、ＣＭＹＫカラー空間の４つの次元の全てについての値を含むが、補間がカラー空間の対応する次元に対して実行されるときのみ、４つの次元のそれぞれについてのその組の値がアクセスされる。この方法は、順番に画像の色平面を印刷するカラー・プリント機構によく適している。
【００３１】
図６は、補間器入力データの経路を決める装置46を含むカラー空間変換装置40のブロック図である。補間器入力データの経路を決める装置46は、選択的な２の補数回路45とハードウェア補間器44を含む。カラー空間変換装置は、メモリ42とアドレス・ゼネレータ43を含む。メモリ42は、補間器入力データ値を記憶する８つの別々のバンク42ａ−42ｈを含む。メモリ・バンク42ａ−42ｈのそれぞれは、メモリ・アドレス入力とメモリ・データ出力を含む。アドレス・ゼネレータ43への入力は、２４ビットＲＧＢカラー空間値からの３つの組の高位ビットＲＨ、ＧＨ及びＢＨと、変換のためにカラー空間のＣＭＹＫ次元のうちの１つを選ぶ２つのＣＭＹＫビットを含む。一般に、ｊビットは、出力カラー空間の任意の次元数のうちの１つを選ぶために使用される。実施例において、ＲＨ、ＧＨ及びＢＨのそれぞれは、４ビットで形成される。アドレス・ゼネレータ43のアドレス出力のそれぞれは、それぞれが８つのメモリ・バンク42ａ‐42ｈのうちの１つに対応する、８つの組の１２ビットを含む。メモリ42のメモリ・データ出力は、８ビットの８つの組（８ビットの１つの組が８つのメモリ・バンク42ａ‐42ｈのそれぞれに対応する）を含む。これらのビットの８つの組のそれぞれは、ハードウェア補間器44の８つの補間器入力ａ０−ａ７のうちの１つに接続されている。３つの組の高位ビットＲＨ、ＧＨ及びＢＨの最下位のビットと同様に、３つの組の低位ビットＲＬ、ＧＬ及びＢＬは、ＲＬ、ＧＬ及びＢＬの２の補数処理を選択的に生成する選択的な２の補数回路45への入力である。選択的な２の補数回路45の出力ＲＬ’、ＧＬ’およびＢＬ’は、ハードウェア補間器44への入力である。
【００３２】
アドレス・ゼネレータ43からの１２ビット出力の８つの組のそれぞれは、一次元のＣＭＹＫカラー空間に対応するメモリ42に記憶された補間器入力データ値の４つの組のうちの１つの選択に使用される２ビットを含む。残りの１０ビットの８つの組は、変換先のＣＭＹＫカラー空間の次元に対応する立方格子の頂点を選ぶために使用される。８つのメモリ・バンク42ａ‐42ｈのそれぞれの１２ビットで、８つのメモリ・バンク42ａ‐42ｈのそれぞれで２12＝４０９６のロケーション、即ち合計32,768のロケーションをアドレスする能力がある。しかしながら、上述したように、立方格子のそれぞれの次元に対して１７の頂点を有する拡張立方格子を使用して、ＲＧＢをＣＭＹＫカラー空間に変換するために、メモリ42は、32,768のロケーションを含む必要はない。
【００３３】
メモリ42におけるロケーションが、４つの立方格子の頂点のアドレスに対応し、１つの立方格子が、変換先のＣＭＹＫカラー空間のそれぞれの次元に対応する。４つの次元の立方格子の立方体の頂点に関連する８つの値へのアクセスが、実質的に同時に１回で８つのメモリ・バンク42ａ‐42ｈのそれぞれにアクセスすることによって実行できるので、ロケーションは、８つのメモリ・バンク42ａ‐42ｈのそれぞれの間で分割される。この明細書において、「実質的に同時に」という文言は、メモリ・バンク42ａ‐42ｈのそれぞれのメモリ・アクセス・タイムの許容範囲内で、８つの値のアクセスをおよそ同じ瞬間で行うときに使用される。メモリ42におけるロケーションの分割は、入力ＲＨ、ＧＨ及びＢＨに対応するアドレス・ゼネレータの出力の要求された組と、カラー空間変換次元を選ぶために使用される２つのビットを決定する。
【００３４】
立方格子の頂点に対応するアドレスの偶数または奇数の概念は、８つのメモリ・バンク42ａ‐42ｈのうちの１つのロケーションに記憶する対応値を指定するために使用される。図１において、立方体1は、頂点のそれぞれに対応するアドレスで示される。８つの頂点の相対アドレスの組は、{RH, GH, BH} {RH, GH+1, BH} {RH, GH, BH+1} {RH, GH+1, BH+1} {RH+1, GH, BH} {RH+1, GH, BH+1} {RH+1, GH+1, BH} {RH+1, GH+1, BH+1}を含む。ＲＨ、ＧＨおよびＢＨから形成された立方格子の頂点のアドレスは、立方格子中の立方体の８つの頂点に関連する８つの値を生成するために、立方格子へのエントリ・アドレスとされる。立方格子の中の頂点のエントリ・アドレスに応じて、アドレス・ジェネレータ43は、メモリ42からハードウェア補間器44にロードされる８つのアドレス対応値を生成する。
【００３５】
３つの次元のそれぞれで１７の頂点を持つ立方格子が、個別にそれぞれの頂点を示し、原点の頂点は、（０、０、０）の表示であり、原点から最も遠い距離の頂点は、（１６、１６、１６）の表示である。立方格子の頂点のそれぞれは、その成分が奇数か偶数かによって分類することができる。例えば、ラベル（１、２、３）の頂点は、（Ｏ、Ｅ、Ｏ）として分類される。立方格子の立方体の８つの頂点に対応する８つの相対アドレスの組に対して、それぞれの頂点は、個別の分類化を、ラベルの奇数または偶数に関する他の頂点と関係付けて行う。すなわち、立方の格子のそれぞれの頂点は、その相対アドレスの奇数または偶数に関する分類、即ち、（Ｅ、Ｅ、Ｅ）、（Ｅ、Ｅ、Ｏ）、（Ｅ、Ｏ、Ｅ）、（Ｏ、Ｅ、Ｅ）、（Ｅ、Ｏ、Ｏ）、（Ｏ、Ｅ、Ｏ）、（Ｏ、Ｏ、Ｅ）、または（Ｏ、Ｏ、Ｏ）のうちの１である。
【００３６】
それぞれの次元の頂点を０から１６で示す、３つの軸のそれぞれの１７の頂点を有する立方格子において、それぞれ８つの偶数と奇数の分類を含む頂点の数を、計算することができる。０から１６の範囲の整数では、９つの偶数の値（0、2、4、6、8、10、12、14、16）と８つの奇数の値（1、3、5、7、9、11、13、15）がある。偶数と奇数の８つのカテゴリーに割当てられるメモリロケーションの全ての数を計算する式は、以下の通りである。
【００３７】
【数２】
（偶数または奇数の数）×（偶数または奇数の数）×（偶数または奇数の数）×（出力カラー空間次元の数）＝（メモリロケーションの数）
【００３８】
ＣＭＹＫカラー空間（次元数＝４）への変換で使用される立方格子の頂点に対応するアドレスについて可能な偶数及び奇数の分類のそれぞれに、数２の公式を適用すると、表１に示される結果を生じる。
【００３９】
【表１】
アドレス分数      メモリ領域の数
Ｅ，Ｅ，Ｅ          ２９１６
Ｅ，Ｅ，Ｏ          ２５９２
Ｅ，Ｏ，Ｅ          ２５９２
Ｅ，Ｏ，Ｏ          ２３０４
Ｏ，Ｅ，Ｅ          ２５９２
Ｏ，Ｅ，Ｏ          ２３０４
Ｏ，Ｏ，Ｅ          ２３０４
Ｏ，Ｏ，Ｏ          ２０４８
【００４０】
それぞれの分類に対するテーブルのメモリロケーションの数の合計は、上述したように19,652に等しく、それは、ＣＭＹＫカラー空間の全ての次元にカラー空間変換を行うために必要なメモリロケーションの数である。上述したように、１２ビットは、８つのメモリ・バンクのそれぞれの全てのメモリロケーションをアドレスするのに十分である。しかしながら、（Ｏ、Ｏ、Ｏ）として分類されるメモリ・バンクは、２０４８の記憶ロケーションにアクセスするために１１ビットのみを要求する。このため、１１ビットのみが（Ｏ、Ｏ、Ｏ）メモリ・バンクの記憶ロケーションにアクセスするために使用される。
【００４１】
それぞれの頂点に関連する値を、偶数及び奇数の分類に基づいた８つのメモリ・バンク42ａ‐42ｈのうちの１つに割当てることによって形成される区分けによって、立方格子の立方体の８つの頂点に対応する８つの値が、８つのメモリ・バンク42ａ‐42ｈのそれぞれへの１回の同時アクセスで、ハードウェア補間器44にロードされる。８つのメモリ・バンク42ａ‐42ｈのそれぞれに提供された１２のアドレス・ビットは、８つのメモリ・バンク42ａ‐42ｈのそれぞれに対して4096のメモリロケーション、即ち、合計32,768のメモリロケーションをアドレスするのに十分な数のビットである。しかし、アドレス・ジェネレータ43の８つの出力は、拡張ルックアップ・テーブルの値に対応する８つのメモリ・バンク42ａ‐42ｈの19,652のロケーションだけに対するアドレスを生成する。
【００４２】
好ましい実施例において、カラー空間変換装置40は、もっぱらアプリケーション特定集積回路（ＡＳＩＣ）上で実行される。この実行は、メモリ42のレイアウトがＡＳＩＣ上でダイ（die）空間の使用を最小にすることを必要とする。８つのメモリ・バンク42ａ‐42ｈのうちの７つは、最も近い標準的なＲＡＭサイズの2048バイトと4096バイトの間に、バイト数を記憶しなければならない。（Ｏ、Ｏ、Ｏ）分類を有するそれらのアドレスに対応するＲＡＭは、2048バイトを記憶しなければならない。バイトの標準に合ってない数を記憶しなければならない８つのメモリ・バンク42ａ‐42ｈのうちの７つに対して、カスタム・サイズのＲＡＭを使用することによって、ＡＳＩＣダイ空間のより効率的な使用が達成される。
【００４３】
図１３は、拡張ルックアップ・テーブルのデータ値を表している立方格子の区画を示す。Ｒ、Ｇ、Ｂ次元のそれぞれで、１６の頂点を持つ立方格子10は、4096のデータ値を表す。Ｒ面70は、１つの頂点によって、Ｒ次元の立方格子の拡張に関連する256のデータ値を表す。同様に、それぞれＧ面71及びＢ面72も、１つの頂点によってＧ及びＢ次元の立方格子10の拡張からそれぞれ生じる256のデータ値を表す。ＢＧ73、ＲＢ74及びＲＧ75の「バー」（ＢＧ、ＲＢ及びＲＧの指定は、それぞれの面の交軸でのバーのロケーションから始まる）は、Ｒ、Ｇ及びＢ面の交軸であるエッジを表す。これらのバーのそれぞれは、拡張ルックアップ・テーブルの１６のデータ値を表す。ＲＧＢ立方体76は、ラベル（16、16、16）を有する頂点に関連するデータ値を表す。このように、１６の頂点／軸立方格子（4096）、Ｒ面（256）、Ｇ面（256）、Ｂ面（256）、ＢＧバー（16）、ＲＢバー（16）、ＲＧバー（16）及びＲＧＢ立方体（1）のこれらのデータ値の合計は、4913になる。メモリ・バンク42ａ‐42ｈは、ＣＭＹＫ出力カラー空間のそれぞれの次元への変換のためのに、４つのこれらの拡張立方格子のデータ値を記憶する。
【００４４】
アドレス・ゼネレータ43によって、８つのメモリ・バンク42ａ‐42ｈにカスタム・サイズのＲＡＭが使用できる。アドレス・ゼネレータ43は、１２ビットの連結されたＲＨ、ＧＨ及びＢＨと、２つのＣＭＹＫ選択ビットを、８つのメモリ・バンク42ａ‐42ｈのそれぞれに対応する８つの１２のビット・アドレスにマッピングする。ＲＧＢカラー空間のそれぞれの次元に対する４つの高位ビットが、最上位から最下位まで、RH(7), RH(6), RH(5), RH(4), GH(7), GH(6), GH(5), GH(4), BH(7), BH(6), BH(5), BH(4)の様に指定される。図１４〜２１は、８つのメモリ・バンク42ａ‐42ｈのそれぞれに対して生成されたアドレス値の範囲を示す一連のテーブルである。テーブルは、アドレスされたデータ値を含む図１３の中で示された拡張立方格子の部分に基づいて生成されたアドレスを分類する。また、テーブルは、どの高位ビットが、それぞれの分類の範囲内のアドレスを決定するために使用されるのかを示す。テーブルで示されたように、アドレスを生成するのに直接使用されないＲＧＢ入力カラー空間の次元の高位ビットは、分類を選ぶために使用される。「Ｐ（０）」及び「Ｐ（１）」で指定されたアドレスのビットは、ＣＭＹＫ選択ビットを表す。Ｐ（０）及びＰ（１）ビットが出力カラー空間のそれぞれの次元を表すために割当てられる方法を以下に示す。
【００４５】
【表２】
Ｐ（１）Ｐ（０）      出力カラー空間次元
００                  Ｙｅｌｌｏｗ
０１                  Ｍａｇｅｎｔａ
１０                  Ｃｙａｎ
１１                  Ｂｌａｃｋ
【００４６】
図１４〜２１のテーブルにおいて、アドレスを生成するアドレス・ゼネレータ43を設計するために使用される方法は、ディジタルの技術分野の当業者に良く知られている。
【００４７】
図３で示されるように、ハードウェア補間器44は、立方体の８つの頂点によって表された値で補間を実行する。ハードウェア補間器44から正しい出力を得るために、値が対応する立方体の頂点のロケーションに関して、８つのメモリ・バンク42ａ‐42ｈの出力からハードウェア補間器44の８つの入力へ値を提示しなけれなければならないことが当業者に知られている。ハードウェア補間器44の設計の方法は、ディジタル分野の当業者によく知られている。
【００４８】
図３で示された補間処理のブロック図は、並列縦続（parallel cascade）補間器のものである。しかしながら、ハードウェア補間器44は、並列縦続または直列反復的タイプである。並列縦続タイプは、より速く補間を実行するために、ハードウェア要件による費用を増して、補間処理のそれぞれの計算に対してハードウェア計算ブロックを使用する。直列反復的タイプは、繰返して、１つのハードウェア計算ブロックを使用することによって、計算速度を減少させて、より少ないハードウェアで充分なものとしている。本実施例において、１つの並列縦続補間器は、出力ＣＭＹＫカラー空間の４つの次元のそれぞれに対して、一度に１つの次元に対して補間計算を実行するために使用される。カラー空間変換は、実質的に同時に、それぞれの次元に対して補間を実行するために４つの補間器を使用することによって、より速く実行することができる。この実行は、必然的にハードウェア要求を増大させる。
【００４９】
図７において、立方体50は、頂点の相対アドレス及び頂点の番号で示される。図８に示されるのは、立方格子へのエントリのための初期アドレスとして残りの７つの番号をつけた頂点のそれぞれを考慮して形成された立方体であり、選ばれた頂点は、その７つの関連する頂点において、立方体60の０番の頂点と同じ方位を持つ。これを明確に示すために、立方体60に関連する７つの立方体のそれぞれを別々に示す。立方体の８つの頂点の相対アドレスは、立方格子の立方体内で同じ頂点番号に関連する。立方格子は、立方格子中の立方体の方位に基づいて、立方体60に対応して番号付けされた複数の立方体を含む。図６に示されたカラー空間変換装置において、メモリ・バンク42ａ‐42ｈの出力のそれぞれは、それぞれ、補間器の入力ａ0-ａ7に物理的に組み込まれている。正確に補間を実行するために、ある立方体の頂点０−７によって表された値は、立方格子へのエントリに使用される頂点の偶数または奇数で特徴付けられる表示に従って、補間器の対応する入力ａ0-ａ7に論理上接続する必要がある。これは、立方格子の頂点のアドレスの偶数か奇数に基づいて、８つのメモリ・バンク42ａ‐42ｈに８つの値を記憶することによって複雑なものになっている。
【００５０】
図１０に示すのは、メモリ・バンク42のメモリ出力が伝えられる図３の補間器入力（ａ0-ａ7）のリストを有するテーブルである。図１０のテーブルは、番号０の頂点がそれに割当てられたアドレス（ＲＨ、ＧＨ、ＢＨ）を有する、立方格子中の立方体を選ぶことによって生成される。次いで、（（ＲＨ、ＧＨ、ＢＨ）に関連するアドレスによってリストされる）選択された立方体の８つの頂点のそれぞれがカラー空間変換を実行するための立方格子へのエントリの初期アドレスに順次なるケースについて、立方体を形成する８つの頂点を与えるようにメモり出力が論理的に接続される補間器入力をリストしてある。立方格子へのエントリのための初期アドレスになる選ばれた相対アドレスについて、（それぞれの列の見出しで指定されるように）、８つのメモリ・バンク42ａ‐42ｈの出力が論理的に接続されるべき補間器の入力が、相対アドレスに関連する行にリストされている。例えば、相対アドレス（ＲＨ、ＧＨ、ＢＨ）を有する頂点が、（Ｅ、Ｅ、Ｅ）として分類されるならば、立方格子へのエントリ頂点として相対アドレス（ＲＨ、ＧＨ、ＢＨ＋1）を有する頂点を使用して形成された立方体におけるメモリと補間器入力と間の論理接続は、以下のようになる。
【００５１】
【表３】
(E,E,E)  (O,E,E)  (E,O,E)  (O,O,E)  (E,E,O)  (O,E,O)  (E,O,O)  (O,O,O)
a4       a4       a6       a7       a0       a1       a2       a3
【００５２】
図１０のテーブルから解るように、８つのメモリ・バンク42ａ‐42ｈの全てにおいて、そのそれぞれの出力値が、立方格子へのエントリとして使用される頂点のアドレスに従って、論理的に補間器入力のそれぞれに接続される必要がある。
【００５３】
この論理接続を実行する従来の方法は、８つのメモリ・バンク42ａ‐42ｈの出力を正しい補間器入力に送るためにマルチプレクサを使用していた。この問題を解決するために、図３の補間器にＲＬ、ＧＬ及びＢＬ入力の組合せの２の補数処理を使用することによって、たとえハードウェア補間器43の入力ａ0-ａ7へのメモリ42の出力の接続が固定されたとしても、メモリ・バンク42ａ‐42ｈの出力を使用する補間処理が正確に実行されることが認められた。ＲＬ、ＧＬ及びＢＬの組合せの２の補数処理を使用することによって、メモリ・バンク42ａ‐42ｈの出力の経路選択を数学上完成することができる。図６で示されるように、８つのメモリ・バンク42ａ‐42ｈの出力は、それぞれ、補間器43の入力ａ0-ａ7に接続される。この接続において、０で示した頂点が偶数、奇数に関して（Ｅ、Ｅ、Ｅ）と分類される場合、２の補数処理オペレーションを適用することなく、ＲＬ、ＧＬ及びＢＬを使用して、正しい補間処理の結果を得ることができる。
【００５４】
図９を参照して、図８の立方体60の７番の頂点に対応するアドレスを立方格子へのエントリ・アドレスとして使用して、カラー空間変換を実行する場合を考える。図９において、立方体６０と７番の頂点を使用して形成された立方体６１の両方について、頂点のそれぞれが、頂点のアドレスの成分の偶数性（Ｅ）または奇数性（Ｏ）に関して示される。図１０のテーブルから解るように、頂点７が（Ｏ、Ｏ、Ｏ）として分類される場合、補間処理で正しい結果が得られるためには、８つのメモリ・バンク42ａ‐42ｈの出力が、ハードウェア補間器43のそれぞれの入力ａ7-ａ0に論理上対応しなければならない。図３の補間処理においてＲＬ、ＧＬ、ＢＬが生じるごとに、これらの値の２の補数処理が代用されるならば、得られた最終結果は正しい。図３で示された補間処理について、ＲＬ、ＧＬ及びＢＬの２の補数処理は、それぞれ16‐ＲＬ、16‐ＧＬ及び16‐ＢＬである。例えば、以下を含む図３の補間処理のブロックを考慮する。
【００５５】
【数３】
[{(a1-a0) × RL'} ÷ 16] + a0
【００５６】
「１６−ＲＬ」が「ＲＬ’」の代りに用いられるならば、結果として以下のようになる。
【００５７】
【数４】
[{(a0-a1) x RL} ÷ 16] + a1
【００５８】
対応する計算のブロックの中でａ0とａ1値の位置を切り換える効果がある。図３のＲＬ’、ＧＬ’およびＢＬ’のそれぞれの２の補数処理の置換を実行し、補間処理式を発生する代数操作を完了することによって、元の式に関連して、ａ0-ａ7が、それぞれａ7-ａ0に置き換えられる。したがって、２の補数処理を使用することによって、補間式の８つのメモリ・バンク42ａ‐42ｈの出力の配置が正確に実行される。
【００５９】
図８の中で立方体60の残りの６つの頂点に対応するアドレスが、立方格子へのエントリ・アドレスとして使用される場合、ＲＬ、ＧＬ及びＢＬの組合せの２の補数処理オペレーションを選択的に実行することによって、上述した方法と同様にして、正しい補間処理の表現を生じる。カラー空間変換を実行しているとき、正しい補間表示を生じるために、１又は複数のＲＬ、ＧＬ及びＢＬで、２の補数処理オペレーションを実行する必要があるかどうかは、立方格子へのエントリ・アドレスとして使用される頂点に対応しているアドレスの偶数か奇数かの分類に依存する。ＲＨ、ＧＨ及びＢＨの偶数及び奇数の分類に応じて、ＲＬ、ＧＬ及びＢＬで、２の補数処理を実行する必要があるかどうかが、以下の表４に示される。
【００６０】
【表４】
0003976849.tif 000002
【００６１】
選択的な２の補数回路45は、表４で示されるようにそれぞれＲＨ、ＧＨ及びＢＨの偶数または奇数の分類に応じて、１又は複数のＲＬ、ＧＬ及びＢＬについて２の補数処理機能を選択的に実行する機能を含む。
【００６２】
図６の選択的な２の補数回路45の一実施例を、図１１に示す。ビットの高位グループのそれぞれの最下位ビット｛ＲＨ（４）、ＧＨ（４）、及びＢＨ（４）｝は、それぞれＲＬ、ＧＬ及びＢＬ上の２の補数処理のオペレーションの選択的なパフォーマンスを制御するために使用される。１又は複数のビットＲＨ（４）、ＧＨ（４）及びＢＨ（４）が１の値を持つとき、対応するＲＨ、ＧＨ及びＢＨの値は奇数であり、したがって、２の補数処理がそれぞれのＲＬ、ＧＬ及びＢＬ上で実行される必要がある。選択的な２の補数回路45は、ＲＬ、ＧＬ及びＢＬのそれぞれに１つずつの、３つの別々の２の補数回路45ａ‐45ｃを含む。３つの２の補数回路45ａ‐45ｃのそれぞれは、一組の排他的ＯＲゲート45ａ1‐45ｃ4と二進増分器45ａ5-45ｃ5を含む。一組の排他的ＯＲゲート45ａ1‐45ｃ4のそれぞれの入力は、ＲＬ、ＧＬ及びＢＬのそれぞれからの４ビットと、最下位ビットＲＨ（４）、ＧＨ（４）及びＢＨ（４）との、それぞれから成る。２進増分器45ａ5-45ｃ5のそれぞれは、関連するＲＨ（４）、ＧＨ（４）及びＢＨ（４）ビットの値を排他的ＯＲゲート45ａ1‐45ｃ4の出力に加える。２進増分器45ａ5-45ｃ5のそれぞれの出力は、５ビットを含む。２の補数処理は、排他的ＯＲゲート45ａ1‐45ａ3、45ｂ1‐45ｂ3及び45ｃ1-45ｃ3を使用し、ＲＨ（４）、ＧＨ（４）及びＢＨ（４）をそれぞれ、２進増分器45ａ5-45ｃ5を使用して得た結果に加えて、（対応するＲＨ（４）、ＧＨ（４）またはＢＨ（４）が奇数か否かに依存して）選択的にＲＬ、ＧＬまたはＢＬを逆にすることによって実行される。選択的な２の補数回路45を設計するのに使用される技術は、ディジタル設計の分野ではよく知られている。
【００６３】
カラー空間変換装置40の好ましい実施例において、カラー空間変換の速度を最大にするために、ＡＳＩＣで実行される。しかしながら、当業者に知られているように、カラー空間変換装置のＡＳＩＣの実行によって処理される機能は、マイクロプロセサを使用して達成される。例えば、選択的な２の補数回路45の割当てられるハードウェアを使用して実行される機能は、マイクロプロセサのオペレーションを通じて達成される。さらに、ハードウェア補間器44及びアドレス・ゼネレータ43によって実行される機能は、マイクロプロセッサを使用して達成される。マイクロプロセッサの使用において、カラー空間変換器の簡単なハードウェア設計と変換速度とが調整される。
【００６４】
本実施例の補間器入力データを生成する装置を使用して補間器入力データを生成する方法のフローチャートを、図１２に示す。補間器入力データの生成に先立ち、８つのメモリ・バンク42ａ‐42ｈは、変換が行われる出力カラー空間のそれぞれの次元の立方格子の頂点に対応する補間器入力データ値をロードしなければならない（100）。連続したＲＧＢ入力データ値がカラー空間変換を経るように、このメモリ初期化ステップは、カラー空間変換の開始に先立ち実行され、繰り返されない。次に、アドレス・ゼネレータ43は、変換が行われる出力カラー空間の次元を選ぶために、高位ビットＲＨ、ＧＨ、ＢＨ、及びＣＭＹＫビットをロードする（101）。そして、アドレス・ゼネレータ43は、ロードされた高位ビット及びＣＭＹＫビットによって、定義された立方体の頂点に対応する８つのアドレスを生成する（102）。次に、８つのアドレスが、８つのメモリ・バンク42ａ‐42ｈをアクセスするために使用される（103）。最後に、８つのメモリ・バンク42ａ‐42ｈのそれぞれは、それぞれ、補間器ａ0-ａ7の８つの入力のそれぞれに対してデータ値を出力する（104）。
【００６５】
図６のカラー空間変換装置40の実施例が、１つのＡＳＩＣ上で完全に実行される。ジョーンズによる米国特許番号第08／375,096号において、出力ＣＭＹＫカラー空間のそれぞれの次元への変換での補間処理に使用される立方格子は、それぞれの軸に沿って１６の頂点、即ち、それぞれの４つの立方格子中に、合計4096の頂点を含む。4096の補間器入力データ値は、８つの標準サイズの512バイトのメモリ・バンクに仕切られる。８つのメモリ・バンクは、変換が行われる出力ＣＭＹＫカラー空間の次元に対応する4096の補間器入力データ値でロードされる。512のバイト・メモリのそれぞれの領域は、直接ＲＨ、ＧＨ及びＢＨの値から形成された９ビットのアドレスを完全にデコードすることによってアクセスされる。対照的に、このアプリケーションの補間器入力データを生成する装置は、４つの立方格子、4096の頂点立方格子、及びそれぞれの軸上の１７番目の頂点に対応する立方格子の拡張部分のそれぞれに対応する補間器入力データ値にアクセスするアドレスを生成する。このことは、ＲＨ、ＧＨ及びＢＨのうちの少なくとも１つが、１１１１の２進値を持つ特別な場合を検出するアドレス・ゼネレータのハードウェアを必要とし、立方格子の拡張部分に位置取られる頂点に対応するそれらの補間器入力データ値にアクセスするために必要なアドレスを生成する。このような機能は、ジョーンズの特許で示されたアドレス・ゼネレータには含まれていない。
【００６６】
サカモトによる米国特許第4,275,413号において、四面体を使用するカラー空間を補間する方法と装置が示される。３つのＲＧＢ値によって表された走査画像は、対数的に変換され、ディジタル化されて、それぞれのＲＧＢ成分に対して、高位と低位ビットに分割される。３組の高位ビットは、補間に使用された四面体の４つの点にアクセスするために使用される。対照的に、カラー空間変換装置40の実施例では、補間が実行される立方体の８つの頂点のうちの１つに対応する１つの値をそれぞれ含む、８つのメモリのアドレスを形成する。サカモトの特許は、本発明のように、拡張ルックアップ・テーブルも、そのルックアップ・テーブルにアクセスするアドレスを生成するために使用されるアドレス・ゼネレータも、また、補間器内の補間器入力データを、数学的に切換えるために、補間器入力データの経路を決める装置の使用も示していない。
【００６７】
パグスレィによる米国特許第3,893,166号において、ＲＧＢカラー空間とＣＭＹＫカラー空間の間でのカラー空間変換の方法と立方体の補間を使用するカラー空間の補正方法が示されている。これらの方法は、補間のために使用された値を持つメモリへのアドレスを生成するためにデジタル・コンピュータを使用する。カラー空間変換を実行するために割当てられたハードウェアは、示されていない。
【００６８】
クラークによる米国特許第4,477,833号において、入力値の補正を有する４つのベクトルの対応するセットを含むメモリをアドレスするために、ＲＧＢカラー空間入力の低位ビットに基づいて生成された一組の４つのベクトルを使用するカラー空間変換の装置と方法が示されている。これらの補正ベクトルは、画像を走査することから生じるＲＧＢカラー空間値で引き起こされた変化を補正する。４つのベクトルの元のセットから得られる一組の差分値に沿った補正ベクトルの成分は、出力カラー空間にＣＭＹＫ値を補間するために使用される。カラー空間変換装置の本実施例では、補間に使用される値を選ぶ異なる方法を利用し、それは、異なる補間技術を使用する。さらに、クラークの特許は、拡張ルックアップ・テーブルも、そのルックアップ・テーブルにアクセスするアドレスを生成するために使用されるアドレス・ゼネレータも、また、補間器内の補間器入力データを数学的に切換えるために補間器入力データの経路を決める装置の使用も示していない。
【００６９】
本発明は、例として以下の実施態様を含む。
（１）それぞれがｎ個の成分を持つ入力データ値をそれぞれがｉ個の成分を持つ出力データ値に変換するために使用される補間器入力データを生成する装置であって、前記ｎ個の成分は、ｎ組の高位ビットを形成するようそれぞれが分割された対応するｎ組のビットによって表され、ｍ1＋ｍ2＋．．．＋ｍn＝ｍである、前記ｎ組の高位ビットに対応するｍビットを受取る、少なくとも{[2m1+1]×[2m2+1]×...×[2mn+1]}のアドレスを生成する手段と、前記アドレスを生成する手段から前記アドレスを受取り、対応する前記補間器入力データを出力するメモリと、を備える前記装置。
（２）前記ｎ個の成分は、ｎ次元の第１の空間に対応し、前記ｉ個の成分は、ｉ次元の第２の空間に対応し、前記アドレスを生成する手段は、前記ｎ個の成分を変換する前記ｉ次元のうちの１つを連続的に選ぶｊビットを受取ることができ、少なくとも({[2m1+1]×[2m2+1]×...×[2mn+1]}×i)のアドレスを生成し、前記メモリは、少くとも({[2m1+1]×[2m2+1]×...×[2mn+1]}×i)の記憶領域を含む、（１）記載の装置。
（３）ｎは３に、ｉは４に、そして、ｊは２に等しく、前記メモリは、それぞれがメモリ・アドレス入力とメモリ・データ出力を持つ８つのメモリ・バンクを含み、前記８つのメモリ・バンクへの前記記憶領域の指定は、前記記憶領域に記憶されている前記補間器入力データの偶数及び奇数の分類に従って発生する、（２）記載の装置。
【００７０】
（４）前記アドレスを生成する手段は、アドレス・ゼネレータを含み、前記アドレス・ゼネレータは、それぞれが前記メモリ・アドレス入力のうちの１つと結合される８つのアドレス出力を含み、前記ｍビットと前記ｊビットの受取りに応じて、実質的に同時に、前記８つのアドレスを生成し、ｍ1、ｍ2及びｍ3はそれぞれ、４に等しく、前記第１の空間は、ＲＧＢ、Ｌａｂ、ＸＹＺ、ＨＳＶ、Ｌｕｖ、及びＨＬＳカラー空間から成るグループから選ばれたカラー空間を含み、前記第２の空間は、ＣＭＹＫカラー空間を含む、（３）記載の装置。
（５）ｎ個の成分によって表されるｎ次元を有する入力カラー空間からのカラー空間入力データを、ｉ個の成分によって表されるｉ次元を有する出力カラー空間のカラー空間出力データに変換するカラー空間変換装置において、前記ｎ個の成分は、それぞれが一組の高位ビットと一組の低位ビットに仕切られたｎ組のビットによって表され、ｍ1＋ｍ2＋．．．ｍn＝ｍである、前記ｎ組の高位ビットを表す前記ｍビットを受取り、少なくとも{[2m1+1]×[2m2+1]×...×[2mn+1]}のアドレスを生成する手段と、前記アドレスを生成する手段から前記アドレスを受取り、少なくとも{[2m1+1]×[2m2+1]×...×[2mn+1]}の記憶領域を有するメモリと、前記記憶領域に記憶されている補間器入力データを出力する手段と、それぞれが、前記補間器入力データを出力する手段に接続され、補間処理を実行する少くとも１つの手段と、前記補間処理を実行する手段のそれぞれに接続され、前記ｎ組の低位ビットと、前記ｎ組の高位ビットのそれぞれからの最下位ビットとを受取り、前記最下位ビットの状態に応じて、前記ｎ組の低位ビットの２の補数処理を選択的に実行し、前記ｎ組の低位ビットの前記選択的な２の補数処理を、前記補間処理を実行する手段のそれぞれに提供する、選択的な２の補数処理を実行する手段と、を備える前記装置。
【００７１】
（６）前記入力カラー空間は、ＲＧＢ、Ｌａｂ、ＸＹＺ、ＨＳＶ、Ｌｕｖ、ＨＬＳ、及びＣＭＹカラー空間から成るグループから選ばれるカラー空間を含み、前記出力カラー空間は、ＲＧＢ、Ｌａｂ、ＸＹＺ、ＨＳＶ、Ｌｕｖ、ＨＬＳカラー空間、及びＣＭＹＫカラー空間から成るグループから選ばれるカラー空間を含み、ｍ1、ｍ2、及びｍ3は、それぞれ４に等しい、（５）記載の装置。
（７）前記入力カラー空間は、ＲＧＢカラー空間を含み、前記出力カラー空間は、ＣＭＹＫカラー空間を含み、前記アドレスを生成する手段は、少くとも({[2m1+1]×[2m2+1]×[2m3+1]}×4)の前記アドレスを生成し、前記カラー空間入力データを変換する前記ＣＭＹＫカラー空間の１つの成分を連続的に選ぶために、付加される２ビットを受取ることができ、前記メモリは、それぞれがメモリ・アドレス入力を有する８つのメモリ・バンクに分割される、少くとも({[2m1+1]×[2m2+1]×[2m3+1]}×4)の前記記憶領域を含み、前記８つのメモリ・バンクへの前記記憶領域の指定は、前記記憶領域に記憶されている前記補間器入力データの偶数及び奇数の分類に従って発生し、前記補間器入力データを出力する手段は、前記メモリ・バンクのそれぞれに対するメモリ・データ出力を含み、前記アドレスを生成する手段は、それぞれが前記メモリ・アドレス入力のうちの１つに接続される８つのアドレス出力を有するアドレス・ゼネレータを含み、前記アドレス・ゼネレータは、前記ｍビットと前記２ビットの受取りに応じて、実質的に同時に、前記アドレスのうちの８つを生成し、前記補間処理を実行する手段は、ハードウェア補間器を含み、前記ハードウェア補間器は、前記メモリ・データ出力のそれぞれに接続された８つの補間器入力を含み、 前記選択的な２の補数処理を実行する手段は、選択的な２の補数回路を含む、（６）記載の装置。
【００７２】
（８）対応するｎ次元を有する第１の空間からのｎ個の成分を有する入力データ値を、対応するｉ次元を有する第２の空間にｉ個の成分を有する出力データ値に変換するための補間器入力データを生成する装置において、前記ｎ個の成分は、それぞれがｎ組の高位ビットを形成するために仕切られたｎ組のビットに対応することによって表され、前記装置は、ｍ1＋ｍ2＋．．．ｍn＝ｍである、前記ｎ組の高位ビットに対応するｍビットを受取るアドレス・ゼネレータを有し、前記アドレス・ゼネレータは、少なくとも{[2m1+1]×[2m2+1]×...×[2mn+1]}のアドレスを生成し、前記装置は、前記アドレス・ゼネレータから、前記アドレスを受取って、前記補間器入力データを出力するメモリを含み、前記メモリは、少くとも{[2m1+1]×[2m2+1]×...×[2mn+1]}の記憶領域を有し、前記補間器入力データを生成する方法であって、前記ｍビットを前記アドレス・ゼネレータへロードするステップと、前記アドレスのうちの少くとも１つを生成するステップと、前記補間器入力データを含む前記メモリ内の前記記憶領域のうちの少くとも１つに、前記アドレスのうちの少くとも１つでアクセスするステップと、前記補間器入力データを出力するステップと、を含む前記方法。
（９）前記メモリは、({[2m1+1]×[2m2+1]×...×[2mn+1]}×i)の記憶領域を含み、前記アドレス・ゼネレータは、前記ｎ成分を変換する前記第２の空間の前記ｉ次元の１つを連続的に選択するためにｊビットを受取り、少くとも({[2m1+1]×[2m2+1]×...×[2mn+1]}×i)のアドレスを生成し、前記ロードするステップは、前記ｊビットを前記アドレス・ゼネレータにロードするステップを含む、（８）記載の方法。
（１０）前記第１の空間は、入力カラー空間を含み、前記第２の空間は、出力カラー空間を含み、前記入力カラー空間は、ＲＧＢカラー空間を含み、前記出力カラー空間は、ＣＭＹＫカラー空間を含み、ｍ1、ｍ2、及びｍ3は、それぞれ４に等しく、前記メモリは、それぞれがメモリ・アドレス入力とメモリ・データ出力を持つ８つのメモリ・バンクを含み、前記８つのメモリ・バンクへの前記記憶領域の指定は、前記記憶領域に記憶されている前記補間器入力データの偶数及び奇数の分類に従って発生し、前記アドレス・ゼネレータは、それぞれが前記メモリ・アドレス入力のうちの１つに結合される８つのアドレス出力を含み、前記ｍビットと前記ｊビットの受取りに応じて、実質的に同時に、前記アドレスのうちの８つを生成する、（９）記載の方法。
【００７３】
【発明の効果】
この発明によると、ルックアップ・テーブルを記憶するために使用されるメモリのサイズを小さくすることができ、ルックアップ・テーブル値を効率的にアクセスすることができる。
【図面の簡単な説明】
【図１】頂点の相対アドレスがそれぞれの対応する頂点によって示される、立方格子からの１つの立方体を示す図。
【図２】それぞれの軸が立方格子の領域をアドレスするのに使用されるＲＧＢカラー空間値の成分を示し、ＲＧＢカラー空間からＣＭＹＫカラー空間に変換するのに使用される値を表わす立方格子の断片を示している図。
【図３】それぞれのステップ間で使用される式を示す補間処理のブロック図。
【図４】補間器入力データ値を表す立方格子の立方体の頂点を使用する補間処理を示す図。
【図５】それぞれのＲＧＢカラー空間次元の１６の頂点を使用する補間処理中に発生する問題点を示す図。
【図６】補間器入力データの経路を決める装置を含むカラー空間変換装置のブロック図。
【図７】相対アドレスと番号付けられた頂点を示す立方格子中の立方体を示す図。
【図８】立方格子の基準立方体と、立方格子のエントリ頂点として、立方体の８つの頂点のそれぞれの使用から得られる付加立方体を示す図。
【図９】立方格子の基準立方体と、それらに対応する偶数及び奇数の分類を示している図。
【図１０】立方格子へのエントリ・ポイントとして、立方体の８つの頂点のそれぞれを連続的に考慮するとき、論理的に接続された８つのメモリ・バンクの出力に対する補間器入力を示すテーブルを示す図。
【図１１】８つのメモリ・バンクの出力を、立方格子へのエントリ頂点として使用される立方体の頂点が偶数か奇数かに基づいて、補正補間器計算ブロックに導くために使用される選択的な２の補数回路のブロック図。
【図１２】補間器入力データの経路を決める装置を使用する方法を示すフローチャート。
【図１３】拡張ルックアップ・テーブルに含まれる付加データ値を表す立方格子の一部分を示す拡張立方格子を示す図。
【図１４】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図１５】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図１６】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図１７】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図１８】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図１９】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図２０】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【図２１】８つのメモリ・バンクに記憶された補間器入力データにアクセスするために生成されるアドレスのテーブルを示す図。
【符号の説明】
４０  カラー空間変換装置
４２  メモリ
４３  アドレス・ゼネレータ
４４  補間器
４５  選択的２の補数回路
４６  補間器入力データ経路決定装置
【図１】
0003976849.tif 000003
【図２】
0003976849.tif 000004
【図３】
0003976849.tif 000005
【図４】
0003976849.tif 000006
【図５】
0003976849.tif 000007
【図６】
0003976849.tif 000008
【図７】
0003976849.tif 000009
【図８】
0003976849.tif 000010
【図９】
0003976849.tif 000011
【図１０】
0003976849.tif 000012
【図１１】
0003976849.tif 000013
【図１２】
0003976849.tif 000014
【図１３】
0003976849.tif 000015
【図１４】
0003976849.tif 000016
【図１５】
0003976849.tif 000017
【図１６】
0003976849.tif 000018
【図１７】
0003976849.tif 000019
【図１８】
0003976849.tif 000020
【図１９】
0003976849.tif 000021
【図２０】
0003976849.tif 000022
【図２１】
0003976849.tif 000023