论文部分内容阅读
ARM公司在其最新的基于ARMv7架构的Cortex-A系列处理器上,首次集成了"NEON媒体处理引擎”。NEON引擎提供了ARM平台先进的基于SIMD的指令集,能够实现一条指令同时对多个数据进行处理,实现数据级别的并行处理。NEON引擎能有效加速音视频编解码及图像处理等应用。当前,对于低端ARM平台来说,由于其硬件成本及功耗限制,音视频应用、2D/3D游戏等多媒体应用,通常使用常规ARM指令集实现。然而,如果采用集成NEON引擎的ARM处理器,就可能使用NEON指令集对此类应用中计算复杂度高,且符合SIMD优化特点的部分进行优化,将对数据的串行运算转化为并行运算,进而加速应用处理速度。这对于硬件成本及功耗苛求的ARM处理平台来说,具有重要的应用价值。当前对NEON的应用研究仍较少,尤其在NEON技术特性、指令功能、应用方法及实际应用效果等方面,而且基于NEON指令集实现的可用功能函数库较少。因此,本文基于ARM Cortex-A9处理器内置的NEON引擎,深入研究了NEON技术,主要包括其技术特性、指令集功能、应用方法等,并利用JM解码器(H.264官方实现)这个软件平台进行具体的NEON优化,主要包括帧间运动补偿、去方块效应滤波、逆变换和帧内预测这四个模块,最后完成优化前后的效果测试,为打算利用NEON技术进行优化的研究人员和应用开发者提供技术参考和借鉴。测试软硬件平台采用PandaBoard开发板和基于Linux3.4.0的Ubuntu系统,对不同分辨率的多个测试序列进行了解码测试。测试结果表明,在各模块优化效果方面,逆变换部分的优化效果最好。在JM解码器整体效果方面,优化后的解码速率提高了接近1倍,而且提高分辨率并不影响优化效果。这说明了ARM平台上NEON技术对于多媒体应用的加速效果是有效且明显的。