一种基于蚁群算法的视频多路并行传输分流方法及其系统与流程

文档序号:15049666发布日期:2018-07-27 23:57阅读:920来源:国知局

本发明涉及数据传输技术领域,尤其涉及一种基于蚁群算法的视频多路并行传输分流方法及其系统。



背景技术:

近年来,移动视频流量迎来了爆发式的增长。根据思科的市场调查报告显示,移动视频流量在2016年全年的移动数据流量中占比已经超过了60%,并且到了2021年这个数据将会达到78%。高速增长的视频流量给现有的网络负载能力带来了巨大的挑战。并且,随着无线网络技术的不断提升,用户对视频质量的需求也在不断提升。超高清、低时延的视频业务需求将成为未来的主流应用趋势。在当前的lte移动网络中,虽然覆盖范围广,移动性支持也较好,但移动用户的上行链路带宽有限,且移动网络的资费较高。而wifi无线网络,虽然速率较高,但移动性支持差,且覆盖范围有限。

蚁群算法是一种仿生学算法,是受到了大自然中蚂蚁寻找食物的过程启发的。蚂蚁在找到食物后,会开始向周围散发出信息素,该信息素会吸引种群的蚂蚁往信息素的方向移动,信息素越浓,吸引的蚂蚁越多。但信息素会随着时间的推移而挥发。假若其中由一只蚂蚁寻找到食物所经过的路径较短,则在相同的时间内该路径上的信息素挥发的较其他路径少,因此该路径会吸引更多的蚂蚁前往,最后全部的蚂蚁都会朝着通往食物最短的路径移动。如何将蚁群算法应用于数据传输技术领域成为一个研究课题。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于蚁群算法的视频多路并行传输分流方法及其系统。

本发明采用的技术方案是:

一种基于蚁群算法的视频多路并行传输分流方法,其包括以下步骤:

s1,设定第n路链路上的信息素浓度为pn,表示第n条链路上在过去的一段时间内分配的流量;随着链路n上分配的流量越多,链路n的信息素也越大,代表该链路质量越好,后续分配的概率也越大:同时规定pn的初始值pn=1,对第一帧设置初始值pn=1,其他帧以系统存储的pn值作为初始值;即在第一帧初始状态下所有路径的信息素浓度都相同,即为1。从第二帧开始,各路径的信息素浓度根据以前的分配情况更新;

s2,获取每路链路的带宽bn和时延tn;

s3,分别计算每路链路的期望程度参数rn,其计算公式为:

rn代表第n路链路的期望程度,链路的带宽bn越大,传输时延越小tn,该链路的期望程度越高,即拟分流的数据也将也多;

s4,根据rn从大到小依次计算所有链路分别预分配到的当前视频帧的流量大小sm,n;其计算公式为:

其中,bn*t代表在帧传输时间t内该路径的传输带宽,sm代表当前帧的大小,代表当前帧在第n路链路分配的数据大小,α为信息素浓度的权重,β为期望程度的权重;

s5,设定信息素浓度为pn的更新因子为γ,判断当前链路对应当前视频帧分配的数据大小是否超过该链路在帧传输时间t内的最大带宽:

不小于bn*t时,γ=0;否则,γ=sm,n;

s6,分别更新当前视频帧的每路链路的信息素浓度pn,其计算公式为:

pn=(1-ρ)*pn+γ

其中ρ为更新速率调整因子,ρ值越大更新越快,越小更新越慢。即当ρ较小时,更新以历史为重,当ρ较大时更新以当前的分配情况为准;

s7,依次迭代计算从第一视频帧到第m视频帧分别对应n路链路的信息素浓度pn,形成流量分配矩阵φm,n并输出。

进一步地,本发明还公开了一种基于蚁群算法的视频多路并行传输分流系统,其包括发送端和接收端,

发送端包括以下模块:

视频源:提供原始视频;

编码模块:用于对视频源提供的原始视频进行编码;

蚁群算法模块:基于接收端发送的各个链路的带宽和时延采用蚁群算法确定各链路分流决策输出流量分配矩阵φm,n;

视频分流模块:基于流量分配矩阵φm,n对视频进行分流并发送至多链路的发送缓存区;

接收端包括以下模块:

多路接收模块:用于从多条链路上分别接收分流的视频流;

视频帧合并模块:将各链路的视频流依照视频顺序合并;

视频解码模块:对合并后视频流进行解码;

链路状态反馈模块:实时探测各链路状态参数并发送至发送端。

本发明采用以上技术方案,本发明的分流方法采用一个自学习的蚁群算法算法,能够通过学习过去已有的链路流量分配情况动态地选择最优链路传输视频数据,具备较强的鲁棒性将蚁群算法应用到多路并行传输的流量分配中,依据链路的实时自适应的改变视频流量的分配情况;不仅考虑到实时链路状况,还依据历史流量分配情况,进行动态码流分配。

本发明的分流系统的具体工作原理:发送端的视频源经过编码模块编码后(不限制具体的编码方法);编码后的视频流经过视频分流模块分流后发送至多条路径的发送缓存区,经过多条路径传输至接收端;发送端的分流策略由蚁群算法根据当前各链路状态决策后给出。接收端的多路接收模块接收来自各链路的视频流,经视频帧合并模块完成对视频帧流的合并后送至视频解码模块进行解码。链路状态反馈模块实时探测链路状态,将各传输链路的带宽、时延、丢包率等参数发送至发送端,供蚁群算法模块进行决策。

附图说明

以下结合附图和具体实施方式对本发明做进一步详细说明;

图1为本发明一种基于蚁群算法的视频多路并行传输分流方法的流程示意图;

图2为本发明一种基于蚁群算法的视频多路并行传输分流系统的结构示意图。

具体实施方式

如图1或2所示,本发明一种基于蚁群算法的视频多路并行传输分流方法,其包括以下步骤:

s1,设定第n路链路上的信息素浓度为pn,表示第n条链路上在过去的一段时间内分配的流量;随着链路n上分配的流量越多,链路n的信息素也越大,代表该链路质量越好,后续分配的概率也越大:同时规定pn的初始值pn=1,对第一帧设置初始值pn=1,其他帧以系统存储的pn值作为初始值;即在第一帧初始状态下所有路径的信息素浓度都相同,即为1。从第二帧开始,各路径的信息素浓度根据以前的分配情况更新;

s2,获取每路链路的带宽bn和时延tn;

s3,分别计算每路链路的期望程度参数rn,其计算公式为:

rn代表第n路链路的期望程度,链路的带宽bn越大,传输时延越小tn,该链路的期望程度越高,即拟分流的数据也将也多;

s4,根据rn从大到小依次计算所有链路分别预分配到的当前视频帧的流量大小sm,n;其计算公式为:

其中,bn*t代表在帧传输时间t内该路径的传输带宽,sm代表当前帧的大小,代表当前帧在第n路链路分配的数据大小,α为信息素浓度的权重,β为期望程度的权重;

s5,设定信息素浓度为pn的更新因子为γ,判断当前链路对应当前视频帧分配的数据大小是否超过该链路在帧传输时间t内的最大带宽:

不小于bn*t时,γ=0;否则,γ=sm,n;

s6,分别更新当前视频帧的每路链路的信息素浓度pn,其计算公式为:

pn=(1-ρ)*pn+γ

其中ρ为更新速率调整因子,ρ值越大更新越快,越小更新越慢。即当ρ较小时,更新以历史为重,当ρ较大时更新以当前的分配情况为准;

s7,依次迭代计算从第一视频帧到第m视频帧分别对应n路链路的信息素浓度pn,形成流量分配矩阵φm,n并输出。

进一步地,如图2所示,本发明还公开了一种基于蚁群算法的视频多路并行传输分流系统,其包括发送端和接收端,

发送端包括以下模块:

视频源:提供原始视频;

编码模块:用于对视频源提供的原始视频进行编码;

蚁群算法模块:基于接收端发送的各个链路的带宽和时延采用蚁群算法确定各链路分流决策输出流量分配矩阵φm,n;

视频分流模块:基于流量分配矩阵φm,n对视频进行分流并发送至多链路的发送缓存区;

接收端包括以下模块:

多路接收模块:用于从多条链路上分别接收分流的视频流;

视频帧合并模块:将各链路的视频流依照视频顺序合并;

视频解码模块:对合并后视频流进行解码;

链路状态反馈模块:实时探测各链路状态参数并发送至发送端。

本发明采用以上技术方案,本发明的分流方法采用一个自学习的蚁群算法算法,能够通过学习过去已有的链路流量分配情况动态地选择最优链路传输视频数据,具备较强的鲁棒性将蚁群算法应用到多路并行传输的流量分配中,依据链路的实时自适应的改变视频流量的分配情况;不仅考虑到实时链路状况,还依据历史流量分配情况,进行动态码流分配。

本发明的分流系统的具体工作原理:发送端的视频源经过编码模块编码后(不限制具体的编码方法);编码后的视频流经过视频分流模块分流后发送至多条路径的发送缓存区,经过多条路径传输至接收端;发送端的分流策略由蚁群算法根据当前各链路状态决策后给出。接收端的多路接收模块接收来自各链路的视频流,经视频帧合并模块完成对视频帧流的合并后送至视频解码模块进行解码。链路状态反馈模块实时探测链路状态,将各传输链路的带宽、时延、丢包率等参数发送至发送端,供蚁群算法模块进行决策。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1