System and method for optimising halftoning printer performance
First Claim
1. An apparatus for rendering a plurality of graphical objects of an image on a scanline basis, each scanline comprising at least one run of pixels, each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within the edges of the at least one graphical object, said apparatus comprising:
- decomposing means for decomposing each of the graphical objects into at least one edge representing the corresponding graphical objects;
sorting means for sorting one or more arrays containing the edges representing the graphical objects of the image, at least one of the arrays being sorted in an order from a highest priority graphical object to a lowest priority graphical object;
determining means for, using the one or more arrays, determining edges of the graphical objects defining a run of pixels of at least one of the scanlines, graphical objects contributing to the run of pixels and edges of the contributing graphical objects; and
generating means for generating the run of pixels by halftoning fill data within the edges of a highest priority contributing graphical object, if the highest priority graphical object contributing to the run of pixels is opaque, andsaid determining means determines a tiled representation of a portion of the highest priority contributing graphical object using the halftone fill data, wherein the tiled representation is used to generate subsequent runs of pixels corresponding to the highest priority contributing graphical object;
otherwise, said generating means generates the run of pixels by compositing data associated with the highest priority contributing graphical object and one or more of further contributing graphical objects and halftoning the composited data.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus renders a plurality of graphical objects of an image on a scanline basis, with each scanline including at least one run of pixels, and each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within the edges of the at least one graphical object. The apparatus includes a decomposer for decomposing each of the graphical objects into at least one edge representing the corresponding graphical objects, a sorter for sorting one or more arrays containing the edges representing the graphical objects of the image, at least one of the arrays being sorted in an order from a highest priority graphical object to a lowest priority graphical object, and a determining device for, using the one or more arrays, determining edges of the graphical objects defining a run of pixels of at least one of the scanlines, graphical objects contributing to the run of pixels and edges of the contributing graphical objects. In addition, a generator generates the run of pixels by halftoning fill data within the edges of a highest priority contributing graphical object, if the highest priority graphical object contributing to the run of pixels is opaque, and the determining device determines a tiled representation of a portion of the highest priority contributing graphical object using the halftone fill data, wherein the tiled representation is used to generate subsequent runs of pixels corresponding to the highest priority contributing graphical object. Otherwise, the generator generates the run of pixels by compositing data associated with the highest priority contributing graphical object and one or more of further contributing graphical objects and halftoning the composited data.
-
Citations
5 Claims
-
1. An apparatus for rendering a plurality of graphical objects of an image on a scanline basis, each scanline comprising at least one run of pixels, each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within the edges of the at least one graphical object, said apparatus comprising:
-
decomposing means for decomposing each of the graphical objects into at least one edge representing the corresponding graphical objects; sorting means for sorting one or more arrays containing the edges representing the graphical objects of the image, at least one of the arrays being sorted in an order from a highest priority graphical object to a lowest priority graphical object; determining means for, using the one or more arrays, determining edges of the graphical objects defining a run of pixels of at least one of the scanlines, graphical objects contributing to the run of pixels and edges of the contributing graphical objects; and generating means for generating the run of pixels by halftoning fill data within the edges of a highest priority contributing graphical object, if the highest priority graphical object contributing to the run of pixels is opaque, and said determining means determines a tiled representation of a portion of the highest priority contributing graphical object using the halftone fill data, wherein the tiled representation is used to generate subsequent runs of pixels corresponding to the highest priority contributing graphical object; otherwise, said generating means generates the run of pixels by compositing data associated with the highest priority contributing graphical object and one or more of further contributing graphical objects and halftoning the composited data. - View Dependent Claims (2, 3)
-
-
4. A computer readable storage medium encoded with a computer program, where the program is configured for rendering a plurality of graphical objects of an image on a scanline basis, each scanline comprising at least one run of pixels, each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within edges of the at least one graphical object, said program comprising code for causing a computer system to execute the following steps:
-
(I) decomposing each of said graphical objects into at least one edge representing the corresponding graphical object; (II) sorting one or more arrays containing the edges representing the graphical objects of the image, at least one of the arrays being sorted in an order from a highest priority graphical object to a lowest priority graphical object; and (III) for each run of pixels of at least one of the scanlines; (III)(i) determining edges of the graphical objects defining the run, graphical objects contributing to the run of pixels and edges of the contributing graphical objects, using the one or more arrays; and (III)(ii) if a highest priority graphical object contributing to the run of pixels is opaque; generating the run of pixels by halftoning fill data within the edges of the highest priority contributing graphical object, and determining a tiled representation of a portion of the highest priority contributing graphical object using the halftone fill data, wherein the tiled representation is used to generate subsequent runs of pixels corresponding to the highest priority contributing graphical object; otherwise, generating the run of pixels by compositing data associated with the highest priority contributing graphical object and one or more further contributing graphical objects; and halftoning the composited data.
-
-
5. A computer readable storage medium encoded with a computer program, where the program is configured for rendering a plurality of graphical objects of an image on a scanline basis, each scanline comprising at least one run of pixels, each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within the edges of the at least one graphical object, said program comprising code for causing a computer system to execute the following steps:
-
(I) decomposing each of the graphical objects into at least one edge representing the corresponding graphical object; (II) sorting one or more arrays containing the edges representing the graphical objects of the image, at least one of the arrays being sorted in an order from a highest priority graphical object to a lowest priority graphical object; and (III) for each run of pixels of at least one of the scanlines; (III)(i) determining edges of the graphical objects defining the run, graphical objects contributing to the run of pixels and edges of the contributing graphical objects, using the one or more arrays; and (III)(ii) if a highest priority graphical object contributing to the run of pixels is opaque; generating the run of pixels by halftoning fill data within the edges of the highest priority contributing graphical object, and determining a tiled representation of a portion of the highest priority contributing graphical object using the halftone fill data, wherein the tiled representation is used to generate subsequent runs of pixels corresponding to the highest priority contributing graphical object; otherwise, generating the run of pixels by compositing data associated with the highest priority contributing graphical object and one or more further contributing graphical objects; and processing the composited data.
-
Specification