IP Library Granted Patent US 7,999,971
Granted Patent B2
US 7,999,971 · App. 12/033,944 · Granted Aug 16, 2011

Optimization techniques during processing of print jobs

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,999,971
App. No.
12/033,944
Granted
Aug 16, 2011
Kind
B2
Abstract

Methods for processing print jobs in rendering devices include constructing display list objects for to-be-printed objects and determining if two or more sequential objects are combinable. If so, a masked indexed image replaces the objects and has dimensions matching the overall bounding box size of the combinable objects. Indexed image values of the masked indexed image correspond to look up table entries, in turn, corresponding to color values of pixels of the combined object. In this manner, memory space is made available. Determining combinability of objects occurs by examining whether the objects are opaque, have regions as stencils, have similar color intensities, have the same halftone screens, share comparably sized or proximate bounding boxes or for other reasons. Head and tail pointers delineate sequential objects on the display list. The masked indexed image can be uni- or multi-dimensional. Computer readable media and graphics engines in printers are preferred implementation structures.

Claims (37)

1. A method for processing a print job, comprising:

constructing a display list with a plurality of to-be-printed objects being linked together on the display list;

determining at least one of whether said two or more sequential objects are opaque, whether said two or more sequential objects have regions in the form of a stencil, whether said two or more sequential objects have similar color intensities, and whether said two or more sequential objects have a same halftone screen; and

replacing two or more sequential said objects with a new object.

2. The method of claim 1 , wherein said replacing further includes constructing a masked indexed image.

3. The method of claim 1 , wherein the determining comprises determining whether said two or more sequential objects are opaque.

4. The method of claim 1 , wherein the determining comprises determining whether said two or more sequential objects have regions in the form of a stencil.

5. The method of claim 4 , further including determining whether said two or more sequential objects have a single color in said stencil.

6. The method of claim 1 , wherein the determining comprises determining whether said two or more sequential objects have similar color intensities.

7. The method of claim 1 , wherein the determining comprises determining whether said two or more sequential objects have a same halftone screen.

8. A printer driver having computer executable instructions stored on a non-transitory storage medium for performing the steps recited in claim 1 .

9. A printer having a graphics engine with computer executable instructions stored in a memory accessible by the graphics engine for performing the steps recited in claim 1 .

10. A method for processing a print job, comprising:

constructing a display list with a plurality of to-be-printed objects being linked together on the display list;

replacing two or more sequential said objects with a new object, wherein said replacing further includes constructing a masked indexed image; and

constructing a look up table corresponding to values of said masked indexed image.

11. A method for processing a print job, comprising:

constructing a display list with a plurality of to-be-printed objects, whereby a plurality of memory pointers link together said objects on the display list;

setting a head pointer to one of said objects and setting a tail pointer to another of said objects; and

replacing two or more sequential said objects with a new object.

12. The method of claim 11 , further including determining whether two or more said objects between said head pointer and said tail pointer are combinable.

13. The method of claim 11 , wherein said replacing further includes combining two or more said objects between said head pointer and said tail pointer.

14. A method for processing a print job, comprising:

constructing a display list with a plurality of to-be-printed objects being linked together on the display list, each said object having a corresponding memory space;

determining whether said objects are combinable; and

replacing two or more sequential said objects with a new object, thereby freeing at least one of said memory spaces, wherein said determining further includes setting a head pointer to one of said objects and setting a tail pointer to another of said objects.

15. The method of claim 14 , wherein said replacing further includes freeing a memory location.

16. The method of claim 14 , wherein said replacing further includes freeing a memory address.

17. The method of claim 14 , wherein computer executable instructions perform said determining.

18. The method of claim 14 , wherein a printer having a graphics engine with computer executable instructions stored in a memory accessible by the graphics engine performs said determining.

19. A method for processing a print job, comprising:

receiving a single, first print job, the print job being in a format of a page description language, the print job defining a plurality of to-be-printed objects that are to appear on a single to-be-printed page;

constructing a display list for the plurality of to-be-printed objects, the to-be-printed objects being linked together on the display list; and

replacing two or more sequential said to-be-printed objects in the display list with a single, new object.

20. The method of claim 19 , wherein the replacing is automatic without a user selecting the replacing.

21. The method of claim 19 , further comprising determining at least one of whether said two or more sequential objects are opaque, whether said two or more sequential objects have regions in the form of a stencil, whether said two or more sequential objects have similar color intensities, and whether said two or more sequential objects have a same halftone screen.

22. The method of claim 19 , further comprising receiving a single, second print job, the second print job being in a format of a page description language and defining a plurality of to-be-printed objects that are to appear on a single, distinct to-be-printed page; constructing a second display list for the plurality of to-be-printed objects of the second print job, the to-be-printed objects of the second print job being linked together on the second display list; and replacing two or more sequential said to-be-printed objects of the second print job in the second display list with a single, new object, wherein the constructing and the replacing corresponding to the first print job is distinct and independent from the constructing and the replacing corresponding to the second print job.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 18, 2024
From: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
To: LEXMARK INTERNATIONAL, INC.
Reel/Frame 066345/0026 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT U.S. PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 046989 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Oct 24, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 047760/0795 →
PATENT SECURITY AGREEMENT Recorded Aug 30, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 046989/0396 →