低码率高清摄像机码率和卡问题設计与实现
码率低于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成为我们的不二的选择
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的方式,可以大大减少画面中不关注细节部分的编码码流同时又不会危害到画面中的监控对象画面,这是降低码流的一个重要环节
智能分析是指对图像进行分析,主要有两个功能:运动分析和图像区域分析运动分析是为了获得视频中的运动物体,如人和车辆等物体分析结果可以进一步用于入侵检测等告警规则;图像区域分析是实现QP分配的基础条件,分析结果是获得运动区域和静止区域的分布通常静止区域都是一些背景区域,这些区域可以在H.264编码过程中应用较大的QP值达到减小码率的目的。
7、应用码率智能自适应控制
3G网络的实时有效带宽处于一个不断变化的波动状态及时有效地匹配视频输出码率和實时可用带宽,可以提高网络传输效率从而在相同条件下为客户端提供更好质量的视频码流。网络实时带宽是不可预知因素考虑到瞬間的带宽抖动不会对通信造成实质影响,我们只需要针对作用时间较长的慢速抖动进行处理可以预设一个基本带宽参数,然后检测码流發送过程中的TCP的拥塞状态据此进行修正,作为实时带宽的近似值
场景内容(包括环境光线条件)的变化是引起码率主动变化的主要因素,洏码率适应过程则是需要动态调整若干参数这些参数包括:视频帧率、量化参数QP、视频滤波强度、图像锐化强度和图像分析灵敏度等,汾别分布在ISP、智能分析、H.264编码等多个处理环节每个参数对码率的影响不同,需要调整哪些参数以及调整的幅度,需要一个比较复杂的控制策略来实现这个过程就是码率智能自适应控制。码率自适应控制需要较高的实时性;另外为了保证码率变化的平滑过渡,参数调整过程也需要进行渐变过渡这样才能获得较佳的视觉效果。
目前网络摄像机码率和卡问题基本上都采用单芯片的解决方案,可供选择嘚主要包括ASIC和FPGA传统高清摄像机码率和卡问题大多采用ASIC芯片厂商提供的摄像机码率和卡问题解决方案,所以这些摄像机码率和卡问题都不能实现低码流高清为了实现低码流高清,可采用FPGA方案该方案具有并行处理机制能带来实时性和高性能,而且设计灵活便于实现低码率目标所需要的全部处理过程。
通过以上分析 低码率高清摄像机码率和卡问题在手机监控应用有着现实的意义,技术上也完全可行我們已经使用单片altera的CYCLONE
IV(EP4CE115)作为主芯片,实现了低码率高清摄像机码率和卡问题(GlobalEagle)的最大分辨率和帧率是×25fps平均码率小于512Kbps。随着FPGA工艺的进步FPGA的资源越来越多,运动宏块的预测可以做到越来越准确编码码流会越来越少,下一步我们准备用CYCLONE V来实现×25fps的平均码率小于1024Kbps的低码率高清摄像機码率和卡问题