[0001] The present invention relates to display of characters. In this specification, the
term "character" is intended to cover any type of display including text, drawings,
or graphics.
[0002] More particularly, the invention relates to a method of operating a computer system
for displaying characters on a video screen comprinsing the steps of writing to a
screen memory an index for a pre-defined colour table for display of each pixel of
a character and retrieving each index from the screen memory and inputting it to the
colour table to obtain colour separated signals.
[0003] When a character is displayed on a lower resolution screen having typically 60 to
90 pixels per inch, the sampling rate is often too low to accurately represent the
original image. This effect is known as "aliasing". One approach to improved character
definition involves giving the impression that a high resolution screen is being used
in such situations by displaying boundary pixels of the characters at varying degrees
of intensity between full on and full off to give the impression of a smooth contour.
This is known as "grey scaling" or "anti-aliasing". In this method, pixels at the
boundaries of characters are each assigned a grey scale value. Displaying of a character
involves subtracting the background colour component from a characters colour component
to provide a difference value, which value is combined with the grey scale value.
Because this must be carried out for each pixel, it will be appreciated that a large
amount of processing power is required.
[0004] Another approach is to use a video unit having a high-definition screen with a large
number of pixels per unit area, and a special control circuit. Disadvantages of this
approach are that such units add considerably to the expense of computer hardware
and are thus not available to most user of personal computers.
[0005] There is thus a need for a method for displaying characters which provides good definition
and may be carried out simply and with readily available and inexpensive hardware.
[0006] The invention is characterised in that the colour table includes a plurality of grey
scaled colours representing display of a character colour against a different background
colour for a plurality of grey scale values.
[0007] Thus, a computer system which is constructed to display characters at diferent colours
may display anti-aliased characters without extra processing, thus avoiding the need
for extra processing hardware or a high definition screen.
[0008] In one embodiment, inverse grey scaled colours of the colour table have inverse indices.
This allows colour inversion in a very simple manner.
[0009] Preferably, two adjacent bits of the grey scaled colour indices are the same, thus
reducing processing time.
[0010] In another embodiment, the indices are four bits long, defining sixteen different
colours, eight of which are grey scaled colours including and between the extremes
of a character colour and a background colour.
[0011] According to another aspect, the invention provides a computer system for displaying
characters on a video screen, the system cmprising:-
a colour table storing colour separated signals and an index for each of a plurality
of colours;
a screen memory;
means for writing to the screen memory an index for the colour table for display of
each pixel of a character; and
means for retrieving each index from the screen memory and inputting it to the colour
table to obtain colour separated signals, characterised in that the colour table includes
a plurality of grey scaled colours representing display an a character colour against
a background of a different colour for a plurality of grey scale values.
[0012] The invention will be more clearly understood from the following description of some
preferred embodiments thereof, given by the way of example only with reference to
the accompanying drawings in which:-
Fig. 1 is a block diagram of a computer system of the invention;
Fig. 2 is a representation of a colour table used in the computer system; and
Fig. 3 is a flow diagram illustrating operation of the computer system.
[0013] Referring to the drawings, and initially to Fig. 1 there is illustrated portion of
a computer system of the invention, indicated generally by the reference numeral 1.
For clarity, not all parts are ilustrated and those not illustrated will be readily
undrestood by a person skilled in the art. The system 1 comprises a computer processor
2 which is connected to a screen memory 3. The screen memory 3 is four bits deep having
four planes A, B, C and D as illustrated. The screen memory 3 has one location for
each pixel of a display device or screen. The screen memory 3 is connected to a colour
table 4 storing a digital colour representation for each of the sixteen combinations
of the four-bit bus from the screen memory 3. Each colour is digitally repesented
by three eight-bit codes representing red, green, and blue components (R,G,B,).
[0014] Referring now to Fig. 2, the colour table 4 is illustrated. The colour table 4 includes
sixteen colour values having indices ranging between 0000 and 1111. The colour table
is similar in struture to a conventional "VGA" colour table which stores representations
of sixteen different colours, including dark green, mustard, dark blue, dark red,
green, yellow, blue, magenta, cyan or turquoise. Generally, in such a table, the colour
having index 0000 is black and the colour having index 1111 is white.
[0015] The colour table 4 of the invention has similar indices for black and white, and
additionally includes representations of grey scaled colours having indices 0001,
0010, 0011 at one end of the colour table and indices 1100, 1101 and 1110 at other
end of the table. The grey scaled colours have similar intensities (derived from the
associated grey scale value) for the components of red, green and blue, and each grey
scaled colour. For grey scaling, only one character colour is chosen, namely black,
and there is only one background colour, namely white. Thus, various intensities represented
by grey scale values for this combination have the colour which is conventionally
known as grey. This combination has been chosen because it is the most common for
both display and printing, however, it is envisaged that any other character and background
colours may be chosen. The important point is that only one combination of character
and background colours has a set of grey scale values and these are entered in the
colour table at the expense of other colours such as mustard and purple, which colours
are rarely required for displaying and printing text.
[0016] Examining the colour table 4 in more detail, it will be noticed that because there
are eight grey scale colours between the extremes of black and white, a three-bit
address is wall that is required and thus one bit of the four-bit address is redundant.
In this case, the two highest order bits, i.e. those from planes C and D are the same.
[0017] Operation of the system 1 is now described with reference to Fig. 3. Before characters
are to be displayed, the computer system 1 has stored therein fonts for characters,
the fonts comprising screen memory indices for each pixel of the characters. The indices
have been pre-defined with reference to the stored colour table. When the processor
2 is writing indices to the screen memory 3, it is more efficient to write or draw
one row to each of the planes A, B, C and D at a time. Thus, in step 10 the processor
2 identifies a character to be drawn and in step 11 it writes one row of plane A.
The date written to plane A is made up of the least significant bits of the colour
table indices for each pixel of the row. In step 12 a row made up of the second least
significant bits for these pixels is drawn to plane B. If the processor 2 has identified
the character to be drawn as being a text character, the colours of the colour table
4 between dark blue and turquoise are not used the third and fourth most significant
bits have the same value. Thus, step 13 involves writing simultaneously to planes
C and D the same bit value. This bit value is 0 for the lower-intensity colours and
always 1 for the higher-intensity grey colours. It will also be noticed that to invert
a colour it is only necessary to invert the index. Once written to the screen memory
3, the indices are retrieved and used to generate the RGB signals for display.
[0018] It will be seen that the invention applies the use of existing colour table techniques
to the drawing of anti-aliased characters. Advantage is taken of the fact that it
is generally only necessary to have anti-aliasing for one combination of character
and background colours, grey scaled colours for this combination are obtained at the
expense of colours such as mustard which are rarely used. In effect, what has been
achieved is the apparent quality of a laser printer having 300 pixels per inch on
a screen having say 68 pixels per inch. This has been achieved without the need for
additional processing powerora high-resolution screen and associated control circuit.
The great benefit of the invention is it's simplicity. The only disadvantage is the
non-availability of colours which are rarely required. Further, for output of text
or any other display where there is a combination of the selected character and background
colours the process of writing to the screen memory is speeded up by 25%. Further,
invention of the colours is easily obtained by simple inversion of the indices.
[0019] The invention is not limited to the embodiments hereinbefore described and may be
varied in construction and detail.
1. A method (10-13) of operating a computer system (1) for displaying characters on
a video screen comprising the steps of:-
writing to a screen memory (3) an index for a pre-defined colour table (4) for display
of each pixel of a character; and
retrieving each index from the screen memory (3) and inputting it to the colour table
(4) to obtain colour separated signals (R,G,B), characterised in that the colour table
(4) includes a plurality of grey scaled colours repesenting display of a character
colour against a different background colour for a display of grey scale values.
2. A method as claimed in claim 1, wherein inverse grey scaled colours of the colour
table have inverse indices.
3. A method as claimed in claims 1 or 2, wherein two adjacent bits of the grey scaled
colour indices are the same.
4. A method as claimed in any preceding claim, wherein the indices are four bits long,
difining sixteen colours, eight of which are grey scaled colours including and between
the extremes of a character colour and a background colour.
5. A computer system (1) for dispalying characters on a video screen, the systems
comprising:-
a colour table (4) storing colour separated signals and an index for each of a plurality
of colours;
a screen memory (3);
means (2) for writing to the screen memory (3) an index for the colour table for display
of each pixel of a character; and
means for retrieving each index from the screen memory (3) and inputting it to the
colour table (4) to obtain colour separated signals (R,G,B), characterised in that
the colour table includes a plurality of grey scaled colours representing display
of a character colour against a background of a different colour for a plurality of
grey scale values.