IP Library Granted Patent US 11,836,368
Granted Patent B2
US 11,836,368 · App. 18/071,454 · Granted Dec 5, 2023

Lossy data compression

Inventors: Linling Zhang (Kings Langley, GB); Simon Fenney (Kings Langley, GB)
Assignee: Imagination Technologies Limited
G06F3/064G06F3/0608G06F3/0673H04N19/34H04N19/645
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,836,368
App. No.
18/071,454
Granted
Dec 5, 2023
Kind
B2
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.

Claims (51)

1. A method, implemented in hardware logic, of performing lossy wrap-around wavelet compression, the method comprising:

dividing a data value, in a block of data, into most significant bits and least significant bits;

applying wrap-around wavelet compression to the most significant bits to produce an intermediate compression result; and

appending a selected number of additional bits, from the least significant bits or from a value derived from the least significant bits, to the intermediate compression result to create a compressed data value.

2. The method of claim 1 , wherein the selected number of additional bits are selectively appended to the intermediate compression result to achieve a target compression ratio for the compressed data value.

3. The method of claim 1 , wherein the most significant bits and the least significant bits of the data value are non-overlapping.

4. The method of claim 1 , further comprising outputting or storing the compressed data value.

5. The method of claim 1 , wherein the selected number of additional bits is zero, one, or more than one.

6. The method of claim 1 , wherein a compression result of the compressed data value is achieved by:

appending all least significant bits to the intermediate compression result to create the compressed data value,

comparing the compressed data value to a target compression ratio, and

in response to the comparing, removing one or more least significant bits from the compressed data value until the compressed data meets the target compression ratio;

or by:

appending a most significant bit from the least significant bits to the intermediate compression result to create the compressed data value,

comparing the compressed data value to a target compression ratio, and

in response to the comparing, appending one or more next most significant bits of the least significant bits to the compressed data value until the target compression ratio met; and

selecting the compressed data value closest to the target compression ratio without exceeding the target compression ratio.

7. The method of claim 1 , further comprising, prior to the appending the selected number of additional bits:

determining whether the intermediate compression result satisfies the target compression ratio; and

in response to determining that intermediate compression result does not satisfy the target compression ratio, updating the number of least significant bits and repeating the dividing, applying and appending steps.

8. The method of claim 1 , further comprising generating a data value derived from the least significant bits by compressing the least significant bits using a compression scheme which is not wrap-around wavelet compression;

wherein one or more bits from the data value derived from the least significant bits is selectively appended to the intermediate compression result to create the compressed data value.

9. The method of claim 8 , wherein generating the data value derived from the least significant bits comprises logically combining the least significant bits of the data value with an equal number of the most significant bits from the data value.

10. The method of claim 9 , wherein the logical combining uses an XOR logic function.

11. The method of claim 1 , wherein the block of data is a block of digital image data and wherein the data value comprises a data value for a pixel.

12. A method, implemented in hardware logic, of performing lossy wrap-around wavelet decompression, the method comprising:

receiving a compressed data value comprising most significant bits and least significant bits;

dividing the compressed data value into the most significant bits of the compressed data value and, where the number of the least significant bits of the compressed data value is not zero, the least significant bits of the data value;

applying wrap-around wavelet decompression to the most significant bits of the compressed data value to generate an intermediate decompression result; and

appending one or more bits to the intermediate decompression result to create a decompressed data value.

13. The method of claim 12 , wherein there are zero least significant bits, and zero bits are appended to the intermediate decompression result.

14. The method of claim 12 , wherein the number of bits appended to the intermediate decompression result is set to a value close to a midpoint between the number of bits as zeros and number of bits as ones.

15. The method of claim 12 , wherein there are zero least significant bits and the appending one or more bits to the intermediate decompression result comprises:

duplicating and appending most significant bits from the intermediate decompression result to the intermediate decompression result;

or

appending the decompressed least significant bits, and

appending a number of zeros equivalent to the number of bits appended to the intermediate decompression result minus the number of received least significant bits.

16. The method of claim 12 , wherein the number of least significant bits is greater than zero and less than the number of bits appended to the intermediate decompression result, and the appending one or more bits to the intermediate decompression result comprises:

appending the decompressed least significant bits; and

appending a number bits equivalent to the number of bits appended to the intermediate decompression result minus the number of received least significant bits set to a value close to a midpoint between the same number of bits of zeros and the same number of bits of ones.

17. The method of claim 12 , wherein the appending one or more bits to the intermediate decompression result comprises:

defining a derived least significant bits part; and

appending the derived least significant bits part to the intermediate decompression result.

18. The method of claim 17 , wherein defining a derived least significant bits part comprises:

decompressing the compressed least significant bits using a decompression scheme which is not wrap-around wavelet compression.

19. The method of claim 17 , wherein defining a derived least significant bits part comprises:

logically combining the least significant bits of the least significant bits of the data value with the number of bits appended to the intermediate decompression result of the most significant bits from the intermediate decompression result.

20. 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 an integrated circuit operable to perform lossy wrap-around wavelet compression by:

dividing a data value, in a block of data, into most significant bits and least significant bits;

applying wrap-around wavelet compression to the most significant bits to produce an intermediate compression result; and

appending a selected number of additional bits, from the least significant bits or from a value derived from the least significant bits, to the intermediate compression result to create a compressed data value.

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Priority Claims (1)
GB 1522449 · Dec 18, 2015 · national
Continuity (3)
Continuation 16872527 · May 12, 2020
Continuation 15383853 · Dec 19, 2016
Related Publication 20230089878A1 · Mar 23, 2023