IP Library Granted Patent US 8,861,014
Granted Patent B2
US 8,861,014 · App. 12/242,668 · Granted Oct 14, 2014

Systems and methods for optimized printer throughput in a multi-core environment

Inventor: Darrell Eugene Bellert (Boulder, CO)
Assignee: Konica Minolta Laboratory U.S.A., Inc.
G06K15/02
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 8,861,014
App. No.
12/242,668
Granted
Oct 14, 2014
Kind
B2
Abstract

Systems and methods consistent with some embodiments presented provide methods for the concurrent generation and parallel rasterization of at least one display list in a memory pool comprising frame buffer memory and display list memory, wherein the display list comprises a plurality of equal sized display list blocks, the method comprises: monitoring the completion status of the display list blocks; monitoring the availability of rasterization processes; assigning a completed display list block to an available rasterization process; and rasterizing the display list block using the available rasterization process. In some embodiments, rasterization processes may run concurrently and operate on distinct blocks corresponding to distinct bands. Rasterized display list blocks are returned to the memory pool. In some embodiments, each concurrently executing rasterization process may execute on a distinct core of a multi-core processor.

Claims (33)

1. A method for the concurrent generation and parallel rasterization of at least one display list in a memory pool comprising frame buffer memory and display list memory, wherein the display list comprises a plurality of bands comprised of one or more equal-sized display list blocks, the method comprising:

for each band in the plurality of bands in the display list, determining completion status of a display list block in the band;

if the display list block is completed, assigning the completed display list block to an available rasterization process while concurrently generating next display list block in the band; and

rasterizing the display list block using the available rasterization process, wherein the rasterization process comprises, marking the display list block as rendered, returning the display list block to the memory pool, and indicating the availability of the rasterization process,

wherein the method is performed on a device comprising a plurality of processing cores,

wherein the rasterization process runs on a processing core of the plurality of processing cores distinct from any other concurrently executing rasterization process,

wherein each concurrently executing rasterization process operates on a distinct display list block, and

wherein each display list block corresponds to a distinct band.

2. The method of claim 1 , further comprising storing the rendered display list blocks in a pixmap associated with the display list in the memory pool.

3. The method of claim 2 , wherein the pixmap comprises discontiguous memory blocks.

4. The method of claim 1 , wherein the device is a printer.

5. The method of claim 4 , wherein the processing core is located within a Digital Signal Processor.

6. The method of claim 1 , wherein the available rasterization process executes concurrently with any previously executing rasterization processes.

7. The method of claim 1 , wherein the rasterization processes are slave processes operating under the control of a master rasterization process.

8. The method of claim 1 , wherein assigning the completed display list block to an available rasterization process further comprises indicating the unavailability of the rasterization process.

9. A non-transitory computer-readable medium that contains instructions, which when executed by a processor perform steps in a method for the concurrent generation and parallel rasterization of at least one display list in a memory pool comprising frame buffer memory and display list memory, wherein the display list comprises a plurality of bands comprised of one or more equal-sized display list blocks, the method comprising:

for each band in the plurality of bands in the display list, determining completion status of a display list block in the band;

if the display list block is completed, assigning the completed display list block to an available rasterization process while concurrently generating next display list block in the band; and

rasterizing the display list block using the available rasterization process, wherein the rasterization process comprises, marking the display list block as rendered, returning the display list block to the memory pool, and indicating the availability of the rasterization process,

wherein the method is performed on a device comprising a plurality of processing cores,

wherein the rasterization process runs on a processing core of the plurality of processing cores distinct from any other concurrently executing rasterization process,

wherein each concurrently executing rasterization process operates on a distinct display list block, and

wherein each display list block corresponds to a distinct band.

10. The computer readable medium of claim 9 , further comprising storing the rendered display list blocks in a pixmap associated with the display list in the memory pool.

11. The computer readable medium of claim 10 , wherein the pixmap comprises discontiguous memory blocks.

12. The computer readable medium of claim 9 , wherein the available rasterization process executes concurrently with any previously executing rasterization processes.

13. The computer readable medium of claim 9 , wherein assigning the completed display list block to an available rasterization process further comprises indicating the unavailability of the rasterization process.

14. A non-transitory computer-readable medium that contains instructions, which when executed by a processor perform steps in a method for the concurrent generation and parallel rasterization of at least one display list in a memory pool comprising frame buffer memory and display list memory, wherein the display list comprises a plurality of bands comprised of one or more equal-sized display list blocks, the method comprising:

for each band in the plurality of bands in the display list, determining completion status of a display list block in the band;

if the display list block is completed, assigning the completed display list block to an available rasterization process while concurrently generating next display list block in the band, wherein assigning the completed display list block to an available rasterization process further comprises indicating the unavailability of the rasterization process; and

rasterizing the display list block using the available rasterization process, wherein the rasterization process comprises, marking the display list block as rendered, returning the display list block to the memory pool, and indicating the availability of the rasterization process,

wherein the method is performed on a device comprising a plurality of processing cores, and

wherein the rasterization process runs on a processing core of the plurality of processing cores distinct from any other concurrently executing rasterization process.

Assignments (2)
CHANGE OF NAME Recorded Oct 4, 2011
From: KONICA MINOLTA SYSTEMS LABORATORY, INC.
To: KONICA MINOLTA LABORATORY U.S.A., INC.
Reel/Frame 027012/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2010
From: BELLERT, DARRELL EUGENE
To: KONICA MINOLTA SYSTEMS LABORATORY, INC.
Reel/Frame 024613/0251 →
Continuity (1)
Related Publication 20100079809A1 · Apr 1, 2010