JP2006081024A - Color processing apparatus and method - Google Patents

Color processing apparatus and method Download PDF

Info

Publication number
JP2006081024A
JP2006081024A JP2004264599A JP2004264599A JP2006081024A JP 2006081024 A JP2006081024 A JP 2006081024A JP 2004264599 A JP2004264599 A JP 2004264599A JP 2004264599 A JP2004264599 A JP 2004264599A JP 2006081024 A JP2006081024 A JP 2006081024A
Authority
JP
Japan
Prior art keywords
color
gamut
color gamut
signal values
color system
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
Application number
JP2004264599A
Other languages
Japanese (ja)
Inventor
Hirochika Matsuoka
寛親 松岡
Suzuko Fukao
珠州子 深尾
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 JP2004264599A priority Critical patent/JP2006081024A/en
Publication of JP2006081024A publication Critical patent/JP2006081024A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To acquire accurate color region in the analysis when accurate acquisition of color region is very important for the mapping and it is required to analyze the device characteristic for selection of the mapping method. <P>SOLUTION: The color distribution data indicating a set of the RGB value for designating the color on the RGB color space and the L*a*b* value (measured color value) indicating reproduced color at the printing time is read (S302), a coefficient of B spline body for calculation of color region and the basic function are calculated (S303) using the color distribution data, and the color region data is generated using the B spline body (S304). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は色処理装置およびその方法に関し、例えば、色域の算出に関する。   The present invention relates to a color processing apparatus and method, and for example, relates to calculation of a color gamut.

近年、パーソナルコンピュータやワークステーションの普及に伴い、デスクトップパブリッシング(DTP)やディジタル画像管理が広く一般に利用されるようになった。DTP用の、カラーモニタとカラープリンタを有するコンピュータシステムにおいては、モニタ上においてカラー画像の作成・編集・加工などを行い、プレビューにより出力イメージのチェックを行った後、カラープリンタでカラー画像を出力する。あるいは、ディジタルカメラにより撮影された画像は、色調整を施した後、カラーモニタへ表示したり、カラープリンタで出力する。その際、ユーザは、モニタ上のカラー画像と、プリンタの出力画像とが知覚的に一致することを強く望む。   In recent years, with the spread of personal computers and workstations, desktop publishing (DTP) and digital image management have become widely used. In a computer system with a color monitor and a color printer for DTP, color images are created, edited, and processed on the monitor, the output image is checked by preview, and the color printer outputs the color image . Alternatively, an image photographed by a digital camera is displayed on a color monitor or output by a color printer after color adjustment. At that time, the user strongly desires that the color image on the monitor and the output image of the printer coincide perceptually.

しかし、色再現技術において、カラー画像とプリンタの出力画像において知覚上の一致を図るには、以下の理由による困難を伴う。   However, in the color reproduction technique, it is difficult to achieve perceptual matching between the color image and the output image of the printer for the following reason.

CRTのカラーモニタは、蛍光体を用いて、特定波長の光を発光することでカラー画像を表現する。他方、カラープリンタは、インクなどを用いて特定波長の光を吸収し、残りの反射光によってカラー画像を表現する。このような画像表示形態の違いによって、両者は、その色域が大きく異なる。さらに、カラーモニタであっても液晶、電子銃方式のCRT、プラズマ方式では、その色域が異なる。勿論、カラープリンタも、紙質の相違、インクの使用量の相違などにより色域が異なる。このため、カラーモニタ上の画像とカラープリンタの出力画像、あるいは、複数のプリンタ機種、複数の紙質により出力したカラープリンタの出力画像相互において、これらの画像の色を測色的な意味において完全に一致させることは不可能である。従って、各表示・出力媒体におけるカラー画像を人間が知覚するとき、各画像間に大きな違いが知覚されることになる。   A color monitor of a CRT expresses a color image by emitting light of a specific wavelength using a phosphor. On the other hand, a color printer absorbs light of a specific wavelength using ink or the like, and expresses a color image by the remaining reflected light. Due to such a difference in image display form, the color gamuts of both differ greatly. Furthermore, even color monitors have different color gamuts with liquid crystal, electron gun CRT, and plasma. Of course, color printers also have different color gamuts due to differences in paper quality and differences in the amount of ink used. Therefore, in the colorimetric sense, the color of the image on the color monitor and the output image of the color printer, or the output images of the color printer output by multiple printer models and multiple paper quality, are completely It is impossible to match. Therefore, when a human perceives a color image on each display / output medium, a large difference is perceived between the images.

そこで、色域が異なる表示・出力媒体の間において、カラー画像の知覚上の相違を吸収し、カラー画像の知覚的なマッチングを図るガマットマッピング技術が存在する。ガマットマッピング技術は、均等表色系を用いて、ある色域を別の色域内へ写像するものである。ガマットマッピング技術の一例としては、無彩色軸上の一点へ向けて色域を圧縮する方式、明度-彩度次元でアフィン変換などの線形写像を施す方式などが知られている。さらに、特開2001-94799公報のように、一から三次元の写像を複数段に渡って施す技術、あるいは、特開2002-33929公報のように、色の変化としての階調を曲線表現に帰着したガマットマッピングを実現する技術がある。   Therefore, there exists a gamut mapping technique that absorbs the difference in perception of color images between display / output media having different color gamuts and performs perceptual matching of color images. The gamut mapping technique maps a certain color gamut into another color gamut using a uniform color system. As an example of the gamut mapping technique, a method of compressing the color gamut toward one point on the achromatic color axis, a method of performing linear mapping such as affine transformation in the lightness-saturation dimension, and the like are known. Furthermore, a technique for applying a one- to three-dimensional mapping over a plurality of stages as in JP-A-2001-94799, or a gradation representing a color change as a curve expression as in JP-A-2002-33929 There is a technology that realizes the resulting gamut mapping.

これらの写像を行う上で正確に色域を求めることは非常に重要である。また、写像方法を選択するに当たってはデバイスの特性を解析することが必要になるが、その解析において正確な色域を得ることが求められる。   It is very important to obtain the color gamut accurately when performing these mappings. In selecting a mapping method, it is necessary to analyze the characteristics of the device, and it is required to obtain an accurate color gamut in the analysis.

特開2001-94799公報Japanese Patent Laid-Open No. 2001-94799 特開2002-33929公報JP 2002-33929 A

本発明は、上述の問題を個々にまたはまとめて解決するもので、色域を正確に算出することを目的とする。   The present invention solves the above-described problems individually or collectively, and an object thereof is to accurately calculate a color gamut.

また、色域を滑らかに算出することを他の目的とする。   Another object is to calculate the color gamut smoothly.

本発明は、前記の目的を達成する一手段として、以下の構成を備える。   The present invention has the following configuration as one means for achieving the above object.

本発明は、所定の表色系の色域を算出する際に、第一の表色系の次元数と同じ多重度の区分的多項式を基底関数とする多重総和演算を設定し、前記第一の表色系の複数の色信号値と、それら色信号値に対する測色結果である第二の表色系の複数の色信号値との組み合わせを示すデータに基づき前記区分的多項式の係数を求め、前記多重総和演算を用いて、前記第一の表色系の色域に対応する前記第二の表色系の色域を算出することを特徴とする。   In calculating the color gamut of a predetermined color system, the present invention sets a multiple sum operation using a piecewise polynomial having the same multiplicity as the number of dimensions of the first color system as a basis function, The coefficient of the piecewise polynomial is obtained based on data indicating a combination of a plurality of color signal values of the color system of the first color system and a plurality of color signal values of the second color system, which is a colorimetric result for the color signal values. The color gamut of the second color system corresponding to the color gamut of the first color system is calculated using the multiple sum operation.

また、所定の表色系の色域を算出する際に、第一の表色系の次元数と同じ多重度の区分的多項式を基底関数とする多重総和演算を設定し、前記第一の表色系の複数の色信号値と、それら色信号値に対する測色結果である第二の表色系の複数の色信号値との組み合わせを示すデータに基づき、前記第二の表色系の複数の信号値の並びに近似する曲面、あるいは、前記複数の色信号値を結ぶ曲面に対応する前記区分的多項式の係数を求め、前記多重総和演算を用いて、前記第一の表色系の色域に対応する前記第二の表色系の色域を算出することを特徴とする。   Further, when calculating the color gamut of a predetermined color system, a multiple sum operation is set with a piecewise polynomial having the same multiplicity as the number of dimensions of the first color system as a basis function, and the first table Based on data indicating a combination of a plurality of color signal values of the color system and a plurality of color signal values of the second color system that are the colorimetric results for these color signal values, a plurality of colors of the second color system A coefficient of the piecewise polynomial corresponding to a curved surface approximating a sequence of signal values or a curved surface connecting the plurality of color signal values, and using the multiple sum operation, the color gamut of the first color system The color gamut of the second color system corresponding to is calculated.

本発明によれば、色域を正確に算出することができる。   According to the present invention, the color gamut can be accurately calculated.

また、色域を滑らかに算出することができる。   In addition, the color gamut can be calculated smoothly.

以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。   Hereinafter, color processing according to an embodiment of the present invention will be described in detail with reference to the drawings.

[構成]
図1は実施例の色処理装置の構成例を示すブロック図である。
[Constitution]
FIG. 1 is a block diagram illustrating a configuration example of a color processing apparatus according to an embodiment.

図1において、CPU 101は、ROMやRAMからなるメインメモリ102やハードディスクドライブ(HDD) 105に格納されたプログラムに従い、メインメモリ102をワークメモリとして、システムバス(およびPCIバス)114を介して後述する構成を制御して、後述する各種処理および制御を実行する。   In FIG. 1, a CPU 101 is described later via a system bus (and PCI bus) 114 using the main memory 102 as a work memory according to a program stored in a main memory 102 or a hard disk drive (HDD) 105 including ROM and RAM. Various processes and controls to be described later are executed by controlling the configuration to be performed.

SCSIなどの汎用パラレルインタフェイス(I/F) 103は、HDD 105とシステムバス114をインタフェイスする。グラフィックアクセラレータ106は、カラーモニタ107とシステムバス114をインタフェイスする。USBコントローラ108は、カラープリンタ109とシステムバス114をインタフェイスする。キーボード/マウスコントローラ110は、キーボード111やマウス112などの入力デバイスとシステムバス114をインタフェイスする。なお、SCSI I/F 103、キーボード/マウスコントローラ110などに代わりUSBコントローラ108やIEEE 1394などのシリアルバスインタフェイスによって、HDD 105、キーボード111およびマウス112とシステムバス114をインタフェイスしてもよい。ネットワークインタフェイス(I/F) 104は、ローカルエリアネットワーク(LAN) 113とシステムバスをインタフェイスする。   A general-purpose parallel interface (I / F) 103 such as SCSI interfaces the HDD 105 with the system bus 114. The graphic accelerator 106 interfaces the color monitor 107 and the system bus 114. The USB controller 108 interfaces the color printer 109 and the system bus 114. The keyboard / mouse controller 110 interfaces the input device such as the keyboard 111 and the mouse 112 with the system bus 114. Note that the HDD 105, keyboard 111 and mouse 112 may be interfaced with the system bus 114 by a serial bus interface such as USB controller 108 or IEEE 1394 instead of the SCSI I / F 103 and keyboard / mouse controller 110. A network interface (I / F) 104 interfaces a local area network (LAN) 113 with a system bus.

[色域の解析]
上記構成における、色分布データを用いて色域を算出し解析する一連の動作を説明する。
[Analysis of color gamut]
A series of operations for calculating and analyzing the color gamut using the color distribution data in the above configuration will be described.

まず、ユーザの操作およびCPU 101の指令により、HDD 105に格納された色域解析アプリケーションが起動される。続いて、色域解析アプリケーションの処理に従いHDD 105に格納された初期プロファイルと初期編集色データが、CPU 101の指令に基づきSCSI I/F 103、システムバス114を経由して、メインメモリ102に転送される。そして、色域解析アプリケーションにより、図2に示す色解析ツールのユーザインタフェイスがカラーモニタ107に表示される。   First, a color gamut analysis application stored in the HDD 105 is activated by a user operation and a command from the CPU 101. Subsequently, the initial profile and initial edited color data stored in the HDD 105 are transferred to the main memory 102 via the SCSI I / F 103 and the system bus 114 based on the command of the CPU 101 in accordance with the processing of the color gamut analysis application. Is done. The user interface of the color analysis tool shown in FIG. 2 is displayed on the color monitor 107 by the color gamut analysis application.

図2に示すユーザインタフェイスには、色分布データの読み込みを指示するための分布データ読み込みボタン201、色分布データの記憶を指示するための色域記憶ボタン202、色域の三次元表示領域203、記憶した色域に対する操作を指示するための操作エリア204、色域解析アプリケーションの終了を指示する終了ボタン208がある。   The user interface shown in FIG. 2 includes a distribution data reading button 201 for instructing reading of color distribution data, a color gamut storage button 202 for instructing storage of color distribution data, and a three-dimensional display area 203 of the color gamut. There are an operation area 204 for instructing an operation for the stored color gamut, and an end button 208 for instructing the end of the color gamut analysis application.

操作エリア204には、記憶した色域を選択するためのリストボックス205、リストボックス205で選択した色域の三次元表示をオン/オフするためのチェックボックス206、リストボックス205で選択した色域をメインメモリ102の記憶領域から削除するための色域削除ボタン207がある。   The operation area 204 includes a list box 205 for selecting a stored color gamut, a check box 206 for turning on / off the three-dimensional display of the color gamut selected in the list box 205, and a color gamut selected in the list box 205. There is a color gamut deletion button 207 for deleting from the storage area of the main memory 102.

ユーザが分布データ読み込みボタン201をマウス112などでクリックして(または押して)、色分布データの読み込みを指示すると、色域解析アプリケーションの処理に従い、色分布データが、CPU 101の指令に基づき、HDD 105からSCSI I/F 103、システムバス114を経由して、メインメモリ102に転送される。   When the user clicks (or presses) the distribution data reading button 201 with the mouse 112 or the like and instructs to read the color distribution data, the color distribution data is transferred to the HDD according to the command of the CPU 101 according to the processing of the color gamut analysis application. The data is transferred from 105 to the main memory 102 via the SCSI I / F 103 and the system bus 114.

色域解析アプリケーションは、メインメモリ102に格納された色分布データから色域を算出し、算出した色域を三次元表示領域203に擬似三次元表示する。ここで、ユーザが色域記憶ボタン202を押すと、擬似三次元表示された色域はメインメモリ102に記憶(退避)される。   The color gamut analysis application calculates a color gamut from the color distribution data stored in the main memory 102, and displays the calculated color gamut in a three-dimensional display area 203 in a pseudo three-dimensional manner. Here, when the user presses the color gamut storage button 202, the color gamut displayed in a pseudo three-dimensional manner is stored (saved) in the main memory 102.

ユーザは、リストボックス205を操作することで、メインメモリ102に記憶(退避)した色域の中から操作対象の色域を選択し、選択した色域の三次元表示をチェックボックス206で設定する。チェックボックス206がオンに設定された色域は、三次元表示領域203に表示中の他のオブジェクトに重畳して表示される。   The user operates the list box 205 to select the operation target color gamut from the color gamut stored (saved) in the main memory 102, and sets the three-dimensional display of the selected color gamut using the check box 206. . The color gamut in which the check box 206 is turned on is displayed in a superimposed manner on other objects being displayed in the three-dimensional display area 203.

また、ユーザが終了ボタン208を押すと、色域解析アプリケーションは、処理に使用した総てのデータの記憶領域やワーク領域を解放し、処理を終了する。   When the user presses the end button 208, the color gamut analysis application releases all data storage areas and work areas used for processing, and ends the processing.

[色域解析アプリケーションの動作]
次に、色解析アプリケーション動作を説明する。図3は色解析アプリケーションの動作を説明する状態遷移図である。
[Color Gamut Analysis Application Operation]
Next, the color analysis application operation will be described. FIG. 3 is a state transition diagram for explaining the operation of the color analysis application.

まず、動作に必要な各種メモリ領域の確保など初期化を行い(S301)、色分布データをHDD 105から読み込み、メインメモリ102に記憶にする(S302)。メインメモリ102に保持される色分布データは、RGB色空間上の色を指定するRGB値と、印刷時の再現色を表すL*a*b*値(測色値)の組を示す色分布データ、および、色分布データの総数からなる、図4に示すようなデータ構造を有する。その先頭には色分布データの総数が記述され、その後に、色分布データの総数分、RGB値とL*a*b*値の組が記述される。   First, initialization such as securing various memory areas necessary for operation is performed (S301), and color distribution data is read from the HDD 105 and stored in the main memory 102 (S302). The color distribution data stored in the main memory 102 is a color distribution that indicates a set of RGB values that specify colors in the RGB color space and L * a * b * values (colorimetric values) that represent the reproduced colors at the time of printing. It has a data structure as shown in FIG. 4 consisting of data and the total number of color distribution data. The total number of color distribution data is described at the beginning, and then a set of RGB values and L * a * b * values is described for the total number of color distribution data.

次に、メインメモリ102に記憶された色分布データを用いて、後述する処理により色域算出用のBスプライン体に対する係数並びに基底関数を算出し(S303)、後述する処理に従って、Bスプライン体を用いて色域データを作成してメインメモリ102に記憶し(S304)、後述する処理に従って、色域データから擬似三次元表示用の3Dオブジェクトデータを算出し(S305)、その後、ユーザの操作を待つ状態になる(S306)。   Next, using the color distribution data stored in the main memory 102, the coefficient and basis function for the B spline body for color gamut calculation are calculated by the process described later (S303), and the B spline body is converted according to the process described later. Using this, color gamut data is created and stored in the main memory 102 (S304), and 3D object data for pseudo three-dimensional display is calculated from the color gamut data according to the processing described later (S305). The process waits (S306).

ユーザの操作待ち状態(S306)で、図2に示す色分布データ読み込みボタン201が押されると、読み込むべき色分布データファイルをユーザが指定するためのダイアログを表示し、色分布データファイルが指定されると、指定された色分布データファイルがオープン可能か否かを判定し、オープン可能であればその色分布データファイルを読み込んでメインメモリ102に記憶し、色分布データファイルのフォーマットが正しいか否かを判定する(S307)。そして、オープン可能かつ正しいフォーマットであればステップS303へ遷移するが、オープン不可または不正なフォーマットの場合は、その旨を表示してステップS306へ戻る。   When the color distribution data reading button 201 shown in FIG. 2 is pressed in the user operation waiting state (S306), a dialog for the user to specify the color distribution data file to be read is displayed, and the color distribution data file is specified. Then, it is determined whether or not the specified color distribution data file can be opened. If it can be opened, the color distribution data file is read and stored in the main memory 102, and whether or not the format of the color distribution data file is correct. Is determined (S307). If the format is open and correct, the process proceeds to step S303. If the format is not open or illegal, the message is displayed and the process returns to step S306.

また、図2に示す色域記憶ボタン202が押されると、メインメモリ102に記憶した色域の3Dオブジェクトデータをメインメモリ102(またはHDD 105)の所定領域に退避し(S308)、ステップS306へ戻る。   When the color gamut storage button 202 shown in FIG. 2 is pressed, the 3D object data of the color gamut stored in the main memory 102 is saved in a predetermined area of the main memory 102 (or HDD 105) (S308), and the process proceeds to step S306. Return.

また、図2に示す色域選択リストボックス205が操作されると、選択された色域に対応する番号をメインメモリ102の所定領域に記憶し(S309)、ステップS306へ戻る。   When the color gamut selection list box 205 shown in FIG. 2 is operated, the number corresponding to the selected color gamut is stored in a predetermined area of the main memory 102 (S309), and the process returns to step S306.

また、図2に示すチェックボックス206が操作されると、メインメモリ102に記憶された選択色域の番号に対応する色域の3Dオブジェクトデータの表示をオンまたはオフに設定し(S310)、ステップS306へ戻る。   When the check box 206 shown in FIG. 2 is operated, the display of the 3D object data of the color gamut corresponding to the selected color gamut number stored in the main memory 102 is set to ON or OFF (S310), Return to S306.

また、図2に示す色域削除ボタン207が押されると、メインメモリ102に記憶された選択色域の番号に対応する色域の3Dオブジェクトデータをメインメモリ102(またはHDD 105)から削除し(S311)、ステップS306へ戻る。   When the color gamut deletion button 207 shown in FIG. 2 is pressed, the 3D object data of the color gamut corresponding to the selected color gamut number stored in the main memory 102 is deleted from the main memory 102 (or HDD 105) ( S311), the process returns to step S306.

また、図2に示す三次元表示領域203内におけるマウス操作を検出すると、ユーザのマウス操作に応じて、三次元表示領域203に表示中の3Dオブジェクトのズームイン、ズームアウト、回転処理を行い(S312)、ステップS306へ戻る。   When a mouse operation in the 3D display area 203 shown in FIG. 2 is detected, zoom-in, zoom-out, and rotation processing of the 3D object displayed in the 3D display area 203 is performed according to the user's mouse operation (S312 ), The process returns to step S306.

また、図2に示す終了ボタン208が押されると、メモリ解放などの終了動作を行った後、色解析アプリケーション動作を終了する。   When the end button 208 shown in FIG. 2 is pressed, an end operation such as memory release is performed, and then the color analysis application operation ends.

[色域算出用のBスプライン体の設定(S303)]
次に、色域算出用のBスプライン体の係数および基底関数の算出処理(S303)を説明するが、以後の説明のために、予め色算出用のBスプライン体の式を説明する。色域算出用のBスプライン体は式(1)で定義される。
λ = ΣiΣjΣkijkNri(rr)Ngj(gg)Nbk(bb)
a = ΣiΣjΣkcaijkNri(rr)Ngj(gg)Nbk(bb) …(1)
b = ΣiΣjΣkcbijkNri(rr)Ngj(gg)Nbk(bb)
ここで、rr、gg、bbはRGB値
λ、a、bはL*a*b*値
NrはR軸方向での基底関数
NgはG軸方向での基底関数
NbはB軸方向での基底関数
ijk、caijk、cbijkは係数
Nr、Ng、Nbに付属するサフィクスi、j、kは
それぞれの軸に対する基底における基底関数番号
[Setting of B-spline body for color gamut calculation (S303)]
Next, the coefficient and basis function calculation process (S303) of the B-spline body for color gamut calculation will be described. For the following description, the formula of the B-spline body for color calculation will be described in advance. A B-spline body for color gamut calculation is defined by equation (1).
λ = Σ i Σ j Σ kijk N ri (rr) N gj (gg) N bk (bb)
a = Σ i Σ j Σ k ca ijk N ri (rr) N gj (gg) N bk (bb)… (1)
b = Σ i Σ j Σ k cb ijk N ri (rr) N gj (gg) N bk (bb)
Where rr, gg, and bb are RGB values
λ, a, b are L * a * b * values
N r is the basis function in the R-axis direction
N g is the basis function in the G-axis direction
N b is the basis function in the B-axis direction
ijk , ca ijk , cb ijk are coefficients
Suffixes i, j, k attached to N r , N g , N b are
Basis function number in the basis for each axis

図5は色域算出用のBスプライン体の係数および基底関数の算出処理(S303)を説明するフローチャートである。   FIG. 5 is a flowchart for explaining the calculation processing (S303) of the coefficient and basis function of the B-spline body for color gamut calculation.

まず、図4に示すデータ構造で表される色分布データから、RGB値とL*a*b*値の対応関係を、すべての組について取得する(S501)。以後、RGB値とL*a*b*値の対応関係を、i番目の編集色のRGB値をrri、ggi、bbi、L*a*b*値をλi、ai、biと説明する。 First, from the color distribution data represented by the data structure shown in FIG. 4, the correspondence between RGB values and L * a * b * values is acquired for all sets (S501). Thereafter, the correspondence between the RGB value and the L * a * b * value, the RGB value of the i-th editing color as rr i , gg i , bb i , and the L * a * b * value as λ i , a i , b This is described as i .

次に、Bスプライン体の基底関数を算出してメインメモリ102に記憶する(S502)。例えば、基底関数Nr、Ng、Nbが何れも三位のBスプライン基底であり、かつ、節点数が4であれば、何れも図6に示すようなξ0〜ξ3の四節点の基底関数になる。なお、図6はR軸の基底関数Nrを示している。以下、基底関数は何れも四節点の三位のBスプライン基底として説明する。 Next, a basis function of the B-spline body is calculated and stored in the main memory 102 (S502). For example, if the basis functions N r , N g , and N b are all third-order B-spline bases and the number of nodes is 4, all of the four-node bases ξ0 to ξ3 as shown in FIG. Become a function. Incidentally, FIG. 6 shows the basis functions N r of R axis. In the following, the basis functions will be described as B-spline bases with three positions of four nodes.

次に、算出した基底関数と、図4に示す色分布データから取得した、RGB値とL*a*b*値の対応関係を示す分布データを用いて、Bスプライン体の各係数を算出する(S503)。この処理は、行列方程式f=MCを、L*成分、a*成分、b*成分それぞれについてLU分解を用いて解き、各係数を算出することで行う。以下、上記方程式による係数算出について詳しく説明する。   Next, each coefficient of the B-spline body is calculated using the calculated basis function and the distribution data indicating the correspondence between the RGB value and the L * a * b * value acquired from the color distribution data shown in FIG. (S503). This process is performed by solving the matrix equation f = MC using LU decomposition for each of the L * component, the a * component, and the b * component, and calculating each coefficient. Hereinafter, the coefficient calculation by the above equation will be described in detail.

まず、行列Mのs行t列成分mstを次のように算出する。
mst = Nri(rrs)Ngj(ggs)Nbk(bbs) …(2)
ここで、t = 25(i - 1) + 5(j - 1) + k
i, j, kは1から5までの整数
First, the s-row t-column component m st of the matrix M is calculated as follows.
m st = N ri (rr s ) N gj (gg s ) N bk (bb s )… (2)
Where t = 25 (i-1) + 5 (j-1) + k
i, j, k are integers from 1 to 5

なお、tとi、j、kの関係は、節点数と基底関数の位数によって変化する。例えば、三位のBスプライン基底で六節点の場合、t = 49(i - 1) + 7(j - 1) + kという関係になる。   Note that the relationship between t and i, j, k varies depending on the number of nodes and the order of basis functions. For example, in the case of a six-node B-base spline at the third position, the relationship is t = 49 (i-1) +7 (j-1) + k.

次に、係数cλijk、caijk、cbijkの算出をそれぞれ説明する。まず、係数cλijkを算出するために、列ベクトルfλのs行成分fλsを次のように算出し、列ベクトルfλを定める。
fλ = [λ1, λ2, …, λ124, λ125]
cλ= [cλ111, cλ112, …, cλ115, cλ121,
…, cλ155, cλ211, …, cλ554, cλ555] …(3)
fλ= M・cλ
Next, calculation of the coefficients cλ ijk , ca ijk , and cb ijk will be described. First, in order to calculate the coefficient cλ ijk , the s row component fλ s of the column vector fλ is calculated as follows to determine the column vector fλ.
fλ = [λ 1 , λ 2 ,…, λ 124 , λ 125 ]
cλ = [cλ 111 , cλ 112 ,…, cλ 115 , cλ 121 ,
…, Cλ 155 , cλ 211 ,…, cλ 554 , cλ 555 ]… (3)
fλ = M ・ cλ

次に、係数caijkを算出するため、次の行列方程式をLU分解を用いて解く。
fa = [a1, a2, …, a124, a125]
ca = [ca111, ca112, …, ca115, ca121,
…, ca155, ca211, …, ca554, ca555] …(4)
fa = M・ca
Next, in order to calculate the coefficient ca ijk , the following matrix equation is solved using LU decomposition.
fa = [a 1 , a 2 ,…, a 124 , a 125 ]
ca = [ca 111 , ca 112 ,…, ca 115 , ca 121 ,
…, Ca 155 , ca 211 ,…, ca 554 , ca 555 ]… (4)
fa = M ・ ca

次に、係数cbijkを算出するため、次の行列方程式をLU分解を用いて解く。
fb = [b1, b2, …, b124, b125]
cb = [cb111, cb112, …, cb115, cb121,
…, cb155, cb211, …, cb554, cb555] …(5)
fb = M・cb
Next, in order to calculate the coefficient cb ijk , the following matrix equation is solved using LU decomposition.
fb = [b 1 , b 2 ,…, b 124 , b 125 ]
cb = [cb 111 , cb 112 ,…, cb 115 , cb 121 ,
…, Cb 155 , cb 211 ,…, cb 554 , cb 555 ]… (5)
fb = M ・ cb

そして、算出した係数をメインメモリ102に記憶する(S504)。   The calculated coefficient is stored in the main memory 102 (S504).

[3Dオブジェクトの生成(S305)]
RGB立方体表面が色域境界であるとして、次のように色域を構成する六面を色域として算出する。
[Generate 3D objects (S305)]
Assuming that the surface of the RGB cube is the color gamut boundary, the six faces constituting the color gamut are calculated as the color gamut as follows.

● R=0平面
λ = ΣjΣk1jkNgj(gg)Nbk(bb)
a = ΣjΣkca1jkNgj(gg)Nbk(bb) …(6)
b = ΣjΣkcb1jkNgj(gg)Nbk(bb)
● R=255平面
λ = ΣjΣk5jkNgj(gg)Nbk(bb)
a = ΣjΣkca5jkNgj(gg)Nbk(bb) …(7)
b = ΣjΣkcb5jkNgj(gg)Nbk(bb)
● G=0平面
λ = ΣiΣki1kNri(rr)Nbk(bb)
a = ΣiΣkcai1kNri(rr)Nbk(bb) …(8)
b = ΣiΣkcbi1kNri(rr)Nbk(bb)
● G=255平面
λ = ΣiΣki5kNri(rr)Nbk(bb)
a = ΣiΣkcai5kNri(rr)Nbk(bb) …(9)
b = ΣiΣkcbi5kNri(rr)Nbk(bb)
● B=0平面
λ = ΣiΣjij1Nri(rr)Ngj(gg)
a = ΣiΣjcaij1Nri(rr)Ngj(gg) …(10)
b = ΣiΣjcbij1Nri(rr)Ngj(gg)
● B=255平面
λ = ΣiΣjij5Nri(rr)Ngj(gg)
a = ΣiΣjcaij5Nri(rr)Ngj(gg) …(11)
b = ΣiΣjcbij5Nri(rr)Ngj(gg)
以上のように、Bスプライン体の式の係数をそのままBスプライン面の式の係数に用いることで、色域の表面を算出することが可能である。算出された六つのBスプライン面は、表面データとしてメインメモリ102に格納する。そして、メインメモリ102に格納された表面データを読み込み、3Dオブジェクトデータ用のスムースシェーディング表示用データに変換する。
● R = 0 plane λ = Σ j Σ k1jk N gj (gg) N bk (bb)
a = Σ j Σ k ca 1jk N gj (gg) N bk (bb)… (6)
b = Σ j Σ k cb 1jk N gj (gg) N bk (bb)
● R = 255 plane λ = Σ j Σ k5jk N gj (gg) N bk (bb)
a = Σ j Σ k ca 5jk N gj (gg) N bk (bb)… (7)
b = Σ j Σ k cb 5jk N gj (gg) N bk (bb)
● G = 0 plane λ = Σ i Σ ki1k N ri (rr) N bk (bb)
a = Σ i Σ k ca i1k N ri (rr) N bk (bb)… (8)
b = Σ i Σ k cb i1k N ri (rr) N bk (bb)
● G = 255 plane λ = Σ i Σ ki5k N ri (rr) N bk (bb)
a = Σ i Σ k ca i5k N ri (rr) N bk (bb)… (9)
b = Σ i Σ k cb i5k N ri (rr) N bk (bb)
● B = 0 plane λ = Σ i Σ jij1 N ri (rr) N gj (gg)
a = Σ i Σ j ca ij1 N ri (rr) N gj (gg)… (10)
b = Σ i Σ j cb ij1 N ri (rr) N gj (gg)
● B = 255 plane λ = Σ i Σ jij5 N ri (rr) N gj (gg)
a = Σ i Σ j ca ij5 N ri (rr) N gj (gg)… (11)
b = Σ i Σ j cb ij5 N ri (rr) N gj (gg)
As described above, the surface of the color gamut can be calculated by using the coefficient of the formula of the B spline body as it is as the coefficient of the formula of the B spline surface. The calculated six B-spline surfaces are stored in the main memory 102 as surface data. Then, the surface data stored in the main memory 102 is read and converted to smooth shading display data for 3D object data.

このように、色域を正確かつ滑らかに算出することが可能になる。さらに、然るべき数のRGB値とL*a*b*値の対応関係さえ得られれば、RGB色域表面のL*a*b*値が一切得られずとも、対応関係から非線型演算を行い色域を推定することが可能になる。この非線型演算は色域の変化のトレンドを反映するので、算出される色域は正確性に富んだものになる。   In this way, the color gamut can be calculated accurately and smoothly. Furthermore, as long as the appropriate number of RGB values and L * a * b * values can be obtained, even if no L * a * b * values on the surface of the RGB color gamut can be obtained, nonlinear operations are performed from the correspondence. It becomes possible to estimate the color gamut. Since this non-linear operation reflects the trend of color gamut change, the calculated color gamut is highly accurate.

以下、本発明にかかる実施例2の色処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。   The color processing according to the second embodiment of the present invention will be described below. Note that the same reference numerals in the second embodiment denote the same parts as in the first embodiment, and a detailed description thereof will be omitted.

実施例2は、ステップS304における色域の算出処理、並びに、ステップS305における3Dオブジェクトの生成処理を変更して、三角パッチによる色域表現を実施するものである。   In the second embodiment, the color gamut calculation process in step S304 and the 3D object generation process in step S305 are changed, and the color gamut expression by the triangular patch is performed.

図7は色域の算出処理(S304)を示すフローチャートである。   FIG. 7 is a flowchart showing the color gamut calculation process (S304).

まず、作業用のメモリ領域確保し、変数を初期化するなど、初期化動作を行い(S701)、然るべき順序に従い一つの三角パッチを選択し、三頂点のRGB値を取得する(S702)。ここで、三頂点のRGB値はRGB色空間における色域境界、すなわちRGB立方体表面に位置する。   First, an initialization operation such as securing a working memory area and initializing variables is performed (S701), one triangular patch is selected according to an appropriate order, and RGB values of three vertices are acquired (S702). Here, the RGB values at the three vertices are located at the color gamut boundary in the RGB color space, that is, at the surface of the RGB cube.

次に、メインメモリ102から色域算出用のBスプライン体の基底関数と係数値を取得し、下式を用いて三頂点のRGB値をL*a*b*値に変換する(S703)。
λ = Σi=1 5Σj=1 5Σk=1 5ijkNri(rr)Ngj(gg)Nbk(bb)
a = Σi=1 5Σj=1 5Σk=1 5caijkNri(rr)Ngj(gg)Nbk(bb) …(12)
b = Σi=1 5Σj=1 5Σk=1 5cbijkNri(rr)Ngj(gg)Nbk(bb)
ここで、rr、gg、bbはRGB値
λ、a、bはL*a*b*値
NrはR軸方向での基底関数
NgはG軸方向での基底関数
NbはB軸方向での基底関数
ijk、caijk、cbijkは係数
Nr、Ng、Nbに付属するサフィクスi、j、kは
それぞれの軸に対する基底における基底関数番号
Next, the base function and coefficient value of the B-spline body for color gamut calculation are acquired from the main memory 102, and the RGB values at the three vertices are converted into L * a * b * values using the following equation (S703).
λ = Σ i = 1 5 Σ j = 1 5 Σ k = 1 5ijk N ri (rr) N gj (gg) N bk (bb)
a = Σ i = 1 5 Σ j = 1 5 Σ k = 1 5 ca ijk N ri (rr) N gj (gg) N bk (bb)… (12)
b = Σ i = 1 5 Σ j = 1 5 Σ k = 1 5 cb ijk N ri (rr) N gj (gg) N bk (bb)
Where rr, gg, and bb are RGB values
λ, a, b are L * a * b * values
N r is the basis function in the R-axis direction
N g is the basis function in the G-axis direction
N b is the basis function in the B-axis direction
ijk , ca ijk , cb ijk are coefficients
Suffixes i, j, k attached to N r , N g , N b are
Basis function number in the basis for each axis

次に、算出した三頂点のL*a*b*値を図8に示すデータ構造にしてメインメモリ102の所定アドレスに格納する(S704)。図8に示すデータ構造の先頭には三角パッチの総数が記述され、その後に三角パッチの総数分、各三角パッチの三頂点のL*a*b*値の組が色域データとして記述される。   Next, the calculated L * a * b * values of the three vertices are stored in a predetermined address of the main memory 102 in the data structure shown in FIG. 8 (S704). The total number of triangular patches is described at the beginning of the data structure shown in FIG. 8, and then a set of L * a * b * values at the three vertices of each triangular patch is described as color gamut data for the total number of triangular patches. .

次に、総ての三角パッチについて色域を算出したか否かを判断し(S705)、未了であればステップS702からS704の処理を繰り返す。また、色域の算出が終了した場合は、作業用メモリの解放などの終了動作を行う(S706)。   Next, it is determined whether or not the color gamut has been calculated for all the triangular patches (S705), and if not completed, the processing from step S702 to S704 is repeated. When the calculation of the color gamut is completed, an end operation such as release of the working memory is performed (S706).

続く、ステップS305の3Dオブジェクトの生成処理では、メインメモリ102に格納された三角パッチの色域データを読み込み、3Dオブジェクトデータ用のポリゴンデータに変換する。これにより図2に示す三次元表示領域203に擬似三次元表示される色域は、図9に示すようにパッチ境界が認識できるものになる。   In the subsequent 3D object generation process in step S305, the color gamut data of the triangular patch stored in the main memory 102 is read and converted into polygon data for 3D object data. Accordingly, the color gamut displayed in the pseudo three-dimensional display in the three-dimensional display area 203 shown in FIG. 2 can recognize the patch boundary as shown in FIG.

以下、本発明にかかる実施例3の色処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。   Hereinafter, color processing according to the third embodiment of the present invention will be described. Note that the same reference numerals in the third embodiment denote the same parts as in the first and second embodiments, and a detailed description thereof will be omitted.

実施例1では、ステップS303における色域算出用のBスプライン体の設定処理おいて、色分布データに記された複数の色信号値の間を補間するようにBスプライン体を定めたが、実施例3では、それら複数の色信号値の並びに近似する曲面になるように(あるいは、それら複数の色信号値を結ぶ曲面を平滑化したような)Bスプライン体を設定する。以下、相違点である図5のフローチャートについて説明する。   In the first embodiment, in the setting process of the B spline body for color gamut calculation in step S303, the B spline body is determined so as to interpolate between a plurality of color signal values described in the color distribution data. In Example 3, a B-spline body is set so that a curved surface that approximates the sequence of the plurality of color signal values (or a curved surface connecting the plurality of color signal values is smoothed). Hereinafter, the flowchart of FIG. 5 which is a difference will be described.

まず、実施例1と同様に、図4に示すデータ構造で表される色分布データから、RGB値とL*a*b*値の対応関係を、すべての組について取得する(S501)。   First, as in the first embodiment, the correspondence between RGB values and L * a * b * values is acquired for all sets from the color distribution data represented by the data structure shown in FIG. 4 (S501).

次に、適切に節点を決定した後、それら節点に基づいて基底関数を算出し、メインメモリ102に記憶する(S502)。節点の決定方法としては、予め節点数および座標を決めておいてもよいし、あるいは、L*a*b*値の変化より節点を決定しても構わない。ただし、以下では、基底関数は何れも四節点の三位のBスプライン基底として説明する。   Next, after appropriately determining the nodes, a basis function is calculated based on the nodes and stored in the main memory 102 (S502). As a method for determining a node, the number of nodes and coordinates may be determined in advance, or the node may be determined based on a change in L * a * b * value. However, in the following description, each basis function will be described as a four-node three-position B-spline basis.

次に、算出した基底関数と、図4に示す色分布データから取得した、RGB値とL*a*b*値の対応関係を示す分布データを用いて、Bスプライン体によって算出される色と、色分布データに記された色の距離の総和が最小になるように、Bスプライン体の各係数を算出する(S503)。この処理は、行列方程式f=MCをL*成分、a*成分、b*成分についてそれぞれLU分解を用いて解くことで行う。以下、上記方程式による係数算出について詳しく説明する。   Next, using the calculated basis function and the distribution data indicating the correspondence between RGB values and L * a * b * values obtained from the color distribution data shown in FIG. Then, each coefficient of the B spline body is calculated so that the sum of the distances of the colors described in the color distribution data is minimized (S503). This process is performed by solving the matrix equation f = MC for each of the L * component, the a * component, and the b * component using LU decomposition. Hereinafter, the coefficient calculation by the above equation will be described in detail.

まず、行列Mのs行t列成分mstを次のように算出する。
mst = Σx{Nri(rrx)Ngj(ggx)Nbk(bbx)
・Nrl(rrx)Ngm(ggx)Nbn(bbx)} …(13)
ここで、sに対してi、j、kとの間にs = 25(i - 1) + 5(j - 1) + kが成り立つ
tに対してl、m、nとの間にt =25(l - 1) + 5(m - 1) + nがなり立つ
First, the s-row t-column component m st of the matrix M is calculated as follows.
m st = Σ x (N ri (rr x ) N gj (gg x ) N bk (bb x )
・ N rl (rr x ) N gm (gg x ) N bn (bb x )}… (13)
Here, s = 25 (i-1) + 5 (j-1) + k holds between i, j, and k with respect to s.
t = 25 (l-1) + 5 (m-1) + n between l, m and n with respect to t

なお、上記関係は節点数と基底関数の位数によって変化する。   The above relationship varies depending on the number of nodes and the order of basis functions.

次に、係数cλijkを算出するために、列ベクトルfλのs行成分fλsを次のように算出し、列ベクトルfλを定める。
s = ΣxNri(rrx)Ngj(ggx)Nbk(bbx)・λx …(14)
Next, in order to calculate the coefficient cλ ijk , the s row component fλ s of the column vector fλ is calculated as follows to determine the column vector fλ.
s = Σ x N ri (rr x ) N gj (gg x ) N bk (bb x ) ・ λ x … (14)

ここでも先と同様に、sに対してi、j、kとの間にs = 25(i - 1) + 5(j - 1) + kが成り立つが、この関係は、節点数と基底関数の位数によって変化する。そして、LU分解を用いて、次の行列方程式を解き、係数cλijkを算出する。
cλ= [cλ111, cλ112, …, cλ115, cλ121,
…, cλ155, cλ211, …, cλ554, cλ555] …(15)
fλ= M・cλ
Again, as before, s = 25 (i-1) + 5 (j-1) + k holds between s, i, j, and k, but this relationship is related to the number of nodes and basis functions. It depends on the order of. Then, using LU decomposition, the following matrix equation is solved to calculate the coefficient cλ ijk .
cλ = [cλ 111 , cλ 112 ,…, cλ 115 , cλ 121 ,
…, Cλ 155 , cλ 211 ,…, cλ 554 , cλ 555 ]… (15)
fλ = M ・ cλ

次に、係数caijkを算出するために、列ベクトルfaのs行成分fasを次のように算出し、列ベクトルfaを定める。
fas = ΣxNri(rrx)Ngj(ggx)Nbk(bbx)・ax …(16)
Next, in order to calculate the coefficient ca ijk , the s row component fa s of the column vector fa is calculated as follows to determine the column vector fa.
fa s = Σ x N ri (rr x ) N gj (gg x ) N bk (bb x ) ・ a x … (16)

この後、次の行列方程式をLU分解を用いて解く。
ca = [ca111, ca112, …, ca115, ca121,
…, ca155, ca211, …, ca554, ca555] …(17)
fa = M・ca
After this, the following matrix equation is solved using LU decomposition.
ca = [ca 111 , ca 112 ,…, ca 115 , ca 121 ,
…, Ca 155 , ca 211 ,…, ca 554 , ca 555 ]… (17)
fa = M ・ ca

次に、係数cbijkを算出するために、列ベクトルfbのs行成分fbsを次のように算出し、列ベクトルfbを定める。
fbs = ΣxNri(rrx)Ngj(ggx)Nbk(bbx)・bx …(18)
Next, in order to calculate the coefficient cb ijk , the s row component fb s of the column vector fb is calculated as follows to determine the column vector fb.
fb s = Σ x N ri (rr x ) N gj (gg x ) N bk (bb x ) ・ b x … (18)

この後、次の行列方程式をLU分解を用いて解く。
cb = [cb111, cb112, …, cb115, cb121,
…, cb155, cb211, …, cb554, cb555] …(19)
fb = M・cb
After this, the following matrix equation is solved using LU decomposition.
cb = [cb 111 , cb 112 ,…, cb 115 , cb 121 ,
…, Cb 155 , cb 211 ,…, cb 554 , cb 555 ]… (19)
fb = M ・ cb

そして、算出した係数をメインメモリ102に記憶する(S504)。   The calculated coefficient is stored in the main memory 102 (S504).

[変形例]
●ソリッド表現における、Bスプライン基底関数の他の区分多項式での置き換え
上記の実施例1、2、3では、ソリッド表現における基底関数としてBスプラインを用いる例を説明した。しかし、基底関数としては有理(rational) Bスプライン、不均一有理(non uniform rational) Bスプライン、ベジェ(Bezier)、有理ベジェ(Rational Bezier)など、あらゆる区分的関数を用いることができる。なお、基底関数の局所性が存在するとより望ましいことから、最も代表的なBスプラインを用いて実施例を説明した。
[Modification]
Replacement of B-spline basis functions with other piecewise polynomials in solid representation In the first, second, and third embodiments, examples of using B-splines as basis functions in solid representation have been described. However, as a basis function, any piecewise function such as rational B spline, non uniform rational B spline, Bezier, rational Bezier, etc. can be used. Since it is more desirable that the locality of the basis function exists, the embodiment has been described using the most typical B-spline.

●用いる色空間
実施例1、2、3は、色空間に何ら制限はなく、CMYK色空間、L*a*b*色空間、JCH色空間、XYZ色空間、xy色空間などを用いることができる。さらに、インク色分解などにも適用可能であり、CMYKに淡シアンならびに淡マゼンタを加えた六次元色空間、さらに、レッドインクおよびグリーンインクを加えた八次元色空間なども用いることができる。また、式に与える色空間と、式より算出される色空間とが同一の色空間であってもよい。
● Color space to be used In Examples 1, 2, and 3, there is no restriction on the color space, and CMYK color space, L * a * b * color space, JCH color space, XYZ color space, xy color space, etc. can be used. it can. Further, the present invention can be applied to ink color separation, and a 6-dimensional color space obtained by adding light cyan and light magenta to CMYK, and an 8-dimensional color space obtained by adding red ink and green ink can also be used. Further, the color space given to the equation and the color space calculated from the equation may be the same color space.

●色域表現
実施例2においては、色域表現に三角パッチを用いたが、これをポリゴン表現に拡張することも可能である。
Color Gamut Representation In the second embodiment, the triangular patch is used for the color gamut representation, but this can be extended to the polygon representation.

[他の実施例]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
[Other embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.

また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。   Also, an object of the present invention is to supply a storage medium (or recording medium) on which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

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

本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。   When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.

実施例の色処理装置の構成例を示すブロック図、A block diagram showing a configuration example of a color processing apparatus of an embodiment, 色域解析アプリケーションが表示するユーザインタフェイスを示す図、The figure which shows the user interface which the gamut analysis application displays, 色解析アプリケーションの動作を説明する状態遷移図、State transition diagram explaining the operation of the color analysis application, 色分布データのデータ構造を示す図、A diagram showing the data structure of color distribution data, 色域算出用のBスプライン体の係数および基底関数の算出処理を説明するフローチャート、A flowchart for explaining the calculation processing of the coefficient and basis function of the B-spline body for color gamut calculation, Bスプライン基底関数を表す図、A diagram representing a B-spline basis function, 実施例2の色域の算出処理を示すフローチャート、Flowchart showing the color gamut calculation processing of Example 2, 色域を表現する三角パッチデータのデータ構造を示す図、The figure which shows the data structure of the triangular patch data expressing a color gamut, 実施例2における色域の擬似三次元表示を示す図である。FIG. 6 is a diagram illustrating a pseudo three-dimensional display of a color gamut in the second embodiment.

Claims (10)

画像処理装置により、所定の表色系の色域を算出する色処理方法であって、
第一の表色系の次元数と同じ多重度の区分的多項式を基底関数とする多重総和演算を設定し、
前記第一の表色系の複数の色信号値と、それら色信号値に対する測色結果である第二の表色系の複数の色信号値との組み合わせを示すデータに基づき前記区分的多項式の係数を求め、
前記多重総和演算を用いて、前記第一の表色系の色域に対応する前記第二の表色系の色域を算出することを特徴とする色処理方法。
A color processing method for calculating a color gamut of a predetermined color system by an image processing apparatus,
Set the multiple sum operation with a piecewise polynomial of the same multiplicity as the number of dimensions of the first color system as a basis function,
Based on the data indicating the combination of the plurality of color signal values of the first color system and the plurality of color signal values of the second color system that are the colorimetric results for the color signal values, Find the coefficient
A color processing method comprising: calculating a color gamut of the second color system corresponding to the color gamut of the first color system using the multiple sum operation.
画像処理装置により、所定の表色系の色域を算出する色処理方法であって、
第一の表色系の次元数と同じ多重度の区分的多項式を基底関数とする多重総和演算を設定し、
前記第一の表色系の複数の色信号値と、それら色信号値に対する測色結果である第二の表色系の複数の色信号値との組み合わせを示すデータに基づき、前記第二の表色系の複数の信号値の並びに近似する曲面、あるいは、前記複数の色信号値を結ぶ曲面に対応する前記区分的多項式の係数を求め、
前記多重総和演算を用いて、前記第一の表色系の色域に対応する前記第二の表色系の色域を算出することを特徴とする色処理方法。
A color processing method for calculating a color gamut of a predetermined color system by an image processing apparatus,
Set the multiple sum operation with a piecewise polynomial of the same multiplicity as the number of dimensions of the first color system as a basis function,
Based on the data indicating the combination of the plurality of color signal values of the first color system and the plurality of color signal values of the second color system that are the colorimetric results for the color signal values, Obtaining a coefficient of the piecewise polynomial corresponding to a curved surface approximating a plurality of signal values of the color system or a curved surface connecting the plurality of color signal values;
A color processing method comprising: calculating a color gamut of the second color system corresponding to the color gamut of the first color system using the multiple sum operation.
前記色域の算出は、前記第一の表色系の色域境界に対応する前記第二の表色系の色域境界を算出することを特徴とする請求項1または請求項2に記載された色処理方法。   3. The color gamut calculation according to claim 1, wherein the color gamut is calculated by calculating a color gamut boundary of the second color system corresponding to a color gamut boundary of the first color system. Color processing method. 前記色域の算出は、前記第一の表色系の色域境界に位置する複数点を、前記第二の表色系に変換した複数点を用いた色域表現として前記色域を算出することを特徴とする請求項1または請求項2に記載された色処理方法。   The calculation of the color gamut is to calculate the color gamut as a color gamut expression using a plurality of points obtained by converting a plurality of points located at the color gamut boundary of the first color system to the second color system. 3. The color processing method according to claim 1, wherein the color processing method is performed. 前記色域表現は三角パッチ表現またはポリゴン表現であることを特徴とする請求項4に記載された色処理方法。   5. The color processing method according to claim 4, wherein the color gamut expression is a triangular patch expression or a polygon expression. さらに、前記色域の境界に対応する擬似三次元表示用のオブジェクトを生成することを特徴とする請求項1から請求項5の何れかに記載された色処理方法。   6. The color processing method according to claim 1, further comprising generating a pseudo three-dimensional display object corresponding to the boundary of the color gamut. 画像処理装置を制御して、請求項1から請求項6の何れかに記載された色処理を実現することを特徴とするプログラム。   7. A program that controls an image processing device to realize the color processing according to claim 1. 請求項7に記載されたプログラムが記録されたことを特徴とする記録媒体。   8. A recording medium on which the program according to claim 7 is recorded. 所定の表色系の色域を算出する画像処理装置であって、
第一の表色系の次元数と同じ多重度の区分的多項式を基底関数とする多重総和演算を設定する設定手段と、
前記第一の表色系の複数の色信号値と、それら色信号値に対する測色結果である第二の表色系の複数の色信号値との組み合わせを示すデータに基づき前記区分的多項式の係数を求める演算手段と、
前記多重総和演算を用いて、前記第一の表色系の色域に対する前記第二の表色系の色域を算出する算出手段とを有することを特徴とする色処理装置。
An image processing apparatus for calculating a color gamut of a predetermined color system,
Setting means for setting a multiple sum operation using a piecewise polynomial of the same multiplicity as the number of dimensions of the first color system as a basis function;
Based on the data indicating the combination of the plurality of color signal values of the first color system and the plurality of color signal values of the second color system that are the colorimetric results for the color signal values, An arithmetic means for obtaining a coefficient;
A color processing apparatus comprising: calculating means for calculating a color gamut of the second color system relative to a color gamut of the first color system using the multiple sum operation.
所定の表色系の色域を算出する画像処理装置であって、
第一の表色系の次元数と同じ多重度の区分的多項式を基底関数とする多重総和演算を設定する設定手段と、
前記第一の表色系の複数の色信号値と、それら色信号値に対する測色結果である第二の表色系の複数の色信号値との組み合わせを示すデータに基づき、前記第二の表色系の複数の信号値の並びに近似する曲面、あるいは、前記複数の色信号値を結ぶ曲面に対応する前記区分的多項式の係数を求める演算手段と、
前記多重総和演算を用いて、前記第一の表色系の色域に対応する前記第二の表色系の色域を算出する算出手段とを有することを特徴とする色処理装置。
An image processing apparatus for calculating a color gamut of a predetermined color system,
Setting means for setting a multiple sum operation using a piecewise polynomial of the same multiplicity as the number of dimensions of the first color system as a basis function;
Based on the data indicating the combination of the plurality of color signal values of the first color system and the plurality of color signal values of the second color system that are the colorimetric results for the color signal values, An arithmetic means for obtaining a coefficient of the piecewise polynomial corresponding to a curved surface approximating a plurality of signal values of a color system or a curved surface connecting the plurality of color signal values;
A color processing apparatus comprising: calculating means for calculating a color gamut of the second color system corresponding to the color gamut of the first color system using the multiple sum operation.
JP2004264599A 2004-09-10 2004-09-10 Color processing apparatus and method Withdrawn JP2006081024A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004264599A JP2006081024A (en) 2004-09-10 2004-09-10 Color processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004264599A JP2006081024A (en) 2004-09-10 2004-09-10 Color processing apparatus and method

Publications (1)

Publication Number Publication Date
JP2006081024A true JP2006081024A (en) 2006-03-23

Family

ID=36160087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004264599A Withdrawn JP2006081024A (en) 2004-09-10 2004-09-10 Color processing apparatus and method

Country Status (1)

Country Link
JP (1) JP2006081024A (en)

Similar Documents

Publication Publication Date Title
EP1968305B1 (en) Color processing apparatus and method thereof
JP2007208736A (en) Method and device for color processing
US7440136B2 (en) Color processing apparatus and method
US11182112B1 (en) Methods and systems for creating ICC printer profiles with unorthodox ink limits
JP2008147937A (en) Image processor and image processing method
JP2009004862A (en) Image processing apparatus
JP2009188948A (en) Image processing apparatus and image processing method
JP4095609B2 (en) Color processing apparatus and method
JP2006081024A (en) Color processing apparatus and method
JP2003259141A (en) Method, device, and program for creating color conversion definition
JP4109802B2 (en) Color processing apparatus and method
JP2006303785A (en) Image processing apparatus and method
JP2005176200A (en) Color signal converting apparatus and method thereof
JP2006211246A (en) Color processing apparatus and method therefor
JP2007038578A (en) Apparatus and method of image processing
JP3929060B2 (en) Color processing method and color processing apparatus
JP2007081733A (en) Image processign method and image processor
JP2006211579A (en) Color profile producing method and system
JP4262212B2 (en) Color processing method and apparatus
JP2004023650A (en) Image processor and image producing or processing program to be used for the same
JP2002112056A (en) Color reproducibility adjusting device and program recording medium therefor
JP2007028426A (en) Color processing method and apparatus thereof
JP2006128815A (en) Image processor and processing method
JP2003283858A (en) Method, device and program for generating color conversion definition
JP2007074531A (en) Method and device for color processing

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