JP3755345B2 - Color conversion circuit - Google Patents

Color conversion circuit Download PDF

Info

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
Application number
JP20189899A
Other languages
Japanese (ja)
Other versions
JP2001036755A (en
Inventor
研示 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP20189899A priority Critical patent/JP3755345B2/en
Publication of JP2001036755A publication Critical patent/JP2001036755A/en
Application granted granted Critical
Publication of JP3755345B2 publication Critical patent/JP3755345B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0003755345
【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】
Figure 0003755345
【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】
Figure 0003755345
【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】
Figure 0003755345
【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】
Figure 0003755345
【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】
Figure 0003755345
【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】
Figure 0003755345
【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 (RAMs # 0 to # 7) are added. Units 69 to 71, ROMs 72 to 79, multipliers 80 to 87, and adders 88 to 97. In the following description and drawings, XH4, YH4, and ZH4 indicate the upper 4 bits of the X, Y, and Z components of the luminance data to be converted, respectively. Also, XL1, YL1, and ZL1 indicate the fifth bit data of the luminance data to be converted (the least significant bit data of the upper 5-bit data), respectively. XF, YF, and ZF represent the lower 3 bits of the luminance data to be converted.
[0011]
The RAMs 61 to 68 (RAM # 0 to # 7) constituting the interpolation device are all accessed by a 12-bit address. In the RAMs # 0 to # 7, 32 × 32 × 32 pieces of RGB data are distributed and stored as follows. The RGB data stored in the RAMs # 0 to # 7 are all “0” in XF, YF, and ZF, and 2 × XH4 + XL1, 2 × YH4 + YL1, 2 × ZH4 + ZL1 (ie, X, Y , The upper 5-bit value of the Z component) is data that can be used as the conversion result of the color data to be converted, each of which is a value in the range of 0 to 31, and is associated with XL1, YL1, and ZL1. It has become.
[0012]
The RAM # 0 stores only RGB data related to the converted color data in which XL1, YL1, and ZL1 are all “0”. The RAM # 1 stores only RGB data related to converted color data in which XL1 is “1” and YL1 and ZL1 are both “0”. The RAM # 2 stores only RGB data related to converted color data in which YL1 is “1” and both XL1 and ZL1 are “0”. The RAM # 3 stores only RGB data relating to the color data to be converted in which XL1 and YL1 are “1” and ZL1 is “0”.
[0013]
The RAM # 4 stores only RGB data related to the converted color data in which XL1 and YL1 are “0” and ZL1 is “1”. The RAM # 5 stores only RGB data related to the converted color data in which XL1 and ZL1 are “1” and YL1 is “0”. The RAM # 6 stores only RGB data related to the converted color data in which YL1 and ZL1 are “1” and XL1 is “0”. The RAM # 7 stores only RGB data related to the converted color data in which XL1, YL1, and ZL1 are all “1”.
[0014]
That is, the RAM # 0 to # 7 include color data corresponding to the color data to be converted whose upper 5 bit values of X, Y, and Z are x, y, and z, and upper 5 bit values of X, Y, and Z. Color data corresponding to the converted color data for which x, y, z is x + 1, y, z; color data corresponding to the converted color data for which the upper 5 bit values of X, Y, Z are x, y + 1, z; Color data corresponding to converted color data whose upper 5 bit values of Y, Z are x + 1, y + 1, z and converted color data whose upper 5 bit values of X, Y, Z are x, y, z + 1 The corresponding color data, the color data corresponding to the color data to be converted whose X, Y, and Z upper 5 bit values are x + 1, y, and z + 1, and the upper 5 bit values of X, Y, and Z are x, y + 1, The color data corresponding to the converted color data that is z + 1, and the upper 5 bit values of X, Y, and Z are x + 1, y 1, in the form and color data corresponding to the converted color data is z + 1 can be read at the same time, total 32 × 32 × 32 pieces of color data are stored.
[0015]
As shown in the figure, in RAM # 0, “ZH4 + ZL1” (output of adder 69), “YH4 + YL1” (output of adder 70), and “XH4 + XL1” (output of adder 71) are combined. In addition, a 12-bit signal (arranged) is provided as an address signal. In addition, a signal obtained by combining “ZH4 + ZL1”, “YH4 + YL1”, and “XH4” is given to the RAM # 1 as an address signal. A signal obtained by combining “ZH4 + ZL1”, “YH4”, and “XH4 + XL1” is given to the RAM # 2 as an address signal. A signal obtained by combining “ZH4 + ZL1”, “YH4”, and “XH4” is supplied to the RAM # 3 as an address signal.
[0016]
In addition, a signal combining “ZH4”, “YH4 + YL1”, and “XH4 + XL1” is given to the RAM # 4 as an address signal. A signal obtained by combining “ZH4”, “YH4 + YL1”, and “XH4” is given to the RAM # 5 as an address signal. A signal obtained by combining “ZH4”, “YH4”, and “XH4 + XL1” is given to the RAM # 6 as an address signal. A signal obtained by combining “ZH4”, “YH4”, and “XH4” is given to the RAM # 7 as an address signal.
[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 RAMs # 0 to # 7. For example, the RGB data related to each color data to be converted is stored at the address “16 × 16 × ZH4 + 16 × YH4 + XH4” obtained from XH4, YH4, ZH4 of the RAM determined as described above according to XL1, YL1, and ZL1. If stored, the signals related to XH4, YH4, and ZH4 are the lower, middle, and upper 4 bits of the address signal, respectively. RGB data is simultaneously output from RAM # 0 to RAM # 7.
[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 ROMs # 0 to # 7 are multiplied by the outputs of RAMs # 0 to # 7 by multipliers 80 to 87, respectively. The outputs of the multipliers 80 to 87 are added by a circuit including adders 88 to 94, and the addition result is output as a conversion result.
[0020]
U.S. Pat. No. 4,837,722, which discloses this interpolation device, describes RGB data stored in RAM # 0 and RAM # 7, RGB data stored in RAM # 1 and RAM # 6, and RAM #. 2 and RGB data stored in RAM # 5, and RGB data stored in RAM # 3 and RAM # 4, respectively, are provided with four memories, and four RGB data read from these memories are stored. An interpolator that performs the interpolation calculation used is also disclosed.
[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 RAMs # 0 to # 7 are used will be generated.
[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” bit 8 that is supplied to these memories. There is provided an address generation circuit for generating seed addresses from three kinds of components (first to third element data) of the color data to be converted and the upper n-bit data of each. 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).
[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 address generation blocks 11a and 11b, an address switching unit 12, an address buffer 13, a memory unit 14, a data buffer 15, and two interpolation operation blocks 16a and 16b. A data switching unit 17 and an output buffer 18 are provided.
[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 memories # 0 to # 7 is a part of the output ADRS of the address buffer 13. Some address signals ADM0 to ADM7 are supplied.
[0048]
The color data D (x, y, z) stored in the memory unit 14 includes the lower 3 bits of the R component (hereinafter referred to as r), the lower 3 bits of the G component (hereinafter referred to as g), The lower 3 bits of the B component (hereinafter referred to as b) are all “0”, the upper 5 bits of the R component (hereinafter referred to as uR), and the upper 5 bits of the G component (hereinafter referred to as uG). The upper 5 bits of the B component (hereinafter referred to as uB) are CMYK data corresponding to RGB data of x, y, and z, respectively. However, the color data D (x, y, z) in which any of x, y, z is “32”, r, g, b are all “0”, and uR, uG, uB are respectively , X, y, and z are CMYK data corresponding to virtual RGB data (uR, uG, and uB cannot take 32). That is, the color data D (x, y, z) whose x, y, z is “32” is not CMYK data corresponding to existing RGB data, and any of uR, uG, uB is “ This is CMYK data prepared to obtain CMYK data corresponding to RGB data of 31 ″ by interpolation calculation.
[0049]
Each memory in the memory unit 14 stores these color data in the form as shown in FIGS.
[0050]
That is, as shown in FIG. 3, the memory # 0 includes 17 × 17 × 17 pieces of color data D (x, y, z) in which x, y, and z are all even numbers of 0 or more and 33 or less. z) are stored in the form sorted in ascending order of x, ascending order of y, and ascending order of z. In the memory # 1, 17 × 17 × 17 color data D (x, y, x, y are even numbers of 0 or more and 33 or less, and z is an odd number of 0 or more and 33 or less. z) is stored in the form sorted in ascending order of x, y, z. In the memory # 2, color data D (x, y, z) where x and z are even numbers of 0 or more and 33 or less and y is an odd number of 0 or more and 33 or less is x, y, z Are stored in an ascending order. In the memory # 3, color data D (x, y, z) where x is an even number of 0 to 33 and y and z are odd numbers of 0 to 33 is stored in x, y, z. Are stored in an ascending order.
[0051]
Further, as shown in FIG. 4, the memory # 4 includes color data (x, y, x) in which x is an odd number from 0 to 33 and y and z are even numbers from 0 to 33. z) is stored in the form sorted in ascending order of x, y, z. In the memory # 5, color data D (x, y, z) in which x and z are odd numbers from 0 to 33 and y is an even number from 0 to 33 is stored in x, y, z Are stored in an ascending order. In the memory # 6, color data D (x, y, z) in which x and y are odd numbers from 0 to 33 and z is an even number from 0 to 33 is stored in x, y, z Are stored in ascending order. In the memory # 7, color data D (x, y, z) in which x, y, z are all odd numbers from 0 to 33 are sorted in ascending order of x, y, z. It is remembered.
[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 (memory # 0 to # 7). A storage area for color data D (x, y, z) that is not actually used and any of x, y, z is “33” is also prepared. The reason why these storage areas are prepared will be described later.
[0053]
The memory unit 14 includes 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), and D (uR + 1, uG + 1, uB + 1) for any uR, uG, uB combination memory # 0- # 7 Color data D (0, 0, 0) to (the color data is stored in different memories because the odd / even combinations of uR, uG, and uB are different from each other). D (32, 32, 32) is stored.
[0054]
In other words, when the memory unit 14 considers lattice points whose coordinate values are integers in a three-dimensional space having R / 8, G / 8, and B / 8 coordinate axes, as shown in FIG. Eight lattice points P0 to P7 in a positional relationship, that is, points P whose positions are represented by coordinates (uR + r / 8, uG + g / 8, uB + b / 8). RGB 8 units of color data associated with the coordinates of the eight vertices P0 to P7 of a unit grid including the following (hereinafter referred to as the unit cell of interest) can be read simultaneously from the memories # 0 to # 7, and the vertex P0 As shown in Table 1, the memory in which the color data related to .about.P7 is stored is a unit determined according to the odd / even of uR, uG, uB (coordinates of the lattice point P0).
[0055]
[Table 1]
Figure 0003755345
[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 memory unit 14 to output eight color data (hereinafter referred to as interpolation calculation color data) associated with the vertices P0 to P7. Is a block that generates As illustrated, the address generation block 11x includes two AND gates 21x and 22x, an OR gate 23x, a buffer 24x (latch), and an address generation unit 25x.
[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 address generator 25x. The address generation unit 25x is a circuit that actually generates an address signal ADRSx for causing the memory unit 14 to output interpolation calculation color data.
[0061]
Hereinafter, the configuration and operation of the address generator 25x (x = a, b) will be described in detail with reference to FIGS. FIG. 6 is a diagram showing the overall configuration of the address generator 25x, and FIG. 7 shows an address selector 42 provided in the address generator 25x. 0 FIG. FIG. 8 shows an address selector 42 provided in the address generator 25x. 1 ~ 42 7 It is explanatory drawing of this structure.
[0062]
As shown in FIG. 6, the address generator 25x includes an address calculator 41 and eight address selectors 42. 0 ~ 42 7 It consists of. BUFFx0 (that is, uR, uG, and uB) from the buffer 24x is supplied to the address calculation unit 41. Further, uR [0], uG [0], and uB [0] included in BUFFx0 are address selectors 42. 0 ~ 42 7 Has also been supplied.
[0063]
The address calculation unit 41 is a 13-bit signal based on the supplied uR, uG, uB (coordinate values of the vertex P0 of the unit cell of interest), and the relationship with uR, uG, uB is as follows: Address signals ADP0 to ADP7 that can be expressed by equations (1) to (8) are output.
[0064]
[Expression 1]
Figure 0003755345
[0065]
That is, the address calculation unit 41 is a circuit that outputs address signals ADP0 to ADP7 representing the color data addresses of the vertices P0 to P7. However, even if the address signals ADP0 to ADP7 output from the address calculation unit 41 are supplied to the memories # 0 to # 7, the color data of the vertices P0 to P7 may not be read (interpolation calculation). The signal is required to be rearranged in order to obtain ADMO to ADM7 for outputting the color data for use.
[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 memory unit 14 is used in the form already described (see FIGS. 3 and 4 and Table 1). That is, in the memory #K (K = 0 to 7), color data D (x, x, y, z are in the range of 0-33, respectively, and the odd combinations of x, y, z are equal. , Y, z) are sorted and stored in ascending order of x, y, z. As described above, since the storage area for the color data D (x, y, z) that is not actually used and any of x, y, z is “33” is prepared, the memory #K The z value of the color data stored in the i th storage area is equal to the z value of the color data stored in the “i + 17” th storage area. Further, the y value of the color data stored in the i-th storage area of the memory #K is equal to the y value of the color data stored in the “i + 17 × 17” -th storage area.
[0068]
Accordingly, the address AD of the color data D (uR, uG, uB) stored in the memory # 0 and having all even numbers of uR, uG, uB can be expressed by the following equation.
[0069]
[Expression 2]
Figure 0003755345
[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 memory # 1, and the address AD can be expressed by the following equation.
[0072]
[Equation 3]
Figure 0003755345
[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 memories # 2 to # 7 is also a kind of the equation (9), such as the equation (10). The above variables (uR and the like) can be expressed by an expression in which the variables are subtracted by “1” (such as “uR-1”). When uD (= uR, uG, or uB) is an even number, (uD / 2) = INT (uD / 2) is established, and when uD is an odd number, (uD / 2) = INT (( Since uD-1) / 2) is established, the color data D (uR) is eventually obtained from the equation (1) regardless of the odd / even of uR, uG, uB (for any combination of uR, uG, uB). , UG, uB) can represent the address of the memory (any one of the memories # 0 to # 7).
[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 (memory # 0 to # 7). Any one address), so that the memory (any one of the memories # 0 to # 7) in which the color data D (uR + 1, uG, uB) relating to the vertex P1 is stored according to the expression (2). The address of can be expressed.
[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 address calculation unit 41 and whose values can be expressed by the above-described equations (1) to (8), can be used to read D (P0) to D (P7), respectively. It will be.
[0077]
If the address of the color data can be expressed by the equations (1) to (8), the address calculation unit 41 can be realized by a logic circuit with a simple configuration, and any of x, y, and z is “33”. A storage area for color data D (x, y, z) that is not actually used is prepared in each memory.
[0078]
As shown in FIG. 6, ADP0 to ADP7 output by the address calculation unit 41 are address selectors 42 to which uR [0], uG [0], uB [0] are supplied. k (K = 0 to 7).
[0079]
As shown in FIG. 7, the address selector 42 0 The eight AND gates 45 0 ~ 45 7 And eight selectors 46 0 ~ 46 7 And an OR gate 47. ANDGATE 45 0 ~ 45 7 Are three-input gates to which uR [0], uG [0], and uB [0] are input. However, ANDGATE 45 0 ~ 45 7 Respectively function as follows with respect to the input uR [0], uG [0], and uB [0].
[0080]
ANDGATE 45 0 Outputs “1” when uR [0], uG [0], and uB [0] are all “0”, and outputs “0” otherwise. ANDGATE 45 1 Outputs “1” when uR [0] and uG [0] are “0” and uB [0] is “1”, and outputs “0” otherwise. . ANDGATE 45 2 Outputs “1” when uR [0] and uB [0] are “0” and uG [0] is “1”, and outputs “0” otherwise. . ANDGATE 45 Three Outputs “1” when uR [0] is “0” and uG [0] and uB [0] are “1”, and outputs “0” otherwise. .
[0081]
ANDGATE 45 Four Outputs “1” when uR [0] is “1” and uG [0] and uB [0] are “0”, and outputs “0” otherwise. . ANDGATE 45 Five Outputs “1” when uR [0] and uB [0] are “1” and uG [0] is “0”, otherwise outputs “0”. . ANDGATE 45 6 Outputs “1” when uR [0] and uG [0] are “1” and uB [0] is “0”, otherwise outputs “0”. . ANDGATE 45 7 Outputs “1” when uR [0], uB [0], and uG [0] are all “1”, and outputs “0” otherwise.
[0082]
ANDGATE 45 k The output of (k = 0 to 7) is input as a control signal to the selector 46k. Selector 46 k Further, an address signal ADPk from the address calculation unit 41 and a 13-bit width signal ZERO each bit of which is “0” are input to the selector 46. k Outputs ADPk when the control signal is “1” (“H”), and outputs ZERO when the control signal is “0” (“L”).
[0083]
The OR gate 47 is a gate that outputs a 13-bit width signal obtained by ORing each bit of 8 types of 13-bit width signals. The OR gate 47 has a selector 46 1 ~ 46 7 The output of the OR gate 47 is the address selector 42. 0 Output ADM0.
[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 gate 45 is used. 0 Since only "1" is output, the address selector 42 0 From (OR gate 47), ADP0 is output as ADM0. That is, when uR, uG, and uB are all even numbers (when color data related to the vertex P0 is stored in the memory # 0; see Table 1), the address selector 42 0 Outputs, as ADM0, an address signal ADP0 representing an address where color data relating to the vertex P0 is stored.
[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 gate 45 1 Since only "1" is output, the address selector 42 0 Outputs ADP1. That is, when uR and uG are even and uB is odd, the address selector 42 0 Is the address signal ADP1 relating to the color data D (P1) (when D (P0) is stored in the memory # 1, D (P1) is stored in the memory # 0; see Table 1). Output as.
[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 memory # 0 from among the eight address signals ADP0 to ADP7 output from the address calculation unit 41 (for reading color data relating to the target unit cell stored in the memory # 0). This circuit selects and outputs a signal.
[0088]
Another address selector 42 in the address generator 25x 1 ~ 42 7 The address selector 42 so that signals as shown in FIGS. 8 (1) to (7) are input to the AND gates 45, respectively. 0 Is a modified circuit. That is, the address selector 42 k (K = 1 to 7) is a circuit that selects and outputs an address signal to be supplied to the memory #k from the eight address signals ADP0 to ADP7 output by the address calculation unit 41.
[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 address generator 25x and the output ADRSx Has been.
[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 address generation unit 25x is output as it is. The output ADRSa of the address generation block 11a and the output ADRSb of the address generation block 11b are input to the address switching unit 12. The address switching unit 12 is a circuit that outputs either ADRSa or ADRSb in response to a control signal ADSEL (details will be described later). The output of the address switching unit 12 is supplied to the memory unit 14 via the address buffer 13. Has been. Then, a 256-bit signal DATA consisting of outputs D0 to D7 of the memories # 0 to # 7 is supplied to the data buffer 15 (FIG. 2), and an output DBUFF of the data buffer 15 is supplied to the interpolation operation blocks 16a and 16b. Yes.
[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 address generation block 11b takes "L" state when ENAa is in "H" state, and ENAa is "L". When the signal is in the “state”, the signal takes the “H” state. Further, as shown in FIG. 9 (9), ADSEL is a signal having the same phase as ENAa.
[0093]
That is, the portions from the address generation blocks 11a and 11b to the data buffer 15 operate as follows.
[0094]
As is apparent from the configuration described above (FIG. 1), the OR gate 23a in the address generation block 11a outputs the RGB signal input to the color conversion circuit when ENAa is “H”.
[0095]
Therefore, as shown in FIG. 9, when the RGB signal represents RGB data (1) and ENAa is “H” at time t1, the buffer 24a is output from the OR gate 23a. RGB data {circle around (1)} is fetched and output of the fetched data is started. Thereafter, at time t2 (= t1 + T), the buffer 24a takes in the output of the OR gate 23a again. At this time, since ENAa is “L”, the output from the OR gate 23a, that is, the output of the buffer 24a, that is, RGB data (1) is output. For this reason, the buffer 24a continues to output data (RGB data (1)) having the same contents. Since ENAa is “H” at the next rising edge of CLK (t = t3), the buffer 24a stores the RGB data represented by the RGB signal input to the color conversion circuit at that time. Capture (3) and start outputting.
[0096]
Since the portion up to the buffer 24a in the address generation block 11a repeats such an operation, as shown in FIG. 9 (4), the buffer 24a eventually has the contents (signals) in the period of 2T as BUFF 1a. (Data represented by), and a part (uR) of every other RGB data (in the illustrated case, odd-numbered RGB data) in which each data is supplied to the color conversion circuit by an RGB signal. [0], uG [0], uB [0], r, g, b) are output. Further, as BUFF0a (not shown), a signal that changes in time similar to BUFF1a is output.
[0097]
The address generation block 11b is supplied with a signal ENAb obtained by inverting ENAa (which is 180 ° out of phase with ENAa). Therefore, as shown in FIG. 9 (7), the buffer 24b of the address generation block 11b is a signal whose contents (data) change in a cycle of 2T, and each data is supplied to the color conversion circuit. A signal BUFF1b that is a part of every other RGB data (in the illustrated case, RGB data with even numbers) is output. Also, as BUFF0b (not shown), a signal that changes in time similar to BUFF1b is output.
[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 address generator 25x is a circuit that requires time T or longer to generate this ADRSx. For this reason, as shown in FIG. 9 (5), the address generation block 11a is delayed by a predetermined time (> T) after the output of the buffer 24a (see FIG. 9 (4)) is stabilized (determined). Output of ADRSa is started. Further, as shown in FIG. 9 (8), after the output of the buffer 24b (see FIG. 9 (7)) is stabilized, the address generation block 11b starts outputting ADRSb with a predetermined time delay.
[0100]
The address switching unit 12 to which ADRSa and ADRSb are supplied outputs ADRSa when ADSEL is “H”, and outputs ADRSb when ADSEL is “L”. ADSEL is a signal having the same phase as ENAa, and the address buffer 13 takes in the output of the address switching unit 12 at the rising edge of CLK, and therefore, from the address buffer 13, as shown in FIG. A signal ADRS in which the data to be represented changes every time T and each data becomes the address of color data for interpolation calculation of RGB data input to the color conversion circuit approximately 2T hours before is output.
[0101]
Then, from the memory unit 14 to which the ADRS is input as an address signal, a signal DATA whose contents change at a timing as shown in FIG. 9 (11) is output. Since the data buffer 15 takes in the signal DATA in accordance with CLK, eventually, the data buffer 15 receives the interpolation calculation color data relating to each RGB data input to the color conversion circuit as shown in FIG. 9 (12). Then, a signal DBUFF expressed after a certain time from the input of the RGB data is output.
[0102]
Returning to FIG. 2, the description of the color conversion circuit will be continued.
[0103]
The output DBUFF of the data buffer 15 is input to the interpolation calculation blocks 16a and 16b. As illustrated, the interpolation calculation block 16x (x = a, b) includes two AND gates 31x and 32x, an OR gate 33x, a buffer 34x, an interpolation calculation unit 35x, and four buffers 36x to 39x. Each of the AND gates 31x and 32x is a two-input gate that receives a 256-bit width signal. The AND gate 31x includes a DBUFF from the data buffer 15 and a state in which all bits are “0”. The control signal DENax, which is a 256-bit width signal that takes one of the states of “1”, is input. On the other hand, the AND gate 32x is supplied with a signal obtained by inverting the output of the buffer 34x and DENAx. The output of the AND gate 31x and the output of the AND gate 32x are input to an OR gate 33x which is a two-input gate that receives a 256-bit width signal.
[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 interpolation calculation unit 35x.
[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 interpolation calculation unit 35x. Note that these buffers 36x to 39x receive lower-order data (uR [0], uG [0], uB [0], r, g, b) of RGB data supplied as BUFF 5x to the interpolation calculation unit 35x, This is a circuit for matching the lower data of the RGB data that is the source of the color data D0 to D7 supplied as DBUFFx from the buffer 34x. That is, the interpolation calculation unit 35x performs interpolation read based on uR [0], uG [0], uB [0], r, g, b of certain RGB data and uR, uG, uB of the RGB data. Operates in response to input of calculation color data D0 to D7.
[0106]
FIG. 10 shows a configuration of the interpolation calculation unit 35x (x = a, b). As shown in the figure, the interpolation calculation unit 35x includes a data selector 51. 0 ~ 51 7 A mode determination / coefficient calculation unit 52, a calculation data selector 53, and an output calculation unit 54. DBUFFx from the buffer 34x is supplied to each data selector 51. Also, uR [0], uG [0], and uB [0] included in BUFFx5 are the data selectors 51. 0 ~ 51 7 R, g, and b included in BUFFx5 are supplied to the mode determination / coefficient operation unit 52.
[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 Address selector 26 so that D0 to D7 are used instead of ADP0 to ADP7. 0 The circuit is a modification of FIG.
[0108]
That is, the data selector 51 0 Andgate 55 in 0 Outputs “1” when uR [0], uG [0], and uB [0] are all “0”, and outputs “0” otherwise. Andgate 55 1 Outputs “1” when uR [0] and uG [0] are “0” and uB [0] is “1”, and outputs “0” otherwise. . Andgate 55 2 Outputs “1” when uR [0] and uB [0] are “0” and uG [0] is “1”, and outputs “0” otherwise. . Andgate 55 Three Outputs “1” when uR [0] is “0” and uG [0] and uB [0] are “1”, and outputs “0” otherwise. .
[0109]
Andgate 55 Four Outputs “1” when uR [0] is “1” and uG [0] and uB [0] are “0”, and outputs “0” otherwise. . Andgate 55 Five Outputs “1” when uR [0] and uB [0] are “1” and uG [0] is “0”, otherwise outputs “0”. . Andgate 55 6 Outputs “1” when uR [0] and uG [0] are “1” and uB [0] is “0”, otherwise outputs “0”. . Andgate 55 7 Outputs “1” when uR [0], uB [0], and uG [0] are all “1”, and outputs “0” otherwise.
[0110]
Then, the data selector 51 0 Selector 56 in k (K = 0 to 7) is AND gate 55 k And the input of the color data Dk and a 32-bit wide signal ZERO each bit of which is “0”. k ADPk is output when “1” is input from the AND gate 55 k When “0” is input from ZERO, ZERO is output. Selector 56 1 ~ 56 7 (32-bit width signal) is input to the OR gate 57, and the output of the OR gate 57 is the data selector 51. 0 Output D (P0).
[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 memory # 0, the data selector 51 0 Outputs the color data DO read from the memory # 0 as D (P0).
[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 memory # 1, the data selector 51 0 Outputs the color data D1 read from the memory # 1 as D (P0).
[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 memory # 2 as D (P0).
[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 interpolation calculator 35x 1 ~ 51 7 Respectively, so that the signals as shown in FIGS. 12 (1) to (7) are input to the AND gates 55, respectively. 0 Is a modified circuit. That is, the data selector 51 k (K = 1 to 7) has a configuration capable of selecting and outputting color data related to the vertex Pk from the eight color data D0 to D7 read from the memory unit 14.
[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 output calculation unit 54, which is a circuit that actually performs the interpolation calculation. On the other hand, the data selector 51 1 ~ 51 6 The outputs D (P1) to D (P6) are input to the calculation data selector 53.
[0118]
The mode determination / coefficient operation unit 52 to which r, g, and b are input outputs a signal mode and signals b0 to b3 having contents corresponding to those values. Specifically, the mode determination / coefficient calculation unit 52 functions as shown in Table 2 according to r, g, and b.
[0119]
[Table 2]
Figure 0003755345
[0120]
That is, when r <g <b is satisfied, the mode determination / coefficient calculation unit 52 sets the signal mode indicating “1” and “8-b”, “gr”, “b”, respectively. The signals b0 to b3 representing -g "and" r "are output. When r <b ≦ g is satisfied, the signal mode indicating “2” and “8-g”, “gb”, “br”, and “r” are respectively indicated. Signals b0 to b3 are output.
[0121]
When g ≦ r <b is satisfied, the mode determination / coefficient calculation unit 52 outputs a signal mode representing “3”, and “8-b”, “b-g”, “r-g”, respectively. The signals b0 to b3 representing “,” “g” are output. When b ≦ r <g is established, the signal mode indicating “4” and “8-g”, “r-b”, “r-b”, and “b”, respectively, are expressed. Signals b0 to b3 are output.
[0122]
When g <b ≦ r is satisfied, the mode determination / coefficient calculation unit 52 determines the signal mode indicating “5” and “8-r”, “b-g”, “r-b”, Signals b0 to b3 representing “g” are output. When b ≦ g <r is satisfied, the signal mode indicating “4” and “8-r”, “r-g”, “g-b”, and “b”, respectively, are expressed. Signals b0 to b3 are output.
[0123]
The signal mode output from the mode determination / coefficient calculation unit 52 is input to the calculation data selector 53.
[0124]
The calculation data selector 53 is connected to the data selector 51. 1 ~ 51 6 The two signals corresponding to the signal mode among D (P1) to D (P6) supplied from are output as DA and DB. Specifically, the calculation data selector 53 functions as shown in Table 3 according to the signal mode.
[0125]
[Table 3]
Figure 0003755345
[0126]
That is, when the signal mode represents “1”, the calculation data selector 53 outputs D (P3) as the signal DA and outputs D (P1) as the signal DB. When the mode is “2”, D (P2) is output as the signal DA and D (P3) is output as the signal DB.
[0127]
When the mode is “3”, the calculation data selector 53 outputs D (P1) as the signal DA and outputs D (P5) as the signal DB. When the mode is “4”, D (P6) is output as the signal DA and D (P2) is output as the signal DB.
[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 calculation data selector 53 outputs D (P4) as the signal DA and outputs D (P6) as the signal DB.
[0129]
DA and DB output from the calculation data selector 53, b0 to b3 output from the mode determination / coefficient calculation unit 52, and the data selector 51 0 , 51 7 The output calculation unit 54 to which the outputs D (P0) and D (P7) are input outputs a 32-bit signal OUTx whose content (value) is expressed by the following equation.
[0130]
[Expression 4]
Figure 0003755345
[0131]
Here, the physical meaning of the above-described operations of the mode determination / coefficient calculation unit 52, the calculation data selector 53, and the output calculation unit 54 will be described with reference to FIG.
[0132]
The signal mode output from the mode determination / coefficient calculation unit 52 is a point P whose position is indicated by coordinates (uR + r / 8, uG + g / 8, uB + b / 8). RGB (See FIG. 5) is a signal indicating which of the six tetrahedrons shown in FIGS. 13 (1) to (6) is obtained by dividing the unit cell of interest. Specifically, the mode determination / coefficient calculation unit 52 RGB Are included in the tetrahedron shown in FIGS. 13 (1) to (6), and signal modes indicating "1" to "6" are output, respectively.
[0133]
The selection output of the color data corresponding to the mode performed in the calculation data selector 53 is the point P out of the color data related to the vertices P1 to P6. RGB Is selected and output for color data relating to two vertices excluding the vertices P0 and P7 among the four vertices of the tetrahedron in which the. Note that D (P0) and D (P7) are not the color data selected according to the signal mode, as shown in FIG. This is because it is divided into six tetrahedrons including vertices P0 and P7.
[0134]
Since b0 to b3 output from the mode determination / coefficient calculation unit 52 are signals representing data that can be used as weighting coefficients for interpolation calculation by multiplying by 1/8, the output calculation unit 54 Thus, the CMYK data, which is the conversion result of the RGB data, is obtained by the calculation according to the above equation (11).
[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 data switching unit 17. The data switching unit 17 is a circuit that outputs either OUTa or OUTb in response to the control signal DATASEL. The output of the data switching unit 17 is input to the output buffer 18, and the output of the output buffer 18 is a signal OUT that is the output of the color conversion circuit.
[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 interpolation calculation block 16b is a signal obtained by inverting DENAb as shown in FIG. 9 (20). Further, the control signal OUTSEL supplied to the data switching unit 17 is a signal having the same phase as DENAa as shown in FIG. 9 (27).
[0138]
The circuit composed of the AND gates 31a and 32a, the OR gate 33a, and the buffer 34a in the interpolation calculation block 16a has the same configuration as the circuit composed of the AND gates 21x and 22x, the OR gate 23x, and the buffer 24x in the address generation block 11x. is doing. Therefore, as shown in FIG. 9 (14), the buffer 34a is a signal whose contents (data represented by the signal) change every 2T, and each data is an interpolation calculation regarding odd-numbered RGB data. The signal DBUFFa that has become color data is output.
[0139]
On the other hand, the buffer 36a to which the BUFF 1a (FIG. 9 (4)) is input takes in the BUFF 1a according to CLK. Therefore, the output BUFF2a of the buffer 36a is a signal obtained by delaying the BUFF1a by the time T as shown in FIG. Further, the output BUFF 3a of the buffer 37a to which the BUFF 2a is input is a signal obtained by delaying the BUFF 2a by the time T as shown in FIG. 9 (16), and the output BUFF 4a of the buffer 38a to which the BUFF 3a is input is 9 (17), the signal is a signal obtained by delaying BUFF 3a by time T.
[0140]
As a result, the output BUFF 5a of the buffer 39a to which the BUFF 4a is input, that is, the BUFF 5a input to the interpolation calculation unit 35a, is a signal obtained by delaying the BUFF 1a by time 5T as shown in FIG. 9 (18). That is, r, g, b, uR [0], uG [0], and uB [0] related to a certain RGB data are converted into color data for interpolation calculation related to the RGB data (FIG. 9 (14)). At the same time, it is controlled so as to be supplied to the interpolation calculation unit 35x.
[0141]
The interpolation calculation unit 35a converts r, g, b, uR [0], uG [0], uB [0], and interpolation calculation color data related to certain RGB data, which are simultaneously input, to the RGB data. Corresponding CMYK data is obtained by interpolation calculation. Therefore, as shown in FIG. 9 (19), the signal OUTa output from the interpolation calculation unit 35a is a signal representing the conversion result of each input RGB data (odd-numbered RGB data), and is interpolated. After the input of new data (FIGS. 9 (14) and (18)) to the calculation unit 35a, the content becomes a signal that is finalized when the time required for the calculation has elapsed.
[0142]
In the interpolation calculation block 16b, the same processing as the interpolation calculation block 16a is performed on the signal BUFF0a from the address generation block 11b and the signal DBUFF from the data buffer 15. That is, the outputs BUFF2b to BUFF5b of the buffers 36b to 39b in the interpolation calculation block 16b change as shown in FIGS. 9 (22) to (25), respectively. Then, since the interpolation calculation unit 35b generates OUTb based on the BUFF 5b and DBUFFb, the OUTb output from the interpolation calculation block 16b is eventually input as shown in FIG. 9 (26). Time required for calculation after input of new data (FIG. 9 (21), (25)) to the interpolation calculation unit 35b, which is a signal representing the conversion result of each RGB data (even-numbered RGB data) When the time elapses, the signal becomes a finalized signal.
[0143]
Then, as shown in FIG. 27, the data switching unit 17 to which OUTa and OUTb are input is a control signal OUTSEL that changes at a cycle twice that of CLK, and OUTa changes from a transition state to a stable state. A control signal OUTSEL whose phase is controlled so that it takes the “H” state when it changes and takes the “L” state when OUTb changes from the transition state to the stable state is input.
[0144]
Since the output of the data switching unit 17 to which such OUTSEL is supplied is supplied to the output buffer 18, from the output buffer 18, as shown in FIG. A signal OUT representing the conversion result is output.
[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 memory unit 14 that can be read is provided. Therefore, RGB data can be converted to CMYK data at high speed regardless of the contents. The color conversion circuit also includes a memory unit 14 composed of eight memories accessed by “3 × 5-2” bit addresses in which CMYK data is stored, and “3 × 5-2” supplied to these memories. An address generation unit 25 that generates eight types of addresses of bits from RGB data uR, uG, and uB. Therefore, the 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). The circuit can be manufactured using a memory having a smaller storage capacity than that of the reference).
[0146]
In addition, the color conversion circuit according to the embodiment includes a circuit (buffer 24, address for alternately functioning the two address generation units 25a and 25b, the two interpolation calculation units 35a and 35b, and the address generation units 25a and 25b. A switching unit 12 and the like, and circuits (buffer 34, data switching unit 17 and the like) for causing the interpolation calculation units 35a and 35b to function alternately. For this reason, the color conversion circuit according to the embodiment is a circuit that can convert RGB data with a throughput higher than the throughput (processing amount per unit time) of the address generation unit 25 and the interpolation calculation unit 35.
[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 address generator 25 and the throughput of the interpolation calculator 35. The color conversion circuit according to the embodiment employs the configuration as described above.
[0148]
Therefore, when the color conversion circuit throughput may be lower than either the address generation unit 25 throughput or the interpolation calculation unit 35 throughput (when a high RGB data conversion speed is not required), one address is used. A color conversion circuit can be configured with only the generation unit 25, one interpolation calculation unit 35, the memory unit 14, and buffers for timing adjustment such as buffers 36 to 39.
[0149]
Further, when the requested throughput is higher than the throughput of the address generator 25 and lower than the throughput of the interpolation calculator 35, a circuit in the previous stage than the memory unit 14 is connected to one address generator 25. The circuit used can be used. On the other hand, when the desired throughput is lower than the throughput of the address generation unit 25 and higher than the throughput of the interpolation calculation unit 35, a circuit at a later stage than the memory unit 14 is used as a single interpolation calculation unit 36. Circuit.
[0150]
Note that which of the throughput of the address generator 25 and the interpolation calculator 35 is higher depends on the actual circuit configuration of the address generator 25 and the interpolation calculator 35. In the color conversion circuit according to the present embodiment, since the address generation unit 25 and the interpolation calculation unit 35 are realized by a combination of basic calculation circuits, the throughputs of both are almost the same (processing) For example, when the address generator 25 is implemented using a memory, or when the address generator 25 is pipelined, the throughput of the address generator 25 is high. , It becomes higher than the throughput of the interpolation calculation unit 35 (similar to the throughput of the memory). Further, when only the interpolation calculation unit 35 is pipelined to increase the throughput, the throughput of the address generation unit 25 is lower than the throughput of the interpolation calculation unit 35. Therefore, which of the above-described configurations should be determined for the color conversion circuit is determined according to the relationship between the required throughput and the throughput of the address generation unit 25 and the interpolation calculation unit 35.
[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 memory unit 14. Of course, the color conversion circuit may be modified as described above.
[0152]
Further, instead of the memory unit 14, CMYK data stored in the memory # 0 and the memory # 7, CMYK data stored in the memory # 1 and the memory # 6, and CMYK data stored in the memory # 2 and the memory # 5. A memory unit including four memories that are accessed by 14-bit addresses respectively storing CMYK data stored in the memory # 3 and the memory # 4 is used. Point P selected from tetrahedrons obtained by dividing the unit cell of interest so as not to include it RGB It is also possible to modify the color conversion circuit so that the one that performs the interpolation calculation based on the YMCK data relating to the four vertices of the tetrahedron including.
[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 memories # 0 to # 3 provided in the color conversion circuit according to the embodiment.
FIG. 4 is an explanatory diagram of a usage form of memories # 4 to # 7 provided in the color conversion circuit according to the embodiment.
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)

それぞれ、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ビットのデータとを用いた補間演算により、前記被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路
とを備えることを特徴とする色変換回路。
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.
時間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ビットのデータとを用いた補間演算により、当該被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路
とを備えることを特徴とする色変換回路。
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.
時間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目的色データ生成回路によって目的色データが生成されたときに、その目的色データの出力を開始する選択出力回路
とを備えることを特徴とする色変換回路。
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.
n=5であり、
前記第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) ″.
それぞれ、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ビットのデータとを用いた補間演算により、前記被変換色データに対応する目的色データを生成、出力する目的色データ生成・出力回路
とを備えることを特徴とする色変換回路。
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.
JP20189899A 1999-07-15 1999-07-15 Color conversion circuit Expired - Fee Related JP3755345B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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