Video display system

Abstract: A video display system selectively controls by window the number of overlay planes, the number of overlay palettes, and the overlay/underlay plane masks in a graphics display. A logic/multiplex control 13, 11 translates overlay and underlay data patterns from a multiple plane VRAM 12, referenced to the graphics system frame buffer 9, into window specific patterns. The window related translation is conveyed to conventional RAMDACs 11 for raster scan synchronized digital-to-analog conversion. The translation as provided by the controller is responsive to data selectively and dynamicaliy written into a random access memory 14, thus providing translation of overlay/underlay data into window distinct and selective overlay/underlay palette functions.

Description: This invention relates generally to the generation of images in a video display system screen. More specifically, the invention relates to the selective relation of overlays and underlays to windows generated for a graphics video display screen. Computer driven video display systems of contemporary design use windows to highlight or concurrently display multi-process information being conveyed to the user of the system. Given the complex graphics available in contemporary personal computers or workstations, including diverse pull down and pop up menus, multiple windows, and icons, it has become highly desirable to use graphical patterns with fixed orders of hierarchy to ease the "clutter induced confusion" associated with complex operating environments. A particularly important aspect of clarifying the information being portrayed involves the independent linking of patterns to windows. Window data manipulation is discussed in U.S. Patent No. 4,653,020, which describes the concurrent display of selected data from multiple windows. A digital graphic pattern mixer having functions similar to the Random Access Memory Digital Analogue Converter (RAMDAC) discussed herein is disclosed in U.S. Patent No. 4,149,184. Overlay and cursor priority during a selective merger of image patterns is the subject of U.S. Patent No. 4,317,114. The image portrayed on the video display of a contemporary graphics workstation is typically stored in a Video Random Access Memory Array (VRAM) known as a frame buffer. The frame buffer is periodically scanned or otherwise accessed to ascertain the colour, intensity and like information used to generate the image on the video display. The image as stored in the frame buffer is subject to windowing activity. Consequently, when a window is removed from view the appropriate underlying image must be regenerated in the changed region of the frame buffer. Overlays and underlays are two forms of graphic data manipulation which do not change the image as stored in the frame buffer. The advantage of such implementations is that the frame buffer does not have to be modified upon the creation or deletion of the associated graphics patterns. The effects of overlays and underlays for each pixel position are conventionally introduced in the RAMDAC devices which convert digital frame buffer data into analog video output signals. In general, the overlay information supersedes by pixel the related data derived from the frame buffer while the underlay information supersedes selectively based upon the deletion of a background colour. A representative example of an overlay would be a blinking grid pattern which covers all or part of an image on the video display screen. Similarly, an example of an underlay would be a grid pattern which is coexistences with the background as depicted on a video display screen. As the area of the background changes in response to variations of the foreground image, so too does the underlay. Since neither the overlay nor the underlay are elements of the data stored in the frame buffer, the overlay and the underlay are subject to change without modifying the content of the frame buffer. The use of such overlays and underlays is particularly important in the display of three dimensional graphics images which if modified to add or delete an overlay or underlay would require extensive regeneration activity. The information represented in overlays, underlays as well as any similarly functioning masking or control planes, is normally stored in planes of another VRAM herein referred to as the control plane VRAM. The planes in such array are analogous in size to the frame buffer VRAM in terms of pixel count. Preferably, window priority and location information is stored in similar additional planes of the control plane VRAM. To maintain accurate reproduction of colours in windowing operations it is important to relate the palettes of underlays, as well as overlays, to windows. Commercially available graphic workstation products which provide the ability to relate overlay and underlay patterns to windows exhibit confusing colour changes in underlays when the cursor is moved between windows having such window linked overlay and underlay patterns. The effect is believed to be a consequence of having too few overlay palettes, or too few user accessible overlay palettes. It is accordingly an object of the present invention to provide a system permitting more effective control of overlays and underlays. According to the invention we provide a video display system for controlling overlays and underlays in a windowed graphics display comprising storage means for storing representations of windows, overlays and underlays respectively in the form of digital window patterns, overlay patterns and underlay patterns, a palette generator for generating window associated palette data, and logical means for selectively relating overlay and underlay patterns to window associated palette data responsive to stored window patterns. We further provide a system as claimed in Claim 1 in which said logical means includes a RAMDAC device adapter to generate analogue video display system colour data combining the effects of window, overlay and underlay patterns and palettes. In a preferred embodiment of the invention, red, green and blue RAMDACs of conventional design receive colour plane data from the frame buffer VRAM for colour palette addressing and digital-to-analog conversion. The overlay, underlay and cursor inputs select from an overlay/underlay palette when the overlay, underlay, and cursor signals are to be substituted for the data from the frame buffer. A multiplexer selects whether the frame buffer colour palette output or the overlay/underlay palette output is conveyed to the digital-to-analog converter generating the R/G/B signals. The signals selecting from within the overlay/underlay palette are generated in a overlay/underlay/cursor control which logically and selectively combines cursor data with overlay data and underlay data, and relates such to the window plane data. The logical and selective combination can be varied to selectively change the overlay and underlay functions attributed to data in the control plane VAMP. In a preferred form, the window data addresses a control resident memory to define how control plane VRAM data is to be treated in selecting overlay or underlay palettes. The mode selection is to be related to windows by window address. Foremost, the control memory is relatively small and thus subject to a dynamic variation to cycle the relationships and modes. In an alternative embodiment, the cursor data is conveyed directly to the RAMDAC in lieu of performing logical combination in the overlay/underlay control. In such variant, the control still provides logical and multiplexing operations suitable to relate underlay and overlay palettes to windows. A graphic workstation embodying the invention provides the ability to selectively define and dynamically vary overlay and underlay palettes in relation to prescribed windows, and optimises the use of the control plane VRAM storage by allowing an alteration of control plane VRAM planes between overlay and underlay modes. These features are provided within the architectural constraints of a graphic display system having a conventional frame buffer VRAM, a conventional control plane VRAM, and conventional RAMDAC devices. In order that the invention may be well understood, preferred embodiments thereof will now be described with reference to the accompanying drawings, in which:- Fig. 1 is a schematic block diagram of the workstation to which the invention relates. Fig. 2 is a schematic depicting an image on a video display screen. Fig. 3 is a schematic block diagram of a graphics display system architecture. Fig. 4 is a schematic block diagram of the overlay/underlay/cursor control. Fig. 5 is a schematic block diagram of a conventional RAMDAC. Fig. 1 illustrates by block diagram the elements of a workstation incorporating the present invention. Such workstation is composed of a general processor, a volatile and nonvolatile memory, a user interactive input/output (e.g., keyboard, mouse, printer, etc.), a graphics processor, and a video display responsive to the graphics processor. The invention is directed to a graphics processor having features which improve the operation and usability of the whole system. A representative workstation is the RISC System/6000 (trademark of IBM Corporation) product commercially available from IBM Corporation. Fig. 2 illustrates a three dimensional graphic display screen image 1, including first window 2 and second window 3. Also appearing in the screen is a dashed overlay pattern 4, a second window related underlay of diagonal lines 6, a foreground image 7 and a cursor 8. Preferably, the images are created on a video display in response to raster scan synchronised RGB signals generated by the graphics system having the architecture depicted in Fig. 3. The priority of the cursor, overlay, foreground, underlay and frame background images by pixel is set forth in Table A. The graphics display system architecture depicted in Fig. 3 includes multiple planes of frame buffer VRAMs 9, preferably composed of three sets of 8 bit plane VRAMs. Such configuration provides a true colour arrangement of 24 bits per pixel, partitioned into 8 bits for red, 8 bits for green, and 8 bits for blue. A pseudo colour version uses a frame buffer VRAM of only eight planes, to provide 8 bits and consequently only 256 colour combinations per pixel. VRAMs 9 and 12 are video DRAM devices of dual port asynchronous design. A representative video RAMDAC 11 is the Brooktree BT461. The preferred arrangement of the system depicted in Fig. 3 uses a separate cursor generator 16, such as the Brooktree BT431. Loading of the palette and control memories is performed by processor 17, a general purpose processor having an I/O port similar to that of a generic SRAM. These are conventional devices and usages thereof. Fig. 4 depicts by blocks the logic and selection functions performed within overlay/underlay/cursor control 13. The functional contributions of control 13 are numerous. First, it selectively relates overlay palettes to windows. Second, the control provides the user with the ability to mask off overlay planes. This feature is very useful for overlays which are subject to frequent on-off cycling as appears on the video display screen. Thirdly, the invention allows variation between the number of overlay colours and the number of overlay palettes (e.g., 8 palettes with 3 colours per palette versus 4 palettes with 7 colours per palette). Fourth, the block integrates cursor signals according to the defined priorities of visibility. Overlay versus underlay functionally is defined in RAMDACs 11. The embodiment depicted in Fig. 4 combines the two cursor inputs in OR block 18, which inputs in both individual and combined forms prevail to control the RAMDAC inputs 0L0-0L3 via OR blocks 19 and 21 and multiplexer blocks 22 and 23. The hierarchy so generated is consistent with the visibility priority defined in Table A for the cursor function. The window identification, overlay, and underlay signals are received from control plane VRAM 12 on the lines identified as window I.D., i.e., overlay0, overlay1, overlay2/underlay (a reconfigurable input according to the preferred embodiment). The four window I.D. lines identify which of 16 windows prevail at the pixel position then subject to processing. The overlay and underlay inputs define the overlay and underlay effects for such pixel position based upon a combination of the logical translation within control 13 and the data in the overlay/underlay palette 14 (Fig. 5) as selected by the signals on lines 0L0-0L4 of RAMDACs 11. The data resident in RAM 24 of control 13 is loaded from general processor 17 responsive to a user defined graphics mode, and is conveyed to RAM 24 over the seven lines of the I/O data bus. The 4 bit window I.D. provides a read address to RAM 24, which relates the data in the RAM to one of the 16 windows. Upon such addressing, the seven data lines of RAM 24 selectively drive the logic in multiplexer blocks 26, 27, 28, 29, 31 and 32 in relation to the bit content previously written into RAM 24. Such data signals are combined with the data from control plane VRAM 12 (Fig. 3) as provided on lines overlay0, overlay1, and overlay2/underlay to driving logic blocks 33 and 34 as well as previously noted logic and multiplexer blocks 19, 21, 22 and 23. A example listing of RAM 24 output bits and associated functions is set forth in Table B. Table C indicates the basic and optional uses of control 13 logic in terms of the visible effects from RAMDACs 11. The significance of this arrangement resides in the fact that the data in RAM 24 can be reconfigured to serve multiple purposes. For example, the data can serve to set the number of overlay palettes, the number of overlay bits, or even the overlay plane mask functions, without altering the structure of the control plane VRAM or mandating an unconventional design of RAMDACs 11. Additionally, the diversity of function is made window specific, so that the translation is variable from window to window merely by altering the content of very small RAM 24. Furthermore, it should be apparent that such variability lends itself to dynamic variation of such overlay and underlay patterns or palettes to provide visual phenomenon such as blinking of overlay and underlay patterns in select windows. Table D sets forth a representative translation of overlay, underlay and cursor inputs, as provided on input lines 0L0-0L4 of RAMDACs 11 into video display colours the RAMDACs. The input bits are represented in the first column of data. The second column represents transparency or selected colours for the two overlay situation. The third column includes a mode in which both overlay and underlay functions are invoked. The unused states are an idiosyncrasy of the RAMDACs 11. The fourth column demonstrates operation with three overlay planes. The architecture of a representative video RAMDAC 11 appears in Fig. 5. The overlay/underlay palette RAM 14 and colour palette RAM 36 are loaded from general processor 17 (Fig. 4) to define the translation between the input bits and the digital format colour data sent to digital-to-analog converter 37. The functions are well known by users of commercial RAMDACs. Overlay/underlay/cursor control 13 in Fig. 4 and RAMDAC 11 as depicted in Fig. 5 are based on a RAMDAC architecture which does not have cursor management capability internal to the RAMDAC. When using RAMDACs with internal cursor control the logic and multiplexer functions relating to the cursor as depicted in Fig. 4 are superfluous. Control 13 as depicted in Fig. 4 provides for distinct modes of operation. In the first mode, four of the five outputs, 0L0-0L3, are forced to specific states to guarantee cursor visibility. Thus only 0L4 is variable per window to select between two cursor palettes. In the overlay mode of operation, where the overlay2/underlay input is assumed to be unavailable, the overlay inputs overlay0 and overlay1 are passed directly to outputs 0L0 and 0L1 of the RAMDACs, selecting one of three colours per pixel. 0L2, 0L3 and 0L4 are individually controlled by window to select between six overlay palettes. In an overlay transparency mode of operation both overlay0 and overlay1 are at zero state, forcing lines 0L0-0L4 to respective zero states. Under these conditions RAMDAC 11 treats the overlay as a transparency. The final mode of operation is the underlay, where the overlay2/underlay input line is the path for the underlay data. In this mode, the number of overlay palettes is reduced from six to three and the number of cursor palettes is reduced from two to one. The RAMDAC mask register, reference 38 in Fig. 5, is set to enable underlay and to mask off 0L4 for an overlay. This state can be varied at a rate consistent with a screen refresh rates so that all overlays are affected except those using palettes 1, 2 or 3 as defined in Table C. The reconfigurable bit, overlay2/underlay, is passed through to 0L4 to control the underlay by pixel. RAMDAC inputs 0L0-0L3 are forced to specific states as required by the RAMDAC, thus the RAMDAC will display the underlay colour only if the underlay bit 0L4 is "1" and the colour plane address is all zeros. This colour plane address represents the background colour. The invention as described herein thus provides a system and method of use for controlling overlay and underlay palettes in relation to specific windows. The selectivity is dynamically variable by modifying the content of a RAM to redefine logic and multiplexing functions within a controller. A preferred implementation uses window addresses to select RAM data. The cursor function may be integrated into such controller or, where the RAMDAC so provides, conveyed directly to the RAMDAC cursor input.

Claims: A video display system for controlling overlays and underlays in a windowed graphics display comprising storage means for storing representations of windows, overlays and underlays respectively in the form of digital window patterns, overlay patterns and underlay patterns, a palette generator for generating window associated palette data, and logical means for selectively relating overlay and underlay patterns to window associated palette data responsive to stored window patterns. A system as claimed in Claim 1 in which said logical means includes a RAMDAC device adapter to generate analogue video display system colour data combining the effects of window overlay and underlay patterns and palettes. A system as claimed in Claim 1 or Claim 2 comprising means for defining a cursor pattern and control means for logically relating the cursor pattern to a cursor palette. A system as claimed in Claim 3 in which said means control is adapted to subordinate the overlay and underlay patterns to the cursor pattern. A system as claimed in any preceding claim comprising a general processor having a memory and user interactive input/output, a video display and a graphics processor responsive to the general processor for controlling the video display, the graphics processor further comprising a frame buffer for storing patterns subject to scanned display, a control plane memory for storing window patterns, overlay patterns and underlay patterns, said palette generator and said logical means. defining window patterns in the video display system; defining an overlay pattern for the video display system; defining an underlay pattern for the video display system; and selectively relating by logical function overlay and underlay patterns to palettes associated with specified windows. A method for selectively relating overlay and underlay patterns to windows in a video display system, comprising the steps of: defining window patterns in the video display system, defining an overlay pattern for the video display system, defining an underlay pattern for the video display system, and selectively relating by logical function overlay and underlay patterns to palettes associated with specified windows. A method as claimed in Claim 6, wherein the step of selectively relating comprises a translation of window associated data into palette selection operations for the overlay pattern and the underlay pattern. A method as claimed in Claim 7, comprising the further steps of defining a cursor pattern for the video display system; and logically relating the cursor pattern to a cursor palette. A method as claimed in Claim 8, wherein the overlay and underlay patterns subject to selective relating are subordinate to the cursor pattern during the step of logically relating.

Inventors: BEATTIE IRENE, DESAI NARENDRA M, VANOVER MICHAEL TERRELL, VOLTIN JOHN ALVIN, BEATTIE, IRENE, DESAI, NARENDRA M., VANOVER, MICHAEL TERRELL, VOLTIN, JOHN ALVIN
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1991
Main classification: G09G5
IPC codes: G06T11, G06F3, G09G5