JPH10150578A - Color image conversion method - Google Patents

Color image conversion method

Info

Publication number
JPH10150578A
JPH10150578A JP9287074A JP28707497A JPH10150578A JP H10150578 A JPH10150578 A JP H10150578A JP 9287074 A JP9287074 A JP 9287074A JP 28707497 A JP28707497 A JP 28707497A JP H10150578 A JPH10150578 A JP H10150578A
Authority
JP
Japan
Prior art keywords
color
cube
color space
data
points
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.)
Pending
Application number
JP9287074A
Other languages
Japanese (ja)
Inventor
Jay S Gondek
ジェイ・エス・ゴンデク
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10150578A publication Critical patent/JPH10150578A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6058Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Image Processing (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the accuracy of color conversion, without increasing a capacity of a memory. SOLUTION: The color image conversion method coverts an image dot group in an input color space into a group in an output color space, and 1st control point group (p0, p1, p2, p3, p4, p5, p6, p7) is provided in an input color space. The 1st control point group is placed to each apex of a cube in the input color space, and a 2nd control point group (p8) is provided to the input color space. The 2nd control point group is placed in the inside of the cube and each the 1st and 2nd control point group has a corresponding output value group in the output color space to interpolate an image point, based on the 1st and 2nd control point group.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は一般的にはカラー画
像の処理に関し、特に画像を(カラーCRTモニタ等の)
入力色空間から(カラープリンタ等の)出力色空間に変
換する方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to the processing of color images, and more particularly to processing images (such as a color CRT monitor).
It relates to a method for converting from an input color space to an output color space (such as a color printer).

【0002】[0002]

【従来の技術】人間の目による色の知覚は理論的には三
刺激空間あるいは色空間と呼ばれる三次元空間における
3つの色ベクトルによって表わされる。かかる三次元構
造の基礎についてはニューヨーク州John Wiley & Sons,
Inc.より刊行されたBillmeyer、Saltzmanの共著“Prin
ciples of Color Technology”(著作権1981年、第二
版)およびJohn Wiley & Sons, Inc.より刊行されたWys
zecki、Stilesの共著“Color Science; Concepts and M
ethods, Quantative Data and Formulae”(著作権1982
年、第二版)(特に119-130ページ)といった文献に説
明されている。
2. Description of the Related Art The color perception by the human eye is theoretically represented by three color vectors in a three-dimensional space called a tristimulus space or a color space. See John Wiley & Sons, NY, for the basis of such three-dimensional structures.
Inc., Billmeyer and Saltzman, "Prin
ciples of Color Technology ”(copyright 1981, 2nd edition) and Wys published by John Wiley & Sons, Inc.
"Color Science; Concepts and M", co-authored by zecki and Stiles
ethods, Quantative Data and Formulae ”(copyright 1982
(2nd edition) (especially pages 119-130).

【0003】さまざまな三色モデルシステムが開発され
ており、その中には、赤-緑-青(RGB)モデル、シアン-
マゼンタ-黄(および黒)(CMY(K))モデル、色相-飽和
度-値(HSV)モデル、色相-明度-飽和度(HLS)モデ
ル、輝度-赤・緑スケール-黄・青スケール(L*a*b)モ
デル、および商業的カラーテレビ放送に用いられるYIQ
モデル等が含まれる。Addison-Wesley Publishing Comp
any刊、Foley、Van Dam共著の“Fundamentals of Inter
active Computer Graphics”(詳細には606-621ペー
ジ)等の文献に各種の三値カラーモデルが説明されてい
る。
[0003] Various three-color model systems have been developed, including a red-green-blue (RGB) model and a cyan-color model.
Magenta-yellow (and black) (CMY (K)) model, hue-saturation-value (HSV) model, hue-brightness-saturation (HLS) model, luminance-red / green scale-yellow / blue scale (L * a * b) Models and YIQ used for commercial color television broadcasting
Model etc. are included. Addison-Wesley Publishing Comp
"Fundamentals of Inter," co-authored by Foley and Van Dam
Various ternary color models are described in documents such as "Active Computer Graphics" (specifically, pages 606-621).

【0004】スキャナ、陰極線管(CRT)ビデオモニタ
およびプリンタ等の色入力および出力装置は装置依存的
な態様でカラー画像を供給する。たとえば、CRT電子銃
はフレームバッファに記憶されたRGB値(電圧レベルあ
るいは他の入力信号関数であり、ここではデータトリプ
レットと呼ぶ)によって駆動される。CRTがその画面の
1つの画素上にある特定のRGBトリプレット値に対して
生成する色はそれぞれのビデオモニタ装置に固有のもの
となる。同じRGBトリプレットが、異なるCRTモデルで表
示されたときには大きく異なる色すなわち色相を生成
し、またカラープリンタで印刷した場合(紙等の)印刷
媒体上に異なる色を生成する。
[0004] Color input and output devices, such as scanners, cathode ray tube (CRT) video monitors and printers, provide color images in a device dependent manner. For example, a CRT electron gun is driven by an RGB value (a voltage level or other input signal function, referred to herein as a data triplet) stored in a frame buffer. The colors that the CRT generates for a particular RGB triplet value on one pixel of the screen will be unique to each video monitor device. The same RGB triplet produces significantly different colors or hues when displayed on different CRT models, and produces different colors on a print medium (such as paper) when printed on a color printer.

【0005】[0005]

【発明が解決しようとする課題】デジタルデータ処理に
おけるモデルシステム間での色変換(当該技術分野では
色修正およびクロスレンダリングとも呼ぶ)には多くの
問題がある。1つの装置から他の装置へのデータの変換
はかかるシステムの間での等色関係は一般的に非線形で
あるため困難である。したがって、(カラースキャナ、
CRTモニタ、デジタルカメラ、コンピュータソフトウエ
ア/ファームウエア生成等の)入力装置からのオリジナ
ルの画像と(カラーレーザープリンタ、カラーインクジ
ェットプリンタ等の)出力装置における変換後のコピー
との間での色の保全が非常に重要な問題となる。
There are many problems with color conversion (also referred to in the art as color correction and cross-rendering) between model systems in digital data processing. Conversion of data from one device to another is difficult because the color matching relationships between such systems are generally non-linear. Therefore, (color scanner,
Color preservation between original images from input devices (such as CRT monitors, digital cameras, computer software / firmware generation, etc.) and converted copies on output devices (such as color laser printers, color inkjet printers, etc.) Is a very important issue.

【0006】上記の参考文献に述べるように、色は加色
混合の三原色、赤、緑および青(RGB)あるいは減法混
合の原色、シアン、マゼンタ、黄および黒(CMYK)のレ
ンダリングとして作成することができる。変換は、RGB
色空間(たとえばコンピュータビデオモニタ)からCMYK
色空間(たとえばカラーインクジェットプリンタ)への
移行を必要とする場合がある。ある色空間から他の色空
間への変換には多次元での複雑で非線形な計算が必要で
ある。変換を近似するためのデータを含む非常に大きな
ルックアップテーブル(たとえば50メガバイト)は一般
的には、広い色相スペクトルを相関させるようにRGBシ
ステムからCMYKシステムへの変換を行なうのに用いられ
る。(注:CMYK印刷において黒色の純度を維持するため
に、通常、シアン、マゼンタおよび黄の三色すべてをコ
ンポジットブラックとして印刷する代わりに、別の黒い
インクあるいはトナーが設けられ、本発明の開示はかか
る別途の黒表現機構の使用を前提として行なってい
る)。入力データ対出力データのルックアップテーブル
は任意の装置の組み合わせについて生成することができ
る。ある特定の装置について装置依存型のルックアップ
テーブルを構築するにはさまざまな方法がある。米国特
許第3,893,166号(Pugsley)にはその一例が示されてい
る。しかし、現在の市場において、特に現在のカラープ
リンタの低コスト性に鑑みればメモリは比較的高価であ
る。
As described in the above references, the color must be created as a rendering of the additive primary, red, green and blue (RGB) or subtractive primary, cyan, magenta, yellow and black (CMYK). Can be. Conversion is RGB
CMYK from color space (eg computer video monitor)
A transition to a color space (eg, a color inkjet printer) may be required. Conversion from one color space to another requires complex, non-linear calculations in multiple dimensions. A very large look-up table (e.g., 50 megabytes) containing data to approximate the conversion is typically used to perform the conversion from an RGB system to a CMYK system to correlate a wide hue spectrum. (Note: To maintain black purity in CMYK printing, usually instead of printing all three colors cyan, magenta and yellow as composite black, another black ink or toner is provided and the disclosure of the present invention This is based on the premise that such a separate black expression mechanism is used). A look-up table of input data versus output data can be generated for any combination of devices. There are various ways to build a device-dependent lookup table for a particular device. One example is shown in U.S. Pat. No. 3,893,166 (Pugsley). However, memories are relatively expensive in the current market, especially in view of the low cost of current color printers.

【0007】したがって、色の値をある特定の装置の色
空間から他の装置の色空間に高速で経済的な方法で変換
する処理が必要とされている。
Therefore, there is a need for a process for converting color values from a particular device color space to another device color space in a fast and economical manner.

【0008】三次元で相関されたデータバイトは立方格
子構造として表わすことができ、立方体のそれぞれの頂
角がデータ点を表わす。RGBあるいは他のモデルの色空
間構造について、図1に示すような多数のかかる立方体
からルックアップテーブル全体が構成される。しかし、
ルックアップテーブル中の各モニタRGB値について典型
的なプリンタ色変換データ点を記憶するためには、約50
メガバイトのメモリが必要であり、これは現状ではコス
トがかかり過ぎる。したがって、限られた数のデータポ
イントのみを記憶し、補間法を用いて格子内の中間デー
タ点を生成する方が経済的である。
[0008] The data bytes correlated in three dimensions can be represented as a cubic lattice structure, with each apex angle of the cube representing a data point. For an RGB or other model color space structure, the entire look-up table is composed of a number of such cubes as shown in FIG. But,
To store a typical printer color conversion data point for each monitor RGB value in the lookup table, about 50
It requires megabytes of memory, which is currently too costly. Therefore, it is more economical to store only a limited number of data points and use interpolation to generate intermediate data points in the grid.

【0009】CRTビデオモニタのRGBトリプレットのプリ
ンタRGB(または、CMYあるいはCMYK)値への変換は色調
整ツールと装置独立色空間を用いて実行することができ
る。装置独立色は国際照明委員会(CIE)によって開発
されたCIE*a*b色空間と呼ばれるもののような絶対色規
格に基づく正確な色のマッチングを可能とするものであ
る。
The conversion of RGB triplets on a CRT video monitor to printer RGB (or CMY or CMYK) values can be performed using a color adjustment tool and a device independent color space. Device independent colors allow for accurate color matching based on absolute color standards, such as what is called the CIE * a * b color space developed by the International Commission on Illumination (CIE).

【0010】装置独立色空間はある色の外観をその色を
生成した機構に依存せず記述する方法を提供する。ま
ず、RGBデータ点をモニタの色空間(すなわち、入出力
相関関係のテーブル)から装置独立色空間、たとえばCI
E*a*b色空間に変換する関数が構築される。第二に、色
データ点を装置独立空間(CIE*a*b色空間)を特定のプ
リンタの色空間に変換する関数が構築される。これら2
つの関数を用いて、モニタRGBデータ値をL*a*bデータト
リプレットに変換し、L*a*bデータトリプレットをプリ
ンタデータトリプレットに変換して、CRTモニタ上で見
てオリジナル出力と一致したプリンタ出力を得ることが
できる。
A device independent color space provides a way to describe the appearance of a color independent of the mechanism that generated the color. First, the RGB data points are converted from the monitor color space (ie, the input / output correlation table) to a device independent color space, for example, CI.
A function to convert to E * a * b color space is constructed. Second, a function is built to convert the color data points from the device independent space (CIE * a * b color space) to the color space of the particular printer. These two
Converts monitor RGB data values to L * a * b data triplets, converts L * a * b data triplets to printer data triplets using one of the three functions, and matches the original output as viewed on the CRT monitor. You can get the output.

【0011】しかし、後述したデータ記憶およびアクセ
スの問題に加えて、モニタRGB値のプリンタRGB値へのマ
ッピングをある画像中の色のついた画素ごとに実行する
場合、その画像が完全に印刷されるまでに多大な時間が
かかってしまう。したがって、モニタ入力RGB値の部分
集合に対するプリンタ出力RGB値をあらかじめ計算・記
憶し、その後高速補間アルゴリズムを用いて中間RGB値
すなわちあらかじめ計算・記憶されていないRGB値の変
換関数を近似するのが低コストの方法である。
However, in addition to the data storage and access issues described below, if the mapping of monitor RGB values to printer RGB values is performed for each colored pixel in an image, the image will not be completely printed. It takes a lot of time to complete. Therefore, it is low to calculate and store the printer output RGB values for a subset of the monitor input RGB values in advance, and then use a fast interpolation algorithm to approximate the conversion function of the intermediate RGB values, that is, the RGB values that have not been calculated and stored in advance. It is a cost method.

【0012】プリンタは通常減法混合色CMY(K)で印刷を
行なうが、出力プリンタ色空間はRGBであることに注意
しなければならない。まず入力モニタRGB色空間をプリ
ンタRGB色空間に変換し、次に出力RGB値を減法混合CMY
(K)色空間に変換する方法がアルゴリズム的には容易で
あることがわかっている。
Although printers usually print in subtractive color CMY (K), it must be noted that the output printer color space is RGB. First, convert the input monitor RGB color space to the printer RGB color space, then convert the output RGB values to the subtractive CMY
(K) It has been found that the method of converting to the color space is algorithmically easy.

【0013】出力RGB色空間値が得られた後、これらの
値が“ハーフトーン処理”されてプリンタの用いること
のできるCMY(K)“バイナリ”値が生成される。ハーフト
ーン処理はカラープリンタが通常2値的装置であること
から必要となる。つまり、各画素について、かかる装置
はその画素にドットを印刷するか印刷しないかの2レベ
ルの印刷しか実行できない。一方、出力RGB値は通常潜
在的には各画素について256のレベルを有する。ハーフ
トーニングアルゴリズムはディザリングを用いて2値的
ドットを印刷して連続階調画像の外観を与えるものであ
る。このように画像をハーフトーン処理する必要性があ
ることが、ドットプリンタにときとして見られる粒状性
の一因となっている。
After the output RGB color space values are obtained, these values are "halftoned" to produce CMY (K) "binary" values that can be used by the printer. Halftoning is necessary because color printers are usually binary devices. That is, for each pixel, such a device can only perform two levels of printing: printing a dot on that pixel or not printing it. On the other hand, the output RGB values typically have 256 levels potentially for each pixel. The halftoning algorithm uses dithering to print binary dots to give the appearance of a continuous tone image. The necessity of halftone processing of an image in this way contributes to the graininess sometimes seen in a dot printer.

【0014】ある三刺激システムから他の三刺激システ
ムへの変換には、当業者には周知の3線あるいは4線補
間法が用いられて来た。L*a*bモデルを用いたアルゴリ
ズム的補間法を実行する装置の1つが、Electronic Eng
ineering Times、1992年、11月9日、35ページのJunko
Yoshida“High-speed processor transforms colors”
に簡単に説明されている。しかし、Yoshidaの“新たな
アルゴリズム”自体は開示されていない。かかる補間ア
ルゴリズムを用いた方法の共通点は、最高速度を達成す
るには3つあるいはそれ以上の変数のデータに同時にす
なわち並行してアクセスしなければならず、冗長データ
テーブルあるいは複雑な記憶装置アクセス機構を必要と
することである。さらに、かかる補間法では乗算および
除算を行なわねばならず、複雑で高価なハードウエアが
必要である。
The conversion of one tristimulus system to another has used three- or four-line interpolation techniques well known to those skilled in the art. One of the devices that perform algorithmic interpolation using the L * a * b model is Electronic Eng
Junko, ineering Times, November 9, 1992, page 35
Yoshida “High-speed processor transforms colors”
Briefly described. However, Yoshida's "new algorithm" itself is not disclosed. The commonality of such interpolation algorithm-based methods is that to achieve maximum speed, the data of three or more variables must be accessed simultaneously, ie, in parallel, and redundant data tables or complex storage access. It requires a mechanism. Moreover, such interpolation requires multiplication and division, and requires complex and expensive hardware.

【0015】“Method For Multi-Variable Digital Da
ta Storage and Interpolation”と題する1995年7月20
日出願の本出願人の特許出願08/504,406号には、入力色
空間の各軸について729(9×9×9)の制御点を有す
る色補間立方体が開示されている。これらの制御点はテ
ーブルに記憶され、その後入力色立方体の任意の点につ
いて、高速補間法を用いてその出力値が得られる。次に
述べる理由から、この制御点の数は色(2m+1)nから
得られるものである。ここで、nは入力色空間内の軸の
数(通常は3)であり、変数mは各軸上の制御点の数を
決めるものである。729という数はm=3を選択した結果
である。
"Method For Multi-Variable Digital Da
July 20, 1995 entitled “Ta Storage and Interpolation”
The applicant's patent application Ser. No. 08 / 504,406 discloses a color interpolation cube having 729 (9 × 9 × 9) control points for each axis of the input color space. These control points are stored in a table, and the output value of any point in the input color cube is then obtained using a fast interpolation method. For the following reasons, this number of control points is obtained from the color (2m + 1) n. Here, n is the number of axes in the input color space (usually three), and the variable m determines the number of control points on each axis. The number 729 is the result of selecting m = 3.

【0016】しかし、mを1だけ大きくすると(m=
4)、制御点の数は4913(17×17×17)に増える。この
制御点数では、色変換の色の精度が向上するが、必要な
メモリ記憶量も約7倍になる。低コストプリンタの現在
の市場においては、このメモリ記憶量にかかる追加コス
トは大きな問題となる。制御点の記憶に要するメモリを
増大させることなく色変換の精度を向上させることを可
能とするカラー画像変換法が必要とされている。
However, if m is increased by 1, (m =
4) The number of control points increases to 4913 (17 × 17 × 17). With this number of control points, the color accuracy of the color conversion is improved, but the required memory storage capacity is also increased about seven times. In the current market for low cost printers, this additional cost of memory storage is a significant problem. There is a need for a color image conversion method that can improve the accuracy of color conversion without increasing the memory required to store control points.

【0017】[0017]

【課題を解決するための手段】本発明は画像点の集合を
入力色空間から出力色空間に変換する方法を提供する。
第1の制御点群が入力色空間内に設けられ、この第1の
制御点群は第1の色空間内の立方体の頂角に配置されて
いる。また、第2の制御点群が第1の色空間内に設けさ
れており、この第2の制御点群はかかる立方体内に配置
されている。第1および第2の制御点群はいずれも出力
色空間内に対応する出力値群を有する。これらの画像点
に対する出力色空間内の出力値は第1および第2の制御
点群に基づいて補間される。
SUMMARY OF THE INVENTION The present invention provides a method for converting a set of image points from an input color space to an output color space.
A first group of control points is provided in the input color space, and the first group of control points is located at the apex of a cube in the first color space. In addition, a second group of control points is provided in the first color space, and the second group of control points is arranged in the cube. Each of the first and second control point groups has a corresponding output value group in the output color space. Output values in the output color space for these image points are interpolated based on the first and second control point groups.

【0018】一実施形態において、第2の制御点群は立
方体の中心に配置される。入力色空間は好適にはコンピ
ュータモニタ上の表示を行なうためのRGB色空間であ
り、出力色空間は好適にはプリンタ色空間である。この
場合、出力値は好適には少なくともCMYの色を含む色空
間に変換される。
In one embodiment, the second group of control points is located at the center of the cube. The input color space is preferably an RGB color space for displaying on a computer monitor, and the output color space is preferably a printer color space. In this case, the output values are preferably converted to a color space that includes at least CMY colors.

【0019】一実施形態において、補間ステップは立方
体を第1のレベルの二次立方体に細分化するステップを
含み、この第1のレベルの部分立方体の頂角点は第1お
よび第2の制御点群から補間される。好適には、この方
法はさらに第1のレベルの部分立方体群の各部分立方体
を第2のレベルの部分立方体群に細分化するステップを
含み、第2のレベルの部分立方体の頂角点は第1のレベ
ルの部分立方体の頂角から補間される。特に好適な実施
形態では、この方法はさらにかかる部分立方体の次のレ
ベルへの細分化を、所定のレベルの部分立方体が得られ
るまで続行するステップと、画像点の存在するこの最終
レベルの部分立方体の頂角に基づいて画像点の出力値を
供給するステップを含む。画像点の出力値は、画像点の
存在する最終レベルの部分立方体の頂角点の1つの出力
値として求めることができる。
In one embodiment, the step of interpolating includes subdividing the cube into a first-level secondary cube, wherein the apex points of the first-level partial cube are first and second control points. Interpolated from the group. Preferably, the method further comprises subdividing each sub-cube of the first-level sub-cubes into a second-level sub-cubes, wherein the vertex angle of the second-level sub-cubes is Interpolated from the apex angle of the one level sub-cube. In a particularly preferred embodiment, the method further comprises subdividing such a partial cube into the next level until a predetermined level of partial cube is obtained, and the final level of the partial cube where the image points are present. Providing the output value of the image point based on the apex angle of The output value of the image point can be obtained as one output value of the vertex point of the partial cube at the final level where the image point exists.

【0020】本発明は制御点の記憶に要するメモリを増
大させることなく色変換の精度を向上させるカラー画像
変換法を提供するものである。
The present invention provides a color image conversion method for improving the accuracy of color conversion without increasing the memory required for storing control points.

【0021】[0021]

【発明の実施の形態】以下に、発明者らが考える本発明
の現在の最良の実施形態を示す本発明の具体的実施例を
詳細に説明する。また、代替実施形態についても適宜簡
単に説明する。ここでは、本発明を第1のRGB空間(CRT
モニタ)から第2のRGB空間(プリンタ)への変換を例
として説明するが、本発明の範囲はこれに限定されるも
のではない。ここに説明する一般的方法および装置は多
次元構造として表現可能な任意のタイプの非線形データ
の補間に応用しうるものである。
BEST MODE FOR CARRYING OUT THE INVENTION In the following, specific examples of the present invention showing the presently preferred embodiments of the present invention considered by the inventors will be described in detail. Also, alternative embodiments will be briefly described as appropriate. Here, the present invention is applied to the first RGB space (CRT).
The conversion from the monitor to the second RGB space (printer) will be described as an example, but the scope of the present invention is not limited to this. The general methods and apparatus described herein are applicable to the interpolation of any type of non-linear data that can be represented as a multidimensional structure.

【0022】上述したように、色空間の変換における問
題の解決法として、プリンタ出力RGB値をモニタ入力RGB
値の部分集合についてあらかじめ計算しておき、高速補
間アルゴリズムを用いて中間RGB値すなわちあらかじめ
計算・記憶されなかったRGB値の変換関数を近似すると
いう方法がある。本発明では、複雑な乗算および除算回
路を必要としないデータ記憶および数値的細分化技術を
用いて、この事前に計算される色変換関数を補間する高
速かつ正確な方法を提供する。
As described above, as a solution to the problem in color space conversion, a printer output RGB value is converted to a monitor input RGB value.
There is a method in which a subset of values is calculated in advance, and a conversion function for intermediate RGB values, that is, RGB values not calculated and stored in advance, is approximated using a high-speed interpolation algorithm. The present invention provides a fast and accurate method of interpolating this pre-computed color conversion function using data storage and numerical segmentation techniques that do not require complex multiplication and division circuits.

【0023】各N×N×N色テーブルを用いる場合、各方
向に0からN-1までのインデックスが付けられ、RGB値は
0から255まで変化する。このテーブルから読み出し、
補間すべき8つのデータ点は以下の通りである。 (R*(N-1)/255), (G*(N-1)/255), (B*(N-1)/255) (R*(N-1)/255), (G*(N-1)/255), (B*(N-1)/255)+1 (R*(N-1)/255), (G*(N-1)/255)+1, (B*(N-1)/255) (R*(N-1)/255), (G*(N-1)/255)+1, (B*(N-1)/255)+1 (R*(N-1)/255)+1, (G*(N-1)/255)+1, (B*(N-1)/255) (R*(N-1)/255), (G*(N-1)/255), (B*(N-1)/255)+1 (R*(N-1)/255)+1, (G*(N-1)/255),+1 (B*(N-1)/255) (R*(N-1)/255)+1, (G*(N-1)/255)+1, (B*(N-1)/255)+1
When each N × N × N color table is used, an index from 0 to N−1 is provided in each direction, and the RGB values change from 0 to 255. Read from this table,
The eight data points to be interpolated are: (R * (N-1) / 255), (G * (N-1) / 255), (B * (N-1) / 255) (R * (N-1) / 255), (G * (N-1) / 255), (B * (N-1) / 255) +1 (R * (N-1) / 255), (G * (N-1) / 255) +1, (B * (N-1) / 255) (R * (N-1) / 255), (G * (N-1) / 255) +1, (B * (N-1) / 255) +1 (R * (N-1) / 255) +1, (G * (N-1) / 255) +1, (B * (N-1) / 255) (R * (N-1) / 255), ( G * (N-1) / 255), (B * (N-1) / 255) +1 (R * (N-1) / 255) +1, (G * (N-1) / 255), +1 (B * (N-1) / 255) (R * (N-1) / 255) +1, (G * (N-1) / 255) +1, (B * (N-1) / 255) +1

【0024】残念ながら、乗算および除算はリアルタイ
ム処理を行なうには低速である。補間を行なうために検
索すべきテーブル位置を迅速に計算するために、従来テ
ーブルサイズを各次元で2m+1に制限しており、その結果
たとえば9×9×9あるいは17×17×17といったサイズ
のカラーマップが得られていた。このような制限を設け
ると、入力RGBの最上位ビット群を取り、これになんら
かの簡単な加算を行なうだけでテーブルにインデックス
を付けることができる。上の例についていえば、テーブ
ルサイズが(2m+1)3である場合9×9×9のテーブルと
なるが、上の計算は次のようになる。 (R>>(8-m)), (G>>(8-m)), (B>>(8-m)) (R>>(8-m)), (G>>(8-m)), (B>>(8-m))+1 (R>>(8-m)), (G>>(8-m))+1, (B>>(8-m)) (R>>(8-m)), (G>>(8-m))+1, (B>>(8-m))+1 (R>>(8-m))+1, (G>>(8-m)), (B>>(8-m)) (R>>(8-m))+1, (G>>(8-m)), (B>>(8-m))+1 (R>>(8-m))+1, (G>>(8-m))+1, (B>>(8-m)) (R>>(8-m))+1, (G>>(8-m))+1, (B>>(8-m))+1 ここで、>>はビット単位の右シフト演算子である。
Unfortunately, multiplication and division are slow for real-time processing. Conventionally, the size of a table is limited to 2m + 1 in each dimension in order to quickly calculate a table position to be searched for performing interpolation, and as a result, a size such as 9 × 9 × 9 or 17 × 17 × 17 is obtained. Color map was obtained. With such a restriction, the table can be indexed by taking the most significant bit group of the input RGB and performing some simple addition thereto. In the case of the above example, if the table size is (2m + 1) 3, the table is a 9 × 9 × 9 table, but the above calculation is as follows. (R >> (8-m)), (G >> (8-m)), (B >> (8-m)) (R >> (8-m)), (G >> (8-m m)), (B >> (8-m)) + 1 (R >> (8-m)), (G >> (8-m)) + 1, (B >> (8-m)) (R >> (8-m)), (G >> (8-m)) + 1, (B >> (8-m)) + 1 (R >> (8-m)) + 1, ( G >> (8-m)), (B >> (8-m)) (R >> (8-m)) + 1, (G >> (8-m)), (B >> (8 -m)) + 1 (R >> (8-m)) + 1, (G >> (8-m)) + 1, (B >> (8-m)) (R >> (8-m )) + 1, (G >> (8-m)) + 1, (B >> (8-m)) + 1 where >> is a bitwise right shift operator.

【0025】図1はX軸(緑)、Y軸(赤)およびZ軸
(青)の3つの軸で三刺激空間内のデータ点を規定する
色データの格子構造として定式化される一連の色データ
を表わす。この格子中の各立方体の各頂角は記憶された
データ点を表わす。通常、8ビット(1バイト)のデジ
タルデータ値が用いられる。したがって、本発明の実施
形態、すなわちCRTモニタからプリンタのRGBへの変換に
おいては、モニタの色空間に等間隔に配置された729
((23+1)3から得られる)のRGB値についてデータ点があ
らかじめ計算される。すなわち、このスペクトル上のデ
ータがCRTの赤、緑および青の各方向に9つの等しいス
テップ(0から8)で記憶される。本発明の方法は任意
の(2m+1)nデータ集合に適用可能であり、ここで(2m+1)
は記憶されるデータ点の密度すなわち、特定の実施態様
における各次元あたりのサンプルの数であり、“n”は
第1のデータ構造中の変数の数である。三刺激色空間、
すなわち3変数のデータ集合の例では、n=3である。
この実施形態では、m=3であり、1次元軸あたり9段
階のデータが存在することになる。したがって、合計で
729のデータ点が設けられる。
FIG. 1 shows a series of three axes, the X-axis (green), the Y-axis (red) and the Z-axis (blue), formulated as a grid structure of color data defining data points in the tristimulus space. Indicates color data. Each apex angle of each cube in the grid represents a stored data point. Usually, an 8-bit (1 byte) digital data value is used. Therefore, in the embodiment of the present invention, that is, in the conversion from the CRT monitor to the RGB of the printer, 729 equally spaced 729 pixels are arranged in the color space of the monitor.
Data points are pre-computed for the RGB values (obtained from (23 + 1) 3). That is, the data on this spectrum is stored in nine equal steps (0 to 8) in each of the red, green and blue directions of the CRT. The method of the present invention is applicable to any (2m + 1) n data set, where (2m + 1) n
Is the density of stored data points, that is, the number of samples per dimension in a particular embodiment, and "n" is the number of variables in the first data structure. Tristimulus color space,
That is, in the example of the data set of three variables, n = 3.
In this embodiment, m = 3, and there are nine levels of data per one-dimensional axis. Therefore, in total
729 data points are provided.

【0026】かかるデータ点によって図1に示す三次元
格子が形成される。一般的に、この構造のデータベース
は(インクジェットペンコントローラ等の)出力装置
の、その特定の出力装置に対するある特定の入力データ
値と相関された所定の数の出力データ値からなる。
The data points form the three-dimensional grid shown in FIG. Generally, a database of this structure will comprise a predetermined number of output data values of an output device (such as an inkjet pen controller) that are correlated with a particular input data value for that particular output device.

【0027】図2においては、この格子から1つの立方
体が取り出されている。本発明では、左後下(LLB)の
頂角、p0がその特定の色空間の最小RGB値を表わし、右
前上(URF)の頂角、p7がその特定の色空間の最大RGB値
を表わすという基準が設定される。別の表わし方では、
次のように表わすこともできる。 p0 = Rmin、Gmin、Bmin、p7 = Rmax、Gmax、Bmax 印刷すべきある画素について、RGB入力値が受け取られ
る(図6のステップ601参照)。数百万の色の変化を生
成しうる装置で印刷すべき任意の画素について、印刷す
べき色は記憶された729のRGB値のうちの8つからなる立
方体の境界内に入っている可能性が高い、すなわちその
色が記憶された特定の色相のうちの1つではなく、これ
ら記憶されたメモリ立方体構造のうちの1つに入ってい
る可能性が高い。
In FIG. 2, one cube is extracted from the lattice. In the present invention, the bottom left bottom (LLB) vertex angle, p0, represents the minimum RGB value in that particular color space, and the top right front (URF) vertex angle, p7, represents the maximum RGB value in that particular color space. Is set. In another way,
It can also be expressed as: p0 = Rmin, Gmin, Bmin, p7 = Rmax, Gmax, Bmax For a pixel to be printed, an RGB input value is received (see step 601 in FIG. 6). For any pixel to be printed on a device capable of producing millions of color changes, the color to be printed may fall within the boundaries of a cube of eight of the stored 729 RGB values. Is high, that is, the color is likely to be in one of these stored memory cube structures rather than in one of the stored specific hues.

【0028】それぞれの8ビットRGB値の上位の3ビッ
トを用いて、カラーマップデータ構造格子を検索して補
間によって生成すべきRGB値を取り囲む8つのデータ点
が抽出される(図6、ステップ603)。
Using the upper three bits of each 8-bit RGB value, a color map data structure grid is searched to extract eight data points surrounding the RGB values to be generated by interpolation (FIG. 6, step 603). ).

【0029】たとえば、この格子への入力値を次のよう
に仮定する。 (1) R = 00101100 (= 44) G = 10100110 (= 165) B = 01111011 (= 123) これらの値それぞれの3つの上位ビットは次の通りであ
る。 (2) R = 001 (= 1) G = 101 (= 5) B = 011 (= 3) そして、格子全体の中からある特定の立方体が得られ
(あるいは“検索される”と理解してもよい)、すなわ
ち図1から図2の立方体が抽出され、この立方体内では
LLBデータ点p0は赤の軸上の原点から1だけ“上”、緑
の軸上の原点から5だけ“左”、青の軸上の原点から3
だけ“外側”にある。基本的には、かかる上位3ビット
は所望の値を取り囲む8つのデータ点を得るための格子
内の“アドレス”を供給し、所望の出力RGB値はこれら
8つのデータ点p0-p7によって記述される立方体内に含
まれることが保証される。検索される入力が記憶された
データ点の1つである場合、そのデータ点が出力される
(図6、ステップ605)。
For example, assume that the input values to this grid are as follows. (1) R = 00101100 (= 44) G = 10100110 (= 165) B = 01111011 (= 123) The three upper bits of each of these values are as follows. (2) R = 001 (= 1) G = 101 (= 5) B = 011 (= 3) Then, a specific cube can be obtained from the entire grid (or even if you understand that it is "searched"). Good), that is, the cube of FIG. 1 is extracted from FIG.
LLB data point p0 is “up” by 1 from the origin on the red axis, “left” by 5 from the origin on the green axis, and 3 from the origin on the blue axis.
Only "outside." Basically, the upper three bits provide the "address" in the grid for obtaining the eight data points surrounding the desired value, and the desired output RGB value is described by these eight data points p0-p7. Is guaranteed to be contained within the cube. If the input to be searched is one of the stored data points, that data point is output (FIG. 6, step 605).

【0030】また、これら8つの点の1つあるいはこれ
らの点の平均値(抽出される立方体の“中心”)を用い
て変換のための概算の近似値を出力値として生成するこ
とができる。これによって、この729の値が記憶される
例では1241の出力値(各頂角と各中心)を供給するマッ
ピングが生成される。しかし、この近似は多くの用途に
おいてまだ十分なものとはいえない。
An approximate value for the conversion can be generated as an output value by using one of these eight points or the average value of these points (the "center" of the extracted cube). This generates a mapping that supplies 1241 output values (each apex angle and each center) in the example where this 729 value is stored. However, this approximation is not yet sufficient for many applications.

【0031】本発明の方法によれば、反復的細分化(複
雑な数学的計算やそれに関連するハードウエアを要しな
いものであることが重要である)を用いてより正確な結
果を計算するための手段が提供される。
In accordance with the method of the present invention, iterative subdivision (which is important without the need for complex mathematical calculations and associated hardware) is used to calculate more accurate results. Means are provided.

【0032】図3には、図2のオリジナルの立方体の、
8分割部分立方体へのビットトリップレットのマッピン
グを示す。つまり、左前下の8分割部分立方体のビット
0, 0, 1は赤の方向に“0”、緑の方向に“0”、青の
方向に“1”だけ変位される。8つの8分割部分立方体
のすべての“アドレス”が同様にして得られる(図6、
ステップ607)。
FIG. 3 shows the original cube of FIG.
Figure 4 shows the mapping of bittriplets to 8-part subcubes. In other words, the bits of the lower left front 8-divided partial cube
0, 0, 1 are displaced by "0" in the red direction, "0" in the green direction, and "1" in the blue direction. All "addresses" of the eight 8-part sub-cubes are obtained in a similar manner (FIG. 6,
Step 607).

【0033】上の(1)にはRGB値の5つの下位ビット
が示されており、これらを用いて、(2)の上位3ビッ
トを用いて抽出された8つのデータ点によって形成され
る図2に示す立方体の細分化を制御して、必要とされる
変換色の補間が実行される(図6、ステップ609)。す
なわち、この細分化ルーチンの基準となるビットは次の
通りである。 (3)R = 01100 G = 00101 B = 11011
The upper (1) shows the five lower bits of the RGB value, which are used to form the eight data points extracted using the upper three bits of (2). The required conversion color interpolation is executed by controlling the subdivision of the cube shown in FIG. 2 (step 609 in FIG. 6). That is, the bits serving as references for this subdivision routine are as follows. (3) R = 01100 G = 00101 B = 11011

【0034】各データトリプレットの各色の軸の5つの
ビットのそれぞれの最上位ビットによって最初の細分化
が決定される。(4) R = 0G = 0B = 1これら3つのビ
ットから細分化によってオリジナルのデータ点から8つ
の新たなデータ点が計算される。これらのデータ点も、
説明の都合上、図4に示すように左前下の8分割部分立
方体の頂角とする。 (5) s0 = (p1-p0)/2 s1 = p1 s2 = (p3-p0)/2 s3 = (p3-p1)/2s4 = (p5-p0)/2 s5 = (p5-p1)/2 s6 = (p7-p0)/2 (= 図3のデータ立方体の中心) s7 = (p7-p1)/2
The first subdivision is determined by the most significant bit of each of the five bits of each color axis of each data triplet. (4) R = 0G = 0B = 1 From these three bits, eight new data points are calculated from the original data points by segmentation. These data points also
For convenience of explanation, it is assumed that the apex angle is the lower left front divided eight-part cube as shown in FIG. (5) s0 = (p1-p0) / 2 s1 = p1 s2 = (p3-p0) / 2 s3 = (p3-p1) / 2s4 = (p5-p0) / 2 s5 = (p5-p1) / 2 s6 = (p7-p0) / 2 (= the center of the data cube in Fig. 3) s7 = (p7-p1) / 2

【0035】細分化を可能とするために計算される立方
体の頂角の間の中間点を多くの異なる方法で計算してさ
まざまな補間法を模擬することができる。たとえば、図
5に示すように、i0、…i18として示す中間点のデータ
値を計算して表1に示すような四面体補間を模擬するこ
とができる。当該技術で周知の通り、必要に応じて3線
補間法や他の補間法を実行するためにかかる簡単なアル
ゴリズムを設けることができる。
The midpoint between cube apex angles calculated to allow for subdivision can be calculated in many different ways to simulate various interpolation methods. For example, as shown in FIG. 5, it is possible to simulate tetrahedral interpolation as shown in Table 1 by calculating data values of intermediate points shown as i0,... I18. As is well known in the art, such simple algorithms can be provided to perform trilinear interpolation or other interpolation methods as needed.

【0036】実際には、かかるシミュレーションを用い
ることによって、2による除算は単なる2値的な右シフ
トとなり、高価な除算演算ハードウエアは不要である。
また、細分化のたびにすべての中間点を計算する必要は
なく、7つの点のみを計算すればよい。これは1つは常
に冗長であり(上のs1参照)、着目するデータ点を含む
ものと判定された次の8分立方体の、そのビット列の次
の上位ビットから判定されるデータ点のみが使用される
ためである。
In practice, by using such a simulation, division by 2 is simply a binary right shift, and expensive division operation hardware is not required.
Further, it is not necessary to calculate all the intermediate points every time the subdivision is performed, and only the seven points need to be calculated. This is because one is always redundant (see s1 above), and only the data point determined from the next upper bit of the bit string of the next octant cube determined to contain the data point of interest is used That is because

【0037】実際には、これら8つの新たなデータ点s0
-s7によってオリジナルの立方体の8分の1が規定さ
れ、所望の出力値はこの8分割部分立方体内にある。こ
れで、この8つの新たなデータ点の“中心”あるいは平
均値が変換結果として与えられる場合、4096の出力値が
入力値にマップされる精度レベルが達成される。より正
確な補間を行なうにはさらに細分化を行なう必要があ
る。
In practice, these eight new data points s0
-s7 defines one-eighth of the original cube, and the desired output value is in this eight-part cube. This achieves the accuracy level at which the 4096 output values are mapped to the input values, given the "center" or average of the eight new data points as the result of the conversion. To perform more accurate interpolation, it is necessary to further subdivide.

【0038】第2の細分化においては、上の(3)に示
すビット列のそれぞれの2番目のビットが用いられる。 (6)R = 1 G = 0 B = 1 その結果、図4に示すように、オリジナルの立方体p0-p
7の細分化と同様に第1の細分化8分割立方体(s0-s7)
からの第2の細分化8分割立方体が得られる。この場合
も、所望の出力データ点は所望の出力RGB出力色値が含
まれる立方体内に存在する。この8つの新たに得られた
データ点はその値が比較的近くなっているため、そのデ
ータ点が確実に含まれるこの新たな立方体は第1の部分
立方体(点s0-s7)に比べて所望の出力値により近く補
間されたものとなっている。
In the second subdivision, each second bit of the bit string shown in (3) above is used. (6) R = 1 G = 0 B = 1 As a result, as shown in FIG. 4, the original cube p0-p
Same as the subdivision of 7, the first subdivision 8 division cube (s0-s7)
From the second subdivision into eight divided cubes. Again, the desired output data points are within a cube containing the desired output RGB output color values. Because the eight newly obtained data points are relatively close in value, the new cube containing that data point reliably is more desirable than the first partial cube (points s0-s7). Are interpolated closer to the output value of.

【0039】この処置が第3のビット、第4のビット、
さらに第5のビットについて続行され、オリジナルのRG
Bトリプレットの8ビットストリングからさらに3回の
細分化(合計5回)が行なわれる(図6、ステップ611
以下を参照)。したがって、かかる細分化が5回行なわ
れると、それぞれがある出力RGB値に対応する16,777,21
6の補間された出力値群がオリジナルの729の記憶された
値群からマップされたことになる。この例では、5回目
の細分化が最終的細分化レベルである。“最小”(5回
目の細分化の)部分立方体の頂角の値、あるいはこれら
8つの収束したデータ点のなんらかの平均値のいずれか
がその特定の入力関数に対する正しい出力、R'G'B'とし
て返される(図6、ステップ619)。
This action is the third bit, the fourth bit,
Proceeding on the fifth bit further, the original RG
Three more subdivisions (five times in total) are performed from the 8-bit string of the B triplet (FIG. 6, step 611).
See below). Therefore, when such subdivision is performed five times, 16,777,21 each corresponding to a certain output RGB value.
Six interpolated output values have been mapped from the original 729 stored values. In this example, the fifth subdivision is the final subdivision level. Either the value of the vertex angle of the "minimum" (of the fifth subdivision) sub-cube, or any average of these eight converged data points, is the correct output for that particular input function, R'G'B ' (FIG. 6, step 619).

【0040】また、本発明の方法によれば画像ごとに精
度と速度との取捨選択が可能であることを指摘してお
く。細分化を少なくすれば必要なデータ処理時間は短く
なる。たとえば、細分化を少なくすると、精度は低くな
るものの有効な色空間のマッピングが得られ、簡単な棒
グラフ等のビジネス用の図形についてはこれで十分な場
合もある。再現品質に比べて速度をあまり問題にしない
コンピュータアートに携わる人は5回の反復的細分化を
すべて使用するであろう。また、この機能をリアルタイ
ムの、時間的に制約された用途に適応させて、大きな画
像を小さな画像に比べてより低い精度で変換することが
できる。精度を多少犠牲にすることによって、高速画像
プレビューやドラフト画像の印刷の速度を上げることが
できる。
It is also pointed out that according to the method of the present invention, accuracy and speed can be selected for each image. Reducing the segmentation reduces the required data processing time. For example, reducing the subdivision results in an effective color space mapping, albeit with lower accuracy, which may be sufficient for simple business graphs and other business graphics. Those who work in computer art, where speed is less of an issue than reproduction quality, will use all five repetitive subdivisions. This function can also be adapted for real-time, time-constrained applications to convert large images with lower accuracy than small images. By sacrificing some accuracy, the speed of high-speed image preview and draft image printing can be increased.

【0041】さらに、細分化のレベルはある特定の色デ
ータ群に内で可変とすることもできる。細分化の回数
を、そのカラーマップ内の高い精度が要求される部分で
多く、精度の要求されない部分で少なくすることができ
る。たとえば、飽和度の高い色よりも中立軸の近傍によ
り多くの微妙な色の変化があり、したがって、飽和した
色領域についてはさほど精度の高い計算を必要としな
い。これによって、精度とスループットの取捨選択に対
する最適な解決方法が提供される。これを実行するに
は、目測に基づいてカラーマップの各“立方体”内で必
要な細分化レベルをあらかじめ計算し、その値をその色
データとともに記憶する。リアルタイムの実行時に、細
分化レベルをこのデータに基づいて決定することができ
る。
Further, the level of subdivision can be made variable within a specific color data group. The number of times of subdivision can be increased in a portion where high accuracy is required in the color map and reduced in a portion where accuracy is not required. For example, there are more subtle color changes near the neutral axis than for highly saturated colors, and therefore less precise calculations are needed for saturated color regions. This provides an optimal solution to the trade-off between accuracy and throughput. To do this, the required subdivision level is calculated in advance in each "cube" of the color map based on eye measurements, and the value is stored with the color data. During real-time execution, the level of segmentation can be determined based on this data.

【0042】ここに開示する補間法の問題点は、(2m+1)
nというテーブルサイズから、色データの精度を上げる
ためには、色立方体の各軸上の制御点の数をほぼ二倍に
しなければならないことである。たとえば、9×9×9
のカラーマップの精度が不十分である場合、17×17×17
のカラーマップを使用しなければならず、これにはほぼ
7倍のメモリ記憶量が必要である。たとえば、9×9×
9のカラーマップを11×11×11のカラーマップに替える
ことは実用的ではない。これは、RGBに基づくテーブル
位置の計算に要するコストが上昇するためである。
The problem with the interpolation method disclosed here is that (2m + 1)
From the table size of n, to increase the accuracy of the color data, the number of control points on each axis of the color cube must be almost doubled. For example, 9x9x9
17 × 17 × 17 if the accuracy of the color map is not sufficient
, Which requires approximately seven times the memory storage. For example, 9x9x
It is not practical to replace the 9 color map with an 11 × 11 × 11 color map. This is because the cost required for calculating the table position based on RGB increases.

【0043】図7には、その中心に正確に配置された追
加の制御点p8を有することを除いて図2に示す立方体と
同様な立方体を示す。図1を参照して説明した格子内の
512の立方体のそれぞれはかかる中心制御点p8を有す
る。この中心点p8は図4に示す補間された点s6と同じで
あることに注意を要する。上に説明したアルゴリズムで
は、s6の値は高速補間アルゴリズムを用いて補間され
た。しかし、この改良された方法では、かかる中心点p8
は2mのサイズを有する別のテーブル内のメモリに記憶
される確立された制御点である。
FIG. 7 shows a cube similar to the cube shown in FIG. 2 except that it has an additional control point p8 precisely located at its center. In the grid described with reference to FIG.
Each of the 512 cubes has such a central control point p8. Note that this center point p8 is the same as the interpolated point s6 shown in FIG. In the algorithm described above, the value of s6 was interpolated using a fast interpolation algorithm. However, in this improved method, such a center point p8
Are established control points stored in memory in another table having a size of 2m.

【0044】これらの中心点のメモリ記憶フォーマット
は基本的には格子内の格子である。上述したような補間
のための8つの頂角点の検索に加えて、中間点p8が検索
される。この中間点を発見するための追加的検索は単
に、中間点=(R>>(8-m)), (G>>(8-m)), (B>>(8-m))を中
間点テーブルで検索することによって実行される。
The memory storage format of these center points is basically a grid within a grid. In addition to the search for the eight vertex points for interpolation as described above, the midpoint p8 is searched. An additional search to find this waypoint is simply the waypoint = (R >> (8-m)), (G >> (8-m)), (B >> (8-m)) Performed by searching in the midpoint table.

【0045】この補間法は図2に例として示す各立方体
の内部に追加の制御点を得ることによって色精度を上げ
るものである。かかる精度の向上は512(8×8×8)
の追加データ点を追加するだけで達成され、これが既存
の729(9×9×9)に加わり合計でデータ点は1241と
なる。これは、n=3として式(2m+1)n内で3から4のmを
検索することによって得られる、17×17×17の格子内に
存在する4913のデータ点より大幅に少ない。
This interpolation method increases the color accuracy by obtaining additional control points inside each cube shown as an example in FIG. This improvement in accuracy is 512 (8 × 8 × 8)
This is achieved by simply adding an additional data point, which is added to the existing 729 (9 × 9 × 9), for a total of 1241 data points. This is significantly less than the 4913 data points present in the 17 × 17 × 17 grid, obtained by searching m from 3 to 4 in equation (2m + 1) n with n = 3.

【0046】図8には図6と同様のフローチャートを示
す。ただし、同フローチャートには、立方体の頂角の9
×9×9の制御点と図7に示すような立方体の中心の追
加の8×8×8の制御点の両方を用いる方法が示されて
いる。このアルゴリズムでは、ステップ803において、
この方法によって上位ビットに基づいて適当な立方体の
(9×9×9のテーブルから)8つの立方体頂角と(8
×8×8のテーブルから)その中心の両方が読み出され
る。ステップ805において、この方法では着目する画像
点が実際にこれら着目する9つの制御点上にあるかどう
か(すなわち、その点が図7の点p0からp8の1つの上に
あるかどうか)が判定される。
FIG. 8 shows a flowchart similar to FIG. However, the flowchart shows that the apex angle of the cube is 9
A method is shown that uses both a × 9 × 9 control point and an additional 8 × 8 × 8 control point at the center of the cube as shown in FIG. In this algorithm, in step 803,
In this manner, based on the most significant bits, the appropriate cube (from a 9 × 9 × 9 table) eight cube apex angles and (8
Both of its centers are read out (from a x8x8 table). In step 805, the method determines whether the image point of interest is actually on these nine control points of interest (ie, whether that point is on one of points p0 through p8 in FIG. 7). Is done.

【0047】ステップ809において、アルゴリズムが部
分立方体への第1の細分化を行なっている場合、アルゴ
リズムは適当な部分立方体頂角点に対する中心点p8を8
×8×8テーブルから求める。第1の細分化の後には、
8×8×8テーブルからそれ以上の制御点を取り出す必
要はない。ステップ809ではすでに既存の頂角点を得る
ために補間を行なう必要はない(すでにテーブルから取
り出されているかあるいは補間されている)。
In step 809, if the algorithm has performed a first subdivision into sub-cubes, the algorithm sets the center point p8 to the appropriate sub-cube vertex point at 8
Determined from a × 8 × 8 table. After the first subdivision,
There is no need to extract more control points from the 8 × 8 × 8 table. In step 809, it is not necessary to perform interpolation to obtain already existing apex points (already taken from the table or interpolated).

【0048】この9×9×9+8×8×8のシステムは
17×17×17のテーブルに比べて制御点の数ははるかに少
ないが、重要な“グレー”軸(色立方体内の白から黒に
向かう軸)上では同じ色解像度を有する。93+83テー
ブルと173テーブルはいずれもグレー軸上では17の点を
有する。この中立軸の正確な表現は色再生の最も重要な
側面の1つである。
This 9 × 9 × 9 + 8 × 8 × 8 system is
Although the number of control points is much smaller than a 17 × 17 × 17 table, it has the same color resolution on the important “gray” axis (the axis from white to black in the color cube). 9 with a point 17 at 3 +8 3 Both table and 173 table on the gray axis. Accurate representation of this neutral axis is one of the most important aspects of color reproduction.

【0049】さらに、格子表現における各立方体の中心
はオリジナルの9×9×9の制御点のうちのいかなる点
からも最も遠い点である。既存の色テーブルにデータを
追加しなければならない場合、装置入力色空間のスペー
シングという観点からかかる中間点が最適な位置であ
る。
Further, the center of each cube in the grid representation is the point furthest from any of the original 9 × 9 × 9 control points. If data must be added to an existing color table, such an intermediate point is the optimal location from the standpoint of device input color space spacing.

【0050】またさらに、ここに説明した補間アルゴリ
ズムと併用したとき、このデータフォーマットはプリン
タのスループット(1分あたりの印刷ページ数)を低下
させることがない。中心制御点がテーブルにない場合、
補間アルゴリズムはこれらの点を計算しなければならな
い。メモリ中のテーブルからのこれらの制御点の検索は
それらを計算する場合に比べて高速ではないとしても少
なくとも同等の速度で行なわれる。
Further, when used in conjunction with the interpolation algorithm described herein, this data format does not reduce the throughput of the printer (the number of printed pages per minute). If the central control point is not on the table,
The interpolation algorithm must calculate these points. Retrieving these control points from a table in memory is performed at least as fast, if not faster, than calculating them.

【0051】したがって、ここに説明した改良された方
法は色の精度を改善し、またメモリ量を増大させること
なく色の精度の改善を達成するものである。
Thus, the improved method described herein improves color accuracy and achieves improved color accuracy without increasing the amount of memory.

【0052】以下、本発明の実施の形態を要約して挙げ
る。
The embodiments of the present invention will be summarized below.

【0053】1.画像点群を入力色空間から出力色空間
に変換するカラー画像変換方法であって、前記入力色空
間内に第1の制御点群(p0、p1、p2、p3、p4、p5、p6、
p7)を設け、前記第1の制御点群は前記入力色空間内の
立方体の頂角に配置され、前記入力色空間に第2の制御
点群(p8)を設け、前記第2の制御点群は前記立方体の
内部に配置され、前記第1および第2の制御点群はそれ
ぞれ前記出力色空間内に対応する出力値群を有し、前記
第1および第2の制御点群に基づいて前記画像点の出力
値を補間するカラー画像変換方法。
1. A color image conversion method for converting an image point group from an input color space to an output color space, wherein a first control point group (p0, p1, p2, p3, p4, p5, p6,
p7), the first group of control points is arranged at the apex angle of a cube in the input color space, a second group of control points (p8) is provided in the input color space, and the second group of control points A group is arranged inside the cube, and the first and second control point groups each have a corresponding output value group in the output color space, and are based on the first and second control point groups. A color image conversion method for interpolating output values of the image points.

【0054】2.前記第2の制御点群(p8)は前記立方
体の中心に配置される上記1記載のカラー画像変換方
法。
2. The color image conversion method according to claim 1, wherein the second group of control points (p8) is arranged at the center of the cube.

【0055】3.前記第1の色空間はコンピュータモニ
タ上での表現のためのRGB色空間である上記1又は2記
載のカラー画像変換方法。
3. The color image conversion method according to claim 1 or 2, wherein the first color space is an RGB color space for expression on a computer monitor.

【0056】4.前記出力色空間はカラープリンタで印
刷を行なうように適合されている上記1乃至3の何れか
1項記載のカラー画像変換方法。
4. 4. The color image conversion method according to claim 1, wherein the output color space is adapted to print on a color printer.

【0057】5.前記出力値は少なくとも色CMYを含む
色空間に変換される上記1乃至4の何れか1項記載のカ
ラー画像変換方法。
5. 5. The color image conversion method according to claim 1, wherein the output value is converted into a color space including at least a color CMY.

【0058】6.前記補間ステップは前記立方体を第1
のレベルの部分立方体に細分化するステップ(809)を
含み、前記第1のレベルの部分立方体の頂角点は前記第
1および第2の制御点群(p0、p1、p2、p3、p4、p5、p
6、p7、p8)から補間される上記1乃至5の何れか1項
記載のカラー画像変換方法。
6. The interpolating step includes:
Subdividing into sub-cubes of the first level (809), wherein the vertex points of the first-level sub-cubes are the first and second control points (p0, p1, p2, p3, p4, p5, p
6. The color image conversion method according to any one of 1 to 5, wherein the color image conversion method is interpolated from (6, p7, p8).

【0059】7.前記第1のレベルの部分立方体のそれ
ぞれを第2のレベルの部分立方体に細分化するステップ
(809)を含み、前記第2のレベルの部分立方体の頂角
点は前記第1のレベルの部分立方体の頂角点から補間さ
れる上記1乃至6の何れか1項記載のカラー画像変換方
法。
7. Subdividing each of the first level sub-cubes into second level sub-cubes (809), wherein the vertex angle of the second level sub-cube is the first level sub-cube 7. The color image conversion method according to any one of the above items 1 to 6, wherein the color image conversion method is interpolated from a vertex point of the color image.

【0060】8.前記部分立方体のそれ以上のレベルの
部分立方体への細分化を、所定の最終レベルの部分立方
体が得られるまで続行するステップ、および前記画像点
の存在する前記最終レベルの部分立方体に基づいて前記
画像点の出力値を供給するステップを含む上記1乃至7
の何れか1項記載のカラー画像変換方法。
8. Continuing subdivision of said partial cube into higher level partial cubes until a predetermined final level of partial cube is obtained, and said image based on said final level partial cube where said image points are located 1 to 7 including the step of providing an output value of a point.
The color image conversion method according to claim 1.

【0061】9.前記画像点の前記出力値は前記画像点
の存在する前記最終レベルの部分立方体の頂角点の1つ
の出力値として求められる上記1乃至8の何れか1項記
載のカラー画像変換方法。
9. The color image conversion method according to any one of claims 1 to 8, wherein the output value of the image point is obtained as one output value of a vertex angle point of the partial cube at the final level where the image point exists.

【0062】[0062]

【発明の効果】以上説明したように、本発明によれば、
追加の制御点として格子内の内部に第2の制御点を設け
ることにより、制御点を記憶するためのメモリを増加さ
せることなく色変換の精度を向上させることができる。
As described above, according to the present invention,
By providing the second control point inside the grid as an additional control point, it is possible to improve the accuracy of color conversion without increasing the memory for storing the control points.

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

【図1】本発明に係る汎用格子メモリ構成構造の空間表
現である。
FIG. 1 is a spatial representation of a general lattice memory configuration according to the present invention.

【図2】図1に示す格子メモリ構成のデータ構造から抽
出した“データ立方体”である。
FIG. 2 is a “data cube” extracted from the data structure of the lattice memory configuration shown in FIG. 1;

【図3】図2に示す抽出データ立方体の八分空間領域へ
の第1のレベルの細分化を示す。
FIG. 3 illustrates a first level of subdivision of the extracted data cube shown in FIG. 2 into octant space regions.

【図4】図3に示す抽出データ立方体の空間領域の第2
のレベルの細分化を示す。
FIG. 4 is a diagram showing a second example of the spatial region of the extracted data cube shown in FIG. 3;
Shows the level of subdivision.

【図5】図3および図4に示す細分化ステップに用いら
れる中間データ点を示す。
FIG. 5 shows intermediate data points used in the subdivision step shown in FIGS. 3 and 4;

【図6】9×9×9の制御点を用いた補間法のフローチ
ャートである。
FIG. 6 is a flowchart of an interpolation method using 9 × 9 × 9 control points.

【図7】中心に追加制御点p8を有する図2の抽出“デー
タ立方体”を示す。
FIG. 7 shows the extracted “data cube” of FIG. 2 with an additional control point p8 in the center.

【図8】9×9×9の制御点および8×8×8の制御点
の両方を用いた補間法のフローチャートである。
FIG. 8 is a flowchart of an interpolation method using both 9 × 9 × 9 control points and 8 × 8 × 8 control points.

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

p0-p8 , s0-s7 制御点 p0-p8, s0-s7 control point

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 画像点群を入力色空間から出力色空間に
変換するカラー画像変換方法であって、 前記入力色空間内に第1の制御点群(p0、p1、p2、p3、
p4、p5、p6、p7)を設け、前記第1の制御点群は前記入
力色空間内の立方体の頂角に配置され、 前記入力色空間に第2の制御点群(p8)を設け、前記第
2の制御点群は前記立方体の内部に配置され、 前記第1および第2の制御点群はそれぞれ前記出力色空
間内に対応する出力値群を有し、 前記第1および第2の制御点群に基づいて前記画像点の
出力値を補間することを特徴とするカラー画像変換方
法。
1. A color image conversion method for converting an image point group from an input color space to an output color space, comprising: a first control point group (p0, p1, p2, p3,
p4, p5, p6, p7), the first control point group is arranged at the apex angle of a cube in the input color space, and a second control point group (p8) is provided in the input color space. The second control point group is disposed inside the cube; the first and second control point groups each have a corresponding output value group in the output color space; A color image conversion method, wherein output values of the image points are interpolated based on a control point group.
JP9287074A 1996-10-31 1997-10-20 Color image conversion method Pending JPH10150578A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74189096A 1996-10-31 1996-10-31
US741-890 1996-10-31

Publications (1)

Publication Number Publication Date
JPH10150578A true JPH10150578A (en) 1998-06-02

Family

ID=24982627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9287074A Pending JPH10150578A (en) 1996-10-31 1997-10-20 Color image conversion method

Country Status (3)

Country Link
JP (1) JPH10150578A (en)
DE (1) DE19747118A1 (en)
GB (1) GB2318943A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039438A (en) * 2010-08-09 2012-02-23 Nikon Corp Information processor and program
KR20190056322A (en) * 2017-11-16 2019-05-24 애피컬 리미티드 Image data interpolation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1004659A5 (en) * 1991-03-01 1993-01-05 Barco Graphics Nv METHOD AND APPARATUS FOR transforming a KLEURCOORDINATENSET.
US5546195A (en) * 1994-08-11 1996-08-13 Toyo Ink Manufacturing Co., Ltd. Apparatus for reproducing color images
JPH0877341A (en) * 1994-08-29 1996-03-22 Xerox Corp Equipment and method for color image processing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039438A (en) * 2010-08-09 2012-02-23 Nikon Corp Information processor and program
KR20190056322A (en) * 2017-11-16 2019-05-24 애피컬 리미티드 Image data interpolation
JP2019091439A (en) * 2017-11-16 2019-06-13 アピカル リミテッド Image data interpolation

Also Published As

Publication number Publication date
GB9721888D0 (en) 1997-12-17
DE19747118A1 (en) 1998-05-07
GB2318943A (en) 1998-05-06

Similar Documents

Publication Publication Date Title
US5581376A (en) System for correcting color images using tetrahedral interpolation over a hexagonal lattice
JP3249693B2 (en) Image processing device
US5734802A (en) Blended look-up table for printing images with both pictorial and graphical elements
US5343311A (en) Indexed processing of color image data
US5539540A (en) Method and associated apparatus for transforming input color values in an input color space to output color values in an output color space
US7072084B2 (en) Color converting device emphasizing a contrast of output color data corresponding to a black character
US6058207A (en) Selective color correction applied to plurality of local color gamuts
US5111286A (en) Image processing
US5748176A (en) Multi-variable colorimetric data access by iterative interpolation and subdivision
JPH0730772A (en) Image processor
JPH11313219A (en) Color data conversion method
US5596510A (en) Table-based linear interpolation for color correction system and method
US6349146B2 (en) Device-biased color converting apparatus and method
US6137495A (en) Method for storing, accessing, transforming, and displaying multi-variable digital data
EP0862140B1 (en) Method for tristimulus color data non-linear storage, retrieval and interpolation
US7215440B2 (en) Fast interpolation of large color lookup tables
JP3976849B2 (en) Device for generating interpolator input data
EP0741492B1 (en) Selective colour correction applied to plurality of local color gamuts
US6002795A (en) Method and apparatus for transforming a source image to an output image
JP4429439B2 (en) Color conversion method and conversion processor
JP3981790B2 (en) Color image processing method, color image processing apparatus, color conversion coefficient generation method, color conversion coefficient generation apparatus, and storage medium
JPH10150578A (en) Color image conversion method
JPH0946529A (en) Image processing unit and method
JP3671428B2 (en) Image processing method and apparatus for color output
JPH08242384A (en) Color image processor