APP下载

5G超密集网络中基于D2D技术的视频流传输

2019-04-19杨龙祥

计算机技术与发展 2019年4期
关键词:视频流组块缓冲区

夏 雪,杨龙祥

(南京邮电大学 通信与信息工程学院,江苏 南京 210003)

0 引 言

随着互联网技术的高速发展,用户对于数据的需求日益增多。高清晰度视频、3D可视化以及云计算等流量密集型应用的不断普及,推动了通信行业的快速演变[1]。为了应对当今用户庞大的流量需求,5G网络必须快速、灵活、可靠以及可持续。基于这些研究背景,学术界提出了D2D通信、小型蜂窝网络密集化、毫米波以及大规模MIMO技术[2]。

小型蜂窝网络密集化,即超密集网络(ultra-dense network,UDN)。在UDN中,单位面积内的接入节点和通信链路数量都是致密的[3]。也就是说,与普通网络相比,超密集网络中的接入节点能尽可能地靠近终端用户,从而提高系统性能、改善用户体验。它的实现方式主要是在流量密集的热点地段(如机场、火车站、商场等)部署密集的小型蜂窝小区[4],这些小区是具有较小发射功率的接入节点。虽然它们单个的信号覆盖范围比较小,但将它们密集分布,能够有效改善流量拥堵情况。

与超密集网络相比,毫米波和大规模MIMO技术的性能均欠佳。毫米波理论上能为5G蜂窝网中的无线传输提供数百兆赫兹的带宽,但由于毫米波在大气层中的传播存在衰减,所以将其传输距离限制在100 m内。MIMO技术也有类似的限制,若在5G基站中集成大量MIMO天线,数百个天线将用于千兆位上的无线传输,而传输功率问题会导致基站传输半径减小。上述两种技术的缺陷促进了5G系统中超密集网络的发展[2]。

但是,随着蜂窝网络密度的不断增加,为无线接入网设计高性能回程系统将成为一项挑战。蜂窝小区密集化的主要缺点是,蜂窝小区能够处理的通信量受到了回程链路容量的限制,其中回程链路主要用于与核心网建立连接[5]。当今大部分的通信量都是由无线移动设备产生的,且视频流量预估占总通信量的80%以上。因此,一个有效的多媒体数据共享机制是至关重要的。研究表明,由于D2D通信使得各个设备之间直接通信,能够有效提高资源利用率,并且减少了对基站的依赖,因此能够有效提高多媒体数据的吞吐量[6]。而且进行D2D通信的设备之间距离较近,因此受到的干扰也较小。随着用户密度的增加,D2D网络中总存储量也在线性增加,并且用户平均通信距离在减少。因此,D2D的可扩展特性适用于超密集网络[7],文中主要研究的也是5G超密集网络中使用D2D技术进行多媒体流传输。

除了通信领域,D2D在计算机应用方面也得到了广泛应用,特别在视频流方面的应用尤为突出。例如,文献[8]提出了一种基于D2D的无线多媒体网络编码广播重传策略,实现了D2D在计算机网络编码方面的应用;文献[9]则为D2D在安卓方面的应用,利用Java语言开发了D2D通信控制应用程序,实现了终端用户间的多跳D2D通信;文献[10]是D2D在车联网方面的应用。

在上述研究基础上,文中对5G超密集网络中采用D2D技术实现多媒体数据共享进行了研究。针对视频流实时和点播这两个特性,分别设计了高效的D2D调度机制,以期实现更好的数据共享。

1 D2D通信

设备到设备(device-to-device,D2D)主要是指在众多蜂窝小区中,各个终端可以直接进行通信的技术。D2D通信是5G超密集网络中的一项关键技术。由于其与蜂窝网络共享无线资源,所以能够有效地提高频谱利用率。并且由于各个终端用户可以直接通信交换数据,所以能够减轻蜂窝网络的负载,增加网络容量,减少用户获取数据的时延[11]。

随着学术界对D2D研究的深入,专家学者在近些年先后提出了大量D2D调度算法。FlashLinQ[12]利用授权频段和CSMA协议建立了D2D链路。分布式算法主要根据D2D链路的优先级来调度链路,能够确保高优先级链路不会受到潜在的低优先级链路干扰。这个算法理论上能够最大程度激活D2D链路,但该算法未结合视频质量感知机制,因此是否适用于D2D点播视频流媒体还是个未知数。TLinQ[13]和Quantile-based CSMA[14]旨在提高系统的吞吐量和公平性。这两种算法在考虑静态用户公平性的同时,能够最优化系统的总吞吐量。但是,和上述算法一样,其性能并未在D2D场景中验证过。

在D2D的基础上,为了实现有效的数据共享,学术界还提出了众多的缓存策略。将流行度高的数据优先缓存至网络边缘,能够有效增强连接性、减少用户获取数据的时延以及缓解回程链路拥塞[15-16]。由于视频流需要较高的数据传输速率,并且具有异步内容重用属性,所以其非常适合缓存至本地路由器。但这些缓存策略比较适用于视频点播,当用于直播时会引入较高的时延。文献[17-18]也建议将数据缓存至终端设备,这样用户可以通过D2D通信与邻近用户建立连接并交换缓存数据。但这些缓存方案没有考虑视频的特性,如时延、抖动以及吞吐量。

基于这些研究背景,文中设计的调度机制考虑了视频流时延、抖动以及吞吐量等特性,并且针对实时和点播视频流设计了不同的调度机制,在视频流平滑重放的同时能够确保用户时延最小。

2 多媒体流D2D调度机制

多媒体数据共享最常用的方式是通过流式传输。初始的启动延迟之后,视频组块会连续到达接收端缓冲区,视频回放相继开始[19]。多媒体流的传输算法主要包含两个部分,第一部分是指如何与存储了请求数据的设备建立连接,第二部分是指确定请求的组块以及哪个设备请求该组块[20]。这两项为D2D场景下的多媒体数据共享提供了高效调度机制。文中设计的调度机制考虑了多媒体流的性质,例如实时和点播流媒体,不同性质的流媒体将有不同的调度机制,从而确保视频的流畅播放。针对实时视频流,主要考虑的是直播环境下的延迟。文中设计了一种基于设备等级的调度机制,能够实现数据实时度最大化。针对点播视频流,主要考虑的是设备缓冲区划分。将接收端缓冲区划分为播放缓冲区、紧急缓冲区和预取缓冲区,并通过算法为预取缓冲区选择稀缺组块。

2.1 实时视频流D2D调度机制

直播环境下,视频流会被实时地广播至用户,并且要求各个设备上的视频播放是同步的或近似同步。由于在直播场景下,各个设备只需缓存视频流的一小部分来维持稳定的播放速率,所以这些设备的缓存空间不需要非常大。相反,直播对设备之间的端到端时延要求严格,时延越短,终端用户接收到的视频流越实时。本节将实时视频流传输问题公式化为如何选择相邻设备从而实现实时度的最大化,如式1所示。

(1)

最优化条件:

(2)

(3)

其中,Hi表示用户i中最新的视频组块;Di表示用户i的时延;Ji表示用户i的抖动;T表示组块时间戳;A表示总容量。Xi∈{0,1},若用户i参与组块请求则参数值为1,否则为0。Rj≥0表示缓存了组块j的用户总数。Bi,j∈{0,1},若用户i缓存了组块j则参数值为1,否则为0。

上述公式为最优化函数,主要是为识别出缓存了最新组块的邻近设备,同时实现视频时延和抖动的最小化。其中,抖动是指组块接收时延的变化。式2和式3分别是最优化需要满足的条件。式2表示链路容量的限制,确保仅有若干个设备请求该视频组块。式3确保请求的组块能够准时到达。直播场景下,每个组块都和一个时间戳相关联,若某个组块在其关联的时间戳之后到达,则只能选择丢弃组块来确保实时性。

文中采用的蜂窝网系统包含若干个视频流源、一个基站以及若干个终端设备。视频源将视频文件划分为若干个视频组块,该组块可以视为视频最小可播放单元。视频源通过基站将这些组块依次传输给用户。任何新设备想加入实时流传输的D2D网络,都需要向基站发送一个请求,从而获取流式传输相同数据的邻近可用设备集合。当新设备接收到邻近可用设备列表时,根据文中设计的邻居排序机制选择设备,从而实现实时度最大化。整个过程如下:

(1)新到来的设备向其相邻设备发出请求,获取这些设备缓存空间中最新可用组块的信息,以及这些设备的平均播放时延。其中,最新可用组块可以代表该设备的组块接收速率。

(2)新设备计算各个邻近设备与其的往返时延。各个相邻设备的等级即为各自往返时延、播放时延以及最新可用组块的权重和,具体见算法1。

(3)新设备选择具有最低等级的设备作为其“活跃伙伴”,直至其能以期望的速率接收视频流组块。

等级机制能够确保所选的相邻设备是缓存了最新视频组块的,从而增加流的实时性。除此之外,在实现实时度最大化的同时,算法1能够确保视频组块是从低往返时延、低播放延迟的设备获取的,从而满足式3准时传输组块的要求。

算法1:实时视频流中的设备等级。

输入:基站F;新设备di;设备集D={d1,d2,…,dn},di∉D

输出:最低等级设备dj

过程:

M←∅

M←F.neighbours(di)

delay,chunk,jitter←[]//设备m的等级值:R[m]

R←[]

minScore←∞

forminMdo

delay[m]←RTT(di,m)

chunk[m]←latestChunk(m)

jitter[m]←jitterEstimation(m)

ifR[m]≤minScore then

dj←m

end if

end for

returndj

2.2 点播视频流D2D调度机制

视频点播不同于直播,用户请求数据的时间不再受到限制,而且用户可以从视频流中的任何位置开始请求获取数据。因此,相比于直播环境,视频点播要求各个设备的缓存空间足够大,且这些设备无需同步机制,从而满足用户不断增长的多样化请求。另外,由于点播环境下,用户可以拖动视频时间轴,这意味着用户可以移动到视频的任何位置,这给D2D调度机制带来新的挑战。因此,有效的视频点播共享机制不仅需要保障视频流畅播放,而且需要最小化用户从视频中一个位置移动到另一个位置的延迟。点播视频流这两方面的问题可以公式化为式1,和实时视频流一样也是个最优化问题。

(4)

(5)

最优化条件:

(6)

(7)

(8)

上述最优化函数的目标是为了找到具有最稀缺视频组块的设备,同时最小化时延。式6~8分别是这个最优化函数的限制条件。式6表示网络中至少有一个设备缓存了该稀有组块。式7、8和之前实时视频流环境下讨论的最优化条件一样,一个是确保仅有若干个设备请求该视频组块,另一个是确保请求的组块能够准时到达。

针对点播视频流,本节设计了一个不同于实时视频流的组块调度算法,从而实现从相邻设备中请求稀缺组块。该算法将接收端缓存空间划分成了三个部分,分别是播放缓冲区、紧急缓冲区以及预取缓冲区。播放缓冲区用于存放已经被用户接收的视频流组块。紧急缓冲区存放的组块主要用于确保视频能流畅播放。预取缓冲区存放当前视频时段之后的组块,为了确保用户能顺畅地从视频时段的一个位置跳转到另一位置。接收端缓存空间的这种划分方式表明一个设备需要两种类型的相邻设备,它们能为该设备提供紧急和预取缓冲区视频块。下面将具体讨论如何为新设备选择用于缓冲的这两种视频块。

任何新设备想加入用于点播视频流传输的D2D网络,首先会接收到一个相邻设备列表,这些设备对相同的视频感兴趣,如图1所示。这些设备之间可以交换缓冲区映射。当新设备收集到了列表中所有设备的缓冲区映射信息,它将在相邻设备中创建一个可用视频组块列表,如设备1可用的缓冲区映射信息。对于预取缓冲区,设备会执行必要计算来选择邻域中最稀有的可用块。如设备1,组块2、7、10、11、14、16、17、20为其稀缺组块,这些组块仅能在一个相邻设备中获取。为了防止相邻设备离开网络导致稀缺组块丢失,设计了算法2,其能为预取缓冲区选择稀缺组块。

图1 点播视频流的缓冲区映射

算法2:预取缓冲区选择稀缺组块

输入:基站F;新设备di;设备集D={d1,d2,…,dn},di∉D;稀有度门限rthr

输出:设备di的预取缓冲区bi

1.M←∅

2.M←F.neighbours(di)

3.chunkCount←[]

4.forminMdo

5.tempList←[]

6.tempList←bufferList(m)

7.i,index←0

8.whileitempList.size() do

9.index←tempList[i]

10.chunkCount[index]←chunkCount[index]+1

11.end while

12.end for

13.K←0

14.for chunkQuantity∈chunkCount[] do

15.if chunkQuantity≤rthrthen

16.bi[k]←chunkCount.currentIndex

17.K←K+1

18.end if

19.end for

20.returnbi

3 仿真及性能分析

仿真主要采用NS-2仿真工具,对上一节设计的调度机制进行性能评估。仿真工作主要是将设计的组块选择机制与mpMWIS-QP[21]进行多方面的性能比较。在mpMWIS-QP算法中,每个设备会预先缓存某个数据库的视频文件子集。若用户请求的视频文件不在其数据库中,则会通过D2D通信来获取。该算法为一个集中的分布式算法,包含链接调度和流媒体组件。其中集中调度机制是基于最大加权独立集原理(MWIS),通过使用消息传递来确定最大权重独立集。分布式调度算法是基于FlashLinQ链路调度算法的一个变体,通过引入视频流专用权重来实现。上述两种情况,流媒体组件都是基于质量感知的随机最优化方法,类似于当今DASH技术(HTTP上的动态自适应流媒体技术),用户可以依次请求视频组块。实验中使用的仿真参数为蜂窝小区半径1 000 m,发射设备与接收设备之间距离50 m,设备个数30,基站最大发射功率46,用户设备最大发射功率23 dBm,噪声功率-174 dBm,无路径指数4,D2D通信信噪比门限10 dB。

仿真结果如图2~图5所示。

实时视频流中的传输比率低主要是因为视频组块的超时到达导致组块丢弃。因此,有效的相邻设备选择能够确保组块准时到达。图2和图3展示了实时视频流环境下,传输比率方面的服务质量QoS。图2中设置的是恒定的视频源,图3设置的是不断增长的视频源。由图可见,无论哪种场景,随着设备个数的增加,文中算法在性能上都优于mpMWIS-QP算法,并且增加视频源数量能够进一步提高传输率。主要是由于文中算法在选择相邻设备时,考虑了最新可用的组块以及设备之间的时延,因此组块传输比率相对于mpMWIS-QP算法较高。邻域中视频源的数量越多,能确保某个组块可从多个设备中请求获取。这展示了D2D场景下的可扩展性,即增加设备的个数能进一步提高服务质量。

图2 平均传输比率(恒定视频源)

图3 平均传输比率(增长视频源)

图4 视频停滞事件平均数量

图5 视频停滞平均时间

图4和图5分别展示了点播视频流环境下停滞事件的平均数量以及持续时间。视频停滞事件主要发生在当前视频组块已经播放完毕而下一个组块还未接收的情况下。较大数量的停滞事件会导致视频冻结,从而降低用户体验。观察两幅图,与mpMWIS-QP算法相比,文中算法无论是在停滞事件个数还是持续时间上都较低。主要是由于mpMWIS-QP算法想通过较高的初始缓冲时间来实现较低停滞事件。这项技术理论上减少了停滞事件的个数,但是它增加了启动时延并且不适合高分辨率视频。文中算法在点播视频方面,通过将相邻设备中的稀缺块缓冲至预取缓冲区,能够确保所有视频组块都可用。即使一个设备离开了该网络也有足够来源实现视频组块共享,因此性能优于mpMWIS-QP算法。

4 结束语

主要研究了如何使用D2D技术实现5G超密集网络中的多媒体数据共享。针对实时视频流和点播视频流,提出了不同的分布式调度算法。针对实时视频流,根据视频流的活跃性、时延以及抖动对相邻设备进行了排名,选择最佳邻近设备来最小化视频组块由于超时现象引发的丢失。针对点播视频流,通过算法识别出相邻设备上的稀缺组块,并缓存至预取缓冲区。主要是由于组块缺失会导致视频停滞现象,从而降低用户体验。仿真结果表示,将设备排名算法引入多媒体流调度机制,可以有效提高D2D系统的服务质量。

猜你喜欢

视频流组块缓冲区
边缘实时视频流分析系统配置动态调整算法研究
组块理论的解读及启示
为什么听得懂却不会做
铁路货场智能大门集装箱全景图像采集方法研究
试析“词汇组块”教学在高中英语教学中的实际运用
缓冲区溢出漏洞攻击及其对策探析
基于手机APP、GIS、OLAP的移动运营商网格集中管理中心系统的设计与实现
初涉缓冲区
本期导读
Linux系统下缓冲区溢出漏洞攻击的防范