JP4298730B2 - Color conversion apparatus and method - Google Patents

Color conversion apparatus and method Download PDF

Info

Publication number
JP4298730B2
JP4298730B2 JP2006214528A JP2006214528A JP4298730B2 JP 4298730 B2 JP4298730 B2 JP 4298730B2 JP 2006214528 A JP2006214528 A JP 2006214528A JP 2006214528 A JP2006214528 A JP 2006214528A JP 4298730 B2 JP4298730 B2 JP 4298730B2
Authority
JP
Japan
Prior art keywords
data
color
weighting
sample point
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006214528A
Other languages
Japanese (ja)
Other versions
JP2007110681A (en
Inventor
洋一 兒玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2006214528A priority Critical patent/JP4298730B2/en
Publication of JP2007110681A publication Critical patent/JP2007110681A/en
Application granted granted Critical
Publication of JP4298730B2 publication Critical patent/JP4298730B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、テーブルを用いた色変換に関する。   The present invention relates to color conversion using a table.

今日、コンピュータの発達と共にデジタル画像データがごく一般的に流通している。デバイス間のカラー表現の差異を配慮して、入力画像データを使用デバイスに適切な色信号に変換するカラーマッチングが、知られている。   Today, with the development of computers, digital image data is very popular. In consideration of the difference in color expression between devices, color matching is known in which input image data is converted into a color signal suitable for a device to be used.

図21の概念図を用いて従来のカラーマッチングについて説明する。入力データ(RGBデータ)は、入力プロファイル101によりデバイスに依存しない色空間のXYZデータに変換される。出力デバイスの色再現範囲外の色は出力デバイスにより再現することができない。よって、変換されたXYZデータを出力デバイスの色再現範囲内にマッピングする色空間圧縮を行う。そして、色空間圧縮が施されたデータはデバイスに依存しない色空間から出力デバイスに依存する色空間のCMYKデータへ変換される。   Conventional color matching will be described with reference to the conceptual diagram of FIG. The input data (RGB data) is converted into XYZ data in a color space independent of the device by the input profile 101. Colors outside the color reproduction range of the output device cannot be reproduced by the output device. Therefore, color space compression is performed to map the converted XYZ data within the color reproduction range of the output device. The data subjected to color space compression is converted from a device-independent color space to CMYK data in a color space depending on the output device.

カラーマッチングにおいて基準白色点および環境光は固定されている。例えば、International Color Consortium(ICC)によって規定されるプロファイルでは、Profile ConnectionSpace(PCS)がD50基準のXYZ値およびLab値である。このため、入力原稿やプリント出力はD50の光源下で観察する場合に正しい色再現が保証されるが、その他の光源下では正しい色再現が保証されない。   In color matching, the reference white point and the ambient light are fixed. For example, in the profile defined by the International Color Consortium (ICC), the Profile Connection Space (PCS) is the XYZ value and Lab value of the D50 standard. For this reason, correct color reproduction is assured when the input document or print output is observed under the light source of D50, but correct color reproduction is not guaranteed under other light sources.

このような従来のカラーマッチング処理の問題点を解決するために、環境光などの観察条件に関わらず良好なカラーマッチングを行うことを可能とするものがある(特許文献1)。   In order to solve such a problem of the conventional color matching processing, there is one that can perform good color matching regardless of observation conditions such as ambient light (Patent Document 1).

特許文献1は、図21を用いて説明した従来のカラーマッチング方法と比して、変換段階が明示的に分離されている。各段階の変換処理は、例えばデバイスに最適な変換処理を用いる事が可能となるよう更新可能な構成にすることが簡便となった。   In Patent Document 1, the conversion stage is explicitly separated as compared with the conventional color matching method described with reference to FIG. The conversion process at each stage has become simpler to have an updatable configuration so that, for example, a conversion process optimal for the device can be used.

このカラーマネージメントシステムによれば、スキャナ−プリンタシステムあるいはモニタ−プリンタシステムなど幅広く柔軟に対応できる。例えばデスクトップ・パブリッシング(DTP)システムでは、ソース側プロファイルにモニタプロファイルを指定し、ディスティネーション側プロファイルにプリンタプロファイルを指定すれば、モニタ上のカラー画像とプリンタ出力画像との知覚的一致がはかられる。   According to this color management system, it is possible to flexibly cope with a wide range of scanner-printer systems or monitor-printer systems. For example, in a desktop publishing (DTP) system, if a monitor profile is specified in the source profile and a printer profile is specified in the destination profile, a perceptual match between the color image on the monitor and the printer output image can be achieved. .

ここで、知覚的一致の良否はプロファイルに左右されるため、デバイスディペンデントカラーとPCS空間での色とが正確に対応付けられたプロファイルを作成することが重要である。そのためには、デバイスディペンデントカラーを実際に印字/表示した際の物理刺激値を推定する、色推定を正確に行わねばならない。   Here, since the quality of perceptual matching depends on the profile, it is important to create a profile in which the device dependent color and the color in the PCS space are accurately associated with each other. For this purpose, it is necessary to accurately perform color estimation for estimating a physical stimulus value when a device dependent color is actually printed / displayed.

例えば従来の色推定技術として、パッチ測色値と補間とを用いるテーブル型の色推定技術が存在する。線形補間として、四面体補間や立方体補間、三角柱補間など様々な補間方法が提案されている。また、非線形補間として、スプライン補間など様々な補間方法が提案されている。   For example, as a conventional color estimation technique, there is a table type color estimation technique using patch colorimetric values and interpolation. As linear interpolation, various interpolation methods such as tetrahedral interpolation, cube interpolation, and triangular prism interpolation have been proposed. Various interpolation methods such as spline interpolation have been proposed as nonlinear interpolation.

また、色推定を行う際に、入力色データが特定単位立体に含まれる場合とそうでない場合で、補間方法や格子点の間隔をかえる方法が提案されている(例えば、特許文献2)。   In addition, when color estimation is performed, an interpolation method or a method of changing the interval between lattice points is proposed (for example, Patent Document 2) depending on whether input color data is included in a specific unit solid or not.

特許文献2に記載の発明では、例えば肌色や空色等の重要色を含む一つ以上の特定単位立体を設定するようにして、重要色の色変換精度を向上することが可能となっている。また、無彩色を含む複数の特定単位立体を設定することで、グレーの色再現性の向上が可能となっている。   In the invention described in Patent Document 2, it is possible to improve the color conversion accuracy of important colors by setting one or more specific unit solids including important colors such as skin color and sky blue. Further, by setting a plurality of specific unit solids including achromatic colors, gray color reproducibility can be improved.

また、入力色成分がYMCKで出力色成分がY'M'C'K'であるような色推定を行う際に、色成分Y'を算出する際は非線形補間を行い、その他の成分に対しては線形補間を行う方法も提案されている。(特許文献3)。   In addition, when performing color estimation such that the input color component is YMCK and the output color component is Y'M'C'K ', nonlinear interpolation is performed when calculating the color component Y', and the other components are compared. A method of performing linear interpolation has also been proposed. (Patent Document 3).

しかしながら、特許文献2では、特定単位立体と特定単位立体外の境界面で不連続性が生じ、階調性に悪い影響を与える恐れがある。入力値のRGB値が256段階のデジタル信号(例えば、0〜255の整数値)である場合は、入力値が整数値という離散値をとるため、境界面での不連続性が問題となる可能性は少ない。しかし、入力値が浮動小数点をとる場合は、境界面での不連続性が影響をおよぼし、階調性が悪くなる可能性が高い。   However, in Patent Document 2, discontinuity occurs at the boundary surface between the specific unit solid and the specific unit solid, which may adversely affect the gradation. When the RGB value of the input value is a 256-level digital signal (for example, an integer value of 0 to 255), the input value takes a discrete value called an integer value, and thus discontinuity at the boundary surface may be a problem. There is little nature. However, when the input value is a floating point, there is a high possibility that the discontinuity at the boundary surface will affect the gradation.

特定単位立体と特定単位立体外の補間方法が異なる場合、特に線形補間と非線形補間のように大きく性質が異なる場合、2つの補間方法の補間結果は入力値に対して異なる。つまり、入力値が境界面であっても補間結果は異なり、そこで不連続性が生じることは明らかである。同様に格子点間隔を変えた場合、両者の補間方法が同じでも、片方の格子点上の実測値ともう片方の補間結果が異なる場合は当然不連続性が生じる。   When the interpolation method between the specific unit solid and the specific unit solid is different, especially when the properties are greatly different, such as linear interpolation and nonlinear interpolation, the interpolation results of the two interpolation methods differ with respect to the input value. That is, even if the input value is a boundary surface, the interpolation result is different, and it is clear that discontinuity occurs there. Similarly, when the lattice point interval is changed, even if the interpolation methods are the same, discontinuity naturally occurs when the actually measured value on one lattice point is different from the interpolation result on the other.

また、特許文献3に記載された方法は、入力色空間と出力色空間が同じ種類の場合には有効である。しかし、デバイスディペンデントカラーとPCS空間での色推定の場合、例えばRGB空間からLab空間での色推定の場合は、入力色空間と出力色空間が異なる。よって、うまく適用できないという問題がある。
特開2002−281338号公報 特開平10−136216号公報 特開2000−261684号公報
The method described in Patent Document 3 is effective when the input color space and the output color space are the same type. However, in the case of color estimation in the device dependent color and the PCS space, for example, in the case of color estimation from the RGB space to the Lab space, the input color space and the output color space are different. Therefore, there is a problem that it cannot be applied well.
JP 2002-281338 A Japanese Patent Laid-Open No. 10-136216 JP 2000-261684 A

本発明の目的は、変換テーブルを用いた色変換において、入力色空間上のエリアによって階調性もしくは色の再現性が低下するという問題を解消することにある。   An object of the present invention is to eliminate the problem that gradation or color reproducibility deteriorates depending on an area in an input color space in color conversion using a conversion table.

上記目的を達成するために本発明は以下の構成を有する。
請求項1記載の発明は、デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得手段と、前記標本点データからルックアップテーブルを作成するルックアップテーブル作成手段と、前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換手段と、前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出手段と、前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換手段と、複数の色データのそれぞれに対して重み付けデータを設定する設定手段と、前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出手段と、前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合手段とを有し、前記設定手段は、前記重み付けデータを出力する重み付けテーブルを設定し、前記重み付け算出手段は、前記重み付けテーブルを用いて線形補間処理することにより、前記入力色データに対応する重み付けデータを算出することを特徴とする。
請求項2記載の発明は、デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得手段と、前記標本点データからルックアップテーブルを作成するルックアップテーブル作成手段と、前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換手段と、前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出手段と、前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換手段と、複数の色データのそれぞれに対して重み付けデータを設定する設定手段と、前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出手段と、前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合手段とを有し、前記第2の色変換手段は、区分的多項式を基底関数とする多重総和演算を行うことを特徴とする。
請求項3記載の発明は、デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得手段と、前記標本点データからルックアップテーブルを作成するルックアップテーブル作成手段と、前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換手段と、前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出手段と、前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換手段と、複数の色データのそれぞれに対して重み付けデータを設定する設定手段と、前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出手段と、前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合手段とを有し、前記取得手段は、前記標本点データとともに重み付け設定データを取得し、前記設定手段は、前記取得した重み付け設定データを用いて、複数の色データのそれぞれに対して前記重み付けデータを設定することを特徴とする。
In order to achieve the above object, the present invention has the following configuration.
The invention according to claim 1 is an acquisition unit that acquires sample point data indicating correspondence between a device color signal and device-independent color space data, and a lookup table generation unit that generates a lookup table from the sample point data. First color conversion means for performing linear interpolation processing on input color data using the created look-up table, and a basis function is obtained from the sample point data step, and the sample point data and the obtained A coefficient calculating means for calculating a coefficient from a basis function; a second color converting means for performing a non-linear interpolation process on the input color data using the calculated coefficient; and weighting for each of a plurality of color data Weighting data for the input color data is calculated using setting means for setting data and weighting data set by the setting means. Weighting data calculating means, and mixing means for mixing the output of the first color converting means and the output of the second converting means using the weighted data for the calculated input color data, The setting means sets a weighting table for outputting the weighting data, and the weighting calculation means calculates weighting data corresponding to the input color data by performing a linear interpolation process using the weighting table. Features.
According to a second aspect of the present invention, there is provided an acquisition means for acquiring sample point data indicating correspondence between a device color signal and device-independent color space data, and a lookup table creation means for creating a lookup table from the sample point data. First color conversion means for performing linear interpolation processing on input color data using the created look-up table, and a basis function is obtained from the sample point data step, and the sample point data and the obtained A coefficient calculating means for calculating a coefficient from a basis function; a second color converting means for performing a non-linear interpolation process on the input color data using the calculated coefficient; and weighting for each of a plurality of color data Weighting data for the input color data is calculated using setting means for setting data and weighting data set by the setting means. Weighting data calculating means, and mixing means for mixing the output of the first color converting means and the output of the second converting means using the weighted data for the calculated input color data, The second color conversion means performs a multiple sum operation using a piecewise polynomial as a basis function.
According to a third aspect of the present invention, there is provided acquisition means for acquiring sample point data indicating correspondence between a device color signal and device-independent color space data, and lookup table generation means for generating a lookup table from the sample point data. First color conversion means for performing linear interpolation processing on input color data using the created look-up table, and a basis function is obtained from the sample point data step, and the sample point data and the obtained A coefficient calculating means for calculating a coefficient from a basis function; a second color converting means for performing a non-linear interpolation process on the input color data using the calculated coefficient; and weighting for each of a plurality of color data Weighting data for the input color data is calculated using setting means for setting data and weighting data set by the setting means. Weighting data calculating means, and mixing means for mixing the output of the first color converting means and the output of the second converting means using the weighted data for the calculated input color data, The acquisition means acquires weight setting data together with the sample point data, and the setting means sets the weight data for each of a plurality of color data using the acquired weight setting data. And

本発明によれば、変換テーブルを用いた色変換において、色空間上のエリアによって階調性もしくは色の再現性が低下することを抑制することができる。   According to the present invention, in color conversion using a conversion table, it is possible to suppress a decrease in gradation or color reproducibility due to an area in a color space.

(実施例1)
以下、本発明の実施の形態を図面に基づき説明する。
Example 1
Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<色知覚モデルを用いたカラーマッチングの処理>
図1は、本実施例における、色知覚モデルを用いたカラーマッチングの処理の概念を説明する概念図である。図1において、101は入力デバイスに依存する色信号を、入力側の環境光の白色点基準に基づくデバイスに依存しない色空間データへ変換するための変換マトリクスまたは変換ルックアップテーブル(LUT)である。104および105は入力観察条件(D50光源の白色点、照度レベル、周囲光の状態など)に基づいて人間の知覚信号JCHまたはQMHへ変換を行う色知覚モデル順変換部である。106および107は出力観察条件(D65光源の白色点、照度レベル、周囲光の状態など)に基づいて人間の知覚信号JCHまたはQMHよりデバイスに依存しない色信号であるXYZ信号へ変換する色知覚モデル逆変換部である。108は、出力側の環境光の白色点基準に基づくデバイスに依存しない色空間データより出力デバイスに依存する色信号へ変換するための変換マトリクスまたは変換ルックアップテーブル(LUT)である。102、103は入力色空間値を出力デバイスの色再現範囲に応じて色空間値に変換を行う色空間変換部である。
<Color matching process using color perception model>
FIG. 1 is a conceptual diagram illustrating the concept of color matching processing using a color perception model in the present embodiment. In FIG. 1, reference numeral 101 denotes a conversion matrix or conversion look-up table (LUT) for converting a color signal depending on an input device into device-independent color space data based on a white point criterion of ambient light on the input side. . Reference numerals 104 and 105 denote color perception model forward conversion units that perform conversion into human perceptual signals JCH or QMH based on input observation conditions (D50 light source white point, illuminance level, ambient light state, etc.). 106 and 107 are color perception models for converting human perception signals JCH or QMH into XYZ signals that are device-independent color signals based on output observation conditions (white point of D65 light source, illumination level, ambient light state, etc.). It is an inverse conversion unit. Reference numeral 108 denotes a conversion matrix or conversion look-up table (LUT) for converting device-independent color space data based on the white point criterion of ambient light on the output side into color signals depending on the output device. Reference numerals 102 and 103 denote color space conversion units that convert input color space values into color space values according to the color reproduction range of the output device.

RGBまたはCMYKの入力色信号は、変換LUT101により入力デバイスの色信号から入力観察条件におけるデバイスに依存しない色信号であるXYZ信号へ変換される。次に、XYZ信号は、色知覚モデル順変換部104および105により観察条件1(D50光源の白色点、照度レベル、周囲光の状態など)に基づいて人間の知覚信号JCHまたはQMHへ変換される。相対的カラーマッチングの場合はJCH空間が、絶対的カラーマッチングの場合はQMH空間がそれぞれ選択される。   The RGB or CMYK input color signal is converted by the conversion LUT 101 from an input device color signal to an XYZ signal that is a device independent color signal under the input observation conditions. Next, the XYZ signal is converted into the human perception signal JCH or QMH by the color perception model forward conversion units 104 and 105 based on the observation condition 1 (white point of D50 light source, illuminance level, ambient light state, etc.). . In the case of relative color matching, the JCH space is selected, and in the case of absolute color matching, the QMH space is selected.

色知覚信号JCHおよびQMHは色空間変換部102または103により出力デバイスの色再現範囲内へ圧縮される。色空間圧縮された色知覚信号JCHおよびQMHは、色知覚モデル逆変換部106および107により、出力観察条件(D65光源の白色点、照度レベル、周囲光の状態など)に基づいて出力観察条件におけるデバイスに依存しない色信号であるXYZ信号へ変換される。そして、XYZ信号は変換LUT106により出力デバイスに依存する色信号へ変換される。   The color perception signals JCH and QMH are compressed by the color space conversion unit 102 or 103 into the color reproduction range of the output device. The color space-compressed color perception signals JCH and QMH are output by the color perception model inverse transform units 106 and 107 based on the output observation conditions (such as the white point of the D65 light source, the illuminance level, and the ambient light state). It is converted into an XYZ signal which is a color signal independent of the device. The XYZ signal is converted into a color signal depending on the output device by the conversion LUT 106.

以上の処理によって得られたRGBまたはCMYK信号は出力デバイスへ送られて、その色信号によって示される画像が出力される。出力結果であるプリント物あるいは画面表示は出力観察条件下で観察すれば、入力観察条件下で観察されるオリジナル原稿と、同じ色味に見える。   The RGB or CMYK signal obtained by the above processing is sent to an output device, and an image indicated by the color signal is output. When the printed matter or the screen display as an output result is observed under the output observation condition, it looks the same color as the original document observed under the input observation condition.

なお、一般に観察条件における環境光の白色点は、カラーターゲットやカラーパッチなどの色票を測色した際の標準光源の白色点とは異なる。例えば、測色の際に使用される標準光源はD50やD65であるが、実際に画像を観察する場合の環境光はライトブースのD50やD65とは限らず、白熱電球や蛍光灯などの照明光や、照明光と太陽光とが混合した光になる場合が多い。以下の説明では、簡単化のために、観察条件における環境光の光源特性をD50、D65およびD93とするが、実際にはメディア上の白色点のXYZ値を白色点として設定する。   In general, the white point of ambient light under viewing conditions is different from the white point of a standard light source when color charts such as color targets and color patches are measured. For example, standard light sources used for colorimetry are D50 and D65, but ambient light when actually observing an image is not limited to D50 or D65 of a light booth, and illumination such as an incandescent bulb or a fluorescent lamp In many cases, light or a mixture of illumination light and sunlight is used. In the following description, for simplification, the light source characteristics of the ambient light under the observation conditions are set to D50, D65, and D93, but actually, the XYZ value of the white point on the medium is set as the white point.

<機能構成>
図2は本発明の実施形態の一例であるカラーマッチングモジュールの機能構成を示すブロック図である。本図においては、図1と等価な構成は同一符号を用いている。
<Functional configuration>
FIG. 2 is a block diagram showing a functional configuration of a color matching module which is an example of an embodiment of the present invention. In this figure, the same reference numerals are used for components equivalent to those in FIG.

201は、変換LUT101を用いて、入力デバイスに依存する色信号(RGBやCMYK)をデバイスに依存しない色空間データ(XYZ)へ変換を行う入力変換部である。入力変換部201は、デバイス情報より測色値を取得し変換LUTを生成する機能、ならびに前記入力観察条件を色知覚モデル順変換部104(105)へ提供する機能を有する。デバイス情報は、デバイス色信号とデバイスに依存しない色空間データ(XYZ)の対応関係を示す情報である。   An input conversion unit 201 converts a color signal (RGB or CMYK) depending on an input device into color space data (XYZ) independent of a device using the conversion LUT 101. The input conversion unit 201 has a function of acquiring a colorimetric value from device information and generating a conversion LUT, and a function of providing the input observation condition to the color perception model order conversion unit 104 (105). The device information is information indicating a correspondence relationship between the device color signal and the device-independent color space data (XYZ).

202は、変換LUT108を用いて、デバイスに依存しない色空間データ(XYZ)を出力デバイスに依存する色信号(RGBやCMYK)へ変換する出力変換部である。出力変換部202は、デバイス情報から変換LUTを生成する機能、出力観察条件を色知覚モデル逆変換部順変換部106(107)へ提供する機能、および出力デバイス色再現領域を色空間変換部102(103)へ提供する機能を有する。   An output conversion unit 202 converts the device-independent color space data (XYZ) into color signals (RGB or CMYK) depending on the output device using the conversion LUT 108. The output conversion unit 202 has a function of generating a conversion LUT from device information, a function of providing output observation conditions to the color perception model inverse conversion unit forward conversion unit 106 (107), and an output device color reproduction region as a color space conversion unit 102. (103).

なお、本実施例において、デバイスに応じた処理の切り替えや上記説明した機能以外の拡張機能などを提供することが可能となるように、入力変換部201、出力変換部202はプラグイン(デバイスプラグイン)で提供される。   In the present embodiment, the input conversion unit 201 and the output conversion unit 202 are plug-ins (device plugs) so that it is possible to provide processing switching according to the device and an extended function other than the functions described above. In).

また、色空間の圧縮方法(ICCのレンダリングインテントに相当)に応じた切り替え等に応ずる事が可能となるように、色空間変換部102(103)も色空間変換プラグインで提供される。   Further, the color space conversion unit 102 (103) is also provided as a color space conversion plug-in so as to be able to respond to switching or the like according to a color space compression method (corresponding to an ICC rendering intent).

デバイス情報203は、前記入力変換部201および出力変換部202に対して事前に測定したデバイス色信号とデバイスに依存しない色空間データ(XYZ)の対応関係ならびに観察条件を示す。   The device information 203 indicates the correspondence between the device color signal measured in advance for the input conversion unit 201 and the output conversion unit 202 and the color space data (XYZ) independent of the device, and the observation conditions.

デバイス情報管理部204204は、デバイス情報の格納場所の管理を行う。   The device information management unit 204204 manages the storage location of device information.

入出力・色空間変換管理部(プラグイン管理部)205は、デバイスプラグイン、色空間変換プラグインのバージョン、格納場所の管理を行う。   An input / output / color space conversion management unit (plug-in management unit) 205 manages device plug-ins, color space conversion plug-in versions, and storage locations.

デバイス・CAMキャッシュ管理部206は、「入力変換部201あるいは出力変換部202において生成された変換LUT101、108」、「色知覚モデル順変換部104(105)あるいは色知覚モデル逆変換部106(107)で生成されたCAMテーブル、CAM−1テーブルを管理する。さらに、デバイス・CAMキャッシュ管理部206は、変換LUT101、108の生成条件ならびCAMテーブル、CAM−1テーブルの生成条件を管理する。デバイス・CAMキャッシュ管理部で管理されているデータを使用することにより、各変換処理の作成処理を省略することができ、カラーマッチングの高速化を行うことが可能となる。   The device / CAM cache management unit 206 includes “the conversion LUTs 101 and 108 generated by the input conversion unit 201 or the output conversion unit 202”, “the color perception model forward conversion unit 104 (105) or the color perception model reverse conversion unit 106 (107). Further, the device / CAM cache management unit 206 manages the generation conditions of the conversion LUTs 101 and 108 and the generation conditions of the CAM table and the CAM-1 table. By using the data managed by the CAM cache management unit, the creation process of each conversion process can be omitted, and the speed of color matching can be increased.

なお、本実施例においては、CAMテーブル、CAM−1テーブルをデバイスプラグインならびにデバイス情報と関連付けている。CAMテーブル、CAM−1テーブルは、XYZとJCh空間の対応は観察条件(光源の白色点、照度レベル、周囲光の状態など)と対応していれば良いので、CAMテーブル、CAM−1テーブルを観察条件と関連付けて管理することも可能である。   In this embodiment, the CAM table and the CAM-1 table are associated with device plug-ins and device information. The CAM table and CAM-1 table need only correspond to the observation conditions (white point of light source, illuminance level, ambient light state, etc.) between XYZ and JCh space. It is also possible to manage by associating with observation conditions.

また、入力・出力デバイスプラグイン、入力・出力デバイス情報ならびに色空間変換プラグインの組み合わせに対応させてLUT(システムキャッシュ)を生成し格納する。   Further, an LUT (system cache) is generated and stored in association with a combination of input / output device plug-ins, input / output device information, and color space conversion plug-ins.

システムキャッシュ作成部207は、システムキャッシュの作成を行うである。   The system cache creation unit 207 creates a system cache.

システムキャッシュ管理部208は、システムキャッシュ作成部において作成されたシステムキャッシュの管理を行う。   The system cache management unit 208 manages the system cache created by the system cache creation unit.

サンプル画209はシステムキャッシュの生成やプレビューに用いるために使用される。   The sample image 209 is used for generating a system cache and previewing.

入力結合処理部210は、システムキャッシュを用いてカラーマッチング処理を行う。   The input combination processing unit 210 performs color matching processing using the system cache.

履歴管理部211は、使用した入力デバイスプラグイン、出力デバイスプラグイン、入出力デバイス情報ならびに色空間変換プラグインの組み合わせをカラーマッチング履歴として管理する。   The history management unit 211 manages a combination of used input device plug-ins, output device plug-ins, input / output device information, and color space conversion plug-ins as a color matching history.

制御部212は、上記各構成の管理し、外部からのカラーマッチング指示を受け付け、カラーマッチング処理の実行を制御する。   The control unit 212 manages each of the above components, receives an external color matching instruction, and controls the execution of the color matching process.

インストール制御部213は、デバイス情報、デバイスプラグイン、色空間変換プラグインのインストールの制御を行う。   The installation control unit 213 controls installation of device information, device plug-ins, and color space conversion plug-ins.

<装置の構成>
図3は図2に示される機能構成を実現する装置の構成例を示すブロック図である。図3に示すような装置は、例えばパーソナルコンピュータのような汎用のコンピュータ装置に、図2に示す機能を実現するソフトウェアを供給することによって実現することができる。その場合、本実施形態の機能を実現するソフトウェアは、コンピュータ装置のOS(基本システム)に含まれていても構わないし、OSとは別に例えば入出力デバイスのドライバソフトウェアに含まれていても構わない。
<Device configuration>
FIG. 3 is a block diagram illustrating a configuration example of an apparatus that implements the functional configuration illustrated in FIG. The apparatus shown in FIG. 3 can be realized by supplying software that implements the functions shown in FIG. 2 to a general-purpose computer apparatus such as a personal computer. In that case, the software for realizing the functions of the present embodiment may be included in the OS (basic system) of the computer apparatus, or may be included in the driver software of the input / output device, for example, separately from the OS. .

CPU301は、ROM302およびハードディスク(HD)307などに格納されたプログラムに従い、RAM303をワークメモリに利用して、装置全体の動作を制御する。さらにCPU301は、上述したカラーマッチングに関連する処理をはじめとする各種の処理を実行する。入力インタフェイス304は入力デバイス305を接続するためのインターフェースである。ハードディスクインタフェイス306はHD307を接続するためのインターフェースである。ビデオインタフェイス308はモニタ309を接続する。出力インタフェイス310は出力デバイス311を接続するためのインターフェースである。   The CPU 301 controls the operation of the entire apparatus by using the RAM 303 as a work memory in accordance with programs stored in the ROM 302, the hard disk (HD) 307, and the like. Further, the CPU 301 executes various processes including the process related to the color matching described above. The input interface 304 is an interface for connecting the input device 305. The hard disk interface 306 is an interface for connecting the HD 307. A video interface 308 connects a monitor 309. The output interface 310 is an interface for connecting the output device 311.

なお、入力デバイスには、ディジタルスチルカメラおよびディジタルビデオカメラなどの撮影機器、並びに、イメージスキャナおよびフィルムスキャナなどイメージリーダをはじめとする各種の画像入力機器が含まれる。また、出力デバイスには、CRTやLCDなどのカラーモニタ、カラープリンタおよびフィルムレコーダなどの画像出力機器が含まれる。   The input device includes various image input devices such as an image reader such as an image reader such as an image scanner and a film scanner, and a photographing device such as a digital still camera and a digital video camera. The output device includes image output devices such as a color monitor such as a CRT or LCD, a color printer, and a film recorder.

また、インターフェースとして汎用のインターフェースが利用できる。その用途に応じて、例えば、RS232C、RS422、USBおよびIEEE1394などのシリアルインターフェース、並びに、SCSIおよびセントロニクスなどのパラレルインターフェースが利用可能である。   A general-purpose interface can be used as the interface. Depending on the application, serial interfaces such as RS232C, RS422, USB and IEEE1394, and parallel interfaces such as SCSI and Centronics can be used.

本実施例では、カラーマッチングを行うためのデバイス情報やプラグイン他のプラグラムはHD307に格納されるが、ハードディスクに限らず、他の記憶媒体を用いても構わない。   In this embodiment, device information and plug-in and other programs for color matching are stored in the HD 307, but other storage media may be used in addition to the hard disk.

<データ構成>
次に、図2に示されるカラーマッチング機能に関わる主要なデータ構成を、図4を用いて説明する。
<Data structure>
Next, main data structures related to the color matching function shown in FIG. 2 will be described with reference to FIG.

なお、図4で説明する以外の項目も各データに含まれていても構わない。   Items other than those described in FIG. 4 may be included in each data.

図4は、デバイス情報ならびにデバイスプラグイン、色空間変換プラグインの模式図である。   FIG. 4 is a schematic diagram of device information, device plug-ins, and color space conversion plug-ins.

401は、デバイス情報の模式図である。デバイス情報401は、変換LUT101、108を生成するためのデバイス信号とデバイスに依存しない色空間の対応データ、CAM変換テーブル、CAM−1テーブルを生成するための観察条件、適用可能なデバイスプラグインを特定するためのプラグインを一意に特定するプラグインID、プラグインを制御するためのパラメタなどを格納するプライベートデータ等により構成される。デバイスプラグインIDを構成項目格納とされる理由としては、デバイスプラグインは入出力デバイスに応じてプラグインが提供されるため、測定デバイスに応じたデバイスプラグインを選定する必要があるためである。   401 is a schematic diagram of device information. The device information 401 includes device signals for generating the conversion LUTs 101 and 108, data corresponding to the device-independent color space, CAM conversion table, viewing conditions for generating the CAM-1 table, and applicable device plug-ins. It is composed of a plug-in ID that uniquely specifies a plug-in for specifying, private data that stores parameters for controlling the plug-in, and the like. The reason why the device plug-in ID is stored as a configuration item is that the device plug-in is provided according to the input / output device, and therefore, it is necessary to select the device plug-in according to the measurement device. .

402は、デバイスプラグインの模式図である。デバイスプラグイン402は、本実施例に用いるプラグインを一意に特定するためのプラグインID、プラグイン名称、改定履歴を管理するためのバージョン情報、適用可能なデバイスを特定するための適用可能デバイス情報、変換処理等の入力変換部201、出力変換部202における機能を実行するプラグラムから構成される。プラグインIDは例えばUUIDなどを用いる。またデバイス情報は、ディジタルカメラ、プリンタといった一般的なデバイス分類や特定の機種など適用範囲を指定することが可能である。   402 is a schematic diagram of a device plug-in. The device plug-in 402 is a plug-in ID for uniquely identifying a plug-in used in this embodiment, a plug-in name, version information for managing revision history, and an applicable device for identifying an applicable device. It is composed of programs that execute functions in the input conversion unit 201 and the output conversion unit 202 such as information and conversion processing. For example, UUID is used as the plug-in ID. The device information can specify a general device classification such as a digital camera or a printer, or an application range such as a specific model.

403は、色空間変換プラグインの模式図である。色空間変換プラグイン403は、本実施例に用いるプラグインを一意に特定するためのプラグインID、プラグイン名称、改定履歴を管理するためのバージョン情報、レンダリングインテントに相当する色空間変換方法ならびに色空間変換部102(103)における機能を実行するプラグラムより構成される。プラグインIDは、デバイスプラグインと同様に、例えばUUIDなどを用いる。   403 is a schematic diagram of a color space conversion plug-in. A color space conversion plug-in 403 includes a plug-in ID for uniquely identifying a plug-in used in this embodiment, a plug-in name, version information for managing revision history, and a color space conversion method corresponding to a rendering intent. And a program for executing a function in the color space conversion unit 102 (103). As the plug-in ID, for example, a UUID is used as in the case of the device plug-in.

<デバイス情報>
図8および図9は、図2に示したデバイス情報204(デバイス情報401)の一例である。
<Device information>
8 and 9 are examples of the device information 204 (device information 401) shown in FIG.

デバイス情報には重み付け設定データおよび標本点データが含まれる。   The device information includes weight setting data and sample point data.

図8における、「RATE=“GRAY”」は、後述する重み付け設定データ1111の一例である。   “RATE =“ GRAY ”” in FIG. 8 is an example of weight setting data 1111 described later.

図9における、「RATE_0_0_0=1」と「RATE_0_0_32=0」も、後述する重み付け設定データ1111の一例である。   “RATE_0_0_0 = 1” and “RATE_0_0_32 = 0” in FIG. 9 are also examples of weight setting data 1111 described later.

図8及び図9における「DATA_START」と「DATA_END」で挟まれる部分は、デバイス色信号とデバイスに依存しない色空間データ(XYZ値)の対応値を示す標本点データ1110である。図8及び図9では、デバイス色信号としてRGB、デバイス依存しない色空間データとしてXYZを用いている。   The portion between “DATA_START” and “DATA_END” in FIGS. 8 and 9 is sample point data 1110 indicating the corresponding values of the device color signal and the color space data (XYZ value) independent of the device. 8 and 9, RGB is used as the device color signal, and XYZ is used as the device-independent color space data.

なお、重み付け設定データ1111は、図8、9に示されるように標本点データと独立に管理されるのではなく、標本点データ列内で管理されても構わない。例えば、標本点データ列の最後に重みつけ設定データを記述するようにしても構わない。   Note that the weight setting data 1111 is not managed independently of the sample point data as shown in FIGS. 8 and 9, but may be managed in the sample point data string. For example, the weight setting data may be described at the end of the sample point data string.

本実施例では、デバイス情報はテキスト形式で示されるが、XML形式など他の形式で示しても構わない。   In this embodiment, the device information is shown in a text format, but may be shown in other formats such as an XML format.

<入力変換部201の構成>
図5は、図2に示した入力変換部201の構成例を示すブロック図である。本実施例では、変換部として、四面体補間を行う変換部(以下、変換部(四面体補間)と呼ぶ)およびスプライン補間を行う変換部(以下、変換部(スプライン補間))を有する例を用いて説明する。
<Configuration of Input Conversion Unit 201>
FIG. 5 is a block diagram illustrating a configuration example of the input conversion unit 201 illustrated in FIG. In this embodiment, an example having a conversion unit that performs tetrahedral interpolation (hereinafter referred to as a conversion unit (tetrahedral interpolation)) and a conversion unit that performs spline interpolation (hereinafter referred to as conversion unit (spline interpolation)) as the conversion unit. It explains using.

まず、変換部で行われる四面体補間およびスプライ補間の処理について説明する。   First, the tetrahedral interpolation and splice interpolation processing performed in the conversion unit will be described.

(四面体補間)
変換部(四面体補間)1102で使用する四面体補間は、初期化部1101によって標本点データ1110から作成されたルックアップテーブル(図10)を用いて、入力データ(RGB)を出力データ(L*a*b*)に変換する。
(Tetrahedral interpolation)
The tetrahedral interpolation used in the conversion unit (tetrahedral interpolation) 1102 uses the lookup table (FIG. 10) created from the sample point data 1110 by the initialization unit 1101 to convert the input data (RGB) into the output data (L * A * b *).

ルックアップテーブル(LUT)は、標本点データ(図14、図15)における「DATA_START」と「DATA_END」で挟まれた部分に記述されているデバイス色信号(RGB)とデバイスに依存しない色空間データ(XYZ)の対応値から作成される。具体的には、標本点データのXYZ値を所定式に基づきL*a*b*値に変換する。次に、LUTの格子点のRGB値に対応する標本点データから選択し、選択された標本点データのL*a*b*値を格納することにより、LUTは作成される。   The look-up table (LUT) is a device color signal (RGB) described in a portion between “DATA_START” and “DATA_END” in the sample point data (FIGS. 14 and 15) and color space data independent of the device. It is created from the corresponding value of (XYZ). Specifically, the XYZ values of the sample point data are converted into L * a * b * values based on a predetermined formula. Next, the LUT is created by selecting from the sample point data corresponding to the RGB values of the grid points of the LUT and storing the L * a * b * values of the selected sample point data.

例えば、L*a*b*変換後の標本点データが図7に示されるような場合は、図10に示されるような5*5*5の格子点を有するRGB→L*a*b*_LUTが作成される。   For example, when the sample point data after L * a * b * conversion is as shown in FIG. 7, RGB → L * a * b * having 5 * 5 * 5 grid points as shown in FIG. A _LUT is created.

変換部(四面体補間)1102は、入力データが含まれる四面体領域を構成する四頂点に対応する格子点データを用いて線形補間処理を行う。四面体領域は、図11に示されるように、隣接する八つの色で囲まれる六面体領域を、六つに分割したものである。本実施例では、R=G=Bの軸を基準に六面体領域を六つの四面体領域に分割している。したがって、本実施例の変換部(四面体補間)1102では、グレイを高精度に再現することができる。   A conversion unit (tetrahedral interpolation) 1102 performs linear interpolation processing using grid point data corresponding to the four vertices constituting the tetrahedral region including the input data. As shown in FIG. 11, the tetrahedral region is obtained by dividing a hexahedral region surrounded by eight adjacent colors into six. In this embodiment, the hexahedron region is divided into six tetrahedron regions based on the axis of R = G = B. Therefore, the conversion unit (tetrahedral interpolation) 1102 of this embodiment can reproduce gray with high accuracy.

(スプライン補間)
変換部(スプライン補間)1102で使用するスプライン補間について説明する。
(Spline interpolation)
The spline interpolation used in the conversion unit (spline interpolation) 1102 will be described.

本実施例のB−スプライン体は、次の区分的多項式を基底関数とする多重総和演算式で定義される。
λ=ΣiΣjΣkcλijkNri(rr)Ngj(gg)Nbk(bb)
a=ΣiΣjΣkcaijkNri(rr)Ngj(gg)Nbk(bb)
b=ΣiΣjΣkcbijkNri(rr)Ngj(gg)Nbk(bb)
ここで、
rr、gg、bbはRGB値
λ、a、bはL*a*b*値
NrはR軸方向での基底関数
NgはG軸方向での基底関数
NbはB軸方向での基底関数
cλijk、caijk、cbijkは係数
Nr、Ng、Nbに付属するサフィクスi、j、kはそれぞれの軸に対する基底における基底関数番号
変換部(スプライン補間)は、多重総和演算式を用いて、入力データ(RGB)を出力データ(L*a*b*)に変換する。
The B-spline body of the present embodiment is defined by a multiple sum operation formula having the following piecewise polynomial as a basis function.
λ = ΣiΣjΣkcλijkNri (rr) Ngj (gg) Nbk (bb)
a = ΣiΣjΣkcaijkNri (rr) Ngj (gg) Nbk (bb)
b = ΣiΣjΣkcbijkNri (rr) Ngj (gg) Nbk (bb)
here,
rr, gg and bb are RGB values λ, a and b are L * a * b * values Nr is a basis function Ng in the R-axis direction, a basis function Nb in the G-axis direction is a basis function cλijk in the B-axis direction, caijk and cbijk are suffixes i, j, and k attached to the coefficients Nr, Ng, and Nb. Basis function numbers in the bases for the respective axes. Is converted into output data (L * a * b *).

本実施例のスプライン補間によれば、図15の模式図に示すように、RGB値に対するL*a*b*値の変化を滑らかに表現することができる。なお、図15はスプライン補間の算出結果をL*a*b*空間における分布として表現したものである。図15に示す軸以外の線は、RGB値の何れか一つが変化した際のL*a*b*値の変化の軌跡を表す。   According to the spline interpolation of the present embodiment, as shown in the schematic diagram of FIG. 15, changes in L * a * b * values with respect to RGB values can be expressed smoothly. FIG. 15 represents the calculation result of spline interpolation as a distribution in the L * a * b * space. A line other than the axis shown in FIG. 15 represents a locus of change in the L * a * b * value when any one of the RGB values changes.

図13に、初期化部1101で行われるB−スプライン体の係数および基底関数の算出処理を説明するフローチャートを示す。標本データとして図7を用いた場合を説明する。   FIG. 13 is a flowchart for explaining the calculation processing of the coefficient and basis function of the B-spline body performed by the initialization unit 1101. A case where FIG. 7 is used as sample data will be described.

まず、標本点データからRGB値とL*a*b*値との対応関係を取得する(S1801)。以後、RGB値とL*a*b*値の対応データを、i番目の編集色のRGB値をrri、ggi、bbi、L*a*b*値をλi、ai、biと説明する。   First, the correspondence between RGB values and L * a * b * values is acquired from the sample point data (S1801). Hereinafter, the correspondence data between the RGB value and the L * a * b * value will be described, and the RGB value of the i-th edit color will be described as ri, ggi, bbi, and the L * a * b * value as λi, ai, bi.

標本点データにおいて、R値とG値が0のときのB値の並びをB値のステップと呼ぶ。図7におけるB値のステップは(0、64、128、192、255)であり、B値はステップ値以外はとらない。同様に、R値、G値のステップも同じステップ(0、64、128、192、255)である。   In the sample point data, the arrangement of the B values when the R value and the G value are 0 is called a B value step. The step of the B value in FIG. 7 is (0, 64, 128, 192, 255), and the B value does not take a value other than the step value. Similarly, the R value and G value steps are the same step (0, 64, 128, 192, 255).

次に、図7に示される標本点データから、R/G/B値のステップに基づいて基底関数を算出し、記憶する(S1802)。基底関数の算出には、一般的なDeBoor−Coxのアルゴリズムを用いる。R/G/B値のステップが同一であり、基底関数Nr、Ng、Nbが何れも三位のB−スプライン基底である場合は、何れの基底関数も図14に示すようなξ0〜ξ3の四節点の基底関数になる。なお、図14はR軸の基底関数Nrを示している。以下、基底関数は何れも三位のB−スプライン基底であるとして説明する。   Next, a basis function is calculated from the sample point data shown in FIG. 7 based on the R / G / B value step and stored (S1802). A general DeBoor-Cox algorithm is used to calculate the basis function. When the steps of the R / G / B value are the same and the basis functions Nr, Ng, and Nb are all B-spline bases of the third rank, all the basis functions are expressed by ξ0 to ξ3 as shown in FIG. It becomes a four-node basis function. FIG. 14 shows the R-axis basis function Nr. In the following description, it is assumed that each basis function is a third-order B-spline basis.

次に、算出した基底関数と、RGB値とL*a*b*値との対応関係とを用いて、LU分解によって、行列方程式f=MCをλ*成分、a*成分、b*成分それぞれについて解くことにより、各係数を算出する。   Next, using the calculated basis function and the correspondence relationship between the RGB value and the L * a * b * value, the matrix equation f = MC is converted into the λ * component, the a * component, and the b * component by LU decomposition. Each coefficient is calculated by solving for.

以下、上記方程式による係数算出について詳しく説明する。   Hereinafter, the coefficient calculation by the above equation will be described in detail.

まず、行列Mのs行t列成分mstを次のように算出する。
mst=Nri(rrs)Ngj(ggs)Nbk(bbs)
ここで、
t25(i−1)+5(j−1)+k
i、j、kは1から5までの整数
なお、tとi、j、kの関係は、節点数と基底関数の位数によって変化する。例えば三位B−スプライン基底であり、六節点である場合はt=49(i−1)+7(j−1)+kという関係になる。
First, the s-row t-column component mst of the matrix M is calculated as follows.
mst = Nri (rrs) Ngj (ggs) Nbk (bbs)
here,
t25 (i-1) +5 (j-1) + k
i, j, and k are integers from 1 to 5. Note that the relationship between t, i, j, and k varies depending on the number of nodes and the order of basis functions. For example, in the case of a three-position B-spline basis and six nodes, the relationship is t = 49 (i−1) +7 (j−1) + k.

次に、係数cλijk、caijk、cbijkそれぞれの算出について説明する。   Next, calculation of each of the coefficients cλijk, caijk, cbijk will be described.

まず、係数cλijkを算出するために、次の行列方程式をLU分解を用いて解く。
fλ=[λ1,λ2,…,λ125]
cλ=[cλ111,cλ112,…,cλ115,cλ121,…,cλ155,cλ211,…,cλ554,cλ555]
fλ=M・cλ
次に、係数caijkを算出するために、次の行列方程式をLU分解を用いて解く。
fa=[a1,a2,…,a125]
ca=[ca111,ca112,…,ca115,ca121,…,ca155,ca211,…,ca554,ca555]
fa=M・ca …(4)
次に、係数cbijkを算出するために、次の行列方程式をLU分解を用いて解く。
fb=[b1,b2,…,b125]
cb=[cb111,cb112,…,cb115,cb121,…,cb155,cb211,…,cb554,cb555]
fb=M・cb …(5)
そして、算出した係数を記憶する(S1804)。
First, in order to calculate the coefficient cλijk, the following matrix equation is solved using LU decomposition.
fλ = [λ1, λ2,..., λ125]
cλ = [cλ111, cλ112, ..., cλ115, cλ121, ..., cλ155, cλ211, ..., cλ554, cλ555]
fλ = M · cλ
Next, in order to calculate the coefficient caijk, the following matrix equation is solved using LU decomposition.
fa = [a1, a2,..., a125]
ca = [ca111, ca112, ..., ca115, ca121, ..., ca155, ca211, ..., ca554, ca555]
fa = M · ca (4)
Next, in order to calculate the coefficient cbijk, the following matrix equation is solved using LU decomposition.
fb = [b1, b2,..., b125]
cb = [cb111, cb112, ..., cb115, cb121, ..., cb155, cb211, ..., cb554, cb555]
fb = M · cb (5)
Then, the calculated coefficient is stored (S1804).

以上で算出されたB−スプライン体を用いることで、図15に示すように、RGB値に対するL*a*b値の変化を滑らかに表現することができる。なお、図15はB−スプライン体の算出結果をL*a*b*空間における分布として表現したもので、図15に示す軸以外の線は、RGB値の何れか一つが変化した際のL*a*b*値の軌跡を表す。   By using the B-spline body calculated as described above, the change in the L * a * b value with respect to the RGB value can be smoothly expressed as shown in FIG. FIG. 15 represents the calculation result of the B-spline body as a distribution in the L * a * b * space. A line other than the axis shown in FIG. 15 indicates the L when any one of the RGB values changes. * Represents a locus of a * b * values.

以下、図5および図6を用いて、入力変換部201の構成および処理手順を説明する。   Hereinafter, the configuration and processing procedure of the input conversion unit 201 will be described with reference to FIGS. 5 and 6.

ステップS2001では、初期化部1101が変換部初期化データ1116と重み付け部初期化データ1117を作成し、変換部1102および重み付け部1103を初期化する。   In step S2001, the initialization unit 1101 creates conversion unit initialization data 1116 and weighting unit initialization data 1117, and initializes the conversion unit 1102 and the weighting unit 1103.

初期化部1101は、デバイス情報から標本点データ1110および重み付け設定データ1111を取得する。そして、初期化部101は、変換部(四面体補間)のための変換部初期化データ1116と、変換部(スプライン補間)のための変換部初期化データ1116を作成する。   The initialization unit 1101 acquires sample point data 1110 and weight setting data 1111 from the device information. Then, the initialization unit 101 creates conversion unit initialization data 1116 for the conversion unit (tetrahedral interpolation) and conversion unit initialization data 1116 for the conversion unit (spline interpolation).

変換部(四面体補間)のための変換部初期化データ(四面体補間)は、図10に示されるルックアップテーブルである。変換部(スプライン補間)のための変換部初期化データ(スプライン補間)は、図13の処理によって求められるB−スプライン体の計数値である。   The conversion unit initialization data (tetrahedral interpolation) for the conversion unit (tetrahedral interpolation) is a lookup table shown in FIG. The conversion unit initialization data (spline interpolation) for the conversion unit (spline interpolation) is a count value of the B-spline body obtained by the processing of FIG.

さらに、初期化部1101は、重み付け部初期化データ1117を作成する。   Further, the initialization unit 1101 creates weighting unit initialization data 1117.

重み付け部初期化データ1117の1例を、図12に示す。図12における、RGB_R、RGB_G、RGB_Bは、デバイス色信号であるRGB値のR値、G値、B値のそれぞれに相当する。RATE1は変換部(四面体補間)の重みデータである。RATE2は変換部(スプライン補間)の重みデータである。RATEは0以上、1以下の数が設定され、RATE1とRATE2の合計が1になるように設定されている。   An example of the weighting unit initialization data 1117 is shown in FIG. In FIG. 12, RGB_R, RGB_G, and RGB_B correspond to the R value, the G value, and the B value of the RGB values that are device color signals. RATE1 is weight data of the conversion unit (tetrahedral interpolation). RATE2 is weight data of the conversion unit (spline interpolation). RATE is set to a number between 0 and 1, and the sum of RATE1 and RATE2 is set to 1.

ここで、重み付け初期化データ1117におけるRATEの値は以下のように算出される。   Here, the RATE value in the weighted initialization data 1117 is calculated as follows.

デバイス情報において、重み付け設定データ1111が、図8のように「RATE=“GRAY”」として記述されている場合は、以下のように重み付け初期化データを作成する。R,G,Bの各値が同じ値つまりグレーの標本点に対しては、「RATE1=1、RATE2=0」を設定する。そして、R,G,Bの各値が同じ値でない標本点に対しては、「RATE1=0、RATE2=1」を設定する。図8の例によれば、グレイという特定の条件を満たす標本点に対して、簡単に重み付けデータを設定することができる。   In the device information, when the weight setting data 1111 is described as “RATE =“ GRAY ”” as shown in FIG. 8, the weight initialization data is created as follows. “RATE1 = 1, RATE2 = 0” is set for the same values of R, G, and B, that is, gray sample points. Then, “RATE1 = 0, RATE2 = 1” is set for sample points whose R, G, and B values are not the same. According to the example of FIG. 8, weighting data can be easily set for a sample point that satisfies a specific condition of gray.

一方、重み付け設定データ1111が、デバイス情報において、図9のように指定されたRGB値に対して記述されている場合は、以下のように重み付け部初期化データを作成する。図9のように、指定されたRGBに対して重み付け設定データが記載されている場合は、デバイス情報にて指定されていないRGBに対する重み付けデータとして「RATE1=0.5、RATE2=0.5」を設定する。   On the other hand, when the weight setting data 1111 is described in the device information with respect to the RGB values designated as shown in FIG. 9, the weighting unit initialization data is created as follows. As shown in FIG. 9, when the weight setting data is described for the designated RGB, “RATE1 = 0.5, RATE2 = 0.5” is given as the weighting data for RGB not designated in the device information. Set.

デバイス情報に記述されているRATE情報を抽出する。そして、RATE情報にて指定されたRGB値のRATE1の値を、RATE情報にて指定された値に設定する。例えば、「RATE_0_0_0=1」を抽出した場合は、R=0、G=0、B=0の標本点に対して、「RATE1=1、RATE2=0」を設定する。「RATE_0_0_32=0」を抽出した場合、R=0、G=0、B=32の標本点に対して、「RATE1=0、RATE2=1」を設定する。図9の例によれば、各標本点に対して個別に重み付けデータを設定することができる。この場合、特にグレーだけではなくて、任意の標本点に対して四面体補間の割合を設定することが可能となり柔軟性が向上する。例えば、図12に示されるように各標本点における重み付けデータを設定することができる。   RATE information described in the device information is extracted. Then, the RATE1 value of the RGB value designated by the RATE information is set to the value designated by the RATE information. For example, when “RATE — 0 — 0 — 0 = 1” is extracted, “RATE1 = 1, RATE2 = 0” is set for the sample points of R = 0, G = 0, and B = 0. When “RATE_0_0_32 = 0” is extracted, “RATE1 = 0, RATE2 = 1” is set for the sample points of R = 0, G = 0, and B = 32. According to the example of FIG. 9, weighting data can be set individually for each sample point. In this case, the ratio of tetrahedral interpolation can be set not only for gray but also for arbitrary sample points, and flexibility is improved. For example, weighting data at each sample point can be set as shown in FIG.

ステップS2002では、各変換部1102が入力データを変換するとともに、重み付け部1103が入力データに対応する重み付けデータを計算する。   In step S2002, each conversion unit 1102 converts the input data, and the weighting unit 1103 calculates weighting data corresponding to the input data.

変換部(四面体補間)1102および変換部(スプライン補間)1102のそれぞれが、入力データ1112を変換する。そして、L*a*b*で示される変換データ(四面体補間)1113およびL*a*b*で示される変換データ(スプライン補間)を生成する。   Each of the conversion unit (tetrahedral interpolation) 1102 and the conversion unit (spline interpolation) 1102 converts the input data 1112. Then, conversion data (tetrahedral interpolation) 1113 indicated by L * a * b * and conversion data (spline interpolation) indicated by L * a * b * are generated.

重み付け部1103は、入力データ1112に対応する重み付けデータ1114を算出する。   The weighting unit 1103 calculates weighting data 1114 corresponding to the input data 1112.

重み付け部1103は、重み付け部初期化データ1117のデータを使用して内部にルックアップテーブル(LUT)を作成する。例えば図12に示す重み付け部初期化データ1117を用いた場合、RGB値に対してRATE_1およびRATE_2を対応付けるLUTを作成する。そして、この作成されたLUTを用いた線形補間(例えば、四面体補間)により、入力データに対する重み付けデータ1114(RATE1およびRATE2)を作成する。   The weighting unit 1103 creates a lookup table (LUT) internally using the data of the weighting unit initialization data 1117. For example, when the weighting unit initialization data 1117 shown in FIG. 12 is used, an LUT that associates RATE_1 and RATE_2 with RGB values is created. Then, weighting data 1114 (RATE1 and RATE2) for the input data is created by linear interpolation (for example, tetrahedral interpolation) using the created LUT.

ステップS2003では、変換データ(四面体補間)および変換データ(スプライン補間)を混合し、出力データを算出する。混合部1104は、変換データ(四面体補間)および変換データ(スプライン補間)を、重み付けデータ(RATE1、RATE2)を用いて、以下のように、混合することにより出力データ1115を算出する。
出力データ=RATE1*変換データ(四面体補間)+RATE2*変換データ(スプライン補間)
そして、出力データ(L*a*b*)を所定の演算式を用いてXYZに変換し、出力する。
In step S2003, the conversion data (tetrahedral interpolation) and the conversion data (spline interpolation) are mixed to calculate output data. The mixing unit 1104 calculates the output data 1115 by mixing the conversion data (tetrahedral interpolation) and the conversion data (spline interpolation) using the weighting data (RATE1, RATE2) as follows.
Output data = RATE1 * conversion data (tetrahedral interpolation) + RATE2 * conversion data (spline interpolation)
Then, the output data (L * a * b *) is converted into XYZ using a predetermined arithmetic expression and output.

各変換部は異なる特徴を有している。本実施例によれば、入力データの色領域に適した特徴を有する変換部の重みを大きくすることができる。つまり、特定の色領域に適した色再現を実現することができる。そして、重みデータも重み付け部1103において補間処理されるので、重みデータも隣接の重みデータに基づき徐々に変化する。したがって、色領域全体において色の連続性を保つことができる。   Each conversion unit has different characteristics. According to this embodiment, it is possible to increase the weight of the conversion unit having characteristics suitable for the color area of the input data. That is, color reproduction suitable for a specific color region can be realized. Since the weight data is also interpolated by the weighting unit 1103, the weight data also gradually changes based on the adjacent weight data. Therefore, color continuity can be maintained in the entire color region.

例えば、本実施例では、変換部において四面体補間を用いる変換部と、スプライン補間を用いる変換部とを有している。本実施例の四面体補間は、線形補間を用いるとともにグレー軸を基準として六つの四面体領域に分割しているので、グレーの再現性およびグレーの階調性にすぐれている。これに対して、スプライン補間は非線形補間であり、図15に示されるように入力値に対する出力値の変化を滑らかに表現することができ、デバイスの性質を高精度に近似することができる。しかし、グレー軸に関しては、非線形補間を使用すると、軸をゆがんで補間してしまうことがありグレーの再現を低下させてしまう場合がある。   For example, in this embodiment, the conversion unit includes a conversion unit using tetrahedral interpolation and a conversion unit using spline interpolation. The tetrahedron interpolation of this embodiment uses linear interpolation and is divided into six tetrahedron regions on the basis of the gray axis, which is excellent in gray reproducibility and gray gradation. On the other hand, spline interpolation is non-linear interpolation, and as shown in FIG. 15, the change of the output value with respect to the input value can be expressed smoothly, and the characteristics of the device can be approximated with high accuracy. However, with respect to the gray axis, if nonlinear interpolation is used, the axis may be distorted and interpolation may occur, which may reduce gray reproduction.

よって、重み付け設定データを図8のように設定することにより、グレー軸付近は変換データ(四面体補間)の割合が1になり、グレー軸からはなれると変換データ(スプライン補間)の割合を大きくすることが実現できる。これにより、グレー軸付近での出力データ1115は、変換データ(四面体補間)の値に近くなり、グレー軸から離れるにつれて出力データは変換データ(スプライン補間)の値に近くすることができる。   Therefore, by setting the weighting setting data as shown in FIG. 8, the ratio of the conversion data (tetrahedral interpolation) becomes 1 near the gray axis, and the ratio of the conversion data (spline interpolation) increases when it is separated from the gray axis. Can be realized. Thus, the output data 1115 near the gray axis is close to the value of the conversion data (tetrahedral interpolation), and the output data can be close to the value of the conversion data (spline interpolation) as the distance from the gray axis is increased.

スプライン補間は非線形補間であり、一般的なデバイスの性質をよく近似して補間することが可能である。グレー軸に関しては、非線形補間を使用すると、軸をゆがんで補間してしまうことがある。図8によれば、グレー近辺を四面体補間とすることにより、グレーの色再現性を向上することが可能になる。なお、重み付けデータは補間により求めているので、色空間の中で重み付けは連続的に変わるため、出力データも連続的に変化し、階調性を保つことが可能となっている。   Spline interpolation is non-linear interpolation, and can be performed by approximating general device characteristics. For the gray axis, if nonlinear interpolation is used, the axis may be distorted and interpolated. According to FIG. 8, it is possible to improve gray color reproducibility by using tetrahedral interpolation in the vicinity of gray. Since the weighting data is obtained by interpolation, the weighting is continuously changed in the color space, so that the output data is also continuously changed to maintain the gradation.

よって、線形補間によりグレー軸の色再現性を向上させ、非線形補間により色空間全域にわたる色再現性の向上させることを、階調性を保ちながら実現することができる。   Therefore, it is possible to improve the color reproducibility of the gray axis by linear interpolation and improve the color reproducibility over the entire color space by nonlinear interpolation while maintaining the gradation.

<出力変換部202の構成>
出力変換部202は、入力変換部201と同様な処理を行う。出力変換部202において、入力変換部201と異なる点は、出力変換部202ではデバイス情報203を用いて、デバイスに依存しない色空間データをデバイス色信号に変換することである。これに基づき、初期化部1101において変換部初期化データを作成する処理が異なる。
<Configuration of Output Conversion Unit 202>
The output conversion unit 202 performs the same processing as the input conversion unit 201. The output converter 202 differs from the input converter 201 in that the output converter 202 uses device information 203 to convert device-independent color space data into a device color signal. Based on this, the process of creating conversion unit initialization data in the initialization unit 1101 is different.

本実施例における特徴の1つである、重み付け部初期化データ1117の作成方法、変換部1102、重み付け部1103、混合部1104における処理は、入力変換部202と同様である。   The creation method of the weighting unit initialization data 1117 and the processing in the conversion unit 1102, the weighting unit 1103, and the mixing unit 1104, which are one of the features in the present embodiment, are the same as those of the input conversion unit 202.

(変形例)
上記実施例では、デバイスに依存しない色空間データとして、L*a*bを使用したが、L*u*vや、XYZ、Jabなど他の色空間を使用しても構わない。
(Modification)
In the above embodiment, L * a * b is used as the color space data independent of the device, but other color spaces such as L * u * v, XYZ, and Jab may be used.

上記実施例では、R/G/B値のステップが同一の場合を説明したが、異なっていてもかまわない。   In the above embodiment, the case where the steps of the R / G / B values are the same has been described, but they may be different.

上記実施例では、Solid表現における基底関数としてB−Splineを用いて説明した。しかしながら、基底関数としてはRational B−Spline、Non Uniform Rational B−Spline、Bezier、Rational Bezier等、あらゆる区分的関数を用いることが出来る。   In the said Example, it demonstrated using B-Spline as a basis function in Solid expression. However, any piecewise function such as Rational B-Spline, Non Uniform Rational B-Spline, Bezier, or Rational Bezier can be used as the basis function.

上記実施例では、各基底の節点数が同一であるとして説明した。しかしながら、基底毎に節点数を変更することも可能である。   In the embodiment described above, the number of nodes on each base is the same. However, it is possible to change the number of nodes for each base.

上記実施例では、いずれもRGB三次元より、L*a*b三次元を算出していた。しかしながら、推定する色の次元数になんら拘束は無い。   In the above-described embodiments, L * a * b three-dimensional is calculated from RGB three-dimensional. However, there are no restrictions on the estimated number of color dimensions.

上記実施例では、推定元の色空間としてRGB三次元によるSolid表現を用いてきた。しかしながら、この推定元の色空間の次元数になんら拘束は無い。   In the above-described embodiment, Solid representation by RGB three-dimensional has been used as the estimation source color space. However, there is no restriction on the number of dimensions of the color space of the estimation source.

上記実施例では、重み付け部初期化データとして図12のようなデータを作成した。しかしながら、重み付け部初期化データとして、図16のような他のようなデータ形式を使用してもかまわない。図16の重み付け部初期化データにおけるRATEは変換部(四面体補間)に対するRATEのみを記載している。上記実施例では、RATE1とRATE2の合計を1としているので、RATE1からRATE2を簡単に算出することができる。   In the above embodiment, data as shown in FIG. 12 is created as the weighting unit initialization data. However, other data formats as shown in FIG. 16 may be used as the weighting unit initialization data. RATE in the weighting unit initialization data in FIG. 16 describes only RATE for the conversion unit (tetrahedral interpolation). In the above embodiment, since the sum of RATE1 and RATE2 is 1, RATE2 can be easily calculated from RATE1.

さらに、図16の例では、格子点に対応するRGBに対応するL*a*b*も格納されているので、図16のデータは、変換部初期化データ(四面体補間)と重み付け部初期化データを兼ねることができる。   Further, in the example of FIG. 16, L * a * b * corresponding to RGB corresponding to the grid points is also stored, so that the data of FIG. 16 includes conversion unit initialization data (tetrahedral interpolation) and weighting unit initials. Can also be used as data.

また、上記実施例では、2つの変換部を用いた場合の実施例を説明した。しかしながら、N個(N>2)の変換部を使用しても構わない。この場合の重み付け部初期化データの1例を、図17に示す。RATE_1、RATE_2、RATE_3はRATEと同じ意味であり、以下RATE_*と記す。RATE_*は変換部1102が2種類以上の場合に使用する。図ではRATE_3までであるが、変換部1102の数に応じて増やすことが可能である。また、該当するデバイス色信号における各RATE_*に設定する値の合計を1になるように設定する。例えば、変換部1102が3種類の場合は、該当するデバイス色信号におけるRATE_1からRATE_3の合計が1になるように設定する。このとき、RATE_3の項目を作成せずにRATE_1とRATE_2の項目だけ作成し、RATE_3に相当する値は、1からRATE_1とRATE_2に設定する値を引いた値を使用することも可能である。   In the above-described embodiment, the embodiment in which two conversion units are used has been described. However, N (N> 2) conversion units may be used. An example of the weighting unit initialization data in this case is shown in FIG. RATE_1, RATE_2, and RATE_3 have the same meaning as RATE, and are hereinafter referred to as RATE_ *. RATE_ * is used when there are two or more conversion units 1102. Although it is up to RATE_3 in the figure, it can be increased according to the number of conversion units 1102. Also, the sum of the values set for each RATE_ * in the corresponding device color signal is set to 1. For example, when there are three types of conversion units 1102, the total of RATE — 1 to RATE — 3 in the corresponding device color signal is set to 1. At this time, only the items RATE_1 and RATE_2 are created without creating the item RATE_3, and the value corresponding to RATE_3 can be a value obtained by subtracting the values set in RATE_1 and RATE_2.

また、重み付け部初期化データのデバイス色信号であるRGB値の間隔と、変換部初期化データのデバイス色信号であるRGB値の間隔とを異ならせることも可能である。このように重み付け部初期化データの標本点と変換部初期化データの標本点を独立に定義することで、より柔軟な設定が可能である。   It is also possible to make the interval of the RGB values that are the device color signals of the weighting unit initialization data different from the interval of the RGB values that are the device color signals of the conversion unit initialization data. As described above, by defining the sample points of the weighting unit initialization data and the sample points of the conversion unit initialization data independently, a more flexible setting is possible.

また、重み付け部初期化データとして、図18に示すデータを使用しても構わない。図18に示す変換部初期化データは、2種類の変換部を使用する場合の例である。そして、図18に示す変換部初期化データは、RATE_1_L,RATE_1_A,RATE_1_Bを用いて、L,a,b独立に重み付けを設定することができる。これにより、例えば、グレー部分のa値、b値を四面体補間で行い、L値をスプライン補間にすることができる。これによれば、色相をぶれずにかつなめらかにL値を変化させることができ、よりグレーの再現性を向上させることが可能となる。   Further, the data shown in FIG. 18 may be used as the weighting unit initialization data. The conversion unit initialization data shown in FIG. 18 is an example when two types of conversion units are used. The conversion unit initialization data shown in FIG. 18 can set weights independently for L, a, and b using RATE_1_L, RATE_1_A, and RATE_1_B. Thereby, for example, the a value and b value of the gray portion can be performed by tetrahedral interpolation, and the L value can be spline interpolation. According to this, the L value can be changed smoothly and smoothly without changing the hue, and the gray reproducibility can be further improved.

また、変換部(四面体補間)と変換部(スプライン補間)とにおいて、標本点データを異ならせても良い。   In addition, the sample point data may be different between the conversion unit (tetrahedral interpolation) and the conversion unit (spline interpolation).

ステップS2001において、図19に示すような標本点データ1116を使用して、変換部(四面体補間)1102を初期化する。また、図20に示すような標本点データ1116を使用して、変換部(スプライン補間)1102を初期化する。そして、図12に示される重み付け部初期化データを使用して、重み付け部を初期化する。   In step S2001, the conversion unit (tetrahedral interpolation) 1102 is initialized using the sample point data 1116 as shown in FIG. Moreover, the conversion part (spline interpolation) 1102 is initialized using the sample point data 1116 as shown in FIG. Then, the weighting unit is initialized using the weighting unit initialization data shown in FIG.

図19に示す標本点データはデバイス色信号であるR値が0から64、G値が0から64、B値が0から255の範囲のみ定義している。図12における重み付け部初期化データ1117のRATE_1は、変換部(スプライン補間)1102の割り合いであり、RATE_2は、変換部(四面体補間)1102の割り合いである。R値が0から64、G値が0から64、B値が0から255の範囲以外および境界部分はRATE_1には0が設定されており、それ以外はRATE_1に0より大きい値が設定されている。つまり上記範囲内では、変換部(スプライン補間)1102の割合が高い。しかも上記範囲外の標本点の間隔はRGB値で32であるが、上記範囲内の標本点の間隔はRGB値で16であり、細かく設定されている。   The sample point data shown in FIG. 19 defines only the device color signal ranges of R values from 0 to 64, G values from 0 to 64, and B values from 0 to 255. RATE_1 of the weighting unit initialization data 1117 in FIG. 12 is a ratio of the conversion unit (spline interpolation) 1102, and RATE_2 is a ratio of the conversion unit (tetrahedral interpolation) 1102. The R value is set to 0 except for the range where the R value is 0 to 64, the G value is 0 to 64, and the B value is not within the range of 0 to 255, and the boundary part is set to a value greater than 0 in RATE_1. Yes. That is, the ratio of the conversion unit (spline interpolation) 1102 is high within the above range. Moreover, the interval between the sample points outside the range is 32 in RGB value, but the interval between the sample points within the range is 16 in RGB value, which is set finely.

例えば、上記範囲内の線形性が特に低い場合に、本実施の形態のように、その部分だけ非線形補間を行い、その他は線形補間で高速に処理することで、変換精度を向上することができる。   For example, when the linearity within the above-mentioned range is particularly low, the conversion accuracy can be improved by performing non-linear interpolation only on that portion and performing other high-speed processing with linear interpolation as in this embodiment. .

また、例えば、上記範囲を四面体補間で行う場合でも、上記範囲内の標本点が細かいため変換精度を向上することが可能である。このとき、全体的に標本点を細かくするより、精度がよくない範囲を限定して標本点を細かくすることにより、色変換精度の向上、および色変換速度の低下を最小限に抑えることが、階調性を保ちつつも可能となっている。   For example, even when the range is performed by tetrahedral interpolation, the conversion accuracy can be improved because the sample points in the range are fine. At this time, rather than making the sample points finer overall, by limiting the range of inaccurate accuracy and making the sample points finer, it is possible to minimize color conversion speed improvement and color conversion speed reduction. This is possible while maintaining gradation.

また、変換部で使用する補間のアルゴリズムは、他の8点補間や体心立方格子を用いた補間、プリズム補間など他の方法を使用しても構わない。   As the interpolation algorithm used in the conversion unit, other methods such as other eight-point interpolation, interpolation using a body-centered cubic lattice, prism interpolation may be used.

カラーマネージメントを実現する技術の一例として、ICC(International Color Consortium)により定められた、ICCカラープロファイルに基づきカラーマネージメントを行うシステム(Color Management System:CMS)が存在する。このシステムでは、カラーマッチングを行う為のデバイスインディペンデントなハブ色空間あるいはPCS(Profile Connection Space)を定義し、その上でデバイス色空間からハブ色空間/PCSへの色変換を規定するソース側プロファイル、ならびにハブ色空間/PCSからデバイス色空間への色変換を規定するディスティネーション側プロファイルを用いてカラーマネージメントを実現する。処理系は、ソース側プロファイルにより入力された画像の入力側デバイスに適合したデバイス色空間での色信号値をハブ色空間/PCSでの色信号値に変換した後、さらにディスティネーション側プロファイルにより、出力側デバイスに適合したデバイス色空間での色信号に変換する、という2つの大きな変換処理より構成される。上記変換処理にも本発明が適用可能なのはいうまでもない。   As an example of a technique for realizing color management, there is a system (Color Management System: CMS) that performs color management based on an ICC color profile defined by ICC (International Color Consortium). In this system, a device-independent hub color space or PCS (Profile Connection Space) for color matching is defined, and then the source side that defines color conversion from the device color space to the hub color space / PCS Color management is realized using a profile and a destination-side profile that defines color conversion from the hub color space / PCS to the device color space. The processing system converts the color signal value in the device color space suitable for the input side device of the image input by the source side profile into the color signal value in the hub color space / PCS, and then further by the destination side profile, It consists of two large conversion processes of converting into a color signal in a device color space suitable for the output side device. Needless to say, the present invention can also be applied to the conversion processing.

また、PCSを介さないような、例えば、モニタ−プリンタの色空間での直接の色変換にも本発明は適用可能である。   The present invention is also applicable to direct color conversion in the color space of a monitor-printer without going through the PCS, for example.

以上、説明したように本実施例によれば、入力色空間上のエリアによって複数の補間方法や格子点間隔を定義したときに階調性が低下することなく、色変換することが可能となる。   As described above, according to the present embodiment, when a plurality of interpolation methods and grid point intervals are defined by areas in the input color space, it is possible to perform color conversion without deterioration in gradation. .

なお、本発明を適用する計算機は、パーソナルコンピュータ、携帯電話を含む携帯端末、画像形成装置など、その形態を問わないのは言うまでもない。   Needless to say, the computer to which the present invention is applied may be in any form such as a personal computer, a portable terminal including a cellular phone, an image forming apparatus, and the like.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the storage medium is written to the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function is based on the instruction of the program code. It goes without saying that the CPU of the expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

色知覚モデルを用いたカラーマッチングの処理概念図である。It is a processing conceptual diagram of color matching using a color perception model. 実施例におけるカラーマッチングモジュールの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the color matching module in an Example. 図2に示される機能構成を実現する装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the apparatus which implement | achieves the function structure shown by FIG. デバイス情報ならびにデバイスプラグイン、色空間変換プラグインの模式図である。It is a schematic diagram of device information, a device plug-in, and a color space conversion plug-in. 入力変換部201の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of an input conversion unit 201. FIG. 入力変換部201における処理の一例を説明するフローチャートである。6 is a flowchart illustrating an example of processing in an input conversion unit 201. 標本点データ1110の一例である。It is an example of sample point data 1110. デバイス情報の一例である。It is an example of device information. デバイス情報の一例である。It is an example of device information. 変換部初期化データ(四面体補間)の一例である。It is an example of conversion part initialization data (tetrahedral interpolation). 四面体補間を説明する図である。It is a figure explaining tetrahedral interpolation. 重み付け部初期化データ1117の一例である。It is an example of the weighting part initialization data 1117. 変換部初期化データ(スプライン補間)を算出する処理を説明するフローチャートである。It is a flowchart explaining the process which calculates conversion part initialization data (spline interpolation). 基底関数の一例である。It is an example of a basis function. 変換部(スプライン補間)の処理結果を説明する図である。It is a figure explaining the process result of a conversion part (spline interpolation). 重み付け部初期化データの一例である。It is an example of weighting part initialization data. 重み付け部初期化データの一例である。It is an example of weighting part initialization data. 重み付けデータ1111の一例である。It is an example of weighting data 1111. 標本点データの一例である。It is an example of sample point data. 標本点データの一例である。It is an example of sample point data. 従来の一般的なカラーマッチングの概念図である。It is a conceptual diagram of conventional general color matching.

Claims (5)

デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得手段と、
前記標本点データからルックアップテーブルを作成するルックアップテーブル作成手段と、
前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換手段と、
前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出手段と、
前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換手段と、
複数の色データのそれぞれに対して重み付けデータを設定する設定手段と、
前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出手段と、
前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合手段とを有し、
前記設定手段は、前記重み付けデータを出力する重み付けテーブルを設定し、
前記重み付け算出手段は、前記重み付けテーブルを用いて線形補間処理することにより、前記入力色データに対応する重み付けデータを算出することを特徴とする色変換装置。
Acquisition means for acquiring sample point data indicating correspondence between device color signals and device-independent color space data;
Lookup table creation means for creating a lookup table from the sample point data;
First color conversion means for linearly interpolating input color data using the created lookup table;
Obtaining a basis function from the sample point data step, a coefficient calculating means for calculating a coefficient from the sample point data and the obtained basis function ;
Second color conversion means for performing nonlinear interpolation on the input color data using the calculated coefficient;
Setting means for setting weighting data for each of a plurality of color data;
Weighting data calculating means for calculating weighting data for the input color data using the weighting data set by the setting means;
Mixing means for mixing the output of the first color conversion means and the output of the second conversion means by using weighted data for the calculated input color data;
The setting means sets a weighting table for outputting the weighting data;
The color conversion apparatus characterized in that the weight calculation means calculates weight data corresponding to the input color data by performing a linear interpolation process using the weight table.
デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得手段と、
前記標本点データからルックアップテーブルを作成するルックアップテーブル作成手段と、
前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換手段と、
前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出手段と、
前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換手段と、
複数の色データのそれぞれに対して重み付けデータを設定する設定手段と、
前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出手段と、
前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合手段とを有し、
前記第2の色変換手段は、区分的多項式を基底関数とする多重総和演算を行うことを特徴とする色変換装置。
Acquisition means for acquiring sample point data indicating correspondence between device color signals and device-independent color space data;
Lookup table creation means for creating a lookup table from the sample point data;
First color conversion means for linearly interpolating input color data using the created lookup table;
Obtaining a basis function from the sample point data step, a coefficient calculating means for calculating a coefficient from the sample point data and the obtained basis function ;
Second color conversion means for performing nonlinear interpolation on the input color data using the calculated coefficient;
Setting means for setting weighting data for each of a plurality of color data;
Weighting data calculating means for calculating weighting data for the input color data using the weighting data set by the setting means;
Mixing means for mixing the output of the first color conversion means and the output of the second conversion means using weighted data for the calculated input color data;
The color conversion apparatus according to claim 2, wherein the second color conversion means performs a multiple sum operation using a piecewise polynomial as a basis function.
デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得手段と、
前記標本点データからルックアップテーブルを作成するルックアップテーブル作成手段と、
前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換手段と、
前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出手段と、
前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換手段と、
複数の色データのそれぞれに対して重み付けデータを設定する設定手段と、
前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出手段と、
前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合手段とを有し、
前記取得手段は、前記標本点データとともに重み付け設定データを取得し、
前記設定手段は、前記取得した重み付け設定データを用いて、複数の色データのそれぞれに対して前記重み付けデータを設定することを特徴とする色変換装置。
Acquisition means for acquiring sample point data indicating correspondence between device color signals and device-independent color space data;
Lookup table creation means for creating a lookup table from the sample point data;
First color conversion means for linearly interpolating input color data using the created lookup table;
Obtaining a basis function from the sample point data step, a coefficient calculating means for calculating a coefficient from the sample point data and the obtained basis function ;
Second color conversion means for performing nonlinear interpolation on the input color data using the calculated coefficient;
Setting means for setting weighting data for each of a plurality of color data;
Weighting data calculating means for calculating weighting data for the input color data using the weighting data set by the setting means;
Mixing means for mixing the output of the first color conversion means and the output of the second conversion means using weighted data for the calculated input color data;
The acquisition means acquires weight setting data together with the sample point data,
The color conversion apparatus, wherein the setting means sets the weighting data for each of a plurality of color data using the acquired weighting setting data.
デバイス色信号とデバイスに依存しない色空間データの対応を示す標本点データを取得する取得工程と、
前記標本点データからルックアップテーブルを作成するルックアップテーブル作成工程と、
前記作成されたルックアップテーブルを用いて入力色データに対して線形補間処理する第1の色変換工程と、
前記標本点データのステップから基底関数を求め、該標本点データと該求められた基底関数とから係数を算出する係数算出工程と、
前記算出された係数を用いて前記入力色データに対して非線形補間処理する第2の色変換工程と、
複数の色データのそれぞれに対して重み付けデータを設定する設定工程と、
前記設定手段により設定された重み付けデータを用いて、前記入力色データに対する重み付けデータを算出する重み付けデータ算出工程と、
前記算出された入力色データに対する重み付けデータを用いて、前記第1の色変換手段の出力と前記第2の変換手段の出力とを混合する混合工程とを有し、
前記設定工程は、前記重み付けデータを出力する重み付けテーブルを設定し、
前記重み付け算出工程は、前記重み付けテーブルを用いて線形補間処理することにより、前記入力色データに対応する重み付けデータを算出することを特徴とする色変換方法。
An acquisition step of acquiring sample point data indicating the correspondence between the device color signal and the device-independent color space data;
A lookup table creation step of creating a lookup table from the sample point data;
A first color conversion step of performing linear interpolation processing on input color data using the created lookup table;
Obtaining a basis function from the sample point data step, and calculating a coefficient from the sample point data and the obtained basis function ;
A second color conversion step of performing nonlinear interpolation processing on the input color data using the calculated coefficient;
A setting step for setting weighting data for each of a plurality of color data;
A weighting data calculating step of calculating weighting data for the input color data using the weighting data set by the setting means;
Using the weighted data for the calculated input color data, and mixing the output of the first color conversion means and the output of the second conversion means,
The setting step sets a weighting table for outputting the weighting data,
The color conversion method characterized in that the weight calculation step calculates weight data corresponding to the input color data by performing a linear interpolation process using the weight table.
請求項1乃至3のいずれかに記載の色変換装置をコンピュータを用いて実現するためにコンピュータが読み取り可能に記録されたプログラム。   A program recorded so as to be readable by a computer in order to realize the color conversion device according to claim 1 using the computer.
JP2006214528A 2005-09-13 2006-08-07 Color conversion apparatus and method Expired - Fee Related JP4298730B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006214528A JP4298730B2 (en) 2005-09-13 2006-08-07 Color conversion apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005265513 2005-09-13
JP2006214528A JP4298730B2 (en) 2005-09-13 2006-08-07 Color conversion apparatus and method

Publications (2)

Publication Number Publication Date
JP2007110681A JP2007110681A (en) 2007-04-26
JP4298730B2 true JP4298730B2 (en) 2009-07-22

Family

ID=38036142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006214528A Expired - Fee Related JP4298730B2 (en) 2005-09-13 2006-08-07 Color conversion apparatus and method

Country Status (1)

Country Link
JP (1) JP4298730B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7266179B2 (en) * 2018-02-28 2023-04-28 パナソニックIpマネジメント株式会社 Image processing device and imaging device

Also Published As

Publication number Publication date
JP2007110681A (en) 2007-04-26

Similar Documents

Publication Publication Date Title
Süsstrunk et al. Standard RGB color spaces
EP1729526B1 (en) Color adjustment method, and color adjusment system by use of a three-dimensional look-up table
JP5043513B2 (en) Color processing apparatus and method
JP4263131B2 (en) Color conversion method and image processing apparatus
JPH11341296A (en) Color area conversion method and color area converter
JP2007081586A (en) Image processing unit and image processing method, program thereof, and recording medium
JP2004356930A (en) Apparatus and method for adjusting color
US8111430B2 (en) Color conversion apparatus and method
JP4081944B2 (en) Color separation image correction method, chart, ink jet printer, color separation image correction device, and recording medium
KR100921037B1 (en) Image signal processing method and image signal processing apparatus
JP2009004991A (en) Color conversion device and color conversion method
KR100834766B1 (en) Color management apparatus and method for the same
JP2005354372A (en) Apparatus and method for image recording device, method and system for image processing
JP4999527B2 (en) Color conversion apparatus and method
JP2002152530A (en) Color collection processing method and device thereof
JP2006019827A (en) Image processing method and image processing apparatus
JP4298730B2 (en) Color conversion apparatus and method
JP3987215B2 (en) Color conversion device
JP2007312313A (en) Image processor, image processing method and program
JP2007151055A6 (en) Image processing apparatus, image processing method, and image processing program
JP2007151055A (en) Image processing equipment, image processing method, and image processing program
JP2003244458A (en) Image display device and color conversion method
JP2008236083A (en) Image processor, color conversion method, color conversion table preparation method, program and storage medium
JP2006254369A (en) Color processing method and device thereof
KR100555111B1 (en) The color management method using sRGB standard image between digital imaging devices

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090316

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090415

R150 Certificate of patent or registration of utility model

Ref document number: 4298730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees