US 12,425,045 B2
Computer data compression utilizing multiple symbol alphabets and dynamic binding of symbol alphabets
Susan Elizabeth Carrie, Mountain View, CA (US); George Easton Scott, III, Seattle, WA (US); and Ravi Shankar Kolli, Sammamish, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 18, 2022, as Appl. No. 18/047,330.
Application 18/047,330 is a continuation of application No. 15/995,071, filed on May 31, 2018, granted, now 11,509,328.
Prior Publication US 2023/0060055 A1, Feb. 23, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H03M 7/00 (2006.01); H03M 7/30 (2006.01)
CPC H03M 7/3084 (2013.01) 19 Claims
OG exemplary drawing
 
1. A computer-implemented method for improving compression of digital data, the method comprising:
performing a first string matching on a portion of the digital data utilizing a first alphabet from multiple alphabets, the first alphabet comprising a first set of symbols, each representing one of a first set of discrete pre-defined sequences of bits, the first alphabet also comprising a second set of symbols, each representing an offset-length pair from among a first set of offset-length pairs;
performing, a second string matching on the portion of the digital data utilizing a second alphabet, from among the multiple alphabets, the second alphabet comprising a third set of symbols, each representing one of a second set of discrete pre-defined sequences of bits that differs from the first set of discrete pre-defined sequences of bits, the second alphabet also comprising a fourth set of symbols, each representing an offset-length pair from among a second set of offset-length pairs that differs from the first set of offset-length pairs; and
based on the first string matching and the second string matching, selecting one of the first alphabet or the second alphabet with which to generate symbol-encoded digital data from the digital data;
generating the symbol-encoded digital data from the digital data by performing string matching on the digital data utilizing the selected alphabet; and
generating a compressed version of the digital data by performing frequency matching on the symbol-encoded digital data.