论文部分内容阅读
随着计算机网络、通信技术以及多媒体技术的不断发展,传统的PC机加视频压缩卡的监控系统方案,由于本身的局限性,已远远不能满足应用的需要。目前,嵌入式系统应用于视频监控领域已成为一大趋势,基于网络视频监控系统具有良好的应用与发展前景。因此,研究并开发一种嵌入式多媒体远程监控系统具有很大的现实意义。 目前PC机具有较高的计算速度,使得利用软件实现多媒体压缩数据的实时解码和播放成为可能,但是,多媒体数据的解码和播放算法复杂,计算量非常巨大对CPU的消耗很大。而目前很多场合需要同时对多个监控现场进行实时监控,即需要同时对多路多媒体数据进行实时解码播放,对软件解码播放的效率和性能有很高的要求。因此,本论文主要开发了一个MPEG-1实时解码播放组件。 首先,研究了嵌入式网络监控系统的网络传输延时原因,通过Matlab对M/M/1模型进行仿真分析可知:采用“低负荷网络运行办法”,可以大大减小数据包的网络延迟,自然地改善Internet服务质量。 然后,对原监控系统所采用微软提供的DirectX SDK中的DirectShow组件进行研究,发现利用DirectShow开发监控终端软件,图象从采集到回放显具有较大延时(1秒以上),这个延时在监控系统中是难以容忍的。为了找到延时的来源,本人对图象数据从采集到回显的整个处理过程进行了研究:在监控现场,将CCD摄像头采集的图象数据先被送入监控系统中的MPEG-1高效压缩芯片,该芯片对图象数据进行压缩后生成MPEG-1压缩数据;然后由嵌入式系统将其传输到网络上,监控终端软件接收到数据后,将其提交给DirectShow组件进行解码,最后显示在屏幕上,经过多次研究测试发现主要的延时是由DirectShow部分造成的,而这是DirectShow解码特性所固有的。另一方面,由于DirectShow的容错能力不高,在接收 MPEG-1数据的函数中,随机丢弃一包接收到数据,会造成对图象长时间的停顿,然后继续播放,而此时,出现了很大的延时。由于实时性的要求,多媒体数据在网络中都是以UDP形式传送的,而UDP是一种无连接的传输方式,传输的数据可能存在丢失、乱序等现象。所以要求解码播放部分必须具有很高的容错性,实践表明DirectShow不具备这一要求。 基于以上考虑,最终决定放弃使用DirectShow实现解码回放组件。通过对监控系统前端基于MPEG-1芯片监控部分进行深入分析,在研究MPEG-1有关标准基础上,采用面向技术,开发一个应用于嵌入式多媒体远程监控系统中的高效的MPEG-1实时解码播放组件,对MPEG-1系统流进行稳定地、高速地解码回放,并且能够支持多通路实时监控,从而完成对该系统进行技术改造,实现了预期功能并取得了良好的效果。 另外,在MPEG-1实时解码播放组件中,各功能模块以独立的类的形式进行设计和实现,升级、维护十分方便;而且采用ActiveX技术,将MPEG-1实时解码播放组件封装成一个ActiveX控件,大大方便了其他开发人员的使用。并为开发基于MPEG-4的下一代网络监控系统提供了重要的参考价值。