论文部分内容阅读
近年来,随着硬件技术的进步和计算机视觉理论的发展,虚拟现实技术也被带动了起来,为了让人们在观看视频直播时有更好的沉浸感体验,全景视频直播节目在我们日常生活中出现的频率也越来越高了。全景技术在虚拟现实和导航等领域得到了广泛地应用。传统的视频直播节目可视角度较小,只能受限于单视点内的景物。如今,人们对于视觉体验的追求正变得越来越高,希望能够享受到沉浸感更强的体验。鉴于此,关于全景视频直播技术的相关研究也变得愈发地迫切。目前全景视频直播系统存在的主要问题是实时性和全景画面的质量难以兼顾,针对上述问题,本文对系统整体架构的各个环节进行了设计,并成功地得到了实现。本系统借助由多镜头组成的全景相机采集场景的多视点信息,然后拼接成全景视频,在完成编码封装等处理后通过流媒体服务器中转,将直播流分发到远程的终端设备。本文主要做了以下几个方面的工作:(1)提出了基于多相机系统标定的全景拼接算法。为了优化鱼眼畸变的矫正效果以及提高图像拼接的精度,采用基于特征描述符标定板的多相机系统标定法标定全景相机;利用相机标定所得内部参数结合Mercator投影解决鱼眼图像畸变无法直接用于拼接的问题;鉴于直播系统对实时性有较高要求,选用SURF算法进行相邻图像的特征点提取匹配。实验表明,该算法生成的全景图效果良好。(2)构建直播系统的传输网络。针对现有网络条件无法直接传输全景视频的问题,用AAC标准和H.264标准对音视频数据进行编码;利用时间戳做音视频的同步以保证终端播放时的同步性,以上处理都是基于FFmpeg库的开发。考虑到直播的应用情景,构建Client/Server传输模式,用一台服务器向多个终端发送直播流;搭建SRS流媒体服务器利用RTMP协议实现实时可靠的数据传输。(3)实现远程终端的直播流接收与播放。利用FFmpeg完成直播流的接收与解码;由于传统直播的交互性较差,故基于Unity开发了一个播放器,实现所观看景物随着人头部的转动而变化,大大提高了系统交互性,增强了场景沉浸感。本系统在保证了良好的全景画面质量的同时,针对直播系统的实时性需求,引入了多线程机制以加快拼接的速率。经过了一系列地测试,该系统的时延为5到6秒左右,而且每秒播放的帧数在27帧左右,具有较高的实际应用价值。