《嵌入式MPEG-2远程网络视频监控系统的实现档》由会员分享,可在线阅读,更多相关《嵌入式MPEG-2远程网络视频监控系统的实现档(4页珍藏版)》请在金锄头文库上搜索。
1、嵌嵌入入式式 M MP PE EG G- -2 2远远程程网网络络视视频频监监控控系系统统的的实实现现1 1 系系统统介介绍绍Vstar MPEG-2系列远程数字视频监控系统是一个基于TCP/IP 网络的嵌入式远程图像监控系统,采用嵌入式设计方案,系统稳定性高,采用MPEG-2视频压缩技术,图像高清晰,画质可达DVD 效果,能够实现单画面轮流监看和1 16个画面同屏监看,支持远程和本地云台控制,支持多任务工作方式,而且图像存储、监看、远程控制可同步进行,监控距离随网络延伸而不断加长。该系统分为远程现场、通信网络和监控服务三部分,结构图如图1所示。远程现场部分和监控服务部分都安装了MPEG-2图
2、像处理设备和有线网络接口设备,软件采用客户 /服务器 (client/server)结构,在远程现场的有线网络接口上运行的是服务器端软件,监控中心运行客户端软件。远程现场的软件在系统启动后要向监控中心注册,作为一个监控系统,必须有监控点的名称、监控点的特性描述的内容。监控中心在认证该监控点之前,为了避免与已经存在的监控点名称相同造成混淆,必须先检测网上是否已经存在名称相同的监控点,如果有,则会提醒用户更换名称。在通过权限认证后,客户端可以通过网络与服务器端建立TCP/IP 连接,两端的通信包括图像数据和控制指令通信,客户端可以在权限允许范围内根据需要通过监控中心来调节服务器端的参数设置和工作方
3、式,服务器端则向客户端发送经过编码处理后的MPEG-2视频码流。客户端软件运行在监控中心的PC 上,提供相应的用户控制接口。用户可以通过网络与服务器端建立不同类型的连接,从而获取不同的服务。服务器端软件运行在远程现场PC104上,它的功能比较丰富,包括硬件的驱动控制、通信线路管理、图像数据传输、系统控制、摄像头和云台调节等等。2 2 系系统统硬硬件件设设计计硬件核心部分是MPEG-2视频处理设备的设计,图2中简单介绍了MPEG-2硬件视频压缩处理的结构。MPEG-2视频采集压缩模块以富士通MB86390芯片为核心,完成对标准视频信号(PAL 或 NTSC 信号 )的 A/D 转换、 MPEG-
4、2压缩以及与PC104主机之间的通信功能。图2中视频解码A/D 从摄像头输入的模拟视频信号转化为数字视频信号,然后进行编码预处理,编码预处理是将接收的视频信号处理为规定的格式,即,把视频解码输出的CCIR601格式的信号转化为编码器可以处理的CIF 或 QCIF 格式,然后再进行 MPEG-2压缩编码。图中的 SRAM 用来作为编码所需的帧存和存储编码完成后的码流数据。PC104上的软件则通过总线接口单元来控制编码器的参数设置,及读取编码压缩后的码流数据。该模块包括以下功能单元:以SAA6252为核心的视频A/D 单元,以MB86390为核心的MPEG-2视频压缩单元,以AT89C51与 EP
5、M7128(EPLD)为核心构成的控制逻辑和总线接口单元。总线接口单元是在EPLD 中实现的,它是本模块与主机(PC104)进行交互的通道,可以和主机进行视频码流和控制数据的交换。控制逻辑是视频采集压缩模块的核心,它控制并协调各模块的工作,提供控制信号,通过EPLD 编程实现系统各模块所需要的选通、缓冲、读/写使能,以及数据总线和地址总线的切换等等。镜头云台控制是通过PC104主机的 RS232口进行的,允许用户根据自己的要求调节系统。用户可以通过调节镜头的景深(zoom)、焦距 (focus)以及光圈 (iris)来调整图像质量,还可以通过云台的上下左右调节来获取不同角度的图像。由监控中心的
6、Client端软件通过SOCKET 网络接口,把调整信息发送给Server 端, Server 接收到控制指令后,进行指令识别,然后向对应的RS232口发送指令去控制云台,完成调整任务。3 3 系系统统软软件件设设计计传统的应用程序都是单线程的,即,在程序运行期间,由单个线程独占CPU 的控制。在这种情况下,程序在执行一些比较费时的任务时,就无法及时响应用户的操作,影响了应用程序的实时性能。在监控系统,特别是远程监控系统中,应用程序往往不但要及时把监控对象的最新信息反馈给监视客户(通过图形显示 ),还要处理本地机与远程机之间的通信以及对控制对象的实时控制等任务,这时,仅仅由单个线程来完成所有任
7、务,显然无法满足监控系统的实时性要求。为此,可引进多线程机制,主线程专门负责消息的响应,使程序能够响应命令和其他事件。辅助线程可以用于完成其他比较费时的工作,如通信、图形显示和后台打印等,这样就不至于影响主线程的运行。总之,把多线程机制引进通信,有利于提高应用程序的实时性,充分利用系统资源。对于大型的工程应用来说,不同的线程完成不同的任务,也有利于提高程序的模块化,便于维护和扩展。软件采用了Client/Server 结构,两端通过网络建立TCP/IP 连接,按照自定义的数据通信协议交换数据,完成数据通信和系统控制的功能。监控中心的客户端向服务器端申请建立连接,服务器监听到连接请求之后,和客户
8、端建立SOCKET 连接,客户端向服务器发送控制信号,服务器端向客户端发送视频码流。服务器端软件运行在PC104上,编码部分由于采用了硬件压缩,不占用PC104的系统资源,所以,合理设计PC104上运行的服务器软件结构,对于提高整个系统的工作效率有着重要的意义,系统性能也与之密切相关。软件设计的主要思想如下:读取线程,发送线程和控制线程之间的同步,防止有限资源的浪费。在分析控制指令、码流读入、发送传输的处理过程中,可能会存在时间冗余。以读取码流为例,系统从EPLD 的 FIFO 中读取视频数据,如果CPU 读取的速度比编码器的速度快,可能会处于等待的编码器硬件响应状态。此时虽然CPU 被占用,
9、但实际上系统没有执行有效的任务,造成计算机系统资源的浪费,而嵌入式系统的资源本来就非常紧张。为了充分利用CPU 计算能力,提高系统的整体性能,在该系统中采用多线程技术实现任务的调度。现以远程现场数据处理过程为例分析如下:( (1 1) )读读取取线线程程:负负责责控控制制硬硬件件,从从编编码码器器中中读读取取图图像像数数据据到到主主机机内内存存; ;( (2 2) )发发送送线线程程:负负责责视视频频码码流流的的传传输输; ;( (3 3) )控控制制线线程程:负负责责云云台台、摄摄像像头头的的控控制制以以及及编编码码器器的的参参数数设设置置。视频传输中,在服务器端要求码流读取和发送互不干扰,
10、避免读取和发送相互等待或相互冲突的情况出现,同样,在客户端解码和接收也存在这个关系。本设计采用了一种基于环形缓冲区的多线程视频传输技术,较好地解决了这个问题。主机的环形缓冲区除了达到数据分离互斥作用外,还可以起到平滑码流的作用。读取线程和发送线程是互斥关系,读入的视频数据供传输线程处理,这是一个简单的消费者和生产者的关系问题,只要不进入临界区,两个线程可以同时工作,用环形缓冲区和互斥锁完全可以解决这两个线程的同步问题。线程之间通过同步实现了CPU 时间片的合理分配,以及硬件访问管理、内存缓冲区的访问管理等等,大大地提高了该系统的处理性能。客户端提供用户的控制接口,用户通过它要求各种服务。用户可
11、以连接到服务主机,按照自己的要求改变系统的工作方式和工作状态。最高权限可以调整服务器端的工作方式,修改系统的管理信息,获取所有不同类型的服务。系统定义了自己的指令系统和指令传输协议。指令可以分为以下几类:工作控制(传输开始、传输停止、存储控制等),镜头云台控制(焦距、光圈、自动转动等),系统设置 (用户管理、通信参数设置等)。每条指令前面都有其唯一的识别标志,服务器接收到后可以用来和其它指令进行区分。服务器的IP 固定,主线程在启动时创建了与监控中心的Socket 的连接,在指定的服务端口进行监听,当有用户要求连接时,为其创建指令通信线路连接,不同权限的用户对系统有不同的控制权。从而实现了监控
12、中心对该系统的控制。 监控中心客户软件还支持图像的存储和回放。用户可以将实际监控中的图像存储在本地硬盘上,并按照不同的方式检索回放。4 4 结结束束语语Vstar MPEG-2系列远程数字监控系统支持标准视频信号和高分辨率的图像采集、压缩,支持基于Internet 的数据传输, C/S 的结构体系允许用户进行远端操作系统的工作方式。系统的各个子模块相对独立,可以实现以下功能:(1)实时性: MPEG-2编码设备可确保数字视频信号实时传输与接收。保证监控中心接收到的监视信息与现场情况不存在不可接受的时差;(2)连续性:基于嵌入式技术的MPEG-2编解码设备可确保PAL 制视频的帧速率为: 25帧 /秒, NTSC 制为 30帧 /秒。并确保监控中心看到的图像清晰可辨以及通信畅通,全天候不间断可靠运行。(3)可控性:监控中心可远程对各个分中心图像进行取舍和控制。系统参数设置方便快捷,可以对视频源的任何参数进行设置,并可实现带宽的动态调整。(4)可扩展性:可以根据实际情况修改系统结构,系统规模的扩展只需增加相应的编解码器,中心的控制功能具有可扩展性,可与办公自动化网络联接,实现多址异地分控;中心的功能也可扩展,还可在适当增加编解码器的情况下实现远程视频会议功能,从而满足不同方面的需要。该系列远程数字监控系统目前已经在银行监控、高速公路监控、地图航拍、家用监控等方面有着广泛的应用。