US 12,032,524 B2
Data decompression apparatus
Lorant Bartha, Comina Micfalau (RO); and Norbert Lajtai, Brasov (RO)
Assigned to FotoNation Limited (Xperi Inc.), (IE)
Filed by FotoNation Limited, Galway (IE)
Filed on Mar. 3, 2022, as Appl. No. 17/686,367.
Prior Publication US 2023/0281164 A1, Sep. 7, 2023
Int. Cl. G06F 16/174 (2019.01); G06N 3/02 (2006.01); H03M 7/30 (2006.01)
CPC G06F 16/1744 (2019.01) [G06N 3/02 (2013.01); H03M 7/6005 (2013.01)] 15 Claims
OG exemplary drawing
 
1. An apparatus for decompressing a file comprising:
a first stage indicator file comprising a first binary symbol for each symbol of at least a portion of a file, a first binary value at a first symbol location indicating the presence of a most frequently occurring symbol value at said first symbol location and a second binary value at a second symbol location indicating the presence of a less frequently occurring symbol value at said second symbol location;
one or more mid-stage indicator files each comprising a second binary symbol for each symbol of said portion of the file remaining to be decompressed after more frequently occurring file symbols have been decompressed, a third binary value at a third symbol location indicating the presence of a next most frequently occurring symbol value at said third symbol location and a fourth binary value at a fourth binary symbol location indicating the presence of a less frequently occurring symbol value at said fourth binary location; and
a remainder file comprising symbol values for each symbol of said portion of said file remaining to be decompressed after most frequently occurring file symbols have been decompressed,
said apparatus:
decompresses the portion of the file in a first decompression stage by reading the first binary symbol from the first stage indicator file for each binary symbol of the at least the portion of the file, said stage being responsive to said binary symbol value indicating the presence of a most frequently occurring binary symbol value at said location for providing said binary symbol value as the symbol value for said location to one or more mid decompression stages;
decompresses the portion of the file in one or more mid decompression stages in response to a value of the last symbol read from the first stage indicator file not indicating the presence of a more frequently occurring symbol value at said location, by reading the second binary symbol from the one or more mid-stage indicator files and responsive to a next available symbol value indicating the presence of the next most frequently occurring symbol value at said location for providing said symbol value as the symbol value for said location to a final decompression stage; and
decompresses said remainder file in a final decompression stage by conditionally reading a next available symbol from said remainder file based on the value of the last symbol read from the one or more mid-stage indicator files not indicating the presence of a more frequently occurring symbol value at said location.