# US 12,603,989 B2 · Image data decompression

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

- Number: US 12,603,989 B2
- Document ID: US12603989B2
- Status: Granted
- Kind: B2
- Application number: 18/532,587
- Filed: 2023-12-07
- Published: 2024-07-11
- Granted: 2026-04-14
- Earliest claimed: 2022-12-07
- Assignees: Imagination Technologies Limited
- Applicants: Imagination Technologies Limited
- Inventors: Ilaria Martinelli; Simon Fenney; Kellie Marks; Paul Higginbottom
- Web page: https://patentgrep.com/patent/US12603989B2

## CPC

- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/115: Selection of the code volume for a coding unit prior to coding
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/189: characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Image element values are determined from a compressed block of image data relating to a reference channel and non-reference channels. Compressed channel data is used to determine an initial data value relating to a channel. A decompressed data value is determined for the non-reference channels by: (i) reading an indication of a compression mode, the compression mode being either a channel decorrelating mode or a non-channel decorrelating mode, (ii) if the compression mode is non-channel decorrelating mode, determining the decompressed data value for the non-reference channel to be the determined initial data value relating to the non-reference channel for the image element value; (iii) if the compression mode is a channel decorrelating mode, determining the decompressed data value for the non-reference channel to be a function of the determined initial data value relating to the non-reference channel and the determined initial data value relating to one of the reference channels.

## Claims

### Claim 1

A computer-implemented method of performing decompression to determine one or more image element values from compressed data, wherein the compressed data represents a block of image data comprising a plurality of image element values, each image element value comprising a plurality of data values relating to a respective plurality of channels, wherein the plurality of channels comprises at least one reference channel and a plurality of non-reference channels, the method comprising:
reading, from the compressed data, compressed channel data for each of the channels;
for each of the channels, using the compressed channel data for the channel to determine an initial data value relating to the channel for each of the one or more image element values being decompressed;
for each of the one or more image element values being decompressed, determining a decompressed data value for each of the non-reference channels by:
reading, from the compressed data, an indication of a compression mode for the non-reference channel for the block, wherein the compression mode is either a channel decorrelating mode or a non-channel decorrelating mode, and
if the compression mode for the non-reference channel is the non-channel decorrelating mode, determining the decompressed data value for the non-reference channel to be the determined initial data value relating to the non-reference channel for the image element value; and
if the compression mode for the non-reference channel is the channel decorrelating mode, determining the decompressed data value for the non-reference channel to be a function of the determined initial data value relating to the non-reference channel and the determined initial data value relating to one of the at least one reference channel for the image element value.

### Claim 2 (depends on 1)

The method of claim 1, wherein the compression mode for a first of the plurality of non-reference channels is the channel decorrelating mode, and wherein the compression mode for a second of the plurality of non-reference channels is the non-channel decorrelating mode.

### Claim 3 (depends on 1)

The method of claim 1, wherein said function is a sum.

### Claim 4 (depends on 1)

The method of claim 1, wherein for each of the one or more image element values being decompressed, for each of the at least one reference channel, the determined initial data value relating to the reference channel for the image element value is a decompressed data value for the reference channel.

### Claim 5 (depends on 1)

The method of claim 1, wherein said reading compressed channel data for each of the channels comprises:
reading, from the compressed data, an indication of an origin value for each of the channels; and
for each of the channels, reading representations of difference values from the compressed data, wherein the difference values for the channel represent differences between the data values and the origin value for the channel for the one or more image element values being decompressed from the compressed data;
wherein said, for each of the channels, using the compressed channel data for the channel to determine an initial data value relating to the channel for each of the one or more image element values being decompressed comprises:
for each of the channels, determining the initial data value relating to the channel for each of the one or more image element values being decompressed using: (i) the indication of the origin value for the channel read from the compressed data, and (ii) one of the representations of difference values read from the compressed data.

### Claim 6 (depends on 5)

The method of claim 5, wherein said determining, for each of the channels, the initial data value relating to the channel for each of the one or more image element values being decompressed comprises summing the origin value for the channel and the determined difference value for the channel for the image element value.

### Claim 7 (depends on 5)

The method of claim 5, wherein said determining, for each of the channels, the initial data value relating to the channel for each of the one or more image element values being decompressed comprises subtracting the determined difference value for the channel for the image element value from the origin value for the channel.

### Claim 8 (depends on 5)

The method of claim 5, wherein for each of the non-reference channels the indication of the origin value for the non-reference channel is read from the compressed data as a number representing: (i) the origin value for the non-reference channel, or (ii) a difference between the origin value for the non-reference channel and the origin value for one of the at least one reference channel for the block.

### Claim 9 (depends on 5)

The method of claim 5, wherein said reading compressed channel data for each of the channels further comprises:
reading, from the compressed data, for each of the channels, an indication of a first number of bits for the representations of the difference values for the channel;
wherein said determining the initial data values relating to the channels for each of the one or more image element values being decompressed comprises:
based on the representations of the difference values read from the compressed data, determining, for each of the channels and for each of the one or more image element values being decompressed, a difference value in accordance with said first number of bits for the channel.

### Claim 10 (depends on 9)

The method of claim 9, wherein said determined difference value for a channel for an image element value has said first number of bits for the channel.

### Claim 11 (depends on 9)

The method claim 9, wherein for each of the channels each of the representations of the difference values for the channel has the first number of bits for the channel.

### Claim 12 (depends on 9)

The method of claim 9, wherein said reading representations of difference values from the compressed data comprises:
obtaining, for each of the channels, a second number of bits, wherein each of the representations of the difference values for each of the channels has the second number of bits for that channel; and
using the obtained second numbers of bits for the respective channels to read the representations of the difference values for the one or more image element values being decompressed from the compressed data.

### Claim 13 (depends on 12)

The method of claim 12, wherein said determining, for each of the channels and for each of the one or more image element values being decompressed, a difference value in accordance with said first number of bits for the channel comprises adding zero, one or more least significant bits to the representations of the difference values read from the compressed data to thereby determine the difference values having said first number of bits for each of the channels.

### Claim 14 (depends on 13)

The method of claim 13, wherein the zero, one or more least significant bits which are added to the representations of the difference values read from the compressed data are determined by bit replication of a corresponding zero, one or more most significant bits of the representations of the difference values read from the compressed data.

### Claim 15 (depends on 12)

The method of claim 12, wherein said obtaining, for each of the one or more channels, a second number of bits comprises using the first number of bits for each of the one or more channels to determine the second number of bits for the channel in accordance with a predetermined scheme.

### Claim 16 (depends on 12)

The method of claim 12, wherein said obtaining, for each of the one or more channels, a second number of bits comprises reading an indication of said second number of bits for the channel from the compressed data.

### Claim 17 (depends on 5)

The method of claim 5, wherein the compressed data is in a compressed block of data comprising:
a header portion, which has a fixed size, and which comprises: (i) the indication of the origin value for each of the channels, and (ii) the indication of the compression mode for each of the non-reference channels; and
a body portion, which has a variable size, and which comprises the representations of the difference values for each of the channels.

### Claim 18 (depends on 9)

The method of claim 9, wherein the compressed data is in a compressed block of data comprising:
a header portion, which has a fixed size, and which comprises: (i) the indication of the origin value for each of the channels, and (ii) the indication of the compression mode for each of the non-reference channels; and
a body portion, which has a variable size, and which comprises the representations of the difference values for each of the channels,
wherein the header portion further comprises the indication of the first number of bits for each of the channels.

### Claim 19

A decompression unit configured to perform decompression to determine one or more image element values from compressed data, wherein the compressed data represents a block of image data comprising a plurality of image element values, each image element value comprising a plurality of data values relating to a respective plurality of channels, wherein the plurality of channels comprises at least one reference channel and a plurality of non-reference channels, the decompression unit comprising:
decompression logic configured to:
read, from the compressed data, compressed channel data for each of the channels, and
for each of the channels, use the compressed channel data for the channel to determine an initial data value relating to the channel for each of the one or more image element values being decompressed; and
channel decorrelation logic configured to determine, for each of the one or more image element values being decompressed, a decompressed data value for each of the non-reference channels by:
reading, from the compressed data, an indication of a compression mode for the non-reference channel for the block, wherein the compression mode is either a channel decorrelating mode or a non-channel decorrelating mode,
if the compression mode for the non-reference channel is the non-channel decorrelating mode, determining the decompressed data value for the non-reference channel to be the determined initial data value relating to the non-reference channel for the image element value, and
if the compression mode for the non-reference channel is the channel decorrelating mode, determining the decompressed data value for the non-reference channel to be a function of the determined initial data value relating to the non-reference channel and the determined initial data value relating to one of the at least one reference channel for the image element value.

### Claim 20

A non-transitory computer readable storage medium having stored thereon an integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture a decompression unit which is configured to perform decompression to determine one or more image element values from compressed data, wherein the compressed data represents a block of image data comprising a plurality of image element values, each image element value comprising a plurality of data values relating to a respective plurality of channels, wherein the plurality of channels comprises at least one reference channel and a plurality of non-reference channels, the decompression unit comprising:
decompression logic configured to:
read, from the compressed data, compressed channel data for each of the channels, and
for each of the channels, use the compressed channel data for the channel to determine an initial data value relating to the channel for each of the one or more image element values being decompressed; and
channel decorrelation logic configured to determine, for each of the one or more image element values being decompressed, a decompressed data value for each of the non-reference channels by:
reading, from the compressed data, an indication of a compression mode for the non-reference channel for the block, wherein the compression mode is either a channel decorrelating mode or a non-channel decorrelating mode,
if the compression mode for the non-reference channel is the non-channel decorrelating mode, determining the decompressed data value for the non-reference channel to be the determined initial data value relating to the non-reference channel for the image element value, and
if the compression mode for the non-reference channel is the channel decorrelating mode, determining the decompressed data value for the non-reference channel to be a function of the determined initial data value relating to the non-reference channel and the determined initial data value relating to one of the at least one reference channel for the image element value.
