一种基于体验质量预测的移动视频码率调整方法转让专利

申请号 : CN201210338422.0

文献号 : CN102802089B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于新陈惠芳谢磊赵问道

申请人 : 浙江大学

摘要 :

本发明涉及一种基于体验质量预测的移动视频码率调整方法。本发明是在发送端将视频编码速率分为四个等级,当移动终端用户请求视频业务时,视频的初始码率等级设为中等,此后QoE预测模型周期性地计算用户体验值,将所预测的QoE值和预设的QoE阈值进行比较,若用户的体验质量低于阈值,则根据两个周期内接收端反馈的网络拥塞指示和视频编码速率做出相应调整,输出下一周期的码率等级直至请求结束,其中所述QoE预测模型位于视频服务器侧,通过训练若干个梯度提升决策树建立。本发明解决了目前码率调整方法中没有考虑用户对视频质量主观感受的问题,能够在充分利用网络资源的同时避免或减弱网络拥塞的产生,进而有效提升用户的体验质量。

权利要求 :

1.一种基于体验质量预测的移动视频码率调整方法,其特征在于该方法包括以下步骤:步骤1:在发送端将视频编码速率从小到大分为四个等级,分别是低等、中等、高等和优秀,用一个集合level={0,1,2,3}表示,其中level=0表示码率等级为低等,level=1表示码率等级为中等,level=2表示码率等级为高等,level=3表示码率等级为优秀;

步骤2:当移动终端用户请求视频业务时,将视频的初始码率等级设为中等;

步骤3:QoE预测模型周期性地计算用户的体验质量,用MOSn表示终端用户在第n个周期内的整体感受;

步骤4:对所预测的MOSn值和预设的QoE阈值进行比较,其中预设的QoE阈值用MOSth表示,若MOSn≥MOSth,码率不做调整,否则根据两个周期内接收端反馈的网络拥塞指示和视频编码速率做出相应的码率调整策略,输出下一周期的码率等级;

步骤5:重复上述步骤3~步骤4,直至请求结束;

步骤3中所述QoE预测模型通过训练若干个梯度提升决策树建立,其中N个训练样本N的集合表示为{xi,yi},向量xi包括k个输入的跨层参数,表示为xi={x1,…,xk},yi表示主观实验得出的MOS值,值域为1≤yi≤5,具体训练过程如下:a)定义初始化弱分类器为常数ρ,满足:

其中F0(xi)表示初始化的弱分类器,常数ρ使得预测

损失函数达到最小值,L(yi,ρ)表示初始化弱分类器的预测损失函数,表达式为L(yi,ρ)2

=(yi-ρ) ;

b)在每次迭代中都构造一个基于回归树的弱分类器,并设第m次迭代后得到的预测函数为Fm(xi),相应的预测损失函数为L(yi,Fm(xi)),为使预测损失函数减小得最快,第m个弱分类器建立在前m-1次迭代的预测损失函数的梯度下降方向:i=1…N,其中-gm(xi)表示第m次迭

代的弱分类器的建立方向,L(yi,F(xi))表示前m-1次迭代的预测损失函数,表达式为2

L(yi,F(xi))=(yi-F(xi)), 表示对预测损失函数求偏导,设第m个弱分类器的表达形式为βmh(xi;αm),其中h(xi;αm)表示第m个回归树,向量αm表示第m个回归树的参数,βm表示第m个回归树的权重,基于求得的梯度下降方向-gm(xi),αm是使h(xi;

αm)沿此方向逼近的参数值,即

βm是沿此方向搜索的最优步长,即

c)更新每次迭代后得到的预测函数,即Fm(xi)=Fm-1(xi)+βmh(xi;αm),若相应的预测损失函数满足误差收敛条件,则终止迭代。

2.根据权利要求1所述的一种基于体验质量预测的移动视频码率调整方法,其特征在于:步骤3中所述QoE预测模型位于视频服务器侧,输入为端到端的跨层参数,包括网络层参数、应用层参数、视频内容特征参数以及用户终端参数,其中所述网络层参数由移动终端用户发送的RTCP接收方报告统计,所述应用层参数由视频编码器处获取,所述视频内容特征参数通过计算源视频的亮度变化信息和边缘块信息来获取,所述用户终端参数通过移动终端的IMEI串号查询获得。

3.根据权利要求1所述的一种基于体验质量预测的移动视频码率调整方法,其特征在于:步骤4中所述网络拥塞指示用CI表示,通过端到端的丢包率来衡量,用PLR表示,当PLR≤PLRth时,表明网络未发生拥塞,此时CI=0;当PLR>PLRth时,表明网络发生拥塞,此时CI=1,其中PLRth表示丢包率的预设阈值。

4.根据权利要求1所述的一种基于体验质量预测的移动视频码率调整方法,其特征在于:步骤4中所述码率调整策略,具体是:在第n+1个码率调整周期开始时刻,通过滑动窗机制观察第n-1个周期和第n个周期内的网络拥塞指示CIn-1和CIn,共分四种情况,其中第n-1个周期、第n个周期和第n+1个周期内的码率等级分别表示为leveln-1、leveln和leveln+1,且其值域属于{0,1,2,3}:如果CIn-1=0且CIn=0,说明网络状况良好,此时取前两个周期内码率的较小值并向上调整一个等级,即调整后的码率等级为leveln+1=min{leveln-1,leveln}+1;

如果CIn-1=0且CIn=1,说明网络开始发生拥塞,此时取前两个周期内码率的较小值并向下调整一个等级,即调整后的码率等级为leveln+1=min{leveln-1,leveln}-1;

如果CIn-1=1且CIn=0,说明网络的状态从拥塞过渡到良好,此时码率暂时不作调整,即leveln+1=leveln;

如果CIn-1=1且CIn=1,说明网络的拥塞状况严重,此时取前两个周期内码率的较小值并向下调整两个等级,即调整后的码率等级为leveln+1=min{leveln-1,leveln}-2。

说明书 :

一种基于体验质量预测的移动视频码率调整方法

技术领域

[0001] 本发明涉及移动通信技术领域,尤其涉及一种基于体验质量预测的移动视频码率调整方法。

背景技术

[0002] 随着移动通信技术、压缩技术、视频编解码技术的不断发展,移动视频业务得到了飞速的发展和应用。移动视频流的实时传输对网络带宽的要求很高,且由于视频数据量较大的特点,需要在发送端先进行适当的压缩编码,在接收端再利用相关信息恢复视频数据,在整个压缩、处理、传输、恢复的过程中会产生不同程度的失真。
[0003] 为了提高视频的传输质量,现有技术通常在视频服务器端进行自适应码率控制,根据网络的可用资源实时调整发送码率,例如当用户的可用带宽过低时,就选择低码率的视频进行传输,从而避免丢包的产生;当用户的可用带宽升高时,就选择高码率的视频进行传输,从而提高视频的清晰度以及带宽利用率。
[0004] 视频源服务器通过实时传输协议(Real-time Transport Protocol,RTP)来传输视频数据包的同时,每隔一段时间会发送实时传输控制协议(Real-time Transport Control Protocol,RTCP)的发送方报告(Sender Report,SR),用来统计数据包的发送情况,而移动终端也会定期发送接收方报告(Receiver Report,RR),用来提供关于当前网络状况和数据接收质量的反馈,包括网络的丢包率、延时抖动、最大接收包序号和最大发送包序号等信息。视频服务器正是基于这种反馈机制,统计出最能反映网络质量的参数,从而实时调整视频的编码速率。然而现有的码率控制技术通常只考虑网络底层的客观参数对视频质量的影响,而忽视了移动用户在观看视频时的主观感受。
[0005] 衡量用户主观感受的指标为QoE(Quality of Experience,体验质量),由国际电信联盟标准化组织定义为“由终端用户所感知的一种应用或业务的总体可接受程度”,它不仅包含网络的传输质量,也考虑了终端的性能以及用户的期望。在码率调整技术中,目前的研究热点集中在如何结合用户的QoE值进行更为有效的码率控制,从而最大化用户的体验质量。用户的体验质量受到不同层面的参数的影响,比如网络层的传输参数、应用层的编解码参数、移动终端的性能以及视频本身的内容特征等,用户体验的评估方法就是根据这些客观参数建立QoE预测模型,从而实时监测用户观看视频时的QoE。现有QoE评估技术通常在移动终端侧进行用户体验的预测,然后将预测结果反馈给网络。然而这种方法不仅增加了网络的负担,而且对终端的处理性能要求较高,同时让每个智能手机定制QoE预测模块是有难度的。
[0006] 综上,如何有效预测用户的QoE值并根据预测结果进行视频码率的调整,目前尚未出现很好的解决方案。

发明内容

[0007] 本发明的目的是为了克服现有解决方案的不足,提供一种基于体验质量预测的移动视频码率调整方法。本发明所述的方法通过QoE预测模型周期性地计算用户体验值,当用户的体验质量下降到可接受阈值以下时,及时调整视频的编码速率从而改善用户的QoE,其中所述QoE预测模型位于视频服务器端。
[0008] 为实现上述目的,本发明中视频服务器端包含以下功能单元:
[0009] 丢包率统计单元,用于接收移动终端发送的RTCP接收方报告,计算每个码率调整周期内网络的端到端丢包率,输出到QoE预测单元,同时根据计算出的丢包率以及预设的丢包率阈值判断网络的拥塞状态,输出到码率调整单元;
[0010] QoE预测单元:用于根据输入的跨层参数实时监测用户的体验质量,并将计算的MOS值(Mean Opinion Score,平均意见分)输出到码率调整单元;
[0011] 码率调整单元:用于根据输入的MOS值和网络拥塞指示做出相应的码率调整策略,并将下一周期的码率等级输出到编码器单元;
[0012] 编码器单元:用于根据输入的码率等级对源视频进行编码,输出相应码率的视频流数据。
[0013] 本发明的具体步骤为:
[0014] 步骤1:在发送端将视频编码速率从小到大分为四个等级,分别是低等、中等、高等和优秀,用一个集合level={0,1,2,3}表示,其中level=0表示码率等级为低等,level=1表示码率等级为中等,level=2表示码率等级为高等,level=3表示码率等级为优秀。
[0015] 步骤2:当移动终端用户请求视频业务时,将视频的初始码率等级设为中等,以获得比较快的接入速率。
[0016] 步骤3:QoE预测模型周期性地计算用户的体验质量,用MOSn表示终端用户在第n个周期内的整体感受。
[0017] 步骤3中所述QoE预测模型位于视频服务器侧,输入为端到端的跨层参数,包括网络层参数(丢包率)、应用层参数(视频码率、帧率、分辨率)、视频内容特征参数(时间域特征、空间域特征)以及用户终端参数(屏幕尺寸),其中所述网络层参数(丢包率)由移动终端用户发送的RTCP接收方报告统计,所述应用层参数(视频码率、帧率、分辨率)由视频编码器处获取,所述视频内容特征参数(时间域特征、空间域特征)通过计算源视频的亮度变化信息和边缘块信息来获取,所述用户终端参数(屏幕尺寸)通过移动终端的IMEI串号查询获得。
[0018] 步骤3中所述QoE预测模型通过训练若干个梯度提升决策树建立,其中N个训练样本的集合表示为 ,向量xi包括k 个输入的跨层参数,表示为 ,yi表示主观实验得出的MOS值,值域为1≤yi≤5,具体训练过程如下:
[0019] a)定义初始化弱分类器为常数 ,满足:
[0020] ,其中 表示初始化的弱分类器,常数 使得预测损失函数达到最小值, 表示初始化弱分类器的预测损失函数,表达式为;
[0021] b)在每次迭代中都构造一个基于回归树的弱分类器,并设第m 次迭代后得到的预测函数为 ,相应的预测损失函数为 ,为使预测损失函数减小得最快,第m 个弱分类器建立在前m-1次迭代的预测损失函数的梯度下降方向:
[0022] , ,其中 表示第m 次迭代的弱分类器的建立方向, 表示前m-1次迭代的预测损失函数,表达式为
, 表示对预测损失函数求偏导,设第m 个弱分
类器的表达形式为 ,其中 表示第m 个回归树,向量 表示第m个回
归树的参数, 表示第m 个回归树的权重,基于求得的梯度下降方向 , 是使沿此方向逼近的参数值,即
[0023] , 是沿此方向搜索的最优步长,即。
[0024] c)更新每次迭代后得到的预测函数,即 ,若相应的预测损失函数满足误差收敛条件,则终止迭代。
[0025] 步骤4:对所预测的MOSn值和预设的QoE阈值进行比较,其中预设的QoE阈值用MOSth表示,若MOSn≥MOSth,码率不做调整,否则根据两个周期内接收端反馈的网络拥塞指示和视频编码速率做出相应的码率调整策略,输出下一周期的码率等级。
[0026] 步骤4中所述网络拥塞指示用CI 表示,通过端到端的丢包率(PLR)来衡量,当PLR ≤PLRth时,表明网络未发生拥塞,此时CI=0;当PLR>PLRth时,表明网络发生拥塞,此时CI=1,其中PLRth为丢包率的预设阈值。
[0027] 步骤4中所述码率调整策略,具体是:在第n+1个码率调整周期开始时刻,通过滑动窗机制观察第n-1个周期和第n个周期内的网络拥塞指示CIn-1和CIn,共分四种情况,其中第n-1个周期、第n 个周期和第n+1个周期内的码率等级分别表示为leveln-1、leveln和leveln+1,且其值域属于{0,1,2,3}:
[0028] 如果CIn-1=0且CIn=0,说明网络状况良好,此时取前两个周期内码率的较小值并向上调整一个等级,即调整后的码率等级为
[0029] ;
[0030] 如果CIn-1=0且CIn=1,说明网络开始发生拥塞,此时取前两个周期内码率的较小值并向下调整一个等级,即调整后的码率等级为
[0031] ;
[0032] 如果CIn-1=1且CIn=0,说明网络的状态从拥塞过渡到良好,此时码率暂时不作调整,即 ;
[0033] 如果CIn-1=1且CIn=1,说明网络的拥塞状况严重,此时取前两个周期内码率的较小值并向下调整两个等级,即调整后的码率等级为
[0034] 。
[0035] 步骤5:重复上述步骤3~步骤4,直至请求结束。
[0036] 由上述所提供的技术方案可以看出,本发明的这种基于体验质量预测的移动视频码率调整方法,根据QoE预测模型对移动终端用户的体验质量进行实时监控,当发现用户的QoE值下降到可接受阈值以下时,根据前两个周期内网络的拥塞状态做出及时判断,提升或降低码率的等级,进而改善用户的QoE。所述QoE预测模型位于视频服务器侧,通过机器学习理论中的梯度提升决策树进行自学习,考虑了影响用户体验的端到端的跨层参数,包括网络层参数、应用层参数、视频内容特征参数以及用户终端参数,其中所述跨层参数均可以在视频服务器端得到。QoE预测模型通过若干个训练样本进行训练,可以准确地预测用户的体验质量,且由于放置在源服务器侧,预测结果可以及时反馈给码率调整单元,同时不增加网络的负担。所述码率调整策略的原则是当网络状态好时缓慢提升码率等级,从而避免拥塞的产生,当网络状态差时快速降低码率等级,从而减轻网络拥塞,且由于采用滑动窗机制观察两个周期内网络的状态,可以有效提高根据无线网络带宽变化调整码率的可靠性。
[0037] 本发明的这种方法解决了目前码率调整方法中没有考虑用户对视频质量主观感受的问题,能够在充分利用网络资源的同时避免或减弱网络拥塞的产生,进而有效提升用户的体验质量。

附图说明

[0038] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,本领域普通技术人员可通过本附图获得其他的附图。
[0039] 图1是本发明实施方式中视频服务器端的功能结构示意图。
[0040] 图2是本发明实施方式中视频码率调整策略的流程图。
[0041] 图3是本发明实施方式中QoE预测模型的结构框图。
[0042] 图4是本发明实施方式中建立QoE预测模型的流程图。

具体实施方式

[0043] 为将本发明的技术方案优势描述的更加清楚,下面结合附图对本发明的具体实施方式作进一步的详细阐述。
[0044] 本发明针对现有码率调整技术的不足,提出了一种自适应视频码率调整方法,根据用户的体验质量和网络的拥塞状态实时调整视频的编码速率。本发明适用于无线网络场景,如WCDMA、CDMA2000、TD-SCDMA、LTE网络等。所述码率调整方法的所有功能模块均位于视频服务器侧,如图1中虚线框内所示,包含以下功能单元:
[0045] 丢包率统计单元,用于接收移动终端发送的RTCP接收方报告,计算每个码率调整周期内网络的端到端丢包率,输出到QoE预测单元,同时根据计算出的丢包率以及预设的丢包率阈值判断网络的拥塞状态,输出到码率调整单元;
[0046] QoE预测单元:用于根据输入的跨层参数实时监测用户的体验质量,并将计算的MOS值输出到码率调整单元;
[0047] 码率调整单元:用于根据输入的MOS值和网络拥塞指示做出相应的码率调整策略,并将下一周期的码率等级输出到编码器单元;
[0048] 编码器单元:用于根据输入的码率等级对源视频进行编码,输出相应码率的视频流数据。
[0049] 本发明实施例中视频码率调整方法的流程图如图2所示,具体步骤如下:
[0050] 步骤1:将发送端的视频编码速率从小到大分为四个等级,分别是低等、中等、高等和优秀,如88Kbps、104Kbps、256Kbps和512Kbps,用一个集合level={0,1,2,3}表示,其中level=0表示码率等级为低等,level=1表示码率等级为中等,level=2表示码率等级为高等,level=3表示码率等级为优秀。
[0051] 步骤2:当移动终端用户请求视频业务时,将视频的初始码率等级设为中等,即level=1,以获得比较快的接入速率。
[0052] 步骤3:设码率调整周期T 为1s,QoE预测模型周期性地计算用户的体验质量,用MOSn表示终端用户在第n个周期内的整体感受。
[0053] 步骤4:对所预测的MOSn值和预设的QoE阈值进行比较,其中预设的QoE阈值用MOSth表示,此处设为3.5,表示用户在观看视频时的可接受阈值,若MOSn≥MOSth,码率不做调整,否则根据两个周期内接收端反馈的网络拥塞指示和编码速率做出相应的码率调整策略,输出下一周期的码率等级。
[0054] 步骤4中所述网络拥塞指示用CI 表示,通过端到端的丢包率(PLR)来衡量,当PLR ≤PLRth时,表明网络未发生拥塞,此时CI=0;当PLR>PLRth时,表明网络发生拥塞,此时CI=1,其中PLRth为丢包率的预设阈值,此处可设为0.5%。
[0055] 步骤4中所述码率调整策略,具体是:在第n+1个码率调整周期开始时刻,通过滑动窗机制观察第n-1个周期和第n个周期内的网络拥塞指示CIn-1和CIn,共分四种情况,其中第n-1个周期、第n 个周期和第n+1个周期内的码率等级分别表示为leveln-1、leveln和leveln+1,且其值域属于{0,1,2,3}:
[0056] 如果CIn-1=0且CIn=0,说明网络状况良好,此时取前两个周期内码率的较小值并向上调整一个等级,即调整后的码率等级为
[0057] ;
[0058] 如果CIn-1=0且CIn=1,说明网络开始发生拥塞,此时取前两个周期内码率的较小值并向下调整一个等级,即调整后的码率等级为
[0059] ;
[0060] 如果CIn-1=1且CIn=0,说明网络的状态从拥塞过渡到良好,此时码率暂时不作调整,即 ;
[0061] 如果CIn-1=1且CIn=1,说明网络的拥塞状况严重,此时取前两个周期内码率的较小值并向下调整两个等级,即调整后的码率等级为
[0062] 。
[0063] 步骤5:重复上述步骤3~步骤4,直至请求结束。
[0064] 本实施例中步骤3所述QoE预测模型的结构框图如图3所示,模型考虑了端到端的跨层参数,包括网络层参数(丢包率)、应用层参数(视频码率、帧率、分辨率)、视频内容特征参数(时间域特征、空间域特征)以及用户终端参数(屏幕尺寸)。QoE预测模型的建立过程分为两个阶段,分别是训练阶段和预测阶段。在训练阶段,跨层参数以及主观实验得到的QoE训练值作为输入,训练出若干个梯度提升决策树,在图3中用BL0~BLM表示;在预测阶段,只有跨层参数输入到训练好的模型中,输出为预测的QoE值。图4是本实施例中建立QoE预测模型的流程图,具体过程如下:
[0065] (1)输入模型训练参数,如误差收敛条件、模型的学习速率、最大叶子节点数目等。
[0066] (2)在取值不同的跨层参数组合下,得到若干个损伤程度不同的视频片段,并进行主观实验得到用户观看视频的主观体验质量,用MOS值来衡量,分值范围为1~5,其中分值越高代表用户观看视频的体验质量越好。所述跨层参数中丢包率可取0~20%,视频码率可取32Kbps~1Mbps,视频帧率可取10fps、15fps、30fps,视频分辨率可取QCIF、CIF,屏幕尺寸可考虑小屏幕(如智能手机)和大屏幕(如平板电脑),视频的内容特征可通过计算源视频的亮度变化信息和边缘块信息来获取。将最终得到的数据集随机选取80%数据作为训练样本,输入到QoE预测模型中进行训练。
[0067] (3)定义初始化弱分类器为常数 ,其中N 个训练样本的集合表示为 ,向量xi包括k个输入的跨层参数,表示为 ,yi表示主观实验得出的MOS值,常数 满足:
[0068] ,其中 表示初始化的弱分类器,常数 使得预测损失函数达到最小值, 表示初始化弱分类器的预测损失函数,表达式为;
[0069] (4)在每次迭代中都构造一个基于回归树的弱分类器,并设第m次迭代后得到的预测函数为 ,相应的预测损失函数为 ,为使预测损失函数减小得最快,第m 个弱分类器建立在前m-1次迭代的预测损失函数的梯度下降方向:
[0070] , ,其中 表示第m 次迭代的弱分类器的建立方向, 表示前m-1次迭代的预测损失函数,表达式为
, 表示对预测损失函数求偏导,设第m 个弱分
类器的表达形式为 ,其中 表示第m 个回归树,向量 表示第m个回
归树的参数, 表示第m 个回归树的权重,基于求得的梯度下降方向 , 是使沿此方向逼近的参数值,即
[0071] , 是沿此方向搜索的最优步长,即。
[0072] (5)更新每次迭代后得到的预测函数,即 ,若相应的预测损失函数满足误差收敛条件,则终止迭代。
[0073] (6)将数据集剩余的20%数据作为预测样本,输入到QoE预测模型中。
[0074] (7)计算预测误差,若满足误差收敛条件,则完成QoE预测模型的建立。