BLOCK FLOATING POINT COMPRESSION OF SIGNAL DATA
First Claim
1. A method for compressing a plurality of signal samples, where the signal samples consist of a number of bits per sample, comprising:
- grouping the plurality of signal samples into a sequence of encoding groups;
for an encoding group in the sequence of encoding groups, determining a block exponent value for the encoding group, and determining a mantissa for each signal sample in the encoding group, the mantissa having a number of bits based on said exponent value for the encoding group;
for the sequence of encoding groups, encoding the block exponent values for the encoding groups to determine exponent tokens for the encoding groups in the sequence, wherein an exponent token represents one or more block exponent values for one or more encoding groups in the sequence; and
encoding the plurality of signal samples for storage or transmission, using the exponent tokens and the mantissas to form compressed data.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for compressing signal samples uses block floating point representations where the number of bits per mantissa is determined by the maximum magnitude sample in the group. The compressor defines groups of signal samples having a fixed number of samples per group. The maximum magnitude sample in the group determines an exponent value corresponding to the number of bits for representing the maximum sample value. The exponent values are encoded to form exponent tokens. Exponent differences between consecutive exponent values may be encoded individually or jointly. The samples in the group are mapped to corresponding mantissas, each mantissa having a number of bits based on the exponent value. Removing LSBs depending on the exponent value produces mantissas having fewer bits. Feedback control monitors the compressed bit rate and/or a quality metric. This abstract does not limit the scope of the invention as described in the claims.
125 Citations
42 Claims
-
1. A method for compressing a plurality of signal samples, where the signal samples consist of a number of bits per sample, comprising:
-
grouping the plurality of signal samples into a sequence of encoding groups; for an encoding group in the sequence of encoding groups, determining a block exponent value for the encoding group, and determining a mantissa for each signal sample in the encoding group, the mantissa having a number of bits based on said exponent value for the encoding group; for the sequence of encoding groups, encoding the block exponent values for the encoding groups to determine exponent tokens for the encoding groups in the sequence, wherein an exponent token represents one or more block exponent values for one or more encoding groups in the sequence; and encoding the plurality of signal samples for storage or transmission, using the exponent tokens and the mantissas to form compressed data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for decompressing an input signal conveying compressed data representing a plurality of encoded original signal samples, the method comprising:
-
disassembling the compressed data to obtain a plurality of exponent tokens and a plurality of compressed groups of mantissas, where the plurality of the encoded original signal samples are represented by the exponent tokens and the mantissas; decoding the plurality of exponent tokens to form a plurality of block exponent values, wherein each block exponent value is associated with one of the plurality of compressed groups; for each of the compressed groups, determining a number of bits representing each of the mantissas in the compressed group using the associated block exponent value, and mapping the number of bits of each mantissa to a corresponding decompressed sample, to form a group of decompressed samples; and applying said determining and said mapping to the plurality of compressed groups to generate a plurality of decompressed samples. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for compressing a plurality of signal samples, where the signal samples consist of a number of bits per sample, comprising:
-
logic for grouping the signal samples into a sequence of encoding groups, to form a sequence of encoding groups; logic determining a block exponent value for each encoding group; a mantissa encoder that receives the signal samples in each encoding group and forms a mantissa for each signal sample, wherein each mantissa of a particular encoding group has a number of bits based on the block exponent value for the particular encoding group; an exponent encoder that encodes the block exponent values for the sequence of encoding groups to produce exponent tokens, wherein an exponent token represents one or more block exponent values for one or more encoding groups; and a bit packer arranging the exponent tokens and the mantissas for the sequence of encoding groups to form compressed data for storage or transmission. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. An apparatus for decompressing an input signal conveying compressed data representing a plurality of encoded original signal samples, comprising:
-
a buffer receiving the compressed data, wherein the plurality of encoded original signal samples are represented by a plurality of exponent tokens and a plurality of compressed groups of mantissas; logic coupled to the buffer for disassembling the compressed data to obtain the plurality of exponent tokens and the plurality of compressed groups of mantissas; an exponent decoder receiving the plurality of exponent tokens and determining a plurality of block exponent values, wherein each block exponent value is associated with one of the compressed groups of mantissas; a mantissa decoder receiving each compressed group of mantissas and the associated block exponent value, wherein a number of bits representing each of the mantissas in the compressed group is based on the associated block exponent value, the mantissa decoder mapping the number of bits of each mantissa to a corresponding decompressed sample to form a group of decompressed samples, the mantissa decoder decoding the plurality of compressed groups to produce a plurality of decompressed samples. - View Dependent Claims (38, 39, 40, 41, 42)
-
Specification