JP2006203532A - Color conversion apparatus, color conversion method, and program - Google Patents

Color conversion apparatus, color conversion method, and program Download PDF

Info

Publication number
JP2006203532A
JP2006203532A JP2005012800A JP2005012800A JP2006203532A JP 2006203532 A JP2006203532 A JP 2006203532A JP 2005012800 A JP2005012800 A JP 2005012800A JP 2005012800 A JP2005012800 A JP 2005012800A JP 2006203532 A JP2006203532 A JP 2006203532A
Authority
JP
Japan
Prior art keywords
pixel value
information
color space
conversion
block
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.)
Granted
Application number
JP2005012800A
Other languages
Japanese (ja)
Other versions
JP4529702B2 (en
Inventor
Naonori Yamashita
直教 山下
Hiroyuki Oyabu
裕之 大藪
Makoto Kimura
誠 木村
Masahiro Ishiwatari
雅広 石渡
Tomiji Koseki
十三次 小関
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2005012800A priority Critical patent/JP4529702B2/en
Publication of JP2006203532A publication Critical patent/JP2006203532A/en
Application granted granted Critical
Publication of JP4529702B2 publication Critical patent/JP4529702B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Processing Of Color Television Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology capable of carrying out color conversion adapted to requirements of a high image quality tendency without decreasing the processing speed and deteriorating the accuracy. <P>SOLUTION: A color conversion apparatus includes: a pixel input section 10 for receiving an input pixel value; an index conversion section 20 for converting the input pixel value into an index signal; a delta conversion section 30 for converting the input pixel value into a delta signal; an input buffer 40 for storing the index signal and the delta signal; a first conversion table storage section 50 for storing a first conversion table wherein each grating point of an input color space is cross-referenced with each interpolation coefficient; a temporary storage section 60 for caching the first conversion table; a second conversion table storage section 61 for storing a second conversion table obtained by reducing the information amount of the first conversion table; a control section 70 for acquiring the first block table or the second block table according to the discrimination on the basis of the index signal; an interpolation processing section 80 for obtaining an output pixel value on the basis of the interpolation coefficient stored in the first or second conversion table and the delta signal; and a pixel output section 90 for outputting the output pixel value. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、所定の色空間で表現された画素値を異なる色空間で表現された画素値に変換する色変換装置等に関する。   The present invention relates to a color conversion device that converts pixel values expressed in a predetermined color space into pixel values expressed in different color spaces.

ディスプレイやプリンタ等の色再現デバイスは、その種類によって異なる色再現の原理を有する。従って、デバイスの種類が異なれば、色を表現するための色空間も異なる。これにより、あるデバイスで再現された色を別のデバイスで再現するには、一方のデバイスの色空間で表現された画素値をもう一方のデバイスの色空間で表現された画素値に変換する必要が出て来る。
ところが、例えば、ディスプレイ等のRGBで表現される色空間(RGB色空間)からプリンタのYMCKで表現される色空間(YMCK色空間)への変換のように、非線形性が強い変換については、特定の変換式を用いた演算により行うことは困難である。従って、このような色変換は、通常、一方の色空間における各格子点に他方の色空間における画素値を対応付けた変換テーブルを参照することによって行われている。
Color reproduction devices such as displays and printers have different color reproduction principles depending on their types. Therefore, the color space for expressing a color differs depending on the type of device. Thus, in order to reproduce the color reproduced in one device on another device, it is necessary to convert the pixel value expressed in the color space of one device to the pixel value expressed in the color space of the other device Come out.
However, for conversion with strong non-linearity, such as conversion from RGB color space (RGB color space) such as a display to a printer color space (YMCK color space) It is difficult to perform the calculation by using the conversion formula. Therefore, such color conversion is usually performed by referring to a conversion table in which each lattice point in one color space is associated with a pixel value in the other color space.

一方、近年、高画質な画像への要求が高まっており、入力データの階調(データ量)も増加してきている。従って、より高精度な色再現を実現するため、色変換に用いる変換テーブルとしても、大容量のものが必要とされるようになっている。
しかしながら、このような色変換の処理を、例えば、処理速度向上のため、ASIC(Application Specific Integrated Circuit)で実現しようとすると、ASIC内部に大容量のメモリを持つことになり、コスト的にも速度的にも多大な影響を受けることになってしまう。
こうした背景から、従来、ルックアップテーブル(LUT)と補間演算手段を用いてデータ変換処理を行うデータ変換処理において、線形補間演算と非線形補間演算を切り替えることにより、演算精度を高める技術が提案されている(例えば、特許文献1参照)。この方法では、システムの動作周波数が遅い場合のモードを2次補間演算モードと称し、線形補間演算部における演算結果に、非線形補間演算部における演算結果を加算して出力としている。一方、システムの動作周波数が早い場合のモードを線形補間演算モードと称し、線形補間演算部における演算結果をそのまま出力としている。
On the other hand, in recent years, the demand for high-quality images has increased, and the gradation (data amount) of input data has also increased. Therefore, in order to realize color reproduction with higher accuracy, a conversion table used for color conversion is required to have a large capacity.
However, if such color conversion processing is realized by, for example, an ASIC (Application Specific Integrated Circuit) in order to improve the processing speed, a large-capacity memory is provided inside the ASIC, and the cost is also high. Will be greatly affected.
Against this background, conventionally, in data conversion processing in which data conversion processing is performed using a look-up table (LUT) and interpolation calculation means, a technique for improving calculation accuracy by switching between linear interpolation calculation and nonlinear interpolation calculation has been proposed. (See, for example, Patent Document 1). In this method, the mode when the operating frequency of the system is slow is referred to as a secondary interpolation calculation mode, and the calculation result in the nonlinear interpolation calculation unit is added to the calculation result in the linear interpolation calculation unit to obtain an output. On the other hand, the mode when the operating frequency of the system is fast is called a linear interpolation calculation mode, and the calculation result in the linear interpolation calculation unit is output as it is.

特開平8−137451号公報(第4頁、第3図)JP-A-8-137451 (page 4, FIG. 3)

しかしながら、特許文献1の発明では、システムの動作周波数に応じて2次補間演算モードと線形補間演算モードとを切り替えているに過ぎないので、2次補間演算モードにおいては、演算負荷による処理速度の低下が発生する虞があるという問題点があった。
また、線形補間演算モードにおいては、特許文献1における処理結果の高精度化という課題は依然として解決されないという問題点もあった。
However, in the invention of Patent Document 1, since only the secondary interpolation calculation mode and the linear interpolation calculation mode are switched according to the operating frequency of the system, the processing speed due to the calculation load is reduced in the secondary interpolation calculation mode. There was a problem that there was a risk of a decrease.
Further, in the linear interpolation calculation mode, there is a problem that the problem of improving the accuracy of the processing result in Patent Document 1 is still not solved.

本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、処理の速度や精度を低下させることなく、高画質化の要求にかなう色変換を行えるようにすることにある。   The present invention has been made in order to solve the technical problems as described above, and an object of the present invention is to perform color conversion that meets the demand for higher image quality without reducing the processing speed and accuracy. Is to make it.

かかる目的のもと、本発明では、所定の色空間で表現された画素値を異なる色空間で表現された画素値に変換する際、格子点が密に配置された変換テーブルと疎に配置された変換テーブルとを切り替えて用いるようにした。即ち、本発明の色変換装置は、第1の色空間で表現された画素値から第2の色空間で表現された画素値への変換を行う装置であり、その変換の際に参照される第1の情報の情報量を削減して得られた第2の情報を記憶する記憶手段と、第1の色空間で表現された第1の画素値を変換するために第1の情報を参照すべきか第2の情報を参照すべきかを、その第1の画素値に基づいて決定する処理手段とを備えている。
ここで、第1の情報とは、例えば、第1の色空間で表現された画素値と第2の色空間で表現された画素値との所定数の対応関係を示す第1の変換テーブルであり、第2の情報とは、第1の色空間で表現された画素値と第2の色空間で表現された画素値とのその所定数よりも少ない数の対応関係を示す第2の変換テーブルである。
For this purpose, in the present invention, when converting a pixel value expressed in a predetermined color space into a pixel value expressed in a different color space, the grid points are arranged sparsely with a conversion table in which the grid points are densely arranged. Switched between the conversion table. That is, the color conversion device of the present invention is a device that converts a pixel value expressed in the first color space into a pixel value expressed in the second color space, and is referred to in the conversion. Storage means for storing second information obtained by reducing the amount of information of the first information, and reference to the first information for converting the first pixel value expressed in the first color space Processing means for determining whether to refer to the second information or not based on the first pixel value.
Here, the first information is, for example, a first conversion table indicating a predetermined number of correspondences between pixel values expressed in the first color space and pixel values expressed in the second color space. Yes, the second information is a second conversion that indicates a smaller number of correspondences between the pixel value expressed in the first color space and the pixel value expressed in the second color space than the predetermined number. It is a table.

また、本発明は、所定の色空間で表現された画素値を異なる色空間で表現された画素値に変換する際、格子点が密に配置された変換テーブルと疎に配置された変換テーブルとを切り替えて用いる方法として捉えることもできる。その場合、本発明の色変換方法は、第1の色空間で表現された画素値から第2の色空間で表現された画素値への変換を行う方法であり、第1の色空間で表現された第1の画素値を受け付けるステップと、受け付けた第1の画素値が所定の基準を満たさない場合には、第1の情報を用いて得られた第2の色空間内の画素値を出力し、その第1の画素値がその基準を満たす場合には、その第1の情報の情報量を削減して得られた第2の情報を用いて得られた第2の色空間内の画素値を出力するステップとを含んでいる。   Further, according to the present invention, when converting a pixel value expressed in a predetermined color space into a pixel value expressed in a different color space, a conversion table in which lattice points are densely arranged and a conversion table in which sparsely arranged lattice points are provided. It can also be understood as a method of switching and using. In this case, the color conversion method of the present invention is a method for converting the pixel value expressed in the first color space into the pixel value expressed in the second color space, and is expressed in the first color space. The received first pixel value, and if the received first pixel value does not satisfy the predetermined standard, the pixel value in the second color space obtained using the first information is And when the first pixel value satisfies the criterion, the second information obtained by using the second information obtained by reducing the information amount of the first information is within the second color space. Outputting a pixel value.

一方、本発明は、所定の機能をコンピュータに実現させるためのプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、第1の色空間で表現された第1の画素値を受け付ける機能と、受け付けた第1の画素値が所定の基準を満たさない場合には、第1の情報を用いて得られた第2の色空間内の画素値を出力し、その第1の画素値がその基準を満たす場合には、その第1の情報の情報量を削減して得られた第2の情報を用いて得られた第2の色空間内の画素値を出力する機能とを実現させるためのものである。   On the other hand, the present invention can also be understood as a program for causing a computer to realize a predetermined function. In that case, the program of the present invention has a function of accepting the first pixel value expressed in the first color space in the computer, and if the accepted first pixel value does not satisfy the predetermined standard, When the pixel value in the second color space obtained using the information of 1 is output and the first pixel value satisfies the standard, the information amount of the first information is reduced. And a function of outputting a pixel value in the second color space obtained by using the obtained second information.

本発明によれば、処理の速度や精度を低下させることなく、高画質化の要求にかなう色変換を行えるようになる。   According to the present invention, it is possible to perform color conversion that meets the demand for higher image quality without reducing the processing speed and accuracy.

以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。尚、本実施の形態では、色変換装置に入力する画素(入力画素)を表現するための色空間を「入力色空間」と呼び、色変換装置から出力される画素(出力画素)を表現するための色空間を「出力色空間」と呼ぶこととする。
(第1の実施の形態)
図1は、本発明の第1の実施の形態における色変換装置の構成を示した図である。
図示するように、本実施の形態の色変換装置は、画素入力部10と、インデックス変換部20と、デルタ変換部30と、入力バッファ40と、第1変換テーブル保持部50と、一時記憶部60と、第2変換テーブル保持部61と、制御部70と、補間処理部80と、画素出力部90とを備える。
The best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described below in detail with reference to the accompanying drawings. In the present embodiment, a color space for expressing pixels (input pixels) input to the color conversion device is called an “input color space”, and pixels (output pixels) output from the color conversion device are expressed. A color space for this purpose is called an “output color space”.
(First embodiment)
FIG. 1 is a diagram showing a configuration of a color conversion apparatus according to the first embodiment of the present invention.
As illustrated, the color conversion apparatus according to the present embodiment includes a pixel input unit 10, an index conversion unit 20, a delta conversion unit 30, an input buffer 40, a first conversion table holding unit 50, and a temporary storage unit. 60, a second conversion table holding unit 61, a control unit 70, an interpolation processing unit 80, and a pixel output unit 90.

画素入力部10は、入力色空間における入力画素の値(入力画素値)を受け付ける。インデックス変換部20は、入力画素値を取得し、入力色空間内の部分空間のうち入力画素値が属する部分空間を示すインデックス信号を出力し、デルタ変換部30は、入力画素値を取得し、その部分空間内の入力画素値の位置を示すデルタ信号を出力する。入力バッファ40は、インデックス信号とデルタ信号を読み込んで記憶するバッファである。
第1変換テーブル保持部50は、入力色空間の部分空間の境界に位置する各格子点に対し、出力色空間における対応する出力画素の値(以下、「補間係数」という)を格納する変換テーブル(以下、「第1変換テーブル」という)を保持する。本実施の形態では、第1変換テーブルとして、入力画素値が10bit/pixの場合に対応可能な変換テーブルを保持するものとする。
一時記憶部60は、第1変換テーブルを分割することによって得られたテーブル(以下、「第1ブロックテーブル」という)と、そのブロックテーブルに対するインデックスとして機能するテーブル(以下、「第1インデックステーブル」という)とを記憶する。
The pixel input unit 10 receives an input pixel value (input pixel value) in the input color space. The index conversion unit 20 acquires an input pixel value, outputs an index signal indicating a partial space to which the input pixel value belongs among the partial spaces in the input color space, the delta conversion unit 30 acquires the input pixel value, A delta signal indicating the position of the input pixel value in the subspace is output. The input buffer 40 is a buffer that reads and stores the index signal and the delta signal.
The first conversion table holding unit 50 stores the value of the corresponding output pixel in the output color space (hereinafter referred to as “interpolation coefficient”) for each grid point located at the boundary of the partial space of the input color space. (Hereinafter referred to as “first conversion table”). In the present embodiment, it is assumed that a conversion table that can be used when the input pixel value is 10 bits / pix is held as the first conversion table.
The temporary storage unit 60 is a table obtained by dividing the first conversion table (hereinafter referred to as “first block table”) and a table functioning as an index for the block table (hereinafter referred to as “first index table”). And remember).

第2変換テーブル保持部61は、入力色空間の特定のブロックについて、そのブロックの中の部分空間の境界に位置する各格子点に対し、出力色空間における補間係数を格納するテーブル(以下、「第2ブロックテーブル」という)と、その第2ブロックテーブルに対するインデックスとして機能するテーブル(以下、「第2インデックステーブル」という)とからなる第2変換テーブルを記憶する記憶手段である。ここで、第2変換テーブルは、第1変換テーブルよりも格子点を疎に配置して管理する変換テーブルである。本実施の形態では、第2ブロックテーブルとして、入力画素値が8bit/pixの場合に対応可能な変換テーブルを保持するものとする(上位4bitでインデックスを表し、下位4bitで補間を行うことを前提とする)。   The second conversion table holding unit 61 stores, for a specific block in the input color space, an interpolation coefficient in the output color space for each grid point located at the boundary of the partial space in the block (hereinafter, “ Storage means for storing a second conversion table including a second block table ”and a table functioning as an index for the second block table (hereinafter referred to as“ second index table ”). Here, the second conversion table is a conversion table that manages the grid points arranged more sparsely than the first conversion table. In this embodiment, it is assumed that a conversion table that can be handled when the input pixel value is 8 bits / pix is held as the second block table (assuming that the upper 4 bits represent an index and the lower 4 bits are interpolated). And).

制御部70は、入力バッファ40に記憶されたインデックス信号に基づいて第2変換テーブルを参照すべきと判定されれば、第2変換テーブル保持部61から第2ブロックテーブルを取得する。一方、入力バッファ40に記憶されたインデックス信号に基づいて第1変換テーブルを参照すべきと判定されれば、一時記憶部60又は第1変換テーブル保持部50から第1ブロックテーブルを取得する。このような処理を行う制御部70は、処理手段として把握することができる。また、補間処理部80は、第1又は第2のブロックテーブルから取得した補間係数と、入力バッファ40に記憶されたデルタ信号とに基づいて、出力すべき出力画素の値(出力画素値)を求める。画素出力部90は、この出力画素値を出力する。   If it is determined that the second conversion table should be referred to based on the index signal stored in the input buffer 40, the control unit 70 acquires the second block table from the second conversion table holding unit 61. On the other hand, if it is determined that the first conversion table should be referred to based on the index signal stored in the input buffer 40, the first block table is acquired from the temporary storage unit 60 or the first conversion table holding unit 50. The control unit 70 that performs such processing can be grasped as processing means. Further, the interpolation processing unit 80 calculates the value of the output pixel (output pixel value) to be output based on the interpolation coefficient acquired from the first or second block table and the delta signal stored in the input buffer 40. Ask. The pixel output unit 90 outputs this output pixel value.

尚、本実施の形態では、これらの機能のうち、インデックス変換部20と、デルタ変換部30と、入力バッファ40と、一時記憶部60と、第2変換テーブル保持部61と、制御部70と、補間処理部80とからなる部分は、LSI(Large Scale Integration)によって実現するものとする。一方、第1変換テーブル保持部50については、メインメモリによって実現する。   In this embodiment, among these functions, the index conversion unit 20, the delta conversion unit 30, the input buffer 40, the temporary storage unit 60, the second conversion table holding unit 61, and the control unit 70 The portion composed of the interpolation processing unit 80 is realized by LSI (Large Scale Integration). On the other hand, the first conversion table holding unit 50 is realized by a main memory.

このような構成を有する色変換装置は、次のように動作する。尚、以下の動作説明は、RGB色空間からYMCK色空間への色変換を例にとって行う。
まず、画素入力部10が、入力画素値(R,G,B)を受け付ける。そして、インデックス変換部20が、入力画素値からインデックス信号(R,G,B)を求め、デルタ変換部30が、入力画素値からデルタ信号(R,G,B)を求める。尚、上述したように、インデックス信号は、入力色空間内の部分空間のうち入力画素値が属する部分空間を示す信号であり、デルタ信号は、その部分空間内の入力画素値の位置を示す信号であるので、R=R+R,G=G+G,B=B+Bの関係が成り立つ。
このようなインデックス変換部20、デルタ変換部30による信号出力は、入力画素値に対し順次行われ、入力バッファ40は、サイズの許す限り、インデックス信号とデルタ信号のペアを先読みして記憶する。第1変換テーブル保持部50から一時記憶部60及び補間処理部80への読出しは低速であることが想定されるからである。
The color conversion apparatus having such a configuration operates as follows. In the following description of the operation, color conversion from the RGB color space to the YMCK color space is taken as an example.
First, the pixel input unit 10 receives input pixel values (R I , G I , B I ). Then, the index conversion unit 20 obtains an index signal (R H , G H , B H ) from the input pixel value, and the delta conversion unit 30 obtains a delta signal (R L , G L , B L ) from the input pixel value. Ask. As described above, the index signal is a signal indicating a partial space to which the input pixel value belongs in the partial space in the input color space, and the delta signal is a signal indicating the position of the input pixel value in the partial space. Therefore, the relations R I = R H + R L , G I = G H + G L , and B I = B H + B L are established.
The signal output by the index conversion unit 20 and the delta conversion unit 30 is sequentially performed on the input pixel value, and the input buffer 40 prefetches and stores the pair of the index signal and the delta signal as long as the size allows. This is because it is assumed that reading from the first conversion table holding unit 50 to the temporary storage unit 60 and the interpolation processing unit 80 is performed at a low speed.

次に、本実施の形態における色変換処理の中核である制御部70及び補間処理部80の動作について説明するが、その前に、そこで参照される第1変換テーブル保持部50、一時記憶部60、第2変換テーブル保持部61の記憶内容について説明しておく。尚、本明細書で参照する図面においては、横方向にR軸、縦方向にG軸、奥へ向かう方向にB軸を設定してRGB色空間を示す。また、RGB空間内の各点の座標は、(R値,G値,B値)と表記することとする。
図2は、RGB色空間の全体を示した図である。この図では、R軸、G軸、B軸のそれぞれにn個の格子点を設けている。従って、このRGB色空間は、(0,0,0)、(n−1,0,0)、(n−1,0,n−1)、(0,0,n−1)、(0,n−1,0)、(n−1,n−1,0)、(n−1,n−1,n−1)、(0,n−1,n−1)を頂点とする立方体と捉えることができる。
そして、第1変換テーブル保持部50に保持される第1変換テーブルは、このようなRGB色空間における各格子点に補間係数を対応付けたものである。
Next, the operations of the control unit 70 and the interpolation processing unit 80, which are the core of the color conversion processing in this embodiment, will be described. The contents stored in the second conversion table holding unit 61 will be described. In the drawings referred to in this specification, the RGB color space is shown by setting the R axis in the horizontal direction, the G axis in the vertical direction, and the B axis in the direction toward the back. The coordinates of each point in the RGB space are expressed as (R value, G value, B value).
FIG. 2 is a diagram showing the entire RGB color space. In this figure, n lattice points are provided on each of the R, G, and B axes. Therefore, this RGB color space is (0,0,0), (n-1,0,0), (n-1,0, n-1), (0,0, n-1), (0 , N−1, 0), (n−1, n−1, 0), (n−1, n−1, n−1), and a cube with (0, n−1, n−1) as vertices. Can be considered.
And the 1st conversion table hold | maintained at the 1st conversion table holding | maintenance part 50 matches an interpolation coefficient with each grid point in such RGB color space.

ところで、本実施の形態では、このRGB色空間をブロックに分割し、各ブロックに対応する第1ブロックテーブルを一時記憶部60に格納する構成としている。
RGB色空間のブロックへの分割は、例えば、図3(a)に示すように行われる。即ち、図3(a)に太線で示すように、格子点に囲まれた部分空間を複数個集めて1つのブロックを形成する。
図3(b)に、1つのブロックの拡大図を示す。各ブロックの8つの頂点のうち、RGB座標系の原点に最も近い頂点をブロックインデックスと定義し、(R,G,B)で表すものとする。また、本実施の形態では、各ブロックにおいて、各軸にm個の格子点を設けている(mはnの約数)。従って、各ブロックは、(R,G,B)、(R+m−1,G,B)、(R+m−1,G,B+m−1)、(R,G,B+m−1)、(R,G+m−1,B)、(R+m−1,G+m−1,B)、(R+m−1,G+m−1,B+m−1)、(R,G+m−1,B+m−1)を頂点とする立方体と捉えることができる。
By the way, in this embodiment, the RGB color space is divided into blocks, and the first block table corresponding to each block is stored in the temporary storage unit 60.
The division of the RGB color space into blocks is performed, for example, as shown in FIG. That is, as shown by a thick line in FIG. 3A, a plurality of partial spaces surrounded by lattice points are collected to form one block.
FIG. 3B shows an enlarged view of one block. Of the eight vertices of each block, the vertex closest to the origin of the RGB coordinate system is defined as a block index, and is represented by (R B , G B , B B ). In the present embodiment, in each block, m lattice points are provided on each axis (m is a divisor of n). Therefore, each block has (R B , G B , B B ), (R B + m−1, G B , B B ), (R B + m−1, G B , B B + m−1), (R B , G B , B B + m−1), (R B , G B + m−1, B B ), (R B + m−1, G B + m−1, B B ), (R B + m−1, G B + m−1, B B + m−1) and (R B , G B + m−1, B B + m−1) can be regarded as cubes having apexes.

図3(b)において、点Pが入力画素値であるとする。この場合、点Pが属する部分空間の8つの頂点のうち、RGB座標系の原点に最も近い頂点の座標を(R,G,B)とすると、この部分空間を示すインデックス信号は(R,G,B)となる。また、点PのRGB空間における座標を(R+R,G+G,B+B)とすると、その部分空間内での点Pの位置を示すデルタ信号は(R,G,B)となる。図3(b)に示すように、1つのブロックは、このような部分空間を複数集めたものである。
そして、一時記憶部60に記憶される第1ブロックテーブルは、このようなブロックにおける各格子点に補間係数を対応付けたものである。
In FIG. 3B, it is assumed that a point P is an input pixel value. In this case, if the coordinates of the vertex closest to the origin of the RGB coordinate system among the eight vertices of the partial space to which the point P belongs are (R H , G H , B H ), the index signal indicating this partial space is ( R H , G H , B H ). When the coordinates of the point P in the RGB space are (R H + R L , G H + G L , B H + B L ), the delta signal indicating the position of the point P in the subspace is (R L , G L , B L ). As shown in FIG. 3B, one block is a collection of a plurality of such partial spaces.
And the 1st block table memorize | stored in the temporary memory part 60 matches an interpolation coefficient with each lattice point in such a block.

また、本実施の形態では、図2のRGB色空間の特定のブロックについて、図2よりも格子点を疎に配置し、そのようなブロックに対応する第2ブロックテーブルを第2変換テーブル保持部61に格納する構成としている。
例えば、RGB色空間からYMCK色空間への色変換は、非線形性が高い。具体的には、RGB色空間における一定間隔の格子点に対する補間係数が、YMCK色空間において、殆ど変化しない場合、同じように変化する場合、極端に変化する場合がある。殆ど変化しない部分空間や極端に変化する部分空間では、線形補間を行う割合が高くなればなるほど正確な色変換からは遠ざかってしまう。一方、同じように変化する部分空間では、RGB色空間での格子点の間隔にもよるが、線形補間を行ってもある程度精度の高い画素値が得られる。従って、このような部分空間では、線形補間に依存する度合いを大きくしても、ある程度正確な変換を行うことが可能である。従って、本実施の形態では、第1変換テーブルのうち、線形補間を行ってもある程度精度の高い画素値が得られる部分について、格子点の間隔を疎にした第2変換テーブルを設けている。
In the present embodiment, the grid points of the specific block in the RGB color space in FIG. 2 are arranged more sparse than in FIG. 2, and the second block table corresponding to such a block is stored in the second conversion table holding unit. 61 is stored.
For example, color conversion from the RGB color space to the YMCK color space has high nonlinearity. Specifically, when the interpolation coefficients for the grid points at regular intervals in the RGB color space hardly change in the YMCK color space, they may change drastically if they change in the same way. In subspaces that hardly change or change extremely, the higher the ratio of linear interpolation, the farther away from accurate color conversion. On the other hand, in a subspace that changes in the same way, although depending on the spacing of the grid points in the RGB color space, pixel values with a certain degree of accuracy can be obtained even if linear interpolation is performed. Therefore, in such a partial space, even if the degree of dependence on linear interpolation is increased, it is possible to perform conversion with a certain degree of accuracy. Therefore, in the present embodiment, a second conversion table is provided in which the lattice point intervals are sparse for the portion of the first conversion table in which pixel values with a certain degree of accuracy can be obtained even if linear interpolation is performed.

そして、本実施の形態では、RGB色空間からYMCK色空間への色変換における上記性質を利用し、同じように変化する部分空間では、たとえ10bit/pixで画素値が入力されたとしても、第2変換テーブルを用いて色変換を行うようにする。具体的には、10bit/pixのうち、下位2bitを無視し8bit/pixとして認識したり、下位6bitで補間を行ったりする。同じように変化する部分空間では、このような処理を行っても、大きな誤差とはならないからである。
一方、殆ど変化しない部分空間又は極端に変化する部分空間について正確な色変換を行うためには、第2変換テーブルを使用することはできない。従って、第1変換テーブルを使用して色変換を行う。
In the present embodiment, the above-described property in the color conversion from the RGB color space to the YMCK color space is utilized, and even if a pixel value is input at 10 bits / pix in a partial space that changes in the same manner, 2. Color conversion is performed using a conversion table. Specifically, of the 10 bits / pix, the lower 2 bits are ignored and recognized as 8 bits / pix, or interpolation is performed with the lower 6 bits. This is because such a process does not cause a large error in a subspace that changes in the same manner.
On the other hand, the second conversion table cannot be used to perform accurate color conversion for a subspace that hardly changes or a subspace that changes extremely. Therefore, color conversion is performed using the first conversion table.

図4に、格子点の配置を疎にしたブロックを示す。ブロックの8つの頂点のうち、RGB座標系の原点に最も近い頂点をブロックインデックスと定義し、(R,G,B)で表すものとする。また、本実施の形態では、図2のRGB色空間のk(k>1)個の格子点に対し1つの格子点を設けることで、格子点の配置を疎にしている。尚、1つのブロックにおける各軸には、t個の格子点を設けている。従って、各ブロックは、(R,G,B)、(R+(t−1)k,G,B)、(R+(t−1)k,G,B+(t−1)k)、(R,G,B+(t−1)k)、(R,G+(t−1)k,B)、(R+(t−1)k,G+(t−1)k,B)、(R+(t−1)k,G+(t−1)k,B+(t−1)k)、(R,G+(t−1)k,B+(t−1)k)を頂点とする立方体と捉えることができる。 FIG. 4 shows a block in which the arrangement of lattice points is sparse. Of the eight vertices of the block, the vertex closest to the origin of the RGB coordinate system is defined as a block index, and is represented by (R B , G B , B B ). In this embodiment, the grid points are sparsely arranged by providing one grid point for k (k> 1) grid points in the RGB color space of FIG. Note that t lattice points are provided on each axis in one block. Therefore, each block, (R B, G B, B B), (R B + (t-1) k, G B, B B), (R B + (t-1) k, G B, B B + (t-1) k ), (R B, G B, B B + (t-1) k), (R B, G B + (t-1) k, B B), (R B + (t-1) k, G B + (t-1) k, B B), (R B + (t-1) k, G B + (t-1) k, B B + (t-1) k), (R B , G B + (t−1) k, B B + (t−1) k) can be regarded as a cube having vertices.

図4において、点Pが入力画素値であるとする。この場合、点Pが属する部分空間の8つの頂点のうち、RGB座標系の原点に最も近い頂点の座標を(R,G,B)とすると、この部分空間を示すインデックス信号は(R,G,B)となる。また、点PのRGB空間における座標を(R+R,G+G,B+B)とすると、その部分空間内での点Pの位置を示すデルタ信号は(R,G,B)となる。図4に示すように、1つのブロックは、このような部分空間を複数集めたものである。
そして、第2変換テーブル保持部61に記憶される第2ブロックテーブルは、このようなブロックにおける各格子点に補間係数を対応付けたものである。
In FIG. 4, it is assumed that a point P is an input pixel value. In this case, if the coordinates of the vertex closest to the origin of the RGB coordinate system among the eight vertices of the partial space to which the point P belongs are (R H , G H , B H ), the index signal indicating this partial space is ( R H , G H , B H ). When the coordinates of the point P in the RGB space are (R H + R L , G H + G L , B H + B L ), the delta signal indicating the position of the point P in the subspace is (R L , G L , B L ). As shown in FIG. 4, one block is a collection of a plurality of such partial spaces.
And the 2nd block table memorize | stored in the 2nd conversion table holding | maintenance part 61 matches an interpolation coefficient with each lattice point in such a block.

次に、図5及び6を参照して、第1変換テーブル保持部50に保持される第1変換テーブルの一例について説明する。
図5は、RGB色空間における格子点を一次元に配置するための順番付けの例を示したものである。このように、隣接する格子点については、変換テーブル上でなるべくアドレスが連続するように配置する。これにより、バースト転送等メモリの特性を生かすことができ、読出し速度を向上することができる。
図5の順番付けについてより詳細に説明する。まず、図5の最も手前の面(平面B=0)上の格子点は、(0,0,0),(1,0,0),…,(n−1,0,0),(0,1,0),(1,1,0),…,(n−1,1,0),…,(0,n−1,0),(1,n−1,0),…,(n−1,n−1,0)の順番に並べる。次に、1つ奥の面(平面B=1)上の格子点も、同様に、(0,0,1),…,(n−1,n−1,1)の順番に並べる。これを最も奥の面(平面B=n−1)上の格子点まで行い、三次元に配置されていたn個の格子点を一次元に並べる。
Next, an example of the first conversion table held in the first conversion table holding unit 50 will be described with reference to FIGS.
FIG. 5 shows an example of ordering for arranging the grid points in the RGB color space in one dimension. In this way, adjacent lattice points are arranged so that addresses are as continuous as possible on the conversion table. As a result, memory characteristics such as burst transfer can be utilized, and the reading speed can be improved.
The ordering in FIG. 5 will be described in more detail. First, lattice points on the foremost plane (plane B = 0) in FIG. 5 are (0, 0, 0), (1, 0, 0),..., (N−1, 0, 0), ( (0, 1, 0), (1, 1, 0), ..., (n-1, 1, 0), ..., (0, n-1, 0), (1, n-1, 0), ... , (N-1, n-1, 0) in this order. Next, the lattice points on the innermost surface (plane B = 1) are also arranged in the order of (0, 0, 1),..., (N−1, n−1, 1). This is performed up to the lattice points on the innermost surface (plane B = n−1), and n 3 lattice points arranged three-dimensionally are arranged one-dimensionally.

そして、この一次元に並べたRGB色空間における各格子点を、図6に示すようにメモリ上のアドレスにマップする。ここでは、簡単のため、先頭アドレスを「0」とし、次の格子点は、1だけカウントアップされたアドレスにマップするものとする。
尚、RGB色空間の各格子点をこのように連続的に拾ってマップした場合、一般に、アドレスAは、
A=αR+βG+γB+δ
と表すことができる。図6は、α=1、β=n、γ=n、δ=0とした場合の例である。
Then, each grid point in the RGB color space arranged in one dimension is mapped to an address on the memory as shown in FIG. Here, for the sake of simplicity, it is assumed that the head address is “0” and the next grid point is mapped to an address counted up by one.
In addition, when each grid point in the RGB color space is continuously picked up and mapped in this way, generally, the address A is
A = αR + βG + γB + δ
It can be expressed as. FIG. 6 shows an example in which α = 1, β = n, γ = n 2 , and δ = 0.

また、図7及び8を参照して、一時記憶部60に記憶される第1インデックステーブル及び第1ブロックテーブルの一例について説明する。
図7は、RGB色空間から切り出されたブロックにおける格子点を一次元に配置するための順番付けの例を示したものである。まず、図7の最も手前の面(平面B=B)上の格子点は、(R,G,B),(R+1,G,B),…,(R+m−1,G,B),(R,G+1,B),(R+1,G+1,B),…,(R+m−1,G+1,B),…,(R,G+m−1,B),(R+1,G+m−1,B),…,(R+m−1,G+m−1,B)の順番に並べる。次に、1つ奥の面(平面B=B+1)上の格子点も、同様に、(R,G,B+1),…,(R+m−1,G+m−1,B+1)の順番に並べる。これを最も奥の面(平面B=B+m−1)上の格子点まで行い、三次元に配置されていたm個の格子点を一次元に並べる。
そして、この一次元に並べたブロックにおける各格子点を、メモリ上のアドレスにマップする。
An example of the first index table and the first block table stored in the temporary storage unit 60 will be described with reference to FIGS.
FIG. 7 shows an example of ordering for arranging the grid points in the block cut out from the RGB color space in a one-dimensional manner. First, lattice points on the foremost surface (plane B = B B ) in FIG. 7 are (R B , G B , B B ), (R B +1, G B , B B ) ,. + m-1, G B, B B), (R B, G B + 1, B B), (R B + 1, G B + 1, B B), ..., (R B + m-1, G B + 1, B B), ..., (R B , G B + m-1, B B), (R B + 1, G B + m-1, B B), ..., (R B + m-1, G B + m-1, B Arrange in the order of B ). Next, the lattice points on the innermost plane (plane B = B B +1) are similarly (R B , G B , B B +1),..., (R B + m−1, G B + m−. 1, B B +1). This is performed up to the lattice points on the innermost surface (plane B = B B + m−1), and m 3 lattice points arranged in three dimensions are arranged one-dimensionally.
Then, each lattice point in this one-dimensionally arranged block is mapped to an address on the memory.

尚、一時記憶部60には必ずしも1つのブロックテーブルのみが格納されるとは限らない。従って、どのブロックテーブルがどのアドレスから格納されているかを示す第1インデックステーブルを設けることとする。
図8(a)は、第1インデックステーブルの一例を示したものである。第1インデックステーブルは、各ブロックの位置を示すブロックインデックスと、各ブロックに対応する第1ブロックテーブルのアドレスと、各ブロックに対応する第1ブロックテーブルの参照回数(ヒット回数)とを対応付けたものである。例えば、ブロックインデックス(R,G,B)に対しては、アドレス「a」、ヒット回数「N」が、ブロックインデックス(R,G,B)に対しては、アドレス「a」、ヒット回数「N」が記憶されている。
The temporary storage unit 60 does not necessarily store only one block table. Accordingly, a first index table indicating which block table is stored from which address is provided.
FIG. 8A shows an example of the first index table. The first index table associates the block index indicating the position of each block, the address of the first block table corresponding to each block, and the reference count (hit count) of the first block table corresponding to each block. Is. For example, for the block index (R 0 , G 0 , B 0 ), the address “a 0 ” and the hit count “N 0 ” are for the block index (R 1 , G 1 , B 1 ). The address “a 1 ” and the hit count “N 1 ” are stored.

また、図7で一次元に並べたブロックにおける各格子点は、図8(b)に示すようにメモリ上のアドレスにマップされる。ブロック内でのマッピング方法は、図6と同様である。但し、各ブロックインデックスに対応する第1ブロックテーブルの先頭アドレスは、第1インデックステーブルにおいてそのブロックインデックスに対応付けられたアドレスとする。具体的には、ブロックインデックス(R,G,B)に対応する第1ブロックテーブルの先頭アドレスは「a」であり、ブロックインデックス(R,G,B)に対応する第1ブロックテーブルの先頭アドレスは「a」である。また、次の格子点は、図6と同様、1だけカウントアップされたアドレスにマップするものとする。 Further, each lattice point in the one-dimensionally arranged block in FIG. 7 is mapped to an address on the memory as shown in FIG. 8B. The mapping method in the block is the same as in FIG. However, the head address of the first block table corresponding to each block index is the address associated with the block index in the first index table. Specifically, the first address of the first block table corresponding to the block index (R 0 , G 0 , B 0 ) is “a 0 ” and corresponds to the block index (R 1 , G 1 , B 1 ). The first address of the first block table is “a 1 ”. The next grid point is assumed to be mapped to an address counted up by 1 as in FIG.

尚、ブロック内の各格子点をこのように連続的に拾ってマップした場合、一般に、アドレスAは、
A=αR+βG+γB+δ
と表すことができる。図8(b)のブロックインデックス(R,G,B)に対する第1ブロックテーブルにおいては、α=1、β=m、γ=m、δ=a−R−mG−mである。また、ブロックインデックス(R,G,B)に対する第1ブロックテーブルにおいては、α=1、β=m、γ=m、δ=a−R−mG−mである。
ここで、図8(b)の第1ブロックテーブルの数は、一時記憶部60の容量に応じて決められる。そして、図8(a)の第1インデックステーブルには、第1ブロックテーブルの数だけのエントリが設けられる。
In addition, when each grid point in the block is continuously picked up and mapped in this way, generally, the address A is
A = αR + βG + γB + δ
It can be expressed as. In the first block table for the block index (R 0 , G 0 , B 0 ) in FIG. 8B, α = 1, β = m, γ = m 2 , δ = a 0 −R 0 −mG 0 −. m 2 B 0 . In the first block table for the block index (R 1 , G 1 , B 1 ), α = 1, β = m, γ = m 2 , δ = a 1 −R 1 −mG 1 −m 2 B 1 It is.
Here, the number of first block tables in FIG. 8B is determined according to the capacity of the temporary storage unit 60. Then, as many entries as the first block table are provided in the first index table of FIG.

更に、図9及び10を参照して、第2変換テーブル保持部61に記憶される第2インデックステーブル及び第2ブロックテーブルの一例について説明する。
図9は、RGB色空間内の特定のブロックにおける格子点を一次元に配置するための順番付けの例を示したものである。まず、図9の最も手前の面(平面B=B)上の格子点は、(R,G,B),(R+k,G,B),…,(R+(t−1)k,G,B),(R,G+k,B),(R+k,G+k,B),…,(R+(t−1)k,G+k,B),…,(R,G+(t−1)k,B),(R+k,G+(t−1)k,B),…,(R+(t−1)k,G+(t−1)k,B)の順番に並べる。次に、1つ奥の面(平面B=B+k)上の格子点も、同様に、(R,G,B+k),…,(R+(t−1)k,G+(t−1)k,B+k)の順番に並べる。これを最も奥の面(平面B=B+(t−1)k)上の格子点まで行い、三次元に配置されていたt個の格子点を一次元に並べる。
そして、この一次元に並べたブロックにおける各格子点を、メモリ上のアドレスにマップする。
Further, an example of the second index table and the second block table stored in the second conversion table holding unit 61 will be described with reference to FIGS.
FIG. 9 shows an example of ordering for arranging grid points in a specific block in the RGB color space in a one-dimensional manner. First, lattice points on the foremost surface (plane B = B B ) in FIG. 9 are (R B , G B , B B ), (R B + k, G B , B B ) ,. + (t-1) k, G B, B B), (R B, G B + k, B B), (R B + k, G B + k, B B), ..., (R B + (t-1 ) k, G B + k, B B), ..., (R B, G B + (t-1) k, B B), (R B + k, G B + (t-1) k, B B), ..., (R B + (t-1) k, G B + (t-1) k, B B ). Next, the lattice points on the innermost surface (plane B = B B + k) are similarly (R B , G B , B B + k),..., (R B + (t−1) k, Arrange in the order of G B + (t−1) k, B B + k). This is performed up to the lattice points on the innermost surface (plane B = B B + (t−1) k), and t 3 lattice points arranged in three dimensions are arranged one-dimensionally.
Then, each lattice point in this one-dimensionally arranged block is mapped to an address on the memory.

尚、第2変換テーブル保持部61には必ずしも1つのブロックテーブルのみが格納されるとは限らない。従って、どのブロックテーブルがどのアドレスから格納されているかを示す第2インデックステーブルを設けることとする。
図10(a)は、第2インデックステーブルの一例を示したものである。第2インデックステーブルは、各ブロックの位置を示すブロックインデックスと、各ブロックの1つの軸に設けられた格子点の数tと、各ブロックに対応する第2ブロックテーブルのアドレスとを対応付けたものである。例えば、ブロックインデックス(R’,G’,B’)に対しては、格子点の数「t」、アドレス「a’」が、ブロックインデックス(R’,G’,B’)に対しては、格子点の数「t」、アドレス「a’」が記憶されている。
The second conversion table holding unit 61 does not necessarily store only one block table. Therefore, a second index table indicating which block table is stored from which address is provided.
FIG. 10A shows an example of the second index table. The second index table associates a block index indicating the position of each block, the number t of grid points provided on one axis of each block, and the address of the second block table corresponding to each block. It is. For example, for the block index (R ′ 0 , G ′ 0 , B ′ 0 ), the number of grid points “t 0 ” and the address “a ′ 0 ” are changed to the block index (R ′ 1 , G ′ 1 , For B ′ 1 ), the number of lattice points “t 1 ” and the address “a ′ 1 ” are stored.

また、図9で一次元に並べたブロックにおける各格子点は、図10(b)に示すようにメモリ上のアドレスにマップされる。ブロック内でのマッピング方法は、図6と同様である。但し、各ブロックインデックスに対応する第2ブロックテーブルの先頭アドレスは、第2インデックステーブルにおいてそのブロックインデックスに対応付けられたアドレスとする。具体的には、ブロックインデックス(R’,G’,B’)に対応する第2ブロックテーブルの先頭アドレスは「a’」であり、ブロックインデックス(R’,G’,B’)に対応する第2ブロックテーブルの先頭アドレスは「a’」である。また、次の格子点は、図6と同様、1だけカウントアップされたアドレスにマップするものとする。 Further, each lattice point in the block arranged in one dimension in FIG. 9 is mapped to an address on the memory as shown in FIG. The mapping method in the block is the same as in FIG. However, the start address of the second block table corresponding to each block index is the address associated with that block index in the second index table. Specifically, the start address of the second block table corresponding to the block index (R ′ 0 , G ′ 0 , B ′ 0 ) is “a ′ 0 ”, and the block index (R ′ 1 , G ′ 1 , The leading address of the second block table corresponding to B ′ 1 ) is “a ′ 1 ”. The next grid point is assumed to be mapped to an address counted up by 1 as in FIG.

尚、ブロック内の各格子点をこのように連続的に拾ってマップした場合、一般に、アドレスAは、
A=αR+βG+γB+δ
と表すことができる。図10(b)のブロックインデックス(R’,G’,B’)に対する第2ブロックテーブルにおいては、α=1/k、β=t/k、γ=(t/k)、δ=a’−(1/k)R’−(t/k)G’−(t/k)B’である。また、ブロックインデックス(R’,G’,B’)に対する第2ブロックテーブルにおいては、α=1/k、β=t/k、γ=(t/k)、δ=a’−(1/k)R’−(t/k)G’−(t/k)B’である。
ここで、図10(b)の第2ブロックテーブルの数は、第2変換テーブル保持部61の容量に応じて決められる。そして、図10(a)の第2インデックステーブルには、第2ブロックテーブルの数だけのエントリが設けられる。
In addition, when each grid point in the block is continuously picked up and mapped in this way, generally, the address A is
A = αR + βG + γB + δ
It can be expressed as. In the second block table for the block indexes (R ′ 0 , G ′ 0 , B ′ 0 ) in FIG. 10B, α = 1 / k, β = t 0 / k, γ = (t 0 / k) 2 , δ = a ′ 0 − (1 / k) R ′ 0 − (t 0 / k) G ′ 0 − (t 0 / k) 2 B ′ 0 . In the second block table for the block index (R ′ 1 , G ′ 1 , B ′ 1 ), α = 1 / k, β = t 1 / k, γ = (t 1 / k) 2 , δ = a ′ 1 − (1 / k) R ′ 1 − (t 1 / k) G ′ 1 − (t 1 / k) 2 B ′ 1
Here, the number of second block tables in FIG. 10B is determined according to the capacity of the second conversion table holding unit 61. Then, as many entries as the second block tables are provided in the second index table of FIG.

このように第1変換テーブル保持部50、一時記憶部60、第2変換テーブル保持部61に情報が記憶された状態で、制御部70の動作が開始する。
図11は、制御部70の動作を示したフローチャートである。
まず、制御部70は、入力バッファ40からインデックス信号(R、G、B)を取り出す(ステップ101)。
そして、RGB色空間内でそのインデックス信号に対応する格子点を含むブロックの情報が第2変換テーブルに存在するかどうかを判定する(ステップ102)。尚、この場合のブロックとは、RGB色空間内の特定のブロックであり、第1変換テーブル保持部50で管理される格子点間隔をより疎に配置することによって得られたブロックである。
具体的には、第2インデックステーブルを参照し、
R’≦R<R’+t
G’≦G<G’+t
B’≦B<B’+t
(j=0,1,2,…)
を満たすjが存在するかどうかを判定する。
In this way, the operation of the control unit 70 starts with information stored in the first conversion table holding unit 50, the temporary storage unit 60, and the second conversion table holding unit 61.
FIG. 11 is a flowchart showing the operation of the control unit 70.
First, the control unit 70 extracts index signals (R H , G H , B H ) from the input buffer 40 (step 101).
Then, it is determined whether or not block information including a grid point corresponding to the index signal in the RGB color space exists in the second conversion table (step 102). The block in this case is a specific block in the RGB color space, and is a block obtained by arranging the grid point intervals managed by the first conversion table holding unit 50 more sparsely.
Specifically, referring to the second index table,
R ′ j ≦ R H <R ′ j + t j k
G ′ jGH <G ′ j + t j k
B ′ j ≦ B H <B ′ j + t j k
(j = 0, 1, 2, ...)
It is determined whether or not j satisfying the above condition exists.

その結果、そのようなブロックの情報が第2変換テーブルに存在すると判定された場合は、そのブロックのブロックインデックスを第2インデックステーブルから取り出す(ステップ103)。そして、そのブロックインデックスに対応する第2ブロックテーブルのアドレスを求める(ステップ104)。   As a result, when it is determined that such block information exists in the second conversion table, the block index of the block is extracted from the second index table (step 103). Then, the address of the second block table corresponding to the block index is obtained (step 104).

一方、そのようなブロックの情報が第2変換テーブルに存在しないと判定された場合は、RGB空間内でそのインデックス信号に対応する格子点を含むブロックのブロックインデックスを求める(ステップ105)。尚、この場合のブロックとは、RGB色空間を分割することによって得られたブロックである。
具体的には、
≦R<R+m (R=0,m,2m,…,n−m)
≦G<G+m (G=0,m,2m,…,n−m)
≦B<B+m (B=0,m,2m,…,n−m)
を満たす格子点(R,G,B)を求める。
On the other hand, when it is determined that such block information does not exist in the second conversion table, a block index of a block including a lattice point corresponding to the index signal in the RGB space is obtained (step 105). The block in this case is a block obtained by dividing the RGB color space.
In particular,
R B ≦ R H <R B + m (R B = 0, m, 2 m,..., N−m)
G B ≦ G H <G B + m (G B = 0, m, 2m, ..., n-m)
B B ≦ B H <B B + m (B B = 0, m, 2 m,..., N−m)
Lattice points (R B , G B , B B ) that satisfy the above are obtained.

次に、制御部70は、ブロックインデックス(R,G,B)が一時記憶部60の第1インデックステーブルに存在するかどうかを判定する(ステップ106)。
その結果、ブロックインデックスが第1インデックステーブルに存在すると判定された場合は、そのブロックインデックスに対応するヒット回数に1を加算する(ステップ107)。そして、そのブロックインデックスに対応する第1ブロックテーブルのアドレスを求める(ステップ108)。
Next, the control unit 70 determines whether or not the block index (R B , G B , B B ) exists in the first index table of the temporary storage unit 60 (step 106).
As a result, when it is determined that the block index exists in the first index table, 1 is added to the number of hits corresponding to the block index (step 107). Then, the address of the first block table corresponding to the block index is obtained (step 108).

一方、ブロックインデックスが第1インデックステーブルに存在しないと判定された場合は、第1変換テーブル保持部50からブロックテーブルを読み込む動作に移る。但し、その際、一時記憶部60に新たにブロックテーブルを追加する容量がない場合も考えられる。そこで、まず、一時記憶部60にブロックテーブルを書き込む余裕(空き領域)があるかどうかを判定する(ステップ109)。
その結果、書き込む余裕がないと判定された場合は、第1インデックステーブルに記憶されたブロックごとのヒット回数を参照し、ヒット回数が最も少ないブロックの第1ブロックテーブルを一時記憶部60から削除し(ステップ110)、ステップ111へ進む。一方、書き込む余裕があると判定された場合は、そのままステップ111へ進む。
On the other hand, when it is determined that the block index does not exist in the first index table, the operation proceeds to an operation of reading the block table from the first conversion table holding unit 50. However, at that time, there may be a case where the temporary storage unit 60 does not have a capacity for newly adding a block table. Therefore, first, it is determined whether or not there is a margin (empty area) for writing the block table in the temporary storage unit 60 (step 109).
As a result, when it is determined that there is no room for writing, the number of hits for each block stored in the first index table is referred to, and the first block table of the block with the smallest number of hits is deleted from the temporary storage unit 60. (Step 110), go to Step 111. On the other hand, if it is determined that there is room for writing, the process proceeds to step 111 as it is.

そして、制御部70は、ステップ105で求めたブロックインデックスに対応するブロックテーブルを第1変換テーブルから切り出して一時記憶部60に書き込む(ステップ111)。また、書き込んだブロックテーブルの先頭アドレスを取得し、ブロックインデックスとそのアドレスとを第1インデックステーブルに書き込む(ステップ112)。尚、その際、ヒット回数は「0」としておく。
そして、最後に、制御部70は、第1ブロックテーブル又は第2ブロックテーブル(以下では、単に「ブロックテーブル」という)のアドレスとブロックインデックスとを補間処理部80に出力する(ステップ113)。
And the control part 70 cuts out the block table corresponding to the block index calculated | required by step 105 from a 1st conversion table, and writes it in the temporary memory part 60 (step 111). Also, the head address of the written block table is acquired, and the block index and its address are written into the first index table (step 112). In this case, the hit count is set to “0”.
Finally, the control unit 70 outputs the address and block index of the first block table or the second block table (hereinafter simply referred to as “block table”) and the block index to the interpolation processing unit 80 (step 113).

これにより、補間処理部80の動作が開始する。
図12は、補間処理部80の動作を示したフローチャートである。
まず、補間処理部80は、インデックス信号、デルタ信号を入力バッファ40から取得し、ブロックテーブルのアドレス、ブロックインデックスを制御部70から取得する(ステップ201)。尚、インデックス信号は、制御部70から取得するようにしてもよい。
As a result, the operation of the interpolation processing unit 80 starts.
FIG. 12 is a flowchart showing the operation of the interpolation processing unit 80.
First, the interpolation processing unit 80 acquires an index signal and a delta signal from the input buffer 40, and acquires an address of the block table and a block index from the control unit 70 (step 201). The index signal may be acquired from the control unit 70.

次に、補間処理部80は、入力画素値に対する補間係数を求め、補間処理を行う。尚、ここでは、補間方法の一例として、入力画素を含む四面体の4つの頂点に対する補間係数を用いて補間を行う4点補間を採用する。勿論、他の公知の補間方法を採用しても構わない。
まず、補間処理部80は、入力画素値(R,G,B)を含む四面体を求める(ステップ202)。具体的には、図13に示すような立方体において、入力画素値が、四面体ABCG、四面体ABFG、四面体ACDG、四面体ADGH、四面体AEFG、四面体AEGHのいずれに含まれるかを判定する。これは、デルタ信号(R,G,B)におけるR,G,Bの大小関係に基づいて、容易に判定することができる。
Next, the interpolation processing unit 80 obtains an interpolation coefficient for the input pixel value and performs an interpolation process. Here, as an example of an interpolation method, four-point interpolation is employed in which interpolation is performed using interpolation coefficients for four vertices of a tetrahedron including input pixels. Of course, other known interpolation methods may be employed.
First, the interpolation processing unit 80 obtains a tetrahedron including input pixel values (R I , G I , B I ) (step 202). Specifically, in the cube as shown in FIG. 13, it is determined whether the input pixel value is included in tetrahedron ABCG, tetrahedron ABFG, tetrahedron ACDG, tetrahedron ADGH, tetrahedron AEFG, or tetrahedron AEGH. To do. This can be easily determined based on the magnitude relationship between R L , G L , and B L in the delta signal (R L , G L , B L ).

その後、補間処理部80は、ここで求めた四面体の4つの頂点に対する補間係数が格納されたアドレスA、A、A、Aを求める(ステップ203)。
具体的には、次のようにして求める。まず、図13の各頂点に対応するアドレスを求めておく。頂点A、B、C、D、E、F、G、Hに対する補間係数が格納されたアドレスを、それぞれ、A、A、A、A、A、A、A、Aとすると、次のようになる。但し、ここでは、制御部70が求めたブロックテーブルのアドレスを「a」とする。
=a+(R−R)+m(G−G)+m(B−B)
=a+(R+1−R)+m(G−G)+m(B−B)
=a+(R+1−R)+m(G−G)+m(B+1−B)
=a+(R−R)+m(G−G)+m(B+1−B)
=a+(R−R)+m(G+1−G)+m(B−B)
=a+(R+1−R)+m(G+1−G)+m(B−B)
=a+(R+1−R)+m(G+1−G)+m(B+1−B)
=a+(R−R)+m(G+1−G)+m(B+1−B)
Thereafter, the interpolation processing unit 80 obtains addresses A 0 , A 1 , A 2 , and A 3 in which the interpolation coefficients for the four vertices of the tetrahedron obtained here are stored (step 203).
Specifically, it calculates | requires as follows. First, an address corresponding to each vertex in FIG. 13 is obtained. Addresses at which interpolation coefficients for vertices A, B, C, D, E, F, G, and H are stored are respectively A A , A B , A C , A D , A E , A F , A G , A If H , then: Here, the address of the block table obtained by the control unit 70 is “a”.
A A = a + (R H -R B) + m (G H -G B) + m 2 (B H -B B)
A B = a + (R H + 1-R B) + m (G H -G B) + m 2 (B H -B B)
A C = a + (R H + 1-R B) + m (G H -G B) + m 2 (B H + 1-B B)
A D = a + (R H -R B) + m (G H -G B) + m 2 (B H + 1-B B)
A E = a + (R H -R B) + m (G H + 1-G B) + m 2 (B H -B B)
A F = a + (R H + 1-R B) + m (G H + 1-G B) + m 2 (B H -B B)
A G = a + (R H + 1−R B ) + m (G H + 1−G B ) + m 2 (B H + 1−B B )
A H = a + (R H -R B) + m (G H + 1-G B) + m 2 (B H + 1-B B)

そして、入力画素値が含まれる四面体と、アドレスA、A、A、Aとの関係は、次のようになる。
四面体ABCGの場合、A=A,A=A,A=A,A=A
四面体ABFGの場合、A=A,A=A,A=A,A=A
四面体ACDGの場合、A=A,A=A,A=A,A=A
四面体ADGHの場合、A=A,A=A,A=A,A=A
四面体AEFGの場合、A=A,A=A,A=A,A=A
四面体AEGHの場合、A=A,A=A,A=A,A=A
The relationship between the tetrahedron including the input pixel value and the addresses A 0 , A 1 , A 2 , A 3 is as follows.
For tetrahedron ABCG, A 0 = A A , A 1 = A B , A 2 = A C , A 3 = A G
For tetrahedron ABFG, A 0 = A A , A 1 = A B , A 2 = A F , A 3 = A G
In the case of tetrahedron ACDG, A 0 = A A , A 1 = A C , A 2 = A D , A 3 = AG
In the case of tetrahedron ADGH, A 0 = A A , A 1 = A D , A 2 = A G , A 3 = A H
In the case of tetrahedron AEFG, A 0 = A A , A 1 = A E , A 2 = A F , A 3 = A G
In the case of tetrahedron AEGH, A 0 = A A , A 1 = A E , A 2 = A G , A 3 = A H

次に、補間処理部80は、ブロックテーブルを参照し、アドレスAから補間係数Y、M、C、Kを、アドレスAから補間係数Y、M、C、Kを、アドレスAから補間係数Y、M、C、Kを、アドレスAから補間係数Y、M、C、Kをそれぞれ取り出す(ステップ204)。 Then, the interpolation processing unit 80, with reference to the block table, the address A 0 from the interpolation coefficients Y 0, M 0, C 0 , the K 0, interpolated from the address A 1 coefficients Y 1, M 1, C 1 , K 1, take out the interpolation coefficients Y 2, M 2, C 2 , K 2 from the address a 2, the address a 3 from the interpolation coefficients Y 3, M 3, C 3 , K 3 , respectively (step 204).

また、補間処理部80は、補間係数Y、M、C、Kに対する乗算係数Wy、Wm、Wc、Wk、補間係数Y、M、C、Kに対する乗算係数Wy、Wm、Wc、Wk、補間係数Y、M、C、Kに対する乗算係数Wy、Wm、Wc、Wk、補間係数Y、M、C、Kに対する乗算係数Wy、Wm、Wc、Wkをそれぞれ求める(ステップ205)。 Further, the interpolation processing unit 80 performs multiplication coefficients Wy 0 , Wm 0 , Wc 0 , Wk 0 , and interpolation coefficients Y 1 , M 1 , C 1 , K 1 for the interpolation coefficients Y 0 , M 0 , C 0 , K 0 . Multiplication coefficients Wy 1 , Wm 1 , Wc 1 , Wk 1 , interpolation coefficients Y 2 , M 2 , C 2 , K 2 , multiplication coefficients Wy 2 , Wm 2 , Wc 2 , Wk 2 , interpolation coefficients Y 3 , M 3 , Multiplication coefficients Wy 3 , Wm 3 , Wc 3 , and Wk 3 for C 3 and K 3 are obtained (step 205).

これらの乗算係数は、例えば、次のようにして求められる。即ち、まず、点Pを入力画素値とし、点Pを含む四面体の頂点のうち、補間係数Y、M、C、Kに対応する頂点をP、補間係数Y、M、C、Kに対応する頂点をP、補間係数Y、M、C、Kに対応する頂点をP、補間係数Y、M、C、Kに対応する頂点をPとする。そして、PとPとを結ぶ直線がPに対向する面と交わる点をP’、PとPとを結ぶ直線がPに対向する面と交わる点をP’、PとPとを結ぶ直線がPに対向する面と交わる点をP’、PとPとを結ぶ直線がPに対向する面と交わる点をP’として、次のような計算を行う。 These multiplication coefficients are obtained as follows, for example. That is, first, the point P is set as the input pixel value, and among the vertices of the tetrahedron including the point P, the vertices corresponding to the interpolation coefficients Y 0 , M 0 , C 0 , K 0 are P 0 , the interpolation coefficients Y 1 , M 1 , C 1 , K 1 vertices corresponding to P 1 , interpolation coefficients Y 2 , M 2 , C 2 , K 2 vertices corresponding to P 2 , interpolation coefficients Y 3 , M 3 , C 3 , K 3 the corresponding vertex and P 3. Then, P 0 and P the point at which the straight line intersects the surface facing the P 0 connecting the P 0 ', P 1 a point where the straight line intersects the surface facing the P 1 connecting the P 1 and P', P 2 P 2 straight line connecting the P is a point of intersection with the surface facing the P 2 and 'a point at which a straight line connecting the P 3 and P intersects the surface facing the P 3 P 3' as the calculation as follows I do.

Figure 2006203532
Figure 2006203532

そして、補間処理部80は、補間係数Y、Y、Y、Yと乗算係数Wy、Wy、Wy、WyとからYを、補間係数M、M、M、Mと乗算係数Wm、Wm、Wm、WmとからMを、補間係数C、C、C、Cと乗算係数Wc、Wc、Wc、WcとからCを、補間係数K、K、K、Kと乗算係数Wk、Wk、Wk、WkとからKを、それぞれ次のようにして求める。 Then, the interpolation processing unit 80 converts Y from the interpolation coefficients Y 0 , Y 1 , Y 2 , Y 3 and the multiplication coefficients Wy 0 , Wy 1 , Wy 2 , Wy 3 to the interpolation coefficients M 0 , M 1 , M 2. , M 3 and multiplication coefficients Wm 0 , Wm 1 , Wm 2 , Wm 3 and M to interpolation coefficients C 0 , C 1 , C 2 , C 3 and multiplication coefficients Wc 0 , Wc 1 , Wc 2 , Wc 3 To C and K from the interpolation coefficients K 0 , K 1 , K 2 , K 3 and the multiplication coefficients Wk 0 , Wk 1 , Wk 2 , Wk 3 , respectively, are obtained as follows.

Figure 2006203532
Figure 2006203532

最後に、補間処理部80は、この求めたY、M、C、Kを、画素出力部90に出力する(ステップ207)。
これにより、画素出力部90が実際の出力画素を出力する。
以上により、第1の実施の形態の動作が終了する。
Finally, the interpolation processing unit 80 outputs the obtained Y, M, C, and K to the pixel output unit 90 (step 207).
Thereby, the pixel output unit 90 outputs an actual output pixel.
Thus, the operation of the first embodiment is completed.

このように、本実施の形態では、所定の色空間から異なる色空間への色変換を行うための第1変換テーブルの特定の部分を、格子点を疎に配置して第2変換テーブルとして記憶するようにした。これにより、処理の速度や精度を低下させることなく、高画質化の要求に応じた色変換を行えるようになる。特に、第2変換テーブル保持部61をASIC内部に設け、第1変換テーブル保持部50をASIC外部のメインメモリ等で実現すれば、コスト及び速度の面で多大な効果を得ることができる。   Thus, in this embodiment, a specific portion of the first conversion table for performing color conversion from a predetermined color space to a different color space is stored as a second conversion table with sparsely arranged grid points. I tried to do it. This makes it possible to perform color conversion in response to a request for high image quality without reducing the processing speed and accuracy. In particular, if the second conversion table holding unit 61 is provided inside the ASIC and the first conversion table holding unit 50 is realized by a main memory or the like outside the ASIC, a great effect in terms of cost and speed can be obtained.

(第2の実施の形態)
本発明の第2の実施の形態における色変換装置の構成は、図1に示した第1の実施の形態における構成と略同様である。第2変換テーブル保持部61に記憶された第2インデックステーブルの内容と、それに応じた制御部70の動作が異なるのみである。
図14は、本実施の形態における第2インデックステーブルの一例を示したものである。本実施の形態における第2インデックステーブルでは、第1の実施の形態における第2インデックステーブルにおける情報に加え、入力画像上の入力画素の位置情報が、その入力画素の画素値の変換に際して参照した第2ブロックテーブルのブロックインデックスに対し記憶される。
(Second embodiment)
The configuration of the color conversion apparatus in the second embodiment of the present invention is substantially the same as the configuration in the first embodiment shown in FIG. The only difference is the contents of the second index table stored in the second conversion table holding unit 61 and the operation of the control unit 70 corresponding thereto.
FIG. 14 shows an example of the second index table in the present embodiment. In the second index table in the present embodiment, in addition to the information in the second index table in the first embodiment, the position information of the input pixel on the input image is referred to when the pixel value of the input pixel is converted. Stored for the block index of the two-block table.

例えば、入力画像上の画素は、各ライン内では左から右への方向(主走査方向)で、ラインについては上から下への方向(副走査方向)で入力されるものとする。この場合、あるラインの入力画素の画素値と、その1つ上のラインの同じ主走査位置の画素の画素値とは、近似する可能性が高い。本実施の形態では、この傾向を利用して、第2変換テーブル保持部61の第2インデックステーブルに主走査位置Xの情報を加え、第2変換テーブル保持部61を参照する際の処理を効率化している。   For example, it is assumed that the pixels on the input image are input in the direction from left to right (main scanning direction) in each line, and the line is input in the direction from top to bottom (sub scanning direction). In this case, the pixel value of the input pixel on a certain line and the pixel value of the pixel at the same main scanning position on the line immediately above are highly likely to approximate. In the present embodiment, by utilizing this tendency, information on the main scanning position X is added to the second index table of the second conversion table holding unit 61 and the processing when referring to the second conversion table holding unit 61 is made efficient. It has become.

具体的には、図11のステップ102において、制御部70は次のような処理を行う。
即ち、まず、変換対象の入力画素値の元となる入力画素の主走査位置Xを取得する。これは、入力画素値と共に画素入力部10等を介して制御部70に渡されているものとする。そして、図14に示した第2インデックステーブルのエントリの中で、取得した主走査位置Xに最も近い主走査位置が記憶されたエントリを優先的に参照する。
Specifically, in step 102 of FIG. 11, the control unit 70 performs the following processing.
That is, first, the main scanning position X of the input pixel that is the source of the input pixel value to be converted is acquired. This is assumed to be transferred to the control unit 70 via the pixel input unit 10 and the like together with the input pixel value. Then, among the entries of the second index table shown in FIG. 14, the entry in which the main scanning position closest to the acquired main scanning position X is preferentially referenced.

ところで、図14では、第2インデックステーブルの主走査位置が1つのエントリに複数個格納されている。勿論、主走査位置が1個だけの場合も考えられるが、通常は、同じブロックテーブルを参照することになる色は同じ画像中に何回も現れることが多いと考えられるからである。ところで、このように複数の主走査位置が格納されている場合の優先するエントリの決め方としては、取得した主走査位置Xと、第2インデックステーブルに格納された主走査位置(例えば、X00,X01,…)のそれぞれとの差の平均値を算出し、その平均値が最も小さいエントリを優先的に参照する等の方法が考えられる。 Incidentally, in FIG. 14, a plurality of main scanning positions of the second index table are stored in one entry. Of course, there may be a case where there is only one main scanning position, but normally, it is considered that colors that refer to the same block table often appear several times in the same image. By the way, as a method of determining a priority entry when a plurality of main scanning positions are stored in this way, the acquired main scanning position X and the main scanning positions stored in the second index table (for example, X 00 , X 01 ,...) Is calculated as an average value and an entry having the smallest average value is preferentially referred to.

このように、本実施の形態では、第1変換テーブルの特定の部分の格子点を疎に配置して得られた第2変換テーブルにおいて、入力画像上の画素の位置も管理するようにした。これにより、第1変換テーブルを用いるべきか第2変換テーブルを用いるべきかの判断を効率良く行うことができる。   As described above, in the present embodiment, the position of the pixel on the input image is also managed in the second conversion table obtained by sparsely arranging the lattice points of specific portions of the first conversion table. This makes it possible to efficiently determine whether to use the first conversion table or the second conversion table.

尚、これまで述べた第1及び第2の実施の形態では、第1変換テーブル保持部50に保持された第1変換テーブルの特定の部分について、格子点を疎に配置したものを第2変換テーブルとして第2変換テーブル保持部61に保持していた。しかしながら、第2変換テーブル保持部61の容量が許すならば、第1変換テーブルの全体について、格子点を疎に配置したものを第2変換テーブルとして保持するようにしてもよい。
また、第1変換テーブル保持部50には、所定の色空間全体の情報を保持するのではなく、第2変換テーブルで対応できない部分の情報のみを保持するようにしてもよい。
また、以上の説明では、第1変換テーブルにおいて格子点を疎に配置したものを第2変換テーブルとしたが、種々の方法により第1変換テーブルの情報量を削減したものを第2変換テーブルとして捉えることもできる。
In the first and second embodiments described so far, the second conversion is performed by sparsely arranging the lattice points for a specific portion of the first conversion table held in the first conversion table holding unit 50. It was held in the second conversion table holding unit 61 as a table. However, if the capacity of the second conversion table holding unit 61 allows, the entire first conversion table may be stored as a second conversion table in which grid points are sparsely arranged.
Further, the first conversion table holding unit 50 may hold only information on a portion that cannot be supported by the second conversion table, instead of holding information on the entire predetermined color space.
In the above description, the sparsely arranged grid points in the first conversion table are used as the second conversion table. However, information obtained by reducing the amount of information in the first conversion table by various methods is used as the second conversion table. It can also be captured.

ところで、第1及び第2の実施の形態では、第2変換テーブル保持部61に第2変換テーブルの一部として記憶された第2インデックステーブルを参照して、第1変換テーブルを用いるべきか第2変換テーブルを用いるべきかを判断するようにしたが、この判断方法としては、他にも種々のものが考えられる。
例えば、この第2インデックステーブルに相当する情報を制御部70が保持し、それに基づいて判断するようにしてもよい。また、第1変換テーブルを参照するか第2変換テーブルを参照するかを外部から入力し、例えば、レジスタに記憶し、これに基づいて判断してもよい。或いは、入力画素値に基づいて、その画素値が線形の傾向を有する部分空間に存在するか非線形の傾向を有する部分空間に存在するかを計算によって求め、その結果により判断することも可能である。更には、入力画素値にタグを使用して「0」なら第1変換テーブルを、「1」なら第2変換テーブルを参照するように決定するといった方法も考えられる。
結局、第1変換テーブルを用いるか第2変換テーブルを用いるかは、第1変換テーブル保持部50(大容量、低速動作、低コスト)と第2変換テーブル保持部61(小容量、高速動作、高コスト)の性質のトレードオフであり、任意に決定するようにしてよい。
By the way, in the first and second embodiments, whether the first conversion table should be used with reference to the second index table stored in the second conversion table holding unit 61 as a part of the second conversion table. Although it is determined whether or not the two conversion table should be used, various other determination methods are conceivable.
For example, the information corresponding to the second index table may be held by the control unit 70 and determined based on the information. Also, whether to refer to the first conversion table or the second conversion table may be input from the outside, stored in a register, for example, and determined based on this. Alternatively, based on the input pixel value, it is possible to determine whether the pixel value exists in a subspace having a linear tendency or in a subspace having a non-linear tendency by calculation, and can determine based on the result. . Furthermore, a method may be considered in which a tag is used for the input pixel value and the first conversion table is determined to be referred to if it is “0” and the second conversion table is referred to if it is “1”.
In the end, whether to use the first conversion table or the second conversion table depends on the first conversion table holding unit 50 (large capacity, low speed operation, low cost) and the second conversion table holding unit 61 (small capacity, high speed operation, It is a trade-off of the nature of (high cost) and may be determined arbitrarily.

尚、本実施の形態では、一時記憶部60は、第1変換テーブルの一度参照した情報をキャッシュするために設けたが、その一部を、第2変換テーブルの一度参照した情報をキャッシュするために割り当ててもよい。
また、第1変換テーブル保持部50からの情報の読み込み速度が問題にならないのであれば、一時記憶部60を設けない構成としてもよい。
In the present embodiment, the temporary storage unit 60 is provided to cache the information once referred to in the first conversion table. However, a part of the temporary storage unit 60 is used to cache the information once referred to in the second conversion table. May be assigned.
Further, if the reading speed of information from the first conversion table holding unit 50 is not a problem, the temporary storage unit 60 may be omitted.

更に、以上の説明では、色変換を行う際に参照する情報として、テーブル形式のものを想定したが、例えば、ニューラルネットワーク等、その他のいかなる情報に基づく色変換に対しても本発明は適用可能である。
更にまた、上記では、本実施の形態の中核部分をLSIで実現することとしたが、同じ機能をコンピュータプログラムで実現することも可能である。即ち、コンピュータの図示しないCPUが、インデックス変換部20、デルタ変換部30、制御部70、補間処理部80等の機能を実現するプログラムを、図示しない磁気ディスク装置からメインメモリに読み込むことによって各機能を実現するようにしてもよい。
Furthermore, in the above description, information in a table format is assumed as information to be referred to when performing color conversion. However, the present invention can be applied to color conversion based on any other information such as a neural network. It is.
Furthermore, in the above description, the core part of the present embodiment is realized by an LSI, but the same function can also be realized by a computer program. That is, the CPU (not shown) of the computer reads each program that realizes the functions of the index conversion unit 20, the delta conversion unit 30, the control unit 70, the interpolation processing unit 80, etc. from the magnetic disk device (not shown) into the main memory. May be realized.

本発明の実施の形態における色変換装置の構成を示したブロック図である。It is the block diagram which showed the structure of the color conversion apparatus in embodiment of this invention. 本発明の実施の形態における色空間の分割について説明するための図である。It is a figure for demonstrating the division | segmentation of the color space in embodiment of this invention. 本発明の実施の形態における色空間の分割について説明するための図である。It is a figure for demonstrating the division | segmentation of the color space in embodiment of this invention. 本発明の実施の形態における色空間の分割について説明するための図である。It is a figure for demonstrating the division | segmentation of the color space in embodiment of this invention. 本発明の実施の形態におけるRGB色空間の各格子点を一次元に並べる方法の一例を示した図である。It is the figure which showed an example of the method of arranging each lattice point of RGB color space in one dimension in embodiment of this invention. 本発明の実施の形態における第1変換テーブルの内容及びRGB色空間における格子点との対応の一例を示した図である。It is the figure which showed an example of the response | compatibility with the content of the 1st conversion table in embodiment of this invention, and the lattice point in RGB color space. 本発明の実施の形態におけるRGB色空間から切り出されたブロックの各格子点を一次元に並べる方法の一例を示した図である。It is the figure which showed an example of the method of arranging each lattice point of the block cut out from the RGB color space in one embodiment in one dimension. 本発明の実施の形態における第1インデックステーブルの内容の一例と、第1ブロックテーブルの内容及びRGB色空間における格子点との対応の一例とを示した図である。It is the figure which showed an example of the content of the 1st index table in embodiment of this invention, and an example of a response | compatibility with the content of the 1st block table, and the grid point in RGB color space. 本発明の実施の形態におけるRGB色空間内の特定のブロックの各格子点を一次元に並べる方法の一例を示した図である。It is the figure which showed an example of the method which arranges each lattice point of the specific block in RGB color space in embodiment of this invention in one dimension. 本発明の実施の形態における第2インデックステーブルの内容の一例と、第2ブロックテーブルの内容及びRGB色空間における格子点との対応の一例とを示した図である。It is the figure which showed an example of the content of the 2nd index table in embodiment of this invention, and an example of a response | compatibility with the content of the 2nd block table, and the grid point in RGB color space. 本発明の実施の形態における制御部の動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the control part in embodiment of this invention. 本発明の実施の形態における補間処理部の動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the interpolation process part in embodiment of this invention. 本発明の実施の形態における補間処理を具体的に説明するための図である。It is a figure for demonstrating specifically the interpolation process in embodiment of this invention. 本発明の第2の実施の形態における第2インデックステーブルの内容の一例を示した図である。It is the figure which showed an example of the content of the 2nd index table in the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

10…画素入力部、20…インデックス変換部、30…デルタ変換部、40…入力バッファ、50…第1変換テーブル保持部、60…一時記憶部、61…第2変換テーブル保持部、70…制御部、80…補間処理部、90…画素出力部 DESCRIPTION OF SYMBOLS 10 ... Pixel input part, 20 ... Index conversion part, 30 ... Delta conversion part, 40 ... Input buffer, 50 ... 1st conversion table holding part, 60 ... Temporary storage part, 61 ... 2nd conversion table holding part, 70 ... Control , 80... Interpolation processing unit, 90... Pixel output unit

Claims (9)

第1の色空間で表現された画素値から第2の色空間で表現された画素値への変換を行う色変換装置であって、
前記変換の際に参照される第1の情報の情報量を削減して得られた第2の情報を記憶する記憶手段と、
前記第1の色空間で表現された第1の画素値を変換するために前記第1の情報を参照すべきか前記第2の情報を参照すべきかを、当該第1の画素値に基づいて決定する処理手段と
を備えたことを特徴とする色変換装置。
A color conversion device that performs conversion from a pixel value expressed in a first color space to a pixel value expressed in a second color space,
Storage means for storing second information obtained by reducing the amount of information of the first information referred to in the conversion;
Whether to refer to the first information or the second information to convert the first pixel value expressed in the first color space is determined based on the first pixel value. And a color conversion device.
前記第1の情報は、前記第1の色空間で表現された画素値と前記第2の色空間で表現された画素値との所定数の対応関係を示す第1の変換テーブルであり、
前記第2の情報は、前記第1の色空間で表現された画素値と前記第2の色空間で表現された画素値との前記所定数よりも少ない数の対応関係を示す第2の変換テーブルであることを特徴とする請求項1記載の色変換装置。
The first information is a first conversion table indicating a predetermined number of correspondences between pixel values expressed in the first color space and pixel values expressed in the second color space;
The second information is a second transformation that indicates a correspondence relationship between the pixel value expressed in the first color space and the pixel value expressed in the second color space that is smaller than the predetermined number. The color conversion apparatus according to claim 1, wherein the color conversion apparatus is a table.
前記処理手段は、前記第1の画素値の前記第1の色空間内の位置に基づいて、前記第1の情報を参照すべきか前記第2の情報を参照すべきかを決定することを特徴とする請求項1記載の色変換装置。   The processing means determines whether to refer to the first information or the second information based on a position of the first pixel value in the first color space. The color conversion device according to claim 1. 前記処理手段は、前記第1の画素値の変化に対する前記第2の色空間内の対応する画素値の変化の傾向が非線形の場合に、前記第1の情報を参照するよう決定し、当該傾向が線形の場合に、前記第2の情報を参照するよう決定することを特徴とする請求項1記載の色変換装置。   The processing means determines to refer to the first information when the tendency of the change in the corresponding pixel value in the second color space with respect to the change in the first pixel value is nonlinear, and the tendency 2. The color conversion apparatus according to claim 1, wherein the second information is determined to be referred to when the second information is linear. 前記処理手段は、所定の画像における特定の画素の画素値を前記第2の情報を参照して変換するに当たり、当該第2の情報のうち、当該画像上で当該特定の画素の近傍に位置する他の画素の画素値の変換に必要な部分を、優先的に参照することを特徴とする請求項1記載の色変換装置。   When the processing means converts the pixel value of a specific pixel in a predetermined image with reference to the second information, the processing means is located in the vicinity of the specific pixel on the image in the second information. 2. The color conversion apparatus according to claim 1, wherein a part necessary for conversion of a pixel value of another pixel is preferentially referred to. 第1の色空間で表現された画素値から第2の色空間で表現された画素値への変換を行う色変換方法であって、
前記第1の色空間で表現された第1の画素値を受け付けるステップと、
受け付けた前記第1の画素値が所定の基準を満たさない場合には、第1の情報を用いて得られた前記第2の色空間内の画素値を出力し、当該第1の画素値が当該基準を満たす場合には、当該第1の情報の情報量を削減して得られた第2の情報を用いて得られた前記第2の色空間内の画素値を出力するステップと
を含むことを特徴とする色変換方法。
A color conversion method for performing conversion from a pixel value expressed in a first color space to a pixel value expressed in a second color space,
Receiving a first pixel value expressed in the first color space;
When the received first pixel value does not satisfy a predetermined criterion, the pixel value in the second color space obtained using the first information is output, and the first pixel value is Outputting the pixel value in the second color space obtained by using the second information obtained by reducing the information amount of the first information if the criterion is satisfied. A color conversion method characterized by that.
前記出力するステップでは、前記第1の画素値の変化に対する前記第2の色空間内の対応する画素値の変化の傾向が非線形の場合に、前記第1の情報を用いて得られた画素値を出力し、当該傾向が線形の場合に、前記第2の情報を用いて得られた画素値を出力することを特徴とする請求項6記載の色変換方法。   In the outputting step, the pixel value obtained by using the first information when the tendency of the change of the corresponding pixel value in the second color space with respect to the change of the first pixel value is nonlinear 7. The color conversion method according to claim 6, further comprising: outputting a pixel value obtained by using the second information when the tendency is linear. コンピュータに、
第1の色空間で表現された第1の画素値を受け付ける機能と、
受け付けた前記第1の画素値が所定の基準を満たさない場合には、第1の情報を用いて得られた前記第2の色空間内の画素値を出力し、当該第1の画素値が当該基準を満たす場合には、当該第1の情報の情報量を削減して得られた第2の情報を用いて得られた前記第2の色空間内の画素値を出力する機能と
を実現させるためのプログラム。
On the computer,
A function of accepting a first pixel value expressed in a first color space;
When the received first pixel value does not satisfy a predetermined criterion, the pixel value in the second color space obtained using the first information is output, and the first pixel value is When the criterion is satisfied, a function of outputting the pixel value in the second color space obtained by using the second information obtained by reducing the information amount of the first information is realized. Program to let you.
前記出力する機能では、前記第1の画素値の変化に対する前記第2の色空間内の対応する画素値の変化の傾向が非線形の場合に、前記第1の情報を用いて得られた画素値を出力させ、当該傾向が線形の場合に、前記第2の情報を用いて得られた画素値を出力させることを特徴とする請求項8記載のプログラム。   In the output function, the pixel value obtained using the first information when the tendency of the change of the corresponding pixel value in the second color space with respect to the change of the first pixel value is nonlinear The program according to claim 8, wherein when the tendency is linear, the pixel value obtained by using the second information is output.
JP2005012800A 2005-01-20 2005-01-20 Color conversion apparatus, color conversion method, and program Expired - Fee Related JP4529702B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005012800A JP4529702B2 (en) 2005-01-20 2005-01-20 Color conversion apparatus, color conversion method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005012800A JP4529702B2 (en) 2005-01-20 2005-01-20 Color conversion apparatus, color conversion method, and program

Publications (2)

Publication Number Publication Date
JP2006203532A true JP2006203532A (en) 2006-08-03
JP4529702B2 JP4529702B2 (en) 2010-08-25

Family

ID=36961144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005012800A Expired - Fee Related JP4529702B2 (en) 2005-01-20 2005-01-20 Color conversion apparatus, color conversion method, and program

Country Status (1)

Country Link
JP (1) JP4529702B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008259177A (en) * 2007-03-30 2008-10-23 Toshiba Corp Color conversion device, color conversion method, color conversion program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131668A (en) * 1993-10-30 1995-05-19 Ricoh Co Ltd Image processor
JPH10191090A (en) * 1996-10-24 1998-07-21 Seiko Epson Corp Apparatus and method for manufacturing color conversion table, and recording medium
JPH10200772A (en) * 1997-01-14 1998-07-31 Fuji Xerox Co Ltd Color image forming device
JPH10224648A (en) * 1997-02-07 1998-08-21 Canon Inc Picture processor and picture processing method
JP2003110869A (en) * 2001-03-12 2003-04-11 Sharp Corp Image processor, image forming device, image processing method, program and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131668A (en) * 1993-10-30 1995-05-19 Ricoh Co Ltd Image processor
JPH10191090A (en) * 1996-10-24 1998-07-21 Seiko Epson Corp Apparatus and method for manufacturing color conversion table, and recording medium
JPH10200772A (en) * 1997-01-14 1998-07-31 Fuji Xerox Co Ltd Color image forming device
JPH10224648A (en) * 1997-02-07 1998-08-21 Canon Inc Picture processor and picture processing method
JP2003110869A (en) * 2001-03-12 2003-04-11 Sharp Corp Image processor, image forming device, image processing method, program and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008259177A (en) * 2007-03-30 2008-10-23 Toshiba Corp Color conversion device, color conversion method, color conversion program

Also Published As

Publication number Publication date
JP4529702B2 (en) 2010-08-25

Similar Documents

Publication Publication Date Title
US20100177105A1 (en) Methods of and apparatus for processing graphics
JP4564718B2 (en) 3-D computer graphics rendering system
JP4789753B2 (en) Image data buffer device, image transfer processing system, and image data buffer method
US7764833B2 (en) Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same
WO2011052117A1 (en) Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files
US8855438B2 (en) Image processing apparatus, image processing method of image processing apparatus, and program
JP2010220118A (en) Image processing apparatus and method
JP2014155164A (en) Image processing device, image processing method, and image processing program
JP2011091769A (en) Image file generating device, image processing device, image file generating method, image processing method, and data structure for image file
US7555170B2 (en) Image processing apparatus for scaling images
EP1237122A2 (en) Method and apparatus for image processing
JP5296656B2 (en) Image processing apparatus and image processing method
JP4529702B2 (en) Color conversion apparatus, color conversion method, and program
US20140212057A1 (en) Methods for visual content processing , and systems and computer program codes thereto
US8451283B2 (en) Data management for image processing
JP5267147B2 (en) Image processing apparatus, image processing method, and computer program
JP2006203521A (en) Color conversion apparatus, color conversion method, and program
CN106658121A (en) Method and system for set-top box to display fingerprint information
US5760787A (en) Data storage format
US7573482B2 (en) Method for reducing memory consumption when carrying out edge enhancement in multiple beam pixel apparatus
EP3424205A1 (en) Variable resolution lookup table for accelerated color conversion
US20080055319A1 (en) Apparatus and Method of Conversing Data
JP2000187726A (en) Data interpolation method and its device and storage medium
JPH10191090A (en) Apparatus and method for manufacturing color conversion table, and recording medium
JP2009122841A (en) Image list image construction device, recording medium and image forming apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100311

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100531

R150 Certificate of patent or registration of utility model

Ref document number: 4529702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140618

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees