无线网络中协作多媒体多播数据传输方法与流程

文档序号:13763111阅读:220来源:国知局
本发明涉及一种基于随机网络编码的多媒体数据传输方法,具体涉及无线网络中协作多媒体多播数据传输方法。
背景技术
:多媒体应用,比如多播视频,近几年已经在无线网络和移动互联网领域内获得普遍关注。这些应用总是要求更高水平的服务质量,以此来保证视频观看的流畅性。相应地,可伸缩视频编码(SVC)已经被提出来,它允许发射机将一个视频比特流分割成一个基础层包和若干个加强层包来达到一个合理的视频质量。通常,基础层包是最重要的,且有最高权限;而加强层包具有较低的权限,这样它们就只有在前一个加强层包出现的时候才能被使用。所以只有第二个加强层包出现后才能使用第三个加强层包,以此类推。因此,用户接收更多层,视频观看的质量就会更高。由于多媒体是时延敏感的,所有层的包在截止时间点之前都是可用的。同时,这种情况导致了在截止日期前,具有优先级的数据难以进行多播的问题。幸运的是,用户可以利用随机网络编码(RNC)达到多播容量,并为高吞吐量、高效能和可伸缩的多播场景提供富有前景的平台。一般地,采用RNC的用户在收到所有独立编码数据包之后,可以解码所有信息。然而,RNC也相应地给数据包的转发带来了劣势,比如用户没有收集足够的网络编码包来解码时,此时用户就不能得到任何有用信息。特别是在SVC数据传输中,如果用户不能在截止时间前首先解码具有高优先级的层时,其余层将会变得无用,用户的服务质量将会大大降低。RNC是randomnetworkcoding的缩写,意为随机网络编码。比如在文章Cross-layerDesignofJointBeamformingandRandomNetworkCodinginWirelessMulticastNetworks(该文章出自2014IEEECommunicationsLetters第99卷的第1-4页)中提出了适应性的RNC(ARNC)结构和相应的调度机制来解决该问题。然而,在某些情况下,比如发射机之间的无线信道处于深衰落时,若是仅仅依赖于通过提升网络层的网络编码结构来获得高网络性能,这将会很难!ARNC是adaptiverandomnetworkcoding的缩写,意为适应性的随机网络编码。技术实现要素:本发明的目的在于克服上述不足,提供一种无线网络中协作多媒体多播数据传输方法,能够在无线网络中可以显著的提升网络的吞吐量。为了达到上述目的,本发明包括以下步骤:步骤一,在第一个时隙里,基站发送第一个数据包,所有的用户包括中继都接收基站发送的数据;步骤二,给定L个具有优先级的SVC包,基站在第一个时隙传输编码包,接着用户们将会通过信道控制产生1比特反馈给基站,来表明其是否成功接收编码包;步骤三,基于网络状态信息,基站决定最佳的发射机为某个用户或基站自己来转发网络编码包,从而在下一个时隙里最大化网络吞吐量。所述步骤二中,定义L代来表示网络编码进程,对于第i代,由此在t时隙所产生的网络编码包表示为:其中αtj是从有限域Fq的随机衰减指数。所述步骤二中,在用户端,每个用户n有一个T×L的状态矩阵S,它表示用户n接收的编码包的状态,每个用户的初始状态是:Sn=0T×L,当用户在时隙t成功接收编码包,Sn的第t行被更新为由相应代传输的网络编码矢量。所述步骤三中,定义r(Sn,t,at+1)为用户n的即时网络吞吐量,它是由已知的Sn,t经过动作at+1得到的,其中Sn,t是用户n在第t个时隙的状态矩阵,并且at∈AB∪AU是t时刻的动作;r(Sn,t,at+1)=E[r(Sn,t+1|Sn,t,at+1)]其中E[·]是期望函数,r(Sn,t+1|Sn,t,at+1)表示当动作at+1执行后,状态矩阵从Sn,t变化到Sn,t+1时,用户n增加的网络吞吐量。与现有技术相比,本发明在CARNC这种传输机制中应用了自适应网络编码,在第一个时隙里,基站发送第一个数据包,所有的用户包括中继都接收基站发送的数据,给定L个具有优先级的SVC包,基站在第一个时隙传输编码包,接着用户们将会通过信道控制产生1比特反馈给基站,来表明其是否成功接收编码包,基于网络状态信息,基站决定最佳的发射机(可能是某个用户,也可能是基站自己)来转发网络编码包,从而在下一个时隙里最大化网络吞吐量,相应地,每个用户都有机会成为发射机来为其他用户服务,每次发送都是当前网络状态和当前用户接收状态下的最优的发送选择,该方法在提高整个网络的吞吐量方面效果显著。【附图说明】图1为本发明的网络模型图;图2为本发明网络吞吐量与截止时间T的关系图;图3为本发明网络吞吐量与初始数据层数的关系图;图4为本发明网络平均吞吐量与用户数的关系图;图5为本发明网络平均吞吐量与用户之间误包率的关系图;【具体实施方式】下面结合附图对本发明做进一步说明。参见图1,在本发明的模型中,基站通过无线信道广播SVC数据给N个用户。为了满足系统时延的要求,L个SVC数据包必须在截止时间T个时隙内传输。特别地,该系统是时分运行的,也就是说每个时隙只有一个数据包在传输。L个SVC数据包的重要性顺序分别为:p1≥...≥pl≥...≥pL,其中,pl是第l个SVC层包,当且仅当用户成功收到所有独立数据包pj(j<l)后,pl才有用。所有数据包在传输之前会采用ARNC编码。另一方面,发射接收机之间的链路是独立的包丢失的信道,其中,基站到用户i及用户i到用户j之间的丢包率分别表示为εBi,εij,并且εij=εji。由于阴影效应,某些用户信道的质量特别差,因此,邻居用户们将会协作来代替基站重传网络编码包,从而满足目标用户的要求。本发明分为四部分:(A)适应性随机网络编码机制(B)解码机制(C)传输动作(D)即时网络吞吐量(E)CARNC描述在该部分,我们描述了基于CARNC的调度机制。给定L个具有优先级的SVC包,基站在第一个时隙传输编码包,接着用户们将会通过信道控制产生1比特反馈给基站,来表明其是否成功接收编码包。基于收到的网络状态信息,基站决定最佳的发射机来转发网络编码包,它可能是某个用户,也可能是基站自己,从而在下一个时隙里最大化网络吞吐量。相应地,每个用户都有机会成为发射机来为其他用户服务。为了更简单的理解我们的机制,我们将本部分分为以下5个子部分。A.适应性随机网络编码机制;为了更为清晰的描述,我们定义L代来表示网络编码进程。对于第i代,由此在t时隙所产生的网络编码包表示为:其中αtj是从有限域Fq的随机衰减指数。比如,当L=3时,三代中的网络编码包分别为:第一代(G1)仅包含p1:c1,t=αt1p1;第二代(G2)包含p1和p2:c2,t=αt1p1+αt2p2;第三代(G3)包含p1,p2,p3:c3,t=αt1p1+αt2p2+αt3p3;c1,c2,c3的随机编码矢量分别为α1,t=[αt1,0,0],α2,t=[αt1,αt2,0],α2,t=[αt1,αt2,αt3]。整个网络为了得到最高吞吐量增益,系统在每个时隙会选择最佳编码包来传输,该编码机制的优势在于:即使某些用户得到了局部的编码包,比如c1,c2,它们仍能解码部分高优先级的层包(p1和p2)。作为对比,传统的RNC将三个包编码成一个编码包,因此,用户需要收集所有的编码包(三个编码包)来解码原始数据,否则,用户并不能解码任何原始信息。B.解码机制;在用户端,每个用户n有一个T×L的状态矩阵S,它表示用户n接收的编码包的状态。每个用户的初始状态是:Sn=0T×L。当用户在时隙t成功接收编码包,Sn的第t行被更新为由相应代传输的网络编码矢量。否则,Sn无变化。比如,我们设L=3,T=5,用户n的状态矩阵可能为:Sn=α11α210α4100α220α420000α430---(1)]]>从该状态矩阵中,我们可以看出,用户n分别从G1(t=1),G2(t=2)和G3(t=4)成功接收到三个编码包(c11,c22,c43)。很明显,Sn的满秩主子式的最大顺序为:Sn′=α11α21α410α22α4200α43---(2)]]>因此,用户可以正确解码p1,p2,p3。C.传输动作;在整个传输进程中,基站决定在每个时隙中谁将会作为发射机来转发网络编码包。很明显,当基站成为发射机时,它可以发送由L代产生的编码包,因此基站包含L个动作a∈AB,其中AB是基站的动作集。比如,通过执行动作at={在t时刻传输来自G2的ct},那么基站将会在时隙t传输由G2所产生的ct=αt1p1+αt2p2。另一方面,当某用户被选为发射机时,我们将该用户的动作集设为AU。在这种情况下,如果用户已经将部分原始数据包解码,它可以将该原始数据包再编码作为一个新的网络编码包。比如,当用户解码了两个原始数据包p1和p2,该用户可以产生两代,其中ci=αt1p1或者ci=αt1p1+αt2p2。当遇到用户刚刚保存几个编码包但还没有解码的情况时,根据网络要求,用户可以将其中的一个编码包重新发送出去。D.即时网络吞吐量;在我们的工作中,定义r(Sn,t,at+1)为用户n的即时网络吞吐量,它是由已知的Sn,t经过动作at+1得到的,其中Sn,t是用户n在第t个时隙的状态矩阵,并且at∈AB∪AU是t时刻的动作。r(Sn,t,at+1)=E[r(Sn,t+1Sn,t,at+1)](3)其中E[·]是期望函数。r(Sn,t+1|Sn,t,at+1)表示当动作at+1执行后,状态矩阵从Sn,t变化到Sn,t+1时,用户n增加的网络吞吐量。比如,当时,用户只能解码一个数据包。当动作a2={在第2个时隙传输由G2产生的c2}执行后,状态矩阵变化为:然后用户现在可以解码两个数据包了。因此,通过采取该动作,以及r(Sn,2|Sn,1,a2)=2-1=1,用户可以解码多于1个的原始包。相应地,平均网络即时吞吐量为:r(at)=Σn=1NE[r(Sn,t+1|Sn,t,at)]---(4)]]>该公式用于表示动作at对网络整体即时吞吐量所带来的贡献,基站同时也利用该公式进行调度决策。E.CARNC描述表1显示的是CARNC的算法伪代码。当网络参量特定时,基站寻求一种协作调度策略,这样网络可以达到最大吞吐量。表1,计算CARNC算法的代码这就是说,利用该策略,网络中的用户可以尽可能多的解码原始数据包。我们将该策略记为Ω,其中Ω={a1,a2,...,aT}。然而,为了评估该调度策略,网络的平均吞吐量为:ΓΩ=1TNΣt=1Tr(at)---(5)]]>CARNC的目标是找到最佳策略Ω*,该策略将会在每个时隙从基站和用户里选出合适的发射机来进行编码包的转发,从而使得网络的平均吞吐量最大化。其中:Ω*=argmaxΩ{ΓΩ}---(6)]]>为了解决上述问题,我们选择最佳动作该动作将决定谁是发射机及哪个代的包将被在第t时隙传输。特别地,我们令:at*=argmaxat∈ABL∪AUr(at)---(7)]]>我们把这个找到的过程称为贪婪调度技术。关于CARNC的详细描述如下:所有用户的初始状态矩阵为0L×T,基站有所有的原始数据包,因此基站可以产生各种类型的编码包,接着它可以广播由Gi产生的因此,基站采用贪婪调度技术来在第一个时隙从AB中选择最佳的动作。之后,基站将会根据反馈的状态信息和网络的信道信息决定谁是协作发射机来转发比那么数据包。特别地,CARNC会从AB∪AU集合中选出最佳动作at来最大化网络的吞吐量。当某用户接收一个编码包时,如果该编码包有新的信息,那么它将会被存储在用户的缓存里。否则,用户丢弃该包。如果某些用户通过解码缓存里的数据包得到了原始数据包,那么他们将会像基站那样产生代。通过这种方式,跟基站之间信道差的用户贾慧得到这些用户的帮助,该协作进程将会继续直至截止时间T。下面通过实验仿真与现有的其他方法作对比,证明我们所提出的方法的优越性。在仿真中,我们首先将数据按照优先级别依次递增的顺序分为L个相互依存的层,其中每层假设被封装在一个SVC数据包里。基站需要通过协作,在截止时间T前将这些数据包传送给N个用户,同时,我们假设所有的收发机之间的衰落信道是独立的。为了证明CARNC的性能效果,我们引入了传统算法自动重发请求(ARQ),随机线性网络编码(RLNC)和适应性随机线性网络编码作为对比来显示CARNC的优势。网络吞吐量与截止时间T的关系:图2显示的是网络吞吐量与截止时间T的关系。在该场景下,我们将用户数量设为N=4,基站有L=6个原始层数据包,基站到各个用户之间的误包率是不一样的,分别为εB1=0,εB2=0.5,εB3=0.5和εB4=0.8。为了方便,我们将各个用户之间的误包率设为0.2,其中εij=0.2,且i≠j,i,j=1,2,3,4。εB1,εB2,εB3,εB4分别指的是基站BS到第1个用户,第2个用户,第3个用户,第4个用户之间的信道的误包率。图2是采取上述的不同算法时,截止时间T对网络吞吐量的影响。我们可以看到,在ARQ,RLNC和ARNC算法中,ARNC性能最优。为了更为公平的比较,我们还将基站——用户竞争机制(BUCS)应用到ARQ和RLNC算法中,并得到另外的两种算法:CARQ和CRLNC。从仿真结果我们可以看出,CARQ,CRLNC和CARNC性能优于没有加BUCS的算法。这是因为在阴影衰落场景,在基站和用户之间的信道也许会非常的差,因此协作通信可以为基站传输数据包提供很大帮助。同时可以注意到,当T足够大时,所有用户将可以解码所有的初始数据包,网络平均吞吐量趋于同一个值。在所有算法中,CARNC性能最优。很明显的是,当网络中时延是第一考虑要素时,CARNC将会是最佳选择。网络吞吐量与初始数据层数L的关系:图3显示的是网络吞吐量与初始数据层数的关系。仿真中,我们仍然设置网络中有4个用户,基站至每个用户之间的误包率为:εB1=0,εB2=0.5,εB3=0.5,εB4=0.8,截止时间T=10,用户与用户之间的误包率为:εij=0.2,其中i≠j,i,j=1,2,3,4。在图3中,CARNC的性能最佳,ARQ最差。当L=5时,RLNC和CRLNC均达到最佳性能。随着L的继续增加,性能减弱。这是因为在这两种算法中,当且仅当收到多于L个编码包时,用户可以解码L个原始数据包,否则,无法解码得到原始数据。L变得更大意味着用户应该接收更多的编码包来解码原始包,因此这两种算法的平均吞吐量在它们各自达到峰值后降低。其余四种算法可以解码部分原始数据,即使用户的状态矩阵并未满秩,因此其余四种算法的性能并不会随着初始数据层数L的增加而降低。由于CARNC采用适应性编码机制,它具有最佳的性能。L指的是基站传输的初始数据层数,即初始数据包的个数。网络吞吐量与用户数的关系:图4显示的网络吞吐量与用户数的关系。在该场景下,我们设初始数据层数L=6,从图3我们可以看出,当截止时间T=2*L时,网络可以达到最高性能,因此我们在此次仿真中设T=12,任何两个用户之间的误包率均为0.2,基站到用户之间的误包率改为0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,分别对应于εB1,εB1,...εB10。图4显示的是在不同算法中,用户数对平均网络吞吐量的影响。首先,我们可以看到每种算法的平均网络吞吐量随着用户数的增加而降低。这是因为新加入的用户的误包率更大,导致各个用户信息接收的不均匀性。第二,图4显示随着用户数目的增加,ARQ技术遭遇最差的截止时间效应,CARQ的性能同样不如CARNC和CRLNC,尽管三者均采用了BUCS。主要原因是ARQ技术在重传具有良好信道的接收机所接收到的数据时遭遇“瓶颈”效应。很明显,CARNC通过采用适应性网络编码和用户之间的协作达到了最佳的性能。CRLNC性能不如CARNC,这是因为CARNC充分考虑到了层包之间的相互依存性,及其他用户所带来的分集增益,并且能够首先解码具有高优先级别的数据包,特别是在无线信道处于深衰落的时候。网络吞吐量与用户之间误包率的关系:图5显示的是网络吞吐量与用户之间误包率的关系。在该场景下,我们设初始数据层数L=6,截止时间T=12,网络中仍然有4个用户,其中基站与用户之间的误包率为εB1=0,εB2=0.5,εB3=0.5,εB4=0.8。我们将各个用户之间的误包率记为PUU=εij,PUU从0.05变化至0.5,步长为0.05。PUU是一个变量,指的是各个用户之间的误包率。图5反映了网络平均吞吐量随着参量PUU的变化。我们可以看到,ARNC,RNC和ARQ的平均吞吐量一直等于一个常量。这是因为他们并没有采用协作的机制,因此εij的变化并不能给它们的网络吞吐量造成什么影响。然而,随着εij的增加,用户给其余用户传输信息的能力削弱,因此具有协作分集增益机制的算法的网络吞吐量会下降。显然,CARNC减小的缓慢,因为它的编码进程里包含有适应性网络编码算法。所以CARNC同样具有最佳的性能。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1