Lossy data compression
AssigneeImagination Technologies Limited
InventorsLinling Zhang, Simon Fenney
Life of this patent
Estimating the term…
Abstract
A lossy method of compressing data, such as image data, which uses wrap-around wavelet compression is described. Each data value is divided into two parts and the first parts, which comprise the most significant bits from the data values, are compressed using wrap-around wavelet compression. Depending upon the target compression ratio and the compression ratio achieved by compressing just the first parts, none, one or more bits from the second parts, or from a data value derived from the second parts, may be appended to the compressed first parts. The method described may be lossy or may be lossless. A corresponding decompression method is also described.
Claims20
A method, implemented in hardware logic, of compressing a data value in a block of data, the method comprising:
- (i) receiving the data value in the block of input data, wherein the data value comprises n bits;
- (ii) dividing the data value into two non-overlapping parts, a first part comprising n-k most significant bits and a second part comprising k least significant bits;
- (iii) applying wrap-around wavelet compression to the first part of the data value to generate a compressed first part;
- and
- (iv) selectively appending no bits, one bit or more than one bit from the second part to the compressed first part to create a compressed data value;
- and
- (v) outputting a compressed block of data comprising the compressed data value.
A method of decompressing a block of data, the method comprising:
- receiving a compressed data block comprising a compressed data value, wherein the data value comprises m+j bits, where j≥0;
- dividing the data value into a first compressed part comprising m most significant bits and, where j>0, also a second compressed part comprising j least significant bits of the data value;
- applying wrap-around wavelet decompression to the compressed first part of the data value to generate a decompressed first part;
- and
- appending k bits to the decompressed first part to create a decompressed data value;
- and
- outputting a decompressed block of data comprising the decompressed data value.
A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the system to manufacture a compression/decompression unit operable to:
- compress a data value in a block of data by:
- receiving the data value in a block of input data, wherein the data value comprises n bits;
- dividing the data value into two non-overlapping parts, a first part comprising n-k most significant bits and a second part comprising k least significant bits of the data value;
- applying wrap-around wavelet compression to the first part of the data value to generate a compressed first part;
- and
- selectively appending no bits, one bit or more than one bit derived from the second part to the compressed first part to create a compressed data value;
- and
- outputting a compressed block of data comprising the compressed data value;
- and decompress a block of data by:
- receiving a compressed data block comprising a compressed data value, wherein the data value comprises m+j bits, where j≥0;
- dividing the data value into a first compressed part comprising m most significant bits and, where j>0, also a second compressed part comprising j least significant bits of the data value;
- applying wrap-around wavelet decompression to the compressed first part of the data value to generate a decompressed first part;
- and
- appending k bits to the decompressed first part to create a decompressed data value;
- and
- outputting a decompressed block of data comprising the decompressed data value.
Dependencies are inferred from the claim text.