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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/04—Structural and physical details of display devices
- G09G2300/0439—Pixel structures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control 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/34—Control 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/36—Control 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/3607—Control 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control 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)
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)
| 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)
| 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 |
-
2004
- 2004-05-18 US US10/847,710 patent/US7456851B2/en not_active Expired - Fee Related
- 2004-05-20 US US10/851,972 patent/US7176933B2/en not_active Expired - Lifetime
- 2004-05-20 WO PCT/US2004/016241 patent/WO2004104929A2/en not_active Ceased
- 2004-05-20 JP JP2006533344A patent/JP4717000B2/ja not_active Expired - Fee Related
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 |