论文部分内容阅读
AVS标准是基于信源的第二代视频编解码标准,采用了当前国际主流的视频编解码技术方案,并加入了我国自主创新的技术成果,是我国第一个具有自主知识产权的视频标准。AVS视频标准的编码效率比MPEG-2高2-3倍,与AVC相当,并且所采用的技术方案比AVC更为简洁,专利授权费用也更为低廉,因此它拥有非常广阔的市场应用前景。目前国内外的视频设备生产商对于AVS视频解码器的解决方案是以添加专用的AVS视频解码芯片者居多。使用专用的AVS视频解码芯片,固然能迅速有效地完成视频解码功能,但是同时也带来了设计周期长、设计方案僵化、更改不便、升级困难等问题。随着各种嵌入式处理器的处理速度和图形处理能力的大幅度提升,利用嵌入式硬件本身的优势和特点,以软件协同完成解码的方法也成为当前可行的解决方案之一。Freescale公司的i.MX31型处理器就是专门针对多媒体技术推出的一款基于ARMv6架构的多媒体处理芯片。其主频高达532MHz,最大的特点是强化了多媒体处理性能,内部集成了多媒体硬件加速器eMMA,并且增加了轻量级的SIMD(单指令多数据)指令集,既实现了高速信号处理运算,又大大降低了处理器功耗,能以较低的CPU主频来实现高速的图像/语音编解码处理,可支持高达VGA的MPEG-1/2/4、H.263、H.264、WMV等多媒体流的编解码实现。目前已有多家公司推出了基于i.MX31处理器的多媒体播放器解决方案。其中爱国者公司推出的aigo SDK i.MX31开发平台能很好的支持移动多媒体终端(PMP)设备。但是这些针对视频流媒体处理的技术方案都没有涉及到AVS视频编、解码功能,考虑到AVS视频标准有广阔的市场需求,因此为基于i.MX31的视频播放器加入AVS视频解码模块是有意义的。本文首先研究了AVS视频解码的整个流程,然后针对Freescale公司的i.MAX31型处理器提出并实现了一种嵌入式AVS视频播放器的设计方案,该方案不需要添加专用的AVS视频解码芯片,仅以i.MAX31处理器以及外围电路为硬件平台,以u-boot引导程序、嵌入式Linux操作系统、MPlayer多媒体播放器等软件作为软件平台,通过向该系统中添加AVS视频解码库的方法,实现了AVS视频播放功能。在此基础上,本文还特别基于ARMv6架构所特有的SIMD指令,提出并实现了针对该款ARM芯片的一系列优化方案,达到了很好的优化效果。经优化后,该系统能实时播放25-30 fps,分辨率为720×576的AVS视频流,基本达到了“实时”、“标清”的AVS视频解码要求。本文的主要贡献有:1.设计并实现了一种基于ARM的嵌入式AVS视频播放器,为“软硬件协同完成AVS视频解码”的设计思路提供了一个可行的解决方案。该解决方案具有新颖性,可以为相关的科研项目或者相关领域提供一定的参考。2.对AVS视频解码模块的源代码进行了针对ARMv6架构处理器的一系列优化。经优化后,AVS视频解码模块的解码性能基本达到了“实时”、“标清”的要求。优化方法中涉及的“轻量级”SIMD指令集是ARM系列中,ARMv6架构所特有的指令集,所以该优化方法也为基于ARMv6架构的其它多媒体处理程序提供了参考方案。