本文主要是介绍论文翻译0-NAS-Neural Adaptive Content-aware Internet Video Delivery,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目: 神经自适应内容感知互联网视频传输
摘要:
互联网视频流在过去几十年中经历了巨大的增长。但是,现有视频传输的质量关键取决于带宽资源。因此,当网络条件变得不利时,用户体验质量(QoE)不可避免地受到影响。我们提出了一个新的视频传输框架,它利用客户端计算和深度神经网络(DNN)的最新进展来减少提供高质量视频的依赖性。DNN的使用使我们能够独立于可用带宽来增强视频质量。我们设计了一个实用的系统来解决几个挑战,例如客户异构性,与比特率自适应的交互以及DNN传输,以实现它们。我们使用3G和宽带网络跟踪进行的评估表明,所提出的系统优于当前的技术水平,使用相同的带宽预算将平均QoE提高43.08%,或者在提供相同的用户体验的同时节省17.13%的带宽。
1、绪论
互联网视频在过去几十年中经历了巨大的增长。最近的市场报告显示,世界各地的人们平均每周观看5.75小时的在线视频[10],视频流量预计将在未来五年内翻两番[26,63]。目前的视频传输基础设施已经成功地通过两种关键技术处理可扩展性挑战。首先,在服务器端,分布式计算技术支持互联网规模的内容交付。其次,在客户端,自适应比特率(ABR)流解决了带宽不均匀性的问题以及跨时间和空间的变化。随着时间的推移,两种技术不断发展,以优化用户体验质量(QoE),因为它最终会影响各利益相关方的收入[22,27,77]。
但是,现有内容分发网络(CDN)的局限性在于其质量在很大程度上取决于服务器和客户端之间的带宽。当带宽资源变得稀缺时,用户QoE直接受到影响[43,47]。比特率适应一直是解决问题的主要工具[52]。然而,它对网络资源的唯一依赖是一个根本的限制。受到不断增长的客户计算能力和深度学习的最新进展的启发,本文确定了一种提高视频质量的替代和补充方法。我们利用客户端计算应用基于深度神经网络(DNN)的基于质量增强的内容来最大化用户QoE。特别地,深度学习模型学习从低质量视频到高质量版本(例如,超分辨率)的映射。这使得客户能够从较低质量的传输获得高分辨率(例如,1080p)视频,从而在比特率自适应的基础上提供用于QoE最大化的强大机制。
通过DNN利用客户端计算会影响服务器/客户端系统并引入一些重要的挑战:
首先,CDN服务器必须为它们提供的内容提供DNN模型。但是,很难保证DNN预测的测试性能。对于看不见的/新的内容来说尤其不可靠,这对部署来说是一个重要的障碍。
其次,客户端设备是异构的。它们的计算能力变化很大,甚至可能由于多路复用而表现出时间变化。然而,基于DNN的质量增强必须实时发生以支持在线视频流。
最后,基于DNN的质量增强具有基于ABR的QoE优化的级联效应。除了可用带宽之外,质量现在还取决于客户端DNN的可用性。因此,现有的ABR算法必须反映这些变化。
本文介绍了NAS,这是第一个使用客户端计算能力将DNN应用于视频内容以最大化用户QoE的视频传输框架。我们提出了一种运行在HTTP(DASH)框架上的动态自适应流传输之上的系统设计。NAS通过引入新系统设计来增加挑战。为了保证DNN提供可靠的质量增强,它需要一种内容感知方法,其中DNN分别针对每个内容进行训练。我们的想法是提高DNN的设置属性和设置精确度,以确保高性能,而不是依赖于不可预测的测试精度。接下来,为了满足异构环境的实时约束,我们使用多个可扩展的DNN来提供任何时间预测[24,36]。在给定资源预算的情况下,这种DNN架构可以自适应地控制其计算成本。NAS客户选择最适合其资源的DNN(来自多个选项)并适应每个时代的计算能力的时间变化。可扩展的DNN还允许使用单独下载的DNN,为下载DNN模型带来增量收益。最后,为了协调基于ABR的QoE优化和基于DNN的质量增强,我们设计了一种用于QoE优化的内容增强感知ABR算法。为此,我们将我们的设计整合到使用强化学习的最先进的ABR算法[52][68]。该算法决定何时下载DNN模型以及用于每个视频块的视频比特率。
我们使用完整的系统实施来评估NAS。我们使用六种不同的GPU模型评估了27个真实视频和17.8小时的真实世界网络跟踪[8],显示NAS在各种设置中提供了实质性的好处,并且能够满足不同容量的桌面级GPU的实时约束。特别是,与DASH[4]中使用的BOLA[66]和最先进的ABR设计Pensieve相比,用户QoE提高了63.80-136.58%和21.8976.04%。最后,我们提供了对各个系统组件的深度性能分析。
总之,我们做出了三个关键贡献:
端到端视频流系统:NAS是一种端到端视频流系统,集成了内容感知方法,DNN用于超分辨率,可扩展的随时预测,以及处理设备异构性的适用于自适应流动框架的机制。
在自适应流传输中使用DNN:NAS是第一个在自适应流传输环境中应用超级分辨率DNN认证的系统。从机器学习(ML)方面来看,我们是第一个将DNN流,超分辨率和随时预测应用于自适应流媒体的方法。
内容感知DNN:NAS将视频与相应的内容感知DNN一起流式传输到其客户端。这是NAS的关键推动因素和新颖组件,也可视为视频编码的新方法。
2、动机和目标
改善视频流质量的传统方法包括:使用更好的编解码器[11,12];优化自适应比特率算法[20,39,42];选择更好的比特和CDN [17,50,74];并通过集中控制平面在客户端和服务器之间进行协调[51,54]。这些方法主要用于网络资源,但存在两个共同的局限性。
客户计算利用不足。市场报告[10,57]表明大多数用户主要在PC上观看视频,这些PC具有显着的计算能力。移动设备是下一个受欢迎的平台,它还配备了功耗高效的图形处理单元(GPU)[29]。图1显示了GPU在移动设备和台式机上的计算能力随时间的呈指数增长。最新的移动设备甚至还有用于神经处理的专用硬件[7]。但是,当前的视频传输基础设施未充分利用客户端的计算能力。随着他们不断增长的计算能力和不断增长的带宽需求,我们设想了一个视频传输系统,客户可以在其中发挥积极作用,提高视频质量。当前视频编码的限制。视频集通常包含在大时间段发生的冗余。例如,考虑数百万人观看的流行体育游戏(例如,NBA终端)。相同的物体(例如球和球员)和场景(例如,篮球场)反复出现。同样,在电视节目,体育联盟中的游戏以及来自相同流媒体的视频中也可以找到冗余。这种频繁重复出现的高级特征包含可用于视频编码的有价值信息。然而,标准视频编码(例如MPEG和H.26x)仅捕获空间和短期冗余,缺乏利用运动图像的高级特征的任何机制。在一组图片(GOP)中,帧间编码在相邻帧之间编码差分压缩运动图像[30]。但是,GOP通常在线视频的数量级为秒[13],因此无法捕获在大时间尺度下发生的冗余。只要编解码器仅在GOP内压缩视频(可以说是流媒体的基本约束),使用复杂的编解码器就不能完全消除这种差距。
受此启发,我们设想了一种视频传输系统,它通过捕获高级功能来利用这种冗余,并应用额外的客户端计算来增强传统视频编码的限制。为此,我们利用DNN从数据的低级表示中抽象出有意义的特征[23]。
系统目标。我们的目标是设计一个实用的系统,增强现有的基础设施,以优化用户的QoE。作为第一步,我们考虑提供按需视频服务,而不是实时流,以及使用具有桌面级GPU的个人计算机。我们建议在更大程度上重新设计对客户端计算的优势。为了提高质量,我们利用超低分辨率将低质量视频作为输入并生成“放大”版本。我们选择超分辨率是因为最近取得了重大进展[28,45,49]。虽然我们将研究范围扩展到桌面级GPU和超分辨率,但我们认为框架工作是完全适用于DNN模型和设备的不同类型。
3、背景和相关工作
自适应流(例如,Apples HLS [1],DASH [2])被设计为处理现实世界中不可预测的带宽变化。视频被编码成各种比特率(或分辨率)并被分成固定长度,通常为2-10秒。自适应双频算法(ABR)决定了对视频资源的预测。传统ABR算法基于估计的网络带宽[42]和/或客户端回放缓冲区[66]的当前大小,使用启发式方法选择比特率。MPC[77]和Pensieve[52]证明直接优化所需的QoE目标比基于启发式的方法提供更好的结果。特别是,Pensieve使用深度强化学习,并通过“观察”学习过去决策和当前状态如何影响视频质量。Oboe [21]根据查询离线预计算结果的网络条件动态调整ABR参数。虽然这些算法能够成功应对带宽变化,但它们既不考虑客户端质量增强的影响,也不考虑同时传输DNN和视频块的动态。
超分辨率从单个或多个较低分辨率的图像中恢复高分辨率图像。超分辨率已被用于各种计算机视觉应用,包括监视[78]和医学成像[65],或其他原始的高质量图像/视频是不可得的方面。最近的研究使用DNN[28,45,49]来学习低分辨率到高分辨率的映射,并证明与非DNN方法相比具有显着的性能增益[25,64]。特别是,MDSR[49]是一种先进的DNN,它集成了残余神经网络架构[34]并支持多尺度输入。在NAS中,我们在自适应流媒体上应用超分辨率,通过在客户端增强低质量视频来改善用户QoE。
可扩展DNN是一种新兴的DNN,旨在动态适应计算资源约束,实现随时预测[36]。浅层和深层网络分别用于资源受限和高效的环境[24,36]。 ISResNeXt[48]选择性的使用适合DNN宽度(或信道)的细网络和宽网络。可扩展的DNN主要应用于图像分类/检测任务。NAS将随时预测应用于超分辨率,并使用它在流式上下文中提供增量质量增强。
基于DNN的媒体压缩。最近的研究[18,61,71]表明,基于DNN的图像压缩优于传统的图像编解码器,如JPEG2000和WebP。传统编解码器的优势主要来自两个方面:1)直接优化目标质量度量; 2)根据图像调整编解码器配置,而不是使用固定配置[61]。然而,将其应用于视频涉及显著的挑战,包括减少跨DNN编码图像的帧间冗余的问题。最近的一项工作[72]使用DNN执行I帧压缩和帧插值。然而,基于DNN的视频压缩分析只是提供了“与MPEG-2相当的性能”并且在提供实时解码方面不尽如人意[72]。NAS旨在使用DNN增强现有视频传输——它通过在传统视频编解码器上应用超分辨率DNN实现逐帧应用质量增强功能。
视频处理系统。后端视频处理系统需要增加视频编码所需的重要性。研究报告称,快速交互式共享的延迟,编码的系统效率,可扩展性和容错性是主要问题[31,37,70]。SVE [37]介绍了Facebook中使用的后处理系统。ExCamera[31]使用大规模并行性来实现交互式和协作式编辑。他们专注于在不改变客户端的情况下解决数据中心内的分布式系统问题,而我们则专注于服务器和客户端之间的工作分工。
对视频控制平面的研究[32,41,44,51]确定了性能中CDN的空间和时间多样性,并提倡互联网规模的控制平面,该平面协调客户行为以共同优化用户QoE。虽然它们控制客户端行为,但它们不利用客户端计算来直接提高视频质量。
4、关键设计选择
实现我们的目标需要重新设计视频传输的主要组件。本节描述了关键的设计选择,以及过去的实际挑战。
4.1内容感知DNN
关键挑战。开发一种适用于所有互联网视频的通用DNN模型是不切实际的,因为视频集的数量几乎是有限的。原则上,单个DNN的有限容量可能不足以捕获所有这些容量。注意,任何机器学习方法的泛化和专业化之间存在基本的权衡(即,当模型覆盖范围变大,其性能下降时),这被称为“无免费午餐”定理[75]。更糟糕的是,鉴于任何现有的DNN模型[38,58],人们可以生成任意低质量的“对抗性”新视频,使该服务容易受到质量攻击的影响。
NAS的内容感知模型。为了应对这一挑战,我们考虑了一种内容感知的DNN模型,我们在每个视频集中使用不同的DNN。这很有吸引力,因为DNN通常会达到接近于零的训练误差,但是这个指标更加严重(即发生过度训练)[67]。虽然深度学习社区已经做出了大量努力来缩小差距[40,67],但依靠DNN的测试准确性可能会导致不可预测的性能[38,58]。NAS利用DNN固有的过度安装属性来保证可靠和卓越的性能。
图2显示了我们的内容感知DNN和在标准基准图像上训练的内容无关DNN的超分辨率结果(NTIRE 2017数据集[19])。我们使用240p图像作为输入(d)到超分辨率DNN以产生输出(b)或(c)。这些图像是来自YouTube的视频剪辑的快照。通用的通用模型无法在各种内容上始终如一地实现高质量——在某些情况下,质量会在处理后降低。在§5.1中,我们展示了如何为自适应流设计内容感知DNN。
内容感知方法可以被视为一种视频压缩,如图3所示。内容感知DNN捕获在大时间尺度(例如,多个GOP)发生的冗余并且在整个视频上操作。相反,传统的编解码器处理帧内或GOP内的帧之间的冗余。在NAS中,我们使用per-video超分辨率DNN来演示新的编码方案。但是,我们认为内容感知方法可以应用于一系列视频(类似内容)并扩展到与不同类型的DNN一起使用,例如帧插值[56],如我们的立场文件[76]所述。
4.2多重,可扩展DNN
关键挑战。由于客户端设备的异构性、工作负载的变化和多路复用,可用的计算能力随时间和空间而变化。表1显示了即使在桌面级GPU中,计算能力也变化了5.68倍。然而,在线视频流需要实时推断——DNN推断必须至少与回放速率一样快。然而,现有的超分辨率DNN[28,45,49]需要大量的计算能力,并且不能适应时变容量。因此,使用单个DNN既不能充分利用客户端的GPU,也不能满足实时要求。
NAS的多个可扩展DNN设计。为了应对这一挑战,NAS提供了多个DNN,并让客户机动态地选择一个占用其资源的DNN。类似于自适应流提供的多个比特率,我们提供了一系列DNN选项,这些选项的推理时间(或计算要求)不同。NAS服务器提供多个DNN规范作为视频清单的一部分。我们提供了一种轻量级的机制,它不要求客户机下载DNN,以便从可用选项中选择正确的DNN。
然而,使用多个DNN引入了另一个挑战。因为DNN的大小与其计算需求成正比,所以为高端GPU设备设计的DNN可以非常大(几MB)。DNN下载和使用需要很长时间。为了解决这个问题,我们设计了一个可扩展的DNN,它使客户端能够以增量的方式利用部分下载的模型。可伸缩DNN包含多个可绕过中间层,使没有中间层的部分DNN能够生成输出,如图4所示。此外,由于复用,设计自然地适应了计算能力的时间变化。当计算资源充足时,客户端扫描密封层,否则会自动绕过任意数量的中间层,从而能够进行任何时间的预测[24,36,48]。最后,使用多个可伸缩DNN允许每个设备从部分下载的DNN中受益,并且无论设备的计算能力如何,都提供相同级别的时间适配。第5.2章介绍可扩展DNNs的细节。
4.3 集成ABR
关键挑战。由于NAS使用per-video DNN,客户机必须从服务器下载DNN,以便从基于DNN的质量增强中获益。然而,DNN下载也与视频流本身竞争带宽。因此,优先下载DNN模型可能会降低用户QoE。同时,客户端可能无法从早期DNN下载中获益,因为它可以在早期接收质量增强。由于DNN的存在,因此如何进行有效的决策以及如何下载DNN至关重要。
NAS的比特率自适应集成了决策,即加载具有比特率选择的DNN以实现QoE最大化。它考虑了影响用户QoE的三个附加因素:1)为了从质量增强中获益,必须首先下载客户端DNN;2)部分下载DNN与下载量成比例地提高质量;3)DNN块下载与视频块下载竞争带宽。
对于微不足道的问题,我们利用强化学习[52]并生成ABR算法,该算法集成了下载DNN模型的决策。为此,我们将DNN模型划分为固定尺寸的块,并训练RL网络,该RL网络使用当前状态(例如,吞吐量测量、回放缓冲区占用、剩余视频块的数量)及其历史作为输入输出决策(即,是下载视频还是DNN块)。我们使用由真实网络轨迹组成的大型训练集来训练RL网络[9,60]。
使用RL的决定带来了许多好处:1)通过NAS直接优化目标QoE度量,实现基于DNN的质量改进;2)RL以优化QoE的方式平衡多个交互因素,例如带宽变化、视频和DNN块之间的带宽共享以及部分DNN的质量增强;3)通过在RL网络中对DNN类型进行编码,自然地适应了多个DNN的使用。第5.3章介绍了综合ABR的细节。
5、系统设计
NAS是在当前HTTP自适应流基础上实现的,在DASH[2]中标准化。我们首先解释系统运行的关键差异。
新的视频输入(服务器端处理)。与DASH中一样,当视频片段被上传时,它被以多个比特率编码并分成块。此外,服务器还训练用于视频的内容感知DNN,用于客户端质量增强(§5.1)。然后,通过将它们的URL与DNN规范(§5.2)一起放在清单中,将DNN与视频相关联。
客户端行为。客户端的视频播放器首先下载一个下载清单文件,其中包含视频可用DNN的列表。然后客户端选择其中一个计算能力。客户机的DNN处理器使用轻量级机制来选择对其资源(§5.2)可用的最佳机制。然后,播放器根据综合自适应比特率(ABR)算法(§5.3)给出的判决下载所选择的DNN或视频块。当下载DNN块时,播放器将其传递给DNN处理器,并且处理器在客户端的计算设备(例如,GPU)上加载(部分)DNN。当下载视频块时,播放器将其保存在回放缓冲区中,并且该块为立即回放做好准备。然后,播放器将回放缓冲区中的视频块与它们相关联的回放时间一起机会性地传递给DNN处理器以提高质量,这指示了神经处理的最后期限。当DNN处理器处理一个块结束时,它将替换回放缓冲区中的原始块。最后,播放质量增强的视频块。
客户端神经处理。DNN处理器初始化DNN作为DNN块到达。我们使用的DNN对每帧进行质量增强以实现超分辨率。因此,DNN处理器首先将视频块解码成帧。DNN处理器然后应用超分辨率DNN。然后将得到的帧重新编码为视频块,视频块替换回放缓冲区中的原始块。解码、超分辨率和编码阶段被流水线化和并行化以最小化延迟(详细信息参见§7.5)。
5.1针对DASH的内容感知DNN
DNN在自适应流媒体中的应用标准的DNN架构不是为引入特殊要求的自适应流而设计的。首先,因为自适应流使用多个分辨率,所以DNN必须能够以多个分辨率作为输入。第二,DNN推理必须实时进行。最后,DNN在满足前两个要求时,应该尽可能少地牺牲其推理质量。通过减少每一层中的层数和/或信道数(一组特征),可以以质量为代价减少推断时间。这样的缩小也减少DNN的网络占用。因此,我们必须在质量和大小之间取得平衡,同时满足实时要求。
使用超分辨率网络。我们的系统扩展了MDSR(49),一个最先进的超分辨率网络。如图4所示,MDSR支持单个网络中的多尺度超分辨率(x2、x3、x4),同时共享中间层以减少占用空间。输入分辨率极大地影响了MDSR的推理时间。例如,即使在flagship桌面GPU(例如,Nvidia Titan Xp)上,720p输入每秒仅传送3.23帧,而240p图像几乎以每秒28.96帧实时处理。因此,为了满足最高分辨率的实时约束,必须缩小网络规模。
然而,由于共享层设计,这均匀地降低了所有分辨率的质量,使得较低分辨率遭受到显著的质量下降。为了避免这种限制,我们为每个解析使用一个单独的网络(图4),用DNN的总大小来换取推断质量。对于每个DNN,我们x表示适应计算能力的时间变化的能力的层数(§5.2)。然后,对于满足实时约束的每个分辨率,我们独立地获取最大信道数。表2列出了我们用于评估的结果DNN结构和大小。“超高”DNN的占地面积是2145KB,从我们的评估来看,大约是1080p(4秒)视频块(4.8Mbps)的大小。“低”DNN的大小仅为240p块(400Kbps)大小的一半。虽然我们使用NAS-MDSR和特殊设置进行评估,但NAS设计并不局限于任何特定DNN,而是适应它们的演进。
训练内容感知的DNNs。训练数据是低分辨率(例如,240p、360p、480p、720p)和原始最高分辨率(例如,1080p)图像的对。我们更新DNN参数以使DNN输出和目标高分辨率图像之间的差异最小化。培训费用是“一次性”的,并且摊销到整个视频监控时间。然而,对于传送许多视频片段的CDN,总计算成本可能很高。为了降低培训成本,我们采用了转移学习类型的微调策略。也就是说,我们首先使用流行的标准基准[19]来训练通用DNN模型。然后,我们在每个视频集上训练内容感知DNN模型,其权重初始化为来自通用模型的权重。这减少了5-6倍的训练计算成本,同时实现了与随机初始化类似的质量增强[33]。
5.2适应计算能力
本节描述两种机制(多个DNN和任意时间预测),客户机使用它们来适应其计算能力以提供实时质量增强。对于每种技术,我们描述启用DNN设计和解释客户端动态适配逻辑。
提供多个DNNs(服务器端)。正如在_4.2中所讨论的,我们提供了多种DNN配置,这些配置在质量和计算要求方面有所不同,以支持广泛的GPU。与GPU的渲染质量选项类似,我们提供四个DNN质量级别:“低”、“中”、“高”、“超高”。因此,我们有一个DNN质量每输入分辨率,如表2所示。最后,这些服务器记录了清单上的可用DNN配置,包括DNN名称和级别、输入分辨率、层数和通道数。
从多个选项(客户端)选择DNN。客户机测试运行DNN选项,以选择提供最佳质量改进并交付实时性能的选项。测量DNN推断时间的一种简单方法是在客户端设备下载所有DNN。然而,这消耗了大的带宽(几个MB)并且不必要地延迟了视频流,最终降低了用户QoE。为了简化该过程,NAS提供了关于清单中的DNN选项(即,层和信道的数量)的足够信息,以便客户端在不下载DNN的情况下重构模拟DNN。使用清单中删除的DNN配置,客户机生成用随机权重初始化的DNN,并在GPU上运行它们。最后,客户机选择实时运行的最大(最高质量)DNN——客户机不需要实际的权重,因为较大的DNN提供更好的质量。使用四个DNN选项,根据GPU模型,客户端测试运行需要1.64-3.40秒。因此,客户端可以在不下载任何DNN的情况下尽早决定使用哪个DNN。
可扩展DNN和任意时间预测(服务器端)。我们的DNN架构能够利用部分下载的DNN并适应时变的计算能力。随着下载的进行,使用部分DNN提供了增量的好处。这尤其有利于视频开始时的QoE,因为几个MB的完整DNN不能立即传输。此外,可伸缩架构支持任何时间预测,允许我们适应客户端的可用计算能力,这种能力可能会发生意外的变化。为此,我们修改DNN体系结构及其训练方法。DNN的中间层由多个剩余块[49]组成,每个剩余块由两个卷积层组成。我们允许绕过连续中间块在推断过程中。为了启用旁路,我们添加从中间块到最终层的直接连接,如图4所示。这将创建多个推理路径,如图所示。然后,我们以以下方式训练所有干扰路径。
在每次训练迭代中,我们随机绕过中间层来计算网络输出和目标图像之间的误差。然后,我们使用反向传播(62)更新参数。特别地,我们以1/2的概率(对原始路径的约束)穿越,并且随机地选择其中一条主要的旁路路径。产生的DNN可以只使用DNN的一部分来生成输出图像,并且随着使用更多的层,可以提供递增的质量改进。最后,DNNs被分为块。我们的服务器将块的URL放在视频清单中。第一DNN块包括所有输入分辨率的基本层。随后的块包含DNN的其余部分。
使用可扩展DNN(客户端)。客户端在块中下载DNN。在下载基础层后,重建部分DNN。这个最小DNN的大小仅为整个DNN(33KB到768KB)的35.11%-36.14%,允许客户机从早期基于DNN的质量增强开始受益。当客户端下载更多的块时,它会更新DNN,从而提供增量效益。
最后,我们的客户机会性地确定在视频回放期间要使用的层数。在每个时间间隔,客户机的DNN处理器首先计算其正在处理的块的回放时间之前剩余的时间量。然后,客户计算在最后期限内能够使用的最大层数。为了实现这一点,客户机记录每个层的最新推断时间,并在推断时间发生变化时更新该表。我们根据经验将时间间隔设置为四秒钟,它是一个视频块的长度。这允许NAS客户端动态地适应可用计算能力的变化,如我们在§7.4中所演示的。
5.3 集成比特率自适应
NAS将两个决策集成到其用于QoE优化的ABR算法中:1)它决定是取视频块还是DNN块;2)如果第一个决策是取视频块,它选择块的比特率。该算法必须平衡两种控制策略。第一种策略强调下载DNN模型,希望这会带来未来的质量提升,同时牺牲当前视频的流媒体质量。第二种策略优化当前视频的比特率,并延迟DNN的下载。在实践中,结果不可预测,因为它取决于网络条件如何变化。考虑到比特率的数量、视频和DNN块的下载顺序以及可用带宽的动态范围,解决方案空间非常大
为了应对这一挑战,我们使用强化学习(RL)框架[52,53]通过全面的“经验”来直接优化目标(没有使用间接决策)。特别是,我们采用A3C的演员评论框架[53 ]。它从观察中学习策略(或策略),并从原始观察中产生映射,例如下载的DNN模型的部分、由于DNN引起的质量改进、网络吞吐量样本以及回放缓冲,到上述决策。
RL设计。RL代理与环境相互作用〔68〕。对于每个迭代t,代理在从环境观察状态st之后采取行动at。然后,环境产生奖励rt,并将其状态更新为st + 1。将策略定义为将动作at给定st,π(st,at):[0,1]处采取行动的概率的函数。然后目标是学习策略,使未来贴现报酬之和∑∞ t=0γtrt最大,其中γ∈(0,1]是未来报酬的折扣率。
在我们的例子中,动作集{at}包括是下载DNN块还是下载特定比特率的视频块。状态st包括要下载的剩余DNN块的数量、吞吐量测量和播放器测量(例如,回放缓冲区占用率、过去的比特率)。表3总结了状态st。奖励rt是目标QoE度量,它是比特率效用、回退时间和所选比特率[52,77]的平滑度的函数,如下所示:
其中N是视频块的数量;Rn和Tn分别表示视频块n的比特率和由其下载导致的回退时间;μ是回退惩罚;q(Rn)是比特率Rn的感知质量(关于μ和q(Rt)的选择,参见7.1中的表5)。
为了进一步提高NAS的DNN质量,我们用有效比特率反射代替名义比特率Rn。对于每个视频块Cn:
其中,DNN m(Cn)表示下载(部分)DNN块m之后的质量增强视频块Cn,SSIM是用于测量视频质量的平均结构相似度[73],其逆SSIM_1将SSIM值映射回视频比特率。为了创建映射,我们在每个比特率(或分辨率)下测量原始视频块的SSIM,并使用分段线性插值(例如,(400Kbps,SSIM1),…,(4800Kbps,SSIM5))。
RL训练。我们的RL框架有两个神经近似器:代表策略的参与者和用于评估策略的性能的批评者。我们使用策略梯度方法〔69〕对训练和批评网络进行训练。代理首先按照当前的策略πθ(st,at)生成轨迹,其中θ表示参与者神经网络的参数(或权重)。批评者网络观察这些轨迹,并学习估计动作值函数Qπθ(st,at),它是在状态st开始和遵循策略πθ采取行动时的总期望报酬。在每次迭代中,参与者网络使用该估计来更新模型:
其中,Vπθ(st)是表示从状态st开始的πθ的总期望报酬的值函数,α是学习速率。在我们的RL框架中,由于奖赏会影响内容感知DNN所传递的平均QoE增强,所以批评网络会学习估计更新后的总奖赏。这使得参与者网络能够学习平衡视频和DNN下载的策略,从而最大化QoE。
我们使用类似于Pensieve(“退休金”)的块级模拟器来加速ABR训练。它跟踪网络吞吐量,模拟NAS的视频流动态。此外,我们对每个DNN质量的所有视频进行平均,从而预先计算基于DNN的质量增强。然后,我们使用这些值来生成一个通用的ABR模型。
当下载DNN时,模拟器更新下载的DNN块数量(即,减少状态“剩余DNN块数量”)。当下载视频块时,它将块添加到回放缓冲区。然后,它使用每个块的(有效)比特率效用和拒绝时间,计算要求基于DNN的质量增强的QoE。注意,模拟器既不执行实际的视频下载,也不进行任何推断。因此,与实时仿真相比,它减少了97.12%的训练时间。
6、实施
我们通过扩展一个DASH视频播放器来实现NAS客户端。服务器端(培训)和客户端(推理)DNN处理都使用Pytorch[59]实现。表4显示了代码行(LOC)FACH组件。NAS客户端(DASH视频播放器)。为了实现NAS客户端,我们对dash.js4进行了修改,它是用JavaScript编写的MPEGDASH客户端的参考实现。我们将集成的ABR和内容感知的DNNs作为单独的进程运行。js用于通过进程间通信获取ABR决策和质量增强块。我们在图5中添加DNN元数据,如图2中所示。质量属性表示DNN质量等级。段模板的DNN属性用于创建块URL,startNumber和endNumber指示块索引范围。此外,清单文件包括每个DNN的层数和通道数。
训练内容感知DNNs。我们使用PyTrink实现了可扩展的超分辨率DNN。为了训练DNN模型,我们通过随机裁剪低分辨率图像(例如,240p、360p、480p、720p)来输入41x41像素的图像补丁,并运行流行的ADAM算法[46]来优化DNN参数。将小批量、重量衰减参数和学习速率分别设置为64、10_3和10_4。我们使用通用模型的参数(4.1)初始化DNN模型。然后ne-tune每分钟超过100个小批量视频更新来生成内容感知DNN。最后,我们将其参数从单精度(32位)舍入到半精度(16位),这将DNN大小减半,同时引入最小的性能下降(SSIM中几乎没有差异)。
培训集成ABR。我们实现了集成ABR,扩展了Pensieve的简化[8]。演员/评论网络的初始学习率分别设置为10_4和10_3。熵权值被初始化为2。我们迭代超过60000个周期的训练,其中我们在每个周期内将熵权从2指数衰减到0.055。最后,我们选择ABR网络,它为我们的培训跟踪提供最高的QoE。
7、评价
我们通过回答以下问题来评估NAS。
NAS与基线竞争对手相比表现如何,培训成本是多少?
NAS的每个设计组件如何对整体性能做出贡献?
NAS是否有效地适应异构设备和客户端计算能力的时间变化?
NAS的端到端处理延迟和资源使用是什么?
7.1 方法论
视频。我们从YouTube上的流行频道开始。在Youtube频道分类中,我们按出现顺序选择了三个热门频道。然后,我们从每个支持1080p质量、长度大于5分钟的频道中挑选最受欢迎的视频——27个视频片段的视频数量在7M到737M之间。[3,13]:使用H.264编解码器[11]对每个1080p视频进行重新编码,其中GOP(或块大小)、帧速率和比特率分别为4秒、24fps和{400、800、1200、2400、4800}Kbps(代表{240、360、480、720、1080}p分辨率视频)。除非另有说明,我们使用整个视频进行训练,并使用rst5分钟进行播放。对整个视频的培训确保了NAS在整个视频上提供一致的质量增强。网络跟踪。我们使用一个真实的带宽数据集,由来自挪威3G网络(2010-2011)[60]的508条吞吐量跟踪和来自美国宽带(2016)[9]的421条跟踪组成,由Pensieve作者[8]编译。我们将持续体验低带宽(<400Kbps)的跟踪时间延长(≥100秒)。得到的平均吞吐量范围为0.38Mbps到4.69Mbps,平均吞吐量和中位吞吐量分别为1.31Mbps和1.09Mbps。每个跟踪跨越320秒,我们循环跟踪直到视频完全下载。我们随机选择80%的跟踪用于训练,其余20%用于测试。
基线。我们将NAS与不利用客户机计算的最新比特率适配的以下状态进行比较。
Pun筛(52)使用深度强化学习来最大化QoE。
RobustMPC[77]使用回放缓冲区占用和对下一个ve块的吞吐量预测来选择使QoE最大化的比特率。我们使用由Prim筛[8 ]作者再现的版本。
BLA(66)使用基于回放缓冲器占用的李雅普诺夫优化。我们使用dash.js中实现的BOLA版本,它是MPEG-DASH播放器的基于Javascript的参考实现[4]。
定量计量学。我们使用三种类型的QoE度量,由MPC和Pensieve编译,它们的比特率效用函数q(Rn)和回缓冲惩罚常数μ如表5中总结的那样不同。
Qoelin使用线性比特率实用程序。
QoElog使用对数比特率效用函数,该函数表示其递减的边际效用。
QoEHD在非HD上大力支持高清晰度视频(720P和1080p)。
实验设置。我们在Chromium浏览器(版本65)上运行dash.js实现来流式传输MPEG-DASH视频。我们使用表1中列出的Nvidia桌面GPU生产线的六个GPU模型。不另行通知,默认客户端SiggPusiNvivia TITAN XP。在我们的设置中,内容感知DNN和ABR网络在客户端作为单独的进程运行。为了从网络跟踪仿真网络条件,我们使用MaimaHi〔55〕。
我们使用两个实验设置。为了评估NAS客户端在所有六个GPU上,我们有一个本地测试平台。为了规模化培训和测试,我们使用谷歌云平台。培训使用配备了Nvidia的服务器类Tesla P100 GPU的GPU实例完成。然而,Google云平台没有桌面顶级GPU,而我们需要将客户端的流媒体实验扩展到18小时的网络跟踪x27视频剪辑x4 ABR x3 QoE,总共5832小时的流媒体时间。因此,我们使用每个GPU设备上的本地测试对每个视频进行内容感知DNN的质量和延迟测量。然后,针对每个网络跟踪对NAS服务器和客户端之间的网络状况进行一次仿真,并应用内容感知DNN的质量增强和延迟效果。我们让网络模拟、DNN模拟的客户端使用少量测试数据生成与本地测试床的实际客户机相同的QoE。
7.2 NAS与现有视频传输
QoE改进。图6显示了九个内容类别的视频剪辑的平均QoE。误差条表示平均值的一个标准偏差。在所有三个QoE指标中,NAS在所有内容类别中提供最高的QoE。结果表明,改进前的工作有明显的改善。在所有QoE指标中,NAS始终以很大的优势超过Pensi.:QoElin(好43.08%)、QoElog(好36.26%)和QoEhd(好42.57%)。使用QoElin,NAS平均性能优于Pensieve 43.08%,而Pensieve比RobustMPC(R-MPC)提高了19.31%。与BOLA相比,NAS在QoElin取得了92.28%的进步。与Pensieve相比,QoE的改进幅度从21.89%(1:“美丽”)到76.04%(6:“音乐”)不等,因为许多因素,如复杂度、压缩因子和时间冗余度影响DNN性能。
图7显示了QoE在我们的测试轨迹上的累积分布。它显示了“体育”的内容类别,在所有类别中显示中等增益。NAS在所有网络条件下传递BNE。NAS将中位数Qoelin提高了58.55%。注意,Pensieve主要通过以比特率实用程序为代价减少回缓冲来比RobustMPC提供QoE增益。相比之下,NAS没有表现出这样的权衡,因为它使用客户端计算。其他内容(未示出)显示类似的趋势。最后,图8显示了QoE分解为比特率实用程序、拒绝惩罚和平滑惩罚。由于基于DNN的质量增强,NAS从比特率实用工具中获益最大。带宽节省。尽管有DNN传输开销,NAS在传输相同的QoE级别时需要较少的带宽。为了证明这一点,我们假设使用块级模拟器(5.3),其中NAS客户端接收Pensieve客户端接收的一小部分带宽,包括DNN传输开销。调整分数并根据经验确定提供相同QoE的分数。我们假设NAS客户端每隔一分钟就下载最大的DNN(“超高”)模型。图9显示了Punsive NANS的平均带宽使用情况。平均来说,NAS需要比Pensieve低17.13%的带宽才能提供相同的质量。保存在10.69%和26.90%之间的内容不同。这表明使用DNN的好处大于传输DNN的开销。
成本分析(服务器端)。现在我们量化使用NAS内容传递网络的总体服务器端成本。虽然NAS服务器使用较少的带宽来提供相同的质量,但它们必须训练内容感知DNN和集成ABR网络。我们对服务器的计算和带宽进行了量化。集成ABR的训练时间在CPU上只有10. 17.8小时。因为它是跨所有视频流摊销的一次性成本,所以附加成本可以忽略不计。相反,内容感知DNN必须为每个视频进行训练。每分钟视频的总训练时间(跨越多个DNN)为10分钟。
对于一个拥有8个vCPU、32GB RAM和Nvidia P100 GPU的Google云实例,每分钟视频0.23美元。对于带宽,Amazon CDN实例最多收费0.085美元/GB。随着带宽的增加,每个带宽的价格变得更便宜。利用这些作为参考,我们计算总视频传输成本与每分钟视频的累积观看时间的函数。图10显示了NAS和Pensieve的成本比较。和以前一样,我们观看每隔几分钟的剪辑。这是因为狂欢观看的流行[ 5 ]。NAS支付前期的计算成本,但是随着累积观看时间的增加,它被摊销。注意,NAS使用17.13%的带宽来传送相同的用户QoE。因此,当累积观看达到30小时(系统中每分钟的视频)时,NAS CDN收回初始投资。
7.3 成分智能分析
我们评估每个设计组件对质量改进的贡献。内容意识。图11比较了内容感知DNN(awDNN)的视频质量,它是在标准基准图像(NTIRE 2017数据集[19])上训练的内容不可知DNN(agDNN),以及我们用作通过双三次插值升级的输入的原始240p视频。我们在PSNR[35]和SSIM[73]中都测量了视频质量,其中PSNR代表了对数分贝尺度的两幅图像之间的平均均方误差。内容感知DNN提供一致的改进,而内容不可知DNN在某些情况下甚至会降低PNSR度量(内容类型:6)和SSIM度量(类型:1,2,4,5,6)的质量。这是我们使用DNN训练精度的理论依据。
可扩展DNN。图13展示了利用部分DNN的BNE。我们比较Pensi.、NAS和不使用部分DNN下载的NAS(NAS-FULL)版本。特别地,图13(a)显示了平均完整DNN下载时间(47.82秒)之前QoElin的累积分布。一旦下载了部分DNN(平均22.16秒),NAS就提高了质量。结果表明,中值和平均质量改善率分别为17.54%和3.35%。注意,下载完整的DNN(t>47.82秒)后,NAS和NAS-FULL的QoE变得相同,如图13(b)所示。集成ABR。集成ABR提供DNE在DNN下载期间和之后。为了演示这一点,我们使用块级模拟器(5.3)创建了两个假设设置。
首先,我们比较了NAS和以Pensieve选择的视频比特率的一小部分下载DNN的下载策略。注意,它不整合比特率选择和DNN下载决定。我们使用两种变体:一种是积极下载视频比特的100%的DNA,另一种仅使用10%。当回放缓冲区变得大于15.42秒,即NAS开始在我们的测试传输路径中流式传输DNN的平均时间,这两个都被配置为开始下载DNN。我们的结果表明,NAS在QoElin方面分别比非攻击性和攻击性草人高出16.36%和9.13%。图12显示了QOE组件的组成部分。与NAS相比,非攻击性版本具有更低的比特率实用性,因为前者下载DNN更慢。相比之下,攻击性版本将拒绝惩罚提高x2.5,这对QoE有负面影响。
接下来,为了评估DNN完全下载后质量增强等待选择的好处,我们将NAS与DNN完全下载后不知道ABR的质量增强进行比较。图14(a)示出了该设置中的平均QoE。我们看到,感知ABR的质量提升为QoEhd提供了很大的增益(28.96%),而它为QoElin提供了最小的益处(0.01%),并在QoElog(-3.14%)上略有下降。它为QoEhd提供大量增益的原因是因为1.2Mbps(480p)视频的DN增强质量接近于原始的2.4Mbps(720p)视频的质量,并且其增加的质量远大于任何其他QoE类型,特别是在1.2Mbps到2.4Mbps之间。Mbps(表5)。当使用QoEhd时,集成的ABR在比特率决定中要求这种增强以更频繁地下载480p,如图14(b)所示。
7.4动态适应计算
我们演示了NAS适应异构客户端和计算能力的时间变化的能力。杂种优势我们演示了NAS能够满足表1所示的六个桌面GPU的实时约束。我们在六个客户机上运行DASH客户机,每个客户机具有不同的GPU模型,并测量它们的性能。首先,我们测量DNN处理引擎的吞吐量,包括解码、DNN推断和重新编码。表6报告了每个设备的所有输入分辨率的最小处理速度。视频播放速率是每秒30帧。客户在运行时表现最好。选择的质量等级(例如,‘低’、‘中’、‘高’或‘超高’)是粗体。我们看到每个设备选择一个满足实时约束的设备。注意处理时间不依赖于视频内容。
接下来,我们在云设置中使用四个不同的质量级别来测量客户的QoE。图15显示了Qoelin在每个质量水平上的累积分布。所有的质量水平都超过了标准。DNN质量等级越高,交付的质量越好。注意,即使更高质量的DNN在大小上更大,它们也比较低质量的DNN提供更多的好处。
总而言之,结果表明NAS适合于异构设备,并且具有较高计算能力的设备获得更大的好处。
时间变化。我们孤立地评估客户端对计算能力的时间变化的适应性。我们通过改变GPU(Titan Xp)的时钟频率来模拟可用计算能力的变化。我们将GPU时钟频率更改为10%的粒度,并报告所使用的推断路径及其吞吐量。图16显示了与只使用完整DNN(NAS-FULL)和绘制全时钟周期中每个推理路径的规范化吞吐量(y轴)的理想线的纯版本相比的结果。X轴显示用于推理的可选块的数目。y截取表示DNN所需层的计算需求。我们报告所有结果的原始吞吐量。它表明NAS在底层DNN支持并因此提供实时性能的程度上,通过任何时间预测来适应变化的资源。
7.5端到端操作NAS客户端在运行中。
NAS客户端正在运行。我们使用来自测试集的网络跟踪来呈现NAS客户端的端到端操作。我们使用一个拥有TIAN XP GPU的客户端,运行在我们的本地测试平台上。图17显示了从DASH客户机发出的视频请求开始的时间线。在t=0.36(秒)处,它下载视频清单并测试运行模拟DNN以选择DNN质量级别。试验运行于t=2。视频在t=2.03开始播放。在t=17.64处,下载第一个DNN块,最小DNN在t=17.71处初始化。此时,DNN处理开始,并且回放缓冲器中的视频块(6-7)接收质量增强。
随后的视频块在DNN到达时被处理。随着新DNN块到达,DNNs递增地更新。在t=46.41,DNS被完全下载。
DNN处理时间。我们评估DNS客户端的处理延迟。对于DNN处理,NAS流水线处理三个进程,每个进程分别处理解码、超分辨率和重新编码。表7示出了用于第四视频块的每个阶段的处理时间。我们使用GTX 1080 Ti来处理“超高”质量的DNN,使用30fps、240p的视频作为输入。在FFMPEG(6)中使用最快的选项。这是因为压缩因子并不重要。当每个阶段被序列化时,总处理时间是4.88秒,而流水线处理需要3.76秒。考虑到超分辨率需要3.69秒,其余的延迟开销最小。最后,我们测量客户端的GPU内存使用DNN处理。“超高”、“高”、“中”、“低”质量的DNN分别使用3.57GB、3.12GB、3.05GB和2.99GB的GPU内存。
8、结论
我们提出了NAS,一个利用客户端计算来提高视频质量的视频传输系统。与现有的视频传输完全依赖于带宽资源不同,NAS使用由深度神经网络(DNN)支持的客户端计算。NAS引入了新的系统设计,以解决在DASH之上实现远景时遇到的实际问题。我们对真实网络跟踪上的真实视频的评估显示,NAS在当前技术状态下,用户体验质量(QoE)提高了21.89%到76.04%。最后,成本效益分析表明,与现有技术相比,内容分发网络实际上可以降低视频传输的成本,同时提供相同或更好的QoE。
9、致谢
我们感谢我们的牧羊人怀亚特·劳埃德和匿名评论家提供的建设性反馈。这项工作得到了韩国政府(科学和信息通信技术部)资助的信息和通信技术促进研究所(IITP)的资助[No.2018-000693]和[No.R-20160222-002755]。东苏汉是相应的作者。
声明
因为是机翻,自己只是检查了一部分,其中还有存在许多翻译的小错误,后面会逐渐改正,但是现在已经足够理解这篇论文的创新点了。英文原文下载
这篇关于论文翻译0-NAS-Neural Adaptive Content-aware Internet Video Delivery的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!