# US 11,443,458 B2 · Methods and decompression units for decompressing a compressed block of image data

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

- Number: US 11,443,458 B2
- Document ID: US11443458B2
- Status: Granted
- Kind: B2
- Application number: 17/001,269
- Filed: 2020-08-24
- Published: 2021-02-25
- Granted: 2022-09-13
- Earliest claimed: 2019-08-23
- Assignees: Imagination Technologies Limited
- Applicants: Imagination Technologies Limited
- Inventors: Xile Yang
- Web page: https://patentgrep.com/patent/US11443458B2

## CPC

- G06T 9/00: Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00)
- H04N 19/115: Selection of the code volume for a coding unit prior to coding
- G06F 7/50: Adding; Subtracting (G06F7/483 - G06F7/491, G06F7/544 - G06F7/556 take precedence)
- G06F 7/727: {Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5 (G06F7/728 takes precedence)}
- 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/126: Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
- H04N 19/15: by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
- H04N 19/176: the region being a block, e.g. a macroblock
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and decompression units for decompressing data from a compressed block of image data, the compressed block of image data representing a block of image data comprising a plurality of image element values, the image element values being divisible into at least a first value and a second value such that the block of image data comprises a two-dimensional block of first values. The method comprises: analysing a header of the compressed block of image data to identify (i) a location in a body of the compressed block of image data of a fixed-length parameter that corresponds to a first desired value in the two-dimensional block of first values, and (ii) common base information for the first desired value, the common base information being common to a first set of values comprising all of the two-dimensional block of first values or a portion of the two-dimensional block of first values that includes the first desired value; retrieving the fixed-length parameter that corresponds to the first desired value from the identified location in the body of the compressed block of image data; and generating the first desired value from the common base information and the fixed-length parameter.

## Claims

### Claim 1

A method of decompressing data from a compressed block of image data, the compressed block of image data representing a block of image data comprising a plurality of image element values, each image element value being divisible into at least a first value and a second value such that the block of image data comprises a two-dimensional block of first values, the method comprising:
receiving the compressed block of image data, the compressed block of image data comprising:
a body comprising a fixed-length parameter for each value in a first set of values that is zero, one or more than one bits, the first set of values comprising all or a portion of the two-dimensional block of first values, and
a header comprising common base information that is common to the first set of values and information identifying a size of the fixed-length parameters for the first set of values, each value in the first set of values being obtainable from the common base information for the first set of values and the fixed-length parameter for that value;
analysing the header to identify (i) a location in the body of the fixed-length parameter for a first selected value in the first set of values, and (ii) the common base information for the first set of values;
retrieving the fixed-length parameter for the first selected value from the identified location in the body; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first selected value is generated from the common base information for the first set of values and the fixed-length parameter for the first selected value in accordance with a first fixed-length compression algorithm used to compress the first set of values.

### Claim 3 (depends on 2)

The method of claim 2, wherein the header further comprises information identifying the first fixed-length compression algorithm and the method further comprises analysing the header of the compressed block of image data to identify the first fixed-length compression algorithm.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the first set of values comprises a first portion of the two-dimensional block of first values;
the body further comprises a fixed-length parameter for each value in a second set of values that is zero, one or more than one bits, the second set of values comprising a second portion of the two-dimensional block of first values;
the header further comprises common base information that is common to the second set of values and information identifying a size of the fixed-length parameters for the second set of values, each value in the second set of values being obtainable from the common base information for the second set of values and the fixed-length parameter for that value; and
the method further comprises:
analysing the header to identify (i) a location in the body of the fixed-length parameter for a second selected value of the second set of values, and (ii) common base information for the second set of values,
retrieving the fixed-length parameter for the second selected value from the identified location in the body, and
generating the second selected value from the common base information for the second set of values and the fixed-length parameter for the second selected value.

### Claim 5 (depends on 4)

The method of claim 4, wherein the second selected value is generated from the common base information for the second set of values and the fixed-length parameter for the second selected value in accordance with a second fixed-length compression algorithm used to compress the second set of values.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the block of image data further comprises a two-dimensional block of second values;
the body further comprises a fixed-length parameter for each value in a third set of values that that is zero, one or more than one bits, the third set of values comprising all or a portion of the two-dimensional block of second values;
the header further comprises common base information that is common to the third set of values and information identifying a size of the fixed-length parameters for the third set of values, each value in the third set of values being obtainable from the common base information for the third set of values and the fixed-length parameter for that value; and
the method further comprises:
analysing the header to identify (i) a location in the body of a fixed-length parameter for a third selected value in the third set of values, and (ii) common base information for the third set of values,
retrieving the fixed-length parameter for the third selected value from the identified location in the body, and
generating the third selected value from the common base information for the third set of values and the fixed-length parameter for the third selected value.

### Claim 7 (depends on 6)

The method of claim 6, wherein the third selected value is generated from the common base information for the third set of values and the fixed-length parameter for the third selected value in accordance with a third fixed-length compression algorithm used to compress the third set of values.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
the block of image data further comprises a two-dimensional block of second values;
each first value and each second value corresponds to a pixel; and
the body comprises a pixel data unit for each pixel, the pixel data unit comprising:
first data representing the first value in the two-dimensional block of first values corresponding to that pixel, the first data comprising the first value or a fixed-length parameter for that first value generated in accordance with a fixed-length compression algorithm, and
second data representing the second value in the two-dimensional block of second values corresponding to that pixel, the second data comprising the second value or a fixed-length parameter for that second value generated in accordance with a fixed-length compression algorithm.

### Claim 9 (depends on 8)

The method of claim 8, wherein in the body the pixel data units are grouped into blocks and the first data of each pixel data unit in a block is a same size and the second data of each pixel data unit in a block is a same size.

### Claim 10 (depends on 8)

The method of claim 8, wherein analysing the header to identify a location in the body of the fixed-length parameter for the first selected value comprises:
analysing the header to identify a size of the first data for the block of pixel data units corresponding to the first selected value;
analysing the header to identify a size of the second data for the block of pixel data units corresponding to the first selected value; and
determining a location in the body of the pixel data unit corresponding to the first selected value based on the identified sizes of the first data and the second data.

### Claim 11 (depends on 1)

The method of claim 1, wherein analysing the header to identify the common base information for the first set of values comprises analysing the header to identify the first set of values and identifying the common base information associated with the first set of values.

### Claim 12 (depends on 11)

The method of claim 11, wherein analysing the header to identify the first set of values comprises analysing the header to identify a size of a compressed set of values comprising the first selected value, the size of a compressed set of values being one of a plurality of predetermined sizes.

### Claim 13 (depends on 1)

The method of claim 1, wherein:
the common base information for the first set of values comprises information identifying one of one or more predetermined values and the fixed-length parameter for the first selected value has zero bits; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value comprises using the identified predetermined value as the first selected value.

### Claim 14 (depends on 1)

The method of claim 1, wherein:
the block of image data further comprises a two-dimensional block of second values;
the common base information for the first set of values comprises information identifying a first predetermined value for the first set of values and a second predetermined value for a second set of values comprising all of the two-dimensional block of second values or a portion of the two-dimensional block of second values;
the fixed-length parameter for the first selected value has zero bits; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value comprises using the first predetermined value as the first selected value.

### Claim 15 (depends on 1)

The method of claim 1, wherein:
the common base information for the first set of values comprises an origin value and the fixed-length parameter for the first selected value comprises a delta value that represents a difference between the first selected value and the origin value; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value comprises adding the origin value and the delta value to form the first selected value.

### Claim 16 (depends on 1)

The method of claim 1, wherein:
the common base information for the first set of values comprises a plurality of origin values and the fixed-length parameter for the first selected value comprises an index identifying one of the plurality of origin values and a delta value representing a difference between the first selected value and the identified origin value; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value comprises identifying one of the plurality of origin values from the index and adding the identified origin value to the delta value to form the first selected value.

### Claim 17 (depends on 1)

The method of claim 1, wherein:
the common base information for the first set of values comprises a look up table of values and the fixed-length parameter for the first selected value comprises an index to the look up table; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value comprises identifying one of the values in the look up table from the index and using the identified value as the first selected value.

### Claim 18 (depends on 1)

The method of claim 1, wherein:
the common base information for the first set of values comprises a common value that is common to the first set of values and the fixed-length parameter for the first selected value has zero bits; and
generating the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value comprises using the common value as the first selected value.

### Claim 19

A decompression unit configured to decompress data from a compressed block of image data, the compressed block of image data representing a block of image data comprising a plurality of image element values, each image element value being divisible into at least a first value and a second value such that the block of image data comprises a two-dimensional block of first values, the decompression unit comprising:
a header analysis unit configured to:
receive a header of the compressed block of image data, the header comprising common base information that is common to a first set of values and information identifying a size of fixed-length parameters for the first set of values, the first set of values comprising all or a portion of the two-dimensional block of first values, and
analyse the header to identify (i) a location in a body of the compressed block of image data of a fixed-length parameter for a first selected value of the first set of values, and (ii) the common base information for the first set of values;
a body analysis unit configured to:
receive the body, the body comprising a fixed-length parameter for each value in the first set of values that that is zero, one or more than one bits, each value in the first set of values being obtainable from the common base information for the first set of values and the fixed-length parameter for that value, and
retrieve the fixed-length parameter for the first selected value from the identified location of the body; and
a value generation unit configured to generate the first selected value from the common base information for the first set of values and the fixed-length parameter for the first selected value.

### Claim 20 (depends on 1)

A non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed at a computer system, cause the computer system to perform the method as set forth in claim 1.
