WO1989000744A1 - Look-up table extension method and apparatus - Google Patents

Look-up table extension method and apparatus Download PDF

Info

Publication number
WO1989000744A1
WO1989000744A1 PCT/US1988/002412 US8802412W WO8900744A1 WO 1989000744 A1 WO1989000744 A1 WO 1989000744A1 US 8802412 W US8802412 W US 8802412W WO 8900744 A1 WO8900744 A1 WO 8900744A1
Authority
WO
WIPO (PCT)
Prior art keywords
color
bit
values
value
extender
Prior art date
Application number
PCT/US1988/002412
Other languages
French (fr)
Inventor
David J. Vanderschel
Original Assignee
Nova Graphics International Corporation
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 Nova Graphics International Corporation filed Critical Nova Graphics International Corporation
Publication of WO1989000744A1 publication Critical patent/WO1989000744A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control 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/06Control 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Abstract

A method and apparatus is provided for accessing a large number of control information locations with a series of memory digital values of relatively short n-bit length. In an embodiment applied to color raster graphics, 4-bit pixel values are serially output from the frame buffer to a ''color extender''. The color extender shifts the pixel values through an 8-bit working register and outputs the contents of the working register to a color palette having a look-up table containing more than 24 (e.g. 28 or 256) slots storing RGB triple values. In this embodiment, the working register contains a high pad 4-bit register and a low pad 4-bit register. The high order portion value selects a group of 16 slots in the look-up table, while the low order portion value selects a particular slot from the selected group. To change to a different color group a selection sequence of one or more special pixel values is passed to the color extender, placing the extender in a special state. For example, the selection sequence may comprise two successive pixel values. The first value, a flag value, places the extender in the special state. The pixel value succeeding the flag value is transferred to the high order portion to identify a group of slots while the low order portion remains unchanged. The working register then returns to normal operation with succeeding pixel values transferring to the low order portion. Thus, the present invention allows for selection of up to 2m color control information locations or devices using n-bit pixel values, where m > n. The method and apparatus is particularly useful in graphic window systems where the color look-up table is a shared resource.

Description

LOORUP TABLE EXTENSION METHOD AND APPARATUS
This invention relates to a method and apparatus for accessing a relatively large number of control information locations (e.g. 2 ) from a series of digital values having a relatively small bit length (e.g. n-bit, where m > n) . In a color raster graphics application, the method extends the number of lookup table color control slots accessible from frame buffer with pixel values of a relatively small, fixed bit length.
In computer-generated generated raster graphics, a picture is divided by a regular rectangular grid into small sub-regions called "pixels." Conventionally, one or more electron guns continuously scan the screen in a raster fashion so that each pixel in the rectangular array of pixels on the screen has a unique address. Control information corresponding to the desired electron gun operation at a particular pixel is stored as a "pixel value." Pixel values are held in random-access memory, normally referred to as frame memory or a "frame buffer." In a simplified monochrome system, the pixel values con- tain the actual gun control information, the pixel values being serially read from the frame buffer and fed to a digital-to-analog converter. The D/A converter supplies the desired voltage to the electron gun as it raster scans the screen. In a conventional color graphic system the pixel values typically represent an address in a color lookup memory where digital color control information is stored. The control signal is read from the lookup table and fed to the D/A converters.
A rectangular pixel grid is typically large, although the number of pixels on the screen is primarily a design consideration dependent upon a large number of factors such as screen resolution, etc. For example, a pixel rectangular array could have 1250 pixels by 800 pixel lines, for a total of one million pixels in the array. The frame buffer stores and outputs the pixel values cor¬ responding to the desired pixel representation on the screen. Because computer memory is relatively expensive, it is desirable to represent each pixel value with as few bits as practical. In a monochrome system, the frame buffer may comprise pixel values of 1-bit length -, 2 , 3, and 4-bit pixel value lengths are also common. In color systems, 8-bits per pixel value is considered deluxe and somewhat expensive.
In a computer-generated image on a cathode ray tube screen, the image is continuously regenerated from the digital values in the frame buffer. A "serializer" reads the pixel values from the frame buffer in the order the pixels are to be displayed on the screen and in synchron- ization with the beam movement from the electron gun or guns. Generally speaking, there is a fixed amount of time delay from the output of the pixel value from the serial¬ izer and the impingement of the beam at the corresponding screen location. As timing is important, in computer generated graphics there is typically another sub-system that generates the timing signals to various devices in the graphic system. Such timing signals also generate th horizontal and vertical sweep signals for the electron gu or guns. Sometimes these timing signals are externally supplied, for example the "synch" signal of a T.V. broad- cast.
A color lookup table is usually part of a "palette," which is typically connected to the serializer. In a standard three gun color cathode ray tube (CRT) , the "color palette" includes the color lookup table and three D/A converters respectively coupled to the red, green and blue electron guns that sweep the screen. In some color systems, the pixel values are used to represent the desired control voltages directly, but such a solution is usually too expensive in most color graphic applications involving 24-bits or more of gun control information 8- bits per gun) . For example, a 4-bit or even 8-bit pixel value is insufficient to directly represent the desired RGB values and still have access to a wide variety of different colors.
With a "color lookup table" on the color palette a wide variety of complex color control information can be stored and easily accessed. This color lookup table may be regarded as an array of memory locations — called
"slots" herein — where each slot contains color control information. Such information can relate to RGB values, intensity, hue, saturation, or other parameters such as are used in CIE standards; an RGB triple value is a typical example. While some color graphic systems employ three separate color lookup tables corresponding to red, green and blue, the concept is the same. Each slot in the color table might contain the RGB value using 4 to 12-bits per color. U.S. Patent No. 4,490,797 discusses RGB values and computer-generated raster graphics generally and is incorporated herein by reference. Thus, in a conventional computer-generated raster graphics system, each pixel value is used as an index to address one of the slots in the color table. This permits the smaller number of bits per pixel value (e.g. 4) to select a slot having a much larger number of bits (e.g. 8 or 12 bits per D/A converter) of color control informa¬ tion. The actual RGB digital values in the addressed slot are in turn fed to the respective digital-to-analog converter for controlling gun operation.
The memory savings are, of course, considerable using this technique. For example, compare a frame buffer with one million 24-bit pixel values with a frame buffer having one million 8-bit pixel values to access a 256 slot color table having 8-bits of control information per D/A conver¬ ter in each slot.
In summary, conventional color graphic generation typically follows three basic steps: (1) sequentially accessing pixel values from frame buffer; (2) using each pixel value to index control information (RGB values) in a color lookup table; and (3) using the RGB values to con¬ trol the beam currents.
A major constraint on such a conventional color graphic system using a color lookup table, is the number of different slots accessible in the color lookup table. Conventional wisdom dictates that when there are n bits per pixel value, the maximum number of slots accessible in the color lookup table would be 2n. Thus, 4-bit pixels can access 16 slots, while 8-bit pixels can access 256 slots. While it is desirable to have a large number of slots in the color lookup table, it is also desirable to have the smallest pixel bit size to save on memory costs. For example, it would be extremely advantageous to have the ability to access a 256 slot color table using a fram buffer storing only 4-bit pixel values.
The limitation on the number of color table slots accessible with a small bit length pixel value is largely solved by the method and apparatus of the present inven¬ tion. The present method recognizes a certain sequence o values to identify a particular group of slots within the lookup table. The present invention contemplates inter- pretation and further manipulation of the pixel values between the serializer and the color lookup table. While conceptually this interpretation occurs in a discrete location called a "color extender," it will be appreciated that the color extender of the present invention could be made a part of the serializer or color palette.
In a broad sense, the present invention recognizes a certain sequence of values to identify a group of slots within the lookup table, with values subsequent to the certain sequence identifying particular slots within the identified group. In one aspect, the invention uses a frame buffer with n-bit pixel values to select up to 2 color control information locations where m > n. For example, the color extender can manipulate 4-bit pixel values from the frame buffer to designate an 8-bit address to a color palette having a 256 slot color lookup table. Thus, while a conventional color graphic system can only access 16 slots with 4-bit pixel values, the color extender allows access to a 256 slot color lookup table with a 4-bit pixel value.
In a preferred embodiment, the color extender hereof is coupled between a serializer which reads and outputs n-bit values from the frame buffer, and a lookup table having more than 2 memory locations. The extender reads the n-bit values output from the serializer to recognize a certain sequence of one or more values as indicative of a certain group of locations in the lookup table. After recognizing such a certain sequence, the extender directs n-bit values succeeding the certain sequence to the indi- cated certain group to address memory locations within the certain group.
In one form, the extender includes a working register having first and second portions where the contents of the first portion identifies a certain group of memory loca¬ tions in the lookup table and the contents of the second portion identifies a particular location within the certain group. In another form, the lookup table is divided into several discrete devices, such as separate color palettes, where each palette is connected to a serializer to read the stream of n-bit pixel values on the serializer. The extender also reads the pixel values and upon recognition of a certain sequence, enables a particu¬ lar palette to drive out its control information.
In a preferred method, the present invention provides for serially outputting from memory a stream of values, addressing a particular slot within a lookup table, and outputting the information contained in the addressed slot. The addressing step further includes identifying a group of slots within the lookup table by a certain sequence of one or more values in the stream of values, and selecting a particular slot within the identified group using a value succeeding certain sequence.
In another embodiment, the method of the present invention includes the steps of serially accessing pixel values from computer memory, where each pixel value is represented by n bits, and shifting each pixel value to a working register having a first Ce.g. high order) portion and an n-bit second (e.g. low order) portion. In normal operation, each pixel value is transferred to the second portion with the first portion remaining unchanged. How- ever, presenting a flag value to the working register places the working register in a special state for trans- ferring at least a part of a pixel value into the first portion. Preferably, a part of the flag value or a pixel value succeeding the flag value is transferred into the first portion. The values existing in the first and second portions are output for selected further operation such as for addressing a particular color table slot.
In an application where color control information is stored in a lookup table and the extender output is m-bit, the lookup table can have j control locations selected by n-bit values, where 2n < j < 2 . The value existing in the first portion is used to select a group of slots, while the output of the second portion selects a particu¬ lar slot in the group of slots.
While the method of the present invention is widely applicable to accessing a lookup table, other alternatives are possible. For example, the contents of the first portion could select a particular physical memory device from a group of memory devices, while the contents of the second portion would designate a particular location within the memory device. Further, the first portion may be used to designate a particular electronic device while the contents of the second portion dictates an operating parameter of the particular device.
When applied in a color graphics system, the flag value which initiates the special state of the working register typically comprises a single specific memory or pixel value. However, the flag value may comprise a particular sequence of values presented to the color extender or a class of values having a common characteris- tic (e.g. high order 4-bits set). In a preferred form, the memory value immediately succeeding the flag value is transferred into the first portion. Thus, the selection sequence comprises a flag value followed by a value trans- ferred into the first portion to designate a group of slots in the lookup table. In an alternative form, a portion of the flag value itself (e.g. low order bits) is immediately transferred into the first portion.
When applied to computer-generated, color graphic system having a raster scan gun(s) in a cathode ray tube and a plurality of slots in a color lookup table, the method of the present invention generally includes the steps of serially outputting from frame memory a series of n-bit pixel values representative of a desired image on the screen and serially inputting these pixel values into a color extender in accordance with the present invention. The color extender has a working register preferably com¬ prising a high order portion and an n-bit low order por- tion. In normal operation the n-bit pixel values are transferred to the low order portion. A selection sequence changes the contents of the high order portion and is initiated by a flag value. In the selection sequence, the extender is placed in a special state when the flag value is input to the extender. With the extender in the special state, at least a portion of the flag value or a succeeding pixel value is transferred into the high order portion. The contents of the working register are transferred to a lookup table having more than 2 slots of color control information. Particular color control information stored in the lookup table is identified using the contents of the working register to map the certain location in the lookup table. The identi¬ fied control information is output to a digital-to-analog converter and an electron gun is operated in accordance with the analog signal received from the digital-to-analo converter.
In the context of the color graphic system, a pre- ferred apparatus in accordance with the present invention includes a serializer which reads and outputs the n-bit pixel values from the frame buffer. A color extender receives the pixel values from the serializer and inter¬ prets the stream of incoming pixel values to identify a selection sequence. The pixel values are shifted into a working register having a first portion and an n-bit second portion. In normal operation, the extender trans¬ fers the n-bit pixel values serially to the n-bit second portion. The selection sequence is initiated when a flag value is received by the extender. In the selection sequence, at least a portion of the flag value or a pixel value succeeding the flag value is transferred to the first portion to change its contents. Finally, the apparatus includes a color palette having a lookup table for serially receiving the contents of the working regis¬ ter and identifying a control information location from the lookup table corresponding to the contents of the working register.
FIG. 1 is a block diagram showing the general layout of the color extender in accordance with the present invention in a color graphic system;
FIG. 2 conceptually illustrates a lookup table having 16 groups of 16 slots, where each of the 256 slots con¬ tains a digital color control information;
FIG. 3 is similar to FIG. 2 and illustrates another embodiment of a lookup table having four groups of 252 slots where each slot contains digital color control information; FIG. 4 illustrates a selection sequence in accordance with a first embodiment of the present invention;
FIG. 5 illustrates a selection sequence in -accordance with a second embodiment of the present invention;
FIG. 6 illustrates a selection sequence in accordance with another embodiment of the present invention; and
FIG. 7 is a block diagram illustrating an alternative embodiment of the apparatus of the present invention.
Turning now to the drawing, FIG. 1 schematically illustrates a color graphic system 10 which includes a color extender 12 in accordance with the present inven¬ tion. Broadly speaking, the color graphic system includes frame memory or frame buffer 14 and a serializer 16 which serially reads the pixel values from the frame buffer 14 and outputs the pixel values to the color extender 12.
The color graphic system 10 also includes a color palette 18 (such as a Bt 458/451 Ramdac family of Color Palettes made by Brooktree Corporation of San Diego, California) operatively connected to the color extender 12. A timing control (not shown) is operably connected to the palette 18, extender 12, and serializer 16. The color palette 18 includes input latch 20, color lookup table 22 and digital-to-analog converters 23-25 interconnected schematically as shown in FIG. 1. The D/A converters are, of course, connected to respective analog drivers for controlling the operation of the electron guns (not shown) as the raster scans the screen.
The color extender 12 broadly includes an input register 30 connected to the serializer 16 for receiving the n bit pixel values from the serializer 16. The work- ing register 32 is greater than n-bits and preferably includes high order portion 34 and low order portion 36 (see FIGS. 4-6). The contents of the working register 32 are transferred to the output latch 38.
For purposes of explanation, FIG. 1 illustrates the serializer 16, color extender 12, and palette 18 as dis¬ crete elements. However, alternatives are readily avail¬ able in which the demarcation between separate elements i not distinct. For example, a color extender in accordanc with the present invention could comprise a working regis¬ ter 32 imbedded in the serializer chip 16 with the output shifted directly to the palette 18, or the working regis¬ ter may be incorporated directly into the palette 18.
As previously explained, a conventional computer generated raster graphic system serially reads pixel values from frame buffer and uses the pixel values to index color control information, such as RGB values, in a color lookup table. Thus, turning to FIG. 1, the method and extender 12 of the present invention is interposed in the serial stream of pixel value between the serializer 16 and color palette 18. The extender 12 recognizes certain sequences of pixel values as a selection sequence to alter the manner of information retrieval from the color lookup table 22. A flag value initiates the selection sequence and may comprise one or more designated pixel values or sequence of values. The drawings are best understood with reference to the following examples.
EXAMPLE 1
Referring to FIGS. 1, 2, and 4, a preferred example of the operation of the present invention is illustrated. In FIG. 4, the frame buffer has a large number of 4-bit pixel values (for example one million) which are serially read by the serializer 16 into the input register 30 of the color extender 12. In this example, the input regis¬ ter 30 accepts 4-bit pixel values, while the working register 32 and output latch 38 are 8-bit registers as depicted in FIG. 4. The working register is divided into a 4-bit high order portion 34 and 4-bit low order portion 36. The color palette 18 associated with the FIG. 4 color extender accepts an 8-bit input and therefore has 256 accessible slots in the lookup table 22. The color extender 12 thus accepts a 4-bit pixel value as its input and delivers an 8-bit value as its output for designating a particular location in color lookup table 22.
FIG. 4(a) illustrates the normal condition in which the high order portion 34 is fixed and the color extender 12 simply accepts pixel values at its input register 30 and passes the pixel values through the low order portion 36 to the output latch 38. That is, under normal opera- tions the color extender 12 produces its 8-bit output by appending the high pad bits in register 34 onto the high order end of the incoming 4-bit pixel values.
In FIG. 4(b), the pixel value "15" is presented from the frame buffer 14 into the color extender 12. The value "15" is chosen arbitrarily as a flag value to place the color extender 12 in a special state. In the example of FIG. 4(b) the flag value "15" is simply passed through the extender 12 in the usual fashion — that is the number "15" is passed through the low order portion 36 and appended to the contents of the high order portion 34 and passed to the output latch 38. However, as shown in FIG. 4(c) the special state has been invoked so that the next 4-bit input to the extender register 30 is transferred to the high order portion 34 while the previous output from the output latch 38 is simply repeated. FIG. 4(d) illustrates a return to the normal operation, with the high order portion reset to the new value transferred in FIG. 4(c). Thus, the selection sequence consists of two consecutive 4-bit pixel values in which the first is a "15" and the second is the desired high pad value.
Preferably, the color extender 12 is a hardware implementation, but the following steps do represent the operation of the extender 12.
FUNCTION extend( in )
INTEGER in, out, high_pad_bits, change_flag
IF( change_flag > 0 ) THEN high_pad_bits = in change_flag = 0
ELSE out = in + 16 * high_pad_bits
IF( in = 15 ) change_flag = 1
END IF
RETURN out END
As can be appreciated the color extender 12. is rela¬ tively simple in that it performs no real arithmetic. The above expression "in + 16 * high_pad_bits" is achieved by the connections of the devices within the color extender 12. Thus, while a certain amount of delay is introduced by the color extender 12, the additional delay is small, fixed and predictable. A small amount of fixed delay between the serializer 16 and actual image on the CRT screen is acceptable.
Turning to FIG. 2 , a memory map schematically illus¬ trates a 256 slot color table which is divided into 16 groups of 16 slots each. FIG. 4(a) shows an output from the color extender 12 of a binary code mapping the loca¬ tion of group 6, slot 4. FIGS. 4(b) and (c) illustrate the selection sequence in which the color control informa¬ tion in group 6, slot 15 is repeated, while FIG. 4(d) illustrates a new location in the lookup table of FIG. 2. That is, FIG. 4(d) depicts a specified color control information at group 5, slot 7.
This example is advantageous in that every slot in the 256 entry color table 22 may be accessed using only 4-bit pixel values. Thus, the total number of different possible colors that may be presented simultaneously on the same screen is 256. A drawback of this example is that switching from one group of 16 colors to another group involves the use of the flag value "15" in FIG. 4(b) and FIG. 4(c), which of course affects the screen display.
EXAMPLE 2
FIG. 5 illustrates a slight variation from the example of FIG. 4. In FIG. 5, the flag value - "15" - does not cause the output latch 38 to change. That is, the previous output, FIG. 5(a) is repeated during the sequence selection of FIGS. 5(b) and 5(c).
This function is represented as follows:
FUNCTION extend( in )
INTEGER in, out, high_pad_bits, change_flag
IF( change_flag > 0 ) THEN high_pad_bits = 16 * in change_flag = 0
ELSE
IF( in = 15 ) THEN change_flag = 1 ELSE out = in + high_pad_bits END IF END IF RETURN out
END
This approach is particularly appropriate to provide the selection sequence at the end of a group of at least three horizontally contiguous pixels which are all intended to index the same color. As shown in FIG. 5, the first pixel value sets the color value desired (in the usual way), the second pixel value is the flag value "15" (FIG. 5(b)), and the third pixel value selects the new color table group by changing the high order portion (FIG. 5(c)). Thus, the selection sequence comprises two pixel values — in this case the second (FIG. 5(b)) and third (FIG. 5(c)) pixel values. While processing the second and third pixel values, the extender output latch 38 remains constant.
In this example, one difficulty is that you can never produce any 8-bit output of the form 16 * k + 15. Thus, 16 of the color table slots out of the 256 color table slots are inaccessible. While this difficulty may be trivial, it is also corrected by the following example.
EXAMPLE 3
Using the same general approach of EXAMPLE 2, all but one of the 256 color lookup table slots can be accessed if the color table is split into 17 groups of 15 slots each. This approach is represented as follows:
FUNCTION extend( in ) INTEGER in, out, base, change_flag
IF( change_flag > 0 ) THEN base = 15 * in change_flag = 0 ELSE
IF( in = 15 ) THEN change_flag = 1 ELSE out = in + base END IF
END IF
RETURN out END
The prime disadvantage of this example is that actual arithmetic must be performed according to the above approach, and therefore implementation is not simply a matter of appropriate connections between registers. Such an arithmetic process introduces more delay which may not be as easily accommodated in some color graphic systems. EXAMPLE 4
Turning to FIGS. 3 and 6, still another embodiment i illustrated. In this embodiment, the frame buffer 14 presents 8-bit pixel values while the color palette 18 accepts 10-bit inputs through input latch 20 (see FIG. 1) Thus, the color lookup table 22 can present up to 1024 (210) slots. As shown in FIG. 3, the 1024 slots of the color table 22 can be divided into four groups of 252 slots each (with 16 "wasted" slots).
The selection sequence is illustrated in FIG. 6, where the high order portion 34 is of a 2-bit length and the low order portion 36 is of an 8-bit length. As shown in FIG. 6(a), in normal operation the 8-bit pixel value i introduced to the color extender 12 through the input register 30, passed through the low order portion 36, and to the palette 18 through the output latch 38.
The selection sequence is illustrated in FIG. 6(b) and involves passing a flag value to the extender or register 30 which again places the working register 32 in a special state. In this example, the flag value is an 8-bit pixel value having the high 6-bits set (arbitrar- ily) . Therefore, a number of different pixel values can operate as a flag value. When a flag value is presented, the low 2-bits are transferred to the high order portion 34 to index a new group in the color table. As shown in FIG. 6(a), group 2, slot 2, is being accessed to retrieve the RGB triple value located in group 2, slot 2 (FIG. 3). FIG. 6(b) shows a selection sequence to access group 1, while FIG. 6(c) shows selection of group 1, slot 93 (corporate FIG. 3). This function is represented as follows:
FUNCTION extend( in )
INTEGER in, out, high_pad_bits
IF( in > 251 ) THEN high_pad_bits = in - 252 ELSE out = in + 256 * high_pad_bits
END IF
RETURN out END
If desired, FIG. 6(b) could be modified so that the color table is accessed during the selection sequence instead of- repeating the previous pixel value. Such an approach would be represented as follows:
FUNCTION extend( in )
INTEGER in, out, high_pad_bits
IF( in > 251 ) high_pad_bits = 256 * (in - 252) out = in + high_pad_bits RETURN out
END
EXAMPLE 5
Turning now to FIG. 7, an alternative embodiment of an apparatus 40 of a color graphic system in accordance with the present invention is illustrated. The system 40 of FIG. 7 includes a frame buffer 42 and a serializer 44 which serially reads the n-bit memory values from the frame buffer 42. The n-bit memory values are output from the serializer 44 on serializer bus 46. A color extender 48 is coupled to the serializer bus 46 to continuously read the stream of values on the bus. Similarly, the color palettes 50-53 are operably coupled to the serial- . izer bus to access the stream of digital memory values. Each palette 50-53 contains a lookup table (not shown) containing a plurality of slots where each slot contains color control information. As shown in FIG. 7, each palette is coupled to respective red, green and blue digi- tal-to-analog converters 55, with the DAC's 55 connected to electron guns (not shown).
The color extender is operably connected to each palette through enable lines 56-59 as shown in FIG. 7. That is, upon activation of an enable line 56-59 a respec¬ tive palette 50-53 is able to 'read and accept pixel values appearing on the serializer bus 46.
The operation of the apparatus illustrated in FIG. 7 is similar to the operation of the apparatus of FIG. 1 in a broad sense. That is, the color extender 48 constantly reads the output of the serializer 44 and recognizes when a selection sequence is initiated. For example, a 4-bit flag value (e.g. "1111") may be output on the serializer bus 46 to place the color extender 48 in a special state. The pixel value succeeding the flag value is read by the color extender 48 and identifies a particular palette 50- 53. Thus, in this example the selection sequence consists of a flag value and a succeeding value to identify a particular palette. That is, the color extender 48 reads the succeeding pixel value and turns on the appropriate enable line 56-59 for the appropriate palette 50-53 to use all succeeding pixel values until the next selection sequence to drive out the corresponding control information. Of course, the DAC's of the disabled palettes are placed in a high impedance state to avoid interference with the analog signal from the enabled DAC's.
ALTERNATIVES
The above examples illustrates a wide application of the method and apparatus of the present invention in a color graphic system. The color graphic system does not have to be a three-gun color CRT system, but may comprise such systems as light valves, liquid crystals, beam pene¬ tration, etc. In all such graphic systems, the color extender uses an n-bit pixel value to map into j color table locations (j slots) where 2n < j < 2m. Such an extension of the color table using small bit size memory * is a significant advance in the art. Those skilled in the art will appreciate that the selection sequence hereof is easily adaptable to lookup tables containing a control information other than color control. Of course, still other possibilities exist without departing from the scope of the present invention.
For example, the color palette 18 may be constructed using multiple discrete physical memory parts. In such a selection sequence the contents of the high order portion may be used to select the appropriate memory part, with the contents of the low order portion selecting a location in the discrete memory part. Such an alternative could be extended to the operation of other physically discrete devices, such as a system employing more than one lookup table and associated video D/A converter per gun. That is, the selection sequence would change the contents of the high order portion to designate the appropriate palette while the low order portion contents would map a location in a lookup table whose contents would be sup- plied to the designated palette. Alternatively, the operation may be in accordance with FIG. 7.
While FIG. 1 illustrates a color extender 12 as a discrete part separate between the serializer 16 and palette 18, such a functional color extender 12 could be incorporated in a variety of locations in the graphic system 10. That is, the extender 12 could be incorporate with the serializer 16 or palette 18 as a part of an integrated circuit which is performing another function. Of course several of the input and output latches illus¬ trated in FIG. 1 might be eliminated if the extender work¬ ing register is simply incorporated on the palette chip.
Conveniently, in'many applications it is advantageous to require that every raster scan begin with a selection sequence for coding efficiency. That is, the selection sequence can be initiated at the beginning of each raster scan before displaying any pixels. Thus, video generation for the initial selection sequence can be suppressed on each scan line.
APPLICATION TO WINDOW SYSTEMS
The application of the method and apparatus of the present invention to window systems is particularly use¬ ful. Graphical window systems are becoming very popular and include such examples as XEROX'S Star, Apple's LISA and Macintosh, Microsoft's Windows and Digital Research's GEM. Many of the UNIX workstation manufacturers provide window systems, as do most artificial intelligence and expert system work stations. In the normal case, window¬ ing exists in a multi-tasking operating system environ- ment. That is, the user is controlling a number of dif¬ ferent applications by running them in separate windows on the same terminal screen. Each application behaves as if it possessed an entire terminal screen, but is represented to the user through only one window. Thus, each window becomes a virtual terminal through which the application process is controlled.
Window systems initially arose in the context of monochrome graphics in which windows are easily imple¬ mented. However, color graphic systems present a particu- lar problem for implementing a windowing system in that the color lookup table is a shared resource used by all the application programs running in their respective windows on the screen. Thus, two separate applications cannot designate a particular slot in the color table to correspond to different colors at the same time. While various mechanisms have been employed to allow sharing the color table in a windowing system, they are cumbersome at best.
The color extender method and apparatus of the present invention is particularly useful in a color graphics windowing system because the present method addresses only a particular group of color table slots at any one time. Therefore, an application can be free to specify the colors of the slots within a particular group without interfering with other applications using other groups of color table slots.
In one implementation, the selection sequence is initiated only at the borders of the windows so that switching between groups in the color table occurs only at the borders. This means that no two applications are using the same group at the same time. Thus, the window management software is responsible for selection sequences and a given window application is only concerned with utilizing color control information within a single group. The technique of switching groups only at the boundaries of windows is fortuitous in that it is tradi¬ tional to surround a screen window with a window border. These borders are generally imposed by the window manage- ment system and have a common width exceeding two pixels. Thus, the borders offer an ideal location in which to implement the selection sequence in that the pixel displa is simply a border during the selection sequence. It is noteworthy that any visible window area is guaranteed to have a border to the left, either its own left border or the right border of an overlapping window.

Claims

CLAIMS:
1. An apparatus for using n-bit digital values output from a frame buffer or the like to access more than 2 memory locations in a lookup table, comprising:
extender means for reading the n-bit values output from the frame buffer,
for recognizing a certain sequence of one or more n-bit values as indicative of a certain group of locations in said lookup table,
and for directing n-bit values suc¬ ceeding said certain sequence to said certain group to address memory locations within said certain group.
2. The apparatus of claim 1, said extender means includ¬ ing a working register having first and second portions, the contents of the first portion identifying said certain group and the contents of said second portion identifying a particular location within said group.
3. The apparatus of claim 2,
said extender means being operable for normally shifting each n-bit value to the second portion, and for shifting at least part of an n-bit value to said first portion when presented with said certain sequence.
4. The apparatus of claim 1, wherein said lookup table includes a plurality of groups of locations, said extende means being operable upon recognizing said certain sequence for enabling said certain group to receive said succeeding values to address memory locations within said certain group.
5. The apparatus of claim 1, wherein said lookup table includes a plurality of groups of locations on a plurality of palettes, each palette being coupled to a serializer bus for reading said digital values output on the bus, and said extender means being coupled to said serializer bus for reading said digital values output on the bus for enabling the palette having said certain group upon recog¬ nizing said certain sequence.
6. A method for accessing the slots in a lookup table where each slot contains control information, comprising the steps of:
outputting from memory a stream of values;
addressing a particular slot within the lookup table including the substeps of —
identifying a group of slots within the lookup table by a certain sequence of one or more values in said stream of values. selecting a particular slot within said identified group using a value succeeding said certain sequence; and
outputting the information contained in said addressed slot.
- 7. The method according to claim 6, wherein said stream of values are n-bit and the lookup table contains j slots where j > 2 .
8. The method according to claim 6, said addressing step including the substeps of:
serially shifting each value from memory into a working register having a first portion and a second portion wherein the values are normally shifted into the second portion;
transferring at least part of said one or more values comprising said certain sequence to said first portion when said certain sequence is presented to the working regis¬ ter; and
identifying said group of slots using the con- tents of said first portion.
9. The method according to claim 6, said lookup table comprising a plurality of groups of slots located respec- tively on a plurality of palettes. said identifying step comprising reading the stream of values with an extender which recognizes said certain sequence,
said selecting step comprising enabling the particular palette having said identified group.
10. A method for producing an m-bit output using an n-bi input where m > n, comprising the steps of:
serially accessing values from a computer memory where each value is represented by n-bits;
transferring each value to a working register having a first portion and a second portion of at least n-bits wherein,
each value is normally transferred to the second portion with the first portion remaining unchanged,
presenting a flag value transfers at least part of the flag value or a value succeeding the flag value into the first portion; and
outputting the contents existing in the first portion and second portion as an m-bit output.
11. The method according to claim 10, including the steps of: transferring the m-bit output to a lookup table having control information at j locations, where 2n < j < 2m;
selecting a group of control information loca¬ tions from the lookup table with the out- putted first portion contents identifying the group.
12. The method according to claim 11, including the step of selecting a control location within the selected group using the second portion contents.
13. The method in accordance with claim 12, including the step of outputting the selected control information to a digital-to-analog converter to generate an analog signal corresponding to the control information.
14. The method according to claim 13, including the step of using the analog signal from the digital-to-analog converter to operate an electron gun in a cathode ray tube.
15. The method according to claim 10, including the steps of:
selecting a device using the outputted first portion contents;
operating the selected device using the out- putted second portion contents.
16. The method according to claim 10, wherein said flag value comprises a certain sequence of memory values.
17. The method according to claim 10, wherein in said transferring step, the value immediately succeeding the flag value is transferred to the first portion.
18. The method according to claim 10, wherein in said transferring step, a component of the flag value is trans¬ ferred to the first portion.
19. A method for expanding the number of color control information locations accessible in a lookup table where the information is used to control the operation of a raster-scan, electron gun in a cathode ray tube, compris¬ ing the steps of:
serially outputting from frame memory a series of n-bit pixel values representative of a desired image on the cathode ray tube;
serially inputting said pixel values into an extender having a working register compris¬ ing a first portion and an n-bit second portion, including the substeps of —
normally shifting the n-bit pixel value to the second portion,
placing the extender in a special state when a flag pixel value is input to the extender, shifting at least a portion of the flag pixel value or a succeeding pixel value into the first por¬ tion with the extender in said special state;
transferring the contents of the working regis¬ ter to a lookup table having j color con¬ trol information locations where
2n < j < 2m;
identifying color control information stored in the lookup table by using the contents of the working register to map a certain loca¬ tion in the lookup table;
outputting the identified control information to a digital-to-analog converter; and
operating the electron gun according to an analog signal received from the digital- to-analog converter corresponding to said identified control information.
20. The method according to claim 19, wherein the flag pixel value comprises a particular selection sequence of pixel values input through the working register.
21. The method according to claim 19, wherein the flag pixel value comprises a particular value and the pixel value next succeeding said flag value is shifted into the first portion.
22. The method according to claim 19, wherein each color control information comprises an RGB triple for designat¬ ing the operating characteristics of one or more electron guns.
PCT/US1988/002412 1987-07-16 1988-07-15 Look-up table extension method and apparatus WO1989000744A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7424687A 1987-07-16 1987-07-16
US074,246 1987-07-16

Publications (1)

Publication Number Publication Date
WO1989000744A1 true WO1989000744A1 (en) 1989-01-26

Family

ID=22118550

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1988/002412 WO1989000744A1 (en) 1987-07-16 1988-07-15 Look-up table extension method and apparatus

Country Status (2)

Country Link
AU (1) AU2137988A (en)
WO (1) WO1989000744A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0465102A2 (en) * 1990-06-27 1992-01-08 Texas Instruments Incorporated Palette devices selection of multiple pixel depths packing the entire width of the bus
EP0921498A2 (en) * 1997-12-08 1999-06-09 Sony Corporation Data conversion apparatus and image generation apparatus
US6624822B2 (en) 1997-12-08 2003-09-23 Sony Corporation Data conversion apparatus and image generation apparatus
EP1518220A1 (en) * 2002-05-13 2005-03-30 Genesis Microchip, Inc. Apparatus and method for multi-resolution color mapping for display devices

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2658681B1 (en) * 1990-02-21 1992-04-30 Alcatel Business Systems METHOD OF ADAPTING VIDEOTEX DISPLAY FOR TELEMATIC TERMINAL.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4490797A (en) * 1982-01-18 1984-12-25 Honeywell Inc. Method and apparatus for controlling the display of a computer generated raster graphic system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4490797A (en) * 1982-01-18 1984-12-25 Honeywell Inc. Method and apparatus for controlling the display of a computer generated raster graphic system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Technical Digest (AT&T), no. 78, July 1986, (Holmdel, NJ, US), G.D. Ott: "A color-mapped video display with an increased number of displayable colors", pages 27-28 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0465102A2 (en) * 1990-06-27 1992-01-08 Texas Instruments Incorporated Palette devices selection of multiple pixel depths packing the entire width of the bus
EP0465102B1 (en) * 1990-06-27 1996-01-03 Texas Instruments Incorporated Palette devices selection of multiple pixel depths packing the entire width of the bus
EP0921498A2 (en) * 1997-12-08 1999-06-09 Sony Corporation Data conversion apparatus and image generation apparatus
EP0921498A3 (en) * 1997-12-08 2000-07-12 Sony Corporation Data conversion apparatus and image generation apparatus
US6188386B1 (en) 1997-12-08 2001-02-13 Sony Corporation Data conversion apparatus and image generation apparatus
US6624822B2 (en) 1997-12-08 2003-09-23 Sony Corporation Data conversion apparatus and image generation apparatus
KR100528382B1 (en) * 1997-12-08 2006-01-27 소니 가부시끼 가이샤 Data conversion device and image generating device
EP1518220A1 (en) * 2002-05-13 2005-03-30 Genesis Microchip, Inc. Apparatus and method for multi-resolution color mapping for display devices
EP1518220A4 (en) * 2002-05-13 2008-03-12 Genesis Microchip Inc Apparatus and method for multi-resolution color mapping for display devices

Also Published As

Publication number Publication date
AU2137988A (en) 1989-02-13

Similar Documents

Publication Publication Date Title
US4823120A (en) Enhanced video graphics controller
US4490797A (en) Method and apparatus for controlling the display of a computer generated raster graphic system
JP2780193B2 (en) Dither device
EP0071725B1 (en) Method for scrolling text and graphic data in selected windows of a graphic display
US5179641A (en) Rendering shaded areas with boundary-localized pseudo-random noise
US5473342A (en) Method and apparatus for on-the-fly multiple display mode switching in high-resolution bitmapped graphics system
US5559954A (en) Method &amp; apparatus for displaying pixels from a multi-format frame buffer
EP0266506B1 (en) Image display processor for graphics workstation
US5896140A (en) Method and apparatus for simultaneously displaying graphics and video data on a computer display
EP0210423A2 (en) Color image display system
EP0154067A1 (en) Display apparatus with mixed alphanumeric and graphic image
WO1988001778A1 (en) Apparatus and method for monochrome/multicolor display and superimposed images
JPS6326786A (en) Color pallet system
US4447809A (en) High resolution figure displaying device utilizing plural memories for storing edge data of even and odd horizontal scanning lines
US4616220A (en) Graphics display comparator for multiple bit plane graphics controller
US5086295A (en) Apparatus for increasing color and spatial resolutions of a raster graphics system
US4757309A (en) Graphics display terminal and method of storing alphanumeric data therein
US4910687A (en) Bit gating for efficient use of RAMs in variable plane displays
US4952921A (en) Graphic dot flare apparatus
WO1989000744A1 (en) Look-up table extension method and apparatus
US5140312A (en) Display apparatus
JPH01189690A (en) Double screen display controller
EP0202426B1 (en) Raster scan digital display system
US4868556A (en) Cathode ray tube controller
EP0413483B1 (en) A display system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR CH DE DK FI GB HU JP KP KR LK LU MC MG MW NL NO RO SD SE SU

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BJ CF CG CH CM DE FR GA GB IT LU ML MR NL SE SN TD TG