论文部分内容阅读
H.264/AVC(或称为MPEG-4 PART10)是ITU-T VCEG(Video Coding ExpertsGroup)与ISO/IEC MPEG(Moving Picture Experts Group)共同制订的新一代视频压缩编码标准,是目前图像通讯领域的热点之一。作为多媒体通讯的重要组成部分,H.264不再把编码层和网络层区分对待,而是综合考虑了编码效率和网络传输。因而其不仅拥有优异的压缩性能,而且适合流媒体传输。H.264视频压缩标准在数字电视、视频实时通信、网络视频流媒体以及便携式多媒体播放器等消费电子领域都有着较为广阔的应用空间。与以往的视频标准(H.261 H.263 MPEG-1 MPEG-2等)相比,H.264在算法上有着许多改进,能够在提供更高压缩率的同时提供更好的图像质量。当然,其性能的提升是以引入更为复杂的计算作为代价的。由于算法复杂度的增加,H.264编解码的速度变得十分缓慢,往往很难达到实时应用的要求。于是,对编解码器的速度优化就成为了研究热点。通常采用MMX/SSE/SSE2等多媒体指令集(SIMD)对软件编解码器进行优化,其性能可以得到2—3倍的提升。如今,随着半导体技术以及计算机技术的不断发展,已经出现了具有超线程技术(Hyper-Threading)的CPU以及多内核(Multi-Core)CPU。这类CPU具有线程级并行的运算特点,这给软件视频编解码器的优化提出了新的思路。本文的目的是引入一种新的H.264视频编码器优化方法:基于超线程技术的并行编码方法。本文首先对数字视频压缩原理以及标准进行介绍;接着介绍了本文所用的H.264编码标准以及H.264编码器;接着分析讨论了几种可行的编码器并行优化方法;最后详细介绍了本文所采用的帧级(Frame level)并行编码的实现方式。本文使用OpenMP标准编程接口对编码器源代码做并行优化,在基于Intel超线程技术的P4 2.4GHz CPU硬件平台上进行了编码优化实验。得到的实验结论为:编码过程中CPU利用率平均可达70%,最高可达92%,编码时间平均缩短25%。采用相同的方法对H.264软件解码器进行优化,也能得到类似的优化效果。可见,采用多线程并行算法,可以有效地提升软件编解码器的编码效率。