IP 视频的比特率控制

三月, 2023

概述

比特率控制器能够跟踪编码视频的比特率,判断是否需要精简。可以根据视频系统的带宽和存储容量,采用不同的比特率策略来得到合适的比特率。本白皮书介绍并比较了安讯士网络视频产品中常用的三种策略(或称为比特率控制方法):ABR、VBR和MBR。CBR(恒定比特率)方法在其他厂家的网络视频产品中应用较广,因此在附录中进行了简单介绍。

  • ABR(平均比特率)是一种复杂的比特率控制方案,旨在改善视频质量,同时又将存储需求控制在系统的限制范围内。虽然主要目的是节省带宽,但ABR方法也能够针对时间推移预留比特率预算——为视频流规划一定的存储空间,而ABR控制器调整视频质量,从而使整个视频流适配该预算。

    由于ABR不断监视当前比特率,因此摄像机可跟踪存储空间占用量,并持续应用比特率预算,从而保障整个时段内的理想视频质量。早先(较闲置)时段中未使用的存储空间可用于在后续(较繁忙)的时段中保持高视频质量,同时也可以相应地应用比特率预算。ABR适用于未规划暂停时段的持续录像流。软件版本不低于9.40且基于ARTPEC的安讯士产品支持这种方法,在这些产品中,ABR是Zipstream的理想补充。

  • VBR(可变比特率)是较简单的比特率控制策略。虽然它能够提供恒定且可靠的视频质量,但也有一个重大缺点,即,难以预测存储需求。场景中的运动或其他事件可能导致视频流大小和比特率显著增大,因此使用VBR的系统就必须针对这样的情形预留相当大的存储空间。

  • MBR(最大比特率)策略不受视频场景复杂度的影响,能够保证比特率保持在指定值以下。虽然允许比特率短暂超限,但MBR能够保证平均比特率保持在较低水平。比特率限制未考虑图像质量受到的影响,因此通常会导致总体图像质量降低。实际比特率与比特率限值之间的偏差越大,细节丢失风险也就越高。如果精心选择比特率限值,MBR能够有效保护系统免于产生不必要的峰值比特率,同时避免因存储空间限制或网络连接不良而导致的数据丢失。

如果存储空间、网络和VMS的容量都有限,那么建议采用VBR,因为它提供的视频质量更好。在容量有限的系统中,通过精心选择压缩率以及指定高比特率限值的MBR,也可以保持较高的视频质量。但在大多数情况下,配置了MBR限值的ABR可能是较理想的选择。即使在不断变化的场景条件下,这种组合也能够保持理想的视频质量,如果MBR限值足够高,也可以发布比特率降低通知。

引言

比特率控制器能够跟踪编码视频的比特率,判断是否需要精简。可以根据视频系统的带宽和存储容量,采用不同的比特率策略来得到合适的比特率。

本白皮书介绍并比较了安讯士网络视频产品中使用的比特率控制方法:ABR、VBR和MBR。我们讨论并比较了这些方法在不同场景类型下的适用性,并介绍了可能对每种方法的效率造成影响的参数。CBR(恒定比特率)在其他厂家的网络视频产品中应用较广,因此在附录中进行了简单介绍。

背景知识:比特率控制基础说明

大多数安防系统的容量都有限。为了高效利用存储资源和/或网络带宽,安防系统需要配置相应的机制来限制和控制视频流传送设备生成的信息量。这个机制便是比特率控制。

信息精简策略

比特率控制与视频编码过程紧密相关,视频编码过程将比特率非常高的原始视频转换为可供传输或存储且比特率符合应用需求的视频。视频编码算法识别并移除不必要的信息,将视频格式化为理想的视频流。同时,其中还有控制回路(比特率控制器)加入,它跟踪输出比特率,并判断需要精简多少信息。在实现所需的比特率时,还必须遵守所选的比特率策略,这主要通过动态地调整视频质量来实现。

有多种方法可调整视频比特率,同时还可保证视频仍然达到相应的质量预期。然而,大多数算法都要求事先手动输入相关数据,无法根据不断变化的场景条件自动调整。监控应用中的比特率配置是一个复杂且耗时的过程,因为视频存储涉及高昂的费用,而且监控系统还必须要在无人监管的情况下持续运行。

常用的比特率控制方法是最大比特率 (MBR) 和恒定比特率 (CBR),这两种方法实施选定的比特率限值,但同样可能大幅降低视频的司法证据价值。平均比特率 (ABR) 是一种较复杂的比特率控制策略,能够大幅降低配置需求,并在无人监管的情况下实现良好品质的视频传输。

为了比较ABR和MBR,下图显示了从包含大量运动的大型场景视频中截取的快照。视频编码的比特率限值为500 kbps,其中采用了不同的比特率控制方法——左侧采用的是ABR,右侧采用的是MBR。采用ABR时,图像质量和帧率都明显较高,因为这种方法能够在安静场景中的较短运动时长内获得高得多的瞬时比特率(大约4000 kbps)。ABR控制器预留了足够的存储空间,以便在需要时兼容暂时升高的比特率,而MBR算法不具备这样的灵活性。

从包含大量运动的大型场景视频中截取的快照。采用ABR时,图像质量和帧率都明显较高,因为这种方法能够在安静场景中的较短运动时长内获得高得多的瞬时比特率(大约4000 kbps)。

视频编码标准

较高的比特率通常意味着较好的视频质量,但不同的视频编码算法却有着不同的效率。视频编码器算法按照视频编码标准分类,算法的每次更新换代通常都旨在保持相同比特率的前提下提高视频压缩率。当今常用的视频编码标准是H.264/AVC。较新的版本是H.265/HEVC,但鉴于复杂度影响、在低照度环境中的性能有限、以及授权问题,这个较新的版本尚未广泛应用到监控行业中。

比特率控制和Zipstream

Axis Zipstream技术是一种兼容标准的视频编码器技术,其效率远超标准编码器。不同于其他大多数比特率节省技术,Zipstream并不仅仅限制比特率。相反,其智能算法能够保证识别并以较高质量本地保存相关的司法证据信息,同时进一步精简其他部分,以便降低平均比特率。这就意味着,即使视频编码器正使用Zipstream算法来判断要节省比特率的图像部分,比特率控制算法也能够为该策略的实施提供帮助。

平均比特率 (ABR)

ABR是一种复杂的比特率控制方法,不但能够提供出色的视频质量,而且还能够避免超出为每台摄像机分配的存储空间量。通过配置视频保留时间以及摄像机端的存储空间分配量,嵌入式算法能够持续监视并调整视频压缩参数,保证可靠的存储空间预测,同时又不牺牲图像质量。

涉及开支计划的比特率控制

ABR根据在摄像机设置中配置的比特率预算来控制比特率。为视频流规划一定的存储空间,而摄像机中的ABR控制器调整视频质量,从而使整个时段的视频适配该预算。由于ABR不断监视比特率,因此摄像机将能够跟踪存储空间占用量,并持续应用比特率预算,从而保障该时段内的理想视频质量。早先(较闲置)时段中未使用的存储空间可用于在后续(较繁忙)时段中保持较高的视频质量,同时也可以相应地应用总的比特率预算。

借助ABR,通过利用早先(较闲置)时段中的节省,能够在峰值比特率事件下保持较高的视频质量。在设定时段内,必须满足平均比特率目标。

ABR算法根据比特率历史执行估算,自动调整压缩率以满足存储目标。压缩率(通过量化参数QP确定)对图像质量有着直接影响,但如果根据实际情况合理配置,ABR将能够优化图像质量,并保证不超出存储空间限制。

ABR的配置因不同的视频流而异。比特率历史涉及的一系列参数虽然相同,但对于不同的视频流配置,它却是不同的,即使视频流暂时断开,或者摄像机重启,算法依然会继续工作。

ABR兼容多种类型的应用程序和系统,适用于未规划暂停时段的持续录像。

ABR配置

如果为ABR配置的带宽预算过紧,控制器将在摄像机的事件系统中发布比特率降低事件。这些事件可以被拾取摄像机事件的系统软件监视到,并向系统所有者发布通知。摄像机的用户界面内置有比特率计算器,能够帮助进行配置。AXIS Site Designer(AXIS现场设计师)在线工具能够提供较安全较准确的存储空间预估,它能够计算适用于摄像机和具体应用场合的设置。

需配置的设置包括:

  • 保留时间

  • 存储空间或目标比特率(计算器将在这两个参数之间执行换算)

  • 最大比特率(可选设置,能够用于将平均比特率与最大比特率限值组合使用)

包含比特率计算器和MBR限值添加选项的摄像机配置UI。

用于ABR配置的新VAPIX API让VMS供应商能够直接在VMS中实现ABR配置。管理存储限制的理想方式是在系统中集中管理,在这个集中管理点,可以控制整个存储空间预算。AXIS Device Manager工具还支持对多台摄像机进行自动和统一的ABR配置。

ABR与Zipstream

ABR与Axis Zipstream是非常好的搭档,Zipstream调谐和Zipstream性能水平不会受影响。Zipstream算法自身仍能够节省非重点图像区域对带宽的占用。ABR的加入让Zipstream的这些节省可用在后续时段中,以应对场景中可能出现的暂时性峰值带宽占用。动态FPS和动态GOP的节省可在稍后使用,从而提升图像的司法证据价值。

支持ABR的产品

搭载ARTPEC-5ARTPEC-6ARTPEC-7ARTPEC-8且软件版本不低于9.40的安讯士产品支持ABR。

可变比特率 (VBR)

VBR是较简单的比特率控制策略。虽然它能够提供恒定且可靠的视频质量,但也有一个重大缺点,即,难以预测存储需求。这是因为,场景中的运动或其他事件可能导致视频流大小和比特率显著增大,因此使用VBR的系统就必须针对这样的情形预留相对较大的存储空间。

采用VBR时,比特率可以改变,因此不仅图像质量不受影响,而且还能够预测存储需求。

最大比特率 (MBR)

MBR不受视频场景复杂度的影响,能够保证比特率保持在设定值以下。如果比特率超过限值,MBR便会增大视频压缩率,以降低比特率。这个过程未考虑图像质量受到的影响,因此通常会导致总体图像质量降低。实际比特率与限值之间的偏差越大,因压缩率增大而导致的细节丢失风险也就越高。

请注意,MBR允许比特率短暂超限。平均比特率随时间推移将低于这个限值。

MBR已广泛应用到视频监控设备中。遗憾的是,比特率限值通常设置为非常低的默认值,因此复杂场景的视频质量达不到理想水平。大多数存储空间计算工具在计算时也采用较低的MBR限值,这就意味着,借助这些工具来设计视频监控系统的安防顾问和集成商所打造出来的系统可能没有足够的存储空间来存储高质量录像。

MBR算法的主要设计目的并不是节省大量存储空间,而是避免丢失大量数据。如果精心选择比特率限值,MBR能够有效保护系统免于产生不必要的峰值比特率,同时避免因存储空间限制或网络连接不良而导致的数据丢失。

安讯士产品中使用的MBR算法曾被称为CBR(恒定比特率)。有关CBR的详细说明,请参见附录。

MBR,图中所示的算法使用了较小的比特率限值。存储需求将可以预测,但复杂场景的信息丢失可能较为严重。

比特率控制详细说明:行为和限制

不同的比特率控制方法有不同的设置来影响比特率。某些配置内容可能较复杂,并且可能看起来并不完全合乎逻辑,其原因涉及安讯士API历史、旧有实现方式、以及与现有合作伙伴应用程序的向后兼容的目标。另有较常用的图像参数(如帧率、分辨率、WDR设置和摄像机参数)也会影响比特率。本章末尾介绍了如何优化摄像机的输出比特率,以便在每个比特上都获得更好的质量。

在以下小节中,我们使用了“低复杂度场景”一词,旨在表述运动非常少或无运动的场景。高复杂度场景通常包含不同方向上的大量运动,但它也可以是静态场景,只不过PTZ(水平转动/垂直转动/变焦)摄像机调转了拍摄位置。

ABR

场景与设置

ABR的主要设计宗旨并不是节省带宽,而是改善视频质量并同时避免超出系统的存储限制。该方法适用于未规划暂停时段的持续录像流。ABR作为一种MBR算法来实现,其中涉及自动参数调整,以便达到一定时段内的平均比特率目标。

ABR算法需要的时段为24小时,其中的场景变化应为典型变化,这样才能找到图像质量与比特率之间的正确平衡。ABR并不删除或存储录像内容,而是仅控制预算配置,因此录像机设置必须与这些配置一致。

低复杂度场景产生的视频流具有较低的比特率,但一旦场景中发生某个事件,复杂度便会增大,比特率将跳至较高水平。

高复杂度场景产生的视频流具有较高的比特率。然而,如果控制器估计长期存储目标可能无法达成,则将降低图像质量,而且还可能根据实际需求降低帧率。允许短暂超限,如果比特率预算允许,也可以将早先节省的比特率用于在后期保存更重要的数据。如果将ABR与合理的MBR限值结合使用,那么将能够避免配置较低的录像设备、视频播放器或网络在非常不利的场景条件下发生过载。在非常不利的情况下,存储空间的占用可能超限,但这只应发生在所选择的存储空间量或目标比特率不现实的时候。请参阅下方的事件部分。

影响ABR的设置:

  • 通过设置“压缩率”,可保证获得所需的视频质量。压缩率越低,图像质量越好,但生成的比特率也越高。压缩率越高,比特率越低,但视频质量也越低。

  • “保留时间”设置的是录像保存的时长(天数)。

  • “存储空间”或“目标比特率”定义该时长的限值。计算器将在这两个参数之间进行自动换算。

  • “最大比特率”是以附加于平均比特率限值的方式应用的可选(较高的)限值,旨在避免网络链路或录像机过载。

  • “GOP长度”是为视频使用的画面组 (GOP) 的长度。GOP长度越短,I帧频率越高,同时也意味着比特率越高。GOP长度值越大,I帧帧数越少,同时也意味着比特率越低。如果GOP长度过大,录像检索功能将非常复杂,因为需要参考I帧来渲染视频的后续P帧。此外,如果发生数据丢失,将持续出现图像伪影,因为只有I帧被充分更新。

ABR事件

如果视频流的质量低于预期,ABR可以生成相关事件以警示操作人员。这可以用作Web GUI中的事件触发条件(“平均比特率降低”)并显示在事件流中。利用事件流,您可以区分不同的情形:

  • low_bitrate(低比特率)——ABR预算过大
    比特率远低于预期,这就意味着存储空间将不会被占满。

  • low_quality(低质)——ABR视频流质量将较低
    视频质量的调整幅度超出预期,将达不到安讯士标准。

  • very_low_quality(非常低质)——ABR视频流质量将不足
    跟low_quality情形一样,但质量的降低幅度远超预期,视频质量将不足。

  • high_bitrate(高比特率)——ABR达不到目标,存储空间将不足
    比特率高于预期,存储空间的占用量将超出所需的占用量。

  • abr_error(ABR错误)——统一的ABR触发条件(与Web GUI中的事件触发条件相同),也就意味着存在low_quality、very_low_quality或high_bitrate情形。

为了接收事件,录像软件 (VMS) 必须针对ABR进行预处理,且要能够正确接收、处理和显示事件。

有关ABR的详细信息,请参见VAPIX文档,这些文档可供安讯士ADP合作伙伴和“安讯士开发人员社区”会员访问(请通过www.axis.com/partners/adp-partnerprogram或www.axis.com/developer-community登录)。

VBR——场景与设置

安讯士网络摄像机支持H.264 L4.1,该标准规定的最大允许比特率为50 Mbit/s。这就意味着,即使在VBR模式中,比特率也不得超过50 Mbit/s,这样才能兼容其他系统。因此,在需要高于50 Mbit/s的比特率的视频中,质量和/或帧率可能被降低。

低复杂度场景生成的视频流具有较低的比特率,但一旦场景中发生某个事件,复杂度便会增大,比特率将跳至较高水平。

高复杂度场景生成的视频流具有较高的比特率。在非常不利的条件下,可能因比特率过大,而使得配置较低的录像设备、视频播放器或网络发生过载。如果基础设施不够好,将发生丢包、视频帧损坏或视频流停止的情况。

影响VBR的设置:

  • 通过设置“压缩率”,可保证获得所需的视频质量。压缩率越低,图像质量越好,但生成的比特率也越高。压缩率越高,比特率越低,但视频质量也越低。

  • “GOP长度”是为视频使用的画面组 (GOP) 的长度。GOP长度越短,I帧频率越高,同时也意味着比特率越高。GOP长度值越大,I帧帧数越少,同时也意味着比特率越低。如果GOP长度过大,录像检索功能将非常复杂,因为需要参考I帧来渲染视频的后续P帧。此外,如果发生数据丢失,将持续出现图像伪影,因为只有I帧被充分更新。

MBR——场景与设置

通过设计最大比特率,能够使视频的带宽占用保持低于所选择的比特率限值。如果恰当配置,考虑实际限制要求,那么长期和短期带宽占用都将保持在这个限值以下。由于安讯士摄像机中未应用比特填充,因此实际比特率可能远低于该限值。

MBR算法能够对场景变化做出快速应对,从而尽可能限制峰值比特率。但由于MBR的目的是为软件编码器提供高质量视频流,而这些软件编码器又能够忍受短期峰值比特率,因此允许出现暂时过冲的情况,因为这样可以抵消不必要的质量降低。

请注意,图像上叠加的比特率测量值与比特率控制器实际实现的比特率测量值之间存在一定时间差。当这些比特率测量值不同时,可能是因为比特率控制器实施了掉帧操作。由于比特率控制器对长期比特率和瞬时比特率都适用,因此其自身的叠加并不是质量或帧率降低的原因所在。

对于复杂度低的场景,比特率也将较低。如果复杂度非常低,则比特率实际上可能远低于所选择的比特率限值。如果复杂度增大到一定程度,将降低图像质量。短期过冲将非常有限。

对于复杂度高的场景,将降低图像质量,如有需要,还会降低帧率。场景中的频繁变化可能导致(振幅和时间方面)出现若干小过冲,这时将执行掉帧操作,以尽可能降低比特率峰值。

影响MBR的参数:

  • 通过设置“压缩率”,保证尽可能好的视频质量。压缩率越低,图像质量越好,但比特率也越高。压缩率越高,比特率越低,但视频质量也越低,并且实际比特率可能低于目标比特率。

  • “目标比特率”是要实现的最大比特率目标 (kbit/s)。

  • “GOP长度”是为视频使用的画面组 (GOP) 的长度。GOP长度越短,I帧频率越高,同时也意味着比特率越高。GOP长度值越大,I帧帧数越少,同时也意味着比特率越低。如果GOP长度过大,录像检索功能将非常复杂,因为需要参考I帧来渲染视频的后续P帧。此外,如果发生数据丢失,将持续出现图像伪影,因为只有I帧被充分更新。

    “优先级”是在不考虑大部分因素或者在考虑质量或帧率时比特率控制器的优先级。它将重新配置比特率控制器中的某些内部参数。通过设置“质量”选项,可以在不同时间获得理想的图像质量,但非常有可能要牺牲帧率。而“帧率”选项的设置可能使得图像质量降低,但会优先考虑帧率。

影响比特率的视频设置

下表显示了可通过更改设置来影响视频比特率的参数和选项。

视频参数及其选项。
1. 编解码器在VMS中,选择H.264或H.265(或MJPEG)视频编码器。
启用Zipstream
配置Zipstream强度:中等
启用动态GOP(如果VMS支持此功能)
启用动态FPS(如果VMS支持此功能)
2. 视频分辨率在VMS中,选择视频分辨率
高清 (720p)
全高清 (1080p)
4K 或更高
3. 帧率 在VMS中,选择帧率(帧/秒)
4. 压缩水平 25:图像质量高于安讯士标准
30:安讯士标准压缩率
35:图像质量低于安讯士标准
5. 比特率控制器模式 ABR(视需要纳入MBR限值)
MBR
VBR
6. GOP长度定义相邻I帧之间的P帧帧数。GOP越长,节省的存储空间越多,但随机访问也越耗时。
7. 图像参数 配置影响比特率的图像设置:WDR、局部对比度、色调映射、EIS、饱和度、锐度、对比度等。
8. 夜间模式参数调整夜间模式参数,以降低夜间拍摄图像的噪声:最大快门时间、最大增益....
搭载“觅光者2.0”的产品能够调整降噪效果:时间噪声滤波、空间噪声滤波。
9. 场景照明/画面 在夜间增加照明,或者通过缩放或移动摄像机来重构场景画面,以免视频中出现不要的复杂拍摄目标。使用隐私遮罩来遮盖运动区域或非目标区域。

比特率控制方法比较

下表总结了不同比特率控制方法对视频质量、存储需求、配置需求和维护需求的影响以及它们是否提供通知。

比特率控制策略的比较。

方法

存储

质量

配置需求

维护需求

自动

通知

VBR

-

+++

存储空间监测,可自动执行

来自存储端

MBR

+

无法预测

图像质量,手动执行

不支持

CBR

+

无法预测

图像质量,手动执行

不支持

ABR

++

++

中等规模

比特率降低,可发送警报

比特率降低

ABR + MBR

++ (+++)

++

中等规模

无法预测

比特率降低

如果存储空间、网络和VMS的容量都有限,那么建议采用VBR,因为它提供的视频质量更好。在容量有限的系统中,通过精心选择压缩率以及指定高比特率限值的MBR,也可以保持较高的视频质量。但在大多数情况下,配置了MBR限值的ABR可能是较理想的选择。即使在不断变化的场景条件下,这种组合也能够保持理想的视频质量,如果MBR限值足够高,也可以发布比特率降低通知。

附录1:恒定比特率 (CBR)

比特率控制方法CBR旨在使编码器的输出比特率保持恒定。由于消耗速率不变,因此比特率不会随时间推移而增大,而是无论视频场景如何,都固定在目标水平。CBR适用于通过固定容量通道(比如旋转介质)流送多媒体内容。它原本设计用于消费视频行业,旨在保障持续播放。

CBR对存储空间不够友好,它包含填充数据,会浪费存储空间,因此并不利于保证视频质量。如果视频不够复杂,能够保持目标比特率,则编码器可以通过执行比特填充的方式填补未使用的空间,即,使用不影响视频的空比特来填充视频流。

CBR可能造成图像质量发生较大的短期变化,但比特率控制器可根据新场景调整相关参数。

对于低复杂度场景,利用比特填充,可将比特率保持在目标水平。如果复杂度增大到一定程度,将降低图像质量。短期过冲将非常有限。

对于复杂度高的场景,将降低图像质量,如有需要,还会降低帧率。场景中的频繁变化可能导致出现若干过冲(振幅方面的过冲大,时间方面的过冲小),这时将执行掉帧操作,以尽可能降低比特率峰值。

影响CBR的参数:

  • 通过设置“压缩率”,保证尽可能好的视频质量。压缩率越低,图像质量越好,但比特率也越高。压缩率越高,比特率越低,但视频质量也越低。

  • “目标比特率”是要实现的比特率目标 (kbit/s)。

  • “GOP长度”是为视频使用的画面组 (GOP) 的长度。GOP长度越短,I帧频率越高,同时也意味着比特率越高。GOP长度值越大,I帧帧数越少,同时也意味着比特率越低。如果GOP长度过大,录像检索功能将非常复杂,因为需要参考I帧来渲染视频的后续P帧。此外,如果发生数据丢失,将持续出现图像伪影,因为只有I帧被充分更新。

  • “优先级”是在不考虑大部分因素或者在考虑质量或帧率时比特率控制器的优先级。它将重新配置比特率控制器中的某些内部参数。通过设置“质量”选项,可以在不同时间获得理想的图像质量,但非常有可能要牺牲帧率。而“帧率”选项的设置可能使得图像质量降低,但会优先考虑帧率。

由于不执行比特填充,因此安讯士产品不使用CBR。MBR与CBR非常相似,但不必存储空比特。使用MBR时,在低复杂度场景中,波特率反而可能会跌至目标水平以下。