面向运动图像远程实时传输的H.263压缩方法的分析与优化
关键词:H.263 CIF DCT IDCT运动估计与运动补偿
运动图像远程实时传输系统的网络传输部分架构在Internet之上,则现阶段Internet的状况是带宽小、延迟大、不稳定。所以为了获得良好的实时传输效果,除了改善传输控制机制之外,还需要实现高压缩比、低耗时、能达到实时压缩和解压缩效果的运动图像压缩方法。H.263是国际电信协会-电信标准化部门ITU-T(The International Telecommunications Union-Telecom-munication Standardization Sector)于1995年通过的用于低比特率实时传输的视频编码协议。其设计初衷是满足带宽低于64kbps的低带宽视频应用需求,如视频会议、可视电话等。现在H.263也被应用于运动图像远程实时传输系统中,但原始的H.263在实时性和压缩比等方面还有不少可优化余地。本文针对具体的运动图像远程实时传输系统应用,在大量研究工作基础上提出多个H.263的优化策略,并取得了相当好的效果。
1 H.263压缩算法的分析概要
H.263的输入视频帧格式为QCIF(Quarter Common Intermediate Format,大小为176×144)、CIF(Common Intermediate Format,大小为352×288)等。将每个视频帧分成许多宏块(MB-Micro Block),每个宏块由4个Y亮度块、1个Cb色度块和1个Cr色度块组成。块(Block)的大小为8×8。H.263以宏块为单位进行视频帧的压缩。
H.263使用离散余弦变换DCT(Discrete Cosine Transform)减小空间冗余,使用运动估计和运动补偿(Motion Estimation and Motion Compensation)减小时间冗余。H.263有两种编码方式,一种是Intra方式,帧内编码,产生的帧作为关键帧-I帧;另一种是Inter方式,帧间编码,产生的帧作为非关键帧-P帧。
通过分析,将H.263压缩算法的流程图归纳为如图1所示。
通过分析和测试表明,DCT、运动估计和运动补偿是H.263最重要的部分,同时也是H.263实现中最耗时的运算环节。要提高H.263的运算速度,就要针对这些环节进行优化。
图1 H.263压缩算法流程图
2 转换函数、DCT和运动估计环节的优化
2.1 色彩空间转换函数的优化
CIF格式基于YUV色彩空间,而应用程序中,大多数视频采集程序只提供RGB色彩空间的视频帧,因此需要建立从RGB色彩空间到YUV色彩空间的转换函数。
RGB到YUV的转换函数如下所示,其中Y为YUV色彩空间的亮度值,U(Cb)和V(Cr)为YUV色彩空间的色度值。
Y=0.299×R+0.587×G+0.114×B;
Cr=V=(R-Y)×127/179;
Cb=U=(B-Y)×127/226;
H.263原有的色彩空间转换算法采用浮点运算,但浮点运算会消耗较多的CPU周期。为了加快视频处理速度,采用整形乘法和向右移位来代替浮点乘除,从而有效缩短了转换时间。
优化后的转换函数如下:
Y=((R×313524)>>20)+((G×615514)>>20)×((B×119538)>>20);
Cr=V=((R-Y)×743962))>>20;
Cb=U=((B-Y)×589244))>>20;
2.2 DCT、IDCT算法的优化
二维DC
《面向运动图像远程实时传输的H.263压缩方法的分析与优化》