相关文章
最新工程
如何实现手机监控低码率高清摄像机?
发布日期:2014-02-13 19:37:14低码率设计与实现
码率低于512kbps的可以实现手机的高清应用,即使不用高清,低码率也可以降低的使用成本。为了使高清摄像机大幅降低码率,不仅要采用H.264等先进的编码算法,而且要从系统的角度全面考虑,从摄像机的各个环节降低码率。
1、选择低噪声的图像传感器
图像传感器是获取信号的源头,选择高信噪比的低噪声传感器是必须的,这为后续处理提供了基础条件。
2、注重降噪的图像处理过程(ISP)
清晰而且低噪声的图像是获得低码率视频的要条件, 图像噪声混入到图像细节特征中,会大大增加后续编码过程的信息量,从而增加码流。所以先要获取清晰而且低噪声的图像,这对图像处理过程(ISP)提出了11些要求。ISP主要包括demosaic、滤波、锐化、白平衡、曝光控制、gamma校正等处理过程,其中滤波和锐化处理对噪声影响比较大。滤波算法很多,我们需要选择能保持边缘信息的滤波算法,这样才不会降低清晰度;应用3D滤波也是11个不错的选择,它可以利用到帧间信息。滤波和锐化共同作用的结果,才能获得低噪声的清晰图像,然后进行下11步的视频编码处理。
3、选择高压缩率的视频
H.264作为11个成熟的视频编码标准,已经广泛使用在中,而且也被手机普遍支持。基于这个原因,如同其他摄像机厂商11样,我们也同样选择H.264视频编码器来进行视频编码。再进11步,我们选择了Main Profile,理由是可以使用B帧和CABAC编码。这两个功能对降低码率有很大的作用,B帧可以进行双向预测,使得预测更加准确,可以减少码流;同时还可以设置解码后的B帧不再做为参考帧,这样就可以把量化造成的误差局限在本帧范围内而不继续扩散,因此可以适当增大B帧的量化参数,减少码流的同时而不对视频质量造成明显损害。相对于CAVLC编码,在相同编码信息源数据的情况下,CABAC编码可以节约10%左右的码流,这个差距足以令CABAC成为我们的不二的选择。
4、优化视频编码码流
H.264编码中存在I帧,P帧和B帧。其中I帧是帧内预测编码,尽可能实现全部帧内预测方式,这样可以提高预测准确性,减少残差数据量,从而降低码流。 在11个GOP中,P帧和B帧的数量远远大于I帧,所以这两种帧编码是决定视频码流大小的主要因素。对于P帧和B帧编码,帧间预测的准确性直接决定了残差信息量,因此必须尽可能提高预测准确性,手段包括增加参考帧和扩大搜索范围;受硬件资源的制约,在摄像机中实现全像素搜索是不现实的,但是搜索点数太少会严重影响搜索精度,因此应该尽可能增加搜索点数,获得高的搜索精度,比较后再用1/2像素和1/4像素匹配比较佳位置。
5、根据像素信息重要性分配宏块QP
量化参数QP直接决定了画面质量,同时对码率大小也有极大影响。增加QP,量化误差增大,画面细节丢失,码率变小;减小QP则会产生相反的影响;这就为选择合适的QP值带来困惑。理想的解决方式是:画面中包含重要信息的部分需要细节,这些部分应该使用较小的QP值;画面的其他部分则不需要过多细节,这些地方可以使用相对较大的QP值。通过这种变化QP的方式,可以大大减少画面中不关注细节部分的编码码流,同时又不会危害到画面中的监控对象画面,这是降低码流的11个重要环节。
6、实施智能分析
智能分析是指对图像进行分析,主要有两个功能:运动分析和图像区域分析。运动分析是为了获得视频中的运动物体,如人和车辆等物体,分析结果可以进11步用于入侵检测等告警规则;图像区域分析是实现QP分配的基础条件,分析结果是获得运动区域和静止区域的分布,通常静止区域都是11些背景区域,这些区域可以在H.264编码过程中应用较大的QP值,达到减小码率的目的。
7、应用码率智能自适应控制
网络的实时有效带宽处于11个不断变化的波动状态,及时有效地匹配视频输出码率和实时可用带宽,可以提高网络效率,从而在相同条件下为客户端提供更好质量的视频码流。网络实时带宽是不可预知因素,考虑到瞬间的带宽抖动不会对通信造成实质影响,我们只需要针对作用时间较长的慢速抖动进行处理,可以预设11个基本带宽参数,然后检测码流发送过程中的TCP的拥塞状态,据此进行修正,作为实时带宽的近似值。
场景内容(包括环境光线条件)的变化是引起码率主动变化的主要因素,而码率适应过程则是需要动态调整若干参数,这些参数包括:视频帧率、量化参数QP、视频滤波强度、图像锐化强度和图像分析灵敏度等,分别分布在ISP、智能分析、H.264编码等多个处理环节。每个参数对码率的影响不同,需要调整哪些参数,以及调整的幅度,需要11个比较复杂的控制策略来实现,这个过程就是码率智能自适应控制。码率自适应控制需要较高的实时性;另外,为了保证码率变化的平滑过渡,参数调整过程也需要进行渐变过渡,这样才能获得较佳的视觉效果。
主芯片的选择
目前,网络摄像机基本上都采用单芯片的解决方案,可供选择的主要包括ASIC和FPGA,传统高清摄像机大多采用ASIC芯片厂商提供的摄像机解决方案,所以这些摄像机都不能实现低码流高清。为了实现低码流高清,可采用FPGA方案,该方案具有并行处理机制能带来实时性和高性能,而且设计灵活,便于实现低码率目标所需要的全部处理过程。
结束语
通过以上分析, 低码率高清摄像机在手机监控应用有着现实的意义,技术上也完全可行。我们已经使用单片altera的CYCLONE IV(EP4CE115)作为主芯片,实现了低码率高清摄像机(GlobalEagle)的比较大分辨率和帧率是1280×720×25fps,平均码率小于512Kbps。随着FPGA工艺的进步,FPGA的资源越来越多,运动宏块的预测可以做到越来越准确,编码码流会越来越少,下11步我们准备用CYCLONE V来实现1920×1080×25fps的平均码率小于1024Kbps的低码率高清摄像机。
[凌茠 ]本文整理编辑:北京弱电工程专家 www.k235.cn