第五十三章 流式系统质量评价体系和一些标准建议

目前行业的现状

从目前整个业界来看,没有一个统一的质量评价体系标准。

虽然各大公司,在多媒体方向有众多的布局,甚至像华为这种公司不断的推出业界的标准。但是流式系统应用在各个行业领域,和普通的多媒体视频领域的评价标准还是不太一样。

基础知识点

专业术语 (Terminology)

  • RTT (round-trip time) 往返时延
  • QoS (Quality of Service) 服务质量
  • MOS (Mean Opinion Score )主观评价分数
  • FPS (frame per second) 帧率
  • FEC (Forward Error Correction) 前向纠错
  • JB (jetter buffer)
  • NACK (Negative Acknowledgement) 负向反馈

1 流式传输中总体技术指标及细节解释

技术指标指标解释主要目的
丢包 (Packet loss)所丢失数据包数量占所发送数据包的比例使用丢包率判断当前网络质量,不过丢包也分为拥塞丢包,随机丢包等,随机丢包情况下,我们不能通过得到的丢包率认为当前网络质量差,发生拥塞。这也是现在很多拥塞控制算法不使用丢包率作为主要衡量指标的原因。
抖动 (Jitter)在网络传输中,每个包从发送端到接收端的时延都是不相同的,而jitter就是用来衡量这种不同 第五十三章 流式系统质量评价体系和一些标准建议传输过程中由于拥塞,丢包,网络错误等,接收端收到的数据包间隔就会不一样,导致时延发生变化,接收端如果不做任何处理,就会影响用户体验。例如会导致帧率变化,视频播放就不平滑,有卡顿感
RTT(round-trip time)网络请求从起点到目的地然后再回到起点所花费的时长(不包括接收端的处理时间) 第五十三章 流式系统质量评价体系和一些标准建议诊断网络连接的速度,可靠性以及拥塞程度。
延迟(Latency)流式方案本身处理有一部分延时行为,比如即便在延迟表现很好的内网,由于各种拥塞控制算法,延时表现还是有。整体处理链路的耗时。影响FPS的计算和行为。最终也影响图像表现。
带宽探测(QoS)第五十三章 流式系统质量评价体系和一些标准建议实时探测链路的带宽情况,包括,丢包,抖动,乱序等情况。
编码器(Encoder)第五十三章 流式系统质量评价体系和一些标准建议处理图像转视频数据的编码。解码。编码器本身处理有时间,一般在30ms左右。编码器也有延时,主要是处理缓存内容等

2 主要的评价维度

我们在基础知识点部分提到过,流式系统的几个重要概念,分辨率,帧率,码率。

这几个参数粗看有点接近,细看,分别作用域是不同的。在最终的评价维度侧,这几个重要的概念将发挥决定性的评估和测试检验作用。

下表针对重要的内容和计算方式,进行再一次梳理。

内容解释计算方式流式方案建议
分辨率Resolution指图像占用屏幕上像素的多少。图像中的像素密度越 高,图像的分辨率越高大小=图像宽度*图像高度* 图像通道数比如 一副图像1920*1080,4通道大小=1920*1080*4*8高级应用决定
帧率 FPS指视频每秒播放帧(图像)的数量。播放的帧数越多,视频越流畅。 一般动画片/电影的帧率在24帧/秒以上, 高清视频的帧率在60帧/秒以上。 对于实时通信的视频来说,15帧/秒是一个分水岭, 当帧率小于15帧/秒时,大部分人会觉得视频质量不佳,卡顿严重。配置为30fps24~30FPS
码率Bitrate指视频压缩后,每秒数据流的大小。原则上,分辨率越 大,码率也越大。如果出现分辨率大而码率小的情况,说明在视频编码时丢弃了大量的图像信息,这将导致解码时无法将图像完整复原,从而造成失真。因此我们可以得到结论:在相同分辨率的情况下,码率越大还原度越好,图像越清晰。当然,这里的码率大小是有限制的,超过一定阈值(MOS=5)后,再大的码率也没有意义了。按照流式30fps的基准,一副1920*1080图像 每一秒的数据量=1920*1080*4*8*30 (bits/s) = 1990,656,000 bits/s按照1 Mbps = 1,000,000 bits/s总数据量是1990Mbps/s自动适应

有一个重要的经验点是:

必须要针对不同的行业,使用流式系统具体的输出标准来制定一套衡量标准框架体系。

下图是我们青龙流式系统,截至第一个版本发布前的质量评价体系完成内容和各个方向的布局。

可以给其余的同学做一个抛砖引玉的作用。

第五十三章 流式系统质量评价体系和一些标准建议

视频/图像质量判断标准和感受

缩写全称解释
PSNR峰值信噪比基于对应像素点间的误差
SSIM结构相似性亮度 (luminance)、对比度 (contrast) 和结构 (structure)。
VMAF多评估方法融合衡量大规模环境中流播视频质量的观感
NIQE自然图像质量评价器从自然场景图像计算的默认模型进行比较的非参考图像质量评估模型

图像/视频质量和码率,分辨率的制约关系

视频服务质量的评价标准有几个,它们也都是通过vMOS(主观平均意见分数)值打分来判断质量好坏的,图中参考是以码流大小为标准评估指标。(MOS是音质标准,vMOS是视频)

第五十三章 流式系统质量评价体系和一些标准建议

从以上可以看到,在保证传输的实时性时,由于带宽是一定的,可能会牺牲一定的服务质量。

图像分辨率/帧率/码率/带宽建议【H264编码器基础上】

图像分辨率FPS网络带宽建议H264硬件编码器 建议码率 中建议码率 低建议码率 高
720P 1280X720303~5Mbps2500 Kbps1500 Kbps4500 Kbps
1080P 1920X1080305~7Mbps4500 Kbps2500 Kbps8500 Kbps
2K 2560*14403010Mbps8000 Kbps4500 Kbps16000 Kbps
4K 3840*21603020Mbps16000 Kbps8000 Kbps32000 Kbps

编码方式/帧率/分辨率 影响建议 【业界经验值】

方面影响表现
编码影响编码从H.264到H.265,H.265到H.266压缩比预计分别提升30%左右
帧率影响帧率提高一倍,压缩比预计提升50%左右
分辨率影响分辨率提升一倍,压缩比预计提升15%左右
带宽网络带宽建议值 = 码率 * 1.6

实时通讯中延时对于人的感受

延迟时间人的感受
10 ~ 400 毫秒人感觉不到视频在通信过程中的延迟
2400 ~ 800 毫秒人能感觉到轻微延迟,但不影响通信互动
3800 毫秒以上人能感觉到延迟而且影响通信互动

带宽差时,为保证音视频的实时性要求,各技术指标会有以下问题 及 流式传输中的控制策略

低带宽发生情况流式处理策略技术指标
丢包随机丢包【物理/原理原因】主动丢包【拥塞控制算法等】(ARQ自动重传请求) → NACK+ACK否定确认(NACK)- 丢包重传 → 默认开启前向纠错(FEC)- 冗余信息附带→ 默认开启第五十三章 流式系统质量评价体系和一些标准建议第五十三章 流式系统质量评价体系和一些标准建议第五十三章 流式系统质量评价体系和一些标准建议<2% 优质网络 (增加发送带宽 8%) 2%~10% 正常网络 (不变化) <20% 差网络 (降低发送带宽(1-0.5*丢包率))带来的延时损耗NACK==>1.5RTT+ kDefaultSendNackDelayMs (源码默认10ms)FEC ==> 以带宽换延时技术实现建议在延时容许的前提下尽可能使用 ARQ,可根据当前 RTT 和最大延时限制计算最大重传次数如果最大重传次数可以将丢包率降低到一定程度以下(<%1),则不必开启 FEC 保护随着 RTT 的上涨,FEC 的保护占比增加,最终由 FEC 单独负责丢包修复。(如下图)源码中重传次数最大是10次针对于NACK的自己延时,源码中控制对象为kDefaultSendNackDelayMs,默认为10ms 如果需要调整,可以通过field_trial接口传递设置
抖动画面不平缓JitterBuffer – 默认开启有了丢包率就可以算出需要多少次重传才可以将这个包重传回来,根据重传次数和RTT,大致能估算出需要多少JitterBuffer来应对该次网络抖动,实时感知和调整第五十三章 流式系统质量评价体系和一些标准建议<7 ms 一般<4 ms 优质
RTT每秒变化同时可在Sender Report(SR)和Receiver Report(RR)RTCP Extended ReportsRTCP(XR)中探测到实时RTT数据。超过默认RTT后,认为超时需要重传 (默认100ms)如果发现系统莫名的在流畅的网络中也有100ms的RTT表现,则需要检查RRTR是否开启。 RRTR默认没有开启,碰到这种问题需要通过SDP手动开启当超过RTT的阈值后,流式启动重发策略,会导致真实图像数据传输大幅下降第五十三章 流式系统质量评价体系和一些标准建议< 20 ms 一般< 15 ms 优质源码中默认100ms.
带宽探测QoS每秒都在探测基于延时的评估体系后端 REMB → 默认开启前端 TCC→ 默认开启 (更准确些)
整体链路用时(延时)网络原因随时发生内部拥塞控制会有一些自带延时。业务逻辑是主要延时部分考虑到< 30ms的要求,网络层的30ms在目前的整体链路中的延时貌似都可以接受。总延时=业务处理时间+webrtc内置延时 +网络延时webrtc内置延时=抖动延时(0~100ms)+RTT延时(10~100ms) +FEC (10~20ms) + 硬件编码器延时(~50ms)要注意:即便取消数据加密,这块的延时也是可以忽略不计的

RTT不同阶段对于流式系统的表现和对策

RTT情况流式内置算法策略流式逻辑层可以控制的内容
<100ms平滑表现基本不需要做什么调整
<250 ms 且 >100ms启动抖动控制算法和丢包重发策略降低码率,取消FEC,调整编码器GOP设置
>250 ms表现不可接受调整已无力

RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/6712

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

登录后才能评论
本文授权以下站点有原版访问授权 https://www.shxcj.com https://www.2img.ai https://www.2video.cn