JP2009010532A - Color conversion processor and color conversion method - Google Patents
Color conversion processor and color conversion method Download PDFInfo
- Publication number
- JP2009010532A JP2009010532A JP2007168101A JP2007168101A JP2009010532A JP 2009010532 A JP2009010532 A JP 2009010532A JP 2007168101 A JP2007168101 A JP 2007168101A JP 2007168101 A JP2007168101 A JP 2007168101A JP 2009010532 A JP2009010532 A JP 2009010532A
- Authority
- JP
- Japan
- Prior art keywords
- color data
- data
- color
- temporary storage
- stored
- 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.)
- Withdrawn
Links
Landscapes
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
Description
本発明は、ルックアップテーブルを用いた色変換技術に関する。 The present invention relates to a color conversion technique using a lookup table.
近年のコンピュータの急速な進歩に伴い、ディスプレイに表示される画像の解像度が向上している。それに伴い、ディスプレイ上で表現できる色の種類も増加している。ディスプレイに表示される多数の色は、赤(R)、緑(G)、青(B)の光の三原色(以下、「RGB」「RGBデータ」と称する)を合成することにより表現されるものである。 With the rapid progress of computers in recent years, the resolution of images displayed on a display has been improved. Along with this, the types of colors that can be expressed on the display are also increasing. Many colors displayed on the display are expressed by combining three primary colors of red (R), green (G), and blue (B) light (hereinafter referred to as “RGB” and “RGB data”). It is.
一方、カラー印刷する場合には、シアン(C)、マゼンダ(M)、イエロー(Y)の3原色に、ブラック(K)を加えた、いわゆるCMYK(CMYKデータ)で表される表現色で印刷される。 On the other hand, when performing color printing, printing is performed with an expression color represented by so-called CMYK (CMYK data) in which black (K) is added to the three primary colors of cyan (C), magenta (M), and yellow (Y). Is done.
したがって、コンピュータのディスプレイ上に表現させたカラー画像をカラー印刷する場合には、RGBで表現された色データをCMYKで表された色データに変換しなければならない。 Therefore, when color printing a color image expressed on a computer display, color data expressed in RGB must be converted into color data expressed in CMYK.
このような色変換を行う方法の1つに、ルックアップテーブル(以下、LUTと称する)を用いる方法がある。LUTには、RGBの組み合わせで表される各色に対応するCMYKデータが格納されている。よって、LUTを参照することで、RGBで表された画像データをCMYKで表された画像データに変換することができる。 One method for performing such color conversion is to use a look-up table (hereinafter referred to as LUT). The LUT stores CMYK data corresponding to each color represented by a combination of RGB. Therefore, by referring to the LUT, it is possible to convert image data represented by RGB into image data represented by CMYK.
ところが、RGBからCMYKへの非線形の色変換を行うためにLUTを単純に参照することになると、RGBデータの各色成分がそれぞれ8bitで表される場合には、28×28×28の組み合わせの色が存在する。しかも出力のCMYKも色成分がそれぞれ8bitからなる32bit幅であるとすると、256×256×256×32[bit]÷8[bit]=64[MB]の容量のLUTが必要になってしまう。 However, when the LUT is simply referred to in order to perform nonlinear color conversion from RGB to CMYK, when each color component of RGB data is represented by 8 bits, the color is a combination of 2 8 × 2 8 × 2 8. Exists. Moreover, if the output CMYK also has a 32-bit width with color components each consisting of 8 bits, an LUT having a capacity of 256 × 256 × 256 × 32 [bit] ÷ 8 [bit] = 64 [MB] is required.
そこで、通常、LUTを用いた色変換処理では、補間処理を併用することにより、LUTのためのメモリ容量を削減している。例えば、カラー印刷装置において、パーソナルコンピュータ(PC)からのRGB画像を正確にCMYK画像に変換するために3D LUT方式が用いられることが多い。この方式は、代表点のみのRGBデータとこれに対応するCMYKデータとを記録しておいて、それ以外のRGBデータとこれに対応するCMYKデータは、その代表データのうち近傍のデータを基に補間計算をして算出する。 Therefore, normally, in the color conversion process using the LUT, the memory capacity for the LUT is reduced by using the interpolation process together. For example, in a color printing apparatus, a 3D LUT method is often used to accurately convert an RGB image from a personal computer (PC) into a CMYK image. In this method, RGB data of only representative points and the corresponding CMYK data are recorded, and the other RGB data and the corresponding CMYK data are based on neighboring data among the representative data. Calculate by interpolation calculation.
このような補間処理を併用する方法では、LUTに予め格納する値は等間隔の断続的な値である。そのため、LUTに格納されていない色への変換に際しては、その色を表す本来の値の前後の値から線形補間にて、その本来の値を算出している。即ち、RGBデータをCMYKデータに変換するにあたり、非線形の変換を行うためのLUTを参照すると共に、線形補間処理のための乗除算を行っている。
なお、本願発明に関係する文献として以下のものが挙げられる。
In the method using such interpolation processing together, the values stored in advance in the LUT are intermittent values at equal intervals. Therefore, when converting to a color not stored in the LUT, the original value is calculated by linear interpolation from values before and after the original value representing the color. That is, when converting RGB data into CMYK data, LUT for performing nonlinear conversion is referred to and multiplication / division for linear interpolation processing is performed.
In addition, the following are mentioned as literature relevant to this invention.
線形補間処理において、LUTに格納されたデータは、3次元の位置情報と捉えることができ、補間するCMYKデータは、その3次元上にある所定の立方体内の所定の位置で表すことができる。そのため、その補間するCMYKデータを求めるためには、その立方体の頂点(8つの格子点)を算出する必要があり、この8つの格子点はLUTに予め登録されているデータである。したがって、LUTを参照して色変換を行う場合には、1ドット毎にLUTを8回参照しなければならない。 In the linear interpolation process, the data stored in the LUT can be regarded as three-dimensional position information, and the CMYK data to be interpolated can be represented by a predetermined position in a predetermined cube on the three dimensions. Therefore, in order to obtain the CMYK data to be interpolated, it is necessary to calculate the vertex (eight lattice points) of the cube, and these eight lattice points are data registered in advance in the LUT. Therefore, when color conversion is performed with reference to the LUT, the LUT must be referenced eight times for each dot.
特許文献1では、LUTと補間演算を併用して行う色変換処理において、補間演算の並列処理を行い高速の色変換を行っている。この引用文献1では、一度に処理するドット数を増やすことにより、その分だけ処理時間を短くしている。 In Patent Document 1, in color conversion processing performed using both LUT and interpolation calculation, parallel processing of interpolation calculation is performed to perform high-speed color conversion. In this cited document 1, the processing time is shortened by increasing the number of dots processed at one time.
しかしながら、この処理をハードウェアにて行う場合、処理時間が速くなった分だけ回路規模も同様の倍数の規模になる。また、LUTに使用するメモリも同様の倍数の容量が必要になり、特にその処理を実行する回路をASIC(Application Specific Integrated Circuit)化する時にはコストへの影響が少なくない。 However, when this processing is performed by hardware, the circuit scale becomes the same multiple as the processing time is increased. Further, the memory used for the LUT also requires a similar multiple capacity, and particularly when the circuit for executing the processing is made ASIC (Application Specific Integrated Circuit), the influence on the cost is not small.
上記の課題に鑑み、本発明は、処理時間が多く必要なLUTの参照回数を減らし、全体の処理時間が短く、かつコストパフォーマンスのよい色変換処理装置を提供する。 In view of the above-described problems, the present invention provides a color conversion processing apparatus that reduces the number of LUT references that require a lot of processing time, has a short overall processing time, and has good cost performance.
本発明にかかる、第1の媒体に出力される第1の色データを第2の媒体に出力するために第2の色データに変換する色変換処理装置は、前記第1の色データを読み込む読込手段と、今回読み込まれた前記第1の色データと以前に読み込まれた前記第1の色データとを比較する比較手段と、前記第1の色データを一時的に格納することが可能であって、比較手段による比較の結果、前記2つの第1の色データが不一致の場合、前記以前に格納された第1の色データが前記今回読み込んだ第1の色データに置き換えられる第1の一時格納手段と、前記第1の色データと、該第1の色データに対応する前記第2の色データとが断続的に格納された色変換データ格納手段と、前記色変換データ格納手段に基づいて、前記第1の色データを前記第2の色データに変換する色変換手段と、前記色変換手段により変換された前記第2の色データに基づいて、補間処理を行う補間手段と、前記補間処理がされた第2の色データを一時的に格納することができる第2の一時格納手段と、前記比較の結果に基づいて、前記第2の一時格納手段に格納された前記第2の色データを出力するか、または前記補間処理がされた前記第2の色データを出力するかを選択する選択手段と、を備えることを特徴とする。 According to the present invention, a color conversion processing device for converting first color data output to a first medium into second color data for output to a second medium reads the first color data. Reading means, comparing means for comparing the first color data read this time with the first color data previously read, and the first color data can be temporarily stored. If the two first color data do not match as a result of comparison by the comparison means, the first color data stored previously is replaced with the first color data read this time. Temporary storage means, color conversion data storage means in which the first color data and the second color data corresponding to the first color data are intermittently stored, and the color conversion data storage means Based on the first color data, the second color A color conversion means for converting the data, an interpolation means for performing an interpolation process based on the second color data converted by the color conversion means, and the second color data subjected to the interpolation process temporarily A second temporary storage means that can store the second color data stored in the second temporary storage means based on the result of the comparison, or the interpolation process is performed. And selecting means for selecting whether to output the second color data.
このように構成することにより、処理時間が多く必要なLUTの参照回数を減らし、全体の処理時間を短くすることができ、かつコストパフォーマンスを向上させることができる。 With this configuration, it is possible to reduce the number of LUT references that require a lot of processing time, shorten the overall processing time, and improve cost performance.
前記色変換装置において、前記選択手段は、前記比較の結果、前記2つの第1の色データが一致する場合、前記第2の一時格納手段に格納された前記第2の色データを出力することを特徴とする。 In the color conversion apparatus, the selection unit outputs the second color data stored in the second temporary storage unit when the two first color data match as a result of the comparison. It is characterized by.
このように構成することにより、RGBデータをCMYKに変換するにあたり、同じ内容のドット情報が連続する場合には、LUT参照および線形補間処理のための乗除演算を省略することができる。 With this configuration, when converting the RGB data into CMYK, when dot information having the same content continues, the multiplication / division operation for LUT reference and linear interpolation processing can be omitted.
前記色変換装置において、前記第1及び第2の一時格納手段はそれぞれ、複数の一時格納手段から構成されていることを特徴とする。 In the color conversion apparatus, each of the first and second temporary storage units includes a plurality of temporary storage units.
このように構成することにより、複数ドット分のRGBデータ及びCMYKデータを保持しておくことができる。 With this configuration, RGB data and CMYK data for a plurality of dots can be held.
前記色変換装置において、前記第1の一時格納手段には、該第1の一時格納手段を構成する前記一時格納手段相互間で異なる前記第1の色データが格納され、前記比較手段は、前記読込手段により読み込まれた前記第1の色データと、前記各第1の一時格納手段に格納された前記第1の色データとを順次比較し、該比較の結果、一致した該第1の色データに対応する前記第2の色データの所在を示す情報を出力し、前記選択手段は、前記第2の色データの所在を示す情報に基づいて、前記第2の一時格納手段群から前記第2の色データを選択することを特徴とする。 In the color conversion apparatus, the first temporary storage unit stores the first color data which is different between the temporary storage units constituting the first temporary storage unit, and the comparison unit includes: The first color data read by the reading means and the first color data stored in the first temporary storage means are sequentially compared. As a result of the comparison, the matched first colors The information indicating the location of the second color data corresponding to the data is output, and the selection unit is configured to output the information from the second temporary storage unit group based on the information indicating the location of the second color data. 2 color data is selected.
このように構成することにより、変換前のRGBデータと、それに対応するCMYKデータを複数記憶し、これから変換しようとするドットがその記憶しているドットと同一かどうかを比較し、同一の場合にはLUT参照および線形補間処理のための乗除演算を省略することができる。 With this configuration, a plurality of RGB data before conversion and corresponding CMYK data are stored, and whether or not the dot to be converted is the same as the stored dot is compared. Can omit multiplication and division operations for LUT reference and linear interpolation processing.
本発明にかかる、第1の媒体に出力される第1の色データを第2の媒体に出力するために第2の色データに変換する色変換処理装置による色変換処理方法は、前記第1の色データを読み込み、前記読み込まれた第1の色データと、前記第1の色データが一時的に格納されている第1の一時格納装置から読み出した第1の色データとを比較し、前記比較の結果、前記2つの第1の色データが不一致の場合、前記第1の一時格納手段に格納された第1の色データを前記今回読み込んだ第1の色データに置き換え、前記第1の色データと、該第1の色データに対応する前記第2の色データとが断続的に格納された色変換データ格納装置に基づいて、前記第1の色データを前記第2の色データに変換し、前記変換された前記第2の色データに基づいて、補間処理を行い、前記補間処理がされた第2の色データを一時的に格納することができる第2の一時格納装置に格納し、前記比較の結果に基づいて、前記第2の一時格納装置に格納された前記第2の色データを出力するか、または前記補間処理がされた前記第2の色データを出力するかを選択することを特徴とする。 According to the present invention, the color conversion processing method by the color conversion processing apparatus for converting the first color data output to the first medium into the second color data for output to the second medium is the first color data. And the first color data read is compared with the first color data read from the first temporary storage device in which the first color data is temporarily stored, If the two first color data do not match as a result of the comparison, the first color data stored in the first temporary storage means is replaced with the first color data read this time, And the second color data corresponding to the first color data are stored on the basis of a color conversion data storage device in which the second color data is intermittently stored. And based on the converted second color data An interpolation process is performed, the second color data subjected to the interpolation process is stored in a second temporary storage device that can be temporarily stored, and based on the result of the comparison, the second temporary storage device It is selected whether to output the second color data stored in the second color data or to output the second color data subjected to the interpolation processing.
このように構成することにより、処理時間が多く必要なLUTの参照回数を減らし、全体の処理時間を短くすることができ、かつコストパフォーマンスを向上させることができる。 With this configuration, it is possible to reduce the number of LUT references that require a lot of processing time, shorten the overall processing time, and improve cost performance.
本発明を用いることにより、RGBデータとYMCKデータ相互間の色変換において、処理時間が多く必要なLUTの参照回数を減らことができる。したがって、色変換にかかる全体の処理時間を短くことができ、かつコストパフォーマンスもよい。 By using the present invention, in the color conversion between RGB data and YMCK data, it is possible to reduce the number of LUT references that require a lot of processing time. Therefore, the overall processing time for color conversion can be shortened and cost performance is good.
<第1の実施形態>
本実施形態では、同じ内容のドット情報が連続する場合に、LUTの参照及び線形補間処理のための乗除演算を省略することにより、色変換にかかる処理時間を短縮する色変換装置について説明する。
<First Embodiment>
In this embodiment, a description will be given of a color conversion apparatus that shortens the processing time required for color conversion by omitting LUT reference and multiplication / division calculations for linear interpolation processing when dot information having the same content continues.
本実施形態にかかる色変換装置は、第1の媒体に出力される第1の色データを第2の媒体に出力するために第2の色データに変換するものである。当該色変換装置は、読込手段、第1の一時格納手段、比較手段、色変換データ格納手段、色変換手段、補間手段、及び第2の一時格納手段を備える。 The color conversion apparatus according to the present embodiment converts first color data output to a first medium into second color data for output to a second medium. The color conversion apparatus includes reading means, first temporary storage means, comparison means, color conversion data storage means, color conversion means, interpolation means, and second temporary storage means.
読込手段は、前記第1の色データを読み込む。読込手段は、例えば本実施形態で言えば、LUT参照制御部8によるFIFO1(3)からRBGデータを読み込むリード機能に相当する。 The reading means reads the first color data. For example, in the present embodiment, the reading means corresponds to a read function for reading RBG data from the FIFO 1 (3) by the LUT reference control unit 8.
比較手段は、今回読み込まれた前記第1の色データと以前に読み込まれた前記第1の色データとを比較する。比較手段は、例えば本実施形態で言えば、比較器6に相当する。 The comparing means compares the first color data read this time with the first color data read before. For example, the comparison means corresponds to the comparator 6 in this embodiment.
第1の一時格納手段は、前記第1の色データを一時的に格納することが可能である。第1の一時格納手段では、比較手段による比較の結果、前記2つの第1の色データが不一致の場合、前記以前に格納された第1の色データが前記今回読み込んだ第1の色データに置き換えられる。第1の一時格納手段は、例えば本実施形態で言えば、第1の一時保管バッファ5に相当する。 The first temporary storage means can temporarily store the first color data. In the first temporary storage means, if the two first color data do not match as a result of the comparison by the comparison means, the previously stored first color data is changed to the first color data read this time. Replaced. The first temporary storage means corresponds to the first temporary storage buffer 5 in the present embodiment, for example.
色変換データ格納手段には、前記第1の色データと、該第1の色データに対応する前記第2の色データとが断続的に格納されている。色変換データ格納手段は、例えば本実施形態で言えば、ルクアップテーブル(LUT)7に相当する。 The color conversion data storage means intermittently stores the first color data and the second color data corresponding to the first color data. The color conversion data storage means corresponds to, for example, a look-up table (LUT) 7 in this embodiment.
色変換手段は、前記色変換データ格納手段に基づいて、前記第1の色データを前記第2の色データに変換する。色変換手段は、例えば本実施形態で言えば、LUT参照制御部8に相当する。 The color conversion unit converts the first color data into the second color data based on the color conversion data storage unit. For example, in the present embodiment, the color conversion unit corresponds to the LUT reference control unit 8.
補間手段は、前記色変換手段により変換された前記第2の色データに基づいて、補間処理を行う。補間手段は、例えば本実施形態で言えば、乗除演算部9に相当する。 The interpolation means performs an interpolation process based on the second color data converted by the color conversion means. For example, in the present embodiment, the interpolation means corresponds to the multiplication / division calculation unit 9.
第2の一時格納手段は、前記補間処理がされた第2の色データを一時的に格納することができる。第2の一時格納手段は、例えば本実施形態で言えば、第2の一時保管バッファ10に相当する。 The second temporary storage means can temporarily store the second color data subjected to the interpolation processing. The second temporary storage means corresponds to the second temporary storage buffer 10 in this embodiment, for example.
選択手段は、前記比較の結果に基づいて、前記第2の一時格納手段に格納された前記第2の色データを出力するか、または前記補間処理がされた前記第2の色データを出力するかを選択する。選択手段は、例えば本実施形態で言えば、セレクタ11に相当する。選択手段は、前記比較の結果、前記2つの第1の色データが一致する場合、前記第2の一時格納手段に格納された前記第2の色データを出力する。 The selection unit outputs the second color data stored in the second temporary storage unit based on the comparison result, or outputs the second color data subjected to the interpolation process. Select. The selection means corresponds to, for example, the selector 11 in this embodiment. The selection means outputs the second color data stored in the second temporary storage means when the two first color data match as a result of the comparison.
さらに、本実施形態における色変換装置は、前記第1及び第2の一時格納手段をそれぞれ、複数の一時格納手段から構成させることもできる。この場合、前記第1の一時格納手段には、該第1の一時格納手段を構成する前記一時格納手段相互間で異なる前記第1の色データが格納されている。そして、前記比較手段は、前記読込手段により読み込まれた前記第1の色データと、前記各第1の一時格納手段に格納された前記第1の色データとを順次比較し、該比較の結果、一致した該第1の色データに対応する前記第2の色データの所在を示す情報を出力する。すると、前記選択手段は、前記第2の色データの所在を示す情報に基づいて、前記第2の一時格納手段群から前記第2の色データを選択することができる。 Furthermore, in the color conversion apparatus according to the present embodiment, each of the first and second temporary storage units can be constituted by a plurality of temporary storage units. In this case, the first temporary storage means stores the first color data which is different between the temporary storage means constituting the first temporary storage means. The comparing means sequentially compares the first color data read by the reading means and the first color data stored in the first temporary storage means, and the result of the comparison , Information indicating the location of the second color data corresponding to the matched first color data is output. Then, the selection means can select the second color data from the second temporary storage means group based on information indicating the location of the second color data.
(実施例1)
本実施例では、RGBデータをCMYKデータに変換するに際し、通常は、非線形の変形を行うためのLUT参照及び線形補間処理のための乗除演算を行ってからディザ処理の変換を行う。しかしながら、同じ内容のドットデータが連続する場合には、LUT参照及び線形補間処理のための乗除演算を省略してディザ処理を連続して行う。これにより、全体の処理時間を短くすることができる。
Example 1
In this embodiment, when converting RGB data to CMYK data, normally, LUT reference for performing nonlinear deformation and multiplication / division operation for linear interpolation processing are performed before conversion of dither processing. However, when dot data having the same content continues, dithering is continuously performed with the multiplication and division operations for LUT reference and linear interpolation processing omitted. Thereby, the whole processing time can be shortened.
図1は、色変換におけるLUTの入力色データと格子点データとの関係を示す模式図である。同図は、24bitで表されるRGBデータの各色成分を三次元方向に展開し、それぞれL等分して格子状にした、非線形変換するためのLUTである。なお、R,G,Bは色データを示し、Lはグリッドの間隔を示す。r軸はR/Lを示し、g軸はG/Lを示し、b軸はB/Lを示す。 FIG. 1 is a schematic diagram showing a relationship between input color data of LUT and grid point data in color conversion. This figure is an LUT for nonlinear conversion, in which each color component of RGB data represented by 24 bits is developed in a three-dimensional direction and divided into L pieces in a lattice shape. Note that R, G, and B indicate color data, and L indicates a grid interval. The r axis represents R / L, the g axis represents G / L, and the b axis represents B / L.
まず、RGB各8bitのデータにおいて、グリッドの間隔Lで割った時の商と、その商に1を加えた値とをそれぞれ求める。例えば、RGB(100,90,70)、L=17の時には、
R=100をL=17で割った時の商=6、商+1=7
G=90をL=17で割った時の商=5、商+1=6
B=70をL=17で割った時の商=4、商+1=5
となる。それぞれの値を組み合わせて得られる値は、以下の8通りである。
(1)rgb=(6,5,4)、 (2)rgb=(7,5,4)
(3)rgb=(6,6,4)、 (4)rgb=(7,6,4)
(5)rgb=(6,5,5)、 (6)rgb=(7,5,5)
(7)rgb=(6,6,5)、 (8)rgb=(7,6,5)
First, in each 8-bit RGB data, a quotient obtained by dividing by the grid interval L and a value obtained by adding 1 to the quotient are obtained. For example, when RGB (100, 90, 70) and L = 17,
Quotient when R = 100 divided by L = 17 = 6, quotient + 1 = 7
Quotient when G = 90 divided by L = 17 = 5, quotient + 1 = 6
B = 70 divided by L = 17, quotient = 4, quotient + 1 = 5
It becomes. The following eight values are obtained by combining the respective values.
(1) rgb = (6, 5, 4), (2) rgb = (7, 5, 4)
(3) rgb = (6, 6, 4), (4) rgb = (7, 6, 4)
(5) rgb = (6, 5, 5), (6) rgb = (7, 5, 5)
(7) rgb = (6, 6, 5), (8) rgb = (7, 6, 5)
これら8個の値を図1に当てはめると、図1の中央にある立方体の各頂点が上記(1)〜(8)rgbそれぞれの座標に対応する。LUTを順に参照することにより、上述の8個の値(1)〜(8)rgbのそれぞれに対応する8個のcmyk((1)cmyk〜(8)cmyk)の値を得ることができる。 When these eight values are applied to FIG. 1, the vertices of the cube in the center of FIG. 1 correspond to the coordinates (1) to (8) rgb. By sequentially referencing the LUT, eight values of cmyk ((1) cmyk to (8) cmyk) corresponding to each of the above eight values (1) to (8) rgb can be obtained.
図2は、図1で特定された線形補間に用いる8つの格子点に基づく立方体の模式図を示す。同図を用いて、元のRGBから各bitのcmyk(32bit)を線形補間にて算出することについて説明する。 FIG. 2 shows a schematic diagram of a cube based on the eight lattice points used for the linear interpolation specified in FIG. The calculation of cmyk (32 bits) of each bit from the original RGB by linear interpolation will be described with reference to FIG.
まず、元のR,G,Bのそれぞれについて、各色成分をLで割った時の商((1)rgb)をL倍した場合の差、即ち元のR,G,BをLで割った時の剰余を、それぞれx,y,zとすると、以下の計算式による線形補間により、図中の(0)RGBに対応するcmykデータを算出することができる。なお、図2では、(1)rgb〜(8)rgbをL倍したものを(1)RGB〜(8)RGBと表現している。 First, for each of the original R, G, and B, the difference when each color component is divided by L ((1) rgb) multiplied by L, that is, the original R, G, and B are divided by L. If the time remainders are x, y, and z, respectively, cmyk data corresponding to (0) RGB in the figure can be calculated by linear interpolation using the following calculation formula. In FIG. 2, (1) rgb to (8) rgb multiplied by L is expressed as (1) RGB to (8) RGB.
cmyk(32bit)=((1)cmyk×(L−x)×(L−y)×(L−z)
+(2)cmyk× x ×(L−y)×(L−z)
+(3)cmyk×(L−x)× y ×(L−z)
+(4)cmyk× x × y ×(L−z)
+(5)cmyk×(L−x)×(L−y)× z
+(6)cmyk× x ×(L−y)× z
+(7)cmyk×(L−x)× y × z
+(8)cmyk× x × y × z)
÷(L×L×L)
x=R−(1)r×L
y=G−(1)g×L
z=B−(1)b×L
cmyk (32 bits) = ((1) cmyk × (L−x) × (L−y) × (L−z)
+ (2) cmyk × x × (L−y) × (L−z)
+ (3) cmyk × (L−x) × y × (L−z)
+ (4) cmyk × x × y × (L−z)
+ (5) cmyk × (L−x) × (L−y) × z
+ (6) cmyk × x × (L−y) × z
+ (7) cmyk × (L−x) × y × z
+ (8) cmyk × x × y × z)
÷ (L × L × L)
x = R− (1) r × L
y = G- (1) g * L
z = B- (1) b * L
図3は、本実施形態(実施例1)における色変換装置のブロック図である。同図では、プリンタ内に搭載された色変換用のASICを例に説明する。同図において、プリンタ全体の制御する制御系チップ20と、色変換を行うASIC1とは、PCIバス25で接続されている。 FIG. 3 is a block diagram of the color conversion apparatus according to the present embodiment (Example 1). In the figure, an ASIC for color conversion mounted in the printer will be described as an example. In the figure, a control system chip 20 that controls the entire printer and an ASIC 1 that performs color conversion are connected by a PCI bus 25.
制御系チップ20は、CPU(中央演算処理装置)21、メモリコントローラ22、PCI(Peripheral Component Interconnect)コントローラ23から構成されている。メモリコントローラ22は、制御系チップ20外部にあるメモリ24に対するデータの入出力を制御するものである。PCIコントローラは、PCIバス25に対するインターフェースである。 The control system chip 20 includes a CPU (Central Processing Unit) 21, a memory controller 22, and a PCI (Peripheral Component Interconnect) controller 23. The memory controller 22 controls data input / output with respect to the memory 24 outside the control system chip 20. The PCI controller is an interface to the PCI bus 25.
ASIC1は、PCIコントローラ2、第1の一時保管バッファ5、比較器6、LUT7、LUT参照制御部8、乗除演算部9、第2の一時保管バッファ10、セレクタ11、ディザ処理部12から構成される。 The ASIC 1 includes a PCI controller 2, a first temporary storage buffer 5, a comparator 6, a LUT 7, an LUT reference control unit 8, a multiplication / division operation unit 9, a second temporary storage buffer 10, a selector 11, and a dither processing unit 12. The
PCIコントローラ2は、FIFO1(3)、FIFO2(4)を有する。FIFO1(3)、FIFO2(4)は、32〜64bitのPCIバス25に対してバーストモードでアクセスする速度と、RGBデータを1ドットずつ定期的にCMYKに変換する速度とのギャップを埋めるために設けている先入れ先出し(FIFO)方式の記憶回路である。 The PCI controller 2 includes a FIFO 1 (3) and a FIFO 2 (4). FIFO1 (3) and FIFO2 (4) are used to fill a gap between the speed at which the 32-bit 64-bit PCI bus 25 is accessed in burst mode and the speed at which RGB data is periodically converted to CMYK one dot at a time. This is a first-in first-out (FIFO) type storage circuit.
第1の一時保管バッファ5は、RGBデータ(8bit×3色)を一時的に記憶するバッファ回路である。第2の一時保管バッファ10は、CMYKデータ(8bit×4色)を一時的に記憶するバッファ回路である。 The first temporary storage buffer 5 is a buffer circuit that temporarily stores RGB data (8 bits × 3 colors). The second temporary storage buffer 10 is a buffer circuit that temporarily stores CMYK data (8 bits × 4 colors).
LUT7は、図1に示す非線形変換を行うためのメモリであり、RGBデータを入力するとCMYKデータが得られるものである。ただし、図1で説明した通り、RGBデータ(24bit)を各色のbit単位でそれぞれグリッドの間隔Lで割った値の商を用いるので、グリッドの間隔単位での精度しかない。 The LUT 7 is a memory for performing non-linear conversion shown in FIG. 1, and CMYK data is obtained when RGB data is input. However, as described with reference to FIG. 1, since the quotient of the value obtained by dividing the RGB data (24 bits) by the grid interval L in bit units of each color is used, there is only accuracy in units of grid intervals.
比較器6は、第1の一時保管バッファ5に記憶されたRGBデータ(24bit)と今回取得したRGBデータ(24bit)とが一致するか否かを判定し、その判定結果をLUT参照制御部8へ通知する回路である。 The comparator 6 determines whether or not the RGB data (24 bits) stored in the first temporary storage buffer 5 matches the RGB data (24 bits) acquired this time, and the determination result is used as the LUT reference control unit 8. It is a circuit to notify to.
LUT参照制御部8は、LUTからRGB(24bit)をLで割った商とLで割った商+1の組み合わせで得られる8種類のcmykを読み出して乗除演算部9へ転送する。また、LUT参照制御部8は、その8種類のcmyk((1)〜(8)cmyk)と、本来のRGBとの差を表すxyzを乗除演算部9へ転送する。 The LUT reference control unit 8 reads out eight types of cmyk obtained from the combination of the quotient obtained by dividing RGB (24 bits) by L and the quotient obtained by dividing L from the LUT and transfers them to the multiplication / division calculation unit 9. The LUT reference control unit 8 transfers xyz representing the difference between the eight types of cmyk ((1) to (8) cmyk) and the original RGB to the multiplication / division calculation unit 9.
乗除演算部9は、LUT参照制御部8から転送された8種類のcmyk((1)〜(8)cmyk)と、本来のRGBとの差を表すxyzから乗除演算を行い、図2で説明したように、CMYK(32bit)のデータを得る。 The multiplication / division calculation unit 9 performs multiplication / division calculation from xyz representing the difference between the eight types of cmyk ((1) to (8) cmyk) transferred from the LUT reference control unit 8 and the original RGB, and will be described with reference to FIG. As described above, CMYK (32 bit) data is obtained.
セレクタ11は、乗除演算部9で計算した結果または前回第2の一時保管バッファ10に保存した内容のいずれをディザ処理部12に出力するかを選択する。 The selector 11 selects which of the result calculated by the multiplication / division calculation unit 9 or the content previously stored in the second temporary storage buffer 10 is output to the dither processing unit 12.
ディザ処理部12は、セレクタ11から出力されたCMYKデータに対してディザ処理を施す回路である。ディザ処理後、プリンタエンジンに適した、例えば、2bit×4色のCMYKデータが得られる。この2bit×4色のCMYKデータは、FIFO2(4)へ出力される。 The dither processing unit 12 is a circuit that performs dither processing on the CMYK data output from the selector 11. After the dither processing, for example, CMYK data of 2 bits × 4 colors suitable for the printer engine is obtained. The CMYK data of 2 bits × 4 colors is output to FIFO 2 (4).
このCMYKデータをビデオ転送すれば、カラー印刷を行うことができる。ここでは一度、不図示のビデオ転送コントローラが、そのメモリ内のデータをプリンタエンジンに転送するとしている。 If this CMYK data is video transferred, color printing can be performed. Here, it is assumed that a video transfer controller (not shown) once transfers data in the memory to the printer engine.
図4は、本実施形態(実施例1)におけるLUT7の一例を示す。入力色側には、RGBの各色データをグリッドの間隔Lで割った時の商r,g,bが格納されている。出力色側には、入力側のrgbの組み合わせに対応するcmykの数値が格納されている。同図では、一例として、R,G,Bはそれぞれ00h〜FFhなので、L=17の時、Lで割った時の値は、それぞれ0〜15(0h〜Fh)となるような値が設定されている。したがって、R÷17、G÷17、B÷17がそれぞれ0〜15の16通りの値を取り得るので、16×16×16=4096通りの組み合わせで入力と出力が対応するテーブルとなる。 FIG. 4 shows an example of the LUT 7 in the present embodiment (Example 1). On the input color side, quotients r, g, and b obtained by dividing the RGB color data by the grid interval L are stored. On the output color side, a numerical value of cmyk corresponding to the combination of rgb on the input side is stored. In the figure, as an example, R, G, and B are 00h to FFh, respectively. Therefore, when L = 17, the value when divided by L is set to 0 to 15 (0h to Fh). Has been. Therefore, since R ÷ 17, G ÷ 17, and B ÷ 17 can take 16 values of 0 to 15, respectively, the table corresponds to the input and the output in 16 × 16 × 16 = 4096 combinations.
図5は、本実施形態(実施例1)におけるLUT参照制御部8の動作シーケンスを示す。ここで、FIFO1(3)の出力bit幅と1ドットのbit数が同じであるとする。即ちPCIのbit幅とRGBのbit数が一致しない場合には、途中にbit幅を変換する回路を設け、その変換回路の出力がFIFO1の出力であるとして説明する。 FIG. 5 shows an operation sequence of the LUT reference control unit 8 in the present embodiment (Example 1). Here, it is assumed that the output bit width of FIFO1 (3) is the same as the number of bits per dot. That is, in the case where the bit width of PCI does not match the number of RGB bits, a circuit for converting the bit width is provided in the middle, and the output of the conversion circuit is described as the output of FIFO1.
LUT参照制御部8は、初期状態はステートST0で、FIFO1(3)にデータがなければ待機する(ステートST0−1で「N」へ進む)。FIFO1(3)にデータがあれば(ステートST0−1で「Y」へ進む)、LUT参照制御部8は、そのデータを1ワード、即ちRGB1ドット分のデータをリードする。 The LUT reference control unit 8 is in the state ST0 in the initial state, and waits if there is no data in the FIFO1 (3) (goes to “N” in the state ST0-1). If there is data in FIFO1 (3) (goes to “Y” in state ST0-1), the LUT reference control unit 8 reads the data for one word, that is, data for one RGB dot.
このとき、そのRGB1ドット分のデータは同時に比較器6にも入力される。比較器6は、第1の一時保管バッファ5に記憶されたRGBデータ(24bit)と今回取得したRGBデータ(24bit)とが一致するか否かを判定し(ステートST0−2)、その判定結果をLUT参照制御部8へ通知する。 At this time, the data for one RGB dot is simultaneously input to the comparator 6. The comparator 6 determines whether or not the RGB data (24 bits) stored in the first temporary storage buffer 5 matches the RGB data (24 bits) acquired this time (state ST0-2), and the determination result Is notified to the LUT reference control unit 8.
比較器6からの通知信号に基づいて、LUT参照制御部8は、そのリードしたRGB1ドット分のデータが前回のRGB1ドット分のデータと一致しなければ(ステートST0−2で「N」へ進む)、ステートST1へ移行する。このとき、LUT参照制御部8は、リードしたRGB1ドット分のデータを前回のドット情報(RGB24bit)として第1の一時保管バッファ5に上書き保存する。 Based on the notification signal from the comparator 6, the LUT reference control unit 8 does not match the read RGB 1 dot data with the previous RGB 1 dot data (goes to “N” in state ST0-2). ), Transition to the state ST1. At this time, the LUT reference control unit 8 overwrites and saves the read RGB 1 dot data in the first temporary storage buffer 5 as the previous dot information (RGB 24 bits).
ステートST1では、LUT参照制御部8は、RGB÷Lの計算を行い、その値を(1)rgbとする。また、RGB−((1)rgb×L)からxyzを算出する。 In the state ST1, the LUT reference control unit 8 calculates RGB ÷ L and sets the value to (1) rgb. Further, xyz is calculated from RGB-((1) rgb × L).
次のステートST2では、LUT参照制御部8は、(1)rgbをLUT7の入力、即ちLUT7が展開されたメモリのアドレスに出力する。 In the next state ST2, the LUT reference control unit 8 outputs (1) rgb to the input of the LUT 7, that is, to the address of the memory where the LUT 7 is expanded.
次のステートST3では、LUT参照制御部8は、LUT7の出力からcmykを取得する。例えば、LUTの入力が(1)rgbだったら(1)cmykを取得する。 In the next state ST3, the LUT reference control unit 8 acquires cmyk from the output of the LUT 7. For example, if the LUT input is (1) rgb, (1) cmyk is acquired.
次の条件判断にて(8)cmykまでは取得していないので、LUT参照制御部8は、ステートST4に移行し、図5の下方に記載した内容の通りに、(1)rgbを(2)rgbに変換する。すなわちrの値をr+1とする。上記と同様に、LUT参照制御部8は、ステートST2にて(2)rgbをLUT7に出力して、ST3にて(2)cmykを得る。LUT参照制御部8は、(1)cmyk〜(8)cmykの全ての値を取得し、ステートST3の判定にて、(8)cmykを取得していたと判断するまで繰り返す。LUT参照制御部8は、取得した(1)cmyk〜(8)cmykと、xyzとを乗除演算部9へ転送する。 Since up to (8) cmyk has not been acquired in the next condition determination, the LUT reference control unit 8 moves to the state ST4, and (1) rgb is changed to (2) as described in the lower part of FIG. ) Convert to rgb. That is, the value of r is r + 1. Similarly to the above, the LUT reference control unit 8 outputs (2) rgb to the LUT 7 in the state ST2, and obtains (2) cmyk in ST3. The LUT reference control unit 8 acquires all values from (1) cmyk to (8) cmyk, and repeats until it is determined in the determination of state ST3 that (8) cmyk has been acquired. The LUT reference control unit 8 transfers the acquired (1) cmyk to (8) cmyk and xyz to the multiplication / division calculation unit 9.
次のステートST5にて、乗除演算部9は、(1)〜(8)cmykとxyzの値にて乗除演算を行い、CMYK(32bit)を算出して、ディザ処理部12にその結果を渡す。また、CMYK(32bit)は、前回のドット情報(CMYK(32bit))として第2の一時保管バッファ10に保存しておく。 In the next state ST5, the multiplication / division calculation unit 9 performs multiplication / division calculation using the values of (1) to (8) cmyk and xyz, calculates CMYK (32 bits), and passes the result to the dither processing unit 12. . Also, CMYK (32 bits) is stored in the second temporary storage buffer 10 as the previous dot information (CMYK (32 bits)).
次に、FIFO1(3)からRGBデータをリードした時に、前回のRGBデータ1ドット分と同一だった場合(ステートST0−2で「Y」へ進む)のフローを説明する。前回のドット情報(RGB(24bit))と同じ場合には、LUT参照制御部8は、ステートST7に移行することにより、セレクタ11に前回のドット情報((CMYK32bit))を選択させる。そして、セレクタ11はそのデータをディザ処理部12に渡す(ステートST6)。ステートST6まで処理したら、LUT参照制御部8は、またステートST0に戻り、次のドットの変換を開始する。 Next, a flow when the RGB data is read from the FIFO1 (3) and is the same as the previous RGB data for one dot (goes to “Y” in the state ST0-2) will be described. If it is the same as the previous dot information (RGB (24 bits)), the LUT reference control unit 8 causes the selector 11 to select the previous dot information ((CMYK32 bits)) by shifting to the state ST7. Then, the selector 11 passes the data to the dither processing unit 12 (state ST6). After processing up to the state ST6, the LUT reference control unit 8 returns to the state ST0 and starts conversion of the next dot.
本実施例によれば、RGBデータをCMYKに変換するにあたり、非線形の変換を行うためのLUT参照および線形補間処理のための乗除演算を行うに際し、同じ内容のドット情報が連続する場合には、LUT参照および線形補間処理のための乗除演算を省略して、ディザ処理を連続して行うことができる。これにより、全体の処理時間を短縮することができる。さらに、コストパフォーマンスを向上させることができる。 According to the present embodiment, when converting RGB data into CMYK, when dot information of the same content is consecutive when performing LUT reference for nonlinear conversion and multiplication / division calculation for linear interpolation processing, Dithering can be performed continuously by omitting multiplication and division operations for LUT reference and linear interpolation processing. Thereby, the whole processing time can be shortened. Furthermore, cost performance can be improved.
(実施例2)
実施例1では1ドット分のRGBデータとそれに対応するCMYKデータをそれぞれ一時的に記憶したが、本実施例では複数ドット分のRGBデータとそれに対応するCMYKデータをそれぞれ一時的に記憶可能にした色変換装置について説明する。
(Example 2)
In the first embodiment, RGB data for one dot and CMYK data corresponding thereto are temporarily stored, but in this embodiment, RGB data for a plurality of dots and corresponding CMYK data can be temporarily stored. A color conversion apparatus will be described.
図6は、本実施形態(実施例2)における色変換装置のブロック図である。図6のASIC1は、図3のASIC1の第1の一時保管バッファ5及び第2の一時保管バッファ10をそれぞれ、第1の一時保管バッファ群31及び第2の一時保管バッファ群32に置き換えたものである。 FIG. 6 is a block diagram of a color conversion apparatus according to the present embodiment (Example 2). The ASIC 1 in FIG. 6 is obtained by replacing the first temporary storage buffer 5 and the second temporary storage buffer 10 of the ASIC 1 in FIG. 3 with a first temporary storage buffer group 31 and a second temporary storage buffer group 32, respectively. It is.
第1の一時保管バッファ群31は、複数の第1の一時保管バッファ5から構成される。第2の一時保管バッファ群32は、複数の第2の一時保管バッファ10から構成される。 The first temporary storage buffer group 31 includes a plurality of first temporary storage buffers 5. The second temporary storage buffer group 32 includes a plurality of second temporary storage buffers 10.
図7は、本実施形態(実施例2)におけるLUT参照制御部8の動作シーケンスを示す。図7のフローにおいて、図5のフローと相違する部分は、ステートST0−2に対応するステートST0−3と、ステートST5に対応するステートST5−1と、ステートST7に対応するステートST7−1である。ST0−3については図8、図9を用いて説明する。ステートS5−1,ST7−1については、図10、図11を用いて説明する。 FIG. 7 shows an operation sequence of the LUT reference control unit 8 in the present embodiment (Example 2). In the flow of FIG. 7, the portions different from the flow of FIG. 5 are a state ST0-3 corresponding to the state ST0-2, a state ST5-1 corresponding to the state ST5, and a state ST7-1 corresponding to the state ST7. is there. ST0-3 will be described with reference to FIGS. The states S5-1 and ST7-1 will be described with reference to FIGS.
図8は、本実施形態(実施例2)における第1の一時保管バッファ群31の構成を示す。本実施例では、4種類のデータ(RGB)と4種類のデータ(CMYK)をそれぞれ、第1の一時保管バッファ群31、第2の一時保管バッファ群32に一時的に保管することができる。 FIG. 8 shows the configuration of the first temporary storage buffer group 31 in the present embodiment (Example 2). In the present embodiment, four types of data (RGB) and four types of data (CMYK) can be temporarily stored in the first temporary storage buffer group 31 and the second temporary storage buffer group 32, respectively.
同図はステートST0−3での処理に相当する。第1の一時保管バッファ群31は、バッファ31−0〜31−3から構成される。バッファ31−0〜31−3の番地をそれぞれ0〜3番地とする。FIFO1から出力されたRGBデータをF0とする。バッファ31−0〜31−3に格納されているRGBデータをそれぞれ、A0〜A3とする。 This figure corresponds to the processing in the state ST0-3. The first temporary storage buffer group 31 includes buffers 31-0 to 31-3. The addresses of the buffers 31-0 to 31-3 are 0 to 3, respectively. The RGB data output from the FIFO1 is assumed to be F0. Let RGB data stored in the buffers 31-0 to 31-3 be A0 to A3, respectively.
比較器6による比較の結果、FIFO1(3)の出力データF0が0番地〜3番地の4種類のデータA0〜A3と1つも一致しない場合には、3番地の内容が破棄されて、2番地の内容が3番地に上書きされる。同様に1番地の内容が2番地に、0番地の内容が1番地に上書きされ、FIFO1(3)の出力データF0が0番地に保管される。 As a result of the comparison by the comparator 6, when the output data F0 of the FIFO1 (3) does not coincide with any of the four types of data A0 to A3 of the addresses 0 to 3, the contents of the address 3 are discarded and the address 2 Is overwritten at address 3. Similarly, the contents of the address 1 are overwritten to the address 2, the contents of the address 0 are overwritten to the address 1, and the output data F0 of the FIFO1 (3) is stored in the address 0.
FIFO1の出力データF0が、0番地〜3番地の4種類のデータ(RGB)のうち1つでも一致した場合には、一時保管バッファ群31に重複してデータ保管は行わない。この場合、比較器6は、FIFO1から出力されたRGBデータF0と、各バッファ31−0〜31−3から出力されたRGBデータA0〜A3とを順次比較する。比較後、比較器6は、LUT参照制御部8に対して、一致/不一致の旨を示す信号、及び一致した場合に一致したRGBデータが格納された番地情報を出力する。 If the output data F0 of the FIFO1 matches even one of the four types of data (RGB) from address 0 to address 3, data is not stored redundantly in the temporary storage buffer group 31. In this case, the comparator 6 sequentially compares the RGB data F0 output from the FIFO 1 and the RGB data A0 to A3 output from the buffers 31-0 to 31-3. After the comparison, the comparator 6 outputs to the LUT reference control unit 8 a signal indicating the coincidence / non-coincidence and the address information in which the matched RGB data is stored when they match.
図9は、本実施形態(実施例2)における比較器6の内容を示す。同図において、Sは、1:一致、0:不一致を示す。Nは、番地情報を示す。図8を参照しながら、図9について説明する。 FIG. 9 shows the contents of the comparator 6 in the present embodiment (Example 2). In the figure, S indicates 1: match, 0: mismatch. N indicates address information. 9 will be described with reference to FIG.
まず、比較器6は、FIFO1から出力されたRGBデータF0とバッファ31−0から出力されたRGBデータA0とを比較する。比較の結果、F0とA0が一致する場合、比較器6は、一致する旨を示す信号(S=1)と番地情報(N=0)を出力する。 First, the comparator 6 compares the RGB data F0 output from the FIFO 1 with the RGB data A0 output from the buffer 31-0. If F0 and A0 match as a result of the comparison, the comparator 6 outputs a signal (S = 1) and address information (N = 0) indicating that they match.
RGBデータA0との比較が不一致の場合、比較器6は、RGBデータF0とバッファ31−1から出力されたRGBデータA1とを比較する。比較の結果、F0とA1が一致する場合、比較器6は、一致する旨を示す信号(S=1)と番地情報(N=1)を出力する。 When the comparison with the RGB data A0 does not match, the comparator 6 compares the RGB data F0 with the RGB data A1 output from the buffer 31-1. If F0 and A1 match as a result of the comparison, the comparator 6 outputs a signal (S = 1) and address information (N = 1) indicating that they match.
RGBデータA1との比較が不一致の場合、比較器6は、RGBデータF0とバッファ31−2から出力されたRGBデータA2とを比較する。比較の結果、F0とA2が一致する場合、比較器6は、一致する旨を示す信号(S=1)と番地情報(N=2)を出力する。 When the comparison with the RGB data A1 does not match, the comparator 6 compares the RGB data F0 with the RGB data A2 output from the buffer 31-2. If F0 and A2 match as a result of the comparison, the comparator 6 outputs a signal (S = 1) and address information (N = 2) indicating that they match.
RGBデータA0との比較が不一致の場合、比較器6は、RGBデータF0とバッファ31−3から出力されたRGBデータA3とを比較する。比較の結果、F0とA3が一致する場合、比較器6は、一致する旨を示す信号(S=1)と番地情報(N=3)を出力する。 When the comparison with the RGB data A0 does not match, the comparator 6 compares the RGB data F0 with the RGB data A3 output from the buffer 31-3. If F0 and A3 match as a result of the comparison, the comparator 6 outputs a signal (S = 1) and address information (N = 3) indicating that they match.
RGBデータF0がRGBデータA0〜A3のいずれにも一致しない場合、比較器6は、不一致である旨を示す信号(S=0)を出力する。 If the RGB data F0 does not match any of the RGB data A0 to A3, the comparator 6 outputs a signal (S = 0) indicating that they do not match.
図10は、本実施形態(実施例2)における第2の一時保管バッファ群32の構成を示す。同図において、第2の一時保管バッファ群32は、バッファ32−0〜32−3から構成される。バッファ32−0〜32−3の番地をそれぞれ0〜3番地とする。乗除演算部9から出力されたCMYKデータをM0とする。バッファ32−0〜32−3に格納されているCMYKデータをそれぞれ、B0〜B3とする。 FIG. 10 shows the configuration of the second temporary storage buffer group 32 in the present embodiment (Example 2). In the figure, the second temporary storage buffer group 32 includes buffers 32-0 to 32-3. Addresses of the buffers 32-0 to 32-3 are set to addresses 0 to 3, respectively. The CMYK data output from the multiplication / division calculator 9 is assumed to be M0. Let CMYK data stored in the buffers 32-0 to 32-3 be B0 to B3, respectively.
セレクタ11は、LUT参照制御部8から出力された一致/不一致の旨を示す信号Sと番地情報Nとに基づいて、乗除演算部9から出力されたCMYKデータM0またはバッファ32−0〜32−3に格納されたB0〜B3のいずれかを選択し、その選択したデータYをディザ処理部12に出力する。 The selector 11 uses the CMYK data M0 output from the multiplication / division calculation unit 9 or the buffers 32-0 to 32- based on the signal S indicating the match / mismatch output from the LUT reference control unit 8 and the address information N. 3 selects one of B0 to B3 stored in 3 and outputs the selected data Y to the dither processing unit 12.
図11は、本実施形態(実施例2)におけるセレクタ11の内容を示す。同図において、S=1の場合はステートST7−1に相当し、S=0の場合はステートST5−1に相当する。 FIG. 11 shows the contents of the selector 11 in the present embodiment (Example 2). In the figure, S = 1 corresponds to state ST7-1, and S = 0 corresponds to state ST5-1.
セレクタ11は、LUT参照制御部8からの出力情報がS=1、N=0である場合、バッファ32−0に格納されたCMYKデータB0を選択出力データYとして出力する。 The selector 11 outputs the CMYK data B0 stored in the buffer 32-0 as the selected output data Y when the output information from the LUT reference control unit 8 is S = 1 and N = 0.
また、セレクタ11は、LUT参照制御部8からの出力情報がS=1、N=1である場合、バッファ32−1に格納されたCMYKデータB1を選択出力データYとして出力する。 The selector 11 outputs the CMYK data B1 stored in the buffer 32-1 as the selected output data Y when the output information from the LUT reference control unit 8 is S = 1 and N = 1.
また、セレクタ11は、LUT参照制御部8からの出力情報がS=1、N=2である場合、バッファ32−2に格納されたCMYKデータB2を選択出力データYとして出力する。 The selector 11 outputs the CMYK data B2 stored in the buffer 32-2 as the selected output data Y when the output information from the LUT reference control unit 8 is S = 1 and N = 2.
また、セレクタ11は、LUT参照制御部8からの出力情報がS=1、N=3である場合、バッファ32−3に格納されたCMYKデータB3を選択出力データYとして出力する。 The selector 11 outputs the CMYK data B3 stored in the buffer 32-3 as the selected output data Y when the output information from the LUT reference control unit 8 is S = 1 and N = 3.
このように、LUT参照制御部8からの出力情報がS=1の場合には、いずれの場合も第2の一時保管バッファ群32に重複してデータ保管は行わない。 Thus, when the output information from the LUT reference control unit 8 is S = 1, data is not stored redundantly in the second temporary storage buffer group 32 in any case.
一方、セレクタ11は、LUT参照制御部8からの出力情報がS=0である場合、乗除演算部9から出力されたCMYKデータM0を選択出力データYとして出力する。このとき、バッファ32−0〜32−3に関しては、3番地の内容が破棄されて、2番地の内容が3番地に上書きされる。同様に1番地の内容が2番地に、0番地の内容が1番地に上書きされ、CMYKデータM0が0番地に保管される。 On the other hand, when the output information from the LUT reference control unit 8 is S = 0, the selector 11 outputs the CMYK data M0 output from the multiplication / division calculation unit 9 as the selection output data Y. At this time, with respect to the buffers 32-0 to 32-3, the contents of address 3 are discarded, and the contents of address 2 are overwritten to address 3. Similarly, the contents of address 1 are overwritten with address 2, the contents of address 0 are overwritten with address 1, and CMYK data M0 is stored at address 0.
本実施形態によれば、複数ドット分のRGBデータ及びCMYKデータを保持しておくことができる。これにより、変換前のRGBデータと、それに対応するCMYKデータを複数記憶し、これから変換しようとするドットがその記憶しているドットと同一かどうかを比較し、同一の場合にはLUT参照および線形補間処理のための乗除演算を省略し、ディザ処理を連続して行う。その結果、同一データの検出率を高めることができるので、全体の処理時間をより短縮することができる。 According to the present embodiment, RGB data and CMYK data for a plurality of dots can be held. As a result, a plurality of RGB data before conversion and CMYK data corresponding thereto are stored, and it is compared whether or not the dot to be converted is the same as the stored dot. The multiplication / division calculation for the interpolation processing is omitted, and the dither processing is performed continuously. As a result, since the detection rate of the same data can be increased, the overall processing time can be further shortened.
なお、第2の実施例では、一時保管バッファ群に書き込むアドレスを0番地固定としたが、保管したデータのアドレスは変更せずに、書き込む場所を可変としても良い。第2の実施例では、一時保管バッファ群のアドレスを0番地から3番地の4種類としたが、比較することが出来る限りアドレスの範囲を広げても良い。 In the second embodiment, the address to be written to the temporary storage buffer group is fixed to address 0, but the address of the stored data may be changed without changing the address of the stored data. In the second embodiment, the addresses of the temporary storage buffer group are four types from address 0 to address 3, but the address range may be expanded as much as possible.
また、白や黒のRGBデータ及びCMYKデータをそれぞれ第1及び第2の一時バッファ群に予め固定で保持していてもよい。 Also, white and black RGB data and CMYK data may be fixedly held in advance in the first and second temporary buffer groups, respectively.
<第2の実施形態>
実施形態では、全てのRGB入力に対して、変換されるべきCMYKデータが格納されたルックアップテーブルをメモリに用意する場合について説明する。
<Second Embodiment>
In the embodiment, a case will be described in which a lookup table storing CMYK data to be converted is prepared in a memory for all RGB inputs.
(実施例1)
図12は、本実施形態(実施例1)における色変換装置の全体構成の概要を示す。同図において、ASIC内には少なくとも、不図示のLUT参照制御部と、ROM(リードオンリーメモリ)42を備える。ROM(リードオンリーメモリ)42には、入力可能な全てのRGBデータに対応するCMYKデータが格納されたLUTが記憶されている。
Example 1
FIG. 12 shows an overview of the overall configuration of the color conversion apparatus according to this embodiment (Example 1). In the figure, the ASIC includes at least an LUT reference control unit (not shown) and a ROM (Read Only Memory) 42. A ROM (Read Only Memory) 42 stores an LUT in which CMYK data corresponding to all input RGB data is stored.
まず、LUT参照制御部は、RGBの入力データ(各8ビット)41をROM42のアドレスに入力する。例えば、Rの入力データR0,R1,・・をそれぞれアドレスA0,A1,・・・に入力する。 First, the LUT reference control unit inputs RGB input data (each 8 bits) 41 to the address of the ROM 42. For example, R input data R0, R1,... Are input to addresses A0, A1,.
そうすると、入力されたRGBデータ41に対応するCMYKデータ(各8ビット)43がROM42から出力される。例えば、ドットデータD0,D1,・・・としてそれぞれ、C0,C1,・・・が出力される。 Then, CMYK data (each 8 bits) 43 corresponding to the input RGB data 41 is output from the ROM 42. For example, C0, C1,... Are output as dot data D0, D1,.
これにより、メモリ(ROM42)上の変換テーブル(LUT)を参照するのみで、RGBデータからCMYKデータに変換されるため、色変換処理を非常に高速で行うことができる。 Thus, since the RGB data is converted into CMYK data only by referring to the conversion table (LUT) on the memory (ROM 42), the color conversion process can be performed at a very high speed.
なお、この色変換は、パーソナルコンピュータ(PC)上で動作するソフトウェアで行うこともできる。この場合、例えば、LUTのテーブルサイズは、16M×4バイト=64Mバイトとすることができる。 The color conversion can also be performed by software operating on a personal computer (PC). In this case, for example, the table size of the LUT can be 16M × 4 bytes = 64M bytes.
また、CMYKデータからRGBデータへの変換も同様に行うことができる。これについて図13で説明する。 Also, conversion from CMYK data to RGB data can be performed in the same manner. This will be described with reference to FIG.
図13は、本実施形態(実施例1の変形例)における色変換装置の全体構成の概要を示す。まず、LUT参照制御部は、CMYKの入力データ(各8ビット)43をROM42のアドレスに入力する。そうすると、入力されたCMYKデータ43に対応するRGBデータ(各8ビット)41がROM42から出力される。 FIG. 13 shows an outline of the overall configuration of the color conversion apparatus according to the present embodiment (modified example of Example 1). First, the LUT reference control unit inputs CMYK input data (each 8 bits) 43 to the address of the ROM 42. Then, RGB data (8 bits each) 41 corresponding to the input CMYK data 43 is output from the ROM 42.
なお、本実施例では、LUTをROMに格納したが、これに限定されず、例えばフラッシュメモリ、DRAM(Dynamic RAM)、HDD(ハードディスクドライブ)に格納してもよい。 In this embodiment, the LUT is stored in the ROM. However, the present invention is not limited to this. For example, the LUT may be stored in a flash memory, DRAM (Dynamic RAM), or HDD (hard disk drive).
(実施例2)
本実施例では、ROMに格納したLUTを複数にして、一部のテーブルを兼用することで小型化を図る色変換装置について説明する。
(Example 2)
In the present embodiment, a color conversion device that reduces the size by using a plurality of LUTs stored in the ROM and also serving as a part of the table will be described.
図14は、本実施形態(実施例2)における色変換装置の全体構成の概要を示す。ROM52は、24×24×24=4096個のデータを格納することができるテーブルである。このテーブルに格納される各データの内容は、256個のROM53群のうちのいずれかを特定するためのROM53のアドレス(0〜255番地)である。したがって、LUT参照制御部によりRGBデータ51の入力データ(各8ビット)の各色の上位4ビットがアドレスとしてROM52に入力されると、そのアドレスで指定されたテーブル内のデータからROM53群のうち所定のROM53を特定するアドレスを得ることができる。 FIG. 14 shows an overview of the overall configuration of the color conversion apparatus according to the present embodiment (Example 2). The ROM 52 is a table capable of storing 2 4 × 2 4 × 2 4 = 4096 data. The contents of each data stored in this table are the addresses (addresses 0 to 255) of the ROM 53 for specifying any one of the 256 ROM 53 groups. Therefore, when the upper 4 bits of each color of the input data (8 bits each) of the RGB data 51 is input to the ROM 52 as an address by the LUT reference control unit, a predetermined number of the ROM 53 group is determined from the data in the table specified by the address. An address for specifying the ROM 53 can be obtained.
次に、LUT参照制御部は、各色の下位4ビットを、上記で選択されたROM53のアドレスに入力する。その結果、その入力されたアドレスに格納されているデータがCMYKデータ54として出力される。このようにして、2段階のROMテーブルを用いて、色変換を行うことができる。 Next, the LUT reference control unit inputs the lower 4 bits of each color to the address of the ROM 53 selected above. As a result, the data stored at the input address is output as CMYK data 54. In this way, color conversion can be performed using the two-stage ROM table.
ここで、各ROM53は小さな範囲のRGB→CMYK変換テーブルである。したがって、色が近似できる範囲で2つ以上のテーブルのうちのいずれかを代表テーブルとし、その他のテーブルを省略することができる。つまり、代表テーブルは、省略したテーブルを兼用することになる。 Here, each ROM 53 is a small range RGB → CMYK conversion table. Therefore, one of the two or more tables can be used as a representative table within a range in which colors can be approximated, and the other tables can be omitted. That is, the representative table also serves as the omitted table.
図15は、本実施形態(実施例2)におけるROMテーブルの小型化について説明するための図である。同図では、ROM53−0とROM53−1は色が近似できる範囲内のテーブルであるとすると、一方を代表テーブルとすることができるので、他方を省略することができる。したがって、省略されなかった方のテーブルが省略された方のテーブルを兼用することになる。このとき、ROM52において、ROM53−1を特定するアドレスが格納されている場合には、ROM53−0のアドレスに書き換えられる。 FIG. 15 is a diagram for explaining the downsizing of the ROM table in the present embodiment (Example 2). In the figure, if the ROM 53-0 and the ROM 53-1 are tables within a range in which colors can be approximated, one can be used as a representative table, and the other can be omitted. Therefore, the table that is not omitted is also used as the table that is omitted. At this time, if the ROM 52 stores an address for specifying the ROM 53-1, it is rewritten to the address of the ROM 53-0.
本実施例によれば、ROM内のRGBデータからCMYKデータへ色変換するためのLUTを省略することができるので、LUTの小型化を図ることができる。 According to this embodiment, the LUT for color conversion from the RGB data in the ROM to the CMYK data can be omitted, so the LUT can be reduced in size.
なお、実施例1と同様に、この色変換は、パーソナルコンピュータ(PC)上で動作するソフトウェアで行うこともできる。また、実施例1と同様に、CMYKデータからRGBデータへの変換も同様に行うことができる。 As in the first embodiment, this color conversion can also be performed by software operating on a personal computer (PC). Similarly to the first embodiment, conversion from CMYK data to RGB data can be performed in the same manner.
なお、本実施例では、LUTをROMに格納したが、これに限定されず、フラッシュメモリ、DRAM(Dynamic RAM)、HDD(ハードディスクドライブ)に格納してもよい。なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。 In this embodiment, the LUT is stored in the ROM. However, the present invention is not limited to this, and the LUT may be stored in a flash memory, a DRAM (Dynamic RAM), or an HDD (Hard Disk Drive). The present invention is not limited to the above-described embodiment, and various configurations or embodiments can be taken without departing from the gist of the present invention.
1 ASIC
2 PCIコントローラ
3 FIFO1
4 FIFO2
5 第1の一時保管バッファ
6 比較器
7 LUT
8 LUT参照制御部
9 乗除演算部
10 第2の一時保管バッファ
11 セレクタ
12 ディザ処理部
20 制御系チップ
21 CPU
22 メモリコントローラ
23 PCIコントローラ
24 メモリ
25 バス
31 第1の一時保管バッファ群
32 第2の一時保管バッファ群
42,52,53 ROM
1 ASIC
2 PCI controller 3 FIFO1
4 FIFO2
5 First temporary storage buffer 6 Comparator 7 LUT
8 LUT reference control unit 9 Multiplication / division calculation unit 10 Second temporary storage buffer 11 Selector 12 Dither processing unit 20 Control system chip 21 CPU
22 memory controller 23 PCI controller 24 memory 25 bus 31 first temporary storage buffer group 32 second temporary storage buffer group 42, 52, 53 ROM
Claims (5)
前記第1の色データを読み込む読込手段と、
今回読み込まれた前記第1の色データと以前に読み込まれた前記第1の色データとを比較する比較手段と、
前記第1の色データを一時的に格納することが可能であって、比較手段による比較の結果、前記2つの第1の色データが不一致の場合、前記以前に格納された第1の色データが前記今回読み込んだ第1の色データに置き換えられる第1の一時格納手段と、
前記第1の色データと、該第1の色データに対応する前記第2の色データとが断続的に格納された色変換データ格納手段と、
前記色変換データ格納手段に基づいて、前記第1の色データを前記第2の色データに変換する色変換手段と、
前記色変換手段により変換された前記第2の色データに基づいて、補間処理を行う補間手段と、
前記補間処理がされた第2の色データを一時的に格納することができる第2の一時格納手段と、
前記比較の結果に基づいて、前記第2の一時格納手段に格納された前記第2の色データを出力するか、または前記補間処理がされた前記第2の色データを出力するかを選択する選択手段と、
を備えることを特徴とする色変換処理装置。 A color conversion processing device for converting first color data output to a first medium into second color data for output to a second medium,
Reading means for reading the first color data;
Comparing means for comparing the first color data read this time with the first color data read previously;
When the first color data can be temporarily stored and the two first color data do not match as a result of comparison by the comparison means, the previously stored first color data Is temporarily replaced with the first color data read this time;
Color conversion data storage means in which the first color data and the second color data corresponding to the first color data are intermittently stored;
Color conversion means for converting the first color data into the second color data based on the color conversion data storage means;
Interpolation means for performing interpolation processing based on the second color data converted by the color conversion means;
Second temporary storage means capable of temporarily storing the second color data subjected to the interpolation processing;
Based on the result of the comparison, it is selected whether to output the second color data stored in the second temporary storage means or to output the second color data subjected to the interpolation processing. A selection means;
A color conversion processing apparatus comprising:
ことを特徴とする請求項1に記載の色変換処理装置。 The selection means outputs the second color data stored in the second temporary storage means when the two first color data match as a result of the comparison. The color conversion processing apparatus according to 1.
ことを特徴とする請求項1に記載の色変換処理装置。 The color conversion processing apparatus according to claim 1, wherein each of the first and second temporary storage units includes a plurality of temporary storage units.
前記比較手段は、前記読込手段により読み込まれた前記第1の色データと、前記各第1の一時格納手段に格納された前記第1の色データとを順次比較し、該比較の結果、一致した該第1の色データに対応する前記第2の色データの所在を示す情報を出力し、
前記選択手段は、前記第2の色データの所在を示す情報に基づいて、前記第2の一時格納手段群から前記第2の色データを選択する
ことを特徴とする請求項3に記載の色変換処理装置。 The first temporary storage means stores the first color data that is different between the temporary storage means constituting the first temporary storage means,
The comparison means sequentially compares the first color data read by the reading means and the first color data stored in the first temporary storage means, and as a result of the comparison, matches Outputting information indicating the location of the second color data corresponding to the first color data,
4. The color according to claim 3, wherein the selection unit selects the second color data from the second temporary storage unit group based on information indicating a location of the second color data. 5. Conversion processing device.
前記第1の色データを読み込み、
前記読み込まれた第1の色データと、前記第1の色データが一時的に格納されている第1の一時格納装置から読み出した第1の色データとを比較し、
前記比較の結果、前記2つの第1の色データが不一致の場合、前記第1の一時格納手段に格納された第1の色データを前記今回読み込んだ第1の色データに置き換え、
前記第1の色データと、該第1の色データに対応する前記第2の色データとが断続的に格納された色変換データ格納装置に基づいて、前記第1の色データを前記第2の色データに変換し、
前記変換された前記第2の色データに基づいて、補間処理を行い、
前記補間処理がされた第2の色データを一時的に格納することができる第2の一時格納装置に格納し、
前記比較の結果に基づいて、前記第2の一時格納装置に格納された前記第2の色データを出力するか、または前記補間処理がされた前記第2の色データを出力するかを選択する
ことを特徴とする色変換処理方法。 A color conversion processing method by a color conversion processing device for converting first color data output to a first medium into second color data for output to a second medium,
Reading the first color data;
Comparing the read first color data with the first color data read from the first temporary storage device in which the first color data is temporarily stored;
If the two first color data do not match as a result of the comparison, the first color data stored in the first temporary storage means is replaced with the first color data read this time,
Based on a color conversion data storage device in which the first color data and the second color data corresponding to the first color data are intermittently stored, the first color data is converted into the second color data. Converted to color data,
An interpolation process is performed based on the converted second color data,
Storing the second color data subjected to the interpolation processing in a second temporary storage device capable of temporarily storing;
Based on the comparison result, it is selected whether to output the second color data stored in the second temporary storage device or to output the second color data subjected to the interpolation processing. And a color conversion processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007168101A JP2009010532A (en) | 2007-06-26 | 2007-06-26 | Color conversion processor and color conversion method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007168101A JP2009010532A (en) | 2007-06-26 | 2007-06-26 | Color conversion processor and color conversion method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009010532A true JP2009010532A (en) | 2009-01-15 |
Family
ID=40325199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007168101A Withdrawn JP2009010532A (en) | 2007-06-26 | 2007-06-26 | Color conversion processor and color conversion method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009010532A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470591A (en) * | 2020-03-31 | 2021-10-01 | 京东方科技集团股份有限公司 | Monitor toning method and device, electronic equipment and storage medium |
-
2007
- 2007-06-26 JP JP2007168101A patent/JP2009010532A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470591A (en) * | 2020-03-31 | 2021-10-01 | 京东方科技集团股份有限公司 | Monitor toning method and device, electronic equipment and storage medium |
CN113470591B (en) * | 2020-03-31 | 2023-11-14 | 京东方科技集团股份有限公司 | Monitor color matching method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8243084B2 (en) | Apparatus and method for processing data | |
JP4795264B2 (en) | Scan conversion device and scan conversion method | |
US8503025B2 (en) | Image processing apparatus, image processing method, and computer program product | |
US20140348437A1 (en) | Data storage control apparatus, data storage apparatus, data readout control apparatus, data storage method, compression circuit, and compression method | |
US7555170B2 (en) | Image processing apparatus for scaling images | |
JP2015222932A (en) | Apparatus and method for image processing | |
JP4519925B2 (en) | Color conversion circuit and color conversion method | |
JP6251029B2 (en) | Control device, image processing device, control method, and program | |
JP2006145850A (en) | Data outputting method and device, liquid crystal panel driving device using the same, and liquid crystal display device | |
US8565542B2 (en) | Data processing apparatus and data processing method | |
US7777924B2 (en) | Color conversion device and color conversion program | |
JP2009010532A (en) | Color conversion processor and color conversion method | |
JP2004038693A (en) | Data converting method and image processing device | |
JP6675408B2 (en) | Information processing system, information processing method, information processing program, and storage medium | |
JP6448410B2 (en) | Data conversion apparatus, control method therefor, and program | |
US8966145B2 (en) | Data conversion apparatus and method | |
JP2010193474A (en) | Device and method for multi-dimensional interpolation, and computer program | |
JP4468270B2 (en) | Normalization method, multidimensional interpolation apparatus and program | |
JP6501561B2 (en) | DATA PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM | |
JPH0774973A (en) | Data conversion device | |
JP4411230B2 (en) | COLOR CONVERSION DEVICE, ITS CONTROL METHOD, AND PROGRAM | |
JP4402523B2 (en) | DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM | |
JP2007312085A (en) | Video processor | |
JP2011204025A (en) | Image processing accelerator | |
JP2004072397A (en) | Image processing apparatus and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100907 |