没有合适的资源?快使用搜索试试~ 我知道了~
SoftwareX 9(2019)55原始软件出版物VECTORS -通过串行中继和可伸缩视频编码的视频通信放大图片作者:Abhishek ThakurJ.,Arnav Dhamija,Tejeshwar Reddy G.BITS Pilani,Hyderabad Campus,Jawahar Nagar,Hyderabad,Telangana,500078,Indiaar t i cl e i nf o文章历史记录:接收31可以2018收到修订版2018年12月26日接受2018年12月27日保留字:用户生成的视频内容主动通信用户移动性容扰网络a b st ra ct众包视频分发经常在当地附近引起兴趣在本文中,我们提出了一个软件平台,称为矢量传输视频机会网络与自适应质量编码,以实现合理的延迟范围。视频片段使用Nearby Connections Android库以延迟容忍的方式在源和目的地VECTORS可应用于多个领域,包括农场监控、野生动物、环境跟踪或灾难响应场景。除了矢量的软件架构,我们还讨论了在我们的研究所内进行的试运行的基本结果,并提供了一个实证分析建议的架构,使用模拟。©2019作者由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v9永久链接到代码/存储库使用此代码版本https://github.com/ElsevierSoftwareX/SOFTX_2018_67法律代码许可证GPL v2使用git的代码版本控制系统使用的软件代码语言、工具和服务Java、Android、Linux Shell、C、C++编译要求、操作环境依赖性Android 8.0 SDK、Google Play服务、Android附近连接库、Ubuntu 16.04开发者手册链接https://github.com/swifiic/Vectors/wiki问题支持电子邮件apps4rural@gmail.com软件元数据当前软件版本v1.4.0此版本可执行文件的永久链接https://play.google.com/store/apps/details? id=in.swifiic.vectors法律软件许可证GPLv2计算平台/操作系统Android,Linux安装要求依赖项Android 7.0及以上,SHM 12.4,JSVM,Ubuntu 16.04用户手册链接https://github.com/swifiic/Vectors/wiki问题支持电子邮件apps4rural@gmail.com1. 动机和意义*通讯作者。电子邮件地址:abhishek@hyderabad.bits-pilani.ac.in(A.Thakur),arnav. gmail.com(A. Dhamija),tejeshwarreddy1996@gmail.com(Tejeshwar Reddy G.).https://doi.org/10.1016/j.softx.2018.12.006近年来,用户生成的视频内容增加了几倍[1]。内容通常从移动设备捕获并上传到服务器以供后续观看。这些解决方案在缺乏网络基础设施的情况下不起作用延迟和中断容忍网络(DTN)[2]可以应用于2352-7110/©2019作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx56A. Thakur,A.作者声明:Dr./SoftwareX 9(2019)55⌊⌋⌈⌉这样的通信场景竞争性网络(Opp-Nets)是DTN的一种特殊情况,其中的联系模式是不可预测的.然而,以固定质量发送视频的现有方法如果视频流不是自适应的,则网络可能不会被最佳地利用。用 于 在 因 特 网 上 流 式 传 输 视 频 的 常 见 方 法 ( 例 如 ,DASH/TCP)依赖于端到端传输来使视频的质量适应网络条件。当往返时间低于一秒时,这些方法表现良好。然而,这样的调整并不适合OppNet,主要有两点:(1)来自目的地的反馈可能花费不确定的长时间到达源,以及(2)关于来自目的地的已确认分组的反馈可能丢失。OppNets创建数据的副本,以减少交付延迟并提高交付概率。但是,创建太多副本可能会使网络过载。因此,我们需要设计一种解决方案,在不使网络过载的情况下提供可感知的高质量视频。OppNet应该能够根据网络资源(例如缓冲区空间,节点数量,联系人频率)来提高或降低交付视频的质量。本文提出了一种新的视频编码方法- VEC-TORS是一个通过Opp-Nets传输可伸缩视频的软件平台,使用Android设备部署. 可伸缩视频编码(SVC)[3,4]将视频片段压缩成不同SVC层的有效载荷。第1.1节讨论SVC压缩算法,并概述DTN路由。VECTORS中的视频源调整正在传输的SVC层的数量,以优化传输的视频质量,如第2节所述。第3节包括实验结果和实证分析,使用模拟。随后的部分包括VEC-TORS对其他领域的可能影响,其局限性和未来的工作。1.1.背景和先前的工作SVC将视频压缩成多个层。基础层可具有较低帧速率、较低分辨率、较高量化误差及较低每样本位数。一个或多个增强层可以提高视频质量。这些改进可以是时间(更高的帧速率)、空间(更好的分辨率)、量化(更低的损失)或比特深度。每个SVC层可以被单独地发送目的地需要基本层和连续的增强层进行解码。例如,如果基本层未被传送,则即使目的地接收到所有其他增强层,也不能解码特定段(参见表1中的术语定义)。OppNet路由使用存储-携带-转发的原理将有效载荷从源传递到目的地。OppNet通常使用多副本路由来提高交付概率并减少交付延迟。流行病路由[5]允许不受控制的有效载荷复制,并在网络负载较轻时提供最佳结果。随着网络负载的增加,创建额外的副本可能导致拥塞,这可能对在目的地处递送的有效载荷的比例产生负面影响。已经提出了多种路由协议来控制创建多个副本的开销。Spray-And- Wait [6](SNW)使用一种简单的方法,其中源节点控制网络上存在的最大副本数量。在二进制SNW协议中,一旦有效载荷被中继(例如从A到B),两个节点将把复制计数调整一半。如果A(中继的起源)有L作为拷贝数,它保留L/2个拷贝,而B得到L/2个拷贝。如果有效载荷的复制计数下降到1,则节点不能将有效载荷发送到任何其他节点,除非直接将其发送到目的地。在大多数OppNet部署中,经常会出现某些消息有效载荷可能无法到达目的地的情况。传输环标准H.264/H.265编码的视频可能会导致几个视频片段完全丢失。另一方面,SVC编码视频适合于通过OppNet传输,因为SVC不需要传输视频的所有层以进行解码。随着更多的节点与目的地节点接触,有更大的机会传送更多的SVC增强层并且改善解码视频质量。Lenas [7]、Morgenroth [8]和Blanchet [9]已经演示了在受控网络设置下通过DTN进行视频流传输这些演示依赖于专门的节点(例如,卫星和往返延迟低于2秒的静态节点),以帮助完成DTN上的视频流然而,这些方法不适用于接触模式不可预测的正如[8]中所做的那样,我们试验了IBR-DTN [10]用于Android设备之间的延迟容忍通信在没有接入点的情况下,IBR-DTN可以通过创建ad-hoc Wi-Fi Direct连接来工作。但是,Android上的Wi-Fi Direct需要人工交互才能批准每个新连接。这使得用户期望设备自动连接的实际部署变得不方便2. 软件描述VECTORS的软件有三个主要组成部分:(1)源端的自适应视频压缩器和提取器,(2)OppNet的VECTORS Android应用程序,以及(3)目标端的视频组合器和解码器。2.1. 软件构架2.1.1. 源源节点使用cronjob运行脚本来捕获原始视频它随后使用SHM对捕获的视频进行编码。SVC层使用“ExtractAddLS”可执行程序提取基于已经接收到的分段,它会检查在前6、12和24小时内传输的数据段是否存在重叠。如果所有三个段都被确认,则它增加可以发送的SVC层的数量如果它们都没有被确认,则它减少SVC层的数量。如果一些片段被确认,则它对正在传输的层的数量进行加法增加或乘法减少对于每个传输的有效载荷,源节点分配可能存在于VECTORS节点上的副本的最大数量(L)2.1.2. 目的地目的节点使用cronjob从所连接的移动终端下载所有有效载荷。它还上传一个确认文件,包括新接收的有效载荷的时间戳2.1.3. VECTORS Android App实现VECTORS OppNet的Android应用程序有三个主要组件:启动屏幕-这是一个简单的用户界面,用于启用/禁用设备上的矢量除此之外,它还显示通信状态和日志,如图1所示。VECTORS服务-这是一个后台服务,使用图中所示的状态图实现节点之间的有效负载中继。二、模块-这实现了存储和管理的有效载荷在节点内此模块还删除已超过其生存时间值的有效载荷。···A. Thakur,A.作者声明:Dr./SoftwareX 9(2019)5557表1OppNet上视频通信的关键术语。Term定义这是目的地已经接收的有效载荷标识符的列表。节点删除这些有效载荷的本地副本。Copy-count(L)可以为负载创建的副本(副本)数量。源节点设置L的初始值。 目的地将解码视频片段的节点。节点A参与VECTORS网络的设备。这可以是移动的或静态的。当两个节点在彼此附近并且能够交换数据时。Payload通过OppNet通信的应用级数据单元。Relay将有效载荷传输到没有它的节点。这可以在OppNets中创建额外的副本。Segment在源端进行压缩的视频间隔。Source捕获和压缩视频片段的节点。视频段将生成多个有效载荷以供传输。它包括基本层和多个增强层。TTL生存时间-OppNet将存储有效负载的持续时间(从创建时间开始)。图1.一、Android节点上VECTORS应用程序的用户界面。除了上述组件之外,VECTORS Android应用程序还有其他类来序列化/重命名元数据和确认文件。它还处理生命周期事件,例如在电话启动后重新启动VECTORS服务2.2. VECTORS连接状态OppNet 节 点 , 在 这 种 情 况 下 , Android 智 能 手 机 , 使 用VECTORS Android应用程序彼此连接。由于连接是机会性的,由于两个节点移出范围(在图中由虚线表示),连接可以在任何时候终止。2)的情况。因此,有效载荷传输可以被认为是尽力而为的。我们的目标是最大限度地提高成功的SVC层在两个连接的节点之间的机会接触。只有当L的值大于1时确认被所有节点共享,并且不受副本计数的约束。发现并连接节点使用邻近连接广播其自动生成的唯一ID[12]。在发现另一个节点时,它检查远程节点的ID以决定是否应该建立连接。如果成功建立连接,则节点移动到连接初始化状态。否则,节点将保持在发现状态,然后尝试连接到其他可见节点。有时,由于先前的接触,两个节点可以具有相同的有效载荷集合。为了避免在没有有效载荷将被传输的这种情况下的连接,对于在最后五分钟内具有成功联系的节点移动性和其他环境条件可能会导致连接失败,尽管一个节点发起连接,另一个节点成功接受它。连接的端点一旦两个节点相互连接,它们就会在传输有效载荷之前交换一组控制消息每个控制消息包含一个四字节的标题,指示消息的类型,然后是消息内容。首先,它们交换来自视频目的地的确认(ACK)。如果接收到的ACK比节点上的当前ACK更新,则它替换较旧的ACK。在传入ACK中确认的有效载荷在中间节点上被删除。在下一步骤中,节点彼此交换可用的有效载荷的列表。从接收到的列表中,节点识别要请求的有效载荷的集合。基于所请求的列表,每个有效载荷与其VECTORS元数据一起被连续地传输。它以其拷贝计数的降序传输有效载荷。VECTORS元数据跟踪有效载荷的当前在成功传输有效载荷之后,元数据被更新,并且在两个节点处的复制计数减半。连接终止一旦一个节点成功地接收到所有文件,它就向另一个节点发送连接终止控制消息。两个节点由于网络是ad-hoc的,节点是移动的,意外断开的可能性很大对于这种计划外断开,并非所有有效载荷都成功传输在这种情况下,节点恢复到发现状态,而不在最近连接的列表中缓存彼此这允许节点对在重新连接时额外尝试交换这些有效载荷。2.3. 测试设置VECTORS的部署由源节点和目的节点组成,如图所示。3 .第三章。运行VECTORS应用程序的多个Android设备用于创建机会网络。源节点处的软件在使用SHM [13]压缩原始视频片段以创建多个SVC层之前记录原始视频片段五分钟。源节点提取每个SVC层作为单独的有效载荷。提取信息也被发送到使用矢量的目的地。58A. Thakur,A.作者声明:Dr./SoftwareX 9(2019)55图二、 VECTORS连接状态(VECTORS服务)。图3.第三章。 使用矢量的SVC内容的数据流。见图4。 节点之间的接触计数。A. Thakur,A.作者声明:Dr./SoftwareX 9(2019)5559×××目的地(解码器)处的软件使用提取信息组合接收到的有效载荷注意,较低层和提取信息对于解码较高SVC层是必要的。目的地软件还为它接收到的所有有效载荷对于我们的部署,源和目标都是Linux计算机,因为SHM没有Android端口。我们连接Android设备到源和目的地。这些计算机使用Android网桥(ADB)通过USB接口将有效载荷传输到移动电话/从移动电话传输有效载荷。3. 例证和分析对于VECTORS的初始实验,源和目标都安装在实验室中。在此之后,我们将源和目的地转移到我们的学术大楼的不同角落。在这个阶段,我们使用个人设备进行测试, 部署。这类似于消防员在建筑物的角落里应对紧急情况。在解决了与编码/解码模块集成和自适应相关的问题后,我们将设置转移到了园区内的两个不同位置。节点之间的步行距离为1.2公里。我们邀请志愿者在他们的设备上安装VECTORS应用程序。在两周的时间里,15个活跃节点(每个节点都有20多个机会主义联系人)帮助完成了网络。3.1. 实证分析由于VECTORS在开放环境中运行,因此无法为不同的视频传输途径重新创建相同的实验设置。为了比较自适应SVC传输的性能,我们在ONE模拟器中模拟了不同的网络负载和节点行为[14]。模拟使用图4中部署的最活跃周记录的联系人。我们以原始格式(YUV)压缩了捕获的视频,在不同的视频分辨率(低-320240,中- 640480和高- 1280 960)。 对于有效载荷大小,模拟使用H265(标准压缩,无可伸缩性)视频和SVC层(使用SHM)的文件大小。图4在Y轴上显示了成功传输的段数,在X轴上显示了各种TTL值。对于图4(A),我们针对不同的视频分辨率进行了模拟,具有和不具有自适应SVC传输。在图4(B)中,我们通过删除具有最大接触的节点来模拟更高的中断具有最高接触的一个、两个和四个节点从模拟中被丢弃。当节点被移除时,自适应SVC比非SVC表现得更好,这表明它对网络中的中断更具弹性。为简洁起见,本文不对数字作进一步分析。4. 影响根据设备的移动模式以及源和目的地之间的距离,延迟可能从几分钟到几小时不等在受控设置中,可以传输具有几秒量级的延迟的视频。在不需要实时通信的情况下,这可以为昂贵的网络链路(例如租用卫星带宽)提供一种负担得起的替代方案。我们在下面讨论三个示例Android设备的低成本和易于部署使得VECTORS也适用于各种其他应用程序野生动物监测:过去,研究人员使用摄像机监测野生动物,并手 动 提 取 数 据 。 这 是 一 种 耗 时 耗 力 的 方 法 。 先 前 的 研 究(Zebranet [15])已经利用位置和其他接触细节,通过使用嵌入衣领中的微粒来收集。动物VECTORS可以通过自动播放这些动物漫游区域的视频来帮助简化这种劳动密集型操作。为此,可以在野外部署太阳能静态视频源短暂人群聚集的行为分析:On-nela [16]使用消息传递和呼叫数据记录研究大型短暂聚集的人口动态由于这些人中的许多人也会携带移动设备,VECTORS可以帮助提供视频源,以便更好地对事件和人员行为进行上下文分析。矢量也可用于改善类似情况下的执法。农村部署:我们打算在农业环境中使用VECTORS,使用安装在杆子或树上的摄像机和太阳能视频捕获设备来帮助跟踪田间的牛。此外,我们的目标是使用它来监控水果,鲜花和作物的收获等活动视频监控可以阻止盗窃,并减少劳动力守卫许多农场和果园的需要。5. 局限性和今后的工作VECTORS的当前实现在源和目的地使用Linux通过ADB将Android设备连接到这些计算机可完成VECTORS的部署。而且,SHM编码器不是并行的,对高分辨率视频进行编码需要花费大量时间。 本SVC适配仅利用加性增加/乘性减少。更先进的适应算法,包括机器学习方法,是开放的研究课题在这个项目的未来迭代中,我们计划将SHM移植到Android,以简化VECTORS的设置我们还计划通过实现Bundle协议来提高VECTORS的互操作性[17]。最后,我们打算试验交替oppor-tunistic路由协议。VECTORS的其他可能的扩展包括在每个设备上强制执行存储配额以及在通信中添加安全性。6. 结论我们能够成功地有一个媒体流的两个星期的时间间隔与延迟播放不同的几个小时到一天。我们有15个积极的参与者,这是农村部署的代表最初的实验表明,在真正的农村场景中,矢量可以有效地用于通信这样的内容,因为这些用户将没有基于基础设施的Wi-Fi。利益冲突作者声明他们没有利益冲突附录接触轨迹和模拟设置可在https://github.com/swifiic/the-one上公开获得。引用[1]Wilk S,Kopf S,Effelsberg W.视频合成:一个近实时合成用户生成视频的系统。第六届ACM多媒体系统会议论文集。ACM; 2015,p. 13-24[2][10]张文辉,张文辉. Delay-tolerant networking architecture(No. RFC 4838);2007.60A. Thakur,A.作者声明:Dr./SoftwareX 9(2019)55[3]UnanueI,Urteaga I,Husemann R,Del Ser J,Roesler V,Rodríguez A,Sánchez P.介绍了H264/SVC可伸缩视频编码及其在质量、编码效率和性能之间的权衡。上一篇:Recent Advances on VideoCoding InTech;2011.[4]Boyce JM,Ye Y,Chen J,Ramasubramonian AK. SHVC概述:高效率视频编码标准的可伸缩扩展。IEEE跨电路系统视频技术2016;26(1):20-34.[5]Mitchener W,Vadhat A.部分连通ad hoc网络的传染病路由。技术报告CS-2000-06,2000年。[6]SpyropoulosT,Psounis K, Raghavendra CS. Spray and Wait:a efficientroutingschemeforintermittentlyconnectedmobilenetworks.In :Proceedings2005年ACM SIGCOMM延迟容忍网络研讨会。ACM;2005,p.252-9[7]LenasSA,Burleigh SC,Tsaoussidis V. 捆绑流服务:设计、实现与性能评估。Trans Emerg Commun Technol2015;26(5):905-17.[8]Morgenroth J,Pögel T,Wolf L.延迟容忍网络中的实时流。在:第六届ACM研讨会上挑战网络的会议记录。ACM; 2011,p. 67比8[9] 布兰切特湾星座:具有视频流和自动网络连接的增强型延迟容忍网络(dtn)见:SpaceOps 2012; 2012。p. 1279621。[10]SchildtS,Morgenroth J,Pöttner WB,Wolf L.IBR-DTN:轻量级、模块化和高度可移植的Bundle协议实现。电子通讯欧洲航天科学技术2011;37.[11]Camps-Mur D,Garcia-Saavedra A,Serrano P.使用Wi-Fi Direct的设备到设备通信:概述和实验。IEEE Wireless Com-mun2013;20(3):96-104.[12] 纳亚克河宣布Nearby Connections 20:完全离线,高带宽点对点设备通信;2017年。https://android-developers.googleblog.com/2017/07/announcing-nearby-connections-20-fully.html网站。[Last updated 31st 2017,last accessed 17th 2018].[13]SHM参考软件12.4.https://hevc.hhi.fraunhofer.de/svn/svn_SHVCSoftware/tags/SHM-124/. [Last2018年第17期[14][1] A,J,J. 用于DTN协议评估的ONE模拟器。在:第二届模拟工具和技术国际会议论文集。 ICST(Institute for Computer Sciences,Social-InformaticsandTelecommunications Engineering); 2009,p. 55个。[15]杨文,王文.用于野生动物跟踪的节能计算:ZebraNet的设计权衡和早期经验。ACM SIGNAL COMPut Archit News2002;30(5):96-107.[16]Onnela JP,Khanna T.通过手机数据的镜头调查大壶梅拉的人口动态;2015年。arXiv预印本arXiv:1505.06360。[17]Scott K,Burleigh S.捆绑协议规范(编号RFC 5050); 2007年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功