论文部分内容阅读
当今,伴随着科学技术的发展,通信和互联网技术得到高速的发展。人们对这些科技的依赖性也越来越强,希望这些技术能够给人们带来越来越多的方便,如手机需要更好的满足人们的需求(打电话、上网,发邮件、智能导航、浏览信息、以手机为媒介的视频电视直播和监控等),智能手机也因此而产生,且将成为近年来手机行业的主流,具有巨大的商业前景。现在人们对流媒体带来的信息需求和手机处理实时性要求越来越高,因此要求手机必须具有处理更为清晰的流媒体文件的功能。在手机系统上实现性能最高,同时是较为复杂的H.264解码器移植和优化,是现在多种移动视频数据应用开发中非常关键的技术。本文主要就解码算法层和代码层两个方面提出了视频编解码性能更高的H.264的解码器的优化方法,并实现了Android平台下的H.264的剪裁和移植。本文针对Android系统上H.264的应用需求,开展了Android系统上H.264的研究与开发,做了以下工作:(1)本文首先分析了智能手机系统与H.264的研究现状并针对几种不同手机开发平台做了分析和比较。针对本文中所采用的Android系统的体系结构进行了详细的描述。对嵌入式开发系统做了简要的分析,讲述了开发平台的搭建。(2)分析了H.264的主要模块,这些关键模块包括帧内预测与帧间预测模式实现过程、DCT技术的原理和过程、各个档次之间的联系和区别。为了提高H.264解码器解码的性能,针对其中的关键算法做了优化。(3)实现了多媒体包Opencore在jz4750硬件平台上接口连接的处理方法。由于在进行多媒体数据的读和写时,主要是对存储设备上的数据进行操作,所以如何提高对数据的读写性能是很关键的,本文采用的是NANDFLASH类型的存储设备,并给出了NANDFLASH驱动中有关读写操作过程的优化设计。(4)最后,针对嵌入式开发的一些局限性(系统资源的有限性、内存空间不是太大、嵌入式平台上浮点运算的复杂性等等),本文中对解码过程进行优化处理还包括:针对具体硬件平台的优化和代码结构的优化。本文主要把FFmpeg移植到Android系统上,由于仅仅需要对支持H.264格式的数据处理模块进行移植,所以在移植前需要对FFmpeg裁剪,将不需要的功能去掉,可以更好的节约系统资源。最终完成了在Android平台上移植解码器并给出结果。