论文部分内容阅读
伴随着各种新技术的不断涌现,WebRTC应运而生。WebRTC是一项基于浏览器的多媒体实时通信技术,也是终端音视频接口的标准化抽象和实时通信的建立、多媒体编码格式以及传输的标准规范。只要满足这些标准规范,Web端和移动端都可以得到应用。除了像WebRTC这样的新技术外,与WebRTC相关联的视频后处理技术也在不断研究和更新中。其中帧率提升技术就是视频后处理技术中研究的热点,其在数字媒体领域有着广泛的应用,不仅可以用于提高视频在播放端的质量,也可以用于平衡海量的视频数据与有限的带宽资源之间的矛盾。本文首先对WebRTC的整体框架、核心技术等进行研究,并对影响着WebRTC视频质量中的帧率调整策略进行研究。由于WebRTC的实时视频技术中采取了一定丢帧策略,故而对视频后处理技术中的帧率提升技术进行研究。本文主要对传统的帧率提升算法作了研究分析,同时对CNN、U-net、Res Net等神经网络进行研究分析,针对传统帧率提升算法的不足,结合深度学习的优势,提出一种基于改进UNet的帧率提升算法。该算法使用U-net和Res Net的结合,将视频的相邻两帧作为输入,通过U-net网络编码和解码操作输出插值帧。实验结果表明,这种基于深度学习的帧率提升算法所预测的视频插值帧,能够有效的避免传统帧率提升算法存在的块效应,很好的提升视频的感官质量。最后本文通过对WebRTC核心技术的研究,并结合项目需求,设计与实现基于Android端的WebRTC视频会议系统。该系统主要分为客户端和服务端,服务端主要是满足流媒体数据传输、信令服务以及NAT穿透等服务。对于流媒体数据的传输主要采用的是基于SFU通信架构的服务器,信令服务主要是采用Web Socket协议实现,NAT穿透主要采用结合了STUN和TURN的服务器。客户端主要包括用户注册登录模块、视频会议模块、IM即时消息模块以及直播模块。系统实现后,通过对系统的功能测试和性能测试分析,该系统基本能满足各个模块的功能需求,能保障正常的安装、使用和卸载。