IP Library Granted Patent US 8,194,088
Granted Patent B1
US 8,194,088 · App. 11/499,107 · Granted Jun 5, 2012

Selective composite rendering

Assignee: Apple 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,194,088
App. No.
11/499,107
Granted
Jun 5, 2012
Kind
B1
Abstract

Systems, apparatus, methods and computer program products for rendering a graphical user interface by selectively compositing display contents are described. In general, for each of one or more content producers, where each content producer is associated with content storage containing display content, display content for output is identified depending on the content consumer to which the graphical user interface is being rendered.

Claims (67)

1. A method comprising:

receiving primary content and alternative content from a content producer for rendering at a content consumer, the content producer being a hardware or software source of the primary and alternative content, the content consumer being a device operable to present the primary or alternative content, wherein the content consumer is associated with a frame buffer, the frame buffer being a memory device protected from unauthorized access;

storing the primary content in a primary buffer and the alternative content in an alternative buffer, each of the primary buffer content and alternative buffer content being different from the frame buffer, at least one of the primary buffer or alternative buffer being associated with a rendering restriction, the rendering restriction specifying a condition for choosing content for rendering at the content consumer, wherein, based upon whether the condition is satisfied, either the primary content or the alternative content is selected for rendering;

receiving a content request identifying the content consumer, the content request specifying a property of the content consumer;

based on the rendering restriction and the property of the content consumer, triggering a selection of either the primary buffer or the alternative buffer as a source of the content to be rendered; and

based on the selection, providing either the primary content in the primary buffer or the alternative content in the alternative buffer to the frame buffer of the content consumer for rendering.

2. The method of claim 1 , where providing the primary content or alternative content for rendering comprises:

compositing the content from the selected buffer with other content, where the other content is from one or more other content producers and is stored in a buffer that is different from the primary buffer, the alternative buffer, or the frame buffer.

3. The method of claim 1 , where the content request further identifies the content producer.

4. The method of claim 1 , further comprising:

preventing access to the primary content by the content consumer based on the rendering restriction and the property of the content consumer if the alternative buffer is selected.

5. The method of claim 1 , further comprising:

identifying a content transformer; and

transforming the primary content in the primary buffer into the alternative content using the identified content transformer.

6. The method of claim 5 , where the content transformer is associated with the primary buffer.

7. The method of claim 5 , where the content transformer is associated with the content producer.

8. The method of claim 5 , where transforming the primary content of the primary buffer comprises one or more of:

down-sampling;

blurring;

scaling;

re-colorization; or

watermarking.

9. The method of claim 1 , where the content consumer is an output device.

10. The method of claim 1 , where the content producer is an input device or an application program.

11. The method of claim 1 , where the content consumer is one of a display device or an application that captures display content.

12. A computer program product, encoded on a computer-readable storage device, operable to cause a data processing apparatus to perform operations comprising:

receiving primary content and alternative content from a content producer for rendering at a content consumer, the content producer being a hardware or software source of the primary and alternative content, the content consumer being a device operable to present the primary or alternative content, wherein the content consumer is associated with a frame buffer, the frame buffer being a memory device protected from unauthorized access;

storing the primary content in a primary buffer and the alternative content in an alternative buffer, each of the primary buffer content and alternative buffer content being different from the frame buffer, at least one of the primary buffer or alternative buffer being associated with a rendering restriction, the rendering restriction specifying a condition for choosing content for rendering at the content consumer, wherein, based upon whether the condition is satisfied, either the primary content or the alternative content is selected for rendering;

receiving a content request identifying the content consumer, the content request specifying a property of the content consumer;

based on the rendering restriction and the property of the content consumer, triggering a selection of either the primary buffer or the alternative buffer as a source of the content to be rendered;

and

based on the selection, providing either the primary content in the primary buffer or the alternative content in the alternative buffer to the frame buffer of the content consumer for rendering.

13. The computer program product of claim 12 , where providing the primary or alternative content for rendering comprises:

compositing the content from the selected buffer with other content, where the other content is from one or more other content producers and is stored in a buffer that is different from the primary buffer, the alternative buffer, or the frame buffer.

14. The computer program product of claim 12 , where the content request further identifies the content producer.

15. The computer program product of claim 12 , the operations further comprising preventing access to the primary content by the content consumer based on the rendering restriction if the alternative buffer is selected.

16. The computer program product of claim 12 , the operations further comprising:

identifying a content transformer; and

transforming the primary content in the primary buffer into the alternative content using the identified content transformer.

17. The computer program product of claim 12 , where transforming the primary content of the primary buffer comprises one or more of:

down-sampling;

blurring;

scaling;

re-colorization; or

watermarking.

18. A system comprising:

means for receiving primary content and alternative content from a content producer for rendering at a content consumer, the content producer being a hardware or software source of the primary and alternative content, the content consumer being a device operable to present the primary or alternative content, wherein the content consumer is associated with a frame buffer, the frame buffer being a memory device protected from unauthorized access;

means for storing the primary content in a primary buffer and the alternative content in an alternative buffer, each of the primary buffer content and alternative buffer content being different from the frame buffer, at least one of the primary buffer or alternative buffer being associated with a rendering restriction, the rendering restriction specifying a condition for choosing content for rendering at the content consumer, wherein, based upon whether the condition is satisfied, either the primary content or the alternative content is selected for rendering;

means for receiving a content request identifying the content consumer, the content request specifying a property of the content consumer;

means for, based on the rendering restriction and the property of the content consumer, triggering a selection of either the primary buffer or the alternative buffer as a source of the content to be rendered; and

means for providing, based on the selection, either the primary content in the primary buffer or the alternative content in the alternative buffer to the frame buffer of the content consumer for rendering.

19. A system, comprising:

one or more computers configured to perform operations including:

receiving primary content and alternative content from a content producer for rendering at a content consumer, the content producer being a hardware or software source of the primary and alternative content, the content consumer being a device operable to present the primary or alternative content, wherein the content consumer is associated with a frame buffer, the frame buffer being a memory device protected from unauthorized access;

storing the primary content in a primary buffer and the alternative content in an alternative buffer, each of the primary buffer content and alternative buffer content being different from the frame buffer, at least one of the primary buffer or alternative buffer being associated with a rendering restriction, the rendering restriction specifying a condition for choosing content for rendering at the content consumer, wherein, based upon whether the condition is satisfied, either the primary content or the alternative content is selected for rendering;

receiving a content request identifying the content consumer, the content request specifying a property of the content consumer;

based on the rendering restriction and the property of the content consumer, triggering a selection of either the primary buffer or the alternative buffer as a source of the content to be rendered; and

based on the selection, providing either the primary content in the primary buffer or the alternative content in the alternative buffer to the frame buffer of the content consumer for rendering.

20. The system of claim 19 , where providing the primary content or alternative content for rendering comprises:

compositing the content from the selected buffer with other content, where the other content is from one or more other content producers and is stored in a buffer that is different from the primary buffer, the alternative buffer, or the frame buffer.

21. The system of claim 19 , where the content request further identifies the content producer.

22. The system of claim 19 , the operations further comprising preventing access to the primary content by the content consumer based on the rendering restriction if the alternative buffer is selected.

23. The system of claim 19 , the operations further comprising:

identifying a content transformer; and

transforming the primary content in the primary buffer into the alternative content using the identified content transformer.

24. The system of claim 19 , where the content consumer is an output device.

25. The system of claim 19 , where the content producer is an input device or an application program.

Assignments (2)
CHANGE OF NAME Recorded Apr 10, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019142/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2006
From: PAQUETTE, MICHAEL JAMES
To: APPLE COMPUTER, INC.
Reel/Frame 018684/0588 →