WO2004104929A2 - Texture based method and system for the anti-aliasing of lines and characters - Google Patents

Texture based method and system for the anti-aliasing of lines and characters Download PDF

Info

Publication number
WO2004104929A2
WO2004104929A2 PCT/US2004/016241 US2004016241W WO2004104929A2 WO 2004104929 A2 WO2004104929 A2 WO 2004104929A2 US 2004016241 W US2004016241 W US 2004016241W WO 2004104929 A2 WO2004104929 A2 WO 2004104929A2
Authority
WO
WIPO (PCT)
Prior art keywords
line
texture map
texture
intensity
texel
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.)
Ceased
Application number
PCT/US2004/016241
Other languages
English (en)
French (fr)
Other versions
WO2004104929A3 (en
Inventor
William R. Hancock
Neal P. Countryman
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.)
Honeywell International Inc
Original Assignee
Honeywell International 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 Honeywell International Inc filed Critical Honeywell International Inc
Priority to JP2006533344A priority Critical patent/JP4717000B2/ja
Publication of WO2004104929A2 publication Critical patent/WO2004104929A2/en
Publication of WO2004104929A3 publication Critical patent/WO2004104929A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/04Structural and physical details of display devices
    • G09G2300/0439Pixel structures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3607Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals for displaying colours or for displaying grey scales with a specific pixel layout, e.g. using sub-pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed

Definitions

  • This invention relates to the field of computer generated graphics and, more particularly, to a texture based method and system for the anti-aliasing of lines and characters.
  • these feedback devices are display monitors and can be implemented using cathode ray tube (CRT) displays, LCD displays, plasma displays and the like.
  • CTR cathode ray tube
  • LCD displays LCD displays
  • plasma displays and the like.
  • the images for these displays were typically generated by proprietary graphic processing units running proprietary image generation software.
  • COTS commercial off the shelf
  • GPUs graphic processing units
  • a drawback of the COTS GPUs is that the COTS GPUs produce less esthetically pleasing lines as compared to previous proprietary systems. This is because the COTS GPUs typically produce a line on a display screen by using a percent coverage calculation. That is, the center of the line is drawn at 100% intensity. On either side of the center of the line, the line is drawn at a lower intensity based on the percentage coverage of each outlying pixel, the intensity decreasing at some percent of intensity, such as 50% intensity. This continues the entire length of the line. The result is lines with relatively coarse anti-aliasing. What is needed is a better method and system for the anti-aliasing of lines and characters.
  • a method for displaying non-aliased lines on a graphical display comprises the steps of generating a texture map based on a symmetrical distribution, using a portion of the texture map to form part of the line and using the entire texture map to form the endpoints of the line.
  • the method further comprises the step of generating a texture map comprising a series of concentric half circles.
  • the concentric half circles represent a decreasing intensity as the size of the radius of the concentric half circle increases. Additionally, in one embodiment, the intensity represented by the half circles decreases according to a Gaussian distribution.
  • a method for generating anti-aliased lines and characters comprises generating a texture map based on a distribution; and applying the texture map to a polygonal region.
  • the step of generating a texture map based on a distribution further comprises generating a texture map comprising a series of concentric half circles.
  • the concentric half circles represent decreasing intensity as the radius of the concentric half circle increases.
  • the texture map based is generated using a Gaussian distribution.
  • the smallest distance between a texel and each line segment that forms a character is calculated.
  • the smallest distance is used to determine an intensity value using the intensity for that distance as determined from a symmetrical distribution.
  • the texel associated with the intensity value is used to form a texture map.
  • a halo value for each texel value can be determined by using the smallest distance found in conjunction with a second distribution to determine a halo value for each texel. This method can be repeated for each character to be displayed.
  • FIG. 1 is a block diagram illustrating a exemplary graphic system for use with the present invention
  • FIG- 2a and FIG. 2b are flowcharts of an exemplary method to produce textures and then use that texture to draw lines in accordance with the teachings of the present invention
  • FIGs. 3a-3b illustrate exemplary Gaussian distributions
  • FIG. 4 illustrates an exemplary texture map for generating anti-aliased lines
  • FIG. 5a and FIG. 5b illustrates exemplary line formed in accordance with the teachings of the present invention
  • FIG. 6 illustrates an alternative exemplary line formed in accordance with the teachings of the present invention
  • FIG. 7 illustrates an alternative embodiment of the distribution for use in the present invention
  • FIG. 8 illustrates a character map for use in generating a line
  • FIG. 9a and 9b illustrates distributions for luminance and intensity in accordance with the teachings of the present invention.
  • FIG. 10 illustrates an exemplary character texture map.
  • a method for drawing lines on a display that does not have aliasing artifacts is provided.
  • a texture map comprising a series of concentric half circles is generated for each line width.
  • the texture map is then mapped to the line. In this fashion, the intensity of the line will decrease from the center of the line outwards, following the symmetrical distribution.
  • straight lines are to be displayed on a display 102 of display system 100.
  • Display system 100 can be used in any environment where graphical and/or textual information needs to be displayed to a user or operator.
  • display system 100 is used in an aircraft and display 102 displays flight information such as a graphical representation of the attitude of the aircraft.
  • a straight horizontal line can represent a level aircraft, while a slanted line can represent a banking aircraft.
  • Display system 100 also includes a central processing unit 104, coupled to a memory arbitrator such as a Northbridge interface 106 that couples to a main memory 108 and a graphical processing unit 109.
  • Graphical processing unit 109 couples to the display 102 via a frame buffer 110.
  • Central processing unit (CPU) 104 receives data from various subsystems, such as altitude sensors in an aircraft embodiment, and, among other tasks, prepares the data for presentation to the graphical processing unit.
  • Suitable CPUs 104 are well known in the art and available commercially from manufacturers such as Intel Corporation of San Jose, California.
  • Main memory 108 stores data and computer programs needed by and to be executed on CPU 104 and graphical processing unit 109.
  • Main memory 108 can be implanted in any standard manner, such as random access memory (RAM), read only memory (ROM), flash memory, and the like. It is well known in the art that various memory components can be mixed and matched and final design choice is readily made by one of skill in the art. Memory is available from commercial suppliers, such as Micron of Boise, Idaho.
  • Graphical processing unit 109 receives data to be displayed from the CPU 104 and generates the commands used to drive display 102. Graphical processing unit 109 executes software routines stored in main memory 108 to generate the commands to drive display 102.
  • CPU 104 and main memory 108 couple to the CPU 109 via a memory arbitrator such as the Northbridge interface 106. Northbridge interface 106 provides an interface between CPU 104, main memory 108 and the GPU 109 (via an advance graphic port or similar graphic port).
  • graphical processing unit 109 receives data from a texture memory 111 in the form of texture maps to perform texture mapping to form lines and characters as will be discussed in greater detail below.
  • GPUs 109 are commercially available and manufactured by many companies including NVIDIA of Santa Clara, California.
  • Northbridge interfaces 106 are known in the art and available from manufacturers such as Intel Corporation of San Jose, California.
  • Texture memory 111 can be any type of memory capable of storing texture mappings such as RAM, flash memory, and the like.
  • texture mapping is used to draw lines such that line edges gradually transition from bright to dark across multiple outlying pixels.
  • FIGs. 2a-2b are flowcharts illustrating one embodiment of a metliod to generate anti-aliased lines in accordance with the teachings of the present invention.
  • the process involves two stages. The first stage initializes the texture memory for each line width required by the system as seen in FIG. 2a. The second stage then draws individual lines based on the repertoire of line widths available as seen in FIG. 2b.
  • step 202 the number of lines that can be displayed on the display is selected.
  • line widths 16 mils, 19 mils, 28 mils, and 42 mils may be used. These widths are used for exemplary purposes only; any line width or series of line widths can be chosen. Typically, the thicknesses are chosen when designing the information that will be displayed.
  • a texture width for the texture map is calculated from the line width.
  • the texture width is equal to the next power of two above the line width. For example, if the line width is 0.02 inches then the texture width is at least 0.02 inches.
  • the texture width is the vertical axis (s-axis) of the texture map.
  • the texture length is twice the texture width and is the horizontal axis (t-axis). Thus, the horizontal axis (t-axis) will be twice as large as the vertical axis (s-axis).
  • a space in the texture memory the size of the texture width by twice the texture width is allocated (step 206).
  • each texture map comprises a series of concentric half circles with each half circle representing a decreasing intensity; the intensity decreasing as the radius of the half circle is increasing.
  • the decrease in intensity follows a symmetric distribution curve.
  • the distribution curve typically is drawn such that the half intensity point is reached at a distance that correlates to one half the line width.
  • intensity decreases in accordance with a Gaussian distribution, although other symmetrical distribution curves can be used.
  • a Gaussian curve 302 is shown. The Gaussian curve is generated by the formula:
  • e is the transcendental number 2.71828...
  • is the transcendental number 3.14159...
  • is the location parameter
  • is the scale parameter (in statistics, ⁇ is called the mean and ⁇ is called the standard deviation).
  • Gaussian curve 302 As seen in FIG. 3a, the largest value, A, which represents the greatest intensity, is at the center of the distribution. The intensity falls off on either side of the central value A.
  • the Gaussian curve 302, in the present invention, can be used to model a desired appearance for a line. The center of the line will be the most intense part of the line and the intensity of the line, on either side of the center part, will decrease in accordance with a gaussian distribution. The smooth, symmetrical fall off of the Gaussian curve allows for smooth fallout in the appearance of the line, eliminating aliasing effects.
  • the Gaussian curve 302 as seen in FIG. 3 a is used for a 16 mil line.
  • a 16 mil line there is the equivalent of 16 mil of separation in the texture map space between the fifty percent points, that is, the point where the f(x) value is half its maximum value as illustrated by point B and point C on Gaussian curve 302.
  • FIG. 3b illustrates a Gaussian curve 304 for a 19 mil line.
  • Gaussian curve 304 has the equivalent of 19 mil of separation between the fifty percent points. This is illustrated on Gaussian curve 304 in FIG. 3b, where there is the equivalent of 19 mils of separation between point D and point E on Gaussian curve 304, where point D and point E are the fifty percent points.
  • FIG. 4 illustrates a texture map 402 generated for a 16 mil line using a Gaussian distribution.
  • texture map 402 comprises a series of concentric half circles with each half circle representing a certain intensity. The larger the radius of the half circle, the lower the intensity the half circle represents. As discussed previously, in one embodiment, the intensity falls off based on a Gaussian distribution.
  • the exemplary texture map 402 is based on the Gaussian distribution shown in FIG. 3 a.
  • a first curve 404 represents a certain intensity. For example, in an embodiment where FF hex represents the highest intensity and 0 hex represents the lowest intensity, first curve 404 may have an intensity of 80 hex.
  • a second curve 406 having a large radius can represent an intensity of 40 hex.
  • the points between these two curves uniformly transition between the two values. Therefore, as the radius of the semis circle increases, the intensity value that semicircle represents decreases.
  • the different texture maps are stored in texture memory 111, in step 210.
  • the semicircles are drawn within a semicircle having a radius of the line width.
  • the horizontal axis is the t-axis and the vertical axis is the s-axis.
  • the texture map 402 can be used to generate anti-aliased lines.
  • the line width and the endpoints of the line to be calculated are given in step 232.
  • texture mapping is enabled and the appropriate line texture for the line size is selected (step 234).
  • the texture width for the given texture is received.
  • lines can be drawn with two endpoints that are rounded, with one.endpoint that is rounded or with no endpoints that are rounded endpoints. Rounded endpoints to a line tend to make lines look more even and have anti-aliased edges but are also somewhat more complex to draw.
  • step 236 the choice between using two rounded or a single/non-rounded ends for the line is made.
  • non-rounded ends are used, only the bottom row of the texture map is mapped to form a line.
  • the bottom row of the texture map is shown as box 408 of FIG. 4 and extends one texel in the s axis and across the entire t axis (a texel is the texture space equivalent of a pixel).
  • FIG. 5a an exemplary line 502 having the texture map applied is illustrated. The line will be drawn from endpoints (XI, Yl) to (X2, Y2).
  • the line is drawn by forming a rectangle which longitudinally bisects the center of the line between (XI, Yl) and (X2,Y2).
  • the corner coordinates of that rectangle are specified in FIG. 5a in the form of X,Y,S,T, where X and Y are the Cartesian coordinates of the corners of the line in the display space and S and T are the Cartesian coordinates of the texture map as applied to the line 502.
  • the center of the line will be at full intensity and the pixels at half the line width from the center will be at half intensity.
  • the S and T coordinates of each pixel within the rectangular area are calculated to be at the same relative offset within the rectangle in both X, Y and S, T (step 238). However, because the S coordinates are the same at both ends of the rectangle, all pixels will have the same S value (the S value does not change).
  • the T coordinate meanwhile, will transition from 0 to 1 along the width of the line 502.
  • the center of the texture map 402 is mapped to the center 501 of the line 502 and the ends of the texture map 402, where the intensity approaches or is at zero intensity, maps to the ends of the width of the line 502 (step 240).
  • the exact process used to perform a texture map is well known in the art. For example, texture mapping is generally discussed in Introduction to Computer Graphics, by J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes, and R.L. Philips, Addison- Wesley, 1994. This text is hereby incorporated by reference. It is preferable to use oversampling to produce the lines. Oversampling uses multiple texels to map to each pixel. In one embodiment, a four by four array of texels are mapped to each pixel in the display space, for 16 times oversampling. Other levels of oversampling can be used or no oversampling can be used.
  • a line that has a single rounded edge can also be drawn with a single textured rectangle.
  • the rectangle is again bisected by the center line but is extended on one edge to enclose the rounded edge as seen in FIG. 5b.
  • the T coordinates work the same as described for the non-rounded case. Note that the other end (X2,Y2) can be rounded simply by switching the two coordinates (draw from X2,Y2 to XI, Yl).
  • line 602 can be comprised of two quadrilaterals as shown in FIG. 6.
  • the simplest method to draw line 602 is to bisect the line and draw two equal sized rectangles (such as the two quadrilaterals).
  • the exemplary method works if the line 602 is divided at any one point along the length of the line 602. For example, the full line can be drawn with a single endcap as described above, and then a second rectangle then can be drawn to just render the second endcap.
  • the advantage of bisecting the line and using two equal quadrilaterals is that the S and T coordinates are the same for both rectangles, which enables a single triangle mesh to render both rectangles.
  • the portion of texture map 402 comprising the first row of the texture map 402 is mapped from the midpoint, labeled Nmi ⁇ , in FIG. 6, to the point of the line labeled 1.
  • the entire texture map is used to draw the end of the line. Since the texture map is a series of concentric half circles representing decreasing intensity, the end of the lines will appear as a semicircle with decreasing intensity.
  • the distance from the center 603 of the line 602 to the half intensity point 605 of the line 602 is half the line width.
  • the half point intensity point 605 of line 602 is where the intensity of the line is half the maximum intensity. It is not the total width of line 602, which continues past the half intensity point 605 with further decreasing intensity.
  • the texture map 402 is applied, the point at the middle of the texture map 402 to a point representing the half intensity point of the texture map 402 is mapped from the center of the line to half intensity point 605 of the line.
  • the width of the line 602 from center 603 to the half intensity point 605 for an exemplary 16 mil line on a fifteen inch screen set at a 1024 by 768 resolution is approximately 1.35 pixels.
  • the texture map comprises concentric half circles, at the midpoint of the line when the whole texture is mapped to the line, which distance from the center 603 to the half intensity point 605 is a radius of a semicircle that extends to fifty percent intensity of the tip of the rounded portion of the end of the line.
  • the above method to draw a rounded endpoint to a line is for exemplary purposes only and any method to draw a line using the texture mapping as disclosed in the present invention may be used.
  • the texture mapping can be done in any of several well known texture mapping procedures using oversampling techniques when needed. While the above method forms lines that are useable, as the line widths increase, it is often desirable to enhance the intensity of the line before having the intensity drop off according to a symmetrical distribution. As seen in FIG. 7, a modified distribution curve 702 having a plateau region 704 is illustrated. The modified distribution curve 702 can be used to generate a texture map for use in generating a line.
  • the distribution curve 702 is for a 19 mil line and the plateau region 704 is 3 mil across.
  • This modified distribution curve 702 will produce a line with a 3 mil full intensity center, followed by a fall off in intensity in accordance with the rest of the modified distribution curve 702.
  • This example results in a line width of 22 mils but with more brightness and sharpness than a line drawn with a 22 mil profile.
  • Full intensity in one embodiment, is a full white line. If the full white line is to be drawn on a white display, the line would be invisible (this of course, is true for any time the same color line is drawn on the same color display screen).
  • a halo is first drawn followed by the actual line.
  • a halo is a region of similar shape to the line to be drawn with a larger line width that is drawn in a contrasting color to the line (a black halo for a white line, for example).
  • the halo can also be drawn via the method of the present invention.
  • Each line width can have an associated halo width and each halo has an associated texture map.
  • the line can be generated which will appear as a white line in a black cutout.
  • the process then is to write a black line to cut a hole into the bright background and then write the white line (with a narrower line width) into that hole.
  • the method to draw an anti-aliased line in accordance with the teachings of the present invention can, of course, be used to draw connected lines.
  • the method of the present invention can be used to draw any arbitrary "stick" type figure of any level of complexity.
  • lines can be connected to form alpha numeric characters and symbols.
  • One disadvantage of using connected lines to form alpha-numeric characters is that the characters formed can have a "match stick” like appearance where an endcap overlaps the next line area, resulting in extra brightness at the intersection.
  • Another method for forming anti-aliased characters is illustrated in FIGs. 8-10. The method computes a texture map corresponding to each character to be displayed.
  • the character is drawn on a character map (800) as a series of line segments only, as seen in FIG. 8.
  • the letter X 801 is represented by a first line segment 802 and a second line segment 804.
  • a distance can be calculated from that texel to each line segment in the character.
  • the smallest distance between a texel and a line segment is used in conjunction with a distribution, such as a Gaussian distribution, to determine an intensity value for that texel. If the distance from a texel to a line pair is equal, than either line could be associated with the texel. The intensity would be found as before.
  • the intensity is recorded for each texel.
  • point A of FIG. 8 (corresponding to point (t l5 s- . )) is a distance x- . from line segment 802 and a distance x 2 from a line segment 804.
  • the distance Xi . is less than the distance x . Therefore, the distance Xi . will be used to determine the intensity value to be assigned to the texel.
  • the intensity value to be assigned to the texel is found by using a reference distribution such as the Gaussian distribution of FIG. 9.
  • FIG. 9a illustrates an exemplary Gaussian intensity distribution curve 902 for intensity versus distance from a line.
  • all points lying on the line segments that make up the character will be at a full intensity.
  • the distance between the texel and the line was xi. This distance xj . is located on the x-axis of the intensity distribution curve 902 of FIG. 9a. Reading across finds that for that location the intensity is Ij . . The texel of the texture map will be assigned this value.
  • FIG. 10 An exemplary character texture map (1000) is shown in FIG. 10.
  • the character 1002 has a full intensity central line with a decreasing intensity on either side of the center line, shown as the dotted outline 1004, similar to the lines described in FIGs. 1-7.
  • the point (ti, sj . ) of FIG. 8 is labeled on FIG. 10 as point A'.
  • a texture map is generated for each alphanumeric character or symbol to be displayed.
  • the texture maps are then stored in texture memory 111.
  • the texture maps can be mapped to any polygonal region to produce the character or symbol, as is known in the art.
  • a "halo" of a contrasting color is drawn and then the line is drawn within the halo.
  • a black halo would be drawn and the white line drawn within the black halo.
  • the halo value for a given texel can be calculated at the same time the intensity value for that halo is calculated.
  • FIG. 9b a halo distribution curve 904 for the halo intensity is shown. Note that the distribution curve in FIG. 9b spreads out further than the intensity distribution curve 902 of FIG. 9a.
  • a given texel will store both an intensity value and a halo value.
  • the point xi. has an associated intensity value (luminance) of I- . .
  • the point Xj . has an associated halo value (alpha) of ⁇ i.
  • the halo represents the Alpha value of the texture component and the intensity value represents Luminance.
  • Characters are drawn with a single textured rectangle appropriately positioned and sized to render the desired character.
  • the texture area containing the desired character then is selected using the T, S coordinates of the texture map. This maps the full character with the desired positioning and scaling.
  • the primary advantages of drawing characters with this method are three-fold. First, the image quality is improved because the intersections are not oversaturated (no matchstick effect). Second, the processing and transmission of vertices are much reduced, because only four vertices are required for the full character rather than four to six vertices per line. Third, much of the work can be done off-line or once after initial power up of the graphical system, thus greatly reducing the run-time calculations required for drawing characters.
  • halo field in the texture is optional, because the invention works with only alpha (typically 1 byte) per texel as well as alpha/luminance (typically 2 bytes per texel) used for automatic haloing.
  • alpha typically 1 byte
  • alpha/luminance typically 2 bytes per texel
  • haloed character must be drawn twice: once with the halo color and a wider line width and a second time with the narrower line width. This doubles the number of character definitions and the number of vertex writes, but may save memory because the halo line width can be used to draw the same character with wider lines and each character is only half the size in texture memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • Liquid Crystal Display Device Control (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
PCT/US2004/016241 2003-05-20 2004-05-20 Texture based method and system for the anti-aliasing of lines and characters Ceased WO2004104929A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006533344A JP4717000B2 (ja) 2003-05-20 2004-05-20 ラインおよび文字のアンチエイリアシングを行うためのテクスチャベースの方法およびシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47233503P 2003-05-20 2003-05-20
US60/472,335 2003-05-20

Publications (2)

Publication Number Publication Date
WO2004104929A2 true WO2004104929A2 (en) 2004-12-02
WO2004104929A3 WO2004104929A3 (en) 2005-03-03

Family

ID=33476941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/016241 Ceased WO2004104929A2 (en) 2003-05-20 2004-05-20 Texture based method and system for the anti-aliasing of lines and characters

Country Status (3)

Country Link
US (2) US7456851B2 (enExample)
JP (1) JP4717000B2 (enExample)
WO (1) WO2004104929A2 (enExample)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050067B2 (en) * 2003-01-13 2006-05-23 Microsoft Corporation Hardware accelerated anti-aliased primitives using alpha gradients
US7502024B2 (en) * 2003-09-25 2009-03-10 Honeywell International Inc. Texture based circular arc generation
US8339345B2 (en) * 2005-09-27 2012-12-25 Sharp Kabushiki Kaisha Liquid crystal display device, instrument panel, automotive vehicle, and liquid crystal display method
US7562174B2 (en) * 2006-06-15 2009-07-14 Nvidia Corporation Motherboard having hard-wired private bus between graphics cards
US7412554B2 (en) * 2006-06-15 2008-08-12 Nvidia Corporation Bus interface controller for cost-effective high performance graphics system with two or more graphics processing units
US7500041B2 (en) * 2006-06-15 2009-03-03 Nvidia Corporation Graphics processing unit for cost effective high performance graphics system with two or more graphics processing units
US7890747B2 (en) * 2006-07-06 2011-02-15 Accenture Global Services Limited Display of decrypted data by a graphics processing unit
US7724260B2 (en) 2006-08-25 2010-05-25 Honeywell International Inc. Method and system for image monitoring
GB2445982A (en) * 2007-01-24 2008-07-30 Sharp Kk Image data processing method and apparatus for a multiview display device
US20090091576A1 (en) * 2007-10-09 2009-04-09 Jayanta Kumar Maitra Interface platform
US9438844B2 (en) * 2008-04-08 2016-09-06 Imagine Communications Corp. Video multiviewer system using direct memory access (DMA) registers and block RAM
US9172900B2 (en) * 2008-04-09 2015-10-27 Imagine Communications Corp. Video multiviewer system with switcher and distributed scaling and related methods
US9716854B2 (en) * 2008-04-09 2017-07-25 Imagine Communications Corp. Video multiviewer system with distributed scaling and related methods
US8587639B2 (en) * 2008-12-11 2013-11-19 Alcatel Lucent Method of improved three dimensional display technique
DE102009042235A1 (de) * 2009-09-18 2011-04-07 Diehl Aerospace Gmbh Verfahren zur Darstellung von mehreren sich mindestens teilweise überlagernden Objekten
US9098938B2 (en) * 2011-11-10 2015-08-04 The Directv Group, Inc. System and method for drawing anti-aliased lines in any direction
WO2014138352A1 (en) * 2013-03-06 2014-09-12 Zito Arthur J Jr Multi-media presentation system
US10395408B1 (en) * 2016-10-14 2019-08-27 Gopro, Inc. Systems and methods for rendering vector shapes
USD875117S1 (en) * 2018-05-31 2020-02-11 Nutanix, Inc. Display panel or portion thereof with transitional graphical user interface

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381519A (en) 1987-12-04 1995-01-10 Evans & Sutherland Computer Corp. System for line interpolation for computer graphics displays
US5339092A (en) 1989-11-06 1994-08-16 Honeywell Inc Beam former for matrix display
US5224208A (en) 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
GB2244892B (en) * 1990-06-08 1994-12-14 Electronic Graphics Ltd Computer graphics
JPH04100180A (ja) * 1990-08-20 1992-04-02 Japan Aviation Electron Ind Ltd ベクトル発生器
US5264838A (en) 1991-08-29 1993-11-23 Honeywell Inc. Apparatus for generating an anti-aliased display image halo
EP0574111B1 (en) 1992-04-24 1997-10-01 Sony United Kingdom Limited Lighting effects for digital video effects system
WO1995010822A1 (en) 1993-10-15 1995-04-20 Evans & Sutherland Computer Corporation Direct rendering of textured height fields
US5592597A (en) * 1994-02-14 1997-01-07 Parametric Technology Corporation Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics
US5585863A (en) * 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
US6348929B1 (en) * 1998-01-16 2002-02-19 Intel Corporation Scaling algorithm and architecture for integer scaling in video
EP1058912B1 (en) * 1998-03-05 2003-09-03 Microsoft Corporation Subsampled texture edge antialiasing
US6782129B1 (en) * 1998-09-23 2004-08-24 Xerox Corporation Image segmentation apparatus and method
US6278434B1 (en) 1998-10-07 2001-08-21 Microsoft Corporation Non-square scaling of image data to be mapped to pixel sub-components
US6188385B1 (en) 1998-10-07 2001-02-13 Microsoft Corporation Method and apparatus for displaying images such as text
US6606089B1 (en) 1999-06-08 2003-08-12 Sulzer Market And Technology Ag Method for visualizing a spatially resolved data set
US6700672B1 (en) * 1999-07-30 2004-03-02 Mitsubishi Electric Research Labs, Inc. Anti-aliasing with line samples
US6282327B1 (en) 1999-07-30 2001-08-28 Microsoft Corporation Maintaining advance widths of existing characters that have been resolution enhanced
JP3262772B2 (ja) * 1999-12-17 2002-03-04 株式会社ナムコ 画像生成システム及び情報記憶媒体
US7113231B2 (en) * 2000-02-14 2006-09-26 3M Innovative Properties Company Dot-sequential color display system
US6518968B1 (en) 2000-05-17 2003-02-11 Hewlett-Packard Company Method and apparatus for performing H-space bump mapping suitable for implementation with H-space lighting in a graphics pipeline of a computer graphics display system
JP3770459B2 (ja) * 2000-05-23 2006-04-26 シャープ株式会社 画像表示装置、画像表示方法および記録媒体
JP3552105B2 (ja) * 2000-05-26 2004-08-11 シャープ株式会社 図形表示装置、文字表示装置、表示方法、記録媒体およびプログラム
KR100395766B1 (ko) 2001-02-12 2003-08-25 삼성전자주식회사 강유전체 기억 소자 및 그 형성 방법
US7030884B2 (en) * 2003-02-13 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for resampling texture maps
US7259764B2 (en) * 2003-05-14 2007-08-21 Pixar Defrobulated angles for character joint representation
US6954211B2 (en) 2003-06-30 2005-10-11 Microsoft Corporation Hardware-accelerated anti-aliased graphics
US7148901B2 (en) * 2004-05-19 2006-12-12 Hewlett-Packard Development Company, L.P. Method and device for rendering an image for a staggered color graphics display

Also Published As

Publication number Publication date
WO2004104929A3 (en) 2005-03-03
JP2007505421A (ja) 2007-03-08
US7176933B2 (en) 2007-02-13
US20040233210A1 (en) 2004-11-25
US7456851B2 (en) 2008-11-25
JP4717000B2 (ja) 2011-07-06
US20040233230A1 (en) 2004-11-25

Similar Documents

Publication Publication Date Title
US7176933B2 (en) Texture based method and system for the anti-aliasing of lines and characters
US5651104A (en) Computer graphics system and process for adaptive supersampling
EP3748584B1 (en) Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
EP3129976B1 (en) Varying effective resolution by screen location by altering rasterization parameters
US6720975B1 (en) Super-sampling and multi-sampling system and method for antialiasing
US6788301B2 (en) Active pixel determination for line generation in regionalized rasterizer displays
EP2230642B1 (en) Graphic drawing device and graphic drawing method
CA2421894C (en) Hardware-enhanced graphics acceleration of pixel sub-component-oriented images
KR20180060198A (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US6184893B1 (en) Method and system for filtering texture map data for improved image quality in a graphics computer system
CN100399358C (zh) 图像处理装置及其方法
US20140327689A1 (en) Technique for real-time rendering of temporally interpolated two-dimensional contour lines on a graphics processing unit
US6947054B2 (en) Anisotropic filtering
US5760792A (en) Fifo logical addresses for control and error recovery
US10783696B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid
US6975317B2 (en) Method for reduction of possible renderable graphics primitive shapes for rasterization
US20020171665A1 (en) Efficient antialiased dot rasterization
US6501474B1 (en) Method and system for efficient rendering of image component polygons
US7511717B1 (en) Antialiasing using hybrid supersampling-multisampling
US20090002393A1 (en) Method and apparatus for rendering computer graphics primitive
US20030160789A1 (en) Multiple scan line sample filtering
US6992670B2 (en) Active region determination for line generation in regionalized rasterizer displays
JP2003504697A (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
US6847368B2 (en) Graphics system with a buddy / quad mode for faster writes
US20030206167A1 (en) Auxiliary active region determination for line width generation in regionalized rasterizer displays

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006533344

Country of ref document: JP

122 Ep: pct application non-entry in european phase