论文部分内容阅读
随着移动通信技术和多媒体技术的迅猛发展,以手机视频游戏,移动视频监控,手机电视等应用为代表的移动视频业务也迅速发展起来,使得流媒体服务通过移动通信网络拓展成为可能,智能手机因为丰富的多媒体应用而成为近年来手机行业的主流,同时也带来了巨大的商业前景。在这一背景下,如何利用有限的手机资源提供高质量的流媒体服务,很有现实意义。作为目前最先进的H.264视频压缩标准,在压缩效率、数据流和容错能力等具有良好的质量性能。然而,H.264解码效率的提高是以运算复杂度的增大为代价的。因此,如何在Android系统中优化H.264解码器以实现H.264视频的流畅播放是一个急需解决的课题。本文主要研究内容及成果概括如下:1.本课题在研究视频压缩标准H.264编解码原理的基础上,深入分析了H.264解码中的关键技术:帧间预测、帧内预测、整数变化和量化、去块滤波效应。并对帧间预测中的插值过程和像素越界判断方法进行优化,为实现H.264解码提供了理论依据。2.对CAVLC解码算法提出改进,由于CAVLC(基于上下文的自适应变长编码)码字长度的不固定,对解码速度的影响很大,成为限制其广泛应用的重要因素之一。针对这一问题,本文研究了H.264标准中CAVLC解码算法,在分析了CAVLC码表特征后,提出了一种改进的CAVLC表格查找算法,该算法将码表通过适当分块来缩小其查表范围,避免对整个码表进行查找,从而提高解码器的解码速度。实验结果表明,所提出的优化算法对于每帧图像解码的速度提高了1.55%左右,最终达到了一定的解码优化效果。3.针对手机系统资源有限的特点,为了在Android系统中实现流畅的解码,需要对FFmpeg源代码进行剪裁优化。主要从两个方面进行优化,一方面是基本运算的,采用移位代替除法指令,提高运算效率;另一方面是代码级的,对循环结构进行相应的处理,以达到高效处理的目的。最后利用Android提供的NDK工具将剪裁优化后的FFmpeg代码移植到目标平台,在Android2.3模拟器上仿真实现了解码显示功能。实验结果表明,解码器基本满足实时性的要求。