论文部分内容阅读
CMMB(China Mobile Multimedia Broadcasting)是近年来被大力推广的中国移动数字电视标准,支持该标准的移动设备可以随时随地的用来观看数字电视。CMMB采用最新的QVGA画面大小、每秒25帧、Baseline Profile的H.264/AVC作为其视频标准,其计算复杂度对移动设备的计算能力和功耗提出了巨大挑战。PKUnity-3(SK)是一款由北大微处理器研发中心自主研发的高集成度CPU系统芯片,为使其能够更好的支持CMMB应用,本文着重研究了如何结合该芯片提供的UniCore2D SIMD扩展指令加速其对CMMB的H.264视频解码能力。
本文首先在PKUnity-3(SK)上实现一个基于MPlayer的软件CMMB音视频解码器,通过在CMMB信号接收、音视频播放和容错处理等关键机制上的改进,提高该解码器的稳定性。此外,本文对H.264解码进行了详细的性能分析,并从计算量和访存量两个方面进行了优化:一方面是利用UniCore2D指令对占据最主要计算量的运动补偿和环路滤波算法进行SIMD优化,有效降低了计算量和数据访存次数,通过评测表明可以给整体解码性能带来11%~16%的性能提升;另一方面是利用CMMB视频只采用Baseline Profile的特点,对宏块解码流程采用了消除其他Profile的冗余计算和减少代码体积的优化,大大减少了指令Cache失效次数,带来了另外的20%性能提升。
最后通过总体评测表明,本文的优化在PKUnity-3(SK)平台上可以实现对CMMB的H.264视频解码达35%左右的性能提升,在650MHz主频下将视频解码速度提高到每秒50~74帧,并且最低在300MHz主频下即可实现稳定流畅的实时解码和播放CMMB移动数字电视,大大降低了其对计算能力和功耗的需求。