Patent US5418532A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5418532A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for efficient, multiplication-free arithmetic coding

Assignee: Nytell Software LLC
•
Filing: 1993-05-13
•
Granted: 1995-05-23
•
Expires: 2013-05-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and system are provided for efficient, multiplication-free arithmetic coding wherein data which represents an alphabet of source symbols is compressed and decompressed in a data transmission system. Multiplications are replaced with single shift-and-add operation using a suitable shift register wherein a multiplier has at most two bits. The shift-and-add operation approximates the width of a new subinterval within a predetermined interval. This approximation is a function of both the width of a current subinterval and a total count of source symbols in a statistical source model. In this way, an adaptive model can be accommodated as well as a fixed model for the statistics of the source symbols. In one embodiment, the multiplier is preferably determined by a table look-up having a small number of entries and which can be easily implemented by hardware or software.

Inventors

  • 👤 Shaw-Min Lei

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 15:53
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/30; H03M7/40; H03M7/4006; G; G06; G06T; G06T9/00; G06T9/005

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 137 words
In a data transmission system, a data compression system comprising: means for inputting a first set of data representing an alphabet of source symbols including a current symbol; means for generating for each source symbol an arithmetic representation of a successive subinterval within a predetermined interval, the width of each subinterval being equal to the width of the previous subinterval weighted by the current symbol's frequency of occurrence; means for approximating the width of a new subinterval with a single shift and add operation as a function of both the width of the current subinterval and a total count of source symbols in a statistical source model; and means for outputting a second set of data based on the arithmetic representations, whereby the second set of data is a compressed representation of the alphabet of source symbols.
Claim 2
Dependent Claim 137 words
In a data transmission system, a data compression system comprising: means for inputting a first set of data representing an alphabet of source symbols including a current symbol; means for generating for each source symbol an arithmetic representation of a successive subinterval within a predetermined interval, the width of each subinterval being equal to the width of the previous subinterval weighted by the current symbol's frequency of occurrence; means for approximating the width of a new subinterval with a single shift and add operation as a function of both the width of the current subinterval and a total count of source symbols in a statistical source model; and means for outputting a second set of data based on the arithmetic representations, whereby the second set of data is a compressed representation of the alphabet of source symbols.
Claim 3
Independent Claim 311 words
A method for compressing data in a data transmission system including an "A" shift register and a "C" shift register each having w binary digit positions, the method comprising the steps of: (a) initially setting the contents of the "C" register to all zeroes and the contents of the "A" register to a predetermined value; (b) inputting a first set of data representing an alphabet of source symbols including a current symbol, an individual frequency value n i (s) and an accumulated frequency value r i (s) being available for each of the source symbols; and for each of the source symbols: (c) determining a scaling factor B as a function of the contents of the "A" register and a total count of source symbols in a statistical source model; (d) adding the value B*r i (s) to the contents of the "C" register; (e) determining the contents of the "A" register if the current symbol is not the last symbol of the alphabet of source symbols, by inserting the value B*n i (s) into the "A" register; or if the current symbol is the last symbol of the alphabet of source symbols, by subtracting the value B*r i (s) from the contents of the "A" register; (f) shifting both the "A" register and the " C" register in a predetermined direction until the contents of the "A" register lie within a predetermined range, filling the vacated positions in the "A" register with zeroes; and (g) if the current symbol is not the last symbol of the source symbols, repeating steps (c) through (f), or if the current symbol is the last symbol of the source symbols, shifting the contents of the "C" register by w positions in said predetermined direction; whereby the sequence of binary digits shifted out of the "C" register is a compressed representation of the source symbols.
Claim 4
Independent Claim 311 words
A method for compressing data in a data transmission system including an "A" shift register and a "C" shift register each having w binary digit positions, the method comprising the steps of: (a) initially setting the contents of the "C" register to all zeroes and the contents of the "A" register to a predetermined value; (b) inputting a first set of data representing an alphabet of source symbols including a current symbol, an individual frequency value n i (s) and an accumulated frequency value r i (s) being available for each of the source symbols; and for each of the source symbols: (c) determining a scaling factor B as a function of the contents of the "A" register and a total count of source symbols in a statistical source model; (d) adding the value B*r i (s) to the contents of the "C" register; (e) determining the contents of the "A" register if the current symbol is not the last symbol of the alphabet of source symbols, by inserting the value B*n i (s) into the "A" register; or if the current symbol is the last symbol of the alphabet of source symbols, by subtracting the value B*r i (s) from the contents of the "A" register; (f) shifting both the "A" register and the " C" register in a predetermined direction until the contents of the "A" register lie within a predetermined range, filling the vacated positions in the "A" register with zeroes; and (g) if the current symbol is not the last symbol of the source symbols, repeating steps (c) through (f), or if the current symbol is the last symbol of the source symbols, shifting the contents of the "C" register by w positions in said predetermined direction; whereby the sequence of binary digits shifted out of the "C" register is a compressed representation of the source symbols.
Claim 5
Dependent Claim 13 words
The method as claimed in claim 2 wherein the predetermined value is 1.00000.
Claim 6
Dependent Claim 25 words
The method as claimed in claim 2 wherein the predetermined direction is such as to increase the magnitude of the contents of the "A" register.
Claim 7
Dependent Claim 23 words
The method as claimed in claim 2 wherein the predetermined range has a lower bound of 1.0 and an upper bound of <2.
Claim 8
Independent Claim 325 words
A method for decompressing data which is a compressed representation of a number of source symbols in a data transmission system including an "A" shift register and a "C" shift register each having w binary digit positions, the method comprising the steps of: (a) inputting a first set of data which is a compressed representation of an alphabet of source symbols including a current symbol, an individual frequency value n i (s) and an accumulated frequency value r i (s) being available for each of the source symbols; (b) initially setting the contents of the "C" register to the w most significant digits of the compressed representation and the contents of the "A" register to a predetermined value; decoding each of the source symbols by: (c) determining a scaling factor B as a function of the contents of the "A" register and the number of source symbols; (d) determining the largest value of the symbol i such that B*r i ≦C, where ##EQU18## wherein i is the symbol output of the decoder at the current step; (e) determining the contents of the "A" register if the current symbol is not the last symbol of the alphabet of source symbols, by inserting the value B*n i (s) into the "A" register; or if the current symbol is the last symbol of the alphabet of source symbols, by subtracting the value B*r i (s) from the contents of the "A" register; (f) subtracting the value B*r i (s) from the contents of the "C" register; (g) shifting both the "A" register and the "C" register in a predetermined direction until the contents of the "A" register lie within a predetermined range, filling the vacated positions in the "A" register with zeroes, and filling the vacated positions in the "C" register with the corresponding number of most significant digits remaining of the compressed representation; and repeating steps (c) through (g) until no digits of the compressed representation remain.
Claim 9
Independent Claim 325 words
A method for decompressing data which is a compressed representation of a number of source symbols in a data transmission system including an "A" shift register and a "C" shift register each having w binary digit positions, the method comprising the steps of: (a) inputting a first set of data which is a compressed representation of an alphabet of source symbols including a current symbol, an individual frequency value n i (s) and an accumulated frequency value r i (s) being available for each of the source symbols; (b) initially setting the contents of the "C" register to the w most significant digits of the compressed representation and the contents of the "A" register to a predetermined value; decoding each of the source symbols by: (c) determining a scaling factor B as a function of the contents of the "A" register and the number of source symbols; (d) determining the largest value of the symbol i such that B*r i ≦C, where ##EQU18## wherein i is the symbol output of the decoder at the current step; (e) determining the contents of the "A" register if the current symbol is not the last symbol of the alphabet of source symbols, by inserting the value B*n i (s) into the "A" register; or if the current symbol is the last symbol of the alphabet of source symbols, by subtracting the value B*r i (s) from the contents of the "A" register; (f) subtracting the value B*r i (s) from the contents of the "C" register; (g) shifting both the "A" register and the "C" register in a predetermined direction until the contents of the "A" register lie within a predetermined range, filling the vacated positions in the "A" register with zeroes, and filling the vacated positions in the "C" register with the corresponding number of most significant digits remaining of the compressed representation; and repeating steps (c) through (g) until no digits of the compressed representation remain.
Claim 10
Dependent Claim 13 words
The method as claimed in claim 6 wherein the predetermined value is 1.00000.
Claim 11
Dependent Claim 25 words
The method as claimed in claim 6 wherein the predetermined direction is such as to increase the magnitude of the contents of the "A" register.
Claim 12
Dependent Claim 23 words
The method as claimed in claim 6 wherein the predetermined range has a lower bound of 1.0 and an upper bound of <2.

References Cited (Backward Citations)

US4652856A Cited
US4989000A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-05-22 1998-11-21 1999-05-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-05-22 2002-11-21 2003-05-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-05-22 2006-11-21 2007-05-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag