论文部分内容阅读
目前市场上的网络音频数据的获取大多都是基于PC机的应用软件,即通过这种方法获取音频数据不能脱离电脑。随着手持终端电子产品的发展,研究软件在不同平台的上应用,从而摆脱PC机的束缚是一个必需解决的问题。由于跨平台因素的约束,现在小型电子产品上的音频解码器大多都是基于硬件的。硬件解码器对音频格式的支持上具有局限性,且会增加产品电路的复杂度。本文首先介绍了如何从HTTP服务器与MMS服务器上获取音频数据,并对获取的数据进行流媒体式缓存,实现在线播放;然后对获取的音频数据在ARM平台上进行格式解析与数据解码处理;最后从能耗优化的角度对WMA解码器进行优化。论文的主要研究内容如下:1.完成ARM开发平台的搭建与相关软件的移植;解析HTTP协议与MMS协议;实现与服务器的通信,流式接收音频数据包,同时开辟缓存区,将接收到的数据包进行缓存。2.解析缓存区中的音频数据,确定数据属性,然后调用相应的解码器对其进行解码播放,当一个缓存区中的数据解码播放完后就切换到另一个缓存区。采用这种流媒体的方式对音频数据进行解码,能够减小延迟和网络带宽的限制,在最短时间内让用户播放网络音频文件,且有利于节省系统存储空间。由于获取到的音频数据保存在内存中,不是以文件形式写入FLASH存储器中,可以避免文件操作对FLASH存储器的损害,延长产品的使用寿命。3.研究不同格式的音频数据在ARM平台上的解码,提出对WMA解码器在ARM平台上进行能耗优化的方法——在实现嵌入式软件能耗仿真的基础上,针对WMA开源解码程序在ARM平台上解码能耗高的问题,提出并详细分析了编译器优化、源码优化和算法优化三种优化方案,同时将这三种优化方法应用于开源的WMA软件解码器中。将优化前后的WMA解码器分别对单、双通道的WMA文件进行解码验证比较。结果表明经过优化的WMA解码程序在ARM平台上对单、双通道WMA文件的解码效率有了明显的提高。