# US 9,519,946 B2 · Partial tile rendering

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

- Number: US 9,519,946 B2
- Document ID: US9519946B2
- Status: Granted
- Kind: B2
- Application number: 14/810,963
- Filed: 2015-07-28
- Published: 2015-11-19
- Granted: 2016-12-13
- Earliest claimed: 2013-07-31
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Nikos Kaburlasos; Eric C. Samson; Robert B. Taylor
- Web page: https://patentgrep.com/patent/US9519946B2

## CPC

- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 1/00: General purpose image data processing
- G06T 1/60: Memory management
- G09G 5/001: {Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor}
- G09G 5/363: {Graphics controllers}
- G09G 5/395: Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen (G09G5/399 takes precedence)
- G09G 2330/021: Power management, e.g. power saving
- G09G 2360/08: Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
- G09G 2360/122: Tiling
- G09G 2360/18: Use of a frame buffer in a display terminal, inclusive of the display panel
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- 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

In accordance with some embodiments, partial rendering of non-changing or slowly changing frame tiles allows the graphics processing unit to spend less time processing non-changing or slowly changing portions of each frame, saving power and creating more room for performance in some embodiments.

## Claims

### Claim 1

A method comprising:
splitting a frame into tiles;
partially rendering a tile in a current frame including a plurality of pixels by rendering, less than all of said pixels;
comparing the rendered pixels in the current frame with corresponding pixels from a tile in a previous frame;
if any partially rendered pixel in the current frame is different from the corresponding pixel in the previous frame by an amount exceeding a threshold, completely rendering the tile in a fully rendering mode;
if no partially rendered pixel is different from the corresponding pixel in the previous frame by an amount exceeding the threshold, then copying the previous frame instead of completing the rendering of the current frame; and
when in a partial rendering mode, a tile is fully rendered and updated in a frame buffer at a slower rate than when in a fully rendering mode.

### Claim 2 (depends on 1)

The method of claim 1 including detecting a pixel change of any extent.

### Claim 3 (depends on 1)

The method of claim 1 including detecting tiles with pixels that change by an amount above a threshold.

### Claim 4 (depends on 1)

The method of claim 1 wherein partially rendering includes fully rendering the tile after a given number of frames.

### Claim 5 (depends on 4)

The method of claim 4 including determining again whether pixels in the tile that did not change by an amount, change after a given number of frames.

### Claim 6 (depends on 4)

The method of claim 4 including comparing the tile after the given number of frames to the same tile in the immediately preceding frame.

### Claim 7 (depends on 4)

The method of claim 4 including comparing the tile after the given number of frames to the pixels in the tile at the beginning of the given number of frames.

### Claim 8 (depends on 1)

The method of claim 1 wherein determining including comparing the same pixels in a pair of successive tiles.

### Claim 9 (depends on 1)

The method of claim 1 including comparing a first set of pixels in two successive tiles and a different set of pixels in two subsequent tiles.

### Claim 10

One or more non-transitory computer readable media storing instructions to enable a processor to perform a sequence comprising:
splitting a frame into tiles;
partially rendering a tile in a current frame including a plurality of pixels by rendering, less than all of said pixels;
comparing the rendered pixels in the current frame with corresponding pixels from a tile in a previous frame;
if any partially rendered pixel in the current frame is different from the corresponding pixel in the previous frame by an amount exceeding a threshold, completely rendering the tile in a fully rendering mode;
if no partially rendered pixel is different from the corresponding pixel in the previous frame by an amount exceeding the threshold, then copying the previous frame instead of completing the rendering of the current frame; and
when in a partial rendering mode, a tile is fully rendered and updated in a frame buffer at a slower rate than when in a fully rendering mode.

### Claim 11 (depends on 10)

The media of claim 10 said sequence including detecting a pixel change of any extent.

### Claim 12 (depends on 10)

The media of claim 10 said sequence including detecting tiles with pixels that change by an amount above a threshold.

### Claim 13 (depends on 10)

The media of claim 10 said sequence wherein partially rendering includes fully rendering the tile after a given number of frames.

### Claim 14 (depends on 13)

The media of claim 13 said sequence including determining again whether pixels in the tile that did not change by an amount, change after a given number of frames.

### Claim 15 (depends on 13)

The media of claim 13 said sequence including comparing the tile after the given number of frames to the same tile in the immediately preceding frame.

### Claim 16 (depends on 13)

The media of claim 13 said sequence including comparing the tile after the given number of frames to the pixels in the tile at the beginning of the given number of frames.

### Claim 17 (depends on 10)

The media of claim 10 wherein determining including comparing the same pixels in a pair of successive tiles.

### Claim 18 (depends on 10)

The media of claim 10 said sequence including comparing a first set of pixels in two successive tiles and a different set of pixels in two subsequent tiles.

### Claim 19

A graphics processing unit comprising:
a processor to split a frame into tiles, to partially render a tile in a current frame including a plurality of pixels by rendering, less than all of said pixels, compare the rendered pixels in the current frame with corresponding pixels from a tile in a previous frame, if any partially rendered pixel in the current frame is different from the corresponding pixel in the previous frame by an amount exceeding a threshold, completely render the tile in a fully rendering mode, if no partially rendered pixel is different from the corresponding pixel in the previous frame by an amount exceeding the threshold, then copy the previous frame instead of completing the rendering of the current frame, when in a partial rendering mode, a tile is fully rendered and updated in a frame buffer at a slower rate than when in a fully rendering mode; and
a storage coupled to said processor.

### Claim 20 (depends on 19)

The unit of claim 19 said processor to detect a pixel change of any extent.

### Claim 21 (depends on 19)

The unit of claim 19 said processor to detect tiles with pixels that change by an amount above a threshold.

### Claim 22 (depends on 19)

The unit of claim 19 said processor to partially render by fully rendering the tile after a given number of frames.

### Claim 23 (depends on 22)

The unit of claim 22 said processor to determine again whether pixels in the tile that did not change by an amount, change after a given number of frames.

### Claim 24 (depends on 22)

The unit of claim 22 said processor to compare the tile after the given number of frames to the same tile in the immediately preceding frame.

### Claim 25 (depends on 19)

The unit of claim 19 said processor to compare the tile after the given number of frames to the pixels in the tile at the beginning of the given number of frames.

### Claim 26 (depends on 19)

The unit of claim 19, said processor to determine by comparing the same pixels in a pair of successive tiles.

### Claim 27 (depends on 19)

The unit of claim 19 said processor to compare a first set of pixels in two successive tiles and a different set of pixels in two subsequent tiles.

### Claim 28 (depends on 19)

The unit of claim 19 including an operating system.

### Claim 29 (depends on 19)

The unit of claim 19 including a battery.

### Claim 30 (depends on 19)

The unit of claim 19 including firmware and a module to update said firmware.
