面向运动图像远程实时传输的H.263压缩方法的分析与优化
javascript:window.open(this.src);" style="cursor:pointer;"/>
其中:F0和F-1分别代表当前帧和重构帧(参考帧);k,l为待编码宏块在当前帧中的坐标;x、y为重构帧中参考宏块的坐标;N表示宏块的尺寸,此处为16。从公式中可见,SAD用绝对值运算代替了MSE的乘方运算,明显降低了运算量,从而可以加快计算速度。javascript:window.open(this.src);" style="cursor:pointer;"/>
测试表明,SAD的计算量要比MSE的计算量减少三分之一,而它们的图像效果相当。
此外,还可以利用硬件特性加速块匹配准则的运算速度,Intel的MMX技术提供了这种特性。SAD等块匹配准则主要针对短数据的重复计算,MMX增加了系统单个指令操作数据的数目(SIMD),从而可以在一个指令中完成多组数据的计算,实现并行机制,从而加快运算速度。
3 提高压缩比的选择
H.263提供了许多高级模式来提高视频压缩比。从对压缩效率的贡献角度看,大运动向量模式、高级预测模式、PB帧模式和增强PB帧模式是最重要的4个高级模式。
在大运动向量模式和高级预测模式下,运动向量可以指到图像边界以外,增大了运动向量的表达范围,从而在本质上提高了运动补偿的精度以改善编码效率。
基本PB帧模式下,一个PB帧是一个P帧和一个B帧组成的整体。当前P帧由前一个P帧预测得到,B帧则由单一个P帧和当前P帧预测得到(见图2)。PB帧模式在增加较少比特数的情况下,将帧率提高了近一倍。
增强PB帧模式的主要改进点在于预测方式的增强。基本PB帧模式对B帧图像(或宏块)仅允许使用双向预测,而增强的PB帧模式对B帧图像则允许使用前向预测(见图3)、后向预测(见图4)和双向预测(见图2)三种手段。这样,在压缩过程中,有机会选择更适合的预测方法处理B帧图像(或宏块),从而提高B帧的压缩效率。基本PB帧模式的B帧只能通过双向预测获得,这对慢速运动图像效果较好。当输入运动图像存在快速不规则的运动时,B帧质量会急剧恶化,而增强PB帧模式的B帧有三种预测方式可选,可以解决这一难题。通过分析和测试表明,增强PB模式比基本PB帧模式有更强的鲁棒性,更适用于运动图像远程实时传输。
大运动向量模式和高运动预测模式由于增大了运动向量的表示范围,可以增强运动补偿的精度,从而提高压缩比;而增强PB帧模式引入B帧,有三种预测方式可以生成B帖,在相同帧率的情况下,将压缩比提高近80%,压缩效果明显。在实际程序设计中,笔者配合传输环境测试模块,在网络带宽较低时实现这三种方式的配合使用,发挥了更大的压缩效率,达到更高的压缩比。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 实验数据和性能分析
4.1 算法优化测试
分别取100帧三种不同格式(SUB-QCIF:88×72,QCIF:176×144,CIF:352×288)的视频值,每20帧取1个关键帧,视频帧质量取6000,比较优化前和优化后算法的时间效率,结果如(图5)所示。
纵轴单位为毫秒,表示压缩完成所需时间。可见,要处理的视频帧越大,优化后的算法取得的加速效果越明显。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4.2 增强PB帧模式压缩效果测试
分别取100帧三种不同格式(SUB-QCIP:88×72,QCIF:176×144,CIF:352×288)的视频帧,每20帧取1个关键帧,视频帧质量取6000,比较使用增强PB帧模式前和使用增强PB帧模式后算法的压缩效率,结果如(图6)所示。
纵轴为压缩比。要处理的视频帧越大,冗余信息越多,增强PB帧模式的压缩效果越明显。