DE19747118A1 - Color image conversion method - Google Patents

Color image conversion method

Info

Publication number
DE19747118A1
DE19747118A1 DE1997147118 DE19747118A DE19747118A1 DE 19747118 A1 DE19747118 A1 DE 19747118A1 DE 1997147118 DE1997147118 DE 1997147118 DE 19747118 A DE19747118 A DE 19747118A DE 19747118 A1 DE19747118 A1 DE 19747118A1
Authority
DE
Germany
Prior art keywords
color
points
color space
cubes
control 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.)
Withdrawn
Application number
DE1997147118
Other languages
German (de)
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 DE19747118A1 publication Critical patent/DE19747118A1/en
Withdrawn 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

Abstract

The method transforms image points in an input colour space to image points in an output colour space using a first set of control points (P0 - P7) arranged at the corners of cubes in the input colour space and a second set of control points (P8) in input colour space which are within the cubes, each control point having a corresponding value in output colour space, and interpolating between the output values according to the control points. Preferably the first set of control points comprises a cube lattice of 9x9x9 points and the second set comprises a further 512 points at the centre of respective cubes. The second set provides a separate 8x8x8 lattice of control points and they are stored in a separate table. The second set of points significantly improves the accuracy of colour conversion without unduly increasing the memory required for storing control points.

Description

Die vorliegende Erfindung bezieht sich allgemein auf die Farbbildverarbeitung und insbesondere auf ein Verfahren zum Umwandeln eines Bildes von einem Eingangsfarbraum (bei­ spielsweise für einen CRT-Farbmonitor; CRT = cathode ray tube = Kathodenstrahlröhre) in einen Ausgangsfarbraum (z. B. für einen Farbdrucker).The present invention relates generally to Color image processing and in particular on a method for Convert an image from an input color space (at for example for a CRT color monitor; CRT = cathode ray tube = cathode ray tube) in an output color space (e.g. for a color printer).

Alle Farbempfindungen, die wir mit unseren Augen wahrnehmen, können theoretischerweise durch drei Farbvektoren in einem dreidimensionalen Raum dargestellt werden, welcher als Drei­ bereichsfarbraum (tristimulus space) oder Farbraum bezeich­ net werden kann. Die Grundlagen dieser dreidimensionalen Darstellungen werden in der Literatur, beispielsweise in "Principles of Color Technology", von Billmeyer und Saltz­ man, veröffentlicht von John Wiley & Sons, Inc., NY, Copy­ right 1981 (2. Aufl.), und in "Color Science: Concepts and Methods, Quantitative Data and Formulae", von Wyszecki und Stiles, veröffentlicht von John Wiley & Sons, Inc., NY, Copyright 1982 (2. Aufl.), insbesondere die Seiten 119-130, erörtert.All color sensations that we perceive with our eyes can theoretically by three color vectors in one three-dimensional space, which is represented as three area color space (tristimulus space) or color space can be net. The basics of this three-dimensional Representations are in the literature, for example in "Principles of Color Technology", by Billmeyer and Saltz man, published by John Wiley & Sons, Inc., NY, Copy right 1981 (2nd edition), and in "Color Science: Concepts and Methods, Quantitative Data and Formulas ", by Wyszecki and Stiles, published by John Wiley & Sons, Inc., NY, Copyright 1982 (2nd edition), especially pages 119-130, discussed.

Es sind eine Vielzahl von Systemen trichromatischer Modelle entwickelt worden, die das Rot-Grün-Blau-Modell (RGB-Mo­ dell), das Cyan-Magenta-Gelb- (Schwarz-) Modell (CMY(K)-Mo­ dell; CMYK = cyan, magenta, yellow, black), das Farbton-, Sättigungs-, Wert-Modell (HSV-Modell; HSV = hue, saturation, value), das Farbton-, Helligkeits-, Sättigungs-Modell (HLS-Modell; HLS = hue, lightness, saturation), das Luminanz-, Rot-Grün-Skala-, Gelb-Blau-Skala-Modell (L.a.b.-Modell), das YIQ-Modell, das beim kommerziellen Farbfernsehrundfunk ver­ wendet wird, und weitere Modelle umfassen. Diese Arbeiten wie "Fundamentals of Interactive Computer Graphics", von Foley und Van Dam, Addison-Wesley Publishing Company, insbe­ sondere die Seiten 606-621, beschreiben eine Vielzahl von Farbmodellen mit drei Variablen.There are a variety of systems of trichromatic models The red-green-blue model (RGB-Mo dell), the cyan-magenta-yellow (black) model (CMY (K) -Mo dell; CMYK = cyan, magenta, yellow, black), the color, Saturation, value model (HSV model; HSV = hue, saturation, value), the hue, brightness, saturation model (HLS model; HLS = hue, lightness, saturation), the luminance, Red-green scale, yellow-blue scale model (L.a.b. model), the YIQ model used in commercial color television broadcasting is applied, and include other models. These works like "Fundamentals of Interactive Computer Graphics", by Foley and Van Dam, Addison-Wesley Publishing Company, esp  especially pages 606-621 describe a variety of Color models with three variables.

Bei Farbeingabe- und Ausgabevorrichtungen, wie z. B. Abtast­ vorrichtungen (Scanner), CRT-Videomonitoren und Druckern, liegen Farbbilder in einer geräteabhängigen Weise vor. Bei­ spielsweise werden CRT-Kanonen durch RGB-Werte (d. h. Span­ nungspegel oder Eingangssignalfunktionen, die hierin im folgenden als Daten-Tripletts (Triplett = Dreiergruppe) be­ zeichnet werden) getrieben, die in einem Bildwiederholspei­ cher (frame buffer) gespeichert sind. Die Farbe, die mittels einer CRT auf einem Pixel ihres Bildschirms für ein gegebe­ nes RGB-Triplett von Werten erzeugt wird, ist für jedes spe­ zielle Modell einer Videomonitorvorrichtung eindeutig. Das gleiche RGB-Triplett kann eine sehr unterschiedliche Farbe oder einen sehr unterschiedlichen Farbton erzeugen, wenn dasselbe auf einer CRT eines unterschiedlichen Modells ange­ zeigt wird, und kann außerdem eine unterschiedliche Farbe auf einem Druckmedium (wie z. B. Papier) erzeugen, das mit­ tels eines Farbdruckers bedruckt wird.For color input and output devices, such as. B. sampling devices (scanners), CRT video monitors and printers, color images are available in a device-dependent manner. At for example, CRT cannons are represented by RGB values (i.e. span voltage level or input signal functions described herein in following as data triplets (triplet = triplet) are driven), which are in a repetition cher (frame buffer) are stored. The color that means a CRT on a pixel of your screen for a given An RGB triplet of values is generated for each special Target model of a video monitor device clearly. The same RGB triplet can have a very different color or produce a very different hue if the same on a CRT of a different model shows, and can also have a different color on a print medium (such as paper) that is printed with is printed by a color printer.

Bei einer Farbumformung (die in der Technik auch als Farb­ korrektur und Queraufbereitung (cross-rendering) bezeichnet wird) zwischen Modellsystemen bei einer digitalen Datenver­ arbeitung treten viele Probleme auf. Die Datenumformung von einer Vorrichtung zu einer anderen ist schwierig, da die Farbanpassungsbeziehung zwischen diesen Systemen im allge­ meinen nicht-linear ist. Folglich besteht ein entscheidendes Problem darin, die Farbintegrität zwischen einem Original­ bild von einer Eingabevorrichtung (wie z. B. eines Farbscan­ ners, einem CRT-Monitor, einer digitalen Kamera, einer Com­ putersoftware/Firmware-Erzeugung und dergleichen) und einer umgesetzten Kopie an einer Ausgabevorrichtung (wie z. B. ei­ nem Farblaserdrucker, einem Farbtintenstrahldrucker und der­ gleichen) beizubehalten.In the case of a color conversion (which is also called color in technology correction and cross-rendering is) between model systems in a digital data ver work there are many problems. The data transformation from one device to another is difficult because the Color matching relationship between these systems in general mean is non-linear. Hence there is a crucial one Problem in the color integrity between an original image from an input device (such as a color scan ners, a CRT monitor, a digital camera, a Com computer software / firmware generation and the like) and one implemented copy on an output device (such as a a color laser printer, a color inkjet printer and the same).

Wie es bei den oben zitierten technischen Unterlagen erör­ tert wurde, können Farben als Aufbereitungen der additiven Primärfarben, d. h. Rot, Grün und Blau (RGB), oder der sub­ traktiven Primärfarben, d. h. Cyan, Magenta, Gelb und Schwarz (CMYK), aufgebaut werden. Eine Umformung kann einen Übergang von einem RGB-Farbraum, z. B. einem Computervideo­ monitor, zu einem CMYK-Farbraum, z. B. einem Farbtinten­ strahldrucker, erfordern. Eine Umformung von einem Farbraum zu einem anderen erfordert komplexe, nicht-lineare Berech­ nungen in mehreren Dimensionen. Die Verwendung von sehr gro­ ßen Zugriffstabellen, z. B. mit einer Größe von 50 Megabyte, die Daten enthalten, um eine Umformung zu approximieren, wird gewöhnlicherweise dafür verwendet, um von einem RGB-Sy­ stem zu einem CMYK-System überzugehen, um ein breites Spek­ trum von Farbtönen zu korrelieren. (Beachte: Um die reine schwarze Farbe bei einem CMYK-Ausdruck zu erhalten, ist ge­ wöhnlicherweise eine separate schwarze Tinte oder ein sepa­ rater schwarzer Toner vorgesehen, wobei nicht alle drei Far­ ben, d. h. Cyan, Magenta und Gelb, als zusammengesetztes Schwarz gedruckt werden; zum Zweck der Offenbarung der vor­ liegenden Erfindung wird die Verwendung eines derartigen Aufbereitungsmechanismus mit einer getrennten schwarzen Far­ be angenommen.) Für einen beliebigen Satz von Vorrichtungen kann eine Zugriffstabelle aus Eingangsdaten über Ausgangsda­ ten erzeugt werden. Es gibt eine Vielzahl von Verfahren zum Aufbauen einer vorrichtungsabhängigen Zugriffstabelle für eine spezielle Vorrichtung. Das U.S.-Patent Nr. 3,893,166 (von Pugsley) liefert ein Beispiel. Insbesondere angesichts der kostengünstigen Natur vieler gegenwärtig verwendeter Farbdrucker ist jedoch ein Speicher bei der gegenwärtigen Marktsituation relativ aufwendig.As explained in the technical documents cited above colors can be used as preparations of the additive  Primary colors, d. H. Red, green and blue (RGB), or the sub tractive primary colors, d. H. Cyan, magenta, yellow and Black (CMYK). A reshaping can Transition from an RGB color space, e.g. B. a computer video monitor, to a CMYK color space, e.g. B. a color ink jet printers, require. A transformation from a color space to another requires complex, non-linear computation in several dimensions. The use of very large ß access tables, e.g. B. with a size of 50 megabytes, that contain data to approximate a transformation, is commonly used to convert from an RGB system stem to a CMYK system to a wide spec correlate the range of colors. (Note: To the pure Getting black color on a CMYK print is ge usually a separate black ink or a sepa rater black toner provided, not all three colors ben, d. H. Cyan, magenta and yellow, as a composite Be printed in black; for the purpose of revealing the above lying invention is the use of such Processing mechanism with a separate black color be accepted.) For any set of devices can create an access table from input data via output da ten are generated. There are a variety of methods for Build a device-dependent access table for a special device. U.S. Patent No. 3,893,166 (by Pugsley) provides an example. Especially given the inexpensive nature of many currently used However, color printer is a memory in the current Market situation is relatively complex.

Folglich besteht ein Bedarf nach einem Verfahren, das die Farbwerte von einem Farbraum einer speziellen Vorrichtung auf eine schnelle und wirtschaftliche Art und Weise in den Farbraum einer anderen Vorrichtung umformt.Accordingly, there is a need for a method that can Color values from a color space of a special device in a quick and economical way in the Color space of another device reshaped.

Datenbytes, die in drei Dimensionen korreliert sind, können als Würfelgitteraufbau dargestellt werden, wobei jede Ecke eines Würfels einen Datenpunkt darstellt. Die gesamte Zu­ griffstabelle ist aus vielen derartigen Würfeln aufgebaut, wie es in Fig. 1 für einen Aufbau eines RGB-Farbraums oder eines Farbraums eines anderen Modells dargestellt ist. Das Speichern eines typischen Druckerfarbumformungsdatenpunkt­ wertes für jeden Monitor-RGB-Wert in einer Zugriffstabelle würde jedoch einen Speicher von etwa 50 Megabyte erfordern, was beim gegenwärtigen Stand der Technik aufgrund der Kosten nicht durchführbar ist. Folglich ist es wirtschaftlich, le­ diglich eine begrenzte Anzahl von Datenpunkten zu speichern und Interpolationsverfahren zu verwenden, um Zwischendaten­ punkte innerhalb des Gitters herzuleiten.Data bytes that are correlated in three dimensions can be represented as a cube grid structure, with each corner of a cube representing a data point. The entire handle table is made up of many such cubes, as shown in FIG. 1 for a structure of an RGB color space or a color space of another model. However, storing a typical printer color conversion data point for each monitor RGB value in an access table would require approximately 50 megabytes of memory, which is not feasible in the current state of the art because of the cost. As a result, it is economical to only store a limited number of data points and to use interpolation methods to derive intermediate data points within the grid.

Die Umformung von RGB-Tripletts eines CRT-Videomonitors in Drucker-RGB-Werte (oder CMY- oder CMYK-Werte) kann erreicht werden, indem Farberfassungshilfsmittel und vorrichtungsun­ abhängige Farbräume verwendet werden. Ein vorrichtungsunab­ hängiger Farbraum liefert basierend auf einem absoluten Farbstandard, wie z. B. dem, der von der Commission Inter­ nationale L'Eclairage (CIE) entwickelt wurde und als der CIE-L.a.b.-Farbraum bezeichnet wird, eine genaue Farbanpas­ sung.The conversion of RGB triplets of a CRT video monitor into Printer RGB values (or CMY or CMYK values) can be reached by using color detection tools and fixtures dependent color spaces are used. A device-independent dependent color space delivers based on an absolute Color standard, such as B. that of the Commission Inter national L'Eclairage (CIE) was developed and considered the CIE-L.a.b.-color space is called, an exact color matching solution.

Ein vorrichtungsunabhängiger Farbraum liefert einen Weg, um das Auftreten einer Farbe zu beschreiben, ohne den Mechanis­ mus, der die Farbe erzeugt, zu bezeichnen. Als erstes wird eine Funktion aufgebaut, die RGB-Datenpunkte von dem Farb­ raum eines Monitors (d. h. die Tabelle von Eingangs-Aus­ gangs-Korrelationen) in einen vorrichtungsunabhängigen Farb­ raum, z. B. den CIE-L.a.b.-Farbraum, umformt. Als zweites wird eine Funktion aufgebaut, die Farbdatenpunkte von dem vorrichtungsunabhängigen Farbraum, d. h. dem CIE-L.a.b.-Farbraum, in den Farbraum eines bestimmten Druckers umformt. Unter Verwendung dieser zwei Funktionen können die Monitor-RGB-Datenwerte in L.a.b.-Daten-Tripletts und die L.a.b.-Da­ ten-Tripletts in die Druckerdaten-Tripletts umgeformt wer­ den, wodurch eine Druckerausgabe bereitgestellt wird, die mit der ursprünglichen Ausgabe übereinstimmt, die auf dem CRT-Monitor dargestellt ist. A device-independent color space provides a way to to describe the appearance of a color without the mechanism mus that creates the color. First thing is built a function that RGB data points from the color space of a monitor (i.e. the table of input-off correlations) in a device-independent color space, e.g. B. reshaped the CIE-L.a.b. As a second a function is built up, the color data points of the device-independent color space, d. H. the CIE L.a.b. color space, transformed into the color space of a specific printer. Using these two functions, the monitor RGB data values in L.a.b. data triplets and the L.a.b.-Da ten triplets into printer data triplets which provides printer output that matches the original edition on the CRT monitor is shown.  

Zusätzlich zu den oben bezeichneten Datenspeicherungs- und Zugriffsproblemen ist es jedoch zeitintensiv, die Abbildung der Monitor-RGB-Werte in Drucker-RGB-Werte mit jedem einzi­ gen farbigen Pixel in einem Bild durchzuführen, bevor dieses Bild vollständig gedruckt wird. Folglich ist es wirtschaft­ lich, die Druckerausgangs-RGB-Werte für einen Teilsatz von Monitoreingangs-RGB-Werten vorzuberechnen und zu speichern und daraufhin einen schnellen Interpolationsalgorithmus zu verwenden, um die Umformungsfunktion für RGB-Zwischenwerte zu approximieren, nämlich für die, die nicht vorberechnet und gespeichert wurden.In addition to the data storage and Access problems, however, are time consuming, the figure the monitor RGB values in printer RGB values with each one color pixels in an image before it Image is printed completely. Hence it is economical Lich, the printer output RGB values for a subset of Pre-calculate and save monitor input RGB values and then a fast interpolation algorithm too use the transform function for intermediate RGB values to approximate, namely for those who have not pre-calculated and saved.

Es ist zu beachten, daß sich der Ausgangsdruckerfarbraum im RGB-Farbraum befindet, selbst wenn der Drucker typischerwei­ se mit subtraktiven CMY(K)-Farben druckt. Es hat sich her­ ausgestellt, daß es bezüglich eines Algorithmus einfacher ist, zuerst den Eingangsmonitor-RGB-Farbraum in einen Drucker-RGB-Farbraum und daraufhin die RGB-Ausgangswerte in den subtraktiven CMY(K)-Farbraum umzuformen.It should be noted that the output color space in the RGB color space, even if the printer is typically prints with subtractive CMY (K) colors. It happened issued that it was simpler regarding an algorithm first, the input monitor RGB color space into one Printer RGB color space and then the RGB output values in reshape the subtractive CMY (K) color space.

Nachdem die Ausgangs-RGB-Farbraumwerte erhalten wurden, wer­ den dieselben in "Graustufen unterteilt", um "binäre" CMY (K)-Werte zu erzeugen, die der Drucker verwenden kann. Die Graustufenwertbildung ist erforderlich, da Farbdrucker typi­ scherweise binäre Vorrichtungen sind. Das heißt mit anderen Worten, daß dieselben für jedes Pixel lediglich mit zwei Pe­ geln drucken können, d. h. entweder drucken dieselben bei diesem Pixel einen Punkt oder keinen Punkt. Andererseits weisen die RGB-Ausgangswerte typischerweise 256 potentielle Pegel für jedes Pixel auf. Die Algorithmen für die Graustu­ fenbildung drucken die binären Punkte auf eine gezitterte (dithered) Art und Weise, damit sich das Erscheinungsbilds eines Bildes mit einem kontinuierlichen Ton ergibt. Die Not­ wendigkeit, das Bild in Graustufen zu unterteilen, ist einer der Gründe für die Körnigkeit, die Punktdruckern manchmal zugeordnet ist. After the output RGB color space values are obtained, who which they divided into "grayscale" to "binary" CMY Generate (K) values that the printer can use. The Grayscale value formation is necessary because color printers typi are binary devices. That means with others Words that they have only two Pe for each pixel can print, d. H. either add the same this point a point or no point. On the other hand the RGB output values typically have 256 potential Level for each pixel. The algorithms for the grayscale The binary dots are printed on a trembling (dithered) way to change the appearance of an image with a continuous tone. The need Maneuverability to divide the picture into grayscale is one the reasons for the graininess, the point printers sometimes assigned.  

Beim Durchführen der Umformung von einem Dreibereichssystem zu einem anderen sind trilineare oder quadrilineare Interpo­ lationsverfahren verwendet worden, die Fachleuten bekannt sein sollten. Eine vorgegebene Vorrichtung für eine Inter­ polationslösung mittels eines Algorithmus unter Verwendung des L.a.b.-Modells ist in "Electronic Engineering Times", vom 9. November 1992, Seite 35, in dem Artikel "High-speed processor transforms colors", von Junko Yoshida, kurz be­ schrieben. Der "neue Algorithmus" von Yoshida ist selbst je­ doch nicht offenbart. Eine Gemeinsamkeit dieser Interpola­ torlösungen besteht darin, daß dieselben auf Daten für die drei oder mehr Variablen gleichzeitig, d. h. parallel, zu­ greifen müssen, um die schnellste Geschwindigkeit zu erhal­ ten, wodurch entweder redundante Datentabellen oder komplexe Speicherzugriffsmechanismen erforderlich sind. Außerdem er­ fordern diese Interpolationsverfahren Multiplikations- und Divisions-Operationen, die eine aufwendige und komplexe Hardware erfordern.When performing the forming from a three-area system to another are trilinear or quadrilinear interpo lationsverfahren been used, known to those skilled in the art should be. A given device for an inter polation solution using an algorithm of the L.a.b. model is in "Electronic Engineering Times", from November 9, 1992, page 35, in the article "High-speed processor transforms colors ", by Junko Yoshida, short be wrote. Yoshida's "new algorithm" is itself ever but not revealed. A common feature of this Interpola gate solutions is that they are based on data for the three or more variables at the same time, d. H. parallel, too need to grab to get the fastest speed ten, which creates either redundant data tables or complex Memory access mechanisms are required. Besides, he require these interpolation methods multiplication and Division operations, which is an elaborate and complex Require hardware.

In meiner früheren Patentanmeldung Serien-Nr. 08/504,406, die am 20. Juli 1995 eingereicht wurde, mit dem Titel "Method For Multi-Variable Digital Data Storage and Interpo­ lation", offenbare ich einen Farbinterpolationswürfel mit 729 (9 × 9 × 9) Steuerpunkten für jede Achse in dem Ein­ gangsfarbraum. Diese Steuerpunkte sind in einer Tabelle ge­ speichert, woraufhin für einen beliebigen gegebenen Punkt in dem Eingangsfarbwürfel die resultierenden Ausgangswerte mit­ tels einen schnellen Interpolationsverfahrens hergeleitet werden. Aus den im vorhergehenden erörterten Gründen wird diese Anzahl von Steuerpunkten aus der Formel (2m + 1)n her­ geleitet, wobei n die Anzahl der Achsen (typischerweise 3) in dem Eingangsfarbraum ist und die Variable m die Anzahl der Steuerpunkte entlang jeder Achse bestimmt. Die Zahl 729 ergibt sich aus der Wahl von m = 3.In my earlier patent application serial no. 08 / 504,406, which was filed on July 20, 1995, entitled "Method For Multi-Variable Digital Data Storage and Interpolation", I disclose a color interpolation cube with 729 (9 x 9 x 9) control points for each axis in the input aisle color space. These control points are stored in a table, whereupon for any given point in the input color cube the resulting output values are derived using a fast interpolation method. For the reasons discussed above, this number of control points is derived from the formula (2 m + 1) n , where n is the number of axes (typically 3) in the input color space and the variable m determines the number of control points along each axis . The number 729 results from the choice of m = 3.

Falls jedoch m um 1 (m = 4) erhöht wird, erhöht sich die An­ zahl der Steuerpunkte auf 4913 (17 × 17 × 17). Diese Anzahl von Steuerpunkten erhöht den Betrag der Farbgenauigkeit der Farbumwandlung, wobei jedoch ferner ungünstigerweise ein 7-mal größerer Speicherbereich erforderlich ist. Bei dem ge­ genwärtigen Markt von kostengünstigen Druckern stellen die zusätzlichen Kosten für einen Speicher einen wesentlichen Nachteil dar. Folglich besteht ein Bedarf nach einem Farb­ bildumwandlungsverfahren, das eine Erhöhung der Genauigkeit der Farbumwandlung ermöglicht, ohne den Speicher, der für die Speicherung der Steuerpunkte erforderlich ist, übermäßig zu erhöhen.However, if m is increased by 1 (m = 4), the An increases number of control points to 4913 (17 × 17 × 17). That number of control points increases the amount of color accuracy of the  Color conversion, but also unfavorably a 7 times larger memory area is required. With the ge the current market of low cost printers an additional cost for a memory Disadvantage. Hence there is a need for a color image conversion process that increase accuracy The color conversion allows, without the memory needed for the storage of the control points is required excessively to increase.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zu schaffen, das die Farbwerte eines Farbraums ei­ ner bestimmten Vorrichtung auf eine schnelle und ökonomische Art und Weise in den Farbraum einer anderen Vorrichtung um­ formt.The object of the present invention is a To create procedures that ei the color values of a color space ner certain device on a fast and economical Way into the color space of another device forms.

Die Aufgabe der vorliegenden Erfindung wird durch ein Ver­ fahren zum Umformen eines Satzes von Bildpunkten von einem Eingangsfarbraum in einen Ausgangsfarbraum gemäß Anspruch 1 erfüllt.The object of the present invention is achieved by a ver drive to reshape a set of pixels from one Input color space in an output color space according to claim 1 Fulfills.

Die Erfindung liefert ein Verfahren zum Umformen eines Sat­ zes von Bildpunkten von einem Eingangsfarbraum in einen Aus­ gangsfarbraum. In dem Eingangsfarbraum ist ein erster Satz von Steuerpunkten vorgesehen, wobei der erste Satz von Steu­ erpunkten an den Ecken der Würfel in dem ersten Farbraum an­ geordnet ist. In dem ersten Farbraum ist ferner ein zweiter Satz von Steuerpunkten vorgesehen, wobei der zweite Satz von Steuerpunkten innerhalb der Würfel positioniert ist. Sowohl der erste als auch zweite Satz von Steuerpunkten weist einen entsprechenden Satz von Ausgangswerten in dem Ausgangsfarb­ raum auf. Die Ausgangswerte in dem Ausgangsfarbraum für die Bildpunkte werden basierend auf dem ersten und zweiten Satz von Steuerpunkten interpoliert.The invention provides a method for reshaping a satellite zes of pixels from an input color space to an out aisle color space. There is a first sentence in the input color space of control points provided, the first set of control dot on the corners of the cubes in the first color space is ordered. There is also a second in the first color space Set of control points, the second set of Control points are positioned within the cube. Either the first and second set of control points have one corresponding set of output values in the output color clean up. The output values in the output color space for the Pixels are based on the first and second set interpolated from control points.

Bei einem bevorzugten Ausführungsbeispiel ist der zweite Satz von Steuerpunkten an den Mittelpunkten der Würfel posi­ tioniert. Der Eingangsfarbraum ist vorzugsweise ein RGB- Farbraum für eine Darstellung auf einem Computermonitor, wo­ bei der Ausgangsfarbraum vorzugsweise ein Druckerfarbraum ist. In diesem Fall werden die Ausgangswerte vorzugsweise in einen Farbraum umgewandelt, der zumindest die Farben CMY be­ inhaltet.In a preferred embodiment, the second is Set of control points at the centers of the cubes posi worked. The input color space is preferably an RGB  Color space for a display on a computer monitor where preferably a printer color space for the output color space is. In this case, the initial values are preferably in converted a color space that be at least the colors CMY contains.

Bei einem bevorzugten Ausführungsbeispiel umfaßt der Inter­ polationsschritt den Schritt des Unterteilens der Würfel in eine erste Ebene von Teilwürfeln, wobei die Eckpunkte für die erste Ebene von Teilwürfeln aus dem ersten und zweiten Satz von Steuerpunkten interpoliert werden. Dieses Verfahren weist ferner vorzugsweise den Schritt des Unterteilens jedes Teilwürfels der ersten Ebene von Teilwürfeln in eine zweite Ebene von Teilwürfeln auf, wobei die Eckpunkte der zweiten Ebene von Teilwürfeln aus den Eckpunkten der ersten Ebene von Teilwürfeln interpoliert werden. Bei einem äußerst be­ vorzugten Ausführungsbeispiel umfaßt das Verfahren ferner die Schritte des Fortsetzens des Unterteilens der Teilwürfel in weitere Ebenen von Teilwürfeln, bis eine vorbestimmte letzte Ebene von Teilwürfeln erreicht worden ist, und des Bereitstellens von Ausgangswerten für die Bildpunkte basie­ rend auf den Eckpunkten des Teilwürfels der letzten Ebene, in welcher sich die Bildpunkte befinden. Die Ausgangswerte für die Bildpunkte können als die Ausgangswerte für einen der Eckpunkte des Teilwürfels der letzten Ebene, in welcher sich die Bildpunkte befinden, erhalten werden.In a preferred embodiment, the inter polishing step the step of dividing the cubes into a first level of partial cubes, the corner points for the first level of partial cubes from the first and second Set of control points to be interpolated. This method preferably further comprises the step of dividing each Partial cubes of the first level from partial cubes to a second Level of partial cubes, with the corner points of the second Level of partial cubes from the corner points of the first level be interpolated from partial cubes. With an extremely be preferred embodiment, the method further comprises the steps of continuing to subdivide the partial cubes into further levels of partial cubes until a predetermined one last level of partial cubes has been reached, and des Providing output values for the picture elements rend on the corner points of the partial cube of the last level, in which the pixels are located. The initial values for the pixels can be used as the initial values for a the corner points of the partial cube of the last level, in which the pixels are located.

Die Erfindung schafft ein Farbbildumwandlungsverfahren, das eine Erhöhung der Genauigkeit der Farbumwandlung ohne über­ mäßige Erhöhung des Speichers, der für die Speicherung der Steuerpunkte erforderlich ist, bereitstellt.The invention provides a color image conversion method that an increase in the accuracy of color conversion without over moderate increase in memory required for storing the Provides control points.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:Preferred embodiments of the present invention are described below with reference to the accompanying Drawings explained in more detail. Show it:

Fig. 1 eine räumliche Darstellung eines allgemeinen Git­ terspeicherorganisationsaufbaus gemäß der vorlie­ genden Erfindung. Fig. 1 is a spatial representation of a general grid memory organization structure according to the vorlie invention.

Fig. 2 einen entnommenen "Datenwürfel" aus dem Gitterspei­ cherorganisationsaufbau der Daten, wie es in Fig. 1 dargestellt ist. Fig. 2 is a "data cube" taken from the grid memory organization structure of the data, as shown in Fig. 1.

Fig. 3 eine Darstellung einer Erste-Ebene-Unterteilung in Oktantraumregionen des entnommenen Datenwürfels, der in Fig. 2 dargestellt ist. FIG. 3 shows a representation of a first level subdivision into octane space regions of the extracted data cube, which is shown in FIG. 2.

Fig. 4 eine Darstellung einer Zweite-Ebene-Unterteilung der Raumregionen des entnommenen Datenwürfels, der in Fig. 3 dargestellt ist. FIG. 4 shows a second-level subdivision of the spatial regions of the extracted data cube, which is shown in FIG. 3.

Fig. 5 eine Darstellung von Zwischendatenpunkten, die für die Unterteilungsschritte verwendet werden, die in Fig. 3 und 4 dargestellt sind. . 5 is an illustration of intermediate data points which are used for the subdivision steps, which are shown in Fig. 3 and 4 Fig.

Fig. 6 ein Ablaufdiagramm eines Interpolationsverfahrens, das 9 × 9 × 9 Steuerpunkte verwendet. Fig. 6 is used, a flow chart of an interpolation method, the 9 × 9 × 9 control points.

Fig. 7 den entnommenen "Datenwürfel" von Fig. 2 mit einem zusätzlichen Steuerpunkt P8 in der Mitte des Wür­ fels. Fig. 7 the extracted "data cube" of Fig. 2 with an additional control point P8 in the middle of the rock.

Fig. 8 ein Ablaufdiagramm eines Interpolationsverfahrens, das sowohl 9 × 9 × 9 als auch 8 × 8 × 8 Steuerpunk­ te verwendet. Fig. 8 is a flowchart of an interpolation method that uses both 9 × 9 × 9 and 8 × 8 × 8 control points.

Die Zeichnungen, auf die bei dieser Beschreibung Bezug ge­ nommen wird, sollten nicht als maßstäblich gezeichnet aufge­ faßt werden, außer wenn dies im einzelnen angemerkt ist.The drawings to which reference is made in this description is not supposed to be drawn to scale be grasped, unless specifically noted.

Nun wird detailliert auf ein spezifisches Ausführungsbei­ spiel der vorliegenden Erfindung Bezug genommen, das die be­ ste Art und Weise zum Ausführen der Erfindung darstellt, die momentan von dem Erfinder bzw. den Erfindern in Betracht ge­ zogen wird. Alternative Ausführungsbeispiele werden ferner kurz beschrieben, wenn dieselben anwendbar sind. Obwohl die Erfindung bezüglich des Umformens eines ersten beispielhaf­ ten RGB-Raums (eines CRT-Monitors) in einen zweiten bei­ spielhaften RGB-Raum (eines Druckers) beschrieben ist, soll dies keine Einschränkung des Bereichs der vorliegenden Er­ findung darstellen. Das allgemeine Verfahren und die allge­ meine Vorrichtung, die hierin offenbart sind, sind auf eine Interpolation eines beliebigen Typs von nicht-linearen Daten erweiterbar, die als mehrdimensionaler Aufbau dargestellt sein können.Now we will go into detail on a specific execution Game of the present invention referred to the be represents the first mode for carrying out the invention which currently considered by the inventor (s) is pulled. Alternative embodiments are also  briefly described if applicable. Although the Invention relating to the formation of a first exemplary RGB space (of a CRT monitor) into a second playful RGB space (of a printer) is described this does not limit the scope of the present Er represent invention. The general procedure and the general my device disclosed herein are on one Interpolation of any type of non-linear data expandable, which is represented as a multi-dimensional structure could be.

Wie es im vorhergehenden erwähnt wurde, besteht eine Lösung für das Farbraumumformungsproblem darin, die RGB-Druckeraus­ gangswerte für einen Teilsatz von RGB-Monitoreingangswerten im voraus zu berechnen und daraufhin einen schnellen Inter­ polationsalgorithmus zu verwenden, um die Umformungsfunktion für RGB-Zwischenwerte zu approximieren, d. h. für diejeni­ gen, die nicht im voraus berechnet und gespeichert wurden. Die vorliegende Erfindung verwendet eine Datenspeicherung und eine numerische Unterteilungstechnik, die keine komplexe Multiplizierer- und Dividiererschaltungsanordnung erfordern, um ein schnelles und genaues Verfahren zum Interpolieren der im voraus berechneten Farbumformungsfunktion bereitzustel­ len.As mentioned above, there is a solution for the color space conversion problem in it, the RGB printers output values for a subset of RGB monitor input values to calculate in advance and then a quick inter polishing algorithm to use the reshaping function approximate for intermediate RGB values, d. H. for those conditions that have not been calculated and saved in advance. The present invention uses data storage and a numerical subdivision technique that is not complex Multiplier and divider circuitry require a fast and accurate method of interpolating the to provide the previously calculated color conversion function len.

Falls eine N×N×N-Farbtabelle verwendet wird, die von 0 bis N-1 auf jeder Seite indexiert ist, und die RGB-Werte von 0 bis 255 variieren, stellen sich die Indizes der acht Daten­ punkte, die aus der Tabelle gelesen und interpoliert werden müssen, wie folgt dar:
If an N × N × N color table is used that is indexed from 0 to N-1 on each page and the RGB values vary from 0 to 255, the indices of the eight data points that are read from the table arise and need to be interpolated as follows:

Ungünstigerweise sind Multiplizier- und Dividier-Operationen für eine Echtzeitverarbeitung sehr langsam. Um die Tabellen­ positionen, auf die für eine Interpolation zurückgegriffen werden muß, schnell zu berechnen, wurde gewöhnlicherweise die Tabellengröße auf 2m + 1 Schritte in jeder Dimension be­ schränkt, was zu Farbabbildungen führt, die beispielsweise eine Größe von 9×9×9 oder 17×17×17 aufweisen. Mit dieser Einschränkung kann die Tabelle indexiert werden, indem ein Satz der höchstwertigen Bits von dem RGB-Eingang betrachtet und eine einfache Addition angewendet wird. Für das obige Beispiel mit einer Tabellengröße von (2m + 1)3, welche eine 9×9×9-Tabelle ergibt, ergeben die obigen Berechnungen:
Unfortunately, multiply and divide operations are very slow for real-time processing. In order to quickly calculate the table positions that have to be used for an interpolation, the table size was usually limited to 2 m + 1 steps in each dimension, which leads to color images, for example a size of 9 × 9 × 9 or 17 × 17 × 17. With this limitation, the table can be indexed by looking at a set of the most significant bits from the RGB input and applying a simple addition. For the above example with a table size of (2 m + 1) 3 , which results in a 9 × 9 × 9 table, the above calculations result:

wobei << ein Operator für eine bitweise Nach-Rechts-Ver­ schiebung ist.where << is an operator for a bitwise right ver shift is.

Fig. 1 stellt ein Kontinuum von Farbdaten dar, das als Git­ teraufbau für Farbdaten formuliert ist, bei welchem die drei Achsen, d. h. die X-Achse für Grün, die Y-Achse für Rot und die Z-Achse für Blau, die Datenpunkte in einem Dreibereichs­ farbraum definieren. Jede Ecke jedes Würfels in dem Gitter stellt einen gespeicherten Datenpunkt dar. Es ist allgemein üblich, digitale 8-Bit-Datenwerte (8 Bit = 1 Byte) zu ver­ wenden. Folglich werden bei der Implementierung der vorlie­ genden Erfindung, d. h. bei einer beispielhaften CRT-Moni­ tor-zu-Drucker-RGB-Umformung, Datenpunkte für 729 RGB-Werte (aus (23 + 1)3 hergeleitet) im voraus berechnet, die über den Farbraum des Monitors gleichmäßig beabstandet sind; d. h., daß die Daten über das Spektrum in neun gleichen Schritten, d. h. 0 bis 8, in jeder der CRT-Rot-, Grün- und Blau-Achsen gespeichert werden. Es ist zu beachten, daß das Verfahren der vorliegenden Erfindung für beliebige
Fig. 1 shows a continuum of color data, which is formulated as a grid structure for color data, in which the three axes, ie the X axis for green, the Y axis for red and the Z axis for blue, the data points in define a tri-color space. Each corner of each cube in the grid represents a stored data point. It is common practice to use 8-bit digital data values (8 bits = 1 byte). Consequently, in implementing the present invention, ie, in an exemplary CRT monitor-to-printer RGB conversion, data points for 729 RGB values (derived from (2 3 + 1) 3 ) are calculated in advance, which are about the color space of the monitor is evenly spaced; that is, the data about the spectrum is stored in nine equal steps, ie 0 through 8, in each of the CRT red, green and blue axes. It should be noted that the method of the present invention can be used for any

(2m + 1)n-Datensätze funktioniert, wobei
(2 m + 1) n -Datensätze works, wherein

(2m + 1) die Dichte der gespeicherten Datenpunkte dar­ stellt, d. h die Anzahl der Abtastwerte pro Dimension bei der spezifischen Implementierung, und wobei
(2 m + 1) represents the density of the stored data points, d. h the number of samples per dimension in the specific implementation, and where

"n" die Anzahl der Variablen in dem ersten Datenaufbau ist."n" the number of variables in the first data structure is.

Für den beispielhaften Fall eines Dreibereichsfarbraums, d. h. einem Datensatz aus drei Variablen, ist n = 3. Bei dieser Implementierung ist m = 3, woraus sich neun Datenabstufungen pro Dimensionsachse ergeben. Folglich wird eine Gesamtzahl von 729 Datenpunkten bereitgestellt.For the exemplary case of a tri-color space, i. H. a data set of three variables, n = 3. With this Implementation is m = 3, which results in nine data levels result per dimension axis. Consequently, a total number provided by 729 data points.

Diese Datenpunkte bilden das dreidimensionale Gitter, das in Fig. 1 dargestellt ist. Gewöhnlicherweise weist die Daten­ bank dieses Aufbaus eine vorbestimmte Anzahl von Ausgangsda­ tenwerten zum Ansteuern der Ausgabevorrichtungen (wie z. B. einer Tintenstrahlstiftsteuerungseinrichtung) auf, die mit gegebenen Eingangsdatenwerten für die spezifische Ausgabe­ vorrichtung korreliert sind.These data points form the three-dimensional grid, which is shown in FIG. 1. Typically, the database of this construction has a predetermined number of output data values for driving the output devices (such as an ink jet pen controller) that are correlated with given input data values for the specific output device.

In Fig. 2 ist ein Würfel aus dem Gitter entnommen. Gemäß der vorliegenden Erfindung wird ein Standard festgesetzt, bei dem die untere linke hintere Ecke (LLB-Ecke; LLB = lower left back), d. h. p0, die minimalen RGB-Werte für den spezi­ fischen Farbraum darstellt, wobei die obere rechte vordere Ecke (URF-Ecke; upper right front), d. h. p7, die maximalen RGB-Werte für diesen spezifischen Farbraum darstellt. Bei einer weiteren Schreibweise können dieselben wie folgt dar­ gestellt sein:
In Fig. 2 a cube is taken from the grid. According to the present invention, a standard is set in which the lower left rear corner (LLB = lower left back), ie p0, represents the minimum RGB values for the specific color space, the upper right front corner ( URF corner; upper right front), ie p7, represents the maximum RGB values for this specific color space. In another spelling, the same can be represented as follows:

p0 = Rmin, Gmin, Bmin und p7 = Rmax, Gmax, Bmax.p0 = R min , G min , B min and p7 = R max , G max , B max .

Für ein zu druckendes Pixel wird ein RGB-Eingangswert emp­ fangen (siehe ferner Fig. 6, Schritt 601). Für ein beliebi­ ges spezifisches Pixel, das mittels einer Vorrichtung ge­ druckt werden soll, die in der Lage ist, Millionen von Farb­ variationen zu erzeugen, liegt die zu druckende Farbe höchstwahrscheinlich innerhalb der Grenzen eines der acht Würfel der gespeicherten 729 RGB-Werte; d. h., die Farbe ist keine der gespeicherten spezifischen Farbtöne, wobei diesel­ be jedoch innerhalb einer dieser gespeicherten Speicherwür­ feldarstellungen liegt.An RGB input value is received for a pixel to be printed (see also FIG. 6, step 601). For any specific pixel to be printed using a device capable of producing millions of color variations, the color to be printed is most likely within the limits of one of the eight cubes of the stored 729 RGB values; that is, the color is not one of the stored specific hues, but it is within one of these stored cube representations.

Die oberen drei Bits jedes der 8-Bit-RGB-Werte werden ver­ wendet, um auf das Farbabbildungsdatenaufbaugitter indexmä­ ßig zuzugreifen, um die acht Datenpunkte zu entnehmen, die den RGB-Wert umgeben, der mittels einer Interpolation (Fig. 6, Schritt 603) hergeleitet werden soll.The top three bits of each of the 8-bit RGB values are used to index access the color map data construction grid to extract the eight data points surrounding the RGB value that is interpolated ( Fig. 6, step 603 ) should be derived.

Beispielsweise sei angenommen, daß sich die Eingangswerte des Gitters wie folgt darstellen:
For example, suppose that the input values of the grid are as follows:

  • (1) R = 00101100 (= 44),
    G = 10100101 (= 165) und
    B = 01111011 (= 123).
    (1) R = 00101100 (= 44),
    G = 10100101 (= 165) and
    B = 01111011 (= 123).

Die oberen drei Bits jedes dieser Werte sind
The top three bits of each of these values are

  • (2) R = 001 (= 1)
    G = 101 (= 5)
    B = 011 (= 3),
    (2) R = 001 (= 1)
    G = 101 (= 5)
    B = 011 (= 3),

wobei dieselben verwendet werden, um einen speziellen Würfel des gesamten Gitters, nämlich den Würfel von the same being used to make a special cube of the entire grid, namely the cube of

Fig.Fig.

2, der aus 2 that out

Fig.Fig.

1 entnommen ist, zu erhalten (oder "auf denselben inde­ xiert" verstanden werden können), bei welchem sich der LLB-Datenpunkt p0 um 1 "oberhalb" von dem Ursprung auf der Achse für Rot, um 5 "links" von dem Ursprung auf der Achse für Grün, und um 3 "heraus" aus dem Ursprung auf der Achse für Blau befinden würde. Im wesentlichen liefern die oberen drei Bits die "Adresse" in dem Gitter, um acht Datenpunkte zu er­ halten, die den gewünschten Wert umgeben; es ist sicherge­ stellt, daß sich der gewünschte RGB-Ausgangswert innerhalb des Würfels befindet, der durch diese acht Datenpunkte, d. h. p0 bis p7, beschrieben wird. Falls die indexierte Eingabe einer der gespeicherten Datenpunkte ist, wird dieser Daten­ punkt ausgegeben (1 is to be obtained (or "on the same inde xiert "can be understood), at which the LLB data point p0 by 1 "above" from the origin on the axis  for red, by 5 "left" from the origin on the axis for Green, and by 3 "out" from the origin on the axis for Would be blue. Essentially, the top three deliver Bits the "address" in the grid to create eight data points hold that surround the desired value; it is safe ensures that the desired RGB output value is within of the cube that is through these eight data points, i.e. H. p0 to p7 is described. If the indexed entry one of the saved data points is this data point spent (

Fig.Fig.

6, Schritt 605).6, step 605).

Ferner könnte eine grobe Approximation für eine Umformung erzeugt werden, indem einer dieser acht Punkte oder ein Mit­ telwert dieser Punkte, d. h. die "Mittelpunkte" des entnom­ menen Würfels, als der Ausgangswert verwendet wird. Dies würde eine Abbildung erzeugen, die bei diesem Beispiel von 729 gespeicherten Werten 1.241 mögliche Ausgangswerte lie­ fert, d. h. jede Ecke plus jeder Mittelpunkt. Diese Approxi­ mation ist für die meisten Anwendungen jedoch noch nicht ausreichend.It could also be a rough approximation for a reshaping generated by using one of these eight points or a Mit tel value of these points, d. H. the "centers" of the entom the cube used as the starting value. This would produce a map that in this example of 729 stored values 1,241 possible initial values lie finished, d. H. every corner plus every center. This approxi Mation is not yet for most applications sufficient.

Eine wiederholte Unterteilung, die im wesentlichen keine komplexen mathematischen Berechnungen und keine zugeordnete Hardware benötigt, wird verwendet, um eine Einrichtung zum Berechnen eines genaueren Ergebnisses gemäß dem Verfahren der vorliegenden Erfindung zu liefern.A repeated subdivision that is essentially none complex mathematical calculations and no associated Hardware needed is used to set up a device Calculate a more accurate result according to the procedure of the present invention.

In Fig. 3 ist eine Abbildung von Bit-Tripletts in Oktant-Teilwürfel des ursprünglichen Würfels von Fig. 2 darge­ stellt. Das heißt mit anderen Worten, der LLF-Oktant-Teil­ würfel, d. h. die Bits 0, 0, 1, ist in der Achse für Rot um "0", in der Achse für Grün um "0" und in der Achse für Blau um "1" versetzt. Die "Adressen" für alle acht Oktant-Teil­ würfel werden entsprechend hergeleitet (siehe Fig. 6, Schritt 607). FIG. 3 depicts bit triplets in octant sub-cubes of the original cube of FIG. 2. In other words, the LLF octant part, ie bits 0, 0, 1, is around "0" in the red axis, "0" in the green axis and around in the blue axis "1" offset. The "addresses" for all eight octant sub-cubes are derived accordingly (see Fig. 6, step 607).

Die fünf niedrigerwertigen Bits der RGB-Werte, die im vor­ hergehenden in (1) gegeben sind, werden nun verwendet, um die Unterteilung des Würfels, der durch die acht entnommenen Datenpunkte gebildet ist, unter Verwendung der oberen drei Bits in (2) in Fig. 2 zu steuern, um die gesuchte Umfor­ mungsfarbe zu interpolieren (siehe Fig. 6, Schritt 609). Das heißt, die Bits, die die Unterteilungsroutine durchführen, sind:
The five least significant bits of the RGB values given in the previous one in (1) are now used to divide the cube formed by the eight extracted data points using the upper three bits in (2) in Fig. 2 to control to interpolate the desired Umform color (see Fig. 6, step 609). That is, the bits that perform the division routine are:

  • (3) R = 01100,
    G = 00101, und
    B = 11011.
    (3) R = 01100,
    G = 00101, and
    B = 11011.

Das höchstwertige Bit jedes der fünf Bits jeder Farbachse jedes Daten-Tripletts schreibt die erste Unterteilung vor:
The most significant bit of each of the five bits of each color axis of each data triplet dictates the first division:

  • (4) R = 0,
    G = 0, und
    B = 1.
    (4) R = 0,
    G = 0, and
    B = 1.

Wenn diese drei Bits gegeben sind, werden mittels einer Un­ terteilung aus den ursprünglichen Datenpunkten acht neue Da­ tenpunkte berechnet. Diese Datenpunkte sind wieder zum Zweck dieses Beispiels die Ecken des LLF-Oktant-Teilwürfels, die folgendermaßen bezeichnet werden:
If these three bits are given, a subdivision is used to calculate eight new data points from the original data points. Again, for the purposes of this example, these data points are the corners of the LLF octant sub-cube, which are referred to as

  • (5) s0 = (p1-p0)/2
    s1 = p1
    s2 = (p3-p0)/2
    s3 = (p3-p1)/2
    s4 = (p5-p0)/2
    s5 = (p5-p1)/2
    s6 = (p7-p0)/2 (= Mittelpunkt des Datenwürfels von Fig. 3)
    s7 = (p7-p1)/2,
    (5) s0 = (p1-p0) / 2
    s1 = p1
    s2 = (p3-p0) / 2
    s3 = (p3-p1) / 2
    s4 = (p5-p0) / 2
    s5 = (p5-p1) / 2
    s6 = (p7-p0) / 2 (= center of the data cube of Fig. 3)
    s7 = (p7-p1) / 2,

wie es in like it in

Fig.Fig.

4 gezeigt ist.4 is shown.

Die Zwischenpunkte zwischen den Ecken eines Würfels, die be­ rechnet werden, um eine Unterteilung zu ermöglichen, können auf viele unterschiedliche Weisen berechnet werden, wobei eine Reihe von Interpolationsverfahren simuliert wird. Wie es in Fig. 5 gezeigt ist, können beispielsweise die Daten­ werte für die Zwischenpunkte, die als i0. . . i18 dargestellt sind, berechnet werden, um eine vierflächige Interpolation zu simulieren, wie es in Tabelle 1 dargestellt ist. Diese einfachen Algorithmen können für ein trilineares oder ein anderes Interpolationsverfahren vorgesehen sein, wie es bei­ spielsweise Stand der Technik ist.The intermediate points between the corners of a cube that are calculated to allow subdivision can be calculated in many different ways, simulating a number of interpolation methods. As shown in FIG. 5, for example, the data values for the intermediate points, which may be i0. . . i18 are calculated to simulate a four-dimensional interpolation as shown in Table 1. These simple algorithms can be provided for a trilinear or other interpolation method, as is the case, for example, with the prior art.

Tabelle 1Table 1

In der Praxis ist durch Verwenden dieser Simulationen eine Division durch 2 einfach eine binäre Verschiebung nach rechts, wodurch keine aufwendige Divisions-Operations-Hard­ ware erforderlich ist. Ferner müssen nicht mit jeder Unter­ teilung alle der Zwischenpunkte berechnet werden, sondern lediglich sieben Punkte, da einer immer redundant ist (siehe oben s1), und lediglich die Datenpunkte des nächsten Oktan­ ten, der bestimmungsgemäß den interessierenden Datenpunkt enthält, der aus den nächstwertigen Bits der verwendeten Da­ tenfolge bestimmt wird.In practice, using these simulations is one Division by 2 simply a binary shift after right, which means no complex division operations hard goods is required. Furthermore, not every sub division all of the intermediate points are calculated, but only seven points, since one is always redundant (see above s1), and only the data points of the next octane the intended data point of interest contains, from the next significant bits of the Da used sequence is determined.

Tatsächlich definieren diese acht neuen Datenpunkte, d. h. s0 bis s7, einen Oktanten des ursprünglichen Würfels, wobei sich der gewünschte Ausgangswert innerhalb des Oktant-Teil­ würfels befindet. Wir haben eine Stufe der Genauigkeit er­ reicht, bei der 4.096 Ausgangswerte in die Eingangswerte ab­ gebildet werden, falls der "Mittelpunkt" oder der Mittelwert der acht neuen Datenpunkte als das Umformungsergebnis be­ reitgestellt wird. Eine genauere Interpolation erfordert ei­ ne weitere Unterteilung.In fact, these define eight new data points, i. H. s0 to s7, an octant of the original cube, where the desired initial value within the octant part dice. We have a level of accuracy is sufficient for the 4,096 output values in the input values if the "center point" or the mean of the eight new data points as the transformation result  is provided. A more precise interpolation requires ei ne further subdivision.

Für eine zweite Unterteilung wird das zweite Bit aus jeder der fünf Bitfolgen, die oben in (3) gezeigt sind, verwendet:
For a second division, the second bit from each of the five bit sequences shown in ( 3 ) above is used:

  • (6) R = 1,
    G = 0, und
    B = 1.
    (6) R = 1,
    G = 0, and
    B = 1.

Wie es nochmals in Fig. 4 gezeigt ist, ergibt dies auf die­ selbe Art und Weise, auf die der ursprüngliche Würfel p0-p7 unterteilt wurde, einen zweiten Unterteilungs-Oktantwür­ fel des ersten Unterteilungs-Oktantteilwürfels s0-s7. Der gesuchte Ausgangsdatenpunkt befindet sich wieder in einem Würfel, in welchem der gesuchte RGB-Ausgangsfarbwert enthal­ ten ist. Wenn die acht neu hergeleiteten Datenpunkte bezüg­ lich des Wertes näher angeordnet sind, ist der neue Würfel, in dem sich der Datenpunkt sicher befindet, eine noch nähere Interpolation des gewünschten Ausgangswerts als es der erste Teilwürfel, d. h. die Punkte s0 bis s7, war.As shown again in Figure 4, in the same manner in which the original cube p0-p7 was divided, this results in a second subdivision octant cube of the first subdivision octant sub-cube s0-s7. The searched output data point is again in a cube in which the searched RGB output color value is contained. If the eight newly derived data points are arranged closer in terms of value, the new cube in which the data point is safely located is an even closer interpolation of the desired starting value than was the first partial cube, ie points s0 to s7.

Das Verfahren wird mit dem dritten Bit, daraufhin mit dem vierten Bit und dann mit dem fünften Bit fortgesetzt, woraus sich drei weitere Unterteilungen (insgesamt 5) aus der Acht-Bit-Folge des ursprünglichen RGB-Tripletts ergeben (siehe Fig. 6, Schritt 611 und folgende). Folglich ist nach fünf derartigen Unterteilungen ein interpolierter Satz von 16.777.216 Ausgangswerten, die jeweils einem RGB-Ausgangs­ wert entsprechen, von dem ursprünglichen Satz mit 729 ge­ speicherten Werten abgebildet worden. Bei diesem Beispiel ist die fünfte Unterteilung die letzte Unterteilungsebene. Entweder einer der "kleinsten" (fünfte Unterteilung) Teil­ würfeleckenwerte oder ein Mittelwert dieser acht konvergier­ ten Datenpunkte wird als die korrekte Ausgabe, d. h. R'G'B'-Ausgabe (siehe Fig. 6, Schritt 619), für die gegebene Ein­ gangsfunktion ausgegeben. The method is continued with the third bit, then with the fourth bit and then with the fifth bit, which results in three further subdivisions (a total of 5) from the eight-bit sequence of the original RGB triplet (see FIG. 6, step 611 and following). Thus, after five such divisions, an interpolated set of 16,777,216 output values, each corresponding to an RGB output value, has been mapped from the original set with 729 stored values. In this example, the fifth subdivision is the last subdivision level. Either one of the "smallest" (fifth subdivision) partial cube corner values or an average of these eight converged data points is considered the correct output, ie R'G'B 'output (see Fig. 6, step 619), for the given input function spent.

Es ist ferner zu beachten, daß das Verfahren der vorliegen­ den Erfindung einen Kompromiß bezüglich der Geschwindigkeit und der Genauigkeit auf einer Pro-Bild-Basis ermöglicht. We­ niger Unterteilungen erfordern eine geringere Datenverarbei­ tungszeit. Beispielsweise liefert eine Auswahl, um weniger Unterteilungen zu verwenden, eine gültige, aber weniger ge­ naue Farbraumabbildung, wobei dieselbe für eine Geschäfts­ graphik, wie z. B. ein einfaches Balkendiagramm, jedoch vollkommen ausreichend sein kann. Ein Computerkünstler, der weniger an der Geschwindigkeit als an der Wiedergabequalität interessiert ist, würde alle fünf Unterteilungsiterationen verwenden. Dieses Merkmal könnte ferner bedarfsweise bei Echtzeit- und zeitkritischen Anwendungen verwendet werden, um große Bilder mit einer geringeren Genauigkeit als kleine Bilder zu konvertieren. Eine schnelle Bildvorschau und ein Entwurfsbildausdruck kann schneller durchgeführt werden, in­ dem eine gewisse Genauigkeit geopfert wird.It should also be noted that the method of the present the invention a compromise on speed and enables accuracy on a per-image basis. We less subdivisions require less data processing time. For example, one choice yields less To use subdivisions, a valid but less ge accurate color space mapping, the same for a business graphics, such as B. a simple bar chart, however can be perfectly sufficient. A computer artist who less in speed than in playback quality would be interested in all five subdivision iterations use. This feature could also be used if necessary Real-time and time-critical applications are used large images with less accuracy than small ones Convert images. A quick picture preview and a Design image printing can be done faster in who is sacrificed a certain accuracy.

Außerdem kann die Ebene einer Unterteilung ferner innerhalb eines bestimmten Satzes von Farbdaten variieren. Eine größe­ re Unterteilung kann in den Teilen der Farbabbildung vorge­ sehen sein, wo eine hohe Genauigkeit erforderlich ist, wobei eine niedrigere Unterteilung dort vorgesehen sein kann, wo diese hohe Genauigkeit nicht erforderlich ist. Beispielswei­ se gibt es in der Nähe der neutralen Achse mehr feine Farb­ änderungen als bei den sehr gesättigten Farben; folglich müssen die Bereiche mit gesättigten Farben nicht notwendi­ gerweise derart genau berechnet werden. Dies würde optimale Lösungen bezüglich des Kompromisses zwischen Genauigkeit und Durchsatz liefern. Um dies zu implementieren, würde man die Unterteilungsebene, die in jedem "Würfel" der Farbabbildung benötigt wird, basierend auf einem Wahrnehmungsmaßstab im voraus berechnen und diesen Wert zusammen mit den Farbdaten speichern. Während der Echtzeit-Ausführung würde die Unter­ teilungsebene mit diesen Daten geführt werden.In addition, the level of a subdivision can also be within of a particular set of color data vary. One size re subdivision can be found in the parts of the color illustration be see where high accuracy is required, where a lower subdivision can be provided where this high accuracy is not required. For example There is more fine color near the neutral axis changes than in the very saturated colors; consequently the areas with saturated colors are not necessary can be calculated so precisely. This would be optimal Solutions to the compromise between accuracy and Deliver throughput. To implement this, one would use the Subdivision level in each "cube" of the color illustration is needed, based on a perceptual scale in calculate in advance and this value along with the color data to save. During real-time execution, the sub level with this data.

Ein Problem bei diesem offenbarten Interpolationsverfahren besteht darin, daß die Anzahl von Steuerpunkten entlang je­ der Achse des Farbwürfels aufgrund der Tabellengröße von (2m + 1)n beinahe verdoppelt werden muß, um die Genauigkeit der Farbdaten zu erhöhen. Falls beispielsweise eine 9×9×9-Farb­ abbildung nicht genau genug ist, muß eine 17×17×17-Farbab­ bildung verwendet werden, welche beinahe die siebenfache Speichergrößer erfordert. Der Übergang von einer 9×9×9- zu einer 11×11×11-Abbildung ist in der Praxis beispielsweise nicht praktikabel, da die Berechnung der Tabellenpositionen basierend auf der RGB aufwendig wird.A problem with this disclosed interpolation method is that the number of control points along each axis of the color cube has to be almost doubled due to the table size of (2 m + 1) n in order to increase the accuracy of the color data. For example, if a 9 × 9 × 9 color image is not accurate enough, a 17 × 17 × 17 color image must be used, which requires almost seven times the memory size. The transition from a 9 × 9 × 9 to an 11 × 11 × 11 image is not practical in practice, for example, since the calculation of the table positions based on the RGB becomes complex.

Fig. 7 stellt einen Würfel dar, der dem Würfel von Fig. 2 entspricht, mit der Ausnahme, daß derselbe einen zusätzli­ chen Steuerpunkt p8 exakt in der Mitte des Würfels aufweist. Jeder der 512 Würfel in dem Gitter, das bezugnehmend auf Fig. 1 beschrieben ist, weist einen derartigen Steuermittel­ punkt p8 auf. Es ist zu beachten, daß dieser Mittelpunkt p8 derselbe wie der in Fig. 4 gezeigte interpolierte Punkt s6 ist. Bei dem früher beschriebenen Algorithmus wurden die Werte für s6 unter Verwendung des schnellen Interpolations­ algorithmus interpoliert. Bei diesem verbesserten Verfahren sind diese Mittelpunkte p8 jedoch festgesetzte Steuerpunkte, die im Speicher in einer separaten Tabelle der Größe 2m ge­ speichert sind. Fig. 7 shows a cube that corresponds to the cube of Fig. 2, except that it has an additional control point p8 exactly in the center of the cube. Each of the 512 cubes in the grid, which is described with reference to FIG. 1, has such a control center p8. Note that this center point p8 is the same as the interpolated point s6 shown in FIG. 4. In the previously described algorithm, the values for s6 were interpolated using the fast interpolation algorithm. In this improved method, however, these center points p8 are fixed control points which are stored in the memory in a separate table with a size of 2 m .

Das Speicherabspeicherungsformat für diese Mittelpunkte ist im wesentlichen ein Gitter innerhalb eines Gitters. Zusätz­ lich zu dem Zugreifen auf die acht Eckpunkte für eine Inter­ polation, wie es im vorhergehenden beschrieben wurde, wird ferner auf den Mittelpunkt p8 zugegriffen. Der zusätzliche Zugriff, um den Mittelpunkt zu finden, ist einfach:
The storage format for these midpoints is essentially a grid within a grid. In addition to accessing the eight corner points for interpolation as described above, the center point p8 is also accessed. The additional access to find the center is easy:

Mittelpunkt = (R»(8-m)), G»(8-m)), (B»(8-m))indexmäßig zugegriffen auf die Mittelpunkttabelle.Center point = (R »(8-m)), G» (8-m)), (B »(8-m)) accessed index-based on the center point table.

Dieses Interpolationsverfahren gewinnt einen zusätzlichen Steuerpunkt in jedem der Würfel, die in Fig. 7 dargestellt sind, woraus sich eine zusätzliche Farbgenauigkeit ergibt. This interpolation method gains an additional control point in each of the cubes shown in Fig. 7, resulting in additional color accuracy.

Außerdem wird diese zusätzliche Genauigkeit erreicht, indem lediglich 512 (8×8×8) zusätzliche Datenpunkte hinzugefügt werden, woraus sich eine Gesamtzahl von 1.241 Datenpunkten ergibt, wenn dieselben zu den existierenden 729 (9×9×9) Da­ tenpunkten hinzuaddiert werden. Dies ist deutlich weniger als 4.913 Datenpunkte, die bei einem 17×17×17-Gitter exi­ stieren würden, welche sich aus einer Indexierung von m von 3 nach 4 in der Formel (2m + 1)n mit n = 3 ergeben würden.In addition, this additional accuracy is achieved by adding only 512 (8 x 8 x 8) additional data points, resulting in a total of 1,241 data points when added to the existing 729 (9 x 9 x 9) data points. This is significantly less than 4,913 data points that would exist with a 17 × 17 × 17 grid, which would result from an indexing of m from 3 to 4 in the formula (2 m + 1) n with n = 3.

Fig. 8 stellt ein Ablaufdiagramm dar, das zu dem von Fig. 6 ähnlich ist, mit der Ausnahme, daß dieses ein Verfahren of­ fenbart, das sowohl die 9×9×9-Steuerpunkte an den Ecken des Würfels als auch die zusätzlichen 8×8×8-Steuerpunkte an den Mittelpunkten der Würfel verwendet, wie es in Fig. 7 gezeigt ist. Bei diesem Algorithmus liest das Verfahren in Schritt 803 sowohl die acht Würfelecken (aus der 9×9×9-Tabelle) als auch den Mittelpunkt (aus der 8×8×8-Tabelle) für den passen­ den Würfel basierend auf den höherwertigen Bits. In Schritt 805 fragt das Verfahren ab, ob sich der fragliche Bildpunkt tatsächlich auf einem der fraglichen neun Steuerpunkte be­ findet (d. h., ist derselbe einer der Punkte p0 bis p8 von Fig. 7). Fig. 8 is a flow chart similar to that of Fig. 6 except that it discloses a method that includes both the 9x9x9 control points at the corners of the cube and the additional 8x 8 × 8 control points are used at the centers of the cubes, as shown in FIG. 7. With this algorithm, in step 803, the method reads both the eight cube corners (from the 9x9x9 table) and the center point (from the 8x8x8 table) for the fit cube based on the higher order bits. In step 805, the method queries whether the pixel in question is actually located on one of the nine control points in question (ie, it is one of the points p0 to p8 in FIG. 7).

Falls sich der Algorithmus bei der ersten Unterteilung in Teilwürfel befindet, entnimmt der Algorithmus daraufhin bei Schritt 809 einen Mittelpunkt p8 aus der 8×8×8-Tabelle für den passenden Teilwürfeleckpunkt. Nach der ersten Untertei­ lung in Teilwürfel müssen keine weiteren Steuerpunkte aus der 8×8×8-Tabelle entnommen werden. Bei Schritt 809 wird keine Interpolation benötigt, um bestehende Eckpunkte herzu­ leiten (dieselben wurden entweder im vorhergehenden aus den Tabellen entnommen oder im vorhergehenden interpoliert).If the algorithm divides into The algorithm then takes part cubes Step 809 is a center point p8 from the 8 × 8 × 8 table for the matching partial cube corner point. After the first subdivision No additional control points need to be set out in cubes are taken from the 8 × 8 × 8 table. At step 809 no interpolation needed to create existing corner points (they were either derived from the Tables taken or interpolated in the previous).

Selbst wenn dieses 9×9×9- plus 8×8×8-System weit weniger Steuerpunkte als eine 17×17×17-Tabelle aufweist, weist das­ selbe trotzdem dieselbe Farbauflösung entlang der wichtigen "Grau"-Achse auf (d. h. entlang der Achse in dem Farbwürfel, die von Weiß nach Schwarz verläuft). Sowohl die 93+83-Tabel­ le als auch die 173-Tabellen weisen entlang der Grau-Achse 17 Punkte auf. Eine genaue Darstellung dieser neutralen Ach­ se ist einer der wichtigsten Aspekte der Farbwiedergabe.Even if this 9x9x9 plus 8x8x8 system has far fewer control points than a 17x17x17 table, it still has the same color resolution along the important "gray" axis (ie along the Axis in the color cube that runs from white to black). Both the 9 3 +8 3 tables and the 17 3 tables have 17 points along the gray axis. An accurate representation of these neutral axes is one of the most important aspects of color rendering.

Zusätzlich ist der Mittelpunkt jedes der Würfel in einer Gitterdarstellung der Punkt, der sich am weitesten entfernt von einem beliebigen der ursprünglichen 9×9×9-Steuerpunkte befindet. Falls zusätzlich Daten zu einer bestehenden Farb­ tabelle hinzugefügt werden sollen, stellen diese Mittelpunk­ te bezüglich der- Beabstandung des Vorrichtungseingangsfarb­ raums die optimale Position dar.In addition, the center of each of the cubes is in one Grid representation of the point that is farthest away from any of the original 9 × 9 × 9 control points located. If additional data for an existing color table should be added, these center te regarding the device input color spacing the optimal position.

Außerdem verringert dieses Datenformat den Durchsatz (die Anzahl der Seiten, die pro Minute gedruckt werden) des Druckers nicht, wenn dasselbe in Verbindung mit dem be­ schriebenen Interpolationsalgorithmus verwendet wird. Falls die Steuermittelpunkte in einer Tabelle nicht vorgesehen wurden, müßte der Interpolationsalgorithmus diese Punkte be­ rechnen. Das Wiedergewinnen dieser Steuerpunkte aus einer Tabelle in einem Speicher ist zumindest genauso schnell wie die Berechnung derselben, wenn nicht schneller.This data format also reduces throughput (the Number of pages printed per minute) Printer, if the same in connection with the be written interpolation algorithm is used. If the tax centers are not provided in a table the interpolation algorithm would have to address these points count. Recovering these control points from one Table in a memory is at least as fast as calculating the same if not faster.

Folglich liefert das offenbarte verbesserte Verfahren eine erhöhte Farbgenauigkeit, wobei für die erhöhte Farbgenauig­ keit keine übermäßige Speichermenge hinzugefügt werden muß.Accordingly, the improved method disclosed provides one increased color accuracy, being for the increased color accuracy No excessive amount of memory needs to be added.

Claims (9)

1. Verfahren (Fig. 8) zum Umformen eines Satzes von Bild­ punkten von einem Eingangsfarbraum (Fig. 1) in einen Ausgangsfarbraum, wobei das Verfahren folgende Schritte aufweist:
Bereitstellen eines ersten Satzes von Steuerpunkten (p0, p1, p2, p3, p4, p5, p6, p7) in dem Eingangsfarb­ raum, wobei der erste Satz von Steuerpunkten an den Würfelecken (Fig. 7) in dem Eingangsfarbraum angeordnet ist;
Bereitstellen eines zweiten Satzes von Steuerpunkten (p8) in dem Eingangsfarbraum, wobei der zweite Satz von Steuerpunkten innerhalb der Würfel positioniert ist;
wobei sowohl der erste als auch der zweite Steuerpunkt einen entsprechenden Satz von Ausgangswerten in dem Ausgangsfarbraum aufweisen; und
Interpolieren der Ausgangswerte für die Bildpunkte ba­ sierend auf dem ersten und zweiten Satz von Steuerpunk­ ten.
1. A method ( FIG. 8) for reshaping a set of pixels from an input color space ( FIG. 1) into an output color space, the method comprising the following steps:
Providing a first set of control points (p0, p1, p2, p3, p4, p5, p6, p7) in the input color space, the first set of control points being located at the cube corners ( Fig. 7) in the input color space;
Providing a second set of control points (p8) in the input color space, the second set of control points positioned within the cubes;
wherein both the first and second control points have a corresponding set of output values in the output color space; and
Interpolate the output values for the pixels based on the first and second set of control points.
2. Verfahren (Fig. 8) gemäß Anspruch 1, bei dem der zweite Satz von Steuerpunkten (p8) an den Mittelpunkten der Würfel (Fig. 7) positioniert ist.2. The method ( Fig. 8) according to claim 1, wherein the second set of control points (p8) is positioned at the centers of the cubes ( Fig. 7). 3. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, bei dem der erste Farbraum (Fig. 1) ein RGB-Farbraum zur Darstellung auf einem Computermonitor ist.3. The method ( Fig. 8) according to one of the preceding claims, in which the first color space ( Fig. 1) is an RGB color space for display on a computer monitor. 4. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, bei dem der Ausgangsfarbraum zum Drucken auf einem Farbdrucker angepaßt ist.4. The method ( Fig. 8) according to one of the preceding claims, in which the output color space is adapted for printing on a color printer. 5. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, bei dem die Ausgangswerte in einen Farbraum umgewandelt werden, der zumindest die Farben CMY auf­ weist.5. The method ( FIG. 8) according to one of the preceding claims, in which the output values are converted into a color space which has at least the colors CMY. 6. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, bei dem der Interpolationsschritt den Schritt des Unterteilens (809) der Würfel in eine erste Ebene von Teilwürfeln (809) aufweist, wobei die Eckpunkte für die erste Ebene von Teilwürfeln aus dem ersten und zweiten Satz von Steuerpunkten (p0, p1, p2, p3, p4, p5, p6, p7, p8) interpoliert werden.6. The method ( Fig. 8) according to one of the preceding claims, in which the interpolation step comprises the step of dividing (809) the cubes into a first level of partial cubes (809), the corner points for the first level of partial cubes from first and second set of control points (p0, p1, p2, p3, p4, p5, p6, p7, p8) are interpolated. 7. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, das ferner den Schritt des Unterteilens (809) jedes Teilwürfels der ersten Ebene von Teilwürfeln in eine zweite Ebene von Teilwürfeln aufweist, wobei die Eckpunkte der zweiten Ebene von Teilwürfeln aus den Eckpunkten der ersten Ebene von Teilwürfeln interpo­ liert werden.7. The method ( Fig. 8) according to one of the preceding claims, further comprising the step of dividing (809) each partial cube of the first level of partial cubes into a second level of partial cubes, the corner points of the second level of partial cubes being from the corner points on the first level of partial cubes. 8. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, das ferner folgende Schritte aufweist:
Fortsetzen der Unterteilung der Teilwürfel in weitere Ebenen von Teilwürfeln, bis eine vorbestimmte letzte Ebene von Teilwürfeln erreicht worden ist; und
Bereitstellen von Ausgangswerten für die Bildpunkte ba­ sierend auf dem Teilwürfel der letzten Ebene, in dem sich die Bildpunkte befinden.
8. The method ( Fig. 8) according to one of the preceding claims, which further comprises the following steps:
Continuing the subdivision of the partial cubes into further levels of partial cubes until a predetermined last level of partial cubes has been reached; and
Provision of initial values for the pixels based on the partial cube of the last level in which the pixels are located.
9. Verfahren (Fig. 8) gemäß einem der vorhergehenden An­ sprüche, bei dem die Ausgangswerte der Bildpunkte als die Ausgangswerte für einen der Eckpunkte des Teilwür­ fels der letzten Ebene genommen werden, in dem sich die Bildpunkte befinden.9. The method ( FIG. 8) according to one of the preceding claims, in which the starting values of the pixels are taken as the starting values for one of the corner points of the partial cube of the last level in which the pixels are located.
DE1997147118 1996-10-31 1997-10-24 Color image conversion method Withdrawn DE19747118A1 (en)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
DE19747118A1 true DE19747118A1 (en) 1998-05-07

Family

ID=24982627

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997147118 Withdrawn DE19747118A1 (en) 1996-10-31 1997-10-24 Color image conversion method

Country Status (3)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5605067B2 (en) * 2010-08-09 2014-10-15 株式会社ニコン Information processing apparatus and program
GB2568492B (en) * 2017-11-16 2020-02-26 Apical Ltd 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

Also Published As

Publication number Publication date
GB9721888D0 (en) 1997-12-17
GB2318943A (en) 1998-05-06
JPH10150578A (en) 1998-06-02

Similar Documents

Publication Publication Date Title
DE3890560C2 (en) Image colour correction appts.
DE60310361T2 (en) Color space conversion using interpolation
DE3808818C2 (en)
DE3313392C2 (en)
DE69532016T2 (en) Image processing device and method
DE3015396C2 (en)
DE3348093C2 (en)
DE4343362C2 (en) Process for creating harmonious color corrections
DE69934569T2 (en) Color conversion process
DE3015337A1 (en) METHOD AND DEVICE FOR DIGITALLY CARRYING OUT A MASKING PROCESS IN AN IMAGE REPRODUCTION MACHINE
DE4418782A1 (en) System and method for adjusting a colour picture
DE69723669T2 (en) Process for the non-linear storage, retrieval and interpolation of &#34;tristimulus&#34; color data
DE69918790T2 (en) Method and device for predefined color conversion
DE10137164A1 (en) Grayscale halftone processing
DE3222662A1 (en) METHOD AND DEVICE FOR LINEAR INTERPOLATION FOR SIGNALS IN A MEMORY
EP0293703B1 (en) Method for recording quasi half-tone pictures and apparatus for converting the tonal data of picture elements
DE19623318C2 (en) Partial pixel coding and decoding methods
DE4234985C2 (en) Method for transforming color signals and device for carrying out the method
EP0931413B1 (en) Method of interpolation in an n-dimensional colour space
DE4341871C2 (en) System for the generation of corrected color images
DE69827183T2 (en) A color conversion device
DE60313115T2 (en) Colorimetric method to reduce ink consumption for printers
DE69721212T2 (en) Image data color correction method
DE60027187T2 (en) SYSTEM AND METHOD FOR PROCESSING MULTIPLE LEVELS WITH LEVEL RESTRICTION
DE4232704C2 (en) Method and circuit arrangement for the electronic retouching of images

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal