
MPEG-1 Layer III Audio CODEC Project Design Brad Erwin Mary Lou Kesse March 25, 1999 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse 1 PROJECT SUMMARY...................................................................................................................... 2 2 PROJECT DESCRIPTION................................................................................................................ 3 2.1 BACKGROUND & PROJECT FRAMEWORK .......................................................................................... 3 2.2 PHASE I – ENCODER SIMULATION ................................................................................................... 4 2.1.1 Standard MP3 Encoding Subsystem ....................................................................................... 5 2.1.2 Simplified MP3 Encoding Subsystem...................................................................................... 7 2.3 PHASE II – DECODER SOFTWARE DEVELOPMENT ............................................................................ 9 2.3.1 Standard MP3 Decoding Subsystem ....................................................................................... 9 2.3.2 Software Development .......................................................................................................... 10 2.4 PHASE III – HARDWARE TEST......................................................................................................... 12 3 PROJECT SCHEDULE ................................................................................................................... 14 4 CURRENT RESULTS...................................................................................................................... 15 4.1 PARALLEL VS. CASCADE FILTERBANK ARCHITECTURE .................................................................. 15 4.2 ENCODER SIMULATION ................................................................................................................... 22 5 EQUIPMENT REQUIRED.............................................................................................................. 25 6 RELATED RESOURCES ................................................................................................................ 26 6.1 JOURNALS AND BOOKS.................................................................................................................... 26 6.2 STANDARDS .................................................................................................................................... 26 6.3 WEBSITES........................................................................................................................................ 27 APPENDIX A - PSYCHOACOUSTICS................................................................................................. 28 APPENDIX B - MATLAB CODE............................................................................................................. 30 B.1 PARALLEL FILTERBANK CODE ........................................................................................................ 30 B.2 CASCADE FILTERBANK CODE.......................................................................................................... 32 B.3 COMPRESSION SIMULATION CODE .................................................................................................. 34 B. 4 ASSOCIATED FUNCTIONS ............................................................................................................... 37 Date: 03/25/99 1 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse 1 Project Summary For our senior project, we propose to develop an MPEG-1 Layer III (MP3) audio decoder with a Texas Instruments TMS320C6x digital signal processor (DSP). Achieving this goal requires a thorough investigation of the MPEG coding algorithm, the structure of MP3 data frames, and the general theories behind signal processing and audio compression. Because of the complexity of the project, there are several deliverables: A) simulation of a simplified compression algorithm with MATLAB B) development and simulation of C code to decode standard MPEG-1 Layer III data frames with the TMS320C6x DSP. C) implementation of the decoding software on a TMS320C6x evaluation board. Date: 03/25/99 2 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse 2 Project Description Before going into a detailed description of the different phases of the project, background information concerning the MPEG-1 Layer III algorithm and the project framework will be discussed. Afterwards, the project phases will be described and related to the major subsystems of the Layer III algorithm. 2.1 Background & Project Framework To fully understand the framework of the project, it is necessary to be familiar with the fundamentals of the MPEG-1 Layer III algorithm. A simplified functional description of the algorithm is illustrated below as Figure 1. Audio Input #1 Encoding Subsystem #2 Control MP3 #5 Signals Bitstream Decoding Subsystem #3 Audio Output #4 Figure 1 -- Functional Description of MP3 Algorithm Date: 03/25/99 3 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse From the illustration, it is obvious that the MP3 algorithm has two major subsystems, the encoder and decoder. The encoding subsystem (Figure 1, Block #2) produces an MP3 bitstream by compressing the audio input (Figure 1, Block #1) according to the MPEG-1 Layer III specification. Under ideal circumstances, the compression algorithm is capable of compressing CD-quality stereo audio by a factor of 12:1 over PCM-coded digital audio with little loss in signal quality. The decoding subsystem (Figure 1, Block #3) interprets the MP3 bitstream and produces an audio signal (Figure 1, Block #4). Ideally, the signal produced by the decoding subsystem is perceptually identical to the original signal. The behavior of both subsystems is governed by a set of control signals (Figure 1, Block #5). These control signals provide information about the audio signal such as the sampling frequency, bitrate, and signal type (monophonic or stereophonic). Due to time and resource constraints, the entire MPEG-1 Layer III algorithm will not be implemented in this project. Instead, a simplified encoding subsystem will be simulated with MATLAB to develop a familiarity with the theories behind signal processing and audio compression. Once the encoder simulation phase is complete, software will be developed for the TMS320C6x DSP to decode the MP3 bitstream and reconstruct the original signal. After debugging, this code will be uploaded to a TMS320C6x evaluation board for demonstration. 2.2 Phase I – Encoder Simulation Though the entire MPEG-1 Layer III encoding subsystem will not be fully implemented in the project, a moderately sophisticated MATLAB simulation will be Date: 03/25/99 4 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse developed to demonstrate the processes used in a “real” encoder. The components of the standard MP3 encoding system are illustrated below in Figure 2; the simplified encoding simulation, Figure 3. 2.1.1 Standard MP3 Encoding Subsystem Digital Audio 1 Input (PCM) 750Hz Bandpass 2 Filter Bank 32 3 ↓ Psychoacoustic Model 6 32 4 MDCT 576 5 Encoder 576 Bitstream 7 Formatting MP3 Bitstream Figure 2 - Standard MP3 Encoding Subsystem The heart of the Layer III algorithm is a bank of filters (Figure 2, Block #2) that break the input signal (Figure 2, Block #1) into thirty-two equally spaced frequency subbands depending upon the Nyquist frequency of the original signal. For instance, if the Nyquist frequency of the original signal is 24Khz, the filter bank would divide the Date: 03/25/99 5 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse signal into partitions approximately 750Hz wide. In this case, the output of the lowest magnitude subband would contain signal components from 0 – 750Hz; the next, 750Hz – 1500Hz, etc. From the filterbank, a downsampler (Figure 2, Block #3) and an eighteen point modified discrete cosine transform (MDCT, Figure 2, Block #4) process the thirty-two subbands. The downsampler reduces the amount of data required for each subband by retaining only every thirty-second sample (i.e. a downsampling factor of thirty-two). However, the total amount of data required for the signal remains the same because there are thirty-two subbands in all. For example, if there are 100 original audio samples, the filterbank creates thirty-two subbands, each with 100 samples. This increases the number of samples to 3200 (100 * 32). After downsampling, the number of samples is reduced to the 100. The discrete cosine transform increases the accuracy of the filterbank by splitting each of the thirty-two subbands into eighteen more subbands for a total of 576 (32 * 18). Simultaneously, a psychoacoustic model is applied to the input signal to determine which frequency bands should be retained. The model (Figure 2, Block #6) takes advantage of the masking properties of the human auditory system to identify unneeded components present in the original signal. (For a more detailed discussion of psychoacoustics, see Appendix A) The psychoacoustic model provides data about these spurious components to the encoder (Figure 5, Block #5). The encoder uses the data provided by the model to determine how to encode the 576 subband signals. To achieve data compression, the encoder ignores subbands that are completely masked by other signal components. Additionally, subbands that are Date: 03/25/99 6 Brad Erwin MPEG 1 – Layer III Audio Codec Mary
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages38 Page
-
File Size-