论文部分内容阅读
随着视频编解码技术的飞速发展,视频解码运算的高复杂度对于处理器的计算能力提出了重大挑战。以H.264标准为例,高压缩率使其解码器的计算复杂度比MPEG-2标准提高了近3倍。视频运算本身具有数据量大、数据并行度高、数据类型较小、计算密集和分支跳转可预测性强等特点,通用处理器的基本指令系统主要针对复杂控制执行逻辑优化,以字为单位进行计算,使得通用处理器基本指令系统难于实现高效的视频运算。因此,结合视频处理本身数据密集及可并行处理等特点,通用处理器通常采用多媒体扩展SIMD指令提高多媒体处理性能,从而有效地优化视频运算,这种优化方法可以灵活有效地应用于对视频编码新标准优化实现。 论文分析了H.264、RealVideo和VP8三种典型的视频编码标准的核心算法特点,重点分析了计算复杂度高的环路滤波和运动补偿插值等算法。结合SIMD指令特点,对上述算法的SIMD优化方法进行评测分析。分析发现每种算法都需要首先进行数据重排的操作;环路滤波算法可以通过“预测”执行的方法解决大量出现的分支指令,通过条件运算产生的掩码值实现分支预测值的选择;运动补偿算法的4-tap和6-tap滤波非常适合利用SIMD指令优化,但是需要根据水平、垂直和中心不同的插值位置进行不同的数据重排和运算操作。 论文采用UniCore2D SIMD扩展指令对RealVideo和VP8格式视频解码中的运动补偿和环路滤波算法进行了优化实现,评测结果表明:针对水平插值滤波计算,性能加速比为2.59~6.92;针对垂直插值滤波计算,性能加速比为3.64~9.12。最后论文在Mplayer解码器框架中实现了基于SIMD优化的RealVideo和VP8视频解码,同时对于解码性能高于图像质量要求的情况可以采取简化算法,使视频解码性能加速比达到1.49~2.39,能够实现标清视频(704×576)的实时解码播放。