基于视频运动复杂度的自适应FMO算法研究

2013-09-19 10:29张正华刘国澍
电子设计工程 2013年2期
关键词:误码码率解码

张正华, 许 晔 , 刘国澍, 徐 翔, 苏 权

(1.扬州大学 信息工程学院,江苏 扬州 225127;2.扬州国脉通信发展有限责任公司 江苏 扬州 225002;3.扬州市公安局交通巡逻警察支队 江苏 扬州 225007)

智能交通的信息采集系统主要由线圈检测器、车辆通行的RFID电子信息卡、视频等组成。如果只用线圈检测器或者RFID卡检测交通流量,只能检测到某个路口的流量信息,而不能判断某个区域中的交通拥堵情况,通过视频采集的交通图像,可以反映出某个区域的整体交通情况。但在道路上视频数据传输的环境比较恶劣,如路口的视频图像通过无线信道传输到路口的工控机,若使用现有的算法,则工控机接收到的视频数据不太理想,因此针对如何改善在带宽较窄、误码率高的信道中传输的视频图像质量进行研究。

ITU和ISO联合制定的H.264/AVC标准通过各种编码工具提供高效编码,同时提供了一系列容错工具,改善不可靠信道上传送视频码流的可靠性[1-2]。FMO是H.264中引进的新机制,通过在视频帧中分散传输差错引起的失真,结合适当的差错隐藏技术,减小丢包等传输差错的视觉影响,是一种有效的容错机制[3-5]。文献[6]为进一步增强在不可靠信道上传输视频的鲁棒性,提出了在运动向量搜索的率失真优化框架下,结合灵活宏块排列容错机制,对差错隐藏失真进行优化。文献 [7]综合FMO与非同等差错保护 (Unequal Error Protection),给予图像中的重要区域(region of interest)更好的保护,但这同时也带来了如何确定重要区域的问题;文献[8]则根据宏块对差错隐藏的重要性,利用FMO机制将宏块划分为一个重要组和一个次要组;文献[9]对7种FMO编码模式的性能做了详细的比较,在编码效率和解码质量之间各有所长,最主要的模式有3个:分别是FMO模式0、FMO模式1和FMO模式2,如何充分利用这3种模式间的优势,弥补他们的缺点,达到最佳的效果是我们接下来需要讨论的重点。

视频图像的编码码流具有很大的不确定性,它依赖于视频图像之间的运动相关性,如每帧交通视频图像中的运动目标,都与前一帧图像中的运动目标有一定的相关性,即便把码流限定在某一固定值,它也会围绕固定值上下波动。无线传输系统中,信道带宽是相当有限的,而视频图像的内容一般我们又不能限制它,如交通视频图像中的内容是经常变化的。而解决这个问题前人想出了码率控制算法来解决问题,而经典的码率控制算法就有TM5、TMN8、VM8等多种。笔者将码率控制和抗误码能力二者结合起来考虑,使编码器既能控制码率的稳定,又能兼顾容错编码的抗误码能力,这对带宽窄、误码高的无线信道中非常的适用。

1 基于图像运动复杂度的自适应FMO编码

为了在编码码率和抗误码能力之间有一个平衡,笔者利用一帧中预测模式的选择来判断当前帧的运动复杂度,根据复杂度自适应的选择编码所需的FMO模式。在图像运动剧烈时一帧图像的帧间预测模式中小宏块分割在当前帧中所有分割模式中所占比例会急剧上升,程序自动调整使用编码效率高的FMO编码模式,暂时性降低抗误码能力,反之亦然。

在帧间预测中有7种不同的块尺寸来进行运动估计/补偿(16×16,16×8,8×16,8×8,8×4,4×8,4×4)。 小宏块的分割方式使得图像更加的细腻和清晰,但同时也带来了编码复杂度的增加,增加了硬件的实现复杂度。在实验中为了减少编码时间,降低运算复杂度,笔者使用了4种不同的块尺寸(16×16,16×8,8×16,8×8)来进行帧间预测,减少编码时间。 分别用stat->mode_use[P_SLICE][P16×16]、stat->mode_use[P_SLICE][P16 ×8]、stat->mode_use[P_SLICE][P8 ×16]、stat->mode_use[P_SLICE][P8×8]、stat->mode_use[P_SLICE][P4×4]来表示。

使用 slice_group_map_type 标记帧间预测模式,a、b、c、d、e分别表示对应4种块尺寸的加权系数,i表示图像运动复杂度。那么图像运动复杂度i可以表示为:

为了判断当前帧的FMO模式的选择,以当前图像运动复杂度为依据,设置两个阈值 Vth1、Vth2(Vth1Vth2时选择抗误码能力强的FMO模式2。

2 自适应FMO选择算法优化步骤及其流程图

经过以上分析,文中算法步骤总结如下:

1)首先检测当前一帧图像的帧间预测模式,分别记录16×16、16×8、8×16 和 8×8、4×4 5 种分割模式在一帧图像中的个数。

2)根据得到的5种分割模式在一帧图像中的多少计算当前图像的运动复杂度i的值。

3)设置运动复杂度的两个阈值Vth1、Vth2,当iVth1或 i=Vth1 时跳向(4);

4)判断i是否大于Vth2,如果是则调用FMO模式2进行 FMO的初始化,然后跳向(6);否则跳向(5);

5)调用FMO模式0进行FMO的初始化,然后跳向(6);

6)根据FMO初始化得到的模板进行编码;

算法流程图如图1所示。

图1 自适应FMO优化算法流程图Fig.1 Flow chart of the adaptive FMO optimization algorithm

3 仿真测试及分析

为了分析笔者提出的自适应FMO方法的可行性,文中使用了标准测试序列Forman、Slice、hall和grandma对算法进行了测试,将无FMO、FMO模式0、FMO模式1、FMO模式2和提出的自适应FMO方法做性能的比较。

从表1可以看出,foreman序列的码率最大,这是因为foreman序列运动复杂并且有镜头抖动,残差较大,编码效率较低;grandma序列背景简单并且只有人物头部有轻微的运动,残差较小,编码效率最高。其他序列其次。同一序列在不同FMO模式下也有明显的差别,FMO模式1码率最大,效率最低,这一点早得到前人的证明。同时我们也可以看出本文提出的自适应FMO模式的效率介于FMO模式0和无FMO之间,这是因为自适应模式的选择是在3种FMO模式中根据图像运动复杂度自适应的选择。从图2可以看出客观效果图。

表1 不同的QCIF序列在不同FMO情况下的编码总比特率(kb/s)Tab.1 Total encoding bit rate of different QCIF sequence in different FMO case (kb/s)

从表2可以看出,4种测试序列在各种编码模式下编码后图像质量差别很小,几乎没有变化。说明编码模式的选择对图像编码后的图像影响可以忽略不计。这从图3可以更清晰地看出,在该图中肉眼几乎无法分辨这些图像间的微小差别。

从表3中可以看出文中的自适应FMO编码模式所花费的时间最长,这是因为文中的自适应FMO编码模式算法相对复杂,在FMO初始化之前先进行了一遍帧间预测模式选择的过程,得到各分割模式的数量,接着计算出当前图像的运动复杂度,自适应地产生初始化模版,然后进行正常的编码过程。增加了运算的复杂度,从而增加了编码过程中的时间。

图2 不同的QCIF序列在不同FMO情况下的编码总比特率 (kb/s)Fig.2 Total encoding bit rate of different QCIF sequence in different FMO case (kb/s)

表2 不同QCIF序列在不同FMO情况下编码的Y分量平均信噪比(SNR/dB)Tab.2 Encoded Y component of the average signal-to-noise ratio of different QCIF sequence in different FMO case (SNR/dB)

图3 不同QCIF序列在不同FMO情况下编码后图像主观质量Fig.3 Coding frame subjective quality of different QCIF under different FMO

表3 不同QCIF序列在不同FMO情况下所用的编码时间(T/s)Tab.3 Coding time of different QCIF under different FMO(T/s)

从表4中可以看出运动复杂度低的grandma序列解码后信噪比比较高,那是因为运动复杂度低的图像更有利于空间隐藏,提高了隐藏效果;运动复杂度高的foreman序列解码后信噪比比较低,因为运动变化比较大,图像间的相关性大大降低,隐藏效果自然不如运动复杂度低的视频序列。对同一序列而言,使用自适应FMO编码方法解码出来的图像质量适中。

表4 不同QCIF序列在不同FMO情况下解码后图像质量(SNR/dB)Tab.4 Decoding frame quality of different QCIF under different FMO (SNR/dB)

图4 不同QCIF序列在不同FMO情况下解码后图像质量(SNR/dB)Fig.4 Decoding frame quality of different QCIF under different FMO (SNR/dB)

为了更加直观地反映解码后图像的重建效果,我们截取slice测试序列,在不同FMO模式下的解码后图像主观质量做一个对比。

从上面的仿真数据可以看出,利用图像帧间编码预测模式中的5种分割的数量,反映当前图片的运动复杂度,根据固定的计算公式计算出图像的运动复杂度,然后判断图像的复杂度来使用不同的FMO模式进行编码是完全可行的,效果是好的,尤其在运动复杂度变化比较频繁和剧烈的时候该方法的效果更明显。有效地平衡了编码效率和抗误码能力在编码中的应用,提高了编码码率的恒定性,尤其在带宽有限且高误码的无线信道中该方面更适合使用。

图5 slice序列解码后原始图像、无FMO、FMO各模式图像主观质量Fig.5 Subjective image quality of the decoding slice sequence of original image,no FMO,the each mode of FMO

4 结束语

文中将帧间预测模式选择与FMO结合起来,提出了一种自适应FMO编码方法,根据图像的复杂度自适应的选择编码所需的FMO模式。仿真结果表明这种FMO编码方式完全可行,且有效地平衡了编码效率和抗误码能力的矛盾。利用此方法实现智能交通系统中视频图像的传输将是下一步的工作,进一步地证明FMO编码方式可使用于环境恶劣的无线信道中。

[1]毕厚杰.新一代视频压缩编码标准H.264/AVC[M].北京:人民邮电出版社,2005.

[2]沈兰荪,卓力.小波编码与网络视频传输[M].北京:科学出版社,2005.

[3]Wenger S.H.264/AVC over IP[J].IEEE Trans Cir Syst Video Technol,2003,7(13):645-656.

[4]Wenger S,Horowitz M.Scattered slices:a new error resilience tool for H.26L,JVT-B027[S].2002-02.

[5]马宇峰,魏维,杨科利.视频通信中的错误隐藏技术[M].北京:国防工业出版社,2007.

[6]谢治平,郑更生.一种基于FMO的H.264容错编码[J].计算机工程与应用,2006(31):200-203.

XIE Zhi-ping,ZHENG Geng-sheng.H.264 error resilient coding scheme based on flexible macroblock ordering[J].Computer Engineering and Applications,2006(31):200-203.

[7]Hannuksela M M,Wang Y K,Gabbouj M.Isolated regions in video coding[J].IEEE Trans Multimedia,2004,6(2):259-267.

[8]Im S K,Pearmain A J.Unequal error protection with the H.264 flexible macroblock ordering[C]//Beijing:Proc SPIE VCIP,2005:1033-1040.

[9]万里晴,李学明.H.264的差错控制与错误隐藏技术研究[J].计算机工程与应用,2007,43(16):53-57.

WAN Li-qing,LI Xue-ming.Error control and error concealment techniques used in H.264[J].Computer Engineering and Applications,2007,43(16):53-57.

猜你喜欢
误码码率解码
《解码万吨站》
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
解码eUCP2.0
ZPW-2000A电码化轨道电路误码问题分析及解决方案
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于状态机的视频码率自适应算法
一种基于CAN总线的误码测试方法
多支路两跳PF协作系统的误码性能