IP Library Granted Patent US 8,669,989
Granted Patent B2
US 8,669,989 · App. 13/109,563 · Granted Mar 11, 2014

Parallel image processing system

Inventors: Barry Keane (Menlo Park, CA); Thomas Laidig (Richmond, CA)
Assignee: PineBrook Imaging, Inc.
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,669,989
App. No.
13/109,563
Granted
Mar 11, 2014
Kind
B2
Abstract

System and method for a parallel image processing mechanism for applying mask data patterns to substrate in a lithography manufacturing process are disclosed. In one embodiment, the parallel image processing system includes a graphics engine configured to partition an object into a plurality of trapezoids and form an edge list for representing each of the plurality of trapezoids, and a distributor configured to receive the edge list from the graphics engine and distribute the edge list to a plurality of scan line image processing units. The system further includes a sentinel configured to synchronize operations of the plurality of scan line image processing units, and a plurality of buffers configured to store image data from corresponding scan line image processing units and outputs the stored image data using the sentinel.

Claims (61)

1. A method of performing parallel image processing, comprising:

processing one or more graphical objects to generate a plurality of convex polygons;

forming an edge list for representing each of the plurality of convex polygons;

distributing the edge list to a plurality of scan line image processing units;

processing the plurality of convex polygons described in the edge list in parallel using the plurality of scan line image processing units;

synchronizing operations of the plurality of scan line image processing units using a sentinel, wherein the sentinel is independent of data packets describing the plurality of convex polygons, wherein the sentinel includes a unique pattern configured to signal end of a scan line, wherein the sentinel enters the plurality of scan line imaging processing units separately from the data packets describing the plurality of convex polygons, and the sentinel is controlled to circulate through the plurality of scan line image processing units; and

storing image data generated from the scan line image processing units using a plurality of buffers.

2. The method of claim 1 , wherein processing one or more graphical objects comprises:

identifying transitions at the boundaries of the one or more graphical objects according to a scan direction; and

partitioning the one or more graphical objects into the plurality of convex polygons.

3. The method of claim 1 , wherein

each scan line image processing unit includes: a FIFO configured to store items of the edge list, an incremental interpolation update logic configured to update items of the edge list, a multiplexor configured to receive data from a distributor and a previous scan line image processing unit.

4. The method of claim 1 , wherein distributing the edge list comprises:

balancing load of processing the edge list among the plurality of scan line image processing units in accordance with a predetermined interleave factor; and

balancing load of processing the edge list among the plurality of scan line image processing units in accordance with FIFO size of each scan line image processing unit.

5. The method of claim 1 , wherein processing the plurality of convex polygons comprises:

configuring each of scan line image processing unit to process a portion of a convex polygon in a round-robin fashion.

6. The method of claim 5 , further comprising:

scanning the portion of the convex polygon according to a predetermined scan direction;

rasterizing the portion of the convex polygon; and

performing fade operations at boundaries of the portion of the convex polygon.

7. The method of claim 6 , wherein scanning the portion of the convex polygon comprises at least one of:

scanning the portion of the convex polygon along a column; and

scanning the portion of the convex polygon along a row.

8. The method of claim 6 , wherein performing fade operations comprises:

using a second sentinel to control fade operations at boundaries of the portion of the convex polygon; and

outputting data from the fade operations at each of the scan line image processing unit in accordance with the second sentinel.

9. The method of claim 1 , wherein synchronizing operations of the plurality of scan line image processing units comprises:

linking the FIFO in each scan line image processing unit to form a chain of FIFOs for storing the plurality of convex polygons described in the edge list.

10. The method of claim 1 , wherein synchronizing operations of the plurality of scan line image processing units further comprises:

controlling output of image data from the plurality of buffers using the sentinel, wherein the sentinel is a negative integer.

11. A parallel image processing system, comprising:

a graphics engine, implemented by one or more processors, configured to process one or more graphical objects to generate a plurality of convex polygons, and to form an edge list for representing each of the plurality of convex polygons;

a distributor, implemented by the one or more processors, configured to distribute the edge list to a plurality of scan line image processing units;

a plurality of scan line image processing units, implemented by the one or more processors, configured to receive the edge list and to process the plurality of convex polygons in parallel;

control logic, implemented by the one or more processors, configured to synchronize operations of the plurality of scan line image processing units using a sentinel, wherein the sentinel is independent of data packets describing the plurality of convex polygons, wherein the sentinel includes a unique pattern configured to signal end of a scan line, wherein the sentinel enters the plurality of scan line imaging processing units separately from the data packets describing the plurality of convex polygons, and the sentinel is controlled to circulate through the plurality of scan line image processing units; and

a plurality of buffers configured to store image data generated from the scan line image processing units.

12. The system of claim 11 , wherein the graphic engine comprises:

control logic configured to identify transitions at the boundaries of the one or more graphical objects according to a scan direction; and

control logic configured to partition the one or more graphical objects into the plurality of convex polygons.

13. The system of claim 11 , wherein

each scan line image processing unit includes: a FIFO configured to store items of the edge list, an incremental interpolation update logic configured to update items of the edge list, a multiplexor configured to receive data from a distributor and a previous scan line image processing unit.

14. The system of claim 11 , wherein the distributor comprises:

control logic configured to balance load of processing the edge list among the plurality of scan line image processing units in accordance with a predetermined interleave factor; and

control logic configured to balance load of processing the edge list among the plurality of scan line image processing units in accordance with FIFO size of each scan line image processing unit.

15. The system of claim 11 , wherein the plurality of scan line image processing units comprise:

control logic configured to process a portion of a convex polygon in a round-robin fashion.

16. The system of claim 15 , wherein each scan line image processing unit further comprises:

control logic configured to scan the portion of the convex polygon according to a predetermined scan direction;

control logic configured to rasterize the portion of the convex polygon; and

control logic configured to perform fade operations at boundaries of the portion of the convex polygon.

17. The system of claim 16 , wherein the control logic configured to scan the portion of the convex polygon comprises at least one of:

control logic configured to scan the portion of the convex polygon along a column; and

control logic configured to scan the portion of the convex polygon along a row.

18. The system of claim 16 , wherein the control logic configured to perform fade operations comprises:

control logic configured to use a second sentinel to control fade operations at boundaries of the portion of the convex polygon; and

control logic configured to output data from the fade operations at each of the scan line image processing unit in accordance with the second sentinel.

19. The system of claim 11 , wherein the control logic configured to synchronize operations of the plurality of scan line image processing units comprises:

control logic configured to link the FIFO in each scan line image processing unit to form a chain of FIFOs for storing the plurality of convex polygons described in the edge list.

20. The system of claim 11 , wherein the control logic configured to synchronize operations of the plurality of scan line image processing units further comprises:

control logic configured to control output of image data from the plurality of buffers using the sentinel, wherein the sentinel is a negative integer.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2015
From: PINEBROOK IMAGING INC.
To: APPLIED MATERIALS, INC.
Reel/Frame 034797/0686 →
SECURITY INTEREST Recorded Apr 17, 2014
From: PINEBROOK IMAGING, INC.
To: APPLIED VENTURES, LLC
Reel/Frame 032712/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2013
From: PINEBROOK IMAGING TECHNOLOGY, LTD.
To: PINEBROOK IMAGING, INC.
Reel/Frame 029984/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2011
From: PINEBROOK IMAGING SYSTEMS CORPORATION
To: PINEBROOK IMAGING TECHNOLOGY, LTD.
Reel/Frame 027127/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2011
From: KEANE, BARRY; LAIDIG, THOMAS
To: PINEBROOK IMAGING SYSTEMS CORPORATION
Reel/Frame 027119/0273 →
Continuity (2)
Provisional Application 61346436 · May 19, 2010
Related Publication 20120262465A1 · Oct 18, 2012