位置:51电子网 » 技术资料 » 音响技术

运动图像远程实时传输H.263压缩方法分析/优化

发布时间:2008/5/28 0:00:00 访问次数:582

摘要:h.263是面向运动图像远程实时传输的压缩方法。基于大量实际研究,分析了h.263的算法流程,从色彩空间转换函数、dct、idct、运动估计和估计和运动补偿等多方面提出并实现对h.263的优化策略,采用增强pb帧模式提高压缩比,最后给出了定量测试结果。

关键词:h.263 cif dct idct运动估计与运动补偿

运动图像远程实时传输系统的网络传输部分架构在internet之上,而现阶段internet的状况是带宽小、延迟大、不稳定。所以为了获得良好的实时传输效果,除了改善传输控制机制之外,还需要实现高压缩比、低耗时、能达到实时压缩和解压缩效果的运动图像压缩方法。h.263是国际电信协会-电信标准化部门itu-t(the international telecommunications union-telecommunication 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的运算速度,就要针对这些环节进行优化。

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算法的优化

二维dct公式为:

通过分析得出,dct快速算法的实现可以有两种方式。一种方法是把已有的快速变换算法(如fft、fht等)映射到dct计算中,这种方式多了一个映射环节,增加了计算的复杂度;另一种方法是从dct变换本身寻找规律进行改进。

在h.263应用中,注意到两条规律:一是能量集中在少部分dct系数上;二是随着量化步长的增大,被量化为零的dct系数增多,而且对dct计算的精度要求降低。于是,采用一种零系数预测策略,即根据量化步长,首先对dct变换的输入数据分类,对于给定的量化步长,如果输入数据将要被量化为0,那么这些数据就不必做dct运算,而直接将变换结果置为0。这样只需对部分数据进行dct变换,因此节省了大量无效运算。另外,利用dct的局部并行性,使用intel的多媒体处理指令集-mmx来实现dct计算,大幅度提高了运算速度。

2.3 运动估计与运动补偿算法的优化

运动估计是指在参考帧中搜索一个与当前帧图像块最相似的图像块,即最佳匹配块,搜索结果用运动向量来表示。运动补偿是指利用参考帧和已求得的运动向量重构当前帧,把重构帧和当前帧的差值作为当前帧的补偿值进行压缩

摘要:h.263是面向运动图像远程实时传输的压缩方法。基于大量实际研究,分析了h.263的算法流程,从色彩空间转换函数、dct、idct、运动估计和估计和运动补偿等多方面提出并实现对h.263的优化策略,采用增强pb帧模式提高压缩比,最后给出了定量测试结果。

关键词:h.263 cif dct idct运动估计与运动补偿

运动图像远程实时传输系统的网络传输部分架构在internet之上,而现阶段internet的状况是带宽小、延迟大、不稳定。所以为了获得良好的实时传输效果,除了改善传输控制机制之外,还需要实现高压缩比、低耗时、能达到实时压缩和解压缩效果的运动图像压缩方法。h.263是国际电信协会-电信标准化部门itu-t(the international telecommunications union-telecommunication 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的运算速度,就要针对这些环节进行优化。

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算法的优化

二维dct公式为:

通过分析得出,dct快速算法的实现可以有两种方式。一种方法是把已有的快速变换算法(如fft、fht等)映射到dct计算中,这种方式多了一个映射环节,增加了计算的复杂度;另一种方法是从dct变换本身寻找规律进行改进。

在h.263应用中,注意到两条规律:一是能量集中在少部分dct系数上;二是随着量化步长的增大,被量化为零的dct系数增多,而且对dct计算的精度要求降低。于是,采用一种零系数预测策略,即根据量化步长,首先对dct变换的输入数据分类,对于给定的量化步长,如果输入数据将要被量化为0,那么这些数据就不必做dct运算,而直接将变换结果置为0。这样只需对部分数据进行dct变换,因此节省了大量无效运算。另外,利用dct的局部并行性,使用intel的多媒体处理指令集-mmx来实现dct计算,大幅度提高了运算速度。

2.3 运动估计与运动补偿算法的优化

运动估计是指在参考帧中搜索一个与当前帧图像块最相似的图像块,即最佳匹配块,搜索结果用运动向量来表示。运动补偿是指利用参考帧和已求得的运动向量重构当前帧,把重构帧和当前帧的差值作为当前帧的补偿值进行压缩

相关IC型号

热门点击

 

推荐技术资料

基准电压的提供
    开始的时候,想使用LM385作为基准,HIN202EC... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!