论文部分内容阅读
随着网络与个人通信终端的发展,人们对于在线视频的需求已经越来越强烈。H.264标准在保证了解码图像质量的同时,提供了出色的压缩比,是在线视频的理想选择。另一方面,目前已有的视频源大多采用MPEG2标准进行编码。如果可以高效地将MPEG2码流转化成为H.264码流,则必然可以极大地扩充H.264的节目来源。由于目前尚未有快速高效的转码算法,转码器的实现大多采用全解全编的实现方案。然而由于H.264的编码本身就比较复杂,要完成多路实时MPEG2解码到H.264编码的实时转码,计算量非常大。并行计算为实现实时转码提供了一种可行的解决方案。本文首先研究了常用的并行编程模型,并在此基础上分析了当前已有的并行编解码算法。接着本文引入更为高效的任务池并行模型,设计了基于任务池的编码模块并行拆分方法,并进而实现了并行解码模块与并行编码模块。最后本文在并行解码模块与并行编码模块的基础上,通过实现支持大文件读取的输入模块,解码模块与编码模块之间的级联与支持目标码流网络串流的输出模块,完成了一整套转码系统的搭建。实验数据表明,本文的MPEG2解码模块具有极好的并行可扩展性,H.264编码模块由于本身很高的复杂度扩展性不及编码模块,但仍然有着不错的并行加速比线性增长区间。转码器中由于引入了循环等待的节奏控制机制,因此并不具有很好的并行扩展性,但是其性能对于实现三路转码系统而言已经足够。