Method and apparatus for drawing high quality lines on color matrix displays

Abstract: A line segment is created by activating a series of linear elements (R, G, B) substantially centered about the desired line segment position and providing for various intensities for each element. The notion of a pixel group is completely discarded and each individual display element (R, G, B) is individually addressed and individually assigned an intensity depending upon the desired line segment to be displayed and the orientation of that line segment. The method comprises generating element intensity, position and line slope information for a given line segment; inverting and registering the element intensity information; centering an array of elements around the element position information; determing the color of elements in the array of elements; determinining the proper intensity for each element in the array of elements in order to produce the desired position of the line; and providing the proper intensity for each element and the array of elements in order to provide the proper line color.

Description: This invention relates to a method of drawing lines on a color matrix display of the kind having a plurality of pixels distributed regularly over the display, each pixel consisting of a group of three different color elements, the method comprising generating intensity, position, and line slope values for a given line segment in response to an input signal, the said values relating to groups of the color elements through which the given line segment is to pass. Presently, across the display industry, there is a significant effort underway to increase the image quality and position resolution of characters upon color matrix displays. Typically, color matrix displays consist of a regular patterned array of separately addressable elements, with each element corresponding to one of the three preferred colors; red, green and blue. This element matrix is common to liquid crystal displays, thin film electroluminescent displays, etc. Frequently, it is desirable to have a high information content display and in such applications the character image quality and the position resolution become increasingly important. One type of matrix display that has been commonly used in the past is a delta matrix where each pixel is treated much like a pixel in a CRT. During line drawing the independent separate color matrix elements are grouped into pixels each having one red, one blue and one green element. This pixel or picture element arrangement is discussed in Section 1.6 on pages 18 - 21 of Flat Panel Displays and CRT's by Lawrence E. Tannis Jr. published by VanNostrand Reinhold Company, of New York, New York. While this pixel approach has been utilized extensively in the past it does have several serious drawbacks. One predominant drawback of such a design is that when a diagonal line is drawn across the display matrix, the line frequently appears jagged. Another problem with such a design is that the position resolution of any line drawn upon the matrix is limited by the pixel size. Additionally, the pixel approach does not allow computation of a unique intensity of each element within the pixel, thereby reducing the intensity resolution of the display. US-A-4 586 037 discloses a method of the kind defined hereinbefore at the beginning. In this known method, a digital differential analyzer is used at a higher resolution than raster screen resolution to resolve the distance between a theoretical line and the positions of individual relevant pixels. An array of three pixels is used to define each point along the theoretical line between its end points. Intensity values are determined for each such identified pixel position based upon its distance from the theoretical line and the slope of the line. The intensity values are held in a store in the form of a look-up table in ROM. The values in the look-up table may be generated by a general purpose computer using any desired algorithm for generating smooth lines. Consequently, there exists a need for an improved color matrix display which provides the improved character position resolution and improved character image quality. It is an object of the present invention to provide a color matrix display having an improved character line quality. It is another object of the present invention to provide an increased anti-aliasing capability. According to the present invention, a method of the kind defined hereinbefore at the beginning is characterised by (a) in response to the said input signal, generating position, intensity, and slope values for a point on the given line; (b) converting each generated line point position value into a sequence of position values of color elements centred on the generated line point position; (c) retrieving color data associated with each color element in the said sequence of position values; (d) utilizing the line point intensity values to generate respective intensity values for the color elements in the said sequence of position values; and (e) for each of the color elements in the said sequence so combining line color data with the retrieved element color data and the generated respective intensity value as to generate an output intensity value. According to the present invention there is also provided apparatus for drawing lines on a color matrix display of the kind having a plurality of pixels distributed regularly over the display, each pixel consisting of a group of three different color elements, the apparatus comprising means for generating intensity, position, and line slope values for a given line segment in response to an input signal, the said values relating to groups of the color elements through which the given line segment is to pass, characterised by: means for generating, in response to the said input signal, position, intensity, and slope values for a point on the given line; means for converting each generated line point position value into a sequence of position values of color elements centred on the generated line point position; means for retrieving color data associated with each color element in the said sequence of position values; means for utilizing the line point intensity values to generate respective intensity values for the color elements in the said sequence; and means for so combining, for each of the color elements in the said sequence, line color data with the retrieved element color data and the generated respective intensity value as to generate an output intensity value for the color element. It is a feature of a preferred embodiment of the present invention to energize a series of linear elements, with varying intensities for each line segment to be displayed. It is another feature of a preferred embodiment to vary the intensity of the linear element group associated with each line segment. It is another advantage of a preferred embodiment of the present invention to provide increased position resolution by creating an apparent image position which is variable and controllable in dimensions smaller than the element dimension. The present invention is a "pixel-less" color matrix display, in the sense that, when lines for display characters are drawn, the notion of a pixel is completely disregarded. Instead, the character line segments are drawn by addressing each individual element. Furthermore, in a preferred embodiment a line segment is created by activating a series of linear elements substantially centered about the desired line segment position and providing for various intensities for each element. The said means for receiving predetermined element intensity, position and line slope information may comprise a PROM. The said means for inverting and registering the element intensity information may comprise means for providing a pipeline stage for line color, validity and slope. The said means for centering an array of elements around the predetermined element position information may comprise means for directly loading and holding an independent variable while a dependent variable is loaded with a subtract and then incremented to generate an address for each element. The said means for determining the color of elements in the array of elements may comprise a PROM for receiving an X address and the least significant bit of a Y address from the means for centering an array of elements, and a panel bit and determining the color of the addressed element. The said means for determining proper intensity of each element in the array of elements in order to produce the desired position of the line may comprise a PROM for receiving the slope and inverted intensity bits, the panel bit, and the Y least significant bit for determining the proper intensity for anti-aliasing of the addressed element without regard to the desired line color. The invention may be more fully understood by reading the following description of a preferred embodiment of the invention in conjunction with the accompanying drawings wherein: Fig. 1 is a schematic representation of a prior art display matrix which utilizes separate elements grouped into pixel groups. Fig. 2 is a schematic representation of a delta type color matrix display where the diagonal line represents the desired position and orientation of a line to be drawn upon the matrix while the linear individual elements roughly centered about this line and outlined by a heavy line are represented as being independently activated. Fig. 3 is a schematic representation of the present invention in its intended environment with a vector generator as an input and an element memory array as an output. Fig. 4 is a more detailed schematic representation of a circuit of the present invention. DETAILED DESCRIPTION Now referring to the drawings, and more particularly to Figure 1, there is shown a matrix from a prior art display which shows the grouping together of individual elements into pixel configurations. In such an arrangement the display positional resolution is a function of pixel spatial dimensions. Display engineers who have used this pixel type approach have typically considered the pixel to be the lowest resolvable spatial incremental quantum and therefore have generated the lines in the characters by logically treating the pixels as the smallest element. Now referring to Figure 2 there is shown a delta type color matrix array which is shown being addressed by the method and apparatus of the present invention. The diagonal line represents the desired central position and orientation of a line drawn upon the display. The six linear elements roughly centered about each line segment and outlined in heavier lines are representative of the elements to be individually activated in order to draw any particular line segment. Six linear elements have been chosen in this particular design, but more or fewer elements may be used depending upon the particular requirement of a given display and the panel configuration. The color of the line segment and its apparent position to the viewer are a function of the intensity of each of the six linear elements. By selecting the appropriate intensity for each of the six elements, the line segment can be made to appear centered at a location which is not centered over one particular element, thereby allowing for an increase in positional resolution. This resolution improvement allows for an improved line quality for diagonal lines and tends to eliminate or greatly reduce any jagged edges or steps in a displayed line which is intended to be a smooth diagonal. The invention can be more clearly understood by referring to Figure 3 which is a schematic overview representation of the present invention as it relates to a typical vector generator and a common raster memory. The output of the vector generator is position, slope, and intensity information. Now referring to Figure 4 there is shown a more detailed schematic representation of the line drawing circuit of the present invention, generally designated 400, which contains an input control block 410 which receives input from a vector generator block, not shown in Fig 4. The vector generator block consists of a two gate array set which interpolates between line segment end point values. The gate arrays output X and Y values, and an intensity value corresponding to the difference between the logical position of the line and the integer position value output as a dependent variable. Arrays use the slope of the line (i.e. steep or shallow) to select whether X or Y is the independent variable. Also output are slope and output valid signals. An erasable programmable logic device is used as a pipeline register for line color. The input control block 410 receives the following inputs from the vector generator: the intensity outputs, the least significant bit of the Y output, the slope bit. Other inputs include a bit signifying the type of panel being driven and a registered copy of the slope bit. The outputs of the block are used to control the function of an address sequencer block 430 and a color/intensity/valid pipeline block 420, to clock the gate arrays of the vector generator, and identify the count within the slice of elements being generated. Preferably the input control block 410 is implemented using Cypress CY7C245 registered EPROMs but any suitable EPROM or PROM could be substituted. The software for the input control block is written in Pascal. The color/intensity/valid pipeline block 420 provides a pipeline stage for line color, validity, and slope. The intensity outputs from the gate arrays of the vector generator are inverted and registered. Preferably block 420 is implemented using Cypress C22V10 PAL. The address sequencer block 430 receives the X Y addresses from the gate arrays of the vector generator and control signals from the input control block 410. The address sequencer block 430 can perform the following operations: hold the current value, increment the current value, load the input value , subtract 1 or 2 from the input and load. Block 430 is used to modify the X and Y values from the gate arrays of the vector generator to center the slice about the desired value. The independent variable is loaded directly and then held. The dependent variable is loaded with a subtract and then incremented to generate the addresses for each element within the slice. Preferably block 430 is implemented using Cypress C22V10 PALS. An address pipeline block 440 provides a delay stage for outputs of the address sequencer block 430 and preferably 74ACT821 registers are used for this function. An element color block 460 receives the X address and the least significant bit of the Y address from the address sequencer block 430 and the panel bit. With this information the filter color of the currently addressed element is determined. Preferably the element color block 460 is implemented with a Cypress CY7C263 EPROM. An element intensity block 450 receives the slope and inverted intensity bits from the color/intensity/valid pipeline block 420, the sequencer count from the input control block 410, the panel bit, and the Y least significant bit from the address sequencer block 430. Block 450 determines the proper intensity for anti-aliasing of the addressed element without regard to desired line color. Preferably this function is implemented with a Cypress CY7C291 EPROM. A color mix/CS,WE logic block 470 performs the last step of the color mixing, combining the element color outputs from the element color block 460 with the intensity output from the element intensity block 450 and the desired line color. It makes the final determination of intensity and whether or not to actually write the elements into the element memory, not shown. (Elements of zero intensity are not written so as to avoid over writing picture information.) Also within this block 470 are write timing and chip select decode logic (CS, WE LOGIC) to control write operations in a dual bank element memory. Preferably block 470 is implemented with a Cypress CY7C245 EPROM and a C22V10 PAL and two digital delay elements. The apparatus described hereinbefore with reference to Fig. 4 constitutes an apparatus for drawing lines on a color matrix display in which the input control block 410 serves as a means for receiving predetermined element intensity, position and line slope information, the color/intensity/valid pipeline block 420 serves as a means for inverting and registering the element intensity information, the address sequencer block 430 serves as a means for centering an array of elements around the predetermined element position information, the element color block 460 serves as a means for determining the color of elements in the array of elements, the element intensity block 450 serves as a means for determining proper intensity of each element in the array of elements in order to Droduce the desired position of the line; and the color mix/CS,WE logic block 470 serves as a means for providing the proper intensity for each element and the array of elements in order to provide the proper line color. The method for drawing lines on a color matrix display carried out by the apparatus of Fig. 4 comprises therefore a. generating element intensity, position and line slope information for a given line segment in response to an input signal; b. receiving the element intensity, position and line slope information; c. inverting and registering the element intensity information; d. centering an array of elements around the element position information; e. determining the color of elements in the array of elements; f. determining the proper intensity of each element in the array of elements in order to produce the desired position of the line; and g. providing the proper intensity for each element and the array of elements in order to provide the proper line color. A color matrix display incorporating the apparatus of Fig. 4 includes also a matrix of individually addressable elements for generating portions of an image; and the aforementioned vector generator means for generating element intensity, position and line slope information for a given line segment in response to an input signal. It is thought that the method and apparatus for drawing high quality line on color matrix displays of the present invention, and many of its intended advantages, will be understood from the foregoing description, and it will be apparent that various changes may be made in the form, construction, and arrangement of the parts thereof, the forms hereinbefore being merely preferred or exemplary embodiments thereof. It is the intention of the appended claims to cover all of such changes.

Claims: A method of drawing lines on a color matrix display of the kind having a plurality of pixels distributed regularly over the display, each pixel consisting of a group of three different color elements, the method comprising generating intensity, position, and line slope values for a given line segment in response to an input signal, the said values relating to groups of the color elements through which the given line segment is to pass, characterised by (a) in response to the said input signal, generating position, intensity, and slope values for a point on the given line; (b) converting each generated line point position value into a sequence of position values of color elements centred on the generated line point position; (c) retrieving color data associated with each color element in the said sequence of position values; (d) utilizing the line point intensity values to generate respective intensity values for the color elements in the said sequence of position values; and (e) for each of the color elements in the said sequence so combining line color data with the retrieved element color data and the generated respective intensity value as to generate an output intensity value. Apparatus for drawing lines on a color matrix display of the kind having a plurality of pixels distributed regularly over the display, each pixel consisting of a group of three different color elements, the apparatus comprising means for generating intensity, position, and line slope values for a given line segment in response to an input signal, the said values relating to groups of the color elements through which the given line segment is to pass, characterised by: means for generating, in response to the said input signal, position, intensity, and slope values for a point on the given line; means (430) for converting each generated line point position value into a sequence of position values of color elements centred on the generated line point position; means (460) for retrieving color data associated with each color element in the said sequence of position values; means (420,450) for utilizing the line point intensity values to generate respective intensity values for the color elements in the said sequence; and means (420,470) for so combining, for each of the color elements in the said sequence, line color data with the retrieved element color data and the generated respective intensity value as to generate an output intensity value for the color element. Apparatus according to claim 2, characterised in that the said converting means includes PROM means (410) responsive to each generated line point intensity value and slope value. Apparatus according to claim 3, characterised in that the said combining means includes a pipeline stage (420) for line color, validity, and slope values. Apparatus according to claim 4, characterised in that the said converting means comprises means (430) for directly loading and holding an independent position coordinate value while a dependent position coordinate value is loaded with a subtract and then incremented to provide the said sequence of the position values of color elements. Apparatus according to claim 5, characterised in that the said retrieving means comprises a PROM (460) programmed to supply the color data of the color element whose address is given by the position value generated by the said converting means (430), the PROM (460) responding to a part of the position value expressed as an X coordinate address and the least significant bit of the associated Y coordinate address, and to a panel data bit indicative of the type of color matrix display to be used with the apparatus. Apparatus according to claim 6, characterised in that the said utilizing means includes a PROM (450) arranged and programmed to respond to line point intensity bits, a line slope value bit, the said least significant bit of the Y coordinate address, the panel bit, and control data generated by control signal generator means (410) in response to the line slope value bit, the panel bit, the line point intensity bits, and the least significant bit of a Y coordinate address of the line point value.

Inventors: BOTTORF SCOTT A, BOTTORF, SCOTT A.
Applicants: ROCKWELL INTERNATIONAL CORP, ROCKWELL INTERNATIONAL CORPORATION
Application year: 1988
Main classification: G09G1
IPC codes: G09G5, G09G3