REAL-TIME DIGITAL AUDIO compression and decompression of high-quality PCM audio.
COMPRESSION/DECOMPRESSION SYSTEM They may require that PCM signals be stored and compressed off-line; a one-second audio signal would require
This application is a Divisional of U.S. application Ser. more than one second to process. They may also provide
No. 08/174,800. filed Dec. 29,1993, which is now U.S. Pat. 5 lossy compression in order to obtain real-time operation.
No. 5,561,688. Lossy compression simply means that some of the signal's
data is discarded in order to reduce the number of digits
FIELD OF THE INVENTION required to represent each sample.
This invention relates generally to digitized audio signals ]n A ^^^^^^i^^^Xaam^^
and more specifically to computer systems which compress 10 decompress digitized audio signals for computer system
and decompress pulse code modulated (PCM) audio signals. storaSe m a 01111 elumnates feed for I**"*TM*
° compression/decompression equipment.
BACKGROUND OF THE INVENTION It is a further object of the invention to compress and
decompress digitized audio signals for computer systems The past decade has seen a revolution in computing. The is sufgcient efficiency to permit real-time, lossless cornadvent and proliferation of personal computers has trans- pression and decompression of high-quality digitized audio formed the computing environment from one which was signals, highly centralized and tightly controlled to one which is
widely distributed with easy access. A significant expansion SUMMARY OF THE INVENTION
of computing applications is a concomitant result of this 20 .
changing computer environment. In the past, computers A.at*ordance ?lth one embodiment of the invention,
provided, primarily, accounting, data reduction, and data- audl0 "^nation is compressed by retrieving a
base management functions. They now. additionally, pro- &st audw samPle from a au*° f stQrmS
vide voice messaging, games, and multimedia applications, ?mvlts entlre- uncompressed form. The next audio sample
such as business presentations. While the older applications 25" retrieved a between *f fast
could be accommodated using only text-type data, (he newer audto s^ VuahieTMd n(f < audl° Sampk VafU? .1S
applications require graphical and audio data as well, computed. If mis difference value can be represented in
*L ... , . ,. .. . . „. fewer data segments than would be required to represent the
Graphical and, more to the point of this invention, audio next audio le me mmBce value is stored, ra(her ^
signals require significant capacity for storage For example, tfle yalue of me next k otherwise me next sample is
theword"hand would require 4 bytes, 1 byte for each letter st0red. The next audio sample is then retrieved, the signed
for storage as text. On the other hand, the storage required difference value between this and the prior sample
for a digital audio version of "hand , assuming pulse code uted, md me difference value or the sample value is
modulation (PCM) with 16 bits per sample with 20.000 stored tf it occupies less storage space, otherwise the sample
samples per second, and assuming 1 second is required to yalue fa stQred ^ with a uni fl OT k value whicn
utter hand , is about 40,000 bytes. Although the cost-per- ^cates that the sample is stored in an uncompressed form,
bit of computer storage has fallen dramatically, limited The i^^ eds in ^ fasnion until me entire rcM
storage still imposes severe constraints on computer appk- audio si ^ is compressed and stored.
cations which use digitized audio. Consequently, it is highly „ ^ . .. . ... . . . .
..... j- j A- • i f • Because sequential audio samples are likely to be rela
desirable to compress digitized audio signals for use in .. , . ., ~ . JX . '... . ,
..... r . 0 40 tively similar in amplitude, the difference in amplitude from
multimedia computer environments. w J , ^ *T . ... , , . T. ,
one sample to another is likely to consume significantly less
Audio signals are commonly digitized using pulse code storage space man me digitally-coded amplitude of the
modulation (PCM) techniques. Pulse code modulation is subsequent sample. Therefore, a high proportion of the
applied by sampling an analog audio signal at a fixed rate, compressed data will be stored as difference values,
for example, 20 kHz, to produce a stream of pulse samples. 4J However, mere will generally always be some samples
The modulation technique then assigns a digital value to stored as coded ampUtudes. This occurs because digital data
each sample which is representative of its amplitude. is stored and retrieved in fixed-size units and thus the coded
Attempts have been made to compress PCM audio, but amplitude of a sample may be stored even if the amplitude
these attempts have generally required the addition of spe- difference between two sequential samples is less than the
cialized compression/decompression equipment to existing 50 coded amplitude. For example, audio signals are commonly
computer equipment. The equipment typically receives digitized in 16-bit samples, but digital values are commonly
PCM audio signals from an audio system, compresses the stored in eight-bit bytes. Consequently, if the difference
signals, and passes the compressed signals, as data, to a between two sample amplitudes is greater than can be
computer, which in turn stores the data. In order to regen- represented in one byte, the amplitude value of the subse
erate the signals any system which retrieves the compressed 5J qUent sample will be gored because the difference value will
data must also possess the specialized compression/ not occupy less storage space. A flag will also be stored to
decompression equipment indicate that the value stored is an uncompressed sample.
The additional specialized compression/decompression Alternatively, if the amplitude difference can be represented
equipment increases the cost and complexity of any system in one byte, then it will occupy less storage space than the
which employs it Additionally, because the compression/ 60 coded amplitude value and the value stored for the sample
decompression equipment generally compresses the PCM will occupy one byte.
audio signal in a unique way, only other systems with Consequently, when a sample amplitude is stored as a
compatible specialized equipment can utilize the com- coded amplitude rather than a difference value, a "flag" is
pressed signals. inserted into the compressed data stream which specifies that
Some compression/decompression systems do not require 65 the following value is an amplitude value rather than a
specialized compression/decompression equipment. difference value. For example, in the case where two bytes
However, these systems do not provide real-time, lossless are used to code an amplitude value, the flag specifies that