# US 11,443,457 B2 · Random accessible image data compression

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

- Number: US 11,443,457 B2
- Document ID: US11443457B2
- Status: Granted
- Kind: B2
- Application number: 17/001,160
- Filed: 2020-08-24
- Published: 2021-03-11
- 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/US11443457B2

## 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 compression units for compressing a block of image data, the 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 comprising: compressing a first data set comprising all or a portion of the two-dimensional block of first values in accordance with a first fixed-length compression algorithm to generate a first compressed block by: identifying common base information for the first data set; and identifying a fixed-length parameter for each first value in the first data set, the fixed-length parameter being zero, one or more than one bits in length; and forming a compressed block for the block of image data based on the first compressed block.

## Claims

### Claim 1

A method of compressing a block of image data, the 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:
compressing a first data set comprising all or a portion of the two-dimensional block of first values in accordance with a first fixed-length compression algorithm to generate a first compressed block by:
identifying common base information for the first data set, and
identifying a fixed-length parameter for each first value in the first data set, each first value in the first data set being obtainable from the common base information for the first data set and the fixed-length parameter for that first value, the fixed-length parameter being zero, one or more than one bits in length; and
forming a compressed block for the block of image data based on the first compressed block by:
forming a header for the compressed block of image data, wherein the header comprises the common base information for the first data set and information that indicates a size of the fixed-length parameter for each first value in the first data set, and
forming a body for the compressed block of image data, wherein the body comprises the fixed-length parameter for each first value in the first data set.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first data set comprises a first portion of the two-dimensional block of first values, and the method further comprises compressing a second data set comprising a second portion of the two-dimensional block of first values in accordance with a second fixed-length compression algorithm to generate a second compressed block, and wherein the compressed block for the block of image data is further based on the second compressed block.

### Claim 3 (depends on 1)

The method of claim 1, further comprising sub-dividing the two-dimensional block of first values into a plurality of sub-blocks, and wherein the first data set is one of the plurality of sub-blocks.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, prior to compressing the first data set, selecting the first data set by:
sub-dividing the two-dimensional block of first values into a plurality of sub-blocks;
determining whether one of the sub-blocks can be suitably compressed using a fixed-length compression algorithm;
in response to determining that the one of the sub-blocks can be suitably compressed using a fixed-length compression algorithm, selecting the one of the sub-blocks as the first data set; and
in response to determining that the one of the sub-blocks cannot be suitably compressed using a fixed-length compression algorithm, sub-dividing the one of the sub-blocks into a plurality of mini-blocks and selecting one of the mini-blocks as the first data set.

### Claim 5 (depends on 1)

The method of claim 1, further comprising, prior to compressing the first data set, selecting the first data set by:
determining whether the two-dimensional block of first values can be suitably compressed using a fixed-length compression algorithm;
in response to determining that the two-dimensional block of first values can be suitably compressed using a fixed-length compression algorithm, selecting the two-dimensional block of first values as the first data set; and
in response to determining that the two-dimensional block of first values cannot be suitably compressed using a fixed-length compression algorithm, sub-dividing the two-dimensional block of first values into a plurality of sub-blocks and selecting one of the sub-blocks as the first data set.

### 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 and the method further comprises:
compressing a third data set comprising all or a portion of the two-dimensional block of second values using a third fixed-length compression algorithm to generate a third compressed block by:
identifying common base information for the third data set, and
identifying a fixed-length parameter for each second value in the third data set, each second value in the third data set being obtainable from the common base information for the third data set and the fixed-length parameter for that second value, the fixed-length parameter being zero, one or more than one bits in length; and
wherein the compressed block for the block of image data is further based on the third compressed block.

### Claim 7 (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 correspond to a pixel; and
the compressed block for the block of image data 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 8 (depends on 7)

The method of claim 7, wherein 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 9 (depends on 1)

The method of claim 1, further comprising:
analysing the first values in the first data set to generate one or more diversity statistics, the one or more diversity statistics include one or more of: a range of values in the first data set, a minimum value in the first data set, a maximum value in the first data set, and a number of unique values in the first data set; and
selecting one of a plurality of fixed-length compression algorithms to be the first fixed-length compression algorithm based on the one or more diversity statistics.

### Claim 10 (depends on 1)

The method of claim 1, wherein if each value of the first data set is the same and matches one of one or more predetermined values, the common base information comprises information identifying the one of the one or more predetermined values and the fixed-length parameter for each value has zero bits.

### Claim 11 (depends on 10)

The method of claim 10, wherein the one or more predetermined values comprises a plurality of values and at least a portion of the plurality of values are dynamically configurable.

### Claim 12 (depends on 1)

The method of claim 1, wherein:
the block of image data further comprises a two-dimensional block of second values; and
if all of the values of the first data set are the same and match a first predetermined value, and all the values of a third data set are the same and match a second predetermined value, wherein the third data set comprises the second values of the two-dimensional block of second values corresponding to the values in the first data set, then the common base information comprises information identifying the first and second predetermined values and the fixed-length parameters have zero bits.

### Claim 13 (depends on 1)

The method of claim 1, wherein the common base information comprises an origin based on the values in the first data set and the fixed-length parameter for each value comprises a difference between the value and the origin.

### Claim 14 (depends on 1)

The method of claim 1, wherein the common base information comprises a plurality of origins based on the values in the first data set and the fixed-length parameter for each value comprises an index identifying one of the plurality of origins and a difference between the value and that origin.

### Claim 15 (depends on 1)

The method of claim 1, wherein the common base information comprises a look up table of unique values in the first data set and the fixed-length parameter for a value comprises an index to the look up table.

### Claim 16 (depends on 1)

The method of claim 1, wherein if all the values in the first data set are the same, the common base information comprises that common value and the fixed-length parameter for each value has zero bits.

### Claim 17 (depends on 1)

The method of claim 1, wherein the header further comprises information indicating the first fixed-length compression algorithm.

### Claim 18 (depends on 1)

The method of claim 1, wherein each image element value is a colour value and each first value is a colour value for a first colour channel.

### Claim 19

A compression unit configured to compress a block of image data, the 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 compression unit comprising:
a header generation unit configured to identify common base information for compressing a first data set according to a first fixed-length compression algorithm, the first data set comprising all or a portion of the two-dimensional block of first values; and
a body generation unit configured to:
identify a fixed-length parameter for each first value in the first data set according to the first fixed-length compression algorithm, each first value being obtainable from the common base information for the first data set and the fixed-length parameter for that first value, and
form a compressed block for the block of image data based on the common base information and the fixed-length parameters by:
forming a header for the compressed block of image data, wherein the header comprises the common base information for the first data set and information that indicates a size of the fixed-length parameter for each first value in the first data set, and
forming a body for the compressed block of image data, wherein the body comprises the fixed-length parameter for each first value in the first data set.

### 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.
