WO2000030033A2 - Device and method for antialiasing high resolution pixel data for lower resolution display - Google Patents
Device and method for antialiasing high resolution pixel data for lower resolution display Download PDFInfo
- Publication number
- WO2000030033A2 WO2000030033A2 PCT/US1999/027449 US9927449W WO0030033A2 WO 2000030033 A2 WO2000030033 A2 WO 2000030033A2 US 9927449 W US9927449 W US 9927449W WO 0030033 A2 WO0030033 A2 WO 0030033A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- antialiasing
- pixel data
- recited
- scanlines
- horizontally
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000000872 buffer Substances 0.000 claims abstract description 51
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 abstract description 16
- 238000009825 accumulation Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
Definitions
- This invention relates generally to antialiasing, and more particularly to antialiasing high resolution graphics data into low resolution pixel data for display.
- monitors In components in computer systems, display monitors often can be used for years longer than the rest of the computer systems. Moreover, monitors are one of the more expensive components in the computer systems and thus represent a substantial investment for most users.
- aliasing refers to distortion or jagged appearance of an object, which is typically caused by undersampling.
- Antialiasing is a technique that has been used to improve the distorted or jagged appearance of displayed raster lines by increasing the sampling rate.
- antialiasing has been performed using an accumulation buffer to hold one or more frames of pixel data. For example, one approach uses the accumulation buffer to accumulate the antialiased pixel values for an entire frame of pixels.
- storing a frame of pixel data at a resolution of 640x480 at 8-bits per R, G, and B pixel components typically requires at least about 0.9 kilobytes (Kbytes) of memory per frame.
- Kbytes kilobytes
- the storage requirement increases to at least 1.4 Megabytes (Mbytes) of memory.
- Mbytes Megabytes
- the memory requirement further increases to about 2.5 Mbytes.
- the increase in resolution typically requires more costly supporting circuitry, which adds to the cost of implementing the accumulation buffer.
- Another drawback associated with the traditional antialiasing pixel data using an accumulation buffer is a delay introduced by one or more frames accumulated in the accumulation buffer. That is, the storage of a frame in an accumulation buffer translates into a time delay equal to at least the time to accumulate the frame in the buffer. Since the state of the art applications often require real time performance, such a delay may not satisfy the real time processing requirements of these applications.
- the present invention fills these needs by providing a device and a method for antialiasing high resolution pixel data for display at a lower resolution. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium.
- the present invention provides a device for antialiasing high resolution pixel data into low resolution pixel data for display at the low resolution.
- the high resolution pixel data defines pixel values for a plurality of horizontal scanlines with each scanline being defined by a plurality of the high resolution pixel data.
- the device includes a horizontal antialiasing unit, a first and a second storage units, and a vertical antialiasing unit.
- the horizontal antialiasing unit is adapted to sequentially receive the high resolution pixel data and sequentially antialiases N contiguous horizontal pixels associated with M scanlines to generate a set of horizontally antialiased pixel data for the M scanlines.
- the horizontally antialiased pixel data for the M scanlines defines a set of vertically contiguous pixel data.
- the first and second storage units are capable of receiving and storing the horizontally antialiased pixel data associated with the M scanlines from the horizontal antialiasing unit.
- One storage unit receives and stores horizontally antialiased pixel data for the next M scanlines as a receiving buffer while the other storage unit provides the horizontally antialiased pixel data as an access buffer for vertical antialiasing.
- the vertical antialiasing unit is coupled to receive the horizontally-antialiased pixel data associated with the M scanlines from the access buffer.
- the vertical antialiasing unit performs vertical antialiasing on the vertically contiguous horizontally- antialiased pixel data to generate a pixel value for each NxM set of the high resolution pixel data.
- the present invention provides a method for antialiasing a first set of pixel data of a first resolution into a second set of pixel data for display at the low resolution.
- the method includes: (a) sequentially receiving M consecutive scanlines of the first set of pixel data; (b) horizontally antialiasing N contiguous horizontal pixels for the M scanlines; (c) vertically antialiasing the horizontally antialiased pixel data on the M scanlines to generate antialiased pixel data for the M scanlines; (d) while vertically antialiasing the horizontally antialiased pixel data, sequentially receiving a next M consecutive scanlines of the first set of pixel data and horizontally antialiasing the pixel data of the next consecutive M scanlines; and (e) vertically antialiasing the pixel data of the next M scanlines to generate antialiased data for the next M scanlines.
- the present invention provides a device for antialiasing high resolution pixel data into low resolution pixel data for display at the low resolution.
- the high resolution pixel data defining pixel values for a plurality of horizontal scanlines with each scanline being defined by a plurality of the high resolution pixel data.
- the device includes means for sequentially receiving the high resolution pixel data and horizontal antialiasing means for sequentially antialiasing N contiguous horizontal pixels associated with M scanlines.
- the horizontal antialiasing means generates a set of horizontally antialiased pixel data for the M scanlines.
- the horizontally antialiased pixel data for the M scanlines defines a set of vertically contiguous pixel data.
- the device also includes first and second storing means for receiving and storing the horizontally antialiased pixel data associated with the M scanlines from the horizontal antialiasing unit.
- One storing means receives and stores horizontally antialiased pixel data for the next M scanlines as a receiving buffer while the other storing means provides the horizontally antialiased pixel data as an access buffer for vertical antialiasing.
- the device further includes vertical antialiasing means for performing vertical antialiasing on the vertically contiguous horizontally-antialiased pixel data to generate a pixel value for each
- NxM set of the high resolution pixel data.
- the present invention generates antialiased pixel data at substantially real time rates with only M scanline delays.
- storing M scanlines produces only M scanlines of delay in NxM antialiasing in contrast to conventional antialiasing techniques, which typically used an accumulation buffer that produced a delay of one or more frames.
- the storage requirements are substantially smaller in that only M scanlines are stored as opposed to storing a whole frame of pixel data.
- the antialiasing device and method of the present invention provides an economical antialiasing solution with substantially real time performance.
- the antialiasing technique of the present invention allows users to recoup the cost of significant investment in their old, lower resolution monitors by allowing these monitors to run higher resolution applications.
- Figure 1 illustrates a block diagram of an exemplary computer graphics system within which the present invention may be implemented or practiced.
- FIG. 2 shows a more detailed block diagram of a graphics subsystem in accordance with one embodiment of the present invention.
- FIG. 3 illustrates a more detailed block diagram of the graphics subsystem in accordance with another embodiment of the present invention.
- Figure 4 illustrates a schematic block diagram of a pair of pixel scanlines for performing an exemplary 2x2 antialiasing.
- Figure 5 illustrates a flow chart of an antialiasing method performed by an antialiasing unit in accordance with one embodiment of the present invention.
- Figure 6 shows a schematic block diagram of the antialiasing unit for antialiasing input pixel data of resolution AxB into a lower (A/N)x(B/M) resolution for display at the lower resolution.
- Figure 7 shows a schematic diagram of exemplary adders that may be used to implement horizontal and vertical antialiasing units in accordance with one embodiment of the present invention.
- Figure 8 illustrates a timing diagram of a control unit in generating HSYNC2 and PCLK2 from HSYNCl and PCLK2 for an exemplary 2x2 antialiasing.
- Figure 1 illustrates a block diagram of a computer graphics system 100 within which the present invention may be implemented or practiced.
- the computer graphics system 100 is exemplary only and that the present invention can operate within a number of different computer system configurations including general purpose computer systems, embedded computer systems, and computer systems specially adapted to electronic design automation.
- certain processes and operations are realized as a series of instructions (e.g., software programs) that reside within computer readable memory units of computer graphics system 100 and are executed by processors therein.
- the computer graphics system 100 may be any computer-controlled graphics system suitable for generating 2D or 3D images.
- the computer graphics system 100 includes a bus 102 for transmitting digital information between the various parts of the computer system.
- One or more processors 104 for processing information are coupled to the bus 102.
- the information, together with the instructions for processing the information, are stored in a hierarchical memory system comprised of a mass storage device 108, a read only memory (ROM) 110, and a main memory 106.
- the mass storage device 108 is used to store a vast amount of data and may include one or more hard disk drives, floppy disk drives, optical disk drives, tape drives, CD-
- the ROM 110 is used to store digital data on a permanent basis, such as instructions for the microprocessors.
- the main memory 106 is used for storing digital data on an intermediate basis.
- the main memory 106 can be DRAM, SDRAM, RDRAM, or any other suitable memory for storing data while the computer graphics system 100 is turned on.
- the computer system 100 also includes a graphics subsystem 112 coupled to the bus 102 for processing graphics data.
- the processor 104 provides the graphics subsystem 112 with the graphics data, such as drawing commands, coordinate vertex data, and other data related to an object's geometric position, color, texture, shading, and other surface parameters.
- the graphics subsystem 112 From the graphics data provided, the graphics subsystem 112 generates high resolution graphics pixel data and converts the data into lower resolution data by antialiasing.
- the graphics unit 112 converts the lower resolution pixel data into video signals and transmits the signals to the display device
- the display device 114 is coupled to the graphics subsystem 112 to receive graphics data for display at the lower resolution.
- the display device 114 may be coupled to the graphics system 100 via the bus 102 through a serial bus such as universal serial bus (USB) or IEEE 1394 bus.
- USB universal serial bus
- Several other devices may also be coupled to the computer graphics system 100.
- an alphanumeric keyboard 116 may be used for inputting commands and other information to processor 104 via the bus 102.
- a user input device such as a cursor control device 118 (e.g., a mouse, trackball, joystick, and touchpad) may be used for positioning a movable cursor and selecting objects on a computer screen.
- a cursor control device 118 e.g., a mouse, trackball, joystick, and touchpad
- FIG. 2 shows a more detailed block diagram of the graphics subsystem 112 in accordance with one embodiment of the present invention.
- the graphics subsystem 112 includes a graphics processor 202, a frame buffer 204, an antialiasing unit 206, a digital-to- analog converter (DAC) 208, and a video amplifier 210.
- the graphics processor 202 receives graphics data and uses the frame buffer 204 in performing various well known graphics operations such as graphics transformation, scan conversion, rasterization to produce pixel values at a high resolution.
- the graphics processor 202 converts the graphical data into a screen coordinate system and may perform projection and transformation processes to generate graphics primitives such as points, lines, polygons, polyhedra, and the like.
- the graphics processor 102 may generate pixel data based on the received primitives by interpolating straight lines so that each intermediate value need not be individually and separately computed.
- the graphics processor 102 may also perform additional graphics functions such as Z-buffering, blending, and texturing on the pixel data.
- the resulting pixel data values (e.g., RGB values) are stored in the frame buffer 204.
- the graphics processor 102 may be implemented by using any suitable graphics processors such as Voodoo BansheeTM processor from 3dFx, Inc. of Santa
- the pixel values are then transmitted to the antialiasing unit 206, which is coupled to the graphics processor 202.
- the graphics processor 202 also generates and transmits a horizontal sync signal HSYNCl, a vertical sync signal VSYNC1, and a pixel clock signal PCLK1 to the antialiasing unit 206.
- the horizontal sync signal HSYNCl indicates the beginning of a new scan line while the vertical sync signal VSYNC1 specifies the top of an image frame.
- the pixel clock PCLK indicates each pixel in a horizontal scan line.
- the antialiasing unit 206 performs NxM antialiasing on the received pixel data to generate a downscaled resolution adapted for display at a lower resolution in the display device 114 where N and M are integer numbers greater than 1. That is, the antialiasing unit takes NxM block of pixels to generate a single pixel value by determining an average pixel value. If, for example, the input pixel resolution per frame is AxB, then the output pixel resolution per frame is (A/N)x(B/M). In a preferred embodiment, the antialiasing unit 606 performs 2x2 antialiasing such that the resulting resolution is half the vertical and horizontal resolutions.
- the antialiasing unit converts each of the 2x2 block of pixels in a pixel frame into a single pixel by determining the average of all four pixels in the 2x2 block to produce 320x240 output resolution.
- the generated pixel values are preferably in the form of red, green, and blue (RGB) pixel values.
- RGB red, green, and blue
- a and B are integer multiples of N and M, respectively.
- Display devices generally require synchronization signals VSYNC and HSYNC.
- the antialiasing unit 206 modifies HSYNCl and PCKL1 signals to generate HSYNC2 and PCLK2, respectively. Specifically, the antialiasing unit 206 generates
- the antialiasing unit 206 generates VSYNC2 from VSYNC 1 with a delay to account for the time delay in the antialiasing unit 206 to prevent skewing.
- the antialiasing unit 206 also clocks the pixel data through the antialiasing unit 206 to generate PCLK2 from PCLK1.
- the generated pixel data clock PCLK2 supports the pixel data rate of the display device 114.
- the antialiasing unit 206 outputs HSYNC2 and VSYNC2 to provide timing signals to the display device 114. For a CGA display device 114, the antialiasing unit 206 also generates a composite SYNC signal from the HSYNC2 and VSYNC2.
- the DAC 208 is coupled to the antialiasing unit 206 to receive the pixel data and PCLK2 for converting the pixel data into analog RGB signals based on the pixel rate PCLK2.
- the video amplifier 210 which is optional and may be provided externally, is coupled to the DAC 208 to receive the RGB signals and amplifies the RGB signals for transmission to the display device 114.
- FIG. 3 illustrates a more detailed block diagram of the graphics subsystem 112 in accordance with another embodiment of the present invention.
- the graphics subsystem 112 processes graphics data in a geometry unit 302, a scan conversion unit 304, and a rasterization unit 306.
- the geometry unit 302 converts the graphical data from the processor 104 into a screen coordinate system and may perform projection and transformation processes to give depth to a displayed object.
- the resulting primitives (points, lines, polygons, polyhedra, and the like) supplied by the geometry unit 302 are then provided to the scan conversion unit 304.
- the scan conversion unit 304 generates pixel data based on the received primitives by interpolating straight lines so that each intermediate value need not be individually and separately calculated by the geometry subsystem.
- FIG. 4 illustrates a schematic block diagram of a pair of pixel scanlines (i.e., rows) for performing an exemplary 2x2 antialiasing.
- the illustrated scanlines 1 and 2 has an exemplary horizontal resolution of 640 pixels.
- the 2x2 horizontal antialiasing essentially takes a 2x2 block of pixels and generates a representative pixel from the four pixels in the block.
- horizontal antialiasing takes a pair of consecutive pixels in scanline 1 and generates a single horizontally-antialiased pixel by averaging the pixel values. This is done for all the pixel pairs in the scanline 1 and scanline 2. Horizontal antialiasing thus generates 320 antialiased pixel values for each scanlines.
- the 2x2 vertical antialiasing takes a pair of vertically contiguous pixel values that have been horizontally-antialiased and generates a single antialiased pixel by averaging the pixel values. For a vertical resolution of 480, this antialiasing scheme produces 320x240 resolution image. The quality of the resulting antialiased image as displayed on the display device 114 is superior to displaying a native 320x240 image because each of the antialiased pixel represents a sampling of a block of pixels. Even though 2x2 antialiasing scheme is illustrated herein, those skilled in the art will appreciate that the antialiasing unit 606 may employ any suitable NxM antialiasing scheme by antialiasing N consecutive pixels in horizontally and M consecutive horizontally-antialiased pixels vertically.
- Figure 5 illustrates a flow chart of an antialiasing method performed by the antialiasing unit 206 in accordance with one embodiment of the present invention.
- the antialiasing unit 206 receives pixel data, HSYNCl, VSYNC 1, and PCLK1 associated with pixel data.
- the antialiasing unit 206 sequentially performs horizontal antialiasing on blocks of N contiguous horizontal pixels for M consecutive scanlines to generate horizontally- antialiased pixel values. Specifically, N consecutive pixel data in a horizontal scanline forming a horizontal pixel block are summed and averaged to generate a single pixel value.
- the horizontal antialiasing thus compresses the pixels in the horizontal scanlines by the ratio 1/N to generate A/N number of pixel values for each scan line.
- the horizontal antialiasing is applied to each scanline in the set of M consecutive horizontal scanlines.
- the antialiasing unit 206 After horizontally antialiasing the set of M horizontal scanlines, it is determined whether more scanlines need to be received for antialiasing in operation 506. If so, the antialiasing unit 206 performs vertical antialiasing on the horizontally-antialiased pixel data in operation 512. While performing the vertical antialiasing of operation 512, the antialiasing unit 206 also receives pixel data for the next M consecutive scanlines along with HSYNCl, VSYNC 1, and
- PCLK1 in operation 508 and performs horizontal antialiasing on the newly received pixel data in operation 510.
- the method proceeds to generate HSYNC2 by dividing HSYNCl by the ratio of input scanlines to output scanlines in operation 514. The method then proceeds back to operation 506 to determine whether more scanlines need to be received for antialiasing.
- the method proceeds to operation 516, where the antialiasing unit 206 performs vertical antialiasing on the horizontally- antialiased pixel data on the M consecutive scanlines. From AxB resolution pixel data, the method thus generates (A/N)x(B/M) resolution pixels per frame for display. Then in operation 518, the antialiasing unit 206 generates a new vertical sync signal VSYNC2 by delaying
- FIG. 6 shows a schematic block diagram of the antialiasing unit 206 for antialiasing input pixel data of resolution AxB into a lower (A/N)x(B/M) resolution for display at the lower resolution.
- the antialiasing unit 206 includes datapath circuitry 602, control unit 604, and a pair of storage units, RAM units A and B.
- the datapath circuitry 602 receives high resolution pixel data and is also coupled to transmit and receive control signals to and from the control unit 604 for performing antialiasing using the RAM units A and B.
- the RAM units A and B may be implemented by employing any suitable RAM technology such as DRAM, SDRAM, SGRM, RDRAM, and the like.
- the datapath circuitry 602 includes a horizontal antialiasing unit 610, a vertical antialiasing unit 612, a multiplexer 614, and a pair of buffers 616 and 618.
- the horizontal antialiasing unit 610 is coupled to the RAM units A and B through the buffers 616 and 618 for storing horizontally-antialiased pixel data.
- the horizontal antialiasing unit 610 sequentially receives the pixel data and performs horizontal antialiasing on a block of N contiguous horizontal pixels. Specifically, the horizontal antialiasing unit 610 determines and outputs an average of the N pixels as the horizontally-antialiased pixel value.
- the horizontal antialiasing unit 610 is implemented as one or more adders that add the N contiguous horizontal pixel values to determine the average of the pixels.
- an adder can be used to add two 5-bit R pixel components to generate a 6-bit weighted sum, which corresponds to the average of the two 5-bit R components.
- an adder may be implemented to add N pixel values by using various known weighting methods for each N pixel values.
- the adder sums two contiguous horizontal pixels to implement a 2x2 antialiasing scheme.
- an individual pixel data includes RGB components and as such, antialiasing may be performed on each R, G, and B components in parallel by using separate adders for each of the RGB components.
- the horizontally-antialiased pixel value (e.g., RGB values) is routed to RAM A for storage through a buffer 616.
- the control unit 604 asserts a buffer enable signal ENA to enable the buffer 616 and a write enable signal WEA to enable writing of the antialiased horizontal pixel value to the RAM unit A.
- the vertical antialiasing unit 612 is coupled to the RAM units A and B to receive the stored horizontally-antialiased pixel values through the multiplexer 614.
- the control unit 604 deasserts the buffer enable signal ENA and asserts a read enable signal REA to enable the vertical antialiasing unit 612 to access the stored horizontally-antialiased pixel values for vertical antialiasing.
- the control unit generates a select signal SEL indicates that the RAM unit A is to be accessed for vertical antialiasing.
- the vertical antialiasing unit 612 then accesses and performs vertical antialiasing on the horizontally- antialiased pixel data.
- the antialiased pixel data is then output to the DAC 208 for eventual display.
- the vertical antialiasing unit 612 in one embodiment, is implemented as one or more adders, which add M vertically contiguous horizontally-antialiased pixels to determine the average of the pixels.
- an adder can be used to add two 5-bit R pixel components to generate a 6-bit weighted sum, which corresponds to the average of the two 5 -bit R components.
- the adder sums two contiguous vertical pixels to implement a 2x2 antialiasing scheme.
- an individual pixel data includes RGB components and as such, antialiasing may be performed on each R, G, and B components in parallel by using separate adders for each of the RGB components.
- the horizontal antialiasing unit 610 sequentially receives next M scanlines and performs horizontal antialiasing.
- the control unit 604 asserts a buffer enable signal ENB to enable the buffer 618 and a write enable signal WEB for RAM unit B.
- the signals ENB and WEB together allow the horizontal antialiasing unit to transfer the horizontally-antialiased pixel data to the RAM unit B for storage.
- the vertical antialiasing unit 612 accesses RAM unit B while the horizontal antialiasing unit 602 received a next set of M scanlines for horizontal antialiasing and storage into RAM unit A.
- the control unit 604 generates the enable signals so as to alternate access to the RAM units A and B for the horizontal and vertical antialiasing units 602 and 612.
- FIG. 7 shows a schematic diagram of exemplary adders 702, 704, and 706 that may be used to implement the horizontal and vertical antialiasing units 610 and 612 in accordance with one embodiment of the present invention.
- the adders 702, 704, and 706 are used to add two horizontally or vertically contiguous R, G, and B pixel data components, respectively, to generate a single antialiased output Rs, Gs, and Bs components, respectively.
- Each of the input R, G, and B components are of i-bit width.
- the output Rs, Gs, and Bs components are i+1 bit wide so that Rs, Gs, and Bs components represent antialiased values.
- the adders 702, 704, and 706 are used to add two horizontally or vertically contiguous R, G, and B pixel data components, respectively, to generate a single antialiased output Rs, Gs, and Bs components, respectively.
- Each of the input R, G, and B components are of i-bit width.
- FIG. 702, 704, and 706 can be implemented to add N pixel components by employing various well known weighting techniques for each of the N pixel components.
- Figure 8 illustrates a timing diagram of the control unit 604 in generating HSYNC2 and
- PCLK2 from HSYNCl and PCLK2 for an exemplary 2x2 antialiasing.
- the input pixel data timing diagram 802 when asserted high, indicates when the input pixel data is received.
- the pixel data clock signal PCLKl 804 is generated at each pixel boundary.
- the signal HSYNCl is deasserted when no input data is being received.
- the control unit 604 generates HSYNC2 806 from HSYNCl 804 by doubling HSYNCl 804 to account for the fact that 2x2 antialiasing converts 2 contiguous pixel blocks into a single antialiased pixel.
- a pulse width 812 of HSYNC2 806 is wider than a pulse width 810 of HSYNCl to provide a greater synchronization margin.
- the control unit 604 also clocks the output pixel data 808 through the horizontal antialiasing unit 610 and generates PCLK2.
- the generated pixel data clock PCLK2 supports the pixel data rate of the display device 114 and is preferably double the rate of PCLKl.
- control unit 604 generates VSYNC2 from VSYNC 1 with a delay to account for the time delay in the antialiasing unit 206 to prevent skewing.
- the control unit also generates multiplexer select signal SEL, buffer enable signals ENA and ENB, write enable signals WEA and WEB, and read enable signals RE A and REB for controlling access to the RAM units A and B.
- the control unit 604 outputs HSYNC2 and VSYNC2 to provide timing signals to the display device 114.
- the antialiasing unit 206 also generates a composite SYNC signal by performing exclusive-OR function on signals HSYNC2 and VSYNC2.
- the present invention thus antialiases pixel data at substantially real time rates with only M scanline delays.
- the antialiasing unit 206 provides only 2 scanlines of delay in 2x2 antialiasing in contrast to conventional antialiasing techniques, which typically used an accumulation buffer that produced a delay of one or more frames.
- the RAM units A and B are substantially smaller in that they store only M scanlines as opposed to storing a whole frame of pixel data. Accordingly, the antialiasing device and method of the present invention provides an economical antialiasing solution with substantially real time performance.
- the antialiasing technique of the present invention allows users to recoup the cost of significant investment in their old, lower resolution monitors by allowing these monitors to run higher resolution applications.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU18234/00A AU1823400A (en) | 1998-11-17 | 1999-11-17 | Device and method for antialiasing high resolution pixel data for lower resolution display |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10878498P | 1998-11-17 | 1998-11-17 | |
US60/108,784 | 1998-11-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000030033A2 true WO2000030033A2 (en) | 2000-05-25 |
WO2000030033A3 WO2000030033A3 (en) | 2000-07-20 |
Family
ID=22324028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1999/027449 WO2000030033A2 (en) | 1998-11-17 | 1999-11-17 | Device and method for antialiasing high resolution pixel data for lower resolution display |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU1823400A (en) |
WO (1) | WO2000030033A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003056834A2 (en) * | 2001-12-28 | 2003-07-10 | Stmicroelectronics S.A. | Pixellated image data sub-sampling |
EP3098776A4 (en) * | 2014-01-21 | 2017-09-27 | Sumitomo Heavy Industries, Ltd. | Image generation device and operation assistance system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5299300A (en) * | 1990-02-22 | 1994-03-29 | Harris Corporation | Interpolation processing of digital map imagery data |
US5596684A (en) * | 1994-11-23 | 1997-01-21 | Compaq Computer Corporation | Anti-aliasing apparatus and method using fast scan-line memory mapping for sampling pixel patterns |
US5598184A (en) * | 1992-03-27 | 1997-01-28 | Hewlett-Packard Company | Method and apparatus for improved color recovery in a computer graphics system |
US5742277A (en) * | 1995-10-06 | 1998-04-21 | Silicon Graphics, Inc. | Antialiasing of silhouette edges |
-
1999
- 1999-11-17 AU AU18234/00A patent/AU1823400A/en not_active Abandoned
- 1999-11-17 WO PCT/US1999/027449 patent/WO2000030033A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5299300A (en) * | 1990-02-22 | 1994-03-29 | Harris Corporation | Interpolation processing of digital map imagery data |
US5598184A (en) * | 1992-03-27 | 1997-01-28 | Hewlett-Packard Company | Method and apparatus for improved color recovery in a computer graphics system |
US5596684A (en) * | 1994-11-23 | 1997-01-21 | Compaq Computer Corporation | Anti-aliasing apparatus and method using fast scan-line memory mapping for sampling pixel patterns |
US5742277A (en) * | 1995-10-06 | 1998-04-21 | Silicon Graphics, Inc. | Antialiasing of silhouette edges |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003056834A2 (en) * | 2001-12-28 | 2003-07-10 | Stmicroelectronics S.A. | Pixellated image data sub-sampling |
WO2003056834A3 (en) * | 2001-12-28 | 2004-02-26 | St Microelectronics Sa | Pixellated image data sub-sampling |
EP3098776A4 (en) * | 2014-01-21 | 2017-09-27 | Sumitomo Heavy Industries, Ltd. | Image generation device and operation assistance system |
US10134119B2 (en) | 2014-01-21 | 2018-11-20 | Sumitomo Heavy Industries, Ltd. | Image generation device and operation support system |
Also Published As
Publication number | Publication date |
---|---|
WO2000030033A3 (en) | 2000-07-20 |
AU1823400A (en) | 2000-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5577203A (en) | Video processing methods | |
US6020901A (en) | Fast frame buffer system architecture for video display system | |
US5831592A (en) | Scaling image signals using horizontal pre scaling, vertical scaling, and horizontal scaling | |
EP0685829B1 (en) | Vertical filtering method for raster scanner display | |
US8026919B2 (en) | Display controller, graphics processor, rendering processing apparatus, and rendering control method | |
US7616207B1 (en) | Graphics processing system including at least three bus devices | |
US5600347A (en) | Horizontal image expansion system for flat panel displays | |
US6130660A (en) | System and method for synthesizing high resolution video | |
JPH10504113A (en) | Variable pixel depth and format for video windows | |
JPS58105374A (en) | Digital type two dimensional interpolation apparatus and method | |
US6304300B1 (en) | Floating point gamma correction method and system | |
CN100545903C (en) | The error accumulation dithering of view data | |
KR20180100486A (en) | Data processing systems | |
US7050077B2 (en) | Resolution conversion device and method, and information processing apparatus | |
CN101060607A (en) | Image zooming device and its method | |
JPS63245569A (en) | Picture display processor | |
EP0951694B1 (en) | Method and apparatus for using interpolation line buffers as pixel look up tables | |
US5196934A (en) | Image scaling apparatus for a multimedia system | |
WO2000030033A2 (en) | Device and method for antialiasing high resolution pixel data for lower resolution display | |
US5818466A (en) | Apparatus for providing multi-layer sprite graphic for an on-screen-graphic of television | |
JPH09185360A (en) | Graphic controller circuit, computer system, and source video image scaling-up method | |
US5359347A (en) | Cursor processor | |
JP2002182639A (en) | Image processor | |
JP3000855B2 (en) | Character graphic processing device and information processing device | |
JPH10187124A (en) | Plotting device and plotting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase in: |
Ref country code: AU Ref document number: 2000 18234 Kind code of ref document: A Format of ref document f/p: F |
|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase |