WO1993016461A1 - High resolution curve drawing system and method - Google Patents

High resolution curve drawing system and method Download PDF

Info

Publication number
WO1993016461A1
WO1993016461A1 PCT/US1992/008933 US9208933W WO9316461A1 WO 1993016461 A1 WO1993016461 A1 WO 1993016461A1 US 9208933 W US9208933 W US 9208933W WO 9316461 A1 WO9316461 A1 WO 9316461A1
Authority
WO
WIPO (PCT)
Prior art keywords
points
line segment
high resolution
pixel
curve drawing
Prior art date
Application number
PCT/US1992/008933
Other languages
French (fr)
Inventor
Leopold Neumann
Original Assignee
Analogic Corporation
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 Analogic Corporation filed Critical Analogic Corporation
Publication of WO1993016461A1 publication Critical patent/WO1993016461A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • G09G1/16Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
    • G09G1/162Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster for displaying digital inputs as analog magnitudes, e.g. curves, bar graphs, coordinate axes, singly or in combination with alpha-numeric characters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)

Abstract

A high resolution curve drawing technique for a digitally generated T.V. type pixel matrix display is disclosed. An antialiasing curve drawing engine (10) fonctions to determine those pixels (12) intercepted by each line segment of the curve, and reads out of a storage table (202) the intensity value (218, 220, 203, 205, 207) of each intercepted pixel (12), so as to effect a visually pleasing representation of the curve.

Description

HIGH RESOLUTION CURVE DRAWING SYSTEM AND METHOD
FIELD OF INVENTION This invention relates to a high resolution curve drawing system and method for a digitally generated T.V. type pixel matrix display.
BACKGROUND OF INVENTION Images made on a display with less than infinite resolution have artifacts that are visually unpleasing. These artifacts are caused by the guantization of the display, forcing all boundaries within the image to conform to the inherent and visible display internal matrix, e.g., TV lines or rows and columns of pixels. Thus, edges which are known to be smooth are displayed as jagged approximations to the desired/actual curved edges. These edges also limit the accuracy of the display to the display resolution.
A technique for improving the appearance of an image display by introducing shading at boundaries is known and is referred to as antialiasing graphics. The shading, when done properly, "fools" the eye into seeing a continuous edge; the eye estimates the edge location to a finer resolution than the actual display matrix by utilizing the boundary pixel intensity. The application of antialias graphic techniques, however, normally requires a large amount of computation to find/characterize and properly shade the boundary.
A special case of image display addressed by this invention is a waveform display. This is a graphical curve that represents a measured or computed value of a dependent variable versus an independent variable, for example, a measured voltage versus time such as the display of a digital oscilloscope.
The curve which is normally displayed is a thin, bright line against a non-illuminated background or is a line of one color against a different color background. It is essentially all edge. Normally, the value of the dependent variable is known for each of many equal intervals of the independent variable. And, normally, the equal intervals of the independent variable correspond exactly to one column (horizontal resolution) of the display. Also, in many cases, the value of the dependent variable is known to a higher resolution than the row resolution (vertical resolution) of the display, and it would be desirable to incorporate that information in the display both for information and for appearance.
In the context of a waveform curve, the curve is drawn from a table of values of the independent variable vs. equally spaced values, one pixel apart, of the dependent variable.
In one method, the ordinate pixel location nearest to the actual value (scaled) in each column is illuminated. This results in a series of dots which may not connect.
In another method a line is drawn between the nearest adjacent ordinate pixel locations. As connecting points are in adjacent columns, the use of a line drawing algorithm, such as Bresenhams line-drawing algorithm, will result in lines from the points defined in the first above-mentioned method extending halfway (+/-1/2) to the adjacent ordinate where the line stops and a line in the next column starts and continues to the next ordinate. Alternate line drawing algorithms, such as continuing the dot of the first above-mentioned method, to form a column extending to one pixel away from the next ordinate, etc. , yield similar results. In yet another method, the line is drawn also using Bresenhams algorithm. In this instance the shading values are computed to smooth the junctions where the lines or dots in adjacent columns meet by filling in lower intensity values at corner pixels. This improves things somewhat, but is still ugly and just as inaccurate, and requires considerable computation.
SUMMARY OF INVENTION
It is therefore an object of this invention to provide an improved high resolution curve drawing system and method for a digitally generated T.V. type pixel matrix display.
It is a further object of this invention to provide such a system and method which employs a simple yet highly effective antialiasing technique.
It is a further object of this invention to provide such a system and method which produces curves which are both pleasing to the eye and accurate.
It is a further object of this invention to provide such a system employing a high-speed, cost effective antialiasing curve drawing engine for drawing the curves.
It is a further object of this invention to provide such a system employing a high-speed cost effective antialiasing curve drawing engine capable of generating points on the fly from a set of input data.
This invention features a high resolution curve drawing system for a digitally generated T.V. type pixel matrix display. There are means for identifying a plurality of sequential points on a curve to be displayed. There are also means responsive to the distance between the sequential points and to fractional distances between the points and the pixel matrix for defining a line segment established between each pair of sequential points. An antialiasing curve drawing engine responds to the distance between sequential points and the fractional distance between the points and the pixel matrix for determining the portion of each pixel intercepted by each line segment and the consequent intensity contribution to effect a visually pleasing representation of the line segment.
In a preferred embodiment the antialiasing curve drawing engine may include means for identifying each pixel intercepted by the curve and means for ascertaining the portion of intercepted pixel contributing to the intercepting line segment to establish an intensity for each such pixel proportional to the portion intercepted. The means for ascertaining may .include means responsive to the distance between points and the fractional distance between points and the pixel matrix for generating a group of addresses representing the intercepted pixels. There may also be means for reading out from a storage table the proportional intensity of each such pixel associated with the defined line segment.
The means for identifying may identify three sequential points, or only two sequential points. The means for defining may include means for setting the Y dimension upper and lower limit, means for setting the initial and final X dimensions of the curves to be drawn, and means for determining the integral difference between each pair of adjacent points. The means for defining may also include means for setting up a Line Segment Definition for each line defined by the integral distance between each pair of points and the fractional distance between each point and the pixel matrix. The means for defining may also include means for determining the scan start limit Y dimension value for points based on the Y dimensions of the points determining the segment and the appropriate Y limit and setting Y initially to that value, and may include means for determining an end scan Y value based on the Y dimension values for each point and the appropriate Y limit and means for setting the Column Scan Terminate Limit to that value. The means for generating may include means for computing the difference between Y and the Y dimension value of each point to identify each specific address in the group of addresses previously defined.
The invention also features a high resolution curve drawing system for a digitally generated T.V. type pixel matrix display which includes means for identifying a plurality of sequential points on a curve to be displayed, and means responsive to the distance between the sequential points for defining the line segment established between each pair of sequential points. An antialiasing curve drawing engine responds to the distance between sequential points for determining the portion of each pixel intercepted by each line segment and the consequent intensity contributions to effect a visually pleasing representation of the line segment. The engine includes means responsive to the distance between the points for generating a number of addresses representing the pixels intercepted by the line segment, and means for reading out from a storage table the proportional intensities of each such pixel associated with the line segment.
This invention also features a high resolution curve drawing method for a digitally generated T.V. type pixel matrix display, which includes identifying a plurality of sequential points on a curve to be displayed and defining the line segment established between each pair of sequential points from the distance between sequential points and the fractional distance between the points and the pixel matrix. The portion of each pixel intercepted by each line segment and the consequent intensity contribution to effect a visually pleasing representation of the line segment is determined from the distance between sequential points and the fractional distance between the points and the pixel matrix.
In a preferred embodiment, determining the portion of each pixel intercepted may include identifying each pixel intercepted by the curve and ascertaining the portion of each intercepted pixel contributing to the intercepting line segment to establish an intensity for each such pixel proportional to the portion intercepted. The step of ascertaining may include generating a number of addresses representing the intercepted pixels from the distance between the points and the fractional distance between the points and the pixel matrix and reading out from a storage table the proportional intensities of each such pixel associated with the defined line segment.
Identifying a sequential point in a plurality of sequential points may include identifying three points, or even two points.
Defining the line segment may include setting the Y dimension upper and lower limit, may include setting the initial and final X dimension of the curve to be drawn, and may include determining the integral difference between each pair of adjacent points. Defining the line segment may also include setting up a Line Segment Definition for each line defined by the integral distance between each pair of points and the fractional distance between each point and the pixel matrix, and may include determining the minimum Y dimension value of the points determining the segment and the appropriate Y limit (lower limit) and initially setting Y to that value. Defining may also include determining the maximum of the Y dimension values of the points of the segment and the appropriate Y (upper) limit and means for setting the Column Scan Terminate Limit based on that value (value +1) , and may include computing the difference between Y and the Y dimension value of each point to identify each specific address in a group of addresses associated with the defined line segment.
This invention also features a high resolution curve drawing method for a digitally generated T.V. type pixel matrix display including identifying a plurality of sequential points on a curve to be displayed and defining the line segment established between each pair of sequential points from the distance between the sequential points. The method also includes determining the portion of each pixel intercepted by each line segment and the consequent intensity contribution of that pixel to effect a visually pleasing representation of the line segment, including generating a number of addresses representing the pixels intercepted by the line segment from the distance between the points, and reading out from a storage table the proportional intensities of each such pixel associated with the line segment.
DISCLOSURE OF PREFERRED EMBODIMENT
Other objects, features and advantages will occur to those skilled in the art from the following description of a preferred embodiment and the accompanying drawings, in which:
Fig. 1 is a schematic diagram of a curve drawn according to this invention on a digital T.V. type pixel matrix display;
Figs. 2, 3 and 4 are a block diagram illustrating the sequence of operations of the system according to this invention;
Fig. 5 is an exploded view of a portion of the curve of Fig. 1; Fig. 6 is a schematic view illustrating the classification by orientation and extent of a line segment; and
Figs. 7A and B together depict a schematic block diagram of an antialias curve drawing engine according to this invention.
In the high resolution curve drawing technique of this invention each dot and connecting segment is located to a resolution considerably exceeding that of the display matrix (i.e., x8 (3 additional bits) or perhaps xl6 (4 additional bits)) . The projection of the model on the pixel array is used to control the displayed intensity (rounded off to a fixed number of values and as modified by the phosphor/eye sensitivity characteristic embodied in the standard intensity GAMMA correction) .
Utilizing and projecting such a complex model would seem to require some very complex computation. However, because of the very specific curve definition geometry, much of the complex computation can be embedded in firmware according to this invention and addressed via look-up. A relatively simple engine is described that implements this process. The engine described can be utilized to generate pixel maps for superimposed families of curves in the same or different colors, can clip curves and can also erase sections of curves. An alternate use of the algorithm can generate intensity values on the fly utilizing the look-up.
The described curve drawing engine operates to obtain intensity values sequentially for a column of pixels starting from the bottom: it may, alternatively, start from the top or work horizontally rather than vertically. The contribution to a column results from the value of the variable in that column and the value of the variable in the preceding and the succeeding columns. The engine operates on pairs of values (i.e., preceding point-and-point and point-and-succeeding-point) and the results of the two point pair operations in each pixel are combined preferably by summing or a suitable algorithm.
In one of many possible look-up based engines according to this invention, an ordinate point is represented by an integral value (in display resolution elements) and a fractional value. The point pair line segment may be characterized for look-up by two fractional values (one for each of the two points) and the signed difference between the point pair integral values. The line segment is placed beginning at. the integral value of the first point. The integral value difference may be limited to a maximum for look-up. The look-up contains a central value which is repeated as many times as required to fill in the center of the line between the tabulated entries. The line segment is drawn between the lowest integral value of the two points and the highest integral value of the two points, plus one.
In a typical application, 17 bits may address a look-up, namely 3 bits for the fractional value of each of the two points (.6 bits total) , 6 bits for the signed integral value difference (limited) , and 5 bits for the pixel address selector. A bit may be saved by eliminating the integral value difference sign and appropriately arithmetically modifying the other bits for one polarity. Alternatively, other bit selections may be made. Associated with the look-up are an arithmetic element and associated circuitry functions to drive and utilize the looked up data.
There is shown in Fig. 1 a display device 10 formed from a plurality of pixels on which a curve 14 is created according to this invention. The numbers from 0-19 in ascending order along the right-hand edge of display 10 are the ordinate or Y locations of the pixels, while the numbers extending from 0-15 and beyond along the top edge of display 10 represent the abscissa or X positions of the pixel. Curve 14 has been drawn from the right to the left, although it may just as well have been drawn from the opposite direction. Column scanning begins at the bottom as shown by the scan path 16, and moves upwardly. Curve 14 is created by interconnecting points 18 with line segments 20 according to this invention.
The start for drawing curve 14 begins with the initial setup routine 30, Fig. 2. The mode is set, e.g., draw or erase, and the curve group is chosen in step 32. Then the Y upper limit and the Y lower limits are set in steps 34 and 36. The Y lower limit is shown at level 2 in Fig. 1, and the Y upper limit, set at one pixel unit above the highest point, is set at level 13.5. The curve setup routine 40 begins with setting the initial X and final X values in steps 42 and 44. These can be seen in Fig. 1 as having been set at levels 1 and 9. Then the points are entered. Since this is the start of the drawing of the curve, the first point is entered in both the A register and the B register as indicated in step 46. Thus the first point is actually point B, Fig. 1, and it is also made to function as point A at the same Y level but virtually off the screen in the X dimension. The second point is then loaded into the point C register in step 48. Next, in step 50, the integer distances IA, IB, IC, and the fractional distances FA FB and Fc between the points A, B and C are stored.
Distances are calculated as shown in Fig. 5, where an exploded view of the section of the screen between point B and point C has been depicted. Point C can be seen to be two full pixels plus 6/8 of a pixel from point B. The total distance between them, then, is 2 6/8. Each of the pixels has been further divided into eight parts, although it may as well be four, sixteen or any other suitable number, thereby increasing the resolution by that factor. The column computation begins with the calculation in step 60, Fig. 3, of the integral difference between point B (PTB) and point A (PTA) (IB - IA) , and PTB and PTC (Iβ-Ic) • Following this the Line Segment Definition (LSD) , step 62, is constructed for points A and B. LSDA = Iβ-lA, FB, FA, and LSDB = Iβ-Ic, Fβ, Fc. The minimum of IA, IB, Ie and Y lower limit is then calculated, and Y is set to that value in step 64. In step 66 the maximum of IA+1/ lB+1, IC+1 and Y upper limit is determined, and this value is established for the Column Scan Terminate Limit (CSTL) . The values Y-lA/ Y-IB, Y-IC are then computed, step 68, and encoded as a region defined with 2 bits, and 4 more bits for a table lookup using a PAL.
The X,Y address is then used to read the refresh memory pixel in step 70, Fig. 4. After this, the values of Y-Iβ, Y-lA, and Y-Iβ, Y-Ic are used to obtain the scan address (SA) of A and C, namely SAA and SAC, in step 72. The scan address and the line segment definitions are employed in step 74 to obtain the pixel intensity contribution. For SAA this is defined as LSDA, which calls PIA, the pixel intensity for A. For scan address C, SAC, this will be reached through line segment definition C, LSDC, which calls PIC, the pixel intensity for point C. The two pixel intensities, PIA and PIC, and the Y and X pixel intensity, are used in step 76 to obtain the desired pixel contents, which are then written in step 78. If at this point the column scan terminate limit, CSTL, indicates a termination, step 79, the system jumps to the prestart column computation in Fig. 2. If there is no termination called for, step 81, Y is incremented along with Y-lA, Y-Iβ, Y-Ic step 83, and the system returns to repeat the scan operation beginning in step 70. If a terminate was called for, then the prestart column computation begins with the incrementing of X in step 80. If the incremented X is greater than the final X, as determined in step 82, then the routine is finished. If the incremented X is not greater, a new point is obtained in step 84 for point C. Then the old point C becomes new point B in step 86, and the old point B becomes a new point A in step 88, and the system once again moves on to the start column computation beginning with step 60.
The regional address referred to in step 68, Fig. 3, is created by the framework depicted in Fig. 6, where two points under consideration, A and B, each have their extents broken into Region 0A, Region 1A, Region 21A, Region 2A, Region 3A, Region 0β, Region lβ, Region 2iβ, Region 2β and Region 3β- The maximum positive slope occurs for a line segment 20a when points A and B in Fig. 6 are spaced 31 pixels apart. Each pixel is fractionally divided into eight more parts as indicated variously at areas 90 and 92. The regional addresses are shown in column 100. In region 2iβ the regional addresses are always 17 and 16. In region lβ, the regional addresses are 18-31. There is a gap at 102 which contains the number 18. As PTB goes higher, this gap widens and fills with more 18's. As PTB moves downward, the gap disappears, then numbers 15 and below disappear, and then numbers 18 and above disappear.
The select algorithm for obtaining the regional address can be seen from the following chart.
SELECT ALGORITHM
0A»0B ) (also output 0 after last point
OA-lβ or 1A,0B } : Output 0 i.e. (2A+3A) (2β+3β) .2iA/.2iβ/) lA-lβ } 2A-0B or 0A-2β : Select with Region 2 LSB's (0-15) & output
3A.0B or 0A,3B : Select 18 & output
(2A+3A) .1B or lA. (2β+3β) : Select 16 + Region 1 LSB's (18-31)
& output (2A+3A) • 2iβ or 2iA. (2β+3β) : Select 16 or 17
17 = 2iA.LSBA.2iB/. (2β+3β) 2iB.LSBB.2iA/. (2A+3A)
Figure imgf000015_0001
One implementation of the antialias curve drawing engine which embodies the high resolution curve drawing system and method of this invention is shown in Fig. 7A and B. For each column, a new point is introduced into pipeline register 200 so that three (3) adjacent points are available. The new point may be drawn from a FIFO or data bus 202 holding successive points of a curve. The smallest of the three points in register 200 and the lower clipping limit in register 204 becomes the starting point, setting the address counter 206. If the address counter exceeds the upper clipping limit, the process is over before it starts. The difference between the newest point and the next point's integral value is calculated in summer 208. The previous integral difference is transmitted through MUX 201 and is saved and shifted in the integral difference control registers 210, 212 (and sign inverted in some schemes sharing table hardware) so that both difference values are available. Thus, an integral difference value and two fractional values (from fractional registers 203, 205, 207) are available for each of two point pairs defining a column. It may be desirable to have differences in "sign plus absolute value" format to simplify inversion of sign.
The difference between each point integral value and the address counter is taken in summer 208. These differences are processed in encoder 209 and over line 21^ to logic network 216 to generate the pixel address select for each of the two look-ups. One such address means is described in Fig. 6. This requires encoding the difference into regions in encoder 209 and using the region information of two points (2 bits each) and the LSB's (4 LSB) of the points to determine the pixel address select. This may be done using PAL's 218, 220 with latches 222, 224, 226. An output zero bit may also be generated. The select addresses from PAL's 218, 220 are used in conjunction with the fractional value bits from registers 203, 205, 207 and integral difference bits from registers 210, 212 to obtain intensity values. An implementation of this utilizes two separate channels and two 64 X 8 lookups 228, 230 with a multiplexer, MUX'S 232, 234. Obviously, the two channels can be replaced by a time-shared single channel with appropriate processing.
After determining the two column intensity values, they are summed, quantized, and coded in PROM 236 preparatory to storage. PROM 236 also receives signals from control state machine 233 and register 235. The coding will depend on the curve color (contained in "output mode") . The value stored may depend on the value previously stored available from register 242 for that pixel, which would be read out (for curve superposition) . The value may require gamma correct processing, though a preferable implementation applies non-linear gamma corrector processing in association with the display digital to analog converter, thus allowing more efficient use of storage bits. All the above operations can be combined and done via look-up in the PROM. After the intensity value is determined, it is loaded into a display memory (not shown) into an address determined by the line address counter 206 at latch 237 and the column address 238. The process is repeated for the column until the address counter equals the largest of the three points plus one, or the clipping upper limit represented in register 240 (column scan terminate limit) . When that occurs, a new point is introduced and operation on a new column is started. Of course, this can only occur if a new point is available.
Normally, the column address counter would be incremented. Also, the column address counter may be compared to an end column limit (or an alternate process termination mechanism) to determine when to end the operation. After the operation is completed, it may interrupt its host computer, which could then set it up for another curve. One possible curve display system would use a 4 bit plane to display two sets of antialiased curves (one color/set) and overlay text in a third color. The sixteen states would be divided as follows:
1 state = background
7 states = intensity values curve set 1; color a
7 states = intensity values curve set 2; color b
1 state = overlay graphics; color c The process described would improve the apparent display vertical resolution by a factor related to the number of intensity states per color, the resolution used in the calculation, the viewing distance, and the properties of the display. Ideally, under certain conditions it would appear to be the actual resolution divided by the number of states per color.
Although specific features of the invention are shown in some drawings and not others, this is for convenience only as each feature may be combined with any or all of the other features in accordance with the invention.
Other embodiments will occur to those skilled in the art and are within the following claims: What is claimed is:

Claims

1. A high resolution curve drawing system for a digitally generated TV type pixel matrix display comprising: means for identifying a plurality of sequential points on a curve to be displayed; means responsive to the distance between sequential points and fractional distance between the points and the pixel matrix for defining the line segment established between each pair of sequential points; an antialiasing curve drawing engine, responsive to the distance between sequential points and the fractional distance between the points and the pixel matrix, for determining the portion of each pixel intercepted by each line segment and the consequent intensity contribution to effect a visually pleasing representation of the line segment.
2. The high resolution curve drawing system of claim 1 in which said antialiasing curve drawing engine includes means for identifying each pixel intercepted by the curve, and means for ascertaining the portion of each intercepted pixel contributing to the intercepting line segment to establish an intensity for each such pixel proportional to the portion intercepted.
3. The high resolution curve drawing system of claim 2 in which said means for ascertaining includes means, responsive to the distance between points and the fractional distance between points and the pixel matrix, for generating a group of addresses representing the intercepted pixels and means for reading out from a storage table the proportional intensities of each such pixel associated with the defined line segment.
4. The high resolution curve drawing system of claim 1 in which said means for identifying identifies three sequential points.
5. The high resolution curve drawing system of claim 1 in which said means for identifying identifies two sequential points.
6. The high resolution curve drawing system of claim 1 in which said means for defining includes means for setting the Y dimension upper and lower limit.
7. The high resolution curve drawing system of claim 1 in which said means for defining includes means for setting the initial and final X dimension of the curve to be drawn.
8. The high resolution curve drawing system of claim 1 in which said means for defining includes means for determining the integral difference between each pair of adjacent points.
9. The high resolution curve drawing system of claim 1 in which said means for defining includes means for setting up a Line Segment Definition for each line defined by the integral distance between each pair of points and the -fractional distance between each point and the pixel matrix.
10. The high resolution curve drawing system of claim 1 in which said means for defining includes means for determining the starting Y dimension value for each segment based on the sequential point values and the applicable Y curve limit, and setting Y to that value.
11. The high resolution curve drawing system of claim 1 in which said means for defining includes means for determining the terminating Y dimensional value for each line segment based on the sequential point value and the applicable Y curve limit, and setting Y to that value.
12. The high resolution curve drawing system of claim 3 in. which said means for generating includes means for computing the difference between the current Y value and the Y dimension value of each point to identify each specific address in said group of addresses.
13. A high resolution curve drawing system for a digitally generated T.V. type pixel matrix display comprising: means for identifying a plurality of sequential points in a curve to be displayed; means, responsive to the distance between sequential points, for defining the line segment established between each pair of sequential points; and an antialiasing curve drawing engine, responsive to the distance between sequential points, for determining the portion of each pixel intercepted by each line segment and the consequent intensity contribution to effect a visually pleasing representation of the line segment, said engine including means, responsive to the distance between points, for generating a number of addresses representing the pixels intercepted by the line segment, and means for reading out from a storage table the proportional intensities of each such pixel associated with the line segment.
14. A high resolution curve drawing method for a digitally generated T.V. type pixel matrix display comprising: identifying a plurality of sequential points on a curve to be displayed; defining the line segment established between each pair of sequential points from the distance between sequential points and the fractional distance between the points and the pixel matrix; determining the portion of each pixel intercepted by each line segment and the consequent intensity contribution to effect a visually pleasing representation of the line segment from the distance between sequential points and the fractional distance between the points and the pixel matrix.
15. The high resolution curve drawing method of claim 14 in which determining the portion of each pixel intercepted includes identifying each pixel intercepted by the curve, and ascertaining the portion of each intercepted pixel contributing to the intercepting line segment to establish an intensity for each such pixel proportional to the portion intercepted.
16. The high resolution curve drawing method of claim 15 in which ascertaining includes generating a number of addresses representing the intercepted pixels from the distance between the points and the fractional distance between the points and pixel matrix, and reading out from a storage table the proportional intensities of each such pixel associated with the defined line segment.
17. The high resolution curve drawing method of claim 14 in which identifying a plurality of sequential points includes identifying three points.
18. The high resolution curve drawing method of claim 14 in which identifying a plurality of sequential points includes identifying two points.
19. The high resolution curve drawing method of claim 14 in which defining the line segment includes setting the Y dimension upper and lower limit.
20. The high resolution curve drawing method of claim 14 in which defining the line segment includes setting the initial and final X dimension of the curve to be drawn.
21. The high resolution curve drawing method of claim 14 in which defining the line segment includes determining the integral difference between each pair of adjacent points.
22. The high resolution curve drawing method of claim 14 in which defining the line segment includes setting up a Line Segment Definition for each line defined by the integral distance between each pair of points and the fractional distance between each point and the pixel matrix.
23. The high resolution curve drawing system of claim 14 in which said means for defining includes means for determining the starting Y dimension value for each segment based on the sequential point values and the applicable Y curve limit, and setting Y to that value.
24. The high resolution curve drawing system of claim 14 in which said means for defining includes means for determining the terminating Y dimensional value for each line segment based on the sequential point value and the applicable Y curve limit, and setting Y to that value.
25. The high resolution curve drawing method of claim 23 in which defining the line segment includes computing the difference between the current Y value and the Y dimension value of each point to identify each specific address in said number of addresses.
26. A high resolution curve drawing method for a digitally generated T.V. type pixel matrix display comprises: identifying a plurality of sequential points on a curve to be digitized; defining the line segment established between each pair of sequential points from the distance between the sequential points; and determining the portion of each pixel intercepted by each line segment and the consequent intensity contribution of that pixel to effect a visually pleasing representation of the line segment, including generating a number of addresses representing the pixels intercepted by the line segment from the distance between the points, and reading out from a storage table the proportional intensities of each such pixel associated with the line segment.
PCT/US1992/008933 1992-02-07 1992-10-20 High resolution curve drawing system and method WO1993016461A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83345992A 1992-02-07 1992-02-07
US833,459 1992-02-07

Publications (1)

Publication Number Publication Date
WO1993016461A1 true WO1993016461A1 (en) 1993-08-19

Family

ID=25264480

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1992/008933 WO1993016461A1 (en) 1992-02-07 1992-10-20 High resolution curve drawing system and method

Country Status (1)

Country Link
WO (1) WO1993016461A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060172A (en) * 1989-07-06 1991-10-22 Digital Equipment Corporation Method and apparatus for displaying smooth-shaded objects

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060172A (en) * 1989-07-06 1991-10-22 Digital Equipment Corporation Method and apparatus for displaying smooth-shaded objects

Similar Documents

Publication Publication Date Title
US5684510A (en) Method of font rendering employing grayscale processing of grid fitted fonts
US6339426B1 (en) Methods, apparatus and data structures for overscaling or oversampling character feature information in a system for rendering text on horizontally striped displays
EP1576797B1 (en) Methods and apparatus for filtering and caching data representing images
US5164717A (en) Method and apparatus for the dithering of antialiased vectors
EP0681280B1 (en) Vertical filtering method for raster scanner display
US5400053A (en) Method and apparatus for improved color to monochrome conversion
US5553165A (en) Parallel error diffusion method and apparatus
US5179641A (en) Rendering shaded areas with boundary-localized pseudo-random noise
US6226012B1 (en) Method and apparatus for accelerating the rendering of graphical images
EP0243644B1 (en) Interpolated display characteristic value generation
EP0786757A1 (en) Adjusting contrast in antialiasing
US5201030A (en) Method and apparatus for dithering graphic images
US6437793B1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
EP1174855A2 (en) Display method by using sub-pixels
US5264840A (en) Method and apparatus for vector aligned dithering
JP2615625B2 (en) Image processing device
US6788306B2 (en) Display apparatus displaying pseudo gray levels and method for displaying the same
KR20050121923A (en) Plasma display device and method for displaying pictures on plasma display device
US4952921A (en) Graphic dot flare apparatus
WO1993016461A1 (en) High resolution curve drawing system and method
JP3690860B2 (en) Image processing device
EP0568360B1 (en) Graphics system using quadratic polynomial fragments
US20020167530A1 (en) Anti-alias font generator
WO2004015978A2 (en) Anti-contouring display correction
JP3642580B2 (en) Dot matrix display system and display data conversion method in this system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP UA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase