# US 10,372,195 B2 · Data processing

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

- Number: US 10,372,195 B2
- Document ID: US10372195B2
- Status: Granted
- Kind: B2
- Application number: 15/467,035
- Filed: 2017-03-23
- Published: 2017-10-05
- Granted: 2019-08-06
- Earliest claimed: 2016-03-30
- Assignees: Arm Limited
- Applicants: ARM Limited
- Inventors: Daren Croxford
- Web page: https://patentgrep.com/patent/US10372195B2

## CPC

- G06F 1/3265: {Power saving in display device}
- G06N 5/04: Inference or reasoning models
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 1/60: Memory management
- G06T 15/005: {General purpose rendering architectures}
- G09G 5/363: {Graphics controllers}
- G09G 5/393: Arrangements for updating the contents of the bit-mapped memory
- G06T 2200/28: involving image processing hardware
- G09G 2330/021: Power management, e.g. power saving
- G09G 2340/16: Determination of a pixel data signal depending on the signal applied in the previous frame
- G09G 2350/00: Solving problems of bandwidth in display systems
- G09G 2360/08: Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
- G09G 2360/12: Frame memory handling
- G09G 2360/18: Use of a frame buffer in a display terminal, inclusive of the display panel
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- 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

A data processing apparatus comprises processing circuitry configured to predict whether a region of output data to be generated by the apparatus for a current set of output data will be similar to a region of output data generated and stored in memory for a previous set of output data. When it is predicted that the new region of output data will be similar to the previous region of output data, the new region of output data is prevented from being generated and the previous region of output data is used for the current set of output data instead. The data processing apparatus can provide a way to avoid generating areas of sets of output data that are static from one set of output data to the next.

## Claims

### Claim 1

A method of operating a data processing apparatus comprising:
predicting whether a region of output data to be generated by the apparatus for a current set of output data will be similar to a region of output data that has been generated for a previous set of output data and stored in a memory for a previous set of output data; and
when it is predicted that a particular region of output data to be generated by the apparatus for the current set of output data will be similar to a particular region of output data generated for the previous set of output data, preventing the particular region of output data from being generated for the current set of output data and using the particular region of output data generated for the previous set of output data as the particular region of output data for the current set of output data;
wherein, when it is predicted that a particular region of output data to be generated for the current set of output data will not be similar to a particular region of output data generated for the previous set of output data, the particular region of output data to be generated for the current set of output data is not generated for the current set of output data or the particular region of output data generated for the previous set of output data is used as the particular region of output data for the current set of output data or a corresponding region of output data to be generated for a subsequent set of output data is generated for the subsequent set of output data.

### Claim 2 (depends on 1)

A method as claimed in claim 1, wherein predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data comprises:
generating a representative subset of data for the region of output data to be generated for the current set of output data; and
determining whether the representative subset of data for the region of output data to be generated for the current set of output data is similar to a representative subset of data for the region of output data generated for the previous set of output data.

### Claim 3 (depends on 1)

A method as claimed in claim 1, wherein predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data comprises:
determining whether one or more other regions of output data generated for the current set of output data are similar to one or more other regions of output data generated for the previous set of output data.

### Claim 4 (depends on 1)

A method as claimed in claim 1, wherein predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data comprises:
detecting an update pattern that indicates that the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data.

### Claim 5 (depends on 1)

A method as claimed in claim 1, wherein predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data comprises:
determining whether regions of output data that were generated for plural previous sets of output data were similar to one another.

### Claim 6 (depends on 1)

A method as claimed in claim 1, wherein, when it is predicted that a particular region of output data to be generated for the current set of output data will not be similar to a particular region of output data generated for the previous set of output data, the particular region of output data is generated and used for the current set of output data.

### Claim 7 (depends on 6)

A method as claimed in claim 6, wherein a representative subset of data for the particular region to be generated for the current set of output data is generated, and wherein generating the particular region of output data for the current set of output data comprises:
up-scaling the representative subset of data for the particular region so as to generate the output data for the particular region of output data for the current set of output data; or
generating the remaining subset of data for the particular region so as to generate the output data for the particular region of output data for the current set of output data.

### Claim 8 (depends on 1)

A method as claimed in claim 1, wherein a content-representative signature for the region of output data is used when predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data.

### Claim 9 (depends on 1)

A method as claimed in claim 1, wherein the region of output data to be generated for the current set of output data and the region of output data generated for the previous set of output data each comprise a processing tile.

### Claim 10

A data processing apparatus comprising:
write controller circuitry configured to store output data generated by the apparatus in a memory; and
processing circuitry configured to:
predict whether a region of output data to be generated by the apparatus for a current set of output data will be similar to a region of output data that has been generated for a previous set of output data and stored in the memory for a previous set of output data; and
when it is predicted that a particular region of output data to be generated by the apparatus for the current set of output data will be similar to a particular region of output data generated for the previous set of output data, prevent the particular region of output data from being generated for the current set of output data and use the particular region of output data generated for the previous set of output data as the particular region of output data for the current set of output data;
wherein, when it is predicted that a particular region of output data to be generated for the current set of output data will not be similar to a particular region of output data generated for the previous set of output data, the processing circuitry is configured not to generate the particular region of output data to be generated for the current set of output data or is configured to use the particular region of output data generated for the previous set of output data as the particular region of output data for the current set of output data or is configured to generate for a subsequent set of output data a corresponding region of output data to be generated for the subsequent set of output data.

### Claim 11 (depends on 10)

A data processing apparatus as claimed in claim 10, wherein, when predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data, the processing circuitry is configured to:
generate a representative subset of data for the region of output data to be generated for the current set of output data; and
determine whether the representative subset of data for the region of output data to be generated for the current set of output data is similar to a representative subset of data for the region of output data generated for the previous set of output data.

### Claim 12 (depends on 10)

A data processing apparatus as claimed in claim 10, wherein, when predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data, the processing circuitry is configured to:
determine whether one or more other regions of output data generated for the current set of output data are similar to one or more other regions of output data generated for the previous set of output data.

### Claim 13 (depends on 10)

A data processing apparatus as claimed in claim 10, wherein, when predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data, the processing circuitry is configured to:
detect an update pattern that indicates that the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data.

### Claim 14 (depends on 10)

A data processing apparatus as claimed in claim 10, wherein, when predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data, the processing circuitry is configured to:
determine whether regions of output data that were generated for plural previous sets of output data were similar to one another.

### Claim 15 (depends on 10)

A data processing apparatus as claimed in claim 10, wherein, when it is predicted that a particular region of output data to be generated for the current set of output data will not be similar to a particular region of output data generated for the previous set of output data, the processing circuitry is configured to generate the particular region of output data and use the particular region of output data for the current set of output data.

### Claim 16 (depends on 15)

A data processing apparatus as claimed in claim 15, wherein a representative subset of data for the particular region to be generated for the current set of output data is generated, and wherein, when generating the particular region of output data for the current set of output data, the processing circuitry is configured to:
up-scale the representative subset of data for the particular region so as to generate the output data for the particular region of output data for the current set of output data; or
generate the remaining subset of data for the particular region so as to generate the output data for the particular region of output data for the current set of output data.

### Claim 17 (depends on 10)

A data processing apparatus as claimed in claim 10, wherein the processing circuitry is configured to use a content-representative signature for the region of output data when predicting whether the region of output data to be generated for the current set of output data will be similar to the region of output data generated for the previous set of output data.

### Claim 18

A non-transitory computer readable storage medium storing computer software code which when executing on one or more processors of a data processing apparatus performs a method comprising:
predicting whether a region of output data to be generated by the apparatus for a current set of output data will be similar to a region of output data that has been generated for a previous set of output data and stored in a memory for a previous set of output data; and
when it is predicted that a particular region of output data to be generated by the apparatus for the current set of output data will be similar to a particular region of output data generated for the previous set of output data, preventing the particular region of output data from being generated for the current set of output data and using the particular region of output data generated for the previous set of output data as the particular region of output data for the current set of output data;
wherein, when it is predicted that a particular region of output data to be generated for the current set of output data will not be similar to a particular region of output data generated for the previous set of output data, the processing circuitry is configured not to generate the particular region of output data to be generated for the current set of output data or is configured to use the particular region of output data generated for the previous set of output data as the particular region of output data for the current set of output data or is configured to generate for a subsequent set of output data a corresponding region of output data to be generated for the subsequent set of output data.
