运动图像远程实时传输系统的网络传输部分架构在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 运动估计与运动补偿算法的优化
运动估计是指在参考帧中搜索一个与当前帧图像块最相似的图像块,即最佳匹配块,搜索结果用运动向量来表示。运动补偿是指利用参考帧和已求得的运动向量重构当前帧,把重构帧和当前帧的差值作为当前帧的补偿值进行压缩编码。两者互相配合,共同实现压缩效果。
运动估计算法的研究从两方面着手:快速搜索算法和块匹配准则。
最简单的搜索算法是全搜索法(fs),这种算法精度高,但计算量过于庞大。为了加快运算速度,保证精度,人们提出了很多快速搜索算法:三步法(tss)及基于三步法的改进算法、二维对数法(logs)、交叉搜索法(cs)、四步法(4ss)、预测搜索法(psa)、钻石搜索法(ds)等。钻石搜索法是迄今为止综合性能最优的快速搜索算法之一,用于本次项目研究中。
块匹配准则决定何时找到最佳匹配块,从而终止搜索进程。传统的准则有绝对平均误差函数(mae)、互相关函数(ccf)、均方误差函数(mse)、最大误差最小函数(mme)等。由于传统方法没有考虑人眼的视觉特性,所以判断结果和人眼的感知相差较大。实际h.263采用的块匹配准则为mse的替代准则sad(绝对差和),两者的公式如下:
其中:f0和f-1分别代表当前帧和重构帧(参考帧);k,l为待编码宏块在当前帧中的坐标;x,y为重构帧中参考宏块的坐标;n表示宏块的尺寸,此处为16。从公式中可见,sad用绝对值运算代替了mse的乘方运算,明显降低了运算量,从而可以加快计算速度。
测试表明,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%,压缩效果明显。在实际程序设计中,笔者配合传输环境测试模块,在网络带宽较低时实现这三种方式的配合使用,发挥了更大的压缩效率,达到更高的压缩比。
4 实验数据和性能分析
4.1 算法优化测试
分别取100帧三种不同格式(sub-qcif:88×72,qcif:178×144,cif:352×288)的视频帧,每20帧取1个关键帧,视频帧质量取6000,比较优化前和优化后算法的时间效率,结果如(图5)所示。
纵轴单位为毫秒,表示压缩完成所需时间。可见,要处理的视频帧越大,优化后的算法取得的加速效果越明显。
4.2 增强pb帧模式压缩效果测试
分别取100帧三种不同格式(sub-qcif:88×72,qcif:178×144,cif:352×288)的视频帧,每20帧取1个关键帧,视频帧质量取6000,比较使用增强pb帧模式前和使用增强pb帧模式后算法的压缩效率,结果如(图6)所示。
纵轴为压缩比。要处理的视频帧越大,冗余信息越多,增强pb帧模式的压缩效果越明显。
关于FPGA实现FIR抽取滤波器的设计的分析
晶振的负载电容和等效电阻的概念、作用以及计算方法
MUX VLAN技术的基本概念和配置举例
苹果为iPad设置具有横向前摄模组的专利?
使用的I/O地址如何更改过程映像区范围
运动估计与运动补偿的H.263压缩算法分析和优化研究
智能技术作为推动智慧医疗的动力 不断促进着新型医疗服务模式成长
赛灵思INT8优化为嵌入式视觉应用提供性能和计算方法
怎么样选择压力传感器的接头
华为Mate 10 Pro值得入手的五大理由
用LM317制作的纯甲类功放电路图及原理分析
裸眼3D显示市场处于爆发前期
realme X真机渲染图曝光:4800万像素+升降全面屏设计
大模型训练loss突刺原因和解决办法
连接到Wi-Fi 6上的CHIP设备将迎来爆炸式增长
人工智能与边缘计算对物联网发展有什么影响
录音摄像机作用简介
USB Type-C电源管理设计方案
iphone7之后小米6也要主打防水了,但要取消耳机插口这样的米6你还爱?
荣耀9什么时候上市最新消息:荣耀8直降200元,为即将发布的荣耀9让路