CN101061517A - Method and system for anti-aliasing by pixel sampling - Google Patents

Method and system for anti-aliasing by pixel sampling Download PDF

Info

Publication number
CN101061517A
CN101061517A CNA2005800393620A CN200580039362A CN101061517A CN 101061517 A CN101061517 A CN 101061517A CN A2005800393620 A CNA2005800393620 A CN A2005800393620A CN 200580039362 A CN200580039362 A CN 200580039362A CN 101061517 A CN101061517 A CN 101061517A
Authority
CN
China
Prior art keywords
pixel
pixel samples
point
samples point
edge
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.)
Pending
Application number
CNA2005800393620A
Other languages
Chinese (zh)
Inventor
T·阿克尼纳-默勒
J·斯特伦
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101061517A publication Critical patent/CN101061517A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

A method, system, and article of manufacture for reducing aliasing. A method in accordance with one embodiment sampling a pixel of an image at a plurality of pixel sample points to produce a corresponding plurality of pixel sample values, wherein at least one of the plurality of pixel sample points is located at a predetermined displacement from a position along an edge of the pixel. The method further includes combining the plurality of pixel sample values to produce a displayed pixel value.

Description

Method and system by the anti-sawtooth of pixel sampling
Technical field
The present invention relates generally to graphics process, and more specifically but be not restrictedly to relate to a kind ofly producing the method and system of the figure picture of high-quality, anti-sawtooth down with high frame rate low assessing the cost.
Background technology
The real-time rendering of three-dimensional picture has a large amount of attracting application on portable terminal, comprise recreation, man-machine interface, information receiving and ecommerce.Because 3 D rendering is the big task of computational costs typically, therefore must often make up specialized hardware to realize acceptable performance.Reducing the computational complexity of this hardware architecture and the innovation mode of bandwidth availability ratio therefore is very important.As at Akenine-M  ller, Tomas and Jacob Str  m " Graphicsfor the Masses:A Hardware Architecture for Mobile Phones " (ACMTransactions on Graphics, vol.22, no.3, Proceedings of ACMSIGGRAPH 2003, pp.801-808, July 2003) described in, the average eyes that shown mobile phone to the angle of pixel be approximately personal computer (PC) 2-4 doubly.Therefore, the picture quality on the mobile device should be better than being used for the picture quality on the PC in theory.Yet mobile device generally has still less and not too powerful computational resource.
From beginning in early days of computer graphics, when presenting static or mobile picture on display screen, sawtooth is a problem always.An example of sawtooth be when with certain angle Plotted line on display terminal visible staircase effect.These ladder artifacts are commonly called " sawtooth ".During 3 D rendering, polygonal edge often produces tangible sawtooth artifact.Preferably use anti-sawtooth (anti-aliasing) technology to reduce these artifacts.
A kind of method that reduces the artifact that occurs owing to sawtooth in picture is to use the method that is called as super sampling.In the super sampling method, by of the scene sampling of the more than point of each pixel to showing, and according to the final image of sample calculation.As the special circumstances of super sampling, multiple Sampling techniques are also sampled to scene by the more than point of each pixel, but share between the sample of fragment shader result calculated (for example, texture and color) in pixel.Usually, multiple sampling algorithm is disposablely to get more than sample of each pixel and share to calculate between the sample of grid cell.
In the super sampling method of anti-sawtooth, coming rendered images, thereby cause the more than sample of each pixel than the higher resolution of final resolution that on screen, shows.The sample of each pixel averages subsequently, for example to form color of pixel.This is by drawing a plurality of sub-pixel sample and the weighted sum that the value of each pixel is calculated as the sub-pixel sample value being finished for each pixel that will show.For example, each display pixel can be made up of the filtration weighted sum of one group of four sub-pixel sample in the pixel.
Owing to use the super sampling method, graphic hardware is necessary for the sample that each display pixel is handled four times of amounts.The method of this anti-sawtooth often is called as powerful super sampling.Powerful super sampling has improved picture quality greatly, but is paying high cost aspect the storage space and the time of drafting.For example, the width of hypothetical target image and highly be w * h.If the resolution of 2w * 2h is used for powerful super sampling, then uses four samples of each pixel, and need four times storage space and four times rasterisation time.Though super sampling provides good picture quality, because heavy computational burden, it can cause low frame rate.
In order to reduce the computation burden that is used to produce anti-aliased pixels, can use the super sampling scheme of modification, in this scheme, the sub-pixel sample position is placed in suitable position so that the value of one or more sample position can be used for calculating the end value of a more than pixel.This super sampling scheme often is called as sample and shares scheme.By sharing sample, realize that it is possible that each pixel is less than four samples.Can be shared by all samples in the pixel because part is calculated, therefore, multiple sampling can be used for further reducing bandwidth demand sometimes.
The GeForce3 of the NVIDIA company of U.S. Santa Clara TMGraphics Processing Unit provides the hardware of supporting that the subsample between super sampling and the pixel is shared.The super sampling scheme that is called as " Quincunx (plum blossoms arrange sampling method) " at 5 has been introduced on matrix with the sub-pixel sample pattern of the form of " 5 " (that is, 5 sub-pixel sample are used to calculate the value of final pixel).Owing to the placement reason of sample position in the Quincunx scheme, each pixel has only two samples to need to calculate.Remaining sample value obtains from neighbor.The center-subpixels sample obtains 0.5 weight, and peripheral sub-pixel sample respectively obtains 0.125 weight.The information of relevant Quincunx scheme can find in " Technical Brief, the HRAA:High-Resolution Antialiasing through Multisampling " of NVIDIA company.
A plurality of gray shade scales in the monochrome scheme between black and white depend on the quantity of the pixel samples point of use.In the example of using four pixel samples positions, three ghosts will be arranged at most between black and white.Therefore, above-mentioned Quincunx scheme provides 4 ghosts at most.Yet effective ghost quantity of Quincunx scheme can be low to moderate 2.In the Quincunx scheme, sample point forms line on vertical, level and 45 ° of directions, and this makes that the Quincunx scheme shows poorlyer than some other scheme for some lines orientations.
Summary of the invention
The present invention tries hard to provide a kind of method and apparatus that is used for the picture of the low anti-sawtooth of generation high-quality that assesses the cost.One embodiment of the present of invention relate to a kind of method that is used to reduce sawtooth.This method is included in a plurality of pixel samples points the pixel of image is sampled producing the step of corresponding a plurality of pixel sample values, and at least one the pixel samples point in wherein a plurality of pixel samples points is positioned at the position that predetermined displacement is arranged along the edge of pixel and position.This method comprises that also a plurality of pixel sample values of combination are to produce the pixel value that shows.In one embodiment of the invention, predetermined displacement utilizes look-up table to determine.In yet another embodiment of the present invention, predetermined displacement is determined in pseudorandom mode.
An alternative embodiment of the invention relates to a kind of system that is used to reduce sawtooth, this system comprises the sample buffer that is suitable for memory image and is suitable at a plurality of pixel samples points execution pixel samplings producing the processor of corresponding a plurality of pixel sample values, and at least one the pixel samples point in wherein a plurality of pixel samples points is positioned at the position that predetermined displacement is arranged along the edge of pixel and position.Processor also is suitable for making up a plurality of pixel sample values to produce the pixel value of at least one demonstration.
An alternative embodiment of the invention relates to a kind of goods, these goods comprise at least one computer-readable medium and the processor instruction that is included on this at least one computer-readable medium, these processor instructions are configured to and can be read from this at least one computer-readable medium by at least one processor, and making this at least one processor operation thus so that the pixel of image is sampled to produce corresponding a plurality of pixel sample values at a plurality of pixel samples points, at least one the pixel samples point in wherein a plurality of pixel samples points is positioned at along the predetermined displacement of a position of distance, edge of pixel.Thereby processor instruction also makes this at least one processor operation produce the pixel value that shows so that make up a plurality of pixel sample values.
Description of drawings
In conjunction with the accompanying drawings, can obtain more complete understanding to the present invention with reference to following embodiment, wherein:
Figure 1A illustrates the example of the pixel sampling pattern that is used for anti-sawtooth;
Figure 1B illustrates the pixel sampling pattern that is used for anti-sawtooth;
Fig. 2 A illustrates another example of the pixel sampling pattern that is used for anti-sawtooth;
Fig. 2 B illustrates the pixel sampling pattern that is used for anti-sawtooth;
Fig. 3 A and 3B illustrate the calculating of the pixel samples position in the pixel samples pattern;
Fig. 4 illustrates the mirror image step of pixel samples pattern;
Fig. 5 illustrates another mirror image step of one other pixel sample mode;
Fig. 6 A and 6B illustrate the pixel samples pattern;
Fig. 7 illustrates the pixel samples pattern;
Fig. 8 illustrates the pixel samples pattern;
Fig. 9 A and 9B illustrate the method that is used to produce anti-aliased pictures;
Figure 10 A-10D illustrates the modification that each pixel comprises the multiple sampling plan of three pixel samples;
Figure 11 illustrates another multiple sampling plan;
Figure 12 illustrates the anti-sawtooth scheme in 3 * 3 pixel arrangement that comprise nine pixels;
Figure 13 A-13D illustrates multiple sampling plan;
Figure 14 illustrates multiple sampling plan;
Figure 15 illustrates the anti-sawtooth scheme in 3 * 3 pixel arrangement; And
Figure 16 is the schematic block diagram that the graphics system that is used to create anti-aliased pictures is shown.
Embodiment
Now with reference to accompanying drawing, embodiments of the invention are described more fully.Yet the present invention can be presented as many different forms and not will be understood that and be subject to the embodiment that this paper proposes.The present invention should only regard as and is subjected to the claims that exist at present and the restriction of equivalent thereof.
Various embodiment of the present invention is used for by providing aperiodicity pixel sampling pattern to reduce anti-sawtooth artifact.Aperiodicity pixel sampling pattern can not make special edge angle be easier to have the sawtooth artifact.Various embodiment of the present invention is used to eliminate the needs of implementing reflection rule into neighbor, and only requires that the sample that is placed on the pixel edge shared by the neighbor of sharing pixel edge.Therefore, other pixels need not to depend on this sample.
Referring now to Figure 1A, it illustrates the pixel sampling pattern that is used for eight pixel 101a-101h.The pixel sampling pattern of Figure 1A illustrates nine pixel samples point 104-112 that are positioned on the pixel 101a-101h edge.For the purpose of clear, not shown any pixel samples that may be positioned on the horizontal pixel edge.Because the pixel sampling pattern is that per two pixels repeat, therefore, the cycle that the pixel sampling pattern of Figure 1A has is 2.
Referring now to Figure 1B, it illustrates the pixel sampling pattern according to the embodiment of the invention.The pixel sampling pattern of Figure 1B illustrate nine pixel samples point 104 '-112 being positioned on pixel 101a '-101h ' edge '.For the purpose of clear, not shown any pixel samples that may be positioned on the horizontal pixel edge.In Figure 1B, pixel samples point 105 ' along the shared edge of pixel 101a ' and 101b ' is by the predetermined offset displacement so that it with arbitrary other pixel samples points 104 ' with 106 '-112 ' not along on the same vertical range of pixel edge.The distance of pixel samples point 105 ' displacement can come be determined by any in several different methods or the algorithm.In a kind of selection, the distance of pixel samples point 105 ' displacement can be determined by searching from the table of the one or more pixels that will carry out anti-sawtooth scheme.In another kind was selected, side-play amount can pseudorandom mode be determined.Pixel samples point 105 ' displacement produce acyclic pixel sampling pattern.In another is selected, under the situation that the sample point that requires to be positioned at pixel edge is shared by the neighbor of sharing this pixel edge, pixel samples point 104 '-112 ' in any one or a plurality of distance that can be scheduled to along the pixel edge displacement.
Referring now to Fig. 2 A, it illustrates the pixel sampling pattern that is used for eight pixel 201a-201h.The pixel sampling pattern of Fig. 2 A illustrates nine pixel samples point 204-212 that are positioned on the pixel 201a-201h edge.For the purpose of clear, not shown any pixel samples that may be positioned on the horizontal pixel edge.Because the pixel sampling pattern is that per three pixels repeat, therefore, the cycle that the pixel sampling pattern of Fig. 2 A has is 3.
Referring now to Fig. 2 B, it illustrates embodiments of the invention, and wherein, each sample in the pixel sampling pattern is positioned at the predetermined migration place along pixel edge, or is positioned at along in the predetermined space of pixel edge.Fig. 2 B illustrates the pixel sampling pattern of eight pixel 201a '-201h '.The pixel sampling pattern of Fig. 2 B illustrate nine pixel samples point 204 '-212 being positioned on pixel 201a '-201d ' and the 202a '-202d ' edge '.Each pixel samples point 204 '-212 ' be positioned on the predetermined point in the predetermined space of pixel edge.In a kind of selection, pixel samples point 204 '-212 ' be positioned in the predetermined space of pixel edge in pseudorandom mode.In another kind was selected, the predetermined migration of pixel samples point 204 '-212 ' be positioned to read from look-up table was so that the pixel sampling pattern can be at least two pixels repetitions.
Fig. 2 B illustrates the predetermined space with each pixel samples point 204 '-212 ' be associated, and each predetermined space is represented with bracket.By using the displacement of pixel samples point, in the limit of pseudo-random generator that is used to produce displacement or look-up table, produce the actual unlimited cycle of pixel sampling pattern, this causes the improved symmetry at edge along the line to be broken and better visual quality is provided in anti-aliased image.Though pixel samples point 204 '-212 ' predetermined space only be shown along the part of pixel edge and extend, should be understood that predetermined space can extend so that the special pixel sample point can be positioned at any position along pixel edge along the whole length of pixel edge.It will also be appreciated that the pixel samples point need not accurately to be positioned on the pixel edge, but can be positioned near the pixel edge, for example, in distance from pixel edge 1/3rd pixel wide.It should be understood that additional pixel samples point can be positioned at each pixel.
Fig. 3 A and 3B illustrate pixel samples point 303-306 wherein and are placed in the super sampling scheme that pixel 301 edges and pixel samples point 307-310 are placed in pixel 302 edges.If the position of pixel 301 and pixel 302 is adjacent one another are, then the pixel samples between pixel 301 and the pixel 302 is shared in this permission display-memory.In the super sampling scheme of Fig. 3 A and 3B, sample is placed in unlike the Quincunx scheme on the angle of pixel 301,302.On the contrary, be pixel samples point of each edge definition of pixel 301,302 with the square configuration of rotating, and the weight of giving each sample point 0.25.It should be understood that other weights also can be used for each sample point of weighting.
Fig. 3 A and 3B below show the equation that is used for determining accurate pixel samples position respectively.Shown in Fig. 3 A and 3B, in the equation of Fig. 3 A and 3B, an x0 and y0 represent the initial point of x axle (" x ") and y axle (" y ") respectively.
The layout of pixel samples point 303-310 as shown in the figure provides the sampling pattern that wherein needs the pixel samples point of relatively small number amount.In addition, sampling pattern provides the feature on unique row and column that each sample point is positioned at pixel, does not promptly have two pixel samples to share the same column or row of special pixel.This illustrates in Fig. 3 A and 3B by a dotted line, does not wherein have two points on same dotted line.Sampling pattern also is used to destroy the symmetry of pixel sampling pattern configurations, and this has strengthened the anti-sawtooth effect of the non-axis of display screen, non-axis be not with the transverse axis or the parallel line of Z-axis of display screen.Anti-sawtooth effect for respect to display screen near vertical or near the line of level even bigger.For example, the polygonal edge near horizontal alignment that one or more pixels 301,302 are drawn is passed in employing on display screen.If for example the Quincunx scheme is used to produce anti-jaggies and represents, then will use four sample points, each sample point on each angle of pixel.For some pixels, polygon edge will only cover the top of pixel, but will cover two maximum pixel sample position.Therefore, by checking value from pixel samples position in the pixel, even edges cover half of pixel, the anti-sawtooth value of determined pixel will be 0.25.Therefore will present pixel sorrily.
If by means of having to be positioned near Fig. 3 A of a fraction of polygon edge on the horizontal line orientation, that cover pixel 301,302 tops and the scheme of 3B same situation takes place, then polygon edge will can not cover two pixel samples positions, but because the layout of sample position only covers the sample position on the highest level edge of pixel 301,302.
Fig. 4 illustrates the pixel sampling pattern on the pixel samples point 403-406 of pixel 401 wherein is placed in pixel unlike the Quincunx scheme the angle.Shown pixel samples configuration is called " quadrant A " as pixel sample point 403-406.Correspondingly, expression is called " quadrant B " as the pixel 402 of the shown pixel samples configuration of pixel sample point 406-409.
By check side by side quadrant A and the configuration of quadrant B, obviously, therefore when at the right side of quadrant A vertical edge 410 (and be the left vertical edge of quadrant B) when being reflected, the mirror image of the pixel samples point 406-409 of quadrant B is pixel samples point 403-406 accordingly among the quadrant A.By the position of mirror image pixel samples point 403-406 and 406-409, possible is, the symmetry of sharing pixel samples point 406 and still break the pixel sampling configuration between these two pixels is with the better anti-sawtooth result of realization.Every row has only a sample, and every row have only a sample.For example, in the Quincunx scheme, top line has two samples.
Fig. 5 illustrates upper left pixel 501 wherein and comprises anti-sawtooth scheme by four pixel samples point 510-513 of quadrant A configuration.The pixel 502 on pixel 501 right sides also comprises four pixel samples point 513-516 by quadrant B configuration, and these sample points are reflected at the right hand edge of the most left pixel 501.In addition, the 3rd pixel 503 also comprises four pixel samples point 516-519 by quadrant A configuration.As appreciable from Fig. 5, pixel 501-503 shares each to the pixel samples point 513,516 between pixel 501-502, the 502-503.The lower pixel row that comprises pixel 504-506 is from the pixel 504 of the quadrant B configuration that presents pixel samples point 511,520-522.Pixel samples point 511 is shared between the pixel 501 on the pixel column and the pixel 504 up.By inspection quadrant A side by side (promptly, maximum pixel 501) and quadrant B (promptly, lower pixel 504) configuration, obviously, pixel samples point 511, the 520-522 of quadrant B have formed the mirror image of respective point 510-513 among the quadrant A that reflects at the bottom level edge 530 (and therefore being the top, horizontal edge of pixel 504) in pixel 501.
Pixel 505 comprises four pixel samples points 515, the 522-524 by quadrant A configuration.Pixel 505 is shared a pixel samples point 515 with pixel 502, and shares a pixel samples point 522 with pixel 504.This is equally applicable to the pixel 506 of the rightmost side, and this pixel is also shared two pixel samples points 517,524 with neighbor 503,505.
By using the mirror image scheme, when determining the end value of pixel 501-506, all pixels on display screen the high and the most left pixel 501-504 only need be calculated two new pixel samples positional values.Be that pixel 501 is pressed from left to right and order is from top to bottom carried out in the example of pixel calculating therein, calculated the value of pixel samples point 510-513.For pixel 502, calculated the value of pixel samples point 514-516, and the value of pixel samples point 513 is owing to calculate for pixel 501, thereby needn't calculates.For pixel 503, calculated the value of pixel samples point 517-519, and the value of pixel samples point 516 is owing to calculate for pixel 502, thereby needn't calculates.For pixel 504, calculated the value of pixel samples point 520-522, and the value of pixel samples point 511 is owing to calculate for pixel 501, thereby needn't calculates.For pixel 505, only calculated the value of pixel samples point 523-524, and the value of pixel samples point 515 and 522 calculates owing to being respectively pixel 502 and 504, thereby needn't calculate.Similarly,, only calculated the value of pixel samples point 525-526, and the value of pixel samples point 517 and 524 calculates owing to being respectively pixel 503 and 505, thereby needn't calculate for pixel 506.In can selecting by the another kind of from right to left and from top to bottom scanning traversal pixel therein, all pixels except that right column and row of the end only need two samples.In another was selected, the direction of scanning can change in every line so that make the use of storer more efficient.It should be understood that that those of ordinary skills understand, as to travel through the pixel of geometric graphic element many modes are possible, as long as traversal scheme is visited all pixels in this geometric graphic element.
Fig. 6 A and 6B illustrate pixel samples point 303 '-306 wherein ' be placed in pixel 301 ' the edge and pixel samples point 307 '-310 ' be placed in pixel 302 ' the super sampling scheme at edge.If pixel 301 ' and pixel 302 ' the position adjacent one another are, this allow pixel 301 in display-memory ' with pixel 302 ' between pixel samples shared.In the super sampling scheme of Fig. 6 A and 6B, one or more pixel samples points 303 '-306 ' can be positioned at are along pixel 301 ' and the precalculated position at the interval at 302 ' edge.Fig. 6 A and 6B illustrate the predetermined space with each pixel samples point 303 '-310 ' be associated, and each predetermined space is represented with bracket.Extend though each bracket is shown along the part of pixel edge, should be understood that pixel samples point can locate along any part of pixel edge.In the embodiment of Fig. 6 A and 6B,, and give the weight of each sample position 0.25 for each edge of pixel 301,302 has defined a pixel samples position.For Fig. 6 A, determine that the demonstration equation of accurate pixel samples position is as follows:
303′=(x0+2/3+offset(x0,y0,0),y0+1)
304′=(x0,y0+2/3+offset(x0,y0,1))
305′=(x0+1/3+offset(x0,y0,2),y0)
306′=(x0+1,y0+1/3+offset(x0,y0,3))
And for Fig. 6 B, equation is as follows:
307′=(x0+1/3+offset(x0,y0,0),y0+1)
308′=(x0,y0+1/3+offset(x0,y0,1))
309′=(x0+2/3+offset(x0,y0,2),y0)
310′=(x0+1,y0+2/3+offset(x0,y0,3))
Wherein, offset () function representation is used to generate the function of preset range intrinsic displacement value, and x0 and y0 represent the x axle (" x ") shown in Fig. 6 A and 6B and the initial point of y axle (" y ") respectively.This information in another embodiment, is being used for determining that the equation of pixel samples position needn't comprise the constant that adds, because can be coded in the look-up table or in the pseudo-random function.For example, pixel samples position 303 ' equation can be following form:
303′=(x0+offset(x0,y0,0),y0+1)
One or more pixel samples points 303 '-310 ' displacement (or skew) arrange be used to destroy the periodicity of sampling pattern so as to strengthen straight flange, particularly near the anti-sawtooth effect on those straight flanges of 27 degree.For the sampling pattern of wherein not carrying out the displacement of pixel samples point, the edge of 27 degree may the mode with other produce undesired result owing to the foursquare fact of pixel samples point expression rotation 27 degree.Introduce displacement according to various embodiment of the present invention and will destroy this symmetry, thereby produce better result.
In a kind of selection, each pixel samples point 303 '-310 ' can be positioned on the predetermined migration as reading from look-up table are not so that the pixel sampling pattern can repeat for each pixel at least.In another kind is selected, each pixel samples point 303 '-310 ' can utilize pseudorandom number generator to locate.In another was selected, except that being positioned at pixel edge or near those pixel samples points it, sampling pattern also can comprise the one or more pixel samples points that are positioned at pixel.
Fig. 7 illustrate leftmost side pixel 401 wherein ' pixel samples point 403 '-406 ' be placed in along the pixel sampling pattern in the precalculated position at pixel 401 ' edge.Pixel samples point 407 '-409 ' be placed in pixel 402 ' the edge.Pixel samples point 403 '-409 ' one of them position at least can be positioned at along pixel 401 ' and 402 ' the precalculated position of predetermined space of respective edges.Fig. 7 illustrates the predetermined space with each pixel samples point 403 '-409 ' be associated, and each predetermined space is represented with bracket.Extend though bracket is shown along the part of pixel edge, should be understood that pixel samples point can locate along any part of pixel edge.
Fig. 8 illustrate four pixel samples point 510 '-513 of upper left pixel 501 wherein ' comprise ' anti-sawtooth scheme.Four pixel samples point 513 '-516 of the pixel 502 on pixel 501 ' right side ' also comprise '.In addition, four pixel samples point 516 '-519 of the 3rd pixel 503 ' also comprise '.As appreciable from Fig. 8, pixel 501 '-503 ' share each to pixel 501 '-502 ', 502 '-503 ' between a pixel samples point 513 ', 516 '.The lower pixel row from present pixel samples point 511 ', 520 '-522 ' configuration pixel 504 '.Pixel 501 on the pixel column of pixel samples point 511 ' up ' and pixel 504 ' between share.
Four pixel samples points 515 of pixel 505 ' comprise ', 522 '-524 '.Pixel 505 ' with the top row on a pixel samples point 515 of pixel 502 ' share ', and with pixel 504 ' shared pixel samples point 522 '.This be equally applicable to the pixel 506 of the rightmost side ', this pixel also with neighbor 503 ', 505 ' share two pixel samples points 517 ', 524 '.Pixel samples point 510 '-525 ' one of them position at least can be positioned at along pixel 501 '-506 ' the precalculated position of the predetermined space of the respective edges of one of them at least.In a kind of selection, the predetermined migration that the pixel samples point location is reading from look-up table.In another kind was selected, pixel samples point was positioned in the predetermined space of pixel edge in pseudorandom mode.
Determine pixel 501 '-506 ' end value the time, except that high and the most left pixel 501 '-504 ' all pixels only need calculate two new pixel samples point values.In another kind was selected, all pixels in the image except that rightmost side row and bottommost are capable are two samples of need only.By scan line from left to right, can travel through the sample position in the image pixel.In another was selected, the direction of scanning can change in every line so that make the use of storer more efficient.In addition, it will be appreciated that any traversal scheme can combine enforcement with the super sampling scheme.
Fig. 9 A illustrates a kind of process flow diagram that is used to produce the method for high-quality anti-aliased pictures, wherein one or more geometric graphic elements is sampled to produce image.In application stage (step 610), processor (for example, CPU (central processing unit) (CPU)) runs application (for example, computer game) and generates and will convert the geometric graphic element (for example, the polygon of triangular form) that the 2D on the display screen presents to.
Then, how much stages (step 620), processor or Graphics Processing Unit (GPU) are calculated the different visual effects that influence the object appearance on the display screen, as illumination, cutting, conversion or projection.Owing to when in computer graphical, creating the 3D object, generally use geometric graphic element, therefore generally calculate the pixel coordinate on geometric graphic element summit.
In rasterization stage (step 630), triangle is introduced into sample buffer.Use the pc interpolation of the texture coordinate on one or more geometric graphic elements so that guarantee to obtain correct projection.Rasterization stage can be carried out by processor and/or GPU.In addition, also for example one or more colors of interpolation, another group texture coordinate or mist etc. of processor or GPU.Processor or GPU also can carry out the Z buffer test, and guarantee that final pixel obtains correct color.In filtration stage (step 640), filter sample buffer and be stored in pixel color in the color buffer with generation.The content of color buffer can show on screen subsequently.
Fig. 9 B is the more detailed process flow diagram that the step 630 of Fig. 9 A is shown.In step 631, carry out the geometric graphic element of first geometric graphic element and set, wherein, in geometric graphic element, find first sample point, and process proceeds to step 632 according to the pixel samples pattern of various embodiments of the invention.In step 632, determine whether sample point is found in the border of geometric graphic element.If do not find sample point in geometric graphic element, then process proceeds to step 633, in this step, determines whether also to exist the geometric graphic element that will draw.If also there is the geometric graphic element that will draw, then process proceeds to step 634.In step 634, fetch next geometric graphic element, and process turns back to the step 631 of wherein carrying out the geometric graphic element setting.If determine no longer to exist the geometric graphic element that will draw in step 633, then step 630 finishes, and process proceeds to step 640, carries out sample and filter to produce filtrator in this step.
If determine to have found sample point in step 632 in geometric graphic element, then process proceeds to step 635, carries out in this step that relevant whether visual sample will visuality inspection in geometric graphic element.In step 636, carry out whether visual the determining of relevant sample.If sample is not visible, then process proceeds to step 637, and the traversal geometric graphic element is searching the next sample point in the geometric graphic element in this step, and process proceeds to step 632.
If determine that in step 636 sample point is visual, then in step 638, carry out the calculating of sample of color, and in step 639, the color and the degree of depth of storing sample in as one or more impact dampers of sample buffer.Subsequently, process turns back to step 637, and the traversal geometric graphic element is to search the next sample point in the geometric graphic element in this step.
Figure 10 A-10D illustrates the modification that each pixel 801,802,811,812 comprises the multiple sampling plan of three pixel samples points.Pixel samples point 803-808,813-818 are placed on the border of pixel 801,802,811,812.The minute surface that sample is shared is served as on the border of pixel, and the sample in this permission display-memory between the different pixels 801,802,811,812 is shared.
Pixel samples point 803-808,813-818 one of them is placed on the angle of each pixel 801,802,811,812 at least.Term " on the angle " refers to greatly on the angle of two intersect boundaries of pixel sample to be set, for example, the distance of digression be not more than the shortest pixel edge that ends at the angle length 1/3rd.Yet as long as the angle sample can be used for the calculating of four pixel values of as many as, the angle sample can be shifted a little with respect to actual corners.
In the multiple sampling plan of Figure 10 A-10D, for the angle on two borders of pixel 801,802,811,812 defines first pixel samples point.The independent boundary definition second and the 3rd pixel samples point that do not intersect with the residing pixel of first pixel samples angle for pixel 801,802,811,812.In Figure 10 A-10D, each pixel 801,802,811 and 812 the second and the 3rd pixel samples are positioned at the center on two borders between the angle.For pixel 801, pixel samples point 804,805 is positioned at the center at two centers, border between the angle separately.For pixel 802, pixel samples point 806,807 is positioned at the center at two centers, border between the angle separately.For pixel 811, pixel samples point 813,815 is positioned at the center at two centers, border between the angle separately.For pixel 812, pixel samples point 816,817 is positioned at the center at two centers, border between the angle separately.Pixel samples point 803,808,814 and 818 is positioned at respectively on the angle of pixel 801,802,811 and 812 separately.Yet as long as sample can be used for calculating the value of two neighbors, the second and the 3rd pixel samples point can be positioned on borderline any point.In addition, in Figure 10 A-10D, the second and the 3rd pixel samples point 804,805,806,807,813,815,816,817 is positioned on the border of its respective pixel 801,802,811,812, and the distance of their digressions is identical.In another kind was selected, the distance of each pixel samples point 804,805,806,807,813,815,816,817 digression can be different.Each pixel samples point is endowed 1/3 weight (that is, make weight and equal 1).Spendable another kind of weight allocation is to be 0.2 for first pixel samples, and respectively is 0.4 for the second and the 3rd pixel samples.Any other weight allocation of pixel samples just can be used as long as it is one with aggregate value.
In Figure 10 A-10D, the grid that on each pixel 801,802,811,812, superposes, and mesh definition on the angle and grid intersects with the border rather than put the crossing possible pixel samples point Anywhere in angle of residing pixel 801,802,811,812 with the angle pixel samples.Figure 10 A-10D shows the demonstration equation of the accurate sample point pattern that is used for definite each pixel 801,802,811,812 respectively.Shown in Figure 10 A-10D, in the equation of Figure 10 A-10D, an x0 and y0 represent the initial point of x axle (" x ") and y axle (" y ") respectively.
Figure 11 illustrates the multiple sampling plan that leftmost side pixel 901 wherein comprises independent borderline two pixel samples point 904-905 of pixel samples point 903 on the angle and pixel 901.Hereinafter, this pixel samples configuration will be called as Mode A.Correspondingly, second pixel 902 that presents the pixel samples configuration with pixel samples point 905-907 is called as Mode B.By check side by side Mode A and the configuration of Mode B, obviously, the pixel samples point 905-907 of Mode B is the mirror image of respective point 903-905 in the Mode A.Mode A reflects on the right side of pixel 901 vertical boundary 908 to form the Mode B of pixel 902.Therefore, Mode B is the mirror image of Mode A.
The pixel samples point of Mode A and Mode B also can be on its relative bottom horizontal boundary 909 mirror image.The 3rd pixel 911 that presents pixel samples configuration will be called as pattern C, and this pixel samples configuration is Mode A mirror image during mirror image on the bottom level border of pixel 901.Pattern C has pixel samples point 904,923-924, and wherein, one of pixel samples point (that is, pixel samples point 904) is shared with Mode A.The 4th pixel 912 that presents pixel samples configuration will be called as pattern D, and this pixel samples configuration is Mode B mirror image during mirror image on bottom level border 909.Pattern D has pixel samples point 906,924-925, and wherein, one of pixel samples point (that is, pixel samples point 906) is shared with Mode B, and a pixel samples point (that is, pixel samples point 924) is shared with pattern C.
By striding the position of vertical boundary 908 mirror image pixel samples point 903-905, between these two pixels 901,902, share pixel samples point 905 and still break the symmetry of configuration and realize that improved anti-sawtooth result is possible.In the multiple sampling plan of Figure 11, each pixel column and pixel column have only a sample.In contrast to this, in the Quincunx scheme, top line has two samples.
Figure 12 illustrates the anti-sawtooth scheme in 3 * 3 pixel arrangement that comprise nine pixel 1001-1009.Upper left pixel 1001 comprises three pixel samples point 1010-1012 by the Mode A configuration.Second pixel 1002 comprises three pixel samples point 1012-1014 by Mode B configuration, and these sample points are the mirror images on the right margin of upper left pixel 1001.In addition, pixel 1003 comprises three pixel samples point 1014-1016 by the Mode A configuration.As appreciable from Figure 12, the pixel 1001-1003 of top row shares a pixel samples point 1012,1014 between each is to pixel 1001-1002,1002-1003.
The pixel 1004 that second pixel column disposes from the pattern C that presents pixel samples point 1011,1017-1018.Pixel samples point 1011 is shared between pixel 1004 and pixel 1001.Pixel 1005 on second row comprises three pixel samples points 1013, the 1018-1019 by pattern D configuration.Pixel 1005 is shared a pixel samples point 1013 with pixel 1002, and shares a pixel samples point 1018 with pixel 1004.This is equally applicable to have on second row pixel 1006 of three pixel samples points 1015,1019-1020, and it also shares two pixel samples points 1015,1019 with adjacent pixels 1003,1005.
The pixel 1007 that the 3rd pixel column disposes from the Mode A that presents pixel samples point 1017,1021-1022.Pixel samples point 1017 is shared between pixel 1007 and the 4th pixel 1004.Pixel 1008 comprises three pixel samples points 1019, the 1022-1023 by the Mode B configuration.Pixel 1008 is shared a pixel samples point 1019 with pixel 1005, and shares a pixel samples point 1022 with the pixel 1007 in left side.This is equally applicable to have the pixel 1009 of three pixel samples points 1019,1024-1025 on the third line, this pixel and neighbor 1006 are shared a pixel samples point 1019.
By checking Figure 12, all pixel samples that obviously, remove on highest line and the left column, are arranged on the pixel angle are o'clock shared between four pixels.Therefore, only be required to be the great majority (for big relatively pixel grid) that four pixels are calculated an angle pixel samples, wherein assessing the cost is each pixel 0.25.With only be required to be two adjacent pixels calculate once between two pixels, share, be arranged at not the borderline pixel samples point 1011,1012,1013,1015,1018,1021,1022,1023,1024 that intersects with the border of angle pixel.Therefore, assessing the cost of these boundary pixels is each pixel 0.5.
Therefore, by using the mirror image scheme, average only need of all pixels except that high and the most left pixel 1001-1004,1007 calculated the individual new pixel samples point value of 1.25 (0.25+0.5+0.5=1.25), is used for determining the end value of pixel 1001-1009.In another kind was selected, all pixels those pixels on those pixels except that right column on and the row of the end are 1.25 samples of need only.In the multiple sampling configuration of knowing of behaving most, at least two pixel samples must be calculated so that determine the end value of pixel.
By scan line from left to right, can travel through the sample position in the pixel.In another kind was selected, the direction of scanning can change in every line so that make the use of storer more efficient.Can understand, any traversal scheme can combine enforcement with multiple sampling plan.
Figure 13 A-13D illustrates a multiple sampling plan.The multiple sampling plan of Figure 13 A-13D be shown each pixel 801 ', 802 ', 811 ', 812 ' comprise three pixel samples.Pixel samples point 803 '-808 ', 813 '-818 ' be placed in pixel 801 ', 802 ', 811 ', 812 ' the border on.Pixel samples point 801 ', 808 ', 814 ' and 818 ' separately be placed in respectively pixel 801 ', 802 ', 811 ', 812 ' the angle on.According to the multiple sampling plan of Figure 13 A-13D, one or more pixel samples points 804 ', 805 ', 806 ', 807 ', 813 ', 815 ', 816 ' and 817 ' be positioned at along pixel 801 ', 802 ', 811 ', 812 ' the precalculated position at interval at edge on.Figure 13 A-13D illustrate with each pixel samples point 804 ', 805 ', 806 ', 807 ', 813 ', 815 ', 816 ', the 817 ' predetermined space that is associated, each predetermined space is represented with bracket.Term " on the angle " refers to greatly on the angle of two intersect boundaries of pixel sample to be set.Yet as long as the angle sample can be used for the calculating of four pixel values of as many as, the angle sample can be shifted with respect to actual corners.For example, sample point also can be positioned near the angle, so that sample point is positioned at 1/3rd the distance that is less than or equal to pixel wide.In another was selected, near those pixel samples points on being positioned at pixel edge or angle or it, sampling pattern also can comprise the one or more pixel samples points that are positioned at pixel.
In the multiple sampling plan of Figure 13 A-13D, be respectively pixel 801 ', 802 ', 811 ', 812 ' the angle on two borders define the first pixel samples point 803 ', 808 ', 814 ', 818 '.For pixel 801 ', 802 ', 811 ', 812 ' the independent boundary definition second that does not intersect with the angle pixel samples and the 3rd pixel samples point 804 ', 805 ', 806 ', 807 ', 813 ', 815 ', 816 ', 817 '.In Figure 13 A-13D, each pixel 801 ', 802 ', 811 ', 812 ' the second and the 3rd pixel samples point 804 ', 805 ', 806 ', 807 ', 813 ', 815 ', 816 ', 817 ' be positioned at two centers, border between the angle.Yet, as mentioned above, as long as sample can be used for calculating the value of two neighbors, the second and the 3rd pixel samples 804 ', 805 ', 806 ', 807 ', 813 ', 815 ', 816 ', 817 ' can limitrophe any position.Each pixel samples can be endowed 1/3 weight (that is, weight and equal 1).Therefore, for first pixel samples, another demonstration weight allocation is 0.2, and respectively is 0.4 for the second and the 3rd pixel samples.
The demonstration equation of accurate pixel samples dot pattern of each pixel that is used for determining Figure 13 A is as follows:
803′=(x0,y0+1)
804′=(x0+0.5+offset(0,y0,0),y0)
805′=(x0+1,y0+0.5+offset(x0,y0,1))
For Figure 13 B, equation is as follows:
806′=(x0,y0+0.5+offset(x0,y0,0))
807′=(x0+0.5+offset(x0,y0,1),y0)
808′=(x0+1,y0+1)
For Figure 13 C, equation is as follows:
813′=(x0+0.5+offset(x0,y0,0),y0+1)
814′-(x0,y0)
815′=(x0+1,y0+0.5+offset(x0,y0,1))
And for Figure 13 D, equation is as follows:
816′=(x0,y0+0.5+offset(x0,y0,0)
817′=(x0+0.5+offset(x0,y0,1),y0+1)
818′=(x0+1,y0)
Wherein, offset () function representation is used to generate the function of preset range intrinsic displacement value, and x0 and y0 item are represented the x axle (" x ") shown in Figure 13 A-13D and the initial point of y axle (" y ") respectively.This information in another embodiment, is being used for determining that the equation of pixel samples position needn't comprise the constant 0.5 that adds, because can be coded in the look-up table or in the pseudo-random function.For example, pixel samples position 804 ' equation can be following form:
804′=(x0+offset(x0,y0,0),y0)
Pixel samples point 803 '-808 ', 813 '-818 ' displacement (or skew) arrange and be used to destroy the symmetry of configuration and strengthen anti-sawtooth effect.In a kind of selection, each pixel samples point 804 '-807 ', 813 ' and 815 '-817 ' can be positioned on to sentence and make the pixel sampling pattern can not carry out repetition for each pixel at least as the predetermined migration that from look-up table, reads.In another kind is selected, each pixel samples point 804 '-807 ', 813 ' and 815 '-817 ' can utilize pseudorandom number generator to locate.
Figure 14 illustrate a pixel samples point 903 on the angle of wherein the most left pixel 901 ' comprise ' and be positioned at along two pixel samples point 904 '-905 on the precalculated position at the interval on pixel 901 ' border ' multiple sampling plan.Pixel samples point 907 on the angle of second pixel 902 ' have ' and be positioned at along two pixel samples points 905 on the precalculated position at the interval on pixel 902 ' border ' with 906 '.Pixel samples point 923 on the angle of the 3rd pixel 911 ' have ' and be positioned at two pixel samples points 904 along the precalculated position at the interval on pixel 911 ' border ' with 924 '.Pixel samples point 925 on the angle of the 4th pixel 912 ' have ' and be positioned at two pixel samples points 906 along the precalculated position at the interval on pixel 912 ' border ' with 924 '.Figure 14 illustrate with each pixel samples point 904 ', 905 ', 906 ', the 924 ' predetermined space that is associated, each predetermined space is represented with bracket.Extend though each bracket is shown along the part of pixel edge, should be understood that pixel samples point can locate along any part of pixel edge.As shown in figure 14, pixel samples point 904 ', 923 '-924 ' form pixel samples point 904 wherein ' pixel 901 ' and pixel 911 ' between the pixel samples pattern shared.Pixel samples point 906 ', 924 '-925 ' form pixel samples point 906 wherein ' pixel 902 ' and pixel 912 ' between share and pixel samples point 924 ' pixel 911 ' and pixel 912 ' between shared pixel samples pattern.The precalculated position of each pixel samples point can for example be determined by the reference look-up table or in pseudorandom mode.
The displacement of selected pixel samples position or offset orientation are used to break the symmetry of pixel sampling configuration and realize better anti-sawtooth result.In addition, each pixel column has only a sample, and each pixel column has only a sample.For example in Quincunx, the top line of pixel has two pixel samples.
Figure 15 illustrate comprise nine pixel 1001 '-1009 ' 3 * 3 pixel arrangement in anti-sawtooth scheme.Three pixel samples point 1010 '-1012 of pixel 1001 ' comprise '.Be positioned at three pixel samples point 1012 '-1014 of the pixel 1002 on pixel 1001 ' right side ' comprise '.In addition, three pixel samples point 1014 '-1016 of pixel 1003 ' comprise '.As appreciable from Figure 15, pixel 1001 '-1003 of top row ' each to pixel 1001 '-1002 ', 1002 '-1003 ' between share a pixel samples point 1012 ', 1014 '.
Second pixel column from present pixel samples point 1011 ', 1017 '-1018 ' configuration pixel 1004 '.Pixel samples point 1011 ' pixel 1004 ' and pixel 1001 ' between share.Three pixel samples points 1013 of pixel 1005 ' comprise on second row ', 1018 '-1019 '.Pixel 1005 ' with a pixel samples point 1013 of pixel 1002 ' share ', and with pixel 1004 ' shared pixel samples point 1018 '.This be equally applicable to be positioned at second row go up and have three pixel samples points 1015 ', 1019 '-1020 ' pixel 1006 ', this pixel also with neighbor 1003 ', 1005 ' shared two pixel samples points 1015 ', 1019 '.
The 3rd pixel column from present pixel samples point 1017 ', 1021 '-1022 ' configuration pixel 1007 '.Pixel samples point 1017 ' pixel 1007 ' and pixel 1004 ' between share.Three pixel samples points 1019 of pixel 1008 ' comprise ', 1022 '-1023 '.Pixel 1008 ' with a pixel samples point 1019 of pixel 1005 ' share ', and with pixel 1007 ' shared pixel samples point 1022 '.This is equally applicable to have three pixel samples points 1019 ', 1024 '-1025 ' pixel 1009 ', a pixel samples point 1019 of this pixel and neighbor 1006 ' share '.One or more pixel samples 1011 ', 1012 ', 1013 ', 1015 ', 1016 ', 1018 ', 1020 ', 1021 ', 1022 ', 1023 ', 1024 ' and 1025 ' can be positioned at along pixel 1001 '-1009 ' the precalculated position at interval on border on.Figure 15 illustrate with each pixel samples point 1011 ', 1012 ', 1013 ', 1015 ', 1016 ', 1018 ', 1020 ', 1021 ', 1022 ', 1023 ', 1024 ' and the 1025 ' predetermined space that is associated, each predetermined space is represented with bracket.Extend though each bracket is shown along the part of pixel edge, should be understood that pixel samples point can locate along any part of pixel edge.The precalculated position of each pixel samples point can for example be determined in pseudorandom mode or by the reference look-up table.
By checking Figure 15, all pixel samples that obviously, remove on highest line and the left column, are arranged on the pixel angle are o'clock shared between four pixels.Therefore, only be required to be the great majority (for big relatively pixel grid) that four pixels are calculated an angle pixel samples, wherein assessing the cost is each pixel 0.25.With only be required to be two adjacent pixels calculate once between two pixels, share, be arranged at not the borderline pixel samples point 1011 that intersects with the border of angle pixel ', 1012 ', 1013 ', 1015 ', 1016 ', 1018 ', 1020 ', 1021 ', 1022 ', 1023 ', 1024 ' reach 1025 '.Therefore, assessing the cost of these boundary pixels is each pixel 0.5.
Therefore, except that high and the most left pixel 1001 '-1004 ', 1007 ' average only need of all pixels calculate the individual new pixel samples point value of 1.25 (0.25+0.5+0.5=1.25), be used for determining pixel 1001 '-1009 ' end value.In another kind was selected, all pixels except that the pixel that the image rightmost side is listed as and bottommost is capable only needed 1.25 samples.In the multiple sampling configuration of knowing of behaving most, at least two pixel samples must be calculated so that determine the end value of pixel.
By scan line from left to right, can travel through the pixel samples point in the pixel.In another kind was selected, the direction of scanning can change in every line so that make the use of storer more efficient.It being understood that and under the situation that does not deviate from the principle of the invention, can implement any traversal scheme.
By using the multiple sampling plan of Figure 15, at most only need three end values of visit display-memory with calculating pixel.Yet, by being provided for temporarily being stored in the additional little and fast storer of needed sample in one or several calculated for pixel values subsequently, as cache memory on the sheet, it is possible making must visiting of display-memory reduced to minimum 1.25 times.By the method is used with the Quincunx scheme, the end value of calculating pixel needs twice of least referenced storer.In addition, can utilize even littler additional storer is only stored a sample (that is, being used to calculate first pixel value and the sample of calculated for pixel values subsequently).
Referring again to Figure 14, by from display-memory, fetch pixel samples 903 '-905 ', can calculate pixel 901 ' end value.Pixel samples 905 ' can temporarily be stored in the additional storer subsequently.For pixel 902 ' the calculating of end value, only need from display-memory, fetch pixel samples 906 '-907 ', and pixel samples 905 ' can from additional storer, fetch.Therefore, most of pixels of the pixel grid 176 * 174 pixel grids, big of calculated example such as portable terminal only need be visited display-memory twice.Utilize the Quincunx scheme, the end value of calculating pixel need be visited display-memory three times and additional storer twice.
Figure 16 be according to the super sampling scheme with pixel samples pattern, be used to draw for example block diagram of the system of polygonal one or more geometric graphic elements.CPU (central processing unit) (CPU) 701 is connected to storer 702 through data bus 703.Storer 702 comprises the application program (for example, computer game or computer-aided design (CAD) (CAD) program) that can move in system.CPU 701 takes out instruction and executes instruction so that carry out specific task in storer 702.In this case, the task of CPU 701 is the information that the relevant object that will draw on display screen 705 is provided for Graphics Processing Unit (GPU) 704.
GPU 704 can be the form of processor, for example digital signal processor (DSP), or special IC (ASIC), field programmable gate array (FPGA), firmware hardwired logic or suchlike form.In another kind was selected, it can be carried out on CPU 701.GPU704 also is connected to bus 703, but at bulk information under situation about transmitting between CPU 701 and the GPU 704, also can be connected to CPU 701 through independent high-speed bus 706.Data on independent high-speed bus 706 transmit the data service that will therefore can not disturb on the common status bus 703.
Display-memory 707 also be connected to bus 703 and storage from GPU 704 send relevant will be in the information of the picture (that is frame) of display screen 705 draftings.More specifically, display-memory comprises sample buffer 707a and color buffer 707b.The sample size that sample buffer 707a comprises approximately is the twice of the pixel quantity among the final color impact damper 707b.After image rendering was finished, color buffer 707b preserved the color of pixel that will show on screen.As the interconnection between CPU 701 and the GPU 704, display-memory 707 can be directly connected to GPU 704 through independent high-speed bus.Because GPU 704 and display-memory 707 generally are used to produce mobile image, the link between these two unit of therefore general expectation is fast as much as possible, and can not block the regular traffic on the bus 703.
Display-memory 707 or be connected to video dac (VDAC) 708 through shared bus 703 or by independent high-speed bus 709, this converter reads information and it is converted to from color buffer 707b and offers display screen 705 so that draw the simulating signal (for example, red, green, blue (RGB) composite signal) of each pixels at display screen 705.GPU 704 utilizes pixel sampling pattern as described herein to carry out super sampling or multiple sampling process and is kept at pixel among the color buffer 707b with generation.
Can the utilization table search or pseudorandom method is determined to should be understood that the example embodiment of the location of pixel samples point according to principle of the present invention though the embodiment of front has been described wherein, can use the additive method of location pixel samples point.
The embodiment of front is relevant embodiments of the invention.Scope of the present invention should be subjected to the restriction of this embodiment.For example, should be understood that the present invention can be with sample being placed any sample plan on the pixel edge use.The super sampling scheme that should also be understood that various embodiment of the present invention can be included in the multiple arrangement, and these devices comprise computing machine and portable terminal.On the contrary, scope of the present invention is defined by following claims and equivalent thereof.

Claims (57)

1. method that is used to reduce sawtooth, described method comprises:
At a plurality of pixel samples points the pixel of image is sampled to produce corresponding a plurality of pixel sample values;
At least one pixel samples point in wherein said a plurality of pixel samples point is positioned at the position that predetermined displacement is arranged along the edge of described pixel and position; And
Make up described a plurality of pixel sample values to produce the pixel value that shows.
2. the method for claim 1, wherein said predetermined displacement utilizes look-up table to determine.
3. the method for claim 1, wherein said predetermined displacement is determined in pseudorandom mode.
4. method as claimed in claim 3 wherein utilizes pseudorandom number generator to determine the described predetermined displacement of determining in pseudorandom mode.
5. the method for claim 1, at least one the pixel samples point in wherein said a plurality of pixel samples points is shared with at least one pixel samples point of neighbor.
6. the method for claim 1, the step of the described a plurality of pixel sample values of wherein said combination comprise the mean value of determining described a plurality of pixel sample values.
7. the method for claim 1, wherein said a plurality of pixel sample values comprise a plurality of color values.
8. the method for claim 1, the pixel value of wherein said demonstration comprises color value.
9. the method for claim 1, wherein said predetermined displacement comprises along the position in the predetermined space at the edge of described pixel.
10. the method for claim 1, wherein said predetermined displacement equals zero.
11. the method for claim 1, at least one pixel samples in wherein said a plurality of pixel samples points o'clock is corresponding at least one pixel samples point of second pixel, and described second pixel is adjacent with the pixel of being sampled.
12. the method for claim 1, wherein the sample point of a plurality of pixels comprises acyclic in fact sample mode.
13. the method for claim 1, wherein said a plurality of pixel samples o'clock are made up of four pixel samples points.
14. the method for claim 1, each the pixel samples point location in wherein said a plurality of pixel samples points is on the edge of described pixel.
15. the method for claim 1, each the pixel samples point in wherein said a plurality of pixel samples points are positioned at the position that predetermined displacement is arranged along the edge of described pixel and position.
16. the method for claim 1, wherein said a plurality of pixel samples o'clock are made up of three pixel samples points.
17. the method for claim 1, wherein said a plurality of pixel samples points comprise:
Be positioned at first pixel samples point on the angle of described pixel;
Be positioned at along second pixel samples point of the position at first edge of described pixel; And
Be positioned at along the 3rd pixel samples point of the position at second edge of described pixel.
18. method as claimed in claim 17, at least one the pixel samples point in wherein said second pixel samples point and described the 3rd pixel samples point are positioned at the position that predetermined displacement is arranged along the edge of described pixel and position.
19. a system that is used to reduce sawtooth, described system comprises:
Be suitable for the sample buffer of memory image;
Be suitable for carrying out pixel sampling to produce the processor of corresponding a plurality of pixel sample values at a plurality of pixel samples points;
At least one pixel samples point in wherein said a plurality of pixel samples point is positioned at the position that predetermined displacement is arranged along the edge of pixel and position; And
Wherein said processor also is suitable for making up described a plurality of pixel sample values to produce the pixel value of at least one demonstration.
20. system as claimed in claim 19 also comprises the color memory of the pixel value that is suitable for storing described at least one demonstration.
21. system as claimed in claim 19, wherein said processor comprises CPU (central processing unit) (CPU).
22. system as claimed in claim 19, wherein said processor comprises Graphics Processing Unit (GPU).
23. system as claimed in claim 19, the step of the described a plurality of pixel sample values of wherein said combination comprise the mean value of determining described a plurality of pixel sample values.
24. system as claimed in claim 19, wherein said a plurality of pixel sample values comprise color value.
25. system as claimed in claim 19, the pixel value of wherein said at least one demonstration comprises color value.
26. system as claimed in claim 19, wherein said predetermined displacement utilizes look-up table to determine.
27. system as claimed in claim 19, wherein said predetermined displacement is determined in pseudorandom mode.
28. system as claimed in claim 27 also comprises being suitable for determining described pseudorandom number generator with the definite predetermined displacement of pseudorandom mode.
29. system as claimed in claim 19, wherein said predetermined displacement comprises along the position in the predetermined space at the edge of described pixel.
30. system as claimed in claim 19, wherein said predetermined displacement equals zero.
31. system as claimed in claim 19, at least one the pixel samples point in wherein said a plurality of pixel samples points is corresponding at least one pixel samples point of the neighbor of described image.
32. system as claimed in claim 19, at least one pixel samples in wherein said a plurality of pixel samples points o'clock is corresponding at least one pixel samples point of second pixel, and described second pixel is adjacent with the pixel of being sampled.
33. system as claimed in claim 19, wherein the sample point of a plurality of pixels comprises acyclic in fact sample mode.
34. system as claimed in claim 19, wherein said a plurality of pixel samples o'clock are made up of four pixel samples points.
35. system as claimed in claim 19, each the pixel samples point location in wherein said a plurality of pixel samples points is on the edge of described pixel.
36. system as claimed in claim 19, each the pixel samples point in wherein said a plurality of pixel samples points is positioned at the position that predetermined displacement is arranged along the edge of described pixel and position.
37. system as claimed in claim 19, wherein said a plurality of pixel samples o'clock are made up of three pixel samples points.
38. system as claimed in claim 19, wherein said a plurality of pixel samples points comprise:
Be positioned at first pixel samples point on the angle of described pixel;
Be positioned at along second pixel samples point of the position at first edge of described pixel; And
Be positioned at along the 3rd pixel samples point of the position at second edge of described pixel.
39. system as claimed in claim 38, at least one the pixel samples point in wherein said second pixel samples point and described the 3rd pixel samples point is positioned at along the predetermined displacement of a position of distance, edge of described pixel.
40. goods that are used to reduce sawtooth, described goods comprise:
At least one computer-readable medium;
Be included in the processor instruction on described at least one computer-readable medium, described processor instruction is configured to and can be read from described at least one computer-readable medium by at least one processor, and make described at least one processor operation thus so that:
At a plurality of pixel samples points the pixel of image is sampled to produce corresponding a plurality of pixel sample values;
At least one pixel samples point in wherein said a plurality of pixel samples point is positioned at the position that predetermined displacement is arranged along the edge of described pixel and position; And
Make up described a plurality of pixel sample values to produce the pixel value that shows.
41. goods as claimed in claim 40, wherein said predetermined displacement utilizes look-up table to determine.
42. goods as claimed in claim 40, wherein said predetermined displacement is determined in pseudorandom mode.
43. goods as claimed in claim 42 wherein utilize pseudorandom number generator to determine the described predetermined displacement of determining in pseudorandom mode.
44. goods as claimed in claim 40, at least one the pixel samples point in wherein said a plurality of pixel samples points is shared with at least one pixel samples point of neighbor.
45. goods as claimed in claim 40, the described a plurality of pixel sample values of wherein said combination comprise the mean value of determining described a plurality of pixel sample values.
46. goods as claimed in claim 40, wherein said a plurality of pixel sample values comprise a plurality of color values.
47. goods as claimed in claim 40, the pixel value of wherein said demonstration comprises color value.
48. goods as claimed in claim 40, wherein said predetermined displacement comprises along the position in the predetermined space at the edge of described pixel.
49. goods as claimed in claim 40, wherein said predetermined displacement equals zero.
50. goods as claimed in claim 40, at least one pixel samples in wherein said a plurality of pixel samples points o'clock is corresponding at least one pixel samples point of second pixel, and described second pixel is adjacent with the pixel of being sampled.
51. goods as claimed in claim 40, wherein the sample point of a plurality of pixels comprises acyclic in fact sample mode.
52. goods as claimed in claim 40, wherein said a plurality of pixel samples o'clock are made up of four pixel samples points.
53. goods as claimed in claim 40, each the pixel samples point location in wherein said a plurality of pixel samples points is on the edge of described pixel.
54. goods as claimed in claim 40, each the pixel samples point in wherein said a plurality of pixel samples points are positioned at the position that predetermined displacement is arranged along the edge of described pixel and position.
55. goods as claimed in claim 40, wherein said a plurality of pixel samples o'clock are made up of three pixel samples points.
56. goods as claimed in claim 40, wherein said a plurality of pixel samples points comprise:
Be positioned at first pixel samples point on the angle of described pixel;
Be positioned at along second pixel samples point of the position at first edge of described pixel; And
Be positioned at along the 3rd pixel samples point of the position at second edge of described pixel.
57. goods as claimed in claim 56, at least one the pixel samples point in wherein said second pixel samples point and described the 3rd pixel samples point are positioned at the position that predetermined displacement is arranged along the edge of described pixel and position.
CNA2005800393620A 2004-09-20 2005-09-19 Method and system for anti-aliasing by pixel sampling Pending CN101061517A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61152204P 2004-09-20 2004-09-20
US60/611,522 2004-09-20
US11/087,269 2005-03-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201310098788XA Division CN103325136A (en) 2004-09-20 2005-09-19 Method and system for anti-aliasing by pixel sampling

Publications (1)

Publication Number Publication Date
CN101061517A true CN101061517A (en) 2007-10-24

Family

ID=38866685

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800393620A Pending CN101061517A (en) 2004-09-20 2005-09-19 Method and system for anti-aliasing by pixel sampling

Country Status (1)

Country Link
CN (1) CN101061517A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715454A (en) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 Anti-aliasing graph overlapping algorithm
CN105405103A (en) * 2014-09-10 2016-03-16 辉达公司 Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
CN105574817A (en) * 2014-10-17 2016-05-11 华为技术有限公司 Image anti-aliasing method and apparatus
CN106846452A (en) * 2016-12-23 2017-06-13 北京大学 For the optimization method for postponing coloring antialiased rendition on a kind of GPU
US10147203B2 (en) 2014-09-10 2018-12-04 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
CN110717874A (en) * 2019-10-10 2020-01-21 徐庆 Image contour line smoothing method
CN114449244A (en) * 2020-10-31 2022-05-06 华为技术有限公司 Image quality adjusting method and device
CN114723598B (en) * 2020-12-18 2024-05-24 想象技术有限公司 Graphics processing system and method

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715454A (en) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 Anti-aliasing graph overlapping algorithm
CN104715454B (en) * 2013-12-14 2017-10-24 中国航空工业集团公司第六三一研究所 A kind of antialiasing figure stacking method
US10957078B2 (en) 2014-09-10 2021-03-23 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
CN105405103A (en) * 2014-09-10 2016-03-16 辉达公司 Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
CN105405103B (en) * 2014-09-10 2018-08-24 辉达公司 Enhance antialiasing by spatially and/or in time changing sampling configuration
US10096086B2 (en) 2014-09-10 2018-10-09 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US10147203B2 (en) 2014-09-10 2018-12-04 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
CN105574817A (en) * 2014-10-17 2016-05-11 华为技术有限公司 Image anti-aliasing method and apparatus
CN106846452A (en) * 2016-12-23 2017-06-13 北京大学 For the optimization method for postponing coloring antialiased rendition on a kind of GPU
CN106846452B (en) * 2016-12-23 2019-12-03 北京大学 For the optimization method of delay coloring antialiased rendition on a kind of GPU
CN110717874A (en) * 2019-10-10 2020-01-21 徐庆 Image contour line smoothing method
CN110717874B (en) * 2019-10-10 2022-11-04 徐庆 Image contour line smoothing method
CN114449244A (en) * 2020-10-31 2022-05-06 华为技术有限公司 Image quality adjusting method and device
CN114449244B (en) * 2020-10-31 2023-07-18 华为技术有限公司 Image quality adjusting method and device
CN114723598B (en) * 2020-12-18 2024-05-24 想象技术有限公司 Graphics processing system and method

Similar Documents

Publication Publication Date Title
CN101061517A (en) Method and system for anti-aliasing by pixel sampling
CN1773552A (en) Systems and methods for compressing computer graphics color data
JP4824687B2 (en) Efficient rasterization of graphic data cache
US7348996B2 (en) Method of and system for pixel sampling
US8803872B2 (en) Computer graphics processor and method for rendering a three-dimensional image on a display screen
CN101046888A (en) Rendering apparatus and method, and shape data generation apparatus and method
CN1707522A (en) Colour compressing system and method utilizing marginal data bit element shade
JP2006209223A (en) Drawing method, image generation device and electronic information apparatus
CN1893564A (en) Image special effect device, graphic processor and recording medium
KR20220047284A (en) Systems and methods for foveated rendering
CN1624723A (en) Single level MIP filtering algorithm for anisotropic texturing
CN1816829A (en) Selection of a mipmap level
CN1809840B (en) Method and equipment for supersampling rasterization of image data
CN1122945C (en) Image processor and image processing method
EP4200831A1 (en) Display non-uniformity correction
EP4004900A1 (en) Systems and methods for spatio-temporal dithering
US7940283B2 (en) Method and apparatus for pixel sampling
KR101030825B1 (en) Low-cost supersampling rasterization
CN1825357A (en) Apparatus and method for performing hidden surface removal and computer program product
CN1748229A (en) Low-cost supersampling rasterization
JP2004272635A (en) Graphics processor, graphics processing method, graphics processing program and program record medium
US11562679B2 (en) Systems and methods for mask-based temporal dithering
CN1278351A (en) Three-D graphics rendering apparatus and method
CN1159682C (en) Image generation method and image generation device
US11430398B2 (en) Systems and methods for mask-based spatio-temporal dithering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1113845

Country of ref document: HK

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20071024

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1113845

Country of ref document: HK