Without limiting the general scope of the invention, its background is described in connection with computer graphics, as one example only.
In computer systems, a host computer can be programmed to perform general purpose tasks including graphics routines. Greater speed and additional features are often desirable, and so a graphics processor is added to supplement the capabilities of the host computer.
The graphics processor is also called a graphics system processor (GSP), examples of which are the Texas Instruments TMS34010 and TMS34020 GSPs. The addition of a graphics processor makes the computer system a multiprocessor system which can benefit from advances in the art of multiprocessor technology. Furthermore, several different kinds of memory such as ROM, DRAM (dynamic random access memory) and VRAM (video RAM) are useful with computers that have graphics capability, and are desirably accommodated.
In computer graphics systems the low cost of dynamic random access memories (DRAM and VRAM) has made it economical to provide a bit map or pixel map memory for the system. In such a bit map or pixel map memory a color code is stored in a memory location corresponding to each pixel to be displayed. A video system is provided which recalls the color codes for each pixel and generates a raster scan video signal corresponding to the recalled color codes. Thus, the data stored in the memory determines the display by determining the color generated for each pixel (picture element) of the display.
The desirability of a natural looking display and the minimization of memory are conflicting. In order to have a natural looking display it is generally desirable to have a large number of available colors. This implies a large number of bits for each pixel in order to specify the particular color from among a large number of possibilities. However, the provision of a large number of bits per pixel calls for a large amount of memory for storage. Since a number of bits must be provided for each pixel in the display, even a modest sized display would require a large memory. Thus, it is advantageous to provide some method to reduce the amount of memory needed to store the display while retaining the capability of choosing among a large number of colors.
The provision of a circuit called a color palette enables a compromise between these conflicting requirements. The color palette stores color data words that are longer in bit length than color codes that are stored in the pixel map memory instead of the actual color data words themselves. The color data words can specify colors to be displayed in a form that is ready for digital-to-analog conversion directly from the palette. The color codes stored in the memory for each pixel have a limited number of bits, thereby reducing the memory requirements. The color codes are employed to select one of a number of color registers or palette locations. Thus, the color codes do not themselves define colors but instead identify a selected palette location. These color registers or palette locations each store color data words which are longer than the color codes in the pixel map memory. The number of such color registers or palette locations provided in the color palette is equal to the number of selections provided by the color codes. For example a four-bit color code can be used to select 2-to-the-n or sixteen palette locations. The color data words can be redefined in the palette from frame to frame to provide many more colors in an ongoing sequence of frames than are present in any one frame.
Due to the advantages of the color palette devices, systems and methods, any improvements in their implementation are advantageous in computer color graphics technology. Indeed, any improvements in applicable circuits are desirable so that graphics and other computer and electronic systems can be made faster, more reliable and more convenient in commercial applications.