JP3911898B2 - Color conversion apparatus and method - Google Patents

Color conversion apparatus and method Download PDF

Info

Publication number
JP3911898B2
JP3911898B2 JP06306799A JP6306799A JP3911898B2 JP 3911898 B2 JP3911898 B2 JP 3911898B2 JP 06306799 A JP06306799 A JP 06306799A JP 6306799 A JP6306799 A JP 6306799A JP 3911898 B2 JP3911898 B2 JP 3911898B2
Authority
JP
Japan
Prior art keywords
color
input
output
space
pixel value
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
JP06306799A
Other languages
Japanese (ja)
Other versions
JP2000261684A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP06306799A priority Critical patent/JP3911898B2/en
Publication of JP2000261684A publication Critical patent/JP2000261684A/en
Application granted granted Critical
Publication of JP3911898B2 publication Critical patent/JP3911898B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、カラープリンタ、カラー複写機、カラーテレビ等フルカラーを出力する装置において、ある色空間で表現された画素値を、異なる色空間で表現した画素値に変換して出力する装置に関する。
【0002】
【従来の技術】
従来から、カラープリンタ、カラー複写機、カラーテレビ等の分野で、ある色空間で表現された入力画素値を、異なる色空間で表現した画素値に変換し、出力画素値として出力する装置がある。以下、入力画素値が表現された色空間を入力色空間、同様に、出力画素値が表現された色空間を出力色空間と言う。画素値を変換する装置は、様々な方式のものがある。
【0003】
例えば、テレビジョン装置で良く知られているように、RGBで表現される入力色空間を、YCbCrで表現される出力色空間に変換する装置がある。RGBからYCbCrへの色空間処理は、Y=0.6G+0.3R+0.1B、Cb=Y−B、Cr=Y−Rという簡単な変換式で表わすことができる。したがって、RGBからYCbCrへの色変換装置は、前記変換式を処理する演算装置により実現することができる。
【0004】
ところが、入力色空間から出力色空間への変換処理が複雑で、簡単な変換式で表現できない場合がある。例えば、スキャナ装置で入力したRGBを印刷装置のYMCに変換する場合である。前記RGBは、スキャナの光センサのスペクトル特性に応じた色空間であり、前記YMCは、印刷機のインクのスペクトル特性や、網点の階調特性に応じた色空間であるため、両者の関係は非線型となることが多く、変換式は複雑になる。したがって、変換装置を変換式を実行する演算装置で実現すると、装置規模が大きくなる、あるいは、処理時間が長くなるなどの問題が生じる。
【0005】
入力色空間から出力色空間への変換が複雑な場合に対応するために、入力画素値に対する出力画素値を予め色補正テーブルに保持しておき、単なる色補正テーブルを参照する処理により色変換を実現する装置がある。
【0006】
ところが、入力画素値の種類、すなわち階調数が増大すると、色補正テーブルの容量が急激に増大するという問題がある。例えば、入力色空間がRGB各々n階調で表現される場合、色補正テーブルの容量は、n3となってしまう。
【0007】
色補正テーブルの大容量化を回避するために、色補正テーブルを複数の部分に分割し、部分空間の格子点の位置だけに出力画素値を保持しておき、入力画素値が格子点から外れている場合には、周辺の格子点の値から補間して出力画素値として用いる装置がある。例えば、特開平4−144481号公報に示される色変換装置がある。
【0008】
前記色補正テーブルによる色補正装置では、例えば、RGBなど3色の入力色空間の場合、入力色空間を複数の直方体に分割し、直方体を構成する8点の格子点を用いて線形補間する場合を考える。このとき、入力画素値をひとつ処理するために、色補正テーブルを8回参照しなければならない。YMCKからなる4色の入力色空間では1画素当り16回の参照が必要となる。しかし、最近のように取り扱う画像データの解像度が高くなり、かつ各画素にゆいての階調表現が細かくなると、一枚の画像を出力するのに要する色補正テーブルの読み出し帯域は大きくなる。
【0009】
また、例えば、特開平1−235642号公報に開示される色補正装置は、入力画像信号に乗算すべき係数と、該補正係数を乗算後に入力画像信号に加算すべき補正定数を、入力画像信号の各色成分の代表点毎に色補正テーブルに格納し、線形補間計算する処理を行なって、必要とするメモリ容量を従来より大幅に削減することができる。しかし、線形演算処理において算出された補正値は、直線近似による近似値である。例えば、入力画像信号に対する出力画像信号が図1の曲線11に示すようなものであるとき、直線10に示すような直線近似の色補正を使用する場合、補間誤差が大きくなるという問題がある。補間誤差が大きくなると、色変換誤差が大きくなり、色変換装置としての性能が低下する。
【0010】
【発明が解決しようとする課題】
従来の色補正装置は、入力色空間から出力色空間への複雑な変換を、少ない装置規模で実現するために、変換方法を簡略化するものであった。その結果、色変換精度が少なからず低下するが、装置規模を削減する効果を優先させていた。
【0011】
しかしながら、印刷装置やプリンタ装置などの画像出力装置の高画質化が進んでいる。YMCKなど4色で表現された入力画素を従来技術の変換精度では、これらの高画質な画像出力装置に対応できない可能性があるため、変換精度を低下させる要因となりうる技術を回避することが肝要となる。4色の入力色空間で十分な数の格子点を参照して補間すればよい。しかし、前述した通り、入力色数と格子点数を増やすと、いずれも色補正テーブルを参照する回数が増大し、問題となる。また、色補正テーブルの容量は、入力色空間の分割数を各色当り25=32分割とすると、324*4[Byte]=4[Mbyte]となる。
【0012】
分割数を減らして、かつ、精度を上げるために、従来例のような線形補間ではなく、非線形補間を行うという考え方がありうる。YMCKからなる入力色空間で、4次元の超立方体の頂点を格子点として参照する場合、一つの入力画素を色変換するために、線形補間の場合、色補正テーブルを16回参照しなければならない。ここで、24[dots/mm]の解像度で標本化され、YMCK各色8[bit/pixel]の階調精度で量子化されたJISのA4サイズの画像データを1秒でYMCKの出力色空間へ変換することを考える。画像データは、総計35[Mpixel]であるから、入力画素値は、35[Mpixel/sec]の速度で色変換装置に入力される。このとき、色補正テーブルの読み出し帯域は、35[Mpixel/sec]*16*4[Byte]=2.24[Gbyte/sec]に達する。
【0013】
非線形補間を行うためには、周囲3画素以上の格子点が必要となる。例えば、各色について周囲4点の格子点を参照する場合には、44=256画素の格子点を参照しなければならないため、2G×16=32GByte/secの帯域が必要となる。これは非現実的である。
【0014】
本発明の課題は、4色あるいは3色の入力色空間で十分な数の格子点を参照して補間する色変換装置において、演算精度を低下させることなく、参照格子点数を抑え、かつ、装置規模の増大を抑えることである。
【0015】
【課題を解決するための手段】
色補正テーブルの容量を削減するためには、入力色空間の分割数を小さくすれば良い。しかしながら、従来例の説明でも述べたように、分割数を少なくして線形補間を行うと許容程度を越えた色補正誤差が生じてしまう。高精度に色変換を行うには非線形補間を行う必要がある。しかし非線形補間は入力色空間から出力色空間への変換が複雑である。結局、従来例では、分割数を大きくすることにより、非線形を吸収していた。
【0016】
本発明では、各格子点間の補間を非線形で行うことにより、小さな分割数で小さな色補正誤差を実現するものである。
【0017】
色補正テーブルの容量は、入力色空間の分割数を各色あたり32分割とすると4MByte必要となる。これを各色あたり16分割とすることによって、256KByteとすることができる。
【0018】
しかしながら、課題でも述べたように、分割数を減らすために、非線形補間を行うと、テーブルの参照回数が増大してしまう。
【0019】
そこで、本発明では、出力色成分のうち重要な成分のみ非線形補間を行い、他の色成分は線形補間を行うことによって、色補正テーブルの転送帯域の増大を防ぎ、色補正テーブルの容量を削減し、かつ、色補正の精度を大幅に高めることを要旨とするものである。
【0020】
たとえば、入力色空間がYMCKで、出力色空間がY’M’C’K’の場合、出力色成分Y’に対しては、入力色成分Yの値が最も重要である。そこで、出力色成分Y’を計算する場合、入力色成分Yに対しては非線形補間を行い、他の色成分MCKに対しては線形補間を行う。
【0021】
M’C’K’の場合も同様であり、出力色成分M’を計算する場合、入力色成分Mに対しては非線形補間を行い、他の色成分YCKに対しては線形補間を行う。出力色成分C’を計算する場合、入力色成分Cに対しては非線形補間を行い、他の色成分YMKに対しては線形補間を行う。出力色成分K’を計算する場合、入力色成分Kに対しては非線形補間を行い、他の色成分YMCに対しては線形補間を行う。
【0022】
このようにすることによって、必要な周囲格子点数は全て非線形補間した256画素に比べて32画素と削減することができる。この時、色補正テーブルの必要帯域は、2G×2=4GByte/secの帯域であり、線形の場合に比べて増加量は小さくて済む。
【0023】
しかも、Y’に対しては、Yのデータが最も重要であり、他の色成分の重要さは小さいため、Y のみに非線形補間を行い、MCKに対して線形補間を行ったとしても、全てに線形補間を行う場合と比較して高い効果を得ることができる。
【0024】
なお、すべての色成分について非線形補間処理を含ませる必要はなく、たとえば、色変換上さほど誤差が気にならない色成分については線形補間のみを行うようにしてもよい。要するに、非線形補間と線形補間とを組み合わせることが重要である。
【0025】
さらに、本発明を説明する。
【0026】
本発明によれば、上述の目的を達成するために、複数の色成分を有する入力色空間を部分空間に分割し、前記部分空間の格子点ごとに、複数の色成分を有する出力色空間の色補正出力値を保持し、前記色補正出力値を補間処理して前記入力色空間の画素値データを前記出力色空間の画素値データに変換する色変換装置に:前記入力色空間の画素値データを入力する手段と;前記入力色空間の格子点に対応する出力色空間の色補正出力値を保持する手段と;前記出力色空間の色成分毎に、前記入力画素値データが表す画素値の周囲の格子点に対応する色補正出力値を取り出す色補正出力値取り出し手段と;前記出力色空間の色成分毎に予め選択された前記入力色空間の色成分に関して前記色補正出力値に対して非線形補間処理を行う非線形補間手段と;選択されない他の入力色空間の色成分について前記色補正出力値に対して線形補間処理を行う線形補間手段と;前記非線形補間処理および線形補間処理に基づいて上記出力空間の画素値データを出力する手段とを設けるようにしている。
【0027】
ここで、出力色空間の色補正出力値を保持する手段は、例えば色補正テーブルとして構成できる。色補正出力値取り出し手段は、出力色成分によって、補間を行う格子点位置が異なるようになっている。非線形補間手段は、出力色成分によって、どの入力色成分を線形補間するかあるいは非線形補間するかが異なるようになっている。
【0028】
この構成においては、各出力空間色成分ごとに色変換上重要な入力色成分を考慮し、その入力色成分については非線形補間を行い、精度の劣化を抑え、しかも、当該出力色成分にとってさほど重要でない入力色成分については線形補間を行って、コストダウンや処理の高速化を実現している。
【0029】
また、この構成において、前記色補正出力値取出し手段は、前記選択された入力空間の色成分に対しては、入力画素値データの表す画素値の周囲の3つ以上の格子点に対応する色補正出力値を取り出し、前記選択されない他の入力空間の色成分に対しては、入力画素値データの表す画素値の周囲の2格子点に対応する色補正出力値を取り出すようにしてもよい。
【0030】
また、前記非線形補間手段は、入力画素値データの表す画素値の周囲の4格子点に対応する色補正出力値を通る3次曲線を用いて補間を行うようにしてもよい。
【0031】
また、前記非線形補間手段は、入力画素値データの表す画素値の周囲の4格子点に対応する色補正出力値を入力としたキュービックコンボリューションで行うようにしてもよい。
【0032】
また、出力色成分毎に、上記補間処理を行う入力色成分の順序が異なるようにしてもよい。例えば線形補間を行う色成分は先に補間し、非線形を行う色成分は後に補間する。あるいは、非線形補間を行う色成分は先に補間し、線形を行う色成分は後に補間する。
【0033】
また、この発明によれば、上述の目的を達成するために、複数の色成分を有する入力色空間を部分空間に分割し、前記部分空間の格子点ごとに、複数の色成分を有する出力色空間の色補正出力値を保持し、前記色補正出力値を補間処理して前記入力色空間の画素値データを前記出力色空間の画素値データに変換する色変換装置において、前記補間処理を線形補間および非線形補間を組み合わせて行うようにしている。
【0034】
この構成においても、各出力空間色成分ごとに色変換上重要な入力色成分を考慮し、その入力色成分については非線形補間を行い、精度の劣化を抑え、しかも、当該出力色成分にとってさほど重要でない入力色成分については線形補間を行って、コストダウンや処理の高速化を実現できる。
【0035】
また、この発明によれば、上述の目的を達成するために、4つの色成分(C,M,Y,K)を有する入力色空間を部分空間に分割し、前記部分空間の格子点ごとに、4つの色成分(C’,M’,Y’,K’)を有する出力色空間の色補正出力値を保持し、前記色補正出力値を補間処理して前記入力色空間の4つの入力色信号を前記出力色空間の4つの出力色信号に変換する色変換方法において、上記出力空間の4つの色成分の各々について、それぞれ対応する1の入力空間の色成分に関して4点の格子点を用いて非線形補間を行ない、それ以外の3色の色成分に関して線形補間を行ない、4つの入力色信号から1つの対応する出力色信号を決定するようにしている。
【0036】
この構成においても、各出力空間色成分ごとに色変換上重要な入力色成分を考慮し、その入力色成分については非線形補間を行い、精度の劣化を抑え、しかも、当該出力色成分にとってさほど重要でない入力色成分については線形補間を行って、コストダウンや処理の高速化を実現できる。
【0037】
【発明の実施の形態】
以下、本発明の実施例について図面を参照して説明する。
【0038】
図1は入力画像に対して、出力画像の第1の色成分の画素値を出力する装置を説明する図である。
【0039】
図1において、1001は入力画像の第1の色成分、1002は入力画像の第2の色成分、1003は入力画像の第3の色成分、1004は入力画像の第4の色成分、1005は第1の出力色成分アドレス発生器、1006は色補正テーブル、1007は第1の出力色成分の格子点データ、1008は第1の入力色成分の非線形補間器、1009は第2の色成分の線形補間器、1010は第3の色成分の線形補間器、1011は第4の色成分の線形補間器、1012は第1の色成分の出力画像である。
【0040】
入力画像の第1から第4の色成分のデータ1001〜1004は、第1の出力色成分アドレス発生器1005に入力される。第1の出力色成分アドレス発生器1005では、各入力色成分の上位bitを取り出して並べることにより、色補正テーブルのアドレスを発生する。色補正テーブル1006はアドレスを受け取り、周囲32点の格子点データ1007を非線形補間器1008に出力する。非線形補間器1008では後述する方法により入力画像の第1の成分の下位ビットを用いて非線形補間を行い、補間結果を線形補間器1009に出力する。さらに順に線形補間器1009、1010、1011でそれぞれ、入力画像の第2の成分1002、入力画像の第3の成分1003、入力画像の第4の成分1004の下位ビット線形補間が行われ、最終的に出力画像の第1の色成分1012が出力される。
【0041】
以上で、出力画像の第1の色成分の画素値を求めることができる。
【0042】
図2は、出力画像の第2の色成分を出力する装置を示している。図2において、2005は、第2の出力色成分アドレス発生器、2012は第2の色成分の出力画像である。図2において図1と対応する箇所には対応する符号を付した。
【0043】
図1では、最初に入力画像の第1の色成分のデータ1001に対して非線形補間を行ったのに対し、図2では最初に入力画像の第2の色成分のデータ1002に対して非線形補間を行っている。
【0044】
以下、出力画像の第3、第4の色成分の演算に対しても同様の装置を構築することができる。すなわち、出力画像の第3の色成分の演算では、入力画像の第3の色成分のデータ1003に対して非線形補間を行い、他の色成分のデータについては線形補間を行う。出力画像の第4の色成分の演算では、入力画像の第4の色成分のデータ1004に対して非線形補間を行い、他の色成分のデータに対して線形補間を行う。
【0045】
以上では、非線形補間を最初に行ったが、非線形補間を最後に行うようにしてももちろん良い。非線形補間を最後に行うことにより、非線形補間の回数が削減できるという効果がある。非線形補間を最初に行うことにより、線形補間器1009、1010、1011に転送するデータ量が削減できるという効果がある。
【0046】
さらに出力色成分アドレス発生器1005、2005等について具体的に説明する。
【0047】
入力空間がYMCK、出力画像空間がY’M’C’K’とする。以下、出力画像成分Y’を算出する場合に用いる出力色成分アドレス発生器1005について説明する。
【0048】
まず、入力画像色成分Yの上位4ビットを取り出し、4ビットデータそのものと、4ビットデータに+1、+2、−1したものを合わせて、計4種の格子点アドレスデータを作成する。
【0049】
つぎに、入力画像色成分Mの上位4ビットを取り出し、4ビットデータそのものと、4ビットデータに+1したものを合わせて、計2種の格子点アドレスデータを作成する。
【0050】
同様に、入力画像色成分C、Kに関しても、それぞれ2種の格子点アドレスデータを作る。
【0051】
格子点はYMCKの4次元空間上にあるため、格子点アドレスは、YMCKの格子点の倍の数4×2×2×2個存在する。Yに関してだけは周囲4点の格子点を取得する。これらの格子点アドレスを、出力色成分データを蓄積する色補正テーブル内のアドレスに変換することで、各格子点の出力色成分データを取得することができる。単純な方法では、各色成分毎の格子点アドレスデータをビット列として並べたものを色補正テーブル内のアドレスとすれば良い。
【0052】
以上のように出力色成分Y’を出力する装置の出力色成分アドレス発生器1005について説明した。
【0053】
出力色成分がM’、C’、K’の場合にも同様に格子点アドレスデータを生成する。例えば、出力色成分がM’の場合には、まず、入力画像色成分Mの上位4ビットを取り出し、4ビットデータそのものと、4ビットデータに+1、+2、−1したものを合わせて、計4種の格子点アドレスデータを作成する。つぎに、入力画像色成分Yの上位4ビットを取り出し、4ビットデータそのものと、4ビットデータに+1したものを合わせて、計2種の格子点アドレスデータを作成する。同様に、入力画像色成分C、Kに関しても、それぞれ2種の格子点アドレスデータを作る。そして、例えば、これらアドレスデータのビット列を連結したものを色補正テーブル内のアドレスとする。
【0054】
出力色成分C’、K’の場合も同様である。
【0055】
つぎに、以下に補間器(非線形補間器1008〜線形補間器1011)の動作を説明する。ここでも、出力色成分Y’の例を示す。なお、YMCKの順に補間が行われる例を示す。
【0056】
まず、格子点の出力色成分データが32種、非線形補間器1008に入力される。非線形補間器1008では、MCKが同じ格子点アドレスデータに対応する4つの格子点画素値データに対して、一つの補間結果を出力する。これがYによる補間値である。Yによる補間値は8種である。さらに、線形補間器1009では、CKが同じ格子点アドレスデータに対応する2つの格子点画素値データに対して、一つの補間結果を出力する。これがMによる補間値である。Mによる補間値は4種である。CKでも同様に補間をすることによって、最終的に1つのY’成分画像データが出力される。
【0057】
M’成分出力の場合も同様であり、例えば、MYCKの順に補間が行われる。Mの場合のみ線形補間が行われる。
【0058】
C’K’に関しても同様である。
【0059】
以上は、最初に非線形補間する例について述べたが、最後に非線形補間を行っても良い。この場合、Y’成分を出力する場合には、例えば、CMKYの順で補間が行われる。最初C成分の補間後、32格子点成分が16個の補間値となり、M成分の補間後、格子点成分が8個の補間値となり、K成分の補間後、格子点成分が4個の補間値となり、Y成分の補間後、出力成分Y’を得ることができる。
【0060】
以下、補間方法に関して具体的に示す。
【0061】
例えば、入力色空間がYMCKで表現された画素値を、出力色空間がY’M’C’K’で表現した画素値に変換して出力するものとする。
【0062】
入力色空間を構成するYMCKの各色を分割し、入力色空間を単位立方体に分割する。入力色空間の各色をいくつに分割するかは任意であるが、例えば、YMCKの各色を16分割とする。分割された単位立方体の頂点の格子点データを記憶しておき、色補正テーブルに格納する。
【0063】
格子点間のデータは各色成分毎に補間演算により出力画素値を決定する。例えば、図3は色成分Yに対して、前記分割された3つの単位立方体を用いて格子点間の色補正データを求める一例である。この色空間システムはYMCK(Y’M’C’K’)の4次元であるので格子も4次元の超格子であるが、図3ではKを縮退し3次元で表示している。図3から入力色空間YMCKにおける、出力色成分Y’が図中の点Pで示す位置であったとすると、非線形変換において点は必ず3次曲線上に存在する。
【0064】
当該点は色成分Yの軸上で、図3に示すように4つの格子点p0,p1,p2,p3が1つの稜線に沿って配置され、同様な7つの稜線(図ではK軸が縮退しているので3つしか示されない)に沿って同様に4つの格子点が配置され、これら32個の格子点に点Pが取り囲まれている。例えば、図4に示すように、与えられた4個の格子点を用いて3次曲線で表示できる(X軸は入力色成分Yの位置を示し、Yは出力色成分Y’の補間出力値を示す)。曲線の式は次のようにする。
【0065】
【数1】

Figure 0003911898
ここで、4つの格子点は曲線を通るので、以下の式が得られる。
【0066】
【数2】
Figure 0003911898
これより、a,b,c,dに関する連立1次方程式が導かれるので、これを解けば、3次曲線の式1を得ることができる。
【0067】
この例は注目点Pを取り囲んでいる4格子点の値を用いて、当該点Pの値を求める方法であり、当該点Pから左方向に最短距離に位置している参照点を基準格子点とする。図4に示すように、点Pから基準格子点までの最短距離tをとすると、tの値は容易に得られる。例えば、入力色空間を16分割とする場合、tの値は4ビットで表わすことができる。従って、基準格子点の座標値をxiとし、注目点Pの横方向の値はx=xi+tとなり、式1にxの値を代入すれば、点Pの補間データYpが得られる。図4に示すように曲線上に点xiとxi+1との間は滑らかな曲線である。
【0068】
色成分Yについて同様に7つの補間出力値を非線形補間により求める。
【0069】
さらに、点Pにおいて色成分MCKに対して、それぞれ線形補間を行ない、補間データMp,Cp,Kpを求める。上述により得られた補間データYp,Mp,Cp,Kpを用いて出力色空間の色補正データY’を決定する。
【0070】
また、入力色空間の色成分Mに対して、前記非線形変換により補間データMpを求め、色成分YCKに対して、それぞれ線形補間を行ない、補間データYp,Cp,Kpを求める。上述により得られた補間データYp,Mp,Cp,Kpを用いて出力色空間の色補正データM’を決定する。
【0071】
色成分C,Kに対して同様に出力色空間の色補正データC’,K’を決定する上述より、4色入力に対して、各色成分毎に補間演算を行い、出力色空間における色補正データを求め、これにより入力色空間がYMCKで表現された画素値を、出力色空間がY’M’C’K’で表現した画素値に変換して出力する。
【0072】
本発明は上述した実施例に限定されるものではなく、例えば、3色の入力色空間から3色の出力色空間YMCに変換するなど、上述実施例の構成をそのまま適用できる。この場合、入力と出力が補色関係の色成分の場合は非線形補間を行い、それ以外の場合は線形補間を行えば良い。
【0073】
非線形補間はキュービックコンボリューションで行っても良い。
この方法は、図3に示すように、注目点Pの周囲の4個の格子点P0,P1,P2,P3を用いて点Pの色データを求める。この場合には、注目点Pは2つの格子点P1とP2に取り囲まれる範囲に次の式6で、点Pの色データを計算する。Pから左方向に最短距離に位置している参照点を基準格子点とする。図4に示すように、点Pから基準格子点までの最短距離をtとすると、
【0074】
【数3】
Figure 0003911898
ここで、
【0075】
【数4】
Figure 0003911898
である。
【0076】
具体的な効果を以下に示す。
【0077】
ここでは、簡単のため、一次元で効果を示す。
【0078】
図5に示された表で効果を示す。
【0079】
今、図5に示される表のように、入力画素値に対して、色補正後の出力画素値が定められているとする。入力画素値を16分割する場合は、32分割する場合に比べて、格子点の数が半分となる。減少した格子点の分は、補間によって求める。
【0080】
32分割の場合は、入力画素値が0,8,16,24,32,40,48に対応する出力画素値が格子点として存在しているが、16分割の場合は、補間によって、入力画素値8、24、36の場合の出力画素値を求めなければならない。線形補間の場合、表に示されるように最大誤差が1を超えてしまうのに対し、非線形で補間したことによって、最大誤差がを1以下とすることができる。しかも、この場合、周囲参照格子点の数は2倍となるだけである。
【0081】
【発明の効果】
以上のように選択的に非線形の補間を行うことによって、色補正テーブルの帯域の増大を抑え、かつ、色補正テーブルの容量を削減し、かつ、色補正誤差の増大を抑えることができる。一例では、色補正テーブルの容量は4MByteから、256KByteに削減できる。しかも、誤差は微少である。
【図面の簡単な説明】
【図1】 本発明の実施例の構成の要部(入力画像に対して出力画像の第1の色成分の画素値を出力する部分)を示すブロック図である。
【図2】 上述実施例の他の要部を示すブロック図である。
【図3】 入力画像の色成分Yにおいて分割された色空間の例を示す図である。
【図4】 入力画像の色成分Yに対して非線形補間を行なう例を示す図である。
【図5】 上述実施例の効果を説明する図である。
【符号の説明】
1001 入力画像の第1の色成分
1002 入力画像の第2の色成分
1003 入力画像の第3の色成分
1004 入力画像の第4の色成分
1005 第1の出力色成分アドレス発生器
1006 色補正テーブル
1007 第1の出力色成分の格子点データ
1008 第1の入力色成分の非線形補間器
1009 第2の色成分の線形補間器
1010 第3の色成分の線形補間器
1011 第4の色成分の線形補間器
1012 第1の色成分の出力画像
2005 第2の出力色成分アドレス発生器
2012 第2の色成分の出力画像[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for outputting full colors, such as a color printer, a color copying machine, and a color television, which converts a pixel value expressed in a certain color space into a pixel value expressed in a different color space and outputs the converted pixel value.
[0002]
[Prior art]
Conventionally, in the fields of color printers, color copiers, color televisions, and the like, there are devices that convert input pixel values expressed in a certain color space into pixel values expressed in a different color space and output them as output pixel values. . Hereinafter, a color space in which an input pixel value is expressed is referred to as an input color space, and similarly, a color space in which an output pixel value is expressed is referred to as an output color space. There are various types of devices for converting pixel values.
[0003]
For example, as is well known in television devices, there is a device that converts an input color space expressed in RGB into an output color space expressed in YCbCr. The color space processing from RGB to YCbCr can be expressed by a simple conversion formula of Y = 0.6G + 0.3R + 0.1B, Cb = Y−B, and Cr = Y−R. Therefore, the color conversion device from RGB to YCbCr can be realized by an arithmetic device that processes the conversion equation.
[0004]
However, the conversion process from the input color space to the output color space is complicated, and there are cases where it cannot be expressed by a simple conversion expression. For example, this is a case where RGB input by the scanner device is converted to YMC of the printing device. The RGB is a color space according to the spectral characteristics of the optical sensor of the scanner, and the YMC is a color space according to the spectral characteristics of the ink of the printing press and the gradation characteristics of the halftone dots. Is often non-linear, and the conversion formula becomes complicated. Therefore, when the conversion device is realized by an arithmetic device that executes a conversion formula, there arises a problem that the device scale becomes large or the processing time becomes long.
[0005]
In order to cope with the case where the conversion from the input color space to the output color space is complicated, the output pixel value corresponding to the input pixel value is stored in the color correction table in advance, and the color conversion is performed by simply referring to the color correction table. There is a device to realize.
[0006]
However, as the type of input pixel value, that is, the number of gradations increases, there is a problem that the capacity of the color correction table increases rapidly. For example, when the input color space is expressed by n gradations for each of RGB, the capacity of the color correction table is n Three End up.
[0007]
In order to avoid increasing the capacity of the color correction table, the color correction table is divided into a plurality of parts, and the output pixel values are held only at the positions of the lattice points in the partial space, so that the input pixel values are not included in the lattice points. In such a case, there is a device that interpolates from the values of surrounding grid points and uses them as output pixel values. For example, there is a color conversion apparatus disclosed in Japanese Patent Laid-Open No. 4-144482.
[0008]
In the color correction device using the color correction table, for example, in the case of an input color space of three colors such as RGB, the input color space is divided into a plurality of rectangular parallelepipeds, and linear interpolation is performed using eight lattice points constituting the rectangular parallelepiped. think of. At this time, in order to process one input pixel value, the color correction table must be referred to eight times. In the four-color input color space composed of YMCK, 16 references are required per pixel. However, when the resolution of image data handled as recently increases and the gradation expression for each pixel becomes finer, the read band of the color correction table required to output one image increases.
[0009]
Further, for example, the color correction apparatus disclosed in Japanese Patent Application Laid-Open No. 1-235642 discloses a coefficient that is to be multiplied by an input image signal and a correction constant that is to be added to the input image signal after being multiplied by the correction coefficient. Each of the color component representative points is stored in a color correction table, and a process of linear interpolation calculation is performed, so that the required memory capacity can be significantly reduced as compared with the prior art. However, the correction value calculated in the linear calculation process is an approximate value by linear approximation. For example, when the output image signal with respect to the input image signal is as shown by the curve 11 in FIG. 1, there is a problem that the interpolation error becomes large when the linear approximation color correction as shown by the straight line 10 is used. When the interpolation error increases, the color conversion error increases, and the performance as a color conversion device decreases.
[0010]
[Problems to be solved by the invention]
The conventional color correction apparatus simplifies the conversion method in order to realize complicated conversion from the input color space to the output color space with a small apparatus scale. As a result, although the color conversion accuracy is reduced considerably, priority has been given to the effect of reducing the apparatus scale.
[0011]
However, image quality of image output devices such as printing devices and printer devices is increasing. It is important to avoid the technology that can reduce the conversion accuracy of input pixels expressed in four colors, such as YMCK, because the conversion accuracy of the conventional technology may not be compatible with these high-quality image output devices. It becomes. What is necessary is just to interpolate with reference to a sufficient number of grid points in the input color space of four colors. However, as described above, when the number of input colors and the number of grid points are increased, the number of times of referring to the color correction table increases, which causes a problem. The capacity of the color correction table is the number of divisions of the input color space, 2 for each color. Five = 32, 32 divisions Four * 4 [Byte] = 4 [Mbyte].
[0012]
In order to reduce the number of divisions and increase accuracy, there may be a concept of performing nonlinear interpolation instead of linear interpolation as in the conventional example. In the input color space consisting of YMCK, when referring to the vertices of a four-dimensional hypercube as a grid point, in order to perform color conversion of one input pixel, the color correction table must be referred to 16 times in the case of linear interpolation. . Here, JIS A4 size image data sampled at a resolution of 24 [dots / mm] and quantized with a gradation accuracy of 8 [bit / pixel] for each color of YMCK into the output color space of YMCK in 1 second. Think about converting. Since the image data is a total of 35 [Mpixel], the input pixel value is input to the color conversion device at a speed of 35 [Mpixel / sec]. At this time, the read band of the color correction table reaches 35 [Mpixel / sec] * 16 * 4 [Byte] = 2.24 [Gbyte / sec].
[0013]
In order to perform non-linear interpolation, a grid point of three or more surrounding pixels is required. For example, when referring to four surrounding grid points for each color, 4 Four Since a grid point of = 256 pixels must be referenced, a band of 2G × 16 = 32 GByte / sec is required. This is unrealistic.
[0014]
An object of the present invention is to provide a color conversion apparatus that performs interpolation by referring to a sufficient number of grid points in a four-color or three-color input color space, and suppresses the number of reference grid points without reducing the calculation accuracy. It is to suppress the increase in scale.
[0015]
[Means for Solving the Problems]
In order to reduce the capacity of the color correction table, the number of divisions of the input color space may be reduced. However, as described in the description of the conventional example, if linear interpolation is performed with a small number of divisions, a color correction error exceeding an allowable level occurs. In order to perform color conversion with high accuracy, it is necessary to perform nonlinear interpolation. However, nonlinear interpolation involves complex conversion from the input color space to the output color space. After all, in the conventional example, the non-linearity is absorbed by increasing the number of divisions.
[0016]
In the present invention, a small color correction error is realized with a small number of divisions by nonlinearly interpolating between the respective lattice points.
[0017]
The capacity of the color correction table is 4 Mbytes when the number of divisions of the input color space is 32 for each color. By setting this to 16 divisions for each color, 256 KBytes can be obtained.
[0018]
However, as described in the problem, if nonlinear interpolation is performed to reduce the number of divisions, the number of table references increases.
[0019]
Therefore, in the present invention, nonlinear interpolation is performed only for important components of the output color components, and linear interpolation is performed for other color components, thereby preventing an increase in the transfer band of the color correction table and reducing the capacity of the color correction table. In addition, the gist is to greatly improve the accuracy of color correction.
[0020]
For example, when the input color space is YMCK and the output color space is Y′M′C′K ′, the value of the input color component Y is most important for the output color component Y ′. Therefore, when calculating the output color component Y ′, nonlinear interpolation is performed on the input color component Y, and linear interpolation is performed on the other color components MCK.
[0021]
The same applies to the case of M′C′K ′. When the output color component M ′ is calculated, nonlinear interpolation is performed on the input color component M, and linear interpolation is performed on the other color components YCK. When calculating the output color component C ′, nonlinear interpolation is performed on the input color component C, and linear interpolation is performed on the other color components YMK. When calculating the output color component K ′, nonlinear interpolation is performed on the input color component K, and linear interpolation is performed on the other color components YMC.
[0022]
By doing so, the necessary number of surrounding grid points can be reduced to 32 pixels as compared with 256 pixels subjected to nonlinear interpolation. At this time, the necessary band of the color correction table is a band of 2G × 2 = 4 GByte / sec, and the amount of increase is small compared to the linear case.
[0023]
Moreover, since Y data is the most important for Y ′ and the importance of the other color components is small, even if nonlinear interpolation is performed only on Y 1 and linear interpolation is performed on MCK, As compared with the case where linear interpolation is performed, a high effect can be obtained.
[0024]
Note that it is not necessary to include non-linear interpolation processing for all color components. For example, only linear interpolation may be performed for color components that do not bother errors as much as color conversion. In short, it is important to combine nonlinear interpolation and linear interpolation.
[0025]
Further, the present invention will be described.
[0026]
According to the present invention, in order to achieve the above object, an input color space having a plurality of color components is divided into subspaces, and an output color space having a plurality of color components is divided for each lattice point of the subspace. A color conversion apparatus that holds a color correction output value and interpolates the color correction output value to convert pixel value data in the input color space into pixel value data in the output color space: pixel value in the input color space Means for inputting data; means for holding a color correction output value of an output color space corresponding to a grid point of the input color space; and a pixel value represented by the input pixel value data for each color component of the output color space Color correction output value extraction means for extracting color correction output values corresponding to surrounding grid points; for the color correction output values for the color components of the input color space selected in advance for each color component of the output color space; Nonlinear interpolation to perform nonlinear interpolation processing Linear interpolation means for performing linear interpolation processing on the color correction output value for color components of other input color spaces not selected; pixel value data of the output space based on the nonlinear interpolation processing and linear interpolation processing; Is provided.
[0027]
Here, the means for holding the color correction output value of the output color space can be configured as a color correction table, for example. The color correction output value extracting means has different grid point positions for interpolation depending on the output color component. The nonlinear interpolation means is configured to change which input color component is linearly interpolated or nonlinearly interpolated depending on the output color component.
[0028]
In this configuration, an input color component that is important for color conversion is considered for each output space color component, nonlinear interpolation is performed on the input color component to suppress deterioration in accuracy, and it is very important for the output color component. Non-input color components are linearly interpolated to reduce costs and increase processing speed.
[0029]
Further, in this configuration, the color correction output value fetching unit, for the color component of the selected input space, corresponds to three or more grid points around the pixel value represented by the input pixel value data. A correction output value may be extracted, and color correction output values corresponding to two grid points around the pixel value represented by the input pixel value data may be extracted for the color components of the other input space not selected.
[0030]
The non-linear interpolation means may perform interpolation using a cubic curve that passes through color correction output values corresponding to four grid points around the pixel value represented by the input pixel value data.
[0031]
Further, the nonlinear interpolation means may be performed by cubic convolution using as input the color correction output values corresponding to the four grid points around the pixel value represented by the input pixel value data.
[0032]
Further, the order of input color components for performing the interpolation processing may be different for each output color component. For example, color components for linear interpolation are interpolated first, and color components for nonlinear interpolation are interpolated later. Alternatively, the color component that performs nonlinear interpolation is interpolated first, and the color component that performs linear interpolation is interpolated later.
[0033]
According to the present invention, in order to achieve the above object, an input color space having a plurality of color components is divided into partial spaces, and an output color having a plurality of color components for each lattice point of the partial space. In a color conversion apparatus that holds color correction output values in space and interpolates the color correction output values to convert pixel value data in the input color space into pixel value data in the output color space, the interpolation processing is linear Interpolation and non-linear interpolation are combined.
[0034]
Even in this configuration, an input color component important for color conversion is considered for each output space color component, nonlinear interpolation is performed on the input color component to suppress deterioration in accuracy, and it is very important for the output color component. Non-input color components can be linearly interpolated to reduce costs and increase processing speed.
[0035]
According to the present invention, in order to achieve the above-mentioned object, an input color space having four color components (C, M, Y, K) is divided into subspaces, and each lattice point of the subspace is divided. A color correction output value of an output color space having four color components (C ′, M ′, Y ′, K ′) is held, and the color correction output value is interpolated to obtain four inputs of the input color space. In the color conversion method for converting a color signal into four output color signals in the output color space, for each of the four color components in the output space, four grid points are associated with the corresponding color component in one input space. The nonlinear interpolation is performed, and the other three color components are linearly interpolated to determine one corresponding output color signal from the four input color signals.
[0036]
Even in this configuration, an input color component important for color conversion is considered for each output space color component, nonlinear interpolation is performed on the input color component to suppress deterioration in accuracy, and it is very important for the output color component. Non-input color components can be linearly interpolated to reduce costs and increase processing speed.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0038]
FIG. 1 is a diagram illustrating an apparatus that outputs a pixel value of a first color component of an output image with respect to an input image.
[0039]
In FIG. 1, 1001 is the first color component of the input image, 1002 is the second color component of the input image, 1003 is the third color component of the input image, 1004 is the fourth color component of the input image, and 1005 is The first output color component address generator, 1006 is the color correction table, 1007 is the grid point data of the first output color component, 1008 is the nonlinear interpolator of the first input color component, and 1009 is the second color component. A linear interpolator, 1010 is a third color component linear interpolator, 1011 is a fourth color component linear interpolator, and 1012 is an output image of the first color component.
[0040]
The first to fourth color component data 1001 to 1004 of the input image are input to the first output color component address generator 1005. The first output color component address generator 1005 generates an address of the color correction table by taking out and arranging the upper bits of each input color component. The color correction table 1006 receives the address and outputs the surrounding lattice point data 1007 to the nonlinear interpolator 1008. The non-linear interpolator 1008 performs non-linear interpolation using the lower bits of the first component of the input image by a method described later, and outputs the interpolation result to the linear interpolator 1009. Further, the linear interpolators 1009, 1010, and 1011 sequentially perform lower-bit linear interpolation of the second component 1002 of the input image, the third component 1003 of the input image, and the fourth component 1004 of the input image, respectively. Output the first color component 1012 of the output image.
[0041]
As described above, the pixel value of the first color component of the output image can be obtained.
[0042]
FIG. 2 shows an apparatus for outputting the second color component of the output image. In FIG. 2, 2005 is a second output color component address generator, and 2012 is an output image of the second color component. In FIG. 2, portions corresponding to those in FIG.
[0043]
In FIG. 1, nonlinear interpolation is first performed on the first color component data 1001 of the input image, whereas in FIG. 2, nonlinear interpolation is first performed on the second color component data 1002 of the input image. It is carried out.
[0044]
Hereinafter, a similar apparatus can be constructed for the calculation of the third and fourth color components of the output image. That is, in the calculation of the third color component of the output image, nonlinear interpolation is performed on the third color component data 1003 of the input image, and linear interpolation is performed on the data of other color components. In the calculation of the fourth color component of the output image, nonlinear interpolation is performed on the fourth color component data 1004 of the input image, and linear interpolation is performed on the data of other color components.
[0045]
In the above, the non-linear interpolation is performed first, but the non-linear interpolation may be performed last. By performing nonlinear interpolation last, there is an effect that the number of nonlinear interpolation can be reduced. By performing nonlinear interpolation first, there is an effect that the amount of data transferred to the linear interpolators 1009, 1010, and 1011 can be reduced.
[0046]
Further, the output color component address generators 1005 and 2005 will be specifically described.
[0047]
Assume that the input space is YMCK and the output image space is Y'M'C'K '. The output color component address generator 1005 used when calculating the output image component Y ′ will be described below.
[0048]
First, the upper 4 bits of the input image color component Y are extracted, and 4 types of grid point address data are created by combining the 4-bit data itself and the 4-bit data plus +1, +2, -1.
[0049]
Next, the upper 4 bits of the input image color component M are taken out, and the 4-bit data itself and the 4-bit data plus 1 are combined to create a total of two types of grid point address data.
[0050]
Similarly, two types of grid point address data are created for the input image color components C and K, respectively.
[0051]
Since the lattice points are on the YMCK four-dimensional space, there are 4 × 2 × 2 × 2 lattice point addresses that are twice the YMCK lattice points. For Y only, four surrounding grid points are acquired. By converting these grid point addresses into addresses in a color correction table for accumulating output color component data, output color component data at each grid point can be acquired. In a simple method, an address in the color correction table may be obtained by arranging grid point address data for each color component as a bit string.
[0052]
The output color component address generator 1005 of the device that outputs the output color component Y ′ as described above has been described.
[0053]
Similarly, lattice point address data is generated when the output color components are M ′, C ′, and K ′. For example, when the output color component is M ′, first, the upper 4 bits of the input image color component M are taken out, and the 4-bit data itself and the 4-bit data plus +1, +2, −1 are combined and calculated. Four types of grid point address data are created. Next, the upper 4 bits of the input image color component Y are taken out, and the 4-bit data itself and the 4-bit data plus 1 are combined to create a total of two types of grid point address data. Similarly, two types of grid point address data are created for the input image color components C and K, respectively. For example, a concatenation of bit strings of these address data is set as an address in the color correction table.
[0054]
The same applies to the output color components C ′ and K ′.
[0055]
Next, the operation of the interpolator (nonlinear interpolator 1008 to linear interpolator 1011) will be described below. Here again, an example of the output color component Y ′ is shown. An example in which interpolation is performed in the order of YMCK is shown.
[0056]
First, 32 types of output color component data of grid points are input to the nonlinear interpolator 1008. The non-linear interpolator 1008 outputs one interpolation result for the four grid point pixel value data corresponding to the grid point address data having the same MCK. This is the interpolation value by Y. There are 8 types of interpolation values by Y. Further, the linear interpolator 1009 outputs one interpolation result for two grid point pixel value data corresponding to grid point address data having the same CK. This is the interpolation value by M. There are four types of interpolation values based on M. By interpolating in the same way for CK, one Y ′ component image data is finally output.
[0057]
The same applies to the case of M ′ component output. For example, interpolation is performed in the order of MYCK. Linear interpolation is performed only in the case of M.
[0058]
The same applies to C′K ′.
[0059]
The example in which nonlinear interpolation is performed first has been described above, but nonlinear interpolation may be performed last. In this case, when outputting the Y ′ component, for example, interpolation is performed in the order of CMKY. After interpolation of the C component, the 32 grid point components become 16 interpolation values, after the M component interpolation, the grid point component becomes 8 interpolation values, and after the K component interpolation, the 4 grid point components are interpolated. The output component Y ′ can be obtained after interpolation of the Y component.
[0060]
Hereinafter, the interpolation method will be specifically described.
[0061]
For example, it is assumed that a pixel value whose input color space is expressed in YMCK is converted into a pixel value whose output color space is expressed in Y'M'C'K 'and output.
[0062]
Each color of YMCK constituting the input color space is divided, and the input color space is divided into unit cubes. It is arbitrary how many colors in the input color space are divided. For example, each color of YMCK is divided into 16 parts. The grid point data of the vertexes of the divided unit cube is stored and stored in the color correction table.
[0063]
As for data between grid points, an output pixel value is determined by interpolation for each color component. For example, FIG. 3 is an example of obtaining color correction data between lattice points using the three divided unit cubes for the color component Y. Since this color space system is four-dimensional YMCK (Y′M′C′K ′), the lattice is also a four-dimensional superlattice, but in FIG. 3, K is degenerated and displayed in three dimensions. Assuming that the output color component Y ′ in the input color space YMCK is at the position indicated by the point P in FIG. 3 in FIG. 3, the point always exists on the cubic curve in the nonlinear conversion.
[0064]
The point is on the axis of the color component Y, and as shown in FIG. 0 , P 1 , P 2 , P Three Are arranged along one ridgeline, and similarly four lattice points are arranged along the same seven ridgelines (only three are shown because the K-axis is degenerated in the figure), and these 32 lattices The point P is surrounded by the point. For example, as shown in FIG. 4, it can be displayed as a cubic curve using four given grid points (the X axis indicates the position of the input color component Y, and Y is the interpolated output value of the output color component Y ′). Showing). The curve equation is as follows.
[0065]
[Expression 1]
Figure 0003911898
Here, since the four lattice points pass through the curve, the following expression is obtained.
[0066]
[Expression 2]
Figure 0003911898
From this, simultaneous linear equations relating to a, b, c, and d are derived, and by solving this, Equation 1 of the cubic curve can be obtained.
[0067]
In this example, the value of the point P is obtained by using the values of the four grid points surrounding the point of interest P. The reference point located at the shortest distance in the left direction from the point P is the reference grid point. And As shown in FIG. 4, when the shortest distance t from the point P to the reference lattice point is taken, the value of t can be easily obtained. For example, when the input color space is divided into 16 parts, the value of t can be represented by 4 bits. Therefore, the coordinate value of the reference grid point is set to x i And the horizontal value of the attention point P is x = x i + T, and if the value of x is substituted into Equation 1, the interpolation data Y of the point P p Is obtained. Point x on the curve as shown in FIG. i And x i + 1 The curve between and is a smooth curve.
[0068]
Similarly, for the color component Y, seven interpolation output values are obtained by nonlinear interpolation.
[0069]
Further, linear interpolation is performed on the color component MCK at the point P, and the interpolation data M p , C p , K p Ask for. Interpolated data Y obtained as described above p , M p , C p , K p Is used to determine the color correction data Y ′ of the output color space.
[0070]
Further, the interpolation data M is applied to the color component M of the input color space by the nonlinear conversion. p And linear interpolation is performed for each color component YCK to obtain interpolation data Y p , C p , K p Ask for. Interpolated data Y obtained as described above p , M p , C p , K p Is used to determine the color correction data M ′ of the output color space.
[0071]
Similarly, the color correction data C ′ and K ′ in the output color space is determined for the color components C and K. From the above description, interpolation is performed for each color component for the four color inputs, and color correction in the output color space Data is obtained, and the pixel value whose input color space is expressed by YMCK is converted into a pixel value whose output color space is expressed by Y'M'C'K 'and output.
[0072]
The present invention is not limited to the above-described embodiment. For example, the configuration of the above-described embodiment can be applied as it is, for example, conversion from a three-color input color space to a three-color output color space YMC. In this case, nonlinear interpolation may be performed when the input and output are complementary color components, and linear interpolation may be performed otherwise.
[0073]
Nonlinear interpolation may be performed by cubic convolution.
In this method, as shown in FIG. 3, four lattice points P around the attention point P are used. 0 , P 1 , P 2 , P Three Is used to obtain the color data of the point P. In this case, the point of interest P is calculated within the range surrounded by the two lattice points P1 and P2, and the color data of the point P is calculated by the following equation (6). A reference point located at the shortest distance in the left direction from P is set as a reference grid point. As shown in FIG. 4, if the shortest distance from the point P to the reference grid point is t,
[0074]
[Equation 3]
Figure 0003911898
here,
[0075]
[Expression 4]
Figure 0003911898
It is.
[0076]
Specific effects are shown below.
[0077]
Here, for simplicity, the effect is shown in one dimension.
[0078]
The effect is shown in the table shown in FIG.
[0079]
Assume that the output pixel value after color correction is determined for the input pixel value as shown in the table of FIG. When the input pixel value is divided into 16, the number of grid points is halved compared to when the input pixel value is divided into 32. The reduced lattice point is obtained by interpolation.
[0080]
In the case of 32 divisions, output pixel values corresponding to input pixel values of 0, 8, 16, 24, 32, 40, and 48 exist as grid points. In the case of 16 divisions, the input pixel values are obtained by interpolation. The output pixel value for values 8, 24 and 36 must be determined. In the case of linear interpolation, the maximum error exceeds 1 as shown in the table, but the maximum error can be made 1 or less by performing non-linear interpolation. Moreover, in this case, the number of surrounding reference grid points is only doubled.
[0081]
【The invention's effect】
By selectively performing nonlinear interpolation as described above, it is possible to suppress an increase in the band of the color correction table, reduce the capacity of the color correction table, and suppress an increase in color correction error. In one example, the capacity of the color correction table can be reduced from 4 MBytes to 256 KBytes. Moreover, the error is very small.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a main part of a configuration of an embodiment of the present invention (a portion that outputs a pixel value of a first color component of an output image with respect to an input image).
FIG. 2 is a block diagram showing another main part of the embodiment.
FIG. 3 is a diagram illustrating an example of a color space divided in a color component Y of an input image.
FIG. 4 is a diagram illustrating an example in which nonlinear interpolation is performed on a color component Y of an input image.
FIG. 5 is a diagram for explaining the effect of the embodiment.
[Explanation of symbols]
1001 First color component of input image
1002 Second color component of input image
1003 Third color component of input image
1004 Fourth color component of input image
1005 First output color component address generator
1006 Color correction table
1007 First output color component grid point data
1008 Nonlinear interpolator for first input color component
1009 Linear interpolator for second color component
1010 third color component linear interpolator
1011 Fourth color component linear interpolator
1012 Output image of first color component
2005 Second output color component address generator
2012 Output image of second color component

Claims (8)

複数の色成分を有する入力色空間を部分空間に分割し、前記部分空間の格子点ごとに、複数の色成分を有する出力色空間の色補正出力値を保持し、前記色補正出力値を補間処理して前記入力色空間の画素値データを前記出力色空間の画素値データに変換する色変換装置において、
前記入力色空間の画素値データを入力する手段と、
前記入力色空間の格子点に対応する出力色空間の色補正出力値を保持する手段と、
前記出力色空間の色成分毎に、前記入力画素値データが表す画素値の周囲の格子点に対応する色補正出力値を取り出す色補正出力値取り出し手段と、
前記出力色空間の色成分毎に予め選択された前記入力色空間の色成分に関して前記色補正出力値に対して非線形補間処理を行う非線形補間手段と、
選択されない他の入力色空間の色成分について前記色補正出力値に対して線形補間処理を行う線形補間手段と、
前記非線形補間処理および線形補間処理に基づいて上記出力空間の画素値データを出力する手段とを有することを特徴とする色変換装置。
An input color space having a plurality of color components is divided into subspaces, and color correction output values of an output color space having a plurality of color components are held for each grid point of the subspace, and the color correction output values are interpolated. In a color conversion device that processes and converts pixel value data of the input color space into pixel value data of the output color space;
Means for inputting pixel value data of the input color space;
Means for holding a color correction output value of an output color space corresponding to a grid point of the input color space;
Color correction output value extracting means for extracting a color correction output value corresponding to a grid point around the pixel value represented by the input pixel value data for each color component of the output color space;
Non-linear interpolation means for performing non-linear interpolation processing on the color correction output value with respect to color components of the input color space preselected for each color component of the output color space;
Linear interpolation means for performing linear interpolation processing on the color correction output value for color components of other input color spaces that are not selected;
And a means for outputting pixel value data of the output space based on the nonlinear interpolation process and the linear interpolation process.
前記色補正出力値取出し手段は、前記選択された入力空間の色成分に対しては、入力画素値データの表す画素値の周囲の3つ以上の格子点に対応する色補正出力値を取り出し、前記選択されない他の入力空間の色成分に対しては、入力画素値データの表す画素値の周囲の2格子点に対応する色補正出力値を取り出すことを特徴とする請求項1記載の色変換装置。  The color correction output value extraction unit extracts color correction output values corresponding to three or more grid points around the pixel value represented by the input pixel value data for the color component of the selected input space, 2. The color conversion according to claim 1, wherein color correction output values corresponding to two grid points around the pixel value represented by the input pixel value data are extracted for the color components of the other input space not selected. apparatus. 前記非線形補間手段は、入力画素値データの表す画素値の周囲の4格子点に対応する色補正出力値を通る3次曲線を用いて補間を行うことを特徴とする請求項1または2記載の色変換装置。  3. The non-linear interpolation means performs interpolation using a cubic curve passing through color correction output values corresponding to four grid points around a pixel value represented by input pixel value data. Color conversion device. 前記非線形補間手段は、入力画素値データの表す画素値の周囲の4格子点に対応する色補正出力値を入力としたキュービックコンボリューションで行うことを特徴とする請求項1または2記載の色変換装置。  3. The color conversion according to claim 1, wherein the non-linear interpolation means performs a cubic convolution using, as inputs, color correction output values corresponding to four grid points around a pixel value represented by input pixel value data. apparatus. 出力色成分毎に、上記補間処理を行う入力色成分の順序が異なることを特徴とする請求項1、2、3または4記載の色変換装置。  5. The color conversion apparatus according to claim 1, wherein the order of input color components for performing the interpolation processing is different for each output color component. 上記非線形補間処理を先に行い、上記線形補間処理を後で行うことを特徴とする請求項1、2、3、4または5記載の色変換装置。  6. The color conversion apparatus according to claim 1, wherein the nonlinear interpolation process is performed first, and the linear interpolation process is performed later. 上記線形補間処理を先に行い、上記非線形処理を後で行う請求項1、2、3、4または5記載の色変換装置。  6. The color conversion apparatus according to claim 1, wherein the linear interpolation process is performed first, and the nonlinear process is performed later. 4つの色成分を有する入力色空間を部分空間に分割し、前記部分空間の格子点ごとに、4つの色成分を有する出力色空間の色補正出力値を保持し、前記色補正出力値を補間処理して前記入力色空間の4つの入力色信号を前記出力色空間の4つの出力色信号に変換する色変換方法において、上記出力空間の4つの色成分の各々について、それぞれ対応する1の入力空間の色成分に関して4点の格子点を用いて非線形補間を行ない、それ以外の3色の色成分に関して線形補間を行ない、4つの入力色信号から1つの対応する出力色信号を決定する色変換方法。  An input color space having four color components is divided into subspaces, color correction output values of an output color space having four color components are held for each lattice point of the subspace, and the color correction output values are interpolated. In the color conversion method of processing and converting the four input color signals in the input color space into the four output color signals in the output color space, one input corresponding to each of the four color components in the output space Color conversion for performing non-linear interpolation using four grid points for color components in space and performing linear interpolation for the other three color components to determine one corresponding output color signal from four input color signals Method.
JP06306799A 1999-03-10 1999-03-10 Color conversion apparatus and method Expired - Fee Related JP3911898B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06306799A JP3911898B2 (en) 1999-03-10 1999-03-10 Color conversion apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06306799A JP3911898B2 (en) 1999-03-10 1999-03-10 Color conversion apparatus and method

Publications (2)

Publication Number Publication Date
JP2000261684A JP2000261684A (en) 2000-09-22
JP3911898B2 true JP3911898B2 (en) 2007-05-09

Family

ID=13218638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06306799A Expired - Fee Related JP3911898B2 (en) 1999-03-10 1999-03-10 Color conversion apparatus and method

Country Status (1)

Country Link
JP (1) JP3911898B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4720088B2 (en) * 2004-02-02 2011-07-13 セイコーエプソン株式会社 Gradation correction circuit, image display device, and image processing method
US8111430B2 (en) 2005-09-13 2012-02-07 Canon Kabushiki Kaisha Color conversion apparatus and method
JP5135298B2 (en) * 2009-07-23 2013-02-06 京セラドキュメントソリューションズ株式会社 Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2000261684A (en) 2000-09-22

Similar Documents

Publication Publication Date Title
US6331902B1 (en) System and method for digital color image processing
JP2000184224A (en) Method for converting input color into output color, and electronic image forming system
JPH0730772A (en) Image processor
WO1989000317A1 (en) Method and apparatus for correcting color
JP5267255B2 (en) Image processing apparatus, image processing method, and program
JP3976849B2 (en) Device for generating interpolator input data
US7215440B2 (en) Fast interpolation of large color lookup tables
US20150170375A1 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP3911898B2 (en) Color conversion apparatus and method
JP5887809B2 (en) Image processing apparatus and program
US20070047035A1 (en) Normalization method, and multi-dimensional interpolation method and apparatus
JP2658089B2 (en) Color image processing method
JPH06121160A (en) Color correction circuit
JP6448410B2 (en) Data conversion apparatus, control method therefor, and program
JP2658086B2 (en) Color image processing method
JP3783815B2 (en) Image processing device
JP2007174392A (en) Data converting apparatus, control method and program for the data converting apparatus
JP2000022975A (en) Device and method for converting data
JP4039447B2 (en) Color image processing device
JP2001320593A (en) Image processing unit, and image forming device provided with it, and image processing method
WO1995033331A1 (en) Real time transformation between color spaces
JP4296423B2 (en) Color conversion apparatus and color conversion method
JP2000050058A (en) Resolution conversion method/device and storage medium
JP2658087B2 (en) Color image processing method
JPS59156065A (en) Storage method of color picture information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

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: 20070109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070122

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: 20110209

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140209

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees