Patent Publication Number: US-5530798-A

Title: Apparatus and method for cascading graphic processors

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates generally to a cascaded apparatus and method of graphic processing. 
     In general, graphic processing capability is limited by the hardware platform, and if the hardware has been implemented, there is no room to enhance the capability of graphic processing. The prior art in this field normally cannot deal with more than two cascaded structures, or it cannot process the layers even if it can handle two cascaded structures. Consequently, it is impossible for prior art devices to handle special graphic patterns which are beyond their limits. 
     SUMMARY OF THE INVENTION 
     The primary object of the present invention is to provide room for expansion of graphic processing requirements which are beyond the hardware capability to handle. 
     Another object of this invention is to provide a method and apparatus to cascade graphic processors having different functions such that it is unnecessary to put all functions in one single chip. 
     Yet a further object of this invention is to provide a method and apparatus to cascade different graphic processors by cascading their graphic processing circuits in order to enhance the graphic processing capability of the entire system. 
    
    
     BRIEF DESCRIPTION OF DRAWINGS 
     The present invention can be more fully understood by reference to the following detailed description and accompanying drawings, which form the integral part of this application, and wherein: 
     FIG. 1 is a cascaded signal-flow block diagram of this invention. 
     FIG. 2 is a signal-flow block diagram of a graphic processor according to this invention. 
     FIG. 3 is a schematic diagram of a clock generator. 
     FIG. 4 is a timing diagram of signals within the clock generator. 
     FIG. 5 is a system block diagram showing the cascaded infrastructure of this invention. 
     FIG. 6 is a schematic circuit diagram of the preferred embodiment according to this invention. 
     FIG. 7 is another schematic circuit diagram of the preferred embodiment according to this invention. 
     FIG. 8 shows a graphic display result using this invention. 
     FIG. 9 shows an alternate graphic display result using this invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 shows a cascaded signal-flow block diagram which can have many different graphic processors cascaded in the manner according to this invention. Graphic processor 10 is assigned as the primary graphic processor, a graphic processor 20 as a first secondary graphic processor, and a graphic processor 21 as a second secondary graphic processor. Primary graphic processor 10 controls scan timing and synchronizing of theentire system. Graphic fields of depth are controlled by cascaded graphics layer codes 11, 12, 13, and the queuing order of the different graphic processors 10, 20, 21 is software-driven. When the graphic processors havethe same graphic layer codes 11, 12, 13, the queuing order starts from the most upfront graphic processor (i.e. 10) to the last one (i.e. 21). Meanwhile, cascaded signals 14, 15, and 16 are used to control the output of each graphic processor&#39;s color code 17 to ensure the color codes of allgraphic processors 10, 20, 21 output to the same bus 17, and also to ensurethat the output color code is from only one graphic processor within a period of a pixel clock pulse. If the output color appeared at the bus 17 is merely a psuedo-code, then it needs a palette 30 to convert the pseudo-code into RGB signals. 
     In general, in order to make two different graphic processors process in a parallel manner, the problem of synchronization must be solved. In accordance with this invention, two heterogeneous sync signals are used tosolve the synchronization problem for two heterogeneous graphic processors:a pixel sync signal 18 for synchronizing the output of color codes and layer codes, and a picture field sync signal 19 for synchronizing the scanclock. The initial values of each picture field can be set according to a signal which is related to the vertical blanking period of the picture field since each of the graphic processors will re-synchronize themselves after ending each picture field or before beginning each picture field. The pixel sync signal 18 and the picture field sync signal 19 are output by the primary graphic processor 10, and secondary graphic processors 20, 21 adjust their process timing according to these sync signals. 
     Referring now to FIG. 2, in general, the graphic processor of an arcade video game machine comprises the following parts: a clock generator 40 forgenerating the needed sync signals and control timing signals; a system control unit 42 for interfacing with a control system (not shown) to control the operation mode of a graphic processor; at least one graphic arithmetic unit 44 for converting the graphic parameters to the graphic color and illumination signal consistent with a scan clock; and a weighting control unit 46 for determining the order of outputting color codes when a plurality of graphic arithmetic units 44 exist. Then, the weighting control unit 46 outputs a layer code 164 and a color code 162, respectively. 
     According to this invention in FIG. 3, the clock generator 40 includes: a time-base signal generator 50 which receives an input clock signal 100 to generate a dot--clock 102; a horizontal counter 51 for computing time duration of horizontal scanning based on a clock signal 104 of time-base signal generator 50; a horizontal decoder 52 which receives counting data HD 106 from horizontal counter 51 and decodes HD 106 into a horizontal control clock HCCK 108 and a horizontal sync signal HS 110 that are neededby each graphic processor 10, 20, 21; a vertical counter 53 for computing time duration of a picture field based on a horizontal period signal HPS 112 output from the horizontal decoder 52; a vertical decoder 54 which receives counting data VD 114 from vertical counter 53 and decodes counting data VD 114 into a vertical control clock VCCK 116, a vertical sync signal VS 118, and a vertical blanking signal V-blank 120 that are needed by each graphic processor 10, 20, 21; a primary/secondary system synchronizer 60 which uses a primary/secondary system select signal SD 122to determine which role a graphic processor 10, 20, 21 is to play in the entire system (for example, whether or not to output the dot --  clock 102 and the vertical blanking signal V-blank 120 of vertical decoder 54). The primary/secondary system synchronizer 60 includes: a pixel sync signalI/O controller 57 which may be a tri-state I/O buffer for determining whether to output the dot --  clock 102 generated by clock generator 50as the pixel sync signal 18 or to input a pixel sync signal 18 from the primary graphic processor according to the primary/secondary system selectsignal SD 122, e.g., a graphic processor will be assigned to be a primary graphic processor while the primary/secondary system select signal SD 122 is at high level. Meanwhile, the tri-state I/O buffer 57 becomes an outputdevice due to the high-level input signal SD 122 so that the primary graphic processor outputs the pixel sync signal 18 to the secondary graphic processors; a picture field sync signal I/O controller 56 which may be a tri-state I/O buffer for determining whether to output the vertical blanking signal V-blank 120 generated by the vertical decoder 54 as the picture field sync signal 19 or to input a picture field sync signal 19 from the primary graphic processor according to the primary/secondary system select signal SD 122 as described above; a positive-edge detector 55 which presets the initial values of the horizontal counter 51 and vertical counter 53 in each picture field by thepositive edge of the vertical blanking signal V-blank 120. To preset horizontal and vertical initial values, two OR gates 58, 59 are utilized. 
     FIG. 4 illustrates timing diagrams of various signals utilized in clock generator 40 shown in FIG. 3. When the primary graphic processor is in place, the pixel sync signal 18 and picture field sync signal 19 are output since both tri-state I/O buffers are activated by the high level signal (SD). On the other hand, when the secondary graphic processor is inplace, the pixel sync signal 18 and picture field sync signal 19 are input from the primary processor since the tri-state I/O buffers are deactivatedby a low level signal (SD). The pixel sync signal 18 is used to synchronizethe output of the color codes in the layer comparison. The minimal time unit of each pixel within the primary graphic processor is the dot--clock generated therein. 
     FIG. 5 shows the apparatus for cascading a plurality of graphic processors,dipicted in FIG. 2, to constitute the cascaded structure shown in FIG. 1 according to this invention. The apparatus can be placed after the weighting controller 46 of each graphic processor, no matter what is primary or secondary, for receiving the color code 162 and layer code 164.This cascaded structure includes: the clock generator 40, depicted in FIG. 3, for generating all graphic processing control clocks and sync signals, such as pixel sync signal 18 an picture field sync signal 19, to ensure the graphic processors synchronizing with the scan clock; a pixel synchronizer 70 which is made of a set of D-type flip-flops for synchronizing the color codes 162 and layer codes 164 of each graphic processor with the pixel sync signal 18 of the primary graphic processor; a layer comparator 72 for comparing the synchronized layer code 56 from the pixel synchronizer 70 with the level-in signal 140 that is, the layer code 13 for the second secondary graphic processor 21, the layer code 12 for the first secondary graphic processor 20, or the layer code 11 for theprimary graphic processor 10, as exemplified in FIG. 1, and outputting the result as level-out 142 that is, the layer code 12 for the second secondary graphic processor 21, or the layer code 11 for the first secondary graphic processor 20, depicted in FIG. 1; a mode selector 74 which is controlled by a select signal CM 144 (further described below) for selecting between a layer code TPIC 146 output from the pixel synchronizer 70 or a compared result 148 output from the layer comparator 72; a cascade controller 76 which bases on the mode output 150 of the modeselector 74 and a signal CASEN1 152 that is, the cascaded signal 16 for thefirst secondary graphic processor 20, or the cascaded signal 15 for the secondary graphic processor 21, as depicted in FIG. 1, to control the output of color code of the corresponding graphic processor outputted or not, whereby a signal CASEN0 160, such as the cascaded signal 16 for the primary graphic processor 10, the cascaded signal 15 for the first secondary graphic processor 20, or the cascaded signal 14 for the second secondary graphic processor 21, as depicted in FIG. 1, is output to informthe code layer of the corresponding graphic processor being outputted or not; and a color code output device 78 which is a buffer controlled by an enabling signal CCOE 154 output from the cascade controller 76 to determine whether to output color codes or not. 
     FIG. 6 is a detailed circuit of several of the elements consisting of the pixel synchronizer 70, the layer comparator 72, the mode selector 74, and the cascade controller 76 of the apparatus shown in FIG. 5. The circuit shown can process four levels of field of depth. The pixel synchronizer 70may be constructed with two-stage D-type flip-flops. In the first stage D-type flip-flops, the clock terminals thereof are all controlled by the signal dot --  clock 102 generated by the inherent clock generator 40 while the pixel sync 18 signal coming from the primary graphic processor serves as the clock signal for the flip-flops within the second stage. Thelayer comparator 72 includes: two sets of decoders 721, 722 for decoding the synchronized 156 layer code IL[0], IL[1], IT as the level --  in 130 consisting of EPL[0], EPL[1], EPT, repectively. The table of decoded 421 and 722 is listed as follows: 
     
         ______________________________________                                    
TSP     L1    L0       0[3] 0[2]    0[1] 0[0]                             
______________________________________                                    
0       0     0        1    0       0    0                                
0       0     1        0    1       0    0                                
0       1     0        0    0       1    0                                
0       1     1        0    0       0    1                                
1       X     X        0    0       0    0                                
______________________________________                                    
 
    
     Because the layer codes contain layer information (i.e. L1 and L0) and transparency information (i.e. TSP), when it is transparent (TSP=1), the output 0[3:0]of decoder is zero; a comparator 723 for comparing layer the decoded data LL[3:0 ]with EL[3:0 ]; and a selector 724 for selecting a higher level layer codes then to output the level --  out 142 consisting of INL[1], INL[1], INL[0], and INT. Referring to FIG. 7, in thelayer comparator 72, a subtractor 725 may replace the decoders 721, 722, and comparator 723 in FIG. 6 for comparing by positive or negative signs. 
     Referring back to FIG. 6, the cascade controller 76 selects the mode output150 from mode selector 74 and the layer comparison result CASENI 152 from previous graphic processor to control the output of color code 102, and CASEN1 152 of a certain graphic processor is the layer comparison result CASEN0 160 of the previous graphic processor thereof. The select signal CM144 inputted to the mode selector 74 is utilized to control the cascaded structure depicted in FIG.1 for switching between two layer comparison modes. One approach is dominated by the level of the layer code, and another approach is dominated by the queuing order of those graphic processors, such as in a sequence of primary graphic processor 10, the first secondary graphic processor 20, the second secondary graphic processor 21, until the final one. The results of two cases are revealed in FIG. 8 and FIG. 9. FIG. 8 is based on the layer codes as the major graphic layer order. Also referring to FIG. 2, first graphic 91 and secondgraphic 92 are the computed results of graphic arithmetic unit 44. The layer code of first graphic 91 is 2. The layer code of second graphic 92 is 1. Third graphic 93 and fourth 94 are the computed results of graphic arithmetic unit 44. The layer code of third graphic 93 is 2. The layer code of fourth graphic 94 is 1. 
     In FIG. 8, first layer graphic 95 is the result of layer order; the order is as follows: second graphic 92, fourth graphic 94, first graphic 91, andthird graphic 93. In FIG. 9, second layer graphic 96 is the result of layerorder; the order is as follows: second graphic 92, first graphic 91, fourthgraphic 94, and third graphic 93. 
     As for the cascaded method, which is disclosed by this invention, includes the steps of: 
     (1) assigning one of a plurality of graphic processors as a primary graphicprocessor, the rest are secondary graphic processors. The primary graphic processor has to provide a pixel sync signal and a picture field sync signal to the secondary graphic processors; 
     (2) utilizing a cascaded layer code to do a comparison in an order which starts from the lowest level; 
     (3) using a cascade control signal to control the color code output order according to the result of the comparison; and 
     (4) ensuring all output color codes of each graphic processor go to a common color code bus. 
     The invention has been described above in terms of some important, preferred embodiments; however, this invention is not limited to the disclosed embodiments. On the contrary, for a person skilled in the art, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims, the scope of which should be accorded the broadest possible interpretation so as to encompass all such modifications and similar structures and processes.