H.264在手机视频监控系统中的应用浅析
2015-11-14刘鑫
刘鑫
摘要:H.264是目前最为主流的视频监控系统中使用的视频编码方式,尤其是手机视频监控中应用更为广泛,目前大部分的手机都直接支持H.264编码。该文主要分析H.264的优势及广泛使用的原因,为各种手机视频监控系统方案提供参考。
关键词:H.264;手机视频监控
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)22-0124-02
1 引言
随着手机技术的不断发展,手机视频监控已经成为视频监控的更为主流的方式。手机视频监控实效性强,随身携带手机客户端监控起来方便快捷。越来越多的手机视频监控系统中采用的都是H.264編码解码方式,市场应用范围广泛,可见其在编码解码方式上有一定的优势,下面我们来分析一下H.264的优势所在。
2 H.264在手机视频监控系统中的优势
H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的数字视频压缩格式。H.264是在MPEG-4的基础上建立起来的,但压缩效率比以前的MPEG-2标准提高了两倍左右。它的优势主要体现在以下几个方面:
2.1 高压缩率和高画面质量
能够实现在低带宽下得到高质量的画面是它最大的优势。
这点在手机视频监控应用中尤为重要,因为我国目前手机使用的带宽相对来说都比较低,能够最大程度上得到质量和速度的提升是市场应用上的关键。
在编码方式上,H.264有五种方式:
1)帧内预测编码:H.264提供九种模式进行16格像素宏块画面预测,它不同于以往的直接编码预测,而是对周边的宏块进行预测,对比实际值和预测值的差值进行编码,最大程度上减小了误码率。
2)帧间预测编码:H.264的运动补偿特性保留了以往大部分的关键点,又追加了更多的功能。除了支持P帧、B帧外,采用了一种新的流间传送帧模式-SP帧,它最主要的特性就是遇到画面类似但不同码率的码流时能够做到速度切换,并且可以做到随机播放和定点回放。
3)量化:H.264中的变换系数读出方式有两种,Zigzag扫描和双扫描,Zigzag扫描用于绝大部分的情况下,简单有效。双扫描是只有出现需要较小量化级块的情况才使用,最主要的作用是提高编码效率。H.264有多达52种的量化步长可供选择。
4)整数变换:H.264的空间变换用的是整数规则,这样就最大程度上避免了取舍误差问题。与浮点运算相比,整数DCT变换运算量少、复杂度低,利于定点DSP的转换。虽然整数DCT变换也有一些额外的误差,但因为DCT本身量化之后误差存在的必然性,所以较之浮点运算相比具有相当大的优势。
5)熵编码:H.264有通用可变长编码(UVLC)和二进制算术编码(CABAC)。其中CABAC是基于文本自适应模式的。UVLC的特点是简单快速,不管什么数据类型,全都用统一的变字长编码表,但这种方式的缺点就是一旦出现中高码率时就可能出现不太理想的效果。所以H.264还可以选择CABAC方法。CABAC方法是为了提高编码的效率,提高编码效率的关键是采用了不同的内容模型。在内容建模时,提供了编码符号的条件概率预估,使基本模型能适应随机帧画面的统计特性,提高了算术编码的效率。
由于H.264以上编码的优点,使它在低网络带宽和低存储空间的应用上具有非常大的优势,这也是中国目前网络环境造成的。
2.2 容错能力强
手机视频监控中,因为数据走的是无线信道,经常会产生误码丢包之类的传输错误,H.264在保留以往视频编码标准的基础上采用了很多新的技术,在保证图像质量的前提下,大大提高了容错能力。在这些新的技术中主要有灵活宏块顺序、冗余片和参数集三种。
1)灵活宏块排序(FMO):H.264把宏块分配给单独的片,每个片单独进行传输,一旦出现丢失包的情况,可以利用相邻的被正确接收的宏块进行映射,得到容错宏块,抑制错误扩散。ZIG-ZAG扫描使得编码效率和容错机制达到完美平衡,尤其是波浪式FMO,实际效果更好。
2)冗余片技术:H.264在同一数据流中,多放置一个或多个冗余信息宏块,如果出现丢包,可以用于数据镜像恢复。这样做虽然降低了编码效率,但却大大提高了数据安全性,提高了容错能力。
3)参数集:H.264中取消了原来数据流分成的序列、图像、片、宏块、子宏块五个层次中的前两个。把前两个层中的信息单独提取出来做成参数集,其它的数据放入第三个片层。参数集可以单独保护起来,需要里面的数据可以随时取出,从而提高了容错能力。
2.3 错误隐藏技术好
在无线数据传输过程中,经常会出现错误,对于错误数据包的处理H.264具有很强的适应性。实现差错隐藏的方法包括前向、后处理、交互式等等。H.264中最常采用的是基于解码器的后处理隐藏方法。如果按照作用域来划分,具体可以分为时域、频域和空域。对于帧内编码的解码过程如果有出错的宏块,它通常用空域算法,通过错误宏块前后相邻的正确宏块用双线内插方法得到宏块恢复。对于帧间编码就要参考运动矢量,如果很小时,就直接复制相邻正确帧的值,如果运动矢量出错时,要先利用相邻正确宏块计算出产生错误的运动矢量来得到正确的帧。本文的参考文献中还有作者提出了一些其它方法可供参考,包括:
(1) 基于方向性插值的空域差错隐藏算法;
(2) 基于残差恢复的错误隐藏算法;
(3) 时空混合非对称性隐藏算法;
(4) 结合数据嵌入的错误隐藏算法;
(5) 空时域自适应的误码掩盖算法。
2.4 网络适应能力强
H.264自身提供了网络抽象层(Network Abstraction Layer),所以使得H.264的数据流能在各种不同的网络上传输,如Internet、CDMA、GPRS等等,兼容性超高。
3 小结
本文简单介绍了H.264在无线视频监控系统应用当中的技术优势,在目前主流的视频监控系统中H.264占有很高的市场份额,可见其优势明显。但随着互联网技术,流媒体技术的不断发展,H.264也要不断的改进以适应市场的要求。