温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
带宽
约束
客户端
视频
流体
质量
动态
优化
书书书 年月第 卷第期计算机工程与设计 带宽约束下多客户端视频流体验质量动态优化谭光,丁佳龙(中山大学深圳 智能工程学院,广东 深圳 ;中山大学 智能工程学院,广东 广州 )摘要:为解决多客户端的带宽资源分配问题,提高用户体验质量(,),建立多客户端视频流的体验质量优化框架。针对已有视频流算法在多客户端领域的缺陷,基于模型预测控制算法提出一个多客户端带宽动态调度算法,根据每个客户端的带宽预测情况对它们进行动态资源分配,通过提高带宽利用率进而提升总体用户 。在 网络带宽轨迹上的仿真结果表明,相比各客户端平均带宽分配方式,优化方法在总体用户体验质量上提升 以上,相比最新的 方案提升了 。关键词:视频流;体验质量;多客户端;自适应比特率;带宽预测;决策算法;资源调度中图法分类号:文献标识号:文章编号:():收稿日期:;修订日期:基金项目:国家自然科学基金项目();广东省自然科学基金项目()作者简介:谭光(),男,湖北咸宁人,教授,博士生导师,研究方向为移动计算、计算机网络、分布式计算;丁佳龙(),男,湖北襄阳人,硕士研究生,研究方向为计算机网络、视频流调度。:,(,;,):(),(),:;引言如何为视频客户端选择合适的比特率视频块成为决定用户体验质量(,)的关键。现今,大多数视频服务供应商基于 流式传输视频块,并通过自适应比特率(,)算法预测用户网络带宽以及播放器缓冲占用情况,对视频块的比特率等级进行动态选择。现有的 算法根据决策基准可以大致分为类:基于预测网络带宽,只适合网络平稳的环境(带宽波动范围小);基于缓冲器占用,牺牲了网络带宽信息,局限性较大;控制理论方式 ,结合以上两种方法最大化 ,比较流行的算法有模型预测控制(,);基于马尔科夫决策过程(,),将 视 频 流 媒 体 视 为 有 限 的 过程。尽管强化学习在仿真环境下具有更好的实验效计算机工程与设计 年果,但根据文献 ,在真实环境中考虑到太多的扰动其效果差强人意,故而选用 作为核心 算法。另一方面,大部分的 算法旨在提高单客户端的观看体验,当拓 展 到 多 客 户 端 时,多 用 户 相 互 竞 争 引 起 损失。针对上述情形,本文基于 建立多客户端模型,在多客户端之间加入带宽控制器,对带宽进行统计和预测,根据 算法探索 最大化。结合真实带宽轨迹的仿真实验结果表明,在相同带宽瓶颈下与均分带宽方案和最新的 方案相比,多客户端带宽调度能够显著改善总体用户体验质量。研究背景和动机当今主流的视频流媒体系统大多采用动态自适应流媒体 技 术(,),例如 公 司 的 动 态 流 媒 体 技 术(,)、苹果的基于 的流媒体技术(,)以及微软的平滑流媒体技术(,)。视频流因其较强的兼容性得到广泛应用,同时能针对不同客户端所处网络环境即时切换视频画质改善用户体验,故下文对 技术原理进行简述。系统结构将完整视频分割成多个视频块,每个视频块能够持续播放数秒。每个视频块被编码成几种不同比特率等级,比特率越高的视频块尺寸越大对应画质越高,客户端可根据自身需求随时切换画质改善体验质量。图展示了 自适应视频流端到端的流媒体传输框架。如图所示,客户端通过把网络预测带宽以及缓冲器占用作为信号,输入到自适应比特率算法控制器中进行比特率决策,然后向服务器请求下载对应等级的视频块。服务器响应请求后开始下载视频块,当一个视频块内容下载完成后才会送入播放缓冲器里等待播放。图自适应视频流基本架构当客户端数目增多时,各客户端相互竞争造成带宽资源紧张。由于缺乏统一的资源调度管理,每个客户端都尽可能优化自身 ,这导致它们需求更高的带宽,考虑多个用户共享带宽瓶颈的情形,竞争现象更为严重而导致彼此体验质量显著下降。采用多客户端均分带宽可以避免上述竞争问题,但均分带宽会导致资源严重浪费。当客户端缓冲区达到存储上限时即使给它分配带宽也不会继续请求下载视频块,而其它客户端也因平均带宽使得期望 降低。目前流行的多客户端调度方案 在均分带宽基础上引入权重系数,采用 进行比特率决策,尽管通过添加权重平衡各客户端的 实现了公平性,但这种方式无法实现带宽资源的最大利用率。文献 通过在服务器上部署来解决可用带宽问题,即在服务器端进行比特率整形,通过码率整形器控制各客户端视频块的最终决策。此方法虽然保证了带宽的有效利用,但增加了服务器端的开销,同时需要额外修改传输视频文件,可能违反 视频流设计标准。综上,本文采用客户端和服务器间加入带宽控制器的方法,统一对所有客户端的带宽进行分 配,减少 资源浪费,以保证 用户 总 最大化。多客户端控制模型本节介绍多客户端的视频流模型架构以及优化目标。多客户端视频流模型客户端的集合为,接着将视频建模为一组连续视频块构成的集合,其中每个视频块可以持续播放秒。根据 视频流特性每个视频块被编码成多种比特率等级,记 表示所有比特率等级的集合。客户端请求下载第个视频块对应的比特率记为,(,)为客户端请求下载第个比特率为,视频块的大小。函数()表示比特率到用户感知视频质量的映射,(,)表示客户端选取比特率,视频块时感知的视频质量。本文采用线性映射,即用视频比特率代表视频质量。在每个客户端上存在一个播放缓冲器用来存储下载的视频块以及尚未播放的缓存视频,缓冲器一般可以存储几十秒的视频内容,(),为客户端在时刻的缓冲占用大小(即播放器剩余内容可持续播放时间),为设定的缓冲器上限。记,为时刻客户端的网络带宽,假定客户端在时刻下载第个视频块,在 时刻下载第个视频块,则由式()可以计算下载视频块时的网络带宽,()当视频块下载完成并解码后会送入到播放缓冲器中,缓冲占用增加;而用户观看视频时会消耗视频块使缓冲占用减少,如果用,表示下载客户端下载视频块时的缓冲器占用,则可由式()计算当前缓冲占用,(),()第 卷第期谭光,丁佳龙:带宽约束下多客户端视频流体验质量动态优化如果当前缓冲器占用小于下一个视频块下载时间则会发生卡顿事件,即客户端还在下载视频块而播放缓冲器内已无内容可供播放,客户端的卡顿持续时间,可以通过式()得到,(),(),(),()指标和比特率决策在端到端视频传输架构中,用户的 可以由视频流的感知因素衡量,包括视频画质、起始等待时间、卡顿时长以及次数、画质切换频率等方面。尽管用户对以上因素的偏好不同,但有个指标最能直观反映多数用户的 ,分别是视频块质量(,)、缓冲时间,以及切换平滑度。然而,要对这些指标同时进行优化并不容易,因为它们彼此相互制约:当用户选择高画质(高比特率)视频块时,在相同带宽占用下需要更长的下载时间进而引发缓冲事件;当用户为适应波动带宽选择对应最高比特率视频块时导致频繁切换画质降低视频播放的平滑度。为了把该问题转化为优化问题,将上述指标通过式()表示如下 (,)(,)(,)(,)()其中,相邻视频块的质量变化代表视频播放的切换平滑度。针对多变量的优化,本文考虑使用 算法进行优化,根据带宽预测值、缓冲器占用信息以及上一个视频块的比特率计算下一个视频块选取不同比特率情况下的 大小,并 基 于 当 前 时 刻 的 解 继 续 计 算 未 来 几 个 视 频 块(未来视野)的目标函数累计值,由于每一步的选择都会对后续视频块比特率的选择产生较大影响,通过选取最大的 数值给出最佳的视频块比特率决策,用式()表示该过程如下,(?,)()其中,?,是客户端在时刻的带宽预测值,为比特率决策函数,为 视野大小。带宽预测带宽预测器(,)部署在客户端侧,通过对历史带宽数据进行统计处理来获取未来一小段时间内的带宽。经典的带宽预测方式为统计过去个视频块的真实带宽,计算平均值作为预测带宽。然而在真实网络场景下网络带宽频繁波动,想要精准预测带宽十分困难。如果带宽预测器对带宽的预测长期高于或者低于实际带宽,会导致错误的视频块比特率决策,下载不合适的视频块会出现视频卡顿现象。为了防止带宽预测器长期低估可用带宽,保证预测精度,可以统计过去个视频块真实带宽与预测带宽的差值,将最大误差值作为修正系数从而得到正确的预测带宽?,如式()所示?,()多客户端 和带宽调度算法 多客户端 算法多客户端控制模型结构如图所示,在带宽预测器和 控制器 之 间 加 入 带 宽 控 制 器(,),将多个用户当前的带宽预测统一输送到带宽控制器中,根据当前网络状况给每个客户端分配最为合适的带宽,然后连同部署在客户端上的缓冲播放器给出的缓冲占用信息一同传递给 控制器进行视频块比特率决策,各客户端向不同的服务器请求相应比特率的视频块下载,放入播放缓冲器中等待用户播放,随后继续进行下一个视频块的请求过程。图多客户端视频流控制模型算法描述了多客户端进行比特率决策的整体流程。首先由各客户端上的带宽预测器得到预测带宽,判断是否需要进行带宽调度,将预分配的带宽、缓冲占用以及上一个视频块的比特率传输给决策控制器,通过 视野计算该范围内不同决策方案下的总预期 来选择下一个视频块的比特率。算法:使用 对多客户端视频块进行比特率选择流程()初始化()从视频块到 执行:()从客户端到 执行:()当客户端的播放器请求视频块:计算机工程与设计 年()?,(,)()判断多客户端预测总带宽是否超过阈值:()如果超过阈值:()?,(,)(),(?,)()结束当前循环()客户端下载比特率,的视频块,直至所有客户端下载完成所有视频块()结束算法对于每一个视频块,首先通过带宽预测器预测所有客户端未来个视频块的网络带宽?,将经过误差修正的各预测带宽累加,判断总预测带宽是否超过带宽瓶颈,在未超过带宽阈值时保持原带宽调度方式,如超过则通过带宽控制器对每个客户端进行带宽预分配(见第 节),避免由于带宽竞争导致的体验质量急剧下降。在 确 定 分 配 带 宽 后,每 个 客 户 端 将 其 预 测 带 宽?,、缓冲区可持续时间,以及上一个视频块的比特率,送入 控制器,通过计算和比较未来视野下的不同决策方式下的总 大小确定下一个视频块的最佳比特率,然后向服务器请求下载相应比特率等级的视频块并移 动 视 野,重 复 以 上 步 骤 直 至 所 有 视 频 块 请求完毕。带宽调度算法在实际场景中,由于 带 宽是动态波 动 的,当 总 预 测带宽超过阈值时考虑对各客户端进行带宽资源分配。鉴于多客户端的 优化是一个高维的组合优化问题,难以求得全局最优解,并且多个客 户 端之间相 互 影 响,本文考虑对带宽初始值集合的多次迭代来确定最终的带宽分配方式,采用爬山算法来进 行 带 宽资源 调 度,具 体 步骤如下:步骤给每个客户端预分配初始带宽作为迭代起点,计算当前带宽分配方式下能达到的最大 作为初始最优解;步骤以随机的小范围扰动调整初始带宽值,在保证各客户端总带宽不超过带宽瓶颈的条件下,把当前带宽分配作为预测带宽传送带决策控制器中,计算新的带宽组合方式下的 ;步骤与初始最优解 进行比较,当 时替换 ,并保留当前带宽分配数值作为最佳调度方案;步骤重复步骤、步骤,直至达到预设的迭代次数上限,此时得到的 即为最优解。实验评估在本节描述多客户端 的实施。网络带宽轨迹:仿真实验需要模拟不同客户端请求视频播放的情形,故而需要大量不同的网络环境,本文所用到的带宽轨迹来自于挪威收集的带宽数据集 。移动数据集的带宽数据由不同的移动设备在运输工具上观看视频流时测量所得。为了避免带宽波动最小值仍不足以请求最低比特率视频的情景,本文对带宽数据进行了筛选,最终得到一系列带宽在 内波动的真实网络带宽轨迹。视频文件:实验所用的视频来自“”以及 ,这 些 视 频 均 以 编码,并从中选择种比特率视频块进行评估。为减少仿真实验其它因素造成的影响,每个客户端选取的视频时长为 ,一共分成 个块,即每个视频块可以持续播放。视频具体信息见表。表视频具体信息视频类型视频块比特率大小视频块时长截选视频块歌舞种比特率()动漫种比特率()纪录片种比特率()运动种比特率()实验设置:为了评估算法性能,本文使用 仿真网络环境,模拟个客户端向个视频流服务器请求视频播放的场景,且个客户端共享带宽瓶颈()。每个客户端分别选用种不同比特率的不同类型的视频。给个客户端选定带宽初始值,计算