METHOD AND APPARATUS FOR CONTROLLING THE DISPLAY OF A COMPUTER GENERATED RASTER GRAPHIC SYSTEM
BACKGROUND OF THE INVENTION 1. Field of the Invention This invention is in the field of computer generated raster graphics and, more particularly, relates to methods and apparatus for determining between two types of displays, alphanu beric or graphic, which shall control the intensity and color of each picture element of the raster of a cathode ray tube. 2. Description of the Prior Art
Alphanumeric raster scan CRT displays form a principal communi¬ cation link between computer users and their hardware/software systems. The basic display device for computer generated raster graphics is the CRT monitor, which is closely related to the standard television receiver. In order for the full potential of raster graphics to be achieved, such displays require support systems which include large-scale random-access memories and digital computational capabilities. As the result of recent developments of large-scale integrated circuits, the price of digital memories has been reduced significantly and computers in the form of microcomputers are available which have the capability of controlling the displays _.t affordable prices. As a result, there has been a surge of development in raster graphics. Typically, each pixel in a rectangular array of the picture elements of a CRT is assigned a unique address, comprising the x and y coordinates of each pixel in the array. Information to control the display is stored in a random-access memory (RAM) at locations having addresses corresponding to those assigned to the pixels. The source of
pixel control data stored in the RAM is typically a microcomputer located in a graphic controller which will write into the addressable memory locations the necessary information to determine the type of display. This frequently is an address in a color look-up memory, at which location there is stored the necessary binary color control signals to control the intensity of the color of each pixel of an array. The horizontal and vertical sweep of the raster scan is digitized to produce the addresses of the pixels, which addresses are applied to the memory in which the controller has previously written the information determinative of the display, i.e., the color and intensity of the addressed pixel as it is scanned. This information can be an address in a color look-up memory. The data is read out of the addressed location in the color look-up memory and the necessary color control signals are obtained. The color signals are converted to analog signals and applied to the three color guns - of the typical CRT to control the intensity and color of each pixel as it is scanned.
There are basically two kinds of displays that can be produced by a raster graphics system, one being an alphanumeric type display in which alphanumeric symbols are displayed in cells of uniform size, and the other being a graphic type display in which the color and intensity of each pixel is uniquely determined, and which is used for drawing lines and geometric figures, for example. It is frequently the case that for each pixel of the array there is stored in the RAM of the raster graphic system, sometimes called the frame memory, information for both an alphanumeric type or mode of display and a graphic type or mode of display. Prior to this invention, there has been no way in which the priority of type, or mode, of display, the color and intensity of each pixel of the raster, is controlled on a pixel by pixel basis where two or more types of display information have been written into the frame memory for one or more pixels.
SUMMARY OF THE INVENTION The present invention provides both method and apparatus for controlling the display that is visually observable by a human being, and which is produced by a raster scan of an array of pixels of a color cathode ray tube. Each pixel has associated with it an address. There is also provided an addressable memory in which at each addressable location corresponding to that of a picture element there is stored an address of a location in a color look-up memory for an alphanumeric color, for a graphic color, and priority signals. In addressable locations of the color look-up memory, there are stored binary color control signals representing the color and intensity of the pixel. The horizontal and vertical sweep signals of the raster scan logic of the CRT are digitized to produce the addresses of the pixels. These addresses are applied to the memory. The data read from the addressed locations in the memory, which are read from the memory substantially in synchronism with the raster scan of the CRT, include graphic color addresses, alphanumeric color addresses and priority signals for each pixel of the raster scan array. The color look-up address having priority is determined by a color look-up address selector to which the priority signals are applied and the selected color address is applied by the selector to the color look-up memory. The color control signals stored at the addressed color look-up memory location are fetched and applied to digital to analog circuits which convert the binary color control signals into analog signals. The analog color control signals for each predetermined color are applied to the cathode ray tube to control the color and intensity of each pixel of the raster as it is scanned.
It is, therefore, an object of this invention to provide an improved method and apparatus for controlling the images displayed by a computer-generated raster scan color CRT.
Another object of this invention is to provide a method and apparatus for controlling which of two types of displays, alphagraphic or alphanumeric, will be displayed by a raster graphics system. A still further object of this invention is to provide method and apparatus for controlling which of two types of displays will control the color and intensity of a given pixel by means of priority control signals which are stored in a random-access memory at locations associated with the pixels being scanned.
BRIEF DESCRIPTION OF THE DRAWINGS Other objects, features and advantages of the invention will be readily apparent from the following description of certain preferred embodiments, thereof, taken in conjunction with the accompanying drawings, although variations and modifications may be effected without departing from the spirit and scope of the novel concepts of the disclosure, and in which:
Figure 1 is a schematic block diagram of the apparatus for controlling a computer-generated raster scan color CRT of the invention;
Figure 2 is a schematic block diagram in greater detail of the memory and, apparatus for selecting which color look-up address is applied to the color look-up memory;
Figure 3 illustrates the logic equations describing the function of the color look-up address selector;
Figure 4 illustrates the format of the information stored in a pixel address location containing alphanumeric and priority information with respect to each pixel of a line segment;
Figure 5 illustrates a format of the graphic information for the pixels of a line segment as stored in the alphagraphic memory;
Figure 5 is a schematic diagram of the color look-up address selector of the invention including a truth table showing the relationship between the priority signals and which mode of display has priority for the illumination of a given pixel; Figure 7 is a memory map of a preferred example of the color look-up memory;
Figure 8 illustrates the appearance of a cell in which the alphanumeric display has priority over the graphic;
Figure 9 illustrates the appearance of a cell in which the graphic display has priority over the alphanumeric background display; Figure 10 illustrates the appearance of a cell when the graphic display has priority over the alphanumeric, both bachground and foreground;
Figure 11 illustrates the format of the control signals stored in each color look-up memory location; and
Figure 12 is a truth table showing the relationships of the digital color control signals and the intensity of the color displayed.
O-viPI
DETAILED DESCRIPTION OF THE INVENTION In Figure 1, there is illustrated apparatus for control! inq the images displayed by a computer-generated, or controlled, raster graphic system. Graphic controller 10 has the capability of writing into random-access alphanumeric memory 12, graphic memory 14, and color look-up memory 16, binary digital information that is used to control the intensity and color of each picture element, pixel, of a conventional color CRT monitor which is not illustrated. Raster scan logic 18 of a conventional CRT device includes conventional digitizing circuits to digitize the horizontal and vertical sweep signals of the raster scan of the CRT monitor so that for each pixel on the face of the CRT there is a number or address. To uniquely identify each of the 640 pixels in a horizontal line and in the 480 vertical lines of a standard CRT raster requires a 19-bit address with the "x" component comprising 10 bits and the "y" component 9 bits. The "x" address corresponds to the ordinate and the "y" to the abscissa of the pixels of the substantially rectangular raster. While in Figure 1 the alphanumeric memory 12, graphic memory 14, and color look-up memory 16 are indicated as being separate, they may be combined, or located, in a single conventional random-access memory. Pixel clock 20 produces a clock pulse each time that a pixel in the raster is scanned. The output of the pixel clock 20 is used to read data from memories 12, 14 and 16, as well as by the control circuitry of this invention, as will be described later. To minimize the size of the memory and to permit the use of slower memories, the color look-up addresses for the alphanumeric type display and the graphic memory type display are read from memory for a group, or set, of eight adjacent pixels lyinq in a horizontal line. The eight adjacent pixels lying in a horizontal line define a horizontal line segment. The alphanumeric color look-up address will have, in the preferred embodiment, stored with it, priority signals, Pr 1, Pr 0, which determine whether the alphanumeric display or the graphic display will control the color and intensity of a given pixel. Thus, in the preferred embodiment, two bytes of 8 bits each are stored in each addressable memory location of alpha¬ numeric memory 12 at an address corresponding to one of the eight pixels of a line segment, normally the first pixel scanned by the
OMPI
electron beams of the electron guns of a CRT monitor. The two bytes as they are read out of the alphanumeric memory 12 are stored in alphanumeric buffer circuit 22 which consists in the preferred embodiment of a latch 24 and a shift register 26, with one byte being loaded into the latch 24 and one byte into shift register 26 of buffer circuit 22. Graphic memory 14 also has stored at each addressable location corresponding to one of the eight pixels of each line segment of the raster five 8-bit bytes. The five bytes as they are read out of the graphic memory 14 are stored in graphic buffer circuit 28 which, in the preferred embodiment, consists of five shift registers 30-1 to 30-5, with one byte being loaded in each shift register 30-1 to 30-5. With each clock pulse from pixel clock 20, 7 bits of an alphanumeric color address are transmitted from latch 24 and shift register 26 to color look-up address selector 32, and two priority bits, Pr 0 and Pr 1, v/hich are stored in latch 26, as will be explained in more detail later. Simultaneously, 5 bits of the graphic color address are transmitted to color look-up address selector 32, with one bit being shifted out of each of the shift registers 30-1 to 30-5 with each pixel clock pulse. Based on the values of the two priority bits, Pr 0 and Pr 1, the color look-up address selector 32 will apply to color look-up memory 16, the 7 bits of the alphanumeric color address, or the 5 bits of the graphic color address.
In color look-up memory 16 at locations having addresses corresponding to the color addresses applied by alphanumeric buffer circuit 22 and graphic buffer circuit 28, there are stored color control signals which are used to control the intensity of the electron beams of the color guns of a conventional color CRT monitor which determine the color and intensity of, or produced by, each pixel of the array as it is scanned. An 8-bit byte is stored in color look-up memory 16 at locations corresponding to the color addresses applied. In synchronism with the scanning of each pixel of the array, or raster, of the pixels being scanned, an 8-bit byte, the color control signal, is read out of color look-up memory 16 and applied to D to A converter 34 which converts 6 of the 8 binary signals into analog signals for controlling the intensity of the red, green and blue electron beam guns of a conventional CRT monitor. In addition, in
the preferred embodiment, two bits of the controller signal are applied to a fourth D to A converter which converts these two bits into a monochrome analog signal that can be used to produce a perma¬ nent record of the raster display using conventional equipment, as is well known in the art.
In Figure 2, additional details of the alphanumeric and graphic display memories 14 and 16 are illustrated. Raster scan logic 18 applies in synchronism with the horizontal and vertical sweep signals controlling the scanning of the pixels of the color CRT monitor, binary signals which are coordinates, or addresses of the pixels, as scanned. For each line segment of eight pixels there is stored in alphanumeric display memory 12 and in graphic display memory 14 appropriate information for controlling the display of each pixel of each line segment as it is scanned. In the preferred embodiment, the alphanumeric display memory 12 has two planes, 12-1 and 12-2. Each addressable location of each plane 12-1 and 12-2 has the capacity for storing a byte of 8 bits. Graphic display memory 14 has five planes 14-1 to 14-5. Each addressable location of each plane has the capacity for storing a byte. With respect to the two bytes that are read from alphanumeric display memory 12, one is loaded into conventional latch circuit 24 which has the capacity for storing 8 bits, and the other byte is loaded into a conventional shift register 26 that has the capacity* for storing 8 bits. Shift register 26 will read out, or shift out, one bit for each pixel clock pulse applied to it. The bits shifted out of shift register 26 are the background/foreground, B/F, bits which are concatenated with six bits from latch 24 to form a seven-bit alphanumeric color address. The remaining two bits in the byte stored in latch 24 are the priority bits Pr 1, Pr 0 which are applied with_each pixel clock pulse to color look-up address selector 32. Similarly, the five bytes for each addressable location of a given line segment of pixels stored in graphic memory 14 will be loaded into the five shift registers 30-1 to 30-5, with one byte being stored in each shift register. With each clock pulse from pixel clock 20, each shift register 30-1 to 30-5 will produce, or shift out, one bit so that a total of five bits, a graphic color address, are applied on graphic address bus 36 to color look-up address selector 32.
- TϋR rt
_ OMPI
The logic equations that describe the function of color look-up address selector 32 are illustrated in Figure 3. The signals, or bits Pr 1 and Pr 0, are the priority bits which are stored in latch 24 of buffer 22. The signal GrAd for graphic address is applied to the selector circuit 32. The symbol AnAd for alphanumeric address indicates that an alphanumeric color address is applied to address selector switch 32 and is applied to the color look-up memory 16 by selector switch 32. Under such circumstances, the color and intensity of the pixel of the CRT monitor being scanned at that time is that of the alphanumeric mode or type of display. The symbol AήF for alphanumeric foreground indicates, or represents, that the color and intensity of the pixel of the CRT monitor being energized at that time corresponds to a foreground alphanumeric- type of display. The symbol AnF for alphanumeric foreground not,or alphanumeric background indicates, or represents, that the color and intensity of the pixel of the CRT monitor corresponds to a background alphanumeric type of display. In the alphanumeric type, or mode, of display, the background and foreground colors are generally, but not necessarily, the same color, but if the same color they will differ in intensity with foreground pixels of a given alphanumeric display, typically being brighter than the background pixels.
In Figure 4, the formats of the two bytes that are read out of alphanumeric memory are illustrated. Byte 38 contains bits which determine whether the display for each of the pixels of a line segment will be background or foreground which is indicated by the letters B/F. In the second byte 40, bits 0-5 are the lower order b ts of the color address for an alphanumeric display. Bit positions 6 and 7 of byte 40 are the priority bits Pr 0 and Pr 1.
In Figure 5, the formats of five bytes 42-1 to 42-5 that are stored in each of the addressable locations of graphic memory 14 are illustrated. The eight bits of each byte 42-1 to 42-5 which are loaded into the five shift registers 30-1 to 30-5 are then read out of, or shifted out of, shift registers 30-1 to 30-5 in synchronism with the raster scan with each of the shift registers 30-1 to 30-5 transmitting a bit for each pixel clock pulse produced* by pixel clock 20. Thus, all the bits in the ø bit position of bytes 42-1 to 42-5 will be read out on the first clock pulse after the bytes are loaded
O-.-PI
into the shift registers 30-1 to 30-5, or at the beginning of a scan of a given line segment. On the occurrence of the next clock pulse, the bits in bit position 1 are shifted out, those in the second bit position next, etc. At the completion of the reading out of the eighth bit from each of the shift registers 30-1 to 30-2, the next five bytes of the next line segment will be read out of graphic memory 14 and written into the five shift registers 30-1 to 30-5 of graphic buffer 24.
Figure 6 is a schematic block diagram of the control circuit for color look-up address selector 32 which implements the logic equations illustrated in Figure 3. Byte 40 "of the alphanumeric color address is loaded into latch 24 which consists of eight flip-flops 44. In Figure 6, flip-flops 44-7 to 44-4 for holding or storing bits 4-7 of byte 40 are illustrated. Flip-flops 44-6 and 44-7 will have written into them from alphanumeric memory 12, priority bits Pr 0 and Pr 1. Flip-flops 44-5 and44-4 will have the two higher order bits of the alphanumeric color address, those in bit locations 5 and 4 of byte 40 of Figure 4, written into them. The foreground/background bit, F for foreground and F for background, for each pixel of a line segment after being loaded into shift register 26 are shifted out in synchronism with the raster scan of the CRT monitor and are applied to selector switch 32 over alphanumeric bus 46. The control circuit for selector switch 32 also produces the inverted version of F, or F, for a back¬ ground alphanumeric pixel. Likewise, all five bits of the graphic address signal are applied to OR gate 48 which produces a graphic address signal GrAd if any of the five graphic color address bits on graphic address bus 36 is a logical 1. When a graphic color address • is being applied to selector switch 32, at least one of the bits of the graphic color address will be a logical 1. In addition, the control circuit produces the GrAd signal in its inverted form GrAd which is true if no graphic color address is applied to selector 32.
The signals F, F,. GrAd and GrAd are applied to four, four input AND gates 50-1 through 50-4. One of the inputs to gates 50-1 and 50-3 is tied to the power supply and thus always is a logical 1 signal. One input terminal of each of the gates 50-1 through 50-4 is connected to a source of clock enable signals, or may be connected to the power supply so that each input is a logical 1 at all times. The outputs
OMPI
of the four AND gates 50-1 through 50-4 are applied to OR gate 52. The output of OR gate 52 is the signal AnDs for alphanumeric display and AnDs for a graphic display. The signal AnDs, if true, causes circuit selector switch 32 to apply the seven-bit alphanumeric address to the color look-up memory 16 and, if not true, then to apply the bits of the graphic color address to color look-up memory 16.
Truth table 54 in Figure 6 describes the relationship between the priority signals Pr 0 and Pr 1 and the color address signals which are applied to color look-up memory 16. If Pr 1 and Pr 0 are both logical zeroes, then the alphanumeric color address AnAd will take precedence over the color address signals GrAd. If Pr 0 is a 1 and Pr 1 is a 0, then the alphanumeric foreground color address AnFAd will take precedence over the graphic address GrAd, but the graphic address GrAd takes precedence over the alphanumeric background address signals AnFAd. If Pr 0 is a 0 and Pr 1 is a 1, then the result is the same as if they are both zeroes; i.e., an AnAd will take precedence over the GrAd where the alphanumeric color address can be either a foreground or background color. When Pr 0 is a logical 1 and Pr ϊ is also a logical 1, then the graphic address GrAd will take precedence over the alphanumeric AnAd in either of its two forms. Figure 7 is a memory map of color look-up memory 16, or that portion of a conventional random-access memory that is designated as a color look-up memory. Memory 16 is organized into groups of adjacent memory locations, one for graphic colors with each location for each graphic color address having a five-bit address which provides the possibility of up to 32 different combinations of colors and intensities for a pixel when in the graphic mode. The addresses of memory locations of memory 16 in Figure 16 are in hexadecimal notation. Alphanumeric foreground colors are stored in up to 64 adjacent memory locations as are the alphanumeric background colors. Thus, the seven-bit alphanumeric address provides for up to 64 color intensity combinations for foreground alphanumeric displays and up to 64 color intensity combinations for background alphanumeric displays, preferably in adjacent memory locations. In the preferred embodiment, the color look-up memory 16 is a block of 256 adjacent memory locations having the same base address.
In Figure 11, there is illustrated the format of a byte 56 of
OMPI
color control bits which are stored in each addressable memory loca¬ tion of color look-up memory 16. The two lowest order bits, bits 0 an 1, in the preferred embodiment, determine the intensity of the red color of the pixel; the next two lowest order bits, bits 2 and 3 determine the intensity of the green color; and bits 4 and 5 determine the intensity of the blue component of the color of each pixel. Bits 6 and 7 are used to determine the monochrome intensity and are used to make a permanent recording of the display.
In Figure 12, truth table 58 establishes the relationship between the values of the control bits for each of the primary colors, red, green and blue. For example, when both bits are zero, then the color gun of the CRT of the monitor is off and the intensity of the display of the pixel being scanned will not include any color component corres ponding to the color gun to which that control signal is applied. If the color control signals are 0 and 1, then the intensity of the color component,- red, green, or blue, would be 1/3 of maximum; if they are 1 and 0, it is at 2/3 the maximum intensity; and, if they are both ones, they are at full or maximum intensity. The color control signals stored at each color look-up address when read out of color look-up memory 16 are applied to four conventional digital to analog conver¬ ters 34 which produce analog control signals for the red, green or blue guns of a conventional color cathode ray tube. The fourth D to A converter is used to produce a monochrome analog signal.
In Figure 8, there is illustrated the manner in which an element 60 of the array, or raster, of pixels of a CRT, where the element is a rectangular array of 8 x 14 pixels is energized to produce an alpha¬ numeric display, in this case the letter A. Simultaneously, a graphic line 62 is being written through the element. If both of the priority bits are logical zeroes for each of the line segments of the element, and there are 14 of such segments in an element, then the graphic display within the alphanumeric element will be suppressed; i.e., only alphanumeric color control signals either background or foreground will be displayed in that element. As a result, the display of element 60 would appear substantially as in Figure 8. The graphic pixels 64 which are shaded to indicate the color green would appear, if at all, in elements adjacent to element 60. The foreground alpha¬ numeric display will normally be more intense, in this case the
OMPI
foreground pixels are shaded for a bright red so that the color-coded signals in bit positions 0, 1 of the byte 56 will both be logical 1 so that the red color will be at its maximum intensity. Since the display is red, the control signals for green and blue will both be logical zeroes. The background is a less intensive red; i.e., has an intensity of 1/3 that of the foreground, so that the corresponding color in the background address would be at a lower intensity; i.e., the color control signals for the red gun would be 0, 1. The differences between the background/ foreground color are the result of appending the appropriate background/foreground bit from byte 38 to the alphanumeric control information bits 0 through 5 of byte 40 with background/foreground bit being the highest order bit. When this bit is a logical one, the alphanumeric background colors are used to control the intensity of the display of the pixels in the alphanumeric display mode.
In Figure 9, the priority bits are such that Pr 0 is a logical 1 and Pr 1 is a logical 0, with the result that the graphic display takes priority v/ithin cell 60 over a background alphanumeric display, but not over a foreground alphanumeric display. In Figure 10, the priority bits Pr 0 and Pr 1 are both logical ones and, as a result, the graphic display mode for each pixel 62 takes priority over the alphanumeric display in each instance. What is claimed is:
OMPI