论文部分内容阅读
3D定位音频技术是近年来在嵌入式多媒体领域内非常热门的研究方向之一。通过实现头部关联传输函数HRTF (Head Related Transfer Function)和回波反射处理等技术,3D音效引擎可以在嵌入式平台的立体声扬声器或耳机中播放具有3D定位效果的音频信号,给用户带来耳目一新的音效体验。正因为在终端市场中的巨大需求,音频业界的各大公司如Dolby、SRS、Sonaptic等均推出了采用3D定位音频技术的音效引擎,嵌入式厂商尤其是手机制造商也投入了极大的热情与专业音频公司积极合作,不断推出了具备3D音效功能的手机终端,成为近年来手机市场上的一大技术亮点。本文以摩托罗拉公司提供的定点C源参考代码为基础,在ARM11处理器平台上移植和优化了3D音效引擎的算法部分。针对3D音频算法中存在大量的复数运算和排列式密集计算,本文采用了基于ARMv6内核(ARM11处理器所采用的ARM内核版本)增强技术,如SIMD(单指令多数据)技术等;同时考察影响ARM优化效率的主要因素,提出多种有效对策:循环展开、寄存器重组、并行指令实现及流水线优化。目前,我们已经成功在ARM11移动平台上完成3D音效引擎的移植和优化工作,并已通过一致性测试,同时单音源3D算法的平均MPCS消耗从243.31降低到13.81,总内存使用控制在60K字节之内,达到预期项目目标要求;截至到2011年摩托罗拉已经在十余款北美上市的手机中集成了该项技术,在音乐播放、3D游戏、3D铃声等应用领域给用户带来全新的视听感受,取得了巨大的市场效果。