Ogg Vorbis Audio DecoderJon Stritar and Matt Papi6.111December 14, 2005AbstractThe goal of this project was to design and implement an Ogg Vorbis decoder inhardware. Ogg Vorbis is a highly dynamic audio encoding format - the framework wasdesigned to be customizable enough to still be in use 20 years from now. The Vorbisdecoding process was broken up into two parts; the front-end which configures thedecoder, and the back-end which decodes the audio data into PCM. The front-end wascompleted successfully, but due to the unforeseen complexity of the audio decodingprocess, the back-end could not be debugged in time.Contents1 Introduction 52 The Ogg Vorbis Audio Codec 52.1 The Front-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 The Back-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Front-end Modules 63.1 ROM Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Packet Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Identification Packet Processor . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4 Configuration Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.5 Setup Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.5.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.5.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 113.6 Codebook Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.6.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.6.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 143.7 Transform Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.7.2 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 153.8 Floor Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.8.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.8.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 163.9 Residue Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.9.1 Overview . . . . . . . . . . . . . . . . . . . . . . …
View Full Document