# US 10,484,685 B2 · System and method for intelligent data/frame compression in a system on a chip

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

- Number: US 10,484,685 B2
- Document ID: US10484685B2
- Status: Granted
- Kind: B2
- Application number: 15/490,625
- Filed: 2017-04-18
- Published: 2018-10-18
- Granted: 2019-11-19
- Earliest claimed: 2017-04-18
- Assignees: QUALCOMM Incorporated
- Applicants: Qualcomm Incorporated
- Inventors: Serag Gadelrab; Chinchuan Chiu; Moinul Khan; Kyle Ernewein; Tom Longo; Simon Booth; Meghal Varia; Milivoje Aleksic; King-Chung Lai
- Web page: https://patentgrep.com/patent/US10484685B2

## CPC

- H04N 19/127: Prioritisation of hardware or computational resources
- G01K 13/00: Thermometers specially adapted for specific purposes
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/064: {Management of blocks}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06T 3/40: Scaling of whole images or parts thereof, e.g. expanding or contracting
- H04N 19/12: Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N 19/134: characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N 19/146: Data rate or code amount at the encoder output
- H04N 19/154: Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147)
- H04N 19/156: Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
- H04N 19/172: the region being a picture, frame or field
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/426: using memory downsizing methods
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/65: using error resilience
- H04N 19/85: using pre-processing or post-processing specially adapted for video compression
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G01K: MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR (radiation pyrometry G01J5/00)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

An exemplary method for intelligent compression defines a threshold value for a key performance indicator. Based on the key performance indicator value, data blocks generated by a producer component may be scaled down to reduce power and/or bandwidth consumption when being compressed according to a lossless compression module. The compressed data blocks are then stored in a memory component along with metadata that signals the scaling factor used prior to compression. Consumer components later retrieving the compressed data blocks from the memory component may decompress the data blocks and upscale, if required, based on the scaling factor signaled by the metadata.

## Claims

### Claim 1

A method for intelligent data compression in a portable computing device (“PCD”), the method comprising:
defining a threshold value for a key performance indicator within the PCD;
receiving a first data block produced by a producer component of the PCD and scaled at a default scale level setting and compressing the first data block according to a lossless compression algorithm;
monitoring an active level for the key performance indicator and comparing the active level to the defined threshold value;
in response to a comparison of the active level for the key performance indicator to the defined threshold value indicating, by a relation between the active level and the defined threshold value, degradation in PCD performance resulting from lossless compression of the first data block, modifying scale settings for data blocks generated by the producer component of the PCD to a reduced scale setting;
receiving a second data block produced by the producer component of the PCD and scaled at the reduced scale setting and compressing the second data block according to the lossless compression algorithm;
storing the compressed second data block in a memory component of the PCD, wherein metadata associated with the compressed second data block includes an indicator of the reduced scale setting; and
a consumer component of the PCD retrieving the compressed second data block from the memory component of the PCD, decompressing the second data block, and up-scaling the decompressed second data block based on the indicator of the reduced scale setting included within the metadata.

### Claim 2 (depends on 1)

The method of claim 1, wherein the key performance indicator is selected from a group comprised of: a compression ratio for data blocks compressed by the compression module, a voltage level, an average voltage supply level, a frame rate, and a processing time for compressing a data block.

### Claim 3 (depends on 1)

The method of claim 1, wherein the key performance indicator is a temperature reading generated by a temperature sensor within the PCD.

### Claim 4 (depends on 1)

The method of claim 1, wherein modifying scale settings for data blocks generated by the producer component is further based on a hysteresis calculation.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first and second data blocks are image frames.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first and second data blocks are sub-units of an image frame.

### Claim 7 (depends on 1)

The method of claim 1, wherein the PCD is in the form of a wireless telephone.

### Claim 8

A system for intelligent data compression in a portable computing device (“PCD”), the system comprising:
a data compression controller configured to define a threshold value for a key performance indicator within the PCD;
a CODEC configured to receive a first data block produced by a producer component of the PCD and scaled at a default scale level setting and compress the first data block according to a lossless compression algorithm;
a threshold comparator configured to monitor an active level for the key performance indicator resulting from lossless compression of the first data block and compare the active level to the defined threshold value;
the data compression controller further configured to, in response to a comparison of the active level for the key performance indicator to the defined threshold value indicating, by a relation between the active level and the defined threshold value, degradation in PCD performance resulting from lossless compression of the first data block, modify scale settings for data blocks generated by the producer component of the PCD to a reduced scale setting;
the CODEC further configured to receive a second data block produced by the producer component of the PCD and scaled at the reduced scale setting and compress the second data block according to the lossless compression algorithm;
the data compression controller further configured to store the compressed second data block in a memory component of the PCD, wherein metadata associated with the compressed second data block comprises an indicator of the reduced scale setting; and
a consumer component of the PCD configured to retrieve the compressed second data block from the memory component of the PCD, decompress the second data block, and up-scale the decompressed second data block based on the indicator of the reduced scale setting comprised within the metadata.

### Claim 9 (depends on 8)

The system of claim 8, wherein the key performance indicator is selected from a group comprised of: a compression ratio for data blocks compressed by the compression module, a voltage level, an average voltage supply level, a frame rate, and a processing time for compressing a data block.

### Claim 10 (depends on 8)

The system of claim 8, wherein the key performance indicator is a temperature reading generated by a temperature sensor within the PCD.

### Claim 11 (depends on 8)

The system of claim 8, wherein modifying scale settings for data blocks generated by the producer component is further based on a hysteresis calculation.

### Claim 12 (depends on 8)

The system of claim 8, wherein the first and second data blocks are image frames.

### Claim 13 (depends on 8)

The system of claim 8, wherein the first and second data blocks are sub-units of an image frame.

### Claim 14 (depends on 8)

The system of claim 8, wherein the PCD is in the form of a wireless telephone.

### Claim 15

A system for intelligent data compression in a portable computing device (“PCD”), the system comprising:
means for defining a threshold value for a key performance indicator within the PCD;
means for receiving a first data block produced by a producer component of the PCD and scaled at a default scale level setting and compressing the first data block according to a lossless compression algorithm;
means for monitoring an active level for the key performance indicator resulting from lossless compression of the first data block and comparing the active level to the defined threshold value;
means for, in response to a comparison of the active level for the key performance indicator to the defined threshold value indicating, by a relation between the active level and the defined threshold value, degradation in PCD performance resulting from lossless compression of the first data block, modifying scale settings for data blocks generated by the producer component of the PCD to a reduced scale setting;
means for receiving a second data block produced by the producer component of the PCD and scaled at the reduced scale setting and compressing the second data block according to the lossless compression algorithm;
means for storing the compressed second data block in a memory component of the PCD, wherein metadata associated with the compressed second data block comprises an indicator of the reduced scale setting; and
means for, by a consumer component of the PCD, retrieving the compressed second data block from the memory component of the PCD, decompressing the second data block, and up-scaling the decompressed second data block based on the indicator of the reduced scale setting comprised within the metadata.

### Claim 16 (depends on 15)

The system of claim 15, wherein the key performance indicator is selected from a group comprised of: a compression ratio for data blocks compressed by the compression module, a voltage level, an average voltage supply level, a frame rate, and a processing time for compressing a data block.

### Claim 17 (depends on 15)

The system of claim 15, wherein the key performance indicator is a temperature reading generated by a temperature sensor within the PCD.

### Claim 18 (depends on 15)

The system of claim 15, wherein modifying scale settings for data blocks generated by the producer component is further based on a hysteresis calculation.

### Claim 19 (depends on 15)

The system of claim 15, wherein the first and second data blocks are image frames.

### Claim 20 (depends on 15)

The system of claim 15, wherein the first and second data blocks are sub-units of an image frame.

### Claim 21 (depends on 15)

The system of claim 15, wherein the PCD is in the form of a wireless telephone.

### Claim 22

A computer program product comprising a non-transitory computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for intelligent data compression in a portable computing device (“PCD”), said method comprising:
defining a threshold value for a key performance indicator within the PCD;
receiving a first data block produced by a producer component of the PCD and scaled at a default scale level setting and compressing the first data block according to a lossless compression algorithm;
monitoring an active level for the key performance indicator resulting from lossless compression of the first data block and comparing the active level to the defined threshold value;
in response to a comparison of the active level for the key performance indicator to the defined threshold value indicating, by a relation between the active level and the defined threshold value, degradation in PCD performance resulting from lossless compression of the first data block, modifying scale settings for data blocks generated by the producer component of the PCD to a reduced scale setting;
receiving a second data block produced by the producer component of the PCD and scaled at the reduced scale setting into the compression module and compressing the second data block according to the lossless compression algorithm;
storing the compressed second data block in a memory component of the PCD, wherein metadata associated with the compressed second data block comprises an indicator of the reduced scale setting; and
a consumer component of the PCD retrieving the compressed second data block from the memory component of the PCD, decompressing the second data block, and up-scaling the decompressed second data block based on the indicator of the reduced scale setting comprised within the metadata.

### Claim 23 (depends on 22)

The computer program product of claim 22, wherein the key performance indicator is selected from a group comprised of: a compression ratio for data blocks compressed by the compression module, a voltage level, an average voltage supply level, a frame rate, and a processing time for compressing a data block.

### Claim 24 (depends on 22)

The computer program product of claim 22, wherein the key performance indicator is a temperature reading generated by a temperature sensor within the PCD.

### Claim 25 (depends on 22)

The computer program product of claim 22, wherein modifying scale settings for data blocks generated by the producer component is further based on a hysteresis calculation.

### Claim 26 (depends on 22)

The computer program product of claim 22, wherein the first and second data blocks are image frames.

### Claim 27 (depends on 22)

The computer program product of claim 22, wherein the first and second data blocks are sub-units of an image frame.

### Claim 28 (depends on 22)

The computer program product of claim 22, wherein the PCD is in the form of a wireless telephone.
