智能手机监控(以下简称手机监控)相对于传统监控最大的特点就是“AnyTime、AnyWhere、AnyDevice”(任何时间、任何地点、任何设备),实现手机监控的三大要数是智能手机、摄像机和3G网络。摄像机和智能手机是手机监控的前后端,摄像机通过有线或者3G网络和互联网连接,智能手机通过3G网络和互联网连接,从而形成摄像机和智能手机的视频信号通道连接,下面分别探讨这三大要素目前的状况以及在手机监控中实现高清视频的可能性。
智能手机和3G网络现状
2013年7月,工信部发布了《2013年上半年电信业统计分析》,文中指出:“3G移动电话用户净增8606.6万户,超过去年全年净增量80%,总数达3.19亿户”,从这些数字可以看出3G用户数量发展迅猛。如此庞大的基数,为通过3G网络部署的手机监控应用提供了广泛的
用户基础;同时,以ios和android操作系统为代表的智能手机和平板电脑也迅速普及,主流智能手机的屏幕分辨率也发展到了如今的1280×720,甚至出现了1920×1080这样的全高清分辨率,这使得智能手机完全可以支持高清分辨率的视频应用;使用这些便携智能终端,加上3G网络的支撑,用户可以随时随地地观看来自任何地点摄像机的监控视频,这种的便捷性会大大促进手机监控应用的发展。
在基于IP网络的监控系统中,网络摄像机作为视频信息的采集者直接决定了监控系统中视频信息量。目前, 高清摄像机已经被普遍应用在监控系统中,对于摄像机来讲,更高的分辨率,就可以提供了更多的细节特征或者更大的视野范围,这些对于监控应用无疑是有利的。从安防监控摄像机的发展来看,主流分辨率经历了CIF、D1到现在的百万像素、二百万像素甚至五百万像素,这样的一个发展过程充分体现了监控应用对高分辨率的不断追求。以前制约手机监控应用中使用高清分辩率的主要技术障碍就是无线网络带宽不足和手机屏幕分辨率过低,而随着智能手机和3G网络的发展,智能手机已经完全能胜任高清视频的显示,无线网络带宽也比2G时代有了很大的提高,手机监控的高清应用将破茧而出。
低码率高清摄像机设计与实现
通过上面的探讨可以知道码率低于512kbps的高清摄像机可以实现手机监控的高清应用,即使不用高清,低码率也可以降低手机监控的使用成本。为了使高清摄像机大幅降低码率,不仅要采用H.264等先进的编码算法,而且要从系统的角度全面考虑,从摄像机的各个环节降低码率。
1、选择低噪声的图像传感器
图像传感器是获取视频信号的源头,选择高信噪比的低噪声传感器是必须的,这为后续处理提供了基础条件。
2、注重降噪的图像处理过程(ISP)
清晰而且低噪声的图像是获得低码率视频的首要条件, 图像噪声混入到图像细节特征中,会大大增加后续编码过程的信息量,从而增加码流。所以首先要获取清晰而且低噪声的图像,这对图像处理过程(ISP)提出了一些要求。ISP主要包括demosaic、滤波、锐化、白平衡、曝光控制、gamma校正等处理过程,其中滤波和锐化处理对噪声影响最大。滤波算法很多,我们需要选择能保持边缘信息的滤波算法,这样才不会降低清晰度;应用3D滤波也是一个不错的选择,它可以利用到帧间信息。滤波和锐化共同作用的结果,才能获得低噪声的清晰图像,然后进行下一步的视频编码处理。
3、选择高压缩率的视频编码器
H.264作为一个成熟的视频编码标准,已经广泛使用在网络摄像机中,而且也被智能手机普遍支持。基于这个原因,如同其他摄像机厂商一样,我们也同样选择H.264视频编码器来进行视频编码。再进一步,我们选择了Main Profile,理由是可以使用B帧和CABAC编码。这两个功能对降低码率有很大的作用,B帧可以进行双向预测,使得预测更加准确,可以减少码流;同时还可以设置解码后的B帧不再做为参考帧,这样就可以把量化造成的误差局限在本帧范围内而不继续扩散,因此可以适当增大B帧的量化参数,减少码流的同时而不对视频质量造成明显损害。相对于CAVLC编码,在相同编码信息源数据的情况下,CABAC编码可以节约10%左右的码流,这个差距足以令CABAC成为我们的不二的选择。
4、优化视频编码码流
H.264编码中存在I帧,P帧和B帧。其中I帧是帧内预测编码,尽可能实现全部帧内预测方式,这样可以提高预测准确性,减少残差数据量,从而降低码流。 在一个GOP中,P帧和B帧的数量远远大于I帧,所以这两种帧编码是决定视频码流大小的主要因素。对于P帧和B帧编码,帧间预测的准确性直接决定了残差信息量,因此必须尽可能提高预测准确性,手段包括增加参考帧和扩大搜索范围;受硬件资源的制约,在摄像机中实现全像素搜索是不现实的,但是搜索点数太少会严重影响搜索精度,因此应该尽可能增加搜索点数,获得高的搜索精度,最后再用1/2像素和1/4像素匹配最佳位置。
5、根据像素信息重要性分配宏块QP
量化参数QP直接决定了画面质量,同时对码率大小也有极大影响。增加QP,量化误差增大,画面细节丢失,码率变小;减小QP则会产生相反的影响;这就为选择合适的QP值带来困惑。理想的解决方式是:画面中包含重要信息的部分需要细节,这些部分应该使用较小的QP值;画面的其他部分则不需要过多细节,这些地方可以使用相对较大的QP值。通过这种变化QP的方式,可以大大减少画面中不关注细节部分的编码码流,同时又不会危害到画面中的监控对象画面,这是降低码流的一个重要环节。
6、实施智能分析
智能分析是指对图像进行分析,主要有两个功能:运动分析和图像区域分析。运动分析是为了获得视频中的运动物体,如人和车辆等物体,分析结果可以进一步用于入侵检测等告警规则;图像区域分析是实现QP分配的基础条件,分析结果是获得运动区域和静止区域的分布,通常静止区域都是一些背景区域,这些区域可以在H.264编码过程中应用较大的QP值,达到减小码率的目的。
7、应用码率智能自适应控制
3G网络的实时有效带宽处于一个不断变化的波动状态,及时有效地匹配视频输出码率和实时可用带宽,可以提高网络传输效率,从而在相同条件下为客户端提供更好质量的视频码流。网络实时带宽是不可预知因素,考虑到瞬间的带宽抖动不会对通信造成实质影响,我们只需要针对作用时间较长的慢速抖动进行处理,可以预设一个基本带宽参数,然后检测码流发送过程中的TCP的拥塞状态,据此进行修正,作为实时带宽的近似值。
场景内容(包括环境光线条件)的变化是引起码率主动变化的主要因素,而码率适应过程则是需要动态调整若干参数,这些参数包括:视频帧率、量化参数QP、视频滤波强度、图像锐化强度和图像分析灵敏度等,分别分布在ISP、智能分析、H.264编码等多个处理环节。每个参数对码率的影响不同,需要调整哪些参数,以及调整的幅度,需要一个比较复杂的控制策略来实现,这个过程就是码率智能自适应控制。码率自适应控制需要较高的实时性;另外,为了保证码率变化的平滑过渡,参数调整过程也需要进行渐变过渡,这样才能获得较佳的视觉效果。
通过以上分析, 低码率高清摄像机在手机监控应用有着现实的意义,技术上也完全可行。我们已经使用单片altera的CYCLONE IV(EP4CE115)作为主芯片,实现了低码率高清摄像机(GlobalEagle)的最大分辨率和帧率是1280×720×25fps,平均码率小于512Kbps。随着FPGA工艺的进步,FPGA的资源越来越多,运动宏块的预测可以做到越来越准确,编码码流会越来越少,下一步我们准备用CYCLONE V来实现1920×1080×25fps的平均码率小于1024Kbps的低码率高清摄像机。