Multimedia graphics systems with continuous high clock rate

Abstract: Bytes of different types of digital information, including standard interframe video (SIF), graphics, television and audio are transferred between a controller, storage memory and shift registers (e.g. FIFO's) individually associated with the different information types. For a VRAM memory, information is transferred in parallel, controlled by tag bus information, from the controller to the memory and then serially to the FIFO's, all at a frequency higher than a clock frequency in a monitor raster scan. The tag bus information is decoded and introduced to an additional FIFO. A state machine processes such additional FIFO information and transfers the digital information to the different FIFO's at times controlled in each line by such additional FIFO- e.g. particular times in each line for the SIF and graphics and thereafter, for television and audio, at times unrelated to any times in such line. The graphics transfer is timed to substantially fill, but not overflow, in such line the limited capacity of the associated FIFO. Their limited capacities cause the television and audio FIFO's to stop receiving bytes when filled to particular limits. For a DRAM memory, information is transferred, dependent upon the tag bus information, in parallel between the controller, memory and FIFO's at the clock frequency. In a "Rambus" system, a bus common with the controller, memory and FIFO's provides control and timing bytes. The information in successive bytes transferred through the common bus to the controller, memory and FIFO's dependent upon such timing and control information in such bytes.

Description: This invention relates to multimedia graphics systems for use with a monitor for displaying information, claims 1,7. Significant advances have been made in recent years in providing displays of a video information on a video monitor or screen. For example, graphics information has been displayed on a video monitor with enhanced resolution and fidelity as a result of significant advances in the processing of the digital information representing such colors and in the conversion of such digital information into an analog form. Such information has often been processed in digital form and thereafter converted to analog form in a personal computer or work station. In recent years, video information has been simultaneously displayed with the graphics information in such personal computers and work stations. For example, video information has been displayed in a window on the face of the video monitor of the personal computer or work station while graphics information has been displayed on the remainder of the monitor face. In recent years there have also been significant strides in using miniaturized computers such as personal computers and work stations in processing information involving multimedia applications. These multimedia applications may take many different forms. For example, they may involve graphics, television, facsimile and/or audio. In spite of these advances, a suitable system does not exist which is sufficiently flexible to process different types of information efficiently, inexpensively and reliably. For example, the systems now in use are not capable of switching efficiently, inexpensively and reliably between different types of presentations such as graphics, video and audio. This has been particularly true when information from more than one type of media (e.g. graphics, video, television and audio) is to be presented simultaneously. This has limited the utility of the systems now in use. Such limitations exist now in multimedia equipment even though considerable amounts of money have been expended, and considerable effort has been devoted, through the years, and particularly in recent years, to develop a satisfactory multimedia system. In one embodiment of this invention, bytes of different types of digital information including standard interframe video (SIF), graphics, television and audio are transferred between a controller, a storage memory and shift registers (e.g. FIFO's) individually associated with the different information types. For a VRAM memory, information is transferred in parallel, controlled by tag bus information, from the controller to the memory and then serially from the memory to the FIFO's, all at a frequency higher than a clock frequency in a monitor raster scan. The tag bus information is decoded and introduced to an additional FIFO. A state machine processes such additional FIFO information and transfers the digital information to the different FIFO's at times controlled in each line by such additional FIFO-e.g. particular times in each line for the SIF and the graphics and thereafter, for television and audio, at times unrelated to any times in such line. The graphics transfer is timed to substantially fill, but not overflow, the limited capacity of the associated FIFO in each line. Their limited capacities cause the television and audio FIFO's to stop receiving bytes when filled to particular limits. For a DRAM memory, information is transferred, dependent upon tag bus information, in parallel between the controller, memory and FIFO's at the clock frequency. In a "Rambus" system, a bus common with the controller, memory and FIFO's provides control and timing bytes. The information in successive bytes is transferred through the common bus to the controller, memory and FIFO's dependent upon such timing and control information in such bytes. In the drawings: Figure 1 is a schematic block diagram of a system of the prior art; Figure 1(a) shows wave forms at strategic terminals in the system shown in Figure 1; Figure 2 is a schematic block diagram of another system of the prior art, this system being shown and disclosed in a patent application recently filed in the Patent Office by the assignee of record in this application; Figure 2(a) shows wave forms at strategic terminals in the system shown in Figure 2; Figure 3 is a schematic block diagram of a system constituting one embodiment of the invention; Figure 3(a) shows waveforms at strategic terminals in the system shown in Figure 3; Figure 4 is a table illustrating the different types of digital information processed by the system shown in Figure 3; Figure 5 illustrates the sequence of signals processed by the system of Figure 3 in each line in a raster scan in a monitor included in Figure 3; Figure 5(a) illustrates wave forms at strategic terminals in the system of Figure 3; Figure 6 is an expanded schematic block diagram illustrating one of the blocks in Figure 3 in additional detail; Figure 7 is an expanded schematic block diagram illustrating one of the blocks in Figure 6 in additional detail; Figure 8 is a schematic block diagram of another embodiment of the invention; Figure 9 is a schematic block diagram of a further embodiment of the invention; and Figure 10 is an expanded schematic block diagram illustrating one of the blocks in Figure 9 in additional detail. Figure 1 illustrates an embodiment of the prior art. The embodiment includes a graphics controller 10, a storage memory such as a VRAM 12 and stages 14 comprising a random access memory (RAM) and a digital-to-analog converter (DAC). The graphics controller 10 may be a central processing unit which transfers information into the VRAM 12 as indicated at 16. Information is in turn transferred from the VRAM 12 into the stages 14 (designated as "RAMDAC" in Figure as an acronym for random access memory and digital-to-analog converter). The random access memory may comprise a palette (also known as a look-up table) which is well known in the art. The transfer of information into the RAMDAC 14 is indicated at 18. A "/32" indication is provided adjacent the line 18 to indicate that there may be thirty two (32) bits in each byte of information. The analog output from the RAMDAC is indicated at 19. This output may be introduced to a monitor 20 for display on the face of a display screen in the monitor. The palette in the RAMDAC may have a plurality of positions each indicating an individual color. The color at each position may be indicated by a first plurality of bits indicating the primary color red, a second plurality of bits indicating the primary color blue and a third plurality of colors indicating the primary color green. When an individual position in the palette is selected, the bits indicating each of the primary colors are converted to corresponding analog values in the RAMDAC. The respective intensities of the three primary colors at each pixel position controls the color generated at such pixel position on the face of the monitor 20. The graphics controller 10 introduces binary indications into successive positions in the VRAM 12. Each of these binary indication is comprised of a plurality of binary bits. Each plurality indicates a particular position to be selected in the palette. The information transferred from the graphics controller 10 to the VRAM 12 and from the VRAM to the RAMDAC 16 may be provided at a particular clock frequency as indicated by a line 22 extending from the graphics controller 10 to the VRAM 12 and the RAMDAC 14. Graphics information may be displayed on the screen of the monitor 20. When the RAMDAC is included in a work station (not shown), the image on the face of the monitor 20 may be formed by a plurality of pixels in a raster scan. For example, twelve hundred and eighty (1280) pixels may be provided in each horizontal line in the raster scan and ten hundred and twenty four(1024) lines may be provided in such raster scan. The raster may be refreshed at a rate of seventy hertz (70 Hz). Under such circumstances, the pixels are presented at a frequency of one hundred and thirty two megahertz (132 Mhz). When the VRAM is thirty two (32) bits wide, four (4) words each of eight (8) bits may be presented in parallel. This allows the information to be transferred serially from the VRAM at a frequency of thirty three megahertz (33 Mhz). Since each word comprises eight (8) bits, the palette may have two hundred and fifty six (256) different positions each indicating an individual color. It may be desired to update the palette in the RAMDAC 14. This may be accomplished during the horizontal retrace period at the end of each line or during the horizontal blanking interval at the beginning of each line. The horizontal retrace period is relatively short but the horizontal blanking interval in each line is approximately twelve percent (12%) of the duration of the line. The palette may also be updated during the vertical retrace period at the end of each raster scan. The vertical retrace period is considerably longer than each horizontal retrace period. Figure 1 (a) schematically indicates the clock signals on the line 22 as at 24 and schematically indicates the blanking interval 26 at the beginning of each line. The system shown schematically in Figure 1 and discussed above has had extensive usage in the prior art. It is advantageous in that it is relatively simple and reliable. It is disadvantageous in that it provides only a limited number of pseudo colors rather than real colors. Furthermore, it is able to provide only graphics information for display on the monitor 20. It is also not capable of fully utilizing the advantages offered by the latest models of VRAMS which are just being introduced to the market. These VRAMS are capable of operating at a frequency of sixty six megahertz (66 Mhz). This is in contrast to the maximum frequency response of thirty three megahertz (33 Mhz) for the VRAMs now on the market. Figure 2 schematically shows a system which is disclosed in EP-A-0 610 829 (published 17,8,94). A graphics controller 40, a storage member (such as a VRAM 42) and stages 44 are included in the system. The stages 44 may include a shift register such as a first-in-first-out (FIFO) register and may also include a random access memory (RAM) and a digital-to-analog converter (DAC). Information is introduced into the VRAM 42 from the graphics controller 40 in the embodiment shown in Figure 2. This information may be graphics information in a first portion 42a of the VRAM and may also be standard interframe video information (SIF) such as NTSC or PAL video in a second portion 42b of the VRAM. The first and second portions of the VRAM are indicated schematically by a broken horizontal line in the VRAM 42. This information may illustratively have 320 pixels per horizontal line and may have 240 horizontal lines in each raster scan. The graphics information for a frame may be stored in one portion of the VRAM 42 as indicated at 42a and the standard interframe video information for a frame may be stored in a second portion 42b of the VRAM. This is advantageous over the prior art because it eliminates the need for a separate storage memory to store the standard interframe video information. The graphics information and the standard interframe video information are transferred from the graphics controller 40 into the VRAM 42 in parallel form. Each byte of parallel information may have thirty two (32) bits. The graphics information and the standard interframe video information are serially transferred from the VRAM 42. The graphics information in the portion 42a of the VRAM 42 is transferred, as in the embodiment shown in Figure 1, at a rate of thirty three megahertz (33 Mhz) by providing four (4) words, each of eight (8) bits. The transfer is made into the RAMDAC portion of the stages 42 in a manner similar to that disclosed above for the embodiment shown in Figure 1. This transfer occurs during the portion of each line in the raster scan in a monitor 46 other than the video blanking interval. This transfer is in synchronism with the rate of presentation of pixels on the screen of the video monitor 46. The transfer is accordingly at thirty three megahertz (33 Mhz). This transfer is indicated at 48a in Figure 2a. However, as previously indicated, the VRAMs now being introduced into the market can transfer information serially out of the VRAM 42 at a rate of sixty six megahertz (66 Mhz). The transfer accordingly does not utilize the full capability of the VRAM 42. During the horizontal retrace and the horizontal blanking interval in each line in the raster scan in the monitor 46, the standard video information (SIF) is transferred serially from the portion 42b of the VRAM 42 into the FIFO portion of the stages 44 at a frequency of sixty six megaherts (66 Mhz). This transfer is indicated at 48b in Figure 2a. The horizontal blanking interval constitutes only about twelve percent (12%) of the time in a line. However, since there are only three hundred and twenty (320) pixels in a line in standard interframe video information, the horizontal retrace period and the horizontal blanking interval are sufficiently long to transfer all of the standard interframe video information for a line into the FIFO portion of the stages 44. This is particularly true if the information transfer is at a rate of sixty six megahertz (66 Mhz). The information stored in the FIFO portion of the stages 44 for each line is converted into a line of twelve hundred and eighty (1280) pixels in the stages 44 by techniques known in the prior art. A multiplexer included in the stages 44 (but not specifically shown) then selects, in accordance with information from the controller 40, whether the graphics information in the RAM or the standard interframe information obtained from the FIFO will be converted by the DAC to analog information for display on the screen of the monitor 46. The video information in the portion 42b of the VRAM is transferred into the stages 44 at the graphics frequency of thirty three megahertz (33 Mhz). The system shown in Figure 2 and described above has certain important advantages. As described above, it uses only one (1) VRAM to store two (2) types (graphics and standard interframe video) information. It provides for the transfer of both types of information in each line in the raster scan and provides for the display of both types of information simultaneously in the successive frames on the screen of the monitor 46. For example, the graphics information may be displayed in the major portion of the raster scan and the standard interframe video information may be displayed in a window in the raster scan. However, the full transfer capabilities of the VRAM at sixty six megahertz (66 Mhz) are utilized for only a small (12%) portion of each line. Furthermore, only two (2) types of information can be presented. This is less than the number of different types of information that it is often desired to provide in a multimedia system. Figure 3 is a schematic diagram illustrating one embodiment of the invention. This embodiment includes a graphics controller 60 similar to that shown in Figures 1 and 2. Bytes of digital information are transferred from the graphics controller 60 to a storage member such as a VRAM 62 similar to that shown in Figures 1 and 2. Each byte may be thirty two (32) bits wide and may be provided through a bus 64. Each byte is transferred to a particular location in the VRAM 62 under the control of address information passing to the VRAM 62 through a pair of lines 66 and 68. A row address select (RAS) may be provided on the line 66 and a column address select (CAS) may be provided on the line 66. The digital information passing through the lines 64, 66 and 68 may be at the VRAM clock frequency of sixty six megahertz (66 Mhz). These clock signals are provided through a line 70. The digital information in the VRAM 62 is transferred from the VRAM serially at the clock frequency of sixty six megahertz (66 Mhz). Unlike the embodiment shown in Figure 2 in which this high clock rate was possible only during the blanking interval in each horizontal line in the raster scan, the high clock rate is essentially continuous in the embodiment shown in Figure 3. The only time that the clock is not at sixty six megahertz (66 Mhz) is when a serial register transfer is being made inside the VRAM at the request of the graphics controller 60. During this time, new data is being transferred from the storage location in the VRAM register to the VRAM serial data register. This occurs for only a few cycles of the clock frequency in each line in the raster scan. The blanking interval in each line in the raster scan is indicated at 70 in Figure 3(a). The serial transfer of data from the VRAM 62 at essentially the clock frequency of sixty six megahertz (66 Mhz) is indicated at 72 in Figure 3(a). The information transferred serially from the VRAM 62 at this clock frequency may represent a number of different media. For example, the information may constitute television information in NTSC, PAL or SECAM form. This information is transferred to a television encoder 74 and is then transferred from the television encoder to a television receiver 76. The digital information may also be transferred from the VRAM 62 to stages 78. This information may have several different forms. It may constitute standard interframe video information (SIF). Actually, the standard interframe video interframe information may have several different forms. For example, SIF information may have 240 lines each of 320 pixels in a raster scan (designated as SIF1). Similarly, information designated as SIF2 may have 120 lines and 160 pixels in each line. The digital information transferred from the VRAM 62 may also be in graphics form. The graphics information may have several different formats. For example, when the graphics information is intended for a workstation, there may be 1024 rows and 1280 pixels in each row. When the graphics information is intended for a VGA format, there may be 4xx rows and 6xx pixels in each row. For a super VGA format, the number of rows may be 768 and the number of pixels in each row may be 1024. The stages 78 may receive other types of information in addition to the standard interframe video information and the graphics information. For example, digital information may be transferred from the VRAM 62 to the stages 78 to indicate cursor information. The information transferred to the stages 78 is introduced to a monitor 80 corresponding to the monitors 20 and 46 respectively shown in Figures 1 and 2. Audio information may also be transferred to an audio encoder 82 for storage and conversion to analog form and may then be transferred from these stages to an audio receiver 84. As will be appreciated and as will be seen from subsequent Figures, the stages 78 are shown in simplified form as a single stage but may actually constitute a plurality of different stages. Some control may accordingly have to be provided to direct the information from the VRAM 62 at different times to individual ones of the television encoder 74, the stages 78 (including standard interframe video, graphics and cursor encoders) and the audio encoder 82. This control is provided by a tag bus 86 which may provide four (4) bits in parallel. In the embodiment shown in Figure 3, the tag bus 86 provides these four (4) bits for each byte or packet of thirty two (32) bits from the VRAM 62. The four (4) bits are encoded to direct such byte or packet into the proper one of the different encoders. A line 88 also extends in Figure 3 from the stages 78 to the graphics controller 60 to synchronize the operation of the graphics controller in each line in the raster scan in providing for the passage of information serially from the VRAM 62 to the different encoders in the stages 78. As illustrated in Figure 4 and as discussed above, different types of digital information may be transferred from the VRAM 62 to the different types of encoders shown schematically in Figure 3 and in additional detail in Figure 6. Such different types of digital information may include graphics, different types of standard interframe video (such as those designated as SIF1 and SIF2), audio, television (designated as NTSC only be way of illustration) and cursor. The information transferred from the VRAM 62 may also include what is designated in Figure 4 as a palette shadow. This information involves an updating of every position in the palette or look-up table at the end of each frame in the raster scan in the monitor 80 in Figure 3. The updating is provided in each position in the palette even though the color information in some positions in the palette remains unchanged. This is different from the updating provided in the prior art. In the prior art, the updating is generally provided at the end of each line and is only in selected positions. The updating of all of the positions in the palette at the end of each frame in the raster scan may be provided because the updating is occurring at the high frequency of sixty six (66) megahertz. The transfer of information from the VRAM 62 may occur in a particular sequence in each line in the raster scan in the monitor 80. This sequence is illustratively shown in Figure 5. The sequence in each line may be as follows: standard interframe video information (SIFI and SIF2), graphics information, audio information and television information (designated as NTSC). The standard interframe video information and the graphics information may be synchronized at a particular time in each line. The audio information and the television (NTSC) information may occur after the standard interframe video information and the graphics information in each line but at a time unrelated to any synchronizing information, such as the blanking interval, in such line. It will be appreciated that, although NTSC information is specifically designated in Figure 5, other types of television information such as PAL or SECAM are within the scope of the invention. Figure 5 illustrates the sequence of the different types of digital information in each line. As will be seen, the standard interframe video information (SIF1 and SIF2) occurs first in each line. This is followed by the graphics information. The audio and television (e.g. NTSC) information then occur in each line. For the line in each raster scan where the cursor appears, the cursor information occurs after the television (e.g. NTSC) information. During the vertical retrace interval in each raster scan, the palette shadow information is provided to update the palette or look-up table for the graphics information in the next raster scan. As shown in Figure 5, the graphics data is transferred into a shift register such as a first-in-first out register 100 (e.g. FIFO) in Figure 6. The FIFO 100 and other FIFO's in the embodiment shown in Figure 6 and in other Figures in this application are well known in the art. They receive and store bytes of information. These bytes of information are shifted through the FIFO 100 (and other FIFO's) in the same order as they are received. When the information introduced into the FIFO 100 has been shifted through the FIFO, the bytes of digital information are then transferred from the FIFO in the same order that they are received. The FIFO 100 for the graphics information has a capacity less than the number of pixels in each line. This causes the transfer of the bytes of binary graphics information into the FIFO 100 to be initiated at a particular instant in each line in the raster scan. This initiation of the transfer of the digital graphics information in each line into the FIFO 100 occurs at a particular time during the blanking interval 102 (see Figure 5) in each line. By initiating the transfer of the digital graphics information into the FIFO 100 at such time, substantially the full capacity of the FIFO 100 can be utilized in receiving the bytes of graphics information for the line without any of the graphics information being unable to be transferred into the FIFO because the FIFO has become filled. Furthermore, with this type of transfer, substantially the full capacity of the FIFO is used all of the time. The standard interframe video information is transferred into storage registers such as FIFO's 104 (for the SIF1) and 106 (for the SIF2) in Figure 6. The transfer of the standard interframe video information into the FIFO's 104 and 106 for each line may be initiated at a time 108 in Figure 5 before the blanking interval for the line. The FIFO's 104 and 106 may have a full capacity (rather than a partial capacity as for the FIFO 100) because the capacities of the FIFO's 104 and 106 are not very large. This results from the fact that there are only 320 pixels per line in SIF1 information and only 160 pixels per line in SIF2 information. This is in contrast to 1280 pixels per line in graphics information for display on the monitors in work stations. As will be seen from Figure 5 and from the discussion above, the transfers of the standard interframe video information and the graphics information may be initiated at particular times in each line in the raster scan in the monitor 80 in Figure 3. The transfer of the audio information for each line in the raster scan into the audio encoder 82 in Figure 3 may be initiated immediately after the transfer of the graphics information for that line has been completed. However, the transfer of the audio information may be initiated without reference to any particular time in each line. The capacity of the audio encoder 82 (which may be a FIFO) is somewhat limited. Because of this, when the audio encoder 82 has been substantially filled in a line, it sends a signal (designated as "Audio FF Full") on a line 110 in Figure 3 to the graphics controller 60. This signal causes the graphics controller 60 to instruct the VRAM 62 to stop sending bytes of digital audio information to the audio encoder 82 for that line. In like manner, the transfer of the bytes of the digital television information may be initiated in each line after the transfer of the audio information in that line. The transfer of such bytes of digital television information in each line is made into the encoder 74 in Figure 3. As with the audio information, the transfer may be made on any asynchronous basis in each line, in other words, without reference to any particular time in such line. The capacity of the encoder 74 may be somewhat limited. Because of this, the encoder sends a signal through a line 112 in Figure 3 to have the graphics controller 60 discontinue the transfer of television information into the encoder 74 from the VRAM 62 in any line when the encoder has been filled to a particular capacity in that line. This signal is designated in Figure 3 as "NTSC-FF-FULL". The stages 78 in Figure 3 are shown in additional detail in Figure 6. This is indicated by broken lines which extend around the stages shown in Figure 6 and which have the numerical designation 78. As previously described, the stages 78 in Figure 3 may include the stages 100, 104 and 106 in Figure 6. They may also include FIFO's 114 and 116 in Figure 6. The FIFO 116 receives the cursor information in a particular line in the raster scan. The stages 100, 104, 106 and 116 may receive bytes of digital information through a line 118 (also shown in Figure 3) from the VRAM 62. In contrast, the FIFO 114 may receive the timing and control information from the tag bus 84 also shown in Figure 3. The information from the tag bus 84 may pass through an amplifier 120 in Figure 6 to decoders 122, 124, 126 ,128 and 130 respectively for the FIFO's 104, 106, 100, 114 and 116. Decoders such as the decoders 122, 124, 126, 128 and 130 are well known in the art. They decode the four (4) bits of digital information in the tag bus 84 for each byte of digital information in the bus 118. The decoded information controls which one of the FIFO's 100, 104, 106 and 116 will receive and store that byte of information. Furthermore, the decoder 128 decodes the bytes of the digital information in the tag bus 84 to provide timing and control information in binary form. This timing and control information passes from the decoder 128 into the FIFO 114. The information in the FIFO 114 then passes into a timing state machine 134 which processes this information to produce various timing and control signals for each line in the raster scan. For example, the timing state machine 134 may produce the synchronizing signal on the line 88 to initiate the transfer of the standard interframe video information in each line into the FIFO's 104 and 106 at the time indicated at 108 in Figure 5(a). The timing state machine 134 may also produce on a line 136 the horizontal sync signal for each line in the raster scan and on a line 138 the vertical sync signal after each such raster scan. The timing state machine may also produce the horizontal blanking signal (see 70 in Figure 3a and 102 in Figure 5) on a line 154 in Figure 6. The timing state machine 134 may also produce signals on a line 135 for introduction to the FIFO's 100, 104, 106 and 116. These signals may activate individual ones of the FIFO's 100, 104, 106 and 116 to provide for the passage of signals from these FIFO's at times determined by the timing state machine. The signals from the standard interframe video FIFO's 104 and 106 pass to a scaler 144; the signals from the graphics FIFO pass to a palette 146; and the signals from the cursor FIFO 116 pass to a cursor palette 147. The timing state machine 134 may additionally produce a priority signal on a line 140. This signal is introduced to a pixel priority multiplexer 142 to control whether the standard interframe video information from one of the FIFO's 104 and 106 or the graphics information from the FIFO 100 will pass through the multiplexer at each instant. The information in the FIFO's 104 and 106 may be initially introduced to the scaler 144 and the scaled information may be then passed to the multiplexer 142. The scaler 144 is well known in the art and different examples of the scaler 144 are disclosed in some detail in EP-A-0 610 829 (published 17,8,94). The scaler increases the number of bytes in the FIFO's 104 and 106 for each line in the raster scan into a number of bytes corresponding to the number of bytes in each line in the graphics information. The bytes of the digital information in the FIFO 100 for each line may be introduced to the palette 146 to select the individual positions in the palette for the passage of color information to the pixel priority multiplexer 142. The palette 146 corresponds in construction to the palette in the RAMDAC 14 in Figure 1 and to the palette in the stages 44 in Figure 2. In like manner, the FIFO 116 passes information to the cursor palette 147 which passes the cursor information to the multiplexer 142 for passage through the multiplexer. The passage of the cursor information from the palette 147 through the multiplexer 142 may be controlled by the priority signal on the line 140. The bytes of information passing through the multiplexer 142 from the scaler 144, the palette 146 and the palette 147 may be introduced to digital-to-analog converters 148, 150 and 152 respectively for the primary colors red, green and blue. The analog signals from the converters 148, 150 and 152 then pass to the monitor 80 shown in Figure 3. The converters 148, 150 and 152 may receive a blanking signal on the line 154 from the timing state machine 134. The blanking signal blanks the converters 148, 150 and 152 during each line in the raster scan. The timing state machine 134 is shown in additional detail in Figure 7 as being included within broken lines designated as 134. As shown in Figure 7, each byte of information from the timing FIFO 114 may comprise thirty two (32) bits. Of these, twenty (20) bits may be introduced to stages 160 (designated as "state") which produce the horizontal sync signal on the line 136, the vertical sync signal on the line 138, the blanking signal on the line 154, the priority signal on the line 140 and the signals on the lines 135 to the FIFO's 100, 104, 106 and 116. The timing of these signals is provided by the other twelve (12) bits in each byte from the timing FIFO 114. These bits are introduced to a counter 162 which is preset to a particular value. The counter 162 then counts downwardly by an integer through a documenting stage 164 every time that a pixel clock signal is produced on the line 70 (also shown in Figure 3). When the counter 162 reaches a count of zero (0), the count from the counter corresponds to a count preset in a comparator 166. The comparator 166 then produces a signal on a line 168 to provide for the passage of the next byte of thirty two (32) bits from the FIFO 114 to the stages 160 and the counter 162. Figure 8 schematically illustrates an embodiment in which a dynamic random access memory (DRAM) 170 may be used instead of a VRAM as in the previous embodiment. The DRAM 170 is advantageous because the cost of a DRAM is approximately one half (1/2) of the cost of a VRAM of the same size. The embodiment shown in Figure 8 is also advantageous because all of the transfer of information, even from the DRAM 170, to PACDAC stages 172 is in parallel. This tends to increase the speed of operation of the system shown in Figure 8. However, a DRAM is disadvantageous in comparison to a VRAM because first information cannot be simultaneously introduced into a DRAM while second information is being transferred out of the DRAM. Furthermore, the data bandwidth of the system shown in Figure 8 is not as great as that of Figure 3 because only the random access port of the DRAM 170 is used and the bandwidth of the DRAM is typically less than half of the sixty six megahertz (66 Mhz) bandwidth in the VRAMs which are being introduced into the market. The embodiment shown in Figure 8 includes a graphics controller 172 similar to the graphics controller 60 shown in Figure 3. It also includes stages 174 designated as "PACDAC". These stages correspond to the stages 78 shown in Figure 3. One difference between the system shown in Figure 8 and the system shown in Figure 3 is that, in the system shown in Figure 8, each of the controller 172, the DRAM 170 and the PACDAC stages 174 can communicate with the others. The transfer of information into the DRAM 170 from the controller 172 and out of the DRAM 172 is controlled by address signals on a bus 175. The signals on the bus 175 correspond to the signals on the lines 66 and 68 in Figure 3. As in the embodiment shown in Figure 3, a tag bus 176 is provided in Figure 8 to control the destination of the bytes of the different types of information in the DRAM 170 and the time in each line for the transfer of such bytes. As in the embodiment shown in Figure 3, the PACDAC stages 174 can have the construction shown in Figure 6 and the timing state machine can have the construction shown in Figure 7. The different types of information can be provided in the sequence shown in Figure 5 and the timing for the standard interframe video information in each line can be provided as by a pulse on a line 175 corresponding to the pulse 108 in Figure 5. As shown in Figure 8, the bytes of digital information transferred between the DRAM 170, the graphics controller 172 and the PACDAC stages 174 on a bus 177 may have sixty four (64) bits. The DRAM 170 may accordingly be formed from four (4) DRAMs in parallel, each DRAM having sixteen (16) bits. As in the embodiment shown in Figure 3, the FIFO for the graphics information may have a limited capacity to conserve cost and space. The FIFO's for the television (e.g. NTSC) and audio information may also have limited capacities as in the embodiment shown in Figure 3. This is indicated by the designation of "NTSC-FF-FULL" for a line 178 and "AUDIO-FF-FULL" for a line 180. Signals may accordingly be produced respectively on the lines 178 and 180 to instruct the graphics controller to interrupt the transfer of information from the DRAM 170 into the television and audio FIFO's when these FIFO's become filled to a particular limit. Clock signals may be produced on a line 182 in the embodiment shown in Figure 8 in a manner similar to the production of clock signals on the line 70 in the embodiment shown in Figure 3. The embodiment shown in Figure 9 is intended to be used for a system designated as "RAMBUS." The "RAMBUS" system is well known in the prior art. The embodiment shown in Figure 9 represents an improvement in the "RAMBUS" system of the prior art. The system shown in Figure 9A includes a graphics controller 190, PACDAC stages 192 and DRAMs 194 as in the embodiments shown in Figures 3 and 8. However, unlike the embodiments shown in Figures 3 and 8, the controller 190, the stages 192 and the DRAMs 194 may be connected by a common bus 196. Packets or bytes of digital information may pass through the bus 196 between the controller 190, the stages 192 and the DRAMs 194. Each of these bytes or packets may have ten (10) bits. Eight (8) of the ten (10) bits in each byte or packet in the embodiment of Figure 9 may comprise data. The other two (2) bits in each byte or packet may be used to provide parity checking and to provide special signalling. The two (2) bits for special signalling in individual ones of the bytes or packets may be used to indicate that the eight (8) data bits in such bytes or packets provide the information provided in the Tag Bus in the embodiments shown in Figures 3 and 8. For example, such eight (8) bits specify the destination of the data in the subsequent bytes or packets and specify the timing for the information in the subsequent bytes or packets. The graphics controller 190 in Figure 9 may have the same construction as the graphics controller in the embodiments shown in Figures 3 and 8. The DRAMs 194 in the embodiment of Figure 9 may have the same construction as the DRAM 170 in the embodiment shown in Figure 8. However, the DRAMs 190 may be only ten (10) bits wide rather than sixty four (64) bits wide as in the embodiment shown in Figure 8. The PACDAC stages 192 shown in Figure 9 are substantially the same as the PACDAC stages shown in Figure 3 except that, as described above, a Tag Bus is not included in the embodiment shown in Figure 9. Because of this, the PACDAC stages 192 may have the construction shown in Figure 10. They are included within broken lines designated as 192 in Figure 10. In the PACDAC stages shown in Figure 10, different stages have the same numerical designation as the stages shown in Figure 6 except that they are preceded by the numeral "2" rather than the numeral "1" as in the embodiment shown in Figure 6. For example, the graphics FIFO is designated as "200" in Figure 10 but is designated as "100" in Figure 6. In the embodiment shown in Figure 10, the bytes or packets on the bus 196 from the graphics controller 190 may pass to the decoder 228 which decodes the bits indicating that the eight (8) data bits in the bytes or packets contain timing and control information rather than digital information for the other FIFO's. These eight (8) bits in the timing and control packets may then pass to the timing FIFO 214. The eight (8) bits may then pass from the FIFO 214 to the timing state machine 234 which produces the timing and control signals indicating the destination of the subsequent bytes or packets of information. The destination signals may be produced by the timing state machine 234 on lines 235. These signals may accordingly activate one of the decoders 222, 224, 226 and 230. The activated one of the decoders 222, 224, 226 and 230 may then pass the subsequent bytes or packets of information on the line 218 to the respective ones of the FIFO's 200, 204, 206 and 216. When the standard interframe video signals pass through one of the video FIFO's 204 and 206, the scaler 244 acts on these signals to scale the number of pixels in each line upwardly and the signals from the scaler 244 may then pass to the pixel priority multiplexer 242. This is the same as in the embodiment shown in Figure 6. As in the embodiment shown in Figure 6, the signals from the graphics FIFO 200 may select positions in the palette 246 and these signals may pass to the pixel priority multiplexer 242. Similarly, the signals in the FIFO 216 may select positions in the cursor palette 246 and the signals from the palette may pass to the pixel priority multiplexer 242. The pixel priority multiplexer 242 may pass the signals from individual ones of the scaler 244, the palette 246 and the cursor FIFO 216 in accordance with signals on the line 240 from the timing state machine 234. The signals passing through the pixel priority multiplexer 242 are introduced to the color converters 248, 250 and 252. The passage of the signals from the converters 248, 250 and 252 and the display of the signals on the monitor 280 are controlled by signals produced on the lines 236, 238 and 254 by the timing state machine 234. The apparatus disclosed above has several important advantages. It provides for an efficient processing of different types of information including standard interframe video information, graphics information, television information, audio information and cursor information. The system provides for such processing either with a VRAM or a DRAM. In some embodiments, the system employs a data bus for the different types of information and employs a tag bus for the timing and control information. For the RAMBUS embodiment, the system employs a common bus for all of the sub-systems in the system and uses individual bits in each byte or packet on such bus to indicate whether the data bits in such byte or packet represent media information or timing and control information.

Claims: Multimedia graphics system for use with a monitor (80) for displaying information, the monitor providing a raster scan defined by a plurality of lines and by a plurality of pixels presented at a first particular frequency in each line, storage means (62;170;194) storing bytes of different types of digital information selected from a group including standard interframe video information (SIF1,SIF2), graphics information (GRAPHICS DATA), audio information (AUDIO) and television information (NTSC) and providing a transfer of such different types of information from the storage means, a plurality of shift register means (100,104,106,114,116;200,204,206,214, 216) each operative to receive and store the bytes of an individual one of the different types of digital information and to pass such stored information from such shift register means, a plurality of converter means (148,150,152;248,250,252) each associated with an individual one of the shift register means (100,...216) in the plurality and each operative to convert to analog form the bytes of digital information from the associated one of the shift register means in the plurality, means (120,122,124,126,128,134,220,222,224,226,234) providing the transfer of the bytes of at least a first one of the different types of information, at a particular time relative to each line in the raster scan in the monitor, from the storage means (62;170;194) to a first individual one (100,104,106;200,204,206) of the shift register means (100,...216) receiving such bytes, and means (120,130,128,134,220,230,228,234) providing the transfer of the bytes of at least a second one of the different types of information in each line, at times relative to such line after the transfer of the bytes of the first individual one of the different types of information to the first individual one of the shift register means in such line but without reference to any particular time relative to such line, from the storage means (62;170;194) to a second individual one (116;216) of the shift register means (100,216) receiving such bytes. System as set forth in claim 1, wherein the bytes of the first individual one of the different types of information are elected from the group including of standard interframe video information (SIF1,SIF2) and graphics information (GRAPHICS DATA) and wherein the bytes of the second individual one of the different types of information are selected from the group including audio information (AUDIO) and television information (NTSC). System as set forth in claim 1, comprising means (120,122,124,126;220,222,224,226) providing the transfer of the bytes of a pair of the different types of information in each line in the raster scan, at particular times relative to such line in the raster scan in the monitor (80) and in a particular order for the information in the pair of different types, from the storage means (62;...194) to a respective pair (100,104,106;200,204,206) of the shift register means (100,...216) in the plurality. System as set forth in claim 3, wherein the pair of the different types of information constitutes a first pair and the pair of the shift register means in the plurality constitutes a first pair, and the means (120,130;220,230) providing the transfer of the bytes of a second pair (AUDIO, NTSC) of the different types of information in each line in the raster scan, in a particular order and at times after the transfer of the bytes of the first pair of the different types of information to the first respective pair of the shift register means but without reference to any particular time relative to such line, from the storage mans (160:...194) to a second respective pair of the shifter register means (100,...216) in the plurality. System as set forth in claim 3, wherein there is a blanking interval at the beginning of each line, and the means (120,...226) providing the transfer of the bytes of the pair of the different types of information relative to each line in the raster provides such transfer at particular times in such line relative to the blanking interval in such line. System as set forth in claim 4, wherein the first pair of the different types of information constitutes the standard interframe video information (SIF1 ,SIF2) and the graphics information (GRAPHICS...) and the second pair of the different types of information constitutes the television information (NTSC) and the audio information (AUDIO). Multimedia graphics system for use with a monitor (80) for displaying information, the system comprising: storage means (62;170;194) storing bytes of different types of digital information selected from a group including standard interface video information (SIF1,SIF2), graphics information (GRAPHICS DATA) audio information (AUDIO) and television information (NTSC) and providing a transfer of such different types of information from the storage means, a plurality of shift register means (100,104,106,114,116;200,204,206,214,216) each operative to receive and store the bytes of an individual one of the different types of digital information, a plurality of converter means (148,150,152;248,250,252) each associated with an individual one of the shift register means (100,...216) in the plurality and operative to convert to analog form at a first particular frequency the bytes of digital information from the individual one of the shift register means in the plurality, and controller means (60;172;190) providing the transfer of each individual one of the different types of digital information in particular sequence relative to each line in the raster scan, at a second particular frequency (72) greater than the first particular frequency, to the individual one of the shift register means (100,...216) receiving that individual one of the different types of digital information, and second means (134,142) transferring at each instant the bytes of information from a selective one of the shift register means (100,...216) to a selective one of the converter means (148,...252) for the presentation in analog form of the information introduced to such selective one of the second means. System as set forth in claim 7 wherein each byte has a plurality of bits, and the controller means (60;...190) and the storage means (62;...194) are operative to provide for the passage of the bits in each successive byte of the different types of digital information from the controller means to the storage means in parallel form and the storage means is operative to pass the bits in each successive byte of the different types of digital information from the storage means to the individual ones of the shift register means (100,...216) in serial form. System as set forth in claim 7 wherein the monitor provides a raster scan defined by a plurality of lines and by a plurality of pixels in each line, means (64,66,68;175,177;196) including a first bus (66,68;175) for providing for the transfer of the successive bytes of the different types of digital information from the controller means (60;...190) to the storage means (62;...192), and means (122,124,126,128,130;222,224,226,228,230) including a second bus for selecting the individual one of the shift register means (100,...216) to receive the successive bytes of signal information from the storage mans (62;...192) at each instant and for synchronizing the reception by the individual ones of the shift register means (100,...216) of the bytes of the standard interface video information (SIF1,SIF2) and graphics information (GRAPHICS...) for each line relative to the presentation of the successive lines in the raster scan in the monitor (80). System as set forth in claim 7 for use with a monitor (80) for displaying information, the monitor providing a raster scan defined by a plurality of lines and by a plurality of pixels in each line, means (64;---196) including a first bus (66,...175) for providing for the transfer of the successive bytes of the different types of digital information from the controller means (60;...190) to the storage means (62,...192), and means (122,...230) including a second bus (84,86;196) for selecting the individual ones of the shift register means (100,...216) in the plurality to receive the successive bytes of digital information from the storage means at each instant and for synchronizing the reception by such individual ones of the shift register means (SIF1,SIF2) and graphics information (GRAPHICS...) for each line with the presentation of the lines in the raster scan in the monitor (80), each line in the raster scan in the monitor (80) having a blanking interval at the beginning of each line, means (122,...230) including the second bus for initiating the transfer of the bytes of the standard interframe video information for each line from the storage means to the individual one of the shift register means at a particular time before the blanking interval for such line in the raster scan, and the shift register means (100;200) for the bytes of the graphics information in each line having a capacity less than the number of bytes in such line of the graphics information and the means (122,230) including the second bus initiating the transfer of the bytes of the graphics information for each line into the individual one of the shift register means at a time during the blanking interval in each line in the raster scan in the monitor (80) to provide substantially full use of such shift register means (100,200) in such line without preventing any transfer of the bytes of the graphics information into such shift register means throughout such line because of the full loading of such shift register means. System as set forth in claim 7 for use with a monitor (80) for displaying information, the monitor providing a raster scan defined by a plurality of lines and by a plurality of pixels in each line, each line in the raster scan in the monitor (80) having a blanking interval at the beginning of the line, means including a bus for initiating the transfer of the bytes of the standard interface video information (SIF1,SIF2) for each line, at a particular time before the blanking interval, from the storage means (62;...19) to the individual one (104,106;204,206) of the shift register means (100,...206) receiving such bytes and for initiating the transfer of the bytes of the graphics information (GRAPHICS) for each line , at a particular time during the blanking interval in such line, from the storage means to the individual one (100;200) of the shift register means receiving such bytes. System as set forth in claim 11 the shift register means (100;200) for the bytes of the graphics information (GRAPHICS) having a capacity less than the number of bytes in each line of the graphics information and the controller means (60;172;190) being operative to initiate the transfer of the bytes of the graphics information into such shifter register means (100;200) at a time during the blanking interval in each line in the raster scan in the monitor to provide substantially full use of such shift register means in such line without preventing any transfer of the bytes of the graphics information into such shift register means throughout such line because of the full loading of such shift register means.

Inventors: BAKER DAVID C, SIANN JONATHAN I, BAKER, DAVID C., SIANN, JONATHAN I.
Applicants: BROOKTREE CORP, BROOKTREE CORPORATION
Application year: 1995
Main classification: G09G1
IPC codes: H04N7, H04N5, G09G5, H04N9, G06F12, H04N1