发明内容
本发明的目的在于针对可伸缩视频流多速率组播通信中往往忽略层间依赖性以及视频编码层代价值的两个问题,而提供一种可伸缩视频流多速率组播通信的最优速率分配方法。为实现异构网络环境下的用户整体效用最大化,提供一种完全分布式的速率分配算法,有效地利用了网络的带宽资源,并且通过网络编码的引入,不仅提高了网络整体吞吐量,同时也为接收端提供了更佳的视频质量。
为达到上述目的,本发明的构思是:将多速率多径路由、中继节点的网络编码和网络化流量控制技术进行了联合优化,并且在选择最佳组播传输路径和分配各层次视频流传输速率时,兼顾了视频编码层的码流优先级问题。一方面,为每个视频编码层寻求代价最小的传输网络;另一方面,同时满足可伸缩视频编码层间依赖性的需求。此外,本发明还提出了一种完全分布式的速率分配算法,采用拉格朗日对偶方法将原始凸优化问题分解为高阶和低阶两个子优化问题,既实现了资源的最优分配,又便于分布式求解。
一种可伸缩视频流多速率组播通信的最优速率分配方法,其特征在于根据上述发明构思,采用下述步骤实现异构网络环境中用户效用的最大化:第一,将多速率多径路由、中继节点的网络编码和网络化流量控制进行联合优化;第二,在选择最佳组播传输路径和分配各层次视频流传输速率时,兼顾视频编码层的码流优先级问题,不仅为每个视频编码层寻求代价最小的传输网络,也同时满足可伸缩视频编码层间依赖性的需求;第三,采用完全分布式的速率分配算法,即采用拉格朗日对偶方法将原始凸优化问题分解为高阶和低阶两个子优化问题,既实现资源的最优分配,又便于分布式求解。
上述第一步骤中的联合优化是:每个接收节点在编码网络中接收各层次视频流时,同时选用多条路由路径;基于这些路径,将网络编码运用在不同接收节点的交叉路径上,进一步提高网络的吞吐量。
上述第二步骤中的兼顾视频编码层的码流优先级问题是:在选择路由和进行流量分配时,使最低层的传输代价最小,同时保证从低层到高层的传输代价依次递增,以满足接收端的解码要求。
上述第三步骤中的完全分布式速率分配算法是:利用拉格朗日释限和对偶方法,将原始凸优化问题分解为高阶和低阶两个子优化问题,允许每个网络节点和每条链路利用本地局部信息进行速率的动态调整和更新,以分布式方式实现链路传输速率的全局最优化分配;以所有用户整体效用最大化为目标函数,兼顾可伸缩视频流解码的层间依赖关系,以信息流平衡条件、链路容量限制、网络编码条件等为约束函数,建立多速率组播通信的资源分配凸优化数学模型;具体方法如下:
1.网络模型的建立
将网络抽象为有向图G(V,E),其中V是节点的集合,分为源节点集合S、中间节点集合N和接收节点集合R,E是节点之间链路的集合;对于每条链路e∈E都对应有限的传输带宽Ce;假定可伸缩视频流在源节点编码为M层{l1,l2,...,lM},第m层数据以速率Bm通过组播组m向|Rm|个接收点分发;假设从源节点到每个接收节点r都有多条传输路径P(r),xm,j r表示接收节点r在接收第m层数据时,第j条路径上分配的流量大小;fm,e表示第m层数据流在链路e上占有的带宽;矩阵Zr表示链路和接收节点r的传输路径之间的关系,其中Zr的元素 表示链路e包含于接收节点r的第j条传输路径中;采用普遍运用的代价函数ρ(·),定义为
2.建立凸优化数学模型
目标问题P1:
约束条件:
优化目标:使异构网络环境中的用户效用总和最大化;
约束条件:
1)规定每条链路上的实际带宽消耗量为所有接收节点在该链路上消耗带宽的最大值;该条件表示在链路上采用网络编码的限制条件,实现不同节点在同一链路上的资源共享;
2)对应于链路上带宽的限制条件;
3)确保各层次视频流的传输代价从低层到高层依次递增;
4)对应于各个接收节点在每条路径上的流量限制条件;
5)规定各个接收节点在每条路径上的流量必须大于零;
3.将原始凸优化问题分解为以下低阶和高阶两个子优化问题:
目标问题P2a:
约束条件:
目标问题P2b:
约束条件:
4.两个子优化问题的分布式求解算法:
(1)低阶子优化问题——目标问题P2a的求解步骤如下:
步骤1:定义拉格朗日对偶(释限):
其中,pm,e r和qm r是拉格朗日乘子;
步骤2:定义拉格朗日对偶函数:
步骤3:定义对偶问题:
步骤4:采用原始-对偶算法,同时更新原始变量和对偶变量,逐步逼近最优点,其中α(t)、β(t)和γ(t)是正的步长值,[·]+表示取正值的运算。
其中,流量分配大小X以及拉格朗日乘子p和q的偏导数为:
在以上更新过程中,pm,e r可视为拥塞代价,当总需求大于可提供的流量fm,e时,pm,e r上升;反之,pm,e r下降。qm r可视为传输消耗,当第m层的传输代价大于第m+1层的传输代价时,qm r上升;反之,qm r下降。所有更新过程可以分布式实现,每条链路、每个节点只需要局部信息,就可完成更新。
(2)高阶子优化问题——目标问题P2b的求解过程
定义
为满足目标问题P2a中约束条件
的最优化拉格朗日乘子,定义f
e=[f
1,e,...,f
M,e]、f=[f
1,...,f
E]
T以及
F表示
的笛卡尔乘积,于是目标问题P2b可由以下的次梯度方法进行求解:
是第m层链路e上总的拥塞代价,若
因
上升,则表示分配的f
m,e不能满足实际所有接收节点的需求,它的值将在下一次更新中减小。
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点:本发明提供了一种完全分布式的速率分配算法,有效地利用了网络的带宽资源,并通过网络编码的引入,提高了网络整体吞吐量,也为接收端提供更佳的视频质量。
具体实施方式
下面结合附图对本发明的实施例作详细说明:可伸缩视频流多速率组播通信的最优速率分配方法,其特征在于采用下述步骤实现异构网络环境中用户效用的最大化:①将多速率多径路由、中继节点的网络编码和网络化流量控制技术进行了联合优化,②在选择最佳组播传输路径和分配各层次视频流传输速率时,兼顾了视频编码层的码流优先级问题。一方面,为每个视频编码层寻求代价最小的传输网络;另一方面,同时满足可伸缩视频编码层间依赖性的需求,③采用完全分布式的速率分配算法,既实现了资源的最优分配,又便于分布式求解。
本实施例在以本发明技术方案为前提下进行试验,给出了详细的实施方式和具体的操作过程,主要包括网络拓扑结构设定、建立凸优化问题模型、优化问题的分布式求解算法介绍、算法的执行过程以及性能分析。
1.网络拓扑结构的设定
本发明对图1所示的经典蝶型网络结构进行实例分析。图中S、Ni和Ri分别代表源节点、中间节点和接收节点。假设视频流包含三层,基本层速率为3(data units/s),第一增强层速率为2,第二增强层速率为1。图中,每个接收节点都有三条可选的路径,每条路径的传输延时随机取0到1间的数值。
2.建立基于以上网络的凸优化计算方法
将网络抽象为有向图G(V,E),其中V是节点的集合,分为源节点S、中间节点集合N和接收节点集合R,E是节点之间链路的集合;对于每条链路e∈E都对应有限的传输带宽Ce;假定可伸缩视频流在源节点编码为M层{l1,,l2,...,lM}(M=3),第m层数据以速率Bm通过组播组m向|Rm|个接收点分发;假设从源节点到每个接收节点r都有多条传输路径P(r),xm,j r表示接收节点r在接收第m层数据时,第j条路径上分配的流量大小;fm,e表示第m层数据流在链路e上占有的带宽;矩阵Zr表示链路和接收节点r的传输路径之间的关系,其中Zr的元素 表示链路e包含于接收节点r的第j条传输路径中;本发明采用普遍运用的代价函数ρ(·),定义为 原始凸优化问题分解为以下低阶和高阶两个子优化问题:
约束条件:
目标问题P2b:
约束条件:
3.两个子优化问题的分布式求解算法及执行过程
(1)低阶子优化问题——目标问题P2a的求解过程步骤如下:
步骤1:定义拉格朗日对偶(释限):
其中,pm,e r和qm r是拉格朗日乘子;
步骤2:定义拉格朗日对偶函数:
步骤3:定义对偶问题:
步骤4:采用原始-对偶算法,同时更新原始变量和对偶变量,逐步逼近最优点,其中α(t)、β(t)和γ(t)是正的步长值,[·]+表示取正值的运算。
其中,流量分配大小X以及拉格朗日乘子p和q的偏导数为:
(2)高阶子优化问题——目标问题P2b的求解过程
定义为满足目标问题P2a中约束条件 的最优化拉格朗日乘子,定义fe=[f1,e,...,fM,e]、f=[f1,...,fE]T以及
F表示
的笛卡尔乘积,于是目标问题P2b可由以下的次梯度方法进行求解:
(3)完全分布式凸优化算法的执行
(a)初始化:设置t=0、t′=0,并且对r,m,e和j分别设置对应的非负值pm,e r(0),qm r(0),xm,j r(0),fm,e(0)。
(b)低阶子优化问题求解的执行
对于链路e:
在时间t=1,2,...,链路e上:
①接收所有使用链路e的接收节点r的xm,j r(t)值;
②从本地处理器中取出fm,e(t′);
③更新拥塞代价pm,e r(t);
④将新的pm,e r(t+1)广播到所有的接收节点r∈R(e)。
对于接收节点r:
在时间t=1,2,...,,接收节点r上:
①接收到总的网络拥塞代价值∑e∈Ezj,e r·pm,e r;
②从本地处理器中取出qm r(t);
③更新拥塞代价xm,j r(t);
④更新传输消耗qm r(t);
⑤将新的xm,j r(t+1)广播到所有的链路e∈P(r)。
(c)高阶子优化问题求解的执行
对于链路e:
在时间t=1,2,...,链路e上:
①计算
②更新fm,e(t′);
③回到低阶子优化问题求解的执行。
低阶子优化和高阶子优化执行在不同的时间范围内,前者属于内循环,运行于高速的时间间隔;而后者则属于外循环,运行于低速时间间隔。直到在低阶子优化问题的求解中,
达到最佳值时,才转到高阶子优化问题求解的过程中去。
(4)采用上述算法后进行性能分析,实现组播通信最优化
①步长对收敛的影响
图2给出了在起始状态设置固定步长α(t)=0.01,同时在结束阶段步长逐步减小 的情况下,R1的速率收敛情况。定义 以及 可以看出,逐步减小的步长使收敛更为平滑,但是它的收敛速度比固定步长慢了许多。例如,要达到5.05的速率,固定步长的算法只需要58次迭代,而逐步减小的步长需要103次迭代。此外,在使用固定步长时,R1的速率只能接近于实际的最佳值,此处为5.0143;而使用逐步减小的步长时,R1的速率成功地收敛于5。
②高阶子优化问题性能
图3给出了高阶子优化问题的收敛情况。由于篇幅有限,此处以第一增强层上的路径(N1,N3)、(N2,N3)和(N3,N4)举例。可以看出,因为低阶子优化问题的快速收敛,这三条链路都大致在120次迭代后收敛。
③速率优化结果
图4给出了在低阶子优化问题中,在固定步长α(t)=0.01的情况下,各接收节点在每一层所分配到的速率。可以看出,所有的速率分配在50次迭代后,都达到了最优状态。例如,在基本层,接收节点R1在35次迭代后就达到了最优速率的10%,并且在119次迭代后收敛于3.001。可见,本发明的速率分配算法有很快的收敛速度。