Lossless and loss-limited compression of sampled data signals
First Claim
1. A sampled data compression method which compresses input blocks of digitized signals, especially speech, audio, or audiovisual signals, that are regularly sampled at a rate of K samples per second and B bits per sample, where said input blocks are replaced by a stream of compressed blocks comprising:
- (a) grouping said sampled data signal into input blocks containing N consecutive samples, in which each said input block requires N*B bits of storage or transmission,(b) applying a partitioning method to each said input block to create a first subset containing N1 samples of the input signal and a second subset containing N2 samples of the input signal, where N1+N2=N,(c) applying an approximation method to said first subset of N1 samples to create an approximation signal containing N2 samples which approximates said second subset,(d) subtracting said approximation signal from said second subset to create an error signal containing N2 samples,(e) applying an encoding method to said first subset of N1 samples to create an encoded first subset requiting C1 bits of storage or transmission, wherein said encoded first subset identically represents said first subset of N1 samples using fewer than N1*B bits,(f) applying an encoding method to said error signal of N2 samples to create an encoded error signal requiring C2 bits of storage or transmission, wherein said encoded error signal identically represents said error signal of N2 samples using fewer than N2*B bits,(g) creating a header containing control bits requiring C3 bits of storage or transmission, which said control bits indicate said block size N, said partitioning method used to create said first subset, said approximation method used to create said approximation signal, said encoding method used to encode said first subset, and said encoding method used to encode said error signal,(h) combining said encoded first subset, said encoded error signal, and said header containing control bits into a compressed block requiring C1+C2+C3 bits of storage or transmission, where C1+C2+C3 is less than N*B, and(i) combining consecutive said compressed blocks into said stream of compressed blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
An efficient method for compressing audio and other sampled data signals without loss, or with a controlled amount of loss, is described. The compression apparatus contains a subset selector, an approximator, an adder, two derivative encoders, a header encoder, and a compressed block formatter. The decompression apparatus contains a compressed block parser, a header decoder, two integration decoders, an approximator, and an adder. The compressor first divides each block of input samples into a first subset and a second subset. The approximator uses the first subset samples to approximate the second subset samples. An error signal is created by subtracting the approximated second subset samples from the actual second subset samples. The first subset samples and error signal are separately encoded by the derivative encoders, which select the signal'"'"'s derivative that requires the least amount of storage for a block floating point representation. A compressed block formatter combines the compression control parameters, encoded subset array, and encoded error array into a compressed block. The decompression apparatus first parses the compressed block into a header, an encoded first subset array, and an encoded error array. The header decoder recovers the compression control parameters from the header. Using the compression control parameters, the integration decoders reconstruct the first subset and error arrays from their block floating point representations. The approximator uses the first subset samples to approximate the original second subset samples. The adder combines the subset samples, the error samples, and the approximated second subset samples to identically re-create the original, uncompressed signal. An indexing method is described which allows random access to specific uncompressed samples within the stream of compressed blocks.
193 Citations
25 Claims
-
1. A sampled data compression method which compresses input blocks of digitized signals, especially speech, audio, or audiovisual signals, that are regularly sampled at a rate of K samples per second and B bits per sample, where said input blocks are replaced by a stream of compressed blocks comprising:
-
(a) grouping said sampled data signal into input blocks containing N consecutive samples, in which each said input block requires N*B bits of storage or transmission, (b) applying a partitioning method to each said input block to create a first subset containing N1 samples of the input signal and a second subset containing N2 samples of the input signal, where N1+N2=N, (c) applying an approximation method to said first subset of N1 samples to create an approximation signal containing N2 samples which approximates said second subset, (d) subtracting said approximation signal from said second subset to create an error signal containing N2 samples, (e) applying an encoding method to said first subset of N1 samples to create an encoded first subset requiting C1 bits of storage or transmission, wherein said encoded first subset identically represents said first subset of N1 samples using fewer than N1*B bits, (f) applying an encoding method to said error signal of N2 samples to create an encoded error signal requiring C2 bits of storage or transmission, wherein said encoded error signal identically represents said error signal of N2 samples using fewer than N2*B bits, (g) creating a header containing control bits requiring C3 bits of storage or transmission, which said control bits indicate said block size N, said partitioning method used to create said first subset, said approximation method used to create said approximation signal, said encoding method used to encode said first subset, and said encoding method used to encode said error signal, (h) combining said encoded first subset, said encoded error signal, and said header containing control bits into a compressed block requiring C1+C2+C3 bits of storage or transmission, where C1+C2+C3 is less than N*B, and (i) combining consecutive said compressed blocks into said stream of compressed blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. In a sampled data decompression system, a decompression method for recovering a stream of sampled data signals from a stream of compressed blocks, each compressed block containing an encoded first subset derived by partitioning said sampled data signal into a first subset and a second subset, an encoded error signal derived by subtracting said second subset from an approximated second subset generated using said first subset as input to an approximation method, and a header containing control bits which indicate said partitioning method used to create said first subset, said approximation method used to create said approximation signal, said encoding method used to encode said first subset, and said encoding method used to encode said error signal, said decompression method comprising the steps of:
-
(a) separating each said compressed block into a block header, an encoded subset, and an encoded error signal, (b) recovering the first subset encoding method control bits, the error signal encoding method control bits, the approximation method control bits, and the subset partitioning method control bits from said block header, (c) applying the decoding method corresponding to the encoding method specified by said first subset encoding method control bits to recover the first subset, (d) applying the decoding method corresponding to the encoding method specified by said error signal encoding method control bits to recover the error signal, (e) processing said recovered first subset in the manner specified by said approximation method control bits to create an approximated second subset, (f) adding said approximated second subset to said recovered error signal to create a reconstructed second subset, (g) combining said recovered first subset and said reconstructed second subset in the manner corresponding to said subset partitioning method control bits to create a recovered uncompressed block, and (h) combining consecutive said uncompressed blocks into said stream of sampled data signals. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification