MDI(MediaDelivery Index)媒体传输质量指标是由思科公司和IneoQuest共同提出的,对视频流在IP网络传输质量进行评估的测量指标。作为IP视频流传输质量测试的行业标准,MDI测量指标广泛地应用于IPTV和IP有线数字电视网络质量评估和监测。
首先,本文对RFC4445 MDI的测试原理进行详细解析。 然后,介绍MDI的典型应用:IP视频流传输质量监测,视频服务器输出性能分析,网络设备视频流承载性能评估,机顶盒网络容忍能力分析。
RFC 4445 MDI参数定义
对IP视频流的传输质量用RFC 4445 MDI标识为: DF:MLR。
MDI包括了两个参数:
DelayFactor(延迟因素,简称DF):该数值表明被测试视频流的延迟和抖动状况。DF的单位是毫秒(ms)。DF将视频流抖动的变化换算为对视频传输和解码设备缓冲的需求。被测视频流抖动越大,DF值越大。当网络设备和解码器的缓冲区容纳的视频内容时间不小于被测视频流DF读数时,将不会出现视频播放质量的下降。因为网络节点需要分配不小于DF值的缓冲用于平滑视频流抖动,所以DF的最大值为视频内容通过该网络节点的最小延迟。
MediaLoss Rate(媒体丢包速率,简称MLR):MLR的单位是每秒的媒体封包丢失数量。该数值表明被测试视频流的传输丢包速率。由于视频信息的封包丢失将直接影响视频播放质量,理想的IP视频流传输要求MLR数值为零。因为具体的视频播放设备对丢包可以通过视频解码中进行补偿或者丢包重传,在实际测试中MLR的阈值可以相应调整。
读者从IETF网站下载RFC4445 MDI的标准文档: http://www.ietf.org/rfc/rfc4445.txt
IP网络对视频质量影响的因素
网络传输特性往往归纳为三个指标:延迟,抖动和丢包。
延迟
在视频传输应用中,恒定的延迟表现为视频观看时间的推迟。为了避免网络抖动而产生视频播放效果恶化,网络节点和视频解码器往往需要对视频流进行缓冲。实验数据表明,视频播放延迟不影响视频观看的质量。
抖动
抖动产生有多种原因:视频编码器/服务器性能变化,网络线路出现拥挤,网络设备性能变化都可以导致视频流的抖动变化。观测视频流的抖动变化可以帮助运维人员提前发现视频传输质量恶化的趋势。
丢包
丢包对视频播放质量有直接的影响。试验表明,无论视频丢包的类型(I, B, P帧),在没有适当的视频解码补偿或者丢包重传机制下,视频播放质量都会出现不同程度的下降。
MDI测量的原理
1. DF(延迟因素)
流媒体应用有实时性的特点。在流媒体通过IP网络传输的同时,终端解码器在消耗已接收到的媒体流信息。 IP网络传输媒体流出现的抖动表现为同一媒体流的IP封包传输的间隔不均匀。
在采样周期中,DF首先计算在测量点每个IP视频封包到达时间变化。然后,与预期的视频流速度对比得出。采样周期默认为1秒。DF的数值在每次采样周期完成后更新。具体DF的计算公式如下:
假设在测量点有虚拟缓存大小为X,
X = |接收到的字节数 – 解码所需的字节数|
接收到的字节数为实际测量得到;解码所需的字节数通过对媒体流解码分析得到。
那么,
DF = [最大值(X) – 最小值(X)] / 媒体流码率
媒体流码率单位是:字节/秒。最大值(X)和最小值(X)是在采样周期内所得数值。
DF的计算将网络抖动换算为对媒体流解码缓冲的需求。当解码器的缓存保存媒体信息不小于DF数值,解码器不会出现缓存内容耗尽的情形;因此,网络的抖动将不影响视频播放的质量。
DF期望值(Expected DF)是在理想状态下得到的MDI:DF数值。这个数值等于媒体流在没有拥挤的线路传输。可以看作设备把一个视频封包转移到下一节点或者视频解码器的同时,另外一个视频封包立刻到达缓冲区。
DF期望值 = IP封包的MPEG内容 / 媒体流码率
假设每个IP封包包括了7个MPEG-2 TS封包, 每个MPEG-2TS封包为188字节,则该IP封包包括了1316字节的视频内容。 视频流码率为2MbpsCBR。则:
DF期望值 = 1316 * 8 / 2,000,000 = 5.26 ms
2. MLR(媒体丢包速率)
MLR计算媒体封包在采样周期内的丢失总数:
MLR = 媒体封包丢失总数 / 采样周期
默认采样周期为1秒。媒体封包在MPEG-2TS封装格式是指有效的MPEG封包(不包括填充MPEG封包)。
3. MDI与其它测量参数的配合
MDI主要反应了视频流传输的抖动和丢包特性。但是,MDI:MLR不能反应丢包的持续性。
实验数据表明,连续小量的丢包比一次大量的丢包对视频观看质量有更明显的影响。因此,MLT-15(过去15分钟媒体丢失总数),MLT-24(过去24小时媒体丢失总数)可以帮助使用者看到测试时间内的累积丢包数目。
4.IneoQuest建议的MDI阈值
由于网络的复杂性,IneoQuest建议MDI的阈值应该通过实验室测试求取。因为,视频压缩标准,视频码率,并发视频流数目,机顶盒缓冲大小都影响MDI的阈值设定。
根据IneoQuest的经验,CBR视频流情况下,MDI:DF的最大值应该避免和平均值偏离超过50%。比如,平均MDI:DF为100ms。当MDI:DF出现最大值为200ms时候,这意味着视频流传输抖动出现明显的变化。虽然没有立刻造成视频播放质量问题,维护人员需要对抖动的变化趋势进行跟踪。
以下是IneoQuest公司的建议阈值:
MDI:DF = 50 毫秒
MDI:MLR = 8 个媒体封包/秒
MLT-15 = 128 个媒体封包
MLT-24 = 1024 个媒体封包
PS:MLR-15 表示每秒的丢包数;丢包率MLR-15 表示每 15 分钟的丢包率; MLR-24 表示每 24 小时的丢包率
DF 实测值是指在实际的网络上传输时的 DF 值,算法如下:测量点虚拟缓存大小为 VB;
VB(i,pre) = sum (Sj) - MR * Ti; where j=1..i-1
VB(i,post) = VB(i,pre) + Si
VB(i,pre)表示第 i 个数据包收包前的 VB 值;
VB(i,post)表示第 i 个数据包收包后的 VB 值;
Sj 表示第 j 个数据包的大小;
Ti 表示第 i 个数据包到达的时间(相对测试开始的时间);
MR 表示数据流速率,单位:字节/秒;
在一个检测周期内如收包个数为 k,则共有 2*k+1 个 VB;
VB(max)表示检测周期内 2*k+1 个 VB 中的最大值;VB(min)表示检测周期内 2*k+1 个 VB 中最小值;
DF = [VB(max) - VB(min)]/ MR
PS摘自http://www.zte.com.cn/cn/products/bearer/201308/P020130828507430681947.pdf