WO2006129943A1 - Procede rapide anti-crenelage - Google Patents
Procede rapide anti-crenelage Download PDFInfo
- Publication number
- WO2006129943A1 WO2006129943A1 PCT/KR2006/002053 KR2006002053W WO2006129943A1 WO 2006129943 A1 WO2006129943 A1 WO 2006129943A1 KR 2006002053 W KR2006002053 W KR 2006002053W WO 2006129943 A1 WO2006129943 A1 WO 2006129943A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sub
- pixel
- pixels
- graphic
- storage unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004364 calculation method Methods 0.000 abstract description 19
- 230000001174 ascending effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 235000021438 curry Nutrition 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Definitions
- the present invention relates to a fast anti-aliasing method.
- the fast anti-aliasing method when pixels overlapping each segment of a graphic forming a vector graphic are extracted, a pixel is divided into multiple sub-pixels, simple calculation is performed to find whether specific sub-pixels overlap the graphic or not, and the intensity of the pixel is determined by calculating how many sub-pixels among sub- pixels composing one pixel overlap the graphic, without calculating areas of the overlapped pixel portions. Therefore, multiplication and division operations for the area calculation of the graphic are removed, thereby more rapidly displaying mathematically described graphics.
- a distorted image is generally caused due to the characteristics of the display device.
- a mathematically described triangle should be drawn as shown in Fig. 1, but it will be displayed as shown in Fig. 2 because each coordinate thereof should be assigned only to relevant pixel on an actual display device.
- the phenomenon shown in Fig. 2 is called a jagging effect.
- anti-aliasing is generally performed in computer graphics.
- the anti-aliasing means an operation of reducing a jagging effect by adjusting the intensity of brightness of pixels located in the vicinity of borders where the jagging effect occurs. Therefore, if the anti-aliasing is performed on a graphic of Fig. 2, the graphic is displayed as an image as shown in Fig. 3.
- the intensity of the border pixel is calculated according to what percent of one pixel a triangle described with an actual mathematical expression covers.
- an algorithm for this calculation is called area-sampling.
- the intensity of brightness of the pixel is calculated and displayed on the basis of an area where the triangle covers the pixel.
- Ll and S2 is expressed as a decimal point which is smaller than "1". Since this requires a floating point operation, the length and width of a pixel are up-scaled as "256" in most algorithms. Accordingly, the foregoing coordinates of the triangle "(3, 1), (1, 6), (7, 8)" are used in a state where the coordinates are up-scaled as "(3 * 256, 1 * 256), (1 * 256, 6 * 256), (7 * 256, 8 * 256)” while the algorithm is executed by a certain program. Further, the up-scaled coordinates are down-scaled by again dividing them by "256” in a final step. At this time, a process of multiplying or dividing the coordinates by "256” can be performed very fast through an 8-bit shift operation.
- the present invention provides a fast anti-aliasing method that enables graphics to be more rapidly displayed when displaying the mathematically described graphics on a display device.
- a fast anti-aliasing method applied to a display device which is provided with a graphic information storage unit, a sub-pixel information storage unit, and a display buffer, includes extracting sub-pixels overlapping along segments of a graphic and then storing the sub-pixels into the sub- pixel information storage unit, using graphic information stored in the graphic information storage unit; sorting the sub-pixels stored in the sub-pixel information storage unit with respect to X and Y coordinates; and calculating intensity of each pixel through the sorted sub-pixels in the sub-pixel information storage unit and then storing result values into the display buffer such that the intensity of each pixel is reflected into a physical display unit.
- the extracting of the sub-pixels includes extracting X and Y coordinates of the sub-pixels through scanning along each segment of a graphic to extract the sub-pixels overlapping along the segments of the graphic using the graphic information stored in the graphic information storage unit and then storing the extracted coordinates into the sub-pixel information storage unit; and determining whether remaining segments of the graphic stored in the graphic information storage unit are present, so that the step returns to the extracting of X and Y coordinates if there exists any segments or the step proceeds to the sorting of the sub- pixels if there exists no segment.
- FIGs. 1 to 4 are reference views illustrating a general anti-aliasing method.
- FIG. 5 to 7 are reference views illustrating the problem of a conventional antialiasing method.
- Fig. 8 is a functional block diagram showing the configuration of a display device to which a fast anti-aliasing method is applied according to an embodiment of the present invention.
- Fig. 9 is an operational flow chart illustrating the fast anti-aliasing method according to an embodiment of the present invention.
- Figs. 10 to 12 are reference views illustrating the tenth step SlO in the fast antialiasing method of Fig. 9.
- Figs. 13 to 15 are reference views illustrating a process of displaying a triangle using 16 pixels.
- Figs. 16 to 35 are reference views illustrating a process of recording coordinates, intensity and coverage of each pixel through the tenth step SlO in the fast anti-aliasing method of Fig. 9.
- Fig. 36 is a view showing result values of the twentieth step S20 in the fast antialiasing method of Fig. 9.
- Fig. 37 is a view showing result values of the thirtieth step S30 in the fast antialiasing method of Fig. 9.
- Fig. 8 is a diagram illustrating the configuration of a display device to which the fast anti-aliasing method according to an embodiment of the invention is applied.
- the display device includes an operator 10 having a sub-pixel information extraction module 11, a sub-pixel information sorting module 12, and a pixel color value calculation module 13; a memory 20 having a graphic information storage unit 21, a sub-pixel information storage unit 22 and a display buffer 23; and a display unit 30.
- the sub-pixel in- formation extraction module 11 of the operator 10 extracts sub-pixels overlapping along segments of a graphic and then stores the result values thereof into the sub-pixel information storage unit 21, using coordinate information of the graphic stored in the graphic information storage unit 21 of the memory 20.
- the sub-pixel information sorting module 12 sorts the sub-pixels stored in the sub-pixel information storage unit 22 with respect to X and Y coordinates. For example, the sub-pixel information sorting module 12 performs sorting primarily in an ascending order of Y coordinates and secondarily in an ascending order of X coordinates.
- the pixel color value calculation module 13 calculates the intensity of each pixel based on the sub-pixels sorted by the sub-pixel information storage unit 22 and then stores the result values thereof into the display buffer 21 such that contents of the display buffer 21 are reflected to the physical display 30.
- the graphic information storage unit 21 is a memory for holding information on a graphic, i.e. information on the segments forming the graphic or information on Bezier curves. At this time, the Bezier curves can be easily approximated into segments.
- the sub-pixel information storage unit 22 is a memory for holding sub-pixel coordinates extracted along segments forming a graphic and is also a memory for additionally holding various information tables used in a progress step of an algorithm on anti-aliasing processing according to the invention.
- the display buffer 23 is a memory for holding the intensity of each pixel of a graphic that will be finally displayed on the display unit 30.
- the sub-pixel information extraction module 11 extracts sub-pixels overlapping along the segments of a graphic and then stores the sub-pixels in the sub-pixel information storage unit 22, using coordinate information of the graphic stored in the graphic information storage unit 21 (SlO).
- the aforementioned tenth step SlO includes an eleventh step Sl 1 in which the sub- pixel information extraction module 11 extracts x and y coordinates of the sub-pixels while scanning along each segment of a graphic to extract the sub-pixels overlapping along the segments of the graphic using the coordinate information of the graphic stored in the graphic information storage unit 21 of the memory 20 and then stores the extracted coordinates into the sub-pixel information storage unit 22; and a twelfth step S 12 in which the sub-pixel information extraction module 11 determines whether or not the remaining segments of the graphic stored in the graphic information storage unit 21 are present and the step returns to the eleventh step Sl 1 if there exists any segments or proceeds to a twentieth step S20 if there exists no segments.
- the method in which the sub pixel sorting module 12 sorts the sub-pixels stored in the sub-pixel information storage unit 22 with respect to X and Y coordinates can be variously set as described above.
- Fig. 9 shows a case where the sub-pixel information sorting module 12 performs sorting primarily in an ascending order of Y coordinates and secondarily in an ascending order of X coordinates.
- one pixel is divided into 16 sub-pixels. In such a case, it is calculated only which sub-pixels overlap the segment forming a triangle. That is, the area of sub- pixels overlapping the segment needs not be calculated. At this time, in a case where one pixel is divided into 16 sub-pixels, the respective coordinates of the triangle are up-scaled as "(3 * 16, 1 * 16), (1 * 16, 6 * 16), (7 * 16, 8 * 16)".
- a process of multiplying the original coordinates by 16 can be performed very fast by performing a 4-bit shift operation.
- the intensity of the pixels of Fig. 10 the number of sub-pixels covered by a graphic should be counted.
- the sub-pixels covered by a graphic are as shown in Fig. 12. However, this can be found by merely checking the 4 low-order bits of each sub-pixel obtained in Fig. 11 . Consequently, the intensity of the pixels is calculated as 12/16 (75%).
- higher quality can also be obtained according to how many sub-pixels one pixel is divided into. In a case where one pixel is divided into 256 sub-pixels, values having 256 gradations can be obtained, which enables the anti-aliasing with a high quality.
- the coordinates of the triangle are up-scaled by multiplying the coordinates by 16, as shown in Fig. 14.
- the coordinates of the triangle are changed from (1, 0) to (16, 0), from (0, 1) to (0, 16), and from (2, 2) to (32, 32), respectively.
- the intensity and coverage of each pixel are recorded simultaneously when sub-pixels overlapping segments of the triangle are traced.
- a modified line drawing algorithm i.e. a "Bresenham Line Drawing” algorithm, a DDA (Digital Differential Analyzer) algorithm or the like can be used.
- the intensity and coverage of actual pixels are recorded while the relevant sub-pixels are found out.
- FIG. 16 shows that a first table entry is added.
- the intensity and coverage values are initialized as "0" when each table entry is added.
- the intensity and coverage have a negative value when the direction of a segment is downward, whereas the intensity and coverage have a positive value when the direction of a segment is upward.
- intensity and coverage of the pixel are reversely recorded depending on a processing method of the pixel color value calculation module.
- the scope of the invention is not limited thereto.
- the initial values of intensity and coverage for the current sub-pixel are initialized as "0", as shown in the table of Fig. 17.
- the sub-pixel shown in Fig. 17 has an intensity of "-3" and a coverage of "-1". These are reflected as in the table of Fig. 17.
- Fig. 21 shows that edge tracking for the segment proceeding from (0, 16) to (32,
- a sub-pixel located at a point where two segments intersect each other is always detected twice. That is, the sub-pixel (0, 16) is first detected (has been recorded in the just previous step) while a segment proceeds from (16, 0) to (0, 16), and detected once again while a segment proceeds from (0, 16) to (32, 32). As such, a sub-pixel located at a point where two segments intersect each other is recorded when the directions of the segments are changed, whereas it is not recorded when the directions of the segments are not changed. In Fig. 21, since the directions of the segment proceeding from (16, 0) to (0, 16) and the segment proceeding from (0, 16) to (32, 32) are all downward, the sub-pixel is not recorded.
- Figs. 22 to 24 show that new table entries are added while a new segment proceeds from (0, 16) to (32, 32).
- Fig. 25 shows the last sub-pixel corresponding to the segment proceeding from (0, 16) to (32, 32). In such a case, the values of intensity and coverage are shown in the table of Fig. 25.
- Fig. 26 shows that edge tracking for the segment proceeding from (32, 32) to (16,
- Figs. 27 to 33 show that new table entries are added while a new segment proceeds from (32, 32) to (16, 0).
- Fig. 34 shows the last sub-pixel corresponding to the segment proceeding from (32, 32) to (16, 0). In such a case, the values of intensity and coverage are shown in the table of Fig. 34.
- whether the first sub-pixel is recorded should be determined according to whether the proceeding directions of the first and last segments are the same as or different from each other. In the above process, such a determination is omitted herein for the sake of convenience.
- the sub-pixel information sorting module 12 sorts the sub-pixels stored in the sub-pixel information storage unit 22 with respect to X and Y coordinates, as shown in Fig. 36 (S20).
- an order of the sorting is performed primarily in an ascending order of Y coordinate and secondly in an ascending order of X coordinate. However, it can be selected differently depending on a direction of drawing a picture (from the top to the bottom or from the bottom to the top of a screen) or a direction of drawing each line (from the left to the right or from the right to the left of a screen).
- “Quick Sort” or "Shell Sort” sorting algorithm can be used as a sorting method.
- the pixel color value calculation module 13 adds up the values of intensity and coverage of the same pixel coordinates. For example, there exist two table entries having a coordinate value of (1, 0) in the table of Fig. 36. In Fig. 37, however, there exists one table entry having a coordinate value of (1, 0), because the values of intensity and coverage of two table entries are added up.
- the result of Fig. 37 is obtained from the table of Fig. 36.
- the pixel color value calculation module reflects color values of the pixels into the display buffer 23 such that the contents of the display buffer 23 are reflected to the physical display unit 30 (S30).
- S30 physical display unit
- the pixel color value calculation module 13 can calculate the intensity of each pixel using pseudo codes described below.
- a table indicates the table of Fig. 37.
- information of each table entry is accessed so as to draw a span (an image of each row which should be drawn in order to output a picture in a span-raster device).
- X and Y coordinates of a pixel, which is being drawn are maintained by $CurrX and $CurrY, and color intensity of a pixel is represted by $C.
- $Coverage maintains a coverage value of a table entry which is currently accessed.
- a picture is drawn from the top to the bottom of a screen and from the left to the right of the screen. However, this can be implemented reversely in accordance with an implementing method. Further, it is assumed in the following codes that one pixel is divided into 16 sub-pixels.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
L'invention concerne un procédé rapide anti-crénelage dans lequel, quand des pixels chevauchant chaque segment d'un graphique formant un graphique vectoriel sont extraits, un pixel est divisé en plusieurs sous-pixels, un calcul simple est effectué de manière à découvrir si des sous-pixels spécifiques chevauchent ou non le graphique et l'intensité du pixel est déterminée par calcul du nombre de sous-pixels parmi les sous-pixels composant le pixel chevauchant le graphique, sans calcul des zones des parties de pixels chevauchantes. Par conséquent, des opérations de multiplication et de division destinées au calcul des zones du graphique sont éliminées, permettant ainsi d'afficher plus rapidement des graphiques à description mathématique. Selon l'invention, une opération plus rapide peut être effectuée grâce à un processus d'affichage du graphique. Par conséquent, ce procédé présente un caractère avantageux en ce que le rendement du système peut être maximisé et que la qualité de service peut également être améliorée.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2005-0047623 | 2005-06-03 | ||
KR20050047623 | 2005-06-03 | ||
KR1020050113627A KR100719480B1 (ko) | 2005-06-03 | 2005-11-25 | 고속의 안티알리아싱 처리 방법 |
KR10-2005-0113627 | 2005-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006129943A1 true WO2006129943A1 (fr) | 2006-12-07 |
Family
ID=37481833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2006/002053 WO2006129943A1 (fr) | 2005-06-03 | 2006-05-29 | Procede rapide anti-crenelage |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2006129943A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007057506A1 (fr) * | 2005-11-15 | 2007-05-24 | Bitboys Oy | Anticrenelage d'images graphiques vectorielles |
CN103177463A (zh) * | 2011-12-23 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 一种绘制圆角的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970002749A (ko) * | 1995-06-30 | 1997-01-28 | 김광호 | 가상 서브픽셀 메모리를 이용한 안티에일리어싱 그래픽스 장치 |
KR20000000612A (ko) * | 1998-06-01 | 2000-01-15 | 윤덕용 | 부화소 마스크 생성장치 |
KR20020087832A (ko) * | 2001-05-14 | 2002-11-23 | 미쓰비시덴키 가부시키가이샤 | 안티-에일리어스 폰트 생성기 |
KR20040086740A (ko) * | 2003-04-03 | 2004-10-12 | 마이크로소프트 코포레이션 | 고품질 안티에일리어싱 |
-
2006
- 2006-05-29 WO PCT/KR2006/002053 patent/WO2006129943A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970002749A (ko) * | 1995-06-30 | 1997-01-28 | 김광호 | 가상 서브픽셀 메모리를 이용한 안티에일리어싱 그래픽스 장치 |
KR20000000612A (ko) * | 1998-06-01 | 2000-01-15 | 윤덕용 | 부화소 마스크 생성장치 |
KR20020087832A (ko) * | 2001-05-14 | 2002-11-23 | 미쓰비시덴키 가부시키가이샤 | 안티-에일리어스 폰트 생성기 |
KR20040086740A (ko) * | 2003-04-03 | 2004-10-12 | 마이크로소프트 코포레이션 | 고품질 안티에일리어싱 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007057506A1 (fr) * | 2005-11-15 | 2007-05-24 | Bitboys Oy | Anticrenelage d'images graphiques vectorielles |
US8269788B2 (en) | 2005-11-15 | 2012-09-18 | Advanced Micro Devices Inc. | Vector graphics anti-aliasing |
CN103177463A (zh) * | 2011-12-23 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 一种绘制圆角的方法和装置 |
CN103177463B (zh) * | 2011-12-23 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 一种绘制圆角的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6788301B2 (en) | Active pixel determination for line generation in regionalized rasterizer displays | |
JP2910979B2 (ja) | コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置 | |
US8269788B2 (en) | Vector graphics anti-aliasing | |
US7136083B2 (en) | Display method by using sub-pixels | |
US20080285889A1 (en) | Image transform method for obtaining expanded image data, image processing apparatus and image display device therefore | |
US8520007B2 (en) | Graphic drawing device and graphic drawing method | |
CN101887592B (zh) | 一种矢量图形地图符号的绘制方法 | |
US7764292B2 (en) | Three dimensional graphics processing apparatus, image display apparatus, three dimensional graphics processing method, control program and computer-readable recording medium | |
US20200279415A1 (en) | Efficiently Computed Distance Fields | |
US20050052455A1 (en) | Effecient display update from changing object graphics | |
US20050162426A1 (en) | Character display apparatus and character display method, control program for controlling the character display method and recording medium recording the control program | |
US6172680B1 (en) | Method and apparatus for a three-dimensional graphics processing system including anti-aliasing | |
US20090322781A1 (en) | Anti-aliasing techniques for image processing | |
WO2006129943A1 (fr) | Procede rapide anti-crenelage | |
JP4664169B2 (ja) | 図形描画装置及び図形描画プログラム | |
US20100134509A1 (en) | Image rendering processing apparatus | |
US6753861B2 (en) | Active region determination for line generation in regionalized rasterizer displays | |
EP1139294B1 (fr) | Système et appareil d'image graphique | |
KR100719480B1 (ko) | 고속의 안티알리아싱 처리 방법 | |
CN110807113B (zh) | 可视化布局中的矩形图元重叠的非迭代消除方法 | |
JP2008009897A (ja) | ベクトル図形描画装置及びそのプログラム | |
KR100705188B1 (ko) | 문자 폰트 표시 방법 | |
US6791547B2 (en) | Auxiliary active region determination for line width generation in regionalized rasterizer displays | |
KR101032835B1 (ko) | 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치 | |
CN115049564A (zh) | 一种图片锐化处理方法及处理终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06768681 Country of ref document: EP Kind code of ref document: A1 |