Digital Audio Applications Are Changing Computer Science
New digital audio applications are changing the way we experience entertainment and broadcast services.
Digital audio, for a long time limited to the compact disc arena, is finding myriad of new ways to play a role in our life, from MP3 portable players to Digital Audio Broadcasting radio receivers.
The key enabling technology for these new exciting products is audio compression, which makes possible to store and transmit the otherwise unwieldy audio signal with levels of sound fidelity unthinkable until just a few years ago.
Audio coding is thus becoming an important topic in electronics and communication engineering curricula, being at the same time a precious know-how as well as an attractive topic for engineering students.
Audio coding is a good subject as it introduces and discusses important Digital Signal Processing (DSP) topics such as sub-band decomposition, scalar and vector quantization, sample-based coding schemes.
Among different ways to perform audio coding, in fact, frequency-domain analysis through sub-band decomposition is one of the most effective.
Wavelet theory gives a more formal approach to sub-band decomposition showing the relationship between filter banks and wavelet bases.
The design of a sub-band coder involves the choice of a filter bank and of a coefficient encoder (e.g., Pulse Code Modulation, Adaptive Pulse Code Modulation and Adaptive Differential Pulse Code Modulation).
In particular, a filter bank is characterized by its main structure (uniform-band vs.
octave-bank filter bank), the type and the order of the filters, their implementation and the number of banks.
An audio coder/decoder based on wavelet transforms is presented.
The software consists of an audio codec written in C language.
The codec accepts a wave file (PCM coded) and performs sub-band coding and stored as a compressed file.
The decoding is done by accepting this compressed file as input to the decoder and the decoded audio samples are stored back as wave file (PCM coded).
Evaluation of the distortion and delay introduced by the codec as well as issues regarding real-time computation is analyzed.
Note that all audio results and experimentation associated with this thesis were performed using mono audio signals sampled at telephone, radio and CD quality.
It is important to note that the program that has been developed does not execute in real time.
Some examples of audio signals that have been compressed and restored can be found on the compact disc that has been included with this thesis.
See Appendix B for details.
The following gives a brief outline of the remaining chapters in this document.Chapter 2 - Wavelets
This chapter explains the theory behind the wavelet transform and why it is used instead of the traditional Fourier methods.
The following concepts are explained: Discrete Wavelet Transform (DWT) and the pyramidal algorithm method of performing the DWT on a data vector.
The concept of redundancy in the wavelet coefficient is also brought out.Chapter 3 - Audio Compression Schemes
This chapter presents some of the existing methods that have been used to compress audio signals.
The redundancy in the wavelet domain of an audio signal is exploited and two types of compression schemes are identified and the methods used to compress are explained.
The quality after decompression of the compressed wavelet domain signal is tried to enhance using some of the noise removal algorithms which are also explained.
Here, details about the C program implementation of the audio compression algorithms are presented and discussed.Chapter 4 - Results and Discussion
This chapter examines the performance of the compression algorithms specified in the previous chapter.
Signals sampled at different sampling rate are tested using the compression program and the results are evaluated.Chapter 5 - Conclusions and Future Scope
The final chapter summarizes the material presented in the thesis and makes suggestions for further work in the audio compression area.Chapter 2Wavelets
The fundamental idea behind wavelets is to analyze according to scale.
Indeed, some researchers in the wavelet field feel that, by using wavelets, one is adopting a whole new mindset or perspective in processing data.
Wavelets are functions that satisfy certain mathematical requirements and are used in representing data or other functions.
This idea is not new.
Approximation using superposition of functions has existed since the early 1800's, when Joseph Fourier discovered that he could superpose sines and cosines to represent other functions.
However, in wavelet analysis, the scale that we use to look at data plays a special role.
Wavelet algorithms process data at different scales or resolutions.
If we look at a signal with a large "window" we would notice gross features.
Similarly, if we look at a signal with a small "window", we would notice small features.
The result in wavelet analysis is to see both the forest and the trees, so to speak.
This makes wavelets interesting and useful.
For many decades, scientists have wanted more appropriate functions than the sines and cosines which comprise the bases of Fourier analysis, to approximate choppy signals.
By their definition, these functions are non-local (and stretch out to infinity).
They therefore do a very poor job in approximating sharp spikes.
But with wavelet analysis, we can use approximating functions that are contained neatly in finite domains.
Wavelets are well-suited for approximating data with sharp discontinuities.
The wavelet analysis procedure is to adopt a wavelet prototype function, called an analyzing wavelet or mother wavelet.
Temporal analysis is performed with a contracted, high-frequency version of the prototype wavelet, while frequency analysis is performed with a dilated, low-frequency version of the same wavelet.
Because the original signal or function can be represented in terms of a wavelet expansion (using coefficients in a linear combination of the wavelet functions), data operations can be performed using just the corresponding wavelet coefficients.
And if you further choose the best wavelets adapted to your data, or truncate the coefficients below a threshold, your data is sparsely represented.
This sparse coding makes wavelets an excellent tool in the field of data compression.
Other applied fields that are making use of wavelets include astronomy, acoustics, nuclear engineering, sub-band coding, signal and image processing, neurophysiology, music, magnetic resonance imaging, speech discrimination, optics, fractals, turbulence, earthquake-prediction, radar, human vision, and pure mathematics applications such as solving partial differential equations.2.1