# US 7,746,357 B2 · Dual-plane graphics

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,746,357 B2
- Document ID: US7746357B2
- Status: Granted
- Kind: B2
- Application number: 11/382,989
- Filed: 2006-05-12
- Published: 2007-11-15
- Granted: 2010-06-29
- Earliest claimed: 2004-01-06
- Assignees: Sharp Laboratories of America, Inc.
- Inventors: Bryan Severt Hallberg
- Web page: https://patentgrep.com/patent/US7746357B2

## CPC

- G09G 5/00: Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators (image data processing or generation, in general G06T)
- G09G 2340/10: Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
- G09G 2340/12: Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

Two or more graphics planes are combined according to a scheme that circumvents mixing of certain regions to conserve resources. Although some mixing is circumvented, the outputted display image remains visually adequate.

## Claims

### Claim 1

An apparatus comprising:
a computing device comprising a software mixer, wherein the software mixer comprises:
a control component to determine which graphics planes in a plurality of graphics planes are active, said control component to cause circumventing of mixing when less than two graphics planes are active;
a region manager component to maintain a list of registered graphics regions of the plurality of graphics planes, wherein each region comprises a plurality of pixels of a respective one of the graphics planes, said region manager component to determine newly painted regions of the registered graphics regions, said region manager component to compare a stacking of the active graphics planes, the comparison identifying any newly painted regions of one active graphics plane overlying any registered graphics regions of another active graphics plane; and
a mixer component to receive data from a first buffer that stores data for a first one of the graphics planes, to receive data from a second buffer that stores data for a second different one of the graphics planes, and to output data to a third composite buffer, the mixer component configured to:
for only the identified newly painted regions that do overlap according to the comparison, pass pixel data on a per pixel basis from the first and second buffers to assemble a pixel-by-pixel composite of a particular identified newly painted region and its corresponding registered graphics region in the third composite buffer; and
for the remaining newly painted regions that do not overlap according to the comparison, pass pixel data on a per region basis from one of the first and second buffers to the third composite buffer;
wherein if the control component causes circumventing of mixing, then processing of the active graphics plane bypasses the mixer component and the third composite buffer.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein one of the graphics planes is a Java-based graphics plane displaying Java-based graphics.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the software mixer further comprises a merging unit component to pixel-by-pixel mix images based on data from the third composite buffer with one or more other images.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein one of the graphics planes includes a system display region displaying an image indicating a television configuration event.

### Claim 5 (depends on 2)

The apparatus of claim 2, wherein the region manager component maintains a list according to registration and un-registration messages received from an application manager for the Java-based graphics plane, the messages indicating which regions are accessed by the application manager.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein each registration message includes coordinates indicating dimensions of a corresponding region.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the region manager component maintains a list of the newly painted graphics regions according to communications received from a Java engine.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the region manager component list is further maintained by removing entries from the region manager list after the newly painted graphics regions have been processed.

### Claim 9

A method, comprising:
determining which graphics planes in a plurality of graphics planes are active, and if less than two graphics planes are active, bypassing a mixing routine;
maintaining a list of registered graphics regions of the plurality of graphics planes, wherein each region comprises a plurality of pixels of a respective one of the graphics planes;
determining newly painted regions of the registered graphics regions and comparing a stacking of the active graphics planes to identify any newly painted regions of one active graphics plane overlying any registered graphics regions of another active graphics plane;
receiving at a mixer component data from a first buffer that stores data for a first one of the graphics planes and data from a second buffer that stores data for a second different one of the graphics planes;
for only the identified newly painted regions that do overlap according to the comparison, pass pixel data on a per pixel basis from the first and second buffers to assemble a pixel-by-pixel composite of a particular identified newly painted region and its corresponding registered graphics region in a third composite buffer; and
for the remaining newly painted regions that do not overlap according to the comparison, pass pixel data on a per region basis from one of the first and second buffers to the third composite buffer;
wherein if said active graphics plane determination results in said bypassing, then processing of the active graphics plane bypasses the mixer component and the third composite buffer.

### Claim 10 (depends on 9)

The method of claim 9, wherein one of the graphics planes represents an applet.

### Claim 11 (depends on 10)

The method of claim 10, wherein the applet comprises one or more files that are written in a higher level than machine code.

### Claim 12 (depends on 9)

The method of claim 9, further comprising updating an anti-flicker display buffer with an output of the third composite buffer to prevent frame tearing.

### Claim 13 (depends on 12)

The method of claim 12, further comprising pixel-by-pixel mixing video with an output of the anti-flicker display buffer.

### Claim 14 (depends on 9)

The method of claim 9, wherein one of the graphics planes is a Java-based graphics plane displaying Java-based graphics.

### Claim 15

A memory encoded with instructions that, responsive to being executed by a processing device, result in:
determining which graphics planes in a plurality of graphics planes are active, and if less than two graphics planes are active, bypassing a mixing routine;
maintaining a list of registered graphics regions of the plurality of graphics planes, wherein each region comprises a plurality of pixels of a respective one of the graphics planes;
determining newly painted regions of the registered graphics regions and comparing a stacking of the active graphics planes to identify any newly painted regions of one active graphics plane overlying any registered graphics regions of another active graphics plane;
receiving at a mixer component data from a first buffer that stores data for a first one of the graphics planes and data from a second buffer that stores data for a second different one of the graphics planes;
for only the identified newly painted regions that do overlap according to the comparison, pass pixel data on a per pixel basis from the first and second buffers to assemble a pixel-by-pixel composite of a particular identified newly painted region and its corresponding registered graphics region in a third composite buffer; and
for the remaining newly painted regions that do not overlap according to the comparison, pass pixel data on a per region basis from one of the first and second buffers to the third composite buffer;
wherein if said active graphics plane determination results in said bypassing, then processing of the active graphics plane bypasses the mixer component and the third composite buffer.

### Claim 16 (depends on 15)

The memory of claim 15, wherein one of the graphics planes represents an applet.

### Claim 17 (depends on 16)

The memory of claim 16, wherein the applet comprises one or more files that are written in a higher level than machine code.

### Claim 18 (depends on 15)

The memory of claim 15, wherein the instructions further result in pixel-by-pixel mixing one or more images with either an image based on data from the third composite buffer or an image based on data from the first or second buffers.

### Claim 19 (depends on 18)

The memory of claim 18, wherein the instructions further result in outputting a result of said pixel-by-pixel mixing over a television interface.

### Claim 20 (depends on 15)

The memory of claim 15, wherein one of the graphics planes is a Java-based graphics plane displaying Java-based graphics.
