论文部分内容阅读
随着计算机网络和视频压缩技术的迅速发展,视频点播、远程教学、视频会议等流媒体技术得到了越来越广泛的应用。然而,当前大部分的视频传输系统都是基于平面视频内容,这已经无法满足人们对于立体视频的观看需求。立体视频与平面视频相比,增加了景物的深度信息,能给观看者带来更真实的立体感。因此立体视频是下一代多媒体技术的必然趋势,基于立体视频的传输系统有着重要的研究价值。本文以DirectShow为开发平台,结合流媒体技术设计了一个基于以太网的立体视频实时传输系统。在前端采集部分,通过8个摄像头对同一场景进行实时采集,然后利用网卡将这些原始YUV视频发送到接收端;接收端对收到的视频先进行YUV到RGB的色彩空间转换,然后合成为单路立体视频,并在3D显示器上播放出来。由于传输的是多路未经压缩的原始视频,所以数据率极大,这就要求传输速度足够的高,才能保证视频的流畅播放。提出并实现了一种适用于未压缩视频流的抗丢包方案,该方案通过在发送端对视频数据进行简单的像素交织,以及接收端的插值处理,达到了在5%传输丢包率的情况下,视频质量无明显的下降。提出并实现了一种低开销的多视点视频流同步方案,当某个视点发生多帧丢失时能较好的恢复丢失的视频帧,实现多路之间的帧同步。传统的千兆以太网传输的业务数据速率很低,一般只能达到300Mbps~400Mbps左右,本文通过采用多线程、多套接字以及优化网络参数等技术实现了最高900Mbps的数据传输速率,完全能满足8视点视频流实时传输的需要。本文利用多线程技术对8路视频进行并行传输,并对数据包编号,便于在接收端进行包失序重排,并利用自定义的中值滤波算法对丢失的数据包进行恢复。通过实验证明,本算法不仅极大的减小了丢包所产生的错误,而且速度快、消耗CPU资源少,达到了预期的要求。