论文部分内容阅读
随着多媒体技术的迅速发展和计算机的不断普及,计算机的性能也在不断发生变化。计算机运行速度快、运算量大、计算能力强等特点不断增强。同时,高质量视频的快速传输和共享已成为当前多媒体计算机用户主要的需求。大多数的视频编解码器在设计初始阶段都是在单核环境下进行设计的,现阶段,随着家用电脑、笔记本电脑等微型计算机性能的不断增强,多核计算机的大量出现,开发与多核相适应的软件就变得迫切且实际,同时视频编解码器如何在多核条件下更加高效、合理的处理大量的视频数据已成为亟待解决的问题。本文针对应用程序多核并行开发,在Linux环境下运用并行开发模型TBB(Intel Thread Building Blocks),结合Intel VTune Amplifier XE2011(性能分析器)对XviD视频编码中的串行程序进行并行化分析,找到应用程序代码中所谓的"热点”。在Intel同构多核平台上,运用Intel并行库TBB对不同的“热点”进行相应的并行化改造,主要包括循环并行化、内存并行化、数据并行化、流水线并行化和任务级并行化等几个部分。运用Intel线程检测器检测并行改进的程序,并利用并行程序重新测试视频测试序列,与在串行程序环境中的运行速度进行比较和分析。本文首先对多核并行软件的研究现状和发展前景进行了介绍,接着介绍了在Linux环境下Intel并行开发模型TBB的使用方法和本设计开发所需的开发工具,以及本设计的软硬件开发环境。重点研究了并行开发模型TBB在Linux环境下的运行机制、实现方法和编程方法。随后,对XviD视频编码的串行程序进行分析和研究,介绍了串行程序的结构特征,描述了XviD代码的总体架构,对各个模块的解码过程和模块之间的工作关系进行了阐述。之后,根据解码程序的特征和结构,对源程序进行并行化改进。最后在构建的实验环境下对改进后的程序进行了相关测试,并对实验结果和实验数据进行了分析。结果表明,应用程序进行并行化改造后,性能得到了明显的提升。