Real-time digital audio compression/decompression system
First Claim
1. A computer program product comprising:
- a computer useable medium having computer program code means embodied in said medium for compressing a stream of coded data samples, the computer useable medium further comprising;
computer program code means for comparing a first data sample value and a second consecutive data sample value in the stream and for forming a difference value between the first data sample value and the second data sample value;
computer program code means responsive to the difference value and the second data sample value for forming a compressed data stream by inserting the difference value into the compressed data stream in place of the second data sample value when the difference value occupies less storage space than the second data sample value; and
computer program code means responsive to the compressed data stream forming code means for inserting a predetermined flag value into the compressed data stream when the difference value occupies at least the same storage space as the second data sample value.
0 Assignments
0 Petitions
Accused Products
Abstract
Digitized audio information is compressed by retrieving a first audio sample from a digitized audio signal and storing it in its entire, uncompressed, form. The next audio sample is then retrieved and a signed difference between the first audio sample value and the next audio sample value is computed. If this difference value can be represented in fewer data segments than would be required to represent the next audio sample, the difference value is stored, rather than the value of the next sample, otherwise the next sample is stored. The invention proceeds in this fashion until the entire PCM audio signal is compressed and stored. The compressed data stream is decompressed to generate an output data stream by retrieving a stored sample and examining it to ascertain whether it is a difference value or a flag which indicates that the following data represents a coded amplitude value. If the sample is a difference value it is digitally added to the previous value (taking into account the sign) and the sum is inserted into the output data stream. The sum value is retained in order to be used to compute the next output value if the following sample is also a difference value. Alternatively, if the sample is a flag value it is discarded and the next sample is retrieved and inserted into the output data stream.
-
Citations
13 Claims
-
1. A computer program product comprising:
-
a computer useable medium having computer program code means embodied in said medium for compressing a stream of coded data samples, the computer useable medium further comprising; computer program code means for comparing a first data sample value and a second consecutive data sample value in the stream and for forming a difference value between the first data sample value and the second data sample value; computer program code means responsive to the difference value and the second data sample value for forming a compressed data stream by inserting the difference value into the compressed data stream in place of the second data sample value when the difference value occupies less storage space than the second data sample value; and computer program code means responsive to the compressed data stream forming code means for inserting a predetermined flag value into the compressed data stream when the difference value occupies at least the same storage space as the second data sample value. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product on computer readable medium for compressing a stream of coded digital data samples each having a respective number of data bytes, the product comprising:
-
means responsive to a first data sample value and to a consecutive second data sample value for computing a signed difference value between the first sample value and a second sample value, the difference value having a second number of bytes; and output means for generating a compressed data byte stream, the output means inserting the difference value into the compressed data byte stream when the second number of bytes is less than the number of bytes of the second sample value and for inserting an indicator and the second data sample value into the compressed data stream when the second number of bytes is equal to or greater than the number of bytes of the second sample, the indicator indicating that the second sample value is in uncompressed form. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product on a computer readable medium for compressing a stream of coded digital data samples, comprising:
-
means for forming a difference value between a first data sample and a second data sample; means for comparing the difference value to the second data sample; and means for forming a compressed data stream by inserting the difference value into the compressed data stream in place of the second data sample when the difference value occupies less storage space than the second data sample and inserting the second data sample and an indicator indicating that the second data sample is in uncompressed form when the difference value occupies the same or more storage space than the second data sample. - View Dependent Claims (10, 11, 12, 13)
-
Specification