JP2004208128A - データ変換方法およびデータ変換装置 - Google Patents
データ変換方法およびデータ変換装置 Download PDFInfo
- Publication number
- JP2004208128A JP2004208128A JP2002376208A JP2002376208A JP2004208128A JP 2004208128 A JP2004208128 A JP 2004208128A JP 2002376208 A JP2002376208 A JP 2002376208A JP 2002376208 A JP2002376208 A JP 2002376208A JP 2004208128 A JP2004208128 A JP 2004208128A
- Authority
- JP
- Japan
- Prior art keywords
- data
- color
- output
- grid point
- unit
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 150
- 238000000034 method Methods 0.000 title claims abstract description 117
- 239000003086 colorant Substances 0.000 claims abstract description 71
- 238000000926 separation method Methods 0.000 claims description 61
- 239000002131 composite material Substances 0.000 claims description 48
- 238000013500 data storage Methods 0.000 claims description 45
- 230000002194 synthesizing effect Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 abstract description 137
- 238000004364 calculation method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 36
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 13
- 238000001308 synthesis method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 2
- 241000243251 Hydra Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- QRXWMOHMRWLFEY-UHFFFAOYSA-N isoniazide Chemical compound NNC(=O)C1=CC=NC=C1 QRXWMOHMRWLFEY-UHFFFAOYSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000000859 sublimation Methods 0.000 description 1
- 230000008022 sublimation Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Color, Gradation (AREA)
Abstract
【解決手段】元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成した合成データを新たなルックアップテーブルの格子点データとしてメモリに格納しておく。この合成データをメモリから読み出して元の個別の格子点データに分離してから通常のデータ変換処理を行なう。たとえば、Y,M,C,Kの4つの出力色用のYビットの格子点データを全て合成して、ビット幅を4・Yビットにする。データ変換処理時には、4・Yビットの合成データをメモリから読み出して、Y,M,C,Kの各出力色用のYビットの格子点データに分離する。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、入力色データから出力色データを生成するデータ変換方法およびデータ変換装置に関する。より詳細には、たとえば、プリンタ装置、ファクシミリ装置、あるいはそれらの機能を有する複合機などの画像処理装置であって、たとえば、R(赤),G(緑),B(青)の多次元入力画像データを、Y(イエロ),M(マゼンタ),C(シアン),K(黒)の多次元出力画像データのそれぞれ1つの色データに変換するなど、所定次元の入力画像信号を別の色データに変換する技術に関する。
【0002】
【従来の技術】
【特許文献1】
特開平3−229573号公報
【特許文献2】
特開平8−181874号公報
【特許文献3】
特公昭58−16180号公報
【特許文献4】
特開昭56−14237号公報
【0003】
プリンタ装置や複写装置などの印刷機能を備えた画像形成装置が様々な分野で使用されている。また、今日では、画像形成装置がカラー化され、ユーザの様々な表現手段として利用されるようになってきている。たとえば、電子写真プロセス(ゼログラフィ)を用いたカラーページプリンタ装置は、高品質な画質あるいは高速プリンティングの点で注目されている。
【0004】
また、今日では、DTP(DeskTop Publishing/Prepress)の普及により、カラー画像を扱う機会が増しつつあり、この場合において、カラー画像を入力するための機器は、スキャナ、ビデオカメラなどが主であり、また、出力機器はインクジェット方式や染料熱昇華型方式あるいは電子写真などの各種カラープリンタである。なかでも、高速出力可能な電子写真プロセスを用いた印刷機能が着目されている。
【0005】
これらのカラー入出力機器は、それぞれ固有の色空間を有しており、あるスキャナから得たカラー画像データを、そのまま別のカラープリンタに転送して、画像を出力する場合、その画像の色がオリジナルの画像の色と一致することは殆どありえない。両者の色を一致させるには、いわゆる入力デバイス(スキャナやビデオカメラなどのこと)の色空間を、出力デバイス(前述の各種カラープリンタのこと)の色空間に変換するといったを色空間変換処理処理が必要になる。
【0006】
このような色空間変換処理とは、入力デバイスによって得られる色(一般的には、R(赤),B(青),G(緑)の3色)の画像信号を出力デバイス側の3色あるいは4色それぞれの画像信号に非線形に変換するものである。
【0007】
画像などのデジタル信号に対する非線型変換(たとえばガンマ変換やlog変換)には、一般にLUT(Look Up Table ;ルックアップテーブル)を用いた変換を行なうことが多い。LUTを用いる方法とは、入力信号に対応する出力値を予め算出しておき、その値をテーブルとして保持し、入力値に対応した出力値を演算なしで得る方法である。この方式を適用することで、複雑な演算回路を削除することが可能となる。
【0008】
非線形変換を演算回路で行なうものとすると、その演算回路が複雑になり回路規模が大きくなるが、たとえば8ビットからなる1つのビデオデータに任意の非線形変換を行なう処理をLUTを用いて行なう場合には、256バイトの容量のメモリがあればその処理が実現可能であり、複雑な演算回路を削除することが可能となる。ところで、上述のような変換は1つの画像信号を別の性質の他の1つの画像信号に変換するものであるため、そこで使用されるLUTは1次元LUTといわれる。
【0009】
たとえば、プリンタなどのハードコピー出力機器ではカラー画像信号が扱われる。これら出力機器はY,M,C,Kなどの色の色材を用いて、紙面などの上に画像を形成する。したがって、Y,M,C,Kから構成される色空間を有している。一方、カラー画像の入力機器として想定されるものとしてスキャナ、デジタル・スチル・カメラなどがあるが、これらはそれぞれ固有の色空間を有している。これらは、多様な色空間を有しているが、代表的なものとしては、R,G,Bで構成される色空間を有する。したがって、プリンタなどの出力機器でハードコピーとして出力する際には、これら色空間の変換が必要となる。
【0010】
ところが、上述した入力デバイスの3色の画像データを、出力デバイスの複数色中の1色に変換する処理を、3次元LUTだけを用いて行なおうとすると、大容量のメモリが必要となる。たとえば、R,G,Bの信号がそれぞれ8ビット信号であり、出力であるY,M,C,Kの信号も8ビット信号である場合、入力値の組合せは16,777,216通り(2^8×2^8×2^8通り;“^”はべき乗を示す)であり、R,G,Bの入力に対してY,M,C,Kのうちの1色に変換するのに16メガバイト(Mbyte)のメモリが必要となる。よって、Y,M,C,Kの4色に変換するには、16メガバイトの4倍の64メガバイトものメモリが必要となる。
【0011】
つまり、入力24ビット、出力8ビットに対応したLUTが必要で、この場合、出力1色当たりのメモリ容量は16M(メガ)バイトとなり、さらに、出力デバイスの色数分だけ上述のメモリが必要であるため、実際のメモリ容量は、48〜64Mバイトといった大容量となる。したがって、このメモリ容量はコスト的な観点でみた場合にシステムに対するインパクトが大きく、現実的ではない。
【0012】
このような問題を解消するために、色変換処理においてLUTを用いる場合は、補間演算処理を併用することによって、用いるLUTのメモリ容量を小さなものとするのが一般的である。たとえば、LUTと補間処理の組合せによるデータ変換機構が提案されている。この変換機構は、入力信号の上位複数ビット分にのみ対応した出力値をLUTとして構成することで従来のLUT方式におけるLUTの容量を削減するものである。入力信号に該当する出力値が存在しない場合はその入力値が示す空間位置の近傍データを用いて補間処理を施し出力値を算出する。
【0013】
このような補間演算処理は、LUTから読み出したデータ(格子点データ)をいくつ用いるか、また、どのような関係の格子点データを用いるかによって、いくつかの方法に分類できる。一般的に、格子点データを多く用いる方法では補間精度は向上するが補間回路の規模が大きくなる。比較的回路規模が小さな補間方法として、たとえば特許文献2,2,3に記載されている4点補間法(テトラ・ハイドラ補間;Tetra-Hydra 補間)が知られている。また、特許文献2には、5点補間法もあることが述べられている。また、特許文献3には、回路規模が大きくなるが、補間精度がよい補間方法として、立方体補間法(8点補間法)もあることが、従来例として述べられている。
【0014】
上述した4点補間法と8点補間法は、立方格子の各格子点に対応して存在する格子点データを用いて補間演算する場合に、それぞれ最も回路規模が小さい補間方法すなわち最も少ない格子点データで補間する方法、および最も回路規模が大きい補間方法すなわち最も多い格子点データで補間する方法に対応するものである。つまり、3次元立方格子の各格子点データを用いて補間演算する際の格子点データの個数(補間演算所用データ数)は、元のLUTの格子点で確定される単位立方体を内分する多面体に応じて定まるものであり、立方格子を対象とする場合、最小で4個、最大で8個である。
【0015】
たとえば、入力3要素のデータからなる格子体を構成し、入力3要素の上位ビットからいずれの格子体に該当データが含まれるかを決定し、その中をさらに6つの4面体に分割し、入力3要素の下位ビットからいずれの4面体に該当データが含まれるかを決定し、4面体頂点から得られる基礎データとその4面体ごとに決められた乗数とをもとに演算する手法が、テトラ・ハイドラ補間演算(4面体補間演算)である。この場合、入力データが決まれば、必要となる4面体が一意に決まり、4面体を決めるには互いに交差しない2つの線分から得られる合計4頂点があればよい。
【0016】
一方、補間処理においては、近傍の何点のデータを演算対象とするかによって出力値の補間精度が異なる。より多くのデータを補間演算の対象にすれば補間精度は向上する。ただし、多くのデータを用いる場合は補間回路の規模が大きくなり、回路削減の効果が小さくなってしまう。
【0017】
この問題を解消する一手法として、特許文献1,2には、LUTに保持するデータ量と補間に用いるデータの個数とを効率的に規定する方法が提案されている。たとえば特許文献2に記載の方法は、先ず、入力3要素のデータからなる格子体(単位立方体)を構成し、入力3要素の上位のビットデータRH,GH,BHに基づいて何れの格子体に該当データが含まれるかを決定し、その中をさらに6つの4面体に分割し、入力3要素の下位のビットデータRL,GL,BLに基づいて何れかの4面体に該当データが含まれるかを決定し、4面体頂点から得られる基礎データとその4面体ごとに決められた乗数(補間係数)とに基づいて、入力値に対応する出力値をテトラ・ハイドラ法による演算で求めるというものである。
【0018】
この特許文献2に記載の方法では、入力データが決まれば、必要となる4面体が一意に決まる。すなわち、入力R,G,Bの3次元LUT上における近傍4格子点が特定される。そして、4面体を決めるには互いに交差しない2つの線分から得られる合計4頂点があればよい。これらの線分は、入力3要素うち1つの要素のそれぞれ連続する頂点を結ぶもので表すことができる。
【0019】
詳細な説明は割愛するが、この特許文献2に記載の方法を用いると、入力R,G,Bから任意の1色(出力色)への変換に際し、LUTへの格納データ数を17データ×17データ×17データ(4913個の格子点)と規定した場合、LUTの容量は49キロバイトで実現可能となり、補間処理を用いない方式における16メガバイトと比較すると大幅な容量削減が可能である。
【0020】
【発明が解決しようとする課題】
しかしながら、特許文献2などに記載の方法では、1つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合、LUTとして用いられるメモリから複数のデータを複数回読み出すことが不可能であるため、同容量のメモリを補間演算所用データ数の分だけ使用しなければならない。
【0021】
テトラ・ハイドラ補間の場合において、RGBからYMCKへの変換を想定するとYへの変換に4つの格子点抽出用として4個、同様にMへの変換用に4個、Cへの変換用に4個、Kへの変換用に4個、合計16個の同容量のメモリが必要となる。
【0022】
図17は、テトラ・ハイドラ補間を利用して、RGB入力からYMCK出力への色変換を行なう従来のデータ変換装置の構成例を示す図である。図18は、図17に示すデータ変換装置1におけるデータ格納部2に使用される各頂点データの参照用メモリのデータ構成例を示す図である。メモリとしては、特定用途向け半導体内に構成されるRAM(Random Access Memory)を使用している。
【0023】
図17に示す装置構成では、Yへの変換に4つの格子点抽出用として4個、同様にMへの変換用に4個、Cへの変換用に4個、Kへの変換用に4個のメモリが必要となる。また、図18に示すように、RGB入力色データをYMCK出力色データに変換するための参照用メモリ(RAM)の各アドレスには、色変換の対応点データが、入力3要素のデータビット幅そのもの(本例では8ビット)で格納されている。
【0024】
このように、従来方式では、テトラ・ハイドラ補間演算に必要となる4頂点のデータをある単位時間で得るために、出力の1つの構成要素につき、同容量・同内容のメモリを4つ用意しなければならない。出力がY,M,C,Kの4つの構成要素からなるこの例の場合は、合計で16個のメモリを用意する必要がある。
【0025】
LUTへの格納データ数を上述のように17データ×17データ×17データと規定した場合、前述の49キロバイトではなく、786キロバイトを全メモリ容量として用意しなければならなくなる。補間精度を重視し、8点補間を想定すると32個もメモリが必要となり、全メモリ容量は1,568キロバイトにもなる。
【0026】
また、プリンタなどのハードコピー出力装置は、その出力文書中の構成要素(たとえば、テキスト、コンピュータ・グラフィックス画像、写真画像などの画像オブジェクト)ごとに異なった色変換を行なうことが望まれる。この場合、各頂点のデータとして複数のデータが必要となるため、メモリの使用個数がさらに増加し、当然に、全メモリ容量もさらに増加することになる。
【0027】
このように、全メモリ容量が増加すれば、半導体内に構成されるメモリとして、その占有面積が増加し、チップサイズの大きなものが必要になる。この結果、コストアップを招くことにもなる。
【0028】
本発明は、上記事情に鑑みてなされたものであり、補間演算を利用して色変換を行なうに際して、メモリの占有面積を削減することのできるデータ変換方法および装置を提供することを目的とする。
【0029】
【課題を解決するための手段】
詳細は、実施形態で説明するが、本発明は、同じ容量のメモリを構成する場合でも、ビット幅を大きくした場合の方がゲート規模(メモリサイズ)が小さくなるという技術的知見に基づいてなされたものである。
【0030】
すなわち、本発明に係るデータ変換方法および装置は、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成した合成データを新たなルックアップテーブルの格子点データとして格納しておく。そして、データ変換処理時には、合成データを読み出して元の個別の格子点データに分離してから、通常のデータ変換処理を行なうことを特徴とする。
【0031】
たとえば、本発明に係る第1のデータ変換方法は、入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、入力色データの画素データごとに、入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、先ず、ルックアップテーブルの各格子点に、複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の出力色分を合成した合成データを格納しておく。
【0032】
データ変換処理時には、合成データが格納されたデータ格納部から入力色データの画素データに対応する合成データを読み出し、この読み出した合成データを出力色についての各格子点データに分離する。そして、出力色ごとに、分離した出力色用の格子点データを使用して、出力色用の画素データを決定する。
【0033】
本発明に係る第2のデータ変換方法は、先ず、ルックアップテーブルの各格子点に、複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成した合成データを格納しておく。
【0034】
データ変換処理時には、合成データが格納されたデータ格納部から入力色データの画素データに対応する合成データを読み出し、この読み出した合成データを、画像属性についての各格子点データに分離する。そして、出力色ごとに、分離した出力色用の格子点データを使用して、出力色用の画素データを決定する。
【0035】
本発明に係る第3のデータ変換方法は、第1および第2のデータ変換方法を組み合わせたものであって、先ず、ルックアップテーブルの各格子点に、複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成した合成データを格納しておく。
【0036】
データ変換処理時には、合成データが格納されたデータ格納部から入力色データの画素データに対応する合成データを読み出し、この読み出した合成データを、画像属性並びに出力色についての各格子点データに分離する。そして、出力色ごとに、分離した出力色用の格子点データを使用して、出力色用の画素データを決定する。
【0037】
本発明に係る第1のデータ変換装置は、本発明に係る第1のデータ変換方法を実施する装置であって、先ず、複数の出力色についての元のルックアップテーブルにおける各格子点データを、所定の基準に基づいて所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部を備えるものとした。
【0038】
また、第1のデータ変換装置は、合成データが格納されてなるデータ格納部から入力色データの画素データに対応する合成データを読み出す合成データ読出部と、合成データ読出部が読み出した合成データを出力色についての各格子点データに分離するデータ分離部と、出力色ごとにデータ分離部が分離した当該出力色用の格子点データを使用して出力色用の画素データを決定する出力色データ決定部とを備えるものとした。
【0039】
本発明に係る第2のデータ変換装置は、上記本発明に係る第2のデータ変換方法を実施する装置であって、先ず、複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成して得られる合成データが各格子点に格納されてなるデータ格納部を備えるものとした。
【0040】
また、第2のデータ変換装置は、合成データが格納されてなるデータ格納部から入力色データの画素データに対応する合成データを読み出す合成データ読出部と、合成データ読出部が読み出した合成データを画像属性についての各格子点データに分離するデータ分離部と、出力色ごとにデータ分離部が分離した当該出力色用の格子点データを使用して出力色用の画素データを決定する出力色データ決定部とを備えるものとした。
【0041】
本発明に係る第3のデータ変換装置は、本発明に係る第3のデータ変換方法を実施する装置であって、先ず、複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部を備えるものとした。
【0042】
また、第3のデータ変換装置は、合成データが格納されてなるデータ格納部から入力色データの画素データに対応する合成データを読み出す合成データ読出部と、合成データ読出部が読み出した合成データを画像属性並びに出力色についての各格子点データに分離するデータ分離部と、出力色ごとにデータ分離部が分離した当該出力色用の格子点データを使用して出力色用の画素データを決定する出力色データ決定部とを備えるものとした。
【0043】
また従属項に記載された発明は、本発明に係るデータ変換方法および装置のさらなる有利な具体例を規定する。なお、合成データ読出部や出力色データ決定部に関してはハードウェアによらずソフトウェアにて実現することもでき、本発明に係るデータ変換装置を、電子計算機を用いてソフトウェアで実現するために好適なプログラムやこのプログラムを格納したコンピュータ読取り可能な記憶媒体も、本願の発明として抽出することが可能である。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【0044】
また、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データは、有線あるいは無線による通信手段を介して配信されることで、データ格納部に格納されるものであってもよい。あるいは、合成データは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよい。この場合、データ変換装置の使用前に、記憶媒体から合成データを読み出しデータ格納部に格納しておく。このような、上述の合成データが格納されたコンピュータ読取り可能な記憶媒体も本願の発明として抽出することが可能である。
【0045】
【作用】
本発明の上記構成においては、先ず、データ変換処理に必要となる格子点データを格納するデータ格納部として、先ず、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データが各格子点に格納されてなるものを用意する。そして、データ格納部から合成データを読み出して元の個別の格子点データに分離してから、通常のデータ変換処理を行なう。
【0046】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0047】
<<メモリデータの基本的な構造>>
図1は、特定用途向け半導体内に構成される記憶手段の一例であるメモリの容量と、メモリが占める面積(以下ゲート(gate)規模という)の関係を説明する図である。ここで、図1(A)は、同じ容量のメモリを複数の条件で構成した場合のメモリのゲート規模の一例を示した図表であり、図1(B)は、図1(A)のデータをグラフ化したものである。なお、この図1(A)に示すデータは、“株式会社 東芝 TC260E ASICシリーズデータブック”から引用したものである。
【0048】
図1(A)では、1,048,576ビットのメモリを5つの条件で構築した場合を例示している。ワード(word)数を共通とし、ビット幅を変えつつ、同容量のメモリを構成するとき、ゲート規模がどのように変化するかを示している。図1(B)において、折れ線は、各構成(▲1▼〜▲5▼)における容量合計を示しており、全て同容量(1,048,576ビット)である。一方、棒グラフは各構成におけるゲート規模を示している。各構成のワード数は同じであるが、ビット幅の条件が異なる。
【0049】
図1(B)から分かるように、同じ容量(容量合計)のメモリを構成する場合でも、構成▲5▼で示すように、ビット幅を大きくした場合の方がゲート規模が小さくなる。ゲート規模が小さくなれば、その占有面積が減少し、チップサイズの小さなメモリとなる。これにより、同容量のメモリを使用する場合でも、データのビット幅を大きくすることで、チップサイズが小さく、低コストのメモリを使用できる。
【0050】
このことから、データ変換装置においては、ビット幅を大きくすることのできるようなデータ構成とすれば、LUTを構成するメモリとして、チップサイズの小さなメモリを使用でき、これによりコスト低減を図ることができるということが推測される。
【0051】
<<メモリデータの第1の構成例と対応回路>>
図2は、色データを変換する際に使用されるLUTに格納するデータの構造(メモリデータ構造)の第1例を説明する図である。前述の考察に基づき、同じ容量のメモリを構成する場合において、ビット幅を大きくすることでゲート規模(メモリサイズ)を小さくする。ここで、ビット幅を広げるための手法として、第1例においては、以下のような点に着目した。
【0052】
先ず、図18に示した従来のデータ構造を参照する。図18に示されるように、参照用メモリ(RAM)の各アドレスには、色変換の対応点データが、入力3要素のデータビット幅そのもので格納されている。具体的には、1つの構成要素のデータである8ビットで格納されている。一方、テトラ・ハイドラ補間を利用して、RGB入力からYMCK出力への色変換を行なうデータ変換処理の際には、同一アドレスのY,M,C,Kの参照用データを使用する。
【0053】
そこで、第1例のデータ構造においては、先ず、補間演算に必要となるデータをある単位時間内に同時に抽出できるように、補間演算に必要となるLUTの格子点数(頂点数)と等しい数(T個;テトラ・ハイドラ補間の場合は4個)のメモリで構成する。一方、新たに構成するLUTの各格子点のアドレス位置には、図2に示すように、出力色構成要素(本例ではY,M,C,K)のうちの一部もしくは全てのデータを纏めて合成データとして格納する。図2(A)に示すように全てを纏めた方が、図2(B)に示すように一部だけを纏めるよりも、ビット幅が広がるのはいうまでもない。
【0054】
ここで、合成される任意の格子点のデータビット幅をNビット、1つの構成要素のデータビット幅をMビット(M,Nは正の整数で、N>M)、元の(従前の)LUTの任意アドレスに格納されているデータサイズをYビット(Yは正の整数)、出力色の構成要素数をX(Xは2以上の正の整数)、出力色構成要素(X)を所定数nのグループに分割(X=x1+x2+…+xn;xiは正の整数)することとすれば、各グループのLUT格子点の合成データのビット幅NやNi(単位はビット)は、以下の式(1)で示すことができる。xi=Xであれば、全てを纏めることを意味し、1グループのみとなる。なお、従前の例から分かるように、通常は、1つの構成要素のデータビット幅MとLUTのデータサイズYとは等しい。
【数1】
【0055】
また式(1)を満足する限り、図2(B)や図2(C)に示すように、複数のグループに分けて纏めることもできる。また、図2(C)に示すように、纏め方によっては、1構成要素のデータビット幅そのもので格納されるグループができる。なお、複数のグループに分けるということから、この場合、出力構成要素数Xが3以上であることが前提となる。纏めるからには、出力構成要素数Xが複数(2以上)でなければならず、x=2の場合、これを纏めると1つのグループしかできなからである。
【0056】
なお、色データの変換処理は、RGB入力からYMCK出力への多次元LUTを用いた色変換に限定されるものではない。たとえば、ある色軸(たとえばLab空間の各軸)のデータを同一軸上で異なるデータ値に変換するための1次元LUTを用いる処理であってもよい。ただし、1次元LUTであれば、1つの入力構成要素の色データから複数の出力構成要素の色データに変換するということはあり得ず、「出力色の複数を纏める」という概念が存在しないので、第1例の適用範囲は、入力構成要素数が“2”以上のものに限定される。
【0057】
また、入力構成要素数が“2”である例としては、たとえば入力構成要素が3入力以上であるものについて、その内の2軸のみに着目した2次元LUTを用いた色変換が考えられる。具体的には、Lab色空間で表される色データを入力とするケースにおいて、色相および彩度を表すa,bのみに着目して、ab空間の2次元LUTを用いて出力値a,bを求める色変換が考えられる。これは、明度については入力値を維持するが、色相および彩度についてデータ値を変える(色変換する)ことを意味する。この事例に前述の第1例の合成手法を適用する場合、出力値a,bについて合成すればよい。
【0058】
また、入力構成要素数が“3”である例としては、RGB,sRGB,Lab,YCbCr,YMC,XYZなどの色空間データが考えられる。さらに、入力構成要素数が“4”である例としては、YMCK,K(墨量)+Lab,RGB+L(明度)などの色空間データが考えられる。また、RGB入力からYMCK出力への色変換のように、入力色空間と出力色空間とが同じものに限らず、異なるものであっても構わない。
【0059】
以上のように、第1例のデータ合成の手法を適用して元のLUT格子点データの同一アドレスのデータを複数の出力色構成要素について纏めることでデータビット幅を大きくし、このデータビット幅の大きな状態でメモリにLUTデータを格納することとすれば、ゲート規模(メモリサイズ)を小さくすることができ、メモリコストの低減を図ることができる。これにより、冗長性の低い、効率的なLUTの構成方法とアクセス方法を提供することができる。
【0060】
図3は、図2に示した第1例の合成手法を適用したデータ構造を持つLUTを使用する場合における、第1実施形態のデータ変換装置1の基本的な構成例を示す図である。
【0061】
第1実施形態のデータ変換装置1には、外部機器から、入力系の色成分I1,I2,…,Iwの各Y1ビットの入力デジタル色分解信号が入力される。データ変換装置1は、入力データを、出力系の色成分S1,S2,…,Sxの各Y2ビットのデータに色変換する。たとえばR,G,Bの3色の各8ビットデータが入力されると、Y,M,C,Kの4色の各8ビットのデータに色変換する。なお、この入力データや出力データの形式は、一例に過ぎず、他の色系列であってもよいし、ビット数Y1,Y2も“8”に限らない。
【0062】
図示するように、第1実施形態のデータ変換装置1は、入力データに対応する色変換後の出力データを補間演算により求める際に使用される基礎データを格納するデータ格納部2と、データ格納部2との間データでやり取りをしながら、出力色ごとに、入力画素データに対応する出力画素データを補間演算により求める演算処理部4とを備える。
【0063】
データ格納部2は、入力色信号要素で規定されるw次元格子空間(w次元LUT)の各格子点に対応づけられた格子点データに対応する基礎データが、図2にて説明したように、複数の出力色構成要素について所定の基準に従ってグループ化され、そのグループ内の同一アドレスの複数の基礎データが1つの合成データに纏められて格納されることで、ルックアップテーブルLUTを構成するようになっている。たとえば、出力色の全てを纏めて1グループとする場合、補間演算に必要となる格子点データ数Tの分だけの参照用メモリ2T1,2T2,…,2Ttを使用する。各参照用メモリ2T1,2T2,…,2Ttには、出力色S1〜Sxについての格子点データが合成されて格納される。
【0064】
これらメモリ2T1,2T2,…,2Ttは、1つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。
【0065】
演算処理部4は、信号処理系統として、出力系の色成分S1,S2,…,Sxのそれぞれに対応するように、S1信号生成部4S1,S2信号生成部4S2,…,Sx信号生成部4Sxを含む。また、演算処理部4は、データ格納部2に格納されている合成データを、出力構成要素ごとのデータに分離するデータ分離部16を備える。ここで、第1実施形態のデータ分離部16は、出力色S1,S2,…,Sxに対応して、個別回路が内部に設けられる。この演算処理部4は、たとえばCPU(Central Processing Unit )やDSP(Digital Signal Processor)で構成するとよい。
【0066】
データ格納部2と演算処理部4との間は、演算処理部4がデータ格納部2から基礎データを読み出すためにアドレス信号などの制御信号を送るアドレスバス6、およびデータ格納部2から読み出された基礎データを演算処理部4へ送るデータバス8で接続されている。
【0067】
演算処理部4には、出力値を生成するための補間演算に用いられるデータが格納されているルックアップテーブルへのアクセスアドレスを生成するアドレス生成部が設けられる。そして、アドレスバス6では、データ格納部2内の個々のメモリ空間(メモリ2T1,2T2,…,2Tt)における基礎データの読出位置を設定するアドレス信号、クロック、あるいはチップセレクト信号などの伝送が行なわれる
データバス8は、データ変換前の入力データを図示しない外部装置から入力するためや、変換後の出力データを同一または別の外部装置へ出力するために用いられる。
【0068】
このような構成において、演算処理部4は先ず、データ格納部2内のメモリ2T1,2T2,…,2Ttの任意のアドレスから、各出力色構成要素の格子点データであって複数の出力色構成要素について合成されたNビットもしくはNiビットの合成データを読み出す。データ分離部16は、読み出された合成データを、出力色構成要素ごとの格子点データに分離する。色成分S1,S2,…,Sxごとに設けられた信号生成部4S1〜4Sxは、分離された格子点データを用いて補完演算を行なうことで、色成分S1,S2,…,Sxごとに出力データを生成する。
【0069】
図4は、第1実施形態のデータ変換装置1における色データの変換に関する処理手順の概要を示したフローチャートである。なお、以下の説明では、入力データが8ビットR,G,B、出力データが8ビットY,M,C,Kで、演算処理部4は、テトラ・ハイドラ補間演算をするものとして説明する。この場合、図3に示すように、演算処理部4には、Y信号生成部4Y,M信号生成部4M,C信号生成部4C,K信号生成部4Kを使用する。また、メモリ2には、4つのメモリ2T1,2T2,2T3,2T4を使用する。
【0070】
第1実施形態の演算処理部4は、データ格納部2に格納されている色変換用のLUT(ルックアップテーブル)の格子点データを用いて、外部機器から入力された各信号(R,G,B)を、出力色(Y,M,C,K)の色データに色変換する際に、テトラ・ハイドラ法を用いた補間処理を利用する。
【0071】
このため、画像データR,G,Bが入力されると、演算処理部4は先ず、入力された8ビットのR,G,Bデジタル色分解信号を、画素ごとに、上位αビット(最上位ビット側から連続したα個)と下位βビット(最下位ビット側から連続したβ個)に分割する(S100)。
【0072】
次に、演算処理部4は、入力3要素の上位αビットのデータRH,GH,BHに基づいて、入力3要素のR,G,Bデータからなる3次元格子体(3次元LUT)を構成したとき、各格子点で規定される多数の単位格子体(本例では単位立方体)のうちの何れの単位立方体に該当データが含まれるかを決定する(S102)。このステップS100〜S102の処理を単位立方体判定処理という。
【0073】
次に、演算処理部4は、該当する単位立方体の中をさらに6つの4面体に分割し(S104)、入力3要素の下位βビットのデータRL,GL,BLに基づいて何れの4面体に該当データが含まれるかを決定する(S106)。このステップS104〜S106の処理を4面体判定処理という。
【0074】
次に、演算処理部4は、該当する4面体内での補間演算というテトラ・ハイドラ法により、入力値(入力された画素データ)に対応する出力値(出力すべき画素データ)を求める(S108)。
【0075】
具体的には、図中右側に示すように、演算処理部4は、先ず、入力点を包含する基点の座標値に基づいて、同一アドレスのデータ群における補間演算に必要な4格子点を特定し抽出する4格子点特定処理(アクセスアドレス特定処理ともいう)を行なう(S108a)。つまり、演算処理部4は、4つのメモリ2T1,2T2,2T3,2T4について、テトラ・ハイドラ法による補間演算処理により出力値を生成するために用いられるデータが格納されているLUTへのアクセスアドレスを特定する。
【0076】
LUTの任意のアドレスには、出力構成要素数分のデータを合成してnビット(本例では32ビット)で格納されている。このため、演算処理部4のデータ分離部16は、アクセスアドレス特定処理にて特定された入力値に対応する特定アドレスから格子点データを抽出し、この抽出した32ビットの格子点データを、出力色構成要素の単位データであるmビット(本例では8ビット)のデータに分離する(S108b)。
【0077】
演算処理部4は、4格子点特定処理(S108a)と並行して、該当する4面体について、4面体頂点から得られる4つの基礎データ(本例では元の格子点データそのもの)に対する重み係数(乗算係数)である補間係数を算出する補間係数算出処理を行なう(S108c)。そして、演算処理部4は、該当する4面体について、4格子点特定処理(S108b)により得られた基礎データ(格子点データ)と補間係数算出処理(S108c)により得られた補間係数とに基づいて、入力値に対応する出力値Doutを求める補間演算処理を行なう(S108d)。
【0078】
演算処理部4は、上記一連の処理を、出力色であるY,M,C,Kのそれぞれについて行なうとともに(S112)、全画素について行なうことで(S110)、入力されたRGB色空間の色データをYMCK色空間のデータに変換する。
【0079】
図5は、第1実施形態のデータ変換装置1において、RGB入力からYMCK出力への多次元LUTを用いた色変換を行なう場合のデータ構造の具体例を示す図である。図18に示した従来例との比較のため、元の(従前の)LUTへの格納データ数を17データ×17データ×17データ(4913個の格子点アドレスが必要)と規定する。
【0080】
ここで、前述のように、演算処理部4は、テトラ・ハイドラ補間演算を行なうものとする。この場合、メモリ(データ格納部2)は、テトラ・ハイドラ補間演算に必要となる4つの頂点のデータをある単位時間内に同時に抽出できるように、4つの頂点用の4個のメモリ(RAM0〜RAM3)で構成される。
【0081】
各頂点のアドレス位置には、YMCK4色分の格子点データが1つの合成データとして纏められて保持される。ここでは、RGB入力データが8ビットであり、YMCK4色分が纏められることで、1ワードとしては、8ビット×4色=32ビットの状態で格納される。このような構成によれば、出力色ごとにメモリを個別に使用する場合よりも、特定用途向け半導体内に構成されるメモリとしてはその占有面積が格段に小さくなり、コスト面での経済的効果は絶大である。
【0082】
図6は、第1実施形態のデータ変換装置1の具体的な構成を示すブロック図である。この図6に示すデータ変換装置1の構成は、R,G,Bの3次元入力の場合における図5に示したメモリ構成を適用した具体的な回路構成である。ここでも、入力デジタル色分解信号の構成要素がR,G,Bであり、それぞれ8ビットのデータであるとする。
【0083】
図示するように、演算処理部4は、単位立方体判定処理(図4のステップS100〜S102)およびアクセスアドレス特定処理(同S108a)を実行するアドレス生成部10と、4面体判定処理(同S104〜S106)を実行する4面体判定部14と、データ分離処理(同S108b)を実行するデータ分離部16と、補間係数算出処理(S108c)を実行する補間係数生成部20と、近傍4つのデータを用いるテトラ・ハイドラ補間演算処理(S108d)を実行する出力色データ決定部22とを備える。
【0084】
データ格納部2は、テトラ・ハイドラ補間演算における4頂点に対応するように、第1頂点のデータを参照するためのLUTを構成する第1頂点データ参照用メモリ2T1、第2頂点のデータを参照するためのLUTを構成する第2頂点データ参照用メモリ2T2、第3頂点のデータを参照するためのLUTを構成する第3頂点データ参照用メモリ2T3、および第4頂点のデータを参照するためのLUTを構成する第4頂点データ参照用メモリ2T4を備えている。
【0085】
それぞれのメモリ2T1〜2T4は同じ内容で同じ容量のLUTを格納している。テトラ・ハイドラ補間演算を行なう場合、従来は図18に示したように、同容量・同内容のメモリを4つ用意し、かつY,M,C,Kの4出力に応じて、計16個のメモリを用意する必要があった。ここで、各頂点へのアドレスはそれぞれ異なるが、各色では同じ頂点のデータを必要としており、アクセスするメモリ実態は異なっていてもアドレス値は同じである。
【0086】
よって、図3(A)や図5に示したように、1つのアドレスの4つの出力値構成要素を纏めることで、メモリの簡素化を図ることが可能となる。この場合は出力値がそれぞれ8ビットのデータであり、出力色構成要素はY,M,C,Kの4色なので、1つのアドレスに32ビットの合成データを格納することになる。
【0087】
たとえば、第1頂点データ参照用メモリ2T1には4つの出力色Y,M,C,Kの第1頂点についてのデータを纏めた合成データ“Y1+M1+C1+K1”(参照符号“1”が頂点番号を示す)が格納されている。同様に、第2頂点データ参照用メモリ2T2には合成データ“Y2+M2+C2+K2”が、第3頂点データ参照用メモリ2T3には合成データ“Y3+M3+C3+K3”が、第4頂点データ参照用メモリ2T4には合成データ“Y4+M4+C4+K4”が、それぞれ格納されている。
【0088】
このようなメモリ構成にすると、ゲート規模の極小化の利点を享受することができる。前述のように、同容量のメモリを構成する場合、よりビット幅を大きくし、メモリの個数をより少なくした方が、ゲート規模を削減することができる。
【0089】
第1実施形態のデータ分離部16は、全出力色について纏められた合成データを各出力色成分に分離するものであり、4つの頂点用のメモリ2T1〜2T4に対応するように、第1出力色データ分離部16T1、第2出力色データ分離部16T2、第3出力色データ分離部16T3、および第4出力色データ分離部16T4を備えている。
【0090】
出力色データ決定部22は、4つの出力色Y,M,C,Kに対応するように、Y補間処理部22Y、M補間処理部22M、C補間処理部22C、およびK補間処理部22Kを備えている。
【0091】
アドレス生成部10は、合成データ読出部の一例であって、単位格子体判定部の機能とアドレス設定部の両機能を備える。また、補間係数生成部20と出力色データ決定部22とにより、補間演算処理部が構成される。
【0092】
図7は、演算処理部4における単位立方体判定処理(図2のステップS100〜S102)を説明する図であって、出力値の代表値である格子点データを構成する元の3次元LUTと入力データとの関係を説明する図である。ここで図7(A)は、LUTの3次元空間での概念図を示し、図7(B)は、各8ビットのRGB入力信号とそれぞれの信号の上位4ビット信号が対応する3次元LUT上での位置関係を示す。
【0093】
図7(A)に示すように、R,G,Bの各軸における取り得る値の範囲を複数に分割する。ここでは各軸を16に分割した例を示している。このような分割によって得られる格子点をアドレスとし、その格子点における変換後の値(代表値)を対応付けることによってLUTを構成する。したがって、この例では、17×17×17=4913個の格子点について、それぞれ対応する変換後のデータを代表値として格納した3次元LUTを作成することができる。
【0094】
演算処理部4は、入力された8ビットのR,G,Bデジタル色分解信号を上位αビット(最上位ビット側から連続したα個)と下位βビット(最下位ビット側から連続したβ個)に分割する。たとえば、演算処理部4は、α=β=4とし、入力されたR,G,Bを、それぞれ上位4ビットのRH,GH,BHと下位4ビットのRL,GL,BLに分割する。もちろん、α,βは、これ以外であってもかまわない。なお、“α+β”は、入力データのビット数8と等しいことが好ましい。
【0095】
たとえば、各LUTは、図7(A)に示すように、RGBそれぞれの軸に対し、17個のデータを保持している。ここで、図7(B)に示すように、上位4ビットデータの組合せ値で形成される単位立方体の中に、任意の入力R,G,Bの8ビットデータ(入力画素データ)の組合せ値の空間位置P22が包含されるので、上位の4ビットデータRH,GH,BHで示す空間位置P21を基点とした単位立方体(単位格子体)で入力8ビットデータを包含する単位立方体を特定することが可能となる。
【0096】
単位立方体を構成する各頂点は、空間位置P21を基準に生成可能である。すなわち、P21(RH,GH,BH)を基点として、P23(RH+1,GH,BH),P24(RH+1,GH+1,BH),P25(RH,GH+1,BH),P26(RH,GH,BH+1),P27(RH+1,GH,BH+1),P28(RH,GH+1,BH+1),P29(RH+1,GH+1,BH+1)が、単位立方体の頂点の座標となる。本実施形態の場合には、これらの頂点の座標は、元となる3次元LUTの格子点の座標に一致する。また、LUTへのアクセスアドレスの算出式は、以下の式(2)となる。
【数2】
【0097】
演算処理部4は、この入力R,G,Bの8ビットデータの組合せ値に対応する出力値を、入力点近傍の4つの格子点データを使って、つまり、図7(B)に示す単位立方体の8頂点の座標のデータのうちの4つを基礎データとして使って、テトラ・ハイドラ法により求める。
【0098】
図8は、演算処理部4における4面体判定処理(図4のステップS104〜S106)を説明する図であって、入力データが包含される単位立方体と、この単位立方体を6つに分割して得られる4面体との関係を示す図である。先にも述べたように、第1実施形態の演算処理部4は、入力デジタル色分解信号R,G,Bの組合せ値に対応する出力信号YMCKのそれぞれを、データ格納部2に格納されている基礎データ(格子点データ)に基づいてテトラ・ハイドラ法による補間演算により求める。
【0099】
図7(B)に示した単位立方体は、さらに図8に示すように、同体積の6つの単位4面体に分割可能である。入力R,G,Bの空間位置P22がどの4面体に包含されるかは、下位のビットデータRL,GL,BLの大小関係から、図8下部に示す表2のように特定可能である。
【0100】
たとえば、下位ビットデータRL,GL,BLがRL≧GL≧BLの関係であるとき、入力R,G,Bは(RH,GH,BH),(RH+1,GH,BH),(RH+1,GH+1,BH),(RH+1,GH+1,BH+1)を頂点とした4面体1に属する。RL>BL>GLの関係であるとき、入力R,G,Bは(RH,GH,BH),(RH+1,GH,BH),(RH+1,GH,BH+1),(RH+1,GH+1,BH+1)を頂点とした4面体2に属する。BL≧RL>GLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH+1,GH,BH+1),(RH,GH,BH+1),(RH+1,GH+1,BH+1)を頂点とした4面体3に属する。
【0101】
同様に、BL>GL≧RLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH,GH,BH+1),(RH,GH+1,BH+1),(RH+1,GH+1,BH+1)を頂点とした4面体4に属する。GL≧BL>RLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH,GH+1,BH),(RH,GH+1,BH+1),(RH+1,GH+1,BH+1)を頂点とした4面体5に属する。GL>RL≧BLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH,GH+1,BH),(RH+1,GH+1,BH),(RH+1,GH+1,BH+1)を頂点とした4面体6に属する。
【0102】
そこで、先ず演算処理部4のアドレス生成部10は、画像データR,G,Bが入力されると、その入力データR,G,Bを上位ビットデータRH,GH,BH(本例では上位4ビット;纏めてDHとする)と下位ビットデータRL,GL,BL(本例では下位4ビット;纏めてDLとする)に分割し、その内の上位4ビットのデータDHに基づいて、図7(B)に示したように、3次元LUTにおける入力点が包含される単位立方体の入力位置P22を特定する。また、アドレス生成部10は、分割したデータの内の下位ビットデータDLを4面体判定部14と補間係数生成部20とに入力する。
【0103】
4面体判定部14は、アドレス生成部10で生成された入力RGB信号の各下位4ビット信号DLを受け取ると、その3つの信号の大小関係を比較演算することで、入力の各8ビット信号が単位立方体内のどの4面体に包含されるかを判定する。4面体判定部14は、判定結果をアドレス生成部10と補間係数生成部20に通知する。
【0104】
4面体判定部14における比較条件は、図8の4面体構成に則した場合、入力RGB信号の下位4ビット信号DLをそれぞれRL,GL,BLとすると、前述のように、RL≧GL≧BLのときは4面体1、RL>BL>GLのときは4面体2、BL≧RL>GLのときは4面体3、BL>GL≧RLのときは4面体4、GL≧BL>RLのときは4面体5、GL>RL≧BLのときは4面体6となる。
【0105】
図9は、基点P21と4面体判定部14による判定結果に基づく4頂点の座標位置との関係を示す図である。図中aが図7(B)に示した基点P21に対応する。
【0106】
入力データ位置を示す入力点P22は、入力データの上位ビットデータRH,GH,BHで規定される単位立方体に包含され、この単位立方体の位置が、図7(B)の基点P21(つまり図9のa)の座標値により特定される。
【0107】
アドレス生成部10は、4面体判定部14による4面体判定処理結果を受けて、入力点P22を包含する単位立方体の8頂点(図9のa〜h)のうち、4面体判定部14による判定結果に基づく4頂点アドレスを式(2)に従って算出し、4つのメモリ2T1,2T2,2T3,2T4に設定する。こうすることで、データ格納部2の各メモリ2T1,2T2,2T3,2T4からのデータ読出し時には、設定されたアドレスから、入力点P22近傍の4頂点の格子点データを示す32ビットの合成データがデータ分離部16に入力されるようになる。
【0108】
メモリ2T1〜2T4から、第1頂点〜第4頂点のデータが、ある単位時間内に同時に出力される。この出力されたデータは、Y,M,C,Kの4つの同一頂点(同一アドレス)のデータが一体になった合成データである。このため、データ分離部16の各出力色データ分離部16T1〜16T4は、予め定められているデータ合成手法を参照して、出力色Y,M,C,Kの単位データ、すなわち8ビット単位のデータに分離する。この8ビット単位に分離されたデータを補間対象データD1,D2,D3,D4という。個々の出力色ごとに纏まった形式で合成データが用意されているので、データ分離処理が簡易である。
【0109】
図9中の表3から分かるように、6つの4面体ごとに補間対象データD1,D2,D3,D4に割り当てられる格子点が異なる。データ分離部16は、分離した各出力色についての補間対象データD1,D2,D3,D4を、対応する補間処理部22Y〜22Kに入力する。
【0110】
図10は、演算処理部4における出力値算出処理(図4のステップS108)の補間係数算出処理(S102c)と補間演算処理(S102d)を説明する図である。ここで、図10(A)は補間演算にて必要となる補間係数の算出式を示す図表であり、図10(B)は補間演算処理の機能ブロック図である。
【0111】
補間係数算出処理(S102c)は、補間係数生成部20が実行する。補間係数生成部20は、アドレス生成部10から入力された入力RGB信号の下位4ビット信号DL(RL,GL,BL)と4面体判定部14にて定まった4面体判定結果とに基づいて補間演算係数W1,W2,W3,W4を算出する。図10(A)示す表4は、テトラ・ハイドラ法による補間演算で必要となる補間係数の算出式を示している。表4から分かるように、6つの4面体ごとに計算式が異なる。
【0112】
補間係数生成部20は、4面体判定処理(図4のステップS104〜S106)の結果を受けて、入力値が包含される4面体ごとに定められた計算式を表3に基づき切り替える。そして、4面体を構成する4格子点の下位ビットデータRL,GL,BLに基づいて補間係数W1,W2,W3,W4を算出し、補間係数W1,W2,W3,W4を補間処理部22Y〜22Kに共通に入力する。この補間係数算出処理は、従来のデータ変換装置における処理と同様である。
【0113】
補間演算処理(S102d)は、出力色データ決定部22が実行する。補間処理部22Y〜22Kのそれぞれは、補間係数生成部20から入力された補間係数W1,W2,W3,W4と対応するデータ分離部16T1〜16T4から入力された補間対象データD1,D2,D3,D4(4頂点の基礎データ)とに基づいて、最終出力値Doutを算出するというテトラ・ハイドラ法による補間演算処理を行なう。たとえば、式(3)に従って、最終出力値Doutを算出する。式(3)を機能的に示したものが図10(B)である。なお、式(3)では1次式補間で出力値を求めているが、これに限らず、2次式やその他の高次の補間演算式を利用してもよい。
【数3】
【0114】
図11は、メモリデータ構造の第2例を説明する図である。第1例のデータ構造は、出力色構成要素のうちの一部もしくは全てのデータを纏めて(合成して)格納するものであった。これに対して、第2例のデータ構造は、複数の画像属性のうちの一部もしくは全てのデータを纏めて(合成して)格納する点に特徴を有する。以下、第1例のデータ構造と異なる点についてのみ説明する。
【0115】
第1例のデータ構造では、入力値に対応するLUT内の近傍データは各頂点において1つであり、補間演算されて出力されるデータは1つの入力に対して1対1に定まるものであった。しかし、プリンタなどのハードコピー出力装置はその出力文書中の構成要素(たとえば、テキスト、コンピュータ・グラフィックス画像、写真画像など)ごとに異なった色変換を行なうことが望まれる。つまり、各頂点のデータとして、それぞれ異なる画像属性に応じた複数のデータが必要となるということである。
【0116】
この場合、従来の構成では、1つの画像属性についての必要メモリ数(補間演算に必要となるLUTの格子点数(頂点数)×出力色構成要素数X)を、必要とする画像属性の数の分だけ用意しなければならない。たとえば、RGB入力色データをテトラ・ハイドラ補間演算によりYMCK出力色データに変換するためには、Yへの変換に4つの格子点抽出用として4個、同様にMへの変換用に4個、Cへの変換用に4個、Kへの変換用に4個の計16個が必要であるから、画像属性の数をGとすれば、16・G個のメモリが必要となりメモリ回路の規模が増大する。
【0117】
そこで、第2例のデータ構造においては、先ず従来例と同様に、1つの画像属性についての必要メモリ数である、補間演算に必要となるLUTの格子点数(頂点数)×出力色構成要素数Xと等しい数のメモリで構成する。RGB入力色データをテトラ・ハイドラ補間演算によりYMCK出力色データに変換する場合、4個×4色=16個メモリを使用する。
【0118】
一方、新たに構成するLUTの各格子点のアドレス位置には、4つの画像属性に対応した例を示す図11のように、出力色構成要素のそれぞれについて、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性に応じた選択データ構成要素のうちの一部もしくは全てのデータを纏めて(合成して)格納する。図11(A)に示すように全てを纏めた方が、図11(B)に示すように一部だけを纏めるよりも、ビット幅が広がるのはいうまでもない。
【0119】
ここで、合成される任意の格子点のデータビット幅をLビット、1つの構成要素のデータビット幅をMビット(L,Mは正の整数)、元の(従前の)LUTの任意アドレスに格納されているデータサイズをYビット(Yは正の整数)、画像属性に応じた選択データ構成要素数をZ(Zは2以上の正の整数)、選択データ構成要素数(Z)を所定数nのグループに分割(Z=z1+z2+…+zn;zjは正の整数)することとすれば、各グループのLUT格子点のデータビット幅LやLj(単位はビット)は、以下の式(4)で示すことができる。
【数4】
【0120】
Zj=Zであれば、全てを纏めることを意味し、1グループのみとなる。なお、従前の例から分かるように、通常は、1つの構成要素のデータビット幅MとLUTのデータサイズYとは等しい。
【0121】
また式(4)を満足する限り、図11(B)や図11(C)に示すように、複数のグループに分けて纏めることもできる。また、図11(C)に示すように、纏め方によっては、1構成要素のデータビット幅そのもので格納されるグループができる。
【0122】
図11(A)〜図11(C)に示すように、複数の画像属性を纏めるデータ合成の手法には種々の手法があるが、これらは、出力色構成要素のそれぞれについて、同じデータ合成の手法を採用することが好ましい。ただし、出力色構成要素に応じて、データ合成の手法を変えることを排除するものではない。たとえば、出力色Y,M,Cについては図11(A)の手法を採用しつつ、出力色Kについては図11(B)の手法を採用するなどである。
【0123】
なお、複数のグループに分けるということから、この場合、選択データ構成要素数Zが3以上であることが前提となる。纏めるからには、選択データ構成要素数Zが複数(2以上)でなければならず、Z=2の場合、これを纏めると1つのグループしかできなからである。
【0124】
この第2例は、第1例とは異なり、ある色軸(たとえばLab空間の各軸)のデータを同一軸上で異なるデータ値に変換するための1次元LUTを用いる処理、すなわち入力構成要素数が1のものにも適用可能である。画像属性に応じて1次元LUTの変換特性を切り替えるということが存在するからである。
【0125】
入力構成要素数が“2”、“3”、あるいは“4”である例については、第1例の場合と同様である。色空間の具体例についても第1例の場合と同様であるので、その説明は割愛する。
【0126】
図12は、図11に示した第2例の合成手法を適用したデータ構造を持つLUTを使用する場合における、第2実施形態のデータ変換装置1の基本的な構成例を示す図である。図3に示した第1実施形態の構成との違いは、データ格納部2におけるメモリデータ構造と、データ分離部16の機能である。以下、相違点について説明する。
【0127】
第2実施形態のデータ格納部2は、図11にて説明したように、複数の画像属性に対応した選択データ構成要素について所定の基準に従ってグループ化され、そのグループ内の同一アドレスの複数の基礎データが1つの合成データに纏められて格納されることで、ルックアップテーブルLUTを構成する。たとえば、全ての選択データ構成要素を纏めて1グループとする場合、補間演算に必要となるLUTの格子点数(頂点数)T×出力色構成要素数Xと等しい数T×Xの分だけの参照用メモリ2S1T1,2S1T2,…,2S1Tt,2S2T1,2S2T2,…,2S2Tt,2SxT1,2S1T2,…,2SxTtを使用する。たとえば、RGB入力色データをテトラ・ハイドラ補間演算によりYMCK出力色データに変換する場合、T=4,X=4であるから16個のメモリを使用する。各参照用メモリ2T1,2T2,…,2Ttには、画像属性Z1〜Zzについての格子点データが合成されて格納される。
【0128】
これらメモリ2S1T1,2S1T2,…,2SxTtは、1つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。
【0129】
演算処理部4は、信号処理系統として、出力系の色成分S1,S2,…,Sxのそれぞれに対応するように、S1信号生成部4S1,S2信号生成部4S2,…,Sx信号生成部4Sxを含む。また、演算処理部4は、データ格納部2に格納されている合成データを、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性(選択データ構成要素)ごとのデータに分離するデータ分離部16を備えている。ここで、第2実施形態のデータ分離部16は、補間演算に必要となるLUTの格子点T1,T2,…,Tt並びに出力色S1,S2,…,Sxに対応して、個別回路が内部に設けられる。
【0130】
演算処理部4は先ず、データ格納部2内のメモリ2S1T1,2S1T2,…,2S1Tt,2S2T1,2S2T2,…,2S2Tt,2SxT1,2S1T2,…,2SxTtの任意のアドレスから、各出力色構成要素の格子点データであって複数の画像属性について合成されたLビットもしくはLjビットの合成データを読み出す。データ分離部16は、予め定められているデータ合成手法を参照して、読み出された合成データの中から、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性ごとの格子点データに分離し、処理対象の画像属性に応じた格子点データを選択する。個々の画像属性ごとに纏まった形式で合成データが用意されているので、データ分離・選択処理が簡易である。色成分S1,S2,…,Sxごとに設けられた信号生成部4S1〜4Sxは、分離・選択された格子点データを用いて補完演算を行なうことで、色成分S1,S2,…,Sxごとに出力データを生成する。
【0131】
なお、第2実施形態のデータ変換装置1における色データの変換に関する処理手順は、データ分離部16におけるデータ分離処理が画像属性に応じた分離・選択の処理となる点を除いて、第1実施形態の処理手順と同様である。処理手順を示したフローチャートは、図示を割愛する。
【0132】
第2実施形態の構成によれば、前述のように、データ格納部2内のメモリ2S1T1,2S1T2,…,2S1Tt,2S2T1,2S2T2,…,2S2Tt,2SxT1,2S1T2,…,2SxTtの各頂点のアドレス位置には、複数の画像属性の格子点データが1つの合成データとして纏められて保持される。つまり、出力文書中の構成要素(画像オブジェクト)ごとに異なった色変換を行なうために、1つの画像属性に応じただけのメモリの使用個数(補間演算に必要となるLUTの格子点数(頂点数)T×出力色構成要素数X)に維持しつつ、データビット幅を広くすることで全容量を維持する。このような構成によれば、出力文書中の画像オブジェクトごとに異なった色変換を行なうために全メモリ容量が増加する場合であっても、画像オブジェクトごとにメモリを個別に使用する場合よりも、特定用途向け半導体内に構成されるメモリとしてはその占有面積が格段に小さくなり、コスト面での経済的効果は絶大である。
【0133】
<<メモリデータの第3の構成例と対応回路>>
図13は、メモリデータ構造の第3例を説明する図である。この第3例は、第1例と第2例とを組み合わせたものである。
【0134】
この第3例のデータ構造は、先ず第1例と同様に、補間演算に必要となるデータをある単位時間内に同時に抽出できるように、補間演算に必要となるLUTの格子点数(頂点数)と等しい数(T個;テトラ・ハイドラ補間の場合は4個)のメモリで構成する。
【0135】
一方、新たに構成するLUTの各格子点のアドレス位置には、4つの出力色および3つの画像属性に対応した例を示す図13のように、出力色構成要素(本例ではY,M,C,K)のうちの一部もしくは全てのデータを纏めるとともに、複数の画像属性のうちの一部もしくは全てのデータを纏めて(合成して)格納する。図13(A)に示すように、複数の出力色構成要素並びに複数の画像属性の全てについて纏めた方が、図13(B)に示すように一部だけを纏めるよりも、ビット幅が広がるのはいうまでもない。
【0136】
ここで、合成される任意の格子点のデータビット幅をKビット、1つの構成要素のデータビット幅をMビット(L,Mは正の整数)、元の(従前の)LUTの任意アドレスに格納されているデータサイズをYビット(Yは正の整数)、出力色の構成要素数をX(Xは2以上の正の整数)、出力色構成要素(X)を所定数nのグループに分割(X=x1+x2+…+xn;xiは正の整数)し、また画像属性に応じた選択データ構成要素数をZ(Zは2以上の正の整数)、選択データ構成要素数(Z)を所定数nのグループに分割(Z=z1+z2+…+zn;zjは正の整数)することとすれば、各グループのLUT格子点のデータビット幅K,Ki,Kj,Kij(単位はビット)は、以下の式(5)で示すことができる。
【数5】
【0137】
xi=XかつZj=Zであれば、全てを纏めることを意味し、1グループのみとなる。Xi=XかつZj≠Zのときは、出力色構成要素については1グループのみとなる。Xi≠ZかつZj=Zのときは、画像属性については1グループのみとなる。
【0138】
また第1例や第2例で述べたと同様に、式(5)を満足する限り、出力構成要素および画像属性(選択データ構成要素)の少なくとも一方について複数のグループに分けて纏めることもできる。なお、複数のグループに分けるということから、この場合、出力構成要素数Xおよび選択データ構成要素数Zの少なくとも一方が3以上であることが前提となる。纏めるからには、出力構成要素数Xあるいは選択データ構成要素数Zが複数(2以上)でなければならず、X=2あるいはZ=2の場合、これを纏めると1つのグループしかできなからである。
【0139】
なお、この第3例は、第2例とは異なり、入力構成要素数が“2”以上のものに限定される。第1例と組み合わせたものであるからである。入力構成要素数が“3”、あるいは“4”である例については、第1例の場合と同様である。色空間の具体例についても第1例の場合と同様であるので、その説明は割愛する。
【0140】
図14は、図13に示した第3例の合成手法を適用したデータ構造を持つLUTを使用する場合における、第3実施形態のデータ変換装置1の基本的な構成例を示す図である。図3に示した第1実施形態あるいは図12に示した第2実施形態の構成との違いは、データ格納部2におけるメモリデータ構造と、データ分離部16の機能である。以下、相違点について説明する。
【0141】
第3実施形態のデータ格納部2は、図13にて説明したように、複数の出力色構成要素並びに複数の画像属性に対応した選択データ構成要素について所定の基準に従ってグループ化され、そのグループ内の同一アドレスの複数の基礎データが1つの合成データに纏められて格納されることで、ルックアップテーブルLUTを構成する。たとえば、全ての出力色構成要素並びに全ての選択データ構成要素を纏めて1グループとする場合、第1例と同様に、補間演算に必要となる格子点データ数Tの分だけの参照用メモリ2T1,2T2,…,2Ttを使用する。各参照用メモリ2T1,2T2,…,2Ttには、画像属性Z1〜Zz並びに出力色S1〜Sxについての格子点データが合成されて格納される。
【0142】
これらメモリ2T1,2T2,…,2Ttは、1つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。
【0143】
演算処理部4は、信号処理系統として、出力系の色成分S1,S2,…,Sxのそれぞれに対応するように、S1信号生成部4S1,S2信号生成部4S2,…,Sx信号生成部4Sxを含む。また、演算処理部4は、データ格納部2に格納されている合成データを、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性(選択データ構成要素)ごとのデータに分離するとともに出力構成要素ごとのデータに分離するデータ分離部16を備えている。ここで、第3実施形態のデータ分離部16は、出力色S1,S2,…,Sxに対応して、個別回路が内部に設けられる。
【0144】
演算処理部4は先ず、データ格納部2内のメモリ2T1,2T2,…,2Ttの任意のアドレスから、各出力色構成要素の格子点データであって複数の出力色構成要素並びに複数の画像属性について合成されたKビットもしくはKiビットの合成データを読み出す。データ分離部16は、予め定められているデータ合成手法を参照して、読み出された合成データの中から、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性ごとの格子点データに分離し処理対象の画像属性に応じた格子点データを選択するとともに出力色構成要素ごとの格子点データに分離する。個々の出力色および画像属性ごとに纏まった形式で合成データが用意されているので、データ分離・選択処理が簡易である。なお、処理対象の画像属性に応じた格子点データの選択処理(画像属性選択処理)と出力色構成要素ごとの格子点データへの分離処理(出力色分離処理)とは、その順序を問わない。
【0145】
色成分S1,S2,…,Sxごとに設けられた信号生成部4S1〜4Sxは、出力色構成要素ごとに分離された格子点データを用いて補完演算を行なうことで、色成分S1,S2,…,Sxごとに出力データを生成する。
【0146】
なお、第3実施形態のデータ変換装置1における色データの変換に関する処理手順は、データ分離部16におけるデータ分離処理として画像属性に応じた分離・選択の処理が追加される点を除いて、第1実施形態の処理手順と同様である。処理手順を示したフローチャートは、図示を割愛する。
【0147】
図15は、第3実施形態のデータ変換装置1において、RGB入力からYMCK出力への多次元LUTを用いた色変換を行なう場合のデータ構造の具体例を示す図である。2つの画像属性並びに4つの出力色YMCKの事例で示す。図18に示した従来例との比較のため、元の(従前の)LUTへの格納データ数を17データ×17データ×17データ(4913個の格子点アドレスが必要)と規定する。
【0148】
ここで、前述のように、演算処理部4は、テトラ・ハイドラ補間演算を行なうものとする。この場合、メモリ(データ格納部2)は、テトラ・ハイドラ補間演算に必要となる4つの頂点のデータをある単位時間内に同時に抽出できるように、4つの頂点用の4個のメモリ(RAM0〜RAM3)で構成される。
【0149】
各頂点のアドレス位置には、2つの画像属性並びにYMCK4色分の格子点データが1つの合成データとして纏められて保持される。ここでは、RGB入力データが8ビットであり、2つの画像属性並びYMCK4色分が纏められることで、1ワードとしては、8ビット×2×4色=64ビットの状態で格納される。つまり、出力文書中の構成要素(画像オブジェクト)ごとに異なった色変換を行なうために、補間演算に必要となるLUTの格子点数(頂点数)Tに維持しつつ、データビット幅を広くすることで全容量を維持する。このような構成によれば、画像属性並びに出力色ごとにメモリを個別に使用する場合よりも、特定用途向け半導体内に構成されるメモリとしてはその占有面積が格段に小さくなり、コスト面での経済的効果は絶大である。
【0150】
図16は、第3実施形態のデータ変換装置1の具体的な構成を示すブロック図である。この図16に示すデータ変換装置1の構成は、R,G,Bの3次元入力の場合における図5に示したメモリ構成を適用した具体的な回路構成である。ここでも、入力デジタル色分解信号の構成要素がR,G,Bであり、それぞれ8ビットのデータであるとする。
【0151】
第3実施形態のデータ変換装置1は、アドレス生成部10、4面体判定部14、補間係数生成部20、および出力色データ決定部22の機能が、図6に示した第1実施形態のデータ変換装置1と同様である。一方、データ分離部16の構成が第1実施形態のデータ変換装置1と異なる。
【0152】
具体的には、第3実施形態のデータ分離部16は、全画像属性並びに全出力色について纏められた合成データを各出力色成分に分離するものであり、先ず4つの頂点用のメモリ2T1〜2T4に対応するように、第1データ選択部17T1、第2データ選択部17T2、第3データ選択部17T3、および第4データ選択部17T4と、第1出力色データ分離部16T1、第2出力色データ分離部16T2、第3出力色データ分離部16T3、および第4出力色データ分離部16T4とを備える。
【0153】
データ分離部16の各データ選択部17T1〜17T4は、メモリ2T1〜2T4から出力された合成データの中から、テキスト、コンピュータ・グラフィックス画像、あるいは写真画像などの画像属性ごとの格子点データに分離し処理対象の画像属性に応じた格子点データを選択して、対応する出力色データ分離部16T1〜16T4に入力する。各出力色データ分離部16T1〜16T4は、出力色Y,M,C,Kの単位データ、すなわち8ビット単位の補間対象データD1,D2,D3,D4に分離する。データ分離部16は、分離した各出力色についての補間対象データD1,D2,D3,D4を、対応する補間処理部22Y〜22Kに入力する。
【0154】
なお、図14にて説明したように、画像属性選択処理と出力色分離処理とは順序を問わないので、各データ選択部17T1〜17T4と各出力色データ分離部16T1〜16T4との配列順を逆にしてもよい。
【0155】
第1実施形態のデータ変換装置1においては、入力値に対応するLUT内の近傍データは各頂点において1つであり、補間演算されて出力されるデータは1つの入力に対して1対1に定まるものであった。しかし、プリンタなどのハードコピー出力装置はその出力文書中の構成要素(たとえば、テキスト、コンピュータ・グラフィックス画像、写真画像など)ごとに異なった色変換を行なうことが望まれる。つまり、各頂点のデータとして複数のデータが必要となるということである。ある頂点のデータのうちどのデータを適用して後段の補間演算を行なうかは、たとえば入力の画像データに付加データ(タグ;tag)を付加することで実現する。
【0156】
アドレス生成部10によりアドレスされたデータ格納部2内の各メモリ2T1〜2T4は、Y成分の2つのデータ(Y0,Y1)、M成分の2つのデータ(M0,M1)、C成分の2つのデータ(C0,C1)、K成分の2つのデータ(K0,K1)の合計8つのデータを一塊りの合成データとして出力する。ここで、ビット幅は、元のLUT格子点データが8ビットなので、64ビットである。
【0157】
入力RGBのデータは、1画素ごとに、前述した文書中の構成要素を示すタグデータを持つ。ここでは1ビットのデータであるとする。タグデータは各データ選択部17T1〜17T4に入力される。タグデータが“0”である場合、各データ選択部17T1〜17T4は、64ビットの合成データの中から、第1の画像属性の格子点データY0,M0,C0,K0を纏めた上位32ビット部分のデータを分離・選択して、対応する出力色データ分離部16T1〜16T4に渡す。
【0158】
一方、タグデータが“1”である場合、各データ選択部17T1〜17T4は、64ビットの合成データの中から、第2の画像属性の格子点データY1,M1,C1,K1を纏めた下位位32ビット部分のデータを分離・選択して、対応する出力色データ分離部16T1〜16T4に渡す。各出力色データ分離部16T1〜16T4は、出力色Y,M,C,Kの補間対象データD1,D2,D3,D4に分離し、分離した各出力色についての補間対象データD1,D2,D3,D4を、対応する補間処理部22Y〜22Kに入力する。
【0159】
補間処理部22Y〜22Kには、補間係数生成部20から補間係数W1,W2,W3,W4が共通に入力される。補間係数W1,W2,W3,W4は入力点が包含される4面体ごとに定まるのでタグデータの状態には影響を受けない。補間処理部22Y〜22Kのそれぞれは、第1実施形態と同様に、補間係数W1,W2,W3,W4と対応する補間対象データD1,D2,D3,D4とを使用して、テトラ・ハイドラ法による補間演算処理を行なうことで、対応する出力色のデータを生成する。
【0160】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0161】
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【0162】
たとえば、上記各実施形態では、データ分離処理を簡易にするために、個々の出力色あるいは画像属性ごとに纏まった形式で合成データを用意しておいたが、元の格子点データを各出力色や各画像属性に関わらずバラバラにして合成してもかまわない。データ変換処理時には、その合成手法を参照して元の格子点データを抽出すればよい。
【0163】
また、上述した実施形態では、画像属性や出力色の観点から複数の格子点データを合成した合成データを使用することとしていたが、これらに限らず、他の観点から取り決めた基準に従って複数の格子点データを合成した合成データを使用しても構わない。
【0164】
なお、本願出願人は、特願2002−273976号にて、補間演算に必要となる格子点数(補間演算所用データ数)よりも少ない数のメモリ資源で色データ変換を実現する技術を提案している。元のルックアップテーブルの各格子点データを所定の基準に従って合成することで得られる合成データを新たなルックアップテーブルの格子点データとして格納する上述した本実施形態の手法を、この特願2002−273976号に記載の技術における格子点データに適用することもできる。
【0165】
特願2002−273976号に記載の技術は、多面体内での補間演算を行なう際に、補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能なメモリ空間を使用し、そのメモリ空間のそれぞれについて、k色の入力色信号要素で規定されるk次元格子空間の各格子点に対応づけられた格子点データに対応する基礎データを、所定の手順に従って1つのアドレスに複数の基礎アドレスが割り当てられるように対応付けて(パッキングして)格納し、同一アドレスに割り当てられた複数の基礎データの中から、処理対象の画素データに対応する補間演算所用データ数分の基礎データを抽出して、多面体内での補間演算を行なうというものである。
【0166】
特願2002−273976号に記載の技術に、上述した実施形態を適用すれば、メモリサイズを低減することができることに加えて、補間演算所用データ数(4点補間の場合は4つ)未満という少ないメモリ資源で色データ変換を実現することができ、また消費電力や放射ノイズを低減することもできる。
【0167】
【発明の効果】
以上の説明から明らかなように、本発明においては、元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データを新たなルックアップテーブルの格子点データとして格納しておく。合成データは、複数分を合成した分だけビット幅が広がる。
【0168】
データのビット幅を広げると、同メモリ容量であっても、データを格納するメモリのゲート規模(メモリサイズ)が小さくなる。よって、ビット幅の広い合成データとしてメモリ(データ格納部)に格納することで、チップサイズのより小さなメモリを使用することができ、メモリコストを低減することができる。
【図面の簡単な説明】
【図1】特定用途向け半導体内に構成される記憶手段の一例であるメモリの容量と、メモリが占める面積(以下ゲート(gate)規模という)の関係を説明する図である。
【図2】色データを変換する際に使用されるLUTに格納するデータの構造(メモリデータ構造)の第1例を説明する図である。
【図3】第1例の合成手法を適用した第1実施形態のデータ変換装置の基本的な構成例を示す図である。
【図4】第1実施形態のデータ変換装置における色データの変換に関する処理手順の概要を示したフローチャートである。
【図5】第1実施形態のデータ変換装置におけるデータ構造の具体例を示す図である。
【図6】第1実施形態のデータ変換装置の具体的な構成を示すブロック図である。
【図7】演算処理部における単位立方体判定処理(図4のステップS100〜S102)を説明する図である。
【図8】演算処理部における4面体判定処理(図4のステップS104〜S106)を説明する図である。
【図9】基点P21と4面体判定部による判定結果に基づく4頂点の座標位置との関係を示す図である。
【図10】演算処理部における出力値算出処理(図4のステップS108)の補間係数算出処理(S102c)と補間演算処理(S102d)を説明する図である。
【図11】メモリデータ構造の第2例を説明する図である。
【図12】第2例の合成手法を適用した第2実施形態のデータ変換装置の基本的な構成例を示す図である。
【図13】メモリデータ構造の第3例を説明する図である。
【図14】第3例の合成手法を適用した第3実施形態のデータ変換装置の基本的な構成例を示す図である。
【図15】第3実施形態のデータ変換装置におけるデータ構造の具体例を示す図である。
【図16】第3実施形態のデータ変換装置の具体的な構成を示すブロック図である。
【図17】テトラ・ハイドラ補間を利用して、RGB入力からYMCK出力への色変換を行なう従来のデータ変換装置の構成例を示す図である。
【図18】図17に示すデータ変換装置におけるデータ格納部に使用される各頂点データの参照用メモリのデータ構成例を示す図である。
【符号の説明】
1…データ変換装置、2…データ格納部、4…演算処理部、6…アドレスバス、8…データバス、10…アドレス生成部、14…4面体判定部、16…データ分離部、20…補間係数生成部、22…出力色データ決定部、22Y,22M,22C,22K…補間処理部
Claims (21)
- 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、
ルックアップテーブルの各格子点に、複数の前記出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の出力色分を合成した合成データを格納しておき、
前記入力色データの画素データに対応する前記合成データを読み出し、
この読み出した前記合成データを、前記出力色についての各格子点データに分離し、
前記出力色ごとに、前記分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する
ことを特徴とするデータ変換方法。 - 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、
ルックアップテーブルの各格子点に、複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成した合成データを格納しておき、
前記入力色データの画素データに対応する前記合成データを読み出し、
この読み出した前記合成データを、前記画像属性についての各格子点データに分離し、
前記出力色ごとに、前記分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する
ことを特徴とするデータ変換方法。 - 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換方法であって、
ルックアップテーブルの各格子点に、複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成した合成データを格納しておき、
前記入力色データの画素データに対応する前記合成データを読み出し、
この読み出した前記合成データを、前記画像属性並びに前記出力色についての各格子点データに分離し、
前記出力色ごとに、前記分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する
ことを特徴とするデータ変換方法。 - 前記入力色データの画素データごとに、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定し、該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定し、該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定する
ことを特徴とする請求項1から3のうちの何れか1項に記載のデータ変換方法。 - 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
複数の前記出力色についての元のルックアップテーブルにおける各格子点データを、所定の基準に基づいて所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを、前記出力色についての各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。 - 前記所定の基準は、前記複数の出力色の構成要素数をX、前記元のルックアップテーブルにおける各格子点データのビット幅をY、前記合成データのビット幅をNとしたとき、N=X・Yとする
ものであることを特徴とする請求項5に記載のデータ変換装置。 - 前記所定の基準は、前記複数の出力色の構成要素を複数のグループに分割したときのi番目のグループに属する前記出力色の構成要素数をxi、前記i番目のグループにおける前記合成データのビット幅をNiとしたとき、Ni=xi・Yとする
ものであることを特徴とする請求項5に記載のデータ変換装置。 - 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
複数の画像属性についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを、前記画像属性についての各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。 - 前記所定の基準は、前記画像属性の構成要素数をZ、前記元のルックアップテーブルにおける各格子点データのビット幅をY、前記合成データのビット幅をLとしたとき、L=Z・Yとする
ものであることを特徴とする請求項8に記載のデータ変換装置。 - 前記所定の基準は、前記複数の画像属性の構成要素を複数のグループに分割したときのj番目のグループに属する前記画像属性の構成要素数をzj、前記j番目のグループにおける前記合成データのビット幅をLjとしたとき、Lj=zj・Yとする
ものであることを特徴とする請求項8に記載のデータ変換装置。 - 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
複数の画像属性並びに複数の出力色についての元のルックアップテーブルにおける各格子点データを所定の基準に基づいて所定数の画像属性分並びに所定数の出力色分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを、前記画像属性並びに前記出力色についての各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。 - 前記所定の基準は、前記複数の出力色の構成要素数をX、前記画像属性の構成要素数をZ、前記元のルックアップテーブルにおける各格子点データのビット幅をY、前記合成データのビット幅をKとしたとき、K=X・Z・Yとする
ものであることを特徴とする請求項11に記載のデータ変換装置。 - 前記所定の基準は、前記複数の出力色の構成要素を複数のグループに分割したときのi番目のグループに属する前記出力色の構成要素数をxi、前記画像属性の構成要素数をZ、前記i番目のグループにおける前記合成データのビット幅をKiとしたとき、Ki=xi・Z・Yとする
ものであることを特徴とする請求項11に記載のデータ変換装置。 - 前記所定の基準は、前記複数の出力色の構成要素数をX、前記複数の画像属性の構成要素を複数のグループに分割したときのj番目のグループに属する前記画像属性の構成要素数をzj、前記j番目のグループにおける前記合成データのビット幅をKjとしたとき、Kj=X・zj・Yとする
ものであることを特徴とする請求項11に記載のデータ変換装置。 - 前記所定の基準は、前記複数の出力色の構成要素を複数のグループに分割したときのi番目のグループに属する前記出力色の構成要素数をxi、前記複数の画像属性の構成要素を複数のグループに分割したときのj番目のグループに属する前記画像属性の構成要素数をzj、前記j番目のグループにおける前記合成データのビット幅をKijとしたとき、Kij=xi・zj・Yとする
ものであることを特徴とする請求項11に記載のデータ変換装置。 - 入力色データを出力色データに変換する際に用いられるルックアップテーブルの格子点データに基づいて、前記入力色データの画素データごとに、当該入力色データに対応する出力色用の画素データを決定するデータ変換装置であって、
元のルックアップテーブルにおける各格子点データを所定の基準に基づいて複数分を合成して得られる合成データが各格子点に格納されてなるデータ格納部と、
前記データ格納部から前記入力色データの画素データに対応する前記合成データを読み出す合成データ読出部と、
前記合成データ読出部が読み出した前記合成データを前記元のルックアップテーブルの各格子点データに分離するデータ分離部と、
前記出力色ごとに、前記データ分離部が分離した当該出力色用の格子点データを使用して、前記出力色用の画素データを決定する出力色データ決定部と
を備えたことを特徴とするデータ変換装置。 - 前記入力色の構成要素数が2であることを特徴とする請求項5から7、11から15、のうちの何れか1項に記載のデータ変換装置。
- 前記入力色の構成要素数が1であることを特徴とする請求項8から10のうちの何れか1項に記載のデータ変換装置。
- 前記入力色の構成要素数が3であって、当該入力色の構成要素で規定される色空間が、RGB色空間、sRGB色空間、Lab色空間、YCbCr色空間、YMC色空間、XYZ色空間のうちの何れかであることを特徴とする請求項5から16のうちの何れか1項に記載のデータ変換装置。
- 前記入力色の構成要素数が4であって、当該入力色の構成要素で規定される色空間が YMCK色空間、K+Lab色空間、RGB+L色空間であることを特徴とする請求項5から16のうちの何れか1項に記載のデータ変換装置。
- 前記入力色データの画素データごとに、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定する単位格子体判定部と、
前記該単位格子体判定部により判定された該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定する多面体判定部とを備え、
前記出力色データ決定部は、前記多面体判定部により判定された該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定する補間処理部を含む
ことを特徴とする請求項5から20のうちの何れか1項に記載のデータ変換装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002376208A JP2004208128A (ja) | 2002-12-26 | 2002-12-26 | データ変換方法およびデータ変換装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002376208A JP2004208128A (ja) | 2002-12-26 | 2002-12-26 | データ変換方法およびデータ変換装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004208128A true JP2004208128A (ja) | 2004-07-22 |
Family
ID=32813726
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002376208A Pending JP2004208128A (ja) | 2002-12-26 | 2002-12-26 | データ変換方法およびデータ変換装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004208128A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100800699B1 (ko) | 2006-02-01 | 2008-02-01 | 삼성전자주식회사 | 컬러 룩업 테이블 생성 및 이를 이용한 컬러 변환 방법 |
| WO2014166705A1 (en) * | 2013-04-08 | 2014-10-16 | Thomson Licensing | Method for encoding and method for decoding a lut and corresponding devices |
-
2002
- 2002-12-26 JP JP2002376208A patent/JP2004208128A/ja active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100800699B1 (ko) | 2006-02-01 | 2008-02-01 | 삼성전자주식회사 | 컬러 룩업 테이블 생성 및 이를 이용한 컬러 변환 방법 |
| US7826111B2 (en) | 2006-02-01 | 2010-11-02 | Samsung Electronics Co., Ltd. | Color conversion method using a colors look-up table |
| WO2014166705A1 (en) * | 2013-04-08 | 2014-10-16 | Thomson Licensing | Method for encoding and method for decoding a lut and corresponding devices |
| CN105230019A (zh) * | 2013-04-08 | 2016-01-06 | 汤姆逊许可公司 | 对lut进行编码的方法和进行解码的方法以及对应的设备 |
| US10097857B2 (en) | 2013-04-08 | 2018-10-09 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
| US10694209B2 (en) | 2013-04-08 | 2020-06-23 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
| US11153605B2 (en) | 2013-04-08 | 2021-10-19 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
| EP4254954A3 (en) * | 2013-04-08 | 2023-10-18 | Dolby International AB | Method for encoding and method for decoding a lut and corresponding devices |
| US12034971B2 (en) | 2013-04-08 | 2024-07-09 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3249693B2 (ja) | 画像処理装置 | |
| JP4978598B2 (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
| JP2000115558A (ja) | 色特性記述装置および色管理装置および画像変換装置ならびに色補正方法 | |
| JPH11165435A (ja) | 併合データ要素を生成するための方法 | |
| US8891144B2 (en) | Color management method, module, and program product, and printer using said method | |
| AU722868B2 (en) | Method and system for image format conversion | |
| US6389161B1 (en) | Method of interpolation in an n-dimensional color space | |
| JPH05110840A (ja) | 色信号変換方法および装置 | |
| JP2011142615A (ja) | 画像処理装置、画像処理方法およびプログラム | |
| JP2006157252A (ja) | データ分類方法、多次元補間装置、多次元補間方法、及びコンピュータプログラム | |
| JPH10117291A (ja) | 補間器入力データの経路を決める装置 | |
| JP6448410B2 (ja) | データ変換装置およびその制御方法、プログラム | |
| US8259347B2 (en) | Image processing apparatus and computer readable medium | |
| JP4096672B2 (ja) | データ変換方法およびデータ変換装置 | |
| JP3911898B2 (ja) | 色変換装置および方法 | |
| JP6501561B2 (ja) | データ処理装置およびその制御方法、プログラム | |
| JP3455078B2 (ja) | 画像処理装置及び画像処理方法 | |
| JP2007067956A (ja) | 多次元補間装置および多次元補間方法 | |
| JP2010193474A (ja) | 多次元補間装置、多次元補間方法、及びコンピュータプログラム | |
| JP2003101806A (ja) | 画像処理装置および画像処理方法 | |
| JP2006165649A (ja) | 多次元データ変換装置及び方法 | |
| Vondran | Radial and Pruned Tetrahedral Interpolation Techniques | |
| JP4849085B2 (ja) | 画像処理装置、及び画像処理プログラム。 | |
| JP2004248066A (ja) | 色信号処理装置、方法、プログラムおよび記録媒体 | |
| JP2000196903A (ja) | 色変換方法および色変換装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051124 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070523 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070827 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080219 |
