fig1 shows a colour matte generator which produces a luminance ( y ) and colour difference ( cr , cb ) components plus a destination address for the luminance and colour difference components from inputs which comprise saturation , luminance , and hue controls plus a selection address to specify where the colour matte signals are to be used within a system . the luminance and colour difference components contain combinations of primary colour components of light , that is red ( r ), green ( g ), and blue ( b ). the colour difference components cr and cb are equivalent to ( r - y ) and ( b - y ) with appropriate scaling factors applied . the matte generator may be functionally split into two parts : an rgb generator and a y , cr , cb coder . thus the first step is to translate the hue , saturation , and luminance values to r , g and b values and these are subsequently converted to y , cr and cb . the colour matte generator shown in fig1 comprises three potentiometers 10 , 11 and 12 by which values of saturation s , luminance l and hue h may be set . the analogue voltages selected by the potentiometers 10 , 11 and 12 are converted into binary codes by means of analogue to digital converters ( adc ) 13 , 14 and 15 . the adcs 13 and 14 produce a 8 bit code for the saturations and luminance l while the adc 15 produces a 10 bit code for the hue . as an alternative a single adc with the potentiometer voltages multiplexed onto its input could be used . the saturation value is loaded into a latch 16 under the control of a timing signal generated in a timing generator 17 and fed to an enable input of the latch ( register ) 16 over a line 18 . similarly an enable signal is fed over a line 19 to a latch 20 to enable the luminance value to be loaded into the latch 20 and an enable signal is fed over a line 21 to latches 22 and 23 to enable the hue value to be loaded into the latches 22 and 23 . two 8 bit latches are required for the hue value as it is a 10 bit word . the selected destination for the colour matte is generated in a control circuit 24 , which may simply be a switch or set of switches having a binary coded output , and is loaded into a latch 25 under the control of a signal on a line 26 which is generated in the timing generator 17 . the signal on line 26 also sets a bistable circuit 27 . the latches 16 , 20 , 22 , 23 and 25 may be standard ttl 74ls374 eight bit latches while the bistale circuit 27 may be formed by two cross coupled nand gates . the outputs of the latches 16 , 20 , 22 , 23 and 25 are connected to an eight bit data bus 30 , to which data bus a microcomputer 31 is connected . the microcomputer may , for example , be that sold by intel corporation under the type number 8748 . since in this system information is always read from the latches 16 , 20 , 22 , 23 and 25 and never written into these latches by the microcomputer 31 the output enable pins of the latches are enabled by the read output r o of the microcomputer combined with individual outputs a3 , a2 , a1 , a0 and a8 from port 1 or port 2 . these outputs r o and a are combined in respective and gates 32 , 33 , 34 , 35 and 36 . the q output of the bistable circuit 27 is fed to the interrupt input int of the microcomputer 31 via a line 37 and the bistable circuit 27 is reset by the output enable signal applied to the latch 25 . also connected to the data bus 30 are four output latches 40 , 41 , 42 and 43 in which the y , cr and cb components and the destination address respectively are written . when the microcomputer 31 has calculated the y , cr and cb components from the input saturation , luminance and hue values they are loaded into the respective latches together with the selected destination address . since the microcomputer 31 never reads information from the latches 40 to 43 but always writes information into them their input enable pins are provided with a combination of the write signal from an output wr and individual outputs a7 , a6 , a5 and a4 from port 1 or port 2 . these signals are combined in and gates 44 , 45 , 46 and 47 respectively . the luminance component y is available on an 8 bit bus 48 during the field blanking period under the control of a timing pulse ckf , this pulse being generated elsewhere in the system ( not shown ). the cr and cb colour difference components are multiplexed onto an 8 bit bus 49 during the field blanking period under the control of the timing pulse ckf combined with either cka or cka ( inverted ) in and gates 50 and 51 . the cka signal is a 6 . 75 mhz clock signal and the cr component is fed to an 8 bit bus 49 when cka is high and the cb component when cka is low . the destination code is set to zero by the microcomputer 31 whenever the colour matte is changed and reset to the desired destination when the new colour matte value has been calculated . in operation , at a time early in the field period the timing generator 17 causes the values of saturation , luminance , hue , and the destination set by the operator on the control panel to be read into the latches 16 , 20 , 22 , 23 and 25 . when the destination information is set into the latch 25 the bistable circuit 27 is also set causing an interrupt signal to be passed to the microcomputer 31 over the line 37 . the microcomputer 31 then reads in turn the saturation , luminance , hue , and destination information from the latches 16 , 20 , 22 , 23 and 25 and causes the bistable 27 to be reset thus removing the interrupt input . the microcomputer 31 then sets the latch 43 to zero and subsequently converts the saturation s , luminance l , and hue h values to luminance ( y ), and colour difference ( cr , cb ) values and causes them to be read into the latches 40 , 41 and 42 and subsequently writes the destination address into the latch 43 . the y , cr and cb values are then routed to the selected destination during the next field blanking period . the matte generator may be functionally split into two parts : an rgb generator and a y , cr , cb coder . thus the first step is to translate the hue , saturation , and luminance values to r , g and b values . if the colour illustrated in fig2 is considered i . e . 0 . 6vr + 0 . 3vg + 0 . 5vb it may be regarded as 0 . 3v of white + 0 . 3v red + 0 . 2v blue . this is a colour between red and blue which has been de - saturated by the addition of 0 . 3v white , i . e . it is a pale reddish magenta . the amount of white is determined by the level of the smallest primary colour , in this case green . the saturation s is defined as ## equ1 ## which in this example is ( 0 . 6 - 0 . 3 )/ 0 . 6 × 100 %= 50 % if a further 0 . 1v white is added , then 0 . 1v is added to each of the primary components so that the saturation now becomes ( 0 . 7 - 0 . 4 )/ 0 . 7 × 100 %= 43 %, i . e . the colour is less saturated . it should be noted that the hue has not changed since there is still 0 . 3v red + 0 . 2v blue superimposed on 0 . 4v white . since the white component is determined by the smallest of the primary components the saturation may be further defined as ## equ2 ## the hue h is determined by the remainder when the white component has been removed . ## equ3 ## i . e . it is related to the sum of all three primary colour components . thus , if we halve all the colour components the luminance l will be halved but the hue h and saturation s ( which are ratios ) will be unchanged . similarly the luminance can be increased by amplifying all the components by the same proportion until the largest component reaches its maximum value ( e . g . 0 . 7v ). ## equ4 ## consider a 100 % luminance and 100 % saturated colour . in this case the largest component is at the maximum value and the smallest component is zero ( no white ). thus , considering fig3 and 4 , with a 100 % luminance 100 % saturated colour we only have two primary colour components , one of which is at a maximum ( m ) and the other at an intermediate value . to generate all 100 % luminance 100 % saturated colours it is possible to travel round the edge of the colour triangle shown in fig3 with the result shown in fig4 for the magnitudes of the primary colour components r , g , and b . as shown in fig4 the process can be divided into six segments 0 to 5 which extend between one apex and the mid point of each of the sides . at any point within a segment one colour is zero ( 10 ), one colour is at a maximum ( m ) and the third at an intermediate value . in fig3 and 4 colours are indicated as follows : b blue , ma magneta , r red , ye yellow , g green , and cy cyan . the color components r , g and b can be determined from the hue , saturation and luminance values ( h , s , l ) as follows . if the three components are d ( largest ), e ( middle ), f ( smallest ) ( see fig5 ) and d , e and f are not yet asigned to r , g , and b then , the hue can be defined as having calculated d , e and f on this assumption the actual luminance value can now be applied to the result by multiplying d , e and f by l / 255 to produce d &# 39 ;, e &# 39 ; and f &# 39 ; ( 1 / 255 following from the 8 bit word ). in order to produce the r , g and b components the values of d &# 39 ;, e &# 39 ; and f &# 39 ; are assigned to the r , g and b registers in accordance with the segment code as set out in table 1 , in view of fig4 . table 1______________________________________segment no . d &# 39 ; e &# 39 ; f &# 39 ; ______________________________________0 b r g1 r b g2 r g b3 g r b4 g b r5 b g r______________________________________ the r , g and b components have a maximum value of 255 which corresponds to 0 . 7v into an rgb monitor and a minimum value of 0 corresponding to 0v . to convert from the rgb components to y , cr , and cb a value for y &# 39 ; is determined , the prime (&# 39 ;) is used to distinguish this value from the final scaled output value . to scale cb &# 39 ; to cb use the fact that cb is a maximum when b = 255 , r = 0 and g = 0 . to accord with the ebu standard the maximum value of cb should be 112 so cb = cb &# 39 ;× 127 / 256 + 128 . fig6 and 7 show flow diagrams of the operation of the colour matte generator as controlled by the microcomputer 31 of fig1 . in fig6 the box 100 represents the start of the process . box 101 represents a monitoring of the interrupt input . if the interrupt is set then the microprocessor 31 reads the input data ( box 102 ) i . e . the saturation , luminance , hue , and destination address stored in the latches 16 , 20 , 22 , 23 and 25 . if the interrupt is not set then the interrupt input is continuously monitored until it is set . the next step is to set the destination address in the latch 43 is zero ( box 103 ) and then the saturation , luminance and hue values are converted into rgb values ( box 104 ). the rgb values are then converted to y , cr , cb values ( box 105 ) and written into the latches 40 , 41 and 42 ( box 106 ). finally the new destination address is written into the latch 43 ( box 107 ) and subsequently the microcomputer 31 returns to monitoring its interrupt input . the process takes approximately a quarter of the field period and hence the new matte value is available well before the start of the next field period . fig7 shows in greater detail the processes represented in boxes 104 and 105 of fig6 . since the hue is in the form of a 10 bit number the most significant 3 bits of which represent the segment code and the least signficiant 7 bits represent the intermediate states in each segment the first step ( box 110 ) is to double the intermediate value to bring it to an 8 bit code . the three most significant bits of the original hue setting are monitored ( box 111 ) and if the segment code is 6 or 7 , i . e . 110 or 111 , this is converted to 0 or 1 respectively ( box 112 ). this allows overlap at both ends of the hue setting potentiometer 12 of fig1 . the segment code is then further examined ( box 113 ) to determine whether it is an odd or even segment i . e . the presence or absence of a ` 1 ` in the least significant bit position . if it is an odd segment the hue value ( 7 least significant bits doubled ) is inverted ( box 114 ). the hue values are inverted in odd segments since an increasing value causes a decreasing primary colour content in odd segments . fig4 illustrates this since in segments 1 , 3 and 5 the b , r , and g components respectively steadily decrease whereas in segments 0 , 2 and 4 the r , g , and b components respectively steadily increase . the saturation value is then inverted ( box 115 ). three colour components d , e and f are then calculated where d & gt ; e & gt ; f . these components are not yet assigned to r , g and b . the first step is to calculate values for d , e , and f ( box 116 ) on the assumption that luminance is 100 % in which case d = 100 %= 1 , f =( 1 - s )= s , e = 1 - sh where s is saturation and h is hue and s and h are saturation and hue inverted . luminance is then taken into account ( box 117 ) by multiplying d , e and f by the luminance value to form d &# 39 ;, e &# 39 ; and f &# 39 ;. the next step is to assign d &# 39 ;, e &# 39 ; and f &# 39 ; to r , g , and b ( box 118 ) in accordance with the segment code according to table 1 . the values of y , cr , and cb are then calculated ( box 119 ) using the equations while the method and apparatus described use a 10 bit code for the hue value and 8 bit codes for the luminance and saturation value these codes are only illustrative . if the second part of the hue code has the same bit length as the luminance and saturation codes then the second part of the hue value would not be doubled .