MPEG-1 Layer III Audio Decoder

Software Development of Huffman Decoder

System Level Block Diagram

Matt Nygren

Advisors: Dr. Ahn and Dr. Stewart

The MPEG-1 Layer III Audio Decoder will be contained on a single board, but this board will be interfaced to a host PC where the previously compressed audio files will be stored. These files will be accessed with a user interface on the PC, and sent for decoding to the Texas Instruments Evaluation Module. There the signal processing will be done by the decoding software, and an audio signal will be output on one of the audio output ports of the DSP. The system level block diagram is shown in Figure 1, and a table of Inputs and Outputs from the system is in Table 1.

Table 1: System Inputs and Outputs
Audio Output This signal should sound identical to the original audio signal.
MP3 files (In memory of Host PC) These are the previously compressed MP3 files that will be stored on the host PC for testing purposes. These MP3 files may be made beforehand with free software available on the internet, or they may simply be downloaded earlier off the internet. The only limitations in size and number of MP3 files should be the amount of memory available on the host PC.
User Controls (Inputs)
Power On/OffTurns the decoder on and off.
PlayBegins playing music, starting with the currently selected song.
StopStops playing the MP3 files.
ForwardSkips to the next song in the memory of the PC.
BackGoes to the beginning of the current song, or to the previous song in memory.
ShuffleRandomizes the play order of the songs in memory.

The most important subsystem would be the Decoding Software subsystem. It is this subsystem which interprets the encoded MP3 bitstream and reconstructs the original signal. The Encoded MP3 bitstream will be input to the decoder, where it will first be unpacked. Error checking will also occur in the extraction phase. Any ancillary data will most likely be discarded at this point in the system. The reconstruction block reconstructs the quantized version of the set of mapped samples. The inverse mapping transforms these mapped samples back into uniform PCM. This PCM signal is output from the decoding subsystem. The Decoding subsystem is illustrated below in Figure 2. The inputs and outputs of the Decoding Software Subsystem are also listed in Table 2.

Table 2: Inputs and Outputs of Decoding Software Subsystem
MP3 Bitstream (Input) Encoded MP3 bitstream sent by Host PC. Sequence of many frames, each containing a header, error checking bits, miscellaneous information, and encoded data.
PCM Signal (Output) Uniform PCM signal ready for digital to analog conversion. The analog audio signal should be nearly indistinguishable from the original signal.

The second software subsystem will be based on the host PC, and will be responsible for handling the communications between the user and the MP3 audio decoder. The Interface and Control Subsystem will manage MP3 files on the host computer, allow the user to access and control the player, and output the encoded MP3 bitstream onto a communications port of the PC, which will go directly to the evaluation module for processing. The Interface and Control Subsystem is illustrated below in Figure 3. The inputs and outputs are listed in Table 3.

Table 3: Inputs and Outputs of Interface and Control Software Subsystem
User Controls (Input) As described earlier in Table 1.
MP3 Bitstream (Output) Encoded MP3 bitstream on its way to the DSP and the Decoding Subsystem. The MP3 files are available in the memory of the host PC and will be accessed by this Control subsystem, which will then send the correct files to the DSP for processing.