JP2005348421A - Print control apparatus, print control method and recording medium - Google Patents

Print control apparatus, print control method and recording medium Download PDF

Info

Publication number
JP2005348421A
JP2005348421A JP2005168249A JP2005168249A JP2005348421A JP 2005348421 A JP2005348421 A JP 2005348421A JP 2005168249 A JP2005168249 A JP 2005168249A JP 2005168249 A JP2005168249 A JP 2005168249A JP 2005348421 A JP2005348421 A JP 2005348421A
Authority
JP
Japan
Prior art keywords
conversion table
color conversion
interpolation
grid points
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005168249A
Other languages
Japanese (ja)
Other versions
JP3962930B2 (en
Inventor
Kenji Fukazawa
賢二 深沢
Hirokazu Kasahara
広和 笠原
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005168249A priority Critical patent/JP3962930B2/en
Publication of JP2005348421A publication Critical patent/JP2005348421A/en
Application granted granted Critical
Publication of JP3962930B2 publication Critical patent/JP3962930B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a print control apparatus and print control method in which a color conversion table optimal for the environment of a user can be generated. <P>SOLUTION: When an installer operation is executed in a computer 21 constituting an image processing device 20, a color conversion table 21b2b is formed from a pre-conversion color conversion table 21b2c at step S130 and according to a processing of increasing lattice points in this case, the lattice points are increased by nonlinear interpolation calculation using Lagrange interpolation equation at step S430 or the lattice points are increased by linear interpolation. Furthermore, the number of lattice points may be fixed or may be the number of lattice points in accordance with environment or input image by which the color conversion table 21b2b having a pertinent size can be formed from the pre-conversion color conversion table 21b2c having a small size. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、異なる表色空間の間で階調表色データを変換するために変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させた色変換テーブルを生成する印刷制御装置および印刷制御方法並びに色変換装置に関する。   The present invention provides a color in which gradation color data in a conversion destination color space is associated with a grid point in the conversion color space in order to convert gradation color data between different color spaces. The present invention relates to a print control device, a print control method, and a color conversion device that generate a conversion table.

従来、この種の色変換テーブルとして、コンピュータ上のカラー画像をカラー印刷するカラー印刷システムが知られている。   Conventionally, a color printing system that performs color printing of a color image on a computer is known as this type of color conversion table.

コンピュータの内部では、カラー画像は縦横に並べられた各画素ごとについて赤緑青の三原色(R,G,B)で階調表示されているが、一般のカラー印刷装置においてはシアン、マゼンダ、イエローの三色(C,M,Y)あるいはこれにブラックを加えた(C,M,Y,K)四色で階調表示のない状態で印刷される。従って、カラー印刷するためには赤緑青の三原色(R,G,B)の表示からシアン、マゼンダ、イエローの三色(C,M,Y)の表示への色変換の作業と、階調表示から階調のない表示への階調変換の作業が必要となる。なお、色空間自体は一つの空間であるものの、座標の取り方によって表示が異ならざるをえないため、以下においては、便宜上、座標の取り方に応じた表色空間と呼ぶことにする。   Inside a computer, a color image is displayed with gradations in three primary colors (R, G, B) of red, green, and blue for each pixel arranged vertically and horizontally. In a general color printing apparatus, cyan, magenta, and yellow are displayed. Printing is performed with three colors (C, M, Y) or four colors (C, M, Y, K) with black added thereto and no gradation display. Therefore, for color printing, color conversion work from the display of the three primary colors (R, G, B) of red, green and blue to the display of three colors (C, M, Y) of cyan, magenta, and yellow, and gradation display Therefore, it is necessary to perform gradation conversion from gradation to display without gradation. Although the color space itself is a single space, the display must be different depending on how the coordinates are taken. Therefore, for the sake of convenience, the color space is hereinafter referred to as a color space corresponding to the way of taking the coordinates.

この(R,G,B)表示から(C,M,Y)表示への色変換は変換式によって一義的に定まるものではなく、それぞれの階調を座標とする色空間について相互に対応関係を求めておき、この対応関係から逐次変換するのが通常である。ここにおいて、少なくとも変換元の(R,G,B)表示が各色について256階調であったとすれば、約1670万個(256×256×256)の要素の色変換テーブルを持たなければならない。   The color conversion from the (R, G, B) display to the (C, M, Y) display is not uniquely determined by the conversion formula, and the color space having the coordinates of each gradation has a corresponding relationship with each other. Usually, it is usually converted sequentially from this correspondence. Here, if at least the conversion source (R, G, B) display has 256 gradations for each color, it is necessary to have a color conversion table of about 16.7 million (256 × 256 × 256) elements.

効率的な記憶資源の利用を考えた結果、すべての座標値についての対応関係を用意しておくのではなく、適当なとびとびの格子点について対応関係を用意しておき、補間演算を併用するようにしている。すなわち、(R,G,B)表色空間の中でのある座標の色について(C,M,Y)表色空間の対応関係を求めるときには同座標を取り囲む格子点の対応関係を利用し、線形補間などの演算を経て同座標の対応関係を求めている。   As a result of considering efficient use of storage resources, instead of preparing correspondences for all coordinate values, prepare correspondences for appropriate discrete grid points and use interpolation operations together. I have to. That is, when obtaining the correspondence of the (C, M, Y) color space for the color of a certain coordinate in the (R, G, B) color space, the correspondence of the grid points surrounding the coordinates is used. The correspondence of the same coordinates is obtained through operations such as linear interpolation.

このような色変換テーブルは、一般にプリンタドライバが備えており、色変換テーブルを含めたプリンタドライバ自体は個々のカラー印刷装置に対応して一つだけが提供されている。従って、色変換テーブルについても、記憶資源との対比から適当に定められた格子点の数に特定されていた。   Such a color conversion table is generally provided in a printer driver, and only one printer driver including the color conversion table is provided corresponding to each color printing apparatus. Therefore, the color conversion table is also specified as the number of grid points appropriately determined from comparison with the storage resource.

上述した従来の色変換テーブルにおいては、プリンタドライバを提供する側が一般的な記憶資源との対比に基づいて色変換テーブルを作成しているため、必ずしもユーザの環境によっては最適なものとは限らないという課題があった。すなわち、ユーザの環境によってはまだまだ大きいという場合もあるし、より大きなサイズとした方が良いという場合もあった。   In the above-described conventional color conversion table, the printer driver providing side creates a color conversion table based on comparison with general storage resources, so it is not always optimal depending on the user's environment. There was a problem. That is, depending on the user's environment, it may be still large, or it may be better to have a larger size.

さらに、色変換テーブルの大きさによって印刷品質にも差が生じるため、一定の大きさの色変換テーブルでは十分ではないという課題もあった。   Furthermore, since the print quality varies depending on the size of the color conversion table, there is a problem that a color conversion table having a certain size is not sufficient.

本発明は、上記課題にかんがみてなされたもので、ユーザの環境などに最適な色変換テーブルを生成することが可能な印刷制御装置および印刷制御方法の提供を目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a print control apparatus and a print control method capable of generating a color conversion table optimal for a user's environment and the like.

上記目的を達成するため、請求項1にかかる発明は、異なる表色空間の間で階調表色データを変換するために変換元の表色空間に複数の格子点を設定し、この格子点に変換先の表色空間での階調表色データを対応させた色変換テーブルを参照して印刷用の画像データを生成する印刷制御装置であって、印刷制御のためのドライバプログラムと少数の格子点において変換の対応関係を示す元色変換テーブルを記憶する補助記憶装置と、上記ドライバプログラムによって、印刷を実行するにあたり、上記元色変換テーブルの格子点を非線形補間演算によって増加させてコンピュータの主記憶領域に上記色変換テーブルを生成する補間手段と、生成された色変換テーブルに基づいて線形補間を行って上記印刷用の画像データを生成する手段とを実現する構成としてある。   In order to achieve the above object, the invention according to claim 1 sets a plurality of grid points in a conversion source color space in order to convert gradation color data between different color spaces, and the grid points. A print control apparatus for generating image data for printing with reference to a color conversion table in which gradation color data in a conversion destination color space is associated with a driver program for print control and a small number of When executing printing by the auxiliary storage device that stores the original color conversion table indicating the conversion correspondence at the grid points and the driver program, the grid points of the original color conversion table are increased by non-linear interpolation calculation. Interpolating means for generating the color conversion table in the main storage area and means for generating the printing image data by performing linear interpolation based on the generated color conversion table That it is constituted.

上記のように構成した請求項1にかかる発明においては、もともと存在しているのが格子点を少数とした元色変換テーブルであり、記憶資源をわずかしか必要としていない。そして、補間手段はこの元色変換テーブルの格子点を補間演算によって増加させて色変換テーブルを生成し、この生成された色変換テーブルを色変換に利用する。   In the invention according to claim 1 configured as described above, what originally exists is an original color conversion table with a small number of grid points, and requires only a small amount of storage resources. Then, the interpolating unit generates a color conversion table by increasing the grid points of the original color conversion table by interpolation calculation, and uses the generated color conversion table for color conversion.

元色変換テーブルにおける格子点の数は、生成される色変換テーブルと比較して相対的に少なければよく、必ずしも極めて少ない数値である必要はない。特に、三次元の格子点であれば、格子点の多少は3乗で変化してくる。すなわち、格子点を半分にするだけで色変換テーブルのサイズは1/8の大きさとなり、少しの差でも記憶資源に対して大きな効果を与えることになる。   The number of grid points in the original color conversion table should be relatively small compared to the generated color conversion table, and does not necessarily need to be a very small number. In particular, in the case of a three-dimensional lattice point, the number of lattice points changes by the third power. That is, the size of the color conversion table becomes 1/8 just by halving the grid points, and even a slight difference will have a great effect on the storage resource.

補間演算手段については各種の演算を適用することが可能であり、その一例として、請求項2にかかる発明は、請求項1に記載の印刷制御装置において、上記補間手段は、複数の格子点の対応関係から非線形補間演算で補間する非線形補間演算手段を具備する構成としてある。   Various operations can be applied to the interpolation calculation means. As an example, the invention according to claim 2 is the print control apparatus according to claim 1, wherein the interpolation means includes a plurality of grid points. From the correspondence, the configuration includes nonlinear interpolation calculation means for performing interpolation by nonlinear interpolation calculation.

上記のように構成した請求項2にかかる発明においては、補間手段の非線形補間演算手段が複数の格子点の対応関係から非線形補間演算で格子点を補間する。   In the invention according to claim 2 configured as described above, the non-linear interpolation calculating means of the interpolating means interpolates the grid points by the non-linear interpolation calculation from the correspondence relationship of the plurality of grid points.

非線形補間演算を行うことにより、増加される格子点での対応関係が正確に再現されることになる。従って、元色変換テーブルの格子点を少なくしても非常に再現性の良い結果を得ることが可能となる。   By performing the non-linear interpolation calculation, the correspondence at the increased grid point is accurately reproduced. Therefore, even if the number of grid points in the original color conversion table is reduced, it is possible to obtain a very reproducible result.

一方、元色変換テーブルの格子点の間隔についてはこの補間演算にも関連があり、その一例として、請求項3にかかる発明は、請求項2に記載の印刷制御装置において、上記元色変換テーブルは、均等な間隔の格子点となった構成としてある。   On the other hand, the interval between grid points in the original color conversion table is also related to this interpolation calculation. As an example, the invention according to claim 3 is the original color conversion table in the print control apparatus according to claim 2. Is a configuration in which lattice points are evenly spaced.

非線形補間演算においては必ずしも格子点間隔が均等である必要はないが、不均等な格子間隔であるとすると演算式の係数が複雑になってくる。そして、少なくとも三次元の立方体内で補間演算で格子点を増加させようとする場合には、各軸方向毎に複数の格子点から中間的な格子点を求めるような作業が必要になり、このような場合に演算式の係数が複雑になってくると補間演算が煩雑になり、作業が煩わしい。これに対して均等な格子点間隔である場合には一部の係数などが一定となってループ処理も適用しやすくなるなどの状況が生じる。   In the non-linear interpolation calculation, the grid point spacing does not necessarily have to be uniform, but if the grid spacing is not uniform, the coefficients of the calculation formula become complicated. And, when trying to increase the lattice points by interpolation calculation at least in a three-dimensional cube, it is necessary to obtain an intermediate lattice point from a plurality of lattice points for each axial direction. In such a case, if the coefficients of the calculation formula become complicated, the interpolation calculation becomes complicated, and the work is troublesome. On the other hand, when the lattice point spacing is uniform, some of the coefficients and the like are constant, and a loop processing is easily applied.

むろん、非線形補間演算以外の他の補間演算によっては均等である方が好ましい場合もあるし、不均等である方が好ましい場合もあり、補間演算に応じて適宜変更可能である。   Of course, in some interpolation operations other than the non-linear interpolation calculation, equality may be preferable, and in some cases, non-uniformity may be preferable, and can be appropriately changed according to the interpolation calculation.

また、非線形補間演算以外の演算を利用する一例として、請求項4にかかる発明は、請求項1に記載の印刷制御装置において、上記補間手段は、複数の格子点の対応関係から線形補間演算で補間する線形補間演算手段を具備する構成としてある。   Further, as an example of using an operation other than the non-linear interpolation calculation, the invention according to claim 4 is the print control apparatus according to claim 1, wherein the interpolation means performs linear interpolation calculation from a correspondence relationship between a plurality of grid points. The linear interpolation calculation means for performing the interpolation is provided.

線形補間の場合には演算式自体が複雑でないというメリットもあるし、演算に必要な格子点が軸方向に対して二点であるという性質がある。従って、対応関係が大きく変化する部分においては格子点を細かくすることにより、正確な対応関係を容易に得られるようになるし、逆に、対応関係がさほど変化しない部分においては格子点を粗くするといったことも容易になる。   In the case of linear interpolation, there is a merit that the arithmetic expression itself is not complicated, and there is a property that the lattice points necessary for the arithmetic are two points in the axial direction. Therefore, by making the lattice points finer in the part where the correspondence changes greatly, it becomes possible to easily obtain an accurate correspondence, and conversely, in the part where the correspondence does not change much, the lattice points are coarsened. It becomes easy.

補間演算手段が増加させる格子点の数は、必ずしも一定である必要はなく、その一例として、上記補間手段は、補間で増加させる格子点の数を選択可能とした構成としてある。   The number of grid points to be increased by the interpolation calculation means is not necessarily constant, and as an example, the interpolation means has a configuration in which the number of grid points to be increased by interpolation can be selected.

増加される格子点の数により色変換テーブルのサイズが変化するし、補間演算によっては格子点が色変換での変換精度に影響を与える場合もある。従って、補間で増加させる格子点の数が選択可能であることにより、ユーザの環境に対して最適な格子点の数とすることが可能となってくる。   The size of the color conversion table changes depending on the increased number of grid points, and depending on the interpolation calculation, the grid points may affect the conversion accuracy in color conversion. Therefore, by selecting the number of grid points to be increased by interpolation, it is possible to set the number of grid points optimal for the user's environment.

この場合において、請求項5にかかる発明は、請求項1〜請求項4のいずれかに記載の印刷制御装置において、上記補間手段は、増加させる格子点の数を環境に応じて設定する構成としてある。   In this case, according to a fifth aspect of the present invention, in the print control device according to any one of the first to fourth aspects, the interpolation means sets the number of grid points to be increased according to the environment. is there.

格子点の数によって色変換テーブルのサイズが変化するし、色変換時のヒット率も変わってくる。さらには、増加させる格子点の位置によっては補間演算を容易にさせたりすることにもなる。従って、環境に応じて総合的に格子点を増加させることにより、最適な色変換を提供できる。環境に応じて増加する格子点を選択する方針として、記憶資源が多ければ大きなサイズの色変換テーブルとすればよいし、格子点が多いほど色変換精度が高い場合において色変換精度を高くすることを望むのであれば格子点を多くするようにすればよいし、補間演算時に2の累乗での乗除算が容易であるようならば、格子点の間隔が2の累乗となるようにすればよい。   The size of the color conversion table changes depending on the number of grid points, and the hit rate at the time of color conversion also changes. Further, depending on the position of the grid point to be increased, the interpolation calculation may be facilitated. Therefore, optimal color conversion can be provided by increasing the number of grid points comprehensively according to the environment. The policy for selecting grid points that increase according to the environment is to use a large color conversion table if there are many storage resources, and to increase the color conversion accuracy when the color conversion accuracy is higher as there are more grid points. If it is desired to increase the number of grid points, it is sufficient to increase the number of grid points, and if interpolation / division by a power of 2 is easy at the time of interpolation calculation, the interval between grid points may be set to a power of 2. .

さらに、同様に増加する格子点を選択するにあたり、請求項6にかかる発明は、請求項1〜請求項4のいずれかに記載の印刷制御装置において、上記補間手段は、増加させる格子点の数を変換画像の種類に応じて設定する構成としてある。   Further, in selecting a grid point to be increased in the same manner, the invention according to claim 6 is the printing control apparatus according to any one of claims 1 to 4, wherein the interpolation means increases the number of grid points to be increased. Is set according to the type of the converted image.

上述したように、格子点が多いほど色変換精度が高い場合があり、そのような場合において画像によっては色変換精度を高く要求するものもあればさほど必要としないようなものもある。このため、変換画像の情報が色変換精度を高く要求するようなものであれば格子点をできるだけ多くし、色変換精度をさほど要求しないようなものであれば格子点をさほど多くしない。この場合の方針として、例えば、オペレーティングシステムなどから変換画像の種類を知ることができるような場合に、ファイルの拡張子がビットマップであれば写真などの色情報の重要度が高いものと判断して格子点をできる限り多くする一方、ファイルの拡張子がドローデータやビジネスグラフを指すような場合には色情報の重要度は低いものと判断して格子点をさほど増やさないといったことが有効である。   As described above, the more the number of grid points, the higher the color conversion accuracy may be. In such a case, some images may require a high color conversion accuracy and others may not require so much. For this reason, if the information of the converted image requires high color conversion accuracy, the number of lattice points is increased as much as possible. If the information of the converted image does not require so much color conversion accuracy, the number of lattice points is not increased. As a policy in this case, for example, when the type of converted image can be known from the operating system or the like, if the file extension is a bitmap, it is determined that the importance of color information such as a photograph is high. While increasing the number of grid points as much as possible, if the file extension indicates draw data or a business graph, it is effective to judge that the importance of color information is low and not increase the grid points so much. is there.

発明の思想の具現化例における他の一例として、請求項8にかかる発明は、異なる表色空間の間で階調表色データを変換するために変換元の表色空間に複数の格子点を設定し、この格子点に変換先の表色空間での階調表色データを対応させた色変換テーブルを参照して印刷用の画像データを生成する印刷制御方法であって、印刷制御のためのドライバプログラムと少数の格子点において変換の対応関係を示す元色変換テーブルを補助記憶装置に記憶しておき、上記ドライバプログラムによって、印刷を実行するにあたり、上記元色変換テーブルの格子点を非線形補間演算によって増加させてコンピュータの主記憶領域に上記色変換テーブルを生成し、生成された色変換テーブルに基づいて線形補間を行って上記印刷用の画像データを生成することを特徴としている。   As another example of the embodiment of the idea of the present invention, the invention according to claim 8 is that the plurality of grid points are provided in the conversion source color space in order to convert the gradation color data between different color spaces. A print control method for generating image data for printing with reference to a color conversion table that is set and associated with this grid point and gradation color data in the conversion destination color space, for print control The original color conversion table showing the correspondence of conversion at a small number of grid points with the driver program is stored in the auxiliary storage device, and when executing the printing by the driver program, the grid points of the original color conversion table are nonlinearly stored. The color conversion table is generated in the main storage area of the computer by increasing by interpolation calculation, and the image data for printing is generated by performing linear interpolation based on the generated color conversion table. It is characterized by a door.

すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。   That is, it is not necessarily limited to a substantial apparatus, and there is no difference that the method is also effective.

ところで、このような色変換テーブルを備える色変換装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。   By the way, the color conversion apparatus provided with such a color conversion table may exist alone or may be used in a state of being incorporated in a certain device. The embodiment is included. Therefore, it can be changed as appropriate, such as software or hardware.

その一例として、印刷インクに対応した表色空間に対して異なる表色空間の階調表色データを変換するにあたり、少数の格子点において変換の対応関係を記憶する元色変換テーブルを使用し、格子点を補間演算によって増加させて色変換テーブルを生成し、この生成した色変換テーブルを利用して色変換する構成とすることもできる。   As an example, when converting gradation color data of a different color space to a color space corresponding to printing ink, an original color conversion table that stores conversion correspondences at a small number of grid points is used. It is also possible to generate a color conversion table by increasing the number of grid points by interpolation calculation, and perform color conversion using the generated color conversion table.

すなわち、プリンタドライバは印刷インクに対応した表色空間に対して異なる表色空間の階調表色データを変換するために、色変換テーブルを参照することになるが、この際に少数の格子点の元色変換テーブルから補間して格子点を増し、格子点を増加した色変換テーブルを使用して色変換する。   That is, the printer driver refers to the color conversion table in order to convert gradation color data in a different color space with respect to the color space corresponding to the printing ink. In this case, a small number of grid points are used. The number of grid points is increased by interpolation from the original color conversion table, and color conversion is performed using the color conversion table with the increased number of grid points.

発明の思想の具現化例として色変換装置のソフトウェアとなる場合には、請求項9のように、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、ソフトウェアである場合にインストール作業において上述したような格子点を増加させる処理を行うことも可能であるし、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりないし、提供する側はソフトウェア提供装置として機能するものであり、同様に本発明を利用していることに相違ない。   When the software of the color conversion apparatus is embodied as an embodiment of the idea of the invention, it naturally exists on a recording medium on which such software is recorded as in claim 9 and must be used. . Of course, the recording medium may be a magnetic recording medium, a magneto-optical recording medium, or any recording medium that will be developed in the future. In addition, the duplication stages such as the primary duplication product and the secondary duplication product are equivalent without any question. In addition, in the case of software, it is possible to perform the process of increasing the grid points as described above in the installation work, and that the present invention is used even when the communication method is used as a supply method. However, the providing side functions as a software providing device, and the present invention is similarly used.

さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。さらには、かかる色変換テーブル使用することになるカラーファクシミリ機やカラーコピー機においても適用可能であることはいうまでもない。   Further, even when a part is software and a part is realized by hardware, there is nothing completely different in the idea of the invention, and a part is stored on a recording medium, and it is appropriately changed as necessary. It may be in the form of being read. Furthermore, it goes without saying that the present invention can also be applied to a color facsimile machine or color copier that uses such a color conversion table.

以上説明したように本発明は、小さなサイズの元色変換テーブルから格子点を増した色変換テーブルを生成するものであるため、色変換をしない状態では最低限の記憶資源しか必要としない一方、色変換を行うときには必要な大きさとなった色変換テーブルとすることができ、より融通性の高い印刷制御装置を提供することができる。むろん、必要なときにだけ展開して不要なときには展開しないようにしても良いし、記憶資源に余裕があるのであれば展開した状態のまま残しておくこともできる。   As described above, the present invention generates a color conversion table in which grid points are increased from a small-size original color conversion table, and therefore requires a minimum storage resource in a state where color conversion is not performed. A color conversion table having a required size when performing color conversion can be provided, and a more flexible printing control apparatus can be provided. Of course, it can be expanded only when necessary and not expanded when unnecessary, or can be left in an expanded state if there is enough storage resources.

さらに、増加させる格子点の数を選択できるので、ユーザの記憶資源に合わせて色変換テーブルのサイズを決めるなど、より柔軟にユーザの環境に適した色変換テーブルを生成することができるようになる。これはまた、複数のサイズの色変換テーブルを生成することもできるので、必要に応じて適宜選択して利用するといったことも可能となる。   Furthermore, since the number of grid points to be increased can be selected, a color conversion table suitable for the user environment can be generated more flexibly, such as determining the size of the color conversion table according to the user's storage resources. . In addition, since it is possible to generate a color conversion table of a plurality of sizes, it is possible to select and use them as necessary.

また、請求項2にかかる発明によれば、非線形補間演算で格子点を増加させるようにしているため、増加された格子点の精度が高くなり、良好な色変換結果を得ることができる。これは、逆にいえばより格子点を少なくしても良好な結果を得ることができるという効果にもなる。   According to the second aspect of the present invention, since the lattice points are increased by the non-linear interpolation calculation, the accuracy of the increased lattice points is increased, and a good color conversion result can be obtained. In other words, an advantageous effect can be obtained even if the number of lattice points is reduced.

さらに、請求項3にかかる発明によれば、元色変換テーブルの格子点を均等な間隔とすることにより非線形補間演算が複雑化しないようにでき、演算時間などの減少を図ることができる。   Furthermore, according to the third aspect of the invention, by making the lattice points of the original color conversion table equal intervals, the nonlinear interpolation calculation can be prevented from becoming complicated, and the calculation time can be reduced.

さらに、請求項4にかかる発明によれば、演算量の少ない線形補間を利用して簡易に補間演算を行うことができる。また、線形補間の簡易さを利用すれば大きな変化部分で格子点を密にすることにより、簡易でありながら精度の向上を図ることができるなどのメリットもある。   Furthermore, according to the fourth aspect of the invention, it is possible to easily perform an interpolation calculation using linear interpolation with a small calculation amount. Further, if the simplicity of linear interpolation is used, there is a merit that it is possible to improve accuracy while being simple by making the lattice points dense at large change portions.

さらに、請求項5にかかる発明によれば、環境に応じた数の格子点を選択するので、ユーザが煩わしい設定作業を行わなくても良くなる。   Furthermore, according to the fifth aspect of the present invention, since the number of grid points corresponding to the environment is selected, the user does not have to perform troublesome setting work.

さらに、請求項6にかかる発明によれば、格子点の増加を変換画像に応じて選択するようにしているため、不要に色変換テーブルを大きくしすぎたり、不十分にしか色変換テーブルを大きくしていないなどといった不具合を無くすることができる。   Further, according to the invention of claim 6, since the increase of the grid points is selected according to the converted image, the color conversion table is unnecessarily enlarged too much or the color conversion table is enlarged only insufficiently. It is possible to eliminate problems such as not doing so.

さらに、請求項8にかかる発明によれば、上述したのと同様に、より融通性の高い色変換テーブル生成することが可能な印刷制御方法を提供することができる。   Furthermore, according to the eighth aspect of the present invention, as described above, it is possible to provide a print control method capable of generating a more flexible color conversion table.

さらに、請求項9にかかる発明によれば、上述したのと同様に、より融通性の高い色変換テーブル生成することが可能な色変換テーブルの製造プログラムを、コンピュータ等で読み取り可能に記録した記録媒体として提供することができる。   Furthermore, according to the ninth aspect of the present invention, as described above, a record in which a color conversion table manufacturing program capable of generating a more flexible color conversion table is recorded in a computer-readable manner. It can be provided as a medium.

以下、図面にもとづいて本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の一実施形態にかかる画像処理システムをブロック図により示しており、図2は具体的ハードウェア構成例をブロック図により示している。   FIG. 1 is a block diagram illustrating an image processing system according to an embodiment of the present invention, and FIG. 2 is a block diagram illustrating a specific hardware configuration example.

同図において、画像入力装置10はカラー画像を撮像するなどして階調表色データを画像処理装置20へ出力し、同画像処理装置20は所定の画像処理を行なって画像出力装置30に出力し、同画像出力装置30は元のカラー画像を表示する。   In the figure, an image input device 10 captures a color image and outputs gradation color specification data to the image processing device 20, and the image processing device 20 performs predetermined image processing and outputs it to the image output device 30. The image output device 30 displays the original color image.

ここにおいて、画像入力装置10の具体例はスキャナ11やデジタルスチルカメラ12などが該当し、画像処理装置20の具体例はコンピュータ21とハードディスク22などからなるコンピュータシステムが該当し、画像出力装置30の具体例はプリンタ31やディスプレイ32等が該当する。また、本発明をコンピュータ等に実施させるプログラムを記録可能な記録媒体は、ドライブ装置23によってコンピュータに読み込まれるCD−ROM24等の記録媒体が相当する。   Here, a specific example of the image input device 10 corresponds to the scanner 11 or the digital still camera 12, and a specific example of the image processing device 20 corresponds to a computer system including the computer 21 and the hard disk 22. Specific examples correspond to the printer 31, the display 32, and the like. A recording medium capable of recording a program that causes a computer or the like to execute the present invention corresponds to a recording medium such as a CD-ROM 24 that is read into the computer by the drive device 23.

画像入力装置10としてのスキャナ11が階調表色データとして例えばRGB(緑、青、赤)の階調データを出力するものとするとともに、画像出力装置30としてのプリンタ31は階調表色データとしてCMY(シアン、マゼンダ、イエロー)の二値データを入力として必要とするものとすると、画像処理装置20としてのこのコンピュータ21の具体的役割は、RGBの階調データをCMYの二値データに変換することである。また、ディスプレイ32がRGBの階調データを入力するものとしても、スキャナ11とディスプレイ32では色特性が異なるのが通常であり、コンピュータ21はRGBの階調データをRGBの階調データに変換する処理を行なうことになる。デジタルスチルカメラ12についてもほぼ同様のことがいえる。   The scanner 11 as the image input apparatus 10 outputs gradation data of RGB (green, blue, red), for example, as gradation color data, and the printer 31 as the image output apparatus 30 has gradation color data. Assuming that binary data of CMY (cyan, magenta, yellow) is required as input, the specific role of this computer 21 as the image processing device 20 is to convert RGB gradation data into binary data of CMY. Is to convert. Even if the display 32 inputs RGB gradation data, the scanner 11 and the display 32 usually have different color characteristics, and the computer 21 converts the RGB gradation data into RGB gradation data. Processing will be performed. The same can be said for the digital still camera 12.

このコンピュータ21の内部で行なわれる処理を図3に示している。図に示すように、コンピュータ21内ではオペレーティングシステム21aが稼働しており、プリンタ31やディスプレイ32に対応したプリンタドライバ21bやビデオドライバ21cが組み込まれている。一方、アプリケーション21dはオペレーティングシステム21aにて処理の実行を制御され、必要に応じてプリンタドライバ21bやビデオドライバ21cと連携して所定の処理を実行する。   The processing performed inside the computer 21 is shown in FIG. As shown in the figure, an operating system 21a is operating in the computer 21, and a printer driver 21b and a video driver 21c corresponding to the printer 31 and the display 32 are incorporated therein. On the other hand, the application 21d is controlled by the operating system 21a to execute processing, and executes predetermined processing in cooperation with the printer driver 21b and the video driver 21c as necessary.

アプリケーション21dで生成される印刷用データはオペレーティングシステム21aを介してプリンタドライバ21bに入力され、当該プリンタドライバ21bはプリンタ31が要求するフォーマットの画像データに変換する。この変換が上述したRGBの階調データをCMYの二値データに変換する処理に該当する。ここにおいて、同プリンタドライバ21bは、アプリケーション21dが所定の画面単位で生成する画像データからプリンタ31における印刷ヘッドの走査範囲を切り出すラスタライザ21b1と、この走査範囲の各画素について色変換テーブルを参照してRGBの階調データをCMYの階調データに変換する色変換部21b2と、CMYの階調データを二値データに階調変換する階調変換部21b3とから構成されている。なお、アプリケーション21dが生成する表示画像データについてはビデオドライバ21cが所定の画面用メモリに書き込み、ハードウェア回路を介してディスプレイ32にて表示させている。   The print data generated by the application 21d is input to the printer driver 21b via the operating system 21a, and the printer driver 21b converts the image data into a format requested by the printer 31. This conversion corresponds to the above-described processing for converting RGB gradation data into CMY binary data. Here, the printer driver 21b refers to the rasterizer 21b1 that cuts out the scanning range of the print head in the printer 31 from the image data generated by the application 21d in predetermined screen units, and refers to the color conversion table for each pixel in the scanning range. The color conversion unit 21b2 converts RGB gradation data into CMY gradation data, and the gradation conversion unit 21b3 converts gradations of CMY gradation data into binary data. Note that the display image data generated by the application 21d is written into a predetermined screen memory by the video driver 21c and displayed on the display 32 via a hardware circuit.

色変換部21b2は色補正モジュールとも呼ばれ、色変換の演算処理を実行する色変換用ソフトウェア21b2aと色変換テーブル21b2bとから構成されている。色変換テーブル21b2bは異なる表色空間の間で階調表色データを変換するために変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたものであり、より具体的には図4に示すような三次元のRGB階調データを座標値としてCMY階調データを読み出すための三次元ルックアップテーブルである。そして、色変換用ソフトウェア21b2aは各画素のRGB階調データを座標値としてCMY階調データを読み出す処理を行う。   The color conversion unit 21b2 is also called a color correction module, and includes color conversion software 21b2a for executing color conversion calculation processing and a color conversion table 21b2b. The color conversion table 21b2b associates the gradation color data in the conversion destination color space with the grid points in the conversion source color space in order to convert gradation color data between different color spaces. More specifically, it is a three-dimensional lookup table for reading out CMY gradation data using the three-dimensional RGB gradation data as coordinate values as shown in FIG. Then, the color conversion software 21b2a performs a process of reading out CMY gradation data using the RGB gradation data of each pixel as a coordinate value.

この色変換部21b2を含めて同プリンタドライバ21bは、図5に示すインストールプログラムによってハードディスク22上に展開される。このインストーラは、機器チェックを行なうステップS110と、上記色変換用ソフトウェア21b2aを含むドライバ用ソフトウェアをハードディスク22上に展開するステップS120と、所定の補間演算によって小サイズの元色変換テーブル21b2cから所定のサイズの色変換テーブル21b2bを生成するステップS130とから構成されている。   The printer driver 21b including the color converter 21b2 is developed on the hard disk 22 by the installation program shown in FIG. This installer performs step S110 for device check, step S120 for developing the driver software including the color conversion software 21b2a on the hard disk 22, and a predetermined interpolation operation from a small size original color conversion table 21b2c. Step S130 for generating the size color conversion table 21b2b.

すなわち、補間演算によって小サイズの元色変換テーブル21b2cから所定のサイズの色変換テーブル21b2bを生成するステップS130こそが本発明における印刷制御装置を構成し、その手順が色変換テーブルの製造方法を構成している。この具体的手法については後述するとして、本実施形態においては、プリンタドライバ21bのインストーラとして具現化されているものの、その機能として小サイズの元色変換テーブル21b2cから所定のサイズの色変換テーブル21b2bを生成するものであればよい。従って、色変換テーブルを単独で生成するソフトウェアであってもよいし、あるいはワイヤーロジックからなるハードウェアなどで構成することも可能である。また、後述するように色変換用ソフトウェア21b2aが必要に応じて色変換テーブル21b2bを生成するよう構成することも可能である。   That is, the step S130 for generating the color conversion table 21b2b of a predetermined size from the small-size original color conversion table 21b2c by the interpolation operation constitutes the print control apparatus according to the present invention, and the procedure constitutes the color conversion table manufacturing method. doing. Although this specific method will be described later, in this embodiment, although it is embodied as an installer of the printer driver 21b, as a function thereof, a color conversion table 21b2b of a predetermined size is converted from a small size original color conversion table 21b2c. Anything can be generated. Accordingly, software that generates the color conversion table independently may be used, or it may be configured by hardware including wire logic. Further, as described later, the color conversion software 21b2a can be configured to generate the color conversion table 21b2b as necessary.

次に、この補間演算処理について詳述する。   Next, the interpolation calculation process will be described in detail.

まず、補間演算処理の一例として非線形補間演算を採用する場合について説明する。   First, a case where nonlinear interpolation calculation is employed as an example of interpolation calculation processing will be described.

n個の点(Xi、Yi)(i=0,1,…,n−1)が与えられればYi=P(Xi)(i=0,1,…,n−1)を満たすn−1次の多項式   If n points (Xi, Yi) (i = 0, 1,..., n−1) are given, n−1 satisfying Yi = P (Xi) (i = 0, 1,..., n−1). Polynomial

Figure 2005348421
Figure 2005348421

が一意的に定まる。但し、どの二つのXiも等しくないとする。この多項式を表す閉じた式 Is uniquely determined. However, no two Xi are equal. A closed expression representing this polynomial

Figure 2005348421
Figure 2005348421

がラグランジュ(Lagrange)の補間公式である。なお、右辺のΠ以下については((X−Xj )/(Xi−Xj))をj=i以外の全てのjについて掛け合わせたものを意味する。この補間演算の具体的な実行方法をC言語で示したコーディングリストを図6に示している。 Is the Lagrange interpolation formula. Note that “Π” on the right side is equal to ((X−Xj) / (Xi−Xj)) multiplied by all j except j = i. FIG. 6 shows a coding list showing a specific execution method of this interpolation operation in C language.

さて、このような補間演算を用いれば、図7に示すような実際には各軸方向に五つの格子座標しか持たない小サイズの元色変換テーブル21b2cを使用して各格子座標間に新たな三つの格子座標を増加して格子座標間を四分することは可能である。この場合の格子座標間隔は「64」階調に相当し、元色変換テーブル21b2cの各格子座標に格子番号「0」〜「4」を付すものとする。また、新たに格子座標間を四分することにより色変換テーブル21b2bでは格子番号「0」〜「16」となり、格子座標間隔は「16」階調になる。なお、本来「256」階調としてこのように均等に分配する格子点を設けるのは不可能であり、計算上は「0」〜「256」というような(実際の階調数+1)の格子番号を想定しておき、計算の最後で最後の格子番号(例えば256)を現実の階調の範囲の最後の格子番号(255に相当)に移行させることによって計算を簡易にする。   Now, by using such an interpolation calculation, a new size between the grid coordinates is newly obtained using the small-size original color conversion table 21b2c having only five grid coordinates in each axis direction as shown in FIG. It is possible to divide between the grid coordinates by increasing the three grid coordinates. In this case, the lattice coordinate interval corresponds to “64” gradation, and lattice numbers “0” to “4” are attached to the respective lattice coordinates of the original color conversion table 21b2c. Further, by newly dividing the interval between the lattice coordinates, the lattice numbers “0” to “16” are obtained in the color conversion table 21b2b, and the lattice coordinate interval becomes “16” gradation. Note that it is impossible to provide grid points that are uniformly distributed in this way as “256” gray scales. In terms of calculation, the grid points are “0” to “256” (the actual number of gray scales + 1). Assuming the number, the calculation is simplified by shifting the last grid number (for example, 256) to the last grid number (corresponding to 255) in the actual gradation range at the end of the calculation.

元色変換テーブル21b2cのインストールプログラム内での記憶フォーマットについて概略を触れておくと、図8の上段に示すように、RGBの各成分を座標値としてそれぞれCMYの三色のデータを対応すべく、要素数が(5,5,5,3)の配列となっており、ファイルの先頭からベタで書き込まれている。従って、元色変換テーブル21b2cの対応データを参照するためにはR軸とG軸とB軸とのそれぞれに対応した格子番号ポインタPr,Pg,Pbを設定し、ファイルの先頭から(Pr×5×5×3+Pg×5×3+Pb×3)をオフセットアドレスとしてシアン(C)は「1」バイト目、マゼンダ(M)は「2」バイト目、イエロー(Y)は「3」バイト目を読み出すことになる。   To briefly describe the storage format in the installation program of the original color conversion table 21b2c, as shown in the upper part of FIG. 8, the RGB components are coordinated to correspond to the three colors of CMY respectively. The number of elements is an array of (5, 5, 5, 3), and is written in solid from the beginning of the file. Accordingly, in order to refer to the corresponding data in the original color conversion table 21b2c, the grid number pointers Pr, Pg, Pb corresponding to the R axis, the G axis, and the B axis are set, respectively, and (Pr × 5 Cyan (C) reads the “1” byte, magenta (M) reads the “2” byte, and yellow (Y) reads the “3” byte, with × 5 × 3 + Pg × 5 × 3 + Pb × 3) as the offset address. become.

むろん、かかる記憶フォーマットは一例に過ぎず、例えば、シアンについて全座標分だけ並べ、マゼンダ、イエローについて、順次、全座標分だけ並べていくなどの配置でも構わない。あるいは、ファイル圧縮した状態で保存してあっても良い。ただし、配列としてベタで書き込まれている場合には、後述するようにポインタ値で読み出しアドレスを演算でき、読み出す際の規則性を自由に設定できる。   Of course, such a storage format is merely an example, and for example, an arrangement may be made such that cyan is arranged for all coordinates and magenta and yellow are arranged for all coordinates sequentially. Alternatively, the file may be stored in a compressed state. However, when the array is written in solid, the read address can be calculated with the pointer value as will be described later, and the regularity at the time of reading can be freely set.

一方、色変換テーブル21b2bの記憶フォーマットを図8の下段に示している、上述したように元色変換テーブル21b2cの各格子点間を四分して新たに三つの格子座標を形成するものであるため、要素数が(17,17,17,3)の配列となっており、ファイルの先頭からベタで書き込むようにしている。従って、この色変換テーブル21b2bの対応データを参照するためには先程と同様の格子番号ポインタPr,Pg,Pbを設定すると、ファイルの先頭から(Pr×17×17×3+Pg×17×3+Pb×3)をオフセットアドレスとしてシアン(C)は「1」バイト目、マゼンダ(M)は「2」バイト目、イエロー(Y)は「3」バイト目を読み出すことになる。   On the other hand, the storage format of the color conversion table 21b2b is shown in the lower part of FIG. 8, and as described above, the grid points between the grid points of the original color conversion table 21b2c are divided into four to form three new grid coordinates. Therefore, the number of elements is an array of (17, 17, 17, 3), and the data is written in solid from the beginning of the file. Therefore, if the same grid number pointers Pr, Pg, Pb as before are set in order to refer to the corresponding data in the color conversion table 21b2b, (Pr × 17 × 17 × 3 + Pg × 17 × 3 + Pb × 3) from the beginning of the file. ) As an offset address, cyan (C) reads the “1” byte, magenta (M) reads the “2” byte, and yellow (Y) reads the “3” byte.

色変換テーブル21b2bの格子点を増加する処理を図9のフローチャートに示している。この処理では、図8に示すように元色変換テーブル21b2cと色変換テーブル21b2bとで一致する格子点が存在するので、ステップS210にて格子点データを移転させる作業を行いつつ、格子点の間に空白のデータを挿入してハードディスク22上にファイルの形として展開する。この後、ステップS220にて色変換テーブル21b2bの全格子点について対応データを埋めるべく、各軸の格子番号についてネストしたループ処理を実行する。格子番号は「0」〜「16」であるので、R軸、G軸、B軸についてポインターに「0」〜「16」を設定して処理を繰り返す。最も内側のループ内ではR軸、G軸、B軸のポインターで示される格子点が元色変換テーブル21b2cから移行した格子点に一致するか否かを判断し、一致しなければ補間演算で格子点の対応データを算出する処理を実行する。しかし、一致するのであれば既に対応データがあるので補間演算の処理をスキップする。   The process of increasing the grid points of the color conversion table 21b2b is shown in the flowchart of FIG. In this process, as shown in FIG. 8, since there are matching grid points in the original color conversion table 21b2c and the color conversion table 21b2b, the grid point data is transferred while performing the work of transferring the grid point data in step S210. The blank data is inserted into the file and expanded as a file on the hard disk 22. Thereafter, in step S220, a nested loop process is executed for the grid number of each axis in order to fill the corresponding data for all grid points of the color conversion table 21b2b. Since the grid numbers are “0” to “16”, the processing is repeated with “0” to “16” set as pointers for the R, G, and B axes. In the innermost loop, it is determined whether or not the grid points indicated by the R-axis, G-axis, and B-axis pointers match the grid points transferred from the original color conversion table 21b2c. A process of calculating point correspondence data is executed. However, if there is a match, the corresponding data already exists, so the interpolation calculation process is skipped.

補間演算の処理の一例を、図10〜図12に示している。まず、フローを説明する前に図11にて図示した非線形演算の概念を説明する。   An example of the interpolation calculation process is shown in FIGS. First, before explaining the flow, the concept of the nonlinear calculation shown in FIG. 11 will be explained.

数2に示したラグランジュの補間公式を四点の対応データに基づいて適用しようとした場合、図11に示すP点(Rp,Gp,Bp)の補間演算を行なうこととしても、必ずしも四つの格子点を通過するかどうかは不明である。従って、P点が位置する前後で各軸方向に四つの格子点からなる立方体を想定し、この立方体内で各軸方向ごとに順に補間演算を実行することにより、P点の演算に必要な四つの点の対応データを算出していくことにする。ここにおいて、各軸毎の格子座標を{R1, R2, R3, R4}{G1, G2, G3, G4}{B1, B2, B3, B4}と設定しておく。   When the Lagrangian interpolation formula shown in Equation 2 is applied based on the corresponding data of four points, even if the interpolation calculation of the P point (Rp, Gp, Bp) shown in FIG. It is unclear whether the point will be passed. Therefore, assuming a cube composed of four lattice points in each axial direction before and after the P point is located, and performing interpolation calculation in order for each axial direction in this cube, the four points necessary for the calculation of the P point are obtained. We will calculate the correspondence data for one point. Here, the grid coordinates for each axis are set as {R1, R2, R3, R4} {G1, G2, G3, G4} {B1, B2, B3, B4}.

まず、P点(図示△の点)を通過するG軸方向に平行な直線を想定すると、この直線は、G軸の格子座標を通過することになる四つのRB平面を貫通することになる。この各交点は同図にて○点で示しており、その座標は(Rp,G4,Bp)、(Rp,G3,Bp)、(Rp,G2,Bp)、(Rp,G1,Bp)である。この交点自体の対応データは不明であるため、それぞれの交点と交わるRB平面上でB軸に平行な直線を想定する。この直線はB軸の格子座標を通過することになる四つのRG平面を貫通する。四つの直線のうちG軸の座標が「G1」である点に注目し、各交点を同図にて●点で示している。その座標は(Rp,G1,B1)、(Rp,G1,B2)、(Rp,G1,B3)、(Rp,G1,B4)であり、まだ対応データは不明である。しかしながら、これらの交点を通過するR軸に平行な直線を想定すると、今度は全て格子点を通過する。すなわち、交点(Rp,G1,B1)を通過する直線は(R1,G1,B1)、(R2,G1,B1)、(R3,G1,B1)、(R4,G1,B1)を通過する。   First, assuming a straight line parallel to the G-axis direction passing through point P (point of Δ in the figure), the straight line passes through four RB planes that pass through the lattice coordinates of the G axis. Each intersection is indicated by a circle in the figure, and its coordinates are (Rp, G4, Bp), (Rp, G3, Bp), (Rp, G2, Bp), (Rp, G1, Bp). is there. Since the correspondence data of this intersection point itself is unknown, a straight line parallel to the B axis is assumed on the RB plane intersecting each intersection point. This straight line passes through the four RG planes that pass through the lattice coordinates of the B axis. Of the four straight lines, attention is paid to the point where the coordinate of the G axis is “G1”, and each intersection is indicated by a dot in the figure. The coordinates are (Rp, G1, B1), (Rp, G1, B2), (Rp, G1, B3), (Rp, G1, B4), and the corresponding data is still unknown. However, assuming a straight line parallel to the R axis passing through these intersections, all of them now pass through the grid points. That is, the straight line passing through the intersection (Rp, G1, B1) passes through (R1, G1, B1), (R2, G1, B1), (R3, G1, B1), (R4, G1, B1).

これを逆に遡ることにすれば、四つの(R1,G1,B1)、(R2,G1,B1)、(R3,G1,B1)、(R4,G1,B1)から一つの●点の対応データを得ることができることになり、同様にして四つの●点の対応データを得たときには一つの○点の対応データを得ることができる。これを繰り返せば四つの○点の対応データを得ることができ、そうなれば△点の対応データを算出できるようになる。   If this is traced back, the correspondence of one dot from the four (R1, G1, B1), (R2, G1, B1), (R3, G1, B1), (R4, G1, B1) Data can be obtained, and in the same way, when the correspondence data of the four dots are obtained, the correspondence data of one circle can be obtained. By repeating this, it is possible to obtain the correspondence data of the four points, and if so, the correspondence data of the points Δ can be calculated.

かかる過程のより具体的な演算を図12に示しており、一番内側のネストではi=1〜4とした四つの格子点の対応データD(Ri,Gj,Bk)を利用し、R軸方向での成分値Rpでの対応データf(j)(●点の対応データ)を算出している。j=1〜4として四つのf(j)が得られれば、一つ上のネスト内ではこれを利用してB軸方向での成分値Bpでの対応データg(k)(○点の対応データ)を算出する。そして、k=1〜4として四つのg(k)が得られれば、一番上のネスト内ではこれを利用してh(△点の対応データ)が算出できる。   A more specific calculation of this process is shown in FIG. 12, and in the innermost nest, correspondence data D (Ri, Gj, Bk) of four lattice points with i = 1 to 4 is used, and the R axis Corresponding data f (j) (corresponding data of points ●) with the component value Rp in the direction is calculated. If four f (j) are obtained with j = 1 to 4, the corresponding data g (k) (corresponding to the ○ points) in the component value Bp in the B-axis direction is used in the upper nest. Data). If four g (k) are obtained with k = 1 to 4, h (corresponding data of Δ points) can be calculated using this in the uppermost nest.

図10に示すフローチャートに戻ると、ステップS310では所属格子グループの特定を実行する。図11及び図12に示すように各軸方向に四つの格子点を固定して演算を実行すると容易であるため、演算のルーチンをこの立方体の座標値を利用して実行できるサブルーチン化している。従って、格子点を補間する演算を実行する前に当該格子点を含むような各軸方向に四つの格子点からなる立方体を特定する。そして、ステップS320ではこの立方体の格子点における対応データを同ワークエリアへ移動させる。   Returning to the flowchart shown in FIG. 10, in step S310, the assigned lattice group is specified. As shown in FIG. 11 and FIG. 12, it is easy to execute the calculation with four grid points fixed in each axis direction. Therefore, the calculation routine is made into a subroutine that can be executed using the coordinate values of the cube. Therefore, before executing the operation for interpolating the lattice points, a cube composed of four lattice points in each axial direction including the lattice points is specified. In step S320, the correspondence data at the lattice points of the cube is moved to the work area.

ワークエリアでは図11に示す関係が特定されるため、続くステップS330では図12に示すネスト処理で非線形演算を実行する。なお、ワークエリアへ移動させる際には各軸方向へのオフセットが生じるため、移動させる際にオフセット量を保存し、増加する格子点についてもその座標値に同オフセット量を考慮した座標値(Rp,Gp,Bp)で計算する。なお、図12においては三次元での補間に対応して三段階のネストの処理となっているが、さらに高次元での補間に対応してネスト処理することも可能である。   Since the relationship shown in FIG. 11 is specified in the work area, in the subsequent step S330, the non-linear operation is executed by the nest processing shown in FIG. When moving to the work area, an offset in each axis direction occurs. Therefore, the offset amount is stored when moving, and the coordinate value (Rp) considering the offset amount is also added to the coordinate value of the increasing grid point. , Gp, Bp). In FIG. 12, the nesting process is performed in three stages corresponding to the three-dimensional interpolation. However, it is possible to perform the nesting process corresponding to the higher-dimensional interpolation.

このようにして元色変換テーブル21b2cの格子点以外の格子点で非線形演算を施していくことにより、各軸のループ処理を終了したときに完全な色変換テーブル21b2bを得ることができる。   In this way, by performing non-linear calculation at grid points other than the grid points of the original color conversion table 21b2c, a complete color conversion table 21b2b can be obtained when the loop processing for each axis is completed.

上述した実施形態においては、非線形演算の具体的な処理としてラグランジュの補間公式を利用しているが、他の演算を利用することも可能であり、例えば、スプライン(spline)補間も可能である。スプライン補間は導関数まで連続性を有する利用ができ、この意味で導関数の連続性が問題となる場合に備えた硬めの補間である。ただし、計算は複雑とならざるを得ず、このスプライン補間演算の具体的な実行方法をC言語で示したコーディングリストを図13に示している。   In the above-described embodiment, Lagrange's interpolation formula is used as a specific process of the non-linear operation. However, other operations can be used, for example, spline interpolation. Spline interpolation can be used with continuity up to the derivative, and in this sense, it is a stiff interpolation in case the continuity of the derivative becomes a problem. However, the calculation has to be complicated, and FIG. 13 shows a coding list showing the specific execution method of the spline interpolation calculation in C language.

また、他の非線形の補間演算として、ネビル(Neville)補間であったり、ニュートン(Newton)補間などを利用可能である。これらの場合は、数値的にも計算が楽になる。   In addition, as other nonlinear interpolation calculations, Neville interpolation, Newton interpolation, or the like can be used. In these cases, the calculation is easy numerically.

一方、上述した格子点については格子間隔を一定としている。これにより、特定の立方体をワークエリアとして対応データを移動させてしまい、演算を分かりやすく実行することができるようになる。しかしながら、必ずしも格子間隔が一定でなければならないわけではなく、格子間隔などを加味した係数などを利用して実行することも可能である。   On the other hand, the lattice spacing is constant for the lattice points described above. As a result, the corresponding data is moved using the specific cube as a work area, and the calculation can be executed in an easy-to-understand manner. However, the lattice spacing does not necessarily have to be constant, and it is also possible to execute using a coefficient that takes into account the lattice spacing.

さらに、上述した実施形態においては、ステップS220の補間演算処理で図10〜図12に示す非線形補間を利用しているが、図14〜図19に示すように線形補間を利用することも可能である。   Furthermore, in the above-described embodiment, the non-linear interpolation shown in FIGS. 10 to 12 is used in the interpolation calculation processing in step S220, but linear interpolation can also be used as shown in FIGS. is there.

図14には格子点を増加する前の格子点位置を白丸で示すとともに、格子点を増加した後の格子点位置を黒丸で示しており、演算の簡易のため、格子間隔を半分にする位置に新たな格子点を設けている。従って、図に示す当初の格子番号は括弧書きのような丁度二倍の格子番号となる。なお、当初の格子点の数を仮に「i」として説明する。また、図15は線形補間の処理を実行するCPUの手順をフローチャートにより示しており、図16は最初の対応データの移動の状況を示しており、図17は補間される格子点を示しており、図18は補間演算の状況を示している。   In FIG. 14, the positions of the lattice points before increasing the lattice points are indicated by white circles, and the positions of the lattice points after the increase of the lattice points are indicated by black circles. A new grid point is provided. Therefore, the initial lattice number shown in the figure is exactly twice the lattice number as shown in parentheses. It is assumed that the initial number of grid points is “i”. FIG. 15 is a flowchart showing the procedure of the CPU that executes the linear interpolation process, FIG. 16 shows the state of the first corresponding data movement, and FIG. 17 shows the lattice points to be interpolated. FIG. 18 shows the state of the interpolation calculation.

格子点間を半分とする格子点を各軸に形成するものとすると、補間前の格子点の格子座標は図14の括弧書きに示すように自動的に(0,2,4,6,8…)となり、その間を補間することになる。図15に示すフローチャートに戻ると、まず、CPUはステップS410にて既にテーブル内にある格子点データを新たなテーブルの所定位置に移行する処理を行う。例えば、図16に示すように、格子座標(0,0,0)の対応データは新たなテーブルの格子座標(0,0,0)の対応データとして、格子座標(0,0,1)の対応データは新たなテーブルの格子座標(0,0,2)の対応データとして、格子座標(0,0,2)の対応データは新たなテーブルの格子座標(0,0,4)の対応データとしてというようにして移行していく。   Assuming that lattice points with half the distance between lattice points are formed on each axis, the lattice coordinates of the lattice points before interpolation are automatically (0, 2, 4, 6, 8) as shown in parentheses in FIG. ...) and interpolate between them. Returning to the flowchart shown in FIG. 15, first, in step S <b> 410, the CPU performs a process of moving grid point data already in the table to a predetermined position in the new table. For example, as shown in FIG. 16, the correspondence data of the lattice coordinates (0, 0, 0) is the correspondence data of the lattice coordinates (0, 0, 0) of the new table. The correspondence data is the correspondence data of the grid coordinates (0, 0, 2) of the new table, and the correspondence data of the grid coordinates (0, 0, 2) is the correspondence data of the grid coordinates (0, 0, 4) of the new table. And so on.

線形補間で格子点を補間する場合、周囲の八つの格子点からなる格子立法体内の位置によって演算が異なる。すなわち、辺上に存在する格子点の場合は両側の二点の格子点から補間されるし、面上に存在する格子点の場合は周辺の四つの格子点から補間されるし、中心に存在するものの場合は八つの格子点から補間される。   When interpolating lattice points by linear interpolation, the calculation differs depending on the position in the lattice body consisting of eight surrounding lattice points. That is, in the case of a grid point existing on the side, it is interpolated from two grid points on both sides, and in the case of a grid point existing on the surface, it is interpolated from the surrounding four grid points and exists at the center. If it does, it is interpolated from eight grid points.

格子点を増加する順序として、まず、ステップS420では格子辺上で格子点を生成する処理を実行する。CPUの演算処理では各軸毎にパラメータを与えてネストしたループで処理を行うため、図中においてもブロックを入れ子状に表示している。   As an order of increasing the grid points, first, in step S420, processing for generating grid points on the grid sides is executed. In the arithmetic processing of the CPU, parameters are given for each axis and processing is performed in a nested loop. Therefore, blocks are also nested in the figure.

パラメータは各軸ともに「0」、「2」、「4」、「6」、「8」…と与え、R軸方向についていえば格子座標(1,0,0)の対応データを格子座標(0,0,0),(2,0,0)のデータから生成する。即ち、図18に示すように、格子座標(0,0,0)の対応データX1と格子座標(2,0,0)の対応データX2とを足し、その結果X3を「2」で割ったものX4となる。ここにおいて「2」の除算は二進数データにおいて1ビットの右シフトに対応し、極めて容易に実行できる。むろん、最初に1ビットの右シフトを実行しておいてから足しても良く、この場合は演算過程でのオーバーフローを防止できる。以下、このパラメータの全組合せから格子辺上の格子点を生成する。   The parameters are given as “0”, “2”, “4”, “6”, “8”, etc. for each axis, and the corresponding data of the grid coordinate (1, 0, 0) in the R-axis direction is set to the grid coordinate ( 0,0,0) and (2,0,0). That is, as shown in FIG. 18, the correspondence data X1 of the lattice coordinates (0, 0, 0) and the correspondence data X2 of the lattice coordinates (2, 0, 0) are added, and the result X3 is divided by “2”. It becomes thing X4. Here, the division of “2” corresponds to a 1-bit right shift in binary data, and can be executed very easily. Of course, it may be added after first performing a 1-bit right shift. In this case, overflow in the calculation process can be prevented. Hereinafter, lattice points on the lattice side are generated from all combinations of the parameters.

ステップS430では格子面上で格子点を生成する処理を実行する。この場合もネストしたループで処理を行うため、各軸のパラメータとして「0」、「2」、「4」、「6」、「8」と与え、RG面と平行な面についていえば格子座標(1,1,0)の対応データを格子座標(0,0,0),(0,2,0),(2,0,0),(2,2,0)のデータから生成する。この場合は四つの格子点の平均値を取ることになり、四つのデータを足してから「4」で割ればよい。なお、「4」の除算は二進数データにおいて2ビットの右シフトに対応し、極めて容易に実行でき、以下、このパラメータの全組合せから格子面上の格子点は生成される。   In step S430, processing for generating lattice points on the lattice surface is executed. In this case as well, since processing is performed in a nested loop, “0”, “2”, “4”, “6”, “8” are given as parameters for each axis, and the grid coordinates for the plane parallel to the RG plane Corresponding data of (1, 1, 0) is generated from data of lattice coordinates (0, 0, 0), (0, 2, 0), (2, 0, 0), (2, 2, 0). In this case, the average value of the four grid points is taken, and the four data may be added and then divided by “4”. The division of “4” corresponds to a 2-bit right shift in binary data and can be executed very easily. Hereinafter, lattice points on the lattice plane are generated from all combinations of these parameters.

最後に、ステップS440では中心点の格子点を生成する処理を実行する。この場合は、各軸のパラメータとして「1」、「3」、「5」、「7」…と与え、格子座標(1,1,1)の対応データは周縁の八つの格子座標(0,0,0),(0,0,2),(0,2,0),(0,2,2),(2,0,0),(2,0,2),(2,2,0),(2,2,2)の対応データから生成する。この場合は八つの格子点の平均値を取ることになり、オーバーフローしないように3ビットの右シフトを実行してから足し合わせればよい。以下、このパラメータの全組合せから全中心点の格子点が生成される。   Finally, in step S440, a process of generating a center point lattice point is executed. In this case, “1”, “3”, “5”, “7”... Are given as parameters for each axis, and the corresponding data of the lattice coordinates (1, 1, 1) is eight lattice coordinates (0, 0,0), (0,0,2), (0,2,0), (0,2,2), (2,0,0), (2,0,2), (2,2, 0), (2, 2, 2). In this case, the average value of the eight grid points is taken, and it is sufficient to add them after performing a 3-bit right shift so as not to overflow. Thereafter, lattice points of all center points are generated from all combinations of the parameters.

以上の処理を行うことによって格子点の補間が終了する。本実施形態においては格子間隔を半分にするように格子点を増加させているが、この例に限らず、必要に応じて適宜増減可能であり、記憶資源の許容範囲内で格子点を増加させればよい。   By performing the above processing, the interpolation of grid points is completed. In the present embodiment, the grid points are increased so that the grid interval is halved. However, the present invention is not limited to this example, and the grid points can be increased or decreased as necessary, and the grid points are increased within the allowable range of storage resources. Just do it.

また、上述した線形補間演算でも格子点の格子間隔が一定となっているが、線形補間においては格子間隔を適宜変えたとしても演算の基本は両側の二点の対応データにしか過ぎないため、格子間隔を変えたとしても演算は容易である。従って、対応データの変化カーブが大きい部分では格子間隔を細かくすることにより、演算容易のまま補間精度を向上させることができる。   In addition, although the lattice interval of the lattice points is constant in the linear interpolation calculation described above, even if the lattice interval is appropriately changed in the linear interpolation, the basis of the calculation is only correspondence data of two points on both sides. Even if the lattice spacing is changed, the calculation is easy. Therefore, the interpolation accuracy can be improved while facilitating calculation by reducing the lattice spacing in the portion where the change curve of the corresponding data is large.

一方、非線形補間においても線形補間においても、増加させる格子点を必ずしも一定とする必要はなく、必要に応じて変化させることも可能である。   On the other hand, in both the non-linear interpolation and the linear interpolation, the grid points to be increased are not necessarily fixed, and can be changed as necessary.

格子点を増加させる処理の一例として、図19のフローチャートには、システムの機器構成に応じてテーブル生成するシステム対応格子点増加処理を示している。   As an example of the process of increasing the grid points, the flowchart of FIG. 19 shows a system-corresponding grid point increasing process for generating a table in accordance with the system configuration of the system.

この例では、ステップS510にて演算能力を表すCPUの種類の入力を行ない、ステップS520にて同様に演算速度を表すクロックの入力を行い、ステップS530にて演算能力や演算速度に影響するメモリ容量の入力を行い、ステップS540にて生成先のハードディスクの残り容量を入力する。   In this example, the CPU type representing the computing capacity is input in step S510, the clock representing the computing speed is similarly input in step S520, and the memory capacity that affects the computing capacity and the computing speed in step S530. In step S540, the remaining capacity of the generation destination hard disk is input.

そして、これらの組合せに対応して予め設定されているシステム対応テーブルをステップS550にて参照し、最も適切な格子点の数を読み出す。格子点の数を得られたらステップS560にて格子点増加処理を行う。このシステム対応テーブルに記憶されている格子点の数は、一般的な傾向として、演算能力や演算速度が速ければ格子の間隔が大きくなり、ハードディスクの残り容量が多ければ格子の間隔は小さくなるといったように設定しておけばよい。むろん、機器構成の入力要素はこれらに限るものではないし、その軽重も一定ではない。例えば、ハードディスクの残り容量が多い場合、キャッシュとの兼ね合いもあるもののフルサイズのテーブルを作成することも不可能ではない。   In step S550, the system correspondence table set in advance corresponding to these combinations is referred to, and the most appropriate number of grid points is read out. When the number of grid points is obtained, a grid point increasing process is performed in step S560. As a general tendency, the number of grid points stored in this system correspondence table increases as the calculation capacity and calculation speed increase, and increases as the remaining capacity of the hard disk increases. You should set it like this. Of course, the input elements of the device configuration are not limited to these, and the weight is not constant. For example, when the remaining capacity of the hard disk is large, it is not impossible to create a full-size table although there is a balance with the cache.

この場合、ユーザの使用環境として印刷する対象が写真などのビットマップ系のデータが多いかあるいはドローデータ系のデータが多いかをステップS540とステップS550との間で問い合わせるようにしても良い。そして、ビットマップ系のデータが多いならば、写真などの色再現性に重きを置かれている環境を想定して格子点の数を大きくすれば良いし、ドローデータ系のデータが多いならばビジネスグラフなどの色再現性があまり重要でない環境を想定して格子点の数を小さくすれば良い。   In this case, it may be inquired between step S540 and step S550 as to whether or not there are a lot of bitmap data such as photographs or a lot of draw data data as a user's usage environment. And if there is a lot of bitmap data, the number of grid points can be increased assuming an environment that emphasizes color reproducibility such as photographs, and if there is a lot of draw data data Assuming an environment where color reproducibility such as a business graph is not so important, the number of grid points may be reduced.

これまではインストール時に格子点の増加処理を行って色変換テーブル21b2bを生成するようにしているが、印刷時に必要なサイズの色変換テーブル21b2bをコンピュータ21のRAM等の高速アクセス可能な記憶部に生成するようにしてもよい。通常時は小さな元色変換テーブル21b2cをハードディスクに格納しておき、印刷実行時に必要なサイズの色変換テーブル21b2bを高速アクセス可能なRAM上に作るメリットは非常に大きい。むろんこの場案もハードディスクの場合と同様に、RAMでの利用可能な残り容量や、出力する画像データの量、望まれる出力品質等を参酌しながら格子の間隔を設定して展開するサイズを決めればよい。   Until now, the grid conversion process 21b2b is generated by increasing the grid points at the time of installation. However, the color conversion table 21b2b having a size necessary for printing is stored in a high-speed accessible storage unit such as a RAM of the computer 21. You may make it produce | generate. In normal times, a small original color conversion table 21b2c is stored in the hard disk, and the merit of creating the color conversion table 21b2b of a size necessary for printing on the RAM that can be accessed at high speed is very great. Of course, as in the case of hard disks, the size to be developed can be determined by setting the grid spacing in consideration of the remaining capacity available in the RAM, the amount of image data to be output, the desired output quality, etc. That's fine.

図3に示すように、アプリケーション21dが印刷する場合にはオペレーティングシステム21aを介してプリンタドライバ21bが起動されるが、このときにファイルタイプがプリンタドライバ21bに渡される。プリンタドライバ21bではこの時のファイルタイプ(例えば、bmpなど)からビットマップ系であるのかドローデータ系であるのかを判断し、それに対応した格子点の数を設定して色変換テーブル21b2bを生成する。この格子点の数の大きさについては上述したインストーラによる場合と同様の傾向で設定すればよい。むろん、入力データの種類を判別する方法としてはこのようなファイルタイプだけに限らず、実際の入力データの色数が多いか少ないかなどによって判断しても良いし、オペレーティングシステムがオブジェクトの種類を判別してプリンタドライバに通知するようにしても良い。   As shown in FIG. 3, when the application 21d performs printing, the printer driver 21b is activated via the operating system 21a. At this time, the file type is passed to the printer driver 21b. The printer driver 21b determines whether it is a bitmap system or a draw data system from the file type (for example, bmp) at this time, sets the number of grid points corresponding to the bitmap system, and generates the color conversion table 21b2b. . What is necessary is just to set about the magnitude | size of the number of this grid point with the tendency similar to the case by the installer mentioned above. Of course, the method of determining the type of input data is not limited to such a file type, and it may be determined based on whether the actual input data has a large or small number of colors, or the operating system determines the type of object. It may be determined and notified to the printer driver.

このように、画像処理装置20を構成するコンピュータ21にてインストーラが実行されると、ステップS130で元色変換テーブル21b2cから色変換テーブル21b2bを生成するが、このときの格子点増加処理では、ステップS430におけるラグランジュの補間公式を利用した非線形補間演算で格子点を増加させたり、線形補間で格子点を増加させるなどし、また、その際に固定した格子点の数であっても良いし環境や入力画像に応じた格子点の数としてもよく、小さなサイズの元色変換テーブル21b2cから適切なサイズの色変換テーブル21b2bを生成することができる。   As described above, when the installer is executed by the computer 21 constituting the image processing apparatus 20, the color conversion table 21b2b is generated from the original color conversion table 21b2c in step S130. In S430, the number of grid points may be increased by nonlinear interpolation calculation using Lagrange's interpolation formula, the number of grid points may be increased by linear interpolation, etc. The number of grid points may correspond to the input image, and the color conversion table 21b2b having an appropriate size can be generated from the original color conversion table 21b2c having a small size.

本発明の一実施形態にかかる色変換テーブルの製造装置を適用した画像処理システムのブロック図である。1 is a block diagram of an image processing system to which a color conversion table manufacturing apparatus according to an embodiment of the present invention is applied. 同画像処理システムの具体的ハードウェア構成例のブロック図である。It is a block diagram of a specific hardware configuration example of the image processing system. コンピュータのソフトウェア構成を示すブロック図である。It is a block diagram which shows the software configuration of a computer. 三次元ルックアップテーブルの概念を示す図である。It is a figure which shows the concept of a three-dimensional lookup table. インストールプログラムのフローチャートである。It is a flowchart of an installation program. ラグランジュの補間演算をC言語でコーディングした図である。It is the figure which coded Lagrange's interpolation calculation in C language. 元色変換テーブルの格子座標を示す図である。It is a figure which shows the lattice coordinate of an original color conversion table. 元色変換テーブルと色変換テーブルのファイル構成を示す図である。It is a figure which shows the file structure of an original color conversion table and a color conversion table. 格子点増加処理プログラムのフローチャートである。It is a flowchart of a lattice point increase processing program. 非線形補間プログラムのフローチャートである。It is a flowchart of a non-linear interpolation program. ラグランジュの補間公式で非線形補間する場合の手順を示す概念図である。It is a conceptual diagram which shows the procedure in the case of nonlinear interpolation by the Lagrange interpolation formula. ラグランジュ補間演算に対応したフローチャートである。It is a flowchart corresponding to Lagrange interpolation calculation. スプライン補間演算をC言語でコーディングした図である。It is the figure which coded the spline interpolation calculation in C language. 格子点を増加する前後の格子座標を示す説明図である。It is explanatory drawing which shows the lattice coordinate before and behind increasing a lattice point. 線形補間の格子点増加処理プログラムのフローチャートである。It is a flowchart of a lattice point increase processing program for linear interpolation. 元色変換テーブルと色変換テーブルのファイル構成を示す図である。It is a figure which shows the file structure of an original color conversion table and a color conversion table. 補間される格子点の位置を示す概略説明図である。It is a schematic explanatory drawing which shows the position of the lattice point to be interpolated. ビットシフトを併用した演算の状態を示す説明図である。It is explanatory drawing which shows the state of the calculation which used bit shift together. システム対応格子点増加処理プログラムのフローチャートである。It is a flowchart of a system corresponding | compatible grid point increase processing program.

符号の説明Explanation of symbols

20…画像処理装置
21…コンピュータ
21a…オペレーティングシステム
21b…プリンタドライバ
21b1…ラスタライザ
21b2…色変換部
21b2a…色変換用ソフトウェア
21b2b…色変換テーブル
21b2c…元色変換テーブル
21b3…階調変換部
21c…ビデオドライバ
21d…アプリケーション
22…ハードディスク
23…ドライブ装置
24…CD−ROM

DESCRIPTION OF SYMBOLS 20 ... Image processing apparatus 21 ... Computer 21a ... Operating system 21b ... Printer driver 21b1 ... Rasterizer 21b2 ... Color conversion unit 21b2a ... Color conversion software 21b2b ... Color conversion table 21b2c ... Original color conversion table 21b3 ... Tone conversion unit 21c ... Video Driver 21d ... Application 22 ... Hard disk 23 ... Drive device 24 ... CD-ROM

Claims (9)

異なる表色空間の間で階調表色データを変換するために変換元の表色空間に複数の格子点を設定し、この格子点に変換先の表色空間での階調表色データを対応させた色変換テーブルを参照して印刷用の画像データを生成する印刷制御装置であって、
印刷制御のためのドライバプログラムと少数の格子点において変換の対応関係を示す元色変換テーブルを記憶する補助記憶装置と、
上記ドライバプログラムによって、印刷を実行するにあたり、
上記元色変換テーブルの格子点を非線形補間演算によって増加させてコンピュータの主記憶領域に上記色変換テーブルを生成する補間手段と、
生成された色変換テーブルに基づいて線形補間を行って上記印刷用の画像データを生成する手段とを実現することを特徴とする印刷制御装置。
In order to convert gradation color specification data between different color specification spaces, a plurality of grid points are set in the conversion source color specification space, and the gradation color specification data in the conversion destination color specification space is set to these lattice points. A print control apparatus that generates image data for printing with reference to a corresponding color conversion table,
An auxiliary storage device for storing a driver program for print control and a primary color conversion table indicating a correspondence relationship of conversion at a small number of grid points;
When executing printing with the above driver program,
Interpolation means for increasing the lattice points of the original color conversion table by nonlinear interpolation to generate the color conversion table in the main memory area of the computer;
A printing control apparatus that realizes a means for generating image data for printing by performing linear interpolation based on a generated color conversion table.
上記請求項1に記載の印刷制御装置において、上記補間手段は、複数の格子点の対応関係から非線形補間演算で補間する非線形補間演算手段を具備することを特徴とする印刷制御装置。   2. The printing control apparatus according to claim 1, wherein the interpolation means includes nonlinear interpolation calculation means for performing interpolation by nonlinear interpolation calculation from a correspondence relationship between a plurality of grid points. 上記請求項2に記載の印刷制御装置において、上記元色変換テーブルは、均等な間隔の格子点となっていることを特徴とする印刷制御装置。   3. The print control apparatus according to claim 2, wherein the original color conversion table includes lattice points with equal intervals. 上記請求項1に記載の印刷制御装置において、上記補間手段は、複数の格子点の対応関係から線形補間演算で補間する線形補間演算手段を具備することを特徴とする印刷制御装置。   2. The print control apparatus according to claim 1, wherein the interpolation means includes linear interpolation calculation means for performing interpolation by linear interpolation calculation from a correspondence relationship between a plurality of grid points. 上記請求項1〜請求項4のいずれかに記載の印刷制御装置において、上記補間手段は、増加させる格子点の数を環境に応じて設定することを特徴とする印刷制御装置。   5. The print control apparatus according to claim 1, wherein the interpolation means sets the number of grid points to be increased according to the environment. 上記請求項1〜請求項4のいずれかに記載の印刷制御装置において、上記補間手段は、増加させる格子点の数を変換画像の種類に応じて設定することを特徴とする印刷制御装置。   5. The print control apparatus according to claim 1, wherein the interpolation unit sets the number of grid points to be increased according to the type of the converted image. 上記請求項1に記載の印刷制御装置において、上記色変換テーブルはコンピュータにて参照するとともに、通常時は同コンピュータの補助記憶装置に上記元色変換テーブルを記憶するとともに、同色変換テーブルの参照実行時に上記コンピュータの主記憶領域に展開することを特徴とする印刷制御装置。   2. The print control apparatus according to claim 1, wherein the color conversion table is referred to by a computer, and at the normal time, the original color conversion table is stored in an auxiliary storage device of the computer and the color conversion table is referenced. A print control apparatus that is sometimes expanded in a main storage area of the computer. 異なる表色空間の間で階調表色データを変換するために変換元の表色空間に複数の格子点を設定し、この格子点に変換先の表色空間での階調表色データを対応させた色変換テーブルを参照して印刷用の画像データを生成する印刷制御方法であって、
印刷制御のためのドライバプログラムと少数の格子点において変換の対応関係を示す元色変換テーブルを補助記憶装置に記憶しておき、
上記ドライバプログラムによって、印刷を実行するにあたり、
上記元色変換テーブルの格子点を非線形補間演算によって増加させてコンピュータの主記憶領域に上記色変換テーブルを生成し、
生成された色変換テーブルに基づいて線形補間を行って上記印刷用の画像データを生成することを特徴とする印刷制御方法。
In order to convert gradation color specification data between different color specification spaces, a plurality of grid points are set in the conversion source color specification space, and the gradation color specification data in the conversion destination color specification space is set to these lattice points. A print control method for generating image data for printing with reference to a corresponding color conversion table,
A driver program for print control and a primary color conversion table showing the correspondence of conversion at a small number of grid points are stored in the auxiliary storage device,
When executing printing with the above driver program,
Increase the grid points of the original color conversion table by nonlinear interpolation to generate the color conversion table in the main memory area of the computer,
A printing control method, wherein linear printing is performed based on the generated color conversion table to generate the image data for printing.
異なる表色空間の間で階調表色データを変換するために変換元の表色空間に複数の格子点を設定し、この格子点に変換先の表色空間での階調表色データを対応させた色変換テーブルを参照して印刷用の画像データを生成する印刷制御プログラムを記録した記録媒体であって、
印刷制御のためのドライバプログラムと少数の格子点において変換の対応関係を示す元色変換テーブルを補助記憶装置に記憶しておき、
上記ドライバプログラムによって、印刷を実行するにあたり、
上記元色変換テーブルの格子点を非線形補間演算によって増加させてコンピュータの主記憶領域に上記色変換テーブルを生成する補間機能と、
生成された色変換テーブルに基づいて線形補間を行って上記印刷用の画像データを生成する機能とをコンピュータに実現させることを特徴とする印刷制御プログラムを記録した記録媒体。

In order to convert gradation color specification data between different color specification spaces, a plurality of grid points are set in the conversion source color specification space, and the gradation color specification data in the conversion destination color specification space is set to these lattice points. A recording medium recording a print control program for generating image data for printing with reference to a corresponding color conversion table,
A driver program for print control and a primary color conversion table showing the correspondence of conversion at a small number of grid points are stored in the auxiliary storage device,
When executing printing with the above driver program,
An interpolation function for generating the color conversion table in the main memory area of the computer by increasing the lattice points of the original color conversion table by nonlinear interpolation;
A recording medium on which a printing control program is recorded, characterized in that a computer realizes a function of performing linear interpolation based on a generated color conversion table to generate image data for printing.

JP2005168249A 1996-10-24 2005-06-08 Printing control apparatus, printing control method, and computer-readable recording medium recording printing control program Expired - Fee Related JP3962930B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005168249A JP3962930B2 (en) 1996-10-24 2005-06-08 Printing control apparatus, printing control method, and computer-readable recording medium recording printing control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP28272696 1996-10-24
JP2005168249A JP3962930B2 (en) 1996-10-24 2005-06-08 Printing control apparatus, printing control method, and computer-readable recording medium recording printing control program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP27469797A Division JP3705316B2 (en) 1996-10-24 1997-10-07 Printing control apparatus, printing control method, and recording medium

Publications (2)

Publication Number Publication Date
JP2005348421A true JP2005348421A (en) 2005-12-15
JP3962930B2 JP3962930B2 (en) 2007-08-22

Family

ID=35500301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005168249A Expired - Fee Related JP3962930B2 (en) 1996-10-24 2005-06-08 Printing control apparatus, printing control method, and computer-readable recording medium recording printing control program

Country Status (1)

Country Link
JP (1) JP3962930B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940434B2 (en) 2006-01-05 2011-05-10 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, method of image processing, and a computer-readable storage medium storing an image processing program
JP2011223345A (en) * 2010-04-09 2011-11-04 Seiko Epson Corp Apparatus, method, and program for creating color conversion profile, and printer
WO2013099007A1 (en) * 2011-12-28 2013-07-04 キヤノン株式会社 Data generation method and data generation device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940434B2 (en) 2006-01-05 2011-05-10 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, method of image processing, and a computer-readable storage medium storing an image processing program
JP2011223345A (en) * 2010-04-09 2011-11-04 Seiko Epson Corp Apparatus, method, and program for creating color conversion profile, and printer
WO2013099007A1 (en) * 2011-12-28 2013-07-04 キヤノン株式会社 Data generation method and data generation device
US8792134B2 (en) 2011-12-28 2014-07-29 Canon Kabushiki Kaisha Data generation method and data generation apparatus

Also Published As

Publication number Publication date
JP3962930B2 (en) 2007-08-22

Similar Documents

Publication Publication Date Title
JP2006197080A (en) Smoothing of lattice point arrangement
JP2003283854A (en) Method for correcting color image data using correction table
JP4844331B2 (en) Image data processing method and apparatus
JP2002016939A (en) Method and apparatus for processing image as well as recording medium
JPH1075375A (en) Image processing unit, image processing system, and method for generating image processing screen
JP3705316B2 (en) Printing control apparatus, printing control method, and recording medium
JP3962930B2 (en) Printing control apparatus, printing control method, and computer-readable recording medium recording printing control program
US6825958B1 (en) Device and method of fabricating color conversion table and medium recording program for forming color conversion table
JP2005210740A (en) Manufacturing apparatus and manufacturing method and recording medium of color conversion table
JP2019146037A (en) Image processing apparatus and method for controlling the same, and program
JP5036526B2 (en) Conversion table compression method and program
KR100197948B1 (en) Image registration apparatus
JP2002015314A (en) Image outputting method, device, and storage medium
JPH10173951A (en) Device and method for manufacturing color conversion table, and recording medium
JP2005210339A (en) Image processor, print controller, and image processing method and program
JP2005073025A (en) Image processing device, and image processing programs making computer execute image processing
JP2001186367A (en) Manufacturing method for color conversion table, color conversion table generated by the same, manufacturing device and recording medium
JP3815514B2 (en) High-speed pixel interpolation method and image processing apparatus for enlarged image
JP2008160476A (en) Image processor and its processing method
JP6617637B2 (en) Color conversion table creation program, color conversion table creation device, and color conversion table creation method
JP4462088B2 (en) Image processing apparatus and program
JP2009141903A (en) Method of processing color and image processing unit
JP5106436B2 (en) Color conversion apparatus and color conversion processing method
JP4710538B2 (en) Color conversion apparatus, color conversion method, and color conversion program
JP2004104603A (en) Image processor, image processing method, storage medium and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070508

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130601

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130601

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees