JP3755345B2 - Color conversion circuit - Google Patents
Color conversion circuit Download PDFInfo
- Publication number
- JP3755345B2 JP3755345B2 JP20189899A JP20189899A JP3755345B2 JP 3755345 B2 JP3755345 B2 JP 3755345B2 JP 20189899 A JP20189899 A JP 20189899A JP 20189899 A JP20189899 A JP 20189899A JP 3755345 B2 JP3755345 B2 JP 3755345B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- color data
- circuit
- target color
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ある形式の色データを他の形式の色データに変換する色変換回路に関し、例えば、RGBデータをCMYKデータに変換する色変換回路に関する。
【0002】
【従来の技術】
周知のように、色を表すデータ(以下、色データと表記する)としては、RGBデータやCMYKデータ、CMYデータなどさまざまな形式のものがあり、各形式の色データが用途に応じて使い分けられている。例えば、コンピュータのモニタへの表示を主目的としたデータでは、色データとしてRGBデータが用いられていることが多い。また、カラー印刷装置では、C(シアン)、M(マゼンタ)、Y(イエロー)のインクを混ぜて(或いはK(ブラック)のインクをも使用して)、印刷が行なわれるので、DTP用のデータでは、色データとしてCMY、CMYKデータが用いられていることが多い。ただし、RGBデータによって色が示されたデータが供給されることもあるので、カラー印刷装置には、通常、RGBデータをCMYK(或いはCMY)データに変換するための半導体回路が搭載されている。
【0003】
そのような、ある形式の色データを他の形式の色データに変換するための回路(以下、色変換回路と表記する)は、基本的には、変換を要する各色データに対して変換後の色データを記憶したメモリを用いて構成される。例えば、各RGBデータの代わりに用いるべきCMYKデータがそのRGBデータで示されるアドレスに記憶されているROM(或いはRAM)は、RGBデータをCMYKデータに変換するための色変換回路として機能することになる。
【0004】
しかしながら、メモリのみで色変換回路を構成する場合には、例えば、24ビットのRGBデータを、32ビット(4バイト)のYMCKデータに変換することができる色変換回路を得るために、およそ67Mバイト(=4バイト×224)の記憶容量を有するメモリが必要とされることになる。このような大容量のメモリを使用することは現実的でないため、一般的な色変換回路では、代表的な第1種色データに対応する第2種色データのみをメモリに記憶させておき、各第1種色データに対応する第2種データを、メモリ内に記憶されている何個か(通常、4個か8個)の第2種データを基にした補間演算により算出することが行なわれている。
【0005】
具体的には、24ビットのRGBデータをCMYKデータに変換するための色変換回路として、図14に模式的に示したように、座標(0、0、0)〜(32、32、32)に対応付けられた総計33×33×33個のCMYKデータが記憶されたメモリを備えるものが知られている。このメモリに記憶された、x、y、zがいずれも31以下である座標(x、y、z)に対応づけられたCMYKデータは、R、G、B各成分の下位3ビットがいずれも“0”であり、R、G、B成分の上位5ビットがそれぞれx、y、zであるRGBデータに対応するCMYKデータ(そのRGBデータと同じ色を示すCMYKデータ)となっている。なお、x、y、zのいずれかが32である座標(x、y、z)に対応づけられたCMYKデータは、R、G、B各成分の下位3ビットがいずれも“0”であり、R、G、B成分の上位5ビットがそれぞれx、y、zである仮想的なRGBデータ(x、y、zの最大値は31であり、32を取り得ない)に対応するCMYKデータとなっている。
【0006】
そして、RGBデータのCMYKデータへの変換時には、変換すべきRGBデータのx、y、z値に基づき、座標(x、y、z)、(x+1、y、z)、(x、y+1、z)、(x+1、y+1、z)、(x、y、z+1)、(x+1、y、z+1)、(x、y+1、z+1)、(x+1、y+1、z+1)に関する8個のCMYKデータがメモリから読み出される。そして、R、G、B成分の下位3ビットの値r、g、bから算出される重み係数を各YMCKデータに乗じた結果の平均値が、変換結果として出力されている。
【0007】
なお、座標(x+r/8、y+g/8、z+b/8)を有する点が、上記した8つの座標を有する8格子点で構成される立方体の分割により得られる4面体のいずれの内部(あるいは面上)に存在するかが判定され、当該点が内部に存在する4面体の頂点に関するYMCKデータのみを用いた補間演算が行なわれる色変換回路も知られている。
【0008】
さて、上記のように、補間演算によって最終的な出力が得られるようにすれば、記憶容量の比較的少ないメモリを用いて色変換回路を実現できることになる。しかしながら、そのような色変換回路は、データの変換時に、複数(4あるいは8)個のデータがメモリから読み出されるので、1データの変換に、メモリから1データを読み出すのに要する時間の何倍かの時間が必要とされるもの、すなわち、高速な変換が行えないものとなっていた。
【0009】
このため、補間計算に用いる色データを、複数個のメモリに分散して保持させることにより、高速な色データ変換を可能とした技術も提案されている。例えば、米国特許第4,837,722号明細書には、テレビジョン信号(8ビットのX、Y、Z成分からなる被変換色データ)をRGBデータ(目的色データ)に変換するデジタル式高速3次元補間装置(以下、単に補間装置と表記する)が開示されている。
【0010】
この補間装置は、被変換色データからRGBデータを求める際に、8個のRGBデータを使用するものであり、図15に示したように、RAM61〜68(RAM#0〜#7)、加算器69〜71、ROM72〜79、乗算器80〜87、加算器88〜97を備える。なお、以下の説明並びに図において、XH4、YH4、ZH4は、それぞれ、変換すべき輝度データのX、Y、Z成分の上位4ビットのデータを示すものとする。また、XL1、YL1、ZL1は、それぞれ、変換すべき輝度データの第5ビット目のデータ(上位5ビットのデータの最下位ビットのデータ)を示すものとする。また、XF、YF、ZFは、それぞれ、変換すべき輝度データの下位3ビットのデータを示すものとする。
【0011】
補間装置を構成するRAM61〜68(RAM#0〜#7)は、いずれも、12ビットのアドレスでアクセスされるRAMである。RAM#0〜#7には、32×32×32個のRGBデータがそれぞれ以下のように分散記憶されている。なお、RAM#0〜#7に記憶されている各RGBデータは、XF、YF、ZFが全て“0”であり、かつ、2×XH4+XL1、2×YH4+YL1、2×ZH4+ZL1(すなわち、X、Y、Z成分の上位5ビット値)が、それぞれ、0〜31の範囲の値である被変換色データの変換結果として用いることができるデータであって、XL1、YL1、ZL1に対応づけられたデータとなっている。
【0012】
RAM#0には、XL1、YL1、ZL1がいずれも“0”である被変換色データに関するRGBデータのみが記憶されている。RAM#1には、XL1が“1”であり、YL1、ZL1が共に“0”である被変換色データに関するRGBデータのみが記憶されている。RAM#2には、YL1が“1”であり、XL1、ZL1が共に“0”である被変換色データに関するRGBデータのみが記憶されている。RAM#3には、XL1とYL1が“1”であり、ZL1が“0”である被変換色データに関するRGBデータのみが記憶されている。
【0013】
RAM#4には、XL1とYL1が“0”であり、ZL1が“1”である被変換色データに関するRGBデータのみが記憶されている。RAM#5には、XL1とZL1が“1”であり、YL1が“0”である被変換色データに関するRGBデータのみが記憶されている。RAM#6には、YL1、ZL1が“1”であり、XL1が“0”である被変換色データに関するRGBデータのみが記憶されている。RAM#7には、XL1、YL1、ZL1がいずれも“1”である被変換色データに関するRGBデータのみが記憶されている。
【0014】
すなわち、RAM#0〜#7には、X、Y、Zの上位5ビット値がx、y、zである被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx+1、y、zである被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx、y+1、zである被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx+1、y+1、zである被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx、y、z+1である被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx+1、y、z+1である被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx、y+1、z+1である被変換色データに対応する色データと、X、Y、Zの上位5ビット値がx+1、y+1、z+1である被変換色データに対応する色データとが同時に読み出せる形態で、総計32×32×32個の色データが記憶されている。
【0015】
そして、図示してあるように、RAM#0には、“ZH4+ZL1”(加算器69の出力)と“YH4+YL1”(加算器70の出力)と“XH4+XL1”(加算器71の出力)とを組み合わせた(並べた)12ビット幅の信号がアドレス信号として与えられている。また、RAM#1には、“ZH4+ZL1”と“YH4+YL1”と“XH4”とを組み合わせた信号がアドレス信号として与えられている。RAM#2には、“ZH4+ZL1”と“YH4”と“XH4+XL1”とを組み合わせた信号がアドレス信号として与えられている。RAM#3には、“ZH4+ZL1”と“YH4”と“XH4”とを組み合わせた信号がアドレス信号として与えられている。
【0016】
また、RAM#4には、“ZH4”と“YH4+YL1”と“XH4+XL1”とを組み合わせた信号がアドレス信号として与えられている。RAM#5には、“ZH4”と“YH4+YL1”と“XH4”とを組み合わせた信号がアドレス信号として与えられている。RAM#6には、“ZH4”と“YH4”と“XH4+XL1”とを組み合わせた信号がアドレス信号として与えられている。RAM#7には、“ZH4”と“YH4”と“XH4”とを組み合わせた信号がアドレス信号として与えられている。
【0017】
XH4、YH4、ZH4が関連する信号の各ビットを、アドレス信号のいずれのビットに供給するかは、各RAMの具体的な利用法によるが、図示した構成によって、補間計算に使用する8個のRGBデータをRAM#0〜#7から出力させることができる。例えば、各被変換色データに関するRGBデータが、そのXL1、YL1、ZL1に応じて上記したように定められたRAMの、XH4、YH4、ZH4から求められるアドレス“16×16×ZH4+16×YH4+XH4”に記憶されていた場合、XH4、YH4、ZH4が関連する信号を、それぞれ、アドレス信号の下位、中位、上位の4ビットの信号とすれば、図示した構成によって、補間計算に使用する8個のRGBデータがRAM#0〜RAM#7から同時に出力されることになる。
【0018】
補間装置が備えるROM#k(k=0〜7)には、RAM#kの出力に乗ずべき比例係数が、XF、YF、ZF、XL1、YL1、ZL1に対応づけて(それら12ビットのデータをアドレスとした位置に)記憶されている。なお、補間計算に必要な一組の比例係数(8個の比例係数)が、XF、YF、ZFのみから算出することができるデータであるにもかかわらず、XL1、YL1、ZL1にも対応づけられて記憶されているのは、XF、YF、ZFから求められた8個の比例係数を、それぞれ、どのRAMの出力に乗ずるべきかが、XL1、YL1、ZL1の組合せによって異なるためである。
【0019】
図示してあるように、ROM#0〜#7の出力は、それぞれ、乗算器80〜87によってRAM#0〜#7の出力に乗算される。そして、乗算器80〜87の出力が、加算器88〜94からなる回路によって加算され、その加算結果が変換結果として出力されている。
【0020】
なお、この補間装置が開示されている米国特許第4,837,722号には、上記したRAM#0とRAM#7に記憶されたRGBデータ、RAM#1とRAM#6に記憶されたRGBデータ、RAM#2とRAM#5に記憶されたRGBデータ、RAM#3とRAM#4に記憶されたRGBデータを、それぞれ、記憶した4つのメモリを備え、それらのメモリから読み出された4つのRGBデータを用いた補間計算が行なわれる補間装置も開示されている。
【0021】
【発明が解決しようとする課題】
図15に示した補間装置によれば、補間計算に必要な8個のデータを同時に得ることが出来るので、高速にデータの変換が行える。しかしながら、この色変換回路では、色成分X、Y、Zに応じて定まる3種の4ビットデータ(ZH4、ZH4+ZL1、YH4、YH4+ZL1等)が、それぞれ、RAMに供給するアドレスの特定ビットとして使用されている。このため、この技術を利用して、例えば、24ビットの被変換色データを、他方式の色データである目的色データに変換するための色変換回路を構成したのでは、全ての被変換色データの変換が行えないものとなってしまう。
【0022】
すなわち、そのような色変換回路には、12ビットのアドレス信号でアクセスされるRAMが8個設けられるので、色変換回路に、212×8(=32×32×32)個の目的色データを保持させることができる。しかしながら、全ての被変換色データを変換するために必要な目的色データは、座標(0、0、0)〜(32、32、32)に関する目的色データ、つまり、総計33×33×33個の目的色データであるため、RAM#0〜#7をどのように利用しても変換が行えない被変換色データが生じてしまうことになる。
【0023】
なお、各色成分X、Y、Zに対して、それぞれ、アドレスの一部として使用される5ビットのデータが出力されるように上記色変換回路を変形すれば、全ての被変換色データを変換できる回路が得られることになるが、そのような変形により得られる色変換回路は、15ビットのアドレスでアクセスされるメモリの実装が必要な回路となる。
【0024】
そこで、本発明の課題は、色データを、その内容によらず、他方式の色データに高速に変換できる色変換回路であって、少容量のメモリを使用して製造できる色変換回路を提供することにある。
【0025】
【課題を解決するための手段】
上記課題を解決するために、本発明では、色変換回路に以下の構成を採用する。
【0026】
本発明の第1の態様の色変換回路は、それぞれ、n+mビットの第1ないし第3要素データからなる被変換色データを、同じ色を表す目的色データに変換するための色変換回路であって、それぞれ、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが分散して記憶された、それぞれ、“3×n−2”ビットのアドレス信号でアクセスされる第1ないし第8のメモリであり、各メモリに、対応づけられた情報を構成する3種の整数値の奇遇の組合せが等しい複数の目的色データが記憶された第1ないし第8のメモリと、被変換色データを構成している第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成するアドレス生成回路と、第1ないし第8のメモリの、アドレス生成回路が生成したアドレスに記憶された8個の目的色データの中の少なくとも4個の目的色データと、被変換色データの第1ないし第3要素データの下位mビットのデータとを用いた補間演算により、被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路とを備える。
【0027】
すなわち、本発明の第1の態様の色変換回路では、変換結果として出力されるべき色データである目的色データを記憶する手段として、“3×n−2”ビット幅のアドレス信号でアクセスされる8個のメモリ(第1ないし第8のメモリ)が使用される。また、それらのメモリには、(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが、(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データが、x、y、zによらず同時に読み出せる形態で記憶される。
【0028】
そして、被変換色データを目的色データに変換する際には、アドレス生成回路によって、被変換色データを構成している第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスが生成され、目的色データ生成・出力回路によって、アドレス生成回路によって生成されたアドレスで指定される8個の目的色データの中の少なくとも4個の目的色データと、被変換色データの第1ないし第3要素データの下位mビットのデータとを用いた補間演算が行なわれることにより、被変換色データに対応する目的色データが生成、出力される。
【0029】
このように、本発明の第1の態様の色変換回路は、全ての被変換色データに対して補間計算が行える数の目的色データを、補間計算に必要とされる複数の目的色データをメモリから同時に読み出せる形態で保持しているので、色データ(被変換色データ)を、その内容によらず、他方式の色データ(目的色データ)に高速に変換できることになる。また、本色変換回路には、色データが記憶された“3×n−2”ビットのアドレスでアクセスされる8個のメモリと、それらのメモリに供給する“3×n−2”ビットの8種のアドレスを、被変換色データの3種の成分(第1ないし第3要素データ)、それぞれの上位nビットデータから生成するアドレス生成回路とが備えられている。従って、本色変換回路は、被変換色データの成分毎に、独立して、目的色データを読み出すためのアドレスの一部(特定の複数ビット)が作成されている従来の色変換回路(図15参照)よりも、少ない記憶容量のメモリを用いて製造できることになる。
【0030】
なお、本発明の第1の態様の色変換回路に用いるアドレス発生回路は、メモリであっても良く、演算回路(演算によりアドレスを発生する回路)であっても良い。
【0031】
ただし、アドレス発生回路を演算回路で実現した場合、演算回路の動作速度は、メモリの動作速度よりも遅いため、色変換回路による被変換色データの変換速度が、アドレス発生回路の動作速度(あるいは目的色データ生成・出力回路の動作速度)で制限されることになる。従って、アドレス発生回路(あるいは目的色データ生成・出力回路)の動作速度以上の速度での被変換色データの変換が必要とされる場合には、以下に記す本発明の第2、第3の態様の色変換回路を用いることが望ましい。
【0032】
本発明の第2の態様の色変換回路は、時間T毎に入力される、それぞれ、n+mビットの第1ないし第3要素データからなる被変換色データを、順次、同じ色を表す目的色データに変換するための色変換回路であって、それぞれ、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが分散して記憶された、それぞれ、“3×n−2”ビットのアドレス信号でアクセスされる第1ないし第8のメモリであり、各メモリに、対応づけられた情報を構成する3種の整数値の奇遇の組合せが等しい複数の目的色データが記憶された第1ないし第8のメモリと、入力されている被変換色データを、時間2T毎に取り込み、取り込んだ被変換色データを出力する第1取込回路と、入力されている被変換色データを、時間2T毎に取り込み、取り込んだ被変換色データを出力する第2取込回路であって、第1取込回路による被変換色データの取込後、時間T後に被変換色データの取込を行う第2取込回路と、第1取込回路が出力する被変換色データを構成している第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成する第1アドレス生成回路と、第2取込回路が出力する被変換色データを構成している第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成する第2アドレス生成回路と、第1アドレス生成回路或いは第2アドレス生成回路によってアドレスが生成された際に、第1ないし第8のメモリの、生成されたアドレスに記憶された目的色データの中の少なくとも4種の目的色データと、当該アドレスを生成するために使用された被変換色データの3種の色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路とを備える。
【0033】
すなわち、本発明の第2の態様の色変換回路では、第1の態様の色変換回路と同様に、変換結果として出力されるべき色データである目的色データを記憶する手段として、“3×n−2”ビット幅のアドレス信号でアクセスされる8個のメモリ(第1ないし第8のメモリ)が使用される。また、それらのメモリには、(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが、(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データが、x、y、zによらず同時に読み出せる形態で記憶される。
【0034】
また、第1取込回路と第1アドレス生成回路とからなる回路、第2取込回路と第2アドレス生成回路とからなる回路は、色変換回路に入力される被変換色データに対する処理を交互に行い、被変換色データを変換するために使用することができる8個の目的色データを、第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成する。そして、目的色データ生成・出力回路は、第1或いは第2アドレス生成回路によって生成されたアドレスで指定される8個の目的色データの中の少なくとも4個の目的色データと、そのアドレスを生成するために使用された被変換色データの第1ないし第3要素データの下位mビットのデータとを用いた補間演算が行なうことにより、被変換色データに対応する目的色データを生成、出力する。
【0035】
従って、本発明の第2の態様の色変換回路は、第1の態様の色変換回路と同様に、色データ(被変換色データ)を、その内容によらず、他方式の色データ(目的色データ)に高速に変換できる回路であって、従来の色変換回路よりも、少ない記憶容量のメモリを用いて製造できる回路となっている。
【0036】
また、本発明の第2の態様の色変換回路では、第1の態様の色変換回路に用いられているアドレス発生回路相当の回路を2系統備え、それらによって、色変換回路に供給される被変換色データに応じたアドレスが交互に生成されるので、被変換色データの変換がより高速に(各アドレス発生回路の動作速度によって制限されない速度で)行えることになる。
【0037】
この第2の態様の色変換回路を実現する際には、目的色データ生成・出力回路として、第1アドレス生成回路によって生成されるアドレスと第2アドレス生成回路によって生成されるアドレスのいずれかを第1ないし第8のメモリに供給するアドレス選択供給回路であって、第1アドレス生成回路によってアドレスが生成されたときに、そのアドレスの第1ないし第8のメモリへの供給を開始し、第2アドレス生成回路によってアドレスが生成されたときに、そのアドレスを第1ないし第8のメモリへの供給を開始するアドレス選択供給回路と、第1ないし第8のメモリが出力する8個の目的色データからなるデータである補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第1補間計算用データ取込回路と、補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第2補間計算用データ取込回路であって、第1補間計算用データ取込回路による補間計算用データの取込後、時間T後に補間計算用データの取込を行う第2補間計算用データ取込回路と、第1ないし第8のメモリの、第1補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの3種の色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第1目的色データ生成回路と、第1ないし第8のメモリの、第2補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの第1ないし第3色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第2目的色データ生成回路と、第1目的色データ生成回路によって生成される目的色データと第2目的色データ生成回路によって生成される目的色データのいずれかを出力する選択出力回路であって、第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始し、第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始する選択出力回路とを含むものを用いることができる。
【0038】
すなわち、目的色データが読み出された後の処理が、2系統の回路によって交互に実現されるように第2の態様の色変換回路を構成しても良い。この構成の色変換回路によれば、被変換色データの変換がアドレス発生回路、目的色データ生成回路の動作速度によって制限されない速度(実際上は、メモリからのデータの読み出し速度と同等の速度)で行えることになる。
【0039】
本発明の第4の態様の色変換回路は、時間T毎に入力される、それぞれ、n+mビットの第1ないし第3要素データからなる被変換色データを、順次、同じ色を表す目的色データに変換するための色変換回路であって、それぞれ、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが分散して記憶された、それぞれ、“3×n−2”ビットのアドレス信号でアクセスされる第1ないし第8のメモリであり、各メモリに、対応づけられた情報を構成する3種の整数値の奇遇の組合せが等しい複数の目的色データが記憶された第1ないし第8のメモリと、入力されている被変換色データを構成している第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成するアドレス生成回路と、アドレス生成回路によって生成されるアドレスの供給により、第1ないし第8のメモリが出力する8個の目的色データからなるデータである補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第1補間計算用データ取込回路と、補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第2補間計算用データ取込回路であって、第1補間計算用データ取込回路による補間計算用データの取込後、時間T後に補間計算用データの取込を行う第2補間計算用データ取込回路と、第1ないし第8のメモリの、第1補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの3種の色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第1目的色データ生成回路と、第1ないし第8のメモリの、第2補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの第1ないし第3色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第2目的色データ生成回路と、第1目的色データ生成回路によって生成される目的色データと第2目的色データ生成回路によって生成される目的色データのいずれかを出力する選択出力回路であって、第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始し、第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始する選択出力回路とを備える。
【0040】
すなわち、本発明の第3の態様の色変換回路は、目的色データが読み出された後の処理のみが、2系統の回路によって交互に実現される構成を有する。この構成の色変換回路によれば、被変換色データの変換が目的色データ生成回路の動作速度によって制限されない速度で行えることになる。
【0041】
なお、本発明の各態様の色変換回路を,n=5とした形で実現する際には、第1ないし第8のメモリのそれぞれに、情報(a,b,c)に対応づけられた色データがアドレス“17×17×INT(a/2)+17×INT(b/2)+INT(c/2)”に記憶されているようにしておくことができる。このようにしておけば、アドレス発生回路を比較的簡単な構成の演算回路で実現できることになる。
【0042】
また、本発明の第4の態様の色変換回路は、それぞれ、n+mビットの第1ないし第3要素データからなる被変換色データを、同じ色を表す目的色データに変換するための色変換回路であって、それぞれ、“3×n−1”ビットのアドレス信号でアクセスされる第1ないし第4のメモリであり、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが、補間計算に同時に使用することがある4個の色データが同時に読み出せる形態で記憶された第1ないし第4のメモリと、被変換色データを構成している第1ないし第3要素データの上位nビットのデータに基づき、補間計算に使用する4個の目的色データを第1ないし第4のメモリから読み出すための4種の“3×n−1”ビットのアドレスを生成するアドレス生成回路と、第1ないし第4のメモリの、アドレス生成回路が生成したアドレスに記憶された4個の目的色データと、被変換色データの第1ないし第3要素データの下位mビットのデータとを用いた補間演算により、被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路とを備える。
【0043】
このように、本発明の第4の態様の色変換回路は、全ての被変換色データに対して補間計算が行える数の目的色データを、4個のメモリに分散して保持している。このため、色データ(被変換色データ)を、その内容によらず、他方式の色データ(目的色データ)に高速に変換できることになる。また、この色変換回路には、被変換色データが記憶された“3×n+2”ビットのアドレスでアクセスされる4個のメモリと、それらのメモリに供給する“3×n+2”ビットの4種のアドレスを、被変換色データの3種の成分(第1ないし第3要素データ)の上位nビットデータから生成するアドレス生成回路とが備えられている。従って、本色変換回路は、被変換色データの成分毎に、独立して、目的色データを読み出すためのアドレスの一部(特定の複数ビット)が作成されている従来の色変換回路(図15参照)よりも、少ない記憶容量のメモリを用いて製造できることになる。
【0044】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を具体的に説明する。
【0045】
本発明の一実施形態に係る色変換回路は、それぞれ、8ビットのR、G、B成分からなる24ビットのRGBデータを、32ビットのCMYKデータ(以下、色データと表記する)に変換するための回路である。
【0046】
図1、2に示したように、色変換回路は、2つのアドレス発生ブロック11a、11bとアドレス切替部12とアドレスバッファ13とメモリ部14とデータバッファ15と2つの補間演算ブロック16a、16bとデータ切替部17と出力バッファ18とを備える。
【0047】
メモリ部14(図1)は、補間計算に用いる33×33×33個の色データD(0、0、0)〜(32、32、32)を記憶したユニットであり、8つのメモリ(MEM)#0〜#7で構成されている。各メモリ#k(k=0〜7)は、13ビット幅のアドレス信号でアクセスされるメモリとなっており、メモリ#0〜#7には、それぞれ、アドレスバッファ13の出力ADRSの一部であるアドレス信号ADM0〜ADM7が供給されている。
【0048】
メモリ部14に記憶されている色データD(x、y、z)は、R成分の下位3ビット(以下、rと表記する)、G成分の下位3ビット(以下、gと表記する)、B成分の下位3ビット(以下、bと表記する)がいずれも“0”であり、R成分の上位5ビット(以下、uRと表記する)、G成分の上位5ビット(以下、uGと表記する)、B成分の上位5ビット(以下、uBと表記する)が、それぞれ、x、y、zであるRGBデータに対応するCMYKデータとなっている。ただし、x、y、zのいずれかが“32”である色データD(x、y、z)は、r、g、bがいずれも“0”であり、uR、uG、uBが、それぞれ、x、y、zである仮想的なRGBデータ(uR、uG、uBは、32を取り得ない)に対応するCMYKデータとなっている。すなわち、x、y、zのいずれかが“32”である色データD(x、y、z)は、実存するRGBデータに対応したCMYKデータではなく、uR、uG、uBのいずれかが“31”であるRGBデータに対応するCMYKデータを補間演算により求めるために用意されたCMYKデータとなっている。
【0049】
メモリ部14内の各メモリには、これらの色データが、図3、4に示したような形態で記憶されている。
【0050】
すなわち、図3に示したように、メモリ#0には、x、y、zが、いずれも、0以上、33以下の偶数である17×17×17個の色データD(x、y、z)が、xの昇順、yの昇順、zの昇順にソートされた形態で記憶されている。メモリ#1には、x、yが、いずれも、0以上、33以下の偶数であり、zが0以上、33以下の奇数である17×17×17個の色データD(x、y、z)が、x、y、zの昇順にソートされた形態で記憶されている。メモリ#2には、x、zが、0以上、33以下の偶数であり、yが、0以上、33以下の奇数である色データD(x、y、z)が、x、y、zの昇順にソートされた形態で記憶されている。メモリ#3には、xが、0以上、33以下の偶数であり、y、zが、0以上、33以下の奇数である色データD(x、y、z)が、x、y、zの昇順にソートされた形態で記憶されている。
【0051】
また、図4に示したように、メモリ#4には、xが、0以上、33以下の奇数であり、y及びzが、0以上、33以下の偶数である色データ(x、y、z)が、x、y、zの昇順にソートされた形態で記憶されている。メモリ#5には、x、zが、0以上、33以下の奇数であり、yが、0以上、33以下の偶数である色データD(x、y、z)が、x、y、zの昇順にソートされた形態で記憶されている。メモリ#6には、x、yが、0以上、33以下の奇数であり、zが、0以上、33以下の偶数である色データD(x、y、z)が、x、y、zの昇順に記憶されている。メモリ#7には、x、y、zが、いずれも、0以上、33以下の奇数である色データD(x、y、z)が、x、y、zの昇順にソートされた形態で記憶されている。
【0052】
すなわち、RGBデータの変換に必要とされるデータは、色データD(0、0、0)〜D(32、32、32)だけであるが、メモリ部14(メモリ#0〜#7)には、x、y、zのいずれかが“33”である、実際に使用されることがない色データD(x、y、z)の記憶領域も用意されている。これらの記憶領域が用意されている理由については後述する。
【0053】
そして、メモリ部14には、D(uR、uG、uB)、D(uR、uG、uB+1)、D(uR、uG+1、uB)、D(uR、uG+1、uB+1)、D(uR+1、uG、uB)、D(uR+1、uG、uB+1)、D(uR+1、uG+1、uB)、及びD(uR+1、uG+1、uB+1)を、任意のuR、uG、uBの組合せに対してメモリ#0〜#7から同時に読み出せる形態(これらの色データは、uR、uG、uBの奇偶の組合せが互いに異なっているので、互いに異なるメモリに記憶されている)で、色データD(0、0、0)〜D(32、32、32)が記憶されている。
【0054】
換言すれば、メモリ部14は、R/8、G/8、B/8座標軸を有する3次元空間内に各座標値が整数である格子点を考えた場合において、図5に示したような位置関係にある8格子点P0〜P7、すなわち、座標(uR+r/8、uG+g/8、uB+b/8)でその位置が表される点PRGBを含む単位格子(以下、注目単位格子と表記する)の8頂点P0〜P7の座標に対応づけられる8個の色データが、メモリ#0〜#7から同時に読み出せるユニットであって、頂点P0〜P7に関する色データの記憶されたメモリが、表1に示したように、uR、uG、uB(格子点P0の座標)の奇偶に応じて決定されているユニットとなっている。
【0055】
【表1】
【0056】
図1に戻って、色変換回路の説明を続ける。アドレス発生ブロック11x(x=a、b)は、頂点P0〜P7に対応付けられる8個の色データ(以下、補間計算用色データと表記する)をメモリ部14に出力させるためのアドレス信号ADRSxを発生するブロックである。アドレス発生ブロック11xは、図示したように、2つのアンドゲート21x、22xとオアゲート23xとバッファ24x(ラッチ)とアドレス発生部25xとを備える。
【0057】
アンドゲート21x、22xは、共に、24ビット幅の信号を入力とする2入力ゲートであり、アンドゲート21xには、色変換回路に供給されているRGB信号(RGBデータ)と制御信号ENAxとが供給されている。なお、色変換回路に供給されるRGB信号は、入力周期Tでその内容(信号が表すRGBデータ)が変わる信号となっており、制御信号ENAxは、全てのビットが“0”である状態と、全てのビットが“1”である状態とを交互にとる周期2Tの24ビット幅の信号となっている。また、色変換回路に含まれる各バッファには、図示していない、周期Tのクロック信号CLKが供給されている。各信号が変化するタイミングについては後述する。
【0058】
アンドゲート22xには、バッファ24xの出力と、ENAxを反転した信号が入力されている。このアンドゲート22xの出力と、アンドゲート21xの出力は、2入力ゲートであるオアゲート23xに入力されている。オアゲート23xの出力は、図示せぬクロック信号CLKに従って動作するバッファ24xに入力されており、このバッファ24xの出力がアンドゲート22xに帰還されている。
【0059】
そして、バッファ24xの出力に含まれるr、g、b、uR[0](uRの最下位ビット)、uG[0]、及びuB[0]が、信号BUFF1xとして、アドレス発生ブロック11xから出力されている。すなわち、RGB信号(RGBデータ)のR成分の下位4ビット、G成分の下位4ビット、及び、B成分の下位4ビットからなる12ビット幅の信号が、BUFF1xとして出力されている。
【0060】
バッファ24xの出力に含まれるuR、uG、uB(R、G、B成分の上位5ビット)からなる15ビット幅の信号BUFF0xは、アドレス発生部25xに入力されている。アドレス発生部25xは、補間計算用色データをメモリ部14に出力させるためのアドレス信号ADRSxを実際に発生する回路である。
【0061】
以下、図6ないし図8を用いて、アドレス発生部25x(x=a、b)の構成、動作を詳細に説明する。なお、図6は、アドレス発生部25xの全体構成を示した図であり、図7は、アドレス発生部25x内に設けられているアドレスセレクタ420の構成図である。また、図8は、アドレス発生部25x内に設けられているアドレスセレクタ421〜427の構成の説明図である。
【0062】
図6に示したように、アドレス発生部25xは、アドレス演算部41と8個のアドレスセレクタ420〜427とからなる。バッファ24xからのBUFFx0(すなわち、uR、uG及びuB)は、アドレス演算部41に供給されている。また、BUFFx0に含まれるuR[0]、uG[0]、uB[0]は、アドレスセレクタ420〜427にも供給されている。
【0063】
アドレス演算部41は、供給されたuR、uG、uB(注目単位格子の頂点P0の座標値)に基づき、それぞれ、13ビット幅の信号であり、uR、uG、uBとの関係が、以下の(1)〜(8)式で表せるアドレス信号ADP0〜ADP7を、出力する。
【0064】
【数1】
【0065】
すなわち、アドレス演算部41は、頂点P0〜P7の色データのアドレスを表すアドレス信号ADP0〜ADP7を出力する回路となっている。ただし、アドレス演算部41の出力するアドレス信号ADP0〜ADP7は、それぞれをメモリ#0〜#7に供給しても、頂点P0〜P7の色データを読み出すことができるとは限らない信号(補間計算用色データを出力させるためのADMO〜ADM7とするためには並べ替えが必要とされる信号)となっている。
【0066】
ここで、上記式によって表されるADPk(k=0〜7)が、注目単位格子の頂点Pkに関する色データが記憶されているメモリのアドレスとなっていること、並びに、各メモリにx、y、zのいずれかが“33”である、実際に使用されることがない色データD(x、y、z)の記憶領域が用意されている理由を簡単に説明しておく。
【0067】
メモリ部14内の各メモリは、既に説明したような形態(図3、4、表1参照)で使用されている。すなわち、メモリ#K(K=0〜7)には、x、y、zが、それぞれ、0〜33の範囲にあり、かつ、x、y、zの奇遇の組み合わせが等しい色データD(x、y、z)が、x、y、zの昇順でソートされて記憶されている。このように、x、y、zのいずれかが“33”である、実際に使用されることがない色データD(x、y、z)の記憶領域が用意されているため、メモリ#Kのi番目の記憶領域に記憶された色データのz値と、“i+17”番目の記憶領域に記憶されたの色データのz値が等しくなっている。また、メモリ#Kのi番目の記憶領域に記憶された色データのy値と、“i+17×17”番目の記憶領域に記憶されたの色データのy値が等しくなっている。
【0068】
従って、メモリ#0に記憶されている、uR、uG、uBがいずれも偶数である色データD(uR、uG、uB)のアドレスADは、次式で表せることになる。
【0069】
【数2】
【0070】
uD(=uR、uG、or uB)が偶数である場合、uD/2=INT(uD/2)が成立するので、この(9)式で算出されるADは、上記した(1)式で算出されるADP0と一致する。すなわち、(1)式は、uR、uG、uBが偶数であった場合に、D(uR、uG、uB)が記憶されているメモリ(この場合、メモリ#0)のアドレスを示す式となっている。
【0071】
次に、uR、uGが偶数であり、uBが奇数であった場合を考える。この場合、D(uR、uG、uB)は、メモリ#1に記憶されており、そのアドレスADは次式で表せる。
【0072】
【数3】
【0073】
uR、uGが偶数である場合、uR/2=INT(uR/2)、uG/2=INT(uG/2)が成立し、uBが奇数である場合、(uB−1)/2=INT(uB/2)が成立する。従って、上記した(1)式は、uR、uGが偶数であり、uBが奇数であった場合に、D(uR、uG、uB)が記憶されているメモリ(この場合、メモリ#1)のアドレスを示す式ともなっている。
【0074】
D(uR、uG、uB)が、メモリ#2〜#7に記憶されている場合におけるアドレスADとuR、uG、uBとの関係も、(10)式のような、(9)式の一種以上の変数(uR等)を、その変数から“1”を減じたもの(“uR−1”等)に置換した式で表せる。そして、uD(=uR、uG、or uB)が偶数である場合、(uD/2)=INT(uD/2)が成立し、uDが奇数である場合、(uD/2)=INT((uD−1)/2)が成立するので、結局、(1)式によって、uR、uG、uBの奇偶によらず(任意のuR、uG、uBの組合せに対して)、色データD(uR、uG、uB)が記憶されているメモリ(メモリ#0〜#7のいずれか)のアドレスが表せることになる。
【0075】
また、(2)式は、(1)式におけるuR、uG、uBを、それぞれ、uR+1、uG、uBで置換したものとなっており、(uR+1、uG、uB)は、頂点P1の座標(図5参照)である。そして、(1)式は、上記したように、任意のuR、uG、uBの組合せに対して、色データD(uR、uG、uB)が記憶されているメモリ(メモリ#0〜#7のいずれか)のアドレスを表す式となっているので、(2)式によって、頂点P1に関する色データD(uR+1、uG、uB)が記憶されているメモリ(メモリ#0〜#7のいずれか)のアドレスが表せることになる。
【0076】
(3)〜(8)式の各式も、同様に、(1)式において頂点POの座標の代わりに頂点P2〜P7の座標を用いた式となっている。従って、アドレス演算部41から出力される、上記した(1)〜(8)式でその値が表せるADP0〜ADP7は、それぞれ、D(P0)〜D(P7)を読み出すために使用できるアドレス信号となっていることになる。
【0077】
そして、(1)〜(8)式で色データのアドレスを表せるようにすれば、アドレス演算部41を簡単な構成の論理回路で実現できるので、x、y、zのいずれかが“33”である、実際に使用されることがない色データD(x、y、z)の記憶領域を各メモリ内に用意しているのである。
【0078】
アドレス演算部41が出力するADP0〜ADP7は、図6に示してあるように、uR[0]、uG[0]、uB[0]が供給されている各アドレスセレクタ42k(k=0〜7)に入力されている。
【0079】
図7に示したように、アドレスセレクタ420は、8つのアンドゲート450〜457と8つのセレクタ460〜467とオアゲート47とを備える。アンドゲート450〜457は、いずれも、uR[0]、uG[0]、uB[0]が入力されている3入力ゲートである。ただし、アンドゲート450〜457は、それぞれ、入力されたuR[0]、uG[0]、uB[0]に対して、以下のように機能するものとなっている。
【0080】
アンドゲート450は、uR[0]、uG[0]、uB[0]が全て“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート451は、uR[0]とuG[0]が“0”であり、uB[0]が“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート452は、uR[0]とuB[0]が“0”であり、uG[0]が“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート453は、uR[0]が“0”であり、uG[0]とuB[0]が“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。
【0081】
アンドゲート454は、uR[0]が“1”であり、uG[0]及びuB[0]が“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート455は、uR[0]及びuB[0]が“1”であり、uG[0]が“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート456は、uR[0]及びuG[0]が“1”であり、uB[0]が“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート457は、uR[0]、uB[0]、uG[0]が全て“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。
【0082】
アンドゲート45k(k=0〜7)の出力は、セレクタ46kに制御信号として入力されている。セレクタ46kには、さらに、アドレス演算部41からのアドレス信号ADPkと、各ビットが“0”である13ビット幅の信号ZEROとが入力されており、セレクタ46kは、制御信号が“1”(“H”)であるときには、ADPkを出力し、制御信号が“0”(“L”)であるときには、ZEROを出力する。
【0083】
オアゲート47は、8種の13ビット幅の信号の各ビットの論理和をとった13ビット幅の信号を出力するゲートである。オアゲート47には、セレクタ461〜467の出力が入力されており、オアゲート47の出力がアドレスセレクタ420の出力ADM0とされている。
【0084】
すなわち、アドレスセレクタ420は、uR[0]、uG[0]、uB[0]値に応じて、ADP0〜ADP7のいずれかをADM0として出力する回路となっている。より具体的には、uR[0]、uG[0]、uB[0]がいずれも“0”である場合(uR、uG、uBがいずれも偶数である場合)、アンドゲート450のみが“1”を出力するので、アドレスセレクタ420(オアゲート47)からは、ADP0がADM0として出力される。すなわち、uR、uG、uBがいずれも偶数である場合(メモリ#0に頂点P0に関する色データが記憶されている場合;表1参照)、アドレスセレクタ420は、頂点P0に関する色データが記憶されているアドレスを表すアドレス信号ADP0を、ADM0として出力する。
【0085】
また、uR[0]とuG[0]が“0”であり、uB[0]が“1”である場合(uR、uGが偶数であり、uBが奇数である場合)、アンドゲート451のみが“1”を出力するので、アドレスセレクタ420からは、ADP1が出力される。すなわち、uR、uGが偶数であり、uBが奇数である場合、アドレスセレクタ420は、色データD(P1)(D(P0)がメモリ#1に記憶されている場合、メモリ#0にはD(P1)が記憶されている;表1参照)に関するアドレス信号ADP1を、ADM0として出力する。
【0086】
また、uR、uBが偶数であり、uGが奇数である場合(D(P0)がメモリ#3に記憶されている場合)、アドレスセレクタ420は、色データD(P2)に関するアドレス信号ADP2を、ADM0として出力する。uR、uG、uBの他の奇偶の組み合わせに対しても、アドレスセレクタ420は同様に機能する。
【0087】
すなわち、アドレスセレクタ420は、アドレス演算部41が出力する8つのアドレス信号ADP0〜ADP7の中から、メモリ#0に対して供給すべき(メモリ#0に記憶されている注目単位格子に関する色データを読み出すための)アドレス信号を選択して出力する回路となっている。
【0088】
アドレス発生部25x内の他のアドレスセレクタ421〜427は、それぞれ、図8(1)〜(7)に示したような信号が、各アンドゲート45に入力されるようにアドレスセレクタ420を変形した回路となっている。すなわち、アドレスセレクタ42k(k=1〜7)は、アドレス演算部41が出力する8つのアドレス信号ADP0〜ADP7から、メモリ#kに対して供給すべきアドレス信号を選択して出力する回路となっている。
【0089】
そして、図6に示してあるように、アドレスセレクタ420〜427が出力するADM0〜ADM7からなる13×8=104ビット幅の信号(ADP0〜ADP7を、uR、uG、uBの奇偶の組合せに応じて並べ替えた信号)が、アドレス発生部25xの出力ADRSxとされている。
【0090】
図1に戻って色変換回路の説明を続ける。アドレス発生ブロック11xからは、アドレス発生部25xの出力が、そのまま出力されている。そして、アドレス発生ブロック11aの出力ADRSaと、アドレス発生ブロック11bの出力ADRSbが、アドレス切替部12に入力されている。アドレス切替部12は、制御信号ADSEL(詳細は後述)に応じてADRSa、ADRSbのいずれか一方を出力する回路であり、このアドレス切替部12の出力がアドレスバッファ13を介してメモリ部14に供給されている。そして、メモリ#0〜#7の出力D0〜D7からなる256ビット幅の信号DATAがデータバッファ15(図2)に供給され、データバッファ15の出力DBUFFが補間演算ブロック16a、16bに供給されている。
【0091】
ここで、図9に示したタイミング図を用いて、ここまで説明してきた各部の総合的な動作を説明する。
【0092】
図9(1)、(2)に示したように、本色変換回路は、クロックCLKの周期Tと等しい周期でその内容が変わるRGB信号が入力されて使用される。また、アドレス発生ブロック11aに入力されているENAaは、図9(3)に示してあるように、RGBデータの入力周期に同期した形で、“H”状態(全てのビットが“1”の状態)、“L”状態(全てのビットが“0”の状態)とを交互に取る信号となっている。一方、アドレス発生ブロック11bに入力されているENAbは、図9(6)に示してあるように、ENAaが“H”状態をとっているときに、“L”状態をとり、ENAaが“L”状態をとっているときに、“H”状態をとる信号となっている。また、図9(9)に示したように、ADSELは、ENAaと、同位相の信号となっている。
【0093】
すなわち、アドレス発生ブロック11a、11bからデータバッファ15までの部分は、以下のように動作する。
【0094】
既に説明した構成(図1)から明らかなように、アドレス発生ブロック11a内のオアゲート23aは、ENAaが“H”である場合、色変換回路に入力されているRGB信号を出力している。
【0095】
従って、図9に示してあるように、時刻t1において、RGB信号がRGBデータ▲1▼を表しており、かつ、ENAaが“H”であった場合、バッファ24aは、オアゲート23aから出力されているRGBデータ▲1▼を取り込み、取り込んだデータの出力を開始する。その後、時刻t2(=t1+T)に、バッファ24aは、オアゲート23aの出力を再度取り込むが、この時点では、ENAaが“L”となっているので、オアゲート23aからは、バッファ24aの出力、すなわち、RGBデータ▲1▼が出力されている。このため、バッファ24aは、同じ内容のデータ(RGBデータ▲1▼)を出力し続けることになる。そして、CLKの次の立ち上がり時(t=t3)には、ENAaが“H”となっているので、バッファ24aは、その時点において色変換回路に入力されているRGB信号が表しているRGBデータ▲3▼を取り込み、その出力を開始する。
【0096】
アドレス発生ブロック11a内のバッファ24aまでの部分は、このような動作を繰り返すため、結局、バッファ24aからは、図9(4)に示したように、BUFF1aとして、時間2T周期で、内容(信号が表すデータ)が変わる信号であって、各データがRGB信号によって色変換回路に供給された一個おきのRGBデータ(図示したケースでは、奇数番号が付してあるRGBデータ)の一部(uR[0]、uG[0]、uB[0]、r、g、b)となった信号が、出力される。また、BUFF0a(図示せず)として、BUFF1aと同様の時間変化をする信号が出力される。
【0097】
そして、アドレス発生ブロック11bには、ENAaを反転した(ENAaと位相が180°異なった)信号ENAbが供給されている。このため、アドレス発生ブロック11bのバッファ24bからは、図9(7)に示したように、時間2T周期で、内容(データ)が変わる信号であって、各データが色変換回路に供給された一個おきのRGBデータ(図示したケースでは、偶数番号が付してあるRGBデータ)の一部となった信号BUFF1bが、出力される。また、BUFF0b(図示せず)としても、BUFF1bと同様の時間変化をする信号が出力される。
【0098】
さらに、各アドレス発生ブロック11xにおいては、BUFF0x(uR、uG、uB)を基にした演算処理によりADP0〜ADP7が生成され、それらが、uR[0]、uG[0]、uB[0]の組み合わせに応じて並べ替えられて、ADRSxが生成されている。
【0099】
アドレス発生部25xは、このADRSxの生成に、時間T以上の時間が必要とされる回路となっている。このため、アドレス発生ブロック11aからは、図9(5)に示してあるように、バッファ24aの出力(図9(4)参照)が安定(確定)した後、所定時間(>T)遅れてADRSaの出力が開始される。また、アドレス発生ブロック11bからは、図9(8)に示してあるように、バッファ24bの出力(図9(7)参照)が安定した後、所定時間遅れてADRSbの出力が開始される。
【0100】
ADRSa、ADRSbが供給されているアドレス切替部12は、ADSELが“H”であるときには、ADRSaを出力し、ADSELが“L”であるときには、ADRSbを出力する。ADSELは、ENAaと同位相の信号となっており、アドレスバッファ13は、アドレス切替部12の出力をCLKの立ち上がり時に取り込むので、アドレスバッファ13からは、図9(10)に示したように、表すデータが時間T毎に変化する信号であって、各データが略2T時間前に色変換回路に入力されたRGBデータの補間計算用色データのアドレスとなった信号ADRSが、出力される。
【0101】
そして、そのADRSがアドレス信号として入力されているメモリ部14からは、図9(11)に示したようなタイミングでその内容が変化する信号DATAが出力される。データバッファ15は、CLKに従って、信号DATAを取り込むので、結局、データバッファ15からは、図9(12)に示したように、色変換回路に入力された各RGBデータに関する補間計算用色データを、当該RGBデータの入力から一定時間後に表す信号DBUFFが出力される。
【0102】
図2に戻って、色変換回路の説明を続ける。
【0103】
データバッファ15の出力DBUFFは、補間演算ブロック16a,16bに入力されている。補間演算ブロック16x(x=a、b)は、図示してあるように、2つのアンドゲート31x、32x、オアゲート33x、バッファ34x、補間演算部35x、及び、4つのバッファ36x〜39xを備える。アンドゲート31x、32xは、共に、256ビット幅の信号を入力とする2入力ゲートであり、アンドゲート31xには、データバッファ15からのDBUFFと、全てのビットが“0”である状態と全てのビットが“1”である状態のいずれかを取る256ビット幅の信号である制御信号DENAxが入力されている。一方、アンドゲート32xには、バッファ34xの出力とDENAxを反転した信号が入力されている。そして、アンドゲート31xの出力とアンドゲート32xの出力が、256ビット幅の信号を入力とする2入力ゲートであるオアゲート33xに入力されている。
【0104】
オアゲート33xの出力は、CLK(図示せず)に従って動作するバッファ34xに入力されており、このバッファ34xの出力DBUFFxがアンドゲート32xと補間演算部35xの双方に供給されている。
【0105】
また、アドレス発生ブロック11xの出力であるBUFF1x(uR[0]、uG[0]、uB[0]、r、g、b)は、バッファ36xに入力されている。バッファ36xの出力BUFF2xは、バッファ37xに入力されており、バッファ37xの出力BUFF3xは、バッファ38xに入力されている。そして、バッファ39xには、バッファ38xの出力BUFF4xが入力されており、バッファ39xの出力BUFF5xが補間演算部35xに入力されている。なお、これらのバッファ36x〜39xは、補間演算部35xにBUFF5xとして供給される、RGBデータの下位データ(uR[0]、uG[0]、uB[0]、r、g、b)を、バッファ34xからDBUFFxとして供給される色データD0〜D7の元となったRGBデータの下位データと一致させるための回路となっている。すなわち、補間演算部35xは、あるRGBデータのuR[0]、uG[0]、uB[0]、r、g、bと、そのRGBデータのuR、uG、uBに基づき読み出された補間計算用色データD0〜D7の入力を受けて動作する。
【0106】
図10に、補間演算部35x(x=a,b)の構成を示す。図示したように、補間演算部35xは、データセレクタ510〜517とモード判定・係数演算部52と演算用データセレクタ53と出力演算部54とを備える。バッファ34xからのDBUFFxは、各データセレクタ51に供給されている。また、BUFFx5に含まれているuR[0]、uG[0]、uB[0]は、各データセレクタ510〜517に供給されており、BUFFx5に含まれるr、g、bは、モード判定・係数演算部52に供給されている。
【0107】
まず、補間演算部35xに含まれているデータセレクタ510〜517の構成、動作を説明する。図11に示したように、データセレクタ510は、ADP0〜ADP7の代わりにD0〜D7が用いられるように、アドレスセレクタ260(図7)を変形した回路となっている。
【0108】
すなわち、データセレクタ510内のアンドゲート550は、uR[0]、uG[0]、uB[0]が全て“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート551は、uR[0]とuG[0]が“0”であり、uB[0]が“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート552は、uR[0]とuB[0]が“0”であり、uG[0]が“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート553は、uR[0]が“0”であり、uG[0]とuB[0]が“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。
【0109】
アンドゲート554は、uR[0]が“1”であり、uG[0]及びuB[0]が“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート555は、uR[0]及びuB[0]が“1”であり、uG[0]が“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート556は、uR[0]及びuG[0]が“1”であり、uB[0]が“0”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。アンドゲート557は、uR[0]、uB[0]、uG[0]が全て“1”である場合に“1”を出力し、それ以外の場合には、“0”を出力する。
【0110】
そして、データセレクタ510内のセレクタ56k(k=0〜7)は、アンドゲート55kの出力と、色データDkと、各ビットが“0”である32ビット幅の信号ZEROの入力を受け、アンドゲート55kから“1”が入力されているときには、ADPkを出力し、アンドゲート55kから“0”が入力されているときには、ZEROを出力する。セレクタ561〜567の出力(32ビット幅の信号)は、オアゲート57に入力されており、オアゲート57の出力がデータセレクタ510の出力D(P0)とされている。
【0111】
すなわち、データセレクタ510は、uR[0]、uG[0]、uB[0]値に応じて、以下のように動作する。
【0112】
uR[0]、uG[0]、uB[0]がいずれも“0”である場合(uR、uG、uBがいずれも偶数である場合)、データセレクタ510(オアゲート57)は、D0をD(P0)として出力する。すなわち、頂点P0に関する色データがメモリ#0に記憶されている場合、データセレクタ510は、メモリ#0から読み出されたデータである色データDOをD(P0)として出力する。
【0113】
また、uR[0]とuG[0]が“0”であり、uB[0]が“1”である場合(uR、uGが偶数であり、uBが奇数である場合)、データセレクタ510は、D1をD(P0)として出力する。すなわち、頂点P0に関する色データがメモリ#1に記憶されている場合、データセレクタ510は、メモリ#1から読み出されたデータである色データD1をD(P0)として出力する。
【0114】
また、uR、uBが偶数であり、uGが奇数である場合(頂点P0に関する色データがメモリ#2に記憶されている場合)、データセレクタ510は、メモリ#2から読み出された色データD2をD(P0)として出力する。
【0115】
uR、uG、uBの他の奇偶の組み合わせに対しても、データセレクタ510は同様に機能する。すなわち、データセレクタ510は、メモリ部14から読み出された8つのデータD0〜D7の中から、uR[0]、uG[0]、uB[0]値に基づき頂点P0に関するデータ(頂点P0に関するデータが記憶されているメモリの出力)を選択して出力する回路となっている。
【0116】
補間演算部35x内のデータセレクタ511〜517は、それぞれ、図12(1)〜(7)に示したような信号が各アンドゲート55に入力されるようにデータセレクタ510を変形した回路となっている。すなわち、データセレクタ51k(k=1〜7)は、メモリ部14から読み出された8つの色データD0〜D7から、頂点Pkに関する色データを選択して出力することができる構成を有している。
【0117】
図10に示してあるように、データセレクタ510の出力D(P0)と、データセレクタ517の出力D(P7)は、補間計算を実際に行う回路である出力演算部54に入力されている。一方、データセレクタ511〜516の出力D(P1)〜D(P6)は、演算用データセレクタ53に入力されている。
【0118】
そして、r、g、bが入力されているモード判定・係数演算部52は、それらの値に応じた内容の信号modeと信号b0〜b3を出力する。具体的には、モード判定・係数演算部52は、r、g、bに応じて表2に示したように機能する。
【0119】
【表2】
【0120】
すなわち、モード判定・係数演算部52は、r<g<bが成立している場合には、“1”を表す信号modeと、それぞれ、“8−b”、“g−r”、“b−g”、“r”を表す信号b0〜b3とを出力する。また、r<b≦gが成立している場合には、“2”を表す信号modeと、それぞれ、“8−g”、“g−b”、“b−r”、“r”を表す信号b0〜b3を出力する。
【0121】
g≦r<bが成立している場合、モード判定・係数演算部52は、“3”を表す信号modeを出力し、それぞれ、“8−b”、“b−g”、“r−g”、“g”を表す信号b0〜b3を出力する。また、b≦r<gが成立している場合には、“4”を表す信号modeと、それぞれ、“8−g”、“r−b”、“r−b”、“b”を表す信号b0〜b3を出力する。
【0122】
g<b≦rが成立している場合、モード判定・係数演算部52は、“5”を表す信号modeと、それぞれ、“8−r”、“b−g”、“r−b”、“g”を表す信号b0〜b3とを出力する。また、b≦g<rが成立している場合には、“4”を表す信号modeと、それぞれ、“8−r”、“r−g”、“g−b”、“b”を表す信号b0〜b3とを出力する。
【0123】
モード判定・係数演算部52が出力する信号modeは、演算用データセレクタ53に入力されている。
【0124】
そして、演算用データセレクタ53は、データセレクタ511〜516から供給されているD(P1)〜D(P6)の中の、信号modeに応じた2つの信号をDA、DBとして出力する。具体的には、演算用データセレクタ53は、信号modeに応じて、表3に示したように機能する。
【0125】
【表3】
【0126】
すなわち、演算用データセレクタ53は、信号modeが“1”を表すものであった場合、信号DAとしてD(P3)を出力し、信号DBとしてD(P1)を出力する。また、modeが“2”であった場合、信号DAとしてD(P2)を出力し、信号DBとしてD(P3)を出力する。
【0127】
また、modeが“3”であった場合、演算用データセレクタ53は、信号DAとしてD(P1)を出力し、信号DBとしてD(P5)を出力する。modeが“4”であった場合には、信号DAとしてD(P6)を出力し、信号DBとしてD(P2)を出力する。
【0128】
modeが“5”であった場合、信号DAとしてD(P5)を出力し、信号DBとしてD(P4)を出力する。そして、演算用データセレクタ53は、modeが“6”を表すものであった場合には、信号DAとしてD(P4)を出力し、信号DBとしてD(P6)を出力する。
【0129】
演算用データセレクタ53が出力するDA、DBと、モード判定・係数演算部52が出力するb0〜b3と、データセレクタ510、517の出力D(P0)、D(P7)とが入力されている出力演算部54は、次式でその内容(値)が表される32ビットの信号OUTxを出力する。
【0130】
【数4】
【0131】
ここで、図13を用いて、モード判定・係数演算部52、演算用データセレクタ53及び出力演算部54の上記した動作の物理的な意味を説明しておくことにする。
【0132】
モード判定・係数演算部52が出力している信号modeは、座標(uR+r/8、uG+g/8、uB+b/8)によってその位置が示される点PRGB(図5参照)が、注目単位格子の分割により得られる、図13(1)〜(6)に示した6つの4面体のいずれに含まれるかを表す信号となっている。具体的には、モード判定・係数演算部52は、点PRGBが、図13(1)〜(6)に示した4面体内に含まれるときに、それぞれ、“1”〜“6”を示す信号modeを出力するように構成されている。
【0133】
演算用データセレクタ53において行なわれている、modeに応じた色データの選択出力は、頂点P1〜P6に関する色データの中から、点PRGBが含まれている4面体の4つの頂点の中の頂点P0、P7を除く2頂点に関する色データ(すなわち、補間計算に用いる色データ)を選択して出力する処理となっている。なお、D(P0)、D(P7)が信号modeに応じて選択される色データとなっていないのは、図13に示してあるように、本色変換回路では、注目単位格子が、いずれも、頂点P0、P7を含む6つの四面体に分割されているからである。
【0134】
そして、モード判定・係数演算部52が出力するb0〜b3は、それぞれ、1/8を乗ずることによって補間演算の重み係数として用いることができるデータを表す信号となっているため、出力演算部54の上記した(11)式に従った演算により、RGBデータの変換結果であるCMYKデータが得られているのである。
【0135】
図2に戻って、色変換回路の残りの構成の説明を行う。図示してあるように、補間演算ブロック16a、16bから出力される信号OUTa,OUTbは、データ切替部17に入力されている。データ切替部17は、制御信号DATASELに応じてOUTa、OUTbのいずれか一方を出力する回路である。データ切替部17の出力は、出力バッファ18に入力されており、出力バッファ18の出力が、色変換回路の出力である信号OUTとされている。
【0136】
以下、図9を用いて、色変換回路の補間演算ブロック16a,b以降の部分の総合的な動作を説明する。
【0137】
補間演算ブロック16aに供給されている制御信号DENAaは、図9(13)に示したように、制御信号ENAaと同位相の信号となっている。一方、補間演算ブロック16bに供給されている制御信号DENAbは、図9(20)に示したように、DENAbを反転した信号となっている。また、データ切替部17に供給されている制御信号OUTSELは、図9(27)に示したように、DENAaと同位相の信号となっている。
【0138】
そして、補間演算ブロック16a内のアンドゲート31a、32a、オアゲート33a、バッファ34aからなる回路は、アドレス発生ブロック11x内のアンドゲート21x、22x、オアゲート23x、バッファ24xからなる回路と同様の構成を有している。このため、バッファ34aからは、図9(14)に示したように、時間2T毎に、その内容(信号が表すデータ)が変わる信号であって、各データが奇数番目のRGBデータに関する補間計算用色データとなった信号DBUFFaが出力される。
【0139】
一方、BUFF1a(図9(4))が入力されているバッファ36aは、CLKに応じてBUFF1aを取り込む。従って、バッファ36aの出力BUFF2aは、図9(15)に示したように、BUFF1aを時間Tだけ遅らせた信号となる。また、BUFF2aが入力されているバッファ37aの出力BUFF3aは、図9(16)に示したように、BUFF2aを時間Tだけ遅らせた信号となり、BUFF3aが入力されているバッファ38aの出力BUFF4aは、図9(17)に示したように、BUFF3aを時間Tだけ遅らせた信号となる。
【0140】
その結果、BUFF4aが入力されているバッファ39aの出力BUFF5a、すなわち、補間演算部35aに入力されるBUFF5aは、図9(18)に示したように、BUFF1aを時間5Tだけ遅らせた信号となる。すなわち、バッファ36x〜39xによって、あるRGBデータに関するr、g、b、uR[0]、uG[0]及びuB[0]が、そのRGBデータに関する補間計算用色データ(図9(14))と同時に補間演算部35xに供給されるように制御されている。
【0141】
そして、補間演算部35aでは、同時に入力された、あるRGBデータに関するr、g、b、uR[0]、uG[0]、uB[0]、補間計算用色データに基づき、そのRGBデータに対応するCMYKデータが補間演算によって求められる。従って、補間演算部35aから出力される信号OUTaは、図9(19)に示してあるように、入力された各RGBデータ(奇数番目のRGBデータ)の変換結果を表す信号であって、補間演算部35aへの新たなデータ(図9(14)、(18))の入力後、演算に要する時間が経過したときに、その内容が確定する信号となる。
【0142】
補間演算ブロック16bにおいては、補間演算ブロック16aと同様の処理が、アドレス発生ブロック11bからの信号BUFF0aとデータバッファ15からの信号DBUFFに対して行なわれる。すなわち、補間演算ブロック16b内のバッファ36b〜39bの出力BUFF2b〜BUFF5bは、それぞれ、図9(22)〜(25)に示したように変化する。そして、補間演算部35bでは、BUFF5bとDBUFFbとを基に、OUTbが生成されるので、結局、補間演算ブロック16bから出力されるOUTbは、図9(26)に示したように、入力された各RGBデータ(偶数番目のRGBデータ)の変換結果を、表す信号であって、補間演算部35bへの新たなデータ(図9(21)、(25))の入力後、演算に要する時間が経過したときに、その内容が確定する信号となる。
【0143】
そして、OUTa、OUTbが入力されているデータ切替部17には、図(27)に示したように、CLKの倍の周期で変化する制御信号OUTSELであって、OUTaが遷移状態から安定状態に変化した際に“H”状態を取っており、OUTbが遷移状態から安定状態に変化した際に“L”状態を取っているようにその位相が制御された制御信号OUTSELが入力されている。
【0144】
そのようなOUTSELが供給されているデータ切替部17の出力が出力バッファ18に供給されているので、出力バッファ18からは、図9(28)に示したように、入力された各RGBデータの変換結果を表す信号OUTが出力されることになる。
【0145】
以上、詳細に説明したように、実施形態に係る色変換回路は、全てのRGBデータに対して補間計算が行える数のCMYKデータを記憶した、補間計算に必要とされる複数のCMYKデータを同時に読み出せるメモリ部14を、備えている。従って、RGBデータを、その内容によらず、CMYKデータに高速に変換できることになる。また、色変換回路は、CMYKデータが記憶された“3×5−2”ビットのアドレスでアクセスされる8個のメモリからなるメモリ部14と、それらのメモリに供給する“3×5−2”ビットの8種のアドレスを、RGBデータのuR、uG、uBから生成するアドレス発生部25とを備えている。従って、色変換回路は、被変換色データの成分毎に、独立して、目的色データを読み出すためのアドレスの一部(特定の複数ビット)が作成されている従来の色変換回路(図15参照)よりも、少ない記憶容量のメモリを用いて製造できる回路となっている。
【0146】
また、実施形態に係る色変換回路は、2つのアドレス発生部25a、25bと、2つの補間演算部35a、35bと、アドレス発生部25a、25bを交互に機能させるための回路(バッファ24、アドレス切替部12等)、補間演算部35a、35bを交互に機能させるための回路(バッファ34、データ切替部17等)を備えている。このため、実施形態に係る色変換回路は、アドレス発生部25、補間演算部35のスループット(単位時間当たりの処理量)よりも高いスループットで、RGBデータを変換できる回路となっている。
【0147】
換言すれば、色変換回路に必要とされているスループット(要求されているRGBデータの変換速度)が、アドレス発生部25のスループット、補間演算部35のスループットのいずれよりも高いものであったため、実施形態に係る色変換回路は、上記のような構成を採用しているのである。
【0148】
従って、色変換回路のスループットが、アドレス発生部25スループット、補間演算部35スループットのいずれよりも低くてよい場合(高いRGBデータの変換速度が必要とされていない場合)には、1個のアドレス発生部25と、一個の補間演算部35と、メモリ部14と、バッファ36〜39のようなタイミング調節用のバッファだけで色変換回路を構成することができる。
【0149】
また、要求されているスループットが、アドレス発生部25のスループットよりも高く、補間演算部35のスループットよりも低い場合には、メモリ部14よりも前段にある回路を、一個のアドレス発生部25を用いた回路とすることができる。逆に、所望のスループットが、アドレス発生部25のスループットよりも低く、補間演算部35のスループットよりも高い場合には、メモリ部14よりも後段にある回路を、一個の補間演算部36を用いた回路とすることができる。
【0150】
なお、アドレス発生部25のスループットと、補間演算部35のスループットのいずれの方が高いかは、アドレス発生部25、補間演算部35の実際の回路構成に依る。本実施形態に係る色変換回路では、アドレス発生部25、補間演算部35を、基本的な演算回路の組み合わせで実現しているため、双方のスループットがほぼ同程度のものとなっている(処理の遅延時間がほぼ同じものとなっている)が、例えば、アドレス発生部25をメモリを用いて実現した場合や、アドレス発生部25をパイプライン化した場合には、アドレス発生部25のスループットが、補間演算部35のスループットよりも高くなる(メモリのスループットと同程度のものとなる)。また、補間演算部35のみをパイプライン化してそのスループットを高くした場合には、アドレス発生部25のスループットの方が、補間演算部35のスループットよりも低くなる。従って、要求されるスループットと、アドレス発生部25、補間演算部35のスループットの関係によって、上記したいずれの構成を色変換回路に採用するかを決定すべきである。
【0151】
また、実施形態に係る色変換回路は、点PRGBを含む四面体の4頂点の色データを基にした補間演算により最終出力が得られる回路であったが、メモリ部14から同時に読み出される8個の色データを全てを用いて補間演算が行なわれるように色変換回路を変形しても良いことは当然である。
【0152】
さらに、メモリ部14の代わりに、メモリ#0とメモリ#7に記憶されたCMYKデータ、メモリ#1とメモリ#6に記憶されたCMYKデータ、メモリ#2とメモリ#5に記憶されたCMYKデータ、メモリ#3とメモリ#4に記憶されたCMYKデータを、それぞれ、記憶した14ビットのアドレスでアクセスされる4つのメモリを備えるメモリ部が用いられ、補間演算部35として、対角の頂点を含まないように注目単位格子を分割した四面体の中から選択された点PRGBを含む四面体の4頂点に関するYMCKデータを基に補間演算を行うものが用いられるように色変換回路を変形することもできる。
【0153】
【発明の効果】
本発明によれば、色データを、その内容によらず、他方式の色データに高速に変換でき、少容量のメモリしか必要としない色変換回路が得られることになる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る色変換回路の前半部分の構成を示した回路図である。
【図2】実施形態に係る色変換回路の後半部分の構成を示した回路図である。
【図3】実施形態に係る色変換回路内に設けられたメモリ#0〜#3の利用形態の説明図である。
【図4】実施形態に係る色変換回路内に設けられたメモリ#4〜#7の利用形態の説明図である。
【図5】実施形態に係る色変換回路によって行われる色変換手順を説明するための図である。
【図6】実施形態に係る色変換回路内に設けられたアドレス発生部の全体構成を示した回路図である。
【図7】アドレス発生部内に設けられているアドレスセレクタの構成を示す回路図である。
【図8】アドレス発生部内に設けられている他のアドレスセレクタの構成の説明図である。
【図9】実施形態に係る色変換回路の全体的な動作を説明するためのタイミング図である。
【図10】実施形態に係る色変換回路内に設けられている補間演算部の全体構成を示した回路図である。
【図11】補間演算部内に設けられているデータセレクタの構成を示す回路図である。
【図12】補間演算部内に設けられている他のデータセレクタの構成の説明図である。
【図13】補間演算部の動作の説明図である。
【図14】従来の色変換回路に備えられたメモリの使用形態の説明図である。
【図15】米国特許第4,837,722号明細書に開示されているデジタル式高速3次元補間装置の構成を示した図である。
【符号の説明】
11 アドレス発生ブロック
12 アドレス切替部
13 アドレスバッファ
14 メモリ部
15 データバッファ
16 補間演算ブロック
17 データ切替部
18 出力バッファ
25 アドレス発生部
35 補間演算部
41 アドレス演算部
42 アドレスセレクタ
51 データセレクタ
52 モード判定・係数演算部
53 演算用データセレクタ
54 出力演算部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a color conversion circuit that converts color data of a certain format into color data of another format, for example, a color conversion circuit that converts RGB data to CMYK data.
[0002]
[Prior art]
As is well known, there are various data such as RGB data, CMYK data, and CMY data as color data (hereinafter referred to as color data), and the color data of each format is properly used according to the application. ing. For example, in data mainly intended for display on a computer monitor, RGB data is often used as color data. In a color printing apparatus, printing is performed by mixing C (cyan), M (magenta), and Y (yellow) ink (or using K (black) ink). In data, CMY and CMYK data are often used as color data. However, since data whose color is indicated by RGB data may be supplied, a color printing apparatus is usually equipped with a semiconductor circuit for converting RGB data into CMYK (or CMY) data.
[0003]
Such a circuit for converting color data in one format into color data in another format (hereinafter referred to as a color conversion circuit) is basically converted to each color data that needs to be converted. It is configured using a memory that stores color data. For example, a ROM (or RAM) in which CMYK data to be used instead of each RGB data is stored at an address indicated by the RGB data functions as a color conversion circuit for converting the RGB data into CMYK data. Become.
[0004]
However, when the color conversion circuit is configured with only the memory, for example, in order to obtain a color conversion circuit capable of converting 24-bit RGB data into 32-bit (4 bytes) YMCK data, approximately 67 Mbytes are obtained. (= 4 bytes x 2 twenty four ) Is required. Since it is not practical to use such a large-capacity memory, in a general color conversion circuit, only the second type color data corresponding to the representative first type color data is stored in the memory. Second type data corresponding to each first type color data can be calculated by interpolation based on some (usually four or eight) second type data stored in the memory. It is done.
[0005]
Specifically, as a color conversion circuit for converting 24-bit RGB data into CMYK data, coordinates (0, 0, 0) to (32, 32, 32) are schematically shown in FIG. It is known to have a memory in which a total of 33 × 33 × 33 CMYK data associated with is stored. The CMYK data stored in this memory and associated with coordinates (x, y, z) where x, y, z are all 31 or less are all in the lower 3 bits of the R, G, B components. It is “0”, and CMYK data (CMYK data indicating the same color as the RGB data) corresponding to RGB data in which the upper 5 bits of the R, G, and B components are x, y, and z, respectively. In CMYK data associated with coordinates (x, y, z) where any of x, y, z is 32, the lower 3 bits of each of the R, G, B components are all “0”. CMYK data corresponding to virtual RGB data (the maximum value of x, y, z is 31 and cannot be 32) in which the upper 5 bits of the R, G, B components are x, y, z, respectively It has become.
[0006]
When converting RGB data to CMYK data, coordinates (x, y, z), (x + 1, y, z), (x, y + 1, z) are based on the x, y, z values of the RGB data to be converted. ), (X + 1, y + 1, z), (x, y, z + 1), (x + 1, y, z + 1), (x, y + 1, z + 1), and (x + 1, y + 1, z + 1) 8 CMYK data from the memory Read out. An average value obtained by multiplying each YMCK data by a weighting coefficient calculated from the values r, g, and b of the lower 3 bits of the R, G, and B components is output as a conversion result.
[0007]
It should be noted that any point (or plane) of the tetrahedron obtained by dividing the cube composed of the eight lattice points having the eight coordinates as described above is a point having coordinates (x + r / 8, y + g / 8, z + b / 8). There is also known a color conversion circuit in which it is determined whether the point exists in the upper part) and an interpolation operation is performed using only YMCK data relating to the vertices of the tetrahedron in which the point exists.
[0008]
As described above, if the final output is obtained by the interpolation calculation, the color conversion circuit can be realized using a memory having a relatively small storage capacity. However, since such a color conversion circuit reads a plurality (4 or 8) of data from the memory at the time of data conversion, how many times it takes to read one data from the memory to convert one data. Such time is required, that is, high-speed conversion cannot be performed.
[0009]
For this reason, a technique that enables color data conversion at high speed by dispersing and holding color data used for interpolation calculation in a plurality of memories has been proposed. For example, US Pat. No. 4,837,722 discloses a digital high-speed three-dimensional interpolation device that converts a television signal (converted color data comprising 8-bit X, Y, and Z components) into RGB data (target color data). (Hereinafter simply referred to as an interpolator).
[0010]
This interpolator uses eight pieces of RGB data when obtaining RGB data from the color data to be converted. As shown in FIG. 15, RAMs 61 to 68 (
[0011]
The RAMs 61 to 68 (
[0012]
The
[0013]
The
[0014]
That is, the
[0015]
As shown in the figure, in
[0016]
In addition, a signal combining “ZH4”, “YH4 + YL1”, and “XH4 + XL1” is given to the
[0017]
Whether each bit of the signal related to XH4, YH4, and ZH4 is supplied to which bit of the address signal depends on the specific usage of each RAM, but according to the illustrated configuration, eight bits used for interpolation calculation RGB data can be output from the
[0018]
In the ROM #k (k = 0 to 7) provided in the interpolation device, the proportional coefficient to be multiplied by the output of the RAM #k is associated with XF, YF, ZF, XL1, YL1, and ZL1 (the 12-bit data). Is stored in the address). It should be noted that although a set of proportional coefficients (eight proportional coefficients) necessary for the interpolation calculation is data that can be calculated only from XF, YF, and ZF, they are also associated with XL1, YL1, and ZL1. This is because the RAM output to which the eight proportional coefficients obtained from XF, YF, and ZF are to be multiplied depends on the combination of XL1, YL1, and ZL1.
[0019]
As shown in the figure, the outputs of
[0020]
U.S. Pat. No. 4,837,722, which discloses this interpolation device, describes RGB data stored in
[0021]
[Problems to be solved by the invention]
According to the interpolating apparatus shown in FIG. 15, since eight data necessary for the interpolation calculation can be obtained simultaneously, the data can be converted at high speed. However, in this color conversion circuit, three types of 4-bit data (ZH4, ZH4 + ZL1, YH4, YH4 + ZL1, etc.) determined according to the color components X, Y, and Z are used as specific bits of addresses supplied to the RAM. ing. For this reason, for example, if a color conversion circuit for converting 24-bit converted color data into target color data, which is color data of another method, is configured using this technique, all converted colors Data conversion cannot be performed.
[0022]
That is, since such a color conversion circuit is provided with eight RAMs that are accessed by a 12-bit address signal, the color conversion circuit includes two RAMs. 12 * 8 (= 32 * 32 * 32) pieces of target color data can be held. However, the target color data necessary for converting all the converted color data is the target color data related to the coordinates (0, 0, 0) to (32, 32, 32), that is, 33 × 33 × 33 in total. Therefore, converted color data that cannot be converted regardless of how the
[0023]
If the above color conversion circuit is modified so that 5-bit data used as part of the address is output for each color component X, Y, Z, all the converted color data is converted. Although a circuit that can be obtained is obtained, the color conversion circuit obtained by such modification is a circuit that requires mounting of a memory accessed by a 15-bit address.
[0024]
Accordingly, an object of the present invention is to provide a color conversion circuit that can convert color data to color data of other methods at high speed regardless of the content thereof, and can be manufactured using a small-capacity memory. There is to do.
[0025]
[Means for Solving the Problems]
In order to solve the above problems, the present invention employs the following configuration for the color conversion circuit.
[0026]
The color conversion circuit according to the first aspect of the present invention is a color conversion circuit for converting the color data to be converted, which is composed of n + m-bit first to third element data, into target color data representing the same color. And information (0, 0, 0) to (2) each consisting of three integer values. n 2 n 2 n (2) n +1) x (2 n +1) x (2 n +1) First to eighth memories, each of which is stored in a distributed manner and is accessed by an address signal of “3 × n−2” bits, are associated with each memory. First to eighth memories in which a plurality of target color data having equal combinations of three kinds of integer values constituting information are stored, and first to third element data constituting converted color data Information (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1) based on the upper n-bit values x, y, z, respectively. , Y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), and eight target color data associated with (x + 1, y + 1, z + 1) from the first to eighth memories. An address that generates eight "3xn-2" bit addresses for reading. The address generation circuit, at least four target color data among the eight target color data stored in the addresses generated by the address generation circuit in the first to eighth memories, and the first of the converted color data. Or a target color data generation / output circuit that generates and outputs target color data corresponding to the color data to be converted by interpolation using lower m bits of the third element data.
[0027]
That is, in the color conversion circuit according to the first aspect of the present invention, as means for storing target color data which is color data to be output as a conversion result, it is accessed with an address signal of “3 × n−2” bit width. Eight memories (first to eighth memories) are used. These memories include (0, 0, 0) to (2 n 2 n 2 n (2) n +1) x (2 n +1) x (2 n +1) target color data are (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), ( 8 target color data associated with (x + 1, y, z + 1), (x + 1, y + 1, z), (x + 1, y + 1, z + 1) are stored in a form that can be read simultaneously regardless of x, y, z. The
[0028]
When the color data to be converted is converted to the target color data, the address generation circuit converts the values n, x, y, and z of the upper n bits of the first to third element data constituting the color data to be converted. Based on the information (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), eight target color data corresponding to (x + 1, y + 1, z + 1) are read out from eight types of “3 × n−” A 2 "-bit address is generated, and the target color data generation / output circuit generates at least four target color data out of the eight target color data specified by the address generated by the address generation circuit, and is converted First to third element data of color data By interpolation calculation using the lower m bits of data the data is performed, target color data corresponding to the converted color data is generated and outputted.
[0029]
As described above, the color conversion circuit according to the first aspect of the present invention obtains a number of target color data that can be interpolated for all the converted color data, and a plurality of target color data required for the interpolation calculation. Since the data is stored in a form that can be read from the memory at the same time, the color data (converted color data) can be converted to color data (target color data) of another method at high speed regardless of the contents. Further, the present color conversion circuit includes eight memories that are accessed by “3 × n−2” bit addresses in which color data is stored, and “3 × n−2”
[0030]
The address generation circuit used in the color conversion circuit according to the first aspect of the present invention may be a memory or an arithmetic circuit (a circuit that generates an address by calculation).
[0031]
However, when the address generation circuit is realized by an arithmetic circuit, the operation speed of the arithmetic circuit is slower than the operation speed of the memory. Therefore, the conversion speed of the color data to be converted by the color conversion circuit is equal to the operation speed of the address generation circuit (or The operation speed of the target color data generation / output circuit) is limited. Accordingly, when conversion of the color data to be converted at a speed higher than the operation speed of the address generation circuit (or target color data generation / output circuit) is required, the second and third aspects of the present invention described below are used. It is desirable to use the color conversion circuit of the aspect.
[0032]
In the color conversion circuit of the second aspect of the present invention, the color data to be converted, each of which is input every time T and is composed of n + m-bit first to third element data, sequentially represents the same color. Each of which is a color conversion circuit for converting to information (0, 0, 0)-(2 n 2 n 2 n (2) n +1) x (2 n +1) x (2 n +1) First to eighth memories, each of which is stored in a distributed manner and is accessed by an address signal of “3 × n−2” bits, are associated with each memory. First to eighth memories in which a plurality of target color data having the same odd combination of three kinds of integer values constituting information are stored, and inputted converted color data are fetched every 2T. A first capture circuit that outputs the converted color data, and a second capture circuit that captures the input converted color data every time 2T and outputs the captured converted color data. After the conversion color data is acquired by the one acquisition circuit, the second acquisition circuit that acquires the conversion color data after time T and the conversion color data output from the first acquisition circuit are configured. Value n of upper n bits of first to third element data Based on y and z, information (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), ( x + 1, y, z + 1), (x + 1, y + 1, z), and eight target color data corresponding to (x + 1, y + 1, z + 1) are read out from the first to eighth memories. A first address generation circuit for generating an address of 3 × n−2 ″ bits, and a value x of upper n bits of the first to third element data constituting the color data to be converted output from the second fetch circuit , Y, z, information (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), respectively. (X + 1, y, z + 1), (x + 1, y + 1, z), (x + 1, y + 1, z + 1) A second address generation circuit for generating eight types of “3 × n−2” bit addresses for reading out eight target color data from the first to eighth memories, and a first address generation circuit or a second address generation circuit; When an address is generated by the address generation circuit, at least four types of target color data among the target color data stored in the generated addresses of the first to eighth memories and the addresses are generated. Generate target color data corresponding to the color data to be converted and output the target color data by interpolation using the lower m bits of the three types of color element data of the color data to be converted And an output circuit.
[0033]
That is, in the color conversion circuit according to the second aspect of the present invention, as in the color conversion circuit according to the first aspect, “3 ×” is used as means for storing target color data that is color data to be output as a conversion result. Eight memories (first to eighth memories) accessed by an address signal having an n-2 "bit width are used. These memories include (0, 0, 0) to (2 n 2 n 2 n (2) n +1) x (2 n +1) x (2 n +1) target color data are (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), ( 8 target color data associated with (x + 1, y, z + 1), (x + 1, y + 1, z), (x + 1, y + 1, z + 1) are stored in a form that can be read simultaneously regardless of x, y, z. The
[0034]
In addition, the circuit composed of the first capture circuit and the first address generation circuit, and the circuit composed of the second capture circuit and the second address generation circuit alternately process the color data to be converted input to the color conversion circuit. The eight “3 × n−2” bit addresses for reading out the eight target color data that can be used to convert the color data to be converted from the first to eighth memories. Generate. The target color data generation / output circuit generates at least four target color data out of the eight target color data specified by the address generated by the first or second address generation circuit and its address. The target color data corresponding to the converted color data is generated and output by performing an interpolation operation using the lower m bits of the first to third element data of the converted color data used for the conversion. .
[0035]
Accordingly, the color conversion circuit according to the second aspect of the present invention, as with the color conversion circuit according to the first aspect, converts color data (converted color data) into color data (objective) of any other type regardless of the content. Color data) at a high speed, and can be manufactured using a memory having a smaller storage capacity than a conventional color conversion circuit.
[0036]
The color conversion circuit according to the second aspect of the present invention includes two systems corresponding to the address generation circuit used in the color conversion circuit according to the first aspect, and the circuit to be supplied to the color conversion circuit by them. Since the addresses corresponding to the conversion color data are generated alternately, the conversion of the color data to be converted can be performed at a higher speed (at a speed not limited by the operation speed of each address generation circuit).
[0037]
When realizing the color conversion circuit according to the second aspect, as the target color data generation / output circuit, either the address generated by the first address generation circuit or the address generated by the second address generation circuit is used. An address selection supply circuit for supplying to the first to eighth memories, and when an address is generated by the first address generation circuit, supply of the address to the first to eighth memories is started. When an address is generated by the 2-address generation circuit, an address selection supply circuit that starts supplying the address to the first to eighth memories, and eight target colors output from the first to eighth memories Interpolation calculation data, which is data consisting of data, is fetched every 2T, and the first interpolation calculation data fetch circuit that outputs the fetched interpolation calculation data , A second interpolation calculation data fetching circuit for fetching interpolation calculation data every time 2T and outputting the fetched interpolation calculation data, wherein the interpolation calculation data by the first interpolation calculation data fetching circuit Interpolation calculation output by the second interpolation calculation data fetch circuit that fetches the interpolation calculation data after time T and the first interpolation calculation data fetch circuit of the first to eighth memories after the fetch. By performing an interpolation operation using at least four types of target color data included in the image data and lower m-bit data of the three types of color element data of the converted color data that is the source of the interpolation calculation data, Included in the interpolation calculation data output from the first interpolation color data generation circuit for generating the target color data corresponding to the color data to be converted and the second interpolation calculation data fetch circuit of the first to eighth memories. At least 4 Corresponding to the converted color data by interpolation using the target color data and the lower m-bit data of the first to third color element data of the converted color data that is the basis of the interpolation calculation data A second target color data generation circuit for generating target color data to be output, target color data generated by the first target color data generation circuit, or target color data generated by the second target color data generation circuit When the target color data is generated by the first target color data generation circuit, the output of the target color data is started, and the target color data is generated by the first target color data generation circuit. And a selection output circuit for starting output of the target color data can be used.
[0038]
That is, the color conversion circuit of the second aspect may be configured so that the processing after the target color data is read out is alternately realized by two systems of circuits. According to the color conversion circuit having this configuration, the conversion of the color data to be converted is not limited by the operation speed of the address generation circuit and the target color data generation circuit (in practice, the speed is the same as the data read speed from the memory). It can be done with.
[0039]
In the color conversion circuit of the fourth aspect of the present invention, the target color data representing the same color in turn for the converted color data composed of the first to third element data of n + m bits, which are input every time T, respectively. Each of which is a color conversion circuit for converting to information (0, 0, 0)-(2 n 2 n 2 n (2) n +1) x (2 n +1) x (2 n +1) First to eighth memories, each of which is stored in a distributed manner and is accessed by an address signal of “3 × n−2” bits, are associated with each memory. First to eighth memories in which a plurality of target color data having the same odd combination of three kinds of integer values constituting information are stored, and first to second memories constituting input converted color data Information (x, y, z), (x, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1) based on the upper n-bit values x, y, z of the three element data, respectively. ), (X + 1, y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), (x + 1, y + 1, z + 1), the first to first 8 "3xn-2" bit addresses to read from 8 memories Interpolating calculation data, which is data composed of eight target color data output from the first to eighth memories by supplying an address generated by the address generating circuit and an address generated by the address generating circuit, for a time 2T. First interpolation calculation data fetching circuit that fetches every time and fetches the fetched interpolation calculation data, and second interpolation calculation that fetches the interpolation calculation data every 2T and outputs the fetched interpolation calculation data A data acquisition circuit, a second interpolation calculation data acquisition circuit for acquiring the interpolation calculation data after time T after the interpolation calculation data is acquired by the first interpolation calculation data acquisition circuit; At least four types of target color data included in the interpolation calculation data output from the first interpolation calculation data fetch circuit in the first to eighth memories and the source of the interpolation calculation data A first target color data generation circuit that generates target color data corresponding to the color data to be converted by interpolation using the lower m bits of the three types of color element data of the color data to be converted; Or at least four types of target color data included in the interpolation calculation data output from the second interpolation calculation data fetch circuit in the eighth memory, and the converted color data that is the basis of the interpolation calculation data. A second target color data generation circuit for generating target color data corresponding to the color data to be converted by interpolation using the lower m bits of the first to third color element data; and first target color data A selection output circuit that outputs either target color data generated by the generation circuit or target color data generated by the second target color data generation circuit, the first target color data generation circuit Selective output circuit that starts output of the target color data when the target color data is generated, and starts output of the target color data when the target color data is generated by the first target color data generation circuit With.
[0040]
That is, the color conversion circuit according to the third aspect of the present invention has a configuration in which only the processing after the target color data is read out is realized alternately by two circuits. According to the color conversion circuit having this configuration, the color data to be converted can be converted at a speed that is not limited by the operation speed of the target color data generation circuit.
[0041]
When the color conversion circuit of each aspect of the present invention is realized in the form of n = 5, each of the first to eighth memories is associated with information (a, b, c). The color data can be stored in the address “17 × 17 × INT (a / 2) + 17 × INT (b / 2) + INT (c / 2)”. In this way, the address generation circuit can be realized with a relatively simple arithmetic circuit.
[0042]
In addition, the color conversion circuit according to the fourth aspect of the present invention is a color conversion circuit for converting the color data to be converted comprising the first to third element data of n + m bits into the target color data representing the same color. These are first to fourth memories accessed by an address signal of “3 × n−1” bits, and information (0, 0, 0) to (2) consisting of three kinds of integer values. n 2 n 2 n (2) n +1) x (2 n +1) x (2 n +1) target color data constitutes first to fourth memory in which four color data that may be used simultaneously for interpolation calculation are stored in a form that can be read simultaneously, and converted color data Four types of “3 × n−1” bits for reading out the four target color data used for the interpolation calculation from the first to fourth memories based on the upper n bits of the first to third element data An address generation circuit for generating the addresses, four target color data stored in the addresses generated by the address generation circuit in the first to fourth memories, and first to third element data of the converted color data And a target color data generation / output circuit for generating and outputting target color data corresponding to the color data to be converted by interpolation using the lower-order m-bit data.
[0043]
As described above, the color conversion circuit according to the fourth aspect of the present invention holds the number of target color data that can be interpolated for all the converted color data in four memories. For this reason, color data (converted color data) can be converted to color data (target color data) of another method at high speed regardless of the content. Further, this color conversion circuit includes four memories that are accessed by “3 × n + 2” bit addresses in which the color data to be converted is stored, and four types of “3 × n + 2” bits that are supplied to these memories. Are generated from the upper n-bit data of the three types of components (first to third element data) of the color data to be converted. Therefore, this color conversion circuit is a conventional color conversion circuit in which a part of the address (specific multiple bits) for reading the target color data is created independently for each component of the color data to be converted (FIG. 15). It is possible to manufacture using a memory having a smaller storage capacity than that of (see).
[0044]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be specifically described below with reference to the drawings.
[0045]
A color conversion circuit according to an embodiment of the present invention converts 24-bit RGB data composed of 8-bit R, G, and B components into 32-bit CMYK data (hereinafter referred to as color data). It is a circuit for.
[0046]
As shown in FIGS. 1 and 2, the color conversion circuit includes two
[0047]
The memory unit 14 (FIG. 1) is a unit that stores 33 × 33 × 33 pieces of color data D (0, 0, 0) to (32, 32, 32) used for interpolation calculation, and includes eight memories (MEM). ) # 0 to # 7. Each memory #k (k = 0 to 7) is a memory accessed by an address signal having a 13-bit width, and each of the
[0048]
The color data D (x, y, z) stored in the
[0049]
Each memory in the
[0050]
That is, as shown in FIG. 3, the
[0051]
Further, as shown in FIG. 4, the
[0052]
That is, only the color data D (0, 0, 0) to D (32, 32, 32) is necessary for the conversion of RGB data, but the data is stored in the memory unit 14 (
[0053]
The
[0054]
In other words, when the
[0055]
[Table 1]
[0056]
Returning to FIG. 1, the description of the color conversion circuit will be continued. The address generation block 11x (x = a, b) is an address signal ADRSx for causing the
[0057]
Each of the AND gates 21x and 22x is a two-input gate that receives a signal having a width of 24 bits. The AND gate 21x includes an RGB signal (RGB data) supplied to the color conversion circuit and a control signal ENAx. Have been supplied. The RGB signal supplied to the color conversion circuit is a signal whose contents (RGB data represented by the signal) change in the input period T, and the control signal ENAx is in a state where all bits are “0”. The signal is a 24-bit width signal having a period 2T that alternately takes a state in which all bits are “1”. A clock signal CLK having a period T (not shown) is supplied to each buffer included in the color conversion circuit. The timing at which each signal changes will be described later.
[0058]
The AND gate 22x receives an output of the buffer 24x and a signal obtained by inverting ENAx. The output of the AND gate 22x and the output of the AND gate 21x are input to an OR gate 23x that is a two-input gate. The output of the OR gate 23x is input to a buffer 24x that operates according to a clock signal CLK (not shown), and the output of the buffer 24x is fed back to the AND gate 22x.
[0059]
Then, r, g, b, uR [0] (the least significant bit of uR), uG [0], and uB [0] included in the output of the buffer 24x are output from the address generation block 11x as the signal BUFF1x. ing. That is, a 12-bit width signal composed of the lower 4 bits of the R component of the RGB signal (RGB data), the lower 4 bits of the G component, and the lower 4 bits of the B component is output as BUFF1x.
[0060]
A 15-bit width signal BUFF0x consisting of uR, uG, uB (upper 5 bits of R, G, B components) included in the output of the buffer 24x is input to the
[0061]
Hereinafter, the configuration and operation of the
[0062]
As shown in FIG. 6, the
[0063]
The
[0064]
[Expression 1]
[0065]
That is, the
[0066]
Here, ADPk (k = 0 to 7) represented by the above formula is an address of a memory in which color data related to the vertex Pk of the unit cell of interest is stored, and x, y are stored in each memory. The reason why a storage area for color data D (x, y, z) that is not actually used and any of z and “z” is “33” will be briefly described.
[0067]
Each memory in the
[0068]
Accordingly, the address AD of the color data D (uR, uG, uB) stored in the
[0069]
[Expression 2]
[0070]
When uD (= uR, uG, or uB) is an even number, since uD / 2 = INT (uD / 2) holds, AD calculated by this equation (9) is expressed by the above equation (1). It matches the calculated ADP0. That is, equation (1) is an equation indicating the address of the memory (in this case, memory # 0) in which D (uR, uG, uB) is stored when uR, uG, uB are even numbers. ing.
[0071]
Next, consider a case where uR and uG are even and uB is odd. In this case, D (uR, uG, uB) is stored in the
[0072]
[Equation 3]
[0073]
When uR and uG are even numbers, uR / 2 = INT (uR / 2) and uG / 2 = INT (uG / 2) hold, and when uB is odd, (uB-1) / 2 = INT (uB / 2) is established. Therefore, in the above equation (1), when uR and uG are even and uB is odd, the memory (in this case, memory # 1) in which D (uR, uG, uB) is stored is stored. It is also an expression indicating an address.
[0074]
The relationship between the address AD and uR, uG, uB when D (uR, uG, uB) is stored in the
[0075]
Further, the expression (2) is obtained by replacing uR, uG, and uB in the expression (1) with uR + 1, uG, and uB, respectively, and (uR + 1, uG, uB) is the coordinates of the vertex P1 ( FIG. 5). Then, as described above, the expression (1) is obtained by storing the color data D (uR, uG, uB) for any combination of uR, uG, uB (
[0076]
Similarly, the expressions (3) to (8) are also expressions using the coordinates of the vertices P2 to P7 in place of the coordinates of the vertex PO in the expression (1). Therefore, ADP0 to ADP7, which are output from the
[0077]
If the address of the color data can be expressed by the equations (1) to (8), the
[0078]
As shown in FIG. 6, ADP0 to ADP7 output by the
[0079]
As shown in FIG. 7, the address selector 42 0 The eight AND
[0080]
[0081]
[0082]
[0083]
The
[0084]
That is, the address selector 42 0 Is a circuit that outputs any one of ADP0 to ADP7 as ADM0 according to the values of uR [0], uG [0], and uB [0]. More specifically, when uR [0], uG [0], and uB [0] are all “0” (when uR, uG, and uB are all even numbers), the AND
[0085]
When uR [0] and uG [0] are “0” and uB [0] is “1” (when uR and uG are even and uB is odd), the AND
[0086]
Further, when uR and uB are even numbers and uG is an odd number (when D (P0) is stored in the memory # 3), the address selector 42 0 Outputs the address signal ADP2 relating to the color data D (P2) as ADM0. The address selector 42 also applies to other odd / even combinations of uR, uG, and uB. 0 Works the same way.
[0087]
That is, the address selector 42 0 Are addresses to be supplied to the
[0088]
Another address selector 42 in the
[0089]
Then, as shown in FIG. 6, the address selector 42 0 ~ 42 7 13 × 8 = 104 bit width signals (signals in which ADP0 to ADP7 are rearranged according to the odd / even combinations of uR, uG, and uB) output from the
[0090]
Returning to FIG. 1, the description of the color conversion circuit will be continued. From the address generation block 11x, the output of the
[0091]
Here, the overall operation of each unit described so far will be described with reference to the timing chart shown in FIG.
[0092]
As shown in FIGS. 9A and 9B, the present color conversion circuit is used by receiving an RGB signal whose contents change at a period equal to the period T of the clock CLK. As shown in FIG. 9 (3), ENAa input to the address generation block 11a is in an “H” state (all bits are “1”) in synchronization with the input period of RGB data. State) and “L” state (a state in which all bits are “0”). On the other hand, as shown in FIG. 9 (6), ENAb input to the
[0093]
That is, the portions from the
[0094]
As is apparent from the configuration described above (FIG. 1), the
[0095]
Therefore, as shown in FIG. 9, when the RGB signal represents RGB data (1) and ENAa is “H” at time t1, the
[0096]
Since the portion up to the
[0097]
The
[0098]
Further, in each address generation block 11x, ADP0 to ADP7 are generated by arithmetic processing based on BUFF0x (uR, uG, uB), and these are generated as uR [0], uG [0], uB [0]. Rearranged according to the combination, ADRSx is generated.
[0099]
The
[0100]
The
[0101]
Then, from the
[0102]
Returning to FIG. 2, the description of the color conversion circuit will be continued.
[0103]
The output DBUFF of the
[0104]
The output of the OR gate 33x is input to a buffer 34x that operates according to CLK (not shown), and the output DBUFFx of the buffer 34x is supplied to both the AND gate 32x and the
[0105]
Also, BUFF1x (uR [0], uG [0], uB [0], r, g, b), which is the output of the address generation block 11x, is input to the buffer 36x. The output BUFF2x of the buffer 36x is input to the buffer 37x, and the output BUFF3x of the buffer 37x is input to the buffer 38x. Then, the output BUFF 4x of the buffer 38x is input to the buffer 39x, and the output BUFF 5x of the buffer 39x is input to the
[0106]
FIG. 10 shows a configuration of the
[0107]
First, the data selector 51 included in the interpolation calculation unit 35x. 0 ~ 51 7 The configuration and operation will be described. As shown in FIG. 11, the data selector 51 0
[0108]
That is, the data selector 51 0
[0109]
[0110]
Then, the data selector 51 0
[0111]
That is, the data selector 51 0 Operates as follows according to uR [0], uG [0], uB [0] values.
[0112]
When uR [0], uG [0], and uB [0] are all “0” (when uR, uG, and uB are even numbers), the data selector 51 0 (OR gate 57) outputs D0 as D (P0). That is, when the color data relating to the vertex P0 is stored in the
[0113]
When uR [0] and uG [0] are “0” and uB [0] is “1” (when uR and uG are even numbers and uB is odd numbers), the data selector 51 0 Outputs D1 as D (P0). That is, when color data relating to the vertex P0 is stored in the
[0114]
When uR and uB are even numbers and uG is an odd number (when color data relating to the vertex P0 is stored in the memory # 2), the data selector 51 0 Outputs the color data D2 read from the
[0115]
The data selector 51 also applies to other odd / even combinations of uR, uG, and uB. 0 Works the same way. That is, the data selector 51 0 Is the data related to the vertex P0 (the data related to the vertex P0 is stored based on the values of uR [0], uG [0], uB [0] among the eight data D0 to D7 read from the memory unit 14). This is a circuit that selects and outputs the output of the memory.
[0116]
Data selector 51 in the
[0117]
As shown in FIG. 10, the data selector 51 0 Output D (P0) and the data selector 51 7 The output D (P7) is input to the
[0118]
The mode determination /
[0119]
[Table 2]
[0120]
That is, when r <g <b is satisfied, the mode determination /
[0121]
When g ≦ r <b is satisfied, the mode determination /
[0122]
When g <b ≦ r is satisfied, the mode determination /
[0123]
The signal mode output from the mode determination /
[0124]
The
[0125]
[Table 3]
[0126]
That is, when the signal mode represents “1”, the
[0127]
When the mode is “3”, the
[0128]
When the mode is “5”, D (P5) is output as the signal DA and D (P4) is output as the signal DB. If the mode represents “6”, the
[0129]
DA and DB output from the
[0130]
[Expression 4]
[0131]
Here, the physical meaning of the above-described operations of the mode determination /
[0132]
The signal mode output from the mode determination /
[0133]
The selection output of the color data corresponding to the mode performed in the
[0134]
Since b0 to b3 output from the mode determination /
[0135]
Returning to FIG. 2, the remaining configuration of the color conversion circuit will be described. As illustrated, the signals OUTa and OUTb output from the interpolation calculation blocks 16 a and 16 b are input to the
[0136]
The overall operation of the color conversion circuit after the interpolation operation blocks 16a and 16b will be described below with reference to FIG.
[0137]
As shown in FIG. 9 (13), the control signal DENAa supplied to the interpolation calculation block 16a is a signal having the same phase as the control signal ENAa. On the other hand, the control signal DENAb supplied to the
[0138]
The circuit composed of the AND
[0139]
On the other hand, the
[0140]
As a result, the output BUFF 5a of the
[0141]
The
[0142]
In the
[0143]
Then, as shown in FIG. 27, the
[0144]
Since the output of the
[0145]
As described above in detail, the color conversion circuit according to the embodiment stores a plurality of CMYK data necessary for interpolation calculation, storing a number of CMYK data that can be subjected to interpolation calculation for all RGB data. A
[0146]
In addition, the color conversion circuit according to the embodiment includes a circuit (
[0147]
In other words, the throughput required for the color conversion circuit (required RGB data conversion speed) is higher than both the throughput of the
[0148]
Therefore, when the color conversion circuit throughput may be lower than either the
[0149]
Further, when the requested throughput is higher than the throughput of the
[0150]
Note that which of the throughput of the
[0151]
The color conversion circuit according to the embodiment includes a point P RGB In this circuit, the final output is obtained by the interpolation calculation based on the color data of the four vertices of the tetrahedron including, but the interpolation calculation is performed using all the eight color data simultaneously read from the
[0152]
Further, instead of the
[0153]
【The invention's effect】
According to the present invention, it is possible to obtain a color conversion circuit that can convert color data into other types of color data at a high speed regardless of the content thereof and requires only a small capacity memory.
[Brief description of the drawings]
FIG. 1 is a circuit diagram showing a configuration of a first half of a color conversion circuit according to an embodiment of the present invention.
FIG. 2 is a circuit diagram showing a configuration of a latter half of the color conversion circuit according to the embodiment.
FIG. 3 is an explanatory diagram of a usage pattern of
FIG. 4 is an explanatory diagram of a usage form of
FIG. 5 is a diagram for explaining a color conversion procedure performed by the color conversion circuit according to the embodiment.
FIG. 6 is a circuit diagram illustrating an overall configuration of an address generation unit provided in the color conversion circuit according to the embodiment.
FIG. 7 is a circuit diagram showing a configuration of an address selector provided in an address generator.
FIG. 8 is an explanatory diagram of a configuration of another address selector provided in the address generation unit.
FIG. 9 is a timing chart for explaining the overall operation of the color conversion circuit according to the embodiment.
FIG. 10 is a circuit diagram illustrating an overall configuration of an interpolation calculation unit provided in the color conversion circuit according to the embodiment.
FIG. 11 is a circuit diagram showing a configuration of a data selector provided in the interpolation calculation unit.
FIG. 12 is an explanatory diagram of a configuration of another data selector provided in the interpolation calculation unit.
FIG. 13 is an explanatory diagram of an operation of an interpolation calculation unit.
FIG. 14 is an explanatory diagram of a usage pattern of a memory provided in a conventional color conversion circuit.
FIG. 15 is a diagram showing a configuration of a digital high-speed three-dimensional interpolation device disclosed in US Pat. No. 4,837,722.
[Explanation of symbols]
11 Address generation block
12 Address switching part
13 Address buffer
14 Memory part
15 Data buffer
16 Interpolation calculation block
17 Data switching part
18 Output buffer
25 Address generator
35 Interpolation calculator
41 Address calculator
42 Address selector
51 Data selector
52 Mode judgment / coefficient calculation section
53 Data selector for calculation
54 Output calculator
Claims (6)
それぞれ、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが分散して記憶された、それぞれ、“3×n−2”ビットのアドレス信号でアクセスされる第1ないし第8のメモリであり、各メモリに、対応づけられた情報を構成する3種の整数値の奇遇の組合せが等しい複数の目的色データが記憶された第1ないし第8のメモリと、
前記被変換色データを構成している前記第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、前記第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成するアドレス生成回路と、
前記第1ないし第8のメモリの、前記アドレス生成回路が生成したアドレスに記憶された8個の目的色データの中の少なくとも4個の目的色データと、前記被変換色データの前記第1ないし第3要素データの下位mビットのデータとを用いた補間演算により、前記被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路
とを備えることを特徴とする色変換回路。Each of the color conversion circuits for converting the color data to be converted comprising first to third element data of n + m bits into target color data representing the same color,
(2 n +1) × (2 n +1) × (2 n +1) associated with information (0, 0, 0) to (2 n , 2 n , 2 n ) each consisting of three integer values 1st to 8th memory, each of which is accessed by an address signal of “3 × n−2” bits, in which a plurality of target color data are stored in a distributed manner. First to eighth memories in which a plurality of target color data having equal combinations of three kinds of integer values constituting the same are stored;
Information (x, y, z), (x, y, z + 1) based on the upper n-bit values x, y, z of the first to third element data constituting the color data to be converted, respectively. , (X, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), (x + 1, y + 1, z + 1) An address generation circuit for generating eight types of “3 × n−2” -bit addresses for reading the eight target color data attached from the first to eighth memories;
At least four target color data among the eight target color data stored in the addresses generated by the address generation circuit in the first to eighth memories, and the first to eighth colors of the converted color data. And a target color data generation / output circuit for generating and outputting target color data corresponding to the color data to be converted by interpolation using lower m-bit data of the third element data. Conversion circuit.
それぞれ、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが分散して記憶された、それぞれ、“3×n−2”ビットのアドレス信号でアクセスされる第1ないし第8のメモリであり、各メモリに、対応づけられた情報を構成する3種の整数値の奇遇の組合せが等しい複数の目的色データが記憶された第1ないし第8のメモリと、
入力されている被変換色データを、時間2T毎に取り込み、取り込んだ被変換色データを出力する第1取込回路と、
入力されている被変換色データを、時間2T毎に取り込み、取り込んだ被変換色データを出力する第2取込回路であって、前記第1取込回路による被変換色データの取込後、時間T後に被変換色データの取込を行う第2取込回路と、
前記第1取込回路が出力する被変換色データを構成している前記第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、前記第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成する第1アドレス生成回路と、
前記第2取込回路が出力する被変換色データを構成している前記第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、前記第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成する第2アドレス生成回路と、
前記第1アドレス生成回路或いは前記第2アドレス生成回路によってアドレスが生成された際に、前記第1ないし第8のメモリの、生成されたアドレスに記憶された目的色データの中の少なくとも4種の目的色データと、当該アドレスを生成するために使用された被変換色データの前記3種の色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路
とを備えることを特徴とする色変換回路。A color conversion circuit for sequentially converting converted color data composed of first to third element data of n + m bits, which is input every time T, into target color data representing the same color,
(2 n +1) × (2 n +1) × (2 n +1) associated with information (0, 0, 0) to (2 n , 2 n , 2 n ) each consisting of three integer values 1st to 8th memory, each of which is accessed by an address signal of “3 × n−2” bits, in which a plurality of target color data are stored in a distributed manner. First to eighth memories in which a plurality of target color data having equal combinations of three kinds of integer values constituting the same are stored;
A first capture circuit that captures input converted color data every time 2T and outputs the captured converted color data;
A second capture circuit that captures input converted color data every time 2T and outputs the captured converted color data after the conversion color data is captured by the first capture circuit; A second capture circuit for capturing the converted color data after time T;
Information (x, y, z) based on values x, y, z of upper n bits of the first to third element data constituting the color data to be converted output from the first fetch circuit, respectively. , (X, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), ( First address for generating eight types of “3 × n−2” bit addresses for reading out the eight target color data associated with x + 1, y + 1, z + 1) from the first to eighth memories A generation circuit;
Information (x, y, z) based on the values x, y, z of the upper n bits of the first to third element data constituting the color data to be converted output from the second fetch circuit, respectively. , (X, y, z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), ( a second address for generating eight types of “3 × n−2” bit addresses for reading out the eight target color data associated with x + 1, y + 1, z + 1) from the first to eighth memories. A generation circuit;
When an address is generated by the first address generation circuit or the second address generation circuit, at least four types of target color data stored in the generated addresses of the first to eighth memories are used. Object corresponding to the converted color data by interpolation using the target color data and the lower m bits of the three color element data of the converted color data used to generate the address A color conversion circuit comprising a target color data generation / output circuit for generating and outputting color data.
前記第1アドレス生成回路によって生成されるアドレスと前記第2アドレス生成回路によって生成されるアドレスのいずれかを前記第1ないし第8のメモリに供給するアドレス選択供給回路であって、前記第1アドレス生成回路によってアドレスが生成されたときに、そのアドレスの前記第1ないし第8のメモリへの供給を開始し、前記第2アドレス生成回路によってアドレスが生成されたときに、そのアドレスを前記第1ないし第8のメモリへの供給を開始するアドレス選択供給回路と、
前記第1ないし第8のメモリが出力する8個の目的色データからなるデータである補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第1補間計算用データ取込回路と、
前記補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第2補間計算用データ取込回路であって、前記第1補間計算用データ取込回路による補間計算用データの取込後、時間T後に補間計算用データの取込を行う第2補間計算用データ取込回路と、
前記第1ないし第8のメモリの、前記第1補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの前記3種の色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第1目的色データ生成回路と、
前記第1ないし第8のメモリの、前記第2補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの第1ないし第3色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第2目的色データ生成回路と、
前記第1目的色データ生成回路によって生成される目的色データと前記第2目的色データ生成回路によって生成される目的色データのいずれかを出力する選択出力回路であって、前記第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始し、前記第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始する選択出力回路
とを含む
ことを特徴とする請求項2記載の色変換回路。The target color data generation / output circuit includes:
An address selection / supply circuit that supplies either the address generated by the first address generation circuit or the address generated by the second address generation circuit to the first to eighth memories, the first address When the address is generated by the generation circuit, supply of the address to the first to eighth memories is started, and when the address is generated by the second address generation circuit, the address is changed to the first address. Or an address selection supply circuit for starting supply to the eighth memory;
Interpolation calculation data, which is data composed of eight target color data output from the first to eighth memories, is fetched every 2T, and the first interpolation calculation data is output to output the interpolated calculation data. Embedded circuit,
A second interpolation calculation data fetch circuit that fetches the interpolation calculation data every 2T and outputs the fetched interpolation calculation data, the interpolation calculation data by the first interpolation calculation data fetch circuit A second interpolation calculation data fetch circuit for fetching interpolation calculation data after time T after fetching
At least four types of target color data included in the interpolation calculation data output from the first interpolation calculation data fetch circuit in the first to eighth memories, and the subject data from which the interpolation calculation data is based. A first target color data generation circuit that generates target color data corresponding to the color data to be converted by interpolation using the lower m bits of the three types of color element data of the converted color data;
At least four types of target color data included in the interpolation calculation data output from the second interpolation calculation data fetch circuit in the first to eighth memories, and the subject data from which the interpolation calculation data is based. A second target color data generation circuit for generating target color data corresponding to the color data to be converted by interpolation using the lower m bits of the first to third color element data of the converted color data;
A selection output circuit for outputting either target color data generated by the first target color data generation circuit or target color data generated by the second target color data generation circuit, wherein the first target color data When target color data is generated by the generation circuit, output of the target color data is started. When target color data is generated by the first target color data generation circuit, output of the target color data is started. 3. The color conversion circuit according to claim 2, further comprising a selection output circuit that performs the selection.
それぞれ、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが分散して記憶された、それぞれ、“3×n−2”ビットのアドレス信号でアクセスされる第1ないし第8のメモリであり、各メモリに、対応づけられた情報を構成する3種の整数値の奇遇の組合せが等しい複数の目的色データが記憶された第1ないし第8のメモリと、
入力されている被変換色データを構成している前記第1ないし第3要素データの上位nビットの値x、y、zに基づき、それぞれ、情報(x、y、z)、(x、y、z+1)、(x、y+1、z)、(x、y+1、z+1)、(x+1、y、z)、(x+1、y、z+1)、(x+1、y+1、z)、(x+1、y+1、z+1)に対応づけられた8個の目的色データを、前記第1ないし第8のメモリから読み出すための8種の“3×n−2”ビットのアドレスを生成するアドレス生成回路と、
前記アドレス生成回路によって生成されるアドレスの供給により、前記第1ないし第8のメモリが出力する8個の目的色データからなるデータである補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第1補間計算用データ取込回路と、
前記補間計算用データを、時間2T毎に取り込み、取り込んだ補間計算用データを出力する第2補間計算用データ取込回路であって、前記第1補間計算用データ取込回路による補間計算用データの取込後、時間T後に補間計算用データの取込を行う第2補間計算用データ取込回路と、
前記第1ないし第8のメモリの、前記第1補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの前記3種の色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第1目的色データ生成回路と、
前記第1ないし第8のメモリの、前記第2補間計算用データ取込回路が出力する補間計算用データに含まれる少なくとも4種の目的色データと、当該補間計算用データの元となった被変換色データの第1ないし第3色要素データの下位mビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成する第2目的色データ生成回路と、
前記第1目的色データ生成回路によって生成される目的色データと前記第2目的色データ生成回路によって生成される目的色データのいずれかを出力する選択出力回路であって、前記第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始し、前記第1目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始する選択出力回路
とを備えることを特徴とする色変換回路。A color conversion circuit for sequentially converting converted color data composed of first to third element data of n + m bits, which is input every time T, into target color data representing the same color,
(2 n +1) × (2 n +1) × (2 n +1) associated with information (0, 0, 0) to (2 n , 2 n , 2 n ) each consisting of three integer values 1st to 8th memory, each of which is accessed by an address signal of “3 × n−2” bits, in which a plurality of target color data are stored in a distributed manner. First to eighth memories in which a plurality of target color data having equal combinations of three kinds of integer values constituting the same are stored;
Information (x, y, z), (x, y, respectively) based on the upper n-bit values x, y, z of the first to third element data constituting the input color data to be converted. , Z + 1), (x, y + 1, z), (x, y + 1, z + 1), (x + 1, y, z), (x + 1, y, z + 1), (x + 1, y + 1, z), (x + 1, y + 1, z + 1) 8) address generation circuits for generating eight types of “3 × n−2” bit addresses for reading out the eight target color data associated with the first to eighth memories,
Interpolation calculation data, which is data composed of eight target color data output from the first to eighth memories, is taken every time 2T by supplying an address generated by the address generation circuit. A first interpolation calculation data fetch circuit for outputting calculation data;
A second interpolation calculation data fetch circuit that fetches the interpolation calculation data every 2T and outputs the fetched interpolation calculation data, the interpolation calculation data by the first interpolation calculation data fetch circuit A second interpolation calculation data fetch circuit for fetching interpolation calculation data after time T after fetching
At least four types of target color data included in the interpolation calculation data output from the first interpolation calculation data fetch circuit in the first to eighth memories, and the subject data from which the interpolation calculation data is based. A first target color data generation circuit that generates target color data corresponding to the color data to be converted by interpolation using the lower m bits of the three types of color element data of the converted color data;
At least four types of target color data included in the interpolation calculation data output from the second interpolation calculation data fetch circuit in the first to eighth memories, and the subject data from which the interpolation calculation data is based. A second target color data generation circuit for generating target color data corresponding to the color data to be converted by interpolation using the lower m bits of the first to third color element data of the converted color data;
A selection output circuit for outputting either target color data generated by the first target color data generation circuit or target color data generated by the second target color data generation circuit, wherein the first target color data When target color data is generated by the generation circuit, output of the target color data is started. When target color data is generated by the first target color data generation circuit, output of the target color data is started. A color conversion circuit comprising: a selection output circuit that performs the selection.
前記第1ないし第8のメモリのそれぞれには、情報(a,b,c)に対応づけられた色データがアドレス“17×17×INT(a/2)+17×INT(b/2)+INT(c/2)”に記憶されている
ことを特徴とする請求項1ないし請求項4のいずれかに記載の色変換回路。n = 5,
In each of the first to eighth memories, the color data associated with the information (a, b, c) has an address “17 × 17 × INT (a / 2) + 17 × INT (b / 2) + INT. The color conversion circuit according to claim 1, wherein the color conversion circuit is stored in (c / 2) ″.
それぞれ、“3×n−1”ビットのアドレス信号でアクセスされる第1ないし第4のメモリであり、3種の整数値からなる情報(0、0、0)〜(2n、2n、2n)に対応づけられた(2n+1)×(2n+1)×(2n+1)個の目的色データが、補間計算に同時に使用することがある4個の色データが同時に読み出せる形態で記憶された第1ないし第4のメモリと、
前記被変換色データを構成している前記第1ないし第3要素データの上位nビットのデータに基づき、補間計算に使用する4個の目的色データを前記第1ないし第4のメモリから読み出すための4種の“3×n−1”ビットのアドレスを生成するアドレス生成回路と、
前記第1ないし第4のメモリの、前記アドレス生成回路が生成したアドレスに記憶された4個の目的色データと、前記被変換色データの前記第1ないし第3要素データの下位mビットのデータとを用いた補間演算により、前記被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路
とを備えることを特徴とする色変換回路。Each of the color conversion circuits for converting the color data to be converted comprising first to third element data of n + m bits into target color data representing the same color,
Each of the first to fourth memories is accessed by an address signal of “3 × n−1” bits, and includes information (0, 0, 0) to (2 n , 2 n , three kinds of integer values). associated with the 2 n) (2 n +1) × (2 n +1) × (2 n +1) pieces of target color data, the four color data that may be used simultaneously for interpolation calculation can be read at the same time First to fourth memories stored in the form;
To read four target color data used for interpolation calculation from the first to fourth memories based on the upper n bits of the first to third element data constituting the converted color data An address generation circuit for generating four types of “3 × n−1” bit addresses;
Four target color data stored at addresses generated by the address generation circuit in the first to fourth memories, and lower m-bit data of the first to third element data of the converted color data And a target color data generation / output circuit for generating and outputting target color data corresponding to the color data to be converted by an interpolation operation using the color conversion circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20189899A JP3755345B2 (en) | 1999-07-15 | 1999-07-15 | Color conversion circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20189899A JP3755345B2 (en) | 1999-07-15 | 1999-07-15 | Color conversion circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001036755A JP2001036755A (en) | 2001-02-09 |
JP3755345B2 true JP3755345B2 (en) | 2006-03-15 |
Family
ID=16448659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20189899A Expired - Fee Related JP3755345B2 (en) | 1999-07-15 | 1999-07-15 | Color conversion circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3755345B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8558845B2 (en) | 2010-03-11 | 2013-10-15 | Seiko Epson Corporation | Data conversion apparatus and data conversion method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6448410B2 (en) * | 2015-02-26 | 2019-01-09 | キヤノン株式会社 | Data conversion apparatus, control method therefor, and program |
CN111047037B (en) * | 2019-12-27 | 2024-05-24 | 北京市商汤科技开发有限公司 | Data processing method, device, equipment and storage medium |
-
1999
- 1999-07-15 JP JP20189899A patent/JP3755345B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8558845B2 (en) | 2010-03-11 | 2013-10-15 | Seiko Epson Corporation | Data conversion apparatus and data conversion method |
Also Published As
Publication number | Publication date |
---|---|
JP2001036755A (en) | 2001-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1922630B (en) | Image processing device, image processing system, image processing method, and integrated circuit device | |
EP0166966B1 (en) | Video display controller | |
US7190396B2 (en) | Image processing circuit of image input device | |
JP4725741B2 (en) | Drawing apparatus and drawing method | |
US6636629B1 (en) | Image processing apparatus | |
JPH0642196B2 (en) | Line memory for double-density scanning | |
JP2647033B2 (en) | Lookup table creation method and lookup table creation device | |
JP3755345B2 (en) | Color conversion circuit | |
JP2006211610A (en) | Imaging system | |
JP4251748B2 (en) | Color conversion device | |
JPH06141172A (en) | Method and device for converting chrominance signal | |
JPH11238126A (en) | Common interpolating circuit for radial interpolation with asymmetrical pruning and tetrahedral interpolation with asymmetrical pruning | |
JP2000112448A (en) | Pixel interpolation processing method and unit therefor, and digital picture display device provided with them | |
JPH10200776A (en) | Color conversion device and color conversion method, and recording medium | |
JP4810615B2 (en) | Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program | |
JPH0563967A (en) | Three-dimensional data transforming device | |
JP6448410B2 (en) | Data conversion apparatus, control method therefor, and program | |
JP4132264B2 (en) | Image signal processing circuit | |
JP3701557B2 (en) | Image display control method and apparatus, and computer-readable recording medium | |
JPH11238127A (en) | Common interpolating circuit for pruning radial interpolation and pruning tetrahedral interpolation | |
JP2001320593A (en) | Image processing unit, and image forming device provided with it, and image processing method | |
JPH10322723A (en) | Video signal matrix converter | |
JP4386515B2 (en) | Color signal generation circuit | |
JPH07230539A (en) | Data converter, image forming device and table data storing method | |
JPH0552701B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050607 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050607 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051212 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100106 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110106 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110106 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120106 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120106 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130106 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130106 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140106 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |