Font Size: a A A

Fixed-Point DSP Implementation Of Ogg/Vorbis Audio Codec In Embedded System

Posted on:2006-05-08Degree:MasterType:Thesis
Country:ChinaCandidate:J B MengFull Text:PDF
GTID:2168360152990794Subject:Circuits and Systems
Abstract/Summary:PDF Full Text Request
Ogg/Vorbis is currently a growing audio format, mainly used for online distribution of music. The number of available encoded audio files is quickly increasing even though MP3 still is the most used format. Many internet radio stations have begun streaming in Ogg/Vorbis and even more are examining the possibilities. In contrast with other renowned formats such as AAC and MP3, Ogg/Vorbis is totally license and royalty free. For embedded platforms the licensing and royalty cost for supporting commercial formats can be quite taxing as payments are often per device.The aim of this project is mostly focused on two aspects: one is to do a research about Ogg/Vorbis algorithms and its standard. And the other is to implement an embedded Ogg/Vorbis decoder system which is based on Samsung's emulator. The emulator uses Samsung's newest 16-bit micro-controller CalmRISC16 and 24-bit DSP engine,CalmMAC24. Xiph's Vorbis reference library and fixed-point decoder Tremor are used and modified as the C-level model.As opposed to most other audio formats, Ogg/Vorbis includes codebooks and other data structures in the data stream, thus greatly increasing dynamic memory usage. Furthermore, the original reference decoder is based on floating point math, albeit a fixed-point implementation called Tremor is also made later. These problems paired with the short time elapsed since Ogg/Vorbis was introduced has had the implications that very few embedded implementations have been done so far. And our efforts have been concentrated at its algorithms and also how to implement Ogg/Vorbis decoder on Samsung's emulator, how to optimize the memory usage and CPU usage in the available code based on CalmRISC16 and CalmMAC24, and finally implement the emulator using both C and assembly languages. Data structures and lookup tables have also been optimized, and the largest CPU consuming block, such as IMDCT and floor generation has been implemented by reduced assembly codes with a strict MIPS requirement.
Keywords/Search Tags:Audio Codec, Ogg/Vorbis, Embedded System, DSP
PDF Full Text Request
Related items