基于LTE 资源块感知的自适应无线流媒体系统
2021-02-01蔡秉江
蔡秉江
(中铁第四勘察设计院集团有限公司,湖北 武汉 430063)
1 引言
随着移动互联网技术的迅猛发展,截至2020 年,全球移动视频流业务数据占据了全球移动数据的78%以上,在人们的生活、娱乐、安防领域扮演着越来越重要的角色[1]。为了满足爆炸式增长的通信量需求,网络提供商推出了LTE 蜂窝网服务,其能提供300 Mbit/s 的峰值下行速率,然而在用户拥塞的情况下视频播放QoE 体验仍然不是很令人满意。有调研结果显示,在LTE 网络拥塞的情况下,移动视频播放的平均卡顿时间长达7.5~12.3 s/min[2]。
上述两种现象是矛盾的:视频质量的提升远不及带宽水平的提升,说明视频流应用未充分利用LTE 带宽,即带宽低估;视频播放卡顿则是带宽高估造成的。其根本原因在于:视频流应用无法准确估计当前可用网络带宽和应对未来带宽的波动,这个问题在端到端时延较大的移动通信网络中尤为显著。
学术界及工业界对基于移动互联网下的流媒体自适应技术开展了大量研究工作,参考文献[3]针对HTTP 流媒体业务提出了基于缓冲区等级自适应的码率切换算法,但对缓冲区等级的判定未作讨论;参考文献[4]针对具有不同流量特征业务的服务质量需求,根据用户缓冲区以及基站硬件资源的使用情况,通过缩减基站使用带宽以降低系统通信能耗;参考文献[5]结合不同视频类型设计了相应的用户体验质量效用函数,使用强化学习算法训练模型A3C,实现频数类型相适应的码率自适应算法。
为充分挖掘LTE 网络应用场景中流媒体业务物理层频谱资源,本文提出了利用软件定义无线电(software defined radio,SDR)技术手段将频谱资源探测落实到LTE 资源块颗粒度的感知上,结合自适应流媒体技术,让用户在LTE网络环境下获得流畅且尽可能高质量的视频观看体验。
2 系统方案
本文基于 HTTP 的自适应流媒体协议(dynamic adaptive streaming over HTTP,DASH)下的视频服务,用户设备上的DASH 视频客户端根据网络带宽状况,向视频服务器请求合适码率的视频分片。通常来说,DASH 客户端需要根据其下载的视频分片的下载速率来估计当前可用带宽。然而,由于LTE 网络中存在较大的端到端时延,使用下载速率作为可用带宽的估计可能会极大地低估网络带宽,除非视频分片足够大以至于能完全占用端到端的带宽。另一方面,DASH 根据历史带宽记录预测未来的带宽,LTE 网络带宽的波动性,可能造成带宽高估进而导致视频播放卡顿。
为了解决上述挑战,本文对LTE 物理层的网络带宽利用情况进行了深入探究。由于在指定的一段时间区间内对于指定的LTE 基站,用于下行链路传输的可用无线资源总是已知的,网络带宽端到端的瓶颈在于接入链路[6],因此LTE 网络的特征决定了解决该问题的关键在于下行链路的接入带宽。
根据以上分析,本文提出了基于LTE 资源块感知的自适应无线流媒体系统,该系统基于以客户端为中心的视频传输架构,其中视频传输架构兼 容 MPEG-DASH ( moving picture experts group-dynamic adaptive streaming over HTTP)标准,该指定LTE 基站服务场景中的用户设备能监测小区内的物理层资源利用情况并实时将其映射为潜在可用网络带宽。
系统提出的资源监测机制利用LTE 用户设备实现精确、有效的频谱感知能力。通常获取资源占用情况的直接方法是解码基站的全部控制信号,然而这种方法效率低且可扩展性差,它要求每个用户一直监测控制信道并解码发送给所有其他用户的控制信息,而当前LTE 标准下的纠错机制无法保证用户能正确解码全部控制信息。本系统基于软件定义无线电技术,利用LTE 资源架构在时域与频域分布有序的特点来解决该问题,用户通过检测LTE 信号能量来判断资源块利用情况,无须解码发送给其他用户的下行链路控制信息。在获得物理层剩余可用的LTE 资源块比率后,系统按比例将下载速率映射为潜在可用带宽,这个带宽值将被应用层用来进行码率自适应。从DASH 用户的角度来看,为了保证视频在最短卡顿时间的同时最大程度地提高带宽利用率,自适应逻辑模块需要准确地预测将来的带宽变化情况,以实现视频质量和播放卡顿间的折中。
3 关键理论与技术
3.1 MPEG-DASH
为了让用户得到更加多元化的服务并保证用户得到与自身当前的网络状况和终端性能相适应的视频服务,在HTTP 流的基础上衍生出自适应HTTP 流。现有主流的自适应流技术,即苹果公司的HLS(HTTP live streaming)、微软公司的Smooth Streaming 和 Adobe 的 HDS(HTTP dynamic streaming),彼此互不兼容,无法实现技术互通。为了解决这一割裂的局面,MPEG 组织与3GPP联合提出了MPEG-DASH 协议。
MPEG-DASH 技术框架包括流媒体服务器与DASH 客户端,流媒体服务器负责存储和管理DASH 媒体内容并响应客户端的HTTP 媒体服务请求;DASH 客户端负责以标准HTTP 与服务器交互,获取和解析媒体表示描述(media presentation description,MPD)文件、构建与管理媒体文件下载请求、解码和输出媒体内容,同时也负责响应事件,实现与流媒体服务相关的应用。首先媒体内容部署在流媒体服务器上,按内容的存储方式分为MPD 与媒体分片文件两部分。当用户发起内容播放请求时,客户端首先向服务器请求、下载与解析MPD 文件,获取节目码率等信息,然后根据实际的网络带宽情况向服务器请求某种码率的媒体分片文件。在视频的播放过程中,客户端会根据带宽情况选择不同码率的媒体分片以实现自适应切换[7]。
3.2 LTE
LTE 是由3GPP 组织制定的UMTS 技术标准的长期演进。LTE 系统引入了OFDM(正交频分复用)和MIMO(多输入多输出)等关键技术,显著增加了频谱效率和数据传输速率。根据双工方式不同,LTE 系统分为FDD-LTE(频分复用)和TDD-LTE(时分复用),二者的主要技术区别在空口的物理层(帧结构、时分设计、同步等)上。
LTE 下行信道被分为固定的时间帧,其时间长度为10 ms。每个时间帧被分为10 个子帧,分别为1 ms 且包括两个时隙(0.5 ms)。基站使用OFDM 技术来传输子帧,其中子帧在时间和空间上将无线电资源分割成网格,每个网格(占据15 kHz ×66.7 μs )被称为一个资源单元(RE)。基站的一个物理资源块(PRB)包含多个资源单元。每个PRB 占据时域上半个子帧和频域上12 个OFDM 子载波(180 kHz)[8]。
基于用户的信道条件和通信量需求,基站动态地分配无重叠的PRB 集给不同用户,资源分配策略是网络提供商制定的。
3.3 基于MATLAB 与USRP 的软件无线电平台
软件无线电这个无线通信的新概念是在1991 年由Joseph Mitola 正式提出的。它是一种可重构或者可重新编程的无线电系统,即可在其系统硬件不变更的情况下,在具体的应用中通过软件加载来完成需要的功能。这一思想的提出和发展是为了解决无线通信领域出现的多种标准间激烈竞争、多种体系并存的难题。
软件无线电已有多种开源及商业的系统可用于通信系统开发和原型设计,例如开源软件包GNU Radio(开源软件无线电)和USRP(universal software radio peripheral,通用软件无线电外设)组成的基于PC 的软件无线电系统平台。在由MATLAB 和USRP 组成的软件无线电平台里,低速率基带信号的处理由MATLAB 负责,USRP 则作为无线电通信系统中射频前端和数字中频的部分,负责对高速率信号进行处理。USRP N210 体系结构如图1 所示。USRP N210 体系结构如图1所示,USRP 的结构体系中包括由负责高速率数字信号处理的 FPGA、负责数模信号之间相互转换的DAC 与ADC 器件等组成的母板以及负责处理射频信号的射频子板。从图1 可以看到,在实际的发送过程中,PC 将已经处理好的低速率基带信号通过控制芯片送到USRP 板上,其中FPGA 对信号进行可变速率的梳状内插,把信号从基带移至数字中频,实现数字上变频功能,然后经过D/A器件的转换,转入模拟域,再由射频子板进行模拟域的上变频,将信号从中频移到射频,最后经实际环境把射频信号发送出去。接收端完成的是一个基本相反的信号处理流程[9]。
4 系统设计
4.1 系统框架
基于LTE 资源块感知的自适应无线流媒体系统框架如图2 所示,其主要包含两个部分:DASH服务器和用户终端。
图1 USRP N210 体系结构
图2 基于LTE 资源块感知的自适应无线流媒体系统框架
· DASH 服务器:该服务器拥有很多DASH视频数据集,数据集是由2 s 长的视频片组成的。
· 用户终端:包含3 个模块,分别为LTE 资源块监测、速率映射机制以及码率自适应算法。
4.2 LTE 资源块监测
LTE 资源监测模块承担监测整个蜂窝小区内物理层资源块占用情况的任务。为了能够部署在用户终端设备上,该模块必须具备高度可靠、可实时执行的特点。因此,本文采用了基于能量的资源块监测方法。
4.2.1 资源块监测原理
能量检测法是基于检测信号强度的资源块监测法,可以是时域的能量检测也可以是频域的能量检测:时域能量检测是对时域信号进行采样取值,然后进行平方运算;频域能量检测就是首先进行FFT 变换,再对频域信号取模值,然后通过平方运算观察其能量情况。随后将其与预先设定的阈值作对比,如果某个频率点处的能量大于阈值,认定该段频率被占用,如果某个频率点处的能量小于阈值,则认定该段频谱资源未被占用,进而能够很容易地得出当前频谱资源块利用率[10]。
已有研究表明,能量检测是较好的检测方法,简单易行,复杂度比较低,虽然不是性能最好的方法,但却是较为理想和广泛应用的检测方法。能量检测的算法原理流程如图3 所示。
判决器的阈值设置原理如下。
在AWGN 信道下,能量检测的检测统计量T和T的统计分布可以表示为式(1):
其中,x(n) 表示认知用户接收到的信号,N代表信号采样点数,表示自由度为N的中心卡方分布,非中心参数γ是次用户的接收信噪比。H0表示频谱资源块未被主用户占用,H1则表示主用户占用该频谱资源块。由于采样点数一般比较大,可以近似认为检测统计量T近似服从正态分布,从而能量检测的虚警概率pf可以表示为:
其中,N为采样点数,λ为阈值,Q为能量。由式(2)可得出检测概率λ的表达式为:
因此,一旦给定出所需的虚警概率,即可求得此时对应的判决器阈值,进而将能量检测结果与该阈值进行比较来求得频谱资源块的利用率。
图3 能量检测的算法原理流程
4.2.2 频谱感知实现
(1)算法实现
步骤1信号的接收与基带转化。
本设计中所针对的信号为移动4G 的LTE 信号,信号所占用的频段为1 880~1 900 MHz,带宽为20 MHz。因此,使用USRP 采集该信号时中心频率应该设置为1 890 MHz,同时采样频率设置为20 MHz,以检测到当前位置整个蜂窝小区LTE资源块利用情况。
信号接收:射频信号被接收后,射频子板对模拟信号进行滤波与下变频,将信号转移到基带,USRP 母板将获得的模拟基带信号进行采样,数字滤波,抽取得到上层需要的带宽和采样率的采样值然后通过吉比特网线将信号传递给PC。
MATLAB 中的与USRP 硬件相关参数控制代码如下:
步骤2对基带信号的数据处理。
首先对信号的操作是快速傅立叶变换(FFT),将信号从时域变换到频域然后取模并取实部,即可得到这段时间内频谱资源块的利用情况,FFT方法参数的设定方法如下:假设采用点数为N,采样频率为Fs,则经过FFT 之后,某一点n的频率就应该表示为Fn= (n− 1)×Fs/N,n= 1, …,N。其中该频率下信号的幅度对应的点就是该点的模值除以N/2 。该部分的代码如下:
步骤 3能量检测部分:m=N+sqrt(2×N)×qfuncinv(pf); %根据式(2)设定阈值。
步骤4求每一区间的能量平均值E。
步骤5将能量统计值与阈值进行比较,当能量统计值大于阈值时表示该频谱资源块被占用。
(2)频谱感知过程及分析
根据原理和方法,在MATLAB 上编好了频谱感知能量检测算法实现的代码,用其对在真实信道中传输的信号进行了检测,通过仿真得到的信号能量如图4 所示。
图4 信号能量
首先,求该信号频谱的包络:将原数据分成等宽度的小段,每段取一个最高点并连接起来,进而得到包络检波的波形。信号频谱的包络如图5所示。
图5 信号频谱包络
随后,将包络后波形上的各点与经过计算所得的阈值进行比较,即可求得当前LTE 资源块的利用率。
4.3 速率映射机制
在获得当前蜂窝小区的LTE 资源块(PRB)的利用率后,可以据此将下载速率映射为当前可用带宽,避免将下载速率视为潜在可用带宽可能造成的带宽低估问题。
做此映射的前提是蜂窝网络中某用户的PRB 利用率随着其下载速率的增长而成比例地线性增长,直至竭尽潜在可用带宽。该假设可由以下两个事实支撑:(1)端到端网络带宽的瓶颈在于LTE 接入链路,参考文献[11]证明了这一点;(2)接入链路的容量是由比特率和整个小区的PRB 利用率所共同决定的,然而基站已经进行了码率适配来实现链路比特率的最大化,那么小区中的额外可用带宽仅由剩余可用的PRB 来决定。
基于上述条件,设计了如下映射原则:假设当前蜂窝小区内的PRB 占用率为u,并且用户的下载速率(某个视频分片的下载速率)为R,在不高估当前带宽的前提下,可以支持用户的R/u下载速率。从以下3 种情况分析此原则的合理性。物理层感知的速率映射如图6 所示。
(1)蜂窝小区内只有DASH 用户(没有使用其他业务的用户)
首先,假设基站只给一个用户服务,即该用户可以使用所有未被占用的PRB。假设在当前PRB 使用率为u的情况下,DASH 用户的下载速率为R,那么当所有资源块都分配给该用户时,其可以达到的下载速率即B=R/u。下面考虑一种更复杂的情况,当前蜂窝小区内有多个DASH用户,都将探测到相同的小区范围的PRB 占用率u。假设用户i被分配了所有PRB 中比例为iu的PRB,该用户将使用1/u进行映射,可以看到即便小区内所有用户都进行该映射,所得到总的PRB 占用率也不会超过 100% :可见,本文所提的映射方法在没有高估(过分利用)带宽的情况下,可以在保证小区通信链路稳定的前提下提高所有用户的视频码率,图6(a)可以说明此情形。
图6 物理层感知的速率映射
(2)DASH 用户和其他业务用户共同存在的情况
这种情况下,对于DASH 业务而言,小区范围内的PRB 占用率是持续高于带宽占用率的(有些PRB 被分配给了其他非DASH 业务),即便如此DASH 仍然可以按设定来映射下载速率。如图6(b)所示,假设某个DASH 用户i,其被分配了比例为ui的PRB,进行映射后,蜂窝小区范围的PRB 占用率为虽然在这种情况下,一次映射后,蜂窝小区的总体PRB 占用率低于100%,但经过多次映射,蜂窝小区的总体PRB 占用率将会迅速爬升至100%。另外,对于蜂窝小区内进行其他业务的用户,如果他们的通信需求不增加,那么他们不会对小区内的DASH 用户造成影响,因为DASH 用户进行的映射仅仅是试图利用那些未被利用的PRB。如果在蜂窝小区总体PRB占用率达到100%的情况下,其他业务用户产生了更多的通信需求,LTE 基站会启动其公平机制进行资源仲裁。值得注意的是,这在无线通信中是一个普遍的问题,并非本文设计本身造成的缺陷。
(3)蜂窝小区PRB 全部占用下,新用户加入的情况
在现有用户已经竭尽蜂窝小区内所有PRB 的情况下,一个新用户试图加入网络获得服务,此时,LTE 基站的公平机制将发挥作用,该新用户将从没有资源开始到渐渐获得更多的PRB 资源。在基站将PRB 从原来的用户分配给新用户的过程中,蜂窝小区整体的PRB 占用率将一直保持100%。因此,在这种情况下,本文所提的映射机制将不再放大用户处的下载速率,进而不会造成带宽高估。同时,由于DASH 用户所得到的PRB数量减少了,其下载速率会相应降低,DASH 客户端的码率自适应算法则会相应地选择更低码率版本的视频。
综上所述,本文提出的已知小区范围PRB 利用率为的情况下,从下载速率到潜在可用带宽的映射是合理而且具有可操作性的。所提出的映射机制可以帮助蜂窝小区内的DASH 用户迅速“竭尽”蜂窝小区内的无线资源,从而更加高效地利用无线频谱资源。此外,LTE 基站的调度机制也为用户间的公平提供了保障,而本文所提方法作为一种用户端的机制,其对基站的公平保障机制没有任何影响。
4.4 码率自适应算法
通过速率映射机制,得到了目前LTE 网络中潜在可用带宽,据此,码率自适应算法将为DASH 用户选择最为合适的视频码率,进而将未被利用的LTE 资源块充分利用起来。在视频客户端缓存区完全饱满之前,视频客户端都会持续请求后续的视频分片并存入缓存区中,在每个分片下载进行前,码率自适应算法都会得到本次下载应选择的分片码率。考虑视频播放过程中的卡顿会严重影响用户体验,且卡顿时间较长时会出现严重的用户流失问题,本文设计的码率自适应算法除了基于可用带宽进行码率选择,还考虑当前的缓存情况,以求在视频播放的流畅和视频质量之间达到一种理想状态。具体的码率选择过程如下。
if 当前缓存<1/3 总缓存
找到低于当前潜在可用带宽的次最高的码率版本,选择其和上一分片所选择的码率中较小的那个码率作为下一分片的码率;
图7 原型系统架构
5 原型系统搭建与结果分析
5.1 原型系统搭建
本文设计并实现的原型系统是一个跨层测试平台,它主要包括3 部分,分别为物理层的LTE资源块监测、应用层的速率映射机制和码率自适应算法。
物理层的LTE 资源块监测部分采用NI-USRP 2920 软件无线电外设来实现实时的资源块监测功能,同时使用MATLAB 控制USRP,系统需要监测的带宽为20 MHz,其频率范围为1 880~1 900 MHz,所以设置USRP 的采样率为20 MHz来监测目标带宽的信号。而LTE 中每个时隙为0.5 ms,所以每次采集信号的时间为0.5 ms(即104个点)。经过FFT 运算查看频谱时,每个采样点代表2 kHz 的带宽是否被占用。最后利用频谱能量与判决阈值对比,统计出频率占用率,并将该参数存进文本文件中,供系统中速率映射与码率自适应模块使用。
应用层的速率映射机制及视频码率自适应算法均由PC 上的DASH 视频客户端完成。本文所实现的原型系统基于开源多媒体框架GPAC 项目[12]完成,本文利用第4 节提出的速率映射机制和码率自适应算法代替了其对DASH 流媒体支持中的原生算法来进行视频码率选择,原型系统架构如图7 所示。其中,链路传输时延设置为5 ms,预先为每个用户设定的目标缓存长度bref设置为0.5 s,自适应码率选择模块调整码率请求设置为http_request=r_q/r_u。DASH 客户端一次请求一个视频切片,每接收一个TCP 段,便通过VLC 播放器读取并解析。在GPAC 项目的基础上,本文添加了软件无线电外部设备对当前LTE 资源块使用情况进行了准确的监测与分析,进一步指导GPAC 速率映射更加结合实际传输条件。
测试所使用的DASH流媒体源来自知名CDN服务提供商Akamai,有线网络中的测试速率表明所选的测试视频流在有线网络部分不存在带宽瓶颈,这样可以保证后续测试中的带宽瓶颈仅存在于无线接入网络部分。
系统测试使用的视频为一段长度为10 min 34 s的常用视频测试集:动画片《Big Buck Bunny》,在Akamai 的服务器上共部署了10 种不同的视频码率版本,具体码率和分辨率见表1。
表1 10 种不同的视频码率版本的《Big Buck Bunny》
图8 实验数据
5.2 结果分析
本文选择了另外两种码率自适应算法作为对照,一种是开源项目GPAC 的原生算法,其基本原理为将前面若干个视频分片下载速率的算术平均值作为可用带宽的估计;另一种则是利用上一分片的下载速率作为可用带宽的估计。共进行5 组重复实验,每组对3 个算法分别进行测试,测量指标包括视频平均比特率和视频卡顿率两个指标,其中视频卡顿率的定义为:卡顿总时长/视频总时长。实验数据如图8 所示,其中柱状图顶部的误差棒指示5 组实验的标准差。
在平均码率的表现上,所提方法相较于GPAC的原生方法提升了41%,其原因是:使用历史下载速率的算术平均作为未来带宽的预测显然很容易造成带宽低估,而所提方法中通过资源块利用率来对下载速率进行映射的方式可以得到近乎真实的潜在可用带宽,使用该值来指导码率选择,可以更加有效地利用网络带宽,提升视频的平均码率;另外,相较于直接使用上一视频分片的下载速率作为可用带宽估计的方法较为激进,容错率较低的方法,所提方法在视频平均码率的表现上也小幅提升9.8%。
在卡顿率的表现上,可以看出基于上一视频分片下载速率来做带宽估计和预测的方法不能较好应对LTE 网络带宽波动的问题,而造成了较长时间的卡顿(所提方法降低了52.2%的卡顿率),极大降低了用户体验;GPAC 项目使用的算术平均的方法可以降低出现视频卡顿的可能性,但其策略的本质是被动地牺牲码率来换取卡顿可能性的降低,但所提方法的卡顿率比其低5.9%。所提系统结合缓存状态来自适应选择码率版本的策略,在缓存较多时激进,缓存位置较低时保守,很好地发挥了缓存区在抵抗无线网络带宽波动中的作用。从实际效果看,所提的系统在保证了极低的卡顿率的前提下(平均卡顿率为1.3%),获得了三者中最高的视频平均码率,明显提升了用户视频观看体验。
6 结束语
爆炸式增长的视频流占据了当前网络通信量的主体。然而,即使在LTE 高带宽的条件下,现有的自适应流媒体协议仍然不能满足用户对视频QoE 的需求。为了解决这个问题,本文提出了一种基于LTE 资源块感知的自适应无线流媒体系统,其利用LTE 物理层信息(频谱资源块利用率)来改善视频码率自适应的效果,实现了视频质量与播放卡顿之间的折中。本文选择另外两种码率自适应算法(开源项目GPAC 的原生算法和利用上一分片的下载速率作为可用带宽的估计的算法)与所提的码率自适应算法相比较,并在搭建的原型系统上进行实时测试。测试结果表明:在平均码率上,所提的方法相较于GPAC 的原生方法大幅提升了41%,相较于直接使用上一视频分片的下载速率作为可用带宽估计的方法提升了9.8%;在卡顿率上,相较于GPAC 的原生方法降低了5.9%,相较于直接使用上一视频分片的下载速率作为可用带宽估计的方法降低了52.2%。
未来几年,5G 移动通信网络将在国内实现大面积覆盖,作为5G 移动通信核心技术之一的移动边缘计算(mobile edge computing,MEC)技术为自适应无线流媒体应用提供了更好的基础条件。MEC 在移动网边缘可提供计算、存储及信息开放的服务,为用户提供了高性能、高分布的后台服务器,其中MEC 提供的信息开放服务更是能实时获取用户无线网络状态信息,当用户请求流媒体业务时,MEC 硬件平台将根据用户和基站之间的无线网络状态条件,实时动态地调整用户的视频数据请求,让获取的视频内容与用户当前所处的网络环境相匹配。随着5G 时代运营商与内容提供商的深入合作,无线流媒体应用给人们带来的体验值得期待。