Première Page
- Titre
- High-speed arithmetic compression coding using concurrent value updating
-
Revendications
-
-
A machine-implementable method for recursively generating an arithmetically compressed binary number steam C(s.b) in high-to-low position magnitude order responsive to successive symbols b(i) from a binary symbol string s=b(1), b(2), . . . b(i), . . . , b(n), in a reduced number of operations per encoding cycle, comprising the steps of:
writing the q-least-significant bits of C(s) and an internal variable T(s) into respective first and second shift registers; and
ascertaining for each b(i) whether it constitutes a most-probable symbol (MPS); and
deriving an integer k as a coding parameter indicative of an expectation for the least-probable symbol (LPS); characterized in that
the method comprises the further steps of:
concurrently incrementing the first register contents and decrementing the second register contents by 2.sup.-k and left-shift normalizing both register contents if the second register contains a leading zero, if b(i) is an MPS; and
left-shifting the first register contents by k positions and setting the second register contents to unity, if b(i) is an LPS.
-
An encoding apparatus for recursively altering a compressed bit stream representation of a string of binary symbols in a reduced number of operations per symbol encoding cycle comprising:
a first (41) and second (59) shift register containing the q-least-significant bits of the compressed stream C(s) and an internal variable T(s); means (31, 33) for characterizing each received symbol as either a most-probable symbol (MPS) or a least-probable symbol (LPS); characterized in that
the apparatus further comprises:
means (9, 35, 39, 47) responsive to an LPS symbol characterization and to a parameter k whose values correspond to a predetermined source alphabet probability interval for shifting out the k-most-significant bits in the first register and zero-filling the k-least-significant bit positions therein, said means further including means for setting the second register contents to unity; and
means (49, 63, 53, 55) for concurrently incrementing the first register contents by 2.sup.-k and decrementing the second register contents by 2.sup.-k, left-shift normalizing (67, 53, 55) both register contents if the second register contains a leading zero in response to an MPS symbol characterization and the parameter k.
-
An encoder for recursively generating an arithmetically compressed binary number stream C(sb) in high-to-low position magnitude order responsive to a binary character string, each character being identified as either a most-probable symbol (MPS) or a least-probable symbol (LPS) and having associated therewith a parameter k whose value corresponds to a predetermined source alphabet probability interval, comprising:
a first- (41) and second- (59) shift register containing the q-least-significant bits of the compressed stream and an internal variable; characterized in that
the encoder further comprises:
means (9, 47, 39, 35) responsive to each ordered pair MPS, k for shifting out the k-most-significant bits and zero-filling the k-least-significant bits of the first register and setting (CLEAR) the second register contents to unity; and
a first and second computation loop (49, 51, 53, 37; 63, 65, 55, 57) for additively combining 2.sup.-k to the first register contents and subtractively combining 2.sup.-k from the second register contents, said first and second loop including means (67, 53, 55) for left-shift normalizing both register contents if the second register contains a leading zero responsive to each ordered pair of LPS, k.
-
A machine-implementable method for recursively generating successive symbols b(i) of a binary symbol string s=b(1), b(2), . . . b(i), . . . , b(n) responsive to successive high-to-low position magnitude order bits of an arithmetically compressed binary number stream C(s.b) using a reduced number of operations per decoding cycle, comprising the steps of:
writing the q-most significant bits of C(s.b) and an internal variable T(s) into respective first and second shift registers;
deriving an integer k(i) as a coding parameter indicative of an expectation that the decodable symbol is a least-probable symbol (LPS); characterized in that
the method comprises the further steps of:
concurrently decrementing the first and second register contents by 2.sup.-k(i) ;
testing the most-significant bit position of the first register;
left-shift normalizing both register contents if the tested bit position is 1 and decoding the symbol as a most-probable symbol; and
left-shifting the first register contents by k positions and setting the second register contents to unity if the tested bit position is a 0, and decoding the symbol as an LPS.
- Abrégé
- A method and apparatus for recursively generating an arithmetically compressed binary number stream responsive to the binary string from conditional sources. Throughput is increased by reducing the number of operations required to encode each binary symbol so that only a single shift of k bits is required upon receipt of each least-probable symbol or an "add time", followed by a decision and a one-bit shift in response to each most-probable symbol encoding. The concurrent augmentation of the compressed stream and an internal variable involves only the function of a probability interval estimate of the most-probable symbol, and not upon the past encoding state of either variable (2.sup.-k, 49, 63, C, T). Each binary symbol may be recovered by subtracting 2.sup.-k from the q-most-significant bits of the compressed stream and testing the leading bit of the difference.
- Références non-brevet
Chargement en cours…
- Citée par
-
US 4652856
(24 mars 1987) Multiplication-free multi-alphabet arithmetic code
-
US 4749983
(7 juin 1988) Compression of multilevel signals
-
US 4791403
(13 déc. 1988) Log encoder/decorder system
-
US 4792954
(20 déc. 1988) Concurrent detection of errors in arithmetic data compression coding
-
US 4891643
(2 janv. 1990) Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
-
US 4905297
(27 févr. 1990) Arithmetic coding encoder and decoder system
-
US 4933883
(12 juin 1990) Probability adaptation for arithmetic coders
-
US 4935882
(19 juin 1990) Probability adaptation for arithmetic coders
-
US 4989000
(29 janv. 1991) Data string compression using arithmetic encoding with simplified probability subinterval estimation
-
US 5097261
(17 mars 1992) Data compression for recording on a record medium
-
US 5109226
(28 avr. 1992) Parallel processors sequentially encoding/decoding compaction maintaining format compatibility
-
US 5272478
(21 déc. 1993) Method and apparatus for entropy coding
-
US 5278970
(11 janv. 1994) Method for efficient utilization of removable data recording media
-
US 5333212
(26 juil. 1994) Image compression technique with regionally selective compression ratio
-
US 5363099
(8 nov. 1994) Method and apparatus for entropy coding
-
US 5396228
(7 mars 1995) Methods and apparatus for compressing and decompressing paging data
-
US 5406282
(11 avr. 1995) Data coding and decoding with improved efficiency
-
US 5455874
(3 oct. 1995) Continuous-tone image compression
-
US 5563595
(8 oct. 1996) Method and apparatus for compressing data
-
US 5592162
(7 janv. 1997) Interval width update process in the arithmetic coding method
-
US 5594674
(14 janv. 1997) Code point update device in the arithmetic coding method
-
US 5652878
(29 juil. 1997) Method and apparatus for compressing data
-
US 5708431
(13 janv. 1998) Method for compression coding of potentially unbounded integers
-
US 5784497
(21 juil. 1998) Arithmetic encoding with carry over processing
-
US 5818368
(6 oct. 1998) Method and apparatus for lossless digital data compression
-
US 5818369
(6 oct. 1998) Rapid entropy coding for data compression or decompression
-
US 5822456
(13 oct. 1998) Optimal spline interpolation for image compression
-
US 5892847
(6 avr. 1999) Method and apparatus for compressing images
-
US 5912636
(15 juin 1999) Apparatus and method for performing m-ary finite state machine entropy coding
-
US 6055338
(25 avr. 2000) Bi-level adaptive coding using a dual port memory and a context comparator
-
US 6058216
(2 mai 2000) Apparatus for encoding image data
-
US 6259388
(10 juil. 2001) Multiplication-free arithmetic coding
-
US 6453073
(17 sept. 2002) Method for transferring and displaying compressed images
-
US 6714145
(30 mars 2004) Method and apparatus for integer-based encoding and decoding of bits
-
US 7161507
(9 janv. 2007) Fast, practically optimal entropy coding
-
US 7176815
(13 févr. 2007) Video coding with CABAC
-
US 7265691
(4 sept. 2007) Modeling for enumerative encoding
- Examinateurs
-
C. D. Miller
- Inventeurs
-
Glen G. Langdon, Jr., San Jose CA
-
Jorma J. Rissanen, Los Gatos CA
- Ayant-droit
-
International Business Machines Corporation, Armonk NY
- Date d’enregistrement
- 30 mars 1981
- Date de publication
- 21 août 1984
- Date d'expiration prévue
- 21 août 2001
- Mandataires
-
R. Bruce Brodie
- Numéro de dépôt
- 06281734
- IPC
- H03K 1300
- Classification des États-Unis
- 034/7DD
- 235/310
- Domaine de recherche
- 235/310
- 235/311
- 340/347.DD
- Références brevet
-
US 4286256
(août, 1981) Langdon 403/47D D
- Publication de l'OMPI
-
WO82/03514 (19821014)