论文标题:Ogg/Vorbis音频编解码算法研究及其在定点DSP中的应用 Fixed-Point DSP Implementation of Ogg/Vorbis Audio Codec in Embedded System 论文作者 孟建斌 论文导师 严晓浪;沈海斌,论文学位 硕士,论文专业 电路与系统 论文单位 浙江大学,点击次数 97,论文页数 71页File Size9021k 2005-03-01论文网 http://www.lw23.com/lunwen_815285917/ 音频压缩;嵌入式;编解码器;Ogg/Vorbis标准;DSP Audio Codec; Ogg/Vorbis; Embedded System; DSP 数字化是当今多媒体技术发展的潮流,音频压缩编码技术是其中重要的组成部分。飞速发展的数字音频压缩编码技术,能够以较低的比特率获得高质量的编码效果,满足不断增加的音频信息处理、传输和存储的需求。随着DSP数字信号处理器的广泛应用和SOC技术的发展,利用DSP处理器和SOC技术来进行音频信号的编解码研究和实时应用已成为当今信息技术发展的一个方向。本文主要研究了最新型的音频编码算法Ogg/Vorbis及其音频格式标准,建立了基于可移植C语言的编解码器模型,并引入了一种基于RISC+DSP模式的嵌入式解码器设计方法,结合SOC技术,在音频专用开发板上实现了定点解码器。 Ogg/Vorbis是美国Xiph.org组织开发的高品质通用感知音频编码器和音频格式。它采用独特的编解码技术,在高品质音频领域,同MPEG-4音频层属于同一档次,比MP 3具有更加出色的表现。而且,相比于其他编码算法,Ogg/Vorbis的最大特点是其源码完全公开,无任何专利限制,具有很大的编码灵活性。正是因为凭借其出色的性能和免专利的特点,Ogg/Vorbis一经闻世就引起了大家的广泛的注意,更逐步成为了网络广播和便携式播放器的新宠儿。但作为一种新的音频压缩格式,国内外对于Ogg/Vorbis的编解码算法和标准的研究还仍然处于起步阶段。这也是Ogg/Vorbis成为本文研究方向的一个重要原因。 在本文中,首先着重分析了Ogg/Vorbis音频格式标准及其编解码算法和结构,并建立了基于可移植C语言的开发模型。其次为了便于其在嵌入式系统中的应用和硬件设计的需求,开发设计了定点解码器模型。解码器在数据类型、数据结构、Memory使用、算法以及体系结构等多个方面进行了一系列针对性的优化。本文最后在Samsung的CalmADM2E开发系统中成功实现了Ogg/Vorbis定点解码器。 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.
|