电脑主板是所有电脑配件的总平台,其重要性不言而喻。下面我... [详细]
算其运动补偿预测误差。运动补偿预测后的I-VOP及误差用8×8块DCT编码,并进行DCP系数的量化,然后是行程编码和熵编码。
最后,形状、运动和纹理信息复合成VOL位流输出。这种编码方法可以允许用户修改、增加或重定位一个视频场景中的对象,甚至可以转换场景中对象的行为。对于不同的带宽和计算复杂性需求,不必针对每种情况分别编码,可以使用同一个视频位流,而采用不同的参数以选择不同的层以获得灵活性。在出现网络拥塞、丢包等现象时仍能提供连贯性较好的视频图像。视频压缩编码进程将编码后的的视频存放到已编码视频缓冲队列中,同时激活或等待直播进程和存储管理进程的相应处理。
2.2.3 网络通信模块设计
网络通信模块是系统的主体部分,它包含三个数据通道:监听通道、控制通道和视频数据通道。监听通道用来传输控制前端设备的命令数据;视频数据通道用来传输各个组的视频数据。三个通道采用不同的通信端口,所以各个通道传输数据彼此独立。网络通信模块设计开发是通过网络编程接口(Windows Socket,简称Winsoek)来实现的。按照系统浏览器,服务器的阿络传输模型。在服务器端建立了以SOCKET为类型的监听套接字、控制套接字;在客户端建立了SOCKET类型的请求套接字、控制套接字,这些都是采用ICP协议封装传输数据的。
另外,在服务器和客户机两端都用到了一个组播类(CMuhieast),它是专门为视频传输而封装的类。由CObject派生而来,其中定义了以 SOCKET类型的收发视频数据的套接宇和组套接字,从而实现了用组播通信方式来传输UDP协议封装的视频数据包。系统中IP网络数据通信流程如图3所示。
IP网络数据通信流程
下面给出在服务器端建立监听套接字和控制套接字的程序。
……
int ret="O":
BOOL bFlag="TRUE"://设置套接字为可重用端口地址
ret=setsoekopt(IInfo.listenSocket,SOL_SOCKET,SO_REUSE
ADDR,(char)*&bFlag,sizeof(bFlag));
SOCKADDR_IN sockAddr;
char*addr=severaddr.GetBuffer(0); //定义监听套接字
//的地址
sockAddr.sin_family=AF_INET;
sockAddr.sin_addr.S_un.S_addr
=inet_addr(addr);
sockAddr.sin_port=htons(PORT):
if(bind(IInfo.1istenSoeket,(LPSOCKADDR)
2.2.4 控制模块设计开发
控制模块实现了用户对前端设备如镜头、云台和画面切换的控制。服务器在接收到由客户中心监控终端发送过来的控制信息帧后,对其进行判断解析,并送入各个相应的控制部件接口,以实现相应的控制。
3 实验结果
将视频监控系统的web服务器连接到局域网,然后接入Intemet,给web服务器分配一个IP地址。在用户终端,由于使用普通的浏览器只能显示单画面,很不方便,使用微软公司的VC6.0配合微软的浏览器控件,只需几分钟就可完成一个多画面的浏览器软件。在浏览器的地址栏中直接输入视频服务器的地址,即可在浏览器页面中播放远程实时稳定、流畅的图像,取得了良好的监控效果。
基于嵌入式Linux视频的网络监控系统的Web服务器直接连入网络,没有线缆长度和信号衰减的限制,同时网络是没有距离概念的,彻底抛弃了地域的概念,扩展了布控区域。又由于视频压缩和Web功能集中到一个体积很小的设备内,直接连入局域网或广域网,即插即看,系统的实时性、稳定性、可靠性大大提高,无需专人管理,非常适合于无人值守的环境。随着计算机技术、网络技术的迅速发展,人们对视频监控系统的要求会越来越高。相信该系统在电子商务、视频会议、远程监控、远程教学、远程医疗、水利和电力监控等方面有广阔的应用前景。
|