JP2000196903A - Method and device for color conversion - Google Patents

Method and device for color conversion

Info

Publication number
JP2000196903A
JP2000196903A JP10374281A JP37428198A JP2000196903A JP 2000196903 A JP2000196903 A JP 2000196903A JP 10374281 A JP10374281 A JP 10374281A JP 37428198 A JP37428198 A JP 37428198A JP 2000196903 A JP2000196903 A JP 2000196903A
Authority
JP
Japan
Prior art keywords
register
data
storing
grid point
color conversion
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
JP10374281A
Other languages
Japanese (ja)
Other versions
JP3927715B2 (en
Inventor
Kazuhiro Saito
和浩 齋藤
Tadayoshi Nakayama
忠義 中山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP37428198A priority Critical patent/JP3927715B2/en
Publication of JP2000196903A publication Critical patent/JP2000196903A/en
Application granted granted Critical
Publication of JP3927715B2 publication Critical patent/JP3927715B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To perform color conversion at high speed by performing arithmetic interpolation in parallel in the course of a color converting process which is performed by also using arithmetic interpolation for a lookup table. SOLUTION: The lattice point data corresponding to the maximum value, intermediate value, and minimum value of the low-order bit data of inputted color data indicating each term of an arithmetic interpolation formula and the relations among the values are respectively stored in prescribed registers 402, 404, and 406 are registers 403, 405, and 407. Consequently, the appearance of a condition branching process resulting from the magnitudious relation among the values in the succeeding sum of products operation (registers 408, 409, and 410) can be prevented. Therefore, parallel processing becomes possible, because interpolation can be made through one unitary operation.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ルックアップテー
ブル(以下、「LUT」ともいう)に補間演算処理を併
用して複数(多次元)の色信号を別の色信号に変換する
色変換方法および色変換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a color conversion method for converting a plurality of (multi-dimensional) color signals into different color signals by using a lookup table (hereinafter also referred to as "LUT") together with an interpolation operation. And a color conversion device.

【0002】[0002]

【従来の技術】ディジタル化された画像信号のガンマ変
換やlog変換といった非線形変換は、LUTを用いて
行なわれることが多い。これは、上述のような非線形変
換を演算回路で求めようとすると、その演算が比較的複
雑なものになり、また、処理時間も長くなるからであ
る。また、このようなLUTは、例えば、8ビットのビ
デオ信号に何らかの非線形変換を行なう場合、256バ
イトの容量のメモリがあれば実現することが出来る。因
に、この8ビットビデオ信号に対する変換は1つの画像
信号を別の性質のもう1つの画像信号に変換するもので
あるため、そこで使用されるLUTは1次元LUTと呼
ばれる。
2. Description of the Related Art Non-linear conversion such as gamma conversion and log conversion of a digitized image signal is often performed using an LUT. This is because if the above-described non-linear conversion is to be obtained by an arithmetic circuit, the calculation becomes relatively complicated and the processing time becomes long. Further, such an LUT can be realized if a memory having a capacity of 256 bytes is used, for example, when performing some kind of non-linear conversion on an 8-bit video signal. Incidentally, since the conversion for the 8-bit video signal is for converting one image signal into another image signal having another property, the LUT used there is called a one-dimensional LUT.

【0003】ところで、最近のデスクトップパブリッシ
ング(以下、「DTP」と略す)環境の著しい進歩に伴
い、誰もが容易にカラー画像をあつかうことが出来るよ
うになりつつある。DTPにおけるカラー画像の入力機
器は、スキャナ、ビデオカメラ等が主であり、出力機器
はインクジェット、染料熱昇華型あるいは電子写真等の
それぞれの方式による各種カラープリンタ等である。こ
れらのカラー入,出力機器は、それぞれ固有の色空間を
有しており、例えばあるスキャナで得たカラー画像デー
タを、そのまま別のカラープリンタに転送して、画像を
出力した場合、その画像の色がスキャナによって読取ら
れたオリジナルの画像の色と一致することはほとんどな
い。両者の色を一致させるには、いわゆる入力デバイス
(入力機器)の色空間を、出力デバイス(出力機器)の
色空間に変換するといった処理が必要になる(以下で
は、この処理を「色変換処理」と称す)。
[0003] With the recent remarkable progress in the desktop publishing (hereinafter abbreviated as "DTP") environment, anyone can easily handle color images. Input devices for color images in DTP are mainly scanners, video cameras, and the like, and output devices are various color printers and the like using respective systems such as inkjet, dye thermal sublimation, and electrophotography. Each of these color input / output devices has a unique color space. For example, when color image data obtained by a certain scanner is directly transferred to another color printer and an image is output, The colors rarely match the colors of the original image read by the scanner. In order to match the two colors, a process of converting a color space of a so-called input device (input device) into a color space of an output device (output device) is required (hereinafter, this process is referred to as a “color conversion process”). ").

【0004】この色変換処理は、具体的には、入力γ補
正,輝度濃度変換,マスキング,黒生成,UCR,出力
γ補正等の一連の画像処理の全体、もしくはその中の一
定の処理をいうが、入力デバイスの3色(一般的には、
Red,Blue,Greenの3色、以下、それぞれ
「R」,「G」,「B」と略す)の画像信号を同時に参
照して、出力デバイス側の3色(例えば、シアン,マゼ
ンタ,イエロー)あるいは4色(例えば、シアン,マゼ
ンタ,イエロー,ブラック)の画像信号に変換するもの
である。
The color conversion processing specifically refers to a whole series of image processing such as input γ correction, luminance / density conversion, masking, black generation, UCR, output γ correction, or a fixed processing therein. However, the three colors of the input device (generally,
By simultaneously referring to image signals of three colors of Red, Blue, and Green (hereinafter, abbreviated as "R", "G", and "B"), three colors (e.g., cyan, magenta, and yellow) on the output device side are referred to. Alternatively, the image signal is converted into an image signal of four colors (for example, cyan, magenta, yellow, and black).

【0005】この入力デバイスの3色の画像信号を、出
力デバイスの複数色中の1色に変換する処理を、LUT
だけを用いて行なうとすると、画像信号1色が8ビット
で表わされる場合、入力24ビット、出力8ビットのL
UTとなり16M(メガ)バイトの容量のメモリが必要
になる。その上、出力デバイスの色数分だけ上述のメモ
リが必要になるため、実際のメモリ容量は、48〜64
Mバイトといった大容量になり、コスト的にも実用的で
はない。
The process of converting the three-color image signal of the input device into one of a plurality of colors of the output device is performed by an LUT.
If one image signal is represented by 8 bits, the L of input 24 bits and output 8 bits is used.
It becomes a UT, and requires a memory of 16 M (mega) bytes. In addition, the above memory is required for the number of colors of the output device.
The capacity is as large as M bytes, which is not practical in terms of cost.

【0006】そこで、LUTを用いた色変換処理では、
補間処理を併用してするのが一般的であり、これによ
り、LUTのためのメモリ容量の大幅な削減を実現して
いる。
Therefore, in the color conversion processing using the LUT,
It is common to use an interpolation process together, thereby achieving a significant reduction in the memory capacity for the LUT.

【0007】LUTを用いた入,出力の対応付けに補間
演算を用いた色変換処理の一従来例を以下に説明する。
A conventional example of a color conversion process using an interpolation operation for input / output correspondence using an LUT will be described below.

【0008】まず、入力色データとして、例えばR,
G,Bの3つの色信号(各色n+mビット)をそれぞれ
Xi=Xh・2m +Xf、Yi=Yh・2m +Yf、Z
i=Zh・2m +Zfと表わす。ここで、Xh,Yh,
ZhはXi,Yi,Ziデータの各々の上位nビット信
号を表わし、Xf,Yf,ZfはXi,Yi,Ziデー
タ各々の下位mビット信号を表わす。
First, as input color data, for example, R,
G, 3 one color signal B (each color n + m bits), respectively Xi = Xh · 2 m + Xf , Yi = Yh · 2 m + Yf, Z
i = Zhi2 m + Zf. Here, Xh, Yh,
Zh represents the upper n-bit signal of each of the Xi, Yi, Zi data, and Xf, Yf, Zf represents the lower m-bit signal of each of the Xi, Yi, Zi data.

【0009】LUTには、Xh=0,1,2,・・・,
n −1、Yh=0,1,2,・・・,2n −1、Zh
=0,1,2,・・・,2n −1の全ての組み合わせ
(23n通り)のそれぞれに対して、変換後の色データが
格子点データとして格納されており、この格子点データ
はXh,Yh,Zhを連結した3nビットのアドレス信
号によって読みだされる。
In the LUT, Xh = 0, 1, 2,.
2n- 1, Yh = 0, 1, 2,..., 2n- 1, Zh
= 0, 1, 2,..., 2 n −1, the converted color data is stored as grid point data for each of the combinations (2 3n ways). The data is read by a 3n-bit address signal connecting Xh, Yh, and Zh.

【0010】入力色信号データ(Xi,Yi,Zi)各
々の下位mビット、即ちXf,Yf,Zfが、全て
“0”の場合は、上記のアドレス信号によってLUTか
ら読みだされる格子点データが、そのまま変換後の色デ
ータとなる。そうでない場合には、Xf,Yf,Zfの
値に応じて補間処理が行なわれる。
When the lower m bits of each of the input color signal data (Xi, Yi, Zi), that is, Xf, Yf, Zf are all "0", the grid point data read from the LUT by the above address signal. Is the color data after conversion as it is. Otherwise, the interpolation processing is performed according to the values of Xf, Yf, and Zf.

【0011】この補間演算処理は、格子点データをいく
つ用いるか、又、どのような関係の格子点データを用い
るかによって、いくつかの方法がある。一般的に、格子
点データを多く用いると補間精度は向上するが補間演算
処理が複雑になり、処理時間が長くなる。補間精度をそ
れほど低下させずに比較的簡易な演算処理が可能な補間
方法としては、4点補間と称されるものが従来より知ら
れている。これは4つの格子点データを用いて補間処理
を行なうものであり、例えば特公昭58−16180号
公報において開示されている。以下にその概略を説明す
る。
There are several methods for this interpolation calculation processing, depending on how many pieces of grid point data are used and on what kind of relation grid point data is used. Generally, when a large amount of grid point data is used, the interpolation accuracy is improved, but the interpolation calculation processing is complicated and the processing time is long. As an interpolation method capable of performing relatively simple arithmetic processing without significantly lowering the interpolation accuracy, a method called four-point interpolation has been conventionally known. This performs interpolation processing using four grid point data, and is disclosed, for example, in Japanese Patent Publication No. 58-16180. The outline will be described below.

【0012】下位ビット信号Xf,Yf,Zfが3つと
も0でない場合、すなわち、Xf≠0、Yf≠0、Zf
≠0の場合、変換前の色データは、図1に示すように、
8つの格子点で形成される立方体の中に位置する。この
立方体は、上位ビット信号(Xh,Yh,Zh)で指定
される部分補間空間をなすものであり、また、格子点の
間隔は2m であって、下位ビット信号Xf,Yf,Zf
によって、この立方体の各格子点間を2m 個に分割した
点の1つが規定される。
When all three lower bit signals Xf, Yf, Zf are not 0, ie, Xf ≠ 0, Yf ≠ 0, Zf
In the case of 色 0, the color data before conversion is, as shown in FIG.
It is located in a cube formed by eight grid points. This cube forms a partial interpolation space designated by the upper bit signals (Xh, Yh, Zh), and has a grid point interval of 2 m and lower bit signals Xf, Yf, Zf.
Defines one of the points obtained by dividing each grid point of the cube into 2 m pieces.

【0013】図1に示す立方体を3つの平面(Xf=Y
fで規定される平面、Yf=Zfで規定される平面、お
よびZf=Xfで規定される平面)で分割すると、6つ
の4面体が定義され、各4面体は、例えば図2に示すよ
うに、4つの格子点を有する。変換される入力色データ
により定義される上述の部分補間空間上の点(Xi,Y
i,Zi)はこの6つの4面体のどれか1つに含まれる
ことになる(境界面はその境界を共有する4面体のいず
れかに含まれるものとする)。入力色データ(Xi,Y
i,Zi)がいずれの4面体に属するかは、Xf,Y
f,Zfの大小関係で定まる。例えば入力色データにX
f>Yf>Zfの関係がある場合、入力色データは図2
に示す4面体内に位置し、補間処理に用いられる格子点
の座標は(Xh,Yh,Zh)、(Xh+1,Yh,Z
h)、(Xh+1,Yh+1,Zh)、(Xh+1,Y
h+1,Zh+1)の4点となる。各々の格子点座標に
ついてLUTにより対応付けられるデータ、すなわち格
子点データをdd(X座標,Y座標,Z座標)と表わ
し、入力色データ(Xi,Yi,Zi)に対してLUT
を用いた補間後のデータをP(Xi,Yi,Zi)と表
わすとき、この補間後のデータPは、 P(Xi,Yi,Zi) =2-m{(2m -Xf)・dd(Xh,Yh,Zh)+(Xf-Yf)・dd(Xh+1,Yh,Zh) +(Yf-Zf)・dd(Xh+1,Yh+1,Zh)+ Zf・dd(Xh+1,Yh+1,Zh+1)}…(1) となる。上記補間式は、前述した6つの4面体毎に異な
ることは勿論である。
The cube shown in FIG. 1 is divided into three planes (Xf = Y
f, a plane defined by Yf = Zf, and a plane defined by Zf = Xf), six tetrahedrons are defined, and each tetrahedron is, for example, as shown in FIG. Has four grid points. The point (Xi, Y) on the above-described partial interpolation space defined by the input color data to be converted
i, Zi) is included in any one of these six tetrahedrons (the boundary surface is assumed to be included in any one of the tetrahedrons sharing the boundary). Input color data (Xi, Y
i, Zi) belongs to which tetrahedron, Xf, Y
It is determined by the magnitude relationship between f and Zf. For example, X
When there is a relationship of f>Yf> Zf, the input color data
And (Xh, Yh, Zh), (Xh + 1, Yh, Z)
h), (Xh + 1, Yh + 1, Zh), (Xh + 1, Y
h + 1, Zh + 1). Data associated with each grid point coordinate by the LUT, that is, grid point data is represented as dd (X coordinate, Y coordinate, Z coordinate), and LUT is applied to the input color data (Xi, Yi, Zi).
When the data after interpolation using the expressed and P (Xi, Yi, Zi) , the data P after the interpolation, P (Xi, Yi, Zi ) = 2 -m {(2 m -Xf) · dd ( Xh, Yh, Zh) + (Xf-Yf) ・ dd (Xh + 1, Yh, Zh) + (Yf-Zf) ・ dd (Xh + 1, Yh + 1, Zh) + Zf ・ dd (Xh + 1 , Yh + 1, Zh + 1)} (1) It goes without saying that the above-mentioned interpolation formula is different for each of the above-mentioned six tetrahedrons.

【0014】以上のように、補間演算処理は、(1)式
に示すように、各々の4面体に対応する4つの格子点デ
ータと入力色データの下位ビット信号から生成される係
数データとの積ならびに4つの項の加算処理からなる。
As described above, the interpolation operation is performed, as shown in the equation (1), between the four grid point data corresponding to each tetrahedron and the coefficient data generated from the lower bit signal of the input color data. It consists of product and addition of four terms.

【0015】[0015]

【発明が解決しようとする課題】しかしながら、上記
(1)式からも明らかなように、補間演算処理には、
(Xh,Yh,Zh),……,(Xh+1,Yh+1,
Zh+1)等、LUTから格子点データを読み出す際に
必要なアドレスを演算したり、Xf,Yf,Zfの大小
関係を判定したりする比較処理が必要である。この大小
関係により、用いる格子点データや処理内容が異なり、
このため、例えば複数画素について補間演算を並列に行
うことが困難であるという問題がある。
However, as is apparent from the above equation (1), the interpolation calculation processing includes:
(Xh, Yh, Zh),..., (Xh + 1, Yh + 1,
For example, a comparison process such as Zh + 1) for calculating an address necessary for reading grid point data from the LUT and determining a magnitude relationship between Xf, Yf, and Zf is required. Depending on the magnitude relation, the grid point data to be used and the processing contents differ,
For this reason, for example, there is a problem that it is difficult to perform an interpolation operation on a plurality of pixels in parallel.

【0016】すなわち、上記(1)式の演算精度は16
ビットもあれば十分である。具体的には、格子点データ
のビット数は8〜10ビット、入力下位ビットデータX
f,Yf,Zfのビット数は3〜5ビットである。ま
た、一般的なその他の画像処理についてもほとんどの場
合、演算精度は16ビットもあれば、十分であり、場合
によっては、8ビットの演算精度があればよいこともあ
る。
That is, the calculation accuracy of the above equation (1) is 16
A bit is enough. Specifically, the number of bits of the grid point data is 8 to 10 bits, and the input lower bit data X
The number of bits of f, Yf, and Zf is 3 to 5 bits. In most other general image processing, 16-bit operation accuracy is sufficient, and in some cases, 8-bit operation accuracy may be sufficient.

【0017】これに対して、最近のCPUの性能向上に
は著しいものがあり、その汎用レジスタが32ビットあ
るいは64ビットの長さを有したものであることが通常
となりつつある。このようなレジスタ長は上記補間に係
る画像処理においては、オーバースペックであり、CP
Uの性能を有効に活用していないことにもなる。
On the other hand, there has been a remarkable improvement in the performance of recent CPUs, and it is becoming common for the general-purpose registers to have a length of 32 bits or 64 bits. Such a register length is over-spec in the image processing related to the interpolation,
This means that the performance of U is not effectively utilized.

【0018】一方で、情報処理に関してやりとりされる
情報は、以前のテキストベースから、画像ベースへ変わ
りつつある。このような環境では、JPEGやMPEG
といった画像圧縮伸張処理といったものがより重要にな
ると共に、処理の高速性も要求されることになる。こう
したニーズに応えるため、マルチメディアに対応した機
能を有するCPUが提供されている。すなわち、これら
のCPUでは、64ビットのレジスタを、32ビット×
2、16ビット×4あるいは8ビット×8という構成で
使用することにより、精度の低い演算を一度に複数個並
列処理したり、一度に積和演算を行なうことができる。
On the other hand, information exchanged regarding information processing is changing from the former text base to the image base. In such an environment, JPEG or MPEG
Image compression / decompression processing becomes more important, and high-speed processing is also required. In order to meet such needs, a CPU having a function corresponding to multimedia has been provided. That is, in these CPUs, a 64-bit register is stored in a 32-bit ×
By using a configuration of 2, 16 bits × 4 or 8 bits × 8, a plurality of low-precision operations can be processed in parallel at a time, or a product-sum operation can be performed at a time.

【0019】例えば、上述のJPEGやMPEG等の処
理に、上述のマルチメディア対応機能を有効に活用した
例は、よく知られたところである。また、画像中の各画
素に同じような演算処理を行なうフィルタリング等は、
並列処理化が容易で、上記マルチメディア対応機能を有
効に活用することもできる。
For example, it is well known that the above-described multimedia-compatible functions are effectively used in the above-described processing of JPEG, MPEG, and the like. In addition, filtering that performs the same arithmetic processing on each pixel in the image,
Parallel processing is easy, and the multimedia-compatible function can be effectively used.

【0020】しかしながら、下位ビットデータの大小関
係のような条件分岐処理を伴う上述の補間演算は、上記
マルチメディア対応機能を有効に活用することができ
ず、処理の高速化を図ることが比較的難しいという問題
があった。
However, the above-described interpolation operation involving conditional branch processing such as the magnitude relationship of lower-order bit data cannot effectively utilize the multimedia-compatible function, and it is relatively difficult to speed up the processing. There was a problem that it was difficult.

【0021】本発明は、このような問題を解消するため
になされたものであり、その目的とするところは、例え
ばマルチメディア対応機能を有するCPU性能を十分に
活用して補間演算の並列処理を実現することが可能な色
変換方法および色変換装置を提供することにある。
The present invention has been made to solve such a problem, and an object of the present invention is to make full use of, for example, a CPU having a multimedia-compatible function to perform parallel processing of an interpolation operation. An object of the present invention is to provide a color conversion method and a color conversion device that can be realized.

【0022】[0022]

【課題を解決するための手段】そのために本発明では、
ルックアップテーブルに補間演算を併用することによっ
て色変換を行う色変換方法であって、入力色データのう
ち、当該入力色データの補間空間における位置をその大
小関係によって示すデータと、入力色データのうち、ル
ックアップテーブルのアドレスを示すデータおよび前記
位置を大小関係によって示すデータに基づいてルックア
ップテーブルから読出される格子点データを、前記大小
関係に応じて予じめ定められた複数のレジスタに格納
し、該複数のレジスタ間において予じめ定められた補間
演算式に従い当該レジスタが格納するデータを用いて補
間演算を行う、ステップを有したことを特徴とする。
According to the present invention, there is provided:
A color conversion method for performing color conversion by using an interpolation operation together with a look-up table, wherein, among input color data, data indicating the position of the input color data in an interpolation space by its magnitude relation, Among them, the grid point data read from the look-up table based on the data indicating the address of the look-up table and the data indicating the position according to the magnitude relation are stored in a plurality of registers predetermined according to the magnitude relation. Storing, and performing an interpolation operation using data stored in the register according to a predetermined interpolation operation expression among the plurality of registers.

【0023】また、ルックアップテーブルに補間演算を
併用することによって色変換を行う色変換装置であっ
て、入力色データのうち、当該入力色データの補間空間
における位置をその大小関係によって示すデータと、入
力色データのうち、ルックアップテーブルのアドレスを
示すデータおよび前記位置を大小関係によって示すデー
タに基づいてルックアップテーブルから読出される格子
点データを、前記大小関係に応じて予じめ定められた複
数のレジスタに格納する格納手段と、該複数のレジスタ
間において予じめ定められた補間演算式に従い当該レジ
スタが格納するデータを用いて補間演算を行う演算手段
と、を有したことを特徴とする。
Also, the present invention is a color conversion apparatus for performing color conversion by using an interpolation operation together with a look-up table, wherein data indicating the position of the input color data in the interpolation space by the magnitude relation among the input color data is provided. In the input color data, grid point data read from the look-up table based on data indicating the address of the look-up table and data indicating the position according to the magnitude relation is determined in advance according to the magnitude relation. Storage means for storing data in a plurality of registers, and arithmetic means for performing an interpolation operation using data stored in the registers in accordance with a predetermined interpolation operation expression among the plurality of registers. And

【0024】以上の構成によれば、入力色データのうち
その補間空間における位置を大小関係によって示す、例
えば下位ビットデータと、この大小関係に応じてルック
アップテーブルから読出される格子点データとが、上記
大小関係に応じて予じめ定められた複数のレジスタに格
納され、これらのレジスタ間で予じめ定められた補間演
算式に従い、それらのレジスタに格納されるデータを用
いて補間演算を行うので、本来、上記大小関係に応じて
異なる補間演算式もしくはこの式の各項の演算は、各レ
ジスタ間の演算関係を規定する一つの式に統一でき、こ
れにより、例えば複数画素間の補間演算や演算式の各項
の計算を並列に行うことができる。
According to the above arrangement, for example, the lower-order bit data indicating the position in the interpolation space of the input color data in the interpolation space and the grid point data read out from the look-up table in accordance with the size relation. Are stored in a plurality of registers predetermined according to the magnitude relation, and an interpolation operation is performed using data stored in the registers according to an interpolation operation expression predetermined among these registers. Therefore, the interpolation formulas that differ depending on the magnitude relation or the calculations of each term of the formulas can be unified into one formula that defines the calculation relationship between the registers. The calculation and calculation of each term of the calculation expression can be performed in parallel.

【0025】[0025]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0026】図3は、本発明の一実施形態として以下で
示す実施形態1〜4の色変換処理で行われる処理やハー
ドウェア構成の概略を示すブロック図である。
FIG. 3 is a block diagram showing an outline of the processing and hardware configuration performed in the color conversion processing of the first to fourth embodiments described below as one embodiment of the present invention.

【0027】同図に示すように、本発明の一実施形態に
よる色変換処理は、後述のように補間演算に用いられる
レジスタ群301と格子点データを格納したイエロー
(Y),マゼンタ(M),シアン(C),ブラック
(K)のそれぞれに対応したルックアップテーブル(以
下、「LUT」という)302Y,302M,302
C,302Kを用いて行われる。
As shown in the figure, in the color conversion processing according to the embodiment of the present invention, a register group 301 used for interpolation calculation and yellow (Y) and magenta (M) storing grid point data are described later. , Cyan (C), and black (K) lookup tables (hereinafter, referred to as “LUTs”) 302Y, 302M, 302
C, 302K.

【0028】大小判別部303では、例えば、R,G,
B各色毎の8ビットの入力色データXi,Yi,Ziの
うち、mビットの下位ビットデータXf,Yf,Zfに
基づいて、それらの大小関係が判別される。また、アド
レス生成部304では、入力色データのうちnビットの
上位ビットデータに基づき、上記大小関係情報を参照し
て4点補間に係る格子点データをLUTから読出すため
のアドレスが生成される。なお、この大小判別部303
およびアドレス生成部304は、CPUの実行によるソ
フトウェアとして構成されてもよく、あるいは、ハード
ウェアとして構成されてもよい。
In the size discriminating unit 303, for example, R, G,
Among the 8-bit input color data Xi, Yi, and Zi for each of the B colors, the magnitude relationship between them is determined based on m-bit lower-order bit data Xf, Yf, and Zf. In addition, the address generation unit 304 generates an address for reading grid point data related to four-point interpolation from the LUT with reference to the magnitude relation information based on the n-bit upper bit data of the input color data. . Note that the magnitude discrimination unit 303
The address generation unit 304 may be configured as software executed by a CPU, or may be configured as hardware.

【0029】アドレス生成部304によって生成された
各4つのアドレスに基づき、それぞれの色のLUT30
2Y,302M,302C,302Kからはそれぞれ4
つの格子点データが読出されて、後述のようにレジスタ
群301の所定のレジスタに格納される。また、レジス
タ群301には、下位ビットデータXf,Yf,Zf
も、後述のように大小関係に応じて入力し所定のレジス
タに格納される。
Based on each of the four addresses generated by the address generator 304, the LUT 30 of each color
4 from 2Y, 302M, 302C, 302K
Two pieces of grid point data are read out and stored in predetermined registers of the register group 301 as described later. The register group 301 includes lower-order bit data Xf, Yf, Zf
Are also input according to the magnitude relation and stored in a predetermined register as described later.

【0030】レジスタ群301では、以下の各実施形態
で詳述されるように、CPUの制御の下、レジスタ間で
の減算、積和演算、シフト等が行われることによって補
間演算が行われ、最終的に変換色データPを得ることが
できる。
In the register group 301, as will be described in detail in the following embodiments, an interpolation operation is performed by performing a subtraction, a product-sum operation, and a shift between registers under the control of the CPU. Finally, the converted color data P can be obtained.

【0031】ここで、以下で説明する各実施形態で用い
る補間演算式について説明する。まず、補間演算式を簡
潔に表現するため、着目する補間立方体の頂点に位置す
る格子点データを図1のように、A,B,C,D,E,
F,G,Hと表わす。そして、この補間演算式は、3つ
の入力色データXi,Yi,Zi各々に下位mビットデ
ータXf,Yf,Zf間の大小関係によって、すなわ
ち、図2に示すような図面体のうち入力色データXi,
Yi,Ziがいずれの4面体に属するかによって、次の
異なる6つの補間式のいずれかによって表わされる。
Here, the interpolation formula used in each of the embodiments described below will be described. First, in order to simply express the interpolation formula, the grid point data located at the vertices of the interpolation cube of interest are represented by A, B, C, D, E,
Expressed as F, G, H. The interpolation operation expression is based on the magnitude relationship between the lower-order m-bit data Xf, Yf, and Zf in each of the three input color data Xi, Yi, and Zi, that is, the input color data in the drawing as shown in FIG. Xi,
Depending on which tetrahedron Yi and Zi belong to, they are represented by any of the following six different interpolation formulas.

【0032】 Xf≧Yf≧Zfの場合、P=2-m{(2m -Xf)・A+(Xf-Yf)・ B+(Yf-Zf)・ D+Zf・H } …(a−1) Xf≧Zf≧Yfの場合、P=2-m{(2m -Xf)・A+(Xf-Yf)・ B+(Yf-Zf)・ F+Zf・H } …(a−2) Zf≧Xf≧Yfの場合、P=2-m{(2m -Xf)・A+(Xf-Yf)・ E+(Yf-Zf)・ F+Zf・H } …(a−3) Zf≧Yf≧Xfの場合、P=2-m{(2m -Xf)・A+(Xf-Yf)・ E+(Yf-Zf)・ G+Zf・H } …(a−4) Yf≧Zf≧Xfの場合、P=2-m{(2m -Xf)・A+(Xf-Yf)・ C+(Yf-Zf)・ G+Zf・H } …(a−5) Yf≧Xf≧Zfの場合、P=2-m{(2m -Xf)・A+(Xf-Yf)・ C+(Yf-Zf)・ D+Zf・H } …(a−6) また、上記6つの補間式は、それらを単に変形すること
によって以下の様に表わすこともできる。
When Xf ≧ Yf ≧ Zf, P = 2− m {(2 m −Xf) · A + (Xf−Yf) · B + (Yf−Zf) · D + Zf · HH (a-1) When Xf ≧ Zf ≧ Yf, P = 2 −m {(2 m −Xf) · A + (Xf−Yf) · B + (Yf−Zf) · F + Zf · H…… (a-2) Zf ≧ Xf When ≧ Yf, P = 2 −m {(2 m −Xf) · A + (Xf−Yf) · E + (Yf−Zf) · F + Zf · H… (a-3) When Zf ≧ Yf ≧ Xf In this case, P = 2 -m {(2 m -Xf) ・ A + (Xf-Yf) ・ E + (Yf-Zf) ・ G + Zf ・ H} (a-4) If Yf ≧ Zf ≧ Xf, P = 2 -m {(2 m -Xf) ・ A + (Xf-Yf) ・ C + (Yf-Zf) ・ G + Zf ・ H} (a-5) When Yf ≧ Xf ≧ Zf, P = 2 − m {(2 m -Xf) ・ A + (Xf-Yf) ・ C + (Yf-Zf) ・ D + Zf ・ H} (a-6) Also, the above six interpolation formulas simply transform them. Can also be expressed as follows:

【0033】 Xf≧Yf≧Zfの場合、P=2-m{ 2m ・A+Xf・(B-A)+Yf・(D-B)+Zf ・ (H-D) } …(b−1) Xf≧Zf≧Yfの場合、P=2-m{ 2m ・A+Xf・(B-A)+Zf・(F-B)+Yf ・ (H-F) } …(b−2) Zf≧Xf≧Yfの場合、P=2-m{ 2m ・A+Zf・(E-A)+Xf・(F-E)+Yf ・ (H-F) } …(b−3) Zf≧Yf≧Xfの場合、P=2-m{ 2m ・A+Zf・(E-A)+Yf・(G-E)+Xf ・ (H-G) } …(b−4) Yf≧Zf≧Xfの場合、P=2-m{ 2m ・A+Yf・(C-A)+Zf・(G-C)+Xf ・ (H-D) } …(b−5) Yf≧Xf≧Zfの場合、P=2-m{ 2m ・A+Yf・(C-A)+Xf・(D-C)+Zf ・ (H-D) } …(b−6) 同様に、さらなる変形によって以下の様に表わすことも
できる。
When Xf ≧ Yf ≧ Zf, P = 2− m {2 m · A + Xf · (BA) + Yf · (DB) + Zf · (HD)} (b-1) Xf ≧ Zf ≧ In the case of Yf, P = 2 -m {2 m・ A + Xf ・ (BA) + Zf ・ (FB) + Yf ・ (HF)… (b-2) When Zf ≧ Xf ≧ Yf, P = 2 -m {2 m · A + Zf · (EA) + Xf · (FE) + Yf · (HF)… ... (b-3) When Zf ≥ Yf ≥ Xf, P = 2 -m {2 m · A + Zf ・ (EA) + Yf ・ (GE) + Xf ・ (HG)… (b-4) When Yf ≧ Zf ≧ Xf, P = 2 -m {2 m・ A + Yf ・ (CA) + Zf · (GC) + Xf · (HD)… ... (b-5) When Yf ≥ Xf ≥ Zf, P = 2- m {2 m · A + Yf · (CA) + Xf · (DC) + Zf (HD)} (b-6) Similarly, it can be expressed as follows by further modification.

【0034】 Xf≧Yf≧Zfの場合、P=2-m{ 2m ・A+Xf・(B-A)+Yf・(D-B)+Zf ・ (H-D) } …(c−1) Xf≧Zf≧Yfの場合、P=2-m{ 2m ・A+Xf・(B-A)+Yf・(H-F)+Zf ・ (F-B) } …(c−2) Zf≧Xf≧Yfの場合、P=2-m{ 2m ・A+Xf・(F-E)+Yf・(H-F)+Zf ・ (E-A) } …(c−3) Zf≧Yf≧Xfの場合、P=2-m{ 2m ・A+Xf・(H-G)+Yf・(G-E)+Zf ・ (E-A) } …(c−4) Yf≧Zf≧Xfの場合、P=2-m{ 2m ・A+Xf・(H-G)+Yf・(C-A)+Zf ・ (G-C) } …(c−5) Yf≧Xf≧Zfの場合、P=2-m{(2m ・A+Xf・(D-C)+Yf・(C-A)+Zf ・ (H-D) } …(c−6) (c−1)〜(c−6)は、(b−1)〜(b−6)に
おける第2〜4項を、単にXf,Yf,Zfの順に並び
替えたものである。
When Xf ≧ Yf ≧ Zf, P = 2− m {2 m · A + Xf · (BA) + Yf · (DB) + Zf · (HD)} (c-1) Xf ≧ Zf ≧ In the case of Yf, P = 2 -m {2 m · A + Xf · (BA) + Yf · (HF) + Zf · (FB)} (c-2) When Zf ≧ Xf ≧ Yf, P = 2 -m {2 m · A + Xf · (FE) + Yf · (HF) + Zf · (EA)… ... (c-3) When Zf ≥ Yf ≥ Xf, P = 2 -m {2 m · A + Xf · (HG) + Yf · (GE) + Zf · (EA)… (c-4) When Yf ≧ Zf ≧ Xf, P = 2- m {2 m · A + Xf · (HG) + Yf · (CA) + Zf · (GC)} ... (c-5) When Yf ≥ Xf ≥ Zf, P = 2- m {(2 m · A + Xf · (DC) + Yf · (CA) + Zf · (HD)… (c-6) (c-1) to (c-6) simply denote the second to fourth terms in (b-1) to (b-6) by Xf, Yf, and Zf. In the following order.

【0035】並列処理を実現するための方法は、(a−
1)〜(a−6)、(b−1)〜(b−6)、(c−
1)〜(c−6)のどの式に基づくかによって、その実
現方法は異なるが、以下の第1、第2の実施形態では、
(b−1)〜(b−6)式に基づき、第3実施形態で
は、(a−1)〜(a−6)式に基づき、そして、第4
実施形態では、(c−1)〜(c−6)式に基づき、そ
れぞれレジスタを利用して補間演算を行う方法について
説明する。
The method for realizing parallel processing is described in (a-
1) to (a-6), (b-1) to (b-6), (c-
The realization method differs depending on which of the expressions 1) to (c-6) is used, but in the following first and second embodiments,
In the third embodiment, based on equations (b-1) to (b-6), based on equations (a-1) to (a-6),
In the embodiment, a method of performing an interpolation operation using a register based on the equations (c-1) to (c-6) will be described.

【0036】(第1の実施形態)上述したように、本実
施形態では、(b−1)〜(b−6)式に基づき、並列
処理を実現する方法について説明する。本実施形態の並
列処理の概要は次の通りである。
(First Embodiment) As described above, in this embodiment, a method for realizing parallel processing will be described based on equations (b-1) to (b-6). The outline of the parallel processing of the present embodiment is as follows.

【0037】(d−1)図3にて上述したCPUの並列
演算可能な演算レジスタを用い、そのレジスタ長を64
ビットとし、これを、16ビット×4個のレジスタとし
て使用する。
(D-1) Using an arithmetic register capable of parallel operation of the CPU described above with reference to FIG.
Bits, and these are used as 16 bits × 4 registers.

【0038】(d−2)色変換される入力色データは、
3色(Xi,Yi,Zi)とする。
(D-2) The input color data to be color-converted is
Three colors (Xi, Yi, Zi) are used.

【0039】(d−3)処理に係る画像の連続する4画
素の色変換処理について並列に処理する。
(D-3) The color conversion processing of four consecutive pixels of the image relating to the processing is performed in parallel.

【0040】なお、以下の説明では、上記4画素を区別
するため、連続する4画素のいずれに係るデータかを添
字1,2,3および4で示す。例えば図1に示す格子点
データAは、A1,A2,A3,A4と表記する。
In the following description, the subscripts 1, 2, 3 and 4 indicate which one of the four consecutive pixels relates to the data in order to distinguish the above four pixels. For example, the grid point data A shown in FIG. 1 is described as A1, A2, A3, A4.

【0041】本実施形態の色変換処理は、以下の手順を
行なわれる。図4(a)〜(j)は、それぞれこの手順
で用いられるレジスタおよびその内容を示す図である。
The color conversion processing of this embodiment is performed in the following procedure. FIGS. 4A to 4J are diagrams showing registers used in this procedure and their contents.

【0042】(1)4つの各画素ごとに、入力色データ
Xi,Yi,Ziの上位ビットデータから部分補間空間
(立方体、図1参照)を定め、各立方体中のAに位置す
る格子点データdd(Xh,Yh,Zh)を、図3に示
すLUTから読出し、図4(a)に示すように、各々1
6ビットデータとして、A1,A2,A3,A4の順に
連結し、上述したようにCPUの並列演算可能なレジス
タ401に格納する。
(1) For each of the four pixels, a partial interpolation space (cube, see FIG. 1) is determined from the upper bit data of the input color data Xi, Yi, Zi, and grid point data located at A in each cube dd (Xh, Yh, Zh) is read from the LUT shown in FIG. 3 and, as shown in FIG.
As 6-bit data, they are concatenated in the order of A1, A2, A3, and A4, and stored in the register 401 capable of parallel operation of the CPU as described above.

【0043】(2)次に、各画素ごとに入力色データの
下位ビットデータの最大値を求め、図4(b)に示すよ
うに、それを4つ連結し、レジスタ402に格納する。
図4(b)は、1画素目の最大値がYf、2画素目の最
大値がXf、3画素目の最大値がZf、4画素目の最大
値がXfである例を示している。
(2) Next, the maximum value of the lower-order bit data of the input color data is obtained for each pixel, and as shown in FIG.
FIG. 4B shows an example in which the maximum value of the first pixel is Yf, the maximum value of the second pixel is Xf, the maximum value of the third pixel is Zf, and the maximum value of the fourth pixel is Xf.

【0044】(3)さらに、各画素毎の上記最大値に応
じて、最大値がXfの場合は、(1)の処理で定めた部
分補間空間の格子点データB=dd(Xh+1,Yh,
Zh)を、最大値がYfの場合は格子点データC=dd
(Xh,Yh+1,Zh)を、最大値がZfの場合は格
子点データE=dd(Xh,Yh,Zh+1)を、それ
ぞれ選択してLUTから読出し、図4(c)に示すよう
に、それらを4つ連結し、レジスタ403に格納する。
図4(c)に示す例では、図4(b)に示す画素毎の最
大値となる下位ビットデータに対応して、C1,B2,
E3,B4がレジスタ403に格納される。
(3) Further, if the maximum value is Xf in accordance with the maximum value for each pixel, the grid point data B = dd (Xh + 1, Yh,
Zh), the lattice point data C = dd when the maximum value is Yf
(Xh, Yh + 1, Zh), and when the maximum value is Zf, grid point data E = dd (Xh, Yh, Zh + 1) is selected and read from the LUT, and as shown in FIG. Are connected to each other and stored in the register 403.
In the example shown in FIG. 4C, C1, B2, and C3 correspond to the lower-order bit data having the maximum value for each pixel shown in FIG.
E3 and B4 are stored in the register 403.

【0045】(4)同様に各画素ごとに入力色データの
下位ビットデータの中央値を求め、図4(d)に示すよ
うにそれらを4つ連結し、レジスタ404に格納する。
図4(d)に示す例は、1画素目の中央値がZf、2画
素目の中央値がYf、3画素目の中央値がXf、4画素
目の中央値がZfである場合を示している。
(4) Similarly, the median value of the lower-order bit data of the input color data is obtained for each pixel, and four of them are connected as shown in FIG.
The example shown in FIG. 4D shows a case where the median value of the first pixel is Zf, the median value of the second pixel is Yf, the median value of the third pixel is Xf, and the median value of the fourth pixel is Zf. ing.

【0046】(5)次に、最大値と中央値が、Xf,Y
f,Zfのいずれの組合せになるかに基づいて、格子点
データD=dd(Xh+1,Yh+1,Zh),F=d
d(Xh+1,Yh,Zh+1),G=dd(Xh,Y
h+1,Zh+1)のいずれかを各画素ごとに選択し、
LUTから読出し、図4(e)に示すように、それらを
4つ連結し、レジスタ405に格納する。例えば図4
(e)に示す1画素目の内容は、図4(b),(d)に
示すYfとZfの組合せに対応してGが選択される。同
様に、2画素目から4画素目については、D2,F3,
F4がレジスタ405に格納される。
(5) Next, the maximum value and the median value are represented by Xf, Y
Based on the combination of f and Zf, grid point data D = dd (Xh + 1, Yh + 1, Zh), F = d
d (Xh + 1, Yh, Zh + 1), G = dd (Xh, Y
h + 1, Zh + 1) for each pixel,
The data is read from the LUT, and the four are connected as shown in FIG. For example, FIG.
In the content of the first pixel shown in (e), G is selected corresponding to the combination of Yf and Zf shown in FIGS. 4B and 4D. Similarly, for the second to fourth pixels, D2, F3,
F4 is stored in the register 405.

【0047】(6)同様に各画素ごとに入力色データの
下位ビットデータの最小値を求め、図4(f)に示すよ
うに、それらを4つ連結しレジスタ406に格納する。
図4(f)に示す例は、1画素目の最小値がXf、2画
素目の最小値がZf、3画素目の最小値がYf、4画素
目の最小値がYfである場合を示している。
(6) Similarly, the minimum value of the lower bit data of the input color data is obtained for each pixel, and as shown in FIG.
The example shown in FIG. 4F shows a case where the minimum value of the first pixel is Xf, the minimum value of the second pixel is Zf, the minimum value of the third pixel is Yf, and the minimum value of the fourth pixel is Yf. ing.

【0048】(7)最後に、各画素毎に、部分補間空間
の格子点データH=dd(Xh+1,Yh+1,Zh+
1)を、図4(g)に示すように、4つ連結したH1,
H2,H3,H4をレジスタに格納する。
(7) Finally, for each pixel, grid point data H = dd (Xh + 1, Yh + 1, Zh +) in the partial interpolation space
As shown in FIG. 4 (g), 4)
H2, H3, and H4 are stored in registers.

【0049】以上説明した(1)〜(7)の処理は、そ
の説明からも明らかなように、入力色データで定まる部
分補間空間の中から、入力色データの下位ビットデータ
の大小関係に基づいて補間演算に用いる、4面体を定め
る処理、もしくはその4面体の格子点データを用意する
処理である。本実施形態では、このような処理を所定の
レジスタに格納する処理によって置き換えたものともい
える。
As described above, the processes (1) to (7) are based on the magnitude relation of the lower bit data of the input color data in the partial interpolation space defined by the input color data. This is a process for determining a tetrahedron used for interpolation calculation, or a process for preparing grid point data of the tetrahedron. In the present embodiment, it can be said that such a process is replaced by a process of storing in a predetermined register.

【0050】(8)以上の格納処理の後、各対応する画
素のレジスタ毎に、まず、図4(c)に示すレジスタ4
03の値から、図4(a)に示すレジスタ401の値を
引き、次に図4(b)に示すレジスタ402の値を掛
け、これをレジスタ408に保持する(図4(h))。
(8) After the above storage processing, the register 4 shown in FIG.
The value of the register 401 shown in FIG. 4A is subtracted from the value of 03, then multiplied by the value of the register 402 shown in FIG. 4B, and held in the register 408 (FIG. 4H).

【0051】(9)同様に、図4(e)に示すレジスタ
405の値から、図4(c)に示すレジスタ403の値
を引き、次に、図4(d)に示すレジスタ404の値を
掛け、これをレジスタ409に保持する(図4
(i))。
(9) Similarly, the value of the register 403 shown in FIG. 4C is subtracted from the value of the register 405 shown in FIG. 4E, and then the value of the register 404 shown in FIG. And hold it in the register 409 (FIG. 4)
(I)).

【0052】(10)さらに、図4(g)に示すレジス
タ407の値から、図4(e)に示すレジスタ405の
値を引き、図4(f)に示すレジスタ406の値を掛
け、これをレジスタ410に保持する(図4(j))。
(10) Further, the value of the register 405 shown in FIG. 4E is subtracted from the value of the register 407 shown in FIG. 4G, and the result is multiplied by the value of the register 406 shown in FIG. Is held in the register 410 (FIG. 4 (j)).

【0053】以上の(8)〜(10)の処理によって、
各レジスタ間の差を演算し、その後、レジスタ間の積を
演算する処理によって、上記(b−1)〜(b−6)式
におけるかっこ内の第2〜4項がそれぞれ求められたこ
とになる。
By the above processes (8) to (10),
By calculating the difference between the registers and then calculating the product between the registers, the second to fourth terms in parentheses in the above formulas (b-1) to (b-6) are obtained. Become.

【0054】(11)次に、図4(a)に示すレジスタ
の値を、それぞれ16ビットの中でmビット左へシフト
して、上記(b−1)〜(b−6)式のかっこ内第1
項、すなわち2m Aが形成され上記で求めた図4
(h)、(i)および(j)でそれぞれ示すレジスタ4
08,409および409の値を加算する。さらに、こ
の結果について、mビット右へシフトする。これによっ
て、4画素分の補間演算が並列に処理されることにより
4画素分同時に変換後の例えばシアンについての色デー
タPを得ることができる。
(11) Next, the value of the register shown in FIG. 4A is shifted to the left by m bits in each of the 16 bits, and the parentheses in the above equations (b-1) to (b-6) are obtained. First
The term, ie, 2 mA, is formed and determined above in FIG.
Registers 4 indicated by (h), (i) and (j) respectively
Add the values 08, 409 and 409. Further, the result is shifted right by m bits. As a result, color data P for, for example, cyan after conversion for four pixels can be obtained simultaneously by performing the interpolation operations for four pixels in parallel.

【0055】以上説明したように、本実施形態では、入
力色データの下位ビットデータの大小関係(最大値,中
央値,最小値)に応じて、格子点データおよびその大小
関係に係る数である下位ビットデータを格納するレジス
タを定めていることにより、これら所定のレジスタに上
記大小関係に応じてそれぞれのデータを格納する処理
((1)〜(7)の処理)を行うだけで、その後の補間
演算((8)〜(11)の処理)自体には、上記大小関
係もしくはその判別処理が現われないようにすることが
できる。このことは、本実施形態の上記(8)〜(1
1)で行われる補間処理が、上記大小関係に応じて異な
る6つの(b−1)〜(b−6)式を、1つの統一的な
補間式として扱かい、これに従い演算を行うことと等価
であることを意味する。この結果、画素毎に入力色デー
タ、従って、その下位ビットデータで定まる大小関係が
異なるにもかかわらず、1つの上記統一的な補間式に従
い4画素分の補間演算を並列に行うことを可能としてい
る。
As described above, in the present embodiment, the number is related to the lattice point data and the magnitude relation thereof according to the magnitude relation (maximum value, median value, minimum value) of the lower bit data of the input color data. Since the registers for storing the lower-order bit data are determined, only the processing ((1) to (7)) for storing the respective data in these predetermined registers in accordance with the magnitude relation is performed. It is possible to prevent the magnitude relationship or the determination process from appearing in the interpolation calculation (the processes of (8) to (11)) itself. This is the same as (8) to (1) in the present embodiment.
In the interpolation processing performed in 1), the six equations (b-1) to (b-6) that differ according to the magnitude relation are treated as one unified interpolation equation, and the calculation is performed according to the equation. Means equivalent. As a result, even though the input color data and therefore the magnitude relationship determined by the lower-order bit data are different for each pixel, it is possible to perform the interpolation calculation for four pixels in parallel according to the one unified interpolation formula. I have.

【0056】なお、以上の説明からも明らかなように、
並列に処理される画素数は、レジスタのレジスタ長によ
って制約を受けて定まるものであり、本発明の本質をな
すものではない。従って、レジスタ長が許せば、4画素
以上の並列処理に可能であり、また、レジスタ長に応じ
て4画素より少ない画素数での並列処理も本発明の適用
範囲である。
As is clear from the above description,
The number of pixels to be processed in parallel is determined by being restricted by the register length of the register, and does not constitute the essence of the present invention. Therefore, if the register length allows, parallel processing of four or more pixels is possible, and parallel processing with a smaller number of pixels than four pixels according to the register length is also applicable to the present invention.

【0057】以上のようにして得る、色変換データが、
1画素4色(シアン(c)、マゼンタ(m)、イエロー
(y)、ブラック(k))の場合は、上記処理がさらに
3色分実行される。例えば、以上説明した処理がシアン
に相当し、次の色がマゼンタの場合、図4(a)のレジ
スタ401にはマゼンタに相当する格子点データ(Am
1Am2Am3Am4)がロードされ、図4(c)レジ
スタ403には(Cm1Bm2Em3Bm4)が、図4
(e)のレジスタ405には(Gm1Dm2Fm3Fm
4)が、そして、図4(g)のレジスタ407には、
(Hm1Hm2Hm3Hm4)データがロードされ、ま
た、その他のレジスタに対応する下位ビットデータがロ
ードされる。その後は、上記(8)〜(11)と同様な並
列演算がなされてマゼンタ色の補間演算が実行される。
次に、イエロー、ブラック色の補間処理が同様になされ
る。以下、次4画素(1画素4色)毎に並列処理がなさ
れ、色変換が行われていく。
The color conversion data obtained as described above is
In the case of four colors per pixel (cyan (c), magenta (m), yellow (y), black (k)), the above processing is further performed for three colors. For example, when the above-described processing corresponds to cyan and the next color is magenta, the grid point data (Am) corresponding to magenta is stored in the register 401 of FIG.
1Am2Am3Am4) is loaded, and (Cm1Bm2Em3Bm4) is stored in the register 403 in FIG.
(Gm1Dm2Fm3Fm)
4) and the register 407 in FIG.
(Hm1Hm2Hm3Hm4) Data is loaded, and lower bit data corresponding to other registers is loaded. After that, parallel operations similar to the above (8) to (11) are performed, and the magenta color interpolation operation is executed.
Next, interpolation processing for yellow and black colors is performed in the same manner. Hereinafter, parallel processing is performed for each of the next four pixels (one pixel, four colors), and color conversion is performed.

【0058】以上の本実施形態の並列処理によって、従
来のシーケンシャルな処理に比べて単純計算で4倍の高
速化を計ることができる。
With the parallel processing of the present embodiment, it is possible to increase the speed by four times by simple calculation as compared with the conventional sequential processing.

【0059】(第2実施形態)本発明の第2の実施形態
は、上述した第1実施形態のように4つの画素に対して
これらの色変換処理を並列に行なうのではなく、1画素
づつ色変換処理を行なうものであるが、前述したCPU
の並列演算機能を有効に活用し、補間演算処理を高速に
行なう方法に関するものである。
(Second Embodiment) In a second embodiment of the present invention, these color conversion processes are not performed on four pixels in parallel as in the first embodiment described above, but one pixel at a time. The color conversion process is performed by the CPU described above.
The present invention relates to a method for effectively performing an interpolation operation process by effectively utilizing the parallel operation function of (1).

【0060】本実施形態では、前述の(b−1)〜(b
−6)式に基づいて補間演算処理を行ない、その場合の
1画素毎に行なう処理は、以下のようになる。
In this embodiment, the aforementioned (b-1) to (b)
The interpolation calculation processing is performed based on the equation -6), and the processing performed for each pixel in that case is as follows.

【0061】(1)4つの格子点データをアクセスする
ためのアドレスを計算する。
(1) Calculate an address for accessing the four grid point data.

【0062】(2)格子点データの差分値に掛ける係数
を大きい順に並べレジスタに格納する。
(2) Coefficients to be multiplied by the difference value of grid point data are arranged in descending order and stored in a register.

【0063】(3)上記アドレスに基づいて4つの格子
点データを読み出しレジスタに格納する。
(3) Four grid point data are stored in the read register based on the address.

【0064】(4)並列演算機能を用いて補間演算処理
を行ない、変換色データを求める。
(4) Interpolation processing is performed using the parallel calculation function to obtain converted color data.

【0065】上記(1)および(2)の処理は、Xf,
Yf,Zfの大小関係に基づいて条件分岐して行なう処
理であり、(3)および(4)の処理は、大小関係に基
づく条件分岐を必要としないで行なう処理である。すな
わち、下位ビットデータの大小関係による条件分岐が現
われる処理は、上述の第1実施形態と同様、それぞれの
所定のレジスタへ格子点データ等を格納する処理によっ
て置き換えるものである。
The processing of the above (1) and (2) is based on Xf,
The processing is performed by conditional branching based on the magnitude relation of Yf and Zf, and the processing of (3) and (4) is processing performed without the need for conditional branching based on the magnitude relation. That is, the process in which the conditional branch appears due to the magnitude relation of the lower bit data is replaced by the process of storing the grid point data and the like in each predetermined register, as in the first embodiment.

【0066】上述(1)および(2)の処理を示すフロ
ーチャートを図5に示す。
FIG. 5 is a flowchart showing the above-mentioned processes (1) and (2).

【0067】同図に示すように、まずステップS501
では、格子点データAを読み出すためのアドレス情報A
dr Aを生成する。すなわち、入力色データXi,Y
i,Ziの各上位nビットデータXh,Yh,Zhを連
結して得た3nビットの値をAdr Aとする。次に、
ステップS503では、格子点データHを読み出すため
のアドレス情報Adr Hを生成する。この処理は、上
記Adr Aに(22n+2n +1)を加算してAdr
Hとする。
As shown in the figure, first, in step S501,
Now, address information A for reading grid point data A
dr Generate A. That is, the input color data Xi, Y
The value of 3n bits obtained by concatenating the upper n-bit data Xh, Yh, Zh of i, Zi is Adr A. next,
In step S503, address information Adr for reading grid point data H Generate H. This processing is based on the Adr Add (2 2n +2 n +1) to A and add Adr
H.

【0068】次に、ステップS505〜513では、下
位ビットデータXf,Yf,Zfの大小関係を判別する
処理を行う。すなわち、ステップS505は、Xf≧Y
fが成り立つか否かを判定する比較処理、ステップS5
07は、Yf≧Zfが成り立つか否かを判定する比較処
理、ステップS509は、Xf≧Zfが成り立つか否か
を判定する比較処理、ステップS511は、Zf≧Yf
が成り立つか否かを判定する比較処理、ステップS51
3は、Xf≧Zfが成り立つか否かを判定する比較処理
である。
Next, in steps S505 to 513, processing for determining the magnitude relation of the lower-order bit data Xf, Yf, Zf is performed. That is, step S505 is performed by setting Xf ≧ Y
comparison processing for determining whether or not f holds, step S5
07 is a comparison process for determining whether or not Yf ≧ Zf is satisfied. Step S509 is a comparison process for determining whether or not Xf ≧ Zf is satisfied. Step S511 is a comparison process for determining whether Zf ≧ Yf.
Comparison processing for determining whether or not the condition is satisfied, step S51
No. 3 is a comparison process for determining whether or not Xf ≧ Zf is satisfied.

【0069】以上の各判定に基づき、それぞれステップ
S521では、ステップS505とステップS507が
成り立つ(肯定判断)時に行なう処理、ステップS52
2では、ステップS505が成り立ち、ステップS50
7が成り立たたず、ステップS509が成り立つ時に行
なう処理、ステップS523では、ステップS505が
成り立ち判定507と判定509が成り立たたない時に
行なう処理、ステップS524では、ステップS505
が成り立たたず、ステップS511が成り立つ時に行な
う処理、ステップS525では、ステップS505とス
テップS501が成り立たたず、ステップS513が成
り立つ時に行なう処理、ステップS526では、ステッ
プS505とステップS507とステップS509が全
て成り立たない時に行なう処理を行う。
Based on each of the above determinations, in step S521, a process to be performed when steps S505 and S507 are established (positive determination), step S52
In step 2, step S505 is established, and step S50 is performed.
7 is not satisfied, and the processing is performed when step S509 is satisfied. In step S523, the processing performed when step S505 is satisfied is not satisfied and the processing is performed when determination 509 is not satisfied. In step S524, step S505 is performed.
Does not hold, and the processing is performed when step S511 is satisfied. In step S525, the processing is performed when step S505 and step S501 are not satisfied, and when step S513 is satisfied. In step S526, step S505, step S507, and step S509 are all satisfied. Perform the processing to be performed when there is not.

【0070】すなわち、Xf,Yf,Zfの大小関係
が、Xf≧Yf≧Zfの時はステップS521で上記大
小関係に応じた四面体の残りの2つの格子点アドレスが
生成されるとともに下位ビットデータの大小関係に応じ
たレジスタへの格納が行われる。同様に、Xf≧Zf>
Yfの時はステップS522の処理、Zf>Xf≧Yf
の時はステップS523の処理、Zf≧Yf>Xfの時
はステップS524の処理、Yf>Xf≧Zfの時はス
テップS525の処理、Yf>Zf>Xfの時はステッ
プS526の処理がそれぞれ行われる。
That is, when the magnitude relation of Xf, Yf, Zf is Xf ≧ Yf ≧ Zf, in step S521, the remaining two lattice point addresses of the tetrahedron corresponding to the magnitude relation are generated and the lower bit data is generated. Is stored in a register in accordance with the magnitude relation of. Similarly, Xf ≧ Zf>
If Yf, the process of step S522, Zf> Xf ≧ Yf
In step S523, the processing in step S524 is performed when Zf ≧ Yf> Xf, the processing in step S525 is performed when Yf> Xf ≧ Zf, and the processing in step S526 is performed when Yf>Zf> Xf. .

【0071】図6は本実施形態におけるレジスタの構成
を示す図である。以上のステップS521〜S526の
処理で求められた下位ビットデータ等は、同図に示すレ
ジスタR0に格納される。すなわち、レジスタR0(6
4ビット)の値は、ステップS521では、2m,X
f,Yf,Zfの値(各16ビット)を連結した値、ス
テップS522では、2m,Xf,Zf,Yfの値を連
結した値、ステップS523では、2m,Zf,Xf,
Yfの値を連結した値、ステップS524では、2m,
Zf,Yf,Xfの値を連結した値、ステップS525
では、2m,Yf,Xf,Zfの値を連結した値、ステ
ップS526では、2m,Yf,Zf,Xfの値を連結
した値となる。
FIG. 6 is a diagram showing a configuration of a register according to the present embodiment. The lower-order bit data and the like obtained in the processing of steps S521 to S526 are stored in the register R0 shown in FIG. That is, the register R0 (6
4 bits) is 2m, X in step S521.
f, Yf, and Zf (16 bits each) are connected. In step S522, values of 2m, Xf, Zf, and Yf are connected. In step S523, 2m, Zf, Xf, and Xf are connected.
A value obtained by concatenating the values of Yf. In step S524, 2m,
A value obtained by concatenating the values of Zf, Yf, and Xf, step S525
Is a value obtained by connecting the values of 2m, Yf, Xf, and Zf. In step S526, the value becomes a value obtained by connecting the values of 2m, Yf, Zf, and Xf.

【0072】また、上記(1)に述べたアドレスの計算
結果は、格子点Aに隣接する格子点データを読み出すア
ドレスをAdr next A、格子点Hに隣接する格子点デ
ータを読み出すアドレスをAdr before Hとすると、
ステップS521では、Adr next A=Adr A+
2n,Adr before H=Adr next A+2n ,ステ
ップS522では、Adr next A=Adr A+22n
Adr before H=Adr next A+1,ステップS52
3では、Adr next A=Adr A+1,Adr before
H=Adr next A+22n,ステップS524では、A
dr next A=Adr A+1,Adr before H=Adr
next A+2n ,ステップS525では、Adr next
A=Adr A+2n ,Adr before H=Adr next
A+22n,ステップS526では、Adr next A=
Adr A+2n ,Adr before H=Adr next A+1
となる。
The address calculation described in the above (1) is performed.
The result is an algorithm for reading grid point data adjacent to grid point A.
Adr Dress next A, grid point data adjacent to grid point H
Address to read data from Adr before If H
In step S521, Adr next A = Adr A +
22n, Adr before H = Adr next A + 2n, Stay
In step S522, Adr next A = Adr A + 22n,
Adr before H = Adr next A + 1, step S52
In 3, Adr next A = Adr A + 1, Adr before
H = Adr next A + 22n, In step S524, A
dr next A = Adr A + 1, Adr before H = Adr
next A + 2nIn step S525, Adr next
A = Adr A + 2n, Adr before H = Adr next
A + 22nIn step S526, Adr next A =
Adr A + 2n, Adr before H = Adr next A + 1
Becomes

【0073】以上のステップS521〜526の処理の
いずれかが下位ビットデータの大小関係に応じて行われ
た後は、上述の(3)の処理を行なう。すなわち、ステ
ップS527において、以上の処理で選択された4面体
の4つの格子点データを読み出しこれらをレジスタに格
納する処理を行う。
After any one of the processes of steps S521 to S526 is performed according to the magnitude relation of the lower-order bit data, the above-described process (3) is performed. That is, in step S527, a process of reading out the four grid point data of the tetrahedron selected in the above process and storing them in the register is performed.

【0074】この処理では、途中結果と最終読み出し結
果の2つの値を図6に示すレジスタR1,R2にそれぞ
れ格納する。すなわち、アドレス値Adr Aで読み出さ
れる格子点データを[Adr A]とすると、レジスタR
1には、0,[Adr A][Adr next A][Adr
before H](各16ビット)を連結した値、レジスタ
R2には、[Adr A][Adr next A],[Adr
before H],[Adr H]を連結した値をそれぞれ格納
する。ここで、レジスタR1の内容を16ビット左へシ
フトした後に、Adr Hから読み出した格子点データH
を挿入したものがレジスタR2の内容である。
In this processing, the intermediate result and the final read result
The two values of the result are stored in registers R1 and R2 shown in FIG.
Stored. That is, the address value Adr Read by A
[Adr A], the register R
1 has 0, [Adr A] [Adr next A] [Adr
before H] (16 bits each), register
[Adr A] [Adr next A], [Adr
before H], [Adr H] is stored.
I do. Here, the contents of register R1 are shifted left by 16 bits.
Aft Grid point data H read from H
Is the contents of the register R2.

【0075】最後にステップS528において、上記
(4)に述べた補間演算処理を行なう。図6に示すよう
に、まず、R3=R2−R1の処理を16ビット単位で
行なう。これによって前述の(b−1)〜(b−6)式
におけるかっこ内の各項がレジスタR3に格納されたこ
とになる。これにより、下位ビットデータの大小関係に
基づく異なる6つの補間式にかかわらず、補間演算自体
を1つの統一的な処理によって行うことが可能となる。
Finally, in step S528, the interpolation processing described in the above (4) is performed. As shown in FIG. 6, first, the processing of R3 = R2-R1 is performed in units of 16 bits. As a result, each item in parentheses in the above-described equations (b-1) to (b-6) is stored in the register R3. Thus, regardless of six different interpolation expressions based on the magnitude relationship of the lower bit data, the interpolation operation itself can be performed by one unified process.

【0076】次に、上記のレジスタR3とレジスタR0
との間でそれぞれの内容の積和演算を行ない、その結果
をレジスタR4に格納する。これにより、レジスタR4
の上位32ビットには、対応する2つの16ビットデー
タの積和演算結果が格納され、下位32ビットにも、対
応する2つの16ビットデータの積和演算結果が格納さ
れる。そして、この2つの積和を加算し、mビット左へ
シフトすることによって、変換された色データPを得る
ことができる。
Next, the above-described register R3 and register R0
, And the sum of the respective contents is calculated, and the result is stored in the register R4. Thereby, the register R4
In the upper 32 bits, the product-sum operation result of the corresponding two 16-bit data is stored, and in the lower 32 bits, the product-sum operation result of the corresponding two 16-bit data is stored. Then, by adding these two sums of products and shifting them left by m bits, converted color data P can be obtained.

【0077】以上説明した1つの入力データ(Xi,Y
i,Zi)に対する色変換処理は、変換によって生成さ
れる。例えば黄色、シアン、マゼンタ、黒の4色につい
て点順次で行うが、この場合、前述の(1)および
(2)の処理は、4色共通で1回のみ行なえば済む。こ
れは、LUTから格子点データを読出すためのアドレス
は、入力色データ(例えばR,G,Bの各値)がこれら
4色の変換データを得る間変化しないためである。一
方、前述の(3)および(4)の処理は変換して得られ
る色毎にLUTの内容(格子点データ)が異なることか
ら、これらの処理を4色分繰り返すことで、4色分の変
換色データを求めることができる。
One input data (Xi, Y
The color conversion processing for i, Zi) is generated by conversion. For example, four colors of yellow, cyan, magenta, and black are performed dot-sequentially. In this case, the processes of (1) and (2) need only be performed once for all four colors. This is because the address for reading grid point data from the LUT does not change while input color data (for example, R, G, and B values) obtain conversion data for these four colors. On the other hand, in the processes (3) and (4) described above, since the contents (grid point data) of the LUT are different for each color obtained by the conversion, these processes are repeated for four colors, so that the processes for four colors are performed. Conversion color data can be obtained.

【0078】この場合に、上記繰り返し処理を図7に示
すように、ループ制御によるものとすると、条件判定
(ステップS707)が存在するので処理時間が増す。
これに対し、本実施形態では、図8のように、格子点デ
ータを読み出して各色毎の図6に示すレジスタへ格納す
る処理を4色分まとめて行ない(ステップS801〜S
807)、その後補間演算処理を4色分まとめて行なう
ようにすればよい。
In this case, assuming that the above-mentioned repetitive processing is performed by loop control as shown in FIG. 7, the processing time increases because of the condition determination (step S707).
On the other hand, in the present embodiment, as shown in FIG. 8, the process of reading grid point data and storing the data in the register shown in FIG. 6 for each color is performed collectively for four colors (steps S801 to S801).
807) Then, the interpolation calculation processing may be performed for four colors at a time.

【0079】これにより、1画素4色の補間演算を、従
来方式に比べ大幅な高速化を図ることができる。
As a result, it is possible to significantly speed up the interpolation operation for four colors per pixel as compared with the conventional method.

【0080】(第3の実施形態)本発明の第3の実施形
態は、前述の(a−1)〜(a−6)式に基づいて補間
演算処理を行なうものである。
(Third Embodiment) In a third embodiment of the present invention, an interpolation operation is performed based on the above-mentioned equations (a-1) to (a-6).

【0081】図9は、下位ビットデータの大小関係の判
別がなされた後の本実施形態の補間演算処理のうち、Y
f≧Zf≧Xfの場合の処理をレジスタ構成によって説
明する図である。
FIG. 9 shows Y in the interpolation calculation processing of the present embodiment after the magnitude relation of the lower-order bit data is determined.
FIG. 9 is a diagram illustrating processing in the case of f ≧ Zf ≧ Xf using a register configuration.

【0082】レジスタR10には、大きさの順に、下位
ビットデータ等2m ,Yf,Zf,Xfがロードされ
る。そしてレジスタR11は、レジスタR10の内容を
16ビット左にシフトして、Yf,Zf,Xf,0を格
納したものである。次に、レジスタR10−レジスタR
11をその内容について実行し、その結果をレジスタR
12に格納する。次に、式(a−5)に示されている格
子点データA,C,G,HがレジスタR3に格納され
る。そして、以上のレジスタ間で積和演算(2m −Y
f)・A+(Yf−Zf)・Cおよび(Zf−Xf)・
C+Xf・Hがなされ、その結果がレジスタR14に格
納される。さらに、レジスタR14の上位32ビットの
値と下位32ビットの値の加算演算がなされた後、mビ
ット右シフト演算されて、変換色データが得られる。
The lower bit data 2 m , Yf, Zf, and Xf are loaded into the register R10 in the order of magnitude. The register R11 shifts the contents of the register R10 to the left by 16 bits and stores Yf, Zf, Xf, and 0. Next, register R10-register R
11 is executed on the contents, and the result is stored in the register R.
12 is stored. Next, the grid point data A, C, G, and H shown in the equation (a-5) are stored in the register R3. Then, a product-sum operation (2 m −Y
f) · A + (Yf−Zf) · C and (Zf−Xf) ·
C + Xf · H is performed, and the result is stored in the register R14. Further, after an addition operation of the upper 32 bits value and the lower 32 bits value of the register R14 is performed, a right shift operation of m bits is performed to obtain converted color data.

【0083】なお、上記演算においては、減算演算結果
と積和演算結果は、説明を分かり易くするために各々レ
ジスタR12,R14に格納されるが、演算結果の格納
レジスタは、R12,R14に限られたことではなく、
空いているレジスタならばどこでも良い。
In the above operation, the result of the subtraction operation and the result of the product-sum operation are stored in registers R12 and R14, respectively, in order to make the description easy to understand. However, the registers for storing the operation results are limited to R12 and R14. Not that
Any free register is acceptable.

【0084】以上の演算についてシアン,マゼンタ,イ
エロー,ブラックの各色について行う場合、各色のA,
C,G,Hに相当すめ格子点データがロードされる点や
下位ビットデータが大小関係に応じて格納される処理
は、上述の第2実施形態と同様である。これにより、1
画素4色の補間演算について、従来方式に比べ大幅な高
速化を図ることができる。
When the above calculation is performed for each color of cyan, magenta, yellow, and black, the A,
The point at which the grid point data corresponding to C, G, and H is loaded and the process of storing the lower-order bit data according to the magnitude relation are the same as in the above-described second embodiment. This gives 1
With respect to the interpolation calculation for four colors of pixels, it is possible to greatly increase the speed as compared with the conventional method.

【0085】(第4の実施形態)本発明の第4の実施形
態は、前述の(c−1)〜(c−6)式に基づいて補間
演算処理を行なうものである。
(Fourth Embodiment) In a fourth embodiment of the present invention, an interpolation operation is performed based on the aforementioned equations (c-1) to (c-6).

【0086】図10は、下位ビットデータがYf≧Zf
≧Xfの場合について本実施形態の補間演算をレジスタ
構成によって示す図である。
FIG. 10 shows that the lower bit data is Yf ≧ Zf
FIG. 9 is a diagram illustrating an interpolation operation of the present embodiment by a register configuration when ≧ Xf.

【0087】前述の(c−1)〜(c−6)式に示され
ているように、レジスタR100には、格子点データ
A,H,C,Gが、またレジスタR101には、格子点
データ0,G,A,Cが格納される。そして、その内容
についてレジスタR0−レジスタR1が演算され、その
結果が、レジストR102に書き込まれる。
As shown in the above equations (c-1) to (c-6), the register R100 stores the grid point data A, H, C, and G, and the register R101 stores the grid point data. Data 0, G, A, and C are stored. Then, the contents of the register R0-register R1 are calculated, and the result is written to the register R102.

【0088】また、レジストR3には、2m ,Xf,Y
f,Zfが格納される。そして、積和演算A+Xf(H
−G)およびYf(C−A)+Zf(G−C)が並列に
実行される。さらに、それらの結果の加算演算およびm
ビット右シフト演算がなされて、変換色データが得られ
る。
The resist R3 has 2 m , Xf, Y
f and Zf are stored. Then, the product-sum operation A + Xf (H
-G) and Yf (CA) + Zf (GC) are executed in parallel. Furthermore, the addition operation of those results and m
Bit right shift operation is performed to obtain converted color data.

【0089】なお、上記演算において、減算演算結果と
積和演算結果は、説明を分かり易くするために各々レジ
ストR102,R104に格納されるが、演算結果の格
納レジストは、R102,R104に限られたことでは
なく、空いているレジスタならばどこでも良い。
In the above operation, the result of the subtraction operation and the result of the product-sum operation are stored in the resists R102 and R104, respectively, for easy understanding of the description. However, the resist for storing the operation result is limited to R102 and R104. It is not a matter of fact that any free register can be used.

【0090】以上の演算について、シアン,マゼンタ,
イエロー,ブラックの各色について行う場合、各色毎の
格子点データおよび下位ビットデータの格納処理は、上
述した第2実施形態と同様になされる。これにより、1
画素4色の補間演算を従来方式に比べ大幅に高速化する
ことができる。
For the above operations, cyan, magenta,
When the process is performed for each color of yellow and black, the storing process of the grid point data and the lower bit data for each color is performed in the same manner as in the above-described second embodiment. This gives 1
Interpolation calculation for four colors of pixels can be significantly speeded up as compared with the conventional method.

【0091】<他の実施形態>本発明は上述のように、
複数の機器(たとえばホストコンピュータ、インタフェ
ース機器、リーダ、プリンタ等)から構成されるシステ
ムに適用しても一つの機器(たとえば複写機、ファクシ
ミリ装置)からなる装置に適用してもよい。
<Other Embodiments> The present invention, as described above,
The present invention may be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, and the like) or may be applied to an apparatus including one device (for example, a copying machine and a facsimile machine).

【0092】また、前述した実施形態の機能を実現する
ように各種のデバイスを動作させるように該各種デバイ
スと接続された装置あるいはシステム内のコンピュータ
に、前記実施形態機能を実現するためのソフトウェアの
プログラムコードを供給し、そのシステムあるいは装置
のコンピュータ(CPUあるいはMPU)を格納された
プログラムに従って前記各種デバイスを動作させること
によって実施したものも本発明の範疇に含まれる。
Also, software for realizing the functions of the above-described embodiment is installed in a computer connected to the various devices or a system so as to operate the various devices so as to realize the functions of the above-described embodiment. The present invention also includes a program code supplied and executed by operating the various devices according to a stored program in a computer (CPU or MPU) of the system or apparatus.

【0093】またこの場合、前記ソフトウェアのプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコード自体、およびそのプロ
グラムコードをコンピュータに供給するための手段、例
えばかかるプログラムコードを格納した記憶媒体は本発
明を構成する。
In this case, the program code of the software itself realizes the functions of the above-described embodiment, and the program code itself and means for supplying the program code to the computer, for example, the program code The stored storage medium constitutes the present invention.

【0094】かかるプログラムコードを格納する記憶媒
体としては例えばフロッピーディスク、ハードディス
ク、光ディスク、光磁気ディスク、CD−ROM、磁気
テープ、不揮発性のメモリカード、ROM等を用いるこ
とができる。
As a storage medium for storing such a program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, magnetic tape, nonvolatile memory card, ROM or the like can be used.

【0095】またコンピュータが供給されたプログラム
コードを実行することにより、前述の実施形態の機能が
実現されるだけではなく、そのプログラムコードがコン
ピュータにおいて稼働しているOS(オペレーティング
システム)、あるいは他のアプリケーションソフト等と
共同して前述の実施形態の機能が実現される場合にもか
かるプログラムコードは本発明の実施形態に含まれるこ
とは言うまでもない。
When the computer executes the supplied program code, not only the functions of the above-described embodiment are realized, but also the OS (Operating System) running on the computer, or another program. Needless to say, the program code is included in the embodiment of the present invention even when the functions of the above-described embodiment are realized in cooperation with application software or the like.

【0096】さらに供給されたプログラムコードが、コ
ンピュータの機能拡張ボードやコンピュータに接続され
た機能拡張ユニットに備わるメモリに格納された後その
プログラムコードの指示に基づいてその機能拡張ボード
や機能格納ユニットに備わるCPU等が実際の処理の一
部または全部を行い、その処理によって前述した実施形
態の機能が実現される場合も本発明に含まれることは言
うまでもない。
Further, the supplied program code is stored in a memory provided in a function expansion board of the computer or a function expansion unit connected to the computer, and then stored in the function expansion board or the function storage unit based on the instruction of the program code. It is needless to say that the present invention includes a case where a provided CPU or the like performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.

【0097】[0097]

【発明の効果】以上説明したように、本発明によれば、
入力色データのうちその補間空間における位置を大小関
係によって示す、例えば下位ビットデータと、この大小
関係に応じてルックアップテーブルから読出される格子
点データとが、上記大小関係に応じて予じめ定められた
複数のレジスタに格納され、これらのレジスタ間で予じ
め定められた補間演算式に従い、それらのレジスタに格
納されるデータを用いて補間演算を行うので、本来、上
記大小関係に応じて異なる補間演算式もしくはこの式の
各項の演算は、各レジスタ間の演算関係や規定する一つ
の式に統一でき、これにより、例えば複数画素間の補間
演算が演算式の各項の計算を並列に行うことができる。
As described above, according to the present invention,
For example, the lower bit data indicating the position in the interpolation space of the input color data in the interpolation space, and the grid point data read from the look-up table in accordance with the magnitude relation are previously determined in accordance with the magnitude relation. Interpolation is performed by using data stored in a plurality of predetermined registers and using data stored in these registers in accordance with an interpolation operation formula predetermined between these registers. Thus, the different interpolation arithmetic expressions or the operations of each term of this expression can be unified into the arithmetic relation between each register and one prescribed expression, whereby, for example, the interpolation operation between a plurality of pixels can calculate the calculation of each item of the arithmetic expression. Can be done in parallel.

【0098】この結果、マルチメディア対応機能を有す
るCPUの並列処理機能を有効に活用することが可能と
なり、シーケンシャルに色変換処理する場合に比べ処理
速度を大幅に高速化できる。
As a result, it is possible to effectively utilize the parallel processing function of the CPU having the multimedia-compatible function, and it is possible to greatly increase the processing speed as compared with the case where sequential color conversion processing is performed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態に係る、色変換処理で用い
るLUTにおける入力色データと格子点データとの関係
を示す模式図である。
FIG. 1 is a schematic diagram illustrating a relationship between input color data and grid point data in an LUT used in a color conversion process according to an embodiment of the present invention.

【図2】上記LUTのうち補間演算に用いる4面体(4
つの格子点)の一例を示す模式図である。
FIG. 2 shows a tetrahedron (4
FIG. 3 is a schematic diagram illustrating an example of one grid point).

【図3】本発明の一実施形態に係る色変換処理の概略構
成を示すブロック図である。
FIG. 3 is a block diagram illustrating a schematic configuration of a color conversion process according to an embodiment of the present invention.

【図4】(a)〜(j)は、本発明の第1の実施形態に
係り、4画素分の入力色データから4画素分の変換色デ
ータを並列に補間演算処理して求める処理をレジスタの
構成によって示す図である。
FIGS. 4 (a) to (j) are diagrams showing a process for obtaining parallel color conversion data for four pixels from input color data for four pixels by performing an interpolation operation in parallel according to the first embodiment of the present invention; FIG. 3 is a diagram illustrating a configuration of a register.

【図5】本発明の第2の実施形態に係り、4つの格子点
データをアクセスするためのアドレスを計算する処理
と、格子点データの差分値に掛ける係数を大きい順に並
べレジストに格納する処理を示すフローチャートであ
る。
FIG. 5 relates to a second embodiment of the present invention, a process of calculating an address for accessing four grid point data, and a process of arranging coefficients to be multiplied by a difference value of grid point data in descending order and storing the same in a resist; It is a flowchart which shows.

【図6】上記第2実施形態の色変換処理における補間演
算処理をレジスタ構成によって説明する図である。
FIG. 6 is a diagram illustrating an interpolation operation process in the color conversion process according to the second embodiment using a register configuration.

【図7】上記第2実施形態との比較例を示し、ループ処
理を用いて1画素の入力色データを4色の色データに変
換する処理を示すフローチャートである。
FIG. 7 is a flowchart showing a comparative example with the second embodiment, and showing a process of converting input color data of one pixel into color data of four colors using a loop process.

【図8】上記第2実施形態に係り、図7に示すループ処
理を用いないで1画素の色データを4色の色データに変
換する処理を示すフローチャートである。
FIG. 8 is a flowchart showing processing for converting color data of one pixel into color data of four colors without using the loop processing shown in FIG. 7 according to the second embodiment.

【図9】本発明の第3実施形態に係る補間演算処理をレ
ジスタ構成によって示す図である。
FIG. 9 is a diagram illustrating an interpolation operation process according to a third embodiment of the present invention by a register configuration.

【図10】本発明の第4実施形態に係る補間演算処理の
レジスタ構成によって示す図である。
FIG. 10 is a diagram illustrating a register configuration of an interpolation operation according to a fourth embodiment of the present invention.

【符号の説明】[Explanation of symbols]

301 レジスタ群 302Y,302M,302C,302K LUT(ル
ックアップテーブル) 303 大小判別部 304 アドレス生成部 401,402,403,404,405,406,4
07,408,409,410,R0,R1,R2,R
3,R4,R10,R11,R12,R13,R14,
R100,R101,R102,R103,R104
レジスタ
301 Register group 302Y, 302M, 302C, 302K LUT (Lookup table) 303 Size discrimination unit 304 Address generation unit 401, 402, 403, 404, 405, 406, 4
07, 408, 409, 410, R0, R1, R2, R
3, R4, R10, R11, R12, R13, R14,
R100, R101, R102, R103, R104
register

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B057 BA28 CA01 CA08 CA12 CA16 CB01 CB08 CB12 CB16 CC01 CE11 CE16 CE18 CH07 CH08 CH11 5C077 LL18 PP15 PP31 PP32 PP33 PP38 PQ21 PQ22 PQ23 5C079 HB01 HB03 HB11 LA12 LA21 LB02 MA02 MA04 MA06 NA11 ──────────────────────────────────────────────────続 き Continued on the front page F-term (reference)

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 ルックアップテーブルに補間演算を併用
することによって色変換を行う色変換方法であって、 入力色データのうち、当該入力色データの補間空間にお
ける位置をその大小関係によって示すデータと、入力色
データのうち、ルックアップテーブルのアドレスを示す
データおよび前記位置を大小関係によって示すデータに
基づいてルックアップテーブルから読出される格子点デ
ータを、前記大小関係に応じて予じめ定められた複数の
レジスタに格納し、 該複数のレジスタ間において予じめ定められた補間演算
式に従い当該レジスタが格納するデータを用いて補間演
算を行う、 ステップを有したことを特徴とする色変換方法。
1. A color conversion method for performing color conversion by using an interpolation operation in combination with a look-up table, comprising: data indicating a position of the input color data in an interpolation space by a magnitude relation among input color data. In the input color data, grid point data read from the look-up table based on data indicating the address of the look-up table and data indicating the position according to the magnitude relation is determined in advance according to the magnitude relation. Storing the data in a plurality of registers, and performing an interpolation operation using data stored in the registers in accordance with a predetermined interpolation operation expression among the plurality of registers. .
【請求項2】 前記入力色データはそれぞれ(n+m)
ビットの3色のデータXi,Yi,Ziで構成され、該
データXi,Yi,Ziを Xi=Xh・2m +Xf Yi=Yh・2m +Yf Zi=Zh・2m +Zf と表わし、前記ルックアップテーブルのアドレスを示す
データをXh,Yh,Zh、前記位置を大小関係によっ
て示すデータをXf,Yf,Zfとするとき、前記色変
換方法は、(Xh,Yh,Zh)で規定される補間空間
の8格子点の内、(Xf,Yf,Zf)の大小関係によ
って規定される4格子点のデータを用いて補間演算を実
行する色変換方法であって、 4画素分の(Xh,Yh,Zh)格子点データをレジス
タaに格納するステップと、 4画素分の(Xf,Yf,Zf)の最大値をレジスタb
に格納するステップと、 4画素分の(Xh,Yh,Zh)格子点に隣接する格子
点データをレジスタcに格納するステップと4画素分の
(Xf,Yf,Zf)の中央値をレジスタdに格納する
ステップと、 4画素分の(Xh+1,Yh+1,Zh+1)格子点に
隣接する格子点データをレジスタeに格納するステップ
と、 4画素分の(Xf,Yf,Zf)の最小値をレジスタf
に格納するステップと、 4画素分の(Xh+1,Yh+1,Zh+1)格子点デ
ータをレジスタgに格納するステップと、 4画素分並列に(レジスタc−レジスタa)・レジスタ
bを演算し、その結果をレジスタhに格納するステップ
と、 4画素分並列に(レジスタe−レジスタc)・レジスタ
dを演算し、その結果をレジスタiに格納するステップ
と、 4画素分並列に(レジスタg−レジスタe)・レジスタ
fを演算し、その結果をレジスタjに格納するステップ
と、 前記レジスタaの値をmビット左へシフトして、その結
果に4画素分並列して、前記レジスタh,レジスタi,
レジスタjの値の加算演算をするステップにより4画素
分並列に補間演算処理することを特徴とする請求項1に
記載の色変換方法。
2. The input color data is (n + m)
3-color data Xi bit, Yi, consists of Zi, represents the data Xi, Yi, Zi and the Xi = Xh · 2 m + Xf Yi = Yh · 2 m + Yf Zi = Zh · 2 m + Zf, the look-up When the data indicating the address of the table is Xh, Yh, Zh, and the data indicating the position by the magnitude relation is Xf, Yf, Zf, the color conversion method is the interpolation space defined by (Xh, Yh, Zh). Is a color conversion method for executing an interpolation operation using data of four grid points defined by the magnitude relation of (Xf, Yf, Zf) among the eight grid points of (Xh, Yh, Zf). Zh) storing grid point data in a register a; and registering the maximum value of (Xf, Yf, Zf) for four pixels in a register b.
And storing the grid point data adjacent to the (Xh, Yh, Zh) grid points for four pixels in the register c, and storing the median value of (Xf, Yf, Zf) for four pixels in the register d. And storing grid point data adjacent to (Xh + 1, Yh + 1, Zh + 1) grid points for four pixels in a register e. Registering the minimum value of (Xf, Yf, Zf) for four pixels in a register f
And storing the (Xh + 1, Yh + 1, Zh + 1) grid point data for four pixels in the register g. The (register c-register a) register b is calculated in parallel for four pixels, and the result is calculated. Is stored in the register h, and the register d is operated in parallel for four pixels (register e-register c) and the result is stored in the register i. Calculating the register f and storing the result in the register j; shifting the value of the register a to the left by m bits and paralleling the result by 4 pixels to the register h, the register i,
2. The color conversion method according to claim 1, wherein the step of performing the addition operation of the value of the register j performs the interpolation operation processing for four pixels in parallel.
【請求項3】 前記レジスタa,レジスタc,レジスタ
e,レジスタgのデータをシアン,マゼンタ,イエロ
ー,ブラック毎に変えて色変換処理することを特徴とす
る請求項2に記載の色変換方法。
3. The color conversion method according to claim 2, wherein data of said register a, register c, register e, and register g is subjected to color conversion processing for cyan, magenta, yellow, and black.
【請求項4】 前記入力色データはそれぞれ(n+m)
ビットの3色のデータXi,Yi,Ziで構成され、該
データXi,Yi,Ziを Xi=Xh・2m +Xf Yi=Yh・2m +Yf Zi=Zh・2m +Zf と表わし、前記ルックアップテーブルのアドレスを示す
データをXh,Yh,Zh、前記位置を大小関係によっ
て示すデータをXf,Yf,Zfとするとき、 前記色変換方法は、(Xh,Yh,Zh)で規定される
補間空間の8格子点の内、(Xf,Yf,Zf)の大小
関係によって規定される4格子点のデータを用いて補間
演算を実行する色変換方法であって、 4つのブロックに分割されたレジスタ0の最上位ブロッ
ク2m を格納するステップと、 前記レジスタ0の最上位から2番目のブロックに(X
f,Yf,Zf)の最大値を格納するステップと、 前記レジスタ0の最上位から3番目のブロックに(X
f,Yf,Zf)の中央値を格納するステップと、 前記レジスタ0の最上位から4番目のブロックに(X
f,Yf,Zf)の最小値を格納するステップと、 4つのブロックに分割されたレジスタ1の最上位ブロッ
クに0を格納するステップと、 前記レジスタ1の最上位から2番目のブロックに(X
h,Yh,Zh)格子点データを格納するステップと、 前記レジスタ1の最上位から3番目のブロックに(X
h,Yh,Zh)格子点に隣接する格子点データを格納
するステップと、 前記レジスタ1の最上位から4番目のブロックに(Xh
+1,Yh+1,Zh+1)格子点に隣接する格子点デ
ータを格納するステップと、 前記レジスタ1の内容をレジスタ2にロードし、そし
て、レジスタ2を1ブロック分左へシフトした後、最上
位から4番目のブロックに(Xh+1,Yh+1,Zh
+1)格子点データを格納するステップと、 4ブロック並列に前記レジスタ2−前記レジスタ1の演
算を行ない、その結果をレジスタ3に格納するステップ
と、 (前記レジスタ0の1ブロック×前記レジスタ3の1ブ
ロック+前記レジスタ0の2ブロック×前記レジスタ3
の2ブロック)と(前記レジスタ0の3ブロック×前記
レジスタ3の3ブロック+前記レジスタ0の4ブロック
×前記レジスタ3の4ブロック)の2つの積和演算を並
列に実行し、その結果を各々レジスタ4の1−2ブロッ
クと3−4ブロックに格納するステップと、 前記レジスタ4の1−2ブロックと3−4ブロック値を
加算して、mビット右シフトするステップ、 により並列に補間演算処理することを特徴とする請求項
1に記載の色変換方法。
4. The input color data is (n + m)
3-color data Xi bit, Yi, consists of Zi, represents the data Xi, Yi, Zi and the Xi = Xh · 2 m + Xf Yi = Yh · 2 m + Yf Zi = Zh · 2 m + Zf, the look-up When the data indicating the address of the table is Xh, Yh, Zh, and the data indicating the position by the magnitude relation is Xf, Yf, Zf, the color conversion method is the interpolation space defined by (Xh, Yh, Zh). A color conversion method for performing an interpolation operation using data of four grid points defined by the magnitude relationship of (Xf, Yf, Zf) among the eight grid points of And storing the highest-order block 2 m of the register 0 in the second highest-order block of the register 0 (X
f, Yf, Zf), and (X
f, Yf, Zf); and (X) in the fourth block from the top of the register 0
f, Yf, Zf); storing 0 in the uppermost block of the register 1 divided into four blocks; and (X) in the second highest-order block of the register 1.
h, Yh, Zh) storing grid point data, and (X
(h, Yh, Zh) storing grid point data adjacent to the grid point; and storing (Xh
+1, Yh + 1, Zh + 1) storing grid point data adjacent to the grid point; loading the contents of the register 1 into the register 2; shifting the register 2 one block to the left; The (Xh + 1, Yh + 1, Zh)
+1) a step of storing grid point data; a step of performing the operations of the register 2 and the register 1 in parallel with four blocks; and storing the result in the register 3; (1 block of the register 0 × (of the register 3) 1 block + 2 blocks of the register 0 × register 3
2) and (3 blocks of the register 0 × 3 blocks of the register 3 + 4 blocks of the register 0 × 4 blocks of the register 3) are executed in parallel. A step of storing in the 1-2 block and the 3-4 block of the register 4; and a step of adding the 1-2 block and the 3-4 block value of the register 4 and shifting right by m bits. The color conversion method according to claim 1, wherein the color conversion is performed.
【請求項5】 前記レジスタ1および前記レジスタ2の
格子点データをシアン,マゼンタ,イエロー,ブラック
毎に変えて色変換処理することを特徴とする請求項4に
記載の色変換方法。
5. The color conversion method according to claim 4, wherein the color conversion processing is performed by changing grid point data of the register 1 and the register 2 for each of cyan, magenta, yellow, and black.
【請求項6】 前記入力色データはそれぞれ(n+m)
ビットの3色のデータXi,Yi,Ziで構成され、該
データXi,Yi,Ziを Xi=Xh・2m +Xf Yi=Yh・2m +Yf Zi=Zh・2m +Zf と表わし、前記ルックアップテーブルのアドレスを示す
データをXh,Yh,Zh、前記位置を大小関係によっ
て示すデータをXf,Yf,Zfとするとき、 前記色変換方法は、(Xh,Yh,Zh)で規定される
補間空間の8格子点の内、(Xf,Yf,Zf)の大小
関係によって規定される4格子点のデータを用いて補間
演算を実行する色変換方法であって、 4つのブロックに分割されたレジスタ0の最上位ブロッ
ク2m を格納するステップと、 前記レジスタ0の最上位から2番目のブロックに(X
f,Yf,Zf)の最大値を格納するステップと、 前記レジスタ0の最上位から3番目のブロックに(X
f,Yf,Zf)の中央値を格納するステップと、 前記レジスタ0の最上位から4番目のブロックに(X
f,Yf,Zf)の最小値を格納するステップと、 前記レジスタ0の内容をレジスタ1に格納し、1ブロッ
ク分左にシフトするステップと、 ブロック毎に並列にそのデータについて(レジスタ0−
レジスタ1)の減算演算をし、その結果をレジスタ2に
格納するステップと、 4つのブロックに分割されたレジスタ3の最上位ブロッ
クに(Xh,Yh,Zh)格子点データを格納するステ
ップと、 前記レジスタ1の最上位から2番目のブロックに(X
h,Yh,Zh)格子点に隣接する格子点データを格納
するステップと、 前記レジスタ1の最上位から3番目のブロックに(Xh
+1,Yh+1,Zh+1)格子点に隣接する格子点デ
ータを格納するステップと、 前記レジスタ1の最上位から4番目のブロックに(Xh
+1,Yh+1,Zh+1)格子点データを格納するス
テップと、 (前記レジスタ2の1ブロック×前記レジスタ3の1ブ
ロック+前記レジスタ2の2ブロック×前記レジスタ3
の2ブロック)と(前記レジスタ2の3ブロック×前記
レジスタ3の3ブロック+前記レジスタ2の4ブロック
×前記レジスタ3の4ブロック)の2つの積和演算を並
列に実行し、その結果を各々レジスタ4の4つに分割さ
れる第1,第2ブロックと第3,第4ブロックに格納す
るステップと、 前記レジスタ4の第1,第2ブロックと第3,第4ブロ
ックのデータを加算して、mビット右シフトするステッ
プ、 により並列に補間演算処理することを特徴とする請求項
1に記載の色変換方法。
6. The input color data is (n + m)
3-color data Xi bit, Yi, consists of Zi, represents the data Xi, Yi, Zi and the Xi = Xh · 2 m + Xf Yi = Yh · 2 m + Yf Zi = Zh · 2 m + Zf, the look-up When the data indicating the address of the table is Xh, Yh, Zh, and the data indicating the position by the magnitude relation is Xf, Yf, Zf, the color conversion method is the interpolation space defined by (Xh, Yh, Zh). A color conversion method for performing an interpolation operation using data of four grid points defined by the magnitude relationship of (Xf, Yf, Zf) among the eight grid points of And storing the highest-order block 2 m of the register 0 in the second highest-order block of the register 0 (X
f, Yf, Zf), and (X
f, Yf, Zf); and (X) in the fourth block from the top of the register 0
f, Yf, Zf), storing the contents of the register 0 in the register 1 and shifting it to the left by one block.
Performing a subtraction operation of register 1) and storing the result in register 2; storing (Xh, Yh, Zh) grid point data in the uppermost block of register 3 divided into four blocks; In the second block from the top of the register 1, (X
(h, Yh, Zh) storing grid point data adjacent to the grid point; and (Xh
(1) storing grid point data adjacent to (+1, Yh + 1, Zh + 1) grid points; and (Xh) in the fourth block from the top of the register 1.
+1, Yh + 1, Zh + 1) storing grid point data; (1 block of the register 2 × 1 block of the register 3 + 2 blocks of the register 2 × the register 3
2) and (3 blocks of the register 2 × 3 blocks of the register 3 + 4 blocks of the register 2 × 4 blocks of the register 3) are executed in parallel. Storing the first, second, and third blocks of the register 4 into the first, second, and third blocks; and adding the data of the first, second, and third, and fourth blocks of the register 4 2. The color conversion method according to claim 1, wherein the interpolation operation is performed in parallel by the step of shifting right by m bits.
【請求項7】 前記レジスタ3の格子点データをシア
ン,マゼンタ,イエロー,ブラック毎に変えて色変換処
理することを特徴とする請求項6に記載の色変換方法。
7. The color conversion method according to claim 6, wherein color conversion processing is performed by changing grid point data of the register 3 for each of cyan, magenta, yellow, and black.
【請求項8】 前記入力色データはそれぞれ(n+m)
ビットの3色のデータXi,Yi,Ziで構成され、該
データXi,Yi,Ziを Xi=Xh・2m +Xf Yi=Yh・2m +Yf Zi=Zh・2m +Zf と表わし、前記ルックアップテーブルのアドレスを示す
データをXh,Yh,Zh、前記位置を大小関係によっ
て示すデータをXf,Yf,Zfとするとき、 前記色変換方法は、(Xh,Yh,Zh)で規定される
補間空間の8格子点の内、(Xf,Yf,Zf)の大小
関係によって規定される4格子点のデータを用いて補間
演算を実行する色変換方法であって、 4つのブロックに分割されたレジスタ0の最上位ブロッ
クに(Xh,Yh,Zh)格子点データを格納するステ
ップと、 前記レジスタ0の最上位から2番目のブロックに(Xh
+1,Yh+1,Zh+1)の格子点データを格納する
ステップと、 前記レジスタ0の最上位から3番目のブロックに(X
h,Yh,Zh)格子点に隣接する格子点データを格納
するステップと、 前記レジスタ0の最上位から3番目のブロックに(Xh
+1,Yh+1,Zh+1)格子点に隣接する格子点デ
ータを格納するステップと、 4つのブロックに分割されたレジスタ1の最上位ブロッ
クに0を格納するステップと、 前記レジスタ1の最上位から2番目のブロックに(Xh
+1,Yh+1,Zh+1)格子点データを格納するス
テップと、 前記レジスタ1の最上位から3番目のブロックに(X
h,Yh,Zh)格子点データを格納するステップと、 前記レジスタ1の最上位から4番目のブロックに(X
h,Yh,Zh)格子点に隣接する格子点データを格納
するステップと、 ブロック毎に並列に(レジスタ0−レジスタ1)の減算
演算をし、その結果をレジスタ2に格納するステップ
と、 4つのブロックに分割されたレジスタ3の最上位ブロッ
クに2m を格納するステップと、 前記レジスタ3の最上位から2番目のブロックに(X
f,Yf,Zf)の最小値を格納するステップと、 前記レジスタ3の最上位から3番目のブロックに(X
f,Yf,Zf)の最大値を格納するステップと、 前記レジスタ3の最上位から4番目のブロックに(X
f,Yf,Zf)の中央値を格納するステップと、 (前記レジスタ2の1ブロック×前記レジスタ3の1ブ
ロック+前記レジスタ2の2ブロック×前記レジスタ3
の2ブロック)と(前記レジスタ2の3ブロック×前記
レジスタ3の3ブロック+前記レジスタ2の4ブロック
×前記レジスタ3の4ブロック)の2つの積和演算を並
列に実行し、その結果を各々レジスタ4の4つに分割さ
れる第1,第2ブロックと第3,第4ブロックに格納す
るステップと、 前記レジスタ4の第1,第2ブロックと第3,第4ブロ
ックのデータを加算して、mビットを右シフトするステ
ップ、 により並列に補間演算処理することを特徴とする請求項
1に記載の色変換方法。
8. The input color data is (n + m)
3-color data Xi bit, Yi, consists of Zi, represents the data Xi, Yi, Zi and the Xi = Xh · 2 m + Xf Yi = Yh · 2 m + Yf Zi = Zh · 2 m + Zf, the look-up When the data indicating the address of the table is Xh, Yh, Zh, and the data indicating the position by the magnitude relation is Xf, Yf, Zf, the color conversion method is the interpolation space defined by (Xh, Yh, Zh). A color conversion method for performing an interpolation operation using data of four grid points defined by the magnitude relationship of (Xf, Yf, Zf) among the eight grid points of Storing (Xh, Yh, Zh) grid point data in the uppermost block of the register 0;
+1, Yh + 1, Zh + 1); and (X) in the third block from the top of the register 0.
(h, Yh, Zh) storing grid point data adjacent to the grid point; and (Xh
(+1, Yh + 1, Zh + 1) storing grid point data adjacent to the grid point; storing 0 in the highest block of the register 1 divided into four blocks; (Xh
+1, Yh + 1, Zh + 1) grid point data; and (X) in the third block from the top of the register 1
h, Yh, Zh) storing grid point data; and (X,
(h, Yh, Zh) storing grid point data adjacent to the grid point; performing a subtraction operation of (register 0-register 1) in parallel for each block and storing the result in register 2; Storing 2 m in the uppermost block of the register 3 divided into two blocks, and (X
f, Yf, Zf); and (X) in the third block from the top of the register 3.
f, Yf, Zf), and (X) in the fourth block from the top of the register 3.
f, Yf, Zf); (1 block of the register 2 × 1 block of the register 3 + 2 blocks of the register 2 × the register 3)
2) and (3 blocks of the register 2 × 3 blocks of the register 3 + 4 blocks of the register 2 × 4 blocks of the register 3) are executed in parallel. Storing the first, second, and third blocks of the register 4 into the first, second, and third blocks; and adding the data of the first, second, and third, and fourth blocks of the register 4 2. The color conversion method according to claim 1, wherein an interpolation operation is performed in parallel by the step of right shifting m bits.
【請求項9】 前記レジスタ0、前記レジスタ1の格子
点データをシアン,マゼンタ,イエロー,ブラック毎に
変えて色変換処理することを特徴とする前記請求項8に
記載の色変換方法。
9. The color conversion method according to claim 8, wherein the color conversion processing is performed by changing the grid point data of the register 0 and the register 1 for cyan, magenta, yellow, and black.
【請求項10】 ルックアップテーブルに補間演算を併
用することによって色変換を行う色変換装置であって、 入力色データのうち、当該入力色データの補間空間にお
ける位置をその大小関係によって示すデータと、入力色
データのうち、ルックアップテーブルのアドレスを示す
データおよび前記位置を大小関係によって示すデータに
基づいてルックアップテーブルから読出される格子点デ
ータを、前記大小関係に応じて予じめ定められた複数の
レジスタに格納する格納手段と、 該複数のレジスタ間において予じめ定められた補間演算
式に従い当該レジスタが格納するデータを用いて補間演
算を行う演算手段と、を有したことを特徴とする色変換
装置。
10. A color conversion apparatus for performing color conversion by using an interpolation operation in combination with a look-up table, comprising: data indicating a position of the input color data in an interpolation space by a magnitude relationship among input color data. In the input color data, grid point data read from the look-up table based on data indicating the address of the look-up table and data indicating the position according to the magnitude relation is determined in advance according to the magnitude relation. Storage means for storing the data in a plurality of registers, and operation means for performing an interpolation operation using data stored in the registers in accordance with an interpolation operation expression predetermined between the plurality of registers. Color conversion device.
【請求項11】 ルックアップテーブルに補間演算を併
用することによって色変換を行う色変換処理プログラム
を情報処理装置によって読取り可能に記憶した記憶媒体
であって、該色変換処理は、 入力色データのうち、当該入力色データの補間空間にお
ける位置をその大小関係によって示すデータと、入力色
データのうち、ルックアップテーブルのアドレスを示す
データおよび前記位置を大小関係によって示すデータに
基づいてルックアップテーブルから読出される格子点デ
ータを、前記大小関係に応じて予じめ定められた複数の
レジスタに格納し、 該複数のレジスタ間において予じめ定められた補間演算
式に従い当該レジスタが格納するデータを用いて補間演
算を行う、 ステップを有したことを特徴とする記憶媒体。
11. A storage medium storing a color conversion processing program for performing color conversion by using an interpolation operation together with a look-up table so that the color conversion processing program can be read by an information processing apparatus. Among them, data indicating the position of the input color data in the interpolation space by the magnitude relation, and data indicating the address of the look-up table among the input color data and the data indicating the position by the magnitude relation are obtained from the lookup table. The grid point data to be read is stored in a plurality of registers predetermined according to the magnitude relation, and the data stored in the registers according to a predetermined interpolation operation expression among the plurality of registers is stored. Performing an interpolation operation using the storage medium.
JP37428198A 1998-12-28 1998-12-28 Color conversion method and color conversion apparatus Expired - Fee Related JP3927715B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37428198A JP3927715B2 (en) 1998-12-28 1998-12-28 Color conversion method and color conversion apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37428198A JP3927715B2 (en) 1998-12-28 1998-12-28 Color conversion method and color conversion apparatus

Publications (2)

Publication Number Publication Date
JP2000196903A true JP2000196903A (en) 2000-07-14
JP3927715B2 JP3927715B2 (en) 2007-06-13

Family

ID=18503578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37428198A Expired - Fee Related JP3927715B2 (en) 1998-12-28 1998-12-28 Color conversion method and color conversion apparatus

Country Status (1)

Country Link
JP (1) JP3927715B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060828A (en) * 2006-08-30 2008-03-13 Ricoh Co Ltd Image processing device and method
US7777924B2 (en) 2005-06-29 2010-08-17 Brother Kogyo Kabushiki Kaisha Color conversion device and color conversion program
US8730250B2 (en) 2008-11-05 2014-05-20 Kabushiki Kaisha Toshiba Image processor and command processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7777924B2 (en) 2005-06-29 2010-08-17 Brother Kogyo Kabushiki Kaisha Color conversion device and color conversion program
JP2008060828A (en) * 2006-08-30 2008-03-13 Ricoh Co Ltd Image processing device and method
US8730250B2 (en) 2008-11-05 2014-05-20 Kabushiki Kaisha Toshiba Image processor and command processing method

Also Published As

Publication number Publication date
JP3927715B2 (en) 2007-06-13

Similar Documents

Publication Publication Date Title
JP3400944B2 (en) Method of generating merged data elements and its print data processing pipeline
JP4886043B2 (en) High-speed filter type YUV to RGB conversion
JPH06222906A (en) Execution method of arithmetic operation to compound operation in order to obtain binary result with reference to each multibit element
JP2011078087A (en) Color determining apparatus, image processing apparatus, color determining method, and color determining program
JP2011139164A (en) Image processing apparatus and processing method thereof
JP2006157252A (en) Data classification method, multidimensional interpolation apparatus, multidimensional interpolation method, and computer program
JP6251029B2 (en) Control device, image processing device, control method, and program
JPH06320802A (en) Image processor
JP2000196903A (en) Method and device for color conversion
JP4468270B2 (en) Normalization method, multidimensional interpolation apparatus and program
JP4810615B2 (en) Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program
JP6448410B2 (en) Data conversion apparatus, control method therefor, and program
JPH10191089A (en) Color converter, color printer, color image data output device and recording medium
JP2703223B2 (en) Color image processing equipment
JP2007174392A (en) Data converting apparatus, control method and program for the data converting apparatus
JP3264526B2 (en) Image processing method and apparatus
JP5159115B2 (en) Image processing apparatus and image processing method
US20230388437A1 (en) Color enhancement method, image-forming apparatus, and storage medium
JP4096672B2 (en) Data conversion method and data conversion apparatus
JP3308940B2 (en) Encoding method and decoding method
JP2010162802A (en) Image processing apparatus, image processing method and computer program
JP3189873B2 (en) Color converter
JP2006165649A (en) Multi-dimensional data converter and method thereof
US8837021B2 (en) Image processing apparatus, control method, and computer-readable medium
JP2010103912A (en) Multi-dimensional data converter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070305

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110309

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120309

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130309

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140309

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees