IP Library Granted Patent US 12,418,657
Granted Patent B2
US 12,418,657 · App. 18/671,950 · Granted Sep 16, 2025

Guaranteed data compression

Inventors: Ilaria Martinelli (Watford, GB); Jeff Bond (Barry, GB); Simon Fenney (St. Albans, GB); Peter Malcolm Lacey (Bukinghamshire, GB); Gregory Clark (Hemel Hempstead, GB)
Assignee: Imagination Technologies Limited
H04N19/132G06T1/20H04N19/176H04N19/42H04N19/89
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 12,418,657
App. No.
18/671,950
Granted
Sep 16, 2025
Kind
B2
Abstract

A method of converting 10-bit pixel data (e.g. 10:10:10:2 data) into 8-bit pixel data involves converting the 10-bit values to 7-bits or 8-bits and generating error values for each of the converted values. Two of the 8-bit output channels comprise a combination of a converted 7-bit value and one of the bits from the fourth input channel. A third 8-bit output channel comprises the converted 8-bit value and the fourth 8-bit output channel comprises the error values. In various examples, the bits of the error values may be interleaved when they are packed into the fourth output channel.

Claims (41)

1. A method of converting 10-bit format pixel data into 8-bit format data, the method comprising, for a pixel:

generating an error value for a 10-bit input data channel by comparing a first number of least significant bits (LSBs) of the input data channel and a same first number of bits derived from a truncated version of the channel; and

outputting an 8-bit channel comprising the error value.

2. The method according to claim 1 , wherein the truncated version of the channel comprises 7 bits.

3. The method according to claim 1 , wherein generating an error value for the 10-bit input data channel by comparing a first number of LSBs of the input data channel and a same first number of bits derived from the truncated version of the channel comprises:

generating an error value for the 10-bit input data channel by combining using an XOR logic block three LSBs of the input data channel and three bits derived from the truncated version of the channel.

4. The method according to claim 1 , wherein the first number of bits derived from the truncated version of the channel comprises the three most significant bits (MSBs) of the truncated version of the channel.

5. The method according to claim 1 , further comprising:

prior to generating the error values, expanding, using bit replication, the truncated version of the channels to 10 bits; and

wherein the first number of bits derived from the truncated version of the channel comprises the three LSBs of the expanded truncated version of the channel.

6. The method according to claim 1 , wherein the truncated version of the channel is encoded using Gray coding.

7. The method according to claim 1 , further comprising outputting an 8-bit channel comprising the truncated version of the channel with a different appended bit from a further input data channel appended as an MSB.

8. The method according to claim 1 , wherein the 10-bit pixel data comprises RGBA pixel data.

9. A method of compressing 10-bit format pixel data comprising:

converting 10-bit format pixel data into 8-bit format data using the method as set forth in claim 1 ; and

compressing a block of 8-bit format data using a lossless compression method to generate a first compressed data block.

10. The method according to claim 9 , further comprising:

assessing the first compressed data block against a target compression threshold;

in response to determining that the first compressed data block satisfies the target compression threshold, outputting the first compressed data block; and

in response to determining that the first compressed data block does not satisfy the target compression threshold, discarding one or more bits from the 8-bit channel comprising the error values in the block of 8-bit format data to generate a reduced size block of data and compressing the reduced size block of data using the lossless compression method to generate a second compressed data block, wherein the second compressed data block is smaller than the first compressed data block.

11. The method according to claim 10 , further comprising:

outputting the second compressed data block.

12. The method according to claim 10 , further comprising:

assessing the second compressed data block against the target compression threshold;

in response to determining that the second compressed data block satisfies the target compression threshold, outputting the second compressed data block; and

in response to determining that the second compressed data block does not satisfy the target compression threshold, outputting, instead of the second compressed data block, a third compressed data block generated from the block of 8-bit format data, wherein the third compressed data block is generated using a lossy compression technique, and wherein the lossy compression technique is arranged to ensure that the third compressed data block satisfies the target compression threshold.

13. A method of converting 8-bit format pixel data into 10-bit format data, the method comprising:

using bit replication to increase an input data channel to a 10-bit channel; and

for the channel, modifying a first number of least significant bits (LSBs) by combining them with corresponding bits from an 8-bit channel to generate a corresponding 10-bit output channel.

14. The method according to claim 13 , further comprising:

Gray decoding the 2-bit last output channel.

15. A data decompression unit arranged to convert 8-bit format pixel data into 10-bit format data, the hardware comprising:

bit replication logic arranged, for a pixel, to use bit replication to increase an input data channel to a 10-bit channel; and

hardware logic arranged, for the channel, to modify a first number of least significant bits (LSBs) by combining them with corresponding bits from an 8-bit channel to generate a corresponding 10-bit output channel.

16. The data decompression unit of claim 15 , wherein the data compression unit is embodied in hardware on an integrated circuit.

17. A non-transitory computer readable storage medium having stored thereon computer executable code that when executed causes at least one processor to perform the method as set forth in claim 1 .

18. 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 integrated circuit manufacturing system to manufacture a data decompression unit as set forth in claim 15 .

19. An integrated circuit manufacturing system comprising:

a computer readable storage medium having stored thereon a non-transitory computer readable dataset description of an integrated circuit that describes a data decompression unit as set forth in claim 15 ;

a layout processing system configured to process the integrated circuit description so as to generate a circuit layout description of an integrated circuit embodying the data compression unit; and

an integrated circuit generation system configured to manufacture the data compression unit according to the circuit layout description.

Continuity (1)
Related Publication 20240314323A1 · Sep 19, 2024
References Cited (125)
US 2673065A · Patterson · 1954 [cited by applicant]
US 5073776A · Shigemori · 1991 [cited by applicant]
US 5218563A · Juri et al. · 1993 [cited by applicant]
US 5299208A · Blaum et al. · 1994 [cited by applicant]
US 5673065A · DeLeeuw · 1997 [cited by applicant]
US 5751359A · Suzuki et al. · 1998 [cited by applicant]
US 5809200A · Nishimoto et al. · 1998 [cited by applicant]
US 5859857A · Martinson et al. · 1999 [cited by applicant]
US 6137912A · Kostrzewski et al. · 2000 [cited by applicant]
US 6580755B1 · Morimoto et al. · 2003 [cited by applicant]
US 6583887B1 · Clouthier et al. · 2003 [cited by applicant]
US 6771727B1 · Haverinen · 2004 [cited by applicant]
US 6771827B1 · Curry · 2004 [cited by applicant]
US 7245663B2 · Schaar et al. · 2007 [cited by applicant]
US 7920749B1 · Donovan · 2011 [cited by applicant]
US 8428371B2 · Morovic et al. · 2013 [cited by applicant]
US 9215505B2 · Pelerin · 2015 [cited by applicant]
US 9275605B2 · Longhurst et al. · 2016 [cited by applicant]
US 9451254B2 · Joshi et al. · 2016 [cited by applicant]
US 9998142B1 · Gopal · 2018 [cited by applicant]
US 10225569B2 · Okamoto et al. · 2019 [cited by applicant]
US 10707895B2 · Fenney · 2020 [cited by applicant]
US 10720940B2 · Fenney et al. · 2020 [cited by applicant]
US 10812101B2 · Lacey et al. · 2020 [cited by applicant]
US 10819367B2 · Fenney et al. · 2020 [cited by applicant]
US 10895776B2 · Yang · 2021 [cited by applicant]
US 10985776B2 · Fenney · 2021 [cited by applicant]
US 11070227B2 · Fenney et al. · 2021 [cited by applicant]
US 11258457B2 · Lacey et al. · 2022 [cited by applicant]
US 11309907B2 · Fenney et al. · 2022 [cited by applicant]
US 20030030575A1 · Frachtenberg et al. · 2003 [cited by applicant]
US 20030090397A1 · Rasmussen · 2003 [cited by applicant]
US 20040042292A1 · Sakata et al. · 2004 [cited by applicant]
US 20040189679A1 · Ito · 2004 [cited by examiner]
US 20050200631A1 · Pan et al. · 2005 [cited by applicant]
US 20060115166A1 · Sung et al. · 2006 [cited by applicant]
US 20060164268A1 · Lee et al. · 2006 [cited by applicant]
US 20060256380A1 · Klassen et al. · 2006 [cited by applicant]
US 20060277237A1 · Kuo et al. · 2006 [cited by applicant]
US 20070041657A1 · Rychagov et al. · 2007 [cited by applicant]
US 20070098283A1 · Kim et al. · 2007 [cited by applicant]
US 20070206868A1 · Nakayama · 2007 [cited by applicant]
US 20080068231A1 · Kuhns · 2008 [cited by applicant]
US 20080253448A1 · Lin et al. · 2008 [cited by applicant]
US 20090317008A1 · Cho et al. · 2009 [cited by applicant]
US 20100260429A1 · Ichinose · 2010 [cited by applicant]
US 20100303148A1 · Hiron et al. · 2010 [cited by applicant]
US 20100332956A1 · Alrod et al. · 2010 [cited by applicant]
US 20110019736A1 · Koyabu et al. · 2011 [cited by applicant]
US 20110103703A1 · Karlov · 2011 [cited by applicant]
US 20110150074A1 · Wang et al. · 2011 [cited by applicant]
US 20120120287A1 · Funamoto et al. · 2012 [cited by applicant]
US 20120224627A1 · Srinivasan · 2012 [cited by applicant]
US 20120230595A1 · Kubo et al. · 2012 [cited by applicant]
US 20120271802A1 · Oh · 2012 [cited by applicant]
US 20120300792A1 · Patel et al. · 2012 [cited by applicant]
US 20130002703A1 · Tripathi et al. · 2013 [cited by applicant]
US 20130010864A1 · Teng · 2013 [cited by applicant]
US 20130034309A1 · Nystad et al. · 2013 [cited by applicant]
US 20130272626A1 · Robinson · 2013 [cited by applicant]
US 20140002846A1 · Kondo · 2014 [cited by applicant]
US 20140029846A1 · Su et al. · 2014 [cited by applicant]
US 20140056577A1 · Ogawa et al. · 2014 [cited by applicant]
US 20140092867A1 · Yu et al. · 2014 [cited by applicant]
US 20140177730A1 · Chang · 2014 [cited by examiner]
US 20140184612A1 · Dunaisky et al. · 2014 [cited by applicant]
US 20140307962A1 · Seikh · 2014 [cited by applicant]
US 20150103878A1 · Ramasubramonian et al. · 2015 [cited by applicant]
US 20150138218A1 · Jeong et al. · 2015 [cited by applicant]
US 20150138237A1 · Ghosh et al. · 2015 [cited by applicant]
US 20150172670A1 · Li et al. · 2015 [cited by applicant]
US 20150277776A1 · Okamoto et al. · 2015 [cited by applicant]
US 20160006456A1 · Muramatsu et al. · 2016 [cited by applicant]
US 20160057437A1 · Jeong et al. · 2016 [cited by applicant]
US 20160179469A1 · Burgess et al. · 2016 [cited by applicant]
US 20160321772A1 · Adsumilli · 2016 [cited by applicant]
US 20160353117A1 · Seregin et al. · 2016 [cited by applicant]
US 20170025098A1 · Keramidas et al. · 2017 [cited by applicant]
US 20170177227A1 · Zhang et al. · 2017 [cited by applicant]
US 20170230586A1 · Takahashi · 2017 [cited by applicant]
US 20180054630A1 · Chang et al. · 2018 [cited by applicant]
US 20180139446A1 · Abello et al. · 2018 [cited by applicant]
US 20190027082A1 · Belle · 2019 [cited by applicant]
US 20190325613A1 · Wu et al. · 2019 [cited by applicant]
US 20200007149A1 · Fenney · 2020 [cited by applicant]
US 20200007150A1 · Lacey et al. · 2020 [cited by applicant]
US 20200007151A1 · Fenney et al. · 2020 [cited by applicant]
US 20200007156A1 · Fenney · 2020 [cited by applicant]
US 20200007866A1 · Martinelli et al. · 2020 [cited by applicant]
US 20200090615A1 · Zhu et al. · 2020 [cited by applicant]
US 20200252639A1 · Han et al. · 2020 [cited by applicant]
US 20210006261A1 · Lacey et al. · 2021 [cited by applicant]
US 20210036713A1 · Fenney et al. · 2021 [cited by applicant]
US 20210067172A1 · Fenney · 2021 [cited by applicant]
US 20220158653A1 · Lacey et al. · 2022 [cited by applicant]
CN 101106709A · 2008 [cited by applicant]
CN 101283605A · 2008 [cited by applicant]
CN 101653005A · 2010 [cited by applicant]
CN 102036059A · 2011 [cited by applicant]
CN 102289829A · 2011 [cited by applicant]
CN 103210418A · 2013 [cited by applicant]
CN 105379266A · 2016 [cited by applicant]
CN 106095365A · 2016 [cited by applicant]
CN 106993144A · 2017 [cited by applicant]
CN 107567709A · 2018 [cited by applicant]
CN 106233632A · 2019 [cited by applicant]
EP 053010B1 · 1985 [cited by applicant]
EP 0539010A2 · 1993 [cited by applicant]
EP 1465418A1 · 2004 [cited by applicant]
EP 2670139A1 · 2013 [cited by applicant]
EP 3367683A1 · 2018 [cited by applicant]
GB 2339989A · 2000 [cited by applicant]
GB 2530312A · 2016 [cited by applicant]
GB 2550965A · 2017 [cited by applicant]
WO 9956239A1 · 1999 [cited by applicant]
WO 1999056239A1 · 1999 [cited by applicant]
WO 03096320A1 · 2003 [cited by applicant]
WO 2003096320A1 · 2003 [cited by applicant]
WO 2004091221A2 · 2004 [cited by applicant]
WO 2008051350A2 · 2008 [cited by applicant]
WO 2013006370A1 · 2013 [cited by applicant]
WO 2014092867A1 · 2014 [cited by applicant]
WO 2017199210A1 · 2017 [cited by applicant]
WO 2018194815A2 · 2018 [cited by applicant]
Hal Canary: “Sk Image Info Reference”; Retrieved from the Internet: URL:https://github.com/google/skia/bloblmasterliteluserlapi/SkImageInfo_Reference.md; Jan. 26, 2018; 47 pages (note: copy in parent apn). [cited by applicant]