一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络吞吐量预测方法及码率自适应分配方法与流程

2021-11-15 17:31:00 来源:中国专利 TAG:


1.本发明涉及视频通信技术领域,特别涉及一种网络吞吐量预测方法及码率自适应分配方法。


背景技术:

2.目前,随着网络在线观看视频的需求不断增长,视频流媒体传输已经成为了整个通信网络中不可忽略的流量组成部分。而用户在线观看流媒体视频时,不同用户的网络环境会导致不同用户的整体观看体验不同,包括不同的观看画面质量、卡顿和延迟。
3.动态流媒体码率自适应技术是为了最大化用户在线观看视频的体验质量而提出的一种网络服务优化方案。具体的,在视频服务器端,视频服务提供商将给定视频切分为固定播放长度的视频切片序列,每一个视频切片编码多个不同码率的版本。在用户端,流媒体播放器通过观测用户网络环境及播放器视频缓冲区状况通过码率自适应分配方法以最大化用户观看该视频时的总体体验质量为目标,为每一个视频切片选择一个最佳的码率版本进行下载和播放。由于网络吞吐量动态变化、难以预测,优化变量维度高且复杂,因此码率自适应分配问题是一个np

hard问题,无法在多项式时间内取得最优解。


技术实现要素:

4.本发明针对上述现有技术中存在的问题,提出一种网络吞吐量预测方法及码率自适应分配方法,以解决现有技术中网络吞吐量预测中没有考虑其不确定性,码率分配不鲁棒或不稳定的问题。
5.为解决上述技术问题,本发明是通过如下技术方案实现的:
6.本发明提供一种网络吞吐量预测方法,其包括:
7.s11:构建输入为待下载视频切片的前多个视频切片下载时间段内的网络吞吐量数据、输出为未来短期网络吞吐量预测统计分布的贝叶斯神经网络;
8.s12:构建超参神经网络,拟合所述贝叶斯神经网络的参数的统计分布;
9.s13:构建网络吞吐量数据集,对于数据集采集过程中播放的任意一个视频切片,记录位于该视频切片前的多个已播放视频切片被下载时间段内的用户网络吞吐量数据作为数据集输入数据,记录该视频切片下载时间段内的用户真实网络吞吐量数据作为数据集标签数据;
10.s14:采用基于kl散度的网络训练损失函数,利用所述网络吞吐量数据集对所述超参神经网络进行参数迭代更新,得到最优的超参神经网络的参数模型,以计算所述贝叶斯神经网络的参数分布,通过对所述贝叶斯神经网络的参数进行蒙特卡洛采样,计算出未来短期的网络吞吐量的统计分布平均值以及预测不确定度。
11.较佳地,所述s11中的贝叶斯神经网络表示为:
12.(μ
k

k
)=f(c
k
‑1,c
k
‑2,

,c
k

l
|w)
13.其中,μ
k
和σ
k
分别表示预测的第k个视频切片下载时间段内的网络吞吐量的统计分
布平均值和预测不确定度,c
k
表示下载第k个视频切片时间段内真实的网络吞吐量平均值,w表示该贝叶斯神经网络的参数。
14.较佳地,所述s12中的超参神经网络的输出表示为:q(w|θ);
15.其中,θ表示所述超参神经网络的参数,w表示所述贝叶斯神经网络的参数。
16.较佳地,所述s13中的网络吞吐量数据集表示为:
[0017][0018]
其中,x表示由所有已播放的l个视频切片下载期间的真实网络吞吐量的平均值向量x
k
=(c
k
‑1,c
k
‑2,

,c
k

l
)构成的集合,y表示由所有向量x
k
对应的标签数据y
k
=c
k
构成的集合。
[0019]
较佳地,所述s14中的基于kl散度的网络训练损失函数l为超参神经网络输出q(w|θ)与以数据集为条件的贝叶斯神经网络参数后验分布之间的kl散度,具体为:
[0020][0021]
其中π(w)表示贝叶斯神经网络参数的先验分布。
[0022]
较佳地,所述s14中的蒙特卡洛采样包括:令参数w
i
表示对分布q(w|θ)的第i次采样,利用该采样的结果计算出未来短期的网络吞吐量的单次分布平均值和预测不确定度为:
[0023][0024]
对分布q(w|θ)进行n次采样,得到预测的未来短期的网络吞吐量的统计分布平均值和预测不确定度为:
[0025][0026][0027]
其中,var(
·
)表示样本的统计方差。
[0028]
本发明还提供一种码率自适应分配方法,其包括:
[0029]
s21:将视频流在时间上切分为一连串的固定播放长度的视频流切片序列,每一个视频切片编码为多个不同码率的版本并缓存;
[0030]
s22:当请求下载任意视频切片时,首先预测未来时间段内用户网络吞吐量分布;
[0031]
其中,所述预测未来时间段内用户网络吞吐量分布为采用上述所述的网络吞吐量预测方法;
[0032]
s23:基于视频流的不同码率版本的视频切片组成的全集、待下载视频切片的前一个视频切片下载选择的码率版本、待下载视频切片的下载前用户端播放器视频缓冲区剩余未播放视频时长、未来时间段内用户网络吞吐量分布,对每个视频切片下载码率版本进行最优分配,并下载该码率版本的视频切片至用户端进行播放。
[0033]
较佳地,所述s22中的预测未来时间段内用户网络吞吐量分布进一步包括:
[0034]
s221:预测下一视频切片下载期间网络吞吐量分布;
[0035]
s222:预测未来多个视频下载期间网络吞吐量分布。
[0036]
相较于现有技术,本发明实施例具有以下至少一种优点:
[0037]
(1)本发明提供的网络吞吐量预测方法及码率自适应分配方法,通过构建以历史吞吐量数据为输入,未来短期吞吐量预测分布为输出的贝叶斯神经网络模型,利用变分推断技术(s12中的构建超参神经网络)和数据驱动的方式(s13、s14)优化该模型的网络参数,最终获得最优的超参神经网络模型参数,进而获得最优贝叶斯神经网络模型参数,提高了网络吞吐量预测的精确性;
[0038]
(2)本发明提供的网络吞吐量预测方法及码率自适应分配方法,通过结合动态自适应流媒体技术将视频在时间上切分为固定播放长度的视频切片序列,每个视频切片都编码多个不同码率的版本,在用户端,视频播放器按顺序下载视频切片序列时,采用基于贝叶斯神经网络的网络吞吐量预测方法,预测未来短期网络吞吐量的统计分布和不确定度,同时采用鲁棒的码率自适应分配方法根据未来短期吞吐量的预测分布和当前视频播放器缓冲区状况动态地确定每个待下载视频切片的最佳码率,以最大化用户的整体观看体验质量,提高了网络视频流传输的带宽利用率和鲁棒性;
[0039]
(3)本发明提供的网络吞吐量预测方法及码率自适应分配方法,通过使用网络吞吐量预测方法预测出未来短期内的吞吐量变化分布,随后计算出给定置信度水平的置信区间,并将置信区间的下界作为对未来吞吐量的鲁棒预测值,采用模型预测控制方法并结合动态自适应流媒体技术对网络视频流进行鲁棒的最优码率自适应分配,最终实现用户在不同的网络环境下观看视频流时的总体观看体验最大化,进一步提高了网络流媒体自适应传输的带宽利用率和鲁棒性,为用户提供了更好的视频服务质量。
附图说明
[0040]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041]
图1为本发明一实施例的网络吞吐量预测方法的流程图;
[0042]
图2为本发明一实施例的码率自适应分配方法的流程图。
具体实施方式
[0043]
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0044]
如图1所示为本发明一实施例的网络吞吐量预测方法的流程图。
[0045]
请参考图1,本实施例的网络吞吐量预测方法包括:
[0046]
s11:构建输入为待下载视频切片的前多个视频切片下载时间段内的网络吞吐量数据、输出为未来短期网络吞吐量预测统计分布的贝叶斯神经网络;
[0047]
s12:构建超参神经网络,拟合贝叶斯神经网络的参数的统计分布;
[0048]
s13:构建网络吞吐量数据集,对于数据集采集过程中播放的任意一个视频切片,记录位于该视频切片前的多个已播放视频切片被下载时间段内的用户网络吞吐量数据作为数据集输入数据,记录该视频切片下载时间段内的用户真实网络吞吐量数据作为数据集标签数据;
[0049]
s14:采用基于kl散度的网络训练损失函数,利用网络吞吐量数据集对超参神经网络进行参数迭代更新,得到最优的超参神经网络的参数模型,以计算贝叶斯神经网络的参数分布,通过对贝叶斯神经网络的参数进行蒙特卡洛采样,计算出未来短期的网络吞吐量的统计分布平均值以及预测不确定度。
[0050]
本实施例通过构建以历史吞吐量数据为输入,未来短期吞吐量预测分布为输出的贝叶斯神经网络模型,并进一步优化该模型的网络参数,最终获得最优的网络吞吐量预测器,提高了网络吞吐量预测的精确性;
[0051]
较佳实施例中,s11中的贝叶斯神经网络表示为:
[0052]

k

k
)=f(c
k
‑1,c
k
‑2,

,c
k

l
|w)
[0053]
其中,μ
k
和σ
k
分别表示预测的第k个视频切片下载时间段内的网络吞吐量的统计分布平均值和预测不确定度,c
k
表示下载第k个视频切片时间段内真实的网络吞吐量平均值,w表示该贝叶斯神经网络的参数。
[0054]
较佳实施例中,s12中的超参神经网络的输出表示为:q(w|θ);
[0055]
其中,θ表示所述超参神经网络的参数,w表示贝叶斯神经网络的参数。
[0056]
较佳实施例中,s13中的网络吞吐量数据集表示为:
[0057][0058]
其中,x表示由所有已播放的l个视频切片下载期间的真实网络吞吐量的平均值向量x
k
=(c
k
‑1,c
k
‑2,

,c
k

l
)构成的集合,y表示由所有向量x
k
对应的标签数据y
k
=c
k
构成的集合。
[0059]
在实际环境中部署不确定度感知的网络吞吐量预测方法时,需要预先获得该网络吞吐量预测方法使用的贝叶斯网络模型最优参数,即使用网络吞吐量数据集离线训练超参神经网络模型参数,使其收敛到最优值。训练完成后超参神经网络的输出即为贝叶斯网络的模型参数最优分布。以下对离线训练过程进行实例分析,在本实例中,假设贝叶斯神经网络表示为(μ
k

k
)=f(c
k
‑1,c
k
‑2,

,c
k

l
|w),其中,μ
k
和σ
k
分别表示预测的第k个视频切片下载时间段内用户处的网络吞吐量统计分布平均值和预测不确定度,c
k
表示下载第k个视频切片时间段内用户处真实的网络吞吐量平均值,w表示该贝叶斯神经网络的参数。
[0060]
一实施例中,对超参神经网络的参数进行离线训练时,采用随机梯度下降的迭代更新方法,可以获得使贝叶斯神经网络模型泛化误差最小的超参神经网络参数,提高网络吞吐量预测鲁棒性,包括如下步骤:
[0061]
(1)随机初始化超参神经网络参数θ,令贝叶斯神经网络参数w的先验分布π(w)为标准高斯分布;
[0062]
(2)随机从网络数据集选取一对数据(x
k
,y
k
);
[0063]
(3)对超参神经网络输出q(w|θ)进行采样,获得采样后的贝叶斯神经网络参数w
i
~q(w|θ),计算贝叶斯神经网络输出
[0064]
(4)重复步骤3i次,获得关于超参神经网络参数θ的训练损失函数,公式表达为:对θ进行参数更新其中,α为学习率;
[0065]
(5)重复步骤2、3、4,直至参数θ收敛。
[0066]
较佳实施例中,s14中的基于kl散度的网络训练损失函数l为超参神经网络输出q(w|θ)与以数据集为条件的贝叶斯神经网络参数后验分布之间的kl散度,可以在训练过程中不断减小q(w|θ)与之间的分布距离,从而使超参神经网络输出拟合真实的贝叶斯神经网络参数后验分布,具体为:
[0067][0068]
其中π(w)表示贝叶斯神经网络参数的先验分布。
[0069]
较佳实施例中,为了在有限样本内有效近似未来短期网络吞吐量的统计分布平均值和预测不确定度,可以采用蒙特卡洛采样方法,s14中的蒙特卡洛采样包括:令参数w
i
表示对分布q(w|θ)的第i次采样,利用该采样的结果计算出未来短期的网络吞吐量的单次分布平均值和预测不确定度为:
[0070][0071]
对分布q(w|θ)进行n次采样,得到预测的未来短期的网络吞吐量的统计分布平均值和预测不确定度为:
[0072][0073][0074]
其中,var(
·
)表示样本的统计方差。
[0075]
如图2所示为本发明一实施例的码率自适应分配方法的流程图。
[0076]
请参考图2,本实施例的码率自适应分配方法包括:
[0077]
s21:服务器处的动态流媒体自适应切分与编码,将视频流在时间上切分为一连串的固定播放长度的视频流切片序列,每一个视频切片编码为多个不同码率的版本并缓存;
[0078]
一实施例中,对网络视频流在服务器端的切分和编码进行实例分析,假设服务器中存储的视频文件被切分为f个播放时间长度为l的视频切片u
k
(f为任意大于2的正整数),记为视频切片集合对每一个视频切片,使用动态自适应流媒体编码技术,编码为m个不同码率的版本(m为任意大于2的正整数),记为视频切片版本集合码技术,编码为m个不同码率的版本(m为任意大于2的正整数),记为视频切片版本集合并且该集合按照编码码率呈降序排列,即r1<r2<

<r
m

[0079]
s22:在用户端处,当用户请求下载任意视频切片时,首先预测未来时间段内用户网络吞吐量分布;
[0080]
其中,预测未来时间段内用户网络吞吐量分布为采用上述任一实施例的网络吞吐
量预测方法;
[0081]
s23:基于在服务器端处得到的视频流的不同码率版本的视频切片组成的全集、待下载视频切片的前一个视频切片下载选择的码率版本、待下载视频切片的下载前用户端播放器视频缓冲区剩余未播放视频时长、未来时间段内用户网络吞吐量分布,对每个视频切片下载码率版本进行最优分配,并下载该码率版本的视频切片至用户端进行播放。
[0082]
本实施例通过结合动态自适应流媒体技术将视频在时间上切分为固定播放长度的视频切片序列,每个视频切片都编码多个不同码率的版本,在用户端,视频播放器按顺序下载视频切片序列时,采用基于贝叶斯神经网络的网络吞吐量预测方法,预测未来短期网络吞吐量的统计分布和不确定度,同时采用鲁棒的码率自适应分配方法根据未来短期吞吐量的预测分布和当前视频播放器缓冲区状况动态地确定每个待下载视频切片的最佳码率,以最大化用户的整体观看体验质量,提高了网络视频流传输的带宽利用率和鲁棒性。
[0083]
较佳实施例中,为了获得未来长期网络吞吐量信息,提高码率自适应分配准确度,s22中的预测未来时间段内用户网络吞吐量分布进一步包括:
[0084]
s221:预测下一视频切片下载期间网络吞吐量分布;
[0085]
s222:预测未来多个视频下载期间网络吞吐量分布。
[0086]
较佳实施例中,为了有效衡量网络吞吐量预测的不确定度信息,s221进一步包括:采用上述任一实施例的网络吞吐量预测方法预测下一视频切片下载时间段内用户端网络吞吐量平均值置信度区间,具体包括:
[0087]
s2211:将x
k
作为不确定度感知的网络吞吐量预测方法中贝叶斯神经网络输入,通过对参数w的单次采样w
i
~q(w|θ),获得单次预测值和不确定度为
[0088]
s2222:重复s2211,对参数w进行n次采样,可以得到预测的下一视频切片下载期间用户网络吞吐量统计分布平均值和不确定度为用户网络吞吐量统计分布平均值和不确定度为其中,var(
·
)表示样本的统计方差;
[0089]
s2223:当请求下载第k个视频切片时,采用前l个视频切片下载期间的真实网络吞吐量平均值向量x
k
=(c
k
‑1,c
k
‑2,

,c
k

l
)作为贝叶斯神经网络预测器的输入,输出下载第k个视频切片时间段内网络吞吐量平均值和不确定度(μ
k

k
),则预测下载第k个视频切片时间段内用户的网络吞吐量平均值置信度区间为:
[0090][0091]
其中,δ为置信度水平,即表示当下载第k个视频切片时间段内用户的网络吞吐量的真实平均值在区间c
k,δ
内的概率;z
δ
>0是与置信度水平δ负相关的控制参数。
[0092]
s222进一步包括:为了简单有效地重复利用s221进行长期预测,采用滑动窗式预测的方法对未来多个视频切片下载期间网络吞吐量分布进行预测,具体为:
[0093]
s2221:预测下载第k i(i=1,2,3

)个视频切片时,将向量x
k
中的所有元素向左循环平移i位,记为并将已预测的长度为i平均值向量(μ
k
,


k i
‑1)替代向量中的后i位元素,构成新的输入向量使用该向量作为贝叶斯神经网络预测器的输入,获得预测的下载第k i个视频切片时间段内用户的网络吞吐量平均值置信度区间c
k i,δ

[0094]
s2222:重复s2221对下载第k i(i=2,3,

,t)个视频切片期间用户的网络吞吐量的真实平均值进行预测,其中t一般取大于一的整数,得到未来长期吞吐量鲁棒预测向量c
k,δ
,c
k 1,δ
,c
k 2,δ
,

,c
k t

1,δ

[0095]
较佳实施例中,s23中的对每个视频切片下载码率进行分配进一步为:采用模型预测控制的方法为每一个待下载视频流切片确定最优码率版本并下载,可以逼近码率自适应分配问题的最优解,并降低网络吞吐量预测可能的误差对码率自适应分配的影响,具体包括:
[0096]
s231:当用户请求下载第k个视频切片u
k
时,将预测向量c
k,δ
,c
k 1,δ
,c
k 2,δ
,

,c
k t

1,δ
作为下载第k,k 1,k 2,

,k t

1个视频切片时间段内用户网络吞吐量的鲁棒预测值,以该鲁棒预测值作为未来下载第k,k 1,k 2,

,k t

1个视频切片时间段内的模拟网络吞吐量,并获取此时用户处播放器视频缓冲区内未播放视频的时长b
k

[0097]
s232:以s231得到的鲁棒预测值、用户播放器缓冲区未播放视频的时长b
k
为限制条件,计算所有第k,k 1,k 2,

,k t

1个视频切片码率组合对应的用户平均视频观看体验质量;
[0098]
s233:选择使第k,k 1,k 2,

,k t

1个视频切片的用户平均视频观看体验质量最大的码率版本组合r
k
,r
k 1
,r
k 2
,

,r
k t
‑1;
[0099]
s234:从视频服务器选择第k个视频切片的r
k
码率版本进行下载;
[0100]
s235:重复s231~s234。
[0101]
本发明上述实施例为适应动态自适应视频流媒体传输需要,提供了一种不确定度感知的网络吞吐量预测方法,提高了网络吞吐量预测的精确性,并在此基础上提供了一种鲁棒的动态流媒体码率自适应分配方法,提高了网络流媒体自适应传输的带宽利用率和鲁棒性,为用户提供了更好的视频服务质量。在同一仿真试验环境下,本发明提出的方法对比已提出的自适应码率分配方法可以提升至少9%的用户观看体验指标。
[0102]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的方法、系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的方法、系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0103]
此处公开的仅为本发明的优选实施例,本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,并不是对本发明的限定。任何本领域技术人员在说明书范围内所做的修改和变化,均应落在本发明所保护的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献