DE3876212T2 - METHOD AND DEVICE FOR DISPLAYING THREE-DIMENSIONAL COLOR DATA IN A ONE-DIMENSIONAL REFERENCE SYSTEM. - Google Patents
METHOD AND DEVICE FOR DISPLAYING THREE-DIMENSIONAL COLOR DATA IN A ONE-DIMENSIONAL REFERENCE SYSTEM.Info
- Publication number
- DE3876212T2 DE3876212T2 DE19883876212 DE3876212T DE3876212T2 DE 3876212 T2 DE3876212 T2 DE 3876212T2 DE 19883876212 DE19883876212 DE 19883876212 DE 3876212 T DE3876212 T DE 3876212T DE 3876212 T2 DE3876212 T2 DE 3876212T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- color
- dimensional
- component
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 8
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 20
- 239000003086 colorant Substances 0.000 description 12
- 238000013139 quantization Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/06—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Description
Die Erfindung betrifft die Darstellung von Farbbildern auf einem Computerbildschirm und insbesondere ein Verfahren und eine Vorrichtung zum Verarbeiten, Speichern und Bezeichnen von Daten, die Bildfarben entsprechen, nach dem Oberbegriff von Patentanspruch 1 bzw. 2.The invention relates to the representation of color images on a computer screen and in particular to a method and a device for processing, storing and designating data corresponding to image colors according to the preamble of patent claim 1 or 2.
In vielen Computerterminal-Systemen werden Bild-Farbdaten als R-, G-, B-(Rot, Grün, Blau) Farbkomponentenwerte an vorgegebenen Speicherstellen gespeichert. Häufig werden Rotwerte in einer Gruppe von Speicherstellen, Grünwerte in einer anderen und Blauwerte in einer dritten Gruppe gespeichert. Um eine Farbe auszuwählen, die aus einem Farbwert aus jeder der Gruppen besteht, spezifiziert der Benutzer gewöhnlich eine Farbnummer oder einen Index. Der Index, der einer einzelnen (eindimensionalen) Adresse entspricht, ermöglicht den Zugriff auf einen bestimmten Satz von RGB- Werten, welche der ausgewählten Farbe entsprechen. Ein solch "Einzelindex"-System nach dem Stand der Technik ist beispielsweise in der US-A-4,509,043 vom 2. April 1985 beschrieben.In many computer terminal systems, image color data is stored as R, G, B (red, green, blue) color component values in predetermined memory locations. Often, red values are stored in one group of memory locations, green values in another, and blue values in a third group. To select a color consisting of a color value from each of the groups, the user typically specifies a color number or index. The index, which corresponds to a single (one-dimensional) address, allows access to a specific set of RGB values corresponding to the selected color. One such prior art "single index" system is described, for example, in US-A-4,509,043, dated April 2, 1985.
Eine andere Art eines Systems nach dem Stand der Technik ist das "Echtfarben"-System, bei dem die echten oder tatsächlichen Farben eines Gegenstandes dargestellt werden sollen. Ein solches Echtfarben-System ist beispielsweise in "Model One/25 Programming Guide", veröffentlicht von Raster Technologies Corporation am 12. Dezember 1983, beschrieben. Bei einem solchen Echtfarben-System spezifiziert der Benutzer allgemein die RGB-Farbwerte selbst (anstelle von Farbnummern oder -indizes), um eine ausgewählte Farbe darzustellen. Dieser "Farbwert"-Ansatz entspricht dem Echtfarben-System - einem dreidimensionalen Farb-Bezeichnungssystem. Der "Farbnummern"- Ansatz entspricht dem Index-Farbsystem - einem eindimensionalen Farbbezeichnungssystem.Another type of prior art system is the "true color" system, which is intended to represent the true or actual colors of an object. One such true color system is described, for example, in "Model One/25 Programming Guide" published by Raster Technologies Corporation on December 12, 1983. In such a true color system, the user generally specifies the RGB color values themselves (instead of color numbers or indices) to represent a selected color. This "color value" approach corresponds to the true color system - a three-dimensional color naming system. The "color number" approach corresponds to the index color system - a one-dimensional color naming system.
Echtfarb-Systeme werden im allgemeinen zum Erzeugen farblich abgestufter Bilder verwendet, um mit Scannern eingelese Bilder darzustellen und um physische Erscheinungen zu simulieren, wie farbiges Licht, das eine aus farbigen Gegenständen bestehende Szene beleuchtet. Index-Farbsysteme werden im allgemeinen zum Abbilden der Farbe ikonografischer Symbole, zum Darstellen skalarer Werte oder zum Unterscheiden von Bildsegmenten verwendet (beispielsweise so einfache Darstellungen wie Punkte, Linien, Bögen, Kreise, Rechtecke, Polygone und Textdarstellungen).True color systems are generally used to produce color-graded images, to represent images read by scanners, and to simulate physical phenomena such as colored light illuminating a scene consisting of colored objects. Index color systems are generally used to map the color of iconographic symbols, to represent scalar values, or to distinguish image segments (for example, such simple representations as points, lines, arcs, circles, rectangles, polygons, and text representations).
Oft sollen symbolische Bilder, die in Indexfarben spezifiziert sind, schattierten Bildern, die in Echtfarben spezifiziert sind, überlagert werden. Um dies zu erreichen, braucht man ein System, das sowohl eine Echtfarb-Darstellung als auch eine Indexfarb-Darstellung zuläßt.Often symbolic images specified in index colors are to be superimposed on shaded images specified in true colors. To achieve this, a system is needed that allows both true color and index color representation.
Die US-A-4,509,043 offenbart eine Vorrichtung zum Darstellen von Drei-Komponenten-Farbdaten in einem Einzelindex- Bezugssystem, mit einer Verarbeitungseinrichtung, die auf angelegte, Farbkomponenten-Information darstellende Daten anspricht, und mit einer mit der Verarbeitungseinrichtung verbundenen Speichereinrichtung. Die bekannte Vorrichtung sieht vor, unabhängig eines von mehreren Bildern auf einer Anzeige anzuzeigen und mehrere Bilder zu überlagern, um ein zusammengesetztes Bild zu erzeugen. In dem Speicher ist eine Farbabbildungskarte, oder Farbabbildung, aufgebaut, die mehrere Helligkeits-Indizes enthält, welche die Helligkeit des Bildes bestimmen. Jedem dieser Indizes sind ein oder mehrere Farbindizes zugeordnet. Die jedem Pixel des Bildes zugeordneten Bits werden als ein Index für die Farbabbildung verwendet, indem sie die entsprechenden Farben oder Grau- Indizes lokalisieren.US-A-4,509,043 discloses an apparatus for representing three-component color data in a single index reference system, comprising processing means responsive to applied data representing color component information and memory means connected to the processing means. The known apparatus provides for independently displaying one of a plurality of images on a display and superimposing a plurality of images to produce a composite image. A color map, or color map, is constructed in the memory, which contains a plurality of brightness indices which determine the brightness of the image. Each of these indices is associated with one or more color indices. The bits associated with each pixel of the image are used as an index for the color map by locating the corresponding colors or gray indices.
Die Erfindung sieht gemäß den Ansprüchen 1 und 2 ein Verfahren und eine Vorrichtung vor, die sowohl Echtfarb-Bilder als auch Indexfarb-Bilder darstellen können. Der Benutzer kann entweder eine Farbnummer zur Bezeichnung einer Indexfarbe oder RGB- Farbwerte zum Bezeichnen einer Echtfarbe spezifizieren.The invention provides according to claims 1 and 2 a method and a device that can display both true color images and index color images. The user can specify either a color number to designate an index color or RGB color values to designate a true color.
Indexfarb-Operationen und Echtfarb-Operationen werden in einer Indexfarb-Umgebung durch geführt.Index color operations and true color operations are performed in an index color environment.
Erfindungsgemäß berechnet die Vorrichtung zum Durchführen einer Echtfarb-Operation in einer Indexfarb-Umgebung eindimensionale indexartige Daten aus dreidimensionalen vom Benutzer eingegebenen Echtfarb-Daten. Der Benutzer spezifiziert die Anzahl der Farbpegel, die zum Darstellen des Bereiches darstellbarer Rot-, Grün- und Blau-Farbtöne verwendet werden, sowie die RGB-Werte der darzustellenden Farben. Die Vorrichtung leitet Echtfarb-Daten (RGB-Farbpegel- Werte) von der Anzahl der vom Benutzer spezifizierten Farbpegel ab, speichert die abgeleiteten Daten im Speicher in einer vorgebenen Ordnung, die für eine Bezugnahme durch eine einzelne Adresse oder einen Index geeignet ist, und leitet von den vom Benutzer bestimmten RGB-Werten eine einzelne Adresse ab, um auf die gespeicherten Daten Bezug zu nehmen.According to the invention, the apparatus for performing a true color operation in an index color environment calculates one-dimensional index-like data from three-dimensional true color data input by the user. The user specifies the number of color levels used to represent the range of representable red, green and blue colors and the RGB values of the colors to be represented. The apparatus derives true color data (RGB color level values) from the number of color levels specified by the user, stores the derived data in memory in a predetermined order suitable for reference by a single address or index, and derives a single address from the user-specified RGB values for reference to the stored data.
Die Vorrichtung umfaßt eine Tastatur und Anschluß an einen Host-Rechner zum Eingeben von Indexfarb-Daten und Echtfarb- Daten, eine mit der Tastatur und/oder dem Host-Rechner verbundenen Verarbeitungsvorrichtung zum Erzeugen von indexartigen Daten aus den Echtfarb-Daten, eine Speichervorrichtung zum Speichern der Eingangsdaten und der von der Verarbeitungsvorrichtung erzeugten Daten und eine Anzeigevorrichtung zum Anzeigen der gespeicherten Daten.The device comprises a keyboard and connection to a host computer for entering index color data and true color data, a processing device connected to the keyboard and/or the host computer for generating index-like data from the true color data, a storage device for storing the input data and the data generated by the processing device, and a display device for displaying the stored data.
In den Figuren zeigen:In the figures show:
Fig. 1 ein Blockdiagramm eines Systems nach dem Stand der Technik, das Indexfarb-Operationen durchführen kann,Fig. 1 is a block diagram of a prior art system that can perform index color operations,
Fig. 2 ein Blockdiagramm einer Anordnung von Daten in einem Speicher des Systemes von Fig. 1,Fig. 2 is a block diagram of an arrangement of data in a memory of the system of Fig. 1,
Fig. 3 ein Blockdiagramm eines Systems nach dem Stand der Technik, das Echtfarb-Operationen durchführen kann,Fig. 3 is a block diagram of a prior art system that can perform true color operations,
Fig. 4 ein Blockdiagramm der erfindungsgemäßen Vorrichtung zum Durchführen von Indexfarb-Operation und Echtfarb- Operation in einer Indexfarb-Umgebung,Fig. 4 is a block diagram of the device according to the invention for performing index color operation and true color operation in an index color environment,
Fig. 5 ein Blockdiagramm eines Farbabbildungs-Speichers der Vorrichtung von Fig. 4,Fig. 5 is a block diagram of a color image memory of the device of Fig. 4,
Fig. 6 ein Blockdiagramm des Bereiches der darstellbaren Farben als ein dreidimensionaler Farb-Koordinatenraum,Fig. 6 a block diagram of the range of representable colors as a three-dimensional color coordinate space,
Fig. 7 ein Blockdiagramm einer in der Vorrichtung von Fig. 4 verwendeten Verkettungsmaske undFig. 7 is a block diagram of a concatenation mask used in the device of Fig. 4 and
Fig. 8 ein Blockdiagramm mehrerer Bitebenen, einer Echtfarb- Oberfläche und einer Einzelindex-Oberfläche.Fig. 8 is a block diagram of multiple bit planes, a true color surface and a single index surface.
Fig. 1 zeigt ein System nach dem Stand der Technik, das Indexfarb-Operationen durchführen kann. Fig. 2 zeigt einen Farbabbildungs-Speicher des Systems, RGB-Daten, die typischerweise im Speicher gespeichert sind, und eine eindimensionale (Einzel-Farbindex) Adresstruktur für die Bezugnahme aufgespeicherter Daten. Fig. 3 zeigt eine dreidimensionale Adresstruktur nach dem Stand der Technik für die Bezugnahme aufgespeicherter Daten. Ausgehend von den vom Benutzer eingegebenen, im Bildspeicher gespeicherten RGB- Werten wird auf in drei Nachschlage-Tabellen (LUTs) gespeicherte Farbwerte bezuggenommen. Fig. 2 zeigt ein Ein- Adress (Index)-Schema, während Fig. 3 ein Drei-Adressen (Echtfarb)-Schema zeigt.Fig. 1 shows a prior art system capable of performing index color operations. Fig. 2 shows a system color map memory, RGB data typically stored in memory, and a one-dimensional (single color index) address structure for referencing stored data. Fig. 3 shows a prior art three-dimensional address structure for referencing stored data. Based on the user-entered RGB values stored in the image memory, color values stored in three look-up tables (LUTs) are referenced. Fig. 2 shows a one-address (index) scheme, while Fig. 3 shows a three-address (true color) scheme.
Fig. 4 zeigt ein Echtfarb-Ein-Adress-Schema, das von der Vorrichtung nach der Erfindung verwendet wird. Wie bei dem in der US-A-4,509,043 beschriebenen System nach dem Stand der Technik kann die Vorrichtung nach der Erfindung Indexfarb- Operation durchführen. Anders als Systeme nach dem Stand der Technik kann die Vorrichtung Echtfarb-Operationen in einer Indexfarb-Umgebung durchführen.Fig. 4 shows a true color single address scheme used by the Apparatus according to the invention is used. As with the prior art system described in US-A-4,509,043, the apparatus according to the invention can perform index color operations. Unlike prior art systems, the apparatus can perform true color operations in an index color environment.
Die Vorrichtung umfaßt eine Tastatur 10 und einen Anschluß an einen Host-Rechner zum Eingeben von Indexfarb-Daten und Echtfarb-Daten, eine mit der Tastatur und/oder dem Host-Rechner verbundene Verarbeitungsvorrichtung 11 zum Erzeugen von indexartigen Daten aus den Echtfarb-Daten, eine Speichervorrichtung 13 zum Speicher der Eingangsdaten und der von der Verarbeitungsvorrichtung erzeugten Daten und eine Anzeigevorrichtung 15 zum Anzeigen der gespeicherten Daten.The device comprises a keyboard 10 and a connection to a host computer for entering index color data and true color data, a processing device 11 connected to the keyboard and/or the host computer for generating index-like data from the true color data, a storage device 13 for storing the input data and the data generated by the processing device, and a display device 15 for displaying the stored data.
Die Verarbeitungsvorrichtung 11 umfaßt einen Mikroprozessor 12, der ein ROM (Nur-Lese-Speicher, nicht gezeigt) mit einem darin gespeicherten programm aufweist, und einen Vektor- Generator 18. Die Speichervorrichtung 13 weist einen Speicher 14 zum Speichern von Index-Informationen, einen Bildanzeige- Speicher 20 und einen Farbabbildungs-Speicher 22 auf. Die Anzeigevorrichtung 15 weist eine Bildzeitgeber- und Steuerschaltung 16, eine CTR (Kathodenstrahlröhre)-Anzeige mit einer zugeordneten Ablenkschaltung und einen Digital-Analog- Umsetzer auf.The processing device 11 comprises a microprocessor 12 having a ROM (read only memory, not shown) with a program stored therein, and a vector generator 18. The storage device 13 comprises a memory 14 for storing index information, an image display memory 20 and a color image memory 22. The display device 15 comprises an image timing and control circuit 16, a CTR (cathode ray tube) display with an associated deflection circuit and a digital-to-analog converter.
Die erfindungsgemäße Vorrichtung ist ähnlich dem in der US-A-4,509,043 beschriebene System zum Durchführen von Index- Operationen, und die Beschreibung dieses Systems bezieht sich ebenfalls auf die vorliegende Vorrichtung. Beim Durchführen von Echtfarb-Operationen in einer solchen Index-Umgebung arbeiten der Prozessor und der Farbabbildungs-Speicher der vorliegenden Vorrichtung jedoch anders als dieses System, wie im folgenden beschrieben ist.The apparatus of the present invention is similar to the system for performing indexing operations described in US-A-4,509,043, and the description of that system also applies to the present apparatus. However, in performing true color operations in such an indexing environment, the processor and color map memory of the present apparatus operate differently from that system, as described below.
Fig. 5 zeigt den Farbabbildungs-Speicher 22 der vorliegenden Vorrichtung mit weiteren Einzelheiten. Wie beim Stand der Technik, sind die RGB-Werte im Speicher in Tabellenform angeordnet, wobei jede Speicherstelle einen Satz von durch eine einzelne Adresse adressierbaren R-, G- und B-Wert enthält. Anders als beim Stand der Technik, sind die RGB-Werte in den Tabellen von der Vorrichtung aus in die Vorrichtung eingegebenen Daten berechnet (abgeleitet). Die Berechnung wird vom Prozessor 12, gesteuert durch das gespeicherte Programm, durchgeführt. (Beispiele dieses gespeicherten Programms sind in den Anhängen A und B angegeben.) Ebenfalls anders als beim Stand der Technik wird die zur Bezugnahme auf die RGB-Werte in der Tabelle verwendete, einzelne Adresse vom prozessor 12 der Vorrichtung aus vom Benutzer spezifizierten RGB-Werten abgeleitet. Erfindungsgemäß werden also sowohl die RGB- Tabellenwerte als auch die Einzeladresse zur Bezugnahme auf die RGB-Tabellenwerte von der Vorrichtung abgeleitet.Fig. 5 shows the color image memory 22 of the present Device in further detail. As in the prior art, the RGB values in memory are arranged in a table format, with each memory location containing a set of R, G and B values addressable by a single address. Unlike the prior art, the RGB values in the tables are calculated (derived) by the device from data input to the device. The calculation is performed by the processor 12 under the control of the stored program. (Examples of this stored program are given in Appendices A and B.) Also unlike the prior art, the single address used to refer to the RGB values in the table is derived by the device's processor 12 from RGB values specified by the user. Thus, according to the invention, both the RGB table values and the single address for referring to the RGB table values are derived by the device.
Der erste Benutzer der Vorrichtung (beispielsweise der Lieferant der Vorrichtung) spezifiziert die RGB-Farbwerte, die den Bestand der Tabelle bilden sollen, indem er das geschlossene Intervall von Null bis Eins für jede Farbe gleichmäßig quantisiert. Der Benutzer kann beispielsweise die Anzahl der darstellbaren Pegel mit Q festlegen (d. h., Q diskrete Quantisierungspegel von darstellbaren roten, grünen und blauen Grundfarben). Daraufhin berechnet die Vorrichtung die tatsächlichen Tabelleneinträge (d. h., die Echtfarb-RGB- Werte, die die ursprünglichen vom Benutzer bestimmten Werte erzeugen, wenn nachfolgend durch eine einzelne indexartige Adresse auf diese bezuggenommen wird).The first user of the device (e.g., the device supplier) specifies the RGB color values that are to constitute the table by uniformly quantizing the closed interval from zero to one for each color. For example, the user may specify the number of representable levels as Q (i.e., Q are discrete quantization levels of representable red, green, and blue primary colors). The device then computes the actual table entries (i.e., the true-color RGB values that produce the original user-specified values when subsequently referenced by a single index-like address).
Wie in Tabelle 1 gezeigt, kann ein Satz darstellbarer Grundfarben-Pegel, bei dem die Anzahl (Q) der Quantisierungspegel gleich 5 ist, wie folgt aussehen: TABELLE I Quantisierungspegel darstellbare GrundfarbenpegelAs shown in Table 1, a set of representable primary color levels where the number (Q) of quantization levels is 5 can be as follows: TABLE I Quantization level representable primary color levels
Die fünf Quantisierungspegel besetzen den Bereich von 0% bis 100% der darstellbaren roten, grünen und blauen Primärfaraben.The five quantization levels cover the range from 0% to 100% of the displayable red, green and blue primary colors.
Wie in Fig. 6 gezeigt, kann der Bereich der darstellbaren Farben als ein dreidimensionaler Farbraum gesehen werden, wobei (0, 0, 0) Schwarz darstellt, d. h., 0% Rot, 0% Grün und 0% Blau, (1, 0, 0) 100% Rot darstellt, (0, 1, 0) 100% Grün darstellt, (0, 0, 1) 100% Blau darstellt und (1, 1, 1) Weiß darstellt, d. h., 100% Rot, 100% Grün und 100% Blau.As shown in Fig. 6, the range of representable colors can be seen as a three-dimensional color space, where (0, 0, 0) represents black, i.e., 0% red, 0% green, and 0% blue, (1, 0, 0) represents 100% red, (0, 1, 0) represents 100% green, (0, 0, 1) represents 100% blue, and (1, 1, 1) represents white, i.e., 100% red, 100% green, and 100% blue.
Wie in Fig. 6 gezeigt, kann der Benutzer der VorrichtungAs shown in Fig. 6, the user of the device
Q&sub1; Pegel Rot,Q1 Level Red,
Q&sub2; Pegel Grün undQ2 level green and
Q&sub3; Pegel Blau,Q3 Level Blue,
auswählen, wenn ein Echtfarb-Gegenstand innerhalb der Grenzen der darstellbaren Farben der Vorrichtung abgebildet werden soll. Von den durch den Benutzer spezifizierten, darstellbaren Pegeln leitet (berechnet) die Vorrichtung geeignete Farbwerte für eine Einzelindex-Bezugnahme (Einzel-Adressierung) ab und speichert die abgeleiteten Werte in Tabellen im Speicher zur späteren Verwendung.select when a true color object is to be displayed within the limits of the displayable colors of the device. From the displayable levels specified by the user, the device derives (calculates) appropriate color values for single index reference (single addressing) and stores the derived values in tables in memory for later use.
Die Vorrichtung berechnet die Farbwerte (Tabelleneinträge) und belegt die RGB-Tabellen wie folgtThe device calculates the color values (table entries) and fills the RGB tables as follows
Rot (Adresse) = i/(Q&sub1; - 1)Red (address) = i/(Q₁ - 1)
Grün (Adresse) = j/(Q&sub2; - 1)Green (address) = j/(Q₂ - 1)
Blau (Adresse) = k/(Q&sub3; - 1),Blue (address) = k/(Q₃ - 1),
wobeiwhere
Q&sub1; der Anzahl der für Rot spezifizierten Quantisierungspegel entspricht,Q�1 corresponds to the number of quantization levels specified for red,
Q&sub2; der Anzahl der für Grün spezifizierten Quantisierungspegel entspricht,Q₂ corresponds to the number of quantization levels specified for green,
Q&sub3; der Anzahl der für Blau spezifizierten Quantisierungspegel entspricht,Q₃ corresponds to the number of quantization levels specified for blue,
der Quantisierungspegel i = 0 bis Q&sub1; - 1,the quantization level i = 0 to Q₁ - 1,
der Quantisierungspegel j = 0 bis Q&sub2; - 1,the quantization level j = 0 to Q₂ - 1,
der Quantisierungspegel k = 0 bis Q&sub3; - 1,the quantization level k = 0 to Q₃ - 1,
Adresse = i + Q&sub1; j + Q&sub1; Q&sub2; k,Address = i + Q�1; j + Q&sub1;Q2; s,
n der Anzahl der erlaubten Tabelleneinträge entspichtn the number of allowed table entries corresponds
und (Q&sub1; . Q&sub2; Q&sub3;) < nand (Q₁ . Q₂ Q₃) < n
oder Q&sub1; Q&sub2; Q&sub3; < 2m, wobei m der Anzahl der Bitebenen entspricht, wie beispielsweise in Figuren 2 und 8 gezeigt.or Q₁ Q₂ Q₃ < 2m, where m corresponds to the number of bit planes, as shown for example in Figures 2 and 8.
Die folgenden RGB-Tabellen zeigen vom Prozessor 12 in Abhängikeit von benutzerbestimmten Quantisierungspegeln erzeugte (abgeleitete) Farbdaten. Der Prozessor 12 speichert die abgeleiteten Daten im Speicher 22 in einer vorgegebenen Folge (Anordnung), wie in Tabelle 2 gezeigt. TABELLE II spezifizierte Farbwerte abgeleitete Einzeladresse abgeleitete und gespeicherte Farbdaten The following RGB tables show color data generated (derived) by processor 12 in response to user-specified quantization levels. Processor 12 stores the derived data in memory 22 in a predetermined sequence (arrangement) as shown in Table 2. TABLE II specified color values derived single address derived and stored color data
Die Folge, in der die Daten im Speicher 22 gespeichert sind, gewährleistet, daß der Prozessor von den durch den Benutzer spezifizierten RGB-Werten den geeigneten Index (Einzeladresse) zur Bezugnahme auf die korrekten RGB-Werte im Speicher 22 ableitet. Der Prozessor leitet jede Einzeladresse (Index) mit Hilfe der folgenden Formel ab:The order in which the data is stored in memory 22 ensures that the processor derives from the RGB values specified by the user the appropriate index (individual address) to reference the correct RGB values in memory 22. The processor derives each individual address (index) using the following formula:
Index = [R (Q&sub1; - 1)] gerundet + Q&sub1; [G (Q&sub2; - 1)] gerundet + Q&sub1; Q&sub2; [B (Q&sub3; - 1)] gerundet.Index = [R (Q₁ - 1)] rounded + Q₁ [G (Q₂ - 1)] rounded + Q₁ Q2; [B (Q₃ - 1)] rounded.
Wie in Tabelle I gezeigt, würde also vom Prozessor 12 von dem vom Benutzer spezifizierten, dreidimensionalen Echtfarb-Wert (0,25; 0,5; 0,75) die Adresse 86 abgeleitet werden, so daß auf den korrekten RGB-Wert in der Tabelle zugegriffen werden kann.Thus, as shown in Table I, the processor 12 would derive address 86 from the user-specified three-dimensional true color value (0.25; 0.5; 0.75) so that the correct RGB value in the table could be accessed.
Eine alternative Formel zum Ableiten von Einzeladressen (Indizes) von den spezifizierten (Eingangs-) RGB- Werten ist:An alternative formula for deriving individual addresses (indices) from the specified (input) RGB values is:
[RQ&sub1;] abgeschnitten + Q&sub1; [G Q&sub2;] abgeschnitten + Q&sub1; Q&sub2; [B Q&sub3;] abgeschnitten[RQ₁] cut off + Q₁ [G Q₂] cut off + Q₁ Q₂ [B Q₃] cut off
wobei 0 ≤ R < 1; 0 ≤ G < 1; 0 ≤ B < 1where 0 ≤ R < 1; 0 ≤ G < 1; 0 ≤ B < 1
und Q&sub1;, Q&sub2;, Q&sub3; Potenzen von 2 sind.and Q₁, Q₂, Q₃ are powers of 2.
Wenn B&sub1; Bits für Rot, B&sub2; Bits für Grün und B&sub3; Bits für Blau gegeben sind und wenn eine m-Bit-Ebenen-Oberfläche gegeben ist, wie beispielsweise in Fig. 8 gezeigt, wobei m = b&sub1; + b&sub2; + b&sub3; und b&sub1; ≤ B&sub1;, b&sub2; ≤ B&sub2; und b&sub3; ≤ B&sub3;, dann kann die oben erwähnte Rundungs-Operation wie in Fig. 7 gezeigt durchgeführt werden, wo die b&sub1; höchstwertigen Bits (MSB) des R-Feldes und die b&sub2; MSB des G-Feldes und die b&sub3; MSB des B-Feldes verkettet und verschoben werden, um diese mit der m-Bit-Ebenen-Oberfläche auszurichten.If B1 bits are given for red, B2 bits for green and B3 bits for blue, and if an m-bit plane surface is given, for example as shown in Fig. 8, where m = b1 + b2 + b3 and b1 ≤ B1, b2 ≤ B2 and b3 ≤ B3, then the above-mentioned rounding operation can be performed as shown in Fig. 7, where the b1 most significant bits (MSB) of the R field and the b2 MSB of the G field and the b3 MSB of the B field are concatenated and shifted to align them with the m-bit plane surface.
Bis hierher wurde das Verfahren zum Umwandeln von Echtfarb- Daten in Einzelindex-Daten beschrieben. Dieses Verfahren umfaßt folgende Verfahrensschritte: Ableiten von Echtfarb- Daten (d. h., RGB-Farbpegel-Werten) von der Anzahl der vom Benutzer spezifizierten Farbpegel, Speichern der abgeleiteten Daten im Speicher in einer vorgegebenen Anordnung, die für eine Bezugnahme durch eine Einzeladresse oder einen Index geeignet ist, und Ableiten einer Einzeladresse von vom Benutzer eingegebenen RGB-Farbwerten, um auf die gespeicherte Adresse Bezug zu nehmen.Up to this point, the process for converting true color data into single index data has been described. This process includes the following steps: Deriving true color data (ie, RGB color level values) from the number of color levels specified by the user, storing the derived data in memory in a predetermined arrangement suitable for reference by a single address or index, and deriving a single address from user-entered RGB color values to reference the stored address.
Anhang A zeigt RGB-Werte und zugeordnete Einzelindex-Adressen, die abgeleitet sind für:Appendix A shows RGB values and associated single index addresses derived for:
Q&sub1; = 5 Rotpegel,Q�1 = 5 red levels,
Q&sub2; = 5 Grünpegel,Q₂ = 5 green levels,
Q&sub3; = 5 Blaupegel,Q₃ = 5 blue levels,
wobei die RGB-Werte im Bereich von 0 bis 255 0% bis 100% entsprechen.where the RGB values in the range of 0 to 255 correspond to 0% to 100%.
Anhang B zeigt RGB-Werte und zugeordnete Einzelindex-Adressen, die abgeleitet sind für:Appendix B shows RGB values and associated single index addresses derived for:
Q&sub1; = 7 Rotpegel,Q�1 = 7 red levels,
Q&sub2; = 6 Grünpegel,Q₂ = 6 green levels,
Q&sub3; = 5 Blaupegel,Q₃ = 5 blue levels,
wobei die RGB-Werte im Bereich von 0 bis 255 0% bis 100% entsprechen.where the RGB values in the range of 0 to 255 correspond to 0% to 100%.
In Anhang C sind Index- und Echtfarb-Daten (gespeichert in binärer Form im Farbabbildungs-Speicher 22) sowohl für eine Einzelindex-Oberfläche (Oberfläche 1) als auch für eine Echtfarb-Oberfläche (Oberfläche 2) gezeigt. Beispielsweise bei der in Anhang C und Fig. 8 gezeigten Adresse "00 01 10 11" entspricht "00" einem Farbindex für Oberfläche 1 und "01 10 11" RGB-Farbwerten für Oberfläche 2. Die Adresse wurde aus vom Benutzer eingegebenen Index- und Echtfarb-Werten errechnet (abgeleitet). Die Adresse wird zum Bezeichnen der RGB-Werte "01010101 10101010 11111111" verwendet.Appendix C shows index and true color data (stored in binary form in color map memory 22) for both a single index surface (Surface 1) and a true color surface (Surface 2). For example, at the address "00 01 10 11" shown in Appendix C and Figure 8, "00" corresponds to a color index for Surface 1 and "01 10 11" corresponds to RGB color values for Surface 2. The address was calculated (derived) from index and true color values entered by the user. The address is used to designate the RGB values "01010101 10101010 11111111" is used.
Abhängig davon, welche Oberfläche Priorität über die andere hat, können die RGB-Werte von einer gegebenen Adresse abweichen. Angenommen, die berechnete Adresse ist "01 11 11 11", wenn die RGB-Werte "10000000 10000000 10000000" zur Darstellung des Farbindexes "01" bestimmt worden wären und die RGB-Werte "11111111 11111111 11111111" zur Darstellung des RGB-Farbpegel "11 11 11" bestimmt worden wären, dann würden beispielsweise die RGB-Werte "10000000 10000000 10000000" verwendet werden, wenn die Indexfarb-Oberfläche Priorität hätte, und die RGB-Werte "11111111 11111111 11111111" würden verwendet werden, wenn die Echtfarb-Oberfläche Priorität hätte. ANHANG A (Programm-Listing/Daten/Kommentare) /*Globale Typen-und Datendefinitionen*/ /*Das folgende Testprogramm ruft die "Populate"- und "Convert"-Funktionen auf und druckt ihre Ergebnisse für einige Beispielfälle aus.*/ /*Populate. C - Beispiel für Farbabbildungs-Belegungsfunktion. Diese Funktion berechnet "Oberflächen-Farbabbildungs" (per Mossaides)-Daten zum Simmulieren von Echtfarben und speichert die Daten in einem Hauptspeicher-Feld aus RGB-Werten. Die Feldposition wird an diese Funktion als ein Argument übergeben. Diese Funktion wird abhängig von einem Benutzer-Befehl aufgerufen, um eine "Echtfarb-Oberfläche" zu erzeugen. Nachdem diese Funktion aufgerufen wurde, kann das Feld in die Hardware-Farbabbildung kopiert werden oder mit anderen "Oberflächen-Farbabbildungen", wie per Mossaides, kombiniert werden, und die kombinierte Abbildung wird in die Hardware- Farbabbildung kopiert. Es wird angenommen, daß die Hardware- Farbabbildung 8 Bits sowohl für Rot-als auch für Grün- und Blau- Einträge bei jeder Adresse enthält. Dabei sei bemerkt, daß die oben gezeigte Berechnung der Adresse lediglich ein Beispiel ist; ein anderes gleichwertiges Beispiel könnte die Adresse = i q&sub2; q&sub3; + j q&sub3; + k haben; andere Adressen sind möglich. Die einzige Bedingung ist, daß dieselbe Regel zum Berechnen der Adresse in dieser Funktion und zum Berechnen des Index in der "Convert"-Funktion verwendet wird.*/ /*Konvert. C - In dieser Funktion werden drei Realzahlen R, G und B (im Bereich von 0,0 bis 1,0) eingegeben, die der Farbe eines Pixels entsprechen, und ein einzelner Farbindex erzeugt, der an der Stelle des Pixels im Rahmenbuffer gespeichert werden soll. Diese Funktion wird während des Zeichnens von Bildsegmenten in einem Rahmenbuffer verwendet.*/ ANHANG B (Programm-Listing/Daten/Kommentare) /*Globale Typen-und Datendefinitionen*/ /*Das folgende Testprogramm ruft die "Populate"- und "Convert"-Funktionen auf und druckt ihre Ergebnisse für einige Beispielfälle aus.*/ /*Populate. C - Beispiel für Farbabbildungs-Belegungsfunktion. Diese Funktion berechnet "Oberflächen-Farbabbildungs" (per Mossaides)-Daten zum Simmulieren von Echtfarben und speichert die Daten in einem Hauptspeicher-Feld aus RGB-Werten. Die Feldposition wird an diese Funktion als ein Argument übergeben. Diese Funktion wird abhängig von einem Benutzer-Befehl aufgerufen, um eine "Echtfarb-Oberfläche" zu erzeugen. Nachdem diese Funktion aufgerufen wurde, kann das Feld in die Hardware-Farbabbildung kopiert werden oder mit anderen "Oberflächen-Farbabbildungen", wie per Mossaides, kombiniert werden, und die kombinierte Abbildung wird in die Hardware- Farbabbildung kopiert. Es wird angenommen, daß die Hardware- Farbabbildung 8 Bits sowohl für Rot-als auch für Grün- und Blau- Einträge bei jeder Adresse enthält. Dabei sei bemerkt, daß die oben gezeigte Berechnung der Adresse lediglich ein Beispiel ist; ein anderes gleichwertiges Beispiel könnte die Adresse = i q&sub1; j + q&sub1; q&sub2; k haben; andere Adressen sind möglich. Die einzige Bedingung ist, daß dieselbe Regel zum Berechnen der Adresse in dieser Funktion und zum Berechnen des Index in der "Convert"-Funktion verwendet wird.*/ /*Konvert. C - In dieser Funktion werden drei Realzahlen R, G und B (im Bereich von 0,0 bis 1,0) eingegeben, die der Farbe eines Pixels entsprechen, und ein einzelner Farbindex erzeugt, der an der Stelle des Pixels im Rahmenbuffer gespeichert werden soll. Diese Funktion wird während des Zeichnens von Bildsegmenten in einem Rahmenbuffer verwendet.*/ ANHANG C (Programm-Listing/Daten/Kommentare) Das Beispiel zeigt eine Echtfarb-Oberfläche und eine Indexfarb-Oberfläche John C. Darrymple 21.10.1987 Es sei angenommen, daß die Index-Oberfläche in den Bit-Ebenen 7 und 6 liegt und die Echtfarb-Oberfläche in den Bit-Ebenen 5 bis 0 liegt, wobei Ebenen 5 und 4 für Rot, 3 und 2 für Grün und 1 und 0 für Blau vorgesehen sind. Weiter sei angenommen, daß 3 Bits pro Grundfarbe (R, G oder B) in den Datenfeldern der Hardware-Farbabbildung vorgesehen sind, wobei die Bits gebrochenen Werten entsprechen und 00000000 "0" und 11111111 "1" darstellt. Für dieses Beispiel wird angenommen, daß die Indexoberflächen- Farbabbildung vom Benutzer wie folgt eingestellt wurde: Depending on which surface has priority over the other, the RGB values may differ from a given address. For example, suppose the calculated address is "01 11 11 11", if the RGB values "10000000 10000000 10000000" were designated to represent the color index "01", and the RGB values "11111111 11111111 11111111" were designated to represent the RGB color level "11 11 11", then the RGB values "10000000 10000000 10000000" would be used if the index color surface had priority, and the RGB values "11111111 11111111 11111111" would be used if the true color surface had priority. APPENDIX A (Program Listing/Data/Comments) /*Global Type and Data Definitions*/ /*The following test program calls the "Populate" and "Convert" functions and prints their results for some example cases.*/ /*Populate.C - Example of colormap mapping function. This function calculates "surface colormap" (as per Mossaides) data to simulate true color and stores the data in a main memory array of RGB values. The array position is passed to this function as an argument. This function is called in response to a user command to create a "true color surface". After this function is called, the array can be copied into the hardware colormap or combined with other "surface colormaps" as per Mossaides and the combined map is copied into the hardware colormap. The hardware colormap is assumed to contain 8 bits for both red and green and blue entries at each address. Note that the address calculation shown above is just an example; another equivalent example could have the address = i q₂ q₃ + j q₃ + k; other addresses are possible. The only condition is that the same rule is used to calculate the address in this function and to calculate the index in the "Convert" function.*/ /*Convert. C - This function takes three real numbers R, G and B (range 0.0 to 1.0) that correspond to the color of a pixel and produces a single color index to be stored at the pixel's location in the frame buffer. This function is used during the drawing of image segments in a frame buffer.*/ APPENDIX B (Program Listing/Data/Comments) /*Global Type and Data Definitions*/ /*The following test program calls the "Populate" and "Convert" functions and prints their results for some example cases.*/ /*Populate. C - Example colormap populating function. This function calculates "surface colormap" (as per Mossaides) data to simulate true color and stores the data in a main memory array of RGB values. The array position is passed to this function as an argument. This function is called in response to a user command to create a "true color surface". After this function is called, the array can be copied into the hardware colormap or combined with other "surface colormaps" as per Mossaides and the combined map is copied into the hardware colormap. The hardware colormap is assumed to contain 8 bits for both red and green and blue entries at each address. Note that the address calculation shown above is merely an example; another equivalent example could have the address = i q₁ j + q₁ q₂ k; other addresses are possible. The only condition is that the same rule is used to calculate the address in this function and to calculate the index in the "Convert" function.*/ /*Convert. C - This function takes three real numbers R, G and B (range 0.0 to 1.0) that correspond to the color of a pixel and produces a single color index to be stored at the pixel's location in the frame buffer. This function is used during the drawing of image segments in a frame buffer.*/ APPENDIX C (Program Listing/Data/Comments) The example shows a true color surface and an index color surface John C. Darrymple 10/21/1987 Assume that the index surface is in bit planes 7 and 6 and the true color surface is in bit planes 5 to 0, with planes 5 and 4 being for red, 3 and 2 for green, and 1 and 0 for blue. Also assume that 3 bits per primary color (R, G, or B) are provided in the data fields of the hardware color map, where the bits correspond to fractional values and 00000000 represents "0" and 11111111 "1". For this example, assume that the index surface color map has been set by the user as follows:
Claims (6)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11303087A | 1987-10-26 | 1987-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3876212D1 DE3876212D1 (en) | 1993-01-07 |
DE3876212T2 true DE3876212T2 (en) | 1993-06-17 |
Family
ID=22347223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19883876212 Expired - Fee Related DE3876212T2 (en) | 1987-10-26 | 1988-09-15 | METHOD AND DEVICE FOR DISPLAYING THREE-DIMENSIONAL COLOR DATA IN A ONE-DIMENSIONAL REFERENCE SYSTEM. |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0313789B1 (en) |
JP (1) | JPH01147497A (en) |
DE (1) | DE3876212T2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0422296B1 (en) * | 1989-10-12 | 1995-01-11 | International Business Machines Corporation | Display system with direct colour mode |
WO1992010800A1 (en) * | 1990-12-11 | 1992-06-25 | Eastman Kodak Company | Apparatus for processing digital data |
JP3133779B2 (en) * | 1991-06-14 | 2001-02-13 | キヤノン株式会社 | Image processing device |
US5579409A (en) * | 1991-09-27 | 1996-11-26 | E. I. Du Pont De Nemours And Company | Methods for determining the exterior points of an object in a background |
US5448652A (en) * | 1991-09-27 | 1995-09-05 | E. I. Du Pont De Nemours And Company | Adaptive display system |
GB0420461D0 (en) * | 2004-09-14 | 2004-10-20 | Bremer Trainor Michael | Colour system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4509043A (en) * | 1982-04-12 | 1985-04-02 | Tektronix, Inc. | Method and apparatus for displaying images |
JPS5960488A (en) * | 1982-09-29 | 1984-04-06 | フアナツク株式会社 | Data writing unit for color graphic memory |
US4578673A (en) * | 1983-07-08 | 1986-03-25 | Franklin Computer Corporation | Video color generator circuit for computer |
JPS60230693A (en) * | 1984-04-27 | 1985-11-16 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Color image display system |
JPS60252394A (en) * | 1984-05-22 | 1985-12-13 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Color image display unit |
JPS62151894A (en) * | 1985-12-26 | 1987-07-06 | 富士通株式会社 | Color multicontrast display unit |
-
1988
- 1988-09-15 DE DE19883876212 patent/DE3876212T2/en not_active Expired - Fee Related
- 1988-09-15 EP EP19880115124 patent/EP0313789B1/en not_active Expired
- 1988-10-24 JP JP63267993A patent/JPH01147497A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
DE3876212D1 (en) | 1993-01-07 |
EP0313789A1 (en) | 1989-05-03 |
JPH01147497A (en) | 1989-06-09 |
EP0313789B1 (en) | 1992-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3853664T2 (en) | Color cell texture. | |
DE69524542T2 (en) | Color correction method and device | |
DE69128548T2 (en) | Improvements in control data fields of picture elements | |
DE69324899T2 (en) | Color matching method and device | |
DE3306288C2 (en) | ||
DE69024985T2 (en) | Device and method for color selection | |
DE3850737T2 (en) | Color control and selection system for computer display. | |
DE68928744T2 (en) | Vertical filtering method for raster-scanned display devices | |
DE69330504T2 (en) | Bildabspeicherungsverfahren | |
DE3486494T2 (en) | Graphic pattern processing device | |
DE68919024T2 (en) | Method and processor for scan conversion. | |
DE69317567T2 (en) | METHOD AND DEVICE FOR LABELING COLOR OUTPUT DEVICES | |
DE69937785T2 (en) | Method of selecting color block points for block coding | |
DE69319848T2 (en) | Method and device for generating and displaying accurate color images on a computer screen | |
DE68915232T2 (en) | Display device with an ordered tremor pattern. | |
DE3586506T2 (en) | MONOCHROMATIC REPRESENTATION OF COLOR IMAGES. | |
DE3854753T2 (en) | Color image enhancement device and method. | |
DE3750784T2 (en) | Generation of an intrapolated characteristic value for display. | |
DE69126014T2 (en) | COLOR IMAGE PROCESSING SYSTEM AND METHOD FOR PREPARING A COMPOSED IMAGE TRANSFER MODULE FOR MULTIPLE SELECTED IMAGE TRANSFORMERS | |
DE69129427T2 (en) | Pixel interpolation in perspective space | |
DE3732435C2 (en) | ||
DE19528596C2 (en) | Method and device for color support | |
DE68922674T2 (en) | Image processing method and arrangement. | |
DE69227048T2 (en) | Methods and devices for image planning processing | |
DE69330578T2 (en) | Method and device for filling an image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |