IP Library Granted Patent US 10,074,152
Granted Patent B2
US 10,074,152 · App. 15/335,488 · Granted Sep 11, 2018

GPU rendering of knockout groups

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 10,074,152
App. No.
15/335,488
Granted
Sep 11, 2018
Kind
B2
Abstract

A knockout group includes a plurality of objects in a Portable Document Format (PDF) or similar document, which can be rendered by generating data representing a single-sampled shape texture, compositing each object with a backdrop, recording an accumulated shape of the object in the shape texture, and storing a final color of each pixel in a framebuffer for rendering on a display device. The objects in the knockout group are composited by blending, independently of a shape of any of the objects, a color of each pixel representing the respective object with a color of a pixel in the backdrop of the knockout group overlapped by the respective pixel. A final color of each pixel representing the respective object is computed as a function of the blended color, the color of the pixel in the backdrop prior to the blending, and the shape of the respective object.

Claims (34)

1. A computer-implemented method of rendering knockout groups, the method comprising:

compositing, by a graphics processing unit (GPU), each object of a knockout group with a backdrop of the knockout group, the knockout group including a plurality of objects encoded in a document, using

means for blending a color of each pixel representing the respective object with a color of a pixel in the backdrop of the knockout group overlapped by the respective pixel independently of a shape of any of the objects of the knockout group, thereby producing an intermediate color of the respective pixel, and

means for computing a final color of each pixel representing the respective object as a function of the intermediate color, the color of the pixel in the backdrop prior to the blending, and a fractional coverage value of the shape of the respective object, thereby knocking out at least a portion of the pixel in the backdrop based on the shape of the respective object, the final color of each pixel being computed by adding a product of the fractional coverage value and the intermediate color to a product of a complement of the fractional coverage value and the color of the pixel in the backdrop;

storing the final color of each pixel in a framebuffer of the GPU for rendering on a display device; and

generating, using the GPU, a rendered image based on the final color of each pixel stored in the framebuffer.

2. The method of claim 1 , further comprising generating, by the GPU, data representing a single-sampled shape texture of the knockout group.

3. The method of claim 2 , further comprising attaching, by the GPU, the single-sampled shape texture of the knockout group to the framebuffer.

4. The method of claim 2 , further comprising recording, by the GPU, an accumulated shape of all of the objects of the knockout group in the single-sampled shape texture of the knockout group.

5. The method of claim 2 , further comprising consolidating, by the GPU, the single-sampled shape texture of the knockout group with a single-sampled shape texture of a parent knockout group including a different plurality of objects encoded in the document.

6. The method of claim 5 , further comprising compositing each object of the parent knockout group with a backdrop of the parent knockout group, wherein the backdrop of the parent knockout group comprises the composited objects and consolidated shapes of the knockout group.

7. A system for rendering knockout groups, the system comprising:

a storage; and

a graphics processing unit (GPU) operatively coupled to the storage, the GPU configured to execute instructions stored in the storage that when executed cause the GPU to carry out a process including

compositing, by the GPU, each object of a knockout group with a backdrop of the knockout group, the knockout group including a plurality of objects encoded in a Portable Document Format (PDF) document, by

blending a color of each pixel representing the respective object with a color of a pixel in the backdrop of the knockout group overlapped by the respective pixel independently of a shape of any of the objects of the knockout group, thereby producing an intermediate color of the respective pixel, and

computing a final color of each pixel representing the respective object as a function of the intermediate color, the color of the pixel in the backdrop prior to the blending, and a fractional coverage value of the shape of the respective object, thereby knocking out at least a portion of the pixel in the backdrop based on the shape of the respective object, the final color of each pixel being computed by adding a product of the fractional coverage value and the intermediate color to a product of a complement of the fractional coverage value and the color of the pixel in the backdrop;

storing the final color of each pixel in a framebuffer of the GPU for rendering on a display device; and

generating, by the GPU, a rendered image based on the final color of each pixel stored in the framebuffer.

8. The system of claim 7 , wherein the process further comprises generating data representing a single-sampled shape texture of the knockout group.

9. The system of claim 8 , wherein the process further comprises attaching the single-sampled shape texture of the knockout group to the framebuffer.

10. The system of claim 8 , wherein the process further comprises recording an accumulated shape of all of the objects of the knockout group in the single-sampled shape texture of the knockout group.

11. The system of claim 8 , wherein the process further comprises consolidating the single-sampled shape texture of the knockout group with a single-sampled shape texture of a parent knockout group including a different plurality of objects encoded in the PDF document.

12. The system of claim 11 , wherein the process further comprises compositing each object of the parent knockout group with a backdrop of the parent knockout group, wherein the backdrop of the parent knockout group comprises the composited objects and consolidated shapes of the knockout group.

13. A non-transitory computer readable medium having instructions encoded thereon that when executed by one or more computer processors cause the one or more computer processors to perform a process comprising:

compositing, by a graphics processing unit (GPU), each object of a knockout group with a backdrop of the knockout group, the knockout group including a plurality of objects encoded in a document, by

blending a color of each pixel representing the respective object with a color of a pixel in the backdrop of the knockout group overlapped by the respective pixel independently of a shape of any of the objects of the knockout group, thereby producing an intermediate color of the respective pixel, and

computing a final color of each pixel representing the respective object as a function of the intermediate color, the color of the pixel in the backdrop prior to the blending, and a fractional coverage value of the shape of the respective object, thereby knocking out at least a portion of the pixel in the backdrop based on the shape of the respective object, the final color of each pixel being computed by adding a product of the fractional coverage value and the intermediate color to a product of a complement of the fractional coverage value and the color of the pixel in the backdrop;

storing the final color of each pixel in a framebuffer of the GPU for rendering on a display device; and

generating, by the GPU, a rendered image based on the final color of each pixel stored in the framebuffer.

14. The non-transitory computer readable medium of claim 13 , wherein the process further comprises generating data representing a single-sampled shape texture of the knockout group.

15. The non-transitory computer readable medium of claim 14 , wherein the process further comprises attaching the single-sampled shape texture of the knockout group to the framebuffer.

16. The non-transitory computer readable medium of claim 14 , wherein the process further comprises recording an accumulated shape of all of the objects of the knockout group in the single-sampled shape texture of the knockout group.

17. The non-transitory computer readable medium of claim 14 , wherein the process further comprises consolidating the single-sampled shape texture of the knockout group with a single-sampled shape texture of a parent knockout group including a different plurality of objects encoded in the document.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: BERI, TARUN; KUMAR, HARISH
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 040146/0879 →