杜宸罡,李 博,画芊昊
(中北大学 仪器科学与动态测试教育部重点实验室,太原 030051)
随着互联网技术的发展,高性能的嵌入式流媒体技术应用更加广泛,具体包括视频直播、远程会议、远程教育和视频监控领域等多媒体应用,教育是一个国家根本的事业,重要程度不言而喻。
随着我国高速推进“互联网+”在高校领域的推进,全国应用范围巨大,改善流媒体的用户体验质量显得愈发关键。码率自适应算法可以根据动态选择进一步改善流媒体的用户体验,文献[1]提出了一种DASH标准的基于缓存补偿的码率自适应切换(BASBC)算法,通过提高带宽利用率,从而提高用户的体验质量(QoE);文献[2]提出一种基于深度强化学习的码率自适应(DRLA,deep reinforcement learning based ABR)算法,用实际网络带宽数据训练神经网络,通过收集客户端缓冲区占用率和网络吞吐量向视频服务器请求最佳码率的视频,从而提高了用户的体验质量(QoE);文献[3]提出了一种名为NIA(Data-free Network-environmental Imitation-based Rate Adaptation Framework)的新型无数据蒸馏框架,生成了具有更好泛化性能的决策树ABR算法,NIA通过网络环境生成模块构建多个人工网络环境,并在每次迭代训练前使用环境选择模块来选择适合的网络场景,然后与该场景进行交互,利用基于学生驱动的模仿学习算法完成决策树的蒸馏过程,从而提高用户的体验质量(QoE)[4]。然而本实验在音视频流媒体直播的应用场景下,MPC(Model Predictive Control)[5]结合音视频同步算法来提高用户体验质量。通过实验仿真对比分析,不同网络环境下,本实验所得的平均QoE数据更加良好,从而使得本实验更有意义。
由于本实验涉及音视频同步技术嵌入式流媒体系统平台开发,因此,依托B/S架构[6]搭建流媒体服务器,优点便是无需构建大的网络服务器便可形成流媒体应用平台,通过编制相应的软件确保系统功能的实现并同时保证系统的正常运行。流媒体服务器采用HTTP/TCP[7]来传输控制信息,用实时传输协议/用户数据报协议(RTP/UDP)传输实时数据。
嵌入式流媒体系统主要是构建小型的流媒体服务器在保证流媒体通信质量的前提下,针对流媒体音视频在互联网上质量较低具体包括视频不清晰、卡顿、音视频不同步等问题,采用最新标准的H.265[8]视频编码标准进行算法优化、实时网络传输技术确保流媒体通信的实时性,在音视频同步技术提高流媒体音视频通信质量,采用嵌入式平台开发针对不同的应用要求进行模块化设计,通过模型预测控制,实现更多的应用场景需求。
本文算法分为两部分,第一部分分为MPC、音视频同步技术、码率自适应技术以及QoE指标模型4个板块,第二部分为算法仿真分析。本文算法具体流程如图1所示。
图1 算法流程
MPC是一种多变量控制策略,可以通过控制系统中被控平台所得到的当前系统状态信息,再加上之后的控制输入变量,预测到之后的被控平台的状态。预测模型的形式没有固定的标准形式,状态空间方程、传递函数、阶跃响应模型、脉冲响应模型、模糊模型等都可以作为预测模型的形式。
2.2.1 MPC对AAC的优化测试
为了得到更加良好的数据指标,将MPC应用到AAC编码[9]策略中去,建立了相对应的目标函数与约束,具体优化流程如图2所示。
图2 MPC对AAC的优化流程图
具体优化流程为:AAC编码的状态量和控制量通过被控平台进行状态估计,利用MPC的目标函数与约束以及预测模型得到AAC编码的最佳解并传输数据给被控平台,被控平台再进行音频信号的加窗处理、信号分块[10]、FFT变换[11]、当前频谱线形预测[12],分别计算文献[1-3]与本文的最大噪声掩蔽功率[13]、高频部分能量比值[14]、谱线掩蔽能力[15]以及感知熵PE[16],如表1所示。
表1 MPC对AAC优化后各参数测试结果
由表1可知,经过MPC对AAC编码优化改进后,最大噪声掩蔽功率明显更高,掩蔽效果更好;高频部分的能量也明显变高,高频能量缺失的减少使得音质明显增强,从而更容易被人耳感知接收,谱线掩蔽能力相比文献[1-3]来说明显提高;感知熵PE的值为4.5,介于3~5之间,大大降低了音视频的失真率,进一步提升了音视频的质量。因此,MPC预测模型控制对AAC编码优化后使得各项指标数据均更加优良。
2.2.2 确定预测模型的测试
往往是通过被控制的对象和即将进行预测的状态来选择合适的预测模型,对于本文所需的研究而言,模型预测控制选择状态空间模型[17]比较合适。状态空间模型是一种以时间为自变量的动态时域模型,这种状态模型的优点在于不仅能反映系统内部状态,而且能揭示系统内部状态与外部的输入和输出变量之间的联系;状态空间模型也可以将多个变量时间序列处理为向量时间序列,这种从变量到向量的转变更适合解决多输入输出变量情况下的建模问题;状态空间模型还无需大量的历史资料,能够用现在和过去的最小信息形式描述系统的状态,因此既省时又省力。
建立状态空间方程式:
(1)
Y=Cx
(2)
其中:u为输入变量,x为状态变量。
假设在t时刻预测t+i时刻的输入值为u(t+ilt),在预测区间W内。
(3)
在t时刻预测第t+i时刻的系统状态为x(t+ilt)。
(4)
MPC预测控制的优化采用的是滚动式有限时域,凭借每时每刻的优化性能指标,得到每时每刻的有限时段的最优控制率,优化过程也不是一次离线完成的,而是反复在线完成,优化性能指标每一采样点只涉及这一时刻到未来有限时间内的下一个采样时刻点。预测控制求解属于一种开环优化,在反馈校正环节,不断根据系统的实际输出对预测输出做出校正利用反馈信息,让滚动优化不仅停留在模型,更构成闭环优化控制。据状态空间方程式进行进一步滚动优化及反馈矫正,假设预测时域为Nf,控制时域为NV,Nf≥Nv,则:
G(t+1)=αG(t)+βu(t|t)
(5)
G(t+2)=α2G(t+1)+αβG(t|t)+βG(t+1|t)
(6)
G(t+3)=α3G(t)+α2βG(t|t)+αβG(t+1|t)+
βG(t+2|t)|
(7)
⋮
依次列推:
G(t+Nf)=αNfG(t)+αNf-1βG(t|t)+
αNf-2βG(t+1|t)+…+βG(t+Nf-1)
(8)
G(t+Nv)=αNvG(t)+αNv-1βG(t|t)+
αNf-2βG(t+1|t)+…+βG(t+Nf-1)
(9)
在Simulink和Carsim平台上搭建仿真,实现预测控制优化,MPC-AAC 在实现仿真测试过程中,通过AAC的预测时域Nf以及控制时域Nv进行迭代从而得到最少迭代次数和个体最优值。迭代曲线如图3所。
图3 迭代曲线
图4 接收端对音频的处理框图
图5 接收端对视频的处理框图
通过图3可知,AAC的预测时域Nf和控制时域Nv在MPC迭代过程中,预测时域Nf和控制时域Nv均取26时有最优解,最佳解为19。
流媒体通信质量好坏的一个重要标准之一就是音视频是否同步。音视频同步[18]是多媒体系统服务质量(QoS Qualityof Service)研究中的一项重要内容。音视频同步可以保证音视频文件的时间连续性,在视频会议、可视电话、视频点播等多媒体应用中,由于网络传输中的延迟、抖动、时间偏差、网络传输条件的变化以及发送端的发送速度与接收端的接收速度的不匹配等问题,使得接收端的媒体存在异步现象。通过媒体同步技术可以解决这些问题,其中音视频的同步是一个关键性技术。
由于处理器对音视频编码的差异,对视频处理的时间相比音频较长,针对音视频分开采集之间没有关联性,直接传输会造成视频滞后于音频的问题,对此本文进行了优化,采取动态缓存技术在服务器端分别设置音视频动态缓存区,传输时进行同步控制保证音视频交替传输,再从服务器输出时打上时间戳建立关联性,在接收端设置动态缓存区,同时解析音视频码流,通过对比时间戳实现音视频同步。为了能够更好地应对复杂网络环境下确保音视频同步效果,另外建立通信反馈机制,实现服务器端自动通过降低视频码率、视频分辨率、调整动态缓冲区等措施确保音视频同步效果。
2.3.1 检测影响因素
时延抖动[19]和时延偏移[20]是影响音视频是否同步的重要因素,表2通过与文献[1-3]对比测试分析了音视频文件、压缩视频文件、数据文本的时延抖动情况;表3通过与文献[1-3]对比测试分析了视频文件、图像文件、紧密型音频文件、宽松型音频文件、文本文件的时延偏移情况。
表2 时延抖动测试数据结果 ms
表3 时延偏移测试数据结果 ms
由表2和表3测试结果可知,经过音视频同步方案的优化,相比文献[1-3]的方案,在时延抖动和时延偏移两方面均在数值上得到了大幅度的降低,从而使得音视频同步效果得到了质的飞跃。
2.3.2 音视频同步压缩的测试
音视频同步压缩[21]是基于H.264或者AVC压缩算法利用Zig-zag扫描[22]方法实现的,系统采集到音视频数据后经过压缩处理传输到服务器,由于这种技术本身具有先低频系数后跟随高频系数的特点且人们对听觉比视觉相对更加敏感,因此在原有的音视频同步技术基础上,可以用DCT变化系数[23]与音频相匹配。
设码率流为W,拖尾系数为H,解码时最后一位拖尾系数为Y,解析音频流为Z。在嵌入编码时,当W=1时,H=Y=1;当W=0时,H=Y=-1;在解码时,当H≠0时,H=Y=1时,Z=1;当H=Y=-1时,Z=0;当H=0时,当H=Y>0时,Z=1;当H=Y<0时,Z=0。
由于在图像压缩过程中有亮度块需要嵌入,需要引入音视频图像峰值信噪比PSNR[26]。
(10)
其中:MSE为压缩图像和之前图像的误差,图6为峰值信噪比PSNR的Y分量测量对比分析图,纵坐标单位为dB,横坐标单位为个数。
图6 PSNR-Y测试结果图
根据图6原视频、文献[1-3]、本文嵌入后音频的20帧对比测试结果可知,文献[1-3]的20帧PSNR-Y分量数据均介于原视频和本文嵌入后音频的数据。因此,本文嵌入后视频图像PSNR-Y分量影响最小,即本文算法嵌入后视频的同步压缩过程最为良好。
码率自适应测试[24](ABR,adaptive bitrate streaming)可以分为3种类型。Rate-based类型是通过历史分片下载时的网络情况来预测之后的网络带宽,从而驱动视频码率决策,这种类型相对简单,但一般单个噪音的干扰信号非常强波动也非常明显,探测数据既会浪费带宽,历史数据预判性也非常低;Buffer-based类型是根据客户端的播放缓冲区的buffer情况决定下一片段的码率档位,这种类型的缺点是一般在低延迟环境下不适合更多数据量的缓存,buffer量的大小也非常难控制,而且不适合UDP环境;Hybrid类型属于一种混合模式,既考虑buffer的信息决策下一片段的码率档位,也考虑预测吞吐量情况,本文的算法即是这种混合模式类型,在原本HTTP的动态自适应流标准的视频流媒体架构下引入了MPC控制算法。
2.4.1 切片约束条件的对比测试
设x为第x个视频切片编码和处理,St(xt)为第x个视频切片所对应xt码率的视频大小,tx为视频编码和切片处理前所下载信息的吞吐量,Tx为第x个视频被下载所用的时间,服务器所需等待时间为Wt,视频切片时长为l。当x为0时数据开始采集、编码和切片处理,切片约束条件如下:
(11)
当第x+1个视频切片开始下载时,
(12)
Wt=0
(13)
当第x+1个视频切片还没开始下载时,
(14)
对于直播场景而言,视频切片所需时长l越短,视频更稳定更流畅,表4对比了文献[1-3]以及本文文献视频切片l所需时长。
表4 切片时长测试结果 s
通过表4可知,与文献[1-3]相比,本文在原本架构下引入MPC后使得切片时长明显变短,进一步提升了视频流畅度、清晰度和稳定度。
2.4.2 跳帧时延的对比测试
为了进一步降低时延执行跳帧操作,设定了两个两组缓冲区阈值,一组为(T最小1,T目标1、T最大1)和(T最小2,T目标2,T最大2),一组为(T最小3,T目标3,T最大3)和(T最小4,T目标4,T最大4),其中满足T最小1 表5为分别测试对比了第一组和第二组缓冲区阈值的帧率以及码率情况。 表5 缓冲区阈值帧率及码率测试结果 由表5可知,当缓冲区阈值为1时,帧率和码率均最低,即播放速度相对最慢,视频会产生严重卡顿情况;当缓冲区阈值为4时,播放速度相对较快,视频最为清晰流畅。 2.4.3 视频跳帧的对比测试 视频跳帧[25]又叫视频丢帧,当显示器显示的次数和刷新的次数不一致时,显示器刷新率达不到视频FPS的要求,往往会自动舍弃一部分画质,这种现象被称为视频跳帧。为了进一步优化流媒体视频的画质,解决跳帧现象,假定显示器刷新率均为90 Hz且CPU内存相同情况下,对比原始视频和降低视频分辨率后经过选取更为合适的跳帧阈值后视频的情况,进一步测试十组播放器缓存时间,测试结果如图7所示。 图7 视频跳帧测试结果图 由图7可知,本文算法通过降低视频分辨率选取合适的跳帧阈值后视频的缓存时间曲线明显更趋近于稳定,既不会出现跳帧情况,也不会影响视频的实时性,视频效果最好。 2.4.4 QoE指标模型的测试 QoE指标可以很好地反映该种码率自适应算法的优劣性,影响QoE指标的因素有很多,比如端与端之间的时延、卡顿以及跳帧时长、码率切换频次、视频质量等等。 QoE目标函数为: (15) 其中:QoE目标为全部X个视频切片的QoE之和,Ax为第x个视频切片的码率,Bx为x个视频切片跳帧时间总长,Cx为视频切片端与端之间的时延,Dx为卡顿时间总长,f(Ax)为判断视频好坏的函数,|Ax+1-Ax|为视频切片码率[26-27]的幅度值,σa,σb,σc,σd,σe分别为各参数指标权重。 QoE指标的好坏可以充分反应出用户对服务质量的评价,尽可能地解决跳帧、时延、卡顿等情况。 本实验在音视频流媒体直播竞赛的ACM Multimedia的仿真开发环境下完成,利用公式(15)可以计算出QoE指标的大小,再求出其平均值。为了很好地验证本文算法的性能,与文献[1-3]进行各性能上的仿真测试与比较。 本文在原有的码率自适应算法基础上引入了MPC与音视频同步算法,通过前文的测试发现,本文算法各项相关数据均得到了大幅度的提升,文献[1-3]与本文算法的平均QoE的CDF曲线如图8所示。 图8 平均QoE的CDF曲线 通过本文算法与文献[1-3]的平均QoE的CDF曲线的测试对比分析可知,本文算法的QoE指标明显更高,即本文算法的综合性能更好。 网红带货、才艺表演、体育比赛、风景打卡是当今互联网直播环境中最受欢迎的其中几个板块,因此分别用文献[1-3]以及本文算法对这几个板块分别进行QoE指标仿真测试,测试结果如图9所示。 图9 不同直播场下的几种算法的平均QoE 图9中,曲线从上到下依次为本文算法、文献[1-3],由图中测试结果可知,网络直播环境下在网络带货、才艺表演、体育比赛、风景打卡等方面,本文所采用的算法的平均QoE指标最大,即用户评价指标最高,因此本文算法相对更加优良。 直播环境中是否卡顿是影响直播感受非常重要的因素之一,因此对视频卡顿、微卡顿、适中、流畅4种情况分别对比文献[1-3]以及本文算法进行仿真测试分析,测试结果如图10所示。 图10 不同网络环境下几种算法的平均QoE 图10中,曲线从上到下依次为本文算法、文献[1-3],根据图中测试结果可知,对于卡顿、微卡顿、适中、流畅情况下,本文算法的QoE指标明显比文献[1-3]的QoE指标高很多,意味着本文算法使得不同网络环境下的QoE指标都得到了很大的提高。 视频质量、卡顿时长、平均时延均严重影响着直播环境中QoE指标的大小,分别用文献[1-3]、本文算法对这几个方面进行测试对比分析,数据结果如表6所示。 表6 平均QoE指标测试结果 由表6可知,本文算法很好地降低了时延与卡顿时长,大幅度优化了视频质量,极大地提升了平均QoE用户评价指标值的大小。 本文在原本码率自适应算法基础上引入了MPC与音视频同步技术并与之相结合。在HTTP的动态自适应流标准的视频流媒体架构下,首先通过对AAC编码的优化,将MPC应用到AAC编码中,从而得到AAC编码的最佳解。 经过被控平台后续实验与前人的测试对比分析,掩蔽能力得到了大幅度提升,可接收到更多的高频能量被人耳感知,感知熵PE也得到了大幅提升,大大降低了失真率;随后进行了预测模型的确定,并通过预测时域与控制时域进行迭代从而得到最少的迭代次数和个体最优值;再随后对音视频同步的影响因素进行了探索与仿真测试对比分析,时延抖动和时延偏移是最大的两个影响因素,时延抖动分别从音视频文件、压缩视频文件、数据文本3个方面与前人的算法进行仿真对比测试,时延偏移分别从视频文件、图像文件、紧密型音频文件、宽松型音频文件、文本文件这几个方面与前人的算法进行仿真对比测试,经对比分析,本文算法在数据上均有了大幅度的优化体现;再随后利用zig-zag扫描方法进行了音视频同步压缩,将前人的算法与本实验算法分别对20帧PSNR-Y分量进行对比测试,由仿真测试图可知本文算法在嵌入后视频压缩效果最佳;再随后测试切片时长与跳帧时延,与前人的算法进行测试对比分析,本文算法具有更低的切片时长、相对较快的播放速度、更为稳定的视频缓存时间;最后获取最终的QoE用户评价指标来进一步检测音视频流媒体技术的优劣,并在音视频流媒体直播竞赛的ACM Multimedia的仿真开发环境下分别从QoE的CDF曲线、不同直播场下平均QoE指标、不同网络环境下的平均QoE指标、各指标对比的平均QoE四个方面与前人算法进行仿真测试对比分析,测试结果表明本文算法相较而言具有最高的平均QoE指标,即本文算法各项性能最好。 在当今互联网高速发展的时代,音视频流媒体技术具有无限的发展潜力,特别是本实验着重侧重于音视频流媒体直播的应用场景,网红带货、才艺表演、体育比赛、风景打卡等等应用场景,均与我们的工作和生活息息相关,非常需要我们深入研究与探索,除此之外,腾讯会议网络授课、专家作报告等方面即教育行业、事业单位开会也是音视频流媒体直播非常广泛的应用场景,因此,视频加密技术显得极其重要,下一步将本文中的算法尝试应用到更多领域进行仿真测试分析进一步验证该算法的优越性以及进一步试图探索更加优良的音视频流媒体算法来获取更高的QoE用户评价值,从而得到更大的社会价值。3 QoE指标仿真结果
3.1 几种算法的平均QoE的CDF曲线
3.2 不同直播场下的几种算法的平均QoE指标的测试
3.3 不同网络环境下几种算法的平均QoE指标的测试
3.4 多种算法每种指标的比较测试
4 结束语