Anti-aliasing apparatus and method with automatic snap fit of horizontal and vertical edges to target grid
First Claim
1. An apparatus for converting outline data into bit-mapped image data having anti-aliasing attributes, where the bit-mapped image data is to be rendered by a pre-specified bit-mapped rendering unit at a pre-specified resolution, said apparatus comprising:
- (a) data storage means for storing data, wherein the stored data includes;
(a.1) plot instruction data for plotting a desired outline of an image to be rendered,(a.2) target outline data defining a first plot of the desired outline, scaled and grid fitted onto a target grid,(a.3) mezzanine outline data defining a second plot of the desired outline, upwardly scaled from the target grid onto a mezzanine grid, and(a.4) the bit-mapped image data with said anti-aliasing attributes; and
(b) data processing means, operatively coupled to and in cooperation with the data storage means, for;
(b.1) identifying as a target resolution the resolution at which the pre-specified bit-mapped rendering unit is to render the bit-mapped image data;
(b.2) establishing within said storage means, a target data buffer representing a target grid having a gridwork of pixels and coordinates corresponding to the identified target resolution;
(b.3) fetching from said storage means, plot instruction data for plotting a desired outline;
(b.4) scaling and grid fitting the fetched plot instruction data to the coordinates of the target grid and thereby creating target outline data representing a corresponding target grid outline;
(b.5) establishing within said storage means a mezzanine buffer representing a mezzanine grid having a gridwork of pixels and coordinates corresponding to a mezzanine resolution that is higher than the resolution of the target grid;
(b.6) upwardly scaling the coordinates of the target outline data to the mezzanine resolution of the mezzanine grid and thereby creating mezzanine level outline data representing the scaled-up target outline data;
(b.7) filling in the pixels of the mezzanine level outline by setting representative bits in the mezzanine buffer; and
(b.8) assigning, based on the bits set in the mezzanine buffer, one or more anti-aliasing attributes to each pixel of the target display grid by writing to the target data buffer for thereby producing bit-mapped image data having a desired anti-aliasing effect.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a method and apparatus for creating anti-aliasing effects in slanted or curved edge portions of a bit-mapped image while avoiding such effects at horizontal and vertical edge portions. A method in accordance with the invention comprises the steps of: (a) defining a set of plot instructions for plotting an ideal outline of a desired image; (b) identifying a target resolution to be provided by a bit-mapped rendering apparatus; (c) scaling and grid-fitting the outline to the identified target resolution; (d) upwardly scaling the grid-fitted outline to a mezzanine resolution level that is higher than the identified resolution of the target display medium; (e) filling the outline at the mezzanine resolution level (scan conversion); (f) assigning, based on the mezzanine level outline fill, one or more of a grayscale value or other anti-aliasing attribute vales to each corresponding pixel of the target display medium (sampling); and (g) rendering the image in accordance with this attribute assignment onto the target display medium for appreciation by a human observer.
22 Citations
31 Claims
-
1. An apparatus for converting outline data into bit-mapped image data having anti-aliasing attributes, where the bit-mapped image data is to be rendered by a pre-specified bit-mapped rendering unit at a pre-specified resolution, said apparatus comprising:
-
(a) data storage means for storing data, wherein the stored data includes; (a.1) plot instruction data for plotting a desired outline of an image to be rendered, (a.2) target outline data defining a first plot of the desired outline, scaled and grid fitted onto a target grid, (a.3) mezzanine outline data defining a second plot of the desired outline, upwardly scaled from the target grid onto a mezzanine grid, and (a.4) the bit-mapped image data with said anti-aliasing attributes; and (b) data processing means, operatively coupled to and in cooperation with the data storage means, for; (b.1) identifying as a target resolution the resolution at which the pre-specified bit-mapped rendering unit is to render the bit-mapped image data; (b.2) establishing within said storage means, a target data buffer representing a target grid having a gridwork of pixels and coordinates corresponding to the identified target resolution; (b.3) fetching from said storage means, plot instruction data for plotting a desired outline; (b.4) scaling and grid fitting the fetched plot instruction data to the coordinates of the target grid and thereby creating target outline data representing a corresponding target grid outline; (b.5) establishing within said storage means a mezzanine buffer representing a mezzanine grid having a gridwork of pixels and coordinates corresponding to a mezzanine resolution that is higher than the resolution of the target grid; (b.6) upwardly scaling the coordinates of the target outline data to the mezzanine resolution of the mezzanine grid and thereby creating mezzanine level outline data representing the scaled-up target outline data; (b.7) filling in the pixels of the mezzanine level outline by setting representative bits in the mezzanine buffer; and (b.8) assigning, based on the bits set in the mezzanine buffer, one or more anti-aliasing attributes to each pixel of the target display grid by writing to the target data buffer for thereby producing bit-mapped image data having a desired anti-aliasing effect. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for converting outline data into bit-mapped image data, where the bit-mapped data is to be transferred to a bit-mapped rendering unit having a pre-specified resolution and rendered thereby onto a target medium, said apparatus comprising:
-
(a) data storage means for storing data and outline data for a plurality of images where the outline data for an image includes plot instructions; (b) target identifying means for identifying a target resolution to be provided by the bit-mapped rendering unit; (c) target grid establishing means for establishing within said storage means a target grid having a gridwork of pixels and coordinates corresponding to the target resolution identified by the target identifying means; (d) outline fetching means for fetching from said storage means plot instructions for plotting a desired outline; (e) first scaling means for scaling and grid fitting the desired outline to the coordinates of the target grid established by the target grid establishing means and thereby creating a corresponding target grid outline; (f) mezzanine grid establishing means for establishing within said storage means a mezzanine grid having a gridwork of pixels and coordinates corresponding to a mezzanine resolution that is higher than the resolution of the target grid; (g) second scaling means for upwardly scaling the coordinates of the target grid outline to the mezzanine resolution level and thereby creating mezzanine level outline data representing a scaled-up outline; (h) mezzanine outline filling means for filling in the pixels of the mezzanine level outline with fill; and (i) assigning means for assigning, based on the fill of the mezzanine level outline pixels, one or more anti-aliasing attributes to each pixel of the target grid for producing bit-mapped image data having a desired anti-aliasing effect. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer method for converting outline data in a memory into bit-mapped image data, where the bit-mapped data is to be transferred to a bit-mapped rendering unit having a pre-specified resolution for rendering an image onto a target medium, said method comprising the steps of:
-
(a) defining and storing in the memory a set of plot instructions for plotting an ideal outline of a desired image, character or other glyph, the outline including one or more outline points through which a closed contour passes; (b) identifying a target resolution to be provided by the bit-mapped rendering unit; (c) scaling and grid-fitting an outline retrieved from the memory to the identified target resolution; (d) upwardly scaling the grid-fitted outline to a mezzanine resolution level that is higher than the identified target resolution to form a mezzanine outline; (e) filling the mezzanine outline at the mezzanine resolution level with fill; and (f) assigning, based on the fill of the mezzanine outline, one or more anti-aliasing attributes to pixels of a target display grid and thereby producing bit-mapped image data having a desired anti-aliasing effect. - View Dependent Claims (12, 13, 14)
-
-
15. An computer image rendition method for rendering a bit-mapped image having anti-aliasing effects onto a target grid from a supplied set of plot instructions stored in memory for an image wherein the plot instructions define a plotting of an ideal outline of the image to be rendered, said method including the steps of:
-
forming target outline data defining a first plot of the ideal outline, scaled and grid fitted onto a target grid, and forming mezzanine outline data defining a second plot of the desired outline, upwardly scaled from the target outline data onto a mezzanine grid, wherein plural grid boxes of the mezzanine grid tile perfectly into each grid box of the target grid.
-
-
16. A computer implemented method for rendering an image by a unit having a first resolution onto a medium in response to a bitmap generated for the image by a computer, said computer implemented method comprising the steps of:
-
(a) storing, in a memory, outline data for a plurality of images where the outline data for each image includes a set of plot instructions for plotting from a specified reference point an ideal outline of an image where the outline of the image includes one or more outline points through which a closed contour passes; (b) identifying the resolution of a unit which will produce an image onto the medium in response to a bitmap for the image; (c) generating a target grid in the storage where the target grid has a location resolution equal to the identified resolution of the unit where each location in the target grid is represented by a plurality of bits for assigning more than two values for each location in the target grid so as to include anti-aliasing attributes in the value for each location in the target grid and where a location of the target grid represents a bit in the bitmap generated by the apparatus; (d) recovering from memory outline data for a selected image; (e) scaling and fitting the outline data as a function of the resolution of the unit to create target outline data for the selected image such that each outline point is located at an integer location on the target grid; (f) projecting the outline of the selected image from the target outline data onto the target grid; (g) generating a mezzanine grid in the memory where the target grid is enlarged by an integer scaling factor in at least one dimension such that at least two bits in the mezzanine grid are associated with each bit in the target grid; (h) scaling the target outline data as a function of the integer scaling factor used in step (g) for the same dimensions as enlarged in step (g) to create mezzanine outline data for the selected image; (i) projecting the outline of the selected image from the mezzanine outline data onto the mezzanine grid where the projected outline of the selected image on the mezzanine grid has the same relative position as the projected outline of the selected image on the target grid; (j) assigning a value to each bit in the mezzanine grid as a function of the location of the bit in the mezzanine grid to the location of the outline of the selected image projected onto the mezzanine grid; and (k) assigning and storing in the target grid a value to each bit in the target grid as a function of the value assigned to the two or more bits in the mezzanine grid associated with a bit in the target grid such that the value assigned to a bit in the target grid includes anti-aliasing attributes. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for generating a bitmap for an image for use by a unit having a first resolution for displaying the image onto a medium, said apparatus comprising:
-
storage means for storage data where the stored data includes outline data for a plurality of images where the outline data for each image includes a set of plot instructions for plotting from a specified reference point an ideal outline of an image where the outline of the image includes one or more outline points through which a closed contour passes; data processing means connected to the storage means and, under program control, performs the function of; identifying the resolution of a unit which will produce an image onto the medium in response to a bitmap for the image; generating a target grid in the storage means where the target grid has a location resolution equal to the identified resolution of the unit where each location in the target grid is represented by a plurality of bits for assigning more than two values for each location in the target grid so as to include anti-aliasing attributes in the value for each location in the target grid and where a location of the target grid represents a bit in the bitmap generated by the apparatus; recovering from the storage means outline data for a selected image; scaling and fitting the outline data to the target grid for creating target outline data for the selected image as a function of the resolution of the unit such that each outline point in the outline data is located at an integer location on the target grid; generating a mezzanine grid in the storage means by enlarging the target grid by an integer scaling factor in at least one dimension where location in the mezzanine grid is represented by one bit in the storage means such that at least two locations in the mezzanine grid are associated with a location in the target grid; scaling the target outline data in the same dimensions and by the same integer scaling factor used to create the mezzanine grid; projecting the outline of the selected image from the mezzanine outline data onto the mezzanine grid where the projected outline of the selected image on the mezzanine grid has the same relative position as the outline of the selected image generated from the target outline data would have if projected onto the target grid; assigning and storing in the storage means a value to each bit in the mezzanine grid as a function of the location of the bit in the mezzanine grid relative to the location of the outline of the selected image projected onto the mezzanine grid; and assigning and storing in the storage means values to the plurality of bits for each location in the target grid as a function of the value assigned to the two or more bits in the two or more locations of the mezzanine grid associated with a location in the target grid such that the value assigned to bits for a location in the target grid includes anti-aliasing attributes. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
Specification