AU667893B2 - A colour generation and mixing device - Google Patents

A colour generation and mixing device Download PDF

Info

Publication number
AU667893B2
AU667893B2 AU38245/93A AU3824593A AU667893B2 AU 667893 B2 AU667893 B2 AU 667893B2 AU 38245/93 A AU38245/93 A AU 38245/93A AU 3824593 A AU3824593 A AU 3824593A AU 667893 B2 AU667893 B2 AU 667893B2
Authority
AU
Australia
Prior art keywords
colour
input
mixing
effects
generation system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
AU38245/93A
Other versions
AU3824593A (en
Inventor
Kia Silverbrook
Simon Robert Walmsley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU38245/93A priority Critical patent/AU667893B2/en
Publication of AU3824593A publication Critical patent/AU3824593A/en
Assigned to CANON KABUSHIKI KAISHA, CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD reassignment CANON KABUSHIKI KAISHA Alteration of Name(s) of Applicant(s) under S113 Assignors: CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD
Application granted granted Critical
Publication of AU667893B2 publication Critical patent/AU667893B2/en
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA Alteration of Name(s) in Register under S187 Assignors: CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD, CANON KABUSHIKI KAISHA
Anticipated expiration legal-status Critical
Expired legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

66789 3j F Ref: 238738
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIRCATION FOR A STANDARD PATENT
ORIGINAL
o 0 o 0 D 0o 0 0 0 6 o O0 o o 0 So o a a o« Name and Address of Applicant: Actual Inventor(s): Address for Service: Invention Title: Canon Information Systems Research Australia Pty Ltd 1 Thomas Holt Drive North Ryde New South Wales 2113 AUSTRALIA aA CoNe obuK ~C a S cmc u<t 3T-c-l, O 4- k< oToku I(o Kia Silverbrook and Simon Robert Walmsley Spruson Ferguson, Patent Attorneys Level 33 St Martins Tower, 31 Market Street Sydney, New South Wales, 2000, Australia A Color Generation and Mixing Device ASSOCIATED PROVISIONAL APPLICATION DETAILS [31] Application No(s) [33] Country PL2152 AU [32] Application Date 29 April 1992 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815/3 -1- A COLOUR GENERATION AND MIXING DEVICE The present invention relates to computer-based graphics systems and, in particular, discloses a colour generation and mixing system capable of operation at video data rates at real-time. 1 93 A..atr..i.,lP:tent Application No. X. (Attorney Ref: (RT07)(202788)) entitled "A Real-Time Object Based Graphics System", claiming priority from Australian Patent Application No PL2147 of 29 April, 1993, lodged concurrently herewith and the disclosure of which is hereby incorporated by cross-reference, discloses a system which provides for the rendering of object-based graphic images in real-time at video data rates.
An example of part of such a system is shown in Fig. 1 where part of a real-time object (RTO) based graphics systems 1 is shown which includes an RTO processor 2 and a colour look-up table (CLUT) 3. The RTO processor 2 and the CLUT 3 connect to various other components (not illustrated) of the system 1 which are seen in the above crossreferenced patent application. The RTO processor 2 is configured to be input with data describing object outlines, and is able to process the outlines of multiple objects for rendering in scan line and pixel dimensions. However, the RTO processor 2 does not attempt to generate colours, which are predefined by the object outlines. In this manner, the RTO processor 2 outputs colour levels of objects. which are synchronised with line and o pixel dimensions, that can be externally mapped to any desired colour using the CLUT 3.
As seen in Fig. 1, the RTO processor 2 outputs 8 bits of level and effects data which can be 20 20 termed as level output data 4.
The 8-bit output 4 from the RTO processor 2 comprises 6 bits of LEVEL data and 2 bits of EFFECTS data and can be used to determine the colour at a current position provided by line and pixel dimensions which are synchronised with a display (not illustrated) such as a VDU or a printer. The output data 4 is input to the CLUT 3 wherein the level output data 4 acts as an address for the CLUT 3 which outputs 24-bit RGB data to the display. It will be apparent to those skilled in the art that the CLUT 3 need not contain additive RGB data which is generally used in video devices but can store CVMYK (cyan, magenta, yellow and black) data which is a subtractive colour space used in printers such as the CANON CLC 500 Colour Laser Copier. Alternatively, composite video comprising luminance and chrominance values (Cr and Cb) can also be used In the configuration of Fig. 1, the CLUT 3 is arranged to have four sets of 64 entries in which the two effects bits select the appropriate set, and the level bits select the appropriate entry in each set. For example, the first set of 64 entries can be standard colours and the remaining sets can be variations of these colours that can be used to illustrate shadow layers, or other visual effects.
(RT012)(205746) -2- Figs. 2, 3 and 4 show three examples of an image output that can be created using the RTO system 1. The level data output 4 from the RTO processor 2 follows a simple rule in which: EFFECTS equals the highest active priority level's effects bits (zero if no levels are active); and LEVEL equals the highest opaque active priority level (zero if no opaque levels are active).
Thus, the priority level determines what will be shown for any given position. When a number of objects are all active at the same pixel location, the highest priority opaque object is displayed using the effects mode of the highest active priority, whether it is opaque or not.
Firstly, in considering the example of Fig. 2, rectangle A has a LEVEL of'10 and an EFFECTS of 0. Rectangle B has LEVEL 20 and EFFECTS 2. When the RTO processor 2 processes the object data to render the rectangles A and B, it implements an odd/even fill rule to fill the objects. That is, when it encounters an object edge at LEVEL N, the RTO processor 2 activates the fill for that level, and when it encounters the next edge, it deactivates the fill for that level. The output from the RTO processor 2 therefore depends on the highest active level's effects bits, and the highest active opaque level's level.
2 0 The RTO processor 2 is configured to implement transparency and when transparency is disabled, the effects modes 0, 1, 2 and 3 are all opaque. Accordingly, the highest active priority level will always be the highest active opaque level as all effects are V. opaque.
Fig. 3 illustrates the displayed image when transparency is disabled using inputs identical to those of Fig. 2. The net effect is that the objects drawn at higher levels (e.g.
25 rectangle B) completely obscure objects drawn at lower levels rectangle A).
When transparency is enabled in the RTO processor 2, effects modes 0 and 1 are opaque, and effects modes 2 and 3 are fall-through, The output from the RTO processor 2 can then be seen in Fig. 4 and explained as follows: where no LEVELS are active, the output is LEVEL 0, EFFECTS 0; within the part of rectangle A that does not intersect with rectangle B, the highest active LEVEL is 10, The effects for LEVEL 10 is 0. The highest active opaque is also LEVEL 10 (as EFFECTS 0 is opaque). Therefore, the output for this section is LEVEL 10, EFFECTS 0; within the part of the rectangle B that does not intersect with rectangle A, the highest active LEVEL is 20. The effects for LEVEL 20 is 2. There are no active '1.
(RTO12)(205746) -3opaque LEVELS (as level 20 has EFFECTS 2 which .s fall-through), so the output for this section if LEVEL 0, EFFECTS 2; Within the intersection of rectangles A and B, the highest active LEVEL is The EFFECTS for level 20 is 2. The highest active opaque LEVEL is 10 (as LEVEL 20's EFFECTS 2 is fall-through, but LEVEL 10's EFFECTS 0 is opaque). Therefore the output for this section is LEV- t 10, EFFECTS 2.
The net effect of the above, is that the objects drawn in fall-through effects modes cause a fall-through to the first opaque level below them. The output retains the effects mode of the fall-through level. Rectangle B is effectively a transparent rectangle, and the effects bits for it will be active, while it is the highest active level.
At the intersection point, instead a level 10 effects 0, the effect is level 10 effects 2, which causes a look-up to a different colour, for example a darker version of level effects 0, which would give a shadow effect.
The RTO system 1, Fig. 1, requires that the CLUT 3 is updated regularly so that the correct colour is stored in each entry. This is performed by connecting the ,CLUT 3 to a host processor which can alter the contents of the CLUT 3, for example on an image basis allowing any 256 colours in the palette of the CLUT 3.
1 By altering the contents of the GLUT 3 unlimited complexity for colour and effects can S•be provided merely by updating each entry using software. However, limits of update and calculation time in a real-time environment limit the visual effects that the system 1 *is capable of producing.
Accordingly, it is an object of the present invention to substantially overcome, or ameliorate, the problems of updating the colour entries in the CLUT 3.
In accordance with one broad aspect of the present invention, there is provided a colour mixing and generation system comprising: a first input for receiving graphic object colour level data connected to a first colour determination means for calculating a base colour from said level data and at least one other input; a second input for receiving effects data connected to a second colour determination means for calculating an effects colour from said effects data and at least one other input and a (first) interpolator means for determining a generated colour from said base colour and said effects colour.
A number of embodiments of the present invention will now be described with reference to the drawings in which:
'LL
~n"Vr O'' RT012 238738 CFPtl6AU [o:\cisr~t\rto\rto 12]uclims,(Ioc -4- Fig. 1 shows a schematic block diagram representation of part of an RTO graphics system; Figs. 2, 3 and 4 show various fill and effects outputs for the system of Fig. 1; Fig. 5 is a schematic block diagram representation of an RTO graphics system incorporating a colour generation and mixing (CGM) device of one embodiment; Fig. 6 is a schematic block diagram representation of an embodiment of the CGM device; Fig. 7 is a detailed schematic block diagram representation of a preferred embodiment of the CGM device of Fig. 6; Fig. 8 is a schematic block diagram representation of the display synchronisation unit of Fig. 7; Fig. 9 is a schematic block diagram representation of the calculate base coloufu'nit of Fig, 7; Fig. 10 is a schematic block diagram representation of the calculate effects unit of Fig. 7; Fig. 11 is a schematic block diagram representation of the random generator of Fig.
Fig. 12 is a scheiatic block diagram representation of the effects interpolator unit of Fig. 7; 20 Fig. 13 is a schematic block diagram representation of the low pass filter unit of Fig.
I 7; Fig, 14 is a schematic block diagram representation of the select mix unit of Fig. 7; Fig. 15 is a schematic block diagram representation of the select incoming colour unit of Fig. 7; 25 Fig. 16 is a schematic block diagram representation of the delay mix unit of Fig. 7; S Fig. 17 is a schematic block diagram representation of the mix interpolator unit of Fig. 7; andFig. 18 is a schematic block diagram representation of the select output unit of Fig. 7; t and Fig. 19 is a schematic block diagram representation of a composite video mixing j system using devices of the preferred embodiment.
Referring firstly to Fig. 5, shown is an RTO graphics system 6 which includes a host processor 7 connected via a system bus 8 to the RTO processor 2, a ROM unit 9 and a RAM unit 10. The bus 8 also connects to a colour generation and mixing (CGM) device which replaces the CLUT 3 seen in the system of Fig. 1. The device 20 can output to a (RTO12)(205746) display 12 such as a video display unit or a printer which includes various clocks and timing signals 11 which are input to the RTO processor 2 and the device 20 so as to maintain synchronism for the generation of images. The device 20 further includes a colour input 21 and a colour output 22 which in the preferred embodiment permit the production of various effects such as blends, shadows, colour mixes and random texturing.
The device 20 provides the ability to generate colour for RTO images coupled with an ability to mix the generated colour with an incoming colour signal 21, such as video. The device 20 further provides for simple transformations of colours to be performed for different effects modes, and also for independent blending in either the scan line and/or pixel directions.
The general operation of the PRTO graphics system 6 involves the host processor 7 writing to the RAM 10 in order to build up object lists for display. The host procegsor 7 also writes to the device 20 via the bus 8 to supply colour information to an internal colour look-up table complementing the operation of the CLUT 3 of Fig. 1. When the objects lists in the RAM 10 are complete, rendering is commenced by writing the objects lists to the RTO processor 2. The RTO processor 2 proceeds to output 8-bit level and effects I *information 4 in the manner described above. The level and effects data 4 is supplied to the ''device 20 where the colour is calculated, and merged with any incoming colour signal 21 to produce an output colour signal 22.
U,
20 Turning now to Fig. 6, it is the role of the CGMD 20 to control the mixing of a calculated colour value (supplied by the RTO processor 2) with an incoming value provided at the input 21. Advantageously, the device 20 is configured as an application specific integrated circuit (ASIC), although discrete construction can be performed, and preferably a single such device is only capable of manipulating a single colour component 25 of a colour space (such as the red component of RGB colour space). Within the device this colour component is merely referred to as "colour". In order to process a full colour space, it is necessary preferably that a number of the devices 20 to be operated in parallel for each incoming colour component.
t 1 4 Referring now to Fig. 6, the device 20 generates a colour which is used to mix with the incoming colour 21 and the generated colour is determined by the level input 23 and the effects input 27, The level input 23 selects a base colour from a level table 24 which comprises 64 entries, each having a StartColour, a DeltaColour and a BlendDirection. The selected entry is then synchronised with a line and pixel input 25, corresponding to the timing and clock signals 11 of Fig. 5, so as to compute the base colour 26. The effects input 27 selects entries from an effects table 28 which has four entries each comprising an (RT012)(205746) -6- EffectsColour, a MinTend and a RandomMask. The selected entry from the table 28 is combined with the base colour 26 in an interpolator 29 to output the generated colour used for mixing. This is inpu I. a further interpolator 31 which is also input with the incoming colour 21 for mixing atL t,.-nally defined level, or at an externally defined level using a mixing source 30, to provide an output colour 22. The transformations provided by the effects bits allow for the produ6tion of effects such a shadows, fire and water, and can include random components to produce mist, smoke and various textures.
Turning now to Fig. 7, a preferred form of a CGM device 100 is shown arranged in a manner similar to the configuration of the device 20 seen in Fig. 6. The method by which the device 100 calculates the colour output at any time can be summarised as follows: update the current line and current pixel; calculate the base colour for the given level at the current line and pixel; calculate the effects for the given effects mode; interpolate between the base colour and the effects colours; apply a low pass filter to the generated colours; S- select external or internal mix amounts; select external or internal colour to mix with; mix the filtered generated colour with the incoming colour; and 20 select between the mixed colour and blanking colour for a final colour output.
i As seen in Fig. 7, the CGM device 100 interfaces with other devices, such as those of i Fig. 5, in various ways. Firstly, the device is input with a line synchronisation (LSYNC) S .signal 101, a frame synchronisation (FSYNC) signal 102, and a pixel clock (PCLK) signal 25103. These signals are derived from the display device a VDU or printer) driven by 25 the CGM device 100. Also input is an interlaced-odd (INTLOOD) signal 104 which is used to indicate odd frames in interlace displays. The CGM device 100 also includes a level input 105 and an effects input 106, a mixing input (MIXIN) 107, and a colour input (CLRIN) 108. The device 100 outputs an output colour 109, Also shown in Fig. 7 is a block of internal registers 125 which connect to the system bus 8, for example as seen in Fig. 6. The internal registers 125 provide storage for all colour and effects data as well as other control and status variables which will be described later.
With reference to Figs. 7 and 8, a display synchronisation unit 110 is provided which enables the CAM device 100 to synchronise its output with its input device, the RTO processor 2, and the display device. The display synchronisation unit is input with the (RTO12)(205746) signals LSYNC 101, FSYNC 102, PCLK 103 and INTLOOD 104. The display synchronisation unit 110 has a number of externally accessible registers. In the preferred embodiment, these correspond to.registers of the RTO processor 2 described in the aforementioned Australian Patent Application No. (Attorney Ref: 202788). The first of these registers is a MinLine register 111. This is a read/write register indicating the (negative) value representing the number of lines in the frame blanking period. It is used to initialise a CurrentLine register 117, The MinLine register 111 is preferably 14 bits wide including a single sign bit.
A MinPixel register 120 is also provided which is also 14 bits wide, has read/write access, and indicates the (negative) value representing the number of pixels in the line blanking period. It is used to initialise a CurrentPixel register 121 and includes a signed bit. The CurrentLine register 117 and the CurrentPixel register 121 respectively display the CurrentLine and CurrentPixel being calculated, An INTL register 116 is provided which is a single bit of a control register of the CGM device 100, The INTL bit enables interlaced rendering, which causes internal line counters of the CGM device 100 to increment by 2 with every line synchronisation signal.
An INTLEXT register 113 is another single bit register of the control register. When interlacing is enabled, the setting of this bit causes the external input pin INTLOOD 104 to be used to determine whether an odd or even frame is being rendered. Otherwise, this is 20 determined from a further control register bit ODD 115. When INTLEXT bit 113 is cleared, the ODD bit 115 is used to distinguish between even and odd frames, and is set or cleared by the host processor 7 before each frame. Setting the ODD register 115 indicates that an odd frame is being rendered.
The last register input of the display synchronisation unit 10 is another single bit 25 register of the control register, INTLPOL 114. This register indicates the polarity of the INTLOOD input 104. If INTLPOL 114 is cleared, a high level on the INTLOOD pin 104 denotes an odd frame. If INTLPOL 114 is set, a high level on INTLOOD 104 represents an even frame.
4 As seen in Fig. 8, six of the aforementioned input registers'supply a CALC BIT 0 block 112 which is used to calculate the lowest bit of the CurrentLine register 117 when it is loaded from the MinLine register 111 upon enabling from a frame sync signal 102. The CALC BIT 0 block 112 allows the low bit of the MinLine register 111 through when display is not interlaced, and forces the bit to be 0 and 1 depending on the oddness of the field if the display is interlaced. The CALC BIT 0 block 112 calculates a logical output as follows: (RTO12)(205746) -8- CurrentLine() (!Interlaced MinLine(0) Interlaced !IntExt Odd) +.(IntExt !IntPol ExtOdd) (IntPol lExtOdd)))) (EQ 1) When the LSYNC signal' 101 occurs, it indicates that the current line has ended and that line blanking is occurring. The value of the MinPixel register 120 is copied into the CurrentPixel register 121, and the CurrentLine register 117 is incremented by 1 INTL (that is, INTL acts as the carry-in to the addition).
When the FSYNC signal ltz occurs, it indicates that the current frame has ended, and that frame blanking is occurring. The value of the MinLine register 111 is copied to the CurrentLine register 117. If the display is not interlaced, bit 0 of the CurrentLine register 117 reflects bit 0 of the MinLine register 111. If the display is interlaced, bit 0 of the CurrentLine register 117 reflects the phase of the field being rendered. It will be 1 for an odd field, and 0 for an even field.
When the pixel clock 103 signal occurs, the current pixel value in the register 121 is incremented by 1, As seen in Fig. 8, the display synchronisation unit 110 has urrent line output 119 comprising the 8 least significant bits (LSB's), from the register 117 and a current pixel 20 output 123, comprising the 8 LSB's, from the current pixel register 121. Also output are single bit outputs VBL 118 and HBL i22. VBL 118 indicates vertical blanking, and HBL 122 indicates horizontal blanking.
As seen in Fig. 7, the current pixel output 123 and the current line output 119 are input to the calculate base colour unit 130, which is seen in Fig. 9. The unit 130 is input 25 with 6 bits of level data 105 which act as address determining bits for 64 sets of base colour Sa registers 131, forming part of the internal registers 125, with each comprising a BlendLine register 132, a DeltaColour register 133, and a StartColour register 134. The BlendLine t register 132 represents the direction of a colour blend for a given level. It is a single bit register and if set, the blend is in the line direction.. If clear, the blend is in the pixel direction. If the value in the DeltaColour register 133 is 0, then there is no effective blend, and so the value of the BlendLine register 132 is irrelevant. The StartColour register 134 represents the colour of the blend at the first line or pixel of the image. This is only the same as the first displayed pixel on the level if the object is drawn at line or pixel 0. If there is no blend on the level, then the value of the StartColour register 134 represents the colour of the level. The DeltaColour register 133 represents the amount by which the colour (RTO 12)(205746)
I
i t i i i i i I i r r i 1 r r r 1; r r ~1
I
,r t i i 1 1 hi -9changes over one line or pixel (depending on the direction of the blend). The register 134 comprises 12 bits which represent a signed fixed point number having a single sign bit, 6 integer bits, and 5 fraction bits. If there is no blend for a particular level, then the value of the DeltaColour register 133 is 0. Each of the registers 131 are read/write registers accessible via the processor bus 8.
The calculate base colour unit as seen in Fig. 9 includes a multiplexer 135 which, under control of the value of the BlendLine register 132 selects either the current line output 119 or the current pixel output 123. The selected output is input to a multiplier 136 which performs a multiplication with the value in the DeltaColour register 133. The 10 multiplier 136, although multiplying a 8-bit value by a 12-bit value, in the preferred embodiment selects only the 8 most significant bits which are output to an adder 137. The value of the StartColour register 134 is also input to the adder 137 which thereby provides a base colour output 138. The base colour for a given level at a particular line or pixel can be determined by the following formula, CurrentLine BaseColour StartColour+ OR xDeltaColour (EQ 2) CurrentPixeli Table 1 shows the effect of the value of the DeltaColour register 133 on the length of 20 the blend over the range of values allocated in the preferred embodiment.
TABLE 1. Effect of DeltaColour on Length of Blend 25 Delta Steps Before Length Value Change of Blend Comments 0 Infinite Produces static colour no blend) 1/32 32 8192 Longest blend possible 2/32 16 4096 Useful for blending over a large object 11/32 2.9 745 Useful for blending on a screen 17/32 1.875 482 Useful for blending on a screen 1 1 256 Every colour is represented once in the blend 4 1 64 Small blend 32 1 8 Very small blend 63 31/32 1 4 Shortest blend possible Furthermore, it should be noted that the multiplier unit 136 does not implement a full multiply. Only the lower 8 bits of the integer result bits (12-5) are used. The fractional bits are discarded. In this manner, the multiplier 136 introduces a rounding error,' (RTO12)(205746) L
L-
Also, the adder 137, having only an 8-bit output requires that the high bit of the result is discarded which indicates that a wrap can occur.
In view of the two points above, these indicate that the blended colours, the first line or pixel, and the last line or pixel, cannot be guaranteed to be the exact values required. For instance, the base colour may be calculated to be OxFF, but the desired value is 0x00. On an RGB system, the colour difference is a white line or pixel where a black one is desired.
On a YCrCb system, the problems occur around Ox7F and 0x80 since Cr and Cb are signed.
It is therefore necessary that the values in the base colour registers 131 be determined for the particular colour system being used so as to ensure that invalid values are not possible.
On an RGB system, this could be achieved by limiting colours to OxOl-OxFE.
SFurthermore, given an object's starting position (line or pixel), its StartColour, EndColour and the length of blend, then: (DeltaC r EndColour- StartColour) DeltaColour length (EQ 3) StartColour StartColour- (Delta x StartPos) Furthermore, it should be noted that these values must be represented in fixed point format, and the fixed point value for DeltaColour should be used to determine the StartColour for the device 100.
2 20 Referring now to Figs. 7 and 10, the effects input 106 supplies the calculate effects unit 140 and provide addresses for four sets of effects registers 141 with each set comprising a RandomMask register 142, a MinTend register 143 and an EffectsColour register 144. The effects mode gives the CAM device 100 the ability to change the base colour 138 by tending it towards an effects colour defined by the register 144 by a fixed or 25 random ranged amount. Tending one colour towards another by an amount gives the ability to produce shadows, embossing, rain, mist, water, fire, electric colours and texturing, for example.
The RandomMask register 142 is an 8-bit read/write register and its value is ANDed in an AND gate 145 with a random value 159 output from a random generator 150. The random generator 150 is input with the frame sync signal 102 and the pixel clock signal 103 and is shown in more detail in Fig. 11 (described later). The pixel clock 103 is use 'o update the random number, once per pixel. The MinTend register 143 is another 8-bit read/ write register and this represents the minimum amount by which the base colour 138 will tend towards the effects colour 144 output from the unit 140 via an output 148. The effects (RT012)(205746) -11colour 144 is a further 8-bit read/write register and this represents the colour that the base colour 138 will tend towards.
As seen in Fig. 10, the AND gate 145 supplies an adder 146 also input with the output of the MinTend register 143. The adder 146 is limited to $XFF and this outputs a TendAmount 147.
Turning briefly to Fig. 11, the random generator 150 is shown which is formed about a 32-bit shift register 153 using exclusive of feed-back via 5 XOR gates 154, 155, 156, 157 and 158, connected as illustrated. The lower 8 bits of the shift register 153 are used to determine the random number 159 and this is updated with every pixel clock 103. The shift register 153 is seeded (loaded) when a Reset signal is written to the CGM device 100.
It is also re-seeded with every FSYNC signal 102 whenever a ReSeed bit 151 of the control register is set. The value of the ReSeed register 151 and the FSYNC signal 102 are combined in an AND gate 152 which outputs a seed or shift value to the shift register 153. Note that the shift value for the shift register 153 must not be zero because a seed value of zero will cause the register 153 to remain at 0.
S Returning to Fig. 10, variations in the choice of values of the MinTend register 143 i and of the RandomMask generator 142 can give widely different effects. For example, *r with RandomMask 142 equalling 0 and MinTend 143 equals 0, the TendAmount 147 will be 0 is also 0. These values would be chosen to ensure that no effect was applied to the i' 20 base colour 138.
For a RandomMask 142 of 0 and the MinTend not equal to 0, the base colour 138 will tend towards the effects colour 144 by a fixed amount (MinTend). This can be used to S, produce effects such as shadows, by tending 50 (out of 255) towards black.
With a RandomMask value of between 0 and FF, and a MinTend value of 0, this 41;" 25 means that the entire eight random bits from the random generator 150, are passed to the adder 146 (and added to This means that the TendAmount 147 will vary from pixel to pixel between 0 and 255 and can be used to create (random) noise in a colour component.
With the RandomMask 142 having a value between 0 and 1F, and MinTend having a value between 0 and 20, this means that the TendAmount 147 will vary between 0 and 0 and 3F randomly. This can be extremely useful in producing textured effects, such as randomly choosing shades of green. Mists, ghosts and smoke can utilise this effect when the mix value comes from a randomly effected similar CAM device 100, as will be described later.
To produce a random tend amount 147 in a given range, the RandomMask 142 and MinTend 143 registers need to be set accordingly. For example, to produce numbers in (RTO 12)(205746) {it -12the range 0x30-0x4F, the MinTend value 143 should be set to the minimum value (0x30), and the RandomMask value 142 should be set to those set of bits that will produce the correct range OxIF).
Furthermore, it is noted that setting the RandomMask 142 to 4, will not produce random numbers in the range 0-4. Due to the RandomMask 142 being ANDed with the random number, the only numbers generated will be 0 and 4. Random numbers 1, 2 and 3 will each be reduced to 0. This effect may be desired for example in the production of textures.
The output of the adder 146 is limited to between 0 and FF to allow for saturation of any particular effect. For instance, if it were desired to slowly fade a scene to a particular colour randomly, for effect such as mit becoming thicker and thicker, the MinTend value 143 can be set up to be initially 0, with the RandomMask 142 between 0 and 1F, and the l effects colour for the value of "white". As the mist becomes thicker, the TendAmount 147 can be increased slowly from 0 to FF. The random amount between 0 and IF would always .be added to the MinTend value 143, and would be limited to between 0 and FF. This would permit the random amount, output from the AND gate 145 to become less and less meaningful, as the colour becomes more and more white.
I The calculate effects unit 140 and the calculate base colour unit 130 each output to an effects interpolator 160 seen in Fig. 7 and in detail in Fig. 12. The effects interpolator unit 160 applies the calculated effect to the calculated base colour 138. It tends the base colour 138 towards the effects colour 148 by a control amount set by the TendAmount 147. The i! higher the level of control, the more of the effects colour 148 comes through. For example -if control= 0, the output is 0% effects colour and 100% base colour 138; if control 128, the output is 50% effects colour 148 and 50% base colour 138; and S- if control 255, the output is 100% effects colour 148, and 0% base colour 138.
i The interpolator 160 in thi.s mannerinterpolates between a start value and an end j value using the control value to indicate the proportion of the distance between the start and end values. As seen, the effects colour 148 and the base colour 138 are irout to a subtractor 161 which subtracts the former from the latter and has an output conn, to a multiplier 162. The multiplier 162 is also input with the TendAmount 147, The base colour 138 is also passed, via a pipe delay 164 compensating for the operations of the subtractor 161 and the multiplier 162 to an adder 163 which is also input with the output of the multiplier 162.
The LWO values are thereby summed to create a generated colour 165. The operation of the interpolator 160 can be summarised as follows: (RTO 12)(205746) -m- -13- (Control x End) (255 Control) Start Output 256 256 (EQ4) utputControl(End- Start) +Start 256 The multiplier 162 takes 8 bits for each operand, but only outputs the most significant 8 bits, thus implementing a divide by 256.
Returning to Fig. 7, the output of the effects interpolator unit 160 is input to a low pass filter 170, shown in Fig. 13. The low pass filter unit 170 is configured to perform a low pass function and the example shown in Fig. 13 provides a means of averaging the generated colour 165 over 5 pixels. This provides a form of anti-aliasing (for combining with the background colour such as video) in the pixel direction only, and reduces large differences between two pixels' chrominance values. Large differences in chrominance between adjacent pixels can seriously impact upon video quality.
The low pass filter is a 5 tap finite impulse response (FIR) filter. The FIR filter is preferred because of the linear characteristic of its phase response, which is important in t, video applications. The performances of the filter 170 is a trade-off between simplicity of t the coefficients in the transfer function and the desired frequency response. The filter 170 has been designed by optimizing the square of the difference between the ideal frequency 6t I response and that of the real filter with coefficients that are powers of 2. The equation of 20 the filter is: o 64 a e Yn (x +2x +2x +2x +x (EQ n 8 n- 1 n-2 n -3 n-4 n5) r" The filter can be enabled by setting the FilterEn bit 172 of the Control register. In 25 order to guarantee sensible initial setup conditions at each line start, the filter 170 is disabled during the first 6 pixels The low pass filter 170 is implemented by using incoming pixels in a pipeline process to form the above summation. The colours in previous pixels are retained in storage l registers 171, 176, 177, 178 and 179, with the above summation being formed from adders 167, 168, 169 and 174 and single shifter 187 and double shifter 188, The output of the shifter 188 supplies a multiplexer 173 also input with the generated colour 165 and enables via a filter enable bit 172 of the control register. Only the top 8 bits are output as filter output colour 175.
Returning to Fig. 7, the mixing input MIXIN 107 supplies a select mix unit 180, seen in Fig. 14. Where the CGM device 100 is provided with an incoming colour signal 108, 4 (RTO012)(205746) w t -14this must be mixed with the filtered colour 175. The amount of mix is determined by an internal value provided by a MixAmount register 182, or via an external signal provided on the MIXIN input 107. A control bit ExtMix 183 in the control register selects which of these two values is used as the mixed value for a mix interpolator 210. As seen in Fig. 14, the MIXIN input 107 and the mix amount register 182 each supply a multiplexer 181, whose mix output 184 is selected via the ExtMix bit 183.
If the mix value is derived from an external source which is a corresponding CGM device 100, such as in an embodiment to be described, a DelayEn bit 204 (see Fig. 16) of the control register should be set in those CGM devices 100 which provide colour, so that the mixing CGM device 100 has sufficient time to calculate the mix value, and pass it to its output where it can be then transmitted to the MIXIN input 107 of each of the colour CGM devices 100. Such an arrangement is described in relation to Fig. 19.
Returning to Fig. 7, operating in parallel to the select mix unit 180 is a Select ColourIn unit 190, which is shown in detail in Fig. 15, and has a corresponding structure to i: 15 that of the unit shown in Fig. 14. In this case, the CLRIN signal 108 and a predetermined MixColour 191 are supplied to a multiplexer 192 which selects the incoming colour 194.
The selection is afforded by an ExtColour bit 193 of the control register.
:I Returning to Fig. 7, in some circumstances, it is useful to delay the mixing of the filtered colour 175 with the incoming colour 194 and this provided by a delay mix unit 200 which is seen inFig. 16.
t As seen in Fig. 16, the filtered colour 175 supplies three cascaded delay registers 201, 202 and 206 which output to a multiplexer 203 also input with the filtered colour 175.
A delay enable control bit 204 operates upon the multiplexer 203 to select the delayed colour 205.
The delay time must be equal to the time it takes to pass the MIXIN value 107 through the select mix unit 180, the mix interpolator 210 and the select output unit 220.
This delay is set to a fixed number of clock cycles. When the DelayEn bit 204 is set, the Sdelay is used. If the bit is clear, then there is no delay between the low pass filter unit 170 and the mix interpolator 210. The mix interpolator unit 210 is input with the mix value 184, the delayed colour 205, and the incoming colour 194 and is shown in Fig. 17.
The mix interpolator unit 210 is configured in an identical fashion to the effects interpolator unit 160 of Fig. 12. The incoming colour 194 and delay colour 205 are input to a subtractor 211 which outputs to a multiplier 212 also input with the mix value 184, The value of the delayed colour 205 is delayed using a delay circuit 214 to be input to an adder (RTO12)(205746) jj 213 supplied with the output of the multiplier 212. The adder 213 outputs a mixed colour output 215.
Returning to Fig. 7, the mix colour output 215 is input to a select output unit 220 which is shown in detail in Fig. 18.
The mixed colour 215 from the interpolator 201 cannot always be simply used to provide the output colour 109. 'During line blanks and vertical blanks, the colour signal must be a certain value, and that value will be device dependent. The blanking signals HBL 122 and VBL 118 from the display synchronisation unit 110 are used to switch between the mixed colour 215 and a fixed blanking colour residing in a BlankColour register 221.
The blanking signals IBL 122 and VBL 118 are respectively input into AND gates 223 and 224. Each of these being respectively input with enable bits from single bit'control registers HBLEn 226 and LBLEn 227. If either of the blanking signals occur, and the corresponding enable bit is set, then the BlankColour 211 is passed to the output colour 109 via a multiplexer 222 whose input is selected ia an OR gate 225 input with the outputs of the AND gates 223 and 224.
S, Turning now to Fig. 19, a specific arrangement of a live video mixer 300 which incorporates four of the CGM devices 100, in this case designated 100A, 100B, 100C and 100D. The mixer 300 operates to combine a video input signal 301 with object based graphic images output from an RTO processor 2. It will be apparent to those skilled in the art that the RTO processor 2 and the CGM devices 100A-100D are also configured in a similar manner to the graphics system 6 of Fig. 5. The video signal 301 is input to a decoder 302 which divides the composiLe video signal into its three colour components of luminance Y 303, and chrominance values Cr 304 and Cb 305. Each of these signals are
C
respectively supplied to the colour input 108 of the corresponding CGM devices 100A- 100C. The RTO processor 2 outputs level and effects data 4 to each of the four devices S, 100A-100D which is input to the inputs 105 and 106 in the manner described above. In this particular configuration, the 2GM device 100D operates to create a mixing colour from a preselected mixing value, which is output 306 from the output colour terminal 109 of the device 100D and is supplied to the mixing input 107 of each of the other devices 100A-100C. In this manner, each level input 4 to the devices 10OA-100C can be mixed in different proportions with the incoming video signals 303-305. This effectively gives each colour definition a mixed component. The outputs 307-309 of the devices 100A-100C each thereafter supply an encoder 310 which reforms the video signal to provide a composite video output 311.
(RTO 12)(205746) -16- In this arrangement, the output from the each of the devices 100A-100C must be synchronous, indicating that the internal delay of those devices is enabled, whereas the internal delay of the mixing device 100D is not enabled.
Referring now to Fig. 6, Fig. 7 and Fig. 19, a number of examples of operation of the video mixer 300 utilizing the effects input 27 will now be explained. Firstly to achieve a simple colour with no effects, the effects mode 27 and random mask 32 are set to zero, then the original colour 25 and mix 31 mix for the level are not modified in any way by the Effects processing.
A high quality image can be obtained using just the original colour and mix. For example, plain colour objects containing a single colour with no blending of colours, blended objects with colour blends in the X or Y direction, blended mix objects, such as a mix blend in one direction that fades out towards the bottom of that object, The simplest applied effect is to tend all the colours on one Effects Mode towards another. The base colour will then have the effects applied to it. Examples of this type of 15 effect include: -Shadows. This can be achieved by setting the EffectsColour 144 on a fall-through '8 Effects Mode to be black, Any object drawn in that Effects Mode will have its base colour tend towards black. The darkness of the shadow would depend on the value of MinTend 143 the higher MinTend, the darker the shadow, -Embossing. This can be achieved by setting the EffectsColour 144 on a fall-through Effects Mode to be black (for the shadow part of the emboss effect). The other fall-through Effects Mode should be tended towards White (in the same way as the black Effects Mode), to provide the lightening part of the emboss effect. The object can then be drawn three times, once to the right on level N in the shadow Mode, once to the left on level N+I 25 in the lighten Mode, and once on level N+2 in an opaque Effects Mode where the colours for level N+2 are the same as the background.
-Water and fire effects can be achieved by setting a fall-through Effects Mode Effects Colour to blue, red, orange or yellow, They then work in the same way as shadows.
More impressive effects can be achieved using the random feature of the CGM device 100, Each pixel clock generates a random number which is masked, and added to the minimum tend amount. By setting the mask to a particular value, the amount of tendency towards the effects colour will vary. This can create textures, electric colours, and complete noise. The larger the random value, the wider the range of tendency, (RTO12)(205746) 1, -17- Setting the Random Mask 32 on different colour components can produce textures and mottied colours. These can be improved if the objects are drawn over blended objects.
For example, setting the random values to be within a certain range of: -green can be used to produce textured grass and trees.
-blue can be used to produce textured sky.
-yellow/red can be used to produce fire.
-white can be used to produce textured mist.
-black can be used to produce smoke.
-yellow/brown can be used to produce sand or ground Altering the base amount while leaving the random amount fixed can also produce some useful effects. Note that the effects generator of the CGM device 100 limits the addition of the base amount and the random value to 255 so as to prevent wraparouind, enabling safe use near colours that are near saturation. For example: -An animated actor could materialise by having a random mask of Ox3F on mix 15 value. As the base amount increases from 0 to OxFF, the ghost will randomly flicker into existence, getting lighter all the time. Adding random tendencies towards yellow during the S materialisation process would produce an effect similar to that seen in the popular science S fiction television series Star Trek and known as a beaming process.
-Setting the EffectsColour 144 to black, grey or white and a random mask of 0x3F can create a appearance of filling the object with smoke, mist or cloud. As MinTend increases, the image randomly tends more and more towards the Effects Colour 144, until i i the entire object is the Effects Colour.
As a final example, usage of the mixing input can fade the entire colour input 205 up j r, ,or down over the background, even while the random effects are active. This can be very useful in producing credits, fading animated routines away and producing video fades.
i Where the configuration of Fig, 19 is applied to colour printing using the CANON ji, COLOUR LASER COPIER CLC500, only one colour is required at any one time because i Jsuch a device uses a four pass method for each of the colours CYMK. Accordingly, only two of the devices 100 are required, one performing the mixing function and the otheroperating on the colours CMY and K in respective passes. Between each pass, the device, 100 can have its colour registers updated with the revised colour (CMY or K) for the appropriate printing effect.
The foregoing describes only a number of embodiments of the present invention, and modifications, obvious to those skilled in the art can be made thereto without departing from the scope of the present invention.
(RTO12)(205746)
L

Claims (9)

1. A colour mixing and generation system comprising: a first input for receiving graphic object colour level data connected to a first colour determination means for calculating a base colour from said level data and at least one other input; a second -t t receiving effects data connected to a second colour determination means toi ,alculating an effects colour from said effects data and at least one other input and a (first) interpolator means for determining a generated colour from said base colour and said effects coloui
2. A colour mixing and generation system as claimed in claim 1, wherein said first colour determination means calculates said base colour as a blend of colours for each pixel between a first pixel location and a second pixel location inclusively.
3. A colour mixing and generation system as claimed in claim 2, further 15 comprising a second interpolator means for mixing said generated colour with a mixing ,o input colour signal for each of said pixels between said first and second pixel locations to thereby provide a mixed output signal of said system.
4. A colour mixing and generation system as claimed in claim 1, 2 or 3, wherein said first colour determination means comprises a current line input and said base colour is derived from said first input and said current line input. S: he 5. A colour mixing and generation system as claimed in claim 1, 2 or 3, wherein said first colour determination means comprises a current pixel input and said i *base colour is derived from said first input and said current pixel input.
6. A colour mixing and generation system as claimed in claim 1, 2 or 3, wherein said first colour determination means comprises a current pixel input, a current line input, and a base colour selection input, and in which said base colour is derived from said first input means and from either said current pixel input or said current line input as determined by said base colour selection input.
7. A colour mixing and generation system as claimed in any one of the preceding claims wherein said second colour determination means further calculates a Jtend amount output and said first interpolator means determines said generated colour from said tend amount output
8. A colour mixing and generation system as claimed in claim 7, wherein said second input selects a tend amount value and said tend amount output is derived from said tend amount value and a pseudo-random number.
9. A colour mixing and generation system as claimed in claim 8, wherein said pseudo-random number is generated within said second colour determining means from timing signals associated with a display means driven by said system. R012 238738 CFP1AU o\cis\rto\rto2IuClisdc RTO12 238738 CFP116AU t( o:\cisr, rto~rto 12]auelaims,doe -4
19- A colour mixing and generation system as claimed in any one of the preceding claims further comprising a filter means for filtering said generated colour to provide a filtered colour. 11. A colour mixing and generation system as claimed in any one of the preceding claims when dependent on claim 3, wherein said mixing input signal permits variations in the mixing of a generated colour and the input colour signal. 12 A coloul mixing and generation system as claimed in any one of the preceding claims, wherein said system is configured to output said generated colour is real-time to a rasterised display means thereby permitting real-time rendering of colour images on said display means. 13. A colour mixing and generation system as claimed in claim 12, wherein said display means is selected from the group consisting of a video display and a printer. S 1 men 14. A computerised graphics system comprising a graphics processor ~15 means for calculating graphic image data for reproduction on a rasterised display means, and a colour mixing and generation system as claimed in any one of the I preceding claims interconnecting said processor means and said display means for outputting colour data in rasterised format to said display means. 15. A graphics system as claimed in claim 14, wherein said processor means is a real-time object based processor that outputs colour level data to said first input in said rasterised format. I 16. A graphics system as claimed in claim 15, wherein said mixing input colour signal is derived from a real-time video source and is mixed with said colour level data to provide a composite image for reproduction on said display means. 17, A system as claimed in claim 16 comprising a plurality of said colour mixing and generation systems each operable to mix a portion of said video source with said colour level data. 18. A system as claimed in claim 16 comprising three of said colour mixing and generation system operable respectively on luminance and chrominance t 30 (Cr, Cb) components of said video source, a further said colour mixing and generation system arranged to determine a mixing value for each of said three colour mixing and generation systems, a decoder means for decoding said video source into its Y, Cr and Cb components for input into said three systems, and an encoder means for receiving the outputs of said three system to provide a composite video output of said graphics system. 19. A colour generation and mixing system substantially as herein before described with reference to Fig. 6, or Figs. 7 to 18 of the accompanying drawings. RT012 238738 CFPII6AU [o:\cisra\rto\rto 12]auclaimsdoe x A graphics system comprising a colour mixing and generation system substantially as described herein with reference to Figs. 5 and 6, or, Figs. 5, and 7 to 18, or, Figs. 6 and 19, or, Figs. 7 to 19 of the drawings. DATED this Sixteenth Day of February 1996 Canon Information Systems Research Australia Pty Ltd Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON FERGUSON a t I k Sn ALV14 4JOIJO %,Vr11Q4'.U Lo, e ma no no jau a ins, o Abstract A COLOUR GENERATION AND MIXITNC DEVICE Traditional means for displaying colours as part of comp, 'er systems normally utilize a colour lookup table in determining which colour should be output for display. The present invention discloses an colour generation and mixing system (20) capable of operation at the same data rates as the previously used colour lookup tables, and includes a colour priority level input an effects input an incoming (mixing) colour input (210, and a mix level input From the level input a base colour is determined which is interpolated (29) with the effects input (27) to give a generated colour. The generated colour can be output directly, mixed with the mixing colour (21) in an interpolator (31) under control of the mixing level Such an arrangement is configured for operation at video data rates thereby permitting real-time graphics rendering, t a Fig, 6 i 4 i 1t (RTO12)(205746) L
AU38245/93A 1992-04-29 1993-04-28 A colour generation and mixing device Expired AU667893B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU38245/93A AU667893B2 (en) 1992-04-29 1993-04-28 A colour generation and mixing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPL215292 1992-04-29
AUPL2152 1992-04-29
AU38245/93A AU667893B2 (en) 1992-04-29 1993-04-28 A colour generation and mixing device

Publications (2)

Publication Number Publication Date
AU3824593A AU3824593A (en) 1993-11-04
AU667893B2 true AU667893B2 (en) 1996-04-18

Family

ID=25624283

Family Applications (1)

Application Number Title Priority Date Filing Date
AU38245/93A Expired AU667893B2 (en) 1992-04-29 1993-04-28 A colour generation and mixing device

Country Status (1)

Country Link
AU (1) AU667893B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2243515A (en) * 1990-04-11 1991-10-30 Rank Cintel Ltd Digital video signal processing using lookup tables
AU3063792A (en) * 1992-11-02 1994-05-24 3Do Company, The Method and apparatus for updating a clut during horizontal blanking

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2243515A (en) * 1990-04-11 1991-10-30 Rank Cintel Ltd Digital video signal processing using lookup tables
AU3063792A (en) * 1992-11-02 1994-05-24 3Do Company, The Method and apparatus for updating a clut during horizontal blanking

Also Published As

Publication number Publication date
AU3824593A (en) 1993-11-04

Similar Documents

Publication Publication Date Title
US5900862A (en) Color generation and mixing device
US20020149600A1 (en) Method of blending digital pictures
US5914725A (en) Interpolation of pixel values and alpha values in a computer graphics display device
US4827253A (en) Video compositing using a software linear keyer
US5068644A (en) Color graphics system
US6026179A (en) Digital video processing
US5670986A (en) Graphics system for displaying images in gray-scale
EP0885528B1 (en) Blending of video images in a home communications terminal
US5003299A (en) Method for building a color look-up table
US6909438B1 (en) Video compositor
US5260695A (en) Color map image fader for graphics window subsystem
AU668150B2 (en) Method and apparatus for filling an object based rasterised image
US6075887A (en) High definition color modification
JPH0473189B2 (en)
GB2236638A (en) Predicted graphic image movement path display using keyframes
JPH04227587A (en) Pixel display system having aliasing preventing part for line and solid
US6304300B1 (en) Floating point gamma correction method and system
US6330002B1 (en) Image color blending processor
US4879597A (en) Processing of video image signals
CN104981863A (en) Methods and apparatus to render colors to binary high-dimensional output device
AU667893B2 (en) A colour generation and mixing device
US6016137A (en) Method and apparatus for producing a semi-transparent cursor on a data processing display
US4918530A (en) Processing of video image signals
CN100534162C (en) Fluorophor time-lag phenomenon elimination on displaying board
JPH07162816A (en) Teletext receiver

Legal Events

Date Code Title Description
PC Assignment registered

Owner name: CANON KABUSHIKI KAISHA

Free format text: FORMER OWNER WAS: CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD, CANON KABUSHIKI KAISHA